orchid-orm 1.6.1 → 1.6.3
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/dist/index.d.ts +68 -42
- package/dist/index.js +47 -19
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +48 -20
- package/dist/index.mjs.map +1 -1
- package/package.json +5 -5
package/dist/index.d.ts
CHANGED
|
@@ -146,12 +146,31 @@ declare type Table = {
|
|
|
146
146
|
};
|
|
147
147
|
declare const createBaseTable: <CT extends ColumnTypesBase>(options?: {
|
|
148
148
|
columnTypes?: CT | ((t: DefaultColumnTypes) => CT) | undefined;
|
|
149
|
+
snakeCase?: boolean | undefined;
|
|
149
150
|
}) => {
|
|
150
151
|
new (): {
|
|
151
152
|
table: string;
|
|
152
153
|
columns: TableConfig;
|
|
153
154
|
schema?: string | undefined;
|
|
154
155
|
columnTypes: ColumnTypesBase extends CT ? {
|
|
156
|
+
timestamps: <T extends orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>>(this: {
|
|
157
|
+
name(name: string): {
|
|
158
|
+
timestamp(): T;
|
|
159
|
+
};
|
|
160
|
+
timestamp(): T;
|
|
161
|
+
}) => {
|
|
162
|
+
createdAt: orchid_core.ColumnWithDefault<T, orchid_core.RawExpression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>>>;
|
|
163
|
+
updatedAt: orchid_core.ColumnWithDefault<T, orchid_core.RawExpression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>>>;
|
|
164
|
+
};
|
|
165
|
+
timestampsSnakeCase: <T_1 extends orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>>(this: {
|
|
166
|
+
name(name: string): {
|
|
167
|
+
timestamp(): T_1;
|
|
168
|
+
};
|
|
169
|
+
timestamp(): T_1;
|
|
170
|
+
}) => {
|
|
171
|
+
createdAt: orchid_core.ColumnWithDefault<T_1, orchid_core.RawExpression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>>>;
|
|
172
|
+
updatedAt: orchid_core.ColumnWithDefault<T_1, orchid_core.RawExpression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>>>;
|
|
173
|
+
};
|
|
155
174
|
name: typeof orchid_core.name;
|
|
156
175
|
raw: (sql: string, values?: false | Record<string, unknown> | undefined) => orchid_core.RawExpression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>>;
|
|
157
176
|
smallint(this: ColumnTypesBase): pqb.SmallIntColumn;
|
|
@@ -177,7 +196,7 @@ declare const createBaseTable: <CT extends ColumnTypesBase>(options?: {
|
|
|
177
196
|
timeWithTimeZone<Precision_5 extends number | undefined = undefined>(this: ColumnTypesBase, precision?: Precision_5 | undefined): pqb.TimeWithTimeZoneColumn<Precision_5>;
|
|
178
197
|
interval<Fields extends string | undefined = undefined, Precision_6 extends number | undefined = undefined>(this: ColumnTypesBase, fields?: Fields | undefined, precision?: Precision_6 | undefined): pqb.IntervalColumn<Fields, Precision_6>;
|
|
179
198
|
boolean(this: ColumnTypesBase): pqb.BooleanColumn;
|
|
180
|
-
enum<U extends string,
|
|
199
|
+
enum<U extends string, T_2 extends [U, ...U[]]>(this: ColumnTypesBase, dataType: string, type: T_2): pqb.EnumColumn<U, T_2>;
|
|
181
200
|
point(this: ColumnTypesBase): pqb.PointColumn;
|
|
182
201
|
line(this: ColumnTypesBase): pqb.LineColumn;
|
|
183
202
|
lseg(this: ColumnTypesBase): pqb.LsegColumn;
|
|
@@ -197,8 +216,8 @@ declare const createBaseTable: <CT extends ColumnTypesBase>(options?: {
|
|
|
197
216
|
xml(this: ColumnTypesBase): pqb.XMLColumn;
|
|
198
217
|
json<Type extends orchid_core.JSONTypeAny>(this: ColumnTypesBase, schemaOrFn: Type | ((j: {
|
|
199
218
|
set: <Value extends orchid_core.JSONTypeAny>(valueType: Value) => orchid_core.JSONSet<Value>;
|
|
200
|
-
tuple: <
|
|
201
|
-
union: <
|
|
219
|
+
tuple: <T_3 extends [] | orchid_core.JSONTupleItems, Rest extends orchid_core.JSONTypeAny | null = null>(items: T_3, rest?: Rest) => orchid_core.JSONTuple<T_3, Rest>;
|
|
220
|
+
union: <T_4 extends [orchid_core.JSONTypeAny, orchid_core.JSONTypeAny, ...orchid_core.JSONTypeAny[]]>(types: T_4) => orchid_core.JSONUnion<T_4>;
|
|
202
221
|
any: () => orchid_core.JSONAny;
|
|
203
222
|
bigint: () => orchid_core.JSONBigInt;
|
|
204
223
|
boolean: () => orchid_core.JSONBoolean;
|
|
@@ -213,31 +232,25 @@ declare const createBaseTable: <CT extends ColumnTypesBase>(options?: {
|
|
|
213
232
|
void: () => orchid_core.JSONVoid;
|
|
214
233
|
array: <Type_1 extends orchid_core.JSONTypeAny>(element: Type_1) => orchid_core.JSONArray<Type_1, "many">;
|
|
215
234
|
discriminatedUnion: <Discriminator extends string, DiscriminatorValue extends orchid_core.Primitive, Types extends [orchid_core.JSONDiscriminatedObject<Discriminator, DiscriminatorValue>, orchid_core.JSONDiscriminatedObject<Discriminator, DiscriminatorValue>, ...orchid_core.JSONDiscriminatedObject<Discriminator, DiscriminatorValue>[]]>(discriminator: Discriminator, options: Types) => orchid_core.JSONDiscriminatedUnion<Discriminator, DiscriminatorValue, Types[number]>;
|
|
216
|
-
enum: <U_1 extends string,
|
|
217
|
-
instanceOf: <
|
|
235
|
+
enum: <U_1 extends string, T_5 extends [U_1, ...U_1[]]>(options: T_5) => orchid_core.JSONEnum<U_1, T_5>;
|
|
236
|
+
instanceOf: <T_6 extends new (...args: any[]) => any>(cls: T_6) => orchid_core.JSONInstanceOf<T_6>;
|
|
218
237
|
intersection: <Left extends orchid_core.JSONTypeAny, Right extends orchid_core.JSONTypeAny>(left: Left, right: Right) => orchid_core.JSONIntersection<Left, Right>;
|
|
219
|
-
lazy: <
|
|
220
|
-
literal: <
|
|
238
|
+
lazy: <T_7 extends orchid_core.JSONTypeAny>(fn: () => T_7) => orchid_core.JSONLazy<T_7>;
|
|
239
|
+
literal: <T_8 extends orchid_core.Primitive>(value: T_8) => orchid_core.JSONLiteral<T_8>;
|
|
221
240
|
map: <Key extends orchid_core.JSONTypeAny, Value_1 extends orchid_core.JSONTypeAny>(keyType: Key, valueType: Value_1) => orchid_core.JSONMap<Key, Value_1>;
|
|
222
|
-
nativeEnum: <
|
|
223
|
-
nullable: <
|
|
224
|
-
nullish: <
|
|
225
|
-
object: <
|
|
241
|
+
nativeEnum: <T_9 extends orchid_core.EnumLike>(givenEnum: T_9) => orchid_core.JSONNativeEnum<T_9>;
|
|
242
|
+
nullable: <T_10 extends orchid_core.JSONTypeAny>(type: T_10) => orchid_core.JSONNullable<T_10>;
|
|
243
|
+
nullish: <T_11 extends orchid_core.JSONTypeAny>(type: T_11) => orchid_core.JSONNullish<T_11>;
|
|
244
|
+
object: <T_12 extends orchid_core.JSONObjectShape, UnknownKeys extends orchid_core.UnknownKeysParam = "strip", Catchall extends orchid_core.JSONTypeAny = orchid_core.JSONTypeAny>(shape: T_12) => orchid_core.JSONObject<T_12, UnknownKeys, Catchall, orchid_core.JSONTypeAny extends Catchall ? orchid_core.addQuestionMarks<{ [k_1 in keyof T_12]: T_12[k_1]["type"]; }> extends infer T_13 extends object ? { [k in keyof T_13]: orchid_core.addQuestionMarks<{ [k_1 in keyof T_12]: T_12[k_1]["type"]; }>[k]; } : never : (orchid_core.addQuestionMarks<{ [k_1 in keyof T_12]: T_12[k_1]["type"]; }> extends infer T_13 extends object ? { [k in keyof T_13]: orchid_core.addQuestionMarks<{ [k_1 in keyof T_12]: T_12[k_1]["type"]; }>[k]; } : never) & {
|
|
226
245
|
[k: string]: Catchall["type"];
|
|
227
|
-
} extends infer
|
|
246
|
+
} extends infer T_14 extends object ? { [k_2 in keyof T_14]: ((orchid_core.addQuestionMarks<{ [k_1 in keyof T_12]: T_12[k_1]["type"]; }> extends infer T_13 extends object ? { [k in keyof T_13]: orchid_core.addQuestionMarks<{ [k_1 in keyof T_12]: T_12[k_1]["type"]; }>[k]; } : never) & {
|
|
228
247
|
[k: string]: Catchall["type"];
|
|
229
248
|
})[k_2]; } : never>;
|
|
230
|
-
optional: <
|
|
249
|
+
optional: <T_15 extends orchid_core.JSONTypeAny>(type: T_15) => orchid_core.JSONOptional<T_15>;
|
|
231
250
|
record: typeof orchid_core.record;
|
|
232
251
|
}) => Type)): pqb.JSONColumn<Type>;
|
|
233
252
|
jsonText(this: ColumnTypesBase): pqb.JSONTextColumn;
|
|
234
253
|
array<Item extends pqb.ColumnType<unknown, orchid_core.BaseOperators, unknown>>(this: ColumnTypesBase, item: Item): pqb.ArrayColumn<Item>;
|
|
235
|
-
timestamps: <T_14 extends pqb.ColumnType<unknown, orchid_core.BaseOperators, unknown>>(this: {
|
|
236
|
-
timestamp(): T_14;
|
|
237
|
-
}) => {
|
|
238
|
-
createdAt: orchid_core.ColumnWithDefault<T_14, orchid_core.RawExpression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>>>;
|
|
239
|
-
updatedAt: orchid_core.ColumnWithDefault<T_14, orchid_core.RawExpression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>>>;
|
|
240
|
-
};
|
|
241
254
|
primaryKey(columns: string[], options?: {
|
|
242
255
|
name?: string | undefined;
|
|
243
256
|
} | undefined): {};
|
|
@@ -249,7 +262,25 @@ declare const createBaseTable: <CT extends ColumnTypesBase>(options?: {
|
|
|
249
262
|
};
|
|
250
263
|
} : CT;
|
|
251
264
|
noPrimaryKey?: boolean | undefined;
|
|
252
|
-
setColumns: <
|
|
265
|
+
setColumns: <T_16 extends ColumnsShape>(fn: (t: ColumnTypesBase extends CT ? {
|
|
266
|
+
timestamps: <T extends orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>>(this: {
|
|
267
|
+
name(name: string): {
|
|
268
|
+
timestamp(): T;
|
|
269
|
+
};
|
|
270
|
+
timestamp(): T;
|
|
271
|
+
}) => {
|
|
272
|
+
createdAt: orchid_core.ColumnWithDefault<T, orchid_core.RawExpression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>>>;
|
|
273
|
+
updatedAt: orchid_core.ColumnWithDefault<T, orchid_core.RawExpression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>>>;
|
|
274
|
+
};
|
|
275
|
+
timestampsSnakeCase: <T_1 extends orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>>(this: {
|
|
276
|
+
name(name: string): {
|
|
277
|
+
timestamp(): T_1;
|
|
278
|
+
};
|
|
279
|
+
timestamp(): T_1;
|
|
280
|
+
}) => {
|
|
281
|
+
createdAt: orchid_core.ColumnWithDefault<T_1, orchid_core.RawExpression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>>>;
|
|
282
|
+
updatedAt: orchid_core.ColumnWithDefault<T_1, orchid_core.RawExpression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>>>;
|
|
283
|
+
};
|
|
253
284
|
name: typeof orchid_core.name;
|
|
254
285
|
raw: (sql: string, values?: false | Record<string, unknown> | undefined) => orchid_core.RawExpression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>>;
|
|
255
286
|
smallint(this: ColumnTypesBase): pqb.SmallIntColumn;
|
|
@@ -275,7 +306,7 @@ declare const createBaseTable: <CT extends ColumnTypesBase>(options?: {
|
|
|
275
306
|
timeWithTimeZone<Precision_5 extends number | undefined = undefined>(this: ColumnTypesBase, precision?: Precision_5 | undefined): pqb.TimeWithTimeZoneColumn<Precision_5>;
|
|
276
307
|
interval<Fields extends string | undefined = undefined, Precision_6 extends number | undefined = undefined>(this: ColumnTypesBase, fields?: Fields | undefined, precision?: Precision_6 | undefined): pqb.IntervalColumn<Fields, Precision_6>;
|
|
277
308
|
boolean(this: ColumnTypesBase): pqb.BooleanColumn;
|
|
278
|
-
enum<U extends string,
|
|
309
|
+
enum<U extends string, T_2 extends [U, ...U[]]>(this: ColumnTypesBase, dataType: string, type: T_2): pqb.EnumColumn<U, T_2>;
|
|
279
310
|
point(this: ColumnTypesBase): pqb.PointColumn;
|
|
280
311
|
line(this: ColumnTypesBase): pqb.LineColumn;
|
|
281
312
|
lseg(this: ColumnTypesBase): pqb.LsegColumn;
|
|
@@ -295,8 +326,8 @@ declare const createBaseTable: <CT extends ColumnTypesBase>(options?: {
|
|
|
295
326
|
xml(this: ColumnTypesBase): pqb.XMLColumn;
|
|
296
327
|
json<Type extends orchid_core.JSONTypeAny>(this: ColumnTypesBase, schemaOrFn: Type | ((j: {
|
|
297
328
|
set: <Value extends orchid_core.JSONTypeAny>(valueType: Value) => orchid_core.JSONSet<Value>;
|
|
298
|
-
tuple: <
|
|
299
|
-
union: <
|
|
329
|
+
tuple: <T_3 extends [] | orchid_core.JSONTupleItems, Rest extends orchid_core.JSONTypeAny | null = null>(items: T_3, rest?: Rest) => orchid_core.JSONTuple<T_3, Rest>;
|
|
330
|
+
union: <T_4 extends [orchid_core.JSONTypeAny, orchid_core.JSONTypeAny, ...orchid_core.JSONTypeAny[]]>(types: T_4) => orchid_core.JSONUnion<T_4>;
|
|
300
331
|
any: () => orchid_core.JSONAny;
|
|
301
332
|
bigint: () => orchid_core.JSONBigInt;
|
|
302
333
|
boolean: () => orchid_core.JSONBoolean;
|
|
@@ -311,31 +342,25 @@ declare const createBaseTable: <CT extends ColumnTypesBase>(options?: {
|
|
|
311
342
|
void: () => orchid_core.JSONVoid;
|
|
312
343
|
array: <Type_1 extends orchid_core.JSONTypeAny>(element: Type_1) => orchid_core.JSONArray<Type_1, "many">;
|
|
313
344
|
discriminatedUnion: <Discriminator extends string, DiscriminatorValue extends orchid_core.Primitive, Types extends [orchid_core.JSONDiscriminatedObject<Discriminator, DiscriminatorValue>, orchid_core.JSONDiscriminatedObject<Discriminator, DiscriminatorValue>, ...orchid_core.JSONDiscriminatedObject<Discriminator, DiscriminatorValue>[]]>(discriminator: Discriminator, options: Types) => orchid_core.JSONDiscriminatedUnion<Discriminator, DiscriminatorValue, Types[number]>;
|
|
314
|
-
enum: <U_1 extends string,
|
|
315
|
-
instanceOf: <
|
|
345
|
+
enum: <U_1 extends string, T_5 extends [U_1, ...U_1[]]>(options: T_5) => orchid_core.JSONEnum<U_1, T_5>;
|
|
346
|
+
instanceOf: <T_6 extends new (...args: any[]) => any>(cls: T_6) => orchid_core.JSONInstanceOf<T_6>;
|
|
316
347
|
intersection: <Left extends orchid_core.JSONTypeAny, Right extends orchid_core.JSONTypeAny>(left: Left, right: Right) => orchid_core.JSONIntersection<Left, Right>;
|
|
317
|
-
lazy: <
|
|
318
|
-
literal: <
|
|
348
|
+
lazy: <T_7 extends orchid_core.JSONTypeAny>(fn: () => T_7) => orchid_core.JSONLazy<T_7>;
|
|
349
|
+
literal: <T_8 extends orchid_core.Primitive>(value: T_8) => orchid_core.JSONLiteral<T_8>;
|
|
319
350
|
map: <Key extends orchid_core.JSONTypeAny, Value_1 extends orchid_core.JSONTypeAny>(keyType: Key, valueType: Value_1) => orchid_core.JSONMap<Key, Value_1>;
|
|
320
|
-
nativeEnum: <
|
|
321
|
-
nullable: <
|
|
322
|
-
nullish: <
|
|
323
|
-
object: <
|
|
351
|
+
nativeEnum: <T_9 extends orchid_core.EnumLike>(givenEnum: T_9) => orchid_core.JSONNativeEnum<T_9>;
|
|
352
|
+
nullable: <T_10 extends orchid_core.JSONTypeAny>(type: T_10) => orchid_core.JSONNullable<T_10>;
|
|
353
|
+
nullish: <T_11 extends orchid_core.JSONTypeAny>(type: T_11) => orchid_core.JSONNullish<T_11>;
|
|
354
|
+
object: <T_12 extends orchid_core.JSONObjectShape, UnknownKeys extends orchid_core.UnknownKeysParam = "strip", Catchall extends orchid_core.JSONTypeAny = orchid_core.JSONTypeAny>(shape: T_12) => orchid_core.JSONObject<T_12, UnknownKeys, Catchall, orchid_core.JSONTypeAny extends Catchall ? orchid_core.addQuestionMarks<{ [k_1 in keyof T_12]: T_12[k_1]["type"]; }> extends infer T_13 extends object ? { [k in keyof T_13]: orchid_core.addQuestionMarks<{ [k_1 in keyof T_12]: T_12[k_1]["type"]; }>[k]; } : never : (orchid_core.addQuestionMarks<{ [k_1 in keyof T_12]: T_12[k_1]["type"]; }> extends infer T_13 extends object ? { [k in keyof T_13]: orchid_core.addQuestionMarks<{ [k_1 in keyof T_12]: T_12[k_1]["type"]; }>[k]; } : never) & {
|
|
324
355
|
[k: string]: Catchall["type"];
|
|
325
|
-
} extends infer
|
|
356
|
+
} extends infer T_14 extends object ? { [k_2 in keyof T_14]: ((orchid_core.addQuestionMarks<{ [k_1 in keyof T_12]: T_12[k_1]["type"]; }> extends infer T_13 extends object ? { [k in keyof T_13]: orchid_core.addQuestionMarks<{ [k_1 in keyof T_12]: T_12[k_1]["type"]; }>[k]; } : never) & {
|
|
326
357
|
[k: string]: Catchall["type"];
|
|
327
358
|
})[k_2]; } : never>;
|
|
328
|
-
optional: <
|
|
359
|
+
optional: <T_15 extends orchid_core.JSONTypeAny>(type: T_15) => orchid_core.JSONOptional<T_15>;
|
|
329
360
|
record: typeof orchid_core.record;
|
|
330
361
|
}) => Type)): pqb.JSONColumn<Type>;
|
|
331
362
|
jsonText(this: ColumnTypesBase): pqb.JSONTextColumn;
|
|
332
363
|
array<Item extends pqb.ColumnType<unknown, orchid_core.BaseOperators, unknown>>(this: ColumnTypesBase, item: Item): pqb.ArrayColumn<Item>;
|
|
333
|
-
timestamps: <T_14 extends pqb.ColumnType<unknown, orchid_core.BaseOperators, unknown>>(this: {
|
|
334
|
-
timestamp(): T_14;
|
|
335
|
-
}) => {
|
|
336
|
-
createdAt: orchid_core.ColumnWithDefault<T_14, orchid_core.RawExpression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>>>;
|
|
337
|
-
updatedAt: orchid_core.ColumnWithDefault<T_14, orchid_core.RawExpression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>>>;
|
|
338
|
-
};
|
|
339
364
|
primaryKey(columns: string[], options?: {
|
|
340
365
|
name?: string | undefined;
|
|
341
366
|
} | undefined): {};
|
|
@@ -345,9 +370,9 @@ declare const createBaseTable: <CT extends ColumnTypesBase>(options?: {
|
|
|
345
370
|
<Table_1 extends pqb.ForeignKeyTableWithColumns, Columns extends [Exclude<keyof InstanceType<Table_1>["columns"]["shape"], number | symbol>, ...Exclude<keyof InstanceType<Table_1>["columns"]["shape"], number | symbol>[]]>(columns: string[], fn: () => Table_1, foreignColumns: Columns, options?: pqb.ForeignKeyOptions | undefined): {};
|
|
346
371
|
<Table_2 extends string, Columns_1 extends [string, ...string[]]>(columns: string[], table: Table_2, foreignColumns: Columns_1, options?: pqb.ForeignKeyOptions | undefined): {};
|
|
347
372
|
};
|
|
348
|
-
} : CT) =>
|
|
349
|
-
shape:
|
|
350
|
-
type: ColumnShapeOutput<
|
|
373
|
+
} : CT) => T_16) => {
|
|
374
|
+
shape: T_16;
|
|
375
|
+
type: ColumnShapeOutput<T_16>;
|
|
351
376
|
};
|
|
352
377
|
belongsTo<Self extends any, Related extends TableClass<Table>, Scope extends Query, Options extends {
|
|
353
378
|
primaryKey: keyof InstanceType<Related>["columns"]["shape"];
|
|
@@ -433,6 +458,7 @@ declare type AppCodeUpdaterConfig = {
|
|
|
433
458
|
baseTablePath: string;
|
|
434
459
|
baseTableName: string;
|
|
435
460
|
mainFilePath: string;
|
|
461
|
+
logger?: QueryLogOptions['logger'];
|
|
436
462
|
};
|
|
437
463
|
declare const appCodeUpdater: ({ tablePath, baseTablePath, baseTableName, mainFilePath, }: SetOptional<AppCodeUpdaterConfig, 'baseTableName'>) => AppCodeUpdater;
|
|
438
464
|
|
package/dist/index.js
CHANGED
|
@@ -34,7 +34,10 @@ var fs__default = /*#__PURE__*/_interopDefaultLegacy(fs);
|
|
|
34
34
|
var typescript__default = /*#__PURE__*/_interopDefaultLegacy(typescript);
|
|
35
35
|
|
|
36
36
|
const createBaseTable = (options = { columnTypes: pqb.columnTypes }) => {
|
|
37
|
-
const ct = typeof options.columnTypes === "function" ? options.columnTypes(pqb.columnTypes) : options.columnTypes;
|
|
37
|
+
const ct = typeof options.columnTypes === "function" ? options.columnTypes(pqb.columnTypes) : options.columnTypes || pqb.columnTypes;
|
|
38
|
+
if (options.snakeCase) {
|
|
39
|
+
ct[orchidCore.snakeCaseKey] = true;
|
|
40
|
+
}
|
|
38
41
|
return create(ct);
|
|
39
42
|
};
|
|
40
43
|
const create = (columnTypes2) => {
|
|
@@ -1235,8 +1238,11 @@ const makeRelationQuery = (table, definedAs, relationName, data) => {
|
|
|
1235
1238
|
toTable._take();
|
|
1236
1239
|
}
|
|
1237
1240
|
const query = this.isSubQuery ? toTable : toTable._whereExists(
|
|
1238
|
-
this
|
|
1239
|
-
(q) => data.reverseJoin(
|
|
1241
|
+
this,
|
|
1242
|
+
(q) => data.reverseJoin(
|
|
1243
|
+
q,
|
|
1244
|
+
toTable
|
|
1245
|
+
)
|
|
1240
1246
|
);
|
|
1241
1247
|
query.query[pqb.relationQueryKey] = {
|
|
1242
1248
|
relationName,
|
|
@@ -1624,7 +1630,7 @@ const optionsToString = (options) => {
|
|
|
1624
1630
|
}
|
|
1625
1631
|
return lines.join("\n ");
|
|
1626
1632
|
};
|
|
1627
|
-
const updateMainFile = async (filePath, tablePath, ast, options) => {
|
|
1633
|
+
const updateMainFile = async (filePath, tablePath, ast, options, logger) => {
|
|
1628
1634
|
const result = await fs__default["default"].readFile(filePath, "utf-8").then(
|
|
1629
1635
|
(content2) => ({ error: void 0, content: content2 }),
|
|
1630
1636
|
(error) => {
|
|
@@ -1671,6 +1677,9 @@ const updateMainFile = async (filePath, tablePath, ast, options) => {
|
|
|
1671
1677
|
await fs__default["default"].mkdir(path__default["default"].dirname(filePath), { recursive: true });
|
|
1672
1678
|
}
|
|
1673
1679
|
await fs__default["default"].writeFile(filePath, write);
|
|
1680
|
+
logger == null ? void 0 : logger.log(
|
|
1681
|
+
`${result.content ? "Updated" : "Created"} ${orchidCore.pathToLog(filePath)}`
|
|
1682
|
+
);
|
|
1674
1683
|
}
|
|
1675
1684
|
};
|
|
1676
1685
|
const createTable$1 = ({ filePath, tablePath, statements, object, content, spaces }, ast) => {
|
|
@@ -1766,9 +1775,11 @@ var __objRest$2 = (source, exclude) => {
|
|
|
1766
1775
|
};
|
|
1767
1776
|
const createTable = async (_a) => {
|
|
1768
1777
|
var _b = _a, {
|
|
1769
|
-
ast
|
|
1778
|
+
ast,
|
|
1779
|
+
logger
|
|
1770
1780
|
} = _b, params = __objRest$2(_b, [
|
|
1771
|
-
"ast"
|
|
1781
|
+
"ast",
|
|
1782
|
+
"logger"
|
|
1772
1783
|
]);
|
|
1773
1784
|
const tablePath = params.tablePath(ast.name);
|
|
1774
1785
|
const baseTablePath = getImportPath(tablePath, params.baseTablePath);
|
|
@@ -1795,6 +1806,7 @@ const createTable = async (_a) => {
|
|
|
1795
1806
|
await fs__default["default"].mkdir(path__default["default"].dirname(tablePath), { recursive: true });
|
|
1796
1807
|
try {
|
|
1797
1808
|
await fs__default["default"].writeFile(tablePath, pqb.codeToString(code, "", " "), { flag: "wx" });
|
|
1809
|
+
logger == null ? void 0 : logger.log(`Created ${orchidCore.pathToLog(tablePath)}`);
|
|
1798
1810
|
} catch (err) {
|
|
1799
1811
|
if (err.code !== "EEXIST") {
|
|
1800
1812
|
throw err;
|
|
@@ -1819,9 +1831,11 @@ var __objRest$1 = (source, exclude) => {
|
|
|
1819
1831
|
};
|
|
1820
1832
|
const changeTable = async (_a) => {
|
|
1821
1833
|
var _b = _a, {
|
|
1822
|
-
ast
|
|
1834
|
+
ast,
|
|
1835
|
+
logger
|
|
1823
1836
|
} = _b, params = __objRest$1(_b, [
|
|
1824
|
-
"ast"
|
|
1837
|
+
"ast",
|
|
1838
|
+
"logger"
|
|
1825
1839
|
]);
|
|
1826
1840
|
const tablePath = params.tablePath(ast.name);
|
|
1827
1841
|
const content = await fs__default["default"].readFile(tablePath, "utf-8").catch(() => void 0);
|
|
@@ -1839,6 +1853,7 @@ const changeTable = async (_a) => {
|
|
|
1839
1853
|
addTableData(context);
|
|
1840
1854
|
}
|
|
1841
1855
|
await fs__default["default"].writeFile(tablePath, changes.apply());
|
|
1856
|
+
logger == null ? void 0 : logger.log(`Updated ${orchidCore.pathToLog(tablePath)}`);
|
|
1842
1857
|
};
|
|
1843
1858
|
function* iterateColumnsShapes(statements, className) {
|
|
1844
1859
|
var _a, _b;
|
|
@@ -2009,7 +2024,7 @@ const changeColumn = ({ changes, t, spaces }, changeItem, prop) => {
|
|
|
2009
2024
|
continue;
|
|
2010
2025
|
let remove = true;
|
|
2011
2026
|
if (!replaced[key]) {
|
|
2012
|
-
const code = getColumnMethodArgs(to, key);
|
|
2027
|
+
const code = getColumnMethodArgs(t, to, key);
|
|
2013
2028
|
if (code) {
|
|
2014
2029
|
changes.replace(
|
|
2015
2030
|
item.expression.expression.end,
|
|
@@ -2029,7 +2044,7 @@ const changeColumn = ({ changes, t, spaces }, changeItem, prop) => {
|
|
|
2029
2044
|
for (const key in propsToChange) {
|
|
2030
2045
|
if (changedProps[key])
|
|
2031
2046
|
continue;
|
|
2032
|
-
const code = getColumnMethodArgs(to, key);
|
|
2047
|
+
const code = getColumnMethodArgs(t, to, key);
|
|
2033
2048
|
if (code) {
|
|
2034
2049
|
append += pqb.codeToString(code, spaces + " ", " ").trim();
|
|
2035
2050
|
}
|
|
@@ -2082,7 +2097,7 @@ ${spaces}`);
|
|
|
2082
2097
|
${spaces}`);
|
|
2083
2098
|
}
|
|
2084
2099
|
};
|
|
2085
|
-
const getColumnMethodArgs = (to, key) => {
|
|
2100
|
+
const getColumnMethodArgs = (t, to, key) => {
|
|
2086
2101
|
const value = to[key];
|
|
2087
2102
|
if (!value)
|
|
2088
2103
|
return;
|
|
@@ -2096,7 +2111,7 @@ const getColumnMethodArgs = (to, key) => {
|
|
|
2096
2111
|
if (key === "collate" || key === "compression") {
|
|
2097
2112
|
orchidCore.addCode(code, orchidCore.singleQuote(value));
|
|
2098
2113
|
} else if (key === "default") {
|
|
2099
|
-
orchidCore.addCode(code, pqb.columnDefaultArgumentToCode(value));
|
|
2114
|
+
orchidCore.addCode(code, pqb.columnDefaultArgumentToCode(t, value));
|
|
2100
2115
|
} else if (key !== "nullable" && key !== "primaryKey") {
|
|
2101
2116
|
return;
|
|
2102
2117
|
}
|
|
@@ -2229,9 +2244,11 @@ var __objRest = (source, exclude) => {
|
|
|
2229
2244
|
};
|
|
2230
2245
|
const renameTable = async (_a) => {
|
|
2231
2246
|
var _b = _a, {
|
|
2232
|
-
ast
|
|
2247
|
+
ast,
|
|
2248
|
+
logger
|
|
2233
2249
|
} = _b, params = __objRest(_b, [
|
|
2234
|
-
"ast"
|
|
2250
|
+
"ast",
|
|
2251
|
+
"logger"
|
|
2235
2252
|
]);
|
|
2236
2253
|
var _a2;
|
|
2237
2254
|
const tablePath = params.tablePath(ast.from);
|
|
@@ -2276,6 +2293,7 @@ const renameTable = async (_a) => {
|
|
|
2276
2293
|
}
|
|
2277
2294
|
}
|
|
2278
2295
|
await fs__default["default"].writeFile(tablePath, changes.apply());
|
|
2296
|
+
logger == null ? void 0 : logger.log(`Updated ${orchidCore.pathToLog(tablePath)}`);
|
|
2279
2297
|
};
|
|
2280
2298
|
|
|
2281
2299
|
var __defProp$1 = Object.defineProperty;
|
|
@@ -2310,7 +2328,8 @@ const updateTableFile = async (params) => {
|
|
|
2310
2328
|
|
|
2311
2329
|
const createBaseTableFile = async ({
|
|
2312
2330
|
baseTableName,
|
|
2313
|
-
baseTablePath
|
|
2331
|
+
baseTablePath,
|
|
2332
|
+
logger
|
|
2314
2333
|
}) => {
|
|
2315
2334
|
await fs__default["default"].mkdir(path__default["default"].dirname(baseTablePath), { recursive: true });
|
|
2316
2335
|
await fs__default["default"].writeFile(
|
|
@@ -2322,7 +2341,9 @@ export const ${baseTableName} = createBaseTable();
|
|
|
2322
2341
|
{
|
|
2323
2342
|
flag: "wx"
|
|
2324
2343
|
}
|
|
2325
|
-
).
|
|
2344
|
+
).then(() => {
|
|
2345
|
+
logger == null ? void 0 : logger.log(`Created ${orchidCore.pathToLog(baseTablePath)}`);
|
|
2346
|
+
}).catch((err) => {
|
|
2326
2347
|
if (err.code === "EEXIST")
|
|
2327
2348
|
return;
|
|
2328
2349
|
throw err;
|
|
@@ -2356,7 +2377,7 @@ const appCodeUpdater = ({
|
|
|
2356
2377
|
baseTableName,
|
|
2357
2378
|
mainFilePath
|
|
2358
2379
|
}) => {
|
|
2359
|
-
return async ({ ast, options, basePath, cache: cacheObject }) => {
|
|
2380
|
+
return async ({ ast, options, basePath, cache: cacheObject, logger }) => {
|
|
2360
2381
|
const params = {
|
|
2361
2382
|
tablePath(name) {
|
|
2362
2383
|
const file = tablePath(name);
|
|
@@ -2364,10 +2385,17 @@ const appCodeUpdater = ({
|
|
|
2364
2385
|
},
|
|
2365
2386
|
baseTablePath: resolvePath(basePath, baseTablePath),
|
|
2366
2387
|
baseTableName: baseTableName || "BaseTable",
|
|
2367
|
-
mainFilePath: resolvePath(basePath, mainFilePath)
|
|
2388
|
+
mainFilePath: resolvePath(basePath, mainFilePath),
|
|
2389
|
+
logger
|
|
2368
2390
|
};
|
|
2369
2391
|
const promises = [
|
|
2370
|
-
updateMainFile(
|
|
2392
|
+
updateMainFile(
|
|
2393
|
+
params.mainFilePath,
|
|
2394
|
+
params.tablePath,
|
|
2395
|
+
ast,
|
|
2396
|
+
options,
|
|
2397
|
+
logger
|
|
2398
|
+
),
|
|
2371
2399
|
updateTableFile(__spreadProps(__spreadValues({}, params), { ast }))
|
|
2372
2400
|
];
|
|
2373
2401
|
const cache = cacheObject;
|