🚀 Socket Launch Week Day 5:Introducing Repository Access Permissions and Custom Roles.Learn more
Sign In

@ngcompass/ast

Package Overview
Dependencies
Maintainers
1
Versions
12
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@ngcompass/ast - npm Package Compare versions

Comparing version
0.1.6-beta
to
0.1.7-beta
+1
-1
dist/index.cjs

@@ -1,2 +0,2 @@

'use strict';var oxcParser=require('oxc-parser'),angularHtmlParser=require('angular-html-parser'),lightningcss=require('lightningcss');var k=(e,t)=>{let r=e.decorators;if(!r)return false;for(let n=0;n<r.length;n++){let o=r[n];if(C(o)===t)return true}return false},C=e=>{let t=e.expression;if(t&&t.type==="CallExpression"){let r=t.callee;if(r.type==="Identifier")return r.name;if(r.type==="MemberExpression"||r.type==="StaticMemberExpression"){let n=r.property;if(n.type==="Identifier")return n.name}}},L=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},he=(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"&&M(o.key)===t)return true}return false},i=(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"&&M(o.key)===t)return o.value}},M=e=>{if(e){if(e.type==="Identifier")return e.name;if(e.type==="StringLiteral"||e.type==="Literal")return typeof e.value=="string"?e.value:void 0}},A=(e,t,r)=>{if(!e||e.type!=="MemberExpression"&&e.type!=="StaticMemberExpression")return false;let n=e.property;if(!n||n.type!=="Identifier"||n.name!==r)return false;let o=e.object;return !!o&&(o.type==="Identifier"&&o.name===t||(o.type==="MemberExpression"||o.type==="StaticMemberExpression")&&o.property.type==="Identifier"&&o.property.name===t)},c=e=>{if(e&&(e.type==="StringLiteral"||e.type==="Literal")){let t=e.value;return typeof t=="string"?t:void 0}},P=e=>{if(e&&(e.type==="BooleanLiteral"||e.type==="Literal")){let t=e.value;return typeof t=="boolean"?t:void 0}},Se=e=>{if(!e||e.type!=="CallExpression")return false;let t=e.callee;return t.type==="Identifier"&&t.name==="input"||(t.type==="MemberExpression"||t.type==="StaticMemberExpression")&&t.object.type==="Identifier"&&t.object.name==="input"&&t.property.type==="Identifier"&&t.property.name==="required"},ve=e=>{let t=e.callee,r=e.arguments;if(r&&r.length!==0)return t.type==="MemberExpression"||t.type==="StaticMemberExpression"?B(r):w(r)},B=e=>{let t=e[0];if(t&&t.type==="ObjectExpression")return c(i(t,"alias"))},w=e=>{if(e.length===1){let t=e[0];if(t.type==="StringLiteral"||t.type==="Literal")return c(t)}if(e.length>=2){let t=e[1];if(t&&t.type==="ObjectExpression")return c(i(t,"alias"))}};exports.ChangeDetectionStrategy=void 0;var d={kind:"non-literal"},l={kind:"missing"},u=e=>({kind:"literal",value:e});exports.ChangeDetectionStrategy=((exports.ChangeDetectionStrategy={})[exports.ChangeDetectionStrategy.Default=0]="Default",exports.ChangeDetectionStrategy[exports.ChangeDetectionStrategy.OnPush=1]="OnPush",exports.ChangeDetectionStrategy);var D=new WeakMap,S={hits:0,misses:0},z=()=>({hits:S.hits,misses:S.misses}),R=()=>{S.hits=0,S.misses=0;},v=e=>{let t=D.get(e);if(t!==void 0)return S.hits++,t;S.misses++;let r=W(e);if(!r)return D.set(e,null),null;let n=H(e.decorators,r);if(!n)return D.set(e,null),null;let o=_(e,n,r);return D.set(e,o),o},W=e=>k(e,"Component")?"Component":k(e,"Directive")?"Directive":void 0,H=(e,t)=>{for(let r=0;r<e.length;r++)if(C(e[r])===t)return e[r]},_=(e,t,r)=>{let n=r==="Component",o=L(t);return {className:e.id?.name,selector:o?V(o):l,changeDetection:n&&o?q(o):l,standalone:o?F(o):l,templateUrl:n&&o?G(o):l,template:n&&o?K(o):l,hostDirectives:o?Y(o):l,decoratorStart:t.start??t.span?.start??0,type:r}},V=e=>{let t=i(e,"selector");if(!t)return l;let r=c(t);return r!==void 0?u(r):d},q=e=>{let t=i(e,"changeDetection");if(!t)return l;if(t.type==="Identifier"){let r=t.name;return r==="OnPush"?u(1):r==="Default"?u(0):d}return A(t,"ChangeDetectionStrategy","OnPush")?u(1):A(t,"ChangeDetectionStrategy","Default")?u(0):d},F=e=>{let t=i(e,"standalone");if(!t)return l;let r=P(t);return r!==void 0?u(r):d},G=e=>{let t=i(e,"templateUrl");if(!t)return l;let r=c(t);return r!==void 0?u(r):d},K=e=>{let t=i(e,"template");if(!t)return l;let r=c(t);return r!==void 0?u(r):d},Y=e=>{let t=i(e,"hostDirectives");if(!t)return l;if(t.type!=="ArrayExpression")return d;let r=t.elements,n=[];for(let o=0;o<r.length;o++){let a=r[o];if(!a)continue;let s=$(a);s&&n.push(s);}return u(n)},$=e=>{if(e.type==="Identifier")return {directive:e.name,inputs:[],outputs:[]};if(e.type==="ObjectExpression"){let t=i(e,"directive");return {directive:t?.type==="Identifier"?t.name:void 0,inputs:j(i(e,"inputs")),outputs:j(i(e,"outputs"))}}return null},j=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=c(o);a&&r.push(J(a));}return r},J=e=>{if(e.includes(":")){let[t,r]=e.split(":").map(n=>n.trim());return {internal:t,external:r}}return {internal:e,external:e}},Q=e=>v(e)!==null,X=e=>{let t=v(e);if(!t)return false;let r=t.changeDetection;return r.kind==="literal"&&r.value===1},Z=e=>{let t=v(e);if(!t)return false;let r=t.standalone;return r.kind==="literal"&&r.value===true};var te=e=>{let t=[],r=[],n=[],o=a=>{if(a){if(a.children)for(let s of a.children)o(s);re(a,r,t),ne(a,t),oe(a,n,t);}};for(let a of e.rootNodes)o(a);return {expressions:t,attributes:r,blocks:n}},re=(e,t,r)=>{if(e.attrs)for(let n of e.attrs){let o=n.name,a=n.value,s=n.valueSpan?.start?.offset??0;t.push({name:o,value:a,sourceSpan:{start:n.sourceSpan?.start?.offset??0,end:n.sourceSpan?.end?.offset??0}}),a&&le(o)&&x(a,s,r);}},ne=(e,t)=>{(e.kind==="text"||e.type==="text"||e.constructor?.name==="Text")&&e.value&&(e.tokens?ae(e,t):se(e,t));},oe=(e,t,r)=>{if(e.kind!=="block"&&e.constructor?.name!=="Block")return;let n=e.name??"",o=e.parameters??[];for(let a of(t.push({name:n,parameters:o.map(s=>({expression:s.expression??"",sourceSpan:{start:s.sourceSpan?.start?.offset??0,end:s.sourceSpan?.end?.offset??0}})),sourceSpan:{start:e.sourceSpan?.start?.offset??0,end:e.sourceSpan?.end?.offset??0}}),o)){if(!a.expression)continue;let s=a.sourceSpan?.start?.offset??0;n==="for"?ie(a.expression,s,r):x(a.expression,s,r);}},ae=(e,t)=>{if(e.tokens)for(let r of e.tokens)r.type===8&&r.parts?.length===3&&x(r.parts[1],r.sourceSpan.start.offset+r.parts[0].length,t);},se=(e,t)=>{let r=e.value??"",n=e.sourceSpan?.start?.offset??0,o=0,a=r.indexOf("{{",o);for(;a!==-1;){let s=r.indexOf("}}",a+2);if(s===-1)break;x(r.substring(a+2,s),n+a+2,t),o=s+2,a=r.indexOf("{{",o);}},ie=(e,t,r)=>{e.includes(" track ")?x(e.split(" track ")[1],t+e.indexOf(" track ")+7,r):e.startsWith("track ")&&x(e.substring(6),t+6,r),e.includes(" of ")&&x(e.split(" of ")[1].split(";")[0],t+e.indexOf(" of ")+4,r);},le=e=>e.startsWith("*")||e.startsWith("[")&&e.endsWith("]")||e.startsWith("bind-"),x=(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{}};var Me=e=>{let t=v(e);return t?{node:e,metadata:t}:null},pe=new Set(["Component","Directive","Pipe","Injectable","NgModule"]),Pe=e=>{let t=e.decorators;if(!t)return null;for(let r=0;r<t.length;r++){let n=C(t[r]);if(n&&pe.has(n))return {node:e,decoratorName:n,className:e.id?.name,decoratorStart:t[r].start??t[r].span?.start??0}}return null},je=e=>{let t=e.decorators;return t&&t.length!==0?{node:e,decorators:t}:null},Ue=e=>e,Te=e=>e;var ze=(e,t)=>{let r=fe(t,e);return {program:r.program,errors:r.errors}},fe=(e,t)=>oxcParser.parseSync(e,t,{sourceType:"module",lang:"tsx"});var He=(e,t=0)=>{let r=me(e);return {rootNodes:r.rootNodes,errors:r.errors,templateStartOffset:t}},me=e=>angularHtmlParser.parse(e,{tokenizeAngularBlocks:true});var qe=(e,t)=>{try{return {ok:!0,...de(e,t)}}catch(r){return {ok:false,error:r}}},de=(e,t)=>{let r=lightningcss.transform({filename:t,code:Buffer.from(e),minify:false,sourceMap:false});return {code:r.code,map:r.map}};var xe=new Set(["parent","span","loc","range","start","end","type"]);function U(e){return typeof e=="object"&&e!==null&&typeof e.type=="string"}function I(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(xe.has(a))continue;let s=n[a];if(s&&typeof s=="object")if(Array.isArray(s))for(let f=0;f<s.length;f++){let g=s[f];U(g)&&o.push(g);}else U(s)&&o.push(s);}for(let a=o.length-1;a>=0;a--)r.push(o[a]);}}function Ye(e){let t={content:"",startOffset:0};return I(e,r=>{if(t.content)return false;if(r.type==="ClassDeclaration"&&Array.isArray(r.decorators)){let n=(function(o){let a=o.decorators;if(!a)return null;for(let s of a){let f=s?.expression;if(!f||f.type!=="CallExpression")continue;let g=f.callee;if(!g||g.type!=="Identifier"||g.name!=="Component")continue;let T=f.arguments,O=T?.[0];if(!O||O.type!=="ObjectExpression")continue;let N=(function(p,m){if(!Array.isArray(p))return null;for(let h of p){let b=h?.key,E=h?.value;if(b&&E&&(b.name??b.value)===m)return E}return null})(O.properties,"template");if(N)return (function(p){if(!p)return {content:"",startOffset:0};if(p.type==="StringLiteral"||p.type==="Literal"){let m=p.span,h=p.start??m?.start??0;return {content:p.value??"",startOffset:h+1}}if(p.type==="TemplateLiteral"){let m=p.quasis??[],h=m.map(E=>E.value?.raw??"").join(""),b=m[0]?.span;return {content:h,startOffset:(m[0]?.start??b?.start??0)+1}}return {content:"",startOffset:0}})(N)}return null})(r);if(n)return t=n,false}}),t}exports.analyzeComponent=v;exports.analyzeTemplate=te;exports.extractTemplateFromProgram=Ye;exports.getComponentCacheStats=z;exports.getDecoratorNameUnsafe=C;exports.getDecoratorObjectArgUnsafe=L;exports.getInputSignalAliasUnsafe=ve;exports.getKeyNameUnsafe=M;exports.getLiteralBooleanValueUnsafe=P;exports.getLiteralStringValueUnsafe=c;exports.getObjectPropertyUnsafe=i;exports.hasDecorator=k;exports.hasObjectProperty=he;exports.isComponent=Q;exports.isInputSignal=Se;exports.isStandalone=Z;exports.matchesMemberExpression=A;exports.parseCss=qe;exports.parseHtml=He;exports.parseTs=ze;exports.resetComponentCacheStats=R;exports.toAngularClassStream=Me;exports.toAnyAngularClassStream=Pe;exports.toCallExpressionStream=Ue;exports.toDecoratedPropertyStream=je;exports.toNewExpressionStream=Te;exports.usesOnPush=X;exports.walkProgram=I;//# 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;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
//# sourceMappingURL=index.cjs.map

