@teleporthq/teleport-plugin-next-data-source 0.43.63 → 0.43.65

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 (134) hide show
  1. package/__tests__/collection-path.test.ts +191 -0
  2. package/__tests__/count-collection-path.test.ts +59 -0
  3. package/__tests__/filter-groups.test.ts +174 -0
  4. package/dist/cjs/count-fetchers.d.ts.map +1 -1
  5. package/dist/cjs/count-fetchers.js +1 -1
  6. package/dist/cjs/count-fetchers.js.map +1 -1
  7. package/dist/cjs/fetchers/airtable.d.ts.map +1 -1
  8. package/dist/cjs/fetchers/airtable.js +1 -1
  9. package/dist/cjs/fetchers/airtable.js.map +1 -1
  10. package/dist/cjs/fetchers/clickhouse.d.ts.map +1 -1
  11. package/dist/cjs/fetchers/clickhouse.js +1 -1
  12. package/dist/cjs/fetchers/clickhouse.js.map +1 -1
  13. package/dist/cjs/fetchers/csv-file.d.ts.map +1 -1
  14. package/dist/cjs/fetchers/csv-file.js +3 -3
  15. package/dist/cjs/fetchers/csv-file.js.map +1 -1
  16. package/dist/cjs/fetchers/firestore.d.ts.map +1 -1
  17. package/dist/cjs/fetchers/firestore.js +1 -1
  18. package/dist/cjs/fetchers/firestore.js.map +1 -1
  19. package/dist/cjs/fetchers/google-sheets.d.ts.map +1 -1
  20. package/dist/cjs/fetchers/google-sheets.js +1 -1
  21. package/dist/cjs/fetchers/google-sheets.js.map +1 -1
  22. package/dist/cjs/fetchers/javascript.d.ts.map +1 -1
  23. package/dist/cjs/fetchers/javascript.js +2 -2
  24. package/dist/cjs/fetchers/javascript.js.map +1 -1
  25. package/dist/cjs/fetchers/mariadb.d.ts.map +1 -1
  26. package/dist/cjs/fetchers/mariadb.js +1 -1
  27. package/dist/cjs/fetchers/mariadb.js.map +1 -1
  28. package/dist/cjs/fetchers/mongodb.d.ts.map +1 -1
  29. package/dist/cjs/fetchers/mongodb.js +1 -1
  30. package/dist/cjs/fetchers/mongodb.js.map +1 -1
  31. package/dist/cjs/fetchers/mysql.d.ts.map +1 -1
  32. package/dist/cjs/fetchers/mysql.js +1 -1
  33. package/dist/cjs/fetchers/mysql.js.map +1 -1
  34. package/dist/cjs/fetchers/postgresql.d.ts.map +1 -1
  35. package/dist/cjs/fetchers/postgresql.js +1 -1
  36. package/dist/cjs/fetchers/postgresql.js.map +1 -1
  37. package/dist/cjs/fetchers/redis.d.ts.map +1 -1
  38. package/dist/cjs/fetchers/redis.js +1 -1
  39. package/dist/cjs/fetchers/redis.js.map +1 -1
  40. package/dist/cjs/fetchers/redshift.d.ts.map +1 -1
  41. package/dist/cjs/fetchers/redshift.js +2 -2
  42. package/dist/cjs/fetchers/redshift.js.map +1 -1
  43. package/dist/cjs/fetchers/rest-api.d.ts.map +1 -1
  44. package/dist/cjs/fetchers/rest-api.js +11 -3
  45. package/dist/cjs/fetchers/rest-api.js.map +1 -1
  46. package/dist/cjs/fetchers/supabase.d.ts.map +1 -1
  47. package/dist/cjs/fetchers/supabase.js +1 -1
  48. package/dist/cjs/fetchers/supabase.js.map +1 -1
  49. package/dist/cjs/fetchers/teleport.d.ts.map +1 -1
  50. package/dist/cjs/fetchers/teleport.js +1 -1
  51. package/dist/cjs/fetchers/teleport.js.map +1 -1
  52. package/dist/cjs/fetchers/turso.d.ts.map +1 -1
  53. package/dist/cjs/fetchers/turso.js +1 -1
  54. package/dist/cjs/fetchers/turso.js.map +1 -1
  55. package/dist/cjs/tsconfig.tsbuildinfo +1 -1
  56. package/dist/cjs/utils.d.ts +47 -0
  57. package/dist/cjs/utils.d.ts.map +1 -1
  58. package/dist/cjs/utils.js +134 -18
  59. package/dist/cjs/utils.js.map +1 -1
  60. package/dist/esm/count-fetchers.d.ts.map +1 -1
  61. package/dist/esm/count-fetchers.js +1 -1
  62. package/dist/esm/count-fetchers.js.map +1 -1
  63. package/dist/esm/fetchers/airtable.d.ts.map +1 -1
  64. package/dist/esm/fetchers/airtable.js +2 -2
  65. package/dist/esm/fetchers/airtable.js.map +1 -1
  66. package/dist/esm/fetchers/clickhouse.d.ts.map +1 -1
  67. package/dist/esm/fetchers/clickhouse.js +2 -2
  68. package/dist/esm/fetchers/clickhouse.js.map +1 -1
  69. package/dist/esm/fetchers/csv-file.d.ts.map +1 -1
  70. package/dist/esm/fetchers/csv-file.js +4 -4
  71. package/dist/esm/fetchers/csv-file.js.map +1 -1
  72. package/dist/esm/fetchers/firestore.d.ts.map +1 -1
  73. package/dist/esm/fetchers/firestore.js +2 -2
  74. package/dist/esm/fetchers/firestore.js.map +1 -1
  75. package/dist/esm/fetchers/google-sheets.d.ts.map +1 -1
  76. package/dist/esm/fetchers/google-sheets.js +2 -2
  77. package/dist/esm/fetchers/google-sheets.js.map +1 -1
  78. package/dist/esm/fetchers/javascript.d.ts.map +1 -1
  79. package/dist/esm/fetchers/javascript.js +3 -3
  80. package/dist/esm/fetchers/javascript.js.map +1 -1
  81. package/dist/esm/fetchers/mariadb.d.ts.map +1 -1
  82. package/dist/esm/fetchers/mariadb.js +2 -2
  83. package/dist/esm/fetchers/mariadb.js.map +1 -1
  84. package/dist/esm/fetchers/mongodb.d.ts.map +1 -1
  85. package/dist/esm/fetchers/mongodb.js +2 -2
  86. package/dist/esm/fetchers/mongodb.js.map +1 -1
  87. package/dist/esm/fetchers/mysql.d.ts.map +1 -1
  88. package/dist/esm/fetchers/mysql.js +2 -2
  89. package/dist/esm/fetchers/mysql.js.map +1 -1
  90. package/dist/esm/fetchers/postgresql.d.ts.map +1 -1
  91. package/dist/esm/fetchers/postgresql.js +2 -2
  92. package/dist/esm/fetchers/postgresql.js.map +1 -1
  93. package/dist/esm/fetchers/redis.d.ts.map +1 -1
  94. package/dist/esm/fetchers/redis.js +2 -2
  95. package/dist/esm/fetchers/redis.js.map +1 -1
  96. package/dist/esm/fetchers/redshift.d.ts.map +1 -1
  97. package/dist/esm/fetchers/redshift.js +3 -3
  98. package/dist/esm/fetchers/redshift.js.map +1 -1
  99. package/dist/esm/fetchers/rest-api.d.ts.map +1 -1
  100. package/dist/esm/fetchers/rest-api.js +12 -4
  101. package/dist/esm/fetchers/rest-api.js.map +1 -1
  102. package/dist/esm/fetchers/supabase.d.ts.map +1 -1
  103. package/dist/esm/fetchers/supabase.js +2 -2
  104. package/dist/esm/fetchers/supabase.js.map +1 -1
  105. package/dist/esm/fetchers/teleport.d.ts.map +1 -1
  106. package/dist/esm/fetchers/teleport.js +2 -2
  107. package/dist/esm/fetchers/teleport.js.map +1 -1
  108. package/dist/esm/fetchers/turso.d.ts.map +1 -1
  109. package/dist/esm/fetchers/turso.js +2 -2
  110. package/dist/esm/fetchers/turso.js.map +1 -1
  111. package/dist/esm/tsconfig.tsbuildinfo +1 -1
  112. package/dist/esm/utils.d.ts +47 -0
  113. package/dist/esm/utils.d.ts.map +1 -1
  114. package/dist/esm/utils.js +129 -17
  115. package/dist/esm/utils.js.map +1 -1
  116. package/package.json +5 -5
  117. package/src/count-fetchers.ts +6 -2
  118. package/src/fetchers/airtable.ts +35 -36
  119. package/src/fetchers/clickhouse.ts +26 -36
  120. package/src/fetchers/csv-file.ts +13 -21
  121. package/src/fetchers/firestore.ts +41 -35
  122. package/src/fetchers/google-sheets.ts +15 -23
  123. package/src/fetchers/javascript.ts +22 -25
  124. package/src/fetchers/mariadb.ts +33 -44
  125. package/src/fetchers/mongodb.ts +66 -81
  126. package/src/fetchers/mysql.ts +33 -45
  127. package/src/fetchers/postgresql.ts +52 -62
  128. package/src/fetchers/redis.ts +6 -5
  129. package/src/fetchers/redshift.ts +29 -41
  130. package/src/fetchers/rest-api.ts +29 -22
  131. package/src/fetchers/supabase.ts +104 -41
  132. package/src/fetchers/teleport.ts +53 -64
  133. package/src/fetchers/turso.ts +27 -39
  134. package/src/utils.ts +227 -31
