@code0-tech/triangulum 0.34.0 → 0.35.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.
@@ -284,11 +284,11 @@ var _ = (t) => {
284
284
  let a = r.getDeclarations()?.[0];
285
285
  if (!a || a.getEnd() >= t.getEnd()) return [];
286
286
  let o = e.getTypeOfSymbolAtLocation(r, t);
287
- return i.startsWith("node_") ? b(i, o, e, n) : i.startsWith("p_") ? x(i, o, e, n) : i.startsWith("flow_") ? te(o, e, n) : [];
287
+ return i.startsWith("node_") ? b(i, o, e, n) : i.startsWith("p_") ? x(i, o, e, n) : i.startsWith("flow_") ? S(o, e, n) : [];
288
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 = S(t.replace("node_", ""));
291
- return O(n, r, i).flatMap(({ path: e }) => {
290
+ let a = C(t.replace("node_", ""));
291
+ return D(n, r, i).flatMap(({ path: e }) => {
292
292
  let t = {
293
293
  __typename: "ReferenceValue",
294
294
  nodeFunctionId: a
@@ -296,10 +296,10 @@ var _ = (t) => {
296
296
  return e.length > 0 && (t.referencePath = e), t;
297
297
  });
298
298
  }, x = (e, t, n, r) => {
299
- let { nodeFunctionId: i, paramIndexFromName: a } = C(e);
299
+ let { nodeFunctionId: i, paramIndexFromName: a } = te(e);
300
300
  if (!n.isTupleType(t)) return [];
301
301
  let o = t;
302
- return n.getTypeArguments(o).flatMap((e, t) => O(e, n, r).flatMap(({ path: e }) => {
302
+ return n.getTypeArguments(o).flatMap((e, t) => D(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
- }, te = (e, t, n) => O(e, t, n).flatMap(({ path: e }) => {
312
+ }, S = (e, t, n) => D(e, t, n).flatMap(({ path: e }) => {
313
313
  let t = {
314
314
  __typename: "ReferenceValue",
315
315
  nodeFunctionId: null
316
316
  };
317
317
  return e.length > 0 && (t.referencePath = e), t;
318
- }), S = (e) => e.replace(/___/g, "://").replace(/__/g, "/").replace(/_/g, "/"), C = (e) => {
318
+ }), C = (e) => e.replace(/___/g, "://").replace(/__/g, "/").replace(/_/g, "/"), te = (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: S(r),
321
+ nodeFunctionId: C(r),
322
322
  paramIndexFromName: i
323
323
  };
324
- }, w = 7, T = (e, t, n) => {
324
+ }, ne = 7, w = (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) || !k(n)) return !1;
328
+ if (i.has(n) || !O(n)) return !1;
329
329
  i.add(n);
330
330
  for (let r of n.getProperties()) {
331
331
  if (!r.valueDeclaration) continue;
@@ -335,31 +335,31 @@ var _ = (t) => {
335
335
  return !1;
336
336
  }, o = a(e);
337
337
  return n.set(e, o), o;
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()) => {
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), E = (e, t) => e.isUnion() ? e.types.map((e) => t.getNonNullableType(e)).filter(O) : O(e) ? [e] : [], D = (e, t, n, r = [], i = /* @__PURE__ */ new Set(), a = /* @__PURE__ */ new Map()) => {
339
339
  let o = [], s = t.getNonNullableType(e);
340
- return E(s, t, n) && o.push({
340
+ return T(s, t, n) && o.push({
341
341
  path: r,
342
342
  type: e
343
- }), D(s, t).forEach((e) => {
344
- if (i.has(e) || r.length >= w && T(e, t, a)) return;
343
+ }), E(s, t).forEach((e) => {
344
+ if (i.has(e) || r.length >= ne && 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(...O(s, t, n, l, i, a));
348
+ o.push(...D(s, t, n, l, i, a));
349
349
  }), i.delete(e));
350
350
  }), o;
351
- }, k = (t) => {
351
+ }, O = (t) => {
352
352
  let n = e.TypeFlags.String | e.TypeFlags.Number | e.TypeFlags.Boolean | e.TypeFlags.Undefined | e.TypeFlags.Null | e.TypeFlags.BigInt | e.TypeFlags.ESSymbol;
353
353
  return (t.flags & n) === 0;
354
- }, ne = (e, t, n, r) => Y(r) ? [] : t.flatMap((t) => {
355
- let i = re(e, t, n, r);
354
+ }, re = (e, t, n, r) => q(r) ? [] : t.flatMap((t) => {
355
+ let i = ie(e, t, n, r);
356
356
  return i ? [i] : [];
357
- }), re = (t, n, r, i) => {
358
- let a = t.getSignatureFromDeclaration(n), o = ie(t, t.getReturnTypeOfSignature(a)), s = t.getNonNullableType(o);
357
+ }), ie = (t, n, r, i) => {
358
+ let a = t.getSignatureFromDeclaration(n), o = ae(t, t.getReturnTypeOfSignature(a)), s = t.getNonNullableType(o);
359
359
  if ((s.flags & e.TypeFlags.Never) !== 0 || !t.isTypeAssignableTo(s, i)) return null;
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) => {
360
+ let c = oe(n.name?.getText());
361
+ return se(r.find((e) => e.identifier === c));
362
+ }, ae = (e, t) => t.isTypeParameter() ? e.getBaseConstraintOfType(t) || e.getAnyType() : t, oe = (e) => e ? e.replace("fn_", "").replace("_", "::").replace("_", "::") : "", se = (e) => {
363
363
  let t = (e?.parameterDefinitions?.nodes?.length ?? 0) > 0, n = {
364
364
  __typename: "NodeFunction",
365
365
  id: "gid://sagittarius/NodeFunction/1",
@@ -372,11 +372,11 @@ var _ = (t) => {
372
372
  displayIcon: e?.displayIcon
373
373
  }
374
374
  };
375
- return t && (n.parameters = se(e?.parameterDefinitions?.nodes || [])), n;
376
- }, se = (e) => ({
375
+ return t && (n.parameters = ce(e?.parameterDefinitions?.nodes || [])), n;
376
+ }, ce = (e) => ({
377
377
  __typename: "NodeParameterConnection",
378
- nodes: e.map((e) => ce(e))
379
- }), ce = (e) => ({
378
+ nodes: e.map((e) => le(e))
379
+ }), le = (e) => ({
380
380
  __typename: "NodeParameter",
381
381
  parameterDefinition: {
382
382
  __typename: "ParameterDefinition",
@@ -387,15 +387,15 @@ var _ = (t) => {
387
387
  __typename: "LiteralValue",
388
388
  value: e.defaultValue.value
389
389
  } : null
390
- }), le = (e, t, n, r) => Y(r) ? t.flatMap((t) => {
391
- let i = ue(e, t, n, r);
390
+ }), ue = (e, t, n, r) => q(r) ? t.flatMap((t) => {
391
+ let i = de(e, t, n, r);
392
392
  return i ? [i] : [];
393
- }) : [], ue = (e, t, n, r) => {
393
+ }) : [], de = (e, t, n, r) => {
394
394
  let i = e.getTypeAtLocation(t);
395
395
  if (!e.isTypeAssignableTo(i, r)) return null;
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) => ({
396
+ let a = fe(t.name?.getText()), o = n.find((e) => e.identifier === a);
397
+ return o ? pe(o) : null;
398
+ }, fe = (e) => e ? e.replace("fn_", "").replace("_", "::").replace("_", "::") : "", pe = (e) => ({
399
399
  __typename: "SubFlowValue",
400
400
  functionDefinition: e,
401
401
  signature: e.signature,
@@ -406,145 +406,156 @@ var _ = (t) => {
406
406
  hidden: e?.hidden ?? !1,
407
407
  optional: e?.optional ?? !1
408
408
  }))
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()) => {
409
+ }), k = {
410
+ DATE: "date",
411
+ TYPE: "type"
412
+ }, A = (e) => e != null && e in k, me = new Set(Object.values(k)), j = (e) => e != null && me.has(e), M = 7, N = (t, n, r, i, a, o = !0, s, c = /* @__PURE__ */ new Set(), l = /* @__PURE__ */ new Map(), u) => {
410
413
  if ((r.flags & e.TypeFlags.TypeParameter) !== 0) {
411
414
  let u = r.symbol?.declarations?.[0];
412
415
  if (u && e.isTypeParameterDeclaration(u) && u.constraint) return N(t, n, t.getTypeFromTypeNode(u.constraint), i, a, o, s, c, l);
413
416
  }
414
- let u = t.typeToString(j(r.aliasSymbol?.getName()) && r.isIntersection() ? r.types.find((t) => (t.flags & e.TypeFlags.Object) === 0) ?? r : {
417
+ 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({
415
418
  ...r,
416
419
  aliasSymbol: void 0
417
- }), d = s ?? r, f = o ? { suggestions: [
418
- ...v(d, t),
419
- ...n ? ee(t, n, d, t.getSymbolsInScope(n, e.SymbolFlags.Variable)) : [],
420
- ...ne(t, i, a, d),
421
- ...le(t, i, a, d)
420
+ }), p = s ?? r, m = o ? { suggestions: [
421
+ ...v(p, t),
422
+ ...n ? ee(t, n, p, t.getSymbolsInScope(n, e.SymbolFlags.Variable)) : [],
423
+ ...re(t, i, a, p),
424
+ ...ue(t, i, a, p)
422
425
  ] } : {};
426
+ if (u) {
427
+ let e = ve(t, u);
428
+ if (e) return {
429
+ input: e,
430
+ type: f,
431
+ ...m
432
+ };
433
+ }
423
434
  if (r.isUnion()) {
424
435
  let s = r.types.filter((t) => (t.flags & (e.TypeFlags.Undefined | e.TypeFlags.Null)) === 0);
425
436
  if (s.length === 1) return {
426
437
  ...N(t, n, s[0], i, a, o, void 0, c, l),
427
- type: u,
428
- ...f
438
+ type: f,
439
+ ...m
429
440
  };
430
441
  }
431
- let p = me(r);
432
- if (p) return {
433
- input: p,
434
- type: u,
435
- ...f
442
+ let h = B(r);
443
+ if (h) return {
444
+ input: h,
445
+ type: f,
446
+ ...m
436
447
  };
437
- if (H(t, r)) return {
448
+ if (V(t, r)) return {
438
449
  input: "file",
439
- type: u,
440
- mimetype: U(t, r),
441
- ...f
450
+ type: f,
451
+ mimetype: H(t, r),
452
+ ...m
442
453
  };
443
- if (he(t, r)) return {
454
+ if (be(t, r)) return {
444
455
  input: "color",
445
- type: u,
446
- ...f
456
+ type: f,
457
+ ...m
447
458
  };
448
- if (W(r)) return {
459
+ if (U(r)) return {
449
460
  input: "boolean",
450
- type: u,
451
- ...f
461
+ type: f,
462
+ ...m
452
463
  };
453
- if (q(r)) return {
464
+ if (K(r)) return {
454
465
  input: "select",
455
- type: u,
456
- ...f
466
+ type: f,
467
+ ...m
457
468
  };
458
- if (G(r)) return {
469
+ if (W(r)) return {
459
470
  input: "number",
460
- type: u,
461
- ...f
471
+ type: f,
472
+ ...m
462
473
  };
463
- if (K(r)) return {
474
+ if (G(r)) return {
464
475
  input: "text",
465
- type: u,
466
- ...f
476
+ type: f,
477
+ ...m
467
478
  };
468
- if (Y(r)) return {
479
+ if (q(r)) return {
469
480
  input: "sub-flow",
470
- type: u,
471
- ...f
481
+ type: f,
482
+ ...m
472
483
  };
473
- if (J(t, r)) {
484
+ if (we(t, r)) {
474
485
  let e = t.getTypeArguments(r);
475
- if (e.length === 1 && H(t, e[0])) return {
486
+ if (e.length === 1 && V(t, e[0])) return {
476
487
  input: "list-file",
477
- type: u,
478
- mimetype: U(t, e[0]),
479
- ...f
488
+ type: f,
489
+ mimetype: H(t, e[0]),
490
+ ...m
480
491
  };
481
492
  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 {
493
+ if (e.length === 1 && K(e[0])) return {
483
494
  input: "list-select",
484
- type: u,
495
+ type: f,
485
496
  items: s,
486
- ...f
497
+ ...m
487
498
  };
488
499
  if (e.length === 1) {
489
500
  let t = e[0];
490
- if (W(t)) return {
501
+ if (U(t)) return {
491
502
  input: "list-boolean",
492
- type: u,
503
+ type: f,
493
504
  items: s,
494
- ...f
505
+ ...m
495
506
  };
496
- if (G(t)) return {
507
+ if (W(t)) return {
497
508
  input: "list-number",
498
- type: u,
509
+ type: f,
499
510
  items: s,
500
- ...f
511
+ ...m
501
512
  };
502
- if (K(t)) return {
513
+ if (G(t)) return {
503
514
  input: "list-text",
504
- type: u,
515
+ type: f,
505
516
  items: s,
506
- ...f
517
+ ...m
507
518
  };
508
- if (Y(t)) return {
519
+ if (q(t)) return {
509
520
  input: "list-sub-flow",
510
- type: u,
521
+ type: f,
511
522
  items: s,
512
- ...f
523
+ ...m
513
524
  };
514
525
  }
515
526
  return {
516
527
  input: "list",
517
- type: u,
528
+ type: f,
518
529
  items: s,
519
- ...f
530
+ ...m
520
531
  };
521
532
  }
522
533
  if ((r.flags & e.TypeFlags.Object) !== 0) {
523
- if (c.has(r) || c.size >= M && T(r, t, l)) return {
534
+ if (c.has(r) || c.size >= M && w(r, t, l)) return {
524
535
  input: "data",
525
- type: u,
526
- ...f
536
+ type: f,
537
+ ...m
527
538
  };
528
539
  c.add(r);
529
540
  let s = {}, d = [];
530
- for (let u of t.getPropertiesOfType(r)) {
531
- let r = u.valueDeclaration ?? u.declarations?.[0];
541
+ for (let f of t.getPropertiesOfType(r)) {
542
+ let r = f.valueDeclaration ?? f.declarations?.[0];
532
543
  if (!r) continue;
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));
534
- s[u.name] = m.length === 1 ? m[0] : m, p || d.push(u.name);
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 = p.isUnion() ? p.types.filter((t) => (t.flags & (e.TypeFlags.Undefined | e.TypeFlags.Null)) === 0) : [p], g = u ? ye(t, u, f.name) : void 0, _ = h.map((e) => N(t, n, e, i, a, o, void 0, c, l, g));
545
+ s[f.name] = _.length === 1 ? _[0] : _, m || d.push(f.name);
535
546
  }
536
547
  return c.delete(r), {
537
548
  input: "data",
538
- type: u,
549
+ type: f,
539
550
  properties: s,
540
551
  required: d,
541
- ...f
552
+ ...m
542
553
  };
543
554
  }
544
555
  return {
545
556
  input: "generic",
546
- type: u,
547
- ...f
557
+ type: f,
558
+ ...m
548
559
  };
549
560
  }, P = /* @__PURE__ */ new Set([
550
561
  "list",
@@ -588,7 +599,7 @@ var _ = (t) => {
588
599
  }
589
600
  return t;
590
601
  }, L = (e, t = void 0, n = !0) => {
591
- let r = pe(e), i = r.items;
602
+ let r = _e(e), i = r.items;
592
603
  i && (r = {
593
604
  ...r,
594
605
  items: i.map((e) => L(e, t))
@@ -614,8 +625,8 @@ var _ = (t) => {
614
625
  }
615
626
  return r;
616
627
  }, 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);
628
+ if (!e || e.input === "generic") return ge(L(t, r, !i), n);
629
+ let a = he(e.suggestions, t.suggestions);
619
630
  if (e.input === "data") {
620
631
  let n = e.properties ?? {}, i = t.input === "data" ? t.properties ?? {} : {}, o = {}, s = /* @__PURE__ */ new Set([...Object.keys(n), ...Object.keys(i)]);
621
632
  for (let e of s) o[e] = z(n[e], i[e], r);
@@ -633,11 +644,15 @@ var _ = (t) => {
633
644
  ...a ? { suggestions: a } : {}
634
645
  };
635
646
  }
636
- return {
647
+ return j(e.input) ? {
648
+ ...e,
649
+ ...t.type === void 0 ? {} : { type: t.type },
650
+ ...a ? { suggestions: a } : {}
651
+ } : {
637
652
  ...e,
638
653
  ...a ? { suggestions: a } : {}
639
654
  };
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) => {
655
+ }, 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, he = (e, t) => {
641
656
  let n = [...e ?? [], ...t ?? []];
642
657
  if (n.length === 0) return;
643
658
  let r = /* @__PURE__ */ new Set(), i = [];
@@ -646,13 +661,13 @@ var _ = (t) => {
646
661
  r.has(t) || (r.add(t), i.push(e));
647
662
  }
648
663
  return i;
649
- }, V = (e, t) => !t || e.input !== "generic" ? e : {
664
+ }, ge = (e, t) => !t || e.input !== "generic" ? e : {
650
665
  input: "data",
651
666
  ...e.type ? { type: e.type } : {},
652
667
  properties: {},
653
668
  required: [],
654
669
  ...e.suggestions ? { suggestions: e.suggestions } : {}
655
- }, pe = (e) => {
670
+ }, _e = (e) => {
656
671
  if (e.input !== "select") return e;
657
672
  let t = e.suggestions ?? [], n = /* @__PURE__ */ new Set();
658
673
  for (let e of t) {
@@ -669,11 +684,20 @@ var _ = (t) => {
669
684
  ...t.length > 0 ? { suggestions: t } : {}
670
685
  };
671
686
  };
672
- function me(e) {
687
+ function B(e) {
673
688
  let t = e.aliasSymbol?.getName();
674
- return j(t) ? A[t] : void 0;
689
+ return A(t) ? k[t] : void 0;
690
+ }
691
+ function ve(t, n) {
692
+ if ((n.flags & e.TypeFlags.TypeParameter) === 0) return;
693
+ let r = n.symbol?.declarations?.[0];
694
+ if (r && e.isTypeParameterDeclaration(r) && r.constraint) return B(t.getTypeFromTypeNode(r.constraint));
675
695
  }
676
- function H(t, n) {
696
+ function ye(e, t, n) {
697
+ let r = e.getPropertyOfType(t, n), i = r?.valueDeclaration ?? r?.declarations?.[0];
698
+ return i ? e.getTypeOfSymbolAtLocation(r, i) : void 0;
699
+ }
700
+ function V(t, n) {
677
701
  if (n.aliasSymbol?.getName() !== "FILE" || (n.flags & e.TypeFlags.Object) === 0) return !1;
678
702
  let r = t.getPropertiesOfType(n);
679
703
  if (r.length !== 4) return !1;
@@ -684,7 +708,7 @@ function H(t, n) {
684
708
  let s = t.getTypeOfSymbolAtLocation(a, o);
685
709
  return s.isStringLiteral() && s.value === "base64";
686
710
  }
687
- function he(t, n) {
711
+ function be(t, n) {
688
712
  if (n.aliasSymbol?.getName() !== "COLOR" || (n.flags & e.TypeFlags.Object) === 0) return !1;
689
713
  let r = new Map(t.getPropertiesOfType(n).map((e) => [e.name, e]));
690
714
  return [
@@ -695,10 +719,10 @@ function he(t, n) {
695
719
  let n = r.get(e);
696
720
  if (!n) return !1;
697
721
  let i = n.valueDeclaration ?? n.declarations?.[0];
698
- return i ? G(t.getTypeOfSymbolAtLocation(n, i)) : !1;
722
+ return i ? W(t.getTypeOfSymbolAtLocation(n, i)) : !1;
699
723
  });
700
724
  }
701
- function U(e, t) {
725
+ function H(e, t) {
702
726
  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");
703
727
  if (!r) return "*/*";
704
728
  let i = r.valueDeclaration ?? r.declarations?.[0];
@@ -706,7 +730,7 @@ function U(e, t) {
706
730
  let a = e.getTypeOfSymbolAtLocation(r, i);
707
731
  return a.isStringLiteral() && n.test(a.value) ? a.value : "*/*";
708
732
  }
709
- function W(t) {
733
+ function U(t) {
710
734
  if ((t.flags & e.TypeFlags.Boolean) !== 0 || (t.flags & e.TypeFlags.BooleanLiteral) !== 0) return !0;
711
735
  if (t.isUnion()) {
712
736
  let n = t.types.filter((t) => (t.flags & (e.TypeFlags.Undefined | e.TypeFlags.Null)) === 0);
@@ -714,46 +738,46 @@ function W(t) {
714
738
  }
715
739
  return !1;
716
740
  }
717
- function G(t) {
741
+ function W(t) {
718
742
  return (t.flags & e.TypeFlags.Number) !== 0 || (t.flags & e.TypeFlags.NumberLiteral) !== 0;
719
743
  }
720
- function K(t) {
744
+ function G(t) {
721
745
  return (t.flags & e.TypeFlags.String) !== 0 || (t.flags & e.TypeFlags.StringLiteral) !== 0;
722
746
  }
723
- function ge(e) {
724
- return K(e) || G(e) || W(e);
747
+ function xe(e) {
748
+ return G(e) || W(e) || U(e);
725
749
  }
726
- function _e(t) {
750
+ function Se(t) {
727
751
  return (t.flags & e.TypeFlags.StringLiteral) !== 0 || (t.flags & e.TypeFlags.NumberLiteral) !== 0;
728
752
  }
729
- function q(e) {
730
- return W(e) ? !1 : ve(e) || _e(e);
753
+ function K(e) {
754
+ return U(e) ? !1 : Ce(e) || Se(e);
731
755
  }
732
- function ve(t) {
756
+ function Ce(t) {
733
757
  if (!t.isUnion()) return !1;
734
758
  let n = t.types.filter((t) => (t.flags & (e.TypeFlags.Undefined | e.TypeFlags.Null)) === 0);
735
- return n.length > 0 && n.every(ge);
759
+ return n.length > 0 && n.every(xe);
736
760
  }
737
- function J(e, t) {
761
+ function we(e, t) {
738
762
  return e.isArrayType(t) || e.isTupleType(t);
739
763
  }
740
- function Y(e) {
764
+ function q(e) {
741
765
  return e.getCallSignatures().length > 0;
742
766
  }
743
767
  //#endregion
744
768
  //#region src/utils.ts
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) {
769
+ var Te = "\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";
770
+ function J(t, n) {
747
771
  let r = /* @__PURE__ */ new Map();
748
- return r.set(t, n), r.set("lib.codezero.d.ts", ye), a(u(r), [t, "lib.codezero.d.ts"], e, xe);
772
+ return r.set(t, n), r.set("lib.codezero.d.ts", Te), a(u(r), [t, "lib.codezero.d.ts"], e, Ee);
749
773
  }
750
- var xe = {
774
+ var Ee = {
751
775
  target: e.ScriptTarget.Latest,
752
776
  lib: ["lib.codezero.d.ts"],
753
777
  noEmit: !0,
754
778
  strictNullChecks: !0
755
779
  };
756
- function Se(e) {
780
+ function De(e) {
757
781
  let t = [], n = 0, r = null, i = "";
758
782
  for (let a of e) {
759
783
  if (r) a === r && (r = null);
@@ -768,14 +792,40 @@ function Se(e) {
768
792
  }
769
793
  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);
770
794
  }
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;
774
- return `type ${e.identifier}${t} = ${n};`;
795
+ var Oe = /* @__PURE__ */ new Set([
796
+ "number",
797
+ "string",
798
+ "boolean"
799
+ ]);
800
+ function Y(e, t = "any", n = !0) {
801
+ let r = Array.from(new Set(e?.flatMap((e) => e.genericKeys || []).flatMap(De))).map((e) => `type ${e} = ${t};`).join("\n"), i = e?.map((e) => {
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 ? Oe.has(r) ? `${e.type} & {}` : "{}" : e.type;
803
+ return `type ${e.identifier}${n} = ${i};`;
775
804
  }).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") ?? "";
776
805
  return `${n ? r : ""}\n${i}\n${a}`;
777
806
  }
778
- var Z = (e) => e?.replace(/[^a-zA-Z0-9]/g, "_"), Q = (e) => e.replace(/\\/g, "\\\\").replace(/`/g, "\\`").replace(/\$\{/g, "\\${"), Ce = (e, t) => {
807
+ var ke = /^[A-Za-z0-9_$<>\[\]{}(),.:?|&+\-'"\s]+$/, Ae = (e) => {
808
+ if (!ke.test(e)) return !1;
809
+ let t = {
810
+ "<": ">",
811
+ "[": "]",
812
+ "{": "}",
813
+ "(": ")"
814
+ }, n = [], r = null;
815
+ for (let i of e) {
816
+ if (r) {
817
+ i === r && (r = null);
818
+ continue;
819
+ }
820
+ if (i === "'" || i === "\"") r = i;
821
+ else if (t[i]) n.push(t[i]);
822
+ else if ((i === ">" || i === "]" || i === "}" || i === ")") && n.pop() !== i) return !1;
823
+ }
824
+ return r === null && n.length === 0;
825
+ }, X = (e, t) => {
826
+ let n = t?.trim();
827
+ return !n || !Ae(n) ? e : `(${e}) as unknown as ${n}`;
828
+ }, Z = (e) => e?.replace(/[^a-zA-Z0-9]/g, "_"), Q = (e) => e.replace(/\\/g, "\\\\").replace(/`/g, "\\`").replace(/\$\{/g, "\\${"), je = (e, t) => {
779
829
  let n = e.match(/^\$\{([^}]+)\}$/);
780
830
  if (n && t.has(n[1])) return t.get(n[1]);
781
831
  let r = /\$\{([^}]+)\}/g, i = !1;
@@ -790,8 +840,8 @@ var Z = (e) => e?.replace(/[^a-zA-Z0-9]/g, "_"), Q = (e) => e.replace(/\\/g, "\\
790
840
  a += Q(e.slice(o, s)), a += t.has(i) ? "${" + t.get(i) + "}" : Q(r), o = s + r.length;
791
841
  }
792
842
  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) {
843
+ }, $ = (e, t) => typeof e == "string" ? je(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";
844
+ function Me(e, t, n, r = !1, i = !0) {
795
845
  let a = e?.nodes?.nodes || [], o = new Map(t?.map((e) => [e.identifier, e])), s = /* @__PURE__ */ new Set(), c = (t) => {
796
846
  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
847
  return t.referencePath?.forEach((e) => {
@@ -815,12 +865,18 @@ function we(e, t, n, r = !1, i = !0) {
815
865
  if (!n || !n.functionDefinition) return "";
816
866
  if (e?.includes("NodeFunction") && s.add(e), !o.get(n.functionDefinition.identifier)) return `${t}// Error: Function ${n.functionDefinition.identifier} not found\n`;
817
867
  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`;
868
+ let a = n.value, o = r ? `/* @pos ${e} ${i} */ ${X("{}", n.cast)}` : `/* @pos ${e} ${i} */ undefined`;
869
+ if (!a) return o;
870
+ if (a.__typename === "ReferenceValue") return `/* @pos ${e} ${i} */ ${X(c(a), n.cast)}`;
871
+ if (a.__typename === "LiteralValue") {
872
+ let r = u(a.value, a.references, {
873
+ id: e,
874
+ index: i,
875
+ indent: t
876
+ });
877
+ return r === void 0 ? `/* @pos ${e} ${i} */ undefined` : `/* @pos ${e} ${i} */ ${X(r, n.cast)}`;
878
+ }
879
+ return a.__typename === "SubFlowValue" ? `/* @pos ${e} ${i} */ ${l(a, e, i, t)}` : o;
824
880
  }), f = `node_${Z(n.id)}`, p = `fn_${n?.functionDefinition?.identifier?.replace(/::/g, "_")}`;
825
881
  i.includes("undefined");
826
882
  let m = `${t}`;
@@ -831,7 +887,7 @@ function we(e, t, n, r = !1, i = !0) {
831
887
  } else {
832
888
  ${d(n.parameters?.nodes?.[2]?.value?.startingNodeId || (n.parameters?.nodes?.[2]?.value)?.functionDefinition?.identifier, t + " ")}
833
889
  }`) : 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();
890
+ }, f = Y(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();
835
891
  return a.forEach((e) => e?.parameters?.nodes?.forEach((e) => {
836
892
  e?.value?.__typename === "SubFlowValue" && (e.value.startingNodeId || e.value.functionDefinition?.id) && _.add(e.value.startingNodeId || e.value.functionDefinition?.id);
837
893
  })), `
@@ -839,10 +895,13 @@ function we(e, t, n, r = !1, i = !0) {
839
895
  ${p}\n
840
896
  ${m}\n
841
897
  (() =>
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(", ") ?? ""});` : ""}
898
+ ${e ? `const flow_${Z(e.id ?? "")} = /* @pos null null */ flow(${e.settings?.nodes?.map((e, t) => {
899
+ let n = e?.value !== null && e?.value !== void 0 ? h(e.value) : void 0;
900
+ return `/* @pos null ${t} */ ${n === void 0 ? "undefined" : X(n, e?.cast)}`;
901
+ }).join(", ") ?? ""});` : ""}
843
902
  ${a.filter((e) => e?.id && !g.has(e.id) && !_.has(e.id)).map((e) => d(e.id)).join("\n")}
844
903
  )();
845
904
  `;
846
905
  }
847
906
  //#endregion
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 };
907
+ export { k as a, A as c, R as d, I as f, Z as i, j as l, Me as n, L as o, h as p, Y as r, N as s, J as t, q as u };