@dev-team-tool/feature-switches
Version:
Library to access feature-switches from dev-team-tools.com programatically
86 lines (84 loc) • 3.02 kB
JavaScript
var __typeError = (msg) => {
throw TypeError(msg);
};
var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
// src/FeatureSwitchManagerImp.ts
var _url, _token, _environment;
var FeatureSwitchManagerImpl = class {
constructor(token, environment) {
__privateAdd(this, _url, "https://feature-switches.harry-9ce.workers.dev");
__privateAdd(this, _token);
__privateAdd(this, _environment);
this.getSwitchValue = async (key, userRequest) => {
const body = userRequest ? userRequest : void 0;
const url = `${__privateGet(this, _url)}/${__privateGet(this, _environment)}/${key}`;
let response;
try {
response = await fetch(url, {
method: "POST",
headers: {
"User-Agent": "dev-team-tools-node",
"Content-Type": "application/json",
Authorization: __privateGet(this, _token)
},
body: JSON.stringify(body)
});
if (response.status > 299) {
console.error(`Status code: ${response.status} returned`);
return false;
}
} catch (err) {
console.error(err);
return false;
}
try {
const result = await response.json();
return result.value;
} catch (err) {
console.error(err);
return false;
}
};
this.getSwitches = async (userRequest) => {
const body = userRequest ? userRequest : void 0;
const url = `${__privateGet(this, _url)}/${__privateGet(this, _environment)}`;
let response;
try {
response = await fetch(url, {
method: "POST",
headers: {
"User-Agent": "dev-team-tools-node",
"Content-Type": "application/json",
Authorization: __privateGet(this, _token)
},
body: JSON.stringify(body)
});
if (response.status > 299) {
console.error(`Status code: ${response.status} returned`);
return [];
}
} catch (err) {
console.error(err);
return [];
}
try {
const result = await response.json();
return result;
} catch (err) {
console.error(err);
return [];
}
};
__privateSet(this, _token, token);
__privateSet(this, _environment, environment);
}
};
_url = new WeakMap();
_token = new WeakMap();
_environment = new WeakMap();
export {
FeatureSwitchManagerImpl as FeatureSwitchManager
};