@01.software/sdk 0.71.0 → 0.72.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +84 -0
- package/README.md +31 -1
- package/dist/client.cjs +74 -7
- package/dist/client.cjs.map +1 -1
- package/dist/client.d.cts +6 -6
- package/dist/client.d.ts +6 -6
- package/dist/client.js +74 -7
- package/dist/client.js.map +1 -1
- package/dist/{collection-client-D18xyUq_.d.cts → collection-client-B3CnqMDQ.d.cts} +4 -4
- package/dist/{collection-client-CUGJcTpl.d.ts → collection-client-uOgS_1bC.d.ts} +4 -4
- package/dist/{const-Dlu0mXmj.d.ts → const-BJBK7jBl.d.ts} +1 -1
- package/dist/{const-oGEoxCXZ.d.cts → const-_ZfJjRQG.d.cts} +1 -1
- package/dist/{index-Ccd4NYTL.d.ts → index-CBaP4q8r.d.ts} +3 -3
- package/dist/{index-HHVtIKXs.d.cts → index-CI_LFWiG.d.cts} +3 -3
- package/dist/index.cjs +74 -7
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +7 -7
- package/dist/index.d.ts +7 -7
- package/dist/index.js +74 -7
- package/dist/index.js.map +1 -1
- package/dist/{payload-types-BgOEk6Y9.d.cts → payload-types-BRg8Yary.d.cts} +191 -166
- package/dist/{payload-types-BgOEk6Y9.d.ts → payload-types-BRg8Yary.d.ts} +191 -166
- package/dist/query.d.cts +5 -5
- package/dist/query.d.ts +5 -5
- package/dist/realtime.d.cts +2 -2
- package/dist/realtime.d.ts +2 -2
- package/dist/server.cjs +74 -7
- package/dist/server.cjs.map +1 -1
- package/dist/server.d.cts +7 -7
- package/dist/server.d.ts +7 -7
- package/dist/server.js +74 -7
- package/dist/server.js.map +1 -1
- package/dist/{types-nyOvcO0K.d.ts → types-Cmnxxvuv.d.ts} +46 -7
- package/dist/{types-DLHEIsAx.d.cts → types-CnkJQUez.d.cts} +46 -7
- package/dist/{types-CSvp2fJ_.d.ts → types-DLjSqL0P.d.ts} +2 -2
- package/dist/{types-BzG3NO7R.d.cts → types-FyklqLAk.d.cts} +2 -2
- package/dist/ui/form.d.cts +1 -1
- package/dist/ui/form.d.ts +1 -1
- package/dist/ui/video.d.cts +1 -1
- package/dist/ui/video.d.ts +1 -1
- package/dist/webhook.d.cts +5 -5
- package/dist/webhook.d.ts +5 -5
- package/package.json +2 -4
package/dist/client.d.cts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { d0 as CustomerScopedApi, bm as ListMyBenefitVouchersRequest, bn as ListMyBenefitVouchersResponse, d1 as CustomerCreditsApi, d2 as CommerceClient, l as CommunityClient, d3 as ContentClient, aN as EventsClient, d4 as CustomerNamespace, M as MarketDiscovery, au as CustomerMembershipView, C as CancelMembershipParams, e as CancelMembershipResponse, o as ClientState, d5 as ClientConfig } from './types-
|
|
2
|
-
export { A as AddItemParams, d6 as ApiQueryOptions, d7 as CancelBrowserPaymentSessionParams, d8 as CartMergeParams, z as CartMergeResult, D as CartMineResult, F as CartMutationResult, G as CheckoutAbandonedReason, H as CheckoutAmounts, N as CheckoutOrderReference, O as CheckoutPaymentSessionRef, W as CheckoutShippingAddress, Z as ClearCartParams, d9 as ClientMetadata, da as ContentClientOptions, a7 as CreateCartParams, a8 as CreateCartResult, db as CreateCheckoutParams, dc as CreateCheckoutResult, ab as CreatePaymentSessionParams, ac as CreatePortOnePaymentSessionParams, av as CustomerSnapshot, dd as DebugConfig, de as DeepPartial, df as ExtractArrayType, bo as MembershipStatus, bq as Money, bx as OpenCheckoutPaymentState, dg as PayloadFindResponse, dh as PayloadMutationResponse, by as PaymentFailureReason, bz as PaymentNextAction, bA as PaymentProviderStatus, bB as PaymentReconciliationReason, bE as PaymentSessionRole, bF as PortOneHostedPaymentMethod, bH as PortOnePaymentNextAction, bK as PortOnePublicPaymentSession, bO as ProductUpsertInput, bP as ProductUpsertParams, bQ as ProductUpsertResponse, bR as ProductUpsertVariantInput, bS as PublicAttribute, bT as PublicCaptureEvidence, bU as PublicCart, bV as PublicCartItem, bW as PublicCartItemAdmission, bX as PublicCartMarket, bY as PublicCartReference, bZ as PublicCheckout, b_ as PublicCheckoutItem, b$ as PublicMediaAsset, c0 as PublicMediaSize, c1 as PublicOrder, c2 as PublicOrderAmounts, c3 as PublicOrderItem, c4 as PublicOrderReference, c5 as PublicPaymentSession, c8 as ReconciliationRequired, cb as RemoveItemParams, di as RetrieveBrowserPaymentSessionParams, ce as RetrieveCartParams, cf as RetrieveCheckoutParams, dj as RetryConfig, dk as RootClient, dk as RootClientType, dl as RootCollectionClient, dm as RootReadOnlyQueryBuilder, ct as ShippingLine, dn as Sort, cu as SpentCheckoutPaymentState, dp as StorefrontContentListOptions, dq as StorefrontContentReference, dr as StorefrontGalleryItem, ds as StorefrontGalleryItemsListOptions, dt as StorefrontGalleryItemsSort, du as StorefrontLink, dv as StorefrontLinksListOptions, dw as StorefrontLinksSort, cL as UpdateCartAttributesParams, cM as UpdateDiscountCodesParams, cN as UpdateItemParams, cO as VariantInput, dx as Where } from './types-
|
|
3
|
-
import { R as ReadOnlyCollectionClient } from './collection-client-
|
|
1
|
+
import { d0 as CustomerScopedApi, bm as ListMyBenefitVouchersRequest, bn as ListMyBenefitVouchersResponse, d1 as CustomerCreditsApi, d2 as CommerceClient, l as CommunityClient, d3 as ContentClient, aN as EventsClient, d4 as CustomerNamespace, M as MarketDiscovery, au as CustomerMembershipView, C as CancelMembershipParams, e as CancelMembershipResponse, o as ClientState, d5 as ClientConfig } from './types-CnkJQUez.cjs';
|
|
2
|
+
export { A as AddItemParams, d6 as ApiQueryOptions, d7 as CancelBrowserPaymentSessionParams, d8 as CartMergeParams, z as CartMergeResult, D as CartMineResult, F as CartMutationResult, G as CheckoutAbandonedReason, H as CheckoutAmounts, N as CheckoutOrderReference, O as CheckoutPaymentSessionRef, W as CheckoutShippingAddress, Z as ClearCartParams, d9 as ClientMetadata, da as ContentClientOptions, a7 as CreateCartParams, a8 as CreateCartResult, db as CreateCheckoutParams, dc as CreateCheckoutResult, ab as CreatePaymentSessionParams, ac as CreatePortOnePaymentSessionParams, av as CustomerSnapshot, dd as DebugConfig, de as DeepPartial, df as ExtractArrayType, bo as MembershipStatus, bq as Money, bx as OpenCheckoutPaymentState, dg as PayloadFindResponse, dh as PayloadMutationResponse, by as PaymentFailureReason, bz as PaymentNextAction, bA as PaymentProviderStatus, bB as PaymentReconciliationReason, bE as PaymentSessionRole, bF as PortOneHostedPaymentMethod, bH as PortOnePaymentNextAction, bK as PortOnePublicPaymentSession, bO as ProductUpsertInput, bP as ProductUpsertParams, bQ as ProductUpsertResponse, bR as ProductUpsertVariantInput, bS as PublicAttribute, bT as PublicCaptureEvidence, bU as PublicCart, bV as PublicCartItem, bW as PublicCartItemAdmission, bX as PublicCartMarket, bY as PublicCartReference, bZ as PublicCheckout, b_ as PublicCheckoutItem, b$ as PublicMediaAsset, c0 as PublicMediaSize, c1 as PublicOrder, c2 as PublicOrderAmounts, c3 as PublicOrderItem, c4 as PublicOrderReference, c5 as PublicPaymentSession, c8 as ReconciliationRequired, cb as RemoveItemParams, di as RetrieveBrowserPaymentSessionParams, ce as RetrieveCartParams, cf as RetrieveCheckoutParams, dj as RetryConfig, dk as RootClient, dk as RootClientType, dl as RootCollectionClient, dm as RootReadOnlyQueryBuilder, ct as ShippingLine, dn as Sort, cu as SpentCheckoutPaymentState, dp as StorefrontContentListOptions, dq as StorefrontContentReference, dr as StorefrontGalleryItem, ds as StorefrontGalleryItemsListOptions, dt as StorefrontGalleryItemsSort, du as StorefrontLink, dv as StorefrontLinksListOptions, dw as StorefrontLinksSort, cL as UpdateCartAttributesParams, cM as UpdateDiscountCodesParams, cN as UpdateItemParams, cO as VariantInput, dx as Where } from './types-CnkJQUez.cjs';
|
|
3
|
+
import { R as ReadOnlyCollectionClient } from './collection-client-B3CnqMDQ.cjs';
|
|
4
4
|
export { isApiError, isAuthError, isCommerceSDKError, isConfigError, isConflictError, isGoneError, isNetworkError, isNotFoundError, isPermissionError, isRateLimitError, isSDKError, isServiceUnavailableError, isTimeoutError, isUsageLimitError, isValidationError } from './errors.cjs';
|
|
5
|
-
export { C as Collection, P as PublicCollection } from './const-
|
|
6
|
-
import './types-
|
|
7
|
-
import './payload-types-
|
|
5
|
+
export { C as Collection, P as PublicCollection } from './const-_ZfJjRQG.cjs';
|
|
6
|
+
import './types-FyklqLAk.cjs';
|
|
7
|
+
import './payload-types-BRg8Yary.cjs';
|
|
8
8
|
import './metadata.cjs';
|
|
9
9
|
|
|
10
10
|
declare class CustomerBenefitVouchersApi extends CustomerScopedApi {
|
package/dist/client.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { d0 as CustomerScopedApi, bm as ListMyBenefitVouchersRequest, bn as ListMyBenefitVouchersResponse, d1 as CustomerCreditsApi, d2 as CommerceClient, l as CommunityClient, d3 as ContentClient, aN as EventsClient, d4 as CustomerNamespace, M as MarketDiscovery, au as CustomerMembershipView, C as CancelMembershipParams, e as CancelMembershipResponse, o as ClientState, d5 as ClientConfig } from './types-
|
|
2
|
-
export { A as AddItemParams, d6 as ApiQueryOptions, d7 as CancelBrowserPaymentSessionParams, d8 as CartMergeParams, z as CartMergeResult, D as CartMineResult, F as CartMutationResult, G as CheckoutAbandonedReason, H as CheckoutAmounts, N as CheckoutOrderReference, O as CheckoutPaymentSessionRef, W as CheckoutShippingAddress, Z as ClearCartParams, d9 as ClientMetadata, da as ContentClientOptions, a7 as CreateCartParams, a8 as CreateCartResult, db as CreateCheckoutParams, dc as CreateCheckoutResult, ab as CreatePaymentSessionParams, ac as CreatePortOnePaymentSessionParams, av as CustomerSnapshot, dd as DebugConfig, de as DeepPartial, df as ExtractArrayType, bo as MembershipStatus, bq as Money, bx as OpenCheckoutPaymentState, dg as PayloadFindResponse, dh as PayloadMutationResponse, by as PaymentFailureReason, bz as PaymentNextAction, bA as PaymentProviderStatus, bB as PaymentReconciliationReason, bE as PaymentSessionRole, bF as PortOneHostedPaymentMethod, bH as PortOnePaymentNextAction, bK as PortOnePublicPaymentSession, bO as ProductUpsertInput, bP as ProductUpsertParams, bQ as ProductUpsertResponse, bR as ProductUpsertVariantInput, bS as PublicAttribute, bT as PublicCaptureEvidence, bU as PublicCart, bV as PublicCartItem, bW as PublicCartItemAdmission, bX as PublicCartMarket, bY as PublicCartReference, bZ as PublicCheckout, b_ as PublicCheckoutItem, b$ as PublicMediaAsset, c0 as PublicMediaSize, c1 as PublicOrder, c2 as PublicOrderAmounts, c3 as PublicOrderItem, c4 as PublicOrderReference, c5 as PublicPaymentSession, c8 as ReconciliationRequired, cb as RemoveItemParams, di as RetrieveBrowserPaymentSessionParams, ce as RetrieveCartParams, cf as RetrieveCheckoutParams, dj as RetryConfig, dk as RootClient, dk as RootClientType, dl as RootCollectionClient, dm as RootReadOnlyQueryBuilder, ct as ShippingLine, dn as Sort, cu as SpentCheckoutPaymentState, dp as StorefrontContentListOptions, dq as StorefrontContentReference, dr as StorefrontGalleryItem, ds as StorefrontGalleryItemsListOptions, dt as StorefrontGalleryItemsSort, du as StorefrontLink, dv as StorefrontLinksListOptions, dw as StorefrontLinksSort, cL as UpdateCartAttributesParams, cM as UpdateDiscountCodesParams, cN as UpdateItemParams, cO as VariantInput, dx as Where } from './types-
|
|
3
|
-
import { R as ReadOnlyCollectionClient } from './collection-client-
|
|
1
|
+
import { d0 as CustomerScopedApi, bm as ListMyBenefitVouchersRequest, bn as ListMyBenefitVouchersResponse, d1 as CustomerCreditsApi, d2 as CommerceClient, l as CommunityClient, d3 as ContentClient, aN as EventsClient, d4 as CustomerNamespace, M as MarketDiscovery, au as CustomerMembershipView, C as CancelMembershipParams, e as CancelMembershipResponse, o as ClientState, d5 as ClientConfig } from './types-Cmnxxvuv.js';
|
|
2
|
+
export { A as AddItemParams, d6 as ApiQueryOptions, d7 as CancelBrowserPaymentSessionParams, d8 as CartMergeParams, z as CartMergeResult, D as CartMineResult, F as CartMutationResult, G as CheckoutAbandonedReason, H as CheckoutAmounts, N as CheckoutOrderReference, O as CheckoutPaymentSessionRef, W as CheckoutShippingAddress, Z as ClearCartParams, d9 as ClientMetadata, da as ContentClientOptions, a7 as CreateCartParams, a8 as CreateCartResult, db as CreateCheckoutParams, dc as CreateCheckoutResult, ab as CreatePaymentSessionParams, ac as CreatePortOnePaymentSessionParams, av as CustomerSnapshot, dd as DebugConfig, de as DeepPartial, df as ExtractArrayType, bo as MembershipStatus, bq as Money, bx as OpenCheckoutPaymentState, dg as PayloadFindResponse, dh as PayloadMutationResponse, by as PaymentFailureReason, bz as PaymentNextAction, bA as PaymentProviderStatus, bB as PaymentReconciliationReason, bE as PaymentSessionRole, bF as PortOneHostedPaymentMethod, bH as PortOnePaymentNextAction, bK as PortOnePublicPaymentSession, bO as ProductUpsertInput, bP as ProductUpsertParams, bQ as ProductUpsertResponse, bR as ProductUpsertVariantInput, bS as PublicAttribute, bT as PublicCaptureEvidence, bU as PublicCart, bV as PublicCartItem, bW as PublicCartItemAdmission, bX as PublicCartMarket, bY as PublicCartReference, bZ as PublicCheckout, b_ as PublicCheckoutItem, b$ as PublicMediaAsset, c0 as PublicMediaSize, c1 as PublicOrder, c2 as PublicOrderAmounts, c3 as PublicOrderItem, c4 as PublicOrderReference, c5 as PublicPaymentSession, c8 as ReconciliationRequired, cb as RemoveItemParams, di as RetrieveBrowserPaymentSessionParams, ce as RetrieveCartParams, cf as RetrieveCheckoutParams, dj as RetryConfig, dk as RootClient, dk as RootClientType, dl as RootCollectionClient, dm as RootReadOnlyQueryBuilder, ct as ShippingLine, dn as Sort, cu as SpentCheckoutPaymentState, dp as StorefrontContentListOptions, dq as StorefrontContentReference, dr as StorefrontGalleryItem, ds as StorefrontGalleryItemsListOptions, dt as StorefrontGalleryItemsSort, du as StorefrontLink, dv as StorefrontLinksListOptions, dw as StorefrontLinksSort, cL as UpdateCartAttributesParams, cM as UpdateDiscountCodesParams, cN as UpdateItemParams, cO as VariantInput, dx as Where } from './types-Cmnxxvuv.js';
|
|
3
|
+
import { R as ReadOnlyCollectionClient } from './collection-client-uOgS_1bC.js';
|
|
4
4
|
export { isApiError, isAuthError, isCommerceSDKError, isConfigError, isConflictError, isGoneError, isNetworkError, isNotFoundError, isPermissionError, isRateLimitError, isSDKError, isServiceUnavailableError, isTimeoutError, isUsageLimitError, isValidationError } from './errors.js';
|
|
5
|
-
export { C as Collection, P as PublicCollection } from './const-
|
|
6
|
-
import './types-
|
|
7
|
-
import './payload-types-
|
|
5
|
+
export { C as Collection, P as PublicCollection } from './const-BJBK7jBl.js';
|
|
6
|
+
import './types-DLjSqL0P.js';
|
|
7
|
+
import './payload-types-BRg8Yary.js';
|
|
8
8
|
import './metadata.js';
|
|
9
9
|
|
|
10
10
|
declare class CustomerBenefitVouchersApi extends CustomerScopedApi {
|
package/dist/client.js
CHANGED
|
@@ -2570,7 +2570,18 @@ var ABANDONED_REASONS = ["expired", "customer", "operator"];
|
|
|
2570
2570
|
function managedPaymentProviders(providers) {
|
|
2571
2571
|
return providers;
|
|
2572
2572
|
}
|
|
2573
|
-
var PAYMENT_PROVIDERS = managedPaymentProviders([
|
|
2573
|
+
var PAYMENT_PROVIDERS = managedPaymentProviders([
|
|
2574
|
+
"toss",
|
|
2575
|
+
"portone",
|
|
2576
|
+
"stripe"
|
|
2577
|
+
]);
|
|
2578
|
+
var CANCEL_RECOVERY_METHODS = {
|
|
2579
|
+
toss: "cancel()",
|
|
2580
|
+
portone: "cancelPortOne()",
|
|
2581
|
+
stripe: null
|
|
2582
|
+
};
|
|
2583
|
+
var STRIPE_RETURN_URL_RAW_CHARACTERS = /^[^\s\u0000-\u001F\u007F\\]+$/;
|
|
2584
|
+
var STRIPE_RETURN_URL_AUTHORITY = /^[A-Za-z][A-Za-z0-9+.-]*:\/\/[^/?#@]+(?:[/?#]|$)/;
|
|
2574
2585
|
var PAYMENT_PROVIDER_STATUSES = [
|
|
2575
2586
|
"requires_payment_method",
|
|
2576
2587
|
"requires_action",
|
|
@@ -2619,11 +2630,8 @@ function fail(resource, path, expected) {
|
|
|
2619
2630
|
invalidCanonicalResponse(resource, { path, expected });
|
|
2620
2631
|
}
|
|
2621
2632
|
function providerMismatch(resource, expected, actual, operation2) {
|
|
2622
|
-
|
|
2623
|
-
|
|
2624
|
-
toss: "cancel()",
|
|
2625
|
-
portone: "cancelPortOne()"
|
|
2626
|
-
}[actual];
|
|
2633
|
+
const method = CANCEL_RECOVERY_METHODS[actual];
|
|
2634
|
+
if (operation2 === "cancel" && method !== null) {
|
|
2627
2635
|
throw createApiError(
|
|
2628
2636
|
`Canonical ${resource} response provider mismatch: expected ${expected}, received ${actual}.`,
|
|
2629
2637
|
502,
|
|
@@ -3867,6 +3875,65 @@ function validateRequiredReconciliation(value, allowed, resource, path) {
|
|
|
3867
3875
|
}
|
|
3868
3876
|
function validateNextAction(value, provider, resource, path) {
|
|
3869
3877
|
const action = record(value, resource, path);
|
|
3878
|
+
if (provider === "stripe") {
|
|
3879
|
+
exact(
|
|
3880
|
+
action,
|
|
3881
|
+
["type", "clientSecret", "publishableKey", "returnUrl"],
|
|
3882
|
+
[],
|
|
3883
|
+
resource,
|
|
3884
|
+
path
|
|
3885
|
+
);
|
|
3886
|
+
if (action.type !== "stripe_payment_element")
|
|
3887
|
+
fail(resource, `${path}.type`, "stripe_payment_element");
|
|
3888
|
+
const clientSecret = boundedString(
|
|
3889
|
+
action.clientSecret,
|
|
3890
|
+
255,
|
|
3891
|
+
resource,
|
|
3892
|
+
`${path}.clientSecret`
|
|
3893
|
+
);
|
|
3894
|
+
if (!/^pi_[A-Za-z0-9]+_secret_[A-Za-z0-9]+$/.test(clientSecret)) {
|
|
3895
|
+
fail(
|
|
3896
|
+
resource,
|
|
3897
|
+
`${path}.clientSecret`,
|
|
3898
|
+
"Stripe PaymentIntent client secret"
|
|
3899
|
+
);
|
|
3900
|
+
}
|
|
3901
|
+
const publishableKey = boundedString(
|
|
3902
|
+
action.publishableKey,
|
|
3903
|
+
255,
|
|
3904
|
+
resource,
|
|
3905
|
+
`${path}.publishableKey`
|
|
3906
|
+
);
|
|
3907
|
+
if (!/^pk_(?:test|live)_[A-Za-z0-9]+$/.test(publishableKey)) {
|
|
3908
|
+
fail(resource, `${path}.publishableKey`, "Stripe publishable key");
|
|
3909
|
+
}
|
|
3910
|
+
const returnUrl = boundedString(
|
|
3911
|
+
action.returnUrl,
|
|
3912
|
+
2048,
|
|
3913
|
+
resource,
|
|
3914
|
+
`${path}.returnUrl`
|
|
3915
|
+
);
|
|
3916
|
+
if (!STRIPE_RETURN_URL_RAW_CHARACTERS.test(returnUrl) || !STRIPE_RETURN_URL_AUTHORITY.test(returnUrl)) {
|
|
3917
|
+
fail(
|
|
3918
|
+
resource,
|
|
3919
|
+
`${path}.returnUrl`,
|
|
3920
|
+
"HTTPS or loopback URL without embedded credentials"
|
|
3921
|
+
);
|
|
3922
|
+
}
|
|
3923
|
+
try {
|
|
3924
|
+
const parsed = new URL(returnUrl);
|
|
3925
|
+
const loopback = parsed.protocol === "http:" && (parsed.hostname === "localhost" || parsed.hostname === "127.0.0.1");
|
|
3926
|
+
if (!loopback && parsed.protocol !== "https:" || parsed.username || parsed.password)
|
|
3927
|
+
throw new Error("unsafe return URL");
|
|
3928
|
+
} catch {
|
|
3929
|
+
fail(
|
|
3930
|
+
resource,
|
|
3931
|
+
`${path}.returnUrl`,
|
|
3932
|
+
"HTTPS or loopback URL without embedded credentials"
|
|
3933
|
+
);
|
|
3934
|
+
}
|
|
3935
|
+
return;
|
|
3936
|
+
}
|
|
3870
3937
|
if (provider === "portone") {
|
|
3871
3938
|
if (action.type === "portone_sdk") {
|
|
3872
3939
|
const hasCancelable = "cancelable" in action;
|
|
@@ -4242,7 +4309,7 @@ function validatePublicPaymentSession(value, expectedProvider, operation2) {
|
|
|
4242
4309
|
);
|
|
4243
4310
|
}
|
|
4244
4311
|
if (expectedProvider !== void 0 && provider !== expectedProvider) {
|
|
4245
|
-
if (operation2 === "cancel" && status !== "canceling" && status !== "canceled") {
|
|
4312
|
+
if (operation2 === "cancel" && CANCEL_RECOVERY_METHODS[provider] !== null && status !== "canceling" && status !== "canceled") {
|
|
4246
4313
|
fail(
|
|
4247
4314
|
resource,
|
|
4248
4315
|
"$.providerStatus",
|