bigal 12.1.4 → 13.0.0-beta1
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/.devcontainer/devcontainer.json +16 -0
- package/.husky/pre-commit +4 -0
- package/.prettierrc.cjs +34 -0
- package/CHANGELOG.md +9 -0
- package/dist/index.cjs +2626 -0
- package/dist/index.d.cts +892 -0
- package/dist/index.d.mts +892 -0
- package/dist/index.d.ts +892 -0
- package/dist/index.mjs +2605 -0
- package/eslint.config.mjs +25 -0
- package/package.json +46 -37
- package/tsconfig.build.json +7 -0
- package/Entity.d.ts +0 -16
- package/Entity.js +0 -13
- package/Entity.js.map +0 -1
- package/IReadonlyRepository.d.ts +0 -36
- package/IReadonlyRepository.js +0 -3
- package/IReadonlyRepository.js.map +0 -1
- package/IRepository.d.ts +0 -99
- package/IRepository.js +0 -3
- package/IRepository.js.map +0 -1
- package/ReadonlyRepository.d.ts +0 -69
- package/ReadonlyRepository.js +0 -687
- package/ReadonlyRepository.js.map +0 -1
- package/Repository.d.ts +0 -69
- package/Repository.js +0 -171
- package/Repository.js.map +0 -1
- package/SqlHelper.d.ts +0 -144
- package/SqlHelper.js +0 -1081
- package/SqlHelper.js.map +0 -1
- package/decorators/ColumnBaseOptions.d.ts +0 -10
- package/decorators/ColumnBaseOptions.js +0 -3
- package/decorators/ColumnBaseOptions.js.map +0 -1
- package/decorators/ColumnCollectionOptions.d.ts +0 -15
- package/decorators/ColumnCollectionOptions.js +0 -3
- package/decorators/ColumnCollectionOptions.js.map +0 -1
- package/decorators/ColumnModelOptions.d.ts +0 -7
- package/decorators/ColumnModelOptions.js +0 -3
- package/decorators/ColumnModelOptions.js.map +0 -1
- package/decorators/ColumnTypeOptions.d.ts +0 -21
- package/decorators/ColumnTypeOptions.js +0 -3
- package/decorators/ColumnTypeOptions.js.map +0 -1
- package/decorators/TableOptions.d.ts +0 -14
- package/decorators/TableOptions.js +0 -3
- package/decorators/TableOptions.js.map +0 -1
- package/decorators/column.d.ts +0 -9
- package/decorators/column.js +0 -93
- package/decorators/column.js.map +0 -1
- package/decorators/createDateColumn.d.ts +0 -6
- package/decorators/createDateColumn.js +0 -50
- package/decorators/createDateColumn.js.map +0 -1
- package/decorators/index.d.ts +0 -6
- package/decorators/index.js +0 -23
- package/decorators/index.js.map +0 -1
- package/decorators/primaryColumn.d.ts +0 -8
- package/decorators/primaryColumn.js +0 -66
- package/decorators/primaryColumn.js.map +0 -1
- package/decorators/table.d.ts +0 -5
- package/decorators/table.js +0 -40
- package/decorators/table.js.map +0 -1
- package/decorators/updateDateColumn.d.ts +0 -6
- package/decorators/updateDateColumn.js +0 -51
- package/decorators/updateDateColumn.js.map +0 -1
- package/decorators/versionColumn.d.ts +0 -6
- package/decorators/versionColumn.js +0 -51
- package/decorators/versionColumn.js.map +0 -1
- package/errors/QueryError.d.ts +0 -8
- package/errors/QueryError.js +0 -13
- package/errors/QueryError.js.map +0 -1
- package/errors/index.d.ts +0 -1
- package/errors/index.js +0 -18
- package/errors/index.js.map +0 -1
- package/index.d.ts +0 -35
- package/index.js +0 -220
- package/index.js.map +0 -1
- package/metadata/ColumnBaseMetadata.d.ts +0 -93
- package/metadata/ColumnBaseMetadata.js +0 -19
- package/metadata/ColumnBaseMetadata.js.map +0 -1
- package/metadata/ColumnCollectionMetadata.d.ts +0 -36
- package/metadata/ColumnCollectionMetadata.js +0 -63
- package/metadata/ColumnCollectionMetadata.js.map +0 -1
- package/metadata/ColumnMetadata.d.ts +0 -4
- package/metadata/ColumnMetadata.js +0 -3
- package/metadata/ColumnMetadata.js.map +0 -1
- package/metadata/ColumnModelMetadata.d.ts +0 -18
- package/metadata/ColumnModelMetadata.js +0 -43
- package/metadata/ColumnModelMetadata.js.map +0 -1
- package/metadata/ColumnModifierMetadata.d.ts +0 -46
- package/metadata/ColumnModifierMetadata.js +0 -3
- package/metadata/ColumnModifierMetadata.js.map +0 -1
- package/metadata/ColumnTypeMetadata.d.ts +0 -43
- package/metadata/ColumnTypeMetadata.js +0 -26
- package/metadata/ColumnTypeMetadata.js.map +0 -1
- package/metadata/MetadataStorage.d.ts +0 -13
- package/metadata/MetadataStorage.js +0 -19
- package/metadata/MetadataStorage.js.map +0 -1
- package/metadata/ModelMetadata.d.ts +0 -36
- package/metadata/ModelMetadata.js +0 -81
- package/metadata/ModelMetadata.js.map +0 -1
- package/metadata/index.d.ts +0 -10
- package/metadata/index.js +0 -33
- package/metadata/index.js.map +0 -1
- package/query/Comparer.d.ts +0 -1
- package/query/Comparer.js +0 -3
- package/query/Comparer.js.map +0 -1
- package/query/CountArgs.d.ts +0 -7
- package/query/CountArgs.js +0 -3
- package/query/CountArgs.js.map +0 -1
- package/query/CountResult.d.ts +0 -5
- package/query/CountResult.js +0 -3
- package/query/CountResult.js.map +0 -1
- package/query/CreateOptions.d.ts +0 -9
- package/query/CreateOptions.js +0 -3
- package/query/CreateOptions.js.map +0 -1
- package/query/CreateUpdateOptions.d.ts +0 -4
- package/query/CreateUpdateOptions.js +0 -3
- package/query/CreateUpdateOptions.js.map +0 -1
- package/query/DeleteOptions.d.ts +0 -12
- package/query/DeleteOptions.js +0 -3
- package/query/DeleteOptions.js.map +0 -1
- package/query/DestroyResult.d.ts +0 -5
- package/query/DestroyResult.js +0 -3
- package/query/DestroyResult.js.map +0 -1
- package/query/DoNotReturnRecords.d.ts +0 -3
- package/query/DoNotReturnRecords.js +0 -3
- package/query/DoNotReturnRecords.js.map +0 -1
- package/query/FindArgs.d.ts +0 -6
- package/query/FindArgs.js +0 -3
- package/query/FindArgs.js.map +0 -1
- package/query/FindOneArgs.d.ts +0 -11
- package/query/FindOneArgs.js +0 -3
- package/query/FindOneArgs.js.map +0 -1
- package/query/FindOneResult.d.ts +0 -12
- package/query/FindOneResult.js +0 -3
- package/query/FindOneResult.js.map +0 -1
- package/query/FindResult.d.ts +0 -15
- package/query/FindResult.js +0 -3
- package/query/FindResult.js.map +0 -1
- package/query/OnConflictOptions.d.ts +0 -25
- package/query/OnConflictOptions.js +0 -3
- package/query/OnConflictOptions.js.map +0 -1
- package/query/PaginateOptions.d.ts +0 -4
- package/query/PaginateOptions.js +0 -3
- package/query/PaginateOptions.js.map +0 -1
- package/query/PopulateArgs.d.ts +0 -13
- package/query/PopulateArgs.js +0 -3
- package/query/PopulateArgs.js.map +0 -1
- package/query/ReturnSelect.d.ts +0 -5
- package/query/ReturnSelect.js +0 -3
- package/query/ReturnSelect.js.map +0 -1
- package/query/Sort.d.ts +0 -15
- package/query/Sort.js +0 -3
- package/query/Sort.js.map +0 -1
- package/query/WhereQuery.d.ts +0 -21
- package/query/WhereQuery.js +0 -3
- package/query/WhereQuery.js.map +0 -1
- package/query/index.d.ts +0 -15
- package/query/index.js +0 -32
- package/query/index.js.map +0 -1
- package/types/ClassLike.d.ts +0 -8
- package/types/ClassLike.js +0 -3
- package/types/ClassLike.js.map +0 -1
- package/types/CreateUpdateParams.d.ts +0 -9
- package/types/CreateUpdateParams.js +0 -3
- package/types/CreateUpdateParams.js.map +0 -1
- package/types/EntityPrimitiveOrId.d.ts +0 -2
- package/types/EntityPrimitiveOrId.js +0 -3
- package/types/EntityPrimitiveOrId.js.map +0 -1
- package/types/ExcludeEntityCollections.d.ts +0 -5
- package/types/ExcludeEntityCollections.js +0 -3
- package/types/ExcludeEntityCollections.js.map +0 -1
- package/types/ExcludeFunctions.d.ts +0 -4
- package/types/ExcludeFunctions.js +0 -3
- package/types/ExcludeFunctions.js.map +0 -1
- package/types/GetValueType.d.ts +0 -1
- package/types/GetValueType.js +0 -3
- package/types/GetValueType.js.map +0 -1
- package/types/IncludeFunctions.d.ts +0 -4
- package/types/IncludeFunctions.js +0 -3
- package/types/IncludeFunctions.js.map +0 -1
- package/types/IsValueOfType.d.ts +0 -1
- package/types/IsValueOfType.js +0 -3
- package/types/IsValueOfType.js.map +0 -1
- package/types/OmitEntityCollections.d.ts +0 -7
- package/types/OmitEntityCollections.js +0 -3
- package/types/OmitEntityCollections.js.map +0 -1
- package/types/OmitFunctions.d.ts +0 -7
- package/types/OmitFunctions.js +0 -3
- package/types/OmitFunctions.js.map +0 -1
- package/types/PickAsType.d.ts +0 -3
- package/types/PickAsType.js +0 -3
- package/types/PickAsType.js.map +0 -1
- package/types/PickByValueType.d.ts +0 -5
- package/types/PickByValueType.js +0 -3
- package/types/PickByValueType.js.map +0 -1
- package/types/PickFunctions.d.ts +0 -4
- package/types/PickFunctions.js +0 -3
- package/types/PickFunctions.js.map +0 -1
- package/types/Populated.d.ts +0 -9
- package/types/Populated.js +0 -3
- package/types/Populated.js.map +0 -1
- package/types/QueryResult.d.ts +0 -9
- package/types/QueryResult.js +0 -3
- package/types/QueryResult.js.map +0 -1
- package/types/QueryResultOptionalPopulated.d.ts +0 -9
- package/types/QueryResultOptionalPopulated.js +0 -3
- package/types/QueryResultOptionalPopulated.js.map +0 -1
- package/types/QueryResultPopulated.d.ts +0 -9
- package/types/QueryResultPopulated.js +0 -3
- package/types/QueryResultPopulated.js.map +0 -1
- package/types/index.d.ts +0 -17
- package/types/index.js +0 -34
- package/types/index.js.map +0 -1
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.versionColumn = void 0;
|
|
7
|
-
const lodash_1 = __importDefault(require("lodash"));
|
|
8
|
-
const metadata_1 = require("../metadata");
|
|
9
|
-
function versionColumn(dbColumnNameOrOptions, options) {
|
|
10
|
-
return function versionColumnDecorator(object, propertyName) {
|
|
11
|
-
let dbColumnName;
|
|
12
|
-
if (typeof dbColumnNameOrOptions === 'string') {
|
|
13
|
-
dbColumnName = dbColumnNameOrOptions;
|
|
14
|
-
}
|
|
15
|
-
else {
|
|
16
|
-
// eslint-disable-next-line no-param-reassign
|
|
17
|
-
options = dbColumnNameOrOptions;
|
|
18
|
-
}
|
|
19
|
-
if (dbColumnNameOrOptions) {
|
|
20
|
-
if (!options) {
|
|
21
|
-
// eslint-disable-next-line no-param-reassign
|
|
22
|
-
options = {};
|
|
23
|
-
}
|
|
24
|
-
if (!dbColumnName) {
|
|
25
|
-
dbColumnName = options.name ?? lodash_1.default.snakeCase(propertyName);
|
|
26
|
-
}
|
|
27
|
-
const metadataStorage = (0, metadata_1.getMetadataStorage)();
|
|
28
|
-
metadataStorage.columns.push(new metadata_1.ColumnTypeMetadata({
|
|
29
|
-
target: object.constructor.name,
|
|
30
|
-
name: dbColumnName,
|
|
31
|
-
propertyName,
|
|
32
|
-
version: true,
|
|
33
|
-
required: options.required,
|
|
34
|
-
type: options.type,
|
|
35
|
-
}));
|
|
36
|
-
}
|
|
37
|
-
else {
|
|
38
|
-
const metadataStorage = (0, metadata_1.getMetadataStorage)();
|
|
39
|
-
metadataStorage.columnModifiers.push({
|
|
40
|
-
target: object.constructor.name,
|
|
41
|
-
name: dbColumnName ?? lodash_1.default.snakeCase(propertyName),
|
|
42
|
-
propertyName,
|
|
43
|
-
version: true,
|
|
44
|
-
required: options ? options.required : undefined,
|
|
45
|
-
type: options ? options.type : undefined,
|
|
46
|
-
});
|
|
47
|
-
}
|
|
48
|
-
};
|
|
49
|
-
}
|
|
50
|
-
exports.versionColumn = versionColumn;
|
|
51
|
-
//# sourceMappingURL=versionColumn.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"versionColumn.js","sourceRoot":"./","sources":["decorators/versionColumn.ts"],"names":[],"mappings":";;;;;;AAAA,oDAAuB;AAGvB,0CAAqE;AASrE,SAAgB,aAAa,CAAC,qBAAkD,EAAE,OAA2B;IAC3G,OAAO,SAAS,sBAAsB,CAAC,MAAiB,EAAE,YAAoB;QAC5E,IAAI,YAAgC,CAAC;QACrC,IAAI,OAAO,qBAAqB,KAAK,QAAQ,EAAE,CAAC;YAC9C,YAAY,GAAG,qBAAqB,CAAC;QACvC,CAAC;aAAM,CAAC;YACN,6CAA6C;YAC7C,OAAO,GAAG,qBAAqB,CAAC;QAClC,CAAC;QAED,IAAI,qBAAqB,EAAE,CAAC;YAC1B,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,6CAA6C;gBAC7C,OAAO,GAAG,EAAuB,CAAC;YACpC,CAAC;YAED,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,YAAY,GAAG,OAAO,CAAC,IAAI,IAAI,gBAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;YAC3D,CAAC;YAED,MAAM,eAAe,GAAG,IAAA,6BAAkB,GAAE,CAAC;YAC7C,eAAe,CAAC,OAAO,CAAC,IAAI,CAC1B,IAAI,6BAAkB,CAAC;gBACrB,MAAM,EAAE,MAAM,CAAC,WAAW,CAAC,IAAI;gBAC/B,IAAI,EAAE,YAAY;gBAClB,YAAY;gBACZ,OAAO,EAAE,IAAI;gBACb,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,IAAI,EAAE,OAAO,CAAC,IAAI;aACnB,CAAC,CACH,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,eAAe,GAAG,IAAA,6BAAkB,GAAE,CAAC;YAC7C,eAAe,CAAC,eAAe,CAAC,IAAI,CAAC;gBACnC,MAAM,EAAE,MAAM,CAAC,WAAW,CAAC,IAAI;gBAC/B,IAAI,EAAE,YAAY,IAAI,gBAAC,CAAC,SAAS,CAAC,YAAY,CAAC;gBAC/C,YAAY;gBACZ,OAAO,EAAE,IAAI;gBACb,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;gBAChD,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;aACf,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AA3CD,sCA2CC"}
|
package/errors/QueryError.d.ts
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import type { Entity } from '../Entity';
|
|
2
|
-
import type { ModelMetadata } from '../metadata';
|
|
3
|
-
import type { WhereQuery } from '../query';
|
|
4
|
-
export declare class QueryError<T extends Entity> extends Error {
|
|
5
|
-
model: ModelMetadata<T>;
|
|
6
|
-
where: WhereQuery<T> | undefined;
|
|
7
|
-
constructor(message: string, model: ModelMetadata<T>, where?: WhereQuery<T>);
|
|
8
|
-
}
|
package/errors/QueryError.js
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.QueryError = void 0;
|
|
4
|
-
class QueryError extends Error {
|
|
5
|
-
constructor(message, model, where) {
|
|
6
|
-
super(message);
|
|
7
|
-
this.model = model;
|
|
8
|
-
this.where = where;
|
|
9
|
-
Object.setPrototypeOf(this, QueryError.prototype);
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
exports.QueryError = QueryError;
|
|
13
|
-
//# sourceMappingURL=QueryError.js.map
|
package/errors/QueryError.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"QueryError.js","sourceRoot":"./","sources":["errors/QueryError.ts"],"names":[],"mappings":";;;AAIA,MAAa,UAA6B,SAAQ,KAAK;IAKrD,YAAmB,OAAe,EAAE,KAAuB,EAAE,KAAqB;QAChF,KAAK,CAAC,OAAO,CAAC,CAAC;QAEf,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QAEnB,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;IACpD,CAAC;CACF;AAbD,gCAaC"}
|
package/errors/index.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './QueryError';
|
package/errors/index.js
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./QueryError"), exports);
|
|
18
|
-
//# sourceMappingURL=index.js.map
|
package/errors/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"./","sources":["errors/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B"}
|
package/index.d.ts
DELETED
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import type { Pool } from 'postgres-pool';
|
|
2
|
-
import type { Entity, EntityStatic } from './Entity';
|
|
3
|
-
import type { IReadonlyRepository } from './IReadonlyRepository';
|
|
4
|
-
import type { IRepository } from './IRepository';
|
|
5
|
-
import { ModelMetadata } from './metadata';
|
|
6
|
-
import { ReadonlyRepository } from './ReadonlyRepository';
|
|
7
|
-
import { Repository } from './Repository';
|
|
8
|
-
export * from './decorators';
|
|
9
|
-
export * from './Entity';
|
|
10
|
-
export * from './IReadonlyRepository';
|
|
11
|
-
export * from './IRepository';
|
|
12
|
-
export * from './metadata';
|
|
13
|
-
export * from './ReadonlyRepository';
|
|
14
|
-
export * from './Repository';
|
|
15
|
-
export * from './types';
|
|
16
|
-
export interface IConnection {
|
|
17
|
-
pool: Pool;
|
|
18
|
-
readonlyPool?: Pool;
|
|
19
|
-
}
|
|
20
|
-
export interface InitializeOptions extends IConnection {
|
|
21
|
-
models: EntityStatic<Entity>[];
|
|
22
|
-
connections?: Record<string, IConnection>;
|
|
23
|
-
expose?: (repository: ReadonlyRepository<Entity> | Repository<Entity>, tableMetadata: ModelMetadata<Entity>) => void;
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* Initializes BigAl
|
|
27
|
-
* @param {object[]} models - Model classes - used to force decorator evaluation for all models
|
|
28
|
-
* @param {object[]} modelSchemas - Model definitions
|
|
29
|
-
* @param {object} pool - Postgres Pool
|
|
30
|
-
* @param {object} [readonlyPool] - Postgres Pool for `find` and `findOne` operations. If not defined, `pool` will be used
|
|
31
|
-
* @param {object} [connections] - Key: name of the connection; Value: { pool, readonlyPool }
|
|
32
|
-
* @param {Function} [expose] - Used to expose model classes
|
|
33
|
-
* @returns {object} Repositories by model name
|
|
34
|
-
*/
|
|
35
|
-
export declare function initialize({ models, pool, readonlyPool, connections, expose }: InitializeOptions): Record<string, IReadonlyRepository<Entity> | IRepository<Entity>>;
|
package/index.js
DELETED
|
@@ -1,220 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
17
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
18
|
-
};
|
|
19
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
-
exports.initialize = void 0;
|
|
21
|
-
const lodash_1 = __importDefault(require("lodash"));
|
|
22
|
-
const metadata_1 = require("./metadata");
|
|
23
|
-
const ReadonlyRepository_1 = require("./ReadonlyRepository");
|
|
24
|
-
const Repository_1 = require("./Repository");
|
|
25
|
-
__exportStar(require("./decorators"), exports);
|
|
26
|
-
__exportStar(require("./Entity"), exports);
|
|
27
|
-
__exportStar(require("./IReadonlyRepository"), exports);
|
|
28
|
-
__exportStar(require("./IRepository"), exports);
|
|
29
|
-
__exportStar(require("./metadata"), exports);
|
|
30
|
-
__exportStar(require("./ReadonlyRepository"), exports);
|
|
31
|
-
__exportStar(require("./Repository"), exports);
|
|
32
|
-
__exportStar(require("./types"), exports);
|
|
33
|
-
// This will build an inverted array of inherited classes ([grandparent, parent, item])
|
|
34
|
-
function getInheritanceTree(model) {
|
|
35
|
-
const tree = [model];
|
|
36
|
-
function getRecursivePrototypesOf(parentEntity) {
|
|
37
|
-
const proto = Object.getPrototypeOf(parentEntity);
|
|
38
|
-
if (proto && proto.name && proto.name !== 'Function') {
|
|
39
|
-
tree.unshift(proto);
|
|
40
|
-
getRecursivePrototypesOf(proto);
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
getRecursivePrototypesOf(model);
|
|
44
|
-
return tree;
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* Initializes BigAl
|
|
48
|
-
* @param {object[]} models - Model classes - used to force decorator evaluation for all models
|
|
49
|
-
* @param {object[]} modelSchemas - Model definitions
|
|
50
|
-
* @param {object} pool - Postgres Pool
|
|
51
|
-
* @param {object} [readonlyPool] - Postgres Pool for `find` and `findOne` operations. If not defined, `pool` will be used
|
|
52
|
-
* @param {object} [connections] - Key: name of the connection; Value: { pool, readonlyPool }
|
|
53
|
-
* @param {Function} [expose] - Used to expose model classes
|
|
54
|
-
* @returns {object} Repositories by model name
|
|
55
|
-
*/
|
|
56
|
-
function initialize({ models, pool, readonlyPool = pool, connections = {}, expose }) {
|
|
57
|
-
if (!models.length) {
|
|
58
|
-
throw new Error('Models need to be specified to read all model information from decorators');
|
|
59
|
-
}
|
|
60
|
-
const inheritanceTreesByModelName = {};
|
|
61
|
-
const modelNames = [];
|
|
62
|
-
for (const model of models) {
|
|
63
|
-
// Load inheritance hierarchy for each model. This will make sure that any decorators on inherited class files are
|
|
64
|
-
// added to metadata storage
|
|
65
|
-
inheritanceTreesByModelName[model.name] = getInheritanceTree(model);
|
|
66
|
-
modelNames.push(model.name);
|
|
67
|
-
}
|
|
68
|
-
// Assemble all metadata for complete model and column definitions
|
|
69
|
-
const metadataStorage = (0, metadata_1.getMetadataStorage)();
|
|
70
|
-
const modelMetadataByModelName = {};
|
|
71
|
-
for (const model of metadataStorage.models) {
|
|
72
|
-
modelMetadataByModelName[model.name] = model;
|
|
73
|
-
}
|
|
74
|
-
// Add dictionary to quickly find a column by propertyName, for applying ColumnModifierMetadata records
|
|
75
|
-
const columnsByPropertyNameForModel = {};
|
|
76
|
-
for (const column of metadataStorage.columns) {
|
|
77
|
-
const columns = columnsByPropertyNameForModel[column.target] ?? {};
|
|
78
|
-
columns[column.propertyName] = column;
|
|
79
|
-
columnsByPropertyNameForModel[column.target] = columns;
|
|
80
|
-
}
|
|
81
|
-
const columnModifiersByPropertyNameForModel = {};
|
|
82
|
-
for (const columnModifier of metadataStorage.columnModifiers) {
|
|
83
|
-
const columnModifiersForModel = columnModifiersByPropertyNameForModel[columnModifier.target] ?? {};
|
|
84
|
-
const columnModifiersForProperty = columnModifiersForModel[columnModifier.propertyName] ?? [];
|
|
85
|
-
columnModifiersForProperty.push(columnModifier);
|
|
86
|
-
columnModifiersForModel[columnModifier.propertyName] = columnModifiersForProperty;
|
|
87
|
-
columnModifiersByPropertyNameForModel[columnModifier.target] = columnModifiersForModel;
|
|
88
|
-
}
|
|
89
|
-
// Aggregate columns from inherited classes
|
|
90
|
-
// NOTE: Inherited @columns will be replaced if found on a child class. Column modifiers, however, are additive.
|
|
91
|
-
// @column found on a child class will remove any previous modifier
|
|
92
|
-
for (const model of models) {
|
|
93
|
-
let modelMetadata;
|
|
94
|
-
let inheritedColumnsByPropertyName = {};
|
|
95
|
-
const inheritedColumnModifiersByPropertyName = {};
|
|
96
|
-
for (const inheritedClass of inheritanceTreesByModelName[model.name] ?? []) {
|
|
97
|
-
modelMetadata = modelMetadataByModelName[inheritedClass.name] ?? modelMetadata;
|
|
98
|
-
const columnsByPropertyName = columnsByPropertyNameForModel[inheritedClass.name] ?? {};
|
|
99
|
-
inheritedColumnsByPropertyName = {
|
|
100
|
-
...inheritedColumnsByPropertyName,
|
|
101
|
-
...columnsByPropertyName,
|
|
102
|
-
};
|
|
103
|
-
// Remove any previously defined column modifiers for this property since a new @column was found
|
|
104
|
-
for (const [propertyName] of Object.entries(columnsByPropertyName)) {
|
|
105
|
-
delete inheritedColumnModifiersByPropertyName[propertyName];
|
|
106
|
-
}
|
|
107
|
-
const columnModifiersByPropertyName = columnModifiersByPropertyNameForModel[inheritedClass.name] ?? {};
|
|
108
|
-
for (const [propertyName, columnModifiers] of Object.entries(columnModifiersByPropertyName)) {
|
|
109
|
-
inheritedColumnModifiersByPropertyName[propertyName] = [...(inheritedColumnModifiersByPropertyName[propertyName] ?? []), ...(columnModifiers ?? [])];
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
if (!modelMetadata) {
|
|
113
|
-
throw new Error(`Unable to find @table() on ${model.name}`);
|
|
114
|
-
}
|
|
115
|
-
modelMetadataByModelName[model.name] = new metadata_1.ModelMetadata({
|
|
116
|
-
...modelMetadata,
|
|
117
|
-
name: model.name,
|
|
118
|
-
type: model,
|
|
119
|
-
});
|
|
120
|
-
columnsByPropertyNameForModel[model.name] = inheritedColumnsByPropertyName;
|
|
121
|
-
columnModifiersByPropertyNameForModel[model.name] = inheritedColumnModifiersByPropertyName;
|
|
122
|
-
}
|
|
123
|
-
// Process all column modifiers to augment any @column definitions
|
|
124
|
-
for (const [modelName, columnModifiersByPropertyName] of Object.entries(columnModifiersByPropertyNameForModel)) {
|
|
125
|
-
const columnsByPropertyName = columnsByPropertyNameForModel[modelName] ?? {};
|
|
126
|
-
for (const [propertyName, columnModifiers] of Object.entries(columnModifiersByPropertyName)) {
|
|
127
|
-
const column = columnsByPropertyName[propertyName];
|
|
128
|
-
if (column) {
|
|
129
|
-
for (const columnModifier of columnModifiers) {
|
|
130
|
-
Object.assign(column, lodash_1.default.omit(columnModifier, ['target', 'name', 'propertyName', 'type', 'model']));
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
else {
|
|
134
|
-
let columnDetails = {
|
|
135
|
-
target: modelName,
|
|
136
|
-
propertyName,
|
|
137
|
-
};
|
|
138
|
-
for (const columnModifier of columnModifiers) {
|
|
139
|
-
columnDetails = {
|
|
140
|
-
...columnDetails,
|
|
141
|
-
...columnModifier,
|
|
142
|
-
};
|
|
143
|
-
}
|
|
144
|
-
if (!columnDetails.name) {
|
|
145
|
-
throw new Error(`Missing column name for ${modelName}#${propertyName}`);
|
|
146
|
-
}
|
|
147
|
-
if (!columnDetails.type && !columnDetails.model) {
|
|
148
|
-
throw new Error(`Missing column type for ${modelName}#${propertyName}`);
|
|
149
|
-
}
|
|
150
|
-
if (columnDetails.model) {
|
|
151
|
-
columnsByPropertyName[propertyName] = new metadata_1.ColumnModelMetadata({
|
|
152
|
-
...columnDetails,
|
|
153
|
-
name: columnDetails.name,
|
|
154
|
-
model: columnDetails.model,
|
|
155
|
-
});
|
|
156
|
-
}
|
|
157
|
-
else if (columnDetails.type) {
|
|
158
|
-
columnsByPropertyName[propertyName] = new metadata_1.ColumnTypeMetadata({
|
|
159
|
-
...columnDetails,
|
|
160
|
-
name: columnDetails.name,
|
|
161
|
-
type: columnDetails.type,
|
|
162
|
-
});
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
columnsByPropertyNameForModel[modelName] = columnsByPropertyName;
|
|
167
|
-
}
|
|
168
|
-
const repositoriesByModelNameLowered = {};
|
|
169
|
-
const repositoriesByModelName = {};
|
|
170
|
-
for (const modelName of modelNames) {
|
|
171
|
-
const model = modelMetadataByModelName[modelName];
|
|
172
|
-
if (!model) {
|
|
173
|
-
throw new Error(`Unable to find @table() on ${modelName}`);
|
|
174
|
-
}
|
|
175
|
-
const columnsByPropertyName = columnsByPropertyNameForModel[modelName];
|
|
176
|
-
if (!columnsByPropertyName) {
|
|
177
|
-
throw new Error(`Did not find any columns decorated with @column. Model: ${modelName}`);
|
|
178
|
-
}
|
|
179
|
-
model.columns = Object.values(columnsByPropertyName);
|
|
180
|
-
let modelPool = pool;
|
|
181
|
-
let modelReadonlyPool = readonlyPool;
|
|
182
|
-
if (model.connection) {
|
|
183
|
-
const modelConnection = connections[model.connection];
|
|
184
|
-
if (!modelConnection) {
|
|
185
|
-
throw new Error(`Unable to find connection (${model.connection}) for entity: ${model.name}`);
|
|
186
|
-
}
|
|
187
|
-
modelPool = modelConnection.pool || pool;
|
|
188
|
-
modelReadonlyPool = modelConnection.readonlyPool ?? modelPool;
|
|
189
|
-
}
|
|
190
|
-
let repository;
|
|
191
|
-
if (model.readonly) {
|
|
192
|
-
repository = new ReadonlyRepository_1.ReadonlyRepository({
|
|
193
|
-
modelMetadata: model,
|
|
194
|
-
type: model.type,
|
|
195
|
-
repositoriesByModelNameLowered,
|
|
196
|
-
pool: modelPool,
|
|
197
|
-
readonlyPool: modelReadonlyPool,
|
|
198
|
-
});
|
|
199
|
-
repositoriesByModelNameLowered[model.name.toLowerCase()] = repository;
|
|
200
|
-
repositoriesByModelName[model.name] = repository;
|
|
201
|
-
}
|
|
202
|
-
else {
|
|
203
|
-
repository = new Repository_1.Repository({
|
|
204
|
-
modelMetadata: model,
|
|
205
|
-
type: model.type,
|
|
206
|
-
repositoriesByModelNameLowered,
|
|
207
|
-
pool: modelPool,
|
|
208
|
-
readonlyPool: modelReadonlyPool,
|
|
209
|
-
});
|
|
210
|
-
repositoriesByModelNameLowered[model.name.toLowerCase()] = repository;
|
|
211
|
-
repositoriesByModelName[model.name] = repository;
|
|
212
|
-
}
|
|
213
|
-
if (expose) {
|
|
214
|
-
expose(repository, model);
|
|
215
|
-
}
|
|
216
|
-
}
|
|
217
|
-
return repositoriesByModelName;
|
|
218
|
-
}
|
|
219
|
-
exports.initialize = initialize;
|
|
220
|
-
//# sourceMappingURL=index.js.map
|
package/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"./","sources":["index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,oDAAuB;AAOvB,yCAAwG;AACxG,6DAA0D;AAC1D,6CAA0C;AAE1C,+CAA6B;AAC7B,2CAAyB;AACzB,wDAAsC;AACtC,gDAA8B;AAC9B,6CAA2B;AAC3B,uDAAqC;AACrC,+CAA6B;AAC7B,0CAAwB;AAiBxB,uFAAuF;AACvF,SAAS,kBAAkB,CAAC,KAAiB;IAC3C,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;IAErB,SAAS,wBAAwB,CAAC,YAAwB;QACxD,MAAM,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,YAAY,CAAe,CAAC;QAChE,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YACrD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACpB,wBAAwB,CAAC,KAAK,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAED,wBAAwB,CAAC,KAAK,CAAC,CAAC;IAEhC,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;GASG;AACH,SAAgB,UAAU,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,GAAG,IAAI,EAAE,WAAW,GAAG,EAAE,EAAE,MAAM,EAAqB;IAC3G,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,2EAA2E,CAAC,CAAC;IAC/F,CAAC;IAED,MAAM,2BAA2B,GAAiC,EAAE,CAAC;IACrE,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,kHAAkH;QAClH,4BAA4B;QAC5B,2BAA2B,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;QACpE,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,kEAAkE;IAClE,MAAM,eAAe,GAAG,IAAA,6BAAkB,GAAE,CAAC;IAE7C,MAAM,wBAAwB,GAA0C,EAAE,CAAC;IAC3E,KAAK,MAAM,KAAK,IAAI,eAAe,CAAC,MAAM,EAAE,CAAC;QAC3C,wBAAwB,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;IAC/C,CAAC;IAGD,uGAAuG;IACvG,MAAM,6BAA6B,GAA0C,EAAE,CAAC;IAChF,KAAK,MAAM,MAAM,IAAI,eAAe,CAAC,OAAO,EAAE,CAAC;QAC7C,MAAM,OAAO,GAAG,6BAA6B,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACnE,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,MAAM,CAAC;QAEtC,6BAA6B,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC;IACzD,CAAC;IAGD,MAAM,qCAAqC,GAAkD,EAAE,CAAC;IAChG,KAAK,MAAM,cAAc,IAAI,eAAe,CAAC,eAAe,EAAE,CAAC;QAC7D,MAAM,uBAAuB,GAAG,qCAAqC,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACnG,MAAM,0BAA0B,GAAG,uBAAuB,CAAC,cAAc,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;QAC9F,0BAA0B,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAEhD,uBAAuB,CAAC,cAAc,CAAC,YAAY,CAAC,GAAG,0BAA0B,CAAC;QAClF,qCAAqC,CAAC,cAAc,CAAC,MAAM,CAAC,GAAG,uBAAuB,CAAC;IACzF,CAAC;IAED,2CAA2C;IAC3C,gHAAgH;IAChH,mEAAmE;IACnE,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,aAAgD,CAAC;QACrD,IAAI,8BAA8B,GAA0B,EAAE,CAAC;QAC/D,MAAM,sCAAsC,GAAkC,EAAE,CAAC;QACjF,KAAK,MAAM,cAAc,IAAI,2BAA2B,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YAC3E,aAAa,GAAG,wBAAwB,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC;YAC/E,MAAM,qBAAqB,GAAG,6BAA6B,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAEvF,8BAA8B,GAAG;gBAC/B,GAAG,8BAA8B;gBACjC,GAAG,qBAAqB;aACzB,CAAC;YAEF,iGAAiG;YACjG,KAAK,MAAM,CAAC,YAAY,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,qBAAqB,CAAC,EAAE,CAAC;gBACnE,OAAO,sCAAsC,CAAC,YAAY,CAAC,CAAC;YAC9D,CAAC;YAED,MAAM,6BAA6B,GAAG,qCAAqC,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACvG,KAAK,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,6BAA6B,CAAC,EAAE,CAAC;gBAC5F,sCAAsC,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,sCAAsC,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,CAAC;YACvJ,CAAC;QACH,CAAC;QAED,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,8BAA8B,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QAC9D,CAAC;QAED,wBAAwB,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,wBAAa,CAAC;YACvD,GAAG,aAAa;YAChB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,IAAI,EAAE,KAAK;SACZ,CAAC,CAAC;QACH,6BAA6B,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,8BAA8B,CAAC;QAC3E,qCAAqC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,sCAAsC,CAAC;IAC7F,CAAC;IAED,kEAAkE;IAClE,KAAK,MAAM,CAAC,SAAS,EAAE,6BAA6B,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,qCAAqC,CAAC,EAAE,CAAC;QAC/G,MAAM,qBAAqB,GAAG,6BAA6B,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QAC7E,KAAK,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,6BAA6B,CAAC,EAAE,CAAC;YAC5F,MAAM,MAAM,GAAG,qBAAqB,CAAC,YAAY,CAAC,CAAC;YACnD,IAAI,MAAM,EAAE,CAAC;gBACX,KAAK,MAAM,cAAc,IAAI,eAAe,EAAE,CAAC;oBAC7C,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAC,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;gBACrG,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,IAAI,aAAa,GAA2B;oBAC1C,MAAM,EAAE,SAAS;oBACjB,YAAY;iBACb,CAAC;gBACF,KAAK,MAAM,cAAc,IAAI,eAAe,EAAE,CAAC;oBAC7C,aAAa,GAAG;wBACd,GAAG,aAAa;wBAChB,GAAG,cAAc;qBAClB,CAAC;gBACJ,CAAC;gBAED,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;oBACxB,MAAM,IAAI,KAAK,CAAC,2BAA2B,SAAS,IAAI,YAAY,EAAE,CAAC,CAAC;gBAC1E,CAAC;gBAED,IAAI,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;oBAChD,MAAM,IAAI,KAAK,CAAC,2BAA2B,SAAS,IAAI,YAAY,EAAE,CAAC,CAAC;gBAC1E,CAAC;gBAED,IAAI,aAAa,CAAC,KAAK,EAAE,CAAC;oBACxB,qBAAqB,CAAC,YAAY,CAAC,GAAG,IAAI,8BAAmB,CAAC;wBAC5D,GAAG,aAAa;wBAChB,IAAI,EAAE,aAAa,CAAC,IAAI;wBACxB,KAAK,EAAE,aAAa,CAAC,KAAK;qBAC3B,CAAC,CAAC;gBACL,CAAC;qBAAM,IAAI,aAAa,CAAC,IAAI,EAAE,CAAC;oBAC9B,qBAAqB,CAAC,YAAY,CAAC,GAAG,IAAI,6BAAkB,CAAC;wBAC3D,GAAG,aAAa;wBAChB,IAAI,EAAE,aAAa,CAAC,IAAI;wBACxB,IAAI,EAAE,aAAa,CAAC,IAAI;qBACzB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAED,6BAA6B,CAAC,SAAS,CAAC,GAAG,qBAAqB,CAAC;IACnE,CAAC;IAED,MAAM,8BAA8B,GAAsE,EAAE,CAAC;IAC7G,MAAM,uBAAuB,GAAsE,EAAE,CAAC;IAEtG,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,wBAAwB,CAAC,SAAS,CAAC,CAAC;QAClD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,8BAA8B,SAAS,EAAE,CAAC,CAAC;QAC7D,CAAC;QAED,MAAM,qBAAqB,GAAG,6BAA6B,CAAC,SAAS,CAAC,CAAC;QACvE,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,2DAA2D,SAAS,EAAE,CAAC,CAAC;QAC1F,CAAC;QAED,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;QAErD,IAAI,SAAS,GAAG,IAAI,CAAC;QACrB,IAAI,iBAAiB,GAAG,YAAY,CAAC;QAErC,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YACrB,MAAM,eAAe,GAAG,WAAW,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YACtD,IAAI,CAAC,eAAe,EAAE,CAAC;gBACrB,MAAM,IAAI,KAAK,CAAC,8BAA8B,KAAK,CAAC,UAAU,iBAAiB,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YAC/F,CAAC;YAED,SAAS,GAAG,eAAe,CAAC,IAAI,IAAI,IAAI,CAAC;YACzC,iBAAiB,GAAG,eAAe,CAAC,YAAY,IAAI,SAAS,CAAC;QAChE,CAAC;QAED,IAAI,UAA2D,CAAC;QAChE,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACnB,UAAU,GAAG,IAAI,uCAAkB,CAAC;gBAClC,aAAa,EAAE,KAAK;gBACpB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,8BAA8B;gBAC9B,IAAI,EAAE,SAAS;gBACf,YAAY,EAAE,iBAAiB;aAChC,CAAC,CAAC;YAEH,8BAA8B,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,UAAU,CAAC;YACtE,uBAAuB,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC;QACnD,CAAC;aAAM,CAAC;YACN,UAAU,GAAG,IAAI,uBAAU,CAAC;gBAC1B,aAAa,EAAE,KAAK;gBACpB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,8BAA8B;gBAC9B,IAAI,EAAE,SAAS;gBACf,YAAY,EAAE,iBAAiB;aAChC,CAAC,CAAC;YAEH,8BAA8B,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,UAAU,CAAC;YACtE,uBAAuB,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC;QACnD,CAAC;QAED,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,OAAO,uBAAuB,CAAC;AACjC,CAAC;AA/LD,gCA+LC"}
|
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
export interface ColumnBaseMetadataOptions {
|
|
2
|
-
/**
|
|
3
|
-
* Name of class with @table decorator
|
|
4
|
-
*/
|
|
5
|
-
target: string;
|
|
6
|
-
/**
|
|
7
|
-
* Column name in the database
|
|
8
|
-
*/
|
|
9
|
-
name: string;
|
|
10
|
-
/**
|
|
11
|
-
* Class property to which the column is applied
|
|
12
|
-
*/
|
|
13
|
-
propertyName: string;
|
|
14
|
-
/**
|
|
15
|
-
* Indicates if a value is required for creates.
|
|
16
|
-
*/
|
|
17
|
-
required?: boolean;
|
|
18
|
-
/**
|
|
19
|
-
* Indicates if column is inserted by default. Default is true
|
|
20
|
-
*/
|
|
21
|
-
insert?: boolean;
|
|
22
|
-
/**
|
|
23
|
-
* Indicates if column value is updated by "save" operation. Default is true
|
|
24
|
-
*/
|
|
25
|
-
update?: boolean;
|
|
26
|
-
/**
|
|
27
|
-
* Indicates if this column is a primary key.
|
|
28
|
-
* Same can be achieved when @primaryColumn decorator is used
|
|
29
|
-
*/
|
|
30
|
-
primary?: boolean;
|
|
31
|
-
/**
|
|
32
|
-
* Value will be equal to `new Date()` when the row is inserted into the table
|
|
33
|
-
* Same can be achieved when @createDateColumn decorator is used
|
|
34
|
-
*/
|
|
35
|
-
createDate?: boolean;
|
|
36
|
-
/**
|
|
37
|
-
* Value will be equal to `new Date()` when the row is updated
|
|
38
|
-
* Same can be achieved when @updateDateColumn decorator is used
|
|
39
|
-
*/
|
|
40
|
-
updateDate?: boolean;
|
|
41
|
-
/**
|
|
42
|
-
* Value will be set to 1 when the row is inserted. Value will be incremented by one when the row is updated
|
|
43
|
-
* Same can be achieved when @versionColumn decorator is used
|
|
44
|
-
*/
|
|
45
|
-
version?: boolean;
|
|
46
|
-
}
|
|
47
|
-
export declare abstract class ColumnBaseMetadata {
|
|
48
|
-
/**
|
|
49
|
-
* Name of class with @table decorator
|
|
50
|
-
*/
|
|
51
|
-
target: string;
|
|
52
|
-
/**
|
|
53
|
-
* Column name in the database
|
|
54
|
-
*/
|
|
55
|
-
name: string;
|
|
56
|
-
/**
|
|
57
|
-
* Class property to which the column is applied
|
|
58
|
-
*/
|
|
59
|
-
propertyName: string;
|
|
60
|
-
/**
|
|
61
|
-
* Indicates if a value is required for creates.
|
|
62
|
-
*/
|
|
63
|
-
required: boolean;
|
|
64
|
-
/**
|
|
65
|
-
* Indicates if column is inserted by default. Default is true
|
|
66
|
-
*/
|
|
67
|
-
insert: boolean;
|
|
68
|
-
/**
|
|
69
|
-
* Indicates if column value is updated by "save" operation. Default is true
|
|
70
|
-
*/
|
|
71
|
-
update: boolean;
|
|
72
|
-
/**
|
|
73
|
-
* Indicates if this column is a primary key.
|
|
74
|
-
* Same can be achieved when @primaryColumn decorator is used
|
|
75
|
-
*/
|
|
76
|
-
primary: boolean;
|
|
77
|
-
/**
|
|
78
|
-
* Value will be equal to `new Date()` when the row is inserted into the table
|
|
79
|
-
* Same can be achieved when @createDateColumn decorator is used
|
|
80
|
-
*/
|
|
81
|
-
createDate: boolean;
|
|
82
|
-
/**
|
|
83
|
-
* Value will be equal to `new Date()` when the row is updated
|
|
84
|
-
* Same can be achieved when @updateDateColumn decorator is used
|
|
85
|
-
*/
|
|
86
|
-
updateDate: boolean;
|
|
87
|
-
/**
|
|
88
|
-
* Value will be set to 1 when the row is inserted. Value will be incremented by one when the row is updated
|
|
89
|
-
* Same can be achieved when @versionColumn decorator is used
|
|
90
|
-
*/
|
|
91
|
-
version: boolean;
|
|
92
|
-
protected constructor({ target, name, propertyName, required, insert, update, primary, createDate, updateDate, version, }: ColumnBaseMetadataOptions);
|
|
93
|
-
}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ColumnBaseMetadata = void 0;
|
|
4
|
-
class ColumnBaseMetadata {
|
|
5
|
-
constructor({ target, name, propertyName, required = false, insert = true, update = true, primary = false, createDate = false, updateDate = false, version = false, }) {
|
|
6
|
-
this.target = target;
|
|
7
|
-
this.name = name;
|
|
8
|
-
this.propertyName = propertyName;
|
|
9
|
-
this.required = required;
|
|
10
|
-
this.insert = insert;
|
|
11
|
-
this.update = update;
|
|
12
|
-
this.primary = primary;
|
|
13
|
-
this.createDate = createDate;
|
|
14
|
-
this.updateDate = updateDate;
|
|
15
|
-
this.version = version;
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
exports.ColumnBaseMetadata = ColumnBaseMetadata;
|
|
19
|
-
//# sourceMappingURL=ColumnBaseMetadata.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ColumnBaseMetadata.js","sourceRoot":"./","sources":["metadata/ColumnBaseMetadata.ts"],"names":[],"mappings":";;;AA+CA,MAAsB,kBAAkB;IAuDtC,YAAsB,EACpB,MAAM,EACN,IAAI,EACJ,YAAY,EACZ,QAAQ,GAAG,KAAK,EAChB,MAAM,GAAG,IAAI,EACb,MAAM,GAAG,IAAI,EACb,OAAO,GAAG,KAAK,EACf,UAAU,GAAG,KAAK,EAClB,UAAU,GAAG,KAAK,EAClB,OAAO,GAAG,KAAK,GACW;QAC1B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;CACF;AA9ED,gDA8EC"}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import type { ColumnBaseMetadataOptions } from './ColumnBaseMetadata';
|
|
2
|
-
import { ColumnBaseMetadata } from './ColumnBaseMetadata';
|
|
3
|
-
export interface ColumnCollectionMetadataOptions extends ColumnBaseMetadataOptions {
|
|
4
|
-
/**
|
|
5
|
-
* Type of the items in the collection
|
|
6
|
-
*/
|
|
7
|
-
collection: string | (() => string);
|
|
8
|
-
/**
|
|
9
|
-
* Property name of the on the collection item type
|
|
10
|
-
*/
|
|
11
|
-
via: string;
|
|
12
|
-
/**
|
|
13
|
-
* Name of the junction table for multi-multi associations
|
|
14
|
-
*/
|
|
15
|
-
through?: string | (() => string);
|
|
16
|
-
}
|
|
17
|
-
export declare class ColumnCollectionMetadata extends ColumnBaseMetadata {
|
|
18
|
-
private _collectionString?;
|
|
19
|
-
private _collectionFn?;
|
|
20
|
-
private _throughString?;
|
|
21
|
-
private _throughFn?;
|
|
22
|
-
/**
|
|
23
|
-
* Type of the items in the collection
|
|
24
|
-
*/
|
|
25
|
-
get collection(): string;
|
|
26
|
-
/**
|
|
27
|
-
* Property name of the on the collection item type
|
|
28
|
-
*/
|
|
29
|
-
via: string;
|
|
30
|
-
/**
|
|
31
|
-
* Name of the junction table for multi-multi associations
|
|
32
|
-
*/
|
|
33
|
-
get through(): string | undefined;
|
|
34
|
-
constructor({ target, //
|
|
35
|
-
name, propertyName, required, insert, update, primary, createDate, updateDate, version, collection, via, through, }: ColumnCollectionMetadataOptions);
|
|
36
|
-
}
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ColumnCollectionMetadata = void 0;
|
|
4
|
-
const ColumnBaseMetadata_1 = require("./ColumnBaseMetadata");
|
|
5
|
-
class ColumnCollectionMetadata extends ColumnBaseMetadata_1.ColumnBaseMetadata {
|
|
6
|
-
/**
|
|
7
|
-
* Type of the items in the collection
|
|
8
|
-
*/
|
|
9
|
-
get collection() {
|
|
10
|
-
if (this._collectionString) {
|
|
11
|
-
return this._collectionString;
|
|
12
|
-
}
|
|
13
|
-
if (!this._collectionFn) {
|
|
14
|
-
throw new Error(`Unable to determine collection type for ${this.target}#${this.propertyName}`);
|
|
15
|
-
}
|
|
16
|
-
// Need to defer evaluation until runtime to avoid cyclical dependency issues.
|
|
17
|
-
this._collectionString = this._collectionFn();
|
|
18
|
-
return this._collectionString;
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* Name of the junction table for multi-multi associations
|
|
22
|
-
*/
|
|
23
|
-
get through() {
|
|
24
|
-
if (this._throughString) {
|
|
25
|
-
return this._throughString;
|
|
26
|
-
}
|
|
27
|
-
if (this._throughFn) {
|
|
28
|
-
this._throughString = this._throughFn();
|
|
29
|
-
return this._throughString;
|
|
30
|
-
}
|
|
31
|
-
return undefined;
|
|
32
|
-
}
|
|
33
|
-
constructor({ target, //
|
|
34
|
-
name, propertyName, required, insert, update, primary, createDate, updateDate, version, collection, via, through, }) {
|
|
35
|
-
super({
|
|
36
|
-
target,
|
|
37
|
-
name,
|
|
38
|
-
propertyName,
|
|
39
|
-
required,
|
|
40
|
-
insert,
|
|
41
|
-
update,
|
|
42
|
-
primary,
|
|
43
|
-
createDate,
|
|
44
|
-
updateDate,
|
|
45
|
-
version,
|
|
46
|
-
});
|
|
47
|
-
this.via = via;
|
|
48
|
-
if (typeof collection === 'string') {
|
|
49
|
-
this._collectionString = collection;
|
|
50
|
-
}
|
|
51
|
-
else {
|
|
52
|
-
this._collectionFn = collection;
|
|
53
|
-
}
|
|
54
|
-
if (typeof through === 'string') {
|
|
55
|
-
this._throughString = through;
|
|
56
|
-
}
|
|
57
|
-
else if (through) {
|
|
58
|
-
this._throughFn = through;
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
exports.ColumnCollectionMetadata = ColumnCollectionMetadata;
|
|
63
|
-
//# sourceMappingURL=ColumnCollectionMetadata.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ColumnCollectionMetadata.js","sourceRoot":"./","sources":["metadata/ColumnCollectionMetadata.ts"],"names":[],"mappings":";;;AACA,6DAA0D;AAiB1D,MAAa,wBAAyB,SAAQ,uCAAkB;IAS9D;;OAEG;IACH,IAAW,UAAU;QACnB,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC,iBAAiB,CAAC;QAChC,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,2CAA2C,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;QACjG,CAAC;QAED,8EAA8E;QAC9E,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QAC9C,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IAOD;;OAEG;IACH,IAAW,OAAO;QAChB,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC,cAAc,CAAC;QAC7B,CAAC;QAED,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YACxC,OAAO,IAAI,CAAC,cAAc,CAAC;QAC7B,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,YAAmB,EACjB,MAAM,EAAE,EAAE;IACV,IAAI,EACJ,YAAY,EACZ,QAAQ,EACR,MAAM,EACN,MAAM,EACN,OAAO,EACP,UAAU,EACV,UAAU,EACV,OAAO,EACP,UAAU,EACV,GAAG,EACH,OAAO,GACyB;QAChC,KAAK,CAAC;YACJ,MAAM;YACN,IAAI;YACJ,YAAY;YACZ,QAAQ;YACR,MAAM;YACN,MAAM;YACN,OAAO;YACP,UAAU;YACV,UAAU;YACV,OAAO;SACR,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QAEf,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;YACnC,IAAI,CAAC,iBAAiB,GAAG,UAAU,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,aAAa,GAAG,UAAU,CAAC;QAClC,CAAC;QAED,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAChC,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;QAChC,CAAC;aAAM,IAAI,OAAO,EAAE,CAAC;YACnB,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC;QAC5B,CAAC;IACH,CAAC;CACF;AAzFD,4DAyFC"}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import type { ColumnCollectionMetadata } from './ColumnCollectionMetadata';
|
|
2
|
-
import type { ColumnModelMetadata } from './ColumnModelMetadata';
|
|
3
|
-
import type { ColumnTypeMetadata } from './ColumnTypeMetadata';
|
|
4
|
-
export type ColumnMetadata = ColumnCollectionMetadata | ColumnModelMetadata | ColumnTypeMetadata;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ColumnMetadata.js","sourceRoot":"./","sources":["metadata/ColumnMetadata.ts"],"names":[],"mappings":""}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import type { ColumnBaseMetadataOptions } from './ColumnBaseMetadata';
|
|
2
|
-
import { ColumnBaseMetadata } from './ColumnBaseMetadata';
|
|
3
|
-
export interface ColumnModelMetadataOptions extends ColumnBaseMetadataOptions {
|
|
4
|
-
/**
|
|
5
|
-
* Name of the model represented by this column id
|
|
6
|
-
*/
|
|
7
|
-
model: string | (() => string);
|
|
8
|
-
}
|
|
9
|
-
export declare class ColumnModelMetadata extends ColumnBaseMetadata {
|
|
10
|
-
private _modelString?;
|
|
11
|
-
private _modelFn?;
|
|
12
|
-
/**
|
|
13
|
-
* Name of the model represented by this column id
|
|
14
|
-
*/
|
|
15
|
-
get model(): string;
|
|
16
|
-
constructor({ target, //
|
|
17
|
-
name, propertyName, required, insert, update, primary, createDate, updateDate, version, model, }: ColumnModelMetadataOptions);
|
|
18
|
-
}
|