@@ -45,7 +45,54 @@ export declare const replaceSecretReference: (value: unknown, options?: {
45
45
  */
46
46
  export declare const generateSearchEscapeHelpersCode: () => string;
47
47
  export declare const generateSafeJSONParseCode: () => string;
48
+ /**
49
+ * Runtime helper that narrows a fetched payload down to the array of records.
50
+ *
51
+ * Emitted into the REST API and JavaScript fetchers, which are the only two
52
+ * whose payload shape is whatever the remote end decided. `collectionPath`
53
+ * arrives as a request param — the JSON-encoded array the UIDL carries
54
+ * (`["results"]`), or an already-parsed array, or not at all. Only a details
55
+ * page sends one; every other caller gets the payload untouched.
56
+ *
57
+ * Returns the payload UNCHANGED when there is no path, and also when the path
58
+ * does not lead to an array — a source whose response shape drifted then keeps
59
+ * behaving exactly as it did before the path was introduced, instead of
60
+ * collapsing to an empty result the caller cannot explain.
61
+ */
62
+ export declare const generateCollectionPathHelperCode: () => string;
48
63
  export declare const generateDateFormatterCode: () => string;
64
+ /**
65
+ * Every leaf condition of a filters array, unwrapping any `{ type: 'group' }`
66
+ * envelopes the inspector wrapped them in. Generator-side checks that ask
67
+ * "does any destination reference state / a route param?" must look through
68
+ * groups — asking `entry.destination` of a group silently answers "no", which
69
+ * is how a dynamic filter ends up baked into initialData at build time.
70
+ */
71
+ export declare const collectFilterLeafConditions: (entries: unknown) => unknown[];
72
+ /**
73
+ * Rebuilds a filters array keeping its group structure, dropping leaf
74
+ * conditions that `keepCondition` rejects and any group left empty by that.
75
+ * Used so the SSG emit can discard unresolvable dynamic destinations without
76
+ * flattening an `or` group into ANDs on the way.
77
+ */
78
+ export declare const pruneFilterTree: (entries: unknown[], keepCondition: (condition: unknown) => boolean) => unknown[];
79
+ /**
80
+ * Runtime helpers for the filter TREE the GUI authors.
81
+ *
82
+ * The inspector emits filters as a tree — a root `{ type: 'group', operator,
83
+ * children }` whose children are `{ type: 'condition', source, destination,
84
+ * operand }` leaves or further groups (an `or` group nested inside the root
85
+ * `and` is how "A and (B or C)" is expressed). Older projects, and params built
86
+ * by hand, still send a flat array of bare conditions or a plain `{ key: value }`
87
+ * map.
88
+ *
89
+ * Every fetcher used to hand-roll `parsedFilters.forEach(f => { if (!f.source)
90
+ * return ... })`, which silently DROPPED any group — a group has no `.source`,
91
+ * so the whole filter became a no-op and the page rendered unfiltered rows.
92
+ * These helpers exist so no fetcher has to know the shape: `normalizeFilterTree`
93
+ * turns all three input forms into one tree, and the walkers below consume it.
94
+ */
95
+ export declare const generateFilterTreeHelpersCode: () => string;
49
96
  export declare const generateSortFilterHelperCode: () => string;
50
97
  export declare const sanitizeNumericParam: (value: unknown, defaultValue?: number) => number;
51
98
  export declare const sanitizePort: (port: unknown, defaultPort: number) => number;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,eAAe,EACf,gBAAgB,EAEhB,cAAc,EAGf,MAAM,4BAA4B,CAAA;AAKnC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAA;AAwB/D,eAAO,MAAM,gBAAgB,UAAW,MAAM,KAAG,MAmBhD,CAAA;AAED,eAAO,MAAM,gBAAgB,UAAW,OAAO,oBAE9C,CAAA;AAED,eAAO,MAAM,wBAAwB,mBAAoB,GAAG,KAAG,IAsC9D,CAAA;AAGD,eAAO,MAAM,0BAA0B,uBACjB,GAAG,KACtB;IACD,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;CA0Bf,CAAA;AAGD,eAAO,MAAM,mBAAmB,YAAa,GAAG,KAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAYpF,CAAA;AAED,eAAO,MAAM,wBAAwB,eACvB,cAAc,KACzB;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAkBpC,CAAA;AAED,eAAO,MAAM,oBAAoB,mBACf,MAAM,aACX,MAAM,gBACH,MAAM,KACnB,MAUF,CAAA;AAED,eAAO,MAAM,kCAAkC,SACvC,sBAAsB,GAAG,sBAAsB,eACxC,OAAO,MAAM,EAAE,cAAc,CAAC,kBAC3B,eAAe,sBACX,gBAAgB,CAAC,oBAAoB,CAAC,qBACxC,sBAAsB,SAiRzC,CAAA;AAED,eAAO,MAAM,oBAAoB,mBAAoB,MAAM,KAAG,OAE7D,CAAA;AAED,eAAO,MAAM,sBAAsB,UAC1B,OAAO;sBACe,OAAO;MACnC,MA0CF,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,+BAA+B,QAAO,MAWlD,CAAA;AAED,eAAO,MAAM,yBAAyB,QAAO,MAW5C,CAAA;AAED,eAAO,MAAM,yBAAyB,QAAO,MA4B5C,CAAA;AAED,eAAO,MAAM,4BAA4B,QAAO,MAsG/C,CAAA;AAED,eAAO,MAAM,oBAAoB,UAAW,OAAO,iBAAgB,MAAM,KAAO,MAa/E,CAAA;AAED,eAAO,MAAM,YAAY,SAAU,OAAO,eAAe,MAAM,KAAG,MAOjE,CAAA;AAED,eAAO,MAAM,UAAU,QAAS,OAAO,KAAG,OAczC,CAAA;AAED,eAAO,MAAM,kBAAkB,eAAgB,OAAO,KAAG,MAOxD,CAAA;AA+BD;;;;GAIG;AAEH,eAAO,MAAM,4BAA4B,WAC/B,OAAO,MAAM,EAAE,GAAG,CAAC,qBACR,MAAM,KACxB,OAqCF,CAAA;AAmED,eAAO,MAAM,mCAAmC,SACxC,sBAAsB,GAAG,sBAAsB,eACxC,OAAO,MAAM,EAAE,cAAc,CAAC,kBAC3B,eAAe,uBACV,GAAG,UAChB,GAAG,EAAE,sBACO,gBAAgB,CAAC,oBAAoB,CAAC,gBAC5C,OAAO,MAAM,EAAE,GAAG,CAAC,qBACd,MAAM,eACZ,MAAM,EAAE,qBACH,sBAAsB,KACvC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,GAAG,CAAA;CAinBjC,CAAA"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,eAAe,EACf,gBAAgB,EAEhB,cAAc,EAGf,MAAM,4BAA4B,CAAA;AAKnC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAA;AAwB/D,eAAO,MAAM,gBAAgB,UAAW,MAAM,KAAG,MAmBhD,CAAA;AAED,eAAO,MAAM,gBAAgB,UAAW,OAAO,oBAE9C,CAAA;AAED,eAAO,MAAM,wBAAwB,mBAAoB,GAAG,KAAG,IAsC9D,CAAA;AAGD,eAAO,MAAM,0BAA0B,uBACjB,GAAG,KACtB;IACD,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;CA0Bf,CAAA;AAGD,eAAO,MAAM,mBAAmB,YAAa,GAAG,KAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAYpF,CAAA;AAED,eAAO,MAAM,wBAAwB,eACvB,cAAc,KACzB;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAkBpC,CAAA;AAED,eAAO,MAAM,oBAAoB,mBACf,MAAM,aACX,MAAM,gBACH,MAAM,KACnB,MAUF,CAAA;AAED,eAAO,MAAM,kCAAkC,SACvC,sBAAsB,GAAG,sBAAsB,eACxC,OAAO,MAAM,EAAE,cAAc,CAAC,kBAC3B,eAAe,sBACX,gBAAgB,CAAC,oBAAoB,CAAC,qBACxC,sBAAsB,SAiRzC,CAAA;AAED,eAAO,MAAM,oBAAoB,mBAAoB,MAAM,KAAG,OAE7D,CAAA;AAED,eAAO,MAAM,sBAAsB,UAC1B,OAAO;sBACe,OAAO;MACnC,MA0CF,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,+BAA+B,QAAO,MAWlD,CAAA;AAED,eAAO,MAAM,yBAAyB,QAAO,MAW5C,CAAA;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,gCAAgC,QAAO,MAuBnD,CAAA;AAED,eAAO,MAAM,yBAAyB,QAAO,MA4B5C,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,2BAA2B,YAAa,OAAO,KAAG,OAAO,EAkBrE,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,eAAe,YACjB,OAAO,EAAE,6BACS,OAAO,KAAK,OAAO,KAC7C,OAAO,EAgBT,CAAA;AAED;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,6BAA6B,QAAO,MAoEhD,CAAA;AAED,eAAO,MAAM,4BAA4B,QAAO,MAsG/C,CAAA;AAED,eAAO,MAAM,oBAAoB,UAAW,OAAO,iBAAgB,MAAM,KAAO,MAa/E,CAAA;AAED,eAAO,MAAM,YAAY,SAAU,OAAO,eAAe,MAAM,KAAG,MAOjE,CAAA;AAED,eAAO,MAAM,UAAU,QAAS,OAAO,KAAG,OAczC,CAAA;AAED,eAAO,MAAM,kBAAkB,eAAgB,OAAO,KAAG,MAOxD,CAAA;AA+BD;;;;GAIG;AAEH,eAAO,MAAM,4BAA4B,WAC/B,OAAO,MAAM,EAAE,GAAG,CAAC,qBACR,MAAM,KACxB,OAsCF,CAAA;AAmED,eAAO,MAAM,mCAAmC,SACxC,sBAAsB,GAAG,sBAAsB,eACxC,OAAO,MAAM,EAAE,cAAc,CAAC,kBAC3B,eAAe,uBACV,GAAG,UAChB,GAAG,EAAE,sBACO,gBAAgB,CAAC,oBAAoB,CAAC,gBAC5C,OAAO,MAAM,EAAE,GAAG,CAAC,qBACd,MAAM,eACZ,MAAM,EAAE,qBACH,sBAAsB,KACvC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,GAAG,CAAA;CAioBjC,CAAA"}
package/dist/cjs/utils.js CHANGED
@@ -1,4 +1,15 @@
1
1
  "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
2
13
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
14
  if (k2 === undefined) k2 = k;
4
15
  var desc = Object.getOwnPropertyDescriptor(m, k);
@@ -32,7 +43,7 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
32
43
  return to.concat(ar || Array.prototype.slice.call(from));
33
44
  };
