CoolFace
Apppublic

strong-tie/inbound-calls

sourceHugging Faceupdated 2y agoView on Hugging Face
0likes
1'use strict';2 3var Module = require('module');4var path = require('path');5 6module.exports = function requireFromString(code, filename, opts) {7	if (typeof filename === 'object') {8		opts = filename;9		filename = undefined;10	}11 12	opts = opts || {};13	filename = filename || '';14 15	opts.appendPaths = opts.appendPaths || [];16	opts.prependPaths = opts.prependPaths || [];17 18	if (typeof code !== 'string') {19		throw new Error('code must be a string, not ' + typeof code);20	}21 22	var paths = Module._nodeModulePaths(path.dirname(filename));23 24	var parent = module.parent;25	var m = new Module(filename, parent);26	m.filename = filename;27	m.paths = [].concat(opts.prependPaths).concat(paths).concat(opts.appendPaths);28	m._compile(code, filename);29 30	var exports = m.exports;31	parent && parent.children && parent.children.splice(parent.children.indexOf(m), 1);32 33	return exports;34};35