1
0
Fork 0
mirror of synced 2024-07-04 05:50:57 +12:00
budibase/packages/string-templates/src/utilities.js

35 lines
808 B
JavaScript
Raw Normal View History

const _ = require("lodash")
const ALPHA_NUMERIC_REGEX = /^[A-Za-z0-9]+$/g
module.exports.FIND_HBS_REGEX = /{{([^{].*?)}}/g
2021-01-22 00:32:26 +13:00
module.exports.isAlphaNumeric = char => {
return char.match(ALPHA_NUMERIC_REGEX)
}
module.exports.swapStrings = (string, start, length, swap) => {
return string.slice(0, start) + swap + string.slice(start + length)
}
// removes null and undefined
module.exports.removeNull = obj => {
2021-01-26 06:08:38 +13:00
obj = _(obj)
.omitBy(_.isUndefined)
.omitBy(_.isNull)
.value()
for (let [key, value] of Object.entries(obj)) {
// only objects
if (typeof value === "object" && !Array.isArray(value)) {
obj[key] = module.exports.removeNull(value)
}
}
return obj
}
module.exports.addConstants = obj => {
if (obj.now == null) {
obj.now = new Date()
}
return obj
}