@bothive/helpers
Version:
Collection of helper functions mainly used inside bothive-core project
72 lines • 2.39 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const tslib_1 = require("tslib");
const lodash_get_1 = (0, tslib_1.__importDefault)(require("lodash.get"));
const config_1 = require("../config");
function isEmptyString(value) {
return !value || value === "" || value === " ";
}
function firstToUppercase(string) {
if (!(string === null || string === void 0 ? void 0 : string.length)) {
return "";
}
return string.charAt(0).toUpperCase() + string.slice(1);
}
function createQueryString(params) {
if (!params) {
return "";
}
const parse = JSON.parse(JSON.stringify(params));
return Object.keys(parse).reduce((prev, key, index) => (index === 0 ? `?${key}=${params[key]}` : `${prev}&${key}=${params[key]}`), "");
}
function encodeToBase64(string) {
if (!(string === null || string === void 0 ? void 0 : string.length)) {
return "";
}
return Buffer.from(string).toString("base64").replace(/\+/g, "-").replace(/\//g, "_");
}
function encodeObject(payload) {
return Object.entries(payload)
.map(([key, value]) => `${key}=${encodeURIComponent(`${value}`)}`)
.join("&");
}
function formatCompanyNumber(companyNumber) {
if (!companyNumber) {
throw new Error("company number is undefined");
}
return `${companyNumber.slice(0, 4)}.${companyNumber.slice(4, 7)}.${companyNumber.slice(7)}`;
}
function replaceTemplates({ string, payload }) {
if (!payload) {
return string;
}
return string.replace(/{{([a-zA-Z0-9\-\_\.[\]]*)}}/g, (value, key) => (0, lodash_get_1.default)(payload, key, value));
}
function isBothiveInternetId(internetId) {
if (!(internetId === null || internetId === void 0 ? void 0 : internetId.length)) {
return false;
}
return internetId.endsWith(`@${config_1.variablesConfig.internetIdSuffix}>`);
}
function convertBoolean(value) {
const _value = `${value}`.toLocaleLowerCase();
if (value === true || _value === "true") {
return true;
}
if (value === false || _value === "false") {
return false;
}
return false;
}
exports.default = {
isEmptyString,
firstToUppercase,
createQueryString,
encodeToBase64,
encodeObject,
replaceTemplates,
formatCompanyNumber,
isBothiveInternetId,
convertBoolean,
};
//# sourceMappingURL=string.helpers.js.map