@sprucelabs/schema 28.0.1 → 28.0.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.
@@ -0,0 +1,2 @@
1
+ declare const _default: import("../utilities/registerFieldType").FieldRegistration;
2
+ export default _default;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const ImageField_1 = __importDefault(require("../fields/ImageField"));
7
+ const registerFieldType_1 = __importDefault(require("../utilities/registerFieldType"));
8
+ exports.default = (0, registerFieldType_1.default)({
9
+ type: 'Image',
10
+ class: ImageField_1.default,
11
+ package: '@sprucelabs/schema',
12
+ importAs: 'SpruceSchema',
13
+ });
@@ -0,0 +1,2 @@
1
+ declare const _default: import("../utilities/registerFieldType").FieldRegistration;
2
+ export default _default;
@@ -0,0 +1,8 @@
1
+ import ImageField from '../fields/ImageField.js';
2
+ import registerFieldType from '../utilities/registerFieldType.js';
3
+ export default registerFieldType({
4
+ type: 'Image',
5
+ class: ImageField,
6
+ package: '@sprucelabs/schema',
7
+ importAs: 'SpruceSchema',
8
+ });
@@ -36,7 +36,7 @@ export default abstract class AbstractField<F extends FieldDefinitions> implemen
36
36
  } | {
37
37
  relativeTo?: string | undefined;
38
38
  } | {
39
- requiredSizes: ("s" | "*" | "xxs" | "xs" | "m" | "l" | "xl" | "xxl")[];
39
+ requiredSizes: ("s" | "*" | "m" | "l" | "xl")[];
40
40
  } | undefined;
41
41
  get isRequired(): boolean;
42
42
  get isPrivate(): boolean;
