@xyo-network/api-call-witness 2.94.3 → 2.94.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/dist/browser/Config.d.cts +6 -6
  2. package/dist/browser/Config.d.mts +6 -6
  3. package/dist/browser/Config.d.ts +6 -6
  4. package/dist/browser/Payload.d.cts +10 -10
  5. package/dist/browser/Payload.d.mts +10 -10
  6. package/dist/browser/Payload.d.ts +10 -10
  7. package/dist/neutral/Config.d.cts +167 -0
  8. package/dist/neutral/Config.d.cts.map +1 -0
  9. package/dist/neutral/Config.d.mts +167 -0
  10. package/dist/neutral/Config.d.mts.map +1 -0
  11. package/dist/neutral/Config.d.ts +167 -0
  12. package/dist/neutral/Config.d.ts.map +1 -0
  13. package/dist/neutral/Payload.d.cts +127 -0
  14. package/dist/neutral/Payload.d.cts.map +1 -0
  15. package/dist/neutral/Payload.d.mts +127 -0
  16. package/dist/neutral/Payload.d.mts.map +1 -0
  17. package/dist/neutral/Payload.d.ts +127 -0
  18. package/dist/neutral/Payload.d.ts.map +1 -0
  19. package/dist/neutral/Witness.d.cts +20 -0
  20. package/dist/neutral/Witness.d.cts.map +1 -0
  21. package/dist/neutral/Witness.d.mts +20 -0
  22. package/dist/neutral/Witness.d.mts.map +1 -0
  23. package/dist/neutral/Witness.d.ts +20 -0
  24. package/dist/neutral/Witness.d.ts.map +1 -0
  25. package/dist/neutral/index.cjs +250 -0
  26. package/dist/neutral/index.cjs.map +1 -0
  27. package/dist/neutral/index.d.cts +4 -0
  28. package/dist/neutral/index.d.cts.map +1 -0
  29. package/dist/neutral/index.d.mts +4 -0
  30. package/dist/neutral/index.d.mts.map +1 -0
  31. package/dist/neutral/index.d.ts +4 -0
  32. package/dist/neutral/index.d.ts.map +1 -0
  33. package/dist/neutral/index.js +217 -0
  34. package/dist/neutral/index.js.map +1 -0
  35. package/dist/neutral/lib/checkIpfsUrl.d.cts +8 -0
  36. package/dist/neutral/lib/checkIpfsUrl.d.cts.map +1 -0
  37. package/dist/neutral/lib/checkIpfsUrl.d.mts +8 -0
  38. package/dist/neutral/lib/checkIpfsUrl.d.mts.map +1 -0
  39. package/dist/neutral/lib/checkIpfsUrl.d.ts +8 -0
  40. package/dist/neutral/lib/checkIpfsUrl.d.ts.map +1 -0
  41. package/dist/neutral/lib/index.d.cts +2 -0
  42. package/dist/neutral/lib/index.d.cts.map +1 -0
  43. package/dist/neutral/lib/index.d.mts +2 -0
  44. package/dist/neutral/lib/index.d.mts.map +1 -0
  45. package/dist/neutral/lib/index.d.ts +2 -0
  46. package/dist/neutral/lib/index.d.ts.map +1 -0
  47. package/dist/node/Config.d.cts +6 -6
  48. package/dist/node/Config.d.mts +6 -6
  49. package/dist/node/Config.d.ts +6 -6
  50. package/dist/node/Payload.d.cts +10 -10
  51. package/dist/node/Payload.d.mts +10 -10
  52. package/dist/node/Payload.d.ts +10 -10
  53. package/package.json +19 -19
