@ngcompass/ast
Advanced tools
+1
-1
@@ -1,2 +0,2 @@ | ||
| 'use strict';var oxcParser=require('oxc-parser'),common=require('@ngcompass/common'),lightningcss=require('lightningcss'),angularHtmlParser=require('angular-html-parser');var D=e=>e.start??e.span?.start??0,ve=e=>e.end??e.span?.end??0;var p=e=>{if(e&&e.type==="Identifier")return e.name},P=(e,t)=>{let r=e.decorators;if(!r)return false;for(let n=0;n<r.length;n++)if(C(r[n])===t)return true;return false},C=e=>{let t=e.expression;if(!t||t.type!=="CallExpression")return;let r=t.callee,n=p(r);return n!==void 0?n:r.type==="MemberExpression"||r.type==="StaticMemberExpression"?p(r.property):void 0},B=e=>{let t=e.expression;if(!t||t.type!=="CallExpression")return;let r=t.arguments;if(!r||r.length===0)return;let n=r[0];return n.type==="ObjectExpression"?n:void 0},be=(e,t)=>{let r=e.properties;if(!r)return false;for(let n=0;n<r.length;n++){let o=r[n];if(o&&o.type!=="SpreadElement"&&R(o.key)===t)return true}return false},f=(e,t)=>{let r=e.properties;if(r)for(let n=0;n<r.length;n++){let o=r[n];if(o&&o.type!=="SpreadElement"&&R(o.key)===t)return o.value}},R=e=>{if(!e)return;let t=p(e);return t!==void 0?t:(e.type==="StringLiteral"||e.type==="Literal")&&typeof e.value=="string"?e.value:void 0},L=(e,t,r)=>{if(!e||e.type!=="MemberExpression"&&e.type!=="StaticMemberExpression"||p(e.property)!==r)return false;let n=e.object;return !!n&&(p(n)===t||(n.type==="MemberExpression"||n.type==="StaticMemberExpression")&&p(n.property)===t)},T=e=>{if(!e||e.type!=="StringLiteral"&&e.type!=="Literal")return;let t=e.value;return typeof t=="string"?t:void 0},w=e=>{if(!e||e.type!=="BooleanLiteral"&&e.type!=="Literal")return;let t=e.value;return typeof t=="boolean"?t:void 0};var b={kind:"non-literal"},u={kind:"missing"},m=e=>({kind:"literal",value:e}),y={Default:0,OnPush:1},k=new WeakMap,h={hits:0,misses:0},W=()=>({hits:h.hits,misses:h.misses}),H=()=>{h.hits=0,h.misses=0;},S=e=>{let t=k.get(e);if(t!==void 0)return h.hits++,t;h.misses++;let r=V(e);if(!r)return k.set(e,null),null;let n=K(e.decorators,r);if(!n)return k.set(e,null),null;let o=Y(e,n,r);return k.set(e,o),o},V=e=>P(e,"Component")?"Component":P(e,"Directive")?"Directive":void 0,K=(e,t)=>{for(let r=0;r<e.length;r++)if(C(e[r])===t)return e[r]},Y=(e,t,r)=>{let n=r==="Component",o=B(t);return {className:e.id?.name,selector:o?M(o,"selector"):u,changeDetection:n&&o?G(o):u,standalone:o?$(o):u,templateUrl:n&&o?M(o,"templateUrl"):u,template:n&&o?M(o,"template"):u,hostDirectives:o?q(o):u,decoratorStart:D(t),type:r}},M=(e,t)=>{let r=f(e,t);if(!r)return u;let n=T(r);return n!==void 0?m(n):b},$=e=>{let t=f(e,"standalone");if(!t)return u;let r=w(t);return r!==void 0?m(r):b},G=e=>{let t=f(e,"changeDetection");if(!t)return u;let r=p(t);return r==="OnPush"?m(y.OnPush):r==="Default"?m(y.Default):r!==void 0?b:L(t,"ChangeDetectionStrategy","OnPush")?m(y.OnPush):L(t,"ChangeDetectionStrategy","Default")?m(y.Default):b},q=e=>{let t=f(e,"hostDirectives");if(!t)return u;if(t.type!=="ArrayExpression")return b;let r=t.elements,n=[];for(let o=0;o<r.length;o++){let a=r[o];if(!a)continue;let s=J(a);s&&n.push(s);}return m(n)},J=e=>{let t=p(e);if(t!==void 0)return {directive:t,inputs:[],outputs:[]};if(e.type==="ObjectExpression"){let r=f(e,"directive");return {directive:r?p(r):void 0,inputs:z(f(e,"inputs")),outputs:z(f(e,"outputs"))}}return null},z=e=>{if(!e||e.type!=="ArrayExpression")return [];let t=e.elements,r=[];for(let n=0;n<t.length;n++){let o=t[n];if(!o)continue;let a=T(o);a&&r.push(Q(a));}return r},Q=e=>{let t=e.indexOf(":");return t===-1?{internal:e,external:e}:{internal:e.slice(0,t).trim(),external:e.slice(t+1).trim()}},X=e=>S(e)!==null,Z=e=>{let t=S(e);if(!t)return false;let r=t.changeDetection;return r.kind==="literal"&&r.value===y.OnPush},ee=e=>{let t=S(e);if(!t)return false;let r=t.standalone;return r.kind==="literal"&&r.value===true};var E=" of ",A=" track ",ne=e=>{let t=[],r=[],n=[],o=e.templateStartOffset,a=s=>{if(s){if(s.children)for(let i of s.children)a(i);oe(s,r,t,o),se(s,t,o),ae(s,n,t,o);}};for(let s of e.rootNodes)a(s);return {expressions:t,attributes:r,blocks:n}},oe=(e,t,r,n)=>{if(e.attrs)for(let o of e.attrs){let a=o.name,s=o.value,i=(o.valueSpan?.start?.offset??0)+n;t.push({name:a,value:s,sourceSpan:{start:(o.sourceSpan?.start?.offset??0)+n,end:(o.sourceSpan?.end?.offset??0)+n}}),s&&ue(a)&&d(s,i,r);}},se=(e,t,r)=>{(e.kind==="text"||e.type==="text"||e.constructor?.name==="Text")&&e.value&&(e.tokens?ie(e,t,r):le(e,t,r));},ae=(e,t,r,n)=>{if(e.kind!=="block"&&e.constructor?.name!=="Block")return;let o=e.name??"",a=e.parameters??[];for(let s of(t.push({name:o,parameters:a.map(i=>({expression:i.expression??"",sourceSpan:{start:(i.sourceSpan?.start?.offset??0)+n,end:(i.sourceSpan?.end?.offset??0)+n}})),sourceSpan:{start:(e.sourceSpan?.start?.offset??0)+n,end:(e.sourceSpan?.end?.offset??0)+n}}),a)){if(!s.expression)continue;let i=(s.sourceSpan?.start?.offset??0)+n;o==="for"?pe(s.expression,i,r):d(s.expression,i,r);}},ie=(e,t,r)=>{if(e.tokens)for(let n of e.tokens)n.type===8&&n.parts?.length===3&&d(n.parts[1],n.sourceSpan.start.offset+n.parts[0].length+r,t);},le=(e,t,r)=>{let n=e.value??"",o=(e.sourceSpan?.start?.offset??0)+r,a=0,s=n.indexOf("{{",a);for(;s!==-1;){let i=n.indexOf("}}",s+2);if(i===-1)break;d(n.substring(s+2,i),o+s+2,t),a=i+2,s=n.indexOf("{{",a);}},pe=(e,t,r)=>{e.includes(A)?d(e.split(A)[1],t+e.indexOf(A)+A.length,r):e.startsWith("track ")&&d(e.substring(6),t+6,r),e.includes(E)&&d(e.split(E)[1].split(";")[0],t+e.indexOf(E)+E.length,r);},ue=e=>e.startsWith("*")||e.startsWith("[")&&e.endsWith("]")||e.startsWith("bind-"),d=(e,t,r)=>{if(e.trim())try{let n=oxcParser.parseSync("template.ts",`(${e})`,{sourceType:"module",lang:"ts"});if(n.program.body.length===0)return;let o=n.program.body[0];if(o.type!=="ExpressionStatement"||!o.expression)return;let a=o.expression;a.type==="ParenthesizedExpression"&&a.expression&&(a=a.expression),r.push({expression:a,sourceSpan:{start:t,end:t+e.length}});}catch(n){let o=n instanceof Error?n.message:String(n);common.debug("parser",`Skipping unparsable template fragment "${e}": ${o}`);}};var Be=e=>{let t=S(e);return t?{node:e,metadata:t}:null},fe=new Set(["Component","Directive","Pipe","Injectable","NgModule"]),Re=e=>{let t=e.decorators;if(!t)return null;for(let r=0;r<t.length;r++){let n=t[r],o=C(n);if(o&&fe.has(o))return {node:e,decoratorName:o,className:e.id?.name,decoratorStart:D(n)}}return null},we=e=>{let t=e.decorators;return t&&t.length!==0?{node:e,decorators:t}:null},ze=e=>e,Fe=e=>e;var He=(e,t)=>{try{return {ok:!0,...me(e,t)}}catch(r){return {ok:false,error:r}}},me=(e,t)=>{let r=lightningcss.transform({filename:t,code:Buffer.from(e),minify:false,sourceMap:false});return {code:r.code,map:r.map}};var Ye=(e,t=0)=>{let r=xe(e);return {rootNodes:r.rootNodes,errors:r.errors,templateStartOffset:t}},xe=e=>angularHtmlParser.parse(e,{tokenizeAngularBlocks:true});var ge=new Set(["parent","span","loc","range","start","end","type"]);function F(e){return typeof e=="object"&&e!==null&&typeof e.type=="string"}function U(e,t){if(!e)return;let r=[e];for(;r.length>0;){let n=r.pop();if(!n||t(n)===false)continue;let o=[];for(let a in n){if(ge.has(a))continue;let s=n[a];if(s&&typeof s=="object")if(Array.isArray(s))for(let i=0;i<s.length;i++){let x=s[i];F(x)&&o.push(x);}else F(s)&&o.push(s);}for(let a=o.length-1;a>=0;a--)r.push(o[a]);}}var j={content:"",startOffset:0};function Je(e){let t=j;return U(e,r=>{if(t.content)return false;if(r.type!=="ClassDeclaration"||!Array.isArray(r.decorators))return;let n=(function(o){let a=o.decorators;if(!a)return null;for(let s of a){let i=s?.expression;if(!i||i.type!=="CallExpression")continue;let x=i.callee;if(!x||x.type!=="Identifier"||x.name!=="Component")continue;let _=i.arguments,N=_?.[0];if(!N||N.type!=="ObjectExpression")continue;let I=(function(l,c){if(!Array.isArray(l))return null;for(let g of l){let v=g?.key,O=g?.value;if(v&&O&&(v.name??v.value)===c)return O}return null})(N.properties,"template");if(I)return (function(l){if(!l)return j;if(l.type==="StringLiteral"||l.type==="Literal"){let c=l.span,g=l.start??c?.start??0;return {content:l.value??"",startOffset:g+1}}if(l.type==="TemplateLiteral"){let c=l.quasis??[],g=c.map(O=>O.value?.raw??"").join(""),v=c[0]?.span;return {content:g,startOffset:(c[0]?.start??v?.start??0)+1}}return j})(I)}return null})(r);if(n)return t=n,false}),t}var Ze=(e,t)=>{let r=he(t,e);return {program:r.program,errors:r.errors}},he=(e,t)=>oxcParser.parseSync(e,t,{sourceType:"module",lang:"tsx"});exports.ChangeDetectionStrategy=y;exports.analyzeComponent=S;exports.analyzeTemplate=ne;exports.extractTemplateFromProgram=Je;exports.getComponentCacheStats=W;exports.getDecoratorNameUnsafe=C;exports.getDecoratorObjectArgUnsafe=B;exports.getIdentifierName=p;exports.getKeyNameUnsafe=R;exports.getLiteralBooleanValueUnsafe=w;exports.getLiteralStringValueUnsafe=T;exports.getObjectPropertyUnsafe=f;exports.hasDecorator=P;exports.hasObjectProperty=be;exports.isComponent=X;exports.isStandalone=ee;exports.matchesMemberExpression=L;exports.nodeEnd=ve;exports.nodeStart=D;exports.parseCss=He;exports.parseHtml=Ye;exports.parseTs=Ze;exports.resetComponentCacheStats=H;exports.toAngularClassStream=Be;exports.toAnyAngularClassStream=Re;exports.toCallExpressionStream=ze;exports.toDecoratedPropertyStream=we;exports.toNewExpressionStream=Fe;exports.usesOnPush=Z;exports.walkProgram=U;//# sourceMappingURL=index.cjs.map | ||
| 'use strict';var oxcParser=require('oxc-parser'),common=require('@ngcompass/common'),lightningcss=require('lightningcss'),angularHtmlParser=require('angular-html-parser');var D=e=>e.start??e.span?.start??0,ve=e=>e.end??e.span?.end??0;var p=e=>{if(e&&e.type==="Identifier")return e.name},P=(e,t)=>{let r=e.decorators;if(!r)return false;for(let n=0;n<r.length;n++)if(C(r[n])===t)return true;return false},C=e=>{let t=e.expression;if(!t||t.type!=="CallExpression")return;let r=t.callee,n=p(r);return n!==void 0?n:r.type==="MemberExpression"||r.type==="StaticMemberExpression"?p(r.property):void 0},B=e=>{let t=e.expression;if(!t||t.type!=="CallExpression")return;let r=t.arguments;if(!r||r.length===0)return;let n=r[0];return n.type==="ObjectExpression"?n:void 0},be=(e,t)=>{let r=e.properties;if(!r)return false;for(let n=0;n<r.length;n++){let o=r[n];if(o&&o.type!=="SpreadElement"&&R(o.key)===t)return true}return false},f=(e,t)=>{let r=e.properties;if(r)for(let n=0;n<r.length;n++){let o=r[n];if(o&&o.type!=="SpreadElement"&&R(o.key)===t)return o.value}},R=e=>{if(!e)return;let t=p(e);return t!==void 0?t:(e.type==="StringLiteral"||e.type==="Literal")&&typeof e.value=="string"?e.value:void 0},L=(e,t,r)=>{if(!e||e.type!=="MemberExpression"&&e.type!=="StaticMemberExpression"||p(e.property)!==r)return false;let n=e.object;return !!n&&(p(n)===t||(n.type==="MemberExpression"||n.type==="StaticMemberExpression")&&p(n.property)===t)},T=e=>{if(!e||e.type!=="StringLiteral"&&e.type!=="Literal")return;let t=e.value;return typeof t=="string"?t:void 0},w=e=>{if(!e||e.type!=="BooleanLiteral"&&e.type!=="Literal")return;let t=e.value;return typeof t=="boolean"?t:void 0};var b={kind:"non-literal"},u={kind:"missing"},m=e=>({kind:"literal",value:e}),y={Default:0,OnPush:1},k=new WeakMap,h={hits:0,misses:0},W=()=>({hits:h.hits,misses:h.misses}),H=()=>{h.hits=0,h.misses=0;},S=e=>{let t=k.get(e);if(t!==void 0)return h.hits++,t;h.misses++;let r=V(e);if(!r)return k.set(e,null),null;let n=K(e.decorators,r);if(!n)return k.set(e,null),null;let o=Y(e,n,r);return k.set(e,o),o},V=e=>P(e,"Component")?"Component":P(e,"Directive")?"Directive":void 0,K=(e,t)=>{for(let r=0;r<e.length;r++)if(C(e[r])===t)return e[r]},Y=(e,t,r)=>{let n=r==="Component",o=B(t);return {className:e.id?.name,selector:o?M(o,"selector"):u,changeDetection:n&&o?G(o):u,standalone:o?$(o):u,templateUrl:n&&o?M(o,"templateUrl"):u,template:n&&o?M(o,"template"):u,hostDirectives:o?q(o):u,decoratorStart:D(t),type:r}},M=(e,t)=>{let r=f(e,t);if(!r)return u;let n=T(r);return n!==void 0?m(n):b},$=e=>{let t=f(e,"standalone");if(!t)return u;let r=w(t);return r!==void 0?m(r):b},G=e=>{let t=f(e,"changeDetection");if(!t)return u;let r=p(t);return r==="OnPush"?m(y.OnPush):r==="Default"?m(y.Default):r!==void 0?b:L(t,"ChangeDetectionStrategy","OnPush")?m(y.OnPush):L(t,"ChangeDetectionStrategy","Default")?m(y.Default):b},q=e=>{let t=f(e,"hostDirectives");if(!t)return u;if(t.type!=="ArrayExpression")return b;let r=t.elements,n=[];for(let o=0;o<r.length;o++){let a=r[o];if(!a)continue;let s=J(a);s&&n.push(s);}return m(n)},J=e=>{let t=p(e);if(t!==void 0)return {directive:t,inputs:[],outputs:[]};if(e.type==="ObjectExpression"){let r=f(e,"directive");return {directive:r?p(r):void 0,inputs:z(f(e,"inputs")),outputs:z(f(e,"outputs"))}}return null},z=e=>{if(!e||e.type!=="ArrayExpression")return [];let t=e.elements,r=[];for(let n=0;n<t.length;n++){let o=t[n];if(!o)continue;let a=T(o);a&&r.push(Q(a));}return r},Q=e=>{let t=e.indexOf(":");return t===-1?{internal:e,external:e}:{internal:e.slice(0,t).trim(),external:e.slice(t+1).trim()}},X=e=>S(e)!==null,Z=e=>{let t=S(e);if(!t)return false;let r=t.changeDetection;return r.kind==="literal"&&r.value===y.OnPush},ee=e=>{let t=S(e);if(!t)return false;let r=t.standalone;return r.kind==="literal"&&r.value===true};var E=" of ",A=" track ",ne=e=>{let t=[],r=[],n=[],o=e.templateStartOffset,a=s=>{if(s){if(s.children)for(let i of s.children)a(i);oe(s,r,t,o),se(s,t,o),ae(s,n,t,o);}};for(let s of e.rootNodes)a(s);return {expressions:t,attributes:r,blocks:n}},oe=(e,t,r,n)=>{if(e.attrs)for(let o of e.attrs){let a=o.name,s=o.value,i=(o.valueSpan?.start?.offset??0)+n;t.push({name:a,value:s,sourceSpan:{start:(o.sourceSpan?.start?.offset??0)+n,end:(o.sourceSpan?.end?.offset??0)+n}}),s&&ue(a)&&d(s,i,r);}},se=(e,t,r)=>{(e.kind==="text"||e.type==="text"||e.constructor?.name==="Text")&&e.value&&(e.tokens?ie(e,t,r):le(e,t,r));},ae=(e,t,r,n)=>{if(e.kind!=="block"&&e.constructor?.name!=="Block")return;let o=e.name??"",a=e.parameters??[];for(let s of(t.push({name:o,parameters:a.map(i=>({expression:i.expression??"",sourceSpan:{start:(i.sourceSpan?.start?.offset??0)+n,end:(i.sourceSpan?.end?.offset??0)+n}})),sourceSpan:{start:(e.sourceSpan?.start?.offset??0)+n,end:(e.sourceSpan?.end?.offset??0)+n}}),a)){if(!s.expression)continue;let i=(s.sourceSpan?.start?.offset??0)+n;o==="for"?pe(s.expression,i,r):d(s.expression,i,r);}},ie=(e,t,r)=>{if(e.tokens)for(let n of e.tokens)n.type===8&&n.parts?.length===3&&d(n.parts[1],n.sourceSpan.start.offset+n.parts[0].length+r,t);},le=(e,t,r)=>{let n=e.value??"",o=(e.sourceSpan?.start?.offset??0)+r,a=0,s=n.indexOf("{{",a);for(;s!==-1;){let i=n.indexOf("}}",s+2);if(i===-1)break;d(n.substring(s+2,i),o+s+2,t),a=i+2,s=n.indexOf("{{",a);}},pe=(e,t,r)=>{e.includes(A)?d(e.split(A)[1],t+e.indexOf(A)+A.length,r):e.startsWith("track ")&&d(e.substring(6),t+6,r),e.includes(E)&&d(e.split(E)[1].split(";")[0],t+e.indexOf(E)+E.length,r);},ue=e=>e.startsWith("*")||e.startsWith("[")&&e.endsWith("]")||e.startsWith("bind-"),d=(e,t,r)=>{if(e.trim())try{let n=oxcParser.parseSync("template.ts",`(${e})`,{sourceType:"module",lang:"ts"});if(n.program.body.length===0)return;let o=n.program.body[0];if(o.type!=="ExpressionStatement"||!o.expression)return;let a=o.expression;a.type==="ParenthesizedExpression"&&a.expression&&(a=a.expression),r.push({expression:a,sourceSpan:{start:t,end:t+e.length}});}catch(n){let o=n instanceof Error?n.message:String(n);common.debug("parser",`Skipping unparsable template fragment "${e}": ${o}`);}};var Be=e=>{let t=S(e);return t?{node:e,metadata:t}:null},fe=new Set(["Component","Directive","Pipe","Injectable","NgModule"]),Re=e=>{let t=e.decorators;if(!t)return null;for(let r=0;r<t.length;r++){let n=t[r],o=C(n);if(o&&fe.has(o))return {node:e,decoratorName:o,className:e.id?.name,decoratorStart:D(n)}}return null},we=e=>{let t=e.decorators;return t&&t.length!==0?{node:e,decorators:t}:null},ze=e=>e,Fe=e=>e,_e=e=>e;var Ve=(e,t)=>{try{return {ok:!0,...me(e,t)}}catch(r){return {ok:false,error:r}}},me=(e,t)=>{let r=lightningcss.transform({filename:t,code:Buffer.from(e),minify:false,sourceMap:false});return {code:r.code,map:r.map}};var $e=(e,t=0)=>{let r=xe(e);return {rootNodes:r.rootNodes,errors:r.errors,templateStartOffset:t}},xe=e=>angularHtmlParser.parse(e,{tokenizeAngularBlocks:true});var ge=new Set(["parent","span","loc","range","start","end","type"]);function F(e){return typeof e=="object"&&e!==null&&typeof e.type=="string"}function U(e,t){if(!e)return;let r=[e];for(;r.length>0;){let n=r.pop();if(!n||t(n)===false)continue;let o=[];for(let a in n){if(ge.has(a))continue;let s=n[a];if(s&&typeof s=="object")if(Array.isArray(s))for(let i=0;i<s.length;i++){let x=s[i];F(x)&&o.push(x);}else F(s)&&o.push(s);}for(let a=o.length-1;a>=0;a--)r.push(o[a]);}}var j={content:"",startOffset:0};function Qe(e){let t=j;return U(e,r=>{if(t.content)return false;if(r.type!=="ClassDeclaration"||!Array.isArray(r.decorators))return;let n=(function(o){let a=o.decorators;if(!a)return null;for(let s of a){let i=s?.expression;if(!i||i.type!=="CallExpression")continue;let x=i.callee;if(!x||x.type!=="Identifier"||x.name!=="Component")continue;let _=i.arguments,N=_?.[0];if(!N||N.type!=="ObjectExpression")continue;let I=(function(l,c){if(!Array.isArray(l))return null;for(let g of l){let v=g?.key,O=g?.value;if(v&&O&&(v.name??v.value)===c)return O}return null})(N.properties,"template");if(I)return (function(l){if(!l)return j;if(l.type==="StringLiteral"||l.type==="Literal"){let c=l.span,g=l.start??c?.start??0;return {content:l.value??"",startOffset:g+1}}if(l.type==="TemplateLiteral"){let c=l.quasis??[],g=c.map(O=>O.value?.raw??"").join(""),v=c[0]?.span;return {content:g,startOffset:(c[0]?.start??v?.start??0)+1}}return j})(I)}return null})(r);if(n)return t=n,false}),t}var et=(e,t)=>{let r=he(t,e);return {program:r.program,errors:r.errors}},he=(e,t)=>oxcParser.parseSync(e,t,{sourceType:"module",lang:"tsx"});exports.ChangeDetectionStrategy=y;exports.analyzeComponent=S;exports.analyzeTemplate=ne;exports.extractTemplateFromProgram=Qe;exports.getComponentCacheStats=W;exports.getDecoratorNameUnsafe=C;exports.getDecoratorObjectArgUnsafe=B;exports.getIdentifierName=p;exports.getKeyNameUnsafe=R;exports.getLiteralBooleanValueUnsafe=w;exports.getLiteralStringValueUnsafe=T;exports.getObjectPropertyUnsafe=f;exports.hasDecorator=P;exports.hasObjectProperty=be;exports.isComponent=X;exports.isStandalone=ee;exports.matchesMemberExpression=L;exports.nodeEnd=ve;exports.nodeStart=D;exports.parseCss=Ve;exports.parseHtml=$e;exports.parseTs=et;exports.resetComponentCacheStats=H;exports.toAngularClassStream=Be;exports.toAnyAngularClassStream=Re;exports.toCallExpressionStream=ze;exports.toDecoratedPropertyStream=we;exports.toImportDeclarationStream=_e;exports.toNewExpressionStream=Fe;exports.usesOnPush=Z;exports.walkProgram=U;//# sourceMappingURL=index.cjs.map | ||
| //# sourceMappingURL=index.cjs.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"sources":["../src/ast/types.ts","../src/ast/matchers.ts","../src/analyzers/component-analyzer.ts","../src/analyzers/template-analyzer.ts","../src/node-streams.ts","../src/parsers/css.ts","../src/parsers/html.ts","../src/visitor.ts","../src/parsers/template-extractor.ts","../src/parsers/ts.ts"],"names":["nodeStart","node","start","span","nodeEnd","end","getIdentifierName","type","name","hasDecorator","classNode","decoratorName","decorators","i","length","getDecoratorNameUnsafe","decorator","expr","expression","callee","direct","undefined","property","getDecoratorObjectArgUnsafe","args","arguments","first","hasObjectProperty","objectExpr","keyName","properties","prop","getKeyNameUnsafe","key","getObjectPropertyUnsafe","value","ident","matchesMemberExpression","objectName","propertyName","obj","object","getLiteralStringValueUnsafe","getLiteralBooleanValueUnsafe","NON_LITERAL","kind","MISSING","literal","ChangeDetectionStrategy","Default","OnPush","componentCache","WeakMap","cacheStats","hits","misses","getComponentCacheStats","resetComponentCacheStats","analyzeComponent","cached","get","resolveAngularDecoratorName","set","findDecoratorByName","metadata","buildComponentMetadata","isComp","metadataObject","className","id","selector","extractLiteralStringField","changeDetection","extractChangeDetection","standalone","extractStandalone","templateUrl","template","hostDirectives","extractHostDirectives","decoratorStart","field","elements","results","el","parsed","parseHostDirectiveElement","push","directive","inputs","outputs","dirNode","extractRenames","renames","parseRenameString","idx","indexOf","internal","external","slice","trim","isComponent","usesOnPush","component","cd","isStandalone","FOR_OF","FOR_TRACK","analyzeTemplate","htmlResult","expressions","attributes","blocks","offset","templateStartOffset","visit","children","child","visitAttributes","visitTextNode","visitBlock","rootNode","rootNodes","attrs","attr","attrOffset","valueSpan","sourceSpan","isBindingAttribute","parseAndAdd","tokens","extractInterpolationsFromTokens","extractInterpolationsManually","blockName","parameters","param","map","p","paramOffset","extractForBlockExpressions","token","parts","textValue","cursor","substring","includes","split","startsWith","endsWith","code","outcomes","ret","parseSync","sourceType","lang","program","body","stmt","err","message","Error","String","debug","toAngularClassStream","ANY_ANGULAR_DECORATORS","Set","toAnyAngularClassStream","has","toDecoratedPropertyStream","propertyNode","toCallExpressionStream","toNewExpressionStream","parseCss","content","filePath","ok","runLightningCssTransform","error","result","transform","filename","Buffer","from","minify","sourceMap","parseHtml","runAngularHtmlParse","errors","parse","tokenizeAngularBlocks","NON_CHILD_KEYS","isTraversableNode","walkProgram","root","visitor","stack","pop","val","Array","isArray","EMPTY","startOffset","extractTemplateFromProgram","rawNode","extracted","call","objectArg","templateValue","quasis","q","raw","join","firstSpan","parseTs","runOxcParse"],"mappings":"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","file":"index.cjs","sourcesContent":["export const nodeStart = (t)=>t.start ?? t.span?.start ?? 0;\nexport const nodeEnd = (t)=>t.end ?? t.span?.end ?? 0;\n","export const getIdentifierName = (e)=>{\n if (e && 'Identifier' === e.type) return e.name;\n};\nexport const hasDecorator = (e, t)=>{\n let r = e.decorators;\n if (!r) return !1;\n for(let e = 0; e < r.length; e++)if (getDecoratorNameUnsafe(r[e]) === t) return !0;\n return !1;\n};\nexport const getDecoratorNameUnsafe = (e)=>{\n let t = e.expression;\n if (!t || 'CallExpression' !== t.type) return;\n let r = t.callee, n = getIdentifierName(r);\n return void 0 !== n ? n : 'MemberExpression' === r.type || 'StaticMemberExpression' === r.type ? getIdentifierName(r.property) : void 0;\n};\nexport const getDecoratorObjectArgUnsafe = (e)=>{\n let t = e.expression;\n if (!t || 'CallExpression' !== t.type) return;\n let r = t.arguments;\n if (!r || 0 === r.length) return;\n let n = r[0];\n return 'ObjectExpression' === n.type ? n : void 0;\n};\nexport const hasObjectProperty = (e, t)=>{\n let r = e.properties;\n if (!r) return !1;\n for(let e = 0; e < r.length; e++){\n let n = r[e];\n if (n && 'SpreadElement' !== n.type && getKeyNameUnsafe(n.key) === t) return !0;\n }\n return !1;\n};\nexport const getObjectPropertyUnsafe = (e, t)=>{\n let r = e.properties;\n if (r) for(let e = 0; e < r.length; e++){\n let n = r[e];\n if (n && 'SpreadElement' !== n.type && getKeyNameUnsafe(n.key) === t) return n.value;\n }\n};\nexport const getKeyNameUnsafe = (e)=>{\n if (!e) return;\n let t = getIdentifierName(e);\n return void 0 !== t ? t : ('StringLiteral' === e.type || 'Literal' === e.type) && 'string' == typeof e.value ? e.value : void 0;\n};\nexport const matchesMemberExpression = (e, t, r)=>{\n if (!e || 'MemberExpression' !== e.type && 'StaticMemberExpression' !== e.type || getIdentifierName(e.property) !== r) return !1;\n let n = e.object;\n return !!n && (getIdentifierName(n) === t || ('MemberExpression' === n.type || 'StaticMemberExpression' === n.type) && getIdentifierName(n.property) === t);\n};\nexport const getLiteralStringValueUnsafe = (e)=>{\n if (!e || 'StringLiteral' !== e.type && 'Literal' !== e.type) return;\n let t = e.value;\n return 'string' == typeof t ? t : void 0;\n};\nexport const getLiteralBooleanValueUnsafe = (e)=>{\n if (!e || 'BooleanLiteral' !== e.type && 'Literal' !== e.type) return;\n let t = e.value;\n return 'boolean' == typeof t ? t : void 0;\n};\n","import { getDecoratorNameUnsafe as e, getDecoratorObjectArgUnsafe as t, getIdentifierName as n, getLiteralBooleanValueUnsafe as r, getLiteralStringValueUnsafe as a, getObjectPropertyUnsafe as i, hasDecorator as l, matchesMemberExpression as o } from '../ast/matchers.js';\nimport { nodeStart as s } from '../ast/types.js';\nlet NON_LITERAL = {\n kind: 'non-literal'\n}, MISSING = {\n kind: 'missing'\n}, literal = (e)=>({\n kind: 'literal',\n value: e\n });\nexport const ChangeDetectionStrategy = {\n Default: 0,\n OnPush: 1\n};\nlet componentCache = new WeakMap(), cacheStats = {\n hits: 0,\n misses: 0\n};\nexport const getComponentCacheStats = ()=>({\n hits: cacheStats.hits,\n misses: cacheStats.misses\n });\nexport const resetComponentCacheStats = ()=>{\n cacheStats.hits = 0, cacheStats.misses = 0;\n};\nexport const analyzeComponent = (e)=>{\n let t = componentCache.get(e);\n if (void 0 !== t) return cacheStats.hits++, t;\n cacheStats.misses++;\n let n = resolveAngularDecoratorName(e);\n if (!n) return componentCache.set(e, null), null;\n let r = findDecoratorByName(e.decorators, n);\n if (!r) return componentCache.set(e, null), null;\n let a = buildComponentMetadata(e, r, n);\n return componentCache.set(e, a), a;\n};\nlet resolveAngularDecoratorName = (e)=>l(e, 'Component') ? 'Component' : l(e, 'Directive') ? 'Directive' : void 0, findDecoratorByName = (t, n)=>{\n for(let r = 0; r < t.length; r++)if (e(t[r]) === n) return t[r];\n}, buildComponentMetadata = (e, n, r)=>{\n let a = 'Component' === r, i = t(n);\n return {\n className: e.id?.name,\n selector: i ? extractLiteralStringField(i, 'selector') : MISSING,\n changeDetection: a && i ? extractChangeDetection(i) : MISSING,\n standalone: i ? extractStandalone(i) : MISSING,\n templateUrl: a && i ? extractLiteralStringField(i, 'templateUrl') : MISSING,\n template: a && i ? extractLiteralStringField(i, 'template') : MISSING,\n hostDirectives: i ? extractHostDirectives(i) : MISSING,\n decoratorStart: s(n),\n type: r\n };\n}, extractLiteralStringField = (e, t)=>{\n let n = i(e, t);\n if (!n) return MISSING;\n let r = a(n);\n return void 0 !== r ? literal(r) : NON_LITERAL;\n}, extractStandalone = (e)=>{\n let t = i(e, 'standalone');\n if (!t) return MISSING;\n let n = r(t);\n return void 0 !== n ? literal(n) : NON_LITERAL;\n}, extractChangeDetection = (e)=>{\n let t = i(e, 'changeDetection');\n if (!t) return MISSING;\n let r = n(t);\n return 'OnPush' === r ? literal(ChangeDetectionStrategy.OnPush) : 'Default' === r ? literal(ChangeDetectionStrategy.Default) : void 0 !== r ? NON_LITERAL : o(t, 'ChangeDetectionStrategy', 'OnPush') ? literal(ChangeDetectionStrategy.OnPush) : o(t, 'ChangeDetectionStrategy', 'Default') ? literal(ChangeDetectionStrategy.Default) : NON_LITERAL;\n}, extractHostDirectives = (e)=>{\n let t = i(e, 'hostDirectives');\n if (!t) return MISSING;\n if ('ArrayExpression' !== t.type) return NON_LITERAL;\n let n = t.elements, r = [];\n for(let e = 0; e < n.length; e++){\n let t = n[e];\n if (!t) continue;\n let a = parseHostDirectiveElement(t);\n a && r.push(a);\n }\n return literal(r);\n}, parseHostDirectiveElement = (e)=>{\n let t = n(e);\n if (void 0 !== t) return {\n directive: t,\n inputs: [],\n outputs: []\n };\n if ('ObjectExpression' === e.type) {\n let t = i(e, 'directive');\n return {\n directive: t ? n(t) : void 0,\n inputs: extractRenames(i(e, 'inputs')),\n outputs: extractRenames(i(e, 'outputs'))\n };\n }\n return null;\n}, extractRenames = (e)=>{\n if (!e || 'ArrayExpression' !== e.type) return [];\n let t = e.elements, n = [];\n for(let e = 0; e < t.length; e++){\n let r = t[e];\n if (!r) continue;\n let i = a(r);\n i && n.push(parseRenameString(i));\n }\n return n;\n}, parseRenameString = (e)=>{\n let t = e.indexOf(':');\n return -1 === t ? {\n internal: e,\n external: e\n } : {\n internal: e.slice(0, t).trim(),\n external: e.slice(t + 1).trim()\n };\n};\nexport const isComponent = (e)=>null !== analyzeComponent(e);\nexport const usesOnPush = (e)=>{\n let t = analyzeComponent(e);\n if (!t) return !1;\n let n = t.changeDetection;\n return 'literal' === n.kind && n.value === ChangeDetectionStrategy.OnPush;\n};\nexport const isStandalone = (e)=>{\n let t = analyzeComponent(e);\n if (!t) return !1;\n let n = t.standalone;\n return 'literal' === n.kind && !0 === n.value;\n};\n","import { parseSync as e } from 'oxc-parser';\nimport { debug as t } from '@ngcompass/common';\nlet FOR_OF = ' of ', FOR_TRACK = ' track ';\nexport const analyzeTemplate = (e)=>{\n let t = [], s = [], r = [], n = e.templateStartOffset, o = (e)=>{\n if (e) {\n if (e.children) for (let t of e.children)o(t);\n visitAttributes(e, s, t, n), visitTextNode(e, t, n), visitBlock(e, r, t, n);\n }\n };\n for (let t of e.rootNodes)o(t);\n return {\n expressions: t,\n attributes: s,\n blocks: r\n };\n};\nlet visitAttributes = (e, t, s, r)=>{\n if (e.attrs) for (let n of e.attrs){\n let e = n.name, o = n.value, a = (n.valueSpan?.start?.offset ?? 0) + r;\n t.push({\n name: e,\n value: o,\n sourceSpan: {\n start: (n.sourceSpan?.start?.offset ?? 0) + r,\n end: (n.sourceSpan?.end?.offset ?? 0) + r\n }\n }), o && isBindingAttribute(e) && parseAndAdd(o, a, s);\n }\n}, visitTextNode = (e, t, s)=>{\n ('text' === e.kind || 'text' === e.type || e.constructor?.name === 'Text') && e.value && (e.tokens ? extractInterpolationsFromTokens(e, t, s) : extractInterpolationsManually(e, t, s));\n}, visitBlock = (e, t, s, r)=>{\n if ('block' !== e.kind && e.constructor?.name !== 'Block') return;\n let n = e.name ?? '', o = e.parameters ?? [];\n for (let a of (t.push({\n name: n,\n parameters: o.map((e)=>({\n expression: e.expression ?? '',\n sourceSpan: {\n start: (e.sourceSpan?.start?.offset ?? 0) + r,\n end: (e.sourceSpan?.end?.offset ?? 0) + r\n }\n })),\n sourceSpan: {\n start: (e.sourceSpan?.start?.offset ?? 0) + r,\n end: (e.sourceSpan?.end?.offset ?? 0) + r\n }\n }), o)){\n if (!a.expression) continue;\n let e = (a.sourceSpan?.start?.offset ?? 0) + r;\n 'for' === n ? extractForBlockExpressions(a.expression, e, s) : parseAndAdd(a.expression, e, s);\n }\n}, extractInterpolationsFromTokens = (e, t, s)=>{\n if (e.tokens) for (let r of e.tokens){\n if (8 === r.type && r.parts?.length === 3) parseAndAdd(r.parts[1], r.sourceSpan.start.offset + r.parts[0].length + s, t);\n }\n}, extractInterpolationsManually = (e, t, s)=>{\n let r = e.value ?? '', n = (e.sourceSpan?.start?.offset ?? 0) + s, o = 0, a = r.indexOf('{{', o);\n for(; -1 !== a;){\n let e = r.indexOf('}}', a + 2);\n if (-1 === e) break;\n parseAndAdd(r.substring(a + 2, e), n + a + 2, t), o = e + 2, a = r.indexOf('{{', o);\n }\n}, extractForBlockExpressions = (e, t, s)=>{\n e.includes(FOR_TRACK) ? parseAndAdd(e.split(FOR_TRACK)[1], t + e.indexOf(FOR_TRACK) + FOR_TRACK.length, s) : e.startsWith('track ') && parseAndAdd(e.substring(6), t + 6, s), e.includes(FOR_OF) && parseAndAdd(e.split(FOR_OF)[1].split(';')[0], t + e.indexOf(FOR_OF) + FOR_OF.length, s);\n}, isBindingAttribute = (e)=>e.startsWith('*') || e.startsWith('[') && e.endsWith(']') || e.startsWith('bind-'), parseAndAdd = (s, r, n)=>{\n if (s.trim()) try {\n let t = e('template.ts', `(${s})`, {\n sourceType: 'module',\n lang: 'ts'\n });\n if (0 === t.program.body.length) return;\n let o = t.program.body[0];\n if ('ExpressionStatement' !== o.type || !o.expression) return;\n let a = o.expression;\n 'ParenthesizedExpression' === a.type && a.expression && (a = a.expression), n.push({\n expression: a,\n sourceSpan: {\n start: r,\n end: r + s.length\n }\n });\n } catch (r) {\n let e = r instanceof Error ? r.message : String(r);\n t('parser', `Skipping unparsable template fragment \"${s}\": ${e}`);\n }\n};\n","import { analyzeComponent as e } from './analyzers/component-analyzer.js';\nimport { getDecoratorNameUnsafe as t } from './ast/matchers.js';\nimport { nodeStart as r } from './ast/types.js';\nexport const toAngularClassStream = (t)=>{\n let r = e(t);\n return r ? {\n node: t,\n metadata: r\n } : null;\n};\nlet ANY_ANGULAR_DECORATORS = new Set([\n 'Component',\n 'Directive',\n 'Pipe',\n 'Injectable',\n 'NgModule'\n]);\nexport const toAnyAngularClassStream = (e)=>{\n let o = e.decorators;\n if (!o) return null;\n for(let n = 0; n < o.length; n++){\n let a = o[n], l = t(a);\n if (l && ANY_ANGULAR_DECORATORS.has(l)) return {\n node: e,\n decoratorName: l,\n className: e.id?.name,\n decoratorStart: r(a)\n };\n }\n return null;\n};\nexport const toDecoratedPropertyStream = (e)=>{\n let t = e.decorators;\n return t && 0 !== t.length ? {\n node: e,\n decorators: t\n } : null;\n};\nexport const toCallExpressionStream = (e)=>e;\nexport const toNewExpressionStream = (e)=>e;\n","import { transform as r } from 'lightningcss';\nexport const parseCss = (r, e)=>{\n try {\n let n = runLightningCssTransform(r, e);\n return {\n ok: !0,\n ...n\n };\n } catch (r) {\n return {\n ok: !1,\n error: r\n };\n }\n};\nlet runLightningCssTransform = (e, n)=>{\n let o = r({\n filename: n,\n code: Buffer.from(e),\n minify: !1,\n sourceMap: !1\n });\n return {\n code: o.code,\n map: o.map\n };\n};\n","import { parse as r } from 'angular-html-parser';\nexport const parseHtml = (r, e = 0)=>{\n let o = runAngularHtmlParse(r);\n return {\n rootNodes: o.rootNodes,\n errors: o.errors,\n templateStartOffset: e\n };\n};\nlet runAngularHtmlParse = (e)=>r(e, {\n tokenizeAngularBlocks: !0\n });\n","let NON_CHILD_KEYS = new Set([\n 'parent',\n 'span',\n 'loc',\n 'range',\n 'start',\n 'end',\n 'type'\n]);\nfunction isTraversableNode(e) {\n return 'object' == typeof e && null !== e && 'string' == typeof e.type;\n}\nexport function walkProgram(e, t) {\n if (!e) return;\n let r = [\n e\n ];\n for(; r.length > 0;){\n let e = r.pop();\n if (!e || !1 === t(e)) continue;\n let n = [];\n for(let t in e){\n if (NON_CHILD_KEYS.has(t)) continue;\n let r = e[t];\n if (r && 'object' == typeof r) if (Array.isArray(r)) for(let e = 0; e < r.length; e++){\n let t = r[e];\n isTraversableNode(t) && n.push(t);\n }\n else isTraversableNode(r) && n.push(r);\n }\n for(let e = n.length - 1; e >= 0; e--)r.push(n[e]);\n }\n}\n","import { walkProgram as t } from '../visitor.js';\nlet EMPTY = {\n content: '',\n startOffset: 0\n};\nexport function extractTemplateFromProgram(e) {\n let r = EMPTY;\n return t(e, (t)=>{\n if (r.content) return !1;\n if ('ClassDeclaration' !== t.type || !Array.isArray(t.decorators)) return;\n let e = function(t) {\n let e = t.decorators;\n if (!e) return null;\n for (let t of e){\n let e = t?.expression;\n if (!e || 'CallExpression' !== e.type) continue;\n let r = e.callee;\n if (!r || 'Identifier' !== r.type || 'Component' !== r.name) continue;\n let n = e.arguments, a = n?.[0];\n if (!a || 'ObjectExpression' !== a.type) continue;\n let i = function(t, e) {\n if (!Array.isArray(t)) return null;\n for (let r of t){\n let t = r?.key, n = r?.value;\n if (t && n && (t.name ?? t.value) === e) return n;\n }\n return null;\n }(a.properties, 'template');\n if (i) return function(t) {\n if (!t) return EMPTY;\n if ('StringLiteral' === t.type || 'Literal' === t.type) {\n let e = t.span, r = t.start ?? e?.start ?? 0;\n return {\n content: t.value ?? '',\n startOffset: r + 1\n };\n }\n if ('TemplateLiteral' === t.type) {\n let e = t.quasis ?? [], r = e.map((t)=>{\n let e = t.value;\n return e?.raw ?? '';\n }).join(''), n = e[0]?.span;\n return {\n content: r,\n startOffset: (e[0]?.start ?? n?.start ?? 0) + 1\n };\n }\n return EMPTY;\n }(i);\n }\n return null;\n }(t);\n if (e) return r = e, !1;\n }), r;\n}\n","import { parseSync as r } from 'oxc-parser';\nexport const parseTs = (r, e)=>{\n let o = runOxcParse(e, r);\n return {\n program: o.program,\n errors: o.errors\n };\n};\nlet runOxcParse = (e, o)=>r(e, o, {\n sourceType: 'module',\n lang: 'tsx'\n });\n"]} | ||
| {"version":3,"sources":["../src/ast/types.ts","../src/ast/matchers.ts","../src/analyzers/component-analyzer.ts","../src/analyzers/template-analyzer.ts","../src/node-streams.ts","../src/parsers/css.ts","../src/parsers/html.ts","../src/visitor.ts","../src/parsers/template-extractor.ts","../src/parsers/ts.ts"],"names":["nodeStart","node","start","span","nodeEnd","end","getIdentifierName","type","name","hasDecorator","classNode","decoratorName","decorators","i","length","getDecoratorNameUnsafe","decorator","expr","expression","callee","direct","undefined","property","getDecoratorObjectArgUnsafe","args","arguments","first","hasObjectProperty","objectExpr","keyName","properties","prop","getKeyNameUnsafe","key","getObjectPropertyUnsafe","value","ident","matchesMemberExpression","objectName","propertyName","obj","object","getLiteralStringValueUnsafe","getLiteralBooleanValueUnsafe","NON_LITERAL","kind","MISSING","literal","ChangeDetectionStrategy","Default","OnPush","componentCache","WeakMap","cacheStats","hits","misses","getComponentCacheStats","resetComponentCacheStats","analyzeComponent","cached","get","resolveAngularDecoratorName","set","findDecoratorByName","metadata","buildComponentMetadata","isComp","metadataObject","className","id","selector","extractLiteralStringField","changeDetection","extractChangeDetection","standalone","extractStandalone","templateUrl","template","hostDirectives","extractHostDirectives","decoratorStart","field","elements","results","el","parsed","parseHostDirectiveElement","push","directive","inputs","outputs","dirNode","extractRenames","renames","parseRenameString","idx","indexOf","internal","external","slice","trim","isComponent","usesOnPush","component","cd","isStandalone","FOR_OF","FOR_TRACK","analyzeTemplate","htmlResult","expressions","attributes","blocks","offset","templateStartOffset","visit","children","child","visitAttributes","visitTextNode","visitBlock","rootNode","rootNodes","attrs","attr","attrOffset","valueSpan","sourceSpan","isBindingAttribute","parseAndAdd","tokens","extractInterpolationsFromTokens","extractInterpolationsManually","blockName","parameters","param","map","p","paramOffset","extractForBlockExpressions","token","parts","textValue","cursor","substring","includes","split","startsWith","endsWith","code","outcomes","ret","parseSync","sourceType","lang","program","body","stmt","err","message","Error","String","debug","toAngularClassStream","ANY_ANGULAR_DECORATORS","Set","toAnyAngularClassStream","has","toDecoratedPropertyStream","propertyNode","toCallExpressionStream","toNewExpressionStream","toImportDeclarationStream","parseCss","content","filePath","ok","runLightningCssTransform","error","result","transform","filename","Buffer","from","minify","sourceMap","parseHtml","runAngularHtmlParse","errors","parse","tokenizeAngularBlocks","NON_CHILD_KEYS","isTraversableNode","walkProgram","root","visitor","stack","pop","val","Array","isArray","EMPTY","startOffset","extractTemplateFromProgram","rawNode","extracted","call","objectArg","templateValue","quasis","q","raw","join","firstSpan","parseTs","runOxcParse"],"mappings":"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","file":"index.cjs","sourcesContent":["export const nodeStart = (t)=>t.start ?? t.span?.start ?? 0;\nexport const nodeEnd = (t)=>t.end ?? t.span?.end ?? 0;\n","export const getIdentifierName = (e)=>{\n if (e && 'Identifier' === e.type) return e.name;\n};\nexport const hasDecorator = (e, t)=>{\n let r = e.decorators;\n if (!r) return !1;\n for(let e = 0; e < r.length; e++)if (getDecoratorNameUnsafe(r[e]) === t) return !0;\n return !1;\n};\nexport const getDecoratorNameUnsafe = (e)=>{\n let t = e.expression;\n if (!t || 'CallExpression' !== t.type) return;\n let r = t.callee, n = getIdentifierName(r);\n return void 0 !== n ? n : 'MemberExpression' === r.type || 'StaticMemberExpression' === r.type ? getIdentifierName(r.property) : void 0;\n};\nexport const getDecoratorObjectArgUnsafe = (e)=>{\n let t = e.expression;\n if (!t || 'CallExpression' !== t.type) return;\n let r = t.arguments;\n if (!r || 0 === r.length) return;\n let n = r[0];\n return 'ObjectExpression' === n.type ? n : void 0;\n};\nexport const hasObjectProperty = (e, t)=>{\n let r = e.properties;\n if (!r) return !1;\n for(let e = 0; e < r.length; e++){\n let n = r[e];\n if (n && 'SpreadElement' !== n.type && getKeyNameUnsafe(n.key) === t) return !0;\n }\n return !1;\n};\nexport const getObjectPropertyUnsafe = (e, t)=>{\n let r = e.properties;\n if (r) for(let e = 0; e < r.length; e++){\n let n = r[e];\n if (n && 'SpreadElement' !== n.type && getKeyNameUnsafe(n.key) === t) return n.value;\n }\n};\nexport const getKeyNameUnsafe = (e)=>{\n if (!e) return;\n let t = getIdentifierName(e);\n return void 0 !== t ? t : ('StringLiteral' === e.type || 'Literal' === e.type) && 'string' == typeof e.value ? e.value : void 0;\n};\nexport const matchesMemberExpression = (e, t, r)=>{\n if (!e || 'MemberExpression' !== e.type && 'StaticMemberExpression' !== e.type || getIdentifierName(e.property) !== r) return !1;\n let n = e.object;\n return !!n && (getIdentifierName(n) === t || ('MemberExpression' === n.type || 'StaticMemberExpression' === n.type) && getIdentifierName(n.property) === t);\n};\nexport const getLiteralStringValueUnsafe = (e)=>{\n if (!e || 'StringLiteral' !== e.type && 'Literal' !== e.type) return;\n let t = e.value;\n return 'string' == typeof t ? t : void 0;\n};\nexport const getLiteralBooleanValueUnsafe = (e)=>{\n if (!e || 'BooleanLiteral' !== e.type && 'Literal' !== e.type) return;\n let t = e.value;\n return 'boolean' == typeof t ? t : void 0;\n};\n","import { getDecoratorNameUnsafe as e, getDecoratorObjectArgUnsafe as t, getIdentifierName as n, getLiteralBooleanValueUnsafe as r, getLiteralStringValueUnsafe as a, getObjectPropertyUnsafe as i, hasDecorator as l, matchesMemberExpression as o } from '../ast/matchers.js';\nimport { nodeStart as s } from '../ast/types.js';\nlet NON_LITERAL = {\n kind: 'non-literal'\n}, MISSING = {\n kind: 'missing'\n}, literal = (e)=>({\n kind: 'literal',\n value: e\n });\nexport const ChangeDetectionStrategy = {\n Default: 0,\n OnPush: 1\n};\nlet componentCache = new WeakMap(), cacheStats = {\n hits: 0,\n misses: 0\n};\nexport const getComponentCacheStats = ()=>({\n hits: cacheStats.hits,\n misses: cacheStats.misses\n });\nexport const resetComponentCacheStats = ()=>{\n cacheStats.hits = 0, cacheStats.misses = 0;\n};\nexport const analyzeComponent = (e)=>{\n let t = componentCache.get(e);\n if (void 0 !== t) return cacheStats.hits++, t;\n cacheStats.misses++;\n let n = resolveAngularDecoratorName(e);\n if (!n) return componentCache.set(e, null), null;\n let r = findDecoratorByName(e.decorators, n);\n if (!r) return componentCache.set(e, null), null;\n let a = buildComponentMetadata(e, r, n);\n return componentCache.set(e, a), a;\n};\nlet resolveAngularDecoratorName = (e)=>l(e, 'Component') ? 'Component' : l(e, 'Directive') ? 'Directive' : void 0, findDecoratorByName = (t, n)=>{\n for(let r = 0; r < t.length; r++)if (e(t[r]) === n) return t[r];\n}, buildComponentMetadata = (e, n, r)=>{\n let a = 'Component' === r, i = t(n);\n return {\n className: e.id?.name,\n selector: i ? extractLiteralStringField(i, 'selector') : MISSING,\n changeDetection: a && i ? extractChangeDetection(i) : MISSING,\n standalone: i ? extractStandalone(i) : MISSING,\n templateUrl: a && i ? extractLiteralStringField(i, 'templateUrl') : MISSING,\n template: a && i ? extractLiteralStringField(i, 'template') : MISSING,\n hostDirectives: i ? extractHostDirectives(i) : MISSING,\n decoratorStart: s(n),\n type: r\n };\n}, extractLiteralStringField = (e, t)=>{\n let n = i(e, t);\n if (!n) return MISSING;\n let r = a(n);\n return void 0 !== r ? literal(r) : NON_LITERAL;\n}, extractStandalone = (e)=>{\n let t = i(e, 'standalone');\n if (!t) return MISSING;\n let n = r(t);\n return void 0 !== n ? literal(n) : NON_LITERAL;\n}, extractChangeDetection = (e)=>{\n let t = i(e, 'changeDetection');\n if (!t) return MISSING;\n let r = n(t);\n return 'OnPush' === r ? literal(ChangeDetectionStrategy.OnPush) : 'Default' === r ? literal(ChangeDetectionStrategy.Default) : void 0 !== r ? NON_LITERAL : o(t, 'ChangeDetectionStrategy', 'OnPush') ? literal(ChangeDetectionStrategy.OnPush) : o(t, 'ChangeDetectionStrategy', 'Default') ? literal(ChangeDetectionStrategy.Default) : NON_LITERAL;\n}, extractHostDirectives = (e)=>{\n let t = i(e, 'hostDirectives');\n if (!t) return MISSING;\n if ('ArrayExpression' !== t.type) return NON_LITERAL;\n let n = t.elements, r = [];\n for(let e = 0; e < n.length; e++){\n let t = n[e];\n if (!t) continue;\n let a = parseHostDirectiveElement(t);\n a && r.push(a);\n }\n return literal(r);\n}, parseHostDirectiveElement = (e)=>{\n let t = n(e);\n if (void 0 !== t) return {\n directive: t,\n inputs: [],\n outputs: []\n };\n if ('ObjectExpression' === e.type) {\n let t = i(e, 'directive');\n return {\n directive: t ? n(t) : void 0,\n inputs: extractRenames(i(e, 'inputs')),\n outputs: extractRenames(i(e, 'outputs'))\n };\n }\n return null;\n}, extractRenames = (e)=>{\n if (!e || 'ArrayExpression' !== e.type) return [];\n let t = e.elements, n = [];\n for(let e = 0; e < t.length; e++){\n let r = t[e];\n if (!r) continue;\n let i = a(r);\n i && n.push(parseRenameString(i));\n }\n return n;\n}, parseRenameString = (e)=>{\n let t = e.indexOf(':');\n return -1 === t ? {\n internal: e,\n external: e\n } : {\n internal: e.slice(0, t).trim(),\n external: e.slice(t + 1).trim()\n };\n};\nexport const isComponent = (e)=>null !== analyzeComponent(e);\nexport const usesOnPush = (e)=>{\n let t = analyzeComponent(e);\n if (!t) return !1;\n let n = t.changeDetection;\n return 'literal' === n.kind && n.value === ChangeDetectionStrategy.OnPush;\n};\nexport const isStandalone = (e)=>{\n let t = analyzeComponent(e);\n if (!t) return !1;\n let n = t.standalone;\n return 'literal' === n.kind && !0 === n.value;\n};\n","import { parseSync as e } from 'oxc-parser';\nimport { debug as t } from '@ngcompass/common';\nlet FOR_OF = ' of ', FOR_TRACK = ' track ';\nexport const analyzeTemplate = (e)=>{\n let t = [], s = [], r = [], n = e.templateStartOffset, o = (e)=>{\n if (e) {\n if (e.children) for (let t of e.children)o(t);\n visitAttributes(e, s, t, n), visitTextNode(e, t, n), visitBlock(e, r, t, n);\n }\n };\n for (let t of e.rootNodes)o(t);\n return {\n expressions: t,\n attributes: s,\n blocks: r\n };\n};\nlet visitAttributes = (e, t, s, r)=>{\n if (e.attrs) for (let n of e.attrs){\n let e = n.name, o = n.value, a = (n.valueSpan?.start?.offset ?? 0) + r;\n t.push({\n name: e,\n value: o,\n sourceSpan: {\n start: (n.sourceSpan?.start?.offset ?? 0) + r,\n end: (n.sourceSpan?.end?.offset ?? 0) + r\n }\n }), o && isBindingAttribute(e) && parseAndAdd(o, a, s);\n }\n}, visitTextNode = (e, t, s)=>{\n ('text' === e.kind || 'text' === e.type || e.constructor?.name === 'Text') && e.value && (e.tokens ? extractInterpolationsFromTokens(e, t, s) : extractInterpolationsManually(e, t, s));\n}, visitBlock = (e, t, s, r)=>{\n if ('block' !== e.kind && e.constructor?.name !== 'Block') return;\n let n = e.name ?? '', o = e.parameters ?? [];\n for (let a of (t.push({\n name: n,\n parameters: o.map((e)=>({\n expression: e.expression ?? '',\n sourceSpan: {\n start: (e.sourceSpan?.start?.offset ?? 0) + r,\n end: (e.sourceSpan?.end?.offset ?? 0) + r\n }\n })),\n sourceSpan: {\n start: (e.sourceSpan?.start?.offset ?? 0) + r,\n end: (e.sourceSpan?.end?.offset ?? 0) + r\n }\n }), o)){\n if (!a.expression) continue;\n let e = (a.sourceSpan?.start?.offset ?? 0) + r;\n 'for' === n ? extractForBlockExpressions(a.expression, e, s) : parseAndAdd(a.expression, e, s);\n }\n}, extractInterpolationsFromTokens = (e, t, s)=>{\n if (e.tokens) for (let r of e.tokens){\n if (8 === r.type && r.parts?.length === 3) parseAndAdd(r.parts[1], r.sourceSpan.start.offset + r.parts[0].length + s, t);\n }\n}, extractInterpolationsManually = (e, t, s)=>{\n let r = e.value ?? '', n = (e.sourceSpan?.start?.offset ?? 0) + s, o = 0, a = r.indexOf('{{', o);\n for(; -1 !== a;){\n let e = r.indexOf('}}', a + 2);\n if (-1 === e) break;\n parseAndAdd(r.substring(a + 2, e), n + a + 2, t), o = e + 2, a = r.indexOf('{{', o);\n }\n}, extractForBlockExpressions = (e, t, s)=>{\n e.includes(FOR_TRACK) ? parseAndAdd(e.split(FOR_TRACK)[1], t + e.indexOf(FOR_TRACK) + FOR_TRACK.length, s) : e.startsWith('track ') && parseAndAdd(e.substring(6), t + 6, s), e.includes(FOR_OF) && parseAndAdd(e.split(FOR_OF)[1].split(';')[0], t + e.indexOf(FOR_OF) + FOR_OF.length, s);\n}, isBindingAttribute = (e)=>e.startsWith('*') || e.startsWith('[') && e.endsWith(']') || e.startsWith('bind-'), parseAndAdd = (s, r, n)=>{\n if (s.trim()) try {\n let t = e('template.ts', `(${s})`, {\n sourceType: 'module',\n lang: 'ts'\n });\n if (0 === t.program.body.length) return;\n let o = t.program.body[0];\n if ('ExpressionStatement' !== o.type || !o.expression) return;\n let a = o.expression;\n 'ParenthesizedExpression' === a.type && a.expression && (a = a.expression), n.push({\n expression: a,\n sourceSpan: {\n start: r,\n end: r + s.length\n }\n });\n } catch (r) {\n let e = r instanceof Error ? r.message : String(r);\n t('parser', `Skipping unparsable template fragment \"${s}\": ${e}`);\n }\n};\n","import { analyzeComponent as t } from './analyzers/component-analyzer.js';\nimport { getDecoratorNameUnsafe as e } from './ast/matchers.js';\nimport { nodeStart as r } from './ast/types.js';\nexport const toAngularClassStream = (e)=>{\n let r = t(e);\n return r ? {\n node: e,\n metadata: r\n } : null;\n};\nlet ANY_ANGULAR_DECORATORS = new Set([\n 'Component',\n 'Directive',\n 'Pipe',\n 'Injectable',\n 'NgModule'\n]);\nexport const toAnyAngularClassStream = (t)=>{\n let o = t.decorators;\n if (!o) return null;\n for(let n = 0; n < o.length; n++){\n let a = o[n], l = e(a);\n if (l && ANY_ANGULAR_DECORATORS.has(l)) return {\n node: t,\n decoratorName: l,\n className: t.id?.name,\n decoratorStart: r(a)\n };\n }\n return null;\n};\nexport const toDecoratedPropertyStream = (t)=>{\n let e = t.decorators;\n return e && 0 !== e.length ? {\n node: t,\n decorators: e\n } : null;\n};\nexport const toCallExpressionStream = (t)=>t;\nexport const toNewExpressionStream = (t)=>t;\nexport const toImportDeclarationStream = (t)=>t;\n","import { transform as r } from 'lightningcss';\nexport const parseCss = (r, e)=>{\n try {\n let n = runLightningCssTransform(r, e);\n return {\n ok: !0,\n ...n\n };\n } catch (r) {\n return {\n ok: !1,\n error: r\n };\n }\n};\nlet runLightningCssTransform = (e, n)=>{\n let o = r({\n filename: n,\n code: Buffer.from(e),\n minify: !1,\n sourceMap: !1\n });\n return {\n code: o.code,\n map: o.map\n };\n};\n","import { parse as r } from 'angular-html-parser';\nexport const parseHtml = (r, e = 0)=>{\n let o = runAngularHtmlParse(r);\n return {\n rootNodes: o.rootNodes,\n errors: o.errors,\n templateStartOffset: e\n };\n};\nlet runAngularHtmlParse = (e)=>r(e, {\n tokenizeAngularBlocks: !0\n });\n","let NON_CHILD_KEYS = new Set([\n 'parent',\n 'span',\n 'loc',\n 'range',\n 'start',\n 'end',\n 'type'\n]);\nfunction isTraversableNode(e) {\n return 'object' == typeof e && null !== e && 'string' == typeof e.type;\n}\nexport function walkProgram(e, t) {\n if (!e) return;\n let r = [\n e\n ];\n for(; r.length > 0;){\n let e = r.pop();\n if (!e || !1 === t(e)) continue;\n let n = [];\n for(let t in e){\n if (NON_CHILD_KEYS.has(t)) continue;\n let r = e[t];\n if (r && 'object' == typeof r) if (Array.isArray(r)) for(let e = 0; e < r.length; e++){\n let t = r[e];\n isTraversableNode(t) && n.push(t);\n }\n else isTraversableNode(r) && n.push(r);\n }\n for(let e = n.length - 1; e >= 0; e--)r.push(n[e]);\n }\n}\n","import { walkProgram as t } from '../visitor.js';\nlet EMPTY = {\n content: '',\n startOffset: 0\n};\nexport function extractTemplateFromProgram(e) {\n let r = EMPTY;\n return t(e, (t)=>{\n if (r.content) return !1;\n if ('ClassDeclaration' !== t.type || !Array.isArray(t.decorators)) return;\n let e = function(t) {\n let e = t.decorators;\n if (!e) return null;\n for (let t of e){\n let e = t?.expression;\n if (!e || 'CallExpression' !== e.type) continue;\n let r = e.callee;\n if (!r || 'Identifier' !== r.type || 'Component' !== r.name) continue;\n let n = e.arguments, a = n?.[0];\n if (!a || 'ObjectExpression' !== a.type) continue;\n let i = function(t, e) {\n if (!Array.isArray(t)) return null;\n for (let r of t){\n let t = r?.key, n = r?.value;\n if (t && n && (t.name ?? t.value) === e) return n;\n }\n return null;\n }(a.properties, 'template');\n if (i) return function(t) {\n if (!t) return EMPTY;\n if ('StringLiteral' === t.type || 'Literal' === t.type) {\n let e = t.span, r = t.start ?? e?.start ?? 0;\n return {\n content: t.value ?? '',\n startOffset: r + 1\n };\n }\n if ('TemplateLiteral' === t.type) {\n let e = t.quasis ?? [], r = e.map((t)=>{\n let e = t.value;\n return e?.raw ?? '';\n }).join(''), n = e[0]?.span;\n return {\n content: r,\n startOffset: (e[0]?.start ?? n?.start ?? 0) + 1\n };\n }\n return EMPTY;\n }(i);\n }\n return null;\n }(t);\n if (e) return r = e, !1;\n }), r;\n}\n","import { parseSync as r } from 'oxc-parser';\nexport const parseTs = (r, e)=>{\n let o = runOxcParse(e, r);\n return {\n program: o.program,\n errors: o.errors\n };\n};\nlet runOxcParse = (e, o)=>r(e, o, {\n sourceType: 'module',\n lang: 'tsx'\n });\n"]} |
+7
-1
@@ -100,2 +100,7 @@ import { Program } from 'oxc-parser'; | ||
| } | ||
| interface ImportDeclaration extends Node { | ||
| readonly type: 'ImportDeclaration'; | ||
| readonly source: StringLiteral; | ||
| readonly specifiers?: ReadonlyArray<Node>; | ||
| } | ||
| interface ClassDeclaration extends Node { | ||
@@ -246,2 +251,3 @@ readonly type: 'ClassDeclaration'; | ||
| declare const toNewExpressionStream: (node: NewExpression) => NewExpression; | ||
| declare const toImportDeclarationStream: (node: ImportDeclaration) => ImportDeclaration; | ||
@@ -288,2 +294,2 @@ interface HtmlParserResult { | ||
| export { type AngularClassNode, type AnyAngularClassNode, type ArrayExpression, type ArrowFunctionExpression, type AssignmentExpression, type BlockStatement, type BooleanLiteral, type CallExpression, ChangeDetectionStrategy, type ClassBody, type ClassDeclaration, type ComponentMetadata, type CssParserResult, type CssResult, type DecoratedPropertyNode, type Decorator, type Expression, type ExpressionStatement, type ExtractedTemplate, type FunctionExpression, type HtmlParserResult, type Identifier, type IfStatement, type LiteralValue, type MemberExpression, type MetadataValue, type MethodDefinition, type MissingValue, type NewExpression, type Node, type NonLiteralValue, type ObjectExpression, type ObjectProperty, type PropertyDefinition, type ReturnStatement, type SpreadElement, type StringLiteral, type TemplateAnalysis, type TemplateAttributeNode, type TemplateBlock, type TemplateBlockNode, type TemplateBlockParameter, type TemplateExpressionNode, type TsParserResult, type UpdateExpression, analyzeComponent, analyzeTemplate, extractTemplateFromProgram, getComponentCacheStats, getDecoratorNameUnsafe, getDecoratorObjectArgUnsafe, getIdentifierName, getKeyNameUnsafe, getLiteralBooleanValueUnsafe, getLiteralStringValueUnsafe, getObjectPropertyUnsafe, hasDecorator, hasObjectProperty, isComponent, isStandalone, matchesMemberExpression, nodeEnd, nodeStart, parseCss, parseHtml, parseTs, resetComponentCacheStats, toAngularClassStream, toAnyAngularClassStream, toCallExpressionStream, toDecoratedPropertyStream, toNewExpressionStream, usesOnPush, walkProgram }; | ||
| export { type AngularClassNode, type AnyAngularClassNode, type ArrayExpression, type ArrowFunctionExpression, type AssignmentExpression, type BlockStatement, type BooleanLiteral, type CallExpression, ChangeDetectionStrategy, type ClassBody, type ClassDeclaration, type ComponentMetadata, type CssParserResult, type CssResult, type DecoratedPropertyNode, type Decorator, type Expression, type ExpressionStatement, type ExtractedTemplate, type FunctionExpression, type HtmlParserResult, type Identifier, type IfStatement, type ImportDeclaration, type LiteralValue, type MemberExpression, type MetadataValue, type MethodDefinition, type MissingValue, type NewExpression, type Node, type NonLiteralValue, type ObjectExpression, type ObjectProperty, type PropertyDefinition, type ReturnStatement, type SpreadElement, type StringLiteral, type TemplateAnalysis, type TemplateAttributeNode, type TemplateBlock, type TemplateBlockNode, type TemplateBlockParameter, type TemplateExpressionNode, type TsParserResult, type UpdateExpression, analyzeComponent, analyzeTemplate, extractTemplateFromProgram, getComponentCacheStats, getDecoratorNameUnsafe, getDecoratorObjectArgUnsafe, getIdentifierName, getKeyNameUnsafe, getLiteralBooleanValueUnsafe, getLiteralStringValueUnsafe, getObjectPropertyUnsafe, hasDecorator, hasObjectProperty, isComponent, isStandalone, matchesMemberExpression, nodeEnd, nodeStart, parseCss, parseHtml, parseTs, resetComponentCacheStats, toAngularClassStream, toAnyAngularClassStream, toCallExpressionStream, toDecoratedPropertyStream, toImportDeclarationStream, toNewExpressionStream, usesOnPush, walkProgram }; |
+7
-1
@@ -100,2 +100,7 @@ import { Program } from 'oxc-parser'; | ||
| } | ||
| interface ImportDeclaration extends Node { | ||
| readonly type: 'ImportDeclaration'; | ||
| readonly source: StringLiteral; | ||
| readonly specifiers?: ReadonlyArray<Node>; | ||
| } | ||
| interface ClassDeclaration extends Node { | ||
@@ -246,2 +251,3 @@ readonly type: 'ClassDeclaration'; | ||
| declare const toNewExpressionStream: (node: NewExpression) => NewExpression; | ||
| declare const toImportDeclarationStream: (node: ImportDeclaration) => ImportDeclaration; | ||
@@ -288,2 +294,2 @@ interface HtmlParserResult { | ||
| export { type AngularClassNode, type AnyAngularClassNode, type ArrayExpression, type ArrowFunctionExpression, type AssignmentExpression, type BlockStatement, type BooleanLiteral, type CallExpression, ChangeDetectionStrategy, type ClassBody, type ClassDeclaration, type ComponentMetadata, type CssParserResult, type CssResult, type DecoratedPropertyNode, type Decorator, type Expression, type ExpressionStatement, type ExtractedTemplate, type FunctionExpression, type HtmlParserResult, type Identifier, type IfStatement, type LiteralValue, type MemberExpression, type MetadataValue, type MethodDefinition, type MissingValue, type NewExpression, type Node, type NonLiteralValue, type ObjectExpression, type ObjectProperty, type PropertyDefinition, type ReturnStatement, type SpreadElement, type StringLiteral, type TemplateAnalysis, type TemplateAttributeNode, type TemplateBlock, type TemplateBlockNode, type TemplateBlockParameter, type TemplateExpressionNode, type TsParserResult, type UpdateExpression, analyzeComponent, analyzeTemplate, extractTemplateFromProgram, getComponentCacheStats, getDecoratorNameUnsafe, getDecoratorObjectArgUnsafe, getIdentifierName, getKeyNameUnsafe, getLiteralBooleanValueUnsafe, getLiteralStringValueUnsafe, getObjectPropertyUnsafe, hasDecorator, hasObjectProperty, isComponent, isStandalone, matchesMemberExpression, nodeEnd, nodeStart, parseCss, parseHtml, parseTs, resetComponentCacheStats, toAngularClassStream, toAnyAngularClassStream, toCallExpressionStream, toDecoratedPropertyStream, toNewExpressionStream, usesOnPush, walkProgram }; | ||
| export { type AngularClassNode, type AnyAngularClassNode, type ArrayExpression, type ArrowFunctionExpression, type AssignmentExpression, type BlockStatement, type BooleanLiteral, type CallExpression, ChangeDetectionStrategy, type ClassBody, type ClassDeclaration, type ComponentMetadata, type CssParserResult, type CssResult, type DecoratedPropertyNode, type Decorator, type Expression, type ExpressionStatement, type ExtractedTemplate, type FunctionExpression, type HtmlParserResult, type Identifier, type IfStatement, type ImportDeclaration, type LiteralValue, type MemberExpression, type MetadataValue, type MethodDefinition, type MissingValue, type NewExpression, type Node, type NonLiteralValue, type ObjectExpression, type ObjectProperty, type PropertyDefinition, type ReturnStatement, type SpreadElement, type StringLiteral, type TemplateAnalysis, type TemplateAttributeNode, type TemplateBlock, type TemplateBlockNode, type TemplateBlockParameter, type TemplateExpressionNode, type TsParserResult, type UpdateExpression, analyzeComponent, analyzeTemplate, extractTemplateFromProgram, getComponentCacheStats, getDecoratorNameUnsafe, getDecoratorObjectArgUnsafe, getIdentifierName, getKeyNameUnsafe, getLiteralBooleanValueUnsafe, getLiteralStringValueUnsafe, getObjectPropertyUnsafe, hasDecorator, hasObjectProperty, isComponent, isStandalone, matchesMemberExpression, nodeEnd, nodeStart, parseCss, parseHtml, parseTs, resetComponentCacheStats, toAngularClassStream, toAnyAngularClassStream, toCallExpressionStream, toDecoratedPropertyStream, toImportDeclarationStream, toNewExpressionStream, usesOnPush, walkProgram }; |
+1
-1
@@ -1,2 +0,2 @@ | ||
| import {parseSync}from'oxc-parser';import {debug}from'@ngcompass/common';import {transform}from'lightningcss';import {parse}from'angular-html-parser';var D=e=>e.start??e.span?.start??0,ve=e=>e.end??e.span?.end??0;var p=e=>{if(e&&e.type==="Identifier")return e.name},P=(e,t)=>{let r=e.decorators;if(!r)return false;for(let n=0;n<r.length;n++)if(C(r[n])===t)return true;return false},C=e=>{let t=e.expression;if(!t||t.type!=="CallExpression")return;let r=t.callee,n=p(r);return n!==void 0?n:r.type==="MemberExpression"||r.type==="StaticMemberExpression"?p(r.property):void 0},B=e=>{let t=e.expression;if(!t||t.type!=="CallExpression")return;let r=t.arguments;if(!r||r.length===0)return;let n=r[0];return n.type==="ObjectExpression"?n:void 0},be=(e,t)=>{let r=e.properties;if(!r)return false;for(let n=0;n<r.length;n++){let o=r[n];if(o&&o.type!=="SpreadElement"&&R(o.key)===t)return true}return false},f=(e,t)=>{let r=e.properties;if(r)for(let n=0;n<r.length;n++){let o=r[n];if(o&&o.type!=="SpreadElement"&&R(o.key)===t)return o.value}},R=e=>{if(!e)return;let t=p(e);return t!==void 0?t:(e.type==="StringLiteral"||e.type==="Literal")&&typeof e.value=="string"?e.value:void 0},L=(e,t,r)=>{if(!e||e.type!=="MemberExpression"&&e.type!=="StaticMemberExpression"||p(e.property)!==r)return false;let n=e.object;return !!n&&(p(n)===t||(n.type==="MemberExpression"||n.type==="StaticMemberExpression")&&p(n.property)===t)},T=e=>{if(!e||e.type!=="StringLiteral"&&e.type!=="Literal")return;let t=e.value;return typeof t=="string"?t:void 0},w=e=>{if(!e||e.type!=="BooleanLiteral"&&e.type!=="Literal")return;let t=e.value;return typeof t=="boolean"?t:void 0};var b={kind:"non-literal"},u={kind:"missing"},m=e=>({kind:"literal",value:e}),y={Default:0,OnPush:1},k=new WeakMap,h={hits:0,misses:0},W=()=>({hits:h.hits,misses:h.misses}),H=()=>{h.hits=0,h.misses=0;},S=e=>{let t=k.get(e);if(t!==void 0)return h.hits++,t;h.misses++;let r=V(e);if(!r)return k.set(e,null),null;let n=K(e.decorators,r);if(!n)return k.set(e,null),null;let o=Y(e,n,r);return k.set(e,o),o},V=e=>P(e,"Component")?"Component":P(e,"Directive")?"Directive":void 0,K=(e,t)=>{for(let r=0;r<e.length;r++)if(C(e[r])===t)return e[r]},Y=(e,t,r)=>{let n=r==="Component",o=B(t);return {className:e.id?.name,selector:o?M(o,"selector"):u,changeDetection:n&&o?G(o):u,standalone:o?$(o):u,templateUrl:n&&o?M(o,"templateUrl"):u,template:n&&o?M(o,"template"):u,hostDirectives:o?q(o):u,decoratorStart:D(t),type:r}},M=(e,t)=>{let r=f(e,t);if(!r)return u;let n=T(r);return n!==void 0?m(n):b},$=e=>{let t=f(e,"standalone");if(!t)return u;let r=w(t);return r!==void 0?m(r):b},G=e=>{let t=f(e,"changeDetection");if(!t)return u;let r=p(t);return r==="OnPush"?m(y.OnPush):r==="Default"?m(y.Default):r!==void 0?b:L(t,"ChangeDetectionStrategy","OnPush")?m(y.OnPush):L(t,"ChangeDetectionStrategy","Default")?m(y.Default):b},q=e=>{let t=f(e,"hostDirectives");if(!t)return u;if(t.type!=="ArrayExpression")return b;let r=t.elements,n=[];for(let o=0;o<r.length;o++){let a=r[o];if(!a)continue;let s=J(a);s&&n.push(s);}return m(n)},J=e=>{let t=p(e);if(t!==void 0)return {directive:t,inputs:[],outputs:[]};if(e.type==="ObjectExpression"){let r=f(e,"directive");return {directive:r?p(r):void 0,inputs:z(f(e,"inputs")),outputs:z(f(e,"outputs"))}}return null},z=e=>{if(!e||e.type!=="ArrayExpression")return [];let t=e.elements,r=[];for(let n=0;n<t.length;n++){let o=t[n];if(!o)continue;let a=T(o);a&&r.push(Q(a));}return r},Q=e=>{let t=e.indexOf(":");return t===-1?{internal:e,external:e}:{internal:e.slice(0,t).trim(),external:e.slice(t+1).trim()}},X=e=>S(e)!==null,Z=e=>{let t=S(e);if(!t)return false;let r=t.changeDetection;return r.kind==="literal"&&r.value===y.OnPush},ee=e=>{let t=S(e);if(!t)return false;let r=t.standalone;return r.kind==="literal"&&r.value===true};var E=" of ",A=" track ",ne=e=>{let t=[],r=[],n=[],o=e.templateStartOffset,a=s=>{if(s){if(s.children)for(let i of s.children)a(i);oe(s,r,t,o),se(s,t,o),ae(s,n,t,o);}};for(let s of e.rootNodes)a(s);return {expressions:t,attributes:r,blocks:n}},oe=(e,t,r,n)=>{if(e.attrs)for(let o of e.attrs){let a=o.name,s=o.value,i=(o.valueSpan?.start?.offset??0)+n;t.push({name:a,value:s,sourceSpan:{start:(o.sourceSpan?.start?.offset??0)+n,end:(o.sourceSpan?.end?.offset??0)+n}}),s&&ue(a)&&d(s,i,r);}},se=(e,t,r)=>{(e.kind==="text"||e.type==="text"||e.constructor?.name==="Text")&&e.value&&(e.tokens?ie(e,t,r):le(e,t,r));},ae=(e,t,r,n)=>{if(e.kind!=="block"&&e.constructor?.name!=="Block")return;let o=e.name??"",a=e.parameters??[];for(let s of(t.push({name:o,parameters:a.map(i=>({expression:i.expression??"",sourceSpan:{start:(i.sourceSpan?.start?.offset??0)+n,end:(i.sourceSpan?.end?.offset??0)+n}})),sourceSpan:{start:(e.sourceSpan?.start?.offset??0)+n,end:(e.sourceSpan?.end?.offset??0)+n}}),a)){if(!s.expression)continue;let i=(s.sourceSpan?.start?.offset??0)+n;o==="for"?pe(s.expression,i,r):d(s.expression,i,r);}},ie=(e,t,r)=>{if(e.tokens)for(let n of e.tokens)n.type===8&&n.parts?.length===3&&d(n.parts[1],n.sourceSpan.start.offset+n.parts[0].length+r,t);},le=(e,t,r)=>{let n=e.value??"",o=(e.sourceSpan?.start?.offset??0)+r,a=0,s=n.indexOf("{{",a);for(;s!==-1;){let i=n.indexOf("}}",s+2);if(i===-1)break;d(n.substring(s+2,i),o+s+2,t),a=i+2,s=n.indexOf("{{",a);}},pe=(e,t,r)=>{e.includes(A)?d(e.split(A)[1],t+e.indexOf(A)+A.length,r):e.startsWith("track ")&&d(e.substring(6),t+6,r),e.includes(E)&&d(e.split(E)[1].split(";")[0],t+e.indexOf(E)+E.length,r);},ue=e=>e.startsWith("*")||e.startsWith("[")&&e.endsWith("]")||e.startsWith("bind-"),d=(e,t,r)=>{if(e.trim())try{let n=parseSync("template.ts",`(${e})`,{sourceType:"module",lang:"ts"});if(n.program.body.length===0)return;let o=n.program.body[0];if(o.type!=="ExpressionStatement"||!o.expression)return;let a=o.expression;a.type==="ParenthesizedExpression"&&a.expression&&(a=a.expression),r.push({expression:a,sourceSpan:{start:t,end:t+e.length}});}catch(n){let o=n instanceof Error?n.message:String(n);debug("parser",`Skipping unparsable template fragment "${e}": ${o}`);}};var Be=e=>{let t=S(e);return t?{node:e,metadata:t}:null},fe=new Set(["Component","Directive","Pipe","Injectable","NgModule"]),Re=e=>{let t=e.decorators;if(!t)return null;for(let r=0;r<t.length;r++){let n=t[r],o=C(n);if(o&&fe.has(o))return {node:e,decoratorName:o,className:e.id?.name,decoratorStart:D(n)}}return null},we=e=>{let t=e.decorators;return t&&t.length!==0?{node:e,decorators:t}:null},ze=e=>e,Fe=e=>e;var He=(e,t)=>{try{return {ok:!0,...me(e,t)}}catch(r){return {ok:false,error:r}}},me=(e,t)=>{let r=transform({filename:t,code:Buffer.from(e),minify:false,sourceMap:false});return {code:r.code,map:r.map}};var Ye=(e,t=0)=>{let r=xe(e);return {rootNodes:r.rootNodes,errors:r.errors,templateStartOffset:t}},xe=e=>parse(e,{tokenizeAngularBlocks:true});var ge=new Set(["parent","span","loc","range","start","end","type"]);function F(e){return typeof e=="object"&&e!==null&&typeof e.type=="string"}function U(e,t){if(!e)return;let r=[e];for(;r.length>0;){let n=r.pop();if(!n||t(n)===false)continue;let o=[];for(let a in n){if(ge.has(a))continue;let s=n[a];if(s&&typeof s=="object")if(Array.isArray(s))for(let i=0;i<s.length;i++){let x=s[i];F(x)&&o.push(x);}else F(s)&&o.push(s);}for(let a=o.length-1;a>=0;a--)r.push(o[a]);}}var j={content:"",startOffset:0};function Je(e){let t=j;return U(e,r=>{if(t.content)return false;if(r.type!=="ClassDeclaration"||!Array.isArray(r.decorators))return;let n=(function(o){let a=o.decorators;if(!a)return null;for(let s of a){let i=s?.expression;if(!i||i.type!=="CallExpression")continue;let x=i.callee;if(!x||x.type!=="Identifier"||x.name!=="Component")continue;let _=i.arguments,N=_?.[0];if(!N||N.type!=="ObjectExpression")continue;let I=(function(l,c){if(!Array.isArray(l))return null;for(let g of l){let v=g?.key,O=g?.value;if(v&&O&&(v.name??v.value)===c)return O}return null})(N.properties,"template");if(I)return (function(l){if(!l)return j;if(l.type==="StringLiteral"||l.type==="Literal"){let c=l.span,g=l.start??c?.start??0;return {content:l.value??"",startOffset:g+1}}if(l.type==="TemplateLiteral"){let c=l.quasis??[],g=c.map(O=>O.value?.raw??"").join(""),v=c[0]?.span;return {content:g,startOffset:(c[0]?.start??v?.start??0)+1}}return j})(I)}return null})(r);if(n)return t=n,false}),t}var Ze=(e,t)=>{let r=he(t,e);return {program:r.program,errors:r.errors}},he=(e,t)=>parseSync(e,t,{sourceType:"module",lang:"tsx"});export{y as ChangeDetectionStrategy,S as analyzeComponent,ne as analyzeTemplate,Je as extractTemplateFromProgram,W as getComponentCacheStats,C as getDecoratorNameUnsafe,B as getDecoratorObjectArgUnsafe,p as getIdentifierName,R as getKeyNameUnsafe,w as getLiteralBooleanValueUnsafe,T as getLiteralStringValueUnsafe,f as getObjectPropertyUnsafe,P as hasDecorator,be as hasObjectProperty,X as isComponent,ee as isStandalone,L as matchesMemberExpression,ve as nodeEnd,D as nodeStart,He as parseCss,Ye as parseHtml,Ze as parseTs,H as resetComponentCacheStats,Be as toAngularClassStream,Re as toAnyAngularClassStream,ze as toCallExpressionStream,we as toDecoratedPropertyStream,Fe as toNewExpressionStream,Z as usesOnPush,U as walkProgram};//# sourceMappingURL=index.js.map | ||
| import {parseSync}from'oxc-parser';import {debug}from'@ngcompass/common';import {transform}from'lightningcss';import {parse}from'angular-html-parser';var D=e=>e.start??e.span?.start??0,ve=e=>e.end??e.span?.end??0;var p=e=>{if(e&&e.type==="Identifier")return e.name},P=(e,t)=>{let r=e.decorators;if(!r)return false;for(let n=0;n<r.length;n++)if(C(r[n])===t)return true;return false},C=e=>{let t=e.expression;if(!t||t.type!=="CallExpression")return;let r=t.callee,n=p(r);return n!==void 0?n:r.type==="MemberExpression"||r.type==="StaticMemberExpression"?p(r.property):void 0},B=e=>{let t=e.expression;if(!t||t.type!=="CallExpression")return;let r=t.arguments;if(!r||r.length===0)return;let n=r[0];return n.type==="ObjectExpression"?n:void 0},be=(e,t)=>{let r=e.properties;if(!r)return false;for(let n=0;n<r.length;n++){let o=r[n];if(o&&o.type!=="SpreadElement"&&R(o.key)===t)return true}return false},f=(e,t)=>{let r=e.properties;if(r)for(let n=0;n<r.length;n++){let o=r[n];if(o&&o.type!=="SpreadElement"&&R(o.key)===t)return o.value}},R=e=>{if(!e)return;let t=p(e);return t!==void 0?t:(e.type==="StringLiteral"||e.type==="Literal")&&typeof e.value=="string"?e.value:void 0},L=(e,t,r)=>{if(!e||e.type!=="MemberExpression"&&e.type!=="StaticMemberExpression"||p(e.property)!==r)return false;let n=e.object;return !!n&&(p(n)===t||(n.type==="MemberExpression"||n.type==="StaticMemberExpression")&&p(n.property)===t)},T=e=>{if(!e||e.type!=="StringLiteral"&&e.type!=="Literal")return;let t=e.value;return typeof t=="string"?t:void 0},w=e=>{if(!e||e.type!=="BooleanLiteral"&&e.type!=="Literal")return;let t=e.value;return typeof t=="boolean"?t:void 0};var b={kind:"non-literal"},u={kind:"missing"},m=e=>({kind:"literal",value:e}),y={Default:0,OnPush:1},k=new WeakMap,h={hits:0,misses:0},W=()=>({hits:h.hits,misses:h.misses}),H=()=>{h.hits=0,h.misses=0;},S=e=>{let t=k.get(e);if(t!==void 0)return h.hits++,t;h.misses++;let r=V(e);if(!r)return k.set(e,null),null;let n=K(e.decorators,r);if(!n)return k.set(e,null),null;let o=Y(e,n,r);return k.set(e,o),o},V=e=>P(e,"Component")?"Component":P(e,"Directive")?"Directive":void 0,K=(e,t)=>{for(let r=0;r<e.length;r++)if(C(e[r])===t)return e[r]},Y=(e,t,r)=>{let n=r==="Component",o=B(t);return {className:e.id?.name,selector:o?M(o,"selector"):u,changeDetection:n&&o?G(o):u,standalone:o?$(o):u,templateUrl:n&&o?M(o,"templateUrl"):u,template:n&&o?M(o,"template"):u,hostDirectives:o?q(o):u,decoratorStart:D(t),type:r}},M=(e,t)=>{let r=f(e,t);if(!r)return u;let n=T(r);return n!==void 0?m(n):b},$=e=>{let t=f(e,"standalone");if(!t)return u;let r=w(t);return r!==void 0?m(r):b},G=e=>{let t=f(e,"changeDetection");if(!t)return u;let r=p(t);return r==="OnPush"?m(y.OnPush):r==="Default"?m(y.Default):r!==void 0?b:L(t,"ChangeDetectionStrategy","OnPush")?m(y.OnPush):L(t,"ChangeDetectionStrategy","Default")?m(y.Default):b},q=e=>{let t=f(e,"hostDirectives");if(!t)return u;if(t.type!=="ArrayExpression")return b;let r=t.elements,n=[];for(let o=0;o<r.length;o++){let a=r[o];if(!a)continue;let s=J(a);s&&n.push(s);}return m(n)},J=e=>{let t=p(e);if(t!==void 0)return {directive:t,inputs:[],outputs:[]};if(e.type==="ObjectExpression"){let r=f(e,"directive");return {directive:r?p(r):void 0,inputs:z(f(e,"inputs")),outputs:z(f(e,"outputs"))}}return null},z=e=>{if(!e||e.type!=="ArrayExpression")return [];let t=e.elements,r=[];for(let n=0;n<t.length;n++){let o=t[n];if(!o)continue;let a=T(o);a&&r.push(Q(a));}return r},Q=e=>{let t=e.indexOf(":");return t===-1?{internal:e,external:e}:{internal:e.slice(0,t).trim(),external:e.slice(t+1).trim()}},X=e=>S(e)!==null,Z=e=>{let t=S(e);if(!t)return false;let r=t.changeDetection;return r.kind==="literal"&&r.value===y.OnPush},ee=e=>{let t=S(e);if(!t)return false;let r=t.standalone;return r.kind==="literal"&&r.value===true};var E=" of ",A=" track ",ne=e=>{let t=[],r=[],n=[],o=e.templateStartOffset,a=s=>{if(s){if(s.children)for(let i of s.children)a(i);oe(s,r,t,o),se(s,t,o),ae(s,n,t,o);}};for(let s of e.rootNodes)a(s);return {expressions:t,attributes:r,blocks:n}},oe=(e,t,r,n)=>{if(e.attrs)for(let o of e.attrs){let a=o.name,s=o.value,i=(o.valueSpan?.start?.offset??0)+n;t.push({name:a,value:s,sourceSpan:{start:(o.sourceSpan?.start?.offset??0)+n,end:(o.sourceSpan?.end?.offset??0)+n}}),s&&ue(a)&&d(s,i,r);}},se=(e,t,r)=>{(e.kind==="text"||e.type==="text"||e.constructor?.name==="Text")&&e.value&&(e.tokens?ie(e,t,r):le(e,t,r));},ae=(e,t,r,n)=>{if(e.kind!=="block"&&e.constructor?.name!=="Block")return;let o=e.name??"",a=e.parameters??[];for(let s of(t.push({name:o,parameters:a.map(i=>({expression:i.expression??"",sourceSpan:{start:(i.sourceSpan?.start?.offset??0)+n,end:(i.sourceSpan?.end?.offset??0)+n}})),sourceSpan:{start:(e.sourceSpan?.start?.offset??0)+n,end:(e.sourceSpan?.end?.offset??0)+n}}),a)){if(!s.expression)continue;let i=(s.sourceSpan?.start?.offset??0)+n;o==="for"?pe(s.expression,i,r):d(s.expression,i,r);}},ie=(e,t,r)=>{if(e.tokens)for(let n of e.tokens)n.type===8&&n.parts?.length===3&&d(n.parts[1],n.sourceSpan.start.offset+n.parts[0].length+r,t);},le=(e,t,r)=>{let n=e.value??"",o=(e.sourceSpan?.start?.offset??0)+r,a=0,s=n.indexOf("{{",a);for(;s!==-1;){let i=n.indexOf("}}",s+2);if(i===-1)break;d(n.substring(s+2,i),o+s+2,t),a=i+2,s=n.indexOf("{{",a);}},pe=(e,t,r)=>{e.includes(A)?d(e.split(A)[1],t+e.indexOf(A)+A.length,r):e.startsWith("track ")&&d(e.substring(6),t+6,r),e.includes(E)&&d(e.split(E)[1].split(";")[0],t+e.indexOf(E)+E.length,r);},ue=e=>e.startsWith("*")||e.startsWith("[")&&e.endsWith("]")||e.startsWith("bind-"),d=(e,t,r)=>{if(e.trim())try{let n=parseSync("template.ts",`(${e})`,{sourceType:"module",lang:"ts"});if(n.program.body.length===0)return;let o=n.program.body[0];if(o.type!=="ExpressionStatement"||!o.expression)return;let a=o.expression;a.type==="ParenthesizedExpression"&&a.expression&&(a=a.expression),r.push({expression:a,sourceSpan:{start:t,end:t+e.length}});}catch(n){let o=n instanceof Error?n.message:String(n);debug("parser",`Skipping unparsable template fragment "${e}": ${o}`);}};var Be=e=>{let t=S(e);return t?{node:e,metadata:t}:null},fe=new Set(["Component","Directive","Pipe","Injectable","NgModule"]),Re=e=>{let t=e.decorators;if(!t)return null;for(let r=0;r<t.length;r++){let n=t[r],o=C(n);if(o&&fe.has(o))return {node:e,decoratorName:o,className:e.id?.name,decoratorStart:D(n)}}return null},we=e=>{let t=e.decorators;return t&&t.length!==0?{node:e,decorators:t}:null},ze=e=>e,Fe=e=>e,_e=e=>e;var Ve=(e,t)=>{try{return {ok:!0,...me(e,t)}}catch(r){return {ok:false,error:r}}},me=(e,t)=>{let r=transform({filename:t,code:Buffer.from(e),minify:false,sourceMap:false});return {code:r.code,map:r.map}};var $e=(e,t=0)=>{let r=xe(e);return {rootNodes:r.rootNodes,errors:r.errors,templateStartOffset:t}},xe=e=>parse(e,{tokenizeAngularBlocks:true});var ge=new Set(["parent","span","loc","range","start","end","type"]);function F(e){return typeof e=="object"&&e!==null&&typeof e.type=="string"}function U(e,t){if(!e)return;let r=[e];for(;r.length>0;){let n=r.pop();if(!n||t(n)===false)continue;let o=[];for(let a in n){if(ge.has(a))continue;let s=n[a];if(s&&typeof s=="object")if(Array.isArray(s))for(let i=0;i<s.length;i++){let x=s[i];F(x)&&o.push(x);}else F(s)&&o.push(s);}for(let a=o.length-1;a>=0;a--)r.push(o[a]);}}var j={content:"",startOffset:0};function Qe(e){let t=j;return U(e,r=>{if(t.content)return false;if(r.type!=="ClassDeclaration"||!Array.isArray(r.decorators))return;let n=(function(o){let a=o.decorators;if(!a)return null;for(let s of a){let i=s?.expression;if(!i||i.type!=="CallExpression")continue;let x=i.callee;if(!x||x.type!=="Identifier"||x.name!=="Component")continue;let _=i.arguments,N=_?.[0];if(!N||N.type!=="ObjectExpression")continue;let I=(function(l,c){if(!Array.isArray(l))return null;for(let g of l){let v=g?.key,O=g?.value;if(v&&O&&(v.name??v.value)===c)return O}return null})(N.properties,"template");if(I)return (function(l){if(!l)return j;if(l.type==="StringLiteral"||l.type==="Literal"){let c=l.span,g=l.start??c?.start??0;return {content:l.value??"",startOffset:g+1}}if(l.type==="TemplateLiteral"){let c=l.quasis??[],g=c.map(O=>O.value?.raw??"").join(""),v=c[0]?.span;return {content:g,startOffset:(c[0]?.start??v?.start??0)+1}}return j})(I)}return null})(r);if(n)return t=n,false}),t}var et=(e,t)=>{let r=he(t,e);return {program:r.program,errors:r.errors}},he=(e,t)=>parseSync(e,t,{sourceType:"module",lang:"tsx"});export{y as ChangeDetectionStrategy,S as analyzeComponent,ne as analyzeTemplate,Qe as extractTemplateFromProgram,W as getComponentCacheStats,C as getDecoratorNameUnsafe,B as getDecoratorObjectArgUnsafe,p as getIdentifierName,R as getKeyNameUnsafe,w as getLiteralBooleanValueUnsafe,T as getLiteralStringValueUnsafe,f as getObjectPropertyUnsafe,P as hasDecorator,be as hasObjectProperty,X as isComponent,ee as isStandalone,L as matchesMemberExpression,ve as nodeEnd,D as nodeStart,Ve as parseCss,$e as parseHtml,et as parseTs,H as resetComponentCacheStats,Be as toAngularClassStream,Re as toAnyAngularClassStream,ze as toCallExpressionStream,we as toDecoratedPropertyStream,_e as toImportDeclarationStream,Fe as toNewExpressionStream,Z as usesOnPush,U as walkProgram};//# sourceMappingURL=index.js.map | ||
| //# sourceMappingURL=index.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"sources":["../src/ast/types.ts","../src/ast/matchers.ts","../src/analyzers/component-analyzer.ts","../src/analyzers/template-analyzer.ts","../src/node-streams.ts","../src/parsers/css.ts","../src/parsers/html.ts","../src/visitor.ts","../src/parsers/template-extractor.ts","../src/parsers/ts.ts"],"names":["nodeStart","node","start","span","nodeEnd","end","getIdentifierName","type","name","hasDecorator","classNode","decoratorName","decorators","i","length","getDecoratorNameUnsafe","decorator","expr","expression","callee","direct","undefined","property","getDecoratorObjectArgUnsafe","args","arguments","first","hasObjectProperty","objectExpr","keyName","properties","prop","getKeyNameUnsafe","key","getObjectPropertyUnsafe","value","ident","matchesMemberExpression","objectName","propertyName","obj","object","getLiteralStringValueUnsafe","getLiteralBooleanValueUnsafe","NON_LITERAL","kind","MISSING","literal","ChangeDetectionStrategy","Default","OnPush","componentCache","WeakMap","cacheStats","hits","misses","getComponentCacheStats","resetComponentCacheStats","analyzeComponent","cached","get","resolveAngularDecoratorName","set","findDecoratorByName","metadata","buildComponentMetadata","isComp","metadataObject","className","id","selector","extractLiteralStringField","changeDetection","extractChangeDetection","standalone","extractStandalone","templateUrl","template","hostDirectives","extractHostDirectives","decoratorStart","field","elements","results","el","parsed","parseHostDirectiveElement","push","directive","inputs","outputs","dirNode","extractRenames","renames","parseRenameString","idx","indexOf","internal","external","slice","trim","isComponent","usesOnPush","component","cd","isStandalone","FOR_OF","FOR_TRACK","analyzeTemplate","htmlResult","expressions","attributes","blocks","offset","templateStartOffset","visit","children","child","visitAttributes","visitTextNode","visitBlock","rootNode","rootNodes","attrs","attr","attrOffset","valueSpan","sourceSpan","isBindingAttribute","parseAndAdd","tokens","extractInterpolationsFromTokens","extractInterpolationsManually","blockName","parameters","param","map","p","paramOffset","extractForBlockExpressions","token","parts","textValue","cursor","substring","includes","split","startsWith","endsWith","code","outcomes","ret","parseSync","sourceType","lang","program","body","stmt","err","message","Error","String","debug","toAngularClassStream","ANY_ANGULAR_DECORATORS","Set","toAnyAngularClassStream","has","toDecoratedPropertyStream","propertyNode","toCallExpressionStream","toNewExpressionStream","parseCss","content","filePath","ok","runLightningCssTransform","error","result","transform","filename","Buffer","from","minify","sourceMap","parseHtml","runAngularHtmlParse","errors","parse","tokenizeAngularBlocks","NON_CHILD_KEYS","isTraversableNode","walkProgram","root","visitor","stack","pop","val","Array","isArray","EMPTY","startOffset","extractTemplateFromProgram","rawNode","extracted","call","objectArg","templateValue","quasis","q","raw","join","firstSpan","parseTs","runOxcParse"],"mappings":"sJAOO,IAAMA,CAAAA,CAAaC,CAAAA,EACxBA,CAAAA,CAAKC,KAAAA,EAASD,CAAAA,CAAKE,IAAAA,EAAMD,KAAAA,EAAS,CAAA,CAEvBE,EAAAA,CAAWH,CAAAA,EACtBA,CAAAA,CAAKI,GAAAA,EAAOJ,CAAAA,CAAKE,IAAAA,EAAME,GAAAA,EAAO,ECCzB,IAAMC,CAAAA,CACXL,CAAAA,EAAAA,CAEA,GAAKA,CAAAA,EAAQA,CAAAA,CAAKM,IAAAA,GAAS,YAAA,CAC3B,OAAQN,CAAAA,CAAoBO,IAC9B,EAEaC,CAAAA,CAAe,CAC1BC,CAAAA,CACAC,CAAAA,GAAAA,CAEA,IAAMC,CAAAA,CAAaF,CAAAA,CAAUE,UAAAA,CAC7B,GAAI,CAACA,CAAAA,CAAY,OAAO,MAAA,CACxB,IAAA,IAASC,CAAAA,CAAI,CAAA,CAAGA,CAAAA,CAAID,CAAAA,CAAWE,MAAAA,CAAQD,CAAAA,EAAAA,CACrC,GAAIE,CAAAA,CAAuBH,CAAAA,CAAWC,CAAAA,CAAE,CAAA,GAAMF,CAAAA,CAAe,OAAO,KAAA,CAEtE,OAAO,MACT,EAEaI,CAAAA,CACXC,CAAAA,EAAAA,CAEA,IAAMC,CAAAA,CAAOD,CAAAA,CAAUE,UAAAA,CACvB,GAAI,CAACD,CAAAA,EAAQA,CAAAA,CAAKV,IAAAA,GAAS,gBAAA,CAAkB,OAE7C,IAAMY,CAAAA,CAAUF,CAAAA,CAAwBE,MAAAA,CAElCC,CAAAA,CAASd,CAAAA,CAAkBa,CAAAA,CAAAA,CAAAA,OAC7BC,CAAAA,GAAWC,MAAAA,CAAkBD,CAAAA,CAG/BD,CAAAA,CAAOZ,IAAAA,GAAS,kBAAA,EAChBY,CAAAA,CAAOZ,IAAAA,GAAS,wBAAA,CAETD,CAAAA,CAAmBa,EAA4BG,QAAQ,CAAA,CAAA,MAIlE,CAAA,CAEaC,CAAAA,CACXP,CAAAA,EAAAA,CAEA,IAAMC,CAAAA,CAAOD,CAAAA,CAAUE,UAAAA,CACvB,GAAI,CAACD,CAAAA,EAAQA,CAAAA,CAAKV,IAAAA,GAAS,iBAAkB,OAE7C,IAAMiB,CAAAA,CAAQP,CAAAA,CAAwBQ,SAAAA,CACtC,GAAI,CAACD,CAAAA,EAAQA,CAAAA,CAAKV,MAAAA,GAAW,CAAA,CAAG,OAEhC,IAAMY,CAAAA,CAAQF,CAAAA,CAAK,CAAA,EACnB,OAAOE,CAAAA,CAAMnB,IAAAA,GAAS,kBAAA,CACjBmB,CAAAA,CACDL,MACN,CAAA,CAEaM,EAAAA,CAAoB,CAC/BC,CAAAA,CACAC,CAAAA,GAAAA,CAEA,IAAMC,CAAAA,CAAaF,CAAAA,CAAWE,UAAAA,CAC9B,GAAI,CAACA,CAAAA,CAAY,OAAO,MAAA,CACxB,IAAA,IAASjB,CAAAA,CAAI,CAAA,CAAGA,CAAAA,CAAIiB,CAAAA,CAAWhB,MAAAA,CAAQD,CAAAA,EAAAA,CAAK,CAC1C,IAAMkB,CAAAA,CAAOD,CAAAA,CAAWjB,CAAAA,CAAAA,CACxB,GAAKkB,CAAAA,EAAQA,CAAAA,CAAKxB,IAAAA,GAAS,eAAA,EACvByB,CAAAA,CAAiBD,CAAAA,CAAKE,GAAG,CAAA,GAAMJ,CAAAA,CAAS,OAAO,KACrD,CACA,OAAO,MACT,EAEaK,CAAAA,CAA0B,CACrCN,CAAAA,CACAC,CAAAA,GAAAA,CAEA,IAAMC,CAAAA,CAAaF,CAAAA,CAAWE,UAAAA,CAC9B,GAAKA,CAAAA,CACL,IAAA,IAASjB,CAAAA,CAAI,CAAA,CAAGA,CAAAA,CAAIiB,CAAAA,CAAWhB,OAAQD,CAAAA,EAAAA,CAAK,CAC1C,IAAMkB,CAAAA,CAAOD,CAAAA,CAAWjB,CAAAA,CAAAA,CACxB,GAAKkB,CAAAA,EAAQA,CAAAA,CAAKxB,IAAAA,GAAS,eAAA,EACvByB,CAAAA,CAAiBD,CAAAA,CAAKE,GAAG,CAAA,GAAMJ,CAAAA,CAAS,OAAOE,CAAAA,CAAKI,KAC1D,CAEF,CAAA,CAEaH,CAAAA,CAAoBC,CAAAA,EAAAA,CAC/B,GAAI,CAACA,CAAAA,CAAK,OACV,IAAMG,CAAAA,CAAQ9B,CAAAA,CAAkB2B,CAAAA,CAAAA,CAAAA,OAC5BG,CAAAA,GAAUf,MAAAA,CAAkBe,CAAAA,CAAAA,CAC5BH,CAAAA,CAAI1B,IAAAA,GAAS,eAAA,EAAmB0B,CAAAA,CAAI1B,IAAAA,GAAS,SAAA,GAExC,OADK0B,CAAAA,CACME,KAAAA,EAAU,QAAA,CADhBF,CAAAA,CAC+BE,KAAAA,CAAQd,MAGvD,CAAA,CAEagB,CAAAA,CAA0B,CACrCpB,CAAAA,CACAqB,CAAAA,CACAC,CAAAA,GAAAA,CAEA,GAAI,CAACtB,CAAAA,EAEHA,CAAAA,CAAKV,IAAAA,GAAS,kBAAA,EACdU,CAAAA,CAAKV,IAAAA,GAAS,wBAAA,EAMZD,EAFeW,CAAAA,CAEcK,QAAQ,CAAA,GAAMiB,CAAAA,CATpC,OAAO,MAAA,CAWlB,IAAMC,CAAAA,CAJavB,CAAAA,CAIIwB,MAAAA,CAAAA,OACvB,CAAI,CAACD,CAAAA,GAEDlC,CAAAA,CAAkBkC,CAAAA,CAAAA,GAASF,CAAAA,EAAAA,CAG7BE,CAAAA,CAAIjC,IAAAA,GAAS,kBAAA,EACbiC,CAAAA,CAAIjC,IAAAA,GAAS,wBAAA,GAEND,CAAAA,CAAmBkC,CAAAA,CAAyBlB,QAAQ,CAAA,GAAMgB,CAAAA,CAIrE,CAAA,CAEaI,CAAAA,CACXzC,CAAAA,EAAAA,CAEA,GAAI,CAACA,CAAAA,EACDA,CAAAA,CAAKM,IAAAA,GAAS,eAAA,EAAmBN,CAAAA,CAAKM,IAAAA,GAAS,SAAA,CADxC,OAGX,IAAM4B,CAAAA,CAASlC,CAAAA,CAAuBkC,KAAAA,CACtC,OAAO,OAAOA,CAAAA,EAAU,SAAWA,CAAAA,CAAQd,MAC7C,CAAA,CAEasB,CAAAA,CACX1C,CAAAA,EAAAA,CAEA,GAAI,CAACA,CAAAA,EACDA,CAAAA,CAAKM,IAAAA,GAAS,gBAAA,EAAoBN,CAAAA,CAAKM,IAAAA,GAAS,SAAA,CADzC,OAGX,IAAM4B,CAAAA,CAASlC,CAAAA,CAAwBkC,KAAAA,CACvC,OAAO,OAAOA,CAAAA,EAAU,SAAA,CAAYA,CAAAA,CAAQd,MAC9C,EClIA,IAAMuB,CAAAA,CAA+B,CAAEC,IAAAA,CAAM,aAAc,CAAA,CACrDC,CAAAA,CAAwB,CAAED,IAAAA,CAAM,SAAU,CAAA,CAE1CE,CAAAA,CAAcZ,CAAAA,GAA+B,CAAEU,IAAAA,CAAM,SAAA,CAAWV,KAAAA,CAAAA,CAAM,CAAA,CAAA,CAE/Da,CAAAA,CAA0B,CACrCC,OAAAA,CAAS,EACTC,MAAAA,CAAQ,CACV,CAAA,CA6BMC,CAAAA,CAAiB,IAAIC,OAAAA,CAUrBC,CAAAA,CAAoC,CAAEC,IAAAA,CAAM,CAAA,CAAGC,MAAAA,CAAQ,CAAE,CAAA,CAElDC,CAAAA,CAAyB,KAAwC,CAC5EF,KAAMD,CAAAA,CAAWC,IAAAA,CACjBC,MAAAA,CAAQF,CAAAA,CAAWE,MACrB,CAAA,CAAA,CAEaE,CAAAA,CAA2B,IAAA,CACtCJ,CAAAA,CAAWC,IAAAA,CAAO,CAAA,CAClBD,CAAAA,CAAWE,MAAAA,CAAS,EACtB,CAAA,CAEaG,EACXhD,CAAAA,EAAAA,CAEA,IAAMiD,CAAAA,CAASR,CAAAA,CAAeS,GAAAA,CAAIlD,CAAAA,CAAAA,CAClC,GAAIiD,CAAAA,GAAWtC,MAAAA,CAEb,OADAgC,CAAAA,CAAWC,IAAAA,EAAAA,CACJK,CAAAA,CAETN,CAAAA,CAAWE,MAAAA,EAAAA,CAEX,IAAM5C,CAAAA,CAAgBkD,CAAAA,CAA4BnD,CAAAA,CAAAA,CAClD,GAAI,CAACC,CAAAA,CAEH,OADAwC,CAAAA,CAAeW,GAAAA,CAAIpD,CAAAA,CAAW,IAAA,CAAA,CACvB,IAAA,CAGT,IAAMM,CAAAA,CAAY+C,CAAAA,CAAoBrD,CAAAA,CAAUE,UAAAA,CAAaD,CAAAA,CAAAA,CAC7D,GAAI,CAACK,CAAAA,CAEH,OADAmC,CAAAA,CAAeW,GAAAA,CAAIpD,CAAAA,CAAW,IAAA,CAAA,CACvB,IAAA,CAGT,IAAMsD,CAAAA,CAAWC,CAAAA,CAAuBvD,CAAAA,CAAWM,CAAAA,CAAWL,CAAAA,CAAAA,CAE9D,OADAwC,CAAAA,CAAeW,GAAAA,CAAIpD,CAAAA,CAAWsD,CAAAA,CAAAA,CACvBA,CACT,CAAA,CAEMH,CAAAA,CACJnD,CAAAA,EAEID,EAAaC,CAAAA,CAAW,WAAA,CAAA,CAAqB,WAAA,CAC7CD,CAAAA,CAAaC,CAAAA,CAAW,WAAA,CAAA,CAAqB,WAAA,CAAA,MAAA,CAI7CqD,CAAAA,CAAsB,CAC1BnD,CAAAA,CACAJ,CAAAA,GAAAA,CAEA,IAAA,IAASK,CAAAA,CAAI,CAAA,CAAGA,CAAAA,CAAID,CAAAA,CAAWE,MAAAA,CAAQD,CAAAA,EAAAA,CACrC,GAAIE,CAAAA,CAAuBH,CAAAA,CAAWC,CAAAA,CAAE,CAAA,GAAML,CAAAA,CAAM,OAAOI,CAAAA,CAAWC,CAAAA,CAG1E,CAAA,CAEMoD,CAAAA,CAAyB,CAC7BvD,CAAAA,CACAM,CAAAA,CACAL,CAAAA,GAAAA,CAEA,IAAMuD,CAAAA,CAASvD,CAAAA,GAAkB,WAAA,CAC3BwD,CAAAA,CAAiB5C,CAAAA,CAA4BP,CAAAA,CAAAA,CAEnD,OAAO,CACLoD,SAAAA,CAAW1D,CAAAA,CAAU2D,EAAAA,EAAI7D,IAAAA,CACzB8D,QAAAA,CAAUH,CAAAA,CACNI,CAAAA,CAA0BJ,CAAAA,CAAgB,UAAA,CAAA,CAC1CrB,CAAAA,CACJ0B,eAAAA,CACEN,CAAAA,EAAUC,CAAAA,CACNM,CAAAA,CAAuBN,CAAAA,EACvBrB,CAAAA,CACN4B,UAAAA,CAAYP,CAAAA,CAAiBQ,CAAAA,CAAkBR,CAAAA,CAAAA,CAAkBrB,CAAAA,CACjE8B,WAAAA,CACEV,CAAAA,EAAUC,CAAAA,CACNI,CAAAA,CAA0BJ,CAAAA,CAAgB,aAAA,CAAA,CAC1CrB,CAAAA,CACN+B,QAAAA,CACEX,CAAAA,EAAUC,CAAAA,CACNI,CAAAA,CAA0BJ,CAAAA,CAAgB,UAAA,CAAA,CAC1CrB,CAAAA,CACNgC,cAAAA,CAAgBX,CAAAA,CACZY,CAAAA,CAAsBZ,CAAAA,CAAAA,CACtBrB,CAAAA,CACJkC,cAAAA,CAAgBhF,CAAAA,CAAUgB,CAAAA,EAC1BT,IAAAA,CAAMI,CACR,CACF,CAAA,CAEM4D,CAAAA,CAA4B,CAChC/B,CAAAA,CACAyC,CAAAA,GAAAA,CAEA,IAAMhF,CAAAA,CAAOiC,CAAAA,CAAwBM,CAAAA,CAAKyC,CAAAA,CAAAA,CAC1C,GAAI,CAAChF,CAAAA,CAAM,OAAO6C,CAAAA,CAClB,IAAMX,CAAAA,CAAQO,CAAAA,CAA4BzC,CAAAA,CAAAA,CAC1C,OAAOkC,CAAAA,GAAUd,MAAAA,CAAY0B,CAAAA,CAAQZ,CAAAA,CAAAA,CAASS,CAChD,EAEM+B,CAAAA,CAAqBnC,CAAAA,EAAAA,CACzB,IAAMvC,CAAAA,CAAOiC,CAAAA,CAAwBM,CAAAA,CAAK,YAAA,CAAA,CAC1C,GAAI,CAACvC,CAAAA,CAAM,OAAO6C,CAAAA,CAClB,IAAMX,CAAAA,CAAQQ,CAAAA,CAA6B1C,CAAAA,CAAAA,CAC3C,OAAOkC,CAAAA,GAAUd,MAAAA,CAAY0B,CAAAA,CAAQZ,CAAAA,CAAAA,CAASS,CAChD,CAAA,CAEM6B,CAAAA,CACJjC,CAAAA,EAAAA,CAEA,IAAMvC,CAAAA,CAAOiC,EAAwBM,CAAAA,CAAK,iBAAA,CAAA,CAC1C,GAAI,CAACvC,CAAAA,CAAM,OAAO6C,CAAAA,CAElB,IAAM1B,CAAAA,CAASd,CAAAA,CAAkBL,CAAAA,CAAAA,CAAAA,OAC7BmB,CAAAA,GAAW,QAAA,CAAiB2B,CAAAA,CAAQC,EAAwBE,MAAM,CAAA,CAClE9B,CAAAA,GAAW,SAAA,CAAkB2B,CAAAA,CAAQC,CAAAA,CAAwBC,OAAO,CAAA,CACpE7B,CAAAA,GAAWC,MAAAA,CAAkBuB,CAAAA,CAE7BP,CAAAA,CAAwBpC,CAAAA,CAAM,yBAAA,CAA2B,QAAA,CAAA,CACpD8C,EAAQC,CAAAA,CAAwBE,MAAM,CAAA,CAE3Cb,CAAAA,CAAwBpC,CAAAA,CAAM,yBAAA,CAA2B,SAAA,CAAA,CACpD8C,CAAAA,CAAQC,CAAAA,CAAwBC,OAAO,CAAA,CAEzCL,CACT,CAAA,CAEMmC,CAAAA,CACJvC,CAAAA,EAAAA,CAEA,IAAMvC,CAAAA,CAAOiC,CAAAA,CAAwBM,CAAAA,CAAK,gBAAA,CAAA,CAC1C,GAAI,CAACvC,CAAAA,CAAM,OAAO6C,CAAAA,CAClB,GAAI7C,CAAAA,CAAKM,IAAAA,GAAS,iBAAA,CAAmB,OAAOqC,CAAAA,CAE5C,IAAMsC,CAAAA,CAAYjF,CAAAA,CAAyBiF,QAAAA,CACrCC,CAAAA,CAAmC,EAAA,CAEzC,IAAA,IAAStE,CAAAA,CAAI,CAAA,CAAGA,CAAAA,CAAIqE,CAAAA,CAASpE,MAAAA,CAAQD,CAAAA,EAAAA,CAAK,CACxC,IAAMuE,CAAAA,CAAKF,CAAAA,CAASrE,CAAAA,CAAAA,CACpB,GAAI,CAACuE,CAAAA,CAAI,SACT,IAAMC,CAAAA,CAASC,CAAAA,CAA0BF,CAAAA,CAAAA,CACrCC,CAAAA,EAAQF,CAAAA,CAAQI,IAAAA,CAAKF,CAAAA,EAC3B,CAEA,OAAOtC,CAAAA,CAAQoC,CAAAA,CACjB,CAAA,CAEMG,CAAAA,CACJF,CAAAA,EAAAA,CAEA,IAAMhE,CAAAA,CAASd,CAAAA,CAAkB8E,CAAAA,CAAAA,CACjC,GAAIhE,CAAAA,GAAWC,MAAAA,CACb,OAAO,CAAEmE,SAAAA,CAAWpE,CAAAA,CAAQqE,MAAAA,CAAQ,EAAA,CAAIC,OAAAA,CAAS,EAAG,CAAA,CAGtD,GAAIN,CAAAA,CAAG7E,IAAAA,GAAS,mBAAoB,CAElC,IAAMoF,CAAAA,CAAUzD,CAAAA,CADAkD,CAAAA,CACiC,WAAA,CAAA,CACjD,OAAO,CACLI,SAAAA,CAAWG,CAAAA,CAAUrF,CAAAA,CAAkBqF,CAAAA,CAAAA,CAAWtE,MAAAA,CAClDoE,MAAAA,CAAQG,EAAe1D,CAAAA,CAJTkD,CAAAA,CAI0C,QAAA,CAAA,CAAA,CACxDM,OAAAA,CAASE,CAAAA,CAAe1D,CAAAA,CALVkD,CAAAA,CAK2C,SAAA,CAAA,CAC3D,CACF,CAEA,OAAO,IACT,EAEMQ,CAAAA,CACJ3F,CAAAA,EAAAA,CAEA,GAAI,CAACA,CAAAA,EAAQA,CAAAA,CAAKM,IAAAA,GAAS,iBAAA,CAAmB,OAAO,EAAA,CACrD,IAAM2E,CAAAA,CAAYjF,CAAAA,CAAyBiF,QAAAA,CACrCW,CAAAA,CAAoD,EAAA,CAC1D,IAAA,IAAShF,CAAAA,CAAI,CAAA,CAAGA,CAAAA,CAAIqE,CAAAA,CAASpE,MAAAA,CAAQD,CAAAA,EAAAA,CAAK,CACxC,IAAMuE,CAAAA,CAAKF,CAAAA,CAASrE,CAAAA,CAAAA,CACpB,GAAI,CAACuE,CAAAA,CAAI,SACT,IAAMjD,CAAAA,CAAQO,CAAAA,CAA4B0C,CAAAA,CAAAA,CACrCjD,CAAAA,EACL0D,CAAAA,CAAQN,IAAAA,CAAKO,CAAAA,CAAkB3D,CAAAA,CAAAA,EACjC,CACA,OAAO0D,CACT,CAAA,CAEMC,CAAAA,CACJ3D,CAAAA,EAAAA,CAEA,IAAM4D,CAAAA,CAAM5D,CAAAA,CAAM6D,OAAAA,CAAQ,GAAA,CAAA,CAAA,OACtBD,CAAAA,GAAQ,EAAA,CAAW,CAAEE,QAAAA,CAAU9D,CAAAA,CAAO+D,SAAU/D,CAAM,CAAA,CACnD,CACL8D,QAAAA,CAAU9D,CAAAA,CAAMgE,KAAAA,CAAM,CAAA,CAAGJ,CAAAA,CAAAA,CAAKK,IAAAA,EAAI,CAClCF,QAAAA,CAAU/D,CAAAA,CAAMgE,KAAAA,CAAMJ,CAAAA,CAAM,CAAA,CAAA,CAAGK,IAAAA,EACjC,CACF,CAAA,CAEaC,CAAAA,CAAe3F,CAAAA,EAC1BgD,CAAAA,CAAiBhD,CAAAA,CAAAA,GAAe,IAAA,CAErB4F,CAAAA,CAAc5F,CAAAA,EAAAA,CACzB,IAAM6F,CAAAA,CAAY7C,EAAiBhD,CAAAA,CAAAA,CACnC,GAAI,CAAC6F,CAAAA,CAAW,OAAO,MAAA,CACvB,IAAMC,CAAAA,CAAKD,CAAAA,CAAU/B,eAAAA,CACrB,OAAOgC,CAAAA,CAAG3D,IAAAA,GAAS,SAAA,EAAa2D,CAAAA,CAAGrE,QAAUa,CAAAA,CAAwBE,MACvE,CAAA,CAEauD,EAAAA,CAAgB/F,CAAAA,EAAAA,CAC3B,IAAM6F,CAAAA,CAAY7C,CAAAA,CAAiBhD,CAAAA,CAAAA,CACnC,GAAI,CAAC6F,CAAAA,CAAW,OAAO,MAAA,CACvB,IAAM7B,CAAAA,CAAa6B,CAAAA,CAAU7B,UAAAA,CAC7B,OAAOA,CAAAA,CAAW7B,IAAAA,GAAS,SAAA,EAAa6B,CAAAA,CAAWvC,KAAAA,GAAU,IAC/D,EClPA,IAAMuE,CAAAA,CAAS,MAAA,CACTC,CAAAA,CAAY,SAAA,CAELC,EAAAA,CACXC,CAAAA,EAAAA,CAEA,IAAMC,CAAAA,CAAwC,EAAA,CACxCC,CAAAA,CAAsC,EAAA,CACtCC,CAAAA,CAA8B,EAAA,CAC9BC,CAAAA,CAASJ,CAAAA,CAAWK,mBAAAA,CAEpBC,CAAAA,CAASlH,CAAAA,EAAAA,CACb,GAAKA,CAAAA,CAAAA,CACL,GAAIA,CAAAA,CAAKmH,QAAAA,CACP,QAAWC,CAAAA,IAASpH,CAAAA,CAAKmH,QAAAA,CAAUD,CAAAA,CAAME,CAAAA,CAAAA,CAE3CC,EAAAA,CAAgBrH,CAAAA,CAAM8G,CAAAA,CAAYD,CAAAA,CAAaG,CAAAA,CAAAA,CAC/CM,EAAAA,CAActH,CAAAA,CAAM6G,CAAAA,CAAaG,CAAAA,EACjCO,EAAAA,CAAWvH,CAAAA,CAAM+G,CAAAA,CAAQF,CAAAA,CAAaG,CAAAA,EAAAA,CACxC,CAAA,CAEA,IAAA,IAAWQ,CAAAA,IAAYZ,CAAAA,CAAWa,SAAAA,CAAWP,CAAAA,CAAMM,CAAAA,CAAAA,CAEnD,OAAO,CAAEX,WAAAA,CAAAA,CAAAA,CAAaC,UAAAA,CAAAA,CAAAA,CAAYC,MAAAA,CAAAA,CAAO,CAC3C,CAAA,CAEMM,EAAAA,CAAkB,CACtBrH,CAAAA,CACA8G,CAAAA,CACAD,CAAAA,CACAG,CAAAA,GAAAA,CAEA,GAAKhH,EAAK0H,KAAAA,CAEV,IAAA,IAAWC,CAAAA,IAAQ3H,CAAAA,CAAK0H,KAAAA,CAAO,CAC7B,IAAMnH,CAAAA,CAAOoH,CAAAA,CAAKpH,IAAAA,CACZ2B,CAAAA,CAAQyF,CAAAA,CAAKzF,KAAAA,CACb0F,CAAAA,CAAAA,CAAcD,CAAAA,CAAKE,SAAAA,EAAW5H,OAAO+G,MAAAA,EAAU,CAAA,EAAKA,CAAAA,CAE1DF,CAAAA,CAAWxB,IAAAA,CAAK,CACd/E,IAAAA,CAAAA,CAAAA,CACA2B,KAAAA,CAAAA,CAAAA,CACA4F,UAAAA,CAAY,CACV7H,KAAAA,CAAAA,CAAQ0H,CAAAA,CAAKG,UAAAA,EAAY7H,KAAAA,EAAO+G,QAAU,CAAA,EAAKA,CAAAA,CAC/C5G,GAAAA,CAAAA,CAAMuH,CAAAA,CAAKG,UAAAA,EAAY1H,GAAAA,EAAK4G,MAAAA,EAAU,CAAA,EAAKA,CAC7C,CACF,CAAA,CAAA,CAEK9E,CAAAA,EACD6F,EAAAA,CAAmBxH,CAAAA,CAAAA,EACrByH,CAAAA,CAAY9F,CAAAA,CAAO0F,CAAAA,CAAYf,CAAAA,EAEnC,CACF,CAAA,CAEMS,EAAAA,CAAgB,CACpBtH,CAAAA,CACA6G,CAAAA,CACAG,CAAAA,GAAAA,CAAAA,CAGEhH,CAAAA,CAAK4C,IAAAA,GAAS,MAAA,EACd5C,EAAKM,IAAAA,GAAS,MAAA,EACdN,CAAAA,CAAK,WAAA,EAAaO,IAAAA,GAAS,MAAA,GACbP,CAAAA,CAAKkC,KAAAA,GAEjBlC,CAAAA,CAAKiI,MAAAA,CACPC,EAAAA,CAAgClI,CAAAA,CAAM6G,CAAAA,CAAaG,CAAAA,CAAAA,CAEnDmB,EAAAA,CAA8BnI,CAAAA,CAAM6G,CAAAA,CAAaG,CAAAA,CAAAA,EAErD,CAAA,CAEMO,EAAAA,CAAa,CACjBvH,CAAAA,CACA+G,CAAAA,CACAF,CAAAA,CACAG,CAAAA,GAAAA,CAEA,GAAIhH,CAAAA,CAAK4C,IAAAA,GAAS,OAAA,EAAW5C,EAAK,WAAA,EAAaO,IAAAA,GAAS,OAAA,CAAS,OAEjE,IAAM6H,CAAAA,CAAYpI,CAAAA,CAAKO,IAAAA,EAAQ,EAAA,CACzB8H,CAAAA,CAAarI,CAAAA,CAAKqI,UAAAA,EAAc,EAAA,CAiBtC,IAAA,IAAWC,CAAAA,IAfXvB,CAAAA,CAAOzB,IAAAA,CAAK,CACV/E,IAAAA,CAAM6H,CAAAA,CACNC,UAAAA,CAAYA,CAAAA,CAAWE,GAAAA,CAAKC,CAAAA,GAAO,CACjCvH,UAAAA,CAAYuH,CAAAA,CAAEvH,UAAAA,EAAc,EAAA,CAC5B6G,UAAAA,CAAY,CACV7H,OAAQuI,CAAAA,CAAEV,UAAAA,EAAY7H,KAAAA,EAAO+G,MAAAA,EAAU,CAAA,EAAKA,CAAAA,CAC5C5G,GAAAA,CAAAA,CAAMoI,CAAAA,CAAEV,UAAAA,EAAY1H,GAAAA,EAAK4G,MAAAA,EAAU,CAAA,EAAKA,CAC1C,CACF,CAAA,CAAA,CAAA,CACAc,WAAY,CACV7H,KAAAA,CAAAA,CAAQD,CAAAA,CAAK8H,UAAAA,EAAY7H,KAAAA,EAAO+G,MAAAA,EAAU,CAAA,EAAKA,CAAAA,CAC/C5G,GAAAA,CAAAA,CAAMJ,CAAAA,CAAK8H,UAAAA,EAAY1H,GAAAA,EAAK4G,MAAAA,EAAU,CAAA,EAAKA,CAC7C,CACF,CAAA,CAAA,CAEoBqB,CAAAA,EAAY,CAC9B,GAAI,CAACC,CAAAA,CAAMrH,UAAAA,CAAY,SACvB,IAAMwH,CAAAA,CAAAA,CAAeH,CAAAA,CAAMR,UAAAA,EAAY7H,KAAAA,EAAO+G,MAAAA,EAAU,CAAA,EAAKA,CAAAA,CACzDoB,CAAAA,GAAc,KAAA,CAChBM,EAAAA,CAA2BJ,CAAAA,CAAMrH,UAAAA,CAAYwH,CAAAA,CAAa5B,CAAAA,CAAAA,CAE1DmB,CAAAA,CAAYM,CAAAA,CAAMrH,UAAAA,CAAYwH,CAAAA,CAAa5B,CAAAA,EAE/C,CACF,CAAA,CAEMqB,GAAkC,CACtClI,CAAAA,CACA6G,CAAAA,CACAG,CAAAA,GAAAA,CAEA,GAAKhH,CAAAA,CAAKiI,MAAAA,CACV,IAAA,IAAWU,CAAAA,IAAS3I,CAAAA,CAAKiI,MAAAA,CACnBU,CAAAA,CAAMrI,IAAAA,GA3HmB,CAAA,EA4HzBqI,CAAAA,CAAMC,OAAO/H,MAAAA,GA1HY,CAAA,EA+H7BmH,CAAAA,CAHaW,CAAAA,CAAMC,KAAAA,CAAM,CAAA,CAAA,CAEvBD,CAAAA,CAAMb,UAAAA,CAAW7H,KAAAA,CAAM+G,MAAAA,CAAS2B,CAAAA,CAAMC,KAAAA,CAAM,CAAA,CAAA,CAAG/H,MAAAA,CAASmG,EAC7BH,CAAAA,EAEjC,CAAA,CAEMsB,EAAAA,CAAgC,CACpCnI,CAAAA,CACA6G,CAAAA,CACAG,CAAAA,GAAAA,CAEA,IAAM6B,CAAAA,CAAY7I,CAAAA,CAAKkC,KAAAA,EAAS,EAAA,CAC1BnC,CAAAA,CAAAA,CAAaC,CAAAA,CAAK8H,UAAAA,EAAY7H,KAAAA,EAAO+G,MAAAA,EAAU,CAAA,EAAKA,CAAAA,CAEtD8B,CAAAA,CAAS,CAAA,CACT7I,CAAAA,CAAQ4I,CAAAA,CAAU9C,OAAAA,CAAQ,IAAA,CAAM+C,CAAAA,CAAAA,CACpC,KAAO7I,CAAAA,GAAU,EAAA,EAAI,CACnB,IAAMG,CAAAA,CAAMyI,CAAAA,CAAU9C,OAAAA,CAAQ,IAAA,CAAM9F,CAAAA,CA5IT,CAAA,CAAA,CA6I3B,GAAIG,CAAAA,GAAQ,EAAA,CAAI,MAChB4H,CAAAA,CACEa,CAAAA,CAAUE,SAAAA,CAAU9I,CAAAA,CA/IK,EA+I2BG,CAAAA,CAAAA,CACpDL,CAAAA,CAAYE,CAAAA,CAhJa,CAAA,CAiJzB4G,CAAAA,CAAAA,CAEFiC,CAAAA,CAAS1I,CAAAA,CAnJkB,CAAA,CAoJ3BH,CAAAA,CAAQ4I,CAAAA,CAAU9C,OAAAA,CAAQ,IAAA,CAAM+C,CAAAA,EAClC,CACF,CAAA,CAEMJ,EAAAA,CAA6B,CACjCzH,CAAAA,CACA+F,CAAAA,CACAH,CAAAA,GAAAA,CAEI5F,CAAAA,CAAW+H,QAAAA,CAAStC,CAAAA,CAAAA,CAItBsB,CAAAA,CAHkB/G,CAAAA,CAAWgI,KAAAA,CAAMvC,CAAAA,CAAAA,CAAW,CAAA,CAAA,CAE5CM,CAAAA,CAAS/F,CAAAA,CAAW8E,OAAAA,CAAQW,CAAAA,CAAAA,CAAaA,CAAAA,CAAU7F,MAAAA,CACjBgG,CAAAA,CAAAA,CAC3B5F,CAAAA,CAAWiI,UAAAA,CAAW,QAAA,CAAA,EAC/BlB,CAAAA,CAAY/G,EAAW8H,SAAAA,CAAU,CAAA,CAAA,CAAI/B,CAAAA,CAAS,CAAA,CAAGH,CAAAA,CAAAA,CAG/C5F,CAAAA,CAAW+H,QAAAA,CAASvC,CAAAA,CAAAA,EAItBuB,CAAAA,CAHuB/G,CAAAA,CAAWgI,KAAAA,CAAMxC,CAAAA,CAAAA,CAAQ,CAAA,CAAA,CAAGwC,KAAAA,CAAM,GAAA,CAAA,CAAK,CAAA,CAAA,CAE5DjC,CAAAA,CAAS/F,CAAAA,CAAW8E,OAAAA,CAAQU,CAAAA,CAAAA,CAAUA,CAAAA,CAAO5F,MAAAA,CACDgG,CAAAA,EAElD,CAAA,CAEMkB,GAAsBxH,CAAAA,EAC1BA,CAAAA,CAAK2I,UAAAA,CAAW,GAAA,CAAA,EACf3I,CAAAA,CAAK2I,UAAAA,CAAW,GAAA,CAAA,EAAQ3I,CAAAA,CAAK4I,QAAAA,CAAS,GAAA,CAAA,EACvC5I,CAAAA,CAAK2I,UAAAA,CAAW,OAAA,CAAA,CAEZlB,CAAAA,CAAc,CAClBoB,CAAAA,CACApC,CAAAA,CACAqC,CAAAA,GAAAA,CAEA,GAAKD,CAAAA,CAAKjD,IAAAA,EAAI,CAEd,GAAI,CACF,IAAMmD,CAAAA,CAAMC,SAAAA,CAAU,cAAe,CAAA,CAAA,EAAIH,CAAAA,CAAAA,CAAAA,CAAAA,CAAS,CAChDI,UAAAA,CAAY,QAAA,CACZC,IAAAA,CAAM,IACR,CAAA,CAAA,CACA,GAAIH,CAAAA,CAAII,OAAAA,CAAQC,IAAAA,CAAK9I,MAAAA,GAAW,CAAA,CAAG,OAEnC,IAAM+I,CAAAA,CAAON,CAAAA,CAAII,OAAAA,CAAQC,IAAAA,CAAK,CAAA,CAAA,CAC9B,GAAIC,CAAAA,CAAKtJ,IAAAA,GAAS,qBAAA,EAAyB,CAACsJ,CAAAA,CAAK3I,UAAAA,CAAY,OAE7D,IAAID,EAAO4I,CAAAA,CAAK3I,UAAAA,CACZD,CAAAA,CAAKV,IAAAA,GAAS,yBAAA,EAA6BU,CAAAA,CAAKC,UAAAA,GAClDD,CAAAA,CAAOA,CAAAA,CAAKC,UAAAA,CAAAA,CAGdoI,CAAAA,CAAS/D,IAAAA,CAAK,CACZrE,UAAAA,CAAYD,CAAAA,CACZ8G,UAAAA,CAAY,CAAE7H,KAAAA,CAAO+G,CAAAA,CAAQ5G,GAAAA,CAAK4G,CAAAA,CAASoC,CAAAA,CAAKvI,MAAO,CACzD,CAAA,EACF,CAAA,MAASgJ,CAAAA,CAAK,CACZ,IAAMC,CAAAA,CAAUD,CAAAA,YAAeE,MAAQF,CAAAA,CAAIC,OAAAA,CAAUE,MAAAA,CAAOH,CAAAA,CAAAA,CAC5DI,KAAAA,CACE,QAAA,CACA,CAAA,uCAAA,EAA0Cb,CAAAA,CAAAA,GAAAA,EAAUU,CAAAA,CAAAA,CAAS,EAEjE,CACF,ECjMO,IAAMI,GACXzJ,CAAAA,EAAAA,CAEA,IAAMsD,CAAAA,CAAWN,CAAAA,CAAiBhD,CAAAA,CAAAA,CAAAA,OAC7BsD,CAAAA,CACE,CAAE/D,IAAAA,CAAMS,CAAAA,CAAWsD,QAAAA,CAAAA,CAAS,CAAA,CADb,IAExB,CAAA,CAEMoG,GAAyB,IAAIC,GAAAA,CAAI,CACrC,WAAA,CACA,WAAA,CACA,MAAA,CACA,YAAA,CACA,UAAA,CACD,CAAA,CAEYC,EAAAA,CACX5J,CAAAA,EAAAA,CAEA,IAAME,CAAAA,CAAaF,CAAAA,CAAUE,UAAAA,CAC7B,GAAI,CAACA,CAAAA,CAAY,OAAO,IAAA,CACxB,IAAA,IAASC,CAAAA,CAAI,CAAA,CAAGA,CAAAA,CAAID,CAAAA,CAAWE,MAAAA,CAAQD,CAAAA,EAAAA,CAAK,CAC1C,IAAMG,CAAAA,CAAYJ,CAAAA,CAAWC,CAAAA,CAAAA,CACvBL,CAAAA,CAAOO,CAAAA,CAAuBC,CAAAA,CAAAA,CACpC,GAAIR,CAAAA,EAAQ4J,EAAAA,CAAuBG,GAAAA,CAAI/J,CAAAA,CAAAA,CACrC,OAAO,CACLP,IAAAA,CAAMS,CAAAA,CACNC,aAAAA,CAAeH,EACf4D,SAAAA,CAAW1D,CAAAA,CAAU2D,EAAAA,EAAI7D,IAAAA,CACzBwE,cAAAA,CAAgBhF,CAAAA,CAAUgB,CAAAA,CAC5B,CAEJ,CACA,OAAO,IACT,CAAA,CAEawJ,EAAAA,CACXC,CAAAA,EAAAA,CAEA,IAAM7J,CAAAA,CAAa6J,CAAAA,CAAa7J,UAAAA,CAAAA,OAC3BA,CAAAA,EAAcA,CAAAA,CAAWE,MAAAA,GAAW,CAAA,CAClC,CAAEb,IAAAA,CAAMwK,CAAAA,CAAc7J,UAAAA,CAAAA,CAAW,CAAA,CADW,IAErD,CAAA,CAEa8J,EAAAA,CAA0BzK,CAAAA,EACrCA,CAAAA,CAEW0K,EAAAA,CAAyB1K,CAAAA,EACpCA,EC/FK,IAAM2K,EAAAA,CAAW,CAACC,CAAAA,CAAiBC,CAAAA,GAAAA,CACxC,GAAI,CAEF,OAAO,CAAEC,EAAAA,CAAI,CAAA,CAAA,CAAM,GADJC,EAAAA,CAAyBH,CAAAA,CAASC,CAAAA,CACpB,CAC/B,CAAA,MAASG,CAAAA,CAAO,CACd,OAAO,CAAEF,EAAAA,CAAI,MAAOE,KAAAA,CAAAA,CAAM,CAC5B,CACF,CAAA,CAEMD,EAAAA,CAA2B,CAC/BH,CAAAA,CACAC,CAAAA,GAAAA,CAGA,IAAMI,CAAAA,CAASC,SAAAA,CAAU,CACvBC,QAAAA,CAAUN,CAAAA,CACVzB,KAHWgC,MAAAA,CAAOC,IAAAA,CAAKT,CAAAA,CAAAA,CAIvBU,MAAAA,CAAQ,KAAA,CACRC,SAAAA,CAAW,KACb,CAAA,CAAA,CACA,OAAO,CAAEnC,IAAAA,CAAM6B,CAAAA,CAAO7B,IAAAA,CAAMb,GAAAA,CAAK0C,CAAAA,CAAO1C,GAAI,CAC9C,ECvBO,IAAMiD,EAAAA,CAAY,CACvBZ,CAAAA,CACA3D,CAAAA,CAAsB,CAAA,GAAC,CAEvB,IAAMgE,EAASQ,EAAAA,CAAoBb,CAAAA,CAAAA,CACnC,OAAO,CACLnD,SAAAA,CAAWwD,CAAAA,CAAOxD,SAAAA,CAClBiE,MAAAA,CAAQT,CAAAA,CAAOS,MAAAA,CACfzE,mBAAAA,CAAAA,CACF,CACF,CAAA,CAEMwE,EAAAA,CACJb,GAEAe,KAAAA,CAAMf,CAAAA,CAAS,CAAEgB,qBAAAA,CAAuB,IAAK,CAAA,ECxB/C,IAAMC,EAAAA,CAAiB,IAAIzB,GAAAA,CAAI,CAC7B,QAAA,CACA,MAAA,CACA,KAAA,CACA,OAAA,CACA,QACA,KAAA,CACA,MAAA,CACD,CAAA,CAMD,SAAS0B,CAAAA,CAAkB5J,CAAAA,CAAc,CACvC,OACE,OAAOA,CAAAA,EAAU,QAAA,EACjBA,CAAAA,GAAU,IAAA,EACV,OAAQA,CAAAA,CAA6B5B,IAAAA,EAAS,QAElD,CAEO,SAASyL,CAAAA,CACdC,CAAAA,CACAC,CAAAA,CAAkD,CAElD,GAAI,CAACD,CAAAA,CAAM,OAEX,IAAME,CAAAA,CAA2B,CAACF,CAAAA,CAAAA,CAElC,KAAOE,EAAMrL,MAAAA,CAAS,CAAA,EAAG,CACvB,IAAMb,CAAAA,CAAOkM,CAAAA,CAAMC,GAAAA,EAAG,CACtB,GAAI,CAACnM,CAAAA,EAEDiM,CAAAA,CAAQjM,CAAAA,CAAAA,GAAU,KAAA,CAFX,SAIX,IAAMmH,CAAAA,CAA8B,EAAA,CAGpC,IAAA,IAAWnF,CAAAA,IAFQhC,CAAAA,CAEW,CAC5B,GAAI6L,EAAAA,CAAevB,GAAAA,CAAItI,CAAAA,CAAAA,CAAM,SAC7B,IAAMoK,CAAAA,CAJWpM,CAAAA,CAIMgC,CAAAA,CAAAA,CACvB,GAAKoK,CAAAA,EAAO,OAAOA,CAAAA,EAAQ,QAAA,CAE3B,GAAIC,KAAAA,CAAMC,OAAAA,CAAQF,CAAAA,CAAAA,CAChB,IAAA,IAASxL,CAAAA,CAAI,CAAA,CAAGA,CAAAA,CAAIwL,CAAAA,CAAIvL,MAAAA,CAAQD,CAAAA,EAAAA,CAAK,CACnC,IAAMwG,CAAAA,CAAQgF,CAAAA,CAAIxL,CAAAA,CAAAA,CACdkL,CAAAA,CAAkB1E,CAAAA,CAAAA,EAAQD,CAAAA,CAAS7B,IAAAA,CAAK8B,CAAAA,EAC9C,CAAA,KACS0E,EAAkBM,CAAAA,CAAAA,EAC3BjF,CAAAA,CAAS7B,IAAAA,CAAK8G,CAAAA,EAElB,CAEA,IAAA,IAASxL,CAAAA,CAAIuG,CAAAA,CAAStG,MAAAA,CAAS,CAAA,CAAGD,CAAAA,EAAK,CAAA,CAAGA,CAAAA,EAAAA,CACxCsL,CAAAA,CAAM5G,KAAK6B,CAAAA,CAASvG,CAAAA,CAAE,EAE1B,CACF,CC5CA,IAAM2L,CAAAA,CAA2B,CAAE3B,OAAAA,CAAS,EAAA,CAAI4B,WAAAA,CAAa,CAAE,CAAA,CAExD,SAASC,EAAAA,CACd/C,EAAgB,CAEhB,IAAIuB,CAAAA,CAA4BsB,CAAAA,CAiBhC,OAfAR,CAAAA,CAAYrC,CAAAA,CAAUgD,CAAAA,EAAAA,CAGpB,GAAIzB,CAAAA,CAAOL,OAAAA,CAAS,OAAO,MAAA,CAE3B,GAJa8B,CAAAA,CAIJpM,IAAAA,GAAS,kBAAA,EAAsB,CAAC+L,KAAAA,CAAMC,OAAAA,CAJlCI,CAAAA,CAI+C/L,UAAU,CAAA,CACpE,OAEF,IAAMgM,CAAAA,CAAAA,CAUV,SAA6BlM,CAAAA,CAAkB,CAC7C,IAAME,CAAAA,CAAaF,EAAUE,UAAAA,CAC7B,GAAI,CAACA,CAAAA,CAAY,OAAO,IAAA,CAExB,IAAA,IAAWI,CAAAA,IAAaJ,CAAAA,CAAY,CAClC,IAAMiM,CAAAA,CAAO7L,CAAAA,EAAWE,UAAAA,CACxB,GAAI,CAAC2L,GAAQA,CAAAA,CAAKtM,IAAAA,GAAS,gBAAA,CAAkB,SAE7C,IAAMY,CAAAA,CAAS0L,CAAAA,CAAK1L,MAAAA,CACpB,GAAI,CAACA,CAAAA,EAAUA,CAAAA,CAAOZ,IAAAA,GAAS,YAAA,EAAgBY,CAAAA,CAAOX,IAAAA,GAAS,YAC7D,SAEF,IAAMgB,CAAAA,CAAOqL,CAAAA,CAAKpL,SAAAA,CACZqL,CAAAA,CAAYtL,CAAAA,GAAO,CAAA,CAAA,CACzB,GAAI,CAACsL,CAAAA,EAAaA,CAAAA,CAAUvM,IAAAA,GAAS,kBAAA,CAAoB,SAEzD,IAAMwM,CAAAA,CAAAA,CASV,SACEjL,CAAAA,CACAD,CAAAA,CAAe,CAEf,GAAI,CAACyK,KAAAA,CAAMC,OAAAA,CAAQzK,CAAAA,CAAAA,CAAa,OAAO,IAAA,CACvC,IAAA,IAAWC,CAAAA,IAAQD,EAAY,CAC7B,IAAMG,CAAAA,CAAMF,CAAAA,EAAME,GAAAA,CACZE,CAAAA,CAAQJ,CAAAA,EAAMI,KAAAA,CACpB,GAAKF,CAAAA,EAAQE,CAAAA,EAAAA,CACAF,CAAAA,CAAIzB,IAAAA,EAAQyB,CAAAA,CAAIE,KAAAA,IAChBN,CAAAA,CAAS,OAAOM,CAC/B,CACA,OAAO,IACT,CAAA,EArBM2K,CAAAA,CAAUhL,UAAAA,CACV,UAAA,CAAA,CAEF,GAAIiL,CAAAA,CAAe,OAAA,CAoBvB,SAAsC9M,CAAAA,CAAa,CACjD,GAAI,CAACA,CAAAA,CAAM,OAAOuM,CAAAA,CAElB,GAAIvM,CAAAA,CAAKM,IAAAA,GAAS,eAAA,EAAmBN,CAAAA,CAAKM,IAAAA,GAAS,SAAA,CAAW,CAC5D,IAAMJ,CAAAA,CAAOF,CAAAA,CAAKE,IAAAA,CACZH,CAAAA,CAAaC,CAAAA,CAAKC,KAAAA,EAAgCC,CAAAA,EAAMD,KAAAA,EAAS,CAAA,CACvE,OAAO,CACL2K,OAAAA,CAAU5K,CAAAA,CAAKkC,KAAAA,EAAgC,EAAA,CAC/CsK,WAAAA,CAAazM,CAAAA,CAAY,CAC3B,CACF,CAEA,GAAIC,CAAAA,CAAKM,IAAAA,GAAS,iBAAA,CAAmB,CACnC,IAAMyM,CAAAA,CAAU/M,CAAAA,CAAK+M,MAAAA,EAAiD,EAAA,CAChEnC,CAAAA,CAAUmC,CAAAA,CACbxE,GAAAA,CAAKyE,CAAAA,EACeA,CAAAA,CAAE9K,KAAAA,EACF+K,KAAO,EAC5B,CAAA,CACCC,IAAAA,CAAK,EAAA,CAAA,CACFC,CAAAA,CAAYJ,CAAAA,CAAO,CAAA,CAAA,EAAI7M,IAAAA,CAG7B,OAAO,CACL0K,OAAAA,CAAAA,CAAAA,CACA4B,WAAAA,CAAAA,CAHCO,CAAAA,CAAO,CAAA,CAAA,EAAI9M,KAAAA,EAAgCkN,CAAAA,EAAWlN,KAAAA,EAAS,CAAA,EAGtC,CAC5B,CACF,CAEA,OAAOsM,CACT,CAAA,EAlD2DO,CAAAA,CACzD,CACA,OAAO,IACT,CAAA,EAxCiBJ,CAAAA,CAAAA,CAQb,GAAIC,CAAAA,CAEF,OADA1B,CAAAA,CAAS0B,CAAAA,CACF,KAEX,CAAA,CAAA,CAEO1B,CACT,CC9BO,IAAMmC,EAAAA,CAAU,CAACxC,CAAAA,CAAiBC,CAAAA,GAAAA,CACvC,IAAMI,CAAAA,CAASoC,EAAAA,CAAYxC,CAAAA,CAAUD,CAAAA,CAAAA,CACrC,OAAO,CAAElB,OAAAA,CAASuB,CAAAA,CAAOvB,QAASgC,MAAAA,CAAQT,CAAAA,CAAOS,MAAO,CAC1D,CAAA,CAEM2B,EAAAA,CAAc,CAACxC,CAAAA,CAAkBD,CAAAA,GAC9BrB,SAAAA,CAAUsB,CAAAA,CAAUD,CAAAA,CAAS,CAClCpB,UAAAA,CAAY,QAAA,CACZC,IAAAA,CAAM,KACR,CAAA","file":"index.js","sourcesContent":["export const nodeStart = (t)=>t.start ?? t.span?.start ?? 0;\nexport const nodeEnd = (t)=>t.end ?? t.span?.end ?? 0;\n","export const getIdentifierName = (e)=>{\n if (e && 'Identifier' === e.type) return e.name;\n};\nexport const hasDecorator = (e, t)=>{\n let r = e.decorators;\n if (!r) return !1;\n for(let e = 0; e < r.length; e++)if (getDecoratorNameUnsafe(r[e]) === t) return !0;\n return !1;\n};\nexport const getDecoratorNameUnsafe = (e)=>{\n let t = e.expression;\n if (!t || 'CallExpression' !== t.type) return;\n let r = t.callee, n = getIdentifierName(r);\n return void 0 !== n ? n : 'MemberExpression' === r.type || 'StaticMemberExpression' === r.type ? getIdentifierName(r.property) : void 0;\n};\nexport const getDecoratorObjectArgUnsafe = (e)=>{\n let t = e.expression;\n if (!t || 'CallExpression' !== t.type) return;\n let r = t.arguments;\n if (!r || 0 === r.length) return;\n let n = r[0];\n return 'ObjectExpression' === n.type ? n : void 0;\n};\nexport const hasObjectProperty = (e, t)=>{\n let r = e.properties;\n if (!r) return !1;\n for(let e = 0; e < r.length; e++){\n let n = r[e];\n if (n && 'SpreadElement' !== n.type && getKeyNameUnsafe(n.key) === t) return !0;\n }\n return !1;\n};\nexport const getObjectPropertyUnsafe = (e, t)=>{\n let r = e.properties;\n if (r) for(let e = 0; e < r.length; e++){\n let n = r[e];\n if (n && 'SpreadElement' !== n.type && getKeyNameUnsafe(n.key) === t) return n.value;\n }\n};\nexport const getKeyNameUnsafe = (e)=>{\n if (!e) return;\n let t = getIdentifierName(e);\n return void 0 !== t ? t : ('StringLiteral' === e.type || 'Literal' === e.type) && 'string' == typeof e.value ? e.value : void 0;\n};\nexport const matchesMemberExpression = (e, t, r)=>{\n if (!e || 'MemberExpression' !== e.type && 'StaticMemberExpression' !== e.type || getIdentifierName(e.property) !== r) return !1;\n let n = e.object;\n return !!n && (getIdentifierName(n) === t || ('MemberExpression' === n.type || 'StaticMemberExpression' === n.type) && getIdentifierName(n.property) === t);\n};\nexport const getLiteralStringValueUnsafe = (e)=>{\n if (!e || 'StringLiteral' !== e.type && 'Literal' !== e.type) return;\n let t = e.value;\n return 'string' == typeof t ? t : void 0;\n};\nexport const getLiteralBooleanValueUnsafe = (e)=>{\n if (!e || 'BooleanLiteral' !== e.type && 'Literal' !== e.type) return;\n let t = e.value;\n return 'boolean' == typeof t ? t : void 0;\n};\n","import { getDecoratorNameUnsafe as e, getDecoratorObjectArgUnsafe as t, getIdentifierName as n, getLiteralBooleanValueUnsafe as r, getLiteralStringValueUnsafe as a, getObjectPropertyUnsafe as i, hasDecorator as l, matchesMemberExpression as o } from '../ast/matchers.js';\nimport { nodeStart as s } from '../ast/types.js';\nlet NON_LITERAL = {\n kind: 'non-literal'\n}, MISSING = {\n kind: 'missing'\n}, literal = (e)=>({\n kind: 'literal',\n value: e\n });\nexport const ChangeDetectionStrategy = {\n Default: 0,\n OnPush: 1\n};\nlet componentCache = new WeakMap(), cacheStats = {\n hits: 0,\n misses: 0\n};\nexport const getComponentCacheStats = ()=>({\n hits: cacheStats.hits,\n misses: cacheStats.misses\n });\nexport const resetComponentCacheStats = ()=>{\n cacheStats.hits = 0, cacheStats.misses = 0;\n};\nexport const analyzeComponent = (e)=>{\n let t = componentCache.get(e);\n if (void 0 !== t) return cacheStats.hits++, t;\n cacheStats.misses++;\n let n = resolveAngularDecoratorName(e);\n if (!n) return componentCache.set(e, null), null;\n let r = findDecoratorByName(e.decorators, n);\n if (!r) return componentCache.set(e, null), null;\n let a = buildComponentMetadata(e, r, n);\n return componentCache.set(e, a), a;\n};\nlet resolveAngularDecoratorName = (e)=>l(e, 'Component') ? 'Component' : l(e, 'Directive') ? 'Directive' : void 0, findDecoratorByName = (t, n)=>{\n for(let r = 0; r < t.length; r++)if (e(t[r]) === n) return t[r];\n}, buildComponentMetadata = (e, n, r)=>{\n let a = 'Component' === r, i = t(n);\n return {\n className: e.id?.name,\n selector: i ? extractLiteralStringField(i, 'selector') : MISSING,\n changeDetection: a && i ? extractChangeDetection(i) : MISSING,\n standalone: i ? extractStandalone(i) : MISSING,\n templateUrl: a && i ? extractLiteralStringField(i, 'templateUrl') : MISSING,\n template: a && i ? extractLiteralStringField(i, 'template') : MISSING,\n hostDirectives: i ? extractHostDirectives(i) : MISSING,\n decoratorStart: s(n),\n type: r\n };\n}, extractLiteralStringField = (e, t)=>{\n let n = i(e, t);\n if (!n) return MISSING;\n let r = a(n);\n return void 0 !== r ? literal(r) : NON_LITERAL;\n}, extractStandalone = (e)=>{\n let t = i(e, 'standalone');\n if (!t) return MISSING;\n let n = r(t);\n return void 0 !== n ? literal(n) : NON_LITERAL;\n}, extractChangeDetection = (e)=>{\n let t = i(e, 'changeDetection');\n if (!t) return MISSING;\n let r = n(t);\n return 'OnPush' === r ? literal(ChangeDetectionStrategy.OnPush) : 'Default' === r ? literal(ChangeDetectionStrategy.Default) : void 0 !== r ? NON_LITERAL : o(t, 'ChangeDetectionStrategy', 'OnPush') ? literal(ChangeDetectionStrategy.OnPush) : o(t, 'ChangeDetectionStrategy', 'Default') ? literal(ChangeDetectionStrategy.Default) : NON_LITERAL;\n}, extractHostDirectives = (e)=>{\n let t = i(e, 'hostDirectives');\n if (!t) return MISSING;\n if ('ArrayExpression' !== t.type) return NON_LITERAL;\n let n = t.elements, r = [];\n for(let e = 0; e < n.length; e++){\n let t = n[e];\n if (!t) continue;\n let a = parseHostDirectiveElement(t);\n a && r.push(a);\n }\n return literal(r);\n}, parseHostDirectiveElement = (e)=>{\n let t = n(e);\n if (void 0 !== t) return {\n directive: t,\n inputs: [],\n outputs: []\n };\n if ('ObjectExpression' === e.type) {\n let t = i(e, 'directive');\n return {\n directive: t ? n(t) : void 0,\n inputs: extractRenames(i(e, 'inputs')),\n outputs: extractRenames(i(e, 'outputs'))\n };\n }\n return null;\n}, extractRenames = (e)=>{\n if (!e || 'ArrayExpression' !== e.type) return [];\n let t = e.elements, n = [];\n for(let e = 0; e < t.length; e++){\n let r = t[e];\n if (!r) continue;\n let i = a(r);\n i && n.push(parseRenameString(i));\n }\n return n;\n}, parseRenameString = (e)=>{\n let t = e.indexOf(':');\n return -1 === t ? {\n internal: e,\n external: e\n } : {\n internal: e.slice(0, t).trim(),\n external: e.slice(t + 1).trim()\n };\n};\nexport const isComponent = (e)=>null !== analyzeComponent(e);\nexport const usesOnPush = (e)=>{\n let t = analyzeComponent(e);\n if (!t) return !1;\n let n = t.changeDetection;\n return 'literal' === n.kind && n.value === ChangeDetectionStrategy.OnPush;\n};\nexport const isStandalone = (e)=>{\n let t = analyzeComponent(e);\n if (!t) return !1;\n let n = t.standalone;\n return 'literal' === n.kind && !0 === n.value;\n};\n","import { parseSync as e } from 'oxc-parser';\nimport { debug as t } from '@ngcompass/common';\nlet FOR_OF = ' of ', FOR_TRACK = ' track ';\nexport const analyzeTemplate = (e)=>{\n let t = [], s = [], r = [], n = e.templateStartOffset, o = (e)=>{\n if (e) {\n if (e.children) for (let t of e.children)o(t);\n visitAttributes(e, s, t, n), visitTextNode(e, t, n), visitBlock(e, r, t, n);\n }\n };\n for (let t of e.rootNodes)o(t);\n return {\n expressions: t,\n attributes: s,\n blocks: r\n };\n};\nlet visitAttributes = (e, t, s, r)=>{\n if (e.attrs) for (let n of e.attrs){\n let e = n.name, o = n.value, a = (n.valueSpan?.start?.offset ?? 0) + r;\n t.push({\n name: e,\n value: o,\n sourceSpan: {\n start: (n.sourceSpan?.start?.offset ?? 0) + r,\n end: (n.sourceSpan?.end?.offset ?? 0) + r\n }\n }), o && isBindingAttribute(e) && parseAndAdd(o, a, s);\n }\n}, visitTextNode = (e, t, s)=>{\n ('text' === e.kind || 'text' === e.type || e.constructor?.name === 'Text') && e.value && (e.tokens ? extractInterpolationsFromTokens(e, t, s) : extractInterpolationsManually(e, t, s));\n}, visitBlock = (e, t, s, r)=>{\n if ('block' !== e.kind && e.constructor?.name !== 'Block') return;\n let n = e.name ?? '', o = e.parameters ?? [];\n for (let a of (t.push({\n name: n,\n parameters: o.map((e)=>({\n expression: e.expression ?? '',\n sourceSpan: {\n start: (e.sourceSpan?.start?.offset ?? 0) + r,\n end: (e.sourceSpan?.end?.offset ?? 0) + r\n }\n })),\n sourceSpan: {\n start: (e.sourceSpan?.start?.offset ?? 0) + r,\n end: (e.sourceSpan?.end?.offset ?? 0) + r\n }\n }), o)){\n if (!a.expression) continue;\n let e = (a.sourceSpan?.start?.offset ?? 0) + r;\n 'for' === n ? extractForBlockExpressions(a.expression, e, s) : parseAndAdd(a.expression, e, s);\n }\n}, extractInterpolationsFromTokens = (e, t, s)=>{\n if (e.tokens) for (let r of e.tokens){\n if (8 === r.type && r.parts?.length === 3) parseAndAdd(r.parts[1], r.sourceSpan.start.offset + r.parts[0].length + s, t);\n }\n}, extractInterpolationsManually = (e, t, s)=>{\n let r = e.value ?? '', n = (e.sourceSpan?.start?.offset ?? 0) + s, o = 0, a = r.indexOf('{{', o);\n for(; -1 !== a;){\n let e = r.indexOf('}}', a + 2);\n if (-1 === e) break;\n parseAndAdd(r.substring(a + 2, e), n + a + 2, t), o = e + 2, a = r.indexOf('{{', o);\n }\n}, extractForBlockExpressions = (e, t, s)=>{\n e.includes(FOR_TRACK) ? parseAndAdd(e.split(FOR_TRACK)[1], t + e.indexOf(FOR_TRACK) + FOR_TRACK.length, s) : e.startsWith('track ') && parseAndAdd(e.substring(6), t + 6, s), e.includes(FOR_OF) && parseAndAdd(e.split(FOR_OF)[1].split(';')[0], t + e.indexOf(FOR_OF) + FOR_OF.length, s);\n}, isBindingAttribute = (e)=>e.startsWith('*') || e.startsWith('[') && e.endsWith(']') || e.startsWith('bind-'), parseAndAdd = (s, r, n)=>{\n if (s.trim()) try {\n let t = e('template.ts', `(${s})`, {\n sourceType: 'module',\n lang: 'ts'\n });\n if (0 === t.program.body.length) return;\n let o = t.program.body[0];\n if ('ExpressionStatement' !== o.type || !o.expression) return;\n let a = o.expression;\n 'ParenthesizedExpression' === a.type && a.expression && (a = a.expression), n.push({\n expression: a,\n sourceSpan: {\n start: r,\n end: r + s.length\n }\n });\n } catch (r) {\n let e = r instanceof Error ? r.message : String(r);\n t('parser', `Skipping unparsable template fragment \"${s}\": ${e}`);\n }\n};\n","import { analyzeComponent as e } from './analyzers/component-analyzer.js';\nimport { getDecoratorNameUnsafe as t } from './ast/matchers.js';\nimport { nodeStart as r } from './ast/types.js';\nexport const toAngularClassStream = (t)=>{\n let r = e(t);\n return r ? {\n node: t,\n metadata: r\n } : null;\n};\nlet ANY_ANGULAR_DECORATORS = new Set([\n 'Component',\n 'Directive',\n 'Pipe',\n 'Injectable',\n 'NgModule'\n]);\nexport const toAnyAngularClassStream = (e)=>{\n let o = e.decorators;\n if (!o) return null;\n for(let n = 0; n < o.length; n++){\n let a = o[n], l = t(a);\n if (l && ANY_ANGULAR_DECORATORS.has(l)) return {\n node: e,\n decoratorName: l,\n className: e.id?.name,\n decoratorStart: r(a)\n };\n }\n return null;\n};\nexport const toDecoratedPropertyStream = (e)=>{\n let t = e.decorators;\n return t && 0 !== t.length ? {\n node: e,\n decorators: t\n } : null;\n};\nexport const toCallExpressionStream = (e)=>e;\nexport const toNewExpressionStream = (e)=>e;\n","import { transform as r } from 'lightningcss';\nexport const parseCss = (r, e)=>{\n try {\n let n = runLightningCssTransform(r, e);\n return {\n ok: !0,\n ...n\n };\n } catch (r) {\n return {\n ok: !1,\n error: r\n };\n }\n};\nlet runLightningCssTransform = (e, n)=>{\n let o = r({\n filename: n,\n code: Buffer.from(e),\n minify: !1,\n sourceMap: !1\n });\n return {\n code: o.code,\n map: o.map\n };\n};\n","import { parse as r } from 'angular-html-parser';\nexport const parseHtml = (r, e = 0)=>{\n let o = runAngularHtmlParse(r);\n return {\n rootNodes: o.rootNodes,\n errors: o.errors,\n templateStartOffset: e\n };\n};\nlet runAngularHtmlParse = (e)=>r(e, {\n tokenizeAngularBlocks: !0\n });\n","let NON_CHILD_KEYS = new Set([\n 'parent',\n 'span',\n 'loc',\n 'range',\n 'start',\n 'end',\n 'type'\n]);\nfunction isTraversableNode(e) {\n return 'object' == typeof e && null !== e && 'string' == typeof e.type;\n}\nexport function walkProgram(e, t) {\n if (!e) return;\n let r = [\n e\n ];\n for(; r.length > 0;){\n let e = r.pop();\n if (!e || !1 === t(e)) continue;\n let n = [];\n for(let t in e){\n if (NON_CHILD_KEYS.has(t)) continue;\n let r = e[t];\n if (r && 'object' == typeof r) if (Array.isArray(r)) for(let e = 0; e < r.length; e++){\n let t = r[e];\n isTraversableNode(t) && n.push(t);\n }\n else isTraversableNode(r) && n.push(r);\n }\n for(let e = n.length - 1; e >= 0; e--)r.push(n[e]);\n }\n}\n","import { walkProgram as t } from '../visitor.js';\nlet EMPTY = {\n content: '',\n startOffset: 0\n};\nexport function extractTemplateFromProgram(e) {\n let r = EMPTY;\n return t(e, (t)=>{\n if (r.content) return !1;\n if ('ClassDeclaration' !== t.type || !Array.isArray(t.decorators)) return;\n let e = function(t) {\n let e = t.decorators;\n if (!e) return null;\n for (let t of e){\n let e = t?.expression;\n if (!e || 'CallExpression' !== e.type) continue;\n let r = e.callee;\n if (!r || 'Identifier' !== r.type || 'Component' !== r.name) continue;\n let n = e.arguments, a = n?.[0];\n if (!a || 'ObjectExpression' !== a.type) continue;\n let i = function(t, e) {\n if (!Array.isArray(t)) return null;\n for (let r of t){\n let t = r?.key, n = r?.value;\n if (t && n && (t.name ?? t.value) === e) return n;\n }\n return null;\n }(a.properties, 'template');\n if (i) return function(t) {\n if (!t) return EMPTY;\n if ('StringLiteral' === t.type || 'Literal' === t.type) {\n let e = t.span, r = t.start ?? e?.start ?? 0;\n return {\n content: t.value ?? '',\n startOffset: r + 1\n };\n }\n if ('TemplateLiteral' === t.type) {\n let e = t.quasis ?? [], r = e.map((t)=>{\n let e = t.value;\n return e?.raw ?? '';\n }).join(''), n = e[0]?.span;\n return {\n content: r,\n startOffset: (e[0]?.start ?? n?.start ?? 0) + 1\n };\n }\n return EMPTY;\n }(i);\n }\n return null;\n }(t);\n if (e) return r = e, !1;\n }), r;\n}\n","import { parseSync as r } from 'oxc-parser';\nexport const parseTs = (r, e)=>{\n let o = runOxcParse(e, r);\n return {\n program: o.program,\n errors: o.errors\n };\n};\nlet runOxcParse = (e, o)=>r(e, o, {\n sourceType: 'module',\n lang: 'tsx'\n });\n"]} | ||
| {"version":3,"sources":["../src/ast/types.ts","../src/ast/matchers.ts","../src/analyzers/component-analyzer.ts","../src/analyzers/template-analyzer.ts","../src/node-streams.ts","../src/parsers/css.ts","../src/parsers/html.ts","../src/visitor.ts","../src/parsers/template-extractor.ts","../src/parsers/ts.ts"],"names":["nodeStart","node","start","span","nodeEnd","end","getIdentifierName","type","name","hasDecorator","classNode","decoratorName","decorators","i","length","getDecoratorNameUnsafe","decorator","expr","expression","callee","direct","undefined","property","getDecoratorObjectArgUnsafe","args","arguments","first","hasObjectProperty","objectExpr","keyName","properties","prop","getKeyNameUnsafe","key","getObjectPropertyUnsafe","value","ident","matchesMemberExpression","objectName","propertyName","obj","object","getLiteralStringValueUnsafe","getLiteralBooleanValueUnsafe","NON_LITERAL","kind","MISSING","literal","ChangeDetectionStrategy","Default","OnPush","componentCache","WeakMap","cacheStats","hits","misses","getComponentCacheStats","resetComponentCacheStats","analyzeComponent","cached","get","resolveAngularDecoratorName","set","findDecoratorByName","metadata","buildComponentMetadata","isComp","metadataObject","className","id","selector","extractLiteralStringField","changeDetection","extractChangeDetection","standalone","extractStandalone","templateUrl","template","hostDirectives","extractHostDirectives","decoratorStart","field","elements","results","el","parsed","parseHostDirectiveElement","push","directive","inputs","outputs","dirNode","extractRenames","renames","parseRenameString","idx","indexOf","internal","external","slice","trim","isComponent","usesOnPush","component","cd","isStandalone","FOR_OF","FOR_TRACK","analyzeTemplate","htmlResult","expressions","attributes","blocks","offset","templateStartOffset","visit","children","child","visitAttributes","visitTextNode","visitBlock","rootNode","rootNodes","attrs","attr","attrOffset","valueSpan","sourceSpan","isBindingAttribute","parseAndAdd","tokens","extractInterpolationsFromTokens","extractInterpolationsManually","blockName","parameters","param","map","p","paramOffset","extractForBlockExpressions","token","parts","textValue","cursor","substring","includes","split","startsWith","endsWith","code","outcomes","ret","parseSync","sourceType","lang","program","body","stmt","err","message","Error","String","debug","toAngularClassStream","ANY_ANGULAR_DECORATORS","Set","toAnyAngularClassStream","has","toDecoratedPropertyStream","propertyNode","toCallExpressionStream","toNewExpressionStream","toImportDeclarationStream","parseCss","content","filePath","ok","runLightningCssTransform","error","result","transform","filename","Buffer","from","minify","sourceMap","parseHtml","runAngularHtmlParse","errors","parse","tokenizeAngularBlocks","NON_CHILD_KEYS","isTraversableNode","walkProgram","root","visitor","stack","pop","val","Array","isArray","EMPTY","startOffset","extractTemplateFromProgram","rawNode","extracted","call","objectArg","templateValue","quasis","q","raw","join","firstSpan","parseTs","runOxcParse"],"mappings":"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","file":"index.js","sourcesContent":["export const nodeStart = (t)=>t.start ?? t.span?.start ?? 0;\nexport const nodeEnd = (t)=>t.end ?? t.span?.end ?? 0;\n","export const getIdentifierName = (e)=>{\n if (e && 'Identifier' === e.type) return e.name;\n};\nexport const hasDecorator = (e, t)=>{\n let r = e.decorators;\n if (!r) return !1;\n for(let e = 0; e < r.length; e++)if (getDecoratorNameUnsafe(r[e]) === t) return !0;\n return !1;\n};\nexport const getDecoratorNameUnsafe = (e)=>{\n let t = e.expression;\n if (!t || 'CallExpression' !== t.type) return;\n let r = t.callee, n = getIdentifierName(r);\n return void 0 !== n ? n : 'MemberExpression' === r.type || 'StaticMemberExpression' === r.type ? getIdentifierName(r.property) : void 0;\n};\nexport const getDecoratorObjectArgUnsafe = (e)=>{\n let t = e.expression;\n if (!t || 'CallExpression' !== t.type) return;\n let r = t.arguments;\n if (!r || 0 === r.length) return;\n let n = r[0];\n return 'ObjectExpression' === n.type ? n : void 0;\n};\nexport const hasObjectProperty = (e, t)=>{\n let r = e.properties;\n if (!r) return !1;\n for(let e = 0; e < r.length; e++){\n let n = r[e];\n if (n && 'SpreadElement' !== n.type && getKeyNameUnsafe(n.key) === t) return !0;\n }\n return !1;\n};\nexport const getObjectPropertyUnsafe = (e, t)=>{\n let r = e.properties;\n if (r) for(let e = 0; e < r.length; e++){\n let n = r[e];\n if (n && 'SpreadElement' !== n.type && getKeyNameUnsafe(n.key) === t) return n.value;\n }\n};\nexport const getKeyNameUnsafe = (e)=>{\n if (!e) return;\n let t = getIdentifierName(e);\n return void 0 !== t ? t : ('StringLiteral' === e.type || 'Literal' === e.type) && 'string' == typeof e.value ? e.value : void 0;\n};\nexport const matchesMemberExpression = (e, t, r)=>{\n if (!e || 'MemberExpression' !== e.type && 'StaticMemberExpression' !== e.type || getIdentifierName(e.property) !== r) return !1;\n let n = e.object;\n return !!n && (getIdentifierName(n) === t || ('MemberExpression' === n.type || 'StaticMemberExpression' === n.type) && getIdentifierName(n.property) === t);\n};\nexport const getLiteralStringValueUnsafe = (e)=>{\n if (!e || 'StringLiteral' !== e.type && 'Literal' !== e.type) return;\n let t = e.value;\n return 'string' == typeof t ? t : void 0;\n};\nexport const getLiteralBooleanValueUnsafe = (e)=>{\n if (!e || 'BooleanLiteral' !== e.type && 'Literal' !== e.type) return;\n let t = e.value;\n return 'boolean' == typeof t ? t : void 0;\n};\n","import { getDecoratorNameUnsafe as e, getDecoratorObjectArgUnsafe as t, getIdentifierName as n, getLiteralBooleanValueUnsafe as r, getLiteralStringValueUnsafe as a, getObjectPropertyUnsafe as i, hasDecorator as l, matchesMemberExpression as o } from '../ast/matchers.js';\nimport { nodeStart as s } from '../ast/types.js';\nlet NON_LITERAL = {\n kind: 'non-literal'\n}, MISSING = {\n kind: 'missing'\n}, literal = (e)=>({\n kind: 'literal',\n value: e\n });\nexport const ChangeDetectionStrategy = {\n Default: 0,\n OnPush: 1\n};\nlet componentCache = new WeakMap(), cacheStats = {\n hits: 0,\n misses: 0\n};\nexport const getComponentCacheStats = ()=>({\n hits: cacheStats.hits,\n misses: cacheStats.misses\n });\nexport const resetComponentCacheStats = ()=>{\n cacheStats.hits = 0, cacheStats.misses = 0;\n};\nexport const analyzeComponent = (e)=>{\n let t = componentCache.get(e);\n if (void 0 !== t) return cacheStats.hits++, t;\n cacheStats.misses++;\n let n = resolveAngularDecoratorName(e);\n if (!n) return componentCache.set(e, null), null;\n let r = findDecoratorByName(e.decorators, n);\n if (!r) return componentCache.set(e, null), null;\n let a = buildComponentMetadata(e, r, n);\n return componentCache.set(e, a), a;\n};\nlet resolveAngularDecoratorName = (e)=>l(e, 'Component') ? 'Component' : l(e, 'Directive') ? 'Directive' : void 0, findDecoratorByName = (t, n)=>{\n for(let r = 0; r < t.length; r++)if (e(t[r]) === n) return t[r];\n}, buildComponentMetadata = (e, n, r)=>{\n let a = 'Component' === r, i = t(n);\n return {\n className: e.id?.name,\n selector: i ? extractLiteralStringField(i, 'selector') : MISSING,\n changeDetection: a && i ? extractChangeDetection(i) : MISSING,\n standalone: i ? extractStandalone(i) : MISSING,\n templateUrl: a && i ? extractLiteralStringField(i, 'templateUrl') : MISSING,\n template: a && i ? extractLiteralStringField(i, 'template') : MISSING,\n hostDirectives: i ? extractHostDirectives(i) : MISSING,\n decoratorStart: s(n),\n type: r\n };\n}, extractLiteralStringField = (e, t)=>{\n let n = i(e, t);\n if (!n) return MISSING;\n let r = a(n);\n return void 0 !== r ? literal(r) : NON_LITERAL;\n}, extractStandalone = (e)=>{\n let t = i(e, 'standalone');\n if (!t) return MISSING;\n let n = r(t);\n return void 0 !== n ? literal(n) : NON_LITERAL;\n}, extractChangeDetection = (e)=>{\n let t = i(e, 'changeDetection');\n if (!t) return MISSING;\n let r = n(t);\n return 'OnPush' === r ? literal(ChangeDetectionStrategy.OnPush) : 'Default' === r ? literal(ChangeDetectionStrategy.Default) : void 0 !== r ? NON_LITERAL : o(t, 'ChangeDetectionStrategy', 'OnPush') ? literal(ChangeDetectionStrategy.OnPush) : o(t, 'ChangeDetectionStrategy', 'Default') ? literal(ChangeDetectionStrategy.Default) : NON_LITERAL;\n}, extractHostDirectives = (e)=>{\n let t = i(e, 'hostDirectives');\n if (!t) return MISSING;\n if ('ArrayExpression' !== t.type) return NON_LITERAL;\n let n = t.elements, r = [];\n for(let e = 0; e < n.length; e++){\n let t = n[e];\n if (!t) continue;\n let a = parseHostDirectiveElement(t);\n a && r.push(a);\n }\n return literal(r);\n}, parseHostDirectiveElement = (e)=>{\n let t = n(e);\n if (void 0 !== t) return {\n directive: t,\n inputs: [],\n outputs: []\n };\n if ('ObjectExpression' === e.type) {\n let t = i(e, 'directive');\n return {\n directive: t ? n(t) : void 0,\n inputs: extractRenames(i(e, 'inputs')),\n outputs: extractRenames(i(e, 'outputs'))\n };\n }\n return null;\n}, extractRenames = (e)=>{\n if (!e || 'ArrayExpression' !== e.type) return [];\n let t = e.elements, n = [];\n for(let e = 0; e < t.length; e++){\n let r = t[e];\n if (!r) continue;\n let i = a(r);\n i && n.push(parseRenameString(i));\n }\n return n;\n}, parseRenameString = (e)=>{\n let t = e.indexOf(':');\n return -1 === t ? {\n internal: e,\n external: e\n } : {\n internal: e.slice(0, t).trim(),\n external: e.slice(t + 1).trim()\n };\n};\nexport const isComponent = (e)=>null !== analyzeComponent(e);\nexport const usesOnPush = (e)=>{\n let t = analyzeComponent(e);\n if (!t) return !1;\n let n = t.changeDetection;\n return 'literal' === n.kind && n.value === ChangeDetectionStrategy.OnPush;\n};\nexport const isStandalone = (e)=>{\n let t = analyzeComponent(e);\n if (!t) return !1;\n let n = t.standalone;\n return 'literal' === n.kind && !0 === n.value;\n};\n","import { parseSync as e } from 'oxc-parser';\nimport { debug as t } from '@ngcompass/common';\nlet FOR_OF = ' of ', FOR_TRACK = ' track ';\nexport const analyzeTemplate = (e)=>{\n let t = [], s = [], r = [], n = e.templateStartOffset, o = (e)=>{\n if (e) {\n if (e.children) for (let t of e.children)o(t);\n visitAttributes(e, s, t, n), visitTextNode(e, t, n), visitBlock(e, r, t, n);\n }\n };\n for (let t of e.rootNodes)o(t);\n return {\n expressions: t,\n attributes: s,\n blocks: r\n };\n};\nlet visitAttributes = (e, t, s, r)=>{\n if (e.attrs) for (let n of e.attrs){\n let e = n.name, o = n.value, a = (n.valueSpan?.start?.offset ?? 0) + r;\n t.push({\n name: e,\n value: o,\n sourceSpan: {\n start: (n.sourceSpan?.start?.offset ?? 0) + r,\n end: (n.sourceSpan?.end?.offset ?? 0) + r\n }\n }), o && isBindingAttribute(e) && parseAndAdd(o, a, s);\n }\n}, visitTextNode = (e, t, s)=>{\n ('text' === e.kind || 'text' === e.type || e.constructor?.name === 'Text') && e.value && (e.tokens ? extractInterpolationsFromTokens(e, t, s) : extractInterpolationsManually(e, t, s));\n}, visitBlock = (e, t, s, r)=>{\n if ('block' !== e.kind && e.constructor?.name !== 'Block') return;\n let n = e.name ?? '', o = e.parameters ?? [];\n for (let a of (t.push({\n name: n,\n parameters: o.map((e)=>({\n expression: e.expression ?? '',\n sourceSpan: {\n start: (e.sourceSpan?.start?.offset ?? 0) + r,\n end: (e.sourceSpan?.end?.offset ?? 0) + r\n }\n })),\n sourceSpan: {\n start: (e.sourceSpan?.start?.offset ?? 0) + r,\n end: (e.sourceSpan?.end?.offset ?? 0) + r\n }\n }), o)){\n if (!a.expression) continue;\n let e = (a.sourceSpan?.start?.offset ?? 0) + r;\n 'for' === n ? extractForBlockExpressions(a.expression, e, s) : parseAndAdd(a.expression, e, s);\n }\n}, extractInterpolationsFromTokens = (e, t, s)=>{\n if (e.tokens) for (let r of e.tokens){\n if (8 === r.type && r.parts?.length === 3) parseAndAdd(r.parts[1], r.sourceSpan.start.offset + r.parts[0].length + s, t);\n }\n}, extractInterpolationsManually = (e, t, s)=>{\n let r = e.value ?? '', n = (e.sourceSpan?.start?.offset ?? 0) + s, o = 0, a = r.indexOf('{{', o);\n for(; -1 !== a;){\n let e = r.indexOf('}}', a + 2);\n if (-1 === e) break;\n parseAndAdd(r.substring(a + 2, e), n + a + 2, t), o = e + 2, a = r.indexOf('{{', o);\n }\n}, extractForBlockExpressions = (e, t, s)=>{\n e.includes(FOR_TRACK) ? parseAndAdd(e.split(FOR_TRACK)[1], t + e.indexOf(FOR_TRACK) + FOR_TRACK.length, s) : e.startsWith('track ') && parseAndAdd(e.substring(6), t + 6, s), e.includes(FOR_OF) && parseAndAdd(e.split(FOR_OF)[1].split(';')[0], t + e.indexOf(FOR_OF) + FOR_OF.length, s);\n}, isBindingAttribute = (e)=>e.startsWith('*') || e.startsWith('[') && e.endsWith(']') || e.startsWith('bind-'), parseAndAdd = (s, r, n)=>{\n if (s.trim()) try {\n let t = e('template.ts', `(${s})`, {\n sourceType: 'module',\n lang: 'ts'\n });\n if (0 === t.program.body.length) return;\n let o = t.program.body[0];\n if ('ExpressionStatement' !== o.type || !o.expression) return;\n let a = o.expression;\n 'ParenthesizedExpression' === a.type && a.expression && (a = a.expression), n.push({\n expression: a,\n sourceSpan: {\n start: r,\n end: r + s.length\n }\n });\n } catch (r) {\n let e = r instanceof Error ? r.message : String(r);\n t('parser', `Skipping unparsable template fragment \"${s}\": ${e}`);\n }\n};\n","import { analyzeComponent as t } from './analyzers/component-analyzer.js';\nimport { getDecoratorNameUnsafe as e } from './ast/matchers.js';\nimport { nodeStart as r } from './ast/types.js';\nexport const toAngularClassStream = (e)=>{\n let r = t(e);\n return r ? {\n node: e,\n metadata: r\n } : null;\n};\nlet ANY_ANGULAR_DECORATORS = new Set([\n 'Component',\n 'Directive',\n 'Pipe',\n 'Injectable',\n 'NgModule'\n]);\nexport const toAnyAngularClassStream = (t)=>{\n let o = t.decorators;\n if (!o) return null;\n for(let n = 0; n < o.length; n++){\n let a = o[n], l = e(a);\n if (l && ANY_ANGULAR_DECORATORS.has(l)) return {\n node: t,\n decoratorName: l,\n className: t.id?.name,\n decoratorStart: r(a)\n };\n }\n return null;\n};\nexport const toDecoratedPropertyStream = (t)=>{\n let e = t.decorators;\n return e && 0 !== e.length ? {\n node: t,\n decorators: e\n } : null;\n};\nexport const toCallExpressionStream = (t)=>t;\nexport const toNewExpressionStream = (t)=>t;\nexport const toImportDeclarationStream = (t)=>t;\n","import { transform as r } from 'lightningcss';\nexport const parseCss = (r, e)=>{\n try {\n let n = runLightningCssTransform(r, e);\n return {\n ok: !0,\n ...n\n };\n } catch (r) {\n return {\n ok: !1,\n error: r\n };\n }\n};\nlet runLightningCssTransform = (e, n)=>{\n let o = r({\n filename: n,\n code: Buffer.from(e),\n minify: !1,\n sourceMap: !1\n });\n return {\n code: o.code,\n map: o.map\n };\n};\n","import { parse as r } from 'angular-html-parser';\nexport const parseHtml = (r, e = 0)=>{\n let o = runAngularHtmlParse(r);\n return {\n rootNodes: o.rootNodes,\n errors: o.errors,\n templateStartOffset: e\n };\n};\nlet runAngularHtmlParse = (e)=>r(e, {\n tokenizeAngularBlocks: !0\n });\n","let NON_CHILD_KEYS = new Set([\n 'parent',\n 'span',\n 'loc',\n 'range',\n 'start',\n 'end',\n 'type'\n]);\nfunction isTraversableNode(e) {\n return 'object' == typeof e && null !== e && 'string' == typeof e.type;\n}\nexport function walkProgram(e, t) {\n if (!e) return;\n let r = [\n e\n ];\n for(; r.length > 0;){\n let e = r.pop();\n if (!e || !1 === t(e)) continue;\n let n = [];\n for(let t in e){\n if (NON_CHILD_KEYS.has(t)) continue;\n let r = e[t];\n if (r && 'object' == typeof r) if (Array.isArray(r)) for(let e = 0; e < r.length; e++){\n let t = r[e];\n isTraversableNode(t) && n.push(t);\n }\n else isTraversableNode(r) && n.push(r);\n }\n for(let e = n.length - 1; e >= 0; e--)r.push(n[e]);\n }\n}\n","import { walkProgram as t } from '../visitor.js';\nlet EMPTY = {\n content: '',\n startOffset: 0\n};\nexport function extractTemplateFromProgram(e) {\n let r = EMPTY;\n return t(e, (t)=>{\n if (r.content) return !1;\n if ('ClassDeclaration' !== t.type || !Array.isArray(t.decorators)) return;\n let e = function(t) {\n let e = t.decorators;\n if (!e) return null;\n for (let t of e){\n let e = t?.expression;\n if (!e || 'CallExpression' !== e.type) continue;\n let r = e.callee;\n if (!r || 'Identifier' !== r.type || 'Component' !== r.name) continue;\n let n = e.arguments, a = n?.[0];\n if (!a || 'ObjectExpression' !== a.type) continue;\n let i = function(t, e) {\n if (!Array.isArray(t)) return null;\n for (let r of t){\n let t = r?.key, n = r?.value;\n if (t && n && (t.name ?? t.value) === e) return n;\n }\n return null;\n }(a.properties, 'template');\n if (i) return function(t) {\n if (!t) return EMPTY;\n if ('StringLiteral' === t.type || 'Literal' === t.type) {\n let e = t.span, r = t.start ?? e?.start ?? 0;\n return {\n content: t.value ?? '',\n startOffset: r + 1\n };\n }\n if ('TemplateLiteral' === t.type) {\n let e = t.quasis ?? [], r = e.map((t)=>{\n let e = t.value;\n return e?.raw ?? '';\n }).join(''), n = e[0]?.span;\n return {\n content: r,\n startOffset: (e[0]?.start ?? n?.start ?? 0) + 1\n };\n }\n return EMPTY;\n }(i);\n }\n return null;\n }(t);\n if (e) return r = e, !1;\n }), r;\n}\n","import { parseSync as r } from 'oxc-parser';\nexport const parseTs = (r, e)=>{\n let o = runOxcParse(e, r);\n return {\n program: o.program,\n errors: o.errors\n };\n};\nlet runOxcParse = (e, o)=>r(e, o, {\n sourceType: 'module',\n lang: 'tsx'\n });\n"]} |
+2
-2
| { | ||
| "name": "@ngcompass/ast", | ||
| "version": "0.2.0-beta", | ||
| "version": "0.2.1-beta", | ||
| "description": "AST types, parsers, analyzers and visitor for ngcompass", | ||
@@ -27,3 +27,3 @@ "sideEffects": false, | ||
| "oxc-parser": "^0.112.0", | ||
| "@ngcompass/common": "0.2.0-beta" | ||
| "@ngcompass/common": "0.2.1-beta" | ||
| }, | ||
@@ -30,0 +30,0 @@ "peerDependencies": { |
131611
0.59%358
1.7%+ Added
- Removed
Updated