orchid-orm 1.5.9 → 1.5.11
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/CHANGELOG.md +16 -0
- package/dist/index.d.ts +205 -7
- package/dist/index.js +20 -17
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +18 -18
- package/dist/index.mjs.map +1 -1
- package/package.json +4 -4
- package/src/codegen/createBaseTableFile.test.ts +1 -6
- package/src/codegen/createBaseTableFile.ts +1 -6
- package/src/index.ts +1 -0
- package/src/orm.test.ts +3 -9
- package/src/repo.test.ts +2 -2
- package/src/table.test.ts +6 -6
- package/src/table.ts +18 -5
- package/src/test-utils/test-tables.ts +5 -6
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
# orchid-orm
|
|
2
2
|
|
|
3
|
+
## 1.5.11
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Override column types via callback
|
|
8
|
+
- Updated dependencies
|
|
9
|
+
- pqb@0.9.9
|
|
10
|
+
|
|
11
|
+
## 1.5.10
|
|
12
|
+
|
|
13
|
+
### Patch Changes
|
|
14
|
+
|
|
15
|
+
- ee1961e: Make columnTypes optional in configs
|
|
16
|
+
- Updated dependencies [ee1961e]
|
|
17
|
+
- pqb@0.9.8
|
|
18
|
+
|
|
3
19
|
## 1.5.9
|
|
4
20
|
|
|
5
21
|
### Patch Changes
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import
|
|
1
|
+
import * as pqb from 'pqb';
|
|
2
|
+
import { BelongsToRelation, HasManyRelation, HasOneRelation, Db, Adapter, AdapterOptions, QueryLogOptions, NoPrimaryKeyOption, HasAndBelongsToManyRelation, Query, defaultsKey, EmptyObject, BaseRelation, RelationQuery, SetQueryReturnsOne, SetQueryReturnsOneOptional, SetQueryReturnsAll, ColumnTypesBase, DefaultColumnTypes, ColumnsShape, ColumnShapeOutput, WhereResult, MergeQuery, SetQueryReturns, QueryReturnType } from 'pqb';
|
|
3
|
+
export { columnTypes } from 'pqb';
|
|
2
4
|
import { AppCodeUpdater } from 'rake-db';
|
|
3
5
|
|
|
4
6
|
interface BelongsTo extends RelationThunkBase {
|
|
@@ -139,18 +141,214 @@ declare type Table = {
|
|
|
139
141
|
columnTypes: ColumnTypesBase;
|
|
140
142
|
noPrimaryKey?: boolean;
|
|
141
143
|
};
|
|
142
|
-
declare const createBaseTable: <CT extends ColumnTypesBase>(options
|
|
143
|
-
columnTypes: CT;
|
|
144
|
+
declare const createBaseTable: <CT extends ColumnTypesBase>(options?: {
|
|
145
|
+
columnTypes?: CT | ((t: DefaultColumnTypes) => CT) | undefined;
|
|
144
146
|
}) => {
|
|
145
147
|
new (): {
|
|
146
148
|
table: string;
|
|
147
149
|
columns: TableConfig;
|
|
148
150
|
schema?: string | undefined;
|
|
149
|
-
columnTypes: CT
|
|
151
|
+
columnTypes: ColumnTypesBase extends CT ? {
|
|
152
|
+
smallint: () => pqb.SmallIntColumn;
|
|
153
|
+
integer: () => pqb.IntegerColumn;
|
|
154
|
+
bigint: () => pqb.BigIntColumn;
|
|
155
|
+
numeric: <Precision extends number | undefined = undefined, Scale extends number | undefined = undefined>(precision?: Precision | undefined, scale?: Scale | undefined) => pqb.DecimalColumn<Precision, Scale>;
|
|
156
|
+
decimal: <Precision_1 extends number | undefined = undefined, Scale_1 extends number | undefined = undefined>(precision?: Precision_1 | undefined, scale?: Scale_1 | undefined) => pqb.DecimalColumn<Precision_1, Scale_1>;
|
|
157
|
+
real: () => pqb.RealColumn;
|
|
158
|
+
doublePrecision: () => pqb.DoublePrecisionColumn;
|
|
159
|
+
smallSerial: () => pqb.SmallSerialColumn;
|
|
160
|
+
serial: () => pqb.SerialColumn;
|
|
161
|
+
bigSerial: () => pqb.BigSerialColumn;
|
|
162
|
+
money: () => pqb.MoneyColumn;
|
|
163
|
+
varchar: <Limit extends number | undefined = undefined>(limit?: Limit | undefined) => pqb.VarCharColumn<Limit>;
|
|
164
|
+
char: <Limit_1 extends number | undefined = undefined>(limit?: Limit_1 | undefined) => pqb.CharColumn<Limit_1>;
|
|
165
|
+
text: (min: number, max: number) => pqb.TextColumn;
|
|
166
|
+
string: (min: number, max: number) => pqb.TextColumn;
|
|
167
|
+
bytea: () => pqb.ByteaColumn;
|
|
168
|
+
date: () => pqb.DateColumn;
|
|
169
|
+
timestamp: <Precision_2 extends number | undefined = undefined>(precision?: Precision_2 | undefined) => pqb.TimestampColumn<Precision_2>;
|
|
170
|
+
timestampWithTimeZone: <Precision_3 extends number | undefined = undefined>(precision?: Precision_3 | undefined) => pqb.TimestampWithTimeZoneColumn<Precision_3>;
|
|
171
|
+
time: <Precision_4 extends number | undefined = undefined>(precision?: Precision_4 | undefined) => pqb.TimeColumn<Precision_4>;
|
|
172
|
+
timeWithTimeZone: <Precision_5 extends number | undefined = undefined>(precision?: Precision_5 | undefined) => pqb.TimeWithTimeZoneColumn<Precision_5>;
|
|
173
|
+
interval: <Fields extends string | undefined = undefined, Precision_6 extends number | undefined = undefined>(fields?: Fields | undefined, precision?: Precision_6 | undefined) => pqb.IntervalColumn<Fields, Precision_6>;
|
|
174
|
+
boolean: () => pqb.BooleanColumn;
|
|
175
|
+
enum: <U extends string, T extends [U, ...U[]]>(dataType: string, type: T) => pqb.EnumColumn<U, T>;
|
|
176
|
+
point: () => pqb.PointColumn;
|
|
177
|
+
line: () => pqb.LineColumn;
|
|
178
|
+
lseg: () => pqb.LsegColumn;
|
|
179
|
+
box: () => pqb.BoxColumn;
|
|
180
|
+
path: () => pqb.PathColumn;
|
|
181
|
+
polygon: () => pqb.PolygonColumn;
|
|
182
|
+
circle: () => pqb.CircleColumn;
|
|
183
|
+
cidr: () => pqb.CidrColumn;
|
|
184
|
+
inet: () => pqb.InetColumn;
|
|
185
|
+
macaddr: () => pqb.MacAddrColumn;
|
|
186
|
+
macaddr8: () => pqb.MacAddr8Column;
|
|
187
|
+
bit: <Length extends number>(length: Length) => pqb.BitColumn<Length>;
|
|
188
|
+
bitVarying: <Length_1 extends number | undefined = undefined>(length?: Length_1 | undefined) => pqb.BitVaryingColumn<Length_1>;
|
|
189
|
+
tsvector: () => pqb.TsVectorColumn;
|
|
190
|
+
tsquery: () => pqb.TsQueryColumn;
|
|
191
|
+
uuid: () => pqb.UUIDColumn;
|
|
192
|
+
xml: () => pqb.XMLColumn;
|
|
193
|
+
json: <Type extends pqb.JSONTypeAny>(schemaOrFn: Type | ((j: {
|
|
194
|
+
set: <Value extends pqb.JSONTypeAny>(valueType: Value) => pqb.JSONSet<Value>;
|
|
195
|
+
tuple: <T_1 extends pqb.JSONTupleItems | [], Rest extends pqb.JSONTypeAny | null = null>(items: T_1, rest?: Rest) => pqb.JSONTuple<T_1, Rest>;
|
|
196
|
+
union: <T_2 extends [pqb.JSONTypeAny, pqb.JSONTypeAny, ...pqb.JSONTypeAny[]]>(types: T_2) => pqb.JSONUnion<T_2>;
|
|
197
|
+
any: () => pqb.JSONAny;
|
|
198
|
+
bigint: () => pqb.JSONBigInt;
|
|
199
|
+
boolean: () => pqb.JSONBoolean;
|
|
200
|
+
date: () => pqb.JSONDate;
|
|
201
|
+
nan: () => pqb.JSONNaN;
|
|
202
|
+
never: () => pqb.JSONNever;
|
|
203
|
+
null: () => pqb.JSONNull;
|
|
204
|
+
number: () => pqb.JSONNumber;
|
|
205
|
+
string: () => pqb.JSONString;
|
|
206
|
+
undefined: () => pqb.JSONUndefined;
|
|
207
|
+
unknown: () => pqb.JSONUnknown;
|
|
208
|
+
void: () => pqb.JSONVoid;
|
|
209
|
+
array: <Type_1 extends pqb.JSONTypeAny>(element: Type_1) => pqb.JSONArray<Type_1, "many">;
|
|
210
|
+
discriminatedUnion: <Discriminator extends string, DiscriminatorValue extends pqb.Primitive, Types extends [pqb.JSONDiscriminatedObject<Discriminator, DiscriminatorValue>, pqb.JSONDiscriminatedObject<Discriminator, DiscriminatorValue>, ...pqb.JSONDiscriminatedObject<Discriminator, DiscriminatorValue>[]]>(discriminator: Discriminator, options: Types) => pqb.JSONDiscriminatedUnion<Discriminator, DiscriminatorValue, Types[number]>;
|
|
211
|
+
enum: <U_1 extends string, T_3 extends [U_1, ...U_1[]]>(options: T_3) => pqb.JSONEnum<U_1, T_3>;
|
|
212
|
+
instanceOf: <T_4 extends new (...args: any[]) => any>(cls: T_4) => pqb.JSONInstanceOf<T_4>;
|
|
213
|
+
intersection: <Left extends pqb.JSONTypeAny, Right extends pqb.JSONTypeAny>(left: Left, right: Right) => pqb.JSONIntersection<Left, Right>;
|
|
214
|
+
lazy: <T_5 extends pqb.JSONTypeAny>(fn: () => T_5) => pqb.JSONLazy<T_5>;
|
|
215
|
+
literal: <T_6 extends pqb.Primitive>(value: T_6) => pqb.JSONLiteral<T_6>;
|
|
216
|
+
map: <Key extends pqb.JSONTypeAny, Value_1 extends pqb.JSONTypeAny>(keyType: Key, valueType: Value_1) => pqb.JSONMap<Key, Value_1>;
|
|
217
|
+
nativeEnum: <T_7 extends pqb.EnumLike>(givenEnum: T_7) => pqb.JSONNativeEnum<T_7>;
|
|
218
|
+
nullable: <T_8 extends pqb.JSONTypeAny>(type: T_8) => pqb.JSONNullable<T_8>;
|
|
219
|
+
nullish: <T_9 extends pqb.JSONTypeAny>(type: T_9) => pqb.JSONNullish<T_9>;
|
|
220
|
+
object: <T_10 extends pqb.JSONObjectShape, UnknownKeys extends pqb.UnknownKeysParam = "strip", Catchall extends pqb.JSONTypeAny = pqb.JSONTypeAny>(shape: T_10) => pqb.JSONObject<T_10, UnknownKeys, Catchall, pqb.JSONTypeAny extends Catchall ? pqb.addQuestionMarks<{ [k_1 in keyof T_10]: T_10[k_1]["type"]; }> extends infer T_11 extends object ? { [k in keyof T_11]: pqb.addQuestionMarks<{ [k_1 in keyof T_10]: T_10[k_1]["type"]; }>[k]; } : never : (pqb.addQuestionMarks<{ [k_1 in keyof T_10]: T_10[k_1]["type"]; }> extends infer T_11 extends object ? { [k in keyof T_11]: pqb.addQuestionMarks<{ [k_1 in keyof T_10]: T_10[k_1]["type"]; }>[k]; } : never) & {
|
|
221
|
+
[k: string]: Catchall["type"];
|
|
222
|
+
} extends infer T_12 extends object ? { [k_2 in keyof T_12]: ((pqb.addQuestionMarks<{ [k_1 in keyof T_10]: T_10[k_1]["type"]; }> extends infer T_11 extends object ? { [k in keyof T_11]: pqb.addQuestionMarks<{ [k_1 in keyof T_10]: T_10[k_1]["type"]; }>[k]; } : never) & {
|
|
223
|
+
[k: string]: Catchall["type"];
|
|
224
|
+
})[k_2]; } : never>;
|
|
225
|
+
optional: <T_13 extends pqb.JSONTypeAny>(type: T_13) => pqb.JSONOptional<T_13>;
|
|
226
|
+
record: typeof pqb.record;
|
|
227
|
+
}) => Type)) => pqb.JSONColumn<Type>;
|
|
228
|
+
jsonText: () => pqb.JSONTextColumn;
|
|
229
|
+
array: <Item extends pqb.ColumnType<unknown, pqb.Operators, unknown>>(item: Item) => pqb.ArrayColumn<Item>;
|
|
230
|
+
timestamps: <T_14 extends pqb.ColumnType<unknown, pqb.Operators, unknown>>(this: {
|
|
231
|
+
timestamp(): T_14;
|
|
232
|
+
}) => {
|
|
233
|
+
createdAt: T_14 & {
|
|
234
|
+
hasDefault: true;
|
|
235
|
+
};
|
|
236
|
+
updatedAt: T_14 & {
|
|
237
|
+
hasDefault: true;
|
|
238
|
+
};
|
|
239
|
+
};
|
|
240
|
+
primaryKey(columns: string[], options?: {
|
|
241
|
+
name?: string | undefined;
|
|
242
|
+
} | undefined): {};
|
|
243
|
+
index(columns: pqb.MaybeArray<string | pqb.IndexColumnOptions>, options?: pqb.IndexOptions): {};
|
|
244
|
+
unique(columns: pqb.MaybeArray<string | pqb.IndexColumnOptions>, options?: pqb.IndexOptions): {};
|
|
245
|
+
foreignKey: {
|
|
246
|
+
<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): {};
|
|
247
|
+
<Table_2 extends string, Columns_1 extends [string, ...string[]]>(columns: string[], table: Table_2, foreignColumns: Columns_1, options?: pqb.ForeignKeyOptions | undefined): {};
|
|
248
|
+
};
|
|
249
|
+
} : CT;
|
|
150
250
|
noPrimaryKey?: boolean | undefined;
|
|
151
|
-
setColumns: <
|
|
152
|
-
|
|
153
|
-
|
|
251
|
+
setColumns: <T_15 extends ColumnsShape>(fn: (t: ColumnTypesBase extends CT ? {
|
|
252
|
+
smallint: () => pqb.SmallIntColumn;
|
|
253
|
+
integer: () => pqb.IntegerColumn;
|
|
254
|
+
bigint: () => pqb.BigIntColumn;
|
|
255
|
+
numeric: <Precision extends number | undefined = undefined, Scale extends number | undefined = undefined>(precision?: Precision | undefined, scale?: Scale | undefined) => pqb.DecimalColumn<Precision, Scale>;
|
|
256
|
+
decimal: <Precision_1 extends number | undefined = undefined, Scale_1 extends number | undefined = undefined>(precision?: Precision_1 | undefined, scale?: Scale_1 | undefined) => pqb.DecimalColumn<Precision_1, Scale_1>;
|
|
257
|
+
real: () => pqb.RealColumn;
|
|
258
|
+
doublePrecision: () => pqb.DoublePrecisionColumn;
|
|
259
|
+
smallSerial: () => pqb.SmallSerialColumn;
|
|
260
|
+
serial: () => pqb.SerialColumn;
|
|
261
|
+
bigSerial: () => pqb.BigSerialColumn;
|
|
262
|
+
money: () => pqb.MoneyColumn;
|
|
263
|
+
varchar: <Limit extends number | undefined = undefined>(limit?: Limit | undefined) => pqb.VarCharColumn<Limit>;
|
|
264
|
+
char: <Limit_1 extends number | undefined = undefined>(limit?: Limit_1 | undefined) => pqb.CharColumn<Limit_1>;
|
|
265
|
+
text: (min: number, max: number) => pqb.TextColumn;
|
|
266
|
+
string: (min: number, max: number) => pqb.TextColumn;
|
|
267
|
+
bytea: () => pqb.ByteaColumn;
|
|
268
|
+
date: () => pqb.DateColumn;
|
|
269
|
+
timestamp: <Precision_2 extends number | undefined = undefined>(precision?: Precision_2 | undefined) => pqb.TimestampColumn<Precision_2>;
|
|
270
|
+
timestampWithTimeZone: <Precision_3 extends number | undefined = undefined>(precision?: Precision_3 | undefined) => pqb.TimestampWithTimeZoneColumn<Precision_3>;
|
|
271
|
+
time: <Precision_4 extends number | undefined = undefined>(precision?: Precision_4 | undefined) => pqb.TimeColumn<Precision_4>;
|
|
272
|
+
timeWithTimeZone: <Precision_5 extends number | undefined = undefined>(precision?: Precision_5 | undefined) => pqb.TimeWithTimeZoneColumn<Precision_5>;
|
|
273
|
+
interval: <Fields extends string | undefined = undefined, Precision_6 extends number | undefined = undefined>(fields?: Fields | undefined, precision?: Precision_6 | undefined) => pqb.IntervalColumn<Fields, Precision_6>;
|
|
274
|
+
boolean: () => pqb.BooleanColumn;
|
|
275
|
+
enum: <U extends string, T extends [U, ...U[]]>(dataType: string, type: T) => pqb.EnumColumn<U, T>;
|
|
276
|
+
point: () => pqb.PointColumn;
|
|
277
|
+
line: () => pqb.LineColumn;
|
|
278
|
+
lseg: () => pqb.LsegColumn;
|
|
279
|
+
box: () => pqb.BoxColumn;
|
|
280
|
+
path: () => pqb.PathColumn;
|
|
281
|
+
polygon: () => pqb.PolygonColumn;
|
|
282
|
+
circle: () => pqb.CircleColumn;
|
|
283
|
+
cidr: () => pqb.CidrColumn;
|
|
284
|
+
inet: () => pqb.InetColumn;
|
|
285
|
+
macaddr: () => pqb.MacAddrColumn;
|
|
286
|
+
macaddr8: () => pqb.MacAddr8Column;
|
|
287
|
+
bit: <Length extends number>(length: Length) => pqb.BitColumn<Length>;
|
|
288
|
+
bitVarying: <Length_1 extends number | undefined = undefined>(length?: Length_1 | undefined) => pqb.BitVaryingColumn<Length_1>;
|
|
289
|
+
tsvector: () => pqb.TsVectorColumn;
|
|
290
|
+
tsquery: () => pqb.TsQueryColumn;
|
|
291
|
+
uuid: () => pqb.UUIDColumn;
|
|
292
|
+
xml: () => pqb.XMLColumn;
|
|
293
|
+
json: <Type extends pqb.JSONTypeAny>(schemaOrFn: Type | ((j: {
|
|
294
|
+
set: <Value extends pqb.JSONTypeAny>(valueType: Value) => pqb.JSONSet<Value>;
|
|
295
|
+
tuple: <T_1 extends pqb.JSONTupleItems | [], Rest extends pqb.JSONTypeAny | null = null>(items: T_1, rest?: Rest) => pqb.JSONTuple<T_1, Rest>;
|
|
296
|
+
union: <T_2 extends [pqb.JSONTypeAny, pqb.JSONTypeAny, ...pqb.JSONTypeAny[]]>(types: T_2) => pqb.JSONUnion<T_2>;
|
|
297
|
+
any: () => pqb.JSONAny;
|
|
298
|
+
bigint: () => pqb.JSONBigInt;
|
|
299
|
+
boolean: () => pqb.JSONBoolean;
|
|
300
|
+
date: () => pqb.JSONDate;
|
|
301
|
+
nan: () => pqb.JSONNaN;
|
|
302
|
+
never: () => pqb.JSONNever;
|
|
303
|
+
null: () => pqb.JSONNull;
|
|
304
|
+
number: () => pqb.JSONNumber;
|
|
305
|
+
string: () => pqb.JSONString;
|
|
306
|
+
undefined: () => pqb.JSONUndefined;
|
|
307
|
+
unknown: () => pqb.JSONUnknown;
|
|
308
|
+
void: () => pqb.JSONVoid;
|
|
309
|
+
array: <Type_1 extends pqb.JSONTypeAny>(element: Type_1) => pqb.JSONArray<Type_1, "many">;
|
|
310
|
+
discriminatedUnion: <Discriminator extends string, DiscriminatorValue extends pqb.Primitive, Types extends [pqb.JSONDiscriminatedObject<Discriminator, DiscriminatorValue>, pqb.JSONDiscriminatedObject<Discriminator, DiscriminatorValue>, ...pqb.JSONDiscriminatedObject<Discriminator, DiscriminatorValue>[]]>(discriminator: Discriminator, options: Types) => pqb.JSONDiscriminatedUnion<Discriminator, DiscriminatorValue, Types[number]>;
|
|
311
|
+
enum: <U_1 extends string, T_3 extends [U_1, ...U_1[]]>(options: T_3) => pqb.JSONEnum<U_1, T_3>;
|
|
312
|
+
instanceOf: <T_4 extends new (...args: any[]) => any>(cls: T_4) => pqb.JSONInstanceOf<T_4>;
|
|
313
|
+
intersection: <Left extends pqb.JSONTypeAny, Right extends pqb.JSONTypeAny>(left: Left, right: Right) => pqb.JSONIntersection<Left, Right>;
|
|
314
|
+
lazy: <T_5 extends pqb.JSONTypeAny>(fn: () => T_5) => pqb.JSONLazy<T_5>;
|
|
315
|
+
literal: <T_6 extends pqb.Primitive>(value: T_6) => pqb.JSONLiteral<T_6>;
|
|
316
|
+
map: <Key extends pqb.JSONTypeAny, Value_1 extends pqb.JSONTypeAny>(keyType: Key, valueType: Value_1) => pqb.JSONMap<Key, Value_1>;
|
|
317
|
+
nativeEnum: <T_7 extends pqb.EnumLike>(givenEnum: T_7) => pqb.JSONNativeEnum<T_7>;
|
|
318
|
+
nullable: <T_8 extends pqb.JSONTypeAny>(type: T_8) => pqb.JSONNullable<T_8>;
|
|
319
|
+
nullish: <T_9 extends pqb.JSONTypeAny>(type: T_9) => pqb.JSONNullish<T_9>;
|
|
320
|
+
object: <T_10 extends pqb.JSONObjectShape, UnknownKeys extends pqb.UnknownKeysParam = "strip", Catchall extends pqb.JSONTypeAny = pqb.JSONTypeAny>(shape: T_10) => pqb.JSONObject<T_10, UnknownKeys, Catchall, pqb.JSONTypeAny extends Catchall ? pqb.addQuestionMarks<{ [k_1 in keyof T_10]: T_10[k_1]["type"]; }> extends infer T_11 extends object ? { [k in keyof T_11]: pqb.addQuestionMarks<{ [k_1 in keyof T_10]: T_10[k_1]["type"]; }>[k]; } : never : (pqb.addQuestionMarks<{ [k_1 in keyof T_10]: T_10[k_1]["type"]; }> extends infer T_11 extends object ? { [k in keyof T_11]: pqb.addQuestionMarks<{ [k_1 in keyof T_10]: T_10[k_1]["type"]; }>[k]; } : never) & {
|
|
321
|
+
[k: string]: Catchall["type"];
|
|
322
|
+
} extends infer T_12 extends object ? { [k_2 in keyof T_12]: ((pqb.addQuestionMarks<{ [k_1 in keyof T_10]: T_10[k_1]["type"]; }> extends infer T_11 extends object ? { [k in keyof T_11]: pqb.addQuestionMarks<{ [k_1 in keyof T_10]: T_10[k_1]["type"]; }>[k]; } : never) & {
|
|
323
|
+
[k: string]: Catchall["type"];
|
|
324
|
+
})[k_2]; } : never>;
|
|
325
|
+
optional: <T_13 extends pqb.JSONTypeAny>(type: T_13) => pqb.JSONOptional<T_13>;
|
|
326
|
+
record: typeof pqb.record;
|
|
327
|
+
}) => Type)) => pqb.JSONColumn<Type>;
|
|
328
|
+
jsonText: () => pqb.JSONTextColumn;
|
|
329
|
+
array: <Item extends pqb.ColumnType<unknown, pqb.Operators, unknown>>(item: Item) => pqb.ArrayColumn<Item>;
|
|
330
|
+
timestamps: <T_14 extends pqb.ColumnType<unknown, pqb.Operators, unknown>>(this: {
|
|
331
|
+
timestamp(): T_14;
|
|
332
|
+
}) => {
|
|
333
|
+
createdAt: T_14 & {
|
|
334
|
+
hasDefault: true;
|
|
335
|
+
};
|
|
336
|
+
updatedAt: T_14 & {
|
|
337
|
+
hasDefault: true;
|
|
338
|
+
};
|
|
339
|
+
};
|
|
340
|
+
primaryKey(columns: string[], options?: {
|
|
341
|
+
name?: string | undefined;
|
|
342
|
+
} | undefined): {};
|
|
343
|
+
index(columns: pqb.MaybeArray<string | pqb.IndexColumnOptions>, options?: pqb.IndexOptions): {};
|
|
344
|
+
unique(columns: pqb.MaybeArray<string | pqb.IndexColumnOptions>, options?: pqb.IndexOptions): {};
|
|
345
|
+
foreignKey: {
|
|
346
|
+
<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): {};
|
|
347
|
+
<Table_2 extends string, Columns_1 extends [string, ...string[]]>(columns: string[], table: Table_2, foreignColumns: Columns_1, options?: pqb.ForeignKeyOptions | undefined): {};
|
|
348
|
+
};
|
|
349
|
+
} : CT) => T_15) => {
|
|
350
|
+
shape: T_15;
|
|
351
|
+
type: ColumnShapeOutput<T_15>;
|
|
154
352
|
};
|
|
155
353
|
belongsTo<Self extends any, Related extends TableClass<Table>, Scope extends Query, Options extends {
|
|
156
354
|
primaryKey: keyof InstanceType<Related>["columns"]["shape"];
|
package/dist/index.js
CHANGED
|
@@ -32,48 +32,52 @@ var path__namespace = /*#__PURE__*/_interopNamespace(path);
|
|
|
32
32
|
var fs__default = /*#__PURE__*/_interopDefaultLegacy(fs);
|
|
33
33
|
var typescript__default = /*#__PURE__*/_interopDefaultLegacy(typescript);
|
|
34
34
|
|
|
35
|
-
const createBaseTable = (options) => {
|
|
35
|
+
const createBaseTable = (options = { columnTypes: pqb.columnTypes }) => {
|
|
36
|
+
const ct = typeof options.columnTypes === "function" ? options.columnTypes(pqb.columnTypes) : options.columnTypes;
|
|
37
|
+
return create(ct);
|
|
38
|
+
};
|
|
39
|
+
const create = (columnTypes2) => {
|
|
36
40
|
return class BaseTable {
|
|
37
41
|
constructor() {
|
|
38
42
|
this.setColumns = (fn) => {
|
|
39
|
-
const shape = pqb.getColumnTypes(
|
|
43
|
+
const shape = pqb.getColumnTypes(columnTypes2, fn);
|
|
40
44
|
return {
|
|
41
45
|
shape,
|
|
42
46
|
type: void 0
|
|
43
47
|
};
|
|
44
48
|
};
|
|
45
|
-
this.columnTypes =
|
|
49
|
+
this.columnTypes = columnTypes2;
|
|
46
50
|
}
|
|
47
|
-
belongsTo(fn,
|
|
51
|
+
belongsTo(fn, options) {
|
|
48
52
|
return {
|
|
49
53
|
type: "belongsTo",
|
|
50
54
|
returns: "one",
|
|
51
55
|
fn,
|
|
52
|
-
options
|
|
56
|
+
options
|
|
53
57
|
};
|
|
54
58
|
}
|
|
55
|
-
hasOne(fn,
|
|
59
|
+
hasOne(fn, options) {
|
|
56
60
|
return {
|
|
57
61
|
type: "hasOne",
|
|
58
62
|
returns: "one",
|
|
59
63
|
fn,
|
|
60
|
-
options
|
|
64
|
+
options
|
|
61
65
|
};
|
|
62
66
|
}
|
|
63
|
-
hasMany(fn,
|
|
67
|
+
hasMany(fn, options) {
|
|
64
68
|
return {
|
|
65
69
|
type: "hasMany",
|
|
66
70
|
returns: "many",
|
|
67
71
|
fn,
|
|
68
|
-
options
|
|
72
|
+
options
|
|
69
73
|
};
|
|
70
74
|
}
|
|
71
|
-
hasAndBelongsToMany(fn,
|
|
75
|
+
hasAndBelongsToMany(fn, options) {
|
|
72
76
|
return {
|
|
73
77
|
type: "hasAndBelongsToMany",
|
|
74
78
|
returns: "many",
|
|
75
79
|
fn,
|
|
76
|
-
options
|
|
80
|
+
options
|
|
77
81
|
};
|
|
78
82
|
}
|
|
79
83
|
};
|
|
@@ -2292,13 +2296,8 @@ const createBaseTableFile = async ({
|
|
|
2292
2296
|
await fs__default["default"].writeFile(
|
|
2293
2297
|
baseTablePath,
|
|
2294
2298
|
`import { createBaseTable } from 'orchid-orm';
|
|
2295
|
-
import { columnTypes } from 'pqb';
|
|
2296
2299
|
|
|
2297
|
-
export const ${baseTableName} = createBaseTable(
|
|
2298
|
-
columnTypes: {
|
|
2299
|
-
...columnTypes,
|
|
2300
|
-
},
|
|
2301
|
-
});
|
|
2300
|
+
export const ${baseTableName} = createBaseTable();
|
|
2302
2301
|
`,
|
|
2303
2302
|
{
|
|
2304
2303
|
flag: "wx"
|
|
@@ -2353,6 +2352,10 @@ const appCodeUpdater = (config) => {
|
|
|
2353
2352
|
};
|
|
2354
2353
|
};
|
|
2355
2354
|
|
|
2355
|
+
Object.defineProperty(exports, 'columnTypes', {
|
|
2356
|
+
enumerable: true,
|
|
2357
|
+
get: function () { return pqb.columnTypes; }
|
|
2358
|
+
});
|
|
2356
2359
|
exports.AppCodeUpdaterError = AppCodeUpdaterError;
|
|
2357
2360
|
exports.appCodeUpdater = appCodeUpdater;
|
|
2358
2361
|
exports.createBaseTable = createBaseTable;
|