@ngcompass/common 0.1.1-beta

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 ngcompass
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/dist/index.cjs ADDED
@@ -0,0 +1,4 @@
1
+ 'use strict';var c=require('typescript'),a=require('picocolors');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var c__default=/*#__PURE__*/_interopDefault(c);var a__default=/*#__PURE__*/_interopDefault(a);var E="ngcompass",_="v.0.1.1-beta",P="1.0.0",v=[`.${E}rc.json`,`.${E}rc.js`,`.${E}.config.js`,`${E}.config.json`],L=`node_modules/.cache/${E}`,T=["**/*.ts","**/*.html"],I=["**/node_modules/**","**/dist/**","**/build/**","**/*.spec.ts","**/*.test.ts"],F={min:12,max:21};var m=class extends Error{code;constructor(e,r){super(e),this.code=r,this.name="AnalyzerError","captureStackTrace"in Error&&Error.captureStackTrace(this,this.constructor);}},S=class extends m{constructor(e){super(e,"CONFIG_ERROR"),this.name="ConfigurationError";}},b=class extends m{filePath;constructor(e,r){super(`Parse error in ${r}: ${e}`,"PARSE_ERROR"),this.filePath=r,this.name="ParseError";}},y=class extends m{ruleId;constructor(e,r){super(`Error in rule '${r}': ${e}`,"RULE_ERROR"),this.ruleId=r,this.name="RuleError";}},R=class extends m{ruleName;filePath;constructor(e,r,s){let n=s instanceof Error?s.message:String(s);super(`Rule "${e}" crashed on ${r}: ${n}`,"RULE_EXECUTION_ERROR"),this.ruleName=e,this.filePath=r,this.name="RuleExecutionError",s instanceof Error&&"stack"in s&&(this.stack=`${this.stack}
2
+ Caused by: ${s.stack}`);}};function D(t,e){return Object.freeze({type:t,timestamp:Date.now(),...e})}var O=class{_errors=[];record(e){this._errors.push(e);}get errors(){return this._errors}get hasFatalErrors(){return this._errors.some(e=>!e.recoverable)}get hasAnyErrors(){return this._errors.length>0}forPhase(e){return this._errors.filter(r=>r.phase===e)}};exports.RuleCategory=void 0;exports.RuleCategory=((exports.RuleCategory={}).Architecture="architecture",exports.RuleCategory.Performance="performance",exports.RuleCategory.SSR="ssr",exports.RuleCategory.Security="security",exports.RuleCategory.Accessibility="accessibility",exports.RuleCategory.Testing="testing",exports.RuleCategory.CodeSmell="code-smell",exports.RuleCategory.Reactivity="reactivity",exports.RuleCategory.BestPractice="best-practice",exports.RuleCategory);var U=t=>({ok:true,data:t}),z=t=>({ok:false,error:t});var w=class{static parse(e,r="config.ts"){return c__default.default.createSourceFile(r,e,c__default.default.ScriptTarget.Latest,true)}static generateLocationMap(e){let r={},s=(n,o)=>{if(c__default.default.isPropertyAssignment(n)&&n.name){let i=this.getPropertyName(n.name);if(i){let g=[...o,i],u=g.join("."),{line:f,character:h}=e.getLineAndCharacterOfPosition(n.name.getStart());r[u]={line:f+1,column:h+1},s(n.initializer,g);return}}c__default.default.isObjectLiteralExpression(n)?n.properties.forEach(i=>s(i,o)):c__default.default.isArrayLiteralExpression(n)?n.elements.forEach((i,g)=>{let u=[...o,String(g)],f=u.join("."),{line:h,character:x}=e.getLineAndCharacterOfPosition(i.getStart());r[f]={line:h+1,column:x+1},s(i,u);}):c__default.default.isExportAssignment(n)?s(n.expression,o):c__default.default.isExpressionStatement(n)?c__default.default.isParenthesizedExpression(n.expression)?s(n.expression.expression,o):s(n.expression,o):c__default.default.forEachChild(n,i=>s(i,o));};return s(e,[]),r}static getPropertyName(e){return c__default.default.isIdentifier(e)||c__default.default.isStringLiteral(e)?e.text:null}};var $=new Set(["discovery","loader","validator","cache","scanner","parser","rules","workers","reporter","init","config","planner","incremental","dry-run","engine","plugin-loader","env-fingerprint"]),N=[a__default.default.cyan,a__default.default.green,a__default.default.yellow,a__default.default.blue,a__default.default.magenta,a__default.default.magentaBright,a__default.default.cyanBright,a__default.default.greenBright,a__default.default.yellowBright,a__default.default.blueBright],p=new class{config;timers;constructor(){this.config=this.initializeFromEnv(),this.timers=new Map;}initializeFromEnv(){let t=process.env.DEBUG||"",e=this.parseNamespaces(t);return {enabled:e==="all"||e.size>0,level:"debug",namespaces:e,showTimestamps:false,showTimings:true}}enable(t="debug",e="all"){this.config.enabled=true,this.config.level=t,this.config.namespaces=e==="all"?"all":new Set(e);}disable(){this.config.enabled=false;}isEnabled(){return this.config.enabled}debug(t,e,...r){this.log("debug",t,e,...r);}info(t,e,...r){this.log("info",t,e,...r);}warn(t,e,...r){this.log("warn",t,e,...r);}error(t,e,...r){this.log("error",t,e,...r);}time(t){this.config.enabled&&this.timers.set(t,performance.now());}timeEnd(t){if(!this.config.enabled)return 0;let e=this.timers.get(t);if(!e)return 0;let r=performance.now()-e;return this.timers.delete(t),r}timeLog(t,e,r){let s=this.timeEnd(t);return s>0&&r&&this.debug(e,`${r}: ${s.toFixed(1)}ms`),s}log(t,e,r,...s){if(!this.config.enabled||this.config.namespaces!=="all"&&!this.config.namespaces.has(e))return;let n=new Date,o=`${n.getHours().toString().padStart(2,"0")}:${n.getMinutes().toString().padStart(2,"0")}:${n.getSeconds().toString().padStart(2,"0")}`,i=(function(f){let h=0;for(let x=0;x<f.length;x++)h=f.charCodeAt(x)+((h<<5)-h);return N[Math.abs(h)%N.length]})(e),g=`${a__default.default.gray(`[${o}]`)} ${i(`[ngcompass:${e}]`)}`,u=this.config.showTimestamps?a__default.default.gray(`[${n.toISOString()}] `):"";console.error(`${u}${g} ${r}`,...s);}parseNamespaces(t){if(t==="*"||t==="ngcompass"||t==="ngcompass:*")return "all";let e=t.split(",").map(s=>s.trim()),r=new Set;for(let s of e){if(!s.startsWith("ngcompass:"))continue;let n=s.slice(10);$.has(n)?r.add(n):n.length>0&&console.warn(`[ngcompass] Unknown debug namespace: "${n}". Valid namespaces: ${[...$].join(", ")}`);}return r}},V=(t,e,...r)=>p.debug(t,e,...r),H=(t,e,...r)=>p.info(t,e,...r),W=(t,e,...r)=>p.warn(t,e,...r),K=(t,e,...r)=>p.error(t,e,...r),X=t=>p.time(t),q=t=>p.timeEnd(t),Q=(t,e,r)=>p.timeLog(t,e,r),Y=(t,e)=>p.enable(t,e),Z=()=>p.disable(),ee=()=>p.isEnabled();var d=class extends Error{path;constructor(e,r){super(e),this.path=r,this.name="SerializationError";}};function A(t,e=[],r=new WeakSet){if(t===null)return "null";if(t===void 0)throw new d("undefined is not a valid hash input",e);switch(typeof t){case "boolean":return t?"true":"false";case "number":if(!Number.isFinite(t))throw new d(`Non-finite number (${String(t)}) is not a valid hash input`,e);return String(t);case "string":return JSON.stringify(t);case "function":throw new d("Functions are not valid hash inputs",e)}if(t instanceof Date)return JSON.stringify(t.toISOString());if(t instanceof RegExp)return JSON.stringify(t.toString());if(typeof t=="object"){let s;if(r.has(t))throw new d(`Circular reference detected at path: ${e.join(".")||"(root)"}`,e);if(r.add(t),Array.isArray(t))s="["+t.map((n,o)=>A(n,[...e,String(o)],r)).join(",")+"]";else {let n=Object.keys(t).sort(),o=[];for(let i of n){let g=t[i];g!==void 0&&o.push(JSON.stringify(i)+":"+A(g,[...e,i],r));}s="{"+o.join(",")+"}";}return r.delete(t),s}return JSON.stringify(t)}var C=class{lines;constructor(e){this.lines=[0];for(let r=0;r<e.length;r++)e[r]===`
3
+ `&&this.lines.push(r+1);}location(e){let r=0,s=this.lines.length-1;for(;r<=s;){let i=r+s>>>1;this.lines[i]<=e?r=i+1:s=i-1;}let n=r-1,o=this.lines[n];return {line:n+1,column:e-o+1}}};exports.ASTUtils=w;exports.AnalyzerError=m;exports.CACHE_VERSION=P;exports.CONFIG_FILE_NAMES=v;exports.ConfigurationError=S;exports.DEFAULT_CACHE_DIR=L;exports.DEFAULT_EXCLUDE_PATTERNS=I;exports.DEFAULT_INCLUDE_PATTERNS=T;exports.Err=z;exports.InfrastructureErrorCollector=O;exports.Locator=C;exports.Ok=U;exports.PACKAGE_VERSION=_;exports.ParseError=b;exports.RuleError=y;exports.RuleExecutionError=R;exports.SUPPORTED_ANGULAR_VERSIONS=F;exports.SerializationError=d;exports.TOOL_NAME=E;exports.createInfrastructureError=D;exports.debug=V;exports.disableDebug=Z;exports.enableDebug=Y;exports.error=K;exports.info=H;exports.isDebugEnabled=ee;exports.stableSerialize=A;exports.time=X;exports.timeEnd=q;exports.timeLog=Q;exports.warn=W;//# sourceMappingURL=index.cjs.map
4
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/constants.ts","../src/errors.ts","../src/types.ts","../src/ast/utils.ts","../src/logger.ts","../src/utils/stable-serialize.ts","../src/utils/locator.ts"],"names":["TOOL_NAME","PACKAGE_VERSION","CACHE_VERSION","CONFIG_FILE_NAMES","DEFAULT_CACHE_DIR","DEFAULT_INCLUDE_PATTERNS","DEFAULT_EXCLUDE_PATTERNS","SUPPORTED_ANGULAR_VERSIONS","min","max","AnalyzerError","Error","message","code","name","captureStackTrace","ConfigurationError","ParseError","filePath","RuleError","ruleId","RuleExecutionError","ruleName","cause","causeMessage","String","stack","createInfrastructureError","type","fields","Object","freeze","timestamp","Date","now","InfrastructureErrorCollector","_errors","record","error","push","errors","hasFatalErrors","some","e","recoverable","hasAnyErrors","length","forPhase","phase","filter","RuleCategory","Ok","data","ok","Err","ASTUtils","parse","content","fileName","ts","createSourceFile","ScriptTarget","Latest","generateLocationMap","sourceFile","map","visit","node","currentPath","isPropertyAssignment","getPropertyName","newPath","pathKey","join","line","character","getLineAndCharacterOfPosition","getStart","column","initializer","isObjectLiteralExpression","properties","forEach","prop","isArrayLiteralExpression","elements","elem","idx","isExportAssignment","expression","isExpressionStatement","isParenthesizedExpression","forEachChild","child","isIdentifier","isStringLiteral","text","KNOWN_NAMESPACES","Set","COLORS","pc","cyan","green","yellow","blue","magenta","magentaBright","cyanBright","greenBright","yellowBright","blueBright","logger","config","timers","initializeFromEnv","Map","debugEnv","process","env","DEBUG","namespaces","parseNamespaces","enabled","size","level","showTimestamps","showTimings","enable","disable","isEnabled","debug","namespace","args","log","info","warn","time","label","set","performance","timeEnd","start","get","duration","delete","timeLog","toFixed","_level","has","timeStr","getHours","toString","padStart","getMinutes","getSeconds","colorFn","hash","i","charCodeAt","Math","abs","prefix","gray","toISOString","console","parts","split","s","trim","part","startsWith","ns","slice","add","enableDebug","disableDebug","isDebugEnabled","SerializationError","path","stableSerialize","value","_path","_seen","WeakSet","undefined","Number","isFinite","JSON","stringify","RegExp","result","Array","isArray","v","sortedKeys","keys","sort","pairs","k","Locator","lines","location","offset","low","high","mid","lineStart"],"mappings":"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","file":"index.cjs","sourcesContent":["export const TOOL_NAME = 'ngcompass';\nexport const PACKAGE_VERSION = 'v.0.1.1-beta';\nexport const CACHE_VERSION = '1.0.0';\nexport const CONFIG_FILE_NAMES = [\n `.${TOOL_NAME}rc.json`,\n `.${TOOL_NAME}rc.js`,\n `.${TOOL_NAME}.config.js`,\n `${TOOL_NAME}.config.json`\n];\nexport const DEFAULT_CACHE_DIR = `node_modules/.cache/${TOOL_NAME}`;\nexport const DEFAULT_INCLUDE_PATTERNS = [\n '**/*.ts',\n '**/*.html'\n];\nexport const DEFAULT_EXCLUDE_PATTERNS = [\n '**/node_modules/**',\n '**/dist/**',\n '**/build/**',\n '**/*.spec.ts',\n '**/*.test.ts'\n];\nexport const SUPPORTED_ANGULAR_VERSIONS = {\n min: 12,\n max: 21\n};\n","export class AnalyzerError extends Error {\n code;\n constructor(r, e){\n super(r), this.code = e, this.name = 'AnalyzerError', 'captureStackTrace' in Error && Error.captureStackTrace(this, this.constructor);\n }\n}\nexport class ConfigurationError extends AnalyzerError {\n constructor(r){\n super(r, 'CONFIG_ERROR'), this.name = 'ConfigurationError';\n }\n}\nexport class ParseError extends AnalyzerError {\n filePath;\n constructor(r, e){\n super(`Parse error in ${e}: ${r}`, 'PARSE_ERROR'), this.filePath = e, this.name = 'ParseError';\n }\n}\nexport class RuleError extends AnalyzerError {\n ruleId;\n constructor(r, e){\n super(`Error in rule '${e}': ${r}`, 'RULE_ERROR'), this.ruleId = e, this.name = 'RuleError';\n }\n}\nexport class RuleExecutionError extends AnalyzerError {\n ruleName;\n filePath;\n constructor(r, e, t){\n let s = t instanceof Error ? t.message : String(t);\n super(`Rule \"${r}\" crashed on ${e}: ${s}`, 'RULE_EXECUTION_ERROR'), this.ruleName = r, this.filePath = e, this.name = 'RuleExecutionError', t instanceof Error && 'stack' in t && (this.stack = `${this.stack}\\nCaused by: ${t.stack}`);\n }\n}\nexport function createInfrastructureError(r, e) {\n return Object.freeze({\n type: r,\n timestamp: Date.now(),\n ...e\n });\n}\nexport class InfrastructureErrorCollector {\n _errors = [];\n record(r) {\n this._errors.push(r);\n }\n get errors() {\n return this._errors;\n }\n get hasFatalErrors() {\n return this._errors.some((r)=>!r.recoverable);\n }\n get hasAnyErrors() {\n return this._errors.length > 0;\n }\n forPhase(r) {\n return this._errors.filter((e)=>e.phase === r);\n }\n}\n","var RuleCategory;\nexport var RuleCategory = ((RuleCategory = {}).Architecture = \"architecture\", RuleCategory.Performance = \"performance\", RuleCategory.SSR = \"ssr\", RuleCategory.Security = \"security\", RuleCategory.Accessibility = \"accessibility\", RuleCategory.Testing = \"testing\", RuleCategory.CodeSmell = \"code-smell\", RuleCategory.Reactivity = \"reactivity\", RuleCategory.BestPractice = \"best-practice\", RuleCategory);\nexport const Ok = (e)=>({\n ok: !0,\n data: e\n });\nexport const Err = (e)=>({\n ok: !1,\n error: e\n });\n","import e from \"typescript\";\nexport class ASTUtils {\n static parse(t, i = 'config.ts') {\n return e.createSourceFile(i, t, e.ScriptTarget.Latest, !0);\n }\n static generateLocationMap(t) {\n let i = {}, r = (s, n)=>{\n if (e.isPropertyAssignment(s) && s.name) {\n let e = this.getPropertyName(s.name);\n if (e) {\n let a = [\n ...n,\n e\n ], o = a.join('.'), { line: p, character: l } = t.getLineAndCharacterOfPosition(s.name.getStart());\n i[o] = {\n line: p + 1,\n column: l + 1\n }, r(s.initializer, a);\n return;\n }\n }\n e.isObjectLiteralExpression(s) ? s.properties.forEach((e)=>r(e, n)) : e.isArrayLiteralExpression(s) ? s.elements.forEach((e, s)=>{\n let a = [\n ...n,\n String(s)\n ], o = a.join('.'), { line: p, character: l } = t.getLineAndCharacterOfPosition(e.getStart());\n i[o] = {\n line: p + 1,\n column: l + 1\n }, r(e, a);\n }) : e.isExportAssignment(s) ? r(s.expression, n) : e.isExpressionStatement(s) ? e.isParenthesizedExpression(s.expression) ? r(s.expression.expression, n) : r(s.expression, n) : e.forEachChild(s, (e)=>r(e, n));\n };\n return r(t, []), i;\n }\n static getPropertyName(t) {\n return e.isIdentifier(t) || e.isStringLiteral(t) ? t.text : null;\n }\n}\n","import e from 'picocolors';\nlet KNOWN_NAMESPACES = new Set([\n 'discovery',\n 'loader',\n 'validator',\n 'cache',\n 'scanner',\n 'parser',\n 'rules',\n 'workers',\n 'reporter',\n 'init',\n 'config',\n 'planner',\n 'incremental',\n 'dry-run',\n 'engine',\n 'plugin-loader',\n 'env-fingerprint'\n]), COLORS = [\n e.cyan,\n e.green,\n e.yellow,\n e.blue,\n e.magenta,\n e.magentaBright,\n e.cyanBright,\n e.greenBright,\n e.yellowBright,\n e.blueBright\n], logger = new class {\n config;\n timers;\n constructor(){\n this.config = this.initializeFromEnv(), this.timers = new Map();\n }\n initializeFromEnv() {\n let e = process.env.DEBUG || '', t = this.parseNamespaces(e);\n return {\n enabled: 'all' === t || t.size > 0,\n level: 'debug',\n namespaces: t,\n showTimestamps: !1,\n showTimings: !0\n };\n }\n enable(e = 'debug', t = 'all') {\n this.config.enabled = !0, this.config.level = e, this.config.namespaces = 'all' === t ? 'all' : new Set(t);\n }\n disable() {\n this.config.enabled = !1;\n }\n isEnabled() {\n return this.config.enabled;\n }\n debug(e, t, ...n) {\n this.log('debug', e, t, ...n);\n }\n info(e, t, ...n) {\n this.log('info', e, t, ...n);\n }\n warn(e, t, ...n) {\n this.log('warn', e, t, ...n);\n }\n error(e, t, ...n) {\n this.log('error', e, t, ...n);\n }\n time(e) {\n this.config.enabled && this.timers.set(e, performance.now());\n }\n timeEnd(e) {\n if (!this.config.enabled) return 0;\n let t = this.timers.get(e);\n if (!t) return 0;\n let n = performance.now() - t;\n return this.timers.delete(e), n;\n }\n timeLog(e, t, n) {\n let r = this.timeEnd(e);\n return r > 0 && n && this.debug(t, `${n}: ${r.toFixed(1)}ms`), r;\n }\n log(t, n, r, ...o) {\n if (!this.config.enabled || 'all' !== this.config.namespaces && !this.config.namespaces.has(n)) return;\n let i = new Date(), s = `${i.getHours().toString().padStart(2, '0')}:${i.getMinutes().toString().padStart(2, '0')}:${i.getSeconds().toString().padStart(2, '0')}`, a = function(e) {\n let t = 0;\n for(let n = 0; n < e.length; n++)t = e.charCodeAt(n) + ((t << 5) - t);\n return COLORS[Math.abs(t) % COLORS.length];\n }(n), g = `${e.gray(`[${s}]`)} ${a(`[ngcompass:${n}]`)}`, l = this.config.showTimestamps ? e.gray(`[${i.toISOString()}] `) : '';\n console.error(`${l}${g} ${r}`, ...o);\n }\n parseNamespaces(e) {\n if ('*' === e || 'ngcompass' === e || 'ngcompass:*' === e) return 'all';\n let t = e.split(',').map((e)=>e.trim()), n = new Set();\n for (let e of t){\n if (!e.startsWith('ngcompass:')) continue;\n let t = e.slice(10);\n KNOWN_NAMESPACES.has(t) ? n.add(t) : t.length > 0 && console.warn(`[ngcompass] Unknown debug namespace: \"${t}\". Valid namespaces: ${[\n ...KNOWN_NAMESPACES\n ].join(', ')}`);\n }\n return n;\n }\n}();\nexport const debug = (e, t, ...n)=>logger.debug(e, t, ...n);\nexport const info = (e, t, ...n)=>logger.info(e, t, ...n);\nexport const warn = (e, t, ...n)=>logger.warn(e, t, ...n);\nexport const error = (e, t, ...n)=>logger.error(e, t, ...n);\nexport const time = (e)=>logger.time(e);\nexport const timeEnd = (e)=>logger.timeEnd(e);\nexport const timeLog = (e, t, n)=>logger.timeLog(e, t, n);\nexport const enableDebug = (e, t)=>logger.enable(e, t);\nexport const disableDebug = ()=>logger.disable();\nexport const isDebugEnabled = ()=>logger.isEnabled();\nexport default logger;\n","export class SerializationError extends Error {\n path;\n constructor(r, i){\n super(r), this.path = i, this.name = 'SerializationError';\n }\n}\nexport function stableSerialize(r, i = [], e = new WeakSet()) {\n if (null === r) return 'null';\n if (void 0 === r) throw new SerializationError('undefined is not a valid hash input', i);\n switch(typeof r){\n case 'boolean':\n return r ? 'true' : 'false';\n case 'number':\n if (!Number.isFinite(r)) throw new SerializationError(`Non-finite number (${String(r)}) is not a valid hash input`, i);\n return String(r);\n case 'string':\n return JSON.stringify(r);\n case 'function':\n throw new SerializationError('Functions are not valid hash inputs', i);\n }\n if (r instanceof Date) return JSON.stringify(r.toISOString());\n if (r instanceof RegExp) return JSON.stringify(r.toString());\n if ('object' == typeof r) {\n let t;\n if (e.has(r)) throw new SerializationError(`Circular reference detected at path: ${i.join('.') || '(root)'}`, i);\n if (e.add(r), Array.isArray(r)) t = '[' + r.map((r, t)=>stableSerialize(r, [\n ...i,\n String(t)\n ], e)).join(',') + ']';\n else {\n let n = Object.keys(r).sort(), a = [];\n for (let t of n){\n let n = r[t];\n void 0 !== n && a.push(JSON.stringify(t) + ':' + stableSerialize(n, [\n ...i,\n t\n ], e));\n }\n t = '{' + a.join(',') + '}';\n }\n return e.delete(r), t;\n }\n return JSON.stringify(r);\n}\n","export class Locator {\n lines;\n constructor(t){\n this.lines = [\n 0\n ];\n for(let l = 0; l < t.length; l++)'\\n' === t[l] && this.lines.push(l + 1);\n }\n location(t) {\n let l = 0, e = this.lines.length - 1;\n for(; l <= e;){\n let s = l + e >>> 1;\n this.lines[s] <= t ? l = s + 1 : e = s - 1;\n }\n let s = l - 1, n = this.lines[s];\n return {\n line: s + 1,\n column: t - n + 1\n };\n }\n}\n"]}