@xyo-network/core 2.47.8 → 2.47.10
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.
- package/dist/cjs/Hasher/Hasher.js.map +1 -1
- package/dist/cjs/Hasher/removeFields.js.map +1 -1
- package/dist/cjs/Hasher/sortFields.js.map +1 -1
- package/dist/cjs/lib/AnyObject.js +3 -0
- package/dist/cjs/lib/AnyObject.js.map +1 -0
- package/dist/cjs/lib/Validator.js.map +1 -1
- package/dist/cjs/lib/index.js +1 -0
- package/dist/cjs/lib/index.js.map +1 -1
- package/dist/docs.json +284 -227
- package/dist/esm/Hasher/Hasher.js.map +1 -1
- package/dist/esm/Hasher/removeFields.js.map +1 -1
- package/dist/esm/Hasher/sortFields.js.map +1 -1
- package/dist/esm/lib/AnyObject.js +2 -0
- package/dist/esm/lib/AnyObject.js.map +1 -0
- package/dist/esm/lib/Validator.js.map +1 -1
- package/dist/esm/lib/index.js +1 -0
- package/dist/esm/lib/index.js.map +1 -1
- package/dist/types/Hasher/Hasher.d.ts +5 -5
- package/dist/types/Hasher/Hasher.d.ts.map +1 -1
- package/dist/types/Hasher/removeFields.d.ts +4 -4
- package/dist/types/Hasher/removeFields.d.ts.map +1 -1
- package/dist/types/Hasher/sortFields.d.ts +2 -2
- package/dist/types/Hasher/sortFields.d.ts.map +1 -1
- package/dist/types/lib/AnyObject.d.ts +2 -0
- package/dist/types/lib/AnyObject.d.ts.map +1 -0
- package/dist/types/lib/EmptyObject.d.ts +3 -1
- package/dist/types/lib/EmptyObject.d.ts.map +1 -1
- package/dist/types/lib/StringKeyObject.d.ts +2 -2
- package/dist/types/lib/StringKeyObject.d.ts.map +1 -1
- package/dist/types/lib/Validator.d.ts +3 -3
- package/dist/types/lib/Validator.d.ts.map +1 -1
- package/dist/types/lib/index.d.ts +1 -0
- package/dist/types/lib/index.d.ts.map +1 -1
- package/package.json +4 -4
- package/src/Hasher/Hasher.ts +6 -6
- package/src/Hasher/removeFields.ts +4 -4
- package/src/Hasher/sortFields.ts +2 -2
- package/src/lib/AnyObject.ts +2 -0
- package/src/lib/EmptyObject.ts +1 -2
- package/src/lib/StringKeyObject.ts +2 -2
- package/src/lib/Validator.ts +3 -3
- package/src/lib/index.ts +1 -0
- package/src/Data/spec/toUint8Array.spec.ts +0 -25
- package/src/Hasher/spec/removeEmptyFields.spec.ts +0 -23
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Hasher.js","sourceRoot":"","sources":["../../../src/Hasher/Hasher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,QAAQ,CAAA;AAE1B,OAAO,
|
|
1
|
+
{"version":3,"file":"Hasher.js","sourceRoot":"","sources":["../../../src/Hasher/Hasher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,QAAQ,CAAA;AAE1B,OAAO,EAAa,aAAa,EAAE,MAAM,QAAQ,CAAA;AACjD,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,MAAwC,SAAQ,aAAgB;IAC3E,IAAI,IAAI;QACN,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAC9B,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACpC,CAAC;IAED,IAAI,WAAW;QACb,OAAO,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACnC,CAAC;IAED,MAAM,CAAC,IAAI,CAAsB,GAAM;QACrC,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IACjD,CAAC;IAED,MAAM,CAAC,UAAU,CAAsB,GAAM;QAC3C,OAAO,iBAAiB,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC,CAAA;IACzD,CAAC;IAED,MAAM,CAAC,SAAS,CAAsB,GAAM;QAC1C,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IACzD,CAAC;IAEO,MAAM,CAAC,cAAc,CAAsB,GAAM;QACvD,OAAO,KAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,CAAA;IAC7D,CAAC;CACF"}
|
|
@@ -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;AAIlC,MAAM,CAAC,MAAM,MAAM,GAAG,
|
|
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,CAAsB,GAAM,EAAE,SAA8B,EAAE,IAAmC,EAAK,EAAE;IAC5H,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,CAAsB,GAAM,EAAE,EAAE;IACtE,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,CAAsB,GAAM,EAAE,EAAE;IACtE,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 @@
|
|
|
1
|
-
{"version":3,"file":"sortFields.js","sourceRoot":"","sources":["../../../src/Hasher/sortFields.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAI5C,wBAAwB;AACxB,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,
|
|
1
|
+
{"version":3,"file":"sortFields.js","sourceRoot":"","sources":["../../../src/Hasher/sortFields.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAI5C,wBAAwB;AACxB,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,CAAkC,GAAM,EAAE,EAAE;IACpE,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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AnyObject.js","sourceRoot":"","sources":["../../../src/lib/AnyObject.ts"],"names":[],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Validator.js","sourceRoot":"","sources":["../../../src/lib/Validator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAM/C,MAAM,OAAgB,
|
|
1
|
+
{"version":3,"file":"Validator.js","sourceRoot":"","sources":["../../../src/lib/Validator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAM/C,MAAM,OAAgB,gBAAkD,SAAQ,aAAgB;CAE/F"}
|
package/dist/esm/lib/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,aAAa,CAAA;AAC3B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,mBAAmB,CAAA;AACjC,cAAc,QAAQ,CAAA;AACtB,cAAc,aAAa,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,aAAa,CAAA;AAC3B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,mBAAmB,CAAA;AACjC,cAAc,QAAQ,CAAA;AACtB,cAAc,aAAa,CAAA"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare class Hasher<T extends
|
|
1
|
+
import { AnyObject, ObjectWrapper } from '../lib';
|
|
2
|
+
export declare class Hasher<T extends AnyObject = AnyObject> extends ObjectWrapper<T> {
|
|
3
3
|
get hash(): string;
|
|
4
4
|
get hashFields(): T;
|
|
5
5
|
get stringified(): string;
|
|
6
|
-
static hash<T extends
|
|
7
|
-
static hashFields<T extends
|
|
8
|
-
static stringify<T extends
|
|
6
|
+
static hash<T extends AnyObject>(obj: T): string;
|
|
7
|
+
static hashFields<T extends AnyObject>(obj: T): T;
|
|
8
|
+
static stringify<T extends AnyObject>(obj: T): string;
|
|
9
9
|
private static sortedHashData;
|
|
10
10
|
}
|
|
11
11
|
//# sourceMappingURL=Hasher.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Hasher.d.ts","sourceRoot":"","sources":["../../../src/Hasher/Hasher.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"Hasher.d.ts","sourceRoot":"","sources":["../../../src/Hasher/Hasher.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAA;AAKjD,qBAAa,MAAM,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,CAAE,SAAQ,aAAa,CAAC,CAAC,CAAC;IAC3E,IAAI,IAAI,WAEP;IAED,IAAI,UAAU,MAEb;IAED,IAAI,WAAW,WAEd;IAED,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,SAAS,EAAE,GAAG,EAAE,CAAC;IAIvC,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,SAAS,EAAE,GAAG,EAAE,CAAC;IAI7C,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,SAAS,EAAE,GAAG,EAAE,CAAC;IAI5C,OAAO,CAAC,MAAM,CAAC,cAAc;CAG9B"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { ValueKeyIteratee } from 'lodash';
|
|
2
2
|
import omitBy from 'lodash/omitBy';
|
|
3
3
|
import pickBy from 'lodash/pickBy';
|
|
4
|
-
import {
|
|
5
|
-
export declare const deepBy: <T extends
|
|
6
|
-
export declare const deepOmitUnderscoreFields: <T extends
|
|
7
|
-
export declare const deepPickUnderscoreFields: <T extends
|
|
4
|
+
import { AnyObject } from '../lib';
|
|
5
|
+
export declare const deepBy: <T extends AnyObject>(obj: T, predicate: ValueKeyIteratee<T>, func: typeof omitBy | typeof pickBy) => T;
|
|
6
|
+
export declare const deepOmitUnderscoreFields: <T extends AnyObject>(obj: T) => T;
|
|
7
|
+
export declare const deepPickUnderscoreFields: <T extends AnyObject>(obj: T) => T;
|
|
8
8
|
//# sourceMappingURL=removeFields.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"removeFields.d.ts","sourceRoot":"","sources":["../../../src/Hasher/removeFields.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAA;AAIzC,OAAO,MAAM,MAAM,eAAe,CAAA;AAClC,OAAO,MAAM,MAAM,eAAe,CAAA;AAElC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"removeFields.d.ts","sourceRoot":"","sources":["../../../src/Hasher/removeFields.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAA;AAIzC,OAAO,MAAM,MAAM,eAAe,CAAA;AAClC,OAAO,MAAM,MAAM,eAAe,CAAA;AAElC,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AAElC,eAAO,MAAM,MAAM,sEAAuE,aAAa,GAAG,aAAa,MAiBtH,CAAA;AAED,eAAO,MAAM,wBAAwB,oCAEpC,CAAA;AAED,eAAO,MAAM,wBAAwB,oCAEpC,CAAA"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare const sortFields: <T extends
|
|
1
|
+
import { AnyObject } from '../lib';
|
|
2
|
+
export declare const sortFields: <T extends AnyObject = AnyObject>(obj: T) => T | null;
|
|
3
3
|
//# sourceMappingURL=sortFields.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sortFields.d.ts","sourceRoot":"","sources":["../../../src/Hasher/sortFields.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"sortFields.d.ts","sourceRoot":"","sources":["../../../src/Hasher/sortFields.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAmB,MAAM,QAAQ,CAAA;AAYnD,eAAO,MAAM,UAAU,uDActB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AnyObject.d.ts","sourceRoot":"","sources":["../../../src/lib/AnyObject.ts"],"names":[],"mappings":"AACA,MAAM,MAAM,SAAS,GAAG,EAAE,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EmptyObject.d.ts","sourceRoot":"","sources":["../../../src/lib/EmptyObject.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"EmptyObject.d.ts","sourceRoot":"","sources":["../../../src/lib/EmptyObject.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAAA;CAAE,CAAA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { AnyObject } from './AnyObject';
|
|
2
2
|
export type StringKeyObject = {
|
|
3
3
|
[key: string]: unknown;
|
|
4
4
|
};
|
|
5
|
-
export type WithAdditional<T extends
|
|
5
|
+
export type WithAdditional<T extends AnyObject = AnyObject> = T & StringKeyObject;
|
|
6
6
|
//# sourceMappingURL=StringKeyObject.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StringKeyObject.d.ts","sourceRoot":"","sources":["../../../src/lib/StringKeyObject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"StringKeyObject.d.ts","sourceRoot":"","sources":["../../../src/lib/StringKeyObject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAEvC,MAAM,MAAM,eAAe,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,CAAA;AACxD,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,IAAI,CAAC,GAAG,eAAe,CAAA"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { AnyObject } from './AnyObject';
|
|
2
2
|
import { ObjectWrapper } from './ObjectWrapper';
|
|
3
|
-
export interface Validator<T extends
|
|
3
|
+
export interface Validator<T extends AnyObject = AnyObject> {
|
|
4
4
|
validate(payload: T): Error[];
|
|
5
5
|
}
|
|
6
|
-
export declare abstract class XyoValidatorBase<T extends
|
|
6
|
+
export declare abstract class XyoValidatorBase<T extends AnyObject = AnyObject> extends ObjectWrapper<T> implements Validator<T> {
|
|
7
7
|
abstract validate(payload: T): Error[];
|
|
8
8
|
}
|
|
9
9
|
//# sourceMappingURL=Validator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Validator.d.ts","sourceRoot":"","sources":["../../../src/lib/Validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"Validator.d.ts","sourceRoot":"","sources":["../../../src/lib/Validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAE/C,MAAM,WAAW,SAAS,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS;IACxD,QAAQ,CAAC,OAAO,EAAE,CAAC,GAAG,KAAK,EAAE,CAAA;CAC9B;AAED,8BAAsB,gBAAgB,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,CAAE,SAAQ,aAAa,CAAC,CAAC,CAAE,YAAW,SAAS,CAAC,CAAC,CAAC;IACtH,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,GAAG,KAAK,EAAE;CACvC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,aAAa,CAAA;AAC3B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,mBAAmB,CAAA;AACjC,cAAc,QAAQ,CAAA;AACtB,cAAc,aAAa,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,aAAa,CAAA;AAC3B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,mBAAmB,CAAA;AACjC,cAAc,QAAQ,CAAA;AACtB,cAAc,aAAa,CAAA"}
|
package/package.json
CHANGED
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"@xylabs/assert": "^2.7.1",
|
|
15
15
|
"@xylabs/bignumber": "^2.7.1",
|
|
16
16
|
"@xylabs/buffer": "^2.7.1",
|
|
17
|
-
"@xyo-network/typeof": "^2.47.
|
|
17
|
+
"@xyo-network/typeof": "^2.47.10",
|
|
18
18
|
"keccak256": "^1.0.6",
|
|
19
19
|
"lodash": "^4.17.21",
|
|
20
20
|
"sha.js": "^2.4.11",
|
|
@@ -25,8 +25,8 @@
|
|
|
25
25
|
"@types/lodash": "^4.14.191",
|
|
26
26
|
"@types/sha.js": "^2.4.0",
|
|
27
27
|
"@types/uuid": "^9.0.1",
|
|
28
|
-
"@xylabs/ts-scripts-yarn3": "^2.
|
|
29
|
-
"@xylabs/tsconfig": "^2.
|
|
28
|
+
"@xylabs/ts-scripts-yarn3": "^2.15.0",
|
|
29
|
+
"@xylabs/tsconfig": "^2.15.0",
|
|
30
30
|
"typescript": "^4.9.5"
|
|
31
31
|
},
|
|
32
32
|
"browser": "dist/esm/index.js",
|
|
@@ -62,5 +62,5 @@
|
|
|
62
62
|
},
|
|
63
63
|
"sideEffects": false,
|
|
64
64
|
"types": "dist/types/index.d.ts",
|
|
65
|
-
"version": "2.47.
|
|
65
|
+
"version": "2.47.10"
|
|
66
66
|
}
|
package/src/Hasher/Hasher.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import shajs from 'sha.js'
|
|
2
2
|
|
|
3
|
-
import {
|
|
3
|
+
import { AnyObject, ObjectWrapper } 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 Hasher<T extends
|
|
8
|
+
export class Hasher<T extends AnyObject = AnyObject> extends ObjectWrapper<T> {
|
|
9
9
|
get hash() {
|
|
10
10
|
return Hasher.hash(this.obj)
|
|
11
11
|
}
|
|
@@ -18,19 +18,19 @@ export class Hasher<T extends EmptyObject = EmptyObject> extends ObjectWrapper<T
|
|
|
18
18
|
return Hasher.stringify(this.obj)
|
|
19
19
|
}
|
|
20
20
|
|
|
21
|
-
static hash<T extends
|
|
21
|
+
static hash<T extends AnyObject>(obj: T) {
|
|
22
22
|
return this.sortedHashData(obj).toString('hex')
|
|
23
23
|
}
|
|
24
24
|
|
|
25
|
-
static hashFields<T extends
|
|
25
|
+
static hashFields<T extends AnyObject>(obj: T) {
|
|
26
26
|
return removeEmptyFields(deepOmitUnderscoreFields(obj))
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
-
static stringify<T extends
|
|
29
|
+
static stringify<T extends AnyObject>(obj: T) {
|
|
30
30
|
return JSON.stringify(sortFields(this.hashFields(obj)))
|
|
31
31
|
}
|
|
32
32
|
|
|
33
|
-
private static sortedHashData<T extends
|
|
33
|
+
private static sortedHashData<T extends AnyObject>(obj: T) {
|
|
34
34
|
return shajs('sha256').update(this.stringify(obj)).digest()
|
|
35
35
|
}
|
|
36
36
|
}
|
|
@@ -6,9 +6,9 @@ import merge from 'lodash/merge'
|
|
|
6
6
|
import omitBy from 'lodash/omitBy'
|
|
7
7
|
import pickBy from 'lodash/pickBy'
|
|
8
8
|
|
|
9
|
-
import {
|
|
9
|
+
import { AnyObject } from '../lib'
|
|
10
10
|
|
|
11
|
-
export const deepBy = <T extends
|
|
11
|
+
export const deepBy = <T extends AnyObject>(obj: T, predicate: ValueKeyIteratee<T>, func: typeof omitBy | typeof pickBy): T => {
|
|
12
12
|
if (Array.isArray(obj)) {
|
|
13
13
|
return obj
|
|
14
14
|
}
|
|
@@ -27,10 +27,10 @@ export const deepBy = <T extends EmptyObject>(obj: T, predicate: ValueKeyIterate
|
|
|
27
27
|
return merge(pickedNonObjects, processedObjects) as T
|
|
28
28
|
}
|
|
29
29
|
|
|
30
|
-
export const deepOmitUnderscoreFields = <T extends
|
|
30
|
+
export const deepOmitUnderscoreFields = <T extends AnyObject>(obj: T) => {
|
|
31
31
|
return deepBy(obj, (_, key) => key.startsWith('_'), omitBy)
|
|
32
32
|
}
|
|
33
33
|
|
|
34
|
-
export const deepPickUnderscoreFields = <T extends
|
|
34
|
+
export const deepPickUnderscoreFields = <T extends AnyObject>(obj: T) => {
|
|
35
35
|
return deepBy(obj, (_, key) => key.startsWith('_'), pickBy)
|
|
36
36
|
}
|
package/src/Hasher/sortFields.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { typeOf } from '@xyo-network/typeof'
|
|
2
2
|
|
|
3
|
-
import {
|
|
3
|
+
import { AnyObject, StringKeyObject } from '../lib'
|
|
4
4
|
|
|
5
5
|
//if an object, sub-sort
|
|
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
|
|
15
|
+
export const sortFields = <T extends AnyObject = AnyObject>(obj: T) => {
|
|
16
16
|
if (obj === null) {
|
|
17
17
|
return null
|
|
18
18
|
}
|
package/src/lib/EmptyObject.ts
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export type EmptyObject = {}
|
|
1
|
+
export type EmptyObject = { [key: string]: never }
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { AnyObject } from './AnyObject'
|
|
2
2
|
|
|
3
3
|
export type StringKeyObject = { [key: string]: unknown }
|
|
4
|
-
export type WithAdditional<T extends
|
|
4
|
+
export type WithAdditional<T extends AnyObject = AnyObject> = T & StringKeyObject
|
package/src/lib/Validator.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { AnyObject } from './AnyObject'
|
|
2
2
|
import { ObjectWrapper } from './ObjectWrapper'
|
|
3
3
|
|
|
4
|
-
export interface Validator<T extends
|
|
4
|
+
export interface Validator<T extends AnyObject = AnyObject> {
|
|
5
5
|
validate(payload: T): Error[]
|
|
6
6
|
}
|
|
7
7
|
|
|
8
|
-
export abstract class XyoValidatorBase<T extends
|
|
8
|
+
export abstract class XyoValidatorBase<T extends AnyObject = AnyObject> extends ObjectWrapper<T> implements Validator<T> {
|
|
9
9
|
abstract validate(payload: T): Error[]
|
|
10
10
|
}
|
package/src/lib/index.ts
CHANGED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { base58 } from '@scure/base'
|
|
2
|
-
import { Buffer } from 'buffer'
|
|
3
|
-
|
|
4
|
-
import { toUint8Array } from '../toUint8Array'
|
|
5
|
-
|
|
6
|
-
describe('toUint8Array', () => {
|
|
7
|
-
test('Uint8Array Round Trip', () => {
|
|
8
|
-
const testArray = Uint8Array.from([0, 1, 2, 3])
|
|
9
|
-
const testArrayPrime = toUint8Array(testArray)
|
|
10
|
-
expect(testArray.length).toBe(testArrayPrime.length)
|
|
11
|
-
for (let i = 0; i < testArray.length; i++) {
|
|
12
|
-
expect(testArray[i]).toBe(testArrayPrime[i])
|
|
13
|
-
}
|
|
14
|
-
})
|
|
15
|
-
test('Hex Round Trip', () => {
|
|
16
|
-
const testHex = '1a2b3c'
|
|
17
|
-
const testHexPrime = Buffer.from(toUint8Array(testHex)).toString('hex')
|
|
18
|
-
expect(testHex).toBe(testHexPrime)
|
|
19
|
-
})
|
|
20
|
-
test('Base58 Round Trip', () => {
|
|
21
|
-
const testBase58 = '1a2FZb3caz'
|
|
22
|
-
const testBase58Prime = base58.encode(Buffer.from(toUint8Array(testBase58, undefined, 58)))
|
|
23
|
-
expect(testBase58).toBe(testBase58Prime)
|
|
24
|
-
})
|
|
25
|
-
})
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { removeEmptyFields } from '../removeEmptyFields'
|
|
2
|
-
|
|
3
|
-
describe('removeEmptyFields', () => {
|
|
4
|
-
test('deep', () => {
|
|
5
|
-
const testObject = {
|
|
6
|
-
testArray: [1, 2, 3],
|
|
7
|
-
testBoolean: true,
|
|
8
|
-
testNull: null,
|
|
9
|
-
testNullObject: { t: null, x: undefined },
|
|
10
|
-
testNumber: 5,
|
|
11
|
-
testObject: { t: 1 },
|
|
12
|
-
testSomeNullObject: { s: 1, t: null, x: undefined },
|
|
13
|
-
testString: 'hi',
|
|
14
|
-
testUndefined: undefined,
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
const result = removeEmptyFields(testObject)
|
|
18
|
-
|
|
19
|
-
expect(Object.keys(result).length).toBe(8)
|
|
20
|
-
expect(Object.keys(result.testSomeNullObject as object).length).toBe(2)
|
|
21
|
-
expect(Object.keys(result.testNullObject as object).length).toBe(1)
|
|
22
|
-
})
|
|
23
|
-
})
|