@xyo-network/api-call-witness 3.0.3 → 3.0.5

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 (82) hide show
  1. package/dist/neutral/Payload/Schema.d.ts +5 -0
  2. package/dist/neutral/Payload/Schema.d.ts.map +1 -0
  3. package/dist/neutral/Payload/identity/asApiCall.d.ts +5 -0
  4. package/dist/neutral/Payload/identity/asApiCall.d.ts.map +1 -0
  5. package/dist/neutral/Payload/identity/asApiCallBase64Result.d.ts +23 -0
  6. package/dist/neutral/Payload/identity/asApiCallBase64Result.d.ts.map +1 -0
  7. package/dist/neutral/Payload/identity/asApiCallResult.d.ts +5 -0
  8. package/dist/neutral/Payload/identity/asApiCallResult.d.ts.map +1 -0
  9. package/dist/neutral/Payload/identity/asApiCallXmlResult.d.ts +23 -0
  10. package/dist/neutral/Payload/identity/asApiCallXmlResult.d.ts.map +1 -0
  11. package/dist/neutral/Payload/identity/asApiUriCall.d.ts +17 -0
  12. package/dist/neutral/Payload/identity/asApiUriCall.d.ts.map +1 -0
  13. package/dist/neutral/Payload/identity/asApiUriTemplateCall.d.ts +20 -0
  14. package/dist/neutral/Payload/identity/asApiUriTemplateCall.d.ts.map +1 -0
  15. package/dist/neutral/Payload/identity/index.d.ts +14 -0
  16. package/dist/neutral/Payload/identity/index.d.ts.map +1 -0
  17. package/dist/neutral/Payload/identity/isApiCall.d.ts +3 -0
  18. package/dist/neutral/Payload/identity/isApiCall.d.ts.map +1 -0
  19. package/dist/neutral/Payload/identity/isApiCallBase64Result.d.ts +3 -0
  20. package/dist/neutral/Payload/identity/isApiCallBase64Result.d.ts.map +1 -0
  21. package/dist/neutral/Payload/identity/isApiCallErrorResult.d.ts +3 -0
  22. package/dist/neutral/Payload/identity/isApiCallErrorResult.d.ts.map +1 -0
  23. package/dist/neutral/Payload/identity/isApiCallResult.d.ts +3 -0
  24. package/dist/neutral/Payload/identity/isApiCallResult.d.ts.map +1 -0
  25. package/dist/neutral/Payload/identity/isApiCallXmlResult.d.ts +3 -0
  26. package/dist/neutral/Payload/identity/isApiCallXmlResult.d.ts.map +1 -0
  27. package/dist/neutral/Payload/identity/isApiUriCall.d.ts +3 -0
  28. package/dist/neutral/Payload/identity/isApiUriCall.d.ts.map +1 -0
  29. package/dist/neutral/Payload/identity/isApiUriTemplateCall.d.ts +3 -0
  30. package/dist/neutral/Payload/identity/isApiUriTemplateCall.d.ts.map +1 -0
  31. package/dist/neutral/Payload/index.d.ts +4 -0
  32. package/dist/neutral/Payload/index.d.ts.map +1 -0
  33. package/dist/neutral/Payload/types/ApiCall.d.ts +4 -0
  34. package/dist/neutral/Payload/types/ApiCall.d.ts.map +1 -0
  35. package/dist/neutral/Payload/types/ApiCallBase64Result.d.ts +11 -0
  36. package/dist/neutral/Payload/types/ApiCallBase64Result.d.ts.map +1 -0
  37. package/dist/neutral/Payload/types/ApiCallErrorResult.d.ts +9 -0
  38. package/dist/neutral/Payload/types/ApiCallErrorResult.d.ts.map +1 -0
  39. package/dist/neutral/Payload/types/ApiCallFields.d.ts +8 -0
  40. package/dist/neutral/Payload/types/ApiCallFields.d.ts.map +1 -0
  41. package/dist/neutral/Payload/types/ApiCallJsonResult.d.ts +34 -0
  42. package/dist/neutral/Payload/types/ApiCallJsonResult.d.ts.map +1 -0
  43. package/dist/neutral/Payload/types/ApiCallResult.d.ts +8 -0
  44. package/dist/neutral/Payload/types/ApiCallResult.d.ts.map +1 -0
  45. package/dist/neutral/Payload/types/ApiCallXmlResult.d.ts +9 -0
  46. package/dist/neutral/Payload/types/ApiCallXmlResult.d.ts.map +1 -0
  47. package/dist/neutral/Payload/types/ApiUriCall.d.ts +7 -0
  48. package/dist/neutral/Payload/types/ApiUriCall.d.ts.map +1 -0
  49. package/dist/neutral/Payload/types/ApiUriTemplateCall.d.ts +8 -0
  50. package/dist/neutral/Payload/types/ApiUriTemplateCall.d.ts.map +1 -0
  51. package/dist/neutral/Payload/types/HttpMeta.d.ts +5 -0
  52. package/dist/neutral/Payload/types/HttpMeta.d.ts.map +1 -0
  53. package/dist/neutral/Payload/types/MimeTypes.d.ts +2 -0
  54. package/dist/neutral/Payload/types/MimeTypes.d.ts.map +1 -0
  55. package/dist/neutral/Payload/types/Queries.d.ts +2 -0
  56. package/dist/neutral/Payload/types/Queries.d.ts.map +1 -0
  57. package/dist/neutral/Payload/types/Verb.d.ts +2 -0
  58. package/dist/neutral/Payload/types/Verb.d.ts.map +1 -0
  59. package/dist/neutral/Payload/types/index.d.ts +14 -0
  60. package/dist/neutral/Payload/types/index.d.ts.map +1 -0
  61. package/dist/neutral/Witness/Config.d.ts +140 -0
  62. package/dist/neutral/Witness/Config.d.ts.map +1 -0
  63. package/dist/neutral/Witness/Params.d.ts +7 -0
  64. package/dist/neutral/Witness/Params.d.ts.map +1 -0
  65. package/dist/neutral/Witness/Schema.d.ts +3 -0
  66. package/dist/neutral/Witness/Schema.d.ts.map +1 -0
  67. package/dist/neutral/Witness/Witness.d.ts +16 -0
  68. package/dist/neutral/Witness/Witness.d.ts.map +1 -0
  69. package/dist/neutral/Witness/index.d.ts +5 -0
  70. package/dist/neutral/Witness/index.d.ts.map +1 -0
  71. package/dist/neutral/index.d.ts +3 -359
  72. package/dist/neutral/index.d.ts.map +1 -0
  73. package/dist/neutral/index.mjs +23 -13
  74. package/dist/neutral/index.mjs.map +1 -1
  75. package/dist/neutral/lib/checkIpfsUrl.d.ts +2 -0
  76. package/dist/neutral/lib/checkIpfsUrl.d.ts.map +1 -0
  77. package/dist/neutral/lib/index.d.ts +2 -0
  78. package/dist/neutral/lib/index.d.ts.map +1 -0
  79. package/package.json +43 -43
  80. package/src/Witness/Config.ts +3 -1
  81. package/src/Witness/Witness.ts +17 -14
  82. package/xy.config.ts +1 -3
