UNPKG

sweetalert2

Version:

A beautiful, responsive, customizable and accessible (WAI-ARIA) replacement for JavaScript's popup boxes, supported fork of sweetalert

83 lines (73 loc) 1.86 kB
export const consolePrefix = 'SweetAlert2:' /** * Filter the unique values into a new array * @param arr */ export const uniqueArray = (arr) => { const result = [] for (let i = 0; i < arr.length; i++) { if (result.indexOf(arr[i]) === -1) { result.push(arr[i]) } } return result } /** * Convert NodeList to Array * @param nodeList */ export const toArray = (nodeList) => Array.prototype.slice.call(nodeList) /** * Converts `inputOptions` into an array of `[value, label]`s * @param inputOptions */ export const formatInputOptions = (inputOptions) => { const result = [] if (typeof Map !== 'undefined' && inputOptions instanceof Map) { inputOptions.forEach((value, key) => { result.push([key, value]) }) } else { Object.keys(inputOptions).forEach(key => { result.push([key, inputOptions[key]]) }) } return result } /** * Standardise console warnings * @param message */ export const warn = (message) => { console.warn(`${consolePrefix} ${message}`) } /** * Standardise console errors * @param message */ export const error = (message) => { console.error(`${consolePrefix} ${message}`) } /** * Private global state for `warnOnce` * @type {Array} * @private */ const previousWarnOnceMessages = [] /** * Show a console warning, but only if it hasn't already been shown * @param message */ export const warnOnce = (message) => { if (!previousWarnOnceMessages.includes(message)) { previousWarnOnceMessages.push(message) warn(message) } } /** * If `arg` is a function, call it (with no arguments or context) and return the result. * Otherwise, just pass the value through * @param arg */ export const callIfFunction = (arg) => typeof arg === 'function' ? arg() : arg export const isThenable = (arg) => typeof arg === 'object' && typeof arg.then === 'function'