@ruleflow-ts/dsl-core 0.1.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.
Files changed (199) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +290 -0
  3. package/dist/debug.d.ts +11 -0
  4. package/dist/debug.d.ts.map +1 -0
  5. package/dist/debug.js +30 -0
  6. package/dist/debug.js.map +1 -0
  7. package/dist/errors/PropertyNotFoundError.d.ts +5 -0
  8. package/dist/errors/PropertyNotFoundError.d.ts.map +1 -0
  9. package/dist/errors/PropertyNotFoundError.js +17 -0
  10. package/dist/errors/PropertyNotFoundError.js.map +1 -0
  11. package/dist/evaluator/AggregationEvaluator.d.ts +9 -0
  12. package/dist/evaluator/AggregationEvaluator.d.ts.map +1 -0
  13. package/dist/evaluator/AggregationEvaluator.js +74 -0
  14. package/dist/evaluator/AggregationEvaluator.js.map +1 -0
  15. package/dist/evaluator/BinaryAndEvaluator.d.ts +6 -0
  16. package/dist/evaluator/BinaryAndEvaluator.d.ts.map +1 -0
  17. package/dist/evaluator/BinaryAndEvaluator.js +14 -0
  18. package/dist/evaluator/BinaryAndEvaluator.js.map +1 -0
  19. package/dist/evaluator/BinaryOrEvaluator.d.ts +6 -0
  20. package/dist/evaluator/BinaryOrEvaluator.d.ts.map +1 -0
  21. package/dist/evaluator/BinaryOrEvaluator.js +14 -0
  22. package/dist/evaluator/BinaryOrEvaluator.js.map +1 -0
  23. package/dist/evaluator/ComparatorEvaluator.d.ts +9 -0
  24. package/dist/evaluator/ComparatorEvaluator.d.ts.map +1 -0
  25. package/dist/evaluator/ComparatorEvaluator.js +95 -0
  26. package/dist/evaluator/ComparatorEvaluator.js.map +1 -0
  27. package/dist/evaluator/ListEvaluator.d.ts +10 -0
  28. package/dist/evaluator/ListEvaluator.d.ts.map +1 -0
  29. package/dist/evaluator/ListEvaluator.js +71 -0
  30. package/dist/evaluator/ListEvaluator.js.map +1 -0
  31. package/dist/evaluator/MathAddEvaluator.d.ts +5 -0
  32. package/dist/evaluator/MathAddEvaluator.d.ts.map +1 -0
  33. package/dist/evaluator/MathAddEvaluator.js +20 -0
  34. package/dist/evaluator/MathAddEvaluator.js.map +1 -0
  35. package/dist/evaluator/MathMulEvaluator.d.ts +5 -0
  36. package/dist/evaluator/MathMulEvaluator.d.ts.map +1 -0
  37. package/dist/evaluator/MathMulEvaluator.js +23 -0
  38. package/dist/evaluator/MathMulEvaluator.js.map +1 -0
  39. package/dist/evaluator/ParenthesisEvaluator.d.ts +5 -0
  40. package/dist/evaluator/ParenthesisEvaluator.d.ts.map +1 -0
  41. package/dist/evaluator/ParenthesisEvaluator.js +10 -0
  42. package/dist/evaluator/ParenthesisEvaluator.js.map +1 -0
  43. package/dist/evaluator/RegexlikeEvaluator.d.ts +6 -0
  44. package/dist/evaluator/RegexlikeEvaluator.d.ts.map +1 -0
  45. package/dist/evaluator/RegexlikeEvaluator.js +23 -0
  46. package/dist/evaluator/RegexlikeEvaluator.js.map +1 -0
  47. package/dist/evaluator/TupleListEvaluator.d.ts +11 -0
  48. package/dist/evaluator/TupleListEvaluator.d.ts.map +1 -0
  49. package/dist/evaluator/TupleListEvaluator.js +121 -0
  50. package/dist/evaluator/TupleListEvaluator.js.map +1 -0
  51. package/dist/evaluator/UnaryEvaluator.d.ts +6 -0
  52. package/dist/evaluator/UnaryEvaluator.d.ts.map +1 -0
  53. package/dist/evaluator/UnaryEvaluator.js +12 -0
  54. package/dist/evaluator/UnaryEvaluator.js.map +1 -0
  55. package/dist/evaluator/ValidPropertyEvaluator.d.ts +6 -0
  56. package/dist/evaluator/ValidPropertyEvaluator.d.ts.map +1 -0
  57. package/dist/evaluator/ValidPropertyEvaluator.js +32 -0
  58. package/dist/evaluator/ValidPropertyEvaluator.js.map +1 -0
  59. package/dist/evaluator/ValueEvaluator.d.ts +8 -0
  60. package/dist/evaluator/ValueEvaluator.d.ts.map +1 -0
  61. package/dist/evaluator/ValueEvaluator.js +43 -0
  62. package/dist/evaluator/ValueEvaluator.js.map +1 -0
  63. package/dist/evaluator/date/DateAddEvaluator.d.ts +7 -0
  64. package/dist/evaluator/date/DateAddEvaluator.d.ts.map +1 -0
  65. package/dist/evaluator/date/DateAddEvaluator.js +36 -0
  66. package/dist/evaluator/date/DateAddEvaluator.js.map +1 -0
  67. package/dist/evaluator/date/DateDiffEvaluator.d.ts +7 -0
  68. package/dist/evaluator/date/DateDiffEvaluator.d.ts.map +1 -0
  69. package/dist/evaluator/date/DateDiffEvaluator.js +31 -0
  70. package/dist/evaluator/date/DateDiffEvaluator.js.map +1 -0
  71. package/dist/evaluator/date/DateOperationEvaluator.d.ts +6 -0
  72. package/dist/evaluator/date/DateOperationEvaluator.d.ts.map +1 -0
  73. package/dist/evaluator/date/DateOperationEvaluator.js +13 -0
  74. package/dist/evaluator/date/DateOperationEvaluator.js.map +1 -0
  75. package/dist/evaluator/date/DateParseExprEvaluator.d.ts +7 -0
  76. package/dist/evaluator/date/DateParseExprEvaluator.d.ts.map +1 -0
  77. package/dist/evaluator/date/DateParseExprEvaluator.js +44 -0
  78. package/dist/evaluator/date/DateParseExprEvaluator.js.map +1 -0
  79. package/dist/evaluator/date/DateSubtractEvaluator.d.ts +7 -0
  80. package/dist/evaluator/date/DateSubtractEvaluator.d.ts.map +1 -0
  81. package/dist/evaluator/date/DateSubtractEvaluator.js +36 -0
  82. package/dist/evaluator/date/DateSubtractEvaluator.js.map +1 -0
  83. package/dist/evaluator/date/DateValueEvaluator.d.ts +7 -0
  84. package/dist/evaluator/date/DateValueEvaluator.d.ts.map +1 -0
  85. package/dist/evaluator/date/DateValueEvaluator.js +44 -0
  86. package/dist/evaluator/date/DateValueEvaluator.js.map +1 -0
  87. package/dist/evaluator/date/DayOfWeekEvaluator.d.ts +7 -0
  88. package/dist/evaluator/date/DayOfWeekEvaluator.d.ts.map +1 -0
  89. package/dist/evaluator/date/DayOfWeekEvaluator.js +21 -0
  90. package/dist/evaluator/date/DayOfWeekEvaluator.js.map +1 -0
  91. package/dist/evaluator/date/NowEvaluator.d.ts +6 -0
  92. package/dist/evaluator/date/NowEvaluator.d.ts.map +1 -0
  93. package/dist/evaluator/date/NowEvaluator.js +10 -0
  94. package/dist/evaluator/date/NowEvaluator.js.map +1 -0
  95. package/dist/evaluator/geo/DistanceEvaluator.d.ts +6 -0
  96. package/dist/evaluator/geo/DistanceEvaluator.d.ts.map +1 -0
  97. package/dist/evaluator/geo/DistanceEvaluator.js +15 -0
  98. package/dist/evaluator/geo/DistanceEvaluator.js.map +1 -0
  99. package/dist/evaluator/geo/DistanceGeohashEvaluator.d.ts +6 -0
  100. package/dist/evaluator/geo/DistanceGeohashEvaluator.d.ts.map +1 -0
  101. package/dist/evaluator/geo/DistanceGeohashEvaluator.js +15 -0
  102. package/dist/evaluator/geo/DistanceGeohashEvaluator.js.map +1 -0
  103. package/dist/evaluator/geo/GeoOperationEvaluator.d.ts +6 -0
  104. package/dist/evaluator/geo/GeoOperationEvaluator.d.ts.map +1 -0
  105. package/dist/evaluator/geo/GeoOperationEvaluator.js +11 -0
  106. package/dist/evaluator/geo/GeoOperationEvaluator.js.map +1 -0
  107. package/dist/evaluator/geo/GeohashDecodeEvaluator.d.ts +6 -0
  108. package/dist/evaluator/geo/GeohashDecodeEvaluator.d.ts.map +1 -0
  109. package/dist/evaluator/geo/GeohashDecodeEvaluator.js +12 -0
  110. package/dist/evaluator/geo/GeohashDecodeEvaluator.js.map +1 -0
  111. package/dist/evaluator/geo/GeohashEncodeEvaluator.d.ts +6 -0
  112. package/dist/evaluator/geo/GeohashEncodeEvaluator.d.ts.map +1 -0
  113. package/dist/evaluator/geo/GeohashEncodeEvaluator.js +15 -0
  114. package/dist/evaluator/geo/GeohashEncodeEvaluator.js.map +1 -0
  115. package/dist/evaluator/geo/WithinRadiusEvaluator.d.ts +6 -0
  116. package/dist/evaluator/geo/WithinRadiusEvaluator.d.ts.map +1 -0
  117. package/dist/evaluator/geo/WithinRadiusEvaluator.js +17 -0
  118. package/dist/evaluator/geo/WithinRadiusEvaluator.js.map +1 -0
  119. package/dist/evaluator/geo/geohash.d.ts +4 -0
  120. package/dist/evaluator/geo/geohash.d.ts.map +1 -0
  121. package/dist/evaluator/geo/geohash.js +91 -0
  122. package/dist/evaluator/geo/geohash.js.map +1 -0
  123. package/dist/evaluator/string/PartialRatioEvaluator.d.ts +6 -0
  124. package/dist/evaluator/string/PartialRatioEvaluator.d.ts.map +1 -0
  125. package/dist/evaluator/string/PartialRatioEvaluator.js +13 -0
  126. package/dist/evaluator/string/PartialRatioEvaluator.js.map +1 -0
  127. package/dist/evaluator/string/StringDistanceEvaluator.d.ts +6 -0
  128. package/dist/evaluator/string/StringDistanceEvaluator.d.ts.map +1 -0
  129. package/dist/evaluator/string/StringDistanceEvaluator.js +13 -0
  130. package/dist/evaluator/string/StringDistanceEvaluator.js.map +1 -0
  131. package/dist/evaluator/string/StringSimilarityScoreEvaluator.d.ts +6 -0
  132. package/dist/evaluator/string/StringSimilarityScoreEvaluator.d.ts.map +1 -0
  133. package/dist/evaluator/string/StringSimilarityScoreEvaluator.js +13 -0
  134. package/dist/evaluator/string/StringSimilarityScoreEvaluator.js.map +1 -0
  135. package/dist/evaluator/string/TokenSetRatioEvaluator.d.ts +6 -0
  136. package/dist/evaluator/string/TokenSetRatioEvaluator.d.ts.map +1 -0
  137. package/dist/evaluator/string/TokenSetRatioEvaluator.js +15 -0
  138. package/dist/evaluator/string/TokenSetRatioEvaluator.js.map +1 -0
  139. package/dist/evaluator/string/TokenSortRatioEvaluator.d.ts +6 -0
  140. package/dist/evaluator/string/TokenSortRatioEvaluator.d.ts.map +1 -0
  141. package/dist/evaluator/string/TokenSortRatioEvaluator.js +15 -0
  142. package/dist/evaluator/string/TokenSortRatioEvaluator.js.map +1 -0
  143. package/dist/evaluator/string/levenshtein.d.ts +7 -0
  144. package/dist/evaluator/string/levenshtein.d.ts.map +1 -0
  145. package/dist/evaluator/string/levenshtein.js +81 -0
  146. package/dist/evaluator/string/levenshtein.js.map +1 -0
  147. package/dist/generated/RuleFlowLanguageLexer.d.ts +4 -0
  148. package/dist/generated/RuleFlowLanguageLexer.d.ts.map +1 -0
  149. package/dist/generated/RuleFlowLanguageLexer.js +9 -0
  150. package/dist/generated/RuleFlowLanguageLexer.js.map +1 -0
  151. package/dist/generated/RuleFlowLanguageParser.d.ts +8 -0
  152. package/dist/generated/RuleFlowLanguageParser.d.ts.map +1 -0
  153. package/dist/generated/RuleFlowLanguageParser.js +13 -0
  154. package/dist/generated/RuleFlowLanguageParser.js.map +1 -0
  155. package/dist/generated/src/grammar/RuleFlowLanguageLexer.d.ts +106 -0
  156. package/dist/generated/src/grammar/RuleFlowLanguageLexer.d.ts.map +1 -0
  157. package/dist/generated/src/grammar/RuleFlowLanguageLexer.js +1128 -0
  158. package/dist/generated/src/grammar/RuleFlowLanguageLexer.js.map +1 -0
  159. package/dist/generated/src/grammar/RuleFlowLanguageListener.d.ts +752 -0
  160. package/dist/generated/src/grammar/RuleFlowLanguageListener.d.ts.map +1 -0
  161. package/dist/generated/src/grammar/RuleFlowLanguageListener.js +4 -0
  162. package/dist/generated/src/grammar/RuleFlowLanguageListener.js.map +1 -0
  163. package/dist/generated/src/grammar/RuleFlowLanguageParser.d.ts +936 -0
  164. package/dist/generated/src/grammar/RuleFlowLanguageParser.d.ts.map +1 -0
  165. package/dist/generated/src/grammar/RuleFlowLanguageParser.js +6080 -0
  166. package/dist/generated/src/grammar/RuleFlowLanguageParser.js.map +1 -0
  167. package/dist/generated/src/grammar/RuleFlowLanguageVisitor.d.ts +476 -0
  168. package/dist/generated/src/grammar/RuleFlowLanguageVisitor.d.ts.map +1 -0
  169. package/dist/generated/src/grammar/RuleFlowLanguageVisitor.js +4 -0
  170. package/dist/generated/src/grammar/RuleFlowLanguageVisitor.js.map +1 -0
  171. package/dist/index.d.ts +4 -0
  172. package/dist/index.d.ts.map +1 -0
  173. package/dist/index.js +9 -0
  174. package/dist/index.js.map +1 -0
  175. package/dist/listeners/ErrorListener.d.ts +5 -0
  176. package/dist/listeners/ErrorListener.d.ts.map +1 -0
  177. package/dist/listeners/ErrorListener.js +10 -0
  178. package/dist/listeners/ErrorListener.js.map +1 -0
  179. package/dist/types.d.ts +23 -0
  180. package/dist/types.d.ts.map +1 -0
  181. package/dist/types.js +3 -0
  182. package/dist/types.js.map +1 -0
  183. package/dist/visitors/ActionsVisitor.d.ts +12 -0
  184. package/dist/visitors/ActionsVisitor.d.ts.map +1 -0
  185. package/dist/visitors/ActionsVisitor.js +82 -0
  186. package/dist/visitors/ActionsVisitor.js.map +1 -0
  187. package/dist/visitors/RulesetVisitor.d.ts +18 -0
  188. package/dist/visitors/RulesetVisitor.d.ts.map +1 -0
  189. package/dist/visitors/RulesetVisitor.js +190 -0
  190. package/dist/visitors/RulesetVisitor.js.map +1 -0
  191. package/dist/visitors/Visitor.d.ts +13 -0
  192. package/dist/visitors/Visitor.d.ts.map +1 -0
  193. package/dist/visitors/Visitor.js +169 -0
  194. package/dist/visitors/Visitor.js.map +1 -0
  195. package/dist/workflow.d.ts +9 -0
  196. package/dist/workflow.d.ts.map +1 -0
  197. package/dist/workflow.js +56 -0
  198. package/dist/workflow.js.map +1 -0
  199. package/package.json +69 -0
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.geohashEncode = geohashEncode;
4
+ exports.geohashDecode = geohashDecode;
5
+ exports.haversineKm = haversineKm;
6
+ // Minimal geohash encode/decode utilities (WGS84)
7
+ // Base32 map for geohash
8
+ const BASE32 = '0123456789bcdefghjkmnpqrstuvwxyz';
9
+ const BASE32_MAP = Object.fromEntries(Array.from(BASE32).map((c, i) => [c, i]));
10
+ function geohashEncode(lat, lon, precision = 12) {
11
+ let idx = 0;
12
+ let bit = 0;
13
+ let even = true;
14
+ let hash = '';
15
+ let latMin = -90, latMax = 90;
16
+ let lonMin = -180, lonMax = 180;
17
+ while (hash.length < precision) {
18
+ if (even) {
19
+ const mid = (lonMin + lonMax) / 2;
20
+ if (lon >= mid) {
21
+ idx = (idx << 1) + 1;
22
+ lonMin = mid;
23
+ }
24
+ else {
25
+ idx = (idx << 1) + 0;
26
+ lonMax = mid;
27
+ }
28
+ }
29
+ else {
30
+ const mid = (latMin + latMax) / 2;
31
+ if (lat >= mid) {
32
+ idx = (idx << 1) + 1;
33
+ latMin = mid;
34
+ }
35
+ else {
36
+ idx = (idx << 1) + 0;
37
+ latMax = mid;
38
+ }
39
+ }
40
+ even = !even;
41
+ if (++bit === 5) {
42
+ hash += BASE32[idx];
43
+ bit = 0;
44
+ idx = 0;
45
+ }
46
+ }
47
+ return hash;
48
+ }
49
+ function geohashDecode(hash) {
50
+ let even = true;
51
+ let latMin = -90, latMax = 90;
52
+ let lonMin = -180, lonMax = 180;
53
+ for (const c of hash.toLowerCase()) {
54
+ const val = BASE32_MAP[c];
55
+ if (val == null)
56
+ throw new Error(`Invalid geohash character: ${c}`);
57
+ for (let n = 4; n >= 0; n--) {
58
+ const bit = (val >> n) & 1;
59
+ if (even) {
60
+ const mid = (lonMin + lonMax) / 2;
61
+ if (bit === 1)
62
+ lonMin = mid;
63
+ else
64
+ lonMax = mid;
65
+ }
66
+ else {
67
+ const mid = (latMin + latMax) / 2;
68
+ if (bit === 1)
69
+ latMin = mid;
70
+ else
71
+ latMax = mid;
72
+ }
73
+ even = !even;
74
+ }
75
+ }
76
+ const lat = (latMin + latMax) / 2;
77
+ const lon = (lonMin + lonMax) / 2;
78
+ return [lat, lon];
79
+ }
80
+ // Haversine distance in kilometers between two coordinates
81
+ function haversineKm(lat1, lon1, lat2, lon2) {
82
+ const toRad = (d) => (d * Math.PI) / 180;
83
+ const R = 6371; // km
84
+ const dLat = toRad(lat2 - lat1);
85
+ const dLon = toRad(lon2 - lon1);
86
+ const a = Math.sin(dLat / 2) ** 2 +
87
+ Math.cos(toRad(lat1)) * Math.cos(toRad(lat2)) * Math.sin(dLon / 2) ** 2;
88
+ const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));
89
+ return R * c;
90
+ }
91
+ //# sourceMappingURL=geohash.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"geohash.js","sourceRoot":"","sources":["../../../src/evaluator/geo/geohash.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { Visitor } from '../../visitors/Visitor';
2
+ import type { PartialRatioContext } from '../../generated/src/grammar/RuleFlowLanguageParser';
3
+ export declare class PartialRatioEvaluator {
4
+ evaluate(ctx: PartialRatioContext, visitor: Visitor): number;
5
+ }
6
+ //# sourceMappingURL=PartialRatioEvaluator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PartialRatioEvaluator.d.ts","sourceRoot":"","sources":["../../../src/evaluator/string/PartialRatioEvaluator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oDAAoD,CAAC;AAG9F,qBAAa,qBAAqB;IAChC,QAAQ,CAAC,GAAG,EAAE,mBAAmB,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM;CAK7D"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PartialRatioEvaluator = void 0;
4
+ const levenshtein_1 = require("./levenshtein");
5
+ class PartialRatioEvaluator {
6
+ evaluate(ctx, visitor) {
7
+ const left = String(visitor.visit(ctx.expr(0)) ?? '');
8
+ const right = String(visitor.visit(ctx.expr(1)) ?? '');
9
+ return (0, levenshtein_1.partialRatio)(left, right);
10
+ }
11
+ }
12
+ exports.PartialRatioEvaluator = PartialRatioEvaluator;
13
+ //# sourceMappingURL=PartialRatioEvaluator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PartialRatioEvaluator.js","sourceRoot":"","sources":["../../../src/evaluator/string/PartialRatioEvaluator.ts"],"names":[],"mappings":";;;AAEA,+CAA6C;AAE7C,MAAa,qBAAqB;IAChC,QAAQ,CAAC,GAAwB,EAAE,OAAgB;QACjD,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACtD,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACvD,OAAO,IAAA,0BAAY,EAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACnC,CAAC;CACF;AAND,sDAMC"}
@@ -0,0 +1,6 @@
1
+ import type { Visitor } from '../../visitors/Visitor';
2
+ import type { StringDistanceContext } from '../../generated/src/grammar/RuleFlowLanguageParser';
3
+ export declare class StringDistanceEvaluator {
4
+ evaluate(ctx: StringDistanceContext, visitor: Visitor): number;
5
+ }
6
+ //# sourceMappingURL=StringDistanceEvaluator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StringDistanceEvaluator.d.ts","sourceRoot":"","sources":["../../../src/evaluator/string/StringDistanceEvaluator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oDAAoD,CAAC;AAGhG,qBAAa,uBAAuB;IAClC,QAAQ,CAAC,GAAG,EAAE,qBAAqB,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM;CAK/D"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.StringDistanceEvaluator = void 0;
4
+ const levenshtein_1 = require("./levenshtein");
5
+ class StringDistanceEvaluator {
6
+ evaluate(ctx, visitor) {
7
+ const left = String(visitor.visit(ctx.expr(0)) ?? '');
8
+ const right = String(visitor.visit(ctx.expr(1)) ?? '');
9
+ return (0, levenshtein_1.levenshtein)(left, right);
10
+ }
11
+ }
12
+ exports.StringDistanceEvaluator = StringDistanceEvaluator;
13
+ //# sourceMappingURL=StringDistanceEvaluator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StringDistanceEvaluator.js","sourceRoot":"","sources":["../../../src/evaluator/string/StringDistanceEvaluator.ts"],"names":[],"mappings":";;;AAEA,+CAA4C;AAE5C,MAAa,uBAAuB;IAClC,QAAQ,CAAC,GAA0B,EAAE,OAAgB;QACnD,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACtD,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACvD,OAAO,IAAA,yBAAW,EAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAClC,CAAC;CACF;AAND,0DAMC"}
@@ -0,0 +1,6 @@
1
+ import type { Visitor } from '../../visitors/Visitor';
2
+ import type { StringSimilarityScoreContext } from '../../generated/src/grammar/RuleFlowLanguageParser';
3
+ export declare class StringSimilarityScoreEvaluator {
4
+ evaluate(ctx: StringSimilarityScoreContext, visitor: Visitor): number;
5
+ }
6
+ //# sourceMappingURL=StringSimilarityScoreEvaluator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StringSimilarityScoreEvaluator.d.ts","sourceRoot":"","sources":["../../../src/evaluator/string/StringSimilarityScoreEvaluator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,oDAAoD,CAAC;AAGvG,qBAAa,8BAA8B;IACzC,QAAQ,CAAC,GAAG,EAAE,4BAA4B,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM;CAKtE"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.StringSimilarityScoreEvaluator = void 0;
4
+ const levenshtein_1 = require("./levenshtein");
5
+ class StringSimilarityScoreEvaluator {
6
+ evaluate(ctx, visitor) {
7
+ const left = String(visitor.visit(ctx.expr(0)) ?? '');
8
+ const right = String(visitor.visit(ctx.expr(1)) ?? '');
9
+ return (0, levenshtein_1.similarityScore)(left, right);
10
+ }
11
+ }
12
+ exports.StringSimilarityScoreEvaluator = StringSimilarityScoreEvaluator;
13
+ //# sourceMappingURL=StringSimilarityScoreEvaluator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StringSimilarityScoreEvaluator.js","sourceRoot":"","sources":["../../../src/evaluator/string/StringSimilarityScoreEvaluator.ts"],"names":[],"mappings":";;;AAEA,+CAAgD;AAEhD,MAAa,8BAA8B;IACzC,QAAQ,CAAC,GAAiC,EAAE,OAAgB;QAC1D,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACtD,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACvD,OAAO,IAAA,6BAAe,EAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACtC,CAAC;CACF;AAND,wEAMC"}
@@ -0,0 +1,6 @@
1
+ import type { Visitor } from '../../visitors/Visitor';
2
+ import type { TokenSetRatioContext } from '../../generated/src/grammar/RuleFlowLanguageParser';
3
+ export declare class TokenSetRatioEvaluator {
4
+ evaluate(ctx: TokenSetRatioContext, visitor: Visitor): number;
5
+ }
6
+ //# sourceMappingURL=TokenSetRatioEvaluator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TokenSetRatioEvaluator.d.ts","sourceRoot":"","sources":["../../../src/evaluator/string/TokenSetRatioEvaluator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oDAAoD,CAAC;AAG/F,qBAAa,sBAAsB;IACjC,QAAQ,CAAC,GAAG,EAAE,oBAAoB,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM;CAO9D"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TokenSetRatioEvaluator = void 0;
4
+ const levenshtein_1 = require("./levenshtein");
5
+ class TokenSetRatioEvaluator {
6
+ evaluate(ctx, visitor) {
7
+ const left = String(visitor.visit(ctx.expr(0)) ?? '');
8
+ const right = String(visitor.visit(ctx.expr(1)) ?? '');
9
+ const a = (0, levenshtein_1.tokenSet)(left);
10
+ const b = (0, levenshtein_1.tokenSet)(right);
11
+ return (0, levenshtein_1.similarityPercent)(a, b);
12
+ }
13
+ }
14
+ exports.TokenSetRatioEvaluator = TokenSetRatioEvaluator;
15
+ //# sourceMappingURL=TokenSetRatioEvaluator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TokenSetRatioEvaluator.js","sourceRoot":"","sources":["../../../src/evaluator/string/TokenSetRatioEvaluator.ts"],"names":[],"mappings":";;;AAEA,+CAA4D;AAE5D,MAAa,sBAAsB;IACjC,QAAQ,CAAC,GAAyB,EAAE,OAAgB;QAClD,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACtD,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACvD,MAAM,CAAC,GAAG,IAAA,sBAAQ,EAAC,IAAI,CAAC,CAAC;QACzB,MAAM,CAAC,GAAG,IAAA,sBAAQ,EAAC,KAAK,CAAC,CAAC;QAC1B,OAAO,IAAA,+BAAiB,EAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACjC,CAAC;CACF;AARD,wDAQC"}
@@ -0,0 +1,6 @@
1
+ import type { Visitor } from '../../visitors/Visitor';
2
+ import type { TokenSortRatioContext } from '../../generated/src/grammar/RuleFlowLanguageParser';
3
+ export declare class TokenSortRatioEvaluator {
4
+ evaluate(ctx: TokenSortRatioContext, visitor: Visitor): number;
5
+ }
6
+ //# sourceMappingURL=TokenSortRatioEvaluator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TokenSortRatioEvaluator.d.ts","sourceRoot":"","sources":["../../../src/evaluator/string/TokenSortRatioEvaluator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oDAAoD,CAAC;AAGhG,qBAAa,uBAAuB;IAClC,QAAQ,CAAC,GAAG,EAAE,qBAAqB,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM;CAO/D"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TokenSortRatioEvaluator = void 0;
4
+ const levenshtein_1 = require("./levenshtein");
5
+ class TokenSortRatioEvaluator {
6
+ evaluate(ctx, visitor) {
7
+ const left = String(visitor.visit(ctx.expr(0)) ?? '');
8
+ const right = String(visitor.visit(ctx.expr(1)) ?? '');
9
+ const a = (0, levenshtein_1.tokenSort)(left);
10
+ const b = (0, levenshtein_1.tokenSort)(right);
11
+ return (0, levenshtein_1.similarityPercent)(a, b);
12
+ }
13
+ }
14
+ exports.TokenSortRatioEvaluator = TokenSortRatioEvaluator;
15
+ //# sourceMappingURL=TokenSortRatioEvaluator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TokenSortRatioEvaluator.js","sourceRoot":"","sources":["../../../src/evaluator/string/TokenSortRatioEvaluator.ts"],"names":[],"mappings":";;;AAEA,+CAA6D;AAE7D,MAAa,uBAAuB;IAClC,QAAQ,CAAC,GAA0B,EAAE,OAAgB;QACnD,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACtD,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACvD,MAAM,CAAC,GAAG,IAAA,uBAAS,EAAC,IAAI,CAAC,CAAC;QAC1B,MAAM,CAAC,GAAG,IAAA,uBAAS,EAAC,KAAK,CAAC,CAAC;QAC3B,OAAO,IAAA,+BAAiB,EAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACjC,CAAC;CACF;AARD,0DAQC"}
@@ -0,0 +1,7 @@
1
+ export declare function levenshtein(a: string, b: string): number;
2
+ export declare function similarityPercent(a: string, b: string): number;
3
+ export declare function similarityScore(a: string, b: string): number;
4
+ export declare function tokenSort(s: string): string;
5
+ export declare function tokenSet(s: string): string;
6
+ export declare function partialRatio(a: string, b: string): number;
7
+ //# sourceMappingURL=levenshtein.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"levenshtein.d.ts","sourceRoot":"","sources":["../../../src/evaluator/string/levenshtein.ts"],"names":[],"mappings":"AAAA,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAuBxD;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAK9D;AAED,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAK5D;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAO3C;AAED,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAQ1C;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAczD"}
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.levenshtein = levenshtein;
4
+ exports.similarityPercent = similarityPercent;
5
+ exports.similarityScore = similarityScore;
6
+ exports.tokenSort = tokenSort;
7
+ exports.tokenSet = tokenSet;
8
+ exports.partialRatio = partialRatio;
9
+ function levenshtein(a, b) {
10
+ if (a === b)
11
+ return 0;
12
+ if (!a)
13
+ return b.length;
14
+ if (!b)
15
+ return a.length;
16
+ const m = a.length;
17
+ const n = b.length;
18
+ const dp = new Array(n + 1);
19
+ for (let j = 0; j <= n; j++)
20
+ dp[j] = j;
21
+ for (let i = 1; i <= m; i++) {
22
+ let prev = i - 1;
23
+ dp[0] = i;
24
+ for (let j = 1; j <= n; j++) {
25
+ const temp = dp[j];
26
+ const cost = a.charCodeAt(i - 1) === b.charCodeAt(j - 1) ? 0 : 1;
27
+ dp[j] = Math.min(dp[j] + 1, // deletion
28
+ dp[j - 1] + 1, // insertion
29
+ prev + cost // substitution
30
+ );
31
+ prev = temp;
32
+ }
33
+ }
34
+ return dp[n];
35
+ }
36
+ function similarityPercent(a, b) {
37
+ const maxLen = Math.max(a.length, b.length) || 1;
38
+ const dist = levenshtein(a, b);
39
+ const score = 1 - dist / maxLen;
40
+ return Math.round(score * 100);
41
+ }
42
+ function similarityScore(a, b) {
43
+ const maxLen = Math.max(a.length, b.length) || 1;
44
+ const dist = levenshtein(a, b);
45
+ const score = 1 - dist / maxLen;
46
+ return Math.round(score * 1000) / 1000; // 3 decimales
47
+ }
48
+ function tokenSort(s) {
49
+ return s
50
+ .split(/\s+/)
51
+ .filter(Boolean)
52
+ .map((t) => t.toLowerCase())
53
+ .sort()
54
+ .join(' ');
55
+ }
56
+ function tokenSet(s) {
57
+ const set = new Set(s
58
+ .split(/\s+/)
59
+ .filter(Boolean)
60
+ .map((t) => t.toLowerCase()));
61
+ return Array.from(set).sort().join(' ');
62
+ }
63
+ function partialRatio(a, b) {
64
+ // Aprox simple: usa ventana del tamaño del más corto en el más largo
65
+ let s1 = a;
66
+ let s2 = b;
67
+ if (s1.length > s2.length)
68
+ [s1, s2] = [s2, s1];
69
+ const len = s1.length;
70
+ let best = 0;
71
+ for (let i = 0; i + len <= s2.length; i++) {
72
+ const window = s2.substring(i, i + len);
73
+ const p = similarityPercent(s1, window);
74
+ if (p > best)
75
+ best = p;
76
+ if (best === 100)
77
+ break;
78
+ }
79
+ return best;
80
+ }
81
+ //# sourceMappingURL=levenshtein.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"levenshtein.js","sourceRoot":"","sources":["../../../src/evaluator/string/levenshtein.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export declare class RuleFlowLanguageLexer {
2
+ constructor(input: any);
3
+ }
4
+ //# sourceMappingURL=RuleFlowLanguageLexer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RuleFlowLanguageLexer.d.ts","sourceRoot":"","sources":["../../src/generated/RuleFlowLanguageLexer.ts"],"names":[],"mappings":"AACA,qBAAa,qBAAqB;gBACpB,KAAK,EAAE,GAAG;CACvB"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RuleFlowLanguageLexer = void 0;
4
+ // Temporary stub. Will be replaced by antlr4ts-generated code.
5
+ class RuleFlowLanguageLexer {
6
+ constructor(input) { }
7
+ }
8
+ exports.RuleFlowLanguageLexer = RuleFlowLanguageLexer;
9
+ //# sourceMappingURL=RuleFlowLanguageLexer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RuleFlowLanguageLexer.js","sourceRoot":"","sources":["../../src/generated/RuleFlowLanguageLexer.ts"],"names":[],"mappings":";;;AAAA,+DAA+D;AAC/D,MAAa,qBAAqB;IAChC,YAAY,KAAU,IAAG,CAAC;CAC3B;AAFD,sDAEC"}
@@ -0,0 +1,8 @@
1
+ export declare class RuleFlowLanguageParser {
2
+ constructor(tokens: any);
3
+ removeErrorListeners(): void;
4
+ addErrorListener(_l: any): void;
5
+ parse(): any;
6
+ expr(): any;
7
+ }
8
+ //# sourceMappingURL=RuleFlowLanguageParser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RuleFlowLanguageParser.d.ts","sourceRoot":"","sources":["../../src/generated/RuleFlowLanguageParser.ts"],"names":[],"mappings":"AACA,qBAAa,sBAAsB;gBACrB,MAAM,EAAE,GAAG;IACvB,oBAAoB;IACpB,gBAAgB,CAAC,EAAE,EAAE,GAAG;IACxB,KAAK,IAAI,GAAG;IACZ,IAAI,IAAI,GAAG;CACZ"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RuleFlowLanguageParser = void 0;
4
+ // Temporary stub. Will be replaced by antlr4ts-generated code.
5
+ class RuleFlowLanguageParser {
6
+ constructor(tokens) { }
7
+ removeErrorListeners() { }
8
+ addErrorListener(_l) { }
9
+ parse() { return {}; }
10
+ expr() { return {}; }
11
+ }
12
+ exports.RuleFlowLanguageParser = RuleFlowLanguageParser;
13
+ //# sourceMappingURL=RuleFlowLanguageParser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RuleFlowLanguageParser.js","sourceRoot":"","sources":["../../src/generated/RuleFlowLanguageParser.ts"],"names":[],"mappings":";;;AAAA,+DAA+D;AAC/D,MAAa,sBAAsB;IACjC,YAAY,MAAW,IAAG,CAAC;IAC3B,oBAAoB,KAAI,CAAC;IACzB,gBAAgB,CAAC,EAAO,IAAG,CAAC;IAC5B,KAAK,KAAU,OAAO,EAAE,CAAC,CAAC,CAAC;IAC3B,IAAI,KAAU,OAAO,EAAE,CAAC,CAAC,CAAC;CAC3B;AAND,wDAMC"}
@@ -0,0 +1,106 @@
1
+ import { ATN } from "antlr4ts/atn/ATN";
2
+ import { CharStream } from "antlr4ts/CharStream";
3
+ import { Lexer } from "antlr4ts/Lexer";
4
+ import { Vocabulary } from "antlr4ts/Vocabulary";
5
+ export declare class RuleFlowLanguageLexer extends Lexer {
6
+ static readonly STRING_NOT_SPECIAL_CHARS = 1;
7
+ static readonly DOT = 2;
8
+ static readonly COMMA = 3;
9
+ static readonly ADD = 4;
10
+ static readonly MINUS = 5;
11
+ static readonly MULTIPLY = 6;
12
+ static readonly DIVIDE = 7;
13
+ static readonly LT = 8;
14
+ static readonly LT_EQ = 9;
15
+ static readonly GT = 10;
16
+ static readonly GT_EQ = 11;
17
+ static readonly EQ_IC = 12;
18
+ static readonly EQ = 13;
19
+ static readonly NOT_EQ = 14;
20
+ static readonly MINUTE = 15;
21
+ static readonly HOUR = 16;
22
+ static readonly DAY = 17;
23
+ static readonly CURRENT_DATE = 18;
24
+ static readonly DATE_DIFF = 19;
25
+ static readonly ABS = 20;
26
+ static readonly REGEX_STRIP = 21;
27
+ static readonly MODULO = 22;
28
+ static readonly K_STARTS_WITH = 23;
29
+ static readonly K_LIST = 24;
30
+ static readonly L_BRACE = 25;
31
+ static readonly R_BRACE = 26;
32
+ static readonly L_PAREN = 27;
33
+ static readonly R_PAREN = 28;
34
+ static readonly K_COLON = 29;
35
+ static readonly K_ACTION = 30;
36
+ static readonly K_WORKFLOW = 31;
37
+ static readonly K_RULESET = 32;
38
+ static readonly K_RETURN = 33;
39
+ static readonly K_THEN = 34;
40
+ static readonly K_DEFAULT = 35;
41
+ static readonly K_WITH = 36;
42
+ static readonly K_END = 37;
43
+ static readonly K_ELSE = 38;
44
+ static readonly K_AND = 39;
45
+ static readonly K_OR = 40;
46
+ static readonly K_CONTAINS = 41;
47
+ static readonly K_IS = 42;
48
+ static readonly K_NOT = 43;
49
+ static readonly K_IS_NOT = 44;
50
+ static readonly K_IN = 45;
51
+ static readonly K_ANY = 46;
52
+ static readonly K_NONE = 47;
53
+ static readonly K_ALL = 48;
54
+ static readonly K_COUNT = 49;
55
+ static readonly K_AVERAGE = 50;
56
+ static readonly K_DISTINCT = 51;
57
+ static readonly K_NULL = 52;
58
+ static readonly DAY_OF_WEEK = 53;
59
+ static readonly K_EXPR = 54;
60
+ static readonly K_EVALUATION_MODE = 55;
61
+ static readonly K_MULTI_MATCH = 56;
62
+ static readonly K_SINGLE_MATCH = 57;
63
+ static readonly K_NOW = 58;
64
+ static readonly K_DATE = 59;
65
+ static readonly K_DATETIME = 60;
66
+ static readonly K_DATE_ADD = 61;
67
+ static readonly K_DATE_SUBTRACT = 62;
68
+ static readonly STRING_DISTANCE = 63;
69
+ static readonly PARTIAL_RATIO = 64;
70
+ static readonly TOKEN_SORT_RATIO = 65;
71
+ static readonly TOKEN_SET_RATIO = 66;
72
+ static readonly STRING_SIMILARITY_SCORE = 67;
73
+ static readonly GEOHASH_ENCODE = 68;
74
+ static readonly GEOHASH_DECODE = 69;
75
+ static readonly DISTANCE = 70;
76
+ static readonly WITHIN_RADIUS = 71;
77
+ static readonly NUMERIC_LITERAL = 72;
78
+ static readonly BOOLEAN_LITERAL = 73;
79
+ static readonly DQUOTA_STRING = 74;
80
+ static readonly SQUOTA_STRING = 75;
81
+ static readonly ID = 76;
82
+ static readonly SINGLE_LINE_COMMENT = 77;
83
+ static readonly MULTILINE_COMMENT = 78;
84
+ static readonly SPACES = 79;
85
+ static readonly UNEXPECTED_CHAR = 80;
86
+ static readonly channelNames: string[];
87
+ static readonly modeNames: string[];
88
+ static readonly ruleNames: string[];
89
+ private static readonly _LITERAL_NAMES;
90
+ private static readonly _SYMBOLIC_NAMES;
91
+ static readonly VOCABULARY: Vocabulary;
92
+ get vocabulary(): Vocabulary;
93
+ constructor(input: CharStream);
94
+ get grammarFileName(): string;
95
+ get ruleNames(): string[];
96
+ get serializedATN(): string;
97
+ get channelNames(): string[];
98
+ get modeNames(): string[];
99
+ private static readonly _serializedATNSegments;
100
+ private static readonly _serializedATNSegment0;
101
+ private static readonly _serializedATNSegment1;
102
+ static readonly _serializedATN: string;
103
+ static __ATN: ATN;
104
+ static get _ATN(): ATN;
105
+ }
106
+ //# sourceMappingURL=RuleFlowLanguageLexer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RuleFlowLanguageLexer.d.ts","sourceRoot":"","sources":["../../../../src/generated/src/grammar/RuleFlowLanguageLexer.ts"],"names":[],"mappings":"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"}