UNPKG

@shopify/app-bridge-host

Version:

App Bridge Host contains middleware and components that are meant to be consumed by the app's host. The middleware and `Frame` component are responsible for facilitating messages posted between the client and host, and used to act on actions sent from the

89 lines (88 loc) 3.01 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var actions_1 = require("@shopify/app-bridge/actions"); function getResourceUrl(url, section) { var name = section.name, resource = section.resource; switch (name) { case actions_1.Redirect.ResourceType.Product: return getProductUrl(url, resource); case actions_1.Redirect.ResourceType.Collection: return getCollectionUrl(url, resource); case actions_1.Redirect.ResourceType.Order: return getOrderUrl(url, resource); case actions_1.Redirect.ResourceType.Discount: return getDiscountUrl(url, resource); case actions_1.Redirect.ResourceType.Customer: return getCustomerUrl(url, resource); } } exports.default = getResourceUrl; function getProductUrl(url, resource) { if (!resource) { return url.productIndex(); } if (actions_1.Redirect.isProductVariantResourcePayload(resource)) { var _a = resource, id = _a.id, variant = _a.variant; if (actions_1.Redirect.isResourcePayload(variant)) { return url.productVariantDetails(id, variant.id); } if (actions_1.Redirect.isCreateResourcePayload(variant)) { return url.productVariantNew(id); } } if (actions_1.Redirect.isResourcePayload(resource)) { return url.productDetails(resource.id); } if (actions_1.Redirect.isCreateResourcePayload(resource)) { return url.productNew(); } } exports.getProductUrl = getProductUrl; function getCollectionUrl(url, resource) { if (!resource) { return url.collectionIndex(); } if (actions_1.Redirect.isResourcePayload(resource)) { return url.collectionShow(resource.id); } if (actions_1.Redirect.isCreateResourcePayload(resource)) { return url.collectionNew(); } } exports.getCollectionUrl = getCollectionUrl; function getDiscountUrl(url, resource) { if (!resource) { return url.discountIndex(); } if (actions_1.Redirect.isResourcePayload(resource)) { return url.discountShow(resource.id); } if (actions_1.Redirect.isCreateResourcePayload(resource)) { return url.discountNew(); } } exports.getDiscountUrl = getDiscountUrl; function getCustomerUrl(url, resource) { if (!resource) { return url.customerIndex(); } if (actions_1.Redirect.isResourcePayload(resource)) { return url.customerShow(resource.id); } if (actions_1.Redirect.isCreateResourcePayload(resource)) { return url.customerCreate(); } } exports.getCustomerUrl = getCustomerUrl; function getOrderUrl(url, resource) { if (!resource) { return url.orderIndex(); } if (actions_1.Redirect.isResourcePayload(resource)) { return url.orderShow(resource.id); } if (actions_1.Redirect.isCreateResourcePayload(resource)) { return url.orderNew(); } } exports.getOrderUrl = getOrderUrl;