@cloudcommerce/api 2.0.4 → 2.0.5

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.
@@ -1,4 +1,4 @@
1
1
 
2
- > @cloudcommerce/api@2.0.3 build /home/leo/code/ecomplus/cloud-commerce/packages/api
2
+ > @cloudcommerce/api@2.0.4 build /home/leo/code/ecomplus/cloud-commerce/packages/api
3
3
  > bash ../../scripts/build-lib.sh
4
4
 
@@ -1,11 +1,15 @@
1
1
 
2
- > @cloudcommerce/api@2.0.3 test /home/leo/code/ecomplus/cloud-commerce/packages/api
2
+ > @cloudcommerce/api@2.0.4 test /home/leo/code/ecomplus/cloud-commerce/packages/api
3
3
  > tsc -p ../../tsconfig.test.json && vitest run
4
4
 
5
5
 
6
6
  RUN v1.1.3 /home/leo/code/ecomplus/cloud-commerce/packages/api
7
7
 
8
+ stdout | tests/index.test.ts > Read product and typecheck SKU
9
+ GFJ4714
10
+
8
11
  ✓ tests/index.test.ts > Read product and typecheck SKU
12
+ ✓ tests/index.test.ts > Find and read product by SKU
9
13
  ✓ tests/index.test.ts > 404 with different Store ID from env
10
14
  ✓ tests/index.test.ts > List categories and typecheck result
11
15
  ✓ tests/index.test.ts > 401 trying to list API events
@@ -13,7 +17,7 @@
13
17
  ✓ tests/index.test.ts > 204 to update products views
14
18
 
15
19
  Test Files 1 passed (1)
16
- Tests 6 passed (6)
17
- Start at 18:35:51
18
- Duration 1.21s (transform 123ms, setup 0ms, collect 113ms, tests 629ms, environment 0ms, prepare 129ms)
20
+ Tests 7 passed (7)
21
+ Start at 16:50:25
22
+ Duration 1.32s (transform 138ms, setup 1ms, collect 135ms, tests 681ms, environment 0ms, prepare 152ms)
19
23
 
package/lib/api.d.ts CHANGED
@@ -66,7 +66,10 @@ declare const api: {
66
66
  config: Config;
67
67
  data: null;
68
68
  }>;
