@teleporthq/teleport-plugin-next-data-source 0.42.34 → 0.43.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/__tests__/ecommerce-product-out-of-stock.test.ts +112 -0
- package/__tests__/fetchers.test.ts +0 -42
- package/__tests__/filter-utils.test.ts +149 -0
- package/__tests__/mocks.ts +0 -12
- package/__tests__/utils.test.ts +0 -2
- package/dist/cjs/array-mapper-registry.d.ts +2 -0
- package/dist/cjs/array-mapper-registry.d.ts.map +1 -1
- package/dist/cjs/array-mapper-registry.js +9 -1
- package/dist/cjs/array-mapper-registry.js.map +1 -1
- package/dist/cjs/count-fetchers.d.ts +2 -2
- package/dist/cjs/count-fetchers.d.ts.map +1 -1
- package/dist/cjs/count-fetchers.js +5 -5
- package/dist/cjs/count-fetchers.js.map +1 -1
- package/dist/cjs/data-source-fetchers.d.ts +2 -1
- package/dist/cjs/data-source-fetchers.d.ts.map +1 -1
- package/dist/cjs/data-source-fetchers.js +11 -9
- package/dist/cjs/data-source-fetchers.js.map +1 -1
- package/dist/cjs/fetchers/airtable.d.ts.map +1 -1
- package/dist/cjs/fetchers/airtable.js +1 -1
- package/dist/cjs/fetchers/airtable.js.map +1 -1
- package/dist/cjs/fetchers/clickhouse.d.ts.map +1 -1
- package/dist/cjs/fetchers/clickhouse.js +1 -1
- package/dist/cjs/fetchers/clickhouse.js.map +1 -1
- package/dist/cjs/fetchers/csv-file.js +1 -1
- package/dist/cjs/fetchers/csv-file.js.map +1 -1
- package/dist/cjs/fetchers/firestore.js +1 -1
- package/dist/cjs/fetchers/firestore.js.map +1 -1
- package/dist/cjs/fetchers/google-sheets.js +1 -1
- package/dist/cjs/fetchers/google-sheets.js.map +1 -1
- package/dist/cjs/fetchers/index.d.ts +2 -1
- package/dist/cjs/fetchers/index.d.ts.map +1 -1
- package/dist/cjs/fetchers/index.js +8 -5
- package/dist/cjs/fetchers/index.js.map +1 -1
- package/dist/cjs/fetchers/javascript.js +1 -1
- package/dist/cjs/fetchers/javascript.js.map +1 -1
- package/dist/cjs/fetchers/mariadb.d.ts.map +1 -1
- package/dist/cjs/fetchers/mariadb.js +3 -3
- package/dist/cjs/fetchers/mariadb.js.map +1 -1
- package/dist/cjs/fetchers/mongodb.js +1 -1
- package/dist/cjs/fetchers/mongodb.js.map +1 -1
- package/dist/cjs/fetchers/mysql.d.ts.map +1 -1
- package/dist/cjs/fetchers/mysql.js +2 -2
- package/dist/cjs/fetchers/mysql.js.map +1 -1
- package/dist/cjs/fetchers/postgresql.d.ts.map +1 -1
- package/dist/cjs/fetchers/postgresql.js +2 -2
- package/dist/cjs/fetchers/postgresql.js.map +1 -1
- package/dist/cjs/fetchers/raw-query.d.ts +18 -0
- package/dist/cjs/fetchers/raw-query.d.ts.map +1 -0
- package/dist/cjs/fetchers/raw-query.js +70 -0
- package/dist/cjs/fetchers/raw-query.js.map +1 -0
- package/dist/cjs/fetchers/redis.js +1 -1
- package/dist/cjs/fetchers/redis.js.map +1 -1
- package/dist/cjs/fetchers/redshift.d.ts.map +1 -1
- package/dist/cjs/fetchers/redshift.js +2 -2
- package/dist/cjs/fetchers/redshift.js.map +1 -1
- package/dist/cjs/fetchers/rest-api.js +1 -1
- package/dist/cjs/fetchers/rest-api.js.map +1 -1
- package/dist/cjs/fetchers/supabase.d.ts.map +1 -1
- package/dist/cjs/fetchers/supabase.js +62 -2
- package/dist/cjs/fetchers/supabase.js.map +1 -1
- package/dist/cjs/fetchers/teleport.d.ts +7 -0
- package/dist/cjs/fetchers/teleport.d.ts.map +1 -0
- package/dist/cjs/fetchers/teleport.js +63 -0
- package/dist/cjs/fetchers/teleport.js.map +1 -0
- package/dist/cjs/fetchers/turso.d.ts.map +1 -1
- package/dist/cjs/fetchers/turso.js +1 -1
- package/dist/cjs/fetchers/turso.js.map +1 -1
- package/dist/cjs/filter-utils.d.ts +13 -0
- package/dist/cjs/filter-utils.d.ts.map +1 -0
- package/dist/cjs/filter-utils.js +95 -0
- package/dist/cjs/filter-utils.js.map +1 -0
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +112 -9
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/pagination-plugin.d.ts.map +1 -1
- package/dist/cjs/pagination-plugin.js +389 -128
- package/dist/cjs/pagination-plugin.js.map +1 -1
- package/dist/cjs/sort-utils.d.ts +10 -0
- package/dist/cjs/sort-utils.d.ts.map +1 -0
- package/dist/cjs/sort-utils.js +141 -0
- package/dist/cjs/sort-utils.js.map +1 -0
- package/dist/cjs/transformations/blog-post.d.ts +7 -0
- package/dist/cjs/transformations/blog-post.d.ts.map +1 -0
- package/dist/cjs/transformations/blog-post.js +13 -0
- package/dist/cjs/transformations/blog-post.js.map +1 -0
- package/dist/cjs/transformations/ecommerce-product.d.ts +7 -0
- package/dist/cjs/transformations/ecommerce-product.d.ts.map +1 -0
- package/dist/cjs/transformations/ecommerce-product.js +13 -0
- package/dist/cjs/transformations/ecommerce-product.js.map +1 -0
- package/dist/cjs/transformations/index.d.ts +26 -0
- package/dist/cjs/transformations/index.d.ts.map +1 -0
- package/dist/cjs/transformations/index.js +81 -0
- package/dist/cjs/transformations/index.js.map +1 -0
- package/dist/cjs/transformations/shared-utils.d.ts +7 -0
- package/dist/cjs/transformations/shared-utils.d.ts.map +1 -0
- package/dist/cjs/transformations/shared-utils.js +13 -0
- package/dist/cjs/transformations/shared-utils.js.map +1 -0
- package/dist/cjs/tsconfig.tsbuildinfo +1 -1
- package/dist/cjs/utils.d.ts +30 -1
- package/dist/cjs/utils.d.ts.map +1 -1
- package/dist/cjs/utils.js +173 -10
- package/dist/cjs/utils.js.map +1 -1
- package/dist/esm/array-mapper-registry.d.ts +2 -0
- package/dist/esm/array-mapper-registry.d.ts.map +1 -1
- package/dist/esm/array-mapper-registry.js +9 -1
- package/dist/esm/array-mapper-registry.js.map +1 -1
- package/dist/esm/count-fetchers.d.ts +2 -2
- package/dist/esm/count-fetchers.d.ts.map +1 -1
- package/dist/esm/count-fetchers.js +4 -4
- package/dist/esm/count-fetchers.js.map +1 -1
- package/dist/esm/data-source-fetchers.d.ts +2 -1
- package/dist/esm/data-source-fetchers.d.ts.map +1 -1
- package/dist/esm/data-source-fetchers.js +10 -9
- package/dist/esm/data-source-fetchers.js.map +1 -1
- package/dist/esm/fetchers/airtable.d.ts.map +1 -1
- package/dist/esm/fetchers/airtable.js +1 -1
- package/dist/esm/fetchers/airtable.js.map +1 -1
- package/dist/esm/fetchers/clickhouse.d.ts.map +1 -1
- package/dist/esm/fetchers/clickhouse.js +1 -1
- package/dist/esm/fetchers/clickhouse.js.map +1 -1
- package/dist/esm/fetchers/csv-file.js +1 -1
- package/dist/esm/fetchers/csv-file.js.map +1 -1
- package/dist/esm/fetchers/firestore.js +1 -1
- package/dist/esm/fetchers/firestore.js.map +1 -1
- package/dist/esm/fetchers/google-sheets.js +1 -1
- package/dist/esm/fetchers/google-sheets.js.map +1 -1
- package/dist/esm/fetchers/index.d.ts +2 -1
- package/dist/esm/fetchers/index.d.ts.map +1 -1
- package/dist/esm/fetchers/index.js +2 -1
- package/dist/esm/fetchers/index.js.map +1 -1
- package/dist/esm/fetchers/javascript.js +1 -1
- package/dist/esm/fetchers/javascript.js.map +1 -1
- package/dist/esm/fetchers/mariadb.d.ts.map +1 -1
- package/dist/esm/fetchers/mariadb.js +4 -4
- package/dist/esm/fetchers/mariadb.js.map +1 -1
- package/dist/esm/fetchers/mongodb.js +1 -1
- package/dist/esm/fetchers/mongodb.js.map +1 -1
- package/dist/esm/fetchers/mysql.d.ts.map +1 -1
- package/dist/esm/fetchers/mysql.js +3 -3
- package/dist/esm/fetchers/mysql.js.map +1 -1
- package/dist/esm/fetchers/postgresql.d.ts.map +1 -1
- package/dist/esm/fetchers/postgresql.js +3 -3
- package/dist/esm/fetchers/postgresql.js.map +1 -1
- package/dist/esm/fetchers/raw-query.d.ts +18 -0
- package/dist/esm/fetchers/raw-query.d.ts.map +1 -0
- package/dist/esm/fetchers/raw-query.js +65 -0
- package/dist/esm/fetchers/raw-query.js.map +1 -0
- package/dist/esm/fetchers/redis.js +1 -1
- package/dist/esm/fetchers/redis.js.map +1 -1
- package/dist/esm/fetchers/redshift.d.ts.map +1 -1
- package/dist/esm/fetchers/redshift.js +3 -3
- package/dist/esm/fetchers/redshift.js.map +1 -1
- package/dist/esm/fetchers/rest-api.js +1 -1
- package/dist/esm/fetchers/rest-api.js.map +1 -1
- package/dist/esm/fetchers/supabase.d.ts.map +1 -1
- package/dist/esm/fetchers/supabase.js +63 -3
- package/dist/esm/fetchers/supabase.js.map +1 -1
- package/dist/esm/fetchers/teleport.d.ts +7 -0
- package/dist/esm/fetchers/teleport.d.ts.map +1 -0
- package/dist/esm/fetchers/teleport.js +57 -0
- package/dist/esm/fetchers/teleport.js.map +1 -0
- package/dist/esm/fetchers/turso.d.ts.map +1 -1
- package/dist/esm/fetchers/turso.js +2 -2
- package/dist/esm/fetchers/turso.js.map +1 -1
- package/dist/esm/filter-utils.d.ts +13 -0
- package/dist/esm/filter-utils.d.ts.map +1 -0
- package/dist/esm/filter-utils.js +66 -0
- package/dist/esm/filter-utils.js.map +1 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +113 -10
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/pagination-plugin.d.ts.map +1 -1
- package/dist/esm/pagination-plugin.js +389 -128
- package/dist/esm/pagination-plugin.js.map +1 -1
- package/dist/esm/sort-utils.d.ts +10 -0
- package/dist/esm/sort-utils.d.ts.map +1 -0
- package/dist/esm/sort-utils.js +113 -0
- package/dist/esm/sort-utils.js.map +1 -0
- package/dist/esm/transformations/blog-post.d.ts +7 -0
- package/dist/esm/transformations/blog-post.d.ts.map +1 -0
- package/dist/esm/transformations/blog-post.js +9 -0
- package/dist/esm/transformations/blog-post.js.map +1 -0
- package/dist/esm/transformations/ecommerce-product.d.ts +7 -0
- package/dist/esm/transformations/ecommerce-product.d.ts.map +1 -0
- package/dist/esm/transformations/ecommerce-product.js +9 -0
- package/dist/esm/transformations/ecommerce-product.js.map +1 -0
- package/dist/esm/transformations/index.d.ts +26 -0
- package/dist/esm/transformations/index.d.ts.map +1 -0
- package/dist/esm/transformations/index.js +74 -0
- package/dist/esm/transformations/index.js.map +1 -0
- package/dist/esm/transformations/shared-utils.d.ts +7 -0
- package/dist/esm/transformations/shared-utils.d.ts.map +1 -0
- package/dist/esm/transformations/shared-utils.js +9 -0
- package/dist/esm/transformations/shared-utils.js.map +1 -0
- package/dist/esm/tsconfig.tsbuildinfo +1 -1
- package/dist/esm/utils.d.ts +30 -1
- package/dist/esm/utils.d.ts.map +1 -1
- package/dist/esm/utils.js +170 -9
- package/dist/esm/utils.js.map +1 -1
- package/package.json +6 -5
- package/src/array-mapper-registry.ts +13 -0
- package/src/count-fetchers.ts +5 -5
- package/src/data-source-fetchers.ts +15 -11
- package/src/fetchers/airtable.ts +54 -8
- package/src/fetchers/clickhouse.ts +25 -19
- package/src/fetchers/csv-file.ts +2 -2
- package/src/fetchers/firestore.ts +2 -2
- package/src/fetchers/google-sheets.ts +2 -2
- package/src/fetchers/index.ts +6 -5
- package/src/fetchers/javascript.ts +2 -2
- package/src/fetchers/mariadb.ts +27 -12
- package/src/fetchers/mongodb.ts +2 -2
- package/src/fetchers/mysql.ts +27 -12
- package/src/fetchers/postgresql.ts +31 -18
- package/src/fetchers/raw-query.ts +178 -0
- package/src/fetchers/redis.ts +2 -2
- package/src/fetchers/redshift.ts +14 -10
- package/src/fetchers/rest-api.ts +2 -2
- package/src/fetchers/supabase.ts +97 -14
- package/src/fetchers/teleport.ts +485 -0
- package/src/fetchers/turso.ts +15 -7
- package/src/filter-utils.ts +111 -0
- package/src/index.ts +146 -6
- package/src/pagination-plugin.ts +547 -308
- package/src/sort-utils.ts +150 -0
- package/src/transformations/blog-post.ts +128 -0
- package/src/transformations/ecommerce-product.ts +173 -0
- package/src/transformations/index.ts +97 -0
- package/src/transformations/shared-utils.ts +271 -0
- package/src/utils.ts +227 -11
- package/dist/cjs/fetchers/static-collection.d.ts +0 -7
- package/dist/cjs/fetchers/static-collection.d.ts.map +0 -1
- package/dist/cjs/fetchers/static-collection.js +0 -25
- package/dist/cjs/fetchers/static-collection.js.map +0 -1
- package/dist/esm/fetchers/static-collection.d.ts +0 -7
- package/dist/esm/fetchers/static-collection.d.ts.map +0 -1
- package/dist/esm/fetchers/static-collection.js +0 -19
- package/dist/esm/fetchers/static-collection.js.map +0 -1
- package/src/fetchers/static-collection.ts +0 -231
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import { generateEcommerceProductTransformationCode } from '../src/transformations/ecommerce-product'
|
|
2
|
+
import { generateSharedTransformationCode } from '../src/transformations/shared-utils'
|
|
3
|
+
|
|
4
|
+
// AI-generated product cards/details pages check the outOfStock flag
|
|
5
|
+
// with strict string equality (`ecommerceProduct?.outOfStock === 'true'`).
|
|
6
|
+
// If the data-source transform emits a boolean, the comparison silently
|
|
7
|
+
// fails and the Add-to-Cart button stays visible on zero-stock products.
|
|
8
|
+
// This file pins the contract that `outOfStock` is always a string
|
|
9
|
+
// matching the AI's comparison form.
|
|
10
|
+
|
|
11
|
+
const evalBuildProduct = (): ((record: unknown) => Record<string, unknown>) => {
|
|
12
|
+
// The emitted product transform calls helpers (`resolveI18nField`,
|
|
13
|
+
// `pickFirst`, `normalizeTimestamp`) that live in the shared
|
|
14
|
+
// transformation bundle, so we have to prepend that bundle before
|
|
15
|
+
// evaluating. Matches the runtime, where both bundles ship together
|
|
16
|
+
// into every data-source fetcher file.
|
|
17
|
+
const code =
|
|
18
|
+
generateSharedTransformationCode() + '\n' + generateEcommerceProductTransformationCode()
|
|
19
|
+
const fn = new Function(code + '\nreturn buildEcommerceProduct;')
|
|
20
|
+
return fn() as (record: unknown) => Record<string, unknown>
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
describe('ecommerce product transform — outOfStock string contract', () => {
|
|
24
|
+
const buildEcommerceProduct = evalBuildProduct()
|
|
25
|
+
|
|
26
|
+
it('emits outOfStock as the STRING "true" when quantity is 0', () => {
|
|
27
|
+
const product = buildEcommerceProduct({
|
|
28
|
+
id: 'a',
|
|
29
|
+
name: 'A',
|
|
30
|
+
slug: 'a',
|
|
31
|
+
price: '1',
|
|
32
|
+
currency: 'USD',
|
|
33
|
+
quantity: 0,
|
|
34
|
+
})
|
|
35
|
+
expect(product.outOfStock).toBe('true')
|
|
36
|
+
// Strict equality with 'true' is what the AI emits on product cards;
|
|
37
|
+
// this assertion guards against silent regression to boolean.
|
|
38
|
+
expect(product.outOfStock === 'true').toBe(true)
|
|
39
|
+
})
|
|
40
|
+
|
|
41
|
+
it('emits outOfStock as the STRING "false" when quantity is positive', () => {
|
|
42
|
+
const product = buildEcommerceProduct({
|
|
43
|
+
id: 'b',
|
|
44
|
+
name: 'B',
|
|
45
|
+
slug: 'b',
|
|
46
|
+
price: '1',
|
|
47
|
+
currency: 'USD',
|
|
48
|
+
quantity: 10,
|
|
49
|
+
})
|
|
50
|
+
expect(product.outOfStock).toBe('false')
|
|
51
|
+
expect(product.outOfStock === 'true').toBe(false)
|
|
52
|
+
})
|
|
53
|
+
|
|
54
|
+
it('emits outOfStock as "false" when quantity is null (unlimited stock)', () => {
|
|
55
|
+
const product = buildEcommerceProduct({
|
|
56
|
+
id: 'c',
|
|
57
|
+
name: 'C',
|
|
58
|
+
slug: 'c',
|
|
59
|
+
price: '1',
|
|
60
|
+
currency: 'USD',
|
|
61
|
+
quantity: null,
|
|
62
|
+
})
|
|
63
|
+
// Null/NaN means unlimited stock — never out of stock.
|
|
64
|
+
expect(product.outOfStock).toBe('false')
|
|
65
|
+
})
|
|
66
|
+
|
|
67
|
+
it('emits outOfStock as "false" when quantity is undefined', () => {
|
|
68
|
+
const product = buildEcommerceProduct({
|
|
69
|
+
id: 'd',
|
|
70
|
+
name: 'D',
|
|
71
|
+
slug: 'd',
|
|
72
|
+
price: '1',
|
|
73
|
+
currency: 'USD',
|
|
74
|
+
})
|
|
75
|
+
expect(product.outOfStock).toBe('false')
|
|
76
|
+
})
|
|
77
|
+
|
|
78
|
+
it('emits outOfStock as the STRING "true" when quantity is negative', () => {
|
|
79
|
+
// Defensive — should never happen in practice with stock-management
|
|
80
|
+
// enforcing >= 0, but if it does we want the same "out of stock"
|
|
81
|
+
// treatment.
|
|
82
|
+
const product = buildEcommerceProduct({
|
|
83
|
+
id: 'e',
|
|
84
|
+
name: 'E',
|
|
85
|
+
slug: 'e',
|
|
86
|
+
price: '1',
|
|
87
|
+
currency: 'USD',
|
|
88
|
+
quantity: -1,
|
|
89
|
+
})
|
|
90
|
+
expect(product.outOfStock).toBe('true')
|
|
91
|
+
})
|
|
92
|
+
|
|
93
|
+
it('always returns a STRING for outOfStock (never boolean)', () => {
|
|
94
|
+
// Iterate through all the quantity shapes the transform might see
|
|
95
|
+
// and assert the type. This is the regression guard — a future
|
|
96
|
+
// refactor that drops the `? 'true' : 'false'` ternary would fail
|
|
97
|
+
// every assertion here.
|
|
98
|
+
const cases = [0, 1, 10, null, undefined, '0', '3', '', NaN]
|
|
99
|
+
for (const q of cases) {
|
|
100
|
+
const product = buildEcommerceProduct({
|
|
101
|
+
id: 'x',
|
|
102
|
+
name: 'X',
|
|
103
|
+
slug: 'x',
|
|
104
|
+
price: '1',
|
|
105
|
+
currency: 'USD',
|
|
106
|
+
quantity: q,
|
|
107
|
+
})
|
|
108
|
+
expect(typeof product.outOfStock).toBe('string')
|
|
109
|
+
expect(['true', 'false']).toContain(product.outOfStock)
|
|
110
|
+
}
|
|
111
|
+
})
|
|
112
|
+
})
|
|
@@ -9,7 +9,6 @@ import {
|
|
|
9
9
|
validateRedisConfig,
|
|
10
10
|
validateRESTAPIConfig,
|
|
11
11
|
validateJavaScriptConfig,
|
|
12
|
-
validateStaticCollectionConfig,
|
|
13
12
|
} from '../src/fetchers'
|
|
14
13
|
import {
|
|
15
14
|
createPostgreSQLDataSource,
|
|
@@ -17,7 +16,6 @@ import {
|
|
|
17
16
|
createMongoDBDataSource,
|
|
18
17
|
createRESTAPIDataSource,
|
|
19
18
|
createJavaScriptDataSource,
|
|
20
|
-
createStaticCollectionDataSource,
|
|
21
19
|
createRedisDataSource,
|
|
22
20
|
} from './mocks'
|
|
23
21
|
|
|
@@ -52,7 +50,6 @@ describe('getDataSourceDependencies', () => {
|
|
|
52
50
|
it('returns empty dependencies for embedded sources', () => {
|
|
53
51
|
expect(getDataSourceDependencies('javascript').packages).toEqual([])
|
|
54
52
|
expect(getDataSourceDependencies('csv-file').packages).toEqual([])
|
|
55
|
-
expect(getDataSourceDependencies('static-collection').packages).toEqual([])
|
|
56
53
|
})
|
|
57
54
|
|
|
58
55
|
it('handles all supported data source types', () => {
|
|
@@ -74,7 +71,6 @@ describe('getDataSourceDependencies', () => {
|
|
|
74
71
|
'javascript',
|
|
75
72
|
'google-sheets',
|
|
76
73
|
'csv-file',
|
|
77
|
-
'static-collection',
|
|
78
74
|
]
|
|
79
75
|
|
|
80
76
|
types.forEach((type) => {
|
|
@@ -334,34 +330,6 @@ describe('validateJavaScriptConfig', () => {
|
|
|
334
330
|
})
|
|
335
331
|
})
|
|
336
332
|
|
|
337
|
-
describe('validateStaticCollectionConfig', () => {
|
|
338
|
-
it('validates correct static collection', () => {
|
|
339
|
-
const result = validateStaticCollectionConfig({
|
|
340
|
-
data: [{ id: 1 }, { id: 2 }],
|
|
341
|
-
})
|
|
342
|
-
expect(result.isValid).toBe(true)
|
|
343
|
-
})
|
|
344
|
-
|
|
345
|
-
it('rejects non-array data', () => {
|
|
346
|
-
const result = validateStaticCollectionConfig({
|
|
347
|
-
data: 'not an array',
|
|
348
|
-
})
|
|
349
|
-
expect(result.isValid).toBe(false)
|
|
350
|
-
})
|
|
351
|
-
|
|
352
|
-
it('rejects missing data', () => {
|
|
353
|
-
const result = validateStaticCollectionConfig({})
|
|
354
|
-
expect(result.isValid).toBe(false)
|
|
355
|
-
})
|
|
356
|
-
|
|
357
|
-
it('accepts empty array', () => {
|
|
358
|
-
const result = validateStaticCollectionConfig({
|
|
359
|
-
data: [],
|
|
360
|
-
})
|
|
361
|
-
expect(result.isValid).toBe(true)
|
|
362
|
-
})
|
|
363
|
-
})
|
|
364
|
-
|
|
365
333
|
describe('generateDataSourceFetcher', () => {
|
|
366
334
|
it('generates PostgreSQL fetcher', () => {
|
|
367
335
|
const dataSource = createPostgreSQLDataSource('ds-1')
|
|
@@ -406,15 +374,6 @@ describe('generateDataSourceFetcher', () => {
|
|
|
406
374
|
expect(code).toContain('new Function')
|
|
407
375
|
})
|
|
408
376
|
|
|
409
|
-
it('generates Static Collection fetcher', () => {
|
|
410
|
-
const dataSource = createStaticCollectionDataSource('ds-1')
|
|
411
|
-
const code = generateDataSourceFetcher(dataSource, '')
|
|
412
|
-
|
|
413
|
-
expect(code).toContain('const data = ')
|
|
414
|
-
expect(code).toContain('"Item 1"')
|
|
415
|
-
expect(code).toContain('"Item 2"')
|
|
416
|
-
})
|
|
417
|
-
|
|
418
377
|
it('generates Redis fetcher', () => {
|
|
419
378
|
const dataSource = createRedisDataSource('ds-1')
|
|
420
379
|
const code = generateDataSourceFetcher(dataSource, '')
|
|
@@ -533,7 +492,6 @@ describe('generateDataSourceFetcherWithCore', () => {
|
|
|
533
492
|
createMongoDBDataSource('ds-3'),
|
|
534
493
|
createRESTAPIDataSource('ds-4'),
|
|
535
494
|
createJavaScriptDataSource('ds-5'),
|
|
536
|
-
createStaticCollectionDataSource('ds-6'),
|
|
537
495
|
]
|
|
538
496
|
|
|
539
497
|
dataSources.forEach((dataSource) => {
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
import * as types from '@babel/types'
|
|
2
|
+
import generator from '@babel/generator'
|
|
3
|
+
import { appendFiltersParam, buildFiltersStringifyCall } from '../src/filter-utils'
|
|
4
|
+
|
|
5
|
+
// Mimics `buildFilterDestinationExpression` from pagination-plugin for the
|
|
6
|
+
// shapes that matter here — static literal, state ref, and url-search-params
|
|
7
|
+
// ref — without taking a hard dep on the bigger plugin.
|
|
8
|
+
const fakeDestinationBuilder = (destination: unknown): types.Expression => {
|
|
9
|
+
if (typeof destination === 'string') {
|
|
10
|
+
return types.stringLiteral(destination)
|
|
11
|
+
}
|
|
12
|
+
if (
|
|
13
|
+
destination &&
|
|
14
|
+
typeof destination === 'object' &&
|
|
15
|
+
'content' in (destination as Record<string, unknown>)
|
|
16
|
+
) {
|
|
17
|
+
const content = (destination as { content: { referenceType: string; id: string } }).content
|
|
18
|
+
if (content.referenceType === 'state') {
|
|
19
|
+
return types.identifier(content.id)
|
|
20
|
+
}
|
|
21
|
+
if (content.referenceType === 'urlSearchParams') {
|
|
22
|
+
return types.optionalMemberExpression(
|
|
23
|
+
types.optionalMemberExpression(
|
|
24
|
+
types.identifier('router'),
|
|
25
|
+
types.identifier('query'),
|
|
26
|
+
false,
|
|
27
|
+
true
|
|
28
|
+
),
|
|
29
|
+
types.identifier(content.id),
|
|
30
|
+
false,
|
|
31
|
+
true
|
|
32
|
+
)
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
return types.identifier('undefined')
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
const codeOf = (expr: types.Expression): string => generator(expr).code
|
|
39
|
+
|
|
40
|
+
describe('filter-utils', () => {
|
|
41
|
+
describe('buildFiltersStringifyCall', () => {
|
|
42
|
+
it('wraps the array in `.filter(...)` so empty destinations get dropped at runtime', () => {
|
|
43
|
+
const call = buildFiltersStringifyCall(
|
|
44
|
+
[
|
|
45
|
+
{
|
|
46
|
+
source: 'category',
|
|
47
|
+
operand: '=',
|
|
48
|
+
destination: {
|
|
49
|
+
type: 'dynamic',
|
|
50
|
+
content: { referenceType: 'state', id: 'selectedCategory' },
|
|
51
|
+
},
|
|
52
|
+
},
|
|
53
|
+
],
|
|
54
|
+
fakeDestinationBuilder
|
|
55
|
+
)
|
|
56
|
+
|
|
57
|
+
const code = codeOf(call)
|
|
58
|
+
// The .filter predicate must reject all three empty-shapes — empty
|
|
59
|
+
// string, null, and undefined — because state defaults can land as any
|
|
60
|
+
// of those depending on the GUI shape.
|
|
61
|
+
expect(code).toContain('.filter(')
|
|
62
|
+
expect(code).toContain('__f.destination !== ""')
|
|
63
|
+
expect(code).toContain('__f.destination !== null')
|
|
64
|
+
expect(code).toContain('__f.destination !== undefined')
|
|
65
|
+
// The wrapper is JSON.stringify so the backend still receives a string.
|
|
66
|
+
expect(code).toMatch(/^JSON\.stringify\(/)
|
|
67
|
+
})
|
|
68
|
+
|
|
69
|
+
it('emits a working entry for each filter, with the destination expression inlined', () => {
|
|
70
|
+
const call = buildFiltersStringifyCall(
|
|
71
|
+
[
|
|
72
|
+
{
|
|
73
|
+
source: 'category',
|
|
74
|
+
operand: '=',
|
|
75
|
+
destination: {
|
|
76
|
+
type: 'dynamic',
|
|
77
|
+
content: { referenceType: 'state', id: 'selectedCategory' },
|
|
78
|
+
},
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
source: 'tag',
|
|
82
|
+
operand: '!=',
|
|
83
|
+
destination: {
|
|
84
|
+
type: 'dynamic',
|
|
85
|
+
content: { referenceType: 'urlSearchParams', id: 'excludeTag' },
|
|
86
|
+
},
|
|
87
|
+
},
|
|
88
|
+
],
|
|
89
|
+
fakeDestinationBuilder
|
|
90
|
+
)
|
|
91
|
+
|
|
92
|
+
const code = codeOf(call)
|
|
93
|
+
expect(code).toContain('source: "category"')
|
|
94
|
+
expect(code).toContain('destination: selectedCategory')
|
|
95
|
+
expect(code).toContain('operand: "="')
|
|
96
|
+
expect(code).toContain('source: "tag"')
|
|
97
|
+
expect(code).toContain('destination: router?.query?.excludeTag')
|
|
98
|
+
expect(code).toContain('operand: "!="')
|
|
99
|
+
})
|
|
100
|
+
|
|
101
|
+
it('preserves static destination strings as literals', () => {
|
|
102
|
+
const call = buildFiltersStringifyCall(
|
|
103
|
+
[{ source: 'status', operand: '=', destination: 'active' }],
|
|
104
|
+
fakeDestinationBuilder
|
|
105
|
+
)
|
|
106
|
+
expect(codeOf(call)).toContain('destination: "active"')
|
|
107
|
+
})
|
|
108
|
+
|
|
109
|
+
it('falls back to empty strings for missing source/operand without breaking the entry shape', () => {
|
|
110
|
+
const call = buildFiltersStringifyCall(
|
|
111
|
+
[{ destination: 'x' } as { destination: string }],
|
|
112
|
+
fakeDestinationBuilder
|
|
113
|
+
)
|
|
114
|
+
const code = codeOf(call)
|
|
115
|
+
expect(code).toContain('source: ""')
|
|
116
|
+
expect(code).toContain('operand: ""')
|
|
117
|
+
expect(code).toContain('destination: "x"')
|
|
118
|
+
})
|
|
119
|
+
})
|
|
120
|
+
|
|
121
|
+
describe('appendFiltersParam', () => {
|
|
122
|
+
it('pushes a `filters` ObjectProperty onto the array', () => {
|
|
123
|
+
const paramsProps: types.ObjectProperty[] = []
|
|
124
|
+
appendFiltersParam(
|
|
125
|
+
paramsProps,
|
|
126
|
+
[{ source: 'category', operand: '=', destination: 'rings' }],
|
|
127
|
+
fakeDestinationBuilder
|
|
128
|
+
)
|
|
129
|
+
expect(paramsProps).toHaveLength(1)
|
|
130
|
+
const prop = paramsProps[0]
|
|
131
|
+
expect(prop.type).toBe('ObjectProperty')
|
|
132
|
+
const key = prop.key as types.Identifier
|
|
133
|
+
expect(key.name).toBe('filters')
|
|
134
|
+
// The value side must be the JSON.stringify call.
|
|
135
|
+
const code = codeOf(prop.value as types.Expression)
|
|
136
|
+
expect(code).toMatch(/^JSON\.stringify\(/)
|
|
137
|
+
})
|
|
138
|
+
|
|
139
|
+
it('is a no-op when filters is undefined or empty', () => {
|
|
140
|
+
const a: types.ObjectProperty[] = []
|
|
141
|
+
appendFiltersParam(a, undefined, fakeDestinationBuilder)
|
|
142
|
+
expect(a).toHaveLength(0)
|
|
143
|
+
|
|
144
|
+
const b: types.ObjectProperty[] = []
|
|
145
|
+
appendFiltersParam(b, [], fakeDestinationBuilder)
|
|
146
|
+
expect(b).toHaveLength(0)
|
|
147
|
+
})
|
|
148
|
+
})
|
|
149
|
+
})
|
package/__tests__/mocks.ts
CHANGED
|
@@ -144,18 +144,6 @@ export const createJavaScriptDataSource = (id: string): UIDLDataSource => ({
|
|
|
144
144
|
},
|
|
145
145
|
})
|
|
146
146
|
|
|
147
|
-
export const createStaticCollectionDataSource = (id: string): UIDLDataSource => ({
|
|
148
|
-
id,
|
|
149
|
-
name: 'Static Collection',
|
|
150
|
-
type: 'static-collection',
|
|
151
|
-
config: {
|
|
152
|
-
data: [
|
|
153
|
-
{ id: 1, name: 'Item 1' },
|
|
154
|
-
{ id: 2, name: 'Item 2' },
|
|
155
|
-
],
|
|
156
|
-
},
|
|
157
|
-
})
|
|
158
|
-
|
|
159
147
|
export const createRedisDataSource = (id: string): UIDLDataSource => ({
|
|
160
148
|
id,
|
|
161
149
|
name: 'Redis',
|
package/__tests__/utils.test.ts
CHANGED
|
@@ -136,7 +136,6 @@ describe('validateResourceDefinition', () => {
|
|
|
136
136
|
'javascript',
|
|
137
137
|
'google-sheets',
|
|
138
138
|
'csv-file',
|
|
139
|
-
'static-collection',
|
|
140
139
|
]
|
|
141
140
|
|
|
142
141
|
validTypes.forEach((type) => {
|
|
@@ -263,7 +262,6 @@ describe('isEmbeddedDataSource', () => {
|
|
|
263
262
|
it('identifies embedded data sources', () => {
|
|
264
263
|
expect(isEmbeddedDataSource('javascript')).toBe(true)
|
|
265
264
|
expect(isEmbeddedDataSource('csv-file')).toBe(true)
|
|
266
|
-
expect(isEmbeddedDataSource('static-collection')).toBe(true)
|
|
267
265
|
})
|
|
268
266
|
|
|
269
267
|
it('identifies non-embedded data sources', () => {
|
|
@@ -20,6 +20,7 @@ export interface ArrayMapperRegistryEntry {
|
|
|
20
20
|
searchEnabled: boolean;
|
|
21
21
|
perPage: number;
|
|
22
22
|
searchDebounce: number;
|
|
23
|
+
searchDefaultValue?: string;
|
|
23
24
|
queryColumns: string[];
|
|
24
25
|
stateVarPrefix: string;
|
|
25
26
|
pageStateVar?: string;
|
|
@@ -59,6 +60,7 @@ export declare class ArrayMapperRegistry {
|
|
|
59
60
|
searchEnabled: boolean;
|
|
60
61
|
perPage?: number;
|
|
61
62
|
searchDebounce?: number;
|
|
63
|
+
searchDefaultValue?: string;
|
|
62
64
|
queryColumns?: string[];
|
|
63
65
|
}): ArrayMapperRegistryEntry;
|
|
64
66
|
getEntry(registryIndex: number): ArrayMapperRegistryEntry | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"array-mapper-registry.d.ts","sourceRoot":"","sources":["../../src/array-mapper-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,MAAM,MAAM,UAAU,GAAG,WAAW,GAAG,iBAAiB,GAAG,aAAa,GAAG,OAAO,CAAA;AAElF,MAAM,WAAW,wBAAwB;IACvC,aAAa,EAAE,MAAM,CAAA;IACrB,IAAI,EAAE,UAAU,CAAA;IAChB,oBAAoB,EAAE,MAAM,CAAA;IAC5B,qBAAqB,EAAE,MAAM,CAAA;IAC7B,eAAe,EAAE,MAAM,CAAA;IAEvB,SAAS,EAAE,OAAO,CAAA;IAClB,aAAa,EAAE,OAAO,CAAA;IACtB,OAAO,EAAE,MAAM,CAAA;IACf,cAAc,EAAE,MAAM,CAAA;IACtB,YAAY,EAAE,MAAM,EAAE,CAAA;IAEtB,cAAc,EAAE,MAAM,CAAA;IACtB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,uBAAuB,CAAC,EAAE,MAAM,CAAA;IAChC,0BAA0B,CAAC,EAAE,MAAM,CAAA;IACnC,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAE7B,qBAAqB,EAAE,MAAM,CAAA;IAC7B,yBAAyB,EAAE,MAAM,CAAA;IACjC,sBAAsB,EAAE,MAAM,CAAA;IAC9B,8BAA8B,EAAE,MAAM,CAAA;IAEtC,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,eAAe,CAAC,EAAE,MAAM,CAAA;IAExB,eAAe,CAAC,EAAE,GAAG,CAAA;IACrB,cAAc,CAAC,EAAE,GAAG,CAAA;CACrB;AAED,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,OAAO,CAAiC;IAChD,OAAO,CAAC,cAAc,CAAI;IAC1B,OAAO,CAAC,mBAAmB,CAAI;IAC/B,OAAO,CAAC,eAAe,CAAI;IAC3B,OAAO,CAAC,UAAU,CAAI;IAEtB,gBAAgB,CAAC,MAAM,EAAE;QACvB,oBAAoB,EAAE,MAAM,CAAA;QAC5B,qBAAqB,EAAE,MAAM,CAAA;QAC7B,eAAe,EAAE,MAAM,CAAA;QACvB,SAAS,EAAE,OAAO,CAAA;QAClB,aAAa,EAAE,OAAO,CAAA;QACtB,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,cAAc,CAAC,EAAE,MAAM,CAAA;QACvB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;KACxB,GAAG,wBAAwB;
|
|
1
|
+
{"version":3,"file":"array-mapper-registry.d.ts","sourceRoot":"","sources":["../../src/array-mapper-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -45,7 +45,7 @@ var ArrayMapperRegistry = /** @class */ (function () {
|
|
|
45
45
|
var typeIndex = this.getTypeIndex(type);
|
|
46
46
|
var registryIndex = this.entries.length;
|
|
47
47
|
var stateVarPrefix = this.generateStateVarPrefix(type, typeIndex);
|
|
48
|
-
var entry = __assign(__assign({ registryIndex: registryIndex, type: type, dataSourceIdentifier: config.dataSourceIdentifier, arrayMapperRenderProp: config.arrayMapperRenderProp, uidlGlobalIndex: config.uidlGlobalIndex, paginated: config.paginated, searchEnabled: config.searchEnabled, perPage: config.perPage || 10, searchDebounce: config.searchDebounce || 300, queryColumns: config.queryColumns || [], stateVarPrefix: stateVarPrefix }, this.generateStateVarNames(stateVarPrefix, config.paginated, config.searchEnabled)), this.generateGetStaticPropsVarNames(config.dataSourceIdentifier, type, typeIndex));
|
|
48
|
+
var entry = __assign(__assign({ registryIndex: registryIndex, type: type, dataSourceIdentifier: config.dataSourceIdentifier, arrayMapperRenderProp: config.arrayMapperRenderProp, uidlGlobalIndex: config.uidlGlobalIndex, paginated: config.paginated, searchEnabled: config.searchEnabled, perPage: config.perPage || 10, searchDebounce: config.searchDebounce || 300, searchDefaultValue: config.searchDefaultValue, queryColumns: config.queryColumns || [], stateVarPrefix: stateVarPrefix }, this.generateStateVarNames(stateVarPrefix, config.paginated, config.searchEnabled)), this.generateGetStaticPropsVarNames(config.dataSourceIdentifier, type, typeIndex));
|
|
49
49
|
this.entries.push(entry);
|
|
50
50
|
this.incrementTypeCount(type);
|
|
51
51
|
return entry;
|
|
@@ -260,6 +260,13 @@ function createRegistryFromUIDL(uidlNode, allResources) {
|
|
|
260
260
|
if (resourceId) {
|
|
261
261
|
queryColumns = findQueryColumns(resourceId, c.resource, allResources);
|
|
262
262
|
}
|
|
263
|
+
var rawDefault = c.searchDefaultValue;
|
|
264
|
+
var searchDefaultValue = rawDefault &&
|
|
265
|
+
rawDefault.type === 'static' &&
|
|
266
|
+
typeof rawDefault.content === 'string' &&
|
|
267
|
+
rawDefault.content.length > 0
|
|
268
|
+
? rawDefault.content
|
|
269
|
+
: undefined;
|
|
263
270
|
registry.registerFromUIDL({
|
|
264
271
|
dataSourceIdentifier: currentDataSourceId || 'unknown',
|
|
265
272
|
arrayMapperRenderProp: c.renderPropIdentifier,
|
|
@@ -268,6 +275,7 @@ function createRegistryFromUIDL(uidlNode, allResources) {
|
|
|
268
275
|
searchEnabled: !!c.searchEnabled,
|
|
269
276
|
perPage: c.perPage,
|
|
270
277
|
searchDebounce: c.searchDebounce,
|
|
278
|
+
searchDefaultValue: searchDefaultValue,
|
|
271
279
|
queryColumns: queryColumns,
|
|
272
280
|
});
|
|
273
281
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"array-mapper-registry.js","sourceRoot":"","sources":["../../src/array-mapper-registry.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"array-mapper-registry.js","sourceRoot":"","sources":["../../src/array-mapper-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,8 +5,8 @@ import { generateMariaDBCountFetcher } from './fetchers/mariadb';
|
|
|
5
5
|
import { generateMongoDBCountFetcher } from './fetchers/mongodb';
|
|
6
6
|
import { generateSupabaseCountFetcher } from './fetchers/supabase';
|
|
7
7
|
import { generateJavaScriptCountFetcher } from './fetchers/javascript';
|
|
8
|
-
import { generateStaticCollectionCountFetcher } from './fetchers/static-collection';
|
|
9
8
|
import { generateCSVCountFetcher } from './fetchers/csv-file';
|
|
10
|
-
|
|
9
|
+
import { generateTeleportCountFetcher } from './fetchers/teleport';
|
|
10
|
+
export { generatePostgreSQLCountFetcher, generateMySQLCountFetcher, generateMariaDBCountFetcher, generateMongoDBCountFetcher, generateSupabaseCountFetcher, generateJavaScriptCountFetcher, generateCSVCountFetcher, generateTeleportCountFetcher, };
|
|
11
11
|
export declare function generateCountFetcher(dataSource: UIDLDataSource, tableName: string): string;
|
|
12
12
|
//# sourceMappingURL=count-fetchers.d.ts.map
|
|
@@ -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,
|
|
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,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.generateCountFetcher = exports.
|
|
3
|
+
exports.generateCountFetcher = exports.generateTeleportCountFetcher = exports.generateCSVCountFetcher = exports.generateJavaScriptCountFetcher = exports.generateSupabaseCountFetcher = exports.generateMongoDBCountFetcher = exports.generateMariaDBCountFetcher = exports.generateMySQLCountFetcher = exports.generatePostgreSQLCountFetcher = void 0;
|
|
4
4
|
var data_source_fetchers_1 = require("./data-source-fetchers");
|
|
5
5
|
var postgresql_1 = require("./fetchers/postgresql");
|
|
6
6
|
Object.defineProperty(exports, "generatePostgreSQLCountFetcher", { enumerable: true, get: function () { return postgresql_1.generatePostgreSQLCountFetcher; } });
|
|
@@ -14,13 +14,15 @@ var supabase_1 = require("./fetchers/supabase");
|
|
|
14
14
|
Object.defineProperty(exports, "generateSupabaseCountFetcher", { enumerable: true, get: function () { return supabase_1.generateSupabaseCountFetcher; } });
|
|
15
15
|
var javascript_1 = require("./fetchers/javascript");
|
|
16
16
|
Object.defineProperty(exports, "generateJavaScriptCountFetcher", { enumerable: true, get: function () { return javascript_1.generateJavaScriptCountFetcher; } });
|
|
17
|
-
var static_collection_1 = require("./fetchers/static-collection");
|
|
18
|
-
Object.defineProperty(exports, "generateStaticCollectionCountFetcher", { enumerable: true, get: function () { return static_collection_1.generateStaticCollectionCountFetcher; } });
|
|
19
17
|
var csv_file_1 = require("./fetchers/csv-file");
|
|
20
18
|
Object.defineProperty(exports, "generateCSVCountFetcher", { enumerable: true, get: function () { return csv_file_1.generateCSVCountFetcher; } });
|
|
19
|
+
var teleport_1 = require("./fetchers/teleport");
|
|
20
|
+
Object.defineProperty(exports, "generateTeleportCountFetcher", { enumerable: true, get: function () { return teleport_1.generateTeleportCountFetcher; } });
|
|
21
21
|
function generateCountFetcher(dataSource, tableName) {
|
|
22
22
|
var type = dataSource.type, config = dataSource.config;
|
|
23
23
|
switch (type) {
|
|
24
|
+
case 'teleport':
|
|
25
|
+
return (0, teleport_1.generateTeleportCountFetcher)(config, tableName);
|
|
24
26
|
case 'postgresql':
|
|
25
27
|
case 'cockroachdb':
|
|
26
28
|
return (0, postgresql_1.generatePostgreSQLCountFetcher)(config, tableName);
|
|
@@ -38,8 +40,6 @@ function generateCountFetcher(dataSource, tableName) {
|
|
|
38
40
|
return (0, supabase_1.generateSupabaseCountFetcher)(config, tableName);
|
|
39
41
|
case 'javascript':
|
|
40
42
|
return (0, javascript_1.generateJavaScriptCountFetcher)(config);
|
|
41
|
-
case 'static-collection':
|
|
42
|
-
return (0, static_collection_1.generateStaticCollectionCountFetcher)(config);
|
|
43
43
|
case 'csv-file':
|
|
44
44
|
return (0, csv_file_1.generateCSVCountFetcher)(config);
|
|
45
45
|
default:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"count-fetchers.js","sourceRoot":"","sources":["../../src/count-fetchers.ts"],"names":[],"mappings":";;;AACA,+DAA2E;AAC3E,oDAAsE;AAUpE,+GAVO,2CAA8B,OAUP;AAThC,0CAA4D;AAU1D,0GAVO,iCAAyB,OAUP;AAT3B,8CAAgE;AAU9D,4GAVO,qCAA2B,OAUP;AAT7B,8CAAgE;AAU9D,4GAVO,qCAA2B,OAUP;AAT7B,gDAAkE;AAUhE,6GAVO,uCAA4B,OAUP;AAT9B,oDAAsE;AAUpE,+GAVO,2CAA8B,OAUP;AAThC,
|
|
1
|
+
{"version":3,"file":"count-fetchers.js","sourceRoot":"","sources":["../../src/count-fetchers.ts"],"names":[],"mappings":";;;AACA,+DAA2E;AAC3E,oDAAsE;AAUpE,+GAVO,2CAA8B,OAUP;AAThC,0CAA4D;AAU1D,0GAVO,iCAAyB,OAUP;AAT3B,8CAAgE;AAU9D,4GAVO,qCAA2B,OAUP;AAT7B,8CAAgE;AAU9D,4GAVO,qCAA2B,OAUP;AAT7B,gDAAkE;AAUhE,6GAVO,uCAA4B,OAUP;AAT9B,oDAAsE;AAUpE,+GAVO,2CAA8B,OAUP;AAThC,gDAA6D;AAU3D,wGAVO,kCAAuB,OAUP;AATzB,gDAAkE;AAUhE,6GAVO,uCAA4B,OAUP;AAG9B,SAAgB,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,IAAA,uCAA4B,EAAC,MAAM,EAAE,SAAS,CAAC,CAAA;QAExD,KAAK,YAAY,CAAC;QAClB,KAAK,aAAa;YAChB,OAAO,IAAA,2CAA8B,EAAC,MAAM,EAAE,SAAS,CAAC,CAAA;QAE1D,KAAK,OAAO,CAAC;QACb,KAAK,MAAM;YACT,OAAO,IAAA,iCAAyB,EAAC,MAAM,EAAE,SAAS,CAAC,CAAA;QAErD,KAAK,SAAS;YACZ,OAAO,IAAA,qCAA2B,EAAC,MAAM,EAAE,SAAS,CAAC,CAAA;QAEvD,KAAK,SAAS;YACZ,OAAO,IAAA,qCAA2B,EAAC,MAAM,EAAE,SAAS,CAAC,CAAA;QAEvD,KAAK,UAAU;YACb,IAAI,IAAA,yDAAkC,EAAC,MAAM,CAAC,EAAE;gBAC9C,OAAO,IAAA,2CAA8B,EAAC,MAAM,EAAE,SAAS,CAAC,CAAA;aACzD;YACD,OAAO,IAAA,uCAA4B,EAAC,MAAM,EAAE,SAAS,CAAC,CAAA;QAExD,KAAK,YAAY;YACf,OAAO,IAAA,2CAA8B,EAAC,MAAM,CAAC,CAAA;QAE/C,KAAK,UAAU;YACb,OAAO,IAAA,kCAAuB,EAAC,MAAM,CAAC,CAAA;QAExC;YACE,OAAO,knCA6CZ,CAAA;KACE;AACH,CAAC;AAjFD,oDAiFC"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { DataSourceType, UIDLDataSource } from '@teleporthq/teleport-types';
|
|
2
|
+
import { generateRawQueryFetcher, parseQueryTemplateVariables } from './fetchers';
|
|
3
|
+
export { generateRawQueryFetcher, parseQueryTemplateVariables };
|
|
2
4
|
interface DataSourceFetcherDependencies {
|
|
3
5
|
packages: string[];
|
|
4
6
|
isDefaultImport?: boolean;
|
|
@@ -11,5 +13,4 @@ export declare function generateDataSourceFetcher(dataSource: UIDLDataSource, ta
|
|
|
11
13
|
* and an API handler (for client-side use)
|
|
12
14
|
*/
|
|
13
15
|
export declare function generateDataSourceFetcherWithCore(dataSource: UIDLDataSource, tableName: string, isApiRoute?: boolean): string;
|
|
14
|
-
export {};
|
|
15
16
|
//# sourceMappingURL=data-source-fetchers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-source-fetchers.d.ts","sourceRoot":"","sources":["../../src/data-source-fetchers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;
|
|
1
|
+
{"version":3,"file":"data-source-fetchers.d.ts","sourceRoot":"","sources":["../../src/data-source-fetchers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAC3E,OAAO,EA6BL,uBAAuB,EACvB,2BAA2B,EAC5B,MAAM,YAAY,CAAA;AAInB,OAAO,EAAE,uBAAuB,EAAE,2BAA2B,EAAE,CAAA;AAE/D,UAAU,6BAA6B;IACrC,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,eAAe,CAAC,EAAE,OAAO,CAAA;CAC1B;AAED,eAAO,MAAM,kCAAkC,WAAY,OAAO,MAAM,EAAE,OAAO,CAAC,KAAG,OAEpF,CAAA;AAED,eAAO,MAAM,yBAAyB,SAC9B,cAAc,WACX,OAAO,MAAM,EAAE,OAAO,CAAC,KAC/B,6BA4BF,CAAA;AAED,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAsK/F;AAED;;;GAGG;AACH,wBAAgB,iCAAiC,CAC/C,UAAU,EAAE,cAAc,EAC1B,SAAS,EAAE,MAAM,EACjB,UAAU,GAAE,OAAe,GAC1B,MAAM,CAmGR"}
|
|
@@ -9,8 +9,10 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
|
9
9
|
return to.concat(ar || Array.prototype.slice.call(from));
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.generateDataSourceFetcherWithCore = exports.generateDataSourceFetcher = exports.getDataSourceDependencies = exports.isSupabaseConnectionStringFallback = void 0;
|
|
12
|
+
exports.generateDataSourceFetcherWithCore = exports.generateDataSourceFetcher = exports.getDataSourceDependencies = exports.isSupabaseConnectionStringFallback = exports.parseQueryTemplateVariables = exports.generateRawQueryFetcher = void 0;
|
|
13
13
|
var fetchers_1 = require("./fetchers");
|
|
14
|
+
Object.defineProperty(exports, "generateRawQueryFetcher", { enumerable: true, get: function () { return fetchers_1.generateRawQueryFetcher; } });
|
|
15
|
+
Object.defineProperty(exports, "parseQueryTemplateVariables", { enumerable: true, get: function () { return fetchers_1.parseQueryTemplateVariables; } });
|
|
14
16
|
var validation_1 = require("./validation");
|
|
15
17
|
var count_fetchers_1 = require("./count-fetchers");
|
|
16
18
|
var isSupabaseConnectionStringFallback = function (config) {
|
|
@@ -40,7 +42,7 @@ var getDataSourceDependencies = function (type, config) {
|
|
|
40
42
|
javascript: { packages: [], isDefaultImport: false },
|
|
41
43
|
'google-sheets': { packages: ['node-fetch'], isDefaultImport: true },
|
|
42
44
|
'csv-file': { packages: [], isDefaultImport: false },
|
|
43
|
-
|
|
45
|
+
teleport: { packages: ['pg'], isDefaultImport: false },
|
|
44
46
|
};
|
|
45
47
|
return dependencyMap[type];
|
|
46
48
|
};
|
|
@@ -166,13 +168,6 @@ function generateDataSourceFetcher(dataSource, tableName) {
|
|
|
166
168
|
}
|
|
167
169
|
return (0, fetchers_1.generateCSVFileFetcher)(config);
|
|
168
170
|
}
|
|
169
|
-
case 'static-collection': {
|
|
170
|
-
var validation = (0, fetchers_1.validateStaticCollectionConfig)(config);
|
|
171
|
-
if (!validation.isValid) {
|
|
172
|
-
throw new Error("Static collection config validation failed: ".concat(validation.error));
|
|
173
|
-
}
|
|
174
|
-
return (0, fetchers_1.generateStaticCollectionFetcher)(config);
|
|
175
|
-
}
|
|
176
171
|
case 'google-sheets': {
|
|
177
172
|
var validation = (0, fetchers_1.validateGoogleSheetsConfig)(config);
|
|
178
173
|
if (!validation.isValid) {
|
|
@@ -180,6 +175,13 @@ function generateDataSourceFetcher(dataSource, tableName) {
|
|
|
180
175
|
}
|
|
181
176
|
return (0, fetchers_1.generateGoogleSheetsFetcher)(config);
|
|
182
177
|
}
|
|
178
|
+
case 'teleport': {
|
|
179
|
+
var validation = (0, fetchers_1.validateTeleportConfig)(config);
|
|
180
|
+
if (!validation.isValid) {
|
|
181
|
+
throw new Error("Teleport config validation failed: ".concat(validation.error));
|
|
182
|
+
}
|
|
183
|
+
return (0, fetchers_1.generateTeleportFetcher)(config, tableName);
|
|
184
|
+
}
|
|
183
185
|
default:
|
|
184
186
|
throw new Error("Unsupported data source type: ".concat(type));
|
|
185
187
|
}
|