@xyo-network/payload-builder 2.83.6 → 2.84.0
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/browser/Builder.d.cts +4 -3
- package/dist/browser/Builder.d.cts.map +1 -1
- package/dist/browser/Builder.d.mts +4 -3
- package/dist/browser/Builder.d.mts.map +1 -1
- package/dist/browser/Builder.d.ts +4 -3
- package/dist/browser/Builder.d.ts.map +1 -1
- package/dist/browser/index.cjs +15 -6
- package/dist/browser/index.cjs.map +1 -1
- package/dist/browser/index.js +15 -6
- package/dist/browser/index.js.map +1 -1
- package/dist/node/Builder.d.cts +4 -3
- package/dist/node/Builder.d.cts.map +1 -1
- package/dist/node/Builder.d.mts +4 -3
- package/dist/node/Builder.d.mts.map +1 -1
- package/dist/node/Builder.d.ts +4 -3
- package/dist/node/Builder.d.ts.map +1 -1
- package/dist/node/index.js +15 -6
- package/dist/node/index.js.map +1 -1
- package/dist/node/index.mjs +15 -6
- package/dist/node/index.mjs.map +1 -1
- package/package.json +4 -4
- package/src/Builder.ts +16 -6
|
@@ -4,19 +4,20 @@ export interface PayloadBuilderOptions {
|
|
|
4
4
|
schema: string;
|
|
5
5
|
}
|
|
6
6
|
export declare class PayloadBuilder<T extends Payload = Payload<AnyObject>> {
|
|
7
|
+
private _$meta?;
|
|
7
8
|
private _client;
|
|
8
9
|
private _fields;
|
|
9
10
|
private _schema;
|
|
10
11
|
private _timestamp;
|
|
11
12
|
constructor({ schema }: PayloadBuilderOptions);
|
|
12
|
-
get
|
|
13
|
+
get externalMeta(): {
|
|
13
14
|
_client: string;
|
|
14
15
|
_hash: Promise<string>;
|
|
15
16
|
_timestamp: number;
|
|
16
|
-
schema: string;
|
|
17
17
|
};
|
|
18
18
|
get schema(): string;
|
|
19
|
-
|
|
19
|
+
$meta(fields?: AnyObject): this;
|
|
20
|
+
build(withExternalMeta?: boolean): Promise<T>;
|
|
20
21
|
fields(fields?: Partial<T>): this;
|
|
21
22
|
hashableFields(): T;
|
|
22
23
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Builder.d.ts","sourceRoot":"","sources":["../../src/Builder.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEpD,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAA;CACf;AAED,qBAAa,cAAc,CAAC,CAAC,SAAS,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC;IAChE,OAAO,CAAC,OAAO,CAAO;IACtB,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,UAAU,CAAa;gBAEnB,EAAE,MAAM,EAAE,EAAE,qBAAqB;IAI7C,IAAI,
|
|
1
|
+
{"version":3,"file":"Builder.d.ts","sourceRoot":"","sources":["../../src/Builder.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEpD,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAA;CACf;AAED,qBAAa,cAAc,CAAC,CAAC,SAAS,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC;IAChE,OAAO,CAAC,MAAM,CAAC,CAAW;IAC1B,OAAO,CAAC,OAAO,CAAO;IACtB,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,UAAU,CAAa;gBAEnB,EAAE,MAAM,EAAE,EAAE,qBAAqB;IAI7C,IAAI,YAAY;;;;MAGf;IAED,IAAI,MAAM,WAGT;IAED,KAAK,CAAC,MAAM,CAAC,EAAE,SAAS;IAKlB,KAAK,CAAC,gBAAgB,UAAQ;IAapC,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;IAO1B,cAAc;CAMf"}
|
|
@@ -4,19 +4,20 @@ export interface PayloadBuilderOptions {
|
|
|
4
4
|
schema: string;
|
|
5
5
|
}
|
|
6
6
|
export declare class PayloadBuilder<T extends Payload = Payload<AnyObject>> {
|
|
7
|
+
private _$meta?;
|
|
7
8
|
private _client;
|
|
8
9
|
private _fields;
|
|
9
10
|
private _schema;
|
|
10
11
|
private _timestamp;
|
|
11
12
|
constructor({ schema }: PayloadBuilderOptions);
|
|
12
|
-
get
|
|
13
|
+
get externalMeta(): {
|
|
13
14
|
_client: string;
|
|
14
15
|
_hash: Promise<string>;
|
|
15
16
|
_timestamp: number;
|
|
16
|
-
schema: string;
|
|
17
17
|
};
|
|
18
18
|
get schema(): string;
|
|
19
|
-
|
|
19
|
+
$meta(fields?: AnyObject): this;
|
|
20
|
+
build(withExternalMeta?: boolean): Promise<T>;
|
|
20
21
|
fields(fields?: Partial<T>): this;
|
|
21
22
|
hashableFields(): T;
|
|
22
23
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Builder.d.ts","sourceRoot":"","sources":["../../src/Builder.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEpD,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAA;CACf;AAED,qBAAa,cAAc,CAAC,CAAC,SAAS,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC;IAChE,OAAO,CAAC,OAAO,CAAO;IACtB,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,UAAU,CAAa;gBAEnB,EAAE,MAAM,EAAE,EAAE,qBAAqB;IAI7C,IAAI,
|
|
1
|
+
{"version":3,"file":"Builder.d.ts","sourceRoot":"","sources":["../../src/Builder.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEpD,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAA;CACf;AAED,qBAAa,cAAc,CAAC,CAAC,SAAS,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC;IAChE,OAAO,CAAC,MAAM,CAAC,CAAW;IAC1B,OAAO,CAAC,OAAO,CAAO;IACtB,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,UAAU,CAAa;gBAEnB,EAAE,MAAM,EAAE,EAAE,qBAAqB;IAI7C,IAAI,YAAY;;;;MAGf;IAED,IAAI,MAAM,WAGT;IAED,KAAK,CAAC,MAAM,CAAC,EAAE,SAAS;IAKlB,KAAK,CAAC,gBAAgB,UAAQ;IAapC,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;IAO1B,cAAc;CAMf"}
|
|
@@ -4,19 +4,20 @@ export interface PayloadBuilderOptions {
|
|
|
4
4
|
schema: string;
|
|
5
5
|
}
|
|
6
6
|
export declare class PayloadBuilder<T extends Payload = Payload<AnyObject>> {
|
|
7
|
+
private _$meta?;
|
|
7
8
|
private _client;
|
|
8
9
|
private _fields;
|
|
9
10
|
private _schema;
|
|
10
11
|
private _timestamp;
|
|
11
12
|
constructor({ schema }: PayloadBuilderOptions);
|
|
12
|
-
get
|
|
13
|
+
get externalMeta(): {
|
|
13
14
|
_client: string;
|
|
14
15
|
_hash: Promise<string>;
|
|
15
16
|
_timestamp: number;
|
|
16
|
-
schema: string;
|
|
17
17
|
};
|
|
18
18
|
get schema(): string;
|
|
19
|
-
|
|
19
|
+
$meta(fields?: AnyObject): this;
|
|
20
|
+
build(withExternalMeta?: boolean): Promise<T>;
|
|
20
21
|
fields(fields?: Partial<T>): this;
|
|
21
22
|
hashableFields(): T;
|
|
22
23
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Builder.d.ts","sourceRoot":"","sources":["../../src/Builder.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEpD,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAA;CACf;AAED,qBAAa,cAAc,CAAC,CAAC,SAAS,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC;IAChE,OAAO,CAAC,OAAO,CAAO;IACtB,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,UAAU,CAAa;gBAEnB,EAAE,MAAM,EAAE,EAAE,qBAAqB;IAI7C,IAAI,
|
|
1
|
+
{"version":3,"file":"Builder.d.ts","sourceRoot":"","sources":["../../src/Builder.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEpD,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAA;CACf;AAED,qBAAa,cAAc,CAAC,CAAC,SAAS,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC;IAChE,OAAO,CAAC,MAAM,CAAC,CAAW;IAC1B,OAAO,CAAC,OAAO,CAAO;IACtB,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,UAAU,CAAa;gBAEnB,EAAE,MAAM,EAAE,EAAE,qBAAqB;IAI7C,IAAI,YAAY;;;;MAGf;IAED,IAAI,MAAM,WAGT;IAED,KAAK,CAAC,MAAM,CAAC,EAAE,SAAS;IAKlB,KAAK,CAAC,gBAAgB,UAAQ;IAapC,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;IAO1B,cAAc;CAMf"}
|
package/dist/browser/index.cjs
CHANGED
|
@@ -28,6 +28,7 @@ module.exports = __toCommonJS(src_exports);
|
|
|
28
28
|
var import_assert = require("@xylabs/assert");
|
|
29
29
|
var import_hash = require("@xyo-network/hash");
|
|
30
30
|
var PayloadBuilder = class {
|
|
31
|
+
_$meta;
|
|
31
32
|
_client = "js";
|
|
32
33
|
_fields = {};
|
|
33
34
|
_schema;
|
|
@@ -35,18 +36,26 @@ var PayloadBuilder = class {
|
|
|
35
36
|
constructor({ schema }) {
|
|
36
37
|
this._schema = schema;
|
|
37
38
|
}
|
|
38
|
-
get
|
|
39
|
+
get externalMeta() {
|
|
39
40
|
const _hash = import_hash.PayloadHasher.hashAsync(this.hashableFields);
|
|
40
|
-
return { _client: this._client, _hash, _timestamp: this._timestamp
|
|
41
|
+
return { _client: this._client, _hash, _timestamp: this._timestamp };
|
|
41
42
|
}
|
|
42
43
|
get schema() {
|
|
43
44
|
this._schema = this._schema ?? this._fields["schema"];
|
|
44
45
|
return this._schema;
|
|
45
46
|
}
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
47
|
+
$meta(fields) {
|
|
48
|
+
this._$meta = fields;
|
|
49
|
+
return this;
|
|
50
|
+
}
|
|
51
|
+
async build(withExternalMeta = false) {
|
|
52
|
+
let hashableFields = this.hashableFields();
|
|
53
|
+
if (this._$meta) {
|
|
54
|
+
const $hash = await import_hash.PayloadHasher.hashAsync(hashableFields);
|
|
55
|
+
hashableFields = { ...hashableFields, $hash, $meta: this._$meta };
|
|
56
|
+
}
|
|
57
|
+
if (withExternalMeta) {
|
|
58
|
+
return { ...hashableFields, ...this.externalMeta };
|
|
50
59
|
} else {
|
|
51
60
|
return hashableFields;
|
|
52
61
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/index.ts","../../src/Builder.ts"],"sourcesContent":["export * from './Builder'\n","import { assertEx } from '@xylabs/assert'\nimport { deepOmitUnderscoreFields, PayloadHasher, removeEmptyFields } from '@xyo-network/hash'\nimport { AnyObject } from '@xyo-network/object'\nimport { Payload } from '@xyo-network/payload-model'\n\nexport interface PayloadBuilderOptions {\n schema: string\n}\n\nexport class PayloadBuilder<T extends Payload = Payload<AnyObject>> {\n private _client = 'js'\n private _fields: Partial<T> = {}\n private _schema: string\n private _timestamp = Date.now()\n\n constructor({ schema }: PayloadBuilderOptions) {\n this._schema = schema\n }\n\n get
|
|
1
|
+
{"version":3,"sources":["../../src/index.ts","../../src/Builder.ts"],"sourcesContent":["export * from './Builder'\n","import { assertEx } from '@xylabs/assert'\nimport { deepOmitUnderscoreFields, PayloadHasher, removeEmptyFields } from '@xyo-network/hash'\nimport { AnyObject } from '@xyo-network/object'\nimport { Payload } from '@xyo-network/payload-model'\n\nexport interface PayloadBuilderOptions {\n schema: string\n}\n\nexport class PayloadBuilder<T extends Payload = Payload<AnyObject>> {\n private _$meta?: AnyObject\n private _client = 'js'\n private _fields: Partial<T> = {}\n private _schema: string\n private _timestamp = Date.now()\n\n constructor({ schema }: PayloadBuilderOptions) {\n this._schema = schema\n }\n\n get externalMeta() {\n const _hash = PayloadHasher.hashAsync(this.hashableFields)\n return { _client: this._client, _hash, _timestamp: this._timestamp }\n }\n\n get schema() {\n this._schema = this._schema ?? this._fields['schema']\n return this._schema\n }\n\n $meta(fields?: AnyObject) {\n this._$meta = fields\n return this\n }\n\n async build(withExternalMeta = false) {\n let hashableFields = this.hashableFields()\n if (this._$meta) {\n const $hash = await PayloadHasher.hashAsync(hashableFields)\n hashableFields = { ...hashableFields, $hash, $meta: this._$meta }\n }\n if (withExternalMeta) {\n return { ...hashableFields, ...this.externalMeta }\n } else {\n return hashableFields\n }\n }\n\n fields(fields?: Partial<T>) {\n if (fields) {\n this._fields = { ...this._fields, ...removeEmptyFields(fields) }\n }\n return this\n }\n\n hashableFields() {\n return {\n ...removeEmptyFields(deepOmitUnderscoreFields(this._fields)),\n schema: assertEx(this.schema, 'Payload: Missing Schema'),\n } as T\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,oBAAyB;AACzB,kBAA2E;AAQpE,IAAM,iBAAN,MAA6D;AAAA,EAC1D;AAAA,EACA,UAAU;AAAA,EACV,UAAsB,CAAC;AAAA,EACvB;AAAA,EACA,aAAa,KAAK,IAAI;AAAA,EAE9B,YAAY,EAAE,OAAO,GAA0B;AAC7C,SAAK,UAAU;AAAA,EACjB;AAAA,EAEA,IAAI,eAAe;AACjB,UAAM,QAAQ,0BAAc,UAAU,KAAK,cAAc;AACzD,WAAO,EAAE,SAAS,KAAK,SAAS,OAAO,YAAY,KAAK,WAAW;AAAA,EACrE;AAAA,EAEA,IAAI,SAAS;AACX,SAAK,UAAU,KAAK,WAAW,KAAK,QAAQ,QAAQ;AACpD,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,MAAM,QAAoB;AACxB,SAAK,SAAS;AACd,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,MAAM,mBAAmB,OAAO;AACpC,QAAI,iBAAiB,KAAK,eAAe;AACzC,QAAI,KAAK,QAAQ;AACf,YAAM,QAAQ,MAAM,0BAAc,UAAU,cAAc;AAC1D,uBAAiB,EAAE,GAAG,gBAAgB,OAAO,OAAO,KAAK,OAAO;AAAA,IAClE;AACA,QAAI,kBAAkB;AACpB,aAAO,EAAE,GAAG,gBAAgB,GAAG,KAAK,aAAa;AAAA,IACnD,OAAO;AACL,aAAO;AAAA,IACT;AAAA,EACF;AAAA,EAEA,OAAO,QAAqB;AAC1B,QAAI,QAAQ;AACV,WAAK,UAAU,EAAE,GAAG,KAAK,SAAS,OAAG,+BAAkB,MAAM,EAAE;AAAA,IACjE;AACA,WAAO;AAAA,EACT;AAAA,EAEA,iBAAiB;AACf,WAAO;AAAA,MACL,OAAG,mCAAkB,sCAAyB,KAAK,OAAO,CAAC;AAAA,MAC3D,YAAQ,wBAAS,KAAK,QAAQ,yBAAyB;AAAA,IACzD;AAAA,EACF;AACF;","names":[]}
|
package/dist/browser/index.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import { assertEx } from "@xylabs/assert";
|
|
3
3
|
import { deepOmitUnderscoreFields, PayloadHasher, removeEmptyFields } from "@xyo-network/hash";
|
|
4
4
|
var PayloadBuilder = class {
|
|
5
|
+
_$meta;
|
|
5
6
|
_client = "js";
|
|
6
7
|
_fields = {};
|
|
7
8
|
_schema;
|
|
@@ -9,18 +10,26 @@ var PayloadBuilder = class {
|
|
|
9
10
|
constructor({ schema }) {
|
|
10
11
|
this._schema = schema;
|
|
11
12
|
}
|
|
12
|
-
get
|
|
13
|
+
get externalMeta() {
|
|
13
14
|
const _hash = PayloadHasher.hashAsync(this.hashableFields);
|
|
14
|
-
return { _client: this._client, _hash, _timestamp: this._timestamp
|
|
15
|
+
return { _client: this._client, _hash, _timestamp: this._timestamp };
|
|
15
16
|
}
|
|
16
17
|
get schema() {
|
|
17
18
|
this._schema = this._schema ?? this._fields["schema"];
|
|
18
19
|
return this._schema;
|
|
19
20
|
}
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
21
|
+
$meta(fields) {
|
|
22
|
+
this._$meta = fields;
|
|
23
|
+
return this;
|
|
24
|
+
}
|
|
25
|
+
async build(withExternalMeta = false) {
|
|
26
|
+
let hashableFields = this.hashableFields();
|
|
27
|
+
if (this._$meta) {
|
|
28
|
+
const $hash = await PayloadHasher.hashAsync(hashableFields);
|
|
29
|
+
hashableFields = { ...hashableFields, $hash, $meta: this._$meta };
|
|
30
|
+
}
|
|
31
|
+
if (withExternalMeta) {
|
|
32
|
+
return { ...hashableFields, ...this.externalMeta };
|
|
24
33
|
} else {
|
|
25
34
|
return hashableFields;
|
|
26
35
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/Builder.ts"],"sourcesContent":["import { assertEx } from '@xylabs/assert'\nimport { deepOmitUnderscoreFields, PayloadHasher, removeEmptyFields } from '@xyo-network/hash'\nimport { AnyObject } from '@xyo-network/object'\nimport { Payload } from '@xyo-network/payload-model'\n\nexport interface PayloadBuilderOptions {\n schema: string\n}\n\nexport class PayloadBuilder<T extends Payload = Payload<AnyObject>> {\n private _client = 'js'\n private _fields: Partial<T> = {}\n private _schema: string\n private _timestamp = Date.now()\n\n constructor({ schema }: PayloadBuilderOptions) {\n this._schema = schema\n }\n\n get
|
|
1
|
+
{"version":3,"sources":["../../src/Builder.ts"],"sourcesContent":["import { assertEx } from '@xylabs/assert'\nimport { deepOmitUnderscoreFields, PayloadHasher, removeEmptyFields } from '@xyo-network/hash'\nimport { AnyObject } from '@xyo-network/object'\nimport { Payload } from '@xyo-network/payload-model'\n\nexport interface PayloadBuilderOptions {\n schema: string\n}\n\nexport class PayloadBuilder<T extends Payload = Payload<AnyObject>> {\n private _$meta?: AnyObject\n private _client = 'js'\n private _fields: Partial<T> = {}\n private _schema: string\n private _timestamp = Date.now()\n\n constructor({ schema }: PayloadBuilderOptions) {\n this._schema = schema\n }\n\n get externalMeta() {\n const _hash = PayloadHasher.hashAsync(this.hashableFields)\n return { _client: this._client, _hash, _timestamp: this._timestamp }\n }\n\n get schema() {\n this._schema = this._schema ?? this._fields['schema']\n return this._schema\n }\n\n $meta(fields?: AnyObject) {\n this._$meta = fields\n return this\n }\n\n async build(withExternalMeta = false) {\n let hashableFields = this.hashableFields()\n if (this._$meta) {\n const $hash = await PayloadHasher.hashAsync(hashableFields)\n hashableFields = { ...hashableFields, $hash, $meta: this._$meta }\n }\n if (withExternalMeta) {\n return { ...hashableFields, ...this.externalMeta }\n } else {\n return hashableFields\n }\n }\n\n fields(fields?: Partial<T>) {\n if (fields) {\n this._fields = { ...this._fields, ...removeEmptyFields(fields) }\n }\n return this\n }\n\n hashableFields() {\n return {\n ...removeEmptyFields(deepOmitUnderscoreFields(this._fields)),\n schema: assertEx(this.schema, 'Payload: Missing Schema'),\n } as T\n }\n}\n"],"mappings":";AAAA,SAAS,gBAAgB;AACzB,SAAS,0BAA0B,eAAe,yBAAyB;AAQpE,IAAM,iBAAN,MAA6D;AAAA,EAC1D;AAAA,EACA,UAAU;AAAA,EACV,UAAsB,CAAC;AAAA,EACvB;AAAA,EACA,aAAa,KAAK,IAAI;AAAA,EAE9B,YAAY,EAAE,OAAO,GAA0B;AAC7C,SAAK,UAAU;AAAA,EACjB;AAAA,EAEA,IAAI,eAAe;AACjB,UAAM,QAAQ,cAAc,UAAU,KAAK,cAAc;AACzD,WAAO,EAAE,SAAS,KAAK,SAAS,OAAO,YAAY,KAAK,WAAW;AAAA,EACrE;AAAA,EAEA,IAAI,SAAS;AACX,SAAK,UAAU,KAAK,WAAW,KAAK,QAAQ,QAAQ;AACpD,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,MAAM,QAAoB;AACxB,SAAK,SAAS;AACd,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,MAAM,mBAAmB,OAAO;AACpC,QAAI,iBAAiB,KAAK,eAAe;AACzC,QAAI,KAAK,QAAQ;AACf,YAAM,QAAQ,MAAM,cAAc,UAAU,cAAc;AAC1D,uBAAiB,EAAE,GAAG,gBAAgB,OAAO,OAAO,KAAK,OAAO;AAAA,IAClE;AACA,QAAI,kBAAkB;AACpB,aAAO,EAAE,GAAG,gBAAgB,GAAG,KAAK,aAAa;AAAA,IACnD,OAAO;AACL,aAAO;AAAA,IACT;AAAA,EACF;AAAA,EAEA,OAAO,QAAqB;AAC1B,QAAI,QAAQ;AACV,WAAK,UAAU,EAAE,GAAG,KAAK,SAAS,GAAG,kBAAkB,MAAM,EAAE;AAAA,IACjE;AACA,WAAO;AAAA,EACT;AAAA,EAEA,iBAAiB;AACf,WAAO;AAAA,MACL,GAAG,kBAAkB,yBAAyB,KAAK,OAAO,CAAC;AAAA,MAC3D,QAAQ,SAAS,KAAK,QAAQ,yBAAyB;AAAA,IACzD;AAAA,EACF;AACF;","names":[]}
|
package/dist/node/Builder.d.cts
CHANGED
|
@@ -4,19 +4,20 @@ export interface PayloadBuilderOptions {
|
|
|
4
4
|
schema: string;
|
|
5
5
|
}
|
|
6
6
|
export declare class PayloadBuilder<T extends Payload = Payload<AnyObject>> {
|
|
7
|
+
private _$meta?;
|
|
7
8
|
private _client;
|
|
8
9
|
private _fields;
|
|
9
10
|
private _schema;
|
|
10
11
|
private _timestamp;
|
|
11
12
|
constructor({ schema }: PayloadBuilderOptions);
|
|
12
|
-
get
|
|
13
|
+
get externalMeta(): {
|
|
13
14
|
_client: string;
|
|
14
15
|
_hash: Promise<string>;
|
|
15
16
|
_timestamp: number;
|
|
16
|
-
schema: string;
|
|
17
17
|
};
|
|
18
18
|
get schema(): string;
|
|
19
|
-
|
|
19
|
+
$meta(fields?: AnyObject): this;
|
|
20
|
+
build(withExternalMeta?: boolean): Promise<T>;
|
|
20
21
|
fields(fields?: Partial<T>): this;
|
|
21
22
|
hashableFields(): T;
|
|
22
23
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Builder.d.ts","sourceRoot":"","sources":["../../src/Builder.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEpD,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAA;CACf;AAED,qBAAa,cAAc,CAAC,CAAC,SAAS,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC;IAChE,OAAO,CAAC,OAAO,CAAO;IACtB,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,UAAU,CAAa;gBAEnB,EAAE,MAAM,EAAE,EAAE,qBAAqB;IAI7C,IAAI,
|
|
1
|
+
{"version":3,"file":"Builder.d.ts","sourceRoot":"","sources":["../../src/Builder.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEpD,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAA;CACf;AAED,qBAAa,cAAc,CAAC,CAAC,SAAS,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC;IAChE,OAAO,CAAC,MAAM,CAAC,CAAW;IAC1B,OAAO,CAAC,OAAO,CAAO;IACtB,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,UAAU,CAAa;gBAEnB,EAAE,MAAM,EAAE,EAAE,qBAAqB;IAI7C,IAAI,YAAY;;;;MAGf;IAED,IAAI,MAAM,WAGT;IAED,KAAK,CAAC,MAAM,CAAC,EAAE,SAAS;IAKlB,KAAK,CAAC,gBAAgB,UAAQ;IAapC,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;IAO1B,cAAc;CAMf"}
|
package/dist/node/Builder.d.mts
CHANGED
|
@@ -4,19 +4,20 @@ export interface PayloadBuilderOptions {
|
|
|
4
4
|
schema: string;
|
|
5
5
|
}
|
|
6
6
|
export declare class PayloadBuilder<T extends Payload = Payload<AnyObject>> {
|
|
7
|
+
private _$meta?;
|
|
7
8
|
private _client;
|
|
8
9
|
private _fields;
|
|
9
10
|
private _schema;
|
|
10
11
|
private _timestamp;
|
|
11
12
|
constructor({ schema }: PayloadBuilderOptions);
|
|
12
|
-
get
|
|
13
|
+
get externalMeta(): {
|
|
13
14
|
_client: string;
|
|
14
15
|
_hash: Promise<string>;
|
|
15
16
|
_timestamp: number;
|
|
16
|
-
schema: string;
|
|
17
17
|
};
|
|
18
18
|
get schema(): string;
|
|
19
|
-
|
|
19
|
+
$meta(fields?: AnyObject): this;
|
|
20
|
+
build(withExternalMeta?: boolean): Promise<T>;
|
|
20
21
|
fields(fields?: Partial<T>): this;
|
|
21
22
|
hashableFields(): T;
|
|
22
23
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Builder.d.ts","sourceRoot":"","sources":["../../src/Builder.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEpD,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAA;CACf;AAED,qBAAa,cAAc,CAAC,CAAC,SAAS,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC;IAChE,OAAO,CAAC,OAAO,CAAO;IACtB,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,UAAU,CAAa;gBAEnB,EAAE,MAAM,EAAE,EAAE,qBAAqB;IAI7C,IAAI,
|
|
1
|
+
{"version":3,"file":"Builder.d.ts","sourceRoot":"","sources":["../../src/Builder.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEpD,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAA;CACf;AAED,qBAAa,cAAc,CAAC,CAAC,SAAS,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC;IAChE,OAAO,CAAC,MAAM,CAAC,CAAW;IAC1B,OAAO,CAAC,OAAO,CAAO;IACtB,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,UAAU,CAAa;gBAEnB,EAAE,MAAM,EAAE,EAAE,qBAAqB;IAI7C,IAAI,YAAY;;;;MAGf;IAED,IAAI,MAAM,WAGT;IAED,KAAK,CAAC,MAAM,CAAC,EAAE,SAAS;IAKlB,KAAK,CAAC,gBAAgB,UAAQ;IAapC,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;IAO1B,cAAc;CAMf"}
|
package/dist/node/Builder.d.ts
CHANGED
|
@@ -4,19 +4,20 @@ export interface PayloadBuilderOptions {
|
|
|
4
4
|
schema: string;
|
|
5
5
|
}
|
|
6
6
|
export declare class PayloadBuilder<T extends Payload = Payload<AnyObject>> {
|
|
7
|
+
private _$meta?;
|
|
7
8
|
private _client;
|
|
8
9
|
private _fields;
|
|
9
10
|
private _schema;
|
|
10
11
|
private _timestamp;
|
|
11
12
|
constructor({ schema }: PayloadBuilderOptions);
|
|
12
|
-
get
|
|
13
|
+
get externalMeta(): {
|
|
13
14
|
_client: string;
|
|
14
15
|
_hash: Promise<string>;
|
|
15
16
|
_timestamp: number;
|
|
16
|
-
schema: string;
|
|
17
17
|
};
|
|
18
18
|
get schema(): string;
|
|
19
|
-
|
|
19
|
+
$meta(fields?: AnyObject): this;
|
|
20
|
+
build(withExternalMeta?: boolean): Promise<T>;
|
|
20
21
|
fields(fields?: Partial<T>): this;
|
|
21
22
|
hashableFields(): T;
|
|
22
23
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Builder.d.ts","sourceRoot":"","sources":["../../src/Builder.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEpD,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAA;CACf;AAED,qBAAa,cAAc,CAAC,CAAC,SAAS,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC;IAChE,OAAO,CAAC,OAAO,CAAO;IACtB,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,UAAU,CAAa;gBAEnB,EAAE,MAAM,EAAE,EAAE,qBAAqB;IAI7C,IAAI,
|
|
1
|
+
{"version":3,"file":"Builder.d.ts","sourceRoot":"","sources":["../../src/Builder.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEpD,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAA;CACf;AAED,qBAAa,cAAc,CAAC,CAAC,SAAS,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC;IAChE,OAAO,CAAC,MAAM,CAAC,CAAW;IAC1B,OAAO,CAAC,OAAO,CAAO;IACtB,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,UAAU,CAAa;gBAEnB,EAAE,MAAM,EAAE,EAAE,qBAAqB;IAI7C,IAAI,YAAY;;;;MAGf;IAED,IAAI,MAAM,WAGT;IAED,KAAK,CAAC,MAAM,CAAC,EAAE,SAAS;IAKlB,KAAK,CAAC,gBAAgB,UAAQ;IAapC,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;IAO1B,cAAc;CAMf"}
|
package/dist/node/index.js
CHANGED
|
@@ -28,6 +28,7 @@ module.exports = __toCommonJS(src_exports);
|
|
|
28
28
|
var import_assert = require("@xylabs/assert");
|
|
29
29
|
var import_hash = require("@xyo-network/hash");
|
|
30
30
|
var PayloadBuilder = class {
|
|
31
|
+
_$meta;
|
|
31
32
|
_client = "js";
|
|
32
33
|
_fields = {};
|
|
33
34
|
_schema;
|
|
@@ -35,18 +36,26 @@ var PayloadBuilder = class {
|
|
|
35
36
|
constructor({ schema }) {
|
|
36
37
|
this._schema = schema;
|
|
37
38
|
}
|
|
38
|
-
get
|
|
39
|
+
get externalMeta() {
|
|
39
40
|
const _hash = import_hash.PayloadHasher.hashAsync(this.hashableFields);
|
|
40
|
-
return { _client: this._client, _hash, _timestamp: this._timestamp
|
|
41
|
+
return { _client: this._client, _hash, _timestamp: this._timestamp };
|
|
41
42
|
}
|
|
42
43
|
get schema() {
|
|
43
44
|
this._schema = this._schema ?? this._fields["schema"];
|
|
44
45
|
return this._schema;
|
|
45
46
|
}
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
47
|
+
$meta(fields) {
|
|
48
|
+
this._$meta = fields;
|
|
49
|
+
return this;
|
|
50
|
+
}
|
|
51
|
+
async build(withExternalMeta = false) {
|
|
52
|
+
let hashableFields = this.hashableFields();
|
|
53
|
+
if (this._$meta) {
|
|
54
|
+
const $hash = await import_hash.PayloadHasher.hashAsync(hashableFields);
|
|
55
|
+
hashableFields = { ...hashableFields, $hash, $meta: this._$meta };
|
|
56
|
+
}
|
|
57
|
+
if (withExternalMeta) {
|
|
58
|
+
return { ...hashableFields, ...this.externalMeta };
|
|
50
59
|
} else {
|
|
51
60
|
return hashableFields;
|
|
52
61
|
}
|
package/dist/node/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/index.ts","../../src/Builder.ts"],"sourcesContent":["export * from './Builder'\n","import { assertEx } from '@xylabs/assert'\nimport { deepOmitUnderscoreFields, PayloadHasher, removeEmptyFields } from '@xyo-network/hash'\nimport { AnyObject } from '@xyo-network/object'\nimport { Payload } from '@xyo-network/payload-model'\n\nexport interface PayloadBuilderOptions {\n schema: string\n}\n\nexport class PayloadBuilder<T extends Payload = Payload<AnyObject>> {\n private _client = 'js'\n private _fields: Partial<T> = {}\n private _schema: string\n private _timestamp = Date.now()\n\n constructor({ schema }: PayloadBuilderOptions) {\n this._schema = schema\n }\n\n get
|
|
1
|
+
{"version":3,"sources":["../../src/index.ts","../../src/Builder.ts"],"sourcesContent":["export * from './Builder'\n","import { assertEx } from '@xylabs/assert'\nimport { deepOmitUnderscoreFields, PayloadHasher, removeEmptyFields } from '@xyo-network/hash'\nimport { AnyObject } from '@xyo-network/object'\nimport { Payload } from '@xyo-network/payload-model'\n\nexport interface PayloadBuilderOptions {\n schema: string\n}\n\nexport class PayloadBuilder<T extends Payload = Payload<AnyObject>> {\n private _$meta?: AnyObject\n private _client = 'js'\n private _fields: Partial<T> = {}\n private _schema: string\n private _timestamp = Date.now()\n\n constructor({ schema }: PayloadBuilderOptions) {\n this._schema = schema\n }\n\n get externalMeta() {\n const _hash = PayloadHasher.hashAsync(this.hashableFields)\n return { _client: this._client, _hash, _timestamp: this._timestamp }\n }\n\n get schema() {\n this._schema = this._schema ?? this._fields['schema']\n return this._schema\n }\n\n $meta(fields?: AnyObject) {\n this._$meta = fields\n return this\n }\n\n async build(withExternalMeta = false) {\n let hashableFields = this.hashableFields()\n if (this._$meta) {\n const $hash = await PayloadHasher.hashAsync(hashableFields)\n hashableFields = { ...hashableFields, $hash, $meta: this._$meta }\n }\n if (withExternalMeta) {\n return { ...hashableFields, ...this.externalMeta }\n } else {\n return hashableFields\n }\n }\n\n fields(fields?: Partial<T>) {\n if (fields) {\n this._fields = { ...this._fields, ...removeEmptyFields(fields) }\n }\n return this\n }\n\n hashableFields() {\n return {\n ...removeEmptyFields(deepOmitUnderscoreFields(this._fields)),\n schema: assertEx(this.schema, 'Payload: Missing Schema'),\n } as T\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,oBAAyB;AACzB,kBAA2E;AAQpE,IAAM,iBAAN,MAA6D;AAAA,EAC1D;AAAA,EACA,UAAU;AAAA,EACV,UAAsB,CAAC;AAAA,EACvB;AAAA,EACA,aAAa,KAAK,IAAI;AAAA,EAE9B,YAAY,EAAE,OAAO,GAA0B;AAC7C,SAAK,UAAU;AAAA,EACjB;AAAA,EAEA,IAAI,eAAe;AACjB,UAAM,QAAQ,0BAAc,UAAU,KAAK,cAAc;AACzD,WAAO,EAAE,SAAS,KAAK,SAAS,OAAO,YAAY,KAAK,WAAW;AAAA,EACrE;AAAA,EAEA,IAAI,SAAS;AACX,SAAK,UAAU,KAAK,WAAW,KAAK,QAAQ,QAAQ;AACpD,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,MAAM,QAAoB;AACxB,SAAK,SAAS;AACd,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,MAAM,mBAAmB,OAAO;AACpC,QAAI,iBAAiB,KAAK,eAAe;AACzC,QAAI,KAAK,QAAQ;AACf,YAAM,QAAQ,MAAM,0BAAc,UAAU,cAAc;AAC1D,uBAAiB,EAAE,GAAG,gBAAgB,OAAO,OAAO,KAAK,OAAO;AAAA,IAClE;AACA,QAAI,kBAAkB;AACpB,aAAO,EAAE,GAAG,gBAAgB,GAAG,KAAK,aAAa;AAAA,IACnD,OAAO;AACL,aAAO;AAAA,IACT;AAAA,EACF;AAAA,EAEA,OAAO,QAAqB;AAC1B,QAAI,QAAQ;AACV,WAAK,UAAU,EAAE,GAAG,KAAK,SAAS,OAAG,+BAAkB,MAAM,EAAE;AAAA,IACjE;AACA,WAAO;AAAA,EACT;AAAA,EAEA,iBAAiB;AACf,WAAO;AAAA,MACL,OAAG,mCAAkB,sCAAyB,KAAK,OAAO,CAAC;AAAA,MAC3D,YAAQ,wBAAS,KAAK,QAAQ,yBAAyB;AAAA,IACzD;AAAA,EACF;AACF;","names":[]}
|
package/dist/node/index.mjs
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import { assertEx } from "@xylabs/assert";
|
|
3
3
|
import { deepOmitUnderscoreFields, PayloadHasher, removeEmptyFields } from "@xyo-network/hash";
|
|
4
4
|
var PayloadBuilder = class {
|
|
5
|
+
_$meta;
|
|
5
6
|
_client = "js";
|
|
6
7
|
_fields = {};
|
|
7
8
|
_schema;
|
|
@@ -9,18 +10,26 @@ var PayloadBuilder = class {
|
|
|
9
10
|
constructor({ schema }) {
|
|
10
11
|
this._schema = schema;
|
|
11
12
|
}
|
|
12
|
-
get
|
|
13
|
+
get externalMeta() {
|
|
13
14
|
const _hash = PayloadHasher.hashAsync(this.hashableFields);
|
|
14
|
-
return { _client: this._client, _hash, _timestamp: this._timestamp
|
|
15
|
+
return { _client: this._client, _hash, _timestamp: this._timestamp };
|
|
15
16
|
}
|
|
16
17
|
get schema() {
|
|
17
18
|
this._schema = this._schema ?? this._fields["schema"];
|
|
18
19
|
return this._schema;
|
|
19
20
|
}
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
21
|
+
$meta(fields) {
|
|
22
|
+
this._$meta = fields;
|
|
23
|
+
return this;
|
|
24
|
+
}
|
|
25
|
+
async build(withExternalMeta = false) {
|
|
26
|
+
let hashableFields = this.hashableFields();
|
|
27
|
+
if (this._$meta) {
|
|
28
|
+
const $hash = await PayloadHasher.hashAsync(hashableFields);
|
|
29
|
+
hashableFields = { ...hashableFields, $hash, $meta: this._$meta };
|
|
30
|
+
}
|
|
31
|
+
if (withExternalMeta) {
|
|
32
|
+
return { ...hashableFields, ...this.externalMeta };
|
|
24
33
|
} else {
|
|
25
34
|
return hashableFields;
|
|
26
35
|
}
|
package/dist/node/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/Builder.ts"],"sourcesContent":["import { assertEx } from '@xylabs/assert'\nimport { deepOmitUnderscoreFields, PayloadHasher, removeEmptyFields } from '@xyo-network/hash'\nimport { AnyObject } from '@xyo-network/object'\nimport { Payload } from '@xyo-network/payload-model'\n\nexport interface PayloadBuilderOptions {\n schema: string\n}\n\nexport class PayloadBuilder<T extends Payload = Payload<AnyObject>> {\n private _client = 'js'\n private _fields: Partial<T> = {}\n private _schema: string\n private _timestamp = Date.now()\n\n constructor({ schema }: PayloadBuilderOptions) {\n this._schema = schema\n }\n\n get
|
|
1
|
+
{"version":3,"sources":["../../src/Builder.ts"],"sourcesContent":["import { assertEx } from '@xylabs/assert'\nimport { deepOmitUnderscoreFields, PayloadHasher, removeEmptyFields } from '@xyo-network/hash'\nimport { AnyObject } from '@xyo-network/object'\nimport { Payload } from '@xyo-network/payload-model'\n\nexport interface PayloadBuilderOptions {\n schema: string\n}\n\nexport class PayloadBuilder<T extends Payload = Payload<AnyObject>> {\n private _$meta?: AnyObject\n private _client = 'js'\n private _fields: Partial<T> = {}\n private _schema: string\n private _timestamp = Date.now()\n\n constructor({ schema }: PayloadBuilderOptions) {\n this._schema = schema\n }\n\n get externalMeta() {\n const _hash = PayloadHasher.hashAsync(this.hashableFields)\n return { _client: this._client, _hash, _timestamp: this._timestamp }\n }\n\n get schema() {\n this._schema = this._schema ?? this._fields['schema']\n return this._schema\n }\n\n $meta(fields?: AnyObject) {\n this._$meta = fields\n return this\n }\n\n async build(withExternalMeta = false) {\n let hashableFields = this.hashableFields()\n if (this._$meta) {\n const $hash = await PayloadHasher.hashAsync(hashableFields)\n hashableFields = { ...hashableFields, $hash, $meta: this._$meta }\n }\n if (withExternalMeta) {\n return { ...hashableFields, ...this.externalMeta }\n } else {\n return hashableFields\n }\n }\n\n fields(fields?: Partial<T>) {\n if (fields) {\n this._fields = { ...this._fields, ...removeEmptyFields(fields) }\n }\n return this\n }\n\n hashableFields() {\n return {\n ...removeEmptyFields(deepOmitUnderscoreFields(this._fields)),\n schema: assertEx(this.schema, 'Payload: Missing Schema'),\n } as T\n }\n}\n"],"mappings":";AAAA,SAAS,gBAAgB;AACzB,SAAS,0BAA0B,eAAe,yBAAyB;AAQpE,IAAM,iBAAN,MAA6D;AAAA,EAC1D;AAAA,EACA,UAAU;AAAA,EACV,UAAsB,CAAC;AAAA,EACvB;AAAA,EACA,aAAa,KAAK,IAAI;AAAA,EAE9B,YAAY,EAAE,OAAO,GAA0B;AAC7C,SAAK,UAAU;AAAA,EACjB;AAAA,EAEA,IAAI,eAAe;AACjB,UAAM,QAAQ,cAAc,UAAU,KAAK,cAAc;AACzD,WAAO,EAAE,SAAS,KAAK,SAAS,OAAO,YAAY,KAAK,WAAW;AAAA,EACrE;AAAA,EAEA,IAAI,SAAS;AACX,SAAK,UAAU,KAAK,WAAW,KAAK,QAAQ,QAAQ;AACpD,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,MAAM,QAAoB;AACxB,SAAK,SAAS;AACd,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,MAAM,mBAAmB,OAAO;AACpC,QAAI,iBAAiB,KAAK,eAAe;AACzC,QAAI,KAAK,QAAQ;AACf,YAAM,QAAQ,MAAM,cAAc,UAAU,cAAc;AAC1D,uBAAiB,EAAE,GAAG,gBAAgB,OAAO,OAAO,KAAK,OAAO;AAAA,IAClE;AACA,QAAI,kBAAkB;AACpB,aAAO,EAAE,GAAG,gBAAgB,GAAG,KAAK,aAAa;AAAA,IACnD,OAAO;AACL,aAAO;AAAA,IACT;AAAA,EACF;AAAA,EAEA,OAAO,QAAqB;AAC1B,QAAI,QAAQ;AACV,WAAK,UAAU,EAAE,GAAG,KAAK,SAAS,GAAG,kBAAkB,MAAM,EAAE;AAAA,IACjE;AACA,WAAO;AAAA,EACT;AAAA,EAEA,iBAAiB;AACf,WAAO;AAAA,MACL,GAAG,kBAAkB,yBAAyB,KAAK,OAAO,CAAC;AAAA,MAC3D,QAAQ,SAAS,KAAK,QAAQ,yBAAyB;AAAA,IACzD;AAAA,EACF;AACF;","names":[]}
|
package/package.json
CHANGED
|
@@ -11,9 +11,9 @@
|
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"@xylabs/assert": "^2.13.20",
|
|
14
|
-
"@xyo-network/hash": "~2.
|
|
15
|
-
"@xyo-network/object": "~2.
|
|
16
|
-
"@xyo-network/payload-model": "~2.
|
|
14
|
+
"@xyo-network/hash": "~2.84.0",
|
|
15
|
+
"@xyo-network/object": "~2.84.0",
|
|
16
|
+
"@xyo-network/payload-model": "~2.84.0"
|
|
17
17
|
},
|
|
18
18
|
"devDependencies": {
|
|
19
19
|
"@xylabs/ts-scripts-yarn3": "^3.2.10",
|
|
@@ -60,5 +60,5 @@
|
|
|
60
60
|
},
|
|
61
61
|
"sideEffects": false,
|
|
62
62
|
"types": "dist/node/index.d.ts",
|
|
63
|
-
"version": "2.
|
|
63
|
+
"version": "2.84.0"
|
|
64
64
|
}
|
package/src/Builder.ts
CHANGED
|
@@ -8,6 +8,7 @@ export interface PayloadBuilderOptions {
|
|
|
8
8
|
}
|
|
9
9
|
|
|
10
10
|
export class PayloadBuilder<T extends Payload = Payload<AnyObject>> {
|
|
11
|
+
private _$meta?: AnyObject
|
|
11
12
|
private _client = 'js'
|
|
12
13
|
private _fields: Partial<T> = {}
|
|
13
14
|
private _schema: string
|
|
@@ -17,9 +18,9 @@ export class PayloadBuilder<T extends Payload = Payload<AnyObject>> {
|
|
|
17
18
|
this._schema = schema
|
|
18
19
|
}
|
|
19
20
|
|
|
20
|
-
get
|
|
21
|
+
get externalMeta() {
|
|
21
22
|
const _hash = PayloadHasher.hashAsync(this.hashableFields)
|
|
22
|
-
return { _client: this._client, _hash, _timestamp: this._timestamp
|
|
23
|
+
return { _client: this._client, _hash, _timestamp: this._timestamp }
|
|
23
24
|
}
|
|
24
25
|
|
|
25
26
|
get schema() {
|
|
@@ -27,10 +28,19 @@ export class PayloadBuilder<T extends Payload = Payload<AnyObject>> {
|
|
|
27
28
|
return this._schema
|
|
28
29
|
}
|
|
29
30
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
31
|
+
$meta(fields?: AnyObject) {
|
|
32
|
+
this._$meta = fields
|
|
33
|
+
return this
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
async build(withExternalMeta = false) {
|
|
37
|
+
let hashableFields = this.hashableFields()
|
|
38
|
+
if (this._$meta) {
|
|
39
|
+
const $hash = await PayloadHasher.hashAsync(hashableFields)
|
|
40
|
+
hashableFields = { ...hashableFields, $hash, $meta: this._$meta }
|
|
41
|
+
}
|
|
42
|
+
if (withExternalMeta) {
|
|
43
|
+
return { ...hashableFields, ...this.externalMeta }
|
|
34
44
|
} else {
|
|
35
45
|
return hashableFields
|
|
36
46
|
}
|