@xyo-network/boundwitness-wrapper 2.88.3 → 2.89.0-rc.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,50 +1,49 @@
1
- import { Promisable } from '@xylabs/promise';
1
+ import { Hash } from '@xylabs/hex';
2
2
  import { BoundWitness } from '@xyo-network/boundwitness-model';
3
- import { Payload } from '@xyo-network/payload-model';
3
+ import { Payload, WithMeta } from '@xyo-network/payload-model';
4
4
  import { PayloadWrapper, PayloadWrapperBase } from '@xyo-network/payload-wrapper';
5
5
  export declare class BoundWitnessWrapper<TBoundWitness extends BoundWitness<{
6
6
  schema: string;
7
7
  }> = BoundWitness, TPayload extends Payload = Payload> extends PayloadWrapperBase<TBoundWitness> {
8
- private _allPayloadMap;
9
- private _moduleErrors;
8
+ boundwitness: WithMeta<TBoundWitness>;
9
+ payloads: WithMeta<TPayload>[];
10
+ moduleErrors?: WithMeta<{
11
+ schema: string;
12
+ } & object>[] | undefined;
10
13
  private _payloadMap;
11
- private _payloads;
12
- private isBoundWitnessWrapper;
13
- protected constructor(boundwitness: TBoundWitness, payloads?: (TPayload | undefined)[], moduleErrors?: (Payload | undefined)[]);
14
+ protected constructor(boundwitness: WithMeta<TBoundWitness>, payloads?: WithMeta<TPayload>[], moduleErrors?: WithMeta<{
15
+ schema: string;
16
+ } & object>[] | undefined);
14
17
  get addresses(): string[];
15
- get boundwitness(): TBoundWitness;
16
18
  get payloadHashes(): string[];
17
19
  get payloadSchemas(): string[];
18
- get payloadsArray(): PayloadWrapper<TPayload>[];
19
20
  get previousHashes(): (string | null)[];
20
21
  static as<T extends BoundWitness = BoundWitness>(value: unknown): BoundWitnessWrapper<T, {
21
22
  schema: string;
22
- } & object> | null;
23
+ } & object> | undefined;
23
24
  static load(address: string): Promise<BoundWitnessWrapper<import("@xyo-network/payload-model").SchemaFields & object & import("@xyo-network/boundwitness-model").BoundWitnessFields & {
24
25
  schema: "network.xyo.boundwitness";
25
26
  }, {
26
27
  schema: string;
27
28
  } & object> | null>;
28
- static mapPayloads<TPayload extends Payload>(payloads: TPayload[]): Promise<Record<string, TPayload>>;
29
- static mapWrappedPayloads<TPayload extends Payload>(payloads: TPayload[]): Promise<Record<string, PayloadWrapper<TPayload>>>;
30
- static parse<T extends BoundWitness, P extends Payload>(obj: unknown, payloads?: P[]): BoundWitnessWrapper<T, P>;
31
- static tryParse<T extends BoundWitness, P extends Payload>(obj: unknown, payloads?: P[]): BoundWitnessWrapper<T, P> | undefined;
32
- static wrap<T extends BoundWitness, P extends Payload>(obj: PayloadWrapperBase<T> | T, payloads?: P[]): BoundWitnessWrapper<T, P>;
33
- static wrappedMap<T extends BoundWitness>(boundWitnesses: (T | BoundWitnessWrapper<T>)[]): Promise<Record<string, BoundWitnessWrapper<T>>>;
34
- allPayloadMap(): Promise<Record<string, TPayload>>;
29
+ static parse<T extends BoundWitness, P extends Payload>(obj: unknown, payloads?: P[]): Promise<BoundWitnessWrapper<T, P>>;
30
+ static payloadsDataHashMap<TPayload extends Payload>(payloads: TPayload[]): Promise<Record<Hash, WithMeta<TPayload>>>;
31
+ static payloadsHashMap<TPayload extends Payload>(payloads: TPayload[]): Promise<Record<Hash, TPayload>>;
32
+ static tryParse<T extends BoundWitness, P extends Payload>(obj: unknown, payloads?: P[]): Promise<BoundWitnessWrapper<T, P> | undefined>;
33
+ static wrap<T extends BoundWitness, P extends Payload>(obj: PayloadWrapperBase<T> | T, payloads?: P[]): Promise<BoundWitnessWrapper<T, P>>;
34
+ static wrappedDataHashMap<T extends BoundWitness>(boundWitnesses: (T | BoundWitnessWrapper<T>)[]): Promise<Record<string, BoundWitnessWrapper<T>>>;
35
+ static wrappedHashMap<T extends BoundWitness>(boundWitnesses: (T | BoundWitnessWrapper<T>)[]): Promise<Record<string, BoundWitnessWrapper<T>>>;
35
36
  dig(depth?: number): Promise<BoundWitnessWrapper<TBoundWitness>>;
36
- getAllPayloads(): Promise<TPayload[]>;
37
- getAllWrappedPayloads(): Promisable<PayloadWrapper<TPayload>[]>;
38
37
  getMissingPayloads(): Promise<string[]>;
39
- getPayloads(): Promise<TPayload[]>;
40
- getWrappedModuleErrors(): Promisable<PayloadWrapper[]>;
41
- getWrappedPayloads(): Promisable<PayloadWrapper<TPayload>[]>;
38
+ getWrappedPayloads(): Promise<PayloadWrapper<TPayload>[]>;
42
39
  hashesBySchema(schema: string): string[];
43
- payloadMap(): Promise<Record<string, TPayload>>;
40
+ payloadsByDataHashes<T extends TPayload>(hashes: string[]): Promise<T[]>;
44
41
  payloadsByHashes<T extends TPayload>(hashes: string[]): Promise<T[]>;
45
- payloadsBySchema<T extends TPayload>(schema: string): Promise<T[]>;
42
+ payloadsBySchema<T extends TPayload>(schema: string): WithMeta<T>[];
43
+ payloadsDataHashMap(): Promise<Record<string, TPayload>>;
44
+ payloadsHashMap(): Promise<Record<string, TPayload>>;
46
45
  prev(address: string): string | null;
47
- toResult(): (TBoundWitness | TPayload[])[];
46
+ toResult(): (WithMeta<TBoundWitness> | WithMeta<TPayload>[])[];
48
47
  validate(): Promise<Error[]>;
49
48
  }
50
49
  //# sourceMappingURL=BoundWitnessWrapper.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BoundWitnessWrapper.d.ts","sourceRoot":"","sources":["../../src/BoundWitnessWrapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BoundWitnessWrapper.d.ts","sourceRoot":"","sources":["../../src/BoundWitnessWrapper.ts"],"names":[],"mappings":"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"}
@@ -1,50 +1,49 @@
1
- import { Promisable } from '@xylabs/promise';
1
+ import { Hash } from '@xylabs/hex';
2
2
  import { BoundWitness } from '@xyo-network/boundwitness-model';
