bigal 11.0.2 → 12.0.1

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/CHANGELOG.md CHANGED
@@ -1,5 +1,24 @@
1
1
  # Change Log
2
2
 
3
+ ## 12.0.1 - 2023-10-27
4
+
5
+ - Update npms
6
+
7
+ ## 12.0.0 - 2023-10-04
8
+
9
+ ### BREAKING CHANGES (12.0.0)
10
+
11
+ - Drop support for Node.js 16
12
+
13
+ ### NON-BREAKING CHANGES (12.0.0)
14
+
15
+ - Throw `QueryError`, with additional metadata
16
+ - Throw error if query has an empty `or` statement
17
+
18
+ ### MAINTENANCE (12.0.0)
19
+
20
+ - Update npms
21
+
3
22
  ## 11.0.2 - 2023-07-18
4
23
 
5
24
  - Update npms
@@ -10,11 +29,11 @@
10
29
 
11
30
  ## 11.0.0 - 2023-02-07
12
31
 
13
- ### BREAKING CHANGES
32
+ ### BREAKING CHANGES (11.0.0)
14
33
 
15
34
  - Drop support for Node.js 14
16
35
 
17
- ### MAINTENANCE
36
+ ### MAINTENANCE (11.0.0)
18
37
 
19
38
  - Update npms
20
39
 
package/README.md CHANGED
@@ -14,7 +14,6 @@ This ORM does not:
14
14
 
15
15
  ## Compatibility
16
16
 
