@sparted/shared-library 1.7.20 → 1.7.22

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.
@@ -6,4 +6,5 @@ export type CampaignRanking = {
6
6
  score: number;
7
7
  numberSessionsPlayed: number;
8
8
  lastPlayed: string;
9
+ favorite: boolean;
9
10
  };
@@ -3,9 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const buildSearchParams = (params) => {
6
- const definedParams = Object
7
- .entries(params)
8
- .reduce((acc, [key, value]) => {
6
+ const definedParams = Object.entries(params).reduce((acc, [key, value]) => {
9
7
  if (value !== undefined) {
10
8
  return Object.assign(Object.assign({}, acc), { [key]: String(value) });
11
9
  }
@@ -1 +1 @@
1
- {"version":3,"file":"build-search-params.js","sources":["../../src/http/build-search-params.ts"],"sourcesContent":["import type { Primitive } from '../types';\n\nexport const buildSearchParams = (params: Record<string, Primitive | undefined>): URLSearchParams => {\n const definedParams = Object\n .entries(params)\n .reduce((acc, [key, value]) => {\n if (value !== undefined) {\n return {\n ...acc,\n [key]: String(value),\n };\n }\n\n return acc;\n }, {} as Record<string, string>);\n\n return new URLSearchParams(definedParams);\n};\n"],"names":[],"mappings":";;;;AAEa,MAAA,iBAAiB,GAAG,CAAC,MAA6C,KAAqB;IAClG,MAAM,aAAa,GAAG,MAAM;SACzB,OAAO,CAAC,MAAM,CAAC;SACf,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,KAAI;QAC5B,IAAI,KAAK,KAAK,SAAS,EAAE;YACvB,OACK,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,GAAG,CACN,EAAA,EAAA,CAAC,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,EACpB,CAAA,CAAA;AACH,SAAA;AAED,QAAA,OAAO,GAAG,CAAC;KACZ,EAAE,EAA4B,CAAC,CAAC;AAEnC,IAAA,OAAO,IAAI,eAAe,CAAC,aAAa,CAAC,CAAC;AAC5C;;;;"}
1
+ {"version":3,"file":"build-search-params.js","sources":["../../src/http/build-search-params.ts"],"sourcesContent":["import type { Primitive } from '../types';\n\nexport const buildSearchParams = (params: Record<string, Primitive | undefined>): URLSearchParams => {\n const definedParams = Object.entries(params).reduce((acc, [key, value]) => {\n if (value !== undefined) {\n return {\n ...acc,\n [key]: String(value),\n };\n }\n\n return acc;\n }, {} as Record<string, string>);\n\n return new URLSearchParams(definedParams);\n};\n"],"names":[],"mappings":";;;;AAEa,MAAA,iBAAiB,GAAG,CAAC,MAA6C,KAAqB;IAClG,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,KAAI;QACxE,IAAI,KAAK,KAAK,SAAS,EAAE;YACvB,OACK,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,GAAG,CACN,EAAA,EAAA,CAAC,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,EACpB,CAAA,CAAA;AACH,SAAA;AAED,QAAA,OAAO,GAAG,CAAC;KACZ,EAAE,EAA4B,CAAC,CAAC;AAEjC,IAAA,OAAO,IAAI,eAAe,CAAC,aAAa,CAAC,CAAC;AAC5C;;;;"}
@@ -16,10 +16,7 @@ const encodeSearchObject = (searchObject) => {
16
16
  const { sort, query, offset, limit } = searchObject;
17
17
  const sortEncoded = sort ? encodeSearchValue(sort) : null;
18
18
  const queryEncoded = query ? encodeSearchValue(query) : null;
19
- const urlParams = new URLSearchParams({
20
- offset: offset.toString(),
21
- limit: limit.toString(),
22
- });
19
+ const urlParams = new URLSearchParams(Object.assign(Object.assign({}, (offset !== undefined ? { offset: offset.toString() } : undefined)), (limit !== undefined ? { limit: limit.toString() } : undefined)));
23
20
  if (sortEncoded)
24
21
  urlParams.append('sort', sortEncoded);
25
22
  if (queryEncoded)
@@ -1 +1 @@
1
- {"version":3,"file":"encode-search-object.js","sources":["../../src/http/encode-search-object.ts"],"sourcesContent":["import { SearchObject } from '../types';\n\nexport type EncodingConfig = {\n keyValueDelimiter: string,\n pairDelimiter: string,\n};\n\nconst defaultEncodingConfig: EncodingConfig = {\n keyValueDelimiter: ':',\n pairDelimiter: '+',\n};\n\nexport const encodeSearchValue = <T extends Record<string, string>>(\n searchValue: T,\n config: EncodingConfig = defaultEncodingConfig,\n) => {\n const { pairDelimiter, keyValueDelimiter } = config;\n\n return Object.entries(searchValue)\n .map(([key, value]) => `${key}${keyValueDelimiter}${encodeURI(value)}`)\n .join(pairDelimiter);\n};\n\nexport const encodeSearchObject = (searchObject: SearchObject): string => {\n const { sort, query, offset, limit } = searchObject;\n\n const sortEncoded = sort ? encodeSearchValue(sort) : null;\n const queryEncoded = query ? encodeSearchValue(query) : null;\n\n const urlParams = new URLSearchParams({\n offset: offset.toString(),\n limit: limit.toString(),\n });\n\n if (sortEncoded) urlParams.append('sort', sortEncoded);\n if (queryEncoded) urlParams.append('query', queryEncoded);\n\n return urlParams.toString();\n};\n"],"names":[],"mappings":";;;;AAOA,MAAM,qBAAqB,GAAmB;AAC5C,IAAA,iBAAiB,EAAE,GAAG;AACtB,IAAA,aAAa,EAAE,GAAG;CACnB,CAAC;AAEW,MAAA,iBAAiB,GAAG,CAC/B,WAAc,EACd,MAAA,GAAyB,qBAAqB,KAC5C;AACF,IAAA,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,MAAM,CAAC;AAEpD,IAAA,OAAO,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC;SAC/B,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,GAAG,GAAG,CAAA,EAAG,iBAAiB,CAAG,EAAA,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;SACtE,IAAI,CAAC,aAAa,CAAC,CAAC;AACzB,EAAE;AAEW,MAAA,kBAAkB,GAAG,CAAC,YAA0B,KAAY;IACvE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,YAAY,CAAC;AAEpD,IAAA,MAAM,WAAW,GAAG,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAC1D,IAAA,MAAM,YAAY,GAAG,KAAK,GAAG,iBAAiB,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;AAE7D,IAAA,MAAM,SAAS,GAAG,IAAI,eAAe,CAAC;AACpC,QAAA,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE;AACzB,QAAA,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE;AACxB,KAAA,CAAC,CAAC;AAEH,IAAA,IAAI,WAAW;AAAE,QAAA,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;AACvD,IAAA,IAAI,YAAY;AAAE,QAAA,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;AAE1D,IAAA,OAAO,SAAS,CAAC,QAAQ,EAAE,CAAC;AAC9B;;;;;"}
1
+ {"version":3,"file":"encode-search-object.js","sources":["../../src/http/encode-search-object.ts"],"sourcesContent":["import { SearchObject } from '../types';\n\nexport type EncodingConfig = {\n keyValueDelimiter: string;\n pairDelimiter: string;\n};\n\nconst defaultEncodingConfig: EncodingConfig = {\n keyValueDelimiter: ':',\n pairDelimiter: '+',\n};\n\nexport const encodeSearchValue = <T extends Record<string, string>>(\n searchValue: T,\n config: EncodingConfig = defaultEncodingConfig,\n) => {\n const { pairDelimiter, keyValueDelimiter } = config;\n\n return Object.entries(searchValue)\n .map(([key, value]) => `${key}${keyValueDelimiter}${encodeURI(value)}`)\n .join(pairDelimiter);\n};\n\nexport const encodeSearchObject = (searchObject: SearchObject): string => {\n const { sort, query, offset, limit } = searchObject;\n\n const sortEncoded = sort ? encodeSearchValue(sort) : null;\n const queryEncoded = query ? encodeSearchValue(query) : null;\n\n const urlParams = new URLSearchParams({\n ...(offset !== undefined ? { offset: offset.toString() } : undefined),\n ...(limit !== undefined ? { limit: limit.toString() } : undefined),\n });\n\n if (sortEncoded) urlParams.append('sort', sortEncoded);\n if (queryEncoded) urlParams.append('query', queryEncoded);\n\n return urlParams.toString();\n};\n"],"names":[],"mappings":";;;;AAOA,MAAM,qBAAqB,GAAmB;AAC5C,IAAA,iBAAiB,EAAE,GAAG;AACtB,IAAA,aAAa,EAAE,GAAG;CACnB,CAAC;AAEW,MAAA,iBAAiB,GAAG,CAC/B,WAAc,EACd,MAAA,GAAyB,qBAAqB,KAC5C;AACF,IAAA,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,MAAM,CAAC;AAEpD,IAAA,OAAO,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC;SAC/B,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,GAAG,GAAG,CAAA,EAAG,iBAAiB,CAAG,EAAA,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;SACtE,IAAI,CAAC,aAAa,CAAC,CAAC;AACzB,EAAE;AAEW,MAAA,kBAAkB,GAAG,CAAC,YAA0B,KAAY;IACvE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,YAAY,CAAC;AAEpD,IAAA,MAAM,WAAW,GAAG,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAC1D,IAAA,MAAM,YAAY,GAAG,KAAK,GAAG,iBAAiB,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;IAE7D,MAAM,SAAS,GAAG,IAAI,eAAe,kCAC/B,MAAM,KAAK,SAAS,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE,EAAE,GAAG,SAAS,EAAC,GACjE,KAAK,KAAK,SAAS,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAE,GAAG,SAAS,EAAC,CAClE,CAAC;AAEH,IAAA,IAAI,WAAW;AAAE,QAAA,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;AACvD,IAAA,IAAI,YAAY;AAAE,QAAA,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;AAE1D,IAAA,OAAO,SAAS,CAAC,QAAQ,EAAE,CAAC;AAC9B;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"fetch-with-timeout.js","sources":["../../src/http/fetch-with-timeout.ts"],"sourcesContent":["export type RequestInitWithTimeout = RequestInit & {\n timeout?: number\n};\n\n/**\n * Use fetch to perform an HTTP request\n * Add an optional timeout, that will abort the request if it has not returned before\n */\nexport const fetchWithTimeout = (input: RequestInfo, init?: Omit<RequestInitWithTimeout, 'signal'> | undefined): Promise<Response> => {\n const abortController = new AbortController();\n\n const { timeout, ...rest } = init || {};\n\n const params = {\n ...rest,\n signal: abortController.signal,\n };\n\n if (timeout !== undefined) {\n setTimeout(() => abortController.abort(), timeout);\n }\n\n return fetch(input, params);\n};\n"],"names":["__rest"],"mappings":";;;;;;AAIA;;;AAGG;MACU,gBAAgB,GAAG,CAAC,KAAkB,EAAE,IAAyD,KAAuB;AACnI,IAAA,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;AAE9C,IAAA,MAAM,EAAuB,GAAA,IAAI,IAAI,EAAE,EAAjC,EAAE,OAAO,EAAA,GAAA,EAAwB,EAAnB,IAAI,GAAlBA,aAAA,CAAA,EAAA,EAAA,CAAA,SAAA,CAAoB,CAAa,CAAC;IAExC,MAAM,MAAM,GACP,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CACP,EAAA,EAAA,MAAM,EAAE,eAAe,CAAC,MAAM,EAAA,CAC/B,CAAC;IAEF,IAAI,OAAO,KAAK,SAAS,EAAE;QACzB,UAAU,CAAC,MAAM,eAAe,CAAC,KAAK,EAAE,EAAE,OAAO,CAAC,CAAC;AACpD,KAAA;AAED,IAAA,OAAO,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AAC9B;;;;"}
1
+ {"version":3,"file":"fetch-with-timeout.js","sources":["../../src/http/fetch-with-timeout.ts"],"sourcesContent":["export type RequestInitWithTimeout = RequestInit & {\n timeout?: number;\n};\n\n/**\n * Use fetch to perform an HTTP request\n * Add an optional timeout, that will abort the request if it has not returned before\n */\nexport const fetchWithTimeout = (\n input: RequestInfo,\n init?: Omit<RequestInitWithTimeout, 'signal'> | undefined,\n): Promise<Response> => {\n const abortController = new AbortController();\n\n const { timeout, ...rest } = init || {};\n\n const params = {\n ...rest,\n signal: abortController.signal,\n };\n\n if (timeout !== undefined) {\n setTimeout(() => abortController.abort(), timeout);\n }\n\n return fetch(input, params);\n};\n"],"names":["__rest"],"mappings":";;;;;;AAIA;;;AAGG;MACU,gBAAgB,GAAG,CAC9B,KAAkB,EAClB,IAAyD,KACpC;AACrB,IAAA,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;AAE9C,IAAA,MAAM,EAAuB,GAAA,IAAI,IAAI,EAAE,EAAjC,EAAE,OAAO,EAAA,GAAA,EAAwB,EAAnB,IAAI,GAAlBA,aAAA,CAAA,EAAA,EAAA,CAAA,SAAA,CAAoB,CAAa,CAAC;IAExC,MAAM,MAAM,GACP,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CACP,EAAA,EAAA,MAAM,EAAE,eAAe,CAAC,MAAM,EAAA,CAC/B,CAAC;IAEF,IAAI,OAAO,KAAK,SAAS,EAAE;QACzB,UAAU,CAAC,MAAM,eAAe,CAAC,KAAK,EAAE,EAAE,OAAO,CAAC,CAAC;AACpD,KAAA;AAED,IAAA,OAAO,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AAC9B;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sparted/shared-library",
3
- "version": "1.7.20",
3
+ "version": "1.7.22",
4
4
  "repository": "git@github.com:Sparted/shared-library.git",
5
5
  "author": {
6
6
  "name": "Sparted",
package/types/search.d.ts CHANGED
@@ -9,13 +9,13 @@ export type SearchQuery = {
9
9
  [property: SearchQueryProperty]: SearchQueryValue;
10
10
  };
11
11
  export type SearchObject = {
12
- offset: number;
13
- limit: number;
12
+ offset?: number;
13
+ limit?: number;
14
14
  sort?: Record<string, SearchSortOrder>;
15
15
  query?: SearchQuery;
16
16
  };
17
17
  export type SearchResponse<T> = {
18
- items: ReadonlyArray<T>;
18
+ items: T[];
19
19
  offset: number;
20
20
  limit: number;
21
21
  total: number;