UNPKG

@devcycle/js-cloud-server-sdk

Version:

The DevCycle JS Cloud Bucketing Server SDK used for feature management.

52 lines 2.24 kB
"use strict"; 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