@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.
@@ -278,28 +278,28 @@ var _ = (t) => {
278
278
  value: !1,
279
279
  __typename: "LiteralValue"
280
280
  }] : [];
281
- }, y = (e, t, n, r) => r.flatMap((r) => {
281
+ }, ee = (e, t, n, r) => r.flatMap((r) => {
282
282
  let i = r.getName();
283
- if (!b(i)) return [];
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_") ? ee(i, o, e, n) : i.startsWith("p_") ? te(i, o, e, n) : i.startsWith("flow_") ? ne(o, e, n) : [];
288
- }), b = (e) => e.startsWith("node_") || e.startsWith("p_") || e.startsWith("flow_"), ee = (t, n, r, i) => {
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 = x(t.replace("node_", ""));
291
- return E(n, r, i).flatMap(({ path: e }) => {
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
- }, te = (e, t, n, r) => {
299
- let { nodeFunctionId: i, paramIndexFromName: a } = S(e);
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) => E(e, n, r).flatMap(({ path: e }) => {
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
- }, ne = (e, t, n) => E(e, t, n).flatMap(({ path: e }) => {
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
- }), x = (e) => e.replace(/___/g, "://").replace(/__/g, "/").replace(/_/g, "/"), S = (e) => {
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: x(r),
321
+ nodeFunctionId: S(r),
322
322
  paramIndexFromName: i
323
323
  };
324
- }, C = 7, w = (e, t, n) => {
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) || !D(n)) return !1;
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
- }, 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()) => {
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 T(s, t, n) && o.push({
340
+ return E(s, t, n) && o.push({
341
341
  path: r,
342
342
  type: e
343
- }), re(s, t).forEach((e) => {
344
- if (i.has(e) || r.length >= C && w(e, t, a)) return;
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(...E(s, t, n, l, i, a));
348
+ o.push(...O(s, t, n, l, i, a));
349
349
  }), i.delete(e));
350
350
  }), o;
351
- }, D = (t) => {
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
- }, ie = (e, t, n, r) => X(r) ? [] : t.flatMap((t) => {
355
- let i = ae(e, t, n, r);
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
- }), ae = (t, n, r, i) => {
358
- if (n.parameters.length > 0) return null;
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 = 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) => {
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 = le(e?.parameterDefinitions?.nodes || [])), n;
377
- }, le = (e) => ({
375
+ return t && (n.parameters = se(e?.parameterDefinitions?.nodes || [])), n;
376
+ }, se = (e) => ({
378
377
  __typename: "NodeParameterConnection",
379
- nodes: e.map((e) => O(e))
380
- }), O = (e) => ({
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
- }), k = (e, t, n, r) => X(r) ? t.flatMap((t) => {
392
- let i = A(e, t, n, r);
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
- }) : [], A = (e, t, n, r) => {
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 = 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) => ({
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
- }), 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()) => {
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 I(t, n, t.getTypeFromTypeNode(u.constraint), i, a, o, s, c, l);
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(P(r.aliasSymbol?.getName()) && r.isIntersection() ? r.types.find((t) => (t.flags & e.TypeFlags.Object) === 0) ?? r : {
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 ? y(t, n, d, t.getSymbolsInScope(n, e.SymbolFlags.Variable)) : [],
421
- ...ie(t, i, a, d),
422
- ...k(t, i, a, d)
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 o = r.types.filter((t) => (t.flags & (e.TypeFlags.Undefined | e.TypeFlags.Null)) === 0);
426
- if (o.length === 1) return {
427
- ...I(t, n, o[0], i, a, !1, void 0, c, l),
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 = U(r);
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 (W(t, r)) return {
437
+ if (H(t, r)) return {
439
438
  input: "file",
440
439
  type: u,
441
- mimetype: G(t, r),
440
+ mimetype: U(t, r),
442
441
  ...f
443
442
  };
444
- if (ue(t, r)) return {
443
+ if (he(t, r)) return {
445
444
  input: "color",
446
445
  type: u,
447
446
  ...f
448
447
  };
449
- if (K(r)) return {
448
+ if (W(r)) return {
450
449
  input: "boolean",
451
450
  type: u,
452
451
  ...f
453
452
  };
454
- if (Y(r)) return {
453
+ if (q(r)) return {
455
454
  input: "select",
456
455
  type: u,
457
456
  ...f
458
457
  };
459
- if (q(r)) return {
458
+ if (G(r)) return {
460
459
  input: "number",
461
460
  type: u,
462
461
  ...f
463
462
  };
464
- if (J(r)) return {
463
+ if (K(r)) return {
465
464
  input: "text",
466
465
  type: u,
467
466
  ...f
468
467
  };
469
- if (X(r)) return {
468
+ if (Y(r)) return {
470
469
  input: "sub-flow",
471
470
  type: u,
472
471
  ...f
473
472
  };
474
- if (me(t, r)) {
473
+ if (J(t, r)) {
475
474
  let e = t.getTypeArguments(r);
476
- if (e.length === 1 && W(t, e[0])) return {
475
+ if (e.length === 1 && H(t, e[0])) return {
477
476
  input: "list-file",
478
477
  type: u,
479
- mimetype: G(t, e[0]),
478
+ mimetype: U(t, e[0]),
480
479
  ...f
481
480
  };
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 {
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 (K(t)) return {
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 (q(t)) return {
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 (J(t)) return {
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 (X(t)) return {
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 >= F && w(r, t, l)) return {
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) => I(t, n, e, i, a, o, void 0, c, l));
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
- }, L = /* @__PURE__ */ new Set([
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
- ]), R = (e, t, n = !1) => {
558
- if (!e || e.input === "generic") return V(H(t), n);
559
- let r = B(e.suggestions, t.suggestions);
560
- if (e.input === "data") {
561
- let n = e.properties ?? {}, i = t.input === "data" ? t.properties ?? {} : {}, a = {}, o = /* @__PURE__ */ new Set([...Object.keys(n), ...Object.keys(i)]);
562
- for (let e of o) {
563
- let t = n[e], r = i[e];
564
- a[e] = z(t, r);
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: a,
569
- ...r ? { suggestions: r } : {}
624
+ properties: o,
625
+ ...a ? { suggestions: a } : {}
570
626
  };
571
627
  }
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;
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: a,
577
- ...r ? { suggestions: r } : {}
632
+ items: o,
633
+ ...a ? { suggestions: a } : {}
578
634
  };
579
635
  }
580
636
  return {
581
637
  ...e,
582
- ...r ? { suggestions: r } : {}
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
- }, H = (e) => {
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 U(e) {
672
+ function me(e) {
617
673
  let t = e.aliasSymbol?.getName();
618
- return P(t) ? N[t] : void 0;
674
+ return j(t) ? A[t] : void 0;
619
675
  }
620
- function W(t, n) {
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 ue(t, n) {
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 ? q(t.getTypeOfSymbolAtLocation(n, i)) : !1;
698
+ return i ? G(t.getTypeOfSymbolAtLocation(n, i)) : !1;
643
699
  });
644
700
  }
645
- function G(e, t) {
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 K(t) {
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 q(t) {
717
+ function G(t) {
662
718
  return (t.flags & e.TypeFlags.Number) !== 0 || (t.flags & e.TypeFlags.NumberLiteral) !== 0;
663
719
  }
664
- function J(t) {
720
+ function K(t) {
665
721
  return (t.flags & e.TypeFlags.String) !== 0 || (t.flags & e.TypeFlags.StringLiteral) !== 0;
666
722
  }
667
- function de(e) {
668
- return J(e) || q(e) || K(e);
723
+ function ge(e) {
724
+ return K(e) || G(e) || W(e);
669
725
  }
670
- function fe(t) {
726
+ function _e(t) {
671
727
  return (t.flags & e.TypeFlags.StringLiteral) !== 0 || (t.flags & e.TypeFlags.NumberLiteral) !== 0;
672
728
  }
673
- function Y(e) {
674
- return K(e) ? !1 : pe(e) || fe(e);
729
+ function q(e) {
730
+ return W(e) ? !1 : ve(e) || _e(e);
675
731
  }
676
- function pe(t) {
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(de);
735
+ return n.length > 0 && n.every(ge);
680
736
  }
681
- function me(e, t) {
737
+ function J(e, t) {
682
738
  return e.isArrayType(t) || e.isTupleType(t);
683
739
  }
684
- function X(e) {
740
+ function Y(e) {
685
741
  return e.getCallSignatures().length > 0;
686
742
  }
687
743
  //#endregion
688
744
  //#region src/utils.ts
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) {
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", he), a(u(r), [t, "lib.codezero.d.ts"], e, ge);
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 ge = {
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 _e(e) {
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 Q(e, t = "any", n = !0) {
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;
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 $ = (e) => e?.replace(/[^a-zA-Z0-9]/g, "_");
723
- function ve(e, t, n, r = !1, i = !0) {
724
- let a = e?.nodes?.nodes || [], o = new Map(t?.map((e) => [e.identifier, e])), s = /* @__PURE__ */ new Set(), c = (t, n = "") => {
725
- let l = a.find((e) => e?.id === t);
726
- if (!l || !l.functionDefinition) return "";
727
- if (t?.includes("NodeFunction") && s.add(t), !o.get(l.functionDefinition.identifier)) return `${n}// Error: Function ${l.functionDefinition.identifier} not found\n`;
728
- let u = (l.parameters?.nodes || []).map((a, o) => {
729
- let s = a.value;
730
- if (!s) return r ? `/* @pos ${t} ${o} */ {}` : `/* @pos ${t} ${o} */ undefined`;
731
- if (s.__typename === "ReferenceValue") {
732
- 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")}`;
733
- return n.referencePath?.forEach((e) => {
734
- r += `?.${e.path}`;
735
- }), `/* @pos ${t} ${o} */ (${r})${i ? "!" : ""}`;
736
- }
737
- if (s.__typename === "LiteralValue") return `/* @pos ${t} ${o} */ ${s?.value !== null && s?.value !== void 0 ? h(s?.value) : void 0}`;
738
- if (s.__typename === "SubFlowValue") {
739
- let e = s;
740
- 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}}`;
741
- }
742
- return r ? `/* @pos ${t} ${o} */ {}` : `/* @pos ${t} ${o} */ undefined`;
743
- }), d = `node_${$(l.id)}`, f = `fn_${l?.functionDefinition?.identifier?.replace(/::/g, "_")}`;
744
- u.includes("undefined");
745
- let p = `${n}`;
746
- 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]}) {
747
- ${c(l.parameters?.nodes?.[1]?.value?.startingNodeId || (l.parameters?.nodes?.[1]?.value)?.functionDefinition?.identifier, n + " ")}
748
- }`) : l.functionDefinition.identifier === "std::control::if_else" ? (p += `const ${d} = /* @pos ${t} null */ ${f}(${u.join(", ")}) ;\n`, p += `if(${u[0]}) {
749
- ${c(l.parameters?.nodes?.[1]?.value?.startingNodeId || (l.parameters?.nodes?.[1]?.value)?.functionDefinition?.identifier, n + " ")}
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
- ${c(l.parameters?.nodes?.[2]?.value?.startingNodeId || (l.parameters?.nodes?.[2]?.value)?.functionDefinition?.identifier, n + " ")}
752
- }`) : p += `const ${d} = /* @pos ${t} null */ ${f}(${u.join(", ")}) ;\n`, l.nextNodeId && (p += c(l.nextNodeId, n)), p;
753
- }, l = Q(n), u = `declare function flow${e?.signature ?? "(): void"}`, d = t?.map((e) => `declare function fn_${e.identifier?.replace(/::/g, "_")}${e.signature}`).join("\n"), f = new Set(a.map((e) => e?.nextNodeId).filter((e) => !!e)), p = /* @__PURE__ */ new Set();
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) && p.add(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
- ${l}\n
758
- ${u}\n
759
- ${d}\n
838
+ ${f}\n
839
+ ${p}\n
840
+ ${m}\n
760
841
  (() =>
761
- ${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 ? h(e?.value) : void 0}`).join(", ") ?? ""});` : ""}
762
- ${a.filter((e) => e?.id && !f.has(e.id) && !p.has(e.id)).map((e) => c(e.id)).join("\n")}
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 { 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 };
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 };