@@ -0,0 +1,7 @@
1
+ import type { WitnessParams } from '@xyo-network/witness-model';
2
+ import type { ApiCallWitnessConfig } from './Config.ts';
3
+ export type ApiCallWitnessParams = WitnessParams<ApiCallWitnessConfig, {
4
+ headers?: Record<string, string | undefined>;
5
+ ipfsGateway?: string;
6
+ }>;
7
+ //# sourceMappingURL=Params.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Params.d.ts","sourceRoot":"","sources":["../../../src/Witness/Params.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAE/D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAEvD,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"}
@@ -0,0 +1,3 @@
1
+ export declare const ApiCallWitnessConfigSchema = "network.xyo.api.call.witness.config";
2
+ export type ApiCallWitnessConfigSchema = typeof ApiCallWitnessConfigSchema;
3
+ //# sourceMappingURL=Schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Schema.d.ts","sourceRoot":"","sources":["../../../src/Witness/Schema.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,0BAA0B,wCAAwC,CAAA;AAC/E,MAAM,MAAM,0BAA0B,GAAG,OAAO,0BAA0B,CAAA"}
@@ -0,0 +1,16 @@
1
+ import { AbstractWitness } from '@xyo-network/abstract-witness';
2
+ import type { Schema } from '@xyo-network/payload-model';
3
+ import type { ApiCall, ApiCallResult, MimeTypes } from '../Payload/index.ts';
4
+ import type { ApiCallWitnessParams } from './Params.ts';
5
+ export declare class ApiCallWitness<TParams extends ApiCallWitnessParams = ApiCallWitnessParams> extends AbstractWitness<TParams, ApiCall, ApiCallResult> {
6
+ static readonly configSchemas: Schema[];
7
+ static readonly defaultConfigSchema: Schema;
8
+ get accept(): MimeTypes;
9
+ get ipfsGateway(): string | undefined;
10
+ get timeout(): number | undefined;
11
+ getFullUri(call?: ApiCall): string;
12
+ getHeaders(headers?: Record<string, string | undefined>): Record<string, string | undefined>;
13
+ protected observeHandler(inPayloads?: ApiCall[]): Promise<ApiCallResult[]>;
14
+ private httpGet;
15
+ }
16
+ //# sourceMappingURL=Witness.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Witness.d.ts","sourceRoot":"","sources":["../../../src/Witness/Witness.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAG/D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAQxD,OAAO,KAAK,EACV,OAAO,EAKP,aAAa,EAEb,SAAS,EACV,MAAM,qBAAqB,CAAA;AAQ5B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAGvD,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,IAAI,SAAS,CAEtB;IAED,IAAI,WAAW,uBAEd;IAED,IAAI,OAAO,uBAEV;IAED,UAAU,CAAC,IAAI,CAAC,EAAE,OAAO,GAAG,MAAM;IAiClC,UAAU,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;cAMnE,cAAc,CAAC,UAAU,GAAE,OAAO,EAAO,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;YAiC/E,OAAO;CAwEtB"}
@@ -0,0 +1,5 @@
1
+ export * from './Config.ts';
2
+ export * from './Params.ts';
3
+ export * from './Schema.ts';
4
+ export * from './Witness.ts';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Witness/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA"}
@@ -1,359 +1,3 @@
1
- import * as _xylabs_object from '@xylabs/object';
2
- import { JsonArray, JsonObject } from '@xylabs/object';
3
- import * as _store__xylabs_promise_npm_4_0_2_e41c5d98a1_package from '.store/@xylabs-promise-npm-4.0.2-e41c5d98a1/package';
4
- import * as _xyo_network_payload_model from '@xyo-network/payload-model';
5
- import { Payload, Schema } from '@xyo-network/payload-model';
6
- import * as _xylabs_hex from '@xylabs/hex';
7
- import { Hash } from '@xylabs/hex';
8
- import * as _store__xyo_network_module_model_npm_3_0_3_20e48b6d2d_package from '.store/@xyo-network-module-model-npm-3.0.3-20e48b6d2d/package';
9
- import { WitnessConfig, WitnessParams } from '@xyo-network/witness-model';
10
- import { AbstractWitness } from '@xyo-network/abstract-witness';
11
-
12
- declare const asApiCall: {
13
- <TType extends ApiCall>(value: _store__xylabs_promise_npm_4_0_2_e41c5d98a1_package.AnyNonPromise, config?: _xylabs_object.TypeCheckConfig): TType | undefined;
14
- <TType extends ApiCall>(value: _store__xylabs_promise_npm_4_0_2_e41c5d98a1_package.AnyNonPromise, assert: _xylabs_object.StringOrAlertFunction<ApiCall>, config?: _xylabs_object.TypeCheckConfig): TType;
15
- };
16
-
17
- declare const asApiCallBase64Result: {
18
- <TType extends _xyo_network_payload_model.SchemaFields & _xyo_network_payload_model.PayloadFields & {
19
- call: _xylabs_hex.Hash;
20
- contentType: Exclude<Exclude<string, ApiCallJsonResult["contentType"]>, ApiCallXmlResult["contentType"]>;
21
- data: string;
22
- } & {
23
- schema: "network.xyo.api.call.result";
24
- }>(value: _store__xylabs_promise_npm_4_0_2_e41c5d98a1_package.AnyNonPromise, config?: _xylabs_object.TypeCheckConfig): TType | undefined;
25
- <TType extends _xyo_network_payload_model.SchemaFields & _xyo_network_payload_model.PayloadFields & {
26
- call: _xylabs_hex.Hash;
27
- contentType: Exclude<Exclude<string, ApiCallJsonResult["contentType"]>, ApiCallXmlResult["contentType"]>;
28
- data: string;
29
- } & {
30
- schema: "network.xyo.api.call.result";
31
- }>(value: _store__xylabs_promise_npm_4_0_2_e41c5d98a1_package.AnyNonPromise, assert: _xylabs_object.StringOrAlertFunction<_xyo_network_payload_model.SchemaFields & _xyo_network_payload_model.PayloadFields & {
32
- call: _xylabs_hex.Hash;
33
- contentType: Exclude<Exclude<string, ApiCallJsonResult["contentType"]>, ApiCallXmlResult["contentType"]>;
34
- data: string;
35
- } & {
36
- schema: "network.xyo.api.call.result";
37
- }>, config?: _xylabs_object.TypeCheckConfig): TType;
38
- };
39
-
40
- declare const asApiCallResult: {
41
- <TType extends ApiCallResult>(value: _store__xylabs_promise_npm_4_0_2_e41c5d98a1_package.AnyNonPromise, config?: _xylabs_object.TypeCheckConfig): TType | undefined;
42
- <TType extends ApiCallResult>(value: _store__xylabs_promise_npm_4_0_2_e41c5d98a1_package.AnyNonPromise, assert: _xylabs_object.StringOrAlertFunction<ApiCallResult>, config?: _xylabs_object.TypeCheckConfig): TType;
43
- };
44
-
45
- declare const asApiCallXmlResult: {
46
- <TType extends _xyo_network_payload_model.SchemaFields & _xyo_network_payload_model.PayloadFields & {
47
- call: _xylabs_hex.Hash;
48
- contentType: "application/xml" | "text/xml";
49
- data: string;
50
- } & {
51
- schema: "network.xyo.api.call.result";
52
- }>(value: _store__xylabs_promise_npm_4_0_2_e41c5d98a1_package.AnyNonPromise, config?: _xylabs_object.TypeCheckConfig): TType | undefined;
53
- <TType extends _xyo_network_payload_model.SchemaFields & _xyo_network_payload_model.PayloadFields & {
54
- call: _xylabs_hex.Hash;
55
- contentType: "application/xml" | "text/xml";
56
- data: string;
57
- } & {
58
- schema: "network.xyo.api.call.result";
59
- }>(value: _store__xylabs_promise_npm_4_0_2_e41c5d98a1_package.AnyNonPromise, assert: _xylabs_object.StringOrAlertFunction<_xyo_network_payload_model.SchemaFields & _xyo_network_payload_model.PayloadFields & {
60
- call: _xylabs_hex.Hash;
61
- contentType: "application/xml" | "text/xml";
62
- data: string;
63
- } & {
64
- schema: "network.xyo.api.call.result";
65
- }>, config?: _xylabs_object.TypeCheckConfig): TType;
66
- };
67
-
68
- declare const asApiUriCall: {
69
- <TType extends _xyo_network_payload_model.SchemaFields & _xyo_network_payload_model.PayloadFields & ApiCallFields & {
70
- uri: string;
71
- } & {
72
- schema: "network.xyo.api.call";
73
- }>(value: _store__xylabs_promise_npm_4_0_2_e41c5d98a1_package.AnyNonPromise, config?: _xylabs_object.TypeCheckConfig): TType | undefined;
74
- <TType extends _xyo_network_payload_model.SchemaFields & _xyo_network_payload_model.PayloadFields & ApiCallFields & {
75
- uri: string;
76
- } & {
77
- schema: "network.xyo.api.call";
78
- }>(value: _store__xylabs_promise_npm_4_0_2_e41c5d98a1_package.AnyNonPromise, assert: _xylabs_object.StringOrAlertFunction<_xyo_network_payload_model.SchemaFields & _xyo_network_payload_model.PayloadFields & ApiCallFields & {
79
- uri: string;
80
- } & {
81
- schema: "network.xyo.api.call";
82
- }>, config?: _xylabs_object.TypeCheckConfig): TType;
83
- };
84
-
85
- declare const asApiUriTemplateCall: {
86
- <TType extends _xyo_network_payload_model.SchemaFields & _xyo_network_payload_model.PayloadFields & ApiCallFields & {
87
- params?: Record<string, string>;
88
- uriTemplate?: string;
89
- } & {
90
- schema: "network.xyo.api.call";
91
- }>(value: _store__xylabs_promise_npm_4_0_2_e41c5d98a1_package.AnyNonPromise, config?: _xylabs_object.TypeCheckConfig): TType | undefined;
92
- <TType extends _xyo_network_payload_model.SchemaFields & _xyo_network_payload_model.PayloadFields & ApiCallFields & {
93
- params?: Record<string, string>;
94
- uriTemplate?: string;
95
- } & {
96
- schema: "network.xyo.api.call";
97
- }>(value: _store__xylabs_promise_npm_4_0_2_e41c5d98a1_package.AnyNonPromise, assert: _xylabs_object.StringOrAlertFunction<_xyo_network_payload_model.SchemaFields & _xyo_network_payload_model.PayloadFields & ApiCallFields & {
98
- params?: Record<string, string>;
99
- uriTemplate?: string;
100
- } & {
101
- schema: "network.xyo.api.call";
102
- }>, config?: _xylabs_object.TypeCheckConfig): TType;
103
- };
104
-
105
- declare const ApiCallSchema = "network.xyo.api.call";
106
- type ApiCallSchema = typeof ApiCallSchema;
107
- declare const ApiCallResultSchema = "network.xyo.api.call.result";
108
- type ApiCallResultSchema = typeof ApiCallResultSchema;
109
-
110
- type Queries = Record<string, string>;
111
-
112
- type Verb = 'get' | 'post';
113
-
114
- interface ApiCallFields {
115
- headers?: Record<string, string | undefined>;
116
- queries?: Queries;
117
- verb?: Verb;
118
- }
119
-
120
- type ApiUriCall = Payload<ApiCallFields & {
121
- uri: string;
122
- }, ApiCallSchema>;
123
-
124
- type ApiUriTemplateCall = Payload<ApiCallFields & {
125
- params?: Record<string, string>;
126
- uriTemplate?: string;
127
- }, ApiCallSchema>;
128
-
129
- type ApiCall = ApiUriCall | ApiUriTemplateCall;
130
-
131
- type ApiCallJsonResultType = JsonArray | JsonObject;
132
- type ApiCallJsonResult<T extends ApiCallJsonResultType = ApiCallJsonResultType> = Payload<{
133
- call: Hash;
134
- contentType: 'application/json';
135
- data: T;
136
- }, ApiCallResultSchema>;
137
- declare const isApiCallJsonResult: <T extends ApiCallJsonResultType = ApiCallJsonResultType>(x?: unknown | null) => x is ApiCallJsonResult<T>;
138
- declare const asApiCallJsonResult: {
139
- <TType extends _xyo_network_payload_model.SchemaFields & _xyo_network_payload_model.PayloadFields & {
140
- call: Hash;
141
- contentType: "application/json";
142
- data: ApiCallJsonResultType;
143
- } & {
144
- schema: "network.xyo.api.call.result";
145
- }>(value: _store__xylabs_promise_npm_4_0_2_e41c5d98a1_package.AnyNonPromise, config?: _xylabs_object.TypeCheckConfig): TType | undefined;
146
- <TType extends _xyo_network_payload_model.SchemaFields & _xyo_network_payload_model.PayloadFields & {
147
- call: Hash;
148
- contentType: "application/json";
149
- data: ApiCallJsonResultType;
150
- } & {
151
- schema: "network.xyo.api.call.result";
152
- }>(value: _store__xylabs_promise_npm_4_0_2_e41c5d98a1_package.AnyNonPromise, assert: _xylabs_object.StringOrAlertFunction<_xyo_network_payload_model.SchemaFields & _xyo_network_payload_model.PayloadFields & {
153
- call: Hash;
154
- contentType: "application/json";
155
- data: ApiCallJsonResultType;
156
- } & {
157
- schema: "network.xyo.api.call.result";
158
- }>, config?: _xylabs_object.TypeCheckConfig): TType;
159
- };
160
-
161
- type ApiCallXmlResult = Payload<{
162
- call: Hash;
163
- contentType: 'application/xml' | 'text/xml';
164
- data: string;
165
- }, ApiCallResultSchema>;
166
-
167
- type ApiCallBase64Result = Payload<{
168
- call: Hash;
169
- contentType: Exclude<Exclude<string, ApiCallJsonResult['contentType']>, ApiCallXmlResult['contentType']>;
170
- data: string;
171
- }, ApiCallResultSchema>;
172
-
173
- interface HttpMeta {
174
- code?: string;
175
- status?: number;
176
- }
177
-
178
- type ApiCallErrorResult = Payload<{
179
- call: Hash;
180
- http?: HttpMeta;
181
- }, ApiCallResultSchema>;
182
-
183
- type NewType = JsonObject;
184
- type ApiCallResult<TJson extends JsonArray | JsonObject = JsonArray | NewType> = ApiCallBase64Result | ApiCallJsonResult<TJson> | ApiCallErrorResult;
185
-
186
- type MimeTypes = 'application/json' | 'application/octet-stream' | 'application/pdf' | 'application/xhtml+xml' | 'application/xml' | 'image/gif' | 'image/jpeg' | 'image/png' | 'text/html' | 'text/plain' | 'text/xml';
187
-
188
- declare const isApiCall: (x?: unknown | null) => x is ApiCall;
189
-
190
- declare const isApiCallBase64Result: (x?: unknown | null) => x is ApiCallBase64Result;
191
-
192
- declare const isApiCallErrorResult: (value: unknown) => value is ApiCallErrorResult;
193
-
194
- declare const isApiCallResult: (x?: unknown | null) => x is ApiCallResult;
195
-
196
- declare const isApiCallXmlResult: (x?: unknown | null) => x is ApiCallXmlResult;
197
-
198
- declare const isApiUriCall: (value?: unknown) => value is ApiUriCall;
199
-
200
- declare const isApiUriTemplateCall: (value?: unknown) => value is ApiUriTemplateCall;
201
-
202
- declare const ApiCallWitnessConfigSchema = "network.xyo.api.call.witness.config";
203
- type ApiCallWitnessConfigSchema = typeof ApiCallWitnessConfigSchema;
204
-
205
- type ApiCallWitnessConfigBase = WitnessConfig<{
206
- accept?: MimeTypes;
207
- headers?: Record<string, string | undefined>;
208
- queries?: ApiCall['queries'];
209
- schema: ApiCallWitnessConfigSchema;
210
- timeout?: number;
211
- verb?: ApiCall['verb'];
212
- }>;
213
- type ApiUriCallWitnessConfig = WitnessConfig<ApiCallWitnessConfigBase & {
214
- uri: ApiUriCall['uri'];
215
- }>;
216
- type ApiUriTemplateCallWitnessConfig = WitnessConfig<ApiCallWitnessConfigBase & {
217
- params?: Record<string, string>;
218
- uriTemplate: ApiUriTemplateCall['uriTemplate'];
219
- }>;
220
- type ApiCallWitnessConfig = ApiUriCallWitnessConfig | ApiUriTemplateCallWitnessConfig | ApiCallWitnessConfigBase;
221
- declare const isApiCallWitnessConfig: (x?: unknown | null) => x is ApiCallWitnessConfig;
222
- declare const asApiCallWitnessConfig: {
223
- <TType extends ApiCallWitnessConfig>(value: _store__xylabs_promise_npm_4_0_2_e41c5d98a1_package.AnyNonPromise, config?: _xylabs_object.TypeCheckConfig): TType | undefined;
224
- <TType extends ApiCallWitnessConfig>(value: _store__xylabs_promise_npm_4_0_2_e41c5d98a1_package.AnyNonPromise, assert: _xylabs_object.StringOrAlertFunction<ApiCallWitnessConfig>, config?: _xylabs_object.TypeCheckConfig): TType;
225
- };
226
- declare const isApiUriCallWitnessConfig: (value?: unknown) => value is ApiUriCallWitnessConfig;
227
- declare const asApiUriCallWitnessConfig: {
228
- <TType extends _xyo_network_payload_model.SchemaFields & _xyo_network_payload_model.PayloadFields & Omit<_store__xyo_network_module_model_npm_3_0_3_20e48b6d2d_package.ArchivingModuleConfig & _store__xyo_network_module_model_npm_3_0_3_20e48b6d2d_package.ModuleConfigFields & {
229
- schema: "network.xyo.api.call.witness.config";
230
- } & _xyo_network_payload_model.SchemaFields & _xyo_network_payload_model.PayloadFields & Omit<_store__xyo_network_module_model_npm_3_0_3_20e48b6d2d_package.ArchivingModuleConfig & _store__xyo_network_module_model_npm_3_0_3_20e48b6d2d_package.ModuleConfigFields & {
231
- schema: "network.xyo.api.call.witness.config";
232
- } & {
233
- accept?: MimeTypes;
234
- headers?: Record<string, string | undefined>;
235
- queries?: ApiCall["queries"];
236
- schema: ApiCallWitnessConfigSchema;
237
- timeout?: number;
238
- verb?: ApiCall["verb"];
239
- }, "schema"> & {
240
- schema: "network.xyo.api.call.witness.config";
241
- } & {
242
- uri: ApiUriCall["uri"];
243
- }, "schema"> & {
244
- schema: "network.xyo.api.call.witness.config";
245
- }>(value: _store__xylabs_promise_npm_4_0_2_e41c5d98a1_package.AnyNonPromise, config?: _xylabs_object.TypeCheckConfig): TType | undefined;
246
- <TType extends _xyo_network_payload_model.SchemaFields & _xyo_network_payload_model.PayloadFields & Omit<_store__xyo_network_module_model_npm_3_0_3_20e48b6d2d_package.ArchivingModuleConfig & _store__xyo_network_module_model_npm_3_0_3_20e48b6d2d_package.ModuleConfigFields & {
247
- schema: "network.xyo.api.call.witness.config";
248
- } & _xyo_network_payload_model.SchemaFields & _xyo_network_payload_model.PayloadFields & Omit<_store__xyo_network_module_model_npm_3_0_3_20e48b6d2d_package.ArchivingModuleConfig & _store__xyo_network_module_model_npm_3_0_3_20e48b6d2d_package.ModuleConfigFields & {
249
- schema: "network.xyo.api.call.witness.config";
250
- } & {
251
- accept?: MimeTypes;
252
- headers?: Record<string, string | undefined>;
253
- queries?: ApiCall["queries"];
254
- schema: ApiCallWitnessConfigSchema;
255
- timeout?: number;
256
- verb?: ApiCall["verb"];
257
- }, "schema"> & {
258
- schema: "network.xyo.api.call.witness.config";
259
- } & {
260
- uri: ApiUriCall["uri"];
261
- }, "schema"> & {
262
- schema: "network.xyo.api.call.witness.config";
263
- }>(value: _store__xylabs_promise_npm_4_0_2_e41c5d98a1_package.AnyNonPromise, assert: _xylabs_object.StringOrAlertFunction<_xyo_network_payload_model.SchemaFields & _xyo_network_payload_model.PayloadFields & Omit<_store__xyo_network_module_model_npm_3_0_3_20e48b6d2d_package.ArchivingModuleConfig & _store__xyo_network_module_model_npm_3_0_3_20e48b6d2d_package.ModuleConfigFields & {
264
- schema: "network.xyo.api.call.witness.config";
265
- } & _xyo_network_payload_model.SchemaFields & _xyo_network_payload_model.PayloadFields & Omit<_store__xyo_network_module_model_npm_3_0_3_20e48b6d2d_package.ArchivingModuleConfig & _store__xyo_network_module_model_npm_3_0_3_20e48b6d2d_package.ModuleConfigFields & {
266
- schema: "network.xyo.api.call.witness.config";
267
- } & {
268
- accept?: MimeTypes;
269
- headers?: Record<string, string | undefined>;
270
- queries?: ApiCall["queries"];
271
- schema: ApiCallWitnessConfigSchema;
272
- timeout?: number;
273
- verb?: ApiCall["verb"];
274
- }, "schema"> & {
275
- schema: "network.xyo.api.call.witness.config";
276
- } & {
277
- uri: ApiUriCall["uri"];
278
- }, "schema"> & {
279
- schema: "network.xyo.api.call.witness.config";
280
- }>, config?: _xylabs_object.TypeCheckConfig): TType;
281
- };
282
- declare const isApiUriTemplateCallWitnessConfig: (value?: unknown) => value is ApiUriTemplateCallWitnessConfig;
283
- declare const asApiUriTemplateCallWitnessConfig: {
284
- <TType extends _xyo_network_payload_model.SchemaFields & _xyo_network_payload_model.PayloadFields & Omit<_store__xyo_network_module_model_npm_3_0_3_20e48b6d2d_package.ArchivingModuleConfig & _store__xyo_network_module_model_npm_3_0_3_20e48b6d2d_package.ModuleConfigFields & {
285
- schema: "network.xyo.api.call.witness.config";
286
- } & _xyo_network_payload_model.SchemaFields & _xyo_network_payload_model.PayloadFields & Omit<_store__xyo_network_module_model_npm_3_0_3_20e48b6d2d_package.ArchivingModuleConfig & _store__xyo_network_module_model_npm_3_0_3_20e48b6d2d_package.ModuleConfigFields & {
287
- schema: "network.xyo.api.call.witness.config";
288
- } & {
289
- accept?: MimeTypes;
290
- headers?: Record<string, string | undefined>;
291
- queries?: ApiCall["queries"];
292
- schema: ApiCallWitnessConfigSchema;
293
- timeout?: number;
294
- verb?: ApiCall["verb"];
295
- }, "schema"> & {
296
- schema: "network.xyo.api.call.witness.config";
297
- } & {
298
- params?: Record<string, string>;
299
- uriTemplate: ApiUriTemplateCall["uriTemplate"];
300
- }, "schema"> & {
301
- schema: "network.xyo.api.call.witness.config";
302
- }>(value: _store__xylabs_promise_npm_4_0_2_e41c5d98a1_package.AnyNonPromise, config?: _xylabs_object.TypeCheckConfig): TType | undefined;
303
- <TType extends _xyo_network_payload_model.SchemaFields & _xyo_network_payload_model.PayloadFields & Omit<_store__xyo_network_module_model_npm_3_0_3_20e48b6d2d_package.ArchivingModuleConfig & _store__xyo_network_module_model_npm_3_0_3_20e48b6d2d_package.ModuleConfigFields & {
304
- schema: "network.xyo.api.call.witness.config";
305
- } & _xyo_network_payload_model.SchemaFields & _xyo_network_payload_model.PayloadFields & Omit<_store__xyo_network_module_model_npm_3_0_3_20e48b6d2d_package.ArchivingModuleConfig & _store__xyo_network_module_model_npm_3_0_3_20e48b6d2d_package.ModuleConfigFields & {
306
- schema: "network.xyo.api.call.witness.config";
307
- } & {
308
- accept?: MimeTypes;
309
- headers?: Record<string, string | undefined>;
310
- queries?: ApiCall["queries"];
311
- schema: ApiCallWitnessConfigSchema;
312
- timeout?: number;
313
- verb?: ApiCall["verb"];
314
- }, "schema"> & {
315
- schema: "network.xyo.api.call.witness.config";
316
- } & {
317
- params?: Record<string, string>;
318
- uriTemplate: ApiUriTemplateCall["uriTemplate"];
319
- }, "schema"> & {
320
- schema: "network.xyo.api.call.witness.config";
321
- }>(value: _store__xylabs_promise_npm_4_0_2_e41c5d98a1_package.AnyNonPromise, assert: _xylabs_object.StringOrAlertFunction<_xyo_network_payload_model.SchemaFields & _xyo_network_payload_model.PayloadFields & Omit<_store__xyo_network_module_model_npm_3_0_3_20e48b6d2d_package.ArchivingModuleConfig & _store__xyo_network_module_model_npm_3_0_3_20e48b6d2d_package.ModuleConfigFields & {
322
- schema: "network.xyo.api.call.witness.config";
323
- } & _xyo_network_payload_model.SchemaFields & _xyo_network_payload_model.PayloadFields & Omit<_store__xyo_network_module_model_npm_3_0_3_20e48b6d2d_package.ArchivingModuleConfig & _store__xyo_network_module_model_npm_3_0_3_20e48b6d2d_package.ModuleConfigFields & {
324
- schema: "network.xyo.api.call.witness.config";
325
- } & {
326
- accept?: MimeTypes;
327
- headers?: Record<string, string | undefined>;
328
- queries?: ApiCall["queries"];
329
- schema: ApiCallWitnessConfigSchema;
330
- timeout?: number;
331
- verb?: ApiCall["verb"];
332
- }, "schema"> & {
333
- schema: "network.xyo.api.call.witness.config";
334
- } & {
335
- params?: Record<string, string>;
336
- uriTemplate: ApiUriTemplateCall["uriTemplate"];
337
- }, "schema"> & {
338
- schema: "network.xyo.api.call.witness.config";
339
- }>, config?: _xylabs_object.TypeCheckConfig): TType;
340
- };
341
-
342
- type ApiCallWitnessParams = WitnessParams<ApiCallWitnessConfig, {
343
- headers?: Record<string, string | undefined>;
344
- ipfsGateway?: string;
345
- }>;
346
-
347
- declare class ApiCallWitness<TParams extends ApiCallWitnessParams = ApiCallWitnessParams> extends AbstractWitness<TParams, ApiCall, ApiCallResult> {
348
- static readonly configSchemas: Schema[];
349
- static readonly defaultConfigSchema: Schema;
350
- get accept(): MimeTypes;
351
- get ipfsGateway(): string | undefined;
352
- get timeout(): number | undefined;
353
- getFullUri(call?: ApiCall): string;
354
- getHeaders(headers?: Record<string, string | undefined>): Record<string, string | undefined>;
355
- protected observeHandler(inPayloads?: ApiCall[]): Promise<ApiCallResult[]>;
356
- private httpGet;
357
- }
358
-
359
- export { type ApiCall, type ApiCallBase64Result, type ApiCallErrorResult, type ApiCallFields, type ApiCallJsonResult, type ApiCallJsonResultType, type ApiCallResult, ApiCallResultSchema, ApiCallSchema, ApiCallWitness, type ApiCallWitnessConfig, type ApiCallWitnessConfigBase, ApiCallWitnessConfigSchema, type ApiCallWitnessParams, type ApiCallXmlResult, type ApiUriCall, type ApiUriCallWitnessConfig, type ApiUriTemplateCall, type ApiUriTemplateCallWitnessConfig, type HttpMeta, type MimeTypes, type Queries, type Verb, asApiCall, asApiCallBase64Result, asApiCallJsonResult, asApiCallResult, asApiCallWitnessConfig, asApiCallXmlResult, asApiUriCall, asApiUriCallWitnessConfig, asApiUriTemplateCall, asApiUriTemplateCallWitnessConfig, isApiCall, isApiCallBase64Result, isApiCallErrorResult, isApiCallJsonResult, isApiCallResult, isApiCallWitnessConfig, isApiCallXmlResult, isApiUriCall, isApiUriCallWitnessConfig, isApiUriTemplateCall, isApiUriTemplateCallWitnessConfig };
1
+ export * from './Payload/index.ts';
2
+ export * from './Witness/index.ts';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA"}
@@ -155,9 +155,17 @@ var ApiCallWitness = class extends AbstractWitness {
155
155
  }
