@xyo-network/core 2.22.12 → 2.22.15

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.
Files changed (38) hide show
  1. package/README.md +4 -2
  2. package/dist/cjs/Hasher/XyoHasher.d.ts +2 -2
  3. package/dist/cjs/Hasher/XyoHasher.js.map +1 -1
  4. package/dist/cjs/Hasher/removeFields.d.ts +4 -3
  5. package/dist/cjs/Hasher/removeFields.js.map +1 -1
  6. package/dist/cjs/Hasher/sortFields.d.ts +2 -1
  7. package/dist/cjs/Hasher/sortFields.js.map +1 -1
  8. package/dist/cjs/lib/XyoObjectWrapper.d.ts +2 -1
  9. package/dist/cjs/lib/XyoObjectWrapper.js.map +1 -1
  10. package/dist/cjs/lib/XyoValidator.d.ts +5 -1
  11. package/dist/cjs/lib/XyoValidator.js +3 -3
  12. package/dist/cjs/lib/XyoValidator.js.map +1 -1
  13. package/dist/docs.json +4961 -1
  14. package/dist/esm/Hasher/XyoHasher.d.ts +2 -2
  15. package/dist/esm/Hasher/XyoHasher.js.map +1 -1
  16. package/dist/esm/Hasher/removeFields.d.ts +4 -3
  17. package/dist/esm/Hasher/removeFields.js.map +1 -1
  18. package/dist/esm/Hasher/sortFields.d.ts +2 -1
  19. package/dist/esm/Hasher/sortFields.js.map +1 -1
  20. package/dist/esm/lib/XyoObjectWrapper.d.ts +2 -1
  21. package/dist/esm/lib/XyoObjectWrapper.js.map +1 -1
  22. package/dist/esm/lib/XyoValidator.d.ts +5 -1
  23. package/dist/esm/lib/XyoValidator.js +1 -1
  24. package/dist/esm/lib/XyoValidator.js.map +1 -1
  25. package/package.json +3 -3
  26. package/src/Hasher/XyoHasher.ts +2 -2
  27. package/src/Hasher/removeFields.ts +5 -3
  28. package/src/Hasher/sortFields.ts +2 -2
  29. package/src/lib/XyoObjectWrapper.ts +3 -2
  30. package/src/lib/XyoValidator.ts +6 -1
  31. package/babel.config.json +0 -5
  32. package/dist/cjs/lib/XyoObject.d.ts +0 -6
  33. package/dist/cjs/lib/XyoObject.js +0 -13
  34. package/dist/cjs/lib/XyoObject.js.map +0 -1
  35. package/dist/esm/lib/XyoObject.d.ts +0 -6
  36. package/dist/esm/lib/XyoObject.js +0 -9
  37. package/dist/esm/lib/XyoObject.js.map +0 -1
  38. package/jest.config.cjs +0 -26
