38 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			38 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| "use strict";
 | |
| 
 | |
| Object.defineProperty(exports, "__esModule", {
 | |
|   value: true
 | |
| });
 | |
| exports.defineCommonJSHook = defineCommonJSHook;
 | |
| exports.makeInvokers = makeInvokers;
 | |
| const commonJSHooksKey = "@babel/plugin-transform-modules-commonjs/customWrapperPlugin";
 | |
| function defineCommonJSHook(file, hook) {
 | |
|   let hooks = file.get(commonJSHooksKey);
 | |
|   if (!hooks) file.set(commonJSHooksKey, hooks = []);
 | |
|   hooks.push(hook);
 | |
| }
 | |
| function findMap(arr, cb) {
 | |
|   if (arr) {
 | |
|     for (const el of arr) {
 | |
|       const res = cb(el);
 | |
|       if (res != null) return res;
 | |
|     }
 | |
|   }
 | |
| }
 | |
| function makeInvokers(file) {
 | |
|   const hooks = file.get(commonJSHooksKey);
 | |
|   return {
 | |
|     getWrapperPayload(...args) {
 | |
|       return findMap(hooks, hook => hook.getWrapperPayload == null ? void 0 : hook.getWrapperPayload(...args));
 | |
|     },
 | |
|     wrapReference(...args) {
 | |
|       return findMap(hooks, hook => hook.wrapReference == null ? void 0 : hook.wrapReference(...args));
 | |
|     },
 | |
|     buildRequireWrapper(...args) {
 | |
|       return findMap(hooks, hook => hook.buildRequireWrapper == null ? void 0 : hook.buildRequireWrapper(...args));
 | |
|     }
 | |
|   };
 | |
| }
 | |
| 
 | |
| //# sourceMappingURL=hooks.js.map
 |