@teleporthq/teleport-plugin-next-data-source 0.40.15

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 (240) hide show
  1. package/ARRAY_MAPPER_PAGINATION.md +1128 -0
  2. package/LICENSE +21 -0
  3. package/README.md +40 -0
  4. package/SEARCH_IMPLEMENTATION_SUMMARY.md +983 -0
  5. package/__tests__/fetchers.test.ts +545 -0
  6. package/__tests__/integration.test.ts +561 -0
  7. package/__tests__/mocks.ts +241 -0
  8. package/__tests__/pagination.test.ts +31 -0
  9. package/__tests__/plugin.test.ts +577 -0
  10. package/__tests__/utils.test.ts +430 -0
  11. package/__tests__/validation.test.ts +348 -0
  12. package/dist/cjs/array-mapper-pagination.d.ts +32 -0
  13. package/dist/cjs/array-mapper-pagination.d.ts.map +1 -0
  14. package/dist/cjs/array-mapper-pagination.js +77 -0
  15. package/dist/cjs/array-mapper-pagination.js.map +1 -0
  16. package/dist/cjs/count-fetchers.d.ts +12 -0
  17. package/dist/cjs/count-fetchers.d.ts.map +1 -0
  18. package/dist/cjs/count-fetchers.js +46 -0
  19. package/dist/cjs/count-fetchers.js.map +1 -0
  20. package/dist/cjs/data-source-fetchers.d.ts +14 -0
  21. package/dist/cjs/data-source-fetchers.d.ts.map +1 -0
  22. package/dist/cjs/data-source-fetchers.js +185 -0
  23. package/dist/cjs/data-source-fetchers.js.map +1 -0
  24. package/dist/cjs/fetchers/airtable.d.ts +6 -0
  25. package/dist/cjs/fetchers/airtable.d.ts.map +1 -0
  26. package/dist/cjs/fetchers/airtable.js +27 -0
  27. package/dist/cjs/fetchers/airtable.js.map +1 -0
  28. package/dist/cjs/fetchers/clickhouse.d.ts +6 -0
  29. package/dist/cjs/fetchers/clickhouse.d.ts.map +1 -0
  30. package/dist/cjs/fetchers/clickhouse.js +29 -0
  31. package/dist/cjs/fetchers/clickhouse.js.map +1 -0
  32. package/dist/cjs/fetchers/csv-file.d.ts +7 -0
  33. package/dist/cjs/fetchers/csv-file.d.ts.map +1 -0
  34. package/dist/cjs/fetchers/csv-file.js +36 -0
  35. package/dist/cjs/fetchers/csv-file.js.map +1 -0
  36. package/dist/cjs/fetchers/firestore.d.ts +6 -0
  37. package/dist/cjs/fetchers/firestore.d.ts.map +1 -0
  38. package/dist/cjs/fetchers/firestore.js +35 -0
  39. package/dist/cjs/fetchers/firestore.js.map +1 -0
  40. package/dist/cjs/fetchers/google-sheets.d.ts +6 -0
  41. package/dist/cjs/fetchers/google-sheets.d.ts.map +1 -0
  42. package/dist/cjs/fetchers/google-sheets.js +30 -0
  43. package/dist/cjs/fetchers/google-sheets.js.map +1 -0
  44. package/dist/cjs/fetchers/index.d.ts +17 -0
  45. package/dist/cjs/fetchers/index.d.ts.map +1 -0
  46. package/dist/cjs/fetchers/index.js +56 -0
  47. package/dist/cjs/fetchers/index.js.map +1 -0
  48. package/dist/cjs/fetchers/javascript.d.ts +7 -0
  49. package/dist/cjs/fetchers/javascript.d.ts.map +1 -0
  50. package/dist/cjs/fetchers/javascript.js +40 -0
  51. package/dist/cjs/fetchers/javascript.js.map +1 -0
  52. package/dist/cjs/fetchers/mariadb.d.ts +3 -0
  53. package/dist/cjs/fetchers/mariadb.d.ts.map +1 -0
  54. package/dist/cjs/fetchers/mariadb.js +23 -0
  55. package/dist/cjs/fetchers/mariadb.js.map +1 -0
  56. package/dist/cjs/fetchers/mongodb.d.ts +7 -0
  57. package/dist/cjs/fetchers/mongodb.d.ts.map +1 -0
  58. package/dist/cjs/fetchers/mongodb.js +52 -0
  59. package/dist/cjs/fetchers/mongodb.js.map +1 -0
  60. package/dist/cjs/fetchers/mysql.d.ts +3 -0
  61. package/dist/cjs/fetchers/mysql.d.ts.map +1 -0
  62. package/dist/cjs/fetchers/mysql.js +30 -0
  63. package/dist/cjs/fetchers/mysql.js.map +1 -0
  64. package/dist/cjs/fetchers/postgresql.d.ts +3 -0
  65. package/dist/cjs/fetchers/postgresql.d.ts.map +1 -0
  66. package/dist/cjs/fetchers/postgresql.js +25 -0
  67. package/dist/cjs/fetchers/postgresql.js.map +1 -0
  68. package/dist/cjs/fetchers/redis.d.ts +6 -0
  69. package/dist/cjs/fetchers/redis.d.ts.map +1 -0
  70. package/dist/cjs/fetchers/redis.js +46 -0
  71. package/dist/cjs/fetchers/redis.js.map +1 -0
  72. package/dist/cjs/fetchers/redshift.d.ts +2 -0
  73. package/dist/cjs/fetchers/redshift.d.ts.map +1 -0
  74. package/dist/cjs/fetchers/redshift.js +24 -0
  75. package/dist/cjs/fetchers/redshift.js.map +1 -0
  76. package/dist/cjs/fetchers/rest-api.d.ts +6 -0
  77. package/dist/cjs/fetchers/rest-api.d.ts.map +1 -0
  78. package/dist/cjs/fetchers/rest-api.js +58 -0
  79. package/dist/cjs/fetchers/rest-api.js.map +1 -0
  80. package/dist/cjs/fetchers/static-collection.d.ts +7 -0
  81. package/dist/cjs/fetchers/static-collection.d.ts.map +1 -0
  82. package/dist/cjs/fetchers/static-collection.js +24 -0
  83. package/dist/cjs/fetchers/static-collection.js.map +1 -0
  84. package/dist/cjs/fetchers/supabase.d.ts +7 -0
  85. package/dist/cjs/fetchers/supabase.d.ts.map +1 -0
  86. package/dist/cjs/fetchers/supabase.js +42 -0
  87. package/dist/cjs/fetchers/supabase.js.map +1 -0
  88. package/dist/cjs/fetchers/turso.d.ts +6 -0
  89. package/dist/cjs/fetchers/turso.d.ts.map +1 -0
  90. package/dist/cjs/fetchers/turso.js +25 -0
  91. package/dist/cjs/fetchers/turso.js.map +1 -0
  92. package/dist/cjs/index.d.ts +9 -0
  93. package/dist/cjs/index.d.ts.map +1 -0
  94. package/dist/cjs/index.js +325 -0
  95. package/dist/cjs/index.js.map +1 -0
  96. package/dist/cjs/pagination-plugin.d.ts +5 -0
  97. package/dist/cjs/pagination-plugin.d.ts.map +1 -0
  98. package/dist/cjs/pagination-plugin.js +1484 -0
  99. package/dist/cjs/pagination-plugin.js.map +1 -0
  100. package/dist/cjs/pagination-with-count.d.ts +6 -0
  101. package/dist/cjs/pagination-with-count.d.ts.map +1 -0
  102. package/dist/cjs/pagination-with-count.js +63 -0
  103. package/dist/cjs/pagination-with-count.js.map +1 -0
  104. package/dist/cjs/tsconfig.tsbuildinfo +1 -0
  105. package/dist/cjs/utils.d.ts +31 -0
  106. package/dist/cjs/utils.d.ts.map +1 -0
  107. package/dist/cjs/utils.js +763 -0
  108. package/dist/cjs/utils.js.map +1 -0
  109. package/dist/cjs/validation.d.ts +5 -0
  110. package/dist/cjs/validation.d.ts.map +1 -0
  111. package/dist/cjs/validation.js +29 -0
  112. package/dist/cjs/validation.js.map +1 -0
  113. package/dist/esm/array-mapper-pagination.d.ts +32 -0
  114. package/dist/esm/array-mapper-pagination.d.ts.map +1 -0
  115. package/dist/esm/array-mapper-pagination.js +72 -0
  116. package/dist/esm/array-mapper-pagination.js.map +1 -0
  117. package/dist/esm/count-fetchers.d.ts +12 -0
  118. package/dist/esm/count-fetchers.d.ts.map +1 -0
  119. package/dist/esm/count-fetchers.js +35 -0
  120. package/dist/esm/count-fetchers.js.map +1 -0
  121. package/dist/esm/data-source-fetchers.d.ts +14 -0
  122. package/dist/esm/data-source-fetchers.d.ts.map +1 -0
  123. package/dist/esm/data-source-fetchers.js +179 -0
  124. package/dist/esm/data-source-fetchers.js.map +1 -0
  125. package/dist/esm/fetchers/airtable.d.ts +6 -0
  126. package/dist/esm/fetchers/airtable.d.ts.map +1 -0
  127. package/dist/esm/fetchers/airtable.js +22 -0
  128. package/dist/esm/fetchers/airtable.js.map +1 -0
  129. package/dist/esm/fetchers/clickhouse.d.ts +6 -0
  130. package/dist/esm/fetchers/clickhouse.d.ts.map +1 -0
  131. package/dist/esm/fetchers/clickhouse.js +24 -0
  132. package/dist/esm/fetchers/clickhouse.js.map +1 -0
  133. package/dist/esm/fetchers/csv-file.d.ts +7 -0
  134. package/dist/esm/fetchers/csv-file.d.ts.map +1 -0
  135. package/dist/esm/fetchers/csv-file.js +30 -0
  136. package/dist/esm/fetchers/csv-file.js.map +1 -0
  137. package/dist/esm/fetchers/firestore.d.ts +6 -0
  138. package/dist/esm/fetchers/firestore.d.ts.map +1 -0
  139. package/dist/esm/fetchers/firestore.js +30 -0
  140. package/dist/esm/fetchers/firestore.js.map +1 -0
  141. package/dist/esm/fetchers/google-sheets.d.ts +6 -0
  142. package/dist/esm/fetchers/google-sheets.d.ts.map +1 -0
  143. package/dist/esm/fetchers/google-sheets.js +25 -0
  144. package/dist/esm/fetchers/google-sheets.js.map +1 -0
  145. package/dist/esm/fetchers/index.d.ts +17 -0
  146. package/dist/esm/fetchers/index.d.ts.map +1 -0
  147. package/dist/esm/fetchers/index.js +17 -0
  148. package/dist/esm/fetchers/index.js.map +1 -0
  149. package/dist/esm/fetchers/javascript.d.ts +7 -0
  150. package/dist/esm/fetchers/javascript.d.ts.map +1 -0
  151. package/dist/esm/fetchers/javascript.js +34 -0
  152. package/dist/esm/fetchers/javascript.js.map +1 -0
  153. package/dist/esm/fetchers/mariadb.d.ts +3 -0
  154. package/dist/esm/fetchers/mariadb.d.ts.map +1 -0
  155. package/dist/esm/fetchers/mariadb.js +18 -0
  156. package/dist/esm/fetchers/mariadb.js.map +1 -0
  157. package/dist/esm/fetchers/mongodb.d.ts +7 -0
  158. package/dist/esm/fetchers/mongodb.d.ts.map +1 -0
  159. package/dist/esm/fetchers/mongodb.js +46 -0
  160. package/dist/esm/fetchers/mongodb.js.map +1 -0
  161. package/dist/esm/fetchers/mysql.d.ts +3 -0
  162. package/dist/esm/fetchers/mysql.d.ts.map +1 -0
  163. package/dist/esm/fetchers/mysql.js +25 -0
  164. package/dist/esm/fetchers/mysql.js.map +1 -0
  165. package/dist/esm/fetchers/postgresql.d.ts +3 -0
  166. package/dist/esm/fetchers/postgresql.d.ts.map +1 -0
  167. package/dist/esm/fetchers/postgresql.js +20 -0
  168. package/dist/esm/fetchers/postgresql.js.map +1 -0
  169. package/dist/esm/fetchers/redis.d.ts +6 -0
  170. package/dist/esm/fetchers/redis.d.ts.map +1 -0
  171. package/dist/esm/fetchers/redis.js +41 -0
  172. package/dist/esm/fetchers/redis.js.map +1 -0
  173. package/dist/esm/fetchers/redshift.d.ts +2 -0
  174. package/dist/esm/fetchers/redshift.d.ts.map +1 -0
  175. package/dist/esm/fetchers/redshift.js +20 -0
  176. package/dist/esm/fetchers/redshift.js.map +1 -0
  177. package/dist/esm/fetchers/rest-api.d.ts +6 -0
  178. package/dist/esm/fetchers/rest-api.d.ts.map +1 -0
  179. package/dist/esm/fetchers/rest-api.js +53 -0
  180. package/dist/esm/fetchers/rest-api.js.map +1 -0
  181. package/dist/esm/fetchers/static-collection.d.ts +7 -0
  182. package/dist/esm/fetchers/static-collection.d.ts.map +1 -0
  183. package/dist/esm/fetchers/static-collection.js +18 -0
  184. package/dist/esm/fetchers/static-collection.js.map +1 -0
  185. package/dist/esm/fetchers/supabase.d.ts +7 -0
  186. package/dist/esm/fetchers/supabase.d.ts.map +1 -0
  187. package/dist/esm/fetchers/supabase.js +36 -0
  188. package/dist/esm/fetchers/supabase.js.map +1 -0
  189. package/dist/esm/fetchers/turso.d.ts +6 -0
  190. package/dist/esm/fetchers/turso.d.ts.map +1 -0
  191. package/dist/esm/fetchers/turso.js +20 -0
  192. package/dist/esm/fetchers/turso.js.map +1 -0
  193. package/dist/esm/index.d.ts +9 -0
  194. package/dist/esm/index.d.ts.map +1 -0
  195. package/dist/esm/index.js +306 -0
  196. package/dist/esm/index.js.map +1 -0
  197. package/dist/esm/pagination-plugin.d.ts +5 -0
  198. package/dist/esm/pagination-plugin.d.ts.map +1 -0
  199. package/dist/esm/pagination-plugin.js +1457 -0
  200. package/dist/esm/pagination-plugin.js.map +1 -0
  201. package/dist/esm/pagination-with-count.d.ts +6 -0
  202. package/dist/esm/pagination-with-count.d.ts.map +1 -0
  203. package/dist/esm/pagination-with-count.js +34 -0
  204. package/dist/esm/pagination-with-count.js.map +1 -0
  205. package/dist/esm/tsconfig.tsbuildinfo +1 -0
  206. package/dist/esm/utils.d.ts +31 -0
  207. package/dist/esm/utils.d.ts.map +1 -0
  208. package/dist/esm/utils.js +722 -0
  209. package/dist/esm/utils.js.map +1 -0
  210. package/dist/esm/validation.d.ts +5 -0
  211. package/dist/esm/validation.d.ts.map +1 -0
  212. package/dist/esm/validation.js +25 -0
  213. package/dist/esm/validation.js.map +1 -0
  214. package/package.json +33 -0
  215. package/src/array-mapper-pagination.ts +113 -0
  216. package/src/count-fetchers.ts +99 -0
  217. package/src/data-source-fetchers.ts +313 -0
  218. package/src/fetchers/airtable.ts +153 -0
  219. package/src/fetchers/clickhouse.ts +127 -0
  220. package/src/fetchers/csv-file.ts +163 -0
  221. package/src/fetchers/firestore.ts +138 -0
  222. package/src/fetchers/google-sheets.ts +189 -0
  223. package/src/fetchers/index.ts +32 -0
  224. package/src/fetchers/javascript.ts +150 -0
  225. package/src/fetchers/mariadb.ts +230 -0
  226. package/src/fetchers/mongodb.ts +239 -0
  227. package/src/fetchers/mysql.ts +237 -0
  228. package/src/fetchers/postgresql.ts +247 -0
  229. package/src/fetchers/redis.ts +152 -0
  230. package/src/fetchers/redshift.ts +138 -0
  231. package/src/fetchers/rest-api.ts +148 -0
  232. package/src/fetchers/static-collection.ts +149 -0
  233. package/src/fetchers/supabase.ts +246 -0
  234. package/src/fetchers/turso.ts +131 -0
  235. package/src/index.ts +352 -0
  236. package/src/pagination-plugin.ts +2335 -0
  237. package/src/pagination-with-count.ts +89 -0
  238. package/src/utils.ts +1013 -0
  239. package/src/validation.ts +32 -0
  240. package/tsconfig.json +9 -0
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.generateSupabaseCountFetcher = exports.generateSupabaseFetcher = exports.validateSupabaseConfig = void 0;
4
+ var utils_1 = require("../utils");
5
+ var validateSupabaseConfig = function (config) {
6
+ if (!config || typeof config !== 'object') {
7
+ return { isValid: false, error: 'Config must be a valid object' };
8
+ }
9
+ if (!config.supabaseUrl || typeof config.supabaseUrl !== 'string') {
10
+ return { isValid: false, error: 'Supabase URL is required' };
11
+ }
12
+ try {
13
+ var url = new URL(config.supabaseUrl);
14
+ if (!url.hostname.endsWith('.supabase.co') && !url.hostname.endsWith('.supabase.in')) {
15
+ console.warn('[Data Source] Warning: Supabase URL does not match expected format');
16
+ }
17
+ }
18
+ catch (_a) {
19
+ return { isValid: false, error: 'Invalid Supabase URL format' };
20
+ }
21
+ if (!config.serviceRoleKey && !config.publicApiKey) {
22
+ return {
23
+ isValid: false,
24
+ error: 'Supabase API key (serviceRoleKey or publicApiKey) is required',
25
+ };
26
+ }
27
+ return { isValid: true };
28
+ };
29
+ exports.validateSupabaseConfig = validateSupabaseConfig;
30
+ var generateSupabaseFetcher = function (config, tableName) {
31
+ var supabaseConfig = config;
32
+ var supabaseUrl = supabaseConfig.supabaseUrl;
33
+ var apiKey = supabaseConfig.serviceRoleKey || supabaseConfig.publicApiKey;
34
+ return "import { createClient } from '@supabase/supabase-js'\n\nlet client = null\n\nconst getClient = () => {\n if (client) return client\n \n client = createClient(\n ".concat(JSON.stringify(supabaseUrl), ",\n ").concat((0, utils_1.replaceSecretReference)(apiKey), "\n )\n \n return client\n}\n\nexport default async function handler(req, res) {\n try {\n const client = getClient()\n const { query, queryColumns, select, limit, page, perPage, sortBy, sortOrder, filters, offset } = req.query\n \n let queryRef = client.from('").concat(tableName, "').select(select || '*')\n \n if (query) {\n let columns = []\n \n if (queryColumns) {\n // Use specified columns\n columns = JSON.parse(queryColumns)\n } else {\n // Fallback: Get all column names from a sample row\n try {\n const { data: sampleData, error: sampleError } = await client.from('").concat(tableName, "').select('*').limit(1).single()\n if (sampleError) {\n throw sampleError\n }\n if (sampleData) {\n columns = Object.keys(sampleData)\n }\n } catch (schemaError) {\n console.warn('Failed to fetch sample row for column names:', schemaError.message)\n // Continue without search if we can't get columns\n }\n }\n \n if (columns.length > 0) {\n const searchPattern = `%${query}%`\n const orConditions = columns.map((col) => `${col}.ilike.${searchPattern}`).join(',')\n queryRef = queryRef.or(orConditions)\n }\n }\n \n if (filters) {\n const parsedFilters = JSON.parse(filters)\n Object.entries(parsedFilters).forEach(([key, value]) => {\n if (Array.isArray(value)) {\n const processedValues = value.map((v) => {\n if (typeof v === 'string' && !isNaN(Number(v))) {\n return Number(v)\n }\n return v\n })\n queryRef = queryRef.in(key, processedValues)\n } else if (typeof value === 'object' && value !== null) {\n const operator = Object.keys(value)[0]\n let operatorValue = value[operator]\n if (typeof operatorValue === 'string' && !isNaN(Number(operatorValue))) {\n operatorValue = Number(operatorValue)\n }\n switch (operator) {\n case 'eq': queryRef = queryRef.eq(key, operatorValue); break\n case 'neq': queryRef = queryRef.neq(key, operatorValue); break\n case 'gt': queryRef = queryRef.gt(key, operatorValue); break\n case 'gte': queryRef = queryRef.gte(key, operatorValue); break\n case 'lt': queryRef = queryRef.lt(key, operatorValue); break\n case 'lte': queryRef = queryRef.lte(key, operatorValue); break\n case 'like': queryRef = queryRef.like(key, operatorValue); break\n case 'ilike': queryRef = queryRef.ilike(key, operatorValue); break\n case 'in': queryRef = queryRef.in(key, operatorValue); break\n default: queryRef = queryRef.eq(key, operatorValue)\n }\n } else {\n let processedValue = value\n if (typeof value === 'string' && !isNaN(Number(value))) {\n processedValue = Number(value)\n }\n queryRef = queryRef.eq(key, processedValue)\n }\n })\n }\n \n if (sortBy) {\n queryRef = queryRef.order(sortBy, { ascending: sortOrder !== 'desc' })\n }\n \n const limitValue = limit || perPage\n const offsetValue = offset !== undefined ? parseInt(offset) : (page && perPage ? (parseInt(page) - 1) * parseInt(perPage) : undefined)\n \n if (offsetValue !== undefined && limitValue) {\n queryRef = queryRef.range(offsetValue, offsetValue + parseInt(limitValue) - 1)\n } else if (limitValue) {\n queryRef = queryRef.limit(parseInt(limitValue))\n }\n \n const { data, error } = await queryRef\n \n if (error) {\n return res.status(500).json({\n success: false,\n error: error.message,\n timestamp: Date.now()\n })\n }\n \n const safeData = JSON.parse(JSON.stringify(data))\n \n return res.status(200).json({\n success: true,\n data: safeData,\n timestamp: Date.now()\n })\n } catch (error) {\n console.error('Supabase 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");
35
+ };
36
+ exports.generateSupabaseFetcher = generateSupabaseFetcher;
37
+ // tslint:disable-next-line:variable-name
38
+ var generateSupabaseCountFetcher = function (_config, tableName) {
39
+ return "\nasync function getCount(req, res) {\n const supabase = getClient()\n\n try {\n const { query, queryColumns, filters } = req.query\n let countQuery = supabase.from('".concat(tableName, "').select('*', { count: 'exact', head: true })\n\n if (query) {\n let columns = []\n \n if (queryColumns) {\n // Use specified columns\n columns = typeof queryColumns === 'string' ? JSON.parse(queryColumns) : (Array.isArray(queryColumns) ? queryColumns : [queryColumns])\n } else {\n // Fallback: Get all column names from a sample row\n try {\n const { data: sampleData, error: sampleError } = await supabase.from('").concat(tableName, "').select('*').limit(1).single()\n if (sampleError) {\n throw sampleError\n }\n if (sampleData) {\n columns = Object.keys(sampleData)\n }\n } catch (schemaError) {\n console.warn('Failed to fetch sample row for column names:', schemaError.message)\n // Continue without search if we can't get columns\n }\n }\n \n if (columns.length > 0) {\n const searchPattern = `%${query}%`\n const orConditions = columns.map((col) => `${col}.ilike.${searchPattern}`).join(',')\n countQuery = countQuery.or(orConditions)\n }\n }\n\n if (filters) {\n const parsedFilters = JSON.parse(filters)\n for (const filter of parsedFilters) {\n countQuery = countQuery.eq(filter.column, filter.value)\n }\n }\n\n const { count, error } = await countQuery\n \n if (error) throw error\n\n return res.status(200).json({\n success: true,\n count: count || 0,\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");
40
+ };
41
+ exports.generateSupabaseCountFetcher = generateSupabaseCountFetcher;
42
+ //# sourceMappingURL=supabase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"supabase.js","sourceRoot":"","sources":["../../../src/fetchers/supabase.ts"],"names":[],"mappings":";;;AAAA,kCAAiD;AAE1C,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,WAAW,IAAI,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ,EAAE;QACjE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,0BAA0B,EAAE,CAAA;KAC7D;IAED,IAAI;QACF,IAAM,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;QACvC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE;YACpF,OAAO,CAAC,IAAI,CAAC,oEAAoE,CAAC,CAAA;SACnF;KACF;IAAC,WAAM;QACN,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,6BAA6B,EAAE,CAAA;KAChE;IAED,IAAI,CAAC,MAAM,CAAC,cAAc,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE;QAClD,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,+DAA+D;SACvE,CAAA;KACF;IAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;AAC1B,CAAC,CAAA;AA5BY,QAAA,sBAAsB,0BA4BlC;AAUM,IAAM,uBAAuB,GAAG,UACrC,MAA+B,EAC/B,SAAiB;IAEjB,IAAM,cAAc,GAAG,MAAwB,CAAA;IAC/C,IAAM,WAAW,GAAG,cAAc,CAAC,WAAW,CAAA;IAC9C,IAAM,MAAM,GAAG,cAAc,CAAC,cAAc,IAAI,cAAc,CAAC,YAAY,CAAA;IAE3E,OAAO,iLAQH,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,oBAC3B,IAAA,8BAAsB,EAAC,MAAM,CAAC,iSAWF,SAAS,kXAWqC,SAAS,+hHAkGxF,CAAA;AACD,CAAC,CAAA;AA1IY,QAAA,uBAAuB,2BA0InC;AAED,yCAAyC;AAClC,IAAM,4BAA4B,GAAG,UAAC,OAAY,EAAE,SAAiB;IAC1E,OAAO,wLAM6B,SAAS,yeAWmC,SAAS,qwCA6C1F,CAAA;AACD,CAAC,CAAA;AAhEY,QAAA,4BAA4B,gCAgExC"}
@@ -0,0 +1,6 @@
1
+ export declare const validateTursoConfig: (config: Record<string, unknown>) => {
2
+ isValid: boolean;
3
+ error?: string;
4
+ };
5
+ export declare const generateTursoFetcher: (config: Record<string, unknown>, tableName: string) => string;
6
+ //# sourceMappingURL=turso.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"turso.d.ts","sourceRoot":"","sources":["../../../src/fetchers/turso.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,mBAAmB,WACtB,OAAO,MAAM,EAAE,OAAO,CAAC,KAC9B;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAcpC,CAAA;AASD,eAAO,MAAM,oBAAoB,WACvB,OAAO,MAAM,EAAE,OAAO,CAAC,aACpB,MAAM,KAChB,MAoGF,CAAA"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.generateTursoFetcher = exports.validateTursoConfig = void 0;
4
+ var utils_1 = require("../utils");
5
+ var validateTursoConfig = function (config) {
6
+ if (!config || typeof config !== 'object') {
7
+ return { isValid: false, error: 'Config must be a valid object' };
8
+ }
9
+ if (!config.databaseUrl || typeof config.databaseUrl !== 'string') {
10
+ return { isValid: false, error: 'Turso database URL is required' };
11
+ }
12
+ if (!config.token || typeof config.token !== 'string') {
13
+ return { isValid: false, error: 'Turso authentication token is required' };
14
+ }
15
+ return { isValid: true };
16
+ };
17
+ exports.validateTursoConfig = validateTursoConfig;
18
+ var generateTursoFetcher = function (config, tableName) {
19
+ var tursoConfig = config;
20
+ var databaseUrl = tursoConfig.databaseUrl;
21
+ var token = tursoConfig.token;
22
+ return "import { createClient } from '@libsql/client'\n\nexport default async function handler(req, res) {\n let client = null\n try {\n client = createClient({\n url: ".concat(JSON.stringify(databaseUrl), ",\n authToken: ").concat((0, utils_1.replaceSecretReference)(token), "\n })\n \n const { query, queryColumns, limit, page, perPage, sortBy, sortOrder, filters, offset } = req.query\n \n let sql = `SELECT * FROM ").concat(tableName, "`\n const whereClauses = []\n const queryParams = []\n \n if (query && queryColumns) {\n const columns = JSON.parse(queryColumns)\n const searchConditions = columns.map((col) => `${col} LIKE ?`)\n whereClauses.push(`(${searchConditions.join(' OR ')})`)\n columns.forEach(() => {\n queryParams.push(`%${query}%`)\n })\n }\n \n if (filters) {\n const parsedFilters = JSON.parse(filters)\n Object.entries(parsedFilters).forEach(([key, value]) => {\n if (Array.isArray(value)) {\n const placeholders = value.map(() => '?').join(', ')\n queryParams.push(...value)\n whereClauses.push(`${key} IN (${placeholders})`)\n } else {\n whereClauses.push(`${key} = ?`)\n queryParams.push(value)\n }\n })\n }\n \n if (whereClauses.length > 0) {\n sql += ` WHERE ${whereClauses.join(' AND ')}`\n }\n \n if (sortBy) {\n const sortOrderValue = sortOrder?.toUpperCase() === 'DESC' ? 'DESC' : 'ASC'\n sql += ` ORDER BY ${sortBy} ${sortOrderValue}`\n }\n \n const limitValue = limit || perPage\n const offsetValue = offset !== undefined ? parseInt(offset) : (page && perPage ? (parseInt(page) - 1) * parseInt(perPage) : undefined)\n \n if (limitValue) {\n sql += ` LIMIT ?`\n queryParams.push(parseInt(limitValue))\n }\n \n if (offsetValue !== undefined) {\n sql += ` OFFSET ?`\n queryParams.push(offsetValue)\n }\n \n const result = await client.execute({\n sql,\n args: queryParams\n })\n \n const data = result.rows.map((row) => {\n const obj = {}\n result.columns.forEach((col, idx) => {\n obj[col] = row[col]\n })\n return obj\n })\n \n const safeData = JSON.parse(JSON.stringify(data))\n \n return res.status(200).json({\n success: true,\n data: safeData,\n timestamp: Date.now()\n })\n } catch (error) {\n console.error('Turso 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 } finally {\n if (client) {\n client.close()\n }\n }\n}\n");
23
+ };
24
+ exports.generateTursoFetcher = generateTursoFetcher;
25
+ //# sourceMappingURL=turso.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"turso.js","sourceRoot":"","sources":["../../../src/fetchers/turso.ts"],"names":[],"mappings":";;;AAAA,kCAAiD;AAE1C,IAAM,mBAAmB,GAAG,UACjC,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,WAAW,IAAI,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ,EAAE;QACjE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,gCAAgC,EAAE,CAAA;KACnE;IAED,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,EAAE;QACrD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,wCAAwC,EAAE,CAAA;KAC3E;IAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;AAC1B,CAAC,CAAA;AAhBY,QAAA,mBAAmB,uBAgB/B;AASM,IAAM,oBAAoB,GAAG,UAClC,MAA+B,EAC/B,SAAiB;IAEjB,IAAM,WAAW,GAAG,MAAqB,CAAA;IACzC,IAAM,WAAW,GAAG,WAAW,CAAC,WAAW,CAAA;IAC3C,IAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAA;IAE/B,OAAO,oLAMI,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,iCACrB,IAAA,8BAAsB,EAAC,KAAK,CAAC,yKAKhB,SAAS,4tEAkFxC,CAAA;AACD,CAAC,CAAA;AAvGY,QAAA,oBAAoB,wBAuGhC"}
@@ -0,0 +1,9 @@
1
+ import { ComponentPluginFactory } from '@teleporthq/teleport-types';
2
+ export declare const createNextPagesDataSourcePlugin: ComponentPluginFactory<{}>;
3
+ export declare const createNextComponentDataSourcePlugin: ComponentPluginFactory<{}>;
4
+ export * from './data-source-fetchers';
5
+ export * from './utils';
6
+ export * from './array-mapper-pagination';
7
+ export * from './pagination-plugin';
8
+ export * from './count-fetchers';
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,sBAAsB,EAAE,MAAM,4BAA4B,CAAA;AAmHpF,eAAO,MAAM,+BAA+B,EAAE,sBAAsB,CAAC,EAAE,CA6ItE,CAAA;AAED,eAAO,MAAM,mCAAmC,EAAE,sBAAsB,CAAC,EAAE,CAuF1E,CAAA;AAED,cAAc,wBAAwB,CAAA;AACtC,cAAc,SAAS,CAAA;AACvB,cAAc,2BAA2B,CAAA;AACzC,cAAc,qBAAqB,CAAA;AACnC,cAAc,kBAAkB,CAAA"}
@@ -0,0 +1,325 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
17
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
18
+ return new (P || (P = Promise))(function (resolve, reject) {
19
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
20
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
21
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
22
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
23
+ });
24
+ };
25
+ var __generator = (this && this.__generator) || function (thisArg, body) {
26
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
27
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
28
+ function verb(n) { return function (v) { return step([n, v]); }; }
29
+ function step(op) {
30
+ if (f) throw new TypeError("Generator is already executing.");
31
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
32
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
33
+ if (y = 0, t) op = [op[0] & 2, t.value];
34
+ switch (op[0]) {
35
+ case 0: case 1: t = op; break;
36
+ case 4: _.label++; return { value: op[1], done: false };
37
+ case 5: _.label++; y = op[1]; op = [0]; continue;
38
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
39
+ default:
40
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
41
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
42
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
43
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
44
+ if (t[2]) _.ops.pop();
45
+ _.trys.pop(); continue;
46
+ }
47
+ op = body.call(thisArg, _);
48
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
49
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
50
+ }
51
+ };
52
+ Object.defineProperty(exports, "__esModule", { value: true });
53
+ exports.createNextComponentDataSourcePlugin = exports.createNextPagesDataSourcePlugin = void 0;
54
+ var teleport_shared_1 = require("@teleporthq/teleport-shared");
55
+ var utils_1 = require("./utils");
56
+ var pagination_plugin_1 = require("./pagination-plugin");
57
+ function extractPaginationConfigEarly(uidlNode, resources) {
58
+ var perPageMap = new Map();
59
+ var searchConfigMap = new Map();
60
+ var queryColumnsMap = new Map();
61
+ var dataSourceToRenderProp = new Map();
62
+ var traverse = function (node) {
63
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v;
64
+ if (!node || typeof node !== 'object') {
65
+ return;
66
+ }
67
+ if (node.type === 'data-source-list' &&
68
+ ((_a = node.content) === null || _a === void 0 ? void 0 : _a.renderPropIdentifier) &&
69
+ ((_c = (_b = node.content) === null || _b === void 0 ? void 0 : _b.resource) === null || _c === void 0 ? void 0 : _c.id)) {
70
+ var renderProp = node.content.renderPropIdentifier;
71
+ var resourceId = node.content.resource.id;
72
+ dataSourceToRenderProp.set(resourceId, renderProp);
73
+ // Try to get queryColumns from the node's resource params first
74
+ if ((_f = (_e = (_d = node.content) === null || _d === void 0 ? void 0 : _d.resource) === null || _e === void 0 ? void 0 : _e.params) === null || _f === void 0 ? void 0 : _f.queryColumns) {
75
+ var queryColumnsValue = node.content.resource.params.queryColumns;
76
+ if (queryColumnsValue.type === 'static' && Array.isArray(queryColumnsValue.content)) {
77
+ queryColumnsMap.set(renderProp, queryColumnsValue.content);
78
+ }
79
+ }
80
+ else if ((_j = (_h = (_g = resources === null || resources === void 0 ? void 0 : resources.items) === null || _g === void 0 ? void 0 : _g[resourceId]) === null || _h === void 0 ? void 0 : _h.params) === null || _j === void 0 ? void 0 : _j.queryColumns) {
81
+ var queryColumnsValue = resources.items[resourceId].params.queryColumns;
82
+ if (queryColumnsValue.type === 'static' && Array.isArray(queryColumnsValue.content)) {
83
+ queryColumnsMap.set(renderProp, queryColumnsValue.content);
84
+ }
85
+ }
86
+ }
87
+ if (node.type === 'cms-list-repeater') {
88
+ var perPage = (_k = node.content) === null || _k === void 0 ? void 0 : _k.perPage;
89
+ var paginated = (_l = node.content) === null || _l === void 0 ? void 0 : _l.paginated;
90
+ var renderProp = (_m = node.content) === null || _m === void 0 ? void 0 : _m.renderPropIdentifier;
91
+ var searchEnabled = (_o = node.content) === null || _o === void 0 ? void 0 : _o.searchEnabled;
92
+ var searchDebounce = (_p = node.content) === null || _p === void 0 ? void 0 : _p.searchDebounce;
93
+ if (paginated && perPage && renderProp) {
94
+ perPageMap.set(renderProp, perPage);
95
+ }
96
+ if (searchEnabled && renderProp) {
97
+ searchConfigMap.set(renderProp, {
98
+ searchEnabled: true,
99
+ searchDebounce: searchDebounce || 300,
100
+ });
101
+ }
102
+ if ((_r = (_q = node.content) === null || _q === void 0 ? void 0 : _q.nodes) === null || _r === void 0 ? void 0 : _r.list) {
103
+ traverse(node.content.nodes.list);
104
+ }
105
+ if ((_t = (_s = node.content) === null || _s === void 0 ? void 0 : _s.nodes) === null || _t === void 0 ? void 0 : _t.empty) {
106
+ traverse(node.content.nodes.empty);
107
+ }
108
+ if ((_v = (_u = node.content) === null || _u === void 0 ? void 0 : _u.nodes) === null || _v === void 0 ? void 0 : _v.loading) {
109
+ traverse(node.content.nodes.loading);
110
+ }
111
+ return;
112
+ }
113
+ if (node.content) {
114
+ if (node.content.children && Array.isArray(node.content.children)) {
115
+ for (var _i = 0, _w = node.content.children; _i < _w.length; _i++) {
116
+ var child = _w[_i];
117
+ traverse(child);
118
+ }
119
+ }
120
+ if (node.content.node) {
121
+ traverse(node.content.node);
122
+ }
123
+ if (node.content.nodes) {
124
+ if (node.content.nodes.success) {
125
+ traverse(node.content.nodes.success);
126
+ }
127
+ if (node.content.nodes.error) {
128
+ traverse(node.content.nodes.error);
129
+ }
130
+ if (node.content.nodes.loading) {
131
+ traverse(node.content.nodes.loading);
132
+ }
133
+ }
134
+ }
135
+ if (Array.isArray(node.children)) {
136
+ for (var _x = 0, _y = node.children; _x < _y.length; _x++) {
137
+ var child = _y[_x];
138
+ traverse(child);
139
+ }
140
+ }
141
+ };
142
+ traverse(uidlNode);
143
+ return { perPageMap: perPageMap, searchConfigMap: searchConfigMap, queryColumnsMap: queryColumnsMap };
144
+ }
145
+ var createNextPagesDataSourcePlugin = function () {
146
+ var nextPagesDataSourcePlugin = function (structure) { return __awaiter(void 0, void 0, void 0, function () {
147
+ var uidl, chunks, options, dependencies, dataSources, componentChunk, opts, pageConfig, getStaticPropsChunk, processedDataSources, paginationPlugin;
148
+ return __generator(this, function (_a) {
149
+ uidl = structure.uidl, chunks = structure.chunks, options = structure.options, dependencies = structure.dependencies;
150
+ // Early return if no options or dataSources
151
+ if (!options || !options.dataSources) {
152
+ return [2 /*return*/, structure];
153
+ }
154
+ dataSources = options.dataSources;
155
+ // Check if dataSources is empty
156
+ if (!dataSources || Object.keys(dataSources).length === 0) {
157
+ return [2 /*return*/, structure];
158
+ }
159
+ componentChunk = chunks.find(function (chunk) { return chunk.name === 'jsx-component'; });
160
+ if (!componentChunk) {
161
+ return [2 /*return*/, structure];
162
+ }
163
+ // Check if extractedResources exists
164
+ if (!options.extractedResources) {
165
+ return [2 /*return*/, structure];
166
+ }
167
+ opts = options;
168
+ if (!opts.paginationConfig) {
169
+ opts.paginationConfig = {
170
+ perPageMap: new Map(),
171
+ searchConfigMap: new Map(),
172
+ queryColumnsMap: new Map(),
173
+ };
174
+ }
175
+ pageConfig = extractPaginationConfigEarly(uidl.node, uidl.resources);
176
+ pageConfig.perPageMap.forEach(function (perPage, dataSourceId) {
177
+ opts.paginationConfig.perPageMap.set(dataSourceId, perPage);
178
+ });
179
+ pageConfig.searchConfigMap.forEach(function (searchConfig, dataSourceId) {
180
+ opts.paginationConfig.searchConfigMap.set(dataSourceId, searchConfig);
181
+ });
182
+ pageConfig.queryColumnsMap.forEach(function (queryColumns, dataSourceId) {
183
+ opts.paginationConfig.queryColumnsMap.set(dataSourceId, queryColumns);
184
+ });
185
+ getStaticPropsChunk = chunks.find(function (chunk) { return chunk.name === 'getStaticProps'; });
186
+ processedDataSources = new Set();
187
+ teleport_shared_1.UIDLUtils.traverseNodes(uidl.node, function (node) {
188
+ // Data source nodes can be either:
189
+ // 1. Direct: node.type === 'data-source-item' or 'data-source-list'
190
+ // 2. Wrapped in element: node.type === 'element' && node.content.type === 'data-source-item' or 'data-source-list'
191
+ var _a;
192
+ var dataSourceNode = null;
193
+ if (node.type === 'data-source-item' || node.type === 'data-source-list') {
194
+ // Direct data source node
195
+ dataSourceNode = node;
196
+ }
197
+ else if (node.type === 'element' &&
198
+ node.content &&
199
+ typeof node.content === 'object' &&
200
+ 'type' in node.content &&
201
+ (node.content.type === 'data-source-item' || node.content.type === 'data-source-list')) {
202
+ // Element node wrapping a data source node
203
+ // tslint:disable-next-line:no-any
204
+ dataSourceNode = node.content;
205
+ }
206
+ if (!dataSourceNode) {
207
+ return;
208
+ }
209
+ // Check if node has initialData (means it's already connected to getStaticProps)
210
+ if (dataSourceNode.content.initialData !== undefined ||
211
+ dataSourceNode.content.resource === undefined) {
212
+ return;
213
+ }
214
+ // Get dataSourceId and tableName to create unique key
215
+ var resourceDef = dataSourceNode.content.resourceDefinition;
216
+ if (!resourceDef) {
217
+ return;
218
+ }
219
+ var dataSourceKey = "".concat(resourceDef.dataSourceId, ":").concat(resourceDef.tableName || 'data');
220
+ // Check if resource has dynamic parameters
221
+ // tslint:disable-next-line:no-any
222
+ var hasResourceDynamicParams = ((_a = dataSourceNode.content.resource) === null || _a === void 0 ? void 0 : _a.params)
223
+ ? Object.values(dataSourceNode.content.resource.params).some(function (param) { return param.type === 'expr' || param.type === 'dynamic'; })
224
+ : false;
225
+ // If no dynamic params, extract to getStaticProps (server-side)
226
+ // Otherwise, extract to API route (client-side)
227
+ if (!hasResourceDynamicParams) {
228
+ // Skip if we've already processed this dataSource + table combination
229
+ if (processedDataSources.has(dataSourceKey)) {
230
+ return;
231
+ }
232
+ var result = (0, utils_1.extractDataSourceIntoGetStaticProps)(dataSourceNode, dataSources, componentChunk, getStaticPropsChunk, chunks, options.extractedResources, dependencies);
233
+ if (result.success && result.chunk) {
234
+ getStaticPropsChunk = result.chunk;
235
+ // Mark this dataSource + table as processed
236
+ processedDataSources.add(dataSourceKey);
237
+ }
238
+ }
239
+ else {
240
+ (0, utils_1.extractDataSourceIntoNextAPIFolder)(dataSourceNode, dataSources, componentChunk, options.extractedResources);
241
+ }
242
+ });
243
+ paginationPlugin = (0, pagination_plugin_1.createNextArrayMapperPaginationPlugin)();
244
+ return [2 /*return*/, paginationPlugin(structure)];
245
+ });
246
+ }); };
247
+ return nextPagesDataSourcePlugin;
248
+ };
249
+ exports.createNextPagesDataSourcePlugin = createNextPagesDataSourcePlugin;
250
+ var createNextComponentDataSourcePlugin = function () {
251
+ var nextComponentDataSourcePlugin = function (structure) { return __awaiter(void 0, void 0, void 0, function () {
252
+ var uidl, chunks, options, dataSources, opts, componentConfig, componentChunk, paginationPlugin;
253
+ return __generator(this, function (_a) {
254
+ uidl = structure.uidl, chunks = structure.chunks, options = structure.options;
255
+ // Early return if no options or dataSources
256
+ if (!options || !options.dataSources) {
257
+ return [2 /*return*/, structure];
258
+ }
259
+ dataSources = options.dataSources;
260
+ // Check if dataSources is empty
261
+ if (!dataSources || Object.keys(dataSources).length === 0) {
262
+ return [2 /*return*/, structure];
263
+ }
264
+ opts = options;
265
+ if (!opts.paginationConfig) {
266
+ opts.paginationConfig = {
267
+ perPageMap: new Map(),
268
+ searchConfigMap: new Map(),
269
+ queryColumnsMap: new Map(),
270
+ };
271
+ }
272
+ componentConfig = extractPaginationConfigEarly(uidl.node, uidl.resources);
273
+ componentConfig.perPageMap.forEach(function (perPage, dataSourceId) {
274
+ opts.paginationConfig.perPageMap.set(dataSourceId, perPage);
275
+ });
276
+ componentConfig.searchConfigMap.forEach(function (searchConfig, dataSourceId) {
277
+ opts.paginationConfig.searchConfigMap.set(dataSourceId, searchConfig);
278
+ });
279
+ componentConfig.queryColumnsMap.forEach(function (queryColumns, dataSourceId) {
280
+ opts.paginationConfig.queryColumnsMap.set(dataSourceId, queryColumns);
281
+ });
282
+ componentChunk = chunks.find(function (chunk) { return chunk.name === 'jsx-component'; });
283
+ if (!componentChunk) {
284
+ return [2 /*return*/, structure];
285
+ }
286
+ // Check if extractedResources exists
287
+ if (!options.extractedResources) {
288
+ return [2 /*return*/, structure];
289
+ }
290
+ teleport_shared_1.UIDLUtils.traverseNodes(uidl.node, function (node) {
291
+ // Data source nodes can be either:
292
+ // 1. Direct: node.type === 'data-source-item' or 'data-source-list'
293
+ // 2. Wrapped in element: node.type === 'element' && node.content.type === 'data-source-item' or 'data-source-list'
294
+ var dataSourceNode = null;
295
+ if (node.type === 'data-source-item' || node.type === 'data-source-list') {
296
+ // Direct data source node
297
+ dataSourceNode = node;
298
+ }
299
+ else if (node.type === 'element' &&
300
+ node.content &&
301
+ typeof node.content === 'object' &&
302
+ 'type' in node.content &&
303
+ (node.content.type === 'data-source-item' || node.content.type === 'data-source-list')) {
304
+ // Element node wrapping a data source node
305
+ // tslint:disable-next-line:no-any
306
+ dataSourceNode = node.content;
307
+ }
308
+ if (!dataSourceNode) {
309
+ return;
310
+ }
311
+ (0, utils_1.extractDataSourceIntoNextAPIFolder)(dataSourceNode, dataSources, componentChunk, options.extractedResources);
312
+ });
313
+ paginationPlugin = (0, pagination_plugin_1.createNextArrayMapperPaginationPlugin)();
314
+ return [2 /*return*/, paginationPlugin(structure)];
315
+ });
316
+ }); };
317
+ return nextComponentDataSourcePlugin;
318
+ };
319
+ exports.createNextComponentDataSourcePlugin = createNextComponentDataSourcePlugin;
320
+ __exportStar(require("./data-source-fetchers"), exports);
321
+ __exportStar(require("./utils"), exports);
322
+ __exportStar(require("./array-mapper-pagination"), exports);
323
+ __exportStar(require("./pagination-plugin"), exports);
324
+ __exportStar(require("./count-fetchers"), exports);
325
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { ComponentPlugin, ComponentPluginFactory } from '@teleporthq/teleport-types';
2
+ export declare const createNextArrayMapperPaginationPlugin: ComponentPluginFactory<{}>;
3
+ declare const _default: ComponentPlugin;
4
+ export default _default;
5
+ //# sourceMappingURL=pagination-plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pagination-plugin.d.ts","sourceRoot":"","sources":["../../src/pagination-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,sBAAsB,EAGvB,MAAM,4BAA4B,CAAA;AAgBnC,eAAO,MAAM,qCAAqC,EAAE,sBAAsB,CAAC,EAAE,CA+tB5E,CAAA;;AA0iDD,wBAAsD"}