UNPKG

@bothive/helpers

Version:

Collection of helper functions mainly used inside bothive-core project

72 lines 2.39 kB
"use strict"; 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