@code0-tech/triangulum 0.31.1 → 0.33.0
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/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/dist/server.cjs +1 -1
- package/dist/server.js +1 -1
- package/dist/util/schema.util.d.ts +63 -23
- package/dist/utils-9-y-1aUm.cjs +45 -0
- package/dist/{utils-DwlsxHiu.js → utils-DHs93w48.js} +202 -113
- package/package.json +3 -3
- package/dist/utils-BBizp0Um.cjs +0 -45
package/dist/index.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./utils-
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./utils-9-y-1aUm.cjs");let t=require("typescript");t=e.d(t,1);var n=(n,r)=>{let i=e.u(n?.value);if(!i)return`any`;let a=`
|
|
2
2
|
${e.r(r,`unknown`)}
|
|
3
3
|
const tempValue = ${i??`any`};
|
|
4
4
|
`,o=`index.ts`,s=e.t(o,a),c=s.getSourceFile(o),l=s.languageService.getProgram().getTypeChecker(),u=`any`,d=e=>{if(t.default.isVariableDeclaration(e)&&e.name.getText()===`tempValue`){let n=l.getTypeAtLocation(e),r=n=>{if(n.isUnion()){let e=n.types.map(r);return Array.from(new Set(e)).sort().join(` | `)}if(l.isArrayType(n)){let e=n.typeArguments||[],t=e.length>0?r(e[0]):`any`;return e[0]?.isUnion()?`(${t})[]`:`${t}[]`}if(n.getFlags()&t.default.TypeFlags.Object||n.isClassOrInterface()){let t=l.getPropertiesOfType(n);if(t.length>0)return`{ ${t.map(t=>{let n=l.getTypeOfSymbolAtLocation(t,e);return`${t.getName()}: ${r(n)}`}).join(`, `)} }`}let i=l.getBaseTypeOfLiteralType(n);return l.typeToString(i,e)};u=r(n)}t.default.forEachChild(e,d)};return d(c),u},r=(n,r)=>{let i=`
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as e, c as t, i as n, l as r, n as i, o as a, r as o, s, t as c, u as l } from "./utils-
|
|
1
|
+
import { a as e, c as t, i as n, l as r, n as i, o as a, r as o, s, t as c, u as l } from "./utils-DHs93w48.js";
|
|
2
2
|
import u, { flattenDiagnosticMessageText as d } from "typescript";
|
|
3
3
|
//#region src/extraction/getTypeFromValue.ts
|
|
4
4
|
var f = (e, t) => {
|
package/dist/server.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./utils-
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./utils-9-y-1aUm.cjs");let t=require("typescript");t=e.d(t,1);let n=require("ts-json-schema-generator");var r={...n.DEFAULT_CONFIG,expose:`none`,topRef:!1,jsDoc:`none`,skipTypeCheck:!0},i=(e,t)=>{let n=Object.keys(e);if(n.length===0)return{};let r=o(a(e,t)),i={};for(let e of n)try{i[e]=s(r.createSchema(e))}catch{i[e]={}}return i},a=(t,n)=>{let r=Object.entries(t).map(([e,t])=>`export type ${e} = ${t};`).join(`
|
|
2
2
|
`);return`${e.r(n)}\n${r}`},o=t=>{let i=e.t(`index.ts`,t).languageService.getProgram();return new n.SchemaGenerator(i,(0,n.createParser)(i,r),(0,n.createFormatter)(r),r)},s=e=>{let{$schema:t,definitions:n,...r}=e,i=n&&Object.keys(n).length>0?{...r,definitions:n}:r;return JSON.parse(JSON.stringify(i))},c=(t,n,r)=>{if(!t)return;let a=`index.ts`,o=e.n(t,n,r),s=e.t(a,o),c=s.getSourceFile(a),d=s.languageService.getProgram().getTypeChecker(),m=i({...f(d,c),...p(d,c,t)},r),h=(t.nodes?.nodes??[]).map(e=>e&&b(e,m));return{...t,inputSchema:m[l]??v(),outputSchema:m[u]??y(),nodes:{...t.nodes,nodes:h}}},l=`Flow_input`,u=`Flow_output`,d=(t,n,r)=>`Node_${e.i(t)}_${n}_${r}`,f=(e,n)=>{let r=n.statements.filter(t.default.isFunctionDeclaration).find(e=>e.name?.getText()===`flow`);if(!r)return{};let i=e.getSignatureFromDeclaration(r);if(!i)return{};let{input:a,output:o}=_(e,i,r);return{[l]:a,[u]:o}},p=(e,t,n)=>{let r=w(t),i={};for(let t of n.nodes?.nodes??[]){if(!t?.id)continue;let n=t.parameters?.nodes;if(!n?.some(x))continue;let a=C(r,t);a&&n.forEach((n,r)=>{if(!x(n))return;let o=a.arguments[r],s=o?e.getTypeAtLocation(o).getCallSignatures()[0]:void 0;if(!s)return;let{input:c,output:l}=m(e,s,o);i[d(t.id,r,`input`)]=c,i[d(t.id,r,`output`)]=l})}return i},m=(e,n,r)=>({input:`{ ${h(e,n,r).join(`; `)} }`,output:(n=>e.typeToString(n,r,t.default.TypeFormatFlags.NoTruncation))(e.getReturnTypeOfSignature(n))}),h=(e,n,r)=>{let i=n=>e.typeToString(n,r,t.default.TypeFormatFlags.NoTruncation),a=n.getParameters();if(a.length===1){let t=g(e,e.getTypeOfSymbolAtLocation(a[0],a[0].valueDeclaration??r),r);if(t)return t}return a.map(t=>{let n=e.getTypeOfSymbolAtLocation(t,t.valueDeclaration??r),a=S(t)?`?`:``;return`${t.getName()}${a}: ${i(n)}`})},g=(e,n,r)=>{let i=n,a=i.target;if(!(!a||(a.objectFlags&t.default.ObjectFlags.Tuple)===0))return e.getTypeArguments(i).map((n,i)=>{let o=a.labeledElementDeclarations?.[i];return`${o?.name&&t.default.isIdentifier(o.name)?o.name.text:`arg${i}`}${(a.elementFlags[i]&t.default.ElementFlags.Optional)===0?``:`?`}: ${e.typeToString(n,r,t.default.TypeFormatFlags.NoTruncation)}`})},_=(e,n,r)=>{let i=n=>e.typeToString(n,r,t.default.TypeFormatFlags.NoTruncation);return{input:`{ ${n.parameters.map(t=>{let n=e.getTypeOfSymbolAtLocation(t,t.valueDeclaration??r),a=S(t)?`?`:``;return`${t.getName()}${a}: ${i(n)}`}).join(`; `)} }`,output:i(e.getReturnTypeOfSignature(n))}},v=()=>({type:`object`}),y=()=>({}),b=(e,t)=>{let n=e.parameters?.nodes;if(!n?.some(x))return e;let r=n.map((n,r)=>{if(!x(n))return n;let i={...n.value,inputSchema:t[d(e.id,r,`input`)]??v(),outputSchema:t[d(e.id,r,`output`)]??y()};return{...n,value:i}});return{...e,parameters:{...e.parameters,nodes:r}}},x=e=>e?.value?.__typename===`SubFlowValue`,S=e=>{let n=e.valueDeclaration;return!!n&&t.default.isParameter(n)&&(!!n.questionToken||!!n.initializer||!!n.dotDotDotToken)},C=(n,r)=>{let i=n.get(`node_${e.i(r.id)}`)?.initializer;return i&&t.default.isCallExpression(i)?i:void 0},w=e=>{let n=new Map;return e.statements.forEach(e=>{e.forEachChild(function e(r){t.default.isVariableDeclaration(r)&&(r.parent.flags&t.default.NodeFlags.Const)!==0&&n.set(r.name.getText(),r),r.forEachChild(e)})}),n};exports.getFlowSchemas=c;
|
package/dist/server.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { i as e, n as t, r as n, t as r } from "./utils-
|
|
1
|
+
import { i as e, n as t, r as n, t as r } from "./utils-DHs93w48.js";
|
|
2
2
|
import i from "typescript";
|
|
3
3
|
import { DEFAULT_CONFIG as a, SchemaGenerator as o, createFormatter as s, createParser as c } from "ts-json-schema-generator";
|
|
4
4
|
//#region src/util/jsonSchema.util.ts
|
|
@@ -67,6 +67,16 @@ export interface PrimitiveInput extends Input {
|
|
|
67
67
|
export interface DateInput extends Input {
|
|
68
68
|
input?: "date";
|
|
69
69
|
}
|
|
70
|
+
/**
|
|
71
|
+
* Represents a color input type.
|
|
72
|
+
* Emitted for the COLOR data type so the UI can render a dedicated color picker
|
|
73
|
+
* instead of expanding the `{ hue, saturation, lightness, alpha? }` object its
|
|
74
|
+
* underlying type would otherwise produce. Like {@link DateInput}, it carries no
|
|
75
|
+
* additional properties.
|
|
76
|
+
*/
|
|
77
|
+
export interface ColorInput extends Input {
|
|
78
|
+
input?: "color";
|
|
79
|
+
}
|
|
70
80
|
/**
|
|
71
81
|
* Represents a file input type.
|
|
72
82
|
* Emitted for the FILE data type so the UI can render a dedicated file picker
|
|
@@ -96,6 +106,58 @@ export interface ListFileInput extends Input {
|
|
|
96
106
|
/** See {@link FileInput.mimetype}. */
|
|
97
107
|
mimetype?: string;
|
|
98
108
|
}
|
|
109
|
+
/**
|
|
110
|
+
* Represents a list of select inputs.
|
|
111
|
+
* Emitted for any array/list whose element is a select type (a primitive
|
|
112
|
+
* literal union or a single string/number literal — e.g. `LIST<HTTP_METHOD>`,
|
|
113
|
+
* `('GET' | 'POST')[]`) so the UI can render a dedicated multi-select instead
|
|
114
|
+
* of the generic list input its underlying type would otherwise produce.
|
|
115
|
+
*/
|
|
116
|
+
export interface ListSelectInput extends Omit<ListInput, 'input'> {
|
|
117
|
+
input?: "list-select";
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Represents a list of boolean inputs.
|
|
121
|
+
* Emitted for any array/list of plain booleans (e.g. `LIST<BOOLEAN>`,
|
|
122
|
+
* `boolean[]`) so the UI can render a dedicated multi-boolean input instead of
|
|
123
|
+
* the generic list of individual boolean inputs its underlying type would
|
|
124
|
+
* otherwise produce. Carries the per-item schemas in `items`, like a generic
|
|
125
|
+
* {@link ListInput}.
|
|
126
|
+
*/
|
|
127
|
+
export interface ListBooleanInput extends Omit<ListInput, 'input'> {
|
|
128
|
+
input?: "list-boolean";
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Represents a list of number inputs.
|
|
132
|
+
* Emitted for any array/list of plain numbers (e.g. `LIST<NUMBER>`, `number[]`)
|
|
133
|
+
* so the UI can render a dedicated multi-number input instead of the generic
|
|
134
|
+
* list of individual number inputs its underlying type would otherwise produce.
|
|
135
|
+
* Carries the per-item schemas in `items`, like a generic {@link ListInput}.
|
|
136
|
+
*/
|
|
137
|
+
export interface ListNumberInput extends Omit<ListInput, 'input'> {
|
|
138
|
+
input?: "list-number";
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Represents a list of text inputs.
|
|
142
|
+
* Emitted for any array/list of plain strings (e.g. `LIST<TEXT>`, `string[]`)
|
|
143
|
+
* so the UI can render a dedicated multi-text input instead of the generic list
|
|
144
|
+
* of individual text inputs its underlying type would otherwise produce. Carries
|
|
145
|
+
* the per-item schemas in `items`, like a generic {@link ListInput}.
|
|
146
|
+
*/
|
|
147
|
+
export interface ListTextInput extends Omit<ListInput, 'input'> {
|
|
148
|
+
input?: "list-text";
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Represents a list of sub-flow inputs.
|
|
152
|
+
* Emitted for any array/list whose element is a callable/sub-flow type (e.g.
|
|
153
|
+
* `LIST<FLOW>`, `(() => void)[]`) so the UI can render a dedicated multi-sub-flow
|
|
154
|
+
* input instead of the generic list of individual sub-flow inputs its underlying
|
|
155
|
+
* type would otherwise produce. Carries the per-item schemas in `items`, like a
|
|
156
|
+
* generic {@link ListInput}.
|
|
157
|
+
*/
|
|
158
|
+
export interface ListSubFlowInput extends Omit<ListInput, 'input'> {
|
|
159
|
+
input?: "list-sub-flow";
|
|
160
|
+
}
|
|
99
161
|
/**
|
|
100
162
|
* Represents a data object input type with structured properties.
|
|
101
163
|
* Includes property definitions and required field tracking.
|
|
@@ -131,7 +193,7 @@ export interface TypeInput extends Input {
|
|
|
131
193
|
* Union type representing all possible schema input types.
|
|
132
194
|
* Discriminated union based on the 'input' field.
|
|
133
195
|
*/
|
|
134
|
-
export type Schema = PrimitiveInput | DateInput | FileInput | ListFileInput | DataInput | ListInput | TypeInput | SubFlowInput | GenericInput;
|
|
196
|
+
export type Schema = PrimitiveInput | DateInput | ColorInput | FileInput | ListFileInput | ListSelectInput | ListBooleanInput | ListNumberInput | ListTextInput | ListSubFlowInput | DataInput | ListInput | TypeInput | SubFlowInput | GenericInput;
|
|
135
197
|
/**
|
|
136
198
|
* Generates a schema definition for a given TypeScript type.
|
|
137
199
|
*
|
|
@@ -157,28 +219,6 @@ export type Schema = PrimitiveInput | DateInput | FileInput | ListFileInput | Da
|
|
|
157
219
|
* @returns A Schema object describing how to handle the parameter type
|
|
158
220
|
*/
|
|
159
221
|
export declare const getSchema: (checker: ts.TypeChecker, node: ts.VariableDeclaration | undefined, parameterType: ts.Type, functionDeclarations: FunctionDeclaration[], functions: FunctionDefinition[], suggestions?: boolean, suggestionType?: ts.Type, visited?: Set<ts.Type>, recursionCache?: Map<ts.Type, boolean>) => Schema;
|
|
160
|
-
/**
|
|
161
|
-
* Merges a function-declared parameter schema with the schema derived from the
|
|
162
|
-
* concrete node value. The function schema is treated as the source of truth for
|
|
163
|
-
* the structural shape (input kind, properties, items); the node schema only
|
|
164
|
-
* contributes additional suggestions and, when the function schema is generic,
|
|
165
|
-
* a fallback shape.
|
|
166
|
-
*
|
|
167
|
-
* Rules:
|
|
168
|
-
* - If the function schema is generic, follow the node schema — but never as a
|
|
169
|
-
* select. A single literal value (e.g. "Test") narrowing a generic T must not
|
|
170
|
-
* collapse the input into a select with one option; it should remain free-form
|
|
171
|
-
* text/number/boolean matching the literal kind.
|
|
172
|
-
* - Otherwise use the function schema's input kind and merge suggestions from both.
|
|
173
|
-
* Recurse into `properties` (for data) and `items` (for list) so nested generics
|
|
174
|
-
* inside concrete containers are handled the same way.
|
|
175
|
-
*
|
|
176
|
-
* Suggestions are concatenated and de-duplicated by structural equality.
|
|
177
|
-
*
|
|
178
|
-
* @param functionSchema - The schema derived from the declared function parameter type
|
|
179
|
-
* @param nodeSchema - The schema derived from the node's concrete (narrowed) parameter type
|
|
180
|
-
* @returns A single merged schema
|
|
181
|
-
*/
|
|
182
222
|
export declare const mergeSchemas: (functionSchema: Schema | undefined, nodeSchema: Schema, valueProvided?: boolean) => Schema;
|
|
183
223
|
/**
|
|
184
224
|
* Checks if a type is a callable type (has call signatures).
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},s=(n,r,s)=>(s=n==null?{}:e(i(n)),o(r||!n||!n.__esModule||!a.call(n,`default`)?t(s,`default`,{value:n,enumerable:!0}):s,n));let c=require("typescript");c=s(c,1);function l(){return l=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},l.apply(null,arguments)}var u=!1;try{u=typeof localStorage<`u`}catch{}var d=typeof process<`u`,f=u&&typeof localStorage.getItem==`function`&&localStorage.getItem(`DEBUG`)||d&&process.env.DEBUG?console.log:function(e){return``};function p(e,t,n,r,i){r===void 0&&(r={});var a=l({},g(n),r),o=te(e,t,a,n,i),s=o.languageServiceHost,c=o.updateFile,u=o.deleteFile,d=n.createLanguageService(s),f=d.getCompilerOptionsDiagnostics();if(f.length){var p=v(e,r,n);throw Error(n.formatDiagnostics(f,p.compilerHost))}return{name:`vfs`,sys:e,languageService:d,getSourceFile:function(e){return d.getProgram()?.getSourceFile(e)},createFile:function(e,t){c(n.createSourceFile(e,t,a.target,!1))},updateFile:function(e,t,r){var i=d.getProgram().getSourceFile(e);if(!i)throw Error(`Did not find a source file for `+e);var a=i.text,o=r??n.createTextSpan(0,a.length),s=a.slice(0,o.start)+t+a.slice(o.start+o.length);c(n.updateSourceFile(i,s,{span:o,newLength:t.length}))},deleteFile:function(e){var t=d.getProgram().getSourceFile(e);t&&u(t)}}}function m(e){throw Error(`Method '`+e+`' is not implemented.`)}function h(e,t){return function(){for(var n=arguments.length,r=Array(n),i=0;i<n;i++)r[i]=arguments[i];var a=t.apply(void 0,r),o=typeof a==`string`?a.slice(0,80)+`...`:a;return f.apply(void 0,[`> `+e].concat(r)),f(`< `+o),a}}var g=function(e){return l({},e.getDefaultCompilerOptions(),{jsx:e.JsxEmit.React,strict:!0,esModuleInterop:!0,module:e.ModuleKind.ESNext,suppressOutputPathCheck:!0,skipLibCheck:!0,skipDefaultLibCheck:!0},e.versionMajorMinor&&Number(e.versionMajorMinor.split(`.`)[0])>=6?{ignoreDeprecations:`6.0`}:{moduleResolution:e.ModuleResolutionKind.NodeJs})},_=function(e){return e.replace(`/`,`/lib.`).toLowerCase()};function ee(e){return{args:[],createDirectory:function(){return m(`createDirectory`)},directoryExists:h(`directoryExists`,function(t){return Array.from(e.keys()).some(function(e){return e.startsWith(t)})}),exit:function(){return m(`exit`)},fileExists:h(`fileExists`,function(t){return e.has(t)||e.has(_(t))}),getCurrentDirectory:function(){return`/`},getDirectories:function(){return[]},getExecutingFilePath:function(){return m(`getExecutingFilePath`)},readDirectory:h(`readDirectory`,function(t){return t===`/`?Array.from(e.keys()):[]}),readFile:h(`readFile`,function(t){return e.get(t)??e.get(_(t))}),resolvePath:function(e){return e},newLine:`
|
|
2
|
+
`,useCaseSensitiveFileNames:!0,write:function(){return m(`write`)},writeFile:function(t,n){e.set(t,n)},deleteFile:function(t){e.delete(t)}}}function v(e,t,n){var r=new Map,i=function(e){return r.set(e.fileName,e),e};return{compilerHost:l({},e,{getCanonicalFileName:function(e){return e},getDefaultLibFileName:function(){return`/`+n.getDefaultLibFileName(t)},getNewLine:function(){return e.newLine},getSourceFile:function(a,o){return r.get(a)||i(n.createSourceFile(a,e.readFile(a),o??t.target??g(n).target,!1))},useCaseSensitiveFileNames:function(){return e.useCaseSensitiveFileNames}}),updateFile:function(t){var n=r.has(t.fileName);return e.writeFile(t.fileName,t.text),r.set(t.fileName,t),n},deleteFile:function(t){var n=r.has(t.fileName);return r.delete(t.fileName),e.deleteFile(t.fileName),n}}}function te(e,t,n,r,i){var a=[].concat(t),o=v(e,n,r),s=o.compilerHost,c=o.updateFile,u=o.deleteFile,d=new Map,f=0;return{languageServiceHost:l({},s,{getProjectVersion:function(){return f.toString()},getCompilationSettings:function(){return n},getCustomTransformers:function(){return i},getScriptFileNames:function(){return a.slice()},getScriptSnapshot:function(t){var n=e.readFile(t);if(n&&typeof n==`string`)return r.ScriptSnapshot.fromString(n)},getScriptVersion:function(e){return d.get(e)||`0`},writeFile:e.writeFile}),updateFile:function(e){f++,d.set(e.fileName,f.toString()),a.includes(e.fileName)||a.push(e.fileName),c(e)},deleteFile:function(e){f++,d.set(e.fileName,f.toString());var t=a.indexOf(e.fileName);t!==-1&&a.splice(t,1),u(e)}}}function ne(e){return re.test(e)}var re=/^-?(?:0|[1-9]\d*)(?:\.\d+)?(?:[eE][+-]?\d+)?$/;function y(e,t,n,r){let i=ie(n);return a(typeof t==`function`?t.call({"":e},``,e):e,``);function a(e,t){if(Array.isArray(r)){let t=r.find(t=>t.test(e));if(t){let n=t.stringify(e);if(typeof n!=`string`||!ne(n))throw Error(`Invalid JSON number: output of a number stringifier must be a string containing a JSON number (output: ${n})`);return n}}if(typeof e==`boolean`||typeof e==`number`||typeof e==`string`||e===null||e instanceof Date||e instanceof Boolean||e instanceof Number||e instanceof String)return JSON.stringify(e);if(e?.isLosslessNumber||typeof e==`bigint`)return e.toString();if(Array.isArray(e))return o(e,t);if(e&&typeof e==`object`)return s(e,t)}function o(e,n){if(e.length===0)return`[]`;let r=i?n+i:void 0,o=i?`[
|
|
3
|
+
`:`[`;for(let n=0;n<e.length;n++){let s=typeof t==`function`?t.call(e,String(n),e[n]):e[n];i&&(o+=r),o+=s!==void 0&&typeof s!=`function`?a(s,r):`null`,n<e.length-1&&(o+=i?`,
|
|
4
|
+
`:`,`)}return o+=i?`\n${n}]`:`]`,o}function s(e,r){if(typeof e.toJSON==`function`)return y(e.toJSON(),t,n,void 0);let o=Array.isArray(t)?t.map(String):Object.keys(e);if(o.length===0)return`{}`;let s=i?r+i:void 0,l=!0,u=i?`{
|
|
5
|
+
`:`{`;for(let n of o){let r=typeof t==`function`?t.call(e,n,e[n]):e[n];if(c(n,r)){l?l=!1:u+=i?`,
|
|
6
|
+
`:`,`;let e=JSON.stringify(n);u+=i?`${s+e}: `:`${e}:`,u+=a(r,s)}}return u+=i?`\n${r}}`:`}`,u}function c(e,t){return t!==void 0&&typeof t!=`function`&&typeof t!=`symbol`}}function ie(e){if(typeof e==`number`)return` `.repeat(e);if(typeof e==`string`&&e!==``)return e}var b=e=>{if(c.default.isUnionTypeNode(e))return e.types.flatMap(b);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[]},x=(e,t)=>{if(t&&e.aliasSymbol){let t=e.aliasSymbol.declarations?.[0];if(t&&c.default.isTypeAliasDeclaration(t))return b(t.type)}return e.isUnion()?e.types.flatMap(e=>x(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`}]:[]},S=(e,t,n,r)=>r.flatMap(r=>{let i=r.getName();if(!C(i))return[];let a=r.getDeclarations()?.[0];if(!a||a.getEnd()>=t.getEnd())return[];let o=e.getTypeOfSymbolAtLocation(r,t);return i.startsWith(`node_`)?w(i,o,e,n):i.startsWith(`p_`)?ae(i,o,e,n):i.startsWith(`flow_`)?oe(o,e,n):[]}),C=e=>e.startsWith(`node_`)||e.startsWith(`p_`)||e.startsWith(`flow_`),w=(e,t,n,r)=>{if((t.flags&c.default.TypeFlags.Void)!==0)return[];let i=T(e.replace(`node_`,``));return O(t,n,r).flatMap(({path:e})=>{let t={__typename:`ReferenceValue`,nodeFunctionId:i};return e.length>0&&(t.referencePath=e),t})},ae=(e,t,n,r)=>{let{nodeFunctionId:i,paramIndexFromName:a}=se(e);if(!n.isTupleType(t))return[];let o=t;return n.getTypeArguments(o).flatMap((e,t)=>O(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}))},oe=(e,t,n)=>O(e,t,n).flatMap(({path:e})=>{let t={__typename:`ReferenceValue`,nodeFunctionId:null};return e.length>0&&(t.referencePath=e),t}),T=e=>e.replace(/___/g,`://`).replace(/__/g,`/`).replace(/_/g,`/`),se=e=>{let t=e.replace(`p_`,``),n=t.lastIndexOf(`_`),r=t.substring(0,n),i=parseInt(t.substring(n+1),10);return{nodeFunctionId:T(r),paramIndexFromName:i}},ce=7,E=(e,t,n)=>{let r=n.get(e);if(r!==void 0)return r;let i=new Set,a=n=>{if(i.has(n)||!k(n))return!1;i.add(n);for(let r of n.getProperties()){if(!r.valueDeclaration)continue;let n=t.getNonNullableType(t.getTypeOfSymbolAtLocation(r,r.valueDeclaration));if(n===e||a(n))return!0}return!1},o=a(e);return n.set(e,o),o},D=(e,t,n)=>e.isUnion()?e.types.some(e=>D(t.getNonNullableType(e),t,n)):(e.flags&c.default.TypeFlags.Never)===0&&t.isTypeAssignableTo(e,n),le=(e,t)=>e.isUnion()?e.types.map(e=>t.getNonNullableType(e)).filter(k):k(e)?[e]:[],O=(e,t,n,r=[],i=new Set,a=new Map)=>{let o=[],s=t.getNonNullableType(e);return D(s,t,n)&&o.push({path:r,type:e}),le(s,t).forEach(e=>{if(i.has(e)||r.length>=ce&&E(e,t,a))return;let s=e.getProperties();s&&s.length>0&&(i.add(e),s.forEach(e=>{let s=t.getTypeOfSymbolAtLocation(e,e.valueDeclaration),c=e.getName(),l=[...r,{path:c}];o.push(...O(s,t,n,l,i,a))}),i.delete(e))}),o},k=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},ue=(e,t,n,r)=>J(r)?[]:t.flatMap(t=>{let i=de(e,t,n,r);return i?[i]:[]}),de=(e,t,n,r)=>{if(t.parameters.length>0)return null;let i=e.getSignatureFromDeclaration(t),a=fe(e,e.getReturnTypeOfSignature(i)),o=e.getNonNullableType(a);if((o.flags&c.default.TypeFlags.Never)!==0||!e.isTypeAssignableTo(o,r))return null;let s=pe(t.name?.getText());return A(n.find(e=>e.identifier===s))},fe=(e,t)=>t.isTypeParameter()?e.getBaseConstraintOfType(t)||e.getAnyType():t,pe=e=>e?e.replace(`fn_`,``).replace(`_`,`::`).replace(`_`,`::`):``,A=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=j(e?.parameterDefinitions?.nodes||[])),n},j=e=>({__typename:`NodeParameterConnection`,nodes:e.map(e=>M(e))}),M=e=>({__typename:`NodeParameter`,parameterDefinition:{__typename:`ParameterDefinition`,id:e?.id,identifier:e?.identifier},value:e?.defaultValue?{__typename:`LiteralValue`,value:e.defaultValue.value}:null}),N=(e,t,n,r)=>J(r)?t.flatMap(t=>{let i=P(e,t,n,r);return i?[i]:[]}):[],P=(e,t,n,r)=>{let i=e.getTypeAtLocation(t);if(!e.isTypeAssignableTo(i,r))return null;let a=F(t.name?.getText()),o=n.find(e=>e.identifier===a);return o?I(o):null},F=e=>e?e.replace(`fn_`,``).replace(`_`,`::`).replace(`_`,`::`):``,I=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}))}),L={DATE:`date`},R=e=>e!=null&&e in L,z=7,B=(e,t,n,r,i,a=!0,o,s=new Set,l=new Map)=>{if((n.flags&c.default.TypeFlags.TypeParameter)!==0){let u=n.symbol?.declarations?.[0];if(u&&c.default.isTypeParameterDeclaration(u)&&u.constraint)return B(e,t,e.getTypeFromTypeNode(u.constraint),r,i,a,o,s,l)}let u=e.typeToString(R(n.aliasSymbol?.getName())&&n.isIntersection()?n.types.find(e=>(e.flags&c.default.TypeFlags.Object)===0)??n:{...n,aliasSymbol:void 0}),d=o??n,f=a?{suggestions:[...x(d,e),...t?S(e,t,d,e.getSymbolsInScope(t,c.default.SymbolFlags.Variable)):[],...ue(e,r,i,d),...N(e,r,i,d)]}:{};if(n.isUnion()){let a=n.types.filter(e=>(e.flags&(c.default.TypeFlags.Undefined|c.default.TypeFlags.Null))===0);if(a.length===1)return{...B(e,t,a[0],r,i,!1,void 0,s,l),type:u,...f}}let p=ye(n);if(p)return{input:p,type:u,...f};if(H(e,n))return{input:`file`,type:u,mimetype:U(e,n),...f};if(be(e,n))return{input:`color`,type:u,...f};if(W(n))return{input:`boolean`,type:u,...f};if(q(n))return{input:`select`,type:u,...f};if(G(n))return{input:`number`,type:u,...f};if(K(n))return{input:`text`,type:u,...f};if(J(n))return{input:`sub-flow`,type:u,...f};if(we(e,n)){let o=e.getTypeArguments(n);if(o.length===1&&H(e,o[0]))return{input:`list-file`,type:u,mimetype:U(e,o[0]),...f};let c=o.flatMap(n=>(n.isUnion()?n.types:[n]).map(n=>B(e,t,n,r,i,a,void 0,s,l)));if(o.length===1&&q(o[0]))return{input:`list-select`,type:u,items:c,...f};if(o.length===1){let e=o[0];if(W(e))return{input:`list-boolean`,type:u,items:c,...f};if(G(e))return{input:`list-number`,type:u,items:c,...f};if(K(e))return{input:`list-text`,type:u,items:c,...f};if(J(e))return{input:`list-sub-flow`,type:u,items:c,...f}}return{input:`list`,type:u,items:c,...f}}if((n.flags&c.default.TypeFlags.Object)!==0){if(s.has(n)||s.size>=z&&E(n,e,l))return{input:`data`,type:u,...f};s.add(n);let o={},d=[];for(let u of e.getPropertiesOfType(n)){let n=u.valueDeclaration??u.declarations?.[0];if(!n)continue;let f=e.getTypeOfSymbolAtLocation(u,n),p=(u.flags&c.default.SymbolFlags.Optional)!==0||f.isUnion()&&f.types.some(e=>(e.flags&(c.default.TypeFlags.Undefined|c.default.TypeFlags.Null))!==0),m=(f.isUnion()?f.types.filter(e=>(e.flags&(c.default.TypeFlags.Undefined|c.default.TypeFlags.Null))===0):[f]).map(n=>B(e,t,n,r,i,a,void 0,s,l));o[u.name]=m.length===1?m[0]:m,p||d.push(u.name)}return s.delete(n),{input:`data`,type:u,properties:o,required:d,...f}}return{input:`generic`,type:u,...f}},me=new Set([`list`,`list-select`,`list-boolean`,`list-number`,`list-text`,`list-sub-flow`]),V=(e,t,n=!1)=>{if(!e||e.input===`generic`)return _e(ve(t),n);let r=ge(e.suggestions,t.suggestions);if(e.input===`data`){let n=e.properties??{},i=t.input===`data`?t.properties??{}:{},a={},o=new Set([...Object.keys(n),...Object.keys(i)]);for(let e of o){let t=n[e],r=i[e];a[e]=he(t,r)}return{...e,properties:a,...r?{suggestions:r}:{}}}if(me.has(e.input)){let n=e.items??[],i=t.input===e.input?t.items??[]:[],a=n.length===i.length&&n.length>0?n.map((e,t)=>V(e,i[t])):n;return{...e,items:a,...r?{suggestions:r}:{}}}return{...e,...r?{suggestions:r}:{}}},he=(e,t)=>e&&!Array.isArray(e)&&t&&!Array.isArray(t)?V(e,t):e??t,ge=(e,t)=>{let n=[...e??[],...t??[]];if(n.length===0)return;let r=new Set,i=[];for(let e of n){let t=JSON.stringify(e);r.has(t)||(r.add(t),i.push(e))}return i},_e=(e,t)=>!t||e.input!==`generic`?e:{input:`data`,...e.type?{type:e.type}:{},properties:{},required:[],...e.suggestions?{suggestions:e.suggestions}:{}},ve=e=>{if(e.input!==`select`)return e;let t=e.suggestions??[],n=new Set;for(let e of t){let t=typeof e.value;(t===`string`||t===`number`||t===`boolean`)&&n.add(t)}return{input:n.size===1?{string:`text`,number:`number`,boolean:`boolean`}[[...n][0]]:`text`,...e.type?{type:e.type}:{},...t.length>0?{suggestions:t}:{}}};function ye(e){let t=e.aliasSymbol?.getName();return R(t)?L[t]:void 0}function H(e,t){if(t.aliasSymbol?.getName()!==`FILE`||(t.flags&c.default.TypeFlags.Object)===0)return!1;let n=e.getPropertiesOfType(t);if(n.length!==4)return!1;let r=new Map(n.map(e=>[e.name,e])),i=r.get(`valueType`);if(!r.has(`contentType`)||!r.has(`fileName`)||!r.has(`value`)||!i)return!1;let a=i.valueDeclaration??i.declarations?.[0];if(!a)return!1;let o=e.getTypeOfSymbolAtLocation(i,a);return o.isStringLiteral()&&o.value===`base64`}function be(e,t){if(t.aliasSymbol?.getName()!==`COLOR`||(t.flags&c.default.TypeFlags.Object)===0)return!1;let n=new Map(e.getPropertiesOfType(t).map(e=>[e.name,e]));return[`hue`,`saturation`,`lightness`].every(t=>{let r=n.get(t);if(!r)return!1;let i=r.valueDeclaration??r.declarations?.[0];return i?G(e.getTypeOfSymbolAtLocation(r,i)):!1})}function U(e,t){let n=/^(\*|[a-zA-Z0-9][a-zA-Z0-9!#$&^_.+-]*)\/(\*|[a-zA-Z0-9][a-zA-Z0-9!#$&^_.+-]*)$/,r=e.getPropertiesOfType(t).find(e=>e.name===`contentType`);if(!r)return`*/*`;let i=r.valueDeclaration??r.declarations?.[0];if(!i)return`*/*`;let a=e.getTypeOfSymbolAtLocation(r,i);return a.isStringLiteral()&&n.test(a.value)?a.value:`*/*`}function W(e){if((e.flags&c.default.TypeFlags.Boolean)!==0||(e.flags&c.default.TypeFlags.BooleanLiteral)!==0)return!0;if(e.isUnion()){let t=e.types.filter(e=>(e.flags&(c.default.TypeFlags.Undefined|c.default.TypeFlags.Null))===0);return t.length>0&&t.every(e=>(e.flags&c.default.TypeFlags.Boolean)!==0||(e.flags&c.default.TypeFlags.BooleanLiteral)!==0)}return!1}function G(e){return(e.flags&c.default.TypeFlags.Number)!==0||(e.flags&c.default.TypeFlags.NumberLiteral)!==0}function K(e){return(e.flags&c.default.TypeFlags.String)!==0||(e.flags&c.default.TypeFlags.StringLiteral)!==0}function xe(e){return K(e)||G(e)||W(e)}function Se(e){return(e.flags&c.default.TypeFlags.StringLiteral)!==0||(e.flags&c.default.TypeFlags.NumberLiteral)!==0}function q(e){return W(e)?!1:Ce(e)||Se(e)}function Ce(e){if(!e.isUnion())return!1;let t=e.types.filter(e=>(e.flags&(c.default.TypeFlags.Undefined|c.default.TypeFlags.Null))===0);return t.length>0&&t.every(xe)}function we(e,t){return e.isArrayType(t)||e.isTupleType(t)}function J(e){return e.getCallSignatures().length>0}var Te=`
|
|
7
|
+
interface Array<T> {
|
|
8
|
+
[n: number]: T;
|
|
9
|
+
length: number;
|
|
10
|
+
}
|
|
11
|
+
interface String { readonly length: number; }
|
|
12
|
+
interface Number { }
|
|
13
|
+
interface Boolean { }
|
|
14
|
+
interface Object { }
|
|
15
|
+
interface Function { }
|
|
16
|
+
interface CallableFunction extends Function {}
|
|
17
|
+
interface NewableFunction extends Function {}
|
|
18
|
+
interface IArguments { }
|
|
19
|
+
interface RegExp { }
|
|
20
|
+
|
|
21
|
+
declare namespace Utils {
|
|
22
|
+
type ReturnType<T extends (...args: any) => any> = T extends (...args: any) => infer R ? R : any;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
import ReturnType = Utils.ReturnType;
|
|
26
|
+
`;function Ee(e,t){let n=new Map;return n.set(e,t),n.set(`lib.codezero.d.ts`,Te),p(ee(n),[e,`lib.codezero.d.ts`],c.default,De)}var De={target:c.default.ScriptTarget.Latest,lib:[`lib.codezero.d.ts`],noEmit:!0,strictNullChecks:!0};function Y(e){let t=[],n=0,r=null,i=``;for(let a of e){if(r)a===r&&(r=null);else if(a===`'`||a===`"`||a==="`")r=a;else if(a===`<`||a===`{`||a===`(`||a===`[`)n++;else if(a===`>`||a===`}`||a===`)`||a===`]`)n--;else if(a===`,`&&n===0){t.push(i),i=``;continue}i+=a}return t.push(i),t.map(e=>(e.trim().split(/\s+/).find(e=>e!==`const`&&e!==`in`&&e!==`out`)??``).match(/^[A-Za-z_$][A-Za-z0-9_$]*/)?.[0]??``).filter(e=>e.length>0)}function X(e,t=`any`,n=!0){let r=Array.from(new Set(e?.flatMap(e=>e.genericKeys||[]).flatMap(Y))).map(e=>`type ${e} = ${t};`).join(`
|
|
27
|
+
`),i=e?.map(e=>{let t=(e.genericKeys?.length??0)>0?`<${e.genericKeys?.join(`,`)}>`:``,n=R(e.identifier)?`${e.type} & {}`:e.type;return`type ${e.identifier}${t} = ${n};`}).join(`
|
|
28
|
+
`),a=e?.filter(e=>(e.genericKeys?.length??0)>0).map(e=>`declare const __widen_${e.identifier}: ${e.identifier}<${e.genericKeys.map(()=>`any`).join(`, `)}>;`).join(`
|
|
29
|
+
`)??``;return`${n?r:``}\n${i}\n${a}`}var Z=e=>e?.replace(/[^a-zA-Z0-9]/g,`_`),Q=e=>e.replace(/\\/g,`\\\\`).replace(/`/g,"\\`").replace(/\$\{/g,"\\${"),Oe=(e,t)=>{let n=e.match(/^\$\{([^}]+)\}$/);if(n&&t.has(n[1]))return t.get(n[1]);let r=/\$\{([^}]+)\}/g,i=!1;for(let n of e.matchAll(r))if(t.has(n[1])){i=!0;break}if(!i)return y(e)??`""`;let a=``,o=0;for(let n of e.matchAll(r)){let[r,i]=n,s=n.index;a+=Q(e.slice(o,s)),a+=t.has(i)?"${"+t.get(i)+`}`:Q(r),o=s+r.length}return a+=Q(e.slice(o)),"`"+a+"`"},$=(e,t)=>typeof e==`string`?Oe(e,t):Array.isArray(e)?`[${e.map(e=>$(e,t)).join(`, `)}]`:typeof e==`object`&&e?`{${Object.entries(e).map(([e,n])=>`${y(e)}: ${$(n,t)}`).join(`, `)}}`:y(e)??`undefined`;function ke(e,t,n,r=!1,i=!0){let a=e?.nodes?.nodes||[],o=new Map(t?.map(e=>[e.identifier,e])),s=new Set,c=t=>{let n=typeof t.inputIndex==`number`?`p_${Z(t.nodeFunctionId??`undefined`)}_${t.parameterIndex}[${t.inputIndex}]`:t.nodeFunctionId?`node_${Z(t.nodeFunctionId)}`:`flow_${Z(e?.id??`undefined`)}`;return t.referencePath?.forEach(e=>{n+=`?.${e.path}`}),`(${n})${i?`!`:``}`},l=(e,t,n,r)=>!e.startingNodeId&&e.functionDefinition?.identifier?`fn_${e.functionDefinition.identifier.replace(/::/g,`_`)}`:`(...${`p_${Z(t)}_${n}`}) => {\n${d(e.startingNodeId||e.functionDefinition?.id,r+` `)}${r}}`,u=(e,t,n)=>{if(e==null)return;let r=new Map;for(let e of t??[]){if(!e?.signature)continue;let t=e.value;if(t?.__typename===`ReferenceValue`)r.set(e.signature,c(t));else if(t?.__typename===`LiteralValue`){let i=u(t.value,t.references,n);i!==void 0&&r.set(e.signature,i)}else t?.__typename===`SubFlowValue`&&r.set(e.signature,l(t,n.id,n.index,n.indent))}return r.size===0?y(e):$(e,r)},d=(e,t=``)=>{let n=a.find(t=>t?.id===e);if(!n||!n.functionDefinition)return``;if(e?.includes(`NodeFunction`)&&s.add(e),!o.get(n.functionDefinition.identifier))return`${t}// Error: Function ${n.functionDefinition.identifier} not found\n`;let i=(n.parameters?.nodes||[]).map((n,i)=>{let a=n.value;return a?a.__typename===`ReferenceValue`?`/* @pos ${e} ${i} */ ${c(a)}`:a.__typename===`LiteralValue`?`/* @pos ${e} ${i} */ ${u(a.value,a.references,{id:e,index:i,indent:t})}`:a.__typename===`SubFlowValue`?`/* @pos ${e} ${i} */ ${l(a,e,i,t)}`:r?`/* @pos ${e} ${i} */ {}`:`/* @pos ${e} ${i} */ undefined`:r?`/* @pos ${e} ${i} */ {}`:`/* @pos ${e} ${i} */ undefined`}),f=`node_${Z(n.id)}`,p=`fn_${n?.functionDefinition?.identifier?.replace(/::/g,`_`)}`;i.includes(`undefined`);let m=`${t}`;return n.functionDefinition.identifier===`std::control::return`?(m+=`const ${f} = /* @pos ${e} null */ ${p}(${i.join(`, `)}) ;\n`,m+=`return ${f};\n`):n.functionDefinition.identifier===`std::control::if`?(m+=`const ${f} = /* @pos ${e} null */ ${p}(${i.join(`, `)}) ;\n`,m+=`if(${i[0]}) {
|
|
30
|
+
${d(n.parameters?.nodes?.[1]?.value?.startingNodeId||(n.parameters?.nodes?.[1]?.value)?.functionDefinition?.identifier,t+` `)}
|
|
31
|
+
}`):n.functionDefinition.identifier===`std::control::if_else`?(m+=`const ${f} = /* @pos ${e} null */ ${p}(${i.join(`, `)}) ;\n`,m+=`if(${i[0]}) {
|
|
32
|
+
${d(n.parameters?.nodes?.[1]?.value?.startingNodeId||(n.parameters?.nodes?.[1]?.value)?.functionDefinition?.identifier,t+` `)}
|
|
33
|
+
} else {
|
|
34
|
+
${d(n.parameters?.nodes?.[2]?.value?.startingNodeId||(n.parameters?.nodes?.[2]?.value)?.functionDefinition?.identifier,t+` `)}
|
|
35
|
+
}`):m+=`const ${f} = /* @pos ${e} null */ ${p}(${i.join(`, `)}) ;\n`,n.nextNodeId&&(m+=d(n.nextNodeId,t)),m},f=X(n),p=`declare function flow${e?.signature??`(): void`}`,m=t?.map(e=>`declare function fn_${e.identifier?.replace(/::/g,`_`)}${e.signature}`).join(`
|
|
36
|
+
`),h=new Set(a.map(e=>e?.nextNodeId).filter(e=>!!e)),g=new Set;return a.forEach(e=>e?.parameters?.nodes?.forEach(e=>{e?.value?.__typename===`SubFlowValue`&&(e.value.startingNodeId||e.value.functionDefinition?.id)&&g.add(e.value.startingNodeId||e.value.functionDefinition?.id)})),`
|
|
37
|
+
${f}\n
|
|
38
|
+
${p}\n
|
|
39
|
+
${m}\n
|
|
40
|
+
(() =>
|
|
41
|
+
${e?`const flow_${Z(e.id??``)} = /* @pos null null */ flow(${e.settings?.nodes?.map((e,t)=>`/* @pos null ${t} */ ${e?.value!==null&&e?.value!==void 0?y(e?.value):void 0}`).join(`, `)??``});`:``}
|
|
42
|
+
${a.filter(e=>e?.id&&!h.has(e.id)&&!g.has(e.id)).map(e=>d(e.id)).join(`
|
|
43
|
+
`)}
|
|
44
|
+
)();
|
|
45
|
+
`}Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return L}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return J}}),Object.defineProperty(exports,"d",{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return Z}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return V}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return ke}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return B}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return X}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return R}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return Ee}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return y}});
|
|
@@ -284,10 +284,10 @@ var _ = (t) => {
|
|
|
284
284
|
let a = r.getDeclarations()?.[0];
|
|
285
285
|
if (!a || a.getEnd() >= t.getEnd()) return [];
|
|
286
286
|
let o = e.getTypeOfSymbolAtLocation(r, t);
|
|
287
|
-
return i.startsWith("node_") ?
|
|
288
|
-
}), b = (e) => e.startsWith("node_") || e.startsWith("p_") || e.startsWith("flow_"),
|
|
287
|
+
return i.startsWith("node_") ? x(i, o, e, n) : i.startsWith("p_") ? ee(i, o, e, n) : i.startsWith("flow_") ? te(o, e, n) : [];
|
|
288
|
+
}), b = (e) => e.startsWith("node_") || e.startsWith("p_") || e.startsWith("flow_"), x = (t, n, r, i) => {
|
|
289
289
|
if ((n.flags & e.TypeFlags.Void) !== 0) return [];
|
|
290
|
-
let a =
|
|
290
|
+
let a = S(t.replace("node_", ""));
|
|
291
291
|
return D(n, r, i).flatMap(({ path: e }) => {
|
|
292
292
|
let t = {
|
|
293
293
|
__typename: "ReferenceValue",
|
|
@@ -295,8 +295,8 @@ var _ = (t) => {
|
|
|
295
295
|
};
|
|
296
296
|
return e.length > 0 && (t.referencePath = e), t;
|
|
297
297
|
});
|
|
298
|
-
},
|
|
299
|
-
let { nodeFunctionId: i, paramIndexFromName: a } =
|
|
298
|
+
}, ee = (e, t, n, r) => {
|
|
299
|
+
let { nodeFunctionId: i, paramIndexFromName: a } = C(e);
|
|
300
300
|
if (!n.isTupleType(t)) return [];
|
|
301
301
|
let o = t;
|
|
302
302
|
return n.getTypeArguments(o).flatMap((e, t) => D(e, n, r).flatMap(({ path: e }) => {
|
|
@@ -309,19 +309,19 @@ var _ = (t) => {
|
|
|
309
309
|
};
|
|
310
310
|
return e.length > 0 && (n.referencePath = e), n;
|
|
311
311
|
}));
|
|
312
|
-
},
|
|
312
|
+
}, te = (e, t, n) => D(e, t, n).flatMap(({ path: e }) => {
|
|
313
313
|
let t = {
|
|
314
314
|
__typename: "ReferenceValue",
|
|
315
315
|
nodeFunctionId: null
|
|
316
316
|
};
|
|
317
317
|
return e.length > 0 && (t.referencePath = e), t;
|
|
318
|
-
}),
|
|
318
|
+
}), S = (e) => e.replace(/___/g, "://").replace(/__/g, "/").replace(/_/g, "/"), C = (e) => {
|
|
319
319
|
let t = e.replace("p_", ""), n = t.lastIndexOf("_"), r = t.substring(0, n), i = parseInt(t.substring(n + 1), 10);
|
|
320
320
|
return {
|
|
321
|
-
nodeFunctionId:
|
|
321
|
+
nodeFunctionId: S(r),
|
|
322
322
|
paramIndexFromName: i
|
|
323
323
|
};
|
|
324
|
-
},
|
|
324
|
+
}, w = 7, T = (e, t, n) => {
|
|
325
325
|
let r = n.get(e);
|
|
326
326
|
if (r !== void 0) return r;
|
|
327
327
|
let i = /* @__PURE__ */ new Set(), a = (n) => {
|
|
@@ -335,13 +335,13 @@ var _ = (t) => {
|
|
|
335
335
|
return !1;
|
|
336
336
|
}, o = a(e);
|
|
337
337
|
return n.set(e, o), o;
|
|
338
|
-
},
|
|
338
|
+
}, E = (t, n, r) => t.isUnion() ? t.types.some((e) => E(n.getNonNullableType(e), n, r)) : (t.flags & e.TypeFlags.Never) === 0 && n.isTypeAssignableTo(t, r), ne = (e, t) => e.isUnion() ? e.types.map((e) => t.getNonNullableType(e)).filter(O) : O(e) ? [e] : [], D = (e, t, n, r = [], i = /* @__PURE__ */ new Set(), a = /* @__PURE__ */ new Map()) => {
|
|
339
339
|
let o = [], s = t.getNonNullableType(e);
|
|
340
|
-
return
|
|
340
|
+
return E(s, t, n) && o.push({
|
|
341
341
|
path: r,
|
|
342
342
|
type: e
|
|
343
|
-
}),
|
|
344
|
-
if (i.has(e) || r.length >=
|
|
343
|
+
}), ne(s, t).forEach((e) => {
|
|
344
|
+
if (i.has(e) || r.length >= w && T(e, t, a)) return;
|
|
345
345
|
let s = e.getProperties();
|
|
346
346
|
s && s.length > 0 && (i.add(e), s.forEach((e) => {
|
|
347
347
|
let s = t.getTypeOfSymbolAtLocation(e, e.valueDeclaration), c = e.getName(), l = [...r, { path: c }];
|
|
@@ -351,7 +351,7 @@ var _ = (t) => {
|
|
|
351
351
|
}, O = (t) => {
|
|
352
352
|
let n = e.TypeFlags.String | e.TypeFlags.Number | e.TypeFlags.Boolean | e.TypeFlags.Undefined | e.TypeFlags.Null | e.TypeFlags.BigInt | e.TypeFlags.ESSymbol;
|
|
353
353
|
return (t.flags & n) === 0;
|
|
354
|
-
}, re = (e, t, n, r) =>
|
|
354
|
+
}, re = (e, t, n, r) => J(r) ? [] : t.flatMap((t) => {
|
|
355
355
|
let i = ie(e, t, n, r);
|
|
356
356
|
return i ? [i] : [];
|
|
357
357
|
}), ie = (t, n, r, i) => {
|
|
@@ -373,11 +373,11 @@ var _ = (t) => {
|
|
|
373
373
|
displayIcon: e?.displayIcon
|
|
374
374
|
}
|
|
375
375
|
};
|
|
376
|
-
return t && (n.parameters =
|
|
377
|
-
},
|
|
376
|
+
return t && (n.parameters = ce(e?.parameterDefinitions?.nodes || [])), n;
|
|
377
|
+
}, ce = (e) => ({
|
|
378
378
|
__typename: "NodeParameterConnection",
|
|
379
|
-
nodes: e.map((e) =>
|
|
380
|
-
}),
|
|
379
|
+
nodes: e.map((e) => le(e))
|
|
380
|
+
}), le = (e) => ({
|
|
381
381
|
__typename: "NodeParameter",
|
|
382
382
|
parameterDefinition: {
|
|
383
383
|
__typename: "ParameterDefinition",
|
|
@@ -388,15 +388,15 @@ var _ = (t) => {
|
|
|
388
388
|
__typename: "LiteralValue",
|
|
389
389
|
value: e.defaultValue.value
|
|
390
390
|
} : null
|
|
391
|
-
}),
|
|
392
|
-
let i =
|
|
391
|
+
}), ue = (e, t, n, r) => J(r) ? t.flatMap((t) => {
|
|
392
|
+
let i = de(e, t, n, r);
|
|
393
393
|
return i ? [i] : [];
|
|
394
|
-
}) : [],
|
|
394
|
+
}) : [], de = (e, t, n, r) => {
|
|
395
395
|
let i = e.getTypeAtLocation(t);
|
|
396
396
|
if (!e.isTypeAssignableTo(i, r)) return null;
|
|
397
|
-
let a =
|
|
398
|
-
return o ?
|
|
399
|
-
},
|
|
397
|
+
let a = k(t.name?.getText()), o = n.find((e) => e.identifier === a);
|
|
398
|
+
return o ? A(o) : null;
|
|
399
|
+
}, k = (e) => e ? e.replace("fn_", "").replace("_", "::").replace("_", "::") : "", A = (e) => ({
|
|
400
400
|
__typename: "SubFlowValue",
|
|
401
401
|
functionDefinition: e,
|
|
402
402
|
signature: e.signature,
|
|
@@ -407,81 +407,121 @@ var _ = (t) => {
|
|
|
407
407
|
hidden: e?.hidden ?? !1,
|
|
408
408
|
optional: e?.optional ?? !1
|
|
409
409
|
}))
|
|
410
|
-
}),
|
|
410
|
+
}), j = { DATE: "date" }, M = (e) => e != null && e in j, N = 7, P = (t, n, r, i, a, o = !0, s, c = /* @__PURE__ */ new Set(), l = /* @__PURE__ */ new Map()) => {
|
|
411
411
|
if ((r.flags & e.TypeFlags.TypeParameter) !== 0) {
|
|
412
412
|
let u = r.symbol?.declarations?.[0];
|
|
413
|
-
if (u && e.isTypeParameterDeclaration(u) && u.constraint) return
|
|
413
|
+
if (u && e.isTypeParameterDeclaration(u) && u.constraint) return P(t, n, t.getTypeFromTypeNode(u.constraint), i, a, o, s, c, l);
|
|
414
414
|
}
|
|
415
|
-
let u = t.typeToString(
|
|
415
|
+
let u = t.typeToString(M(r.aliasSymbol?.getName()) && r.isIntersection() ? r.types.find((t) => (t.flags & e.TypeFlags.Object) === 0) ?? r : {
|
|
416
416
|
...r,
|
|
417
417
|
aliasSymbol: void 0
|
|
418
418
|
}), d = s ?? r, f = o ? { suggestions: [
|
|
419
419
|
...v(d, t),
|
|
420
420
|
...n ? y(t, n, d, t.getSymbolsInScope(n, e.SymbolFlags.Variable)) : [],
|
|
421
421
|
...re(t, i, a, d),
|
|
422
|
-
...
|
|
422
|
+
...ue(t, i, a, d)
|
|
423
423
|
] } : {};
|
|
424
424
|
if (r.isUnion()) {
|
|
425
425
|
let o = r.types.filter((t) => (t.flags & (e.TypeFlags.Undefined | e.TypeFlags.Null)) === 0);
|
|
426
426
|
if (o.length === 1) return {
|
|
427
|
-
...
|
|
427
|
+
...P(t, n, o[0], i, a, !1, void 0, c, l),
|
|
428
428
|
type: u,
|
|
429
429
|
...f
|
|
430
430
|
};
|
|
431
431
|
}
|
|
432
|
-
let p =
|
|
432
|
+
let p = V(r);
|
|
433
433
|
if (p) return {
|
|
434
434
|
input: p,
|
|
435
435
|
type: u,
|
|
436
436
|
...f
|
|
437
437
|
};
|
|
438
|
-
if (
|
|
438
|
+
if (H(t, r)) return {
|
|
439
439
|
input: "file",
|
|
440
440
|
type: u,
|
|
441
|
-
mimetype:
|
|
441
|
+
mimetype: U(t, r),
|
|
442
442
|
...f
|
|
443
443
|
};
|
|
444
|
-
if (
|
|
444
|
+
if (fe(t, r)) return {
|
|
445
|
+
input: "color",
|
|
446
|
+
type: u,
|
|
447
|
+
...f
|
|
448
|
+
};
|
|
449
|
+
if (W(r)) return {
|
|
445
450
|
input: "boolean",
|
|
446
451
|
type: u,
|
|
447
452
|
...f
|
|
448
453
|
};
|
|
449
|
-
if (
|
|
454
|
+
if (q(r)) return {
|
|
450
455
|
input: "select",
|
|
451
456
|
type: u,
|
|
452
457
|
...f
|
|
453
458
|
};
|
|
454
|
-
if (
|
|
459
|
+
if (G(r)) return {
|
|
455
460
|
input: "number",
|
|
456
461
|
type: u,
|
|
457
462
|
...f
|
|
458
463
|
};
|
|
459
|
-
if (
|
|
464
|
+
if (K(r)) return {
|
|
460
465
|
input: "text",
|
|
461
466
|
type: u,
|
|
462
467
|
...f
|
|
463
468
|
};
|
|
464
|
-
if (
|
|
469
|
+
if (J(r)) return {
|
|
465
470
|
input: "sub-flow",
|
|
466
471
|
type: u,
|
|
467
472
|
...f
|
|
468
473
|
};
|
|
469
|
-
if (
|
|
474
|
+
if (ge(t, r)) {
|
|
470
475
|
let e = t.getTypeArguments(r);
|
|
471
|
-
|
|
476
|
+
if (e.length === 1 && H(t, e[0])) return {
|
|
472
477
|
input: "list-file",
|
|
473
478
|
type: u,
|
|
474
|
-
mimetype:
|
|
479
|
+
mimetype: U(t, e[0]),
|
|
480
|
+
...f
|
|
481
|
+
};
|
|
482
|
+
let s = e.flatMap((e) => (e.isUnion() ? e.types : [e]).map((e) => P(t, n, e, i, a, o, void 0, c, l)));
|
|
483
|
+
if (e.length === 1 && q(e[0])) return {
|
|
484
|
+
input: "list-select",
|
|
485
|
+
type: u,
|
|
486
|
+
items: s,
|
|
475
487
|
...f
|
|
476
|
-
}
|
|
488
|
+
};
|
|
489
|
+
if (e.length === 1) {
|
|
490
|
+
let t = e[0];
|
|
491
|
+
if (W(t)) return {
|
|
492
|
+
input: "list-boolean",
|
|
493
|
+
type: u,
|
|
494
|
+
items: s,
|
|
495
|
+
...f
|
|
496
|
+
};
|
|
497
|
+
if (G(t)) return {
|
|
498
|
+
input: "list-number",
|
|
499
|
+
type: u,
|
|
500
|
+
items: s,
|
|
501
|
+
...f
|
|
502
|
+
};
|
|
503
|
+
if (K(t)) return {
|
|
504
|
+
input: "list-text",
|
|
505
|
+
type: u,
|
|
506
|
+
items: s,
|
|
507
|
+
...f
|
|
508
|
+
};
|
|
509
|
+
if (J(t)) return {
|
|
510
|
+
input: "list-sub-flow",
|
|
511
|
+
type: u,
|
|
512
|
+
items: s,
|
|
513
|
+
...f
|
|
514
|
+
};
|
|
515
|
+
}
|
|
516
|
+
return {
|
|
477
517
|
input: "list",
|
|
478
518
|
type: u,
|
|
479
|
-
items:
|
|
519
|
+
items: s,
|
|
480
520
|
...f
|
|
481
521
|
};
|
|
482
522
|
}
|
|
483
523
|
if ((r.flags & e.TypeFlags.Object) !== 0) {
|
|
484
|
-
if (c.has(r) || c.size >=
|
|
524
|
+
if (c.has(r) || c.size >= N && T(r, t, l)) return {
|
|
485
525
|
input: "data",
|
|
486
526
|
type: u,
|
|
487
527
|
...f
|
|
@@ -491,7 +531,7 @@ var _ = (t) => {
|
|
|
491
531
|
for (let u of t.getPropertiesOfType(r)) {
|
|
492
532
|
let r = u.valueDeclaration ?? u.declarations?.[0];
|
|
493
533
|
if (!r) continue;
|
|
494
|
-
let f = t.getTypeOfSymbolAtLocation(u, r), p = (u.flags & e.SymbolFlags.Optional) !== 0 || f.isUnion() && f.types.some((t) => (t.flags & (e.TypeFlags.Undefined | e.TypeFlags.Null)) !== 0), m = (f.isUnion() ? f.types.filter((t) => (t.flags & (e.TypeFlags.Undefined | e.TypeFlags.Null)) === 0) : [f]).map((e) =>
|
|
534
|
+
let f = t.getTypeOfSymbolAtLocation(u, r), p = (u.flags & e.SymbolFlags.Optional) !== 0 || f.isUnion() && f.types.some((t) => (t.flags & (e.TypeFlags.Undefined | e.TypeFlags.Null)) !== 0), m = (f.isUnion() ? f.types.filter((t) => (t.flags & (e.TypeFlags.Undefined | e.TypeFlags.Null)) === 0) : [f]).map((e) => P(t, n, e, i, a, o, void 0, c, l));
|
|
495
535
|
s[u.name] = m.length === 1 ? m[0] : m, p || d.push(u.name);
|
|
496
536
|
}
|
|
497
537
|
return c.delete(r), {
|
|
@@ -507,14 +547,21 @@ var _ = (t) => {
|
|
|
507
547
|
type: u,
|
|
508
548
|
...f
|
|
509
549
|
};
|
|
510
|
-
},
|
|
511
|
-
|
|
512
|
-
|
|
550
|
+
}, F = /* @__PURE__ */ new Set([
|
|
551
|
+
"list",
|
|
552
|
+
"list-select",
|
|
553
|
+
"list-boolean",
|
|
554
|
+
"list-number",
|
|
555
|
+
"list-text",
|
|
556
|
+
"list-sub-flow"
|
|
557
|
+
]), I = (e, t, n = !1) => {
|
|
558
|
+
if (!e || e.input === "generic") return z(B(t), n);
|
|
559
|
+
let r = R(e.suggestions, t.suggestions);
|
|
513
560
|
if (e.input === "data") {
|
|
514
561
|
let n = e.properties ?? {}, i = t.input === "data" ? t.properties ?? {} : {}, a = {}, o = /* @__PURE__ */ new Set([...Object.keys(n), ...Object.keys(i)]);
|
|
515
562
|
for (let e of o) {
|
|
516
563
|
let t = n[e], r = i[e];
|
|
517
|
-
a[e] =
|
|
564
|
+
a[e] = L(t, r);
|
|
518
565
|
}
|
|
519
566
|
return {
|
|
520
567
|
...e,
|
|
@@ -522,8 +569,8 @@ var _ = (t) => {
|
|
|
522
569
|
...r ? { suggestions: r } : {}
|
|
523
570
|
};
|
|
524
571
|
}
|
|
525
|
-
if (e.input
|
|
526
|
-
let n = e.items ?? [], i = t.input ===
|
|
572
|
+
if (F.has(e.input)) {
|
|
573
|
+
let n = e.items ?? [], i = t.input === e.input ? t.items ?? [] : [], a = n.length === i.length && n.length > 0 ? n.map((e, t) => I(e, i[t])) : n;
|
|
527
574
|
return {
|
|
528
575
|
...e,
|
|
529
576
|
items: a,
|
|
@@ -534,7 +581,7 @@ var _ = (t) => {
|
|
|
534
581
|
...e,
|
|
535
582
|
...r ? { suggestions: r } : {}
|
|
536
583
|
};
|
|
537
|
-
},
|
|
584
|
+
}, L = (e, t) => e && !Array.isArray(e) && t && !Array.isArray(t) ? I(e, t) : e ?? t, R = (e, t) => {
|
|
538
585
|
let n = [...e ?? [], ...t ?? []];
|
|
539
586
|
if (n.length === 0) return;
|
|
540
587
|
let r = /* @__PURE__ */ new Set(), i = [];
|
|
@@ -543,13 +590,13 @@ var _ = (t) => {
|
|
|
543
590
|
r.has(t) || (r.add(t), i.push(e));
|
|
544
591
|
}
|
|
545
592
|
return i;
|
|
546
|
-
},
|
|
593
|
+
}, z = (e, t) => !t || e.input !== "generic" ? e : {
|
|
547
594
|
input: "data",
|
|
548
595
|
...e.type ? { type: e.type } : {},
|
|
549
596
|
properties: {},
|
|
550
597
|
required: [],
|
|
551
598
|
...e.suggestions ? { suggestions: e.suggestions } : {}
|
|
552
|
-
},
|
|
599
|
+
}, B = (e) => {
|
|
553
600
|
if (e.input !== "select") return e;
|
|
554
601
|
let t = e.suggestions ?? [], n = /* @__PURE__ */ new Set();
|
|
555
602
|
for (let e of t) {
|
|
@@ -566,11 +613,11 @@ var _ = (t) => {
|
|
|
566
613
|
...t.length > 0 ? { suggestions: t } : {}
|
|
567
614
|
};
|
|
568
615
|
};
|
|
569
|
-
function
|
|
616
|
+
function V(e) {
|
|
570
617
|
let t = e.aliasSymbol?.getName();
|
|
571
|
-
return
|
|
618
|
+
return M(t) ? j[t] : void 0;
|
|
572
619
|
}
|
|
573
|
-
function
|
|
620
|
+
function H(t, n) {
|
|
574
621
|
if (n.aliasSymbol?.getName() !== "FILE" || (n.flags & e.TypeFlags.Object) === 0) return !1;
|
|
575
622
|
let r = t.getPropertiesOfType(n);
|
|
576
623
|
if (r.length !== 4) return !1;
|
|
@@ -581,7 +628,21 @@ function G(t, n) {
|
|
|
581
628
|
let s = t.getTypeOfSymbolAtLocation(a, o);
|
|
582
629
|
return s.isStringLiteral() && s.value === "base64";
|
|
583
630
|
}
|
|
584
|
-
function
|
|
631
|
+
function fe(t, n) {
|
|
632
|
+
if (n.aliasSymbol?.getName() !== "COLOR" || (n.flags & e.TypeFlags.Object) === 0) return !1;
|
|
633
|
+
let r = new Map(t.getPropertiesOfType(n).map((e) => [e.name, e]));
|
|
634
|
+
return [
|
|
635
|
+
"hue",
|
|
636
|
+
"saturation",
|
|
637
|
+
"lightness"
|
|
638
|
+
].every((e) => {
|
|
639
|
+
let n = r.get(e);
|
|
640
|
+
if (!n) return !1;
|
|
641
|
+
let i = n.valueDeclaration ?? n.declarations?.[0];
|
|
642
|
+
return i ? G(t.getTypeOfSymbolAtLocation(n, i)) : !1;
|
|
643
|
+
});
|
|
644
|
+
}
|
|
645
|
+
function U(e, t) {
|
|
585
646
|
let n = /^(\*|[a-zA-Z0-9][a-zA-Z0-9!#$&^_.+-]*)\/(\*|[a-zA-Z0-9][a-zA-Z0-9!#$&^_.+-]*)$/, r = e.getPropertiesOfType(t).find((e) => e.name === "contentType");
|
|
586
647
|
if (!r) return "*/*";
|
|
587
648
|
let i = r.valueDeclaration ?? r.declarations?.[0];
|
|
@@ -589,7 +650,7 @@ function K(e, t) {
|
|
|
589
650
|
let a = e.getTypeOfSymbolAtLocation(r, i);
|
|
590
651
|
return a.isStringLiteral() && n.test(a.value) ? a.value : "*/*";
|
|
591
652
|
}
|
|
592
|
-
function
|
|
653
|
+
function W(t) {
|
|
593
654
|
if ((t.flags & e.TypeFlags.Boolean) !== 0 || (t.flags & e.TypeFlags.BooleanLiteral) !== 0) return !0;
|
|
594
655
|
if (t.isUnion()) {
|
|
595
656
|
let n = t.types.filter((t) => (t.flags & (e.TypeFlags.Undefined | e.TypeFlags.Null)) === 0);
|
|
@@ -597,43 +658,46 @@ function q(t) {
|
|
|
597
658
|
}
|
|
598
659
|
return !1;
|
|
599
660
|
}
|
|
600
|
-
function
|
|
661
|
+
function G(t) {
|
|
601
662
|
return (t.flags & e.TypeFlags.Number) !== 0 || (t.flags & e.TypeFlags.NumberLiteral) !== 0;
|
|
602
663
|
}
|
|
603
|
-
function
|
|
664
|
+
function K(t) {
|
|
604
665
|
return (t.flags & e.TypeFlags.String) !== 0 || (t.flags & e.TypeFlags.StringLiteral) !== 0;
|
|
605
666
|
}
|
|
606
|
-
function
|
|
607
|
-
return
|
|
667
|
+
function pe(e) {
|
|
668
|
+
return K(e) || G(e) || W(e);
|
|
608
669
|
}
|
|
609
|
-
function
|
|
670
|
+
function me(t) {
|
|
610
671
|
return (t.flags & e.TypeFlags.StringLiteral) !== 0 || (t.flags & e.TypeFlags.NumberLiteral) !== 0;
|
|
611
672
|
}
|
|
612
|
-
function
|
|
673
|
+
function q(e) {
|
|
674
|
+
return W(e) ? !1 : he(e) || me(e);
|
|
675
|
+
}
|
|
676
|
+
function he(t) {
|
|
613
677
|
if (!t.isUnion()) return !1;
|
|
614
678
|
let n = t.types.filter((t) => (t.flags & (e.TypeFlags.Undefined | e.TypeFlags.Null)) === 0);
|
|
615
|
-
return n.length > 0 && n.every(
|
|
679
|
+
return n.length > 0 && n.every(pe);
|
|
616
680
|
}
|
|
617
|
-
function
|
|
681
|
+
function ge(e, t) {
|
|
618
682
|
return e.isArrayType(t) || e.isTupleType(t);
|
|
619
683
|
}
|
|
620
|
-
function
|
|
684
|
+
function J(e) {
|
|
621
685
|
return e.getCallSignatures().length > 0;
|
|
622
686
|
}
|
|
623
687
|
//#endregion
|
|
624
688
|
//#region src/utils.ts
|
|
625
|
-
var
|
|
626
|
-
function
|
|
689
|
+
var _e = "\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";
|
|
690
|
+
function Y(t, n) {
|
|
627
691
|
let r = /* @__PURE__ */ new Map();
|
|
628
|
-
return r.set(t, n), r.set("lib.codezero.d.ts",
|
|
692
|
+
return r.set(t, n), r.set("lib.codezero.d.ts", _e), a(u(r), [t, "lib.codezero.d.ts"], e, ve);
|
|
629
693
|
}
|
|
630
|
-
var
|
|
694
|
+
var ve = {
|
|
631
695
|
target: e.ScriptTarget.Latest,
|
|
632
696
|
lib: ["lib.codezero.d.ts"],
|
|
633
697
|
noEmit: !0,
|
|
634
698
|
strictNullChecks: !0
|
|
635
699
|
};
|
|
636
|
-
function
|
|
700
|
+
function ye(e) {
|
|
637
701
|
let t = [], n = 0, r = null, i = "";
|
|
638
702
|
for (let a of e) {
|
|
639
703
|
if (r) a === r && (r = null);
|
|
@@ -648,56 +712,81 @@ function me(e) {
|
|
|
648
712
|
}
|
|
649
713
|
return t.push(i), t.map((e) => (e.trim().split(/\s+/).find((e) => e !== "const" && e !== "in" && e !== "out") ?? "").match(/^[A-Za-z_$][A-Za-z0-9_$]*/)?.[0] ?? "").filter((e) => e.length > 0);
|
|
650
714
|
}
|
|
651
|
-
function
|
|
652
|
-
let r = Array.from(new Set(e?.flatMap((e) => e.genericKeys || []).flatMap(
|
|
653
|
-
let t = (e.genericKeys?.length ?? 0) > 0 ? `<${e.genericKeys?.join(",")}>` : "", n =
|
|
715
|
+
function X(e, t = "any", n = !0) {
|
|
716
|
+
let r = Array.from(new Set(e?.flatMap((e) => e.genericKeys || []).flatMap(ye))).map((e) => `type ${e} = ${t};`).join("\n"), i = e?.map((e) => {
|
|
717
|
+
let t = (e.genericKeys?.length ?? 0) > 0 ? `<${e.genericKeys?.join(",")}>` : "", n = M(e.identifier) ? `${e.type} & {}` : e.type;
|
|
654
718
|
return `type ${e.identifier}${t} = ${n};`;
|
|
655
719
|
}).join("\n"), a = e?.filter((e) => (e.genericKeys?.length ?? 0) > 0).map((e) => `declare const __widen_${e.identifier}: ${e.identifier}<${e.genericKeys.map(() => "any").join(", ")}>;`).join("\n") ?? "";
|
|
656
720
|
return `${n ? r : ""}\n${i}\n${a}`;
|
|
657
721
|
}
|
|
658
|
-
var
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
}),
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
722
|
+
var Z = (e) => e?.replace(/[^a-zA-Z0-9]/g, "_"), Q = (e) => e.replace(/\\/g, "\\\\").replace(/`/g, "\\`").replace(/\$\{/g, "\\${"), be = (e, t) => {
|
|
723
|
+
let n = e.match(/^\$\{([^}]+)\}$/);
|
|
724
|
+
if (n && t.has(n[1])) return t.get(n[1]);
|
|
725
|
+
let r = /\$\{([^}]+)\}/g, i = !1;
|
|
726
|
+
for (let n of e.matchAll(r)) if (t.has(n[1])) {
|
|
727
|
+
i = !0;
|
|
728
|
+
break;
|
|
729
|
+
}
|
|
730
|
+
if (!i) return h(e) ?? "\"\"";
|
|
731
|
+
let a = "", o = 0;
|
|
732
|
+
for (let n of e.matchAll(r)) {
|
|
733
|
+
let [r, i] = n, s = n.index;
|
|
734
|
+
a += Q(e.slice(o, s)), a += t.has(i) ? "${" + t.get(i) + "}" : Q(r), o = s + r.length;
|
|
735
|
+
}
|
|
736
|
+
return a += Q(e.slice(o)), "`" + a + "`";
|
|
737
|
+
}, $ = (e, t) => typeof e == "string" ? be(e, t) : Array.isArray(e) ? `[${e.map((e) => $(e, t)).join(", ")}]` : typeof e == "object" && e ? `{${Object.entries(e).map(([e, n]) => `${h(e)}: ${$(n, t)}`).join(", ")}}` : h(e) ?? "undefined";
|
|
738
|
+
function xe(e, t, n, r = !1, i = !0) {
|
|
739
|
+
let a = e?.nodes?.nodes || [], o = new Map(t?.map((e) => [e.identifier, e])), s = /* @__PURE__ */ new Set(), c = (t) => {
|
|
740
|
+
let n = typeof t.inputIndex == "number" ? `p_${Z(t.nodeFunctionId ?? "undefined")}_${t.parameterIndex}[${t.inputIndex}]` : t.nodeFunctionId ? `node_${Z(t.nodeFunctionId)}` : `flow_${Z(e?.id ?? "undefined")}`;
|
|
741
|
+
return t.referencePath?.forEach((e) => {
|
|
742
|
+
n += `?.${e.path}`;
|
|
743
|
+
}), `(${n})${i ? "!" : ""}`;
|
|
744
|
+
}, l = (e, t, n, r) => !e.startingNodeId && e.functionDefinition?.identifier ? `fn_${e.functionDefinition.identifier.replace(/::/g, "_")}` : `(...${`p_${Z(t)}_${n}`}) => {\n${d(e.startingNodeId || e.functionDefinition?.id, r + " ")}${r}}`, u = (e, t, n) => {
|
|
745
|
+
if (e == null) return;
|
|
746
|
+
let r = /* @__PURE__ */ new Map();
|
|
747
|
+
for (let e of t ?? []) {
|
|
748
|
+
if (!e?.signature) continue;
|
|
749
|
+
let t = e.value;
|
|
750
|
+
if (t?.__typename === "ReferenceValue") r.set(e.signature, c(t));
|
|
751
|
+
else if (t?.__typename === "LiteralValue") {
|
|
752
|
+
let i = u(t.value, t.references, n);
|
|
753
|
+
i !== void 0 && r.set(e.signature, i);
|
|
754
|
+
} else t?.__typename === "SubFlowValue" && r.set(e.signature, l(t, n.id, n.index, n.indent));
|
|
755
|
+
}
|
|
756
|
+
return r.size === 0 ? h(e) : $(e, r);
|
|
757
|
+
}, d = (e, t = "") => {
|
|
758
|
+
let n = a.find((t) => t?.id === e);
|
|
759
|
+
if (!n || !n.functionDefinition) return "";
|
|
760
|
+
if (e?.includes("NodeFunction") && s.add(e), !o.get(n.functionDefinition.identifier)) return `${t}// Error: Function ${n.functionDefinition.identifier} not found\n`;
|
|
761
|
+
let i = (n.parameters?.nodes || []).map((n, i) => {
|
|
762
|
+
let a = n.value;
|
|
763
|
+
return a ? a.__typename === "ReferenceValue" ? `/* @pos ${e} ${i} */ ${c(a)}` : a.__typename === "LiteralValue" ? `/* @pos ${e} ${i} */ ${u(a.value, a.references, {
|
|
764
|
+
id: e,
|
|
765
|
+
index: i,
|
|
766
|
+
indent: t
|
|
767
|
+
})}` : a.__typename === "SubFlowValue" ? `/* @pos ${e} ${i} */ ${l(a, e, i, t)}` : r ? `/* @pos ${e} ${i} */ {}` : `/* @pos ${e} ${i} */ undefined` : r ? `/* @pos ${e} ${i} */ {}` : `/* @pos ${e} ${i} */ undefined`;
|
|
768
|
+
}), f = `node_${Z(n.id)}`, p = `fn_${n?.functionDefinition?.identifier?.replace(/::/g, "_")}`;
|
|
769
|
+
i.includes("undefined");
|
|
770
|
+
let m = `${t}`;
|
|
771
|
+
return n.functionDefinition.identifier === "std::control::return" ? (m += `const ${f} = /* @pos ${e} null */ ${p}(${i.join(", ")}) ;\n`, m += `return ${f};\n`) : n.functionDefinition.identifier === "std::control::if" ? (m += `const ${f} = /* @pos ${e} null */ ${p}(${i.join(", ")}) ;\n`, m += `if(${i[0]}) {
|
|
772
|
+
${d(n.parameters?.nodes?.[1]?.value?.startingNodeId || (n.parameters?.nodes?.[1]?.value)?.functionDefinition?.identifier, t + " ")}
|
|
773
|
+
}`) : n.functionDefinition.identifier === "std::control::if_else" ? (m += `const ${f} = /* @pos ${e} null */ ${p}(${i.join(", ")}) ;\n`, m += `if(${i[0]}) {
|
|
774
|
+
${d(n.parameters?.nodes?.[1]?.value?.startingNodeId || (n.parameters?.nodes?.[1]?.value)?.functionDefinition?.identifier, t + " ")}
|
|
686
775
|
} else {
|
|
687
|
-
${
|
|
688
|
-
}`) :
|
|
689
|
-
},
|
|
776
|
+
${d(n.parameters?.nodes?.[2]?.value?.startingNodeId || (n.parameters?.nodes?.[2]?.value)?.functionDefinition?.identifier, t + " ")}
|
|
777
|
+
}`) : m += `const ${f} = /* @pos ${e} null */ ${p}(${i.join(", ")}) ;\n`, n.nextNodeId && (m += d(n.nextNodeId, t)), m;
|
|
778
|
+
}, f = X(n), p = `declare function flow${e?.signature ?? "(): void"}`, m = t?.map((e) => `declare function fn_${e.identifier?.replace(/::/g, "_")}${e.signature}`).join("\n"), g = new Set(a.map((e) => e?.nextNodeId).filter((e) => !!e)), _ = /* @__PURE__ */ new Set();
|
|
690
779
|
return a.forEach((e) => e?.parameters?.nodes?.forEach((e) => {
|
|
691
|
-
e?.value?.__typename === "SubFlowValue" && (e.value.startingNodeId || e.value.functionDefinition?.id) &&
|
|
780
|
+
e?.value?.__typename === "SubFlowValue" && (e.value.startingNodeId || e.value.functionDefinition?.id) && _.add(e.value.startingNodeId || e.value.functionDefinition?.id);
|
|
692
781
|
})), `
|
|
693
|
-
${
|
|
694
|
-
${
|
|
695
|
-
${
|
|
782
|
+
${f}\n
|
|
783
|
+
${p}\n
|
|
784
|
+
${m}\n
|
|
696
785
|
(() =>
|
|
697
|
-
${e ? `const flow_${
|
|
698
|
-
${a.filter((e) => e?.id && !
|
|
786
|
+
${e ? `const flow_${Z(e.id ?? "")} = /* @pos null null */ flow(${e.settings?.nodes?.map((e, t) => `/* @pos null ${t} */ ${e?.value !== null && e?.value !== void 0 ? h(e?.value) : void 0}`).join(", ") ?? ""});` : ""}
|
|
787
|
+
${a.filter((e) => e?.id && !g.has(e.id) && !_.has(e.id)).map((e) => d(e.id)).join("\n")}
|
|
699
788
|
)();
|
|
700
789
|
`;
|
|
701
790
|
}
|
|
702
791
|
//#endregion
|
|
703
|
-
export {
|
|
792
|
+
export { j as a, J as c, Z as i, I as l, xe as n, P as o, X as r, M as s, Y as t, h as u };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@code0-tech/triangulum",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.33.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"homepage": "https://github.com/code0-tech/triangulum#readme",
|
|
6
6
|
"bugs": {
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
"build": "vite build"
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
38
|
-
"@code0-tech/sagittarius-graphql-types": "0.0.0-experimental-
|
|
38
|
+
"@code0-tech/sagittarius-graphql-types": "0.0.0-experimental-2780674370-053799e843870f117430b3b00f75ffec35767193",
|
|
39
39
|
"@types/node": "^25.6.0",
|
|
40
40
|
"@typescript/vfs": "^1.6.4",
|
|
41
41
|
"lossless-json": "^4.3.1",
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
"vitest": "^4.1.8"
|
|
47
47
|
},
|
|
48
48
|
"peerDependencies": {
|
|
49
|
-
"@code0-tech/sagittarius-graphql-types": "0.0.0-experimental-
|
|
49
|
+
"@code0-tech/sagittarius-graphql-types": "0.0.0-experimental-2780674370-053799e843870f117430b3b00f75ffec35767193",
|
|
50
50
|
"@typescript/vfs": "^1.6.4",
|
|
51
51
|
"lossless-json": "^4.3.0",
|
|
52
52
|
"ts-json-schema-generator": "^2.9.0",
|
package/dist/utils-BBizp0Um.cjs
DELETED
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},s=(n,r,s)=>(s=n==null?{}:e(i(n)),o(r||!n||!n.__esModule||!a.call(n,`default`)?t(s,`default`,{value:n,enumerable:!0}):s,n));let c=require("typescript");c=s(c,1);function l(){return l=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},l.apply(null,arguments)}var u=!1;try{u=typeof localStorage<`u`}catch{}var d=typeof process<`u`,f=u&&typeof localStorage.getItem==`function`&&localStorage.getItem(`DEBUG`)||d&&process.env.DEBUG?console.log:function(e){return``};function p(e,t,n,r,i){r===void 0&&(r={});var a=l({},g(n),r),o=y(e,t,a,n,i),s=o.languageServiceHost,c=o.updateFile,u=o.deleteFile,d=n.createLanguageService(s),f=d.getCompilerOptionsDiagnostics();if(f.length){var p=v(e,r,n);throw Error(n.formatDiagnostics(f,p.compilerHost))}return{name:`vfs`,sys:e,languageService:d,getSourceFile:function(e){return d.getProgram()?.getSourceFile(e)},createFile:function(e,t){c(n.createSourceFile(e,t,a.target,!1))},updateFile:function(e,t,r){var i=d.getProgram().getSourceFile(e);if(!i)throw Error(`Did not find a source file for `+e);var a=i.text,o=r??n.createTextSpan(0,a.length),s=a.slice(0,o.start)+t+a.slice(o.start+o.length);c(n.updateSourceFile(i,s,{span:o,newLength:t.length}))},deleteFile:function(e){var t=d.getProgram().getSourceFile(e);t&&u(t)}}}function m(e){throw Error(`Method '`+e+`' is not implemented.`)}function h(e,t){return function(){for(var n=arguments.length,r=Array(n),i=0;i<n;i++)r[i]=arguments[i];var a=t.apply(void 0,r),o=typeof a==`string`?a.slice(0,80)+`...`:a;return f.apply(void 0,[`> `+e].concat(r)),f(`< `+o),a}}var g=function(e){return l({},e.getDefaultCompilerOptions(),{jsx:e.JsxEmit.React,strict:!0,esModuleInterop:!0,module:e.ModuleKind.ESNext,suppressOutputPathCheck:!0,skipLibCheck:!0,skipDefaultLibCheck:!0},e.versionMajorMinor&&Number(e.versionMajorMinor.split(`.`)[0])>=6?{ignoreDeprecations:`6.0`}:{moduleResolution:e.ModuleResolutionKind.NodeJs})},_=function(e){return e.replace(`/`,`/lib.`).toLowerCase()};function ee(e){return{args:[],createDirectory:function(){return m(`createDirectory`)},directoryExists:h(`directoryExists`,function(t){return Array.from(e.keys()).some(function(e){return e.startsWith(t)})}),exit:function(){return m(`exit`)},fileExists:h(`fileExists`,function(t){return e.has(t)||e.has(_(t))}),getCurrentDirectory:function(){return`/`},getDirectories:function(){return[]},getExecutingFilePath:function(){return m(`getExecutingFilePath`)},readDirectory:h(`readDirectory`,function(t){return t===`/`?Array.from(e.keys()):[]}),readFile:h(`readFile`,function(t){return e.get(t)??e.get(_(t))}),resolvePath:function(e){return e},newLine:`
|
|
2
|
-
`,useCaseSensitiveFileNames:!0,write:function(){return m(`write`)},writeFile:function(t,n){e.set(t,n)},deleteFile:function(t){e.delete(t)}}}function v(e,t,n){var r=new Map,i=function(e){return r.set(e.fileName,e),e};return{compilerHost:l({},e,{getCanonicalFileName:function(e){return e},getDefaultLibFileName:function(){return`/`+n.getDefaultLibFileName(t)},getNewLine:function(){return e.newLine},getSourceFile:function(a,o){return r.get(a)||i(n.createSourceFile(a,e.readFile(a),o??t.target??g(n).target,!1))},useCaseSensitiveFileNames:function(){return e.useCaseSensitiveFileNames}}),updateFile:function(t){var n=r.has(t.fileName);return e.writeFile(t.fileName,t.text),r.set(t.fileName,t),n},deleteFile:function(t){var n=r.has(t.fileName);return r.delete(t.fileName),e.deleteFile(t.fileName),n}}}function y(e,t,n,r,i){var a=[].concat(t),o=v(e,n,r),s=o.compilerHost,c=o.updateFile,u=o.deleteFile,d=new Map,f=0;return{languageServiceHost:l({},s,{getProjectVersion:function(){return f.toString()},getCompilationSettings:function(){return n},getCustomTransformers:function(){return i},getScriptFileNames:function(){return a.slice()},getScriptSnapshot:function(t){var n=e.readFile(t);if(n&&typeof n==`string`)return r.ScriptSnapshot.fromString(n)},getScriptVersion:function(e){return d.get(e)||`0`},writeFile:e.writeFile}),updateFile:function(e){f++,d.set(e.fileName,f.toString()),a.includes(e.fileName)||a.push(e.fileName),c(e)},deleteFile:function(e){f++,d.set(e.fileName,f.toString());var t=a.indexOf(e.fileName);t!==-1&&a.splice(t,1),u(e)}}}function b(e){return te.test(e)}var te=/^-?(?:0|[1-9]\d*)(?:\.\d+)?(?:[eE][+-]?\d+)?$/;function x(e,t,n,r){let i=ne(n);return a(typeof t==`function`?t.call({"":e},``,e):e,``);function a(e,t){if(Array.isArray(r)){let t=r.find(t=>t.test(e));if(t){let n=t.stringify(e);if(typeof n!=`string`||!b(n))throw Error(`Invalid JSON number: output of a number stringifier must be a string containing a JSON number (output: ${n})`);return n}}if(typeof e==`boolean`||typeof e==`number`||typeof e==`string`||e===null||e instanceof Date||e instanceof Boolean||e instanceof Number||e instanceof String)return JSON.stringify(e);if(e?.isLosslessNumber||typeof e==`bigint`)return e.toString();if(Array.isArray(e))return o(e,t);if(e&&typeof e==`object`)return s(e,t)}function o(e,n){if(e.length===0)return`[]`;let r=i?n+i:void 0,o=i?`[
|
|
3
|
-
`:`[`;for(let n=0;n<e.length;n++){let s=typeof t==`function`?t.call(e,String(n),e[n]):e[n];i&&(o+=r),o+=s!==void 0&&typeof s!=`function`?a(s,r):`null`,n<e.length-1&&(o+=i?`,
|
|
4
|
-
`:`,`)}return o+=i?`\n${n}]`:`]`,o}function s(e,r){if(typeof e.toJSON==`function`)return x(e.toJSON(),t,n,void 0);let o=Array.isArray(t)?t.map(String):Object.keys(e);if(o.length===0)return`{}`;let s=i?r+i:void 0,l=!0,u=i?`{
|
|
5
|
-
`:`{`;for(let n of o){let r=typeof t==`function`?t.call(e,n,e[n]):e[n];if(c(n,r)){l?l=!1:u+=i?`,
|
|
6
|
-
`:`,`;let e=JSON.stringify(n);u+=i?`${s+e}: `:`${e}:`,u+=a(r,s)}}return u+=i?`\n${r}}`:`}`,u}function c(e,t){return t!==void 0&&typeof t!=`function`&&typeof t!=`symbol`}}function ne(e){if(typeof e==`number`)return` `.repeat(e);if(typeof e==`string`&&e!==``)return e}var S=e=>{if(c.default.isUnionTypeNode(e))return e.types.flatMap(S);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[]},C=(e,t)=>{if(t&&e.aliasSymbol){let t=e.aliasSymbol.declarations?.[0];if(t&&c.default.isTypeAliasDeclaration(t))return S(t.type)}return e.isUnion()?e.types.flatMap(e=>C(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`}]:[]},re=(e,t,n,r)=>r.flatMap(r=>{let i=r.getName();if(!w(i))return[];let a=r.getDeclarations()?.[0];if(!a||a.getEnd()>=t.getEnd())return[];let o=e.getTypeOfSymbolAtLocation(r,t);return i.startsWith(`node_`)?ie(i,o,e,n):i.startsWith(`p_`)?ae(i,o,e,n):i.startsWith(`flow_`)?oe(o,e,n):[]}),w=e=>e.startsWith(`node_`)||e.startsWith(`p_`)||e.startsWith(`flow_`),ie=(e,t,n,r)=>{if((t.flags&c.default.TypeFlags.Void)!==0)return[];let i=T(e.replace(`node_`,``));return O(t,n,r).flatMap(({path:e})=>{let t={__typename:`ReferenceValue`,nodeFunctionId:i};return e.length>0&&(t.referencePath=e),t})},ae=(e,t,n,r)=>{let{nodeFunctionId:i,paramIndexFromName:a}=se(e);if(!n.isTupleType(t))return[];let o=t;return n.getTypeArguments(o).flatMap((e,t)=>O(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}))},oe=(e,t,n)=>O(e,t,n).flatMap(({path:e})=>{let t={__typename:`ReferenceValue`,nodeFunctionId:null};return e.length>0&&(t.referencePath=e),t}),T=e=>e.replace(/___/g,`://`).replace(/__/g,`/`).replace(/_/g,`/`),se=e=>{let t=e.replace(`p_`,``),n=t.lastIndexOf(`_`),r=t.substring(0,n),i=parseInt(t.substring(n+1),10);return{nodeFunctionId:T(r),paramIndexFromName:i}},ce=7,E=(e,t,n)=>{let r=n.get(e);if(r!==void 0)return r;let i=new Set,a=n=>{if(i.has(n)||!k(n))return!1;i.add(n);for(let r of n.getProperties()){if(!r.valueDeclaration)continue;let n=t.getNonNullableType(t.getTypeOfSymbolAtLocation(r,r.valueDeclaration));if(n===e||a(n))return!0}return!1},o=a(e);return n.set(e,o),o},D=(e,t,n)=>e.isUnion()?e.types.some(e=>D(t.getNonNullableType(e),t,n)):(e.flags&c.default.TypeFlags.Never)===0&&t.isTypeAssignableTo(e,n),le=(e,t)=>e.isUnion()?e.types.map(e=>t.getNonNullableType(e)).filter(k):k(e)?[e]:[],O=(e,t,n,r=[],i=new Set,a=new Map)=>{let o=[],s=t.getNonNullableType(e);return D(s,t,n)&&o.push({path:r,type:e}),le(s,t).forEach(e=>{if(i.has(e)||r.length>=ce&&E(e,t,a))return;let s=e.getProperties();s&&s.length>0&&(i.add(e),s.forEach(e=>{let s=t.getTypeOfSymbolAtLocation(e,e.valueDeclaration),c=e.getName(),l=[...r,{path:c}];o.push(...O(s,t,n,l,i,a))}),i.delete(e))}),o},k=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},ue=(e,t,n,r)=>Z(r)?[]:t.flatMap(t=>{let i=A(e,t,n,r);return i?[i]:[]}),A=(e,t,n,r)=>{if(t.parameters.length>0)return null;let i=e.getSignatureFromDeclaration(t),a=j(e,e.getReturnTypeOfSignature(i)),o=e.getNonNullableType(a);if((o.flags&c.default.TypeFlags.Never)!==0||!e.isTypeAssignableTo(o,r))return null;let s=M(t.name?.getText());return N(n.find(e=>e.identifier===s))},j=(e,t)=>t.isTypeParameter()?e.getBaseConstraintOfType(t)||e.getAnyType():t,M=e=>e?e.replace(`fn_`,``).replace(`_`,`::`).replace(`_`,`::`):``,N=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=P(e?.parameterDefinitions?.nodes||[])),n},P=e=>({__typename:`NodeParameterConnection`,nodes:e.map(e=>F(e))}),F=e=>({__typename:`NodeParameter`,parameterDefinition:{__typename:`ParameterDefinition`,id:e?.id,identifier:e?.identifier},value:e?.defaultValue?{__typename:`LiteralValue`,value:e.defaultValue.value}:null}),I=(e,t,n,r)=>Z(r)?t.flatMap(t=>{let i=L(e,t,n,r);return i?[i]:[]}):[],L=(e,t,n,r)=>{let i=e.getTypeAtLocation(t);if(!e.isTypeAssignableTo(i,r))return null;let a=R(t.name?.getText()),o=n.find(e=>e.identifier===a);return o?z(o):null},R=e=>e?e.replace(`fn_`,``).replace(`_`,`::`).replace(`_`,`::`):``,z=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}))}),B={DATE:`date`},V=e=>e!=null&&e in B,H=7,U=(e,t,n,r,i,a=!0,o,s=new Set,l=new Map)=>{if((n.flags&c.default.TypeFlags.TypeParameter)!==0){let u=n.symbol?.declarations?.[0];if(u&&c.default.isTypeParameterDeclaration(u)&&u.constraint)return U(e,t,e.getTypeFromTypeNode(u.constraint),r,i,a,o,s,l)}let u=e.typeToString(V(n.aliasSymbol?.getName())&&n.isIntersection()?n.types.find(e=>(e.flags&c.default.TypeFlags.Object)===0)??n:{...n,aliasSymbol:void 0}),d=o??n,f=a?{suggestions:[...C(d,e),...t?re(e,t,d,e.getSymbolsInScope(t,c.default.SymbolFlags.Variable)):[],...ue(e,r,i,d),...I(e,r,i,d)]}:{};if(n.isUnion()){let a=n.types.filter(e=>(e.flags&(c.default.TypeFlags.Undefined|c.default.TypeFlags.Null))===0);if(a.length===1)return{...U(e,t,a[0],r,i,!1,void 0,s,l),type:u,...f}}let p=he(n);if(p)return{input:p,type:u,...f};if(G(e,n))return{input:`file`,type:u,mimetype:K(e,n),...f};if(q(n))return{input:`boolean`,type:u,...f};if(X(n)||_e(n))return{input:`select`,type:u,...f};if(J(n))return{input:`number`,type:u,...f};if(Y(n))return{input:`text`,type:u,...f};if(Z(n))return{input:`sub-flow`,type:u,...f};if(ve(e,n)){let o=e.getTypeArguments(n);return o.length===1&&G(e,o[0])?{input:`list-file`,type:u,mimetype:K(e,o[0]),...f}:{input:`list`,type:u,items:o.flatMap(n=>(n.isUnion()?n.types:[n]).map(n=>U(e,t,n,r,i,a,void 0,s,l))),...f}}if((n.flags&c.default.TypeFlags.Object)!==0){if(s.has(n)||s.size>=H&&E(n,e,l))return{input:`data`,type:u,...f};s.add(n);let o={},d=[];for(let u of e.getPropertiesOfType(n)){let n=u.valueDeclaration??u.declarations?.[0];if(!n)continue;let f=e.getTypeOfSymbolAtLocation(u,n),p=(u.flags&c.default.SymbolFlags.Optional)!==0||f.isUnion()&&f.types.some(e=>(e.flags&(c.default.TypeFlags.Undefined|c.default.TypeFlags.Null))!==0),m=(f.isUnion()?f.types.filter(e=>(e.flags&(c.default.TypeFlags.Undefined|c.default.TypeFlags.Null))===0):[f]).map(n=>U(e,t,n,r,i,a,void 0,s,l));o[u.name]=m.length===1?m[0]:m,p||d.push(u.name)}return s.delete(n),{input:`data`,type:u,properties:o,required:d,...f}}return{input:`generic`,type:u,...f}},W=(e,t,n=!1)=>{if(!e||e.input===`generic`)return pe(me(t),n);let r=fe(e.suggestions,t.suggestions);if(e.input===`data`){let n=e.properties??{},i=t.input===`data`?t.properties??{}:{},a={},o=new Set([...Object.keys(n),...Object.keys(i)]);for(let e of o){let t=n[e],r=i[e];a[e]=de(t,r)}return{...e,properties:a,...r?{suggestions:r}:{}}}if(e.input===`list`){let n=e.items??[],i=t.input===`list`?t.items??[]:[],a=n.length===i.length&&n.length>0?n.map((e,t)=>W(e,i[t])):n;return{...e,items:a,...r?{suggestions:r}:{}}}return{...e,...r?{suggestions:r}:{}}},de=(e,t)=>e&&!Array.isArray(e)&&t&&!Array.isArray(t)?W(e,t):e??t,fe=(e,t)=>{let n=[...e??[],...t??[]];if(n.length===0)return;let r=new Set,i=[];for(let e of n){let t=JSON.stringify(e);r.has(t)||(r.add(t),i.push(e))}return i},pe=(e,t)=>!t||e.input!==`generic`?e:{input:`data`,...e.type?{type:e.type}:{},properties:{},required:[],...e.suggestions?{suggestions:e.suggestions}:{}},me=e=>{if(e.input!==`select`)return e;let t=e.suggestions??[],n=new Set;for(let e of t){let t=typeof e.value;(t===`string`||t===`number`||t===`boolean`)&&n.add(t)}return{input:n.size===1?{string:`text`,number:`number`,boolean:`boolean`}[[...n][0]]:`text`,...e.type?{type:e.type}:{},...t.length>0?{suggestions:t}:{}}};function he(e){let t=e.aliasSymbol?.getName();return V(t)?B[t]:void 0}function G(e,t){if(t.aliasSymbol?.getName()!==`FILE`||(t.flags&c.default.TypeFlags.Object)===0)return!1;let n=e.getPropertiesOfType(t);if(n.length!==4)return!1;let r=new Map(n.map(e=>[e.name,e])),i=r.get(`valueType`);if(!r.has(`contentType`)||!r.has(`fileName`)||!r.has(`value`)||!i)return!1;let a=i.valueDeclaration??i.declarations?.[0];if(!a)return!1;let o=e.getTypeOfSymbolAtLocation(i,a);return o.isStringLiteral()&&o.value===`base64`}function K(e,t){let n=/^(\*|[a-zA-Z0-9][a-zA-Z0-9!#$&^_.+-]*)\/(\*|[a-zA-Z0-9][a-zA-Z0-9!#$&^_.+-]*)$/,r=e.getPropertiesOfType(t).find(e=>e.name===`contentType`);if(!r)return`*/*`;let i=r.valueDeclaration??r.declarations?.[0];if(!i)return`*/*`;let a=e.getTypeOfSymbolAtLocation(r,i);return a.isStringLiteral()&&n.test(a.value)?a.value:`*/*`}function q(e){if((e.flags&c.default.TypeFlags.Boolean)!==0||(e.flags&c.default.TypeFlags.BooleanLiteral)!==0)return!0;if(e.isUnion()){let t=e.types.filter(e=>(e.flags&(c.default.TypeFlags.Undefined|c.default.TypeFlags.Null))===0);return t.length>0&&t.every(e=>(e.flags&c.default.TypeFlags.Boolean)!==0||(e.flags&c.default.TypeFlags.BooleanLiteral)!==0)}return!1}function J(e){return(e.flags&c.default.TypeFlags.Number)!==0||(e.flags&c.default.TypeFlags.NumberLiteral)!==0}function Y(e){return(e.flags&c.default.TypeFlags.String)!==0||(e.flags&c.default.TypeFlags.StringLiteral)!==0}function ge(e){return Y(e)||J(e)||q(e)}function _e(e){return(e.flags&c.default.TypeFlags.StringLiteral)!==0||(e.flags&c.default.TypeFlags.NumberLiteral)!==0}function X(e){if(!e.isUnion())return!1;let t=e.types.filter(e=>(e.flags&(c.default.TypeFlags.Undefined|c.default.TypeFlags.Null))===0);return t.length>0&&t.every(ge)}function ve(e,t){return e.isArrayType(t)||e.isTupleType(t)}function Z(e){return e.getCallSignatures().length>0}var ye=`
|
|
7
|
-
interface Array<T> {
|
|
8
|
-
[n: number]: T;
|
|
9
|
-
length: number;
|
|
10
|
-
}
|
|
11
|
-
interface String { readonly length: number; }
|
|
12
|
-
interface Number { }
|
|
13
|
-
interface Boolean { }
|
|
14
|
-
interface Object { }
|
|
15
|
-
interface Function { }
|
|
16
|
-
interface CallableFunction extends Function {}
|
|
17
|
-
interface NewableFunction extends Function {}
|
|
18
|
-
interface IArguments { }
|
|
19
|
-
interface RegExp { }
|
|
20
|
-
|
|
21
|
-
declare namespace Utils {
|
|
22
|
-
type ReturnType<T extends (...args: any) => any> = T extends (...args: any) => infer R ? R : any;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
import ReturnType = Utils.ReturnType;
|
|
26
|
-
`;function be(e,t){let n=new Map;return n.set(e,t),n.set(`lib.codezero.d.ts`,ye),p(ee(n),[e,`lib.codezero.d.ts`],c.default,xe)}var xe={target:c.default.ScriptTarget.Latest,lib:[`lib.codezero.d.ts`],noEmit:!0,strictNullChecks:!0};function Se(e){let t=[],n=0,r=null,i=``;for(let a of e){if(r)a===r&&(r=null);else if(a===`'`||a===`"`||a==="`")r=a;else if(a===`<`||a===`{`||a===`(`||a===`[`)n++;else if(a===`>`||a===`}`||a===`)`||a===`]`)n--;else if(a===`,`&&n===0){t.push(i),i=``;continue}i+=a}return t.push(i),t.map(e=>(e.trim().split(/\s+/).find(e=>e!==`const`&&e!==`in`&&e!==`out`)??``).match(/^[A-Za-z_$][A-Za-z0-9_$]*/)?.[0]??``).filter(e=>e.length>0)}function Q(e,t=`any`,n=!0){let r=Array.from(new Set(e?.flatMap(e=>e.genericKeys||[]).flatMap(Se))).map(e=>`type ${e} = ${t};`).join(`
|
|
27
|
-
`),i=e?.map(e=>{let t=(e.genericKeys?.length??0)>0?`<${e.genericKeys?.join(`,`)}>`:``,n=V(e.identifier)?`${e.type} & {}`:e.type;return`type ${e.identifier}${t} = ${n};`}).join(`
|
|
28
|
-
`),a=e?.filter(e=>(e.genericKeys?.length??0)>0).map(e=>`declare const __widen_${e.identifier}: ${e.identifier}<${e.genericKeys.map(()=>`any`).join(`, `)}>;`).join(`
|
|
29
|
-
`)??``;return`${n?r:``}\n${i}\n${a}`}var $=e=>e?.replace(/[^a-zA-Z0-9]/g,`_`);function Ce(e,t,n,r=!1,i=!0){let a=e?.nodes?.nodes||[],o=new Map(t?.map(e=>[e.identifier,e])),s=new Set,c=(t,n=``)=>{let l=a.find(e=>e?.id===t);if(!l||!l.functionDefinition)return``;if(t?.includes(`NodeFunction`)&&s.add(t),!o.get(l.functionDefinition.identifier))return`${n}// Error: Function ${l.functionDefinition.identifier} not found\n`;let u=(l.parameters?.nodes||[]).map((a,o)=>{let s=a.value;if(!s)return r?`/* @pos ${t} ${o} */ {}`:`/* @pos ${t} ${o} */ undefined`;if(s.__typename===`ReferenceValue`){let n=s,r=typeof n.inputIndex==`number`?`p_${$(n.nodeFunctionId??`undefined`)}_${n.parameterIndex}[${n.inputIndex}]`:n.nodeFunctionId?`node_${$(n.nodeFunctionId)}`:`flow_${$(e?.id??`undefined`)}`;return n.referencePath?.forEach(e=>{r+=`?.${e.path}`}),`/* @pos ${t} ${o} */ (${r})${i?`!`:``}`}if(s.__typename===`LiteralValue`)return`/* @pos ${t} ${o} */ ${s?.value!==null&&s?.value!==void 0?x(s?.value):void 0}`;if(s.__typename===`SubFlowValue`){let e=s;return!e.startingNodeId&&e.functionDefinition?.identifier?`/* @pos ${t} ${o} */ ${`fn_${e.functionDefinition.identifier.replace(/::/g,`_`)}`}`:`/* @pos ${t} ${o} */ (...${`p_${$(t)}_${o}`}) => {\n${c(e.startingNodeId||e.functionDefinition?.id,n+` `)}${n}}`}return r?`/* @pos ${t} ${o} */ {}`:`/* @pos ${t} ${o} */ undefined`}),d=`node_${$(l.id)}`,f=`fn_${l?.functionDefinition?.identifier?.replace(/::/g,`_`)}`;u.includes(`undefined`);let p=`${n}`;return l.functionDefinition.identifier===`std::control::return`?(p+=`const ${d} = /* @pos ${t} null */ ${f}(${u.join(`, `)}) ;\n`,p+=`return ${d};\n`):l.functionDefinition.identifier===`std::control::if`?(p+=`const ${d} = /* @pos ${t} null */ ${f}(${u.join(`, `)}) ;\n`,p+=`if(${u[0]}) {
|
|
30
|
-
${c(l.parameters?.nodes?.[1]?.value?.startingNodeId||(l.parameters?.nodes?.[1]?.value)?.functionDefinition?.identifier,n+` `)}
|
|
31
|
-
}`):l.functionDefinition.identifier===`std::control::if_else`?(p+=`const ${d} = /* @pos ${t} null */ ${f}(${u.join(`, `)}) ;\n`,p+=`if(${u[0]}) {
|
|
32
|
-
${c(l.parameters?.nodes?.[1]?.value?.startingNodeId||(l.parameters?.nodes?.[1]?.value)?.functionDefinition?.identifier,n+` `)}
|
|
33
|
-
} else {
|
|
34
|
-
${c(l.parameters?.nodes?.[2]?.value?.startingNodeId||(l.parameters?.nodes?.[2]?.value)?.functionDefinition?.identifier,n+` `)}
|
|
35
|
-
}`):p+=`const ${d} = /* @pos ${t} null */ ${f}(${u.join(`, `)}) ;\n`,l.nextNodeId&&(p+=c(l.nextNodeId,n)),p},l=Q(n),u=`declare function flow${e?.signature??`(): void`}`,d=t?.map(e=>`declare function fn_${e.identifier?.replace(/::/g,`_`)}${e.signature}`).join(`
|
|
36
|
-
`),f=new Set(a.map(e=>e?.nextNodeId).filter(e=>!!e)),p=new Set;return a.forEach(e=>e?.parameters?.nodes?.forEach(e=>{e?.value?.__typename===`SubFlowValue`&&(e.value.startingNodeId||e.value.functionDefinition?.id)&&p.add(e.value.startingNodeId||e.value.functionDefinition?.id)})),`
|
|
37
|
-
${l}\n
|
|
38
|
-
${u}\n
|
|
39
|
-
${d}\n
|
|
40
|
-
(() =>
|
|
41
|
-
${e?`const flow_${$(e.id??``)} = /* @pos null null */ flow(${e.settings?.nodes?.map((e,t)=>`/* @pos null ${t} */ ${e?.value!==null&&e?.value!==void 0?x(e?.value):void 0}`).join(`, `)??``});`:``}
|
|
42
|
-
${a.filter(e=>e?.id&&!f.has(e.id)&&!p.has(e.id)).map(e=>c(e.id)).join(`
|
|
43
|
-
`)}
|
|
44
|
-
)();
|
|
45
|
-
`}Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return B}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return Z}}),Object.defineProperty(exports,"d",{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return $}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return W}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return Ce}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return U}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return Q}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return V}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return be}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return x}});
|