AlphaX-Projects fa29ff4c43 Update UI
Refactor and added new functioms
2024-05-08 13:16:23 +02:00

18 lines
536 B
JavaScript
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

export function interpolate(text, values, config) {
return Object.entries(extract(values || {})).reduce((text, [key, value]) => text.replace(new RegExp(`{{[  ]*${key}[  ]*}}`, `gm`), String(extract(value))), text)
}
export function lookup(key, config) {
const parts = key.split(".")
let string = config.strings
while (string != null && parts.length > 0) {
string = string[parts.shift()]
}
return string != null ? string.toString() : null
}
export function extract(obj) {
return (typeof obj === "function") ? obj() : obj
}