34
45
  Object.defineProperty(exports, "__esModule", { value: true });
35
- exports.extractDataSourceIntoGetStaticProps = exports.hasUnresolvableDynamicParams = exports.sanitizeIdentifier = exports.isValidUrl = exports.sanitizePort = exports.sanitizeNumericParam = exports.generateSortFilterHelperCode = exports.generateDateFormatterCode = exports.generateSafeJSONParseCode = exports.generateSearchEscapeHelpersCode = exports.replaceSecretReference = exports.isEmbeddedDataSource = exports.extractDataSourceIntoNextAPIFolder = exports.generateSafeFileName = exports.validateDataSourceConfig = exports.validateNodeContent = exports.validateResourceDefinition = exports.hoistLoadingFromRepeater = exports.isNonEmptyString = exports.sanitizeFileName = void 0;
46
+ exports.extractDataSourceIntoGetStaticProps = exports.hasUnresolvableDynamicParams = exports.sanitizeIdentifier = exports.isValidUrl = exports.sanitizePort = exports.sanitizeNumericParam = exports.generateSortFilterHelperCode = exports.generateFilterTreeHelpersCode = exports.pruneFilterTree = exports.collectFilterLeafConditions = exports.generateDateFormatterCode = exports.generateCollectionPathHelperCode = exports.generateSafeJSONParseCode = exports.generateSearchEscapeHelpersCode = exports.replaceSecretReference = exports.isEmbeddedDataSource = exports.extractDataSourceIntoNextAPIFolder = exports.generateSafeFileName = exports.validateDataSourceConfig = exports.validateNodeContent = exports.validateResourceDefinition = exports.hoistLoadingFromRepeater = exports.isNonEmptyString = exports.sanitizeFileName = void 0;
36
47
  var teleport_types_1 = require("@teleporthq/teleport-types");
37
48
  var types = __importStar(require("@babel/types"));
38
49
  var teleport_plugin_common_1 = require("@teleporthq/teleport-plugin-common");
@@ -447,10 +458,100 @@ var generateSafeJSONParseCode = function () {
447
458
  return "const safeJSONParse = (value) => {\n if (!value) return value\n if (typeof value === 'object') return value\n try {\n return JSON.parse(value)\n } catch (e) {\n console.warn('Failed to parse JSON:', e)\n return value\n }\n}";
448
459
  };
449
460
  exports.generateSafeJSONParseCode = generateSafeJSONParseCode;
461
+ /**
462
+ * Runtime helper that narrows a fetched payload down to the array of records.
463
+ *
464
+ * Emitted into the REST API and JavaScript fetchers, which are the only two
465
+ * whose payload shape is whatever the remote end decided. `collectionPath`
466
+ * arrives as a request param — the JSON-encoded array the UIDL carries
467
+ * (`["results"]`), or an already-parsed array, or not at all. Only a details
468
+ * page sends one; every other caller gets the payload untouched.
469
+ *
470
+ * Returns the payload UNCHANGED when there is no path, and also when the path
471
+ * does not lead to an array — a source whose response shape drifted then keeps
472
+ * behaving exactly as it did before the path was introduced, instead of
473
+ * collapsing to an empty result the caller cannot explain.
474
+ */
475
+ var generateCollectionPathHelperCode = function () {
476
+ return "const resolveCollectionPath = (payload, rawPath) => {\n if (!rawPath) return payload\n let path = rawPath\n if (typeof path === 'string') {\n try {\n path = JSON.parse(path)\n } catch {\n path = path.split('.').filter(Boolean)\n }\n }\n if (!Array.isArray(path) || path.length === 0) return payload\n\n let current = payload\n for (const segment of path) {\n if (!current || typeof current !== 'object' || Array.isArray(current) || !(segment in current)) {\n return payload\n }\n current = current[segment]\n }\n\n return Array.isArray(current) ? current : payload\n}";
477
+ };
478
+ exports.generateCollectionPathHelperCode = generateCollectionPathHelperCode;
450
479
  var generateDateFormatterCode = function () {
451
480
  return "const formatDateValue = (date) => {\n const options = {\n year: 'numeric',\n month: 'short',\n day: 'numeric',\n }\n \n const timeOptions = {\n hour: '2-digit',\n minute: '2-digit',\n }\n \n const hasTime = date.getHours() !== 0 || date.getMinutes() !== 0 || date.getSeconds() !== 0\n \n if (hasTime) {\n return date.toLocaleString('en-US', { ...options, ...timeOptions })\n }\n \n return date.toLocaleDateString('en-US', options)\n}\n\nconst dateReplacer = (key, value) => {\n if (value instanceof Date) {\n return formatDateValue(value)\n }\n return value\n}";
452
481
  };
453
482
  exports.generateDateFormatterCode = generateDateFormatterCode;
