@code0-tech/triangulum 0.37.1 → 0.38.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 +3 -3
- package/dist/index.js +149 -127
- package/dist/schema/getSignatureSchema.d.ts +9 -3
- package/dist/server.cjs +1 -1
- package/dist/server.js +1 -1
- package/dist/util/nodes.util.d.ts +14 -5
- package/dist/util/references.util.d.ts +5 -3
- package/dist/util/schema.util.d.ts +128 -8
- package/dist/util/subflows.util.d.ts +6 -4
- package/dist/util/suggestion.util.d.ts +161 -0
- package/dist/{utils-CAOAm6k-.js → utils-A--QqsC6.js} +263 -179
- package/dist/utils-BftsgxoV.cjs +45 -0
- package/package.json +1 -1
- package/dist/utils-oMAOCPrM.cjs +0 -45
|
@@ -278,50 +278,84 @@ var _ = (t) => {
|
|
|
278
278
|
value: !1,
|
|
279
279
|
__typename: "LiteralValue"
|
|
280
280
|
}] : [];
|
|
281
|
-
}, ee =
|
|
281
|
+
}, ee = [
|
|
282
|
+
"unconstrained",
|
|
283
|
+
"generic",
|
|
284
|
+
"union-member",
|
|
285
|
+
"nullable"
|
|
286
|
+
], y = { match: "exact" }, b = (e) => ({
|
|
287
|
+
match: "possible",
|
|
288
|
+
reason: e
|
|
289
|
+
}), te = (e) => e.map((e) => ({
|
|
290
|
+
value: e,
|
|
291
|
+
certainty: y
|
|
292
|
+
})), ne = (e, t) => e.match === "exact" || t.match !== "exact" ? e : t, x = (...e) => {
|
|
293
|
+
let t = ee.find((t) => e.some((e) => e.reason === t));
|
|
294
|
+
return t ? b(t) : y;
|
|
295
|
+
}, S = (t, n = 1) => t === void 0 || (t.flags & (e.TypeFlags.Any | e.TypeFlags.Unknown)) !== 0 || (t.flags & e.TypeFlags.Object) !== 0 && t.getProperties().length === 0 && t.getCallSignatures().length === 0 && t.getConstructSignatures().length === 0 && (n === 0 ? t.getNumberIndexType() === void 0 && t.getStringIndexType() === void 0 : S(t.getNumberIndexType(), n - 1) && S(t.getStringIndexType(), n - 1)), C = (t, n, r) => {
|
|
296
|
+
let i = n.getNonNullableType(t);
|
|
297
|
+
if ((i.flags & e.TypeFlags.Never) !== 0) return null;
|
|
298
|
+
let a = i.isUnion() ? i.types.map((e) => n.getNonNullableType(e)) : [i], o = a.filter((t) => (t.flags & e.TypeFlags.Never) === 0 && n.isTypeAssignableTo(t, r));
|
|
299
|
+
return o.length === 0 ? null : x(S(i) || S(r) ? b("unconstrained") : y, i !== t && !n.isTypeAssignableTo(t, r) ? b("nullable") : y, o.length < a.length ? b("union-member") : y);
|
|
300
|
+
}, w = (e) => (e.suggestions ?? []).map((t, n) => ({
|
|
301
|
+
value: t,
|
|
302
|
+
certainty: e.suggestionCertainty?.[n] ?? y
|
|
303
|
+
})), T = (e) => ({
|
|
304
|
+
suggestions: e.map((e) => e.value),
|
|
305
|
+
suggestionCertainty: e.map((e) => e.certainty)
|
|
306
|
+
}), re = (e) => e && e.length > 0 ? T(e) : {}, ie = (e, t, n, r) => r.flatMap((r) => {
|
|
282
307
|
let i = r.getName();
|
|
283
|
-
if (!
|
|
308
|
+
if (!ae(i)) return [];
|
|
284
309
|
let a = r.getDeclarations()?.[0];
|
|
285
310
|
if (!a || a.getEnd() >= t.getEnd()) return [];
|
|
286
311
|
let o = e.getTypeOfSymbolAtLocation(r, t);
|
|
287
|
-
return i.startsWith("node_") ?
|
|
288
|
-
}),
|
|
312
|
+
return i.startsWith("node_") ? oe(i, o, e, n) : i.startsWith("p_") ? se(i, o, e, n) : i.startsWith("flow_") ? ce(o, e, n) : [];
|
|
313
|
+
}), ae = (e) => e.startsWith("node_") || e.startsWith("p_") || e.startsWith("flow_"), oe = (t, n, r, i) => {
|
|
289
314
|
if ((n.flags & e.TypeFlags.Void) !== 0) return [];
|
|
290
|
-
let a =
|
|
291
|
-
return D(n, r, i).
|
|
292
|
-
let
|
|
315
|
+
let a = E(t.replace("node_", ""));
|
|
316
|
+
return D(n, r, i).map(({ path: e, certainty: t }) => {
|
|
317
|
+
let n = {
|
|
293
318
|
__typename: "ReferenceValue",
|
|
294
319
|
nodeFunctionId: a
|
|
295
320
|
};
|
|
296
|
-
return e.length > 0 && (
|
|
321
|
+
return e.length > 0 && (n.referencePath = e), {
|
|
322
|
+
value: n,
|
|
323
|
+
certainty: t
|
|
324
|
+
};
|
|
297
325
|
});
|
|
298
|
-
},
|
|
299
|
-
let { nodeFunctionId: i, paramIndexFromName: a } =
|
|
326
|
+
}, se = (e, t, n, r) => {
|
|
327
|
+
let { nodeFunctionId: i, paramIndexFromName: a } = le(e);
|
|
300
328
|
if (!n.isTupleType(t)) return [];
|
|
301
329
|
let o = t;
|
|
302
|
-
return n.getTypeArguments(o).flatMap((e, t) => D(e, n, r).
|
|
303
|
-
let
|
|
330
|
+
return n.getTypeArguments(o).flatMap((e, t) => D(e, n, r).map(({ path: e, certainty: n }) => {
|
|
331
|
+
let r = {
|
|
304
332
|
__typename: "ReferenceValue",
|
|
305
333
|
nodeFunctionId: i,
|
|
306
334
|
parameterIndex: isNaN(a) ? 0 : a,
|
|
307
335
|
inputIndex: t,
|
|
308
336
|
inputTypeIdentifier: o.target.labeledElementDeclarations?.[t].name.getText()
|
|
309
337
|
};
|
|
310
|
-
return e.length > 0 && (
|
|
338
|
+
return e.length > 0 && (r.referencePath = e), {
|
|
339
|
+
value: r,
|
|
340
|
+
certainty: n
|
|
341
|
+
};
|
|
311
342
|
}));
|
|
312
|
-
},
|
|
313
|
-
let
|
|
343
|
+
}, ce = (e, t, n) => D(e, t, n).map(({ path: e, certainty: t }) => {
|
|
344
|
+
let n = {
|
|
314
345
|
__typename: "ReferenceValue",
|
|
315
346
|
nodeFunctionId: null
|
|
316
347
|
};
|
|
317
|
-
return e.length > 0 && (
|
|
318
|
-
|
|
348
|
+
return e.length > 0 && (n.referencePath = e), {
|
|
349
|
+
value: n,
|
|
350
|
+
certainty: t
|
|
351
|
+
};
|
|
352
|
+
}), E = (e) => e.replace(/___/g, "://").replace(/__/g, "/").replace(/_/g, "/"), le = (e) => {
|
|
319
353
|
let t = e.replace("p_", ""), n = t.lastIndexOf("_"), r = t.substring(0, n), i = parseInt(t.substring(n + 1), 10);
|
|
320
354
|
return {
|
|
321
|
-
nodeFunctionId:
|
|
355
|
+
nodeFunctionId: E(r),
|
|
322
356
|
paramIndexFromName: i
|
|
323
357
|
};
|
|
324
|
-
},
|
|
358
|
+
}, ue = 7, de = (e, t, n) => {
|
|
325
359
|
let r = n.get(e);
|
|
326
360
|
if (r !== void 0) return r;
|
|
327
361
|
let i = /* @__PURE__ */ new Set(), a = (n) => {
|
|
@@ -335,13 +369,14 @@ var _ = (t) => {
|
|
|
335
369
|
return !1;
|
|
336
370
|
}, o = a(e);
|
|
337
371
|
return n.set(e, o), o;
|
|
338
|
-
},
|
|
339
|
-
let o = [], s = t.getNonNullableType(e);
|
|
340
|
-
return
|
|
372
|
+
}, fe = (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()) => {
|
|
373
|
+
let o = [], s = t.getNonNullableType(e), c = C(e, t, n);
|
|
374
|
+
return c && o.push({
|
|
341
375
|
path: r,
|
|
342
|
-
type: e
|
|
343
|
-
|
|
344
|
-
|
|
376
|
+
type: e,
|
|
377
|
+
certainty: c
|
|
378
|
+
}), fe(s, t).forEach((e) => {
|
|
379
|
+
if (i.has(e) || r.length >= ue && de(e, t, a)) return;
|
|
345
380
|
let s = e.getProperties();
|
|
346
381
|
s && s.length > 0 && (i.add(e), s.forEach((e) => {
|
|
347
382
|
let s = t.getTypeOfSymbolAtLocation(e, e.valueDeclaration), c = e.getName(), l = [...r, { path: c }];
|
|
@@ -351,15 +386,18 @@ var _ = (t) => {
|
|
|
351
386
|
}, O = (t) => {
|
|
352
387
|
let n = e.TypeFlags.String | e.TypeFlags.Number | e.TypeFlags.Boolean | e.TypeFlags.Undefined | e.TypeFlags.Null | e.TypeFlags.BigInt | e.TypeFlags.ESSymbol;
|
|
353
388
|
return (t.flags & n) === 0;
|
|
354
|
-
},
|
|
355
|
-
let i =
|
|
389
|
+
}, pe = (e, t, n, r) => t.flatMap((t) => {
|
|
390
|
+
let i = me(e, t, n, r);
|
|
356
391
|
return i ? [i] : [];
|
|
357
|
-
}),
|
|
358
|
-
let
|
|
359
|
-
if (
|
|
360
|
-
let c =
|
|
361
|
-
return
|
|
362
|
-
|
|
392
|
+
}), me = (e, t, n, r) => {
|
|
393
|
+
let i = e.getSignatureFromDeclaration(t), a = e.getReturnTypeOfSignature(i), o = C(he(e, a), e, r);
|
|
394
|
+
if (!o) return null;
|
|
395
|
+
let s = a.isTypeParameter() ? x(o, b("generic")) : o, c = ge(t.name?.getText());
|
|
396
|
+
return {
|
|
397
|
+
value: _e(n.find((e) => e.identifier === c)),
|
|
398
|
+
certainty: s
|
|
399
|
+
};
|
|
400
|
+
}, he = (e, t) => t.isTypeParameter() ? e.getBaseConstraintOfType(t) || e.getAnyType() : t, ge = (e) => e ? e.replace("fn_", "").replace("_", "::").replace("_", "::") : "", _e = (e) => {
|
|
363
401
|
let t = (e?.parameterDefinitions?.nodes?.length ?? 0) > 0, n = {
|
|
364
402
|
__typename: "NodeFunction",
|
|
365
403
|
id: "gid://sagittarius/NodeFunction/1",
|
|
@@ -372,11 +410,11 @@ var _ = (t) => {
|
|
|
372
410
|
displayIcon: e?.displayIcon
|
|
373
411
|
}
|
|
374
412
|
};
|
|
375
|
-
return t && (n.parameters =
|
|
376
|
-
},
|
|
413
|
+
return t && (n.parameters = ve(e?.parameterDefinitions?.nodes || [])), n;
|
|
414
|
+
}, ve = (e) => ({
|
|
377
415
|
__typename: "NodeParameterConnection",
|
|
378
|
-
nodes: e.map((e) =>
|
|
379
|
-
}),
|
|
416
|
+
nodes: e.map((e) => ye(e))
|
|
417
|
+
}), ye = (e) => ({
|
|
380
418
|
__typename: "NodeParameter",
|
|
381
419
|
parameterDefinition: {
|
|
382
420
|
__typename: "ParameterDefinition",
|
|
@@ -387,15 +425,18 @@ var _ = (t) => {
|
|
|
387
425
|
__typename: "LiteralValue",
|
|
388
426
|
value: e.defaultValue.value
|
|
389
427
|
} : null
|
|
390
|
-
}),
|
|
391
|
-
let i =
|
|
428
|
+
}), be = (e, t, n, r) => J(r) ? t.flatMap((t) => {
|
|
429
|
+
let i = xe(e, t, n, r);
|
|
392
430
|
return i ? [i] : [];
|
|
393
|
-
}) : [],
|
|
394
|
-
let i = e.getTypeAtLocation(t);
|
|
395
|
-
if (!
|
|
396
|
-
let a =
|
|
397
|
-
return o ?
|
|
398
|
-
|
|
431
|
+
}) : [], xe = (e, t, n, r) => {
|
|
432
|
+
let i = C(e.getTypeAtLocation(t), e, r);
|
|
433
|
+
if (!i) return null;
|
|
434
|
+
let a = Se(t.name?.getText()), o = n.find((e) => e.identifier === a);
|
|
435
|
+
return o ? {
|
|
436
|
+
value: Ce(o),
|
|
437
|
+
certainty: i
|
|
438
|
+
} : null;
|
|
439
|
+
}, Se = (e) => e ? e.replace("fn_", "").replace("_", "::").replace("_", "::") : "", Ce = (e) => ({
|
|
399
440
|
__typename: "SubFlowValue",
|
|
400
441
|
functionDefinition: e,
|
|
401
442
|
signature: e.signature,
|
|
@@ -409,92 +450,96 @@ var _ = (t) => {
|
|
|
409
450
|
}), k = {
|
|
410
451
|
DATE: "date",
|
|
411
452
|
TYPE: "type"
|
|
412
|
-
}, A = (e) => e != null && e in k,
|
|
453
|
+
}, A = (e) => e != null && e in k, we = new Set(Object.values(k)), j = (e) => e != null && we.has(e), Te = 7, M = (t, n, r, i, a, o = !0, s, c = /* @__PURE__ */ new Set(), l = /* @__PURE__ */ new Map(), u) => {
|
|
413
454
|
if ((r.flags & e.TypeFlags.TypeParameter) !== 0) {
|
|
414
455
|
let u = r.symbol?.declarations?.[0];
|
|
415
|
-
if (u && e.isTypeParameterDeclaration(u) && u.constraint) return
|
|
456
|
+
if (u && e.isTypeParameterDeclaration(u) && u.constraint) return M(t, n, t.getTypeFromTypeNode(u.constraint), i, a, o, s, c, l);
|
|
416
457
|
}
|
|
417
458
|
let d = A(r.aliasSymbol?.getName()), f = d && r.isIntersection() ? t.typeToString(r.types.find((t) => (t.flags & e.TypeFlags.Object) === 0) ?? r) : d ? "object" : t.typeToString({
|
|
418
459
|
...r,
|
|
419
460
|
aliasSymbol: void 0
|
|
420
|
-
}), p = s ?? r, m =
|
|
421
|
-
...v(p, t),
|
|
422
|
-
...n ?
|
|
423
|
-
...
|
|
424
|
-
...
|
|
425
|
-
]
|
|
461
|
+
}), p = s ?? r, m = J(p) ? p : r, h = o ? [
|
|
462
|
+
...te(v(p, t)),
|
|
463
|
+
...n ? ie(t, n, p, t.getSymbolsInScope(n, e.SymbolFlags.Variable)) : [],
|
|
464
|
+
...pe(t, i, a, p),
|
|
465
|
+
...be(t, i, a, m)
|
|
466
|
+
] : [], g = o ? T(h) : {};
|
|
426
467
|
if (u) {
|
|
427
|
-
let e =
|
|
468
|
+
let e = Me(t, u);
|
|
428
469
|
if (e) return {
|
|
429
470
|
input: e,
|
|
430
471
|
type: f,
|
|
431
|
-
...
|
|
472
|
+
...g
|
|
432
473
|
};
|
|
433
474
|
}
|
|
434
475
|
if (r.isUnion()) {
|
|
435
476
|
let s = r.types.filter((t) => (t.flags & (e.TypeFlags.Undefined | e.TypeFlags.Null)) === 0);
|
|
436
477
|
if (s.length === 1) return {
|
|
437
|
-
...
|
|
478
|
+
...M(t, n, s[0], i, a, o, void 0, c, l),
|
|
438
479
|
type: f,
|
|
439
|
-
...
|
|
480
|
+
...g
|
|
440
481
|
};
|
|
441
482
|
}
|
|
442
|
-
let
|
|
443
|
-
if (
|
|
444
|
-
input:
|
|
483
|
+
let _ = B(r);
|
|
484
|
+
if (_) return {
|
|
485
|
+
input: _,
|
|
445
486
|
type: f,
|
|
446
|
-
...
|
|
487
|
+
...g
|
|
447
488
|
};
|
|
448
489
|
if (V(t, r)) return {
|
|
449
490
|
input: "file",
|
|
450
491
|
type: f,
|
|
451
492
|
mimetype: H(t, r),
|
|
452
|
-
...
|
|
493
|
+
...g
|
|
453
494
|
};
|
|
454
|
-
if (
|
|
495
|
+
if (Pe(t, r)) return {
|
|
455
496
|
input: "color",
|
|
456
497
|
type: f,
|
|
457
|
-
...
|
|
498
|
+
...g
|
|
458
499
|
};
|
|
459
500
|
if (U(r)) return {
|
|
460
501
|
input: "boolean",
|
|
461
502
|
type: f,
|
|
462
|
-
...
|
|
503
|
+
...g
|
|
463
504
|
};
|
|
464
|
-
if (
|
|
505
|
+
if (q(r)) return {
|
|
465
506
|
input: "select",
|
|
466
507
|
type: f,
|
|
467
|
-
...
|
|
508
|
+
...g
|
|
468
509
|
};
|
|
469
510
|
if (W(r)) return {
|
|
470
511
|
input: "number",
|
|
471
512
|
type: f,
|
|
472
|
-
...
|
|
513
|
+
...g
|
|
473
514
|
};
|
|
474
515
|
if (G(r)) return {
|
|
475
516
|
input: "text",
|
|
476
517
|
type: f,
|
|
477
|
-
...
|
|
518
|
+
...g
|
|
478
519
|
};
|
|
479
|
-
if (
|
|
520
|
+
if (J(r)) return {
|
|
480
521
|
input: "sub-flow",
|
|
481
522
|
type: f,
|
|
482
|
-
...
|
|
523
|
+
...g
|
|
483
524
|
};
|
|
484
|
-
if (
|
|
525
|
+
if (Re(t, r)) {
|
|
485
526
|
let e = t.getTypeArguments(r);
|
|
486
527
|
if (e.length === 1 && V(t, e[0])) return {
|
|
487
528
|
input: "list-file",
|
|
488
529
|
type: f,
|
|
489
530
|
mimetype: H(t, e[0]),
|
|
490
|
-
...
|
|
531
|
+
...g
|
|
491
532
|
};
|
|
492
|
-
let s = e.flatMap((e) =>
|
|
493
|
-
|
|
533
|
+
let s = e.flatMap((e) => {
|
|
534
|
+
let r = e.isUnion() ? e.types : [e], s = r.length > 1 ? e : void 0;
|
|
535
|
+
return r.map((e) => M(t, n, e, i, a, o, s, c, l));
|
|
536
|
+
}), u = o ? { declaredItems: s } : {};
|
|
537
|
+
if (e.length === 1 && q(e[0])) return {
|
|
494
538
|
input: "list-select",
|
|
495
539
|
type: f,
|
|
496
540
|
items: s,
|
|
497
|
-
...
|
|
541
|
+
...u,
|
|
542
|
+
...g
|
|
498
543
|
};
|
|
499
544
|
if (e.length === 1) {
|
|
500
545
|
let t = e[0];
|
|
@@ -502,91 +547,101 @@ var _ = (t) => {
|
|
|
502
547
|
input: "list-boolean",
|
|
503
548
|
type: f,
|
|
504
549
|
items: s,
|
|
505
|
-
...
|
|
550
|
+
...u,
|
|
551
|
+
...g
|
|
506
552
|
};
|
|
507
553
|
if (W(t)) return {
|
|
508
554
|
input: "list-number",
|
|
509
555
|
type: f,
|
|
510
556
|
items: s,
|
|
511
|
-
...
|
|
557
|
+
...u,
|
|
558
|
+
...g
|
|
512
559
|
};
|
|
513
560
|
if (G(t)) return {
|
|
514
561
|
input: "list-text",
|
|
515
562
|
type: f,
|
|
516
563
|
items: s,
|
|
517
|
-
...
|
|
564
|
+
...u,
|
|
565
|
+
...g
|
|
518
566
|
};
|
|
519
|
-
if (
|
|
567
|
+
if (J(t)) return {
|
|
520
568
|
input: "list-sub-flow",
|
|
521
569
|
type: f,
|
|
522
570
|
items: s,
|
|
523
|
-
...
|
|
571
|
+
...u,
|
|
572
|
+
...g
|
|
524
573
|
};
|
|
525
574
|
}
|
|
526
575
|
return {
|
|
527
576
|
input: "list",
|
|
528
577
|
type: f,
|
|
529
578
|
items: s,
|
|
530
|
-
...
|
|
579
|
+
...u,
|
|
580
|
+
...g
|
|
531
581
|
};
|
|
532
582
|
}
|
|
533
583
|
if ((r.flags & e.TypeFlags.Object) !== 0) {
|
|
534
|
-
if (c.has(r) || c.size >=
|
|
584
|
+
if (c.has(r) || c.size >= Te && de(r, t, l)) return {
|
|
535
585
|
input: "data",
|
|
536
586
|
type: f,
|
|
537
|
-
...
|
|
587
|
+
...g
|
|
538
588
|
};
|
|
539
589
|
c.add(r);
|
|
540
590
|
let s = {}, d = [];
|
|
541
591
|
for (let f of t.getPropertiesOfType(r)) {
|
|
542
592
|
let r = f.valueDeclaration ?? f.declarations?.[0];
|
|
543
593
|
if (!r) continue;
|
|
544
|
-
let p = t.getTypeOfSymbolAtLocation(f, r), m = (f.flags & e.SymbolFlags.Optional) !== 0 || p.isUnion() && p.types.some((t) => (t.flags & (e.TypeFlags.Undefined | e.TypeFlags.Null)) !== 0), h =
|
|
545
|
-
s[f.name] =
|
|
594
|
+
let p = t.getTypeOfSymbolAtLocation(f, r), m = (f.flags & e.SymbolFlags.Optional) !== 0 || p.isUnion() && p.types.some((t) => (t.flags & (e.TypeFlags.Undefined | e.TypeFlags.Null)) !== 0), h = t.getNonNullableType(p), g = h.isUnion() && !q(h) && !U(h) ? h.types : [h], _ = u ? Ne(t, u, f.name) : void 0, v = g.map((e) => M(t, n, e, i, a, o, void 0, c, l, _));
|
|
595
|
+
s[f.name] = v.length === 1 ? v[0] : v, m || d.push(f.name);
|
|
546
596
|
}
|
|
547
597
|
return c.delete(r), {
|
|
548
598
|
input: "data",
|
|
549
599
|
type: f,
|
|
550
600
|
properties: s,
|
|
551
601
|
required: d,
|
|
552
|
-
...
|
|
602
|
+
...g
|
|
553
603
|
};
|
|
554
604
|
}
|
|
555
605
|
return {
|
|
556
606
|
input: "generic",
|
|
557
607
|
type: f,
|
|
558
|
-
...
|
|
608
|
+
...g
|
|
559
609
|
};
|
|
560
|
-
},
|
|
610
|
+
}, N = /* @__PURE__ */ new Set([
|
|
561
611
|
"list",
|
|
562
612
|
"list-select",
|
|
563
613
|
"list-boolean",
|
|
564
614
|
"list-number",
|
|
565
615
|
"list-text",
|
|
566
616
|
"list-sub-flow"
|
|
567
|
-
]),
|
|
617
|
+
]), Ee = /* @__PURE__ */ new Set([
|
|
568
618
|
"list-select",
|
|
569
619
|
"list-boolean",
|
|
570
620
|
"list-number",
|
|
571
621
|
"list-text",
|
|
572
622
|
"list-sub-flow",
|
|
573
623
|
"list-file"
|
|
574
|
-
]),
|
|
624
|
+
]), P = (e) => {
|
|
575
625
|
let t = e, n = e.items;
|
|
576
626
|
n && (t = {
|
|
577
627
|
...t,
|
|
578
|
-
items: n.map(
|
|
628
|
+
items: n.map(P)
|
|
629
|
+
});
|
|
630
|
+
let r = e.declaredItems;
|
|
631
|
+
r && (t = {
|
|
632
|
+
...t,
|
|
633
|
+
declaredItems: r.map(P)
|
|
579
634
|
});
|
|
580
|
-
let
|
|
581
|
-
if (
|
|
635
|
+
let i = e.properties;
|
|
636
|
+
if (i) {
|
|
582
637
|
let e = {};
|
|
583
|
-
for (let [t, n] of Object.entries(
|
|
638
|
+
for (let [t, n] of Object.entries(i)) e[t] = Array.isArray(n) ? n.map(P) : P(n);
|
|
584
639
|
t = {
|
|
585
640
|
...t,
|
|
586
641
|
properties: e
|
|
587
642
|
};
|
|
588
643
|
}
|
|
589
|
-
if (
|
|
644
|
+
if (Ee.has(t.input)) {
|
|
590
645
|
let { mimetype: e, ...n } = t;
|
|
591
646
|
t = {
|
|
592
647
|
...n,
|
|
@@ -594,106 +649,129 @@ var _ = (t) => {
|
|
|
594
649
|
};
|
|
595
650
|
}
|
|
596
651
|
if (t.suggestions && t.suggestions.length === 0) {
|
|
597
|
-
let { suggestions: e,
|
|
598
|
-
t =
|
|
652
|
+
let { suggestions: e, suggestionCertainty: n, ...r } = t;
|
|
653
|
+
t = r;
|
|
599
654
|
}
|
|
600
655
|
return t;
|
|
601
|
-
},
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
656
|
+
}, De = (t) => {
|
|
657
|
+
if (!t.isUnion()) return t;
|
|
658
|
+
let n = t.types.filter((t) => (t.flags & (e.TypeFlags.Undefined | e.TypeFlags.Null)) === 0);
|
|
659
|
+
return n.length === 1 ? n[0] : t;
|
|
660
|
+
}, F = (e, t) => {
|
|
661
|
+
if (t && t.length > 0) return {
|
|
662
|
+
...e,
|
|
663
|
+
...re(t)
|
|
664
|
+
};
|
|
665
|
+
if (e.suggestions === void 0) return e;
|
|
666
|
+
let { suggestions: n, suggestionCertainty: r, ...i } = e;
|
|
667
|
+
return i;
|
|
668
|
+
}, I = (e, t = void 0) => {
|
|
669
|
+
let n = e, r = n.items;
|
|
670
|
+
r && (n = {
|
|
671
|
+
...n,
|
|
672
|
+
items: r.map((e) => I(e, t))
|
|
606
673
|
});
|
|
607
|
-
let
|
|
674
|
+
let i = n.declaredItems;
|
|
675
|
+
i && (n = {
|
|
676
|
+
...n,
|
|
677
|
+
declaredItems: i.map((e) => I(e, t))
|
|
678
|
+
});
|
|
679
|
+
let a = n.properties;
|
|
608
680
|
if (a) {
|
|
609
681
|
let e = {};
|
|
610
|
-
for (let [n, r] of Object.entries(a)) e[n] = Array.isArray(r) ? r.map((e) =>
|
|
611
|
-
|
|
612
|
-
...
|
|
682
|
+
for (let [n, r] of Object.entries(a)) e[n] = Array.isArray(r) ? r.map((e) => I(e, t)) : I(r, t);
|
|
683
|
+
n = {
|
|
684
|
+
...n,
|
|
613
685
|
properties: e
|
|
614
686
|
};
|
|
615
687
|
}
|
|
616
|
-
|
|
617
|
-
|
|
688
|
+
return n.input === "generic" ? F(n, t) : F(n, w(n));
|
|
689
|
+
}, L = (e, t = void 0) => e && e.length > 0 ? e.map((e) => I(e, t)) : [F({ input: "generic" }, t)], R = (e, t = void 0, n = !0) => {
|
|
690
|
+
let r = je(e), i = r.items;
|
|
691
|
+
i && (r = {
|
|
692
|
+
...r,
|
|
693
|
+
items: i.map((e) => R(e, t))
|
|
694
|
+
});
|
|
695
|
+
let a = r.declaredItems;
|
|
696
|
+
a && (r = {
|
|
697
|
+
...r,
|
|
698
|
+
declaredItems: a.map((e) => R(e, t))
|
|
699
|
+
});
|
|
700
|
+
let o = r.properties;
|
|
701
|
+
if (o) {
|
|
702
|
+
let e = {};
|
|
703
|
+
for (let [n, r] of Object.entries(o)) e[n] = Array.isArray(r) ? r.map((e) => R(e, t)) : R(r, t);
|
|
704
|
+
r = {
|
|
618
705
|
...r,
|
|
619
|
-
|
|
706
|
+
properties: e
|
|
620
707
|
};
|
|
621
|
-
else if (r.suggestions) {
|
|
622
|
-
let { suggestions: e, ...t } = r;
|
|
623
|
-
r = t;
|
|
624
|
-
}
|
|
625
708
|
}
|
|
626
|
-
return r;
|
|
627
|
-
},
|
|
628
|
-
if (!e || e.input === "generic") return
|
|
629
|
-
let a =
|
|
709
|
+
return n && (r = F(r, t)), r;
|
|
710
|
+
}, z = (e, t, n = !1, r = void 0, i = !0) => {
|
|
711
|
+
if (!e || e.input === "generic") return Ae(R(t, r, !i), n);
|
|
712
|
+
let a = ke(w(i || e.suggestions === void 0 ? t : e));
|
|
630
713
|
if (e.input === "data") {
|
|
631
714
|
let n = e.properties ?? {}, i = t.input === "data" ? t.properties ?? {} : {}, o = {}, s = /* @__PURE__ */ new Set([...Object.keys(n), ...Object.keys(i)]);
|
|
632
|
-
for (let e of s) o[e] =
|
|
633
|
-
return {
|
|
715
|
+
for (let e of s) o[e] = Oe(n[e], i[e], r);
|
|
716
|
+
return F({
|
|
634
717
|
...e,
|
|
635
|
-
properties: o
|
|
636
|
-
|
|
637
|
-
};
|
|
718
|
+
properties: o
|
|
719
|
+
}, a);
|
|
638
720
|
}
|
|
639
|
-
if (
|
|
640
|
-
let n = e.items ?? [], i =
|
|
641
|
-
return {
|
|
721
|
+
if (N.has(e.input)) {
|
|
722
|
+
let n = e.items ?? [], i = N.has(t.input) ? t.items ?? [] : [], o = n.length > 0 && n.every((e) => e.input === "generic") && i.length > 0 ? i.map((e) => R(e, r)) : n.length === i.length && n.length > 0 ? n.map((e, t) => z(e, i[t], !1, r, !1)) : L(n, r);
|
|
723
|
+
return F({
|
|
642
724
|
...e,
|
|
643
725
|
items: o,
|
|
644
|
-
|
|
645
|
-
};
|
|
726
|
+
declaredItems: L(n, r)
|
|
727
|
+
}, a);
|
|
646
728
|
}
|
|
647
|
-
return j(e.input) ? {
|
|
729
|
+
return j(e.input) ? F({
|
|
648
730
|
...e,
|
|
649
|
-
...t.type === void 0 ? {} : { type: t.type }
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
let t = JSON.stringify(e);
|
|
661
|
-
r.has(t) || (r.add(t), i.push(e));
|
|
731
|
+
...t.type === void 0 ? {} : { type: t.type }
|
|
732
|
+
}, a) : F({ ...e }, a);
|
|
733
|
+
}, Oe = (e, t, n = void 0) => e === void 0 && t !== void 0 ? Array.isArray(t) ? t.map((e) => R(e, n)) : R(t, n) : e && !Array.isArray(e) && t && !Array.isArray(t) ? z(e, t, !1, n, !1) : Array.isArray(e) && Array.isArray(t) && e.length === t.length ? e.map((e, r) => z(e, t[r], !1, n, !1)) : Array.isArray(e) ? e.map((e) => I(e, n)) : I(e, n), ke = (e) => {
|
|
734
|
+
if (!e || e.length === 0) return;
|
|
735
|
+
let t = /* @__PURE__ */ new Map();
|
|
736
|
+
for (let n of e) {
|
|
737
|
+
let e = JSON.stringify(n.value), r = t.get(e);
|
|
738
|
+
t.set(e, r ? {
|
|
739
|
+
...r,
|
|
740
|
+
certainty: ne(r.certainty, n.certainty)
|
|
741
|
+
} : n);
|
|
662
742
|
}
|
|
663
|
-
return
|
|
664
|
-
},
|
|
743
|
+
return [...t.values()];
|
|
744
|
+
}, Ae = (e, t) => !t || e.input !== "generic" ? e : F({
|
|
665
745
|
input: "data",
|
|
666
746
|
...e.type ? { type: e.type } : {},
|
|
667
747
|
properties: {},
|
|
668
|
-
required: []
|
|
669
|
-
|
|
670
|
-
}, _e = (e) => {
|
|
748
|
+
required: []
|
|
749
|
+
}, w(e)), je = (e) => {
|
|
671
750
|
if (e.input !== "select") return e;
|
|
672
|
-
let t = e
|
|
751
|
+
let t = w(e), n = /* @__PURE__ */ new Set();
|
|
673
752
|
for (let e of t) {
|
|
674
|
-
let t = typeof e.value;
|
|
753
|
+
let t = typeof e.value.value;
|
|
675
754
|
(t === "string" || t === "number" || t === "boolean") && n.add(t);
|
|
676
755
|
}
|
|
677
|
-
return {
|
|
756
|
+
return F({
|
|
678
757
|
input: n.size === 1 ? {
|
|
679
758
|
string: "text",
|
|
680
759
|
number: "number",
|
|
681
760
|
boolean: "boolean"
|
|
682
761
|
}[[...n][0]] : "text",
|
|
683
|
-
...e.type ? { type: e.type } : {}
|
|
684
|
-
|
|
685
|
-
};
|
|
762
|
+
...e.type ? { type: e.type } : {}
|
|
763
|
+
}, t);
|
|
686
764
|
};
|
|
687
765
|
function B(e) {
|
|
688
766
|
let t = e.aliasSymbol?.getName();
|
|
689
767
|
return A(t) ? k[t] : void 0;
|
|
690
768
|
}
|
|
691
|
-
function
|
|
769
|
+
function Me(t, n) {
|
|
692
770
|
if ((n.flags & e.TypeFlags.TypeParameter) === 0) return;
|
|
693
771
|
let r = n.symbol?.declarations?.[0];
|
|
694
772
|
if (r && e.isTypeParameterDeclaration(r) && r.constraint) return B(t.getTypeFromTypeNode(r.constraint));
|
|
695
773
|
}
|
|
696
|
-
function
|
|
774
|
+
function Ne(e, t, n) {
|
|
697
775
|
let r = e.getPropertyOfType(t, n), i = r?.valueDeclaration ?? r?.declarations?.[0];
|
|
698
776
|
return i ? e.getTypeOfSymbolAtLocation(r, i) : void 0;
|
|
699
777
|
}
|
|
@@ -708,7 +786,7 @@ function V(t, n) {
|
|
|
708
786
|
let s = t.getTypeOfSymbolAtLocation(a, o);
|
|
709
787
|
return s.isStringLiteral() && s.value === "base64";
|
|
710
788
|
}
|
|
711
|
-
function
|
|
789
|
+
function Pe(t, n) {
|
|
712
790
|
if (n.aliasSymbol?.getName() !== "COLOR" || (n.flags & e.TypeFlags.Object) === 0) return !1;
|
|
713
791
|
let r = new Map(t.getPropertiesOfType(n).map((e) => [e.name, e]));
|
|
714
792
|
return [
|
|
@@ -744,40 +822,46 @@ function W(t) {
|
|
|
744
822
|
function G(t) {
|
|
745
823
|
return (t.flags & e.TypeFlags.String) !== 0 || (t.flags & e.TypeFlags.StringLiteral) !== 0;
|
|
746
824
|
}
|
|
747
|
-
function
|
|
825
|
+
function Fe(e) {
|
|
748
826
|
return G(e) || W(e) || U(e);
|
|
749
827
|
}
|
|
750
|
-
function
|
|
828
|
+
function K(t) {
|
|
751
829
|
return (t.flags & e.TypeFlags.StringLiteral) !== 0 || (t.flags & e.TypeFlags.NumberLiteral) !== 0;
|
|
752
830
|
}
|
|
753
|
-
function
|
|
754
|
-
return U(e) ? !1 :
|
|
831
|
+
function q(e) {
|
|
832
|
+
return U(e) ? !1 : Le(e) || K(e);
|
|
755
833
|
}
|
|
756
|
-
function
|
|
834
|
+
function Ie(t) {
|
|
757
835
|
if (!t.isUnion()) return !1;
|
|
836
|
+
if (U(t)) return !0;
|
|
758
837
|
let n = t.types.filter((t) => (t.flags & (e.TypeFlags.Undefined | e.TypeFlags.Null)) === 0);
|
|
759
|
-
return n.length > 0 && n.every(
|
|
838
|
+
return n.length > 0 && n.every(K);
|
|
760
839
|
}
|
|
761
|
-
function
|
|
840
|
+
function Le(t) {
|
|
841
|
+
if (!t.isUnion()) return !1;
|
|
842
|
+
let n = t.types.filter((t) => (t.flags & (e.TypeFlags.Undefined | e.TypeFlags.Null)) === 0);
|
|
843
|
+
return n.length > 0 && n.every(Fe);
|
|
844
|
+
}
|
|
845
|
+
function Re(e, t) {
|
|
762
846
|
return e.isArrayType(t) || e.isTupleType(t);
|
|
763
847
|
}
|
|
764
|
-
function
|
|
848
|
+
function J(e) {
|
|
765
849
|
return e.getCallSignatures().length > 0;
|
|
766
850
|
}
|
|
767
851
|
//#endregion
|
|
768
852
|
//#region src/utils.ts
|
|
769
|
-
var
|
|
770
|
-
function
|
|
853
|
+
var ze = "\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";
|
|
854
|
+
function Be(t, n) {
|
|
771
855
|
let r = /* @__PURE__ */ new Map();
|
|
772
|
-
return r.set(t, n), r.set("lib.codezero.d.ts",
|
|
856
|
+
return r.set(t, n), r.set("lib.codezero.d.ts", ze), a(u(r), [t, "lib.codezero.d.ts"], e, Ve);
|
|
773
857
|
}
|
|
774
|
-
var
|
|
858
|
+
var Ve = {
|
|
775
859
|
target: e.ScriptTarget.Latest,
|
|
776
860
|
lib: ["lib.codezero.d.ts"],
|
|
777
861
|
noEmit: !0,
|
|
778
862
|
strictNullChecks: !0
|
|
779
863
|
};
|
|
780
|
-
function
|
|
864
|
+
function He(e) {
|
|
781
865
|
let t = [], n = 0, r = null, i = "";
|
|
782
866
|
for (let a of e) {
|
|
783
867
|
if (r) a === r && (r = null);
|
|
@@ -792,20 +876,20 @@ function De(e) {
|
|
|
792
876
|
}
|
|
793
877
|
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);
|
|
794
878
|
}
|
|
795
|
-
var
|
|
879
|
+
var Ue = /* @__PURE__ */ new Set([
|
|
796
880
|
"number",
|
|
797
881
|
"string",
|
|
798
882
|
"boolean"
|
|
799
883
|
]);
|
|
800
884
|
function Y(e, t = "any", n = !0) {
|
|
801
|
-
let r = Array.from(new Set(e?.flatMap((e) => e.genericKeys || []).flatMap(
|
|
802
|
-
let t = A(e.identifier), n = (e.genericKeys?.length ?? 0) > 0 ? t ? `<${e.genericKeys.map((e) => e.includes("=") ? e : `${e} = any`).join(", ")}>` : `<${e.genericKeys?.join(",")}>` : "", r = e.type?.trim() ?? "", i = t ?
|
|
885
|
+
let r = Array.from(new Set(e?.flatMap((e) => e.genericKeys || []).flatMap(He))).map((e) => `type ${e} = ${t};`).join("\n"), i = e?.map((e) => {
|
|
886
|
+
let t = A(e.identifier), n = (e.genericKeys?.length ?? 0) > 0 ? t ? `<${e.genericKeys.map((e) => e.includes("=") ? e : `${e} = any`).join(", ")}>` : `<${e.genericKeys?.join(",")}>` : "", r = e.type?.trim() ?? "", i = t ? Ue.has(r) ? `${e.type} & {}` : "{}" : e.type;
|
|
803
887
|
return `type ${e.identifier}${n} = ${i};`;
|
|
804
888
|
}).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") ?? "";
|
|
805
889
|
return `${n ? r : ""}\n${i}\n${a}`;
|
|
806
890
|
}
|
|
807
|
-
var
|
|
808
|
-
if (!
|
|
891
|
+
var We = /^[A-Za-z0-9_$<>\[\]{}(),.:?|&+\-'"\s]+$/, Ge = (e) => {
|
|
892
|
+
if (!We.test(e)) return !1;
|
|
809
893
|
let t = {
|
|
810
894
|
"<": ">",
|
|
811
895
|
"[": "]",
|
|
@@ -824,8 +908,8 @@ var ke = /^[A-Za-z0-9_$<>\[\]{}(),.:?|&+\-'"\s]+$/, Ae = (e) => {
|
|
|
824
908
|
return r === null && n.length === 0;
|
|
825
909
|
}, X = (e, t) => {
|
|
826
910
|
let n = t?.trim();
|
|
827
|
-
return !n || !
|
|
828
|
-
}, Z = (e) => e?.replace(/[^a-zA-Z0-9]/g, "_"), Q = (e) => e.replace(/\\/g, "\\\\").replace(/`/g, "\\`").replace(/\$\{/g, "\\${"),
|
|
911
|
+
return !n || !Ge(n) ? e : `(${e}) as unknown as ${n}`;
|
|
912
|
+
}, Z = (e) => e?.replace(/[^a-zA-Z0-9]/g, "_"), Q = (e) => e.replace(/\\/g, "\\\\").replace(/`/g, "\\`").replace(/\$\{/g, "\\${"), Ke = (e, t) => {
|
|
829
913
|
let n = e.match(/^\$\{([^}]+)\}$/);
|
|
830
914
|
if (n && t.has(n[1])) return t.get(n[1]);
|
|
831
915
|
let r = /\$\{([^}]+)\}/g, i = !1;
|
|
@@ -840,8 +924,8 @@ var ke = /^[A-Za-z0-9_$<>\[\]{}(),.:?|&+\-'"\s]+$/, Ae = (e) => {
|
|
|
840
924
|
a += Q(e.slice(o, s)), a += t.has(i) ? "${" + t.get(i) + "}" : Q(r), o = s + r.length;
|
|
841
925
|
}
|
|
842
926
|
return a += Q(e.slice(o)), "`" + a + "`";
|
|
843
|
-
}, $ = (e, t) => typeof e == "string" ?
|
|
844
|
-
function
|
|
927
|
+
}, $ = (e, t) => typeof e == "string" ? Ke(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";
|
|
928
|
+
function qe(e, t, n, r = !1, i = !0) {
|
|
845
929
|
let a = e?.nodes?.nodes || [], o = new Map(t?.map((e) => [e.identifier, e])), s = /* @__PURE__ */ new Set(), c = (t) => {
|
|
846
930
|
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")}`;
|
|
847
931
|
return t.referencePath?.forEach((e) => {
|
|
@@ -904,4 +988,4 @@ function Me(e, t, n, r = !1, i = !0) {
|
|
|
904
988
|
`;
|
|
905
989
|
}
|
|
906
990
|
//#endregion
|
|
907
|
-
export { k as a,
|
|
991
|
+
export { F as _, k as a, R as c, j as d, Ie as f, P as g, De as h, Z as i, M as l, z as m, qe as n, L as o, J as p, Y as r, I as s, Be as t, A as u, w as v, h as y };
|