@steroidsjs/nest 1.7.17 → 1.7.18

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.
@@ -0,0 +1,6 @@
1
+ import { ValidationOptions } from 'class-validator';
2
+ import { IDecimalFieldOptions } from './DecimalField';
3
+ export declare const IS_DECIMAL_NUMBER = "isDecimalNumber";
4
+ export declare function isDecimalNumber(value: unknown, options?: IDecimalFieldOptions): boolean;
5
+ export declare function IsDecimalNumber(options?: IDecimalFieldOptions, validationOptions?: ValidationOptions): PropertyDecorator;
6
+ export declare function DecimalNumberField(options?: IDecimalFieldOptions): <TFunction extends Function, Y>(target: object | TFunction, propertyKey?: string | symbol, descriptor?: TypedPropertyDescriptor<Y>) => void;
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DecimalNumberField = exports.IsDecimalNumber = exports.isDecimalNumber = exports.IS_DECIMAL_NUMBER = void 0;
4
+ const common_1 = require("@nestjs/common");
5
+ const typeorm_1 = require("@steroidsjs/typeorm");
6
+ const class_validator_1 = require("class-validator");
7
+ const class_validator_2 = require("class-validator");
8
+ const BaseField_1 = require("./BaseField");
9
+ const Transform_1 = require("../Transform");
10
+ exports.IS_DECIMAL_NUMBER = 'isDecimalNumber';
11
+ function isDecimalNumber(value, options) {
12
+ var _a;
13
+ if (typeof value !== 'number') {
14
+ return false;
15
+ }
16
+ return (0, class_validator_2.isDecimal)(value.toString(), {
17
+ decimal_digits: (_a = '0,' + options.scale) !== null && _a !== void 0 ? _a : '',
18
+ });
19
+ }
20
+ exports.isDecimalNumber = isDecimalNumber;
21
+ function IsDecimalNumber(options, validationOptions) {
22
+ return (0, class_validator_2.ValidateBy)({
23
+ name: exports.IS_DECIMAL_NUMBER,
24
+ constraints: [options],
25
+ validator: {
26
+ validate: (value, args) => isDecimalNumber(value, args === null || args === void 0 ? void 0 : args.constraints[0]),
27
+ defaultMessage: (0, class_validator_2.buildMessage)(eachPrefix => eachPrefix + '$property is not a valid decimal number.', validationOptions),
28
+ },
29
+ }, validationOptions);
30
+ }
31
+ exports.IsDecimalNumber = IsDecimalNumber;
32
+ function DecimalNumberField(options = {}) {
33
+ return (0, common_1.applyDecorators)(...[
34
+ (0, BaseField_1.BaseField)(options, {
35
+ decoratorName: 'DecimalNumberField',
36
+ appType: 'decimal',
37
+ jsType: 'number',
38
+ }),
39
+ (0, typeorm_1.Column)({
40
+ type: 'decimal',
41
+ default: options.defaultValue,
42
+ nullable: options.nullable,
43
+ precision: options.precision || 10,
44
+ scale: options.scale || 2,
45
+ }),
46
+ (0, Transform_1.Transform)(({ value }) => value ? Number(value) : value, Transform_1.TRANSFORM_TYPE_FROM_DB),
47
+ options.nullable && (0, class_validator_1.ValidateIf)((object, value) => value !== null && typeof value !== 'undefined'),
48
+ IsDecimalNumber(options, {
49
+ message: options.isDecimalConstraintMessage || 'Должно быть числом',
50
+ }),
51
+ ].filter(Boolean));
52
+ }
53
+ exports.DecimalNumberField = DecimalNumberField;
54
+ //# sourceMappingURL=DecimalNumberField.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DecimalNumberField.js","sourceRoot":"","sources":["../../../../src/infrastructure/decorators/fields/DecimalNumberField.ts"],"names":[],"mappings":";;;AAAA,2CAA+C;AAC/C,iDAA2C;AAC3C,qDAA2C;AAC3C,qDAAuF;AAEvF,2CAAwC;AACxC,4CAAiE;AAEpD,QAAA,iBAAiB,GAAG,iBAAiB,CAAC;AAEnD,SAAgB,eAAe,CAAC,KAAc,EAAE,OAA8B;;IAC1E,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAAE,OAAO,KAAK,CAAC;KAAE;IAEhD,OAAO,IAAA,2BAAS,EAAC,KAAK,CAAC,QAAQ,EAAE,EAAE;QAC/B,cAAc,EAAE,MAAA,IAAI,GAAG,OAAO,CAAC,KAAK,mCAAI,EAAE;KAC7C,CAAC,CAAC;AACP,CAAC;AAND,0CAMC;AAED,SAAgB,eAAe,CAC3B,OAA8B,EAC9B,iBAAqC;IAErC,OAAO,IAAA,4BAAU,EACb;QACI,IAAI,EAAE,yBAAiB;QACvB,WAAW,EAAE,CAAC,OAAO,CAAC;QACtB,SAAS,EAAE;YACP,QAAQ,EAAE,CAAC,KAAK,EAAE,IAAI,EAAW,EAAE,CAAC,eAAe,CAAC,KAAK,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,WAAW,CAAC,CAAC,CAAC,CAAC;YAChF,cAAc,EAAE,IAAA,8BAAY,EACxB,UAAU,CAAC,EAAE,CAAC,UAAU,GAAG,0CAA0C,EACrE,iBAAiB,CACpB;SACJ;KACJ,EACD,iBAAiB,CACpB,CAAC;AACN,CAAC;AAlBD,0CAkBC;AAED,SAAgB,kBAAkB,CAAC,UAAgC,EAAE;IACjE,OAAO,IAAA,wBAAe,EAAC,GAAG;QACtB,IAAA,qBAAS,EAAC,OAAO,EAAE;YACf,aAAa,EAAE,oBAAoB;YACnC,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,QAAQ;SACnB,CAAC;QACF,IAAA,gBAAM,EAAC;YACH,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,OAAO,CAAC,YAAY;YAC7B,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,EAAE;YAClC,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;SAC5B,CAAC;QACF,IAAA,qBAAS,EAAC,CAAC,EAAC,KAAK,EAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,kCAAsB,CAAC;QAC7E,OAAO,CAAC,QAAQ,IAAI,IAAA,4BAAU,EAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,WAAW,CAAC;QACjG,eAAe,CAAC,OAAO,EAAE;YACrB,OAAO,EAAE,OAAO,CAAC,0BAA0B,IAAI,oBAAoB;SACtE,CAAC;KACL,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;AACvB,CAAC;AApBD,gDAoBC"}
@@ -20,6 +20,7 @@ export { ComputableField } from './ComputableField';
20
20
  export { DateField } from './DateField';
