@spinajs/orm 2.0.486 → 2.0.487
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/lib/cjs/config/orm.d.ts +24 -0
- package/lib/cjs/config/orm.d.ts.map +1 -0
- package/lib/cjs/config/orm.js +26 -0
- package/lib/cjs/config/orm.js.map +1 -0
- package/lib/cjs/decorators.d.ts +3 -2
- package/lib/cjs/decorators.d.ts.map +1 -1
- package/lib/cjs/decorators.js +19 -2
- package/lib/cjs/decorators.js.map +1 -1
- package/lib/cjs/descriptor.d.ts +29 -1
- package/lib/cjs/descriptor.d.ts.map +1 -1
- package/lib/cjs/descriptor.js +37 -0
- package/lib/cjs/descriptor.js.map +1 -1
- package/lib/cjs/index.d.ts +6 -0
- package/lib/cjs/index.d.ts.map +1 -1
- package/lib/cjs/index.js +6 -0
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/interfaces.d.ts +52 -2
- package/lib/cjs/interfaces.d.ts.map +1 -1
- package/lib/cjs/interfaces.js +5 -0
- package/lib/cjs/interfaces.js.map +1 -1
- package/lib/cjs/migration-environment.d.ts +70 -0
- package/lib/cjs/migration-environment.d.ts.map +1 -0
- package/lib/cjs/migration-environment.js +134 -0
- package/lib/cjs/migration-environment.js.map +1 -0
- package/lib/cjs/migration-runner.d.ts +108 -0
- package/lib/cjs/migration-runner.d.ts.map +1 -0
- package/lib/cjs/migration-runner.js +216 -0
- package/lib/cjs/migration-runner.js.map +1 -0
- package/lib/cjs/migration-service.d.ts +300 -0
- package/lib/cjs/migration-service.d.ts.map +1 -0
- package/lib/cjs/migration-service.js +829 -0
- package/lib/cjs/migration-service.js.map +1 -0
- package/lib/cjs/migration-sources.d.ts +85 -0
- package/lib/cjs/migration-sources.d.ts.map +1 -0
- package/lib/cjs/migration-sources.js +277 -0
- package/lib/cjs/migration-sources.js.map +1 -0
- package/lib/cjs/orm.d.ts +77 -15
- package/lib/cjs/orm.d.ts.map +1 -1
- package/lib/cjs/orm.js +156 -150
- package/lib/cjs/orm.js.map +1 -1
- package/lib/cjs/quoting.d.ts +33 -0
- package/lib/cjs/quoting.d.ts.map +1 -0
- package/lib/cjs/quoting.js +48 -0
- package/lib/cjs/quoting.js.map +1 -0
- package/lib/cjs/source-file.d.ts +10 -0
- package/lib/cjs/source-file.d.ts.map +1 -0
- package/lib/cjs/source-file.js +41 -0
- package/lib/cjs/source-file.js.map +1 -0
- package/lib/cjs/statements.d.ts +51 -1
- package/lib/cjs/statements.d.ts.map +1 -1
- package/lib/cjs/statements.js +73 -1
- package/lib/cjs/statements.js.map +1 -1
- package/lib/cjs/symbols.d.ts +11 -0
- package/lib/cjs/symbols.d.ts.map +1 -1
- package/lib/cjs/symbols.js +12 -1
- package/lib/cjs/symbols.js.map +1 -1
- package/lib/mjs/config/orm.d.ts +24 -0
- package/lib/mjs/config/orm.d.ts.map +1 -0
- package/lib/mjs/config/orm.js +24 -0
- package/lib/mjs/config/orm.js.map +1 -0
- package/lib/mjs/decorators.d.ts +3 -2
- package/lib/mjs/decorators.d.ts.map +1 -1
- package/lib/mjs/decorators.js +19 -2
- package/lib/mjs/decorators.js.map +1 -1
- package/lib/mjs/descriptor.d.ts +29 -1
- package/lib/mjs/descriptor.d.ts.map +1 -1
- package/lib/mjs/descriptor.js +36 -1
- package/lib/mjs/descriptor.js.map +1 -1
- package/lib/mjs/index.d.ts +6 -0
- package/lib/mjs/index.d.ts.map +1 -1
- package/lib/mjs/index.js +6 -0
- package/lib/mjs/index.js.map +1 -1
- package/lib/mjs/interfaces.d.ts +52 -2
- package/lib/mjs/interfaces.d.ts.map +1 -1
- package/lib/mjs/interfaces.js +5 -0
- package/lib/mjs/interfaces.js.map +1 -1
- package/lib/mjs/migration-environment.d.ts +70 -0
- package/lib/mjs/migration-environment.d.ts.map +1 -0
- package/lib/mjs/migration-environment.js +128 -0
- package/lib/mjs/migration-environment.js.map +1 -0
- package/lib/mjs/migration-runner.d.ts +108 -0
- package/lib/mjs/migration-runner.d.ts.map +1 -0
- package/lib/mjs/migration-runner.js +211 -0
- package/lib/mjs/migration-runner.js.map +1 -0
- package/lib/mjs/migration-service.d.ts +300 -0
- package/lib/mjs/migration-service.d.ts.map +1 -0
- package/lib/mjs/migration-service.js +824 -0
- package/lib/mjs/migration-service.js.map +1 -0
- package/lib/mjs/migration-sources.d.ts +85 -0
- package/lib/mjs/migration-sources.d.ts.map +1 -0
- package/lib/mjs/migration-sources.js +236 -0
- package/lib/mjs/migration-sources.js.map +1 -0
- package/lib/mjs/orm.d.ts +77 -15
- package/lib/mjs/orm.d.ts.map +1 -1
- package/lib/mjs/orm.js +158 -152
- package/lib/mjs/orm.js.map +1 -1
- package/lib/mjs/quoting.d.ts +33 -0
- package/lib/mjs/quoting.d.ts.map +1 -0
- package/lib/mjs/quoting.js +45 -0
- package/lib/mjs/quoting.js.map +1 -0
- package/lib/mjs/source-file.d.ts +10 -0
- package/lib/mjs/source-file.d.ts.map +1 -0
- package/lib/mjs/source-file.js +38 -0
- package/lib/mjs/source-file.js.map +1 -0
- package/lib/mjs/statements.d.ts +51 -1
- package/lib/mjs/statements.d.ts.map +1 -1
- package/lib/mjs/statements.js +71 -0
- package/lib/mjs/statements.js.map +1 -1
- package/lib/mjs/symbols.d.ts +11 -0
- package/lib/mjs/symbols.d.ts.map +1 -1
- package/lib/mjs/symbols.js +11 -0
- package/lib/mjs/symbols.js.map +1 -1
- package/lib/tsconfig.cjs.tsbuildinfo +1 -1
- package/lib/tsconfig.mjs.tsbuildinfo +1 -1
- package/package.json +7 -7
package/lib/mjs/statements.d.ts
CHANGED
|
@@ -125,13 +125,63 @@ export declare abstract class ExistsQueryStatement extends SelectQueryStatement
|
|
|
125
125
|
constructor(builder: SelectQueryBuilder, not: boolean);
|
|
126
126
|
abstract build(): IQueryStatementResult;
|
|
127
127
|
}
|
|
128
|
+
/**
|
|
129
|
+
* Membership test against a `@Set()` column — a single column holding several values
|
|
130
|
+
* joined by {@link SET_DELIMITER} ( see the SetValueConverter ).
|
|
131
|
+
*
|
|
132
|
+
* There is no portable SQL for this. MySQL has `FIND_IN_SET`, SQLite has `instr`,
|
|
133
|
+
* MSSQL has `CHARINDEX`, and the shared implementation falls back to `LIKE`. Each
|
|
134
|
+
* driver therefore registers its own subclass; whatever a driver does not register
|
|
135
|
+
* resolves to the portable one, which is correct everywhere and merely slower.
|
|
136
|
+
*
|
|
137
|
+
* The value rules below are shared because they are a property of the STORAGE
|
|
138
|
+
* FORMAT, not of any dialect: a value containing the delimiter cannot be
|
|
139
|
+
* represented in such a column at all, and every implementation must refuse it
|
|
140
|
+
* rather than emit a query that matches neighbouring entries.
|
|
141
|
+
*/
|
|
128
142
|
export declare abstract class InSetStatement extends QueryStatement {
|
|
129
143
|
protected _val: any[];
|
|
130
144
|
protected _not: boolean;
|
|
131
145
|
protected _column: string;
|
|
132
146
|
constructor(column: string, val: any[], not: boolean, tableAlias: string);
|
|
133
147
|
abstract build(): IQueryStatementResult;
|
|
134
|
-
|
|
148
|
+
/**
|
|
149
|
+
* The values to test, as strings, after rejecting anything the storage format
|
|
150
|
+
* cannot express.
|
|
151
|
+
*
|
|
152
|
+
* A value containing the delimiter is refused instead of being searched for:
|
|
153
|
+
* `whereInSet('Role', ['admin,user'])` can only ever be a caller mistake, and
|
|
154
|
+
* every implementation of this statement — `FIND_IN_SET` included — would
|
|
155
|
+
* answer it by matching a row holding `admin` next to `user`.
|
|
156
|
+
*/
|
|
157
|
+
protected values(): string[];
|
|
158
|
+
/**
|
|
159
|
+
* Joins the per-value expressions into one statement.
|
|
160
|
+
*
|
|
161
|
+
* Negation is per value and AND-ed: "in none of these", which is the mirror of
|
|
162
|
+
* the OR-ed positive form.
|
|
163
|
+
*/
|
|
164
|
+
protected combine(expressions: string[]): string;
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Delimiter a `@Set()` column is stored with. Must agree with the SetValueConverter,
|
|
168
|
+
* which joins on it.
|
|
169
|
+
*/
|
|
170
|
+
export declare const SET_DELIMITER = ",";
|
|
171
|
+
/**
|
|
172
|
+
* Escape character for the LIKE patterns of the portable membership test.
|
|
173
|
+
*
|
|
174
|
+
* NOT a backslash: MySQL treats a backslash as an escape inside string literals of
|
|
175
|
+
* its own, so `ESCAPE '\'` is a syntax error there and `ESCAPE '\\'` means something
|
|
176
|
+
* different again depending on `NO_BACKSLASH_ESCAPES`. A character with no special
|
|
177
|
+
* meaning in any of the three dialects avoids the whole question.
|
|
178
|
+
*/
|
|
179
|
+
export declare const LIKE_ESCAPE_CHARACTER = "~";
|
|
180
|
+
/**
|
|
181
|
+
* Escapes the LIKE metacharacters of a value that is going to be embedded in a
|
|
182
|
+
* pattern, so a role literally named `admin_1` does not also match `adminX1`.
|
|
183
|
+
*/
|
|
184
|
+
export declare function escapeLikeValue(value: string): string;
|
|
135
185
|
export declare abstract class ColumnStatement extends QueryStatement {
|
|
136
186
|
protected _column: string | RawQuery;
|
|
137
187
|
protected _alias: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"statements.d.ts","sourceRoot":"","sources":["../../src/statements.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"statements.d.ts","sourceRoot":"","sources":["../../src/statements.ts"],"names":[],"mappings":"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"}
|
package/lib/mjs/statements.js
CHANGED
|
@@ -243,6 +243,20 @@ ExistsQueryStatement = __decorate([
|
|
|
243
243
|
__metadata("design:paramtypes", [Function, Boolean])
|
|
244
244
|
], ExistsQueryStatement);
|
|
245
245
|
export { ExistsQueryStatement };
|
|
246
|
+
/**
|
|
247
|
+
* Membership test against a `@Set()` column — a single column holding several values
|
|
248
|
+
* joined by {@link SET_DELIMITER} ( see the SetValueConverter ).
|
|
249
|
+
*
|
|
250
|
+
* There is no portable SQL for this. MySQL has `FIND_IN_SET`, SQLite has `instr`,
|
|
251
|
+
* MSSQL has `CHARINDEX`, and the shared implementation falls back to `LIKE`. Each
|
|
252
|
+
* driver therefore registers its own subclass; whatever a driver does not register
|
|
253
|
+
* resolves to the portable one, which is correct everywhere and merely slower.
|
|
254
|
+
*
|
|
255
|
+
* The value rules below are shared because they are a property of the STORAGE
|
|
256
|
+
* FORMAT, not of any dialect: a value containing the delimiter cannot be
|
|
257
|
+
* represented in such a column at all, and every implementation must refuse it
|
|
258
|
+
* rather than emit a query that matches neighbouring entries.
|
|
259
|
+
*/
|
|
246
260
|
let InSetStatement = class InSetStatement extends QueryStatement {
|
|
247
261
|
constructor(column, val, not, tableAlias) {
|
|
248
262
|
super(tableAlias);
|
|
@@ -250,12 +264,69 @@ let InSetStatement = class InSetStatement extends QueryStatement {
|
|
|
250
264
|
this._not = not || false;
|
|
251
265
|
this._column = column || '';
|
|
252
266
|
}
|
|
267
|
+
/**
|
|
268
|
+
* The values to test, as strings, after rejecting anything the storage format
|
|
269
|
+
* cannot express.
|
|
270
|
+
*
|
|
271
|
+
* A value containing the delimiter is refused instead of being searched for:
|
|
272
|
+
* `whereInSet('Role', ['admin,user'])` can only ever be a caller mistake, and
|
|
273
|
+
* every implementation of this statement — `FIND_IN_SET` included — would
|
|
274
|
+
* answer it by matching a row holding `admin` next to `user`.
|
|
275
|
+
*/
|
|
276
|
+
values() {
|
|
277
|
+
return this._val.map((v) => {
|
|
278
|
+
if (v === null || v === undefined) {
|
|
279
|
+
throw new InvalidArgument(`set membership value cannot be null or undefined ( column ${this._column} )`);
|
|
280
|
+
}
|
|
281
|
+
const value = String(v);
|
|
282
|
+
if (value.includes(SET_DELIMITER)) {
|
|
283
|
+
throw new InvalidArgument(`set membership value "${value}" contains the set delimiter "${SET_DELIMITER}" and cannot be stored in, or matched against, column ${this._column}`);
|
|
284
|
+
}
|
|
285
|
+
return value;
|
|
286
|
+
});
|
|
287
|
+
}
|
|
288
|
+
/**
|
|
289
|
+
* Joins the per-value expressions into one statement.
|
|
290
|
+
*
|
|
291
|
+
* Negation is per value and AND-ed: "in none of these", which is the mirror of
|
|
292
|
+
* the OR-ed positive form.
|
|
293
|
+
*/
|
|
294
|
+
combine(expressions) {
|
|
295
|
+
if (expressions.length === 0) {
|
|
296
|
+
// An empty value list matches nothing, and its negation matches
|
|
297
|
+
// everything. Spelled out so the caller gets a valid query rather than an
|
|
298
|
+
// empty parenthesis the driver rejects.
|
|
299
|
+
return this._not ? '(1 = 1)' : '(1 = 0)';
|
|
300
|
+
}
|
|
301
|
+
return this._not ? `(${expressions.map((e) => `NOT ${e}`).join(' AND ')})` : `(${expressions.join(' OR ')})`;
|
|
302
|
+
}
|
|
253
303
|
};
|
|
254
304
|
InSetStatement = __decorate([
|
|
255
305
|
NewInstance(),
|
|
256
306
|
__metadata("design:paramtypes", [String, Array, Boolean, String])
|
|
257
307
|
], InSetStatement);
|
|
258
308
|
export { InSetStatement };
|
|
309
|
+
/**
|
|
310
|
+
* Delimiter a `@Set()` column is stored with. Must agree with the SetValueConverter,
|
|
311
|
+
* which joins on it.
|
|
312
|
+
*/
|
|
313
|
+
export const SET_DELIMITER = ',';
|
|
314
|
+
/**
|
|
315
|
+
* Escape character for the LIKE patterns of the portable membership test.
|
|
316
|
+
*
|
|
317
|
+
* NOT a backslash: MySQL treats a backslash as an escape inside string literals of
|
|
318
|
+
* its own, so `ESCAPE '\'` is a syntax error there and `ESCAPE '\\'` means something
|
|
319
|
+
* different again depending on `NO_BACKSLASH_ESCAPES`. A character with no special
|
|
320
|
+
* meaning in any of the three dialects avoids the whole question.
|
|
321
|
+
*/
|
|
322
|
+
export const LIKE_ESCAPE_CHARACTER = '~';
|
|
323
|
+
/**
|
|
324
|
+
* Escapes the LIKE metacharacters of a value that is going to be embedded in a
|
|
325
|
+
* pattern, so a role literally named `admin_1` does not also match `adminX1`.
|
|
326
|
+
*/
|
|
327
|
+
export function escapeLikeValue(value) {
|
|
328
|
+
return value.replace(new RegExp(`[${LIKE_ESCAPE_CHARACTER}%_]`, 'g'), (c) => `${LIKE_ESCAPE_CHARACTER}${c}`);
|
|
329
|
+
}
|
|
259
330
|
let ColumnStatement = class ColumnStatement extends QueryStatement {
|
|
260
331
|
constructor(column, alias, tableAlias, descriptor) {
|
|
261
332
|
super(tableAlias);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"statements.js","sourceRoot":"","sources":["../../src/statements.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"statements.js","sourceRoot":"","sources":["../../src/statements.ts"],"names":[],"mappings":"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"}
|
package/lib/mjs/symbols.d.ts
CHANGED
|
@@ -4,4 +4,15 @@
|
|
|
4
4
|
export declare const MODEL_DESCTRIPTION_SYMBOL: unique symbol;
|
|
5
5
|
export declare const MIGRATION_DESCRIPTION_SYMBOL: unique symbol;
|
|
6
6
|
export declare const SCHEMA_SYMBOL: unique symbol;
|
|
7
|
+
/**
|
|
8
|
+
* A migration class name carries its own creation timestamp - `SomeName_yyyy_MM_dd_HH_mm_ss` -
|
|
9
|
+
* and that timestamp is the only ordering the runner has.
|
|
10
|
+
*
|
|
11
|
+
* Lives here rather than in `migration-runner.ts` ( which re-exports it for its existing public
|
|
12
|
+
* import path ) because this module is a leaf with zero relative imports. `migration-runner.ts`
|
|
13
|
+
* sits in a require cycle with `orm.ts`, reaching it through `migration-service.js`, `driver.js`
|
|
14
|
+
* and onwards, while `migration-environment.ts` ( which also needs this regexp ) is itself
|
|
15
|
+
* required BY `orm.ts`. Importing it from the runner would close that cycle one hop earlier.
|
|
16
|
+
*/
|
|
17
|
+
export declare const MIGRATION_FILE_REGEXP: RegExp;
|
|
7
18
|
//# sourceMappingURL=symbols.d.ts.map
|
package/lib/mjs/symbols.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"symbols.d.ts","sourceRoot":"","sources":["../../src/symbols.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,yBAAyB,eAAiC,CAAC;AACxE,eAAO,MAAM,4BAA4B,eAAqC,CAAC;AAC/E,eAAO,MAAM,aAAa,eAAkC,CAAC"}
|
|
1
|
+
{"version":3,"file":"symbols.d.ts","sourceRoot":"","sources":["../../src/symbols.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,yBAAyB,eAAiC,CAAC;AACxE,eAAO,MAAM,4BAA4B,eAAqC,CAAC;AAC/E,eAAO,MAAM,aAAa,eAAkC,CAAC;AAE7D;;;;;;;;;GASG;AACH,eAAO,MAAM,qBAAqB,QAAiE,CAAC"}
|
package/lib/mjs/symbols.js
CHANGED
|
@@ -4,4 +4,15 @@
|
|
|
4
4
|
export const MODEL_DESCTRIPTION_SYMBOL = Symbol.for('MODEL_DESCRIPTOR');
|
|
5
5
|
export const MIGRATION_DESCRIPTION_SYMBOL = Symbol.for('MIGRATION_DESCRIPTOR');
|
|
6
6
|
export const SCHEMA_SYMBOL = Symbol.for('ORM_SCHEMA_SYMBOL');
|
|
7
|
+
/**
|
|
8
|
+
* A migration class name carries its own creation timestamp - `SomeName_yyyy_MM_dd_HH_mm_ss` -
|
|
9
|
+
* and that timestamp is the only ordering the runner has.
|
|
10
|
+
*
|
|
11
|
+
* Lives here rather than in `migration-runner.ts` ( which re-exports it for its existing public
|
|
12
|
+
* import path ) because this module is a leaf with zero relative imports. `migration-runner.ts`
|
|
13
|
+
* sits in a require cycle with `orm.ts`, reaching it through `migration-service.js`, `driver.js`
|
|
14
|
+
* and onwards, while `migration-environment.ts` ( which also needs this regexp ) is itself
|
|
15
|
+
* required BY `orm.ts`. Importing it from the runner would close that cycle one hop earlier.
|
|
16
|
+
*/
|
|
17
|
+
export const MIGRATION_FILE_REGEXP = /(.*)_([0-9]{4}_[0-9]{2}_[0-9]{2}_[0-9]{2}_[0-9]{2}_[0-9]{2})/;
|
|
7
18
|
//# sourceMappingURL=symbols.js.map
|
package/lib/mjs/symbols.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"symbols.js","sourceRoot":"","sources":["../../src/symbols.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;AACxE,MAAM,CAAC,MAAM,4BAA4B,GAAG,MAAM,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;AAC/E,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"symbols.js","sourceRoot":"","sources":["../../src/symbols.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;AACxE,MAAM,CAAC,MAAM,4BAA4B,GAAG,MAAM,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;AAC/E,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;AAE7D;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,8DAA8D,CAAC"}
|