@xyo-network/core 2.62.2 → 2.63.1

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,10 +1,9 @@
1
1
  export class AbstractData {
2
- _isData = true;
3
2
  get length() {
4
3
  return this.bytes.length;
5
4
  }
6
- static isData(value) {
7
- return value._isData;
5
+ static is(value) {
6
+ return value instanceof AbstractData;
8
7
  }
9
8
  }
10
9
  //# sourceMappingURL=AbstractData.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractData.js","sourceRoot":"","sources":["../../../src/Data/AbstractData.ts"],"names":[],"mappings":"AAGA,MAAM,OAAgB,YAAY;IACxB,OAAO,GAAG,IAAI,CAAA;IAEtB,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAA;IAC1B,CAAC;IAYD,MAAM,CAAC,MAAM,CAAC,KAAc;QAC1B,OAAQ,KAAsB,CAAC,OAAO,CAAA;IACxC,CAAC;CACF"}
1
+ {"version":3,"file":"AbstractData.js","sourceRoot":"","sources":["../../../src/Data/AbstractData.ts"],"names":[],"mappings":"AAGA,MAAM,OAAgB,YAAY;IAChC,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAA;IAC1B,CAAC;IAYD,MAAM,CAAC,EAAE,CAAC,KAAc;QACtB,OAAO,KAAK,YAAY,YAAY,CAAA;IACtC,CAAC;CACF"}
@@ -37,6 +37,20 @@ export class Data extends AbstractData {
37
37
  this.checkLength();
38
38
  return Buffer.from(keccak256(`0x${this.buffer.toString('hex')}`));
39
39
  }
40
+ static from(data) {
41
+ return data ? new Data(Data.lengthOf(data), data) : undefined;
42
+ }
43
+ static lengthOf(data) {
44
+ if (typeof data === 'string') {
45
+ return data.length / 2;
46
+ }
47
+ else if (data instanceof AbstractData) {
48
+ return data.length;
49
+ }
50
+ else {
51
+ return typeof data.byteLength === 'function' ? data.byteLength() : data.byteLength;
52
+ }
53
+ }
40
54
  checkLength() {
41
55
  assertEx(this.bytes.length === this._length, `Length Mismatch: ${this.bytes.length} !== ${this._length}`);
42
56
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Data.js","sourceRoot":"","sources":["../../../src/Data/Data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AACvD,OAAO,SAAS,MAAM,WAAW,CAAA;AAEjC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAE7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AAErD,MAAM,OAAO,IAAK,SAAQ,YAAY;IAC5B,MAAM,CAAa;IACnB,OAAO,CAAQ;IAIvB,YAAY,MAAc,EAAE,KAAgB,EAAE,IAAa;QACzD,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,MAAM,GAAG,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;QACvD,IAAI,CAAC,OAAO,GAAG,MAAM,CAAA;IACvB,CAAC;IAED,IAAI,MAAM;QACR,IAAI,CAAC,WAAW,EAAE,CAAA;QAClB,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAClC,CAAC;IAED,IAAI,EAAE;QACJ,IAAI,CAAC,WAAW,EAAE,CAAA;QAClB,OAAO,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAClC,CAAC;IAED,IAAI,MAAM;QACR,IAAI,CAAC,WAAW,EAAE,CAAA;QAClB,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAChC,CAAC;IAED,IAAI,KAAK;QACP,OAAO,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAA;IACpD,CAAC;IAED,IAAI,GAAG;QACL,IAAI,CAAC,WAAW,EAAE,CAAA;QAClB,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAA;IAChD,CAAC;IAED,IAAI,SAAS;QACX,cAAc,EAAE,CAAA;QAChB,IAAI,CAAC,WAAW,EAAE,CAAA;QAClB,OAAO,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAA;IACnE,CAAC;IAEO,WAAW;QACjB,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,OAAO,EAAE,oBAAoB,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,IAAI,CAAC,OAAO,EAAE,CAAC,CAAA;IAC3G,CAAC;CACF"}
1
+ {"version":3,"file":"Data.js","sourceRoot":"","sources":["../../../src/Data/Data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AACvD,OAAO,SAAS,MAAM,WAAW,CAAA;AAEjC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAE7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AAErD,MAAM,OAAO,IAAK,SAAQ,YAAY;IAC5B,MAAM,CAAa;IACnB,OAAO,CAAQ;IAIvB,YAAY,MAAc,EAAE,KAAgB,EAAE,IAAa;QACzD,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,MAAM,GAAG,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;QACvD,IAAI,CAAC,OAAO,GAAG,MAAM,CAAA;IACvB,CAAC;IAED,IAAI,MAAM;QACR,IAAI,CAAC,WAAW,EAAE,CAAA;QAClB,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAClC,CAAC;IAED,IAAI,EAAE;QACJ,IAAI,CAAC,WAAW,EAAE,CAAA;QAClB,OAAO,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAClC,CAAC;IAED,IAAI,MAAM;QACR,IAAI,CAAC,WAAW,EAAE,CAAA;QAClB,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAChC,CAAC;IAED,IAAI,KAAK;QACP,OAAO,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAA;IACpD,CAAC;IAED,IAAI,GAAG;QACL,IAAI,CAAC,WAAW,EAAE,CAAA;QAClB,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAA;IAChD,CAAC;IAED,IAAI,SAAS;QACX,cAAc,EAAE,CAAA;QAChB,IAAI,CAAC,WAAW,EAAE,CAAA;QAClB,OAAO,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAA;IACnE,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,IAA0B;QACpC,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAC/D,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,IAAc;QAC5B,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;YAC5B,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAA;SACvB;aAAM,IAAI,IAAI,YAAY,YAAY,EAAE;YACvC,OAAO,IAAI,CAAC,MAAM,CAAA;SACnB;aAAM;YACL,OAAO,OAAO,IAAI,CAAC,UAAU,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAA;SACnF;IACH,CAAC;IAEO,WAAW;QACjB,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,OAAO,EAAE,oBAAoB,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,IAAI,CAAC,OAAO,EAAE,CAAC,CAAA;IAC3G,CAAC;CACF"}
@@ -31,7 +31,7 @@ export const toUint8Array = (value, padLength, base) => {
31
31
  let result = ifTypeOf('string', value, (value) => stringToUint8Array(value, base)) ??
32
32
  ifTypeOf('object', value, bigNumberToUint8Array, BigNumber.isBN) ??
33
33
  ifTypeOf('object', value, bufferToUint8Array, Buffer.isBuffer) ??
34
- ifTypeOf('object', value, xyoDataToUint8Array, AbstractData.isData) ??
34
+ ifTypeOf('object', value, xyoDataToUint8Array, AbstractData.is) ??
35
35
  value;
36
36
  if (padLength && result.length < padLength) {
37
37
  result = new Uint8Array([...new Uint8Array(padLength - result.length), ...result]);
@@ -1 +1 @@
1
- {"version":3,"file":"toUint8Array.js","sourceRoot":"","sources":["../../../src/Data/toUint8Array.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAE9C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAG7C,MAAM,kBAAkB,GAAG,CAAC,KAAa,EAAE,IAAI,GAAG,EAAE,EAAE,EAAE;IACtD,QAAQ,IAAI,EAAE;QACZ,KAAK,EAAE;YACL,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC,CAAA;QACvF,KAAK,EAAE;YACL,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAC7B;YACE,MAAM,KAAK,CAAC,qBAAqB,IAAI,GAAG,CAAC,CAAA;KAC5C;AACH,CAAC,CAAA;AAED,MAAM,qBAAqB,GAAG,CAAC,KAAgB,EAAE,EAAE;IACjD,uEAAuE;IACvE,OAAO,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;AACzE,CAAC,CAAA;AAED,MAAM,kBAAkB,GAAG,CAAC,KAAa,EAAE,EAAE;IAC3C,OAAO,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AAC/B,CAAC,CAAA;AAED,MAAM,mBAAmB,GAAG,CAAC,KAAmB,EAAE,EAAE;IAClD,OAAO,KAAK,CAAC,KAAK,CAAA;AACpB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,KAAgB,EAAE,SAAkB,EAAE,IAAa,EAA0B,EAAE;IAClH,OAAO,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;AACjE,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAAe,EAAE,SAAkB,EAAE,IAAa,EAAc,EAAE;IAC7F,IAAI,MAAM,GACR,QAAQ,CAAqB,QAAQ,EAAE,KAAe,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACnG,QAAQ,CAAoC,QAAQ,EAAE,KAAkB,EAAE,qBAAqB,EAAE,SAAS,CAAC,IAAI,CAAC;QAChH,QAAQ,CAAiC,QAAQ,EAAE,KAAe,EAAE,kBAAkB,EAAE,MAAM,CAAC,QAAQ,CAAC;QACxG,QAAQ,CAAuC,QAAQ,EAAE,KAAe,EAAE,mBAAmB,EAAE,YAAY,CAAC,MAAM,CAAC;QAClH,KAAoB,CAAA;IAEvB,IAAI,SAAS,IAAI,MAAM,CAAC,MAAM,GAAG,SAAS,EAAE;QAC1C,MAAM,GAAG,IAAI,UAAU,CAAC,CAAC,GAAG,IAAI,UAAU,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,CAAA;QAClF,QAAQ,CAAC,MAAM,EAAE,MAAM,IAAI,SAAS,EAAE,4CAA4C,CAAC,CAAA;KACpF;IAED,OAAO,MAAM,CAAA;AACf,CAAC,CAAA"}
1
+ {"version":3,"file":"toUint8Array.js","sourceRoot":"","sources":["../../../src/Data/toUint8Array.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAE9C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAG7C,MAAM,kBAAkB,GAAG,CAAC,KAAa,EAAE,IAAI,GAAG,EAAE,EAAE,EAAE;IACtD,QAAQ,IAAI,EAAE;QACZ,KAAK,EAAE;YACL,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC,CAAA;QACvF,KAAK,EAAE;YACL,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAC7B;YACE,MAAM,KAAK,CAAC,qBAAqB,IAAI,GAAG,CAAC,CAAA;KAC5C;AACH,CAAC,CAAA;AAED,MAAM,qBAAqB,GAAG,CAAC,KAAgB,EAAE,EAAE;IACjD,uEAAuE;IACvE,OAAO,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;AACzE,CAAC,CAAA;AAED,MAAM,kBAAkB,GAAG,CAAC,KAAa,EAAE,EAAE;IAC3C,OAAO,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AAC/B,CAAC,CAAA;AAED,MAAM,mBAAmB,GAAG,CAAC,KAAmB,EAAE,EAAE;IAClD,OAAO,KAAK,CAAC,KAAK,CAAA;AACpB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,KAAgB,EAAE,SAAkB,EAAE,IAAa,EAA0B,EAAE;IAClH,OAAO,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;AACjE,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAAe,EAAE,SAAkB,EAAE,IAAa,EAAc,EAAE;IAC7F,IAAI,MAAM,GACR,QAAQ,CAAqB,QAAQ,EAAE,KAAe,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACnG,QAAQ,CAAoC,QAAQ,EAAE,KAAkB,EAAE,qBAAqB,EAAE,SAAS,CAAC,IAAI,CAAC;QAChH,QAAQ,CAAiC,QAAQ,EAAE,KAAe,EAAE,kBAAkB,EAAE,MAAM,CAAC,QAAQ,CAAC;QACxG,QAAQ,CAAuC,QAAQ,EAAE,KAAe,EAAE,mBAAmB,EAAE,YAAY,CAAC,EAAE,CAAC;QAC9G,KAAoB,CAAA;IAEvB,IAAI,SAAS,IAAI,MAAM,CAAC,MAAM,GAAG,SAAS,EAAE;QAC1C,MAAM,GAAG,IAAI,UAAU,CAAC,CAAC,GAAG,IAAI,UAAU,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,CAAA;QAClF,QAAQ,CAAC,MAAM,EAAE,MAAM,IAAI,SAAS,EAAE,4CAA4C,CAAC,CAAA;KACpF;IAED,OAAO,MAAM,CAAA;AACf,CAAC,CAAA"}
@@ -1,13 +1,12 @@
1
1
  import { BigNumber } from '@xylabs/bignumber';
2
2
  import { Buffer } from '@xylabs/buffer';
3
3
  export declare abstract class AbstractData {
4
- private _isData;
5
4
  get length(): number;
6
5
  abstract get bn(): BigNumber;
7
6
  abstract get buffer(): Buffer;
8
7
  abstract get bytes(): Uint8Array;
9
8
  abstract get hex(): string;
10
9
  abstract get keccak256(): Buffer;
11
- static isData(value: unknown): boolean;
10
+ static is(value: unknown): value is AbstractData;
12
11
  }
13
12
  //# sourceMappingURL=AbstractData.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractData.d.ts","sourceRoot":"","sources":["../../../src/Data/AbstractData.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAEvC,8BAAsB,YAAY;IAChC,OAAO,CAAC,OAAO,CAAO;IAEtB,IAAI,MAAM,WAET;IAED,QAAQ,KAAK,EAAE,IAAI,SAAS,CAAA;IAE5B,QAAQ,KAAK,MAAM,IAAI,MAAM,CAAA;IAE7B,QAAQ,KAAK,KAAK,IAAI,UAAU,CAAA;IAEhC,QAAQ,KAAK,GAAG,IAAI,MAAM,CAAA;IAE1B,QAAQ,KAAK,SAAS,IAAI,MAAM,CAAA;IAEhC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO;CAG7B"}
1
+ {"version":3,"file":"AbstractData.d.ts","sourceRoot":"","sources":["../../../src/Data/AbstractData.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAEvC,8BAAsB,YAAY;IAChC,IAAI,MAAM,WAET;IAED,QAAQ,KAAK,EAAE,IAAI,SAAS,CAAA;IAE5B,QAAQ,KAAK,MAAM,IAAI,MAAM,CAAA;IAE7B,QAAQ,KAAK,KAAK,IAAI,UAAU,CAAA;IAEhC,QAAQ,KAAK,GAAG,IAAI,MAAM,CAAA;IAE1B,QAAQ,KAAK,SAAS,IAAI,MAAM,CAAA;IAEhC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,YAAY;CAGjD"}
@@ -13,6 +13,8 @@ export declare class Data extends AbstractData {
13
13
  get bytes(): Uint8Array;
14
14
  get hex(): string;
15
15
  get keccak256(): Buffer;
16
+ static from(data: DataLike | undefined): Data | undefined;
17
+ static lengthOf(data: DataLike): number;
16
18
  private checkLength;
17
19
  }
18
20
  //# sourceMappingURL=Data.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Data.d.ts","sourceRoot":"","sources":["../../../src/Data/Data.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAE,MAAM,EAAkB,MAAM,gBAAgB,CAAA;AAGvD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAGrC,qBAAa,IAAK,SAAQ,YAAY;IACpC,OAAO,CAAC,MAAM,CAAC,CAAY;IAC3B,OAAO,CAAC,OAAO,CAAQ;gBAEX,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,QAAQ;gBAChC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM;IAOxD,IAAI,MAAM,WAGT;IAED,IAAI,EAAE,cAGL;IAED,IAAI,MAAM,WAGT;IAED,IAAI,KAAK,eAER;IAED,IAAI,GAAG,WAGN;IAED,IAAI,SAAS,WAIZ;IAED,OAAO,CAAC,WAAW;CAGpB"}
1
+ {"version":3,"file":"Data.d.ts","sourceRoot":"","sources":["../../../src/Data/Data.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAE,MAAM,EAAkB,MAAM,gBAAgB,CAAA;AAGvD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAGrC,qBAAa,IAAK,SAAQ,YAAY;IACpC,OAAO,CAAC,MAAM,CAAC,CAAY;IAC3B,OAAO,CAAC,OAAO,CAAQ;gBAEX,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,QAAQ;gBAChC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM;IAOxD,IAAI,MAAM,WAGT;IAED,IAAI,EAAE,cAGL;IAED,IAAI,MAAM,WAGT;IAED,IAAI,KAAK,eAER;IAED,IAAI,GAAG,WAGN;IAED,IAAI,SAAS,WAIZ;IAED,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,GAAG,SAAS;IAItC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM;IAUvC,OAAO,CAAC,WAAW;CAGpB"}
package/package.json CHANGED
@@ -14,8 +14,8 @@
14
14
  "@xylabs/assert": "^2.9.1",
15
15
  "@xylabs/bignumber": "^2.9.1",
16
16
  "@xylabs/buffer": "^2.9.1",
17
- "@xyo-network/promise": "^2.62.2",
18
- "@xyo-network/typeof": "^2.62.2",
17
+ "@xyo-network/promise": "^2.63.1",
18
+ "@xyo-network/typeof": "^2.63.1",
19
19
  "hash-wasm": "^4.9.0",
20
20
  "keccak256": "^1.0.6",
21
21
  "lodash": "^4.17.21",
@@ -28,8 +28,8 @@
28
28
  "@types/lodash": "^4.14.195",
29
29
  "@types/sha.js": "^2.4.0",
30
30
  "@types/uuid": "^9.0.2",
31
- "@xylabs/ts-scripts-yarn3": "^2.17.13",
32
- "@xylabs/tsconfig": "^2.17.13",
31
+ "@xylabs/ts-scripts-yarn3": "^2.17.17",
32
+ "@xylabs/tsconfig": "^2.17.17",
33
33
  "typescript": "^5.1.3"
34
34
  },
35
35
  "browser": "dist/esm/index.js",
@@ -65,5 +65,5 @@
65
65
  },
66
66
  "sideEffects": false,
67
67
  "types": "dist/types/index.d.ts",
68
- "version": "2.62.2"
68
+ "version": "2.63.1"
69
69
  }
@@ -2,8 +2,6 @@ import { BigNumber } from '@xylabs/bignumber'
2
2
  import { Buffer } from '@xylabs/buffer'
3
3
 
4
4
  export abstract class AbstractData {
5
- private _isData = true
6
-
7
5
  get length() {
8
6
  return this.bytes.length
9
7
  }
@@ -18,7 +16,7 @@ export abstract class AbstractData {
18
16
 
19
17
  abstract get keccak256(): Buffer
20
18
 
21
- static isData(value: unknown) {
22
- return (value as AbstractData)._isData
19
+ static is(value: unknown): value is AbstractData {
20
+ return value instanceof AbstractData
23
21
  }
24
22
  }
package/src/Data/Data.ts CHANGED
@@ -50,6 +50,20 @@ export class Data extends AbstractData {
50
50
  return Buffer.from(keccak256(`0x${this.buffer.toString('hex')}`))
51
51
  }
52
52
 
53
+ static from(data: DataLike | undefined) {
54
+ return data ? new Data(Data.lengthOf(data), data) : undefined
55
+ }
56
+
57
+ static lengthOf(data: DataLike): number {
58
+ if (typeof data === 'string') {
59
+ return data.length / 2
60
+ } else if (data instanceof AbstractData) {
61
+ return data.length
62
+ } else {
63
+ return typeof data.byteLength === 'function' ? data.byteLength() : data.byteLength
64
+ }
65
+ }
66
+
53
67
  private checkLength() {
54
68
  assertEx(this.bytes.length === this._length, `Length Mismatch: ${this.bytes.length} !== ${this._length}`)
55
69
  }
@@ -40,7 +40,7 @@ export const toUint8Array = (value: DataLike, padLength?: number, base?: number)
40
40
  ifTypeOf<string, Uint8Array>('string', value as string, (value) => stringToUint8Array(value, base)) ??
41
41
  ifTypeOf<BigNumber, Uint8Array | undefined>('object', value as BigNumber, bigNumberToUint8Array, BigNumber.isBN) ??
42
42
  ifTypeOf<Buffer, Uint8Array | undefined>('object', value as Buffer, bufferToUint8Array, Buffer.isBuffer) ??
43
- ifTypeOf<AbstractData, Uint8Array | undefined>('object', value as Buffer, xyoDataToUint8Array, AbstractData.isData) ??
43
+ ifTypeOf<AbstractData, Uint8Array | undefined>('object', value as Buffer, xyoDataToUint8Array, AbstractData.is) ??
44
44
  (value as Uint8Array)
45
45
 
46
46
  if (padLength && result.length < padLength) {