@gradientedge/commercetools-utils 4.15.0 → 4.17.1

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.
@@ -2,7 +2,7 @@ import { AxiosInstance } from 'axios';
2
2
  import { CommercetoolsApiConfig, CommercetoolsRetryConfig } from './types';
3
3
  import { CommercetoolsAuth } from '../';
4
4
  import { RegionEndpoints } from '../types';
5
- import type { Cart, CartDiscount, CartDiscountPagedQueryResponse, CartDraft, CartPagedQueryResponse, CartUpdateAction, Category, CategoryDraft, CategoryPagedQueryResponse, CategoryUpdate, Channel, ChannelPagedQueryResponse, Customer, CustomerCreatePasswordResetToken, CustomerDraft, CustomerGroup, CustomerGroupDraft, CustomerGroupPagedQueryResponse, CustomerGroupUpdate, CustomerPagedQueryResponse, CustomerResetPassword, CustomerSignin, CustomerSignInResult, CustomerToken, CustomerUpdate, CustomObject, CustomObjectDraft, DiscountCode, GraphQLRequest, GraphQLResponse, MyCartDraft, MyCartUpdateAction, MyCustomerDraft, MyPayment, MyPaymentDraft, MyPaymentPagedQueryResponse, MyPaymentUpdate, Order, OrderImportDraft, OrderPagedQueryResponse, OrderUpdate, Payment, PaymentPagedQueryResponse, PaymentUpdate, Product, ProductDraft, ProductProjection, ProductProjectionPagedQueryResponse, ProductsInStorePagedQueryResponse, ProductSelection, ProductSelectionDraft, ProductSelectionPagedQueryResponse, ProductSelectionUpdateAction, ProductType, ProductUpdate, ShippingMethod, ShippingMethodPagedQueryResponse, Store, StoreDraft, StorePagedQueryResponse, StoreUpdate, Type } from '../models';
5
+ import type { Cart, CartDiscount, CartDiscountPagedQueryResponse, CartDraft, CartPagedQueryResponse, CartUpdateAction, Category, CategoryDraft, CategoryPagedQueryResponse, CategoryUpdate, Channel, ChannelPagedQueryResponse, Customer, CustomerCreatePasswordResetToken, CustomerDraft, CustomerGroup, CustomerGroupDraft, CustomerGroupPagedQueryResponse, CustomerGroupUpdate, CustomerPagedQueryResponse, CustomerResetPassword, CustomerSignin, CustomerSignInResult, CustomerToken, CustomerUpdate, CustomObject, CustomObjectDraft, DiscountCode, GraphQLRequest, GraphQLResponse, MyCartDraft, MyCartUpdateAction, MyCustomerDraft, MyPayment, MyPaymentDraft, MyPaymentPagedQueryResponse, MyPaymentUpdate, Order, OrderImportDraft, OrderPagedQueryResponse, OrderUpdate, Payment, PaymentPagedQueryResponse, PaymentUpdate, Product, ProductDraft, ProductProjection, ProductProjectionPagedQueryResponse, ProductsInStorePagedQueryResponse, ProductSelection, ProductSelectionDraft, ProductSelectionPagedQueryResponse, ProductSelectionUpdateAction, ProductType, ProductUpdate, ShippingMethod, ShippingMethodPagedQueryResponse, State, StatePagedQueryResponse, Store, StoreDraft, StorePagedQueryResponse, StoreUpdate, Type } from '../models';
6
6
  export interface FetchOptions<T = Record<string, any>> {
7
7
  path: string;
8
8
  headers?: Record<string, string>;
@@ -15,7 +15,7 @@ export interface FetchOptions<T = Record<string, any>> {
15
15
  }
16
16
  export interface CommonRequestOptions {
17
17
  correlationId?: string;
18
- params?: Record<string, any>;
18
+ params?: Record<string, undefined | string | boolean | number | (string | boolean | number)[]>;
19
19
  retry?: CommercetoolsRetryConfig;
20
20
  }
21
21
  export interface CommonStoreEnabledRequestOptions extends CommonRequestOptions {
@@ -425,6 +425,13 @@ export declare class CommercetoolsApi {
425
425
  key: string;
426
426
  version: number;
427
427
  }): Promise<CustomerGroup>;
428
+ getStateById(options: CommonRequestOptions & {
429
+ id: string;
430
+ }): Promise<State>;
431
+ getStateByKey(options: CommonRequestOptions & {
432
+ key: string;
433
+ }): Promise<State>;
434
+ queryStates(options?: CommonRequestOptions): Promise<StatePagedQueryResponse>;
428
435
  graphql(options: CommonRequestOptions & {
429
436
  accessToken?: string;
430
437
  data: GraphQLRequest;
@@ -432,7 +439,6 @@ export declare class CommercetoolsApi {
432
439
  request<T = any, R = any>(options: FetchOptions<T>): Promise<R>;
433
440
  getRetryConfig(methodRetryConfig?: CommercetoolsRetryConfig): CommercetoolsRetryConfig;
434
441
  getRequestOptions(options: FetchOptions): Promise<any>;
435
- calculateDelay(retryCount: number, retryConfig?: CommercetoolsRetryConfig): number;
436
442
  isRetryableError(error: any): boolean;
437
443
  extractCommonRequestOptions(options?: CommonRequestOptions): CommonRequestOptions;
438
444
  applyStore(path: string, storeKey: string | undefined | null): string;
@@ -0,0 +1,2 @@
1
+ import { CommercetoolsRetryConfig } from '../api';
2
+ export declare function calculateDelay(retryCount: number, retryConfig?: CommercetoolsRetryConfig): number;
@@ -1,3 +1,5 @@
1
+ export * from './calculate-delay';
1
2
  export * from './format';
2
- export * from './useragent';
3
3
  export * from './mask';
4
+ export * from './retry-on-conflict';
5
+ export * from './useragent';
@@ -0,0 +1,7 @@
1
+ export interface RetryOnConflictParams<T = any> {
2
+ executeFn: (...args: any) => Promise<T>;
3
+ delayMs?: number;
4
+ maxRetries?: number;
5
+ jitter?: boolean;
6
+ }
7
+ export declare function retryOnConflict<T = any>(options: RetryOnConflictParams): Promise<T>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gradientedge/commercetools-utils",
3
- "version": "4.15.0",
3
+ "version": "4.17.1",
4
4
  "description": "Provide utility classes and functions for interacting with the commercetools API",
5
5
  "main": "./dist/ge-commercetools-utils-node.cjs.js",
6
6
  "module": "./dist/ge-commercetools-utils-node.esm.js",
@@ -87,6 +87,7 @@
87
87
  "webpack-cli": "4.9.2"
88
88
  },
89
89
  "dependencies": {
90
+ "@tshttp/status": "^2.0.0",
90
91
  "axios": "0.26.1",
91
92
  "json-stringify-safe": "5.0.1",
92
93
  "lodash.clonedeep": "4.5.0",