3
- import { Payload } from '@xyo-network/payload-model';
3
+ import { Payload, WithMeta } from '@xyo-network/payload-model';
4
4
  import { PayloadWrapper, PayloadWrapperBase } from '@xyo-network/payload-wrapper';
5
5
  export declare class BoundWitnessWrapper<TBoundWitness extends BoundWitness<{
6
6
  schema: string;
7
7
  }> = BoundWitness, TPayload extends Payload = Payload> extends PayloadWrapperBase<TBoundWitness> {
8
- private _allPayloadMap;
9
- private _moduleErrors;
8
+ boundwitness: WithMeta<TBoundWitness>;
9
+ payloads: WithMeta<TPayload>[];
10
+ moduleErrors?: WithMeta<{
11
+ schema: string;
12
+ } & object>[] | undefined;
10
13
  private _payloadMap;
11
- private _payloads;
12
- private isBoundWitnessWrapper;
13
- protected constructor(boundwitness: TBoundWitness, payloads?: (TPayload | undefined)[], moduleErrors?: (Payload | undefined)[]);
14
+ protected constructor(boundwitness: WithMeta<TBoundWitness>, payloads?: WithMeta<TPayload>[], moduleErrors?: WithMeta<{
15
+ schema: string;
16
+ } & object>[] | undefined);
14
17
  get addresses(): string[];
15
- get boundwitness(): TBoundWitness;
16
18
  get payloadHashes(): string[];
17
19
  get payloadSchemas(): string[];
18
- get payloadsArray(): PayloadWrapper<TPayload>[];
19
20
  get previousHashes(): (string | null)[];
20
21
  static as<T extends BoundWitness = BoundWitness>(value: unknown): BoundWitnessWrapper<T, {
21
22
  schema: string;
22
- } & object> | null;
23
+ } & object> | undefined;
23
24
  static load(address: string): Promise<BoundWitnessWrapper<import("@xyo-network/payload-model").SchemaFields & object & import("@xyo-network/boundwitness-model").BoundWitnessFields & {
24
25
  schema: "network.xyo.boundwitness";
25
26
  }, {
26
27
  schema: string;
27
28
  } & object> | null>;
28
- static mapPayloads<TPayload extends Payload>(payloads: TPayload[]): Promise<Record<string, TPayload>>;
29
- static mapWrappedPayloads<TPayload extends Payload>(payloads: TPayload[]): Promise<Record<string, PayloadWrapper<TPayload>>>;
30
- static parse<T extends BoundWitness, P extends Payload>(obj: unknown, payloads?: P[]): BoundWitnessWrapper<T, P>;
31
- static tryParse<T extends BoundWitness, P extends Payload>(obj: unknown, payloads?: P[]): BoundWitnessWrapper<T, P> | undefined;
32
- static wrap<T extends BoundWitness, P extends Payload>(obj: PayloadWrapperBase<T> | T, payloads?: P[]): BoundWitnessWrapper<T, P>;
33
- static wrappedMap<T extends BoundWitness>(boundWitnesses: (T | BoundWitnessWrapper<T>)[]): Promise<Record<string, BoundWitnessWrapper<T>>>;
34
- allPayloadMap(): Promise<Record<string, TPayload>>;
29
+ static parse<T extends BoundWitness, P extends Payload>(obj: unknown, payloads?: P[]): Promise<BoundWitnessWrapper<T, P>>;
30
+ static payloadsDataHashMap<TPayload extends Payload>(payloads: TPayload[]): Promise<Record<Hash, WithMeta<TPayload>>>;
31
+ static payloadsHashMap<TPayload extends Payload>(payloads: TPayload[]): Promise<Record<Hash, TPayload>>;
32
+ static tryParse<T extends BoundWitness, P extends Payload>(obj: unknown, payloads?: P[]): Promise<BoundWitnessWrapper<T, P> | undefined>;
33
+ static wrap<T extends BoundWitness, P extends Payload>(obj: PayloadWrapperBase<T> | T, payloads?: P[]): Promise<BoundWitnessWrapper<T, P>>;
34
+ static wrappedDataHashMap<T extends BoundWitness>(boundWitnesses: (T | BoundWitnessWrapper<T>)[]): Promise<Record<string, BoundWitnessWrapper<T>>>;
35
+ static wrappedHashMap<T extends BoundWitness>(boundWitnesses: (T | BoundWitnessWrapper<T>)[]): Promise<Record<string, BoundWitnessWrapper<T>>>;
35
36
  dig(depth?: number): Promise<BoundWitnessWrapper<TBoundWitness>>;
36
- getAllPayloads(): Promise<TPayload[]>;
37
- getAllWrappedPayloads(): Promisable<PayloadWrapper<TPayload>[]>;
38
37
  getMissingPayloads(): Promise<string[]>;
39
- getPayloads(): Promise<TPayload[]>;
40
- getWrappedModuleErrors(): Promisable<PayloadWrapper[]>;
41
- getWrappedPayloads(): Promisable<PayloadWrapper<TPayload>[]>;
38
+ getWrappedPayloads(): Promise<PayloadWrapper<TPayload>[]>;
42
39
  hashesBySchema(schema: string): string[];
43
- payloadMap(): Promise<Record<string, TPayload>>;
40
+ payloadsByDataHashes<T extends TPayload>(hashes: string[]): Promise<T[]>;
44
41
  payloadsByHashes<T extends TPayload>(hashes: string[]): Promise<T[]>;
45
- payloadsBySchema<T extends TPayload>(schema: string): Promise<T[]>;
42
+ payloadsBySchema<T extends TPayload>(schema: string): WithMeta<T>[];
43
+ payloadsDataHashMap(): Promise<Record<string, TPayload>>;
44
+ payloadsHashMap(): Promise<Record<string, TPayload>>;
46
45
  prev(address: string): string | null;
47
- toResult(): (TBoundWitness | TPayload[])[];
46
+ toResult(): (WithMeta<TBoundWitness> | WithMeta<TPayload>[])[];
48
47
  validate(): Promise<Error[]>;
49
48
  }
50
49
  //# sourceMappingURL=BoundWitnessWrapper.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BoundWitnessWrapper.d.ts","sourceRoot":"","sources":["../../src/BoundWitnessWrapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BoundWitnessWrapper.d.ts","sourceRoot":"","sources":["../../src/BoundWitnessWrapper.ts"],"names":[],"mappings":"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"}
@@ -1,50 +1,49 @@
1
- import { Promisable } from '@xylabs/promise';
1
+ import { Hash } from '@xylabs/hex';
2
2
  import { BoundWitness } from '@xyo-network/boundwitness-model';
3
- import { Payload } from '@xyo-network/payload-model';
3
+ import { Payload, WithMeta } from '@xyo-network/payload-model';
4
4
  import { PayloadWrapper, PayloadWrapperBase } from '@xyo-network/payload-wrapper';
