triangulum 0.33.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.
@@ -175542,7 +175542,7 @@ function mapDataType(dataType) {
175542
175542
  };
175543
175543
  }
175544
175544
 
175545
- // ../dist/utils-DHs93w48.js
175545
+ // ../dist/utils-CAOAm6k-.js
175546
175546
  var import_typescript = __toESM(require_typescript(), 1);
175547
175547
  function t2() {
175548
175548
  return t2 = Object.assign ? Object.assign.bind() : function(e6) {
@@ -175804,9 +175804,13 @@ function g3(e6) {
175804
175804
  if (typeof e6 == "string" && e6 !== "")
175805
175805
  return e6;
175806
175806
  }
175807
- var j3 = { DATE: "date" };
175808
- var M2 = (e6) => e6 != null && (e6 in j3);
175809
- var _e2 = `
175807
+ var k3 = {
175808
+ DATE: "date",
175809
+ TYPE: "type"
175810
+ };
175811
+ var A3 = (e6) => e6 != null && (e6 in k3);
175812
+ var me2 = new Set(Object.values(k3));
175813
+ var Te2 = `
175810
175814
  interface Array<T> {
175811
175815
  [n: number]: T;
175812
175816
  length: number;
@@ -175827,17 +175831,17 @@ var _e2 = `
175827
175831
 
175828
175832
  import ReturnType = Utils.ReturnType;
175829
175833
  `;
175830
- function Y2(t3, n3) {
175834
+ function J2(t3, n3) {
175831
175835
  let r3 = /* @__PURE__ */ new Map;
175832
- return r3.set(t3, n3), r3.set("lib.codezero.d.ts", _e2), a2(u3(r3), [t3, "lib.codezero.d.ts"], import_typescript.default, ve2);
175836
+ return r3.set(t3, n3), r3.set("lib.codezero.d.ts", Te2), a2(u3(r3), [t3, "lib.codezero.d.ts"], import_typescript.default, Ee2);
175833
175837
  }
175834
- var ve2 = {
175838
+ var Ee2 = {
175835
175839
  target: import_typescript.default.ScriptTarget.Latest,
175836
175840
  lib: ["lib.codezero.d.ts"],
175837
175841
  noEmit: true,
175838
175842
  strictNullChecks: true
175839
175843
  };
175840
- function ye2(e6) {
175844
+ function De2(e6) {
175841
175845
  let t3 = [], n3 = 0, r3 = null, i3 = "";
175842
175846
  for (let a3 of e6) {
175843
175847
  if (r3)
@@ -175856,11 +175860,16 @@ function ye2(e6) {
175856
175860
  }
175857
175861
  return t3.push(i3), t3.map((e7) => (e7.trim().split(/\s+/).find((e8) => e8 !== "const" && e8 !== "in" && e8 !== "out") ?? "").match(/^[A-Za-z_$][A-Za-z0-9_$]*/)?.[0] ?? "").filter((e7) => e7.length > 0);
175858
175862
  }
175859
- function X2(e6, t3 = "any", n3 = true) {
175860
- let r3 = Array.from(new Set(e6?.flatMap((e7) => e7.genericKeys || []).flatMap(ye2))).map((e7) => `type ${e7} = ${t3};`).join(`
175863
+ var Oe2 = /* @__PURE__ */ new Set([
175864
+ "number",
175865
+ "string",
175866
+ "boolean"
175867
+ ]);
175868
+ function Y2(e6, t3 = "any", n3 = true) {
175869
+ let r3 = Array.from(new Set(e6?.flatMap((e7) => e7.genericKeys || []).flatMap(De2))).map((e7) => `type ${e7} = ${t3};`).join(`
175861
175870
  `), i3 = e6?.map((e7) => {
175862
- let t4 = (e7.genericKeys?.length ?? 0) > 0 ? `<${e7.genericKeys?.join(",")}>` : "", n4 = M2(e7.identifier) ? `${e7.type} & {}` : e7.type;
175863
- return `type ${e7.identifier}${t4} = ${n4};`;
175871
+ let t4 = A3(e7.identifier), n4 = (e7.genericKeys?.length ?? 0) > 0 ? t4 ? `<${e7.genericKeys.map((e8) => e8.includes("=") ? e8 : `${e8} = any`).join(", ")}>` : `<${e7.genericKeys?.join(",")}>` : "", r4 = e7.type?.trim() ?? "", i4 = t4 ? Oe2.has(r4) ? `${e7.type} & {}` : "{}" : e7.type;
175872
+ return `type ${e7.identifier}${n4} = ${i4};`;
175864
175873
  }).join(`
175865
175874
  `), a3 = e6?.filter((e7) => (e7.genericKeys?.length ?? 0) > 0).map((e7) => `declare const __widen_${e7.identifier}: ${e7.identifier}<${e7.genericKeys.map(() => "any").join(", ")}>;`).join(`
175866
175875
  `) ?? "";
@@ -175868,9 +175877,37 @@ function X2(e6, t3 = "any", n3 = true) {
175868
175877
  ${i3}
175869
175878
  ${a3}`;
175870
175879
  }
175880
+ var ke2 = /^[A-Za-z0-9_$<>\[\]{}(),.:?|&+\-'"\s]+$/;
175881
+ var Ae2 = (e6) => {
175882
+ if (!ke2.test(e6))
175883
+ return false;
175884
+ let t3 = {
175885
+ "<": ">",
175886
+ "[": "]",
175887
+ "{": "}",
175888
+ "(": ")"
175889
+ }, n3 = [], r3 = null;
175890
+ for (let i3 of e6) {
175891
+ if (r3) {
175892
+ i3 === r3 && (r3 = null);
175893
+ continue;
175894
+ }
175895
+ if (i3 === "'" || i3 === '"')
175896
+ r3 = i3;
175897
+ else if (t3[i3])
175898
+ n3.push(t3[i3]);
175899
+ else if ((i3 === ">" || i3 === "]" || i3 === "}" || i3 === ")") && n3.pop() !== i3)
175900
+ return false;
175901
+ }
175902
+ return r3 === null && n3.length === 0;
175903
+ };
175904
+ var X2 = (e6, t3) => {
175905
+ let n3 = t3?.trim();
175906
+ return !n3 || !Ae2(n3) ? e6 : `(${e6}) as unknown as ${n3}`;
175907
+ };
175871
175908
  var Z2 = (e6) => e6?.replace(/[^a-zA-Z0-9]/g, "_");
175872
175909
  var Q2 = (e6) => e6.replace(/\\/g, "\\\\").replace(/`/g, "\\`").replace(/\$\{/g, "\\${");
175873
- var be2 = (e6, t3) => {
175910
+ var je2 = (e6, t3) => {
175874
175911
  let n3 = e6.match(/^\$\{([^}]+)\}$/);
175875
175912
  if (n3 && t3.has(n3[1]))
175876
175913
  return t3.get(n3[1]);
@@ -175889,8 +175926,8 @@ var be2 = (e6, t3) => {
175889
175926
  }
175890
175927
  return a3 += Q2(e6.slice(o3)), "`" + a3 + "`";
175891
175928
  };
175892
- var $2 = (e6, t3) => typeof e6 == "string" ? be2(e6, t3) : Array.isArray(e6) ? `[${e6.map((e7) => $2(e7, t3)).join(", ")}]` : typeof e6 == "object" && e6 ? `{${Object.entries(e6).map(([e7, n3]) => `${h3(e7)}: ${$2(n3, t3)}`).join(", ")}}` : h3(e6) ?? "undefined";
175893
- function xe2(e6, t3, n3, r3 = false, i3 = true) {
175929
+ var $2 = (e6, t3) => typeof e6 == "string" ? je2(e6, t3) : Array.isArray(e6) ? `[${e6.map((e7) => $2(e7, t3)).join(", ")}]` : typeof e6 == "object" && e6 ? `{${Object.entries(e6).map(([e7, n3]) => `${h3(e7)}: ${$2(n3, t3)}`).join(", ")}}` : h3(e6) ?? "undefined";
175930
+ function Me2(e6, t3, n3, r3 = false, i3 = true) {
175894
175931
  let a3 = e6?.nodes?.nodes || [], o3 = new Map(t3?.map((e7) => [e7.identifier, e7])), s3 = /* @__PURE__ */ new Set, c3 = (t4) => {
175895
175932
  let n4 = typeof t4.inputIndex == "number" ? `p_${Z2(t4.nodeFunctionId ?? "undefined")}_${t4.parameterIndex}[${t4.inputIndex}]` : t4.nodeFunctionId ? `node_${Z2(t4.nodeFunctionId)}` : `flow_${Z2(e6?.id ?? "undefined")}`;
175896
175933
  return t4.referencePath?.forEach((e7) => {
@@ -175922,12 +175959,20 @@ ${d4(e7.startingNodeId || e7.functionDefinition?.id, r4 + " ")}${r4}}`, u4 =
175922
175959
  return `${t4}// Error: Function ${n4.functionDefinition.identifier} not found
175923
175960
  `;
175924
175961
  let i4 = (n4.parameters?.nodes || []).map((n5, i5) => {
175925
- let a4 = n5.value;
175926
- return a4 ? a4.__typename === "ReferenceValue" ? `/* @pos ${e7} ${i5} */ ${c3(a4)}` : a4.__typename === "LiteralValue" ? `/* @pos ${e7} ${i5} */ ${u4(a4.value, a4.references, {
175927
- id: e7,
175928
- index: i5,
175929
- indent: t4
175930
- })}` : a4.__typename === "SubFlowValue" ? `/* @pos ${e7} ${i5} */ ${l3(a4, e7, i5, t4)}` : r3 ? `/* @pos ${e7} ${i5} */ {}` : `/* @pos ${e7} ${i5} */ undefined` : r3 ? `/* @pos ${e7} ${i5} */ {}` : `/* @pos ${e7} ${i5} */ undefined`;
175962
+ let a4 = n5.value, o4 = r3 ? `/* @pos ${e7} ${i5} */ ${X2("{}", n5.cast)}` : `/* @pos ${e7} ${i5} */ undefined`;
175963
+ if (!a4)
175964
+ return o4;
175965
+ if (a4.__typename === "ReferenceValue")
175966
+ return `/* @pos ${e7} ${i5} */ ${X2(c3(a4), n5.cast)}`;
175967
+ if (a4.__typename === "LiteralValue") {
175968
+ let r4 = u4(a4.value, a4.references, {
175969
+ id: e7,
175970
+ index: i5,
175971
+ indent: t4
175972
+ });
175973
+ return r4 === undefined ? `/* @pos ${e7} ${i5} */ undefined` : `/* @pos ${e7} ${i5} */ ${X2(r4, n5.cast)}`;
175974
+ }
175975
+ return a4.__typename === "SubFlowValue" ? `/* @pos ${e7} ${i5} */ ${l3(a4, e7, i5, t4)}` : o4;
175931
175976
  }), f5 = `node_${Z2(n4.id)}`, p5 = `fn_${n4?.functionDefinition?.identifier?.replace(/::/g, "_")}`;
175932
175977
  i4.includes("undefined");
175933
175978
  let m5 = `${t4}`;
@@ -175943,7 +175988,7 @@ ${d4(e7.startingNodeId || e7.functionDefinition?.id, r4 + " ")}${r4}}`, u4 =
175943
175988
  ${d4(n4.parameters?.nodes?.[2]?.value?.startingNodeId || n4.parameters?.nodes?.[2]?.value?.functionDefinition?.identifier, t4 + " ")}
175944
175989
  }`) : m5 += `const ${f5} = /* @pos ${e7} null */ ${p5}(${i4.join(", ")}) ;
175945
175990
  `, n4.nextNodeId && (m5 += d4(n4.nextNodeId, t4)), m5;
175946
- }, f4 = X2(n3), p4 = `declare function flow${e6?.signature ?? "(): void"}`, m4 = t3?.map((e7) => `declare function fn_${e7.identifier?.replace(/::/g, "_")}${e7.signature}`).join(`
175991
+ }, f4 = Y2(n3), p4 = `declare function flow${e6?.signature ?? "(): void"}`, m4 = t3?.map((e7) => `declare function fn_${e7.identifier?.replace(/::/g, "_")}${e7.signature}`).join(`
175947
175992
  `), g4 = new Set(a3.map((e7) => e7?.nextNodeId).filter((e7) => !!e7)), _3 = /* @__PURE__ */ new Set;
175948
175993
  return a3.forEach((e7) => e7?.parameters?.nodes?.forEach((e8) => {
175949
175994
  e8?.value?.__typename === "SubFlowValue" && (e8.value.startingNodeId || e8.value.functionDefinition?.id) && _3.add(e8.value.startingNodeId || e8.value.functionDefinition?.id);
@@ -175955,7 +176000,10 @@ ${d4(e7.startingNodeId || e7.functionDefinition?.id, r4 + " ")}${r4}}`, u4 =
175955
176000
  ${m4}
175956
176001
 
175957
176002
  (() =>
175958
- ${e6 ? `const flow_${Z2(e6.id ?? "")} = /* @pos null null */ flow(${e6.settings?.nodes?.map((e7, t4) => `/* @pos null ${t4} */ ${e7?.value !== null && e7?.value !== undefined ? h3(e7?.value) : undefined}`).join(", ") ?? ""});` : ""}
176003
+ ${e6 ? `const flow_${Z2(e6.id ?? "")} = /* @pos null null */ flow(${e6.settings?.nodes?.map((e7, t4) => {
176004
+ let n4 = e7?.value !== null && e7?.value !== undefined ? h3(e7.value) : undefined;
176005
+ return `/* @pos null ${t4} */ ${n4 === undefined ? "undefined" : X2(n4, e7?.cast)}`;
176006
+ }).join(", ") ?? ""});` : ""}
175959
176007
  ${a3.filter((e7) => e7?.id && !g4.has(e7.id) && !_3.has(e7.id)).map((e7) => d4(e7.id)).join(`
175960
176008
  `)}
175961
176009
  )();
@@ -175964,31 +176012,32 @@ ${d4(e7.startingNodeId || e7.functionDefinition?.id, r4 + " ")}${r4}}`, u4 =
175964
176012
 
175965
176013
  // ../dist/index.js
175966
176014
  var import_typescript2 = __toESM(require_typescript(), 1);
175967
- var m4 = 2345;
175968
- var h4 = 2339;
175969
- var g4 = (e6, t3, n3) => {
176015
+ var _3 = 2345;
176016
+ var v3 = 2322;
176017
+ var y3 = 2339;
176018
+ var b3 = (e6, t3, n3) => {
175970
176019
  if (e6.getStart() > t3 || e6.getEnd() < n3)
175971
176020
  return;
175972
176021
  let r3 = e6;
175973
176022
  return e6.forEachChild((e7) => {
175974
- let i3 = g4(e7, t3, n3);
176023
+ let i3 = b3(e7, t3, n3);
175975
176024
  i3 && (r3 = i3);
175976
176025
  }), r3;
175977
176026
  };
175978
- var _3 = (e6, t3, n3) => {
176027
+ var x3 = (e6, t3, n3) => {
175979
176028
  if (e6.start === undefined || e6.length === undefined)
175980
176029
  return false;
175981
- let r3 = g4(t3, e6.start, e6.start + e6.length);
176030
+ let r3 = b3(t3, e6.start, e6.start + e6.length);
175982
176031
  if (!r3)
175983
176032
  return false;
175984
- if (e6.code === m4 && import_typescript2.default.isExpression(r3)) {
176033
+ if ((e6.code === _3 || e6.code === v3) && import_typescript2.default.isExpression(r3)) {
175985
176034
  let e7 = n3.getTypeAtLocation(r3);
175986
176035
  if (!e7.isUnion())
175987
176036
  return false;
175988
176037
  let t4 = n3.getContextualType(r3);
175989
176038
  return t4 ? e7.types.some((e8) => (e8.flags & (import_typescript2.default.TypeFlags.Null | import_typescript2.default.TypeFlags.Undefined)) === 0 && n3.isTypeAssignableTo(e8, t4)) : false;
175990
176039
  }
175991
- if (e6.code === h4 && import_typescript2.default.isPropertyAccessExpression(r3.parent)) {
176040
+ if (e6.code === y3 && import_typescript2.default.isPropertyAccessExpression(r3.parent)) {
175992
176041
  let e7 = n3.getNonNullableType(n3.getTypeAtLocation(r3.parent.expression));
175993
176042
  if (!e7.isUnion())
175994
176043
  return false;
@@ -175997,7 +176046,7 @@ var _3 = (e6, t3, n3) => {
175997
176046
  }
175998
176047
  return false;
175999
176048
  };
176000
- var v3 = (e6, t3, n3) => {
176049
+ var S3 = (e6, t3, n3) => {
176001
176050
  if (!e6?.startingNodeId)
176002
176051
  return {
176003
176052
  isValid: false,
@@ -176022,48 +176071,48 @@ var v3 = (e6, t3, n3) => {
176022
176071
  severity: "error"
176023
176072
  }]
176024
176073
  };
176025
- let r3 = new Set(t3?.map((e7) => e7.identifier)), a3 = (e6.nodes?.nodes ?? []).filter((e7) => e7?.functionDefinition && !r3.has(e7.functionDefinition.identifier)).map((e7) => ({
176074
+ let r3 = new Set(t3?.map((e7) => e7.identifier)), i3 = (e6.nodes?.nodes ?? []).filter((e7) => e7?.functionDefinition && !r3.has(e7.functionDefinition.identifier)).map((e7) => ({
176026
176075
  nodeId: e7.id,
176027
176076
  parameterIndex: null,
176028
176077
  code: 0,
176029
176078
  message: `The function definition "${e7.functionDefinition.identifier}" is not reachable.`,
176030
176079
  severity: "error"
176031
176080
  }));
176032
- if (a3.length > 0)
176081
+ if (i3.length > 0)
176033
176082
  return {
176034
176083
  isValid: false,
176035
176084
  returnType: "void",
176036
- diagnostics: a3
176085
+ diagnostics: i3
176037
176086
  };
176038
- let o3 = xe2(e6, t3, n3, false, false), s3 = "index.ts", l3 = Y2(s3, o3), u5 = l3.getSourceFile(s3), f4 = l3.languageService.getProgram(), p4 = f4.getTypeChecker(), m5 = f4.getSemanticDiagnostics(u5).map((e7) => {
176087
+ let a3 = Me2(e6, t3, n3, false, false), s3 = "index.ts", c3 = J2(s3, a3), l3 = c3.getSourceFile(s3), u4 = c3.languageService.getProgram(), f4 = u4.getTypeChecker(), p5 = u4.getSemanticDiagnostics(l3).map((e7) => {
176039
176088
  let t4 = import_typescript2.flattenDiagnosticMessageText(e7.messageText, `
176040
176089
  `), n4, r4 = null;
176041
176090
  if (e7.start !== undefined) {
176042
- let t5 = u5.getFullText(), i4 = Math.max(0, e7.start - 300), a4 = Math.min(t5.length, e7.start), o4 = t5.substring(i4, a4), s4 = /\/\* @pos ([^ ]+) (\d+|null) \*\//g, c3, l4 = null, d5 = -1;
176043
- for (;(c3 = s4.exec(o4)) !== null; ) {
176044
- let t6 = i4 + c3.index + c3[0].length;
176045
- t6 <= e7.start && t6 > d5 && (d5 = t6, l4 = c3);
176091
+ let t5 = l3.getFullText(), i5 = Math.max(0, e7.start - 300), a4 = Math.min(t5.length, e7.start), o3 = t5.substring(i5, a4), s4 = /\/\* @pos ([^ ]+) (\d+|null) \*\//g, c4, u5 = null, d4 = -1;
176092
+ for (;(c4 = s4.exec(o3)) !== null; ) {
176093
+ let t6 = i5 + c4.index + c4[0].length;
176094
+ t6 <= e7.start && t6 > d4 && (d4 = t6, u5 = c4);
176046
176095
  }
176047
- l4 && (n4 = l4[1] === "null" ? null : l4[1], r4 = parseInt(l4[2], 10));
176096
+ u5 && (n4 = u5[1] === "null" ? null : u5[1], r4 = parseInt(u5[2], 10));
176048
176097
  }
176049
- let i3 = _3(e7, u5, p4) ? "warning" : "error";
176098
+ let i4 = x3(e7, l3, f4) ? "warning" : "error";
176050
176099
  return {
176051
176100
  message: t4,
176052
176101
  code: e7.code,
176053
- severity: i3,
176102
+ severity: i4,
176054
176103
  nodeId: n4,
176055
176104
  parameterIndex: typeof r4 == "number" && Number.isSafeInteger(r4) ? r4 : null
176056
176105
  };
176057
176106
  }).filter((e7) => e7 !== null);
176058
176107
  return {
176059
- isValid: !m5.some((e7) => e7?.severity === "error"),
176108
+ isValid: !p5.some((e7) => e7?.severity === "error"),
176060
176109
  returnType: "void",
176061
- diagnostics: m5
176110
+ diagnostics: p5
176062
176111
  };
176063
176112
  };
176064
176113
 
176065
176114
  // ../entrypoint/single-validation.ts
176066
176115
  var data = await readSingleValidation(console);
176067
176116
  var validationInput = mapToFlowValidation(data);
176068
- var result = v3(validationInput.flow, validationInput.functions, validationInput.dataTypes);
176117
+ var result = S3(validationInput.flow, validationInput.functions, validationInput.dataTypes);
176069
176118
  console.info(JSON.stringify(result));
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Triangulum
4
- VERSION = '0.33.0'
4
+ VERSION = '0.35.0'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: triangulum
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.33.0
4
+ version: 0.35.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Niklas van Schrick