@sprucelabs/schema 28.0.7 → 28.1.2

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.
@@ -1,6 +1,6 @@
1
1
  import { FieldDefinitions, FieldMap, FieldValueTypeGeneratorMap } from "./../.spruce/schemas/fields/fields.types";
2
2
  import { FieldError } from '../errors/options.types';
3
- import { Schema, SchemaValues, StaticSchemaEntity } from '../schemas.static.types';
3
+ import { Schema, SchemaFieldsByName, SchemaValues, StaticSchemaEntity } from '../schemas.static.types';
4
4
  import { Unpack, IsArray, IsRequired } from '../types/utilities.types';
5
5
  export interface SchemasById {
6
6
  [id: string]: Schema[];
@@ -26,6 +26,7 @@ export declare type ValidateOptions<F extends FieldDefinitions> = {
26
26
  schemasById?: SchemasById;
27
27
  } & Partial<F['options']>;
28
28
  export declare type FieldType = keyof FieldMap;
29
+ export declare type FieldName<F extends SchemaFieldsByName> = Extract<keyof F, string>;
29
30
  export declare type FieldDefinition<Value = any, DefaultValue = Value, ArrayValue = Value[], DefaultArrayValue = DefaultValue[]> = {
30
31
  type: FieldType;
31
32
  /** Default options are empty */
@@ -26,6 +26,7 @@ export { default as isSchemaValid } from './utilities/isSchemaValid';
26
26
  export { default as areSchemasTheSame } from './utilities/areSchemasTheSame';
27
27
  export { default as formatPhoneNumber } from './utilities/formatPhoneNumber';
28
28
  export { default as getFields } from './utilities/getFields';
29
+ export { default as pickFields } from './utilities/pickFields';
29
30
  export { default as isIdWithVersion } from './utilities/isIdWithVersion';
30
31
  export { default as normalizeSchemaToIdWithVersion } from './utilities/normalizeSchemaToIdWithVersion';
31
32
  export * from './utilities/formatPhoneNumber';
@@ -41,6 +41,7 @@ export { default as isSchemaValid } from './utilities/isSchemaValid.js';
41
41
  export { default as areSchemasTheSame } from './utilities/areSchemasTheSame.js';
42
42
  export { default as formatPhoneNumber } from './utilities/formatPhoneNumber.js';
43
43
  export { default as getFields } from './utilities/getFields.js';
44
+ export { default as pickFields } from './utilities/pickFields.js';
44
45
  export { default as isIdWithVersion } from './utilities/isIdWithVersion.js';
45
46
  export { default as normalizeSchemaToIdWithVersion } from './utilities/normalizeSchemaToIdWithVersion.js';
46
47
  export * from './utilities/formatPhoneNumber.js';
@@ -1,4 +1,3 @@
1
+ import { FieldName } from '../fields/field.static.types';
1
2
  import { SchemaFieldsByName } from '../schemas.static.types';
2
- declare type FieldName<F extends SchemaFieldsByName> = Extract<keyof F, string>;
3
3
  export default function dropFields<F extends SchemaFieldsByName, D extends FieldName<F>>(fields: F, dropFields: D[]): Omit<F, D>;
4
- export {};
@@ -1,7 +1,7 @@
1
+ import { FieldName } from '../fields/field.static.types';
1
2
  import { SchemaFieldsByName } from '../schemas.static.types';
2
- declare type FieldNames<F extends SchemaFieldsByName> = Extract<keyof F, string>;
3
3
  declare type PrivateFieldNames<F extends SchemaFieldsByName> = {
4
- [K in FieldNames<F>]: F[K]['isPrivate'] extends true ? K : never;
5
- }[FieldNames<F>];
4
+ [K in FieldName<F>]: F[K]['isPrivate'] extends true ? K : never;
5
+ }[FieldName<F>];
6
6
  export default function dropPrivateFields<F extends SchemaFieldsByName, D extends PrivateFieldNames<F>>(fields: F): Omit<F, D>;
7
7
  export {};
@@ -1,5 +1,5 @@
1
+ import { FieldName } from '../fields/field.static.types';
1
2
  import { SchemaFieldsByName } from '../schemas.static.types';
2
- declare type FieldName<F extends SchemaFieldsByName> = Extract<keyof F, string>;
3
3
  declare type MakeFieldsOptional<F extends SchemaFieldsByName> = {
4
4
  [K in keyof F]: {
5
5
  isRequired: false;
@@ -0,0 +1,3 @@
1
+ import { FieldName } from '../fields/field.static.types';
2
+ import { SchemaFieldsByName } from '../schemas.static.types';
3
+ export default function pickFields<F extends SchemaFieldsByName, Name extends FieldName<F>>(fields: F, names: Name[]): Pick<F, Name>;
@@ -0,0 +1,7 @@
1
+ export default function pickFields(fields, names) {
2
+ const final = {};
3
+ for (const name of names) {
4
+ final[name] = fields[name];
5
+ }
6
+ return final;
7
+ }
@@ -1,6 +1,6 @@
1
1
  import { FieldDefinitions, FieldMap, FieldValueTypeGeneratorMap } from "./../.spruce/schemas/fields/fields.types";
2
2
  import { FieldError } from '../errors/options.types';
3
- import { Schema, SchemaValues, StaticSchemaEntity } from '../schemas.static.types';
3
+ import { Schema, SchemaFieldsByName, SchemaValues, StaticSchemaEntity } from '../schemas.static.types';
4
4
  import { Unpack, IsArray, IsRequired } from '../types/utilities.types';
5
5
  export interface SchemasById {
6
6
  [id: string]: Schema[];
@@ -26,6 +26,7 @@ export declare type ValidateOptions<F extends FieldDefinitions> = {
26
26
  schemasById?: SchemasById;
27
27
  } & Partial<F['options']>;
28
28
  export declare type FieldType = keyof FieldMap;
29
+ export declare type FieldName<F extends SchemaFieldsByName> = Extract<keyof F, string>;
29
30
  export declare type FieldDefinition<Value = any, DefaultValue = Value, ArrayValue = Value[], DefaultArrayValue = DefaultValue[]> = {
30
31
  type: FieldType;
31
32
  /** Default options are empty */
package/build/index.d.ts CHANGED
@@ -26,6 +26,7 @@ export { default as isSchemaValid } from './utilities/isSchemaValid';
26
26
  export { default as areSchemasTheSame } from './utilities/areSchemasTheSame';
27
27
  export { default as formatPhoneNumber } from './utilities/formatPhoneNumber';
28
28
  export { default as getFields } from './utilities/getFields';
29
+ export { default as pickFields } from './utilities/pickFields';
29
30
  export { default as isIdWithVersion } from './utilities/isIdWithVersion';
30
31
  export { default as normalizeSchemaToIdWithVersion } from './utilities/normalizeSchemaToIdWithVersion';
31
32
  export * from './utilities/formatPhoneNumber';
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.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.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.selectAssertUtil = 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"));
@@ -79,6 +79,8 @@ var formatPhoneNumber_1 = require("./utilities/formatPhoneNumber");
79
79
  Object.defineProperty(exports, "formatPhoneNumber", { enumerable: true, get: function () { return __importDefault(formatPhoneNumber_1).default; } });
80
80
  var getFields_1 = require("./utilities/getFields");
81
81
  Object.defineProperty(exports, "getFields", { enumerable: true, get: function () { return __importDefault(getFields_1).default; } });
82
+ var pickFields_1 = require("./utilities/pickFields");
83
+ Object.defineProperty(exports, "pickFields", { enumerable: true, get: function () { return __importDefault(pickFields_1).default; } });
82
84
  var isIdWithVersion_1 = require("./utilities/isIdWithVersion");
83
85
  Object.defineProperty(exports, "isIdWithVersion", { enumerable: true, get: function () { return __importDefault(isIdWithVersion_1).default; } });
84
86
  var normalizeSchemaToIdWithVersion_1 = require("./utilities/normalizeSchemaToIdWithVersion");
@@ -1,4 +1,3 @@
1
+ import { FieldName } from '../fields/field.static.types';
1
2
  import { SchemaFieldsByName } from '../schemas.static.types';
2
- declare type FieldName<F extends SchemaFieldsByName> = Extract<keyof F, string>;
3
3
  export default function dropFields<F extends SchemaFieldsByName, D extends FieldName<F>>(fields: F, dropFields: D[]): Omit<F, D>;
4
- export {};
@@ -1,7 +1,7 @@
1
+ import { FieldName } from '../fields/field.static.types';
1
2
  import { SchemaFieldsByName } from '../schemas.static.types';
2
- declare type FieldNames<F extends SchemaFieldsByName> = Extract<keyof F, string>;
3
3
  declare type PrivateFieldNames<F extends SchemaFieldsByName> = {
4
- [K in FieldNames<F>]: F[K]['isPrivate'] extends true ? K : never;
5
- }[FieldNames<F>];
4
+ [K in FieldName<F>]: F[K]['isPrivate'] extends true ? K : never;
5
+ }[FieldName<F>];
6
6
  export default function dropPrivateFields<F extends SchemaFieldsByName, D extends PrivateFieldNames<F>>(fields: F): Omit<F, D>;
7
7
  export {};
@@ -1,5 +1,5 @@
1
+ import { FieldName } from '../fields/field.static.types';
1
2
  import { SchemaFieldsByName } from '../schemas.static.types';
2
- declare type FieldName<F extends SchemaFieldsByName> = Extract<keyof F, string>;
3
3
  declare type MakeFieldsOptional<F extends SchemaFieldsByName> = {
4
4
  [K in keyof F]: {
5
5
  isRequired: false;
@@ -0,0 +1,3 @@
1
+ import { FieldName } from '../fields/field.static.types';
2
+ import { SchemaFieldsByName } from '../schemas.static.types';
3
+ export default function pickFields<F extends SchemaFieldsByName, Name extends FieldName<F>>(fields: F, names: Name[]): Pick<F, Name>;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ function pickFields(fields, names) {
4
+ const final = {};
5
+ for (const name of names) {
6
+ final[name] = fields[name];
7
+ }
8
+ return final;
9
+ }
10
+ exports.default = pickFields;
package/package.json CHANGED
@@ -8,7 +8,7 @@
8
8
  "!build/__tests__",
9
9
  "esm"
10
10
  ],
11
- "version": "28.0.7",
11
+ "version": "28.1.2",
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.0.452",
70
- "@sprucelabs/test": "^7.7.313",
69
+ "@sprucelabs/error": "^5.0.453",
70
+ "@sprucelabs/test": "^7.7.314",
71
71
  "email-validator": "^2.0.4",
72
72
  "lodash": "^4.17.21"
73
73
  },
@@ -77,7 +77,7 @@
77
77
  "@sprucelabs/jest-sheets-reporter": "^1.3.29",
78
78
  "@sprucelabs/resolve-path-aliases": "^1.1.14",
79
79
  "@sprucelabs/semantic-release": "^4.0.8",
80
- "@sprucelabs/test-utils": "^3.0.542",
80
+ "@sprucelabs/test-utils": "^3.0.543",
81
81
  "@types/lodash": "^4.14.182",
82
82
  "chokidar-cli": "^3.0.0",
83
83
  "concurrently": "^7.1.0",