17
- - Node.js v16 or above
18
17
  - [PostgreSQL](http://www.postgresql.org/) 14 or above. Lower versions _should_ work.
19
18
 
20
19
  ## Install
package/SqlHelper.js CHANGED
@@ -25,6 +25,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
26
  exports.buildOrderStatement = exports.buildWhereStatement = exports.getColumnsToSelect = exports.getDeleteQueryAndParams = exports.getUpdateQueryAndParams = exports.getInsertQueryAndParams = exports.getCountQueryAndParams = exports.getSelectQueryAndParams = void 0;
27
27
  const _ = __importStar(require("lodash"));
28
+ const errors_1 = require("./errors");
28
29
  /* eslint-disable @typescript-eslint/no-use-before-define */
29
30
  /**
30
31
  * Gets the select syntax for the specified model and filters
@@ -66,7 +67,7 @@ function getSelectQueryAndParams({ repositoriesByModelNameLowered, model, select
66
67
  limit = Number(limit);
67
68
  }
68
69
  if (!_.isFinite(limit)) {
69
- throw new Error('Limit should be a number');
70
+ throw new errors_1.QueryError('Limit should be a number', model, where);
70
71
  }
71
72
  query += ` LIMIT ${limit}`;
72
73
  }
@@ -76,7 +77,7 @@ function getSelectQueryAndParams({ repositoriesByModelNameLowered, model, select
76
77
  skip = Number(skip);
77
78
  }
78
79
  if (!_.isFinite(skip)) {
79
- throw new Error('Skip should be a number');
80
+ throw new errors_1.QueryError('Skip should be a number', model, where);
80
81
  }
81
82
  query += ` OFFSET ${skip}`;
82
83
  }
@@ -155,14 +156,14 @@ function getInsertQueryAndParams({ repositoriesByModelNameLowered, model, values
155
156
  const hasDefaultValue = !_.isUndefined(defaultValue);
156
157
  let includePropertyName = false;
157
158
  for (const entity of entitiesToInsert) {
158
- // If there is a default value for the property and it is not defined, use the default
159
+ // If there is a default value for the property and if it is not defined, use the default
159
160
  if (hasDefaultValue && _.isUndefined(entity[column.propertyName])) {
160
161
  // @ts-expect-error - string is not assignable to T[string & keyof T] | undefined
161
162
  entity[column.propertyName] = defaultValue;
162
163
  }
163
164
  if (_.isUndefined(entity[column.propertyName])) {
164
165
  if (column.required) {
165
- throw new Error(`Create statement for "${model.name}" is missing value for required field: ${column.propertyName}`);
166
+ throw new errors_1.QueryError(`Create statement for "${model.name}" is missing value for required field: ${column.propertyName}`, model);
166
167
  }
167
168
  }
168
169
  else {
@@ -212,15 +213,15 @@ function getInsertQueryAndParams({ repositoriesByModelNameLowered, model, values
212
213
  if (relatedModelName && _.isObject(entityValue)) {
213
214
  const relatedModelRepository = repositoriesByModelNameLowered[relatedModelName.toLowerCase()];
214
215
  if (!relatedModelRepository) {
215
- throw new Error(`Unable to find model schema (${relatedModelName}) specified as model type for "${column.propertyName}" on "${model.name}"`);
216
+ throw new errors_1.QueryError(`Unable to find model schema (${relatedModelName}) specified as model type for "${column.propertyName}" on "${model.name}"`, model);
216
217
  }
217
218
  const relatedModelPrimaryKey = relatedModelRepository.model.primaryKeyColumn;
218
219
  if (!relatedModelPrimaryKey) {
219
- throw new Error(`Unable to find primary key column for ${relatedModelName} when inserting ${model.name}.${column.propertyName} value.`);
220
+ throw new errors_1.QueryError(`Unable to find primary key column for ${relatedModelName} when inserting ${model.name}.${column.propertyName} value.`, model);
220
221
  }
221
222
  const primaryKeyValue = entityValue[relatedModelPrimaryKey.propertyName];
222
223
  if (_.isNil(primaryKeyValue)) {
223
- throw new Error(`Undefined primary key value for hydrated object value for "${column.propertyName}" on "${model.name}"`);
224
+ throw new errors_1.QueryError(`Undefined primary key value for hydrated object value for "${column.propertyName}" on "${model.name}"`, model);
224
225
  }
225
226
  params.push(primaryKeyValue);
226
227
  }
@@ -239,7 +240,7 @@ function getInsertQueryAndParams({ repositoriesByModelNameLowered, model, values
239
240
  }
240
241
  const valuesForEntityIndex = valueCollections[entityIndex];
241
242
  if (!valuesForEntityIndex) {
242
- throw new Error('Error trying to get insert values for entity index');
243
+ throw new errors_1.QueryError('Error trying to get insert values for entity index', model);
243
244
  }
244
245
  valuesForEntityIndex.push(value);
245
246
  }
@@ -352,15 +353,15 @@ function getUpdateQueryAndParams({ repositoriesByModelNameLowered, model, where,
352
353
  if (relatedModelName && _.isObject(value)) {
353
354
  const relatedModelRepository = repositoriesByModelNameLowered[relatedModelName.toLowerCase()];
354
355
  if (!relatedModelRepository) {
355
- throw new Error(`Unable to find model schema (${relatedModelName}) specified as model type for "${propertyName}" on "${model.name}"`);
356
+ throw new errors_1.QueryError(`Unable to find model schema (${relatedModelName}) specified as model type for "${propertyName}" on "${model.name}"`, model);
356
357
  }
357
358
  const relatedModelPrimaryKey = relatedModelRepository.model.primaryKeyColumn;
358
359
  if (!relatedModelPrimaryKey) {
359
- throw new Error(`Unable to find primary key column for ${relatedModelName} when inserting ${model.name}.${column.propertyName} value.`);
360
+ throw new errors_1.QueryError(`Unable to find primary key column for ${relatedModelName} when inserting ${model.name}.${column.propertyName} value.`, model);
360
361
  }
361
362
  const primaryKeyValue = value[relatedModelPrimaryKey.propertyName];
362
363
  if (_.isNil(primaryKeyValue)) {
363
- throw new Error(`Undefined primary key value for hydrated object value for "${column.propertyName}" on "${model.name}"`);
364
+ throw new errors_1.QueryError(`Undefined primary key value for hydrated object value for "${column.propertyName}" on "${model.name}"`, model);
364
365
  }
365
366
  params.push(primaryKeyValue);
366
367
  }
@@ -475,7 +476,7 @@ function getColumnsToSelect({ model, select, }) {
475
476
  for (const [index, propertyName] of Array.from(selectColumns).entries()) {
476
477
  const column = model.columnsByPropertyName[propertyName];
477
478
  if (!column) {
478
- throw new Error(`Unable to find column for property: ${propertyName} on ${model.tableName}`);
479
+ throw new errors_1.QueryError(`Unable to find column for property: ${propertyName} on ${model.tableName}`, model);
479
480
  }
480
481
  if (index > 0) {
481
482
  query += ',';
@@ -502,7 +503,7 @@ exports.getColumnsToSelect = getColumnsToSelect;
502
503
  */
503
504
  function buildWhereStatement({ repositoriesByModelNameLowered, model, where, params = [], }) {
504
505
  let whereStatement;
505
- if (_.isObject(where)) {
506
+ if (_.isObject(where) && Object.keys(where).length) {
506
507
  whereStatement = buildWhere({
507
508
  repositoriesByModelNameLowered,
508
509
  model,
@@ -510,6 +511,9 @@ function buildWhereStatement({ repositoriesByModelNameLowered, model, where, par
510
511
  value: where,
511
512
  params,
512
513
  });
514
+ if (!whereStatement) {
515
+ throw new errors_1.QueryError(`WHERE statement is unexpectedly empty.`, model, where);
516
+ }
513
517
  }
514
518
  if (whereStatement) {
515
519
  whereStatement = `WHERE ${whereStatement}`;
@@ -540,7 +544,7 @@ function buildOrderStatement({ model, sorts }) {
540
544
  const { propertyName, descending } = orderProperty;
541
545
  const column = model.columnsByPropertyName[propertyName];
542
546
  if (!column) {
543
- throw new Error(`Property (${propertyName}) not found in model (${model.name}).`);
547
+ throw new errors_1.QueryError(`Property (${propertyName}) not found in model (${model.name}).`, model);
544
548
  }
545
549
  orderStatement += `"${column.name}"`;
546
550
  if (descending) {
@@ -587,7 +591,7 @@ function buildWhere({ repositoriesByModelNameLowered, model, propertyName, compa
587
591
  if (_.isArray(value)) {
588
592
  const values = value.map((val) => {
589
593
  if (!_.isString(val)) {
590
- throw new Error(`Expected all array values to be strings for "contains" constraint. Property (${propertyName ?? ''}) in model (${model.name}).`);
594
+ throw new errors_1.QueryError(`Expected all array values to be strings for "contains" constraint. Property (${propertyName ?? ''}) in model (${model.name}).`, model);
591
595
  }
592
596
  return `%${val}%`;
593
597
  });
@@ -612,12 +616,12 @@ function buildWhere({ repositoriesByModelNameLowered, model, propertyName, compa
612
616
  params,
613
617
  });
614
618
  }
615
- throw new Error(`Expected value to be a string for "contains" constraint. Property (${propertyName ?? ''}) in model (${model.name}).`);
619
+ throw new errors_1.QueryError(`Expected value to be a string for "contains" constraint. Property (${propertyName ?? ''}) in model (${model.name}).`, model);
616
620
  case 'startsWith':
617
621
  if (_.isArray(value)) {
618
622
  const values = value.map((val) => {
619
623
  if (!_.isString(val)) {
620
- throw new Error(`Expected all array values to be strings for "startsWith" constraint. Property (${propertyName ?? ''}) in model (${model.name}).`);
624
+ throw new errors_1.QueryError(`Expected all array values to be strings for "startsWith" constraint. Property (${propertyName ?? ''}) in model (${model.name}).`, model);
621
625
  }
622
626
  return `${val}%`;
623
627
  });
@@ -642,12 +646,12 @@ function buildWhere({ repositoriesByModelNameLowered, model, propertyName, compa
642
646
  params,
643
647
  });
644
648
  }
645
- throw new Error(`Expected value to be a string for "startsWith" constraint. Property (${propertyName ?? ''}) in model (${model.name}).`);
649
+ throw new errors_1.QueryError(`Expected value to be a string for "startsWith" constraint. Property (${propertyName ?? ''}) in model (${model.name}).`, model);
646
650
  case 'endsWith':
647
651
  if (_.isArray(value)) {
648
652
  const values = value.map((val) => {
649
653
  if (!_.isString(val)) {
650
- throw new Error(`Expected all array values to be strings for "endsWith" constraint. Property (${propertyName ?? ''}) in model (${model.name}).`);
654
+ throw new errors_1.QueryError(`Expected all array values to be strings for "endsWith" constraint. Property (${propertyName ?? ''}) in model (${model.name}).`, model);
651
655
  }
652
656
  return `%${val}`;
653
657
  });
@@ -672,7 +676,7 @@ function buildWhere({ repositoriesByModelNameLowered, model, propertyName, compa
672
676
  params,
673
677
  });
674
678
  }
675
- throw new Error(`Expected value to be a string for "endsWith" constraint. Property (${propertyName ?? ''}) in model (${model.name}).`);
679
+ throw new errors_1.QueryError(`Expected value to be a string for "endsWith" constraint. Property (${propertyName ?? ''}) in model (${model.name}).`, model);
676
680
  case 'like':
677
681
  return buildLikeOperatorStatement({
678
682
  model,
@@ -684,7 +688,7 @@ function buildWhere({ repositoriesByModelNameLowered, model, propertyName, compa
684
688
  });
685
689
  default: {
686
690
  if (_.isUndefined(value)) {
687
- throw new Error(`Attempting to query with an undefined value. ${propertyName ?? ''} on ${model.name}`);
691
+ throw new errors_1.QueryError(`Attempting to query with an undefined value. ${propertyName ?? ''} on ${model.name}`, model);
688
692
  }
689
693
  if (propertyName) {
690
694
  const column = model.columnsByPropertyName[propertyName];
@@ -707,11 +711,11 @@ function buildWhere({ repositoriesByModelNameLowered, model, propertyName, compa
707
711
  else if (column.model) {
708
712
  const relatedModelRepository = repositoriesByModelNameLowered[column.model.toLowerCase()];
709
713
  if (!relatedModelRepository) {
710
- throw new Error(`Unable to find model schema (${column.model}) specified in where clause for "${column.propertyName}"`);
714
+ throw new errors_1.QueryError(`Unable to find model schema (${column.model}) specified in where clause for "${column.propertyName}"`, model);
711
715
  }
712
716
  const relatedModelPrimaryKey = relatedModelRepository.model.primaryKeyColumn;
713
717
  if (!relatedModelPrimaryKey) {
714
- throw new Error(`Unable to find primary key column for ${column.model} specified in where clause for ${model.name}.${column.propertyName}`);
718
+ throw new errors_1.QueryError(`Unable to find primary key column for ${column.model} specified in where clause for ${model.name}.${column.propertyName}`, model);
715
719
  }
716
720
  const primaryKeyValue = value[relatedModelPrimaryKey.propertyName];
717
721
  if (!_.isNil(primaryKeyValue)) {
@@ -807,11 +811,11 @@ function buildWhere({ repositoriesByModelNameLowered, model, propertyName, compa
807
811
  if (columnAsModelType.model) {
808
812
  const relatedModelRepository = repositoriesByModelNameLowered[columnAsModelType.model.toLowerCase()];
809
813
  if (!relatedModelRepository) {
810
- throw new Error(`Unable to find model schema (${columnAsModelType.model}) specified in where clause for "${columnAsModelType.propertyName}"`);
814
+ throw new errors_1.QueryError(`Unable to find model schema (${columnAsModelType.model}) specified in where clause for "${columnAsModelType.propertyName}"`, model);
811
815
  }
812
816
  const relatedModelPrimaryKey = relatedModelRepository.model.primaryKeyColumn;
813
817
  if (!relatedModelPrimaryKey) {
814
- throw new Error(`Unable to find primary key column for ${columnAsModelType.model} specified in where clause for ${model.name}.${columnAsModelType.propertyName}`);
818
+ throw new errors_1.QueryError(`Unable to find primary key column for ${columnAsModelType.model} specified in where clause for ${model.name}.${columnAsModelType.propertyName}`, model);
815
819
  }
816
820
  columnTypeLowered = relatedModelPrimaryKey.type ? relatedModelPrimaryKey.type.toLowerCase() : '';
817
821
  }
@@ -847,7 +851,10 @@ function buildWhere({ repositoriesByModelNameLowered, model, propertyName, compa
847
851
  if (isNegated) {
848
852
  return orConstraints.join(' AND ');
849
853
  }
850
- return `(${orConstraints.join(' OR ')})`;
854
+ if (orConstraints.length) {
855
+ return `(${orConstraints.join(' OR ')})`;
856
+ }
857
+ return '';
851
858
  }
852
859
  if (_.isObject(value) && !_.isDate(value)) {
853
860
  const andValues = [];
@@ -895,7 +902,9 @@ function buildOrOperatorStatement({ repositoriesByModelNameLowered, model, isNeg
895
902
  value: constraint,
896
903
  params,
897
904
  });
898
- orClauses.push(`(${orClause})`);
905
+ if (orClause) {
906
+ orClauses.push(`(${orClause})`);
907
+ }
899
908
  }
900
909
  if (orClauses.length === 1) {
901
910
  return orClauses[0] ?? '';
@@ -903,7 +912,10 @@ function buildOrOperatorStatement({ repositoriesByModelNameLowered, model, isNeg
903
912
  if (isNegated) {
904
913
  return orClauses.join(' AND ');
905
914
  }
906
- return `(${orClauses.join(' OR ')})`;
915
+ if (orClauses.length) {
916
+ return `(${orClauses.join(' OR ')})`;
917
+ }
918
+ return '';
907
919
  }
908
920
  function buildLikeOperatorStatement({ model, propertyName, isNegated, value, params }) {
909
921
  if (_.isArray(value)) {
@@ -950,7 +962,10 @@ function buildLikeOperatorStatement({ model, propertyName, isNegated, value, par
950
962
  if (isNegated) {
951
963
  return orConstraints.join(' AND ');
952
964
  }
953
- return `(${orConstraints.join(' OR ')})`;
965
+ if (orConstraints.length) {
966
+ return `(${orConstraints.join(' OR ')})`;
967
+ }
968
+ return '';
954
969
  }
955
970
  // eslint-disable-next-line no-param-reassign
956
971
  value = value[0];
@@ -958,7 +973,7 @@ function buildLikeOperatorStatement({ model, propertyName, isNegated, value, par
958
973
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
959
974
  const column = model.columnsByPropertyName[propertyName];
960
975
  if (!column) {
961
- throw new Error(`Unable to find property ${propertyName} on model ${model.name}`);
976
+ throw new errors_1.QueryError(`Unable to find property ${propertyName} on model ${model.name}`, model);
962
977
  }
963
978
  if (_.isNull(value)) {
964
979
  return `"${column.name}" ${isNegated ? 'IS NOT' : 'IS'} NULL`;
@@ -975,12 +990,12 @@ function buildLikeOperatorStatement({ model, propertyName, isNegated, value, par
975
990
  }
976
991
  return `"${column.name}" ${isNegated ? '!=' : '='} ''`;
977
992
  }
978
- throw new Error(`Expected value to be a string for "like" constraint. Property (${propertyName}) in model (${model.name}).`);
993
+ throw new errors_1.QueryError(`Expected value to be a string for "like" constraint. Property (${propertyName}) in model (${model.name}).`, model);
979
994
  }
980
995
  function buildComparisonOperatorStatement({ model, propertyName, comparer, isNegated, value, params = [] }) {
981
996
  const column = model.columnsByPropertyName[propertyName];
982
997
  if (!column) {
983
- throw new Error(`Unable to find property ${propertyName} on model ${model.name}`);
998
+ throw new errors_1.QueryError(`Unable to find property ${propertyName} on model ${model.name}`, model);
984
999
  }
985
1000
  if (_.isNull(value)) {
986
1001
  return `"${column.name}" ${isNegated ? 'IS NOT' : 'IS'} NULL`;
@@ -991,22 +1006,22 @@ function buildComparisonOperatorStatement({ model, propertyName, comparer, isNeg
991
1006
  switch (comparer) {
992
1007
  case '<':
993
1008
  if (!supportsLessThanGreaterThan) {
994
- throw new Error(`< operator is not supported for ${columnType || 'unknown'} type. ${propertyName || ''} on ${model.name}`);
1009
+ throw new errors_1.QueryError(`< operator is not supported for ${columnType || 'unknown'} type. ${propertyName || ''} on ${model.name}`, model);
995
1010
  }
996
1011
  return `"${column.name}"${isNegated ? '>=' : '<'}$${params.length}`;
997
1012
  case '<=':
998
1013
  if (!supportsLessThanGreaterThan) {
999
- throw new Error(`<= operator is not supported for ${columnType || 'unknown'} type. ${propertyName || ''} on ${model.name}`);
1014
+ throw new errors_1.QueryError(`<= operator is not supported for ${columnType || 'unknown'} type. ${propertyName || ''} on ${model.name}`, model);
1000
1015
  }
1001
1016
  return `"${column.name}"${isNegated ? '>' : '<='}$${params.length}`;
1002
1017
  case '>':
1003
1018
  if (!supportsLessThanGreaterThan) {
1004
- throw new Error(`> operator is not supported for ${columnType || 'unknown'} type. ${propertyName || ''} on ${model.name}`);
1019
+ throw new errors_1.QueryError(`> operator is not supported for ${columnType || 'unknown'} type. ${propertyName || ''} on ${model.name}`, model);
1005
1020
  }
1006
1021
  return `"${column.name}"${isNegated ? '<=' : '>'}$${params.length}`;
1007
1022
  case '>=':
1008
1023
  if (!supportsLessThanGreaterThan) {
1009
- throw new Error(`>= operator is not supported for ${columnType || 'unknown'} type. ${propertyName || ''} on ${model.name}`);
1024
+ throw new errors_1.QueryError(`>= operator is not supported for ${columnType || 'unknown'} type. ${propertyName || ''} on ${model.name}`, model);
1010
1025
  }
1011
1026
  return `"${column.name}"${isNegated ? '<' : '>='}$${params.length}`;
1012
1027
  default:
package/SqlHelper.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"SqlHelper.js","sourceRoot":"./","sources":["SqlHelper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SqlHelper.js","sourceRoot":"./","sources":["SqlHelper.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,9 @@
1
+ import type { ClassLike } from '../types';
1
2
  import type { ColumnCollectionOptions } from './ColumnCollectionOptions';
2
3
  import type { ColumnModelOptions } from './ColumnModelOptions';
3
4
  import type { ColumnTypeOptions } from './ColumnTypeOptions';
4
5
  type ColumnOptions = ColumnCollectionOptions | ColumnModelOptions | ColumnTypeOptions;
5
- type ReturnFunctionType = (object: object, propertyName: string) => void;
6
+ type ReturnFunctionType = (object: ClassLike, propertyName: string) => void;
6
7
  export declare function column(options?: ColumnOptions): ReturnFunctionType;
7
8
  export declare function column(dbColumnName: string, options?: ColumnOptions): ReturnFunctionType;
8
9
  export {};
@@ -27,7 +27,6 @@ exports.column = void 0;
27
27
  const _ = __importStar(require("lodash"));
28
28
  const metadata_1 = require("../metadata");
29
29
  function column(dbColumnNameOrOptions, options) {
30
- // eslint-disable-next-line @typescript-eslint/ban-types
31
30
  return function columnDecorator(object, propertyName) {
32
31
  if (!dbColumnNameOrOptions) {
33
32
  // eslint-disable-next-line no-param-reassign
@@ -1 +1 @@
1
- {"version":3,"file":"column.js","sourceRoot":"./","sources":["decorators/column.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAA4B;AAE5B,0CAKqB;AAYrB,SAAgB,MAAM,CAAC,qBAA8C,EAAE,OAAuB;IAC5F,wDAAwD;IACxD,OAAO,SAAS,eAAe,CAAC,MAAc,EAAE,YAAoB;QAClE,IAAI,CAAC,qBAAqB,EAAE;YAC1B,6CAA6C;YAC7C,qBAAqB,GAAG,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;SACnD;QAED,IAAI,YAAgC,CAAC;QACrC,IAAI,OAAO,qBAAqB,KAAK,QAAQ,EAAE;YAC7C,YAAY,GAAG,qBAAqB,CAAC;SACtC;aAAM;YACL,6CAA6C;YAC7C,OAAO,GAAG,qBAAqB,CAAC;SACjC;QAED,IAAI,CAAC,OAAO,EAAE;YACZ,6CAA6C;YAC7C,OAAO,GAAG,EAAuB,CAAC;SACnC;QAED,IAAI,CAAC,YAAY,EAAE;YACjB,YAAY,GAAG,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;SAC1D;QAED,MAAM,eAAe,GAAG,IAAA,6BAAkB,GAAE,CAAC;QAE7C,MAAM,uBAAuB,GAAG,OAAkC,CAAC;QAEnE,IAAI,uBAAuB,CAAC,UAAU,IAAI,uBAAuB,CAAC,GAAG,EAAE;YACrE,4DAA4D;YAC5D,IAAI,CAAC,uBAAuB,CAAC,UAAU,EAAE;gBACvC,MAAM,IAAI,KAAK,CAAC,sHAAsH,CAAC,CAAC;aACzI;YAED,eAAe,CAAC,OAAO,CAAC,IAAI,CAC1B,IAAI,mCAAwB,CAAC;gBAC3B,MAAM,EAAE,MAAM,CAAC,WAAW,CAAC,IAAI;gBAC/B,IAAI,EAAE,YAAY;gBAClB,YAAY;gBACZ,QAAQ,EAAE,uBAAuB,CAAC,QAAQ;gBAC1C,UAAU,EAAE,uBAAuB,CAAC,UAAU;gBAC9C,OAAO,EAAE,uBAAuB,CAAC,OAAO;gBACxC,GAAG,EAAE,uBAAuB,CAAC,GAAG;aACjC,CAAC,CACH,CAAC;YAEF,OAAO;SACR;QAED,MAAM,kBAAkB,GAAG,OAA6B,CAAC;QACzD,IAAI,kBAAkB,CAAC,KAAK,EAAE;YAC5B,eAAe,CAAC,OAAO,CAAC,IAAI,CAC1B,IAAI,8BAAmB,CAAC;gBACtB,MAAM,EAAE,MAAM,CAAC,WAAW,CAAC,IAAI;gBAC/B,IAAI,EAAE,YAAY;gBAClB,YAAY;gBACZ,QAAQ,EAAE,kBAAkB,CAAC,QAAQ;gBACrC,KAAK,EAAE,kBAAkB,CAAC,KAAK;aAChC,CAAC,CACH,CAAC;YAEF,OAAO;SACR;QAED,MAAM,iBAAiB,GAAG,OAA4B,CAAC;QACvD,eAAe,CAAC,OAAO,CAAC,IAAI,CAC1B,IAAI,6BAAkB,CAAC;YACrB,MAAM,EAAE,MAAM,CAAC,WAAW,CAAC,IAAI;YAC/B,IAAI,EAAE,YAAY;YAClB,YAAY;YACZ,QAAQ,EAAE,iBAAiB,CAAC,QAAQ;YACpC,IAAI,EAAE,iBAAiB,CAAC,IAAI;YAC5B,UAAU,EAAE,iBAAiB,CAAC,UAAU;YACxC,IAAI,EAAE,iBAAiB,CAAC,IAAI;SAC7B,CAAC,CACH,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AA9ED,wBA8EC"}
1
+ {"version":3,"file":"column.js","sourceRoot":"./","sources":["decorators/column.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAA4B;AAE5B,0CAKqB;AAYrB,SAAgB,MAAM,CAAC,qBAA8C,EAAE,OAAuB;IAC5F,OAAO,SAAS,eAAe,CAAC,MAAiB,EAAE,YAAoB;QACrE,IAAI,CAAC,qBAAqB,EAAE;YAC1B,6CAA6C;YAC7C,qBAAqB,GAAG,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;SACnD;QAED,IAAI,YAAgC,CAAC;QACrC,IAAI,OAAO,qBAAqB,KAAK,QAAQ,EAAE;YAC7C,YAAY,GAAG,qBAAqB,CAAC;SACtC;aAAM;YACL,6CAA6C;YAC7C,OAAO,GAAG,qBAAqB,CAAC;SACjC;QAED,IAAI,CAAC,OAAO,EAAE;YACZ,6CAA6C;YAC7C,OAAO,GAAG,EAAuB,CAAC;SACnC;QAED,IAAI,CAAC,YAAY,EAAE;YACjB,YAAY,GAAG,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;SAC1D;QAED,MAAM,eAAe,GAAG,IAAA,6BAAkB,GAAE,CAAC;QAE7C,MAAM,uBAAuB,GAAG,OAAkC,CAAC;QAEnE,IAAI,uBAAuB,CAAC,UAAU,IAAI,uBAAuB,CAAC,GAAG,EAAE;YACrE,4DAA4D;YAC5D,IAAI,CAAC,uBAAuB,CAAC,UAAU,EAAE;gBACvC,MAAM,IAAI,KAAK,CAAC,sHAAsH,CAAC,CAAC;aACzI;YAED,eAAe,CAAC,OAAO,CAAC,IAAI,CAC1B,IAAI,mCAAwB,CAAC;gBAC3B,MAAM,EAAE,MAAM,CAAC,WAAW,CAAC,IAAI;gBAC/B,IAAI,EAAE,YAAY;gBAClB,YAAY;gBACZ,QAAQ,EAAE,uBAAuB,CAAC,QAAQ;gBAC1C,UAAU,EAAE,uBAAuB,CAAC,UAAU;gBAC9C,OAAO,EAAE,uBAAuB,CAAC,OAAO;gBACxC,GAAG,EAAE,uBAAuB,CAAC,GAAG;aACjC,CAAC,CACH,CAAC;YAEF,OAAO;SACR;QAED,MAAM,kBAAkB,GAAG,OAA6B,CAAC;QACzD,IAAI,kBAAkB,CAAC,KAAK,EAAE;YAC5B,eAAe,CAAC,OAAO,CAAC,IAAI,CAC1B,IAAI,8BAAmB,CAAC;gBACtB,MAAM,EAAE,MAAM,CAAC,WAAW,CAAC,IAAI;gBAC/B,IAAI,EAAE,YAAY;gBAClB,YAAY;gBACZ,QAAQ,EAAE,kBAAkB,CAAC,QAAQ;gBACrC,KAAK,EAAE,kBAAkB,CAAC,KAAK;aAChC,CAAC,CACH,CAAC;YAEF,OAAO;SACR;QAED,MAAM,iBAAiB,GAAG,OAA4B,CAAC;QACvD,eAAe,CAAC,OAAO,CAAC,IAAI,CAC1B,IAAI,6BAAkB,CAAC;YACrB,MAAM,EAAE,MAAM,CAAC,WAAW,CAAC,IAAI;YAC/B,IAAI,EAAE,YAAY;YAClB,YAAY;YACZ,QAAQ,EAAE,iBAAiB,CAAC,QAAQ;YACpC,IAAI,EAAE,iBAAiB,CAAC,IAAI;YAC5B,UAAU,EAAE,iBAAiB,CAAC,UAAU;YACxC,IAAI,EAAE,iBAAiB,CAAC,IAAI;SAC7B,CAAC,CACH,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AA7ED,wBA6EC"}
@@ -1,5 +1,6 @@
1
+ import type { ClassLike } from '../types';
1
2
  import type { ColumnTypeOptions } from './ColumnTypeOptions';
2
- type ReturnFunctionType = (object: object, propertyName: string) => void;
3
+ type ReturnFunctionType = (object: ClassLike, propertyName: string) => void;
3
4
  export declare function createDateColumn(options?: ColumnTypeOptions): ReturnFunctionType;
4
5
  export declare function createDateColumn(dbColumnName: string, options?: ColumnTypeOptions): ReturnFunctionType;
5
6
  export {};
@@ -7,7 +7,6 @@ exports.createDateColumn = void 0;
7
7
  const lodash_1 = __importDefault(require("lodash"));
8
8
  const metadata_1 = require("../metadata");
9
9
  function createDateColumn(dbColumnNameOrOptions, options) {
10
- // eslint-disable-next-line @typescript-eslint/ban-types
11
10
  return function createDateColumnDecorator(object, propertyName) {
12
11
  const metadataStorage = (0, metadata_1.getMetadataStorage)();
13
12
  let dbColumnName;
@@ -1 +1 @@
1
- {"version":3,"file":"createDateColumn.js","sourceRoot":"./","sources":["decorators/createDateColumn.ts"],"names":[],"mappings":";;;;;;AAAA,oDAAuB;AAGvB,0CAAqE;AASrE,SAAgB,gBAAgB,CAAC,qBAAkD,EAAE,OAA2B;IAC9G,wDAAwD;IACxD,OAAO,SAAS,yBAAyB,CAAC,MAAc,EAAE,YAAoB;QAC5E,MAAM,eAAe,GAAG,IAAA,6BAAkB,GAAE,CAAC;QAC7C,IAAI,YAAgC,CAAC;QACrC,IAAI,OAAO,qBAAqB,KAAK,QAAQ,EAAE;YAC7C,YAAY,GAAG,qBAAqB,CAAC;SACtC;aAAM;YACL,6CAA6C;YAC7C,OAAO,GAAG,qBAAqB,CAAC;SACjC;QAED,IAAI,qBAAqB,EAAE;YACzB,IAAI,CAAC,OAAO,EAAE;gBACZ,6CAA6C;gBAC7C,OAAO,GAAG,EAAuB,CAAC;aACnC;YAED,IAAI,CAAC,YAAY,EAAE;gBACjB,YAAY,GAAG,OAAO,CAAC,IAAI,IAAI,gBAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;aAC1D;YAED,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,UAAU,EAAE,IAAI;gBAChB,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,IAAI,EAAE,OAAO,CAAC,IAAI;aACnB,CAAC,CACH,CAAC;SACH;aAAM;YACL,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,UAAU,EAAE,IAAI;gBAChB,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,UAAU;aAChB,CAAC,CAAC;SAC9B;IACH,CAAC,CAAC;AACJ,CAAC;AA3CD,4CA2CC"}
1
+ {"version":3,"file":"createDateColumn.js","sourceRoot":"./","sources":["decorators/createDateColumn.ts"],"names":[],"mappings":";;;;;;AAAA,oDAAuB;AAGvB,0CAAqE;AASrE,SAAgB,gBAAgB,CAAC,qBAAkD,EAAE,OAA2B;IAC9G,OAAO,SAAS,yBAAyB,CAAC,MAAiB,EAAE,YAAoB;QAC/E,MAAM,eAAe,GAAG,IAAA,6BAAkB,GAAE,CAAC;QAC7C,IAAI,YAAgC,CAAC;QACrC,IAAI,OAAO,qBAAqB,KAAK,QAAQ,EAAE;YAC7C,YAAY,GAAG,qBAAqB,CAAC;SACtC;aAAM;YACL,6CAA6C;YAC7C,OAAO,GAAG,qBAAqB,CAAC;SACjC;QAED,IAAI,qBAAqB,EAAE;YACzB,IAAI,CAAC,OAAO,EAAE;gBACZ,6CAA6C;gBAC7C,OAAO,GAAG,EAAuB,CAAC;aACnC;YAED,IAAI,CAAC,YAAY,EAAE;gBACjB,YAAY,GAAG,OAAO,CAAC,IAAI,IAAI,gBAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;aAC1D;YAED,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,UAAU,EAAE,IAAI;gBAChB,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,IAAI,EAAE,OAAO,CAAC,IAAI;aACnB,CAAC,CACH,CAAC;SACH;aAAM;YACL,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,UAAU,EAAE,IAAI;gBAChB,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,UAAU;aAChB,CAAC,CAAC;SAC9B;IACH,CAAC,CAAC;AACJ,CAAC;AA1CD,4CA0CC"}
@@ -1,7 +1,8 @@
1
+ import type { ClassLike } from '../types';
1
2
  import type { ColumnModelOptions } from './ColumnModelOptions';
2
3
  import type { ColumnTypeOptions } from './ColumnTypeOptions';
3
4
  type ColumnOptions = ColumnModelOptions | ColumnTypeOptions;
4
- type ReturnFunctionType = (object: object, propertyName: string) => void;
5
+ type ReturnFunctionType = (object: ClassLike, propertyName: string) => void;
5
6
  export declare function primaryColumn(options?: ColumnOptions): ReturnFunctionType;
6
7
  export declare function primaryColumn(dbColumnName: string, options?: ColumnOptions): ReturnFunctionType;
7
8
  export {};
@@ -7,7 +7,6 @@ exports.primaryColumn = void 0;
7
7
  const lodash_1 = __importDefault(require("lodash"));
8
8
  const metadata_1 = require("../metadata");
9
9
  function primaryColumn(dbColumnNameOrOptions, options) {
10
- // eslint-disable-next-line @typescript-eslint/ban-types
11
10
  return function primaryColumnDecorator(object, propertyName) {
12
11
  let dbColumnName;
13
12
  if (typeof dbColumnNameOrOptions === 'string') {
@@ -1 +1 @@
1
- {"version":3,"file":"primaryColumn.js","sourceRoot":"./","sources":["decorators/primaryColumn.ts"],"names":[],"mappings":";;;;;;AAAA,oDAAuB;AAGvB,0CAA0F;AAY1F,SAAgB,aAAa,CAAC,qBAA8C,EAAE,OAAuB;IACnG,wDAAwD;IACxD,OAAO,SAAS,sBAAsB,CAAC,MAAc,EAAE,YAAoB;QACzE,IAAI,YAAgC,CAAC;QACrC,IAAI,OAAO,qBAAqB,KAAK,QAAQ,EAAE;YAC7C,YAAY,GAAG,qBAAqB,CAAC;SACtC;aAAM;YACL,6CAA6C;YAC7C,OAAO,GAAG,qBAAqB,CAAC;SACjC;QAED,IAAI,qBAAqB,EAAE;YACzB,IAAI,CAAC,OAAO,EAAE;gBACZ,6CAA6C;gBAC7C,OAAO,GAAG,EAAuB,CAAC;aACnC;YAED,IAAI,CAAC,YAAY,EAAE;gBACjB,YAAY,GAAG,OAAO,CAAC,IAAI,IAAI,gBAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;aAC1D;YAED,MAAM,EAAE,IAAI,EAAE,GAAG,OAA4B,CAAC;YAC9C,MAAM,EAAE,KAAK,EAAE,GAAG,OAA6B,CAAC;YAEhD,MAAM,eAAe,GAAG,IAAA,6BAAkB,GAAE,CAAC;YAE7C,IAAI,KAAK,EAAE;gBACT,eAAe,CAAC,OAAO,CAAC,IAAI,CAC1B,IAAI,8BAAmB,CAAC;oBACtB,MAAM,EAAE,MAAM,CAAC,WAAW,CAAC,IAAI;oBAC/B,IAAI,EAAE,YAAY;oBAClB,YAAY;oBACZ,OAAO,EAAE,IAAI;oBACb,QAAQ,EAAE,OAAO,CAAC,QAAQ;oBAC1B,KAAK;iBACN,CAAC,CACH,CAAC;aACH;iBAAM;gBACL,eAAe,CAAC,OAAO,CAAC,IAAI,CAC1B,IAAI,6BAAkB,CAAC;oBACrB,MAAM,EAAE,MAAM,CAAC,WAAW,CAAC,IAAI;oBAC/B,IAAI,EAAE,YAAY;oBAClB,YAAY;oBACZ,OAAO,EAAE,IAAI;oBACb,QAAQ,EAAE,OAAO,CAAC,QAAQ;oBAC1B,IAAI;iBACL,CAAC,CACH,CAAC;aACH;SACF;aAAM;YACL,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,CAAE,OAA6B,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;gBAC/D,KAAK,EAAE,OAAO,CAAC,CAAC,CAAE,OAA8B,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;aACzC,CAAC,CAAC;SAC9B;IACH,CAAC,CAAC;AACJ,CAAC;AA9DD,sCA8DC"}
1
+ {"version":3,"file":"primaryColumn.js","sourceRoot":"./","sources":["decorators/primaryColumn.ts"],"names":[],"mappings":";;;;;;AAAA,oDAAuB;AAGvB,0CAA0F;AAY1F,SAAgB,aAAa,CAAC,qBAA8C,EAAE,OAAuB;IACnG,OAAO,SAAS,sBAAsB,CAAC,MAAiB,EAAE,YAAoB;QAC5E,IAAI,YAAgC,CAAC;QACrC,IAAI,OAAO,qBAAqB,KAAK,QAAQ,EAAE;YAC7C,YAAY,GAAG,qBAAqB,CAAC;SACtC;aAAM;YACL,6CAA6C;YAC7C,OAAO,GAAG,qBAAqB,CAAC;SACjC;QAED,IAAI,qBAAqB,EAAE;YACzB,IAAI,CAAC,OAAO,EAAE;gBACZ,6CAA6C;gBAC7C,OAAO,GAAG,EAAuB,CAAC;aACnC;YAED,IAAI,CAAC,YAAY,EAAE;gBACjB,YAAY,GAAG,OAAO,CAAC,IAAI,IAAI,gBAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;aAC1D;YAED,MAAM,EAAE,IAAI,EAAE,GAAG,OAA4B,CAAC;YAC9C,MAAM,EAAE,KAAK,EAAE,GAAG,OAA6B,CAAC;YAEhD,MAAM,eAAe,GAAG,IAAA,6BAAkB,GAAE,CAAC;YAE7C,IAAI,KAAK,EAAE;gBACT,eAAe,CAAC,OAAO,CAAC,IAAI,CAC1B,IAAI,8BAAmB,CAAC;oBACtB,MAAM,EAAE,MAAM,CAAC,WAAW,CAAC,IAAI;oBAC/B,IAAI,EAAE,YAAY;oBAClB,YAAY;oBACZ,OAAO,EAAE,IAAI;oBACb,QAAQ,EAAE,OAAO,CAAC,QAAQ;oBAC1B,KAAK;iBACN,CAAC,CACH,CAAC;aACH;iBAAM;gBACL,eAAe,CAAC,OAAO,CAAC,IAAI,CAC1B,IAAI,6BAAkB,CAAC;oBACrB,MAAM,EAAE,MAAM,CAAC,WAAW,CAAC,IAAI;oBAC/B,IAAI,EAAE,YAAY;oBAClB,YAAY;oBACZ,OAAO,EAAE,IAAI;oBACb,QAAQ,EAAE,OAAO,CAAC,QAAQ;oBAC1B,IAAI;iBACL,CAAC,CACH,CAAC;aACH;SACF;aAAM;YACL,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,CAAE,OAA6B,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;gBAC/D,KAAK,EAAE,OAAO,CAAC,CAAC,CAAE,OAA8B,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;aACzC,CAAC,CAAC;SAC9B;IACH,CAAC,CAAC;AACJ,CAAC;AA7DD,sCA6DC"}
@@ -1,5 +1,6 @@
1
+ import type { ClassLike } from '../types';
1
2
  import type { ColumnTypeOptions } from './ColumnTypeOptions';
2
- type ReturnFunctionType = (object: object, propertyName: string) => void;
3
+ type ReturnFunctionType = (object: ClassLike, propertyName: string) => void;
3
4
  export declare function updateDateColumn(options?: ColumnTypeOptions): ReturnFunctionType;
4
5
  export declare function updateDateColumn(dbColumnName: string, options?: ColumnTypeOptions): ReturnFunctionType;
5
6
  export {};
@@ -7,7 +7,6 @@ exports.updateDateColumn = void 0;
7
7
  const lodash_1 = __importDefault(require("lodash"));
8
8
  const metadata_1 = require("../metadata");
9
9
  function updateDateColumn(dbColumnNameOrOptions, options) {
10
- // eslint-disable-next-line @typescript-eslint/ban-types
11
10
  return function updateDateColumnDecorator(object, propertyName) {
12
11
  let dbColumnName;
13
12
  if (typeof dbColumnNameOrOptions === 'string') {
@@ -1 +1 @@
1
- {"version":3,"file":"updateDateColumn.js","sourceRoot":"./","sources":["decorators/updateDateColumn.ts"],"names":[],"mappings":";;;;;;AAAA,oDAAuB;AAGvB,0CAAqE;AASrE,SAAgB,gBAAgB,CAAC,qBAAkD,EAAE,OAA2B;IAC9G,wDAAwD;IACxD,OAAO,SAAS,yBAAyB,CAAC,MAAc,EAAE,YAAoB;QAC5E,IAAI,YAAgC,CAAC;QACrC,IAAI,OAAO,qBAAqB,KAAK,QAAQ,EAAE;YAC7C,YAAY,GAAG,qBAAqB,CAAC;SACtC;aAAM;YACL,6CAA6C;YAC7C,OAAO,GAAG,qBAAqB,CAAC;SACjC;QAED,IAAI,qBAAqB,EAAE;YACzB,IAAI,CAAC,OAAO,EAAE;gBACZ,6CAA6C;gBAC7C,OAAO,GAAG,EAAuB,CAAC;aACnC;YAED,IAAI,CAAC,YAAY,EAAE;gBACjB,YAAY,GAAG,OAAO,CAAC,IAAI,IAAI,gBAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;aAC1D;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,UAAU,EAAE,IAAI;gBAChB,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,IAAI,EAAE,OAAO,CAAC,IAAI;aACnB,CAAC,CACH,CAAC;SACH;aAAM;YACL,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,UAAU,EAAE,IAAI;gBAChB,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,UAAU;aAChB,CAAC,CAAC;SAC9B;IACH,CAAC,CAAC;AACJ,CAAC;AA5CD,4CA4CC"}
1
+ {"version":3,"file":"updateDateColumn.js","sourceRoot":"./","sources":["decorators/updateDateColumn.ts"],"names":[],"mappings":";;;;;;AAAA,oDAAuB;AAGvB,0CAAqE;AASrE,SAAgB,gBAAgB,CAAC,qBAAkD,EAAE,OAA2B;IAC9G,OAAO,SAAS,yBAAyB,CAAC,MAAiB,EAAE,YAAoB;QAC/E,IAAI,YAAgC,CAAC;QACrC,IAAI,OAAO,qBAAqB,KAAK,QAAQ,EAAE;YAC7C,YAAY,GAAG,qBAAqB,CAAC;SACtC;aAAM;YACL,6CAA6C;YAC7C,OAAO,GAAG,qBAAqB,CAAC;SACjC;QAED,IAAI,qBAAqB,EAAE;YACzB,IAAI,CAAC,OAAO,EAAE;gBACZ,6CAA6C;gBAC7C,OAAO,GAAG,EAAuB,CAAC;aACnC;YAED,IAAI,CAAC,YAAY,EAAE;gBACjB,YAAY,GAAG,OAAO,CAAC,IAAI,IAAI,gBAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;aAC1D;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,UAAU,EAAE,IAAI;gBAChB,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,IAAI,EAAE,OAAO,CAAC,IAAI;aACnB,CAAC,CACH,CAAC;SACH;aAAM;YACL,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,UAAU,EAAE,IAAI;gBAChB,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,UAAU;aAChB,CAAC,CAAC;SAC9B;IACH,CAAC,CAAC;AACJ,CAAC;AA3CD,4CA2CC"}
@@ -1,5 +1,6 @@
1
+ import type { ClassLike } from '../types';
1
2
  import type { ColumnTypeOptions } from './ColumnTypeOptions';
2
- type ReturnFunctionType = (object: object, propertyName: string) => void;
3
+ type ReturnFunctionType = (object: ClassLike, propertyName: string) => void;
3
4
  export declare function versionColumn(options?: ColumnTypeOptions): ReturnFunctionType;
4
5
  export declare function versionColumn(dbColumnName: string, options?: ColumnTypeOptions): ReturnFunctionType;
5
6
  export {};
@@ -7,7 +7,6 @@ exports.versionColumn = void 0;
7
7
  const lodash_1 = __importDefault(require("lodash"));
8
8
  const metadata_1 = require("../metadata");
9
9
  function versionColumn(dbColumnNameOrOptions, options) {
10
- // eslint-disable-next-line @typescript-eslint/ban-types
11
10
  return function versionColumnDecorator(object, propertyName) {
12
11
  let dbColumnName;
13
12
  if (typeof dbColumnNameOrOptions === 'string') {
@@ -1 +1 @@
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,wDAAwD;IACxD,OAAO,SAAS,sBAAsB,CAAC,MAAc,EAAE,YAAoB;QACzE,IAAI,YAAgC,CAAC;QACrC,IAAI,OAAO,qBAAqB,KAAK,QAAQ,EAAE;YAC7C,YAAY,GAAG,qBAAqB,CAAC;SACtC;aAAM;YACL,6CAA6C;YAC7C,OAAO,GAAG,qBAAqB,CAAC;SACjC;QAED,IAAI,qBAAqB,EAAE;YACzB,IAAI,CAAC,OAAO,EAAE;gBACZ,6CAA6C;gBAC7C,OAAO,GAAG,EAAuB,CAAC;aACnC;YAED,IAAI,CAAC,YAAY,EAAE;gBACjB,YAAY,GAAG,OAAO,CAAC,IAAI,IAAI,gBAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;aAC1D;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;SACH;aAAM;YACL,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;SAC9B;IACH,CAAC,CAAC;AACJ,CAAC;AA5CD,sCA4CC"}
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;YAC7C,YAAY,GAAG,qBAAqB,CAAC;SACtC;aAAM;YACL,6CAA6C;YAC7C,OAAO,GAAG,qBAAqB,CAAC;SACjC;QAED,IAAI,qBAAqB,EAAE;YACzB,IAAI,CAAC,OAAO,EAAE;gBACZ,6CAA6C;gBAC7C,OAAO,GAAG,EAAuB,CAAC;aACnC;YAED,IAAI,CAAC,YAAY,EAAE;gBACjB,YAAY,GAAG,OAAO,CAAC,IAAI,IAAI,gBAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;aAC1D;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;SACH;aAAM;YACL,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;SAC9B;IACH,CAAC,CAAC;AACJ,CAAC;AA3CD,sCA2CC"}
@@ -0,0 +1,8 @@
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
+ }
@@ -0,0 +1,13 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1 @@
1
+ export * from './QueryError';
@@ -0,0 +1,18 @@
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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"./","sources":["errors/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bigal",
3
- "version": "11.0.2",
3
+ "version": "12.0.1",
4
4
  "description": "A fast and lightweight orm for postgres and node.js, written in typescript.",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",
@@ -16,45 +16,45 @@
16
16
  },
17
17
  "homepage": "https://github.com/bigalorm/bigal#readme",
18
18
  "engines": {
19
- "node": ">=16"
19
+ "node": ">=18"
20
20
  },
21
21
  "dependencies": {
22
- "@types/lodash": "^4.14.195",
23
- "@types/node": ">=16",
24
- "@types/pg": "^8.10.2",
22
+ "@types/lodash": "^4.14.200",
23
+ "@types/pg": "^8.10.7",
25
24
  "lodash": "^4.17.21",
26
- "pg": "^8.11.1",
27
- "postgres-pool": "^7.0.2"
25
+ "pg": "^8.11.3",
26
+ "postgres-pool": "^8.1.0"
28
27
  },
29
28
  "devDependencies": {
30
- "@faker-js/faker": "^8.0.2",
31
- "@types/chai": "^4.3.5",
32
- "@types/mocha": "10.0.1",
33
- "@typescript-eslint/eslint-plugin": "^6.1.0",
34
- "@typescript-eslint/parser": "^6.1.0",
35
- "chai": "^4.3.7",
36
- "eslint": "^8.45.0",
29
+ "@faker-js/faker": "^8.2.0",
30
+ "@types/chai": "^4.3.9",
31
+ "@types/mocha": "10.0.3",
32
+ "@types/node": ">=18",
33
+ "@typescript-eslint/eslint-plugin": "^6.9.0",
34
+ "@typescript-eslint/parser": "^6.9.0",
35
+ "chai": "^4.3.10",
36
+ "eslint": "^8.52.0",
37
37
  "eslint-config-airbnb-base": "^15.0.0",
38
38
  "eslint-config-airbnb-typescript": "^17.1.0",
39
- "eslint-config-prettier": "^8.8.0",
40
- "eslint-plugin-import": "^2.27.5",
41
- "eslint-plugin-jsdoc": "^46.4.4",
42
- "eslint-plugin-mocha": "10.1.0",
43
- "eslint-plugin-prettier": "^5.0.0",
39
+ "eslint-config-prettier": "^9.0.0",
40
+ "eslint-plugin-import": "^2.29.0",
41
+ "eslint-plugin-jsdoc": "^46.8.2",
42
+ "eslint-plugin-mocha": "10.2.0",
43
+ "eslint-plugin-prettier": "^5.0.1",
44
44
  "eslint-plugin-promise": "^6.1.1",
45
45
  "eslint-plugin-security": "^1.7.1",
46
46
  "husky": "^8.0.3",
47
- "lint-staged": "^13.2.3",
48
- "markdownlint-cli": "^0.35.0",
47
+ "lint-staged": "^15.0.2",
48
+ "markdownlint-cli": "^0.37.0",
49
49
  "mocha": "^10.2.0",
50
50
  "npm-run-all": "^4.1.5",
51
51
  "pinst": "^3.0.0",
52
- "prettier": "^3.0.0",
53
- "rimraf": "^5.0.1",
52
+ "prettier": "^3.0.3",
53
+ "rimraf": "^5.0.5",
54
54
  "strict-event-emitter-types": "^2.0.0",
55
55
  "ts-mockito": "^2.6.1",
56
56
  "ts-node": "^10.9.1",
57
- "typescript": "^5.1.6"
57
+ "typescript": "^5.2.2"
58
58
  },
59
59
  "scripts": {
60
60
  "check:types": "tsc -p tsconfig.lint.json --noEmit",
@@ -0,0 +1,8 @@
1
+ export interface ClassLike {
2
+ /**
3
+ * Returns the name of the function. Function names are read-only and can not be changed.
4
+ */
5
+ readonly constructor: {
6
+ readonly name: string;
7
+ };
8
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=ClassLike.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ClassLike.js","sourceRoot":"./","sources":["types/ClassLike.ts"],"names":[],"mappings":""}
package/types/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ export * from './ClassLike';
1
2
  export * from './CreateUpdateParams';
2
3
  export * from './EntityPrimitiveOrId';
3
4
  export * from './ExcludeEntityCollections';
package/types/index.js CHANGED
@@ -14,6 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./ClassLike"), exports);
17
18
  __exportStar(require("./CreateUpdateParams"), exports);
18
19
  __exportStar(require("./EntityPrimitiveOrId"), exports);
19
20
  __exportStar(require("./ExcludeEntityCollections"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"./","sources":["types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uDAAqC;AACrC,wDAAsC;AACtC,6DAA2C;AAC3C,qDAAmC;AACnC,iDAA+B;AAC/B,qDAAmC;AACnC,kDAAgC;AAChC,0DAAwC;AACxC,kDAAgC;AAChC,+CAA6B;AAC7B,oDAAkC;AAClC,kDAAgC;AAChC,8CAA4B;AAC5B,gDAA8B;AAC9B,yDAAuC;AACvC,iEAA+C"}
1
+ {"version":3,"file":"index.js","sourceRoot":"./","sources":["types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,uDAAqC;AACrC,wDAAsC;AACtC,6DAA2C;AAC3C,qDAAmC;AACnC,iDAA+B;AAC/B,qDAAmC;AACnC,kDAAgC;AAChC,0DAAwC;AACxC,kDAAgC;AAChC,+CAA6B;AAC7B,oDAAkC;AAClC,kDAAgC;AAChC,8CAA4B;AAC5B,gDAA8B;AAC9B,yDAAuC;AACvC,iEAA+C"}