@@ -32,7 +32,7 @@ public static get description() {
32
32
  instructions: `Copy and paste this into ${this.name}:
33
33
 
34
34
  public static generateTemplateDetails(
35
- options: IFieldTemplateDetailOptions<I{{YourFieldName}}Definition>
35
+ options: FieldTemplateDetailOptions<{{YourFieldName}}Definition>
36
36
  ): IFieldTemplateDetails {
37
37
  const { definition } = options
38
38
  return {
@@ -5,7 +5,7 @@ export default class FileField extends AbstractField {
5
5
  }
6
6
  static generateTemplateDetails(options) {
7
7
  return {
8
- valueType: `${options.importAs}.IFileFieldValue${options.definition.isArray ? '[]' : ''}`,
8
+ valueType: `${options.importAs}.FileFieldValue${options.definition.isArray ? '[]' : ''}`,
9
9
  };
10
10
  }
11
11
  validate(value, _) {
@@ -1,6 +1,9 @@
1
+ import { FieldTemplateDetailOptions, FieldTemplateDetails } from '../types/template.types';
1
2
  import AbstractField from './AbstractField';
2
3
  import { ImageFieldDefinition, ImageFieldValue } from './ImageField.types';
3
4
  export default class ImageField extends AbstractField<ImageFieldDefinition> {
5
+ static generateTemplateDetails(options: FieldTemplateDetailOptions<ImageFieldDefinition>): FieldTemplateDetails;
6
+ static get description(): string;
4
7
  validate(value: ImageFieldValue): import("..").FieldError[];
5
8
  private getRequiredSizes;
6
9
  }
@@ -1,6 +1,15 @@
1
1
  import AbstractField from './AbstractField.js';
2
2
  import { requiredImageSizes, } from './ImageField.types.js';
3
3
  export default class ImageField extends AbstractField {
4
+ static generateTemplateDetails(options) {
5
+ const { definition, importAs } = options;
6
+ return {
7
+ valueType: `${importAs}.ImageFieldValue${definition.isArray ? '[]' : ''}`,
8
+ };
9
+ }
10
+ static get description() {
11
+ return 'Images of various sizes!';
12
+ }
4
13
  validate(value) {
5
14
  var _a;
6
15
  const errors = super.validate(value);
@@ -1,16 +1,20 @@
1
1
  import { FieldDefinition } from './field.static.types';
2
- export declare const requiredImageSizes: readonly ["xxs", "xs", "s", "m", "l", "xl", "xxl", "*"];
2
+ /**
3
+ * Min dimension for each size
4
+ xl: 1024
5
+ l: 500
6
+ m: 60
7
+ s: 30
8
+ */
9
+ export declare const requiredImageSizes: readonly ["s", "m", "l", "xl", "*"];
3
10
  export declare type RequiredImageSize = typeof requiredImageSizes[number];
4
11
  export interface ImageFieldValue {
5
12
  name: string;
6
13
  base64?: string;
7
- xxsUri?: string;
8
- xsUri?: string;
9
14
  sUri?: string;
10
15
  mUri?: string;
11
16
  lUri?: string;
12
17
  xlUri?: string;
13
- xxlUri?: string;
14
18
  }
15
19
  export declare type ImageFieldDefinition = FieldDefinition<ImageFieldValue> & {
16
20
  /** * .image - a great way to deal with file management */
@@ -1,10 +1,8 @@
1
- export const requiredImageSizes = [
2
- 'xxs',
3
- 'xs',
4
- 's',
5
- 'm',
6
- 'l',
7
- 'xl',
8
- 'xxl',
9
- '*',
10
- ];
1
+ /**
2
+ * Min dimension for each size
3
+ xl: 1024
4
+ l: 500
5
+ m: 60
6
+ s: 30
7
+ */
8
+ export const requiredImageSizes = ['s', 'm', 'l', 'xl', '*'];
@@ -37,6 +37,8 @@ export { default as DateTimeField } from './DateTimeField';
37
37
  export * from './FileField';
38
38
  export * from './FileField.types';
39
39
  export { default as FileField } from './FileField';
40
+ export * from './ImageField.types';
41
+ export { default as ImageField } from './ImageField';
40
42
  export * from './DateField';
41
43
  export * from './DateField.types';
42
44
  export { default as DateField } from './DateField';
@@ -37,6 +37,8 @@ export { default as DateTimeField } from './DateTimeField.js';
37
37
  export * from './FileField.js';
38
38
  export * from './FileField.types.js';
39
39
  export { default as FileField } from './FileField.js';
40
+ export * from './ImageField.types.js';
41
+ export { default as ImageField } from './ImageField.js';
40
42
  export * from './DateField.js';
41
43
  export * from './DateField.types.js';
42
44
  export { default as DateField } from './DateField.js';
@@ -8,6 +8,7 @@ import durationRegistration from './addons/durationField.addon.js';
8
8
  import emailRegistration from './addons/emailField.addon.js';
9
9
  import fileRegistration from './addons/fileField.addon.js';
10
10
  import idRegistration from './addons/idField.addon.js';
11
+ import imageRegistration from './addons/imageField.addon.js';
11
12
  import numberRegistration from './addons/numberField.addon.js';
12
13
  import phoneRegistration from './addons/phoneField.addon.js';
13
14
  import rawRegistration from './addons/rawField.addon.js';
@@ -64,6 +65,7 @@ export const fieldRegistrations = [
64
65
  selectRegistration,
65
66
  textRegistration,
66
67
  emailRegistration,
68
+ imageRegistration,
67
69
  ];
68
70
  export { default as assertOptions } from './utilities/assertOptions.js';
69
71
  export { default as mapFieldErrorsToParameterErrors } from './utilities/mapFieldErrorsToParameterErrors.js';
@@ -36,7 +36,7 @@ export default abstract class AbstractField<F extends FieldDefinitions> implemen
36
36
  } | {
37
37
  relativeTo?: string | undefined;
38
38
  } | {
39
- requiredSizes: ("s" | "*" | "xxs" | "xs" | "m" | "l" | "xl" | "xxl")[];
39
+ requiredSizes: ("s" | "*" | "m" | "l" | "xl")[];
40
40
  } | undefined;
41
41
  get isRequired(): boolean;
42
42
  get isPrivate(): boolean;
@@ -37,7 +37,7 @@ public static get description() {
37
37
  instructions: `Copy and paste this into ${this.name}:
38
38
 
39
39
  public static generateTemplateDetails(
40
- options: IFieldTemplateDetailOptions<I{{YourFieldName}}Definition>
40
+ options: FieldTemplateDetailOptions<{{YourFieldName}}Definition>
41
41
  ): IFieldTemplateDetails {
42
42
  const { definition } = options
43
43
  return {
@@ -10,7 +10,7 @@ class FileField extends AbstractField_1.default {
10
10
  }
11
11
  static generateTemplateDetails(options) {
12
12
  return {
13
- valueType: `${options.importAs}.IFileFieldValue${options.definition.isArray ? '[]' : ''}`,
13
+ valueType: `${options.importAs}.FileFieldValue${options.definition.isArray ? '[]' : ''}`,
14
14
  };
15
15
  }
16
16
  validate(value, _) {
@@ -1,6 +1,9 @@
1
+ import { FieldTemplateDetailOptions, FieldTemplateDetails } from '../types/template.types';
1
2
  import AbstractField from './AbstractField';
2
3
  import { ImageFieldDefinition, ImageFieldValue } from './ImageField.types';
3
4
  export default class ImageField extends AbstractField<ImageFieldDefinition> {
5
+ static generateTemplateDetails(options: FieldTemplateDetailOptions<ImageFieldDefinition>): FieldTemplateDetails;
6
+ static get description(): string;
4
7
  validate(value: ImageFieldValue): import("..").FieldError[];
5
8
  private getRequiredSizes;
6
9
  }
@@ -6,6 +6,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const AbstractField_1 = __importDefault(require("./AbstractField"));
7
7
  const ImageField_types_1 = require("./ImageField.types");
8
8
  class ImageField extends AbstractField_1.default {
9
+ static generateTemplateDetails(options) {
10
+ const { definition, importAs } = options;
11
+ return {
12
+ valueType: `${importAs}.ImageFieldValue${definition.isArray ? '[]' : ''}`,
13
+ };
14
+ }
15
+ static get description() {
16
+ return 'Images of various sizes!';
17
+ }
9
18
  validate(value) {
10
19
  var _a;
11
20
  const errors = super.validate(value);
@@ -1,16 +1,20 @@
1
1
  import { FieldDefinition } from './field.static.types';
2
- export declare const requiredImageSizes: readonly ["xxs", "xs", "s", "m", "l", "xl", "xxl", "*"];
2
+ /**
3
+ * Min dimension for each size
4
+ xl: 1024
5
+ l: 500
6
+ m: 60
7
+ s: 30
8
+ */
9
+ export declare const requiredImageSizes: readonly ["s", "m", "l", "xl", "*"];
3
10
  export declare type RequiredImageSize = typeof requiredImageSizes[number];
4
11
  export interface ImageFieldValue {
5
12
  name: string;
6
13
  base64?: string;
7
- xxsUri?: string;
8
- xsUri?: string;
9
14
  sUri?: string;
10
15
  mUri?: string;
11
16
  lUri?: string;
12
17
  xlUri?: string;
13
- xxlUri?: string;
14
18
  }
15
19
  export declare type ImageFieldDefinition = FieldDefinition<ImageFieldValue> & {
16
20
  /** * .image - a great way to deal with file management */
@@ -1,13 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.requiredImageSizes = void 0;
4
- exports.requiredImageSizes = [
5
- 'xxs',
6
- 'xs',
7
- 's',
8
- 'm',
9
- 'l',
10
- 'xl',
11
- 'xxl',
12
- '*',
13
- ];
4
+ /**
5
+ * Min dimension for each size
6
+ xl: 1024
7
+ l: 500
8
+ m: 60
9
+ s: 30
10
+ */
11
+ exports.requiredImageSizes = ['s', 'm', 'l', 'xl', '*'];
@@ -37,6 +37,8 @@ export { default as DateTimeField } from './DateTimeField';
37
37
  export * from './FileField';
38
38
  export * from './FileField.types';
39
39
  export { default as FileField } from './FileField';
40
+ export * from './ImageField.types';
41
+ export { default as ImageField } from './ImageField';
40
42
  export * from './DateField';
41
43
  export * from './DateField.types';
42
44
  export { default as DateField } from './DateField';
@@ -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.fieldClassMap = exports.DateField = exports.FileField = exports.DateTimeField = exports.NumberField = exports.RawField = exports.SchemaField = exports.PhoneField = exports.AddressField = exports.SelectField = exports.IdField = exports.DurationField = exports.DirectoryField = exports.TextField = exports.BooleanField = void 0;
20
+ exports.fieldClassMap = exports.DateField = exports.ImageField = exports.FileField = exports.DateTimeField = exports.NumberField = exports.RawField = exports.SchemaField = exports.PhoneField = exports.AddressField = exports.SelectField = exports.IdField = exports.DurationField = exports.DirectoryField = exports.TextField = exports.BooleanField = void 0;
21
21
  __exportStar(require("./BooleanField"), exports);
22
22
  __exportStar(require("./BooleanField.types"), exports);
23
23
  var BooleanField_1 = require("./BooleanField");
@@ -70,6 +70,9 @@ __exportStar(require("./FileField"), exports);
70
70
  __exportStar(require("./FileField.types"), exports);
71
71
  var FileField_1 = require("./FileField");
72
72
  Object.defineProperty(exports, "FileField", { enumerable: true, get: function () { return __importDefault(FileField_1).default; } });
73
+ __exportStar(require("./ImageField.types"), exports);
74
+ var ImageField_1 = require("./ImageField");
75
+ Object.defineProperty(exports, "ImageField", { enumerable: true, get: function () { return __importDefault(ImageField_1).default; } });
73
76
  __exportStar(require("./DateField"), exports);
74
77
  __exportStar(require("./DateField.types"), exports);
75
78
  var DateField_1 = require("./DateField");
package/build/index.js CHANGED
@@ -28,6 +28,7 @@ const durationField_addon_1 = __importDefault(require("./addons/durationField.ad
28
28
  const emailField_addon_1 = __importDefault(require("./addons/emailField.addon"));
29
29
  const fileField_addon_1 = __importDefault(require("./addons/fileField.addon"));
30
30
  const idField_addon_1 = __importDefault(require("./addons/idField.addon"));
31
+ const imageField_addon_1 = __importDefault(require("./addons/imageField.addon"));
31
32
  const numberField_addon_1 = __importDefault(require("./addons/numberField.addon"));
32
33
  const phoneField_addon_1 = __importDefault(require("./addons/phoneField.addon"));
33
34
  const rawField_addon_1 = __importDefault(require("./addons/rawField.addon"));
@@ -107,6 +108,7 @@ exports.fieldRegistrations = [
107
108
  selectField_addon_1.default,
108
109
  textField_addon_1.default,
109
110
  emailField_addon_1.default,
111
+ imageField_addon_1.default,
110
112
  ];
111
113
  var assertOptions_1 = require("./utilities/assertOptions");
112
114
  Object.defineProperty(exports, "assertOptions", { enumerable: true, get: function () { return __importDefault(assertOptions_1).default; } });
package/package.json CHANGED
@@ -8,7 +8,7 @@
8
8
  "!build/__tests__",
9
9
  "esm"
10
10
  ],
11
- "version": "28.0.1",
11
+ "version": "28.0.4",
12
12
  "main": "./build/index.js",
13
13
  "types": "./build/index.d.ts",
14
14
  "module": "./build/esm/index.js",