21
21
  export { DateTimeField } from './DateTimeField';
22
22
  export { DecimalField } from './DecimalField';
23
+ export { DecimalNumberField } from './DecimalNumberField';
23
24
  export { EmailField } from './EmailField';
24
25
  export { EnumField } from './EnumField';
25
26
  export { FileField } from './FileField';
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ImageField = exports.RelationIdField = exports.RelationField = exports.UpdateTimeField = exports.UidField = exports.TimeField = exports.TextField = exports.StringField = exports.PrimaryKeyField = exports.PhoneField = exports.PasswordField = exports.IntegerField = exports.HtmlField = exports.FileField = exports.EnumField = exports.EmailField = exports.DecimalField = exports.DateTimeField = exports.DateField = exports.ComputableField = exports.CreateTimeField = exports.CoordinateField = exports.BooleanField = void 0;
3
+ exports.ImageField = exports.RelationIdField = exports.RelationField = exports.UpdateTimeField = exports.UidField = exports.TimeField = exports.TextField = exports.StringField = exports.PrimaryKeyField = exports.PhoneField = exports.PasswordField = exports.IntegerField = exports.HtmlField = exports.FileField = exports.EnumField = exports.EmailField = exports.DecimalNumberField = exports.DecimalField = exports.DateTimeField = exports.DateField = exports.ComputableField = exports.CreateTimeField = exports.CoordinateField = exports.BooleanField = void 0;
4
4
  var BooleanField_1 = require("./BooleanField");
5
5
  Object.defineProperty(exports, "BooleanField", { enumerable: true, get: function () { return BooleanField_1.BooleanField; } });
6
6
  var CoordinateField_1 = require("./CoordinateField");
@@ -15,6 +15,8 @@ var DateTimeField_1 = require("./DateTimeField");
15
15
  Object.defineProperty(exports, "DateTimeField", { enumerable: true, get: function () { return DateTimeField_1.DateTimeField; } });
16
16
  var DecimalField_1 = require("./DecimalField");
17
17
  Object.defineProperty(exports, "DecimalField", { enumerable: true, get: function () { return DecimalField_1.DecimalField; } });
18
+ var DecimalNumberField_1 = require("./DecimalNumberField");
19
+ Object.defineProperty(exports, "DecimalNumberField", { enumerable: true, get: function () { return DecimalNumberField_1.DecimalNumberField; } });
18
20
  var EmailField_1 = require("./EmailField");
