UNPKG

@busy-web/ember-date-time

Version:

Date time & and range picker for ember addon

65 lines (55 loc) 1.72 kB
/** * @module Utils/Clock * */ import { dasherize, underscore } from '@ember/string'; import { assert } from '@ember/debug'; /** * generates a meta data reference name * * @private * @method metaName * @params key {string} a key to generate the reference name with * @return {string} */ export function metaName(key) { assert(`metaName takes a string as an argument, you passed ${typeof key} ${key}`, typeof key === 'string' && key.trim().length); return `__${underscore(key)}__meta`; } /** * generates a css class reference key to the element in the DOM * * @private * @method elementName * @params key {string} a key to generate the reference name with * @return {string} */ export function elementName(key) { assert(`elementName takes a string as an argument, you passed ${typeof key} ${key}`, typeof key === 'string' && key.trim().length); return `.--svg-clock__${dasherize(key)}`; } /** * generates a number with a 0 for padding when the number is less than 10 * * @private * @method formatNumber * @params num {number} the number to format * @return {string} */ export function numberToString(num) { assert(`numberToString takes a number as an argument, you passed ${typeof num} ${num}`, typeof num === 'number'); return (num < 10 ? `0${num}` : `${num}`); } /** * Converts a string to an integer value * * @public * @method stringToInteger * @param value {string} * @return {number} */ export function stringToNumber(str) { assert(`stringToNumber takes a string as an argument, you passed ${typeof str} ${str}`, typeof str === 'string'); str = str.replace(/\D/g, ''); return parseInt(str, 10); }