@thisisagile/easy 10.7.3 → 10.7.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.
@@ -4,13 +4,14 @@ exports.any = exports.asJson = exports.toJson = exports.json = exports.isJson =
4
4
  const IsA_1 = require("./IsA");
5
5
  const Is_1 = require("./Is");
6
6
  const Get_1 = require("./Get");
7
+ const utils_1 = require("../utils");
7
8
  const isJson = (subject) => (0, IsA_1.isA)(subject, 'toJSON');
8
9
  exports.isJson = isJson;
9
10
  exports.json = {
10
11
  parse: (subject) => JSON.parse(JSON.stringify(subject ?? {})),
11
12
  merge: (...subjects) => exports.json.parse(subjects.map(s => (0, exports.asJson)(s, s => exports.json.parse(s))).reduce((js, j) => ({ ...js, ...j }), {})),
12
13
  delete: (subject, key) => {
13
- delete subject[key];
14
+ (0, utils_1.ifDefined)(subject, () => delete subject[key]);
14
15
  return subject;
15
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),
@@ -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": "10.7.3",
3
+ "version": "10.7.4",
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": "10.7.3",
34
+ "@thisisagile/easy-test": "10.7.4",
35
35
  "@types/form-urlencoded": "^4.4.0",
36
36
  "@types/jsonwebtoken": "^8.5.8",
37
37
  "@types/validator": "^13.7.2"
package/src/types/Json.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import { isA } from './IsA';
2
2
  import { isDefined, isEmpty, isObject } from './Is';
3
3
  import { Get, ofGet } from './Get';
4
+ import { ifDefined } from '../utils';
4
5
 
5
6
  export type JsonValue = string | number | boolean | null | Json | JsonValue[];
6
7
  export type Json = { [key: string]: JsonValue };
@@ -11,7 +12,7 @@ export const json = {
11
12
  parse: <T extends Json = Json>(subject: unknown): T => JSON.parse(JSON.stringify(subject ?? {})),
12
13
  merge: (...subjects: unknown[]): Json => json.parse(subjects.map(s => asJson(s, s => json.parse(s))).reduce((js, j) => ({ ...js, ...j }), {})),
13
14
  delete: <T extends Json = Json>(subject: T, key: string): T => {
14
- delete (subject as any)[key];
15
+ ifDefined(subject, () => delete (subject as any)[key])
15
16
  return subject;
16
17
  },
17
18
  set: <T extends Json = Json>(subject: T, key = '', value?: unknown): T =>