19
21
  Object.defineProperty(exports, "EmailField", { enumerable: true, get: function () { return EmailField_1.EmailField; } });
20
22
  var EnumField_1 = require("./EnumField");
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/infrastructure/decorators/fields/index.ts"],"names":[],"mappings":";;;AAgBA,+CAA4C;AAApC,4GAAA,YAAY,OAAA;AACpB,qDAAkD;AAA1C,kHAAA,eAAe,OAAA;AACvB,qDAAkD;AAA1C,kHAAA,eAAe,OAAA;AACvB,qDAAkD;AAA1C,kHAAA,eAAe,OAAA;AACvB,yCAAsC;AAA9B,sGAAA,SAAS,OAAA;AACjB,iDAA8C;AAAtC,8GAAA,aAAa,OAAA;AACrB,+CAA4C;AAApC,4GAAA,YAAY,OAAA;AACpB,2CAAwC;AAAhC,wGAAA,UAAU,OAAA;AAClB,yCAAsC;AAA9B,sGAAA,SAAS,OAAA;AACjB,yCAAsC;AAA9B,sGAAA,SAAS,OAAA;AACjB,yCAAsC;AAA9B,sGAAA,SAAS,OAAA;AACjB,+CAA4C;AAApC,4GAAA,YAAY,OAAA;AACpB,iDAA8C;AAAtC,8GAAA,aAAa,OAAA;AACrB,2CAAwC;AAAhC,wGAAA,UAAU,OAAA;AAClB,qDAAkD;AAA1C,kHAAA,eAAe,OAAA;AACvB,6CAA0C;AAAlC,0GAAA,WAAW,OAAA;AACnB,yCAAsC;AAA9B,sGAAA,SAAS,OAAA;AACjB,yCAAsC;AAA9B,sGAAA,SAAS,OAAA;AACjB,uCAAoC;AAA5B,oGAAA,QAAQ,OAAA;AAChB,qDAAkD;AAA1C,kHAAA,eAAe,OAAA;AACvB,iDAA8C;AAAtC,8GAAA,aAAa,OAAA;AACrB,qDAAkD;AAA1C,kHAAA,eAAe,OAAA;AACvB,2CAAwC;AAAhC,wGAAA,UAAU,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/infrastructure/decorators/fields/index.ts"],"names":[],"mappings":";;;AAgBA,+CAA4C;AAApC,4GAAA,YAAY,OAAA;AACpB,qDAAkD;AAA1C,kHAAA,eAAe,OAAA;AACvB,qDAAkD;AAA1C,kHAAA,eAAe,OAAA;AACvB,qDAAkD;AAA1C,kHAAA,eAAe,OAAA;AACvB,yCAAsC;AAA9B,sGAAA,SAAS,OAAA;AACjB,iDAA8C;AAAtC,8GAAA,aAAa,OAAA;AACrB,+CAA4C;AAApC,4GAAA,YAAY,OAAA;AACpB,2DAAwD;AAAhD,wHAAA,kBAAkB,OAAA;AAC1B,2CAAwC;AAAhC,wGAAA,UAAU,OAAA;AAClB,yCAAsC;AAA9B,sGAAA,SAAS,OAAA;AACjB,yCAAsC;AAA9B,sGAAA,SAAS,OAAA;AACjB,yCAAsC;AAA9B,sGAAA,SAAS,OAAA;AACjB,+CAA4C;AAApC,4GAAA,YAAY,OAAA;AACpB,iDAA8C;AAAtC,8GAAA,aAAa,OAAA;AACrB,2CAAwC;AAAhC,wGAAA,UAAU,OAAA;AAClB,qDAAkD;AAA1C,kHAAA,eAAe,OAAA;AACvB,6CAA0C;AAAlC,0GAAA,WAAW,OAAA;AACnB,yCAAsC;AAA9B,sGAAA,SAAS,OAAA;AACjB,yCAAsC;AAA9B,sGAAA,SAAS,OAAA;AACjB,uCAAoC;AAA5B,oGAAA,QAAQ,OAAA;AAChB,qDAAkD;AAA1C,kHAAA,eAAe,OAAA;AACvB,iDAA8C;AAAtC,8GAAA,aAAa,OAAA;AACrB,qDAAkD;AAA1C,kHAAA,eAAe,OAAA;AACvB,2CAAwC;AAAhC,wGAAA,UAAU,OAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@steroidsjs/nest",
3
- "version": "1.7.17",
3
+ "version": "1.7.18",
4
4
  "scripts": {
5
5
  "script": "nps",
6
6
  "watch": "nps watch",