miscUtil.js 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. export function leftPad(str, length) {
  2. var fill = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '0';
  3. var current = String(str);
  4. while (current.length < length) {
  5. current = "".concat(fill).concat(str);
  6. }
  7. return current;
  8. }
  9. export var tuple = function tuple() {
  10. for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
  11. args[_key] = arguments[_key];
  12. }
  13. return args;
  14. };
  15. export function toArray(val) {
  16. if (val === null || val === undefined) {
  17. return [];
  18. }
  19. return Array.isArray(val) ? val : [val];
  20. }
  21. export default function getDataOrAriaProps(props) {
  22. var retProps = {};
  23. Object.keys(props).forEach(function (key) {
  24. if ((key.substr(0, 5) === 'data-' || key.substr(0, 5) === 'aria-' || key === 'role' || key === 'name') && key.substr(0, 7) !== 'data-__') {
  25. retProps[key] = props[key];
  26. }
  27. });
  28. return retProps;
  29. }
  30. export function getValue(values, index) {
  31. return values ? values[index] : null;
  32. }
  33. export function updateValues(values, value, index) {
  34. var newValues = [getValue(values, 0), getValue(values, 1)];
  35. newValues[index] = typeof value === 'function' ? value(newValues[index]) : value;
  36. if (!newValues[0] && !newValues[1]) {
  37. return null;
  38. }
  39. return newValues;
  40. }