@commercelayer/provisioning-sdk 2.5.1 → 2.7.0

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.
package/lib/index.d.mts CHANGED
@@ -339,7 +339,7 @@ type RoleType = 'roles';
339
339
  type RoleRel$3 = ResourceRel & {
340
340
  type: RoleType;
341
341
  };
342
- type OrganizationRel$4 = ResourceRel & {
342
+ type OrganizationRel$5 = ResourceRel & {
343
343
  type: OrganizationType;
344
344
  };
345
345
  type RoleSort = Pick<Role, 'id'> & ResourceSort;
@@ -367,7 +367,7 @@ interface RoleCreate extends ResourceCreate {
367
367
  * @example ```"Custom role"```
368
368
  */
369
369
  name: string;
370
- organization: OrganizationRel$4;
370
+ organization: OrganizationRel$5;
371
371
  }
372
372
  interface RoleUpdate extends ResourceUpdate {
373
373
  /**
@@ -397,6 +397,69 @@ declare class Roles extends ApiResource<Role> {
397
397
  type(): RoleType;
398
398
  }
399
399
 
400
+ type MembershipProfileType = 'membership_profiles';
401
+ type MembershipProfileRel$2 = ResourceRel & {
402
+ type: MembershipProfileType;
403
+ };
404
+ type OrganizationRel$4 = ResourceRel & {
405
+ type: OrganizationType;
406
+ };
407
+ type ApplicationMembershipRel$2 = ResourceRel & {
408
+ type: ApplicationMembershipType;
409
+ };
410
+ type MembershipProfileSort = Pick<MembershipProfile, 'id' | 'name'> & ResourceSort;
411
+ interface MembershipProfile extends Resource {
412
+ readonly type: MembershipProfileType;
413
+ /**
414
+ * The membership profile name.
415
+ * @example ```"Marketing group"```
416
+ */
417
+ name: string;
418
+ /**
419
+ * Used to enable test mode on the accessible apps.
420
+ */
421
+ test_enabled: boolean;
422
+ organization?: Nullable<Organization>;
423
+ application_memberships?: Nullable<ApplicationMembership[]>;
424
+ }
425
+ interface MembershipProfileCreate extends ResourceCreate {
426
+ /**
427
+ * The membership profile name.
428
+ * @example ```"Marketing group"```
429
+ */
430
+ name: string;
431
+ /**
432
+ * Used to enable test mode on the accessible apps.
433
+ */
434
+ test_enabled: boolean;
435
+ organization: OrganizationRel$4;
436
+ application_memberships?: Nullable<ApplicationMembershipRel$2[]>;
437
+ }
438
+ interface MembershipProfileUpdate extends ResourceUpdate {
439
+ /**
440
+ * The membership profile name.
441
+ * @example ```"Marketing group"```
442
+ */
443
+ name?: Nullable<string>;
444
+ /**
445
+ * Used to enable test mode on the accessible apps.
446
+ */
447
+ test_enabled?: Nullable<boolean>;
448
+ application_memberships?: Nullable<ApplicationMembershipRel$2[]>;
449
+ }
450
+ declare class MembershipProfiles extends ApiResource<MembershipProfile> {
451
+ static readonly TYPE: MembershipProfileType;
452
+ create(resource: MembershipProfileCreate, params?: QueryParamsRetrieve<MembershipProfile>, options?: ResourcesConfig): Promise<MembershipProfile>;
453
+ update(resource: MembershipProfileUpdate, params?: QueryParamsRetrieve<MembershipProfile>, options?: ResourcesConfig): Promise<MembershipProfile>;
454
+ delete(id: string | ResourceId, options?: ResourcesConfig): Promise<void>;
455
+ organization(membershipProfileId: string | MembershipProfile, params?: QueryParamsRetrieve<Organization>, options?: ResourcesConfig): Promise<Organization>;
456
+ application_memberships(membershipProfileId: string | MembershipProfile, params?: QueryParamsList<ApplicationMembership>, options?: ResourcesConfig): Promise<ListResponse<ApplicationMembership>>;
457
+ isMembershipProfile(resource: any): resource is MembershipProfile;
458
+ relationship(id: string | ResourceId | null): MembershipProfileRel$2;
459
+ relationshipToMany(...ids: string[]): MembershipProfileRel$2[];
460
+ type(): MembershipProfileType;
461
+ }
462
+
400
463
  type ApplicationMembershipType = 'application_memberships';
401
464
  type ApplicationMembershipRel$1 = ResourceRel & {
402
465
  type: ApplicationMembershipType;
@@ -407,6 +470,9 @@ type ApiCredentialRel$1 = ResourceRel & {
407
470
  type MembershipRel$1 = ResourceRel & {
408
471
  type: MembershipType;
409
472
  };
473
+ type MembershipProfileRel$1 = ResourceRel & {
474
+ type: MembershipProfileType;
475
+ };
410
476
  type OrganizationRel$3 = ResourceRel & {
411
477
  type: OrganizationType;
412
478
  };
@@ -423,6 +489,7 @@ interface ApplicationMembership extends Resource {
423
489
  filters?: Nullable<Record<string, any>>;
424
490
  api_credential?: Nullable<ApiCredential>;
425
491
  membership?: Nullable<Membership>;
492
+ membership_profile?: Nullable<MembershipProfile>;
426
493
  organization?: Nullable<Organization>;
427
494
  role?: Nullable<Role>;
428
495
  }
@@ -433,7 +500,8 @@ interface ApplicationMembershipCreate extends ResourceCreate {
433
500
  */
434
501
  filters?: Nullable<Record<string, any>>;
435
502
  api_credential: ApiCredentialRel$1;
436
- membership: MembershipRel$1;
503
+ membership?: Nullable<MembershipRel$1>;
504
+ membership_profile?: Nullable<MembershipProfileRel$1>;
437
505
  organization: OrganizationRel$3;
438
506
  role: RoleRel$2;
439
507
  }
@@ -443,6 +511,7 @@ interface ApplicationMembershipUpdate extends ResourceUpdate {
443
511
  * @example ```{"market_id_in":[202,203]}```
444
512
  */
445
513
  filters?: Nullable<Record<string, any>>;
514
+ membership_profile?: Nullable<MembershipProfileRel$1>;
446
515
  role?: Nullable<RoleRel$2>;
447
516
  }
448
517
  declare class ApplicationMemberships extends ApiResource<ApplicationMembership> {
@@ -452,6 +521,7 @@ declare class ApplicationMemberships extends ApiResource<ApplicationMembership>
452
521
  delete(id: string | ResourceId, options?: ResourcesConfig): Promise<void>;
453
522
  api_credential(applicationMembershipId: string | ApplicationMembership, params?: QueryParamsRetrieve<ApiCredential>, options?: ResourcesConfig): Promise<ApiCredential>;
454
523
  membership(applicationMembershipId: string | ApplicationMembership, params?: QueryParamsRetrieve<Membership>, options?: ResourcesConfig): Promise<Membership>;
524
+ membership_profile(applicationMembershipId: string | ApplicationMembership, params?: QueryParamsRetrieve<MembershipProfile>, options?: ResourcesConfig): Promise<MembershipProfile>;
455
525
  organization(applicationMembershipId: string | ApplicationMembership, params?: QueryParamsRetrieve<Organization>, options?: ResourcesConfig): Promise<Organization>;
456
526
  role(applicationMembershipId: string | ApplicationMembership, params?: QueryParamsRetrieve<Role>, options?: ResourcesConfig): Promise<Role>;
457
527
  isApplicationMembership(resource: any): resource is ApplicationMembership;
@@ -473,6 +543,9 @@ type RoleRel$1 = ResourceRel & {
473
543
  type ApplicationMembershipRel = ResourceRel & {
474
544
  type: ApplicationMembershipType;
475
545
  };
546
+ type MembershipProfileRel = ResourceRel & {
547
+ type: MembershipProfileType;
548
+ };
476
549
  type MembershipSort = Pick<Membership, 'id' | 'status'> & ResourceSort;
477
550
  interface Membership extends Resource {
478
551
  readonly type: MembershipType;
@@ -501,9 +574,14 @@ interface Membership extends Resource {
501
574
  * @example ```"true"```
502
575
  */
503
576
  owner: boolean;
577
+ /**
578
+ * Used to enable test mode on the accessible apps.
579
+ */
580
+ test_enabled?: Nullable<boolean>;
504
581
  organization?: Nullable<Organization>;
505
582
  role?: Nullable<Role>;
506
583
  application_memberships?: Nullable<ApplicationMembership[]>;
584
+ membership_profile?: Nullable<MembershipProfile>;
507
585
  versions?: Nullable<Version[]>;
508
586
  }
509
587
  interface MembershipCreate extends ResourceCreate {
@@ -512,13 +590,23 @@ interface MembershipCreate extends ResourceCreate {
512
590
  * @example ```"commercelayer@commercelayer.io"```
513
591
  */
514
592
  user_email: string;
593
+ /**
594
+ * Used to enable test mode on the accessible apps.
595
+ */
596
+ test_enabled?: Nullable<boolean>;
515
597
  organization: OrganizationRel$2;
516
598
  role: RoleRel$1;
517
599
  application_memberships?: Nullable<ApplicationMembershipRel[]>;
600
+ membership_profile?: Nullable<MembershipProfileRel>;
518
601
  }
519
602
  interface MembershipUpdate extends ResourceUpdate {
603
+ /**
604
+ * Used to enable test mode on the accessible apps.
605
+ */
606
+ test_enabled?: Nullable<boolean>;
520
607
  role?: Nullable<RoleRel$1>;
521
608
  application_memberships?: Nullable<ApplicationMembershipRel[]>;
609
+ membership_profile?: Nullable<MembershipProfileRel>;
522
610
  }
523
611
  declare class Memberships extends ApiResource<Membership> {
524
612
  static readonly TYPE: MembershipType;
@@ -529,6 +617,7 @@ declare class Memberships extends ApiResource<Membership> {
529
617
  organization(membershipId: string | Membership, params?: QueryParamsRetrieve<Organization>, options?: ResourcesConfig): Promise<Organization>;
530
618
  role(membershipId: string | Membership, params?: QueryParamsRetrieve<Role>, options?: ResourcesConfig): Promise<Role>;
531
619
  application_memberships(membershipId: string | Membership, params?: QueryParamsList<ApplicationMembership>, options?: ResourcesConfig): Promise<ListResponse<ApplicationMembership>>;
620
+ membership_profile(membershipId: string | Membership, params?: QueryParamsRetrieve<MembershipProfile>, options?: ResourcesConfig): Promise<MembershipProfile>;
532
621
  versions(membershipId: string | Membership, params?: QueryParamsList<Version>, options?: ResourcesConfig): Promise<ListResponse<Version>>;
533
622
  isMembership(resource: any): resource is Membership;
534
623
  relationship(id: string | ResourceId | null): MembershipRel;
@@ -655,6 +744,10 @@ interface Organization extends Resource {
655
744
  * @example ```"true"```
656
745
  */
657
746
  addresses_phone_required: boolean;
747
+ /**
748
+ * The minimum lapse in fraction of seconds to be observed between two consecutive order refreshes. If refresh is triggered within the minimum lapse, the update is performed, but no order refresh is done, until the lapse is observed.
749
+ */
750
+ orders_min_refresh_lapse: number;
658
751
  /**
659
752
  * The maximum number line items allowed for a test order before disabling the autorefresh option.
660
753
  * @example ```"50"```
@@ -683,6 +776,11 @@ interface Organization extends Resource {
683
776
  * @example ```"true"```
684
777
  */
685
778
  orders_invalid_coupon_errors: boolean;
779
+ /**
780
+ * Enables raising of API errors in case the provided gift card code is invalid, default is true.
781
+ * @example ```"true"```
782
+ */
783
+ orders_invalid_gift_card_errors: boolean;
686
784
  /**
687
785
  * The maximum number of SKUs allowed for bundles, default is 10.
688
786
  * @example ```"10"```
@@ -698,6 +796,10 @@ interface Organization extends Resource {
698
796
  * @example ```"40"```
699
797
  */
700
798
  coupons_max_code_length: number;
799
+ /**
800
+ * Enables matching the gift card code by its exact value, instead of by its first charachters, default is false.
801
+ */
802
+ gift_cards_exact_code_matching: boolean;
701
803
  /**
702
804
  * The minimum length for gift card code, default is 8.
703
805
  * @example ```"8"```
@@ -732,6 +834,11 @@ interface Organization extends Resource {
732
834
  * Disables the interruption of the import in case its errors exceeds the 10% threshold, default is false.
733
835
  */
734
836
  imports_skip_errors: boolean;
837
+ /**
838
+ * The maximum number for stock locations cutoff, default is 10.
839
+ * @example ```"10"```
840
+ */
841
+ inventory_models_max_stock_locations_cutoff: number;
735
842
  /**
736
843
  * The maximum number of active concurrent promotions allowed for your organization, default is 10.
737
844
  * @example ```"10"```
@@ -1312,7 +1419,7 @@ declare class IdentityProviders extends ApiResource<IdentityProvider> {
1312
1419
  type(): IdentityProviderType;
1313
1420
  }
1314
1421
 
1315
- type ResourceTypeLock = 'api_credentials' | 'application_memberships' | 'identity_providers' | 'memberships' | 'organizations' | 'permissions' | 'roles' | 'users' | 'versions';
1422
+ type ResourceTypeLock = 'api_credentials' | 'application_memberships' | 'identity_providers' | 'memberships' | 'membership_profiles' | 'organizations' | 'permissions' | 'roles' | 'users' | 'versions';
1316
1423
  declare const resourceList: ResourceTypeLock[];
1317
1424
  declare const singletonList: ResourceTypeLock[];
1318
1425
  type RetrievableResourceType = ResourceTypeLock;
@@ -1323,15 +1430,15 @@ type ListableResourceType = Exclude<ResourceTypeLock, 'users'>;
1323
1430
  type ListableResource = Resource & {
1324
1431
  type: ListableResourceType;
1325
1432
  };
1326
- type CreatableResourceType = 'api_credentials' | 'application_memberships' | 'identity_providers' | 'memberships' | 'organizations' | 'permissions' | 'roles';
1433
+ type CreatableResourceType = 'api_credentials' | 'application_memberships' | 'identity_providers' | 'memberships' | 'membership_profiles' | 'organizations' | 'permissions' | 'roles';
1327
1434
  type CreatableResource = Resource & {
1328
1435
  type: CreatableResourceType;
1329
1436
  };
1330
- type UpdatableResourceType = 'api_credentials' | 'application_memberships' | 'identity_providers' | 'memberships' | 'organizations' | 'permissions' | 'roles';
1437
+ type UpdatableResourceType = 'api_credentials' | 'application_memberships' | 'identity_providers' | 'memberships' | 'membership_profiles' | 'organizations' | 'permissions' | 'roles';
1331
1438
  type UpdatableResource = Resource & {
1332
1439
  type: UpdatableResourceType;
1333
1440
  };
1334
- type DeletableResourceType = 'api_credentials' | 'application_memberships' | 'identity_providers' | 'memberships';
1441
+ type DeletableResourceType = 'api_credentials' | 'application_memberships' | 'identity_providers' | 'memberships' | 'membership_profiles';
1335
1442
  type DeletableResource = Resource & {
1336
1443
  type: DeletableResourceType;
1337
1444
  };
@@ -1347,6 +1454,7 @@ type ResourceFields = {
1347
1454
  application_memberships: ApplicationMembership;
1348
1455
  identity_providers: IdentityProvider;
1349
1456
  memberships: Membership;
1457
+ membership_profiles: MembershipProfile;
1350
1458
  organizations: Organization;
1351
1459
  permissions: Permission;
1352
1460
  roles: Role;
@@ -1358,6 +1466,7 @@ type ResourceSortFields = {
1358
1466
  application_memberships: ApplicationMembershipSort;
1359
1467
  identity_providers: IdentityProviderSort;
1360
1468
  memberships: MembershipSort;
1469
+ membership_profiles: MembershipProfileSort;
1361
1470
  organizations: OrganizationSort;
1362
1471
  permissions: PermissionSort;
1363
1472
  roles: RoleSort;
@@ -1400,12 +1509,13 @@ type CommerceLayerInitConfig = SdkConfig & ResourcesInitConfig;
1400
1509
  type CommerceLayerConfig = Partial<CommerceLayerInitConfig>;
1401
1510
  declare class CommerceLayerProvisioningClient {
1402
1511
  #private;
1403
- readonly openApiSchemaVersion = "1.0.11";
1512
+ readonly openApiSchemaVersion = "1.0.13";
1404
1513
  constructor(config: CommerceLayerInitConfig);
1405
1514
  get api_credentials(): ApiCredentials;
1406
1515
  get application_memberships(): ApplicationMemberships;
1407
1516
  get identity_providers(): IdentityProviders;
1408
1517
  get memberships(): Memberships;
1518
+ get membership_profiles(): MembershipProfiles;
1409
1519
  get organizations(): Organizations;
1410
1520
  get permissions(): Permissions;
1411
1521
  get roles(): Roles;
@@ -1440,4 +1550,4 @@ declare const CommerceLayerProvisioningStatic: {
1440
1550
  readonly schemaVersion: string;
1441
1551
  };
1442
1552
 
1443
- export { type ApiCredential, type ApiCredentialCreate, type ApiCredentialSort, type ApiCredentialUpdate, ApiCredentials, ApiError, ApiResource, ApiSingleton, type ApplicationMembership, type ApplicationMembershipCreate, type ApplicationMembershipSort, type ApplicationMembershipUpdate, ApplicationMemberships, type CommerceLayerConfig, type CommerceLayerInitConfig, CommerceLayerProvisioning, CommerceLayerProvisioningClient, CommerceLayerProvisioningStatic, type CreatableResource, type CreatableResourceType, type DeletableResource, type DeletableResourceType, type ErrorObj, ErrorType, type HeadersObj, type IdentityProvider, type IdentityProviderCreate, type IdentityProviderSort, type IdentityProviderUpdate, IdentityProviders, type ListMeta, ListResponse, type ListableResource, type ListableResourceType, type Membership, type MembershipCreate, type MembershipSort, type MembershipUpdate, Memberships, type Metadata, type Organization, type OrganizationCreate, type OrganizationSort, type OrganizationUpdate, Organizations, type Permission, type PermissionCreate, type PermissionSort, type PermissionUpdate, Permissions, type QueryArrayFields, type QueryArraySortable, type QueryFilter, type QueryInclude, type QueryPageNumber, type QueryPageSize, type QueryParams, type QueryParamsList, type QueryParamsRetrieve, type QueryRecordFields, type QueryRecordSortable, type RequestObj, type Resource, type ResourceCreate, type ResourceFields, type ResourceFilter, type ResourceId, type ResourceRel, type ResourceSort, type ResourceSortFields, type ResourceType, type ResourceTypeLock, type ResourceUpdate, type ResourcesConfig, type ResourcesInitConfig, type ResponseObj, type RetrievableResource, type RetrievableResourceType, type Role, type RoleCreate, type RoleSort, type RoleUpdate, Roles, SdkError, type SingletonUpdate, type UpdatableResource, type UpdatableResourceType, type User, type UserSort, type UserUpdate, Users, type Version, type VersionSort, type VersionableResource, type VersionableResourceType, Versions, apiResourceAdapter, CommerceLayerProvisioning as default, generateQueryStringParams, generateSearchString, isParamsList, resourceList, singletonList };
1553
+ export { type ApiCredential, type ApiCredentialCreate, type ApiCredentialSort, type ApiCredentialUpdate, ApiCredentials, ApiError, ApiResource, ApiSingleton, type ApplicationMembership, type ApplicationMembershipCreate, type ApplicationMembershipSort, type ApplicationMembershipUpdate, ApplicationMemberships, type CommerceLayerConfig, type CommerceLayerInitConfig, CommerceLayerProvisioning, CommerceLayerProvisioningClient, CommerceLayerProvisioningStatic, type CreatableResource, type CreatableResourceType, type DeletableResource, type DeletableResourceType, type ErrorObj, ErrorType, type HeadersObj, type IdentityProvider, type IdentityProviderCreate, type IdentityProviderSort, type IdentityProviderUpdate, IdentityProviders, type ListMeta, ListResponse, type ListableResource, type ListableResourceType, type Membership, type MembershipCreate, type MembershipProfile, type MembershipProfileCreate, type MembershipProfileSort, type MembershipProfileUpdate, MembershipProfiles, type MembershipSort, type MembershipUpdate, Memberships, type Metadata, type Organization, type OrganizationCreate, type OrganizationSort, type OrganizationUpdate, Organizations, type Permission, type PermissionCreate, type PermissionSort, type PermissionUpdate, Permissions, type QueryArrayFields, type QueryArraySortable, type QueryFilter, type QueryInclude, type QueryPageNumber, type QueryPageSize, type QueryParams, type QueryParamsList, type QueryParamsRetrieve, type QueryRecordFields, type QueryRecordSortable, type RequestObj, type Resource, type ResourceCreate, type ResourceFields, type ResourceFilter, type ResourceId, type ResourceRel, type ResourceSort, type ResourceSortFields, type ResourceType, type ResourceTypeLock, type ResourceUpdate, type ResourcesConfig, type ResourcesInitConfig, type ResponseObj, type RetrievableResource, type RetrievableResourceType, type Role, type RoleCreate, type RoleSort, type RoleUpdate, Roles, SdkError, type SingletonUpdate, type UpdatableResource, type UpdatableResourceType, type User, type UserSort, type UserUpdate, Users, type Version, type VersionSort, type VersionableResource, type VersionableResourceType, Versions, apiResourceAdapter, CommerceLayerProvisioning as default, generateQueryStringParams, generateSearchString, isParamsList, resourceList, singletonList };
package/lib/index.d.ts CHANGED
@@ -339,7 +339,7 @@ type RoleType = 'roles';
339
339
  type RoleRel$3 = ResourceRel & {
340
340
  type: RoleType;
341
341
  };
342
- type OrganizationRel$4 = ResourceRel & {
342
+ type OrganizationRel$5 = ResourceRel & {
343
343
  type: OrganizationType;
344
344
  };
345
345
  type RoleSort = Pick<Role, 'id'> & ResourceSort;
@@ -367,7 +367,7 @@ interface RoleCreate extends ResourceCreate {
367
367
  * @example ```"Custom role"```
368
368
  */
369
369
  name: string;
370
- organization: OrganizationRel$4;
370
+ organization: OrganizationRel$5;
371
371
  }
372
372
  interface RoleUpdate extends ResourceUpdate {
373
373
  /**
@@ -397,6 +397,69 @@ declare class Roles extends ApiResource<Role> {
397
397
  type(): RoleType;
398
398
  }
399
399
 
400
+ type MembershipProfileType = 'membership_profiles';
401
+ type MembershipProfileRel$2 = ResourceRel & {
402
+ type: MembershipProfileType;
403
+ };
404
+ type OrganizationRel$4 = ResourceRel & {
405
+ type: OrganizationType;
406
+ };
407
+ type ApplicationMembershipRel$2 = ResourceRel & {
408
+ type: ApplicationMembershipType;
409
+ };
410
+ type MembershipProfileSort = Pick<MembershipProfile, 'id' | 'name'> & ResourceSort;
411
+ interface MembershipProfile extends Resource {
412
+ readonly type: MembershipProfileType;
413
+ /**
414
+ * The membership profile name.
415
+ * @example ```"Marketing group"```
416
+ */
417
+ name: string;
418
+ /**
419
+ * Used to enable test mode on the accessible apps.
420
+ */
421
+ test_enabled: boolean;
422
+ organization?: Nullable<Organization>;
423
+ application_memberships?: Nullable<ApplicationMembership[]>;
424
+ }
425
+ interface MembershipProfileCreate extends ResourceCreate {
426
+ /**
427
+ * The membership profile name.
428
+ * @example ```"Marketing group"```
429
+ */
430
+ name: string;
431
+ /**
432
+ * Used to enable test mode on the accessible apps.
433
+ */
434
+ test_enabled: boolean;
435
+ organization: OrganizationRel$4;
436
+ application_memberships?: Nullable<ApplicationMembershipRel$2[]>;
437
+ }
438
+ interface MembershipProfileUpdate extends ResourceUpdate {
439
+ /**
440
+ * The membership profile name.
441
+ * @example ```"Marketing group"```
442
+ */
443
+ name?: Nullable<string>;
444
+ /**
445
+ * Used to enable test mode on the accessible apps.
446
+ */
447
+ test_enabled?: Nullable<boolean>;
448
+ application_memberships?: Nullable<ApplicationMembershipRel$2[]>;
449
+ }
450
+ declare class MembershipProfiles extends ApiResource<MembershipProfile> {
451
+ static readonly TYPE: MembershipProfileType;
452
+ create(resource: MembershipProfileCreate, params?: QueryParamsRetrieve<MembershipProfile>, options?: ResourcesConfig): Promise<MembershipProfile>;
453
+ update(resource: MembershipProfileUpdate, params?: QueryParamsRetrieve<MembershipProfile>, options?: ResourcesConfig): Promise<MembershipProfile>;
454
+ delete(id: string | ResourceId, options?: ResourcesConfig): Promise<void>;
455
+ organization(membershipProfileId: string | MembershipProfile, params?: QueryParamsRetrieve<Organization>, options?: ResourcesConfig): Promise<Organization>;
456
+ application_memberships(membershipProfileId: string | MembershipProfile, params?: QueryParamsList<ApplicationMembership>, options?: ResourcesConfig): Promise<ListResponse<ApplicationMembership>>;
457
+ isMembershipProfile(resource: any): resource is MembershipProfile;
458
+ relationship(id: string | ResourceId | null): MembershipProfileRel$2;
459
+ relationshipToMany(...ids: string[]): MembershipProfileRel$2[];
460
+ type(): MembershipProfileType;
461
+ }
462
+
400
463
  type ApplicationMembershipType = 'application_memberships';
401
464
  type ApplicationMembershipRel$1 = ResourceRel & {
402
465
  type: ApplicationMembershipType;
@@ -407,6 +470,9 @@ type ApiCredentialRel$1 = ResourceRel & {
407
470
  type MembershipRel$1 = ResourceRel & {
408
471
  type: MembershipType;
409
472
  };
473
+ type MembershipProfileRel$1 = ResourceRel & {
474
+ type: MembershipProfileType;
475
+ };
410
476
  type OrganizationRel$3 = ResourceRel & {
411
477
  type: OrganizationType;
412
478
  };
@@ -423,6 +489,7 @@ interface ApplicationMembership extends Resource {
423
489
  filters?: Nullable<Record<string, any>>;
424
490
  api_credential?: Nullable<ApiCredential>;
425
491
  membership?: Nullable<Membership>;
492
+ membership_profile?: Nullable<MembershipProfile>;
426
493
  organization?: Nullable<Organization>;
427
494
  role?: Nullable<Role>;
428
495
  }
@@ -433,7 +500,8 @@ interface ApplicationMembershipCreate extends ResourceCreate {
433
500
  */
434
501
  filters?: Nullable<Record<string, any>>;
435
502
  api_credential: ApiCredentialRel$1;
436
- membership: MembershipRel$1;
503
+ membership?: Nullable<MembershipRel$1>;
504
+ membership_profile?: Nullable<MembershipProfileRel$1>;
437
505
  organization: OrganizationRel$3;
438
506
  role: RoleRel$2;
439
507
  }
@@ -443,6 +511,7 @@ interface ApplicationMembershipUpdate extends ResourceUpdate {
443
511
  * @example ```{"market_id_in":[202,203]}```
444
512
  */
445
513
  filters?: Nullable<Record<string, any>>;
514
+ membership_profile?: Nullable<MembershipProfileRel$1>;
446
515
  role?: Nullable<RoleRel$2>;
447
516
  }
448
517
  declare class ApplicationMemberships extends ApiResource<ApplicationMembership> {
@@ -452,6 +521,7 @@ declare class ApplicationMemberships extends ApiResource<ApplicationMembership>
452
521
  delete(id: string | ResourceId, options?: ResourcesConfig): Promise<void>;
453
522
  api_credential(applicationMembershipId: string | ApplicationMembership, params?: QueryParamsRetrieve<ApiCredential>, options?: ResourcesConfig): Promise<ApiCredential>;
454
523
  membership(applicationMembershipId: string | ApplicationMembership, params?: QueryParamsRetrieve<Membership>, options?: ResourcesConfig): Promise<Membership>;
524
+ membership_profile(applicationMembershipId: string | ApplicationMembership, params?: QueryParamsRetrieve<MembershipProfile>, options?: ResourcesConfig): Promise<MembershipProfile>;
455
525
  organization(applicationMembershipId: string | ApplicationMembership, params?: QueryParamsRetrieve<Organization>, options?: ResourcesConfig): Promise<Organization>;
456
526
  role(applicationMembershipId: string | ApplicationMembership, params?: QueryParamsRetrieve<Role>, options?: ResourcesConfig): Promise<Role>;
457
527
  isApplicationMembership(resource: any): resource is ApplicationMembership;
@@ -473,6 +543,9 @@ type RoleRel$1 = ResourceRel & {
473
543
  type ApplicationMembershipRel = ResourceRel & {
474
544
  type: ApplicationMembershipType;
475
545
  };
546
+ type MembershipProfileRel = ResourceRel & {
547
+ type: MembershipProfileType;
548
+ };
476
549
  type MembershipSort = Pick<Membership, 'id' | 'status'> & ResourceSort;
477
550
  interface Membership extends Resource {
478
551
  readonly type: MembershipType;
@@ -501,9 +574,14 @@ interface Membership extends Resource {
501
574
  * @example ```"true"```
502
575
  */
503
576
  owner: boolean;
577
+ /**
578
+ * Used to enable test mode on the accessible apps.
579
+ */
580
+ test_enabled?: Nullable<boolean>;
504
581
  organization?: Nullable<Organization>;
505
582
  role?: Nullable<Role>;
506
583
  application_memberships?: Nullable<ApplicationMembership[]>;
584
+ membership_profile?: Nullable<MembershipProfile>;
507
585
  versions?: Nullable<Version[]>;
508
586
  }
509
587
  interface MembershipCreate extends ResourceCreate {
@@ -512,13 +590,23 @@ interface MembershipCreate extends ResourceCreate {
512
590
  * @example ```"commercelayer@commercelayer.io"```
513
591
  */
514
592
  user_email: string;
593
+ /**
594
+ * Used to enable test mode on the accessible apps.
595
+ */
596
+ test_enabled?: Nullable<boolean>;
515
597
  organization: OrganizationRel$2;
516
598
  role: RoleRel$1;
517
599
  application_memberships?: Nullable<ApplicationMembershipRel[]>;
600
+ membership_profile?: Nullable<MembershipProfileRel>;
518
601
  }
519
602
  interface MembershipUpdate extends ResourceUpdate {
603
+ /**
604
+ * Used to enable test mode on the accessible apps.
605
+ */
606
+ test_enabled?: Nullable<boolean>;
520
607
  role?: Nullable<RoleRel$1>;
521
608
  application_memberships?: Nullable<ApplicationMembershipRel[]>;
609
+ membership_profile?: Nullable<MembershipProfileRel>;
522
610
  }
523
611
  declare class Memberships extends ApiResource<Membership> {
524
612
  static readonly TYPE: MembershipType;
@@ -529,6 +617,7 @@ declare class Memberships extends ApiResource<Membership> {
529
617
  organization(membershipId: string | Membership, params?: QueryParamsRetrieve<Organization>, options?: ResourcesConfig): Promise<Organization>;
530
618
  role(membershipId: string | Membership, params?: QueryParamsRetrieve<Role>, options?: ResourcesConfig): Promise<Role>;
531
619
  application_memberships(membershipId: string | Membership, params?: QueryParamsList<ApplicationMembership>, options?: ResourcesConfig): Promise<ListResponse<ApplicationMembership>>;
620
+ membership_profile(membershipId: string | Membership, params?: QueryParamsRetrieve<MembershipProfile>, options?: ResourcesConfig): Promise<MembershipProfile>;
532
621
  versions(membershipId: string | Membership, params?: QueryParamsList<Version>, options?: ResourcesConfig): Promise<ListResponse<Version>>;
533
622
  isMembership(resource: any): resource is Membership;
534
623
  relationship(id: string | ResourceId | null): MembershipRel;
@@ -655,6 +744,10 @@ interface Organization extends Resource {
655
744
  * @example ```"true"```
656
745
  */
657
746
  addresses_phone_required: boolean;
747
+ /**
748
+ * The minimum lapse in fraction of seconds to be observed between two consecutive order refreshes. If refresh is triggered within the minimum lapse, the update is performed, but no order refresh is done, until the lapse is observed.
749
+ */
750
+ orders_min_refresh_lapse: number;
658
751
  /**
659
752
  * The maximum number line items allowed for a test order before disabling the autorefresh option.
660
753
  * @example ```"50"```
@@ -683,6 +776,11 @@ interface Organization extends Resource {
683
776
  * @example ```"true"```
684
777
  */
685
778
  orders_invalid_coupon_errors: boolean;
779
+ /**
780
+ * Enables raising of API errors in case the provided gift card code is invalid, default is true.
781
+ * @example ```"true"```
782
+ */
783
+ orders_invalid_gift_card_errors: boolean;
686
784
  /**
687
785
  * The maximum number of SKUs allowed for bundles, default is 10.
688
786
  * @example ```"10"```
@@ -698,6 +796,10 @@ interface Organization extends Resource {
698
796
  * @example ```"40"```
699
797
  */
700
798
  coupons_max_code_length: number;
799
+ /**
800
+ * Enables matching the gift card code by its exact value, instead of by its first charachters, default is false.
801
+ */
802
+ gift_cards_exact_code_matching: boolean;
701
803
  /**
702
804
  * The minimum length for gift card code, default is 8.
703
805
  * @example ```"8"```
@@ -732,6 +834,11 @@ interface Organization extends Resource {
732
834
  * Disables the interruption of the import in case its errors exceeds the 10% threshold, default is false.
733
835
  */
734
836
  imports_skip_errors: boolean;
837
+ /**
838
+ * The maximum number for stock locations cutoff, default is 10.
839
+ * @example ```"10"```
840
+ */
841
+ inventory_models_max_stock_locations_cutoff: number;
735
842
  /**
736
843
  * The maximum number of active concurrent promotions allowed for your organization, default is 10.
737
844
  * @example ```"10"```
@@ -1312,7 +1419,7 @@ declare class IdentityProviders extends ApiResource<IdentityProvider> {
1312
1419
  type(): IdentityProviderType;
1313
1420
  }
1314
1421
 
1315
- type ResourceTypeLock = 'api_credentials' | 'application_memberships' | 'identity_providers' | 'memberships' | 'organizations' | 'permissions' | 'roles' | 'users' | 'versions';
1422
+ type ResourceTypeLock = 'api_credentials' | 'application_memberships' | 'identity_providers' | 'memberships' | 'membership_profiles' | 'organizations' | 'permissions' | 'roles' | 'users' | 'versions';
1316
1423
  declare const resourceList: ResourceTypeLock[];
1317
1424
  declare const singletonList: ResourceTypeLock[];
1318
1425
  type RetrievableResourceType = ResourceTypeLock;
@@ -1323,15 +1430,15 @@ type ListableResourceType = Exclude<ResourceTypeLock, 'users'>;
1323
1430
  type ListableResource = Resource & {
1324
1431
  type: ListableResourceType;
1325
1432
  };
1326
- type CreatableResourceType = 'api_credentials' | 'application_memberships' | 'identity_providers' | 'memberships' | 'organizations' | 'permissions' | 'roles';
1433
+ type CreatableResourceType = 'api_credentials' | 'application_memberships' | 'identity_providers' | 'memberships' | 'membership_profiles' | 'organizations' | 'permissions' | 'roles';
1327
1434
  type CreatableResource = Resource & {
1328
1435
  type: CreatableResourceType;
1329
1436
  };
1330
- type UpdatableResourceType = 'api_credentials' | 'application_memberships' | 'identity_providers' | 'memberships' | 'organizations' | 'permissions' | 'roles';
1437
+ type UpdatableResourceType = 'api_credentials' | 'application_memberships' | 'identity_providers' | 'memberships' | 'membership_profiles' | 'organizations' | 'permissions' | 'roles';
1331
1438
  type UpdatableResource = Resource & {
1332
1439
  type: UpdatableResourceType;
1333
1440
  };
1334
- type DeletableResourceType = 'api_credentials' | 'application_memberships' | 'identity_providers' | 'memberships';
1441
+ type DeletableResourceType = 'api_credentials' | 'application_memberships' | 'identity_providers' | 'memberships' | 'membership_profiles';
1335
1442
  type DeletableResource = Resource & {
1336
1443
  type: DeletableResourceType;
1337
1444
  };
@@ -1347,6 +1454,7 @@ type ResourceFields = {
1347
1454
  application_memberships: ApplicationMembership;
1348
1455
  identity_providers: IdentityProvider;
1349
1456
  memberships: Membership;
1457
+ membership_profiles: MembershipProfile;
1350
1458
  organizations: Organization;
1351
1459
  permissions: Permission;
1352
1460
  roles: Role;
@@ -1358,6 +1466,7 @@ type ResourceSortFields = {
1358
1466
  application_memberships: ApplicationMembershipSort;
1359
1467
  identity_providers: IdentityProviderSort;
1360
1468
  memberships: MembershipSort;
1469
+ membership_profiles: MembershipProfileSort;
1361
1470
  organizations: OrganizationSort;
1362
1471
  permissions: PermissionSort;
1363
1472
  roles: RoleSort;
@@ -1400,12 +1509,13 @@ type CommerceLayerInitConfig = SdkConfig & ResourcesInitConfig;
1400
1509
  type CommerceLayerConfig = Partial<CommerceLayerInitConfig>;
1401
1510
  declare class CommerceLayerProvisioningClient {
1402
1511
  #private;
1403
- readonly openApiSchemaVersion = "1.0.11";
1512
+ readonly openApiSchemaVersion = "1.0.13";
1404
1513
  constructor(config: CommerceLayerInitConfig);
1405
1514
  get api_credentials(): ApiCredentials;
1406
1515
  get application_memberships(): ApplicationMemberships;
1407
1516
  get identity_providers(): IdentityProviders;
1408
1517
  get memberships(): Memberships;
1518
+ get membership_profiles(): MembershipProfiles;
1409
1519
  get organizations(): Organizations;
1410
1520
  get permissions(): Permissions;
1411
1521
  get roles(): Roles;
@@ -1440,4 +1550,6 @@ declare const CommerceLayerProvisioningStatic: {
1440
1550
  readonly schemaVersion: string;
1441
1551
  };
1442
1552
 
1443
- export { type ApiCredential, type ApiCredentialCreate, type ApiCredentialSort, type ApiCredentialUpdate, ApiCredentials, ApiError, ApiResource, ApiSingleton, type ApplicationMembership, type ApplicationMembershipCreate, type ApplicationMembershipSort, type ApplicationMembershipUpdate, ApplicationMemberships, type CommerceLayerConfig, type CommerceLayerInitConfig, CommerceLayerProvisioning, CommerceLayerProvisioningClient, CommerceLayerProvisioningStatic, type CreatableResource, type CreatableResourceType, type DeletableResource, type DeletableResourceType, type ErrorObj, ErrorType, type HeadersObj, type IdentityProvider, type IdentityProviderCreate, type IdentityProviderSort, type IdentityProviderUpdate, IdentityProviders, type ListMeta, ListResponse, type ListableResource, type ListableResourceType, type Membership, type MembershipCreate, type MembershipSort, type MembershipUpdate, Memberships, type Metadata, type Organization, type OrganizationCreate, type OrganizationSort, type OrganizationUpdate, Organizations, type Permission, type PermissionCreate, type PermissionSort, type PermissionUpdate, Permissions, type QueryArrayFields, type QueryArraySortable, type QueryFilter, type QueryInclude, type QueryPageNumber, type QueryPageSize, type QueryParams, type QueryParamsList, type QueryParamsRetrieve, type QueryRecordFields, type QueryRecordSortable, type RequestObj, type Resource, type ResourceCreate, type ResourceFields, type ResourceFilter, type ResourceId, type ResourceRel, type ResourceSort, type ResourceSortFields, type ResourceType, type ResourceTypeLock, type ResourceUpdate, type ResourcesConfig, type ResourcesInitConfig, type ResponseObj, type RetrievableResource, type RetrievableResourceType, type Role, type RoleCreate, type RoleSort, type RoleUpdate, Roles, SdkError, type SingletonUpdate, type UpdatableResource, type UpdatableResourceType, type User, type UserSort, type UserUpdate, Users, type Version, type VersionSort, type VersionableResource, type VersionableResourceType, Versions, apiResourceAdapter, CommerceLayerProvisioning as default, generateQueryStringParams, generateSearchString, isParamsList, resourceList, singletonList };
1553
+ // @ts-ignore
1554
+ export = CommerceLayerProvisioning;
1555
+ export { type ApiCredential, type ApiCredentialCreate, type ApiCredentialSort, type ApiCredentialUpdate, ApiCredentials, ApiError, ApiResource, ApiSingleton, type ApplicationMembership, type ApplicationMembershipCreate, type ApplicationMembershipSort, type ApplicationMembershipUpdate, ApplicationMemberships, type CommerceLayerConfig, type CommerceLayerInitConfig, CommerceLayerProvisioning, CommerceLayerProvisioningClient, CommerceLayerProvisioningStatic, type CreatableResource, type CreatableResourceType, type DeletableResource, type DeletableResourceType, type ErrorObj, ErrorType, type HeadersObj, type IdentityProvider, type IdentityProviderCreate, type IdentityProviderSort, type IdentityProviderUpdate, IdentityProviders, type ListMeta, ListResponse, type ListableResource, type ListableResourceType, type Membership, type MembershipCreate, type MembershipProfile, type MembershipProfileCreate, type MembershipProfileSort, type MembershipProfileUpdate, MembershipProfiles, type MembershipSort, type MembershipUpdate, Memberships, type Metadata, type Organization, type OrganizationCreate, type OrganizationSort, type OrganizationUpdate, Organizations, type Permission, type PermissionCreate, type PermissionSort, type PermissionUpdate, Permissions, type QueryArrayFields, type QueryArraySortable, type QueryFilter, type QueryInclude, type QueryPageNumber, type QueryPageSize, type QueryParams, type QueryParamsList, type QueryParamsRetrieve, type QueryRecordFields, type QueryRecordSortable, type RequestObj, type Resource, type ResourceCreate, type ResourceFields, type ResourceFilter, type ResourceId, type ResourceRel, type ResourceSort, type ResourceSortFields, type ResourceType, type ResourceTypeLock, type ResourceUpdate, type ResourcesConfig, type ResourcesInitConfig, type ResponseObj, type RetrievableResource, type RetrievableResourceType, type Role, type RoleCreate, type RoleSort, type RoleUpdate, Roles, SdkError, type SingletonUpdate, type UpdatableResource, type UpdatableResourceType, type User, type UserSort, type UserUpdate, Users, type Version, type VersionSort, type VersionableResource, type VersionableResourceType, Versions, apiResourceAdapter, generateQueryStringParams, generateSearchString, isParamsList, resourceList, singletonList };
package/lib/index.js CHANGED
@@ -1 +1 @@
1
- "use strict";var he=Object.defineProperty;var cr=Object.getOwnPropertyDescriptor;var ur=Object.getOwnPropertyNames;var lr=Object.prototype.hasOwnProperty;var Ge=s=>{throw TypeError(s)};var mr=(s,e)=>{for(var r in e)he(s,r,{get:e[r],enumerable:!0})},yr=(s,e,r,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of ur(e))!lr.call(s,i)&&i!==r&&he(s,i,{get:()=>e[i],enumerable:!(t=cr(e,i))||t.enumerable});return s};var dr=s=>yr(he({},"__esModule",{value:!0}),s);var Ze=(s,e,r)=>e.has(s)||Ge("Cannot "+r);var n=(s,e,r)=>(Ze(s,e,"read from private field"),r?r.call(s):e.get(s)),u=(s,e,r)=>e.has(s)?Ge("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(s):e.set(s,r),c=(s,e,r,t)=>(Ze(s,e,"write to private field"),t?t.call(s,r):e.set(s,r),r);var Or={};mr(Or,{CommerceLayerProvisioning:()=>We,CommerceLayerProvisioningStatic:()=>P,default:()=>me});module.exports=dr(Or);var Rr=(s,...e)=>{},Xe=s=>Rr;try{let s=require("debug");s&&typeof s=="function"&&(Xe=s)}catch{}var gr="clsdk",hr=s=>Xe(`${gr}:${s}`),h=hr;var fe=h("fetch"),Y,D,H,ae=class ae extends Error{constructor(r,t,i){super(t);u(this,Y);u(this,D);u(this,H);c(this,D,r),c(this,H,t),i&&c(this,Y,i.errors)}get errors(){return n(this,Y)}get status(){return n(this,D)}get statusText(){return n(this,H)}};Y=new WeakMap,D=new WeakMap,H=new WeakMap,ae.isFetchError=r=>r instanceof ae;var V=ae,be=async(s,e,r)=>{fe("fetch: %s, %O, native[%s]",s,e||{},r?.fetch?"no":"yes");let t=r?.interceptors;t?.request?.onSuccess&&({url:s,options:e}=await t.request.onSuccess({url:s,options:e}));let o=await(r?.fetch||fetch)(s,e);o.ok?(t?.rawReader?.onSuccess&&await t.rawReader.onSuccess(o),t?.response?.onSuccess&&(o=await t.response.onSuccess(o))):t?.rawReader?.onFailure&&await t.rawReader.onFailure(o);let p=o.body&&o.status!==204?await o.text().then(a=>(fe("response: %O",a),a?.trim()?JSON.parse(a):a)).catch(a=>{if(fe("error: %s",a.message),o.ok)throw new m({message:"Error parsing API response body",type:"parse"})}):void 0;if(!o.ok){let a=new V(o.status,o.statusText,p);if(t?.response?.onFailure&&(a=await t.response.onFailure(a)),a)throw a}return p};var L=(a=>(a.CLIENT="client",a.REQUEST="request",a.RESPONSE="response",a.CANCEL="cancel",a.PARSE="parse",a.TIMEOUT="timeout",a.TOKEN_REFRESH="token-refresh",a))(L||{}),J=class J extends Error{static isSdkError(e){return e&&[J.NAME,O.NAME].includes(e.name)&&Object.values(L).includes(e.type)}constructor(e){super(e.message),this.name=J.NAME,this.type=e.type||"client"}};J.NAME="SdkError";var m=J,W=class W extends m{constructor(r){super({...r,type:"response"});this.errors=[];this.name=W.NAME}static isApiError(r){return m.isSdkError(r)&&r.name===W.NAME&&r.type==="response"}first(){return this.errors?.length>0?this.errors[0]:void 0}};W.NAME="ApiError";var O=W,fr=s=>s instanceof TypeError,br=s=>s instanceof DOMException&&s.name==="AbortError",Pr=s=>s instanceof DOMException&&s.name==="TimeoutError",er=s=>O.isApiError(s)&&s.status===401&&(["INVALID_TOKEN","UNAUTHORIZED"].includes(s.code||"")||s.errors&&s.errors.length>0&&["INVALID_TOKEN","UNAUTHORIZED"].includes(s.errors[0].code)),Pe=s=>{if(m.isSdkError(s)||O.isApiError(s))throw s;let e=new m({message:s.message});if(V.isFetchError(s)){let r=new O(e);r.type="response",r.status=s.status,r.statusText=s.statusText,r.code=String(r.status),r.errors=s.errors||[],!r.message&&r.statusText&&(r.message=r.statusText),e=r}else fr(s)?e.type="request":br(s)?e.type="cancel":Pr(s)?e.type="timeout":(e.type="client",e.source=s);throw e};var Cr={default:{domain:"commercelayer.io",pageNumber:1,pageSize:10},client:{timeout:15e3,requiredAttributes:["accessToken"]},jsonapi:{maxResourceIncluded:2}},f=Cr;var rr=s=>{try{return JSON.parse(atob(s.split(".")[1])).exp*1e3-Date.now()<0}catch{return!1}};var _=h("client"),Ce=s=>`https://provisioning.${s||f.default.domain}/api`,U,b,R,B,_e=class _e{constructor(e){u(this,U);u(this,b);u(this,R);u(this,B);_("new client instance %O",e),c(this,U,Ce(e.domain)),c(this,b,e.accessToken);let r={timeout:e.timeout||f.client.timeout,fetch:e.fetch,refreshToken:e.refreshToken},i={...this.customHeaders(e.headers),Accept:"application/vnd.api+json","Content-Type":"application/vnd.api+json",Authorization:"Bearer "+n(this,b)};e.userAgent&&(i["User-Agent"]=e.userAgent),r.headers=i,c(this,R,r),_("fetch config: %O",r),c(this,B,{})}static create(e){for(let r of f.client.requiredAttributes)if(!e||!e[r])throw new m({message:`Undefined '${r}' parameter`});return new _e(e)}get interceptors(){return n(this,B)}get requestHeaders(){return n(this,R).headers||(n(this,R).headers={}),n(this,R).headers}config(e){_("config %o",e);let r=n(this,R);return r.headers||(r.headers={}),e.timeout&&(r.timeout=e.timeout),e.userAgent&&this.userAgent(e.userAgent),e.fetch&&(n(this,R).fetch=e.fetch),e.refreshToken&&(n(this,R).refreshToken=e.refreshToken),e.domain&&c(this,U,Ce(e.domain)),e.accessToken&&(c(this,b,e.accessToken),r.headers.Authorization="Bearer "+n(this,b)),e.headers&&(r.headers={...r.headers,...this.customHeaders(e.headers)}),this}userAgent(e){return e&&(this.requestHeaders["User-Agent"]=e),this}async request(e,r,t,i){_("request %s %s, %O, %O",e,r,t||{},i||{}),i?.userAgent&&_("User-Agent header ignored in request config");let o=i?.domain?Ce(i.domain):n(this,U),p=new URL(`${o}/${r}`),a=t?JSON.stringify({data:t}):void 0,T={...this.requestHeaders,...this.customHeaders(i?.headers)},M=i?.accessToken||n(this,b);M&&(T.Authorization="Bearer "+M);let k={method:e,body:a,headers:T},Be=i?.timeout||n(this,R).timeout;Be&&(AbortSignal?.timeout?k.signal=AbortSignal.timeout(Be):_("Timeout not set. Undefined function: %s","AbortSignal.timeout")),i?.params&&Object.entries(i?.params).forEach(([w,$])=>{p.searchParams.append(w,String($))});let Ke={interceptors:this.interceptors,fetch:i?.fetch||n(this,R).fetch};try{return await be(p,k,Ke).catch(w=>Pe(w))}catch(w){if(er(w)&&n(this,R).refreshToken&&rr(n(this,b))){_("Access token has expired");let $=await n(this,R).refreshToken(n(this,b)).catch(ge=>{_("Refresh token error: %s",ge.message);let ne=new m({message:"Error refreshing access token",type:"token-refresh"});throw ne.source=ge,ne});if($)return _("Access token refreshed"),this.config({accessToken:$}),k.headers&&(k.headers.Authorization=`Bearer ${$}`),await be(p,k,Ke).catch(ne=>Pe(ne))}else throw w}}customHeaders(e){let r={};if(e)for(let[t,i]of Object.entries(e))["accept","content-type","authorization","user-agent"].includes(t.toLowerCase())||(r[t]=i);return r}get currentAccessToken(){return n(this,b)}};U=new WeakMap,b=new WeakMap,R=new WeakMap,B=new WeakMap;var Te=_e,tr=Te;var Q=s=>s?.type&&s.id&&j.includes(s.type),Ae=s=>s&&typeof s.type<"u"&&s.type&&j.includes(s.type);var pe=h("jsonapi"),I=s=>{let e;s.links&&delete s.links;let r=s.data,t=s.included;return r?Array.isArray(r)?e=r.map(i=>ce(i,t)):e=ce(r,t):e=r,e},sr=(s,e=[])=>e.find(t=>s.id===t.id&&s.type===t.type)||s,ce=(s,e,r=[])=>{if(pe("denormalize resource: %O, %o",s,e||{}),!s)return s;let t={id:s.id,type:s.type,...s.attributes};return s.relationships&&Object.keys(s.relationships).forEach(i=>{let o=s.relationships[i].data;o?r.filter(p=>p.id===o.id&&p.type===o.type).length>=f.jsonapi.maxResourceIncluded?t[i]=o:Array.isArray(o)?t[i]=o.map(p=>ce(sr(p,e),e,[...r,p])):t[i]=ce(sr(o,e),e,[...r,o]):o===null&&(t[i]=null)}),pe("denormalized resource: %O",t),t},ue=s=>{pe("normalize resource: %O",s);let e={},r={};for(let i in s){if(["type","id"].includes(i))continue;let o=s[i];Array.isArray(o)&&o.length===1&&Ae(o[0])&&o[0].id===null?r[i]={data:[]}:o&&Ae(o)&&o.id===null?r[i]={data:null}:o&&(Q(o)||Array.isArray(o)&&Q(o[0]))?r[i]={data:o}:e[i]=o}let t={type:s.type,attributes:e,relationships:r};return Q(s)&&(t.id=s.id),pe("normalized resource: %O",t),t};var ir=h("query"),or=["_any","_all","_in","_not_in_or_null"],Tr=s=>or.some(e=>s.endsWith(e)),nr=["_jcont"],_r=s=>nr.some(e=>s.endsWith(e)),Oe=s=>s&&(s.filters||s.pageNumber||s.pageSize||s.sort),q=(s,e)=>{ir("generate query string params: %O, %O",s,e);let r={};return s&&(s.include&&(r.include=s.include.join(",")),s.fields&&(Array.isArray(s.fields)&&(s.fields={[e.type||e]:s.fields}),Object.entries(s.fields).forEach(([t,i])=>{r[`fields[${t}]`]=i.join(",")})),Oe(s)&&(s.sort&&(Array.isArray(s.sort)?r.sort=s.sort.join(","):r.sort=Object.entries(s.sort).map(([t,i])=>`${i==="desc"?"-":""}${t}`).join(",")),s.pageNumber&&(r["page[number]"]=String(s.pageNumber)),s.pageSize&&(r["page[size]"]=String(s.pageSize)),s.filters&&Object.entries(s.filters).forEach(([t,i])=>{let o;if(Array.isArray(i)){if(!Tr(t))throw new m({message:`Incorrect filter [${t}]: Array value is supported only for the following filters: ${or.join(", ")}`,type:"request"});o=i.join(",")}else if(typeof i=="object"){if(!_r(t))throw new m({message:`Incorrect filter [${t}]: Object value is supported only for the following filters: ${nr.join(", ")}`,type:"request"});o=JSON.stringify(i)}else o=String(i);r[`filter[q][${t}]`]=o})),ir("query string params: %O",r)),r};var P={resources:s=>s?[...j].sort():j,singletons:s=>s?[...le].sort():le,isSingleton:s=>le.includes(s),isSdkError:s=>m.isSdkError(s),isApiError:s=>O.isApiError(s),init:s=>me(s),get schemaVersion(){return xe}};var A=h("resource"),ye=class extends Array{constructor(e,r){super(...r||[]),this.meta=e}first(){return this.length?this[0]:void 0}last(){return this.length?this[this.length-1]:void 0}get(e){return this.length&&e>=0?this[e]:void 0}hasNextPage(){return this.meta.currentPage<this.meta.pageCount}hasPrevPage(){return this.meta.currentPage>1}getRecordCount(){return this.meta.recordCount}getPageCount(){return this.meta.pageCount}get recordCount(){return this.meta.recordCount}get pageCount(){return this.meta.pageCount}};var g,Ee,ve=class{constructor(e){u(this,g);u(this,Ee,{});c(this,g,tr.create(e)),this.localConfig(e)}localConfig(e){}config(e){return A("config %o",e),this.localConfig(e),n(this,g).config(e),this}get client(){return n(this,g)}async retrieve(e,r,t,i){let o=!("id"in e)||P.isSingleton(e.type);A("retrieve:%s %o, %O, %O",o?" singleton,":"",e,r||{},t||{});let p=q(r,e);t?.params&&Object.assign(p,t?.params);let a=`${i||e.type}${o?"":`/${e.id}`}`,T=await n(this,g).request("GET",a,void 0,{...t,params:p});return I(T)}async list(e,r,t){A("list: %o, %O, %O",e,r||{},t||{});let i=q(r,e);t?.params&&Object.assign(i,t?.params);let o=await n(this,g).request("GET",`${e.type}`,void 0,{...t,params:i}),p=I(o),a={pageCount:Number(o.meta?.page_count),recordCount:Number(o.meta?.record_count),currentPage:r?.pageNumber||f.default.pageNumber,recordsPerPage:r?.pageSize||f.default.pageSize};return new ye(a,p)}async create(e,r,t){A("create: %o, %O, %O",e,r||{},t||{});let i=q(r,e);t?.params&&Object.assign(i,t?.params);let o=ue(e),p=await n(this,g).request("POST",e.type,o,{...t,params:i});return I(p)}async update(e,r,t,i){let o=!("id"in e)||P.isSingleton(e.type);A("update:%s %o, %O, %O",o?" singleton,":"",e,r||{},t||{});let p=q(r,e);t?.params&&Object.assign(p,t?.params);let a=`${i||e.type}${o?"":`/${e.id}`}`,T=ue(e),M=await n(this,g).request("PATCH",a,T,{...t,params:p});return I(M)}async delete(e,r){A("delete: %o, %O",e,r||{}),await n(this,g).request("DELETE",`${e.type}/${e.id}`,void 0,r)}async fetch(e,r,t,i){A("fetch: %o, %O, %O",r,t||{},i||{});let o=q(t,e);i?.params&&Object.assign(o,i?.params);let p=await n(this,g).request("GET",r,void 0,{...i,params:o}),a=I(p);if(Array.isArray(a)){let T=t,M={pageCount:Number(p.meta?.page_count),recordCount:Number(p.meta?.record_count),currentPage:T?.pageNumber||f.default.pageNumber,recordsPerPage:T?.pageSize||f.default.pageSize};return new ye(M,a)}else return a}async action(e,r,t,i){A("action: %o %o, %O",e,r,i||{});let o={};i?.params&&Object.assign(o,i?.params);let p=t&&Q(t)?ue(t):t;await n(this,g).request(e,r,p,{...i,params:o})}};g=new WeakMap,Ee=new WeakMap;var de=class{constructor(e){A("new resource instance: %s",this.type()),this.resources=e}relationshipOneToOne(e){return e===null||typeof e=="string"?{id:e,type:this.type()}:{id:e.id,type:this.type()}}relationshipOneToMany(...e){return e===null||e.length===0||e[0]===null?[{id:null,type:this.type()}]:e.map(r=>({id:r,type:this.type()}))}path(){return this.type()}parse(e){try{let r=JSON.parse(e);if(r.data?.type!==this.type())throw new m({message:`Invalid resource type [${r.data?.type}]`,type:"parse"});return I(r)}catch(r){throw m.isSdkError(r)?r:new m({message:`Payload parse error [${r.message}]`,type:"parse"})}}async update(e,r,t){return this.resources.update({...e,type:this.type()},r,t,this.path())}},y=class extends de{async retrieve(e,r,t){return this.resources.retrieve(typeof e=="string"?{type:this.type(),id:e}:e,r,t)}async list(e,r){return this.resources.list({type:this.type()},e,r)}async count(e,r){let t={filters:Oe(e)?e.filters:e,pageNumber:1,pageSize:1},i=await this.list(t,r);return Promise.resolve(i.meta.recordCount)}},Re=class extends de{async retrieve(e,r){return this.resources.retrieve({type:this.type()},e,r,this.path())}},ar=ve;var x=class x extends y{async create(e,r,t){return this.resources.create({...e,type:x.TYPE},r,t)}async update(e,r,t){return this.resources.update({...e,type:x.TYPE},r,t)}async delete(e,r){await this.resources.delete(typeof e=="string"?{id:e,type:x.TYPE}:e,r)}async organization(e,r,t){let i=e.id||e;return this.resources.fetch({type:"organizations"},`api_credentials/${i}/organization`,r,t)}async role(e,r,t){let i=e.id||e;return this.resources.fetch({type:"roles"},`api_credentials/${i}/role`,r,t)}isApiCredential(e){return e.type&&e.type===x.TYPE}relationship(e){return super.relationshipOneToOne(e)}relationshipToMany(...e){return super.relationshipOneToMany(...e)}type(){return x.TYPE}};x.TYPE="api_credentials";var ze=x,Me=ze;var v=class v extends y{async create(e,r,t){return this.resources.create({...e,type:v.TYPE},r,t)}async update(e,r,t){return this.resources.update({...e,type:v.TYPE},r,t)}async delete(e,r){await this.resources.delete(typeof e=="string"?{id:e,type:v.TYPE}:e,r)}async api_credential(e,r,t){let i=e.id||e;return this.resources.fetch({type:"api_credentials"},`application_memberships/${i}/api_credential`,r,t)}async membership(e,r,t){let i=e.id||e;return this.resources.fetch({type:"memberships"},`application_memberships/${i}/membership`,r,t)}async organization(e,r,t){let i=e.id||e;return this.resources.fetch({type:"organizations"},`application_memberships/${i}/organization`,r,t)}async role(e,r,t){let i=e.id||e;return this.resources.fetch({type:"roles"},`application_memberships/${i}/role`,r,t)}isApplicationMembership(e){return e.type&&e.type===v.TYPE}relationship(e){return super.relationshipOneToOne(e)}relationshipToMany(...e){return super.relationshipOneToMany(...e)}type(){return v.TYPE}};v.TYPE="application_memberships";var Ie=v,Ne=Ie;var C=class C extends y{async create(e,r,t){return this.resources.create({...e,type:C.TYPE},r,t)}async update(e,r,t){return this.resources.update({...e,type:C.TYPE},r,t)}async delete(e,r){await this.resources.delete(typeof e=="string"?{id:e,type:C.TYPE}:e,r)}async user(e,r,t){let i=e.id||e;return this.resources.fetch({type:"users"},`identity_providers/${i}/user`,r,t)}async _disable(e,r,t){return this.resources.update({id:typeof e=="string"?e:e.id,type:C.TYPE,_disable:!0},r,t)}async _enable(e,r,t){return this.resources.update({id:typeof e=="string"?e:e.id,type:C.TYPE,_enable:!0},r,t)}isIdentityProvider(e){return e.type&&e.type===C.TYPE}relationship(e){return super.relationshipOneToOne(e)}relationshipToMany(...e){return super.relationshipOneToMany(...e)}type(){return C.TYPE}};C.TYPE="identity_providers";var Se=C,ke=Se;var E=class E extends y{async create(e,r,t){return this.resources.create({...e,type:E.TYPE},r,t)}async update(e,r,t){return this.resources.update({...e,type:E.TYPE},r,t)}async delete(e,r){await this.resources.delete(typeof e=="string"?{id:e,type:E.TYPE}:e,r)}async resend(e,r){let t=e.id||e;await this.resources.action("POST",`memberships/${t}/resend`,{},r)}async organization(e,r,t){let i=e.id||e;return this.resources.fetch({type:"organizations"},`memberships/${i}/organization`,r,t)}async role(e,r,t){let i=e.id||e;return this.resources.fetch({type:"roles"},`memberships/${i}/role`,r,t)}async application_memberships(e,r,t){let i=e.id||e;return this.resources.fetch({type:"application_memberships"},`memberships/${i}/application_memberships`,r,t)}async versions(e,r,t){let i=e.id||e;return this.resources.fetch({type:"versions"},`memberships/${i}/versions`,r,t)}isMembership(e){return e.type&&e.type===E.TYPE}relationship(e){return super.relationshipOneToOne(e)}relationshipToMany(...e){return super.relationshipOneToMany(...e)}type(){return E.TYPE}};E.TYPE="memberships";var we=E,Le=we;var N=class N extends y{async create(e,r,t){return this.resources.create({...e,type:N.TYPE},r,t)}async update(e,r,t){return this.resources.update({...e,type:N.TYPE},r,t)}async transfer_ownership(e,r,t){let i=e.id||e;await this.resources.action("PATCH",`organizations/${i}/transfer_ownership`,{...r},t)}async memberships(e,r,t){let i=e.id||e;return this.resources.fetch({type:"memberships"},`organizations/${i}/memberships`,r,t)}async roles(e,r,t){let i=e.id||e;return this.resources.fetch({type:"roles"},`organizations/${i}/roles`,r,t)}async permissions(e,r,t){let i=e.id||e;return this.resources.fetch({type:"permissions"},`organizations/${i}/permissions`,r,t)}async api_credentials(e,r,t){let i=e.id||e;return this.resources.fetch({type:"api_credentials"},`organizations/${i}/api_credentials`,r,t)}isOrganization(e){return e.type&&e.type===N.TYPE}relationship(e){return super.relationshipOneToOne(e)}relationshipToMany(...e){return super.relationshipOneToMany(...e)}type(){return N.TYPE}};N.TYPE="organizations";var Ue=N,Qe=Ue;var S=class S extends y{async create(e,r,t){return this.resources.create({...e,type:S.TYPE},r,t)}async update(e,r,t){return this.resources.update({...e,type:S.TYPE},r,t)}async organization(e,r,t){let i=e.id||e;return this.resources.fetch({type:"organizations"},`permissions/${i}/organization`,r,t)}async role(e,r,t){let i=e.id||e;return this.resources.fetch({type:"roles"},`permissions/${i}/role`,r,t)}async versions(e,r,t){let i=e.id||e;return this.resources.fetch({type:"versions"},`permissions/${i}/versions`,r,t)}isPermission(e){return e.type&&e.type===S.TYPE}relationship(e){return super.relationshipOneToOne(e)}relationshipToMany(...e){return super.relationshipOneToMany(...e)}type(){return S.TYPE}};S.TYPE="permissions";var je=S,qe=je;var z=class z extends y{async create(e,r,t){return this.resources.create({...e,type:z.TYPE},r,t)}async update(e,r,t){return this.resources.update({...e,type:z.TYPE},r,t)}async organization(e,r,t){let i=e.id||e;return this.resources.fetch({type:"organizations"},`roles/${i}/organization`,r,t)}async permissions(e,r,t){let i=e.id||e;return this.resources.fetch({type:"permissions"},`roles/${i}/permissions`,r,t)}async memberships(e,r,t){let i=e.id||e;return this.resources.fetch({type:"memberships"},`roles/${i}/memberships`,r,t)}async api_credentials(e,r,t){let i=e.id||e;return this.resources.fetch({type:"api_credentials"},`roles/${i}/api_credentials`,r,t)}async versions(e,r,t){let i=e.id||e;return this.resources.fetch({type:"versions"},`roles/${i}/versions`,r,t)}async _add_missing_base_permissions(e,r,t){return this.resources.update({id:typeof e=="string"?e:e.id,type:z.TYPE,_add_missing_base_permissions:!0},r,t)}isRole(e){return e.type&&e.type===z.TYPE}relationship(e){return super.relationshipOneToOne(e)}relationshipToMany(...e){return super.relationshipOneToMany(...e)}type(){return z.TYPE}};z.TYPE="roles";var Fe=z,$e=Fe;var F=class F extends Re{async update(e,r,t){return this.resources.update({...e,type:F.TYPE},r,t,this.path())}isUser(e){return e.type&&e.type===F.TYPE}relationship(e){return super.relationshipOneToOne(e)}relationshipToMany(...e){return super.relationshipOneToMany(...e)}type(){return F.TYPE}path(){return"user"}};F.TYPE="users";var Ve=F,Ye=Ve;var K=class K extends y{isVersion(e){return e.type&&e.type===K.TYPE}relationship(e){return super.relationshipOneToOne(e)}relationshipToMany(...e){return super.relationshipOneToMany(...e)}type(){return K.TYPE}};K.TYPE="versions";var De=K,He=De;var j=["api_credentials","application_memberships","identity_providers","memberships","organizations","permissions","roles","users","versions"],le=["users"];var pr=h("commercelayer"),xe="1.0.11";var d,G,Z,X,ee,re,te,se,ie,oe,Je=class{constructor(e){this.openApiSchemaVersion=xe;u(this,d);u(this,G);u(this,Z);u(this,X);u(this,ee);u(this,re);u(this,te);u(this,se);u(this,ie);u(this,oe);pr("new commercelayer provisioning instance %O",e),c(this,d,new ar(e))}get api_credentials(){return n(this,G)||c(this,G,new Me(n(this,d)))}get application_memberships(){return n(this,Z)||c(this,Z,new Ne(n(this,d)))}get identity_providers(){return n(this,X)||c(this,X,new ke(n(this,d)))}get memberships(){return n(this,ee)||c(this,ee,new Le(n(this,d)))}get organizations(){return n(this,re)||c(this,re,new Qe(n(this,d)))}get permissions(){return n(this,te)||c(this,te,new qe(n(this,d)))}get roles(){return n(this,se)||c(this,se,new $e(n(this,d)))}get user(){return n(this,ie)||c(this,ie,new Ye(n(this,d)))}get versions(){return n(this,oe)||c(this,oe,new He(n(this,d)))}get currentAccessToken(){return n(this,d)?.client?.currentAccessToken}get interceptors(){return n(this,d).client.interceptors}localConfig(e){}config(e){return pr("config %o",e),this.localConfig(e),n(this,d).config(e),this}resources(){return P.resources()}singletons(){return P.singletons()}isSingleton(e){return P.isSingleton(e)}isApiError(e){return P.isApiError(e)}addRequestInterceptor(e,r){return this.interceptors.request={onSuccess:e,onFailure:r},1}addResponseInterceptor(e,r){return this.interceptors.response={onSuccess:e,onFailure:r},1}removeInterceptor(e,r=1){this.interceptors[e]=void 0}removeInterceptors(){this.removeInterceptor("request"),this.removeInterceptor("response"),this.removeRawResponseReader()}addRawResponseReader(e){let r={id:0,rawResponse:void 0,headers:void 0,ok:!0};async function t(i){if(r.rawResponse=await i?.clone().json().catch(()=>{}),r.ok=i.ok,e?.headers){let o={};i.headers.forEach((p,a)=>{o[a]=p}),r.headers=o}return i}return this.interceptors.rawReader={onSuccess:t,onFailure:t},r.id=1,r}removeRawResponseReader(){this.interceptors.rawReader=void 0}};d=new WeakMap,G=new WeakMap,Z=new WeakMap,X=new WeakMap,ee=new WeakMap,re=new WeakMap,te=new WeakMap,se=new WeakMap,ie=new WeakMap,oe=new WeakMap;var We=s=>new Je(s),me=We;0&&(module.exports={CommerceLayerProvisioning,CommerceLayerProvisioningStatic});
1
+ "use strict";var fe=Object.defineProperty;var yr=Object.getOwnPropertyDescriptor;var dr=Object.getOwnPropertyNames;var Rr=Object.prototype.hasOwnProperty;var rr=t=>{throw TypeError(t)};var gr=(t,e)=>{for(var r in e)fe(t,r,{get:e[r],enumerable:!0})},hr=(t,e,r,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of dr(e))!Rr.call(t,i)&&i!==r&&fe(t,i,{get:()=>e[i],enumerable:!(s=yr(e,i))||s.enumerable});return t};var br=t=>hr(fe({},"__esModule",{value:!0}),t);var sr=(t,e,r)=>e.has(t)||rr("Cannot "+r);var n=(t,e,r)=>(sr(t,e,"read from private field"),r?r.call(t):e.get(t)),c=(t,e,r)=>e.has(t)?rr("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,r),l=(t,e,r,s)=>(sr(t,e,"write to private field"),s?s.call(t,r):e.set(t,r),r);var zr={};gr(zr,{CommerceLayerProvisioning:()=>Ze,CommerceLayerProvisioningStatic:()=>P,default:()=>de});module.exports=br(zr);var fr=(t,...e)=>{},tr=t=>fr;try{let t=require("debug");t&&typeof t=="function"&&(tr=t)}catch{}var Pr="clsdk",_r=t=>tr(`${Pr}:${t}`),h=_r;var Pe=h("fetch"),D,H,J,le=class le extends Error{constructor(r,s,i){super(s);c(this,D);c(this,H);c(this,J);l(this,H,r),l(this,J,s),i&&l(this,D,i.errors)}get errors(){return n(this,D)}get status(){return n(this,H)}get statusText(){return n(this,J)}};D=new WeakMap,H=new WeakMap,J=new WeakMap,le.isFetchError=r=>r instanceof le;var V=le,_e=async(t,e,r)=>{Pe("fetch: %s, %O, native[%s]",t,e||{},r?.fetch?"no":"yes");let s=r?.interceptors;s?.request?.onSuccess&&({url:t,options:e}=await s.request.onSuccess({url:t,options:e}));let o=await(r?.fetch||fetch)(t,e);o.ok?(s?.rawReader?.onSuccess&&await s.rawReader.onSuccess(o),s?.response?.onSuccess&&(o=await s.response.onSuccess(o))):s?.rawReader?.onFailure&&await s.rawReader.onFailure(o);let p=o.body&&o.status!==204?await o.text().then(a=>(Pe("response: %O",a),a?.trim()?JSON.parse(a):a)).catch(a=>{if(Pe("error: %s",a.message),o.ok)throw new m({message:"Error parsing API response body",type:"parse"})}):void 0;if(!o.ok){let a=new V(o.status,o.statusText,p);if(s?.response?.onFailure&&(a=await s.response.onFailure(a)),a)throw a}return p};var L=(a=>(a.CLIENT="client",a.REQUEST="request",a.RESPONSE="response",a.CANCEL="cancel",a.PARSE="parse",a.TIMEOUT="timeout",a.TOKEN_REFRESH="token-refresh",a))(L||{}),W=class W extends Error{static isSdkError(e){return e&&[W.NAME,M.NAME].includes(e.name)&&Object.values(L).includes(e.type)}constructor(e){super(e.message),this.name=W.NAME,this.type=e.type||"client"}};W.NAME="SdkError";var m=W,B=class B extends m{constructor(r){super({...r,type:"response"});this.errors=[];this.name=B.NAME}static isApiError(r){return m.isSdkError(r)&&r.name===B.NAME&&r.type==="response"}first(){return this.errors?.length>0?this.errors[0]:void 0}};B.NAME="ApiError";var M=B,Tr=t=>t instanceof TypeError,Cr=t=>t instanceof DOMException&&t.name==="AbortError",Ar=t=>t instanceof DOMException&&t.name==="TimeoutError",ir=t=>M.isApiError(t)&&t.status===401&&(["INVALID_TOKEN","UNAUTHORIZED"].includes(t.code||"")||t.errors&&t.errors.length>0&&["INVALID_TOKEN","UNAUTHORIZED"].includes(t.errors[0].code)),Te=t=>{if(m.isSdkError(t)||M.isApiError(t))throw t;let e=new m({message:t.message});if(V.isFetchError(t)){let r=new M(e);r.type="response",r.status=t.status,r.statusText=t.statusText,r.code=String(r.status),r.errors=t.errors||[],!r.message&&r.statusText&&(r.message=r.statusText),e=r}else Tr(t)?e.type="request":Cr(t)?e.type="cancel":Ar(t)?e.type="timeout":(e.type="client",e.source=t);throw e};var Mr={default:{domain:"commercelayer.io",pageNumber:1,pageSize:10},client:{timeout:15e3,requiredAttributes:["accessToken"]},jsonapi:{maxResourceIncluded:2}},b=Mr;var or=t=>{try{return JSON.parse(atob(t.split(".")[1])).exp*1e3-Date.now()<0}catch{return!1}};var C=h("client"),Ce=t=>`https://provisioning.${t||b.default.domain}/api`,Q,f,R,K,Me=class Me{constructor(e){c(this,Q);c(this,f);c(this,R);c(this,K);C("new client instance %O",e),l(this,Q,Ce(e.domain)),l(this,f,e.accessToken);let r={timeout:e.timeout||b.client.timeout,fetch:e.fetch,refreshToken:e.refreshToken},i={...this.customHeaders(e.headers),Accept:"application/vnd.api+json","Content-Type":"application/vnd.api+json",Authorization:"Bearer "+n(this,f)};e.userAgent&&(i["User-Agent"]=e.userAgent),r.headers=i,l(this,R,r),C("fetch config: %O",r),l(this,K,{})}static create(e){for(let r of b.client.requiredAttributes)if(!e||!e[r])throw new m({message:`Undefined '${r}' parameter`});return new Me(e)}get interceptors(){return n(this,K)}get requestHeaders(){return n(this,R).headers||(n(this,R).headers={}),n(this,R).headers}config(e){C("config %o",e);let r=n(this,R);return r.headers||(r.headers={}),e.timeout&&(r.timeout=e.timeout),e.userAgent&&this.userAgent(e.userAgent),e.fetch&&(n(this,R).fetch=e.fetch),e.refreshToken&&(n(this,R).refreshToken=e.refreshToken),e.domain&&l(this,Q,Ce(e.domain)),e.accessToken&&(l(this,f,e.accessToken),r.headers.Authorization="Bearer "+n(this,f)),e.headers&&(r.headers={...r.headers,...this.customHeaders(e.headers)}),this}userAgent(e){return e&&(this.requestHeaders["User-Agent"]=e),this}async request(e,r,s,i){C("request %s %s, %O, %O",e,r,s||{},i||{}),i?.userAgent&&C("User-Agent header ignored in request config");let o=i?.domain?Ce(i.domain):n(this,Q),p=new URL(`${o}/${r}`),a=s?JSON.stringify({data:s}):void 0,T={...this.requestHeaders,...this.customHeaders(i?.headers)},N=i?.accessToken||n(this,f);N&&(T.Authorization="Bearer "+N);let w={method:e,body:a,headers:T},Xe=i?.timeout||n(this,R).timeout;Xe&&(AbortSignal?.timeout?w.signal=AbortSignal.timeout(Xe):C("Timeout not set. Undefined function: %s","AbortSignal.timeout")),i?.params&&Object.entries(i?.params).forEach(([U,Y])=>{p.searchParams.append(U,String(Y))});let er={interceptors:this.interceptors,fetch:i?.fetch||n(this,R).fetch};try{return await _e(p,w,er).catch(U=>Te(U))}catch(U){if(ir(U)&&n(this,R).refreshToken&&or(n(this,f))){C("Access token has expired");let Y=await n(this,R).refreshToken(n(this,f)).catch(be=>{C("Refresh token error: %s",be.message);let pe=new m({message:"Error refreshing access token",type:"token-refresh"});throw pe.source=be,pe});if(Y)return C("Access token refreshed"),this.config({accessToken:Y}),w.headers&&(w.headers.Authorization=`Bearer ${Y}`),await _e(p,w,er).catch(pe=>Te(pe))}else throw U}}customHeaders(e){let r={};if(e)for(let[s,i]of Object.entries(e))["accept","content-type","authorization","user-agent"].includes(s.toLowerCase())||(r[s]=i);return r}get currentAccessToken(){return n(this,f)}};Q=new WeakMap,f=new WeakMap,R=new WeakMap,K=new WeakMap;var Ae=Me,nr=Ae;var j=t=>t?.type&&t.id&&q.includes(t.type),Oe=t=>t&&typeof t.type<"u"&&t.type&&q.includes(t.type);var ce=h("jsonapi"),I=t=>{let e;t.links&&delete t.links;let r=t.data,s=t.included;return r?Array.isArray(r)?e=r.map(i=>ue(i,s)):e=ue(r,s):e=r,e},ar=(t,e=[])=>e.find(s=>t.id===s.id&&t.type===s.type)||t,ue=(t,e,r=[])=>{if(ce("denormalize resource: %O, %o",t,e||{}),!t)return t;let s={id:t.id,type:t.type,...t.attributes};return t.relationships&&Object.keys(t.relationships).forEach(i=>{let o=t.relationships[i].data;o?r.filter(p=>p.id===o.id&&p.type===o.type).length>=b.jsonapi.maxResourceIncluded?s[i]=o:Array.isArray(o)?s[i]=o.map(p=>ue(ar(p,e),e,[...r,p])):s[i]=ue(ar(o,e),e,[...r,o]):o===null&&(s[i]=null)}),ce("denormalized resource: %O",s),s},me=t=>{ce("normalize resource: %O",t);let e={},r={};for(let i in t){if(["type","id"].includes(i))continue;let o=t[i];Array.isArray(o)&&o.length===1&&Oe(o[0])&&o[0].id===null?r[i]={data:[]}:o&&Oe(o)&&o.id===null?r[i]={data:null}:o&&(j(o)||Array.isArray(o)&&j(o[0]))?r[i]={data:o}:e[i]=o}let s={type:t.type,attributes:e,relationships:r};return j(t)&&(s.id=t.id),ce("normalized resource: %O",s),s};var pr=h("query"),lr=["_any","_all","_in","_not_in_or_null"],Or=t=>lr.some(e=>t.endsWith(e)),cr=["_jcont"],xr=t=>cr.some(e=>t.endsWith(e)),xe=t=>t&&(t.filters||t.pageNumber||t.pageSize||t.sort),$=(t,e)=>{pr("generate query string params: %O, %O",t,e);let r={};return t&&(t.include&&(r.include=t.include.join(",")),t.fields&&(Array.isArray(t.fields)&&(t.fields={[e.type||e]:t.fields}),Object.entries(t.fields).forEach(([s,i])=>{r[`fields[${s}]`]=i.join(",")})),xe(t)&&(t.sort&&(Array.isArray(t.sort)?r.sort=t.sort.join(","):r.sort=Object.entries(t.sort).map(([s,i])=>`${i==="desc"?"-":""}${s}`).join(",")),t.pageNumber&&(r["page[number]"]=String(t.pageNumber)),t.pageSize&&(r["page[size]"]=String(t.pageSize)),t.filters&&Object.entries(t.filters).forEach(([s,i])=>{let o;if(Array.isArray(i)){if(!Or(s))throw new m({message:`Incorrect filter [${s}]: Array value is supported only for the following filters: ${lr.join(", ")}`,type:"request"});o=i.join(",")}else if(typeof i=="object"){if(!xr(s))throw new m({message:`Incorrect filter [${s}]: Object value is supported only for the following filters: ${cr.join(", ")}`,type:"request"});o=JSON.stringify(i)}else o=String(i);r[`filter[q][${s}]`]=o})),pr("query string params: %O",r)),r};var P={resources:t=>t?[...q].sort():q,singletons:t=>t?[...ye].sort():ye,isSingleton:t=>ye.includes(t),isSdkError:t=>m.isSdkError(t),isApiError:t=>M.isApiError(t),init:t=>de(t),get schemaVersion(){return ve}};var A=h("resource"),Re=class extends Array{constructor(e,r){super(...r||[]),this.meta=e}first(){return this.length?this[0]:void 0}last(){return this.length?this[this.length-1]:void 0}get(e){return this.length&&e>=0?this[e]:void 0}hasNextPage(){return this.meta.currentPage<this.meta.pageCount}hasPrevPage(){return this.meta.currentPage>1}getRecordCount(){return this.meta.recordCount}getPageCount(){return this.meta.pageCount}get recordCount(){return this.meta.recordCount}get pageCount(){return this.meta.pageCount}};var g,Ee,ze=class{constructor(e){c(this,g);c(this,Ee,{});l(this,g,nr.create(e)),this.localConfig(e)}localConfig(e){}config(e){return A("config %o",e),this.localConfig(e),n(this,g).config(e),this}get client(){return n(this,g)}async retrieve(e,r,s,i){let o=!("id"in e)||P.isSingleton(e.type);A("retrieve:%s %o, %O, %O",o?" singleton,":"",e,r||{},s||{});let p=$(r,e);s?.params&&Object.assign(p,s?.params);let a=`${i||e.type}${o?"":`/${e.id}`}`,T=await n(this,g).request("GET",a,void 0,{...s,params:p});return I(T)}async list(e,r,s){A("list: %o, %O, %O",e,r||{},s||{});let i=$(r,e);s?.params&&Object.assign(i,s?.params);let o=await n(this,g).request("GET",`${e.type}`,void 0,{...s,params:i}),p=I(o),a={pageCount:Number(o.meta?.page_count),recordCount:Number(o.meta?.record_count),currentPage:r?.pageNumber||b.default.pageNumber,recordsPerPage:r?.pageSize||b.default.pageSize};return new Re(a,p)}async create(e,r,s){A("create: %o, %O, %O",e,r||{},s||{});let i=$(r,e);s?.params&&Object.assign(i,s?.params);let o=me(e),p=await n(this,g).request("POST",e.type,o,{...s,params:i});return I(p)}async update(e,r,s,i){let o=!("id"in e)||P.isSingleton(e.type);A("update:%s %o, %O, %O",o?" singleton,":"",e,r||{},s||{});let p=$(r,e);s?.params&&Object.assign(p,s?.params);let a=`${i||e.type}${o?"":`/${e.id}`}`,T=me(e),N=await n(this,g).request("PATCH",a,T,{...s,params:p});return I(N)}async delete(e,r){A("delete: %o, %O",e,r||{}),await n(this,g).request("DELETE",`${e.type}/${e.id}`,void 0,r)}async fetch(e,r,s,i){A("fetch: %o, %O, %O",r,s||{},i||{});let o=$(s,e);i?.params&&Object.assign(o,i?.params);let p=await n(this,g).request("GET",r,void 0,{...i,params:o}),a=I(p);if(Array.isArray(a)){let T=s,N={pageCount:Number(p.meta?.page_count),recordCount:Number(p.meta?.record_count),currentPage:T?.pageNumber||b.default.pageNumber,recordsPerPage:T?.pageSize||b.default.pageSize};return new Re(N,a)}else return a}async action(e,r,s,i){A("action: %o %o, %O",e,r,i||{});let o={};i?.params&&Object.assign(o,i?.params);let p=s&&j(s)?me(s):s;await n(this,g).request(e,r,p,{...i,params:o})}};g=new WeakMap,Ee=new WeakMap;var ge=class{constructor(e){A("new resource instance: %s",this.type()),this.resources=e}relationshipOneToOne(e){return e===null||typeof e=="string"?{id:e,type:this.type()}:{id:e.id,type:this.type()}}relationshipOneToMany(...e){return e===null||e.length===0||e[0]===null?[{id:null,type:this.type()}]:e.map(r=>({id:r,type:this.type()}))}path(){return this.type()}parse(e){try{let r=JSON.parse(e);if(r.data?.type!==this.type())throw new m({message:`Invalid resource type [${r.data?.type}]`,type:"parse"});return I(r)}catch(r){throw m.isSdkError(r)?r:new m({message:`Payload parse error [${r.message}]`,type:"parse"})}}async update(e,r,s){return this.resources.update({...e,type:this.type()},r,s,this.path())}},y=class extends ge{async retrieve(e,r,s){return this.resources.retrieve(typeof e=="string"?{type:this.type(),id:e}:e,r,s)}async list(e,r){return this.resources.list({type:this.type()},e,r)}async count(e,r){let s={filters:xe(e)?e.filters:e,pageNumber:1,pageSize:1},i=await this.list(s,r);return Promise.resolve(i.meta.recordCount)}},he=class extends ge{async retrieve(e,r){return this.resources.retrieve({type:this.type()},e,r,this.path())}},ur=ze;var O=class O extends y{async create(e,r,s){return this.resources.create({...e,type:O.TYPE},r,s)}async update(e,r,s){return this.resources.update({...e,type:O.TYPE},r,s)}async delete(e,r){await this.resources.delete(typeof e=="string"?{id:e,type:O.TYPE}:e,r)}async organization(e,r,s){let i=e.id||e;return this.resources.fetch({type:"organizations"},`api_credentials/${i}/organization`,r,s)}async role(e,r,s){let i=e.id||e;return this.resources.fetch({type:"roles"},`api_credentials/${i}/role`,r,s)}isApiCredential(e){return e.type&&e.type===O.TYPE}relationship(e){return super.relationshipOneToOne(e)}relationshipToMany(...e){return super.relationshipOneToMany(...e)}type(){return O.TYPE}};O.TYPE="api_credentials";var Ne=O,Ie=Ne;var x=class x extends y{async create(e,r,s){return this.resources.create({...e,type:x.TYPE},r,s)}async update(e,r,s){return this.resources.update({...e,type:x.TYPE},r,s)}async delete(e,r){await this.resources.delete(typeof e=="string"?{id:e,type:x.TYPE}:e,r)}async api_credential(e,r,s){let i=e.id||e;return this.resources.fetch({type:"api_credentials"},`application_memberships/${i}/api_credential`,r,s)}async membership(e,r,s){let i=e.id||e;return this.resources.fetch({type:"memberships"},`application_memberships/${i}/membership`,r,s)}async membership_profile(e,r,s){let i=e.id||e;return this.resources.fetch({type:"membership_profiles"},`application_memberships/${i}/membership_profile`,r,s)}async organization(e,r,s){let i=e.id||e;return this.resources.fetch({type:"organizations"},`application_memberships/${i}/organization`,r,s)}async role(e,r,s){let i=e.id||e;return this.resources.fetch({type:"roles"},`application_memberships/${i}/role`,r,s)}isApplicationMembership(e){return e.type&&e.type===x.TYPE}relationship(e){return super.relationshipOneToOne(e)}relationshipToMany(...e){return super.relationshipOneToMany(...e)}type(){return x.TYPE}};x.TYPE="application_memberships";var Se=x,ke=Se;var _=class _ extends y{async create(e,r,s){return this.resources.create({...e,type:_.TYPE},r,s)}async update(e,r,s){return this.resources.update({...e,type:_.TYPE},r,s)}async delete(e,r){await this.resources.delete(typeof e=="string"?{id:e,type:_.TYPE}:e,r)}async user(e,r,s){let i=e.id||e;return this.resources.fetch({type:"users"},`identity_providers/${i}/user`,r,s)}async _disable(e,r,s){return this.resources.update({id:typeof e=="string"?e:e.id,type:_.TYPE,_disable:!0},r,s)}async _enable(e,r,s){return this.resources.update({id:typeof e=="string"?e:e.id,type:_.TYPE,_enable:!0},r,s)}isIdentityProvider(e){return e.type&&e.type===_.TYPE}relationship(e){return super.relationshipOneToOne(e)}relationshipToMany(...e){return super.relationshipOneToMany(...e)}type(){return _.TYPE}};_.TYPE="identity_providers";var we=_,Ue=we;var v=class v extends y{async create(e,r,s){return this.resources.create({...e,type:v.TYPE},r,s)}async update(e,r,s){return this.resources.update({...e,type:v.TYPE},r,s)}async delete(e,r){await this.resources.delete(typeof e=="string"?{id:e,type:v.TYPE}:e,r)}async resend(e,r){let s=e.id||e;await this.resources.action("POST",`memberships/${s}/resend`,{},r)}async organization(e,r,s){let i=e.id||e;return this.resources.fetch({type:"organizations"},`memberships/${i}/organization`,r,s)}async role(e,r,s){let i=e.id||e;return this.resources.fetch({type:"roles"},`memberships/${i}/role`,r,s)}async application_memberships(e,r,s){let i=e.id||e;return this.resources.fetch({type:"application_memberships"},`memberships/${i}/application_memberships`,r,s)}async membership_profile(e,r,s){let i=e.id||e;return this.resources.fetch({type:"membership_profiles"},`memberships/${i}/membership_profile`,r,s)}async versions(e,r,s){let i=e.id||e;return this.resources.fetch({type:"versions"},`memberships/${i}/versions`,r,s)}isMembership(e){return e.type&&e.type===v.TYPE}relationship(e){return super.relationshipOneToOne(e)}relationshipToMany(...e){return super.relationshipOneToMany(...e)}type(){return v.TYPE}};v.TYPE="memberships";var Le=v,Qe=Le;var z=class z extends y{async create(e,r,s){return this.resources.create({...e,type:z.TYPE},r,s)}async update(e,r,s){return this.resources.update({...e,type:z.TYPE},r,s)}async delete(e,r){await this.resources.delete(typeof e=="string"?{id:e,type:z.TYPE}:e,r)}async organization(e,r,s){let i=e.id||e;return this.resources.fetch({type:"organizations"},`membership_profiles/${i}/organization`,r,s)}async application_memberships(e,r,s){let i=e.id||e;return this.resources.fetch({type:"application_memberships"},`membership_profiles/${i}/application_memberships`,r,s)}isMembershipProfile(e){return e.type&&e.type===z.TYPE}relationship(e){return super.relationshipOneToOne(e)}relationshipToMany(...e){return super.relationshipOneToMany(...e)}type(){return z.TYPE}};z.TYPE="membership_profiles";var je=z,qe=je;var S=class S extends y{async create(e,r,s){return this.resources.create({...e,type:S.TYPE},r,s)}async update(e,r,s){return this.resources.update({...e,type:S.TYPE},r,s)}async transfer_ownership(e,r,s){let i=e.id||e;await this.resources.action("PATCH",`organizations/${i}/transfer_ownership`,{...r},s)}async memberships(e,r,s){let i=e.id||e;return this.resources.fetch({type:"memberships"},`organizations/${i}/memberships`,r,s)}async roles(e,r,s){let i=e.id||e;return this.resources.fetch({type:"roles"},`organizations/${i}/roles`,r,s)}async permissions(e,r,s){let i=e.id||e;return this.resources.fetch({type:"permissions"},`organizations/${i}/permissions`,r,s)}async api_credentials(e,r,s){let i=e.id||e;return this.resources.fetch({type:"api_credentials"},`organizations/${i}/api_credentials`,r,s)}isOrganization(e){return e.type&&e.type===S.TYPE}relationship(e){return super.relationshipOneToOne(e)}relationshipToMany(...e){return super.relationshipOneToMany(...e)}type(){return S.TYPE}};S.TYPE="organizations";var $e=S,Fe=$e;var k=class k extends y{async create(e,r,s){return this.resources.create({...e,type:k.TYPE},r,s)}async update(e,r,s){return this.resources.update({...e,type:k.TYPE},r,s)}async organization(e,r,s){let i=e.id||e;return this.resources.fetch({type:"organizations"},`permissions/${i}/organization`,r,s)}async role(e,r,s){let i=e.id||e;return this.resources.fetch({type:"roles"},`permissions/${i}/role`,r,s)}async versions(e,r,s){let i=e.id||e;return this.resources.fetch({type:"versions"},`permissions/${i}/versions`,r,s)}isPermission(e){return e.type&&e.type===k.TYPE}relationship(e){return super.relationshipOneToOne(e)}relationshipToMany(...e){return super.relationshipOneToMany(...e)}type(){return k.TYPE}};k.TYPE="permissions";var Ye=k,Ve=Ye;var E=class E extends y{async create(e,r,s){return this.resources.create({...e,type:E.TYPE},r,s)}async update(e,r,s){return this.resources.update({...e,type:E.TYPE},r,s)}async organization(e,r,s){let i=e.id||e;return this.resources.fetch({type:"organizations"},`roles/${i}/organization`,r,s)}async permissions(e,r,s){let i=e.id||e;return this.resources.fetch({type:"permissions"},`roles/${i}/permissions`,r,s)}async memberships(e,r,s){let i=e.id||e;return this.resources.fetch({type:"memberships"},`roles/${i}/memberships`,r,s)}async api_credentials(e,r,s){let i=e.id||e;return this.resources.fetch({type:"api_credentials"},`roles/${i}/api_credentials`,r,s)}async versions(e,r,s){let i=e.id||e;return this.resources.fetch({type:"versions"},`roles/${i}/versions`,r,s)}async _add_missing_base_permissions(e,r,s){return this.resources.update({id:typeof e=="string"?e:e.id,type:E.TYPE,_add_missing_base_permissions:!0},r,s)}isRole(e){return e.type&&e.type===E.TYPE}relationship(e){return super.relationshipOneToOne(e)}relationshipToMany(...e){return super.relationshipOneToMany(...e)}type(){return E.TYPE}};E.TYPE="roles";var De=E,He=De;var F=class F extends he{async update(e,r,s){return this.resources.update({...e,type:F.TYPE},r,s,this.path())}isUser(e){return e.type&&e.type===F.TYPE}relationship(e){return super.relationshipOneToOne(e)}relationshipToMany(...e){return super.relationshipOneToMany(...e)}type(){return F.TYPE}path(){return"user"}};F.TYPE="users";var Je=F,We=Je;var G=class G extends y{isVersion(e){return e.type&&e.type===G.TYPE}relationship(e){return super.relationshipOneToOne(e)}relationshipToMany(...e){return super.relationshipOneToMany(...e)}type(){return G.TYPE}};G.TYPE="versions";var Be=G,Ke=Be;var q=["api_credentials","application_memberships","identity_providers","memberships","membership_profiles","organizations","permissions","roles","users","versions"],ye=["users"];var mr=h("commercelayer"),ve="1.0.13";var d,Z,X,ee,re,se,te,ie,oe,ne,ae,Ge=class{constructor(e){this.openApiSchemaVersion=ve;c(this,d);c(this,Z);c(this,X);c(this,ee);c(this,re);c(this,se);c(this,te);c(this,ie);c(this,oe);c(this,ne);c(this,ae);mr("new commercelayer provisioning instance %O",e),l(this,d,new ur(e))}get api_credentials(){return n(this,Z)||l(this,Z,new Ie(n(this,d)))}get application_memberships(){return n(this,X)||l(this,X,new ke(n(this,d)))}get identity_providers(){return n(this,ee)||l(this,ee,new Ue(n(this,d)))}get memberships(){return n(this,re)||l(this,re,new Qe(n(this,d)))}get membership_profiles(){return n(this,se)||l(this,se,new qe(n(this,d)))}get organizations(){return n(this,te)||l(this,te,new Fe(n(this,d)))}get permissions(){return n(this,ie)||l(this,ie,new Ve(n(this,d)))}get roles(){return n(this,oe)||l(this,oe,new He(n(this,d)))}get user(){return n(this,ne)||l(this,ne,new We(n(this,d)))}get versions(){return n(this,ae)||l(this,ae,new Ke(n(this,d)))}get currentAccessToken(){return n(this,d)?.client?.currentAccessToken}get interceptors(){return n(this,d).client.interceptors}localConfig(e){}config(e){return mr("config %o",e),this.localConfig(e),n(this,d).config(e),this}resources(){return P.resources()}singletons(){return P.singletons()}isSingleton(e){return P.isSingleton(e)}isApiError(e){return P.isApiError(e)}addRequestInterceptor(e,r){return this.interceptors.request={onSuccess:e,onFailure:r},1}addResponseInterceptor(e,r){return this.interceptors.response={onSuccess:e,onFailure:r},1}removeInterceptor(e,r=1){this.interceptors[e]=void 0}removeInterceptors(){this.removeInterceptor("request"),this.removeInterceptor("response"),this.removeRawResponseReader()}addRawResponseReader(e){let r={id:0,rawResponse:void 0,headers:void 0,ok:!0};async function s(i){if(r.rawResponse=await i?.clone().json().catch(()=>{}),r.ok=i.ok,e?.headers){let o={};i.headers.forEach((p,a)=>{o[a]=p}),r.headers=o}return i}return this.interceptors.rawReader={onSuccess:s,onFailure:s},r.id=1,r}removeRawResponseReader(){this.interceptors.rawReader=void 0}};d=new WeakMap,Z=new WeakMap,X=new WeakMap,ee=new WeakMap,re=new WeakMap,se=new WeakMap,te=new WeakMap,ie=new WeakMap,oe=new WeakMap,ne=new WeakMap,ae=new WeakMap;var Ze=t=>new Ge(t),de=Ze;0&&(module.exports={CommerceLayerProvisioning,CommerceLayerProvisioningStatic});
package/lib/index.mjs CHANGED
@@ -1 +1 @@
1
- var Ke=s=>{throw TypeError(s)};var cr=(s=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(s,{get:(e,r)=>(typeof require<"u"?require:e)[r]}):s)(function(s){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+s+'" is not supported')});var Ge=(s,e,r)=>e.has(s)||Ke("Cannot "+r);var n=(s,e,r)=>(Ge(s,e,"read from private field"),r?r.call(s):e.get(s)),u=(s,e,r)=>e.has(s)?Ke("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(s):e.set(s,r),c=(s,e,r,t)=>(Ge(s,e,"write to private field"),t?t.call(s,r):e.set(s,r),r);var ur=(s,...e)=>{},Ze=s=>ur;try{let s=cr("debug");s&&typeof s=="function"&&(Ze=s)}catch{}var lr="clsdk",mr=s=>Ze(`${lr}:${s}`),f=mr;var he=f("fetch"),D,H,J,pe=class pe extends Error{constructor(r,t,i){super(t);u(this,D);u(this,H);u(this,J);c(this,H,r),c(this,J,t),i&&c(this,D,i.errors)}get errors(){return n(this,D)}get status(){return n(this,H)}get statusText(){return n(this,J)}};D=new WeakMap,H=new WeakMap,J=new WeakMap,pe.isFetchError=r=>r instanceof pe;var Y=pe,fe=async(s,e,r)=>{he("fetch: %s, %O, native[%s]",s,e||{},r?.fetch?"no":"yes");let t=r?.interceptors;t?.request?.onSuccess&&({url:s,options:e}=await t.request.onSuccess({url:s,options:e}));let o=await(r?.fetch||fetch)(s,e);o.ok?(t?.rawReader?.onSuccess&&await t.rawReader.onSuccess(o),t?.response?.onSuccess&&(o=await t.response.onSuccess(o))):t?.rawReader?.onFailure&&await t.rawReader.onFailure(o);let p=o.body&&o.status!==204?await o.text().then(a=>(he("response: %O",a),a?.trim()?JSON.parse(a):a)).catch(a=>{if(he("error: %s",a.message),o.ok)throw new y({message:"Error parsing API response body",type:"parse"})}):void 0;if(!o.ok){let a=new Y(o.status,o.statusText,p);if(t?.response?.onFailure&&(a=await t.response.onFailure(a)),a)throw a}return p};var U=(a=>(a.CLIENT="client",a.REQUEST="request",a.RESPONSE="response",a.CANCEL="cancel",a.PARSE="parse",a.TIMEOUT="timeout",a.TOKEN_REFRESH="token-refresh",a))(U||{}),W=class W extends Error{static isSdkError(e){return e&&[W.NAME,x.NAME].includes(e.name)&&Object.values(U).includes(e.type)}constructor(e){super(e.message),this.name=W.NAME,this.type=e.type||"client"}};W.NAME="SdkError";var y=W,B=class B extends y{constructor(r){super({...r,type:"response"});this.errors=[];this.name=B.NAME}static isApiError(r){return y.isSdkError(r)&&r.name===B.NAME&&r.type==="response"}first(){return this.errors?.length>0?this.errors[0]:void 0}};B.NAME="ApiError";var x=B,yr=s=>s instanceof TypeError,dr=s=>s instanceof DOMException&&s.name==="AbortError",Rr=s=>s instanceof DOMException&&s.name==="TimeoutError",Xe=s=>x.isApiError(s)&&s.status===401&&(["INVALID_TOKEN","UNAUTHORIZED"].includes(s.code||"")||s.errors&&s.errors.length>0&&["INVALID_TOKEN","UNAUTHORIZED"].includes(s.errors[0].code)),be=s=>{if(y.isSdkError(s)||x.isApiError(s))throw s;let e=new y({message:s.message});if(Y.isFetchError(s)){let r=new x(e);r.type="response",r.status=s.status,r.statusText=s.statusText,r.code=String(r.status),r.errors=s.errors||[],!r.message&&r.statusText&&(r.message=r.statusText),e=r}else yr(s)?e.type="request":dr(s)?e.type="cancel":Rr(s)?e.type="timeout":(e.type="client",e.source=s);throw e};var gr={default:{domain:"commercelayer.io",pageNumber:1,pageSize:10},client:{timeout:15e3,requiredAttributes:["accessToken"]},jsonapi:{maxResourceIncluded:2}},b=gr;var er=s=>{try{return JSON.parse(atob(s.split(".")[1])).exp*1e3-Date.now()<0}catch{return!1}};var _=f("client"),Pe=s=>`https://provisioning.${s||b.default.domain}/api`,Q,P,g,K,Te=class Te{constructor(e){u(this,Q);u(this,P);u(this,g);u(this,K);_("new client instance %O",e),c(this,Q,Pe(e.domain)),c(this,P,e.accessToken);let r={timeout:e.timeout||b.client.timeout,fetch:e.fetch,refreshToken:e.refreshToken},i={...this.customHeaders(e.headers),Accept:"application/vnd.api+json","Content-Type":"application/vnd.api+json",Authorization:"Bearer "+n(this,P)};e.userAgent&&(i["User-Agent"]=e.userAgent),r.headers=i,c(this,g,r),_("fetch config: %O",r),c(this,K,{})}static create(e){for(let r of b.client.requiredAttributes)if(!e||!e[r])throw new y({message:`Undefined '${r}' parameter`});return new Te(e)}get interceptors(){return n(this,K)}get requestHeaders(){return n(this,g).headers||(n(this,g).headers={}),n(this,g).headers}config(e){_("config %o",e);let r=n(this,g);return r.headers||(r.headers={}),e.timeout&&(r.timeout=e.timeout),e.userAgent&&this.userAgent(e.userAgent),e.fetch&&(n(this,g).fetch=e.fetch),e.refreshToken&&(n(this,g).refreshToken=e.refreshToken),e.domain&&c(this,Q,Pe(e.domain)),e.accessToken&&(c(this,P,e.accessToken),r.headers.Authorization="Bearer "+n(this,P)),e.headers&&(r.headers={...r.headers,...this.customHeaders(e.headers)}),this}userAgent(e){return e&&(this.requestHeaders["User-Agent"]=e),this}async request(e,r,t,i){_("request %s %s, %O, %O",e,r,t||{},i||{}),i?.userAgent&&_("User-Agent header ignored in request config");let o=i?.domain?Pe(i.domain):n(this,Q),p=new URL(`${o}/${r}`),a=t?JSON.stringify({data:t}):void 0,T={...this.requestHeaders,...this.customHeaders(i?.headers)},I=i?.accessToken||n(this,P);I&&(T.Authorization="Bearer "+I);let w={method:e,body:a,headers:T},We=i?.timeout||n(this,g).timeout;We&&(AbortSignal?.timeout?w.signal=AbortSignal.timeout(We):_("Timeout not set. Undefined function: %s","AbortSignal.timeout")),i?.params&&Object.entries(i?.params).forEach(([L,V])=>{p.searchParams.append(L,String(V))});let Be={interceptors:this.interceptors,fetch:i?.fetch||n(this,g).fetch};try{return await fe(p,w,Be).catch(L=>be(L))}catch(L){if(Xe(L)&&n(this,g).refreshToken&&er(n(this,P))){_("Access token has expired");let V=await n(this,g).refreshToken(n(this,P)).catch(ge=>{_("Refresh token error: %s",ge.message);let ae=new y({message:"Error refreshing access token",type:"token-refresh"});throw ae.source=ge,ae});if(V)return _("Access token refreshed"),this.config({accessToken:V}),w.headers&&(w.headers.Authorization=`Bearer ${V}`),await fe(p,w,Be).catch(ae=>be(ae))}else throw L}}customHeaders(e){let r={};if(e)for(let[t,i]of Object.entries(e))["accept","content-type","authorization","user-agent"].includes(t.toLowerCase())||(r[t]=i);return r}get currentAccessToken(){return n(this,P)}};Q=new WeakMap,P=new WeakMap,g=new WeakMap,K=new WeakMap;var Ce=Te,rr=Ce;var j=s=>s?.type&&s.id&&q.includes(s.type),_e=s=>s&&typeof s.type<"u"&&s.type&&q.includes(s.type);var ce=f("jsonapi"),N=s=>{let e;s.links&&delete s.links;let r=s.data,t=s.included;return r?Array.isArray(r)?e=r.map(i=>ue(i,t)):e=ue(r,t):e=r,e},tr=(s,e=[])=>e.find(t=>s.id===t.id&&s.type===t.type)||s,ue=(s,e,r=[])=>{if(ce("denormalize resource: %O, %o",s,e||{}),!s)return s;let t={id:s.id,type:s.type,...s.attributes};return s.relationships&&Object.keys(s.relationships).forEach(i=>{let o=s.relationships[i].data;o?r.filter(p=>p.id===o.id&&p.type===o.type).length>=b.jsonapi.maxResourceIncluded?t[i]=o:Array.isArray(o)?t[i]=o.map(p=>ue(tr(p,e),e,[...r,p])):t[i]=ue(tr(o,e),e,[...r,o]):o===null&&(t[i]=null)}),ce("denormalized resource: %O",t),t},le=s=>{ce("normalize resource: %O",s);let e={},r={};for(let i in s){if(["type","id"].includes(i))continue;let o=s[i];Array.isArray(o)&&o.length===1&&_e(o[0])&&o[0].id===null?r[i]={data:[]}:o&&_e(o)&&o.id===null?r[i]={data:null}:o&&(j(o)||Array.isArray(o)&&j(o[0]))?r[i]={data:o}:e[i]=o}let t={type:s.type,attributes:e,relationships:r};return j(s)&&(t.id=s.id),ce("normalized resource: %O",t),t};var sr=f("query"),ir=["_any","_all","_in","_not_in_or_null"],hr=s=>ir.some(e=>s.endsWith(e)),or=["_jcont"],fr=s=>or.some(e=>s.endsWith(e)),Ae=s=>s&&(s.filters||s.pageNumber||s.pageSize||s.sort),F=(s,e)=>{sr("generate query string params: %O, %O",s,e);let r={};return s&&(s.include&&(r.include=s.include.join(",")),s.fields&&(Array.isArray(s.fields)&&(s.fields={[e.type||e]:s.fields}),Object.entries(s.fields).forEach(([t,i])=>{r[`fields[${t}]`]=i.join(",")})),Ae(s)&&(s.sort&&(Array.isArray(s.sort)?r.sort=s.sort.join(","):r.sort=Object.entries(s.sort).map(([t,i])=>`${i==="desc"?"-":""}${t}`).join(",")),s.pageNumber&&(r["page[number]"]=String(s.pageNumber)),s.pageSize&&(r["page[size]"]=String(s.pageSize)),s.filters&&Object.entries(s.filters).forEach(([t,i])=>{let o;if(Array.isArray(i)){if(!hr(t))throw new y({message:`Incorrect filter [${t}]: Array value is supported only for the following filters: ${ir.join(", ")}`,type:"request"});o=i.join(",")}else if(typeof i=="object"){if(!fr(t))throw new y({message:`Incorrect filter [${t}]: Object value is supported only for the following filters: ${or.join(", ")}`,type:"request"});o=JSON.stringify(i)}else o=String(i);r[`filter[q][${t}]`]=o})),sr("query string params: %O",r)),r};var A={resources:s=>s?[...q].sort():q,singletons:s=>s?[...me].sort():me,isSingleton:s=>me.includes(s),isSdkError:s=>y.isSdkError(s),isApiError:s=>x.isApiError(s),init:s=>xe(s),get schemaVersion(){return Oe}};var O=f("resource"),ye=class extends Array{constructor(e,r){super(...r||[]),this.meta=e}first(){return this.length?this[0]:void 0}last(){return this.length?this[this.length-1]:void 0}get(e){return this.length&&e>=0?this[e]:void 0}hasNextPage(){return this.meta.currentPage<this.meta.pageCount}hasPrevPage(){return this.meta.currentPage>1}getRecordCount(){return this.meta.recordCount}getPageCount(){return this.meta.pageCount}get recordCount(){return this.meta.recordCount}get pageCount(){return this.meta.pageCount}};var h,Ee,ve=class{constructor(e){u(this,h);u(this,Ee,{});c(this,h,rr.create(e)),this.localConfig(e)}localConfig(e){}config(e){return O("config %o",e),this.localConfig(e),n(this,h).config(e),this}get client(){return n(this,h)}async retrieve(e,r,t,i){let o=!("id"in e)||A.isSingleton(e.type);O("retrieve:%s %o, %O, %O",o?" singleton,":"",e,r||{},t||{});let p=F(r,e);t?.params&&Object.assign(p,t?.params);let a=`${i||e.type}${o?"":`/${e.id}`}`,T=await n(this,h).request("GET",a,void 0,{...t,params:p});return N(T)}async list(e,r,t){O("list: %o, %O, %O",e,r||{},t||{});let i=F(r,e);t?.params&&Object.assign(i,t?.params);let o=await n(this,h).request("GET",`${e.type}`,void 0,{...t,params:i}),p=N(o),a={pageCount:Number(o.meta?.page_count),recordCount:Number(o.meta?.record_count),currentPage:r?.pageNumber||b.default.pageNumber,recordsPerPage:r?.pageSize||b.default.pageSize};return new ye(a,p)}async create(e,r,t){O("create: %o, %O, %O",e,r||{},t||{});let i=F(r,e);t?.params&&Object.assign(i,t?.params);let o=le(e),p=await n(this,h).request("POST",e.type,o,{...t,params:i});return N(p)}async update(e,r,t,i){let o=!("id"in e)||A.isSingleton(e.type);O("update:%s %o, %O, %O",o?" singleton,":"",e,r||{},t||{});let p=F(r,e);t?.params&&Object.assign(p,t?.params);let a=`${i||e.type}${o?"":`/${e.id}`}`,T=le(e),I=await n(this,h).request("PATCH",a,T,{...t,params:p});return N(I)}async delete(e,r){O("delete: %o, %O",e,r||{}),await n(this,h).request("DELETE",`${e.type}/${e.id}`,void 0,r)}async fetch(e,r,t,i){O("fetch: %o, %O, %O",r,t||{},i||{});let o=F(t,e);i?.params&&Object.assign(o,i?.params);let p=await n(this,h).request("GET",r,void 0,{...i,params:o}),a=N(p);if(Array.isArray(a)){let T=t,I={pageCount:Number(p.meta?.page_count),recordCount:Number(p.meta?.record_count),currentPage:T?.pageNumber||b.default.pageNumber,recordsPerPage:T?.pageSize||b.default.pageSize};return new ye(I,a)}else return a}async action(e,r,t,i){O("action: %o %o, %O",e,r,i||{});let o={};i?.params&&Object.assign(o,i?.params);let p=t&&j(t)?le(t):t;await n(this,h).request(e,r,p,{...i,params:o})}};h=new WeakMap,Ee=new WeakMap;var de=class{constructor(e){O("new resource instance: %s",this.type()),this.resources=e}relationshipOneToOne(e){return e===null||typeof e=="string"?{id:e,type:this.type()}:{id:e.id,type:this.type()}}relationshipOneToMany(...e){return e===null||e.length===0||e[0]===null?[{id:null,type:this.type()}]:e.map(r=>({id:r,type:this.type()}))}path(){return this.type()}parse(e){try{let r=JSON.parse(e);if(r.data?.type!==this.type())throw new y({message:`Invalid resource type [${r.data?.type}]`,type:"parse"});return N(r)}catch(r){throw y.isSdkError(r)?r:new y({message:`Payload parse error [${r.message}]`,type:"parse"})}}async update(e,r,t){return this.resources.update({...e,type:this.type()},r,t,this.path())}},d=class extends de{async retrieve(e,r,t){return this.resources.retrieve(typeof e=="string"?{type:this.type(),id:e}:e,r,t)}async list(e,r){return this.resources.list({type:this.type()},e,r)}async count(e,r){let t={filters:Ae(e)?e.filters:e,pageNumber:1,pageSize:1},i=await this.list(t,r);return Promise.resolve(i.meta.recordCount)}},Re=class extends de{async retrieve(e,r){return this.resources.retrieve({type:this.type()},e,r,this.path())}},nr=ve;var v=class v extends d{async create(e,r,t){return this.resources.create({...e,type:v.TYPE},r,t)}async update(e,r,t){return this.resources.update({...e,type:v.TYPE},r,t)}async delete(e,r){await this.resources.delete(typeof e=="string"?{id:e,type:v.TYPE}:e,r)}async organization(e,r,t){let i=e.id||e;return this.resources.fetch({type:"organizations"},`api_credentials/${i}/organization`,r,t)}async role(e,r,t){let i=e.id||e;return this.resources.fetch({type:"roles"},`api_credentials/${i}/role`,r,t)}isApiCredential(e){return e.type&&e.type===v.TYPE}relationship(e){return super.relationshipOneToOne(e)}relationshipToMany(...e){return super.relationshipOneToMany(...e)}type(){return v.TYPE}};v.TYPE="api_credentials";var ze=v,Me=ze;var E=class E extends d{async create(e,r,t){return this.resources.create({...e,type:E.TYPE},r,t)}async update(e,r,t){return this.resources.update({...e,type:E.TYPE},r,t)}async delete(e,r){await this.resources.delete(typeof e=="string"?{id:e,type:E.TYPE}:e,r)}async api_credential(e,r,t){let i=e.id||e;return this.resources.fetch({type:"api_credentials"},`application_memberships/${i}/api_credential`,r,t)}async membership(e,r,t){let i=e.id||e;return this.resources.fetch({type:"memberships"},`application_memberships/${i}/membership`,r,t)}async organization(e,r,t){let i=e.id||e;return this.resources.fetch({type:"organizations"},`application_memberships/${i}/organization`,r,t)}async role(e,r,t){let i=e.id||e;return this.resources.fetch({type:"roles"},`application_memberships/${i}/role`,r,t)}isApplicationMembership(e){return e.type&&e.type===E.TYPE}relationship(e){return super.relationshipOneToOne(e)}relationshipToMany(...e){return super.relationshipOneToMany(...e)}type(){return E.TYPE}};E.TYPE="application_memberships";var Ie=E,Ne=Ie;var C=class C extends d{async create(e,r,t){return this.resources.create({...e,type:C.TYPE},r,t)}async update(e,r,t){return this.resources.update({...e,type:C.TYPE},r,t)}async delete(e,r){await this.resources.delete(typeof e=="string"?{id:e,type:C.TYPE}:e,r)}async user(e,r,t){let i=e.id||e;return this.resources.fetch({type:"users"},`identity_providers/${i}/user`,r,t)}async _disable(e,r,t){return this.resources.update({id:typeof e=="string"?e:e.id,type:C.TYPE,_disable:!0},r,t)}async _enable(e,r,t){return this.resources.update({id:typeof e=="string"?e:e.id,type:C.TYPE,_enable:!0},r,t)}isIdentityProvider(e){return e.type&&e.type===C.TYPE}relationship(e){return super.relationshipOneToOne(e)}relationshipToMany(...e){return super.relationshipOneToMany(...e)}type(){return C.TYPE}};C.TYPE="identity_providers";var Se=C,ke=Se;var z=class z extends d{async create(e,r,t){return this.resources.create({...e,type:z.TYPE},r,t)}async update(e,r,t){return this.resources.update({...e,type:z.TYPE},r,t)}async delete(e,r){await this.resources.delete(typeof e=="string"?{id:e,type:z.TYPE}:e,r)}async resend(e,r){let t=e.id||e;await this.resources.action("POST",`memberships/${t}/resend`,{},r)}async organization(e,r,t){let i=e.id||e;return this.resources.fetch({type:"organizations"},`memberships/${i}/organization`,r,t)}async role(e,r,t){let i=e.id||e;return this.resources.fetch({type:"roles"},`memberships/${i}/role`,r,t)}async application_memberships(e,r,t){let i=e.id||e;return this.resources.fetch({type:"application_memberships"},`memberships/${i}/application_memberships`,r,t)}async versions(e,r,t){let i=e.id||e;return this.resources.fetch({type:"versions"},`memberships/${i}/versions`,r,t)}isMembership(e){return e.type&&e.type===z.TYPE}relationship(e){return super.relationshipOneToOne(e)}relationshipToMany(...e){return super.relationshipOneToMany(...e)}type(){return z.TYPE}};z.TYPE="memberships";var we=z,Le=we;var S=class S extends d{async create(e,r,t){return this.resources.create({...e,type:S.TYPE},r,t)}async update(e,r,t){return this.resources.update({...e,type:S.TYPE},r,t)}async transfer_ownership(e,r,t){let i=e.id||e;await this.resources.action("PATCH",`organizations/${i}/transfer_ownership`,{...r},t)}async memberships(e,r,t){let i=e.id||e;return this.resources.fetch({type:"memberships"},`organizations/${i}/memberships`,r,t)}async roles(e,r,t){let i=e.id||e;return this.resources.fetch({type:"roles"},`organizations/${i}/roles`,r,t)}async permissions(e,r,t){let i=e.id||e;return this.resources.fetch({type:"permissions"},`organizations/${i}/permissions`,r,t)}async api_credentials(e,r,t){let i=e.id||e;return this.resources.fetch({type:"api_credentials"},`organizations/${i}/api_credentials`,r,t)}isOrganization(e){return e.type&&e.type===S.TYPE}relationship(e){return super.relationshipOneToOne(e)}relationshipToMany(...e){return super.relationshipOneToMany(...e)}type(){return S.TYPE}};S.TYPE="organizations";var Ue=S,Qe=Ue;var k=class k extends d{async create(e,r,t){return this.resources.create({...e,type:k.TYPE},r,t)}async update(e,r,t){return this.resources.update({...e,type:k.TYPE},r,t)}async organization(e,r,t){let i=e.id||e;return this.resources.fetch({type:"organizations"},`permissions/${i}/organization`,r,t)}async role(e,r,t){let i=e.id||e;return this.resources.fetch({type:"roles"},`permissions/${i}/role`,r,t)}async versions(e,r,t){let i=e.id||e;return this.resources.fetch({type:"versions"},`permissions/${i}/versions`,r,t)}isPermission(e){return e.type&&e.type===k.TYPE}relationship(e){return super.relationshipOneToOne(e)}relationshipToMany(...e){return super.relationshipOneToMany(...e)}type(){return k.TYPE}};k.TYPE="permissions";var je=k,qe=je;var M=class M extends d{async create(e,r,t){return this.resources.create({...e,type:M.TYPE},r,t)}async update(e,r,t){return this.resources.update({...e,type:M.TYPE},r,t)}async organization(e,r,t){let i=e.id||e;return this.resources.fetch({type:"organizations"},`roles/${i}/organization`,r,t)}async permissions(e,r,t){let i=e.id||e;return this.resources.fetch({type:"permissions"},`roles/${i}/permissions`,r,t)}async memberships(e,r,t){let i=e.id||e;return this.resources.fetch({type:"memberships"},`roles/${i}/memberships`,r,t)}async api_credentials(e,r,t){let i=e.id||e;return this.resources.fetch({type:"api_credentials"},`roles/${i}/api_credentials`,r,t)}async versions(e,r,t){let i=e.id||e;return this.resources.fetch({type:"versions"},`roles/${i}/versions`,r,t)}async _add_missing_base_permissions(e,r,t){return this.resources.update({id:typeof e=="string"?e:e.id,type:M.TYPE,_add_missing_base_permissions:!0},r,t)}isRole(e){return e.type&&e.type===M.TYPE}relationship(e){return super.relationshipOneToOne(e)}relationshipToMany(...e){return super.relationshipOneToMany(...e)}type(){return M.TYPE}};M.TYPE="roles";var Fe=M,$e=Fe;var $=class $ extends Re{async update(e,r,t){return this.resources.update({...e,type:$.TYPE},r,t,this.path())}isUser(e){return e.type&&e.type===$.TYPE}relationship(e){return super.relationshipOneToOne(e)}relationshipToMany(...e){return super.relationshipOneToMany(...e)}type(){return $.TYPE}path(){return"user"}};$.TYPE="users";var Ve=$,Ye=Ve;var G=class G extends d{isVersion(e){return e.type&&e.type===G.TYPE}relationship(e){return super.relationshipOneToOne(e)}relationshipToMany(...e){return super.relationshipOneToMany(...e)}type(){return G.TYPE}};G.TYPE="versions";var De=G,He=De;var q=["api_credentials","application_memberships","identity_providers","memberships","organizations","permissions","roles","users","versions"],me=["users"];var ar=f("commercelayer"),Oe="1.0.11";var R,Z,X,ee,re,te,se,ie,oe,ne,Je=class{constructor(e){this.openApiSchemaVersion=Oe;u(this,R);u(this,Z);u(this,X);u(this,ee);u(this,re);u(this,te);u(this,se);u(this,ie);u(this,oe);u(this,ne);ar("new commercelayer provisioning instance %O",e),c(this,R,new nr(e))}get api_credentials(){return n(this,Z)||c(this,Z,new Me(n(this,R)))}get application_memberships(){return n(this,X)||c(this,X,new Ne(n(this,R)))}get identity_providers(){return n(this,ee)||c(this,ee,new ke(n(this,R)))}get memberships(){return n(this,re)||c(this,re,new Le(n(this,R)))}get organizations(){return n(this,te)||c(this,te,new Qe(n(this,R)))}get permissions(){return n(this,se)||c(this,se,new qe(n(this,R)))}get roles(){return n(this,ie)||c(this,ie,new $e(n(this,R)))}get user(){return n(this,oe)||c(this,oe,new Ye(n(this,R)))}get versions(){return n(this,ne)||c(this,ne,new He(n(this,R)))}get currentAccessToken(){return n(this,R)?.client?.currentAccessToken}get interceptors(){return n(this,R).client.interceptors}localConfig(e){}config(e){return ar("config %o",e),this.localConfig(e),n(this,R).config(e),this}resources(){return A.resources()}singletons(){return A.singletons()}isSingleton(e){return A.isSingleton(e)}isApiError(e){return A.isApiError(e)}addRequestInterceptor(e,r){return this.interceptors.request={onSuccess:e,onFailure:r},1}addResponseInterceptor(e,r){return this.interceptors.response={onSuccess:e,onFailure:r},1}removeInterceptor(e,r=1){this.interceptors[e]=void 0}removeInterceptors(){this.removeInterceptor("request"),this.removeInterceptor("response"),this.removeRawResponseReader()}addRawResponseReader(e){let r={id:0,rawResponse:void 0,headers:void 0,ok:!0};async function t(i){if(r.rawResponse=await i?.clone().json().catch(()=>{}),r.ok=i.ok,e?.headers){let o={};i.headers.forEach((p,a)=>{o[a]=p}),r.headers=o}return i}return this.interceptors.rawReader={onSuccess:t,onFailure:t},r.id=1,r}removeRawResponseReader(){this.interceptors.rawReader=void 0}};R=new WeakMap,Z=new WeakMap,X=new WeakMap,ee=new WeakMap,re=new WeakMap,te=new WeakMap,se=new WeakMap,ie=new WeakMap,oe=new WeakMap,ne=new WeakMap;var pr=s=>new Je(s),xe=pr;export{pr as CommerceLayerProvisioning,A as CommerceLayerProvisioningStatic,xe as default};
1
+ var er=t=>{throw TypeError(t)};var yr=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,r)=>(typeof require<"u"?require:e)[r]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+t+'" is not supported')});var rr=(t,e,r)=>e.has(t)||er("Cannot "+r);var n=(t,e,r)=>(rr(t,e,"read from private field"),r?r.call(t):e.get(t)),c=(t,e,r)=>e.has(t)?er("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,r),l=(t,e,r,s)=>(rr(t,e,"write to private field"),s?s.call(t,r):e.set(t,r),r);var dr=(t,...e)=>{},sr=t=>dr;try{let t=yr("debug");t&&typeof t=="function"&&(sr=t)}catch{}var Rr="clsdk",gr=t=>sr(`${Rr}:${t}`),b=gr;var fe=b("fetch"),H,J,W,ce=class ce extends Error{constructor(r,s,i){super(s);c(this,H);c(this,J);c(this,W);l(this,J,r),l(this,W,s),i&&l(this,H,i.errors)}get errors(){return n(this,H)}get status(){return n(this,J)}get statusText(){return n(this,W)}};H=new WeakMap,J=new WeakMap,W=new WeakMap,ce.isFetchError=r=>r instanceof ce;var D=ce,Pe=async(t,e,r)=>{fe("fetch: %s, %O, native[%s]",t,e||{},r?.fetch?"no":"yes");let s=r?.interceptors;s?.request?.onSuccess&&({url:t,options:e}=await s.request.onSuccess({url:t,options:e}));let o=await(r?.fetch||fetch)(t,e);o.ok?(s?.rawReader?.onSuccess&&await s.rawReader.onSuccess(o),s?.response?.onSuccess&&(o=await s.response.onSuccess(o))):s?.rawReader?.onFailure&&await s.rawReader.onFailure(o);let p=o.body&&o.status!==204?await o.text().then(a=>(fe("response: %O",a),a?.trim()?JSON.parse(a):a)).catch(a=>{if(fe("error: %s",a.message),o.ok)throw new y({message:"Error parsing API response body",type:"parse"})}):void 0;if(!o.ok){let a=new D(o.status,o.statusText,p);if(s?.response?.onFailure&&(a=await s.response.onFailure(a)),a)throw a}return p};var Q=(a=>(a.CLIENT="client",a.REQUEST="request",a.RESPONSE="response",a.CANCEL="cancel",a.PARSE="parse",a.TIMEOUT="timeout",a.TOKEN_REFRESH="token-refresh",a))(Q||{}),B=class B extends Error{static isSdkError(e){return e&&[B.NAME,O.NAME].includes(e.name)&&Object.values(Q).includes(e.type)}constructor(e){super(e.message),this.name=B.NAME,this.type=e.type||"client"}};B.NAME="SdkError";var y=B,K=class K extends y{constructor(r){super({...r,type:"response"});this.errors=[];this.name=K.NAME}static isApiError(r){return y.isSdkError(r)&&r.name===K.NAME&&r.type==="response"}first(){return this.errors?.length>0?this.errors[0]:void 0}};K.NAME="ApiError";var O=K,hr=t=>t instanceof TypeError,br=t=>t instanceof DOMException&&t.name==="AbortError",fr=t=>t instanceof DOMException&&t.name==="TimeoutError",tr=t=>O.isApiError(t)&&t.status===401&&(["INVALID_TOKEN","UNAUTHORIZED"].includes(t.code||"")||t.errors&&t.errors.length>0&&["INVALID_TOKEN","UNAUTHORIZED"].includes(t.errors[0].code)),_e=t=>{if(y.isSdkError(t)||O.isApiError(t))throw t;let e=new y({message:t.message});if(D.isFetchError(t)){let r=new O(e);r.type="response",r.status=t.status,r.statusText=t.statusText,r.code=String(r.status),r.errors=t.errors||[],!r.message&&r.statusText&&(r.message=r.statusText),e=r}else hr(t)?e.type="request":br(t)?e.type="cancel":fr(t)?e.type="timeout":(e.type="client",e.source=t);throw e};var Pr={default:{domain:"commercelayer.io",pageNumber:1,pageSize:10},client:{timeout:15e3,requiredAttributes:["accessToken"]},jsonapi:{maxResourceIncluded:2}},f=Pr;var ir=t=>{try{return JSON.parse(atob(t.split(".")[1])).exp*1e3-Date.now()<0}catch{return!1}};var C=b("client"),Te=t=>`https://provisioning.${t||f.default.domain}/api`,j,P,g,G,Ae=class Ae{constructor(e){c(this,j);c(this,P);c(this,g);c(this,G);C("new client instance %O",e),l(this,j,Te(e.domain)),l(this,P,e.accessToken);let r={timeout:e.timeout||f.client.timeout,fetch:e.fetch,refreshToken:e.refreshToken},i={...this.customHeaders(e.headers),Accept:"application/vnd.api+json","Content-Type":"application/vnd.api+json",Authorization:"Bearer "+n(this,P)};e.userAgent&&(i["User-Agent"]=e.userAgent),r.headers=i,l(this,g,r),C("fetch config: %O",r),l(this,G,{})}static create(e){for(let r of f.client.requiredAttributes)if(!e||!e[r])throw new y({message:`Undefined '${r}' parameter`});return new Ae(e)}get interceptors(){return n(this,G)}get requestHeaders(){return n(this,g).headers||(n(this,g).headers={}),n(this,g).headers}config(e){C("config %o",e);let r=n(this,g);return r.headers||(r.headers={}),e.timeout&&(r.timeout=e.timeout),e.userAgent&&this.userAgent(e.userAgent),e.fetch&&(n(this,g).fetch=e.fetch),e.refreshToken&&(n(this,g).refreshToken=e.refreshToken),e.domain&&l(this,j,Te(e.domain)),e.accessToken&&(l(this,P,e.accessToken),r.headers.Authorization="Bearer "+n(this,P)),e.headers&&(r.headers={...r.headers,...this.customHeaders(e.headers)}),this}userAgent(e){return e&&(this.requestHeaders["User-Agent"]=e),this}async request(e,r,s,i){C("request %s %s, %O, %O",e,r,s||{},i||{}),i?.userAgent&&C("User-Agent header ignored in request config");let o=i?.domain?Te(i.domain):n(this,j),p=new URL(`${o}/${r}`),a=s?JSON.stringify({data:s}):void 0,T={...this.requestHeaders,...this.customHeaders(i?.headers)},I=i?.accessToken||n(this,P);I&&(T.Authorization="Bearer "+I);let U={method:e,body:a,headers:T},Ze=i?.timeout||n(this,g).timeout;Ze&&(AbortSignal?.timeout?U.signal=AbortSignal.timeout(Ze):C("Timeout not set. Undefined function: %s","AbortSignal.timeout")),i?.params&&Object.entries(i?.params).forEach(([L,V])=>{p.searchParams.append(L,String(V))});let Xe={interceptors:this.interceptors,fetch:i?.fetch||n(this,g).fetch};try{return await Pe(p,U,Xe).catch(L=>_e(L))}catch(L){if(tr(L)&&n(this,g).refreshToken&&ir(n(this,P))){C("Access token has expired");let V=await n(this,g).refreshToken(n(this,P)).catch(be=>{C("Refresh token error: %s",be.message);let le=new y({message:"Error refreshing access token",type:"token-refresh"});throw le.source=be,le});if(V)return C("Access token refreshed"),this.config({accessToken:V}),U.headers&&(U.headers.Authorization=`Bearer ${V}`),await Pe(p,U,Xe).catch(le=>_e(le))}else throw L}}customHeaders(e){let r={};if(e)for(let[s,i]of Object.entries(e))["accept","content-type","authorization","user-agent"].includes(s.toLowerCase())||(r[s]=i);return r}get currentAccessToken(){return n(this,P)}};j=new WeakMap,P=new WeakMap,g=new WeakMap,G=new WeakMap;var Ce=Ae,or=Ce;var q=t=>t?.type&&t.id&&$.includes(t.type),Me=t=>t&&typeof t.type<"u"&&t.type&&$.includes(t.type);var ue=b("jsonapi"),S=t=>{let e;t.links&&delete t.links;let r=t.data,s=t.included;return r?Array.isArray(r)?e=r.map(i=>me(i,s)):e=me(r,s):e=r,e},nr=(t,e=[])=>e.find(s=>t.id===s.id&&t.type===s.type)||t,me=(t,e,r=[])=>{if(ue("denormalize resource: %O, %o",t,e||{}),!t)return t;let s={id:t.id,type:t.type,...t.attributes};return t.relationships&&Object.keys(t.relationships).forEach(i=>{let o=t.relationships[i].data;o?r.filter(p=>p.id===o.id&&p.type===o.type).length>=f.jsonapi.maxResourceIncluded?s[i]=o:Array.isArray(o)?s[i]=o.map(p=>me(nr(p,e),e,[...r,p])):s[i]=me(nr(o,e),e,[...r,o]):o===null&&(s[i]=null)}),ue("denormalized resource: %O",s),s},ye=t=>{ue("normalize resource: %O",t);let e={},r={};for(let i in t){if(["type","id"].includes(i))continue;let o=t[i];Array.isArray(o)&&o.length===1&&Me(o[0])&&o[0].id===null?r[i]={data:[]}:o&&Me(o)&&o.id===null?r[i]={data:null}:o&&(q(o)||Array.isArray(o)&&q(o[0]))?r[i]={data:o}:e[i]=o}let s={type:t.type,attributes:e,relationships:r};return q(t)&&(s.id=t.id),ue("normalized resource: %O",s),s};var ar=b("query"),pr=["_any","_all","_in","_not_in_or_null"],_r=t=>pr.some(e=>t.endsWith(e)),lr=["_jcont"],Tr=t=>lr.some(e=>t.endsWith(e)),Oe=t=>t&&(t.filters||t.pageNumber||t.pageSize||t.sort),F=(t,e)=>{ar("generate query string params: %O, %O",t,e);let r={};return t&&(t.include&&(r.include=t.include.join(",")),t.fields&&(Array.isArray(t.fields)&&(t.fields={[e.type||e]:t.fields}),Object.entries(t.fields).forEach(([s,i])=>{r[`fields[${s}]`]=i.join(",")})),Oe(t)&&(t.sort&&(Array.isArray(t.sort)?r.sort=t.sort.join(","):r.sort=Object.entries(t.sort).map(([s,i])=>`${i==="desc"?"-":""}${s}`).join(",")),t.pageNumber&&(r["page[number]"]=String(t.pageNumber)),t.pageSize&&(r["page[size]"]=String(t.pageSize)),t.filters&&Object.entries(t.filters).forEach(([s,i])=>{let o;if(Array.isArray(i)){if(!_r(s))throw new y({message:`Incorrect filter [${s}]: Array value is supported only for the following filters: ${pr.join(", ")}`,type:"request"});o=i.join(",")}else if(typeof i=="object"){if(!Tr(s))throw new y({message:`Incorrect filter [${s}]: Object value is supported only for the following filters: ${lr.join(", ")}`,type:"request"});o=JSON.stringify(i)}else o=String(i);r[`filter[q][${s}]`]=o})),ar("query string params: %O",r)),r};var A={resources:t=>t?[...$].sort():$,singletons:t=>t?[...de].sort():de,isSingleton:t=>de.includes(t),isSdkError:t=>y.isSdkError(t),isApiError:t=>O.isApiError(t),init:t=>ve(t),get schemaVersion(){return xe}};var M=b("resource"),Re=class extends Array{constructor(e,r){super(...r||[]),this.meta=e}first(){return this.length?this[0]:void 0}last(){return this.length?this[this.length-1]:void 0}get(e){return this.length&&e>=0?this[e]:void 0}hasNextPage(){return this.meta.currentPage<this.meta.pageCount}hasPrevPage(){return this.meta.currentPage>1}getRecordCount(){return this.meta.recordCount}getPageCount(){return this.meta.pageCount}get recordCount(){return this.meta.recordCount}get pageCount(){return this.meta.pageCount}};var h,Ee,ze=class{constructor(e){c(this,h);c(this,Ee,{});l(this,h,or.create(e)),this.localConfig(e)}localConfig(e){}config(e){return M("config %o",e),this.localConfig(e),n(this,h).config(e),this}get client(){return n(this,h)}async retrieve(e,r,s,i){let o=!("id"in e)||A.isSingleton(e.type);M("retrieve:%s %o, %O, %O",o?" singleton,":"",e,r||{},s||{});let p=F(r,e);s?.params&&Object.assign(p,s?.params);let a=`${i||e.type}${o?"":`/${e.id}`}`,T=await n(this,h).request("GET",a,void 0,{...s,params:p});return S(T)}async list(e,r,s){M("list: %o, %O, %O",e,r||{},s||{});let i=F(r,e);s?.params&&Object.assign(i,s?.params);let o=await n(this,h).request("GET",`${e.type}`,void 0,{...s,params:i}),p=S(o),a={pageCount:Number(o.meta?.page_count),recordCount:Number(o.meta?.record_count),currentPage:r?.pageNumber||f.default.pageNumber,recordsPerPage:r?.pageSize||f.default.pageSize};return new Re(a,p)}async create(e,r,s){M("create: %o, %O, %O",e,r||{},s||{});let i=F(r,e);s?.params&&Object.assign(i,s?.params);let o=ye(e),p=await n(this,h).request("POST",e.type,o,{...s,params:i});return S(p)}async update(e,r,s,i){let o=!("id"in e)||A.isSingleton(e.type);M("update:%s %o, %O, %O",o?" singleton,":"",e,r||{},s||{});let p=F(r,e);s?.params&&Object.assign(p,s?.params);let a=`${i||e.type}${o?"":`/${e.id}`}`,T=ye(e),I=await n(this,h).request("PATCH",a,T,{...s,params:p});return S(I)}async delete(e,r){M("delete: %o, %O",e,r||{}),await n(this,h).request("DELETE",`${e.type}/${e.id}`,void 0,r)}async fetch(e,r,s,i){M("fetch: %o, %O, %O",r,s||{},i||{});let o=F(s,e);i?.params&&Object.assign(o,i?.params);let p=await n(this,h).request("GET",r,void 0,{...i,params:o}),a=S(p);if(Array.isArray(a)){let T=s,I={pageCount:Number(p.meta?.page_count),recordCount:Number(p.meta?.record_count),currentPage:T?.pageNumber||f.default.pageNumber,recordsPerPage:T?.pageSize||f.default.pageSize};return new Re(I,a)}else return a}async action(e,r,s,i){M("action: %o %o, %O",e,r,i||{});let o={};i?.params&&Object.assign(o,i?.params);let p=s&&q(s)?ye(s):s;await n(this,h).request(e,r,p,{...i,params:o})}};h=new WeakMap,Ee=new WeakMap;var ge=class{constructor(e){M("new resource instance: %s",this.type()),this.resources=e}relationshipOneToOne(e){return e===null||typeof e=="string"?{id:e,type:this.type()}:{id:e.id,type:this.type()}}relationshipOneToMany(...e){return e===null||e.length===0||e[0]===null?[{id:null,type:this.type()}]:e.map(r=>({id:r,type:this.type()}))}path(){return this.type()}parse(e){try{let r=JSON.parse(e);if(r.data?.type!==this.type())throw new y({message:`Invalid resource type [${r.data?.type}]`,type:"parse"});return S(r)}catch(r){throw y.isSdkError(r)?r:new y({message:`Payload parse error [${r.message}]`,type:"parse"})}}async update(e,r,s){return this.resources.update({...e,type:this.type()},r,s,this.path())}},d=class extends ge{async retrieve(e,r,s){return this.resources.retrieve(typeof e=="string"?{type:this.type(),id:e}:e,r,s)}async list(e,r){return this.resources.list({type:this.type()},e,r)}async count(e,r){let s={filters:Oe(e)?e.filters:e,pageNumber:1,pageSize:1},i=await this.list(s,r);return Promise.resolve(i.meta.recordCount)}},he=class extends ge{async retrieve(e,r){return this.resources.retrieve({type:this.type()},e,r,this.path())}},cr=ze;var x=class x extends d{async create(e,r,s){return this.resources.create({...e,type:x.TYPE},r,s)}async update(e,r,s){return this.resources.update({...e,type:x.TYPE},r,s)}async delete(e,r){await this.resources.delete(typeof e=="string"?{id:e,type:x.TYPE}:e,r)}async organization(e,r,s){let i=e.id||e;return this.resources.fetch({type:"organizations"},`api_credentials/${i}/organization`,r,s)}async role(e,r,s){let i=e.id||e;return this.resources.fetch({type:"roles"},`api_credentials/${i}/role`,r,s)}isApiCredential(e){return e.type&&e.type===x.TYPE}relationship(e){return super.relationshipOneToOne(e)}relationshipToMany(...e){return super.relationshipOneToMany(...e)}type(){return x.TYPE}};x.TYPE="api_credentials";var Ne=x,Ie=Ne;var v=class v extends d{async create(e,r,s){return this.resources.create({...e,type:v.TYPE},r,s)}async update(e,r,s){return this.resources.update({...e,type:v.TYPE},r,s)}async delete(e,r){await this.resources.delete(typeof e=="string"?{id:e,type:v.TYPE}:e,r)}async api_credential(e,r,s){let i=e.id||e;return this.resources.fetch({type:"api_credentials"},`application_memberships/${i}/api_credential`,r,s)}async membership(e,r,s){let i=e.id||e;return this.resources.fetch({type:"memberships"},`application_memberships/${i}/membership`,r,s)}async membership_profile(e,r,s){let i=e.id||e;return this.resources.fetch({type:"membership_profiles"},`application_memberships/${i}/membership_profile`,r,s)}async organization(e,r,s){let i=e.id||e;return this.resources.fetch({type:"organizations"},`application_memberships/${i}/organization`,r,s)}async role(e,r,s){let i=e.id||e;return this.resources.fetch({type:"roles"},`application_memberships/${i}/role`,r,s)}isApplicationMembership(e){return e.type&&e.type===v.TYPE}relationship(e){return super.relationshipOneToOne(e)}relationshipToMany(...e){return super.relationshipOneToMany(...e)}type(){return v.TYPE}};v.TYPE="application_memberships";var Se=v,ke=Se;var _=class _ extends d{async create(e,r,s){return this.resources.create({...e,type:_.TYPE},r,s)}async update(e,r,s){return this.resources.update({...e,type:_.TYPE},r,s)}async delete(e,r){await this.resources.delete(typeof e=="string"?{id:e,type:_.TYPE}:e,r)}async user(e,r,s){let i=e.id||e;return this.resources.fetch({type:"users"},`identity_providers/${i}/user`,r,s)}async _disable(e,r,s){return this.resources.update({id:typeof e=="string"?e:e.id,type:_.TYPE,_disable:!0},r,s)}async _enable(e,r,s){return this.resources.update({id:typeof e=="string"?e:e.id,type:_.TYPE,_enable:!0},r,s)}isIdentityProvider(e){return e.type&&e.type===_.TYPE}relationship(e){return super.relationshipOneToOne(e)}relationshipToMany(...e){return super.relationshipOneToMany(...e)}type(){return _.TYPE}};_.TYPE="identity_providers";var we=_,Ue=we;var z=class z extends d{async create(e,r,s){return this.resources.create({...e,type:z.TYPE},r,s)}async update(e,r,s){return this.resources.update({...e,type:z.TYPE},r,s)}async delete(e,r){await this.resources.delete(typeof e=="string"?{id:e,type:z.TYPE}:e,r)}async resend(e,r){let s=e.id||e;await this.resources.action("POST",`memberships/${s}/resend`,{},r)}async organization(e,r,s){let i=e.id||e;return this.resources.fetch({type:"organizations"},`memberships/${i}/organization`,r,s)}async role(e,r,s){let i=e.id||e;return this.resources.fetch({type:"roles"},`memberships/${i}/role`,r,s)}async application_memberships(e,r,s){let i=e.id||e;return this.resources.fetch({type:"application_memberships"},`memberships/${i}/application_memberships`,r,s)}async membership_profile(e,r,s){let i=e.id||e;return this.resources.fetch({type:"membership_profiles"},`memberships/${i}/membership_profile`,r,s)}async versions(e,r,s){let i=e.id||e;return this.resources.fetch({type:"versions"},`memberships/${i}/versions`,r,s)}isMembership(e){return e.type&&e.type===z.TYPE}relationship(e){return super.relationshipOneToOne(e)}relationshipToMany(...e){return super.relationshipOneToMany(...e)}type(){return z.TYPE}};z.TYPE="memberships";var Le=z,Qe=Le;var E=class E extends d{async create(e,r,s){return this.resources.create({...e,type:E.TYPE},r,s)}async update(e,r,s){return this.resources.update({...e,type:E.TYPE},r,s)}async delete(e,r){await this.resources.delete(typeof e=="string"?{id:e,type:E.TYPE}:e,r)}async organization(e,r,s){let i=e.id||e;return this.resources.fetch({type:"organizations"},`membership_profiles/${i}/organization`,r,s)}async application_memberships(e,r,s){let i=e.id||e;return this.resources.fetch({type:"application_memberships"},`membership_profiles/${i}/application_memberships`,r,s)}isMembershipProfile(e){return e.type&&e.type===E.TYPE}relationship(e){return super.relationshipOneToOne(e)}relationshipToMany(...e){return super.relationshipOneToMany(...e)}type(){return E.TYPE}};E.TYPE="membership_profiles";var je=E,qe=je;var k=class k extends d{async create(e,r,s){return this.resources.create({...e,type:k.TYPE},r,s)}async update(e,r,s){return this.resources.update({...e,type:k.TYPE},r,s)}async transfer_ownership(e,r,s){let i=e.id||e;await this.resources.action("PATCH",`organizations/${i}/transfer_ownership`,{...r},s)}async memberships(e,r,s){let i=e.id||e;return this.resources.fetch({type:"memberships"},`organizations/${i}/memberships`,r,s)}async roles(e,r,s){let i=e.id||e;return this.resources.fetch({type:"roles"},`organizations/${i}/roles`,r,s)}async permissions(e,r,s){let i=e.id||e;return this.resources.fetch({type:"permissions"},`organizations/${i}/permissions`,r,s)}async api_credentials(e,r,s){let i=e.id||e;return this.resources.fetch({type:"api_credentials"},`organizations/${i}/api_credentials`,r,s)}isOrganization(e){return e.type&&e.type===k.TYPE}relationship(e){return super.relationshipOneToOne(e)}relationshipToMany(...e){return super.relationshipOneToMany(...e)}type(){return k.TYPE}};k.TYPE="organizations";var $e=k,Fe=$e;var w=class w extends d{async create(e,r,s){return this.resources.create({...e,type:w.TYPE},r,s)}async update(e,r,s){return this.resources.update({...e,type:w.TYPE},r,s)}async organization(e,r,s){let i=e.id||e;return this.resources.fetch({type:"organizations"},`permissions/${i}/organization`,r,s)}async role(e,r,s){let i=e.id||e;return this.resources.fetch({type:"roles"},`permissions/${i}/role`,r,s)}async versions(e,r,s){let i=e.id||e;return this.resources.fetch({type:"versions"},`permissions/${i}/versions`,r,s)}isPermission(e){return e.type&&e.type===w.TYPE}relationship(e){return super.relationshipOneToOne(e)}relationshipToMany(...e){return super.relationshipOneToMany(...e)}type(){return w.TYPE}};w.TYPE="permissions";var Ye=w,Ve=Ye;var N=class N extends d{async create(e,r,s){return this.resources.create({...e,type:N.TYPE},r,s)}async update(e,r,s){return this.resources.update({...e,type:N.TYPE},r,s)}async organization(e,r,s){let i=e.id||e;return this.resources.fetch({type:"organizations"},`roles/${i}/organization`,r,s)}async permissions(e,r,s){let i=e.id||e;return this.resources.fetch({type:"permissions"},`roles/${i}/permissions`,r,s)}async memberships(e,r,s){let i=e.id||e;return this.resources.fetch({type:"memberships"},`roles/${i}/memberships`,r,s)}async api_credentials(e,r,s){let i=e.id||e;return this.resources.fetch({type:"api_credentials"},`roles/${i}/api_credentials`,r,s)}async versions(e,r,s){let i=e.id||e;return this.resources.fetch({type:"versions"},`roles/${i}/versions`,r,s)}async _add_missing_base_permissions(e,r,s){return this.resources.update({id:typeof e=="string"?e:e.id,type:N.TYPE,_add_missing_base_permissions:!0},r,s)}isRole(e){return e.type&&e.type===N.TYPE}relationship(e){return super.relationshipOneToOne(e)}relationshipToMany(...e){return super.relationshipOneToMany(...e)}type(){return N.TYPE}};N.TYPE="roles";var De=N,He=De;var Y=class Y extends he{async update(e,r,s){return this.resources.update({...e,type:Y.TYPE},r,s,this.path())}isUser(e){return e.type&&e.type===Y.TYPE}relationship(e){return super.relationshipOneToOne(e)}relationshipToMany(...e){return super.relationshipOneToMany(...e)}type(){return Y.TYPE}path(){return"user"}};Y.TYPE="users";var Je=Y,We=Je;var Z=class Z extends d{isVersion(e){return e.type&&e.type===Z.TYPE}relationship(e){return super.relationshipOneToOne(e)}relationshipToMany(...e){return super.relationshipOneToMany(...e)}type(){return Z.TYPE}};Z.TYPE="versions";var Be=Z,Ke=Be;var $=["api_credentials","application_memberships","identity_providers","memberships","membership_profiles","organizations","permissions","roles","users","versions"],de=["users"];var ur=b("commercelayer"),xe="1.0.13";var R,X,ee,re,se,te,ie,oe,ne,ae,pe,Ge=class{constructor(e){this.openApiSchemaVersion=xe;c(this,R);c(this,X);c(this,ee);c(this,re);c(this,se);c(this,te);c(this,ie);c(this,oe);c(this,ne);c(this,ae);c(this,pe);ur("new commercelayer provisioning instance %O",e),l(this,R,new cr(e))}get api_credentials(){return n(this,X)||l(this,X,new Ie(n(this,R)))}get application_memberships(){return n(this,ee)||l(this,ee,new ke(n(this,R)))}get identity_providers(){return n(this,re)||l(this,re,new Ue(n(this,R)))}get memberships(){return n(this,se)||l(this,se,new Qe(n(this,R)))}get membership_profiles(){return n(this,te)||l(this,te,new qe(n(this,R)))}get organizations(){return n(this,ie)||l(this,ie,new Fe(n(this,R)))}get permissions(){return n(this,oe)||l(this,oe,new Ve(n(this,R)))}get roles(){return n(this,ne)||l(this,ne,new He(n(this,R)))}get user(){return n(this,ae)||l(this,ae,new We(n(this,R)))}get versions(){return n(this,pe)||l(this,pe,new Ke(n(this,R)))}get currentAccessToken(){return n(this,R)?.client?.currentAccessToken}get interceptors(){return n(this,R).client.interceptors}localConfig(e){}config(e){return ur("config %o",e),this.localConfig(e),n(this,R).config(e),this}resources(){return A.resources()}singletons(){return A.singletons()}isSingleton(e){return A.isSingleton(e)}isApiError(e){return A.isApiError(e)}addRequestInterceptor(e,r){return this.interceptors.request={onSuccess:e,onFailure:r},1}addResponseInterceptor(e,r){return this.interceptors.response={onSuccess:e,onFailure:r},1}removeInterceptor(e,r=1){this.interceptors[e]=void 0}removeInterceptors(){this.removeInterceptor("request"),this.removeInterceptor("response"),this.removeRawResponseReader()}addRawResponseReader(e){let r={id:0,rawResponse:void 0,headers:void 0,ok:!0};async function s(i){if(r.rawResponse=await i?.clone().json().catch(()=>{}),r.ok=i.ok,e?.headers){let o={};i.headers.forEach((p,a)=>{o[a]=p}),r.headers=o}return i}return this.interceptors.rawReader={onSuccess:s,onFailure:s},r.id=1,r}removeRawResponseReader(){this.interceptors.rawReader=void 0}};R=new WeakMap,X=new WeakMap,ee=new WeakMap,re=new WeakMap,se=new WeakMap,te=new WeakMap,ie=new WeakMap,oe=new WeakMap,ne=new WeakMap,ae=new WeakMap,pe=new WeakMap;var mr=t=>new Ge(t),ve=mr;export{mr as CommerceLayerProvisioning,A as CommerceLayerProvisioningStatic,ve as default};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@commercelayer/provisioning-sdk",
3
- "version": "2.5.1",
3
+ "version": "2.7.0",
4
4
  "main": "lib/index.js",
5
5
  "types": "lib/index.d.ts",
6
6
  "module": "lib/index.mjs",
@@ -34,24 +34,23 @@
34
34
  "node": ">=20"
35
35
  },
36
36
  "devDependencies": {
37
- "@babel/preset-env": "^7.26.9",
38
- "@babel/preset-typescript": "^7.27.0",
37
+ "@babel/preset-env": "^7.28.0",
38
+ "@babel/preset-typescript": "^7.27.1",
39
39
  "@commercelayer/eslint-config-ts": "1.4.5",
40
40
  "@commercelayer/js-auth": "^6.7.2",
41
41
  "@semantic-release/changelog": "^6.0.3",
42
42
  "@semantic-release/git": "^10.0.1",
43
43
  "@types/debug": "^4.1.12",
44
44
  "@types/jest": "^29.5.14",
45
- "@types/node": "^22.14.0",
46
- "dotenv": "^16.4.7",
45
+ "@types/node": "^22.16.3",
46
+ "dotenv": "^16.6.1",
47
47
  "eslint": "^8.57.1",
48
48
  "jest": "^29.7.0",
49
49
  "json-typescript": "^1.1.2",
50
50
  "jsonapi-typescript": "^0.1.3",
51
- "lodash.isequal": "^4.5.0",
52
- "semantic-release": "^24.2.3",
53
- "tsup": "^8.4.0",
54
- "tsx": "^4.19.3",
51
+ "semantic-release": "^24.2.7",
52
+ "tsup": "^8.5.0",
53
+ "tsx": "^4.20.3",
55
54
  "typescript": "^5.8.3"
56
55
  },
57
56
  "repository": "github:commercelayer/provisioning-sdk",