UNPKG

unleash-server

Version:

Unleash is an enterprise ready feature toggles service. It provides different strategies for handling feature toggles.

30 lines 1.23 kB
"use strict"; // Copy of https://github.com/Unleash/unleash-proxy/blob/main/src/create-context.ts. Object.defineProperty(exports, "__esModule", { value: true }); exports.enrichContextWithIp = exports.createContext = void 0; // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types function createContext(value) { const { appName, environment, userId, sessionId, remoteAddress, properties, ...rest } = value; // move non root context fields to properties const context = { appName, environment, userId, sessionId, remoteAddress, properties: Object.assign({}, rest, properties), }; // Clean undefined properties on the context const cleanContext = Object.keys(context) .filter((k) => context[k]) .reduce((a, k) => ({ ...a, [k]: context[k] }), {}); return cleanContext; } exports.createContext = createContext; // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types const enrichContextWithIp = (query, ip) => { query.remoteAddress = query.remoteAddress || ip; return createContext(query); }; exports.enrichContextWithIp = enrichContextWithIp; //# sourceMappingURL=create-context.js.map