UNPKG

@enonic/js-utils

Version:
47 lines (41 loc) 1.24 kB
// value/isStringLiteral.ts var isStringLiteral = (value) => typeof value === "string"; // value/isStringObject.ts var isStringObject = (value) => value instanceof String; // value/isString.ts var isString = (value) => isStringLiteral(value) || isStringObject(value); // string/endsWith.ts function endsWith(string, suffix) { return string.indexOf(suffix, string.length - suffix.length) !== -1; } // string/startsWith.ts function startsWith(string, searchString, position = 0) { const pos = position > 0 ? position | 0 : 0; return string.substring(pos, pos + searchString.length) === searchString; } // string/cleanAnyDoubleQuoteWrap.ts function cleanAnyDoubleQuoteWrap(val, label = "") { if (isString(val)) { if (startsWith(val, '"')) { if (!endsWith(val, '"')) { throw new Error( `Inconsistent double-quote-wrapping on '${label}' value: ${JSON.stringify( val )}` ); } return val.substring(1, val.length - 1); } if (endsWith(val, '"')) { throw new Error( `Inconsistent double-quote-wrapping on '${label}' value: ${JSON.stringify( val )}` ); } } return val; } export { cleanAnyDoubleQuoteWrap };