@wisemen/address 0.2.2 → 0.2.4

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.
@@ -3,6 +3,7 @@ import { AddressCommand } from './address-command.js';
3
3
  export declare class AddressCommandBuilder {
4
4
  private command;
5
5
  constructor();
6
+ withPlaceId(placeId: string | null): this;
6
7
  withCountry(country: string | null): this;
7
8
  withCity(city: string | null): this;
8
9
  withPostalCode(postalCode: string | null): this;
@@ -4,6 +4,10 @@ export class AddressCommandBuilder {
4
4
  constructor() {
5
5
  this.command = new AddressCommand();
6
6
  }
7
+ withPlaceId(placeId) {
8
+ this.command.placeId = placeId;
9
+ return this;
10
+ }
7
11
  withCountry(country) {
8
12
  this.command.country = country;
9
13
  return this;
@@ -1 +1 @@
1
- {"version":3,"file":"address-command.builder.js","sourceRoot":"","sources":["../lib/address-command.builder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAErD,MAAM,OAAO,qBAAqB;IACxB,OAAO,CAAgB;IAE/B;QACE,IAAI,CAAC,OAAO,GAAG,IAAI,cAAc,EAAE,CAAA;IACrC,CAAC;IAED,WAAW,CAAE,OAAsB;QACjC,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAA;QAE9B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,QAAQ,CAAE,IAAmB;QAC3B,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAA;QAExB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,cAAc,CAAE,UAAyB;QACvC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,UAAU,CAAA;QAEpC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,cAAc,CAAE,UAAyB;QACvC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,UAAU,CAAA;QAEpC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,gBAAgB,CAAE,YAA2B;QAC3C,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,YAAY,CAAA;QAExC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,QAAQ,CAAE,IAAmB;QAC3B,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAA;QAExB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,eAAe,CAAE,WAAsC;QACrD,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,WAAW,CAAA;QAEtC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK;QACH,OAAO,IAAI,CAAC,OAAO,CAAA;IACrB,CAAC;CACF"}
1
+ {"version":3,"file":"address-command.builder.js","sourceRoot":"","sources":["../lib/address-command.builder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAErD,MAAM,OAAO,qBAAqB;IACxB,OAAO,CAAgB;IAE/B;QACE,IAAI,CAAC,OAAO,GAAG,IAAI,cAAc,EAAE,CAAA;IACrC,CAAC;IAED,WAAW,CAAE,OAAsB;QACjC,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAA;QAE9B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,WAAW,CAAE,OAAsB;QACjC,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAA;QAE9B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,QAAQ,CAAE,IAAmB;QAC3B,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAA;QAExB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,cAAc,CAAE,UAAyB;QACvC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,UAAU,CAAA;QAEpC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,cAAc,CAAE,UAAyB;QACvC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,UAAU,CAAA;QAEpC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,gBAAgB,CAAE,YAA2B;QAC3C,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,YAAY,CAAA;QAExC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,QAAQ,CAAE,IAAmB;QAC3B,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAA;QAExB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,eAAe,CAAE,WAAsC;QACrD,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,WAAW,CAAA;QAEtC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK;QACH,OAAO,IAAI,CAAC,OAAO,CAAA;IACrB,CAAC;CACF"}
@@ -7,5 +7,6 @@ export interface IsAddressValidationOptions extends ValidationOptions {
7
7
  streetNumberRequired?: boolean;
8
8
  unitRequired?: boolean;
9
9
  coordinatesRequired?: boolean;
10
+ placeIdRequired?: boolean;
10
11
  }
11
12
  export declare function IsAddress(validationOptions?: IsAddressValidationOptions): PropertyDecorator;
@@ -16,7 +16,8 @@ export function IsAddress(validationOptions) {
16
16
  streetNameRequired: validationOptions?.streetNameRequired ?? false,
17
17
  streetNumberRequired: validationOptions?.streetNumberRequired ?? false,
18
18
  unitRequired: validationOptions?.unitRequired ?? false,
19
- coordinatesRequired: validationOptions?.coordinatesRequired ?? false
19
+ coordinatesRequired: validationOptions?.coordinatesRequired ?? false,
20
+ placeIdRequired: validationOptions?.placeIdRequired ?? false
20
21
  }], validationOptions));
21
22
  }
22
23
  let IsAddressValidator = class IsAddressValidator {
@@ -33,7 +34,8 @@ let IsAddressValidator = class IsAddressValidator {
33
34
  && (!constraints.postalCodeRequired || address.postalCode != null)
34
35
  && (!constraints.streetNameRequired || address.streetName != null)
35
36
  && (!constraints.streetNumberRequired || address.streetNumber != null)
36
- && (!constraints.unitRequired || address.unit != null);
37
+ && (!constraints.unitRequired || address.unit != null)
38
+ && (!constraints.placeIdRequired || address.placeId != null);
37
39
  }
38
40
  defaultMessage(args) {
39
41
  const constraints = args.constraints[0];
@@ -1 +1 @@
1
- {"version":3,"file":"is-address.validator.js","sourceRoot":"","sources":["../lib/is-address.validator.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,QAAQ,EAAE,mBAAmB,EAAwE,QAAQ,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAC/J,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAA;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAYrD,MAAM,UAAU,SAAS,CACvB,iBAA8C;IAE9C,OAAO,eAAe,CACpB,cAAc,CAAC,iBAAiB,CAAC,EACjC,IAAI,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,EAC1B,QAAQ,CAAC,iBAAiB,CAAC,EAC3B,QAAQ,CACN,kBAAkB,EAClB,CAAC;YACC,eAAe,EAAE,iBAAiB,EAAE,eAAe,IAAI,KAAK;YAC5D,YAAY,EAAE,iBAAiB,EAAE,YAAY,IAAI,KAAK;YACtD,kBAAkB,EAAE,iBAAiB,EAAE,kBAAkB,IAAI,KAAK;YAClE,kBAAkB,EAAE,iBAAiB,EAAE,kBAAkB,IAAI,KAAK;YAClE,oBAAoB,EAAE,iBAAiB,EAAE,oBAAoB,IAAI,KAAK;YACtE,YAAY,EAAE,iBAAiB,EAAE,YAAY,IAAI,KAAK;YACtD,mBAAmB,EAAE,iBAAiB,EAAE,mBAAmB,IAAI,KAAK;SACrE,CAAC,EACF,iBAAiB,CAClB,CACF,CAAA;AACH,CAAC;AAaD,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IACtB,QAAQ,CAAE,OAAgB,EAAE,IAAyB;QACnD,IAAI,CAAC,CAAC,OAAO,YAAY,cAAc,CAAC,EAAE,CAAC;YACzC,OAAO,KAAK,CAAA;QACd,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAyB,CAAA;QAE/D,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,WAAW,CAAC,CAAA;IAClD,CAAC;IAEO,cAAc,CAAE,OAAuB,EAAE,WAAiC;QAChF,OAAO,CAAC,CAAC,WAAW,CAAC,eAAe,IAAI,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC;eAC3D,CAAC,CAAC,WAAW,CAAC,YAAY,IAAI,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC;eACnD,CAAC,CAAC,WAAW,CAAC,kBAAkB,IAAI,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC;eAC/D,CAAC,CAAC,WAAW,CAAC,kBAAkB,IAAI,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC;eAC/D,CAAC,CAAC,WAAW,CAAC,oBAAoB,IAAI,OAAO,CAAC,YAAY,IAAI,IAAI,CAAC;eACnE,CAAC,CAAC,WAAW,CAAC,YAAY,IAAI,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,CAAA;IAC1D,CAAC;IAED,cAAc,CAAE,IAAyB;QACvC,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAyB,CAAA;QAC/D,MAAM,kBAAkB,GAAa,EAAE,CAAA;QAEvC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YAC3C,IAAI,WAAW,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;gBAC9B,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YAC9B,CAAC;QACH,CAAC;QAED,OAAO,GAAG,IAAI,CAAC,QAAQ,aAAa,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAA;IACrE,CAAC;CACF,CAAA;AAhCK,kBAAkB;IADvB,mBAAmB,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;GACnD,kBAAkB,CAgCvB"}
1
+ {"version":3,"file":"is-address.validator.js","sourceRoot":"","sources":["../lib/is-address.validator.ts"],"names":[],"mappings":"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"}
@@ -32,6 +32,15 @@ __decorate([
32
32
  }),
33
33
  __metadata("design:type", AddressCommand)
34
34
  ], TestClassWithRequiredFields.prototype, "address", void 0);
35
+ class TestClassWithPlaceIdRequired {
36
+ address;
37
+ }
38
+ __decorate([
39
+ IsAddress({
40
+ placeIdRequired: true
41
+ }),
42
+ __metadata("design:type", AddressCommand)
43
+ ], TestClassWithPlaceIdRequired.prototype, "address", void 0);
35
44
  describe('IsAddress decorator test', () => {
36
45
  it('should pass validation when the address has all fields', async () => {
37
46
  const testInstance = new TestClass();
@@ -125,5 +134,38 @@ describe('IsAddress decorator test', () => {
125
134
  const errors = await validate(testInstance);
126
135
  expect(errors.length).toBeGreaterThan(0);
127
136
  });
137
+ it('should fail validation when placeId is required but missing', async () => {
138
+ const testInstance = new TestClassWithPlaceIdRequired();
139
+ const addressCommand = new AddressCommand();
140
+ addressCommand.country = 'Belgium';
141
+ addressCommand.city = 'Brussels';
142
+ addressCommand.postalCode = '1000';
143
+ addressCommand.streetName = 'Main Street';
144
+ addressCommand.streetNumber = '123';
145
+ addressCommand.unit = null;
146
+ addressCommand.placeName = null;
147
+ addressCommand.placeId = null;
148
+ addressCommand.coordinates = null;
149
+ testInstance.address = addressCommand;
150
+ const errors = await validate(testInstance);
151
+ expect(errors.length).toBe(1);
152
+ expect(errors[0].constraints?.isAddress).toContain('placeIdRequired');
153
+ });
154
+ it('should pass validation when placeId is required and provided', async () => {
155
+ const testInstance = new TestClassWithPlaceIdRequired();
156
+ const addressCommand = new AddressCommand();
157
+ addressCommand.country = 'Belgium';
158
+ addressCommand.city = 'Brussels';
159
+ addressCommand.postalCode = '1000';
160
+ addressCommand.streetName = 'Main Street';
161
+ addressCommand.streetNumber = '123';
162
+ addressCommand.unit = null;
163
+ addressCommand.placeName = null;
164
+ addressCommand.placeId = 'ChIJN1t_tDeuEmsRUsoyG83frY4';
165
+ addressCommand.coordinates = null;
166
+ testInstance.address = addressCommand;
167
+ const errors = await validate(testInstance);
168
+ expect(errors.length).toBe(0);
169
+ });
128
170
  });
129
171
  //# sourceMappingURL=is-address.validator.unit.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"is-address.validator.unit.test.js","sourceRoot":"","sources":["../../lib/tests/is-address.validator.unit.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"is-address.validator.unit.test.js","sourceRoot":"","sources":["../../lib/tests/is-address.validator.unit.test.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,12 @@ export class AddressCommandBuilder {
8
8
  this.command = new AddressCommand()
9
9
  }
10
10
 
11
+ withPlaceId (placeId: string | null): this {
12
+ this.command.placeId = placeId
13
+
14
+ return this
15
+ }
16
+
11
17
  withCountry (country: string | null): this {
12
18
  this.command.country = country
13
19
 
@@ -11,6 +11,7 @@ export interface IsAddressValidationOptions extends ValidationOptions {
11
11
  streetNumberRequired?: boolean
12
12
  unitRequired?: boolean
13
13
  coordinatesRequired?: boolean
14
+ placeIdRequired?: boolean
14
15
  }
15
16
 
16
17
  export function IsAddress (
@@ -29,7 +30,8 @@ export function IsAddress (
29
30
  streetNameRequired: validationOptions?.streetNameRequired ?? false,
30
31
  streetNumberRequired: validationOptions?.streetNumberRequired ?? false,
31
32
  unitRequired: validationOptions?.unitRequired ?? false,
32
- coordinatesRequired: validationOptions?.coordinatesRequired ?? false
33
+ coordinatesRequired: validationOptions?.coordinatesRequired ?? false,
34
+ placeIdRequired: validationOptions?.placeIdRequired ?? false
33
35
  }],
34
36
  validationOptions
35
37
  )
@@ -44,6 +46,7 @@ interface ValidatorConstraints {
44
46
  streetNumberRequired: boolean
45
47
  unitRequired: boolean
46
48
  coordinatesRequired: boolean
49
+ placeIdRequired: boolean
47
50
  }
48
51
 
49
52
  @ValidatorConstraint({ name: 'isAddress', async: false })
@@ -65,6 +68,7 @@ class IsAddressValidator implements ValidatorConstraintInterface {
65
68
  && (!constraints.streetNameRequired || address.streetName != null)
66
69
  && (!constraints.streetNumberRequired || address.streetNumber != null)
67
70
  && (!constraints.unitRequired || address.unit != null)
71
+ && (!constraints.placeIdRequired || address.placeId != null)
68
72
  }
69
73
 
70
74
  defaultMessage (args: ValidationArguments): string {
@@ -20,6 +20,13 @@ class TestClassWithRequiredFields {
20
20
  address: AddressCommand
21
21
  }
22
22
 
23
+ class TestClassWithPlaceIdRequired {
24
+ @IsAddress({
25
+ placeIdRequired: true
26
+ })
27
+ address: AddressCommand
28
+ }
29
+
23
30
  describe('IsAddress decorator test', () => {
24
31
  it('should pass validation when the address has all fields', async () => {
25
32
  const testInstance = new TestClass()
@@ -141,4 +148,47 @@ describe('IsAddress decorator test', () => {
141
148
 
142
149
  expect(errors.length).toBeGreaterThan(0)
143
150
  })
151
+
152
+ it('should fail validation when placeId is required but missing', async () => {
153
+ const testInstance = new TestClassWithPlaceIdRequired()
154
+ const addressCommand = new AddressCommand()
155
+
156
+ addressCommand.country = 'Belgium'
157
+ addressCommand.city = 'Brussels'
158
+ addressCommand.postalCode = '1000'
159
+ addressCommand.streetName = 'Main Street'
160
+ addressCommand.streetNumber = '123'
161
+ addressCommand.unit = null
162
+ addressCommand.placeName = null
163
+ addressCommand.placeId = null
164
+ addressCommand.coordinates = null
165
+
166
+ testInstance.address = addressCommand
167
+
168
+ const errors = await validate(testInstance)
169
+
170
+ expect(errors.length).toBe(1)
171
+ expect(errors[0].constraints?.isAddress).toContain('placeIdRequired')
172
+ })
173
+
174
+ it('should pass validation when placeId is required and provided', async () => {
175
+ const testInstance = new TestClassWithPlaceIdRequired()
176
+ const addressCommand = new AddressCommand()
177
+
178
+ addressCommand.country = 'Belgium'
179
+ addressCommand.city = 'Brussels'
180
+ addressCommand.postalCode = '1000'
181
+ addressCommand.streetName = 'Main Street'
182
+ addressCommand.streetNumber = '123'
183
+ addressCommand.unit = null
184
+ addressCommand.placeName = null
185
+ addressCommand.placeId = 'ChIJN1t_tDeuEmsRUsoyG83frY4'
186
+ addressCommand.coordinates = null
187
+
188
+ testInstance.address = addressCommand
189
+
190
+ const errors = await validate(testInstance)
191
+
192
+ expect(errors.length).toBe(0)
193
+ })
144
194
  })
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wisemen/address",
3
- "version": "0.2.2",
3
+ "version": "0.2.4",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": "./dist/index.js"