Sha256: 96d075c18760b05e1dfa93fa4afa36287887d5b099114d6782f67cb08789309c

Contents?: true

Size: 859 Bytes

Versions: 57

Compression:

Stored size: 859 Bytes

Contents

'use strict';
const lazy = (importedModule, importFn, moduleId) =>
	importedModule === undefined ? importFn(moduleId) : importedModule;

module.exports = importFn => {
	return moduleId => {
		let importedModule;

		const handler = {
			get: (target, property) => {
				importedModule = lazy(importedModule, importFn, moduleId);
				return Reflect.get(importedModule, property);
			},
			apply: (target, thisArgument, argumentsList) => {
				importedModule = lazy(importedModule, importFn, moduleId);
				return Reflect.apply(importedModule, thisArgument, argumentsList);
			},
			construct: (target, argumentsList) => {
				importedModule = lazy(importedModule, importFn, moduleId);
				return Reflect.construct(importedModule, argumentsList);
			}
		};

		// eslint-disable-next-line prefer-arrow-callback
		return new Proxy(function () {}, handler);
	};
};

Version data entries

57 entries across 57 versions & 2 rubygems

Version Path
immosquare-cleaner-0.1.60 node_modules/import-lazy/index.js
immosquare-cleaner-0.1.59 node_modules/import-lazy/index.js
immosquare-cleaner-0.1.58 node_modules/import-lazy/index.js
immosquare-cleaner-0.1.57 node_modules/import-lazy/index.js
immosquare-cleaner-0.1.56 node_modules/import-lazy/index.js
immosquare-cleaner-0.1.55 node_modules/import-lazy/index.js
immosquare-cleaner-0.1.54 node_modules/import-lazy/index.js
immosquare-cleaner-0.1.53 node_modules/import-lazy/index.js
immosquare-cleaner-0.1.52 node_modules/import-lazy/index.js
trusty-cms-6.3.1 node_modules/import-lazy/index.js
immosquare-cleaner-0.1.51 node_modules/import-lazy/index.js
immosquare-cleaner-0.1.50 node_modules/import-lazy/index.js
immosquare-cleaner-0.1.49 node_modules/import-lazy/index.js
immosquare-cleaner-0.1.48 node_modules/import-lazy/index.js
immosquare-cleaner-0.1.47 node_modules/import-lazy/index.js
immosquare-cleaner-0.1.46 node_modules/import-lazy/index.js
immosquare-cleaner-0.1.45 node_modules/import-lazy/index.js
immosquare-cleaner-0.1.44 node_modules/import-lazy/index.js
immosquare-cleaner-0.1.43 node_modules/import-lazy/index.js
immosquare-cleaner-0.1.42 node_modules/import-lazy/index.js