@devcycle/nodejs-server-sdk
Version:
The DevCycle NodeJS Server SDK used for feature management.
59 lines • 3.53 kB
JavaScript
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
;