@cloudcommerce/api 2.20.5 → 2.20.7

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.
Files changed (2) hide show
  1. package/package.json +1 -1
  2. package/types.d.ts +36 -25
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/api",
3
3
  "type": "module",
4
- "version": "2.20.5",
4
+ "version": "2.20.7",
5
5
  "description": "e-com.plus Cloud Commerce APIs client/adapter",
6
6
  "main": "lib/api.js",
7
7
  "types": "lib/api.d.ts",
package/types.d.ts CHANGED
@@ -99,17 +99,28 @@ type DocField<T extends string> = T extends `${infer U}.${string}` ? U : T;
99
99
  type ListResultDocs<
100
100
  Document extends Record<string, any>,
101
101
  Fields extends string[] | '*' = '*',
102
- > = Array<Omit<(
103
- Fields extends '*' ? Partial<Document> :
104
- Pick<Document, Extract<keyof Document, DocField<Fields[number]>>>
105
- ), '_id'> & { _id: ResourceId }>;
102
+ DefaultFields extends string[] = [],
103
+ BaseFields extends string[] = ['_id', 'created_at', 'updated_at'],
104
+ > = Array<(
105
+ Fields extends '*' ? Partial<Document> & { _id: ResourceId } :
106
+ Pick<
107
+ Document,
108
+ Extract<keyof Document,
109
+ DocField<
110
+ Fields extends null ? BaseFields[number] | DefaultFields[number]
111
+ : Fields[0] extends '__' ? BaseFields[number] | DefaultFields[number] | Fields[number]
112
+ : '_id' | Fields[number]
113
+ >
114
+ >
115
+ >
116
+ )>;
106
117
 
107
118
  type DefaultProductsFields = [
108
119
  'sku',
109
120
  'slug',
110
121
  ];
111
122
  type ProductsList<Fields extends null | string[] | '*' = '*'> =
112
- ListResultDocs<Products, Fields extends null ? DefaultProductsFields : Fields>;
123
+ ListResultDocs<Products, Fields, DefaultProductsFields, ['_id']>;
113
124
 