156
156
  getFullUri(call) {
157
157
  const { uri: callUri } = asApiUriCall(call) ?? {};
158
- const { uriTemplate: callUriTemplate, params: callParams, queries: callQueries } = asApiUriTemplateCall(call) ?? {};
158
+ const {
159
+ uriTemplate: callUriTemplate,
160
+ params: callParams,
161
+ queries: callQueries
162
+ } = asApiUriTemplateCall(call) ?? {};
159
163
  const { uri: configUri } = asApiUriCallWitnessConfig(this.config) ?? {};
160
- const { uriTemplate: configUriTemplate, params: configParams, queries: configQueries } = asApiUriTemplateCallWitnessConfig(this.config) ?? {};
164
+ const {
165
+ uriTemplate: configUriTemplate,
166
+ params: configParams,
167
+ queries: configQueries
168
+ } = asApiUriTemplateCallWitnessConfig(this.config) ?? {};
161
169
  const params = { ...configParams, ...callParams };
162
170
  let url = void 0;
163
171
  if (callUri) {
@@ -177,7 +185,11 @@ var ApiCallWitness = class extends AbstractWitness {
177
185
  throw new Error("Unable to determine uri. No uri/uriTemplate specified in either the call or config.");
178
186
  }
179
187
  getHeaders(headers) {
180
- return { ...this.params.headers, ...this.config.headers, ...headers };
188
+ return {
189
+ ...this.params.headers,
190
+ ...this.config.headers,
191
+ ...headers
192
+ };
181
193
  }
182
194
  async observeHandler(inPayloads = []) {
183
195
  await this.started("throw");
@@ -224,9 +236,7 @@ var ApiCallWitness = class extends AbstractWitness {
224
236
  jsonResult.contentType = "application/json";
225
237
  } else {
226
238
  const errorResult = result;
227
- errorResult.http = {
228
- status: response.status
229
- };
239
+ errorResult.http = { status: response.status };
230
240
  }
231
241
  break;
232
242
  }
@@ -244,14 +254,16 @@ var ApiCallWitness = class extends AbstractWitness {
244
254
  xmlResult.contentType = response.headers["content-type"]?.toString() ?? "application/xml";
245
255
  } else {
246
256
  const errorResult = result;
247
- errorResult.http = {
248
- status: response.status
249
- };
257
+ errorResult.http = { status: response.status };
250
258
  }
251
259
  break;
252
260
  }
253
261
  default: {
254
- const axios = new Axios({ headers: this.params.headers, responseType: "arraybuffer", timeout: this.timeout });
262
+ const axios = new Axios({
263
+ headers: this.params.headers,
264
+ responseType: "arraybuffer",
265
+ timeout: this.timeout
266
+ });
255
267
  const response = await axios.get(url);
256
268
  if (response.status >= 200 && response.status < 300) {
257
269
  const jsonResult = result;
@@ -259,9 +271,7 @@ var ApiCallWitness = class extends AbstractWitness {
259
271
  jsonResult.contentType = response.headers["content-type"]?.toString() ?? "application/octet-stream";
260
272
  } else {
261
273
  const errorResult = result;
262
- errorResult.http = {
263
- status: response.status
264
- };
274
+ errorResult.http = { status: response.status };
265
275
  }
266
276
  break;
267
277
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Payload/identity/asApiCall.ts","../../src/Payload/identity/isApiCall.ts","../../src/Payload/Schema.ts","../../src/Payload/identity/asApiCallBase64Result.ts","../../src/Payload/identity/isApiCallBase64Result.ts","../../src/Payload/identity/asApiCallResult.ts","../../src/Payload/identity/isApiCallResult.ts","../../src/Payload/identity/asApiCallXmlResult.ts","../../src/Payload/identity/isApiCallXmlResult.ts","../../src/Payload/identity/asApiUriCall.ts","../../src/Payload/identity/isApiUriCall.ts","../../src/Payload/identity/asApiUriTemplateCall.ts","../../src/Payload/identity/isApiUriTemplateCall.ts","../../src/Payload/identity/isApiCallErrorResult.ts","../../src/Payload/types/ApiCallJsonResult.ts","../../src/Witness/Config.ts","../../src/Witness/Schema.ts","../../src/Witness/Witness.ts","../../src/lib/checkIpfsUrl.ts"],"sourcesContent":["import { AsObjectFactory } from '@xylabs/object'\n\nimport { isApiCall } from './isApiCall.ts'\n\nexport const asApiCall = AsObjectFactory.create(isApiCall)\n","import { isPayloadOfSchemaType } from '@xyo-network/payload-model'\n\nimport { ApiCallSchema } from '../Schema.ts'\nimport type { ApiCall } from '../types/index.ts'\n\nexport const isApiCall = isPayloadOfSchemaType<ApiCall>(ApiCallSchema)\n","export const ApiCallSchema = 'network.xyo.api.call'\nexport type ApiCallSchema = typeof ApiCallSchema\n\nexport const ApiCallResultSchema = `${ApiCallSchema}.result`\nexport type ApiCallResultSchema = typeof ApiCallResultSchema\n","import { AsObjectFactory } from '@xylabs/object'\n\nimport { isApiCallBase64Result } from './isApiCallBase64Result.ts'\n\nexport const asApiCallBase64Result = AsObjectFactory.create(isApiCallBase64Result)\n","import { isPayloadOfSchemaType } from '@xyo-network/payload-model'\n\nimport { ApiCallResultSchema } from '../Schema.ts'\nimport type { ApiCallBase64Result } from '../types/index.ts'\n\nexport const isApiCallBase64Result = (x?: unknown | null): x is ApiCallBase64Result => {\n return isPayloadOfSchemaType(ApiCallResultSchema)(x) && typeof (x as ApiCallBase64Result)?.data === 'string'\n}\n","import { AsObjectFactory } from '@xylabs/object'\n\nimport { isApiCallResult } from './isApiCallResult.ts'\n\nexport const asApiCallResult = AsObjectFactory.create(isApiCallResult)\n","import { isPayloadOfSchemaType } from '@xyo-network/payload-model'\n\nimport { ApiCallResultSchema } from '../Schema.ts'\nimport type { ApiCallResult } from '../types/index.ts'\n\nexport const isApiCallResult = isPayloadOfSchemaType<ApiCallResult>(ApiCallResultSchema)\n","import { AsObjectFactory } from '@xylabs/object'\n\nimport { isApiCallXmlResult } from './isApiCallXmlResult.ts'\n\nexport const asApiCallXmlResult = AsObjectFactory.create(isApiCallXmlResult)\n","import { isPayloadOfSchemaType } from '@xyo-network/payload-model'\n\nimport { ApiCallResultSchema } from '../Schema.ts'\nimport type { ApiCallXmlResult } from '../types/index.ts'\n\nexport const isApiCallXmlResult = (x?: unknown | null): x is ApiCallXmlResult => {\n return isPayloadOfSchemaType(ApiCallResultSchema)(x) && typeof (x as ApiCallXmlResult)?.data === 'string'\n}\n","import { AsObjectFactory } from '@xylabs/object'\n\nimport { isApiUriCall } from './isApiUriCall.ts'\n\nexport const asApiUriCall = AsObjectFactory.create(isApiUriCall)\n","import type { ApiUriCall } from '../types/index.ts'\nimport { isApiCall } from './isApiCall.ts'\n\nexport const isApiUriCall = (value?: unknown): value is ApiUriCall => isApiCall(value) && !!(value as ApiUriCall).uri\n","import { AsObjectFactory } from '@xylabs/object'\n\nimport { isApiUriTemplateCall } from './isApiUriTemplateCall.ts'\n\nexport const asApiUriTemplateCall = AsObjectFactory.create(isApiUriTemplateCall)\n","import type { ApiUriTemplateCall } from '../types/index.ts'\nimport { isApiCall } from './isApiCall.ts'\n\nexport const isApiUriTemplateCall = (value?: unknown): value is ApiUriTemplateCall =>\n isApiCall(value) && !!((value as ApiUriTemplateCall).uriTemplate || (value as ApiUriTemplateCall).params)\n","import { isPayloadOfSchemaType } from '@xyo-network/payload-model'\n\nimport { ApiCallResultSchema } from '../Schema.ts'\nimport type { ApiCallErrorResult, ApiCallResult } from '../types/index.ts'\n\nexport const isApiCallErrorResult = (value: unknown): value is ApiCallErrorResult =>\n !!isPayloadOfSchemaType<ApiCallResult>(ApiCallResultSchema) && ((value as ApiCallErrorResult).http?.status ?? 200) >= 400\n","import type { Hash } from '@xylabs/hex'\nimport type { JsonArray, JsonObject } from '@xylabs/object'\nimport { AsObjectFactory } from '@xylabs/object'\nimport type { Payload } from '@xyo-network/payload-model'\nimport { isPayloadOfSchemaType } from '@xyo-network/payload-model'\n\nimport { ApiCallResultSchema } from '../Schema.ts'\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","import { AsObjectFactory } from '@xylabs/object'\nimport { isPayloadOfSchemaType } from '@xyo-network/payload-model'\nimport type { WitnessConfig } from '@xyo-network/witness-model'\n\nimport type { ApiCall, ApiUriCall, ApiUriTemplateCall, MimeTypes } from '../Payload/index.ts'\nimport { ApiCallWitnessConfigSchema } from './Schema.ts'\n\nexport type ApiCallWitnessConfigBase = WitnessConfig<{\n accept?: MimeTypes\n headers?: Record<string, string | undefined>\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","export const ApiCallWitnessConfigSchema = 'network.xyo.api.call.witness.config'\nexport type ApiCallWitnessConfigSchema = typeof ApiCallWitnessConfigSchema\n","/* eslint-disable max-statements */\nimport { assertEx } from '@xylabs/assert'\nimport { AxiosJson } from '@xylabs/axios'\nimport type { Hash } from '@xylabs/hex'\nimport { URL } from '@xylabs/url'\nimport { AbstractWitness } from '@xyo-network/abstract-witness'\nimport { PayloadHasher } from '@xyo-network/hash'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport type { Schema } from '@xyo-network/payload-model'\nimport { isPayloadOfSchemaType } from '@xyo-network/payload-model'\nimport type { AxiosError } from 'axios'\nimport { Axios } from 'axios'\nimport { fromByteArray } from 'base64-js'\nimport fillTemplate from 'es6-dynamic-template'\n\nimport { checkIpfsUrl } from '../lib/index.ts'\nimport type {\n ApiCall,\n ApiCallBase64Result,\n ApiCallErrorResult,\n ApiCallJsonResult,\n ApiCallJsonResultType,\n ApiCallResult,\n ApiCallXmlResult,\n MimeTypes } from '../Payload/index.ts'\nimport {\n ApiCallResultSchema,\n ApiCallSchema,\n asApiUriCall,\n asApiUriTemplateCall,\n} from '../Payload/index.ts'\nimport { asApiUriCallWitnessConfig, asApiUriTemplateCallWitnessConfig } from './Config.ts'\nimport type { ApiCallWitnessParams } from './Params.ts'\nimport { ApiCallWitnessConfigSchema } from './Schema.ts'\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(): MimeTypes {\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 getHeaders(headers?: Record<string, string | undefined>): Record<string, string | undefined> {\n return { ...this.params.headers, ...this.config.headers, ...headers }\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 // eslint-disable-next-line complexity\n private async httpGet(url: string, call: Hash, headers?: Record<string, string | undefined>): 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.getHeaders(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 case 'application/xml':\n case 'text/xml': {\n const axios = new Axios({\n headers: { ...this.getHeaders(headers), Accept: this.accept },\n responseType: 'arraybuffer',\n timeout: this.timeout,\n })\n const response = await axios.get(url)\n if (response.status >= 200 && response.status < 300) {\n const xmlResult = result as ApiCallXmlResult\n xmlResult.data = Buffer.from(response.data, 'binary').toString('utf8')\n xmlResult.contentType = response.headers['content-type']?.toString() ?? 'application/xml'\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'\nimport { URL } from '@xylabs/url'\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":["AsObjectFactory","isPayloadOfSchemaType","isPayloadOfSchemaType","AsObjectFactory","AsObjectFactory","isPayloadOfSchemaType","isPayloadOfSchemaType","AsObjectFactory","AsObjectFactory","isPayloadOfSchemaType","isPayloadOfSchemaType","AsObjectFactory","AsObjectFactory","AsObjectFactory","AsObjectFactory","AsObjectFactory","isPayloadOfSchemaType","isPayloadOfSchemaType","AsObjectFactory","isPayloadOfSchemaType","isPayloadOfSchemaType","AsObjectFactory","AsObjectFactory","isPayloadOfSchemaType","isPayloadOfSchemaType","AsObjectFactory","assertEx","URL","isPayloadOfSchemaType","URL","isPayloadOfSchemaType","assertEx"]}
1
+ {"version":3,"sources":["../../src/Payload/identity/asApiCall.ts","../../src/Payload/identity/isApiCall.ts","../../src/Payload/Schema.ts","../../src/Payload/identity/asApiCallBase64Result.ts","../../src/Payload/identity/isApiCallBase64Result.ts","../../src/Payload/identity/asApiCallResult.ts","../../src/Payload/identity/isApiCallResult.ts","../../src/Payload/identity/asApiCallXmlResult.ts","../../src/Payload/identity/isApiCallXmlResult.ts","../../src/Payload/identity/asApiUriCall.ts","../../src/Payload/identity/isApiUriCall.ts","../../src/Payload/identity/asApiUriTemplateCall.ts","../../src/Payload/identity/isApiUriTemplateCall.ts","../../src/Payload/identity/isApiCallErrorResult.ts","../../src/Payload/types/ApiCallJsonResult.ts","../../src/Witness/Config.ts","../../src/Witness/Schema.ts","../../src/Witness/Witness.ts","../../src/lib/checkIpfsUrl.ts"],"sourcesContent":["import { AsObjectFactory } from '@xylabs/object'\n\nimport { isApiCall } from './isApiCall.ts'\n\nexport const asApiCall = AsObjectFactory.create(isApiCall)\n","import { isPayloadOfSchemaType } from '@xyo-network/payload-model'\n\nimport { ApiCallSchema } from '../Schema.ts'\nimport type { ApiCall } from '../types/index.ts'\n\nexport const isApiCall = isPayloadOfSchemaType<ApiCall>(ApiCallSchema)\n","export const ApiCallSchema = 'network.xyo.api.call'\nexport type ApiCallSchema = typeof ApiCallSchema\n\nexport const ApiCallResultSchema = `${ApiCallSchema}.result`\nexport type ApiCallResultSchema = typeof ApiCallResultSchema\n","import { AsObjectFactory } from '@xylabs/object'\n\nimport { isApiCallBase64Result } from './isApiCallBase64Result.ts'\n\nexport const asApiCallBase64Result = AsObjectFactory.create(isApiCallBase64Result)\n","import { isPayloadOfSchemaType } from '@xyo-network/payload-model'\n\nimport { ApiCallResultSchema } from '../Schema.ts'\nimport type { ApiCallBase64Result } from '../types/index.ts'\n\nexport const isApiCallBase64Result = (x?: unknown | null): x is ApiCallBase64Result => {\n return isPayloadOfSchemaType(ApiCallResultSchema)(x) && typeof (x as ApiCallBase64Result)?.data === 'string'\n}\n","import { AsObjectFactory } from '@xylabs/object'\n\nimport { isApiCallResult } from './isApiCallResult.ts'\n\nexport const asApiCallResult = AsObjectFactory.create(isApiCallResult)\n","import { isPayloadOfSchemaType } from '@xyo-network/payload-model'\n\nimport { ApiCallResultSchema } from '../Schema.ts'\nimport type { ApiCallResult } from '../types/index.ts'\n\nexport const isApiCallResult = isPayloadOfSchemaType<ApiCallResult>(ApiCallResultSchema)\n","import { AsObjectFactory } from '@xylabs/object'\n\nimport { isApiCallXmlResult } from './isApiCallXmlResult.ts'\n\nexport const asApiCallXmlResult = AsObjectFactory.create(isApiCallXmlResult)\n","import { isPayloadOfSchemaType } from '@xyo-network/payload-model'\n\nimport { ApiCallResultSchema } from '../Schema.ts'\nimport type { ApiCallXmlResult } from '../types/index.ts'\n\nexport const isApiCallXmlResult = (x?: unknown | null): x is ApiCallXmlResult => {\n return isPayloadOfSchemaType(ApiCallResultSchema)(x) && typeof (x as ApiCallXmlResult)?.data === 'string'\n}\n","import { AsObjectFactory } from '@xylabs/object'\n\nimport { isApiUriCall } from './isApiUriCall.ts'\n\nexport const asApiUriCall = AsObjectFactory.create(isApiUriCall)\n","import type { ApiUriCall } from '../types/index.ts'\nimport { isApiCall } from './isApiCall.ts'\n\nexport const isApiUriCall = (value?: unknown): value is ApiUriCall => isApiCall(value) && !!(value as ApiUriCall).uri\n","import { AsObjectFactory } from '@xylabs/object'\n\nimport { isApiUriTemplateCall } from './isApiUriTemplateCall.ts'\n\nexport const asApiUriTemplateCall = AsObjectFactory.create(isApiUriTemplateCall)\n","import type { ApiUriTemplateCall } from '../types/index.ts'\nimport { isApiCall } from './isApiCall.ts'\n\nexport const isApiUriTemplateCall = (value?: unknown): value is ApiUriTemplateCall =>\n isApiCall(value) && !!((value as ApiUriTemplateCall).uriTemplate || (value as ApiUriTemplateCall).params)\n","import { isPayloadOfSchemaType } from '@xyo-network/payload-model'\n\nimport { ApiCallResultSchema } from '../Schema.ts'\nimport type { ApiCallErrorResult, ApiCallResult } from '../types/index.ts'\n\nexport const isApiCallErrorResult = (value: unknown): value is ApiCallErrorResult =>\n !!isPayloadOfSchemaType<ApiCallResult>(ApiCallResultSchema) && ((value as ApiCallErrorResult).http?.status ?? 200) >= 400\n","import type { Hash } from '@xylabs/hex'\nimport type { JsonArray, JsonObject } from '@xylabs/object'\nimport { AsObjectFactory } from '@xylabs/object'\nimport type { Payload } from '@xyo-network/payload-model'\nimport { isPayloadOfSchemaType } from '@xyo-network/payload-model'\n\nimport { ApiCallResultSchema } from '../Schema.ts'\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","import { AsObjectFactory } from '@xylabs/object'\nimport { isPayloadOfSchemaType } from '@xyo-network/payload-model'\nimport type { WitnessConfig } from '@xyo-network/witness-model'\n\nimport type {\n ApiCall, ApiUriCall, ApiUriTemplateCall, MimeTypes,\n} from '../Payload/index.ts'\nimport { ApiCallWitnessConfigSchema } from './Schema.ts'\n\nexport type ApiCallWitnessConfigBase = WitnessConfig<{\n accept?: MimeTypes\n headers?: Record<string, string | undefined>\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","export const ApiCallWitnessConfigSchema = 'network.xyo.api.call.witness.config'\nexport type ApiCallWitnessConfigSchema = typeof ApiCallWitnessConfigSchema\n","/* eslint-disable max-statements */\nimport { assertEx } from '@xylabs/assert'\nimport { AxiosJson } from '@xylabs/axios'\nimport type { Hash } from '@xylabs/hex'\nimport { URL } from '@xylabs/url'\nimport { AbstractWitness } from '@xyo-network/abstract-witness'\nimport { PayloadHasher } from '@xyo-network/hash'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport type { Schema } from '@xyo-network/payload-model'\nimport { isPayloadOfSchemaType } from '@xyo-network/payload-model'\nimport type { AxiosError } from 'axios'\nimport { Axios } from 'axios'\nimport { fromByteArray } from 'base64-js'\nimport fillTemplate from 'es6-dynamic-template'\n\nimport { checkIpfsUrl } from '../lib/index.ts'\nimport type {\n ApiCall,\n ApiCallBase64Result,\n ApiCallErrorResult,\n ApiCallJsonResult,\n ApiCallJsonResultType,\n ApiCallResult,\n ApiCallXmlResult,\n MimeTypes,\n} from '../Payload/index.ts'\nimport {\n ApiCallResultSchema,\n ApiCallSchema,\n asApiUriCall,\n asApiUriTemplateCall,\n} from '../Payload/index.ts'\nimport { asApiUriCallWitnessConfig, asApiUriTemplateCallWitnessConfig } from './Config.ts'\nimport type { ApiCallWitnessParams } from './Params.ts'\nimport { ApiCallWitnessConfigSchema } from './Schema.ts'\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(): MimeTypes {\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 {\n uriTemplate: callUriTemplate, params: callParams, queries: callQueries,\n } = asApiUriTemplateCall(call) ?? {}\n const { uri: configUri } = asApiUriCallWitnessConfig(this.config) ?? {}\n const {\n uriTemplate: configUriTemplate, params: configParams, queries: configQueries,\n } = 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 getHeaders(headers?: Record<string, string | undefined>): Record<string, string | undefined> {\n return {\n ...this.params.headers, ...this.config.headers, ...headers,\n }\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 // eslint-disable-next-line complexity\n private async httpGet(url: string, call: Hash, headers?: Record<string, string | undefined>): 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.getHeaders(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 = { status: response.status }\n }\n break\n }\n case 'application/xml':\n case 'text/xml': {\n const axios = new Axios({\n headers: { ...this.getHeaders(headers), Accept: this.accept },\n responseType: 'arraybuffer',\n timeout: this.timeout,\n })\n const response = await axios.get(url)\n if (response.status >= 200 && response.status < 300) {\n const xmlResult = result as ApiCallXmlResult\n xmlResult.data = Buffer.from(response.data, 'binary').toString('utf8')\n xmlResult.contentType = response.headers['content-type']?.toString() ?? 'application/xml'\n } else {\n const errorResult = result as ApiCallErrorResult\n errorResult.http = { status: response.status }\n }\n break\n }\n default: {\n const axios = new Axios({\n headers: this.params.headers, responseType: 'arraybuffer', timeout: this.timeout,\n })\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 = { status: response.status }\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'\nimport { URL } from '@xylabs/url'\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":["AsObjectFactory","isPayloadOfSchemaType","isPayloadOfSchemaType","AsObjectFactory","AsObjectFactory","isPayloadOfSchemaType","isPayloadOfSchemaType","AsObjectFactory","AsObjectFactory","isPayloadOfSchemaType","isPayloadOfSchemaType","AsObjectFactory","AsObjectFactory","AsObjectFactory","AsObjectFactory","AsObjectFactory","isPayloadOfSchemaType","isPayloadOfSchemaType","AsObjectFactory","isPayloadOfSchemaType","isPayloadOfSchemaType","AsObjectFactory","AsObjectFactory","isPayloadOfSchemaType","isPayloadOfSchemaType","AsObjectFactory","assertEx","URL","isPayloadOfSchemaType","URL","isPayloadOfSchemaType","assertEx"]}
@@ -0,0 +1,2 @@
1
+ export declare const checkIpfsUrl: (urlToCheck: string, ipfsGateway?: string) => string;
2
+ //# sourceMappingURL=checkIpfsUrl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkIpfsUrl.d.ts","sourceRoot":"","sources":["../../../src/lib/checkIpfsUrl.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,YAAY,eAAgB,MAAM,gBAAgB,MAAM,KAAG,MAgCvE,CAAA"}
@@ -0,0 +1,2 @@
1
+ export * from './checkIpfsUrl.ts';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA"}