@thisisagile/easy 15.7.0 → 15.8.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.
@@ -18,6 +18,6 @@ export declare class Repo<T extends Struct, Options = FetchOptions> extends Repo
18
18
  update(id: Id, json: Json): Promise<T>;
19
19
  remove(id: Id): Promise<boolean>;
20
20
  extend(item: T, _action?: RepoAction): Promise<T>;
21
- validate(item: T): Promise<T>;
21
+ validate(item: T, _action?: RepoAction): Promise<T>;
22
22
  upsert(id: Id, item: Json): Promise<T>;
23
23
  }
@@ -41,7 +41,7 @@ class Repo extends types_1.Repository {
41
41
  add(t) {
42
42
  return this.extend(this.create(t), 'add')
43
43
  .then(i => (0, validation_1.when)(i).not.isValid.reject())
44
- .then(i => this.validate(i))
44
+ .then(i => this.validate(i, 'add'))
45
45
  .then(i => this.gateway.add((0, types_1.toJson)(i)))
46
46
  .then(j => new this.ctor(j));
47
47
  }
@@ -52,7 +52,7 @@ class Repo extends types_1.Repository {
52
52
  .then(j => new this.ctor(j).update(json))
53
53
  .then(i => this.extend(i, 'update'))
54
54
  .then(i => (0, validation_1.when)(i).not.isValid.reject())
55
- .then(i => this.validate(i))
55
+ .then(i => this.validate(i, 'update'))
56
56
  .then(i => this.gateway.update((0, types_1.toJson)(i)))
57
57
  .then(j => new this.ctor(j));
58
58
  }
@@ -62,7 +62,7 @@ class Repo extends types_1.Repository {
62
62
  extend(item, _action) {
63
63
  return (0, utils_1.resolve)(item);
64
64
  }
65
- validate(item) {
65
+ validate(item, _action) {
66
66
  return (0, utils_1.resolve)(item);
67
67
  }
68
68
  upsert(id, item) {
@@ -1 +1 @@
1
- {"version":3,"file":"Repo.js","sourceRoot":"","sources":["../../src/domain/Repo.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Repo.js","sourceRoot":"","sources":["../../src/domain/Repo.ts"],"names":[],"mappings":"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"}
@@ -14,7 +14,7 @@ exports.json = {
14
14
  (0, utils_1.ifDefined)(subject, () => delete subject[key]);
15
15
  return subject;
16
16
  },
17
- set: (subject, key = '', value) => (0, Is_1.isEmpty)(key) ? subject : (0, Is_1.isDefined)(value) ? { ...subject, ...{ [key]: value } } : exports.json.delete(subject, key),
17
+ set: (subject, key = '', value) => (0, Is_1.isEmpty)(key) ? subject : value !== undefined ? { ...subject, ...{ [key]: value } } : exports.json.delete(subject, key),
18
18
  omit: (subject, ...keys) => keys.reduce((js, k) => exports.json.delete(js, k), exports.json.parse(subject)),
19
19
  defaults: (options = {}, defaults = {}) => exports.json.merge(defaults, options),
20
20
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Json.js","sourceRoot":"","sources":["../../src/types/Json.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Json.js","sourceRoot":"","sources":["../../src/types/Json.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thisisagile/easy",
3
- "version": "15.7.0",
3
+ "version": "15.8.1",
4
4
  "description": "Straightforward library for building domain-driven microservice architectures",
5
5
  "author": "Sander Hoogendoorn",
6
6
  "license": "MIT",
@@ -31,7 +31,7 @@
31
31
  "access": "public"
32
32
  },
33
33
  "devDependencies": {
34
- "@thisisagile/easy-test": "15.7.0",
34
+ "@thisisagile/easy-test": "15.8.1",
35
35
  "@types/form-urlencoded": "^4.4.0",
36
36
  "@types/jsonwebtoken": "^9.0.2",
37
37
  "@types/luxon": "3.2.0",
@@ -50,7 +50,7 @@ export class Repo<T extends Struct, Options = FetchOptions> extends Repository<T
50
50
  add(t: T | Json): Promise<T> {
51
51
  return this.extend(this.create(t), 'add')
52
52
  .then(i => when(i).not.isValid.reject())
53
- .then(i => this.validate(i))
53
+ .then(i => this.validate(i, 'add'))
54
54
  .then(i => this.gateway.add(toJson(i)))
55
55
  .then(j => new this.ctor(j));
56
56
  }
@@ -62,7 +62,7 @@ export class Repo<T extends Struct, Options = FetchOptions> extends Repository<T
62
62
  .then(j => new this.ctor(j).update(json) as T)
63
63
  .then(i => this.extend(i, 'update'))
64
64
  .then(i => when(i).not.isValid.reject())
65
- .then(i => this.validate(i))
65
+ .then(i => this.validate(i, 'update'))
66
66
  .then(i => this.gateway.update(toJson(i)))
67
67
  .then(j => new this.ctor(j));
68
68
  }
@@ -75,7 +75,7 @@ export class Repo<T extends Struct, Options = FetchOptions> extends Repository<T
75
75
  return resolve(item);
76
76
  }
77
77
 
78
- validate(item: T): Promise<T> {
78
+ validate(item: T, _action?: RepoAction): Promise<T> {
79
79
  return resolve(item);
80
80
  }
81
81
 
package/src/types/Json.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { isA } from './IsA';
2
- import { isDefined, isEmpty, isObject } from './Is';
2
+ import { isEmpty, isObject } from './Is';
3
3
  import { Get, ofGet } from './Get';
4
4
  import { ifDefined } from '../utils';
5
5
  import { TypeGuard } from './TypeGuard';
@@ -18,7 +18,7 @@ export const json = {
18
18
  return subject;
19
19
  },
20
20
  set: <T extends Json = Json>(subject: T, key = '', value?: unknown): T =>
21
- isEmpty(key) ? subject : isDefined(value) ? { ...(subject as any), ...{ [key]: value as Json } } : json.delete(subject, key),
21
+ isEmpty(key) ? subject : value !== undefined ? { ...(subject as any), ...{ [key]: value as JsonValue } } : json.delete(subject, key),
22
22
  omit: <T extends Json = Json>(subject: T, ...keys: string[]): T => keys.reduce((js, k) => json.delete(js, k), json.parse<T>(subject)),
23
23
  defaults: <T extends Json = Json>(options: Partial<T> = {}, defaults: Partial<T> = {}): T => json.merge(defaults, options) as T,
24
24
  };