@exadel/esl
Version:
Exadel Smart Library (ESL) is the lightweight custom elements library that provide a set of super-flexible components
20 lines (19 loc) • 720 B
JavaScript
/** Parses `null` and `undefined` as an empty string */
export const parseString = (val) => String(val !== null && val !== void 0 ? val : '');
/**
* Serialize to boolean string (`'true'|'false'`)
* Preserve null, undefined and empty string
*/
export const toBooleanAttribute = (val) => {
if (val === null || val === undefined)
return val;
return String(!!val && val !== 'false' && val !== '0');
};
/** Parses string representation of the boolean value */
export const parseBoolean = (val) => val !== null && val !== 'false' && val !== '0';
export function parseNumber(str, nanValue) {
if (str === 0)
return 0;
const value = +(str || NaN);
return isNaN(value) ? nanValue : value;
}