@sprucelabs/schema 29.0.93 → 29.1.0

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.
@@ -7,6 +7,7 @@ export { default as selectAssert } from './tests/selectAssert.utility';
7
7
  export { default as cloneDeep } from './utilities/cloneDeep';
8
8
  export { default as cloneDeepPreservingInstances } from './utilities/cloneDeepPreservingInstances';
9
9
  export { default as selectAssertUtil } from './tests/selectAssert.deprecated';
10
+ export { default as KeyMapper } from './utilities/KeyMapper';
10
11
  export * from './schemas.static.types';
11
12
  export * from './fields';
12
13
  export * from './errors/options.types';
@@ -22,6 +22,7 @@ export { default as selectAssert } from './tests/selectAssert.utility.js';
22
22
  export { default as cloneDeep } from './utilities/cloneDeep.js';
23
23
  export { default as cloneDeepPreservingInstances } from './utilities/cloneDeepPreservingInstances.js';
24
24
  export { default as selectAssertUtil } from './tests/selectAssert.deprecated.js';
25
+ export { default as KeyMapper } from './utilities/KeyMapper.js';
25
26
  export * from './schemas.static.types.js';
26
27
  export * from './fields/index.js';
27
28
  export * from './errors/options.types.js';
@@ -0,0 +1,6 @@
1
+ export default class KeyMapper {
2
+ private map;
3
+ constructor(map: Record<string, any>);
4
+ mapTo(values: Record<string, any>): any;
5
+ mapFrom(values: Record<string, any>): any;
6
+ }
@@ -0,0 +1,34 @@
1
+ export default class KeyMapper {
2
+ constructor(map) {
3
+ this.map = map;
4
+ }
5
+ mapTo(values) {
6
+ return keyMapper.mapTo(values, this.map);
7
+ }
8
+ mapFrom(values) {
9
+ return keyMapper.mapFrom(values, this.map);
10
+ }
11
+ }
12
+ const keyMapper = {
13
+ mapTo(values, map) {
14
+ let target = {};
15
+ for (const key in map) {
16
+ // eslint-disable-next-line no-prototype-builtins
17
+ if (values.hasOwnProperty(key)) {
18
+ target[map[key]] = values[key];
19
+ }
20
+ }
21
+ return target;
22
+ },
23
+ mapFrom(values, map) {
24
+ let target = {};
25
+ for (const targetKey in map) {
26
+ const sourceKey = map[targetKey];
27
+ // eslint-disable-next-line no-prototype-builtins
28
+ if (values.hasOwnProperty(sourceKey)) {
29
+ target[targetKey] = values[sourceKey];
30
+ }
31
+ }
32
+ return target;
33
+ },
34
+ };
package/build/index.d.ts CHANGED
@@ -7,6 +7,7 @@ export { default as selectAssert } from './tests/selectAssert.utility';
7
7
  export { default as cloneDeep } from './utilities/cloneDeep';
8
8
  export { default as cloneDeepPreservingInstances } from './utilities/cloneDeepPreservingInstances';
9
9
  export { default as selectAssertUtil } from './tests/selectAssert.deprecated';
10
+ export { default as KeyMapper } from './utilities/KeyMapper';
10
11
  export * from './schemas.static.types';
11
12
  export * from './fields';
12
13
  export * from './errors/options.types';
package/build/index.js CHANGED
@@ -17,7 +17,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
17
17
  return (mod && mod.__esModule) ? mod : { "default": mod };
18
18
  };
19
19
  Object.defineProperty(exports, "__esModule", { value: true });
20
- exports.mapFieldErrorsToParameterErrors = exports.assertOptions = exports.fieldRegistrations = exports.SchemaRegistry = exports.SchemaEntityFactory = exports.FieldFactory = exports.normalizeSchemaToIdWithVersion = exports.isIdWithVersion = exports.pickFields = exports.getFields = exports.formatPhoneNumber = exports.areSchemasTheSame = exports.isSchemaValid = exports.validateSchema = exports.dropPrivateFields = exports.dropFields = exports.makeFieldsOptional = exports.areSchemaValuesValid = exports.normalizeSchemaValues = exports.validateSchemaValues = exports.defaultSchemaValues = exports.registerFieldType = exports.buildSchema = exports.buildErrorSchema = exports.SchemaError = exports.selectAssertUtil = exports.cloneDeepPreservingInstances = exports.cloneDeep = exports.selectAssert = exports.validationErrorAssert = void 0;
20
+ exports.mapFieldErrorsToParameterErrors = exports.assertOptions = exports.fieldRegistrations = exports.SchemaRegistry = exports.SchemaEntityFactory = exports.FieldFactory = exports.normalizeSchemaToIdWithVersion = exports.isIdWithVersion = exports.pickFields = exports.getFields = exports.formatPhoneNumber = exports.areSchemasTheSame = exports.isSchemaValid = exports.validateSchema = exports.dropPrivateFields = exports.dropFields = exports.makeFieldsOptional = exports.areSchemaValuesValid = exports.normalizeSchemaValues = exports.validateSchemaValues = exports.defaultSchemaValues = exports.registerFieldType = exports.buildSchema = exports.buildErrorSchema = exports.SchemaError = exports.KeyMapper = exports.selectAssertUtil = exports.cloneDeepPreservingInstances = exports.cloneDeep = exports.selectAssert = exports.validationErrorAssert = void 0;
21
21
  __exportStar(require("./StaticSchemaEntityImplementation"), exports);