5
5
  export declare class BoundWitnessWrapper<TBoundWitness extends BoundWitness<{
6
6
  schema: string;
7
7
  }> = BoundWitness, TPayload extends Payload = Payload> extends PayloadWrapperBase<TBoundWitness> {
8
- private _allPayloadMap;
9
- private _moduleErrors;
8
+ boundwitness: WithMeta<TBoundWitness>;
9
+ payloads: WithMeta<TPayload>[];
10
+ moduleErrors?: WithMeta<{
11
+ schema: string;
12
+ } & object>[] | undefined;
10
13
  private _payloadMap;
11
- private _payloads;
12
- private isBoundWitnessWrapper;
13
- protected constructor(boundwitness: TBoundWitness, payloads?: (TPayload | undefined)[], moduleErrors?: (Payload | undefined)[]);
14
+ protected constructor(boundwitness: WithMeta<TBoundWitness>, payloads?: WithMeta<TPayload>[], moduleErrors?: WithMeta<{
15
+ schema: string;
16
+ } & object>[] | undefined);
14
17
  get addresses(): string[];
15
- get boundwitness(): TBoundWitness;
16
18
  get payloadHashes(): string[];
17
19
  get payloadSchemas(): string[];
18
- get payloadsArray(): PayloadWrapper<TPayload>[];
19
20
  get previousHashes(): (string | null)[];
20
21
  static as<T extends BoundWitness = BoundWitness>(value: unknown): BoundWitnessWrapper<T, {
21
22
  schema: string;
22
- } & object> | null;
23
+ } & object> | undefined;
23
24
  static load(address: string): Promise<BoundWitnessWrapper<import("@xyo-network/payload-model").SchemaFields & object & import("@xyo-network/boundwitness-model").BoundWitnessFields & {
24
25
  schema: "network.xyo.boundwitness";
25
26
  }, {
26
27
  schema: string;
27
28
  } & object> | null>;
28
- static mapPayloads<TPayload extends Payload>(payloads: TPayload[]): Promise<Record<string, TPayload>>;
29
- static mapWrappedPayloads<TPayload extends Payload>(payloads: TPayload[]): Promise<Record<string, PayloadWrapper<TPayload>>>;
30
- static parse<T extends BoundWitness, P extends Payload>(obj: unknown, payloads?: P[]): BoundWitnessWrapper<T, P>;
31
- static tryParse<T extends BoundWitness, P extends Payload>(obj: unknown, payloads?: P[]): BoundWitnessWrapper<T, P> | undefined;
32
- static wrap<T extends BoundWitness, P extends Payload>(obj: PayloadWrapperBase<T> | T, payloads?: P[]): BoundWitnessWrapper<T, P>;
33
- static wrappedMap<T extends BoundWitness>(boundWitnesses: (T | BoundWitnessWrapper<T>)[]): Promise<Record<string, BoundWitnessWrapper<T>>>;
34
- allPayloadMap(): Promise<Record<string, TPayload>>;
29
+ static parse<T extends BoundWitness, P extends Payload>(obj: unknown, payloads?: P[]): Promise<BoundWitnessWrapper<T, P>>;
30
+ static payloadsDataHashMap<TPayload extends Payload>(payloads: TPayload[]): Promise<Record<Hash, WithMeta<TPayload>>>;
31
+ static payloadsHashMap<TPayload extends Payload>(payloads: TPayload[]): Promise<Record<Hash, TPayload>>;
32
+ static tryParse<T extends BoundWitness, P extends Payload>(obj: unknown, payloads?: P[]): Promise<BoundWitnessWrapper<T, P> | undefined>;
33
+ static wrap<T extends BoundWitness, P extends Payload>(obj: PayloadWrapperBase<T> | T, payloads?: P[]): Promise<BoundWitnessWrapper<T, P>>;
34
+ static wrappedDataHashMap<T extends BoundWitness>(boundWitnesses: (T | BoundWitnessWrapper<T>)[]): Promise<Record<string, BoundWitnessWrapper<T>>>;
35
+ static wrappedHashMap<T extends BoundWitness>(boundWitnesses: (T | BoundWitnessWrapper<T>)[]): Promise<Record<string, BoundWitnessWrapper<T>>>;
35
36
  dig(depth?: number): Promise<BoundWitnessWrapper<TBoundWitness>>;
36
- getAllPayloads(): Promise<TPayload[]>;
37
- getAllWrappedPayloads(): Promisable<PayloadWrapper<TPayload>[]>;
38
37
  getMissingPayloads(): Promise<string[]>;
39
- getPayloads(): Promise<TPayload[]>;
40
- getWrappedModuleErrors(): Promisable<PayloadWrapper[]>;
41
- getWrappedPayloads(): Promisable<PayloadWrapper<TPayload>[]>;
38
+ getWrappedPayloads(): Promise<PayloadWrapper<TPayload>[]>;
42
39
  hashesBySchema(schema: string): string[];
43
- payloadMap(): Promise<Record<string, TPayload>>;
40
+ payloadsByDataHashes<T extends TPayload>(hashes: string[]): Promise<T[]>;
44
41
  payloadsByHashes<T extends TPayload>(hashes: string[]): Promise<T[]>;
45
- payloadsBySchema<T extends TPayload>(schema: string): Promise<T[]>;
42
+ payloadsBySchema<T extends TPayload>(schema: string): WithMeta<T>[];
43
+ payloadsDataHashMap(): Promise<Record<string, TPayload>>;
44
+ payloadsHashMap(): Promise<Record<string, TPayload>>;
46
45
  prev(address: string): string | null;
47
- toResult(): (TBoundWitness | TPayload[])[];
46
+ toResult(): (WithMeta<TBoundWitness> | WithMeta<TPayload>[])[];
48
47
  validate(): Promise<Error[]>;
49
48
  }
50
49
  //# sourceMappingURL=BoundWitnessWrapper.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BoundWitnessWrapper.d.ts","sourceRoot":"","sources":["../../src/BoundWitnessWrapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BoundWitnessWrapper.d.ts","sourceRoot":"","sources":["../../src/BoundWitnessWrapper.ts"],"names":[],"mappings":"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"}
@@ -27,121 +27,101 @@ module.exports = __toCommonJS(src_exports);
27
27
 
28
28
  // src/BoundWitnessWrapper.ts
29
29
  var import_assert = require("@xylabs/assert");
30
- var import_exists = require("@xylabs/exists");
31
- var import_lodash = require("@xylabs/lodash");
32
30
  var import_boundwitness_model = require("@xyo-network/boundwitness-model");
33
31
  var import_boundwitness_validator = require("@xyo-network/boundwitness-validator");
34
32
  var import_hash = require("@xyo-network/hash");
33
+ var import_payload_builder = require("@xyo-network/payload-builder");
35
34
  var import_payload_wrapper = require("@xyo-network/payload-wrapper");
