@tinybirdco/sdk 0.0.54 → 0.0.56

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.
@@ -1,188 +1,324 @@
1
- import { describe, it, expect } from 'vitest';
2
- import { t, isTypeValidator, getTinybirdType, getModifiers } from './types.js';
3
- describe('Type Validators (t.*)', () => {
4
- describe('Basic types', () => {
5
- it('generates String type', () => {
1
+ import { describe, it, expect, expectTypeOf } from "vitest";
2
+ import { t, isTypeValidator, getTinybirdType, getModifiers } from "./types.js";
3
+ import { defineDatasource } from "./datasource.js";
4
+ import { engine } from "./engines.js";
5
+ describe("Type Validators (t.*)", () => {
6
+ describe("Basic types", () => {
7
+ it("generates String type", () => {
6
8
  const type = t.string();
7
- expect(type._tinybirdType).toBe('String');
9
+ expect(type._tinybirdType).toBe("String");
8
10
  });
9
- it('generates Int32 type', () => {
11
+ it("generates Int32 type", () => {
10
12
  const type = t.int32();
11
- expect(type._tinybirdType).toBe('Int32');
13
+ expect(type._tinybirdType).toBe("Int32");
12
14
  });
13
- it('generates DateTime type', () => {
15
+ it("generates DateTime type", () => {
14
16
  const type = t.dateTime();
15
- expect(type._tinybirdType).toBe('DateTime');
17
+ expect(type._tinybirdType).toBe("DateTime");
16
18
  });
17
- it('generates DateTime with timezone', () => {
18
- const type = t.dateTime('UTC');
19
+ it("generates DateTime with timezone", () => {
20
+ const type = t.dateTime("UTC");
19
21
  expect(type._tinybirdType).toBe("DateTime('UTC')");
20
22
  });
21
- it('generates Bool type', () => {
23
+ it("generates Bool type", () => {
22
24
  const type = t.bool();
23
- expect(type._tinybirdType).toBe('Bool');
25
+ expect(type._tinybirdType).toBe("Bool");
24
26
  });
25
- it('generates UUID type', () => {
27
+ it("generates UUID type", () => {
26
28
  const type = t.uuid();
27
- expect(type._tinybirdType).toBe('UUID');
29
+ expect(type._tinybirdType).toBe("UUID");
28
30
  });
29
- it('generates Float64 type', () => {
31
+ it("generates Float64 type", () => {
30
32
  const type = t.float64();
31
- expect(type._tinybirdType).toBe('Float64');
33
+ expect(type._tinybirdType).toBe("Float64");
32
34
  });
33
- it('generates UInt64 type', () => {
35
+ it("generates UInt64 type", () => {
34
36
  const type = t.uint64();
35
- expect(type._tinybirdType).toBe('UInt64');
37
+ expect(type._tinybirdType).toBe("UInt64");
36
38
  });
37
39
  });
38
- describe('Nullable modifier', () => {
39
- it('wraps type in Nullable', () => {
40
+ describe("Nullable modifier", () => {
41
+ it("wraps type in Nullable", () => {
40
42
  const type = t.string().nullable();
41
- expect(type._tinybirdType).toBe('Nullable(String)');
43
+ expect(type._tinybirdType).toBe("Nullable(String)");
42
44
  });
43
- it('wraps Int32 in Nullable', () => {
45
+ it("wraps Int32 in Nullable", () => {
44
46
  const type = t.int32().nullable();
45
- expect(type._tinybirdType).toBe('Nullable(Int32)');
47
+ expect(type._tinybirdType).toBe("Nullable(Int32)");
46
48
  });
47
- it('sets nullable modifier', () => {
49
+ it("sets nullable modifier", () => {
48
50
  const type = t.string().nullable();
49
51
  expect(type._modifiers.nullable).toBe(true);
50
52
  });
51
53
  });
52
- describe('LowCardinality modifier', () => {
53
- it('wraps type in LowCardinality', () => {
54
+ describe("LowCardinality modifier", () => {
55
+ it("wraps type in LowCardinality", () => {
54
56
  const type = t.string().lowCardinality();
55
- expect(type._tinybirdType).toBe('LowCardinality(String)');
57
+ expect(type._tinybirdType).toBe("LowCardinality(String)");
56
58
  });
57
- it('sets lowCardinality modifier', () => {
59
+ it("sets lowCardinality modifier", () => {
58
60
  const type = t.string().lowCardinality();
59
61
  expect(type._modifiers.lowCardinality).toBe(true);
60
62
  });
61
63
  });
62
- describe('LowCardinality + Nullable ordering', () => {
63
- it('generates LowCardinality(Nullable(X)) when chaining .lowCardinality().nullable()', () => {
64
+ describe("LowCardinality + Nullable ordering", () => {
65
+ it("generates LowCardinality(Nullable(X)) when chaining .lowCardinality().nullable()", () => {
64
66
  const type = t.string().lowCardinality().nullable();
65
- expect(type._tinybirdType).toBe('LowCardinality(Nullable(String))');
67
+ expect(type._tinybirdType).toBe("LowCardinality(Nullable(String))");
66
68
  });
67
- it('generates LowCardinality(Nullable(X)) when chaining .nullable().lowCardinality()', () => {
69
+ it("generates LowCardinality(Nullable(X)) when chaining .nullable().lowCardinality()", () => {
68
70
  const type = t.string().nullable().lowCardinality();
69
- expect(type._tinybirdType).toBe('LowCardinality(Nullable(String))');
71
+ expect(type._tinybirdType).toBe("LowCardinality(Nullable(String))");
70
72
  });
71
- it('preserves both modifiers when chained', () => {
73
+ it("preserves both modifiers when chained", () => {
72
74
  const type = t.string().lowCardinality().nullable();
73
75
  expect(type._modifiers.lowCardinality).toBe(true);
74
76
  expect(type._modifiers.nullable).toBe(true);
75
77
  });
76
78
  });
77
- describe('Default values', () => {
78
- it('sets hasDefault modifier', () => {
79
- const type = t.string().default('test');
79
+ describe("Default values", () => {
80
+ it("sets hasDefault modifier", () => {
81
+ const type = t.string().default("test");
80
82
  expect(type._modifiers.hasDefault).toBe(true);
81
83
  });
82
- it('stores defaultValue in modifiers', () => {
83
- const type = t.string().default('test');
84
- expect(type._modifiers.defaultValue).toBe('test');
84
+ it("stores defaultValue in modifiers", () => {
85
+ const type = t.string().default("test");
86
+ expect(type._modifiers.defaultValue).toBe("test");
85
87
  });
86
- it('works with numeric defaults', () => {
88
+ it("works with numeric defaults", () => {
87
89
  const type = t.int32().default(42);
88
90
  expect(type._modifiers.defaultValue).toBe(42);
89
91
  });
90
92
  });
91
- describe('Codec modifier', () => {
92
- it('sets codec in modifiers', () => {
93
- const type = t.string().codec('LZ4');
94
- expect(type._modifiers.codec).toBe('LZ4');
93
+ describe("Codec modifier", () => {
94
+ it("sets codec in modifiers", () => {
95
+ const type = t.string().codec("LZ4");
96
+ expect(type._modifiers.codec).toBe("LZ4");
95
97
  });
96
98
  });
97
- describe('jsonPath modifier', () => {
98
- it('sets jsonPath in modifiers', () => {
99
- const type = t.string().jsonPath('$.payload.id');
100
- expect(type._modifiers.jsonPath).toBe('$.payload.id');
101
- });
102
- it('supports chaining with other modifiers', () => {
103
- const type = t.string().nullable().jsonPath('$.user.name');
104
- expect(type._tinybirdType).toBe('Nullable(String)');
99
+ describe("jsonPath modifier", () => {
100
+ it("sets jsonPath in modifiers", () => {
101
+ const type = t.string().jsonPath("$.payload.id");
102
+ expect(type._modifiers.jsonPath).toBe("$.payload.id");
103
+ });
104
+ it("supports chaining with other modifiers", () => {
105
+ const type = t.string().nullable().jsonPath("$.user.name");
106
+ expect(type._tinybirdType).toBe("Nullable(String)");
105
107
  expect(type._modifiers.nullable).toBe(true);
106
- expect(type._modifiers.jsonPath).toBe('$.user.name');
108
+ expect(type._modifiers.jsonPath).toBe("$.user.name");
107
109
  });
108
110
  });
109
- describe('Complex types', () => {
110
- it('generates Array type', () => {
111
+ describe("Complex types", () => {
112
+ it("generates Array type", () => {
111
113
  const type = t.array(t.string());
112
- expect(type._tinybirdType).toBe('Array(String)');
114
+ expect(type._tinybirdType).toBe("Array(String)");
113
115
  });
114
- it('generates nested Array type', () => {
116
+ it("generates nested Array type", () => {
115
117
  const type = t.array(t.int32());
116
- expect(type._tinybirdType).toBe('Array(Int32)');
118
+ expect(type._tinybirdType).toBe("Array(Int32)");
117
119
  });
118
- it('generates Map type', () => {
120
+ it("generates Map type", () => {
119
121
  const type = t.map(t.string(), t.int32());
120
- expect(type._tinybirdType).toBe('Map(String, Int32)');
122
+ expect(type._tinybirdType).toBe("Map(String, Int32)");
121
123
  });
122
- it('generates Decimal type', () => {
124
+ it("generates Decimal type", () => {
123
125
  const type = t.decimal(10, 2);
124
- expect(type._tinybirdType).toBe('Decimal(10, 2)');
126
+ expect(type._tinybirdType).toBe("Decimal(10, 2)");
125
127
  });
126
- it('generates FixedString type', () => {
128
+ it("generates FixedString type", () => {
127
129
  const type = t.fixedString(3);
128
- expect(type._tinybirdType).toBe('FixedString(3)');
130
+ expect(type._tinybirdType).toBe("FixedString(3)");
129
131
  });
130
- it('generates Tuple type', () => {
132
+ it("generates Tuple type", () => {
131
133
  const type = t.tuple(t.string(), t.int32());
132
- expect(type._tinybirdType).toBe('Tuple(String, Int32)');
134
+ expect(type._tinybirdType).toBe("Tuple(String, Int32)");
133
135
  });
134
- it('generates DateTime64 type', () => {
136
+ it("generates DateTime64 type", () => {
135
137
  const type = t.dateTime64(3);
136
- expect(type._tinybirdType).toBe('DateTime64(3)');
138
+ expect(type._tinybirdType).toBe("DateTime64(3)");
137
139
  });
138
- it('generates DateTime64 with timezone', () => {
139
- const type = t.dateTime64(3, 'UTC');
140
+ it("generates DateTime64 with timezone", () => {
141
+ const type = t.dateTime64(3, "UTC");
140
142
  expect(type._tinybirdType).toBe("DateTime64(3, 'UTC')");
141
143
  });
142
144
  });
143
- describe('Helper functions', () => {
144
- it('isTypeValidator returns true for validators', () => {
145
+ describe("Helper functions", () => {
146
+ it("isTypeValidator returns true for validators", () => {
145
147
  expect(isTypeValidator(t.string())).toBe(true);
146
148
  });
147
- it('isTypeValidator returns false for non-validators', () => {
148
- expect(isTypeValidator('string')).toBe(false);
149
+ it("isTypeValidator returns false for non-validators", () => {
150
+ expect(isTypeValidator("string")).toBe(false);
149
151
  expect(isTypeValidator({})).toBe(false);
150
152
  expect(isTypeValidator(null)).toBe(false);
151
153
  });
152
- it('getTinybirdType returns type string', () => {
153
- expect(getTinybirdType(t.string())).toBe('String');
154
+ it("getTinybirdType returns type string", () => {
155
+ expect(getTinybirdType(t.string())).toBe("String");
154
156
  });
155
- it('getModifiers returns modifiers object', () => {
157
+ it("getModifiers returns modifiers object", () => {
156
158
  const modifiers = getModifiers(t.string().nullable());
157
159
  expect(modifiers.nullable).toBe(true);
158
160
  });
159
161
  });
160
- describe('Chained modifiers', () => {
161
- it('supports multiple modifiers', () => {
162
- const type = t.string().lowCardinality().default('test');
163
- expect(type._tinybirdType).toBe('LowCardinality(String)');
162
+ describe("Chained modifiers", () => {
163
+ it("supports multiple modifiers", () => {
164
+ const type = t.string().lowCardinality().default("test");
165
+ expect(type._tinybirdType).toBe("LowCardinality(String)");
164
166
  expect(type._modifiers.lowCardinality).toBe(true);
165
167
  expect(type._modifiers.hasDefault).toBe(true);
166
- expect(type._modifiers.defaultValue).toBe('test');
168
+ expect(type._modifiers.defaultValue).toBe("test");
167
169
  });
168
170
  });
169
- describe('Enum types', () => {
170
- it('generates Enum8 with value mapping', () => {
171
- const type = t.enum8('active', 'inactive', 'pending');
171
+ describe("Enum types", () => {
172
+ it("generates Enum8 with value mapping", () => {
173
+ const type = t.enum8("active", "inactive", "pending");
172
174
  expect(type._tinybirdType).toBe("Enum8('active' = 1, 'inactive' = 2, 'pending' = 3)");
173
175
  });
174
- it('generates Enum16 with value mapping', () => {
175
- const type = t.enum16('draft', 'published', 'archived');
176
+ it("generates Enum16 with value mapping", () => {
177
+ const type = t.enum16("draft", "published", "archived");
176
178
  expect(type._tinybirdType).toBe("Enum16('draft' = 1, 'published' = 2, 'archived' = 3)");
177
179
  });
178
- it('escapes single quotes in enum values', () => {
179
- const type = t.enum8("it's ok", 'normal');
180
+ it("escapes single quotes in enum values", () => {
181
+ const type = t.enum8("it's ok", "normal");
180
182
  expect(type._tinybirdType).toBe("Enum8('it\\'s ok' = 1, 'normal' = 2)");
181
183
  });
182
- it('handles single enum value', () => {
183
- const type = t.enum8('only');
184
+ it("handles single enum value", () => {
185
+ const type = t.enum8("only");
184
186
  expect(type._tinybirdType).toBe("Enum8('only' = 1)");
185
187
  });
186
188
  });
189
+ describe("Custom type generics", () => {
190
+ describe("runtime behavior unchanged", () => {
191
+ it("string with generic produces same _tinybirdType", () => {
192
+ expect(t.string()._tinybirdType).toBe(t.string()._tinybirdType);
193
+ expect(t.string()._tinybirdType).toBe("String");
194
+ });
195
+ it("int32 with generic produces same _tinybirdType", () => {
196
+ expect(t.int32()._tinybirdType).toBe(t.int32()._tinybirdType);
197
+ });
198
+ it("uuid with generic produces same _tinybirdType", () => {
199
+ expect(t.uuid()._tinybirdType).toBe("UUID");
200
+ });
201
+ it("dateTime with generic produces same _tinybirdType", () => {
202
+ expect(t.dateTime()._tinybirdType).toBe("DateTime");
203
+ expect(t.dateTime("UTC")._tinybirdType).toBe("DateTime('UTC')");
204
+ });
205
+ it("bool with generic produces same _tinybirdType", () => {
206
+ expect(t.bool()._tinybirdType).toBe("Bool");
207
+ });
208
+ it("int128 with generic produces same _tinybirdType", () => {
209
+ expect(t.int128()._tinybirdType).toBe("Int128");
210
+ });
211
+ it("decimal with generic produces same _tinybirdType", () => {
212
+ expect(t.decimal(10, 2)._tinybirdType).toBe("Decimal(10, 2)");
213
+ });
214
+ it("fixedString with generic produces same _tinybirdType", () => {
215
+ expect(t.fixedString(2)._tinybirdType).toBe("FixedString(2)");
216
+ });
217
+ });
218
+ describe("modifiers work with custom generics", () => {
219
+ it("nullable", () => {
220
+ const v = t.string().nullable();
221
+ expect(v._tinybirdType).toBe("Nullable(String)");
222
+ expect(v._modifiers.nullable).toBe(true);
223
+ });
224
+ it("lowCardinality", () => {
225
+ expect(t.string().lowCardinality()._tinybirdType).toBe("LowCardinality(String)");
226
+ });
227
+ it("default", () => {
228
+ const v = t.string().default("fallback");
229
+ expect(v._modifiers.hasDefault).toBe(true);
230
+ expect(v._modifiers.defaultValue).toBe("fallback");
231
+ });
232
+ });
233
+ describe("type inference", () => {
234
+ it("validators without generics still infer base types", () => {
235
+ expectTypeOf(t.string()._type).toEqualTypeOf();
236
+ expectTypeOf(t.int32()._type).toEqualTypeOf();
237
+ expectTypeOf(t.bool()._type).toEqualTypeOf();
238
+ expectTypeOf(t.int128()._type).toEqualTypeOf();
239
+ expectTypeOf(t.uuid()._type).toEqualTypeOf();
240
+ });
241
+ it("validators with generics infer the custom type", () => {
242
+ expectTypeOf(t.string()._type).toEqualTypeOf();
243
+ expectTypeOf(t.uuid()._type).toEqualTypeOf();
244
+ expectTypeOf(t.int32()._type).toEqualTypeOf();
245
+ expectTypeOf(t.bool()._type).toEqualTypeOf();
246
+ expectTypeOf(t.int128()._type).toEqualTypeOf();
247
+ expectTypeOf(t.dateTime()._type).toEqualTypeOf();
248
+ expectTypeOf(t.dateTime("UTC")._type).toEqualTypeOf();
249
+ expectTypeOf(t.dateTime64(3)._type).toEqualTypeOf();
250
+ expectTypeOf(t.decimal(10, 2)._type).toEqualTypeOf();
251
+ });
252
+ it("custom types flow through nullable", () => {
253
+ expectTypeOf(t.string().nullable()._type).toEqualTypeOf();
254
+ expectTypeOf(t.int32().nullable()._type).toEqualTypeOf();
255
+ });
256
+ it("custom types flow through lowCardinality", () => {
257
+ expectTypeOf(t.string().lowCardinality()._type).toEqualTypeOf();
258
+ });
259
+ it("custom types flow through InferRow", () => {
260
+ const ds = defineDatasource("test_custom_types", {
261
+ schema: {
262
+ user_id: t.string(),
263
+ event_count: t.int32(),
264
+ created_at: t.dateTime(),
265
+ name: t.string(),
266
+ },
267
+ engine: engine.mergeTree({ sortingKey: ["user_id"] }),
268
+ });
269
+ expectTypeOf().toEqualTypeOf();
270
+ expectTypeOf().toEqualTypeOf();
271
+ expectTypeOf().toEqualTypeOf();
272
+ expectTypeOf().toEqualTypeOf();
273
+ });
274
+ it("rejects generics that violate base type constraint", () => {
275
+ // @ts-expect-error - number does not extend string
276
+ t.string();
277
+ // @ts-expect-error - string does not extend number
278
+ t.int32();
279
+ // @ts-expect-error - string does not extend boolean
280
+ t.bool();
281
+ // @ts-expect-error - number does not extend bigint
282
+ t.int128();
283
+ });
284
+ });
285
+ describe("all validators accept custom generics", () => {
286
+ it("string-based validators", () => {
287
+ expectTypeOf(t.string()._type).toEqualTypeOf();
288
+ expectTypeOf(t.fixedString(10)._type).toEqualTypeOf();
289
+ expectTypeOf(t.uuid()._type).toEqualTypeOf();
290
+ expectTypeOf(t.ipv4()._type).toEqualTypeOf();
291
+ expectTypeOf(t.ipv6()._type).toEqualTypeOf();
292
+ expectTypeOf(t.date()._type).toEqualTypeOf();
293
+ expectTypeOf(t.date32()._type).toEqualTypeOf();
294
+ expectTypeOf(t.dateTime()._type).toEqualTypeOf();
295
+ expectTypeOf(t.dateTime("UTC")._type).toEqualTypeOf();
296
+ expectTypeOf(t.dateTime64()._type).toEqualTypeOf();
297
+ expectTypeOf(t.dateTime64(6, "UTC")._type).toEqualTypeOf();
298
+ });
299
+ it("number-based validators", () => {
300
+ expectTypeOf(t.int8()._type).toEqualTypeOf();
301
+ expectTypeOf(t.int16()._type).toEqualTypeOf();
302
+ expectTypeOf(t.int32()._type).toEqualTypeOf();
303
+ expectTypeOf(t.int64()._type).toEqualTypeOf();
304
+ expectTypeOf(t.uint8()._type).toEqualTypeOf();
305
+ expectTypeOf(t.uint16()._type).toEqualTypeOf();
306
+ expectTypeOf(t.uint32()._type).toEqualTypeOf();
307
+ expectTypeOf(t.uint64()._type).toEqualTypeOf();
308
+ expectTypeOf(t.float32()._type).toEqualTypeOf();
309
+ expectTypeOf(t.float64()._type).toEqualTypeOf();
310
+ expectTypeOf(t.decimal(10, 2)._type).toEqualTypeOf();
311
+ });
312
+ it("bigint-based validators", () => {
313
+ expectTypeOf(t.int128()._type).toEqualTypeOf();
314
+ expectTypeOf(t.int256()._type).toEqualTypeOf();
315
+ expectTypeOf(t.uint128()._type).toEqualTypeOf();
316
+ expectTypeOf(t.uint256()._type).toEqualTypeOf();
317
+ });
318
+ it("boolean-based validators", () => {
319
+ expectTypeOf(t.bool()._type).toEqualTypeOf();
320
+ });
321
+ });
322
+ });
187
323
  });
188
324
  //# sourceMappingURL=types.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.test.js","sourceRoot":"","sources":["../../src/schema/types.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.test.js","sourceRoot":"","sources":["../../src/schema/types.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tinybirdco/sdk",
3
- "version": "0.0.54",
3
+ "version": "0.0.56",
4
4
  "description": "TypeScript SDK for Tinybird Forward - define datasources and pipes as TypeScript",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -195,6 +195,36 @@ describe("Build API", () => {
195
195
  const allValues = capturedFormData!.getAll("data_project://");
196
196
  expect(allValues.length).toBe(3);
197
197
  });
198
+
199
+ it("includes connections in form data", async () => {
200
+ const resourcesWithConnections: GeneratedResources = {
201
+ ...resources,
202
+ connections: [
203
+ {
204
+ name: "my_kafka",
205
+ content: "TYPE kafka\nKAFKA_BROKERS kafka:9092\nKAFKA_TOPIC events\n",
206
+ },
207
+ ],
208
+ };
209
+
210
+ let capturedFormData: FormData | null = null;
211
+
212
+ server.use(
213
+ http.post(`${BASE_URL}/v1/build`, async ({ request }) => {
214
+ capturedFormData = await request.formData();
215
+ return HttpResponse.json(createBuildSuccessResponse());
216
+ })
217
+ );
218
+
219
+ const result = await buildToTinybird(config, resourcesWithConnections);
220
+
221
+ expect(result.success).toBe(true);
222
+ expect(result.connectionCount).toBe(1);
223
+ expect(capturedFormData).not.toBeNull();
224
+ // 2 datasources + 1 pipe + 1 connection
225
+ const allValues = capturedFormData!.getAll("data_project://");
226
+ expect(allValues.length).toBe(4);
227
+ });
198
228
  });
199
229
 
200
230
  describe("validateBuildConfig", () => {