Skip to content

Commit

Permalink
[minor] Improve compatibility with bundlers (#634)
Browse files Browse the repository at this point in the history
  • Loading branch information
reecefenwick committed Oct 12, 2023
1 parent 6bd417f commit edf16df
Showing 1 changed file with 76 additions and 76 deletions.
152 changes: 76 additions & 76 deletions resources/index.js
@@ -1,76 +1,76 @@
'use strict';

const map = {
accessScope: 'access-scope',
apiPermission: 'api-permission',
applicationCharge: 'application-charge',
applicationCredit: 'application-credit',
article: 'article',
asset: 'asset',
balance: 'balance',
blog: 'blog',
cancellationRequest: 'cancellation-request',
carrierService: 'carrier-service',
checkout: 'checkout',
collect: 'collect',
collection: 'collection',
collectionListing: 'collection-listing',
comment: 'comment',
country: 'country',
currency: 'currency',
customCollection: 'custom-collection',
customer: 'customer',
customerAddress: 'customer-address',
customerSavedSearch: 'customer-saved-search',
deprecatedApiCall: 'deprecated-api-call',
discountCode: 'discount-code',
discountCodeCreationJob: 'discount-code-creation-job',
dispute: 'dispute',
disputeEvidence: 'dispute-evidence',
disputeFileUpload: 'dispute-file-upload',
draftOrder: 'draft-order',
event: 'event',
fulfillment: 'fulfillment',
fulfillmentEvent: 'fulfillment-event',
fulfillmentOrder: 'fulfillment-order',
fulfillmentRequest: 'fulfillment-request',
fulfillmentService: 'fulfillment-service',
giftCard: 'gift-card',
giftCardAdjustment: 'gift-card-adjustment',
inventoryItem: 'inventory-item',
inventoryLevel: 'inventory-level',
location: 'location',
marketingEvent: 'marketing-event',
metafield: 'metafield',
order: 'order',
orderRisk: 'order-risk',
page: 'page',
payment: 'payment',
payout: 'payout',
policy: 'policy',
priceRule: 'price-rule',
product: 'product',
productImage: 'product-image',
productListing: 'product-listing',
productResourceFeedback: 'product-resource-feedback',
productVariant: 'product-variant',
province: 'province',
recurringApplicationCharge: 'recurring-application-charge',
redirect: 'redirect',
refund: 'refund',
report: 'report',
resourceFeedback: 'resource-feedback',
scriptTag: 'script-tag',
shippingZone: 'shipping-zone',
shop: 'shop',
smartCollection: 'smart-collection',
storefrontAccessToken: 'storefront-access-token',
tenderTransaction: 'tender-transaction',
theme: 'theme',
transaction: 'transaction',
usageCharge: 'usage-charge',
user: 'user',
webhook: 'webhook'
accessScope: () => require('./access-scope'),
apiPermission: () => require('./api-permission'),
applicationCharge: () => require('./application-charge'),
applicationCredit: () => require('./application-credit'),
article: () => require('./article'),
asset: () => require('./asset'),
balance: () => require('./balance'),
blog: () => require('./blog'),
cancellationRequest: () => require('./cancellation-request'),
carrierService: () => require('./carrier-service'),
checkout: () => require('./checkout'),
collect: () => require('./collect'),
collection: () => require('./collection'),
collectionListing: () => require('./collection-listing'),
comment: () => require('./comment'),
country: () => require('./country'),
currency: () => require('./currency'),
customCollection: () => require('./custom-collection'),
customer: () => require('./customer'),
customerAddress: () => require('./customer-address'),
customerSavedSearch: () => require('./customer-saved-search'),
deprecatedApiCall: () => require('./deprecated-api-call'),
discountCode: () => require('./discount-code'),
discountCodeCreationJob: () => require('./discount-code-creation-job'),
dispute: () => require('./dispute'),
disputeEvidence: () => require('./dispute-evidence'),
disputeFileUpload: () => require('./dispute-file-upload'),
draftOrder: () => require('./draft-order'),
event: () => require('./event'),
fulfillment: () => require('./fulfillment'),
fulfillmentEvent: () => require('./fulfillment-event'),
fulfillmentOrder: () => require('./fulfillment-order'),
fulfillmentRequest: () => require('./fulfillment-request'),
fulfillmentService: () => require('./fulfillment-service'),
giftCard: () => require('./gift-card'),
giftCardAdjustment: () => require('./gift-card-adjustment'),
inventoryItem: () => require('./inventory-item'),
inventoryLevel: () => require('./inventory-level'),
location: () => require('./location'),
marketingEvent: () => require('./marketing-event'),
metafield: () => require('./metafield'),
order: () => require('./order'),
orderRisk: () => require('./order-risk'),
page: () => require('./page'),
payment: () => require('./payment'),
payout: () => require('./payout'),
policy: () => require('./policy'),
priceRule: () => require('./price-rule'),
product: () => require('./product'),
productImage: () => require('./product-image'),
productListing: () => require('./product-listing'),
productResourceFeedback: () => require('./product-resource-feedback'),
productVariant: () => require('./product-variant'),
province: () => require('./province'),
recurringApplicationCharge: () => require('./recurring-application-charge'),
redirect: () => require('./redirect'),
refund: () => require('./refund'),
report: () => require('./report'),
resourceFeedback: () => require('./resource-feedback'),
scriptTag: () => require('./script-tag'),
shippingZone: () => require('./shipping-zone'),
shop: () => require('./shop'),
smartCollection: () => require('./smart-collection'),
storefrontAccessToken: () => require('./storefront-access-token'),
tenderTransaction: () => require('./tender-transaction'),
theme: () => require('./theme'),
transaction: () => require('./transaction'),
usageCharge: () => require('./usage-charge'),
user: () => require('./user'),
webhook: () => require('./webhook')
};

/**
Expand All @@ -80,18 +80,18 @@ const map = {
* @private
*/
function registerAll(Shopify) {
Object.keys(map).forEach((prop) => {
Object.defineProperty(Shopify.prototype, prop, {
Object.entries(map).forEach(([resourceName, importResource]) => {
Object.defineProperty(Shopify.prototype, resourceName, {
configurable: true,
get: function get() {
const resource = require(`./${map[prop]}`);
const resource = importResource();

return Object.defineProperty(this, prop, {
return Object.defineProperty(this, resourceName, {
value: new resource(this)
})[prop];
})[resourceName];
},
set: function set(value) {
Object.defineProperty(this, prop, { value });
Object.defineProperty(this, resourceName, { value });
}
});
});
Expand Down

0 comments on commit edf16df

Please sign in to comment.