@devcycle/js-cloud-server-sdk
Version:
The DevCycle JS Cloud Bucketing Server SDK used for feature management.
52 lines • 2.24 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.HOST = void 0;
exports.getAllFeatures = getAllFeatures;
exports.getAllVariables = getAllVariables;
exports.getVariable = getVariable;
exports.postTrack = postTrack;
const server_request_1 = require("../server-request/src");
exports.HOST = '.devcycle.com';
const BUCKETING_BASE = 'https://bucketing-api';
const VARIABLES_PATH = '/v1/variables';
const FEATURES_PATH = '/v1/features';
const TRACK_PATH = '/v1/track';
const BUCKETING_URL = `${BUCKETING_BASE}${exports.HOST}`;
const EDGE_DB_QUERY_PARAM = '?enableEdgeDB=';
async function getAllFeatures(user, sdkKey, options) {
const baseUrl = `${options.bucketingAPIURI || BUCKETING_URL}${FEATURES_PATH}`;
const postUrl = baseUrl.concat(options.enableEdgeDB ? EDGE_DB_QUERY_PARAM.concat('true') : '');
return await (0, server_request_1.post)(postUrl, {
body: JSON.stringify(user),
retries: 5,
}, sdkKey);
}
async function getAllVariables(user, sdkKey, options) {
const baseUrl = `${options.bucketingAPIURI || BUCKETING_URL}${VARIABLES_PATH}`;
const postUrl = baseUrl.concat(options.enableEdgeDB ? EDGE_DB_QUERY_PARAM.concat('true') : '');
return await (0, server_request_1.post)(postUrl, {
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify(user),
retries: 5,
}, sdkKey);
}
async function getVariable(user, sdkKey, variableKey, options) {
const baseUrl = `${options.bucketingAPIURI || BUCKETING_URL}${VARIABLES_PATH}/${variableKey}`;
const postUrl = baseUrl.concat(options.enableEdgeDB ? EDGE_DB_QUERY_PARAM.concat('true') : '');
return await (0, server_request_1.post)(postUrl, {
body: JSON.stringify(user),
retries: 5,
}, sdkKey);
}
async function postTrack(user, event, sdkKey, options) {
const baseUrl = `${options.bucketingAPIURI || BUCKETING_URL}${TRACK_PATH}`;
const postUrl = baseUrl.concat(options.enableEdgeDB ? EDGE_DB_QUERY_PARAM.concat('true') : '');
await (0, server_request_1.post)(postUrl, {
body: JSON.stringify({
user,
events: [event],
}),
retries: 5,
}, sdkKey);
}
//# sourceMappingURL=request.js.map
;