483
+ /**
484
+ * Every leaf condition of a filters array, unwrapping any `{ type: 'group' }`
485
+ * envelopes the inspector wrapped them in. Generator-side checks that ask
486
+ * "does any destination reference state / a route param?" must look through
487
+ * groups — asking `entry.destination` of a group silently answers "no", which
488
+ * is how a dynamic filter ends up baked into initialData at build time.
489
+ */
490
+ var collectFilterLeafConditions = function (entries) {
491
+ if (!Array.isArray(entries)) {
492
+ return [];
493
+ }
494
+ var leaves = [];
495
+ var walk = function (entry) {
496
+ if (!entry || typeof entry !== 'object') {
497
+ return;
498
+ }
499
+ var node = entry;
500
+ if (node.type === 'group') {
501
+ ;
502
+ (node.children || []).forEach(walk);
503
+ return;
504
+ }
505
+ leaves.push(entry);
506
+ };
507
+ entries.forEach(walk);
508
+ return leaves;
509
+ };
510
+ exports.collectFilterLeafConditions = collectFilterLeafConditions;
511
+ /**
512
+ * Rebuilds a filters array keeping its group structure, dropping leaf
513
+ * conditions that `keepCondition` rejects and any group left empty by that.
514
+ * Used so the SSG emit can discard unresolvable dynamic destinations without
515
+ * flattening an `or` group into ANDs on the way.
516
+ */
517
+ var pruneFilterTree = function (entries, keepCondition) {
518
+ var prune = function (entry) {
519
+ if (!entry || typeof entry !== 'object') {
520
+ return null;
521
+ }
522
+ var node = entry;
523
+ if (node.type === 'group') {
524
+ var children = (node.children || []).map(prune).filter(Boolean);
525
+ if (children.length === 0) {
526
+ return null;
527
+ }
528
+ return __assign(__assign({}, node), { children: children });
529
+ }
530
+ return keepCondition(entry) ? entry : null;
531
+ };
532
+ return entries.map(prune).filter(Boolean);
533
+ };
534
+ exports.pruneFilterTree = pruneFilterTree;
535
+ /**
536
+ * Runtime helpers for the filter TREE the GUI authors.
537
+ *
538
+ * The inspector emits filters as a tree — a root `{ type: 'group', operator,
539
+ * children }` whose children are `{ type: 'condition', source, destination,
540
+ * operand }` leaves or further groups (an `or` group nested inside the root
541
+ * `and` is how "A and (B or C)" is expressed). Older projects, and params built
542
+ * by hand, still send a flat array of bare conditions or a plain `{ key: value }`
543
+ * map.
544
+ *
545
+ * Every fetcher used to hand-roll `parsedFilters.forEach(f => { if (!f.source)
546
+ * return ... })`, which silently DROPPED any group — a group has no `.source`,
547
+ * so the whole filter became a no-op and the page rendered unfiltered rows.
548
+ * These helpers exist so no fetcher has to know the shape: `normalizeFilterTree`
549
+ * turns all three input forms into one tree, and the walkers below consume it.
550
+ */
551
+ var generateFilterTreeHelpersCode = function () {
552
+ return "const normalizeFilterTree = (parsed) => {\n if (parsed === null || parsed === undefined) return null\n\n const toNode = (entry) => {\n if (!entry || typeof entry !== 'object') return null\n if (entry.type === 'group') {\n const children = Array.isArray(entry.children)\n ? entry.children.map(toNode).filter(Boolean)\n : []\n if (children.length === 0) return null\n return { type: 'group', operator: entry.operator === 'or' ? 'or' : 'and', children }\n }\n if (!entry.source || entry.destination === undefined) return null\n return {\n type: 'condition',\n source: entry.source,\n destination: entry.destination,\n operand: entry.operand || '=',\n }\n }\n\n const children = Array.isArray(parsed)\n ? parsed.map(toNode).filter(Boolean)\n : Object.entries(parsed).map(([source, destination]) =>\n toNode({ source, destination, operand: '=' })\n ).filter(Boolean)\n\n if (children.length === 0) return null\n // A single root group is already the tree; wrapping it in another and-group\n // would only add a redundant level.\n if (children.length === 1 && children[0].type === 'group') return children[0]\n return { type: 'group', operator: 'and', children }\n}\n\nconst evaluateFilterTree = (node, testCondition) => {\n if (!node) return true\n if (node.type === 'group') {\n if (node.children.length === 0) return true\n return node.operator === 'or'\n ? node.children.some((child) => evaluateFilterTree(child, testCondition))\n : node.children.every((child) => evaluateFilterTree(child, testCondition))\n }\n return testCondition(node)\n}\n\nconst buildFilterTreeClause = (node, buildCondition) => {\n if (!node) return null\n if (node.type === 'group') {\n const parts = []\n for (const child of node.children) {\n const clause = buildFilterTreeClause(child, buildCondition)\n if (clause) parts.push(clause)\n }\n if (parts.length === 0) return null\n if (parts.length === 1) return parts[0]\n return '(' + parts.join(node.operator === 'or' ? ' OR ' : ' AND ') + ')'\n }\n return buildCondition(node)\n}\n\nconst flattenFilterConditions = (node) => {\n if (!node) return []\n if (node.type === 'group') {\n return node.children.reduce((acc, child) => acc.concat(flattenFilterConditions(child)), [])\n }\n return [node]\n}";
553
+ };
554
+ exports.generateFilterTreeHelpersCode = generateFilterTreeHelpersCode;
454
555
  var generateSortFilterHelperCode = function () {
455
556
  return "function getNestedValue(obj, path) {\n if (!obj || typeof obj !== 'object') return undefined\n const keys = path.split('.')\n let value = obj\n for (const key of keys) {\n if (value && typeof value === 'object' && key in value) {\n value = value[key]\n } else {\n return undefined\n }\n }\n return value\n}\n\nfunction compareValues(value, target, operand) {\n if (value === null || value === undefined || target === null || target === undefined) {\n switch (operand) {\n case '=': return value == target\n case '!=': return value != target\n default: return false\n }\n }\n\n if (typeof value === 'number' && typeof target === 'number') {\n switch (operand) {\n case '=': return value === target\n case '!=': return value !== target\n case '>': return value > target\n case '>=': return value >= target\n case '<': return value < target\n case '<=': return value <= target\n default: return true\n }\n }\n\n if (typeof value === 'string' && typeof target === 'string') {\n switch (operand) {\n case '=': return value === target\n case '!=': return value !== target\n case '>': return value > target\n case '>=': return value >= target\n case '<': return value < target\n case '<=': return value <= target\n default: return true\n }\n }\n\n const valueDate = value instanceof Date ? value : (typeof value === 'string' ? new Date(value) : null)\n const targetDate = target instanceof Date ? target : (typeof target === 'string' ? new Date(target) : null)\n if (valueDate && targetDate && !isNaN(valueDate.getTime()) && !isNaN(targetDate.getTime())) {\n const valueTime = valueDate.getTime()\n const targetTime = targetDate.getTime()\n switch (operand) {\n case '=': return valueTime === targetTime\n case '!=': return valueTime !== targetTime\n case '>': return valueTime > targetTime\n case '>=': return valueTime >= targetTime\n case '<': return valueTime < targetTime\n case '<=': return valueTime <= targetTime\n default: return true\n }\n }\n\n if (Array.isArray(value) && Array.isArray(target)) {\n switch (operand) {\n case '=': return JSON.stringify(value) === JSON.stringify(target)\n case '!=': return JSON.stringify(value) !== JSON.stringify(target)\n case '>': return value.length > target.length\n case '>=': return value.length >= target.length\n case '<': return value.length < target.length\n case '<=': return value.length <= target.length\n default: return true\n }\n }\n\n if (Array.isArray(value) && !Array.isArray(target)) {\n switch (operand) {\n case '=': return value.includes(target)\n case '!=': return !value.includes(target)\n default: return false\n }\n }\n\n if (typeof value === 'object' && typeof target === 'object') {\n switch (operand) {\n case '=': return JSON.stringify(value) === JSON.stringify(target)\n case '!=': return JSON.stringify(value) !== JSON.stringify(target)\n default: return false\n }\n }\n\n switch (operand) {\n case '=': return value == target\n case '!=': return value != target\n case '>': return Number(value) > Number(target)\n case '>=': return Number(value) >= Number(target)\n case '<': return Number(value) < Number(target)\n case '<=': return Number(value) <= Number(target)\n default: return true\n }\n}";
456
557
  };
@@ -540,11 +641,12 @@ var hasUnresolvableDynamicParams = function (params, dynamicRouteAttr) {
540
641
  return true;
541
642
  }