36
35
  var BoundWitnessWrapper = class _BoundWitnessWrapper extends import_payload_wrapper.PayloadWrapperBase {
37
36
  static {
38
37
  __name(this, "BoundWitnessWrapper");
39
38
  }
40
- _allPayloadMap;
41
- _moduleErrors;
39
+ boundwitness;
40
+ payloads;
41
+ moduleErrors;
42
42
  _payloadMap;
43
- _payloads;
44
- isBoundWitnessWrapper = true;
45
- constructor(boundwitness, payloads, moduleErrors) {
43
+ constructor(boundwitness, payloads = [], moduleErrors) {
46
44
  super(boundwitness);
47
- this._payloads = payloads ? (0, import_lodash.compact)(payloads.filter(import_exists.exists).map((payload) => import_payload_wrapper.PayloadWrapper.wrap(payload))) : [];
48
- this._moduleErrors = moduleErrors ? (0, import_lodash.compact)(moduleErrors.filter(import_exists.exists).map((error) => import_payload_wrapper.PayloadWrapper.wrap(error))) : [];
45
+ this.boundwitness = boundwitness;
46
+ this.payloads = payloads;
47
+ this.moduleErrors = moduleErrors;
49
48
  }
50
49
  get addresses() {
51
50
  return this.boundwitness.addresses;
52
51
  }
53
- get boundwitness() {
54
- return this.obj;
55
- }
56
52
  get payloadHashes() {
57
53
  return this.boundwitness.payload_hashes;
58
54
  }
59
55
  get payloadSchemas() {
60
56
  return this.boundwitness.payload_schemas;
61
57
  }
62
- get payloadsArray() {
63
- return Object.values(this._payloads ?? {});
64
- }
65
58
  get previousHashes() {
66
59
  return this.boundwitness.previous_hashes;
67
60
  }
68
61
  static as(value) {
69
- return value instanceof _BoundWitnessWrapper ? value : null;
62
+ return value instanceof _BoundWitnessWrapper ? value : void 0;
70
63
  }
71
64
  static async load(address) {
72
65
  const wrapper = await import_payload_wrapper.PayloadWrapper.load(address);
73
- const payload = wrapper?.payload();
66
+ const payload = wrapper?.jsonPayload();
74
67
  (0, import_assert.assertEx)(payload && (0, import_boundwitness_model.isBoundWitness)(payload), "Attempt to load non-boundwitness");
75
68
  const boundWitness = payload && (0, import_boundwitness_model.isBoundWitness)(payload) ? payload : void 0;
76
- return boundWitness ? _BoundWitnessWrapper.wrap(boundWitness) : null;
77
- }
78
- static async mapPayloads(payloads) {
79
- const result = {};
80
- const payloadPairs = await Promise.all(payloads?.map(async (payload) => {
81
- const unwrapped = (0, import_assert.assertEx)(import_payload_wrapper.PayloadWrapper.unwrap(payload));
82
- return [
83
- unwrapped,
84
- await import_hash.PayloadHasher.hashAsync(unwrapped)
85
- ];
86
- }));
87
- for (const [payload, payloadHash] of payloadPairs) {
88
- result[payloadHash] = payload;
89
- }
90
- return result;
69
+ return boundWitness ? await _BoundWitnessWrapper.wrap(boundWitness) : null;
91
70
  }
92
- static async mapWrappedPayloads(payloads) {
93
- const result = {};
94
- const payloadPairs = await Promise.all(payloads?.map(async (payload) => {
95
- const unwrapped = (0, import_assert.assertEx)(import_payload_wrapper.PayloadWrapper.unwrap(payload));
96
- return [
97
- unwrapped,
98
- await import_hash.PayloadHasher.hashAsync(unwrapped)
99
- ];
100
- }));
101
- for (const [payload, payloadHash] of payloadPairs) {
102
- result[payloadHash] = import_payload_wrapper.PayloadWrapper.wrap(payload);
103
- }
104
- return result;
105
- }
106
- static parse(obj, payloads) {
107
- const hydratedObj = typeof obj === "string" ? JSON.parse(obj) : obj;
71
+ static async parse(obj, payloads) {
72
+ const hydratedObj = await import_payload_builder.PayloadBuilder.build(typeof obj === "string" ? JSON.parse(obj) : obj);
108
73
  (0, import_assert.assertEx)(!Array.isArray(hydratedObj), "Array can not be converted to BoundWitnessWrapper");
109
74
  switch (typeof hydratedObj) {
110
75
  case "object": {
111
- const castWrapper = hydratedObj;
112
- const newWrapper = castWrapper?.isBoundWitnessWrapper ? castWrapper : new _BoundWitnessWrapper(hydratedObj, payloads);
113
- return newWrapper;
76
+ return hydratedObj instanceof _BoundWitnessWrapper ? hydratedObj : new _BoundWitnessWrapper(hydratedObj, payloads ? await Promise.all(payloads?.map((payload) => import_payload_builder.PayloadBuilder.build(payload))) : []);
114
77
  }
115
78
  }
116
79
  throw new Error(`Unable to parse [${typeof obj}]`);
117
80
  }
118
- static tryParse(obj, payloads) {
81
+ static async payloadsDataHashMap(payloads) {
82
+ const unwrapped = await this.unwrap(payloads);
83
+ return await import_payload_builder.PayloadBuilder.toDataHashMap(unwrapped);
84
+ }
85
+ static async payloadsHashMap(payloads) {
86
+ const unwrapped = await this.unwrap(payloads);
87
+ return await import_payload_builder.PayloadBuilder.toHashMap(unwrapped);
88
+ }
89
+ static async tryParse(obj, payloads) {
119
90
  if (obj === void 0)
120
91
  return void 0;
121
92
  try {
122
- return this.parse(obj, payloads);
93
+ return await this.parse(obj, payloads);
123
94
  } catch {
124
95
  return void 0;
125
96
  }
126
97
  }
127
- static wrap(obj, payloads) {
98
+ static async wrap(obj, payloads) {
128
99
  switch (typeof obj) {
129
100
  case "object": {
130
- const newWrapper = new _BoundWitnessWrapper((0, import_assert.assertEx)(_BoundWitnessWrapper.unwrap(obj)), payloads);
131
- return newWrapper;
101
+ if (obj instanceof _BoundWitnessWrapper) {
102
+ return obj;
103
+ } else if (obj instanceof import_payload_wrapper.PayloadWrapper && obj.schema() === import_boundwitness_model.BoundWitnessSchema) {
104
+ return await _BoundWitnessWrapper.parse(obj.jsonPayload(), payloads);
105
+ } else {
106
+ return await _BoundWitnessWrapper.parse(obj, payloads);
107
+ }
132
108
  }
133
109
  }
134
110
  }
135
- static async wrappedMap(boundWitnesses) {
111
+ static async wrappedDataHashMap(boundWitnesses) {
136
112
  const result = {};
137
113
  await Promise.all(boundWitnesses.map(async (payload) => {
138
- result[await _BoundWitnessWrapper.hashAsync(payload)] = _BoundWitnessWrapper.parse(payload);
114
+ const bw = await _BoundWitnessWrapper.parse(payload);
115
+ result[await bw.dataHash()] = bw;
139
116
  }));
140
117
  return result;
141
118
  }
142
- async allPayloadMap() {
143
- this._allPayloadMap = this._allPayloadMap ?? await _BoundWitnessWrapper.mapPayloads(await this.getAllPayloads());
144
- return this._allPayloadMap;
119
+ static async wrappedHashMap(boundWitnesses) {
120
+ const result = {};
121
+ await Promise.all(boundWitnesses.map(async (payload) => {
122
+ result[await _BoundWitnessWrapper.hash(payload)] = await _BoundWitnessWrapper.parse(payload);
123
+ }));
124
+ return result;
145
125
  }
146
126
  async dig(depth) {
147
127
  if (depth === 0)
@@ -149,8 +129,8 @@ var BoundWitnessWrapper = class _BoundWitnessWrapper extends import_payload_wrap
149
129
  const innerBoundwitnessIndex = this.payloadSchemas.indexOf(import_boundwitness_model.BoundWitnessSchema);
150
130
  if (innerBoundwitnessIndex > -1) {
151
131
  const innerBoundwitnessHash = this.payloadHashes[innerBoundwitnessIndex];
152
- const innerBoundwitnessPayload = (await _BoundWitnessWrapper.mapWrappedPayloads(await this.getPayloads()))[innerBoundwitnessHash];
153
- const innerBoundwitness = innerBoundwitnessPayload ? new _BoundWitnessWrapper(innerBoundwitnessPayload.body(), (await import_hash.PayloadHasher.filterExclude(this.payloadsArray, innerBoundwitnessHash)).map((item) => item.body())) : void 0;
132
+ const innerBoundwitnessPayload = (0, import_boundwitness_model.asBoundWitness)((await _BoundWitnessWrapper.payloadsDataHashMap(this.payloads))[innerBoundwitnessHash]);
133
+ const innerBoundwitness = innerBoundwitnessPayload ? new _BoundWitnessWrapper(innerBoundwitnessPayload, await import_hash.PayloadHasher.filterExclude(this.payloads, innerBoundwitnessHash)) : void 0;
154
134
  if (innerBoundwitness) {
155
135
  return innerBoundwitness.dig(depth ? depth - 1 : void 0);
156
136
  }
@@ -158,24 +138,12 @@ var BoundWitnessWrapper = class _BoundWitnessWrapper extends import_payload_wrap
158
138
  (0, import_assert.assertEx)(!depth, `Dig failed [Remaining Depth: ${depth}]`);
159
139
  return this;
160
140
  }
161
- async getAllPayloads() {
162
- return (await this.getAllWrappedPayloads()).map((wrapper) => wrapper.payload());
163
- }
164
- getAllWrappedPayloads() {
165
- return this._payloads;
166
- }
167
141
  async getMissingPayloads() {
168
- const payloadMap = await _BoundWitnessWrapper.mapPayloads(await this.getPayloads());
142
+ const payloadMap = await this.payloadsDataHashMap();
169
143
  return this.payloadHashes.filter((hash) => !payloadMap[hash]);
170
144
  }
171
- async getPayloads() {
172
- return (await this.getWrappedPayloads()).map((wrapper) => wrapper.payload());
173
- }
174
- getWrappedModuleErrors() {
175
- return this._moduleErrors;
176
- }
177
- getWrappedPayloads() {
178
- return this._payloads;
145
+ async getWrappedPayloads() {
146
+ return await Promise.all(this.payloads.map((payload) => import_payload_wrapper.PayloadWrapper.wrap(payload)));
179
147
  }
180
148
  hashesBySchema(schema) {
181
149
  const result = [];
@@ -186,16 +154,24 @@ var BoundWitnessWrapper = class _BoundWitnessWrapper extends import_payload_wrap
186
154
  }
187
155
  return result;
188
156
  }
189
- async payloadMap() {
190
- this._payloadMap = this._payloadMap ?? await _BoundWitnessWrapper.mapPayloads(await this.getPayloads());
191
- return this._payloadMap;
157
+ async payloadsByDataHashes(hashes) {
158
+ const map = await this.payloadsDataHashMap();
159
+ return hashes.map((hash) => (0, import_assert.assertEx)(map[hash], "Hash not found"));
192
160
  }
193
161
  async payloadsByHashes(hashes) {
194
- const map = await this.payloadMap();
162
+ const map = await this.payloadsHashMap();
195
163
  return hashes.map((hash) => (0, import_assert.assertEx)(map[hash], "Hash not found"));
196
164
  }
197
- async payloadsBySchema(schema) {
198
- return (await this.getPayloads()).filter((payload) => payload?.schema === schema);
165
+ payloadsBySchema(schema) {
166
+ return this.payloads.filter((payload) => payload?.schema === schema);
167
+ }
168
+ async payloadsDataHashMap() {
169
+ this._payloadMap = this._payloadMap ?? await _BoundWitnessWrapper.payloadsDataHashMap(this.payloads);
170
+ return this._payloadMap;
171
+ }
172
+ async payloadsHashMap() {
173
+ this._payloadMap = this._payloadMap ?? await _BoundWitnessWrapper.payloadsHashMap(this.payloads);
174
+ return this._payloadMap;
199
175
  }
200
176
  prev(address) {
201
177
  return this.previousHashes[this.addresses.indexOf(address)];
@@ -203,7 +179,7 @@ var BoundWitnessWrapper = class _BoundWitnessWrapper extends import_payload_wrap
203
179
  toResult() {
204
180
  return [
205
181
  this.boundwitness,
206
- this.payloadsArray.map((payload) => payload.body())
182
+ this.payloads
207
183
  ];
208
184
  }
209
185
  async validate() {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts","../../src/BoundWitnessWrapper.ts"],"sourcesContent":["export * from './BoundWitnessWrapper'\n","import { assertEx } from '@xylabs/assert'\nimport { exists } from '@xylabs/exists'\nimport { compact } from '@xylabs/lodash'\nimport { Promisable } from '@xylabs/promise'\nimport { BoundWitness, BoundWitnessSchema, isBoundWitness } from '@xyo-network/boundwitness-model'\nimport { BoundWitnessValidator } from '@xyo-network/boundwitness-validator'\nimport { PayloadHasher } from '@xyo-network/hash'\nimport { Payload } from '@xyo-network/payload-model'\nimport { PayloadWrapper, PayloadWrapperBase } from '@xyo-network/payload-wrapper'\n\nexport class BoundWitnessWrapper<\n TBoundWitness extends BoundWitness<{ schema: string }> = BoundWitness,\n TPayload extends Payload = Payload,\n> extends PayloadWrapperBase<TBoundWitness> {\n private _allPayloadMap: Record<string, TPayload> | undefined\n private _moduleErrors: PayloadWrapper[]\n private _payloadMap: Record<string, TPayload> | undefined\n private _payloads: PayloadWrapper<TPayload>[]\n private isBoundWitnessWrapper = true\n\n protected constructor(boundwitness: TBoundWitness, payloads?: (TPayload | undefined)[], moduleErrors?: (Payload | undefined)[]) {\n super(boundwitness)\n this._payloads = payloads ? compact(payloads.filter(exists).map((payload) => PayloadWrapper.wrap<TPayload>(payload))) : []\n this._moduleErrors = moduleErrors ? compact(moduleErrors.filter(exists).map((error) => PayloadWrapper.wrap<Payload>(error))) : []\n }\n\n get addresses() {\n return this.boundwitness.addresses\n }\n\n get boundwitness() {\n return this.obj\n }\n\n get payloadHashes() {\n return this.boundwitness.payload_hashes\n }\n\n get payloadSchemas() {\n return this.boundwitness.payload_schemas\n }\n\n get payloadsArray(): PayloadWrapper<TPayload>[] {\n return Object.values(this._payloads ?? {})\n }\n\n get previousHashes() {\n return this.boundwitness.previous_hashes\n }\n\n static as<T extends BoundWitness = BoundWitness>(value: unknown) {\n return value instanceof BoundWitnessWrapper ? (value as BoundWitnessWrapper<T>) : null\n }\n\n static async load(address: string) {\n const wrapper = await PayloadWrapper.load(address)\n const payload = wrapper?.payload()\n assertEx(payload && isBoundWitness(payload), 'Attempt to load non-boundwitness')\n\n const boundWitness: BoundWitness | undefined = payload && isBoundWitness(payload) ? payload : undefined\n return boundWitness ? BoundWitnessWrapper.wrap(boundWitness) : null\n }\n\n static async mapPayloads<TPayload extends Payload>(payloads: TPayload[]): Promise<Record<string, TPayload>> {\n const result: Record<string, TPayload> = {}\n const payloadPairs = await Promise.all(\n payloads?.map<Promise<[TPayload, string]>>(async (payload) => {\n const unwrapped = assertEx(PayloadWrapper.unwrap<TPayload>(payload))\n return [unwrapped, await PayloadHasher.hashAsync(unwrapped)]\n }),\n )\n\n for (const [payload, payloadHash] of payloadPairs) {\n result[payloadHash] = payload\n }\n return result\n }\n\n static async mapWrappedPayloads<TPayload extends Payload>(payloads: TPayload[]): Promise<Record<string, PayloadWrapper<TPayload>>> {\n const result: Record<string, PayloadWrapper<TPayload>> = {}\n const payloadPairs = await Promise.all(\n payloads?.map<Promise<[TPayload, string]>>(async (payload) => {\n const unwrapped = assertEx(PayloadWrapper.unwrap<TPayload>(payload))\n return [unwrapped, await PayloadHasher.hashAsync(unwrapped)]\n }),\n )\n\n for (const [payload, payloadHash] of payloadPairs) {\n result[payloadHash] = PayloadWrapper.wrap(payload)\n }\n return result\n }\n\n static parse<T extends BoundWitness, P extends Payload>(obj: unknown, payloads?: P[]): BoundWitnessWrapper<T, P> {\n const hydratedObj = typeof obj === 'string' ? JSON.parse(obj) : obj\n assertEx(!Array.isArray(hydratedObj), 'Array can not be converted to BoundWitnessWrapper')\n switch (typeof hydratedObj) {\n case 'object': {\n const castWrapper = hydratedObj as BoundWitnessWrapper<T, P>\n const newWrapper = castWrapper?.isBoundWitnessWrapper ? castWrapper : new BoundWitnessWrapper(hydratedObj as T, payloads)\n /*if (!newWrapper.getValid()) {\n console.warn('Wrapped invalid BoundWitness')\n }*/\n return newWrapper\n }\n }\n throw new Error(`Unable to parse [${typeof obj}]`)\n }\n\n static tryParse<T extends BoundWitness, P extends Payload>(obj: unknown, payloads?: P[]): BoundWitnessWrapper<T, P> | undefined {\n if (obj === undefined) return undefined\n try {\n return this.parse(obj, payloads)\n } catch {\n return undefined\n }\n }\n\n static wrap<T extends BoundWitness, P extends Payload>(obj: PayloadWrapperBase<T> | T, payloads?: P[]): BoundWitnessWrapper<T, P> {\n switch (typeof obj) {\n case 'object': {\n const newWrapper = new BoundWitnessWrapper<T, P>(assertEx(BoundWitnessWrapper.unwrap<T>(obj)), payloads)\n /*if (!newWrapper.getValid()) {\n console.warn('Wrapped invalid BoundWitness')\n }*/\n return newWrapper\n }\n }\n }\n\n static async wrappedMap<T extends BoundWitness>(boundWitnesses: (T | BoundWitnessWrapper<T>)[]): Promise<Record<string, BoundWitnessWrapper<T>>> {\n const result: Record<string, BoundWitnessWrapper<T>> = {}\n await Promise.all(\n boundWitnesses.map(async (payload) => {\n result[await BoundWitnessWrapper.hashAsync(payload)] = BoundWitnessWrapper.parse(payload)\n }),\n )\n return result\n }\n\n async allPayloadMap(): Promise<Record<string, TPayload>> {\n this._allPayloadMap = this._allPayloadMap ?? (await BoundWitnessWrapper.mapPayloads<TPayload>(await this.getAllPayloads()))\n return this._allPayloadMap\n }\n\n async dig(depth?: number): Promise<BoundWitnessWrapper<TBoundWitness>> {\n if (depth === 0) return this\n\n const innerBoundwitnessIndex: number = this.payloadSchemas.indexOf(BoundWitnessSchema)\n if (innerBoundwitnessIndex > -1) {\n const innerBoundwitnessHash: string = this.payloadHashes[innerBoundwitnessIndex]\n const innerBoundwitnessPayload = (await BoundWitnessWrapper.mapWrappedPayloads(await this.getPayloads()))[innerBoundwitnessHash]\n const innerBoundwitness: BoundWitnessWrapper<TBoundWitness> | undefined = innerBoundwitnessPayload\n ? new BoundWitnessWrapper<TBoundWitness>(\n innerBoundwitnessPayload.body() as unknown as TBoundWitness,\n (await PayloadHasher.filterExclude(this.payloadsArray, innerBoundwitnessHash)).map((item) => item.body() as unknown as TBoundWitness),\n )\n : undefined\n if (innerBoundwitness) {\n return innerBoundwitness.dig(depth ? depth - 1 : undefined)\n }\n }\n assertEx(!depth, `Dig failed [Remaining Depth: ${depth}]`)\n return this\n }\n\n async getAllPayloads(): Promise<TPayload[]> {\n return (await this.getAllWrappedPayloads()).map((wrapper) => wrapper.payload())\n }\n\n getAllWrappedPayloads(): Promisable<PayloadWrapper<TPayload>[]> {\n return this._payloads\n }\n\n async getMissingPayloads() {\n const payloadMap = await BoundWitnessWrapper.mapPayloads(await this.getPayloads())\n return this.payloadHashes.filter((hash) => !payloadMap[hash])\n }\n\n async getPayloads(): Promise<TPayload[]> {\n return (await this.getWrappedPayloads()).map((wrapper) => wrapper.payload())\n }\n\n getWrappedModuleErrors(): Promisable<PayloadWrapper[]> {\n return this._moduleErrors\n }\n\n getWrappedPayloads(): Promisable<PayloadWrapper<TPayload>[]> {\n return this._payloads\n }\n\n hashesBySchema(schema: string) {\n const result: string[] = []\n for (const [index, payloadSchema] of this.payloadSchemas.entries()) {\n if (payloadSchema === schema) {\n result.push(this.payloadHashes[index])\n }\n }\n return result\n }\n\n async payloadMap(): Promise<Record<string, TPayload>> {\n this._payloadMap = this._payloadMap ?? (await BoundWitnessWrapper.mapPayloads<TPayload>(await this.getPayloads()))\n return this._payloadMap\n }\n\n async payloadsByHashes<T extends TPayload>(hashes: string[]): Promise<T[]> {\n const map = await this.payloadMap()\n return hashes.map<T>((hash) => assertEx(map[hash], 'Hash not found') as T)\n }\n\n async payloadsBySchema<T extends TPayload>(schema: string): Promise<T[]> {\n return (await this.getPayloads()).filter((payload) => payload?.schema === schema) as T[]\n }\n\n prev(address: string) {\n return this.previousHashes[this.addresses.indexOf(address)]\n }\n\n toResult() {\n return [this.boundwitness, this.payloadsArray.map((payload) => payload.body())]\n }\n\n override async validate(): Promise<Error[]> {\n return await new BoundWitnessValidator(this.boundwitness).validate()\n }\n}\n"],"mappings":"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","names":["BoundWitnessWrapper","PayloadWrapperBase","_allPayloadMap","_moduleErrors","_payloadMap","_payloads","isBoundWitnessWrapper","boundwitness","payloads","moduleErrors","compact","filter","exists","map","payload","PayloadWrapper","wrap","error","addresses","obj","payloadHashes","payload_hashes","payloadSchemas","payload_schemas","payloadsArray","Object","values","previousHashes","previous_hashes","as","value","load","address","wrapper","assertEx","isBoundWitness","boundWitness","undefined","mapPayloads","result","payloadPairs","Promise","all","unwrapped","unwrap","PayloadHasher","hashAsync","payloadHash","mapWrappedPayloads","parse","hydratedObj","JSON","Array","isArray","castWrapper","newWrapper","Error","tryParse","wrappedMap","boundWitnesses","allPayloadMap","getAllPayloads","dig","depth","innerBoundwitnessIndex","indexOf","BoundWitnessSchema","innerBoundwitnessHash","innerBoundwitnessPayload","getPayloads","innerBoundwitness","body","filterExclude","item","getAllWrappedPayloads","getMissingPayloads","payloadMap","hash","getWrappedPayloads","getWrappedModuleErrors","hashesBySchema","schema","index","payloadSchema","entries","push","payloadsByHashes","hashes","payloadsBySchema","prev","toResult","validate","BoundWitnessValidator"]}
1
+ {"version":3,"sources":["../../src/index.ts","../../src/BoundWitnessWrapper.ts"],"sourcesContent":["export * from './BoundWitnessWrapper'\n","import { assertEx } from '@xylabs/assert'\nimport { Hash } from '@xylabs/hex'\nimport { asBoundWitness, BoundWitness, BoundWitnessSchema, isBoundWitness } from '@xyo-network/boundwitness-model'\nimport { BoundWitnessValidator } from '@xyo-network/boundwitness-validator'\nimport { PayloadHasher } from '@xyo-network/hash'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { Payload, WithMeta } from '@xyo-network/payload-model'\nimport { PayloadWrapper, PayloadWrapperBase } from '@xyo-network/payload-wrapper'\n\nexport class BoundWitnessWrapper<\n TBoundWitness extends BoundWitness<{ schema: string }> = BoundWitness,\n TPayload extends Payload = Payload,\n> extends PayloadWrapperBase<TBoundWitness> {\n private _payloadMap: Record<string, TPayload> | undefined\n\n protected constructor(\n public boundwitness: WithMeta<TBoundWitness>,\n public payloads: WithMeta<TPayload>[] = [],\n public moduleErrors?: WithMeta<Payload>[],\n ) {\n super(boundwitness)\n }\n\n get addresses() {\n return this.boundwitness.addresses\n }\n\n get payloadHashes() {\n return this.boundwitness.payload_hashes\n }\n\n get payloadSchemas() {\n return this.boundwitness.payload_schemas\n }\n\n get previousHashes() {\n return this.boundwitness.previous_hashes\n }\n\n static as<T extends BoundWitness = BoundWitness>(value: unknown) {\n return value instanceof BoundWitnessWrapper ? (value as BoundWitnessWrapper<T>) : undefined\n }\n\n static async load(address: string) {\n const wrapper = await PayloadWrapper.load(address)\n const payload = wrapper?.jsonPayload()\n assertEx(payload && isBoundWitness(payload), 'Attempt to load non-boundwitness')\n\n const boundWitness: BoundWitness | undefined = payload && isBoundWitness(payload) ? payload : undefined\n return boundWitness ? await BoundWitnessWrapper.wrap(boundWitness) : null\n }\n\n static async parse<T extends BoundWitness, P extends Payload>(obj: unknown, payloads?: P[]): Promise<BoundWitnessWrapper<T, P>> {\n const hydratedObj = await PayloadBuilder.build(typeof obj === 'string' ? JSON.parse(obj) : obj)\n assertEx(!Array.isArray(hydratedObj), 'Array can not be converted to BoundWitnessWrapper')\n switch (typeof hydratedObj) {\n case 'object': {\n return hydratedObj instanceof BoundWitnessWrapper\n ? hydratedObj\n : new BoundWitnessWrapper(hydratedObj, payloads ? await Promise.all(payloads?.map((payload) => PayloadBuilder.build(payload))) : [])\n }\n }\n throw new Error(`Unable to parse [${typeof obj}]`)\n }\n\n static async payloadsDataHashMap<TPayload extends Payload>(payloads: TPayload[]): Promise<Record<Hash, WithMeta<TPayload>>> {\n const unwrapped = await this.unwrap(payloads)\n return await PayloadBuilder.toDataHashMap(unwrapped)\n }\n\n static async payloadsHashMap<TPayload extends Payload>(payloads: TPayload[]): Promise<Record<Hash, TPayload>> {\n const unwrapped = await this.unwrap(payloads)\n return await PayloadBuilder.toHashMap(unwrapped)\n }\n\n static async tryParse<T extends BoundWitness, P extends Payload>(obj: unknown, payloads?: P[]): Promise<BoundWitnessWrapper<T, P> | undefined> {\n if (obj === undefined) return undefined\n try {\n return await this.parse(obj, payloads)\n } catch {\n return undefined\n }\n }\n\n static async wrap<T extends BoundWitness, P extends Payload>(obj: PayloadWrapperBase<T> | T, payloads?: P[]): Promise<BoundWitnessWrapper<T, P>> {\n switch (typeof obj) {\n case 'object': {\n if (obj instanceof BoundWitnessWrapper) {\n return obj\n } else if (obj instanceof PayloadWrapper && obj.schema() === BoundWitnessSchema) {\n return await BoundWitnessWrapper.parse(obj.jsonPayload(), payloads)\n } else {\n return await BoundWitnessWrapper.parse(obj, payloads)\n }\n }\n }\n }\n\n static async wrappedDataHashMap<T extends BoundWitness>(\n boundWitnesses: (T | BoundWitnessWrapper<T>)[],\n ): Promise<Record<string, BoundWitnessWrapper<T>>> {\n const result: Record<string, BoundWitnessWrapper<T>> = {}\n await Promise.all(\n boundWitnesses.map(async (payload) => {\n const bw = await BoundWitnessWrapper.parse<T, Payload>(payload)\n result[await bw.dataHash()] = bw\n }),\n )\n return result\n }\n\n static async wrappedHashMap<T extends BoundWitness>(\n boundWitnesses: (T | BoundWitnessWrapper<T>)[],\n ): Promise<Record<string, BoundWitnessWrapper<T>>> {\n const result: Record<string, BoundWitnessWrapper<T>> = {}\n await Promise.all(\n boundWitnesses.map(async (payload) => {\n result[await BoundWitnessWrapper.hash(payload)] = await BoundWitnessWrapper.parse(payload)\n }),\n )\n return result\n }\n\n async dig(depth?: number): Promise<BoundWitnessWrapper<TBoundWitness>> {\n if (depth === 0) return this\n\n const innerBoundwitnessIndex: number = this.payloadSchemas.indexOf(BoundWitnessSchema)\n if (innerBoundwitnessIndex > -1) {\n const innerBoundwitnessHash: Hash = this.payloadHashes[innerBoundwitnessIndex]\n const innerBoundwitnessPayload = asBoundWitness<WithMeta<TBoundWitness>>(\n (await BoundWitnessWrapper.payloadsDataHashMap(this.payloads))[innerBoundwitnessHash],\n )\n const innerBoundwitness: BoundWitnessWrapper<TBoundWitness> | undefined = innerBoundwitnessPayload\n ? new BoundWitnessWrapper<TBoundWitness>(innerBoundwitnessPayload, await PayloadHasher.filterExclude(this.payloads, innerBoundwitnessHash))\n : undefined\n if (innerBoundwitness) {\n return innerBoundwitness.dig(depth ? depth - 1 : undefined)\n }\n }\n assertEx(!depth, `Dig failed [Remaining Depth: ${depth}]`)\n return this\n }\n\n async getMissingPayloads() {\n const payloadMap = await this.payloadsDataHashMap()\n return this.payloadHashes.filter((hash) => !payloadMap[hash])\n }\n\n async getWrappedPayloads(): Promise<PayloadWrapper<TPayload>[]> {\n return await Promise.all(this.payloads.map((payload) => PayloadWrapper.wrap(payload)))\n }\n\n hashesBySchema(schema: string) {\n const result: string[] = []\n for (const [index, payloadSchema] of this.payloadSchemas.entries()) {\n if (payloadSchema === schema) {\n result.push(this.payloadHashes[index])\n }\n }\n return result\n }\n\n async payloadsByDataHashes<T extends TPayload>(hashes: string[]): Promise<T[]> {\n const map = await this.payloadsDataHashMap()\n return hashes.map<T>((hash) => assertEx(map[hash], 'Hash not found') as T)\n }\n\n async payloadsByHashes<T extends TPayload>(hashes: string[]): Promise<T[]> {\n const map = await this.payloadsHashMap()\n return hashes.map<T>((hash) => assertEx(map[hash], 'Hash not found') as T)\n }\n\n payloadsBySchema<T extends TPayload>(schema: string): WithMeta<T>[] {\n return this.payloads.filter((payload) => payload?.schema === schema) as WithMeta<T>[]\n }\n\n async payloadsDataHashMap(): Promise<Record<string, TPayload>> {\n this._payloadMap = this._payloadMap ?? (await BoundWitnessWrapper.payloadsDataHashMap<TPayload>(this.payloads))\n return this._payloadMap\n }\n\n async payloadsHashMap(): Promise<Record<string, TPayload>> {\n this._payloadMap = this._payloadMap ?? (await BoundWitnessWrapper.payloadsHashMap<TPayload>(this.payloads))\n return this._payloadMap\n }\n\n prev(address: string) {\n return this.previousHashes[this.addresses.indexOf(address)]\n }\n\n toResult() {\n return [this.boundwitness, this.payloads]\n }\n\n override async validate(): Promise<Error[]> {\n return await new BoundWitnessValidator(this.boundwitness).validate()\n }\n}\n"],"mappings":"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","names":["BoundWitnessWrapper","PayloadWrapperBase","_payloadMap","boundwitness","payloads","moduleErrors","addresses","payloadHashes","payload_hashes","payloadSchemas","payload_schemas","previousHashes","previous_hashes","as","value","undefined","load","address","wrapper","PayloadWrapper","payload","jsonPayload","assertEx","isBoundWitness","boundWitness","wrap","parse","obj","hydratedObj","PayloadBuilder","build","JSON","Array","isArray","Promise","all","map","Error","payloadsDataHashMap","unwrapped","unwrap","toDataHashMap","payloadsHashMap","toHashMap","tryParse","schema","BoundWitnessSchema","wrappedDataHashMap","boundWitnesses","result","bw","dataHash","wrappedHashMap","hash","dig","depth","innerBoundwitnessIndex","indexOf","innerBoundwitnessHash","innerBoundwitnessPayload","asBoundWitness","innerBoundwitness","PayloadHasher","filterExclude","getMissingPayloads","payloadMap","filter","getWrappedPayloads","hashesBySchema","index","payloadSchema","entries","push","payloadsByDataHashes","hashes","payloadsByHashes","payloadsBySchema","prev","toResult","validate","BoundWitnessValidator"]}