@@ -1,5 +1,5 @@
1
- import { StringKeyObject, XyoObjectWrapper } from '../lib';
2
- export declare class XyoHasher<T extends object = StringKeyObject> extends XyoObjectWrapper<T> {
1
+ import { EmptyObject, XyoObjectWrapper } from '../lib';
2
+ export declare class XyoHasher<T extends EmptyObject = EmptyObject> extends XyoObjectWrapper<T> {
3
3
  get hashFields(): T;
4
4
  /** @deprecated use stringified instead */
5
5
  sortedStringify(): string;
@@ -1 +1 @@
1
- {"version":3,"file":"XyoHasher.js","sourceRoot":"","sources":["../../../src/Hasher/XyoHasher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,QAAQ,CAAA;AAE1B,OAAO,EAAmB,gBAAgB,EAAE,MAAM,QAAQ,CAAA;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAA;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,MAAM,OAAO,SAA8C,SAAQ,gBAAmB;IACpF,IAAI,UAAU;QACZ,OAAO,iBAAiB,CAAC,wBAAwB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;IAC9D,CAAC;IAED,0CAA0C;IACnC,eAAe;QACpB,OAAO,IAAI,CAAC,WAAW,CAAA;IACzB,CAAC;IAED,IAAW,WAAW;QACpB,MAAM,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QAC/C,OAAO,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;IACpC,CAAC;IAED,mCAAmC;IAC5B,UAAU;QACf,OAAO,IAAI,CAAC,IAAI,CAAA;IAClB,CAAC;IAED,IAAW,IAAI;QACb,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC9C,CAAC;IAEO,cAAc;QACpB,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,CAAA;QACrC,OAAO,KAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,MAAM,EAAE,CAAA;IACtD,CAAC;CACF"}
1
+ {"version":3,"file":"XyoHasher.js","sourceRoot":"","sources":["../../../src/Hasher/XyoHasher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,QAAQ,CAAA;AAE1B,OAAO,EAAe,gBAAgB,EAAE,MAAM,QAAQ,CAAA;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAA;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,MAAM,OAAO,SAA+C,SAAQ,gBAAmB;IACrF,IAAI,UAAU;QACZ,OAAO,iBAAiB,CAAC,wBAAwB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;IAC9D,CAAC;IAED,0CAA0C;IACnC,eAAe;QACpB,OAAO,IAAI,CAAC,WAAW,CAAA;IACzB,CAAC;IAED,IAAW,WAAW;QACpB,MAAM,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QAC/C,OAAO,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;IACpC,CAAC;IAED,mCAAmC;IAC5B,UAAU;QACf,OAAO,IAAI,CAAC,IAAI,CAAA;IAClB,CAAC;IAED,IAAW,IAAI;QACb,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC9C,CAAC;IAEO,cAAc;QACpB,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,CAAA;QACrC,OAAO,KAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,MAAM,EAAE,CAAA;IACtD,CAAC;CACF"}
@@ -1,6 +1,7 @@
1
1
  import { ValueKeyIteratee } from 'lodash';
2
2
  import omitBy from 'lodash/omitBy';
3
3
  import pickBy from 'lodash/pickBy';
4
- export declare const deepBy: <T extends object>(obj: T, predicate: ValueKeyIteratee<T>, func: typeof omitBy | typeof pickBy) => T;
5
- export declare const deepOmitUnderscoreFields: <T extends object>(obj: T) => T;
6
- export declare const deepPickUnderscoreFields: <T extends object>(obj: T) => T;
4
+ import { EmptyObject } from '../lib';
5
+ export declare const deepBy: <T extends EmptyObject>(obj: T, predicate: ValueKeyIteratee<T>, func: typeof omitBy | typeof pickBy) => T;
6
+ export declare const deepOmitUnderscoreFields: <T extends EmptyObject>(obj: T) => T;
7
+ export declare const deepPickUnderscoreFields: <T extends EmptyObject>(obj: T) => T;
@@ -1 +1 @@
1
- {"version":3,"file":"removeFields.js","sourceRoot":"","sources":["../../../src/Hasher/removeFields.ts"],"names":[],"mappings":"AAEA,OAAO,QAAQ,MAAM,iBAAiB,CAAA;AACtC,OAAO,SAAS,MAAM,kBAAkB,CAAA;AACxC,OAAO,KAAK,MAAM,cAAc,CAAA;AAChC,OAAO,MAAM,MAAM,eAAe,CAAA;AAClC,OAAO,MAAM,MAAM,eAAe,CAAA;AAElC,MAAM,CAAC,MAAM,MAAM,GAAG,CAAmB,GAAM,EAAE,SAA8B,EAAE,IAAmC,EAAK,EAAE;IACzH,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QACtB,OAAO,GAAG,CAAA;KACX;IAED,wBAAwB;IACxB,MAAM,WAAW,GAAG,MAAM,CAAI,GAAG,EAAE,QAAQ,CAAC,CAAA;IAE5C,4BAA4B;IAC5B,MAAM,UAAU,GAAG,MAAM,CAAI,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAA;IAE9D,MAAM,aAAa,GAAG,MAAM,CAAC,WAAW,EAAE,SAAS,CAAC,CAAA;IACpD,MAAM,gBAAgB,GAAG,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,CAAA;IAEtD,MAAM,gBAAgB,GAAG,SAAS,CAAC,aAAa,EAAE,CAAC,GAAM,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAA;IAE3F,OAAO,KAAK,CAAC,gBAAgB,EAAE,gBAAgB,CAAM,CAAA;AACvD,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAmB,GAAM,EAAE,EAAE;IACnE,OAAO,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAA;AAC7D,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAmB,GAAM,EAAE,EAAE;IACnE,OAAO,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAA;AAC7D,CAAC,CAAA"}
1
+ {"version":3,"file":"removeFields.js","sourceRoot":"","sources":["../../../src/Hasher/removeFields.ts"],"names":[],"mappings":"AAEA,OAAO,QAAQ,MAAM,iBAAiB,CAAA;AACtC,OAAO,SAAS,MAAM,kBAAkB,CAAA;AACxC,OAAO,KAAK,MAAM,cAAc,CAAA;AAChC,OAAO,MAAM,MAAM,eAAe,CAAA;AAClC,OAAO,MAAM,MAAM,eAAe,CAAA;AAIlC,MAAM,CAAC,MAAM,MAAM,GAAG,CAAwB,GAAM,EAAE,SAA8B,EAAE,IAAmC,EAAK,EAAE;IAC9H,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QACtB,OAAO,GAAG,CAAA;KACX;IAED,wBAAwB;IACxB,MAAM,WAAW,GAAG,MAAM,CAAI,GAAG,EAAE,QAAQ,CAAC,CAAA;IAE5C,4BAA4B;IAC5B,MAAM,UAAU,GAAG,MAAM,CAAI,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAA;IAE9D,MAAM,aAAa,GAAG,MAAM,CAAC,WAAW,EAAE,SAAS,CAAC,CAAA;IACpD,MAAM,gBAAgB,GAAG,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,CAAA;IAEtD,MAAM,gBAAgB,GAAG,SAAS,CAAC,aAAa,EAAE,CAAC,GAAM,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAA;IAE3F,OAAO,KAAK,CAAC,gBAAgB,EAAE,gBAAgB,CAAM,CAAA;AACvD,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAwB,GAAM,EAAE,EAAE;IACxE,OAAO,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAA;AAC7D,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAwB,GAAM,EAAE,EAAE;IACxE,OAAO,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAA;AAC7D,CAAC,CAAA"}
@@ -1 +1,2 @@
1
- export declare const sortFields: <T extends object = object>(obj: T) => T | null;
1
+ import { EmptyObject } from '../lib';
2
+ export declare const sortFields: <T extends EmptyObject = EmptyObject>(obj: T) => T | null;
@@ -1 +1 @@
1
- {"version":3,"file":"sortFields.js","sourceRoot":"","sources":["../../../src/Hasher/sortFields.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAI5C,uBAAuB;AACvB,MAAM,OAAO,GAAG,CAAC,KAAc,EAAE,EAAE;IACjC,QAAQ,MAAM,CAAC,KAAK,CAAC,EAAE;QACrB,KAAK,QAAQ;YACX,OAAO,UAAU,CAAC,KAAgC,CAAC,CAAA;QACrD;YACE,OAAO,KAAK,CAAA;KACf;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,CAA4B,GAAM,EAAE,EAAE;IAC9D,IAAI,GAAG,KAAK,IAAI,EAAE;QAChB,OAAO,IAAI,CAAA;KACZ;IAED,MAAM,UAAU,GAAG,GAAsB,CAAA;IAEzC,MAAM,MAAM,GAAoB,EAAE,CAAA;IAClC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;SACpB,IAAI,EAAE;SACN,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QACf,MAAM,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAA;IACxC,CAAC,CAAC,CAAA;IACJ,OAAO,MAAW,CAAA;AACpB,CAAC,CAAA"}
1
+ {"version":3,"file":"sortFields.js","sourceRoot":"","sources":["../../../src/Hasher/sortFields.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAI5C,uBAAuB;AACvB,MAAM,OAAO,GAAG,CAAC,KAAc,EAAE,EAAE;IACjC,QAAQ,MAAM,CAAC,KAAK,CAAC,EAAE;QACrB,KAAK,QAAQ;YACX,OAAO,UAAU,CAAC,KAAgC,CAAC,CAAA;QACrD;YACE,OAAO,KAAK,CAAA;KACf;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,CAAsC,GAAM,EAAE,EAAE;IACxE,IAAI,GAAG,KAAK,IAAI,EAAE;QAChB,OAAO,IAAI,CAAA;KACZ;IAED,MAAM,UAAU,GAAG,GAAsB,CAAA;IAEzC,MAAM,MAAM,GAAoB,EAAE,CAAA;IAClC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;SACpB,IAAI,EAAE;SACN,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QACf,MAAM,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAA;IACxC,CAAC,CAAC,CAAA;IACJ,OAAO,MAAW,CAAA;AACpB,CAAC,CAAA"}
@@ -1,5 +1,6 @@
1
+ import { EmptyObject } from './EmptyObject';
1
2
  import { StringKeyObject } from './StringKeyObject';
2
- export declare abstract class XyoObjectWrapper<T extends object = object> {
3
+ export declare abstract class XyoObjectWrapper<T extends EmptyObject = EmptyObject> {
3
4
  readonly obj: T;
4
5
  constructor(obj: T);
5
6
  protected get stringKeyObj(): StringKeyObject;
@@ -1 +1 @@
1
- {"version":3,"file":"XyoObjectWrapper.js","sourceRoot":"","sources":["../../../src/lib/XyoObjectWrapper.ts"],"names":[],"mappings":"AAEA,MAAM,OAAgB,gBAAgB;IAEpC,YAAY,GAAM;QAChB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;IAChB,CAAC;IACD,IAAc,YAAY;QACxB,OAAO,IAAI,CAAC,GAAiC,CAAA;IAC/C,CAAC;CACF"}
1
+ {"version":3,"file":"XyoObjectWrapper.js","sourceRoot":"","sources":["../../../src/lib/XyoObjectWrapper.ts"],"names":[],"mappings":"AAGA,MAAM,OAAgB,gBAAgB;IAEpC,YAAY,GAAM;QAChB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;IAChB,CAAC;IACD,IAAc,YAAY;QACxB,OAAO,IAAI,CAAC,GAAsB,CAAA;IACpC,CAAC;CACF"}
@@ -1,4 +1,8 @@
1
+ import { EmptyObject } from './EmptyObject';
1
2
  import { XyoObjectWrapper } from './XyoObjectWrapper';
2
- export declare abstract class XyoValidator<T extends object = object> extends XyoObjectWrapper<T> {
3
+ export interface XyoValidator<T extends EmptyObject = EmptyObject> {
4
+ validate(payload: T): Error[];
5
+ }
6
+ export declare abstract class XyoValidatorBase<T extends EmptyObject = EmptyObject> extends XyoObjectWrapper<T> implements XyoValidator<T> {
3
7
  abstract validate(payload: T): Error[];
4
8
  }
@@ -1,4 +1,4 @@
1
1
  import { XyoObjectWrapper } from './XyoObjectWrapper';
2
- export class XyoValidator extends XyoObjectWrapper {
2
+ export class XyoValidatorBase extends XyoObjectWrapper {
3
3
  }
4
4
  //# sourceMappingURL=XyoValidator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"XyoValidator.js","sourceRoot":"","sources":["../../../src/lib/XyoValidator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAErD,MAAM,OAAgB,YAAwC,SAAQ,gBAAmB;CAExF"}
1
+ {"version":3,"file":"XyoValidator.js","sourceRoot":"","sources":["../../../src/lib/XyoValidator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAMrD,MAAM,OAAgB,gBAAsD,SAAQ,gBAAmB;CAEtG"}
package/package.json CHANGED
@@ -12,7 +12,7 @@
12
12
  "dependencies": {
13
13
  "@xylabs/buffer": "^2.6.2",
14
14
  "@xylabs/sdk-js": "^2.6.2",
15
- "@xyo-network/typeof": "^2.22.12",
15
+ "@xyo-network/typeof": "^2.22.15",
16
16
  "axios": "^0.27.2",
17
17
  "keccak256": "^1.0.6",
18
18
  "lodash": "^4.17.21",
@@ -21,7 +21,7 @@
21
21
  "description": "Primary SDK for using XYO Protocol 2.0",
22
22
  "devDependencies": {
23
23
  "@types/lodash": "^4.14.182",
24
- "@types/node": "^18.0.6",
24
+ "@types/node": "^18.6.1",
25
25
  "@types/sha.js": "^2.4.0",
26
26
  "tslib": "^2.4.0"
27
27
  },
@@ -57,6 +57,6 @@
57
57
  },
58
58
  "sideEffects": true,
59
59
  "types": "dist/esm/index.d.ts",
60
- "version": "2.22.12",
60
+ "version": "2.22.15",
61
61
  "packageManager": "yarn@3.1.1"
62
62
  }
@@ -1,11 +1,11 @@
1
1
  import shajs from 'sha.js'
2
2
 
3
- import { StringKeyObject, XyoObjectWrapper } from '../lib'
3
+ import { EmptyObject, XyoObjectWrapper } from '../lib'
4
4
  import { removeEmptyFields } from './removeEmptyFields'
5
5
  import { deepOmitUnderscoreFields } from './removeFields'
6
6
  import { sortFields } from './sortFields'
7
7
 
8
- export class XyoHasher<T extends object = StringKeyObject> extends XyoObjectWrapper<T> {
8
+ export class XyoHasher<T extends EmptyObject = EmptyObject> extends XyoObjectWrapper<T> {
9
9
  get hashFields() {
10
10
  return removeEmptyFields(deepOmitUnderscoreFields(this.obj))
11
11
  }
@@ -6,7 +6,9 @@ import merge from 'lodash/merge'
6
6
  import omitBy from 'lodash/omitBy'
7
7
  import pickBy from 'lodash/pickBy'
8
8
 
9
- export const deepBy = <T extends object>(obj: T, predicate: ValueKeyIteratee<T>, func: typeof omitBy | typeof pickBy): T => {
9
+ import { EmptyObject } from '../lib'
10
+
11
+ export const deepBy = <T extends EmptyObject>(obj: T, predicate: ValueKeyIteratee<T>, func: typeof omitBy | typeof pickBy): T => {
10
12
  if (Array.isArray(obj)) {
11
13
  return obj
12
14
  }
@@ -25,10 +27,10 @@ export const deepBy = <T extends object>(obj: T, predicate: ValueKeyIteratee<T>,
25
27
  return merge(pickedNonObjects, processedObjects) as T
26
28
  }
27
29
 
28
- export const deepOmitUnderscoreFields = <T extends object>(obj: T) => {
30
+ export const deepOmitUnderscoreFields = <T extends EmptyObject>(obj: T) => {
29
31
  return deepBy(obj, (_, key) => key.startsWith('_'), omitBy)
30
32
  }
31
33
 
32
- export const deepPickUnderscoreFields = <T extends object>(obj: T) => {
34
+ export const deepPickUnderscoreFields = <T extends EmptyObject>(obj: T) => {
33
35
  return deepBy(obj, (_, key) => key.startsWith('_'), pickBy)
34
36
  }
@@ -1,6 +1,6 @@
1
1
  import { typeOf } from '@xyo-network/typeof'
2
2
 
3
- import { StringKeyObject } from '../lib'
3
+ import { EmptyObject, StringKeyObject } from '../lib'
4
4
 
5
5
  //if an object, subsort
6
6
  const subSort = (value: unknown) => {
@@ -12,7 +12,7 @@ const subSort = (value: unknown) => {
12
12
  }
13
13
  }
14
14
 
15
- export const sortFields = <T extends object = object>(obj: T) => {
15
+ export const sortFields = <T extends EmptyObject = EmptyObject>(obj: T) => {
16
16
  if (obj === null) {
17
17
  return null
18
18
  }
@@ -1,11 +1,12 @@
1
+ import { EmptyObject } from './EmptyObject'
1
2
  import { StringKeyObject } from './StringKeyObject'
2
3
 
3
- export abstract class XyoObjectWrapper<T extends object = object> {
4
+ export abstract class XyoObjectWrapper<T extends EmptyObject = EmptyObject> {
4
5
  public readonly obj: T
5
6
  constructor(obj: T) {
6
7
  this.obj = obj
7
8
  }
8
9
  protected get stringKeyObj() {
9
- return this.obj as unknown as StringKeyObject
10
+ return this.obj as StringKeyObject
10
11
  }
11
12
  }
@@ -1,5 +1,10 @@
1
+ import { EmptyObject } from './EmptyObject'
1
2
  import { XyoObjectWrapper } from './XyoObjectWrapper'
2
3
 
3
- export abstract class XyoValidator<T extends object = object> extends XyoObjectWrapper<T> {
4
+ export interface XyoValidator<T extends EmptyObject = EmptyObject> {
5
+ validate(payload: T): Error[]
6
+ }
7
+
8
+ export abstract class XyoValidatorBase<T extends EmptyObject = EmptyObject> extends XyoObjectWrapper<T> implements XyoValidator<T> {
4
9
  public abstract validate(payload: T): Error[]
5
10
  }
package/babel.config.json DELETED
@@ -1,5 +0,0 @@
1
- {
2
- "presets": [
3
- "@babel/preset-env"
4
- ]
5
- }
@@ -1,6 +0,0 @@
1
- import { StringKeyObject } from './StringKeyObject';
2
- export declare abstract class XyoObject<T extends object = object> {
3
- readonly obj: T;
4
- constructor(obj: T);
5
- protected get stringKeyObj(): StringKeyObject;
6
- }
@@ -1,13 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.XyoObject = void 0;
4
- class XyoObject {
5
- constructor(obj) {
6
- this.obj = obj;
7
- }
8
- get stringKeyObj() {
9
- return this.obj;
10
- }
11
- }
12
- exports.XyoObject = XyoObject;
13
- //# sourceMappingURL=XyoObject.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"XyoObject.js","sourceRoot":"","sources":["../../../src/lib/XyoObject.ts"],"names":[],"mappings":";;;AAEA,MAAsB,SAAS;IAE7B,YAAY,GAAM;QAChB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;IAChB,CAAC;IACD,IAAc,YAAY;QACxB,OAAO,IAAI,CAAC,GAAiC,CAAA;IAC/C,CAAC;CACF;AARD,8BAQC"}
@@ -1,6 +0,0 @@
1
- import { StringKeyObject } from './StringKeyObject';
2
- export declare abstract class XyoObject<T extends object = object> {
3
- readonly obj: T;
4
- constructor(obj: T);
5
- protected get stringKeyObj(): StringKeyObject;
6
- }
@@ -1,9 +0,0 @@
1
- export class XyoObject {
2
- constructor(obj) {
3
- this.obj = obj;
4
- }
5
- get stringKeyObj() {
6
- return this.obj;
7
- }
8
- }
9
- //# sourceMappingURL=XyoObject.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"XyoObject.js","sourceRoot":"","sources":["../../../src/lib/XyoObject.ts"],"names":[],"mappings":"AAEA,MAAM,OAAgB,SAAS;IAE7B,YAAY,GAAM;QAChB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;IAChB,CAAC;IACD,IAAc,YAAY;QACxB,OAAO,IAAI,CAAC,GAAiC,CAAA;IAC/C,CAAC;CACF"}
package/jest.config.cjs DELETED
@@ -1,26 +0,0 @@
1
- const generateJestConfig = ({ esModules }) => {
2
- const esModulesList = Array.isArray(esModules) ? esModules.join('|') : esModules
3
- return {
4
- globals: {
5
- 'ts-jest': {
6
- tsconfig: 'tsconfig.test.json',
7
- },
8
- },
9
- moduleNameMapper: {
10
- '^(\\.{1,2}/.*)\\.js$': '$1',
11
- },
12
- preset: 'ts-jest/presets/default-esm',
13
- setupFiles: ['dotenv/config'],
14
- setupFilesAfterEnv: ['jest-sorted', 'jest-extended/all'],
15
- testRegex: '(/__tests__/.*|(\\.|/)(test|spec))\\.tsx?$',
16
- testTimeout: 20000,
17
- transform: {
18
- [`(${esModulesList}).+\\.js$`]: 'babel-jest',
19
- '^.+\\.tsx?$': 'ts-jest/legacy',
20
- },
21
- transformIgnorePatterns: [`./node_modules/(?!${esModulesList})`],
22
- }
23
- }
24
-
25
- // eslint-disable-next-line no-undef
26
- module.exports = generateJestConfig({ esModules: ['is-ip', 'ip-regex', 'lodash-es', 'uuid'] })