@code0-tech/triangulum 0.23.1 → 0.24.1
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 -11
- package/dist/triangulum.es.js +109 -73
- package/dist/util/values.util.d.ts +1 -21
- package/package.json +3 -3
package/dist/triangulum.cjs.js
CHANGED
|
@@ -23,33 +23,33 @@ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=Object.
|
|
|
23
23
|
}
|
|
24
24
|
|
|
25
25
|
import ReturnType = Utils.ReturnType;
|
|
26
|
-
`;function C(e,t){let n=new Map;return n.set(e,t),n.set(`lib.codezero.d.ts`,S),p(ee(n),[e,`lib.codezero.d.ts`],c.default,
|
|
26
|
+
`;function C(e,t){let n=new Map;return n.set(e,t),n.set(`lib.codezero.d.ts`,S),p(ee(n),[e,`lib.codezero.d.ts`],c.default,w)}var w={target:c.default.ScriptTarget.Latest,lib:[`lib.codezero.d.ts`],noEmit:!0,strictNullChecks:!0};function T(e,t=`any`,n=!0){let r=Array.from(new Set(e?.flatMap(e=>e.genericKeys||[]))).map(e=>`type ${e} = ${t};`).join(`
|
|
27
27
|
`),i=e?.map(e=>`type ${e.identifier}${(e.genericKeys?.length??0)>0?`<${e.genericKeys?.join(`,`)}>`:``} = ${e.type};`).join(`
|
|
28
|
-
`);return`${n?r:``}\n${i}`}var
|
|
28
|
+
`);return`${n?r:``}\n${i}`}var E=e=>e?.replace(/[^a-zA-Z0-9]/g,`_`);function D(e,t,n,r=!1){let i=e?.nodes?.nodes||[],a=new Map(t?.map(e=>[e.identifier,e])),o=new Set,s=(t,n=``)=>{let c=i.find(e=>e?.id===t);if(!c||!c.functionDefinition)return``;if(t?.includes(`NodeFunction`)&&o.add(t),!a.get(c.functionDefinition.identifier))return`${n}// Error: Function ${c.functionDefinition.identifier} not found\n`;let l=(c.parameters?.nodes||[]).map((i,a)=>{let o=i.value;if(!o)return r?`/* @pos ${t} ${a} */ {}`:`/* @pos ${t} ${a} */ undefined`;if(o.__typename===`ReferenceValue`){let n=o,r=typeof n.inputIndex==`number`?`p_${E(n.nodeFunctionId??`undefined`)}_${n.parameterIndex}[${n.inputIndex}]`:n.nodeFunctionId?`node_${E(n.nodeFunctionId)}`:`flow_${E(e?.id??`undefined`)}`;return n.referencePath?.forEach(e=>{r+=`?.${e.path}`}),`/* @pos ${t} ${a} */ ${r}`}if(o.__typename===`LiteralValue`)return`/* @pos ${t} ${a} */ ${b(o?.value)}`;if(o.__typename===`SubFlowValue`){let e=o;return`/* @pos ${t} ${a} */ (...${`p_${E(t)}_${a}`}) => {\n${s(e.startingNodeId||e.functionDefinition?.id,n+` `)}${n}}`}return r?`/* @pos ${t} ${a} */ {}`:`/* @pos ${t} ${a} */ undefined`}),u=`node_${E(c.id)}`,d=`fn_${c?.functionDefinition?.identifier?.replace(/::/g,`_`)}`;l.includes(`undefined`);let f=`${n}`;return c.functionDefinition.identifier===`std::control::return`?(f+=`const ${u} = /* @pos ${t} null */ ${d}(${l.join(`, `)}) ;\n`,f+=`return ${u};\n`):c.functionDefinition.identifier===`std::control::if`?(f+=`const ${u} = /* @pos ${t} null */ ${d}(${l.join(`, `)}) ;\n`,f+=`if(${l[0]}) {
|
|
29
29
|
${s(c.parameters?.nodes?.[1]?.value?.startingNodeId||(c.parameters?.nodes?.[1]?.value)?.functionDefinition?.identifier,n+` `)}
|
|
30
30
|
}`):c.functionDefinition.identifier===`std::control::if_else`?(f+=`const ${u} = /* @pos ${t} null */ ${d}(${l.join(`, `)}) ;\n`,f+=`if(${l[0]}) {
|
|
31
31
|
${s(c.parameters?.nodes?.[1]?.value?.startingNodeId||(c.parameters?.nodes?.[1]?.value)?.functionDefinition?.identifier,n+` `)}
|
|
32
32
|
} else {
|
|
33
33
|
${s(c.parameters?.nodes?.[2]?.value?.startingNodeId||(c.parameters?.nodes?.[2]?.value)?.functionDefinition?.identifier,n+` `)}
|
|
34
|
-
}`):f+=`const ${u} = /* @pos ${t} null */ ${d}(${l.join(`, `)}) ;\n`,c.nextNodeId&&(f+=s(c.nextNodeId,n)),f},c=
|
|
34
|
+
}`):f+=`const ${u} = /* @pos ${t} null */ ${d}(${l.join(`, `)}) ;\n`,c.nextNodeId&&(f+=s(c.nextNodeId,n)),f},c=T(n),l=`declare function flow${e?.signature??`(): void`}`,u=t?.map(e=>`declare function fn_${e.identifier?.replace(/::/g,`_`)}${e.signature}`).join(`
|
|
35
35
|
`),d=new Set(i.map(e=>e?.nextNodeId).filter(e=>!!e)),f=new Set;return i.forEach(e=>e?.parameters?.nodes?.forEach(e=>{e?.value?.__typename===`SubFlowValue`&&(e.value.startingNodeId||e.value.functionDefinition?.id)&&f.add(e.value.startingNodeId||e.value.functionDefinition?.id)})),`
|
|
36
36
|
${c}\n
|
|
37
37
|
${l}\n
|
|
38
38
|
${u}\n
|
|
39
39
|
(() =>
|
|
40
|
-
${e?`const flow_${
|
|
40
|
+
${e?`const flow_${E(e.id??``)} = /* @pos null null */ flow(${e.settings?.nodes?.map((e,t)=>`/* @pos null ${t} */ ${b(e?.value)}`).join(`, `)??``});`:``}
|
|
41
41
|
${i.filter(e=>e?.id&&!d.has(e.id)&&!f.has(e.id)).map(e=>s(e.id)).join(`
|
|
42
42
|
`)}
|
|
43
43
|
)();
|
|
44
|
-
`}var
|
|
45
|
-
${
|
|
44
|
+
`}var re=(e,t)=>{let n=b(e?.value);if(!n)return`any`;let r=`
|
|
45
|
+
${T(t,`unknown`)}
|
|
46
46
|
const tempValue = ${n??`any`};
|
|
47
|
-
`,i=`index.ts`,a=C(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},
|
|
48
|
-
${
|
|
47
|
+
`,i=`index.ts`,a=C(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},ie=(e,t)=>{let n=`
|
|
48
|
+
${T(t)}
|
|
49
49
|
type Target = ${e};
|
|
50
|
-
`,r=`index.ts`,i=C(r,n),a=i.getSourceFile(r),o=i.languageService.getProgram().getTypeChecker(),s=a.statements.find(e=>c.default.isTypeAliasDeclaration(e)&&e.name.text===`Target`);if(!s)return{__typename:`LiteralValue`,value:null};let l=o.getTypeAtLocation(s.type),u=(e,t,n=new Set)=>{let r=new Set(n);if(r.has(e))return null;let i=e.getFlags();if(e.isUnion()){if(t.type,c.default.isTypeAliasDeclaration(t)&&t.type&&c.default.isUnionTypeNode(t.type))return u(o.getTypeFromTypeNode(t.type.types[0]),t,r);let n=e.types.filter(e=>{let t=e.getFlags();return!(t&c.default.TypeFlags.Undefined)&&!(t&c.default.TypeFlags.Null)});return u(n.length>0?n[0]:e.types[0],t,r)}if(i&c.default.TypeFlags.StringLiteral)return e.value;if(i&c.default.TypeFlags.String)return``;if(i&c.default.TypeFlags.NumberLiteral)return e.value;if(i&c.default.TypeFlags.Number)return 0;if(i&c.default.TypeFlags.BooleanLiteral)return e.intrinsicName===`true`;if(i&c.default.TypeFlags.Boolean)return!1;if(o.isArrayType(e)){r.add(e);let n=u(e.typeArguments?.[0]||o.getAnyType(),t,r);return n===null?[]:[n]}if(e.isClassOrInterface()||i&c.default.TypeFlags.Object||e.getProperties().length>0){r.add(e);let n={};return e.getProperties().forEach(e=>{let i=o.getTypeOfSymbolAtLocation(e,t),a=e.valueDeclaration;i&&(n[e.getName()]=u(i,a||t,r))}),n}return null};return{__typename:`LiteralValue`,value:u(l,s)}},
|
|
50
|
+
`,r=`index.ts`,i=C(r,n),a=i.getSourceFile(r),o=i.languageService.getProgram().getTypeChecker(),s=a.statements.find(e=>c.default.isTypeAliasDeclaration(e)&&e.name.text===`Target`);if(!s)return{__typename:`LiteralValue`,value:null};let l=o.getTypeAtLocation(s.type),u=(e,t,n=new Set)=>{let r=new Set(n);if(r.has(e))return null;let i=e.getFlags();if(e.isUnion()){if(t.type,c.default.isTypeAliasDeclaration(t)&&t.type&&c.default.isUnionTypeNode(t.type))return u(o.getTypeFromTypeNode(t.type.types[0]),t,r);let n=e.types.filter(e=>{let t=e.getFlags();return!(t&c.default.TypeFlags.Undefined)&&!(t&c.default.TypeFlags.Null)});return u(n.length>0?n[0]:e.types[0],t,r)}if(i&c.default.TypeFlags.StringLiteral)return e.value;if(i&c.default.TypeFlags.String)return``;if(i&c.default.TypeFlags.NumberLiteral)return e.value;if(i&c.default.TypeFlags.Number)return 0;if(i&c.default.TypeFlags.BooleanLiteral)return e.intrinsicName===`true`;if(i&c.default.TypeFlags.Boolean)return!1;if(o.isArrayType(e)){r.add(e);let n=u(e.typeArguments?.[0]||o.getAnyType(),t,r);return n===null?[]:[n]}if(e.isClassOrInterface()||i&c.default.TypeFlags.Object||e.getProperties().length>0){r.add(e);let n={};return e.getProperties().forEach(e=>{let i=o.getTypeOfSymbolAtLocation(e,t),a=e.valueDeclaration;i&&(n[e.getName()]=u(i,a||t,r))}),n}return null};return{__typename:`LiteralValue`,value:u(l,s)}},ae=(e,t,n)=>{if(!e?.startingNodeId)return{isValid:!1,returnType:`void`,diagnostics:[{nodeId:null,parameterIndex:null,code:0,message:`You need to provide a starting node to be able to execute this flow.`,severity:`error`}]};if(!e.nodes?.nodes?.find(t=>t?.id==e.startingNodeId))return{isValid:!1,returnType:`void`,diagnostics:[{nodeId:null,parameterIndex:null,code:0,message:`The starting node is not linked within the flow. Please make sure the starting node is connected to the rest of the flow.`,severity:`error`}]};let r=D(e,t,n),i=`index.ts`,a=C(i,r),o=a.getSourceFile(i),s=a.languageService.getProgram().getSemanticDiagnostics(o).map(e=>{let t=(0,c.flattenDiagnosticMessageText)(e.messageText,`
|
|
51
51
|
`),n,r=null;if(e.start!==void 0){let t=o.getFullText(),i=Math.max(0,e.start-300),a=Math.min(t.length,e.start),s=t.substring(i,a),c=/\/\* @pos ([^ ]+) (\d+|null) \*\//g,l,u=null,d=-1;for(;(l=c.exec(s))!==null;){let t=i+l.index+l[0].length;t<=e.start&&t>d&&(d=t,u=l)}u&&(n=u[1]===`null`?null:u[1],r=parseInt(u[2],10))}return{message:t,code:e.code,severity:`error`,nodeId:n,parameterIndex:typeof r==`number`&&Number.isSafeInteger(r)?r:null}}).filter(e=>e!==null);return{isValid:!s.some(e=>e?.severity===`error`),returnType:`void`,diagnostics:s}},O=(e,t,n)=>{let r=b(t?.value),i=`
|
|
52
|
-
${
|
|
52
|
+
${T(n)}
|
|
53
53
|
const testValue: ${e} = ${r};
|
|
54
54
|
`,a=`index.ts`,o=C(a,i).languageService.getSemanticDiagnostics(a).map(e=>{let t=c.default.flattenDiagnosticMessageText(e.messageText,`
|
|
55
|
-
`),n=t.includes(`not assignable to parameter of type`)&&(t.includes(`'{}'`)||t.includes(`undefined`))||t.includes(`not assignable to type 'undefined'`)||t.includes(`not assignable to type 'void'`)||t.includes(`may be a mistake because neither type sufficiently overlaps`);return{message:t,code:e.code,severity:n?`warning`:`error`}});return{isValid:!o.some(e=>e.severity===`error`),returnType:`void`,diagnostics:o}},k=e=>e.isUnion()?e.types.flatMap(
|
|
55
|
+
`),n=t.includes(`not assignable to parameter of type`)&&(t.includes(`'{}'`)||t.includes(`undefined`))||t.includes(`not assignable to type 'undefined'`)||t.includes(`not assignable to type 'void'`)||t.includes(`may be a mistake because neither type sufficiently overlaps`);return{message:t,code:e.code,severity:n?`warning`:`error`}});return{isValid:!o.some(e=>e.severity===`error`),returnType:`void`,diagnostics:o}},k=e=>{if(c.default.isUnionTypeNode(e))return e.types.flatMap(k);if(c.default.isLiteralTypeNode(e)){let t=e.literal;if(c.default.isStringLiteral(t))return[{value:t.text,__typename:`LiteralValue`}];if(c.default.isNumericLiteral(t))return[{value:Number(t.text)}];if(t.kind===c.default.SyntaxKind.TrueKeyword)return[{value:!0,__typename:`LiteralValue`}];if(t.kind===c.default.SyntaxKind.FalseKeyword)return[{value:!1,__typename:`LiteralValue`}]}return[]},A=(e,t)=>{if(t&&e.aliasSymbol){let t=e.aliasSymbol.declarations?.[0];if(t&&c.default.isTypeAliasDeclaration(t))return k(t.type)}return e.isUnion()?e.types.flatMap(e=>A(e,t)):e.isStringLiteral()?[{value:e.value,__typename:`LiteralValue`}]:e.isNumberLiteral()?[{value:e.value.toString()}]:e.intrinsicName===`true`?[{value:!0,__typename:`LiteralValue`}]:e.intrinsicName===`false`?[{value:!1,__typename:`LiteralValue`}]:[]},j=(e,t,n,r)=>r.flatMap(r=>{let i=r.getName();if(!M(i))return[];let a=r.getDeclarations()?.[0];if(!a||a.getEnd()>=t.getEnd())return[];let o=e.getTypeOfSymbolAtLocation(r,t);return i.startsWith(`node_`)?N(i,o,e,n):i.startsWith(`p_`)?P(i,o,e,n):i.startsWith(`flow_`)?F(o,e,n):[]}),M=e=>e.startsWith(`node_`)||e.startsWith(`p_`)||e.startsWith(`flow_`),N=(e,t,n,r)=>{if((t.flags&c.default.TypeFlags.Void)!==0)return[];let i=I(e.replace(`node_`,``));return R(t,n,r).flatMap(({path:e})=>{let t={__typename:`ReferenceValue`,nodeFunctionId:i};return e.length>0&&(t.referencePath=e),t})},P=(e,t,n,r)=>{let{nodeFunctionId:i,paramIndexFromName:a}=L(e);if(!n.isTupleType(t))return[];let o=t;return n.getTypeArguments(o).flatMap((e,t)=>R(e,n,r).flatMap(({path:e})=>{let n={__typename:`ReferenceValue`,nodeFunctionId:i,parameterIndex:isNaN(a)?0:a,inputIndex:t,inputTypeIdentifier:o.target.labeledElementDeclarations?.[t].name.getText()};return e.length>0&&(n.referencePath=e),n}))},F=(e,t,n)=>R(e,t,n).flatMap(({path:e})=>{let t={__typename:`ReferenceValue`,nodeFunctionId:null};return e.length>0&&(t.referencePath=e),t}),I=e=>e.replace(/___/g,`://`).replace(/__/g,`/`).replace(/_/g,`/`),L=e=>{let t=e.replace(`p_`,``),n=t.lastIndexOf(`_`),r=t.substring(0,n),i=parseInt(t.substring(n+1),10);return{nodeFunctionId:I(r),paramIndexFromName:i}},R=(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(...R(a,t,n,s))})}return i},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)=>Q(r)?[]:t.flatMap(t=>{let i=V(e,t,n,r);return i?[i]:[]}),V=(e,t,n,r)=>{if(t.parameters.length>0)return null;let i=e.getSignatureFromDeclaration(t),a=H(e,e.getReturnTypeOfSignature(i));if(!e.isTypeAssignableTo(a,r))return null;let o=U(t.name?.getText());return oe(n.find(e=>e.identifier===o))},H=(e,t)=>t.isTypeParameter()?e.getBaseConstraintOfType(t)||e.getAnyType():t,U=e=>e?e.replace(`fn_`,``).replace(`_`,`::`).replace(`_`,`::`):``,oe=e=>{let t=(e?.parameterDefinitions?.nodes?.length??0)>0,n={__typename:`NodeFunction`,id:`gid://sagittarius/NodeFunction/1`,functionDefinition:{__typename:`FunctionDefinition`,id:e?.id,identifier:e?.identifier,names:e?.names,descriptions:e?.descriptions,displayIcon:e?.displayIcon}};return t&&(n.parameters=W(e?.parameterDefinitions?.nodes||[])),n},W=e=>({__typename:`NodeParameterConnection`,nodes:e.map(e=>G(e))}),G=e=>({__typename:`NodeParameter`,parameterDefinition:{__typename:`ParameterDefinition`,id:e?.id,identifier:e?.identifier},value:e?.defaultValue?{__typename:`LiteralValue`,value:e.defaultValue.value}:null}),K=(e,t,n,r)=>Q(r)?t.flatMap(t=>{let i=q(e,t,n,r);return i?[i]:[]}):[],q=(e,t,n,r)=>{let i=e.getTypeAtLocation(t);if(!e.isTypeAssignableTo(i,r))return null;let a=se(t.name?.getText()),o=n.find(e=>e.identifier===a);return o?ce(o):null},se=e=>e?e.replace(`fn_`,``).replace(`_`,`::`).replace(`_`,`::`):``,ce=e=>({__typename:`SubFlowValue`,functionDefinition:e,signature:e.signature,settings:e.parameterDefinitions?.nodes?.map(e=>({__typename:`SubFlowValueSetting`,identifier:e?.identifier,defaultValue:e?.defaultValue??null,hidden:e?.hidden??!1,optional:e?.optional??!1}))}),J=(e,t,n,r,i,a=!0)=>{if((n.flags&c.default.TypeFlags.TypeParameter)!==0){let o=n.symbol?.declarations?.[0];if(o&&c.default.isTypeParameterDeclaration(o)&&o.constraint)return J(e,t,e.getTypeFromTypeNode(o.constraint),r,i,a)}let o=a?{suggestions:[...A(n,e),...t?j(e,t,n,e.getSymbolsInScope(t,c.default.SymbolFlags.Variable)):[],...B(e,r,i,n),...K(e,r,i,n)]}:{};if(n.isUnion()){let a=n.types.filter(e=>(e.flags&c.default.TypeFlags.Undefined)===0);if(a.length===1)return{...J(e,t,a[0],r,i,!1),...o}}if(Y(n))return{input:`boolean`,...o};if(X(n))return{input:`number`,...o};if(Z(n))return{input:`text`,...o};if(ue(n))return{input:`select`,...o};if(Q(n))return{input:`sub-flow`,...o};if(de(e,n))return{input:`list`,items:e.getTypeArguments(n).flatMap(n=>(n.isUnion()?n.types:[n]).map(n=>J(e,t,n,r,i,a))),...o};if((n.flags&c.default.TypeFlags.Object)!==0){let s={},l=[];for(let o of e.getPropertiesOfType(n)){let n=o.valueDeclaration??o.declarations?.[0];if(!n)continue;let u=e.getTypeOfSymbolAtLocation(o,n),d=(o.flags&c.default.SymbolFlags.Optional)!==0||u.isUnion()&&u.types.some(e=>(e.flags&c.default.TypeFlags.Undefined)!==0),f=(u.isUnion()?u.types.filter(e=>(e.flags&c.default.TypeFlags.Undefined)===0):[u]).map(n=>J(e,t,n,r,i,a));s[o.name]=f.length===1?f[0]:f,d||l.push(o.name)}return{input:`data`,properties:s,required:l,...o}}return{input:`generic`}};function Y(e){return(e.flags&c.default.TypeFlags.Boolean)!==0||(e.flags&c.default.TypeFlags.BooleanLiteral)!==0}function X(e){return(e.flags&c.default.TypeFlags.Number)!==0||(e.flags&c.default.TypeFlags.NumberLiteral)!==0}function Z(e){return(e.flags&c.default.TypeFlags.String)!==0||(e.flags&c.default.TypeFlags.StringLiteral)!==0}function le(e){return Z(e)||X(e)||Y(e)}function ue(e){return e.isUnion()?e.types.every(le):!1}function de(e,t){return e.isArrayType(t)||e.isTupleType(t)}function Q(e){return e.getCallSignatures().length>0}var fe=(e,t,n,r)=>{let i=D(e,n,t),a=`index.ts`,o=C(a,i),s=o.getSourceFile(a),c=o.languageService.getProgram().getTypeChecker(),l=e.nodes?.nodes?.find(e=>e?.id===r),u=r?`fn_${l?.functionDefinition?.identifier?.replace(/::/g,`_`)}`:`flow`,d=r?`node_${E(r)}`:`flow_${E(e.id)}`,f=pe(s),p=$(s).get(d),m=f.get(u);return _e(r,c,p,me(c,p),he(c,m,p),ge(m),r?f:new Map,r?n:[])},pe=e=>new Map(e.statements.filter(c.default.isFunctionDeclaration).map(e=>[e.name.getText(),e])),$=e=>{let t=[];return e.statements.forEach(e=>{e.forEachChild(function e(n){c.default.isVariableDeclaration(n)&&(n.parent.flags&c.default.NodeFlags.Const)!==0&&t.push([n.name.getText(),n]),n.forEachChild(e)})}),new Map(t)},me=(e,t)=>{if(!(!t?.initializer||!c.default.isCallExpression(t.initializer)))return e.getResolvedSignature(t.initializer)?.parameters.map(n=>e.getTypeOfSymbolAtLocation(n,t.initializer))},he=(e,t,n)=>{if(!(!t||!n?.initializer))return t.parameters.map(t=>{let r=e.getSymbolAtLocation(t.name);return e.getTypeOfSymbolAtLocation(r,n.initializer)})},ge=e=>{let t=e.typeParameters?.map(e=>e.name.getText())||[],n={};return e.parameters.forEach((e,r)=>{let i=e.type?.getText()||``;t.forEach(e=>{i.includes(e)&&(n[e]||(n[e]=[]),n[e].push(r))})}),Object.values(n).filter(e=>e.length>1).map(([e,...t])=>t.map(t=>({parameterIndex:t,dependsOnIndex:e}))).flat()},_e=(e,t,n,r,i,a,o,s)=>r?r.map((r,c)=>({nodeId:e,schema:J(t,n,r,Array.from(o.values()),s),functionSchema:J(t,n,i?.[c],Array.from(o.values()),s,!1),blockedBy:a.filter(e=>e.parameterIndex===c).map(e=>e.dependsOnIndex)})):[],ve=(e,t=[])=>{let n=`index.ts`,r=C(n,`${T(t)}\ntype MyType = ${e}`).languageService.getProgram(),i=r?.getSourceFile(n),a=r?.getTypeChecker();if(!i||!a)return;let o=i.statements.filter(e=>c.default.isTypeAliasDeclaration(e)||c.default.isInterfaceDeclaration(e)||c.default.isClassDeclaration(e)).pop();if(!o)return;let s=a.getTypeAtLocation(o);if(s)return J(a,void 0,s,[],[],!1)};exports.getFlowValidation=ae,exports.getSignatureSchema=fe,exports.getTypeFromValue=re,exports.getTypeSchema=ve,exports.getValueFromType=ie,exports.getValueValidation=O;
|
package/dist/triangulum.es.js
CHANGED
|
@@ -194,7 +194,7 @@ var h = /^-?(?:0|[1-9]\d*)(?:\.\d+)?(?:[eE][+-]?\d+)?$/;
|
|
|
194
194
|
//#endregion
|
|
195
195
|
//#region node_modules/lossless-json/lib/esm/stringify.js
|
|
196
196
|
function g(e, t, n, r) {
|
|
197
|
-
let i =
|
|
197
|
+
let i = ee(n);
|
|
198
198
|
return a(typeof t == "function" ? t.call({ "": e }, "", e) : e, "");
|
|
199
199
|
function a(e, t) {
|
|
200
200
|
if (Array.isArray(r)) {
|
|
@@ -238,16 +238,16 @@ function g(e, t, n, r) {
|
|
|
238
238
|
return t !== void 0 && typeof t != "function" && typeof t != "symbol";
|
|
239
239
|
}
|
|
240
240
|
}
|
|
241
|
-
function
|
|
241
|
+
function ee(e) {
|
|
242
242
|
if (typeof e == "number") return " ".repeat(e);
|
|
243
243
|
if (typeof e == "string" && e !== "") return e;
|
|
244
244
|
}
|
|
245
245
|
//#endregion
|
|
246
246
|
//#region src/utils.ts
|
|
247
|
-
var
|
|
247
|
+
var _ = "\n interface Array<T> { \n [n: number]: T; \n length: number; \n }\n interface String { readonly length: number; }\n interface Number { }\n interface Boolean { }\n interface Object { }\n interface Function { }\n interface CallableFunction extends Function {}\n interface NewableFunction extends Function {}\n interface IArguments { }\n interface RegExp { }\n \n declare namespace Utils {\n type ReturnType<T extends (...args: any) => any> = T extends (...args: any) => infer R ? R : any;\n }\n\n import ReturnType = Utils.ReturnType;\n";
|
|
248
248
|
function v(t, n) {
|
|
249
249
|
let r = /* @__PURE__ */ new Map();
|
|
250
|
-
return r.set(t, n), r.set("lib.codezero.d.ts",
|
|
250
|
+
return r.set(t, n), r.set("lib.codezero.d.ts", _), o(d(r), [t, "lib.codezero.d.ts"], e, y);
|
|
251
251
|
}
|
|
252
252
|
var y = {
|
|
253
253
|
target: e.ScriptTarget.Latest,
|
|
@@ -449,37 +449,62 @@ var C = (t, n) => {
|
|
|
449
449
|
returnType: "void",
|
|
450
450
|
diagnostics: s
|
|
451
451
|
};
|
|
452
|
-
}, D = (
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
452
|
+
}, D = (t) => {
|
|
453
|
+
if (e.isUnionTypeNode(t)) return t.types.flatMap(D);
|
|
454
|
+
if (e.isLiteralTypeNode(t)) {
|
|
455
|
+
let n = t.literal;
|
|
456
|
+
if (e.isStringLiteral(n)) return [{
|
|
457
|
+
value: n.text,
|
|
458
|
+
__typename: "LiteralValue"
|
|
459
|
+
}];
|
|
460
|
+
if (e.isNumericLiteral(n)) return [{ value: Number(n.text) }];
|
|
461
|
+
if (n.kind === e.SyntaxKind.TrueKeyword) return [{
|
|
462
|
+
value: !0,
|
|
463
|
+
__typename: "LiteralValue"
|
|
464
|
+
}];
|
|
465
|
+
if (n.kind === e.SyntaxKind.FalseKeyword) return [{
|
|
466
|
+
value: !1,
|
|
467
|
+
__typename: "LiteralValue"
|
|
468
|
+
}];
|
|
469
|
+
}
|
|
470
|
+
return [];
|
|
471
|
+
}, O = (t, n) => {
|
|
472
|
+
if (n && t.aliasSymbol) {
|
|
473
|
+
let n = t.aliasSymbol.declarations?.[0];
|
|
474
|
+
if (n && e.isTypeAliasDeclaration(n)) return D(n.type);
|
|
475
|
+
}
|
|
476
|
+
return t.isUnion() ? t.types.flatMap((e) => O(e, n)) : t.isStringLiteral() ? [{
|
|
477
|
+
value: t.value,
|
|
478
|
+
__typename: "LiteralValue"
|
|
479
|
+
}] : t.isNumberLiteral() ? [{ value: t.value.toString() }] : t.intrinsicName === "true" ? [{
|
|
480
|
+
value: !0,
|
|
481
|
+
__typename: "LiteralValue"
|
|
482
|
+
}] : t.intrinsicName === "false" ? [{
|
|
483
|
+
value: !1,
|
|
484
|
+
__typename: "LiteralValue"
|
|
485
|
+
}] : [];
|
|
486
|
+
}, te = (e, t, n, r) => r.flatMap((r) => {
|
|
462
487
|
let i = r.getName();
|
|
463
|
-
if (!
|
|
488
|
+
if (!k(i)) return [];
|
|
464
489
|
let a = r.getDeclarations()?.[0];
|
|
465
490
|
if (!a || a.getEnd() >= t.getEnd()) return [];
|
|
466
491
|
let o = e.getTypeOfSymbolAtLocation(r, t);
|
|
467
|
-
return i.startsWith("node_") ?
|
|
468
|
-
}),
|
|
492
|
+
return i.startsWith("node_") ? A(i, o, e, n) : i.startsWith("p_") ? j(i, o, e, n) : i.startsWith("flow_") ? M(o, e, n) : [];
|
|
493
|
+
}), k = (e) => e.startsWith("node_") || e.startsWith("p_") || e.startsWith("flow_"), A = (t, n, r, i) => {
|
|
469
494
|
if ((n.flags & e.TypeFlags.Void) !== 0) return [];
|
|
470
|
-
let a =
|
|
471
|
-
return
|
|
495
|
+
let a = N(t.replace("node_", ""));
|
|
496
|
+
return F(n, r, i).flatMap(({ path: e }) => {
|
|
472
497
|
let t = {
|
|
473
498
|
__typename: "ReferenceValue",
|
|
474
499
|
nodeFunctionId: a
|
|
475
500
|
};
|
|
476
501
|
return e.length > 0 && (t.referencePath = e), t;
|
|
477
502
|
});
|
|
478
|
-
},
|
|
479
|
-
let { nodeFunctionId: i, paramIndexFromName: a } =
|
|
503
|
+
}, j = (e, t, n, r) => {
|
|
504
|
+
let { nodeFunctionId: i, paramIndexFromName: a } = P(e);
|
|
480
505
|
if (!n.isTupleType(t)) return [];
|
|
481
506
|
let o = t;
|
|
482
|
-
return n.getTypeArguments(o).flatMap((e, t) =>
|
|
507
|
+
return n.getTypeArguments(o).flatMap((e, t) => F(e, n, r).flatMap(({ path: e }) => {
|
|
483
508
|
let n = {
|
|
484
509
|
__typename: "ReferenceValue",
|
|
485
510
|
nodeFunctionId: i,
|
|
@@ -489,44 +514,44 @@ var C = (t, n) => {
|
|
|
489
514
|
};
|
|
490
515
|
return e.length > 0 && (n.referencePath = e), n;
|
|
491
516
|
}));
|
|
492
|
-
},
|
|
517
|
+
}, M = (e, t, n) => F(e, t, n).flatMap(({ path: e }) => {
|
|
493
518
|
let t = {
|
|
494
519
|
__typename: "ReferenceValue",
|
|
495
520
|
nodeFunctionId: null
|
|
496
521
|
};
|
|
497
522
|
return e.length > 0 && (t.referencePath = e), t;
|
|
498
|
-
}),
|
|
523
|
+
}), N = (e) => e.replace(/___/g, "://").replace(/__/g, "/").replace(/_/g, "/"), P = (e) => {
|
|
499
524
|
let t = e.replace("p_", ""), n = t.lastIndexOf("_"), r = t.substring(0, n), i = parseInt(t.substring(n + 1), 10);
|
|
500
525
|
return {
|
|
501
|
-
nodeFunctionId:
|
|
526
|
+
nodeFunctionId: N(r),
|
|
502
527
|
paramIndexFromName: i
|
|
503
528
|
};
|
|
504
|
-
},
|
|
529
|
+
}, F = (e, t, n, r = []) => {
|
|
505
530
|
let i = [];
|
|
506
531
|
if (t.isTypeAssignableTo(e, n) && i.push({
|
|
507
532
|
path: r,
|
|
508
533
|
type: e
|
|
509
|
-
}),
|
|
534
|
+
}), I(e)) {
|
|
510
535
|
let a = e.getProperties();
|
|
511
536
|
a && a.length > 0 && a.forEach((e) => {
|
|
512
537
|
let a = t.getTypeOfSymbolAtLocation(e, e.valueDeclaration), o = e.getName(), s = [...r, { path: o }];
|
|
513
|
-
i.push(...
|
|
538
|
+
i.push(...F(a, t, n, s));
|
|
514
539
|
});
|
|
515
540
|
}
|
|
516
541
|
return i;
|
|
517
|
-
},
|
|
542
|
+
}, I = (t) => {
|
|
518
543
|
let n = e.TypeFlags.String | e.TypeFlags.Number | e.TypeFlags.Boolean | e.TypeFlags.Undefined | e.TypeFlags.Null | e.TypeFlags.BigInt | e.TypeFlags.ESSymbol;
|
|
519
544
|
return (t.flags & n) === 0;
|
|
520
|
-
},
|
|
521
|
-
let i =
|
|
545
|
+
}, L = (e, t, n, r) => Q(r) ? [] : t.flatMap((t) => {
|
|
546
|
+
let i = R(e, t, n, r);
|
|
522
547
|
return i ? [i] : [];
|
|
523
|
-
}),
|
|
548
|
+
}), R = (e, t, n, r) => {
|
|
524
549
|
if (t.parameters.length > 0) return null;
|
|
525
|
-
let i = e.getSignatureFromDeclaration(t), a =
|
|
550
|
+
let i = e.getSignatureFromDeclaration(t), a = z(e, e.getReturnTypeOfSignature(i));
|
|
526
551
|
if (!e.isTypeAssignableTo(a, r)) return null;
|
|
527
|
-
let o =
|
|
528
|
-
return
|
|
529
|
-
},
|
|
552
|
+
let o = B(t.name?.getText());
|
|
553
|
+
return V(n.find((e) => e.identifier === o));
|
|
554
|
+
}, z = (e, t) => t.isTypeParameter() ? e.getBaseConstraintOfType(t) || e.getAnyType() : t, B = (e) => e ? e.replace("fn_", "").replace("_", "::").replace("_", "::") : "", V = (e) => {
|
|
530
555
|
let t = (e?.parameterDefinitions?.nodes?.length ?? 0) > 0, n = {
|
|
531
556
|
__typename: "NodeFunction",
|
|
532
557
|
id: "gid://sagittarius/NodeFunction/1",
|
|
@@ -539,11 +564,11 @@ var C = (t, n) => {
|
|
|
539
564
|
displayIcon: e?.displayIcon
|
|
540
565
|
}
|
|
541
566
|
};
|
|
542
|
-
return t && (n.parameters =
|
|
543
|
-
},
|
|
567
|
+
return t && (n.parameters = H(e?.parameterDefinitions?.nodes || [])), n;
|
|
568
|
+
}, H = (e) => ({
|
|
544
569
|
__typename: "NodeParameterConnection",
|
|
545
|
-
nodes: e.map((e) =>
|
|
546
|
-
}),
|
|
570
|
+
nodes: e.map((e) => U(e))
|
|
571
|
+
}), U = (e) => ({
|
|
547
572
|
__typename: "NodeParameter",
|
|
548
573
|
parameterDefinition: {
|
|
549
574
|
__typename: "ParameterDefinition",
|
|
@@ -554,15 +579,15 @@ var C = (t, n) => {
|
|
|
554
579
|
__typename: "LiteralValue",
|
|
555
580
|
value: e.defaultValue.value
|
|
556
581
|
} : null
|
|
557
|
-
}),
|
|
582
|
+
}), W = (e, t, n, r) => Q(r) ? t.flatMap((t) => {
|
|
558
583
|
let i = ne(e, t, n, r);
|
|
559
584
|
return i ? [i] : [];
|
|
560
585
|
}) : [], ne = (e, t, n, r) => {
|
|
561
586
|
let i = e.getTypeAtLocation(t);
|
|
562
587
|
if (!e.isTypeAssignableTo(i, r)) return null;
|
|
563
|
-
let a =
|
|
564
|
-
return o ?
|
|
565
|
-
},
|
|
588
|
+
let a = G(t.name?.getText()), o = n.find((e) => e.identifier === a);
|
|
589
|
+
return o ? K(o) : null;
|
|
590
|
+
}, G = (e) => e ? e.replace("fn_", "").replace("_", "::").replace("_", "::") : "", K = (e) => ({
|
|
566
591
|
__typename: "SubFlowValue",
|
|
567
592
|
functionDefinition: e,
|
|
568
593
|
signature: e.signature,
|
|
@@ -573,26 +598,37 @@ var C = (t, n) => {
|
|
|
573
598
|
hidden: e?.hidden ?? !1,
|
|
574
599
|
optional: e?.optional ?? !1
|
|
575
600
|
}))
|
|
576
|
-
}),
|
|
601
|
+
}), q = (t, n, r, i, a, o = !0) => {
|
|
602
|
+
if ((r.flags & e.TypeFlags.TypeParameter) !== 0) {
|
|
603
|
+
let s = r.symbol?.declarations?.[0];
|
|
604
|
+
if (s && e.isTypeParameterDeclaration(s) && s.constraint) return q(t, n, t.getTypeFromTypeNode(s.constraint), i, a, o);
|
|
605
|
+
}
|
|
577
606
|
let s = o ? { suggestions: [
|
|
578
|
-
...
|
|
607
|
+
...O(r, t),
|
|
579
608
|
...n ? te(t, n, r, t.getSymbolsInScope(n, e.SymbolFlags.Variable)) : [],
|
|
580
|
-
...
|
|
581
|
-
...
|
|
609
|
+
...L(t, i, a, r),
|
|
610
|
+
...W(t, i, a, r)
|
|
582
611
|
] } : {};
|
|
583
|
-
if (
|
|
612
|
+
if (r.isUnion()) {
|
|
613
|
+
let o = r.types.filter((t) => (t.flags & e.TypeFlags.Undefined) === 0);
|
|
614
|
+
if (o.length === 1) return {
|
|
615
|
+
...q(t, n, o[0], i, a, !1),
|
|
616
|
+
...s
|
|
617
|
+
};
|
|
618
|
+
}
|
|
619
|
+
if (J(r)) return {
|
|
584
620
|
input: "boolean",
|
|
585
621
|
...s
|
|
586
622
|
};
|
|
587
|
-
if (
|
|
623
|
+
if (Y(r)) return {
|
|
588
624
|
input: "number",
|
|
589
625
|
...s
|
|
590
626
|
};
|
|
591
|
-
if (
|
|
627
|
+
if (X(r)) return {
|
|
592
628
|
input: "text",
|
|
593
629
|
...s
|
|
594
630
|
};
|
|
595
|
-
if (
|
|
631
|
+
if (re(r)) return {
|
|
596
632
|
input: "select",
|
|
597
633
|
...s
|
|
598
634
|
};
|
|
@@ -600,9 +636,9 @@ var C = (t, n) => {
|
|
|
600
636
|
input: "sub-flow",
|
|
601
637
|
...s
|
|
602
638
|
};
|
|
603
|
-
if (
|
|
639
|
+
if (ie(t, r)) return {
|
|
604
640
|
input: "list",
|
|
605
|
-
items: t.getTypeArguments(r).flatMap((e) => (e.isUnion() ? e.types : [e]).map((e) =>
|
|
641
|
+
items: t.getTypeArguments(r).flatMap((e) => (e.isUnion() ? e.types : [e]).map((e) => q(t, n, e, i, a, o))),
|
|
606
642
|
...s
|
|
607
643
|
};
|
|
608
644
|
if ((r.flags & e.TypeFlags.Object) !== 0) {
|
|
@@ -610,7 +646,7 @@ var C = (t, n) => {
|
|
|
610
646
|
for (let s of t.getPropertiesOfType(r)) {
|
|
611
647
|
let r = s.valueDeclaration ?? s.declarations?.[0];
|
|
612
648
|
if (!r) continue;
|
|
613
|
-
let u = t.getTypeOfSymbolAtLocation(s, r), d = (s.flags & e.SymbolFlags.Optional) !== 0 || u.isUnion() && u.types.some((t) => (t.flags & e.TypeFlags.Undefined) !== 0), f = (u.isUnion() ? u.types.filter((t) => (t.flags & e.TypeFlags.Undefined) === 0) : [u]).map((e) =>
|
|
649
|
+
let u = t.getTypeOfSymbolAtLocation(s, r), d = (s.flags & e.SymbolFlags.Optional) !== 0 || u.isUnion() && u.types.some((t) => (t.flags & e.TypeFlags.Undefined) !== 0), f = (u.isUnion() ? u.types.filter((t) => (t.flags & e.TypeFlags.Undefined) === 0) : [u]).map((e) => q(t, n, e, i, a, o));
|
|
614
650
|
c[s.name] = f.length === 1 ? f[0] : f, d || l.push(s.name);
|
|
615
651
|
}
|
|
616
652
|
return {
|
|
@@ -622,22 +658,22 @@ var C = (t, n) => {
|
|
|
622
658
|
}
|
|
623
659
|
return { input: "generic" };
|
|
624
660
|
};
|
|
625
|
-
function
|
|
661
|
+
function J(t) {
|
|
626
662
|
return (t.flags & e.TypeFlags.Boolean) !== 0 || (t.flags & e.TypeFlags.BooleanLiteral) !== 0;
|
|
627
663
|
}
|
|
628
|
-
function
|
|
664
|
+
function Y(t) {
|
|
629
665
|
return (t.flags & e.TypeFlags.Number) !== 0 || (t.flags & e.TypeFlags.NumberLiteral) !== 0;
|
|
630
666
|
}
|
|
631
|
-
function
|
|
667
|
+
function X(t) {
|
|
632
668
|
return (t.flags & e.TypeFlags.String) !== 0 || (t.flags & e.TypeFlags.StringLiteral) !== 0;
|
|
633
669
|
}
|
|
634
|
-
function X(e) {
|
|
635
|
-
return Y(e) || J(e) || q(e);
|
|
636
|
-
}
|
|
637
670
|
function Z(e) {
|
|
638
|
-
return e
|
|
671
|
+
return X(e) || Y(e) || J(e);
|
|
672
|
+
}
|
|
673
|
+
function re(e) {
|
|
674
|
+
return e.isUnion() ? e.types.every(Z) : !1;
|
|
639
675
|
}
|
|
640
|
-
function
|
|
676
|
+
function ie(e, t) {
|
|
641
677
|
return e.isArrayType(t) || e.isTupleType(t);
|
|
642
678
|
}
|
|
643
679
|
function Q(e) {
|
|
@@ -645,10 +681,10 @@ function Q(e) {
|
|
|
645
681
|
}
|
|
646
682
|
//#endregion
|
|
647
683
|
//#region src/schema/getSignatureSchema.ts
|
|
648
|
-
var
|
|
649
|
-
let i = S(e, n, t), a = "index.ts", o = v(a, i), s = o.getSourceFile(a), c = o.languageService.getProgram().getTypeChecker(), l = e.nodes?.nodes?.find((e) => e?.id === r), u = r ? `fn_${l?.functionDefinition?.identifier?.replace(/::/g, "_")}` : "flow", d = r ? `node_${x(r)}` : `flow_${x(e.id)}`, f =
|
|
650
|
-
return
|
|
651
|
-
},
|
|
684
|
+
var ae = (e, t, n, r) => {
|
|
685
|
+
let i = S(e, n, t), a = "index.ts", o = v(a, i), s = o.getSourceFile(a), c = o.languageService.getProgram().getTypeChecker(), l = e.nodes?.nodes?.find((e) => e?.id === r), u = r ? `fn_${l?.functionDefinition?.identifier?.replace(/::/g, "_")}` : "flow", d = r ? `node_${x(r)}` : `flow_${x(e.id)}`, f = oe(s), p = $(s).get(d), m = f.get(u);
|
|
686
|
+
return ue(r, c, p, se(c, p), ce(c, m, p), le(m), r ? f : /* @__PURE__ */ new Map(), r ? n : []);
|
|
687
|
+
}, oe = (t) => new Map(t.statements.filter(e.isFunctionDeclaration).map((e) => [e.name.getText(), e])), $ = (t) => {
|
|
652
688
|
let n = [];
|
|
653
689
|
return t.statements.forEach((t) => {
|
|
654
690
|
t.forEachChild(function t(r) {
|
|
@@ -673,18 +709,18 @@ var ie = (e, t, n, r) => {
|
|
|
673
709
|
parameterIndex: t,
|
|
674
710
|
dependsOnIndex: e
|
|
675
711
|
}))).flat();
|
|
676
|
-
},
|
|
712
|
+
}, ue = (e, t, n, r, i, a, o, s) => r ? r.map((r, c) => ({
|
|
677
713
|
nodeId: e,
|
|
678
|
-
schema:
|
|
679
|
-
functionSchema:
|
|
714
|
+
schema: q(t, n, r, Array.from(o.values()), s),
|
|
715
|
+
functionSchema: q(t, n, i?.[c], Array.from(o.values()), s, !1),
|
|
680
716
|
blockedBy: a.filter((e) => e.parameterIndex === c).map((e) => e.dependsOnIndex)
|
|
681
|
-
})) : [],
|
|
717
|
+
})) : [], de = (t, n = []) => {
|
|
682
718
|
let r = "index.ts", i = v(r, `${b(n)}\ntype MyType = ${t}`).languageService.getProgram(), a = i?.getSourceFile(r), o = i?.getTypeChecker();
|
|
683
719
|
if (!a || !o) return;
|
|
684
720
|
let s = a.statements.filter((t) => e.isTypeAliasDeclaration(t) || e.isInterfaceDeclaration(t) || e.isClassDeclaration(t)).pop();
|
|
685
721
|
if (!s) return;
|
|
686
722
|
let c = o.getTypeAtLocation(s);
|
|
687
|
-
if (c) return
|
|
723
|
+
if (c) return q(o, void 0, c, [], [], !1);
|
|
688
724
|
};
|
|
689
725
|
//#endregion
|
|
690
|
-
export { T as getFlowValidation,
|
|
726
|
+
export { T as getFlowValidation, ae as getSignatureSchema, C as getTypeFromValue, de as getTypeSchema, w as getValueFromType, E as getValueValidation };
|
|
@@ -1,23 +1,3 @@
|
|
|
1
1
|
import { default as ts } from 'typescript';
|
|
2
2
|
import { LiteralValue } from '@code0-tech/sagittarius-graphql-types';
|
|
3
|
-
|
|
4
|
-
* Extracts literal values from a TypeScript type.
|
|
5
|
-
*
|
|
6
|
-
* This function recursively processes TypeScript types and extracts all literal values,
|
|
7
|
-
* including string literals, number literals, and boolean literals. For union types,
|
|
8
|
-
* it flattens and combines all literal values from each constituent type.
|
|
9
|
-
*
|
|
10
|
-
* @param type - The TypeScript type to extract values from
|
|
11
|
-
* @returns An array of LiteralValue objects representing all literal values found in the type
|
|
12
|
-
*
|
|
13
|
-
* @example
|
|
14
|
-
* // For a type like "red" | "blue" | 42
|
|
15
|
-
* const values = getValues(type);
|
|
16
|
-
* // Returns:
|
|
17
|
-
* // [
|
|
18
|
-
* // { value: "red", __typename: "LiteralValue" },
|
|
19
|
-
* // { value: "blue", __typename: "LiteralValue" },
|
|
20
|
-
* // { value: "42" }
|
|
21
|
-
* // ]
|
|
22
|
-
*/
|
|
23
|
-
export declare const getValues: (type: ts.Type) => LiteralValue[];
|
|
3
|
+
export declare const getValues: (type: ts.Type, checker?: ts.TypeChecker) => LiteralValue[];
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@code0-tech/triangulum",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.24.1",
|
|
4
4
|
"description": "",
|
|
5
5
|
"homepage": "https://github.com/code0-tech/triangulum#readme",
|
|
6
6
|
"bugs": {
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"build": "vite build"
|
|
24
24
|
},
|
|
25
25
|
"devDependencies": {
|
|
26
|
-
"@code0-tech/sagittarius-graphql-types": "0.0.0-experimental-
|
|
26
|
+
"@code0-tech/sagittarius-graphql-types": "0.0.0-experimental-2603093384-7294be43b142c66f3b3263d8021d470637a1501d",
|
|
27
27
|
"@types/node": "^25.6.0",
|
|
28
28
|
"@typescript/vfs": "^1.6.4",
|
|
29
29
|
"typescript": "^6.0.3",
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
"lossless-json": "^4.3.0"
|
|
34
34
|
},
|
|
35
35
|
"peerDependencies": {
|
|
36
|
-
"@code0-tech/sagittarius-graphql-types": "0.0.0-experimental-
|
|
36
|
+
"@code0-tech/sagittarius-graphql-types": "0.0.0-experimental-2603093384-7294be43b142c66f3b3263d8021d470637a1501d",
|
|
37
37
|
"@typescript/vfs": "^1.6.4",
|
|
38
38
|
"typescript": "^5.9.3 || ^6.0.2",
|
|
39
39
|
"lossless-json": "^4.3.0"
|