@amaui/utils
Version:
413 lines (412 loc) • 26.9 kB
JavaScript
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.browserPolyfills = exports.arrayBufferPolyfill = exports.functionPolyfills = exports.blobPolyfills = exports.filePolyfills = exports.objectPolyfills = exports.arrayPolyfills = exports.booleanPolyfills = exports.numberPolyfills = exports.stringPolyfills = void 0;
const is_1 = __importDefault(require("./is"));
const isEnvironment_1 = __importDefault(require("./isEnvironment"));
const alpha_1 = __importDefault(require("./alpha"));
const equalDeep_1 = __importDefault(require("./equalDeep"));
const order_1 = __importDefault(require("./order"));
const encrypt_1 = __importDefault(require("./encrypt"));
const decrypt_1 = __importDefault(require("./decrypt"));
const encode_1 = __importDefault(require("./encode"));
const lighten_1 = __importDefault(require("./lighten"));
const darken_1 = __importDefault(require("./darken"));
const emphasize_1 = __importDefault(require("./emphasize"));
const getLuminance_1 = __importDefault(require("./getLuminance"));
const getContrastRatio_1 = __importDefault(require("./getContrastRatio"));
const decode_1 = __importDefault(require("./decode"));
const serialize_1 = __importDefault(require("./serialize"));
const deserialize_1 = __importDefault(require("./deserialize"));
const colorToRgb_1 = __importDefault(require("./colorToRgb"));
const rgbToHex_1 = __importDefault(require("./rgbToHex"));
const rgbToHsl_1 = __importDefault(require("./rgbToHsl"));
const rgbToRgba_1 = __importDefault(require("./rgbToRgba"));
const hslToRgb_1 = __importDefault(require("./hslToRgb"));
const hexToRgb_1 = __importDefault(require("./hexToRgb"));
const stringify_1 = __importDefault(require("./stringify"));
const binaryStringToHexadecimal_1 = __importDefault(require("./binaryStringToHexadecimal"));
const hexadecimalStringToBinary_1 = __importDefault(require("./hexadecimalStringToBinary"));
const parse_1 = __importDefault(require("./parse"));
const merge_1 = __importDefault(require("./merge"));
const hash_1 = __importDefault(require("./hash"));
const hashFile_1 = __importDefault(require("./hashFile"));
const getURL_1 = __importDefault(require("./getURL"));
const getOrdinalNumber_1 = __importDefault(require("./getOrdinalNumber"));
const getStringVariables_1 = __importDefault(require("./getStringVariables"));
const setStringVariables_1 = __importDefault(require("./setStringVariables"));
const flattenObject_1 = __importDefault(require("./flattenObject"));
const unflattenObject_1 = __importDefault(require("./unflattenObject"));
const hasObjectProperty_1 = __importDefault(require("./hasObjectProperty"));
const hasObjectPropertyValue_1 = __importDefault(require("./hasObjectPropertyValue"));
const getObjectValue_1 = __importDefault(require("./getObjectValue"));
const getObjectPropertyValue_1 = __importDefault(require("./getObjectPropertyValue"));
const setObjectValue_1 = __importDefault(require("./setObjectValue"));
const removeObjectValue_1 = __importDefault(require("./removeObjectValue"));
const unique_1 = __importDefault(require("./unique"));
const simpleNormalize_1 = __importDefault(require("./simpleNormalize"));
const getLeadingZerosNumber_1 = __importDefault(require("./getLeadingZerosNumber"));
const getFileName_1 = __importDefault(require("./getFileName"));
const fileToValue_1 = __importDefault(require("./fileToValue"));
const copy_1 = __importDefault(require("./copy"));
const clamp_1 = __importDefault(require("./clamp"));
const copyToClipboard_1 = __importDefault(require("./copyToClipboard"));
const capitalize_1 = __importDefault(require("./capitalize"));
const castParam_1 = __importDefault(require("./castParam"));
const cleanValue_1 = __importDefault(require("./cleanValue"));
const to_1 = __importDefault(require("./to"));
const pick_1 = __importDefault(require("./pick"));
const arrayToParts_1 = __importDefault(require("./arrayToParts"));
const slugify_1 = __importDefault(require("./slugify"));
const shuffle_1 = __importDefault(require("./shuffle"));
const updateQueryParams_1 = __importDefault(require("./updateQueryParams"));
const checkObjectFilters_1 = __importDefault(require("./checkObjectFilters"));
const numberWithCommas_1 = __importDefault(require("./numberWithCommas"));
const arrayMoveItem_1 = __importDefault(require("./arrayMoveItem"));
const factorial_1 = __importDefault(require("./factorial"));
const permutation_1 = __importDefault(require("./permutation"));
const permutationWithRepetition_1 = __importDefault(require("./permutationWithRepetition"));
const variation_1 = __importDefault(require("./variation"));
const variationWithRepetition_1 = __importDefault(require("./variationWithRepetition"));
const combination_1 = __importDefault(require("./combination"));
const combinationWithRepetition_1 = __importDefault(require("./combinationWithRepetition"));
const promisify_1 = __importDefault(require("./promisify"));
const stringPolyfills = (additions = true) => {
if (additions) {
// eslint-disable-next-line
String.prototype.alpha = function (opacity) { return (0, alpha_1.default)(this, opacity); };
// eslint-disable-next-line
String.prototype.encode = function () { return (0, encode_1.default)(this); };
// eslint-disable-next-line
String.prototype.encrypt = function (privateValue) { return (0, encrypt_1.default)(this, privateValue); };
// eslint-disable-next-line
String.prototype.simpleNormalize = function (options = undefined) { return (0, simpleNormalize_1.default)(this, options); };
// eslint-disable-next-line
String.prototype.getVariables = function (options = undefined) { return (0, getStringVariables_1.default)(this, options); };
// eslint-disable-next-line
String.prototype.setVariables = function (variablesToValue = [], options = undefined) { return (0, setStringVariables_1.default)(this, variablesToValue, options); };
// eslint-disable-next-line
String.prototype.getOrdinalNumber = function (options = undefined) { return (0, getOrdinalNumber_1.default)(this, options); };
// eslint-disable-next-line
String.prototype.getURL = function (options = undefined) { return (0, getURL_1.default)(this, options); };
// eslint-disable-next-line
String.prototype.stringify = function (spaces) { return (0, stringify_1.default)(this, spaces); };
// eslint-disable-next-line
String.prototype.parse = function (type = 'JSON', options = undefined) { return (0, parse_1.default)(this, type, options); };
// eslint-disable-next-line
String.prototype.colorToRgb = function (opacity = undefined, array = false) { return (0, colorToRgb_1.default)(this, opacity, array); };
// eslint-disable-next-line
String.prototype.rgbToHex = function (opacity = undefined, array = false) { return (0, rgbToHex_1.default)(this, opacity, array); };
// eslint-disable-next-line
String.prototype.rgbToHsl = function (opacity = undefined, array = false) { return (0, rgbToHsl_1.default)(this, opacity, array); };
// eslint-disable-next-line
String.prototype.rgbToRgba = function (opacity = undefined, array = false) { return (0, rgbToRgba_1.default)(this, opacity, array); };
// eslint-disable-next-line
String.prototype.hslToRgb = function (opacity = undefined, array = false) { return (0, hslToRgb_1.default)(this, opacity, array); };
// eslint-disable-next-line
String.prototype.hexToRgb = function (opacity = undefined, array = false) { return (0, hexToRgb_1.default)(this, opacity, array); };
// eslint-disable-next-line
String.prototype.serialize = function () { return (0, serialize_1.default)(this); };
// eslint-disable-next-line
String.prototype.decode = function () { return (0, decode_1.default)(this); };
// eslint-disable-next-line
String.prototype.deserialize = function () { return (0, deserialize_1.default)(this); };
// eslint-disable-next-line
String.prototype.decrypt = function (privateValue, options = undefined) { return (0, decrypt_1.default)(this, privateValue); };
// eslint-disable-next-line
String.prototype.equalDeep = function (valueB) { return (0, equalDeep_1.default)(this, valueB); };
// eslint-disable-next-line
String.prototype.lighten = function (coefficient) { return (0, lighten_1.default)(this, coefficient); };
// eslint-disable-next-line
String.prototype.darken = function (coefficient) { return (0, darken_1.default)(this, coefficient); };
// eslint-disable-next-line
String.prototype.emphasize = function (coefficient = 0.14) { return (0, emphasize_1.default)(this, coefficient); };
// eslint-disable-next-line
String.prototype.binaryStringToHexadecimal = function () { return (0, binaryStringToHexadecimal_1.default)(this); };
// eslint-disable-next-line
String.prototype.hexadecimalStringToBinary = function () { return (0, hexadecimalStringToBinary_1.default)(this); };
// eslint-disable-next-line
String.prototype.getLeadingZerosNumber = function (options = undefined) { return (0, getLeadingZerosNumber_1.default)(this, options); };
// eslint-disable-next-line
String.prototype.getLuminance = function () { return (0, getLuminance_1.default)(this); };
// eslint-disable-next-line
String.prototype.getContrastRatio = function (valueB) { return (0, getContrastRatio_1.default)(this, valueB); };
// eslint-disable-next-line
String.prototype.hash = function (options = undefined) { return (0, hash_1.default)(this, options); };
// eslint-disable-next-line
String.prototype.is = function (type, options = undefined) { return (0, is_1.default)(type, this, options); };
// eslint-disable-next-line
String.prototype.copyToClipboard = function () { return (0, copyToClipboard_1.default)(this); };
// eslint-disable-next-line
String.prototype.numberWithCommas = function (delimiter = ',') { return (0, numberWithCommas_1.default)(this, delimiter); };
// eslint-disable-next-line
String.prototype.capitalize = function () { return (0, capitalize_1.default)(this); };
// eslint-disable-next-line
String.prototype.castParam = function (options) { return (0, castParam_1.default)(this, options); };
// eslint-disable-next-line
String.prototype.clean = function (options) { return (0, cleanValue_1.default)(this, options); };
// eslint-disable-next-line
String.prototype.pick = function (min = 1, max) { return (0, pick_1.default)(this, min, max); };
// eslint-disable-next-line
String.prototype.slugify = function (options = undefined) { return (0, slugify_1.default)(this, options); };
// eslint-disable-next-line
String.prototype.shuffle = function (toShuffle = 14) { return (0, shuffle_1.default)(this, toShuffle); };
// eslint-disable-next-line
String.prototype.to = function (type = 'arraybuffer', options = undefined) { return (0, to_1.default)(this, type, options); };
}
};
exports.stringPolyfills = stringPolyfills;
const numberPolyfills = (additions = true) => {
if (additions) {
// eslint-disable-next-line
Number.prototype.encode = function () { return (0, encode_1.default)(this); };
// eslint-disable-next-line
Number.prototype.factorial = function () { return (0, factorial_1.default)(this); };
// eslint-disable-next-line
Number.prototype.hash = function (options = undefined) { return (0, hash_1.default)(this, options); };
// eslint-disable-next-line
Number.prototype.encrypt = function (privateValue) { return (0, encrypt_1.default)(this, privateValue); };
// eslint-disable-next-line
Number.prototype.stringify = function (spaces) { return (0, stringify_1.default)(this, spaces); };
// eslint-disable-next-line
Number.prototype.simpleNormalize = function (options = undefined) { return (0, simpleNormalize_1.default)(this, options); };
// eslint-disable-next-line
Number.prototype.parse = function (type = 'JSON', options = undefined) { return (0, parse_1.default)(this, type, options); };
// eslint-disable-next-line
Number.prototype.serialize = function () { return (0, serialize_1.default)(this); };
// eslint-disable-next-line
Number.prototype.equalDeep = function (valueB) { return (0, equalDeep_1.default)(this, valueB); };
// eslint-disable-next-line
Number.prototype.is = function (type, options = undefined) { return (0, is_1.default)(type, this, options); };
// eslint-disable-next-line
Number.prototype.getLeadingZeros = function (options = undefined) { return (0, getLeadingZerosNumber_1.default)(this, options); };
// eslint-disable-next-line
Number.prototype.getOrdinal = function (options = undefined) { return (0, getOrdinalNumber_1.default)(this, options); };
// eslint-disable-next-line
Number.prototype.copyToClipboard = function () { return (0, copyToClipboard_1.default)(this); };
// eslint-disable-next-line
Number.prototype.clamp = function (min, max) { return (0, clamp_1.default)(this, min, max); };
// eslint-disable-next-line
Number.prototype.castParam = function (options) { return (0, castParam_1.default)(this, options); };
// eslint-disable-next-line
Number.prototype.withCommas = function (delimiter = ',') { return (0, numberWithCommas_1.default)(this, delimiter); };
// eslint-disable-next-line
Number.prototype.to = function (type = 'arraybuffer', options = undefined) { return (0, to_1.default)(this, type, options); };
}
};
exports.numberPolyfills = numberPolyfills;
const booleanPolyfills = (additions = true) => {
if (additions) {
// eslint-disable-next-line
Boolean.prototype.encode = function () { return (0, encode_1.default)(this); };
// eslint-disable-next-line
Boolean.prototype.hash = function (options = undefined) { return (0, hash_1.default)(this, options); };
// eslint-disable-next-line
Boolean.prototype.encrypt = function (privateValue) { return (0, encrypt_1.default)(this, privateValue); };
// eslint-disable-next-line
Boolean.prototype.stringify = function (spaces) { return (0, stringify_1.default)(this, spaces); };
// eslint-disable-next-line
Boolean.prototype.simpleNormalize = function (options = undefined) { return (0, simpleNormalize_1.default)(this, options); };
// eslint-disable-next-line
Boolean.prototype.parse = function (type = 'JSON', options = undefined) { return (0, parse_1.default)(this, type, options); };
// eslint-disable-next-line
Boolean.prototype.serialize = function () { return (0, serialize_1.default)(this); };
// eslint-disable-next-line
Boolean.prototype.equalDeep = function (valueB) { return (0, equalDeep_1.default)(this, valueB); };
// eslint-disable-next-line
Boolean.prototype.is = function (type, options = undefined) { return (0, is_1.default)(type, this, options); };
// eslint-disable-next-line
Boolean.prototype.copyToClipboard = function () { return (0, copyToClipboard_1.default)(this); };
// eslint-disable-next-line
Boolean.prototype.castParam = function (options) { return (0, castParam_1.default)(this, options); };
// eslint-disable-next-line
Boolean.prototype.to = function (type = 'arraybuffer', options = undefined) { return (0, to_1.default)(this, type, options); };
}
};
exports.booleanPolyfills = booleanPolyfills;
const arrayPolyfills = (additions = true) => {
if (additions) {
// eslint-disable-next-line
Array.prototype.order = function () { return (0, order_1.default)(this); };
// eslint-disable-next-line
Array.prototype.permutation = function (options) { return (0, permutation_1.default)(this, options); };
// eslint-disable-next-line
Array.prototype.permutationWithRepetition = function (options) { return (0, permutationWithRepetition_1.default)(this, options); };
// eslint-disable-next-line
Array.prototype.variation = function (items, options) { return (0, variation_1.default)(this, items, options); };
// eslint-disable-next-line
Array.prototype.variationWithRepetition = function (items, options) { return (0, variationWithRepetition_1.default)(this, items, options); };
// eslint-disable-next-line
Array.prototype.combination = function (items, options) { return (0, combination_1.default)(this, items, options); };
// eslint-disable-next-line
Array.prototype.combinationWithRepetition = function (items, options) { return (0, combinationWithRepetition_1.default)(this, items, options); };
// eslint-disable-next-line
Array.prototype.unique = function (...args) { return (0, unique_1.default)(this, ...args); };
// eslint-disable-next-line
Array.prototype.encode = function () { return (0, encode_1.default)(this); };
// eslint-disable-next-line
Array.prototype.stringify = function (spaces) { return (0, stringify_1.default)(this, spaces); };
// eslint-disable-next-line
Array.prototype.getValue = function (...args) { return (0, getObjectValue_1.default)(this, ...args); };
// eslint-disable-next-line
Array.prototype.setValue = function (keys, value = undefined, options) { return (0, setObjectValue_1.default)(this, keys, value, options); };
// eslint-disable-next-line
Array.prototype.removeValue = function (keys) { return (0, removeObjectValue_1.default)(this, keys); };
// eslint-disable-next-line
Array.prototype.getPropertyValue = function (keys) { return (0, getObjectPropertyValue_1.default)(this, keys); };
// eslint-disable-next-line
Array.prototype.hasProperty = function (...args) { return (0, hasObjectProperty_1.default)(this, ...args); };
// eslint-disable-next-line
Array.prototype.hasPropertyValue = function (keys) { return (0, hasObjectPropertyValue_1.default)(this, keys); };
// eslint-disable-next-line
Array.prototype.hash = function (options = undefined) { return (0, hash_1.default)(this, options); };
// eslint-disable-next-line
Array.prototype.encrypt = function (privateValue) { return (0, encrypt_1.default)(this, privateValue); };
// eslint-disable-next-line
Array.prototype.merge = function (source, options = undefined) { return (0, merge_1.default)(this, source, options); };
// eslint-disable-next-line
Array.prototype.parse = function (type = 'JSON', options = undefined) { return (0, parse_1.default)(this, type, options); };
// eslint-disable-next-line
Array.prototype.serialize = function () { return (0, serialize_1.default)(this); };
// eslint-disable-next-line
Array.prototype.equalDeep = function (valueB) { return (0, equalDeep_1.default)(this, valueB); };
// eslint-disable-next-line
Array.prototype.is = function (type, options = undefined) { return (0, is_1.default)(type, this, options); };
// eslint-disable-next-line
Array.prototype.copyToClipboard = function () { return (0, copyToClipboard_1.default)(this); };
// eslint-disable-next-line
Array.prototype.copy = function () { return (0, copy_1.default)(this); };
// eslint-disable-next-line
Array.prototype.moveItem = function (oldIndex, newIndex) { return (0, arrayMoveItem_1.default)(this, oldIndex, newIndex); };
// eslint-disable-next-line
Array.prototype.toParts = function (parts) { return (0, arrayToParts_1.default)(this, parts); };
}
};
exports.arrayPolyfills = arrayPolyfills;
const objectPolyfills = (additions = true) => {
if (additions) {
// eslint-disable-next-line
Object.prototype.order = function () { return (0, order_1.default)(this); };
// eslint-disable-next-line
Object.prototype.encode = function () { return (0, encode_1.default)(this); };
// eslint-disable-next-line
Object.prototype.hash = function (options = undefined) { return (0, hash_1.default)(this, options); };
// eslint-disable-next-line
Object.prototype.encrypt = function (privateValue) { return (0, encrypt_1.default)(this, privateValue); };
// eslint-disable-next-line
Object.prototype.stringify = function (spaces) { return (0, stringify_1.default)(this, spaces); };
// eslint-disable-next-line
Object.prototype.getValue = function (...args) { return (0, getObjectValue_1.default)(this, ...args); };
// eslint-disable-next-line
Object.prototype.setValue = function (keys, value = undefined, options) { return (0, setObjectValue_1.default)(this, keys, value, options); };
// eslint-disable-next-line
Object.prototype.removeValue = function (keys) { return (0, removeObjectValue_1.default)(this, keys); };
// eslint-disable-next-line
Object.prototype.hasProperty = function (...args) { return (0, hasObjectProperty_1.default)(this, ...args); };
// eslint-disable-next-line
Object.prototype.hasPropertyValue = function (keys) { return (0, hasObjectPropertyValue_1.default)(this, keys); };
// eslint-disable-next-line
Object.prototype.getPropertyValue = function (keys) { return (0, getObjectPropertyValue_1.default)(this, keys); };
// eslint-disable-next-line
Object.prototype.flatten = function () { return (0, flattenObject_1.default)(this); };
// eslint-disable-next-line
Object.prototype.unflatten = function () { return (0, unflattenObject_1.default)(this); };
// eslint-disable-next-line
Object.prototype.merge = function (source, options = undefined) { return (0, merge_1.default)(this, source, options); };
// eslint-disable-next-line
Object.prototype.parse = function (type = 'JSON', options = undefined) { return (0, parse_1.default)(this, type, options); };
// eslint-disable-next-line
Object.prototype.serialize = function () { return (0, serialize_1.default)(this); };
// eslint-disable-next-line
Object.prototype.equalDeep = function (valueB) { return (0, equalDeep_1.default)(this, valueB); };
// eslint-disable-next-line
Object.prototype.is = function (type, options = undefined) { return (0, is_1.default)(type, this, options); };
// eslint-disable-next-line
Object.prototype.copyToClipboard = function () { return (0, copyToClipboard_1.default)(this); };
// eslint-disable-next-line
Object.prototype.copy = function () { return (0, copy_1.default)(this); };
// eslint-disable-next-line
Object.prototype.updateQueryParams = function (override = true) { return (0, updateQueryParams_1.default)(this, override); };
// eslint-disable-next-line
Object.prototype.checkFilters = function (filters, operator) { return (0, checkObjectFilters_1.default)(this, filters, operator); };
}
};
exports.objectPolyfills = objectPolyfills;
const filePolyfills = (additions = true) => {
if ((0, isEnvironment_1.default)('browser') && additions) {
// eslint-disable-next-line
File.prototype.hash = function (options = undefined) { return (0, hashFile_1.default)(this, options); };
// eslint-disable-next-line
File.prototype.equalDeep = function (valueB) { return (0, equalDeep_1.default)(this, valueB); };
// eslint-disable-next-line
File.prototype.getName = function (options) { return (0, getFileName_1.default)(this, options); };
// eslint-disable-next-line
File.prototype.toValue = function (type) { return (0, fileToValue_1.default)(this, type); };
}
};
exports.filePolyfills = filePolyfills;
const blobPolyfills = (additions = true) => {
if ((0, isEnvironment_1.default)('browser') && additions) {
// eslint-disable-next-line
Blob.prototype.equalDeep = function (valueB) { return (0, equalDeep_1.default)(this, valueB); };
}
};
exports.blobPolyfills = blobPolyfills;
const functionPolyfills = (additions = true) => {
if (additions) {
// eslint-disable-next-line
Function.prototype.promisify = function () { return (0, promisify_1.default)(this); };
// eslint-disable-next-line
Function.prototype.equalDeep = function (valueB) { return (0, equalDeep_1.default)(this, valueB); };
// eslint-disable-next-line
Function.prototype.is = function (type, options = undefined) { return (0, is_1.default)(type, this, options); };
}
};
exports.functionPolyfills = functionPolyfills;
function arrayBufferFunction() {
// this: File or Blob
return new Promise(resolve => {
const fileReader = new FileReader();
fileReader.onload = () => resolve(fileReader.result);
fileReader.readAsArrayBuffer(this);
});
}
const arrayBufferPolyfill = () => {
var _a;
const AMAUI_TEST = ((_a = window.AMAUI) === null || _a === void 0 ? void 0 : _a.env) === 'test';
if ('File' in window)
File.prototype.arrayBuffer = AMAUI_TEST ? arrayBufferFunction || File.prototype.arrayBuffer : File.prototype.arrayBuffer || arrayBufferFunction;
if ('Blob' in window)
Blob.prototype.arrayBuffer = AMAUI_TEST ? arrayBufferFunction || Blob.prototype.arrayBuffer : Blob.prototype.arrayBuffer || arrayBufferFunction;
};
exports.arrayBufferPolyfill = arrayBufferPolyfill;
const browserPolyfills = (additions = true) => {
if ((0, isEnvironment_1.default)('browser')) {
// ArrayBuffer
(0, exports.arrayBufferPolyfill)();
}
};
exports.browserPolyfills = browserPolyfills;
const polyfills = (additions = true) => {
// String
(0, exports.stringPolyfills)(additions);
// // Number
(0, exports.numberPolyfills)(additions);
// Boolean
(0, exports.booleanPolyfills)(additions);
// Array
(0, exports.arrayPolyfills)(additions);
// Object
(0, exports.objectPolyfills)(additions);
// File
(0, exports.filePolyfills)(additions);
// Blob
(0, exports.blobPolyfills)(additions);
// Function
(0, exports.functionPolyfills)(additions);
// Browser
(0, exports.browserPolyfills)(additions);
};
exports.default = polyfills;