UNPKG

@causalfoundry/js-sdk

Version:

Causal Foundry WEB SDK (JS/TS)

42 lines (36 loc) 1.03 kB
import DeferredRunner from "../deferredRunner" let deferredRunner: DeferredRunner const moduleName = 'ECommerce' const wrappedMethodNames = [ 'updateDrugCatalog', 'updateGroceryCatalog', 'updateFacilityCatalog', 'updateBloodCatalog', 'updateOxygenCatalog', 'updateMedicalEquipmentCatalog', 'logItemReportEvent', 'logItemRequestEvent', 'logItemVerificationEvent', 'logCheckoutEvent', 'logCartEvent', 'logDeliveryEvent', 'logItemEvent', 'logScheduleDeliveryEvent', 'startTrackingImpressions', 'stopTrackingImpressions', 'restartTrackingImpressions' ] // expose each method as a wrapper that just calls the deferredRunner const wrappedMethods = wrappedMethodNames.reduce( (obj, current) => { obj[current] = (...args) => deferredRunner.execute(moduleName, current, args) return obj }, {}) const init = (injectedDeferredRunner) => { deferredRunner = injectedDeferredRunner } export default { init, ...wrappedMethods }