joist-orm 1.0.687 → 1.0.691
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/build/src/EntityManager.d.ts +11 -8
- package/build/src/EntityManager.js +2 -2
- package/build/src/EntityManager.js.map +1 -1
- package/build/src/QueryBuilder.js +40 -44
- package/build/src/QueryBuilder.js.map +1 -1
- package/build/src/Todo.d.ts +1 -1
- package/build/src/drivers/IdAssigner.d.ts +33 -0
- package/build/src/drivers/IdAssigner.js +106 -0
- package/build/src/drivers/IdAssigner.js.map +1 -0
- package/build/src/drivers/InMemoryDriver.js +16 -8
- package/build/src/drivers/InMemoryDriver.js.map +1 -1
- package/build/src/drivers/PostgresDriver.d.ts +6 -1
- package/build/src/drivers/PostgresDriver.js +23 -50
- package/build/src/drivers/PostgresDriver.js.map +1 -1
- package/build/src/drivers/index.d.ts +1 -0
- package/build/src/drivers/index.js +1 -0
- package/build/src/drivers/index.js.map +1 -1
- package/build/src/keys.d.ts +1 -0
- package/build/src/keys.js +9 -2
- package/build/src/keys.js.map +1 -1
- package/build/src/serde.d.ts +72 -48
- package/build/src/serde.js +74 -80
- package/build/src/serde.js.map +1 -1
- package/build/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
|
@@ -4,6 +4,7 @@ exports.InMemoryDriver = void 0;
|
|
|
4
4
|
const EntityManager_1 = require("../EntityManager");
|
|
5
5
|
const keys_1 = require("../keys");
|
|
6
6
|
const QueryBuilder_1 = require("../QueryBuilder");
|
|
7
|
+
const serde_1 = require("../serde");
|
|
7
8
|
const utils_1 = require("../utils");
|
|
8
9
|
class InMemoryDriver {
|
|
9
10
|
constructor() {
|
|
@@ -43,8 +44,11 @@ class InMemoryDriver {
|
|
|
43
44
|
Object.entries(todos).forEach(([_, todo]) => {
|
|
44
45
|
todo.inserts.forEach((i) => {
|
|
45
46
|
const row = {};
|
|
46
|
-
todo.metadata.
|
|
47
|
-
|
|
47
|
+
Object.values(todo.metadata.fields)
|
|
48
|
+
.filter(serde_1.hasSerde)
|
|
49
|
+
.flatMap((f) => f.serde.columns.map((c) => [f, c]))
|
|
50
|
+
.forEach(([f, c]) => {
|
|
51
|
+
row[c.columnName] = c.mapToDb(i.__orm.data[f.fieldName]) ?? null;
|
|
48
52
|
});
|
|
49
53
|
row.id = this.nextId(todo.metadata.tableName);
|
|
50
54
|
this.rowsOfTable(todo.metadata.tableName)[row.id] = row;
|
|
@@ -55,8 +59,11 @@ class InMemoryDriver {
|
|
|
55
59
|
u.__orm.data["updatedAt"] = updatedAt;
|
|
56
60
|
const id = (0, keys_1.deTagId)(todo.metadata, u.idOrFail);
|
|
57
61
|
const row = {};
|
|
58
|
-
todo.metadata.
|
|
59
|
-
|
|
62
|
+
Object.values(todo.metadata.fields)
|
|
63
|
+
.filter(serde_1.hasSerde)
|
|
64
|
+
.flatMap((f) => f.serde.columns.map((c) => [f, c]))
|
|
65
|
+
.forEach(([f, c]) => {
|
|
66
|
+
row[c.columnName] = c.mapToDb(u.__orm.data[f.fieldName]) ?? null;
|
|
60
67
|
});
|
|
61
68
|
this.rowsOfTable(todo.metadata.tableName)[id] = row;
|
|
62
69
|
});
|
|
@@ -153,8 +160,9 @@ function rowMatches(driver, meta, row, where) {
|
|
|
153
160
|
.every(([fieldName, value]) => {
|
|
154
161
|
const field = meta.fields[fieldName] || (0, utils_1.fail)();
|
|
155
162
|
// TODO Add column data to the fields
|
|
156
|
-
const column = meta.
|
|
157
|
-
|
|
163
|
+
const column = meta.fields[field.fieldName] || (0, utils_1.fail)();
|
|
164
|
+
// TODO Support multiple columns i.e. polymorphic references
|
|
165
|
+
const currentValue = (column.serde && row[column.serde.columns[0].columnName]) ?? null;
|
|
158
166
|
switch (field.kind) {
|
|
159
167
|
case "primaryKey":
|
|
160
168
|
case "primitive":
|
|
@@ -230,8 +238,8 @@ function sort(driver, meta, orderBy, a, b) {
|
|
|
230
238
|
}
|
|
231
239
|
}
|
|
232
240
|
const flip = value === "DESC" ? -1 : 1;
|
|
233
|
-
const column = meta.
|
|
234
|
-
const key = column.columnName;
|
|
241
|
+
const column = meta.fields[fieldName] || (0, utils_1.fail)();
|
|
242
|
+
const key = column.serde.columns[0].columnName;
|
|
235
243
|
// TODO Handle sorting by more than just strings
|
|
236
244
|
return a[key].localeCompare(b[key]) * flip;
|
|
237
245
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InMemoryDriver.js","sourceRoot":"","sources":["../../../src/drivers/InMemoryDriver.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"InMemoryDriver.js","sourceRoot":"","sources":["../../../src/drivers/InMemoryDriver.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,10 @@ import { ManyToManyCollection, OneToOneReferenceImpl } from "../relations";
|
|
|
4
4
|
import { JoinRow } from "../relations/ManyToManyCollection";
|
|
5
5
|
import { JoinRowTodo, Todo } from "../Todo";
|
|
6
6
|
import { Driver } from "./driver";
|
|
7
|
+
import { IdAssigner } from "./IdAssigner";
|
|
8
|
+
export interface PostgresDriverOpts {
|
|
9
|
+
idAssigner?: IdAssigner;
|
|
10
|
+
}
|
|
7
11
|
/**
|
|
8
12
|
* Implements the `Driver` interface for Postgres.
|
|
9
13
|
*
|
|
@@ -20,7 +24,8 @@ import { Driver } from "./driver";
|
|
|
20
24
|
*/
|
|
21
25
|
export declare class PostgresDriver implements Driver {
|
|
22
26
|
private readonly knex;
|
|
23
|
-
|
|
27
|
+
private readonly idAssigner;
|
|
28
|
+
constructor(knex: Knex, opts?: PostgresDriverOpts);
|
|
24
29
|
load<T extends Entity>(em: EntityManager, meta: EntityMetadata<T>, untaggedIds: readonly string[]): Promise<unknown[]>;
|
|
25
30
|
loadManyToMany<T extends Entity, U extends Entity>(em: EntityManager, collection: ManyToManyCollection<T, U>, keys: readonly string[]): Promise<JoinRow[]>;
|
|
26
31
|
loadOneToMany<T extends Entity, U extends Entity>(em: EntityManager, collection: OneToManyCollection<T, U>, untaggedIds: readonly string[]): Promise<U[]>;
|
|
@@ -4,6 +4,7 @@ exports.PostgresDriver = void 0;
|
|
|
4
4
|
const findDataLoader_1 = require("../dataloaders/findDataLoader");
|
|
5
5
|
const index_1 = require("../index");
|
|
6
6
|
const utils_1 = require("../utils");
|
|
7
|
+
const IdAssigner_1 = require("./IdAssigner");
|
|
7
8
|
/**
|
|
8
9
|
* Implements the `Driver` interface for Postgres.
|
|
9
10
|
*
|
|
@@ -19,8 +20,9 @@ const utils_1 = require("../utils");
|
|
|
19
20
|
* - We use a pg-specific bulk update syntax.
|
|
20
21
|
*/
|
|
21
22
|
class PostgresDriver {
|
|
22
|
-
constructor(knex) {
|
|
23
|
+
constructor(knex, opts) {
|
|
23
24
|
this.knex = knex;
|
|
25
|
+
this.idAssigner = opts?.idAssigner ?? new IdAssigner_1.SequenceIdAssigner();
|
|
24
26
|
}
|
|
25
27
|
load(em, meta, untaggedIds) {
|
|
26
28
|
const knex = this.getMaybeInTxnKnex(em);
|
|
@@ -154,7 +156,7 @@ class PostgresDriver {
|
|
|
154
156
|
async flushEntities(em, todos) {
|
|
155
157
|
const knex = this.getMaybeInTxnKnex(em);
|
|
156
158
|
const updatedAt = new Date();
|
|
157
|
-
await assignNewIds(knex, todos);
|
|
159
|
+
await this.idAssigner.assignNewIds(knex, todos);
|
|
158
160
|
for await (const todo of Object.values(todos)) {
|
|
159
161
|
if (todo) {
|
|
160
162
|
const meta = todo.metadata;
|
|
@@ -223,44 +225,20 @@ class PostgresDriver {
|
|
|
223
225
|
}
|
|
224
226
|
}
|
|
225
227
|
exports.PostgresDriver = PostgresDriver;
|
|
226
|
-
/**
|
|
227
|
-
* Assigns all new entities an id directly from their corresponding sequence generator, instead of via INSERTs.
|
|
228
|
-
*
|
|
229
|
-
* This lets us avoid cyclic issues with some INSERTs having foreign keys to other rows that themselves
|
|
230
|
-
* need to first be INSERTed.
|
|
231
|
-
*/
|
|
232
|
-
async function assignNewIds(knex, todos) {
|
|
233
|
-
const seqStatements = [];
|
|
234
|
-
Object.values(todos).forEach((todo) => {
|
|
235
|
-
if (todo.inserts.length > 0) {
|
|
236
|
-
const meta = todo.inserts[0].__orm.metadata;
|
|
237
|
-
const sequenceName = `${meta.tableName}_id_seq`;
|
|
238
|
-
const sql = `select nextval('${sequenceName}') from generate_series(1, ${todo.inserts.length})`;
|
|
239
|
-
seqStatements.push(sql);
|
|
240
|
-
}
|
|
241
|
-
});
|
|
242
|
-
if (seqStatements.length > 0) {
|
|
243
|
-
// There will be 1 per table; 1 single insert should be fine but we might need to batch for super-large schemas?
|
|
244
|
-
const sql = seqStatements.join(" UNION ALL ");
|
|
245
|
-
const result = await knex.raw(sql);
|
|
246
|
-
let i = 0;
|
|
247
|
-
Object.values(todos).forEach((todo) => {
|
|
248
|
-
for (const insert of todo.inserts) {
|
|
249
|
-
insert.__orm.data["id"] = (0, index_1.keyToString)(todo.metadata, result.rows[i++]["nextval"]);
|
|
250
|
-
}
|
|
251
|
-
});
|
|
252
|
-
}
|
|
253
|
-
}
|
|
254
228
|
async function batchInsert(knex, meta, entities) {
|
|
255
|
-
const rows = entities.map((entity) => {
|
|
256
|
-
const row = {};
|
|
257
|
-
meta.columns.forEach((c) => c.serde.setOnRow(entity.__orm.data, row));
|
|
258
|
-
return row;
|
|
259
|
-
});
|
|
260
229
|
// We don't use the ids that come back from batchInsert b/c we pre-assign ids for both inserts and updates.
|
|
261
230
|
// We also use `.transacting` b/c even when `knex` is already a Transaction object,
|
|
262
231
|
// `batchInsert` w/o the `transacting` adds savepoints that we don't want/need.
|
|
263
|
-
|
|
232
|
+
const fields = Object.values(meta.fields).filter(index_1.hasSerde);
|
|
233
|
+
const columns = fields.flatMap((f) => f.serde.columns);
|
|
234
|
+
// Issue 1 UPDATE statement with N `VALUES (..., ...), (..., ...), ...` clauses
|
|
235
|
+
// and bindings is each individual value.
|
|
236
|
+
const bindings = entities.flatMap((entity) => columns.map((c) => c.dbValue(entity.__orm.data) ?? null));
|
|
237
|
+
const sql = `
|
|
238
|
+
INSERT INTO ${meta.tableName} (${columns.map((c) => `"${c.columnName}"`).join(", ")})
|
|
239
|
+
VALUES ${entities.map(() => `(${columns.map(() => `?`).join(", ")})`).join(",")}
|
|
240
|
+
`;
|
|
241
|
+
await knex.raw(cleanSql(sql), bindings);
|
|
264
242
|
}
|
|
265
243
|
// Uses a pg-specific syntax to issue a bulk update
|
|
266
244
|
async function batchUpdate(knex, meta, entities) {
|
|
@@ -278,17 +256,19 @@ async function batchUpdate(knex, meta, entities) {
|
|
|
278
256
|
if (changedFields.size === 2 && !entities.some((e) => e.__orm.isTouched)) {
|
|
279
257
|
return;
|
|
280
258
|
}
|
|
281
|
-
|
|
282
|
-
|
|
259
|
+
const fields = Object.values(meta.fields)
|
|
260
|
+
.filter((f) => changedFields.has(f.fieldName))
|
|
261
|
+
.filter(index_1.hasSerde);
|
|
262
|
+
const columns = fields.flatMap((f) => f.serde.columns);
|
|
283
263
|
// We need to handle array columns different because the "unnest" approach fundamentally
|
|
284
264
|
// won't work b/c we can't use it to send "a list of lists".
|
|
285
265
|
let sql;
|
|
286
266
|
let bindings;
|
|
287
|
-
if (
|
|
267
|
+
if (fields.some((f) => f.serde instanceof index_1.EnumArrayFieldSerde)) {
|
|
288
268
|
// Issue 1 UPDATE statement with N `VALUES (..., ...), (..., ...), ...` clauses
|
|
289
269
|
// and bindings is each individual value.
|
|
290
270
|
bindings = entities.flatMap((entity) => [
|
|
291
|
-
...columns.map((c) => c.
|
|
271
|
+
...columns.map((c) => c.dbValue(entity.__orm.data) ?? null),
|
|
292
272
|
entity.__orm.originalData.updatedAt,
|
|
293
273
|
]);
|
|
294
274
|
sql = `
|
|
@@ -298,14 +278,7 @@ async function batchUpdate(knex, meta, entities) {
|
|
|
298
278
|
.map((c) => `"${c.columnName}" = data."${c.columnName}"`)
|
|
299
279
|
.join(", ")}
|
|
300
280
|
FROM (
|
|
301
|
-
VALUES ${entities
|
|
302
|
-
.map(() => `(${columns
|
|
303
|
-
.map((c) => {
|
|
304
|
-
const maybeArray = c.serde instanceof index_1.EnumArrayFieldSerde ? "[]" : "";
|
|
305
|
-
return `?::${c.dbType}${maybeArray}`;
|
|
306
|
-
})
|
|
307
|
-
.join(", ")}, ?::timestamp)`)
|
|
308
|
-
.join(",")}
|
|
281
|
+
VALUES ${entities.map(() => `(${columns.map((c) => `?::${c.dbType}`).join(", ")}, ?::timestamp)`).join(",")}
|
|
309
282
|
) AS data(${columns.map((c) => c.columnName).join(",")},original_updated_at)
|
|
310
283
|
WHERE
|
|
311
284
|
${meta.tableName}.id = data.id
|
|
@@ -321,7 +294,7 @@ async function batchUpdate(knex, meta, entities) {
|
|
|
321
294
|
bindings.push(originalUpdatedAt);
|
|
322
295
|
for (const entity of entities) {
|
|
323
296
|
columns.forEach((c, i) => {
|
|
324
|
-
bindings[i].push(c.
|
|
297
|
+
bindings[i].push(c.dbValue(entity.__orm.data) ?? null);
|
|
325
298
|
});
|
|
326
299
|
originalUpdatedAt.push(entity.__orm.originalData.updatedAt);
|
|
327
300
|
}
|
|
@@ -334,7 +307,7 @@ async function batchUpdate(knex, meta, entities) {
|
|
|
334
307
|
FROM (
|
|
335
308
|
SELECT
|
|
336
309
|
${columns.map((c) => `unnest(?::${c.dbType}[]) as "${c.columnName}"`).join(", ")},
|
|
337
|
-
unnest(?::
|
|
310
|
+
unnest(?::timestamptz[]) as original_updated_at
|
|
338
311
|
) as data
|
|
339
312
|
WHERE
|
|
340
313
|
${meta.tableName}.id = data.id
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PostgresDriver.js","sourceRoot":"","sources":["../../../src/drivers/PostgresDriver.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PostgresDriver.js","sourceRoot":"","sources":["../../../src/drivers/PostgresDriver.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
11
11
|
};
|
|
12
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
13
|
__exportStar(require("./driver"), exports);
|
|
14
|
+
__exportStar(require("./IdAssigner"), exports);
|
|
14
15
|
__exportStar(require("./InMemoryDriver"), exports);
|
|
15
16
|
__exportStar(require("./PostgresDriver"), exports);
|
|
16
17
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/drivers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAyB;AACzB,mDAAiC;AACjC,mDAAiC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/drivers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAyB;AACzB,+CAA6B;AAC7B,mDAAiC;AACjC,mDAAiC"}
|
package/build/src/keys.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Entity } from "./EntityManager";
|
|
2
2
|
declare type HasTagName = {
|
|
3
3
|
tagName: string;
|
|
4
|
+
idType: "int" | "uuid";
|
|
4
5
|
};
|
|
5
6
|
export declare function maybeResolveReferenceToId(value: any): string | undefined;
|
|
6
7
|
/** Converts `value` to a number, i.e. for string ids, unless its undefined. */
|
package/build/src/keys.js
CHANGED
|
@@ -20,18 +20,25 @@ function keyToNumber(meta, value) {
|
|
|
20
20
|
else if (typeof value === "string") {
|
|
21
21
|
const [tag, id] = value.split(tagDelimiter);
|
|
22
22
|
if (id === undefined) {
|
|
23
|
-
return
|
|
23
|
+
return maybeNumberUnlessUuid(meta, value);
|
|
24
24
|
}
|
|
25
25
|
if (tag !== meta.tagName) {
|
|
26
26
|
throw new Error(`Invalid tagged id, expected tag ${meta.tagName}, got ${value}`);
|
|
27
27
|
}
|
|
28
|
-
return
|
|
28
|
+
return maybeNumberUnlessUuid(meta, id);
|
|
29
29
|
}
|
|
30
30
|
else {
|
|
31
31
|
throw new Error(`Invalid key ${value}`);
|
|
32
32
|
}
|
|
33
33
|
}
|
|
34
34
|
exports.keyToNumber = keyToNumber;
|
|
35
|
+
// If we're using UUIDs, just lie to the type system and pretend they're numbers.
|
|
36
|
+
function maybeNumberUnlessUuid(meta, key) {
|
|
37
|
+
if (meta.idType === "uuid") {
|
|
38
|
+
return key;
|
|
39
|
+
}
|
|
40
|
+
return Number(key);
|
|
41
|
+
}
|
|
35
42
|
/** Converts `value` to a tagged string, i.e. for string ids, unless its undefined. */
|
|
36
43
|
function keyToString(meta, value) {
|
|
37
44
|
return value === undefined || value === null ? undefined : `${meta.tagName}:${value}`;
|
package/build/src/keys.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keys.js","sourceRoot":"","sources":["../../src/keys.ts"],"names":[],"mappings":";;;AAAA,6CAA0C;AAC1C,mDAAsD;AAEtD,MAAM,YAAY,GAAG,GAAG,CAAC;AAMzB,yEAAyE;AACzE,0EAA0E;AAC1E,SAAgB,yBAAyB,CAAC,KAAU;IAClD,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;AACpF,CAAC;AAFD,8DAEC;AAKD,SAAgB,WAAW,CAAC,IAAgB,EAAE,KAAU;IACtD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE;QACzC,OAAO,SAAS,CAAC;KAClB;SAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QACpC,OAAO,KAAK,CAAC;KACd;SAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QACpC,MAAM,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAC5C,IAAI,EAAE,KAAK,SAAS,EAAE;YACpB,OAAO,
|
|
1
|
+
{"version":3,"file":"keys.js","sourceRoot":"","sources":["../../src/keys.ts"],"names":[],"mappings":"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"}
|
package/build/src/serde.d.ts
CHANGED
|
@@ -1,17 +1,40 @@
|
|
|
1
|
+
import { Field, SerdeField } from "./EntityManager";
|
|
1
2
|
import { EntityMetadata } from "./index";
|
|
2
|
-
export
|
|
3
|
+
export declare function hasSerde(field: Field): field is SerdeField;
|
|
4
|
+
/**
|
|
5
|
+
* The database/column serialization / deserialization details of a given field.
|
|
6
|
+
*
|
|
7
|
+
* Most implementations will have just a single column in `columns`, but some logical
|
|
8
|
+
* domain fields can be mapped to multiple physical database columns, i.e. polymorphic
|
|
9
|
+
* references.
|
|
10
|
+
*/
|
|
11
|
+
export interface FieldSerde {
|
|
12
|
+
/** A single field might persist to multiple columns, i.e. polymorphic references. */
|
|
13
|
+
columns: Column[];
|
|
14
|
+
/**
|
|
15
|
+
* Accepts a database `row` and sets the field's value(s) into the `__orm.data`.
|
|
16
|
+
*
|
|
17
|
+
* Used in EntityManager.hydrate to set row value on the entity
|
|
18
|
+
*/
|
|
3
19
|
setOnEntity(data: any, row: any): void;
|
|
4
|
-
|
|
5
|
-
|
|
20
|
+
}
|
|
21
|
+
/** A specific physical column of a logical field. */
|
|
22
|
+
export interface Column {
|
|
23
|
+
columnName: string;
|
|
24
|
+
dbType: string;
|
|
25
|
+
dbValue(data: any): any;
|
|
6
26
|
mapToDb(value: any): any;
|
|
27
|
+
isArray: boolean;
|
|
7
28
|
}
|
|
8
|
-
export declare class
|
|
29
|
+
export declare class PrimitiveSerde implements FieldSerde {
|
|
9
30
|
private fieldName;
|
|
10
|
-
|
|
11
|
-
|
|
31
|
+
columnName: string;
|
|
32
|
+
dbType: string;
|
|
33
|
+
isArray: boolean;
|
|
34
|
+
columns: this[];
|
|
35
|
+
constructor(fieldName: string, columnName: string, dbType: string);
|
|
12
36
|
setOnEntity(data: any, row: any): void;
|
|
13
|
-
|
|
14
|
-
getFromEntity(data: any): any;
|
|
37
|
+
dbValue(data: any): any;
|
|
15
38
|
mapToDb(value: any): any;
|
|
16
39
|
}
|
|
17
40
|
/**
|
|
@@ -23,75 +46,76 @@ export declare class SimpleSerde implements ColumnSerde {
|
|
|
23
46
|
* Also note that knex/pg accept `number`s as input, so we only need
|
|
24
47
|
* to handle from-database -> to JS translation.
|
|
25
48
|
*/
|
|
26
|
-
export declare class DecimalToNumberSerde implements
|
|
49
|
+
export declare class DecimalToNumberSerde implements FieldSerde {
|
|
27
50
|
private fieldName;
|
|
28
|
-
|
|
51
|
+
columnName: string;
|
|
52
|
+
dbType: string;
|
|
53
|
+
isArray: boolean;
|
|
54
|
+
columns: this[];
|
|
29
55
|
constructor(fieldName: string, columnName: string);
|
|
30
56
|
setOnEntity(data: any, row: any): void;
|
|
31
|
-
|
|
32
|
-
getFromEntity(data: any): any;
|
|
57
|
+
dbValue(data: any): any;
|
|
33
58
|
mapToDb(value: any): any;
|
|
34
59
|
}
|
|
35
|
-
/** Maps integer
|
|
36
|
-
export declare class
|
|
37
|
-
private meta;
|
|
60
|
+
/** Maps physical integer keys to logical string IDs "because GraphQL". */
|
|
61
|
+
export declare class KeySerde implements FieldSerde {
|
|
38
62
|
private fieldName;
|
|
39
|
-
|
|
40
|
-
|
|
63
|
+
columnName: string;
|
|
64
|
+
dbType: "int" | "uuid";
|
|
65
|
+
isArray: boolean;
|
|
66
|
+
columns: this[];
|
|
67
|
+
private meta;
|
|
68
|
+
constructor(tagName: string, fieldName: string, columnName: string, dbType: "int" | "uuid");
|
|
41
69
|
setOnEntity(data: any, row: any): void;
|
|
42
|
-
|
|
43
|
-
getFromEntity(data: any): number;
|
|
70
|
+
dbValue(data: any): number | undefined;
|
|
44
71
|
mapToDb(value: any): number | undefined;
|
|
45
72
|
}
|
|
46
|
-
export declare class
|
|
47
|
-
private
|
|
48
|
-
private columnName;
|
|
49
|
-
otherMeta: () => EntityMetadata<any>;
|
|
50
|
-
constructor(fieldName: string, columnName: string, otherMeta: () => EntityMetadata<any>);
|
|
51
|
-
setOnEntity(data: any, row: any): void;
|
|
52
|
-
setOnRow(data: any, row: any): void;
|
|
53
|
-
getFromEntity(data: any): number | undefined;
|
|
54
|
-
mapToDb(value: any): any;
|
|
55
|
-
}
|
|
56
|
-
export declare class PolymorphicKeySerde implements ColumnSerde {
|
|
73
|
+
export declare class PolymorphicKeySerde implements FieldSerde {
|
|
74
|
+
private meta;
|
|
57
75
|
private fieldName;
|
|
58
|
-
|
|
59
|
-
otherMeta: () => EntityMetadata<any>;
|
|
60
|
-
constructor(fieldName: string, columnName: string, otherMeta: () => EntityMetadata<any>);
|
|
76
|
+
constructor(meta: () => EntityMetadata<any>, fieldName: string);
|
|
61
77
|
setOnEntity(data: any, row: any): void;
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
78
|
+
get columns(): Array<Column & {
|
|
79
|
+
otherMetadata: () => EntityMetadata<any>;
|
|
80
|
+
}>;
|
|
81
|
+
get columnName(): string;
|
|
82
|
+
private get field();
|
|
65
83
|
}
|
|
66
|
-
export declare class EnumFieldSerde implements
|
|
84
|
+
export declare class EnumFieldSerde implements FieldSerde {
|
|
67
85
|
private fieldName;
|
|
68
|
-
|
|
86
|
+
columnName: string;
|
|
69
87
|
private enumObject;
|
|
88
|
+
dbType: string;
|
|
89
|
+
isArray: boolean;
|
|
90
|
+
columns: this[];
|
|
70
91
|
constructor(fieldName: string, columnName: string, enumObject: any);
|
|
71
92
|
setOnEntity(data: any, row: any): void;
|
|
72
|
-
|
|
73
|
-
getFromEntity(data: any): any;
|
|
93
|
+
dbValue(data: any): any;
|
|
74
94
|
mapToDb(value: any): any;
|
|
75
95
|
}
|
|
76
|
-
export declare class EnumArrayFieldSerde implements
|
|
96
|
+
export declare class EnumArrayFieldSerde implements FieldSerde {
|
|
77
97
|
private fieldName;
|
|
78
|
-
|
|
98
|
+
columnName: string;
|
|
79
99
|
private enumObject;
|
|
100
|
+
dbType: string;
|
|
101
|
+
isArray: boolean;
|
|
102
|
+
columns: this[];
|
|
80
103
|
constructor(fieldName: string, columnName: string, enumObject: any);
|
|
81
104
|
setOnEntity(data: any, row: any): void;
|
|
82
|
-
|
|
83
|
-
getFromEntity(data: any): any;
|
|
105
|
+
dbValue(data: any): any;
|
|
84
106
|
mapToDb(value: any): any;
|
|
85
107
|
}
|
|
86
108
|
/** Similar to SimpleSerde, but applies the superstruct `assert` function when reading values from the db. */
|
|
87
|
-
export declare class SuperstructSerde implements
|
|
109
|
+
export declare class SuperstructSerde implements FieldSerde {
|
|
88
110
|
private fieldName;
|
|
89
|
-
|
|
111
|
+
columnName: string;
|
|
90
112
|
private superstruct;
|
|
113
|
+
dbType: string;
|
|
114
|
+
isArray: boolean;
|
|
115
|
+
columns: this[];
|
|
91
116
|
private assert;
|
|
92
117
|
constructor(fieldName: string, columnName: string, superstruct: any);
|
|
93
118
|
setOnEntity(data: any, row: any): void;
|
|
94
|
-
|
|
95
|
-
getFromEntity(data: any): any;
|
|
119
|
+
dbValue(data: any): any;
|
|
96
120
|
mapToDb(value: any): any;
|
|
97
121
|
}
|