UNPKG

@launchdarkly/node-server-sdk

Version:
53 lines 2.26 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); // eslint-disable-next-line max-classes-per-file const events_1 = require("events"); const util_1 = require("util"); const js_server_sdk_common_1 = require("@launchdarkly/js-server-sdk-common"); const BigSegmentsStoreStatusProviderNode_1 = require("./BigSegmentsStoreStatusProviderNode"); const Emits_1 = require("./Emits"); const NodePlatform_1 = require("./platform/NodePlatform"); class ClientEmitter extends events_1.EventEmitter { } /** * @ignore */ class LDClientNode extends js_server_sdk_common_1.LDClientImpl { constructor(sdkKey, options) { const fallbackLogger = new js_server_sdk_common_1.BasicLogger({ level: 'info', // eslint-disable-next-line no-console destination: console.error, formatter: util_1.format, }); const emitter = new ClientEmitter(); const logger = options.logger ? new js_server_sdk_common_1.SafeLogger(options.logger, fallbackLogger) : fallbackLogger; super(sdkKey, new NodePlatform_1.default(Object.assign(Object.assign({}, options), { logger })), Object.assign(Object.assign({}, options), { logger }), { onError: (err) => { if (emitter.listenerCount('error')) { emitter.emit('error', err); } else { logger.error(err.message); } }, onFailed: (err) => { emitter.emit('failed', err); }, onReady: () => { emitter.emit('ready'); }, onUpdate: (key) => { emitter.emit('update', { key }); emitter.emit(`update:${key}`, { key }); }, hasEventListeners: () => emitter .eventNames() .some((name) => name === 'update' || (typeof name === 'string' && name.startsWith('update:'))), }); this.emitter = emitter; this.bigSegmentStoreStatusProvider = new BigSegmentsStoreStatusProviderNode_1.default(this.bigSegmentStatusProviderInternal); } } exports.default = (0, Emits_1.Emits)(LDClientNode); //# sourceMappingURL=LDClientNode.js.map