@modern-js/module-tools-v2
Version:
The meta-framework suite designed from scratch for frontend-focused modern web development.
1 lines • 11.7 kB
JavaScript
(()=>{"use strict";var e={741:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:true});t["default"]=createTemplateBuilder;var a=r(911);var n=r(555);var l=r(756);const s=(0,a.validate)({placeholderPattern:false});function createTemplateBuilder(e,t){const r=new WeakMap;const o=new WeakMap;const i=t||(0,a.validate)(null);return Object.assign(((t,...s)=>{if(typeof t==="string"){if(s.length>1)throw new Error("Unexpected extra params.");return extendedTrace((0,n.default)(e,t,(0,a.merge)(i,(0,a.validate)(s[0]))))}else if(Array.isArray(t)){let a=r.get(t);if(!a){a=(0,l.default)(e,t,i);r.set(t,a)}return extendedTrace(a(s))}else if(typeof t==="object"&&t){if(s.length>0)throw new Error("Unexpected extra params.");return createTemplateBuilder(e,(0,a.merge)(i,(0,a.validate)(t)))}throw new Error(`Unexpected template param ${typeof t}`)}),{ast:(t,...r)=>{if(typeof t==="string"){if(r.length>1)throw new Error("Unexpected extra params.");return(0,n.default)(e,t,(0,a.merge)((0,a.merge)(i,(0,a.validate)(r[0])),s))()}else if(Array.isArray(t)){let n=o.get(t);if(!n){n=(0,l.default)(e,t,(0,a.merge)(i,s));o.set(t,n)}return n(r)()}throw new Error(`Unexpected template param ${typeof t}`)}})}function extendedTrace(e){let t="";try{throw new Error}catch(e){if(e.stack){t=e.stack.split("\n").slice(3).join("\n")}}return r=>{try{return e(r)}catch(e){e.stack+=`\n =============\n${t}`;throw e}}}},376:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:true});t.statements=t.statement=t.smart=t.program=t.expression=void 0;var a=r(740);const{assertExpressionStatement:n}=a;function makeStatementFormatter(e){return{code:e=>`/* @babel/template */;\n${e}`,validate:()=>{},unwrap:t=>e(t.program.body.slice(1))}}const l=makeStatementFormatter((e=>{if(e.length>1){return e}else{return e[0]}}));t.smart=l;const s=makeStatementFormatter((e=>e));t.statements=s;const o=makeStatementFormatter((e=>{if(e.length===0){throw new Error("Found nothing to return.")}if(e.length>1){throw new Error("Found multiple statements but wanted one")}return e[0]}));t.statement=o;const i={code:e=>`(\n${e}\n)`,validate:e=>{if(e.program.body.length>1){throw new Error("Found multiple statements but wanted one")}if(i.unwrap(e).start===0){throw new Error("Parse result included parens.")}},unwrap:({program:e})=>{const[t]=e.body;n(t);return t.expression}};t.expression=i;const c={code:e=>e,validate:()=>{},unwrap:e=>e.program};t.program=c},756:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:true});t["default"]=literalTemplate;var a=r(911);var n=r(3);var l=r(371);function literalTemplate(e,t,r){const{metadata:n,names:s}=buildLiteralData(e,t,r);return t=>{const r={};t.forEach(((e,t)=>{r[s[t]]=e}));return t=>{const s=(0,a.normalizeReplacements)(t);if(s){Object.keys(s).forEach((e=>{if(Object.prototype.hasOwnProperty.call(r,e)){throw new Error("Unexpected replacement overlap.")}}))}return e.unwrap((0,l.default)(n,s?Object.assign(s,r):r))}}}function buildLiteralData(e,t,r){let a;let l;let s;let o="";do{o+="$";const i=buildTemplateCode(t,o);a=i.names;l=new Set(a);s=(0,n.default)(e,e.code(i.code),{parser:r.parser,placeholderWhitelist:new Set(i.names.concat(r.placeholderWhitelist?Array.from(r.placeholderWhitelist):[])),placeholderPattern:r.placeholderPattern,preserveComments:r.preserveComments,syntacticPlaceholders:r.syntacticPlaceholders})}while(s.placeholders.some((e=>e.isDuplicate&&l.has(e.name))));return{metadata:s,names:a}}function buildTemplateCode(e,t){const r=[];let a=e[0];for(let n=1;n<e.length;n++){const l=`${t}${n-1}`;r.push(l);a+=l+e[n]}return{names:r,code:a}}},911:(e,t)=>{Object.defineProperty(t,"__esModule",{value:true});t.merge=merge;t.normalizeReplacements=normalizeReplacements;t.validate=validate;const r=["placeholderWhitelist","placeholderPattern","preserveComments","syntacticPlaceholders"];function _objectWithoutPropertiesLoose(e,t){if(e==null)return{};var r={};var a=Object.keys(e);var n,l;for(l=0;l<a.length;l++){n=a[l];if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}function merge(e,t){const{placeholderWhitelist:r=e.placeholderWhitelist,placeholderPattern:a=e.placeholderPattern,preserveComments:n=e.preserveComments,syntacticPlaceholders:l=e.syntacticPlaceholders}=t;return{parser:Object.assign({},e.parser,t.parser),placeholderWhitelist:r,placeholderPattern:a,preserveComments:n,syntacticPlaceholders:l}}function validate(e){if(e!=null&&typeof e!=="object"){throw new Error("Unknown template options.")}const t=e||{},{placeholderWhitelist:a,placeholderPattern:n,preserveComments:l,syntacticPlaceholders:s}=t,o=_objectWithoutPropertiesLoose(t,r);if(a!=null&&!(a instanceof Set)){throw new Error("'.placeholderWhitelist' must be a Set, null, or undefined")}if(n!=null&&!(n instanceof RegExp)&&n!==false){throw new Error("'.placeholderPattern' must be a RegExp, false, null, or undefined")}if(l!=null&&typeof l!=="boolean"){throw new Error("'.preserveComments' must be a boolean, null, or undefined")}if(s!=null&&typeof s!=="boolean"){throw new Error("'.syntacticPlaceholders' must be a boolean, null, or undefined")}if(s===true&&(a!=null||n!=null)){throw new Error("'.placeholderWhitelist' and '.placeholderPattern' aren't compatible"+" with '.syntacticPlaceholders: true'")}return{parser:o,placeholderWhitelist:a||undefined,placeholderPattern:n==null?undefined:n,preserveComments:l==null?undefined:l,syntacticPlaceholders:s==null?undefined:s}}function normalizeReplacements(e){if(Array.isArray(e)){return e.reduce(((e,t,r)=>{e["$"+r]=t;return e}),{})}else if(typeof e==="object"||e==null){return e||undefined}throw new Error("Template replacements must be an array, object, null, or undefined")}},3:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:true});t["default"]=parseAndBuildMetadata;var a=r(740);var n=r(829);var l=r(332);const{isCallExpression:s,isExpressionStatement:o,isFunction:i,isIdentifier:c,isJSXIdentifier:p,isNewExpression:d,isPlaceholder:u,isStatement:f,isStringLiteral:m,removePropertiesDeep:h,traverse:y}=a;const w=/^[_$A-Z0-9]+$/;function parseAndBuildMetadata(e,t,r){const{placeholderWhitelist:a,placeholderPattern:n,preserveComments:l,syntacticPlaceholders:s}=r;const o=parseWithCodeFrame(t,r.parser,s);h(o,{preserveComments:l});e.validate(o);const i={placeholders:[],placeholderNames:new Set};const c={placeholders:[],placeholderNames:new Set};const p={value:undefined};y(o,placeholderVisitorHandler,{syntactic:i,legacy:c,isLegacyRef:p,placeholderWhitelist:a,placeholderPattern:n,syntacticPlaceholders:s});return Object.assign({ast:o},p.value?c:i)}function placeholderVisitorHandler(e,t,r){var a;let n;if(u(e)){if(r.syntacticPlaceholders===false){throw new Error("%%foo%%-style placeholders can't be used when "+"'.syntacticPlaceholders' is false.")}else{n=e.name.name;r.isLegacyRef.value=false}}else if(r.isLegacyRef.value===false||r.syntacticPlaceholders){return}else if(c(e)||p(e)){n=e.name;r.isLegacyRef.value=true}else if(m(e)){n=e.value;r.isLegacyRef.value=true}else{return}if(!r.isLegacyRef.value&&(r.placeholderPattern!=null||r.placeholderWhitelist!=null)){throw new Error("'.placeholderWhitelist' and '.placeholderPattern' aren't compatible"+" with '.syntacticPlaceholders: true'")}if(r.isLegacyRef.value&&(r.placeholderPattern===false||!(r.placeholderPattern||w).test(n))&&!((a=r.placeholderWhitelist)!=null&&a.has(n))){return}t=t.slice();const{node:l,key:h}=t[t.length-1];let y;if(m(e)||u(e,{expectedNode:"StringLiteral"})){y="string"}else if(d(l)&&h==="arguments"||s(l)&&h==="arguments"||i(l)&&h==="params"){y="param"}else if(o(l)&&!u(e)){y="statement";t=t.slice(0,-1)}else if(f(e)&&u(e)){y="statement"}else{y="other"}const{placeholders:v,placeholderNames:g}=r.isLegacyRef.value?r.legacy:r.syntactic;v.push({name:n,type:y,resolve:e=>resolveAncestors(e,t),isDuplicate:g.has(n)});g.add(n)}function resolveAncestors(e,t){let r=e;for(let e=0;e<t.length-1;e++){const{key:a,index:n}=t[e];if(n===undefined){r=r[a]}else{r=r[a][n]}}const{key:a,index:n}=t[t.length-1];return{parent:r,key:a,index:n}}function parseWithCodeFrame(e,t,r){const a=(t.plugins||[]).slice();if(r!==false){a.push("placeholders")}t=Object.assign({allowReturnOutsideFunction:true,allowSuperOutsideMethod:true,sourceType:"module"},t,{plugins:a});try{return(0,n.parse)(e,t)}catch(t){const r=t.loc;if(r){t.message+="\n"+(0,l.codeFrameColumns)(e,{start:r});t.code="BABEL_TEMPLATE_PARSE_ERROR"}throw t}}},371:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:true});t["default"]=populatePlaceholders;var a=r(740);const{blockStatement:n,cloneNode:l,emptyStatement:s,expressionStatement:o,identifier:i,isStatement:c,isStringLiteral:p,stringLiteral:d,validate:u}=a;function populatePlaceholders(e,t){const r=l(e.ast);if(t){e.placeholders.forEach((e=>{if(!Object.prototype.hasOwnProperty.call(t,e.name)){const t=e.name;throw new Error(`Error: No substitution given for "${t}". If this is not meant to be a\n placeholder you may want to consider passing one of the following options to @babel/template:\n - { placeholderPattern: false, placeholderWhitelist: new Set(['${t}'])}\n - { placeholderPattern: /^${t}$/ }`)}}));Object.keys(t).forEach((t=>{if(!e.placeholderNames.has(t)){throw new Error(`Unknown substitution "${t}" given`)}}))}e.placeholders.slice().reverse().forEach((e=>{try{applyReplacement(e,r,t&&t[e.name]||null)}catch(t){t.message=`@babel/template placeholder "${e.name}": ${t.message}`;throw t}}));return r}function applyReplacement(e,t,r){if(e.isDuplicate){if(Array.isArray(r)){r=r.map((e=>l(e)))}else if(typeof r==="object"){r=l(r)}}const{parent:a,key:f,index:m}=e.resolve(t);if(e.type==="string"){if(typeof r==="string"){r=d(r)}if(!r||!p(r)){throw new Error("Expected string substitution")}}else if(e.type==="statement"){if(m===undefined){if(!r){r=s()}else if(Array.isArray(r)){r=n(r)}else if(typeof r==="string"){r=o(i(r))}else if(!c(r)){r=o(r)}}else{if(r&&!Array.isArray(r)){if(typeof r==="string"){r=i(r)}if(!c(r)){r=o(r)}}}}else if(e.type==="param"){if(typeof r==="string"){r=i(r)}if(m===undefined)throw new Error("Assertion failure.")}else{if(typeof r==="string"){r=i(r)}if(Array.isArray(r)){throw new Error("Cannot replace single expression with an array.")}}if(m===undefined){u(a,f,r);a[f]=r}else{const t=a[f].slice();if(e.type==="statement"||e.type==="param"){if(r==null){t.splice(m,1)}else if(Array.isArray(r)){t.splice(m,1,...r)}else{t[m]=r}}else{t[m]=r}u(a,f,t);a[f]=t}}},555:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:true});t["default"]=stringTemplate;var a=r(911);var n=r(3);var l=r(371);function stringTemplate(e,t,r){t=e.code(t);let s;return o=>{const i=(0,a.normalizeReplacements)(o);if(!s)s=(0,n.default)(e,t,r);return e.unwrap((0,l.default)(s,i))}}},332:e=>{e.exports=require("../code-frame")},829:e=>{e.exports=require("../parser")},740:e=>{e.exports=require("../types")}};var t={};function __nccwpck_require__(r){var a=t[r];if(a!==undefined){return a.exports}var n=t[r]={exports:{}};var l=true;try{e[r](n,n.exports,__nccwpck_require__);l=false}finally{if(l)delete t[r]}return n.exports}if(typeof __nccwpck_require__!=="undefined")__nccwpck_require__.ab=__dirname+"/";var r={};(()=>{var e=r;Object.defineProperty(e,"__esModule",{value:true});e.statements=e.statement=e.smart=e.program=e.expression=e["default"]=void 0;var t=__nccwpck_require__(376);var a=__nccwpck_require__(741);const n=(0,a.default)(t.smart);e.smart=n;const l=(0,a.default)(t.statement);e.statement=l;const s=(0,a.default)(t.statements);e.statements=s;const o=(0,a.default)(t.expression);e.expression=o;const i=(0,a.default)(t.program);e.program=i;var c=Object.assign(n.bind(undefined),{smart:n,statement:l,statements:s,expression:o,program:i,ast:n.ast});e["default"]=c})();module.exports=r})();