@mtdt.temp/browser-core
Version: 
Datadog browser core utilities.
33 lines • 1.4 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.startAccountContext = startAccountContext;
exports.buildAccountContextManager = buildAccountContextManager;
const storeContextManager_1 = require("../context/storeContextManager");
const abstractHooks_1 = require("../../tools/abstractHooks");
const objectUtils_1 = require("../../tools/utils/objectUtils");
const contextManager_1 = require("../context/contextManager");
function startAccountContext(hooks, configuration, productKey) {
    const accountContextManager = buildAccountContextManager();
    if (configuration.storeContextsAcrossPages) {
        (0, storeContextManager_1.storeContextManager)(configuration, accountContextManager, productKey, 4 /* CustomerDataType.Account */);
    }
    hooks.register(0 /* HookNames.Assemble */, () => {
        const account = accountContextManager.getContext();
        if ((0, objectUtils_1.isEmptyObject)(account) || !account.id) {
            return abstractHooks_1.SKIPPED;
        }
        return {
            account,
        };
    });
    return accountContextManager;
}
function buildAccountContextManager() {
    return (0, contextManager_1.createContextManager)('account', {
        propertiesConfig: {
            id: { type: 'string', required: true },
            name: { type: 'string' },
        },
    });
}
//# sourceMappingURL=accountContext.js.map