@xyo-network/api-call-witness 2.89.2 → 2.90.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -104,13 +104,13 @@ var checkIpfsUrl = (urlToCheck, ipfsGateway) => {
104
104
  const query = url.search;
105
105
  if (protocol === "ipfs:") {
106
106
  protocol = "https:";
107
- host = (0, import_assert.assertEx)(ipfsGateway, "No ipfsGateway provided");
107
+ host = (0, import_assert.assertEx)(ipfsGateway, () => "No ipfsGateway provided");
108
108
  path = url.host === "ipfs" ? `ipfs${path}` : `ipfs/${url.host}${path}`;
109
109
  const root = `${protocol}//${host}/${path}`;
110
110
  return query?.length > 0 ? `${root}?${query}` : root;
111
111
  } else if (allowIpfsIoRepair && protocol === "https" && host === "ipfs.io") {
112
112
  protocol = "https:";
113
- host = (0, import_assert.assertEx)(ipfsGateway, "No ipfsGateway provided");
113
+ host = (0, import_assert.assertEx)(ipfsGateway, () => "No ipfsGateway provided");
114
114
  const pathParts = path.split("/");
115
115
  if (pathParts[0] === "ipfs") {
116
116
  pathParts.shift();
@@ -170,7 +170,7 @@ var ApiCallWitness = class extends import_abstract_witness.AbstractWitness {
170
170
  const { verb: configVerb } = this.config;
171
171
  const verb = callVerb ?? configVerb ?? "get";
172
172
  const uri = this.getFullUri(call);
173
- const validatedUri = (0, import_assert2.assertEx)(checkIpfsUrl(uri, this.ipfsGateway), "Invalid URI");
173
+ const validatedUri = (0, import_assert2.assertEx)(checkIpfsUrl(uri, this.ipfsGateway), () => "Invalid URI");
174
174
  if (verb === "get") {
175
175
  return this.httpGet(validatedUri, (await import_payload_builder.PayloadBuilder.build(call)).$hash);
176
176
  }
@@ -1 +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, unknown>\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, unknown>\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","import { 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 } from '@xyo-network/payload-model'\nimport { WitnessParams } from '@xyo-network/witness-model'\nimport { fromByteArray } from 'base64-js'\nimport template from 'es6-template-strings'\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 configSchemas = [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(template(callUriTemplate, params))\n } else if (configUri) {\n url = new URL(configUri)\n } else if (configUriTemplate) {\n url = new URL(template(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, 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","template"]}
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, unknown>\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, unknown>\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","import { 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 } from '@xyo-network/payload-model'\nimport { WitnessParams } from '@xyo-network/witness-model'\nimport { fromByteArray } from 'base64-js'\nimport template from 'es6-template-strings'\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 configSchemas = [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(template(callUriTemplate, params))\n } else if (configUri) {\n url = new URL(configUri)\n } else if (configUriTemplate) {\n url = new URL(template(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, 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","template"]}
@@ -49,13 +49,13 @@ var checkIpfsUrl = (urlToCheck, ipfsGateway) => {
49
49
  const query = url.search;
50
50
  if (protocol === "ipfs:") {
51
51
  protocol = "https:";
52
- host = assertEx(ipfsGateway, "No ipfsGateway provided");
52
+ host = assertEx(ipfsGateway, () => "No ipfsGateway provided");
53
53
  path = url.host === "ipfs" ? `ipfs${path}` : `ipfs/${url.host}${path}`;
54
54
  const root = `${protocol}//${host}/${path}`;
55
55
  return query?.length > 0 ? `${root}?${query}` : root;
56
56
  } else if (allowIpfsIoRepair && protocol === "https" && host === "ipfs.io") {
57
57
  protocol = "https:";
58
- host = assertEx(ipfsGateway, "No ipfsGateway provided");
58
+ host = assertEx(ipfsGateway, () => "No ipfsGateway provided");
59
59
  const pathParts = path.split("/");
60
60
  if (pathParts[0] === "ipfs") {
61
61
  pathParts.shift();
@@ -115,7 +115,7 @@ var ApiCallWitness = class extends AbstractWitness {
115
115
  const { verb: configVerb } = this.config;
116
116
  const verb = callVerb ?? configVerb ?? "get";
117
117
  const uri = this.getFullUri(call);
118
- const validatedUri = assertEx2(checkIpfsUrl(uri, this.ipfsGateway), "Invalid URI");
118
+ const validatedUri = assertEx2(checkIpfsUrl(uri, this.ipfsGateway), () => "Invalid URI");
119
119
  if (verb === "get") {
120
120
  return this.httpGet(validatedUri, (await PayloadBuilder.build(call)).$hash);
121
121
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Config.ts","../../src/Payload.ts","../../src/Witness.ts","../../src/lib/checkIpfsUrl.ts"],"sourcesContent":["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, unknown>\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, unknown>\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","import { 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 } from '@xyo-network/payload-model'\nimport { WitnessParams } from '@xyo-network/witness-model'\nimport { fromByteArray } from 'base64-js'\nimport template from 'es6-template-strings'\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 configSchemas = [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(template(callUriTemplate, params))\n } else if (configUri) {\n url = new URL(configUri)\n } else if (configUriTemplate) {\n url = new URL(template(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, 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":["AsObjectFactory","isPayloadOfSchemaType","assertEx","isPayloadOfSchemaType","isPayloadOfSchemaType","assertEx"]}
1
+ {"version":3,"sources":["../../src/Config.ts","../../src/Payload.ts","../../src/Witness.ts","../../src/lib/checkIpfsUrl.ts"],"sourcesContent":["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, unknown>\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, unknown>\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","import { 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 } from '@xyo-network/payload-model'\nimport { WitnessParams } from '@xyo-network/witness-model'\nimport { fromByteArray } from 'base64-js'\nimport template from 'es6-template-strings'\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 configSchemas = [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(template(callUriTemplate, params))\n } else if (configUri) {\n url = new URL(configUri)\n } else if (configUriTemplate) {\n url = new URL(template(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, 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":["AsObjectFactory","isPayloadOfSchemaType","assertEx","isPayloadOfSchemaType","isPayloadOfSchemaType","assertEx"]}
@@ -19,8 +19,8 @@ export type ApiUriTemplateCallWitnessConfig = WitnessConfig<ApiCallWitnessConfig
19
19
  export type ApiCallWitnessConfig = ApiUriCallWitnessConfig | ApiUriTemplateCallWitnessConfig | ApiCallWitnessConfigBase;
20
20
  export declare const isApiCallWitnessConfig: (x?: unknown) => x is ApiCallWitnessConfig;
21
21
  export declare const asApiCallWitnessConfig: {
22
- <TType extends ApiCallWitnessConfig>(value: unknown, config?: import("@xylabs/object").TypeCheckConfig | undefined): TType | undefined;
23
- <TType_1 extends ApiCallWitnessConfig>(value: unknown, assert: string | (() => string), config?: import("@xylabs/object").TypeCheckConfig | undefined): TType_1;
22
+ <TType extends ApiCallWitnessConfig>(value: import("@xylabs/promise").AnyNonPromise<T_1>, config?: import("@xylabs/object").TypeCheckConfig | undefined): TType | undefined;
23
+ <TType_1 extends ApiCallWitnessConfig>(value: import("@xylabs/promise").AnyNonPromise<T_1>, assert: import("@xylabs/object").StringOrAlertFunction<ApiCallWitnessConfig>, config?: import("@xylabs/object").TypeCheckConfig | undefined): TType_1;
24
24
  };
25
25
  export declare const isApiUriCallWitnessConfig: (value?: unknown) => value is import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & Omit<import("@xyo-network/module-model").ArchivingModuleConfig & import("@xyo-network/module-model").ModuleConfigFields & {
26
26
  schema: "network.xyo.api.call.witness.config";
@@ -56,7 +56,7 @@ export declare const asApiUriCallWitnessConfig: {
56
56
  uri: ApiUriCall['uri'];
57
57
  }, "schema"> & {
58
58
  schema: "network.xyo.api.call.witness.config";
59
- }>(value: unknown, config?: import("@xylabs/object").TypeCheckConfig | undefined): TType | undefined;
59
+ }>(value: import("@xylabs/promise").AnyNonPromise<T_1>, config?: import("@xylabs/object").TypeCheckConfig | undefined): TType | undefined;
60
60
  <TType_1 extends import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & Omit<import("@xyo-network/module-model").ArchivingModuleConfig & import("@xyo-network/module-model").ModuleConfigFields & {
61
61
  schema: "network.xyo.api.call.witness.config";
62
62
  } & import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & Omit<import("@xyo-network/module-model").ArchivingModuleConfig & import("@xyo-network/module-model").ModuleConfigFields & {
@@ -73,7 +73,23 @@ export declare const asApiUriCallWitnessConfig: {
73
73
  uri: ApiUriCall['uri'];
74
74
  }, "schema"> & {
75
75
  schema: "network.xyo.api.call.witness.config";
76
- }>(value: unknown, assert: string | (() => string), config?: import("@xylabs/object").TypeCheckConfig | undefined): TType_1;
76
+ }>(value: import("@xylabs/promise").AnyNonPromise<T_1>, assert: import("@xylabs/object").StringOrAlertFunction<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & Omit<import("@xyo-network/module-model").ArchivingModuleConfig & import("@xyo-network/module-model").ModuleConfigFields & {
77
+ schema: "network.xyo.api.call.witness.config";
78
+ } & import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & Omit<import("@xyo-network/module-model").ArchivingModuleConfig & import("@xyo-network/module-model").ModuleConfigFields & {
79
+ schema: "network.xyo.api.call.witness.config";
80
+ } & {
81
+ accept?: "application/json" | undefined;
82
+ queries?: ApiCall['queries'];
83
+ schema: ApiCallWitnessConfigSchema;
84
+ timeout?: number | undefined;
85
+ verb?: ApiCall['verb'];
86
+ }, "schema"> & {
87
+ schema: "network.xyo.api.call.witness.config";
88
+ } & {
89
+ uri: ApiUriCall['uri'];
90
+ }, "schema"> & {
91
+ schema: "network.xyo.api.call.witness.config";
92
+ }>, config?: import("@xylabs/object").TypeCheckConfig | undefined): TType_1;
77
93
  };
78
94
  export declare const isApiUriTemplateCallWitnessConfig: (value?: unknown) => value is import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & Omit<import("@xyo-network/module-model").ArchivingModuleConfig & import("@xyo-network/module-model").ModuleConfigFields & {
79
95
  schema: "network.xyo.api.call.witness.config";
@@ -111,7 +127,7 @@ export declare const asApiUriTemplateCallWitnessConfig: {
111
127
  uriTemplate: ApiUriTemplateCall['uriTemplate'];
112
128
  }, "schema"> & {
113
129
  schema: "network.xyo.api.call.witness.config";
114
- }>(value: unknown, config?: import("@xylabs/object").TypeCheckConfig | undefined): TType | undefined;
130
+ }>(value: import("@xylabs/promise").AnyNonPromise<T_1>, config?: import("@xylabs/object").TypeCheckConfig | undefined): TType | undefined;
115
131
  <TType_1 extends import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & Omit<import("@xyo-network/module-model").ArchivingModuleConfig & import("@xyo-network/module-model").ModuleConfigFields & {
116
132
  schema: "network.xyo.api.call.witness.config";
117
133
  } & import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & Omit<import("@xyo-network/module-model").ArchivingModuleConfig & import("@xyo-network/module-model").ModuleConfigFields & {
@@ -129,6 +145,23 @@ export declare const asApiUriTemplateCallWitnessConfig: {
129
145
  uriTemplate: ApiUriTemplateCall['uriTemplate'];
130
146
  }, "schema"> & {
131
147
  schema: "network.xyo.api.call.witness.config";
132
- }>(value: unknown, assert: string | (() => string), config?: import("@xylabs/object").TypeCheckConfig | undefined): TType_1;
148
+ }>(value: import("@xylabs/promise").AnyNonPromise<T_1>, assert: import("@xylabs/object").StringOrAlertFunction<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & Omit<import("@xyo-network/module-model").ArchivingModuleConfig & import("@xyo-network/module-model").ModuleConfigFields & {
149
+ schema: "network.xyo.api.call.witness.config";
150
+ } & import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & Omit<import("@xyo-network/module-model").ArchivingModuleConfig & import("@xyo-network/module-model").ModuleConfigFields & {
151
+ schema: "network.xyo.api.call.witness.config";
152
+ } & {
153
+ accept?: "application/json" | undefined;
154
+ queries?: ApiCall['queries'];
155
+ schema: ApiCallWitnessConfigSchema;
156
+ timeout?: number | undefined;
157
+ verb?: ApiCall['verb'];
158
+ }, "schema"> & {
159
+ schema: "network.xyo.api.call.witness.config";
160
+ } & {
161
+ params?: Record<string, unknown> | undefined;
162
+ uriTemplate: ApiUriTemplateCall['uriTemplate'];
163
+ }, "schema"> & {
164
+ schema: "network.xyo.api.call.witness.config";
165
+ }>, config?: import("@xylabs/object").TypeCheckConfig | undefined): TType_1;
133
166
  };
134
167
  //# sourceMappingURL=Config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["../../src/Config.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAE1D,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAEnE,eAAO,MAAM,0BAA0B,wCAAwC,CAAA;AAC/E,MAAM,MAAM,0BAA0B,GAAG,OAAO,0BAA0B,CAAA;AAE1E,MAAM,MAAM,wBAAwB,GAAG,aAAa,CAAC;IACnD,MAAM,CAAC,EAAE,kBAAkB,CAAA;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;IAC5B,MAAM,EAAE,0BAA0B,CAAA;IAClC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;CACvB,CAAC,CAAA;AAEF,MAAM,MAAM,uBAAuB,GAAG,aAAa,CACjD,wBAAwB,GAAG;IACzB,GAAG,EAAE,UAAU,CAAC,KAAK,CAAC,CAAA;CACvB,CACF,CAAA;AAED,MAAM,MAAM,+BAA+B,GAAG,aAAa,CACzD,wBAAwB,GAAG;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAChC,WAAW,EAAE,kBAAkB,CAAC,aAAa,CAAC,CAAA;CAC/C,CACF,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG,uBAAuB,GAAG,+BAA+B,GAAG,wBAAwB,CAAA;AAEvH,eAAO,MAAM,sBAAsB,4CAA0E,CAAA;AAC7G,eAAO,MAAM,sBAAsB;;;CAAiD,CAAA;AAEpF,eAAO,MAAM,yBAAyB,WAAY,OAAO;;;;;;cAxB7C,OAAO,CAAC,SAAS,CAAC;YACpB,0BAA0B;;WAE3B,OAAO,CAAC,MAAM,CAAC;;;;SAKf,UAAU,CAAC,KAAK,CAAC;;;CAiBiD,CAAA;AAC3E,eAAO,MAAM,yBAAyB;;;;;;;kBA1B1B,OAAO,CAAC,SAAS,CAAC;gBACpB,0BAA0B;;eAE3B,OAAO,CAAC,MAAM,CAAC;;;;aAKf,UAAU,CAAC,KAAK,CAAC;;;;;;;;;;kBARd,OAAO,CAAC,SAAS,CAAC;gBACpB,0BAA0B;;eAE3B,OAAO,CAAC,MAAM,CAAC;;;;aAKf,UAAU,CAAC,KAAK,CAAC;;;;CAkBgE,CAAA;AAE1F,eAAO,MAAM,iCAAiC,WAAY,OAAO;;;;;;cA5BrD,OAAO,CAAC,SAAS,CAAC;YACpB,0BAA0B;;WAE3B,OAAO,CAAC,MAAM,CAAC;;;;;iBAYP,kBAAkB,CAAC,aAAa,CAAC;;;CAcyC,CAAA;AAC3F,eAAO,MAAM,iCAAiC;;;;;;;kBA9BlC,OAAO,CAAC,SAAS,CAAC;gBACpB,0BAA0B;;eAE3B,OAAO,CAAC,MAAM,CAAC;;;;;qBAYP,kBAAkB,CAAC,aAAa,CAAC;;;;;;;;;;kBAftC,OAAO,CAAC,SAAS,CAAC;gBACpB,0BAA0B;;eAE3B,OAAO,CAAC,MAAM,CAAC;;;;;qBAYP,kBAAkB,CAAC,aAAa,CAAC;;;;CAewD,CAAA"}
1
+ {"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["../../src/Config.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAE1D,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAEnE,eAAO,MAAM,0BAA0B,wCAAwC,CAAA;AAC/E,MAAM,MAAM,0BAA0B,GAAG,OAAO,0BAA0B,CAAA;AAE1E,MAAM,MAAM,wBAAwB,GAAG,aAAa,CAAC;IACnD,MAAM,CAAC,EAAE,kBAAkB,CAAA;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;IAC5B,MAAM,EAAE,0BAA0B,CAAA;IAClC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;CACvB,CAAC,CAAA;AAEF,MAAM,MAAM,uBAAuB,GAAG,aAAa,CACjD,wBAAwB,GAAG;IACzB,GAAG,EAAE,UAAU,CAAC,KAAK,CAAC,CAAA;CACvB,CACF,CAAA;AAED,MAAM,MAAM,+BAA+B,GAAG,aAAa,CACzD,wBAAwB,GAAG;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAChC,WAAW,EAAE,kBAAkB,CAAC,aAAa,CAAC,CAAA;CAC/C,CACF,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG,uBAAuB,GAAG,+BAA+B,GAAG,wBAAwB,CAAA;AAEvH,eAAO,MAAM,sBAAsB,4CAA0E,CAAA;AAC7G,eAAO,MAAM,sBAAsB;;;CAAiD,CAAA;AAEpF,eAAO,MAAM,yBAAyB,WAAY,OAAO;;;;;;cAxB7C,OAAO,CAAC,SAAS,CAAC;YACpB,0BAA0B;;WAE3B,OAAO,CAAC,MAAM,CAAC;;;;SAKf,UAAU,CAAC,KAAK,CAAC;;;CAiBiD,CAAA;AAC3E,eAAO,MAAM,yBAAyB;;;;;;;kBA1B1B,OAAO,CAAC,SAAS,CAAC;gBACpB,0BAA0B;;eAE3B,OAAO,CAAC,MAAM,CAAC;;;;aAKf,UAAU,CAAC,KAAK,CAAC;;;;;;;;;;kBARd,OAAO,CAAC,SAAS,CAAC;gBACpB,0BAA0B;;eAE3B,OAAO,CAAC,MAAM,CAAC;;;;aAKf,UAAU,CAAC,KAAK,CAAC;;;;;;;;;kBARd,OAAO,CAAC,SAAS,CAAC;gBACpB,0BAA0B;;eAE3B,OAAO,CAAC,MAAM,CAAC;;;;aAKf,UAAU,CAAC,KAAK,CAAC;;;;CAkBgE,CAAA;AAE1F,eAAO,MAAM,iCAAiC,WAAY,OAAO;;;;;;cA5BrD,OAAO,CAAC,SAAS,CAAC;YACpB,0BAA0B;;WAE3B,OAAO,CAAC,MAAM,CAAC;;;;;iBAYP,kBAAkB,CAAC,aAAa,CAAC;;;CAcyC,CAAA;AAC3F,eAAO,MAAM,iCAAiC;;;;;;;kBA9BlC,OAAO,CAAC,SAAS,CAAC;gBACpB,0BAA0B;;eAE3B,OAAO,CAAC,MAAM,CAAC;;;;;qBAYP,kBAAkB,CAAC,aAAa,CAAC;;;;;;;;;;kBAftC,OAAO,CAAC,SAAS,CAAC;gBACpB,0BAA0B;;eAE3B,OAAO,CAAC,MAAM,CAAC;;;;;qBAYP,kBAAkB,CAAC,aAAa,CAAC;;;;;;;;;kBAftC,OAAO,CAAC,SAAS,CAAC;gBACpB,0BAA0B;;eAE3B,OAAO,CAAC,MAAM,CAAC;;;;;qBAYP,kBAAkB,CAAC,aAAa,CAAC;;;;CAewD,CAAA"}
@@ -19,8 +19,8 @@ export type ApiUriTemplateCallWitnessConfig = WitnessConfig<ApiCallWitnessConfig
19
19
  export type ApiCallWitnessConfig = ApiUriCallWitnessConfig | ApiUriTemplateCallWitnessConfig | ApiCallWitnessConfigBase;
20
20
  export declare const isApiCallWitnessConfig: (x?: unknown) => x is ApiCallWitnessConfig;
21
21
  export declare const asApiCallWitnessConfig: {
22
- <TType extends ApiCallWitnessConfig>(value: unknown, config?: import("@xylabs/object").TypeCheckConfig | undefined): TType | undefined;
23
- <TType_1 extends ApiCallWitnessConfig>(value: unknown, assert: string | (() => string), config?: import("@xylabs/object").TypeCheckConfig | undefined): TType_1;
22
+ <TType extends ApiCallWitnessConfig>(value: import("@xylabs/promise").AnyNonPromise<T_1>, config?: import("@xylabs/object").TypeCheckConfig | undefined): TType | undefined;
23
+ <TType_1 extends ApiCallWitnessConfig>(value: import("@xylabs/promise").AnyNonPromise<T_1>, assert: import("@xylabs/object").StringOrAlertFunction<ApiCallWitnessConfig>, config?: import("@xylabs/object").TypeCheckConfig | undefined): TType_1;
24
24
  };
25
25
  export declare const isApiUriCallWitnessConfig: (value?: unknown) => value is import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & Omit<import("@xyo-network/module-model").ArchivingModuleConfig & import("@xyo-network/module-model").ModuleConfigFields & {
26
26
  schema: "network.xyo.api.call.witness.config";
@@ -56,7 +56,7 @@ export declare const asApiUriCallWitnessConfig: {
56
56
  uri: ApiUriCall['uri'];
57
57
  }, "schema"> & {
58
58
  schema: "network.xyo.api.call.witness.config";
59
- }>(value: unknown, config?: import("@xylabs/object").TypeCheckConfig | undefined): TType | undefined;
59
+ }>(value: import("@xylabs/promise").AnyNonPromise<T_1>, config?: import("@xylabs/object").TypeCheckConfig | undefined): TType | undefined;
60
60
  <TType_1 extends import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & Omit<import("@xyo-network/module-model").ArchivingModuleConfig & import("@xyo-network/module-model").ModuleConfigFields & {
61
61
  schema: "network.xyo.api.call.witness.config";
62
62
  } & import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & Omit<import("@xyo-network/module-model").ArchivingModuleConfig & import("@xyo-network/module-model").ModuleConfigFields & {
@@ -73,7 +73,23 @@ export declare const asApiUriCallWitnessConfig: {
73
73
  uri: ApiUriCall['uri'];
74
74
  }, "schema"> & {
75
75
  schema: "network.xyo.api.call.witness.config";
76
- }>(value: unknown, assert: string | (() => string), config?: import("@xylabs/object").TypeCheckConfig | undefined): TType_1;
76
+ }>(value: import("@xylabs/promise").AnyNonPromise<T_1>, assert: import("@xylabs/object").StringOrAlertFunction<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & Omit<import("@xyo-network/module-model").ArchivingModuleConfig & import("@xyo-network/module-model").ModuleConfigFields & {
77
+ schema: "network.xyo.api.call.witness.config";
78
+ } & import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & Omit<import("@xyo-network/module-model").ArchivingModuleConfig & import("@xyo-network/module-model").ModuleConfigFields & {
79
+ schema: "network.xyo.api.call.witness.config";
80
+ } & {
81
+ accept?: "application/json" | undefined;
82
+ queries?: ApiCall['queries'];
83
+ schema: ApiCallWitnessConfigSchema;
84
+ timeout?: number | undefined;
85
+ verb?: ApiCall['verb'];
86
+ }, "schema"> & {
87
+ schema: "network.xyo.api.call.witness.config";
88
+ } & {
89
+ uri: ApiUriCall['uri'];
90
+ }, "schema"> & {
91
+ schema: "network.xyo.api.call.witness.config";
92
+ }>, config?: import("@xylabs/object").TypeCheckConfig | undefined): TType_1;
77
93
  };
78
94
  export declare const isApiUriTemplateCallWitnessConfig: (value?: unknown) => value is import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & Omit<import("@xyo-network/module-model").ArchivingModuleConfig & import("@xyo-network/module-model").ModuleConfigFields & {
79
95
  schema: "network.xyo.api.call.witness.config";
@@ -111,7 +127,7 @@ export declare const asApiUriTemplateCallWitnessConfig: {
111
127
  uriTemplate: ApiUriTemplateCall['uriTemplate'];
112
128
  }, "schema"> & {
113
129
  schema: "network.xyo.api.call.witness.config";
114
- }>(value: unknown, config?: import("@xylabs/object").TypeCheckConfig | undefined): TType | undefined;
130
+ }>(value: import("@xylabs/promise").AnyNonPromise<T_1>, config?: import("@xylabs/object").TypeCheckConfig | undefined): TType | undefined;
115
131
  <TType_1 extends import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & Omit<import("@xyo-network/module-model").ArchivingModuleConfig & import("@xyo-network/module-model").ModuleConfigFields & {
116
132
  schema: "network.xyo.api.call.witness.config";
117
133
  } & import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & Omit<import("@xyo-network/module-model").ArchivingModuleConfig & import("@xyo-network/module-model").ModuleConfigFields & {
@@ -129,6 +145,23 @@ export declare const asApiUriTemplateCallWitnessConfig: {
129
145
  uriTemplate: ApiUriTemplateCall['uriTemplate'];
130
146
  }, "schema"> & {
131
147
  schema: "network.xyo.api.call.witness.config";
132
- }>(value: unknown, assert: string | (() => string), config?: import("@xylabs/object").TypeCheckConfig | undefined): TType_1;
148
+ }>(value: import("@xylabs/promise").AnyNonPromise<T_1>, assert: import("@xylabs/object").StringOrAlertFunction<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & Omit<import("@xyo-network/module-model").ArchivingModuleConfig & import("@xyo-network/module-model").ModuleConfigFields & {
149
+ schema: "network.xyo.api.call.witness.config";
150
+ } & import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & Omit<import("@xyo-network/module-model").ArchivingModuleConfig & import("@xyo-network/module-model").ModuleConfigFields & {
151
+ schema: "network.xyo.api.call.witness.config";
152
+ } & {
153
+ accept?: "application/json" | undefined;
154
+ queries?: ApiCall['queries'];
155
+ schema: ApiCallWitnessConfigSchema;
156
+ timeout?: number | undefined;
157
+ verb?: ApiCall['verb'];
158
+ }, "schema"> & {
159
+ schema: "network.xyo.api.call.witness.config";
160
+ } & {
161
+ params?: Record<string, unknown> | undefined;
162
+ uriTemplate: ApiUriTemplateCall['uriTemplate'];
163
+ }, "schema"> & {
164
+ schema: "network.xyo.api.call.witness.config";
165
+ }>, config?: import("@xylabs/object").TypeCheckConfig | undefined): TType_1;
133
166
  };
134
167
  //# sourceMappingURL=Config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["../../src/Config.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAE1D,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAEnE,eAAO,MAAM,0BAA0B,wCAAwC,CAAA;AAC/E,MAAM,MAAM,0BAA0B,GAAG,OAAO,0BAA0B,CAAA;AAE1E,MAAM,MAAM,wBAAwB,GAAG,aAAa,CAAC;IACnD,MAAM,CAAC,EAAE,kBAAkB,CAAA;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;IAC5B,MAAM,EAAE,0BAA0B,CAAA;IAClC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;CACvB,CAAC,CAAA;AAEF,MAAM,MAAM,uBAAuB,GAAG,aAAa,CACjD,wBAAwB,GAAG;IACzB,GAAG,EAAE,UAAU,CAAC,KAAK,CAAC,CAAA;CACvB,CACF,CAAA;AAED,MAAM,MAAM,+BAA+B,GAAG,aAAa,CACzD,wBAAwB,GAAG;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAChC,WAAW,EAAE,kBAAkB,CAAC,aAAa,CAAC,CAAA;CAC/C,CACF,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG,uBAAuB,GAAG,+BAA+B,GAAG,wBAAwB,CAAA;AAEvH,eAAO,MAAM,sBAAsB,4CAA0E,CAAA;AAC7G,eAAO,MAAM,sBAAsB;;;CAAiD,CAAA;AAEpF,eAAO,MAAM,yBAAyB,WAAY,OAAO;;;;;;cAxB7C,OAAO,CAAC,SAAS,CAAC;YACpB,0BAA0B;;WAE3B,OAAO,CAAC,MAAM,CAAC;;;;SAKf,UAAU,CAAC,KAAK,CAAC;;;CAiBiD,CAAA;AAC3E,eAAO,MAAM,yBAAyB;;;;;;;kBA1B1B,OAAO,CAAC,SAAS,CAAC;gBACpB,0BAA0B;;eAE3B,OAAO,CAAC,MAAM,CAAC;;;;aAKf,UAAU,CAAC,KAAK,CAAC;;;;;;;;;;kBARd,OAAO,CAAC,SAAS,CAAC;gBACpB,0BAA0B;;eAE3B,OAAO,CAAC,MAAM,CAAC;;;;aAKf,UAAU,CAAC,KAAK,CAAC;;;;CAkBgE,CAAA;AAE1F,eAAO,MAAM,iCAAiC,WAAY,OAAO;;;;;;cA5BrD,OAAO,CAAC,SAAS,CAAC;YACpB,0BAA0B;;WAE3B,OAAO,CAAC,MAAM,CAAC;;;;;iBAYP,kBAAkB,CAAC,aAAa,CAAC;;;CAcyC,CAAA;AAC3F,eAAO,MAAM,iCAAiC;;;;;;;kBA9BlC,OAAO,CAAC,SAAS,CAAC;gBACpB,0BAA0B;;eAE3B,OAAO,CAAC,MAAM,CAAC;;;;;qBAYP,kBAAkB,CAAC,aAAa,CAAC;;;;;;;;;;kBAftC,OAAO,CAAC,SAAS,CAAC;gBACpB,0BAA0B;;eAE3B,OAAO,CAAC,MAAM,CAAC;;;;;qBAYP,kBAAkB,CAAC,aAAa,CAAC;;;;CAewD,CAAA"}
1
+ {"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["../../src/Config.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAE1D,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAEnE,eAAO,MAAM,0BAA0B,wCAAwC,CAAA;AAC/E,MAAM,MAAM,0BAA0B,GAAG,OAAO,0BAA0B,CAAA;AAE1E,MAAM,MAAM,wBAAwB,GAAG,aAAa,CAAC;IACnD,MAAM,CAAC,EAAE,kBAAkB,CAAA;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;IAC5B,MAAM,EAAE,0BAA0B,CAAA;IAClC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;CACvB,CAAC,CAAA;AAEF,MAAM,MAAM,uBAAuB,GAAG,aAAa,CACjD,wBAAwB,GAAG;IACzB,GAAG,EAAE,UAAU,CAAC,KAAK,CAAC,CAAA;CACvB,CACF,CAAA;AAED,MAAM,MAAM,+BAA+B,GAAG,aAAa,CACzD,wBAAwB,GAAG;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAChC,WAAW,EAAE,kBAAkB,CAAC,aAAa,CAAC,CAAA;CAC/C,CACF,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG,uBAAuB,GAAG,+BAA+B,GAAG,wBAAwB,CAAA;AAEvH,eAAO,MAAM,sBAAsB,4CAA0E,CAAA;AAC7G,eAAO,MAAM,sBAAsB;;;CAAiD,CAAA;AAEpF,eAAO,MAAM,yBAAyB,WAAY,OAAO;;;;;;cAxB7C,OAAO,CAAC,SAAS,CAAC;YACpB,0BAA0B;;WAE3B,OAAO,CAAC,MAAM,CAAC;;;;SAKf,UAAU,CAAC,KAAK,CAAC;;;CAiBiD,CAAA;AAC3E,eAAO,MAAM,yBAAyB;;;;;;;kBA1B1B,OAAO,CAAC,SAAS,CAAC;gBACpB,0BAA0B;;eAE3B,OAAO,CAAC,MAAM,CAAC;;;;aAKf,UAAU,CAAC,KAAK,CAAC;;;;;;;;;;kBARd,OAAO,CAAC,SAAS,CAAC;gBACpB,0BAA0B;;eAE3B,OAAO,CAAC,MAAM,CAAC;;;;aAKf,UAAU,CAAC,KAAK,CAAC;;;;;;;;;kBARd,OAAO,CAAC,SAAS,CAAC;gBACpB,0BAA0B;;eAE3B,OAAO,CAAC,MAAM,CAAC;;;;aAKf,UAAU,CAAC,KAAK,CAAC;;;;CAkBgE,CAAA;AAE1F,eAAO,MAAM,iCAAiC,WAAY,OAAO;;;;;;cA5BrD,OAAO,CAAC,SAAS,CAAC;YACpB,0BAA0B;;WAE3B,OAAO,CAAC,MAAM,CAAC;;;;;iBAYP,kBAAkB,CAAC,aAAa,CAAC;;;CAcyC,CAAA;AAC3F,eAAO,MAAM,iCAAiC;;;;;;;kBA9BlC,OAAO,CAAC,SAAS,CAAC;gBACpB,0BAA0B;;eAE3B,OAAO,CAAC,MAAM,CAAC;;;;;qBAYP,kBAAkB,CAAC,aAAa,CAAC;;;;;;;;;;kBAftC,OAAO,CAAC,SAAS,CAAC;gBACpB,0BAA0B;;eAE3B,OAAO,CAAC,MAAM,CAAC;;;;;qBAYP,kBAAkB,CAAC,aAAa,CAAC;;;;;;;;;kBAftC,OAAO,CAAC,SAAS,CAAC;gBACpB,0BAA0B;;eAE3B,OAAO,CAAC,MAAM,CAAC;;;;;qBAYP,kBAAkB,CAAC,aAAa,CAAC;;;;CAewD,CAAA"}
@@ -19,8 +19,8 @@ export type ApiUriTemplateCallWitnessConfig = WitnessConfig<ApiCallWitnessConfig
19
19
  export type ApiCallWitnessConfig = ApiUriCallWitnessConfig | ApiUriTemplateCallWitnessConfig | ApiCallWitnessConfigBase;
20
20
  export declare const isApiCallWitnessConfig: (x?: unknown) => x is ApiCallWitnessConfig;
21
21
  export declare const asApiCallWitnessConfig: {
22
- <TType extends ApiCallWitnessConfig>(value: unknown, config?: import("@xylabs/object").TypeCheckConfig | undefined): TType | undefined;
23
- <TType_1 extends ApiCallWitnessConfig>(value: unknown, assert: string | (() => string), config?: import("@xylabs/object").TypeCheckConfig | undefined): TType_1;
22
+ <TType extends ApiCallWitnessConfig>(value: import("@xylabs/promise").AnyNonPromise<T_1>, config?: import("@xylabs/object").TypeCheckConfig | undefined): TType | undefined;
23
+ <TType_1 extends ApiCallWitnessConfig>(value: import("@xylabs/promise").AnyNonPromise<T_1>, assert: import("@xylabs/object").StringOrAlertFunction<ApiCallWitnessConfig>, config?: import("@xylabs/object").TypeCheckConfig | undefined): TType_1;
24
24
  };
25
25
  export declare const isApiUriCallWitnessConfig: (value?: unknown) => value is import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & Omit<import("@xyo-network/module-model").ArchivingModuleConfig & import("@xyo-network/module-model").ModuleConfigFields & {
26
26
  schema: "network.xyo.api.call.witness.config";
@@ -56,7 +56,7 @@ export declare const asApiUriCallWitnessConfig: {
56
56
  uri: ApiUriCall['uri'];
57
57
  }, "schema"> & {
58
58
  schema: "network.xyo.api.call.witness.config";
59
- }>(value: unknown, config?: import("@xylabs/object").TypeCheckConfig | undefined): TType | undefined;
59
+ }>(value: import("@xylabs/promise").AnyNonPromise<T_1>, config?: import("@xylabs/object").TypeCheckConfig | undefined): TType | undefined;
60
60
  <TType_1 extends import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & Omit<import("@xyo-network/module-model").ArchivingModuleConfig & import("@xyo-network/module-model").ModuleConfigFields & {
61
61
  schema: "network.xyo.api.call.witness.config";
62
62
  } & import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & Omit<import("@xyo-network/module-model").ArchivingModuleConfig & import("@xyo-network/module-model").ModuleConfigFields & {
@@ -73,7 +73,23 @@ export declare const asApiUriCallWitnessConfig: {
73
73
  uri: ApiUriCall['uri'];
74
74
  }, "schema"> & {
75
75
  schema: "network.xyo.api.call.witness.config";
76
- }>(value: unknown, assert: string | (() => string), config?: import("@xylabs/object").TypeCheckConfig | undefined): TType_1;
76
+ }>(value: import("@xylabs/promise").AnyNonPromise<T_1>, assert: import("@xylabs/object").StringOrAlertFunction<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & Omit<import("@xyo-network/module-model").ArchivingModuleConfig & import("@xyo-network/module-model").ModuleConfigFields & {
77
+ schema: "network.xyo.api.call.witness.config";
78
+ } & import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & Omit<import("@xyo-network/module-model").ArchivingModuleConfig & import("@xyo-network/module-model").ModuleConfigFields & {
79
+ schema: "network.xyo.api.call.witness.config";
80
+ } & {
81
+ accept?: "application/json" | undefined;
82
+ queries?: ApiCall['queries'];
83
+ schema: ApiCallWitnessConfigSchema;
84
+ timeout?: number | undefined;
85
+ verb?: ApiCall['verb'];
86
+ }, "schema"> & {
87
+ schema: "network.xyo.api.call.witness.config";
88
+ } & {
89
+ uri: ApiUriCall['uri'];
90
+ }, "schema"> & {
91
+ schema: "network.xyo.api.call.witness.config";
92
+ }>, config?: import("@xylabs/object").TypeCheckConfig | undefined): TType_1;
77
93
  };
78
94
  export declare const isApiUriTemplateCallWitnessConfig: (value?: unknown) => value is import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & Omit<import("@xyo-network/module-model").ArchivingModuleConfig & import("@xyo-network/module-model").ModuleConfigFields & {
79
95
  schema: "network.xyo.api.call.witness.config";
@@ -111,7 +127,7 @@ export declare const asApiUriTemplateCallWitnessConfig: {
111
127
  uriTemplate: ApiUriTemplateCall['uriTemplate'];
112
128
  }, "schema"> & {
113
129
  schema: "network.xyo.api.call.witness.config";
114
- }>(value: unknown, config?: import("@xylabs/object").TypeCheckConfig | undefined): TType | undefined;
130
+ }>(value: import("@xylabs/promise").AnyNonPromise<T_1>, config?: import("@xylabs/object").TypeCheckConfig | undefined): TType | undefined;
115
131
  <TType_1 extends import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & Omit<import("@xyo-network/module-model").ArchivingModuleConfig & import("@xyo-network/module-model").ModuleConfigFields & {
116
132
  schema: "network.xyo.api.call.witness.config";
117
133
  } & import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & Omit<import("@xyo-network/module-model").ArchivingModuleConfig & import("@xyo-network/module-model").ModuleConfigFields & {
@@ -129,6 +145,23 @@ export declare const asApiUriTemplateCallWitnessConfig: {
129
145
  uriTemplate: ApiUriTemplateCall['uriTemplate'];
130
146
  }, "schema"> & {
131
147
  schema: "network.xyo.api.call.witness.config";
132
- }>(value: unknown, assert: string | (() => string), config?: import("@xylabs/object").TypeCheckConfig | undefined): TType_1;
148
+ }>(value: import("@xylabs/promise").AnyNonPromise<T_1>, assert: import("@xylabs/object").StringOrAlertFunction<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & Omit<import("@xyo-network/module-model").ArchivingModuleConfig & import("@xyo-network/module-model").ModuleConfigFields & {
149
+ schema: "network.xyo.api.call.witness.config";
150
+ } & import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & Omit<import("@xyo-network/module-model").ArchivingModuleConfig & import("@xyo-network/module-model").ModuleConfigFields & {
151
+ schema: "network.xyo.api.call.witness.config";
152
+ } & {
153
+ accept?: "application/json" | undefined;
154
+ queries?: ApiCall['queries'];
155
+ schema: ApiCallWitnessConfigSchema;
156
+ timeout?: number | undefined;
157
+ verb?: ApiCall['verb'];
158
+ }, "schema"> & {
159
+ schema: "network.xyo.api.call.witness.config";
160
+ } & {
161
+ params?: Record<string, unknown> | undefined;
162
+ uriTemplate: ApiUriTemplateCall['uriTemplate'];
163
+ }, "schema"> & {
164
+ schema: "network.xyo.api.call.witness.config";
165
+ }>, config?: import("@xylabs/object").TypeCheckConfig | undefined): TType_1;
133
166
  };
134
167
  //# sourceMappingURL=Config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["../../src/Config.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAE1D,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAEnE,eAAO,MAAM,0BAA0B,wCAAwC,CAAA;AAC/E,MAAM,MAAM,0BAA0B,GAAG,OAAO,0BAA0B,CAAA;AAE1E,MAAM,MAAM,wBAAwB,GAAG,aAAa,CAAC;IACnD,MAAM,CAAC,EAAE,kBAAkB,CAAA;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;IAC5B,MAAM,EAAE,0BAA0B,CAAA;IAClC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;CACvB,CAAC,CAAA;AAEF,MAAM,MAAM,uBAAuB,GAAG,aAAa,CACjD,wBAAwB,GAAG;IACzB,GAAG,EAAE,UAAU,CAAC,KAAK,CAAC,CAAA;CACvB,CACF,CAAA;AAED,MAAM,MAAM,+BAA+B,GAAG,aAAa,CACzD,wBAAwB,GAAG;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAChC,WAAW,EAAE,kBAAkB,CAAC,aAAa,CAAC,CAAA;CAC/C,CACF,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG,uBAAuB,GAAG,+BAA+B,GAAG,wBAAwB,CAAA;AAEvH,eAAO,MAAM,sBAAsB,4CAA0E,CAAA;AAC7G,eAAO,MAAM,sBAAsB;;;CAAiD,CAAA;AAEpF,eAAO,MAAM,yBAAyB,WAAY,OAAO;;;;;;cAxB7C,OAAO,CAAC,SAAS,CAAC;YACpB,0BAA0B;;WAE3B,OAAO,CAAC,MAAM,CAAC;;;;SAKf,UAAU,CAAC,KAAK,CAAC;;;CAiBiD,CAAA;AAC3E,eAAO,MAAM,yBAAyB;;;;;;;kBA1B1B,OAAO,CAAC,SAAS,CAAC;gBACpB,0BAA0B;;eAE3B,OAAO,CAAC,MAAM,CAAC;;;;aAKf,UAAU,CAAC,KAAK,CAAC;;;;;;;;;;kBARd,OAAO,CAAC,SAAS,CAAC;gBACpB,0BAA0B;;eAE3B,OAAO,CAAC,MAAM,CAAC;;;;aAKf,UAAU,CAAC,KAAK,CAAC;;;;CAkBgE,CAAA;AAE1F,eAAO,MAAM,iCAAiC,WAAY,OAAO;;;;;;cA5BrD,OAAO,CAAC,SAAS,CAAC;YACpB,0BAA0B;;WAE3B,OAAO,CAAC,MAAM,CAAC;;;;;iBAYP,kBAAkB,CAAC,aAAa,CAAC;;;CAcyC,CAAA;AAC3F,eAAO,MAAM,iCAAiC;;;;;;;kBA9BlC,OAAO,CAAC,SAAS,CAAC;gBACpB,0BAA0B;;eAE3B,OAAO,CAAC,MAAM,CAAC;;;;;qBAYP,kBAAkB,CAAC,aAAa,CAAC;;;;;;;;;;kBAftC,OAAO,CAAC,SAAS,CAAC;gBACpB,0BAA0B;;eAE3B,OAAO,CAAC,MAAM,CAAC;;;;;qBAYP,kBAAkB,CAAC,aAAa,CAAC;;;;CAewD,CAAA"}
1
+ {"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["../../src/Config.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAE1D,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAEnE,eAAO,MAAM,0BAA0B,wCAAwC,CAAA;AAC/E,MAAM,MAAM,0BAA0B,GAAG,OAAO,0BAA0B,CAAA;AAE1E,MAAM,MAAM,wBAAwB,GAAG,aAAa,CAAC;IACnD,MAAM,CAAC,EAAE,kBAAkB,CAAA;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;IAC5B,MAAM,EAAE,0BAA0B,CAAA;IAClC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;CACvB,CAAC,CAAA;AAEF,MAAM,MAAM,uBAAuB,GAAG,aAAa,CACjD,wBAAwB,GAAG;IACzB,GAAG,EAAE,UAAU,CAAC,KAAK,CAAC,CAAA;CACvB,CACF,CAAA;AAED,MAAM,MAAM,+BAA+B,GAAG,aAAa,CACzD,wBAAwB,GAAG;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAChC,WAAW,EAAE,kBAAkB,CAAC,aAAa,CAAC,CAAA;CAC/C,CACF,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG,uBAAuB,GAAG,+BAA+B,GAAG,wBAAwB,CAAA;AAEvH,eAAO,MAAM,sBAAsB,4CAA0E,CAAA;AAC7G,eAAO,MAAM,sBAAsB;;;CAAiD,CAAA;AAEpF,eAAO,MAAM,yBAAyB,WAAY,OAAO;;;;;;cAxB7C,OAAO,CAAC,SAAS,CAAC;YACpB,0BAA0B;;WAE3B,OAAO,CAAC,MAAM,CAAC;;;;SAKf,UAAU,CAAC,KAAK,CAAC;;;CAiBiD,CAAA;AAC3E,eAAO,MAAM,yBAAyB;;;;;;;kBA1B1B,OAAO,CAAC,SAAS,CAAC;gBACpB,0BAA0B;;eAE3B,OAAO,CAAC,MAAM,CAAC;;;;aAKf,UAAU,CAAC,KAAK,CAAC;;;;;;;;;;kBARd,OAAO,CAAC,SAAS,CAAC;gBACpB,0BAA0B;;eAE3B,OAAO,CAAC,MAAM,CAAC;;;;aAKf,UAAU,CAAC,KAAK,CAAC;;;;;;;;;kBARd,OAAO,CAAC,SAAS,CAAC;gBACpB,0BAA0B;;eAE3B,OAAO,CAAC,MAAM,CAAC;;;;aAKf,UAAU,CAAC,KAAK,CAAC;;;;CAkBgE,CAAA;AAE1F,eAAO,MAAM,iCAAiC,WAAY,OAAO;;;;;;cA5BrD,OAAO,CAAC,SAAS,CAAC;YACpB,0BAA0B;;WAE3B,OAAO,CAAC,MAAM,CAAC;;;;;iBAYP,kBAAkB,CAAC,aAAa,CAAC;;;CAcyC,CAAA;AAC3F,eAAO,MAAM,iCAAiC;;;;;;;kBA9BlC,OAAO,CAAC,SAAS,CAAC;gBACpB,0BAA0B;;eAE3B,OAAO,CAAC,MAAM,CAAC;;;;;qBAYP,kBAAkB,CAAC,aAAa,CAAC;;;;;;;;;;kBAftC,OAAO,CAAC,SAAS,CAAC;gBACpB,0BAA0B;;eAE3B,OAAO,CAAC,MAAM,CAAC;;;;;qBAYP,kBAAkB,CAAC,aAAa,CAAC;;;;;;;;;kBAftC,OAAO,CAAC,SAAS,CAAC;gBACpB,0BAA0B;;eAE3B,OAAO,CAAC,MAAM,CAAC;;;;;qBAYP,kBAAkB,CAAC,aAAa,CAAC;;;;CAewD,CAAA"}
@@ -22,12 +22,16 @@ export declare const asApiUriCall: {
22
22
  uri: string;
23
23
  } & {
24
24
  schema: "network.xyo.api.call";
25
- }>(value: unknown, config?: import("@xylabs/object").TypeCheckConfig | undefined): TType | undefined;
25
+ }>(value: import("@xylabs/promise").AnyNonPromise<T_1>, config?: import("@xylabs/object").TypeCheckConfig | undefined): TType | undefined;
26
26
  <TType_1 extends import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & ApiCallFields & {
27
27
  uri: string;
28
28
  } & {
29
29
  schema: "network.xyo.api.call";
30
- }>(value: unknown, assert: string | (() => string), config?: import("@xylabs/object").TypeCheckConfig | undefined): TType_1;
30
+ }>(value: import("@xylabs/promise").AnyNonPromise<T_1>, 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;
31
35
  };
32
36
  export type ApiUriTemplateCall = Payload<ApiCallFields & {
33
37
  params?: Record<string, unknown>;
@@ -45,21 +49,26 @@ export declare const asApiUriTemplateCall: {
45
49
  uriTemplate?: string | undefined;
46
50
  } & {
47
51
  schema: "network.xyo.api.call";
48
- }>(value: unknown, config?: import("@xylabs/object").TypeCheckConfig | undefined): TType | undefined;
52
+ }>(value: import("@xylabs/promise").AnyNonPromise<T_1>, config?: import("@xylabs/object").TypeCheckConfig | undefined): TType | undefined;
49
53
  <TType_1 extends import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & ApiCallFields & {
50
54
  params?: Record<string, unknown> | undefined;
51
55
  uriTemplate?: string | undefined;
52
56
  } & {
53
57
  schema: "network.xyo.api.call";
54
- }>(value: unknown, assert: string | (() => string), config?: import("@xylabs/object").TypeCheckConfig | undefined): TType_1;
58
+ }>(value: import("@xylabs/promise").AnyNonPromise<T_1>, assert: import("@xylabs/object").StringOrAlertFunction<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & ApiCallFields & {
59
+ params?: Record<string, unknown> | undefined;
60
+ uriTemplate?: string | undefined;
61
+ } & {
62
+ schema: "network.xyo.api.call";
63
+ }>, config?: import("@xylabs/object").TypeCheckConfig | undefined): TType_1;
55
64
  };
56
65
  export type ApiCall = ApiUriCall | ApiUriTemplateCall;
57
66
  export declare const ApiCallResultSchema = "network.xyo.api.call.result";
58
67
  export type ApiCallResultSchema = typeof ApiCallResultSchema;
59
68
  export declare const isApiCall: (x?: unknown) => x is ApiCall;
60
69
  export declare const asApiCall: {
61
- <TType extends ApiCall>(value: unknown, config?: import("@xylabs/object").TypeCheckConfig | undefined): TType | undefined;
62
- <TType_1 extends ApiCall>(value: unknown, assert: string | (() => string), config?: import("@xylabs/object").TypeCheckConfig | undefined): TType_1;
70
+ <TType extends ApiCall>(value: import("@xylabs/promise").AnyNonPromise<T_1>, config?: import("@xylabs/object").TypeCheckConfig | undefined): TType | undefined;
71
+ <TType_1 extends ApiCall>(value: import("@xylabs/promise").AnyNonPromise<T_1>, assert: import("@xylabs/object").StringOrAlertFunction<ApiCall>, config?: import("@xylabs/object").TypeCheckConfig | undefined): TType_1;
63
72
  };
64
73
  export interface HttpMeta {
65
74
  code?: string;
@@ -85,14 +94,20 @@ export declare const asApiCallJsonResult: {
85
94
  data: ApiCallJsonResultType;
86
95
  } & {
87
96
  schema: "network.xyo.api.call.result";
88
- }>(value: unknown, config?: import("@xylabs/object").TypeCheckConfig | undefined): TType | undefined;
97
+ }>(value: import("@xylabs/promise").AnyNonPromise<T_1>, config?: import("@xylabs/object").TypeCheckConfig | undefined): TType | undefined;
89
98
  <TType_1 extends import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
90
99
  call: Hash;
91
100
  contentType: 'application/json';
92
101
  data: ApiCallJsonResultType;
93
102
  } & {
94
103
  schema: "network.xyo.api.call.result";
95
- }>(value: unknown, assert: string | (() => string), config?: import("@xylabs/object").TypeCheckConfig | undefined): TType_1;
104
+ }>(value: import("@xylabs/promise").AnyNonPromise<T_1>, 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;
96
111
  };
97
112
  export type ApiCallBase64Result = Payload<{
98
113
  call: Hash;
@@ -106,7 +121,7 @@ export type ApiCallErrorResult = Payload<{
106
121
  export type ApiCallResult<TJson extends JsonArray | JsonObject = JsonArray | JsonObject> = ApiCallBase64Result | ApiCallJsonResult<TJson> | ApiCallErrorResult;
107
122
  export declare const isApiCallResult: (x?: unknown) => x is ApiCallResult<JsonArray | JsonObject>;
108
123
  export declare const asApiCallResult: {
109
- <TType extends ApiCallResult<JsonArray | JsonObject>>(value: unknown, config?: import("@xylabs/object").TypeCheckConfig | undefined): TType | undefined;
110
- <TType_1 extends ApiCallResult<JsonArray | JsonObject>>(value: unknown, assert: string | (() => string), config?: import("@xylabs/object").TypeCheckConfig | undefined): TType_1;
124
+ <TType extends ApiCallResult<JsonArray | JsonObject>>(value: import("@xylabs/promise").AnyNonPromise<T_1>, config?: import("@xylabs/object").TypeCheckConfig | undefined): TType | undefined;
125
+ <TType_1 extends ApiCallResult<JsonArray | JsonObject>>(value: import("@xylabs/promise").AnyNonPromise<T_1>, assert: import("@xylabs/object").StringOrAlertFunction<ApiCallResult<JsonArray | JsonObject>>, config?: import("@xylabs/object").TypeCheckConfig | undefined): TType_1;
111
126
  };
112
127
  //# sourceMappingURL=Payload.d.ts.map