@@ -0,0 +1,127 @@
1
+ import { Hash } from '@xylabs/hex';
2
+ import { JsonArray, JsonObject } from '@xylabs/object';
3
+ import { Payload } from '@xyo-network/payload-model';
4
+ export declare const ApiCallSchema = "network.xyo.api.call";
5
+ export type ApiCallSchema = typeof ApiCallSchema;
6
+ export type Verb = 'get' | 'post';
7
+ export type Queries = Record<string, string>;
8
+ export interface ApiCallFields {
9
+ queries?: Queries;
10
+ verb?: Verb;
11
+ }
12
+ export type ApiUriCall = Payload<ApiCallFields & {
13
+ uri: string;
14
+ }, ApiCallSchema>;
15
+ export declare const isApiUriCall: (value?: unknown) => value is import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & ApiCallFields & {
16
+ uri: string;
17
+ } & {
18
+ schema: "network.xyo.api.call";
19
+ };
20
+ export declare const asApiUriCall: {
21
+ <TType extends import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & ApiCallFields & {
22
+ uri: string;
23
+ } & {
24
+ schema: "network.xyo.api.call";
25
+ }>(value: import("@xylabs/promise").AnyNonPromise, config?: import("@xylabs/object").TypeCheckConfig | undefined): TType | undefined;
26
+ <TType_1 extends import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & ApiCallFields & {
27
+ uri: string;
28
+ } & {
29
+ schema: "network.xyo.api.call";
30
+ }>(value: import("@xylabs/promise").AnyNonPromise, assert: import("@xylabs/object").StringOrAlertFunction<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & ApiCallFields & {
31
+ uri: string;
32
+ } & {
33
+ schema: "network.xyo.api.call";
34
+ }>, config?: import("@xylabs/object").TypeCheckConfig | undefined): TType_1;
35
+ };
36
+ export type ApiUriTemplateCall = Payload<ApiCallFields & {
37
+ params?: Record<string, string>;
38
+ uriTemplate?: string;
39
+ }, ApiCallSchema>;
40
+ export declare const isApiUriTemplateCall: (value?: unknown) => value is import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & ApiCallFields & {
41
+ params?: Record<string, string> | undefined;
42
+ uriTemplate?: string | undefined;
43
+ } & {
44
+ schema: "network.xyo.api.call";
45
+ };
46
+ export declare const asApiUriTemplateCall: {
47
+ <TType extends import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & ApiCallFields & {
48
+ params?: Record<string, string> | undefined;
49
+ uriTemplate?: string | undefined;
50
+ } & {
51
+ schema: "network.xyo.api.call";
52
+ }>(value: import("@xylabs/promise").AnyNonPromise, config?: import("@xylabs/object").TypeCheckConfig | undefined): TType | undefined;
53
+ <TType_1 extends import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & ApiCallFields & {
54
+ params?: Record<string, string> | undefined;
55
+ uriTemplate?: string | undefined;
56
+ } & {
57
+ schema: "network.xyo.api.call";
58
+ }>(value: import("@xylabs/promise").AnyNonPromise, assert: import("@xylabs/object").StringOrAlertFunction<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & ApiCallFields & {
59
+ params?: Record<string, string> | undefined;
60
+ uriTemplate?: string | undefined;
61
+ } & {
62
+ schema: "network.xyo.api.call";
63
+ }>, config?: import("@xylabs/object").TypeCheckConfig | undefined): TType_1;
64
+ };
65
+ export type ApiCall = ApiUriCall | ApiUriTemplateCall;
66
+ export declare const ApiCallResultSchema = "network.xyo.api.call.result";
67
+ export type ApiCallResultSchema = typeof ApiCallResultSchema;
68
+ export declare const isApiCall: (x?: unknown) => x is ApiCall;
69
+ export declare const asApiCall: {
70
+ <TType extends ApiCall>(value: import("@xylabs/promise").AnyNonPromise, config?: import("@xylabs/object").TypeCheckConfig | undefined): TType | undefined;
71
+ <TType_1 extends ApiCall>(value: import("@xylabs/promise").AnyNonPromise, assert: import("@xylabs/object").StringOrAlertFunction<ApiCall>, config?: import("@xylabs/object").TypeCheckConfig | undefined): TType_1;
72
+ };
73
+ export interface HttpMeta {
74
+ code?: string;
75
+ status?: number;
76
+ }
77
+ export type ApiCallJsonResultType = JsonArray | JsonObject;
78
+ export type ApiCallJsonResult<T extends ApiCallJsonResultType = ApiCallJsonResultType> = Payload<{
79
+ call: Hash;
80
+ contentType: 'application/json';
81
+ data: T;
82
+ }, ApiCallResultSchema>;
83
+ export declare const isApiCallJsonResult: <T extends ApiCallJsonResultType = ApiCallJsonResultType>(x?: unknown | null) => x is import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
84
+ call: Hash;
85
+ contentType: 'application/json';
86
+ data: T;
87
+ } & {
88
+ schema: "network.xyo.api.call.result";
89
+ };
90
+ export declare const asApiCallJsonResult: {
91
+ <TType extends import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
92
+ call: Hash;
93
+ contentType: 'application/json';
94
+ data: ApiCallJsonResultType;
95
+ } & {
96
+ schema: "network.xyo.api.call.result";
97
+ }>(value: import("@xylabs/promise").AnyNonPromise, config?: import("@xylabs/object").TypeCheckConfig | undefined): TType | undefined;
98
+ <TType_1 extends import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
99
+ call: Hash;
100
+ contentType: 'application/json';
101
+ data: ApiCallJsonResultType;
102
+ } & {
103
+ schema: "network.xyo.api.call.result";
104
+ }>(value: import("@xylabs/promise").AnyNonPromise, assert: import("@xylabs/object").StringOrAlertFunction<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
105
+ call: Hash;
106
+ contentType: 'application/json';
107
+ data: ApiCallJsonResultType;
108
+ } & {
109
+ schema: "network.xyo.api.call.result";
110
+ }>, config?: import("@xylabs/object").TypeCheckConfig | undefined): TType_1;
111
+ };
112
+ export type ApiCallBase64Result = Payload<{
113
+ call: Hash;
114
+ contentType: Exclude<string, ApiCallJsonResult['contentType']>;
115
+ data: string;
116
+ }, ApiCallResultSchema>;
117
+ export type ApiCallErrorResult = Payload<{
118
+ call: Hash;
119
+ http?: HttpMeta;
120
+ }, ApiCallResultSchema>;
121
+ export type ApiCallResult<TJson extends JsonArray | JsonObject = JsonArray | JsonObject> = ApiCallBase64Result | ApiCallJsonResult<TJson> | ApiCallErrorResult;
122
+ export declare const isApiCallResult: (x?: unknown) => x is ApiCallResult<JsonArray | JsonObject>;
123
+ export declare const asApiCallResult: {
124
+ <TType extends ApiCallResult<JsonArray | JsonObject>>(value: import("@xylabs/promise").AnyNonPromise, config?: import("@xylabs/object").TypeCheckConfig | undefined): TType | undefined;
125
+ <TType_1 extends ApiCallResult<JsonArray | JsonObject>>(value: import("@xylabs/promise").AnyNonPromise, assert: import("@xylabs/object").StringOrAlertFunction<ApiCallResult<JsonArray | JsonObject>>, config?: import("@xylabs/object").TypeCheckConfig | undefined): TType_1;
126
+ };
127
+ //# sourceMappingURL=Payload.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Payload.d.ts","sourceRoot":"","sources":["../../src/Payload.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import { AbstractWitness } from '@xyo-network/abstract-witness';
2
+ import { Schema } from '@xyo-network/payload-model';
3
+ import { WitnessParams } from '@xyo-network/witness-model';
4
+ import { ApiCallWitnessConfig } from './Config';
5
+ import { ApiCall, ApiCallResult } from './Payload';
6
+ export type ApiCallWitnessParams = WitnessParams<ApiCallWitnessConfig, {
7
+ headers?: Record<string, string | undefined>;
8
+ ipfsGateway?: string;
9
+ }>;
10
+ export declare class ApiCallWitness<TParams extends ApiCallWitnessParams = ApiCallWitnessParams> extends AbstractWitness<TParams, ApiCall, ApiCallResult> {
11
+ static readonly configSchemas: Schema[];
12
+ static readonly defaultConfigSchema: Schema;
13
+ get accept(): "application/json";
14
+ get ipfsGateway(): string | undefined;
15
+ get timeout(): number | undefined;
16
+ getFullUri(call?: ApiCall): string;
17
+ protected observeHandler(inPayloads?: ApiCall[]): Promise<ApiCallResult[]>;
18
+ private httpGet;
19
+ }
20
+ //# sourceMappingURL=Witness.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Witness.d.ts","sourceRoot":"","sources":["../../src/Witness.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAG/D,OAAO,EAAyB,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAC1E,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAI1D,OAAO,EAAE,oBAAoB,EAA4F,MAAM,UAAU,CAAA;AAEzI,OAAO,EACL,OAAO,EAKP,aAAa,EAKd,MAAM,WAAW,CAAA;AAElB,MAAM,MAAM,oBAAoB,GAAG,aAAa,CAC9C,oBAAoB,EACpB;IACE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAA;IAC5C,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB,CACF,CAAA;AAED,qBAAa,cAAc,CAAC,OAAO,SAAS,oBAAoB,GAAG,oBAAoB,CAAE,SAAQ,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,aAAa,CAAC;IAC/I,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAAuD;IACvG,gBAAyB,mBAAmB,EAAE,MAAM,CAA6B;IAEjF,IAAI,MAAM,uBAET;IAED,IAAI,WAAW,uBAEd;IAED,IAAI,OAAO,uBAEV;IAED,UAAU,CAAC,IAAI,CAAC,EAAE,OAAO,GAAG,MAAM;cA6BT,cAAc,CAAC,UAAU,GAAE,OAAO,EAAO,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;YAgC/E,OAAO;CAwDtB"}
@@ -0,0 +1,20 @@
1
+ import { AbstractWitness } from '@xyo-network/abstract-witness';
2
+ import { Schema } from '@xyo-network/payload-model';
3
+ import { WitnessParams } from '@xyo-network/witness-model';
4
+ import { ApiCallWitnessConfig } from './Config';
5
+ import { ApiCall, ApiCallResult } from './Payload';
6
+ export type ApiCallWitnessParams = WitnessParams<ApiCallWitnessConfig, {
7
+ headers?: Record<string, string | undefined>;
8
+ ipfsGateway?: string;
9
+ }>;
10
+ export declare class ApiCallWitness<TParams extends ApiCallWitnessParams = ApiCallWitnessParams> extends AbstractWitness<TParams, ApiCall, ApiCallResult> {
11
+ static readonly configSchemas: Schema[];
12
+ static readonly defaultConfigSchema: Schema;
13
+ get accept(): "application/json";
14
+ get ipfsGateway(): string | undefined;
15
+ get timeout(): number | undefined;
16
+ getFullUri(call?: ApiCall): string;
17
+ protected observeHandler(inPayloads?: ApiCall[]): Promise<ApiCallResult[]>;
18
+ private httpGet;
19
+ }
20
+ //# sourceMappingURL=Witness.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Witness.d.ts","sourceRoot":"","sources":["../../src/Witness.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAG/D,OAAO,EAAyB,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAC1E,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAI1D,OAAO,EAAE,oBAAoB,EAA4F,MAAM,UAAU,CAAA;AAEzI,OAAO,EACL,OAAO,EAKP,aAAa,EAKd,MAAM,WAAW,CAAA;AAElB,MAAM,MAAM,oBAAoB,GAAG,aAAa,CAC9C,oBAAoB,EACpB;IACE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAA;IAC5C,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB,CACF,CAAA;AAED,qBAAa,cAAc,CAAC,OAAO,SAAS,oBAAoB,GAAG,oBAAoB,CAAE,SAAQ,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,aAAa,CAAC;IAC/I,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAAuD;IACvG,gBAAyB,mBAAmB,EAAE,MAAM,CAA6B;IAEjF,IAAI,MAAM,uBAET;IAED,IAAI,WAAW,uBAEd;IAED,IAAI,OAAO,uBAEV;IAED,UAAU,CAAC,IAAI,CAAC,EAAE,OAAO,GAAG,MAAM;cA6BT,cAAc,CAAC,UAAU,GAAE,OAAO,EAAO,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;YAgC/E,OAAO;CAwDtB"}
@@ -0,0 +1,20 @@
1
+ import { AbstractWitness } from '@xyo-network/abstract-witness';
2
+ import { Schema } from '@xyo-network/payload-model';
3
+ import { WitnessParams } from '@xyo-network/witness-model';
4
+ import { ApiCallWitnessConfig } from './Config';
5
+ import { ApiCall, ApiCallResult } from './Payload';
6
+ export type ApiCallWitnessParams = WitnessParams<ApiCallWitnessConfig, {
7
+ headers?: Record<string, string | undefined>;
8
+ ipfsGateway?: string;
9
+ }>;
10
+ export declare class ApiCallWitness<TParams extends ApiCallWitnessParams = ApiCallWitnessParams> extends AbstractWitness<TParams, ApiCall, ApiCallResult> {
11
+ static readonly configSchemas: Schema[];
12
+ static readonly defaultConfigSchema: Schema;
13
+ get accept(): "application/json";
14
+ get ipfsGateway(): string | undefined;
15
+ get timeout(): number | undefined;
16
+ getFullUri(call?: ApiCall): string;
17
+ protected observeHandler(inPayloads?: ApiCall[]): Promise<ApiCallResult[]>;
18
+ private httpGet;
19
+ }
20
+ //# sourceMappingURL=Witness.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Witness.d.ts","sourceRoot":"","sources":["../../src/Witness.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAG/D,OAAO,EAAyB,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAC1E,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAI1D,OAAO,EAAE,oBAAoB,EAA4F,MAAM,UAAU,CAAA;AAEzI,OAAO,EACL,OAAO,EAKP,aAAa,EAKd,MAAM,WAAW,CAAA;AAElB,MAAM,MAAM,oBAAoB,GAAG,aAAa,CAC9C,oBAAoB,EACpB;IACE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAA;IAC5C,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB,CACF,CAAA;AAED,qBAAa,cAAc,CAAC,OAAO,SAAS,oBAAoB,GAAG,oBAAoB,CAAE,SAAQ,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,aAAa,CAAC;IAC/I,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAAuD;IACvG,gBAAyB,mBAAmB,EAAE,MAAM,CAA6B;IAEjF,IAAI,MAAM,uBAET;IAED,IAAI,WAAW,uBAEd;IAED,IAAI,OAAO,uBAEV;IAED,UAAU,CAAC,IAAI,CAAC,EAAE,OAAO,GAAG,MAAM;cA6BT,cAAc,CAAC,UAAU,GAAE,OAAO,EAAO,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;YAgC/E,OAAO;CAwDtB"}
@@ -0,0 +1,250 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+
30
+ // src/index.ts
31
+ var src_exports = {};
32
+ __export(src_exports, {
33
+ ApiCallResultSchema: () => ApiCallResultSchema,
34
+ ApiCallSchema: () => ApiCallSchema,
35
+ ApiCallWitness: () => ApiCallWitness,
36
+ ApiCallWitnessConfigSchema: () => ApiCallWitnessConfigSchema,
37
+ asApiCall: () => asApiCall,
38
+ asApiCallJsonResult: () => asApiCallJsonResult,
39
+ asApiCallResult: () => asApiCallResult,
40
+ asApiCallWitnessConfig: () => asApiCallWitnessConfig,
41
+ asApiUriCall: () => asApiUriCall,
42
+ asApiUriCallWitnessConfig: () => asApiUriCallWitnessConfig,
43
+ asApiUriTemplateCall: () => asApiUriTemplateCall,
44
+ asApiUriTemplateCallWitnessConfig: () => asApiUriTemplateCallWitnessConfig,
45
+ isApiCall: () => isApiCall,
46
+ isApiCallJsonResult: () => isApiCallJsonResult,
47
+ isApiCallResult: () => isApiCallResult,
48
+ isApiCallWitnessConfig: () => isApiCallWitnessConfig,
49
+ isApiUriCall: () => isApiUriCall,
50
+ isApiUriCallWitnessConfig: () => isApiUriCallWitnessConfig,
51
+ isApiUriTemplateCall: () => isApiUriTemplateCall,
52
+ isApiUriTemplateCallWitnessConfig: () => isApiUriTemplateCallWitnessConfig
53
+ });
54
+ module.exports = __toCommonJS(src_exports);
55
+
56
+ // src/Config.ts
57
+ var import_object = require("@xylabs/object");
58
+ var import_payload_model = require("@xyo-network/payload-model");
59
+ var ApiCallWitnessConfigSchema = "network.xyo.api.call.witness.config";
60
+ var isApiCallWitnessConfig = (0, import_payload_model.isPayloadOfSchemaType)(ApiCallWitnessConfigSchema);
61
+ var asApiCallWitnessConfig = import_object.AsObjectFactory.create(isApiCallWitnessConfig);
62
+ var isApiUriCallWitnessConfig = (value) => isApiCallWitnessConfig(value) && !!value.uri;
63
+ var asApiUriCallWitnessConfig = import_object.AsObjectFactory.create(isApiUriCallWitnessConfig);
64
+ var isApiUriTemplateCallWitnessConfig = (value) => isApiCallWitnessConfig(value) && !!value.uriTemplate;
65
+ var asApiUriTemplateCallWitnessConfig = import_object.AsObjectFactory.create(isApiUriTemplateCallWitnessConfig);
66
+
67
+ // src/Payload.ts
68
+ var import_object2 = require("@xylabs/object");
69
+ var import_payload_model2 = require("@xyo-network/payload-model");
70
+ var ApiCallSchema = "network.xyo.api.call";
71
+ var isApiUriCall = (value) => isApiCall(value) && !!value.uri;
72
+ var asApiUriCall = import_object2.AsObjectFactory.create(isApiUriCall);
73
+ var isApiUriTemplateCall = (value) => isApiCall(value) && !!(value.uriTemplate || value.params);
74
+ var asApiUriTemplateCall = import_object2.AsObjectFactory.create(isApiUriTemplateCall);
75
+ var ApiCallResultSchema = "network.xyo.api.call.result";
76
+ var isApiCall = (0, import_payload_model2.isPayloadOfSchemaType)(ApiCallSchema);
77
+ var asApiCall = import_object2.AsObjectFactory.create(isApiCall);
78
+ var isApiCallJsonResult = (x) => {
79
+ return (0, import_payload_model2.isPayloadOfSchemaType)(ApiCallResultSchema)(x) && x?.contentType === "application/json";
80
+ };
81
+ var asApiCallJsonResult = import_object2.AsObjectFactory.create(isApiCallJsonResult);
82
+ var isApiCallResult = (0, import_payload_model2.isPayloadOfSchemaType)(ApiCallResultSchema);
83
+ var asApiCallResult = import_object2.AsObjectFactory.create(isApiCallResult);
84
+
85
+ // src/Witness.ts
86
+ var import_assert2 = require("@xylabs/assert");
87
+ var import_axios = require("@xylabs/axios");
88
+ var import_abstract_witness = require("@xyo-network/abstract-witness");
89
+ var import_hash = require("@xyo-network/hash");
90
+ var import_payload_builder = require("@xyo-network/payload-builder");
91
+ var import_payload_model3 = require("@xyo-network/payload-model");
92
+ var import_base64_js = require("base64-js");
93
+ var import_es6_dynamic_template = __toESM(require("es6-dynamic-template"), 1);
94
+
95
+ // src/lib/checkIpfsUrl.ts
96
+ var import_assert = require("@xylabs/assert");
97
+ var allowIpfsIoRepair = true;
98
+ var checkIpfsUrl = (urlToCheck, ipfsGateway) => {
99
+ try {
100
+ const url = new URL(urlToCheck);
101
+ let protocol = url.protocol;
102
+ let host = url.host;
103
+ let path = url.pathname;
104
+ const query = url.search;
105
+ if (protocol === "ipfs:") {
106
+ protocol = "https:";
107
+ host = (0, import_assert.assertEx)(ipfsGateway, () => "No ipfsGateway provided");
108
+ path = url.host === "ipfs" ? `ipfs${path}` : `ipfs/${url.host}${path}`;
109
+ const root = `${protocol}//${host}/${path}`;
110
+ return query?.length > 0 ? `${root}?${query}` : root;
111
+ } else if (allowIpfsIoRepair && protocol === "https" && host === "ipfs.io") {
112
+ protocol = "https:";
113
+ host = (0, import_assert.assertEx)(ipfsGateway, () => "No ipfsGateway provided");
114
+ const pathParts = path.split("/");
115
+ if (pathParts[0] === "ipfs") {
116
+ pathParts.shift();
117
+ }
118
+ path = pathParts.join("/");
119
+ const root = `${protocol}//${host}/${path}`;
120
+ return query?.length > 0 ? `${root}?${query}` : root;
121
+ } else {
122
+ return urlToCheck;
123
+ }
124
+ } catch {
125
+ return urlToCheck;
126
+ }
127
+ };
128
+
129
+ // src/Witness.ts
130
+ var ApiCallWitness = class extends import_abstract_witness.AbstractWitness {
131
+ static configSchemas = [...super.configSchemas, ApiCallWitnessConfigSchema];
132
+ static defaultConfigSchema = ApiCallWitnessConfigSchema;
133
+ get accept() {
134
+ return this.config.accept ?? "application/json";
135
+ }
136
+ get ipfsGateway() {
137
+ return this.params.ipfsGateway;
138
+ }
139
+ get timeout() {
140
+ return this.config.timeout;
141
+ }
142
+ getFullUri(call) {
143
+ const { uri: callUri } = asApiUriCall(call) ?? {};
144
+ const { uriTemplate: callUriTemplate, params: callParams, queries: callQueries } = asApiUriTemplateCall(call) ?? {};
145
+ const { uri: configUri } = asApiUriCallWitnessConfig(this.config) ?? {};
146
+ const { uriTemplate: configUriTemplate, params: configParams, queries: configQueries } = asApiUriTemplateCallWitnessConfig(this.config) ?? {};
147
+ const params = { ...configParams, ...callParams };
148
+ let url = void 0;
149
+ if (callUri) {
150
+ url = new URL(callUri);
151
+ } else if (callUriTemplate) {
152
+ url = new URL((0, import_es6_dynamic_template.default)(callUriTemplate, params));
153
+ } else if (configUri) {
154
+ url = new URL(configUri);
155
+ } else if (configUriTemplate) {
156
+ url = new URL((0, import_es6_dynamic_template.default)(configUriTemplate, params));
157
+ }
158
+ if (url) {
159
+ const queries = Object.entries({ ...configQueries, ...callQueries });
160
+ queries.map(([key, value]) => url?.searchParams.set(key, value));
161
+ return url.href;
162
+ }
163
+ throw new Error("Unable to determine uri. No uri/uriTemplate specified in either the call or config.");
164
+ }
165
+ async observeHandler(inPayloads = []) {
166
+ await this.started("throw");
167
+ try {
168
+ const observations = await Promise.all(
169
+ inPayloads.filter((0, import_payload_model3.isPayloadOfSchemaType)(ApiCallSchema)).map(async (call) => {
170
+ const { verb: callVerb } = call;
171
+ const { verb: configVerb } = this.config;
172
+ const verb = callVerb ?? configVerb ?? "get";
173
+ const uri = this.getFullUri(call);
174
+ const validatedUri = (0, import_assert2.assertEx)(checkIpfsUrl(uri, this.ipfsGateway), () => "Invalid URI");
175
+ if (verb === "get") {
176
+ return this.httpGet(validatedUri, (await import_payload_builder.PayloadBuilder.build(call)).$hash);
177
+ }
178
+ const observation = {
179
+ call: await import_hash.PayloadHasher.hash(call),
180
+ schema: ApiCallResultSchema
181
+ };
182
+ return observation;
183
+ })
184
+ );
185
+ return observations;
186
+ } catch (ex) {
187
+ const error = ex;
188
+ console.error(`Error [${this.config.name}]: ${error.message}`);
189
+ console.log(error.stack);
190
+ throw error;
191
+ }
192
+ }
193
+ async httpGet(url, call) {
194
+ const result = {
195
+ call,
196
+ schema: ApiCallResultSchema
197
+ };
198
+ try {
199
+ switch (this.accept) {
200
+ case "application/json": {
201
+ const axios = new import_axios.AxiosJson({ headers: { ...this.params.headers, Accept: "application/json" }, timeout: this.timeout });
202
+ const response = await axios.get(url);
203
+ if (response.status >= 200 && response.status < 300) {
204
+ const jsonResult = result;
205
+ jsonResult.data = response.data;
206
+ jsonResult.contentType = "application/json";
207
+ } else {
208
+ const errorResult = result;
209
+ errorResult.http = {
210
+ status: response.status
211
+ };
212
+ }
213
+ break;
214
+ }
215
+ default: {
216
+ const axios = new import_axios.Axios({ headers: this.params.headers, responseType: "arraybuffer", timeout: this.timeout });
217
+ const response = await axios.get(url);
218
+ if (response.status >= 200 && response.status < 300) {
219
+ const jsonResult = result;
220
+ jsonResult.data = (0, import_base64_js.fromByteArray)(Buffer.from(response.data, "binary"));
221
+ jsonResult.contentType = response.headers["content-type"]?.toString() ?? "application/octet-stream";
222
+ } else {
223
+ const errorResult = result;
224
+ errorResult.http = {
225
+ status: response.status
226
+ };
227
+ }
228
+ break;
229
+ }
230
+ }
231
+ } catch (ex) {
232
+ const axiosError = ex;
233
+ if (axiosError.isAxiosError) {
234
+ if (axiosError?.response?.status !== void 0) {
235
+ result.http = result.http ?? {};
236
+ result.http.status = axiosError?.response?.status;
237
+ }
238
+ if (axiosError?.code !== void 0) {
239
+ result.http = result.http ?? {};
240
+ result.http.code = axiosError?.code;
241
+ }
242
+ return result;
243
+ } else {
244
+ throw ex;
245
+ }
246
+ }
247
+ return result;
248
+ }
249
+ };
250
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/index.ts","../../src/Config.ts","../../src/Payload.ts","../../src/Witness.ts","../../src/lib/checkIpfsUrl.ts"],"sourcesContent":["export * from './Config'\nexport * from './Payload'\nexport * from './Witness'\n","import { AsObjectFactory } from '@xylabs/object'\nimport { isPayloadOfSchemaType } from '@xyo-network/payload-model'\nimport { WitnessConfig } from '@xyo-network/witness-model'\n\nimport { ApiCall, ApiUriCall, ApiUriTemplateCall } from './Payload'\n\nexport const ApiCallWitnessConfigSchema = 'network.xyo.api.call.witness.config'\nexport type ApiCallWitnessConfigSchema = typeof ApiCallWitnessConfigSchema\n\nexport type ApiCallWitnessConfigBase = WitnessConfig<{\n accept?: 'application/json'\n queries?: ApiCall['queries']\n schema: ApiCallWitnessConfigSchema\n timeout?: number\n verb?: ApiCall['verb']\n}>\n\nexport type ApiUriCallWitnessConfig = WitnessConfig<\n ApiCallWitnessConfigBase & {\n uri: ApiUriCall['uri']\n }\n>\n\nexport type ApiUriTemplateCallWitnessConfig = WitnessConfig<\n ApiCallWitnessConfigBase & {\n params?: Record<string, string>\n uriTemplate: ApiUriTemplateCall['uriTemplate']\n }\n>\n\nexport type ApiCallWitnessConfig = ApiUriCallWitnessConfig | ApiUriTemplateCallWitnessConfig | ApiCallWitnessConfigBase\n\nexport const isApiCallWitnessConfig = isPayloadOfSchemaType<ApiCallWitnessConfig>(ApiCallWitnessConfigSchema)\nexport const asApiCallWitnessConfig = AsObjectFactory.create(isApiCallWitnessConfig)\n\nexport const isApiUriCallWitnessConfig = (value?: unknown): value is ApiUriCallWitnessConfig =>\n isApiCallWitnessConfig(value) && !!(value as ApiUriCallWitnessConfig).uri\nexport const asApiUriCallWitnessConfig = AsObjectFactory.create(isApiUriCallWitnessConfig)\n\nexport const isApiUriTemplateCallWitnessConfig = (value?: unknown): value is ApiUriTemplateCallWitnessConfig =>\n isApiCallWitnessConfig(value) && !!(value as ApiUriTemplateCallWitnessConfig).uriTemplate\nexport const asApiUriTemplateCallWitnessConfig = AsObjectFactory.create(isApiUriTemplateCallWitnessConfig)\n","import { Hash } from '@xylabs/hex'\nimport { AsObjectFactory, JsonArray, JsonObject } from '@xylabs/object'\nimport { isPayloadOfSchemaType, Payload } from '@xyo-network/payload-model'\n\nexport const ApiCallSchema = 'network.xyo.api.call'\nexport type ApiCallSchema = typeof ApiCallSchema\n\nexport type Verb = 'get' | 'post'\nexport type Queries = Record<string, string>\n\nexport interface ApiCallFields {\n queries?: Queries\n verb?: Verb\n}\n\nexport type ApiUriCall = Payload<\n ApiCallFields & {\n uri: string\n },\n ApiCallSchema\n>\nexport const isApiUriCall = (value?: unknown): value is ApiUriCall => isApiCall(value) && !!(value as ApiUriCall).uri\nexport const asApiUriCall = AsObjectFactory.create(isApiUriCall)\n\nexport type ApiUriTemplateCall = Payload<\n ApiCallFields & {\n params?: Record<string, string>\n uriTemplate?: string\n },\n ApiCallSchema\n>\nexport const isApiUriTemplateCall = (value?: unknown): value is ApiUriTemplateCall =>\n isApiCall(value) && !!((value as ApiUriTemplateCall).uriTemplate || (value as ApiUriTemplateCall).params)\nexport const asApiUriTemplateCall = AsObjectFactory.create(isApiUriTemplateCall)\n\nexport type ApiCall = ApiUriCall | ApiUriTemplateCall\n\nexport const ApiCallResultSchema = 'network.xyo.api.call.result'\nexport type ApiCallResultSchema = typeof ApiCallResultSchema\n\nexport const isApiCall = isPayloadOfSchemaType<ApiCall>(ApiCallSchema)\nexport const asApiCall = AsObjectFactory.create(isApiCall)\n\nexport interface HttpMeta {\n code?: string\n status?: number\n}\n\nexport type ApiCallJsonResultType = JsonArray | JsonObject\n\nexport type ApiCallJsonResult<T extends ApiCallJsonResultType = ApiCallJsonResultType> = Payload<\n {\n call: Hash\n contentType: 'application/json'\n data: T\n },\n ApiCallResultSchema\n>\n\nexport const isApiCallJsonResult = <T extends ApiCallJsonResultType = ApiCallJsonResultType>(x?: unknown | null): x is ApiCallJsonResult<T> => {\n return isPayloadOfSchemaType(ApiCallResultSchema)(x) && (x as ApiCallJsonResult)?.contentType === 'application/json'\n}\nexport const asApiCallJsonResult = AsObjectFactory.create(isApiCallJsonResult)\n\nexport type ApiCallBase64Result = Payload<\n {\n call: Hash\n contentType: Exclude<string, ApiCallJsonResult['contentType']>\n data: string\n },\n ApiCallResultSchema\n>\n\nexport type ApiCallErrorResult = Payload<\n {\n call: Hash\n http?: HttpMeta\n },\n ApiCallResultSchema\n>\n\nexport type ApiCallResult<TJson extends JsonArray | JsonObject = JsonArray | JsonObject> =\n | ApiCallBase64Result\n | ApiCallJsonResult<TJson>\n | ApiCallErrorResult\n\nexport const isApiCallResult = isPayloadOfSchemaType<ApiCallResult>(ApiCallResultSchema)\nexport const asApiCallResult = AsObjectFactory.create(isApiCallResult)\n","/* eslint-disable max-statements */\nimport { assertEx } from '@xylabs/assert'\nimport { Axios, AxiosError, AxiosJson } from '@xylabs/axios'\nimport { Hash } from '@xylabs/hex'\nimport { AbstractWitness } from '@xyo-network/abstract-witness'\nimport { PayloadHasher } from '@xyo-network/hash'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { isPayloadOfSchemaType, Schema } from '@xyo-network/payload-model'\nimport { WitnessParams } from '@xyo-network/witness-model'\nimport { fromByteArray } from 'base64-js'\nimport fillTemplate from 'es6-dynamic-template'\n\nimport { ApiCallWitnessConfig, ApiCallWitnessConfigSchema, asApiUriCallWitnessConfig, asApiUriTemplateCallWitnessConfig } from './Config'\nimport { checkIpfsUrl } from './lib'\nimport {\n ApiCall,\n ApiCallBase64Result,\n ApiCallErrorResult,\n ApiCallJsonResult,\n ApiCallJsonResultType,\n ApiCallResult,\n ApiCallResultSchema,\n ApiCallSchema,\n asApiUriCall,\n asApiUriTemplateCall,\n} from './Payload'\n\nexport type ApiCallWitnessParams = WitnessParams<\n ApiCallWitnessConfig,\n {\n headers?: Record<string, string | undefined>\n ipfsGateway?: string\n }\n>\n\nexport class ApiCallWitness<TParams extends ApiCallWitnessParams = ApiCallWitnessParams> extends AbstractWitness<TParams, ApiCall, ApiCallResult> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, ApiCallWitnessConfigSchema]\n static override readonly defaultConfigSchema: Schema = ApiCallWitnessConfigSchema\n\n get accept() {\n return this.config.accept ?? 'application/json'\n }\n\n get ipfsGateway() {\n return this.params.ipfsGateway\n }\n\n get timeout() {\n return this.config.timeout\n }\n\n getFullUri(call?: ApiCall): string {\n const { uri: callUri } = asApiUriCall(call) ?? {}\n const { uriTemplate: callUriTemplate, params: callParams, queries: callQueries } = asApiUriTemplateCall(call) ?? {}\n const { uri: configUri } = asApiUriCallWitnessConfig(this.config) ?? {}\n const { uriTemplate: configUriTemplate, params: configParams, queries: configQueries } = asApiUriTemplateCallWitnessConfig(this.config) ?? {}\n\n const params = { ...configParams, ...callParams }\n\n let url: URL | undefined = undefined\n\n if (callUri) {\n url = new URL(callUri)\n } else if (callUriTemplate) {\n url = new URL(fillTemplate(callUriTemplate, params))\n } else if (configUri) {\n url = new URL(configUri)\n } else if (configUriTemplate) {\n url = new URL(fillTemplate(configUriTemplate, params))\n }\n\n if (url) {\n const queries = Object.entries({ ...configQueries, ...callQueries })\n queries.map(([key, value]) => url?.searchParams.set(key, value))\n return url.href\n }\n\n throw new Error('Unable to determine uri. No uri/uriTemplate specified in either the call or config.')\n }\n\n protected override async observeHandler(inPayloads: ApiCall[] = []): Promise<ApiCallResult[]> {\n await this.started('throw')\n try {\n const observations = await Promise.all(\n inPayloads.filter(isPayloadOfSchemaType(ApiCallSchema)).map(async (call) => {\n const { verb: callVerb } = call\n const { verb: configVerb } = this.config\n const verb = callVerb ?? configVerb ?? 'get'\n const uri = this.getFullUri(call)\n\n const validatedUri = assertEx(checkIpfsUrl(uri, this.ipfsGateway), () => 'Invalid URI')\n\n if (verb === 'get') {\n return this.httpGet(validatedUri, (await PayloadBuilder.build(call)).$hash)\n }\n\n const observation: ApiCallResult = {\n call: await PayloadHasher.hash(call),\n schema: ApiCallResultSchema,\n }\n return observation\n }),\n )\n return observations\n } catch (ex) {\n const error = ex as Error\n console.error(`Error [${this.config.name}]: ${error.message}`)\n console.log(error.stack)\n throw error\n }\n }\n\n private async httpGet(url: string, call: Hash): Promise<ApiCallResult> {\n const result: ApiCallResult = {\n call,\n schema: ApiCallResultSchema,\n }\n try {\n switch (this.accept) {\n case 'application/json': {\n const axios = new AxiosJson({ headers: { ...this.params.headers, Accept: 'application/json' }, timeout: this.timeout })\n const response = await axios.get<ApiCallJsonResultType>(url)\n if (response.status >= 200 && response.status < 300) {\n const jsonResult = result as ApiCallJsonResult\n jsonResult.data = response.data\n jsonResult.contentType = 'application/json'\n } else {\n const errorResult = result as ApiCallErrorResult\n errorResult.http = {\n status: response.status,\n }\n }\n break\n }\n default: {\n const axios = new Axios({ headers: this.params.headers, responseType: 'arraybuffer', timeout: this.timeout })\n const response = await axios.get(url)\n if (response.status >= 200 && response.status < 300) {\n const jsonResult = result as ApiCallBase64Result\n jsonResult.data = fromByteArray(Buffer.from(response.data, 'binary'))\n jsonResult.contentType = response.headers['content-type']?.toString() ?? 'application/octet-stream'\n } else {\n const errorResult = result as ApiCallErrorResult\n errorResult.http = {\n status: response.status,\n }\n }\n break\n }\n }\n } catch (ex) {\n const axiosError = ex as AxiosError\n if (axiosError.isAxiosError) {\n if (axiosError?.response?.status !== undefined) {\n result.http = result.http ?? {}\n result.http.status = axiosError?.response?.status\n }\n if (axiosError?.code !== undefined) {\n result.http = result.http ?? {}\n result.http.code = axiosError?.code\n }\n return result\n } else {\n throw ex\n }\n }\n return result\n }\n}\n","import { assertEx } from '@xylabs/assert'\n\nconst allowIpfsIoRepair = true\n\n/**\n * Returns the equivalent IPFS gateway URL for the supplied URL.\n * @param urlToCheck The URL to check\n * @returns If the supplied URL is an IPFS URL, it converts the URL to the\n * equivalent IPFS gateway URL. Otherwise, returns the original URL.\n */\nexport const checkIpfsUrl = (urlToCheck: string, ipfsGateway?: string): string => {\n try {\n const url = new URL(urlToCheck)\n let protocol = url.protocol\n let host = url.host\n let path = url.pathname\n const query = url.search\n if (protocol === 'ipfs:') {\n protocol = 'https:'\n host = assertEx(ipfsGateway, () => 'No ipfsGateway provided')\n path = url.host === 'ipfs' ? `ipfs${path}` : `ipfs/${url.host}${path}`\n const root = `${protocol}//${host}/${path}`\n return query?.length > 0 ? `${root}?${query}` : root\n } else if (allowIpfsIoRepair && protocol === 'https' && host === 'ipfs.io') {\n protocol = 'https:'\n host = assertEx(ipfsGateway, () => 'No ipfsGateway provided')\n const pathParts = path.split('/')\n if (pathParts[0] === 'ipfs') {\n pathParts.shift()\n }\n path = pathParts.join('/')\n const root = `${protocol}//${host}/${path}`\n return query?.length > 0 ? `${root}?${query}` : root\n } else {\n return urlToCheck\n }\n } catch {\n //const error = ex as Error\n //console.error(`${error.name}:${error.message} [${urlToCheck}]`)\n //console.log(error.stack)\n return urlToCheck\n }\n}\n"],"mappings":"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","names":["import_object","import_payload_model","import_assert","import_payload_model","fillTemplate"]}
@@ -0,0 +1,4 @@
1
+ export * from './Config';
2
+ export * from './Payload';
3
+ export * from './Witness';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA;AACzB,cAAc,WAAW,CAAA"}
@@ -0,0 +1,4 @@
1
+ export * from './Config';
2
+ export * from './Payload';
3
+ export * from './Witness';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA;AACzB,cAAc,WAAW,CAAA"}
@@ -0,0 +1,4 @@
1
+ export * from './Config';
2
+ export * from './Payload';
3
+ export * from './Witness';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA;AACzB,cAAc,WAAW,CAAA"}