From edbf68c5811b42deeb41840bbb08502fca4b2223 Mon Sep 17 00:00:00 2001 From: rijkvanzanten Date: Wed, 21 Oct 2020 15:58:19 +0200 Subject: [PATCH] Use primarykey type --- packages/sdk-js/src/handlers/items.ts | 28 ++++++++++++--------------- 1 file changed, 12 insertions(+), 16 deletions(-) diff --git a/packages/sdk-js/src/handlers/items.ts b/packages/sdk-js/src/handlers/items.ts index be66f68436..2728413ceb 100644 --- a/packages/sdk-js/src/handlers/items.ts +++ b/packages/sdk-js/src/handlers/items.ts @@ -1,4 +1,4 @@ -import { Query, Item, Payload, Response } from '../types'; +import { Query, Item, Payload, Response, PrimaryKey } from '../types'; import { AxiosInstance } from 'axios'; export class ItemsHandler { @@ -27,13 +27,13 @@ export class ItemsHandler { } async read(query?: Query): Promise>; - async read(key: string | number, query?: Query): Promise>; - async read(keys: (string | number)[], query?: Query): Promise>; + async read(key: PrimaryKey, query?: Query): Promise>; + async read(keys: PrimaryKey[], query?: Query): Promise>; async read( - keysOrQuery?: string | number | (string | number)[] | Query, + keysOrQuery?: PrimaryKey | PrimaryKey[] | Query, query?: Query & { single: boolean } ): Promise> { - let keys: string | number | (string | number)[] | null = null; + let keys: PrimaryKey | PrimaryKey[] | null = null; if ( keysOrQuery && @@ -67,16 +67,12 @@ export class ItemsHandler { return result.data; } - async update(key: string | number, payload: Payload, query?: Query): Promise>; - async update( - keys: (string | number)[], - payload: Payload, - query?: Query - ): Promise>; + async update(key: PrimaryKey, payload: Payload, query?: Query): Promise>; + async update(keys: PrimaryKey[], payload: Payload, query?: Query): Promise>; async update(payload: Payload[], query?: Query): Promise>; async update(payload: Payload, query: Query): Promise>; async update( - keyOrPayload: string | number | (string | number)[] | Payload | Payload[], + keyOrPayload: PrimaryKey | PrimaryKey[] | Payload | Payload[], payloadOrQuery?: Payload | Query, query?: Query ): Promise> { @@ -86,7 +82,7 @@ export class ItemsHandler { (Array.isArray(keyOrPayload) && (keyOrPayload as any[]).every((key) => ['string', 'number'].includes(typeof key))) ) { - const key = keyOrPayload as string | number | (string | number)[]; + const key = keyOrPayload as PrimaryKey | PrimaryKey[]; const payload = payloadOrQuery as Payload; const result = await this.axios.patch(`/items/${this.collection}/${key}`, payload, { @@ -101,9 +97,9 @@ export class ItemsHandler { } } - async delete(key: string | number): Promise; - async delete(keys: (string | number)[]): Promise; - async delete(keys: string | number | (string | number)[]): Promise { + async delete(key: PrimaryKey): Promise; + async delete(keys: PrimaryKey[]): Promise; + async delete(keys: PrimaryKey | PrimaryKey[]): Promise { await this.axios.delete(`/items/${this.collection}/${keys}`); } }