@code0-tech/triangulum 0.32.0 → 0.34.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 +4 -4
- package/dist/index.js +150 -96
- package/dist/server.cjs +1 -1
- package/dist/server.js +1 -1
- package/dist/util/schema.util.d.ts +35 -1
- package/dist/{utils-Cn-uViWS.js → utils-BZOsWQq3.js} +230 -149
- package/dist/utils-DawLGwwh.cjs +45 -0
- package/package.json +3 -3
- package/dist/utils-Cezd6toj.cjs +0 -45
|
@@ -278,28 +278,28 @@ var _ = (t) => {
|
|
|
278
278
|
value: !1,
|
|
279
279
|
__typename: "LiteralValue"
|
|
280
280
|
}] : [];
|
|
281
|
-
},
|
|
281
|
+
}, ee = (e, t, n, r) => r.flatMap((r) => {
|
|
282
282
|
let i = r.getName();
|
|
283
|
-
if (!
|
|
283
|
+
if (!y(i)) return [];
|
|
284
284
|
let a = r.getDeclarations()?.[0];
|
|
285
285
|
if (!a || a.getEnd() >= t.getEnd()) return [];
|
|
286
286
|
let o = e.getTypeOfSymbolAtLocation(r, t);
|
|
287
|
-
return i.startsWith("node_") ?
|
|
288
|
-
}),
|
|
287
|
+
return i.startsWith("node_") ? b(i, o, e, n) : i.startsWith("p_") ? x(i, o, e, n) : i.startsWith("flow_") ? te(o, e, n) : [];
|
|
288
|
+
}), y = (e) => e.startsWith("node_") || e.startsWith("p_") || e.startsWith("flow_"), b = (t, n, r, i) => {
|
|
289
289
|
if ((n.flags & e.TypeFlags.Void) !== 0) return [];
|
|
290
|
-
let a =
|
|
291
|
-
return
|
|
290
|
+
let a = S(t.replace("node_", ""));
|
|
291
|
+
return O(n, r, i).flatMap(({ path: e }) => {
|
|
292
292
|
let t = {
|
|
293
293
|
__typename: "ReferenceValue",
|
|
294
294
|
nodeFunctionId: a
|
|
295
295
|
};
|
|
296
296
|
return e.length > 0 && (t.referencePath = e), t;
|
|
297
297
|
});
|
|
298
|
-
},
|
|
299
|
-
let { nodeFunctionId: i, paramIndexFromName: a } =
|
|
298
|
+
}, x = (e, t, n, r) => {
|
|
299
|
+
let { nodeFunctionId: i, paramIndexFromName: a } = C(e);
|
|
300
300
|
if (!n.isTupleType(t)) return [];
|
|
301
301
|
let o = t;
|
|
302
|
-
return n.getTypeArguments(o).flatMap((e, t) =>
|
|
302
|
+
return n.getTypeArguments(o).flatMap((e, t) => O(e, n, r).flatMap(({ path: e }) => {
|
|
303
303
|
let n = {
|
|
304
304
|
__typename: "ReferenceValue",
|
|
305
305
|
nodeFunctionId: i,
|
|
@@ -309,23 +309,23 @@ var _ = (t) => {
|
|
|
309
309
|
};
|
|
310
310
|
return e.length > 0 && (n.referencePath = e), n;
|
|
311
311
|
}));
|
|
312
|
-
},
|
|
312
|
+
}, te = (e, t, n) => O(e, t, n).flatMap(({ path: e }) => {
|
|
313
313
|
let t = {
|
|
314
314
|
__typename: "ReferenceValue",
|
|
315
315
|
nodeFunctionId: null
|
|
316
316
|
};
|
|
317
317
|
return e.length > 0 && (t.referencePath = e), t;
|
|
318
|
-
}),
|
|
318
|
+
}), S = (e) => e.replace(/___/g, "://").replace(/__/g, "/").replace(/_/g, "/"), C = (e) => {
|
|
319
319
|
let t = e.replace("p_", ""), n = t.lastIndexOf("_"), r = t.substring(0, n), i = parseInt(t.substring(n + 1), 10);
|
|
320
320
|
return {
|
|
321
|
-
nodeFunctionId:
|
|
321
|
+
nodeFunctionId: S(r),
|
|
322
322
|
paramIndexFromName: i
|
|
323
323
|
};
|
|
324
|
-
},
|
|
324
|
+
}, w = 7, T = (e, t, n) => {
|
|
325
325
|
let r = n.get(e);
|
|
326
326
|
if (r !== void 0) return r;
|
|
327
327
|
let i = /* @__PURE__ */ new Set(), a = (n) => {
|
|
328
|
-
if (i.has(n) || !
|
|
328
|
+
if (i.has(n) || !k(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,31 @@ var _ = (t) => {
|
|
|
335
335
|
return !1;
|
|
336
336
|
}, o = a(e);
|
|
337
337
|
return n.set(e, o), o;
|
|
338
|
-
},
|
|
338
|
+
}, E = (t, n, r) => t.isUnion() ? t.types.some((e) => E(n.getNonNullableType(e), n, r)) : (t.flags & e.TypeFlags.Never) === 0 && n.isTypeAssignableTo(t, r), D = (e, t) => e.isUnion() ? e.types.map((e) => t.getNonNullableType(e)).filter(k) : k(e) ? [e] : [], O = (e, t, n, r = [], i = /* @__PURE__ */ new Set(), a = /* @__PURE__ */ new Map()) => {
|
|
339
339
|
let o = [], s = t.getNonNullableType(e);
|
|
340
|
-
return
|
|
340
|
+
return E(s, t, n) && o.push({
|
|
341
341
|
path: r,
|
|
342
342
|
type: e
|
|
343
|
-
}),
|
|
344
|
-
if (i.has(e) || r.length >=
|
|
343
|
+
}), D(s, t).forEach((e) => {
|
|
344
|
+
if (i.has(e) || r.length >= w && T(e, t, a)) return;
|
|
345
345
|
let s = e.getProperties();
|
|
346
346
|
s && s.length > 0 && (i.add(e), s.forEach((e) => {
|
|
347
347
|
let s = t.getTypeOfSymbolAtLocation(e, e.valueDeclaration), c = e.getName(), l = [...r, { path: c }];
|
|
348
|
-
o.push(...
|
|
348
|
+
o.push(...O(s, t, n, l, i, a));
|
|
349
349
|
}), i.delete(e));
|
|
350
350
|
}), o;
|
|
351
|
-
},
|
|
351
|
+
}, k = (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
|
+
}, ne = (e, t, n, r) => Y(r) ? [] : t.flatMap((t) => {
|
|
355
|
+
let i = re(e, t, n, r);
|
|
356
356
|
return i ? [i] : [];
|
|
357
|
-
}),
|
|
358
|
-
|
|
359
|
-
let a = t.getSignatureFromDeclaration(n), o = oe(t, t.getReturnTypeOfSignature(a)), s = t.getNonNullableType(o);
|
|
357
|
+
}), re = (t, n, r, i) => {
|
|
358
|
+
let a = t.getSignatureFromDeclaration(n), o = ie(t, t.getReturnTypeOfSignature(a)), s = t.getNonNullableType(o);
|
|
360
359
|
if ((s.flags & e.TypeFlags.Never) !== 0 || !t.isTypeAssignableTo(s, i)) return null;
|
|
361
|
-
let c =
|
|
362
|
-
return
|
|
363
|
-
},
|
|
360
|
+
let c = ae(n.name?.getText());
|
|
361
|
+
return oe(r.find((e) => e.identifier === c));
|
|
362
|
+
}, ie = (e, t) => t.isTypeParameter() ? e.getBaseConstraintOfType(t) || e.getAnyType() : t, ae = (e) => e ? e.replace("fn_", "").replace("_", "::").replace("_", "::") : "", oe = (e) => {
|
|
364
363
|
let t = (e?.parameterDefinitions?.nodes?.length ?? 0) > 0, n = {
|
|
365
364
|
__typename: "NodeFunction",
|
|
366
365
|
id: "gid://sagittarius/NodeFunction/1",
|
|
@@ -373,11 +372,11 @@ var _ = (t) => {
|
|
|
373
372
|
displayIcon: e?.displayIcon
|
|
374
373
|
}
|
|
375
374
|
};
|
|
376
|
-
return t && (n.parameters =
|
|
377
|
-
},
|
|
375
|
+
return t && (n.parameters = se(e?.parameterDefinitions?.nodes || [])), n;
|
|
376
|
+
}, se = (e) => ({
|
|
378
377
|
__typename: "NodeParameterConnection",
|
|
379
|
-
nodes: e.map((e) =>
|
|
380
|
-
}),
|
|
378
|
+
nodes: e.map((e) => ce(e))
|
|
379
|
+
}), ce = (e) => ({
|
|
381
380
|
__typename: "NodeParameter",
|
|
382
381
|
parameterDefinition: {
|
|
383
382
|
__typename: "ParameterDefinition",
|
|
@@ -388,15 +387,15 @@ var _ = (t) => {
|
|
|
388
387
|
__typename: "LiteralValue",
|
|
389
388
|
value: e.defaultValue.value
|
|
390
389
|
} : null
|
|
391
|
-
}),
|
|
392
|
-
let i =
|
|
390
|
+
}), le = (e, t, n, r) => Y(r) ? t.flatMap((t) => {
|
|
391
|
+
let i = ue(e, t, n, r);
|
|
393
392
|
return i ? [i] : [];
|
|
394
|
-
}) : [],
|
|
393
|
+
}) : [], ue = (e, t, n, r) => {
|
|
395
394
|
let i = e.getTypeAtLocation(t);
|
|
396
395
|
if (!e.isTypeAssignableTo(i, r)) return null;
|
|
397
|
-
let a =
|
|
398
|
-
return o ?
|
|
399
|
-
},
|
|
396
|
+
let a = de(t.name?.getText()), o = n.find((e) => e.identifier === a);
|
|
397
|
+
return o ? fe(o) : null;
|
|
398
|
+
}, de = (e) => e ? e.replace("fn_", "").replace("_", "::").replace("_", "::") : "", fe = (e) => ({
|
|
400
399
|
__typename: "SubFlowValue",
|
|
401
400
|
functionDefinition: e,
|
|
402
401
|
signature: e.signature,
|
|
@@ -407,80 +406,80 @@ var _ = (t) => {
|
|
|
407
406
|
hidden: e?.hidden ?? !1,
|
|
408
407
|
optional: e?.optional ?? !1
|
|
409
408
|
}))
|
|
410
|
-
}),
|
|
409
|
+
}), A = { DATE: "date" }, j = (e) => e != null && e in A, M = 7, N = (t, n, r, i, a, o = !0, s, c = /* @__PURE__ */ new Set(), l = /* @__PURE__ */ new Map()) => {
|
|
411
410
|
if ((r.flags & e.TypeFlags.TypeParameter) !== 0) {
|
|
412
411
|
let u = r.symbol?.declarations?.[0];
|
|
413
|
-
if (u && e.isTypeParameterDeclaration(u) && u.constraint) return
|
|
412
|
+
if (u && e.isTypeParameterDeclaration(u) && u.constraint) return N(t, n, t.getTypeFromTypeNode(u.constraint), i, a, o, s, c, l);
|
|
414
413
|
}
|
|
415
|
-
let u = t.typeToString(
|
|
414
|
+
let u = t.typeToString(j(r.aliasSymbol?.getName()) && r.isIntersection() ? r.types.find((t) => (t.flags & e.TypeFlags.Object) === 0) ?? r : {
|
|
416
415
|
...r,
|
|
417
416
|
aliasSymbol: void 0
|
|
418
417
|
}), d = s ?? r, f = o ? { suggestions: [
|
|
419
418
|
...v(d, t),
|
|
420
|
-
...n ?
|
|
421
|
-
...
|
|
422
|
-
...
|
|
419
|
+
...n ? ee(t, n, d, t.getSymbolsInScope(n, e.SymbolFlags.Variable)) : [],
|
|
420
|
+
...ne(t, i, a, d),
|
|
421
|
+
...le(t, i, a, d)
|
|
423
422
|
] } : {};
|
|
424
423
|
if (r.isUnion()) {
|
|
425
|
-
let
|
|
426
|
-
if (
|
|
427
|
-
...
|
|
424
|
+
let s = r.types.filter((t) => (t.flags & (e.TypeFlags.Undefined | e.TypeFlags.Null)) === 0);
|
|
425
|
+
if (s.length === 1) return {
|
|
426
|
+
...N(t, n, s[0], i, a, o, void 0, c, l),
|
|
428
427
|
type: u,
|
|
429
428
|
...f
|
|
430
429
|
};
|
|
431
430
|
}
|
|
432
|
-
let p =
|
|
431
|
+
let p = me(r);
|
|
433
432
|
if (p) return {
|
|
434
433
|
input: p,
|
|
435
434
|
type: u,
|
|
436
435
|
...f
|
|
437
436
|
};
|
|
438
|
-
if (
|
|
437
|
+
if (H(t, r)) return {
|
|
439
438
|
input: "file",
|
|
440
439
|
type: u,
|
|
441
|
-
mimetype:
|
|
440
|
+
mimetype: U(t, r),
|
|
442
441
|
...f
|
|
443
442
|
};
|
|
444
|
-
if (
|
|
443
|
+
if (he(t, r)) return {
|
|
445
444
|
input: "color",
|
|
446
445
|
type: u,
|
|
447
446
|
...f
|
|
448
447
|
};
|
|
449
|
-
if (
|
|
448
|
+
if (W(r)) return {
|
|
450
449
|
input: "boolean",
|
|
451
450
|
type: u,
|
|
452
451
|
...f
|
|
453
452
|
};
|
|
454
|
-
if (
|
|
453
|
+
if (q(r)) return {
|
|
455
454
|
input: "select",
|
|
456
455
|
type: u,
|
|
457
456
|
...f
|
|
458
457
|
};
|
|
459
|
-
if (
|
|
458
|
+
if (G(r)) return {
|
|
460
459
|
input: "number",
|
|
461
460
|
type: u,
|
|
462
461
|
...f
|
|
463
462
|
};
|
|
464
|
-
if (
|
|
463
|
+
if (K(r)) return {
|
|
465
464
|
input: "text",
|
|
466
465
|
type: u,
|
|
467
466
|
...f
|
|
468
467
|
};
|
|
469
|
-
if (
|
|
468
|
+
if (Y(r)) return {
|
|
470
469
|
input: "sub-flow",
|
|
471
470
|
type: u,
|
|
472
471
|
...f
|
|
473
472
|
};
|
|
474
|
-
if (
|
|
473
|
+
if (J(t, r)) {
|
|
475
474
|
let e = t.getTypeArguments(r);
|
|
476
|
-
if (e.length === 1 &&
|
|
475
|
+
if (e.length === 1 && H(t, e[0])) return {
|
|
477
476
|
input: "list-file",
|
|
478
477
|
type: u,
|
|
479
|
-
mimetype:
|
|
478
|
+
mimetype: U(t, e[0]),
|
|
480
479
|
...f
|
|
481
480
|
};
|
|
482
|
-
let s = e.flatMap((e) => (e.isUnion() ? e.types : [e]).map((e) =>
|
|
483
|
-
if (e.length === 1 &&
|
|
481
|
+
let s = e.flatMap((e) => (e.isUnion() ? e.types : [e]).map((e) => N(t, n, e, i, a, o, void 0, c, l)));
|
|
482
|
+
if (e.length === 1 && q(e[0])) return {
|
|
484
483
|
input: "list-select",
|
|
485
484
|
type: u,
|
|
486
485
|
items: s,
|
|
@@ -488,25 +487,25 @@ var _ = (t) => {
|
|
|
488
487
|
};
|
|
489
488
|
if (e.length === 1) {
|
|
490
489
|
let t = e[0];
|
|
491
|
-
if (
|
|
490
|
+
if (W(t)) return {
|
|
492
491
|
input: "list-boolean",
|
|
493
492
|
type: u,
|
|
494
493
|
items: s,
|
|
495
494
|
...f
|
|
496
495
|
};
|
|
497
|
-
if (
|
|
496
|
+
if (G(t)) return {
|
|
498
497
|
input: "list-number",
|
|
499
498
|
type: u,
|
|
500
499
|
items: s,
|
|
501
500
|
...f
|
|
502
501
|
};
|
|
503
|
-
if (
|
|
502
|
+
if (K(t)) return {
|
|
504
503
|
input: "list-text",
|
|
505
504
|
type: u,
|
|
506
505
|
items: s,
|
|
507
506
|
...f
|
|
508
507
|
};
|
|
509
|
-
if (
|
|
508
|
+
if (Y(t)) return {
|
|
510
509
|
input: "list-sub-flow",
|
|
511
510
|
type: u,
|
|
512
511
|
items: s,
|
|
@@ -521,7 +520,7 @@ var _ = (t) => {
|
|
|
521
520
|
};
|
|
522
521
|
}
|
|
523
522
|
if ((r.flags & e.TypeFlags.Object) !== 0) {
|
|
524
|
-
if (c.has(r) || c.size >=
|
|
523
|
+
if (c.has(r) || c.size >= M && T(r, t, l)) return {
|
|
525
524
|
input: "data",
|
|
526
525
|
type: u,
|
|
527
526
|
...f
|
|
@@ -531,7 +530,7 @@ var _ = (t) => {
|
|
|
531
530
|
for (let u of t.getPropertiesOfType(r)) {
|
|
532
531
|
let r = u.valueDeclaration ?? u.declarations?.[0];
|
|
533
532
|
if (!r) continue;
|
|
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) =>
|
|
533
|
+
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) => N(t, n, e, i, a, o, void 0, c, l));
|
|
535
534
|
s[u.name] = m.length === 1 ? m[0] : m, p || d.push(u.name);
|
|
536
535
|
}
|
|
537
536
|
return c.delete(r), {
|
|
@@ -547,41 +546,98 @@ var _ = (t) => {
|
|
|
547
546
|
type: u,
|
|
548
547
|
...f
|
|
549
548
|
};
|
|
550
|
-
},
|
|
549
|
+
}, P = /* @__PURE__ */ new Set([
|
|
551
550
|
"list",
|
|
552
551
|
"list-select",
|
|
553
552
|
"list-boolean",
|
|
554
553
|
"list-number",
|
|
555
554
|
"list-text",
|
|
556
555
|
"list-sub-flow"
|
|
557
|
-
]),
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
556
|
+
]), F = /* @__PURE__ */ new Set([
|
|
557
|
+
"list-select",
|
|
558
|
+
"list-boolean",
|
|
559
|
+
"list-number",
|
|
560
|
+
"list-text",
|
|
561
|
+
"list-sub-flow",
|
|
562
|
+
"list-file"
|
|
563
|
+
]), I = (e) => {
|
|
564
|
+
let t = e, n = e.items;
|
|
565
|
+
n && (t = {
|
|
566
|
+
...t,
|
|
567
|
+
items: n.map(I)
|
|
568
|
+
});
|
|
569
|
+
let r = e.properties;
|
|
570
|
+
if (r) {
|
|
571
|
+
let e = {};
|
|
572
|
+
for (let [t, n] of Object.entries(r)) e[t] = Array.isArray(n) ? n.map(I) : I(n);
|
|
573
|
+
t = {
|
|
574
|
+
...t,
|
|
575
|
+
properties: e
|
|
576
|
+
};
|
|
577
|
+
}
|
|
578
|
+
if (F.has(t.input)) {
|
|
579
|
+
let { mimetype: e, ...n } = t;
|
|
580
|
+
t = {
|
|
581
|
+
...n,
|
|
582
|
+
input: "list"
|
|
583
|
+
};
|
|
584
|
+
}
|
|
585
|
+
if (t.suggestions && t.suggestions.length === 0) {
|
|
586
|
+
let { suggestions: e, ...n } = t;
|
|
587
|
+
t = n;
|
|
588
|
+
}
|
|
589
|
+
return t;
|
|
590
|
+
}, L = (e, t = void 0, n = !0) => {
|
|
591
|
+
let r = pe(e), i = r.items;
|
|
592
|
+
i && (r = {
|
|
593
|
+
...r,
|
|
594
|
+
items: i.map((e) => L(e, t))
|
|
595
|
+
});
|
|
596
|
+
let a = r.properties;
|
|
597
|
+
if (a) {
|
|
598
|
+
let e = {};
|
|
599
|
+
for (let [n, r] of Object.entries(a)) e[n] = Array.isArray(r) ? r.map((e) => L(e, t)) : L(r, t);
|
|
600
|
+
r = {
|
|
601
|
+
...r,
|
|
602
|
+
properties: e
|
|
603
|
+
};
|
|
604
|
+
}
|
|
605
|
+
if (n) {
|
|
606
|
+
if (t && t.length > 0) r = {
|
|
607
|
+
...r,
|
|
608
|
+
suggestions: t
|
|
609
|
+
};
|
|
610
|
+
else if (r.suggestions) {
|
|
611
|
+
let { suggestions: e, ...t } = r;
|
|
612
|
+
r = t;
|
|
565
613
|
}
|
|
614
|
+
}
|
|
615
|
+
return r;
|
|
616
|
+
}, R = (e, t, n = !1, r = void 0, i = !0) => {
|
|
617
|
+
if (!e || e.input === "generic") return V(L(t, r, !i), n);
|
|
618
|
+
let a = B(e.suggestions, t.suggestions);
|
|
619
|
+
if (e.input === "data") {
|
|
620
|
+
let n = e.properties ?? {}, i = t.input === "data" ? t.properties ?? {} : {}, o = {}, s = /* @__PURE__ */ new Set([...Object.keys(n), ...Object.keys(i)]);
|
|
621
|
+
for (let e of s) o[e] = z(n[e], i[e], r);
|
|
566
622
|
return {
|
|
567
623
|
...e,
|
|
568
|
-
properties:
|
|
569
|
-
...
|
|
624
|
+
properties: o,
|
|
625
|
+
...a ? { suggestions: a } : {}
|
|
570
626
|
};
|
|
571
627
|
}
|
|
572
|
-
if (
|
|
573
|
-
let n = e.items ?? [], i = t.input
|
|
628
|
+
if (P.has(e.input)) {
|
|
629
|
+
let n = e.items ?? [], i = P.has(t.input) ? t.items ?? [] : [], o = n.length > 0 && n.every((e) => e.input === "generic") && i.length > 0 ? i.map((e) => L(e, r)) : n.length === i.length && n.length > 0 ? n.map((e, t) => R(e, i[t], !1, r, !1)) : n;
|
|
574
630
|
return {
|
|
575
631
|
...e,
|
|
576
|
-
items:
|
|
577
|
-
...
|
|
632
|
+
items: o,
|
|
633
|
+
...a ? { suggestions: a } : {}
|
|
578
634
|
};
|
|
579
635
|
}
|
|
580
636
|
return {
|
|
581
637
|
...e,
|
|
582
|
-
...
|
|
638
|
+
...a ? { suggestions: a } : {}
|
|
583
639
|
};
|
|
584
|
-
}, z = (e, t) => e && !Array.isArray(e) && t && !Array.isArray(t) ? R(e, t) : e ?? t, B = (e, t) => {
|
|
640
|
+
}, z = (e, t, n = void 0) => e && !Array.isArray(e) && t && !Array.isArray(t) ? R(e, t, !1, n, !1) : e === void 0 && t !== void 0 ? Array.isArray(t) ? t.map((e) => L(e, n)) : L(t, n) : e ?? t, B = (e, t) => {
|
|
585
641
|
let n = [...e ?? [], ...t ?? []];
|
|
586
642
|
if (n.length === 0) return;
|
|
587
643
|
let r = /* @__PURE__ */ new Set(), i = [];
|
|
@@ -596,7 +652,7 @@ var _ = (t) => {
|
|
|
596
652
|
properties: {},
|
|
597
653
|
required: [],
|
|
598
654
|
...e.suggestions ? { suggestions: e.suggestions } : {}
|
|
599
|
-
},
|
|
655
|
+
}, pe = (e) => {
|
|
600
656
|
if (e.input !== "select") return e;
|
|
601
657
|
let t = e.suggestions ?? [], n = /* @__PURE__ */ new Set();
|
|
602
658
|
for (let e of t) {
|
|
@@ -613,11 +669,11 @@ var _ = (t) => {
|
|
|
613
669
|
...t.length > 0 ? { suggestions: t } : {}
|
|
614
670
|
};
|
|
615
671
|
};
|
|
616
|
-
function
|
|
672
|
+
function me(e) {
|
|
617
673
|
let t = e.aliasSymbol?.getName();
|
|
618
|
-
return
|
|
674
|
+
return j(t) ? A[t] : void 0;
|
|
619
675
|
}
|
|
620
|
-
function
|
|
676
|
+
function H(t, n) {
|
|
621
677
|
if (n.aliasSymbol?.getName() !== "FILE" || (n.flags & e.TypeFlags.Object) === 0) return !1;
|
|
622
678
|
let r = t.getPropertiesOfType(n);
|
|
623
679
|
if (r.length !== 4) return !1;
|
|
@@ -628,7 +684,7 @@ function W(t, n) {
|
|
|
628
684
|
let s = t.getTypeOfSymbolAtLocation(a, o);
|
|
629
685
|
return s.isStringLiteral() && s.value === "base64";
|
|
630
686
|
}
|
|
631
|
-
function
|
|
687
|
+
function he(t, n) {
|
|
632
688
|
if (n.aliasSymbol?.getName() !== "COLOR" || (n.flags & e.TypeFlags.Object) === 0) return !1;
|
|
633
689
|
let r = new Map(t.getPropertiesOfType(n).map((e) => [e.name, e]));
|
|
634
690
|
return [
|
|
@@ -639,10 +695,10 @@ function ue(t, n) {
|
|
|
639
695
|
let n = r.get(e);
|
|
640
696
|
if (!n) return !1;
|
|
641
697
|
let i = n.valueDeclaration ?? n.declarations?.[0];
|
|
642
|
-
return i ?
|
|
698
|
+
return i ? G(t.getTypeOfSymbolAtLocation(n, i)) : !1;
|
|
643
699
|
});
|
|
644
700
|
}
|
|
645
|
-
function
|
|
701
|
+
function U(e, t) {
|
|
646
702
|
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");
|
|
647
703
|
if (!r) return "*/*";
|
|
648
704
|
let i = r.valueDeclaration ?? r.declarations?.[0];
|
|
@@ -650,7 +706,7 @@ function G(e, t) {
|
|
|
650
706
|
let a = e.getTypeOfSymbolAtLocation(r, i);
|
|
651
707
|
return a.isStringLiteral() && n.test(a.value) ? a.value : "*/*";
|
|
652
708
|
}
|
|
653
|
-
function
|
|
709
|
+
function W(t) {
|
|
654
710
|
if ((t.flags & e.TypeFlags.Boolean) !== 0 || (t.flags & e.TypeFlags.BooleanLiteral) !== 0) return !0;
|
|
655
711
|
if (t.isUnion()) {
|
|
656
712
|
let n = t.types.filter((t) => (t.flags & (e.TypeFlags.Undefined | e.TypeFlags.Null)) === 0);
|
|
@@ -658,46 +714,46 @@ function K(t) {
|
|
|
658
714
|
}
|
|
659
715
|
return !1;
|
|
660
716
|
}
|
|
661
|
-
function
|
|
717
|
+
function G(t) {
|
|
662
718
|
return (t.flags & e.TypeFlags.Number) !== 0 || (t.flags & e.TypeFlags.NumberLiteral) !== 0;
|
|
663
719
|
}
|
|
664
|
-
function
|
|
720
|
+
function K(t) {
|
|
665
721
|
return (t.flags & e.TypeFlags.String) !== 0 || (t.flags & e.TypeFlags.StringLiteral) !== 0;
|
|
666
722
|
}
|
|
667
|
-
function
|
|
668
|
-
return
|
|
723
|
+
function ge(e) {
|
|
724
|
+
return K(e) || G(e) || W(e);
|
|
669
725
|
}
|
|
670
|
-
function
|
|
726
|
+
function _e(t) {
|
|
671
727
|
return (t.flags & e.TypeFlags.StringLiteral) !== 0 || (t.flags & e.TypeFlags.NumberLiteral) !== 0;
|
|
672
728
|
}
|
|
673
|
-
function
|
|
674
|
-
return
|
|
729
|
+
function q(e) {
|
|
730
|
+
return W(e) ? !1 : ve(e) || _e(e);
|
|
675
731
|
}
|
|
676
|
-
function
|
|
732
|
+
function ve(t) {
|
|
677
733
|
if (!t.isUnion()) return !1;
|
|
678
734
|
let n = t.types.filter((t) => (t.flags & (e.TypeFlags.Undefined | e.TypeFlags.Null)) === 0);
|
|
679
|
-
return n.length > 0 && n.every(
|
|
735
|
+
return n.length > 0 && n.every(ge);
|
|
680
736
|
}
|
|
681
|
-
function
|
|
737
|
+
function J(e, t) {
|
|
682
738
|
return e.isArrayType(t) || e.isTupleType(t);
|
|
683
739
|
}
|
|
684
|
-
function
|
|
740
|
+
function Y(e) {
|
|
685
741
|
return e.getCallSignatures().length > 0;
|
|
686
742
|
}
|
|
687
743
|
//#endregion
|
|
688
744
|
//#region src/utils.ts
|
|
689
|
-
var
|
|
690
|
-
function
|
|
745
|
+
var ye = "\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";
|
|
746
|
+
function be(t, n) {
|
|
691
747
|
let r = /* @__PURE__ */ new Map();
|
|
692
|
-
return r.set(t, n), r.set("lib.codezero.d.ts",
|
|
748
|
+
return r.set(t, n), r.set("lib.codezero.d.ts", ye), a(u(r), [t, "lib.codezero.d.ts"], e, xe);
|
|
693
749
|
}
|
|
694
|
-
var
|
|
750
|
+
var xe = {
|
|
695
751
|
target: e.ScriptTarget.Latest,
|
|
696
752
|
lib: ["lib.codezero.d.ts"],
|
|
697
753
|
noEmit: !0,
|
|
698
754
|
strictNullChecks: !0
|
|
699
755
|
};
|
|
700
|
-
function
|
|
756
|
+
function Se(e) {
|
|
701
757
|
let t = [], n = 0, r = null, i = "";
|
|
702
758
|
for (let a of e) {
|
|
703
759
|
if (r) a === r && (r = null);
|
|
@@ -712,56 +768,81 @@ function _e(e) {
|
|
|
712
768
|
}
|
|
713
769
|
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);
|
|
714
770
|
}
|
|
715
|
-
function
|
|
716
|
-
let r = Array.from(new Set(e?.flatMap((e) => e.genericKeys || []).flatMap(
|
|
717
|
-
let t = (e.genericKeys?.length ?? 0) > 0 ? `<${e.genericKeys?.join(",")}>` : "", n =
|
|
771
|
+
function X(e, t = "any", n = !0) {
|
|
772
|
+
let r = Array.from(new Set(e?.flatMap((e) => e.genericKeys || []).flatMap(Se))).map((e) => `type ${e} = ${t};`).join("\n"), i = e?.map((e) => {
|
|
773
|
+
let t = (e.genericKeys?.length ?? 0) > 0 ? `<${e.genericKeys?.join(",")}>` : "", n = j(e.identifier) ? `${e.type} & {}` : e.type;
|
|
718
774
|
return `type ${e.identifier}${t} = ${n};`;
|
|
719
775
|
}).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") ?? "";
|
|
720
776
|
return `${n ? r : ""}\n${i}\n${a}`;
|
|
721
777
|
}
|
|
722
|
-
var
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
}),
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
778
|
+
var Z = (e) => e?.replace(/[^a-zA-Z0-9]/g, "_"), Q = (e) => e.replace(/\\/g, "\\\\").replace(/`/g, "\\`").replace(/\$\{/g, "\\${"), Ce = (e, t) => {
|
|
779
|
+
let n = e.match(/^\$\{([^}]+)\}$/);
|
|
780
|
+
if (n && t.has(n[1])) return t.get(n[1]);
|
|
781
|
+
let r = /\$\{([^}]+)\}/g, i = !1;
|
|
782
|
+
for (let n of e.matchAll(r)) if (t.has(n[1])) {
|
|
783
|
+
i = !0;
|
|
784
|
+
break;
|
|
785
|
+
}
|
|
786
|
+
if (!i) return h(e) ?? "\"\"";
|
|
787
|
+
let a = "", o = 0;
|
|
788
|
+
for (let n of e.matchAll(r)) {
|
|
789
|
+
let [r, i] = n, s = n.index;
|
|
790
|
+
a += Q(e.slice(o, s)), a += t.has(i) ? "${" + t.get(i) + "}" : Q(r), o = s + r.length;
|
|
791
|
+
}
|
|
792
|
+
return a += Q(e.slice(o)), "`" + a + "`";
|
|
793
|
+
}, $ = (e, t) => typeof e == "string" ? Ce(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";
|
|
794
|
+
function we(e, t, n, r = !1, i = !0) {
|
|
795
|
+
let a = e?.nodes?.nodes || [], o = new Map(t?.map((e) => [e.identifier, e])), s = /* @__PURE__ */ new Set(), c = (t) => {
|
|
796
|
+
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")}`;
|
|
797
|
+
return t.referencePath?.forEach((e) => {
|
|
798
|
+
n += `?.${e.path}`;
|
|
799
|
+
}), `(${n})${i ? "!" : ""}`;
|
|
800
|
+
}, l = (e, t, n, r) => !e.startingNodeId && e.functionDefinition?.identifier ? `fn_${e.functionDefinition.identifier.replace(/::/g, "_")}` : `(...${`p_${Z(t)}_${n}`}) => {\n${d(e.startingNodeId || e.functionDefinition?.id, r + " ")}${r}}`, u = (e, t, n) => {
|
|
801
|
+
if (e == null) return;
|
|
802
|
+
let r = /* @__PURE__ */ new Map();
|
|
803
|
+
for (let e of t ?? []) {
|
|
804
|
+
if (!e?.signature) continue;
|
|
805
|
+
let t = e.value;
|
|
806
|
+
if (t?.__typename === "ReferenceValue") r.set(e.signature, c(t));
|
|
807
|
+
else if (t?.__typename === "LiteralValue") {
|
|
808
|
+
let i = u(t.value, t.references, n);
|
|
809
|
+
i !== void 0 && r.set(e.signature, i);
|
|
810
|
+
} else t?.__typename === "SubFlowValue" && r.set(e.signature, l(t, n.id, n.index, n.indent));
|
|
811
|
+
}
|
|
812
|
+
return r.size === 0 ? h(e) : $(e, r);
|
|
813
|
+
}, d = (e, t = "") => {
|
|
814
|
+
let n = a.find((t) => t?.id === e);
|
|
815
|
+
if (!n || !n.functionDefinition) return "";
|
|
816
|
+
if (e?.includes("NodeFunction") && s.add(e), !o.get(n.functionDefinition.identifier)) return `${t}// Error: Function ${n.functionDefinition.identifier} not found\n`;
|
|
817
|
+
let i = (n.parameters?.nodes || []).map((n, i) => {
|
|
818
|
+
let a = n.value;
|
|
819
|
+
return a ? a.__typename === "ReferenceValue" ? `/* @pos ${e} ${i} */ ${c(a)}` : a.__typename === "LiteralValue" ? `/* @pos ${e} ${i} */ ${u(a.value, a.references, {
|
|
820
|
+
id: e,
|
|
821
|
+
index: i,
|
|
822
|
+
indent: t
|
|
823
|
+
})}` : a.__typename === "SubFlowValue" ? `/* @pos ${e} ${i} */ ${l(a, e, i, t)}` : r ? `/* @pos ${e} ${i} */ {}` : `/* @pos ${e} ${i} */ undefined` : r ? `/* @pos ${e} ${i} */ {}` : `/* @pos ${e} ${i} */ undefined`;
|
|
824
|
+
}), f = `node_${Z(n.id)}`, p = `fn_${n?.functionDefinition?.identifier?.replace(/::/g, "_")}`;
|
|
825
|
+
i.includes("undefined");
|
|
826
|
+
let m = `${t}`;
|
|
827
|
+
return n.functionDefinition.identifier === "std::control::return" ? (m += `const ${f} = /* @pos ${e} null */ ${p}(${i.join(", ")}) ;\n`, m += `return ${f};\n`) : n.functionDefinition.identifier === "std::control::if" ? (m += `const ${f} = /* @pos ${e} null */ ${p}(${i.join(", ")}) ;\n`, m += `if(${i[0]}) {
|
|
828
|
+
${d(n.parameters?.nodes?.[1]?.value?.startingNodeId || (n.parameters?.nodes?.[1]?.value)?.functionDefinition?.identifier, t + " ")}
|
|
829
|
+
}`) : n.functionDefinition.identifier === "std::control::if_else" ? (m += `const ${f} = /* @pos ${e} null */ ${p}(${i.join(", ")}) ;\n`, m += `if(${i[0]}) {
|
|
830
|
+
${d(n.parameters?.nodes?.[1]?.value?.startingNodeId || (n.parameters?.nodes?.[1]?.value)?.functionDefinition?.identifier, t + " ")}
|
|
750
831
|
} else {
|
|
751
|
-
${
|
|
752
|
-
}`) :
|
|
753
|
-
},
|
|
832
|
+
${d(n.parameters?.nodes?.[2]?.value?.startingNodeId || (n.parameters?.nodes?.[2]?.value)?.functionDefinition?.identifier, t + " ")}
|
|
833
|
+
}`) : m += `const ${f} = /* @pos ${e} null */ ${p}(${i.join(", ")}) ;\n`, n.nextNodeId && (m += d(n.nextNodeId, t)), m;
|
|
834
|
+
}, f = X(n), p = `declare function flow${e?.signature ?? "(): void"}`, m = t?.map((e) => `declare function fn_${e.identifier?.replace(/::/g, "_")}${e.signature}`).join("\n"), g = new Set(a.map((e) => e?.nextNodeId).filter((e) => !!e)), _ = /* @__PURE__ */ new Set();
|
|
754
835
|
return a.forEach((e) => e?.parameters?.nodes?.forEach((e) => {
|
|
755
|
-
e?.value?.__typename === "SubFlowValue" && (e.value.startingNodeId || e.value.functionDefinition?.id) &&
|
|
836
|
+
e?.value?.__typename === "SubFlowValue" && (e.value.startingNodeId || e.value.functionDefinition?.id) && _.add(e.value.startingNodeId || e.value.functionDefinition?.id);
|
|
756
837
|
})), `
|
|
757
|
-
${
|
|
758
|
-
${
|
|
759
|
-
${
|
|
838
|
+
${f}\n
|
|
839
|
+
${p}\n
|
|
840
|
+
${m}\n
|
|
760
841
|
(() =>
|
|
761
|
-
${e ? `const flow_${
|
|
762
|
-
${a.filter((e) => e?.id && !
|
|
842
|
+
${e ? `const flow_${Z(e.id ?? "")} = /* @pos null null */ flow(${e.settings?.nodes?.map((e, t) => `/* @pos null ${t} */ ${e?.value !== null && e?.value !== void 0 ? h(e?.value) : void 0}`).join(", ") ?? ""});` : ""}
|
|
843
|
+
${a.filter((e) => e?.id && !g.has(e.id) && !_.has(e.id)).map((e) => d(e.id)).join("\n")}
|
|
763
844
|
)();
|
|
764
845
|
`;
|
|
765
846
|
}
|
|
766
847
|
//#endregion
|
|
767
|
-
export {
|
|
848
|
+
export { A as a, j as c, I as d, h as f, Z as i, Y as l, we as n, L as o, X as r, N as s, be as t, R as u };
|