Commit be99e06f authored by minhnguyengp1's avatar minhnguyengp1
Browse files

Initial commit

parents
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = _interopRequireWildcard;
function _getRequireWildcardCache(nodeInterop) {
if (typeof WeakMap !== "function") return null;
var cacheBabelInterop = new WeakMap();
var cacheNodeInterop = new WeakMap();
return (_getRequireWildcardCache = function (nodeInterop) {
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
})(nodeInterop);
}
function _interopRequireWildcard(obj, nodeInterop) {
if (!nodeInterop && obj && obj.__esModule) {
return obj;
}
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
return {
default: obj
};
}
var cache = _getRequireWildcardCache(nodeInterop);
if (cache && cache.has(obj)) {
return cache.get(obj);
}
var newObj = {
__proto__: null
};
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
for (var key in obj) {
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
if (desc && (desc.get || desc.set)) {
Object.defineProperty(newObj, key, desc);
} else {
newObj[key] = obj[key];
}
}
}
newObj.default = obj;
if (cache) {
cache.set(obj, newObj);
}
return newObj;
}
//# sourceMappingURL=interopRequireWildcard.js.map
{"version":3,"names":["_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_interopRequireWildcard","obj","__esModule","default","cache","has","get","newObj","__proto__","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set"],"sources":["../../src/helpers/interopRequireWildcard.js"],"sourcesContent":["/* @minVersion 7.14.0 */\n\nfunction _getRequireWildcardCache(nodeInterop) {\n if (typeof WeakMap !== \"function\") return null;\n\n var cacheBabelInterop = new WeakMap();\n var cacheNodeInterop = new WeakMap();\n return (_getRequireWildcardCache = function (nodeInterop) {\n return nodeInterop ? cacheNodeInterop : cacheBabelInterop;\n })(nodeInterop);\n}\n\nexport default function _interopRequireWildcard(obj, nodeInterop) {\n if (!nodeInterop && obj && obj.__esModule) {\n return obj;\n }\n\n if (obj === null || (typeof obj !== \"object\" && typeof obj !== \"function\")) {\n return { default: obj };\n }\n\n var cache = _getRequireWildcardCache(nodeInterop);\n if (cache && cache.has(obj)) {\n return cache.get(obj);\n }\n\n var newObj = { __proto__: null };\n var hasPropertyDescriptor =\n Object.defineProperty && Object.getOwnPropertyDescriptor;\n for (var key in obj) {\n if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) {\n var desc = hasPropertyDescriptor\n ? Object.getOwnPropertyDescriptor(obj, key)\n : null;\n if (desc && (desc.get || desc.set)) {\n Object.defineProperty(newObj, key, desc);\n } else {\n newObj[key] = obj[key];\n }\n }\n }\n newObj.default = obj;\n if (cache) {\n cache.set(obj, newObj);\n }\n return newObj;\n}\n"],"mappings":";;;;;;AAEA,SAASA,wBAAwBA,CAACC,WAAW,EAAE;EAC7C,IAAI,OAAOC,OAAO,KAAK,UAAU,EAAE,OAAO,IAAI;EAE9C,IAAIC,iBAAiB,GAAG,IAAID,OAAO,CAAC,CAAC;EACrC,IAAIE,gBAAgB,GAAG,IAAIF,OAAO,CAAC,CAAC;EACpC,OAAO,CAACF,wBAAwB,GAAG,SAAAA,CAAUC,WAAW,EAAE;IACxD,OAAOA,WAAW,GAAGG,gBAAgB,GAAGD,iBAAiB;EAC3D,CAAC,EAAEF,WAAW,CAAC;AACjB;AAEe,SAASI,uBAAuBA,CAACC,GAAG,EAAEL,WAAW,EAAE;EAChE,IAAI,CAACA,WAAW,IAAIK,GAAG,IAAIA,GAAG,CAACC,UAAU,EAAE;IACzC,OAAOD,GAAG;EACZ;EAEA,IAAIA,GAAG,KAAK,IAAI,IAAK,OAAOA,GAAG,KAAK,QAAQ,IAAI,OAAOA,GAAG,KAAK,UAAW,EAAE;IAC1E,OAAO;MAAEE,OAAO,EAAEF;IAAI,CAAC;EACzB;EAEA,IAAIG,KAAK,GAAGT,wBAAwB,CAACC,WAAW,CAAC;EACjD,IAAIQ,KAAK,IAAIA,KAAK,CAACC,GAAG,CAACJ,GAAG,CAAC,EAAE;IAC3B,OAAOG,KAAK,CAACE,GAAG,CAACL,GAAG,CAAC;EACvB;EAEA,IAAIM,MAAM,GAAG;IAAEC,SAAS,EAAE;EAAK,CAAC;EAChC,IAAIC,qBAAqB,GACvBC,MAAM,CAACC,cAAc,IAAID,MAAM,CAACE,wBAAwB;EAC1D,KAAK,IAAIC,GAAG,IAAIZ,GAAG,EAAE;IACnB,IAAIY,GAAG,KAAK,SAAS,IAAIH,MAAM,CAACI,SAAS,CAACC,cAAc,CAACC,IAAI,CAACf,GAAG,EAAEY,GAAG,CAAC,EAAE;MACvE,IAAII,IAAI,GAAGR,qBAAqB,GAC5BC,MAAM,CAACE,wBAAwB,CAACX,GAAG,EAAEY,GAAG,CAAC,GACzC,IAAI;MACR,IAAII,IAAI,KAAKA,IAAI,CAACX,GAAG,IAAIW,IAAI,CAACC,GAAG,CAAC,EAAE;QAClCR,MAAM,CAACC,cAAc,CAACJ,MAAM,EAAEM,GAAG,EAAEI,IAAI,CAAC;MAC1C,CAAC,MAAM;QACLV,MAAM,CAACM,GAAG,CAAC,GAAGZ,GAAG,CAACY,GAAG,CAAC;MACxB;IACF;EACF;EACAN,MAAM,CAACJ,OAAO,GAAGF,GAAG;EACpB,IAAIG,KAAK,EAAE;IACTA,KAAK,CAACc,GAAG,CAACjB,GAAG,EAAEM,MAAM,CAAC;EACxB;EACA,OAAOA,MAAM;AACf"}
\ No newline at end of file
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = _iterableToArrayLimit;
function _iterableToArrayLimit(arr, i) {
var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
if (_i == null) return;
var _arr = [];
var _n = true;
var _d = false;
var _s, _e, _x, _r;
try {
_x = (_i = _i.call(arr)).next;
if (i === 0) {
if (Object(_i) !== _i) return;
_n = false;
} else {
for (; !(_n = (_s = _x.call(_i)).done); _n = true) {
_arr.push(_s.value);
if (_arr.length === i) break;
}
}
} catch (err) {
_d = true;
_e = err;
} finally {
try {
if (!_n && _i["return"] != null) {
_r = _i["return"]();
if (Object(_r) !== _r) return;
}
} finally {
if (_d) throw _e;
}
}
return _arr;
}
//# sourceMappingURL=iterableToArrayLimit.js.map
{"version":3,"names":["_iterableToArrayLimit","arr","i","_i","Symbol","iterator","_arr","_n","_d","_s","_e","_x","_r","call","next","Object","done","push","value","length","err"],"sources":["../../src/helpers/iterableToArrayLimit.js"],"sourcesContent":["/* @minVersion 7.0.0-beta.0 */\n\nexport default function _iterableToArrayLimit(arr, i) {\n // this is an expanded form of \\`for...of\\` that properly supports abrupt completions of\n // iterators etc. variable names have been minimised to reduce the size of this massive\n // helper. sometimes spec compliance is annoying :(\n //\n // _n = _iteratorNormalCompletion\n // _d = _didIteratorError\n // _e = _iteratorError\n // _i = _iterator\n // _s = _step\n // _x = _next\n // _r = _return\n\n var _i =\n arr == null\n ? null\n : (typeof Symbol !== \"undefined\" && arr[Symbol.iterator]) ||\n arr[\"@@iterator\"];\n if (_i == null) return;\n\n var _arr = [];\n var _n = true;\n var _d = false;\n var _s, _e, _x, _r;\n try {\n _x = (_i = _i.call(arr)).next;\n if (i === 0) {\n if (Object(_i) !== _i) return;\n _n = false;\n } else {\n for (; !(_n = (_s = _x.call(_i)).done); _n = true) {\n _arr.push(_s.value);\n if (_arr.length === i) break;\n }\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) {\n _r = _i[\"return\"]();\n // eslint-disable-next-line no-unsafe-finally\n if (Object(_r) !== _r) return;\n }\n } finally {\n // eslint-disable-next-line no-unsafe-finally\n if (_d) throw _e;\n }\n }\n return _arr;\n}\n"],"mappings":";;;;;;AAEe,SAASA,qBAAqBA,CAACC,GAAG,EAAEC,CAAC,EAAE;EAapD,IAAIC,EAAE,GACJF,GAAG,IAAI,IAAI,GACP,IAAI,GACH,OAAOG,MAAM,KAAK,WAAW,IAAIH,GAAG,CAACG,MAAM,CAACC,QAAQ,CAAC,IACtDJ,GAAG,CAAC,YAAY,CAAC;EACvB,IAAIE,EAAE,IAAI,IAAI,EAAE;EAEhB,IAAIG,IAAI,GAAG,EAAE;EACb,IAAIC,EAAE,GAAG,IAAI;EACb,IAAIC,EAAE,GAAG,KAAK;EACd,IAAIC,EAAE,EAAEC,EAAE,EAAEC,EAAE,EAAEC,EAAE;EAClB,IAAI;IACFD,EAAE,GAAG,CAACR,EAAE,GAAGA,EAAE,CAACU,IAAI,CAACZ,GAAG,CAAC,EAAEa,IAAI;IAC7B,IAAIZ,CAAC,KAAK,CAAC,EAAE;MACX,IAAIa,MAAM,CAACZ,EAAE,CAAC,KAAKA,EAAE,EAAE;MACvBI,EAAE,GAAG,KAAK;IACZ,CAAC,MAAM;MACL,OAAO,EAAEA,EAAE,GAAG,CAACE,EAAE,GAAGE,EAAE,CAACE,IAAI,CAACV,EAAE,CAAC,EAAEa,IAAI,CAAC,EAAET,EAAE,GAAG,IAAI,EAAE;QACjDD,IAAI,CAACW,IAAI,CAACR,EAAE,CAACS,KAAK,CAAC;QACnB,IAAIZ,IAAI,CAACa,MAAM,KAAKjB,CAAC,EAAE;MACzB;IACF;EACF,CAAC,CAAC,OAAOkB,GAAG,EAAE;IACZZ,EAAE,GAAG,IAAI;IACTE,EAAE,GAAGU,GAAG;EACV,CAAC,SAAS;IACR,IAAI;MACF,IAAI,CAACb,EAAE,IAAIJ,EAAE,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE;QAC/BS,EAAE,GAAGT,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;QAEnB,IAAIY,MAAM,CAACH,EAAE,CAAC,KAAKA,EAAE,EAAE;MACzB;IACF,CAAC,SAAS;MAER,IAAIJ,EAAE,EAAE,MAAME,EAAE;IAClB;EACF;EACA,OAAOJ,IAAI;AACb"}
\ No newline at end of file
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = _iterableToArrayLimitLoose;
function _iterableToArrayLimitLoose(arr, i) {
var _i = arr && (typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]);
if (_i == null) return;
var _arr = [];
var _s;
for (_i = _i.call(arr); arr.length < i && !(_s = _i.next()).done;) {
_arr.push(_s.value);
}
return _arr;
}
//# sourceMappingURL=iterableToArrayLimitLoose.js.map
{"version":3,"names":["_iterableToArrayLimitLoose","arr","i","_i","Symbol","iterator","_arr","_s","call","length","next","done","push","value"],"sources":["../../src/helpers/iterableToArrayLimitLoose.js"],"sourcesContent":["/* @minVersion 7.0.0-beta.0 */\n\nexport default function _iterableToArrayLimitLoose(arr, i) {\n var _i =\n arr &&\n ((typeof Symbol !== \"undefined\" && arr[Symbol.iterator]) ||\n arr[\"@@iterator\"]);\n if (_i == null) return;\n\n var _arr = [];\n var _s;\n for (_i = _i.call(arr); arr.length < i && !(_s = _i.next()).done; ) {\n _arr.push(_s.value);\n }\n return _arr;\n}\n"],"mappings":";;;;;;AAEe,SAASA,0BAA0BA,CAACC,GAAG,EAAEC,CAAC,EAAE;EACzD,IAAIC,EAAE,GACJF,GAAG,KACD,OAAOG,MAAM,KAAK,WAAW,IAAIH,GAAG,CAACG,MAAM,CAACC,QAAQ,CAAC,IACrDJ,GAAG,CAAC,YAAY,CAAC,CAAC;EACtB,IAAIE,EAAE,IAAI,IAAI,EAAE;EAEhB,IAAIG,IAAI,GAAG,EAAE;EACb,IAAIC,EAAE;EACN,KAAKJ,EAAE,GAAGA,EAAE,CAACK,IAAI,CAACP,GAAG,CAAC,EAAEA,GAAG,CAACQ,MAAM,GAAGP,CAAC,IAAI,CAAC,CAACK,EAAE,GAAGJ,EAAE,CAACO,IAAI,CAAC,CAAC,EAAEC,IAAI,GAAI;IAClEL,IAAI,CAACM,IAAI,CAACL,EAAE,CAACM,KAAK,CAAC;EACrB;EACA,OAAOP,IAAI;AACb"}
\ No newline at end of file
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = _createRawReactElement;
var REACT_ELEMENT_TYPE;
function _createRawReactElement(type, props, key, children) {
if (!REACT_ELEMENT_TYPE) {
REACT_ELEMENT_TYPE = typeof Symbol === "function" && Symbol["for"] && Symbol["for"]("react.element") || 0xeac7;
}
var defaultProps = type && type.defaultProps;
var childrenLength = arguments.length - 3;
if (!props && childrenLength !== 0) {
props = {
children: void 0
};
}
if (childrenLength === 1) {
props.children = children;
} else if (childrenLength > 1) {
var childArray = new Array(childrenLength);
for (var i = 0; i < childrenLength; i++) {
childArray[i] = arguments[i + 3];
}
props.children = childArray;
}
if (props && defaultProps) {
for (var propName in defaultProps) {
if (props[propName] === void 0) {
props[propName] = defaultProps[propName];
}
}
} else if (!props) {
props = defaultProps || {};
}
return {
$$typeof: REACT_ELEMENT_TYPE,
type: type,
key: key === undefined ? null : "" + key,
ref: null,
props: props,
_owner: null
};
}
//# sourceMappingURL=jsx.js.map
{"version":3,"names":["REACT_ELEMENT_TYPE","_createRawReactElement","type","props","key","children","Symbol","defaultProps","childrenLength","arguments","length","childArray","Array","i","propName","$$typeof","undefined","ref","_owner"],"sources":["../../src/helpers/jsx.js"],"sourcesContent":["/* @minVersion 7.0.0-beta.0 */\n\nvar REACT_ELEMENT_TYPE;\n\nexport default function _createRawReactElement(type, props, key, children) {\n if (!REACT_ELEMENT_TYPE) {\n REACT_ELEMENT_TYPE =\n (typeof Symbol === \"function\" &&\n // \"for\" is a reserved keyword in ES3 so escaping it here for backward compatibility\n Symbol[\"for\"] &&\n Symbol[\"for\"](\"react.element\")) ||\n 0xeac7;\n }\n\n var defaultProps = type && type.defaultProps;\n var childrenLength = arguments.length - 3;\n\n if (!props && childrenLength !== 0) {\n // If we're going to assign props.children, we create a new object now\n // to avoid mutating defaultProps.\n props = { children: void 0 };\n }\n\n if (childrenLength === 1) {\n props.children = children;\n } else if (childrenLength > 1) {\n var childArray = new Array(childrenLength);\n for (var i = 0; i < childrenLength; i++) {\n childArray[i] = arguments[i + 3];\n }\n props.children = childArray;\n }\n\n if (props && defaultProps) {\n for (var propName in defaultProps) {\n if (props[propName] === void 0) {\n props[propName] = defaultProps[propName];\n }\n }\n } else if (!props) {\n props = defaultProps || {};\n }\n\n return {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key === undefined ? null : \"\" + key,\n ref: null,\n props: props,\n _owner: null,\n };\n}\n"],"mappings":";;;;;;AAEA,IAAIA,kBAAkB;AAEP,SAASC,sBAAsBA,CAACC,IAAI,EAAEC,KAAK,EAAEC,GAAG,EAAEC,QAAQ,EAAE;EACzE,IAAI,CAACL,kBAAkB,EAAE;IACvBA,kBAAkB,GACf,OAAOM,MAAM,KAAK,UAAU,IAE3BA,MAAM,CAAC,KAAK,CAAC,IACbA,MAAM,CAAC,KAAK,CAAC,CAAC,eAAe,CAAC,IAChC,MAAM;EACV;EAEA,IAAIC,YAAY,GAAGL,IAAI,IAAIA,IAAI,CAACK,YAAY;EAC5C,IAAIC,cAAc,GAAGC,SAAS,CAACC,MAAM,GAAG,CAAC;EAEzC,IAAI,CAACP,KAAK,IAAIK,cAAc,KAAK,CAAC,EAAE;IAGlCL,KAAK,GAAG;MAAEE,QAAQ,EAAE,KAAK;IAAE,CAAC;EAC9B;EAEA,IAAIG,cAAc,KAAK,CAAC,EAAE;IACxBL,KAAK,CAACE,QAAQ,GAAGA,QAAQ;EAC3B,CAAC,MAAM,IAAIG,cAAc,GAAG,CAAC,EAAE;IAC7B,IAAIG,UAAU,GAAG,IAAIC,KAAK,CAACJ,cAAc,CAAC;IAC1C,KAAK,IAAIK,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGL,cAAc,EAAEK,CAAC,EAAE,EAAE;MACvCF,UAAU,CAACE,CAAC,CAAC,GAAGJ,SAAS,CAACI,CAAC,GAAG,CAAC,CAAC;IAClC;IACAV,KAAK,CAACE,QAAQ,GAAGM,UAAU;EAC7B;EAEA,IAAIR,KAAK,IAAII,YAAY,EAAE;IACzB,KAAK,IAAIO,QAAQ,IAAIP,YAAY,EAAE;MACjC,IAAIJ,KAAK,CAACW,QAAQ,CAAC,KAAK,KAAK,CAAC,EAAE;QAC9BX,KAAK,CAACW,QAAQ,CAAC,GAAGP,YAAY,CAACO,QAAQ,CAAC;MAC1C;IACF;EACF,CAAC,MAAM,IAAI,CAACX,KAAK,EAAE;IACjBA,KAAK,GAAGI,YAAY,IAAI,CAAC,CAAC;EAC5B;EAEA,OAAO;IACLQ,QAAQ,EAAEf,kBAAkB;IAC5BE,IAAI,EAAEA,IAAI;IACVE,GAAG,EAAEA,GAAG,KAAKY,SAAS,GAAG,IAAI,GAAG,EAAE,GAAGZ,GAAG;IACxCa,GAAG,EAAE,IAAI;IACTd,KAAK,EAAEA,KAAK;IACZe,MAAM,EAAE;EACV,CAAC;AACH"}
\ No newline at end of file
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = _objectSpread2;
var _defineProperty = require("defineProperty");
function ownKeys(object, enumerableOnly) {
var keys = Object.keys(object);
if (Object.getOwnPropertySymbols) {
var symbols = Object.getOwnPropertySymbols(object);
if (enumerableOnly) {
symbols = symbols.filter(function (sym) {
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
});
}
keys.push.apply(keys, symbols);
}
return keys;
}
function _objectSpread2(target) {
for (var i = 1; i < arguments.length; i++) {
var source = arguments[i] != null ? arguments[i] : {};
if (i % 2) {
ownKeys(Object(source), true).forEach(function (key) {
_defineProperty(target, key, source[key]);
});
} else if (Object.getOwnPropertyDescriptors) {
Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
} else {
ownKeys(Object(source)).forEach(function (key) {
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
});
}
}
return target;
}
//# sourceMappingURL=objectSpread2.js.map
{"version":3,"names":["_defineProperty","require","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread2","target","i","arguments","length","source","forEach","key","defineProperty","getOwnPropertyDescriptors","defineProperties"],"sources":["../../src/helpers/objectSpread2.js"],"sourcesContent":["/* @minVersion 7.5.0 */\n\nimport defineProperty from \"defineProperty\";\n\n// This function is different to \"Reflect.ownKeys\". The enumerableOnly\n// filters on symbol properties only. Returned string properties are always\n// enumerable. It is good to use in objectSpread.\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n keys.push.apply(keys, symbols);\n }\n return keys;\n}\n\nexport default function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(\n target,\n key,\n Object.getOwnPropertyDescriptor(source, key)\n );\n });\n }\n }\n return target;\n}\n"],"mappings":";;;;;;AAEA,IAAAA,eAAA,GAAAC,OAAA;AAMA,SAASC,OAAOA,CAACC,MAAM,EAAEC,cAAc,EAAE;EACvC,IAAIC,IAAI,GAAGC,MAAM,CAACD,IAAI,CAACF,MAAM,CAAC;EAC9B,IAAIG,MAAM,CAACC,qBAAqB,EAAE;IAChC,IAAIC,OAAO,GAAGF,MAAM,CAACC,qBAAqB,CAACJ,MAAM,CAAC;IAClD,IAAIC,cAAc,EAAE;MAClBI,OAAO,GAAGA,OAAO,CAACC,MAAM,CAAC,UAAUC,GAAG,EAAE;QACtC,OAAOJ,MAAM,CAACK,wBAAwB,CAACR,MAAM,EAAEO,GAAG,CAAC,CAACE,UAAU;MAChE,CAAC,CAAC;IACJ;IACAP,IAAI,CAACQ,IAAI,CAACC,KAAK,CAACT,IAAI,EAAEG,OAAO,CAAC;EAChC;EACA,OAAOH,IAAI;AACb;AAEe,SAASU,cAAcA,CAACC,MAAM,EAAE;EAC7C,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGC,SAAS,CAACC,MAAM,EAAEF,CAAC,EAAE,EAAE;IACzC,IAAIG,MAAM,GAAGF,SAAS,CAACD,CAAC,CAAC,IAAI,IAAI,GAAGC,SAAS,CAACD,CAAC,CAAC,GAAG,CAAC,CAAC;IACrD,IAAIA,CAAC,GAAG,CAAC,EAAE;MACTf,OAAO,CAACI,MAAM,CAACc,MAAM,CAAC,EAAE,IAAI,CAAC,CAACC,OAAO,CAAC,UAAUC,GAAG,EAAE;QACnDC,eAAc,CAACP,MAAM,EAAEM,GAAG,EAAEF,MAAM,CAACE,GAAG,CAAC,CAAC;MAC1C,CAAC,CAAC;IACJ,CAAC,MAAM,IAAIhB,MAAM,CAACkB,yBAAyB,EAAE;MAC3ClB,MAAM,CAACmB,gBAAgB,CAACT,MAAM,EAAEV,MAAM,CAACkB,yBAAyB,CAACJ,MAAM,CAAC,CAAC;IAC3E,CAAC,MAAM;MACLlB,OAAO,CAACI,MAAM,CAACc,MAAM,CAAC,CAAC,CAACC,OAAO,CAAC,UAAUC,GAAG,EAAE;QAC7ChB,MAAM,CAACiB,cAAc,CACnBP,MAAM,EACNM,GAAG,EACHhB,MAAM,CAACK,wBAAwB,CAACS,MAAM,EAAEE,GAAG,CAC7C,CAAC;MACH,CAAC,CAAC;IACJ;EACF;EACA,OAAON,MAAM;AACf"}
\ No newline at end of file
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = _regeneratorRuntime;
function _regeneratorRuntime() {
"use strict";
exports.default = _regeneratorRuntime = function () {
return _exports;
};
var _exports = {};
var Op = Object.prototype;
var hasOwn = Op.hasOwnProperty;
var defineProperty = Object.defineProperty || function (obj, key, desc) {
obj[key] = desc.value;
};
var undefined;
var $Symbol = typeof Symbol === "function" ? Symbol : {};
var iteratorSymbol = $Symbol.iterator || "@@iterator";
var asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator";
var toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag";
function define(obj, key, value) {
Object.defineProperty(obj, key, {
value: value,
enumerable: true,
configurable: true,
writable: true
});
return obj[key];
}
try {
define({}, "");
} catch (err) {
define = function (obj, key, value) {
return obj[key] = value;
};
}
function wrap(innerFn, outerFn, self, tryLocsList) {
var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;
var generator = Object.create(protoGenerator.prototype);
var context = new Context(tryLocsList || []);
defineProperty(generator, "_invoke", {
value: makeInvokeMethod(innerFn, self, context)
});
return generator;
}
_exports.wrap = wrap;
function tryCatch(fn, obj, arg) {
try {
return {
type: "normal",
arg: fn.call(obj, arg)
};
} catch (err) {
return {
type: "throw",
arg: err
};
}
}
var GenStateSuspendedStart = "suspendedStart";
var GenStateSuspendedYield = "suspendedYield";
var GenStateExecuting = "executing";
var GenStateCompleted = "completed";
var ContinueSentinel = {};
function Generator() {}
function GeneratorFunction() {}
function GeneratorFunctionPrototype() {}
var IteratorPrototype = {};
define(IteratorPrototype, iteratorSymbol, function () {
return this;
});
var getProto = Object.getPrototypeOf;
var NativeIteratorPrototype = getProto && getProto(getProto(values([])));
if (NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {
IteratorPrototype = NativeIteratorPrototype;
}
var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype);
GeneratorFunction.prototype = GeneratorFunctionPrototype;
defineProperty(Gp, "constructor", {
value: GeneratorFunctionPrototype,
configurable: true
});
defineProperty(GeneratorFunctionPrototype, "constructor", {
value: GeneratorFunction,
configurable: true
});
GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, "GeneratorFunction");
function defineIteratorMethods(prototype) {
["next", "throw", "return"].forEach(function (method) {
define(prototype, method, function (arg) {
return this._invoke(method, arg);
});
});
}
_exports.isGeneratorFunction = function (genFun) {
var ctor = typeof genFun === "function" && genFun.constructor;
return ctor ? ctor === GeneratorFunction || (ctor.displayName || ctor.name) === "GeneratorFunction" : false;
};
_exports.mark = function (genFun) {
if (Object.setPrototypeOf) {
Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);
} else {
genFun.__proto__ = GeneratorFunctionPrototype;
define(genFun, toStringTagSymbol, "GeneratorFunction");
}
genFun.prototype = Object.create(Gp);
return genFun;
};
_exports.awrap = function (arg) {
return {
__await: arg
};
};
function AsyncIterator(generator, PromiseImpl) {
function invoke(method, arg, resolve, reject) {
var record = tryCatch(generator[method], generator, arg);
if (record.type === "throw") {
reject(record.arg);
} else {
var result = record.arg;
var value = result.value;
if (value && typeof value === "object" && hasOwn.call(value, "__await")) {
return PromiseImpl.resolve(value.__await).then(function (value) {
invoke("next", value, resolve, reject);
}, function (err) {
invoke("throw", err, resolve, reject);
});
}
return PromiseImpl.resolve(value).then(function (unwrapped) {
result.value = unwrapped;
resolve(result);
}, function (error) {
return invoke("throw", error, resolve, reject);
});
}
}
var previousPromise;
function enqueue(method, arg) {
function callInvokeWithMethodAndArg() {
return new PromiseImpl(function (resolve, reject) {
invoke(method, arg, resolve, reject);
});
}
return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();
}
defineProperty(this, "_invoke", {
value: enqueue
});
}
defineIteratorMethods(AsyncIterator.prototype);
define(AsyncIterator.prototype, asyncIteratorSymbol, function () {
return this;
});
_exports.AsyncIterator = AsyncIterator;
_exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) {
if (PromiseImpl === void 0) PromiseImpl = Promise;
var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl);
return _exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) {
return result.done ? result.value : iter.next();
});
};
function makeInvokeMethod(innerFn, self, context) {
var state = GenStateSuspendedStart;
return function invoke(method, arg) {
if (state === GenStateExecuting) {
throw new Error("Generator is already running");
}
if (state === GenStateCompleted) {
if (method === "throw") {
throw arg;
}
return doneResult();
}
context.method = method;
context.arg = arg;
while (true) {
var delegate = context.delegate;
if (delegate) {
var delegateResult = maybeInvokeDelegate(delegate, context);
if (delegateResult) {
if (delegateResult === ContinueSentinel) continue;
return delegateResult;
}
}
if (context.method === "next") {
context.sent = context._sent = context.arg;
} else if (context.method === "throw") {
if (state === GenStateSuspendedStart) {
state = GenStateCompleted;
throw context.arg;
}
context.dispatchException(context.arg);
} else if (context.method === "return") {
context.abrupt("return", context.arg);
}
state = GenStateExecuting;
var record = tryCatch(innerFn, self, context);
if (record.type === "normal") {
state = context.done ? GenStateCompleted : GenStateSuspendedYield;
if (record.arg === ContinueSentinel) {
continue;
}
return {
value: record.arg,
done: context.done
};
} else if (record.type === "throw") {
state = GenStateCompleted;
context.method = "throw";
context.arg = record.arg;
}
}
};
}
function maybeInvokeDelegate(delegate, context) {
var methodName = context.method;
var method = delegate.iterator[methodName];
if (method === undefined) {
context.delegate = null;
if (methodName === "throw" && delegate.iterator["return"]) {
context.method = "return";
context.arg = undefined;
maybeInvokeDelegate(delegate, context);
if (context.method === "throw") {
return ContinueSentinel;
}
}
if (methodName !== "return") {
context.method = "throw";
context.arg = new TypeError("The iterator does not provide a '" + methodName + "' method");
}
return ContinueSentinel;
}
var record = tryCatch(method, delegate.iterator, context.arg);
if (record.type === "throw") {
context.method = "throw";
context.arg = record.arg;
context.delegate = null;
return ContinueSentinel;
}
var info = record.arg;
if (!info) {
context.method = "throw";
context.arg = new TypeError("iterator result is not an object");
context.delegate = null;
return ContinueSentinel;
}
if (info.done) {
context[delegate.resultName] = info.value;
context.next = delegate.nextLoc;
if (context.method !== "return") {
context.method = "next";
context.arg = undefined;
}
} else {
return info;
}
context.delegate = null;
return ContinueSentinel;
}
defineIteratorMethods(Gp);
define(Gp, toStringTagSymbol, "Generator");
define(Gp, iteratorSymbol, function () {
return this;
});
define(Gp, "toString", function () {
return "[object Generator]";
});
function pushTryEntry(locs) {
var entry = {
tryLoc: locs[0]
};
if (1 in locs) {
entry.catchLoc = locs[1];
}
if (2 in locs) {
entry.finallyLoc = locs[2];
entry.afterLoc = locs[3];
}
this.tryEntries.push(entry);
}
function resetTryEntry(entry) {
var record = entry.completion || {};
record.type = "normal";
delete record.arg;
entry.completion = record;
}
function Context(tryLocsList) {
this.tryEntries = [{
tryLoc: "root"
}];
tryLocsList.forEach(pushTryEntry, this);
this.reset(true);
}
_exports.keys = function (val) {
var object = Object(val);
var keys = [];
for (var key in object) {
keys.push(key);
}
keys.reverse();
return function next() {
while (keys.length) {
var key = keys.pop();
if (key in object) {
next.value = key;
next.done = false;
return next;
}
}
next.done = true;
return next;
};
};
function values(iterable) {
if (iterable || iterable === "") {
var iteratorMethod = iterable[iteratorSymbol];
if (iteratorMethod) {
return iteratorMethod.call(iterable);
}
if (typeof iterable.next === "function") {
return iterable;
}
if (!isNaN(iterable.length)) {
var i = -1,
next = function next() {
while (++i < iterable.length) {
if (hasOwn.call(iterable, i)) {
next.value = iterable[i];
next.done = false;
return next;
}
}
next.value = undefined;
next.done = true;
return next;
};
return next.next = next;
}
}
throw new TypeError(typeof iterable + " is not iterable");
}
_exports.values = values;
function doneResult() {
return {
value: undefined,
done: true
};
}
Context.prototype = {
constructor: Context,
reset: function (skipTempReset) {
this.prev = 0;
this.next = 0;
this.sent = this._sent = undefined;
this.done = false;
this.delegate = null;
this.method = "next";
this.arg = undefined;
this.tryEntries.forEach(resetTryEntry);
if (!skipTempReset) {
for (var name in this) {
if (name.charAt(0) === "t" && hasOwn.call(this, name) && !isNaN(+name.slice(1))) {
this[name] = undefined;
}
}
}
},
stop: function () {
this.done = true;
var rootEntry = this.tryEntries[0];
var rootRecord = rootEntry.completion;
if (rootRecord.type === "throw") {
throw rootRecord.arg;
}
return this.rval;
},
dispatchException: function (exception) {
if (this.done) {
throw exception;
}
var context = this;
function handle(loc, caught) {
record.type = "throw";
record.arg = exception;
context.next = loc;
if (caught) {
context.method = "next";
context.arg = undefined;
}
return !!caught;
}
for (var i = this.tryEntries.length - 1; i >= 0; --i) {
var entry = this.tryEntries[i];
var record = entry.completion;
if (entry.tryLoc === "root") {
return handle("end");
}
if (entry.tryLoc <= this.prev) {
var hasCatch = hasOwn.call(entry, "catchLoc");
var hasFinally = hasOwn.call(entry, "finallyLoc");
if (hasCatch && hasFinally) {
if (this.prev < entry.catchLoc) {
return handle(entry.catchLoc, true);
} else if (this.prev < entry.finallyLoc) {
return handle(entry.finallyLoc);
}
} else if (hasCatch) {
if (this.prev < entry.catchLoc) {
return handle(entry.catchLoc, true);
}
} else if (hasFinally) {
if (this.prev < entry.finallyLoc) {
return handle(entry.finallyLoc);
}
} else {
throw new Error("try statement without catch or finally");
}
}
}
},
abrupt: function (type, arg) {
for (var i = this.tryEntries.length - 1; i >= 0; --i) {
var entry = this.tryEntries[i];
if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) {
var finallyEntry = entry;
break;
}
}
if (finallyEntry && (type === "break" || type === "continue") && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc) {
finallyEntry = null;
}
var record = finallyEntry ? finallyEntry.completion : {};
record.type = type;
record.arg = arg;
if (finallyEntry) {
this.method = "next";
this.next = finallyEntry.finallyLoc;
return ContinueSentinel;
}
return this.complete(record);
},
complete: function (record, afterLoc) {
if (record.type === "throw") {
throw record.arg;
}
if (record.type === "break" || record.type === "continue") {
this.next = record.arg;
} else if (record.type === "return") {
this.rval = this.arg = record.arg;
this.method = "return";
this.next = "end";
} else if (record.type === "normal" && afterLoc) {
this.next = afterLoc;
}
return ContinueSentinel;
},
finish: function (finallyLoc) {
for (var i = this.tryEntries.length - 1; i >= 0; --i) {
var entry = this.tryEntries[i];
if (entry.finallyLoc === finallyLoc) {
this.complete(entry.completion, entry.afterLoc);
resetTryEntry(entry);
return ContinueSentinel;
}
}
},
catch: function (tryLoc) {
for (var i = this.tryEntries.length - 1; i >= 0; --i) {
var entry = this.tryEntries[i];
if (entry.tryLoc === tryLoc) {
var record = entry.completion;
if (record.type === "throw") {
var thrown = record.arg;
resetTryEntry(entry);
}
return thrown;
}
}
throw new Error("illegal catch attempt");
},
delegateYield: function (iterable, resultName, nextLoc) {
this.delegate = {
iterator: values(iterable),
resultName: resultName,
nextLoc: nextLoc
};
if (this.method === "next") {
this.arg = undefined;
}
return ContinueSentinel;
}
};
return _exports;
}
//# sourceMappingURL=regeneratorRuntime.js.map
{"version":3,"names":["_regeneratorRuntime","exports","default","Op","Object","prototype","hasOwn","hasOwnProperty","defineProperty","obj","key","desc","value","undefined","$Symbol","Symbol","iteratorSymbol","iterator","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","enumerable","configurable","writable","err","wrap","innerFn","outerFn","self","tryLocsList","protoGenerator","Generator","generator","create","context","Context","makeInvokeMethod","tryCatch","fn","arg","type","call","GenStateSuspendedStart","GenStateSuspendedYield","GenStateExecuting","GenStateCompleted","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","displayName","defineIteratorMethods","forEach","method","_invoke","isGeneratorFunction","genFun","ctor","constructor","name","mark","setPrototypeOf","__proto__","awrap","__await","AsyncIterator","PromiseImpl","invoke","resolve","reject","record","result","then","unwrapped","error","previousPromise","enqueue","callInvokeWithMethodAndArg","async","Promise","iter","next","done","state","Error","doneResult","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","methodName","TypeError","info","resultName","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","keys","val","object","reverse","length","pop","iterable","iteratorMethod","isNaN","i","skipTempReset","prev","charAt","slice","stop","rootEntry","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","catch","thrown","delegateYield"],"sources":["../../src/helpers/regeneratorRuntime.js"],"sourcesContent":["/* @minVersion 7.18.0 */\n/*\n * This file is auto-generated! Do not modify it directly.\n * To re-generate, update the regenerator-runtime dependency of\n * @babel/helpers and run 'yarn gulp generate-runtime-helpers'.\n */\n\n/* eslint-disable */\nexport default function _regeneratorRuntime() {\n \"use strict\";\n\n /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */\n _regeneratorRuntime = function () {\n return exports;\n };\n var exports = {};\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var defineProperty =\n Object.defineProperty ||\n function (obj, key, desc) {\n obj[key] = desc.value;\n };\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true,\n });\n return obj[key];\n }\n try {\n // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n define({}, \"\");\n } catch (err) {\n define = function (obj, key, value) {\n return (obj[key] = value);\n };\n }\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator =\n outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n defineProperty(generator, \"_invoke\", {\n value: makeInvokeMethod(innerFn, self, context),\n });\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return {\n type: \"normal\",\n arg: fn.call(obj, arg),\n };\n } catch (err) {\n return {\n type: \"throw\",\n arg: err,\n };\n }\n }\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (\n NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)\n ) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n var Gp =\n (GeneratorFunctionPrototype.prototype =\n Generator.prototype =\n Object.create(IteratorPrototype));\n GeneratorFunction.prototype = GeneratorFunctionPrototype;\n defineProperty(Gp, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: true,\n });\n defineProperty(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: true,\n });\n GeneratorFunction.displayName = define(\n GeneratorFunctionPrototype,\n toStringTagSymbol,\n \"GeneratorFunction\",\n );\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function (method) {\n define(prototype, method, function (arg) {\n return this._invoke(method, arg);\n });\n });\n }\n exports.isGeneratorFunction = function (genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n exports.mark = function (genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function (arg) {\n return {\n __await: arg,\n };\n };\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (\n value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")\n ) {\n return PromiseImpl.resolve(value.__await).then(\n function (value) {\n invoke(\"next\", value, resolve, reject);\n },\n function (err) {\n invoke(\"throw\", err, resolve, reject);\n },\n );\n }\n return PromiseImpl.resolve(value).then(\n function (unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n },\n function (error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n },\n );\n }\n }\n var previousPromise;\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function (resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n return (previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise\n ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg,\n )\n : callInvokeWithMethodAndArg());\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n defineProperty(this, \"_invoke\", {\n value: enqueue,\n });\n }\n defineIteratorMethods(AsyncIterator.prototype);\n define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n });\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl,\n );\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function (result) {\n return result.done ? result.value : iter.next();\n });\n };\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n context.method = method;\n context.arg = arg;\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n context.dispatchException(context.arg);\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n state = GenStateExecuting;\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done ? GenStateCompleted : GenStateSuspendedYield;\n if (record.arg === ContinueSentinel) {\n continue;\n }\n return {\n value: record.arg,\n done: context.done,\n };\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var methodName = context.method;\n var method = delegate.iterator[methodName];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method, or a missing .next mehtod, always terminate the\n // yield* loop.\n context.delegate = null;\n\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (methodName === \"throw\" && delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n if (methodName !== \"return\") {\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a '\" + methodName + \"' method\",\n );\n }\n return ContinueSentinel;\n }\n var record = tryCatch(method, delegate.iterator, context.arg);\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n var info = record.arg;\n if (!info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n define(Gp, toStringTagSymbol, \"Generator\");\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n define(Gp, iteratorSymbol, function () {\n return this;\n });\n define(Gp, \"toString\", function () {\n return \"[object Generator]\";\n });\n function pushTryEntry(locs) {\n var entry = {\n tryLoc: locs[0],\n };\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n this.tryEntries.push(entry);\n }\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [\n {\n tryLoc: \"root\",\n },\n ];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n exports.keys = function (val) {\n var object = Object(val);\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n function values(iterable) {\n if (iterable || iterable === \"\") {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n if (!isNaN(iterable.length)) {\n var i = -1,\n next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n next.value = undefined;\n next.done = true;\n return next;\n };\n return (next.next = next);\n }\n }\n throw new TypeError(typeof iterable + \" is not iterable\");\n }\n exports.values = values;\n function doneResult() {\n return {\n value: undefined,\n done: true,\n };\n }\n Context.prototype = {\n constructor: Context,\n reset: function (skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n this.method = \"next\";\n this.arg = undefined;\n this.tryEntries.forEach(resetTryEntry);\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (\n name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))\n ) {\n this[name] = undefined;\n }\n }\n }\n },\n stop: function () {\n this.done = true;\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n return this.rval;\n },\n dispatchException: function (exception) {\n if (this.done) {\n throw exception;\n }\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n return !!caught;\n }\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n abrupt: function (type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (\n entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc\n ) {\n var finallyEntry = entry;\n break;\n }\n }\n if (\n finallyEntry &&\n (type === \"break\" || type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc\n ) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n return this.complete(record);\n },\n complete: function (record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n if (record.type === \"break\" || record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n return ContinueSentinel;\n },\n finish: function (finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n catch: function (tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function (iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc,\n };\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n return ContinueSentinel;\n },\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n}\n"],"mappings":"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"}
\ No newline at end of file
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = _typeof;
function _typeof(obj) {
"@babel/helpers - typeof";
if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
exports.default = _typeof = function (obj) {
return typeof obj;
};
} else {
exports.default = _typeof = function (obj) {
return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
};
}
return _typeof(obj);
}
//# sourceMappingURL=typeof.js.map
{"version":3,"names":["_typeof","obj","Symbol","iterator","exports","default","constructor","prototype"],"sources":["../../src/helpers/typeof.js"],"sourcesContent":["/* @minVersion 7.0.0-beta.0 */\n\n/* eslint-disable no-func-assign */\n\nexport default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj &&\n typeof Symbol === \"function\" &&\n obj.constructor === Symbol &&\n obj !== Symbol.prototype\n ? \"symbol\"\n : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n"],"mappings":";;;;;;AAIe,SAASA,OAAOA,CAACC,GAAG,EAAE;EACnC,yBAAyB;;EAEzB,IAAI,OAAOC,MAAM,KAAK,UAAU,IAAI,OAAOA,MAAM,CAACC,QAAQ,KAAK,QAAQ,EAAE;IACvEC,OAAA,CAAAC,OAAA,GAAAL,OAAO,GAAG,SAAAA,CAAUC,GAAG,EAAE;MACvB,OAAO,OAAOA,GAAG;IACnB,CAAC;EACH,CAAC,MAAM;IACLG,OAAA,CAAAC,OAAA,GAAAL,OAAO,GAAG,SAAAA,CAAUC,GAAG,EAAE;MACvB,OAAOA,GAAG,IACR,OAAOC,MAAM,KAAK,UAAU,IAC5BD,GAAG,CAACK,WAAW,KAAKJ,MAAM,IAC1BD,GAAG,KAAKC,MAAM,CAACK,SAAS,GACtB,QAAQ,GACR,OAAON,GAAG;IAChB,CAAC;EACH;EAEA,OAAOD,OAAO,CAACC,GAAG,CAAC;AACrB"}
\ No newline at end of file
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = _using;
function _using(stack, value, isAwait) {
if (value === null || value === void 0) return value;
if (typeof value !== "object") {
throw new TypeError("using declarations can only be used with objects, null, or undefined.");
}
if (isAwait) {
var dispose = value[Symbol.asyncDispose || Symbol.for("Symbol.asyncDispose")];
}
if (dispose === null || dispose === void 0) {
dispose = value[Symbol.dispose || Symbol.for("Symbol.dispose")];
}
if (typeof dispose !== "function") {
throw new TypeError(`Property [Symbol.dispose] is not a function.`);
}
stack.push({
v: value,
d: dispose,
a: isAwait
});
return value;
}
//# sourceMappingURL=using.js.map
{"version":3,"names":["_using","stack","value","isAwait","TypeError","dispose","Symbol","asyncDispose","for","push","v","d","a"],"sources":["../../src/helpers/using.js"],"sourcesContent":["/* @minVersion 7.22.0 */\n\nexport default function _using(stack, value, isAwait) {\n if (value === null || value === void 0) return value;\n if (typeof value !== \"object\") {\n throw new TypeError(\n \"using declarations can only be used with objects, null, or undefined.\"\n );\n }\n // core-js-pure uses Symbol.for for polyfilling well-known symbols\n if (isAwait) {\n var dispose =\n value[Symbol.asyncDispose || Symbol.for(\"Symbol.asyncDispose\")];\n }\n if (dispose === null || dispose === void 0) {\n dispose = value[Symbol.dispose || Symbol.for(\"Symbol.dispose\")];\n }\n if (typeof dispose !== \"function\") {\n throw new TypeError(`Property [Symbol.dispose] is not a function.`);\n }\n stack.push({ v: value, d: dispose, a: isAwait });\n return value;\n}\n"],"mappings":";;;;;;AAEe,SAASA,MAAMA,CAACC,KAAK,EAAEC,KAAK,EAAEC,OAAO,EAAE;EACpD,IAAID,KAAK,KAAK,IAAI,IAAIA,KAAK,KAAK,KAAK,CAAC,EAAE,OAAOA,KAAK;EACpD,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;IAC7B,MAAM,IAAIE,SAAS,CACjB,uEACF,CAAC;EACH;EAEA,IAAID,OAAO,EAAE;IACX,IAAIE,OAAO,GACTH,KAAK,CAACI,MAAM,CAACC,YAAY,IAAID,MAAM,CAACE,GAAG,CAAC,qBAAqB,CAAC,CAAC;EACnE;EACA,IAAIH,OAAO,KAAK,IAAI,IAAIA,OAAO,KAAK,KAAK,CAAC,EAAE;IAC1CA,OAAO,GAAGH,KAAK,CAACI,MAAM,CAACD,OAAO,IAAIC,MAAM,CAACE,GAAG,CAAC,gBAAgB,CAAC,CAAC;EACjE;EACA,IAAI,OAAOH,OAAO,KAAK,UAAU,EAAE;IACjC,MAAM,IAAID,SAAS,CAAE,8CAA6C,CAAC;EACrE;EACAH,KAAK,CAACQ,IAAI,CAAC;IAAEC,CAAC,EAAER,KAAK;IAAES,CAAC,EAAEN,OAAO;IAAEO,CAAC,EAAET;EAAQ,CAAC,CAAC;EAChD,OAAOD,KAAK;AACd"}
\ No newline at end of file
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = _wrapRegExp;
var _setPrototypeOf = require("setPrototypeOf");
var _inherits = require("inherits");
function _wrapRegExp() {
exports.default = _wrapRegExp = function (re, groups) {
return new BabelRegExp(re, undefined, groups);
};
var _super = RegExp.prototype;
var _groups = new WeakMap();
function BabelRegExp(re, flags, groups) {
var _this = new RegExp(re, flags);
_groups.set(_this, groups || _groups.get(re));
return _setPrototypeOf(_this, BabelRegExp.prototype);
}
_inherits(BabelRegExp, RegExp);
BabelRegExp.prototype.exec = function (str) {
var result = _super.exec.call(this, str);
if (result) {
result.groups = buildGroups(result, this);
var indices = result.indices;
if (indices) indices.groups = buildGroups(indices, this);
}
return result;
};
BabelRegExp.prototype[Symbol.replace] = function (str, substitution) {
if (typeof substitution === "string") {
var groups = _groups.get(this);
return _super[Symbol.replace].call(this, str, substitution.replace(/\$<([^>]+)>/g, function (_, name) {
var group = groups[name];
return "$" + (Array.isArray(group) ? group.join("$") : group);
}));
} else if (typeof substitution === "function") {
var _this = this;
return _super[Symbol.replace].call(this, str, function () {
var args = arguments;
if (typeof args[args.length - 1] !== "object") {
args = [].slice.call(args);
args.push(buildGroups(args, _this));
}
return substitution.apply(this, args);
});
} else {
return _super[Symbol.replace].call(this, str, substitution);
}
};
function buildGroups(result, re) {
var g = _groups.get(re);
return Object.keys(g).reduce(function (groups, name) {
var i = g[name];
if (typeof i === "number") groups[name] = result[i];else {
var k = 0;
while (result[i[k]] === undefined && k + 1 < i.length) k++;
groups[name] = result[i[k]];
}
return groups;
}, Object.create(null));
}
return _wrapRegExp.apply(this, arguments);
}
//# sourceMappingURL=wrapRegExp.js.map
{"version":3,"names":["_setPrototypeOf","require","_inherits","_wrapRegExp","exports","default","re","groups","BabelRegExp","undefined","_super","RegExp","prototype","_groups","WeakMap","flags","_this","set","get","setPrototypeOf","inherits","exec","str","result","call","buildGroups","indices","Symbol","replace","substitution","_","name","group","Array","isArray","join","args","arguments","length","slice","push","apply","g","Object","keys","reduce","i","k","create"],"sources":["../../src/helpers/wrapRegExp.js"],"sourcesContent":["/* @minVersion 7.19.0 */\n\nimport setPrototypeOf from \"setPrototypeOf\";\nimport inherits from \"inherits\";\n\nexport default function _wrapRegExp() {\n _wrapRegExp = function (re, groups) {\n return new BabelRegExp(re, undefined, groups);\n };\n\n var _super = RegExp.prototype;\n var _groups = new WeakMap();\n\n function BabelRegExp(re, flags, groups) {\n var _this = new RegExp(re, flags);\n // if the regex is recreated with 'g' flag\n _groups.set(_this, groups || _groups.get(re));\n return setPrototypeOf(_this, BabelRegExp.prototype);\n }\n inherits(BabelRegExp, RegExp);\n\n BabelRegExp.prototype.exec = function (str) {\n var result = _super.exec.call(this, str);\n if (result) {\n result.groups = buildGroups(result, this);\n var indices = result.indices;\n if (indices) indices.groups = buildGroups(indices, this);\n }\n return result;\n };\n BabelRegExp.prototype[Symbol.replace] = function (str, substitution) {\n if (typeof substitution === \"string\") {\n var groups = _groups.get(this);\n return _super[Symbol.replace].call(\n this,\n str,\n substitution.replace(/\\$<([^>]+)>/g, function (_, name) {\n var group = groups[name];\n return \"$\" + (Array.isArray(group) ? group.join(\"$\") : group);\n })\n );\n } else if (typeof substitution === \"function\") {\n var _this = this;\n return _super[Symbol.replace].call(this, str, function () {\n var args = arguments;\n // Modern engines already pass result.groups returned by exec() as the last arg.\n if (typeof args[args.length - 1] !== \"object\") {\n args = [].slice.call(args);\n args.push(buildGroups(args, _this));\n }\n return substitution.apply(this, args);\n });\n } else {\n return _super[Symbol.replace].call(this, str, substitution);\n }\n };\n\n function buildGroups(result, re) {\n // NOTE: This function should return undefined if there are no groups,\n // but in that case Babel doesn't add the wrapper anyway.\n\n var g = _groups.get(re);\n return Object.keys(g).reduce(function (groups, name) {\n var i = g[name];\n if (typeof i === \"number\") groups[name] = result[i];\n else {\n // i is an array of indexes\n var k = 0;\n // if no group matched, we stop at k = i.length - 1 and then\n // we store result[i[i.length - 1]] which is undefined.\n while (result[i[k]] === undefined && k + 1 < i.length) k++;\n groups[name] = result[i[k]];\n }\n return groups;\n }, Object.create(null));\n }\n\n return _wrapRegExp.apply(this, arguments);\n}\n"],"mappings":";;;;;;AAEA,IAAAA,eAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AAEe,SAASE,WAAWA,CAAA,EAAG;EACpCC,OAAA,CAAAC,OAAA,GAAAF,WAAW,GAAG,SAAAA,CAAUG,EAAE,EAAEC,MAAM,EAAE;IAClC,OAAO,IAAIC,WAAW,CAACF,EAAE,EAAEG,SAAS,EAAEF,MAAM,CAAC;EAC/C,CAAC;EAED,IAAIG,MAAM,GAAGC,MAAM,CAACC,SAAS;EAC7B,IAAIC,OAAO,GAAG,IAAIC,OAAO,CAAC,CAAC;EAE3B,SAASN,WAAWA,CAACF,EAAE,EAAES,KAAK,EAAER,MAAM,EAAE;IACtC,IAAIS,KAAK,GAAG,IAAIL,MAAM,CAACL,EAAE,EAAES,KAAK,CAAC;IAEjCF,OAAO,CAACI,GAAG,CAACD,KAAK,EAAET,MAAM,IAAIM,OAAO,CAACK,GAAG,CAACZ,EAAE,CAAC,CAAC;IAC7C,OAAOa,eAAc,CAACH,KAAK,EAAER,WAAW,CAACI,SAAS,CAAC;EACrD;EACAQ,SAAQ,CAACZ,WAAW,EAAEG,MAAM,CAAC;EAE7BH,WAAW,CAACI,SAAS,CAACS,IAAI,GAAG,UAAUC,GAAG,EAAE;IAC1C,IAAIC,MAAM,GAAGb,MAAM,CAACW,IAAI,CAACG,IAAI,CAAC,IAAI,EAAEF,GAAG,CAAC;IACxC,IAAIC,MAAM,EAAE;MACVA,MAAM,CAAChB,MAAM,GAAGkB,WAAW,CAACF,MAAM,EAAE,IAAI,CAAC;MACzC,IAAIG,OAAO,GAAGH,MAAM,CAACG,OAAO;MAC5B,IAAIA,OAAO,EAAEA,OAAO,CAACnB,MAAM,GAAGkB,WAAW,CAACC,OAAO,EAAE,IAAI,CAAC;IAC1D;IACA,OAAOH,MAAM;EACf,CAAC;EACDf,WAAW,CAACI,SAAS,CAACe,MAAM,CAACC,OAAO,CAAC,GAAG,UAAUN,GAAG,EAAEO,YAAY,EAAE;IACnE,IAAI,OAAOA,YAAY,KAAK,QAAQ,EAAE;MACpC,IAAItB,MAAM,GAAGM,OAAO,CAACK,GAAG,CAAC,IAAI,CAAC;MAC9B,OAAOR,MAAM,CAACiB,MAAM,CAACC,OAAO,CAAC,CAACJ,IAAI,CAChC,IAAI,EACJF,GAAG,EACHO,YAAY,CAACD,OAAO,CAAC,cAAc,EAAE,UAAUE,CAAC,EAAEC,IAAI,EAAE;QACtD,IAAIC,KAAK,GAAGzB,MAAM,CAACwB,IAAI,CAAC;QACxB,OAAO,GAAG,IAAIE,KAAK,CAACC,OAAO,CAACF,KAAK,CAAC,GAAGA,KAAK,CAACG,IAAI,CAAC,GAAG,CAAC,GAAGH,KAAK,CAAC;MAC/D,CAAC,CACH,CAAC;IACH,CAAC,MAAM,IAAI,OAAOH,YAAY,KAAK,UAAU,EAAE;MAC7C,IAAIb,KAAK,GAAG,IAAI;MAChB,OAAON,MAAM,CAACiB,MAAM,CAACC,OAAO,CAAC,CAACJ,IAAI,CAAC,IAAI,EAAEF,GAAG,EAAE,YAAY;QACxD,IAAIc,IAAI,GAAGC,SAAS;QAEpB,IAAI,OAAOD,IAAI,CAACA,IAAI,CAACE,MAAM,GAAG,CAAC,CAAC,KAAK,QAAQ,EAAE;UAC7CF,IAAI,GAAG,EAAE,CAACG,KAAK,CAACf,IAAI,CAACY,IAAI,CAAC;UAC1BA,IAAI,CAACI,IAAI,CAACf,WAAW,CAACW,IAAI,EAAEpB,KAAK,CAAC,CAAC;QACrC;QACA,OAAOa,YAAY,CAACY,KAAK,CAAC,IAAI,EAAEL,IAAI,CAAC;MACvC,CAAC,CAAC;IACJ,CAAC,MAAM;MACL,OAAO1B,MAAM,CAACiB,MAAM,CAACC,OAAO,CAAC,CAACJ,IAAI,CAAC,IAAI,EAAEF,GAAG,EAAEO,YAAY,CAAC;IAC7D;EACF,CAAC;EAED,SAASJ,WAAWA,CAACF,MAAM,EAAEjB,EAAE,EAAE;IAI/B,IAAIoC,CAAC,GAAG7B,OAAO,CAACK,GAAG,CAACZ,EAAE,CAAC;IACvB,OAAOqC,MAAM,CAACC,IAAI,CAACF,CAAC,CAAC,CAACG,MAAM,CAAC,UAAUtC,MAAM,EAAEwB,IAAI,EAAE;MACnD,IAAIe,CAAC,GAAGJ,CAAC,CAACX,IAAI,CAAC;MACf,IAAI,OAAOe,CAAC,KAAK,QAAQ,EAAEvC,MAAM,CAACwB,IAAI,CAAC,GAAGR,MAAM,CAACuB,CAAC,CAAC,CAAC,KAC/C;QAEH,IAAIC,CAAC,GAAG,CAAC;QAGT,OAAOxB,MAAM,CAACuB,CAAC,CAACC,CAAC,CAAC,CAAC,KAAKtC,SAAS,IAAIsC,CAAC,GAAG,CAAC,GAAGD,CAAC,CAACR,MAAM,EAAES,CAAC,EAAE;QAC1DxC,MAAM,CAACwB,IAAI,CAAC,GAAGR,MAAM,CAACuB,CAAC,CAACC,CAAC,CAAC,CAAC;MAC7B;MACA,OAAOxC,MAAM;IACf,CAAC,EAAEoC,MAAM,CAACK,MAAM,CAAC,IAAI,CAAC,CAAC;EACzB;EAEA,OAAO7C,WAAW,CAACsC,KAAK,CAAC,IAAI,EAAEJ,SAAS,CAAC;AAC3C"}
\ No newline at end of file
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
exports.ensure = ensure;
exports.get = get;
exports.getDependencies = getDependencies;
exports.list = void 0;
exports.minVersion = minVersion;
var _traverse = require("@babel/traverse");
var _t = require("@babel/types");
var _helpers = require("./helpers.js");
const {
assignmentExpression,
cloneNode,
expressionStatement,
file,
identifier
} = _t;
function makePath(path) {
const parts = [];
for (; path.parentPath; path = path.parentPath) {
parts.push(path.key);
if (path.inList) parts.push(path.listKey);
}
return parts.reverse().join(".");
}
let FileClass = undefined;
function getHelperMetadata(file) {
const globals = new Set();
const localBindingNames = new Set();
const dependencies = new Map();
let exportName;
let exportPath;
const exportBindingAssignments = [];
const importPaths = [];
const importBindingsReferences = [];
const dependencyVisitor = {
ImportDeclaration(child) {
const name = child.node.source.value;
if (!_helpers.default[name]) {
throw child.buildCodeFrameError(`Unknown helper ${name}`);
}
if (child.get("specifiers").length !== 1 || !child.get("specifiers.0").isImportDefaultSpecifier()) {
throw child.buildCodeFrameError("Helpers can only import a default value");
}
const bindingIdentifier = child.node.specifiers[0].local;
dependencies.set(bindingIdentifier, name);
importPaths.push(makePath(child));
},
ExportDefaultDeclaration(child) {
const decl = child.get("declaration");
if (!decl.isFunctionDeclaration() || !decl.node.id) {
throw decl.buildCodeFrameError("Helpers can only export named function declarations");
}
exportName = decl.node.id.name;
exportPath = makePath(child);
},
ExportAllDeclaration(child) {
throw child.buildCodeFrameError("Helpers can only export default");
},
ExportNamedDeclaration(child) {
throw child.buildCodeFrameError("Helpers can only export default");
},
Statement(child) {
if (child.isImportDeclaration() || child.isExportDeclaration()) return;
child.skip();
}
};
const referenceVisitor = {
Program(path) {
const bindings = path.scope.getAllBindings();
Object.keys(bindings).forEach(name => {
if (name === exportName) return;
if (dependencies.has(bindings[name].identifier)) return;
localBindingNames.add(name);
});
},
ReferencedIdentifier(child) {
const name = child.node.name;
const binding = child.scope.getBinding(name);
if (!binding) {
globals.add(name);
} else if (dependencies.has(binding.identifier)) {
importBindingsReferences.push(makePath(child));
}
},
AssignmentExpression(child) {
const left = child.get("left");
if (!(exportName in left.getBindingIdentifiers())) return;
if (!left.isIdentifier()) {
throw left.buildCodeFrameError("Only simple assignments to exports are allowed in helpers");
}
const binding = child.scope.getBinding(exportName);
if (binding != null && binding.scope.path.isProgram()) {
exportBindingAssignments.push(makePath(child));
}
}
};
(0, _traverse.default)(file.ast, dependencyVisitor, file.scope);
(0, _traverse.default)(file.ast, referenceVisitor, file.scope);
if (!exportPath) throw new Error("Helpers must have a default export.");
exportBindingAssignments.reverse();
return {
globals: Array.from(globals),
localBindingNames: Array.from(localBindingNames),
dependencies,
exportBindingAssignments,
exportPath,
exportName,
importBindingsReferences,
importPaths
};
}
function permuteHelperAST(file, metadata, id, localBindings, getDependency) {
if (localBindings && !id) {
throw new Error("Unexpected local bindings for module-based helpers.");
}
if (!id) return;
const {
localBindingNames,
dependencies,
exportBindingAssignments,
exportPath,
exportName,
importBindingsReferences,
importPaths
} = metadata;
const dependenciesRefs = {};
dependencies.forEach((name, id) => {
dependenciesRefs[id.name] = typeof getDependency === "function" && getDependency(name) || id;
});
const toRename = {};
const bindings = new Set(localBindings || []);
localBindingNames.forEach(name => {
let newName = name;
while (bindings.has(newName)) newName = "_" + newName;
if (newName !== name) toRename[name] = newName;
});
if (id.type === "Identifier" && exportName !== id.name) {
toRename[exportName] = id.name;
}
const {
path
} = file;
const exp = path.get(exportPath);
const imps = importPaths.map(p => path.get(p));
const impsBindingRefs = importBindingsReferences.map(p => path.get(p));
const decl = exp.get("declaration");
if (id.type === "Identifier") {
exp.replaceWith(decl);
} else if (id.type === "MemberExpression") {
exportBindingAssignments.forEach(assignPath => {
const assign = path.get(assignPath);
assign.replaceWith(assignmentExpression("=", id, assign.node));
});
exp.replaceWith(decl);
path.pushContainer("body", expressionStatement(assignmentExpression("=", id, identifier(exportName))));
} else {
throw new Error("Unexpected helper format.");
}
Object.keys(toRename).forEach(name => {
path.scope.rename(name, toRename[name]);
});
for (const path of imps) path.remove();
for (const path of impsBindingRefs) {
const node = cloneNode(dependenciesRefs[path.node.name]);
path.replaceWith(node);
}
}
const helperData = Object.create(null);
function loadHelper(name) {
if (!helperData[name]) {
const helper = _helpers.default[name];
if (!helper) {
throw Object.assign(new ReferenceError(`Unknown helper ${name}`), {
code: "BABEL_HELPER_UNKNOWN",
helper: name
});
}
const fn = () => {
{
if (!FileClass) {
const fakeFile = {
ast: file(helper.ast()),
path: null
};
(0, _traverse.default)(fakeFile.ast, {
Program: path => (fakeFile.path = path).stop()
});
return fakeFile;
}
}
return new FileClass({
filename: `babel-helper://${name}`
}, {
ast: file(helper.ast()),
code: "[internal Babel helper code]",
inputMap: null
});
};
let metadata = null;
helperData[name] = {
minVersion: helper.minVersion,
build(getDependency, id, localBindings) {
const file = fn();
metadata || (metadata = getHelperMetadata(file));
permuteHelperAST(file, metadata, id, localBindings, getDependency);
return {
nodes: file.ast.program.body,
globals: metadata.globals
};
},
getDependencies() {
metadata || (metadata = getHelperMetadata(fn()));
return Array.from(metadata.dependencies.values());
}
};
}
return helperData[name];
}
function get(name, getDependency, id, localBindings) {
return loadHelper(name).build(getDependency, id, localBindings);
}
function minVersion(name) {
return loadHelper(name).minVersion;
}
function getDependencies(name) {
return loadHelper(name).getDependencies();
}
function ensure(name, newFileClass) {
FileClass || (FileClass = newFileClass);
loadHelper(name);
}
const list = Object.keys(_helpers.default).map(name => name.replace(/^_/, ""));
exports.list = list;
var _default = get;
exports.default = _default;
//# sourceMappingURL=index.js.map
{"version":3,"names":["_traverse","require","_t","_helpers","assignmentExpression","cloneNode","expressionStatement","file","identifier","makePath","path","parts","parentPath","push","key","inList","listKey","reverse","join","FileClass","undefined","getHelperMetadata","globals","Set","localBindingNames","dependencies","Map","exportName","exportPath","exportBindingAssignments","importPaths","importBindingsReferences","dependencyVisitor","ImportDeclaration","child","name","node","source","value","helpers","buildCodeFrameError","get","length","isImportDefaultSpecifier","bindingIdentifier","specifiers","local","set","ExportDefaultDeclaration","decl","isFunctionDeclaration","id","ExportAllDeclaration","ExportNamedDeclaration","Statement","isImportDeclaration","isExportDeclaration","skip","referenceVisitor","Program","bindings","scope","getAllBindings","Object","keys","forEach","has","add","ReferencedIdentifier","binding","getBinding","AssignmentExpression","left","getBindingIdentifiers","isIdentifier","isProgram","traverse","ast","Error","Array","from","permuteHelperAST","metadata","localBindings","getDependency","dependenciesRefs","toRename","newName","type","exp","imps","map","p","impsBindingRefs","replaceWith","assignPath","assign","pushContainer","rename","remove","helperData","create","loadHelper","helper","ReferenceError","code","fn","fakeFile","stop","filename","inputMap","minVersion","build","nodes","program","body","getDependencies","values","ensure","newFileClass","list","replace","exports","_default","default"],"sources":["../src/index.ts"],"sourcesContent":["import type { File } from \"@babel/core\";\nimport type { NodePath, Visitor } from \"@babel/traverse\";\nimport traverse from \"@babel/traverse\";\nimport {\n assignmentExpression,\n cloneNode,\n expressionStatement,\n file,\n identifier,\n} from \"@babel/types\";\nimport type * as t from \"@babel/types\";\nimport helpers from \"./helpers.ts\";\n\nfunction makePath(path: NodePath) {\n const parts = [];\n\n for (; path.parentPath; path = path.parentPath) {\n parts.push(path.key);\n if (path.inList) parts.push(path.listKey);\n }\n\n return parts.reverse().join(\".\");\n}\n\nlet FileClass: typeof File | undefined = undefined;\n\ninterface HelperMetadata {\n globals: string[];\n localBindingNames: string[];\n dependencies: Map<t.Identifier, string>;\n exportBindingAssignments: string[];\n exportPath: string;\n exportName: string;\n importBindingsReferences: string[];\n importPaths: string[];\n}\n\n/**\n * Given a file AST for a given helper, get a bunch of metadata about it so that Babel can quickly render\n * the helper is whatever context it is needed in.\n */\nfunction getHelperMetadata(file: File): HelperMetadata {\n const globals = new Set<string>();\n const localBindingNames = new Set<string>();\n // Maps imported identifier -> helper name\n const dependencies = new Map<t.Identifier, string>();\n\n let exportName: string | undefined;\n let exportPath: string | undefined;\n const exportBindingAssignments: string[] = [];\n const importPaths: string[] = [];\n const importBindingsReferences: string[] = [];\n\n const dependencyVisitor: Visitor = {\n ImportDeclaration(child) {\n const name = child.node.source.value;\n if (!helpers[name]) {\n throw child.buildCodeFrameError(`Unknown helper ${name}`);\n }\n if (\n child.get(\"specifiers\").length !== 1 ||\n // @ts-expect-error isImportDefaultSpecifier does not work with NodePath union\n !child.get(\"specifiers.0\").isImportDefaultSpecifier()\n ) {\n throw child.buildCodeFrameError(\n \"Helpers can only import a default value\",\n );\n }\n const bindingIdentifier = child.node.specifiers[0].local;\n dependencies.set(bindingIdentifier, name);\n importPaths.push(makePath(child));\n },\n ExportDefaultDeclaration(child) {\n const decl = child.get(\"declaration\");\n\n if (!decl.isFunctionDeclaration() || !decl.node.id) {\n throw decl.buildCodeFrameError(\n \"Helpers can only export named function declarations\",\n );\n }\n\n exportName = decl.node.id.name;\n exportPath = makePath(child);\n },\n ExportAllDeclaration(child) {\n throw child.buildCodeFrameError(\"Helpers can only export default\");\n },\n ExportNamedDeclaration(child) {\n throw child.buildCodeFrameError(\"Helpers can only export default\");\n },\n Statement(child) {\n if (child.isImportDeclaration() || child.isExportDeclaration()) return;\n\n child.skip();\n },\n };\n\n const referenceVisitor: Visitor = {\n Program(path) {\n const bindings = path.scope.getAllBindings();\n\n Object.keys(bindings).forEach(name => {\n if (name === exportName) return;\n if (dependencies.has(bindings[name].identifier)) return;\n\n localBindingNames.add(name);\n });\n },\n ReferencedIdentifier(child) {\n const name = child.node.name;\n const binding = child.scope.getBinding(name);\n if (!binding) {\n globals.add(name);\n } else if (dependencies.has(binding.identifier)) {\n importBindingsReferences.push(makePath(child));\n }\n },\n AssignmentExpression(child) {\n const left = child.get(\"left\");\n\n if (!(exportName in left.getBindingIdentifiers())) return;\n\n if (!left.isIdentifier()) {\n throw left.buildCodeFrameError(\n \"Only simple assignments to exports are allowed in helpers\",\n );\n }\n\n const binding = child.scope.getBinding(exportName);\n\n if (binding?.scope.path.isProgram()) {\n exportBindingAssignments.push(makePath(child));\n }\n },\n };\n\n traverse(file.ast, dependencyVisitor, file.scope);\n traverse(file.ast, referenceVisitor, file.scope);\n\n if (!exportPath) throw new Error(\"Helpers must have a default export.\");\n\n // Process these in reverse so that mutating the references does not invalidate any later paths in\n // the list.\n exportBindingAssignments.reverse();\n\n return {\n globals: Array.from(globals),\n localBindingNames: Array.from(localBindingNames),\n dependencies,\n exportBindingAssignments,\n exportPath,\n exportName,\n importBindingsReferences,\n importPaths,\n };\n}\n\ntype GetDependency = (name: string) => t.Expression;\n\n/**\n * Given a helper AST and information about how it will be used, update the AST to match the usage.\n */\nfunction permuteHelperAST(\n file: File,\n metadata: HelperMetadata,\n id?: t.Identifier | t.MemberExpression,\n localBindings?: string[],\n getDependency?: GetDependency,\n) {\n if (localBindings && !id) {\n throw new Error(\"Unexpected local bindings for module-based helpers.\");\n }\n\n if (!id) return;\n\n const {\n localBindingNames,\n dependencies,\n exportBindingAssignments,\n exportPath,\n exportName,\n importBindingsReferences,\n importPaths,\n } = metadata;\n\n const dependenciesRefs: Record<string, t.Expression> = {};\n dependencies.forEach((name, id) => {\n dependenciesRefs[id.name] =\n (typeof getDependency === \"function\" && getDependency(name)) || id;\n });\n\n const toRename: Record<string, string> = {};\n const bindings = new Set(localBindings || []);\n localBindingNames.forEach(name => {\n let newName = name;\n while (bindings.has(newName)) newName = \"_\" + newName;\n\n if (newName !== name) toRename[name] = newName;\n });\n\n if (id.type === \"Identifier\" && exportName !== id.name) {\n toRename[exportName] = id.name;\n }\n\n const { path } = file;\n\n // We need to compute these in advance because removing nodes would\n // invalidate the paths.\n const exp: NodePath<t.ExportDefaultDeclaration> = path.get(exportPath);\n const imps: NodePath<t.ImportDeclaration>[] = importPaths.map(p =>\n path.get(p),\n );\n const impsBindingRefs: NodePath<t.Identifier>[] =\n importBindingsReferences.map(p => path.get(p));\n\n // We assert that this is a FunctionDeclaration in dependencyVisitor.\n const decl = exp.get(\"declaration\") as NodePath<t.FunctionDeclaration>;\n\n if (id.type === \"Identifier\") {\n exp.replaceWith(decl);\n } else if (id.type === \"MemberExpression\") {\n exportBindingAssignments.forEach(assignPath => {\n const assign: NodePath<t.Expression> = path.get(assignPath);\n assign.replaceWith(assignmentExpression(\"=\", id, assign.node));\n });\n exp.replaceWith(decl);\n path.pushContainer(\n \"body\",\n expressionStatement(\n assignmentExpression(\"=\", id, identifier(exportName)),\n ),\n );\n } else {\n throw new Error(\"Unexpected helper format.\");\n }\n\n Object.keys(toRename).forEach(name => {\n path.scope.rename(name, toRename[name]);\n });\n\n for (const path of imps) path.remove();\n for (const path of impsBindingRefs) {\n const node = cloneNode(dependenciesRefs[path.node.name]);\n path.replaceWith(node);\n }\n}\n\ninterface HelperData {\n build: (\n getDependency: GetDependency,\n id: t.Identifier | t.MemberExpression,\n localBindings: string[],\n ) => {\n nodes: t.Program[\"body\"];\n globals: string[];\n };\n minVersion: string;\n getDependencies: () => string[];\n}\n\nconst helperData: Record<string, HelperData> = Object.create(null);\nfunction loadHelper(name: string) {\n if (!helperData[name]) {\n const helper = helpers[name];\n if (!helper) {\n throw Object.assign(new ReferenceError(`Unknown helper ${name}`), {\n code: \"BABEL_HELPER_UNKNOWN\",\n helper: name,\n });\n }\n\n const fn = (): File => {\n if (!process.env.BABEL_8_BREAKING) {\n if (!FileClass) {\n const fakeFile = { ast: file(helper.ast()), path: null } as File;\n traverse(fakeFile.ast, {\n Program: path => (fakeFile.path = path).stop(),\n });\n return fakeFile;\n }\n }\n return new FileClass(\n { filename: `babel-helper://${name}` },\n {\n ast: file(helper.ast()),\n code: \"[internal Babel helper code]\",\n inputMap: null,\n },\n );\n };\n\n // We compute the helper metadata lazily, so that we skip that\n // work if we only need the `.minVersion` (for example because\n // of a call to `.availableHelper` when `@babel/runtime`).\n let metadata: HelperMetadata | null = null;\n\n helperData[name] = {\n minVersion: helper.minVersion,\n build(getDependency, id, localBindings) {\n const file = fn();\n metadata ||= getHelperMetadata(file);\n permuteHelperAST(file, metadata, id, localBindings, getDependency);\n\n return {\n nodes: file.ast.program.body,\n globals: metadata.globals,\n };\n },\n getDependencies() {\n metadata ||= getHelperMetadata(fn());\n return Array.from(metadata.dependencies.values());\n },\n };\n }\n\n return helperData[name];\n}\n\nexport function get(\n name: string,\n getDependency?: GetDependency,\n id?: t.Identifier | t.MemberExpression,\n localBindings?: string[],\n) {\n return loadHelper(name).build(getDependency, id, localBindings);\n}\n\nexport function minVersion(name: string) {\n return loadHelper(name).minVersion;\n}\n\nexport function getDependencies(name: string): ReadonlyArray<string> {\n return loadHelper(name).getDependencies();\n}\n\nexport function ensure(name: string, newFileClass: typeof File) {\n // We inject the File class here rather than importing it to avoid\n // circular dependencies between @babel/core and @babel/helpers.\n FileClass ||= newFileClass;\n\n loadHelper(name);\n}\n\nexport const list = Object.keys(helpers).map(name => name.replace(/^_/, \"\"));\n\nexport default get;\n"],"mappings":"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"}
\ No newline at end of file
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment