@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.
- package/dist/index.cjs +3 -3
- package/dist/index.js +123 -117
- package/dist/server.cjs +2 -2
- package/dist/server.js +2 -2
- package/dist/util/schema.util.d.ts +19 -7
- package/dist/{utils-BZOsWQq3.js → utils-CAOAm6k-.js} +207 -148
- package/dist/{utils-DawLGwwh.cjs → utils-oMAOCPrM.cjs} +7 -7
- package/package.json +2 -2
|
@@ -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_") ?
|
|
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 =
|
|
291
|
-
return
|
|
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 } =
|
|
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) =>
|
|
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
|
-
},
|
|
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
|
-
}),
|
|
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:
|
|
321
|
+
nodeFunctionId: C(r),
|
|
322
322
|
paramIndexFromName: i
|
|
323
323
|
};
|
|
324
|
-
},
|
|
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) || !
|
|
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
|
-
},
|
|
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
|
|
340
|
+
return T(s, t, n) && o.push({
|
|
341
341
|
path: r,
|
|
342
342
|
type: e
|
|
343
|
-
}),
|
|
344
|
-
if (i.has(e) || r.length >=
|
|
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(...
|
|
348
|
+
o.push(...D(s, t, n, l, i, a));
|
|
349
349
|
}), i.delete(e));
|
|
350
350
|
}), o;
|
|
351
|
-
},
|
|
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
|
-
},
|
|
355
|
-
let i =
|
|
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
|
-
}),
|
|
358
|
-
let a = t.getSignatureFromDeclaration(n), 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 =
|
|
361
|
-
return
|
|
362
|
-
},
|
|
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 =
|
|
376
|
-
},
|
|
375
|
+
return t && (n.parameters = ce(e?.parameterDefinitions?.nodes || [])), n;
|
|
376
|
+
}, ce = (e) => ({
|
|
377
377
|
__typename: "NodeParameterConnection",
|
|
378
|
-
nodes: e.map((e) =>
|
|
379
|
-
}),
|
|
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
|
-
}),
|
|
391
|
-
let i =
|
|
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
|
-
}) : [],
|
|
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 =
|
|
397
|
-
return o ?
|
|
398
|
-
},
|
|
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
|
-
}),
|
|
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
|
|
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
|
-
}),
|
|
418
|
-
...v(
|
|
419
|
-
...n ? ee(t, n,
|
|
420
|
-
...
|
|
421
|
-
...
|
|
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:
|
|
428
|
-
...
|
|
438
|
+
type: f,
|
|
439
|
+
...m
|
|
429
440
|
};
|
|
430
441
|
}
|
|
431
|
-
let
|
|
432
|
-
if (
|
|
433
|
-
input:
|
|
434
|
-
type:
|
|
435
|
-
...
|
|
442
|
+
let h = B(r);
|
|
443
|
+
if (h) return {
|
|
444
|
+
input: h,
|
|
445
|
+
type: f,
|
|
446
|
+
...m
|
|
436
447
|
};
|
|
437
|
-
if (
|
|
448
|
+
if (V(t, r)) return {
|
|
438
449
|
input: "file",
|
|
439
|
-
type:
|
|
440
|
-
mimetype:
|
|
441
|
-
...
|
|
450
|
+
type: f,
|
|
451
|
+
mimetype: H(t, r),
|
|
452
|
+
...m
|
|
442
453
|
};
|
|
443
|
-
if (
|
|
454
|
+
if (be(t, r)) return {
|
|
444
455
|
input: "color",
|
|
445
|
-
type:
|
|
446
|
-
...
|
|
456
|
+
type: f,
|
|
457
|
+
...m
|
|
447
458
|
};
|
|
448
|
-
if (
|
|
459
|
+
if (U(r)) return {
|
|
449
460
|
input: "boolean",
|
|
450
|
-
type:
|
|
451
|
-
...
|
|
461
|
+
type: f,
|
|
462
|
+
...m
|
|
452
463
|
};
|
|
453
|
-
if (
|
|
464
|
+
if (K(r)) return {
|
|
454
465
|
input: "select",
|
|
455
|
-
type:
|
|
456
|
-
...
|
|
466
|
+
type: f,
|
|
467
|
+
...m
|
|
457
468
|
};
|
|
458
|
-
if (
|
|
469
|
+
if (W(r)) return {
|
|
459
470
|
input: "number",
|
|
460
|
-
type:
|
|
461
|
-
...
|
|
471
|
+
type: f,
|
|
472
|
+
...m
|
|
462
473
|
};
|
|
463
|
-
if (
|
|
474
|
+
if (G(r)) return {
|
|
464
475
|
input: "text",
|
|
465
|
-
type:
|
|
466
|
-
...
|
|
476
|
+
type: f,
|
|
477
|
+
...m
|
|
467
478
|
};
|
|
468
|
-
if (
|
|
479
|
+
if (q(r)) return {
|
|
469
480
|
input: "sub-flow",
|
|
470
|
-
type:
|
|
471
|
-
...
|
|
481
|
+
type: f,
|
|
482
|
+
...m
|
|
472
483
|
};
|
|
473
|
-
if (
|
|
484
|
+
if (we(t, r)) {
|
|
474
485
|
let e = t.getTypeArguments(r);
|
|
475
|
-
if (e.length === 1 &&
|
|
486
|
+
if (e.length === 1 && V(t, e[0])) return {
|
|
476
487
|
input: "list-file",
|
|
477
|
-
type:
|
|
478
|
-
mimetype:
|
|
479
|
-
...
|
|
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 &&
|
|
493
|
+
if (e.length === 1 && K(e[0])) return {
|
|
483
494
|
input: "list-select",
|
|
484
|
-
type:
|
|
495
|
+
type: f,
|
|
485
496
|
items: s,
|
|
486
|
-
...
|
|
497
|
+
...m
|
|
487
498
|
};
|
|
488
499
|
if (e.length === 1) {
|
|
489
500
|
let t = e[0];
|
|
490
|
-
if (
|
|
501
|
+
if (U(t)) return {
|
|
491
502
|
input: "list-boolean",
|
|
492
|
-
type:
|
|
503
|
+
type: f,
|
|
493
504
|
items: s,
|
|
494
|
-
...
|
|
505
|
+
...m
|
|
495
506
|
};
|
|
496
|
-
if (
|
|
507
|
+
if (W(t)) return {
|
|
497
508
|
input: "list-number",
|
|
498
|
-
type:
|
|
509
|
+
type: f,
|
|
499
510
|
items: s,
|
|
500
|
-
...
|
|
511
|
+
...m
|
|
501
512
|
};
|
|
502
|
-
if (
|
|
513
|
+
if (G(t)) return {
|
|
503
514
|
input: "list-text",
|
|
504
|
-
type:
|
|
515
|
+
type: f,
|
|
505
516
|
items: s,
|
|
506
|
-
...
|
|
517
|
+
...m
|
|
507
518
|
};
|
|
508
|
-
if (
|
|
519
|
+
if (q(t)) return {
|
|
509
520
|
input: "list-sub-flow",
|
|
510
|
-
type:
|
|
521
|
+
type: f,
|
|
511
522
|
items: s,
|
|
512
|
-
...
|
|
523
|
+
...m
|
|
513
524
|
};
|
|
514
525
|
}
|
|
515
526
|
return {
|
|
516
527
|
input: "list",
|
|
517
|
-
type:
|
|
528
|
+
type: f,
|
|
518
529
|
items: s,
|
|
519
|
-
...
|
|
530
|
+
...m
|
|
520
531
|
};
|
|
521
532
|
}
|
|
522
533
|
if ((r.flags & e.TypeFlags.Object) !== 0) {
|
|
523
|
-
if (c.has(r) || c.size >= M &&
|
|
534
|
+
if (c.has(r) || c.size >= M && w(r, t, l)) return {
|
|
524
535
|
input: "data",
|
|
525
|
-
type:
|
|
526
|
-
...
|
|
536
|
+
type: f,
|
|
537
|
+
...m
|
|
527
538
|
};
|
|
528
539
|
c.add(r);
|
|
529
540
|
let s = {}, d = [];
|
|
530
|
-
for (let
|
|
531
|
-
let r =
|
|
541
|
+
for (let f of t.getPropertiesOfType(r)) {
|
|
542
|
+
let r = f.valueDeclaration ?? f.declarations?.[0];
|
|
532
543
|
if (!r) continue;
|
|
533
|
-
let
|
|
534
|
-
s[
|
|
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:
|
|
549
|
+
type: f,
|
|
539
550
|
properties: s,
|
|
540
551
|
required: d,
|
|
541
|
-
...
|
|
552
|
+
...m
|
|
542
553
|
};
|
|
543
554
|
}
|
|
544
555
|
return {
|
|
545
556
|
input: "generic",
|
|
546
|
-
type:
|
|
547
|
-
...
|
|
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 =
|
|
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
|
|
618
|
-
let a =
|
|
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,
|
|
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
|
-
},
|
|
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
|
-
},
|
|
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
|
|
687
|
+
function B(e) {
|
|
673
688
|
let t = e.aliasSymbol?.getName();
|
|
674
|
-
return
|
|
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
|
|
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
|
|
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 ?
|
|
722
|
+
return i ? W(t.getTypeOfSymbolAtLocation(n, i)) : !1;
|
|
699
723
|
});
|
|
700
724
|
}
|
|
701
|
-
function
|
|
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
|
|
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
|
|
741
|
+
function W(t) {
|
|
718
742
|
return (t.flags & e.TypeFlags.Number) !== 0 || (t.flags & e.TypeFlags.NumberLiteral) !== 0;
|
|
719
743
|
}
|
|
720
|
-
function
|
|
744
|
+
function G(t) {
|
|
721
745
|
return (t.flags & e.TypeFlags.String) !== 0 || (t.flags & e.TypeFlags.StringLiteral) !== 0;
|
|
722
746
|
}
|
|
723
|
-
function
|
|
724
|
-
return
|
|
747
|
+
function xe(e) {
|
|
748
|
+
return G(e) || W(e) || U(e);
|
|
725
749
|
}
|
|
726
|
-
function
|
|
750
|
+
function Se(t) {
|
|
727
751
|
return (t.flags & e.TypeFlags.StringLiteral) !== 0 || (t.flags & e.TypeFlags.NumberLiteral) !== 0;
|
|
728
752
|
}
|
|
729
|
-
function
|
|
730
|
-
return
|
|
753
|
+
function K(e) {
|
|
754
|
+
return U(e) ? !1 : Ce(e) || Se(e);
|
|
731
755
|
}
|
|
732
|
-
function
|
|
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(
|
|
759
|
+
return n.length > 0 && n.every(xe);
|
|
736
760
|
}
|
|
737
|
-
function
|
|
761
|
+
function we(e, t) {
|
|
738
762
|
return e.isArrayType(t) || e.isTupleType(t);
|
|
739
763
|
}
|
|
740
|
-
function
|
|
764
|
+
function q(e) {
|
|
741
765
|
return e.getCallSignatures().length > 0;
|
|
742
766
|
}
|
|
743
767
|
//#endregion
|
|
744
768
|
//#region src/utils.ts
|
|
745
|
-
var
|
|
746
|
-
function
|
|
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",
|
|
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
|
|
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
|
|
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
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
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
|
|
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" ?
|
|
794
|
-
function
|
|
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
|
-
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
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 =
|
|
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) =>
|
|
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 {
|
|
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 };
|