UNPKG

@causalfoundry/js-sdk

Version:

Causal Foundry WEB SDK (JS/TS)

32 lines (26 loc) 709 B
import DeferredRunner from "../deferredRunner" let deferredRunner: DeferredRunner const moduleName = "Loyalty" const wrappedMethodNames = [ 'logPromoEvent', 'logSurveyCatalog', 'logRewardCatalog', 'logLevelEvent', 'logMilestoneEvent', 'logSurveyEvent', 'logRewardEvent' ] // 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 }