542
643
  if (param.type === 'static' && Array.isArray(param.content)) {
543
- var hasDynamicDestinations = param.content.some(function (item) {
644
+ var leafConditions = (0, exports.collectFilterLeafConditions)(param.content);
645
+ var hasDynamicDestinations = leafConditions.some(function (item) {
544
646
  return item && typeof item === 'object' && teleport_plugin_common_1.ASTUtils.isUIDLDynamicReference(item === null || item === void 0 ? void 0 : item.destination);
545
647
  });
546
648
  if (hasDynamicDestinations && dynamicRouteAttr) {
547
- var allResolvable = param.content.every(function (item) {
649
+ var allResolvable = leafConditions.every(function (item) {
548
650
  if (!item || typeof item !== 'object') {
549
651
  return true;
550
652
  }
@@ -829,8 +931,9 @@ var extractDataSourceIntoGetStaticProps = function (node, dataSources, component
829
931
  // tslint:disable-next-line:no-any
830
932
  var resourceParamsForFilters = ((_d = node.content.resource) === null || _d === void 0 ? void 0 : _d.params) || {};
831
933
  var nodeFilters = ((_e = resourceParamsForFilters.filters) === null || _e === void 0 ? void 0 : _e.content) || [];
832
- var hasDynamicFilterDestinations = Array.isArray(nodeFilters) &&
833
- nodeFilters.some(function (f) { return teleport_plugin_common_1.ASTUtils.isUIDLDynamicReference(f === null || f === void 0 ? void 0 : f.destination); });
934
+ var hasDynamicFilterDestinations = (0, exports.collectFilterLeafConditions)(nodeFilters).some(function (f) {
935
+ return teleport_plugin_common_1.ASTUtils.isUIDLDynamicReference(f === null || f === void 0 ? void 0 : f.destination);
936
+ });
834
937
  // Update all target JSX nodes with initialData (only those that don't already have it)
835
938
  for (var _i = 0, nodesToUpdate_1 = nodesToUpdate; _i < nodesToUpdate_1.length; _i++) {
836
939
  var jsxNode = nodesToUpdate_1[_i];
@@ -920,9 +1023,12 @@ var extractDataSourceIntoGetStaticProps = function (node, dataSources, component
920
1023
  if (key === 'sorts' || key === 'filters' || key === 'queryColumns') {
921
1024
  var itemsToProcess = validItems;
922
1025
  if (key === 'filters') {
923
- // Keep filter items that are either static or route-resolvable (via dynamicRouteAttr)
924
- // Filter out items with unresolvable dynamic destinations
925
- itemsToProcess = validItems.filter(function (item) {
1026
+ // Keep filter conditions that are either static or route-resolvable
1027
+ // (via dynamicRouteAttr) and drop the ones with unresolvable dynamic
1028
+ // destinations. Pruned through the tree so a condition nested in a
1029
+ // group is judged on its own destination, and an `or` group keeps
1030
+ // its shape on the way to the data source.
1031
+ itemsToProcess = (0, exports.pruneFilterTree)(validItems, function (item) {
926
1032
  if (!teleport_plugin_common_1.ASTUtils.isUIDLDynamicReference(item === null || item === void 0 ? void 0 : item.destination)) {
927
1033
  return true;
928
1034
  }
@@ -937,12 +1043,15 @@ var extractDataSourceIntoGetStaticProps = function (node, dataSources, component
937
1043
  }
938
1044
  var hasRouteResolvableFilters_1 = key === 'filters' &&
939
1045
  dynamicRouteAttr &&
940
- itemsToProcess.some(function (item) {
1046
+ (0, exports.collectFilterLeafConditions)(itemsToProcess).some(function (item) {
941
1047
  return item &&
942
1048
  typeof item === 'object' &&
943
1049
  teleport_plugin_common_1.ASTUtils.isUIDLDynamicReference(item === null || item === void 0 ? void 0 : item.destination);
944
1050
  });
945
- var arrayExpr = types.arrayExpression(itemsToProcess.map(function (item) {
1051
+ // Recurses through groups so a route-resolvable destination nested
1052
+ // inside one still gets its `context.params.*` AST instead of being
1053
+ // emitted as a raw UIDL dynamic-reference object.
1054
+ var buildFilterEntryAST_1 = function (item) {
946
1055
  if (typeof item === 'string') {
947
1056
  return types.stringLiteral(item);
948
1057
  }
@@ -952,15 +1061,22 @@ var extractDataSourceIntoGetStaticProps = function (node, dataSources, component
952
1061
  if (typeof item === 'boolean') {
953
1062
  return types.booleanLiteral(item);
954
1063
  }
955
- if (typeof item === 'object' && item !== null) {
956
- if (hasRouteResolvableFilters_1 &&
957
- teleport_plugin_common_1.ASTUtils.isUIDLDynamicReference(item === null || item === void 0 ? void 0 : item.destination)) {
958
- return buildFilterObjectAST(item, dynamicRouteAttr);
959
- }
960
- return teleport_plugin_common_1.ASTUtils.objectToObjectExpression(item);
1064
+ if (typeof item !== 'object' || item === null) {
1065
+ return types.nullLiteral();
961
1066
  }
962
- return types.nullLiteral();
963
- }));
1067
+ if (item.type === 'group' && Array.isArray(item.children)) {
1068
+ return types.objectExpression([
1069
+ types.objectProperty(types.identifier('type'), types.stringLiteral('group')),
1070
+ types.objectProperty(types.identifier('operator'), types.stringLiteral(item.operator === 'or' ? 'or' : 'and')),
1071
+ types.objectProperty(types.identifier('children'), types.arrayExpression(item.children.map(buildFilterEntryAST_1))),
1072
+ ]);
1073
+ }
1074
+ if (hasRouteResolvableFilters_1 && teleport_plugin_common_1.ASTUtils.isUIDLDynamicReference(item === null || item === void 0 ? void 0 : item.destination)) {
1075
+ return buildFilterObjectAST(item, dynamicRouteAttr);
1076
+ }
1077
+ return teleport_plugin_common_1.ASTUtils.objectToObjectExpression(item);
1078
+ };
1079
+ var arrayExpr = types.arrayExpression(itemsToProcess.map(buildFilterEntryAST_1));
964
1080
  // Wrap in JSON.stringify()
965
1081
  astValue = types.callExpression(types.memberExpression(types.identifier('JSON'), types.identifier('stringify')), [arrayExpr]);
966
1082
  }
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"count-fetchers.d.ts","sourceRoot":"","sources":["../../src/count-fetchers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAE3D,OAAO,EAAE,8BAA8B,EAAE,MAAM,uBAAuB,CAAA;AACtE,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAA;AAC5D,OAAO,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAA;AAChE,OAAO,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAA;AAChE,OAAO,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAA;AAClE,OAAO,EAAE,8BAA8B,EAAE,MAAM,uBAAuB,CAAA;AACtE,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAA;AAC7D,OAAO,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAA;AAElE,OAAO,EACL,8BAA8B,EAC9B,yBAAyB,EACzB,2BAA2B,EAC3B,2BAA2B,EAC3B,4BAA4B,EAC5B,8BAA8B,EAC9B,uBAAuB,EACvB,4BAA4B,GAC7B,CAAA;AAED,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAiF1F"}
1
+ {"version":3,"file":"count-fetchers.d.ts","sourceRoot":"","sources":["../../src/count-fetchers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAE3D,OAAO,EAAE,8BAA8B,EAAE,MAAM,uBAAuB,CAAA;AACtE,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAA;AAC5D,OAAO,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAA;AAChE,OAAO,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAA;AAChE,OAAO,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAA;AAClE,OAAO,EAAE,8BAA8B,EAAE,MAAM,uBAAuB,CAAA;AACtE,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAA;AAC7D,OAAO,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAA;AAElE,OAAO,EACL,8BAA8B,EAC9B,yBAAyB,EACzB,2BAA2B,EAC3B,2BAA2B,EAC3B,4BAA4B,EAC5B,8BAA8B,EAC9B,uBAAuB,EACvB,4BAA4B,GAC7B,CAAA;AAED,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAqF1F"}
@@ -33,7 +33,7 @@ export function generateCountFetcher(dataSource, tableName) {
33
33
  case 'csv-file':
34
34
  return generateCSVCountFetcher(config);
35
35
  default:
36
- return "\nasync function getCount(req, res) {\n try {\n const { query, queryColumns, filters } = req.query\n const fakeReq = { query: { query, queryColumns, filters }, method: 'GET' }\n let result = null\n let statusCode = 200\n \n const fakeRes = {\n status: (code) => {\n statusCode = code\n return fakeRes\n },\n json: (data) => {\n result = data\n return fakeRes\n },\n }\n \n await handler(fakeReq, fakeRes)\n \n if (statusCode !== 200 || !result || !result.success) {\n return res.status(500).json({\n success: false,\n error: 'Failed to get data for counting',\n timestamp: Date.now()\n })\n }\n \n const count = Array.isArray(result.data) ? result.data.length : 0\n \n return res.status(200).json({\n success: true,\n count: count,\n timestamp: Date.now()\n })\n } catch (error) {\n console.error('Error getting count:', error)\n return res.status(500).json({\n success: false,\n error: error.message || 'Failed to get count',\n timestamp: Date.now()\n })\n }\n}\n";
36
+ return "\nasync function getCount(req, res) {\n try {\n // `collectionPath` has to travel with the rest: this counts by re-running\n // the fetch handler and measuring its result, and without the path that\n // handler gets the wrapper object rather than the records, which is not an\n // array \u2014 so the count below would report 0 for a list that clearly has rows.\n const { query, queryColumns, filters, collectionPath } = req.query\n const fakeReq = { query: { query, queryColumns, filters, collectionPath }, method: 'GET' }\n let result = null\n let statusCode = 200\n \n const fakeRes = {\n status: (code) => {\n statusCode = code\n return fakeRes\n },\n json: (data) => {\n result = data\n return fakeRes\n },\n }\n \n await handler(fakeReq, fakeRes)\n \n if (statusCode !== 200 || !result || !result.success) {\n return res.status(500).json({\n success: false,\n error: 'Failed to get data for counting',\n timestamp: Date.now()\n })\n }\n \n const count = Array.isArray(result.data) ? result.data.length : 0\n \n return res.status(200).json({\n success: true,\n count: count,\n timestamp: Date.now()\n })\n } catch (error) {\n console.error('Error getting count:', error)\n return res.status(500).json({\n success: false,\n error: error.message || 'Failed to get count',\n timestamp: Date.now()\n })\n }\n}\n";
37
37
  }
38
38
  }
39
39
  //# sourceMappingURL=count-fetchers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"count-fetchers.js","sourceRoot":"","sources":["../../src/count-fetchers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kCAAkC,EAAE,MAAM,wBAAwB,CAAA;AAC3E,OAAO,EAAE,8BAA8B,EAAE,MAAM,uBAAuB,CAAA;AACtE,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAA;AAC5D,OAAO,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAA;AAChE,OAAO,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAA;AAChE,OAAO,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAA;AAClE,OAAO,EAAE,8BAA8B,EAAE,MAAM,uBAAuB,CAAA;AACtE,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAA;AAC7D,OAAO,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAA;AAElE,OAAO,EACL,8BAA8B,EAC9B,yBAAyB,EACzB,2BAA2B,EAC3B,2BAA2B,EAC3B,4BAA4B,EAC5B,8BAA8B,EAC9B,uBAAuB,EACvB,4BAA4B,GAC7B,CAAA;AAED,MAAM,UAAU,oBAAoB,CAAC,UAA0B,EAAE,SAAiB;IACxE,IAAA,IAAI,GAAa,UAAU,KAAvB,EAAE,MAAM,GAAK,UAAU,OAAf,CAAe;IAEnC,QAAQ,IAAI,EAAE;QACZ,KAAK,UAAU;YACb,OAAO,4BAA4B,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;QAExD,KAAK,YAAY,CAAC;QAClB,KAAK,aAAa;YAChB,OAAO,8BAA8B,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;QAE1D,KAAK,OAAO,CAAC;QACb,KAAK,MAAM;YACT,OAAO,yBAAyB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;QAErD,KAAK,SAAS;YACZ,OAAO,2BAA2B,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;QAEvD,KAAK,SAAS;YACZ,OAAO,2BAA2B,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;QAEvD,KAAK,UAAU;YACb,IAAI,kCAAkC,CAAC,MAAM,CAAC,EAAE;gBAC9C,OAAO,8BAA8B,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;aACzD;YACD,OAAO,4BAA4B,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;QAExD,KAAK,YAAY;YACf,OAAO,8BAA8B,CAAC,MAAM,CAAC,CAAA;QAE/C,KAAK,UAAU;YACb,OAAO,uBAAuB,CAAC,MAAM,CAAC,CAAA;QAExC;YACE,OAAO,knCA6CZ,CAAA;KACE;AACH,CAAC"}
1
+ {"version":3,"file":"count-fetchers.js","sourceRoot":"","sources":["../../src/count-fetchers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kCAAkC,EAAE,MAAM,wBAAwB,CAAA;AAC3E,OAAO,EAAE,8BAA8B,EAAE,MAAM,uBAAuB,CAAA;AACtE,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAA;AAC5D,OAAO,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAA;AAChE,OAAO,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAA;AAChE,OAAO,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAA;AAClE,OAAO,EAAE,8BAA8B,EAAE,MAAM,uBAAuB,CAAA;AACtE,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAA;AAC7D,OAAO,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAA;AAElE,OAAO,EACL,8BAA8B,EAC9B,yBAAyB,EACzB,2BAA2B,EAC3B,2BAA2B,EAC3B,4BAA4B,EAC5B,8BAA8B,EAC9B,uBAAuB,EACvB,4BAA4B,GAC7B,CAAA;AAED,MAAM,UAAU,oBAAoB,CAAC,UAA0B,EAAE,SAAiB;IACxE,IAAA,IAAI,GAAa,UAAU,KAAvB,EAAE,MAAM,GAAK,UAAU,OAAf,CAAe;IAEnC,QAAQ,IAAI,EAAE;QACZ,KAAK,UAAU;YACb,OAAO,4BAA4B,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;QAExD,KAAK,YAAY,CAAC;QAClB,KAAK,aAAa;YAChB,OAAO,8BAA8B,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;QAE1D,KAAK,OAAO,CAAC;QACb,KAAK,MAAM;YACT,OAAO,yBAAyB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;QAErD,KAAK,SAAS;YACZ,OAAO,2BAA2B,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;QAEvD,KAAK,SAAS;YACZ,OAAO,2BAA2B,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;QAEvD,KAAK,UAAU;YACb,IAAI,kCAAkC,CAAC,MAAM,CAAC,EAAE;gBAC9C,OAAO,8BAA8B,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;aACzD;YACD,OAAO,4BAA4B,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;QAExD,KAAK,YAAY;YACf,OAAO,8BAA8B,CAAC,MAAM,CAAC,CAAA;QAE/C,KAAK,UAAU;YACb,OAAO,uBAAuB,CAAC,MAAM,CAAC,CAAA;QAExC;YACE,OAAO,09CAiDZ,CAAA;KACE;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"airtable.d.ts","sourceRoot":"","sources":["../../../src/fetchers/airtable.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,sBAAsB,WACzB,OAAO,MAAM,EAAE,OAAO,CAAC,KAC9B;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAcpC,CAAA;AAQD,eAAO,MAAM,uBAAuB,WAC1B,OAAO,MAAM,EAAE,OAAO,CAAC,aACpB,MAAM,KAChB,MAuNF,CAAA"}
1
+ {"version":3,"file":"airtable.d.ts","sourceRoot":"","sources":["../../../src/fetchers/airtable.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,sBAAsB,WACzB,OAAO,MAAM,EAAE,OAAO,CAAC,KAC9B;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAcpC,CAAA;AAQD,eAAO,MAAM,uBAAuB,WAC1B,OAAO,MAAM,EAAE,OAAO,CAAC,aACpB,MAAM,KAChB,MAqNF,CAAA"}
@@ -1,4 +1,4 @@
1
- import { replaceSecretReference, generateDateFormatterCode, generateSafeJSONParseCode, } from '../utils';
1
+ import { replaceSecretReference, generateDateFormatterCode, generateSafeJSONParseCode, generateFilterTreeHelpersCode, } from '../utils';
2
2
  export var validateAirtableConfig = function (config) {
3
3
  if (!config || typeof config !== 'object') {
4
4
  return { isValid: false, error: 'Config must be a valid object' };
@@ -15,7 +15,7 @@ export var generateAirtableFetcher = function (config, tableName) {
15
15
  var airtableConfig = config;
16
16
  var baseId = airtableConfig.baseId;
17
17
  var personalAccessToken = airtableConfig.personalAccessToken;
18
- return "import fetch from 'node-fetch'\n\n".concat(generateSafeJSONParseCode(), "\n\n").concat(generateDateFormatterCode(), "\n\n// Escape a string literal for Airtable formula grammar. Strings use\n// single quotes; embedded single-quote must be backslash-escaped.\n// Backslash itself also escapes.\nconst escapeAirtableString = (s) => {\n return \"'\" + String(s).replace(/\\\\/g, '\\\\\\\\').replace(/'/g, \"\\\\'\") + \"'\"\n}\n\n// Escape an Airtable field reference name for use inside curly braces.\n// Only close-brace and backslash are special inside the braces.\nconst escapeAirtableFieldRef = (name) => {\n return String(name).replace(/\\\\/g, '\\\\\\\\').replace(/}/g, '\\\\}')\n}\n\nconst buildAirtableSearchFormula = (rawQuery, rawQueryColumns) => {\n if (typeof rawQuery !== 'string' || rawQuery.trim() === '') return ''\n let cols = []\n if (rawQueryColumns) {\n const parsed = safeJSONParse(rawQueryColumns)\n cols = Array.isArray(parsed) ? parsed : (parsed ? [parsed] : [])\n }\n const validCols = cols.filter((c) => typeof c === 'string' && c.length > 0)\n if (validCols.length === 0) return ''\n const literal = escapeAirtableString(rawQuery)\n const parts = validCols.map(\n (col) => 'SEARCH(' + literal + ', {' + escapeAirtableFieldRef(col) + '})'\n )\n return parts.length === 1 ? parts[0] : 'OR(' + parts.join(',') + ')'\n}\n\nexport default async function handler(req, res) {\n try {\n const { query, queryColumns, view, limit, page, perPage, sortBy, sortOrder, filters, sorts, offset: offsetParam } = req.query\n\n const queryParams = new URLSearchParams()\n const formulaParts = []\n\n if (view) {\n queryParams.append('view', view)\n }\n \n // Handle sorts - new array format\n if (sorts) {\n const parsedSorts = safeJSONParse(sorts)\n if (Array.isArray(parsedSorts) && parsedSorts.length > 0) {\n parsedSorts.forEach((sort, index) => {\n if (!sort.field) return\n queryParams.append(`sort[${index}][field]`, sort.field)\n queryParams.append(`sort[${index}][direction]`, (sort.order || '').toLowerCase().startsWith('desc') ? 'desc' : 'asc')\n })\n }\n } else if (sortBy) {\n queryParams.append('sort[0][field]', sortBy)\n queryParams.append('sort[0][direction]', (sortOrder || '').toLowerCase().startsWith('desc') ? 'desc' : 'asc')\n }\n \n const perPageValue = limit || perPage || 100\n queryParams.append('pageSize', Math.min(parseInt(perPageValue), 100).toString())\n \n const formatAirtableValue = (value) => {\n if (typeof value === 'string') {\n return `'${value.replace(/'/g, \"\\\\'\")}'`\n } else if (typeof value === 'number') {\n return String(value)\n } else if (typeof value === 'boolean') {\n return value ? 'TRUE()' : 'FALSE()'\n }\n return `'${String(value)}'`\n }\n \n if (filters) {\n const parsedFilters = safeJSONParse(filters)\n \n if (Array.isArray(parsedFilters)) {\n const conditions = parsedFilters.map((filter) => {\n if (!filter.source || filter.destination === undefined) return null\n \n const field = filter.source\n const value = filter.destination\n const operand = filter.operand || '='\n \n if (Array.isArray(value)) {\n if (value.length === 0) return null\n const arrayConditions = value.map((v) => `{${field}}=${formatAirtableValue(v)}`)\n return arrayConditions.length > 1\n ? `OR(${arrayConditions.join(',')})`\n : arrayConditions[0]\n } else {\n const operatorMap = {\n '=': '=',\n '!=': '!=',\n '>': '>',\n '<': '<',\n '>=': '>=',\n '<=': '<=',\n }\n const airtableOp = operatorMap[operand] || '='\n return `{${field}}${airtableOp}${formatAirtableValue(value)}`\n }\n }).filter(Boolean)\n \n if (conditions.length > 0) {\n const filterFormula = conditions.length > 1 ? `AND(${conditions.join(',')})` : conditions[0]\n formulaParts.push(filterFormula)\n }\n } else {\n const conditions = Object.entries(parsedFilters).map(([field, value]) => {\n if (Array.isArray(value)) {\n const arrayConditions = value.map((v) => `{${field}}=${formatAirtableValue(v)}`)\n return arrayConditions.length > 1\n ? `OR(${arrayConditions.join(',')})`\n : arrayConditions[0]\n } else {\n return `{${field}}=${formatAirtableValue(value)}`\n }\n })\n\n const filterFormula = conditions.length > 1 ? `AND(${conditions.join(',')})` : conditions[0]\n if (filterFormula) {\n formulaParts.push(filterFormula)\n }\n }\n }\n\n // Apply the { query, queryColumns } search contract via the\n // Airtable SEARCH() function. Search-term string literal escaping\n // protects against single-quote injection; field-ref escaping\n // protects against close-brace or backslash breaking out of the\n // {field} reference.\n const searchFormula = buildAirtableSearchFormula(query, queryColumns)\n if (searchFormula) {\n formulaParts.push(searchFormula)\n }\n\n if (formulaParts.length === 1) {\n queryParams.append('filterByFormula', formulaParts[0])\n } else if (formulaParts.length > 1) {\n queryParams.append('filterByFormula', 'AND(' + formulaParts.join(',') + ')')\n }\n \n let url = `https://api.airtable.com/v0/").concat(baseId, "/${encodeURIComponent('").concat(tableName, "')}`\n if (queryParams.toString()) {\n url += `?${queryParams.toString()}`\n }\n \n const allRecords = []\n let airtableOffset\n const skipValue = offsetParam !== undefined ? parseInt(offsetParam) : (page ? (parseInt(page) - 1) * parseInt(perPageValue) : 0)\n const totalRecordsNeeded = skipValue + parseInt(perPageValue)\n \n do {\n const fetchUrl = airtableOffset ? `${url}&offset=${airtableOffset}` : url\n const response = await fetch(fetchUrl, {\n method: 'GET',\n headers: {\n Authorization: `Bearer ").concat(replaceSecretReference(personalAccessToken, {
18
+ return "import fetch from 'node-fetch'\n\n".concat(generateSafeJSONParseCode(), "\n\n").concat(generateFilterTreeHelpersCode(), "\n\n").concat(generateDateFormatterCode(), "\n\n// Escape a string literal for Airtable formula grammar. Strings use\n// single quotes; embedded single-quote must be backslash-escaped.\n// Backslash itself also escapes.\nconst escapeAirtableString = (s) => {\n return \"'\" + String(s).replace(/\\\\/g, '\\\\\\\\').replace(/'/g, \"\\\\'\") + \"'\"\n}\n\n// Escape an Airtable field reference name for use inside curly braces.\n// Only close-brace and backslash are special inside the braces.\nconst escapeAirtableFieldRef = (name) => {\n return String(name).replace(/\\\\/g, '\\\\\\\\').replace(/}/g, '\\\\}')\n}\n\nconst buildAirtableSearchFormula = (rawQuery, rawQueryColumns) => {\n if (typeof rawQuery !== 'string' || rawQuery.trim() === '') return ''\n let cols = []\n if (rawQueryColumns) {\n const parsed = safeJSONParse(rawQueryColumns)\n cols = Array.isArray(parsed) ? parsed : (parsed ? [parsed] : [])\n }\n const validCols = cols.filter((c) => typeof c === 'string' && c.length > 0)\n if (validCols.length === 0) return ''\n const literal = escapeAirtableString(rawQuery)\n const parts = validCols.map(\n (col) => 'SEARCH(' + literal + ', {' + escapeAirtableFieldRef(col) + '})'\n )\n return parts.length === 1 ? parts[0] : 'OR(' + parts.join(',') + ')'\n}\n\nexport default async function handler(req, res) {\n try {\n const { query, queryColumns, view, limit, page, perPage, sortBy, sortOrder, filters, sorts, offset: offsetParam } = req.query\n\n const queryParams = new URLSearchParams()\n const formulaParts = []\n\n if (view) {\n queryParams.append('view', view)\n }\n \n // Handle sorts - new array format\n if (sorts) {\n const parsedSorts = safeJSONParse(sorts)\n if (Array.isArray(parsedSorts) && parsedSorts.length > 0) {\n parsedSorts.forEach((sort, index) => {\n if (!sort.field) return\n queryParams.append(`sort[${index}][field]`, sort.field)\n queryParams.append(`sort[${index}][direction]`, (sort.order || '').toLowerCase().startsWith('desc') ? 'desc' : 'asc')\n })\n }\n } else if (sortBy) {\n queryParams.append('sort[0][field]', sortBy)\n queryParams.append('sort[0][direction]', (sortOrder || '').toLowerCase().startsWith('desc') ? 'desc' : 'asc')\n }\n \n const perPageValue = limit || perPage || 100\n queryParams.append('pageSize', Math.min(parseInt(perPageValue), 100).toString())\n \n const formatAirtableValue = (value) => {\n if (typeof value === 'string') {\n return `'${value.replace(/'/g, \"\\\\'\")}'`\n } else if (typeof value === 'number') {\n return String(value)\n } else if (typeof value === 'boolean') {\n return value ? 'TRUE()' : 'FALSE()'\n }\n return `'${String(value)}'`\n }\n \n if (filters) {\n const filterTree = normalizeFilterTree(safeJSONParse(filters))\n \n if (filterTree) {\n const buildCondition = (condition) => {\n const field = condition.source\n const value = condition.destination\n const operand = condition.operand\n \n if (Array.isArray(value)) {\n if (value.length === 0) return null\n const arrayConditions = value.map((v) => `{${field}}=${formatAirtableValue(v)}`)\n return arrayConditions.length > 1\n ? `OR(${arrayConditions.join(',')})`\n : arrayConditions[0]\n }\n \n const operatorMap = {\n '=': '=',\n '!=': '!=',\n '>': '>',\n '<': '<',\n '>=': '>=',\n '<=': '<=',\n }\n const airtableOp = operatorMap[operand] || '='\n return `{${field}}${airtableOp}${formatAirtableValue(value)}`\n }\n \n // Airtable spells its logic as AND(a,b) / OR(a,b) rather than infix, so\n // the tree is walked here instead of with buildFilterTreeClause.\n const buildNode = (node) => {\n if (node.type === 'group') {\n const parts = node.children.map(buildNode).filter(Boolean)\n if (parts.length === 0) return null\n if (parts.length === 1) return parts[0]\n return node.operator === 'or'\n ? `OR(${parts.join(',')})`\n : `AND(${parts.join(',')})`\n }\n return buildCondition(node)\n }\n \n const filterFormula = buildNode(filterTree)\n if (filterFormula) {\n formulaParts.push(filterFormula)\n }\n }\n }\n\n // Apply the { query, queryColumns } search contract via the\n // Airtable SEARCH() function. Search-term string literal escaping\n // protects against single-quote injection; field-ref escaping\n // protects against close-brace or backslash breaking out of the\n // {field} reference.\n const searchFormula = buildAirtableSearchFormula(query, queryColumns)\n if (searchFormula) {\n formulaParts.push(searchFormula)\n }\n\n if (formulaParts.length === 1) {\n queryParams.append('filterByFormula', formulaParts[0])\n } else if (formulaParts.length > 1) {\n queryParams.append('filterByFormula', 'AND(' + formulaParts.join(',') + ')')\n }\n \n let url = `https://api.airtable.com/v0/").concat(baseId, "/${encodeURIComponent('").concat(tableName, "')}`\n if (queryParams.toString()) {\n url += `?${queryParams.toString()}`\n }\n \n const allRecords = []\n let airtableOffset\n const skipValue = offsetParam !== undefined ? parseInt(offsetParam) : (page ? (parseInt(page) - 1) * parseInt(perPageValue) : 0)\n const totalRecordsNeeded = skipValue + parseInt(perPageValue)\n \n do {\n const fetchUrl = airtableOffset ? `${url}&offset=${airtableOffset}` : url\n const response = await fetch(fetchUrl, {\n method: 'GET',\n headers: {\n Authorization: `Bearer ").concat(replaceSecretReference(personalAccessToken, {
19
19
  templateLiteral: true,
20
20
  }), "`,\n 'Content-Type': 'application/json'\n }\n })\n \n if (!response.ok) {\n const errorData = await response.json().catch(() => ({}))\n return res.status(response.status).json({\n success: false,\n error: errorData.error?.message || `HTTP ${response.status}: ${response.statusText}`,\n timestamp: Date.now()\n })\n }\n \n const data = await response.json()\n allRecords.push(...data.records)\n airtableOffset = data.offset\n \n if (allRecords.length >= totalRecordsNeeded || !airtableOffset) {\n break\n }\n } while (airtableOffset)\n \n const paginatedRecords = allRecords.slice(skipValue, skipValue + parseInt(perPageValue))\n \n const formattedRecords = paginatedRecords.map((record) => ({\n id: record.id,\n ...record.fields,\n createdTime: record.createdTime\n }))\n \n const safeData = JSON.parse(JSON.stringify(formattedRecords, dateReplacer))\n \n return res.status(200).json({\n success: true,\n data: safeData,\n timestamp: Date.now()\n })\n } catch (error) {\n console.error('Airtable fetch error:', error)\n return res.status(500).json({\n success: false,\n error: error.message || 'Failed to fetch data',\n timestamp: Date.now()\n })\n }\n}\n");
21
21
  };
@@ -1 +1 @@
1
- {"version":3,"file":"airtable.js","sourceRoot":"","sources":["../../../src/fetchers/airtable.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,UAAU,CAAA;AAEjB,MAAM,CAAC,IAAM,sBAAsB,GAAG,UACpC,MAA+B;IAE/B,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;QACzC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,+BAA+B,EAAE,CAAA;KAClE;IAED,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QACtF,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,8BAA8B,EAAE,CAAA;KACjE;IAED,IAAI,CAAC,MAAM,CAAC,mBAAmB,IAAI,OAAO,MAAM,CAAC,mBAAmB,KAAK,QAAQ,EAAE;QACjF,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,4CAA4C,EAAE,CAAA;KAC/E;IAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;AAC1B,CAAC,CAAA;AAQD,MAAM,CAAC,IAAM,uBAAuB,GAAG,UACrC,MAA+B,EAC/B,SAAiB;IAEjB,IAAM,cAAc,GAAG,MAAwB,CAAA;IAC/C,IAAM,MAAM,GAAG,cAAc,CAAC,MAAM,CAAA;IACpC,IAAM,mBAAmB,GAAG,cAAc,CAAC,mBAAmB,CAAA;IAE9D,OAAO,4CAEP,yBAAyB,EAAE,iBAE3B,yBAAyB,EAAE,m7KA6IiB,MAAM,oCAA2B,SAAS,wkBAepD,sBAAsB,CAAC,mBAAmB,EAAE;QACpE,eAAe,EAAE,IAAI;KACtB,CAAC,+1CA+CX,CAAA;AACD,CAAC,CAAA"}
1
+ {"version":3,"file":"airtable.js","sourceRoot":"","sources":["../../../src/fetchers/airtable.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,yBAAyB,EACzB,yBAAyB,EACzB,6BAA6B,GAC9B,MAAM,UAAU,CAAA;AAEjB,MAAM,CAAC,IAAM,sBAAsB,GAAG,UACpC,MAA+B;IAE/B,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;QACzC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,+BAA+B,EAAE,CAAA;KAClE;IAED,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QACtF,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,8BAA8B,EAAE,CAAA;KACjE;IAED,IAAI,CAAC,MAAM,CAAC,mBAAmB,IAAI,OAAO,MAAM,CAAC,mBAAmB,KAAK,QAAQ,EAAE;QACjF,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,4CAA4C,EAAE,CAAA;KAC/E;IAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;AAC1B,CAAC,CAAA;AAQD,MAAM,CAAC,IAAM,uBAAuB,GAAG,UACrC,MAA+B,EAC/B,SAAiB;IAEjB,IAAM,cAAc,GAAG,MAAwB,CAAA;IAC/C,IAAM,MAAM,GAAG,cAAc,CAAC,MAAM,CAAA;IACpC,IAAM,mBAAmB,GAAG,cAAc,CAAC,mBAAmB,CAAA;IAE9D,OAAO,4CAEP,yBAAyB,EAAE,iBAE3B,6BAA6B,EAAE,iBAE/B,yBAAyB,EAAE,irKAyIiB,MAAM,oCAA2B,SAAS,wkBAepD,sBAAsB,CAAC,mBAAmB,EAAE;QACpE,eAAe,EAAE,IAAI;KACtB,CAAC,+1CA+CX,CAAA;AACD,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"clickhouse.d.ts","sourceRoot":"","sources":["../../../src/fetchers/clickhouse.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,wBAAwB,WAC3B,OAAO,MAAM,EAAE,OAAO,CAAC,KAC9B;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAkBpC,CAAA;AAQD,eAAO,MAAM,yBAAyB,WAC5B,OAAO,MAAM,EAAE,OAAO,CAAC,aACpB,MAAM,KAChB,MA0KF,CAAA"}
1
+ {"version":3,"file":"clickhouse.d.ts","sourceRoot":"","sources":["../../../src/fetchers/clickhouse.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,wBAAwB,WAC3B,OAAO,MAAM,EAAE,OAAO,CAAC,KAC9B;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAkBpC,CAAA;AAQD,eAAO,MAAM,yBAAyB,WAC5B,OAAO,MAAM,EAAE,OAAO,CAAC,aACpB,MAAM,KAChB,MA+JF,CAAA"}