22
22
  const addressField_addon_1 = __importDefault(require("./addons/addressField.addon"));
23
23
  const booleanField_addon_1 = __importDefault(require("./addons/booleanField.addon"));
@@ -47,6 +47,8 @@ var cloneDeepPreservingInstances_1 = require("./utilities/cloneDeepPreservingIns
47
47
  Object.defineProperty(exports, "cloneDeepPreservingInstances", { enumerable: true, get: function () { return __importDefault(cloneDeepPreservingInstances_1).default; } });
48
48
  var selectAssert_deprecated_1 = require("./tests/selectAssert.deprecated");
49
49
  Object.defineProperty(exports, "selectAssertUtil", { enumerable: true, get: function () { return __importDefault(selectAssert_deprecated_1).default; } });
50
+ var KeyMapper_1 = require("./utilities/KeyMapper");
51
+ Object.defineProperty(exports, "KeyMapper", { enumerable: true, get: function () { return __importDefault(KeyMapper_1).default; } });
50
52
  __exportStar(require("./schemas.static.types"), exports);
51
53
  __exportStar(require("./fields"), exports);
52
54
  __exportStar(require("./errors/options.types"), exports);
@@ -0,0 +1,6 @@
1
+ export default class KeyMapper {
2
+ private map;
3
+ constructor(map: Record<string, any>);
4
+ mapTo(values: Record<string, any>): any;
5
+ mapFrom(values: Record<string, any>): any;
6
+ }
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ class KeyMapper {
4
+ constructor(map) {
5
+ this.map = map;
6
+ }
7
+ mapTo(values) {
8
+ return keyMapper.mapTo(values, this.map);
9
+ }
10
+ mapFrom(values) {
11
+ return keyMapper.mapFrom(values, this.map);
12
+ }
13
+ }
14
+ exports.default = KeyMapper;
15
+ const keyMapper = {
16
+ mapTo(values, map) {
17
+ let target = {};
18
+ for (const key in map) {
19
+ // eslint-disable-next-line no-prototype-builtins
20
+ if (values.hasOwnProperty(key)) {
21
+ target[map[key]] = values[key];
22
+ }
23
+ }
24
+ return target;
25
+ },
26
+ mapFrom(values, map) {
27
+ let target = {};
28
+ for (const targetKey in map) {
29
+ const sourceKey = map[targetKey];
30
+ // eslint-disable-next-line no-prototype-builtins
31
+ if (values.hasOwnProperty(sourceKey)) {
32
+ target[targetKey] = values[sourceKey];
33
+ }
34
+ }
35
+ return target;
36
+ },
37
+ };
package/package.json CHANGED
@@ -8,7 +8,7 @@
8
8
  "!build/__tests__",
9
9
  "esm"
10
10
  ],
11
- "version": "29.0.93",
11
+ "version": "29.1.0",
12
12
  "main": "./build/index.js",
13
13
  "types": "./build/index.d.ts",
14
14
  "module": "./build/esm/index.js",
@@ -66,8 +66,8 @@
66
66
  "build.copy-files": "mkdir -p build && rsync -avzq --exclude='*.ts' ./src/ ./build/"
67
67
  },
68
68
  "dependencies": {
69
- "@sprucelabs/error": "^5.1.50",
70
- "@sprucelabs/test-utils": "^4.0.81",
69
+ "@sprucelabs/error": "^5.1.51",
70
+ "@sprucelabs/test-utils": "^4.0.83",
71
71
  "email-validator": "^2.0.4",
72
72
  "just-safe-get": "^4.2.0",
73
73
  "just-safe-set": "^4.2.1"
@@ -78,7 +78,7 @@
78
78
  "@sprucelabs/jest-sheets-reporter": "^2.0.20",
79
79
  "@sprucelabs/resolve-path-aliases": "^1.1.122",
80
80
  "@sprucelabs/semantic-release": "^4.0.8",
81
- "@sprucelabs/test": "^8.0.33",
81
+ "@sprucelabs/test": "^8.0.34",
82
82
  "chokidar-cli": "^3.0.0",
83
83
  "concurrently": "^8.2.2",
84
84
  "eslint": "^8.55.0",