@xyo-network/api 3.0.2 → 3.0.3
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/neutral/index.mjs.map +1 -1
- package/package.json +17 -17
- package/src/Api/Api.ts +2 -2
- package/src/Base.ts +1 -1
- package/src/Diviner/LocationDiviner/LocationDivinerApi.ts +3 -3
- package/src/Diviner/LocationDiviner/LocationDivinerApiResponseTransformer.ts +2 -1
- package/src/Diviner/LocationDiviner/Queries/LocationHeatmapQuery/LocationHeatmapQuery.ts +1 -1
- package/src/Diviner/LocationDiviner/Queries/LocationQuadkeyHeatmapQuery/LocationQuadkeyHeatmapQuery.ts +1 -1
- package/src/Diviner/LocationDiviner/Queries/LocationQueryCreationRequest.ts +5 -5
- package/src/Diviner/LocationDiviner/Queries/LocationQueryCreationResponse.ts +1 -1
- package/src/Diviner/LocationDiviner/Queries/LocationQuerySchema.ts +3 -3
- package/src/Diviner/LocationDiviner/Queries/LocationTimeRangeQuery/LocationTimeRangePointProperties.ts +1 -1
- package/src/Diviner/LocationDiviner/Queries/LocationTimeRangeQuery/LocationTimeRangeQuery.ts +1 -1
- package/src/Diviner/LocationDiviner/Witnesses/CurrentLocationWitness.ts +1 -1
- package/src/Diviner/LocationDiviner/Witnesses/LocationWitness.ts +1 -1
- package/src/Diviner/RemoteDivinerConfig.ts +2 -2
- package/src/Simple.ts +2 -2
- package/src/Test/testBoundWitness.ts +2 -1
- package/src/Test/testPayload.ts +2 -2
- package/xy.config.ts +1 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../src/Api/Api.ts","../../src/Base.ts","../../src/objToQuery.ts","../../src/Simple.ts","../../src/Diviner/LocationDiviner/LocationDivinerApi.ts","../../src/Diviner/LocationDiviner/LocationDivinerApiResponseTransformer.ts","../../src/Diviner/LocationDiviner/Queries/LocationHeatmapQuery/LocationHeatmapQuery.ts","../../src/Diviner/LocationDiviner/Queries/LocationQuadkeyHeatmapQuery/LocationQuadkeyHeatmapQuery.ts","../../src/Diviner/LocationDiviner/Queries/LocationQuerySchema.ts","../../src/Diviner/LocationDiviner/Queries/LocationTimeRangeQuery/LocationTimeRangeQuery.ts","../../src/Diviner/LocationDiviner/Witnesses/CurrentLocationWitness.ts","../../src/Diviner/LocationDiviner/Witnesses/LocationWitness.ts","../../src/Diviner/RemoteDivinerConfig.ts"],"sourcesContent":["import { ApiConfig } from '@xyo-network/api-models'\nimport { Huri } from '@xyo-network/huri'\nimport { Payload } from '@xyo-network/payload-model'\n\nimport { ApiSimple } from '../Simple.ts'\n\nexport class ArchivistApi<C extends ApiConfig = ApiConfig> extends ApiSimple<Payload[], C> {\n huri(huri: Huri | string) {\n const huriObj = typeof huri === 'string' ? new Huri(huri) : huri\n return new ApiSimple<Payload>({\n ...this.config,\n root: `${this.root}${huriObj.href}/`,\n })\n }\n}\n","import { AxiosJson } from '@xylabs/axios'\nimport {\n ApiConfig,\n ApiEnvelope,\n ApiError,\n ApiReportable,\n ApiResponse,\n ApiResponseBody,\n ApiResponseTuple,\n ApiResponseTupleOrBody,\n ApiResponseType,\n} from '@xyo-network/api-models'\n\nexport class ApiBase<C extends ApiConfig = ApiConfig> implements ApiReportable {\n readonly config: C\n protected axios: AxiosJson\n\n constructor(config: C) {\n this.config = config\n this.axios = new AxiosJson({ ...this.config, headers: this.headers })\n }\n\n get authenticated() {\n return !!this.config.apiKey || !!this.config.jwtToken\n }\n\n protected get headers(): Record<string, string> {\n const headers: Record<string, string> = {}\n if (this.config.jwtToken) {\n headers.Authorization = `Bearer ${this.config.jwtToken}`\n }\n if (this.config.apiKey) {\n headers['x-api-key'] = this.config.apiKey\n }\n return headers\n }\n\n protected get query() {\n return this.config.query ?? ''\n }\n\n protected get root() {\n return this.config.root ?? '/'\n }\n\n private static resolveResponse<T>(result?: ApiResponse<ApiEnvelope<T>>) {\n return [result?.data?.data, result?.data, result] as ApiResponseTuple<T>\n }\n\n private static shapeResponse<T = unknown>(response: ApiResponse<ApiEnvelope<T>> | undefined, responseType?: ApiResponseType) {\n const resolvedResponse = ApiBase.resolveResponse(response)\n return responseType === 'tuple' ? resolvedResponse : resolvedResponse[0]\n }\n\n onError(error: ApiError, depth = 0) {\n this.config.reportableParent?.onError?.(error, depth + 1)\n this.config.onError?.(error, depth)\n }\n\n onFailure(response: ApiResponse, depth = 0) {\n this.config.reportableParent?.onFailure?.(response, depth + 1)\n this.config.onFailure?.(response, depth)\n }\n\n onSuccess(response: ApiResponse, depth = 0) {\n this.config.reportableParent?.onSuccess?.(response, depth + 1)\n this.config.onSuccess?.(response, depth)\n }\n\n protected async deleteEndpoint<T = unknown>(endPoint?: string): Promise<ApiResponseBody<T>>\n protected async deleteEndpoint<T = unknown>(endPoint?: string, responseType?: 'body'): Promise<ApiResponseBody<T>>\n protected async deleteEndpoint<T = unknown>(endPoint?: string, responseType?: 'tuple'): Promise<ApiResponseTuple<T>>\n protected async deleteEndpoint<T = unknown>(endPoint = '', responseType?: ApiResponseType): Promise<ApiResponseTupleOrBody<T>> {\n const response = await this.monitorResponse<T>(async () => {\n return await this.axios.delete<ApiEnvelope<T>, ApiResponse<ApiEnvelope<T>>>(`${this.resolveRoot()}${endPoint}${this.query}`)\n })\n return ApiBase.shapeResponse<T>(response, responseType)\n }\n\n protected async getEndpoint<T = unknown>(endPoint?: string): Promise<ApiResponseBody<T>>\n protected async getEndpoint<T = unknown>(endPoint?: string, responseType?: 'body'): Promise<ApiResponseBody<T>>\n protected async getEndpoint<T = unknown>(endPoint?: string, responseType?: 'tuple'): Promise<ApiResponseTuple<T>>\n protected async getEndpoint<T = unknown>(endPoint = '', responseType?: ApiResponseType): Promise<ApiResponseTupleOrBody<T>> {\n const response = await this.monitorResponse<T>(async () => {\n return await this.axios.get<ApiEnvelope<T>, ApiResponse<ApiEnvelope<T>>>(`${this.resolveRoot()}${endPoint}${this.query}`)\n })\n return ApiBase.shapeResponse<T>(response, responseType)\n }\n\n protected handleMonitorResponseError<T>(error: ApiError, trapAxiosException: boolean) {\n if (!error.isError) {\n throw error\n }\n\n if (trapAxiosException) {\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n error.response ? this.onFailure(error.response) : this.onError(error)\n if (this.config.throwFailure) {\n throw error\n }\n return error.response as ApiResponse<ApiEnvelope<T>>\n }\n }\n\n protected async monitorResponse<T>(closure: () => Promise<ApiResponse<ApiEnvelope<T>>>) {\n // we use this to prevent accidental catching on exceptions in callbacks\n let trapAxiosException = true\n try {\n const response = await closure()\n trapAxiosException = false\n\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n response.status < 300 ? this.onSuccess(response) : this.onFailure(response)\n\n return response\n } catch (error) {\n this.handleMonitorResponseError(error as ApiError, trapAxiosException)\n }\n }\n\n protected async postEndpoint<T = unknown, D = unknown>(endPoint?: string, data?: D): Promise<ApiResponseBody<T>>\n protected async postEndpoint<T = unknown, D = unknown>(endPoint?: string, data?: D, responseType?: 'body'): Promise<ApiResponseBody<T>>\n protected async postEndpoint<T = unknown, D = unknown>(endPoint?: string, data?: D, responseType?: 'tuple'): Promise<ApiResponseTuple<T>>\n protected async postEndpoint<T = unknown, D = unknown>(\n endPoint = '',\n data?: D,\n responseType?: ApiResponseType,\n ): Promise<ApiResponseTupleOrBody<T>> {\n const response = await this.monitorResponse<T>(async () => {\n return await this.axios.post<ApiEnvelope<T>, ApiResponse<ApiEnvelope<T>, D>, D>(`${this.resolveRoot()}${endPoint}${this.query}`, data)\n })\n return ApiBase.shapeResponse<T>(response, responseType)\n }\n\n protected async putEndpoint<T = unknown, D = unknown>(endPoint?: string, data?: D): Promise<ApiResponseBody<T>>\n protected async putEndpoint<T = unknown, D = unknown>(endPoint?: string, data?: D, responseType?: 'body'): Promise<ApiResponseBody<T>>\n protected async putEndpoint<T = unknown, D = unknown>(endPoint?: string, data?: D, responseType?: 'tuple'): Promise<ApiResponseTuple<T>>\n protected async putEndpoint<T = unknown, D = unknown>(endPoint = '', data?: D, responseType?: ApiResponseType): Promise<ApiResponseTupleOrBody<T>> {\n const response = await this.monitorResponse<T>(async () => {\n return await this.axios.put<ApiEnvelope<T>, ApiResponse<ApiEnvelope<T>, D>, D>(`${this.resolveRoot()}${endPoint}${this.query}`, data)\n })\n return ApiBase.shapeResponse<T>(response, responseType)\n }\n\n private resolveRoot() {\n return `${this.config.apiDomain}${this.root}`\n }\n}\n","export const objToQuery = (obj: Record<string, string | number | undefined>) => {\n return `?${Object.entries(obj)\n .map(([key, value]) => {\n return `${key}=${value}`\n })\n .filter(value => value !== undefined)\n .join('&')}`\n}\n","import { ApiConfig, ApiResponseBody, ApiResponseTuple, ApiResponseTupleOrBody, ApiResponseType } from '@xyo-network/api-models'\nimport { Payload, PayloadFindFilter } from '@xyo-network/payload-model'\n\nimport { ApiBase } from './Base.ts'\nimport { objToQuery } from './objToQuery.ts'\n\nexport type ApiSimpleQuery = PayloadFindFilter\n\nexport class ApiSimple<T = Payload, D = T, Q extends ApiSimpleQuery = ApiSimpleQuery, C extends ApiConfig = ApiConfig> extends ApiBase<C> {\n async delete(): Promise<ApiResponseBody<T>>\n async delete(responseType?: 'body'): Promise<ApiResponseBody<T>>\n async delete(responseType?: 'tuple'): Promise<ApiResponseTuple<T>>\n async delete(responseType?: ApiResponseType): Promise<ApiResponseTupleOrBody<T>> {\n switch (responseType) {\n case 'tuple': {\n return await this.deleteEndpoint(undefined, 'tuple')\n }\n default: {\n return await this.deleteEndpoint()\n }\n }\n }\n\n async find(query?: Q): Promise<ApiResponseBody<T>>\n async find(query?: Q, responseType?: 'body'): Promise<ApiResponseBody<T>>\n async find(query?: Q, responseType?: 'tuple'): Promise<ApiResponseTuple<T>>\n async find(query = {}, responseType?: ApiResponseType): Promise<ApiResponseTupleOrBody<T>> {\n switch (responseType) {\n case 'tuple': {\n return await this.getEndpoint(objToQuery(query), 'tuple')\n }\n default: {\n return await this.getEndpoint(objToQuery(query))\n }\n }\n }\n\n async get(): Promise<ApiResponseBody<T>>\n async get(responseType?: 'body'): Promise<ApiResponseBody<T>>\n async get(responseType?: 'tuple'): Promise<ApiResponseTuple<T>>\n async get(responseType?: ApiResponseType): Promise<ApiResponseTupleOrBody<T>> {\n switch (responseType) {\n case 'tuple': {\n return await this.getEndpoint(undefined, 'tuple')\n }\n default: {\n return await this.getEndpoint()\n }\n }\n }\n\n async post(data?: D): Promise<ApiResponseBody<T>>\n async post(data?: D, responseType?: 'body'): Promise<ApiResponseBody<T>>\n async post(data?: D, responseType?: 'tuple'): Promise<ApiResponseTuple<T>>\n async post(data?: D, responseType?: ApiResponseType): Promise<ApiResponseTupleOrBody<T>> {\n switch (responseType) {\n case 'tuple': {\n return await this.postEndpoint(undefined, data, 'tuple')\n }\n default: {\n return await this.postEndpoint(undefined, data)\n }\n }\n }\n\n async put(data?: D): Promise<ApiResponseBody<T>>\n async put(data?: D, responseType?: 'body'): Promise<ApiResponseBody<T>>\n async put(data?: D, responseType?: 'tuple'): Promise<ApiResponseTuple<T>>\n async put(data?: D, responseType?: ApiResponseType): Promise<ApiResponseTupleOrBody<T>> {\n switch (responseType) {\n case 'tuple': {\n return await this.putEndpoint(undefined, data, 'tuple')\n }\n default: {\n return await this.putEndpoint(undefined, data)\n }\n }\n }\n}\n","import { axios } from '@xylabs/axios'\nimport { ApiConfig } from '@xyo-network/api-models'\nimport type { RawAxiosRequestConfig } from 'axios'\n\nimport { getLocationDivinerApiResponseTransformer } from './LocationDivinerApiResponseTransformer.ts'\nimport { GetLocationQueryResponse } from './models.ts'\nimport { LocationQueryCreationResponse, SupportedLocationQueryCreationRequest } from './Queries/index.ts'\n\nclass LocationDivinerApi {\n config: ApiConfig\n constructor(config: ApiConfig) {\n this.config = config\n }\n\n private get axiosRequestConfig(): RawAxiosRequestConfig {\n return {\n transformResponse: getLocationDivinerApiResponseTransformer(),\n }\n }\n\n async getLocationQuery(hash: string) {\n return (await axios.get<GetLocationQueryResponse>(`${this.config.apiDomain}/location/query/${hash}`, this.axiosRequestConfig)).data\n }\n\n async postLocationQuery(request: SupportedLocationQueryCreationRequest) {\n return (await axios.post<LocationQueryCreationResponse>(`${this.config.apiDomain}/location/query`, { ...request }, this.axiosRequestConfig)).data\n }\n}\n\nexport { LocationDivinerApi }\n","import axios, { AxiosResponseTransformer } from 'axios'\n\nexport const locationDivinerApiResponseTransformer: AxiosResponseTransformer = (data, _headers) => {\n return data.data\n}\n\n/**\n * Gets the response transformers for the LocationDiviner API. Done as a method instead of a property\n * to allow detection of dynamically added response transformers.\n * @param axiosInstance The axios instance (defaults to the global instance if none provided)\n * @returns the response transformers for the LocationDiviner API\n */\nexport const getLocationDivinerApiResponseTransformer = (axiosInstance = axios): AxiosResponseTransformer[] => {\n // If there's any existing response transforms preserve them and\n // append our response transform, otherwise just return ours\n return axiosInstance.defaults.transformResponse\n ? [\n ...(Array.isArray(axiosInstance.defaults.transformResponse)\n ? axiosInstance.defaults.transformResponse\n : [axiosInstance.defaults.transformResponse]),\n locationDivinerApiResponseTransformer,\n ]\n : [locationDivinerApiResponseTransformer]\n}\n","import { LocationWitnessSchema } from '../../Witnesses/index.ts'\n\nexport type LocationHeatmapQuerySchema = 'network.xyo.location.heatmap.query'\nexport const locationHeatmapQuerySchema: LocationHeatmapQuerySchema = 'network.xyo.location.heatmap.query'\n\nexport type LocationHeatmapAnswerSchema = 'network.xyo.location.heatmap.answer'\nexport const locationHeatmapAnswerSchema: LocationHeatmapAnswerSchema = 'network.xyo.location.heatmap.answer'\n\nexport type LocationHeatmapQuery = {\n schema: LocationWitnessSchema\n startTime?: string\n stopTime?: string\n}\n\nexport const isLocationHeatmapQuery = (query: Record<string, unknown>): query is LocationHeatmapQuery => {\n return query && query?.schema === locationHeatmapQuerySchema\n}\n","import { LocationWitnessSchema } from '../../Witnesses/index.ts'\n\nexport type LocationQuadkeyHeatmapQuerySchema = 'network.xyo.location.heatmap.quadkey.query'\nexport const locationQuadkeyHeatmapQuerySchema: LocationQuadkeyHeatmapQuerySchema = 'network.xyo.location.heatmap.quadkey.query'\nexport type LocationQuadkeyHeatmapAnswerSchema = 'network.xyo.location.heatmap.quadkey.answer'\nexport const locationQuadkeyHeatmapAnswerSchema: LocationQuadkeyHeatmapAnswerSchema = 'network.xyo.location.heatmap.quadkey.answer'\nexport type LocationQuadkeyHeatmapQuery = {\n schema: LocationWitnessSchema\n startTime?: string\n stopTime?: string\n}\n\nexport const isLocationQuadkeyHeatmapQuery = (query: Record<string, unknown>): query is LocationQuadkeyHeatmapQuery => {\n return query && query?.schema === locationQuadkeyHeatmapQuerySchema\n}\n","import { LocationHeatmapQuerySchema } from './LocationHeatmapQuery/index.ts'\nimport { LocationQuadkeyHeatmapQuerySchema } from './LocationQuadkeyHeatmapQuery/index.ts'\nimport { LocationTimeRangeQuerySchema } from './LocationTimeRangeQuery/index.ts'\n\nexport type LocationQuerySchema = LocationQuadkeyHeatmapQuerySchema | LocationHeatmapQuerySchema | LocationTimeRangeQuerySchema\n\nconst locationQuerySchemas: Record<LocationQuerySchema, true> = {\n 'network.xyo.location.heatmap.quadkey.query': true,\n 'network.xyo.location.heatmap.query': true,\n 'network.xyo.location.range.query': true,\n}\n\nexport const isSupportedLocationQuerySchema = (schema: string): schema is LocationQuerySchema => {\n return locationQuerySchemas[schema as LocationQuerySchema] || false\n}\n","import { LocationWitnessSchema } from '../../Witnesses/index.ts'\n\nexport type LocationTimeRangeQuerySchema = 'network.xyo.location.range.query'\nexport const LocationTimeRangeQuerySchema: LocationTimeRangeQuerySchema = 'network.xyo.location.range.query'\n\nexport type LocationTimeRangeAnswerSchema = 'network.xyo.location.range.answer'\nexport const LocationTimeRangeAnswerSchema: LocationTimeRangeAnswerSchema = 'network.xyo.location.range.answer'\n\nexport type LocationTimeRangeQuery = {\n schema: LocationWitnessSchema\n startTime?: string\n stopTime?: string\n\n // TODO: Bounding rectangle, etc.\n}\n\nexport const isLocationTimeRangeQuery = (query: Record<string, unknown>): query is LocationTimeRangeQuery => {\n return query && query?.schema === LocationTimeRangeAnswerSchema\n}\n","import { Payload } from '@xyo-network/payload-model'\n\nexport type CurrentLocationWitnessSchema = 'co.coinapp.currentlocationwitness'\nexport const CurrentLocationWitnessSchema: CurrentLocationWitnessSchema = 'co.coinapp.currentlocationwitness'\n\nexport type CurrentLocationWitnessPayload = Payload<{\n altitudeMeters: number\n directionDegrees: number\n latitude: number\n longitude: number\n quadkey: string\n schema: CurrentLocationWitnessSchema\n speedKph: number\n}>\n","import { Payload } from '@xyo-network/payload-model'\n\nexport type LocationWitnessSchema = 'network.xyo.location'\nexport const LocationWitnessSchema: LocationWitnessSchema = 'network.xyo.location'\n\nexport interface Coordinates {\n accuracy: number | null\n altitude: number | null\n altitudeAccuracy: number | null\n heading: number | null\n latitude: number\n longitude: number\n speed: number | null\n}\nexport interface CurrentLocation {\n coords: Coordinates\n timestamp: number\n}\n\nexport type LocationWitnessPayload = Payload<{\n currentLocation: CurrentLocation\n schema: LocationWitnessSchema\n}>\n","import { DivinerConfig } from '@xyo-network/diviner-model'\n\nimport { ArchivistApi } from '../Api/index.ts'\n\nexport type RemoteDivinerConfigSchema = 'network.xyo.diviner.remote.config'\nexport const RemoteDivinerConfigSchema: RemoteDivinerConfigSchema = 'network.xyo.diviner.remote.config'\n\nexport type RemoteDivinerConfig = DivinerConfig & {\n /** @deprecated use in params instead */\n api?: ArchivistApi\n archive?: string\n schema: RemoteDivinerConfigSchema\n}\n"],"mappings":"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","names":["axios","axios"]}
|
1
|
+
{"version":3,"sources":["../../src/Api/Api.ts","../../src/Base.ts","../../src/objToQuery.ts","../../src/Simple.ts","../../src/Diviner/LocationDiviner/LocationDivinerApi.ts","../../src/Diviner/LocationDiviner/LocationDivinerApiResponseTransformer.ts","../../src/Diviner/LocationDiviner/Queries/LocationHeatmapQuery/LocationHeatmapQuery.ts","../../src/Diviner/LocationDiviner/Queries/LocationQuadkeyHeatmapQuery/LocationQuadkeyHeatmapQuery.ts","../../src/Diviner/LocationDiviner/Queries/LocationQuerySchema.ts","../../src/Diviner/LocationDiviner/Queries/LocationTimeRangeQuery/LocationTimeRangeQuery.ts","../../src/Diviner/LocationDiviner/Witnesses/CurrentLocationWitness.ts","../../src/Diviner/LocationDiviner/Witnesses/LocationWitness.ts","../../src/Diviner/RemoteDivinerConfig.ts"],"sourcesContent":["import type { ApiConfig } from '@xyo-network/api-models'\nimport { Huri } from '@xyo-network/huri'\nimport type { Payload } from '@xyo-network/payload-model'\n\nimport { ApiSimple } from '../Simple.ts'\n\nexport class ArchivistApi<C extends ApiConfig = ApiConfig> extends ApiSimple<Payload[], C> {\n huri(huri: Huri | string) {\n const huriObj = typeof huri === 'string' ? new Huri(huri) : huri\n return new ApiSimple<Payload>({\n ...this.config,\n root: `${this.root}${huriObj.href}/`,\n })\n }\n}\n","import { AxiosJson } from '@xylabs/axios'\nimport type {\n ApiConfig,\n ApiEnvelope,\n ApiError,\n ApiReportable,\n ApiResponse,\n ApiResponseBody,\n ApiResponseTuple,\n ApiResponseTupleOrBody,\n ApiResponseType,\n} from '@xyo-network/api-models'\n\nexport class ApiBase<C extends ApiConfig = ApiConfig> implements ApiReportable {\n readonly config: C\n protected axios: AxiosJson\n\n constructor(config: C) {\n this.config = config\n this.axios = new AxiosJson({ ...this.config, headers: this.headers })\n }\n\n get authenticated() {\n return !!this.config.apiKey || !!this.config.jwtToken\n }\n\n protected get headers(): Record<string, string> {\n const headers: Record<string, string> = {}\n if (this.config.jwtToken) {\n headers.Authorization = `Bearer ${this.config.jwtToken}`\n }\n if (this.config.apiKey) {\n headers['x-api-key'] = this.config.apiKey\n }\n return headers\n }\n\n protected get query() {\n return this.config.query ?? ''\n }\n\n protected get root() {\n return this.config.root ?? '/'\n }\n\n private static resolveResponse<T>(result?: ApiResponse<ApiEnvelope<T>>) {\n return [result?.data?.data, result?.data, result] as ApiResponseTuple<T>\n }\n\n private static shapeResponse<T = unknown>(response: ApiResponse<ApiEnvelope<T>> | undefined, responseType?: ApiResponseType) {\n const resolvedResponse = ApiBase.resolveResponse(response)\n return responseType === 'tuple' ? resolvedResponse : resolvedResponse[0]\n }\n\n onError(error: ApiError, depth = 0) {\n this.config.reportableParent?.onError?.(error, depth + 1)\n this.config.onError?.(error, depth)\n }\n\n onFailure(response: ApiResponse, depth = 0) {\n this.config.reportableParent?.onFailure?.(response, depth + 1)\n this.config.onFailure?.(response, depth)\n }\n\n onSuccess(response: ApiResponse, depth = 0) {\n this.config.reportableParent?.onSuccess?.(response, depth + 1)\n this.config.onSuccess?.(response, depth)\n }\n\n protected async deleteEndpoint<T = unknown>(endPoint?: string): Promise<ApiResponseBody<T>>\n protected async deleteEndpoint<T = unknown>(endPoint?: string, responseType?: 'body'): Promise<ApiResponseBody<T>>\n protected async deleteEndpoint<T = unknown>(endPoint?: string, responseType?: 'tuple'): Promise<ApiResponseTuple<T>>\n protected async deleteEndpoint<T = unknown>(endPoint = '', responseType?: ApiResponseType): Promise<ApiResponseTupleOrBody<T>> {\n const response = await this.monitorResponse<T>(async () => {\n return await this.axios.delete<ApiEnvelope<T>, ApiResponse<ApiEnvelope<T>>>(`${this.resolveRoot()}${endPoint}${this.query}`)\n })\n return ApiBase.shapeResponse<T>(response, responseType)\n }\n\n protected async getEndpoint<T = unknown>(endPoint?: string): Promise<ApiResponseBody<T>>\n protected async getEndpoint<T = unknown>(endPoint?: string, responseType?: 'body'): Promise<ApiResponseBody<T>>\n protected async getEndpoint<T = unknown>(endPoint?: string, responseType?: 'tuple'): Promise<ApiResponseTuple<T>>\n protected async getEndpoint<T = unknown>(endPoint = '', responseType?: ApiResponseType): Promise<ApiResponseTupleOrBody<T>> {\n const response = await this.monitorResponse<T>(async () => {\n return await this.axios.get<ApiEnvelope<T>, ApiResponse<ApiEnvelope<T>>>(`${this.resolveRoot()}${endPoint}${this.query}`)\n })\n return ApiBase.shapeResponse<T>(response, responseType)\n }\n\n protected handleMonitorResponseError<T>(error: ApiError, trapAxiosException: boolean) {\n if (!error.isError) {\n throw error\n }\n\n if (trapAxiosException) {\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n error.response ? this.onFailure(error.response) : this.onError(error)\n if (this.config.throwFailure) {\n throw error\n }\n return error.response as ApiResponse<ApiEnvelope<T>>\n }\n }\n\n protected async monitorResponse<T>(closure: () => Promise<ApiResponse<ApiEnvelope<T>>>) {\n // we use this to prevent accidental catching on exceptions in callbacks\n let trapAxiosException = true\n try {\n const response = await closure()\n trapAxiosException = false\n\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n response.status < 300 ? this.onSuccess(response) : this.onFailure(response)\n\n return response\n } catch (error) {\n this.handleMonitorResponseError(error as ApiError, trapAxiosException)\n }\n }\n\n protected async postEndpoint<T = unknown, D = unknown>(endPoint?: string, data?: D): Promise<ApiResponseBody<T>>\n protected async postEndpoint<T = unknown, D = unknown>(endPoint?: string, data?: D, responseType?: 'body'): Promise<ApiResponseBody<T>>\n protected async postEndpoint<T = unknown, D = unknown>(endPoint?: string, data?: D, responseType?: 'tuple'): Promise<ApiResponseTuple<T>>\n protected async postEndpoint<T = unknown, D = unknown>(\n endPoint = '',\n data?: D,\n responseType?: ApiResponseType,\n ): Promise<ApiResponseTupleOrBody<T>> {\n const response = await this.monitorResponse<T>(async () => {\n return await this.axios.post<ApiEnvelope<T>, ApiResponse<ApiEnvelope<T>, D>, D>(`${this.resolveRoot()}${endPoint}${this.query}`, data)\n })\n return ApiBase.shapeResponse<T>(response, responseType)\n }\n\n protected async putEndpoint<T = unknown, D = unknown>(endPoint?: string, data?: D): Promise<ApiResponseBody<T>>\n protected async putEndpoint<T = unknown, D = unknown>(endPoint?: string, data?: D, responseType?: 'body'): Promise<ApiResponseBody<T>>\n protected async putEndpoint<T = unknown, D = unknown>(endPoint?: string, data?: D, responseType?: 'tuple'): Promise<ApiResponseTuple<T>>\n protected async putEndpoint<T = unknown, D = unknown>(endPoint = '', data?: D, responseType?: ApiResponseType): Promise<ApiResponseTupleOrBody<T>> {\n const response = await this.monitorResponse<T>(async () => {\n return await this.axios.put<ApiEnvelope<T>, ApiResponse<ApiEnvelope<T>, D>, D>(`${this.resolveRoot()}${endPoint}${this.query}`, data)\n })\n return ApiBase.shapeResponse<T>(response, responseType)\n }\n\n private resolveRoot() {\n return `${this.config.apiDomain}${this.root}`\n }\n}\n","export const objToQuery = (obj: Record<string, string | number | undefined>) => {\n return `?${Object.entries(obj)\n .map(([key, value]) => {\n return `${key}=${value}`\n })\n .filter(value => value !== undefined)\n .join('&')}`\n}\n","import type { ApiConfig, ApiResponseBody, ApiResponseTuple, ApiResponseTupleOrBody, ApiResponseType } from '@xyo-network/api-models'\nimport type { Payload, PayloadFindFilter } from '@xyo-network/payload-model'\n\nimport { ApiBase } from './Base.ts'\nimport { objToQuery } from './objToQuery.ts'\n\nexport type ApiSimpleQuery = PayloadFindFilter\n\nexport class ApiSimple<T = Payload, D = T, Q extends ApiSimpleQuery = ApiSimpleQuery, C extends ApiConfig = ApiConfig> extends ApiBase<C> {\n async delete(): Promise<ApiResponseBody<T>>\n async delete(responseType?: 'body'): Promise<ApiResponseBody<T>>\n async delete(responseType?: 'tuple'): Promise<ApiResponseTuple<T>>\n async delete(responseType?: ApiResponseType): Promise<ApiResponseTupleOrBody<T>> {\n switch (responseType) {\n case 'tuple': {\n return await this.deleteEndpoint(undefined, 'tuple')\n }\n default: {\n return await this.deleteEndpoint()\n }\n }\n }\n\n async find(query?: Q): Promise<ApiResponseBody<T>>\n async find(query?: Q, responseType?: 'body'): Promise<ApiResponseBody<T>>\n async find(query?: Q, responseType?: 'tuple'): Promise<ApiResponseTuple<T>>\n async find(query = {}, responseType?: ApiResponseType): Promise<ApiResponseTupleOrBody<T>> {\n switch (responseType) {\n case 'tuple': {\n return await this.getEndpoint(objToQuery(query), 'tuple')\n }\n default: {\n return await this.getEndpoint(objToQuery(query))\n }\n }\n }\n\n async get(): Promise<ApiResponseBody<T>>\n async get(responseType?: 'body'): Promise<ApiResponseBody<T>>\n async get(responseType?: 'tuple'): Promise<ApiResponseTuple<T>>\n async get(responseType?: ApiResponseType): Promise<ApiResponseTupleOrBody<T>> {\n switch (responseType) {\n case 'tuple': {\n return await this.getEndpoint(undefined, 'tuple')\n }\n default: {\n return await this.getEndpoint()\n }\n }\n }\n\n async post(data?: D): Promise<ApiResponseBody<T>>\n async post(data?: D, responseType?: 'body'): Promise<ApiResponseBody<T>>\n async post(data?: D, responseType?: 'tuple'): Promise<ApiResponseTuple<T>>\n async post(data?: D, responseType?: ApiResponseType): Promise<ApiResponseTupleOrBody<T>> {\n switch (responseType) {\n case 'tuple': {\n return await this.postEndpoint(undefined, data, 'tuple')\n }\n default: {\n return await this.postEndpoint(undefined, data)\n }\n }\n }\n\n async put(data?: D): Promise<ApiResponseBody<T>>\n async put(data?: D, responseType?: 'body'): Promise<ApiResponseBody<T>>\n async put(data?: D, responseType?: 'tuple'): Promise<ApiResponseTuple<T>>\n async put(data?: D, responseType?: ApiResponseType): Promise<ApiResponseTupleOrBody<T>> {\n switch (responseType) {\n case 'tuple': {\n return await this.putEndpoint(undefined, data, 'tuple')\n }\n default: {\n return await this.putEndpoint(undefined, data)\n }\n }\n }\n}\n","import { axios } from '@xylabs/axios'\nimport type { ApiConfig } from '@xyo-network/api-models'\nimport type { RawAxiosRequestConfig } from 'axios'\n\nimport { getLocationDivinerApiResponseTransformer } from './LocationDivinerApiResponseTransformer.ts'\nimport type { GetLocationQueryResponse } from './models.ts'\nimport type { LocationQueryCreationResponse, SupportedLocationQueryCreationRequest } from './Queries/index.ts'\n\nclass LocationDivinerApi {\n config: ApiConfig\n constructor(config: ApiConfig) {\n this.config = config\n }\n\n private get axiosRequestConfig(): RawAxiosRequestConfig {\n return {\n transformResponse: getLocationDivinerApiResponseTransformer(),\n }\n }\n\n async getLocationQuery(hash: string) {\n return (await axios.get<GetLocationQueryResponse>(`${this.config.apiDomain}/location/query/${hash}`, this.axiosRequestConfig)).data\n }\n\n async postLocationQuery(request: SupportedLocationQueryCreationRequest) {\n return (await axios.post<LocationQueryCreationResponse>(`${this.config.apiDomain}/location/query`, { ...request }, this.axiosRequestConfig)).data\n }\n}\n\nexport { LocationDivinerApi }\n","import type { AxiosResponseTransformer } from 'axios'\nimport axios from 'axios'\n\nexport const locationDivinerApiResponseTransformer: AxiosResponseTransformer = (data, _headers) => {\n return data.data\n}\n\n/**\n * Gets the response transformers for the LocationDiviner API. Done as a method instead of a property\n * to allow detection of dynamically added response transformers.\n * @param axiosInstance The axios instance (defaults to the global instance if none provided)\n * @returns the response transformers for the LocationDiviner API\n */\nexport const getLocationDivinerApiResponseTransformer = (axiosInstance = axios): AxiosResponseTransformer[] => {\n // If there's any existing response transforms preserve them and\n // append our response transform, otherwise just return ours\n return axiosInstance.defaults.transformResponse\n ? [\n ...(Array.isArray(axiosInstance.defaults.transformResponse)\n ? axiosInstance.defaults.transformResponse\n : [axiosInstance.defaults.transformResponse]),\n locationDivinerApiResponseTransformer,\n ]\n : [locationDivinerApiResponseTransformer]\n}\n","import type { LocationWitnessSchema } from '../../Witnesses/index.ts'\n\nexport type LocationHeatmapQuerySchema = 'network.xyo.location.heatmap.query'\nexport const locationHeatmapQuerySchema: LocationHeatmapQuerySchema = 'network.xyo.location.heatmap.query'\n\nexport type LocationHeatmapAnswerSchema = 'network.xyo.location.heatmap.answer'\nexport const locationHeatmapAnswerSchema: LocationHeatmapAnswerSchema = 'network.xyo.location.heatmap.answer'\n\nexport type LocationHeatmapQuery = {\n schema: LocationWitnessSchema\n startTime?: string\n stopTime?: string\n}\n\nexport const isLocationHeatmapQuery = (query: Record<string, unknown>): query is LocationHeatmapQuery => {\n return query && query?.schema === locationHeatmapQuerySchema\n}\n","import type { LocationWitnessSchema } from '../../Witnesses/index.ts'\n\nexport type LocationQuadkeyHeatmapQuerySchema = 'network.xyo.location.heatmap.quadkey.query'\nexport const locationQuadkeyHeatmapQuerySchema: LocationQuadkeyHeatmapQuerySchema = 'network.xyo.location.heatmap.quadkey.query'\nexport type LocationQuadkeyHeatmapAnswerSchema = 'network.xyo.location.heatmap.quadkey.answer'\nexport const locationQuadkeyHeatmapAnswerSchema: LocationQuadkeyHeatmapAnswerSchema = 'network.xyo.location.heatmap.quadkey.answer'\nexport type LocationQuadkeyHeatmapQuery = {\n schema: LocationWitnessSchema\n startTime?: string\n stopTime?: string\n}\n\nexport const isLocationQuadkeyHeatmapQuery = (query: Record<string, unknown>): query is LocationQuadkeyHeatmapQuery => {\n return query && query?.schema === locationQuadkeyHeatmapQuerySchema\n}\n","import type { LocationHeatmapQuerySchema } from './LocationHeatmapQuery/index.ts'\nimport type { LocationQuadkeyHeatmapQuerySchema } from './LocationQuadkeyHeatmapQuery/index.ts'\nimport type { LocationTimeRangeQuerySchema } from './LocationTimeRangeQuery/index.ts'\n\nexport type LocationQuerySchema = LocationQuadkeyHeatmapQuerySchema | LocationHeatmapQuerySchema | LocationTimeRangeQuerySchema\n\nconst locationQuerySchemas: Record<LocationQuerySchema, true> = {\n 'network.xyo.location.heatmap.quadkey.query': true,\n 'network.xyo.location.heatmap.query': true,\n 'network.xyo.location.range.query': true,\n}\n\nexport const isSupportedLocationQuerySchema = (schema: string): schema is LocationQuerySchema => {\n return locationQuerySchemas[schema as LocationQuerySchema] || false\n}\n","import type { LocationWitnessSchema } from '../../Witnesses/index.ts'\n\nexport type LocationTimeRangeQuerySchema = 'network.xyo.location.range.query'\nexport const LocationTimeRangeQuerySchema: LocationTimeRangeQuerySchema = 'network.xyo.location.range.query'\n\nexport type LocationTimeRangeAnswerSchema = 'network.xyo.location.range.answer'\nexport const LocationTimeRangeAnswerSchema: LocationTimeRangeAnswerSchema = 'network.xyo.location.range.answer'\n\nexport type LocationTimeRangeQuery = {\n schema: LocationWitnessSchema\n startTime?: string\n stopTime?: string\n\n // TODO: Bounding rectangle, etc.\n}\n\nexport const isLocationTimeRangeQuery = (query: Record<string, unknown>): query is LocationTimeRangeQuery => {\n return query && query?.schema === LocationTimeRangeAnswerSchema\n}\n","import type { Payload } from '@xyo-network/payload-model'\n\nexport type CurrentLocationWitnessSchema = 'co.coinapp.currentlocationwitness'\nexport const CurrentLocationWitnessSchema: CurrentLocationWitnessSchema = 'co.coinapp.currentlocationwitness'\n\nexport type CurrentLocationWitnessPayload = Payload<{\n altitudeMeters: number\n directionDegrees: number\n latitude: number\n longitude: number\n quadkey: string\n schema: CurrentLocationWitnessSchema\n speedKph: number\n}>\n","import type { Payload } from '@xyo-network/payload-model'\n\nexport type LocationWitnessSchema = 'network.xyo.location'\nexport const LocationWitnessSchema: LocationWitnessSchema = 'network.xyo.location'\n\nexport interface Coordinates {\n accuracy: number | null\n altitude: number | null\n altitudeAccuracy: number | null\n heading: number | null\n latitude: number\n longitude: number\n speed: number | null\n}\nexport interface CurrentLocation {\n coords: Coordinates\n timestamp: number\n}\n\nexport type LocationWitnessPayload = Payload<{\n currentLocation: CurrentLocation\n schema: LocationWitnessSchema\n}>\n","import type { DivinerConfig } from '@xyo-network/diviner-model'\n\nimport type { ArchivistApi } from '../Api/index.ts'\n\nexport type RemoteDivinerConfigSchema = 'network.xyo.diviner.remote.config'\nexport const RemoteDivinerConfigSchema: RemoteDivinerConfigSchema = 'network.xyo.diviner.remote.config'\n\nexport type RemoteDivinerConfig = DivinerConfig & {\n /** @deprecated use in params instead */\n api?: ArchivistApi\n archive?: string\n schema: RemoteDivinerConfigSchema\n}\n"],"mappings":"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","names":["axios","axios"]}
|
package/package.json
CHANGED
@@ -6,27 +6,27 @@
|
|
6
6
|
},
|
7
7
|
"bugs": {
|
8
8
|
"email": "support@xyo.network",
|
9
|
-
"url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/issues"
|
9
|
+
"url": "git+https://github.com/XYOracleNetwork/sdk-xyo-client-js/issues"
|
10
10
|
},
|
11
11
|
"dependencies": {
|
12
|
-
"@xylabs/axios": "^4.0.
|
13
|
-
"@xylabs/object": "^4.0.
|
14
|
-
"@xyo-network/api-models": "^3.0.
|
15
|
-
"@xyo-network/boundwitness-model": "^3.0.
|
16
|
-
"@xyo-network/diviner-model": "^3.0.
|
17
|
-
"@xyo-network/huri": "^3.0.
|
18
|
-
"@xyo-network/payload-model": "^3.0.
|
19
|
-
"axios": "^1.7.
|
12
|
+
"@xylabs/axios": "^4.0.2",
|
13
|
+
"@xylabs/object": "^4.0.2",
|
14
|
+
"@xyo-network/api-models": "^3.0.3",
|
15
|
+
"@xyo-network/boundwitness-model": "^3.0.3",
|
16
|
+
"@xyo-network/diviner-model": "^3.0.3",
|
17
|
+
"@xyo-network/huri": "^3.0.3",
|
18
|
+
"@xyo-network/payload-model": "^3.0.3",
|
19
|
+
"axios": "^1.7.4"
|
20
20
|
},
|
21
21
|
"description": "Primary SDK for using XYO Protocol 2.0",
|
22
22
|
"devDependencies": {
|
23
|
-
"@types/node": "^22.
|
23
|
+
"@types/node": "^22.4.0",
|
24
24
|
"@types/uuid": "^10.0.0",
|
25
|
-
"@xylabs/jest-helpers": "^4.0.
|
26
|
-
"@xylabs/ts-scripts-yarn3": "^4.0.0-rc.
|
27
|
-
"@xylabs/tsconfig": "^4.0.0-rc.
|
28
|
-
"@xyo-network/module-model": "^3.0.
|
29
|
-
"@xyo-network/query-payload-plugin": "^3.0.
|
25
|
+
"@xylabs/jest-helpers": "^4.0.2",
|
26
|
+
"@xylabs/ts-scripts-yarn3": "^4.0.0-rc.20",
|
27
|
+
"@xylabs/tsconfig": "^4.0.0-rc.20",
|
28
|
+
"@xyo-network/module-model": "^3.0.3",
|
29
|
+
"@xyo-network/query-payload-plugin": "^3.0.3",
|
30
30
|
"jest": "^29.7.0",
|
31
31
|
"typescript": "^5.5.4",
|
32
32
|
"uuid": "^10.0.0"
|
@@ -48,9 +48,9 @@
|
|
48
48
|
},
|
49
49
|
"repository": {
|
50
50
|
"type": "git",
|
51
|
-
"url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js.git"
|
51
|
+
"url": "git+https://github.com/XYOracleNetwork/sdk-xyo-client-js.git"
|
52
52
|
},
|
53
53
|
"sideEffects": false,
|
54
|
-
"version": "3.0.
|
54
|
+
"version": "3.0.3",
|
55
55
|
"type": "module"
|
56
56
|
}
|
package/src/Api/Api.ts
CHANGED
@@ -1,6 +1,6 @@
|
|
1
|
-
import { ApiConfig } from '@xyo-network/api-models'
|
1
|
+
import type { ApiConfig } from '@xyo-network/api-models'
|
2
2
|
import { Huri } from '@xyo-network/huri'
|
3
|
-
import { Payload } from '@xyo-network/payload-model'
|
3
|
+
import type { Payload } from '@xyo-network/payload-model'
|
4
4
|
|
5
5
|
import { ApiSimple } from '../Simple.ts'
|
6
6
|
|
package/src/Base.ts
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
import { axios } from '@xylabs/axios'
|
2
|
-
import { ApiConfig } from '@xyo-network/api-models'
|
2
|
+
import type { ApiConfig } from '@xyo-network/api-models'
|
3
3
|
import type { RawAxiosRequestConfig } from 'axios'
|
4
4
|
|
5
5
|
import { getLocationDivinerApiResponseTransformer } from './LocationDivinerApiResponseTransformer.ts'
|
6
|
-
import { GetLocationQueryResponse } from './models.ts'
|
7
|
-
import { LocationQueryCreationResponse, SupportedLocationQueryCreationRequest } from './Queries/index.ts'
|
6
|
+
import type { GetLocationQueryResponse } from './models.ts'
|
7
|
+
import type { LocationQueryCreationResponse, SupportedLocationQueryCreationRequest } from './Queries/index.ts'
|
8
8
|
|
9
9
|
class LocationDivinerApi {
|
10
10
|
config: ApiConfig
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { LocationWitnessSchema } from '../../Witnesses/index.ts'
|
1
|
+
import type { LocationWitnessSchema } from '../../Witnesses/index.ts'
|
2
2
|
|
3
3
|
export type LocationHeatmapQuerySchema = 'network.xyo.location.heatmap.query'
|
4
4
|
export const locationHeatmapQuerySchema: LocationHeatmapQuerySchema = 'network.xyo.location.heatmap.query'
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { LocationWitnessSchema } from '../../Witnesses/index.ts'
|
1
|
+
import type { LocationWitnessSchema } from '../../Witnesses/index.ts'
|
2
2
|
|
3
3
|
export type LocationQuadkeyHeatmapQuerySchema = 'network.xyo.location.heatmap.quadkey.query'
|
4
4
|
export const locationQuadkeyHeatmapQuerySchema: LocationQuadkeyHeatmapQuerySchema = 'network.xyo.location.heatmap.quadkey.query'
|
@@ -1,9 +1,9 @@
|
|
1
|
-
import { ApiConfig } from '@xyo-network/api-models'
|
1
|
+
import type { ApiConfig } from '@xyo-network/api-models'
|
2
2
|
|
3
|
-
import { LocationHeatmapQuery, LocationHeatmapQuerySchema } from './LocationHeatmapQuery/index.ts'
|
4
|
-
import { LocationQuadkeyHeatmapQuery, LocationQuadkeyHeatmapQuerySchema } from './LocationQuadkeyHeatmapQuery/index.ts'
|
5
|
-
import { LocationQuerySchema } from './LocationQuerySchema.ts'
|
6
|
-
import { LocationTimeRangeQuery, LocationTimeRangeQuerySchema } from './LocationTimeRangeQuery/index.ts'
|
3
|
+
import type { LocationHeatmapQuery, LocationHeatmapQuerySchema } from './LocationHeatmapQuery/index.ts'
|
4
|
+
import type { LocationQuadkeyHeatmapQuery, LocationQuadkeyHeatmapQuerySchema } from './LocationQuadkeyHeatmapQuery/index.ts'
|
5
|
+
import type { LocationQuerySchema } from './LocationQuerySchema.ts'
|
6
|
+
import type { LocationTimeRangeQuery, LocationTimeRangeQuerySchema } from './LocationTimeRangeQuery/index.ts'
|
7
7
|
|
8
8
|
export interface LocationQueryCreationRequest<
|
9
9
|
TSchema extends LocationQuerySchema = LocationQuerySchema,
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { LocationQueryCreationRequest } from './LocationQueryCreationRequest.ts'
|
1
|
+
import type { LocationQueryCreationRequest } from './LocationQueryCreationRequest.ts'
|
2
2
|
|
3
3
|
export interface LocationQueryCreationResponse extends LocationQueryCreationRequest {
|
4
4
|
hash: string
|
@@ -1,6 +1,6 @@
|
|
1
|
-
import { LocationHeatmapQuerySchema } from './LocationHeatmapQuery/index.ts'
|
2
|
-
import { LocationQuadkeyHeatmapQuerySchema } from './LocationQuadkeyHeatmapQuery/index.ts'
|
3
|
-
import { LocationTimeRangeQuerySchema } from './LocationTimeRangeQuery/index.ts'
|
1
|
+
import type { LocationHeatmapQuerySchema } from './LocationHeatmapQuery/index.ts'
|
2
|
+
import type { LocationQuadkeyHeatmapQuerySchema } from './LocationQuadkeyHeatmapQuery/index.ts'
|
3
|
+
import type { LocationTimeRangeQuerySchema } from './LocationTimeRangeQuery/index.ts'
|
4
4
|
|
5
5
|
export type LocationQuerySchema = LocationQuadkeyHeatmapQuerySchema | LocationHeatmapQuerySchema | LocationTimeRangeQuerySchema
|
6
6
|
|
package/src/Diviner/LocationDiviner/Queries/LocationTimeRangeQuery/LocationTimeRangeQuery.ts
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
import { LocationWitnessSchema } from '../../Witnesses/index.ts'
|
1
|
+
import type { LocationWitnessSchema } from '../../Witnesses/index.ts'
|
2
2
|
|
3
3
|
export type LocationTimeRangeQuerySchema = 'network.xyo.location.range.query'
|
4
4
|
export const LocationTimeRangeQuerySchema: LocationTimeRangeQuerySchema = 'network.xyo.location.range.query'
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { Payload } from '@xyo-network/payload-model'
|
1
|
+
import type { Payload } from '@xyo-network/payload-model'
|
2
2
|
|
3
3
|
export type CurrentLocationWitnessSchema = 'co.coinapp.currentlocationwitness'
|
4
4
|
export const CurrentLocationWitnessSchema: CurrentLocationWitnessSchema = 'co.coinapp.currentlocationwitness'
|
@@ -1,6 +1,6 @@
|
|
1
|
-
import { DivinerConfig } from '@xyo-network/diviner-model'
|
1
|
+
import type { DivinerConfig } from '@xyo-network/diviner-model'
|
2
2
|
|
3
|
-
import { ArchivistApi } from '../Api/index.ts'
|
3
|
+
import type { ArchivistApi } from '../Api/index.ts'
|
4
4
|
|
5
5
|
export type RemoteDivinerConfigSchema = 'network.xyo.diviner.remote.config'
|
6
6
|
export const RemoteDivinerConfigSchema: RemoteDivinerConfigSchema = 'network.xyo.diviner.remote.config'
|
package/src/Simple.ts
CHANGED
@@ -1,5 +1,5 @@
|
|
1
|
-
import { ApiConfig, ApiResponseBody, ApiResponseTuple, ApiResponseTupleOrBody, ApiResponseType } from '@xyo-network/api-models'
|
2
|
-
import { Payload, PayloadFindFilter } from '@xyo-network/payload-model'
|
1
|
+
import type { ApiConfig, ApiResponseBody, ApiResponseTuple, ApiResponseTupleOrBody, ApiResponseType } from '@xyo-network/api-models'
|
2
|
+
import type { Payload, PayloadFindFilter } from '@xyo-network/payload-model'
|
3
3
|
|
4
4
|
import { ApiBase } from './Base.ts'
|
5
5
|
import { objToQuery } from './objToQuery.ts'
|
@@ -1,4 +1,5 @@
|
|
1
|
-
import { BoundWitness
|
1
|
+
import type { BoundWitness } from '@xyo-network/boundwitness-model'
|
2
|
+
import { BoundWitnessSchema } from '@xyo-network/boundwitness-model'
|
2
3
|
|
3
4
|
const testBoundWitness: BoundWitness = {
|
4
5
|
$meta: {
|
package/src/Test/testPayload.ts
CHANGED
@@ -1,5 +1,5 @@
|
|
1
|
-
import { StringKeyObject } from '@xylabs/object'
|
2
|
-
import { Payload } from '@xyo-network/payload-model'
|
1
|
+
import type { StringKeyObject } from '@xylabs/object'
|
2
|
+
import type { Payload } from '@xyo-network/payload-model'
|
3
3
|
|
4
4
|
const testSchema = 'network.xyo.test'
|
5
5
|
const testPayload: Payload<StringKeyObject> = {
|
package/xy.config.ts
CHANGED