bigal 12.1.5 → 13.0.0-beta2

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 +44 -35
  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 +0,0 @@
1
- {"version":3,"file":"ReadonlyRepository.js","sourceRoot":"./","sources":["ReadonlyRepository.ts"],"names":[],"mappings":"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"}
package/Repository.d.ts DELETED
@@ -1,69 +0,0 @@
1
- import type { Entity } from './Entity';
2
- import type { IRepository } from './IRepository';
3
- import type { //
4
- DestroyResult, DoNotReturnRecords, ReturnSelect, WhereQuery, DeleteOptions } from './query';
5
- import type { OnConflictOptions } from './query/OnConflictOptions';
6
- import { ReadonlyRepository } from './ReadonlyRepository';
7
- import type { CreateUpdateParams, QueryResult } from './types';
8
- export declare class Repository<T extends Entity> extends ReadonlyRepository<T> implements IRepository<T> {
9
- /**
10
- * Creates an object using the specified values
11
- * @param {object} values - Values to insert as multiple new objects.
12
- * @param {object} [options]
13
- * @param {string[]} [options.returnSelect] - Array of model property names to return from the query.
14
- * @param {object} [options.onConflict] - Options to handle conflicts due to a unique constraint or exclusion constraint error during insert
15
- * @returns {object}
16
- */
17
- create(values: CreateUpdateParams<T>, options?: OnConflictOptions<T> | (Partial<OnConflictOptions<T>> & ReturnSelect<T>)): Promise<QueryResult<T>>;
18
- /**
19
- * Creates an object or objects using the specified values
20
- * @param {object|object[]} values - Values to insert as multiple new objects.
21
- * @param {object} options
22
- * @param {boolean} options.returnRecords - Determines if inserted records should be returned
23
- * @param {object} [options.onConflict] - Options to handle conflicts due to a unique constraint or exclusion constraint error during insert
24
- * @returns {void}
25
- */
26
- create(values: CreateUpdateParams<T> | CreateUpdateParams<T>[], options: DoNotReturnRecords & Partial<OnConflictOptions<T>>): Promise<void>;
27
- /**
28
- * Creates objects using the specified values
29
- * @param {object[]} values - Values to insert as multiple new objects.
30
- * @param {object} [options]
31
- * @param {object} [options.onConflict] - Options to handle conflicts due to a unique constraint or exclusion constraint error during insert
32
- * @param {string[]} [options.returnSelect] - Array of model property names to return from the query.
33
- * @returns {object[]}
34
- */
35
- create(values: CreateUpdateParams<T>[], options?: (OnConflictOptions<T> & Partial<ReturnSelect<T>>) | (Partial<OnConflictOptions<T>> & ReturnSelect<T>)): Promise<QueryResult<T>[]>;
36
- /**
37
- * Updates object(s) matching the where query, with the specified values
38
- * @param {object} where - Object representing the where query
39
- * @param {object} values - Values to update
40
- * @param {object} options
41
- * @param {boolean} options.returnRecords - Determines if inserted records should be returned
42
- * @returns {void}
43
- */
44
- update(where: WhereQuery<T>, values: CreateUpdateParams<T>, options: DoNotReturnRecords): Promise<void>;
45
- /**
46
- * Updates object(s) matching the where query, with the specified values
47
- * @param {object} where - Object representing the where query
48
- * @param {object} values - Values to update
49
- * @param {object} [options] - Values to update
50
- * @param {string[]} [options.returnSelect] - Array of model property names to return from the query.
51
- * @returns {object[]}
52
- */
53
- update(where: WhereQuery<T>, values: CreateUpdateParams<T>, options?: ReturnSelect<T>): Promise<QueryResult<T>[]>;
54
- /**
55
- * Destroys object(s) matching the where query
56
- * @param {object} [where] - Object representing the where query
57
- * @returns {void}
58
- */
59
- destroy(where?: WhereQuery<T>): DestroyResult<T, void>;
60
- /**
61
- * Destroys object(s) matching the where query
62
- * @param {object} where - Object representing the where query
63
- * @param {object} options - Determines if inserted records should be returned
64
- * @param {boolean} [options.returnRecords] - Determines if inserted records should be returned
65
- * @param {string[]} [options.returnSelect] - Array of model property names to return from the query.
66
- * @returns {object[]}
67
- */
68
- destroy(where: WhereQuery<T>, options: DeleteOptions<T>): DestroyResult<T, QueryResult<T>[]>;
69
- }
package/Repository.js DELETED
@@ -1,171 +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.Repository = void 0;
7
- const lodash_1 = __importDefault(require("lodash"));
8
- const ReadonlyRepository_1 = require("./ReadonlyRepository");
9
- const SqlHelper_1 = require("./SqlHelper");
10
- class Repository extends ReadonlyRepository_1.ReadonlyRepository {
11
- /**
12
- * Creates an object using the specified values
13
- * @param {object|object[]} values - Values to insert as a new object. If an array is specified, multiple rows will be inserted
14
- * @param {object} [options]
15
- * @param {boolean} [options.returnRecords=true] - Determines if inserted records should be returned
16
- * @param {string[]} [options.returnSelect] - Array of model property names to return from the query.
17
- * @param {object} [options.onConflict] - Options to handle conflicts due to a unique constraint or exclusion constraint error during insert
18
- * @returns {object|object[]|void} Return value from the db
19
- */
20
- async create(values, options) {
21
- if (this.model.readonly) {
22
- throw new Error(`${this.model.name} is readonly.`);
23
- }
24
- if (lodash_1.default.isArray(values) && !values.length) {
25
- return [];
26
- }
27
- if (this._type.beforeCreate) {
28
- if (Array.isArray(values)) {
29
- // @ts-expect-error - Promise.void will not be hit, but is needed
30
- values = await Promise.all(values.map((value) => (this._type.beforeCreate ? this._type.beforeCreate(value) : Promise.resolve())));
31
- }
32
- else {
33
- values = await this._type.beforeCreate(values);
34
- }
35
- }
36
- let returnRecords = true;
37
- let returnSelect;
38
- if (options) {
39
- if (options.returnRecords === false) {
40
- returnRecords = false;
41
- }
42
- else if (options.returnSelect) {
43
- returnSelect = options.returnSelect;
44
- }
45
- }
46
- const { query, params } = (0, SqlHelper_1.getInsertQueryAndParams)({
47
- repositoriesByModelNameLowered: this._repositoriesByModelNameLowered,
48
- model: this.model,
49
- values,
50
- returnRecords,
51
- returnSelect,
52
- onConflict: options?.onConflict,
53
- });
54
- const results = await this._pool.query(query, params);
55
- if (returnRecords) {
56
- if (lodash_1.default.isArray(values)) {
57
- return this._buildInstances(results.rows);
58
- }
59
- const firstResult = lodash_1.default.first(results.rows);
60
- if (firstResult) {
61
- return this._buildInstance(firstResult);
62
- }
63
- throw new Error('Unknown error getting created rows back from the database');
64
- }
65
- return undefined;
66
- }
67
- /**
68
- * Updates object(s) matching the where query, with the specified values
69
- * @param {object} where - Object representing the where query
70
- * @param {object} values - Values to update
71
- * @param {object} [options]
72
- * @param {boolean} [options.returnRecords=true] - Determines if inserted records should be returned
73
- * @param {string[]} [options.returnSelect] - Array of model property names to return from the query.
74
- * @returns {object[]|void} Return values from the db or `true` if returnRecords=false
75
- */
76
- async update(where, values, options) {
77
- if (this.model.readonly) {
78
- throw new Error(`${this.model.name} is readonly.`);
79
- }
80
- if (lodash_1.default.isString(where)) {
81
- throw new Error('The query cannot be a string, it must be an object');
82
- }
83
- if (this._type.beforeUpdate) {
84
- // eslint-disable-next-line no-param-reassign
85
- values = await this._type.beforeUpdate(values);
86
- }
87
- let returnRecords = true;
88
- let returnSelect;
89
- if (options) {
90
- if (options.returnRecords === false) {
91
- returnRecords = false;
92
- }
93
- else if (options.returnSelect) {
94
- returnSelect = options.returnSelect;
95
- }
96
- }
97
- const { query, params } = (0, SqlHelper_1.getUpdateQueryAndParams)({
98
- repositoriesByModelNameLowered: this._repositoriesByModelNameLowered,
99
- model: this.model,
100
- where,
101
- values,
102
- returnRecords,
103
- returnSelect,
104
- });
105
- const results = await this._pool.query(query, params);
106
- if (returnRecords) {
107
- return this._buildInstances(results.rows);
108
- }
109
- return undefined;
110
- }
111
- /**
112
- * Destroys object(s) matching the where query
113
- * @param {object} where - Object representing the where query
114
- * @param {object} [options]
115
- * @param {boolean} [options.returnRecords=false] - Determines if inserted records should be returned
116
- * @param {string[]} [options.returnSelect] - Array of model property names to return from the query.
117
- * @returns {object[]|void} `void` or records affected if returnRecords=true
118
- */
119
- destroy(where = {}, options) {
120
- if (this.model.readonly) {
121
- throw new Error(`${this.model.name} is readonly.`);
122
- }
123
- const { stack } = new Error(`${this.model.name}.destroy()`);
124
- // eslint-disable-next-line @typescript-eslint/no-this-alias
125
- const modelInstance = this;
126
- const returnSelect = options?.returnSelect;
127
- const returnRecords = options?.returnRecords ?? !!returnSelect;
128
- return {
129
- /**
130
- * Filters the query
131
- * @param {object} value - Object representing the where query
132
- */
133
- where(value) {
134
- // eslint-disable-next-line no-param-reassign
135
- where = value;
136
- return this;
137
- },
138
- async then(resolve, reject) {
139
- if (lodash_1.default.isString(where)) {
140
- return reject(new Error('The query cannot be a string, it must be an object'));
141
- }
142
- try {
143
- const { query, params } = (0, SqlHelper_1.getDeleteQueryAndParams)({
144
- repositoriesByModelNameLowered: modelInstance._repositoriesByModelNameLowered,
145
- model: modelInstance.model,
146
- where,
147
- returnRecords,
148
- returnSelect,
149
- });
150
- const result = await modelInstance._pool.query(query, params);
151
- if (returnRecords) {
152
- return await resolve(modelInstance._buildInstances(result.rows));
153
- }
154
- return await resolve();
155
- }
156
- catch (ex) {
157
- const typedException = ex;
158
- if (typedException.stack) {
159
- typedException.stack += stack;
160
- }
161
- else {
162
- typedException.stack = stack;
163
- }
164
- return reject(typedException);
165
- }
166
- },
167
- };
168
- }
169
- }
170
- exports.Repository = Repository;
171
- //# sourceMappingURL=Repository.js.map
package/Repository.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"Repository.js","sourceRoot":"./","sources":["Repository.ts"],"names":[],"mappings":"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"}
package/SqlHelper.d.ts DELETED
@@ -1,144 +0,0 @@
1
- import type { Entity } from './Entity';
2
- import type { IReadonlyRepository } from './IReadonlyRepository';
3
- import type { IRepository } from './IRepository';
4
- import type { ModelMetadata } from './metadata';
5
- import type { OrderBy, WhereQuery } from './query';
6
- import type { OnConflictOptions } from './query/OnConflictOptions';
7
- import type { CreateUpdateParams, OmitEntityCollections, OmitFunctions } from './types';
8
- interface QueryAndParams {
9
- query: string;
10
- params: readonly unknown[];
11
- }
12
- /**
13
- * Gets the select syntax for the specified model and filters
14
- * @param {object} args - Arguments
15
- * @param {object} args.repositoriesByModelNameLowered - All model schemas organized by model name
16
- * @param {object} args.model - Model schema
17
- * @param {string[]} [args.select] - Array of model property names to return from the query.
18
- * @param {object} [args.where] - Object representing the where query
19
- * @param {string[]|object[]} [args.sorts] - Property name(s) to sort by
20
- * @param {number} [args.skip] - Number of records to skip
21
- * @param {number} [args.limit] - Number of results to return
22
- * @returns {{query: string, params: object[]}}
23
- */
24
- export declare function getSelectQueryAndParams<T extends Entity>({ repositoriesByModelNameLowered, model, select, where, sorts, skip, limit, }: {
25
- repositoriesByModelNameLowered: Record<string, IReadonlyRepository<Entity> | IRepository<Entity>>;
26
- model: ModelMetadata<T>;
27
- select?: readonly (string & keyof OmitFunctions<OmitEntityCollections<T>>)[];
28
- where?: WhereQuery<T>;
29
- sorts: readonly OrderBy<T>[];
30
- skip: number;
31
- limit: number;
32
- }): QueryAndParams;
33
- /**
34
- * Gets the count syntax for the specified model and values
35
- * @param {object} args - Arguments
36
- * @param {object} args.repositoriesByModelNameLowered - All model schemas organized by model name
37
- * @param {object} args.model - Model schema
38
- * @param {object} [args.where] - Object representing the where query
39
- * @returns {{query: string, params: object[]}}
40
- */
41
- export declare function getCountQueryAndParams<T extends Entity>({ repositoriesByModelNameLowered, model, where, }: {
42
- repositoriesByModelNameLowered: Record<string, IReadonlyRepository<Entity> | IRepository<Entity>>;
43
- model: ModelMetadata<T>;
44
- where?: WhereQuery<T>;
45
- }): QueryAndParams;
46
- /**
47
- * Gets the insert syntax for the specified model and values
48
- * @param {object} args - Arguments
49
- * @param {object} args.repositoriesByModelNameLowered - All model schemas organized by model name
50
- * @param {object} args.model - Model schema
51
- * @param {object|object[]} args.values - Values to insert. Insert multiple records by passing an array of values.
52
- * @param {object} [args.onConflict] - Options to handle conflicts due to a unique constraint or exclusion constraint error during insert
53
- * @param {boolean} [args.returnRecords=true] - Determines if inserted records should be returned
54
- * @param {string[]} [args.returnSelect] - Array of model property names to return from the query.
55
- * @returns {{query: string, params: object[]}}
56
- */
57
- export declare function getInsertQueryAndParams<T extends Entity, K extends string & keyof OmitFunctions<OmitEntityCollections<T>> = string & keyof OmitFunctions<OmitEntityCollections<T>>>({ repositoriesByModelNameLowered, model, values, returnRecords, returnSelect, onConflict, }: {
58
- repositoriesByModelNameLowered: Record<string, IReadonlyRepository<Entity> | IRepository<Entity>>;
59
- model: ModelMetadata<T>;
60
- values: CreateUpdateParams<T> | CreateUpdateParams<T>[];
61
- returnRecords?: boolean;
62
- returnSelect?: readonly K[];
63
- onConflict?: OnConflictOptions<T, K>['onConflict'];
64
- }): QueryAndParams;
65
- /**
66
- * Gets the update syntax for the specified model and values
67
- * @param {object} args - Arguments
68
- * @param {object} args.repositoriesByModelNameLowered - All model schemas organized by global id
69
- * @param {object} args.model - Model schema
70
- * @param {object} [args.where] - Object representing the where query
71
- * @param {object} args.values - Values to set.
72
- * @param {boolean} [args.returnRecords=true] - Determines if inserted records should be returned
73
- * @param {string[]} [args.returnSelect] - Array of model property names to return from the query.
74
- * @returns {{query: string, params: object[]}}
75
- */
76
- export declare function getUpdateQueryAndParams<T extends Entity>({ repositoriesByModelNameLowered, model, where, values, returnRecords, returnSelect, }: {
77
- repositoriesByModelNameLowered: Record<string, IReadonlyRepository<Entity> | IRepository<Entity>>;
78
- model: ModelMetadata<T>;
79
- where: WhereQuery<T>;
80
- values: CreateUpdateParams<T>;
81
- returnRecords?: boolean;
82
- returnSelect?: (string & keyof OmitFunctions<OmitEntityCollections<T>>)[];
83
- }): QueryAndParams;
84
- /**
85
- * Gets the delete syntax for the specified model and where criteria
86
- * @param {object} args - Arguments
87
- * @param {object} args.repositoriesByModelNameLowered - All model schemas organized by global id
88
- * @param {object} args.model - Model schema
89
- * @param {object} [args.where] - Object representing the where query
90
- * @param {boolean} [args.returnRecords=true] - Determines if inserted records should be returned
91
- * @param {string[]} [args.returnSelect] - Array of model property names to return from the query.
92
- * @returns {{query: string, params: object[]}}
93
- */
94
- export declare function getDeleteQueryAndParams<T extends Entity>({ repositoriesByModelNameLowered, model, where, returnRecords, returnSelect, }: {
95
- repositoriesByModelNameLowered: Record<string, IReadonlyRepository<Entity> | IRepository<Entity>>;
96
- model: ModelMetadata<T>;
97
- where?: WhereQuery<T>;
98
- returnRecords?: boolean;
99
- returnSelect?: readonly (string & keyof OmitFunctions<OmitEntityCollections<T>>)[];
100
- }): QueryAndParams;
101
- /**
102
- * Gets SQL representing columns to select
103
- * @param {object} args - Arguments
104
- * @param {object} args.model - Model schema
105
- * @param {string[]} [args.select] - Array of model property names to return from the query.
106
- * @returns {string} SQL columns
107
- * @private
108
- */
109
- export declare function getColumnsToSelect<T extends Entity, K extends string & keyof OmitFunctions<OmitEntityCollections<T>> = string & keyof OmitFunctions<OmitEntityCollections<T>>>({ model, select, }: {
110
- model: ModelMetadata<T>;
111
- select?: readonly K[];
112
- }): string;
113
- /**
114
- * Builds the SQL where statement based on the where expression
115
- * @param {object} args - Arguments
116
- * @param {object} args.repositoriesByModelNameLowered - All model schemas organized by global id
117
- * @param {object} args.model - Model schema
118
- * @param {object} [args.where]
119
- * @param {(number|string|object|null)[]} [args.params] - Objects to pass as parameters for the query
120
- * @returns {object} {{whereStatement?: string, params: Array}}
121
- * @private
122
- */
123
- export declare function buildWhereStatement<T extends Entity>({ repositoriesByModelNameLowered, model, where, params, }: {
124
- repositoriesByModelNameLowered: Record<string, IReadonlyRepository<Entity> | IRepository<Entity>>;
125
- model: ModelMetadata<T>;
126
- where?: WhereQuery<T>;
127
- params?: unknown[];
128
- }): {
129
- whereStatement?: string;
130
- params: unknown[];
131
- };
132
- /**
133
- * Builds the SQL order by statement based on the array of sortable expressions
134
- * @param {object} args - Arguments
135
- * @param {object} args.model - Model schema
136
- * @param {string[]|object[]} args.sorts - Property name(s) to sort by
137
- * @returns {string} SQL order by statement
138
- * @private
139
- */
140
- export declare function buildOrderStatement<T extends Entity>({ model, sorts }: {
141
- model: ModelMetadata<T>;
142
- sorts: readonly OrderBy<T>[];
143
- }): string;
144
- export {};