UNPKG

@devcycle/nodejs-server-sdk

Version:

The DevCycle NodeJS Server SDK used for feature management.

59 lines 3.53 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.initialize = exports.UserError = exports.ConfigSource = exports.dvcDefaultLogger = exports.HookContext = exports.EvalHook = exports.DVCVariable = exports.DevCycleUser = exports.DevCycleCloudClient = exports.DevCycleClient = exports.DevCycleProvider = void 0; exports.initializeDevCycle = initializeDevCycle; const client_1 = require("./client"); Object.defineProperty(exports, "DevCycleClient", { enumerable: true, get: function () { return client_1.DevCycleClient; } }); const js_cloud_server_sdk_1 = require("@devcycle/js-cloud-server-sdk"); Object.defineProperty(exports, "DevCycleUser", { enumerable: true, get: function () { return js_cloud_server_sdk_1.DevCycleUser; } }); Object.defineProperty(exports, "dvcDefaultLogger", { enumerable: true, get: function () { return js_cloud_server_sdk_1.dvcDefaultLogger; } }); Object.defineProperty(exports, "DVCVariable", { enumerable: true, get: function () { return js_cloud_server_sdk_1.DVCVariable; } }); const EvalHook_1 = require("./hooks/EvalHook"); Object.defineProperty(exports, "EvalHook", { enumerable: true, get: function () { return EvalHook_1.EvalHook; } }); const HookContext_1 = require("./hooks/HookContext"); Object.defineProperty(exports, "HookContext", { enumerable: true, get: function () { return HookContext_1.HookContext; } }); const platformDetails_1 = require("./utils/platformDetails"); const DevCycleProvider_1 = require("./open-feature/DevCycleProvider"); Object.defineProperty(exports, "DevCycleProvider", { enumerable: true, get: function () { return DevCycleProvider_1.DevCycleProvider; } }); class DevCycleCloudClient extends js_cloud_server_sdk_1.DevCycleCloudClient { constructor(sdkKey, options, platformDetails) { super(sdkKey, options, platformDetails); this.sdkPlatform = options.sdkPlatform; } /** * @deprecated Use DevCycleProvider directly instead. * See docs: https://docs.devcycle.com/sdk/server-side-sdks/node/node-openfeature */ async getOpenFeatureProvider() { var _a; if (this.openFeatureProvider) return this.openFeatureProvider; this.openFeatureProvider = new DevCycleProvider_1.DevCycleProvider(this, { logger: this.logger, }); this.platformDetails.sdkPlatform = (_a = this.sdkPlatform) !== null && _a !== void 0 ? _a : 'nodejs-of'; return this.openFeatureProvider; } } exports.DevCycleCloudClient = DevCycleCloudClient; const types_1 = require("@devcycle/types"); Object.defineProperty(exports, "ConfigSource", { enumerable: true, get: function () { return types_1.ConfigSource; } }); var types_2 = require("@devcycle/types"); Object.defineProperty(exports, "UserError", { enumerable: true, get: function () { return types_2.UserError; } }); function initializeDevCycle(sdkKey, options = {}) { if (!sdkKey) { throw new Error('Missing SDK key! Call initialize with a valid SDK key'); } else if (!(0, js_cloud_server_sdk_1.isValidServerSDKKey)(sdkKey)) { throw new Error('Invalid SDK key provided. Please call initialize with a valid server SDK key'); } if (options.enableCloudBucketing) { return new DevCycleCloudClient(sdkKey, options, (0, platformDetails_1.getNodeJSPlatformDetails)()); } return new client_1.DevCycleClient(sdkKey, options); } /** * @deprecated Use initializeDevCycle instead */ exports.initialize = initializeDevCycle; //# sourceMappingURL=index.js.map