bigal 12.1.5 → 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.
Files changed (213) hide show
  1. package/.devcontainer/devcontainer.json +16 -0
  2. package/.husky/pre-commit +4 -0
  3. package/.prettierrc.cjs +34 -0
  4. package/CHANGELOG.md +5 -0
  5. package/dist/index.cjs +2626 -0
  6. package/dist/index.d.cts +892 -0
  7. package/dist/index.d.mts +892 -0
  8. package/dist/index.d.ts +892 -0
  9. package/dist/index.mjs +2605 -0
  10. package/eslint.config.mjs +25 -0
  11. package/package.json +45 -36
  12. package/tsconfig.build.json +7 -0
  13. package/Entity.d.ts +0 -16
  14. package/Entity.js +0 -13
  15. package/Entity.js.map +0 -1
  16. package/IReadonlyRepository.d.ts +0 -36
  17. package/IReadonlyRepository.js +0 -3
  18. package/IReadonlyRepository.js.map +0 -1
  19. package/IRepository.d.ts +0 -99
  20. package/IRepository.js +0 -3
  21. package/IRepository.js.map +0 -1
  22. package/ReadonlyRepository.d.ts +0 -69
  23. package/ReadonlyRepository.js +0 -687
  24. package/ReadonlyRepository.js.map +0 -1
  25. package/Repository.d.ts +0 -69
  26. package/Repository.js +0 -171
  27. package/Repository.js.map +0 -1
  28. package/SqlHelper.d.ts +0 -144
  29. package/SqlHelper.js +0 -1081
  30. package/SqlHelper.js.map +0 -1
  31. package/decorators/ColumnBaseOptions.d.ts +0 -10
  32. package/decorators/ColumnBaseOptions.js +0 -3
  33. package/decorators/ColumnBaseOptions.js.map +0 -1
  34. package/decorators/ColumnCollectionOptions.d.ts +0 -15
  35. package/decorators/ColumnCollectionOptions.js +0 -3
  36. package/decorators/ColumnCollectionOptions.js.map +0 -1
  37. package/decorators/ColumnModelOptions.d.ts +0 -7
  38. package/decorators/ColumnModelOptions.js +0 -3
  39. package/decorators/ColumnModelOptions.js.map +0 -1
  40. package/decorators/ColumnTypeOptions.d.ts +0 -21
  41. package/decorators/ColumnTypeOptions.js +0 -3
  42. package/decorators/ColumnTypeOptions.js.map +0 -1
  43. package/decorators/TableOptions.d.ts +0 -14
  44. package/decorators/TableOptions.js +0 -3
  45. package/decorators/TableOptions.js.map +0 -1
  46. package/decorators/column.d.ts +0 -9
  47. package/decorators/column.js +0 -93
  48. package/decorators/column.js.map +0 -1
  49. package/decorators/createDateColumn.d.ts +0 -6
  50. package/decorators/createDateColumn.js +0 -50
  51. package/decorators/createDateColumn.js.map +0 -1
  52. package/decorators/index.d.ts +0 -6
  53. package/decorators/index.js +0 -23
  54. package/decorators/index.js.map +0 -1
  55. package/decorators/primaryColumn.d.ts +0 -8
  56. package/decorators/primaryColumn.js +0 -66
  57. package/decorators/primaryColumn.js.map +0 -1
  58. package/decorators/table.d.ts +0 -5
  59. package/decorators/table.js +0 -40
  60. package/decorators/table.js.map +0 -1
  61. package/decorators/updateDateColumn.d.ts +0 -6
  62. package/decorators/updateDateColumn.js +0 -51
  63. package/decorators/updateDateColumn.js.map +0 -1
  64. package/decorators/versionColumn.d.ts +0 -6
  65. package/decorators/versionColumn.js +0 -51
  66. package/decorators/versionColumn.js.map +0 -1
  67. package/errors/QueryError.d.ts +0 -8
  68. package/errors/QueryError.js +0 -13
  69. package/errors/QueryError.js.map +0 -1
  70. package/errors/index.d.ts +0 -1
  71. package/errors/index.js +0 -18
  72. package/errors/index.js.map +0 -1
  73. package/index.d.ts +0 -35
  74. package/index.js +0 -220
  75. package/index.js.map +0 -1
  76. package/metadata/ColumnBaseMetadata.d.ts +0 -93
  77. package/metadata/ColumnBaseMetadata.js +0 -19
  78. package/metadata/ColumnBaseMetadata.js.map +0 -1
  79. package/metadata/ColumnCollectionMetadata.d.ts +0 -36
  80. package/metadata/ColumnCollectionMetadata.js +0 -63
  81. package/metadata/ColumnCollectionMetadata.js.map +0 -1
  82. package/metadata/ColumnMetadata.d.ts +0 -4
  83. package/metadata/ColumnMetadata.js +0 -3
  84. package/metadata/ColumnMetadata.js.map +0 -1
  85. package/metadata/ColumnModelMetadata.d.ts +0 -18
  86. package/metadata/ColumnModelMetadata.js +0 -43
  87. package/metadata/ColumnModelMetadata.js.map +0 -1
  88. package/metadata/ColumnModifierMetadata.d.ts +0 -46
  89. package/metadata/ColumnModifierMetadata.js +0 -3
  90. package/metadata/ColumnModifierMetadata.js.map +0 -1
  91. package/metadata/ColumnTypeMetadata.d.ts +0 -43
  92. package/metadata/ColumnTypeMetadata.js +0 -26
  93. package/metadata/ColumnTypeMetadata.js.map +0 -1
  94. package/metadata/MetadataStorage.d.ts +0 -13
  95. package/metadata/MetadataStorage.js +0 -19
  96. package/metadata/MetadataStorage.js.map +0 -1
  97. package/metadata/ModelMetadata.d.ts +0 -36
  98. package/metadata/ModelMetadata.js +0 -81
  99. package/metadata/ModelMetadata.js.map +0 -1
  100. package/metadata/index.d.ts +0 -10
  101. package/metadata/index.js +0 -33
  102. package/metadata/index.js.map +0 -1
  103. package/query/Comparer.d.ts +0 -1
  104. package/query/Comparer.js +0 -3
  105. package/query/Comparer.js.map +0 -1
  106. package/query/CountArgs.d.ts +0 -7
  107. package/query/CountArgs.js +0 -3
  108. package/query/CountArgs.js.map +0 -1
  109. package/query/CountResult.d.ts +0 -5
  110. package/query/CountResult.js +0 -3
  111. package/query/CountResult.js.map +0 -1
  112. package/query/CreateOptions.d.ts +0 -9
  113. package/query/CreateOptions.js +0 -3
  114. package/query/CreateOptions.js.map +0 -1
  115. package/query/CreateUpdateOptions.d.ts +0 -4
  116. package/query/CreateUpdateOptions.js +0 -3
  117. package/query/CreateUpdateOptions.js.map +0 -1
  118. package/query/DeleteOptions.d.ts +0 -12
  119. package/query/DeleteOptions.js +0 -3
  120. package/query/DeleteOptions.js.map +0 -1
  121. package/query/DestroyResult.d.ts +0 -5
  122. package/query/DestroyResult.js +0 -3
  123. package/query/DestroyResult.js.map +0 -1
  124. package/query/DoNotReturnRecords.d.ts +0 -3
  125. package/query/DoNotReturnRecords.js +0 -3
  126. package/query/DoNotReturnRecords.js.map +0 -1
  127. package/query/FindArgs.d.ts +0 -6
  128. package/query/FindArgs.js +0 -3
  129. package/query/FindArgs.js.map +0 -1
  130. package/query/FindOneArgs.d.ts +0 -11
  131. package/query/FindOneArgs.js +0 -3
  132. package/query/FindOneArgs.js.map +0 -1
  133. package/query/FindOneResult.d.ts +0 -12
  134. package/query/FindOneResult.js +0 -3
  135. package/query/FindOneResult.js.map +0 -1
  136. package/query/FindResult.d.ts +0 -15
  137. package/query/FindResult.js +0 -3
  138. package/query/FindResult.js.map +0 -1
  139. package/query/OnConflictOptions.d.ts +0 -25
  140. package/query/OnConflictOptions.js +0 -3
  141. package/query/OnConflictOptions.js.map +0 -1
  142. package/query/PaginateOptions.d.ts +0 -4
  143. package/query/PaginateOptions.js +0 -3
  144. package/query/PaginateOptions.js.map +0 -1
  145. package/query/PopulateArgs.d.ts +0 -13
  146. package/query/PopulateArgs.js +0 -3
  147. package/query/PopulateArgs.js.map +0 -1
  148. package/query/ReturnSelect.d.ts +0 -5
  149. package/query/ReturnSelect.js +0 -3
  150. package/query/ReturnSelect.js.map +0 -1
  151. package/query/Sort.d.ts +0 -15
  152. package/query/Sort.js +0 -3
  153. package/query/Sort.js.map +0 -1
  154. package/query/WhereQuery.d.ts +0 -21
  155. package/query/WhereQuery.js +0 -3
  156. package/query/WhereQuery.js.map +0 -1
  157. package/query/index.d.ts +0 -15
  158. package/query/index.js +0 -32
  159. package/query/index.js.map +0 -1
  160. package/types/ClassLike.d.ts +0 -8
  161. package/types/ClassLike.js +0 -3
  162. package/types/ClassLike.js.map +0 -1
  163. package/types/CreateUpdateParams.d.ts +0 -9
  164. package/types/CreateUpdateParams.js +0 -3
  165. package/types/CreateUpdateParams.js.map +0 -1
  166. package/types/EntityPrimitiveOrId.d.ts +0 -2
  167. package/types/EntityPrimitiveOrId.js +0 -3
  168. package/types/EntityPrimitiveOrId.js.map +0 -1
  169. package/types/ExcludeEntityCollections.d.ts +0 -5
  170. package/types/ExcludeEntityCollections.js +0 -3
  171. package/types/ExcludeEntityCollections.js.map +0 -1
  172. package/types/ExcludeFunctions.d.ts +0 -4
  173. package/types/ExcludeFunctions.js +0 -3
  174. package/types/ExcludeFunctions.js.map +0 -1
  175. package/types/GetValueType.d.ts +0 -1
  176. package/types/GetValueType.js +0 -3
  177. package/types/GetValueType.js.map +0 -1
  178. package/types/IncludeFunctions.d.ts +0 -4
  179. package/types/IncludeFunctions.js +0 -3
  180. package/types/IncludeFunctions.js.map +0 -1
  181. package/types/IsValueOfType.d.ts +0 -1
  182. package/types/IsValueOfType.js +0 -3
  183. package/types/IsValueOfType.js.map +0 -1
  184. package/types/OmitEntityCollections.d.ts +0 -7
  185. package/types/OmitEntityCollections.js +0 -3
  186. package/types/OmitEntityCollections.js.map +0 -1
  187. package/types/OmitFunctions.d.ts +0 -7
  188. package/types/OmitFunctions.js +0 -3
  189. package/types/OmitFunctions.js.map +0 -1
  190. package/types/PickAsType.d.ts +0 -3
  191. package/types/PickAsType.js +0 -3
  192. package/types/PickAsType.js.map +0 -1
  193. package/types/PickByValueType.d.ts +0 -5
  194. package/types/PickByValueType.js +0 -3
  195. package/types/PickByValueType.js.map +0 -1
  196. package/types/PickFunctions.d.ts +0 -4
  197. package/types/PickFunctions.js +0 -3
  198. package/types/PickFunctions.js.map +0 -1
  199. package/types/Populated.d.ts +0 -9
  200. package/types/Populated.js +0 -3
  201. package/types/Populated.js.map +0 -1
  202. package/types/QueryResult.d.ts +0 -9
  203. package/types/QueryResult.js +0 -3
  204. package/types/QueryResult.js.map +0 -1
  205. package/types/QueryResultOptionalPopulated.d.ts +0 -9
  206. package/types/QueryResultOptionalPopulated.js +0 -3
  207. package/types/QueryResultOptionalPopulated.js.map +0 -1
  208. package/types/QueryResultPopulated.d.ts +0 -9
  209. package/types/QueryResultPopulated.js +0 -3
  210. package/types/QueryResultPopulated.js.map +0 -1
  211. package/types/index.d.ts +0 -17
  212. package/types/index.js +0 -34
  213. 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"}
@@ -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
- }
@@ -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
@@ -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
@@ -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":"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"}
@@ -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,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=ColumnMetadata.js.map
@@ -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
- }