@xyo-network/api-call-witness 2.99.5 → 2.99.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser/Payload/identity/asApiCall.d.cts +2 -2
- package/dist/browser/Payload/identity/asApiCall.d.cts.map +1 -1
- package/dist/browser/Payload/identity/asApiCall.d.mts +2 -2
- package/dist/browser/Payload/identity/asApiCall.d.mts.map +1 -1
- package/dist/browser/Payload/identity/asApiCall.d.ts +2 -2
- package/dist/browser/Payload/identity/asApiCall.d.ts.map +1 -1
- package/dist/browser/Payload/identity/asApiCallBase64Result.d.cts +2 -2
- package/dist/browser/Payload/identity/asApiCallBase64Result.d.cts.map +1 -1
- package/dist/browser/Payload/identity/asApiCallBase64Result.d.mts +2 -2
- package/dist/browser/Payload/identity/asApiCallBase64Result.d.mts.map +1 -1
- package/dist/browser/Payload/identity/asApiCallBase64Result.d.ts +2 -2
- package/dist/browser/Payload/identity/asApiCallBase64Result.d.ts.map +1 -1
- package/dist/browser/Payload/identity/asApiCallResult.d.cts +2 -2
- package/dist/browser/Payload/identity/asApiCallResult.d.cts.map +1 -1
- package/dist/browser/Payload/identity/asApiCallResult.d.mts +2 -2
- package/dist/browser/Payload/identity/asApiCallResult.d.mts.map +1 -1
- package/dist/browser/Payload/identity/asApiCallResult.d.ts +2 -2
- package/dist/browser/Payload/identity/asApiCallResult.d.ts.map +1 -1
- package/dist/browser/Payload/identity/asApiCallXmlResult.d.cts +2 -2
- package/dist/browser/Payload/identity/asApiCallXmlResult.d.cts.map +1 -1
- package/dist/browser/Payload/identity/asApiCallXmlResult.d.mts +2 -2
- package/dist/browser/Payload/identity/asApiCallXmlResult.d.mts.map +1 -1
- package/dist/browser/Payload/identity/asApiCallXmlResult.d.ts +2 -2
- package/dist/browser/Payload/identity/asApiCallXmlResult.d.ts.map +1 -1
- package/dist/browser/Payload/identity/asApiUriCall.d.cts +2 -2
- package/dist/browser/Payload/identity/asApiUriCall.d.cts.map +1 -1
- package/dist/browser/Payload/identity/asApiUriCall.d.mts +2 -2
- package/dist/browser/Payload/identity/asApiUriCall.d.mts.map +1 -1
- package/dist/browser/Payload/identity/asApiUriCall.d.ts +2 -2
- package/dist/browser/Payload/identity/asApiUriCall.d.ts.map +1 -1
- package/dist/browser/Payload/identity/asApiUriTemplateCall.d.cts +2 -2
- package/dist/browser/Payload/identity/asApiUriTemplateCall.d.cts.map +1 -1
- package/dist/browser/Payload/identity/asApiUriTemplateCall.d.mts +2 -2
- package/dist/browser/Payload/identity/asApiUriTemplateCall.d.mts.map +1 -1
- package/dist/browser/Payload/identity/asApiUriTemplateCall.d.ts +2 -2
- package/dist/browser/Payload/identity/asApiUriTemplateCall.d.ts.map +1 -1
- package/dist/browser/Payload/types/ApiCallJsonResult.d.cts +2 -2
- package/dist/browser/Payload/types/ApiCallJsonResult.d.cts.map +1 -1
- package/dist/browser/Payload/types/ApiCallJsonResult.d.mts +2 -2
- package/dist/browser/Payload/types/ApiCallJsonResult.d.mts.map +1 -1
- package/dist/browser/Payload/types/ApiCallJsonResult.d.ts +2 -2
- package/dist/browser/Payload/types/ApiCallJsonResult.d.ts.map +1 -1
- package/dist/browser/Witness/Config.d.cts +16 -16
- package/dist/browser/Witness/Config.d.cts.map +1 -1
- package/dist/browser/Witness/Config.d.mts +16 -16
- package/dist/browser/Witness/Config.d.mts.map +1 -1
- package/dist/browser/Witness/Config.d.ts +16 -16
- package/dist/browser/Witness/Config.d.ts.map +1 -1
- package/dist/browser/Witness/Witness.d.cts.map +1 -1
- package/dist/browser/Witness/Witness.d.mts.map +1 -1
- package/dist/browser/Witness/Witness.d.ts.map +1 -1
- package/dist/browser/index.cjs +46 -71
- package/dist/browser/index.cjs.map +1 -1
- package/dist/browser/index.mjs +45 -72
- package/dist/browser/index.mjs.map +1 -1
- package/dist/browser/lib/checkIpfsUrl.d.cts.map +1 -1
- package/dist/browser/lib/checkIpfsUrl.d.mts.map +1 -1
- package/dist/browser/lib/checkIpfsUrl.d.ts.map +1 -1
- package/dist/neutral/Payload/identity/asApiCall.d.cts +2 -2
- package/dist/neutral/Payload/identity/asApiCall.d.cts.map +1 -1
- package/dist/neutral/Payload/identity/asApiCall.d.mts +2 -2
- package/dist/neutral/Payload/identity/asApiCall.d.mts.map +1 -1
- package/dist/neutral/Payload/identity/asApiCall.d.ts +2 -2
- package/dist/neutral/Payload/identity/asApiCall.d.ts.map +1 -1
- package/dist/neutral/Payload/identity/asApiCallBase64Result.d.cts +2 -2
- package/dist/neutral/Payload/identity/asApiCallBase64Result.d.cts.map +1 -1
- package/dist/neutral/Payload/identity/asApiCallBase64Result.d.mts +2 -2
- package/dist/neutral/Payload/identity/asApiCallBase64Result.d.mts.map +1 -1
- package/dist/neutral/Payload/identity/asApiCallBase64Result.d.ts +2 -2
- package/dist/neutral/Payload/identity/asApiCallBase64Result.d.ts.map +1 -1
- package/dist/neutral/Payload/identity/asApiCallResult.d.cts +2 -2
- package/dist/neutral/Payload/identity/asApiCallResult.d.cts.map +1 -1
- package/dist/neutral/Payload/identity/asApiCallResult.d.mts +2 -2
- package/dist/neutral/Payload/identity/asApiCallResult.d.mts.map +1 -1
- package/dist/neutral/Payload/identity/asApiCallResult.d.ts +2 -2
- package/dist/neutral/Payload/identity/asApiCallResult.d.ts.map +1 -1
- package/dist/neutral/Payload/identity/asApiCallXmlResult.d.cts +2 -2
- package/dist/neutral/Payload/identity/asApiCallXmlResult.d.cts.map +1 -1
- package/dist/neutral/Payload/identity/asApiCallXmlResult.d.mts +2 -2
- package/dist/neutral/Payload/identity/asApiCallXmlResult.d.mts.map +1 -1
- package/dist/neutral/Payload/identity/asApiCallXmlResult.d.ts +2 -2
- package/dist/neutral/Payload/identity/asApiCallXmlResult.d.ts.map +1 -1
- package/dist/neutral/Payload/identity/asApiUriCall.d.cts +2 -2
- package/dist/neutral/Payload/identity/asApiUriCall.d.cts.map +1 -1
- package/dist/neutral/Payload/identity/asApiUriCall.d.mts +2 -2
- package/dist/neutral/Payload/identity/asApiUriCall.d.mts.map +1 -1
- package/dist/neutral/Payload/identity/asApiUriCall.d.ts +2 -2
- package/dist/neutral/Payload/identity/asApiUriCall.d.ts.map +1 -1
- package/dist/neutral/Payload/identity/asApiUriTemplateCall.d.cts +2 -2
- package/dist/neutral/Payload/identity/asApiUriTemplateCall.d.cts.map +1 -1
- package/dist/neutral/Payload/identity/asApiUriTemplateCall.d.mts +2 -2
- package/dist/neutral/Payload/identity/asApiUriTemplateCall.d.mts.map +1 -1
- package/dist/neutral/Payload/identity/asApiUriTemplateCall.d.ts +2 -2
- package/dist/neutral/Payload/identity/asApiUriTemplateCall.d.ts.map +1 -1
- package/dist/neutral/Payload/types/ApiCallJsonResult.d.cts +2 -2
- package/dist/neutral/Payload/types/ApiCallJsonResult.d.cts.map +1 -1
- package/dist/neutral/Payload/types/ApiCallJsonResult.d.mts +2 -2
- package/dist/neutral/Payload/types/ApiCallJsonResult.d.mts.map +1 -1
- package/dist/neutral/Payload/types/ApiCallJsonResult.d.ts +2 -2
- package/dist/neutral/Payload/types/ApiCallJsonResult.d.ts.map +1 -1
- package/dist/neutral/Witness/Config.d.cts +16 -16
- package/dist/neutral/Witness/Config.d.cts.map +1 -1
- package/dist/neutral/Witness/Config.d.mts +16 -16
- package/dist/neutral/Witness/Config.d.mts.map +1 -1
- package/dist/neutral/Witness/Config.d.ts +16 -16
- package/dist/neutral/Witness/Config.d.ts.map +1 -1
- package/dist/neutral/Witness/Witness.d.cts.map +1 -1
- package/dist/neutral/Witness/Witness.d.mts.map +1 -1
- package/dist/neutral/Witness/Witness.d.ts.map +1 -1
- package/dist/neutral/index.cjs +46 -71
- package/dist/neutral/index.cjs.map +1 -1
- package/dist/neutral/index.mjs +45 -72
- package/dist/neutral/index.mjs.map +1 -1
- package/dist/neutral/lib/checkIpfsUrl.d.cts.map +1 -1
- package/dist/neutral/lib/checkIpfsUrl.d.mts.map +1 -1
- package/dist/neutral/lib/checkIpfsUrl.d.ts.map +1 -1
- package/dist/node/Payload/identity/asApiCall.d.cts +2 -2
- package/dist/node/Payload/identity/asApiCall.d.cts.map +1 -1
- package/dist/node/Payload/identity/asApiCall.d.mts +2 -2
- package/dist/node/Payload/identity/asApiCall.d.mts.map +1 -1
- package/dist/node/Payload/identity/asApiCall.d.ts +2 -2
- package/dist/node/Payload/identity/asApiCall.d.ts.map +1 -1
- package/dist/node/Payload/identity/asApiCallBase64Result.d.cts +2 -2
- package/dist/node/Payload/identity/asApiCallBase64Result.d.cts.map +1 -1
- package/dist/node/Payload/identity/asApiCallBase64Result.d.mts +2 -2
- package/dist/node/Payload/identity/asApiCallBase64Result.d.mts.map +1 -1
- package/dist/node/Payload/identity/asApiCallBase64Result.d.ts +2 -2
- package/dist/node/Payload/identity/asApiCallBase64Result.d.ts.map +1 -1
- package/dist/node/Payload/identity/asApiCallResult.d.cts +2 -2
- package/dist/node/Payload/identity/asApiCallResult.d.cts.map +1 -1
- package/dist/node/Payload/identity/asApiCallResult.d.mts +2 -2
- package/dist/node/Payload/identity/asApiCallResult.d.mts.map +1 -1
- package/dist/node/Payload/identity/asApiCallResult.d.ts +2 -2
- package/dist/node/Payload/identity/asApiCallResult.d.ts.map +1 -1
- package/dist/node/Payload/identity/asApiCallXmlResult.d.cts +2 -2
- package/dist/node/Payload/identity/asApiCallXmlResult.d.cts.map +1 -1
- package/dist/node/Payload/identity/asApiCallXmlResult.d.mts +2 -2
- package/dist/node/Payload/identity/asApiCallXmlResult.d.mts.map +1 -1
- package/dist/node/Payload/identity/asApiCallXmlResult.d.ts +2 -2
- package/dist/node/Payload/identity/asApiCallXmlResult.d.ts.map +1 -1
- package/dist/node/Payload/identity/asApiUriCall.d.cts +2 -2
- package/dist/node/Payload/identity/asApiUriCall.d.cts.map +1 -1
- package/dist/node/Payload/identity/asApiUriCall.d.mts +2 -2
- package/dist/node/Payload/identity/asApiUriCall.d.mts.map +1 -1
- package/dist/node/Payload/identity/asApiUriCall.d.ts +2 -2
- package/dist/node/Payload/identity/asApiUriCall.d.ts.map +1 -1
- package/dist/node/Payload/identity/asApiUriTemplateCall.d.cts +2 -2
- package/dist/node/Payload/identity/asApiUriTemplateCall.d.cts.map +1 -1
- package/dist/node/Payload/identity/asApiUriTemplateCall.d.mts +2 -2
- package/dist/node/Payload/identity/asApiUriTemplateCall.d.mts.map +1 -1
- package/dist/node/Payload/identity/asApiUriTemplateCall.d.ts +2 -2
- package/dist/node/Payload/identity/asApiUriTemplateCall.d.ts.map +1 -1
- package/dist/node/Payload/types/ApiCallJsonResult.d.cts +2 -2
- package/dist/node/Payload/types/ApiCallJsonResult.d.cts.map +1 -1
- package/dist/node/Payload/types/ApiCallJsonResult.d.mts +2 -2
- package/dist/node/Payload/types/ApiCallJsonResult.d.mts.map +1 -1
- package/dist/node/Payload/types/ApiCallJsonResult.d.ts +2 -2
- package/dist/node/Payload/types/ApiCallJsonResult.d.ts.map +1 -1
- package/dist/node/Witness/Config.d.cts +16 -16
- package/dist/node/Witness/Config.d.cts.map +1 -1
- package/dist/node/Witness/Config.d.mts +16 -16
- package/dist/node/Witness/Config.d.mts.map +1 -1
- package/dist/node/Witness/Config.d.ts +16 -16
- package/dist/node/Witness/Config.d.ts.map +1 -1
- package/dist/node/Witness/Witness.d.cts.map +1 -1
- package/dist/node/Witness/Witness.d.mts.map +1 -1
- package/dist/node/Witness/Witness.d.ts.map +1 -1
- package/dist/node/index.cjs +49 -77
- package/dist/node/index.cjs.map +1 -1
- package/dist/node/index.mjs +48 -79
- package/dist/node/index.mjs.map +1 -1
- package/dist/node/lib/checkIpfsUrl.d.cts.map +1 -1
- package/dist/node/lib/checkIpfsUrl.d.mts.map +1 -1
- package/dist/node/lib/checkIpfsUrl.d.ts.map +1 -1
- package/package.json +20 -18
- package/src/Witness/Witness.ts +3 -1
- package/src/lib/checkIpfsUrl.ts +1 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/index.ts","../../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":["export * from './Payload/index.ts'\nexport * from './Witness/index.ts'\n","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 { 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 { 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 { 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 { 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 { 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 { 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 { 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 { Hash } from '@xylabs/hex'\nimport { AsObjectFactory, JsonArray, JsonObject } from '@xylabs/object'\nimport { isPayloadOfSchemaType, Payload } 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 { WitnessConfig } from '@xyo-network/witness-model'\n\nimport { 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 { Axios, AxiosError, AxiosJson } from '@xylabs/axios'\nimport { Hash } from '@xylabs/hex'\nimport { AbstractWitness } from '@xyo-network/abstract-witness'\nimport { PayloadHasher } from '@xyo-network/hash'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { isPayloadOfSchemaType, Schema } from '@xyo-network/payload-model'\nimport { fromByteArray } from 'base64-js'\nimport fillTemplate from 'es6-dynamic-template'\n\nimport { checkIpfsUrl } from '../lib/index.ts'\nimport {\n ApiCall,\n ApiCallBase64Result,\n ApiCallErrorResult,\n ApiCallJsonResult,\n ApiCallJsonResultType,\n ApiCallResult,\n ApiCallResultSchema,\n ApiCallSchema,\n ApiCallXmlResult,\n asApiUriCall,\n asApiUriTemplateCall,\n MimeTypes,\n} from '../Payload/index.ts'\nimport { asApiUriCallWitnessConfig, asApiUriTemplateCallWitnessConfig } from './Config.ts'\nimport { 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'\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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAA,oBAAgC;;;ACAhC,2BAAsC;;;ACA/B,IAAMA,gBAAgB;AAGtB,IAAMC,sBAAsB,GAAGD,aAAAA;;;ADE/B,IAAME,gBAAYC,4CAA+BC,aAAAA;;;ADDjD,IAAMC,YAAYC,8BAAgBC,OAAOC,SAAAA;;;AGJhD,IAAAC,iBAAgC;;;ACAhC,IAAAC,wBAAsC;AAK/B,IAAMC,wBAAwB,wBAACC,MAAAA;AACpC,aAAOC,6CAAsBC,mBAAAA,EAAqBF,CAAAA,KAAM,OAAQA,GAA2BG,SAAS;AACtG,GAFqC;;;ADD9B,IAAMC,wBAAwBC,+BAAgBC,OAAOC,qBAAAA;;;AEJ5D,IAAAC,iBAAgC;;;ACAhC,IAAAC,wBAAsC;AAK/B,IAAMC,sBAAkBC,6CAAqCC,mBAAAA;;;ADD7D,IAAMC,kBAAkBC,+BAAgBC,OAAOC,eAAAA;;;AEJtD,IAAAC,iBAAgC;;;ACAhC,IAAAC,wBAAsC;AAK/B,IAAMC,qBAAqB,wBAACC,MAAAA;AACjC,aAAOC,6CAAsBC,mBAAAA,EAAqBF,CAAAA,KAAM,OAAQA,GAAwBG,SAAS;AACnG,GAFkC;;;ADD3B,IAAMC,qBAAqBC,+BAAgBC,OAAOC,kBAAAA;;;AEJzD,IAAAC,iBAAgC;;;ACGzB,IAAMC,eAAe,wBAACC,UAAyCC,UAAUD,KAAAA,KAAU,CAAC,CAAEA,MAAqBE,KAAtF;;;ADCrB,IAAMC,eAAeC,+BAAgBC,OAAOC,YAAAA;;;AEJnD,IAAAC,iBAAgC;;;ACGzB,IAAMC,uBAAuB,wBAACC,UACnCC,UAAUD,KAAAA,KAAU,CAAC,EAAGA,MAA6BE,eAAgBF,MAA6BG,SADhE;;;ADC7B,IAAMC,uBAAuBC,+BAAgBC,OAAOC,oBAAAA;;;AEJ3D,IAAAC,wBAAsC;AAK/B,IAAMC,uBAAuB,wBAACC,UACnC,CAAC,KAACC,6CAAqCC,mBAAAA,MAA0BF,MAA6BG,MAAMC,UAAU,QAAQ,KADpF;;;ACJpC,IAAAC,iBAAuD;AACvD,IAAAC,wBAA+C;AAexC,IAAMC,sBAAsB,wBAA0DC,MAAAA;AAC3F,aAAOC,6CAAsBC,mBAAAA,EAAqBF,CAAAA,KAAOA,GAAyBG,gBAAgB;AACpG,GAFmC;AAG5B,IAAMC,sBAAsBC,+BAAgBC,OAAOP,mBAAAA;;;ACpB1D,IAAAQ,iBAAgC;AAChC,IAAAC,wBAAsC;;;ACD/B,IAAMC,6BAA6B;;;AD+BnC,IAAMC,6BAAyBC,6CAA4CC,0BAAAA;AAC3E,IAAMC,yBAAyBC,+BAAgBC,OAAOL,sBAAAA;AAEtD,IAAMM,4BAA4B,wBAACC,UACxCP,uBAAuBO,KAAAA,KAAU,CAAC,CAAEA,MAAkCC,KAD/B;AAElC,IAAMC,4BAA4BL,+BAAgBC,OAAOC,yBAAAA;AAEzD,IAAMI,oCAAoC,wBAACH,UAChDP,uBAAuBO,KAAAA,KAAU,CAAC,CAAEA,MAA0CI,aAD/B;AAE1C,IAAMC,oCAAoCR,+BAAgBC,OAAOK,iCAAAA;;;AEvCxE,IAAAG,iBAAyB;AACzB,mBAA6C;AAE7C,8BAAgC;AAChC,kBAA8B;AAC9B,6BAA+B;AAC/B,IAAAC,wBAA8C;AAC9C,uBAA8B;AAC9B,kCAAyB;;;ACTzB,oBAAyB;AAEzB,IAAMC,oBAAoB;AAQnB,IAAMC,eAAe,wBAACC,YAAoBC,gBAAAA;AAC/C,MAAI;AACF,UAAMC,MAAM,IAAIC,IAAIH,UAAAA;AACpB,QAAII,WAAWF,IAAIE;AACnB,QAAIC,OAAOH,IAAIG;AACf,QAAIC,OAAOJ,IAAIK;AACf,UAAMC,QAAQN,IAAIO;AAClB,QAAIL,aAAa,SAAS;AACxBA,iBAAW;AACXC,iBAAOK,wBAAST,aAAa,MAAM,yBAAA;AACnCK,aAAOJ,IAAIG,SAAS,SAAS,OAAOC,IAAAA,KAAS,QAAQJ,IAAIG,IAAI,GAAGC,IAAAA;AAChE,YAAMK,OAAO,GAAGP,QAAAA,KAAaC,IAAAA,IAAQC,IAAAA;AACrC,aAAOE,OAAOI,SAAS,IAAI,GAAGD,IAAAA,IAAQH,KAAAA,KAAUG;IAClD,WAAWb,qBAAqBM,aAAa,WAAWC,SAAS,WAAW;AAC1ED,iBAAW;AACXC,iBAAOK,wBAAST,aAAa,MAAM,yBAAA;AACnC,YAAMY,YAAYP,KAAKQ,MAAM,GAAA;AAC7B,UAAID,UAAU,CAAA,MAAO,QAAQ;AAC3BA,kBAAUE,MAAK;MACjB;AACAT,aAAOO,UAAUG,KAAK,GAAA;AACtB,YAAML,OAAO,GAAGP,QAAAA,KAAaC,IAAAA,IAAQC,IAAAA;AACrC,aAAOE,OAAOI,SAAS,IAAI,GAAGD,IAAAA,IAAQH,KAAAA,KAAUG;IAClD,OAAO;AACL,aAAOX;IACT;EACF,QAAQ;AAIN,WAAOA;EACT;AACF,GAhC4B;;;ADoBrB,IAAMiB,iBAAN,cAA0FC,wCAAAA;EA9BjG,OA8BiGA;;;EAC/F,OAAyBC,gBAA0B;OAAI,MAAMA;IAAeC;;EAC5E,OAAyBC,sBAA8BD;EAEvD,IAAIE,SAAoB;AACtB,WAAO,KAAKC,OAAOD,UAAU;EAC/B;EAEA,IAAIE,cAAc;AAChB,WAAO,KAAKC,OAAOD;EACrB;EAEA,IAAIE,UAAU;AACZ,WAAO,KAAKH,OAAOG;EACrB;EAEAC,WAAWC,MAAwB;AACjC,UAAM,EAAEC,KAAKC,QAAO,IAAKC,aAAaH,IAAAA,KAAS,CAAC;AAChD,UAAM,EAAEI,aAAaC,iBAAiBR,QAAQS,YAAYC,SAASC,YAAW,IAAKC,qBAAqBT,IAAAA,KAAS,CAAC;AAClH,UAAM,EAAEC,KAAKS,UAAS,IAAKC,0BAA0B,KAAKhB,MAAM,KAAK,CAAC;AACtE,UAAM,EAAES,aAAaQ,mBAAmBf,QAAQgB,cAAcN,SAASO,cAAa,IAAKC,kCAAkC,KAAKpB,MAAM,KAAK,CAAC;AAE5I,UAAME,SAAS;MAAE,GAAGgB;MAAc,GAAGP;IAAW;AAEhD,QAAIU,MAAuBC;AAE3B,QAAIf,SAAS;AACXc,YAAM,IAAIE,IAAIhB,OAAAA;IAChB,WAAWG,iBAAiB;AAC1BW,YAAM,IAAIE,QAAIC,4BAAAA,SAAad,iBAAiBR,MAAAA,CAAAA;IAC9C,WAAWa,WAAW;AACpBM,YAAM,IAAIE,IAAIR,SAAAA;IAChB,WAAWE,mBAAmB;AAC5BI,YAAM,IAAIE,QAAIC,4BAAAA,SAAaP,mBAAmBf,MAAAA,CAAAA;IAChD;AAEA,QAAImB,KAAK;AACP,YAAMT,UAAUa,OAAOC,QAAQ;QAAE,GAAGP;QAAe,GAAGN;MAAY,CAAA;AAClED,cAAQe,IAAI,CAAC,CAACC,KAAKC,KAAAA,MAAWR,KAAKS,aAAaC,IAAIH,KAAKC,KAAAA,CAAAA;AACzD,aAAOR,IAAIW;IACb;AAEA,UAAM,IAAIC,MAAM,qFAAA;EAClB;EAEAC,WAAWC,SAAkF;AAC3F,WAAO;MAAE,GAAG,KAAKjC,OAAOiC;MAAS,GAAG,KAAKnC,OAAOmC;MAAS,GAAGA;IAAQ;EACtE;EAEA,MAAyBC,eAAeC,aAAwB,CAAA,GAA8B;AAC5F,UAAM,KAAKC,QAAQ,OAAA;AACnB,QAAI;AACF,YAAMC,eAAe,MAAMC,QAAQC,IACjCJ,WAAWK,WAAOC,6CAAsBC,aAAAA,CAAAA,EAAgBjB,IAAI,OAAOtB,SAAAA;AACjE,cAAM,EAAEwC,MAAMC,SAAQ,IAAKzC;AAC3B,cAAM,EAAEwC,MAAME,WAAU,IAAK,KAAK/C;AAClC,cAAM6C,OAAOC,YAAYC,cAAc;AACvC,cAAMzC,MAAM,KAAKF,WAAWC,IAAAA;AAE5B,cAAM2C,mBAAeC,yBAASC,aAAa5C,KAAK,KAAKL,WAAW,GAAG,MAAM,aAAA;AAEzE,YAAI4C,SAAS,OAAO;AAClB,iBAAO,KAAKM,QAAQH,eAAe,MAAMI,sCAAeC,MAAMhD,IAAAA,GAAOiD,KAAK;QAC5E;AAEA,cAAMC,cAA6B;UACjClD,MAAM,MAAMmD,0BAAcC,KAAKpD,IAAAA;UAC/BqD,QAAQC;QACV;AACA,eAAOJ;MACT,CAAA,CAAA;AAEF,aAAOhB;IACT,SAASqB,IAAI;AACX,YAAMC,QAAQD;AACdE,cAAQD,MAAM,UAAU,KAAK7D,OAAO+D,IAAI,MAAMF,MAAMG,OAAO,EAAE;AAC7DF,cAAQG,IAAIJ,MAAMK,KAAK;AACvB,YAAML;IACR;EACF;;EAGA,MAAcV,QAAQ9B,KAAahB,MAAY8B,SAAsE;AACnH,UAAMgC,SAAwB;MAC5B9D;MACAqD,QAAQC;IACV;AACA,QAAI;AACF,cAAQ,KAAK5D,QAAM;QACjB,KAAK,oBAAoB;AACvB,gBAAMqE,QAAQ,IAAIC,uBAAU;YAAElC,SAAS;cAAE,GAAG,KAAKD,WAAWC,OAAAA;cAAUmC,QAAQ;YAAmB;YAAGnE,SAAS,KAAKA;UAAQ,CAAA;AAC1H,gBAAMoE,WAAW,MAAMH,MAAMI,IAA2BnD,GAAAA;AACxD,cAAIkD,SAASE,UAAU,OAAOF,SAASE,SAAS,KAAK;AACnD,kBAAMC,aAAaP;AACnBO,uBAAWC,OAAOJ,SAASI;AAC3BD,uBAAWE,cAAc;UAC3B,OAAO;AACL,kBAAMC,cAAcV;AACpBU,wBAAYC,OAAO;cACjBL,QAAQF,SAASE;YACnB;UACF;AACA;QACF;QACA,KAAK;QACL,KAAK,YAAY;AACf,gBAAML,QAAQ,IAAIW,mBAAM;YACtB5C,SAAS;cAAE,GAAG,KAAKD,WAAWC,OAAAA;cAAUmC,QAAQ,KAAKvE;YAAO;YAC5DiF,cAAc;YACd7E,SAAS,KAAKA;UAChB,CAAA;AACA,gBAAMoE,WAAW,MAAMH,MAAMI,IAAInD,GAAAA;AACjC,cAAIkD,SAASE,UAAU,OAAOF,SAASE,SAAS,KAAK;AACnD,kBAAMQ,YAAYd;AAClBc,sBAAUN,OAAOO,OAAOC,KAAKZ,SAASI,MAAM,QAAA,EAAUS,SAAS,MAAA;AAC/DH,sBAAUL,cAAcL,SAASpC,QAAQ,cAAA,GAAiBiD,SAAAA,KAAc;UAC1E,OAAO;AACL,kBAAMP,cAAcV;AACpBU,wBAAYC,OAAO;cACjBL,QAAQF,SAASE;YACnB;UACF;AACA;QACF;QACA,SAAS;AACP,gBAAML,QAAQ,IAAIW,mBAAM;YAAE5C,SAAS,KAAKjC,OAAOiC;YAAS6C,cAAc;YAAe7E,SAAS,KAAKA;UAAQ,CAAA;AAC3G,gBAAMoE,WAAW,MAAMH,MAAMI,IAAInD,GAAAA;AACjC,cAAIkD,SAASE,UAAU,OAAOF,SAASE,SAAS,KAAK;AACnD,kBAAMC,aAAaP;AACnBO,uBAAWC,WAAOU,gCAAcH,OAAOC,KAAKZ,SAASI,MAAM,QAAA,CAAA;AAC3DD,uBAAWE,cAAcL,SAASpC,QAAQ,cAAA,GAAiBiD,SAAAA,KAAc;UAC3E,OAAO;AACL,kBAAMP,cAAcV;AACpBU,wBAAYC,OAAO;cACjBL,QAAQF,SAASE;YACnB;UACF;AACA;QACF;MACF;IACF,SAASb,IAAI;AACX,YAAM0B,aAAa1B;AACnB,UAAI0B,WAAWC,cAAc;AAC3B,YAAID,YAAYf,UAAUE,WAAWnD,QAAW;AAC9C6C,iBAAOW,OAAOX,OAAOW,QAAQ,CAAC;AAC9BX,iBAAOW,KAAKL,SAASa,YAAYf,UAAUE;QAC7C;AACA,YAAIa,YAAYE,SAASlE,QAAW;AAClC6C,iBAAOW,OAAOX,OAAOW,QAAQ,CAAC;AAC9BX,iBAAOW,KAAKU,OAAOF,YAAYE;QACjC;AACA,eAAOrB;MACT,OAAO;AACL,cAAMP;MACR;IACF;AACA,WAAOO;EACT;AACF;","names":["ApiCallSchema","ApiCallResultSchema","isApiCall","isPayloadOfSchemaType","ApiCallSchema","asApiCall","AsObjectFactory","create","isApiCall","import_object","import_payload_model","isApiCallBase64Result","x","isPayloadOfSchemaType","ApiCallResultSchema","data","asApiCallBase64Result","AsObjectFactory","create","isApiCallBase64Result","import_object","import_payload_model","isApiCallResult","isPayloadOfSchemaType","ApiCallResultSchema","asApiCallResult","AsObjectFactory","create","isApiCallResult","import_object","import_payload_model","isApiCallXmlResult","x","isPayloadOfSchemaType","ApiCallResultSchema","data","asApiCallXmlResult","AsObjectFactory","create","isApiCallXmlResult","import_object","isApiUriCall","value","isApiCall","uri","asApiUriCall","AsObjectFactory","create","isApiUriCall","import_object","isApiUriTemplateCall","value","isApiCall","uriTemplate","params","asApiUriTemplateCall","AsObjectFactory","create","isApiUriTemplateCall","import_payload_model","isApiCallErrorResult","value","isPayloadOfSchemaType","ApiCallResultSchema","http","status","import_object","import_payload_model","isApiCallJsonResult","x","isPayloadOfSchemaType","ApiCallResultSchema","contentType","asApiCallJsonResult","AsObjectFactory","create","import_object","import_payload_model","ApiCallWitnessConfigSchema","isApiCallWitnessConfig","isPayloadOfSchemaType","ApiCallWitnessConfigSchema","asApiCallWitnessConfig","AsObjectFactory","create","isApiUriCallWitnessConfig","value","uri","asApiUriCallWitnessConfig","isApiUriTemplateCallWitnessConfig","uriTemplate","asApiUriTemplateCallWitnessConfig","import_assert","import_payload_model","allowIpfsIoRepair","checkIpfsUrl","urlToCheck","ipfsGateway","url","URL","protocol","host","path","pathname","query","search","assertEx","root","length","pathParts","split","shift","join","ApiCallWitness","AbstractWitness","configSchemas","ApiCallWitnessConfigSchema","defaultConfigSchema","accept","config","ipfsGateway","params","timeout","getFullUri","call","uri","callUri","asApiUriCall","uriTemplate","callUriTemplate","callParams","queries","callQueries","asApiUriTemplateCall","configUri","asApiUriCallWitnessConfig","configUriTemplate","configParams","configQueries","asApiUriTemplateCallWitnessConfig","url","undefined","URL","fillTemplate","Object","entries","map","key","value","searchParams","set","href","Error","getHeaders","headers","observeHandler","inPayloads","started","observations","Promise","all","filter","isPayloadOfSchemaType","ApiCallSchema","verb","callVerb","configVerb","validatedUri","assertEx","checkIpfsUrl","httpGet","PayloadBuilder","build","$hash","observation","PayloadHasher","hash","schema","ApiCallResultSchema","ex","error","console","name","message","log","stack","result","axios","AxiosJson","Accept","response","get","status","jsonResult","data","contentType","errorResult","http","Axios","responseType","xmlResult","Buffer","from","toString","fromByteArray","axiosError","isAxiosError","code"]}
|
|
1
|
+
{"version":3,"sources":["../../src/index.ts","../../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":["export * from './Payload/index.ts'\nexport * from './Witness/index.ts'\n","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 { 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 { 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 { 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 { 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 { 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 { 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 { 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 { Hash } from '@xylabs/hex'\nimport { AsObjectFactory, JsonArray, JsonObject } from '@xylabs/object'\nimport { isPayloadOfSchemaType, Payload } 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 { WitnessConfig } from '@xyo-network/witness-model'\n\nimport { 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 { 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 { isPayloadOfSchemaType, Schema } from '@xyo-network/payload-model'\nimport { Axios, AxiosError } from 'axios'\nimport { fromByteArray } from 'base64-js'\nimport fillTemplate from 'es6-dynamic-template'\n\nimport { checkIpfsUrl } from '../lib/index.ts'\nimport {\n ApiCall,\n ApiCallBase64Result,\n ApiCallErrorResult,\n ApiCallJsonResult,\n ApiCallJsonResultType,\n ApiCallResult,\n ApiCallResultSchema,\n ApiCallSchema,\n ApiCallXmlResult,\n asApiUriCall,\n asApiUriTemplateCall,\n MimeTypes,\n} from '../Payload/index.ts'\nimport { asApiUriCallWitnessConfig, asApiUriTemplateCallWitnessConfig } from './Config.ts'\nimport { 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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,oBAAgC;;;ACAhC,2BAAsC;;;ACA/B,IAAM,gBAAgB;AAGtB,IAAM,sBAAsB,GAAG,aAAa;;;ADE5C,IAAM,gBAAY,4CAA+B,aAAa;;;ADD9D,IAAM,YAAY,8BAAgB,OAAO,SAAS;;;AGJzD,IAAAA,iBAAgC;;;ACAhC,IAAAC,wBAAsC;AAK/B,IAAM,wBAAwB,CAAC,MAAiD;AACrF,aAAO,6CAAsB,mBAAmB,EAAE,CAAC,KAAK,OAAQ,GAA2B,SAAS;AACtG;;;ADHO,IAAM,wBAAwB,+BAAgB,OAAO,qBAAqB;;;AEJjF,IAAAC,iBAAgC;;;ACAhC,IAAAC,wBAAsC;AAK/B,IAAM,sBAAkB,6CAAqC,mBAAmB;;;ADDhF,IAAM,kBAAkB,+BAAgB,OAAO,eAAe;;;AEJrE,IAAAC,iBAAgC;;;ACAhC,IAAAC,wBAAsC;AAK/B,IAAM,qBAAqB,CAAC,MAA8C;AAC/E,aAAO,6CAAsB,mBAAmB,EAAE,CAAC,KAAK,OAAQ,GAAwB,SAAS;AACnG;;;ADHO,IAAM,qBAAqB,+BAAgB,OAAO,kBAAkB;;;AEJ3E,IAAAC,iBAAgC;;;ACGzB,IAAM,eAAe,CAAC,UAAyC,UAAU,KAAK,KAAK,CAAC,CAAE,MAAqB;;;ADC3G,IAAM,eAAe,+BAAgB,OAAO,YAAY;;;AEJ/D,IAAAC,iBAAgC;;;ACGzB,IAAM,uBAAuB,CAAC,UACnC,UAAU,KAAK,KAAK,CAAC,EAAG,MAA6B,eAAgB,MAA6B;;;ADA7F,IAAM,uBAAuB,+BAAgB,OAAO,oBAAoB;;;AEJ/E,IAAAC,wBAAsC;AAK/B,IAAM,uBAAuB,CAAC,UACnC,CAAC,KAAC,6CAAqC,mBAAmB,MAAO,MAA6B,MAAM,UAAU,QAAQ;;;ACLxH,IAAAC,iBAAuD;AACvD,IAAAC,wBAA+C;AAexC,IAAM,sBAAsB,CAA0D,MAAkD;AAC7I,aAAO,6CAAsB,mBAAmB,EAAE,CAAC,KAAM,GAAyB,gBAAgB;AACpG;AACO,IAAM,sBAAsB,+BAAgB,OAAO,mBAAmB;;;ACpB7E,IAAAC,iBAAgC;AAChC,IAAAC,wBAAsC;;;ACD/B,IAAM,6BAA6B;;;AD+BnC,IAAM,6BAAyB,6CAA4C,0BAA0B;AACrG,IAAM,yBAAyB,+BAAgB,OAAO,sBAAsB;AAE5E,IAAM,4BAA4B,CAAC,UACxC,uBAAuB,KAAK,KAAK,CAAC,CAAE,MAAkC;AACjE,IAAM,4BAA4B,+BAAgB,OAAO,yBAAyB;AAElF,IAAM,oCAAoC,CAAC,UAChD,uBAAuB,KAAK,KAAK,CAAC,CAAE,MAA0C;AACzE,IAAM,oCAAoC,+BAAgB,OAAO,iCAAiC;;;AEvCzG,IAAAC,iBAAyB;AACzB,mBAA0B;AAE1B,IAAAC,cAAoB;AACpB,8BAAgC;AAChC,kBAA8B;AAC9B,6BAA+B;AAC/B,IAAAC,wBAA8C;AAC9C,IAAAC,gBAAkC;AAClC,uBAA8B;AAC9B,kCAAyB;;;ACXzB,oBAAyB;AACzB,iBAAoB;AAEpB,IAAM,oBAAoB;AAQnB,IAAM,eAAe,CAAC,YAAoB,gBAAiC;AAChF,MAAI;AACF,UAAM,MAAM,IAAI,eAAI,UAAU;AAC9B,QAAI,WAAW,IAAI;AACnB,QAAI,OAAO,IAAI;AACf,QAAI,OAAO,IAAI;AACf,UAAM,QAAQ,IAAI;AAClB,QAAI,aAAa,SAAS;AACxB,iBAAW;AACX,iBAAO,wBAAS,aAAa,MAAM,yBAAyB;AAC5D,aAAO,IAAI,SAAS,SAAS,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,GAAG,IAAI;AACpE,YAAM,OAAO,GAAG,QAAQ,KAAK,IAAI,IAAI,IAAI;AACzC,aAAO,OAAO,SAAS,IAAI,GAAG,IAAI,IAAI,KAAK,KAAK;AAAA,IAClD,WAAW,qBAAqB,aAAa,WAAW,SAAS,WAAW;AAC1E,iBAAW;AACX,iBAAO,wBAAS,aAAa,MAAM,yBAAyB;AAC5D,YAAM,YAAY,KAAK,MAAM,GAAG;AAChC,UAAI,UAAU,CAAC,MAAM,QAAQ;AAC3B,kBAAU,MAAM;AAAA,MAClB;AACA,aAAO,UAAU,KAAK,GAAG;AACzB,YAAM,OAAO,GAAG,QAAQ,KAAK,IAAI,IAAI,IAAI;AACzC,aAAO,OAAO,SAAS,IAAI,GAAG,IAAI,IAAI,KAAK,KAAK;AAAA,IAClD,OAAO;AACL,aAAO;AAAA,IACT;AAAA,EACF,QAAQ;AAIN,WAAO;AAAA,EACT;AACF;;;ADXO,IAAM,iBAAN,cAA0F,wCAAiD;AAAA,EAChJ,OAAyB,gBAA0B,CAAC,GAAG,MAAM,eAAe,0BAA0B;AAAA,EACtG,OAAyB,sBAA8B;AAAA,EAEvD,IAAI,SAAoB;AACtB,WAAO,KAAK,OAAO,UAAU;AAAA,EAC/B;AAAA,EAEA,IAAI,cAAc;AAChB,WAAO,KAAK,OAAO;AAAA,EACrB;AAAA,EAEA,IAAI,UAAU;AACZ,WAAO,KAAK,OAAO;AAAA,EACrB;AAAA,EAEA,WAAW,MAAwB;AACjC,UAAM,EAAE,KAAK,QAAQ,IAAI,aAAa,IAAI,KAAK,CAAC;AAChD,UAAM,EAAE,aAAa,iBAAiB,QAAQ,YAAY,SAAS,YAAY,IAAI,qBAAqB,IAAI,KAAK,CAAC;AAClH,UAAM,EAAE,KAAK,UAAU,IAAI,0BAA0B,KAAK,MAAM,KAAK,CAAC;AACtE,UAAM,EAAE,aAAa,mBAAmB,QAAQ,cAAc,SAAS,cAAc,IAAI,kCAAkC,KAAK,MAAM,KAAK,CAAC;AAE5I,UAAM,SAAS,EAAE,GAAG,cAAc,GAAG,WAAW;AAEhD,QAAI,MAAuB;AAE3B,QAAI,SAAS;AACX,YAAM,IAAI,gBAAI,OAAO;AAAA,IACvB,WAAW,iBAAiB;AAC1B,YAAM,IAAI,oBAAI,4BAAAC,SAAa,iBAAiB,MAAM,CAAC;AAAA,IACrD,WAAW,WAAW;AACpB,YAAM,IAAI,gBAAI,SAAS;AAAA,IACzB,WAAW,mBAAmB;AAC5B,YAAM,IAAI,oBAAI,4BAAAA,SAAa,mBAAmB,MAAM,CAAC;AAAA,IACvD;AAEA,QAAI,KAAK;AACP,YAAM,UAAU,OAAO,QAAQ,EAAE,GAAG,eAAe,GAAG,YAAY,CAAC;AACnE,cAAQ,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM,KAAK,aAAa,IAAI,KAAK,KAAK,CAAC;AAC/D,aAAO,IAAI;AAAA,IACb;AAEA,UAAM,IAAI,MAAM,qFAAqF;AAAA,EACvG;AAAA,EAEA,WAAW,SAAkF;AAC3F,WAAO,EAAE,GAAG,KAAK,OAAO,SAAS,GAAG,KAAK,OAAO,SAAS,GAAG,QAAQ;AAAA,EACtE;AAAA,EAEA,MAAyB,eAAe,aAAwB,CAAC,GAA6B;AAC5F,UAAM,KAAK,QAAQ,OAAO;AAC1B,QAAI;AACF,YAAM,eAAe,MAAM,QAAQ;AAAA,QACjC,WAAW,WAAO,6CAAsB,aAAa,CAAC,EAAE,IAAI,OAAO,SAAS;AAC1E,gBAAM,EAAE,MAAM,SAAS,IAAI;AAC3B,gBAAM,EAAE,MAAM,WAAW,IAAI,KAAK;AAClC,gBAAM,OAAO,YAAY,cAAc;AACvC,gBAAM,MAAM,KAAK,WAAW,IAAI;AAEhC,gBAAM,mBAAe,yBAAS,aAAa,KAAK,KAAK,WAAW,GAAG,MAAM,aAAa;AAEtF,cAAI,SAAS,OAAO;AAClB,mBAAO,KAAK,QAAQ,eAAe,MAAM,sCAAe,MAAM,IAAI,GAAG,KAAK;AAAA,UAC5E;AAEA,gBAAM,cAA6B;AAAA,YACjC,MAAM,MAAM,0BAAc,KAAK,IAAI;AAAA,YACnC,QAAQ;AAAA,UACV;AACA,iBAAO;AAAA,QACT,CAAC;AAAA,MACH;AACA,aAAO;AAAA,IACT,SAAS,IAAI;AACX,YAAM,QAAQ;AACd,cAAQ,MAAM,UAAU,KAAK,OAAO,IAAI,MAAM,MAAM,OAAO,EAAE;AAC7D,cAAQ,IAAI,MAAM,KAAK;AACvB,YAAM;AAAA,IACR;AAAA,EACF;AAAA;AAAA,EAGA,MAAc,QAAQ,KAAa,MAAY,SAAsE;AACnH,UAAM,SAAwB;AAAA,MAC5B;AAAA,MACA,QAAQ;AAAA,IACV;AACA,QAAI;AACF,cAAQ,KAAK,QAAQ;AAAA,QACnB,KAAK,oBAAoB;AACvB,gBAAM,QAAQ,IAAI,uBAAU,EAAE,SAAS,EAAE,GAAG,KAAK,WAAW,OAAO,GAAG,QAAQ,mBAAmB,GAAG,SAAS,KAAK,QAAQ,CAAC;AAC3H,gBAAM,WAAW,MAAM,MAAM,IAA2B,GAAG;AAC3D,cAAI,SAAS,UAAU,OAAO,SAAS,SAAS,KAAK;AACnD,kBAAM,aAAa;AACnB,uBAAW,OAAO,SAAS;AAC3B,uBAAW,cAAc;AAAA,UAC3B,OAAO;AACL,kBAAM,cAAc;AACpB,wBAAY,OAAO;AAAA,cACjB,QAAQ,SAAS;AAAA,YACnB;AAAA,UACF;AACA;AAAA,QACF;AAAA,QACA,KAAK;AAAA,QACL,KAAK,YAAY;AACf,gBAAM,QAAQ,IAAI,oBAAM;AAAA,YACtB,SAAS,EAAE,GAAG,KAAK,WAAW,OAAO,GAAG,QAAQ,KAAK,OAAO;AAAA,YAC5D,cAAc;AAAA,YACd,SAAS,KAAK;AAAA,UAChB,CAAC;AACD,gBAAM,WAAW,MAAM,MAAM,IAAI,GAAG;AACpC,cAAI,SAAS,UAAU,OAAO,SAAS,SAAS,KAAK;AACnD,kBAAM,YAAY;AAClB,sBAAU,OAAO,OAAO,KAAK,SAAS,MAAM,QAAQ,EAAE,SAAS,MAAM;AACrE,sBAAU,cAAc,SAAS,QAAQ,cAAc,GAAG,SAAS,KAAK;AAAA,UAC1E,OAAO;AACL,kBAAM,cAAc;AACpB,wBAAY,OAAO;AAAA,cACjB,QAAQ,SAAS;AAAA,YACnB;AAAA,UACF;AACA;AAAA,QACF;AAAA,QACA,SAAS;AACP,gBAAM,QAAQ,IAAI,oBAAM,EAAE,SAAS,KAAK,OAAO,SAAS,cAAc,eAAe,SAAS,KAAK,QAAQ,CAAC;AAC5G,gBAAM,WAAW,MAAM,MAAM,IAAI,GAAG;AACpC,cAAI,SAAS,UAAU,OAAO,SAAS,SAAS,KAAK;AACnD,kBAAM,aAAa;AACnB,uBAAW,WAAO,gCAAc,OAAO,KAAK,SAAS,MAAM,QAAQ,CAAC;AACpE,uBAAW,cAAc,SAAS,QAAQ,cAAc,GAAG,SAAS,KAAK;AAAA,UAC3E,OAAO;AACL,kBAAM,cAAc;AACpB,wBAAY,OAAO;AAAA,cACjB,QAAQ,SAAS;AAAA,YACnB;AAAA,UACF;AACA;AAAA,QACF;AAAA,MACF;AAAA,IACF,SAAS,IAAI;AACX,YAAM,aAAa;AACnB,UAAI,WAAW,cAAc;AAC3B,YAAI,YAAY,UAAU,WAAW,QAAW;AAC9C,iBAAO,OAAO,OAAO,QAAQ,CAAC;AAC9B,iBAAO,KAAK,SAAS,YAAY,UAAU;AAAA,QAC7C;AACA,YAAI,YAAY,SAAS,QAAW;AAClC,iBAAO,OAAO,OAAO,QAAQ,CAAC;AAC9B,iBAAO,KAAK,OAAO,YAAY;AAAA,QACjC;AACA,eAAO;AAAA,MACT,OAAO;AACL,cAAM;AAAA,MACR;AAAA,IACF;AACA,WAAO;AAAA,EACT;AACF;","names":["import_object","import_payload_model","import_object","import_payload_model","import_object","import_payload_model","import_object","import_object","import_payload_model","import_object","import_payload_model","import_object","import_payload_model","import_assert","import_url","import_payload_model","import_axios","fillTemplate"]}
|
package/dist/browser/index.mjs
CHANGED
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
var __defProp = Object.defineProperty;
|
|
2
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
-
|
|
4
1
|
// src/Payload/identity/asApiCall.ts
|
|
5
2
|
import { AsObjectFactory } from "@xylabs/object";
|
|
6
3
|
|
|
@@ -22,9 +19,9 @@ import { AsObjectFactory as AsObjectFactory2 } from "@xylabs/object";
|
|
|
22
19
|
|
|
23
20
|
// src/Payload/identity/isApiCallBase64Result.ts
|
|
24
21
|
import { isPayloadOfSchemaType as isPayloadOfSchemaType2 } from "@xyo-network/payload-model";
|
|
25
|
-
var isApiCallBase64Result =
|
|
22
|
+
var isApiCallBase64Result = (x) => {
|
|
26
23
|
return isPayloadOfSchemaType2(ApiCallResultSchema)(x) && typeof x?.data === "string";
|
|
27
|
-
}
|
|
24
|
+
};
|
|
28
25
|
|
|
29
26
|
// src/Payload/identity/asApiCallBase64Result.ts
|
|
30
27
|
var asApiCallBase64Result = AsObjectFactory2.create(isApiCallBase64Result);
|
|
@@ -44,9 +41,9 @@ import { AsObjectFactory as AsObjectFactory4 } from "@xylabs/object";
|
|
|
44
41
|
|
|
45
42
|
// src/Payload/identity/isApiCallXmlResult.ts
|
|
46
43
|
import { isPayloadOfSchemaType as isPayloadOfSchemaType4 } from "@xyo-network/payload-model";
|
|
47
|
-
var isApiCallXmlResult =
|
|
44
|
+
var isApiCallXmlResult = (x) => {
|
|
48
45
|
return isPayloadOfSchemaType4(ApiCallResultSchema)(x) && typeof x?.data === "string";
|
|
49
|
-
}
|
|
46
|
+
};
|
|
50
47
|
|
|
51
48
|
// src/Payload/identity/asApiCallXmlResult.ts
|
|
52
49
|
var asApiCallXmlResult = AsObjectFactory4.create(isApiCallXmlResult);
|
|
@@ -55,7 +52,7 @@ var asApiCallXmlResult = AsObjectFactory4.create(isApiCallXmlResult);
|
|
|
55
52
|
import { AsObjectFactory as AsObjectFactory5 } from "@xylabs/object";
|
|
56
53
|
|
|
57
54
|
// src/Payload/identity/isApiUriCall.ts
|
|
58
|
-
var isApiUriCall =
|
|
55
|
+
var isApiUriCall = (value) => isApiCall(value) && !!value.uri;
|
|
59
56
|
|
|
60
57
|
// src/Payload/identity/asApiUriCall.ts
|
|
61
58
|
var asApiUriCall = AsObjectFactory5.create(isApiUriCall);
|
|
@@ -64,21 +61,21 @@ var asApiUriCall = AsObjectFactory5.create(isApiUriCall);
|
|
|
64
61
|
import { AsObjectFactory as AsObjectFactory6 } from "@xylabs/object";
|
|
65
62
|
|
|
66
63
|
// src/Payload/identity/isApiUriTemplateCall.ts
|
|
67
|
-
var isApiUriTemplateCall =
|
|
64
|
+
var isApiUriTemplateCall = (value) => isApiCall(value) && !!(value.uriTemplate || value.params);
|
|
68
65
|
|
|
69
66
|
// src/Payload/identity/asApiUriTemplateCall.ts
|
|
70
67
|
var asApiUriTemplateCall = AsObjectFactory6.create(isApiUriTemplateCall);
|
|
71
68
|
|
|
72
69
|
// src/Payload/identity/isApiCallErrorResult.ts
|
|
73
70
|
import { isPayloadOfSchemaType as isPayloadOfSchemaType5 } from "@xyo-network/payload-model";
|
|
74
|
-
var isApiCallErrorResult =
|
|
71
|
+
var isApiCallErrorResult = (value) => !!isPayloadOfSchemaType5(ApiCallResultSchema) && (value.http?.status ?? 200) >= 400;
|
|
75
72
|
|
|
76
73
|
// src/Payload/types/ApiCallJsonResult.ts
|
|
77
74
|
import { AsObjectFactory as AsObjectFactory7 } from "@xylabs/object";
|
|
78
75
|
import { isPayloadOfSchemaType as isPayloadOfSchemaType6 } from "@xyo-network/payload-model";
|
|
79
|
-
var isApiCallJsonResult =
|
|
76
|
+
var isApiCallJsonResult = (x) => {
|
|
80
77
|
return isPayloadOfSchemaType6(ApiCallResultSchema)(x) && x?.contentType === "application/json";
|
|
81
|
-
}
|
|
78
|
+
};
|
|
82
79
|
var asApiCallJsonResult = AsObjectFactory7.create(isApiCallJsonResult);
|
|
83
80
|
|
|
84
81
|
// src/Witness/Config.ts
|
|
@@ -91,25 +88,28 @@ var ApiCallWitnessConfigSchema = "network.xyo.api.call.witness.config";
|
|
|
91
88
|
// src/Witness/Config.ts
|
|
92
89
|
var isApiCallWitnessConfig = isPayloadOfSchemaType7(ApiCallWitnessConfigSchema);
|
|
93
90
|
var asApiCallWitnessConfig = AsObjectFactory8.create(isApiCallWitnessConfig);
|
|
94
|
-
var isApiUriCallWitnessConfig =
|
|
91
|
+
var isApiUriCallWitnessConfig = (value) => isApiCallWitnessConfig(value) && !!value.uri;
|
|
95
92
|
var asApiUriCallWitnessConfig = AsObjectFactory8.create(isApiUriCallWitnessConfig);
|
|
96
|
-
var isApiUriTemplateCallWitnessConfig =
|
|
93
|
+
var isApiUriTemplateCallWitnessConfig = (value) => isApiCallWitnessConfig(value) && !!value.uriTemplate;
|
|
97
94
|
var asApiUriTemplateCallWitnessConfig = AsObjectFactory8.create(isApiUriTemplateCallWitnessConfig);
|
|
98
95
|
|
|
99
96
|
// src/Witness/Witness.ts
|
|
100
97
|
import { assertEx as assertEx2 } from "@xylabs/assert";
|
|
101
|
-
import {
|
|
98
|
+
import { AxiosJson } from "@xylabs/axios";
|
|
99
|
+
import { URL as URL2 } from "@xylabs/url";
|
|
102
100
|
import { AbstractWitness } from "@xyo-network/abstract-witness";
|
|
103
101
|
import { PayloadHasher } from "@xyo-network/hash";
|
|
104
102
|
import { PayloadBuilder } from "@xyo-network/payload-builder";
|
|
105
103
|
import { isPayloadOfSchemaType as isPayloadOfSchemaType8 } from "@xyo-network/payload-model";
|
|
104
|
+
import { Axios } from "axios";
|
|
106
105
|
import { fromByteArray } from "base64-js";
|
|
107
106
|
import fillTemplate from "es6-dynamic-template";
|
|
108
107
|
|
|
109
108
|
// src/lib/checkIpfsUrl.ts
|
|
110
109
|
import { assertEx } from "@xylabs/assert";
|
|
110
|
+
import { URL } from "@xylabs/url";
|
|
111
111
|
var allowIpfsIoRepair = true;
|
|
112
|
-
var checkIpfsUrl =
|
|
112
|
+
var checkIpfsUrl = (urlToCheck, ipfsGateway) => {
|
|
113
113
|
try {
|
|
114
114
|
const url = new URL(urlToCheck);
|
|
115
115
|
let protocol = url.protocol;
|
|
@@ -138,17 +138,11 @@ var checkIpfsUrl = /* @__PURE__ */ __name((urlToCheck, ipfsGateway) => {
|
|
|
138
138
|
} catch {
|
|
139
139
|
return urlToCheck;
|
|
140
140
|
}
|
|
141
|
-
}
|
|
141
|
+
};
|
|
142
142
|
|
|
143
143
|
// src/Witness/Witness.ts
|
|
144
144
|
var ApiCallWitness = class extends AbstractWitness {
|
|
145
|
-
static
|
|
146
|
-
__name(this, "ApiCallWitness");
|
|
147
|
-
}
|
|
148
|
-
static configSchemas = [
|
|
149
|
-
...super.configSchemas,
|
|
150
|
-
ApiCallWitnessConfigSchema
|
|
151
|
-
];
|
|
145
|
+
static configSchemas = [...super.configSchemas, ApiCallWitnessConfigSchema];
|
|
152
146
|
static defaultConfigSchema = ApiCallWitnessConfigSchema;
|
|
153
147
|
get accept() {
|
|
154
148
|
return this.config.accept ?? "application/json";
|
|
@@ -164,55 +158,47 @@ var ApiCallWitness = class extends AbstractWitness {
|
|
|
164
158
|
const { uriTemplate: callUriTemplate, params: callParams, queries: callQueries } = asApiUriTemplateCall(call) ?? {};
|
|
165
159
|
const { uri: configUri } = asApiUriCallWitnessConfig(this.config) ?? {};
|
|
166
160
|
const { uriTemplate: configUriTemplate, params: configParams, queries: configQueries } = asApiUriTemplateCallWitnessConfig(this.config) ?? {};
|
|
167
|
-
const params = {
|
|
168
|
-
...configParams,
|
|
169
|
-
...callParams
|
|
170
|
-
};
|
|
161
|
+
const params = { ...configParams, ...callParams };
|
|
171
162
|
let url = void 0;
|
|
172
163
|
if (callUri) {
|
|
173
|
-
url = new
|
|
164
|
+
url = new URL2(callUri);
|
|
174
165
|
} else if (callUriTemplate) {
|
|
175
|
-
url = new
|
|
166
|
+
url = new URL2(fillTemplate(callUriTemplate, params));
|
|
176
167
|
} else if (configUri) {
|
|
177
|
-
url = new
|
|
168
|
+
url = new URL2(configUri);
|
|
178
169
|
} else if (configUriTemplate) {
|
|
179
|
-
url = new
|
|
170
|
+
url = new URL2(fillTemplate(configUriTemplate, params));
|
|
180
171
|
}
|
|
181
172
|
if (url) {
|
|
182
|
-
const queries = Object.entries({
|
|
183
|
-
...configQueries,
|
|
184
|
-
...callQueries
|
|
185
|
-
});
|
|
173
|
+
const queries = Object.entries({ ...configQueries, ...callQueries });
|
|
186
174
|
queries.map(([key, value]) => url?.searchParams.set(key, value));
|
|
187
175
|
return url.href;
|
|
188
176
|
}
|
|
189
177
|
throw new Error("Unable to determine uri. No uri/uriTemplate specified in either the call or config.");
|
|
190
178
|
}
|
|
191
179
|
getHeaders(headers) {
|
|
192
|
-
return {
|
|
193
|
-
...this.params.headers,
|
|
194
|
-
...this.config.headers,
|
|
195
|
-
...headers
|
|
196
|
-
};
|
|
180
|
+
return { ...this.params.headers, ...this.config.headers, ...headers };
|
|
197
181
|
}
|
|
198
182
|
async observeHandler(inPayloads = []) {
|
|
199
183
|
await this.started("throw");
|
|
200
184
|
try {
|
|
201
|
-
const observations = await Promise.all(
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
185
|
+
const observations = await Promise.all(
|
|
186
|
+
inPayloads.filter(isPayloadOfSchemaType8(ApiCallSchema)).map(async (call) => {
|
|
187
|
+
const { verb: callVerb } = call;
|
|
188
|
+
const { verb: configVerb } = this.config;
|
|
189
|
+
const verb = callVerb ?? configVerb ?? "get";
|
|
190
|
+
const uri = this.getFullUri(call);
|
|
191
|
+
const validatedUri = assertEx2(checkIpfsUrl(uri, this.ipfsGateway), () => "Invalid URI");
|
|
192
|
+
if (verb === "get") {
|
|
193
|
+
return this.httpGet(validatedUri, (await PayloadBuilder.build(call)).$hash);
|
|
194
|
+
}
|
|
195
|
+
const observation = {
|
|
196
|
+
call: await PayloadHasher.hash(call),
|
|
197
|
+
schema: ApiCallResultSchema
|
|
198
|
+
};
|
|
199
|
+
return observation;
|
|
200
|
+
})
|
|
201
|
+
);
|
|
216
202
|
return observations;
|
|
217
203
|
} catch (ex) {
|
|
218
204
|
const error = ex;
|
|
@@ -230,13 +216,7 @@ var ApiCallWitness = class extends AbstractWitness {
|
|
|
230
216
|
try {
|
|
231
217
|
switch (this.accept) {
|
|
232
218
|
case "application/json": {
|
|
233
|
-
const axios = new AxiosJson({
|
|
234
|
-
headers: {
|
|
235
|
-
...this.getHeaders(headers),
|
|
236
|
-
Accept: "application/json"
|
|
237
|
-
},
|
|
238
|
-
timeout: this.timeout
|
|
239
|
-
});
|
|
219
|
+
const axios = new AxiosJson({ headers: { ...this.getHeaders(headers), Accept: "application/json" }, timeout: this.timeout });
|
|
240
220
|
const response = await axios.get(url);
|
|
241
221
|
if (response.status >= 200 && response.status < 300) {
|
|
242
222
|
const jsonResult = result;
|
|
@@ -253,10 +233,7 @@ var ApiCallWitness = class extends AbstractWitness {
|
|
|
253
233
|
case "application/xml":
|
|
254
234
|
case "text/xml": {
|
|
255
235
|
const axios = new Axios({
|
|
256
|
-
headers: {
|
|
257
|
-
...this.getHeaders(headers),
|
|
258
|
-
Accept: this.accept
|
|
259
|
-
},
|
|
236
|
+
headers: { ...this.getHeaders(headers), Accept: this.accept },
|
|
260
237
|
responseType: "arraybuffer",
|
|
261
238
|
timeout: this.timeout
|
|
262
239
|
});
|
|
@@ -274,11 +251,7 @@ var ApiCallWitness = class extends AbstractWitness {
|
|
|
274
251
|
break;
|
|
275
252
|
}
|
|
276
253
|
default: {
|
|
277
|
-
const axios = new Axios({
|
|
278
|
-
headers: this.params.headers,
|
|
279
|
-
responseType: "arraybuffer",
|
|
280
|
-
timeout: this.timeout
|
|
281
|
-
});
|
|
254
|
+
const axios = new Axios({ headers: this.params.headers, responseType: "arraybuffer", timeout: this.timeout });
|
|
282
255
|
const response = await axios.get(url);
|
|
283
256
|
if (response.status >= 200 && response.status < 300) {
|
|
284
257
|
const jsonResult = result;
|
|
@@ -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 { 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 { 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 { 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 { 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 { 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 { 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 { 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 { Hash } from '@xylabs/hex'\nimport { AsObjectFactory, JsonArray, JsonObject } from '@xylabs/object'\nimport { isPayloadOfSchemaType, Payload } 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 { WitnessConfig } from '@xyo-network/witness-model'\n\nimport { 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 { Axios, AxiosError, AxiosJson } from '@xylabs/axios'\nimport { Hash } from '@xylabs/hex'\nimport { AbstractWitness } from '@xyo-network/abstract-witness'\nimport { PayloadHasher } from '@xyo-network/hash'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { isPayloadOfSchemaType, Schema } from '@xyo-network/payload-model'\nimport { fromByteArray } from 'base64-js'\nimport fillTemplate from 'es6-dynamic-template'\n\nimport { checkIpfsUrl } from '../lib/index.ts'\nimport {\n ApiCall,\n ApiCallBase64Result,\n ApiCallErrorResult,\n ApiCallJsonResult,\n ApiCallJsonResultType,\n ApiCallResult,\n ApiCallResultSchema,\n ApiCallSchema,\n ApiCallXmlResult,\n asApiUriCall,\n asApiUriTemplateCall,\n MimeTypes,\n} from '../Payload/index.ts'\nimport { asApiUriCallWitnessConfig, asApiUriTemplateCallWitnessConfig } from './Config.ts'\nimport { 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'\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","ApiCallSchema","ApiCallResultSchema","isApiCall","isPayloadOfSchemaType","ApiCallSchema","asApiCall","AsObjectFactory","create","isApiCall","AsObjectFactory","isPayloadOfSchemaType","isApiCallBase64Result","x","isPayloadOfSchemaType","ApiCallResultSchema","data","asApiCallBase64Result","AsObjectFactory","create","isApiCallBase64Result","AsObjectFactory","isPayloadOfSchemaType","isApiCallResult","isPayloadOfSchemaType","ApiCallResultSchema","asApiCallResult","AsObjectFactory","create","isApiCallResult","AsObjectFactory","isPayloadOfSchemaType","isApiCallXmlResult","x","isPayloadOfSchemaType","ApiCallResultSchema","data","asApiCallXmlResult","AsObjectFactory","create","isApiCallXmlResult","AsObjectFactory","isApiUriCall","value","isApiCall","uri","asApiUriCall","AsObjectFactory","create","isApiUriCall","AsObjectFactory","isApiUriTemplateCall","value","isApiCall","uriTemplate","params","asApiUriTemplateCall","AsObjectFactory","create","isApiUriTemplateCall","isPayloadOfSchemaType","isApiCallErrorResult","value","isPayloadOfSchemaType","ApiCallResultSchema","http","status","AsObjectFactory","isPayloadOfSchemaType","isApiCallJsonResult","x","isPayloadOfSchemaType","ApiCallResultSchema","contentType","asApiCallJsonResult","AsObjectFactory","create","AsObjectFactory","isPayloadOfSchemaType","ApiCallWitnessConfigSchema","isApiCallWitnessConfig","isPayloadOfSchemaType","ApiCallWitnessConfigSchema","asApiCallWitnessConfig","AsObjectFactory","create","isApiUriCallWitnessConfig","value","uri","asApiUriCallWitnessConfig","isApiUriTemplateCallWitnessConfig","uriTemplate","asApiUriTemplateCallWitnessConfig","assertEx","Axios","AxiosJson","AbstractWitness","PayloadHasher","PayloadBuilder","isPayloadOfSchemaType","fromByteArray","fillTemplate","assertEx","allowIpfsIoRepair","checkIpfsUrl","urlToCheck","ipfsGateway","url","URL","protocol","host","path","pathname","query","search","assertEx","root","length","pathParts","split","shift","join","ApiCallWitness","AbstractWitness","configSchemas","ApiCallWitnessConfigSchema","defaultConfigSchema","accept","config","ipfsGateway","params","timeout","getFullUri","call","uri","callUri","asApiUriCall","uriTemplate","callUriTemplate","callParams","queries","callQueries","asApiUriTemplateCall","configUri","asApiUriCallWitnessConfig","configUriTemplate","configParams","configQueries","asApiUriTemplateCallWitnessConfig","url","undefined","URL","fillTemplate","Object","entries","map","key","value","searchParams","set","href","Error","getHeaders","headers","observeHandler","inPayloads","started","observations","Promise","all","filter","isPayloadOfSchemaType","ApiCallSchema","verb","callVerb","configVerb","validatedUri","assertEx","checkIpfsUrl","httpGet","PayloadBuilder","build","$hash","observation","PayloadHasher","hash","schema","ApiCallResultSchema","ex","error","console","name","message","log","stack","result","axios","AxiosJson","Accept","response","get","status","jsonResult","data","contentType","errorResult","http","Axios","responseType","xmlResult","Buffer","from","toString","fromByteArray","axiosError","isAxiosError","code"]}
|
|
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 { 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 { 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 { 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 { 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 { 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 { 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 { 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 { Hash } from '@xylabs/hex'\nimport { AsObjectFactory, JsonArray, JsonObject } from '@xylabs/object'\nimport { isPayloadOfSchemaType, Payload } 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 { WitnessConfig } from '@xyo-network/witness-model'\n\nimport { 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 { 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 { isPayloadOfSchemaType, Schema } from '@xyo-network/payload-model'\nimport { Axios, AxiosError } from 'axios'\nimport { fromByteArray } from 'base64-js'\nimport fillTemplate from 'es6-dynamic-template'\n\nimport { checkIpfsUrl } from '../lib/index.ts'\nimport {\n ApiCall,\n ApiCallBase64Result,\n ApiCallErrorResult,\n ApiCallJsonResult,\n ApiCallJsonResultType,\n ApiCallResult,\n ApiCallResultSchema,\n ApiCallSchema,\n ApiCallXmlResult,\n asApiUriCall,\n asApiUriTemplateCall,\n MimeTypes,\n} from '../Payload/index.ts'\nimport { asApiUriCallWitnessConfig, asApiUriTemplateCallWitnessConfig } from './Config.ts'\nimport { 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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkIpfsUrl.d.ts","sourceRoot":"","sources":["../../../src/lib/checkIpfsUrl.ts"],"names":[],"mappings":"
|
|
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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkIpfsUrl.d.ts","sourceRoot":"","sources":["../../../src/lib/checkIpfsUrl.ts"],"names":[],"mappings":"
|
|
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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkIpfsUrl.d.ts","sourceRoot":"","sources":["../../../src/lib/checkIpfsUrl.ts"],"names":[],"mappings":"
|
|
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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export declare const asApiCall: {
|
|
2
|
-
<TType extends import("../index.ts").ApiCall>(value: import("
|
|
3
|
-
<TType extends import("../index.ts").ApiCall>(value: import("
|
|
2
|
+
<TType extends import("../index.ts").ApiCall>(value: import(".store/@xylabs-promise-npm-3.6.12-b2766b2a25/package").AnyNonPromise, config?: import("@xylabs/object").TypeCheckConfig): TType | undefined;
|
|
3
|
+
<TType extends import("../index.ts").ApiCall>(value: import(".store/@xylabs-promise-npm-3.6.12-b2766b2a25/package").AnyNonPromise, assert: import("@xylabs/object").StringOrAlertFunction<import("../index.ts").ApiCall>, config?: import("@xylabs/object").TypeCheckConfig): TType;
|
|
4
4
|
};
|
|
5
5
|
//# sourceMappingURL=asApiCall.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"asApiCall.d.ts","sourceRoot":"","sources":["../../../../src/Payload/identity/asApiCall.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,SAAS;gEACkE,
|
|
1
|
+
{"version":3,"file":"asApiCall.d.ts","sourceRoot":"","sources":["../../../../src/Payload/identity/asApiCall.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,SAAS;gEACkE,sDAAiB,iCAAiC,gBAAoB;gEAA+E,sDAAiB,wHAAgG,gBAAoB;CADxT,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export declare const asApiCall: {
|
|
2
|
-
<TType extends import("../index.ts").ApiCall>(value: import("
|
|
3
|
-
<TType extends import("../index.ts").ApiCall>(value: import("
|
|
2
|
+
<TType extends import("../index.ts").ApiCall>(value: import(".store/@xylabs-promise-npm-3.6.12-b2766b2a25/package").AnyNonPromise, config?: import("@xylabs/object").TypeCheckConfig): TType | undefined;
|
|
3
|
+
<TType extends import("../index.ts").ApiCall>(value: import(".store/@xylabs-promise-npm-3.6.12-b2766b2a25/package").AnyNonPromise, assert: import("@xylabs/object").StringOrAlertFunction<import("../index.ts").ApiCall>, config?: import("@xylabs/object").TypeCheckConfig): TType;
|
|
4
4
|
};
|
|
5
5
|
//# sourceMappingURL=asApiCall.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"asApiCall.d.ts","sourceRoot":"","sources":["../../../../src/Payload/identity/asApiCall.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,SAAS;gEACkE,
|
|
1
|
+
{"version":3,"file":"asApiCall.d.ts","sourceRoot":"","sources":["../../../../src/Payload/identity/asApiCall.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,SAAS;gEACkE,sDAAiB,iCAAiC,gBAAoB;gEAA+E,sDAAiB,wHAAgG,gBAAoB;CADxT,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export declare const asApiCall: {
|
|
2
|
-
<TType extends import("../index.ts").ApiCall>(value: import("
|
|
3
|
-
<TType extends import("../index.ts").ApiCall>(value: import("
|
|
2
|
+
<TType extends import("../index.ts").ApiCall>(value: import(".store/@xylabs-promise-npm-3.6.12-b2766b2a25/package").AnyNonPromise, config?: import("@xylabs/object").TypeCheckConfig): TType | undefined;
|
|
3
|
+
<TType extends import("../index.ts").ApiCall>(value: import(".store/@xylabs-promise-npm-3.6.12-b2766b2a25/package").AnyNonPromise, assert: import("@xylabs/object").StringOrAlertFunction<import("../index.ts").ApiCall>, config?: import("@xylabs/object").TypeCheckConfig): TType;
|
|
4
4
|
};
|
|
5
5
|
//# sourceMappingURL=asApiCall.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"asApiCall.d.ts","sourceRoot":"","sources":["../../../../src/Payload/identity/asApiCall.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,SAAS;gEACkE,
|
|
1
|
+
{"version":3,"file":"asApiCall.d.ts","sourceRoot":"","sources":["../../../../src/Payload/identity/asApiCall.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,SAAS;gEACkE,sDAAiB,iCAAiC,gBAAoB;gEAA+E,sDAAiB,wHAAgG,gBAAoB;CADxT,CAAA"}
|
|
@@ -5,14 +5,14 @@ export declare const asApiCallBase64Result: {
|
|
|
5
5
|
data: string;
|
|
6
6
|
} & {
|
|
7
7
|
schema: "network.xyo.api.call.result";
|
|
8
|
-
}>(value: import("
|
|
8
|
+
}>(value: import(".store/@xylabs-promise-npm-3.6.12-b2766b2a25/package").AnyNonPromise, config?: import("@xylabs/object").TypeCheckConfig): TType | undefined;
|
|
9
9
|
<TType extends import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
|
|
10
10
|
call: import("@xylabs/hex").Hash;
|
|
11
11
|
contentType: Exclude<Exclude<string, import("../index.ts").ApiCallJsonResult["contentType"]>, import("../index.ts").ApiCallXmlResult["contentType"]>;
|
|
12
12
|
data: string;
|
|
13
13
|
} & {
|
|
14
14
|
schema: "network.xyo.api.call.result";
|
|
15
|
-
}>(value: import("
|
|
15
|
+
}>(value: import(".store/@xylabs-promise-npm-3.6.12-b2766b2a25/package").AnyNonPromise, assert: import("@xylabs/object").StringOrAlertFunction<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
|
|
16
16
|
call: import("@xylabs/hex").Hash;
|
|
17
17
|
contentType: Exclude<Exclude<string, import("../index.ts").ApiCallJsonResult["contentType"]>, import("../index.ts").ApiCallXmlResult["contentType"]>;
|
|
18
18
|
data: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"asApiCallBase64Result.d.ts","sourceRoot":"","sources":["../../../../src/Payload/identity/asApiCallBase64Result.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,qBAAqB;;;;;;;qBACM,
|
|
1
|
+
{"version":3,"file":"asApiCallBase64Result.d.ts","sourceRoot":"","sources":["../../../../src/Payload/identity/asApiCallBase64Result.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,qBAAqB;;;;;;;qBACM,sDAAiB,iCAAiC,gBAAoB;;;;;;;qBAA+E,sDAAiB;;;;;;wBAAgG,gBAAoB;CADhP,CAAA"}
|
|
@@ -5,14 +5,14 @@ export declare const asApiCallBase64Result: {
|
|
|
5
5
|
data: string;
|
|
6
6
|
} & {
|
|
7
7
|
schema: "network.xyo.api.call.result";
|
|
8
|
-
}>(value: import("
|
|
8
|
+
}>(value: import(".store/@xylabs-promise-npm-3.6.12-b2766b2a25/package").AnyNonPromise, config?: import("@xylabs/object").TypeCheckConfig): TType | undefined;
|
|
9
9
|
<TType extends import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
|
|
10
10
|
call: import("@xylabs/hex").Hash;
|
|
11
11
|
contentType: Exclude<Exclude<string, import("../index.ts").ApiCallJsonResult["contentType"]>, import("../index.ts").ApiCallXmlResult["contentType"]>;
|
|
12
12
|
data: string;
|
|
13
13
|
} & {
|
|
14
14
|
schema: "network.xyo.api.call.result";
|
|
15
|
-
}>(value: import("
|
|
15
|
+
}>(value: import(".store/@xylabs-promise-npm-3.6.12-b2766b2a25/package").AnyNonPromise, assert: import("@xylabs/object").StringOrAlertFunction<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
|
|
16
16
|
call: import("@xylabs/hex").Hash;
|
|
17
17
|
contentType: Exclude<Exclude<string, import("../index.ts").ApiCallJsonResult["contentType"]>, import("../index.ts").ApiCallXmlResult["contentType"]>;
|
|
18
18
|
data: string;
|