@@ -1,1 +0,1 @@

{"version":3,"sources":["../src/ast/matchers.ts","../src/analyzers/component-analyzer.ts","../src/analyzers/template-analyzer.ts","../src/node-streams.ts","../src/parsers/ts.ts","../src/parsers/html.ts","../src/parsers/css.ts","../src/visitor.ts","../src/parsers/template-extractor.ts"],"names":["hasDecorator","classNode","decoratorName","decorators","i","length","decorator","getDecoratorNameUnsafe","expr","expression","type","callee","name","prop","property","getDecoratorObjectArgUnsafe","args","arguments","first","undefined","hasObjectProperty","objectExpr","keyName","properties","getKeyNameUnsafe","key","getObjectPropertyUnsafe","value","matchesMemberExpression","objectName","propertyName","obj","object","getLiteralStringValueUnsafe","node","getLiteralBooleanValueUnsafe","isInputSignal","getInputSignalAliasUnsafe","callExpr","getRequiredInputAlias","getOptionalInputAlias","second","ChangeDetectionStrategy","NON_LITERAL","kind","MISSING","literal","componentCache","WeakMap","cacheStats","hits","misses","getComponentCacheStats","resetComponentCacheStats","analyzeComponent","cached","get","resolveAngularDecoratorName","set","findDecoratorByName","metadata","buildComponentMetadata","isComp","metadataObject","className","id","selector","extractSelector","changeDetection","extractChangeDetection","standalone","extractStandalone","templateUrl","extractTemplateUrl","template","extractTemplate","hostDirectives","extractHostDirectives","decoratorStart","start","span","elements","results","el","parsed","parseHostDirectiveElement","push","directive","inputs","outputs","dirNode","extractRenames","renames","parseRenameString","includes","internal","external","split","map","s","trim","isComponent","usesOnPush","component","cd","isStandalone","analyzeTemplate","htmlResult","expressions","attributes","blocks","visit","children","child","visitAttributes","visitTextNode","visitBlock","rootNode","rootNodes","attrs","attr","attrOffset","valueSpan","offset","sourceSpan","end","isBindingAttribute","parseAndAdd","tokens","extractInterpolationsFromTokens","extractInterpolationsManually","blockName","parameters","param","p","extractForBlockExpressions","token","parts","textValue","nodeStart","lastIndex","indexOf","substring","startsWith","endsWith","code","outcomes","ret","parseSync","sourceType","lang","program","body","stmt","toAngularClassStream","ANY_ANGULAR_DECORATORS","Set","toAnyAngularClassStream","has","toDecoratedPropertyStream","propertyNode","toCallExpressionStream","toNewExpressionStream","parseTs","content","filePath","result","runOxcParse","errors","parseHtml","templateStartOffset","runAngularHtmlParse","parse","tokenizeAngularBlocks","parseCss","ok","runLightningCssTransform","error","transform","filename","Buffer","from","minify","sourceMap","NON_CHILD_KEYS","isTraversableNode","walkProgram","root","visitor","stack","pop","val","Array","isArray","extractTemplateFromProgram","startOffset","rawNode","extracted","call","objectArg","templateValue","quasis","q","raw","join","firstSpan"],"mappings":"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","file":"index.cjs","sourcesContent":["export const hasDecorator = (e, t)=>{\n let r = e.decorators;\n if (!r) return !1;\n for(let e = 0; e < r.length; e++){\n let n = r[e];\n if (getDecoratorNameUnsafe(n) === t) return !0;\n }\n return !1;\n};\nexport const getDecoratorNameUnsafe = (e)=>{\n let t = e.expression;\n if (t && 'CallExpression' === t.type) {\n let e = t.callee;\n if ('Identifier' === e.type) return e.name;\n if ('MemberExpression' === e.type || 'StaticMemberExpression' === e.type) {\n let t = e.property;\n if ('Identifier' === t.type) return t.name;\n }\n }\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) {\n if ('Identifier' === e.type) return e.name;\n if ('StringLiteral' === e.type || 'Literal' === e.type) return 'string' == typeof e.value ? e.value : void 0;\n }\n};\nexport const matchesMemberExpression = (e, t, r)=>{\n if (!e || 'MemberExpression' !== e.type && 'StaticMemberExpression' !== e.type) return !1;\n let n = e.property;\n if (!n || 'Identifier' !== n.type || n.name !== r) return !1;\n let i = e.object;\n return !!i && ('Identifier' === i.type && i.name === t || ('MemberExpression' === i.type || 'StaticMemberExpression' === i.type) && 'Identifier' === i.property.type && i.property.name === t);\n};\nexport const getLiteralStringValueUnsafe = (e)=>{\n if (e && ('StringLiteral' === e.type || 'Literal' === e.type)) {\n let t = e.value;\n return 'string' == typeof t ? t : void 0;\n }\n};\nexport const getLiteralBooleanValueUnsafe = (e)=>{\n if (e && ('BooleanLiteral' === e.type || 'Literal' === e.type)) {\n let t = e.value;\n return 'boolean' == typeof t ? t : void 0;\n }\n};\nexport const isInputSignal = (e)=>{\n if (!e || 'CallExpression' !== e.type) return !1;\n let t = e.callee;\n return 'Identifier' === t.type && 'input' === t.name || ('MemberExpression' === t.type || 'StaticMemberExpression' === t.type) && 'Identifier' === t.object.type && 'input' === t.object.name && 'Identifier' === t.property.type && 'required' === t.property.name;\n};\nexport const getInputSignalAliasUnsafe = (e)=>{\n let t = e.callee, r = e.arguments;\n if (r && 0 !== r.length) return 'MemberExpression' === t.type || 'StaticMemberExpression' === t.type ? getRequiredInputAlias(r) : getOptionalInputAlias(r);\n};\nlet getRequiredInputAlias = (e)=>{\n let t = e[0];\n if (t && 'ObjectExpression' === t.type) return getLiteralStringValueUnsafe(getObjectPropertyUnsafe(t, 'alias'));\n}, getOptionalInputAlias = (e)=>{\n if (1 === e.length) {\n let t = e[0];\n if ('StringLiteral' === t.type || 'Literal' === t.type) return getLiteralStringValueUnsafe(t);\n }\n if (e.length >= 2) {\n let t = e[1];\n if (t && 'ObjectExpression' === t.type) return getLiteralStringValueUnsafe(getObjectPropertyUnsafe(t, 'alias'));\n }\n};\n","var ChangeDetectionStrategy;\nimport { hasDecorator as e, getDecoratorNameUnsafe as t, getDecoratorObjectArgUnsafe as n, getObjectPropertyUnsafe as r, matchesMemberExpression as a, getLiteralStringValueUnsafe as l, getLiteralBooleanValueUnsafe as i } from '../ast/matchers.js';\nlet NON_LITERAL = {\n kind: 'non-literal'\n}, MISSING = {\n kind: 'missing'\n}, literal = (e)=>({\n kind: 'literal',\n value: e\n });\nexport var ChangeDetectionStrategy = ((ChangeDetectionStrategy = {})[ChangeDetectionStrategy.Default = 0] = \"Default\", ChangeDetectionStrategy[ChangeDetectionStrategy.OnPush = 1] = \"OnPush\", ChangeDetectionStrategy);\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 = (t)=>e(t, 'Component') ? 'Component' : e(t, 'Directive') ? 'Directive' : void 0, findDecoratorByName = (e, n)=>{\n for(let r = 0; r < e.length; r++)if (t(e[r]) === n) return e[r];\n}, buildComponentMetadata = (e, t, r)=>{\n let a = 'Component' === r, l = n(t);\n return {\n className: e.id?.name,\n selector: l ? extractSelector(l) : MISSING,\n changeDetection: a && l ? extractChangeDetection(l) : MISSING,\n standalone: l ? extractStandalone(l) : MISSING,\n templateUrl: a && l ? extractTemplateUrl(l) : MISSING,\n template: a && l ? extractTemplate(l) : MISSING,\n hostDirectives: l ? extractHostDirectives(l) : MISSING,\n decoratorStart: t.start ?? t.span?.start ?? 0,\n type: r\n };\n}, extractSelector = (e)=>{\n let t = r(e, 'selector');\n if (!t) return MISSING;\n let n = l(t);\n return void 0 !== n ? literal(n) : NON_LITERAL;\n}, extractChangeDetection = (e)=>{\n let t = r(e, 'changeDetection');\n if (!t) return MISSING;\n if ('Identifier' === t.type) {\n let e = t.name;\n return 'OnPush' === e ? literal(1) : 'Default' === e ? literal(0) : NON_LITERAL;\n }\n return a(t, 'ChangeDetectionStrategy', 'OnPush') ? literal(1) : a(t, 'ChangeDetectionStrategy', 'Default') ? literal(0) : NON_LITERAL;\n}, extractStandalone = (e)=>{\n let t = r(e, 'standalone');\n if (!t) return MISSING;\n let n = i(t);\n return void 0 !== n ? literal(n) : NON_LITERAL;\n}, extractTemplateUrl = (e)=>{\n let t = r(e, 'templateUrl');\n if (!t) return MISSING;\n let n = l(t);\n return void 0 !== n ? literal(n) : NON_LITERAL;\n}, extractTemplate = (e)=>{\n let t = r(e, 'template');\n if (!t) return MISSING;\n let n = l(t);\n return void 0 !== n ? literal(n) : NON_LITERAL;\n}, extractHostDirectives = (e)=>{\n let t = r(e, 'hostDirectives');\n if (!t) return MISSING;\n if ('ArrayExpression' !== t.type) return NON_LITERAL;\n let n = t.elements, a = [];\n for(let e = 0; e < n.length; e++){\n let t = n[e];\n if (!t) continue;\n let r = parseHostDirectiveElement(t);\n r && a.push(r);\n }\n return literal(a);\n}, parseHostDirectiveElement = (e)=>{\n if ('Identifier' === e.type) return {\n directive: e.name,\n inputs: [],\n outputs: []\n };\n if ('ObjectExpression' === e.type) {\n let t = r(e, 'directive');\n return {\n directive: t?.type === 'Identifier' ? t.name : void 0,\n inputs: extractRenames(r(e, 'inputs')),\n outputs: extractRenames(r(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 a = l(r);\n a && n.push(parseRenameString(a));\n }\n return n;\n}, parseRenameString = (e)=>{\n if (e.includes(':')) {\n let [t, n] = e.split(':').map((e)=>e.trim());\n return {\n internal: t,\n external: n\n };\n }\n return {\n internal: e,\n external: e\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 && 1 === n.value;\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 t } from 'oxc-parser';\nexport const analyzeTemplate = (t)=>{\n let e = [], s = [], r = [], n = (t)=>{\n if (t) {\n if (t.children) for (let e of t.children)n(e);\n visitAttributes(t, s, e), visitTextNode(t, e), visitBlock(t, r, e);\n }\n };\n for (let e of t.rootNodes)n(e);\n return {\n expressions: e,\n attributes: s,\n blocks: r\n };\n};\nlet visitAttributes = (t, e, s)=>{\n if (t.attrs) for (let r of t.attrs){\n let t = r.name, n = r.value, o = r.valueSpan?.start?.offset ?? 0;\n e.push({\n name: t,\n value: n,\n sourceSpan: {\n start: r.sourceSpan?.start?.offset ?? 0,\n end: r.sourceSpan?.end?.offset ?? 0\n }\n }), n && isBindingAttribute(t) && parseAndAdd(n, o, s);\n }\n}, visitTextNode = (t, e)=>{\n ('text' === t.kind || 'text' === t.type || t.constructor?.name === 'Text') && t.value && (t.tokens ? extractInterpolationsFromTokens(t, e) : extractInterpolationsManually(t, e));\n}, visitBlock = (t, e, s)=>{\n if ('block' !== t.kind && t.constructor?.name !== 'Block') return;\n let r = t.name ?? '', n = t.parameters ?? [];\n for (let o of (e.push({\n name: r,\n parameters: n.map((t)=>({\n expression: t.expression ?? '',\n sourceSpan: {\n start: t.sourceSpan?.start?.offset ?? 0,\n end: t.sourceSpan?.end?.offset ?? 0\n }\n })),\n sourceSpan: {\n start: t.sourceSpan?.start?.offset ?? 0,\n end: t.sourceSpan?.end?.offset ?? 0\n }\n }), n)){\n if (!o.expression) continue;\n let t = o.sourceSpan?.start?.offset ?? 0;\n 'for' === r ? extractForBlockExpressions(o.expression, t, s) : parseAndAdd(o.expression, t, s);\n }\n}, extractInterpolationsFromTokens = (t, e)=>{\n if (t.tokens) for (let s of t.tokens)8 === s.type && s.parts?.length === 3 && parseAndAdd(s.parts[1], s.sourceSpan.start.offset + s.parts[0].length, e);\n}, extractInterpolationsManually = (t, e)=>{\n let s = t.value ?? '', r = t.sourceSpan?.start?.offset ?? 0, n = 0, o = s.indexOf('{{', n);\n for(; -1 !== o;){\n let t = s.indexOf('}}', o + 2);\n if (-1 === t) break;\n parseAndAdd(s.substring(o + 2, t), r + o + 2, e), n = t + 2, o = s.indexOf('{{', n);\n }\n}, extractForBlockExpressions = (t, e, s)=>{\n t.includes(' track ') ? parseAndAdd(t.split(' track ')[1], e + t.indexOf(' track ') + 7, s) : t.startsWith('track ') && parseAndAdd(t.substring(6), e + 6, s), t.includes(' of ') && parseAndAdd(t.split(' of ')[1].split(';')[0], e + t.indexOf(' of ') + 4, s);\n}, isBindingAttribute = (t)=>t.startsWith('*') || t.startsWith('[') && t.endsWith(']') || t.startsWith('bind-'), parseAndAdd = (e, s, r)=>{\n if (e.trim()) try {\n let n = t('template.ts', `(${e})`, {\n sourceType: 'module',\n lang: 'ts'\n });\n if (0 === n.program.body.length) return;\n let o = n.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), r.push({\n expression: a,\n sourceSpan: {\n start: s,\n end: s + e.length\n }\n });\n } catch {}\n};\n","import { analyzeComponent as t } from './analyzers/component-analyzer.js';\nimport { getDecoratorNameUnsafe as e } from './ast/matchers.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 r = t.decorators;\n if (!r) return null;\n for(let o = 0; o < r.length; o++){\n let n = e(r[o]);\n if (n && ANY_ANGULAR_DECORATORS.has(n)) return {\n node: t,\n decoratorName: n,\n className: t.id?.name,\n decoratorStart: r[o].start ?? r[o].span?.start ?? 0\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;\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","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","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","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';\nexport function extractTemplateFromProgram(e) {\n let r = {\n content: '',\n startOffset: 0\n };\n return t(e, (t)=>{\n if (r.content) return !1;\n if ('ClassDeclaration' === t.type && Array.isArray(t.decorators)) {\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 {\n content: '',\n startOffset: 0\n };\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 {\n content: '',\n startOffset: 0\n };\n }(i);\n }\n return null;\n }(t);\n if (e) return r = e, !1;\n }\n }), r;\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","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"]}
import { Program } from 'oxc-parser';
/**
* Minimal AST Type Definitions (Zero-Copy, ESTree-like)
*
* These types match Oxc's ESTree-compatible AST structure.
* Only include fields we actually use to minimize overhead.
*/
interface Node {

@@ -18,2 +12,4 @@ readonly type: string;

}
declare const nodeStart: (node: Pick<Node, "start" | "span">) => number;
declare const nodeEnd: (node: Pick<Node, "end" | "span">) => number;
interface Identifier extends Node {

@@ -137,77 +133,12 @@ readonly type: 'Identifier';

/**
* AST Matchers (Zero-Allocation, Pure Functions)
*
* PERFORMANCE RULES:
* - No object creation in hot paths
* - No array allocations
* - No string concatenation
* - Return primitives or pre-existing references only
*
* "Unsafe" suffix convention: May return undefined, caller must handle.
*/
/**
* Checks if a node has a specific decorator.
*
* @returns boolean (primitive, zero allocation)
*/
declare const getIdentifierName: (node: Expression | undefined) => string | undefined;
declare const hasDecorator: (classNode: ClassDeclaration, decoratorName: string) => boolean;
/**
* Gets decorator name (unsafe: may return undefined).
*
* PERFORMANCE: Returns string reference from AST (zero copy).
* Rules must handle undefined.
*/
declare const getDecoratorNameUnsafe: (decorator: Decorator) => string | undefined;
/**
* Gets first decorator argument if it's an object literal.
*
* PERFORMANCE: Returns AST reference (zero copy).
*/
declare const getDecoratorObjectArgUnsafe: (decorator: Decorator) => ObjectExpression | undefined;
/**
* Checks if object has a property with given key.
*
* PERFORMANCE: No allocation, early return.
*/
declare const hasObjectProperty: (objectExpr: ObjectExpression, keyName: string) => boolean;
/**
* Gets property value by key name (unsafe: may return undefined).
*
* PERFORMANCE: Returns AST reference (zero copy).
*/
declare const getObjectPropertyUnsafe: (objectExpr: ObjectExpression, keyName: string) => Expression | undefined;
/**
* Gets key name from object key (unsafe).
*
* PERFORMANCE: Returns string reference from AST.
*/
declare const getKeyNameUnsafe: (key: Expression) => string | undefined;
/**
* Checks if member expression matches pattern (e.g., ChangeDetectionStrategy.OnPush).
*
* PERFORMANCE: No allocation, early return.
*/
declare const matchesMemberExpression: (expr: Expression, objectName: string, propertyName: string) => boolean;
/**
* Gets literal string value (unsafe: may return undefined).
*
* PERFORMANCE: Returns string reference from AST.
*/
declare const getLiteralStringValueUnsafe: (node: Expression) => string | undefined;
/**
* Gets literal boolean value (unsafe: may return undefined).
*
* PERFORMANCE: Returns boolean primitive from AST.
*/
declare const getLiteralBooleanValueUnsafe: (node: Expression) => boolean | undefined;
/**
* Checks if expression is an Angular input() signal call.
*/
declare const isInputSignal: (expr: Expression) => boolean;
/**
* Extracts alias from input() signal call if present.
*/
declare const getInputSignalAliasUnsafe: (callExpr: CallExpression) => string | undefined;

@@ -225,6 +156,7 @@ type LiteralValue<T> = {

type MetadataValue<T> = LiteralValue<T> | NonLiteralValue | MissingValue;
declare enum ChangeDetectionStrategy {
Default = 0,
OnPush = 1
}
declare const ChangeDetectionStrategy: {
readonly Default: 0;
readonly OnPush: 1;
};
type ChangeDetectionStrategy = (typeof ChangeDetectionStrategy)[keyof typeof ChangeDetectionStrategy];
interface HostDirectiveMetadata {

@@ -258,7 +190,2 @@ readonly directive: string | undefined;

declare const resetComponentCacheStats: () => void;
/**
* Analyzes @Component / @Directive decorator metadata.
* Returns null if the class has neither decorator.
* Results are cached in a WeakMap — O(1) on subsequent calls.
*/
declare const analyzeComponent: (classNode: ClassDeclaration) => ComponentMetadata | null;

@@ -269,14 +196,2 @@ declare const isComponent: (classNode: ClassDeclaration) => boolean;

/**
* Node Streams (Pre-Filtered Semantic Dispatch)
*
* PERFORMANCE RULE:
* Rules must subscribe to the most specific stream possible.
*
* FORBIDDEN:
* - Rules checking "is this a component?" (use AngularClassStream)
* - Rules checking "is this decorated?" (use DecoratedPropertyStream)
* - Rules checking node types (dispatcher handles this)
*/
interface TemplateExpressionNode {

@@ -316,10 +231,2 @@ readonly expression: Expression;

}
/**
* Angular Decorator Stream: ClassDeclaration nodes with @Component or @Directive.
*
* Rules subscribing to this stream are guaranteed:
* - Node is a ClassDeclaration
* - Node has @Component or @Directive decorator
* - Metadata is pre-analyzed and cached
*/
interface AngularClassNode {

@@ -329,12 +236,2 @@ readonly node: ClassDeclaration;

}
/**
* Any Angular Decorated Class Stream: ClassDeclaration nodes with ANY Angular decorator.
*
* Rules subscribing to this stream are guaranteed:
* - Node is a ClassDeclaration
* - Node has at least one of: @Component, @Directive, @Pipe, @Injectable, @NgModule
*
* Use this when the rule applies beyond @Component/@Directive (e.g. naming rules
* for pipes, services, or guards).
*/
interface AnyAngularClassNode {

@@ -346,9 +243,2 @@ readonly node: ClassDeclaration;

}
/**
* Decorated Property Stream: PropertyDefinition nodes with decorators.
*
* Rules subscribing to this stream are guaranteed:
* - Node is a PropertyDefinition
* - Node has at least one decorator (@Input, @Output, @ViewChild, etc.)
*/
interface DecoratedPropertyNode {

@@ -358,85 +248,17 @@ readonly node: PropertyDefinition;

}
/**
* Filters ClassDeclaration nodes to Angular components or directives.
*
* PERFORMANCE: O(1) after first call (cached).
* Called by engine during traversal, not by rules.
*/
declare const toAngularClassStream: (classNode: ClassDeclaration) => AngularClassNode | null;
/**
* Filters ClassDeclaration nodes to ANY Angular-decorated class.
*
* PERFORMANCE: O(D) where D = number of decorators on the class (usually 1).
* Called by engine during traversal, not by rules.
*/
declare const toAnyAngularClassStream: (classNode: ClassDeclaration) => AnyAngularClassNode | null;
/**
* Filters PropertyDefinition nodes to decorated properties.
*
* PERFORMANCE: O(1) decorator array access.
* Called by engine, not by rules.
*/
declare const toDecoratedPropertyStream: (propertyNode: PropertyDefinition) => DecoratedPropertyNode | null;
/**
* Pass-through filter for CallExpression stream.
*/
declare const toCallExpressionStream: (node: CallExpression) => CallExpression;
/**
* Pass-through filter for NewExpression stream.
*/
declare const toNewExpressionStream: (node: NewExpression) => NewExpression;
interface HtmlParserResult$1 {
rootNodes: readonly unknown[];
}
declare const analyzeTemplate: (htmlResult: HtmlParserResult$1) => {
expressions: TemplateExpressionNode[];
attributes: TemplateAttributeNode[];
blocks: TemplateBlockNode[];
};
interface TsParserResult {
program: Program;
errors: unknown[];
}
/**
* Parses TypeScript / TSX source code using Oxc.
*
* @param content - Source text
* @param filePath - Source filename (used for diagnostics)
* @returns Parsed program and parse errors
*/
declare const parseTs: (content: string, filePath: string) => TsParserResult;
interface HtmlParserResult {
rootNodes: unknown[];
errors: unknown[];
/**
* Byte offset in the *source file* where the template content begins.
*
* - For external `.html` files this is always `0` — the HTML file is the
* template, so its offsets are already file-absolute.
* - For inline templates inside a `.ts` file this is the position of the
* first content character (right after the opening quote/backtick) in
* the TypeScript source.
*
* Template rules MUST add this value to `node.sourceSpan.start` before
* calling `context.locator.location()` so that reported line/column
* numbers are correct for both inline and external templates.
*/
templateStartOffset: number;
readonly rootNodes: ReadonlyArray<unknown>;
readonly errors: ReadonlyArray<unknown>;
readonly templateStartOffset: number;
}
/**
* Parses Angular HTML template source.
*
* @param content - Template source text (content only, no surrounding quotes)
* @param templateStartOffset - Byte offset in the original source file where
* `content[0]` lives. Use `0` for external `.html`
* files; supply the value from `extractTemplateFromProgram`
* for inline templates in `.ts` files.
* @returns Parsed root nodes, parse errors, and the start offset.
*/
declare const parseHtml: (content: string, templateStartOffset?: number) => HtmlParserResult;
declare const analyzeTemplate: (htmlResult: HtmlParserResult) => TemplateAnalysis;
interface CssParserResult {

@@ -446,5 +268,2 @@ code: Buffer | Uint8Array;

}
/**
* Result type for CSS parsing and validation.
*/
type CssResult = {

@@ -458,77 +277,21 @@ ok: true;

};
/**
* Parses and validates CSS using Lightning CSS.
*
* @param content - CSS source text
* @param filePath - Source filename for diagnostics
* @returns CssResult with transformed output or an error
*/
declare const parseCss: (content: string, filePath: string) => CssResult;
/**
* Template Extractor
*
* Extracts the inline template string from an Oxc-parsed TypeScript program.
* Moved from orchestrator.ts to make it independently testable and reusable.
*
* Uses walkProgram() (the shared visitor) instead of a hand-rolled recursion,
* which is consistent with how the rules engine traverses the AST and
* benefits from the same early-exit optimisation (returning false stops descent).
*
* Handles both:
* - StringLiteral: template: '<h1>Hello</h1>'
* - TemplateLiteral: template: `<h1>{{ name }}</h1>`
*/
/**
* Result of extracting an inline template from a TypeScript program.
*/
interface ExtractedTemplate {
/** The raw HTML content of the template (no surrounding quotes/backticks). */
readonly content: string;
/**
* Byte offset in the TypeScript source file where `content[0]` lives.
*
* This is used to convert template-relative offsets (produced by the HTML
* parser, which only sees the template content) back into file-absolute
* offsets (required by `Locator.location()`).
*
* For external .html files this value is always 0 — the HTML file IS the
* template, so its offsets are already file-absolute.
*/
readonly startOffset: number;
}
/**
* Extracts the inline template string from the first @Component class found
* in the given Oxc program.
*
* @param program - Oxc-parsed Program node
* @returns ExtractedTemplate with content and its start offset in the file,
* or `{ content: '', startOffset: 0 }` if no template was found.
*/
declare function extractTemplateFromProgram(program: Program): ExtractedTemplate;
interface TsParserResult {
program: Program;
errors: unknown[];
}
declare const parseTs: (content: string, filePath: string) => TsParserResult;
interface TraversableNode {
readonly type: string;
}
/**
* Iterative pre-order DFS walker for Oxc AST.
*
* Replaces the previous recursive implementation to eliminate two hotpath costs:
* 1. Call-stack overflow risk on deeply nested ASTs (large files with many nested
* arrow functions, ternaries, optional chaining, etc.).
* 2. `Object.keys()` allocation on every node — on a 10 000-node AST that was
* 10 000 short-lived string arrays per file. `for...in` iterates without
* allocating the intermediate array.
*
* Traversal order: identical to the recursive version (pre-order DFS, children
* visited in property-key insertion order). The engine relies only on the guarantee
* that every node is visited; it does NOT depend on parent-before-child ordering
* beyond what pre-order naturally provides.
*
* @param root - The Program (or any sub-tree root) to walk
* @param visitor - Called for each node. Return `false` to skip that node's children.
*/
declare function walkProgram(root: TraversableNode | null | undefined, visitor: (node: TraversableNode) => void | boolean): void;
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, getInputSignalAliasUnsafe, getKeyNameUnsafe, getLiteralBooleanValueUnsafe, getLiteralStringValueUnsafe, getObjectPropertyUnsafe, hasDecorator, hasObjectProperty, isComponent, isInputSignal, isStandalone, matchesMemberExpression, 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 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 };
import { Program } from 'oxc-parser';
/**
* Minimal AST Type Definitions (Zero-Copy, ESTree-like)
*
* These types match Oxc's ESTree-compatible AST structure.
* Only include fields we actually use to minimize overhead.
*/
interface Node {

@@ -18,2 +12,4 @@ readonly type: string;

}
declare const nodeStart: (node: Pick<Node, "start" | "span">) => number;
declare const nodeEnd: (node: Pick<Node, "end" | "span">) => number;
interface Identifier extends Node {

@@ -137,77 +133,12 @@ readonly type: 'Identifier';

/**
* AST Matchers (Zero-Allocation, Pure Functions)
*
* PERFORMANCE RULES:
* - No object creation in hot paths
* - No array allocations
* - No string concatenation
* - Return primitives or pre-existing references only
*
* "Unsafe" suffix convention: May return undefined, caller must handle.
*/
/**
* Checks if a node has a specific decorator.
*
* @returns boolean (primitive, zero allocation)
*/
declare const getIdentifierName: (node: Expression | undefined) => string | undefined;
declare const hasDecorator: (classNode: ClassDeclaration, decoratorName: string) => boolean;
/**
* Gets decorator name (unsafe: may return undefined).
*
* PERFORMANCE: Returns string reference from AST (zero copy).
* Rules must handle undefined.
*/
declare const getDecoratorNameUnsafe: (decorator: Decorator) => string | undefined;
/**
* Gets first decorator argument if it's an object literal.
*
* PERFORMANCE: Returns AST reference (zero copy).
*/
declare const getDecoratorObjectArgUnsafe: (decorator: Decorator) => ObjectExpression | undefined;
/**
* Checks if object has a property with given key.
*
* PERFORMANCE: No allocation, early return.
*/
declare const hasObjectProperty: (objectExpr: ObjectExpression, keyName: string) => boolean;
/**
* Gets property value by key name (unsafe: may return undefined).
*
* PERFORMANCE: Returns AST reference (zero copy).
*/
declare const getObjectPropertyUnsafe: (objectExpr: ObjectExpression, keyName: string) => Expression | undefined;
/**
* Gets key name from object key (unsafe).
*
* PERFORMANCE: Returns string reference from AST.
*/
declare const getKeyNameUnsafe: (key: Expression) => string | undefined;
/**
* Checks if member expression matches pattern (e.g., ChangeDetectionStrategy.OnPush).
*
* PERFORMANCE: No allocation, early return.
*/
declare const matchesMemberExpression: (expr: Expression, objectName: string, propertyName: string) => boolean;
/**
* Gets literal string value (unsafe: may return undefined).
*
* PERFORMANCE: Returns string reference from AST.
*/
declare const getLiteralStringValueUnsafe: (node: Expression) => string | undefined;
/**
* Gets literal boolean value (unsafe: may return undefined).
*
* PERFORMANCE: Returns boolean primitive from AST.
*/
declare const getLiteralBooleanValueUnsafe: (node: Expression) => boolean | undefined;
/**
* Checks if expression is an Angular input() signal call.
*/
declare const isInputSignal: (expr: Expression) => boolean;
/**
* Extracts alias from input() signal call if present.
*/
declare const getInputSignalAliasUnsafe: (callExpr: CallExpression) => string | undefined;

@@ -225,6 +156,7 @@ type LiteralValue<T> = {

type MetadataValue<T> = LiteralValue<T> | NonLiteralValue | MissingValue;
declare enum ChangeDetectionStrategy {
Default = 0,
OnPush = 1
}
declare const ChangeDetectionStrategy: {
readonly Default: 0;
readonly OnPush: 1;
};
type ChangeDetectionStrategy = (typeof ChangeDetectionStrategy)[keyof typeof ChangeDetectionStrategy];
interface HostDirectiveMetadata {

@@ -258,7 +190,2 @@ readonly directive: string | undefined;

declare const resetComponentCacheStats: () => void;
/**
* Analyzes @Component / @Directive decorator metadata.
* Returns null if the class has neither decorator.
* Results are cached in a WeakMap — O(1) on subsequent calls.
*/
declare const analyzeComponent: (classNode: ClassDeclaration) => ComponentMetadata | null;

@@ -269,14 +196,2 @@ declare const isComponent: (classNode: ClassDeclaration) => boolean;

/**
* Node Streams (Pre-Filtered Semantic Dispatch)
*
* PERFORMANCE RULE:
* Rules must subscribe to the most specific stream possible.
*
* FORBIDDEN:
* - Rules checking "is this a component?" (use AngularClassStream)
* - Rules checking "is this decorated?" (use DecoratedPropertyStream)
* - Rules checking node types (dispatcher handles this)
*/
interface TemplateExpressionNode {

@@ -316,10 +231,2 @@ readonly expression: Expression;

}
/**
* Angular Decorator Stream: ClassDeclaration nodes with @Component or @Directive.
*
* Rules subscribing to this stream are guaranteed:
* - Node is a ClassDeclaration
* - Node has @Component or @Directive decorator
* - Metadata is pre-analyzed and cached
*/
interface AngularClassNode {

@@ -329,12 +236,2 @@ readonly node: ClassDeclaration;

}
/**
* Any Angular Decorated Class Stream: ClassDeclaration nodes with ANY Angular decorator.
*
* Rules subscribing to this stream are guaranteed:
* - Node is a ClassDeclaration
* - Node has at least one of: @Component, @Directive, @Pipe, @Injectable, @NgModule
*
* Use this when the rule applies beyond @Component/@Directive (e.g. naming rules
* for pipes, services, or guards).
*/
interface AnyAngularClassNode {

@@ -346,9 +243,2 @@ readonly node: ClassDeclaration;

}
/**
* Decorated Property Stream: PropertyDefinition nodes with decorators.
*
* Rules subscribing to this stream are guaranteed:
* - Node is a PropertyDefinition
* - Node has at least one decorator (@Input, @Output, @ViewChild, etc.)
*/
interface DecoratedPropertyNode {

@@ -358,85 +248,17 @@ readonly node: PropertyDefinition;

}
/**
* Filters ClassDeclaration nodes to Angular components or directives.
*
* PERFORMANCE: O(1) after first call (cached).
* Called by engine during traversal, not by rules.
*/
declare const toAngularClassStream: (classNode: ClassDeclaration) => AngularClassNode | null;
/**
* Filters ClassDeclaration nodes to ANY Angular-decorated class.
*
* PERFORMANCE: O(D) where D = number of decorators on the class (usually 1).
* Called by engine during traversal, not by rules.
*/
declare const toAnyAngularClassStream: (classNode: ClassDeclaration) => AnyAngularClassNode | null;
/**
* Filters PropertyDefinition nodes to decorated properties.
*
* PERFORMANCE: O(1) decorator array access.
* Called by engine, not by rules.
*/
declare const toDecoratedPropertyStream: (propertyNode: PropertyDefinition) => DecoratedPropertyNode | null;
/**
* Pass-through filter for CallExpression stream.
*/
declare const toCallExpressionStream: (node: CallExpression) => CallExpression;
/**
* Pass-through filter for NewExpression stream.
*/
declare const toNewExpressionStream: (node: NewExpression) => NewExpression;
interface HtmlParserResult$1 {
rootNodes: readonly unknown[];
}
declare const analyzeTemplate: (htmlResult: HtmlParserResult$1) => {
expressions: TemplateExpressionNode[];
attributes: TemplateAttributeNode[];
blocks: TemplateBlockNode[];
};
interface TsParserResult {
program: Program;
errors: unknown[];
}
/**
* Parses TypeScript / TSX source code using Oxc.
*
* @param content - Source text
* @param filePath - Source filename (used for diagnostics)
* @returns Parsed program and parse errors
*/
declare const parseTs: (content: string, filePath: string) => TsParserResult;
interface HtmlParserResult {
rootNodes: unknown[];
errors: unknown[];
/**
* Byte offset in the *source file* where the template content begins.
*
* - For external `.html` files this is always `0` — the HTML file is the
* template, so its offsets are already file-absolute.
* - For inline templates inside a `.ts` file this is the position of the
* first content character (right after the opening quote/backtick) in
* the TypeScript source.
*
* Template rules MUST add this value to `node.sourceSpan.start` before
* calling `context.locator.location()` so that reported line/column
* numbers are correct for both inline and external templates.
*/
templateStartOffset: number;
readonly rootNodes: ReadonlyArray<unknown>;
readonly errors: ReadonlyArray<unknown>;
readonly templateStartOffset: number;
}
/**
* Parses Angular HTML template source.
*
* @param content - Template source text (content only, no surrounding quotes)
* @param templateStartOffset - Byte offset in the original source file where
* `content[0]` lives. Use `0` for external `.html`
* files; supply the value from `extractTemplateFromProgram`
* for inline templates in `.ts` files.
* @returns Parsed root nodes, parse errors, and the start offset.
*/
declare const parseHtml: (content: string, templateStartOffset?: number) => HtmlParserResult;
declare const analyzeTemplate: (htmlResult: HtmlParserResult) => TemplateAnalysis;
interface CssParserResult {

@@ -446,5 +268,2 @@ code: Buffer | Uint8Array;

}
/**
* Result type for CSS parsing and validation.
*/
type CssResult = {

@@ -458,77 +277,21 @@ ok: true;

};
/**
* Parses and validates CSS using Lightning CSS.
*
* @param content - CSS source text
* @param filePath - Source filename for diagnostics
* @returns CssResult with transformed output or an error
*/
declare const parseCss: (content: string, filePath: string) => CssResult;
/**
* Template Extractor
*
* Extracts the inline template string from an Oxc-parsed TypeScript program.
* Moved from orchestrator.ts to make it independently testable and reusable.
*
* Uses walkProgram() (the shared visitor) instead of a hand-rolled recursion,
* which is consistent with how the rules engine traverses the AST and
* benefits from the same early-exit optimisation (returning false stops descent).
*
* Handles both:
* - StringLiteral: template: '<h1>Hello</h1>'
* - TemplateLiteral: template: `<h1>{{ name }}</h1>`
*/
/**
* Result of extracting an inline template from a TypeScript program.
*/
interface ExtractedTemplate {
/** The raw HTML content of the template (no surrounding quotes/backticks). */
readonly content: string;
/**
* Byte offset in the TypeScript source file where `content[0]` lives.
*
* This is used to convert template-relative offsets (produced by the HTML
* parser, which only sees the template content) back into file-absolute
* offsets (required by `Locator.location()`).
*
* For external .html files this value is always 0 — the HTML file IS the
* template, so its offsets are already file-absolute.
*/
readonly startOffset: number;
}
/**
* Extracts the inline template string from the first @Component class found
* in the given Oxc program.
*
* @param program - Oxc-parsed Program node
* @returns ExtractedTemplate with content and its start offset in the file,
* or `{ content: '', startOffset: 0 }` if no template was found.
*/
declare function extractTemplateFromProgram(program: Program): ExtractedTemplate;
interface TsParserResult {
program: Program;
errors: unknown[];
}
declare const parseTs: (content: string, filePath: string) => TsParserResult;
interface TraversableNode {
readonly type: string;
}
/**
* Iterative pre-order DFS walker for Oxc AST.
*
* Replaces the previous recursive implementation to eliminate two hotpath costs:
* 1. Call-stack overflow risk on deeply nested ASTs (large files with many nested
* arrow functions, ternaries, optional chaining, etc.).
* 2. `Object.keys()` allocation on every node — on a 10 000-node AST that was
* 10 000 short-lived string arrays per file. `for...in` iterates without
* allocating the intermediate array.
*
* Traversal order: identical to the recursive version (pre-order DFS, children
* visited in property-key insertion order). The engine relies only on the guarantee
* that every node is visited; it does NOT depend on parent-before-child ordering
* beyond what pre-order naturally provides.
*
* @param root - The Program (or any sub-tree root) to walk
* @param visitor - Called for each node. Return `false` to skip that node's children.
*/
declare function walkProgram(root: TraversableNode | null | undefined, visitor: (node: TraversableNode) => void | boolean): void;
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, getInputSignalAliasUnsafe, getKeyNameUnsafe, getLiteralBooleanValueUnsafe, getLiteralStringValueUnsafe, getObjectPropertyUnsafe, hasDecorator, hasObjectProperty, isComponent, isInputSignal, isStandalone, matchesMemberExpression, 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 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 };

@@ -1,2 +0,2 @@

import {parseSync}from'oxc-parser';import {parse}from'angular-html-parser';import {transform}from'lightningcss';var k=(e,t)=>{let r=e.decorators;if(!r)return false;for(let n=0;n<r.length;n++){let o=r[n];if(C(o)===t)return true}return false},C=e=>{let t=e.expression;if(t&&t.type==="CallExpression"){let r=t.callee;if(r.type==="Identifier")return r.name;if(r.type==="MemberExpression"||r.type==="StaticMemberExpression"){let n=r.property;if(n.type==="Identifier")return n.name}}},L=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},he=(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"&&M(o.key)===t)return true}return false},i=(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"&&M(o.key)===t)return o.value}},M=e=>{if(e){if(e.type==="Identifier")return e.name;if(e.type==="StringLiteral"||e.type==="Literal")return typeof e.value=="string"?e.value:void 0}},A=(e,t,r)=>{if(!e||e.type!=="MemberExpression"&&e.type!=="StaticMemberExpression")return false;let n=e.property;if(!n||n.type!=="Identifier"||n.name!==r)return false;let o=e.object;return !!o&&(o.type==="Identifier"&&o.name===t||(o.type==="MemberExpression"||o.type==="StaticMemberExpression")&&o.property.type==="Identifier"&&o.property.name===t)},c=e=>{if(e&&(e.type==="StringLiteral"||e.type==="Literal")){let t=e.value;return typeof t=="string"?t:void 0}},P=e=>{if(e&&(e.type==="BooleanLiteral"||e.type==="Literal")){let t=e.value;return typeof t=="boolean"?t:void 0}},Se=e=>{if(!e||e.type!=="CallExpression")return false;let t=e.callee;return t.type==="Identifier"&&t.name==="input"||(t.type==="MemberExpression"||t.type==="StaticMemberExpression")&&t.object.type==="Identifier"&&t.object.name==="input"&&t.property.type==="Identifier"&&t.property.name==="required"},ve=e=>{let t=e.callee,r=e.arguments;if(r&&r.length!==0)return t.type==="MemberExpression"||t.type==="StaticMemberExpression"?B(r):w(r)},B=e=>{let t=e[0];if(t&&t.type==="ObjectExpression")return c(i(t,"alias"))},w=e=>{if(e.length===1){let t=e[0];if(t.type==="StringLiteral"||t.type==="Literal")return c(t)}if(e.length>=2){let t=e[1];if(t&&t.type==="ObjectExpression")return c(i(t,"alias"))}};var y,d={kind:"non-literal"},l={kind:"missing"},u=e=>({kind:"literal",value:e}),y=((y={})[y.Default=0]="Default",y[y.OnPush=1]="OnPush",y),D=new WeakMap,S={hits:0,misses:0},z=()=>({hits:S.hits,misses:S.misses}),R=()=>{S.hits=0,S.misses=0;},v=e=>{let t=D.get(e);if(t!==void 0)return S.hits++,t;S.misses++;let r=W(e);if(!r)return D.set(e,null),null;let n=H(e.decorators,r);if(!n)return D.set(e,null),null;let o=_(e,n,r);return D.set(e,o),o},W=e=>k(e,"Component")?"Component":k(e,"Directive")?"Directive":void 0,H=(e,t)=>{for(let r=0;r<e.length;r++)if(C(e[r])===t)return e[r]},_=(e,t,r)=>{let n=r==="Component",o=L(t);return {className:e.id?.name,selector:o?V(o):l,changeDetection:n&&o?q(o):l,standalone:o?F(o):l,templateUrl:n&&o?G(o):l,template:n&&o?K(o):l,hostDirectives:o?Y(o):l,decoratorStart:t.start??t.span?.start??0,type:r}},V=e=>{let t=i(e,"selector");if(!t)return l;let r=c(t);return r!==void 0?u(r):d},q=e=>{let t=i(e,"changeDetection");if(!t)return l;if(t.type==="Identifier"){let r=t.name;return r==="OnPush"?u(1):r==="Default"?u(0):d}return A(t,"ChangeDetectionStrategy","OnPush")?u(1):A(t,"ChangeDetectionStrategy","Default")?u(0):d},F=e=>{let t=i(e,"standalone");if(!t)return l;let r=P(t);return r!==void 0?u(r):d},G=e=>{let t=i(e,"templateUrl");if(!t)return l;let r=c(t);return r!==void 0?u(r):d},K=e=>{let t=i(e,"template");if(!t)return l;let r=c(t);return r!==void 0?u(r):d},Y=e=>{let t=i(e,"hostDirectives");if(!t)return l;if(t.type!=="ArrayExpression")return d;let r=t.elements,n=[];for(let o=0;o<r.length;o++){let a=r[o];if(!a)continue;let s=$(a);s&&n.push(s);}return u(n)},$=e=>{if(e.type==="Identifier")return {directive:e.name,inputs:[],outputs:[]};if(e.type==="ObjectExpression"){let t=i(e,"directive");return {directive:t?.type==="Identifier"?t.name:void 0,inputs:j(i(e,"inputs")),outputs:j(i(e,"outputs"))}}return null},j=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=c(o);a&&r.push(J(a));}return r},J=e=>{if(e.includes(":")){let[t,r]=e.split(":").map(n=>n.trim());return {internal:t,external:r}}return {internal:e,external:e}},Q=e=>v(e)!==null,X=e=>{let t=v(e);if(!t)return false;let r=t.changeDetection;return r.kind==="literal"&&r.value===1},Z=e=>{let t=v(e);if(!t)return false;let r=t.standalone;return r.kind==="literal"&&r.value===true};var te=e=>{let t=[],r=[],n=[],o=a=>{if(a){if(a.children)for(let s of a.children)o(s);re(a,r,t),ne(a,t),oe(a,n,t);}};for(let a of e.rootNodes)o(a);return {expressions:t,attributes:r,blocks:n}},re=(e,t,r)=>{if(e.attrs)for(let n of e.attrs){let o=n.name,a=n.value,s=n.valueSpan?.start?.offset??0;t.push({name:o,value:a,sourceSpan:{start:n.sourceSpan?.start?.offset??0,end:n.sourceSpan?.end?.offset??0}}),a&&le(o)&&x(a,s,r);}},ne=(e,t)=>{(e.kind==="text"||e.type==="text"||e.constructor?.name==="Text")&&e.value&&(e.tokens?ae(e,t):se(e,t));},oe=(e,t,r)=>{if(e.kind!=="block"&&e.constructor?.name!=="Block")return;let n=e.name??"",o=e.parameters??[];for(let a of(t.push({name:n,parameters:o.map(s=>({expression:s.expression??"",sourceSpan:{start:s.sourceSpan?.start?.offset??0,end:s.sourceSpan?.end?.offset??0}})),sourceSpan:{start:e.sourceSpan?.start?.offset??0,end:e.sourceSpan?.end?.offset??0}}),o)){if(!a.expression)continue;let s=a.sourceSpan?.start?.offset??0;n==="for"?ie(a.expression,s,r):x(a.expression,s,r);}},ae=(e,t)=>{if(e.tokens)for(let r of e.tokens)r.type===8&&r.parts?.length===3&&x(r.parts[1],r.sourceSpan.start.offset+r.parts[0].length,t);},se=(e,t)=>{let r=e.value??"",n=e.sourceSpan?.start?.offset??0,o=0,a=r.indexOf("{{",o);for(;a!==-1;){let s=r.indexOf("}}",a+2);if(s===-1)break;x(r.substring(a+2,s),n+a+2,t),o=s+2,a=r.indexOf("{{",o);}},ie=(e,t,r)=>{e.includes(" track ")?x(e.split(" track ")[1],t+e.indexOf(" track ")+7,r):e.startsWith("track ")&&x(e.substring(6),t+6,r),e.includes(" of ")&&x(e.split(" of ")[1].split(";")[0],t+e.indexOf(" of ")+4,r);},le=e=>e.startsWith("*")||e.startsWith("[")&&e.endsWith("]")||e.startsWith("bind-"),x=(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{}};var Me=e=>{let t=v(e);return t?{node:e,metadata:t}:null},pe=new Set(["Component","Directive","Pipe","Injectable","NgModule"]),Pe=e=>{let t=e.decorators;if(!t)return null;for(let r=0;r<t.length;r++){let n=C(t[r]);if(n&&pe.has(n))return {node:e,decoratorName:n,className:e.id?.name,decoratorStart:t[r].start??t[r].span?.start??0}}return null},je=e=>{let t=e.decorators;return t&&t.length!==0?{node:e,decorators:t}:null},Ue=e=>e,Te=e=>e;var ze=(e,t)=>{let r=fe(t,e);return {program:r.program,errors:r.errors}},fe=(e,t)=>parseSync(e,t,{sourceType:"module",lang:"tsx"});var He=(e,t=0)=>{let r=me(e);return {rootNodes:r.rootNodes,errors:r.errors,templateStartOffset:t}},me=e=>parse(e,{tokenizeAngularBlocks:true});var qe=(e,t)=>{try{return {ok:!0,...de(e,t)}}catch(r){return {ok:false,error:r}}},de=(e,t)=>{let r=transform({filename:t,code:Buffer.from(e),minify:false,sourceMap:false});return {code:r.code,map:r.map}};var xe=new Set(["parent","span","loc","range","start","end","type"]);function U(e){return typeof e=="object"&&e!==null&&typeof e.type=="string"}function I(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(xe.has(a))continue;let s=n[a];if(s&&typeof s=="object")if(Array.isArray(s))for(let f=0;f<s.length;f++){let g=s[f];U(g)&&o.push(g);}else U(s)&&o.push(s);}for(let a=o.length-1;a>=0;a--)r.push(o[a]);}}function Ye(e){let t={content:"",startOffset:0};return I(e,r=>{if(t.content)return false;if(r.type==="ClassDeclaration"&&Array.isArray(r.decorators)){let n=(function(o){let a=o.decorators;if(!a)return null;for(let s of a){let f=s?.expression;if(!f||f.type!=="CallExpression")continue;let g=f.callee;if(!g||g.type!=="Identifier"||g.name!=="Component")continue;let T=f.arguments,O=T?.[0];if(!O||O.type!=="ObjectExpression")continue;let N=(function(p,m){if(!Array.isArray(p))return null;for(let h of p){let b=h?.key,E=h?.value;if(b&&E&&(b.name??b.value)===m)return E}return null})(O.properties,"template");if(N)return (function(p){if(!p)return {content:"",startOffset:0};if(p.type==="StringLiteral"||p.type==="Literal"){let m=p.span,h=p.start??m?.start??0;return {content:p.value??"",startOffset:h+1}}if(p.type==="TemplateLiteral"){let m=p.quasis??[],h=m.map(E=>E.value?.raw??"").join(""),b=m[0]?.span;return {content:h,startOffset:(m[0]?.start??b?.start??0)+1}}return {content:"",startOffset:0}})(N)}return null})(r);if(n)return t=n,false}}),t}export{y as ChangeDetectionStrategy,v as analyzeComponent,te as analyzeTemplate,Ye as extractTemplateFromProgram,z as getComponentCacheStats,C as getDecoratorNameUnsafe,L as getDecoratorObjectArgUnsafe,ve as getInputSignalAliasUnsafe,M as getKeyNameUnsafe,P as getLiteralBooleanValueUnsafe,c as getLiteralStringValueUnsafe,i as getObjectPropertyUnsafe,k as hasDecorator,he as hasObjectProperty,Q as isComponent,Se as isInputSignal,Z as isStandalone,A as matchesMemberExpression,qe as parseCss,He as parseHtml,ze as parseTs,R as resetComponentCacheStats,Me as toAngularClassStream,Pe as toAnyAngularClassStream,Ue as toCallExpressionStream,je as toDecoratedPropertyStream,Te as toNewExpressionStream,X as usesOnPush,I 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;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
//# sourceMappingURL=index.js.map

@@ -1,1 +0,1 @@

{"version":3,"sources":["../src/ast/matchers.ts","../src/analyzers/component-analyzer.ts","../src/analyzers/template-analyzer.ts","../src/node-streams.ts","../src/parsers/ts.ts","../src/parsers/html.ts","../src/parsers/css.ts","../src/visitor.ts","../src/parsers/template-extractor.ts"],"names":["hasDecorator","classNode","decoratorName","decorators","i","length","decorator","getDecoratorNameUnsafe","expr","expression","type","callee","name","prop","property","getDecoratorObjectArgUnsafe","args","arguments","first","undefined","hasObjectProperty","objectExpr","keyName","properties","getKeyNameUnsafe","key","getObjectPropertyUnsafe","value","matchesMemberExpression","objectName","propertyName","obj","object","getLiteralStringValueUnsafe","node","getLiteralBooleanValueUnsafe","isInputSignal","getInputSignalAliasUnsafe","callExpr","getRequiredInputAlias","getOptionalInputAlias","second","ChangeDetectionStrategy","NON_LITERAL","kind","MISSING","literal","componentCache","WeakMap","cacheStats","hits","misses","getComponentCacheStats","resetComponentCacheStats","analyzeComponent","cached","get","resolveAngularDecoratorName","set","findDecoratorByName","metadata","buildComponentMetadata","isComp","metadataObject","className","id","selector","extractSelector","changeDetection","extractChangeDetection","standalone","extractStandalone","templateUrl","extractTemplateUrl","template","extractTemplate","hostDirectives","extractHostDirectives","decoratorStart","start","span","elements","results","el","parsed","parseHostDirectiveElement","push","directive","inputs","outputs","dirNode","extractRenames","renames","parseRenameString","includes","internal","external","split","map","s","trim","isComponent","usesOnPush","component","cd","isStandalone","analyzeTemplate","htmlResult","expressions","attributes","blocks","visit","children","child","visitAttributes","visitTextNode","visitBlock","rootNode","rootNodes","attrs","attr","attrOffset","valueSpan","offset","sourceSpan","end","isBindingAttribute","parseAndAdd","tokens","extractInterpolationsFromTokens","extractInterpolationsManually","blockName","parameters","param","p","extractForBlockExpressions","token","parts","textValue","nodeStart","lastIndex","indexOf","substring","startsWith","endsWith","code","outcomes","ret","parseSync","sourceType","lang","program","body","stmt","toAngularClassStream","ANY_ANGULAR_DECORATORS","Set","toAnyAngularClassStream","has","toDecoratedPropertyStream","propertyNode","toCallExpressionStream","toNewExpressionStream","parseTs","content","filePath","result","runOxcParse","errors","parseHtml","templateStartOffset","runAngularHtmlParse","parse","tokenizeAngularBlocks","parseCss","ok","runLightningCssTransform","error","transform","filename","Buffer","from","minify","sourceMap","NON_CHILD_KEYS","isTraversableNode","walkProgram","root","visitor","stack","pop","val","Array","isArray","extractTemplateFromProgram","startOffset","rawNode","extracted","call","objectArg","templateValue","quasis","q","raw","join","firstSpan"],"mappings":"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","file":"index.js","sourcesContent":["export const hasDecorator = (e, t)=>{\n let r = e.decorators;\n if (!r) return !1;\n for(let e = 0; e < r.length; e++){\n let n = r[e];\n if (getDecoratorNameUnsafe(n) === t) return !0;\n }\n return !1;\n};\nexport const getDecoratorNameUnsafe = (e)=>{\n let t = e.expression;\n if (t && 'CallExpression' === t.type) {\n let e = t.callee;\n if ('Identifier' === e.type) return e.name;\n if ('MemberExpression' === e.type || 'StaticMemberExpression' === e.type) {\n let t = e.property;\n if ('Identifier' === t.type) return t.name;\n }\n }\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) {\n if ('Identifier' === e.type) return e.name;\n if ('StringLiteral' === e.type || 'Literal' === e.type) return 'string' == typeof e.value ? e.value : void 0;\n }\n};\nexport const matchesMemberExpression = (e, t, r)=>{\n if (!e || 'MemberExpression' !== e.type && 'StaticMemberExpression' !== e.type) return !1;\n let n = e.property;\n if (!n || 'Identifier' !== n.type || n.name !== r) return !1;\n let i = e.object;\n return !!i && ('Identifier' === i.type && i.name === t || ('MemberExpression' === i.type || 'StaticMemberExpression' === i.type) && 'Identifier' === i.property.type && i.property.name === t);\n};\nexport const getLiteralStringValueUnsafe = (e)=>{\n if (e && ('StringLiteral' === e.type || 'Literal' === e.type)) {\n let t = e.value;\n return 'string' == typeof t ? t : void 0;\n }\n};\nexport const getLiteralBooleanValueUnsafe = (e)=>{\n if (e && ('BooleanLiteral' === e.type || 'Literal' === e.type)) {\n let t = e.value;\n return 'boolean' == typeof t ? t : void 0;\n }\n};\nexport const isInputSignal = (e)=>{\n if (!e || 'CallExpression' !== e.type) return !1;\n let t = e.callee;\n return 'Identifier' === t.type && 'input' === t.name || ('MemberExpression' === t.type || 'StaticMemberExpression' === t.type) && 'Identifier' === t.object.type && 'input' === t.object.name && 'Identifier' === t.property.type && 'required' === t.property.name;\n};\nexport const getInputSignalAliasUnsafe = (e)=>{\n let t = e.callee, r = e.arguments;\n if (r && 0 !== r.length) return 'MemberExpression' === t.type || 'StaticMemberExpression' === t.type ? getRequiredInputAlias(r) : getOptionalInputAlias(r);\n};\nlet getRequiredInputAlias = (e)=>{\n let t = e[0];\n if (t && 'ObjectExpression' === t.type) return getLiteralStringValueUnsafe(getObjectPropertyUnsafe(t, 'alias'));\n}, getOptionalInputAlias = (e)=>{\n if (1 === e.length) {\n let t = e[0];\n if ('StringLiteral' === t.type || 'Literal' === t.type) return getLiteralStringValueUnsafe(t);\n }\n if (e.length >= 2) {\n let t = e[1];\n if (t && 'ObjectExpression' === t.type) return getLiteralStringValueUnsafe(getObjectPropertyUnsafe(t, 'alias'));\n }\n};\n","var ChangeDetectionStrategy;\nimport { hasDecorator as e, getDecoratorNameUnsafe as t, getDecoratorObjectArgUnsafe as n, getObjectPropertyUnsafe as r, matchesMemberExpression as a, getLiteralStringValueUnsafe as l, getLiteralBooleanValueUnsafe as i } from '../ast/matchers.js';\nlet NON_LITERAL = {\n kind: 'non-literal'\n}, MISSING = {\n kind: 'missing'\n}, literal = (e)=>({\n kind: 'literal',\n value: e\n });\nexport var ChangeDetectionStrategy = ((ChangeDetectionStrategy = {})[ChangeDetectionStrategy.Default = 0] = \"Default\", ChangeDetectionStrategy[ChangeDetectionStrategy.OnPush = 1] = \"OnPush\", ChangeDetectionStrategy);\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 = (t)=>e(t, 'Component') ? 'Component' : e(t, 'Directive') ? 'Directive' : void 0, findDecoratorByName = (e, n)=>{\n for(let r = 0; r < e.length; r++)if (t(e[r]) === n) return e[r];\n}, buildComponentMetadata = (e, t, r)=>{\n let a = 'Component' === r, l = n(t);\n return {\n className: e.id?.name,\n selector: l ? extractSelector(l) : MISSING,\n changeDetection: a && l ? extractChangeDetection(l) : MISSING,\n standalone: l ? extractStandalone(l) : MISSING,\n templateUrl: a && l ? extractTemplateUrl(l) : MISSING,\n template: a && l ? extractTemplate(l) : MISSING,\n hostDirectives: l ? extractHostDirectives(l) : MISSING,\n decoratorStart: t.start ?? t.span?.start ?? 0,\n type: r\n };\n}, extractSelector = (e)=>{\n let t = r(e, 'selector');\n if (!t) return MISSING;\n let n = l(t);\n return void 0 !== n ? literal(n) : NON_LITERAL;\n}, extractChangeDetection = (e)=>{\n let t = r(e, 'changeDetection');\n if (!t) return MISSING;\n if ('Identifier' === t.type) {\n let e = t.name;\n return 'OnPush' === e ? literal(1) : 'Default' === e ? literal(0) : NON_LITERAL;\n }\n return a(t, 'ChangeDetectionStrategy', 'OnPush') ? literal(1) : a(t, 'ChangeDetectionStrategy', 'Default') ? literal(0) : NON_LITERAL;\n}, extractStandalone = (e)=>{\n let t = r(e, 'standalone');\n if (!t) return MISSING;\n let n = i(t);\n return void 0 !== n ? literal(n) : NON_LITERAL;\n}, extractTemplateUrl = (e)=>{\n let t = r(e, 'templateUrl');\n if (!t) return MISSING;\n let n = l(t);\n return void 0 !== n ? literal(n) : NON_LITERAL;\n}, extractTemplate = (e)=>{\n let t = r(e, 'template');\n if (!t) return MISSING;\n let n = l(t);\n return void 0 !== n ? literal(n) : NON_LITERAL;\n}, extractHostDirectives = (e)=>{\n let t = r(e, 'hostDirectives');\n if (!t) return MISSING;\n if ('ArrayExpression' !== t.type) return NON_LITERAL;\n let n = t.elements, a = [];\n for(let e = 0; e < n.length; e++){\n let t = n[e];\n if (!t) continue;\n let r = parseHostDirectiveElement(t);\n r && a.push(r);\n }\n return literal(a);\n}, parseHostDirectiveElement = (e)=>{\n if ('Identifier' === e.type) return {\n directive: e.name,\n inputs: [],\n outputs: []\n };\n if ('ObjectExpression' === e.type) {\n let t = r(e, 'directive');\n return {\n directive: t?.type === 'Identifier' ? t.name : void 0,\n inputs: extractRenames(r(e, 'inputs')),\n outputs: extractRenames(r(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 a = l(r);\n a && n.push(parseRenameString(a));\n }\n return n;\n}, parseRenameString = (e)=>{\n if (e.includes(':')) {\n let [t, n] = e.split(':').map((e)=>e.trim());\n return {\n internal: t,\n external: n\n };\n }\n return {\n internal: e,\n external: e\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 && 1 === n.value;\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 t } from 'oxc-parser';\nexport const analyzeTemplate = (t)=>{\n let e = [], s = [], r = [], n = (t)=>{\n if (t) {\n if (t.children) for (let e of t.children)n(e);\n visitAttributes(t, s, e), visitTextNode(t, e), visitBlock(t, r, e);\n }\n };\n for (let e of t.rootNodes)n(e);\n return {\n expressions: e,\n attributes: s,\n blocks: r\n };\n};\nlet visitAttributes = (t, e, s)=>{\n if (t.attrs) for (let r of t.attrs){\n let t = r.name, n = r.value, o = r.valueSpan?.start?.offset ?? 0;\n e.push({\n name: t,\n value: n,\n sourceSpan: {\n start: r.sourceSpan?.start?.offset ?? 0,\n end: r.sourceSpan?.end?.offset ?? 0\n }\n }), n && isBindingAttribute(t) && parseAndAdd(n, o, s);\n }\n}, visitTextNode = (t, e)=>{\n ('text' === t.kind || 'text' === t.type || t.constructor?.name === 'Text') && t.value && (t.tokens ? extractInterpolationsFromTokens(t, e) : extractInterpolationsManually(t, e));\n}, visitBlock = (t, e, s)=>{\n if ('block' !== t.kind && t.constructor?.name !== 'Block') return;\n let r = t.name ?? '', n = t.parameters ?? [];\n for (let o of (e.push({\n name: r,\n parameters: n.map((t)=>({\n expression: t.expression ?? '',\n sourceSpan: {\n start: t.sourceSpan?.start?.offset ?? 0,\n end: t.sourceSpan?.end?.offset ?? 0\n }\n })),\n sourceSpan: {\n start: t.sourceSpan?.start?.offset ?? 0,\n end: t.sourceSpan?.end?.offset ?? 0\n }\n }), n)){\n if (!o.expression) continue;\n let t = o.sourceSpan?.start?.offset ?? 0;\n 'for' === r ? extractForBlockExpressions(o.expression, t, s) : parseAndAdd(o.expression, t, s);\n }\n}, extractInterpolationsFromTokens = (t, e)=>{\n if (t.tokens) for (let s of t.tokens)8 === s.type && s.parts?.length === 3 && parseAndAdd(s.parts[1], s.sourceSpan.start.offset + s.parts[0].length, e);\n}, extractInterpolationsManually = (t, e)=>{\n let s = t.value ?? '', r = t.sourceSpan?.start?.offset ?? 0, n = 0, o = s.indexOf('{{', n);\n for(; -1 !== o;){\n let t = s.indexOf('}}', o + 2);\n if (-1 === t) break;\n parseAndAdd(s.substring(o + 2, t), r + o + 2, e), n = t + 2, o = s.indexOf('{{', n);\n }\n}, extractForBlockExpressions = (t, e, s)=>{\n t.includes(' track ') ? parseAndAdd(t.split(' track ')[1], e + t.indexOf(' track ') + 7, s) : t.startsWith('track ') && parseAndAdd(t.substring(6), e + 6, s), t.includes(' of ') && parseAndAdd(t.split(' of ')[1].split(';')[0], e + t.indexOf(' of ') + 4, s);\n}, isBindingAttribute = (t)=>t.startsWith('*') || t.startsWith('[') && t.endsWith(']') || t.startsWith('bind-'), parseAndAdd = (e, s, r)=>{\n if (e.trim()) try {\n let n = t('template.ts', `(${e})`, {\n sourceType: 'module',\n lang: 'ts'\n });\n if (0 === n.program.body.length) return;\n let o = n.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), r.push({\n expression: a,\n sourceSpan: {\n start: s,\n end: s + e.length\n }\n });\n } catch {}\n};\n","import { analyzeComponent as t } from './analyzers/component-analyzer.js';\nimport { getDecoratorNameUnsafe as e } from './ast/matchers.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 r = t.decorators;\n if (!r) return null;\n for(let o = 0; o < r.length; o++){\n let n = e(r[o]);\n if (n && ANY_ANGULAR_DECORATORS.has(n)) return {\n node: t,\n decoratorName: n,\n className: t.id?.name,\n decoratorStart: r[o].start ?? r[o].span?.start ?? 0\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;\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","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","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","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';\nexport function extractTemplateFromProgram(e) {\n let r = {\n content: '',\n startOffset: 0\n };\n return t(e, (t)=>{\n if (r.content) return !1;\n if ('ClassDeclaration' === t.type && Array.isArray(t.decorators)) {\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 {\n content: '',\n startOffset: 0\n };\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 {\n content: '',\n startOffset: 0\n };\n }(i);\n }\n return null;\n }(t);\n if (e) return r = e, !1;\n }\n }), r;\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","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 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"]}
{
"name": "@ngcompass/ast",
"version": "0.1.6-beta",
"version": "0.1.7-beta",
"description": "AST types, parsers, analyzers and visitor for ngcompass",

@@ -27,3 +27,3 @@ "sideEffects": false,

"oxc-parser": "^0.112.0",
"@ngcompass/common": "0.1.6-beta"
"@ngcompass/common": "0.1.7-beta"
},

@@ -30,0 +30,0 @@ "peerDependencies": {