@code0-tech/triangulum 0.31.1 → 0.32.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-Cezd6toj.cjs +45 -0
- package/dist/{utils-DwlsxHiu.js → utils-Cn-uViWS.js} +140 -76
- package/package.json +1 -1
- 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-Cezd6toj.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-Cn-uViWS.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-Cezd6toj.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-Cn-uViWS.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)=>X(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=A(e,e.getReturnTypeOfSignature(i)),o=e.getNonNullableType(a);if((o.flags&c.default.TypeFlags.Never)!==0||!e.isTypeAssignableTo(o,r))return null;let s=j(t.name?.getText());return M(n.find(e=>e.identifier===s))},A=(e,t)=>t.isTypeParameter()?e.getBaseConstraintOfType(t)||e.getAnyType():t,j=e=>e?e.replace(`fn_`,``).replace(`_`,`::`).replace(`_`,`::`):``,M=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=N(e?.parameterDefinitions?.nodes||[])),n},N=e=>({__typename:`NodeParameterConnection`,nodes:e.map(e=>P(e))}),P=e=>({__typename:`NodeParameter`,parameterDefinition:{__typename:`ParameterDefinition`,id:e?.id,identifier:e?.identifier},value:e?.defaultValue?{__typename:`LiteralValue`,value:e.defaultValue.value}:null}),F=(e,t,n,r)=>X(r)?t.flatMap(t=>{let i=I(e,t,n,r);return i?[i]:[]}):[],I=(e,t,n,r)=>{let i=e.getTypeAtLocation(t);if(!e.isTypeAssignableTo(i,r))return null;let a=L(t.name?.getText()),o=n.find(e=>e.identifier===a);return o?R(o):null},L=e=>e?e.replace(`fn_`,``).replace(`_`,`::`).replace(`_`,`::`):``,R=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}))}),z={DATE:`date`},B=e=>e!=null&&e in z,V=7,H=(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 H(e,t,e.getTypeFromTypeNode(u.constraint),r,i,a,o,s,l)}let u=e.typeToString(B(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),...F(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{...H(e,t,a[0],r,i,!1,void 0,s,l),type:u,...f}}let p=_e(n);if(p)return{input:p,type:u,...f};if(W(e,n))return{input:`file`,type:u,mimetype:G(e,n),...f};if(ve(e,n))return{input:`color`,type:u,...f};if(K(n))return{input:`boolean`,type:u,...f};if(Y(n))return{input:`select`,type:u,...f};if(q(n))return{input:`number`,type:u,...f};if(J(n))return{input:`text`,type:u,...f};if(X(n))return{input:`sub-flow`,type:u,...f};if(Se(e,n)){let o=e.getTypeArguments(n);if(o.length===1&&W(e,o[0]))return{input:`list-file`,type:u,mimetype:G(e,o[0]),...f};let c=o.flatMap(n=>(n.isUnion()?n.types:[n]).map(n=>H(e,t,n,r,i,a,void 0,s,l)));if(o.length===1&&Y(o[0]))return{input:`list-select`,type:u,items:c,...f};if(o.length===1){let e=o[0];if(K(e))return{input:`list-boolean`,type:u,items:c,...f};if(q(e))return{input:`list-number`,type:u,items:c,...f};if(J(e))return{input:`list-text`,type:u,items:c,...f};if(X(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>=V&&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=>H(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}},fe=new Set([`list`,`list-select`,`list-boolean`,`list-number`,`list-text`,`list-sub-flow`]),U=(e,t,n=!1)=>{if(!e||e.input===`generic`)return he(ge(t),n);let r=me(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]=pe(t,r)}return{...e,properties:a,...r?{suggestions:r}:{}}}if(fe.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)=>U(e,i[t])):n;return{...e,items:a,...r?{suggestions:r}:{}}}return{...e,...r?{suggestions:r}:{}}},pe=(e,t)=>e&&!Array.isArray(e)&&t&&!Array.isArray(t)?U(e,t):e??t,me=(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},he=(e,t)=>!t||e.input!==`generic`?e:{input:`data`,...e.type?{type:e.type}:{},properties:{},required:[],...e.suggestions?{suggestions:e.suggestions}:{}},ge=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 _e(e){let t=e.aliasSymbol?.getName();return B(t)?z[t]:void 0}function W(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 ve(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?q(e.getTypeOfSymbolAtLocation(r,i)):!1})}function G(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 K(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 q(e){return(e.flags&c.default.TypeFlags.Number)!==0||(e.flags&c.default.TypeFlags.NumberLiteral)!==0}function J(e){return(e.flags&c.default.TypeFlags.String)!==0||(e.flags&c.default.TypeFlags.StringLiteral)!==0}function ye(e){return J(e)||q(e)||K(e)}function be(e){return(e.flags&c.default.TypeFlags.StringLiteral)!==0||(e.flags&c.default.TypeFlags.NumberLiteral)!==0}function Y(e){return K(e)?!1:xe(e)||be(e)}function xe(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(ye)}function Se(e,t){return e.isArrayType(t)||e.isTupleType(t)}function X(e){return e.getCallSignatures().length>0}var Ce=`
|
|
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 we(e,t){let n=new Map;return n.set(e,t),n.set(`lib.codezero.d.ts`,Ce),p(ee(n),[e,`lib.codezero.d.ts`],c.default,Te)}var Te={target:c.default.ScriptTarget.Latest,lib:[`lib.codezero.d.ts`],noEmit:!0,strictNullChecks:!0};function Z(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(Z))).map(e=>`type ${e} = ${t};`).join(`
|
|
27
|
+
`),i=e?.map(e=>{let t=(e.genericKeys?.length??0)>0?`<${e.genericKeys?.join(`,`)}>`:``,n=B(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 Ee(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?y(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?y(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 z}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return X}}),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 U}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return Ee}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return H}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return Q}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return B}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return we}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return y}});
|
|
@@ -288,7 +288,7 @@ var _ = (t) => {
|
|
|
288
288
|
}), b = (e) => e.startsWith("node_") || e.startsWith("p_") || e.startsWith("flow_"), ee = (t, n, r, i) => {
|
|
289
289
|
if ((n.flags & e.TypeFlags.Void) !== 0) return [];
|
|
290
290
|
let a = x(t.replace("node_", ""));
|
|
291
|
-
return
|
|
291
|
+
return E(n, r, i).flatMap(({ path: e }) => {
|
|
292
292
|
let t = {
|
|
293
293
|
__typename: "ReferenceValue",
|
|
294
294
|
nodeFunctionId: a
|
|
@@ -299,7 +299,7 @@ var _ = (t) => {
|
|
|
299
299
|
let { nodeFunctionId: i, paramIndexFromName: a } = S(e);
|
|
300
300
|
if (!n.isTupleType(t)) return [];
|
|
301
301
|
let o = t;
|
|
302
|
-
return n.getTypeArguments(o).flatMap((e, t) =>
|
|
302
|
+
return n.getTypeArguments(o).flatMap((e, t) => E(e, n, r).flatMap(({ path: e }) => {
|
|
303
303
|
let n = {
|
|
304
304
|
__typename: "ReferenceValue",
|
|
305
305
|
nodeFunctionId: i,
|
|
@@ -309,7 +309,7 @@ var _ = (t) => {
|
|
|
309
309
|
};
|
|
310
310
|
return e.length > 0 && (n.referencePath = e), n;
|
|
311
311
|
}));
|
|
312
|
-
}, ne = (e, t, n) =>
|
|
312
|
+
}, ne = (e, t, n) => E(e, t, n).flatMap(({ path: e }) => {
|
|
313
313
|
let t = {
|
|
314
314
|
__typename: "ReferenceValue",
|
|
315
315
|
nodeFunctionId: null
|
|
@@ -325,7 +325,7 @@ var _ = (t) => {
|
|
|
325
325
|
let r = n.get(e);
|
|
326
326
|
if (r !== void 0) return r;
|
|
327
327
|
let i = /* @__PURE__ */ new Set(), a = (n) => {
|
|
328
|
-
if (i.has(n) || !
|
|
328
|
+
if (i.has(n) || !D(n)) return !1;
|
|
329
329
|
i.add(n);
|
|
330
330
|
for (let r of n.getProperties()) {
|
|
331
331
|
if (!r.valueDeclaration) continue;
|
|
@@ -335,32 +335,32 @@ var _ = (t) => {
|
|
|
335
335
|
return !1;
|
|
336
336
|
}, o = a(e);
|
|
337
337
|
return n.set(e, o), o;
|
|
338
|
-
}, T = (t, n, r) => t.isUnion() ? t.types.some((e) => T(n.getNonNullableType(e), n, r)) : (t.flags & e.TypeFlags.Never) === 0 && n.isTypeAssignableTo(t, r),
|
|
338
|
+
}, T = (t, n, r) => t.isUnion() ? t.types.some((e) => T(n.getNonNullableType(e), n, r)) : (t.flags & e.TypeFlags.Never) === 0 && n.isTypeAssignableTo(t, r), re = (e, t) => e.isUnion() ? e.types.map((e) => t.getNonNullableType(e)).filter(D) : D(e) ? [e] : [], E = (e, t, n, r = [], i = /* @__PURE__ */ new Set(), a = /* @__PURE__ */ new Map()) => {
|
|
339
339
|
let o = [], s = t.getNonNullableType(e);
|
|
340
340
|
return T(s, t, n) && o.push({
|
|
341
341
|
path: r,
|
|
342
342
|
type: e
|
|
343
|
-
}),
|
|
343
|
+
}), re(s, t).forEach((e) => {
|
|
344
344
|
if (i.has(e) || r.length >= C && w(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 }];
|
|
348
|
-
o.push(...
|
|
348
|
+
o.push(...E(s, t, n, l, i, a));
|
|
349
349
|
}), i.delete(e));
|
|
350
350
|
}), o;
|
|
351
|
-
},
|
|
351
|
+
}, D = (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
|
-
},
|
|
355
|
-
let i =
|
|
354
|
+
}, ie = (e, t, n, r) => X(r) ? [] : t.flatMap((t) => {
|
|
355
|
+
let i = ae(e, t, n, r);
|
|
356
356
|
return i ? [i] : [];
|
|
357
|
-
}),
|
|
357
|
+
}), ae = (t, n, r, i) => {
|
|
358
358
|
if (n.parameters.length > 0) return null;
|
|
359
|
-
let a = t.getSignatureFromDeclaration(n), o =
|
|
359
|
+
let a = t.getSignatureFromDeclaration(n), o = oe(t, t.getReturnTypeOfSignature(a)), s = t.getNonNullableType(o);
|
|
360
360
|
if ((s.flags & e.TypeFlags.Never) !== 0 || !t.isTypeAssignableTo(s, i)) return null;
|
|
361
|
-
let c =
|
|
362
|
-
return
|
|
363
|
-
},
|
|
361
|
+
let c = se(n.name?.getText());
|
|
362
|
+
return ce(r.find((e) => e.identifier === c));
|
|
363
|
+
}, oe = (e, t) => t.isTypeParameter() ? e.getBaseConstraintOfType(t) || e.getAnyType() : t, se = (e) => e ? e.replace("fn_", "").replace("_", "::").replace("_", "::") : "", ce = (e) => {
|
|
364
364
|
let t = (e?.parameterDefinitions?.nodes?.length ?? 0) > 0, n = {
|
|
365
365
|
__typename: "NodeFunction",
|
|
366
366
|
id: "gid://sagittarius/NodeFunction/1",
|
|
@@ -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 = le(e?.parameterDefinitions?.nodes || [])), n;
|
|
377
|
+
}, le = (e) => ({
|
|
378
378
|
__typename: "NodeParameterConnection",
|
|
379
|
-
nodes: e.map((e) =>
|
|
380
|
-
}),
|
|
379
|
+
nodes: e.map((e) => O(e))
|
|
380
|
+
}), O = (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
|
+
}), k = (e, t, n, r) => X(r) ? t.flatMap((t) => {
|
|
392
|
+
let i = A(e, t, n, r);
|
|
393
393
|
return i ? [i] : [];
|
|
394
|
-
}) : [],
|
|
394
|
+
}) : [], A = (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 = j(t.name?.getText()), o = n.find((e) => e.identifier === a);
|
|
398
|
+
return o ? M(o) : null;
|
|
399
|
+
}, j = (e) => e ? e.replace("fn_", "").replace("_", "::").replace("_", "::") : "", M = (e) => ({
|
|
400
400
|
__typename: "SubFlowValue",
|
|
401
401
|
functionDefinition: e,
|
|
402
402
|
signature: e.signature,
|
|
@@ -407,56 +407,61 @@ var _ = (t) => {
|
|
|
407
407
|
hidden: e?.hidden ?? !1,
|
|
408
408
|
optional: e?.optional ?? !1
|
|
409
409
|
}))
|
|
410
|
-
}),
|
|
410
|
+
}), N = { DATE: "date" }, P = (e) => e != null && e in N, F = 7, I = (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 I(t, n, t.getTypeFromTypeNode(u.constraint), i, a, o, s, c, l);
|
|
414
414
|
}
|
|
415
|
-
let u = t.typeToString(
|
|
415
|
+
let u = t.typeToString(P(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
|
-
...
|
|
422
|
-
...
|
|
421
|
+
...ie(t, i, a, d),
|
|
422
|
+
...k(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
|
+
...I(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 = U(r);
|
|
433
433
|
if (p) return {
|
|
434
434
|
input: p,
|
|
435
435
|
type: u,
|
|
436
436
|
...f
|
|
437
437
|
};
|
|
438
|
-
if (
|
|
438
|
+
if (W(t, r)) return {
|
|
439
439
|
input: "file",
|
|
440
440
|
type: u,
|
|
441
|
-
mimetype:
|
|
441
|
+
mimetype: G(t, r),
|
|
442
442
|
...f
|
|
443
443
|
};
|
|
444
|
-
if (
|
|
444
|
+
if (ue(t, r)) return {
|
|
445
|
+
input: "color",
|
|
446
|
+
type: u,
|
|
447
|
+
...f
|
|
448
|
+
};
|
|
449
|
+
if (K(r)) return {
|
|
445
450
|
input: "boolean",
|
|
446
451
|
type: u,
|
|
447
452
|
...f
|
|
448
453
|
};
|
|
449
|
-
if (
|
|
454
|
+
if (Y(r)) return {
|
|
450
455
|
input: "select",
|
|
451
456
|
type: u,
|
|
452
457
|
...f
|
|
453
458
|
};
|
|
454
|
-
if (
|
|
459
|
+
if (q(r)) return {
|
|
455
460
|
input: "number",
|
|
456
461
|
type: u,
|
|
457
462
|
...f
|
|
458
463
|
};
|
|
459
|
-
if (
|
|
464
|
+
if (J(r)) return {
|
|
460
465
|
input: "text",
|
|
461
466
|
type: u,
|
|
462
467
|
...f
|
|
@@ -466,22 +471,57 @@ var _ = (t) => {
|
|
|
466
471
|
type: u,
|
|
467
472
|
...f
|
|
468
473
|
};
|
|
469
|
-
if (
|
|
474
|
+
if (me(t, r)) {
|
|
470
475
|
let e = t.getTypeArguments(r);
|
|
471
|
-
|
|
476
|
+
if (e.length === 1 && W(t, e[0])) return {
|
|
472
477
|
input: "list-file",
|
|
473
478
|
type: u,
|
|
474
|
-
mimetype:
|
|
479
|
+
mimetype: G(t, e[0]),
|
|
480
|
+
...f
|
|
481
|
+
};
|
|
482
|
+
let s = e.flatMap((e) => (e.isUnion() ? e.types : [e]).map((e) => I(t, n, e, i, a, o, void 0, c, l)));
|
|
483
|
+
if (e.length === 1 && Y(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 (K(t)) return {
|
|
492
|
+
input: "list-boolean",
|
|
493
|
+
type: u,
|
|
494
|
+
items: s,
|
|
495
|
+
...f
|
|
496
|
+
};
|
|
497
|
+
if (q(t)) return {
|
|
498
|
+
input: "list-number",
|
|
499
|
+
type: u,
|
|
500
|
+
items: s,
|
|
501
|
+
...f
|
|
502
|
+
};
|
|
503
|
+
if (J(t)) return {
|
|
504
|
+
input: "list-text",
|
|
505
|
+
type: u,
|
|
506
|
+
items: s,
|
|
507
|
+
...f
|
|
508
|
+
};
|
|
509
|
+
if (X(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 >= F && w(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) => I(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
|
+
}, L = /* @__PURE__ */ new Set([
|
|
551
|
+
"list",
|
|
552
|
+
"list-select",
|
|
553
|
+
"list-boolean",
|
|
554
|
+
"list-number",
|
|
555
|
+
"list-text",
|
|
556
|
+
"list-sub-flow"
|
|
557
|
+
]), R = (e, t, n = !1) => {
|
|
558
|
+
if (!e || e.input === "generic") return V(H(t), n);
|
|
559
|
+
let r = B(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] = z(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 (L.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) => R(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
|
+
}, z = (e, t) => e && !Array.isArray(e) && t && !Array.isArray(t) ? R(e, t) : e ?? t, B = (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
|
+
}, V = (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
|
+
}, H = (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 U(e) {
|
|
570
617
|
let t = e.aliasSymbol?.getName();
|
|
571
|
-
return
|
|
618
|
+
return P(t) ? N[t] : void 0;
|
|
572
619
|
}
|
|
573
|
-
function
|
|
620
|
+
function W(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 ue(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 ? q(t.getTypeOfSymbolAtLocation(n, i)) : !1;
|
|
643
|
+
});
|
|
644
|
+
}
|
|
645
|
+
function G(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 K(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,24 +658,27 @@ function q(t) {
|
|
|
597
658
|
}
|
|
598
659
|
return !1;
|
|
599
660
|
}
|
|
600
|
-
function
|
|
661
|
+
function q(t) {
|
|
601
662
|
return (t.flags & e.TypeFlags.Number) !== 0 || (t.flags & e.TypeFlags.NumberLiteral) !== 0;
|
|
602
663
|
}
|
|
603
|
-
function
|
|
664
|
+
function J(t) {
|
|
604
665
|
return (t.flags & e.TypeFlags.String) !== 0 || (t.flags & e.TypeFlags.StringLiteral) !== 0;
|
|
605
666
|
}
|
|
606
|
-
function
|
|
607
|
-
return
|
|
667
|
+
function de(e) {
|
|
668
|
+
return J(e) || q(e) || K(e);
|
|
608
669
|
}
|
|
609
|
-
function
|
|
670
|
+
function fe(t) {
|
|
610
671
|
return (t.flags & e.TypeFlags.StringLiteral) !== 0 || (t.flags & e.TypeFlags.NumberLiteral) !== 0;
|
|
611
672
|
}
|
|
612
|
-
function
|
|
673
|
+
function Y(e) {
|
|
674
|
+
return K(e) ? !1 : pe(e) || fe(e);
|
|
675
|
+
}
|
|
676
|
+
function pe(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(de);
|
|
616
680
|
}
|
|
617
|
-
function
|
|
681
|
+
function me(e, t) {
|
|
618
682
|
return e.isArrayType(t) || e.isTupleType(t);
|
|
619
683
|
}
|
|
620
684
|
function X(e) {
|
|
@@ -622,18 +686,18 @@ function X(e) {
|
|
|
622
686
|
}
|
|
623
687
|
//#endregion
|
|
624
688
|
//#region src/utils.ts
|
|
625
|
-
var
|
|
626
|
-
function
|
|
689
|
+
var he = "\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 Z(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", he), a(u(r), [t, "lib.codezero.d.ts"], e, ge);
|
|
629
693
|
}
|
|
630
|
-
var
|
|
694
|
+
var ge = {
|
|
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 _e(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);
|
|
@@ -649,14 +713,14 @@ function me(e) {
|
|
|
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
715
|
function Q(e, t = "any", n = !0) {
|
|
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 =
|
|
716
|
+
let r = Array.from(new Set(e?.flatMap((e) => e.genericKeys || []).flatMap(_e))).map((e) => `type ${e} = ${t};`).join("\n"), i = e?.map((e) => {
|
|
717
|
+
let t = (e.genericKeys?.length ?? 0) > 0 ? `<${e.genericKeys?.join(",")}>` : "", n = P(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
722
|
var $ = (e) => e?.replace(/[^a-zA-Z0-9]/g, "_");
|
|
659
|
-
function
|
|
723
|
+
function ve(e, t, n, r = !1, i = !0) {
|
|
660
724
|
let a = e?.nodes?.nodes || [], o = new Map(t?.map((e) => [e.identifier, e])), s = /* @__PURE__ */ new Set(), c = (t, n = "") => {
|
|
661
725
|
let l = a.find((e) => e?.id === t);
|
|
662
726
|
if (!l || !l.functionDefinition) return "";
|
|
@@ -700,4 +764,4 @@ function he(e, t, n, r = !1, i = !0) {
|
|
|
700
764
|
`;
|
|
701
765
|
}
|
|
702
766
|
//#endregion
|
|
703
|
-
export {
|
|
767
|
+
export { N as a, X as c, $ as i, R as l, ve as n, I as o, Q as r, P as s, Z as t, h as u };
|
package/package.json
CHANGED
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}});
|