UNPKG

unleash-server

Version:

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

26 lines 1.03 kB
// Copy of https://github.com/Unleash/unleash-proxy/blob/main/src/create-context.ts. import crypto from 'node:crypto'; export function createContext(contextData) { const { appName, environment, userId, sessionId, remoteAddress, properties, ...rest } = contextData; // 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; } export const enrichContextWithIp = (contextData, ip) => { contextData.remoteAddress = contextData.remoteAddress || ip; contextData.sessionId = contextData.sessionId || crypto.randomBytes(18).toString('hex'); return createContext(contextData); }; //# sourceMappingURL=create-context.js.map