69
- patch: (endpoint: Endpoint, body: any, config?: AbstractedConfig) => Promise<Response & {
69
+ patch: <E_2 extends Endpoint, C_2 extends AbstractedConfig>(endpoint: E_2, body: RequestBody<{
70
+ endpoint: E_2;
71
+ method: 'patch';
72
+ }>, config?: C_2 | undefined) => Promise<Response & {
70
73
  config: Config;
71
74
  data: null;
72
75
  }>;
@@ -110,7 +113,10 @@ declare const put: <E extends import("../types.d").ResourceAndFind | `products/$
110
113
  config: Config;
111
114
  data: null;
112
115
  }>;
113
- declare const patch: (endpoint: Endpoint, body: any, config?: AbstractedConfig) => Promise<Response & {
116
+ declare const patch: <E extends Endpoint, C extends AbstractedConfig>(endpoint: E, body: RequestBody<{
117
+ endpoint: E;
118
+ method: 'patch';
119
+ }>, config?: C | undefined) => Promise<Response & {
114
120
  config: Config;
115
121
  data: null;
116
122
  }>;
package/lib/api.js CHANGED
@@ -187,12 +187,14 @@ const put = (endpoint, body, config) => {
187
187
  body,
188
188
  });
189
189
  };
190
- const patch = (endpoint, body, config) => api({
191
- ...config,
192
- method: 'patch',
193
- endpoint,
194
- body,
195
- });
190
+ const patch = (endpoint, body, config) => {
191
+ return api({
192
+ ...config,
193
+ method: 'patch',
194
+ endpoint,
195
+ body,
196
+ });
197
+ };
196
198
  const del = (endpoint, config) => api({
197
199
  ...config,
198
200
  method: 'delete',
package/lib/api.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/api",
3
3
  "type": "module",
4
- "version": "2.0.4",
4
+ "version": "2.0.5",
5
5
  "description": "E-Com Plus Cloud Commerce APIs client/adapter",
6
6
  "main": "lib/api.js",
7
7
  "types": "lib/api.d.ts",
@@ -22,6 +22,7 @@
22
22
  "homepage": "https://github.com/ecomplus/cloud-commerce/tree/main/packages/api#readme",
23
23
  "scripts": {
24
24
  "build": "bash ../../scripts/build-lib.sh",
25
- "test": "tsc -p ../../tsconfig.test.json && vitest run"
25
+ "test": "tsc -p ../../tsconfig.test.json && vitest run",
26
+ "test:echo": "tsc -p ../../tsconfig.test.json && vitest run --silent=false"
26
27
  }
27
28
  }
package/src/api.ts CHANGED
@@ -258,12 +258,18 @@ const put = <E extends Exclude<Endpoint, ResourceOpQuery>, C extends AbstractedC
258
258
  });
259
259
  };
260
260
 
261
- const patch = (endpoint: Endpoint, body: any, config?: AbstractedConfig) => api({
262
- ...config,
263
- method: 'patch',
264
- endpoint,
265
- body,
266
- });
261
+ const patch = <E extends Endpoint, C extends AbstractedConfig>(
262
+ endpoint: E,
263
+ body: RequestBody<{ endpoint: E, method: 'patch' }>,
264
+ config?: C,
265
+ ) => {
266
+ return api({
267
+ ...config,
268
+ method: 'patch',
269
+ endpoint,
270
+ body,
271
+ });
272
+ };
267
273
 
268
274
  const del = (endpoint: Endpoint, config?: AbstractedConfig) => api({
269
275
  ...config,
@@ -11,10 +11,19 @@ test('Read product and typecheck SKU', async () => {
11
11
  if (data.sku === '123') {
12
12
  console.log('\\o/');
13
13
  }
14
+ console.log(data.sku);
14
15
  expect(data.sku).toBeTypeOf('string');
15
16
  expect(data._id).toBe(productId);
16
17
  });
17
18
 
19
+ test('Find and read product by SKU', async () => {
20
+ const { data } = await api({
21
+ storeId: 1056,
22
+ endpoint: 'products/sku:GFJ4714',
23
+ });
24
+ expect(data.sku).toBe('GFJ4714');
25
+ });
26
+
18
27
  test('404 with different Store ID from env', async () => {
19
28
  try {
20
29
  const { data } = await api.get(`products/${productId}`, {
package/types.d.ts CHANGED
@@ -394,19 +394,19 @@ type ResponseBody<
394
394
  TConfig['method'] extends 'put' | 'patch' | 'delete' ? null :
395
395
  // method?: 'get'
396
396
  TConfig['endpoint'] extends `${string}/${ResourceId}/${string}` ? any :
397
- TConfig['endpoint'] extends `products/${ResourceId}` ? Products :
398
- TConfig['endpoint'] extends `categories/${ResourceId}` ? Categories :
399
- TConfig['endpoint'] extends `brands/${ResourceId}` ? Brands :
400
- TConfig['endpoint'] extends `collections/${ResourceId}` ? Collections :
401
- TConfig['endpoint'] extends `grids/${ResourceId}` ? Grids :
402
- TConfig['endpoint'] extends `carts/${ResourceId}` ? Carts :
403
- TConfig['endpoint'] extends `orders/${ResourceId}` ? Orders :
404
- TConfig['endpoint'] extends `customers/${ResourceId}` ? Customers :
405
- TConfig['endpoint'] extends `stores/${ResourceId}` ? Stores :
406
- TConfig['endpoint'] extends 'stores/me' ? Stores :
407
- TConfig['endpoint'] extends `applications/${ResourceId}` ? Applications :
408
- TConfig['endpoint'] extends `authentications/${ResourceId}` ? Authentications :
409
- TConfig['endpoint'] extends 'authentications/me' ? Authentications :
397
+ TConfig['endpoint'] extends ResourceAndFind ?
398
+ TConfig['endpoint'] extends `products/${string}` ? Products :
399
+ TConfig['endpoint'] extends `categories/${string}` ? Categories :
400
+ TConfig['endpoint'] extends `brands/${string}` ? Brands :
401
+ TConfig['endpoint'] extends `collections/${string}` ? Collections :
402
+ TConfig['endpoint'] extends `grids/${string}` ? Grids :
403
+ TConfig['endpoint'] extends `carts/${string}` ? Carts :
404
+ TConfig['endpoint'] extends `orders/${string}` ? Orders :
405
+ TConfig['endpoint'] extends `customers/${string}` ? Customers :
406
+ TConfig['endpoint'] extends `applications/${string}` ? Applications :
407
+ TConfig['endpoint'] extends `authentications/${string}` ? Authentications :
408
+ TConfig['endpoint'] extends `stores/${string}` ? Stores :
409
+ any :
410
410
  TConfig['endpoint'] extends ResourceOpQuery ? ResourceListResult<TConfig['endpoint'], ListFields> :
411
411
  TConfig['endpoint'] extends SearchOpQuery ? SearchResult<TConfig['endpoint'], ListFields> :
412
412
  TConfig['endpoint'] extends SearchHistoryOpQuery ? SearchHistoryResult :
@@ -431,19 +431,28 @@ type SetDocEndpoint<TResource extends Resource> = TResource | `${TResource}/${Re
431
431
 
432
432
  type RequestBody<TConfig extends Config> =
433
433
  TConfig['method'] extends undefined | 'get' | 'delete' ? undefined :
434
- TConfig['method'] extends 'patch' ? any : // TODO: partial body
435
- // method: 'post' | 'put'
436
- TConfig['endpoint'] extends SetDocEndpoint<'products'> ? ProductSet :
437
- TConfig['endpoint'] extends SetDocEndpoint<'categories'> ? CategorySet :
438
- TConfig['endpoint'] extends SetDocEndpoint<'brands'> ? BrandSet :
439
- TConfig['endpoint'] extends SetDocEndpoint<'collections'> ? CollectionSet :
440
- TConfig['endpoint'] extends SetDocEndpoint<'grids'> ? GridSet :
441
- TConfig['endpoint'] extends SetDocEndpoint<'carts'> ? CartSet :
442
- TConfig['endpoint'] extends SetDocEndpoint<'orders'> ? OrderSet :
443
- TConfig['endpoint'] extends SetDocEndpoint<'customers'> ? CustomerSet :
444
- TConfig['endpoint'] extends SetDocEndpoint<'stores'> ? StoreSet :
445
- TConfig['endpoint'] extends SetDocEndpoint<'applications'> ? ApplicationSet :
446
- TConfig['endpoint'] extends SetDocEndpoint<'authentications'> ? AuthenticationSet :
434
+ TConfig['endpoint'] extends SetDocEndpoint<'products'>
435
+ ? TConfig['method'] extends 'patch' ? Partial<ProductSet> : ProductSet :
436
+ TConfig['endpoint'] extends SetDocEndpoint<'categories'>
437
+ ? TConfig['method'] extends 'patch' ? Partial<CategorySet> : CategorySet :
438
+ TConfig['endpoint'] extends SetDocEndpoint<'brands'>
439
+ ? TConfig['method'] extends 'patch' ? Partial<BrandSet> : BrandSet :
440
+ TConfig['endpoint'] extends SetDocEndpoint<'collections'>
441
+ ? TConfig['method'] extends 'patch' ? Partial<CollectionSet> : CollectionSet :
442
+ TConfig['endpoint'] extends SetDocEndpoint<'grids'>
443
+ ? TConfig['method'] extends 'patch' ? Partial<GridSet> : GridSet :
444
+ TConfig['endpoint'] extends SetDocEndpoint<'carts'>
445
+ ? TConfig['method'] extends 'patch' ? Partial<CartSet> : CartSet :
446
+ TConfig['endpoint'] extends SetDocEndpoint<'orders'>
447
+ ? TConfig['method'] extends 'patch' ? Partial<OrderSet> : OrderSet :
448
+ TConfig['endpoint'] extends SetDocEndpoint<'customers'>
449
+ ? TConfig['method'] extends 'patch' ? Partial<CustomerSet> : CustomerSet :
450
+ TConfig['endpoint'] extends SetDocEndpoint<'stores'>
451
+ ? TConfig['method'] extends 'patch' ? Partial<StoreSet> : StoreSet :
452
+ TConfig['endpoint'] extends SetDocEndpoint<'applications'>
453
+ ? TConfig['method'] extends 'patch' ? Partial<ApplicationSet> : ApplicationSet :
454
+ TConfig['endpoint'] extends SetDocEndpoint<'authentications'>
455
+ ? TConfig['method'] extends 'patch' ? Partial<AuthenticationSet> : AuthenticationSet :
447
456
  any;
448
457
 
449
458
  type ErrorBody = {