@commercelayer/sdk
Version:
Commerce Layer Javascript SDK
1 lines • 27.8 kB
Source Map (JSON)
{"version":3,"sources":["../src/resource.ts","../src/jsonapi.ts"],"names":["debug_default","SdkError","client_default","generateQueryStringParams","config_default","isParamsList","resourceList","debug","inc"],"mappings":"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","file":"chunk-U22VLCMN.cjs","sourcesContent":["\nimport ApiClient, { type ApiClientInitConfig } from './client'\nimport { denormalize, normalize, type DocWithData } from './jsonapi'\nimport type { QueryParamsRetrieve, QueryParamsList, QueryFilter, QueryParams } from './query'\nimport { generateQueryStringParams, isParamsList } from './query'\nimport { type ResourceTypeLock, resourceList } from './enum'\nimport config from './config'\nimport { SdkError } from './error'\nimport type { ObjectType } from './types'\n\n\nimport Debug from './debug'\nconst debug = Debug('resource')\n\n\n\ntype ResourceNull = { id: null } & ResourceType\ntype ResourceRel = ResourceId | ResourceNull\n\n\ntype Metadata = ObjectType\n\n\ninterface ResourceType {\n\treadonly type: ResourceTypeLock\n}\n\n\ninterface ResourceId extends ResourceType {\n\treadonly id: string\n}\n\n\ninterface ResourceBase {\n\treference?: string | null\n\treference_origin?: string | null\n\tmetadata?: Metadata\n}\n\n\ninterface Resource extends ResourceBase, ResourceId {\n\treadonly created_at: string\n\treadonly updated_at: string\n}\n\n\ninterface ResourceCreate extends ResourceBase {\n\n}\n\n\ninterface ResourceUpdate extends ResourceBase {\n\treadonly id: string\n}\n\n\ntype ListMeta = {\n\treadonly pageCount: number\n\treadonly recordCount: number\n\treadonly currentPage: number\n\treadonly recordsPerPage: number\n}\n\n\nclass ListResponse<R extends Resource = Resource> extends Array<R> {\n\n\treadonly meta: ListMeta\n\n\tconstructor(meta: ListMeta, data: R[]) {\n\t\tsuper(...(data || []))\n\t\tthis.meta = meta\n\t}\n\n\tfirst(): R | undefined { return this.length ? this[0] : undefined }\n\tlast(): R | undefined { return this.length ? this[this.length - 1] : undefined }\n\tget(index: number): R | undefined { return (this.length && (index >= 0)) ? this[index] : undefined }\n\n\thasNextPage(): boolean { return (this.meta.currentPage < this.meta.pageCount) }\n\thasPrevPage(): boolean { return (this.meta.currentPage > 1) }\n\n\tgetRecordCount(): number { return this.meta.recordCount }\n\tgetPageCount(): number { return this.meta.pageCount }\n\tget recordCount(): number { return this.meta.recordCount }\n\tget pageCount(): number { return this.meta.pageCount }\n\n}\n\n\nexport type { Metadata, ResourceType, ResourceId, Resource, ResourceCreate, ResourceUpdate, ListResponse, ListMeta, ResourceRel }\n\nexport type ResourceSort = Pick<Resource, 'id' | 'reference' | 'reference_origin' | 'created_at' | 'updated_at'>\nexport type ResourceFilter = Pick<Resource, 'id' | 'reference' | 'reference_origin' | 'metadata' | 'created_at' | 'updated_at'>\n\n\n\n// Resource adapters local configuration\ntype ResourceAdapterConfig = {\n\t// xyz?: boolean\n}\n\nexport type ResourcesInitConfig = ResourceAdapterConfig & ApiClientInitConfig\nexport type ResourcesConfig = Partial<ResourcesInitConfig>\n\n\n\nclass ApiResourceAdapter {\n\n\tprivate static adapter: ResourceAdapter\n\n\n\tprivate constructor() { }\n\n\n\tstatic init(config: ResourcesInitConfig): ResourceAdapter {\n\t\tApiResourceAdapter.adapter = new ResourceAdapter(config)\n\t\tdebug('resource adapter initialized')\n\t\treturn ApiResourceAdapter.get()\n\t}\n\n\tstatic get(config?: ResourcesInitConfig): ResourceAdapter {\n\t\tif (config) return ApiResourceAdapter.init(config)\n\t\telse {\n\t\t\tif (ApiResourceAdapter.adapter) return ApiResourceAdapter.adapter\n\t\t\telse throw new SdkError({ message: 'Commerce Layer not initialized' })\n\t\t}\n\t}\n\n\tstatic config(config: ResourcesConfig): void {\n\t\tApiResourceAdapter.get().config(config)\n\t}\n\n}\n\n\n\nclass ResourceAdapter {\n\n\treadonly #client: ApiClient\n\n\treadonly #config: ResourceAdapterConfig = {}\n\n\tconstructor(config: ResourcesInitConfig) {\n\t\tthis.#client = ApiClient.create(config)\n\t\tthis.localConfig(config)\n\t}\n\n\n\tprivate localConfig(config: ResourceAdapterConfig): void {\n\t\tObject.assign(this.#config, config)\n\t}\n\n\n\tconfig(config: ResourcesConfig): this {\n\n\t\tdebug('config %o', config)\n\n\t\t// ResourceAdapter config\n\t\tthis.localConfig(config)\n\t\t// Client config\n\t\tthis.#client.config(config)\n\n\t\treturn this\n\n\t}\n\n\n\n\tget client(): Readonly<ApiClient> {\n\t\treturn this.#client\n\t}\n\n\n\n\tasync singleton<R extends Resource>(resource: ResourceType, params?: QueryParamsRetrieve<R>, options?: ResourcesConfig, path?: string): Promise<R> {\n\n\t\tdebug('singleton: %o, %O, %O', resource, params || {}, options || {})\n\n\t\tconst queryParams = generateQueryStringParams(params, resource)\n\t\tif (options?.params) Object.assign(queryParams, options?.params)\n\n\t\tconst res = await this.#client.request('GET', `${path || resource.type}`, undefined, { ...options, params: queryParams })\n\t\tconst r = denormalize<R>(res as DocWithData) as R\n\n\t\treturn r\n\n\t}\n\n\n\tasync retrieve<R extends Resource>(resource: ResourceId, params?: QueryParamsRetrieve<R>, options?: ResourcesConfig): Promise<R> {\n\n\t\tdebug('retrieve: %o, %O, %O', resource, params || {}, options || {})\n\n\t\tconst queryParams = generateQueryStringParams(params, resource)\n\t\tif (options?.params) Object.assign(queryParams, options?.params)\n\n\t\tconst res = await this.#client.request('GET', `${resource.type}/${resource.id}`, undefined, { ...options, params: queryParams })\n\t\tconst r = denormalize<R>(res as DocWithData) as R\n\n\t\treturn r\n\n\t}\n\n\n\tasync list<R extends Resource>(resource: ResourceType, params?: QueryParamsList<R>, options?: ResourcesConfig): Promise<ListResponse<R>> {\n\n\t\tdebug('list: %o, %O, %O', resource, params || {}, options || {})\n\n\t\tconst queryParams = generateQueryStringParams(params, resource)\n\t\tif (options?.params) Object.assign(queryParams, options?.params)\n\n\t\t// Load balancer performance optimization\n\t\tif (!queryParams['page[number]']) queryParams['page[number]'] = '1'\n\n\t\tconst res = await this.#client.request('GET', `${resource.type}`, undefined, { ...options, params: queryParams })\n\t\tconst r = denormalize<R>(res as DocWithData) as R[]\n\n\t\tconst meta: ListMeta = {\n\t\t\tpageCount: Number(res.meta?.page_count),\n\t\t\trecordCount: Number(res.meta?.record_count),\n\t\t\tcurrentPage: params?.pageNumber || config.default.pageNumber,\n\t\t\trecordsPerPage: params?.pageSize || config.default.pageSize\n\t\t}\n\n\t\treturn new ListResponse(meta, r)\n\n\t}\n\n\n\tasync create<C extends ResourceCreate, R extends Resource>(resource: C & ResourceType, params?: QueryParamsRetrieve<R>, options?: ResourcesConfig): Promise<R> {\n\n\t\tdebug('create: %o, %O, %O', resource, params || {}, options || {})\n\n\t\tconst queryParams = generateQueryStringParams<R>(params, resource)\n\t\tif (options?.params) Object.assign(queryParams, options?.params)\n\n\t\tconst data = normalize(resource)\n\t\tconst res = await this.#client.request('POST', resource.type, data, { ...options, params: queryParams })\n\t\tconst r = denormalize<R>(res as DocWithData) as R\n\n\t\treturn r\n\n\t}\n\n\n\tasync update<U extends ResourceUpdate, R extends Resource>(resource: U & ResourceId, params?: QueryParamsRetrieve<R>, options?: ResourcesConfig): Promise<R> {\n\n\t\tdebug('update: %o, %O, %O', resource, params || {}, options || {})\n\n\t\tconst queryParams = generateQueryStringParams<R>(params, resource)\n\t\tif (options?.params) Object.assign(queryParams, options?.params)\n\n\t\tconst data = normalize(resource)\n\t\tconst res = await this.#client.request('PATCH', `${resource.type}/${resource.id}`, data, { ...options, params: queryParams })\n\t\tconst r = denormalize<R>(res as DocWithData) as R\n\n\t\treturn r\n\n\t}\n\n\n\tasync delete(resource: ResourceId, options?: ResourcesConfig): Promise<void> {\n\t\tdebug('delete: %o, %O', resource, options || {})\n\t\tawait this.#client.request('DELETE', `${resource.type}/${resource.id}`, undefined, options)\n\t}\n\n\n\tasync fetch<R extends Resource>(resource: string | ResourceType, path: string, params?: QueryParams<R>, options?: ResourcesConfig): Promise<R | ListResponse<R>> {\n\n\t\tdebug('fetch: %o, %O, %O', path, params || {}, options || {})\n\n\t\tconst queryParams = generateQueryStringParams<R>(params, resource)\n\t\tif (options?.params) Object.assign(queryParams, options?.params)\n\n\t\tconst res = await this.#client.request('GET', path, undefined, { ...options, params: queryParams })\n\t\tconst r = denormalize<R>(res as DocWithData)\n\n\t\tif (Array.isArray(r)) {\n\t\t\tconst p = params as QueryParamsList<R>\n\t\t\tconst meta: ListMeta = {\n\t\t\t\tpageCount: Number(res.meta?.page_count),\n\t\t\t\trecordCount: Number(res.meta?.record_count),\n\t\t\t\tcurrentPage: p?.pageNumber || config.default.pageNumber,\n\t\t\t\trecordsPerPage: p?.pageSize || config.default.pageSize\n\t\t\t}\n\t\t\treturn new ListResponse(meta, r)\n\t\t}\n\t\telse return r\n\n\t}\n\n}\n\n\n\nabstract class ApiResourceBase<R extends Resource> {\n\n\tstatic readonly TYPE: ResourceTypeLock\n\treadonly #resources?: ResourceAdapter\n\n\n\tconstructor(adapter?: ResourceAdapter) {\n\t\tdebug('new resource instance: %s', this.type())\n\t\tif (adapter) this.#resources = adapter\n\t}\n\n\n\tprotected get resources(): ResourceAdapter {\n\t\treturn this.#resources || ApiResourceAdapter.get()\n\t}\n\n\n\tabstract relationship(id: string | ResourceId | null): ResourceRel\n\n\n\tprotected relationshipOneToOne<RR extends ResourceRel>(id: string | ResourceId | null): RR {\n\t\treturn (((id === null) || (typeof id === 'string')) ? { id, type: this.type() } : { id: id.id, type: this.type() }) as RR\n\t}\n\n\tprotected relationshipOneToMany<RR extends ResourceRel>(...ids: string[]): RR[] {\n\t\treturn (((ids === null) || (ids.length === 0) || (ids[0] === null)) ? [{ id: null, type: this.type() }] : ids.map(id => { return { id, type: this.type() } })) as RR[]\n\t}\n\n\tabstract type(): ResourceTypeLock\n\n\tprotected path(): string {\n\t\treturn this.type()\n\t}\n\n\n\t// reference, reference_origin and metadata attributes are always updatable\n\tasync update(resource: ResourceUpdate, params?: QueryParamsRetrieve<R>, options?: ResourcesConfig): Promise<R> {\n\t\treturn this.resources.update<ResourceUpdate, R>({ ...resource, type: this.type() }, params, options)\n\t}\n\n}\n\n\nabstract class ApiResource<R extends Resource> extends ApiResourceBase<R> {\n\n\tasync retrieve(id: string | ResourceId, params?: QueryParamsRetrieve<R>, options?: ResourcesConfig): Promise<R> {\n\t\tconst resId = (typeof id === 'string') ? { type: this.type(), id } : id\n\t\tif (!resId.id) throw new SdkError({ message: 'Resource id cannot be blank' })\n\t\treturn this.resources.retrieve<R>(resId, params, options)\n\t}\n\n\tasync list(params?: QueryParamsList<R>, options?: ResourcesConfig): Promise<ListResponse<R>> {\n\t\treturn this.resources.list<R>({ type: this.type() }, params, options)\n\t}\n\n\tasync count(filter?: QueryFilter | QueryParamsList<R>, options?: ResourcesConfig): Promise<number> {\n\t\tconst params: QueryParamsList<R> = { filters: isParamsList<R>(filter) ? filter.filters : filter, pageNumber: 1, pageSize: 1 }\n\t\tconst response = await this.list(params, options)\n\t\treturn Promise.resolve(response.meta.recordCount)\n\t}\n\n}\n\n\nabstract class ApiSingleton<R extends Resource> extends ApiResourceBase<R> {\n\n\tasync retrieve(params?: QueryParamsRetrieve<R>, options?: ResourcesConfig): Promise<R> {\n\t\treturn this.resources.singleton<R>({ type: this.type() }, params, options, this.path())\n\t}\n\n}\n\n\n\nexport { ApiResourceAdapter, ApiResource, ApiSingleton, type ResourceAdapter }\n\n\n\nexport const isResourceId = (resource: any): resource is ResourceId => {\n\treturn (resource?.type && resource.id) && resourceList.includes(resource.type as ResourceTypeLock)\n}\n\nexport const isResourceType = (resource: any): resource is ResourceType => {\n\treturn resource && (typeof resource.type !== 'undefined') && resource.type && resourceList.includes(resource.type as ResourceTypeLock)\n}\n","\nimport type { Value as JSONValue } from 'json-typescript'\nimport type { DocWithData, Included, ResourceIdentifierObject, ResourceObject as JSONAPIObject, AttributesObject, RelationshipsObject } from 'jsonapi-typescript'\nimport type { ResourceCreate, ResourceUpdate, ResourceId, ResourceType, Resource, ResourceRel } from './resource'\nimport { isResourceId, isResourceType } from './resource'\nimport config from './config'\n\nimport Debug from './debug'\nconst debug = Debug('jsonapi')\n\nexport type { DocWithData }\n\n\n\n// DENORMALIZATION\n\nconst denormalize = <R extends Resource>(response: DocWithData): R | R[] => {\n\n\tif (!response) return response\n\t\n\tlet denormalizedResponse\n\n\tif (response.links) delete response.links\n\n\tconst data = response.data\n\tconst included = response.included\n\n\tif (!data) denormalizedResponse = data\n\telse {\n\t\tif (Array.isArray(data)) denormalizedResponse = data.map(res => denormalizeResource<R>(res, included))\n\t\telse denormalizedResponse = denormalizeResource<R>(data, included)\n\t}\n\n\treturn denormalizedResponse\n\n}\n\n\nconst findIncluded = (rel: ResourceIdentifierObject, included: Included = []): JSONAPIObject | undefined => {\n\tconst inc = included.find(inc => {\n\t\treturn (rel.id === inc.id) && (rel.type === inc.type)\n\t})\n\treturn inc || rel\n}\n\n\nconst denormalizeResource = <T extends ResourceType>(res: any, included?: Included, chain: ResourceIdentifierObject[] = []): T => {\n\n\tdebug('denormalize resource: %O, %o', res, included || {})\n\n\tif (!res) return res\n\n\tconst resource = {\n\t\tid: res.id,\n\t\ttype: res.type,\n\t\t...res.attributes,\n\t}\n\n\tif (res.relationships) Object.keys(res.relationships as object).forEach(key => {\n\t\tconst rel: ResourceIdentifierObject = res.relationships[key].data\n\t\tif (rel) {\n\t\t\tif (chain.filter(r => (r.id === rel.id) && (r.type === rel.type)).length >= config.jsonapi.maxResourceIncluded) resource[key] = rel\n\t\t\telse {\n\t\t\t\tif (Array.isArray(rel)) resource[key] = rel.map((r: ResourceIdentifierObject) => denormalizeResource<ResourceType>(findIncluded(r, included), included, [...chain, r]))\n\t\t\t\telse resource[key] = denormalizeResource<ResourceType>(findIncluded(rel, included), included, [...chain, rel])\n\t\t\t}\n\t\t} else if (rel === null) resource[key] = null\n\t})\n\n\tdebug('denormalized resource: %O', resource)\n\n\treturn resource\n\n}\n\n\n// NORMALIZATION\n\nconst normalize = (resource: (ResourceCreate & ResourceType) | (ResourceUpdate & ResourceId)): JSONAPIObject => {\n\n\tdebug('normalize resource: %O', resource)\n\n\tconst attributes: AttributesObject = {}\n\tconst relationships: RelationshipsObject = {}\n\n\tfor (const field in resource) {\n\t\tif (['type', 'id'].includes(field)) continue\n\t\tconst value = resource[field as keyof (ResourceCreate | ResourceUpdate)]\n\t\tif (Array.isArray(value) && (value.length === 1) && isResourceType(value[0]) && ((value[0] as ResourceRel).id === null)) {\n\t\t\trelationships[field] = { data: [] }\n\t\t}\n\t\telse\n\t\tif (value && isResourceType(value) && ((value as ResourceRel).id === null)) {\n\t\t\trelationships[field] = { data: null }\n\t\t}\n\t\telse\n\t\tif (value && (isResourceId(value) || (Array.isArray(value) && isResourceId(value[0])))) {\n\t\t\trelationships[field] = { data: value as ResourceIdentifierObject }\n\t\t}\n\t\telse attributes[field] = value as JSONValue\n\t}\n\n\tconst normalized: JSONAPIObject = {\n\t\ttype: resource.type,\n\t\tattributes,\n\t\trelationships\n\t}\n\n\tif (isResourceId(resource)) normalized.id = resource.id\n\n\tdebug('normalized resource: %O', normalized)\n\n\treturn normalized\n\n}\n\n\n\nexport { denormalize, normalize }\n"]}