@code0-tech/triangulum 0.12.0 → 0.12.2
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/dist/triangulum.cjs.js +11 -3
- package/dist/triangulum.es.js +31 -21
- package/package.json +1 -1
package/dist/triangulum.cjs.js
CHANGED
|
@@ -30,8 +30,16 @@ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=Object.
|
|
|
30
30
|
`;function k(e,t){let n=new Map;return n.set(e,t),n.set(`lib.codezero.d.ts`,O),p(v(n),[e,`lib.codezero.d.ts`],c.default,A)}var A={target:c.default.ScriptTarget.Latest,lib:[`lib.codezero.d.ts`],noEmit:!0,strictNullChecks:!0};function j(e,t=`any`,n=!0){let r=Array.from(new Set(e?.flatMap(e=>e.genericKeys||[]))).map(e=>`type ${e} = ${t};`).join(`
|
|
31
31
|
`),i=e?.map(e=>`type ${e.identifier}${(e.genericKeys?.length??0)>0?`<${e.genericKeys?.join(`,`)}>`:``} = ${e.type};`).join(`
|
|
32
32
|
`);return`${n?r:``}\n${i}`}var M=e=>e.replace(/[^a-zA-Z0-9]/g,`_`);function N(e,t,n,r=!1){let i=e?.nodes?.nodes||[],a=new Map(t?.map(e=>[e.identifier,e])),o=new Set,s=(e,t,n)=>{let a=i.find(t=>t?.id===e);if(!a||!a.functionDefinition?.identifier)return`undefined`;let o=(a.parameters?.nodes||[]).map((t,n)=>{let i=t.value;if(!i)return r?`/* @pos ${e} ${n} */ {}`:`/* @pos ${e} ${n} */ undefined`;if(i.__typename===`ReferenceValue`){let t=i;if(!t.nodeFunctionId)return`/* @pos ${e} ${n} */ undefined`;let r=typeof t.inputIndex==`number`?`p_${M(t.nodeFunctionId)}_${t.parameterIndex}[${t.inputIndex}]`:`node_${M(t.nodeFunctionId)}`;return t.referencePath?.forEach(e=>{r+=`?.${e.path}`}),`/* @pos ${e} ${n} */ ${r}`}return i.__typename===`LiteralValue`?`/* @pos ${e} ${n} */ ${E(i?.value)}`:i.__typename===`NodeFunctionIdWrapper`?s(i.id,e,n):r?`/* @pos ${e} ${n} */ ({} as any)`:`/* @pos ${e} ${n} */ undefined`}).join(`, `),c=`${`fn_${a.functionDefinition.identifier.replace(/::/g,`_`)}`}(${o})`;return t!==void 0&&n!==void 0?`${c}`:c},c=(e,t=``)=>{if(o.has(e))return``;let l=i.find(t=>t?.id===e);if(!l||!l.functionDefinition)return``;o.add(e);let u=a.get(l.functionDefinition.identifier);if(!u)return`${t}// Error: Function ${l.functionDefinition.identifier} not found\n`;let d={parameters:[]};r||(d=C(u));let f=(l.parameters?.nodes||[]).map((i,a)=>{let o=i.value;if(!o)return r?`/* @pos ${e} ${a} */ {}`:`/* @pos ${e} ${a} */ undefined`;if(o.__typename===`ReferenceValue`){let t=o;if(!t.nodeFunctionId)return`/* @pos ${e} ${a} */ undefined`;let n=typeof t.inputIndex==`number`?`p_${M(t.nodeFunctionId)}_${t.parameterIndex}[${t.inputIndex}]`:`node_${M(t.nodeFunctionId)}`;return t.referencePath?.forEach(e=>{n+=`?.${e.path}`}),`/* @pos ${e} ${a} */ ${n}`}if(o.__typename===`LiteralValue`)return`/* @pos ${e} ${a} */ ${E(o?.value)}`;if(o.__typename===`NodeFunctionIdWrapper`){let i=o;if(r)return`/* @pos ${e} ${a} */ (...${`p_${M(e)}_${a}`}) => {\n${c(i.id,t+` `)}${t}}`;{let r=d.parameters[a];return r&&S(r,n)[0].variant===x.NODE?`/* @pos ${e} ${a} */ (...${`p_${M(e)}_${a}`}) => {\n${c(i.id,t+` `)}${t}}`:`/* @pos ${e} ${a} */ ${s(i.id,e,a)}`}}return r?`/* @pos ${e} ${a} */ {}`:`/* @pos ${e} ${a} */ undefined`}).join(`, `),p=`node_${M(l.id)}`,m=`fn_${l?.functionDefinition?.identifier?.replace(/::/g,`_`)}`;f.includes(`undefined`);let h=`${t}${l.functionDefinition.identifier===`std::control::return`?`return `:`const ${p} = `}${m}(${f}) ;\n`;return l.nextNodeId&&(h+=c(l.nextNodeId,t)),h},l=j(n),u=`declare function flow${e?.signature??`(): void`}`,d=t?.map(e=>`declare function fn_${e.identifier?.replace(/::/g,`_`)}${e.signature}`).join(`
|
|
33
|
-
`),f=new Set(i.map(e=>e?.nextNodeId).filter(e=>!!e)),p=new Set;return i.forEach(e=>e?.parameters?.nodes?.forEach(e=>{e?.value?.__typename===`NodeFunctionIdWrapper`&&e.value.id&&p.add(e.value.id)}))
|
|
34
|
-
|
|
33
|
+
`),f=new Set(i.map(e=>e?.nextNodeId).filter(e=>!!e)),p=new Set;return i.forEach(e=>e?.parameters?.nodes?.forEach(e=>{e?.value?.__typename===`NodeFunctionIdWrapper`&&e.value.id&&p.add(e.value.id)})),`
|
|
34
|
+
${l}\n
|
|
35
|
+
${u}\n
|
|
36
|
+
${d}\n
|
|
37
|
+
(() =>
|
|
38
|
+
${e?`const flow_${M(e.id??``)} = flow(${e.settings?.nodes?.map((e,t)=>`/* @pos undefined ${t} */ ${E(e?.value)}`).join(`, `)??``});`:``}
|
|
39
|
+
${i.filter(e=>e?.id&&!f.has(e.id)&&!p.has(e.id)).map(e=>c(e.id)).join(`
|
|
40
|
+
`)}
|
|
41
|
+
)();
|
|
42
|
+
`}function P(e,t,n){let r=N(e,t,n,!0),i=`index.ts`,a=k(i,r),o=a.getSourceFile(i),s=a.languageService.getProgram().getTypeChecker(),l=new Map,u=new Map,d=new Map;(e?.nodes?.nodes||[]).forEach(e=>{e?.id&&d.set(M(e.id),e)});let f=e=>{if(c.default.isVariableDeclaration(e)&&e.name.getText().startsWith(`node_`)){let t=e.name.getText().replace(`node_`,``),n=s.getTypeAtLocation(e);if(l.set(t,s.typeToString(n,e,c.default.TypeFormatFlags.NoTruncation)),e.initializer&&c.default.isCallExpression(e.initializer)){let n=s.getResolvedSignature(e.initializer);if(n){let r=n.getParameters().map(t=>{let n=s.getTypeOfSymbolAtLocation(t,e.initializer);return s.typeToString(n,e.initializer,c.default.TypeFormatFlags.NoTruncation)});u.set(t,r)}}}if(c.default.isReturnStatement(e)&&e.expression&&c.default.isCallExpression(e.expression)){let t=e.expression;s.getResolvedSignature(t)}c.default.forEachChild(e,f)};return f(o),{nodes:l,parameters:u}}var F=(e,t)=>{let n=E(e?.value);if(!n)return`any`;let r=`
|
|
35
43
|
${j(t,`unknown`)}
|
|
36
44
|
const tempValue = ${n??`any`};
|
|
37
45
|
`,i=`index.ts`,a=k(i,r),o=a.getSourceFile(i),s=a.languageService.getProgram().getTypeChecker(),l=`any`,u=e=>{if(c.default.isVariableDeclaration(e)&&e.name.getText()===`tempValue`){let t=s.getTypeAtLocation(e),n=s.getSymbolsInScope(e,c.default.SymbolFlags.TypeAlias),r=t=>{if(t.isUnion()){let e=t.types.map(r);return Array.from(new Set(e)).sort().join(` | `)}if(s.isArrayType(t)){let e=t.typeArguments||[],n=e.length>0?r(e[0]):`any`;return e[0]?.isUnion()?`(${n})[]`:`${n}[]`}if(t.getFlags()&c.default.TypeFlags.Object||t.isClassOrInterface()){let n=s.getPropertiesOfType(t);if(n.length>0)return`{ ${n.map(t=>{let n=s.getTypeOfSymbolAtLocation(t,e);return`${t.getName()}: ${r(n)}`}).join(`, `)} }`}let i=n.filter(e=>s.isTypeAssignableTo(t,s.getDeclaredTypeOfSymbol(e)));return i.length>0?i.sort((e,t)=>{let n=s.getDeclaredTypeOfSymbol(e),r=s.getDeclaredTypeOfSymbol(t),i=s.isTypeAssignableTo(n,r),a=s.isTypeAssignableTo(r,n);return i&&!a?-1:a&&!i?1:e.getName().length-t.getName().length||e.getName().localeCompare(t.getName())})[0].getName():s.typeToString(t,e)};l=r(t)}c.default.forEachChild(e,u)};return u(o),l},I=(e,t)=>{let n=`
|
|
@@ -48,7 +56,7 @@ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=Object.
|
|
|
48
56
|
${t?.map((e,t)=>`const check${t}: TargetType = {} as F${t};`).join(`
|
|
49
57
|
`)}
|
|
50
58
|
`,o=`index.ts`,s=k(o,i),c=s.getSourceFile(o),l=s.languageService.getProgram().getSemanticDiagnostics(),u=new Set;l.forEach(e=>{e.file===c&&e.start!==void 0&&u.add(c.getLineAndCharacterOfPosition(e.start).line)}),r=t.filter((e,t)=>{let n=`const check${t}: TargetType = {} as F${t};`,r=i.split(`
|
|
51
|
-
`).findIndex(e=>e.includes(n));return r!==-1&&!u.has(r)})}return r?.map(e=>({__typename:`NodeFunction`,id:`gid://sagittarius/NodeFunction/1`,functionDefinition:{__typename:`FunctionDefinition`,id:e.id,identifier:e.identifier},parameters:{__typename:`NodeParameterConnection`,nodes:(e.parameterDefinitions?.nodes||[]).map(e=>({__typename:`NodeParameter`,parameterDefinition:{__typename:`ParameterDefinition`,id:e?.id,identifier:e?.identifier},value:e?.defaultValue?{__typename:`LiteralValue`,value:e.defaultValue.value}:null}))}})).filter(e=>e!==null)??[]},z=e=>{let t=c.default.TypeFlags.String|c.default.TypeFlags.Number|c.default.TypeFlags.Boolean|c.default.TypeFlags.Undefined|c.default.TypeFlags.Null|c.default.TypeFlags.BigInt|c.default.TypeFlags.ESSymbol;return(e.flags&t)===0},B=(e,t,n,r=[])=>{let i=[];if(t.isTypeAssignableTo(e,n)&&i.push({path:r,type:e}),z(e)){let a=e.getProperties();a&&a.length>0&&a.forEach(e=>{let a=t.getTypeOfSymbolAtLocation(e,e.valueDeclaration),o=e.getName(),s=[...r,{path:o}];i.push(...B(a,t,n,s))})}return i},V=(e,t,n,r,i)=>{let a=N(e,r,i,!0),
|
|
59
|
+
`).findIndex(e=>e.includes(n));return r!==-1&&!u.has(r)})}return r?.map(e=>({__typename:`NodeFunction`,id:`gid://sagittarius/NodeFunction/1`,functionDefinition:{__typename:`FunctionDefinition`,id:e.id,identifier:e.identifier},parameters:{__typename:`NodeParameterConnection`,nodes:(e.parameterDefinitions?.nodes||[]).map(e=>({__typename:`NodeParameter`,parameterDefinition:{__typename:`ParameterDefinition`,id:e?.id,identifier:e?.identifier},value:e?.defaultValue?{__typename:`LiteralValue`,value:e.defaultValue.value}:null}))}})).filter(e=>e!==null)??[]},z=e=>{let t=c.default.TypeFlags.String|c.default.TypeFlags.Number|c.default.TypeFlags.Boolean|c.default.TypeFlags.Undefined|c.default.TypeFlags.Null|c.default.TypeFlags.BigInt|c.default.TypeFlags.ESSymbol;return(e.flags&t)===0},B=(e,t,n,r=[])=>{let i=[];if(t.isTypeAssignableTo(e,n)&&i.push({path:r,type:e}),z(e)){let a=e.getProperties();a&&a.length>0&&a.forEach(e=>{let a=t.getTypeOfSymbolAtLocation(e,e.valueDeclaration),o=e.getName(),s=[...r,{path:o}];i.push(...B(a,t,n,s))})}return i},V=(e,t,n,r,i)=>{let a=e?.nodes?.nodes?.findIndex(e=>e?.id==t);typeof a==`number`&&a>=0&&typeof n==`number`&&n>=0&&e?.nodes?.nodes?.[a]?.parameters?.nodes?.[n]&&(e.nodes.nodes[a].parameters.nodes[n].value=null);let o=N(e,r,i,!0),s=`index.ts`,l=k(s,o),u=l.getSourceFile(s),d=l.languageService.getProgram().getTypeChecker(),f=u.getFullText(),p=`/* @pos ${t} ${n} */`,m=f.indexOf(p)+p.length;function h(e,t){let n=e;return c.default.forEachChild(e,e=>{e.getStart(u,!0)<=t&&e.getEnd()>=t&&(n=h(e,t))}),n}let g=h(u,m),_;if(c.default.isCallExpression(g)&&(_=g),!_)return[];let v=d.getResolvedSignature(_);if(!v)return[];let y=v.getParameters(),b=y[n]||y[y.length-1],x=d.getTypeOfSymbolAtLocation(b,g),S=d.getSymbolsInScope(g,c.default.SymbolFlags.Variable),C=[];return S.forEach(e=>{let t=e.getName();if(!t.startsWith(`node_`)&&!t.startsWith(`p_`)&&!t.startsWith(`flow_`))return;let n=e.valueDeclaration||e.declarations?.[0];if(!n||n.getEnd()>=m)return;let r=d.getTypeOfSymbolAtLocation(e,g);if(t.startsWith(`node_`)){if((r.flags&c.default.TypeFlags.Void)===0){let e=t.replace(`node_`,``).replace(/___/g,`://`).replace(/__/g,`/`).replace(/_/g,`/`);B(r,d,x).forEach(({path:t})=>{let n={__typename:`ReferenceValue`,nodeFunctionId:e};t.length>0&&(n.referencePath=t),C.push(n)})}}else if(t.startsWith(`p_`)){let e=t.replace(`p_`,``),n=e.lastIndexOf(`_`),i=e.substring(0,n),a=parseInt(e.substring(n+1),10),o=i.replace(`p_`,``).replace(/___/g,`://`).replace(/__/g,`/`).replace(/_/g,`/`);if(d.isTupleType(r)){let e=r;d.getTypeArguments(e).forEach((t,n)=>{B(t,d,x).forEach(({path:t})=>{let r={__typename:`ReferenceValue`,nodeFunctionId:o,parameterIndex:isNaN(a)?0:a,inputIndex:n,inputTypeIdentifier:e.target.labeledElementDeclarations?.[n].name.getText()};t.length>0&&(r.referencePath=t),C.push(r)})})}}else t.startsWith(`flow_`)&&B(r,d,x).forEach(({path:e})=>{let t={__typename:`ReferenceValue`,nodeFunctionId:null};e.length>0&&(t.referencePath=e),C.push(t)})}),C},H=(e,t)=>{if(!e)return[];let n=`
|
|
52
60
|
${j(t)}
|
|
53
61
|
type VALUE = ${e}; const val: VALUE = {} as any;
|
|
54
62
|
`,r=`index.ts`,i=k(r,n),a=i.getSourceFile(r),o=i.languageService.getProgram().getTypeChecker(),s=a.statements.find(e=>c.default.isTypeAliasDeclaration(e)&&e.name.text===`VALUE`);if(!s||!c.default.isTypeAliasDeclaration(s))return[];let l=o.getTypeAtLocation(s),u=e=>e.isUnion()?e.types.flatMap(u):e.isStringLiteral()?[e.value]:e.isNumberLiteral()?[e.value.toString()]:e.intrinsicName===`true`?[`true`]:e.intrinsicName===`false`?[`false`]:[];return Array.from(new Set(u(l))).map(e=>({__typename:`LiteralValue`,value:e}))},U=(e,t,n)=>{let r=N(e,t,n),i=`index.ts`,a=k(i,r),o=a.getSourceFile(i),s=a.languageService.getProgram().getSemanticDiagnostics(o).map(e=>{let t=(0,c.flattenDiagnosticMessageText)(e.messageText,`
|
package/dist/triangulum.es.js
CHANGED
|
@@ -423,7 +423,15 @@ function E(e, t, n, r = !1) {
|
|
|
423
423
|
}, l = w(n), u = `declare function flow${e?.signature ?? "(): void"}`, d = t?.map((e) => `declare function fn_${e.identifier?.replace(/::/g, "_")}${e.signature}`).join("\n"), f = new Set(i.map((e) => e?.nextNodeId).filter((e) => !!e)), p = /* @__PURE__ */ new Set();
|
|
424
424
|
return i.forEach((e) => e?.parameters?.nodes?.forEach((e) => {
|
|
425
425
|
e?.value?.__typename === "NodeFunctionIdWrapper" && e.value.id && p.add(e.value.id);
|
|
426
|
-
})),
|
|
426
|
+
})), `
|
|
427
|
+
${l}\n
|
|
428
|
+
${u}\n
|
|
429
|
+
${d}\n
|
|
430
|
+
(() =>
|
|
431
|
+
${e ? `const flow_${T(e.id ?? "")} = flow(${e.settings?.nodes?.map((e, t) => `/* @pos undefined ${t} */ ${y(e?.value)}`).join(", ") ?? ""});` : ""}
|
|
432
|
+
${i.filter((e) => e?.id && !f.has(e.id) && !p.has(e.id)).map((e) => c(e.id)).join("\n")}
|
|
433
|
+
)();
|
|
434
|
+
`;
|
|
427
435
|
}
|
|
428
436
|
function D(t, n, r) {
|
|
429
437
|
let i = E(t, n, r, !0), a = "index.ts", o = S(a, i), s = o.getSourceFile(a), c = o.languageService.getProgram().getTypeChecker(), l = /* @__PURE__ */ new Map(), u = /* @__PURE__ */ new Map(), d = /* @__PURE__ */ new Map();
|
|
@@ -641,41 +649,43 @@ var O = (t, n) => {
|
|
|
641
649
|
}
|
|
642
650
|
return i;
|
|
643
651
|
}, P = (t, n, r, i, a) => {
|
|
644
|
-
let o =
|
|
645
|
-
|
|
652
|
+
let o = t?.nodes?.nodes?.findIndex((e) => e?.id == n);
|
|
653
|
+
typeof o == "number" && o >= 0 && typeof r == "number" && r >= 0 && t?.nodes?.nodes?.[o]?.parameters?.nodes?.[r] && (t.nodes.nodes[o].parameters.nodes[r].value = null);
|
|
654
|
+
let s = E(t, i, a, !0), c = "index.ts", l = S(c, s), u = l.getSourceFile(c), d = l.languageService.getProgram().getTypeChecker(), f = u.getFullText(), p = `/* @pos ${n} ${r} */`, m = f.indexOf(p) + p.length;
|
|
655
|
+
function h(t, n) {
|
|
646
656
|
let r = t;
|
|
647
657
|
return e.forEachChild(t, (e) => {
|
|
648
|
-
e.getStart(
|
|
658
|
+
e.getStart(u, !0) <= n && e.getEnd() >= n && (r = h(e, n));
|
|
649
659
|
}), r;
|
|
650
660
|
}
|
|
651
|
-
let
|
|
652
|
-
if (e.isCallExpression(
|
|
653
|
-
let
|
|
654
|
-
if (!
|
|
655
|
-
let
|
|
656
|
-
return
|
|
661
|
+
let g = h(u, m), _;
|
|
662
|
+
if (e.isCallExpression(g) && (_ = g), !_) return [];
|
|
663
|
+
let v = d.getResolvedSignature(_);
|
|
664
|
+
if (!v) return [];
|
|
665
|
+
let y = v.getParameters(), b = y[r] || y[y.length - 1], x = d.getTypeOfSymbolAtLocation(b, g), C = d.getSymbolsInScope(g, e.SymbolFlags.Variable), w = [];
|
|
666
|
+
return C.forEach((t) => {
|
|
657
667
|
let n = t.getName();
|
|
658
668
|
if (!n.startsWith("node_") && !n.startsWith("p_") && !n.startsWith("flow_")) return;
|
|
659
669
|
let r = t.valueDeclaration || t.declarations?.[0];
|
|
660
|
-
if (!r || r.getEnd() >=
|
|
661
|
-
let i =
|
|
670
|
+
if (!r || r.getEnd() >= m) return;
|
|
671
|
+
let i = d.getTypeOfSymbolAtLocation(t, g);
|
|
662
672
|
if (n.startsWith("node_")) {
|
|
663
673
|
if ((i.flags & e.TypeFlags.Void) === 0) {
|
|
664
674
|
let e = n.replace("node_", "").replace(/___/g, "://").replace(/__/g, "/").replace(/_/g, "/");
|
|
665
|
-
N(i,
|
|
675
|
+
N(i, d, x).forEach(({ path: t }) => {
|
|
666
676
|
let n = {
|
|
667
677
|
__typename: "ReferenceValue",
|
|
668
678
|
nodeFunctionId: e
|
|
669
679
|
};
|
|
670
|
-
t.length > 0 && (n.referencePath = t),
|
|
680
|
+
t.length > 0 && (n.referencePath = t), w.push(n);
|
|
671
681
|
});
|
|
672
682
|
}
|
|
673
683
|
} else if (n.startsWith("p_")) {
|
|
674
684
|
let e = n.replace("p_", ""), t = e.lastIndexOf("_"), r = e.substring(0, t), a = parseInt(e.substring(t + 1), 10), o = r.replace("p_", "").replace(/___/g, "://").replace(/__/g, "/").replace(/_/g, "/");
|
|
675
|
-
if (
|
|
685
|
+
if (d.isTupleType(i)) {
|
|
676
686
|
let e = i;
|
|
677
|
-
|
|
678
|
-
N(t,
|
|
687
|
+
d.getTypeArguments(e).forEach((t, n) => {
|
|
688
|
+
N(t, d, x).forEach(({ path: t }) => {
|
|
679
689
|
let r = {
|
|
680
690
|
__typename: "ReferenceValue",
|
|
681
691
|
nodeFunctionId: o,
|
|
@@ -683,18 +693,18 @@ var O = (t, n) => {
|
|
|
683
693
|
inputIndex: n,
|
|
684
694
|
inputTypeIdentifier: e.target.labeledElementDeclarations?.[n].name.getText()
|
|
685
695
|
};
|
|
686
|
-
t.length > 0 && (r.referencePath = t),
|
|
696
|
+
t.length > 0 && (r.referencePath = t), w.push(r);
|
|
687
697
|
});
|
|
688
698
|
});
|
|
689
699
|
}
|
|
690
|
-
} else n.startsWith("flow_") && N(i,
|
|
700
|
+
} else n.startsWith("flow_") && N(i, d, x).forEach(({ path: e }) => {
|
|
691
701
|
let t = {
|
|
692
702
|
__typename: "ReferenceValue",
|
|
693
703
|
nodeFunctionId: null
|
|
694
704
|
};
|
|
695
|
-
e.length > 0 && (t.referencePath = e),
|
|
705
|
+
e.length > 0 && (t.referencePath = e), w.push(t);
|
|
696
706
|
});
|
|
697
|
-
}),
|
|
707
|
+
}), w;
|
|
698
708
|
}, F = (t, n) => {
|
|
699
709
|
if (!t) return [];
|
|
700
710
|
let r = `
|