UNPKG

@causalfoundry/js-sdk

Version:

Causal Foundry WEB SDK (JS/TS)

33 lines (27 loc) 773 B
import DeferredRunner from "../deferredRunner"; let deferredRunner: DeferredRunner; const moduleName = "ECommerce"; const wrappedMethodNames = [ "logCatalogEvent", "logIngestEvent", "startTrackingImpressions", "stopTrackingImpressions", "restartTrackingImpressions", "logCancelCheckoutEvent", "logCheckoutEvent", "logCartEvent", "logDeliveryEvent", "logItemEvent", ]; // 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, };