mirror of
https://github.com/10h30/odin-javascript-exercises.git
synced 2026-07-12 03:06:05 +09:00
remove timer and simon
This commit is contained in:
+29
@@ -0,0 +1,29 @@
|
||||
'use strict';
|
||||
var path = require('path');
|
||||
var resolveFrom = require('resolve-from');
|
||||
var callerPath = require('caller-path');
|
||||
|
||||
module.exports = function (moduleId) {
|
||||
if (typeof moduleId !== 'string') {
|
||||
throw new TypeError('Expected a string');
|
||||
}
|
||||
|
||||
var filePath = resolveFrom(path.dirname(callerPath()), moduleId);
|
||||
|
||||
// delete itself from module parent
|
||||
if (require.cache[filePath] && require.cache[filePath].parent) {
|
||||
var i = require.cache[filePath].parent.children.length;
|
||||
|
||||
while (i--) {
|
||||
if (require.cache[filePath].parent.children[i].id === filePath) {
|
||||
require.cache[filePath].parent.children.splice(i, 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// delete module from cache
|
||||
delete require.cache[filePath];
|
||||
|
||||
// return fresh module
|
||||
return require(filePath);
|
||||
};
|
||||
Reference in New Issue
Block a user