114
125
  type DefaultCategoriesFields = [
115
126
  'name',
@@ -119,7 +130,7 @@ type DefaultCategoriesFields = [
119
130
  'pictures.0',
120
131
  ];
121
132
  type CategoriesList<Fields extends null | string[] | '*' = '*'> =
122
- ListResultDocs<Categories, Fields extends null ? DefaultCategoriesFields : Fields>;
133
+ ListResultDocs<Categories, Fields, DefaultCategoriesFields>;
123
134
 
124
135
  type DefaultBrandsFields = [
125
136
  'name',
@@ -128,7 +139,7 @@ type DefaultBrandsFields = [
128
139
  'pictures.0',
129
140
  ];
130
141
  type BrandsList<Fields extends null | string[] | '*' = '*'> =
131
- ListResultDocs<Brands, Fields extends null ? DefaultBrandsFields : Fields>;
142
+ ListResultDocs<Brands, Fields, DefaultBrandsFields>;
132
143
 
133
144
  type DefaultCollectionsFields = [
134
145
  'name',
@@ -137,7 +148,7 @@ type DefaultCollectionsFields = [
137
148
  'pictures.0',
138
149
  ];
139
150
  type CollectionsList<Fields extends null | string[] | '*' = '*'> =
140
- ListResultDocs<Collections, Fields extends null ? DefaultCollectionsFields : Fields>;
151
+ ListResultDocs<Collections, Fields, DefaultCollectionsFields>;
141
152
 
142
153
  type DefaultGridsFields = [
143
154
  'title',
@@ -146,7 +157,7 @@ type DefaultGridsFields = [
146
157
  'options.colors',
147
158
  ];
148
159
  type GridsList<Fields extends null | string[] | '*' = '*'> =
149
- ListResultDocs<Grids, Fields extends null ? DefaultGridsFields : Fields>;
160
+ ListResultDocs<Grids, Fields, DefaultGridsFields>;
150
161
 
151
162
  type DefaultCartsFields = [
152
163
  'available',
@@ -163,7 +174,7 @@ type DefaultCartsFields = [
163
174
  'subtotal',
164
175
  ];
165
176
  type CartsList<Fields extends null | string[] | '*' = '*'> =
166
- ListResultDocs<Carts, Fields extends null ? DefaultCartsFields : Fields>;
177
+ ListResultDocs<Carts, Fields, DefaultCartsFields>;
167
178
 
168
179
  type DefaultOrdersFields = [
169
180
  'channel_id',
@@ -186,7 +197,7 @@ type DefaultOrdersFields = [
186
197
  'items.quantity',
187
198
  ];
188
199
  type OrdersList<Fields extends null | string[] | '*' = '*'> =
189
- ListResultDocs<Orders, Fields extends null ? DefaultOrdersFields : Fields>;
200
+ ListResultDocs<Orders, Fields, DefaultOrdersFields>;
190
201
 
191
202
  type DefaultCustomersFields = [
192
203
  'state',
@@ -200,7 +211,7 @@ type DefaultCustomersFields = [
200
211
  'orders_total_value',
201
212
  ];
202
213
  type CustomersList<Fields extends null | string[] | '*' = '*'> =
203
- ListResultDocs<Customers, Fields extends null ? DefaultCustomersFields : Fields>;
214
+ ListResultDocs<Customers, Fields, DefaultCustomersFields>;
204
215
 
205
216
  type DefaultStoresFields = [
206
217
  'store_id',
@@ -208,7 +219,7 @@ type DefaultStoresFields = [
208
219
  'domain',
209
220
  ];
210
221
  type StoresList<Fields extends null | string[] | '*' = '*'> =
211
- ListResultDocs<Stores, Fields extends null ? DefaultStoresFields : Fields>;
222
+ ListResultDocs<Stores, Fields, DefaultStoresFields>;
212
223
 
213
224
  type DefaultApplicationsFields = [
214
225
  'app_id',
@@ -218,7 +229,7 @@ type DefaultApplicationsFields = [
218
229
  'type',
219
230
  ];
220
231
  type ApplicationsList<Fields extends null | string[] | '*' = '*'> =
221
- ListResultDocs<Applications, Fields extends null ? DefaultApplicationsFields : Fields>;
232
+ ListResultDocs<Applications, Fields, DefaultApplicationsFields>;
222
233
 
223
234
  type DefaultAuthenticationsFields = [
224
235
  'username',
@@ -226,7 +237,7 @@ type DefaultAuthenticationsFields = [
226
237
  'app',
227
238
  ];
228
239
  type AuthenticationsList<Fields extends null | string[] | '*' = '*'> =
229
- ListResultDocs<Authentications, Fields extends null ? DefaultAuthenticationsFields : Fields>;
240
+ ListResultDocs<Authentications, Fields, DefaultAuthenticationsFields>;
230
241
 
231
242
  type ListEndpoint<TResource extends Resource> = TResource | `${TResource}?${string}`;
232
243
  type ResourceListResult<
@@ -271,24 +282,24 @@ type DefaultSearchFields = [
271
282
  'quantity',
272
283
  'min_quantity',
273
284
  'inventory',
274
- 'measurement',
275
- 'condition',
276
- 'warranty',
277
285
  'pictures.normal',
278
286
  'has_variations',
287
+ '_score',
279
288
  ];
280
289
 
281
- type SearchItem<Fields extends null | string[] | '*' = '*'> = Omit<(
282
- Fields extends '*' ? Partial<SearchProducts> :
290
+ type SearchItem<Fields extends null | string[] | '*' = '*'> = (
291
+ Fields extends '*' ? Partial<SearchProducts> & { _id: ResourceId } :
283
292
  Pick<
284
293
  SearchProducts,
285
294
  Extract<keyof SearchProducts,
286
- DocField<Fields extends null ? DefaultSearchFields[number] : Fields[number]>>
295
+ DocField<
296
+ Fields extends null ? '_id' | DefaultSearchFields[number]
297
+ : Fields[0] extends '__' ? '_id' | DefaultSearchFields[number] | Fields[number]
298
+ : '_id' | Fields[number]
299
+ >
300
+ >
287
301
  >
288
- ), '_id' | '_score'> & {
289
- _id: ResourceId,
290
- _score: number,
291
- };
302
+ );
292
303
 
293
304
  type SearchResult<
294
305
  TEndpoint extends SearchOpQuery | 'v1' | 'els',