(function webpackUniversalModuleDefinition(root, factory) { if(typeof exports === 'object' && typeof module === 'object') module.exports = factory(); else if(typeof define === 'function' && define.amd) define([], factory); else if(typeof exports === 'object') exports["apidomParserAdapterOpenApiYaml2"] = factory(); else root["apidomParserAdapterOpenApiYaml2"] = factory(); })(self, () => { return /******/ (() => { // webpackBootstrap /******/ var __webpack_modules__ = ({ /***/ 81730: /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _swagger_api_apidom_ns_openapi_2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3677); /** * @public */ const yamlMediaTypes = new _swagger_api_apidom_ns_openapi_2__WEBPACK_IMPORTED_MODULE_0__.OpenAPIMediaTypes(..._swagger_api_apidom_ns_openapi_2__WEBPACK_IMPORTED_MODULE_0__["default"].filterByFormat('generic'), ..._swagger_api_apidom_ns_openapi_2__WEBPACK_IMPORTED_MODULE_0__["default"].filterByFormat('yaml')); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (yamlMediaTypes); /***/ }), /***/ 12733: /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (__webpack_require__.p + "2f9d346f3bc0cf9ba30b2a61e889fb78.wasm"); /***/ }), /***/ 16722: /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (__webpack_require__.p + "083dd6647843baf16cbefd09aae31f27.wasm"); /***/ }), /***/ 33103: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var getNative = __webpack_require__(94715), root = __webpack_require__(78942); /* Built-in method references that are verified to be native. */ var DataView = getNative(root, 'DataView'); module.exports = DataView; /***/ }), /***/ 25098: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var hashClear = __webpack_require__(23305), hashDelete = __webpack_require__(39361), hashGet = __webpack_require__(11112), hashHas = __webpack_require__(25276), hashSet = __webpack_require__(57452); /** * Creates a hash object. * * @private * @constructor * @param {Array} [entries] The key-value pairs to cache. */ function Hash(entries) { var index = -1, length = entries == null ? 0 : entries.length; this.clear(); while (++index < length) { var entry = entries[index]; this.set(entry[0], entry[1]); } } // Add methods to `Hash`. Hash.prototype.clear = hashClear; Hash.prototype['delete'] = hashDelete; Hash.prototype.get = hashGet; Hash.prototype.has = hashHas; Hash.prototype.set = hashSet; module.exports = Hash; /***/ }), /***/ 1386: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var listCacheClear = __webpack_require__(12393), listCacheDelete = __webpack_require__(62049), listCacheGet = __webpack_require__(7144), listCacheHas = __webpack_require__(7452), listCacheSet = __webpack_require__(13964); /** * Creates an list cache object. * * @private * @constructor * @param {Array} [entries] The key-value pairs to cache. */ function ListCache(entries) { var index = -1, length = entries == null ? 0 : entries.length; this.clear(); while (++index < length) { var entry = entries[index]; this.set(entry[0], entry[1]); } } // Add methods to `ListCache`. ListCache.prototype.clear = listCacheClear; ListCache.prototype['delete'] = listCacheDelete; ListCache.prototype.get = listCacheGet; ListCache.prototype.has = listCacheHas; ListCache.prototype.set = listCacheSet; module.exports = ListCache; /***/ }), /***/ 19770: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var getNative = __webpack_require__(94715), root = __webpack_require__(78942); /* Built-in method references that are verified to be native. */ var Map = getNative(root, 'Map'); module.exports = Map; /***/ }), /***/ 68250: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var mapCacheClear = __webpack_require__(49753), mapCacheDelete = __webpack_require__(5681), mapCacheGet = __webpack_require__(80088), mapCacheHas = __webpack_require__(54732), mapCacheSet = __webpack_require__(59068); /** * Creates a map cache object to store key-value pairs. * * @private * @constructor * @param {Array} [entries] The key-value pairs to cache. */ function MapCache(entries) { var index = -1, length = entries == null ? 0 : entries.length; this.clear(); while (++index < length) { var entry = entries[index]; this.set(entry[0], entry[1]); } } // Add methods to `MapCache`. MapCache.prototype.clear = mapCacheClear; MapCache.prototype['delete'] = mapCacheDelete; MapCache.prototype.get = mapCacheGet; MapCache.prototype.has = mapCacheHas; MapCache.prototype.set = mapCacheSet; module.exports = MapCache; /***/ }), /***/ 89413: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var getNative = __webpack_require__(94715), root = __webpack_require__(78942); /* Built-in method references that are verified to be native. */ var Promise = getNative(root, 'Promise'); module.exports = Promise; /***/ }), /***/ 64512: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var getNative = __webpack_require__(94715), root = __webpack_require__(78942); /* Built-in method references that are verified to be native. */ var Set = getNative(root, 'Set'); module.exports = Set; /***/ }), /***/ 23212: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var MapCache = __webpack_require__(68250), setCacheAdd = __webpack_require__(1877), setCacheHas = __webpack_require__(8006); /** * * Creates an array cache object to store unique values. * * @private * @constructor * @param {Array} [values] The values to cache. */ function SetCache(values) { var index = -1, length = values == null ? 0 : values.length; this.__data__ = new MapCache; while (++index < length) { this.add(values[index]); } } // Add methods to `SetCache`. SetCache.prototype.add = SetCache.prototype.push = setCacheAdd; SetCache.prototype.has = setCacheHas; module.exports = SetCache; /***/ }), /***/ 51340: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var ListCache = __webpack_require__(1386), stackClear = __webpack_require__(64103), stackDelete = __webpack_require__(21779), stackGet = __webpack_require__(34162), stackHas = __webpack_require__(7462), stackSet = __webpack_require__(96638); /** * Creates a stack cache object to store key-value pairs. * * @private * @constructor * @param {Array} [entries] The key-value pairs to cache. */ function Stack(entries) { var data = this.__data__ = new ListCache(entries); this.size = data.size; } // Add methods to `Stack`. Stack.prototype.clear = stackClear; Stack.prototype['delete'] = stackDelete; Stack.prototype.get = stackGet; Stack.prototype.has = stackHas; Stack.prototype.set = stackSet; module.exports = Stack; /***/ }), /***/ 65650: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var root = __webpack_require__(78942); /** Built-in value references. */ var Symbol = root.Symbol; module.exports = Symbol; /***/ }), /***/ 31623: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var root = __webpack_require__(78942); /** Built-in value references. */ var Uint8Array = root.Uint8Array; module.exports = Uint8Array; /***/ }), /***/ 19270: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var getNative = __webpack_require__(94715), root = __webpack_require__(78942); /* Built-in method references that are verified to be native. */ var WeakMap = getNative(root, 'WeakMap'); module.exports = WeakMap; /***/ }), /***/ 79847: /***/ ((module) => { /** * A specialized version of `_.filter` for arrays without support for * iteratee shorthands. * * @private * @param {Array} [array] The array to iterate over. * @param {Function} predicate The function invoked per iteration. * @returns {Array} Returns the new filtered array. */ function arrayFilter(array, predicate) { var index = -1, length = array == null ? 0 : array.length, resIndex = 0, result = []; while (++index < length) { var value = array[index]; if (predicate(value, index, array)) { result[resIndex++] = value; } } return result; } module.exports = arrayFilter; /***/ }), /***/ 10358: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var baseTimes = __webpack_require__(26137), isArguments = __webpack_require__(3283), isArray = __webpack_require__(53142), isBuffer = __webpack_require__(75853), isIndex = __webpack_require__(69632), isTypedArray = __webpack_require__(8666); /** Used for built-in method references. */ var objectProto = Object.prototype; /** Used to check objects for own properties. */ var hasOwnProperty = objectProto.hasOwnProperty; /** * Creates an array of the enumerable property names of the array-like `value`. * * @private * @param {*} value The value to query. * @param {boolean} inherited Specify returning inherited property names. * @returns {Array} Returns the array of property names. */ function arrayLikeKeys(value, inherited) { var isArr = isArray(value), isArg = !isArr && isArguments(value), isBuff = !isArr && !isArg && isBuffer(value), isType = !isArr && !isArg && !isBuff && isTypedArray(value), skipIndexes = isArr || isArg || isBuff || isType, result = skipIndexes ? baseTimes(value.length, String) : [], length = result.length; for (var key in value) { if ((inherited || hasOwnProperty.call(value, key)) && !(skipIndexes && ( // Safari 9 has enumerable `arguments.length` in strict mode. key == 'length' || // Node.js 0.10 has enumerable non-index properties on buffers. (isBuff && (key == 'offset' || key == 'parent')) || // PhantomJS 2 has enumerable non-index properties on typed arrays. (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) || // Skip index properties. isIndex(key, length) ))) { result.push(key); } } return result; } module.exports = arrayLikeKeys; /***/ }), /***/ 11129: /***/ ((module) => { /** * Appends the elements of `values` to `array`. * * @private * @param {Array} array The array to modify. * @param {Array} values The values to append. * @returns {Array} Returns `array`. */ function arrayPush(array, values) { var index = -1, length = values.length, offset = array.length; while (++index < length) { array[offset + index] = values[index]; } return array; } module.exports = arrayPush; /***/ }), /***/ 36465: /***/ ((module) => { /** * A specialized version of `_.some` for arrays without support for iteratee * shorthands. * * @private * @param {Array} [array] The array to iterate over. * @param {Function} predicate The function invoked per iteration. * @returns {boolean} Returns `true` if any element passes the predicate check, * else `false`. */ function arraySome(array, predicate) { var index = -1, length = array == null ? 0 : array.length; while (++index < length) { if (predicate(array[index], index, array)) { return true; } } return false; } module.exports = arraySome; /***/ }), /***/ 97034: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var eq = __webpack_require__(46285); /** * Gets the index at which the `key` is found in `array` of key-value pairs. * * @private * @param {Array} array The array to inspect. * @param {*} key The key to search for. * @returns {number} Returns the index of the matched value, else `-1`. */ function assocIndexOf(array, key) { var length = array.length; while (length--) { if (eq(array[length][0], key)) { return length; } } return -1; } module.exports = assocIndexOf; /***/ }), /***/ 48244: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var arrayPush = __webpack_require__(11129), isArray = __webpack_require__(53142); /** * The base implementation of `getAllKeys` and `getAllKeysIn` which uses * `keysFunc` and `symbolsFunc` to get the enumerable property names and * symbols of `object`. * * @private * @param {Object} object The object to query. * @param {Function} keysFunc The function to get the keys of `object`. * @param {Function} symbolsFunc The function to get the symbols of `object`. * @returns {Array} Returns the array of property names and symbols. */ function baseGetAllKeys(object, keysFunc, symbolsFunc) { var result = keysFunc(object); return isArray(object) ? result : arrayPush(result, symbolsFunc(object)); } module.exports = baseGetAllKeys; /***/ }), /***/ 87379: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var Symbol = __webpack_require__(65650), getRawTag = __webpack_require__(8870), objectToString = __webpack_require__(29005); /** `Object#toString` result references. */ var nullTag = '[object Null]', undefinedTag = '[object Undefined]'; /** Built-in value references. */ var symToStringTag = Symbol ? Symbol.toStringTag : undefined; /** * The base implementation of `getTag` without fallbacks for buggy environments. * * @private * @param {*} value The value to query. * @returns {string} Returns the `toStringTag`. */ function baseGetTag(value) { if (value == null) { return value === undefined ? undefinedTag : nullTag; } return (symToStringTag && symToStringTag in Object(value)) ? getRawTag(value) : objectToString(value); } module.exports = baseGetTag; /***/ }), /***/ 56027: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var baseGetTag = __webpack_require__(87379), isObjectLike = __webpack_require__(80547); /** `Object#toString` result references. */ var argsTag = '[object Arguments]'; /** * The base implementation of `_.isArguments`. * * @private * @param {*} value The value to check. * @returns {boolean} Returns `true` if `value` is an `arguments` object, */ function baseIsArguments(value) { return isObjectLike(value) && baseGetTag(value) == argsTag; } module.exports = baseIsArguments; /***/ }), /***/ 94687: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var baseIsEqualDeep = __webpack_require__(90353), isObjectLike = __webpack_require__(80547); /** * The base implementation of `_.isEqual` which supports partial comparisons * and tracks traversed objects. * * @private * @param {*} value The value to compare. * @param {*} other The other value to compare. * @param {boolean} bitmask The bitmask flags. * 1 - Unordered comparison * 2 - Partial comparison * @param {Function} [customizer] The function to customize comparisons. * @param {Object} [stack] Tracks traversed `value` and `other` objects. * @returns {boolean} Returns `true` if the values are equivalent, else `false`. */ function baseIsEqual(value, other, bitmask, customizer, stack) { if (value === other) { return true; } if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) { return value !== value && other !== other; } return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack); } module.exports = baseIsEqual; /***/ }), /***/ 90353: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var Stack = __webpack_require__(51340), equalArrays = __webpack_require__(33934), equalByTag = __webpack_require__(88861), equalObjects = __webpack_require__(31182), getTag = __webpack_require__(28486), isArray = __webpack_require__(53142), isBuffer = __webpack_require__(75853), isTypedArray = __webpack_require__(8666); /** Used to compose bitmasks for value comparisons. */ var COMPARE_PARTIAL_FLAG = 1; /** `Object#toString` result references. */ var argsTag = '[object Arguments]', arrayTag = '[object Array]', objectTag = '[object Object]'; /** Used for built-in method references. */ var objectProto = Object.prototype; /** Used to check objects for own properties. */ var hasOwnProperty = objectProto.hasOwnProperty; /** * A specialized version of `baseIsEqual` for arrays and objects which performs * deep comparisons and tracks traversed objects enabling objects with circular * references to be compared. * * @private * @param {Object} object The object to compare. * @param {Object} other The other object to compare. * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. * @param {Function} customizer The function to customize comparisons. * @param {Function} equalFunc The function to determine equivalents of values. * @param {Object} [stack] Tracks traversed `object` and `other` objects. * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. */ function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) { var objIsArr = isArray(object), othIsArr = isArray(other), objTag = objIsArr ? arrayTag : getTag(object), othTag = othIsArr ? arrayTag : getTag(other); objTag = objTag == argsTag ? objectTag : objTag; othTag = othTag == argsTag ? objectTag : othTag; var objIsObj = objTag == objectTag, othIsObj = othTag == objectTag, isSameTag = objTag == othTag; if (isSameTag && isBuffer(object)) { if (!isBuffer(other)) { return false; } objIsArr = true; objIsObj = false; } if (isSameTag && !objIsObj) { stack || (stack = new Stack); return (objIsArr || isTypedArray(object)) ? equalArrays(object, other, bitmask, customizer, equalFunc, stack) : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack); } if (!(bitmask & COMPARE_PARTIAL_FLAG)) { var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'), othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__'); if (objIsWrapped || othIsWrapped) { var objUnwrapped = objIsWrapped ? object.value() : object, othUnwrapped = othIsWrapped ? other.value() : other; stack || (stack = new Stack); return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack); } } if (!isSameTag) { return false; } stack || (stack = new Stack); return equalObjects(object, other, bitmask, customizer, equalFunc, stack); } module.exports = baseIsEqualDeep; /***/ }), /***/ 89624: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var isFunction = __webpack_require__(93655), isMasked = __webpack_require__(64759), isObject = __webpack_require__(41580), toSource = __webpack_require__(64066); /** * Used to match `RegExp` * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns). */ var reRegExpChar = /[\\^$.*+?()[\]{}|]/g; /** Used to detect host constructors (Safari). */ var reIsHostCtor = /^\[object .+?Constructor\]$/; /** Used for built-in method references. */ var funcProto = Function.prototype, objectProto = Object.prototype; /** Used to resolve the decompiled source of functions. */ var funcToString = funcProto.toString; /** Used to check objects for own properties. */ var hasOwnProperty = objectProto.hasOwnProperty; /** Used to detect if a method is native. */ var reIsNative = RegExp('^' + funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\$&') .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$' ); /** * The base implementation of `_.isNative` without bad shim checks. * * @private * @param {*} value The value to check. * @returns {boolean} Returns `true` if `value` is a native function, * else `false`. */ function baseIsNative(value) { if (!isObject(value) || isMasked(value)) { return false; } var pattern = isFunction(value) ? reIsNative : reIsHostCtor; return pattern.test(toSource(value)); } module.exports = baseIsNative; /***/ }), /***/ 70674: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var baseGetTag = __webpack_require__(87379), isLength = __webpack_require__(65387), isObjectLike = __webpack_require__(80547); /** `Object#toString` result references. */ var argsTag = '[object Arguments]', arrayTag = '[object Array]', boolTag = '[object Boolean]', dateTag = '[object Date]', errorTag = '[object Error]', funcTag = '[object Function]', mapTag = '[object Map]', numberTag = '[object Number]', objectTag = '[object Object]', regexpTag = '[object RegExp]', setTag = '[object Set]', stringTag = '[object String]', weakMapTag = '[object WeakMap]'; var arrayBufferTag = '[object ArrayBuffer]', dataViewTag = '[object DataView]', float32Tag = '[object Float32Array]', float64Tag = '[object Float64Array]', int8Tag = '[object Int8Array]', int16Tag = '[object Int16Array]', int32Tag = '[object Int32Array]', uint8Tag = '[object Uint8Array]', uint8ClampedTag = '[object Uint8ClampedArray]', uint16Tag = '[object Uint16Array]', uint32Tag = '[object Uint32Array]'; /** Used to identify `toStringTag` values of typed arrays. */ var typedArrayTags = {}; typedArrayTags[float32Tag] = typedArrayTags[float64Tag] = typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = typedArrayTags[uint32Tag] = true; typedArrayTags[argsTag] = typedArrayTags[arrayTag] = typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] = typedArrayTags[dataViewTag] = typedArrayTags[dateTag] = typedArrayTags[errorTag] = typedArrayTags[funcTag] = typedArrayTags[mapTag] = typedArrayTags[numberTag] = typedArrayTags[objectTag] = typedArrayTags[regexpTag] = typedArrayTags[setTag] = typedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false; /** * The base implementation of `_.isTypedArray` without Node.js optimizations. * * @private * @param {*} value The value to check. * @returns {boolean} Returns `true` if `value` is a typed array, else `false`. */ function baseIsTypedArray(value) { return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[baseGetTag(value)]; } module.exports = baseIsTypedArray; /***/ }), /***/ 195: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var isPrototype = __webpack_require__(84882), nativeKeys = __webpack_require__(98121); /** Used for built-in method references. */ var objectProto = Object.prototype; /** Used to check objects for own properties. */ var hasOwnProperty = objectProto.hasOwnProperty; /** * The base implementation of `_.keys` which doesn't treat sparse arrays as dense. * * @private * @param {Object} object The object to query. * @returns {Array} Returns the array of property names. */ function baseKeys(object) { if (!isPrototype(object)) { return nativeKeys(object); } var result = []; for (var key in Object(object)) { if (hasOwnProperty.call(object, key) && key != 'constructor') { result.push(key); } } return result; } module.exports = baseKeys; /***/ }), /***/ 26137: /***/ ((module) => { /** * The base implementation of `_.times` without support for iteratee shorthands * or max array length checks. * * @private * @param {number} n The number of times to invoke `iteratee`. * @param {Function} iteratee The function invoked per iteration. * @returns {Array} Returns the array of results. */ function baseTimes(n, iteratee) { var index = -1, result = Array(n); while (++index < n) { result[index] = iteratee(index); } return result; } module.exports = baseTimes; /***/ }), /***/ 49460: /***/ ((module) => { /** * The base implementation of `_.unary` without support for storing metadata. * * @private * @param {Function} func The function to cap arguments for. * @returns {Function} Returns the new capped function. */ function baseUnary(func) { return function(value) { return func(value); }; } module.exports = baseUnary; /***/ }), /***/ 65568: /***/ ((module) => { /** * Checks if a `cache` value for `key` exists. * * @private * @param {Object} cache The cache to query. * @param {string} key The key of the entry to check. * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. */ function cacheHas(cache, key) { return cache.has(key); } module.exports = cacheHas; /***/ }), /***/ 41950: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var root = __webpack_require__(78942); /** Used to detect overreaching core-js shims. */ var coreJsData = root['__core-js_shared__']; module.exports = coreJsData; /***/ }), /***/ 33934: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var SetCache = __webpack_require__(23212), arraySome = __webpack_require__(36465), cacheHas = __webpack_require__(65568); /** Used to compose bitmasks for value comparisons. */ var COMPARE_PARTIAL_FLAG = 1, COMPARE_UNORDERED_FLAG = 2; /** * A specialized version of `baseIsEqualDeep` for arrays with support for * partial deep comparisons. * * @private * @param {Array} array The array to compare. * @param {Array} other The other array to compare. * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. * @param {Function} customizer The function to customize comparisons. * @param {Function} equalFunc The function to determine equivalents of values. * @param {Object} stack Tracks traversed `array` and `other` objects. * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`. */ function equalArrays(array, other, bitmask, customizer, equalFunc, stack) { var isPartial = bitmask & COMPARE_PARTIAL_FLAG, arrLength = array.length, othLength = other.length; if (arrLength != othLength && !(isPartial && othLength > arrLength)) { return false; } // Check that cyclic values are equal. var arrStacked = stack.get(array); var othStacked = stack.get(other); if (arrStacked && othStacked) { return arrStacked == other && othStacked == array; } var index = -1, result = true, seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined; stack.set(array, other); stack.set(other, array); // Ignore non-index properties. while (++index < arrLength) { var arrValue = array[index], othValue = other[index]; if (customizer) { var compared = isPartial ? customizer(othValue, arrValue, index, other, array, stack) : customizer(arrValue, othValue, index, array, other, stack); } if (compared !== undefined) { if (compared) { continue; } result = false; break; } // Recursively compare arrays (susceptible to call stack limits). if (seen) { if (!arraySome(other, function(othValue, othIndex) { if (!cacheHas(seen, othIndex) && (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) { return seen.push(othIndex); } })) { result = false; break; } } else if (!( arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack) )) { result = false; break; } } stack['delete'](array); stack['delete'](other); return result; } module.exports = equalArrays; /***/ }), /***/ 88861: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var Symbol = __webpack_require__(65650), Uint8Array = __webpack_require__(31623), eq = __webpack_require__(46285), equalArrays = __webpack_require__(33934), mapToArray = __webpack_require__(95894), setToArray = __webpack_require__(49828); /** Used to compose bitmasks for value comparisons. */ var COMPARE_PARTIAL_FLAG = 1, COMPARE_UNORDERED_FLAG = 2; /** `Object#toString` result references. */ var boolTag = '[object Boolean]', dateTag = '[object Date]', errorTag = '[object Error]', mapTag = '[object Map]', numberTag = '[object Number]', regexpTag = '[object RegExp]', setTag = '[object Set]', stringTag = '[object String]', symbolTag = '[object Symbol]'; var arrayBufferTag = '[object ArrayBuffer]', dataViewTag = '[object DataView]'; /** Used to convert symbols to primitives and strings. */ var symbolProto = Symbol ? Symbol.prototype : undefined, symbolValueOf = symbolProto ? symbolProto.valueOf : undefined; /** * A specialized version of `baseIsEqualDeep` for comparing objects of * the same `toStringTag`. * * **Note:** This function only supports comparing values with tags of * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`. * * @private * @param {Object} object The object to compare. * @param {Object} other The other object to compare. * @param {string} tag The `toStringTag` of the objects to compare. * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. * @param {Function} customizer The function to customize comparisons. * @param {Function} equalFunc The function to determine equivalents of values. * @param {Object} stack Tracks traversed `object` and `other` objects. * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. */ function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) { switch (tag) { case dataViewTag: if ((object.byteLength != other.byteLength) || (object.byteOffset != other.byteOffset)) { return false; } object = object.buffer; other = other.buffer; case arrayBufferTag: if ((object.byteLength != other.byteLength) || !equalFunc(new Uint8Array(object), new Uint8Array(other))) { return false; } return true; case boolTag: case dateTag: case numberTag: // Coerce booleans to `1` or `0` and dates to milliseconds. // Invalid dates are coerced to `NaN`. return eq(+object, +other); case errorTag: return object.name == other.name && object.message == other.message; case regexpTag: case stringTag: // Coerce regexes to strings and treat strings, primitives and objects, // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring // for more details. return object == (other + ''); case mapTag: var convert = mapToArray; case setTag: var isPartial = bitmask & COMPARE_PARTIAL_FLAG; convert || (convert = setToArray); if (object.size != other.size && !isPartial) { return false; } // Assume cyclic values are equal. var stacked = stack.get(object); if (stacked) { return stacked == other; } bitmask |= COMPARE_UNORDERED_FLAG; // Recursively compare objects (susceptible to call stack limits). stack.set(object, other); var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack); stack['delete'](object); return result; case symbolTag: if (symbolValueOf) { return symbolValueOf.call(object) == symbolValueOf.call(other); } } return false; } module.exports = equalByTag; /***/ }), /***/ 31182: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var getAllKeys = __webpack_require__(80393); /** Used to compose bitmasks for value comparisons. */ var COMPARE_PARTIAL_FLAG = 1; /** Used for built-in method references. */ var objectProto = Object.prototype; /** Used to check objects for own properties. */ var hasOwnProperty = objectProto.hasOwnProperty; /** * A specialized version of `baseIsEqualDeep` for objects with support for * partial deep comparisons. * * @private * @param {Object} object The object to compare. * @param {Object} other The other object to compare. * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. * @param {Function} customizer The function to customize comparisons. * @param {Function} equalFunc The function to determine equivalents of values. * @param {Object} stack Tracks traversed `object` and `other` objects. * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. */ function equalObjects(object, other, bitmask, customizer, equalFunc, stack) { var isPartial = bitmask & COMPARE_PARTIAL_FLAG, objProps = getAllKeys(object), objLength = objProps.length, othProps = getAllKeys(other), othLength = othProps.length; if (objLength != othLength && !isPartial) { return false; } var index = objLength; while (index--) { var key = objProps[index]; if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) { return false; } } // Check that cyclic values are equal. var objStacked = stack.get(object); var othStacked = stack.get(other); if (objStacked && othStacked) { return objStacked == other && othStacked == object; } var result = true; stack.set(object, other); stack.set(other, object); var skipCtor = isPartial; while (++index < objLength) { key = objProps[index]; var objValue = object[key], othValue = other[key]; if (customizer) { var compared = isPartial ? customizer(othValue, objValue, key, other, object, stack) : customizer(objValue, othValue, key, object, other, stack); } // Recursively compare objects (susceptible to call stack limits). if (!(compared === undefined ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack)) : compared )) { result = false; break; } skipCtor || (skipCtor = key == 'constructor'); } if (result && !skipCtor) { var objCtor = object.constructor, othCtor = other.constructor; // Non `Object` object instances with different constructors are not equal. if (objCtor != othCtor && ('constructor' in object && 'constructor' in other) && !(typeof objCtor == 'function' && objCtor instanceof objCtor && typeof othCtor == 'function' && othCtor instanceof othCtor)) { result = false; } } stack['delete'](object); stack['delete'](other); return result; } module.exports = equalObjects; /***/ }), /***/ 74967: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { /** Detect free variable `global` from Node.js. */ var freeGlobal = typeof __webpack_require__.g == 'object' && __webpack_require__.g && __webpack_require__.g.Object === Object && __webpack_require__.g; module.exports = freeGlobal; /***/ }), /***/ 80393: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var baseGetAllKeys = __webpack_require__(48244), getSymbols = __webpack_require__(77979), keys = __webpack_require__(81211); /** * Creates an array of own enumerable property names and symbols of `object`. * * @private * @param {Object} object The object to query. * @returns {Array} Returns the array of property names and symbols. */ function getAllKeys(object) { return baseGetAllKeys(object, keys, getSymbols); } module.exports = getAllKeys; /***/ }), /***/ 44700: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var isKeyable = __webpack_require__(79067); /** * Gets the data for `map`. * * @private * @param {Object} map The map to query. * @param {string} key The reference key. * @returns {*} Returns the map data. */ function getMapData(map, key) { var data = map.__data__; return isKeyable(key) ? data[typeof key == 'string' ? 'string' : 'hash'] : data.map; } module.exports = getMapData; /***/ }), /***/ 94715: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var baseIsNative = __webpack_require__(89624), getValue = __webpack_require__(20155); /** * Gets the native function at `key` of `object`. * * @private * @param {Object} object The object to query. * @param {string} key The key of the method to get. * @returns {*} Returns the function if it's native, else `undefined`. */ function getNative(object, key) { var value = getValue(object, key); return baseIsNative(value) ? value : undefined; } module.exports = getNative; /***/ }), /***/ 8870: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var Symbol = __webpack_require__(65650); /** Used for built-in method references. */ var objectProto = Object.prototype; /** Used to check objects for own properties. */ var hasOwnProperty = objectProto.hasOwnProperty; /** * Used to resolve the * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) * of values. */ var nativeObjectToString = objectProto.toString; /** Built-in value references. */ var symToStringTag = Symbol ? Symbol.toStringTag : undefined; /** * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values. * * @private * @param {*} value The value to query. * @returns {string} Returns the raw `toStringTag`. */ function getRawTag(value) { var isOwn = hasOwnProperty.call(value, symToStringTag), tag = value[symToStringTag]; try { value[symToStringTag] = undefined; var unmasked = true; } catch (e) {} var result = nativeObjectToString.call(value); if (unmasked) { if (isOwn) { value[symToStringTag] = tag; } else { delete value[symToStringTag]; } } return result; } module.exports = getRawTag; /***/ }), /***/ 77979: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var arrayFilter = __webpack_require__(79847), stubArray = __webpack_require__(99306); /** Used for built-in method references. */ var objectProto = Object.prototype; /** Built-in value references. */ var propertyIsEnumerable = objectProto.propertyIsEnumerable; /* Built-in method references for those with the same name as other `lodash` methods. */ var nativeGetSymbols = Object.getOwnPropertySymbols; /** * Creates an array of the own enumerable symbols of `object`. * * @private * @param {Object} object The object to query. * @returns {Array} Returns the array of symbols. */ var getSymbols = !nativeGetSymbols ? stubArray : function(object) { if (object == null) { return []; } object = Object(object); return arrayFilter(nativeGetSymbols(object), function(symbol) { return propertyIsEnumerable.call(object, symbol); }); }; module.exports = getSymbols; /***/ }), /***/ 28486: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var DataView = __webpack_require__(33103), Map = __webpack_require__(19770), Promise = __webpack_require__(89413), Set = __webpack_require__(64512), WeakMap = __webpack_require__(19270), baseGetTag = __webpack_require__(87379), toSource = __webpack_require__(64066); /** `Object#toString` result references. */ var mapTag = '[object Map]', objectTag = '[object Object]', promiseTag = '[object Promise]', setTag = '[object Set]', weakMapTag = '[object WeakMap]'; var dataViewTag = '[object DataView]'; /** Used to detect maps, sets, and weakmaps. */ var dataViewCtorString = toSource(DataView), mapCtorString = toSource(Map), promiseCtorString = toSource(Promise), setCtorString = toSource(Set), weakMapCtorString = toSource(WeakMap); /** * Gets the `toStringTag` of `value`. * * @private * @param {*} value The value to query. * @returns {string} Returns the `toStringTag`. */ var getTag = baseGetTag; // Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6. if ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) || (Map && getTag(new Map) != mapTag) || (Promise && getTag(Promise.resolve()) != promiseTag) || (Set && getTag(new Set) != setTag) || (WeakMap && getTag(new WeakMap) != weakMapTag)) { getTag = function(value) { var result = baseGetTag(value), Ctor = result == objectTag ? value.constructor : undefined, ctorString = Ctor ? toSource(Ctor) : ''; if (ctorString) { switch (ctorString) { case dataViewCtorString: return dataViewTag; case mapCtorString: return mapTag; case promiseCtorString: return promiseTag; case setCtorString: return setTag; case weakMapCtorString: return weakMapTag; } } return result; }; } module.exports = getTag; /***/ }), /***/ 20155: /***/ ((module) => { /** * Gets the value at `key` of `object`. * * @private * @param {Object} [object] The object to query. * @param {string} key The key of the property to get. * @returns {*} Returns the property value. */ function getValue(object, key) { return object == null ? undefined : object[key]; } module.exports = getValue; /***/ }), /***/ 23305: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var nativeCreate = __webpack_require__(94497); /** * Removes all key-value entries from the hash. * * @private * @name clear * @memberOf Hash */ function hashClear() { this.__data__ = nativeCreate ? nativeCreate(null) : {}; this.size = 0; } module.exports = hashClear; /***/ }), /***/ 39361: /***/ ((module) => { /** * Removes `key` and its value from the hash. * * @private * @name delete * @memberOf Hash * @param {Object} hash The hash to modify. * @param {string} key The key of the value to remove. * @returns {boolean} Returns `true` if the entry was removed, else `false`. */ function hashDelete(key) { var result = this.has(key) && delete this.__data__[key]; this.size -= result ? 1 : 0; return result; } module.exports = hashDelete; /***/ }), /***/ 11112: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var nativeCreate = __webpack_require__(94497); /** Used to stand-in for `undefined` hash values. */ var HASH_UNDEFINED = '__lodash_hash_undefined__'; /** Used for built-in method references. */ var objectProto = Object.prototype; /** Used to check objects for own properties. */ var hasOwnProperty = objectProto.hasOwnProperty; /** * Gets the hash value for `key`. * * @private * @name get * @memberOf Hash * @param {string} key The key of the value to get. * @returns {*} Returns the entry value. */ function hashGet(key) { var data = this.__data__; if (nativeCreate) { var result = data[key]; return result === HASH_UNDEFINED ? undefined : result; } return hasOwnProperty.call(data, key) ? data[key] : undefined; } module.exports = hashGet; /***/ }), /***/ 25276: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var nativeCreate = __webpack_require__(94497); /** Used for built-in method references. */ var objectProto = Object.prototype; /** Used to check objects for own properties. */ var hasOwnProperty = objectProto.hasOwnProperty; /** * Checks if a hash value for `key` exists. * * @private * @name has * @memberOf Hash * @param {string} key The key of the entry to check. * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. */ function hashHas(key) { var data = this.__data__; return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key); } module.exports = hashHas; /***/ }), /***/ 57452: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var nativeCreate = __webpack_require__(94497); /** Used to stand-in for `undefined` hash values. */ var HASH_UNDEFINED = '__lodash_hash_undefined__'; /** * Sets the hash `key` to `value`. * * @private * @name set * @memberOf Hash * @param {string} key The key of the value to set. * @param {*} value The value to set. * @returns {Object} Returns the hash instance. */ function hashSet(key, value) { var data = this.__data__; this.size += this.has(key) ? 0 : 1; data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value; return this; } module.exports = hashSet; /***/ }), /***/ 69632: /***/ ((module) => { /** Used as references for various `Number` constants. */ var MAX_SAFE_INTEGER = 9007199254740991; /** Used to detect unsigned integer values. */ var reIsUint = /^(?:0|[1-9]\d*)$/; /** * Checks if `value` is a valid array-like index. * * @private * @param {*} value The value to check. * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index. * @returns {boolean} Returns `true` if `value` is a valid index, else `false`. */ function isIndex(value, length) { var type = typeof value; length = length == null ? MAX_SAFE_INTEGER : length; return !!length && (type == 'number' || (type != 'symbol' && reIsUint.test(value))) && (value > -1 && value % 1 == 0 && value < length); } module.exports = isIndex; /***/ }), /***/ 79067: /***/ ((module) => { /** * Checks if `value` is suitable for use as unique object key. * * @private * @param {*} value The value to check. * @returns {boolean} Returns `true` if `value` is suitable, else `false`. */ function isKeyable(value) { var type = typeof value; return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean') ? (value !== '__proto__') : (value === null); } module.exports = isKeyable; /***/ }), /***/ 64759: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var coreJsData = __webpack_require__(41950); /** Used to detect methods masquerading as native. */ var maskSrcKey = (function() { var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || ''); return uid ? ('Symbol(src)_1.' + uid) : ''; }()); /** * Checks if `func` has its source masked. * * @private * @param {Function} func The function to check. * @returns {boolean} Returns `true` if `func` is masked, else `false`. */ function isMasked(func) { return !!maskSrcKey && (maskSrcKey in func); } module.exports = isMasked; /***/ }), /***/ 84882: /***/ ((module) => { /** Used for built-in method references. */ var objectProto = Object.prototype; /** * Checks if `value` is likely a prototype object. * * @private * @param {*} value The value to check. * @returns {boolean} Returns `true` if `value` is a prototype, else `false`. */ function isPrototype(value) { var Ctor = value && value.constructor, proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto; return value === proto; } module.exports = isPrototype; /***/ }), /***/ 12393: /***/ ((module) => { /** * Removes all key-value entries from the list cache. * * @private * @name clear * @memberOf ListCache */ function listCacheClear() { this.__data__ = []; this.size = 0; } module.exports = listCacheClear; /***/ }), /***/ 62049: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var assocIndexOf = __webpack_require__(97034); /** Used for built-in method references. */ var arrayProto = Array.prototype; /** Built-in value references. */ var splice = arrayProto.splice; /** * Removes `key` and its value from the list cache. * * @private * @name delete * @memberOf ListCache * @param {string} key The key of the value to remove. * @returns {boolean} Returns `true` if the entry was removed, else `false`. */ function listCacheDelete(key) { var data = this.__data__, index = assocIndexOf(data, key); if (index < 0) { return false; } var lastIndex = data.length - 1; if (index == lastIndex) { data.pop(); } else { splice.call(data, index, 1); } --this.size; return true; } module.exports = listCacheDelete; /***/ }), /***/ 7144: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var assocIndexOf = __webpack_require__(97034); /** * Gets the list cache value for `key`. * * @private * @name get * @memberOf ListCache * @param {string} key The key of the value to get. * @returns {*} Returns the entry value. */ function listCacheGet(key) { var data = this.__data__, index = assocIndexOf(data, key); return index < 0 ? undefined : data[index][1]; } module.exports = listCacheGet; /***/ }), /***/ 7452: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var assocIndexOf = __webpack_require__(97034); /** * Checks if a list cache value for `key` exists. * * @private * @name has * @memberOf ListCache * @param {string} key The key of the entry to check. * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. */ function listCacheHas(key) { return assocIndexOf(this.__data__, key) > -1; } module.exports = listCacheHas; /***/ }), /***/ 13964: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var assocIndexOf = __webpack_require__(97034); /** * Sets the list cache `key` to `value`. * * @private * @name set * @memberOf ListCache * @param {string} key The key of the value to set. * @param {*} value The value to set. * @returns {Object} Returns the list cache instance. */ function listCacheSet(key, value) { var data = this.__data__, index = assocIndexOf(data, key); if (index < 0) { ++this.size; data.push([key, value]); } else { data[index][1] = value; } return this; } module.exports = listCacheSet; /***/ }), /***/ 49753: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var Hash = __webpack_require__(25098), ListCache = __webpack_require__(1386), Map = __webpack_require__(19770); /** * Removes all key-value entries from the map. * * @private * @name clear * @memberOf MapCache */ function mapCacheClear() { this.size = 0; this.__data__ = { 'hash': new Hash, 'map': new (Map || ListCache), 'string': new Hash }; } module.exports = mapCacheClear; /***/ }), /***/ 5681: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var getMapData = __webpack_require__(44700); /** * Removes `key` and its value from the map. * * @private * @name delete * @memberOf MapCache * @param {string} key The key of the value to remove. * @returns {boolean} Returns `true` if the entry was removed, else `false`. */ function mapCacheDelete(key) { var result = getMapData(this, key)['delete'](key); this.size -= result ? 1 : 0; return result; } module.exports = mapCacheDelete; /***/ }), /***/ 80088: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var getMapData = __webpack_require__(44700); /** * Gets the map value for `key`. * * @private * @name get * @memberOf MapCache * @param {string} key The key of the value to get. * @returns {*} Returns the entry value. */ function mapCacheGet(key) { return getMapData(this, key).get(key); } module.exports = mapCacheGet; /***/ }), /***/ 54732: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var getMapData = __webpack_require__(44700); /** * Checks if a map value for `key` exists. * * @private * @name has * @memberOf MapCache * @param {string} key The key of the entry to check. * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. */ function mapCacheHas(key) { return getMapData(this, key).has(key); } module.exports = mapCacheHas; /***/ }), /***/ 59068: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var getMapData = __webpack_require__(44700); /** * Sets the map `key` to `value`. * * @private * @name set * @memberOf MapCache * @param {string} key The key of the value to set. * @param {*} value The value to set. * @returns {Object} Returns the map cache instance. */ function mapCacheSet(key, value) { var data = getMapData(this, key), size = data.size; data.set(key, value); this.size += data.size == size ? 0 : 1; return this; } module.exports = mapCacheSet; /***/ }), /***/ 95894: /***/ ((module) => { /** * Converts `map` to its key-value pairs. * * @private * @param {Object} map The map to convert. * @returns {Array} Returns the key-value pairs. */ function mapToArray(map) { var index = -1, result = Array(map.size); map.forEach(function(value, key) { result[++index] = [key, value]; }); return result; } module.exports = mapToArray; /***/ }), /***/ 94497: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var getNative = __webpack_require__(94715); /* Built-in method references that are verified to be native. */ var nativeCreate = getNative(Object, 'create'); module.exports = nativeCreate; /***/ }), /***/ 98121: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var overArg = __webpack_require__(3766); /* Built-in method references for those with the same name as other `lodash` methods. */ var nativeKeys = overArg(Object.keys, Object); module.exports = nativeKeys; /***/ }), /***/ 2306: /***/ ((module, exports, __webpack_require__) => { /* module decorator */ module = __webpack_require__.nmd(module); var freeGlobal = __webpack_require__(74967); /** Detect free variable `exports`. */ var freeExports = true && exports && !exports.nodeType && exports; /** Detect free variable `module`. */ var freeModule = freeExports && "object" == 'object' && module && !module.nodeType && module; /** Detect the popular CommonJS extension `module.exports`. */ var moduleExports = freeModule && freeModule.exports === freeExports; /** Detect free variable `process` from Node.js. */ var freeProcess = moduleExports && freeGlobal.process; /** Used to access faster Node.js helpers. */ var nodeUtil = (function() { try { // Use `util.types` for Node.js 10+. var types = freeModule && freeModule.require && freeModule.require('util').types; if (types) { return types; } // Legacy `process.binding('util')` for Node.js < 10. return freeProcess && freeProcess.binding && freeProcess.binding('util'); } catch (e) {} }()); module.exports = nodeUtil; /***/ }), /***/ 29005: /***/ ((module) => { /** Used for built-in method references. */ var objectProto = Object.prototype; /** * Used to resolve the * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) * of values. */ var nativeObjectToString = objectProto.toString; /** * Converts `value` to a string using `Object.prototype.toString`. * * @private * @param {*} value The value to convert. * @returns {string} Returns the converted string. */ function objectToString(value) { return nativeObjectToString.call(value); } module.exports = objectToString; /***/ }), /***/ 3766: /***/ ((module) => { /** * Creates a unary function that invokes `func` with its argument transformed. * * @private * @param {Function} func The function to wrap. * @param {Function} transform The argument transform. * @returns {Function} Returns the new function. */ function overArg(func, transform) { return function(arg) { return func(transform(arg)); }; } module.exports = overArg; /***/ }), /***/ 78942: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var freeGlobal = __webpack_require__(74967); /** Detect free variable `self`. */ var freeSelf = typeof self == 'object' && self && self.Object === Object && self; /** Used as a reference to the global object. */ var root = freeGlobal || freeSelf || Function('return this')(); module.exports = root; /***/ }), /***/ 1877: /***/ ((module) => { /** Used to stand-in for `undefined` hash values. */ var HASH_UNDEFINED = '__lodash_hash_undefined__'; /** * Adds `value` to the array cache. * * @private * @name add * @memberOf SetCache * @alias push * @param {*} value The value to cache. * @returns {Object} Returns the cache instance. */ function setCacheAdd(value) { this.__data__.set(value, HASH_UNDEFINED); return this; } module.exports = setCacheAdd; /***/ }), /***/ 8006: /***/ ((module) => { /** * Checks if `value` is in the array cache. * * @private * @name has * @memberOf SetCache * @param {*} value The value to search for. * @returns {number} Returns `true` if `value` is found, else `false`. */ function setCacheHas(value) { return this.__data__.has(value); } module.exports = setCacheHas; /***/ }), /***/ 49828: /***/ ((module) => { /** * Converts `set` to an array of its values. * * @private * @param {Object} set The set to convert. * @returns {Array} Returns the values. */ function setToArray(set) { var index = -1, result = Array(set.size); set.forEach(function(value) { result[++index] = value; }); return result; } module.exports = setToArray; /***/ }), /***/ 64103: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var ListCache = __webpack_require__(1386); /** * Removes all key-value entries from the stack. * * @private * @name clear * @memberOf Stack */ function stackClear() { this.__data__ = new ListCache; this.size = 0; } module.exports = stackClear; /***/ }), /***/ 21779: /***/ ((module) => { /** * Removes `key` and its value from the stack. * * @private * @name delete * @memberOf Stack * @param {string} key The key of the value to remove. * @returns {boolean} Returns `true` if the entry was removed, else `false`. */ function stackDelete(key) { var data = this.__data__, result = data['delete'](key); this.size = data.size; return result; } module.exports = stackDelete; /***/ }), /***/ 34162: /***/ ((module) => { /** * Gets the stack value for `key`. * * @private * @name get * @memberOf Stack * @param {string} key The key of the value to get. * @returns {*} Returns the entry value. */ function stackGet(key) { return this.__data__.get(key); } module.exports = stackGet; /***/ }), /***/ 7462: /***/ ((module) => { /** * Checks if a stack value for `key` exists. * * @private * @name has * @memberOf Stack * @param {string} key The key of the entry to check. * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. */ function stackHas(key) { return this.__data__.has(key); } module.exports = stackHas; /***/ }), /***/ 96638: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var ListCache = __webpack_require__(1386), Map = __webpack_require__(19770), MapCache = __webpack_require__(68250); /** Used as the size to enable large array optimizations. */ var LARGE_ARRAY_SIZE = 200; /** * Sets the stack `key` to `value`. * * @private * @name set * @memberOf Stack * @param {string} key The key of the value to set. * @param {*} value The value to set. * @returns {Object} Returns the stack cache instance. */ function stackSet(key, value) { var data = this.__data__; if (data instanceof ListCache) { var pairs = data.__data__; if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) { pairs.push([key, value]); this.size = ++data.size; return this; } data = this.__data__ = new MapCache(pairs); } data.set(key, value); this.size = data.size; return this; } module.exports = stackSet; /***/ }), /***/ 64066: /***/ ((module) => { /** Used for built-in method references. */ var funcProto = Function.prototype; /** Used to resolve the decompiled source of functions. */ var funcToString = funcProto.toString; /** * Converts `func` to its source code. * * @private * @param {Function} func The function to convert. * @returns {string} Returns the source code. */ function toSource(func) { if (func != null) { try { return funcToString.call(func); } catch (e) {} try { return (func + ''); } catch (e) {} } return ''; } module.exports = toSource; /***/ }), /***/ 46285: /***/ ((module) => { /** * Performs a * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) * comparison between two values to determine if they are equivalent. * * @static * @memberOf _ * @since 4.0.0 * @category Lang * @param {*} value The value to compare. * @param {*} other The other value to compare. * @returns {boolean} Returns `true` if the values are equivalent, else `false`. * @example * * var object = { 'a': 1 }; * var other = { 'a': 1 }; * * _.eq(object, object); * // => true * * _.eq(object, other); * // => false * * _.eq('a', 'a'); * // => true * * _.eq('a', Object('a')); * // => false * * _.eq(NaN, NaN); * // => true */ function eq(value, other) { return value === other || (value !== value && other !== other); } module.exports = eq; /***/ }), /***/ 3283: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var baseIsArguments = __webpack_require__(56027), isObjectLike = __webpack_require__(80547); /** Used for built-in method references. */ var objectProto = Object.prototype; /** Used to check objects for own properties. */ var hasOwnProperty = objectProto.hasOwnProperty; /** Built-in value references. */ var propertyIsEnumerable = objectProto.propertyIsEnumerable; /** * Checks if `value` is likely an `arguments` object. * * @static * @memberOf _ * @since 0.1.0 * @category Lang * @param {*} value The value to check. * @returns {boolean} Returns `true` if `value` is an `arguments` object, * else `false`. * @example * * _.isArguments(function() { return arguments; }()); * // => true * * _.isArguments([1, 2, 3]); * // => false */ var isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) { return isObjectLike(value) && hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee'); }; module.exports = isArguments; /***/ }), /***/ 53142: /***/ ((module) => { /** * Checks if `value` is classified as an `Array` object. * * @static * @memberOf _ * @since 0.1.0 * @category Lang * @param {*} value The value to check. * @returns {boolean} Returns `true` if `value` is an array, else `false`. * @example * * _.isArray([1, 2, 3]); * // => true * * _.isArray(document.body.children); * // => false * * _.isArray('abc'); * // => false * * _.isArray(_.noop); * // => false */ var isArray = Array.isArray; module.exports = isArray; /***/ }), /***/ 36529: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var isFunction = __webpack_require__(93655), isLength = __webpack_require__(65387); /** * Checks if `value` is array-like. A value is considered array-like if it's * not a function and has a `value.length` that's an integer greater than or * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`. * * @static * @memberOf _ * @since 4.0.0 * @category Lang * @param {*} value The value to check. * @returns {boolean} Returns `true` if `value` is array-like, else `false`. * @example * * _.isArrayLike([1, 2, 3]); * // => true * * _.isArrayLike(document.body.children); * // => true * * _.isArrayLike('abc'); * // => true * * _.isArrayLike(_.noop); * // => false */ function isArrayLike(value) { return value != null && isLength(value.length) && !isFunction(value); } module.exports = isArrayLike; /***/ }), /***/ 22563: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var baseGetTag = __webpack_require__(87379), isObjectLike = __webpack_require__(80547); /** `Object#toString` result references. */ var boolTag = '[object Boolean]'; /** * Checks if `value` is classified as a boolean primitive or object. * * @static * @memberOf _ * @since 0.1.0 * @category Lang * @param {*} value The value to check. * @returns {boolean} Returns `true` if `value` is a boolean, else `false`. * @example * * _.isBoolean(false); * // => true * * _.isBoolean(null); * // => false */ function isBoolean(value) { return value === true || value === false || (isObjectLike(value) && baseGetTag(value) == boolTag); } module.exports = isBoolean; /***/ }), /***/ 75853: /***/ ((module, exports, __webpack_require__) => { /* module decorator */ module = __webpack_require__.nmd(module); var root = __webpack_require__(78942), stubFalse = __webpack_require__(34772); /** Detect free variable `exports`. */ var freeExports = true && exports && !exports.nodeType && exports; /** Detect free variable `module`. */ var freeModule = freeExports && "object" == 'object' && module && !module.nodeType && module; /** Detect the popular CommonJS extension `module.exports`. */ var moduleExports = freeModule && freeModule.exports === freeExports; /** Built-in value references. */ var Buffer = moduleExports ? root.Buffer : undefined; /* Built-in method references for those with the same name as other `lodash` methods. */ var nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined; /** * Checks if `value` is a buffer. * * @static * @memberOf _ * @since 4.3.0 * @category Lang * @param {*} value The value to check. * @returns {boolean} Returns `true` if `value` is a buffer, else `false`. * @example * * _.isBuffer(new Buffer(2)); * // => true * * _.isBuffer(new Uint8Array(2)); * // => false */ var isBuffer = nativeIsBuffer || stubFalse; module.exports = isBuffer; /***/ }), /***/ 46343: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var baseIsEqual = __webpack_require__(94687); /** * Performs a deep comparison between two values to determine if they are * equivalent. * * **Note:** This method supports comparing arrays, array buffers, booleans, * date objects, error objects, maps, numbers, `Object` objects, regexes, * sets, strings, symbols, and typed arrays. `Object` objects are compared * by their own, not inherited, enumerable properties. Functions and DOM * nodes are compared by strict equality, i.e. `===`. * * @static * @memberOf _ * @since 0.1.0 * @category Lang * @param {*} value The value to compare. * @param {*} other The other value to compare. * @returns {boolean} Returns `true` if the values are equivalent, else `false`. * @example * * var object = { 'a': 1 }; * var other = { 'a': 1 }; * * _.isEqual(object, other); * // => true * * object === other; * // => false */ function isEqual(value, other) { return baseIsEqual(value, other); } module.exports = isEqual; /***/ }), /***/ 93655: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var baseGetTag = __webpack_require__(87379), isObject = __webpack_require__(41580); /** `Object#toString` result references. */ var asyncTag = '[object AsyncFunction]', funcTag = '[object Function]', genTag = '[object GeneratorFunction]', proxyTag = '[object Proxy]'; /** * Checks if `value` is classified as a `Function` object. * * @static * @memberOf _ * @since 0.1.0 * @category Lang * @param {*} value The value to check. * @returns {boolean} Returns `true` if `value` is a function, else `false`. * @example * * _.isFunction(_); * // => true * * _.isFunction(/abc/); * // => false */ function isFunction(value) { if (!isObject(value)) { return false; } // The use of `Object#toString` avoids issues with the `typeof` operator // in Safari 9 which returns 'object' for typed arrays and other constructors. var tag = baseGetTag(value); return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag; } module.exports = isFunction; /***/ }), /***/ 65387: /***/ ((module) => { /** Used as references for various `Number` constants. */ var MAX_SAFE_INTEGER = 9007199254740991; /** * Checks if `value` is a valid array-like length. * * **Note:** This method is loosely based on * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength). * * @static * @memberOf _ * @since 4.0.0 * @category Lang * @param {*} value The value to check. * @returns {boolean} Returns `true` if `value` is a valid length, else `false`. * @example * * _.isLength(3); * // => true * * _.isLength(Number.MIN_VALUE); * // => false * * _.isLength(Infinity); * // => false * * _.isLength('3'); * // => false */ function isLength(value) { return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER; } module.exports = isLength; /***/ }), /***/ 49310: /***/ ((module) => { /** * Checks if `value` is `null`. * * @static * @memberOf _ * @since 0.1.0 * @category Lang * @param {*} value The value to check. * @returns {boolean} Returns `true` if `value` is `null`, else `false`. * @example * * _.isNull(null); * // => true * * _.isNull(void 0); * // => false */ function isNull(value) { return value === null; } module.exports = isNull; /***/ }), /***/ 60986: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var baseGetTag = __webpack_require__(87379), isObjectLike = __webpack_require__(80547); /** `Object#toString` result references. */ var numberTag = '[object Number]'; /** * Checks if `value` is classified as a `Number` primitive or object. * * **Note:** To exclude `Infinity`, `-Infinity`, and `NaN`, which are * classified as numbers, use the `_.isFinite` method. * * @static * @memberOf _ * @since 0.1.0 * @category Lang * @param {*} value The value to check. * @returns {boolean} Returns `true` if `value` is a number, else `false`. * @example * * _.isNumber(3); * // => true * * _.isNumber(Number.MIN_VALUE); * // => true * * _.isNumber(Infinity); * // => true * * _.isNumber('3'); * // => false */ function isNumber(value) { return typeof value == 'number' || (isObjectLike(value) && baseGetTag(value) == numberTag); } module.exports = isNumber; /***/ }), /***/ 41580: /***/ ((module) => { /** * Checks if `value` is the * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types) * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`) * * @static * @memberOf _ * @since 0.1.0 * @category Lang * @param {*} value The value to check. * @returns {boolean} Returns `true` if `value` is an object, else `false`. * @example * * _.isObject({}); * // => true * * _.isObject([1, 2, 3]); * // => true * * _.isObject(_.noop); * // => true * * _.isObject(null); * // => false */ function isObject(value) { var type = typeof value; return value != null && (type == 'object' || type == 'function'); } module.exports = isObject; /***/ }), /***/ 80547: /***/ ((module) => { /** * Checks if `value` is object-like. A value is object-like if it's not `null` * and has a `typeof` result of "object". * * @static * @memberOf _ * @since 4.0.0 * @category Lang * @param {*} value The value to check. * @returns {boolean} Returns `true` if `value` is object-like, else `false`. * @example * * _.isObjectLike({}); * // => true * * _.isObjectLike([1, 2, 3]); * // => true * * _.isObjectLike(_.noop); * // => false * * _.isObjectLike(null); * // => false */ function isObjectLike(value) { return value != null && typeof value == 'object'; } module.exports = isObjectLike; /***/ }), /***/ 8138: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var baseGetTag = __webpack_require__(87379), isArray = __webpack_require__(53142), isObjectLike = __webpack_require__(80547); /** `Object#toString` result references. */ var stringTag = '[object String]'; /** * Checks if `value` is classified as a `String` primitive or object. * * @static * @since 0.1.0 * @memberOf _ * @category Lang * @param {*} value The value to check. * @returns {boolean} Returns `true` if `value` is a string, else `false`. * @example * * _.isString('abc'); * // => true * * _.isString(1); * // => false */ function isString(value) { return typeof value == 'string' || (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag); } module.exports = isString; /***/ }), /***/ 8666: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var baseIsTypedArray = __webpack_require__(70674), baseUnary = __webpack_require__(49460), nodeUtil = __webpack_require__(2306); /* Node.js helper references. */ var nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray; /** * Checks if `value` is classified as a typed array. * * @static * @memberOf _ * @since 3.0.0 * @category Lang * @param {*} value The value to check. * @returns {boolean} Returns `true` if `value` is a typed array, else `false`. * @example * * _.isTypedArray(new Uint8Array); * // => true * * _.isTypedArray([]); * // => false */ var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray; module.exports = isTypedArray; /***/ }), /***/ 81211: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var arrayLikeKeys = __webpack_require__(10358), baseKeys = __webpack_require__(195), isArrayLike = __webpack_require__(36529); /** * Creates an array of the own enumerable property names of `object`. * * **Note:** Non-object values are coerced to objects. See the * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys) * for more details. * * @static * @since 0.1.0 * @memberOf _ * @category Object * @param {Object} object The object to query. * @returns {Array} Returns the array of property names. * @example * * function Foo() { * this.a = 1; * this.b = 2; * } * * Foo.prototype.c = 3; * * _.keys(new Foo); * // => ['a', 'b'] (iteration order is not guaranteed) * * _.keys('hi'); * // => ['0', '1'] */ function keys(object) { return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object); } module.exports = keys; /***/ }), /***/ 21517: /***/ ((module) => { /** Error message constants. */ var FUNC_ERROR_TEXT = 'Expected a function'; /** * Creates a function that negates the result of the predicate `func`. The * `func` predicate is invoked with the `this` binding and arguments of the * created function. * * @static * @memberOf _ * @since 3.0.0 * @category Function * @param {Function} predicate The predicate to negate. * @returns {Function} Returns the new negated function. * @example * * function isEven(n) { * return n % 2 == 0; * } * * _.filter([1, 2, 3, 4, 5, 6], _.negate(isEven)); * // => [1, 3, 5] */ function negate(predicate) { if (typeof predicate != 'function') { throw new TypeError(FUNC_ERROR_TEXT); } return function() { var args = arguments; switch (args.length) { case 0: return !predicate.call(this); case 1: return !predicate.call(this, args[0]); case 2: return !predicate.call(this, args[0], args[1]); case 3: return !predicate.call(this, args[0], args[1], args[2]); } return !predicate.apply(this, args); }; } module.exports = negate; /***/ }), /***/ 99306: /***/ ((module) => { /** * This method returns a new empty array. * * @static * @memberOf _ * @since 4.13.0 * @category Util * @returns {Array} Returns the new empty array. * @example * * var arrays = _.times(2, _.stubArray); * * console.log(arrays); * // => [[], []] * * console.log(arrays[0] === arrays[1]); * // => false */ function stubArray() { return []; } module.exports = stubArray; /***/ }), /***/ 34772: /***/ ((module) => { /** * This method returns `false`. * * @static * @memberOf _ * @since 4.13.0 * @category Util * @returns {boolean} Returns `false`. * @example * * _.times(2, _.stubFalse); * // => [false, false] */ function stubFalse() { return false; } module.exports = stubFalse; /***/ }), /***/ 94123: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { const negate = __webpack_require__(21517); // Coerces an a parameter into a callback for matching elements. // This accepts an element name, an element type and returns a // callback to match for those elements. function coerceElementMatchingCallback(value) { // Element Name if (typeof value === 'string') { return element => element.element === value; } // Element Type if (value.constructor && value.extend) { return element => element instanceof value; } return value; } /** * @class * * @param {Element[]} elements * * @property {Element[]} elements */ class ArraySlice { constructor(elements) { this.elements = elements || []; } /** * @returns {Array} */ toValue() { return this.elements.map(element => element.toValue()); } // High Order Functions /** * @param callback - Function to execute for each element * @param thisArg - Value to use as this (i.e the reference Object) when executing callback * @returns {array} A new array with each element being the result of the callback function */ map(callback, thisArg) { return this.elements.map(callback, thisArg); } /** * Maps and then flattens the results. * @param callback - Function to execute for each element. * @param thisArg - Value to use as this (i.e the reference Object) when executing callback * @returns {array} */ flatMap(callback, thisArg) { return this .map(callback, thisArg) .reduce((a, b) => a.concat(b), []); } /** * Returns an array containing the truthy results of calling the given transformation with each element of this sequence * @param transform - A closure that accepts an element of this array as its argument and returns an optional value. * @param thisArg - Value to use as this (i.e the reference Object) when executing callback * @memberof ArraySlice.prototype * @returns An array of the non-undefined results of calling transform with each element of the array */ compactMap(transform, thisArg) { const results = []; this.forEach((element) => { const result = transform.bind(thisArg)(element); if (result) { results.push(result); } }); return results; } /** * @param callback - Function to execute for each element. This may be a callback, an element name or an element class. * @param thisArg - Value to use as this (i.e the reference Object) when executing callback * @returns {ArraySlice} * @memberof ArraySlice.prototype */ filter(callback, thisArg) { callback = coerceElementMatchingCallback(callback); return new ArraySlice(this.elements.filter(callback, thisArg)); } /** * @param callback - Function to execute for each element. This may be a callback, an element name or an element class. * @param thisArg - Value to use as this (i.e the reference Object) when executing callback * @returns {ArraySlice} * @memberof ArraySlice.prototype */ reject(callback, thisArg) { callback = coerceElementMatchingCallback(callback); return new ArraySlice(this.elements.filter(negate(callback), thisArg)); } /** * Returns the first element in the array that satisfies the given value * @param callback - Function to execute for each element. This may be a callback, an element name or an element class. * @param thisArg - Value to use as this (i.e the reference Object) when executing callback * @returns {Element} * @memberof ArraySlice.prototype */ find(callback, thisArg) { callback = coerceElementMatchingCallback(callback); return this.elements.find(callback, thisArg); } /** * @param callback - Function to execute for each element * @param thisArg - Value to use as this (i.e the reference Object) when executing callback * @memberof ArraySlice.prototype */ forEach(callback, thisArg) { this.elements.forEach(callback, thisArg); } /** * @param callback - Function to execute for each element * @param initialValue * @memberof ArraySlice.prototype */ reduce(callback, initialValue) { return this.elements.reduce(callback, initialValue); } /** * @param value * @returns {boolean} * @memberof ArraySlice.prototype */ includes(value) { return this.elements.some(element => element.equals(value)); } // Mutation /** * Removes the first element from the slice * @returns {Element} The removed element or undefined if the slice is empty * @memberof ArraySlice.prototype */ shift() { return this.elements.shift(); } /** * Adds the given element to the begining of the slice * @parameter {Element} value * @memberof ArraySlice.prototype */ unshift(value) { this.elements.unshift(this.refract(value)); } /** * Adds the given element to the end of the slice * @parameter {Element} value * @memberof ArraySlice.prototype */ push(value) { this.elements.push(this.refract(value)); return this; } /** * @parameter {Element} value * @memberof ArraySlice.prototype */ add(value) { this.push(value); } // Accessors /** * @parameter {number} index * @returns {Element} * @memberof ArraySlice.prototype */ get(index) { return this.elements[index]; } /** * @parameter {number} index * @memberof ArraySlice.prototype */ getValue(index) { const element = this.elements[index]; if (element) { return element.toValue(); } return undefined; } /** * Returns the number of elements in the slice * @type number */ get length() { return this.elements.length; } /** * Returns whether the slice is empty * @type boolean */ get isEmpty() { return this.elements.length === 0; } /** * Returns the first element in the slice or undefined if the slice is empty * @type Element */ get first() { return this.elements[0]; } } if (typeof Symbol !== 'undefined') { ArraySlice.prototype[Symbol.iterator] = function symbol() { return this.elements[Symbol.iterator](); }; } module.exports = ArraySlice; /***/ }), /***/ 82322: /***/ ((module) => { /** * @class * * @property {Element} key * @property {Element} value */ class KeyValuePair { constructor(key, value) { this.key = key; this.value = value; } /** * @returns {KeyValuePair} */ clone() { const clone = new KeyValuePair(); if (this.key) { clone.key = this.key.clone(); } if (this.value) { clone.value = this.value.clone(); } return clone; } } module.exports = KeyValuePair; /***/ }), /***/ 25735: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { const isNull = __webpack_require__(49310); const isString = __webpack_require__(8138); const isNumber = __webpack_require__(60986); const isBoolean = __webpack_require__(22563); const isObject = __webpack_require__(41580); const JSONSerialiser = __webpack_require__(50394); const elements = __webpack_require__(57547); /** * @class * * A refract element implementation with an extensible namespace, able to * load other namespaces into it. * * The namespace allows you to register your own classes to be instantiated * when a particular refract element is encountered, and allows you to specify * which elements get instantiated for existing Javascript objects. */ class Namespace { constructor(options) { this.elementMap = {}; this.elementDetection = []; this.Element = elements.Element; this.KeyValuePair = elements.KeyValuePair; if (!options || !options.noDefault) { this.useDefault(); } // These provide the defaults for new elements. this._attributeElementKeys = []; this._attributeElementArrayKeys = []; } /** * Use a namespace plugin or load a generic plugin. * * @param plugin */ use(plugin) { if (plugin.namespace) { plugin.namespace({ base: this }); } if (plugin.load) { plugin.load({ base: this }); } return this; } /* * Use the default namespace. This preloads all the default elements * into this registry instance. */ useDefault() { // Set up classes for default elements this .register('null', elements.NullElement) .register('string', elements.StringElement) .register('number', elements.NumberElement) .register('boolean', elements.BooleanElement) .register('array', elements.ArrayElement) .register('object', elements.ObjectElement) .register('member', elements.MemberElement) .register('ref', elements.RefElement) .register('link', elements.LinkElement); // Add instance detection functions to convert existing objects into // the corresponding refract elements. this .detect(isNull, elements.NullElement, false) .detect(isString, elements.StringElement, false) .detect(isNumber, elements.NumberElement, false) .detect(isBoolean, elements.BooleanElement, false) .detect(Array.isArray, elements.ArrayElement, false) .detect(isObject, elements.ObjectElement, false); return this; } /** * Register a new element class for an element. * * @param {string} name * @param elementClass */ register(name, ElementClass) { this._elements = undefined; this.elementMap[name] = ElementClass; return this; } /** * Unregister a previously registered class for an element. * * @param {string} name */ unregister(name) { this._elements = undefined; delete this.elementMap[name]; return this; } /* * Add a new detection function to determine which element * class to use when converting existing js instances into * refract element. */ detect(test, ElementClass, givenPrepend) { const prepend = givenPrepend === undefined ? true : givenPrepend; if (prepend) { this.elementDetection.unshift([test, ElementClass]); } else { this.elementDetection.push([test, ElementClass]); } return this; } /* * Convert an existing Javascript object into refract element instances, which * can be further processed or serialized into refract. * If the item passed in is already refracted, then it is returned * unmodified. */ toElement(value) { if (value instanceof this.Element) { return value; } let element; for (let i = 0; i < this.elementDetection.length; i += 1) { const test = this.elementDetection[i][0]; const ElementClass = this.elementDetection[i][1]; if (test(value)) { element = new ElementClass(value); break; } } return element; } /* * Get an element class given an element name. */ getElementClass(element) { const ElementClass = this.elementMap[element]; if (ElementClass === undefined) { // Fall back to the base element. We may not know what // to do with the `content`, but downstream software // may know. return this.Element; } return ElementClass; } /* * Convert a refract document into refract element instances. */ fromRefract(doc) { return this.serialiser.deserialise(doc); } /* * Convert an element to a Refracted JSON object. */ toRefract(element) { return this.serialiser.serialise(element); } /* * Get an object that contains all registered element classes, where * the key is the PascalCased element name and the value is the class. */ get elements() { if (this._elements === undefined) { this._elements = { Element: this.Element, }; Object.keys(this.elementMap).forEach((name) => { // Currently, all registered element types use a camelCaseName. // Converting to PascalCase is as simple as upper-casing the first // letter. const pascal = name[0].toUpperCase() + name.substr(1); this._elements[pascal] = this.elementMap[name]; }); } return this._elements; } /** * Convinience method for getting a JSON Serialiser configured with the * current namespace * * @type JSONSerialiser * @readonly * * @memberof Namespace.prototype */ get serialiser() { return new JSONSerialiser(this); } } JSONSerialiser.prototype.Namespace = Namespace; module.exports = Namespace; /***/ }), /***/ 93311: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { const negate = __webpack_require__(21517); const ArraySlice = __webpack_require__(94123); /** */ class ObjectSlice extends ArraySlice { map(callback, thisArg) { return this.elements.map(member => callback.bind(thisArg)(member.value, member.key, member)); } filter(callback, thisArg) { return new ObjectSlice(this.elements.filter(member => callback.bind(thisArg)(member.value, member.key, member))); } reject(callback, thisArg) { return this.filter(negate(callback.bind(thisArg))); } forEach(callback, thisArg) { return this.elements.forEach((member, index) => { callback.bind(thisArg)(member.value, member.key, member, index); }); } /** * @returns {array} */ keys() { return this.map((value, key) => key.toValue()); } /** * @returns {array} */ values() { return this.map(value => value.toValue()); } } module.exports = ObjectSlice; /***/ }), /***/ 57547: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { const Element = __webpack_require__(18631); const NullElement = __webpack_require__(13004); const StringElement = __webpack_require__(8712); const NumberElement = __webpack_require__(12536); const BooleanElement = __webpack_require__(2555); const ArrayElement = __webpack_require__(29796); const MemberElement = __webpack_require__(67309); const ObjectElement = __webpack_require__(15642); const LinkElement = __webpack_require__(9620); const RefElement = __webpack_require__(70593); const ArraySlice = __webpack_require__(94123); const ObjectSlice = __webpack_require__(93311); const KeyValuePair = __webpack_require__(82322); /** * Refracts a JSON type to minim elements * @param value * @returns {Element} */ function refract(value) { if (value instanceof Element) { return value; } if (typeof value === 'string') { return new StringElement(value); } if (typeof value === 'number') { return new NumberElement(value); } if (typeof value === 'boolean') { return new BooleanElement(value); } if (value === null) { return new NullElement(); } if (Array.isArray(value)) { return new ArrayElement(value.map(refract)); } if (typeof value === 'object') { const element = new ObjectElement(value); return element; } return value; } Element.prototype.ObjectElement = ObjectElement; Element.prototype.RefElement = RefElement; Element.prototype.MemberElement = MemberElement; Element.prototype.refract = refract; ArraySlice.prototype.refract = refract; /** * Contains all of the element classes, and related structures and methods * for handling with element instances. */ module.exports = { Element, NullElement, StringElement, NumberElement, BooleanElement, ArrayElement, MemberElement, ObjectElement, LinkElement, RefElement, refract, ArraySlice, ObjectSlice, KeyValuePair, }; /***/ }), /***/ 9620: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { const Element = __webpack_require__(18631); /** Hyperlinking MAY be used to link to other resources, provide links to * instructions on how to process a given element (by way of a profile or * other means), and may be used to provide meta data about the element in * which it's found. The meaning and purpose of the hyperlink is defined by * the link relation according to RFC 5988. * * @class LinkElement * * @param content * @param meta * @param attributes */ module.exports = class LinkElement extends Element { constructor(content, meta, attributes) { super(content || [], meta, attributes); this.element = 'link'; } /** * The relation identifier for the link, as defined in RFC 5988. * @type StringElement */ get relation() { return this.attributes.get('relation'); } set relation(relation) { this.attributes.set('relation', relation); } /** * The URI for the given link. * @type StringElement */ get href() { return this.attributes.get('href'); } set href(href) { this.attributes.set('href', href); } }; /***/ }), /***/ 70593: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { const Element = __webpack_require__(18631); /** * @class RefElement * * @param content * @param meta * @param attributes * * @extends Element */ module.exports = class RefElement extends Element { constructor(content, meta, attributes) { super(content || [], meta, attributes); this.element = 'ref'; if (!this.path) { this.path = 'element'; } } /** * Path of referenced element to transclude instead of element itself. * @type StringElement * @default element */ get path() { return this.attributes.get('path'); } set path(newValue) { this.attributes.set('path', newValue); } }; /***/ }), /***/ 88326: /***/ ((__unused_webpack_module, exports, __webpack_require__) => { const Namespace = __webpack_require__(25735); const elements = __webpack_require__(57547); // Direct access to the Namespace class exports.Namespace = Namespace; // Special constructor for the Namespace class exports.namespace = function namespace(options) { return new Namespace(options); }; exports.KeyValuePair = __webpack_require__(82322); exports.ArraySlice = elements.ArraySlice; exports.ObjectSlice = elements.ObjectSlice; exports.Element = elements.Element; exports.StringElement = elements.StringElement; exports.NumberElement = elements.NumberElement; exports.BooleanElement = elements.BooleanElement; exports.NullElement = elements.NullElement; exports.ArrayElement = elements.ArrayElement; exports.ObjectElement = elements.ObjectElement; exports.MemberElement = elements.MemberElement; exports.RefElement = elements.RefElement; exports.LinkElement = elements.LinkElement; exports.refract = elements.refract; exports.JSONSerialiser = __webpack_require__(50394); exports.JSON06Serialiser = __webpack_require__(83148); /***/ }), /***/ 29796: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { const negate = __webpack_require__(21517); const Element = __webpack_require__(18631); const ArraySlice = __webpack_require__(94123); /** * @class * * @param {Element[]} content * @param meta * @param attributes */ class ArrayElement extends Element { constructor(content, meta, attributes) { super(content || [], meta, attributes); this.element = 'array'; } primitive() { return 'array'; } /** * @returns {Element} */ get(index) { return this.content[index]; } /** * Helper for returning the value of an item * This works for both ArrayElement and ObjectElement instances */ getValue(indexOrKey) { const item = this.get(indexOrKey); if (item) { return item.toValue(); } return undefined; } /** * @returns {Element} */ getIndex(index) { return this.content[index]; } set(index, value) { this.content[index] = this.refract(value); return this; } remove(index) { const removed = this.content.splice(index, 1); if (removed.length) { return removed[0]; } return null; } /** * @param callback - Function to execute for each element * @param thisArg - Value to use as this (i.e the reference Object) when executing callback */ map(callback, thisArg) { return this.content.map(callback, thisArg); } /** * Maps and then flattens the results. * @param callback - Function to execute for each element. * @param thisArg - Value to use as this (i.e the reference Object) when executing callback * @returns {array} */ flatMap(callback, thisArg) { return this .map(callback, thisArg) .reduce((a, b) => a.concat(b), []); } /** * Returns an array containing the truthy results of calling the given transformation with each element of this sequence * @param transform - A closure that accepts an element of this array as its argument and returns an optional value. * @param thisArg - Value to use as this (i.e the reference Object) when executing callback * @memberof ArrayElement.prototype * @returns An array of the non-undefined results of calling transform with each element of the array */ compactMap(transform, thisArg) { const results = []; this.forEach((element) => { const result = transform.bind(thisArg)(element); if (result) { results.push(result); } }); return results; } /** * @param callback - Function to execute for each element * @param thisArg - Value to use as this (i.e the reference Object) when executing callback * @returns {ArraySlice} */ filter(callback, thisArg) { return new ArraySlice(this.content.filter(callback, thisArg)); } /** * @param callback - Function to execute for each element * @param thisArg - Value to use as this (i.e the reference Object) when executing callback * @returns {ArraySlice} */ reject(callback, thisArg) { return this.filter(negate(callback), thisArg); } /** * This is a reduce function specifically for Minim arrays and objects. It * allows for returning normal values or Minim instances, so it converts any * primitives on each step. */ reduce(callback, initialValue) { let startIndex; let memo; // Allows for defining a starting value of the reduce if (initialValue !== undefined) { startIndex = 0; memo = this.refract(initialValue); } else { startIndex = 1; // Object Element content items are member elements. Because of this, // the memo should start out as the member value rather than the // actual member itself. memo = this.primitive() === 'object' ? this.first.value : this.first; } // Sending each function call to the registry allows for passing Minim // instances through the function return. This means you can return // primitive values or return Minim instances and reduce will still work. for (let i = startIndex; i < this.length; i += 1) { const item = this.content[i]; if (this.primitive() === 'object') { memo = this.refract(callback(memo, item.value, item.key, item, this)); } else { memo = this.refract(callback(memo, item, i, this)); } } return memo; } /** * @callback forEachCallback * @param {Element} currentValue * @param {NumberElement} index */ /** * @param {forEachCallback} callback - Function to execute for each element * @param thisArg - Value to use as this (i.e the reference Object) when executing callback * @memberof ArrayElement.prototype */ forEach(callback, thisArg) { this.content.forEach((item, index) => { callback.bind(thisArg)(item, this.refract(index)); }); } /** * @returns {Element} */ shift() { return this.content.shift(); } /** * @param value */ unshift(value) { this.content.unshift(this.refract(value)); } /** * @param value */ push(value) { this.content.push(this.refract(value)); return this; } /** * @param value */ add(value) { this.push(value); } /** * Recusively search all descendents using a condition function. * @returns {Element[]} */ findElements(condition, givenOptions) { const options = givenOptions || {}; const recursive = !!options.recursive; const results = options.results === undefined ? [] : options.results; // The forEach method for Object Elements returns value, key, and member. // This passes those along to the condition function below. this.forEach((item, keyOrIndex, member) => { // We use duck-typing here to support any registered class that // may contain other elements. if (recursive && (item.findElements !== undefined)) { item.findElements(condition, { results, recursive, }); } if (condition(item, keyOrIndex, member)) { results.push(item); } }); return results; } /** * Recusively search all descendents using a condition function. * @param condition * @returns {ArraySlice} */ find(condition) { return new ArraySlice(this.findElements(condition, { recursive: true })); } /** * @param {string} element * @returns {ArraySlice} */ findByElement(element) { return this.find(item => item.element === element); } /** * @param {string} className * @returns {ArraySlice} * @memberof ArrayElement.prototype */ findByClass(className) { return this.find(item => item.classes.includes(className)); } /** * Search the tree recursively and find the element with the matching ID * @param {string} id * @returns {Element} * @memberof ArrayElement.prototype */ getById(id) { return this.find(item => item.id.toValue() === id).first; } /** * Looks for matching children using deep equality * @param value * @returns {boolean} */ includes(value) { return this.content.some(element => element.equals(value)); } /** * Looks for matching children using deep equality * @param value * @returns {boolean} * @see includes * @deprecated method was replaced by includes */ contains(value) { return this.includes(value); } // Fantasy Land /** * @returns {ArrayElement} An empty array element */ empty() { return new this.constructor([]); } ['fantasy-land/empty']() { return this.empty(); } /** * @param {ArrayElement} other * @returns {ArrayElement} */ concat(other) { return new this.constructor(this.content.concat(other.content)); } ['fantasy-land/concat'](other) { return this.concat(other); } ['fantasy-land/map'](transform) { return new this.constructor(this.map(transform)); } ['fantasy-land/chain'](transform) { return this .map(element => transform(element), this) .reduce((a, b) => a.concat(b), this.empty()); } ['fantasy-land/filter'](callback) { return new this.constructor(this.content.filter(callback)); } ['fantasy-land/reduce'](transform, initialValue) { return this.content.reduce(transform, initialValue); } /** * Returns the length of the collection * @type number */ get length() { return this.content.length; } /** * Returns whether the collection is empty * @type boolean */ get isEmpty() { return this.content.length === 0; } /** * Return the first item in the collection * @type Element */ get first() { return this.getIndex(0); } /** * Return the second item in the collection * @type Element */ get second() { return this.getIndex(1); } /** * Return the last item in the collection * @type Element */ get last() { return this.getIndex(this.length - 1); } } /** * @returns {ArrayElement} An empty array element */ ArrayElement.empty = function empty() { return new this(); }; ArrayElement['fantasy-land/empty'] = ArrayElement.empty; if (typeof Symbol !== 'undefined') { ArrayElement.prototype[Symbol.iterator] = function symbol() { return this.content[Symbol.iterator](); }; } module.exports = ArrayElement; /***/ }), /***/ 2555: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { const Element = __webpack_require__(18631); /** * @class BooleanElement * * @param {boolean} content * @param meta * @param attributes */ module.exports = class BooleanElement extends Element { constructor(content, meta, attributes) { super(content, meta, attributes); this.element = 'boolean'; } primitive() { return 'boolean'; } }; /***/ }), /***/ 18631: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { const isEqual = __webpack_require__(46343); const KeyValuePair = __webpack_require__(82322); const ArraySlice = __webpack_require__(94123); /** * @class * * @param content * @param meta * @param attributes * * @property {string} element */ class Element { constructor(content, meta, attributes) { // Lazy load this.meta and this.attributes because it's a Minim element // Otherwise, we get into circuluar calls if (meta) { this.meta = meta; } if (attributes) { this.attributes = attributes; } this.content = content; } /** * Freezes the element to prevent any mutation. * A frozen element will add `parent` property to every child element * to allow traversing up the element tree. */ freeze() { if (Object.isFrozen(this)) { return; } if (this._meta) { this.meta.parent = this; this.meta.freeze(); } if (this._attributes) { this.attributes.parent = this; this.attributes.freeze(); } this.children.forEach((element) => { element.parent = this; element.freeze(); }, this); if (this.content && Array.isArray(this.content)) { Object.freeze(this.content); } Object.freeze(this); } primitive() { } /** * Creates a deep clone of the instance */ clone() { const copy = new this.constructor(); copy.element = this.element; if (this.meta.length) { copy._meta = this.meta.clone(); } if (this.attributes.length) { copy._attributes = this.attributes.clone(); } if (this.content) { if (this.content.clone) { copy.content = this.content.clone(); } else if (Array.isArray(this.content)) { copy.content = this.content.map(element => element.clone()); } else { copy.content = this.content; } } else { copy.content = this.content; } return copy; } /** */ toValue() { if (this.content instanceof Element) { return this.content.toValue(); } if (this.content instanceof KeyValuePair) { return { key: this.content.key.toValue(), value: this.content.value ? this.content.value.toValue() : undefined, }; } if (this.content && this.content.map) { return this.content.map(element => element.toValue(), this); } return this.content; } /** * Creates a reference pointing at the Element * @returns {RefElement} * @memberof Element.prototype */ toRef(path) { if (this.id.toValue() === '') { throw Error('Cannot create reference to an element that does not contain an ID'); } const ref = new this.RefElement(this.id.toValue()); if (path) { ref.path = path; } return ref; } /** * Finds the given elements in the element tree. * When providing multiple element names, you must first freeze the element. * * @param names {...elementNames} * @returns {ArraySlice} */ findRecursive(...elementNames) { if (arguments.length > 1 && !this.isFrozen) { throw new Error('Cannot find recursive with multiple element names without first freezing the element. Call `element.freeze()`'); } const elementName = elementNames.pop(); let elements = new ArraySlice(); const append = (array, element) => { array.push(element); return array; }; // Checks the given element and appends element/sub-elements // that match element name to given array const checkElement = (array, element) => { if (element.element === elementName) { array.push(element); } const items = element.findRecursive(elementName); if (items) { items.reduce(append, array); } if (element.content instanceof KeyValuePair) { if (element.content.key) { checkElement(array, element.content.key); } if (element.content.value) { checkElement(array, element.content.value); } } return array; }; if (this.content) { // Direct Element if (this.content.element) { checkElement(elements, this.content); } // Element Array if (Array.isArray(this.content)) { this.content.reduce(checkElement, elements); } } if (!elementNames.isEmpty) { elements = elements.filter((element) => { let parentElements = element.parents.map(e => e.element); // eslint-disable-next-line no-restricted-syntax for (const namesIndex in elementNames) { const name = elementNames[namesIndex]; const index = parentElements.indexOf(name); if (index !== -1) { parentElements = parentElements.splice(0, index); } else { return false; } } return true; }); } return elements; } set(content) { this.content = content; return this; } equals(value) { return isEqual(this.toValue(), value); } getMetaProperty(name, value) { if (!this.meta.hasKey(name)) { if (this.isFrozen) { const element = this.refract(value); element.freeze(); return element; } this.meta.set(name, value); } return this.meta.get(name); } setMetaProperty(name, value) { this.meta.set(name, value); } /** * @type String */ get element() { // Returns 'element' so we don't have undefined as element return this._storedElement || 'element'; } set element(element) { this._storedElement = element; } get content() { return this._content; } set content(value) { if (value instanceof Element) { this._content = value; } else if (value instanceof ArraySlice) { this.content = value.elements; } else if ( typeof value == 'string' || typeof value == 'number' || typeof value == 'boolean' || value === 'null' || value == undefined ) { // Primitive Values this._content = value; } else if (value instanceof KeyValuePair) { this._content = value; } else if (Array.isArray(value)) { this._content = value.map(this.refract); } else if (typeof value === 'object') { this._content = Object.keys(value).map(key => new this.MemberElement(key, value[key])); } else { throw new Error('Cannot set content to given value'); } } /** * @type ObjectElement */ get meta() { if (!this._meta) { if (this.isFrozen) { const meta = new this.ObjectElement(); meta.freeze(); return meta; } this._meta = new this.ObjectElement(); } return this._meta; } set meta(value) { if (value instanceof this.ObjectElement) { this._meta = value; } else { this.meta.set(value || {}); } } /** * The attributes property defines attributes about the given instance * of the element, as specified by the element property. * * @type ObjectElement */ get attributes() { if (!this._attributes) { if (this.isFrozen) { const meta = new this.ObjectElement(); meta.freeze(); return meta; } this._attributes = new this.ObjectElement(); } return this._attributes; } set attributes(value) { if (value instanceof this.ObjectElement) { this._attributes = value; } else { this.attributes.set(value || {}); } } /** * Unique Identifier, MUST be unique throughout an entire element tree. * @type StringElement */ get id() { return this.getMetaProperty('id', ''); } set id(element) { this.setMetaProperty('id', element); } /** * @type ArrayElement */ get classes() { return this.getMetaProperty('classes', []); } set classes(element) { this.setMetaProperty('classes', element); } /** * Human-readable title of element * @type StringElement */ get title() { return this.getMetaProperty('title', ''); } set title(element) { this.setMetaProperty('title', element); } /** * Human-readable description of element * @type StringElement */ get description() { return this.getMetaProperty('description', ''); } set description(element) { this.setMetaProperty('description', element); } /** * @type ArrayElement */ get links() { return this.getMetaProperty('links', []); } set links(element) { this.setMetaProperty('links', element); } /** * Returns whether the element is frozen. * @type boolean * @see freeze */ get isFrozen() { return Object.isFrozen(this); } /** * Returns all of the parent elements. * @type ArraySlice */ get parents() { let { parent } = this; const parents = new ArraySlice(); while (parent) { parents.push(parent); // eslint-disable-next-line prefer-destructuring parent = parent.parent; } return parents; } /** * Returns all of the children elements found within the element. * @type ArraySlice * @see recursiveChildren */ get children() { if (Array.isArray(this.content)) { return new ArraySlice(this.content); } if (this.content instanceof KeyValuePair) { const children = new ArraySlice([this.content.key]); if (this.content.value) { children.push(this.content.value); } return children; } if (this.content instanceof Element) { return new ArraySlice([this.content]); } return new ArraySlice(); } /** * Returns all of the children elements found within the element recursively. * @type ArraySlice * @see children */ get recursiveChildren() { const children = new ArraySlice(); this.children.forEach((element) => { children.push(element); element.recursiveChildren.forEach((child) => { children.push(child); }); }); return children; } } module.exports = Element; /***/ }), /***/ 67309: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { const KeyValuePair = __webpack_require__(82322); const Element = __webpack_require__(18631); /** * @class MemberElement * * @param {Element} key * @param {Element} value * @param meta * @param attributes */ module.exports = class MemberElement extends Element { constructor(key, value, meta, attributes) { super(new KeyValuePair(), meta, attributes); this.element = 'member'; this.key = key; this.value = value; } /** * @type Element */ get key() { return this.content.key; } set key(key) { this.content.key = this.refract(key); } /** * @type Element */ get value() { return this.content.value; } set value(value) { this.content.value = this.refract(value); } }; /***/ }), /***/ 13004: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { const Element = __webpack_require__(18631); /** */ class NullElement extends Element { constructor(content, meta, attributes) { super(content || null, meta, attributes); this.element = 'null'; } primitive() { return 'null'; } set() { return new Error('Cannot set the value of null'); } } module.exports = NullElement; /***/ }), /***/ 12536: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { const Element = __webpack_require__(18631); /** * @class NumberElement * * @param {number} content * @param meta * @param attributes */ module.exports = class NumberElement extends Element { constructor(content, meta, attributes) { super(content, meta, attributes); this.element = 'number'; } primitive() { return 'number'; } }; /***/ }), /***/ 15642: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { const negate = __webpack_require__(21517); const isObject = __webpack_require__(41580); const ArrayElement = __webpack_require__(29796); const MemberElement = __webpack_require__(67309); const ObjectSlice = __webpack_require__(93311); /** * @class * * @param content * @param meta * @param attributes */ class ObjectElement extends ArrayElement { constructor(content, meta, attributes) { super(content || [], meta, attributes); this.element = 'object'; } primitive() { return 'object'; } toValue() { return this.content.reduce((results, el) => { results[el.key.toValue()] = el.value ? el.value.toValue() : undefined; return results; }, {}); } /** * @param key * @returns {Element} */ get(name) { const member = this.getMember(name); if (member) { return member.value; } return undefined; } /** * @param key * @returns {MemberElement} */ getMember(name) { if (name === undefined) { return undefined; } return this.content.find(element => element.key.toValue() === name); } /** * @param key */ remove(name) { let removed = null; this.content = this.content.filter((item) => { if (item.key.toValue() === name) { removed = item; return false; } return true; }); return removed; } /** * @param key * @returns {Element} */ getKey(name) { const member = this.getMember(name); if (member) { return member.key; } return undefined; } /** * Set allows either a key/value pair to be given or an object * If an object is given, each key is set to its respective value */ set(keyOrObject, value) { if (isObject(keyOrObject)) { Object.keys(keyOrObject).forEach((objectKey) => { this.set(objectKey, keyOrObject[objectKey]); }); return this; } // Store as key for clarity const key = keyOrObject; const member = this.getMember(key); if (member) { member.value = value; } else { this.content.push(new MemberElement(key, value)); } return this; } /** */ keys() { return this.content.map(item => item.key.toValue()); } /** */ values() { return this.content.map(item => item.value.toValue()); } /** * @returns {boolean} */ hasKey(value) { return this.content.some(member => member.key.equals(value)); } /** * @returns {array} */ items() { return this.content.map(item => [item.key.toValue(), item.value.toValue()]); } /** * @param callback * @param thisArg - Value to use as this (i.e the reference Object) when executing callback */ map(callback, thisArg) { return this.content.map(item => callback.bind(thisArg)(item.value, item.key, item)); } /** * Returns an array containing the truthy results of calling the given transformation with each element of this sequence * @param transform - A closure that accepts the value, key and member element of this object as its argument and returns an optional value. * @param thisArg - Value to use as this (i.e the reference Object) when executing callback * @returns An array of the non-undefined results of calling transform with each element of the array */ compactMap(callback, thisArg) { const results = []; this.forEach((value, key, member) => { const result = callback.bind(thisArg)(value, key, member); if (result) { results.push(result); } }); return results; } /** * @param callback * @param thisArg - Value to use as this (i.e the reference Object) when executing callback * * @returns {ObjectSlice} */ filter(callback, thisArg) { return new ObjectSlice(this.content).filter(callback, thisArg); } /** * @param callback * @param thisArg - Value to use as this (i.e the reference Object) when executing callback * * @returns {ObjectSlice} * * @memberof ObjectElement.prototype */ reject(callback, thisArg) { return this.filter(negate(callback), thisArg); } /** * @param callback * @param thisArg - Value to use as this (i.e the reference Object) when executing callback * * @memberof ObjectElement.prototype */ forEach(callback, thisArg) { return this.content.forEach(item => callback.bind(thisArg)(item.value, item.key, item)); } } module.exports = ObjectElement; /***/ }), /***/ 8712: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { const Element = __webpack_require__(18631); /** * @class StringElement * * @param {string} content * @param meta * @param attributes */ module.exports = class StringElement extends Element { constructor(content, meta, attributes) { super(content, meta, attributes); this.element = 'string'; } primitive() { return 'string'; } /** * The length of the string. * @type number */ get length() { return this.content.length; } }; /***/ }), /***/ 83148: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { const JSONSerialiser = __webpack_require__(50394); module.exports = class JSON06Serialiser extends JSONSerialiser { serialise(element) { if (!(element instanceof this.namespace.elements.Element)) { throw new TypeError(`Given element \`${element}\` is not an Element instance`); } let variable; if (element._attributes && element.attributes.get('variable')) { variable = element.attributes.get('variable'); } const payload = { element: element.element, }; if (element._meta && element._meta.length > 0) { payload.meta = this.serialiseObject(element.meta); } const isEnum = (element.element === 'enum' || element.attributes.keys().indexOf('enumerations') !== -1); if (isEnum) { const attributes = this.enumSerialiseAttributes(element); if (attributes) { payload.attributes = attributes; } } else if (element._attributes && element._attributes.length > 0) { let { attributes } = element; // Meta attribute was renamed to metadata if (attributes.get('metadata')) { attributes = attributes.clone(); attributes.set('meta', attributes.get('metadata')); attributes.remove('metadata'); } if (element.element === 'member' && variable) { attributes = attributes.clone(); attributes.remove('variable'); } if (attributes.length > 0) { payload.attributes = this.serialiseObject(attributes); } } if (isEnum) { payload.content = this.enumSerialiseContent(element, payload); } else if (this[`${element.element}SerialiseContent`]) { payload.content = this[`${element.element}SerialiseContent`](element, payload); } else if (element.content !== undefined) { let content; if (variable && element.content.key) { content = element.content.clone(); content.key.attributes.set('variable', variable); content = this.serialiseContent(content); } else { content = this.serialiseContent(element.content); } if (this.shouldSerialiseContent(element, content)) { payload.content = content; } } else if (this.shouldSerialiseContent(element, element.content) && element instanceof this.namespace.elements.Array) { payload.content = []; } return payload; } shouldSerialiseContent(element, content) { if (element.element === 'parseResult' || element.element === 'httpRequest' || element.element === 'httpResponse' || element.element === 'category' || element.element === 'link') { return true; } if (content === undefined) { return false; } if (Array.isArray(content) && content.length === 0) { return false; } return true; } refSerialiseContent(element, payload) { delete payload.attributes; return { href: element.toValue(), path: element.path.toValue(), }; } sourceMapSerialiseContent(element) { return element.toValue(); } dataStructureSerialiseContent(element) { return [this.serialiseContent(element.content)]; } enumSerialiseAttributes(element) { const attributes = element.attributes.clone(); // Enumerations attribute was is placed inside content (see `enumSerialiseContent` below) const enumerations = attributes.remove('enumerations') || new this.namespace.elements.Array([]); // Remove fixed type attribute from samples and default const defaultValue = attributes.get('default'); let samples = attributes.get('samples') || new this.namespace.elements.Array([]); if (defaultValue && defaultValue.content) { if (defaultValue.content.attributes) { defaultValue.content.attributes.remove('typeAttributes'); } // Wrap default in array (not sure it is really needed because tests pass without this line) attributes.set('default', new this.namespace.elements.Array([defaultValue.content])); } // Strip typeAttributes from samples, 0.6 doesn't usually contain them in samples samples.forEach((sample) => { if (sample.content && sample.content.element) { sample.content.attributes.remove('typeAttributes'); } }); // Content -> Samples if (element.content && enumerations.length !== 0) { // If we don't have enumerations, content should stay in // content (enumerations) as per Drafter 3 behaviour. samples.unshift(element.content); } samples = samples.map((sample) => { if (sample instanceof this.namespace.elements.Array) { return [sample]; } return new this.namespace.elements.Array([sample.content]); }); if (samples.length) { attributes.set('samples', samples); } if (attributes.length > 0) { return this.serialiseObject(attributes); } return undefined; } enumSerialiseContent(element) { // In API Elements < 1.0, the content is the enumerations // If we don't have an enumerations, use the value (Drafter 3 behaviour) if (element._attributes) { const enumerations = element.attributes.get('enumerations'); if (enumerations && enumerations.length > 0) { return enumerations.content.map((enumeration) => { const e = enumeration.clone(); e.attributes.remove('typeAttributes'); return this.serialise(e); }); } } if (element.content) { const value = element.content.clone(); value.attributes.remove('typeAttributes'); return [this.serialise(value)]; } return []; } deserialise(value) { if (typeof value === 'string') { return new this.namespace.elements.String(value); } if (typeof value === 'number') { return new this.namespace.elements.Number(value); } if (typeof value === 'boolean') { return new this.namespace.elements.Boolean(value); } if (value === null) { return new this.namespace.elements.Null(); } if (Array.isArray(value)) { return new this.namespace.elements.Array(value.map(this.deserialise, this)); } const ElementClass = this.namespace.getElementClass(value.element); const element = new ElementClass(); if (element.element !== value.element) { element.element = value.element; } if (value.meta) { this.deserialiseObject(value.meta, element.meta); } if (value.attributes) { this.deserialiseObject(value.attributes, element.attributes); } const content = this.deserialiseContent(value.content); if (content !== undefined || element.content === null) { element.content = content; } if (element.element === 'enum') { // Grab enumerations from content if (element.content) { element.attributes.set('enumerations', element.content); } // Unwrap the sample value (inside double array) let samples = element.attributes.get('samples'); element.attributes.remove('samples'); if (samples) { // Re-wrap samples from array of array to array of enum's const existingSamples = samples; samples = new this.namespace.elements.Array(); existingSamples.forEach((existingSample) => { existingSample.forEach((sample) => { const enumElement = new ElementClass(sample); enumElement.element = element.element; samples.push(enumElement); }); }); const sample = samples.shift(); if (sample) { element.content = sample.content; } else { element.content = undefined; } element.attributes.set('samples', samples); } else { element.content = undefined; } // Unwrap the default value let defaultValue = element.attributes.get('default'); if (defaultValue && defaultValue.length > 0) { defaultValue = defaultValue.get(0); const defaultElement = new ElementClass(defaultValue); defaultElement.element = element.element; element.attributes.set('default', defaultElement); } } else if (element.element === 'dataStructure' && Array.isArray(element.content)) { [element.content] = element.content; } else if (element.element === 'category') { // "meta" attribute has been renamed to metadata const metadata = element.attributes.get('meta'); if (metadata) { element.attributes.set('metadata', metadata); element.attributes.remove('meta'); } } else if (element.element === 'member' && element.key && element.key._attributes && element.key._attributes.getValue('variable')) { element.attributes.set('variable', element.key.attributes.get('variable')); element.key.attributes.remove('variable'); } return element; } // Private API serialiseContent(content) { if (content instanceof this.namespace.elements.Element) { return this.serialise(content); } if (content instanceof this.namespace.KeyValuePair) { const pair = { key: this.serialise(content.key), }; if (content.value) { pair.value = this.serialise(content.value); } return pair; } if (content && content.map) { return content.map(this.serialise, this); } return content; } deserialiseContent(content) { if (content) { if (content.element) { return this.deserialise(content); } if (content.key) { const pair = new this.namespace.KeyValuePair(this.deserialise(content.key)); if (content.value) { pair.value = this.deserialise(content.value); } return pair; } if (content.map) { return content.map(this.deserialise, this); } } return content; } shouldRefract(element) { if ((element._attributes && element.attributes.keys().length) || (element._meta && element.meta.keys().length)) { return true; } if (element.element === 'enum') { // enum elements are treated like primitives (array) return false; } if (element.element !== element.primitive() || element.element === 'member') { return true; } return false; } convertKeyToRefract(key, item) { if (this.shouldRefract(item)) { return this.serialise(item); } if (item.element === 'enum') { return this.serialiseEnum(item); } if (item.element === 'array') { return item.map((subItem) => { if (this.shouldRefract(subItem) || key === 'default') { return this.serialise(subItem); } if (subItem.element === 'array' || subItem.element === 'object' || subItem.element === 'enum') { // items for array or enum inside array are always serialised return subItem.children.map(subSubItem => this.serialise(subSubItem)); } return subItem.toValue(); }); } if (item.element === 'object') { return (item.content || []).map(this.serialise, this); } return item.toValue(); } serialiseEnum(element) { return element.children.map(item => this.serialise(item)); } serialiseObject(obj) { const result = {}; obj.forEach((value, key) => { if (value) { const keyValue = key.toValue(); result[keyValue] = this.convertKeyToRefract(keyValue, value); } }); return result; } deserialiseObject(from, to) { Object.keys(from).forEach((key) => { to.set(key, this.deserialise(from[key])); }); } }; /***/ }), /***/ 50394: /***/ ((module) => { /** * @class JSONSerialiser * * @param {Namespace} namespace * * @property {Namespace} namespace */ class JSONSerialiser { constructor(namespace) { this.namespace = namespace || new this.Namespace(); } /** * @param {Element} element * @returns {object} */ serialise(element) { if (!(element instanceof this.namespace.elements.Element)) { throw new TypeError(`Given element \`${element}\` is not an Element instance`); } const payload = { element: element.element, }; if (element._meta && element._meta.length > 0) { payload.meta = this.serialiseObject(element.meta); } if (element._attributes && element._attributes.length > 0) { payload.attributes = this.serialiseObject(element.attributes); } const content = this.serialiseContent(element.content); if (content !== undefined) { payload.content = content; } return payload; } /** * @param {object} value * @returns {Element} */ deserialise(value) { if (!value.element) { throw new Error('Given value is not an object containing an element name'); } const ElementClass = this.namespace.getElementClass(value.element); const element = new ElementClass(); if (element.element !== value.element) { element.element = value.element; } if (value.meta) { this.deserialiseObject(value.meta, element.meta); } if (value.attributes) { this.deserialiseObject(value.attributes, element.attributes); } const content = this.deserialiseContent(value.content); if (content !== undefined || element.content === null) { element.content = content; } return element; } // Private API serialiseContent(content) { if (content instanceof this.namespace.elements.Element) { return this.serialise(content); } if (content instanceof this.namespace.KeyValuePair) { const pair = { key: this.serialise(content.key), }; if (content.value) { pair.value = this.serialise(content.value); } return pair; } if (content && content.map) { if (content.length === 0) { return undefined; } return content.map(this.serialise, this); } return content; } deserialiseContent(content) { if (content) { if (content.element) { return this.deserialise(content); } if (content.key) { const pair = new this.namespace.KeyValuePair(this.deserialise(content.key)); if (content.value) { pair.value = this.deserialise(content.value); } return pair; } if (content.map) { return content.map(this.deserialise, this); } } return content; } serialiseObject(obj) { const result = {}; obj.forEach((value, key) => { if (value) { result[key.toValue()] = this.serialise(value); } }); if (Object.keys(result).length === 0) { return undefined; } return result; } deserialiseObject(from, to) { Object.keys(from).forEach((key) => { to.set(key, this.deserialise(from[key])); }); } } module.exports = JSONSerialiser; /***/ }), /***/ 17028: /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ Mixin: () => (/* binding */ Mixin), /* harmony export */ decorate: () => (/* binding */ decorate), /* harmony export */ hasMixin: () => (/* binding */ hasMixin), /* harmony export */ mix: () => (/* binding */ mix), /* harmony export */ settings: () => (/* binding */ settings) /* harmony export */ }); /** * Utility function that works like `Object.apply`, but copies getters and setters properly as well. Additionally gives * the option to exclude properties by name. */ const copyProps = (dest, src, exclude = []) => { const props = Object.getOwnPropertyDescriptors(src); for (let prop of exclude) delete props[prop]; Object.defineProperties(dest, props); }; /** * Returns the full chain of prototypes up until Object.prototype given a starting object. The order of prototypes will * be closest to farthest in the chain. */ const protoChain = (obj, currentChain = [obj]) => { const proto = Object.getPrototypeOf(obj); if (proto === null) return currentChain; return protoChain(proto, [...currentChain, proto]); }; /** * Identifies the nearest ancestor common to all the given objects in their prototype chains. For most unrelated * objects, this function should return Object.prototype. */ const nearestCommonProto = (...objs) => { if (objs.length === 0) return undefined; let commonProto = undefined; const protoChains = objs.map(obj => protoChain(obj)); while (protoChains.every(protoChain => protoChain.length > 0)) { const protos = protoChains.map(protoChain => protoChain.pop()); const potentialCommonProto = protos[0]; if (protos.every(proto => proto === potentialCommonProto)) commonProto = potentialCommonProto; else break; } return commonProto; }; /** * Creates a new prototype object that is a mixture of the given prototypes. The mixing is achieved by first * identifying the nearest common ancestor and using it as the prototype for a new object. Then all properties/methods * downstream of this prototype (ONLY downstream) are copied into the new object. * * The resulting prototype is more performant than softMixProtos(...), as well as ES5 compatible. However, it's not as * flexible as updates to the source prototypes aren't captured by the mixed result. See softMixProtos for why you may * want to use that instead. */ const hardMixProtos = (ingredients, constructor, exclude = []) => { var _a; const base = (_a = nearestCommonProto(...ingredients)) !== null && _a !== void 0 ? _a : Object.prototype; const mixedProto = Object.create(base); // Keeps track of prototypes we've already visited to avoid copying the same properties multiple times. We init the // list with the proto chain below the nearest common ancestor because we don't want any of those methods mixed in // when they will already be accessible via prototype access. const visitedProtos = protoChain(base); for (let prototype of ingredients) { let protos = protoChain(prototype); // Apply the prototype chain in reverse order so that old methods don't override newer ones. for (let i = protos.length - 1; i >= 0; i--) { let newProto = protos[i]; if (visitedProtos.indexOf(newProto) === -1) { copyProps(mixedProto, newProto, ['constructor', ...exclude]); visitedProtos.push(newProto); } } } mixedProto.constructor = constructor; return mixedProto; }; const unique = (arr) => arr.filter((e, i) => arr.indexOf(e) == i); /** * Finds the ingredient with the given prop, searching in reverse order and breadth-first if searching ingredient * prototypes is required. */ const getIngredientWithProp = (prop, ingredients) => { const protoChains = ingredients.map(ingredient => protoChain(ingredient)); // since we search breadth-first, we need to keep track of our depth in the prototype chains let protoDepth = 0; // not all prototype chains are the same depth, so this remains true as long as at least one of the ingredients' // prototype chains has an object at this depth let protosAreLeftToSearch = true; while (protosAreLeftToSearch) { // with the start of each horizontal slice, we assume this is the one that's deeper than any of the proto chains protosAreLeftToSearch = false; // scan through the ingredients right to left for (let i = ingredients.length - 1; i >= 0; i--) { const searchTarget = protoChains[i][protoDepth]; if (searchTarget !== undefined && searchTarget !== null) { // if we find something, this is proof that this horizontal slice potentially more objects to search protosAreLeftToSearch = true; // eureka, we found it if (Object.getOwnPropertyDescriptor(searchTarget, prop) != undefined) { return protoChains[i][0]; } } } protoDepth++; } return undefined; }; /** * "Mixes" ingredients by wrapping them in a Proxy. The optional prototype argument allows the mixed object to sit * downstream of an existing prototype chain. Note that "properties" cannot be added, deleted, or modified. */ const proxyMix = (ingredients, prototype = Object.prototype) => new Proxy({}, { getPrototypeOf() { return prototype; }, setPrototypeOf() { throw Error('Cannot set prototype of Proxies created by ts-mixer'); }, getOwnPropertyDescriptor(_, prop) { return Object.getOwnPropertyDescriptor(getIngredientWithProp(prop, ingredients) || {}, prop); }, defineProperty() { throw new Error('Cannot define new properties on Proxies created by ts-mixer'); }, has(_, prop) { return getIngredientWithProp(prop, ingredients) !== undefined || prototype[prop] !== undefined; }, get(_, prop) { return (getIngredientWithProp(prop, ingredients) || prototype)[prop]; }, set(_, prop, val) { const ingredientWithProp = getIngredientWithProp(prop, ingredients); if (ingredientWithProp === undefined) throw new Error('Cannot set new properties on Proxies created by ts-mixer'); ingredientWithProp[prop] = val; return true; }, deleteProperty() { throw new Error('Cannot delete properties on Proxies created by ts-mixer'); }, ownKeys() { return ingredients .map(Object.getOwnPropertyNames) .reduce((prev, curr) => curr.concat(prev.filter(key => curr.indexOf(key) < 0))); }, }); /** * Creates a new proxy-prototype object that is a "soft" mixture of the given prototypes. The mixing is achieved by * proxying all property access to the ingredients. This is not ES5 compatible and less performant. However, any * changes made to the source prototypes will be reflected in the proxy-prototype, which may be desirable. */ const softMixProtos = (ingredients, constructor) => proxyMix([...ingredients, { constructor }]); const settings = { initFunction: null, staticsStrategy: 'copy', prototypeStrategy: 'copy', decoratorInheritance: 'deep', }; // Keeps track of constituent classes for every mixin class created by ts-mixer. const mixins = new WeakMap(); const getMixinsForClass = (clazz) => mixins.get(clazz); const registerMixins = (mixedClass, constituents) => mixins.set(mixedClass, constituents); const hasMixin = (instance, mixin) => { if (instance instanceof mixin) return true; const constructor = instance.constructor; const visited = new Set(); let frontier = new Set(); frontier.add(constructor); while (frontier.size > 0) { // check if the frontier has the mixin we're looking for. if not, we can say we visited every item in the frontier if (frontier.has(mixin)) return true; frontier.forEach((item) => visited.add(item)); // build a new frontier based on the associated mixin classes and prototype chains of each frontier item const newFrontier = new Set(); frontier.forEach((item) => { var _a; const itemConstituents = (_a = mixins.get(item)) !== null && _a !== void 0 ? _a : protoChain(item.prototype) .map((proto) => proto.constructor) .filter((item) => item !== null); if (itemConstituents) itemConstituents.forEach((constituent) => { if (!visited.has(constituent) && !frontier.has(constituent)) newFrontier.add(constituent); }); }); // we have a new frontier, now search again frontier = newFrontier; } // if we get here, we couldn't find the mixin anywhere in the prototype chain or associated mixin classes return false; }; const mergeObjectsOfDecorators = (o1, o2) => { var _a, _b; const allKeys = unique([...Object.getOwnPropertyNames(o1), ...Object.getOwnPropertyNames(o2)]); const mergedObject = {}; for (let key of allKeys) mergedObject[key] = unique([...((_a = o1 === null || o1 === void 0 ? void 0 : o1[key]) !== null && _a !== void 0 ? _a : []), ...((_b = o2 === null || o2 === void 0 ? void 0 : o2[key]) !== null && _b !== void 0 ? _b : [])]); return mergedObject; }; const mergePropertyAndMethodDecorators = (d1, d2) => { var _a, _b, _c, _d; return ({ property: mergeObjectsOfDecorators((_a = d1 === null || d1 === void 0 ? void 0 : d1.property) !== null && _a !== void 0 ? _a : {}, (_b = d2 === null || d2 === void 0 ? void 0 : d2.property) !== null && _b !== void 0 ? _b : {}), method: mergeObjectsOfDecorators((_c = d1 === null || d1 === void 0 ? void 0 : d1.method) !== null && _c !== void 0 ? _c : {}, (_d = d2 === null || d2 === void 0 ? void 0 : d2.method) !== null && _d !== void 0 ? _d : {}), }); }; const mergeDecorators = (d1, d2) => { var _a, _b, _c, _d, _e, _f; return ({ class: unique([...(_a = d1 === null || d1 === void 0 ? void 0 : d1.class) !== null && _a !== void 0 ? _a : [], ...(_b = d2 === null || d2 === void 0 ? void 0 : d2.class) !== null && _b !== void 0 ? _b : []]), static: mergePropertyAndMethodDecorators((_c = d1 === null || d1 === void 0 ? void 0 : d1.static) !== null && _c !== void 0 ? _c : {}, (_d = d2 === null || d2 === void 0 ? void 0 : d2.static) !== null && _d !== void 0 ? _d : {}), instance: mergePropertyAndMethodDecorators((_e = d1 === null || d1 === void 0 ? void 0 : d1.instance) !== null && _e !== void 0 ? _e : {}, (_f = d2 === null || d2 === void 0 ? void 0 : d2.instance) !== null && _f !== void 0 ? _f : {}), }); }; const decorators = new Map(); const findAllConstituentClasses = (...classes) => { var _a; const allClasses = new Set(); const frontier = new Set([...classes]); while (frontier.size > 0) { for (let clazz of frontier) { const protoChainClasses = protoChain(clazz.prototype).map(proto => proto.constructor); const mixinClasses = (_a = getMixinsForClass(clazz)) !== null && _a !== void 0 ? _a : []; const potentiallyNewClasses = [...protoChainClasses, ...mixinClasses]; const newClasses = potentiallyNewClasses.filter(c => !allClasses.has(c)); for (let newClass of newClasses) frontier.add(newClass); allClasses.add(clazz); frontier.delete(clazz); } } return [...allClasses]; }; const deepDecoratorSearch = (...classes) => { const decoratorsForClassChain = findAllConstituentClasses(...classes) .map(clazz => decorators.get(clazz)) .filter(decorators => !!decorators); if (decoratorsForClassChain.length == 0) return {}; if (decoratorsForClassChain.length == 1) return decoratorsForClassChain[0]; return decoratorsForClassChain.reduce((d1, d2) => mergeDecorators(d1, d2)); }; const directDecoratorSearch = (...classes) => { const classDecorators = classes.map(clazz => getDecoratorsForClass(clazz)); if (classDecorators.length === 0) return {}; if (classDecorators.length === 1) return classDecorators[0]; return classDecorators.reduce((d1, d2) => mergeDecorators(d1, d2)); }; const getDecoratorsForClass = (clazz) => { let decoratorsForClass = decorators.get(clazz); if (!decoratorsForClass) { decoratorsForClass = {}; decorators.set(clazz, decoratorsForClass); } return decoratorsForClass; }; const decorateClass = (decorator) => ((clazz) => { const decoratorsForClass = getDecoratorsForClass(clazz); let classDecorators = decoratorsForClass.class; if (!classDecorators) { classDecorators = []; decoratorsForClass.class = classDecorators; } classDecorators.push(decorator); return decorator(clazz); }); const decorateMember = (decorator) => ((object, key, ...otherArgs) => { var _a, _b, _c; const decoratorTargetType = typeof object === 'function' ? 'static' : 'instance'; const decoratorType = typeof object[key] === 'function' ? 'method' : 'property'; const clazz = decoratorTargetType === 'static' ? object : object.constructor; const decoratorsForClass = getDecoratorsForClass(clazz); const decoratorsForTargetType = (_a = decoratorsForClass === null || decoratorsForClass === void 0 ? void 0 : decoratorsForClass[decoratorTargetType]) !== null && _a !== void 0 ? _a : {}; decoratorsForClass[decoratorTargetType] = decoratorsForTargetType; let decoratorsForType = (_b = decoratorsForTargetType === null || decoratorsForTargetType === void 0 ? void 0 : decoratorsForTargetType[decoratorType]) !== null && _b !== void 0 ? _b : {}; decoratorsForTargetType[decoratorType] = decoratorsForType; let decoratorsForKey = (_c = decoratorsForType === null || decoratorsForType === void 0 ? void 0 : decoratorsForType[key]) !== null && _c !== void 0 ? _c : []; decoratorsForType[key] = decoratorsForKey; // @ts-ignore: array is type `A[] | B[]` and item is type `A | B`, so technically a type error, but it's fine decoratorsForKey.push(decorator); // @ts-ignore return decorator(object, key, ...otherArgs); }); const decorate = (decorator) => ((...args) => { if (args.length === 1) return decorateClass(decorator)(args[0]); return decorateMember(decorator)(...args); }); function Mixin(...constructors) { var _a, _b, _c; const prototypes = constructors.map(constructor => constructor.prototype); // Here we gather up the init functions of the ingredient prototypes, combine them into one init function, and // attach it to the mixed class prototype. The reason we do this is because we want the init functions to mix // similarly to constructors -- not methods, which simply override each other. const initFunctionName = settings.initFunction; if (initFunctionName !== null) { const initFunctions = prototypes .map(proto => proto[initFunctionName]) .filter(func => typeof func === 'function'); const combinedInitFunction = function (...args) { for (let initFunction of initFunctions) initFunction.apply(this, args); }; const extraProto = { [initFunctionName]: combinedInitFunction }; prototypes.push(extraProto); } function MixedClass(...args) { for (const constructor of constructors) // @ts-ignore: potentially abstract class copyProps(this, new constructor(...args)); if (initFunctionName !== null && typeof this[initFunctionName] === 'function') this[initFunctionName].apply(this, args); } MixedClass.prototype = settings.prototypeStrategy === 'copy' ? hardMixProtos(prototypes, MixedClass) : softMixProtos(prototypes, MixedClass); Object.setPrototypeOf(MixedClass, settings.staticsStrategy === 'copy' ? hardMixProtos(constructors, null, ['prototype']) : proxyMix(constructors, Function.prototype)); let DecoratedMixedClass = MixedClass; if (settings.decoratorInheritance !== 'none') { const classDecorators = settings.decoratorInheritance === 'deep' ? deepDecoratorSearch(...constructors) : directDecoratorSearch(...constructors); for (let decorator of (_a = classDecorators === null || classDecorators === void 0 ? void 0 : classDecorators.class) !== null && _a !== void 0 ? _a : []) { const result = decorator(DecoratedMixedClass); if (result) { DecoratedMixedClass = result; } } applyPropAndMethodDecorators((_b = classDecorators === null || classDecorators === void 0 ? void 0 : classDecorators.static) !== null && _b !== void 0 ? _b : {}, DecoratedMixedClass); applyPropAndMethodDecorators((_c = classDecorators === null || classDecorators === void 0 ? void 0 : classDecorators.instance) !== null && _c !== void 0 ? _c : {}, DecoratedMixedClass.prototype); } registerMixins(DecoratedMixedClass, constructors); return DecoratedMixedClass; } const applyPropAndMethodDecorators = (propAndMethodDecorators, target) => { const propDecorators = propAndMethodDecorators.property; const methodDecorators = propAndMethodDecorators.method; if (propDecorators) for (let key in propDecorators) for (let decorator of propDecorators[key]) decorator(target, key); if (methodDecorators) for (let key in methodDecorators) for (let decorator of methodDecorators[key]) decorator(target, key, Object.getOwnPropertyDescriptor(target, key)); }; /** * A decorator version of the `Mixin` function. You'll want to use this instead of `Mixin` for mixing generic classes. */ const mix = (...ingredients) => decoratedClass => { // @ts-ignore const mixedClass = Mixin(...ingredients.concat([decoratedClass])); Object.defineProperty(mixedClass, 'name', { value: decoratedClass.name, writable: false, }); return mixedClass; }; /***/ }), /***/ 88583: /***/ ((__unused_webpack_module, exports) => { "use strict"; // NOTE: don't construct errors here or they'll have the wrong stack trace. // NOTE: don't make custom error class; the JS engines use `SyntaxError` Object.defineProperty(exports, "__esModule", ({ value: true })); exports.errorMessages = exports.ErrorType = void 0; /** * Keys for possible error messages used by `unraw`. * Note: These do _not_ map to actual error object types. All errors thrown * are `SyntaxError`. */ // Don't use const enum or JS users won't be able to access the enum values var ErrorType; (function (ErrorType) { /** * Thrown when a badly formed Unicode escape sequence is found. Possible * reasons include the code being too short (`"\u25"`) or having invalid * characters (`"\u2$A5"`). */ ErrorType["MalformedUnicode"] = "MALFORMED_UNICODE"; /** * Thrown when a badly formed hexadecimal escape sequence is found. Possible * reasons include the code being too short (`"\x2"`) or having invalid * characters (`"\x2$"`). */ ErrorType["MalformedHexadecimal"] = "MALFORMED_HEXADECIMAL"; /** * Thrown when a Unicode code point escape sequence has too high of a code * point. The maximum code point allowed is `\u{10FFFF}`, so `\u{110000}` and * higher will throw this error. */ ErrorType["CodePointLimit"] = "CODE_POINT_LIMIT"; /** * Thrown when an octal escape sequences is encountered and `allowOctals` is * `false`. For example, `unraw("\234", false)`. */ ErrorType["OctalDeprecation"] = "OCTAL_DEPRECATION"; /** * Thrown only when a single backslash is found at the end of a string. For * example, `"\\"` or `"test\\x24\\"`. */ ErrorType["EndOfString"] = "END_OF_STRING"; })(ErrorType = exports.ErrorType || (exports.ErrorType = {})); /** Map of error message names to the full text of the message. */ exports.errorMessages = new Map([ [ErrorType.MalformedUnicode, "malformed Unicode character escape sequence"], [ ErrorType.MalformedHexadecimal, "malformed hexadecimal character escape sequence" ], [ ErrorType.CodePointLimit, "Unicode codepoint must not be greater than 0x10FFFF in escape sequence" ], [ ErrorType.OctalDeprecation, '"0"-prefixed octal literals and octal escape sequences are deprecated; ' + 'for octal literals use the "0o" prefix instead' ], [ErrorType.EndOfString, "malformed escape sequence at end of string"] ]); /***/ }), /***/ 76850: /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); exports.unraw = exports.errorMessages = exports.ErrorType = void 0; const errors_1 = __webpack_require__(88583); Object.defineProperty(exports, "ErrorType", ({ enumerable: true, get: function () { return errors_1.ErrorType; } })); Object.defineProperty(exports, "errorMessages", ({ enumerable: true, get: function () { return errors_1.errorMessages; } })); /** * Parse a string as a base-16 number. This is more strict than `parseInt` as it * will not allow any other characters, including (for example) "+", "-", and * ".". * @param hex A string containing a hexadecimal number. * @returns The parsed integer, or `NaN` if the string is not a valid hex * number. */ function parseHexToInt(hex) { const isOnlyHexChars = !hex.match(/[^a-f0-9]/i); return isOnlyHexChars ? parseInt(hex, 16) : NaN; } /** * Check the validity and length of a hexadecimal code and optionally enforces * a specific number of hex digits. * @param hex The string to validate and parse. * @param errorName The name of the error message to throw a `SyntaxError` with * if `hex` is invalid. This is used to index `errorMessages`. * @param enforcedLength If provided, will throw an error if `hex` is not * exactly this many characters. * @returns The parsed hex number as a normal number. * @throws {SyntaxError} If the code is not valid. */ function validateAndParseHex(hex, errorName, enforcedLength) { const parsedHex = parseHexToInt(hex); if (Number.isNaN(parsedHex) || (enforcedLength !== undefined && enforcedLength !== hex.length)) { throw new SyntaxError(errors_1.errorMessages.get(errorName)); } return parsedHex; } /** * Parse a two-digit hexadecimal character escape code. * @param code The two-digit hexadecimal number that represents the character to * output. * @returns The single character represented by the code. * @throws {SyntaxError} If the code is not valid hex or is not the right * length. */ function parseHexadecimalCode(code) { const parsedCode = validateAndParseHex(code, errors_1.ErrorType.MalformedHexadecimal, 2); return String.fromCharCode(parsedCode); } /** * Parse a four-digit Unicode character escape code. * @param code The four-digit unicode number that represents the character to * output. * @param surrogateCode Optional four-digit unicode surrogate that represents * the other half of the character to output. * @returns The single character represented by the code. * @throws {SyntaxError} If the codes are not valid hex or are not the right * length. */ function parseUnicodeCode(code, surrogateCode) { const parsedCode = validateAndParseHex(code, errors_1.ErrorType.MalformedUnicode, 4); if (surrogateCode !== undefined) { const parsedSurrogateCode = validateAndParseHex(surrogateCode, errors_1.ErrorType.MalformedUnicode, 4); return String.fromCharCode(parsedCode, parsedSurrogateCode); } return String.fromCharCode(parsedCode); } /** * Test if the text is surrounded by curly braces (`{}`). * @param text Text to check. * @returns `true` if the text is in the form `{*}`. */ function isCurlyBraced(text) { return text.charAt(0) === "{" && text.charAt(text.length - 1) === "}"; } /** * Parse a Unicode code point character escape code. * @param codePoint A unicode escape code point, including the surrounding curly * braces. * @returns The single character represented by the code. * @throws {SyntaxError} If the code is not valid hex or does not have the * surrounding curly braces. */ function parseUnicodeCodePointCode(codePoint) { if (!isCurlyBraced(codePoint)) { throw new SyntaxError(errors_1.errorMessages.get(errors_1.ErrorType.MalformedUnicode)); } const withoutBraces = codePoint.slice(1, -1); const parsedCode = validateAndParseHex(withoutBraces, errors_1.ErrorType.MalformedUnicode); try { return String.fromCodePoint(parsedCode); } catch (err) { throw err instanceof RangeError ? new SyntaxError(errors_1.errorMessages.get(errors_1.ErrorType.CodePointLimit)) : err; } } // Have to give overload that takes boolean for when compiler doesn't know if // true or false function parseOctalCode(code, error = false) { if (error) { throw new SyntaxError(errors_1.errorMessages.get(errors_1.ErrorType.OctalDeprecation)); } // The original regex only allows digits so we don't need to have a strict // octal parser like hexToInt. Length is not enforced for octals. const parsedCode = parseInt(code, 8); return String.fromCharCode(parsedCode); } /** * Map of unescaped letters to their corresponding special JS escape characters. * Intentionally does not include characters that map to themselves like "\'". */ const singleCharacterEscapes = new Map([ ["b", "\b"], ["f", "\f"], ["n", "\n"], ["r", "\r"], ["t", "\t"], ["v", "\v"], ["0", "\0"] ]); /** * Parse a single character escape sequence and return the matching character. * If none is matched, defaults to `code`. * @param code A single character code. */ function parseSingleCharacterCode(code) { return singleCharacterEscapes.get(code) || code; } /** * Matches every escape sequence possible, including invalid ones. * * All capture groups (described below) are unique (only one will match), except * for 4, which can only potentially match if 3 does. * * **Capture Groups:** * 0. A single backslash * 1. Hexadecimal code * 2. Unicode code point code with surrounding curly braces * 3. Unicode escape code with surrogate * 4. Surrogate code * 5. Unicode escape code without surrogate * 6. Octal code _NOTE: includes "0"._ * 7. A single character (will never be \, x, u, or 0-3) */ const escapeMatch = /\\(?:(\\)|x([\s\S]{0,2})|u(\{[^}]*\}?)|u([\s\S]{4})\\u([^{][\s\S]{0,3})|u([\s\S]{0,4})|([0-3]?[0-7]{1,2})|([\s\S])|$)/g; /** * Replace raw escape character strings with their escape characters. * @param raw A string where escape characters are represented as raw string * values like `\'` rather than `'`. * @param allowOctals If `true`, will process the now-deprecated octal escape * sequences (ie, `\111`). * @returns The processed string, with escape characters replaced by their * respective actual Unicode characters. */ function unraw(raw, allowOctals = false) { return raw.replace(escapeMatch, function (_, backslash, hex, codePoint, unicodeWithSurrogate, surrogate, unicode, octal, singleCharacter) { // Compare groups to undefined because empty strings mean different errors // Otherwise, `\u` would fail the same as `\` which is wrong. if (backslash !== undefined) { return "\\"; } if (hex !== undefined) { return parseHexadecimalCode(hex); } if (codePoint !== undefined) { return parseUnicodeCodePointCode(codePoint); } if (unicodeWithSurrogate !== undefined) { return parseUnicodeCode(unicodeWithSurrogate, surrogate); } if (unicode !== undefined) { return parseUnicodeCode(unicode); } if (octal === "0") { return "\0"; } if (octal !== undefined) { return parseOctalCode(octal, !allowOctals); } if (singleCharacter !== undefined) { return parseSingleCharacterCode(singleCharacter); } throw new SyntaxError(errors_1.errorMessages.get(errors_1.ErrorType.EndOfString)); }); } exports.unraw = unraw; exports["default"] = unraw; /***/ }), /***/ 13833: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var __dirname = "/"; // include: shell.js // The Module object: Our interface to the outside world. We import // and export values on it. There are various ways Module can be used: // 1. Not defined. We create it here // 2. A function parameter, function(moduleArg) => Promise // 3. pre-run appended it, var Module = {}; ..generated code.. // 4. External script tag defines var Module. // We need to check if Module already exists (e.g. case 3 above). // Substitution will be replaced with actual code on later stage of the build, // this way Closure Compiler will not mangle it (e.g. case 4. above). // Note that if you want to run closure, and also to use Module // after the generated code, you will need to define var Module = {}; // before the code. Then that object will be used in the code, and you // can continue to use Module afterwards as well. var Module = typeof Module != "undefined" ? Module : {}; // Determine the runtime environment we are in. You can customize this by // setting the ENVIRONMENT setting at compile time (see settings.js). // Attempt to auto-detect the environment var ENVIRONMENT_IS_WEB = typeof window == "object"; var ENVIRONMENT_IS_WORKER = typeof importScripts == "function"; // N.b. Electron.js environment is simultaneously a NODE-environment, but // also a web environment. var ENVIRONMENT_IS_NODE = typeof process == "object" && typeof process.versions == "object" && typeof process.versions.node == "string"; if (ENVIRONMENT_IS_NODE) {} // --pre-jses are emitted after the Module integration code, so that they can // refer to Module (if they choose; they can also define Module) // include: /src/lib/binding_web/prefix.js var TreeSitter = function() { var initPromise; var document = typeof window == "object" ? { currentScript: window.document.currentScript } : null; class Parser { constructor() { this.initialize(); } initialize() { throw new Error("cannot construct a Parser before calling `init()`"); } static init(moduleOptions) { if (initPromise) return initPromise; Module = Object.assign({}, Module, moduleOptions); return initPromise = new Promise(resolveInitPromise => { // end include: /src/lib/binding_web/prefix.js // Sometimes an existing Module object exists with properties // meant to overwrite the default module functionality. Here // we collect those properties and reapply _after_ we configure // the current environment's defaults to avoid having to be so // defensive during initialization. var moduleOverrides = Object.assign({}, Module); var arguments_ = []; var thisProgram = "./this.program"; var quit_ = (status, toThrow) => { throw toThrow; }; // `/` should be present at the end if `scriptDirectory` is not empty var scriptDirectory = ""; function locateFile(path) { if (Module["locateFile"]) { return Module["locateFile"](path, scriptDirectory); } return scriptDirectory + path; } // Hooks that are implemented differently in different runtime environments. var readAsync, readBinary; if (ENVIRONMENT_IS_NODE) { // These modules will usually be used on Node.js. Load them eagerly to avoid // the complexity of lazy-loading. var fs = __webpack_require__(83078); var nodePath = __webpack_require__(84142); scriptDirectory = __dirname + "/"; // include: node_shell_read.js readBinary = filename => { // We need to re-wrap `file://` strings to URLs. Normalizing isn't // necessary in that case, the path should already be absolute. filename = isFileURI(filename) ? new URL(filename) : nodePath.normalize(filename); var ret = fs.readFileSync(filename); return ret; }; readAsync = (filename, binary = true) => { // See the comment in the `readBinary` function. filename = isFileURI(filename) ? new URL(filename) : nodePath.normalize(filename); return new Promise((resolve, reject) => { fs.readFile(filename, binary ? undefined : "utf8", (err, data) => { if (err) reject(err); else resolve(binary ? data.buffer : data); }); }); }; // end include: node_shell_read.js if (!Module["thisProgram"] && process.argv.length > 1) { thisProgram = process.argv[1].replace(/\\/g, "/"); } arguments_ = process.argv.slice(2); if (true) { module["exports"] = Module; } quit_ = (status, toThrow) => { process.exitCode = status; throw toThrow; }; } else // Note that this includes Node.js workers when relevant (pthreads is enabled). // Node.js workers are detected as a combination of ENVIRONMENT_IS_WORKER and // ENVIRONMENT_IS_NODE. if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { if (ENVIRONMENT_IS_WORKER) { // Check worker, not web, since window could be polyfilled scriptDirectory = self.location.href; } else if (typeof document != "undefined" && document.currentScript) { // web scriptDirectory = document.currentScript.src; } // blob urls look like blob:http://site.com/etc/etc and we cannot infer anything from them. // otherwise, slice off the final part of the url to find the script directory. // if scriptDirectory does not contain a slash, lastIndexOf will return -1, // and scriptDirectory will correctly be replaced with an empty string. // If scriptDirectory contains a query (starting with ?) or a fragment (starting with #), // they are removed because they could contain a slash. if (scriptDirectory.startsWith("blob:")) { scriptDirectory = ""; } else { scriptDirectory = scriptDirectory.substr(0, scriptDirectory.replace(/[?#].*/, "").lastIndexOf("/") + 1); } { // include: web_or_worker_shell_read.js if (ENVIRONMENT_IS_WORKER) { readBinary = url => { var xhr = new XMLHttpRequest; xhr.open("GET", url, false); xhr.responseType = "arraybuffer"; xhr.send(null); return new Uint8Array(/** @type{!ArrayBuffer} */ (xhr.response)); }; } readAsync = url => { // Fetch has some additional restrictions over XHR, like it can't be used on a file:// url. // See https://github.com/github/fetch/pull/92#issuecomment-140665932 // Cordova or Electron apps are typically loaded from a file:// url. // So use XHR on webview if URL is a file URL. if (isFileURI(url)) { return new Promise((reject, resolve) => { var xhr = new XMLHttpRequest; xhr.open("GET", url, true); xhr.responseType = "arraybuffer"; xhr.onload = () => { if (xhr.status == 200 || (xhr.status == 0 && xhr.response)) { // file URLs can return 0 resolve(xhr.response); } reject(xhr.status); }; xhr.onerror = reject; xhr.send(null); }); } return fetch(url, { credentials: "same-origin" }).then(response => { if (response.ok) { return response.arrayBuffer(); } return Promise.reject(new Error(response.status + " : " + response.url)); }); }; } } else // end include: web_or_worker_shell_read.js {} var out = Module["print"] || console.log.bind(console); var err = Module["printErr"] || console.error.bind(console); // Merge back in the overrides Object.assign(Module, moduleOverrides); // Free the object hierarchy contained in the overrides, this lets the GC // reclaim data used. moduleOverrides = null; // Emit code to handle expected values on the Module object. This applies Module.x // to the proper local x. This has two benefits: first, we only emit it if it is // expected to arrive, and second, by using a local everywhere else that can be // minified. if (Module["arguments"]) arguments_ = Module["arguments"]; if (Module["thisProgram"]) thisProgram = Module["thisProgram"]; if (Module["quit"]) quit_ = Module["quit"]; // perform assertions in shell.js after we set up out() and err(), as otherwise if an assertion fails it cannot print the message // end include: shell.js // include: preamble.js // === Preamble library stuff === // Documentation for the public APIs defined in this file must be updated in: // site/source/docs/api_reference/preamble.js.rst // A prebuilt local version of the documentation is available at: // site/build/text/docs/api_reference/preamble.js.txt // You can also build docs locally as HTML or other formats in site/ // An online HTML version (which may be of a different version of Emscripten) // is up at http://kripken.github.io/emscripten-site/docs/api_reference/preamble.js.html var dynamicLibraries = Module["dynamicLibraries"] || []; var wasmBinary; if (Module["wasmBinary"]) wasmBinary = Module["wasmBinary"]; // Wasm globals var wasmMemory; //======================================== // Runtime essentials //======================================== // whether we are quitting the application. no code should run after this. // set in exit() and abort() var ABORT = false; // set by exit() and abort(). Passed to 'onExit' handler. // NOTE: This is also used as the process return code code in shell environments // but only when noExitRuntime is false. var EXITSTATUS; // Memory management var /** @type {!Int8Array} */ HEAP8, /** @type {!Uint8Array} */ HEAPU8, /** @type {!Int16Array} */ HEAP16, /** @type {!Uint16Array} */ HEAPU16, /** @type {!Int32Array} */ HEAP32, /** @type {!Uint32Array} */ HEAPU32, /** @type {!Float32Array} */ HEAPF32, /** @type {!Float64Array} */ HEAPF64; var HEAP_DATA_VIEW; // include: runtime_shared.js function updateMemoryViews() { var b = wasmMemory.buffer; Module["HEAP_DATA_VIEW"] = HEAP_DATA_VIEW = new DataView(b); Module["HEAP8"] = HEAP8 = new Int8Array(b); Module["HEAP16"] = HEAP16 = new Int16Array(b); Module["HEAPU8"] = HEAPU8 = new Uint8Array(b); Module["HEAPU16"] = HEAPU16 = new Uint16Array(b); Module["HEAP32"] = HEAP32 = new Int32Array(b); Module["HEAPU32"] = HEAPU32 = new Uint32Array(b); Module["HEAPF32"] = HEAPF32 = new Float32Array(b); Module["HEAPF64"] = HEAPF64 = new Float64Array(b); } // end include: runtime_shared.js // In non-standalone/normal mode, we create the memory here. // include: runtime_init_memory.js // Create the wasm memory. (Note: this only applies if IMPORTED_MEMORY is defined) // check for full engine support (use string 'subarray' to avoid closure compiler confusion) if (Module["wasmMemory"]) { wasmMemory = Module["wasmMemory"]; } else { var INITIAL_MEMORY = Module["INITIAL_MEMORY"] || 33554432; wasmMemory = new WebAssembly.Memory({ "initial": INITIAL_MEMORY / 65536, // In theory we should not need to emit the maximum if we want "unlimited" // or 4GB of memory, but VMs error on that atm, see // https://github.com/emscripten-core/emscripten/issues/14130 // And in the pthreads case we definitely need to emit a maximum. So // always emit one. "maximum": 2147483648 / 65536 }); } updateMemoryViews(); // end include: runtime_init_memory.js // include: runtime_stack_check.js // end include: runtime_stack_check.js // include: runtime_assertions.js // end include: runtime_assertions.js var __ATPRERUN__ = []; // functions called before the runtime is initialized var __ATINIT__ = []; // functions called during startup var __ATMAIN__ = []; // functions called during shutdown var __ATPOSTRUN__ = []; // functions called after the main() is called var __RELOC_FUNCS__ = []; var runtimeInitialized = false; function preRun() { if (Module["preRun"]) { if (typeof Module["preRun"] == "function") Module["preRun"] = [ Module["preRun"] ]; while (Module["preRun"].length) { addOnPreRun(Module["preRun"].shift()); } } callRuntimeCallbacks(__ATPRERUN__); } function initRuntime() { runtimeInitialized = true; callRuntimeCallbacks(__RELOC_FUNCS__); callRuntimeCallbacks(__ATINIT__); } function preMain() { callRuntimeCallbacks(__ATMAIN__); } function postRun() { if (Module["postRun"]) { if (typeof Module["postRun"] == "function") Module["postRun"] = [ Module["postRun"] ]; while (Module["postRun"].length) { addOnPostRun(Module["postRun"].shift()); } } callRuntimeCallbacks(__ATPOSTRUN__); } function addOnPreRun(cb) { __ATPRERUN__.unshift(cb); } function addOnInit(cb) { __ATINIT__.unshift(cb); } function addOnPostRun(cb) { __ATPOSTRUN__.unshift(cb); } // include: runtime_math.js // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/imul // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/fround // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/clz32 // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/trunc // end include: runtime_math.js // A counter of dependencies for calling run(). If we need to // do asynchronous work before running, increment this and // decrement it. Incrementing must happen in a place like // Module.preRun (used by emcc to add file preloading). // Note that you can add dependencies in preRun, even though // it happens right before run - run will be postponed until // the dependencies are met. var runDependencies = 0; var runDependencyWatcher = null; var dependenciesFulfilled = null; // overridden to take different actions when all run dependencies are fulfilled function getUniqueRunDependency(id) { return id; } function addRunDependency(id) { runDependencies++; Module["monitorRunDependencies"]?.(runDependencies); } function removeRunDependency(id) { runDependencies--; Module["monitorRunDependencies"]?.(runDependencies); if (runDependencies == 0) { if (runDependencyWatcher !== null) { clearInterval(runDependencyWatcher); runDependencyWatcher = null; } if (dependenciesFulfilled) { var callback = dependenciesFulfilled; dependenciesFulfilled = null; callback(); } } } /** @param {string|number=} what */ function abort(what) { Module["onAbort"]?.(what); what = "Aborted(" + what + ")"; // TODO(sbc): Should we remove printing and leave it up to whoever // catches the exception? err(what); ABORT = true; EXITSTATUS = 1; what += ". Build with -sASSERTIONS for more info."; // Use a wasm runtime error, because a JS error might be seen as a foreign // exception, which means we'd run destructors on it. We need the error to // simply make the program stop. // FIXME This approach does not work in Wasm EH because it currently does not assume // all RuntimeErrors are from traps; it decides whether a RuntimeError is from // a trap or not based on a hidden field within the object. So at the moment // we don't have a way of throwing a wasm trap from JS. TODO Make a JS API that // allows this in the wasm spec. // Suppress closure compiler warning here. Closure compiler's builtin extern // definition for WebAssembly.RuntimeError claims it takes no arguments even // though it can. // TODO(https://github.com/google/closure-compiler/pull/3913): Remove if/when upstream closure gets fixed. /** @suppress {checkTypes} */ var e = new WebAssembly.RuntimeError(what); // Throw the error whether or not MODULARIZE is set because abort is used // in code paths apart from instantiation where an exception is expected // to be thrown when abort is called. throw e; } // include: memoryprofiler.js // end include: memoryprofiler.js // include: URIUtils.js // Prefix of data URIs emitted by SINGLE_FILE and related options. var dataURIPrefix = "data:application/octet-stream;base64,"; /** * Indicates whether filename is a base64 data URI. * @noinline */ var isDataURI = filename => filename.startsWith(dataURIPrefix); /** * Indicates whether filename is delivered via file protocol (as opposed to http/https) * @noinline */ var isFileURI = filename => filename.startsWith("file://"); // end include: URIUtils.js // include: runtime_exceptions.js // end include: runtime_exceptions.js function findWasmBinary() { var f = "tree-sitter.wasm"; if (!isDataURI(f)) { return locateFile(f); } return f; } var wasmBinaryFile; function getBinarySync(file) { if (file == wasmBinaryFile && wasmBinary) { return new Uint8Array(wasmBinary); } if (readBinary) { return readBinary(file); } throw "both async and sync fetching of the wasm failed"; } function getBinaryPromise(binaryFile) { // If we don't have the binary yet, load it asynchronously using readAsync. if (!wasmBinary) { // Fetch the binary using readAsync return readAsync(binaryFile).then(response => new Uint8Array(/** @type{!ArrayBuffer} */ (response)), // Fall back to getBinarySync if readAsync fails () => getBinarySync(binaryFile)); } // Otherwise, getBinarySync should be able to get it synchronously return Promise.resolve().then(() => getBinarySync(binaryFile)); } function instantiateArrayBuffer(binaryFile, imports, receiver) { return getBinaryPromise(binaryFile).then(binary => WebAssembly.instantiate(binary, imports)).then(receiver, reason => { err(`failed to asynchronously prepare wasm: ${reason}`); abort(reason); }); } function instantiateAsync(binary, binaryFile, imports, callback) { if (!binary && typeof WebAssembly.instantiateStreaming == "function" && !isDataURI(binaryFile) && // Don't use streaming for file:// delivered objects in a webview, fetch them synchronously. !isFileURI(binaryFile) && // Avoid instantiateStreaming() on Node.js environment for now, as while // Node.js v18.1.0 implements it, it does not have a full fetch() // implementation yet. // Reference: // https://github.com/emscripten-core/emscripten/pull/16917 !ENVIRONMENT_IS_NODE && typeof fetch == "function") { return fetch(binaryFile, { credentials: "same-origin" }).then(response => { // Suppress closure warning here since the upstream definition for // instantiateStreaming only allows Promise rather than // an actual Response. // TODO(https://github.com/google/closure-compiler/pull/3913): Remove if/when upstream closure is fixed. /** @suppress {checkTypes} */ var result = WebAssembly.instantiateStreaming(response, imports); return result.then(callback, function(reason) { // We expect the most common failure cause to be a bad MIME type for the binary, // in which case falling back to ArrayBuffer instantiation should work. err(`wasm streaming compile failed: ${reason}`); err("falling back to ArrayBuffer instantiation"); return instantiateArrayBuffer(binaryFile, imports, callback); }); }); } return instantiateArrayBuffer(binaryFile, imports, callback); } function getWasmImports() { // prepare imports return { "env": wasmImports, "wasi_snapshot_preview1": wasmImports, "GOT.mem": new Proxy(wasmImports, GOTHandler), "GOT.func": new Proxy(wasmImports, GOTHandler) }; } // Create the wasm instance. // Receives the wasm imports, returns the exports. function createWasm() { var info = getWasmImports(); // Load the wasm module and create an instance of using native support in the JS engine. // handle a generated wasm instance, receiving its exports and // performing other necessary setup /** @param {WebAssembly.Module=} module*/ function receiveInstance(instance, module) { wasmExports = instance.exports; wasmExports = relocateExports(wasmExports, 1024); var metadata = getDylinkMetadata(module); if (metadata.neededDynlibs) { dynamicLibraries = metadata.neededDynlibs.concat(dynamicLibraries); } mergeLibSymbols(wasmExports, "main"); LDSO.init(); loadDylibs(); addOnInit(wasmExports["__wasm_call_ctors"]); __RELOC_FUNCS__.push(wasmExports["__wasm_apply_data_relocs"]); removeRunDependency("wasm-instantiate"); return wasmExports; } // wait for the pthread pool (if any) addRunDependency("wasm-instantiate"); // Prefer streaming instantiation if available. function receiveInstantiationResult(result) { // 'result' is a ResultObject object which has both the module and instance. // receiveInstance() will swap in the exports (to Module.asm) so they can be called receiveInstance(result["instance"], result["module"]); } // User shell pages can write their own Module.instantiateWasm = function(imports, successCallback) callback // to manually instantiate the Wasm module themselves. This allows pages to // run the instantiation parallel to any other async startup actions they are // performing. // Also pthreads and wasm workers initialize the wasm instance through this // path. if (Module["instantiateWasm"]) { try { return Module["instantiateWasm"](info, receiveInstance); } catch (e) { err(`Module.instantiateWasm callback failed with error: ${e}`); return false; } } if (!wasmBinaryFile) wasmBinaryFile = findWasmBinary(); instantiateAsync(wasmBinary, wasmBinaryFile, info, receiveInstantiationResult); return {}; } // include: runtime_debug.js // end include: runtime_debug.js // === Body === var ASM_CONSTS = {}; // end include: preamble.js /** @constructor */ function ExitStatus(status) { this.name = "ExitStatus"; this.message = `Program terminated with exit(${status})`; this.status = status; } var GOT = {}; var currentModuleWeakSymbols = new Set([]); var GOTHandler = { get(obj, symName) { var rtn = GOT[symName]; if (!rtn) { rtn = GOT[symName] = new WebAssembly.Global({ "value": "i32", "mutable": true }); } if (!currentModuleWeakSymbols.has(symName)) { // Any non-weak reference to a symbol marks it as `required`, which // enabled `reportUndefinedSymbols` to report undefeind symbol errors // correctly. rtn.required = true; } return rtn; } }; var LE_HEAP_LOAD_F32 = byteOffset => HEAP_DATA_VIEW.getFloat32(byteOffset, true); var LE_HEAP_LOAD_F64 = byteOffset => HEAP_DATA_VIEW.getFloat64(byteOffset, true); var LE_HEAP_LOAD_I16 = byteOffset => HEAP_DATA_VIEW.getInt16(byteOffset, true); var LE_HEAP_LOAD_I32 = byteOffset => HEAP_DATA_VIEW.getInt32(byteOffset, true); var LE_HEAP_LOAD_U32 = byteOffset => HEAP_DATA_VIEW.getUint32(byteOffset, true); var LE_HEAP_STORE_F32 = (byteOffset, value) => HEAP_DATA_VIEW.setFloat32(byteOffset, value, true); var LE_HEAP_STORE_F64 = (byteOffset, value) => HEAP_DATA_VIEW.setFloat64(byteOffset, value, true); var LE_HEAP_STORE_I16 = (byteOffset, value) => HEAP_DATA_VIEW.setInt16(byteOffset, value, true); var LE_HEAP_STORE_I32 = (byteOffset, value) => HEAP_DATA_VIEW.setInt32(byteOffset, value, true); var LE_HEAP_STORE_U32 = (byteOffset, value) => HEAP_DATA_VIEW.setUint32(byteOffset, value, true); var callRuntimeCallbacks = callbacks => { while (callbacks.length > 0) { // Pass the module as the first argument. callbacks.shift()(Module); } }; var UTF8Decoder = typeof TextDecoder != "undefined" ? new TextDecoder : undefined; /** * Given a pointer 'idx' to a null-terminated UTF8-encoded string in the given * array that contains uint8 values, returns a copy of that string as a * Javascript String object. * heapOrArray is either a regular array, or a JavaScript typed array view. * @param {number} idx * @param {number=} maxBytesToRead * @return {string} */ var UTF8ArrayToString = (heapOrArray, idx, maxBytesToRead) => { var endIdx = idx + maxBytesToRead; var endPtr = idx; // TextDecoder needs to know the byte length in advance, it doesn't stop on // null terminator by itself. Also, use the length info to avoid running tiny // strings through TextDecoder, since .subarray() allocates garbage. // (As a tiny code save trick, compare endPtr against endIdx using a negation, // so that undefined means Infinity) while (heapOrArray[endPtr] && !(endPtr >= endIdx)) ++endPtr; if (endPtr - idx > 16 && heapOrArray.buffer && UTF8Decoder) { return UTF8Decoder.decode(heapOrArray.subarray(idx, endPtr)); } var str = ""; // If building with TextDecoder, we have already computed the string length // above, so test loop end condition against that while (idx < endPtr) { // For UTF8 byte structure, see: // http://en.wikipedia.org/wiki/UTF-8#Description // https://www.ietf.org/rfc/rfc2279.txt // https://tools.ietf.org/html/rfc3629 var u0 = heapOrArray[idx++]; if (!(u0 & 128)) { str += String.fromCharCode(u0); continue; } var u1 = heapOrArray[idx++] & 63; if ((u0 & 224) == 192) { str += String.fromCharCode(((u0 & 31) << 6) | u1); continue; } var u2 = heapOrArray[idx++] & 63; if ((u0 & 240) == 224) { u0 = ((u0 & 15) << 12) | (u1 << 6) | u2; } else { u0 = ((u0 & 7) << 18) | (u1 << 12) | (u2 << 6) | (heapOrArray[idx++] & 63); } if (u0 < 65536) { str += String.fromCharCode(u0); } else { var ch = u0 - 65536; str += String.fromCharCode(55296 | (ch >> 10), 56320 | (ch & 1023)); } } return str; }; var getDylinkMetadata = binary => { var offset = 0; var end = 0; function getU8() { return binary[offset++]; } function getLEB() { var ret = 0; var mul = 1; while (1) { var byte = binary[offset++]; ret += ((byte & 127) * mul); mul *= 128; if (!(byte & 128)) break; } return ret; } function getString() { var len = getLEB(); offset += len; return UTF8ArrayToString(binary, offset - len, len); } /** @param {string=} message */ function failIf(condition, message) { if (condition) throw new Error(message); } var name = "dylink.0"; if (binary instanceof WebAssembly.Module) { var dylinkSection = WebAssembly.Module.customSections(binary, name); if (dylinkSection.length === 0) { name = "dylink"; dylinkSection = WebAssembly.Module.customSections(binary, name); } failIf(dylinkSection.length === 0, "need dylink section"); binary = new Uint8Array(dylinkSection[0]); end = binary.length; } else { var int32View = new Uint32Array(new Uint8Array(binary.subarray(0, 24)).buffer); var magicNumberFound = int32View[0] == 1836278016 || int32View[0] == 6386541; failIf(!magicNumberFound, "need to see wasm magic number"); // \0asm // we should see the dylink custom section right after the magic number and wasm version failIf(binary[8] !== 0, "need the dylink section to be first"); offset = 9; var section_size = getLEB(); //section size end = offset + section_size; name = getString(); } var customSection = { neededDynlibs: [], tlsExports: new Set, weakImports: new Set }; if (name == "dylink") { customSection.memorySize = getLEB(); customSection.memoryAlign = getLEB(); customSection.tableSize = getLEB(); customSection.tableAlign = getLEB(); // shared libraries this module needs. We need to load them first, so that // current module could resolve its imports. (see tools/shared.py // WebAssembly.make_shared_library() for "dylink" section extension format) var neededDynlibsCount = getLEB(); for (var i = 0; i < neededDynlibsCount; ++i) { var libname = getString(); customSection.neededDynlibs.push(libname); } } else { failIf(name !== "dylink.0"); var WASM_DYLINK_MEM_INFO = 1; var WASM_DYLINK_NEEDED = 2; var WASM_DYLINK_EXPORT_INFO = 3; var WASM_DYLINK_IMPORT_INFO = 4; var WASM_SYMBOL_TLS = 256; var WASM_SYMBOL_BINDING_MASK = 3; var WASM_SYMBOL_BINDING_WEAK = 1; while (offset < end) { var subsectionType = getU8(); var subsectionSize = getLEB(); if (subsectionType === WASM_DYLINK_MEM_INFO) { customSection.memorySize = getLEB(); customSection.memoryAlign = getLEB(); customSection.tableSize = getLEB(); customSection.tableAlign = getLEB(); } else if (subsectionType === WASM_DYLINK_NEEDED) { var neededDynlibsCount = getLEB(); for (var i = 0; i < neededDynlibsCount; ++i) { libname = getString(); customSection.neededDynlibs.push(libname); } } else if (subsectionType === WASM_DYLINK_EXPORT_INFO) { var count = getLEB(); while (count--) { var symname = getString(); var flags = getLEB(); if (flags & WASM_SYMBOL_TLS) { customSection.tlsExports.add(symname); } } } else if (subsectionType === WASM_DYLINK_IMPORT_INFO) { var count = getLEB(); while (count--) { var modname = getString(); var symname = getString(); var flags = getLEB(); if ((flags & WASM_SYMBOL_BINDING_MASK) == WASM_SYMBOL_BINDING_WEAK) { customSection.weakImports.add(symname); } } } else { // unknown subsection offset += subsectionSize; } } } return customSection; }; /** * @param {number} ptr * @param {string} type */ function getValue(ptr, type = "i8") { if (type.endsWith("*")) type = "*"; switch (type) { case "i1": return HEAP8[ptr]; case "i8": return HEAP8[ptr]; case "i16": return LE_HEAP_LOAD_I16(((ptr) >> 1) * 2); case "i32": return LE_HEAP_LOAD_I32(((ptr) >> 2) * 4); case "i64": abort("to do getValue(i64) use WASM_BIGINT"); case "float": return LE_HEAP_LOAD_F32(((ptr) >> 2) * 4); case "double": return LE_HEAP_LOAD_F64(((ptr) >> 3) * 8); case "*": return LE_HEAP_LOAD_U32(((ptr) >> 2) * 4); default: abort(`invalid type for getValue: ${type}`); } } var newDSO = (name, handle, syms) => { var dso = { refcount: Infinity, name: name, exports: syms, global: true }; LDSO.loadedLibsByName[name] = dso; if (handle != undefined) { LDSO.loadedLibsByHandle[handle] = dso; } return dso; }; var LDSO = { loadedLibsByName: {}, loadedLibsByHandle: {}, init() { newDSO("__main__", 0, wasmImports); } }; var ___heap_base = 78112; var zeroMemory = (address, size) => { HEAPU8.fill(0, address, address + size); return address; }; var alignMemory = (size, alignment) => Math.ceil(size / alignment) * alignment; var getMemory = size => { // After the runtime is initialized, we must only use sbrk() normally. if (runtimeInitialized) { // Currently we don't support freeing of static data when modules are // unloaded via dlclose. This function is tagged as `noleakcheck` to // avoid having this reported as leak. return zeroMemory(_malloc(size), size); } var ret = ___heap_base; // Keep __heap_base stack aligned. var end = ret + alignMemory(size, 16); ___heap_base = end; GOT["__heap_base"].value = end; return ret; }; var isInternalSym = symName => [ "__cpp_exception", "__c_longjmp", "__wasm_apply_data_relocs", "__dso_handle", "__tls_size", "__tls_align", "__set_stack_limits", "_emscripten_tls_init", "__wasm_init_tls", "__wasm_call_ctors", "__start_em_asm", "__stop_em_asm", "__start_em_js", "__stop_em_js" ].includes(symName) || symName.startsWith("__em_js__"); var uleb128Encode = (n, target) => { if (n < 128) { target.push(n); } else { target.push((n % 128) | 128, n >> 7); } }; var sigToWasmTypes = sig => { var typeNames = { "i": "i32", "j": "i64", "f": "f32", "d": "f64", "e": "externref", "p": "i32" }; var type = { parameters: [], results: sig[0] == "v" ? [] : [ typeNames[sig[0]] ] }; for (var i = 1; i < sig.length; ++i) { type.parameters.push(typeNames[sig[i]]); } return type; }; var generateFuncType = (sig, target) => { var sigRet = sig.slice(0, 1); var sigParam = sig.slice(1); var typeCodes = { "i": 127, // i32 "p": 127, // i32 "j": 126, // i64 "f": 125, // f32 "d": 124, // f64 "e": 111 }; // Parameters, length + signatures target.push(96); /* form: func */ uleb128Encode(sigParam.length, target); for (var i = 0; i < sigParam.length; ++i) { target.push(typeCodes[sigParam[i]]); } // Return values, length + signatures // With no multi-return in MVP, either 0 (void) or 1 (anything else) if (sigRet == "v") { target.push(0); } else { target.push(1, typeCodes[sigRet]); } }; var convertJsFunctionToWasm = (func, sig) => { // If the type reflection proposal is available, use the new // "WebAssembly.Function" constructor. // Otherwise, construct a minimal wasm module importing the JS function and // re-exporting it. if (typeof WebAssembly.Function == "function") { return new WebAssembly.Function(sigToWasmTypes(sig), func); } // The module is static, with the exception of the type section, which is // generated based on the signature passed in. var typeSectionBody = [ 1 ]; // count: 1 generateFuncType(sig, typeSectionBody); // Rest of the module is static var bytes = [ 0, 97, 115, 109, // magic ("\0asm") 1, 0, 0, 0, // version: 1 1 ]; // Write the overall length of the type section followed by the body uleb128Encode(typeSectionBody.length, bytes); bytes.push(...typeSectionBody); // The rest of the module is static bytes.push(2, 7, // import section // (import "e" "f" (func 0 (type 0))) 1, 1, 101, 1, 102, 0, 0, 7, 5, // export section // (export "f" (func 0 (type 0))) 1, 1, 102, 0, 0); // We can compile this wasm module synchronously because it is very small. // This accepts an import (at "e.f"), that it reroutes to an export (at "f") var module = new WebAssembly.Module(new Uint8Array(bytes)); var instance = new WebAssembly.Instance(module, { "e": { "f": func } }); var wrappedFunc = instance.exports["f"]; return wrappedFunc; }; var wasmTableMirror = []; /** @type {WebAssembly.Table} */ var wasmTable = new WebAssembly.Table({ "initial": 28, "element": "anyfunc" }); var getWasmTableEntry = funcPtr => { var func = wasmTableMirror[funcPtr]; if (!func) { if (funcPtr >= wasmTableMirror.length) wasmTableMirror.length = funcPtr + 1; wasmTableMirror[funcPtr] = func = wasmTable.get(funcPtr); } return func; }; var updateTableMap = (offset, count) => { if (functionsInTableMap) { for (var i = offset; i < offset + count; i++) { var item = getWasmTableEntry(i); // Ignore null values. if (item) { functionsInTableMap.set(item, i); } } } }; var functionsInTableMap; var getFunctionAddress = func => { // First, create the map if this is the first use. if (!functionsInTableMap) { functionsInTableMap = new WeakMap; updateTableMap(0, wasmTable.length); } return functionsInTableMap.get(func) || 0; }; var freeTableIndexes = []; var getEmptyTableSlot = () => { // Reuse a free index if there is one, otherwise grow. if (freeTableIndexes.length) { return freeTableIndexes.pop(); } // Grow the table try { wasmTable.grow(1); } catch (err) { if (!(err instanceof RangeError)) { throw err; } throw "Unable to grow wasm table. Set ALLOW_TABLE_GROWTH."; } return wasmTable.length - 1; }; var setWasmTableEntry = (idx, func) => { wasmTable.set(idx, func); // With ABORT_ON_WASM_EXCEPTIONS wasmTable.get is overridden to return wrapped // functions so we need to call it here to retrieve the potential wrapper correctly // instead of just storing 'func' directly into wasmTableMirror wasmTableMirror[idx] = wasmTable.get(idx); }; /** @param {string=} sig */ var addFunction = (func, sig) => { // Check if the function is already in the table, to ensure each function // gets a unique index. var rtn = getFunctionAddress(func); if (rtn) { return rtn; } // It's not in the table, add it now. var ret = getEmptyTableSlot(); // Set the new value. try { // Attempting to call this with JS function will cause of table.set() to fail setWasmTableEntry(ret, func); } catch (err) { if (!(err instanceof TypeError)) { throw err; } var wrapped = convertJsFunctionToWasm(func, sig); setWasmTableEntry(ret, wrapped); } functionsInTableMap.set(func, ret); return ret; }; var updateGOT = (exports, replace) => { for (var symName in exports) { if (isInternalSym(symName)) { continue; } var value = exports[symName]; if (symName.startsWith("orig$")) { symName = symName.split("$")[1]; replace = true; } GOT[symName] ||= new WebAssembly.Global({ "value": "i32", "mutable": true }); if (replace || GOT[symName].value == 0) { if (typeof value == "function") { GOT[symName].value = addFunction(value); } else if (typeof value == "number") { GOT[symName].value = value; } else { err(`unhandled export type for '${symName}': ${typeof value}`); } } } }; /** @param {boolean=} replace */ var relocateExports = (exports, memoryBase, replace) => { var relocated = {}; for (var e in exports) { var value = exports[e]; if (typeof value == "object") { // a breaking change in the wasm spec, globals are now objects // https://github.com/WebAssembly/mutable-global/issues/1 value = value.value; } if (typeof value == "number") { value += memoryBase; } relocated[e] = value; } updateGOT(relocated, replace); return relocated; }; var isSymbolDefined = symName => { // Ignore 'stub' symbols that are auto-generated as part of the original // `wasmImports` used to instantiate the main module. var existing = wasmImports[symName]; if (!existing || existing.stub) { return false; } return true; }; var dynCallLegacy = (sig, ptr, args) => { sig = sig.replace(/p/g, "i"); var f = Module["dynCall_" + sig]; return f(ptr, ...args); }; var dynCall = (sig, ptr, args = []) => { // Without WASM_BIGINT support we cannot directly call function with i64 as // part of their signature, so we rely on the dynCall functions generated by // wasm-emscripten-finalize if (sig.includes("j")) { return dynCallLegacy(sig, ptr, args); } var rtn = getWasmTableEntry(ptr)(...args); return rtn; }; var stackSave = () => _emscripten_stack_get_current(); var stackRestore = val => __emscripten_stack_restore(val); var createInvokeFunction = sig => (ptr, ...args) => { var sp = stackSave(); try { return dynCall(sig, ptr, args); } catch (e) { stackRestore(sp); // Create a try-catch guard that rethrows the Emscripten EH exception. // Exceptions thrown from C++ will be a pointer (number) and longjmp // will throw the number Infinity. Use the compact and fast "e !== e+0" // test to check if e was not a Number. if (e !== e + 0) throw e; _setThrew(1, 0); } }; var resolveGlobalSymbol = (symName, direct = false) => { var sym; // First look for the orig$ symbol which is the symbol without i64 // legalization performed. if (direct && ("orig$" + symName in wasmImports)) { symName = "orig$" + symName; } if (isSymbolDefined(symName)) { sym = wasmImports[symName]; } else // Asm.js-style exception handling: invoke wrapper generation if (symName.startsWith("invoke_")) { // Create (and cache) new invoke_ functions on demand. sym = wasmImports[symName] = createInvokeFunction(symName.split("_")[1]); } return { sym: sym, name: symName }; }; /** * Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the * emscripten HEAP, returns a copy of that string as a Javascript String object. * * @param {number} ptr * @param {number=} maxBytesToRead - An optional length that specifies the * maximum number of bytes to read. You can omit this parameter to scan the * string until the first 0 byte. If maxBytesToRead is passed, and the string * at [ptr, ptr+maxBytesToReadr[ contains a null byte in the middle, then the * string will cut short at that byte index (i.e. maxBytesToRead will not * produce a string of exact length [ptr, ptr+maxBytesToRead[) N.B. mixing * frequent uses of UTF8ToString() with and without maxBytesToRead may throw * JS JIT optimizations off, so it is worth to consider consistently using one * @return {string} */ var UTF8ToString = (ptr, maxBytesToRead) => ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : ""; /** * @param {string=} libName * @param {Object=} localScope * @param {number=} handle */ var loadWebAssemblyModule = (binary, flags, libName, localScope, handle) => { var metadata = getDylinkMetadata(binary); currentModuleWeakSymbols = metadata.weakImports; // loadModule loads the wasm module after all its dependencies have been loaded. // can be called both sync/async. function loadModule() { // The first thread to load a given module needs to allocate the static // table and memory regions. Later threads re-use the same table region // and can ignore the memory region (since memory is shared between // threads already). // If `handle` is specified than it is assumed that the calling thread has // exclusive access to it for the duration of this function. See the // locking in `dynlink.c`. var firstLoad = !handle || !HEAP8[(handle) + (8)]; if (firstLoad) { // alignments are powers of 2 var memAlign = Math.pow(2, metadata.memoryAlign); // prepare memory var memoryBase = metadata.memorySize ? alignMemory(getMemory(metadata.memorySize + memAlign), memAlign) : 0; // TODO: add to cleanups var tableBase = metadata.tableSize ? wasmTable.length : 0; if (handle) { HEAP8[(handle) + (8)] = 1; LE_HEAP_STORE_U32((((handle) + (12)) >> 2) * 4, memoryBase); LE_HEAP_STORE_I32((((handle) + (16)) >> 2) * 4, metadata.memorySize); LE_HEAP_STORE_U32((((handle) + (20)) >> 2) * 4, tableBase); LE_HEAP_STORE_I32((((handle) + (24)) >> 2) * 4, metadata.tableSize); } } else { memoryBase = LE_HEAP_LOAD_U32((((handle) + (12)) >> 2) * 4); tableBase = LE_HEAP_LOAD_U32((((handle) + (20)) >> 2) * 4); } var tableGrowthNeeded = tableBase + metadata.tableSize - wasmTable.length; if (tableGrowthNeeded > 0) { wasmTable.grow(tableGrowthNeeded); } // This is the export map that we ultimately return. We declare it here // so it can be used within resolveSymbol. We resolve symbols against // this local symbol map in the case there they are not present on the // global Module object. We need this fallback because Modules sometime // need to import their own symbols var moduleExports; function resolveSymbol(sym) { var resolved = resolveGlobalSymbol(sym).sym; if (!resolved && localScope) { resolved = localScope[sym]; } if (!resolved) { resolved = moduleExports[sym]; } return resolved; } // TODO kill ↓↓↓ (except "symbols local to this module", it will likely be // not needed if we require that if A wants symbols from B it has to link // to B explicitly: similarly to -Wl,--no-undefined) // wasm dynamic libraries are pure wasm, so they cannot assist in // their own loading. When side module A wants to import something // provided by a side module B that is loaded later, we need to // add a layer of indirection, but worse, we can't even tell what // to add the indirection for, without inspecting what A's imports // are. To do that here, we use a JS proxy (another option would // be to inspect the binary directly). var proxyHandler = { get(stubs, prop) { // symbols that should be local to this module switch (prop) { case "__memory_base": return memoryBase; case "__table_base": return tableBase; } if (prop in wasmImports && !wasmImports[prop].stub) { // No stub needed, symbol already exists in symbol table return wasmImports[prop]; } // Return a stub function that will resolve the symbol // when first called. if (!(prop in stubs)) { var resolved; stubs[prop] = (...args) => { resolved ||= resolveSymbol(prop); return resolved(...args); }; } return stubs[prop]; } }; var proxy = new Proxy({}, proxyHandler); var info = { "GOT.mem": new Proxy({}, GOTHandler), "GOT.func": new Proxy({}, GOTHandler), "env": proxy, "wasi_snapshot_preview1": proxy }; function postInstantiation(module, instance) { // add new entries to functionsInTableMap updateTableMap(tableBase, metadata.tableSize); moduleExports = relocateExports(instance.exports, memoryBase); if (!flags.allowUndefined) { reportUndefinedSymbols(); } function addEmAsm(addr, body) { var args = []; var arity = 0; for (;arity < 16; arity++) { if (body.indexOf("$" + arity) != -1) { args.push("$" + arity); } else { break; } } args = args.join(","); var func = `(${args}) => { ${body} };`; ASM_CONSTS[start] = eval(func); } // Add any EM_ASM function that exist in the side module if ("__start_em_asm" in moduleExports) { var start = moduleExports["__start_em_asm"]; var stop = moduleExports["__stop_em_asm"]; while (start < stop) { var jsString = UTF8ToString(start); addEmAsm(start, jsString); start = HEAPU8.indexOf(0, start) + 1; } } function addEmJs(name, cSig, body) { // The signature here is a C signature (e.g. "(int foo, char* bar)"). // See `create_em_js` in emcc.py` for the build-time version of this // code. var jsArgs = []; cSig = cSig.slice(1, -1); if (cSig != "void") { cSig = cSig.split(","); for (var i in cSig) { var jsArg = cSig[i].split(" ").pop(); jsArgs.push(jsArg.replace("*", "")); } } var func = `(${jsArgs}) => ${body};`; moduleExports[name] = eval(func); } for (var name in moduleExports) { if (name.startsWith("__em_js__")) { var start = moduleExports[name]; var jsString = UTF8ToString(start); // EM_JS strings are stored in the data section in the form // SIG<::>BODY. var parts = jsString.split("<::>"); addEmJs(name.replace("__em_js__", ""), parts[0], parts[1]); delete moduleExports[name]; } } // initialize the module var applyRelocs = moduleExports["__wasm_apply_data_relocs"]; if (applyRelocs) { if (runtimeInitialized) { applyRelocs(); } else { __RELOC_FUNCS__.push(applyRelocs); } } var init = moduleExports["__wasm_call_ctors"]; if (init) { if (runtimeInitialized) { init(); } else { // we aren't ready to run compiled code yet __ATINIT__.push(init); } } return moduleExports; } if (flags.loadAsync) { if (binary instanceof WebAssembly.Module) { var instance = new WebAssembly.Instance(binary, info); return Promise.resolve(postInstantiation(binary, instance)); } return WebAssembly.instantiate(binary, info).then(result => postInstantiation(result.module, result.instance)); } var module = binary instanceof WebAssembly.Module ? binary : new WebAssembly.Module(binary); var instance = new WebAssembly.Instance(module, info); return postInstantiation(module, instance); } // now load needed libraries and the module itself. if (flags.loadAsync) { return metadata.neededDynlibs.reduce((chain, dynNeeded) => chain.then(() => loadDynamicLibrary(dynNeeded, flags, localScope)), Promise.resolve()).then(loadModule); } metadata.neededDynlibs.forEach(needed => loadDynamicLibrary(needed, flags, localScope)); return loadModule(); }; var mergeLibSymbols = (exports, libName) => { // add symbols into global namespace TODO: weak linking etc. for (var [sym, exp] of Object.entries(exports)) { // When RTLD_GLOBAL is enabled, the symbols defined by this shared object // will be made available for symbol resolution of subsequently loaded // shared objects. // We should copy the symbols (which include methods and variables) from // SIDE_MODULE to MAIN_MODULE. const setImport = target => { if (!isSymbolDefined(target)) { wasmImports[target] = exp; } }; setImport(sym); // Special case for handling of main symbol: If a side module exports // `main` that also acts a definition for `__main_argc_argv` and vice // versa. const main_alias = "__main_argc_argv"; if (sym == "main") { setImport(main_alias); } if (sym == main_alias) { setImport("main"); } if (sym.startsWith("dynCall_") && !Module.hasOwnProperty(sym)) { Module[sym] = exp; } } }; /** @param {boolean=} noRunDep */ var asyncLoad = (url, onload, onerror, noRunDep) => { var dep = !noRunDep ? getUniqueRunDependency(`al ${url}`) : ""; readAsync(url).then(arrayBuffer => { onload(new Uint8Array(arrayBuffer)); if (dep) removeRunDependency(dep); }, err => { if (onerror) { onerror(); } else { throw `Loading data file "${url}" failed.`; } }); if (dep) addRunDependency(dep); }; /** * @param {number=} handle * @param {Object=} localScope */ function loadDynamicLibrary(libName, flags = { global: true, nodelete: true }, localScope, handle) { // when loadDynamicLibrary did not have flags, libraries were loaded // globally & permanently var dso = LDSO.loadedLibsByName[libName]; if (dso) { // the library is being loaded or has been loaded already. if (!flags.global) { if (localScope) { Object.assign(localScope, dso.exports); } } else if (!dso.global) { // The library was previously loaded only locally but not // we have a request with global=true. dso.global = true; mergeLibSymbols(dso.exports, libName); } // same for "nodelete" if (flags.nodelete && dso.refcount !== Infinity) { dso.refcount = Infinity; } dso.refcount++; if (handle) { LDSO.loadedLibsByHandle[handle] = dso; } return flags.loadAsync ? Promise.resolve(true) : true; } // allocate new DSO dso = newDSO(libName, handle, "loading"); dso.refcount = flags.nodelete ? Infinity : 1; dso.global = flags.global; // libName -> libData function loadLibData() { // for wasm, we can use fetch for async, but for fs mode we can only imitate it if (handle) { var data = LE_HEAP_LOAD_U32((((handle) + (28)) >> 2) * 4); var dataSize = LE_HEAP_LOAD_U32((((handle) + (32)) >> 2) * 4); if (data && dataSize) { var libData = HEAP8.slice(data, data + dataSize); return flags.loadAsync ? Promise.resolve(libData) : libData; } } var libFile = locateFile(libName); if (flags.loadAsync) { return new Promise(function(resolve, reject) { asyncLoad(libFile, resolve, reject); }); } // load the binary synchronously if (!readBinary) { throw new Error(`${libFile}: file not found, and synchronous loading of external files is not available`); } return readBinary(libFile); } // libName -> exports function getExports() { // module not preloaded - load lib data and create new module from it if (flags.loadAsync) { return loadLibData().then(libData => loadWebAssemblyModule(libData, flags, libName, localScope, handle)); } return loadWebAssemblyModule(loadLibData(), flags, libName, localScope, handle); } // module for lib is loaded - update the dso & global namespace function moduleLoaded(exports) { if (dso.global) { mergeLibSymbols(exports, libName); } else if (localScope) { Object.assign(localScope, exports); } dso.exports = exports; } if (flags.loadAsync) { return getExports().then(exports => { moduleLoaded(exports); return true; }); } moduleLoaded(getExports()); return true; } var reportUndefinedSymbols = () => { for (var [symName, entry] of Object.entries(GOT)) { if (entry.value == 0) { var value = resolveGlobalSymbol(symName, true).sym; if (!value && !entry.required) { // Ignore undefined symbols that are imported as weak. continue; } if (typeof value == "function") { /** @suppress {checkTypes} */ entry.value = addFunction(value, value.sig); } else if (typeof value == "number") { entry.value = value; } else { throw new Error(`bad export type for '${symName}': ${typeof value}`); } } } }; var loadDylibs = () => { if (!dynamicLibraries.length) { reportUndefinedSymbols(); return; } // Load binaries asynchronously addRunDependency("loadDylibs"); dynamicLibraries.reduce((chain, lib) => chain.then(() => loadDynamicLibrary(lib, { loadAsync: true, global: true, nodelete: true, allowUndefined: true })), Promise.resolve()).then(() => { // we got them all, wonderful reportUndefinedSymbols(); removeRunDependency("loadDylibs"); }); }; var noExitRuntime = Module["noExitRuntime"] || true; /** * @param {number} ptr * @param {number} value * @param {string} type */ function setValue(ptr, value, type = "i8") { if (type.endsWith("*")) type = "*"; switch (type) { case "i1": HEAP8[ptr] = value; break; case "i8": HEAP8[ptr] = value; break; case "i16": LE_HEAP_STORE_I16(((ptr) >> 1) * 2, value); break; case "i32": LE_HEAP_STORE_I32(((ptr) >> 2) * 4, value); break; case "i64": abort("to do setValue(i64) use WASM_BIGINT"); case "float": LE_HEAP_STORE_F32(((ptr) >> 2) * 4, value); break; case "double": LE_HEAP_STORE_F64(((ptr) >> 3) * 8, value); break; case "*": LE_HEAP_STORE_U32(((ptr) >> 2) * 4, value); break; default: abort(`invalid type for setValue: ${type}`); } } var ___memory_base = new WebAssembly.Global({ "value": "i32", "mutable": false }, 1024); var ___stack_pointer = new WebAssembly.Global({ "value": "i32", "mutable": true }, 78112); var ___table_base = new WebAssembly.Global({ "value": "i32", "mutable": false }, 1); var __abort_js = () => { abort(""); }; __abort_js.sig = "v"; var nowIsMonotonic = 1; var __emscripten_get_now_is_monotonic = () => nowIsMonotonic; __emscripten_get_now_is_monotonic.sig = "i"; var __emscripten_memcpy_js = (dest, src, num) => HEAPU8.copyWithin(dest, src, src + num); __emscripten_memcpy_js.sig = "vppp"; var _emscripten_date_now = () => Date.now(); _emscripten_date_now.sig = "d"; var _emscripten_get_now; // Modern environment where performance.now() is supported: // N.B. a shorter form "_emscripten_get_now = performance.now;" is // unfortunately not allowed even in current browsers (e.g. FF Nightly 75). _emscripten_get_now = () => performance.now(); _emscripten_get_now.sig = "d"; var getHeapMax = () => // Stay one Wasm page short of 4GB: while e.g. Chrome is able to allocate // full 4GB Wasm memories, the size will wrap back to 0 bytes in Wasm side // for any code that deals with heap sizes, which would require special // casing all heap size related code to treat 0 specially. 2147483648; var growMemory = size => { var b = wasmMemory.buffer; var pages = (size - b.byteLength + 65535) / 65536; try { // round size grow request up to wasm page size (fixed 64KB per spec) wasmMemory.grow(pages); // .grow() takes a delta compared to the previous size updateMemoryViews(); return 1; } /*success*/ catch (e) {} }; // implicit 0 return to save code size (caller will cast "undefined" into 0 // anyhow) var _emscripten_resize_heap = requestedSize => { var oldSize = HEAPU8.length; // With CAN_ADDRESS_2GB or MEMORY64, pointers are already unsigned. requestedSize >>>= 0; // With multithreaded builds, races can happen (another thread might increase the size // in between), so return a failure, and let the caller retry. // Memory resize rules: // 1. Always increase heap size to at least the requested size, rounded up // to next page multiple. // 2a. If MEMORY_GROWTH_LINEAR_STEP == -1, excessively resize the heap // geometrically: increase the heap size according to // MEMORY_GROWTH_GEOMETRIC_STEP factor (default +20%), At most // overreserve by MEMORY_GROWTH_GEOMETRIC_CAP bytes (default 96MB). // 2b. If MEMORY_GROWTH_LINEAR_STEP != -1, excessively resize the heap // linearly: increase the heap size by at least // MEMORY_GROWTH_LINEAR_STEP bytes. // 3. Max size for the heap is capped at 2048MB-WASM_PAGE_SIZE, or by // MAXIMUM_MEMORY, or by ASAN limit, depending on which is smallest // 4. If we were unable to allocate as much memory, it may be due to // over-eager decision to excessively reserve due to (3) above. // Hence if an allocation fails, cut down on the amount of excess // growth, in an attempt to succeed to perform a smaller allocation. // A limit is set for how much we can grow. We should not exceed that // (the wasm binary specifies it, so if we tried, we'd fail anyhow). var maxHeapSize = getHeapMax(); if (requestedSize > maxHeapSize) { return false; } var alignUp = (x, multiple) => x + (multiple - x % multiple) % multiple; // Loop through potential heap size increases. If we attempt a too eager // reservation that fails, cut down on the attempted size and reserve a // smaller bump instead. (max 3 times, chosen somewhat arbitrarily) for (var cutDown = 1; cutDown <= 4; cutDown *= 2) { var overGrownHeapSize = oldSize * (1 + .2 / cutDown); // ensure geometric growth // but limit overreserving (default to capping at +96MB overgrowth at most) overGrownHeapSize = Math.min(overGrownHeapSize, requestedSize + 100663296); var newSize = Math.min(maxHeapSize, alignUp(Math.max(requestedSize, overGrownHeapSize), 65536)); var replacement = growMemory(newSize); if (replacement) { return true; } } return false; }; _emscripten_resize_heap.sig = "ip"; var _fd_close = fd => 52; _fd_close.sig = "ii"; var convertI32PairToI53Checked = (lo, hi) => ((hi + 2097152) >>> 0 < 4194305 - !!lo) ? (lo >>> 0) + hi * 4294967296 : NaN; function _fd_seek(fd, offset_low, offset_high, whence, newOffset) { var offset = convertI32PairToI53Checked(offset_low, offset_high); return 70; } _fd_seek.sig = "iiiiip"; var printCharBuffers = [ null, [], [] ]; var printChar = (stream, curr) => { var buffer = printCharBuffers[stream]; if (curr === 0 || curr === 10) { (stream === 1 ? out : err)(UTF8ArrayToString(buffer, 0)); buffer.length = 0; } else { buffer.push(curr); } }; var _fd_write = (fd, iov, iovcnt, pnum) => { // hack to support printf in SYSCALLS_REQUIRE_FILESYSTEM=0 var num = 0; for (var i = 0; i < iovcnt; i++) { var ptr = LE_HEAP_LOAD_U32(((iov) >> 2) * 4); var len = LE_HEAP_LOAD_U32((((iov) + (4)) >> 2) * 4); iov += 8; for (var j = 0; j < len; j++) { printChar(fd, HEAPU8[ptr + j]); } num += len; } LE_HEAP_STORE_U32(((pnum) >> 2) * 4, num); return 0; }; _fd_write.sig = "iippp"; function _tree_sitter_log_callback(isLexMessage, messageAddress) { if (currentLogCallback) { const message = UTF8ToString(messageAddress); currentLogCallback(message, isLexMessage !== 0); } } function _tree_sitter_parse_callback(inputBufferAddress, index, row, column, lengthAddress) { const INPUT_BUFFER_SIZE = 10 * 1024; const string = currentParseCallback(index, { row: row, column: column }); if (typeof string === "string") { setValue(lengthAddress, string.length, "i32"); stringToUTF16(string, inputBufferAddress, INPUT_BUFFER_SIZE); } else { setValue(lengthAddress, 0, "i32"); } } var runtimeKeepaliveCounter = 0; var keepRuntimeAlive = () => noExitRuntime || runtimeKeepaliveCounter > 0; var _proc_exit = code => { EXITSTATUS = code; if (!keepRuntimeAlive()) { Module["onExit"]?.(code); ABORT = true; } quit_(code, new ExitStatus(code)); }; _proc_exit.sig = "vi"; /** @param {boolean|number=} implicit */ var exitJS = (status, implicit) => { EXITSTATUS = status; _proc_exit(status); }; var handleException = e => { // Certain exception types we do not treat as errors since they are used for // internal control flow. // 1. ExitStatus, which is thrown by exit() // 2. "unwind", which is thrown by emscripten_unwind_to_js_event_loop() and others // that wish to return to JS event loop. if (e instanceof ExitStatus || e == "unwind") { return EXITSTATUS; } quit_(1, e); }; var lengthBytesUTF8 = str => { var len = 0; for (var i = 0; i < str.length; ++i) { // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code // unit, not a Unicode code point of the character! So decode // UTF16->UTF32->UTF8. // See http://unicode.org/faq/utf_bom.html#utf16-3 var c = str.charCodeAt(i); // possibly a lead surrogate if (c <= 127) { len++; } else if (c <= 2047) { len += 2; } else if (c >= 55296 && c <= 57343) { len += 4; ++i; } else { len += 3; } } return len; }; var stringToUTF8Array = (str, heap, outIdx, maxBytesToWrite) => { // Parameter maxBytesToWrite is not optional. Negative values, 0, null, // undefined and false each don't write out any bytes. if (!(maxBytesToWrite > 0)) return 0; var startIdx = outIdx; var endIdx = outIdx + maxBytesToWrite - 1; // -1 for string null terminator. for (var i = 0; i < str.length; ++i) { // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code // unit, not a Unicode code point of the character! So decode // UTF16->UTF32->UTF8. // See http://unicode.org/faq/utf_bom.html#utf16-3 // For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description // and https://www.ietf.org/rfc/rfc2279.txt // and https://tools.ietf.org/html/rfc3629 var u = str.charCodeAt(i); // possibly a lead surrogate if (u >= 55296 && u <= 57343) { var u1 = str.charCodeAt(++i); u = 65536 + ((u & 1023) << 10) | (u1 & 1023); } if (u <= 127) { if (outIdx >= endIdx) break; heap[outIdx++] = u; } else if (u <= 2047) { if (outIdx + 1 >= endIdx) break; heap[outIdx++] = 192 | (u >> 6); heap[outIdx++] = 128 | (u & 63); } else if (u <= 65535) { if (outIdx + 2 >= endIdx) break; heap[outIdx++] = 224 | (u >> 12); heap[outIdx++] = 128 | ((u >> 6) & 63); heap[outIdx++] = 128 | (u & 63); } else { if (outIdx + 3 >= endIdx) break; heap[outIdx++] = 240 | (u >> 18); heap[outIdx++] = 128 | ((u >> 12) & 63); heap[outIdx++] = 128 | ((u >> 6) & 63); heap[outIdx++] = 128 | (u & 63); } } // Null-terminate the pointer to the buffer. heap[outIdx] = 0; return outIdx - startIdx; }; var stringToUTF8 = (str, outPtr, maxBytesToWrite) => stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite); var stackAlloc = sz => __emscripten_stack_alloc(sz); var stringToUTF8OnStack = str => { var size = lengthBytesUTF8(str) + 1; var ret = stackAlloc(size); stringToUTF8(str, ret, size); return ret; }; var stringToUTF16 = (str, outPtr, maxBytesToWrite) => { // Backwards compatibility: if max bytes is not specified, assume unsafe unbounded write is allowed. maxBytesToWrite ??= 2147483647; if (maxBytesToWrite < 2) return 0; maxBytesToWrite -= 2; // Null terminator. var startPtr = outPtr; var numCharsToWrite = (maxBytesToWrite < str.length * 2) ? (maxBytesToWrite / 2) : str.length; for (var i = 0; i < numCharsToWrite; ++i) { // charCodeAt returns a UTF-16 encoded code unit, so it can be directly written to the HEAP. var codeUnit = str.charCodeAt(i); // possibly a lead surrogate LE_HEAP_STORE_I16(((outPtr) >> 1) * 2, codeUnit); outPtr += 2; } // Null-terminate the pointer to the HEAP. LE_HEAP_STORE_I16(((outPtr) >> 1) * 2, 0); return outPtr - startPtr; }; var AsciiToString = ptr => { var str = ""; while (1) { var ch = HEAPU8[ptr++]; if (!ch) return str; str += String.fromCharCode(ch); } }; var wasmImports = { /** @export */ __heap_base: ___heap_base, /** @export */ __indirect_function_table: wasmTable, /** @export */ __memory_base: ___memory_base, /** @export */ __stack_pointer: ___stack_pointer, /** @export */ __table_base: ___table_base, /** @export */ _abort_js: __abort_js, /** @export */ _emscripten_get_now_is_monotonic: __emscripten_get_now_is_monotonic, /** @export */ _emscripten_memcpy_js: __emscripten_memcpy_js, /** @export */ emscripten_get_now: _emscripten_get_now, /** @export */ emscripten_resize_heap: _emscripten_resize_heap, /** @export */ fd_close: _fd_close, /** @export */ fd_seek: _fd_seek, /** @export */ fd_write: _fd_write, /** @export */ memory: wasmMemory, /** @export */ tree_sitter_log_callback: _tree_sitter_log_callback, /** @export */ tree_sitter_parse_callback: _tree_sitter_parse_callback }; var wasmExports = createWasm(); var ___wasm_call_ctors = () => (___wasm_call_ctors = wasmExports["__wasm_call_ctors"])(); var ___wasm_apply_data_relocs = () => (___wasm_apply_data_relocs = wasmExports["__wasm_apply_data_relocs"])(); var _malloc = Module["_malloc"] = a0 => (_malloc = Module["_malloc"] = wasmExports["malloc"])(a0); var _calloc = Module["_calloc"] = (a0, a1) => (_calloc = Module["_calloc"] = wasmExports["calloc"])(a0, a1); var _realloc = Module["_realloc"] = (a0, a1) => (_realloc = Module["_realloc"] = wasmExports["realloc"])(a0, a1); var _free = Module["_free"] = a0 => (_free = Module["_free"] = wasmExports["free"])(a0); var _ts_language_symbol_count = Module["_ts_language_symbol_count"] = a0 => (_ts_language_symbol_count = Module["_ts_language_symbol_count"] = wasmExports["ts_language_symbol_count"])(a0); var _ts_language_state_count = Module["_ts_language_state_count"] = a0 => (_ts_language_state_count = Module["_ts_language_state_count"] = wasmExports["ts_language_state_count"])(a0); var _ts_language_version = Module["_ts_language_version"] = a0 => (_ts_language_version = Module["_ts_language_version"] = wasmExports["ts_language_version"])(a0); var _ts_language_field_count = Module["_ts_language_field_count"] = a0 => (_ts_language_field_count = Module["_ts_language_field_count"] = wasmExports["ts_language_field_count"])(a0); var _ts_language_next_state = Module["_ts_language_next_state"] = (a0, a1, a2) => (_ts_language_next_state = Module["_ts_language_next_state"] = wasmExports["ts_language_next_state"])(a0, a1, a2); var _ts_language_symbol_name = Module["_ts_language_symbol_name"] = (a0, a1) => (_ts_language_symbol_name = Module["_ts_language_symbol_name"] = wasmExports["ts_language_symbol_name"])(a0, a1); var _ts_language_symbol_for_name = Module["_ts_language_symbol_for_name"] = (a0, a1, a2, a3) => (_ts_language_symbol_for_name = Module["_ts_language_symbol_for_name"] = wasmExports["ts_language_symbol_for_name"])(a0, a1, a2, a3); var _strncmp = Module["_strncmp"] = (a0, a1, a2) => (_strncmp = Module["_strncmp"] = wasmExports["strncmp"])(a0, a1, a2); var _ts_language_symbol_type = Module["_ts_language_symbol_type"] = (a0, a1) => (_ts_language_symbol_type = Module["_ts_language_symbol_type"] = wasmExports["ts_language_symbol_type"])(a0, a1); var _ts_language_field_name_for_id = Module["_ts_language_field_name_for_id"] = (a0, a1) => (_ts_language_field_name_for_id = Module["_ts_language_field_name_for_id"] = wasmExports["ts_language_field_name_for_id"])(a0, a1); var _ts_lookahead_iterator_new = Module["_ts_lookahead_iterator_new"] = (a0, a1) => (_ts_lookahead_iterator_new = Module["_ts_lookahead_iterator_new"] = wasmExports["ts_lookahead_iterator_new"])(a0, a1); var _ts_lookahead_iterator_delete = Module["_ts_lookahead_iterator_delete"] = a0 => (_ts_lookahead_iterator_delete = Module["_ts_lookahead_iterator_delete"] = wasmExports["ts_lookahead_iterator_delete"])(a0); var _ts_lookahead_iterator_reset_state = Module["_ts_lookahead_iterator_reset_state"] = (a0, a1) => (_ts_lookahead_iterator_reset_state = Module["_ts_lookahead_iterator_reset_state"] = wasmExports["ts_lookahead_iterator_reset_state"])(a0, a1); var _ts_lookahead_iterator_reset = Module["_ts_lookahead_iterator_reset"] = (a0, a1, a2) => (_ts_lookahead_iterator_reset = Module["_ts_lookahead_iterator_reset"] = wasmExports["ts_lookahead_iterator_reset"])(a0, a1, a2); var _ts_lookahead_iterator_next = Module["_ts_lookahead_iterator_next"] = a0 => (_ts_lookahead_iterator_next = Module["_ts_lookahead_iterator_next"] = wasmExports["ts_lookahead_iterator_next"])(a0); var _ts_lookahead_iterator_current_symbol = Module["_ts_lookahead_iterator_current_symbol"] = a0 => (_ts_lookahead_iterator_current_symbol = Module["_ts_lookahead_iterator_current_symbol"] = wasmExports["ts_lookahead_iterator_current_symbol"])(a0); var _memset = Module["_memset"] = (a0, a1, a2) => (_memset = Module["_memset"] = wasmExports["memset"])(a0, a1, a2); var _memcpy = Module["_memcpy"] = (a0, a1, a2) => (_memcpy = Module["_memcpy"] = wasmExports["memcpy"])(a0, a1, a2); var _ts_parser_delete = Module["_ts_parser_delete"] = a0 => (_ts_parser_delete = Module["_ts_parser_delete"] = wasmExports["ts_parser_delete"])(a0); var _ts_parser_reset = Module["_ts_parser_reset"] = a0 => (_ts_parser_reset = Module["_ts_parser_reset"] = wasmExports["ts_parser_reset"])(a0); var _ts_parser_set_language = Module["_ts_parser_set_language"] = (a0, a1) => (_ts_parser_set_language = Module["_ts_parser_set_language"] = wasmExports["ts_parser_set_language"])(a0, a1); var _ts_parser_timeout_micros = Module["_ts_parser_timeout_micros"] = a0 => (_ts_parser_timeout_micros = Module["_ts_parser_timeout_micros"] = wasmExports["ts_parser_timeout_micros"])(a0); var _ts_parser_set_timeout_micros = Module["_ts_parser_set_timeout_micros"] = (a0, a1, a2) => (_ts_parser_set_timeout_micros = Module["_ts_parser_set_timeout_micros"] = wasmExports["ts_parser_set_timeout_micros"])(a0, a1, a2); var _ts_parser_set_included_ranges = Module["_ts_parser_set_included_ranges"] = (a0, a1, a2) => (_ts_parser_set_included_ranges = Module["_ts_parser_set_included_ranges"] = wasmExports["ts_parser_set_included_ranges"])(a0, a1, a2); var _memmove = Module["_memmove"] = (a0, a1, a2) => (_memmove = Module["_memmove"] = wasmExports["memmove"])(a0, a1, a2); var _memcmp = Module["_memcmp"] = (a0, a1, a2) => (_memcmp = Module["_memcmp"] = wasmExports["memcmp"])(a0, a1, a2); var _ts_query_new = Module["_ts_query_new"] = (a0, a1, a2, a3, a4) => (_ts_query_new = Module["_ts_query_new"] = wasmExports["ts_query_new"])(a0, a1, a2, a3, a4); var _ts_query_delete = Module["_ts_query_delete"] = a0 => (_ts_query_delete = Module["_ts_query_delete"] = wasmExports["ts_query_delete"])(a0); var _iswspace = Module["_iswspace"] = a0 => (_iswspace = Module["_iswspace"] = wasmExports["iswspace"])(a0); var _iswalnum = Module["_iswalnum"] = a0 => (_iswalnum = Module["_iswalnum"] = wasmExports["iswalnum"])(a0); var _ts_query_pattern_count = Module["_ts_query_pattern_count"] = a0 => (_ts_query_pattern_count = Module["_ts_query_pattern_count"] = wasmExports["ts_query_pattern_count"])(a0); var _ts_query_capture_count = Module["_ts_query_capture_count"] = a0 => (_ts_query_capture_count = Module["_ts_query_capture_count"] = wasmExports["ts_query_capture_count"])(a0); var _ts_query_string_count = Module["_ts_query_string_count"] = a0 => (_ts_query_string_count = Module["_ts_query_string_count"] = wasmExports["ts_query_string_count"])(a0); var _ts_query_capture_name_for_id = Module["_ts_query_capture_name_for_id"] = (a0, a1, a2) => (_ts_query_capture_name_for_id = Module["_ts_query_capture_name_for_id"] = wasmExports["ts_query_capture_name_for_id"])(a0, a1, a2); var _ts_query_string_value_for_id = Module["_ts_query_string_value_for_id"] = (a0, a1, a2) => (_ts_query_string_value_for_id = Module["_ts_query_string_value_for_id"] = wasmExports["ts_query_string_value_for_id"])(a0, a1, a2); var _ts_query_predicates_for_pattern = Module["_ts_query_predicates_for_pattern"] = (a0, a1, a2) => (_ts_query_predicates_for_pattern = Module["_ts_query_predicates_for_pattern"] = wasmExports["ts_query_predicates_for_pattern"])(a0, a1, a2); var _ts_query_disable_capture = Module["_ts_query_disable_capture"] = (a0, a1, a2) => (_ts_query_disable_capture = Module["_ts_query_disable_capture"] = wasmExports["ts_query_disable_capture"])(a0, a1, a2); var _ts_tree_copy = Module["_ts_tree_copy"] = a0 => (_ts_tree_copy = Module["_ts_tree_copy"] = wasmExports["ts_tree_copy"])(a0); var _ts_tree_delete = Module["_ts_tree_delete"] = a0 => (_ts_tree_delete = Module["_ts_tree_delete"] = wasmExports["ts_tree_delete"])(a0); var _ts_init = Module["_ts_init"] = () => (_ts_init = Module["_ts_init"] = wasmExports["ts_init"])(); var _ts_parser_new_wasm = Module["_ts_parser_new_wasm"] = () => (_ts_parser_new_wasm = Module["_ts_parser_new_wasm"] = wasmExports["ts_parser_new_wasm"])(); var _ts_parser_enable_logger_wasm = Module["_ts_parser_enable_logger_wasm"] = (a0, a1) => (_ts_parser_enable_logger_wasm = Module["_ts_parser_enable_logger_wasm"] = wasmExports["ts_parser_enable_logger_wasm"])(a0, a1); var _ts_parser_parse_wasm = Module["_ts_parser_parse_wasm"] = (a0, a1, a2, a3, a4) => (_ts_parser_parse_wasm = Module["_ts_parser_parse_wasm"] = wasmExports["ts_parser_parse_wasm"])(a0, a1, a2, a3, a4); var _ts_parser_included_ranges_wasm = Module["_ts_parser_included_ranges_wasm"] = a0 => (_ts_parser_included_ranges_wasm = Module["_ts_parser_included_ranges_wasm"] = wasmExports["ts_parser_included_ranges_wasm"])(a0); var _ts_language_type_is_named_wasm = Module["_ts_language_type_is_named_wasm"] = (a0, a1) => (_ts_language_type_is_named_wasm = Module["_ts_language_type_is_named_wasm"] = wasmExports["ts_language_type_is_named_wasm"])(a0, a1); var _ts_language_type_is_visible_wasm = Module["_ts_language_type_is_visible_wasm"] = (a0, a1) => (_ts_language_type_is_visible_wasm = Module["_ts_language_type_is_visible_wasm"] = wasmExports["ts_language_type_is_visible_wasm"])(a0, a1); var _ts_tree_root_node_wasm = Module["_ts_tree_root_node_wasm"] = a0 => (_ts_tree_root_node_wasm = Module["_ts_tree_root_node_wasm"] = wasmExports["ts_tree_root_node_wasm"])(a0); var _ts_tree_root_node_with_offset_wasm = Module["_ts_tree_root_node_with_offset_wasm"] = a0 => (_ts_tree_root_node_with_offset_wasm = Module["_ts_tree_root_node_with_offset_wasm"] = wasmExports["ts_tree_root_node_with_offset_wasm"])(a0); var _ts_tree_edit_wasm = Module["_ts_tree_edit_wasm"] = a0 => (_ts_tree_edit_wasm = Module["_ts_tree_edit_wasm"] = wasmExports["ts_tree_edit_wasm"])(a0); var _ts_tree_included_ranges_wasm = Module["_ts_tree_included_ranges_wasm"] = a0 => (_ts_tree_included_ranges_wasm = Module["_ts_tree_included_ranges_wasm"] = wasmExports["ts_tree_included_ranges_wasm"])(a0); var _ts_tree_get_changed_ranges_wasm = Module["_ts_tree_get_changed_ranges_wasm"] = (a0, a1) => (_ts_tree_get_changed_ranges_wasm = Module["_ts_tree_get_changed_ranges_wasm"] = wasmExports["ts_tree_get_changed_ranges_wasm"])(a0, a1); var _ts_tree_cursor_new_wasm = Module["_ts_tree_cursor_new_wasm"] = a0 => (_ts_tree_cursor_new_wasm = Module["_ts_tree_cursor_new_wasm"] = wasmExports["ts_tree_cursor_new_wasm"])(a0); var _ts_tree_cursor_delete_wasm = Module["_ts_tree_cursor_delete_wasm"] = a0 => (_ts_tree_cursor_delete_wasm = Module["_ts_tree_cursor_delete_wasm"] = wasmExports["ts_tree_cursor_delete_wasm"])(a0); var _ts_tree_cursor_reset_wasm = Module["_ts_tree_cursor_reset_wasm"] = a0 => (_ts_tree_cursor_reset_wasm = Module["_ts_tree_cursor_reset_wasm"] = wasmExports["ts_tree_cursor_reset_wasm"])(a0); var _ts_tree_cursor_reset_to_wasm = Module["_ts_tree_cursor_reset_to_wasm"] = (a0, a1) => (_ts_tree_cursor_reset_to_wasm = Module["_ts_tree_cursor_reset_to_wasm"] = wasmExports["ts_tree_cursor_reset_to_wasm"])(a0, a1); var _ts_tree_cursor_goto_first_child_wasm = Module["_ts_tree_cursor_goto_first_child_wasm"] = a0 => (_ts_tree_cursor_goto_first_child_wasm = Module["_ts_tree_cursor_goto_first_child_wasm"] = wasmExports["ts_tree_cursor_goto_first_child_wasm"])(a0); var _ts_tree_cursor_goto_last_child_wasm = Module["_ts_tree_cursor_goto_last_child_wasm"] = a0 => (_ts_tree_cursor_goto_last_child_wasm = Module["_ts_tree_cursor_goto_last_child_wasm"] = wasmExports["ts_tree_cursor_goto_last_child_wasm"])(a0); var _ts_tree_cursor_goto_first_child_for_index_wasm = Module["_ts_tree_cursor_goto_first_child_for_index_wasm"] = a0 => (_ts_tree_cursor_goto_first_child_for_index_wasm = Module["_ts_tree_cursor_goto_first_child_for_index_wasm"] = wasmExports["ts_tree_cursor_goto_first_child_for_index_wasm"])(a0); var _ts_tree_cursor_goto_first_child_for_position_wasm = Module["_ts_tree_cursor_goto_first_child_for_position_wasm"] = a0 => (_ts_tree_cursor_goto_first_child_for_position_wasm = Module["_ts_tree_cursor_goto_first_child_for_position_wasm"] = wasmExports["ts_tree_cursor_goto_first_child_for_position_wasm"])(a0); var _ts_tree_cursor_goto_next_sibling_wasm = Module["_ts_tree_cursor_goto_next_sibling_wasm"] = a0 => (_ts_tree_cursor_goto_next_sibling_wasm = Module["_ts_tree_cursor_goto_next_sibling_wasm"] = wasmExports["ts_tree_cursor_goto_next_sibling_wasm"])(a0); var _ts_tree_cursor_goto_previous_sibling_wasm = Module["_ts_tree_cursor_goto_previous_sibling_wasm"] = a0 => (_ts_tree_cursor_goto_previous_sibling_wasm = Module["_ts_tree_cursor_goto_previous_sibling_wasm"] = wasmExports["ts_tree_cursor_goto_previous_sibling_wasm"])(a0); var _ts_tree_cursor_goto_descendant_wasm = Module["_ts_tree_cursor_goto_descendant_wasm"] = (a0, a1) => (_ts_tree_cursor_goto_descendant_wasm = Module["_ts_tree_cursor_goto_descendant_wasm"] = wasmExports["ts_tree_cursor_goto_descendant_wasm"])(a0, a1); var _ts_tree_cursor_goto_parent_wasm = Module["_ts_tree_cursor_goto_parent_wasm"] = a0 => (_ts_tree_cursor_goto_parent_wasm = Module["_ts_tree_cursor_goto_parent_wasm"] = wasmExports["ts_tree_cursor_goto_parent_wasm"])(a0); var _ts_tree_cursor_current_node_type_id_wasm = Module["_ts_tree_cursor_current_node_type_id_wasm"] = a0 => (_ts_tree_cursor_current_node_type_id_wasm = Module["_ts_tree_cursor_current_node_type_id_wasm"] = wasmExports["ts_tree_cursor_current_node_type_id_wasm"])(a0); var _ts_tree_cursor_current_node_state_id_wasm = Module["_ts_tree_cursor_current_node_state_id_wasm"] = a0 => (_ts_tree_cursor_current_node_state_id_wasm = Module["_ts_tree_cursor_current_node_state_id_wasm"] = wasmExports["ts_tree_cursor_current_node_state_id_wasm"])(a0); var _ts_tree_cursor_current_node_is_named_wasm = Module["_ts_tree_cursor_current_node_is_named_wasm"] = a0 => (_ts_tree_cursor_current_node_is_named_wasm = Module["_ts_tree_cursor_current_node_is_named_wasm"] = wasmExports["ts_tree_cursor_current_node_is_named_wasm"])(a0); var _ts_tree_cursor_current_node_is_missing_wasm = Module["_ts_tree_cursor_current_node_is_missing_wasm"] = a0 => (_ts_tree_cursor_current_node_is_missing_wasm = Module["_ts_tree_cursor_current_node_is_missing_wasm"] = wasmExports["ts_tree_cursor_current_node_is_missing_wasm"])(a0); var _ts_tree_cursor_current_node_id_wasm = Module["_ts_tree_cursor_current_node_id_wasm"] = a0 => (_ts_tree_cursor_current_node_id_wasm = Module["_ts_tree_cursor_current_node_id_wasm"] = wasmExports["ts_tree_cursor_current_node_id_wasm"])(a0); var _ts_tree_cursor_start_position_wasm = Module["_ts_tree_cursor_start_position_wasm"] = a0 => (_ts_tree_cursor_start_position_wasm = Module["_ts_tree_cursor_start_position_wasm"] = wasmExports["ts_tree_cursor_start_position_wasm"])(a0); var _ts_tree_cursor_end_position_wasm = Module["_ts_tree_cursor_end_position_wasm"] = a0 => (_ts_tree_cursor_end_position_wasm = Module["_ts_tree_cursor_end_position_wasm"] = wasmExports["ts_tree_cursor_end_position_wasm"])(a0); var _ts_tree_cursor_start_index_wasm = Module["_ts_tree_cursor_start_index_wasm"] = a0 => (_ts_tree_cursor_start_index_wasm = Module["_ts_tree_cursor_start_index_wasm"] = wasmExports["ts_tree_cursor_start_index_wasm"])(a0); var _ts_tree_cursor_end_index_wasm = Module["_ts_tree_cursor_end_index_wasm"] = a0 => (_ts_tree_cursor_end_index_wasm = Module["_ts_tree_cursor_end_index_wasm"] = wasmExports["ts_tree_cursor_end_index_wasm"])(a0); var _ts_tree_cursor_current_field_id_wasm = Module["_ts_tree_cursor_current_field_id_wasm"] = a0 => (_ts_tree_cursor_current_field_id_wasm = Module["_ts_tree_cursor_current_field_id_wasm"] = wasmExports["ts_tree_cursor_current_field_id_wasm"])(a0); var _ts_tree_cursor_current_depth_wasm = Module["_ts_tree_cursor_current_depth_wasm"] = a0 => (_ts_tree_cursor_current_depth_wasm = Module["_ts_tree_cursor_current_depth_wasm"] = wasmExports["ts_tree_cursor_current_depth_wasm"])(a0); var _ts_tree_cursor_current_descendant_index_wasm = Module["_ts_tree_cursor_current_descendant_index_wasm"] = a0 => (_ts_tree_cursor_current_descendant_index_wasm = Module["_ts_tree_cursor_current_descendant_index_wasm"] = wasmExports["ts_tree_cursor_current_descendant_index_wasm"])(a0); var _ts_tree_cursor_current_node_wasm = Module["_ts_tree_cursor_current_node_wasm"] = a0 => (_ts_tree_cursor_current_node_wasm = Module["_ts_tree_cursor_current_node_wasm"] = wasmExports["ts_tree_cursor_current_node_wasm"])(a0); var _ts_node_symbol_wasm = Module["_ts_node_symbol_wasm"] = a0 => (_ts_node_symbol_wasm = Module["_ts_node_symbol_wasm"] = wasmExports["ts_node_symbol_wasm"])(a0); var _ts_node_field_name_for_child_wasm = Module["_ts_node_field_name_for_child_wasm"] = (a0, a1) => (_ts_node_field_name_for_child_wasm = Module["_ts_node_field_name_for_child_wasm"] = wasmExports["ts_node_field_name_for_child_wasm"])(a0, a1); var _ts_node_children_by_field_id_wasm = Module["_ts_node_children_by_field_id_wasm"] = (a0, a1) => (_ts_node_children_by_field_id_wasm = Module["_ts_node_children_by_field_id_wasm"] = wasmExports["ts_node_children_by_field_id_wasm"])(a0, a1); var _ts_node_first_child_for_byte_wasm = Module["_ts_node_first_child_for_byte_wasm"] = a0 => (_ts_node_first_child_for_byte_wasm = Module["_ts_node_first_child_for_byte_wasm"] = wasmExports["ts_node_first_child_for_byte_wasm"])(a0); var _ts_node_first_named_child_for_byte_wasm = Module["_ts_node_first_named_child_for_byte_wasm"] = a0 => (_ts_node_first_named_child_for_byte_wasm = Module["_ts_node_first_named_child_for_byte_wasm"] = wasmExports["ts_node_first_named_child_for_byte_wasm"])(a0); var _ts_node_grammar_symbol_wasm = Module["_ts_node_grammar_symbol_wasm"] = a0 => (_ts_node_grammar_symbol_wasm = Module["_ts_node_grammar_symbol_wasm"] = wasmExports["ts_node_grammar_symbol_wasm"])(a0); var _ts_node_child_count_wasm = Module["_ts_node_child_count_wasm"] = a0 => (_ts_node_child_count_wasm = Module["_ts_node_child_count_wasm"] = wasmExports["ts_node_child_count_wasm"])(a0); var _ts_node_named_child_count_wasm = Module["_ts_node_named_child_count_wasm"] = a0 => (_ts_node_named_child_count_wasm = Module["_ts_node_named_child_count_wasm"] = wasmExports["ts_node_named_child_count_wasm"])(a0); var _ts_node_child_wasm = Module["_ts_node_child_wasm"] = (a0, a1) => (_ts_node_child_wasm = Module["_ts_node_child_wasm"] = wasmExports["ts_node_child_wasm"])(a0, a1); var _ts_node_named_child_wasm = Module["_ts_node_named_child_wasm"] = (a0, a1) => (_ts_node_named_child_wasm = Module["_ts_node_named_child_wasm"] = wasmExports["ts_node_named_child_wasm"])(a0, a1); var _ts_node_child_by_field_id_wasm = Module["_ts_node_child_by_field_id_wasm"] = (a0, a1) => (_ts_node_child_by_field_id_wasm = Module["_ts_node_child_by_field_id_wasm"] = wasmExports["ts_node_child_by_field_id_wasm"])(a0, a1); var _ts_node_next_sibling_wasm = Module["_ts_node_next_sibling_wasm"] = a0 => (_ts_node_next_sibling_wasm = Module["_ts_node_next_sibling_wasm"] = wasmExports["ts_node_next_sibling_wasm"])(a0); var _ts_node_prev_sibling_wasm = Module["_ts_node_prev_sibling_wasm"] = a0 => (_ts_node_prev_sibling_wasm = Module["_ts_node_prev_sibling_wasm"] = wasmExports["ts_node_prev_sibling_wasm"])(a0); var _ts_node_next_named_sibling_wasm = Module["_ts_node_next_named_sibling_wasm"] = a0 => (_ts_node_next_named_sibling_wasm = Module["_ts_node_next_named_sibling_wasm"] = wasmExports["ts_node_next_named_sibling_wasm"])(a0); var _ts_node_prev_named_sibling_wasm = Module["_ts_node_prev_named_sibling_wasm"] = a0 => (_ts_node_prev_named_sibling_wasm = Module["_ts_node_prev_named_sibling_wasm"] = wasmExports["ts_node_prev_named_sibling_wasm"])(a0); var _ts_node_descendant_count_wasm = Module["_ts_node_descendant_count_wasm"] = a0 => (_ts_node_descendant_count_wasm = Module["_ts_node_descendant_count_wasm"] = wasmExports["ts_node_descendant_count_wasm"])(a0); var _ts_node_parent_wasm = Module["_ts_node_parent_wasm"] = a0 => (_ts_node_parent_wasm = Module["_ts_node_parent_wasm"] = wasmExports["ts_node_parent_wasm"])(a0); var _ts_node_descendant_for_index_wasm = Module["_ts_node_descendant_for_index_wasm"] = a0 => (_ts_node_descendant_for_index_wasm = Module["_ts_node_descendant_for_index_wasm"] = wasmExports["ts_node_descendant_for_index_wasm"])(a0); var _ts_node_named_descendant_for_index_wasm = Module["_ts_node_named_descendant_for_index_wasm"] = a0 => (_ts_node_named_descendant_for_index_wasm = Module["_ts_node_named_descendant_for_index_wasm"] = wasmExports["ts_node_named_descendant_for_index_wasm"])(a0); var _ts_node_descendant_for_position_wasm = Module["_ts_node_descendant_for_position_wasm"] = a0 => (_ts_node_descendant_for_position_wasm = Module["_ts_node_descendant_for_position_wasm"] = wasmExports["ts_node_descendant_for_position_wasm"])(a0); var _ts_node_named_descendant_for_position_wasm = Module["_ts_node_named_descendant_for_position_wasm"] = a0 => (_ts_node_named_descendant_for_position_wasm = Module["_ts_node_named_descendant_for_position_wasm"] = wasmExports["ts_node_named_descendant_for_position_wasm"])(a0); var _ts_node_start_point_wasm = Module["_ts_node_start_point_wasm"] = a0 => (_ts_node_start_point_wasm = Module["_ts_node_start_point_wasm"] = wasmExports["ts_node_start_point_wasm"])(a0); var _ts_node_end_point_wasm = Module["_ts_node_end_point_wasm"] = a0 => (_ts_node_end_point_wasm = Module["_ts_node_end_point_wasm"] = wasmExports["ts_node_end_point_wasm"])(a0); var _ts_node_start_index_wasm = Module["_ts_node_start_index_wasm"] = a0 => (_ts_node_start_index_wasm = Module["_ts_node_start_index_wasm"] = wasmExports["ts_node_start_index_wasm"])(a0); var _ts_node_end_index_wasm = Module["_ts_node_end_index_wasm"] = a0 => (_ts_node_end_index_wasm = Module["_ts_node_end_index_wasm"] = wasmExports["ts_node_end_index_wasm"])(a0); var _ts_node_to_string_wasm = Module["_ts_node_to_string_wasm"] = a0 => (_ts_node_to_string_wasm = Module["_ts_node_to_string_wasm"] = wasmExports["ts_node_to_string_wasm"])(a0); var _ts_node_children_wasm = Module["_ts_node_children_wasm"] = a0 => (_ts_node_children_wasm = Module["_ts_node_children_wasm"] = wasmExports["ts_node_children_wasm"])(a0); var _ts_node_named_children_wasm = Module["_ts_node_named_children_wasm"] = a0 => (_ts_node_named_children_wasm = Module["_ts_node_named_children_wasm"] = wasmExports["ts_node_named_children_wasm"])(a0); var _ts_node_descendants_of_type_wasm = Module["_ts_node_descendants_of_type_wasm"] = (a0, a1, a2, a3, a4, a5, a6) => (_ts_node_descendants_of_type_wasm = Module["_ts_node_descendants_of_type_wasm"] = wasmExports["ts_node_descendants_of_type_wasm"])(a0, a1, a2, a3, a4, a5, a6); var _ts_node_is_named_wasm = Module["_ts_node_is_named_wasm"] = a0 => (_ts_node_is_named_wasm = Module["_ts_node_is_named_wasm"] = wasmExports["ts_node_is_named_wasm"])(a0); var _ts_node_has_changes_wasm = Module["_ts_node_has_changes_wasm"] = a0 => (_ts_node_has_changes_wasm = Module["_ts_node_has_changes_wasm"] = wasmExports["ts_node_has_changes_wasm"])(a0); var _ts_node_has_error_wasm = Module["_ts_node_has_error_wasm"] = a0 => (_ts_node_has_error_wasm = Module["_ts_node_has_error_wasm"] = wasmExports["ts_node_has_error_wasm"])(a0); var _ts_node_is_error_wasm = Module["_ts_node_is_error_wasm"] = a0 => (_ts_node_is_error_wasm = Module["_ts_node_is_error_wasm"] = wasmExports["ts_node_is_error_wasm"])(a0); var _ts_node_is_missing_wasm = Module["_ts_node_is_missing_wasm"] = a0 => (_ts_node_is_missing_wasm = Module["_ts_node_is_missing_wasm"] = wasmExports["ts_node_is_missing_wasm"])(a0); var _ts_node_is_extra_wasm = Module["_ts_node_is_extra_wasm"] = a0 => (_ts_node_is_extra_wasm = Module["_ts_node_is_extra_wasm"] = wasmExports["ts_node_is_extra_wasm"])(a0); var _ts_node_parse_state_wasm = Module["_ts_node_parse_state_wasm"] = a0 => (_ts_node_parse_state_wasm = Module["_ts_node_parse_state_wasm"] = wasmExports["ts_node_parse_state_wasm"])(a0); var _ts_node_next_parse_state_wasm = Module["_ts_node_next_parse_state_wasm"] = a0 => (_ts_node_next_parse_state_wasm = Module["_ts_node_next_parse_state_wasm"] = wasmExports["ts_node_next_parse_state_wasm"])(a0); var _ts_query_matches_wasm = Module["_ts_query_matches_wasm"] = (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) => (_ts_query_matches_wasm = Module["_ts_query_matches_wasm"] = wasmExports["ts_query_matches_wasm"])(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10); var _ts_query_captures_wasm = Module["_ts_query_captures_wasm"] = (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) => (_ts_query_captures_wasm = Module["_ts_query_captures_wasm"] = wasmExports["ts_query_captures_wasm"])(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10); var _iswalpha = Module["_iswalpha"] = a0 => (_iswalpha = Module["_iswalpha"] = wasmExports["iswalpha"])(a0); var _iswblank = Module["_iswblank"] = a0 => (_iswblank = Module["_iswblank"] = wasmExports["iswblank"])(a0); var _iswdigit = Module["_iswdigit"] = a0 => (_iswdigit = Module["_iswdigit"] = wasmExports["iswdigit"])(a0); var _iswlower = Module["_iswlower"] = a0 => (_iswlower = Module["_iswlower"] = wasmExports["iswlower"])(a0); var _iswupper = Module["_iswupper"] = a0 => (_iswupper = Module["_iswupper"] = wasmExports["iswupper"])(a0); var _iswxdigit = Module["_iswxdigit"] = a0 => (_iswxdigit = Module["_iswxdigit"] = wasmExports["iswxdigit"])(a0); var _memchr = Module["_memchr"] = (a0, a1, a2) => (_memchr = Module["_memchr"] = wasmExports["memchr"])(a0, a1, a2); var _strlen = Module["_strlen"] = a0 => (_strlen = Module["_strlen"] = wasmExports["strlen"])(a0); var _strcmp = Module["_strcmp"] = (a0, a1) => (_strcmp = Module["_strcmp"] = wasmExports["strcmp"])(a0, a1); var _strncat = Module["_strncat"] = (a0, a1, a2) => (_strncat = Module["_strncat"] = wasmExports["strncat"])(a0, a1, a2); var _strncpy = Module["_strncpy"] = (a0, a1, a2) => (_strncpy = Module["_strncpy"] = wasmExports["strncpy"])(a0, a1, a2); var _towlower = Module["_towlower"] = a0 => (_towlower = Module["_towlower"] = wasmExports["towlower"])(a0); var _towupper = Module["_towupper"] = a0 => (_towupper = Module["_towupper"] = wasmExports["towupper"])(a0); var _setThrew = (a0, a1) => (_setThrew = wasmExports["setThrew"])(a0, a1); var __emscripten_stack_restore = a0 => (__emscripten_stack_restore = wasmExports["_emscripten_stack_restore"])(a0); var __emscripten_stack_alloc = a0 => (__emscripten_stack_alloc = wasmExports["_emscripten_stack_alloc"])(a0); var _emscripten_stack_get_current = () => (_emscripten_stack_get_current = wasmExports["emscripten_stack_get_current"])(); var dynCall_jiji = Module["dynCall_jiji"] = (a0, a1, a2, a3, a4) => (dynCall_jiji = Module["dynCall_jiji"] = wasmExports["dynCall_jiji"])(a0, a1, a2, a3, a4); var _orig$ts_parser_timeout_micros = Module["_orig$ts_parser_timeout_micros"] = a0 => (_orig$ts_parser_timeout_micros = Module["_orig$ts_parser_timeout_micros"] = wasmExports["orig$ts_parser_timeout_micros"])(a0); var _orig$ts_parser_set_timeout_micros = Module["_orig$ts_parser_set_timeout_micros"] = (a0, a1) => (_orig$ts_parser_set_timeout_micros = Module["_orig$ts_parser_set_timeout_micros"] = wasmExports["orig$ts_parser_set_timeout_micros"])(a0, a1); // include: postamble.js // === Auto-generated postamble setup entry stuff === Module["AsciiToString"] = AsciiToString; Module["stringToUTF16"] = stringToUTF16; var calledRun; dependenciesFulfilled = function runCaller() { // If run has never been called, and we should call run (INVOKE_RUN is true, and Module.noInitialRun is not false) if (!calledRun) run(); if (!calledRun) dependenciesFulfilled = runCaller; }; // try this again later, after new deps are fulfilled function callMain(args = []) { var entryFunction = resolveGlobalSymbol("main").sym; // Main modules can't tell if they have main() at compile time, since it may // arrive from a dynamic library. if (!entryFunction) return; args.unshift(thisProgram); var argc = args.length; var argv = stackAlloc((argc + 1) * 4); var argv_ptr = argv; args.forEach(arg => { LE_HEAP_STORE_U32(((argv_ptr) >> 2) * 4, stringToUTF8OnStack(arg)); argv_ptr += 4; }); LE_HEAP_STORE_U32(((argv_ptr) >> 2) * 4, 0); try { var ret = entryFunction(argc, argv); // if we're not running an evented main loop, it's time to exit exitJS(ret, /* implicit = */ true); return ret; } catch (e) { return handleException(e); } } function run(args = arguments_) { if (runDependencies > 0) { return; } preRun(); // a preRun added a dependency, run will be called later if (runDependencies > 0) { return; } function doRun() { // run may have just been called through dependencies being fulfilled just in this very frame, // or while the async setStatus time below was happening if (calledRun) return; calledRun = true; Module["calledRun"] = true; if (ABORT) return; initRuntime(); preMain(); Module["onRuntimeInitialized"]?.(); if (shouldRunNow) callMain(args); postRun(); } if (Module["setStatus"]) { Module["setStatus"]("Running..."); setTimeout(function() { setTimeout(function() { Module["setStatus"](""); }, 1); doRun(); }, 1); } else { doRun(); } } if (Module["preInit"]) { if (typeof Module["preInit"] == "function") Module["preInit"] = [ Module["preInit"] ]; while (Module["preInit"].length > 0) { Module["preInit"].pop()(); } } // shouldRunNow refers to calling main(), not run(). var shouldRunNow = true; if (Module["noInitialRun"]) shouldRunNow = false; run(); // end include: postamble.js // include: /src/lib/binding_web/binding.js /* eslint-disable-next-line spaced-comment */ /// /* eslint-disable-next-line spaced-comment */ /// const C = Module; const INTERNAL = {}; const SIZE_OF_INT = 4; const SIZE_OF_CURSOR = 4 * SIZE_OF_INT; const SIZE_OF_NODE = 5 * SIZE_OF_INT; const SIZE_OF_POINT = 2 * SIZE_OF_INT; const SIZE_OF_RANGE = 2 * SIZE_OF_INT + 2 * SIZE_OF_POINT; const ZERO_POINT = { row: 0, column: 0 }; const QUERY_WORD_REGEX = /[\w-.]*/g; const PREDICATE_STEP_TYPE_CAPTURE = 1; const PREDICATE_STEP_TYPE_STRING = 2; const LANGUAGE_FUNCTION_REGEX = /^_?tree_sitter_\w+/; let VERSION; let MIN_COMPATIBLE_VERSION; let TRANSFER_BUFFER; let currentParseCallback; // eslint-disable-next-line no-unused-vars let currentLogCallback; // eslint-disable-next-line no-unused-vars class ParserImpl { static init() { TRANSFER_BUFFER = C._ts_init(); VERSION = getValue(TRANSFER_BUFFER, "i32"); MIN_COMPATIBLE_VERSION = getValue(TRANSFER_BUFFER + SIZE_OF_INT, "i32"); } initialize() { C._ts_parser_new_wasm(); this[0] = getValue(TRANSFER_BUFFER, "i32"); this[1] = getValue(TRANSFER_BUFFER + SIZE_OF_INT, "i32"); } delete() { C._ts_parser_delete(this[0]); C._free(this[1]); this[0] = 0; this[1] = 0; } setLanguage(language) { let address; if (!language) { address = 0; language = null; } else if (language.constructor === Language) { address = language[0]; const version = C._ts_language_version(address); if (version < MIN_COMPATIBLE_VERSION || VERSION < version) { throw new Error(`Incompatible language version ${version}. ` + `Compatibility range ${MIN_COMPATIBLE_VERSION} through ${VERSION}.`); } } else { throw new Error("Argument must be a Language"); } this.language = language; C._ts_parser_set_language(this[0], address); return this; } getLanguage() { return this.language; } parse(callback, oldTree, options) { if (typeof callback === "string") { currentParseCallback = (index, _) => callback.slice(index); } else if (typeof callback === "function") { currentParseCallback = callback; } else { throw new Error("Argument must be a string or a function"); } if (this.logCallback) { currentLogCallback = this.logCallback; C._ts_parser_enable_logger_wasm(this[0], 1); } else { currentLogCallback = null; C._ts_parser_enable_logger_wasm(this[0], 0); } let rangeCount = 0; let rangeAddress = 0; if (options?.includedRanges) { rangeCount = options.includedRanges.length; rangeAddress = C._calloc(rangeCount, SIZE_OF_RANGE); let address = rangeAddress; for (let i = 0; i < rangeCount; i++) { marshalRange(address, options.includedRanges[i]); address += SIZE_OF_RANGE; } } const treeAddress = C._ts_parser_parse_wasm(this[0], this[1], oldTree ? oldTree[0] : 0, rangeAddress, rangeCount); if (!treeAddress) { currentParseCallback = null; currentLogCallback = null; throw new Error("Parsing failed"); } const result = new Tree(INTERNAL, treeAddress, this.language, currentParseCallback); currentParseCallback = null; currentLogCallback = null; return result; } reset() { C._ts_parser_reset(this[0]); } getIncludedRanges() { C._ts_parser_included_ranges_wasm(this[0]); const count = getValue(TRANSFER_BUFFER, "i32"); const buffer = getValue(TRANSFER_BUFFER + SIZE_OF_INT, "i32"); const result = new Array(count); if (count > 0) { let address = buffer; for (let i = 0; i < count; i++) { result[i] = unmarshalRange(address); address += SIZE_OF_RANGE; } C._free(buffer); } return result; } getTimeoutMicros() { return C._ts_parser_timeout_micros(this[0]); } setTimeoutMicros(timeout) { C._ts_parser_set_timeout_micros(this[0], timeout); } setLogger(callback) { if (!callback) { callback = null; } else if (typeof callback !== "function") { throw new Error("Logger callback must be a function"); } this.logCallback = callback; return this; } getLogger() { return this.logCallback; } } class Tree { constructor(internal, address, language, textCallback) { assertInternal(internal); this[0] = address; this.language = language; this.textCallback = textCallback; } copy() { const address = C._ts_tree_copy(this[0]); return new Tree(INTERNAL, address, this.language, this.textCallback); } delete() { C._ts_tree_delete(this[0]); this[0] = 0; } edit(edit) { marshalEdit(edit); C._ts_tree_edit_wasm(this[0]); } get rootNode() { C._ts_tree_root_node_wasm(this[0]); return unmarshalNode(this); } rootNodeWithOffset(offsetBytes, offsetExtent) { const address = TRANSFER_BUFFER + SIZE_OF_NODE; setValue(address, offsetBytes, "i32"); marshalPoint(address + SIZE_OF_INT, offsetExtent); C._ts_tree_root_node_with_offset_wasm(this[0]); return unmarshalNode(this); } getLanguage() { return this.language; } walk() { return this.rootNode.walk(); } getChangedRanges(other) { if (other.constructor !== Tree) { throw new TypeError("Argument must be a Tree"); } C._ts_tree_get_changed_ranges_wasm(this[0], other[0]); const count = getValue(TRANSFER_BUFFER, "i32"); const buffer = getValue(TRANSFER_BUFFER + SIZE_OF_INT, "i32"); const result = new Array(count); if (count > 0) { let address = buffer; for (let i = 0; i < count; i++) { result[i] = unmarshalRange(address); address += SIZE_OF_RANGE; } C._free(buffer); } return result; } getIncludedRanges() { C._ts_tree_included_ranges_wasm(this[0]); const count = getValue(TRANSFER_BUFFER, "i32"); const buffer = getValue(TRANSFER_BUFFER + SIZE_OF_INT, "i32"); const result = new Array(count); if (count > 0) { let address = buffer; for (let i = 0; i < count; i++) { result[i] = unmarshalRange(address); address += SIZE_OF_RANGE; } C._free(buffer); } return result; } } class Node { constructor(internal, tree) { assertInternal(internal); this.tree = tree; } get typeId() { marshalNode(this); return C._ts_node_symbol_wasm(this.tree[0]); } get grammarId() { marshalNode(this); return C._ts_node_grammar_symbol_wasm(this.tree[0]); } get type() { return this.tree.language.types[this.typeId] || "ERROR"; } get grammarType() { return this.tree.language.types[this.grammarId] || "ERROR"; } get endPosition() { marshalNode(this); C._ts_node_end_point_wasm(this.tree[0]); return unmarshalPoint(TRANSFER_BUFFER); } get endIndex() { marshalNode(this); return C._ts_node_end_index_wasm(this.tree[0]); } get text() { return getText(this.tree, this.startIndex, this.endIndex); } get parseState() { marshalNode(this); return C._ts_node_parse_state_wasm(this.tree[0]); } get nextParseState() { marshalNode(this); return C._ts_node_next_parse_state_wasm(this.tree[0]); } get isNamed() { marshalNode(this); return C._ts_node_is_named_wasm(this.tree[0]) === 1; } get hasError() { marshalNode(this); return C._ts_node_has_error_wasm(this.tree[0]) === 1; } get hasChanges() { marshalNode(this); return C._ts_node_has_changes_wasm(this.tree[0]) === 1; } get isError() { marshalNode(this); return C._ts_node_is_error_wasm(this.tree[0]) === 1; } get isMissing() { marshalNode(this); return C._ts_node_is_missing_wasm(this.tree[0]) === 1; } get isExtra() { marshalNode(this); return C._ts_node_is_extra_wasm(this.tree[0]) === 1; } equals(other) { return this.id === other.id; } child(index) { marshalNode(this); C._ts_node_child_wasm(this.tree[0], index); return unmarshalNode(this.tree); } namedChild(index) { marshalNode(this); C._ts_node_named_child_wasm(this.tree[0], index); return unmarshalNode(this.tree); } childForFieldId(fieldId) { marshalNode(this); C._ts_node_child_by_field_id_wasm(this.tree[0], fieldId); return unmarshalNode(this.tree); } childForFieldName(fieldName) { const fieldId = this.tree.language.fields.indexOf(fieldName); if (fieldId !== -1) return this.childForFieldId(fieldId); return null; } fieldNameForChild(index) { marshalNode(this); const address = C._ts_node_field_name_for_child_wasm(this.tree[0], index); if (!address) { return null; } const result = AsciiToString(address); // must not free, the string memory is owned by the language return result; } childrenForFieldName(fieldName) { const fieldId = this.tree.language.fields.indexOf(fieldName); if (fieldId !== -1 && fieldId !== 0) return this.childrenForFieldId(fieldId); return []; } childrenForFieldId(fieldId) { marshalNode(this); C._ts_node_children_by_field_id_wasm(this.tree[0], fieldId); const count = getValue(TRANSFER_BUFFER, "i32"); const buffer = getValue(TRANSFER_BUFFER + SIZE_OF_INT, "i32"); const result = new Array(count); if (count > 0) { let address = buffer; for (let i = 0; i < count; i++) { result[i] = unmarshalNode(this.tree, address); address += SIZE_OF_NODE; } C._free(buffer); } return result; } firstChildForIndex(index) { marshalNode(this); const address = TRANSFER_BUFFER + SIZE_OF_NODE; setValue(address, index, "i32"); C._ts_node_first_child_for_byte_wasm(this.tree[0]); return unmarshalNode(this.tree); } firstNamedChildForIndex(index) { marshalNode(this); const address = TRANSFER_BUFFER + SIZE_OF_NODE; setValue(address, index, "i32"); C._ts_node_first_named_child_for_byte_wasm(this.tree[0]); return unmarshalNode(this.tree); } get childCount() { marshalNode(this); return C._ts_node_child_count_wasm(this.tree[0]); } get namedChildCount() { marshalNode(this); return C._ts_node_named_child_count_wasm(this.tree[0]); } get firstChild() { return this.child(0); } get firstNamedChild() { return this.namedChild(0); } get lastChild() { return this.child(this.childCount - 1); } get lastNamedChild() { return this.namedChild(this.namedChildCount - 1); } get children() { if (!this._children) { marshalNode(this); C._ts_node_children_wasm(this.tree[0]); const count = getValue(TRANSFER_BUFFER, "i32"); const buffer = getValue(TRANSFER_BUFFER + SIZE_OF_INT, "i32"); this._children = new Array(count); if (count > 0) { let address = buffer; for (let i = 0; i < count; i++) { this._children[i] = unmarshalNode(this.tree, address); address += SIZE_OF_NODE; } C._free(buffer); } } return this._children; } get namedChildren() { if (!this._namedChildren) { marshalNode(this); C._ts_node_named_children_wasm(this.tree[0]); const count = getValue(TRANSFER_BUFFER, "i32"); const buffer = getValue(TRANSFER_BUFFER + SIZE_OF_INT, "i32"); this._namedChildren = new Array(count); if (count > 0) { let address = buffer; for (let i = 0; i < count; i++) { this._namedChildren[i] = unmarshalNode(this.tree, address); address += SIZE_OF_NODE; } C._free(buffer); } } return this._namedChildren; } descendantsOfType(types, startPosition, endPosition) { if (!Array.isArray(types)) types = [ types ]; if (!startPosition) startPosition = ZERO_POINT; if (!endPosition) endPosition = ZERO_POINT; // Convert the type strings to numeric type symbols. const symbols = []; const typesBySymbol = this.tree.language.types; for (let i = 0, n = typesBySymbol.length; i < n; i++) { if (types.includes(typesBySymbol[i])) { symbols.push(i); } } // Copy the array of symbols to the WASM heap. const symbolsAddress = C._malloc(SIZE_OF_INT * symbols.length); for (let i = 0, n = symbols.length; i < n; i++) { setValue(symbolsAddress + i * SIZE_OF_INT, symbols[i], "i32"); } // Call the C API to compute the descendants. marshalNode(this); C._ts_node_descendants_of_type_wasm(this.tree[0], symbolsAddress, symbols.length, startPosition.row, startPosition.column, endPosition.row, endPosition.column); // Instantiate the nodes based on the data returned. const descendantCount = getValue(TRANSFER_BUFFER, "i32"); const descendantAddress = getValue(TRANSFER_BUFFER + SIZE_OF_INT, "i32"); const result = new Array(descendantCount); if (descendantCount > 0) { let address = descendantAddress; for (let i = 0; i < descendantCount; i++) { result[i] = unmarshalNode(this.tree, address); address += SIZE_OF_NODE; } } // Free the intermediate buffers C._free(descendantAddress); C._free(symbolsAddress); return result; } get nextSibling() { marshalNode(this); C._ts_node_next_sibling_wasm(this.tree[0]); return unmarshalNode(this.tree); } get previousSibling() { marshalNode(this); C._ts_node_prev_sibling_wasm(this.tree[0]); return unmarshalNode(this.tree); } get nextNamedSibling() { marshalNode(this); C._ts_node_next_named_sibling_wasm(this.tree[0]); return unmarshalNode(this.tree); } get previousNamedSibling() { marshalNode(this); C._ts_node_prev_named_sibling_wasm(this.tree[0]); return unmarshalNode(this.tree); } get descendantCount() { marshalNode(this); return C._ts_node_descendant_count_wasm(this.tree[0]); } get parent() { marshalNode(this); C._ts_node_parent_wasm(this.tree[0]); return unmarshalNode(this.tree); } descendantForIndex(start, end = start) { if (typeof start !== "number" || typeof end !== "number") { throw new Error("Arguments must be numbers"); } marshalNode(this); const address = TRANSFER_BUFFER + SIZE_OF_NODE; setValue(address, start, "i32"); setValue(address + SIZE_OF_INT, end, "i32"); C._ts_node_descendant_for_index_wasm(this.tree[0]); return unmarshalNode(this.tree); } namedDescendantForIndex(start, end = start) { if (typeof start !== "number" || typeof end !== "number") { throw new Error("Arguments must be numbers"); } marshalNode(this); const address = TRANSFER_BUFFER + SIZE_OF_NODE; setValue(address, start, "i32"); setValue(address + SIZE_OF_INT, end, "i32"); C._ts_node_named_descendant_for_index_wasm(this.tree[0]); return unmarshalNode(this.tree); } descendantForPosition(start, end = start) { if (!isPoint(start) || !isPoint(end)) { throw new Error("Arguments must be {row, column} objects"); } marshalNode(this); const address = TRANSFER_BUFFER + SIZE_OF_NODE; marshalPoint(address, start); marshalPoint(address + SIZE_OF_POINT, end); C._ts_node_descendant_for_position_wasm(this.tree[0]); return unmarshalNode(this.tree); } namedDescendantForPosition(start, end = start) { if (!isPoint(start) || !isPoint(end)) { throw new Error("Arguments must be {row, column} objects"); } marshalNode(this); const address = TRANSFER_BUFFER + SIZE_OF_NODE; marshalPoint(address, start); marshalPoint(address + SIZE_OF_POINT, end); C._ts_node_named_descendant_for_position_wasm(this.tree[0]); return unmarshalNode(this.tree); } walk() { marshalNode(this); C._ts_tree_cursor_new_wasm(this.tree[0]); return new TreeCursor(INTERNAL, this.tree); } toString() { marshalNode(this); const address = C._ts_node_to_string_wasm(this.tree[0]); const result = AsciiToString(address); C._free(address); return result; } } class TreeCursor { constructor(internal, tree) { assertInternal(internal); this.tree = tree; unmarshalTreeCursor(this); } delete() { marshalTreeCursor(this); C._ts_tree_cursor_delete_wasm(this.tree[0]); this[0] = this[1] = this[2] = 0; } reset(node) { marshalNode(node); marshalTreeCursor(this, TRANSFER_BUFFER + SIZE_OF_NODE); C._ts_tree_cursor_reset_wasm(this.tree[0]); unmarshalTreeCursor(this); } resetTo(cursor) { marshalTreeCursor(this, TRANSFER_BUFFER); marshalTreeCursor(cursor, TRANSFER_BUFFER + SIZE_OF_CURSOR); C._ts_tree_cursor_reset_to_wasm(this.tree[0], cursor.tree[0]); unmarshalTreeCursor(this); } get nodeType() { return this.tree.language.types[this.nodeTypeId] || "ERROR"; } get nodeTypeId() { marshalTreeCursor(this); return C._ts_tree_cursor_current_node_type_id_wasm(this.tree[0]); } get nodeStateId() { marshalTreeCursor(this); return C._ts_tree_cursor_current_node_state_id_wasm(this.tree[0]); } get nodeId() { marshalTreeCursor(this); return C._ts_tree_cursor_current_node_id_wasm(this.tree[0]); } get nodeIsNamed() { marshalTreeCursor(this); return C._ts_tree_cursor_current_node_is_named_wasm(this.tree[0]) === 1; } get nodeIsMissing() { marshalTreeCursor(this); return C._ts_tree_cursor_current_node_is_missing_wasm(this.tree[0]) === 1; } get nodeText() { marshalTreeCursor(this); const startIndex = C._ts_tree_cursor_start_index_wasm(this.tree[0]); const endIndex = C._ts_tree_cursor_end_index_wasm(this.tree[0]); return getText(this.tree, startIndex, endIndex); } get startPosition() { marshalTreeCursor(this); C._ts_tree_cursor_start_position_wasm(this.tree[0]); return unmarshalPoint(TRANSFER_BUFFER); } get endPosition() { marshalTreeCursor(this); C._ts_tree_cursor_end_position_wasm(this.tree[0]); return unmarshalPoint(TRANSFER_BUFFER); } get startIndex() { marshalTreeCursor(this); return C._ts_tree_cursor_start_index_wasm(this.tree[0]); } get endIndex() { marshalTreeCursor(this); return C._ts_tree_cursor_end_index_wasm(this.tree[0]); } get currentNode() { marshalTreeCursor(this); C._ts_tree_cursor_current_node_wasm(this.tree[0]); return unmarshalNode(this.tree); } get currentFieldId() { marshalTreeCursor(this); return C._ts_tree_cursor_current_field_id_wasm(this.tree[0]); } get currentFieldName() { return this.tree.language.fields[this.currentFieldId]; } get currentDepth() { marshalTreeCursor(this); return C._ts_tree_cursor_current_depth_wasm(this.tree[0]); } get currentDescendantIndex() { marshalTreeCursor(this); return C._ts_tree_cursor_current_descendant_index_wasm(this.tree[0]); } gotoFirstChild() { marshalTreeCursor(this); const result = C._ts_tree_cursor_goto_first_child_wasm(this.tree[0]); unmarshalTreeCursor(this); return result === 1; } gotoLastChild() { marshalTreeCursor(this); const result = C._ts_tree_cursor_goto_last_child_wasm(this.tree[0]); unmarshalTreeCursor(this); return result === 1; } gotoFirstChildForIndex(goalIndex) { marshalTreeCursor(this); setValue(TRANSFER_BUFFER + SIZE_OF_CURSOR, goalIndex, "i32"); const result = C._ts_tree_cursor_goto_first_child_for_index_wasm(this.tree[0]); unmarshalTreeCursor(this); return result === 1; } gotoFirstChildForPosition(goalPosition) { marshalTreeCursor(this); marshalPoint(TRANSFER_BUFFER + SIZE_OF_CURSOR, goalPosition); const result = C._ts_tree_cursor_goto_first_child_for_position_wasm(this.tree[0]); unmarshalTreeCursor(this); return result === 1; } gotoNextSibling() { marshalTreeCursor(this); const result = C._ts_tree_cursor_goto_next_sibling_wasm(this.tree[0]); unmarshalTreeCursor(this); return result === 1; } gotoPreviousSibling() { marshalTreeCursor(this); const result = C._ts_tree_cursor_goto_previous_sibling_wasm(this.tree[0]); unmarshalTreeCursor(this); return result === 1; } gotoDescendant(goalDescendantindex) { marshalTreeCursor(this); C._ts_tree_cursor_goto_descendant_wasm(this.tree[0], goalDescendantindex); unmarshalTreeCursor(this); } gotoParent() { marshalTreeCursor(this); const result = C._ts_tree_cursor_goto_parent_wasm(this.tree[0]); unmarshalTreeCursor(this); return result === 1; } } class Language { constructor(internal, address) { assertInternal(internal); this[0] = address; this.types = new Array(C._ts_language_symbol_count(this[0])); for (let i = 0, n = this.types.length; i < n; i++) { if (C._ts_language_symbol_type(this[0], i) < 2) { this.types[i] = UTF8ToString(C._ts_language_symbol_name(this[0], i)); } } this.fields = new Array(C._ts_language_field_count(this[0]) + 1); for (let i = 0, n = this.fields.length; i < n; i++) { const fieldName = C._ts_language_field_name_for_id(this[0], i); if (fieldName !== 0) { this.fields[i] = UTF8ToString(fieldName); } else { this.fields[i] = null; } } } get version() { return C._ts_language_version(this[0]); } get fieldCount() { return this.fields.length - 1; } get stateCount() { return C._ts_language_state_count(this[0]); } fieldIdForName(fieldName) { const result = this.fields.indexOf(fieldName); if (result !== -1) { return result; } else { return null; } } fieldNameForId(fieldId) { return this.fields[fieldId] || null; } idForNodeType(type, named) { const typeLength = lengthBytesUTF8(type); const typeAddress = C._malloc(typeLength + 1); stringToUTF8(type, typeAddress, typeLength + 1); const result = C._ts_language_symbol_for_name(this[0], typeAddress, typeLength, named); C._free(typeAddress); return result || null; } get nodeTypeCount() { return C._ts_language_symbol_count(this[0]); } nodeTypeForId(typeId) { const name = C._ts_language_symbol_name(this[0], typeId); return name ? UTF8ToString(name) : null; } nodeTypeIsNamed(typeId) { return C._ts_language_type_is_named_wasm(this[0], typeId) ? true : false; } nodeTypeIsVisible(typeId) { return C._ts_language_type_is_visible_wasm(this[0], typeId) ? true : false; } nextState(stateId, typeId) { return C._ts_language_next_state(this[0], stateId, typeId); } lookaheadIterator(stateId) { const address = C._ts_lookahead_iterator_new(this[0], stateId); if (address) return new LookaheadIterable(INTERNAL, address, this); return null; } query(source) { const sourceLength = lengthBytesUTF8(source); const sourceAddress = C._malloc(sourceLength + 1); stringToUTF8(source, sourceAddress, sourceLength + 1); const address = C._ts_query_new(this[0], sourceAddress, sourceLength, TRANSFER_BUFFER, TRANSFER_BUFFER + SIZE_OF_INT); if (!address) { const errorId = getValue(TRANSFER_BUFFER + SIZE_OF_INT, "i32"); const errorByte = getValue(TRANSFER_BUFFER, "i32"); const errorIndex = UTF8ToString(sourceAddress, errorByte).length; const suffix = source.substr(errorIndex, 100).split("\n")[0]; let word = suffix.match(QUERY_WORD_REGEX)[0]; let error; switch (errorId) { case 2: error = new RangeError(`Bad node name '${word}'`); break; case 3: error = new RangeError(`Bad field name '${word}'`); break; case 4: error = new RangeError(`Bad capture name @${word}`); break; case 5: error = new TypeError(`Bad pattern structure at offset ${errorIndex}: '${suffix}'...`); word = ""; break; default: error = new SyntaxError(`Bad syntax at offset ${errorIndex}: '${suffix}'...`); word = ""; break; } error.index = errorIndex; error.length = word.length; C._free(sourceAddress); throw error; } const stringCount = C._ts_query_string_count(address); const captureCount = C._ts_query_capture_count(address); const patternCount = C._ts_query_pattern_count(address); const captureNames = new Array(captureCount); const stringValues = new Array(stringCount); for (let i = 0; i < captureCount; i++) { const nameAddress = C._ts_query_capture_name_for_id(address, i, TRANSFER_BUFFER); const nameLength = getValue(TRANSFER_BUFFER, "i32"); captureNames[i] = UTF8ToString(nameAddress, nameLength); } for (let i = 0; i < stringCount; i++) { const valueAddress = C._ts_query_string_value_for_id(address, i, TRANSFER_BUFFER); const nameLength = getValue(TRANSFER_BUFFER, "i32"); stringValues[i] = UTF8ToString(valueAddress, nameLength); } const setProperties = new Array(patternCount); const assertedProperties = new Array(patternCount); const refutedProperties = new Array(patternCount); const predicates = new Array(patternCount); const textPredicates = new Array(patternCount); for (let i = 0; i < patternCount; i++) { const predicatesAddress = C._ts_query_predicates_for_pattern(address, i, TRANSFER_BUFFER); const stepCount = getValue(TRANSFER_BUFFER, "i32"); predicates[i] = []; textPredicates[i] = []; const steps = []; let stepAddress = predicatesAddress; for (let j = 0; j < stepCount; j++) { const stepType = getValue(stepAddress, "i32"); stepAddress += SIZE_OF_INT; const stepValueId = getValue(stepAddress, "i32"); stepAddress += SIZE_OF_INT; if (stepType === PREDICATE_STEP_TYPE_CAPTURE) { steps.push({ type: "capture", name: captureNames[stepValueId] }); } else if (stepType === PREDICATE_STEP_TYPE_STRING) { steps.push({ type: "string", value: stringValues[stepValueId] }); } else if (steps.length > 0) { if (steps[0].type !== "string") { throw new Error("Predicates must begin with a literal value"); } const operator = steps[0].value; let isPositive = true; let matchAll = true; let captureName; switch (operator) { case "any-not-eq?": case "not-eq?": isPositive = false; case "any-eq?": case "eq?": if (steps.length !== 3) { throw new Error(`Wrong number of arguments to \`#${operator}\` predicate. Expected 2, got ${steps.length - 1}`); } if (steps[1].type !== "capture") { throw new Error(`First argument of \`#${operator}\` predicate must be a capture. Got "${steps[1].value}"`); } matchAll = !operator.startsWith("any-"); if (steps[2].type === "capture") { const captureName1 = steps[1].name; const captureName2 = steps[2].name; textPredicates[i].push(captures => { const nodes1 = []; const nodes2 = []; for (const c of captures) { if (c.name === captureName1) nodes1.push(c.node); if (c.name === captureName2) nodes2.push(c.node); } const compare = (n1, n2, positive) => positive ? n1.text === n2.text : n1.text !== n2.text; return matchAll ? nodes1.every(n1 => nodes2.some(n2 => compare(n1, n2, isPositive))) : nodes1.some(n1 => nodes2.some(n2 => compare(n1, n2, isPositive))); }); } else { captureName = steps[1].name; const stringValue = steps[2].value; const matches = n => n.text === stringValue; const doesNotMatch = n => n.text !== stringValue; textPredicates[i].push(captures => { const nodes = []; for (const c of captures) { if (c.name === captureName) nodes.push(c.node); } const test = isPositive ? matches : doesNotMatch; return matchAll ? nodes.every(test) : nodes.some(test); }); } break; case "any-not-match?": case "not-match?": isPositive = false; case "any-match?": case "match?": if (steps.length !== 3) { throw new Error(`Wrong number of arguments to \`#${operator}\` predicate. Expected 2, got ${steps.length - 1}.`); } if (steps[1].type !== "capture") { throw new Error(`First argument of \`#${operator}\` predicate must be a capture. Got "${steps[1].value}".`); } if (steps[2].type !== "string") { throw new Error(`Second argument of \`#${operator}\` predicate must be a string. Got @${steps[2].value}.`); } captureName = steps[1].name; const regex = new RegExp(steps[2].value); matchAll = !operator.startsWith("any-"); textPredicates[i].push(captures => { const nodes = []; for (const c of captures) { if (c.name === captureName) nodes.push(c.node.text); } const test = (text, positive) => positive ? regex.test(text) : !regex.test(text); if (nodes.length === 0) return !isPositive; return matchAll ? nodes.every(text => test(text, isPositive)) : nodes.some(text => test(text, isPositive)); }); break; case "set!": if (steps.length < 2 || steps.length > 3) { throw new Error(`Wrong number of arguments to \`#set!\` predicate. Expected 1 or 2. Got ${steps.length - 1}.`); } if (steps.some(s => s.type !== "string")) { throw new Error(`Arguments to \`#set!\` predicate must be a strings.".`); } if (!setProperties[i]) setProperties[i] = {}; setProperties[i][steps[1].value] = steps[2] ? steps[2].value : null; break; case "is?": case "is-not?": if (steps.length < 2 || steps.length > 3) { throw new Error(`Wrong number of arguments to \`#${operator}\` predicate. Expected 1 or 2. Got ${steps.length - 1}.`); } if (steps.some(s => s.type !== "string")) { throw new Error(`Arguments to \`#${operator}\` predicate must be a strings.".`); } const properties = operator === "is?" ? assertedProperties : refutedProperties; if (!properties[i]) properties[i] = {}; properties[i][steps[1].value] = steps[2] ? steps[2].value : null; break; case "not-any-of?": isPositive = false; case "any-of?": if (steps.length < 2) { throw new Error(`Wrong number of arguments to \`#${operator}\` predicate. Expected at least 1. Got ${steps.length - 1}.`); } if (steps[1].type !== "capture") { throw new Error(`First argument of \`#${operator}\` predicate must be a capture. Got "${steps[1].value}".`); } for (let i = 2; i < steps.length; i++) { if (steps[i].type !== "string") { throw new Error(`Arguments to \`#${operator}\` predicate must be a strings.".`); } } captureName = steps[1].name; const values = steps.slice(2).map(s => s.value); textPredicates[i].push(captures => { const nodes = []; for (const c of captures) { if (c.name === captureName) nodes.push(c.node.text); } if (nodes.length === 0) return !isPositive; return nodes.every(text => values.includes(text)) === isPositive; }); break; default: predicates[i].push({ operator: operator, operands: steps.slice(1) }); } steps.length = 0; } } Object.freeze(setProperties[i]); Object.freeze(assertedProperties[i]); Object.freeze(refutedProperties[i]); } C._free(sourceAddress); return new Query(INTERNAL, address, captureNames, textPredicates, predicates, Object.freeze(setProperties), Object.freeze(assertedProperties), Object.freeze(refutedProperties)); } static load(input) { let bytes; if (input instanceof Uint8Array) { bytes = Promise.resolve(input); } else { const url = input; if (typeof process !== "undefined" && process.versions && process.versions.node) { const fs = __webpack_require__(83078); bytes = Promise.resolve(fs.readFileSync(url)); } else { bytes = fetch(url).then(response => response.arrayBuffer().then(buffer => { if (response.ok) { return new Uint8Array(buffer); } else { const body = new TextDecoder("utf-8").decode(buffer); throw new Error(`Language.load failed with status ${response.status}.\n\n${body}`); } })); } } return bytes.then(bytes => loadWebAssemblyModule(bytes, { loadAsync: true })).then(mod => { const symbolNames = Object.keys(mod); const functionName = symbolNames.find(key => LANGUAGE_FUNCTION_REGEX.test(key) && !key.includes("external_scanner_")); if (!functionName) { console.log(`Couldn't find language function in WASM file. Symbols:\n${JSON.stringify(symbolNames, null, 2)}`); } const languageAddress = mod[functionName](); return new Language(INTERNAL, languageAddress); }); } } class LookaheadIterable { constructor(internal, address, language) { assertInternal(internal); this[0] = address; this.language = language; } get currentTypeId() { return C._ts_lookahead_iterator_current_symbol(this[0]); } get currentType() { return this.language.types[this.currentTypeId] || "ERROR"; } delete() { C._ts_lookahead_iterator_delete(this[0]); this[0] = 0; } resetState(stateId) { return C._ts_lookahead_iterator_reset_state(this[0], stateId); } reset(language, stateId) { if (C._ts_lookahead_iterator_reset(this[0], language[0], stateId)) { this.language = language; return true; } return false; } [Symbol.iterator]() { const self = this; return { next() { if (C._ts_lookahead_iterator_next(self[0])) { return { done: false, value: self.currentType }; } return { done: true, value: "" }; } }; } } class Query { constructor(internal, address, captureNames, textPredicates, predicates, setProperties, assertedProperties, refutedProperties) { assertInternal(internal); this[0] = address; this.captureNames = captureNames; this.textPredicates = textPredicates; this.predicates = predicates; this.setProperties = setProperties; this.assertedProperties = assertedProperties; this.refutedProperties = refutedProperties; this.exceededMatchLimit = false; } delete() { C._ts_query_delete(this[0]); this[0] = 0; } matches(node, {startPosition: startPosition = ZERO_POINT, endPosition: endPosition = ZERO_POINT, startIndex: startIndex = 0, endIndex: endIndex = 0, matchLimit: matchLimit = 4294967295, maxStartDepth: maxStartDepth = 4294967295, timeoutMicros: timeoutMicros = 0} = {}) { if (typeof matchLimit !== "number") { throw new Error("Arguments must be numbers"); } marshalNode(node); C._ts_query_matches_wasm(this[0], node.tree[0], startPosition.row, startPosition.column, endPosition.row, endPosition.column, startIndex, endIndex, matchLimit, maxStartDepth, timeoutMicros); const rawCount = getValue(TRANSFER_BUFFER, "i32"); const startAddress = getValue(TRANSFER_BUFFER + SIZE_OF_INT, "i32"); const didExceedMatchLimit = getValue(TRANSFER_BUFFER + 2 * SIZE_OF_INT, "i32"); const result = new Array(rawCount); this.exceededMatchLimit = Boolean(didExceedMatchLimit); let filteredCount = 0; let address = startAddress; for (let i = 0; i < rawCount; i++) { const pattern = getValue(address, "i32"); address += SIZE_OF_INT; const captureCount = getValue(address, "i32"); address += SIZE_OF_INT; const captures = new Array(captureCount); address = unmarshalCaptures(this, node.tree, address, captures); if (this.textPredicates[pattern].every(p => p(captures))) { result[filteredCount] = { pattern: pattern, captures: captures }; const setProperties = this.setProperties[pattern]; if (setProperties) result[filteredCount].setProperties = setProperties; const assertedProperties = this.assertedProperties[pattern]; if (assertedProperties) result[filteredCount].assertedProperties = assertedProperties; const refutedProperties = this.refutedProperties[pattern]; if (refutedProperties) result[filteredCount].refutedProperties = refutedProperties; filteredCount++; } } result.length = filteredCount; C._free(startAddress); return result; } captures(node, {startPosition: startPosition = ZERO_POINT, endPosition: endPosition = ZERO_POINT, startIndex: startIndex = 0, endIndex: endIndex = 0, matchLimit: matchLimit = 4294967295, maxStartDepth: maxStartDepth = 4294967295, timeoutMicros: timeoutMicros = 0} = {}) { if (typeof matchLimit !== "number") { throw new Error("Arguments must be numbers"); } marshalNode(node); C._ts_query_captures_wasm(this[0], node.tree[0], startPosition.row, startPosition.column, endPosition.row, endPosition.column, startIndex, endIndex, matchLimit, maxStartDepth, timeoutMicros); const count = getValue(TRANSFER_BUFFER, "i32"); const startAddress = getValue(TRANSFER_BUFFER + SIZE_OF_INT, "i32"); const didExceedMatchLimit = getValue(TRANSFER_BUFFER + 2 * SIZE_OF_INT, "i32"); const result = []; this.exceededMatchLimit = Boolean(didExceedMatchLimit); const captures = []; let address = startAddress; for (let i = 0; i < count; i++) { const pattern = getValue(address, "i32"); address += SIZE_OF_INT; const captureCount = getValue(address, "i32"); address += SIZE_OF_INT; const captureIndex = getValue(address, "i32"); address += SIZE_OF_INT; captures.length = captureCount; address = unmarshalCaptures(this, node.tree, address, captures); if (this.textPredicates[pattern].every(p => p(captures))) { const capture = captures[captureIndex]; const setProperties = this.setProperties[pattern]; if (setProperties) capture.setProperties = setProperties; const assertedProperties = this.assertedProperties[pattern]; if (assertedProperties) capture.assertedProperties = assertedProperties; const refutedProperties = this.refutedProperties[pattern]; if (refutedProperties) capture.refutedProperties = refutedProperties; result.push(capture); } } C._free(startAddress); return result; } predicatesForPattern(patternIndex) { return this.predicates[patternIndex]; } disableCapture(captureName) { const captureNameLength = lengthBytesUTF8(captureName); const captureNameAddress = C._malloc(captureNameLength + 1); stringToUTF8(captureName, captureNameAddress, captureNameLength + 1); C._ts_query_disable_capture(this[0], captureNameAddress, captureNameLength); C._free(captureNameAddress); } didExceedMatchLimit() { return this.exceededMatchLimit; } } function getText(tree, startIndex, endIndex) { const length = endIndex - startIndex; let result = tree.textCallback(startIndex, null, endIndex); startIndex += result.length; while (startIndex < endIndex) { const string = tree.textCallback(startIndex, null, endIndex); if (string && string.length > 0) { startIndex += string.length; result += string; } else { break; } } if (startIndex > endIndex) { result = result.slice(0, length); } return result; } function unmarshalCaptures(query, tree, address, result) { for (let i = 0, n = result.length; i < n; i++) { const captureIndex = getValue(address, "i32"); address += SIZE_OF_INT; const node = unmarshalNode(tree, address); address += SIZE_OF_NODE; result[i] = { name: query.captureNames[captureIndex], node: node }; } return address; } function assertInternal(x) { if (x !== INTERNAL) throw new Error("Illegal constructor"); } function isPoint(point) { return (point && typeof point.row === "number" && typeof point.column === "number"); } function marshalNode(node) { let address = TRANSFER_BUFFER; setValue(address, node.id, "i32"); address += SIZE_OF_INT; setValue(address, node.startIndex, "i32"); address += SIZE_OF_INT; setValue(address, node.startPosition.row, "i32"); address += SIZE_OF_INT; setValue(address, node.startPosition.column, "i32"); address += SIZE_OF_INT; setValue(address, node[0], "i32"); } function unmarshalNode(tree, address = TRANSFER_BUFFER) { const id = getValue(address, "i32"); address += SIZE_OF_INT; if (id === 0) return null; const index = getValue(address, "i32"); address += SIZE_OF_INT; const row = getValue(address, "i32"); address += SIZE_OF_INT; const column = getValue(address, "i32"); address += SIZE_OF_INT; const other = getValue(address, "i32"); const result = new Node(INTERNAL, tree); result.id = id; result.startIndex = index; result.startPosition = { row: row, column: column }; result[0] = other; return result; } function marshalTreeCursor(cursor, address = TRANSFER_BUFFER) { setValue(address + 0 * SIZE_OF_INT, cursor[0], "i32"); setValue(address + 1 * SIZE_OF_INT, cursor[1], "i32"); setValue(address + 2 * SIZE_OF_INT, cursor[2], "i32"); setValue(address + 3 * SIZE_OF_INT, cursor[3], "i32"); } function unmarshalTreeCursor(cursor) { cursor[0] = getValue(TRANSFER_BUFFER + 0 * SIZE_OF_INT, "i32"); cursor[1] = getValue(TRANSFER_BUFFER + 1 * SIZE_OF_INT, "i32"); cursor[2] = getValue(TRANSFER_BUFFER + 2 * SIZE_OF_INT, "i32"); cursor[3] = getValue(TRANSFER_BUFFER + 3 * SIZE_OF_INT, "i32"); } function marshalPoint(address, point) { setValue(address, point.row, "i32"); setValue(address + SIZE_OF_INT, point.column, "i32"); } function unmarshalPoint(address) { const result = { row: getValue(address, "i32") >>> 0, column: getValue(address + SIZE_OF_INT, "i32") >>> 0 }; return result; } function marshalRange(address, range) { marshalPoint(address, range.startPosition); address += SIZE_OF_POINT; marshalPoint(address, range.endPosition); address += SIZE_OF_POINT; setValue(address, range.startIndex, "i32"); address += SIZE_OF_INT; setValue(address, range.endIndex, "i32"); address += SIZE_OF_INT; } function unmarshalRange(address) { const result = {}; result.startPosition = unmarshalPoint(address); address += SIZE_OF_POINT; result.endPosition = unmarshalPoint(address); address += SIZE_OF_POINT; result.startIndex = getValue(address, "i32") >>> 0; address += SIZE_OF_INT; result.endIndex = getValue(address, "i32") >>> 0; return result; } function marshalEdit(edit) { let address = TRANSFER_BUFFER; marshalPoint(address, edit.startPosition); address += SIZE_OF_POINT; marshalPoint(address, edit.oldEndPosition); address += SIZE_OF_POINT; marshalPoint(address, edit.newEndPosition); address += SIZE_OF_POINT; setValue(address, edit.startIndex, "i32"); address += SIZE_OF_INT; setValue(address, edit.oldEndIndex, "i32"); address += SIZE_OF_INT; setValue(address, edit.newEndIndex, "i32"); address += SIZE_OF_INT; } // end include: /src/lib/binding_web/binding.js // include: /src/lib/binding_web/suffix.js for (const name of Object.getOwnPropertyNames(ParserImpl.prototype)) { Object.defineProperty(Parser.prototype, name, { value: ParserImpl.prototype[name], enumerable: false, writable: false }); } Parser.Language = Language; Module.onRuntimeInitialized = () => { ParserImpl.init(); resolveInitPromise(); }; }); } } return Parser; }(); if (true) { module.exports = TreeSitter; } /***/ }), /***/ 83078: /***/ (() => { /* (ignored) */ /***/ }), /***/ 84142: /***/ (() => { /* (ignored) */ /***/ }), /***/ 21212: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { module.exports = __webpack_require__(8411); /***/ }), /***/ 7202: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var parent = __webpack_require__(30239); module.exports = parent; /***/ }), /***/ 26656: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; __webpack_require__(70484); __webpack_require__(35695); __webpack_require__(26138); __webpack_require__(59828); __webpack_require__(73832); var path = __webpack_require__(68099); module.exports = path.AggregateError; /***/ }), /***/ 8411: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; module.exports = __webpack_require__(18337); /***/ }), /***/ 18337: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; // TODO: remove from `core-js@4` __webpack_require__(65442); var parent = __webpack_require__(7202); module.exports = parent; /***/ }), /***/ 70814: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var isCallable = __webpack_require__(52769); var tryToString = __webpack_require__(70459); var $TypeError = TypeError; // `Assert: IsCallable(argument) is true` module.exports = function (argument) { if (isCallable(argument)) return argument; throw new $TypeError(tryToString(argument) + ' is not a function'); }; /***/ }), /***/ 91966: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var isPossiblePrototype = __webpack_require__(42937); var $String = String; var $TypeError = TypeError; module.exports = function (argument) { if (isPossiblePrototype(argument)) return argument; throw new $TypeError("Can't set " + $String(argument) + ' as a prototype'); }; /***/ }), /***/ 68137: /***/ ((module) => { "use strict"; module.exports = function () { /* empty */ }; /***/ }), /***/ 47235: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var isObject = __webpack_require__(90262); var $String = String; var $TypeError = TypeError; // `Assert: Type(argument) is Object` module.exports = function (argument) { if (isObject(argument)) return argument; throw new $TypeError($String(argument) + ' is not an object'); }; /***/ }), /***/ 61005: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var toIndexedObject = __webpack_require__(83273); var toAbsoluteIndex = __webpack_require__(44574); var lengthOfArrayLike = __webpack_require__(48130); // `Array.prototype.{ indexOf, includes }` methods implementation var createMethod = function (IS_INCLUDES) { return function ($this, el, fromIndex) { var O = toIndexedObject($this); var length = lengthOfArrayLike(O); if (length === 0) return !IS_INCLUDES && -1; var index = toAbsoluteIndex(fromIndex, length); var value; // Array#includes uses SameValueZero equality algorithm // eslint-disable-next-line no-self-compare -- NaN check if (IS_INCLUDES && el !== el) while (length > index) { value = O[index++]; // eslint-disable-next-line no-self-compare -- NaN check if (value !== value) return true; // Array#indexOf ignores holes, Array#includes - not } else for (;length > index; index++) { if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0; } return !IS_INCLUDES && -1; }; }; module.exports = { // `Array.prototype.includes` method // https://tc39.es/ecma262/#sec-array.prototype.includes includes: createMethod(true), // `Array.prototype.indexOf` method // https://tc39.es/ecma262/#sec-array.prototype.indexof indexOf: createMethod(false) }; /***/ }), /***/ 89932: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var uncurryThis = __webpack_require__(46100); var toString = uncurryThis({}.toString); var stringSlice = uncurryThis(''.slice); module.exports = function (it) { return stringSlice(toString(it), 8, -1); }; /***/ }), /***/ 98407: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var TO_STRING_TAG_SUPPORT = __webpack_require__(84904); var isCallable = __webpack_require__(52769); var classofRaw = __webpack_require__(89932); var wellKnownSymbol = __webpack_require__(38655); var TO_STRING_TAG = wellKnownSymbol('toStringTag'); var $Object = Object; // ES3 wrong here var CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) === 'Arguments'; // fallback for IE11 Script Access Denied error var tryGet = function (it, key) { try { return it[key]; } catch (error) { /* empty */ } }; // getting tag from ES6+ `Object.prototype.toString` module.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) { var O, tag, result; return it === undefined ? 'Undefined' : it === null ? 'Null' // @@toStringTag case : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag // builtinTag case : CORRECT_ARGUMENTS ? classofRaw(O) // ES3 arguments fallback : (result = classofRaw(O)) === 'Object' && isCallable(O.callee) ? 'Arguments' : result; }; /***/ }), /***/ 47464: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var hasOwn = __webpack_require__(70701); var ownKeys = __webpack_require__(35691); var getOwnPropertyDescriptorModule = __webpack_require__(94543); var definePropertyModule = __webpack_require__(79989); module.exports = function (target, source, exceptions) { var keys = ownKeys(source); var defineProperty = definePropertyModule.f; var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f; for (var i = 0; i < keys.length; i++) { var key = keys[i]; if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) { defineProperty(target, key, getOwnPropertyDescriptor(source, key)); } } }; /***/ }), /***/ 2871: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var fails = __webpack_require__(61203); module.exports = !fails(function () { function F() { /* empty */ } F.prototype.constructor = null; // eslint-disable-next-line es/no-object-getprototypeof -- required for testing return Object.getPrototypeOf(new F()) !== F.prototype; }); /***/ }), /***/ 40877: /***/ ((module) => { "use strict"; // `CreateIterResultObject` abstract operation // https://tc39.es/ecma262/#sec-createiterresultobject module.exports = function (value, done) { return { value: value, done: done }; }; /***/ }), /***/ 73999: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var DESCRIPTORS = __webpack_require__(5024); var definePropertyModule = __webpack_require__(79989); var createPropertyDescriptor = __webpack_require__(70480); module.exports = DESCRIPTORS ? function (object, key, value) { return definePropertyModule.f(object, key, createPropertyDescriptor(1, value)); } : function (object, key, value) { object[key] = value; return object; }; /***/ }), /***/ 70480: /***/ ((module) => { "use strict"; module.exports = function (bitmap, value) { return { enumerable: !(bitmap & 1), configurable: !(bitmap & 2), writable: !(bitmap & 4), value: value }; }; /***/ }), /***/ 63508: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var createNonEnumerableProperty = __webpack_require__(73999); module.exports = function (target, key, value, options) { if (options && options.enumerable) target[key] = value; else createNonEnumerableProperty(target, key, value); return target; }; /***/ }), /***/ 57525: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var globalThis = __webpack_require__(58900); // eslint-disable-next-line es/no-object-defineproperty -- safe var defineProperty = Object.defineProperty; module.exports = function (key, value) { try { defineProperty(globalThis, key, { value: value, configurable: true, writable: true }); } catch (error) { globalThis[key] = value; } return value; }; /***/ }), /***/ 5024: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var fails = __webpack_require__(61203); // Detect IE8's incomplete defineProperty implementation module.exports = !fails(function () { // eslint-disable-next-line es/no-object-defineproperty -- required for testing return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] !== 7; }); /***/ }), /***/ 59619: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var globalThis = __webpack_require__(58900); var isObject = __webpack_require__(90262); var document = globalThis.document; // typeof document.createElement is 'object' in old IE var EXISTS = isObject(document) && isObject(document.createElement); module.exports = function (it) { return EXISTS ? document.createElement(it) : {}; }; /***/ }), /***/ 1100: /***/ ((module) => { "use strict"; // iterable DOM collections // flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods module.exports = { CSSRuleList: 0, CSSStyleDeclaration: 0, CSSValueList: 0, ClientRectList: 0, DOMRectList: 0, DOMStringList: 0, DOMTokenList: 1, DataTransferItemList: 0, FileList: 0, HTMLAllCollection: 0, HTMLCollection: 0, HTMLFormElement: 0, HTMLSelectElement: 0, MediaList: 0, MimeTypeArray: 0, NamedNodeMap: 0, NodeList: 1, PaintRequestList: 0, Plugin: 0, PluginArray: 0, SVGLengthList: 0, SVGNumberList: 0, SVGPathSegList: 0, SVGPointList: 0, SVGStringList: 0, SVGTransformList: 0, SourceBufferList: 0, StyleSheetList: 0, TextTrackCueList: 0, TextTrackList: 0, TouchList: 0 }; /***/ }), /***/ 79683: /***/ ((module) => { "use strict"; // IE8- don't enum bug keys module.exports = [ 'constructor', 'hasOwnProperty', 'isPrototypeOf', 'propertyIsEnumerable', 'toLocaleString', 'toString', 'valueOf' ]; /***/ }), /***/ 83531: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var globalThis = __webpack_require__(58900); var navigator = globalThis.navigator; var userAgent = navigator && navigator.userAgent; module.exports = userAgent ? String(userAgent) : ''; /***/ }), /***/ 5547: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var globalThis = __webpack_require__(58900); var userAgent = __webpack_require__(83531); var process = globalThis.process; var Deno = globalThis.Deno; var versions = process && process.versions || Deno && Deno.version; var v8 = versions && versions.v8; var match, version; if (v8) { match = v8.split('.'); // in old Chrome, versions of V8 isn't V8 = Chrome / 10 // but their correct versions are not interesting for us version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]); } // BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0` // so check `userAgent` even if `.v8` exists, but 0 if (!version && userAgent) { match = userAgent.match(/Edge\/(\d+)/); if (!match || match[1] >= 74) { match = userAgent.match(/Chrome\/(\d+)/); if (match) version = +match[1]; } } module.exports = version; /***/ }), /***/ 13885: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var uncurryThis = __webpack_require__(46100); var $Error = Error; var replace = uncurryThis(''.replace); var TEST = (function (arg) { return String(new $Error(arg).stack); })('zxcasd'); // eslint-disable-next-line redos/no-vulnerable, sonarjs/slow-regex -- safe var V8_OR_CHAKRA_STACK_ENTRY = /\n\s*at [^:]*:[^\n]*/; var IS_V8_OR_CHAKRA_STACK = V8_OR_CHAKRA_STACK_ENTRY.test(TEST); module.exports = function (stack, dropEntries) { if (IS_V8_OR_CHAKRA_STACK && typeof stack == 'string' && !$Error.prepareStackTrace) { while (dropEntries--) stack = replace(stack, V8_OR_CHAKRA_STACK_ENTRY, ''); } return stack; }; /***/ }), /***/ 44279: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var createNonEnumerableProperty = __webpack_require__(73999); var clearErrorStack = __webpack_require__(13885); var ERROR_STACK_INSTALLABLE = __webpack_require__(35791); // non-standard V8 var captureStackTrace = Error.captureStackTrace; module.exports = function (error, C, stack, dropEntries) { if (ERROR_STACK_INSTALLABLE) { if (captureStackTrace) captureStackTrace(error, C); else createNonEnumerableProperty(error, 'stack', clearErrorStack(stack, dropEntries)); } }; /***/ }), /***/ 35791: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var fails = __webpack_require__(61203); var createPropertyDescriptor = __webpack_require__(70480); module.exports = !fails(function () { var error = new Error('a'); if (!('stack' in error)) return true; // eslint-disable-next-line es/no-object-defineproperty -- safe Object.defineProperty(error, 'stack', createPropertyDescriptor(1, 7)); return error.stack !== 7; }); /***/ }), /***/ 9098: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var globalThis = __webpack_require__(58900); var apply = __webpack_require__(57013); var uncurryThis = __webpack_require__(9344); var isCallable = __webpack_require__(52769); var getOwnPropertyDescriptor = (__webpack_require__(94543).f); var isForced = __webpack_require__(58696); var path = __webpack_require__(68099); var bind = __webpack_require__(94572); var createNonEnumerableProperty = __webpack_require__(73999); var hasOwn = __webpack_require__(70701); // add debugging info __webpack_require__(33753); var wrapConstructor = function (NativeConstructor) { var Wrapper = function (a, b, c) { if (this instanceof Wrapper) { switch (arguments.length) { case 0: return new NativeConstructor(); case 1: return new NativeConstructor(a); case 2: return new NativeConstructor(a, b); } return new NativeConstructor(a, b, c); } return apply(NativeConstructor, this, arguments); }; Wrapper.prototype = NativeConstructor.prototype; return Wrapper; }; /* options.target - name of the target object options.global - target is the global object options.stat - export as static methods of target options.proto - export as prototype methods of target options.real - real prototype method for the `pure` version options.forced - export even if the native feature is available options.bind - bind methods to the target, required for the `pure` version options.wrap - wrap constructors to preventing global pollution, required for the `pure` version options.unsafe - use the simple assignment of property instead of delete + defineProperty options.sham - add a flag to not completely full polyfills options.enumerable - export as enumerable property options.dontCallGetSet - prevent calling a getter on target options.name - the .name of the function if it does not match the key */ module.exports = function (options, source) { var TARGET = options.target; var GLOBAL = options.global; var STATIC = options.stat; var PROTO = options.proto; var nativeSource = GLOBAL ? globalThis : STATIC ? globalThis[TARGET] : globalThis[TARGET] && globalThis[TARGET].prototype; var target = GLOBAL ? path : path[TARGET] || createNonEnumerableProperty(path, TARGET, {})[TARGET]; var targetPrototype = target.prototype; var FORCED, USE_NATIVE, VIRTUAL_PROTOTYPE; var key, sourceProperty, targetProperty, nativeProperty, resultProperty, descriptor; for (key in source) { FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced); // contains in native USE_NATIVE = !FORCED && nativeSource && hasOwn(nativeSource, key); targetProperty = target[key]; if (USE_NATIVE) if (options.dontCallGetSet) { descriptor = getOwnPropertyDescriptor(nativeSource, key); nativeProperty = descriptor && descriptor.value; } else nativeProperty = nativeSource[key]; // export native or implementation sourceProperty = (USE_NATIVE && nativeProperty) ? nativeProperty : source[key]; if (!FORCED && !PROTO && typeof targetProperty == typeof sourceProperty) continue; // bind methods to global for calling from export context if (options.bind && USE_NATIVE) resultProperty = bind(sourceProperty, globalThis); // wrap global constructors for prevent changes in this version else if (options.wrap && USE_NATIVE) resultProperty = wrapConstructor(sourceProperty); // make static versions for prototype methods else if (PROTO && isCallable(sourceProperty)) resultProperty = uncurryThis(sourceProperty); // default case else resultProperty = sourceProperty; // add a flag to not completely full polyfills if (options.sham || (sourceProperty && sourceProperty.sham) || (targetProperty && targetProperty.sham)) { createNonEnumerableProperty(resultProperty, 'sham', true); } createNonEnumerableProperty(target, key, resultProperty); if (PROTO) { VIRTUAL_PROTOTYPE = TARGET + 'Prototype'; if (!hasOwn(path, VIRTUAL_PROTOTYPE)) { createNonEnumerableProperty(path, VIRTUAL_PROTOTYPE, {}); } // export virtual prototype methods createNonEnumerableProperty(path[VIRTUAL_PROTOTYPE], key, sourceProperty); // export real prototype methods if (options.real && targetPrototype && (FORCED || !targetPrototype[key])) { createNonEnumerableProperty(targetPrototype, key, sourceProperty); } } } }; /***/ }), /***/ 61203: /***/ ((module) => { "use strict"; module.exports = function (exec) { try { return !!exec(); } catch (error) { return true; } }; /***/ }), /***/ 57013: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var NATIVE_BIND = __webpack_require__(41780); var FunctionPrototype = Function.prototype; var apply = FunctionPrototype.apply; var call = FunctionPrototype.call; // eslint-disable-next-line es/no-reflect -- safe module.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () { return call.apply(apply, arguments); }); /***/ }), /***/ 94572: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var uncurryThis = __webpack_require__(9344); var aCallable = __webpack_require__(70814); var NATIVE_BIND = __webpack_require__(41780); var bind = uncurryThis(uncurryThis.bind); // optional / simple context binding module.exports = function (fn, that) { aCallable(fn); return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) { return fn.apply(that, arguments); }; }; /***/ }), /***/ 41780: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var fails = __webpack_require__(61203); module.exports = !fails(function () { // eslint-disable-next-line es/no-function-prototype-bind -- safe var test = (function () { /* empty */ }).bind(); // eslint-disable-next-line no-prototype-builtins -- safe return typeof test != 'function' || test.hasOwnProperty('prototype'); }); /***/ }), /***/ 54713: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var NATIVE_BIND = __webpack_require__(41780); var call = Function.prototype.call; module.exports = NATIVE_BIND ? call.bind(call) : function () { return call.apply(call, arguments); }; /***/ }), /***/ 3410: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var DESCRIPTORS = __webpack_require__(5024); var hasOwn = __webpack_require__(70701); var FunctionPrototype = Function.prototype; // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe var getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor; var EXISTS = hasOwn(FunctionPrototype, 'name'); // additional protection from minified / mangled / dropped function names var PROPER = EXISTS && (function something() { /* empty */ }).name === 'something'; var CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable)); module.exports = { EXISTS: EXISTS, PROPER: PROPER, CONFIGURABLE: CONFIGURABLE }; /***/ }), /***/ 33574: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var uncurryThis = __webpack_require__(46100); var aCallable = __webpack_require__(70814); module.exports = function (object, key, method) { try { // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe return uncurryThis(aCallable(Object.getOwnPropertyDescriptor(object, key)[method])); } catch (error) { /* empty */ } }; /***/ }), /***/ 9344: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var classofRaw = __webpack_require__(89932); var uncurryThis = __webpack_require__(46100); module.exports = function (fn) { // Nashorn bug: // https://github.com/zloirock/core-js/issues/1128 // https://github.com/zloirock/core-js/issues/1130 if (classofRaw(fn) === 'Function') return uncurryThis(fn); }; /***/ }), /***/ 46100: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var NATIVE_BIND = __webpack_require__(41780); var FunctionPrototype = Function.prototype; var call = FunctionPrototype.call; var uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call); module.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) { return function () { return call.apply(fn, arguments); }; }; /***/ }), /***/ 21003: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var path = __webpack_require__(68099); var globalThis = __webpack_require__(58900); var isCallable = __webpack_require__(52769); var aFunction = function (variable) { return isCallable(variable) ? variable : undefined; }; module.exports = function (namespace, method) { return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(globalThis[namespace]) : path[namespace] && path[namespace][method] || globalThis[namespace] && globalThis[namespace][method]; }; /***/ }), /***/ 20967: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var classof = __webpack_require__(98407); var getMethod = __webpack_require__(14674); var isNullOrUndefined = __webpack_require__(83057); var Iterators = __webpack_require__(86625); var wellKnownSymbol = __webpack_require__(38655); var ITERATOR = wellKnownSymbol('iterator'); module.exports = function (it) { if (!isNullOrUndefined(it)) return getMethod(it, ITERATOR) || getMethod(it, '@@iterator') || Iterators[classof(it)]; }; /***/ }), /***/ 91613: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var call = __webpack_require__(54713); var aCallable = __webpack_require__(70814); var anObject = __webpack_require__(47235); var tryToString = __webpack_require__(70459); var getIteratorMethod = __webpack_require__(20967); var $TypeError = TypeError; module.exports = function (argument, usingIterator) { var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator; if (aCallable(iteratorMethod)) return anObject(call(iteratorMethod, argument)); throw new $TypeError(tryToString(argument) + ' is not iterable'); }; /***/ }), /***/ 14674: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var aCallable = __webpack_require__(70814); var isNullOrUndefined = __webpack_require__(83057); // `GetMethod` abstract operation // https://tc39.es/ecma262/#sec-getmethod module.exports = function (V, P) { var func = V[P]; return isNullOrUndefined(func) ? undefined : aCallable(func); }; /***/ }), /***/ 58900: /***/ (function(module, __unused_webpack_exports, __webpack_require__) { "use strict"; var check = function (it) { return it && it.Math === Math && it; }; // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 module.exports = // eslint-disable-next-line es/no-global-this -- safe check(typeof globalThis == 'object' && globalThis) || check(typeof window == 'object' && window) || // eslint-disable-next-line no-restricted-globals -- safe check(typeof self == 'object' && self) || check(typeof __webpack_require__.g == 'object' && __webpack_require__.g) || check(typeof this == 'object' && this) || // eslint-disable-next-line no-new-func -- fallback (function () { return this; })() || Function('return this')(); /***/ }), /***/ 70701: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var uncurryThis = __webpack_require__(46100); var toObject = __webpack_require__(92137); var hasOwnProperty = uncurryThis({}.hasOwnProperty); // `HasOwnProperty` abstract operation // https://tc39.es/ecma262/#sec-hasownproperty // eslint-disable-next-line es/no-object-hasown -- safe module.exports = Object.hasOwn || function hasOwn(it, key) { return hasOwnProperty(toObject(it), key); }; /***/ }), /***/ 95241: /***/ ((module) => { "use strict"; module.exports = {}; /***/ }), /***/ 23489: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var getBuiltIn = __webpack_require__(21003); module.exports = getBuiltIn('document', 'documentElement'); /***/ }), /***/ 49665: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var DESCRIPTORS = __webpack_require__(5024); var fails = __webpack_require__(61203); var createElement = __webpack_require__(59619); // Thanks to IE8 for its funny defineProperty module.exports = !DESCRIPTORS && !fails(function () { // eslint-disable-next-line es/no-object-defineproperty -- required for testing return Object.defineProperty(createElement('div'), 'a', { get: function () { return 7; } }).a !== 7; }); /***/ }), /***/ 41395: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var uncurryThis = __webpack_require__(46100); var fails = __webpack_require__(61203); var classof = __webpack_require__(89932); var $Object = Object; var split = uncurryThis(''.split); // fallback for non-array-like ES3 and non-enumerable old V8 strings module.exports = fails(function () { // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346 // eslint-disable-next-line no-prototype-builtins -- safe return !$Object('z').propertyIsEnumerable(0); }) ? function (it) { return classof(it) === 'String' ? split(it, '') : $Object(it); } : $Object; /***/ }), /***/ 43507: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var isCallable = __webpack_require__(52769); var isObject = __webpack_require__(90262); var setPrototypeOf = __webpack_require__(3491); // makes subclassing work correct for wrapped built-ins module.exports = function ($this, dummy, Wrapper) { var NewTarget, NewTargetPrototype; if ( // it can work only with native `setPrototypeOf` setPrototypeOf && // we haven't completely correct pre-ES6 way for getting `new.target`, so use this isCallable(NewTarget = dummy.constructor) && NewTarget !== Wrapper && isObject(NewTargetPrototype = NewTarget.prototype) && NewTargetPrototype !== Wrapper.prototype ) setPrototypeOf($this, NewTargetPrototype); return $this; }; /***/ }), /***/ 98148: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var isObject = __webpack_require__(90262); var createNonEnumerableProperty = __webpack_require__(73999); // `InstallErrorCause` abstract operation // https://tc39.es/proposal-error-cause/#sec-errorobjects-install-error-cause module.exports = function (O, options) { if (isObject(options) && 'cause' in options) { createNonEnumerableProperty(O, 'cause', options.cause); } }; /***/ }), /***/ 58417: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var NATIVE_WEAK_MAP = __webpack_require__(31314); var globalThis = __webpack_require__(58900); var isObject = __webpack_require__(90262); var createNonEnumerableProperty = __webpack_require__(73999); var hasOwn = __webpack_require__(70701); var shared = __webpack_require__(33753); var sharedKey = __webpack_require__(64275); var hiddenKeys = __webpack_require__(95241); var OBJECT_ALREADY_INITIALIZED = 'Object already initialized'; var TypeError = globalThis.TypeError; var WeakMap = globalThis.WeakMap; var set, get, has; var enforce = function (it) { return has(it) ? get(it) : set(it, {}); }; var getterFor = function (TYPE) { return function (it) { var state; if (!isObject(it) || (state = get(it)).type !== TYPE) { throw new TypeError('Incompatible receiver, ' + TYPE + ' required'); } return state; }; }; if (NATIVE_WEAK_MAP || shared.state) { var store = shared.state || (shared.state = new WeakMap()); /* eslint-disable no-self-assign -- prototype methods protection */ store.get = store.get; store.has = store.has; store.set = store.set; /* eslint-enable no-self-assign -- prototype methods protection */ set = function (it, metadata) { if (store.has(it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED); metadata.facade = it; store.set(it, metadata); return metadata; }; get = function (it) { return store.get(it) || {}; }; has = function (it) { return store.has(it); }; } else { var STATE = sharedKey('state'); hiddenKeys[STATE] = true; set = function (it, metadata) { if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED); metadata.facade = it; createNonEnumerableProperty(it, STATE, metadata); return metadata; }; get = function (it) { return hasOwn(it, STATE) ? it[STATE] : {}; }; has = function (it) { return hasOwn(it, STATE); }; } module.exports = { set: set, get: get, has: has, enforce: enforce, getterFor: getterFor }; /***/ }), /***/ 72877: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var wellKnownSymbol = __webpack_require__(38655); var Iterators = __webpack_require__(86625); var ITERATOR = wellKnownSymbol('iterator'); var ArrayPrototype = Array.prototype; // check on default Array iterator module.exports = function (it) { return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it); }; /***/ }), /***/ 52769: /***/ ((module) => { "use strict"; // https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot var documentAll = typeof document == 'object' && document.all; // `IsCallable` abstract operation // https://tc39.es/ecma262/#sec-iscallable // eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing module.exports = typeof documentAll == 'undefined' && documentAll !== undefined ? function (argument) { return typeof argument == 'function' || argument === documentAll; } : function (argument) { return typeof argument == 'function'; }; /***/ }), /***/ 58696: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var fails = __webpack_require__(61203); var isCallable = __webpack_require__(52769); var replacement = /#|\.prototype\./; var isForced = function (feature, detection) { var value = data[normalize(feature)]; return value === POLYFILL ? true : value === NATIVE ? false : isCallable(detection) ? fails(detection) : !!detection; }; var normalize = isForced.normalize = function (string) { return String(string).replace(replacement, '.').toLowerCase(); }; var data = isForced.data = {}; var NATIVE = isForced.NATIVE = 'N'; var POLYFILL = isForced.POLYFILL = 'P'; module.exports = isForced; /***/ }), /***/ 83057: /***/ ((module) => { "use strict"; // we can't use just `it == null` since of `document.all` special case // https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec module.exports = function (it) { return it === null || it === undefined; }; /***/ }), /***/ 90262: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var isCallable = __webpack_require__(52769); module.exports = function (it) { return typeof it == 'object' ? it !== null : isCallable(it); }; /***/ }), /***/ 42937: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var isObject = __webpack_require__(90262); module.exports = function (argument) { return isObject(argument) || argument === null; }; /***/ }), /***/ 64871: /***/ ((module) => { "use strict"; module.exports = true; /***/ }), /***/ 96281: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var getBuiltIn = __webpack_require__(21003); var isCallable = __webpack_require__(52769); var isPrototypeOf = __webpack_require__(54317); var USE_SYMBOL_AS_UID = __webpack_require__(57460); var $Object = Object; module.exports = USE_SYMBOL_AS_UID ? function (it) { return typeof it == 'symbol'; } : function (it) { var $Symbol = getBuiltIn('Symbol'); return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it)); }; /***/ }), /***/ 90208: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var bind = __webpack_require__(94572); var call = __webpack_require__(54713); var anObject = __webpack_require__(47235); var tryToString = __webpack_require__(70459); var isArrayIteratorMethod = __webpack_require__(72877); var lengthOfArrayLike = __webpack_require__(48130); var isPrototypeOf = __webpack_require__(54317); var getIterator = __webpack_require__(91613); var getIteratorMethod = __webpack_require__(20967); var iteratorClose = __webpack_require__(21743); var $TypeError = TypeError; var Result = function (stopped, result) { this.stopped = stopped; this.result = result; }; var ResultPrototype = Result.prototype; module.exports = function (iterable, unboundFunction, options) { var that = options && options.that; var AS_ENTRIES = !!(options && options.AS_ENTRIES); var IS_RECORD = !!(options && options.IS_RECORD); var IS_ITERATOR = !!(options && options.IS_ITERATOR); var INTERRUPTED = !!(options && options.INTERRUPTED); var fn = bind(unboundFunction, that); var iterator, iterFn, index, length, result, next, step; var stop = function (condition) { if (iterator) iteratorClose(iterator, 'normal', condition); return new Result(true, condition); }; var callFn = function (value) { if (AS_ENTRIES) { anObject(value); return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]); } return INTERRUPTED ? fn(value, stop) : fn(value); }; if (IS_RECORD) { iterator = iterable.iterator; } else if (IS_ITERATOR) { iterator = iterable; } else { iterFn = getIteratorMethod(iterable); if (!iterFn) throw new $TypeError(tryToString(iterable) + ' is not iterable'); // optimisation for array iterators if (isArrayIteratorMethod(iterFn)) { for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) { result = callFn(iterable[index]); if (result && isPrototypeOf(ResultPrototype, result)) return result; } return new Result(false); } iterator = getIterator(iterable, iterFn); } next = IS_RECORD ? iterable.next : iterator.next; while (!(step = call(next, iterator)).done) { try { result = callFn(step.value); } catch (error) { iteratorClose(iterator, 'throw', error); } if (typeof result == 'object' && result && isPrototypeOf(ResultPrototype, result)) return result; } return new Result(false); }; /***/ }), /***/ 21743: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var call = __webpack_require__(54713); var anObject = __webpack_require__(47235); var getMethod = __webpack_require__(14674); module.exports = function (iterator, kind, value) { var innerResult, innerError; anObject(iterator); try { innerResult = getMethod(iterator, 'return'); if (!innerResult) { if (kind === 'throw') throw value; return value; } innerResult = call(innerResult, iterator); } catch (error) { innerError = true; innerResult = error; } if (kind === 'throw') throw value; if (innerError) throw innerResult; anObject(innerResult); return value; }; /***/ }), /***/ 1926: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var IteratorPrototype = (__webpack_require__(92621).IteratorPrototype); var create = __webpack_require__(55780); var createPropertyDescriptor = __webpack_require__(70480); var setToStringTag = __webpack_require__(71811); var Iterators = __webpack_require__(86625); var returnThis = function () { return this; }; module.exports = function (IteratorConstructor, NAME, next, ENUMERABLE_NEXT) { var TO_STRING_TAG = NAME + ' Iterator'; IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(+!ENUMERABLE_NEXT, next) }); setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true); Iterators[TO_STRING_TAG] = returnThis; return IteratorConstructor; }; /***/ }), /***/ 80164: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var $ = __webpack_require__(9098); var call = __webpack_require__(54713); var IS_PURE = __webpack_require__(64871); var FunctionName = __webpack_require__(3410); var isCallable = __webpack_require__(52769); var createIteratorConstructor = __webpack_require__(1926); var getPrototypeOf = __webpack_require__(13671); var setPrototypeOf = __webpack_require__(3491); var setToStringTag = __webpack_require__(71811); var createNonEnumerableProperty = __webpack_require__(73999); var defineBuiltIn = __webpack_require__(63508); var wellKnownSymbol = __webpack_require__(38655); var Iterators = __webpack_require__(86625); var IteratorsCore = __webpack_require__(92621); var PROPER_FUNCTION_NAME = FunctionName.PROPER; var CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE; var IteratorPrototype = IteratorsCore.IteratorPrototype; var BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS; var ITERATOR = wellKnownSymbol('iterator'); var KEYS = 'keys'; var VALUES = 'values'; var ENTRIES = 'entries'; var returnThis = function () { return this; }; module.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) { createIteratorConstructor(IteratorConstructor, NAME, next); var getIterationMethod = function (KIND) { if (KIND === DEFAULT && defaultIterator) return defaultIterator; if (!BUGGY_SAFARI_ITERATORS && KIND && KIND in IterablePrototype) return IterablePrototype[KIND]; switch (KIND) { case KEYS: return function keys() { return new IteratorConstructor(this, KIND); }; case VALUES: return function values() { return new IteratorConstructor(this, KIND); }; case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); }; } return function () { return new IteratorConstructor(this); }; }; var TO_STRING_TAG = NAME + ' Iterator'; var INCORRECT_VALUES_NAME = false; var IterablePrototype = Iterable.prototype; var nativeIterator = IterablePrototype[ITERATOR] || IterablePrototype['@@iterator'] || DEFAULT && IterablePrototype[DEFAULT]; var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT); var anyNativeIterator = NAME === 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator; var CurrentIteratorPrototype, methods, KEY; // fix native if (anyNativeIterator) { CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable())); if (CurrentIteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) { if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) { if (setPrototypeOf) { setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype); } else if (!isCallable(CurrentIteratorPrototype[ITERATOR])) { defineBuiltIn(CurrentIteratorPrototype, ITERATOR, returnThis); } } // Set @@toStringTag to native iterators setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true); if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis; } } // fix Array.prototype.{ values, @@iterator }.name in V8 / FF if (PROPER_FUNCTION_NAME && DEFAULT === VALUES && nativeIterator && nativeIterator.name !== VALUES) { if (!IS_PURE && CONFIGURABLE_FUNCTION_NAME) { createNonEnumerableProperty(IterablePrototype, 'name', VALUES); } else { INCORRECT_VALUES_NAME = true; defaultIterator = function values() { return call(nativeIterator, this); }; } } // export additional methods if (DEFAULT) { methods = { values: getIterationMethod(VALUES), keys: IS_SET ? defaultIterator : getIterationMethod(KEYS), entries: getIterationMethod(ENTRIES) }; if (FORCED) for (KEY in methods) { if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) { defineBuiltIn(IterablePrototype, KEY, methods[KEY]); } } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods); } // define iterator if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) { defineBuiltIn(IterablePrototype, ITERATOR, defaultIterator, { name: DEFAULT }); } Iterators[NAME] = defaultIterator; return methods; }; /***/ }), /***/ 92621: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var fails = __webpack_require__(61203); var isCallable = __webpack_require__(52769); var isObject = __webpack_require__(90262); var create = __webpack_require__(55780); var getPrototypeOf = __webpack_require__(13671); var defineBuiltIn = __webpack_require__(63508); var wellKnownSymbol = __webpack_require__(38655); var IS_PURE = __webpack_require__(64871); var ITERATOR = wellKnownSymbol('iterator'); var BUGGY_SAFARI_ITERATORS = false; // `%IteratorPrototype%` object // https://tc39.es/ecma262/#sec-%iteratorprototype%-object var IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator; /* eslint-disable es/no-array-prototype-keys -- safe */ if ([].keys) { arrayIterator = [].keys(); // Safari 8 has buggy iterators w/o `next` if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true; else { PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator)); if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype; } } var NEW_ITERATOR_PROTOTYPE = !isObject(IteratorPrototype) || fails(function () { var test = {}; // FF44- legacy iterators case return IteratorPrototype[ITERATOR].call(test) !== test; }); if (NEW_ITERATOR_PROTOTYPE) IteratorPrototype = {}; else if (IS_PURE) IteratorPrototype = create(IteratorPrototype); // `%IteratorPrototype%[@@iterator]()` method // https://tc39.es/ecma262/#sec-%iteratorprototype%-@@iterator if (!isCallable(IteratorPrototype[ITERATOR])) { defineBuiltIn(IteratorPrototype, ITERATOR, function () { return this; }); } module.exports = { IteratorPrototype: IteratorPrototype, BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS }; /***/ }), /***/ 86625: /***/ ((module) => { "use strict"; module.exports = {}; /***/ }), /***/ 48130: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var toLength = __webpack_require__(78146); // `LengthOfArrayLike` abstract operation // https://tc39.es/ecma262/#sec-lengthofarraylike module.exports = function (obj) { return toLength(obj.length); }; /***/ }), /***/ 45777: /***/ ((module) => { "use strict"; var ceil = Math.ceil; var floor = Math.floor; // `Math.trunc` method // https://tc39.es/ecma262/#sec-math.trunc // eslint-disable-next-line es/no-math-trunc -- safe module.exports = Math.trunc || function trunc(x) { var n = +x; return (n > 0 ? floor : ceil)(n); }; /***/ }), /***/ 4879: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var toString = __webpack_require__(1139); module.exports = function (argument, $default) { return argument === undefined ? arguments.length < 2 ? '' : $default : toString(argument); }; /***/ }), /***/ 55780: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; /* global ActiveXObject -- old IE, WSH */ var anObject = __webpack_require__(47235); var definePropertiesModule = __webpack_require__(67389); var enumBugKeys = __webpack_require__(79683); var hiddenKeys = __webpack_require__(95241); var html = __webpack_require__(23489); var documentCreateElement = __webpack_require__(59619); var sharedKey = __webpack_require__(64275); var GT = '>'; var LT = '<'; var PROTOTYPE = 'prototype'; var SCRIPT = 'script'; var IE_PROTO = sharedKey('IE_PROTO'); var EmptyConstructor = function () { /* empty */ }; var scriptTag = function (content) { return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT; }; // Create object with fake `null` prototype: use ActiveX Object with cleared prototype var NullProtoObjectViaActiveX = function (activeXDocument) { activeXDocument.write(scriptTag('')); activeXDocument.close(); var temp = activeXDocument.parentWindow.Object; // eslint-disable-next-line no-useless-assignment -- avoid memory leak activeXDocument = null; return temp; }; // Create object with fake `null` prototype: use iframe Object with cleared prototype var NullProtoObjectViaIFrame = function () { // Thrash, waste and sodomy: IE GC bug var iframe = documentCreateElement('iframe'); var JS = 'java' + SCRIPT + ':'; var iframeDocument; iframe.style.display = 'none'; html.appendChild(iframe); // https://github.com/zloirock/core-js/issues/475 iframe.src = String(JS); iframeDocument = iframe.contentWindow.document; iframeDocument.open(); iframeDocument.write(scriptTag('document.F=Object')); iframeDocument.close(); return iframeDocument.F; }; // Check for document.domain and active x support // No need to use active x approach when document.domain is not set // see https://github.com/es-shims/es5-shim/issues/150 // variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346 // avoid IE GC bug var activeXDocument; var NullProtoObject = function () { try { activeXDocument = new ActiveXObject('htmlfile'); } catch (error) { /* ignore */ } NullProtoObject = typeof document != 'undefined' ? document.domain && activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) // old IE : NullProtoObjectViaIFrame() : NullProtoObjectViaActiveX(activeXDocument); // WSH var length = enumBugKeys.length; while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]]; return NullProtoObject(); }; hiddenKeys[IE_PROTO] = true; // `Object.create` method // https://tc39.es/ecma262/#sec-object.create // eslint-disable-next-line es/no-object-create -- safe module.exports = Object.create || function create(O, Properties) { var result; if (O !== null) { EmptyConstructor[PROTOTYPE] = anObject(O); result = new EmptyConstructor(); EmptyConstructor[PROTOTYPE] = null; // add "__proto__" for Object.getPrototypeOf polyfill result[IE_PROTO] = O; } else result = NullProtoObject(); return Properties === undefined ? result : definePropertiesModule.f(result, Properties); }; /***/ }), /***/ 67389: /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; var DESCRIPTORS = __webpack_require__(5024); var V8_PROTOTYPE_DEFINE_BUG = __webpack_require__(61330); var definePropertyModule = __webpack_require__(79989); var anObject = __webpack_require__(47235); var toIndexedObject = __webpack_require__(83273); var objectKeys = __webpack_require__(98364); // `Object.defineProperties` method // https://tc39.es/ecma262/#sec-object.defineproperties // eslint-disable-next-line es/no-object-defineproperties -- safe exports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) { anObject(O); var props = toIndexedObject(Properties); var keys = objectKeys(Properties); var length = keys.length; var index = 0; var key; while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]); return O; }; /***/ }), /***/ 79989: /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; var DESCRIPTORS = __webpack_require__(5024); var IE8_DOM_DEFINE = __webpack_require__(49665); var V8_PROTOTYPE_DEFINE_BUG = __webpack_require__(61330); var anObject = __webpack_require__(47235); var toPropertyKey = __webpack_require__(65341); var $TypeError = TypeError; // eslint-disable-next-line es/no-object-defineproperty -- safe var $defineProperty = Object.defineProperty; // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; var ENUMERABLE = 'enumerable'; var CONFIGURABLE = 'configurable'; var WRITABLE = 'writable'; // `Object.defineProperty` method // https://tc39.es/ecma262/#sec-object.defineproperty exports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) { anObject(O); P = toPropertyKey(P); anObject(Attributes); if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) { var current = $getOwnPropertyDescriptor(O, P); if (current && current[WRITABLE]) { O[P] = Attributes.value; Attributes = { configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE], enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE], writable: false }; } } return $defineProperty(O, P, Attributes); } : $defineProperty : function defineProperty(O, P, Attributes) { anObject(O); P = toPropertyKey(P); anObject(Attributes); if (IE8_DOM_DEFINE) try { return $defineProperty(O, P, Attributes); } catch (error) { /* empty */ } if ('get' in Attributes || 'set' in Attributes) throw new $TypeError('Accessors not supported'); if ('value' in Attributes) O[P] = Attributes.value; return O; }; /***/ }), /***/ 94543: /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; var DESCRIPTORS = __webpack_require__(5024); var call = __webpack_require__(54713); var propertyIsEnumerableModule = __webpack_require__(87161); var createPropertyDescriptor = __webpack_require__(70480); var toIndexedObject = __webpack_require__(83273); var toPropertyKey = __webpack_require__(65341); var hasOwn = __webpack_require__(70701); var IE8_DOM_DEFINE = __webpack_require__(49665); // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; // `Object.getOwnPropertyDescriptor` method // https://tc39.es/ecma262/#sec-object.getownpropertydescriptor exports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) { O = toIndexedObject(O); P = toPropertyKey(P); if (IE8_DOM_DEFINE) try { return $getOwnPropertyDescriptor(O, P); } catch (error) { /* empty */ } if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]); }; /***/ }), /***/ 65116: /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; var internalObjectKeys = __webpack_require__(88600); var enumBugKeys = __webpack_require__(79683); var hiddenKeys = enumBugKeys.concat('length', 'prototype'); // `Object.getOwnPropertyNames` method // https://tc39.es/ecma262/#sec-object.getownpropertynames // eslint-disable-next-line es/no-object-getownpropertynames -- safe exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) { return internalObjectKeys(O, hiddenKeys); }; /***/ }), /***/ 87313: /***/ ((__unused_webpack_module, exports) => { "use strict"; // eslint-disable-next-line es/no-object-getownpropertysymbols -- safe exports.f = Object.getOwnPropertySymbols; /***/ }), /***/ 13671: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var hasOwn = __webpack_require__(70701); var isCallable = __webpack_require__(52769); var toObject = __webpack_require__(92137); var sharedKey = __webpack_require__(64275); var CORRECT_PROTOTYPE_GETTER = __webpack_require__(2871); var IE_PROTO = sharedKey('IE_PROTO'); var $Object = Object; var ObjectPrototype = $Object.prototype; // `Object.getPrototypeOf` method // https://tc39.es/ecma262/#sec-object.getprototypeof // eslint-disable-next-line es/no-object-getprototypeof -- safe module.exports = CORRECT_PROTOTYPE_GETTER ? $Object.getPrototypeOf : function (O) { var object = toObject(O); if (hasOwn(object, IE_PROTO)) return object[IE_PROTO]; var constructor = object.constructor; if (isCallable(constructor) && object instanceof constructor) { return constructor.prototype; } return object instanceof $Object ? ObjectPrototype : null; }; /***/ }), /***/ 54317: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var uncurryThis = __webpack_require__(46100); module.exports = uncurryThis({}.isPrototypeOf); /***/ }), /***/ 88600: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var uncurryThis = __webpack_require__(46100); var hasOwn = __webpack_require__(70701); var toIndexedObject = __webpack_require__(83273); var indexOf = (__webpack_require__(61005).indexOf); var hiddenKeys = __webpack_require__(95241); var push = uncurryThis([].push); module.exports = function (object, names) { var O = toIndexedObject(object); var i = 0; var result = []; var key; for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key); // Don't enum bug & hidden keys while (names.length > i) if (hasOwn(O, key = names[i++])) { ~indexOf(result, key) || push(result, key); } return result; }; /***/ }), /***/ 98364: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var internalObjectKeys = __webpack_require__(88600); var enumBugKeys = __webpack_require__(79683); // `Object.keys` method // https://tc39.es/ecma262/#sec-object.keys // eslint-disable-next-line es/no-object-keys -- safe module.exports = Object.keys || function keys(O) { return internalObjectKeys(O, enumBugKeys); }; /***/ }), /***/ 87161: /***/ ((__unused_webpack_module, exports) => { "use strict"; var $propertyIsEnumerable = {}.propertyIsEnumerable; // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; // Nashorn ~ JDK8 bug var NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1); // `Object.prototype.propertyIsEnumerable` method implementation // https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable exports.f = NASHORN_BUG ? function propertyIsEnumerable(V) { var descriptor = getOwnPropertyDescriptor(this, V); return !!descriptor && descriptor.enumerable; } : $propertyIsEnumerable; /***/ }), /***/ 3491: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; /* eslint-disable no-proto -- safe */ var uncurryThisAccessor = __webpack_require__(33574); var isObject = __webpack_require__(90262); var requireObjectCoercible = __webpack_require__(95426); var aPossiblePrototype = __webpack_require__(91966); // `Object.setPrototypeOf` method // https://tc39.es/ecma262/#sec-object.setprototypeof // Works with __proto__ only. Old v8 can't work with null proto objects. // eslint-disable-next-line es/no-object-setprototypeof -- safe module.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () { var CORRECT_SETTER = false; var test = {}; var setter; try { setter = uncurryThisAccessor(Object.prototype, '__proto__', 'set'); setter(test, []); CORRECT_SETTER = test instanceof Array; } catch (error) { /* empty */ } return function setPrototypeOf(O, proto) { requireObjectCoercible(O); aPossiblePrototype(proto); if (!isObject(O)) return O; if (CORRECT_SETTER) setter(O, proto); else O.__proto__ = proto; return O; }; }() : undefined); /***/ }), /***/ 49559: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var TO_STRING_TAG_SUPPORT = __webpack_require__(84904); var classof = __webpack_require__(98407); // `Object.prototype.toString` method implementation // https://tc39.es/ecma262/#sec-object.prototype.tostring module.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() { return '[object ' + classof(this) + ']'; }; /***/ }), /***/ 89258: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var call = __webpack_require__(54713); var isCallable = __webpack_require__(52769); var isObject = __webpack_require__(90262); var $TypeError = TypeError; // `OrdinaryToPrimitive` abstract operation // https://tc39.es/ecma262/#sec-ordinarytoprimitive module.exports = function (input, pref) { var fn, val; if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val; if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val; if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val; throw new $TypeError("Can't convert object to primitive value"); }; /***/ }), /***/ 35691: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var getBuiltIn = __webpack_require__(21003); var uncurryThis = __webpack_require__(46100); var getOwnPropertyNamesModule = __webpack_require__(65116); var getOwnPropertySymbolsModule = __webpack_require__(87313); var anObject = __webpack_require__(47235); var concat = uncurryThis([].concat); // all object keys, includes non-enumerable and symbols module.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) { var keys = getOwnPropertyNamesModule.f(anObject(it)); var getOwnPropertySymbols = getOwnPropertySymbolsModule.f; return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys; }; /***/ }), /***/ 68099: /***/ ((module) => { "use strict"; module.exports = {}; /***/ }), /***/ 65516: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var defineProperty = (__webpack_require__(79989).f); module.exports = function (Target, Source, key) { key in Target || defineProperty(Target, key, { configurable: true, get: function () { return Source[key]; }, set: function (it) { Source[key] = it; } }); }; /***/ }), /***/ 95426: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var isNullOrUndefined = __webpack_require__(83057); var $TypeError = TypeError; // `RequireObjectCoercible` abstract operation // https://tc39.es/ecma262/#sec-requireobjectcoercible module.exports = function (it) { if (isNullOrUndefined(it)) throw new $TypeError("Can't call method on " + it); return it; }; /***/ }), /***/ 71811: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var TO_STRING_TAG_SUPPORT = __webpack_require__(84904); var defineProperty = (__webpack_require__(79989).f); var createNonEnumerableProperty = __webpack_require__(73999); var hasOwn = __webpack_require__(70701); var toString = __webpack_require__(49559); var wellKnownSymbol = __webpack_require__(38655); var TO_STRING_TAG = wellKnownSymbol('toStringTag'); module.exports = function (it, TAG, STATIC, SET_METHOD) { var target = STATIC ? it : it && it.prototype; if (target) { if (!hasOwn(target, TO_STRING_TAG)) { defineProperty(target, TO_STRING_TAG, { configurable: true, value: TAG }); } if (SET_METHOD && !TO_STRING_TAG_SUPPORT) { createNonEnumerableProperty(target, 'toString', toString); } } }; /***/ }), /***/ 64275: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var shared = __webpack_require__(58141); var uid = __webpack_require__(41268); var keys = shared('keys'); module.exports = function (key) { return keys[key] || (keys[key] = uid(key)); }; /***/ }), /***/ 33753: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var IS_PURE = __webpack_require__(64871); var globalThis = __webpack_require__(58900); var defineGlobalProperty = __webpack_require__(57525); var SHARED = '__core-js_shared__'; var store = module.exports = globalThis[SHARED] || defineGlobalProperty(SHARED, {}); (store.versions || (store.versions = [])).push({ version: '3.39.0', mode: IS_PURE ? 'pure' : 'global', copyright: '© 2014-2024 Denis Pushkarev (zloirock.ru)', license: 'https://github.com/zloirock/core-js/blob/v3.39.0/LICENSE', source: 'https://github.com/zloirock/core-js' }); /***/ }), /***/ 58141: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var store = __webpack_require__(33753); module.exports = function (key, value) { return store[key] || (store[key] = value || {}); }; /***/ }), /***/ 5571: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var uncurryThis = __webpack_require__(46100); var toIntegerOrInfinity = __webpack_require__(99903); var toString = __webpack_require__(1139); var requireObjectCoercible = __webpack_require__(95426); var charAt = uncurryThis(''.charAt); var charCodeAt = uncurryThis(''.charCodeAt); var stringSlice = uncurryThis(''.slice); var createMethod = function (CONVERT_TO_STRING) { return function ($this, pos) { var S = toString(requireObjectCoercible($this)); var position = toIntegerOrInfinity(pos); var size = S.length; var first, second; if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined; first = charCodeAt(S, position); return first < 0xD800 || first > 0xDBFF || position + 1 === size || (second = charCodeAt(S, position + 1)) < 0xDC00 || second > 0xDFFF ? CONVERT_TO_STRING ? charAt(S, position) : first : CONVERT_TO_STRING ? stringSlice(S, position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000; }; }; module.exports = { // `String.prototype.codePointAt` method // https://tc39.es/ecma262/#sec-string.prototype.codepointat codeAt: createMethod(false), // `String.prototype.at` method // https://github.com/mathiasbynens/String.prototype.at charAt: createMethod(true) }; /***/ }), /***/ 74603: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; /* eslint-disable es/no-symbol -- required for testing */ var V8_VERSION = __webpack_require__(5547); var fails = __webpack_require__(61203); var globalThis = __webpack_require__(58900); var $String = globalThis.String; // eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing module.exports = !!Object.getOwnPropertySymbols && !fails(function () { var symbol = Symbol('symbol detection'); // Chrome 38 Symbol has incorrect toString conversion // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances // nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will, // of course, fail. return !$String(symbol) || !(Object(symbol) instanceof Symbol) || // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances !Symbol.sham && V8_VERSION && V8_VERSION < 41; }); /***/ }), /***/ 44574: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var toIntegerOrInfinity = __webpack_require__(99903); var max = Math.max; var min = Math.min; // Helper for a popular repeating case of the spec: // Let integer be ? ToInteger(index). // If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length). module.exports = function (index, length) { var integer = toIntegerOrInfinity(index); return integer < 0 ? max(integer + length, 0) : min(integer, length); }; /***/ }), /***/ 83273: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; // toObject with fallback for non-array-like ES3 strings var IndexedObject = __webpack_require__(41395); var requireObjectCoercible = __webpack_require__(95426); module.exports = function (it) { return IndexedObject(requireObjectCoercible(it)); }; /***/ }), /***/ 99903: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var trunc = __webpack_require__(45777); // `ToIntegerOrInfinity` abstract operation // https://tc39.es/ecma262/#sec-tointegerorinfinity module.exports = function (argument) { var number = +argument; // eslint-disable-next-line no-self-compare -- NaN check return number !== number || number === 0 ? 0 : trunc(number); }; /***/ }), /***/ 78146: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var toIntegerOrInfinity = __webpack_require__(99903); var min = Math.min; // `ToLength` abstract operation // https://tc39.es/ecma262/#sec-tolength module.exports = function (argument) { var len = toIntegerOrInfinity(argument); return len > 0 ? min(len, 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991 }; /***/ }), /***/ 92137: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var requireObjectCoercible = __webpack_require__(95426); var $Object = Object; // `ToObject` abstract operation // https://tc39.es/ecma262/#sec-toobject module.exports = function (argument) { return $Object(requireObjectCoercible(argument)); }; /***/ }), /***/ 60493: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var call = __webpack_require__(54713); var isObject = __webpack_require__(90262); var isSymbol = __webpack_require__(96281); var getMethod = __webpack_require__(14674); var ordinaryToPrimitive = __webpack_require__(89258); var wellKnownSymbol = __webpack_require__(38655); var $TypeError = TypeError; var TO_PRIMITIVE = wellKnownSymbol('toPrimitive'); // `ToPrimitive` abstract operation // https://tc39.es/ecma262/#sec-toprimitive module.exports = function (input, pref) { if (!isObject(input) || isSymbol(input)) return input; var exoticToPrim = getMethod(input, TO_PRIMITIVE); var result; if (exoticToPrim) { if (pref === undefined) pref = 'default'; result = call(exoticToPrim, input, pref); if (!isObject(result) || isSymbol(result)) return result; throw new $TypeError("Can't convert object to primitive value"); } if (pref === undefined) pref = 'number'; return ordinaryToPrimitive(input, pref); }; /***/ }), /***/ 65341: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var toPrimitive = __webpack_require__(60493); var isSymbol = __webpack_require__(96281); // `ToPropertyKey` abstract operation // https://tc39.es/ecma262/#sec-topropertykey module.exports = function (argument) { var key = toPrimitive(argument, 'string'); return isSymbol(key) ? key : key + ''; }; /***/ }), /***/ 84904: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var wellKnownSymbol = __webpack_require__(38655); var TO_STRING_TAG = wellKnownSymbol('toStringTag'); var test = {}; test[TO_STRING_TAG] = 'z'; module.exports = String(test) === '[object z]'; /***/ }), /***/ 1139: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var classof = __webpack_require__(98407); var $String = String; module.exports = function (argument) { if (classof(argument) === 'Symbol') throw new TypeError('Cannot convert a Symbol value to a string'); return $String(argument); }; /***/ }), /***/ 70459: /***/ ((module) => { "use strict"; var $String = String; module.exports = function (argument) { try { return $String(argument); } catch (error) { return 'Object'; } }; /***/ }), /***/ 41268: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var uncurryThis = __webpack_require__(46100); var id = 0; var postfix = Math.random(); var toString = uncurryThis(1.0.toString); module.exports = function (key) { return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36); }; /***/ }), /***/ 57460: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; /* eslint-disable es/no-symbol -- required for testing */ var NATIVE_SYMBOL = __webpack_require__(74603); module.exports = NATIVE_SYMBOL && !Symbol.sham && typeof Symbol.iterator == 'symbol'; /***/ }), /***/ 61330: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var DESCRIPTORS = __webpack_require__(5024); var fails = __webpack_require__(61203); // V8 ~ Chrome 36- // https://bugs.chromium.org/p/v8/issues/detail?id=3334 module.exports = DESCRIPTORS && fails(function () { // eslint-disable-next-line es/no-object-defineproperty -- required for testing return Object.defineProperty(function () { /* empty */ }, 'prototype', { value: 42, writable: false }).prototype !== 42; }); /***/ }), /***/ 31314: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var globalThis = __webpack_require__(58900); var isCallable = __webpack_require__(52769); var WeakMap = globalThis.WeakMap; module.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap)); /***/ }), /***/ 38655: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var globalThis = __webpack_require__(58900); var shared = __webpack_require__(58141); var hasOwn = __webpack_require__(70701); var uid = __webpack_require__(41268); var NATIVE_SYMBOL = __webpack_require__(74603); var USE_SYMBOL_AS_UID = __webpack_require__(57460); var Symbol = globalThis.Symbol; var WellKnownSymbolsStore = shared('wks'); var createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid; module.exports = function (name) { if (!hasOwn(WellKnownSymbolsStore, name)) { WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name) ? Symbol[name] : createWellKnownSymbol('Symbol.' + name); } return WellKnownSymbolsStore[name]; }; /***/ }), /***/ 16453: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var getBuiltIn = __webpack_require__(21003); var hasOwn = __webpack_require__(70701); var createNonEnumerableProperty = __webpack_require__(73999); var isPrototypeOf = __webpack_require__(54317); var setPrototypeOf = __webpack_require__(3491); var copyConstructorProperties = __webpack_require__(47464); var proxyAccessor = __webpack_require__(65516); var inheritIfRequired = __webpack_require__(43507); var normalizeStringArgument = __webpack_require__(4879); var installErrorCause = __webpack_require__(98148); var installErrorStack = __webpack_require__(44279); var DESCRIPTORS = __webpack_require__(5024); var IS_PURE = __webpack_require__(64871); module.exports = function (FULL_NAME, wrapper, FORCED, IS_AGGREGATE_ERROR) { var STACK_TRACE_LIMIT = 'stackTraceLimit'; var OPTIONS_POSITION = IS_AGGREGATE_ERROR ? 2 : 1; var path = FULL_NAME.split('.'); var ERROR_NAME = path[path.length - 1]; var OriginalError = getBuiltIn.apply(null, path); if (!OriginalError) return; var OriginalErrorPrototype = OriginalError.prototype; // V8 9.3- bug https://bugs.chromium.org/p/v8/issues/detail?id=12006 if (!IS_PURE && hasOwn(OriginalErrorPrototype, 'cause')) delete OriginalErrorPrototype.cause; if (!FORCED) return OriginalError; var BaseError = getBuiltIn('Error'); var WrappedError = wrapper(function (a, b) { var message = normalizeStringArgument(IS_AGGREGATE_ERROR ? b : a, undefined); var result = IS_AGGREGATE_ERROR ? new OriginalError(a) : new OriginalError(); if (message !== undefined) createNonEnumerableProperty(result, 'message', message); installErrorStack(result, WrappedError, result.stack, 2); if (this && isPrototypeOf(OriginalErrorPrototype, this)) inheritIfRequired(result, this, WrappedError); if (arguments.length > OPTIONS_POSITION) installErrorCause(result, arguments[OPTIONS_POSITION]); return result; }); WrappedError.prototype = OriginalErrorPrototype; if (ERROR_NAME !== 'Error') { if (setPrototypeOf) setPrototypeOf(WrappedError, BaseError); else copyConstructorProperties(WrappedError, BaseError, { name: true }); } else if (DESCRIPTORS && STACK_TRACE_LIMIT in OriginalError) { proxyAccessor(WrappedError, OriginalError, STACK_TRACE_LIMIT); proxyAccessor(WrappedError, OriginalError, 'prepareStackTrace'); } copyConstructorProperties(WrappedError, OriginalError); if (!IS_PURE) try { // Safari 13- bug: WebAssembly errors does not have a proper `.name` if (OriginalErrorPrototype.name !== ERROR_NAME) { createNonEnumerableProperty(OriginalErrorPrototype, 'name', ERROR_NAME); } OriginalErrorPrototype.constructor = WrappedError; } catch (error) { /* empty */ } return WrappedError; }; /***/ }), /***/ 26138: /***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var $ = __webpack_require__(9098); var getBuiltIn = __webpack_require__(21003); var apply = __webpack_require__(57013); var fails = __webpack_require__(61203); var wrapErrorConstructorWithCause = __webpack_require__(16453); var AGGREGATE_ERROR = 'AggregateError'; var $AggregateError = getBuiltIn(AGGREGATE_ERROR); var FORCED = !fails(function () { return $AggregateError([1]).errors[0] !== 1; }) && fails(function () { return $AggregateError([1], AGGREGATE_ERROR, { cause: 7 }).cause !== 7; }); // https://tc39.es/ecma262/#sec-aggregate-error $({ global: true, constructor: true, arity: 2, forced: FORCED }, { AggregateError: wrapErrorConstructorWithCause(AGGREGATE_ERROR, function (init) { // eslint-disable-next-line no-unused-vars -- required for functions `.length` return function AggregateError(errors, message) { return apply(init, this, arguments); }; }, FORCED, true) }); /***/ }), /***/ 83085: /***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var $ = __webpack_require__(9098); var isPrototypeOf = __webpack_require__(54317); var getPrototypeOf = __webpack_require__(13671); var setPrototypeOf = __webpack_require__(3491); var copyConstructorProperties = __webpack_require__(47464); var create = __webpack_require__(55780); var createNonEnumerableProperty = __webpack_require__(73999); var createPropertyDescriptor = __webpack_require__(70480); var installErrorCause = __webpack_require__(98148); var installErrorStack = __webpack_require__(44279); var iterate = __webpack_require__(90208); var normalizeStringArgument = __webpack_require__(4879); var wellKnownSymbol = __webpack_require__(38655); var TO_STRING_TAG = wellKnownSymbol('toStringTag'); var $Error = Error; var push = [].push; var $AggregateError = function AggregateError(errors, message /* , options */) { var isInstance = isPrototypeOf(AggregateErrorPrototype, this); var that; if (setPrototypeOf) { that = setPrototypeOf(new $Error(), isInstance ? getPrototypeOf(this) : AggregateErrorPrototype); } else { that = isInstance ? this : create(AggregateErrorPrototype); createNonEnumerableProperty(that, TO_STRING_TAG, 'Error'); } if (message !== undefined) createNonEnumerableProperty(that, 'message', normalizeStringArgument(message)); installErrorStack(that, $AggregateError, that.stack, 1); if (arguments.length > 2) installErrorCause(that, arguments[2]); var errorsArray = []; iterate(errors, push, { that: errorsArray }); createNonEnumerableProperty(that, 'errors', errorsArray); return that; }; if (setPrototypeOf) setPrototypeOf($AggregateError, $Error); else copyConstructorProperties($AggregateError, $Error, { name: true }); var AggregateErrorPrototype = $AggregateError.prototype = create($Error.prototype, { constructor: createPropertyDescriptor(1, $AggregateError), message: createPropertyDescriptor(1, ''), name: createPropertyDescriptor(1, 'AggregateError') }); // `AggregateError` constructor // https://tc39.es/ecma262/#sec-aggregate-error-constructor $({ global: true, constructor: true, arity: 2 }, { AggregateError: $AggregateError }); /***/ }), /***/ 35695: /***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { "use strict"; // TODO: Remove this module from `core-js@4` since it's replaced to module below __webpack_require__(83085); /***/ }), /***/ 59828: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var toIndexedObject = __webpack_require__(83273); var addToUnscopables = __webpack_require__(68137); var Iterators = __webpack_require__(86625); var InternalStateModule = __webpack_require__(58417); var defineProperty = (__webpack_require__(79989).f); var defineIterator = __webpack_require__(80164); var createIterResultObject = __webpack_require__(40877); var IS_PURE = __webpack_require__(64871); var DESCRIPTORS = __webpack_require__(5024); var ARRAY_ITERATOR = 'Array Iterator'; var setInternalState = InternalStateModule.set; var getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR); // `Array.prototype.entries` method // https://tc39.es/ecma262/#sec-array.prototype.entries // `Array.prototype.keys` method // https://tc39.es/ecma262/#sec-array.prototype.keys // `Array.prototype.values` method // https://tc39.es/ecma262/#sec-array.prototype.values // `Array.prototype[@@iterator]` method // https://tc39.es/ecma262/#sec-array.prototype-@@iterator // `CreateArrayIterator` internal method // https://tc39.es/ecma262/#sec-createarrayiterator module.exports = defineIterator(Array, 'Array', function (iterated, kind) { setInternalState(this, { type: ARRAY_ITERATOR, target: toIndexedObject(iterated), // target index: 0, // next index kind: kind // kind }); // `%ArrayIteratorPrototype%.next` method // https://tc39.es/ecma262/#sec-%arrayiteratorprototype%.next }, function () { var state = getInternalState(this); var target = state.target; var index = state.index++; if (!target || index >= target.length) { state.target = null; return createIterResultObject(undefined, true); } switch (state.kind) { case 'keys': return createIterResultObject(index, false); case 'values': return createIterResultObject(target[index], false); } return createIterResultObject([index, target[index]], false); }, 'values'); // argumentsList[@@iterator] is %ArrayProto_values% // https://tc39.es/ecma262/#sec-createunmappedargumentsobject // https://tc39.es/ecma262/#sec-createmappedargumentsobject var values = Iterators.Arguments = Iterators.Array; // https://tc39.es/ecma262/#sec-array.prototype-@@unscopables addToUnscopables('keys'); addToUnscopables('values'); addToUnscopables('entries'); // V8 ~ Chrome 45- bug if (!IS_PURE && DESCRIPTORS && values.name !== 'values') try { defineProperty(values, 'name', { value: 'values' }); } catch (error) { /* empty */ } /***/ }), /***/ 70484: /***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { "use strict"; /* eslint-disable no-unused-vars -- required for functions `.length` */ var $ = __webpack_require__(9098); var globalThis = __webpack_require__(58900); var apply = __webpack_require__(57013); var wrapErrorConstructorWithCause = __webpack_require__(16453); var WEB_ASSEMBLY = 'WebAssembly'; var WebAssembly = globalThis[WEB_ASSEMBLY]; // eslint-disable-next-line es/no-error-cause -- feature detection var FORCED = new Error('e', { cause: 7 }).cause !== 7; var exportGlobalErrorCauseWrapper = function (ERROR_NAME, wrapper) { var O = {}; O[ERROR_NAME] = wrapErrorConstructorWithCause(ERROR_NAME, wrapper, FORCED); $({ global: true, constructor: true, arity: 1, forced: FORCED }, O); }; var exportWebAssemblyErrorCauseWrapper = function (ERROR_NAME, wrapper) { if (WebAssembly && WebAssembly[ERROR_NAME]) { var O = {}; O[ERROR_NAME] = wrapErrorConstructorWithCause(WEB_ASSEMBLY + '.' + ERROR_NAME, wrapper, FORCED); $({ target: WEB_ASSEMBLY, stat: true, constructor: true, arity: 1, forced: FORCED }, O); } }; // https://tc39.es/ecma262/#sec-nativeerror exportGlobalErrorCauseWrapper('Error', function (init) { return function Error(message) { return apply(init, this, arguments); }; }); exportGlobalErrorCauseWrapper('EvalError', function (init) { return function EvalError(message) { return apply(init, this, arguments); }; }); exportGlobalErrorCauseWrapper('RangeError', function (init) { return function RangeError(message) { return apply(init, this, arguments); }; }); exportGlobalErrorCauseWrapper('ReferenceError', function (init) { return function ReferenceError(message) { return apply(init, this, arguments); }; }); exportGlobalErrorCauseWrapper('SyntaxError', function (init) { return function SyntaxError(message) { return apply(init, this, arguments); }; }); exportGlobalErrorCauseWrapper('TypeError', function (init) { return function TypeError(message) { return apply(init, this, arguments); }; }); exportGlobalErrorCauseWrapper('URIError', function (init) { return function URIError(message) { return apply(init, this, arguments); }; }); exportWebAssemblyErrorCauseWrapper('CompileError', function (init) { return function CompileError(message) { return apply(init, this, arguments); }; }); exportWebAssemblyErrorCauseWrapper('LinkError', function (init) { return function LinkError(message) { return apply(init, this, arguments); }; }); exportWebAssemblyErrorCauseWrapper('RuntimeError', function (init) { return function RuntimeError(message) { return apply(init, this, arguments); }; }); /***/ }), /***/ 73832: /***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var charAt = (__webpack_require__(5571).charAt); var toString = __webpack_require__(1139); var InternalStateModule = __webpack_require__(58417); var defineIterator = __webpack_require__(80164); var createIterResultObject = __webpack_require__(40877); var STRING_ITERATOR = 'String Iterator'; var setInternalState = InternalStateModule.set; var getInternalState = InternalStateModule.getterFor(STRING_ITERATOR); // `String.prototype[@@iterator]` method // https://tc39.es/ecma262/#sec-string.prototype-@@iterator defineIterator(String, 'String', function (iterated) { setInternalState(this, { type: STRING_ITERATOR, string: toString(iterated), index: 0 }); // `%StringIteratorPrototype%.next` method // https://tc39.es/ecma262/#sec-%stringiteratorprototype%.next }, function next() { var state = getInternalState(this); var string = state.string; var index = state.index; var point; if (index >= string.length) return createIterResultObject(undefined, true); point = charAt(string, index); state.index += point.length; return createIterResultObject(point, false); }); /***/ }), /***/ 65442: /***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { "use strict"; // TODO: Remove from `core-js@4` __webpack_require__(35695); /***/ }), /***/ 80085: /***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { "use strict"; __webpack_require__(59828); var DOMIterables = __webpack_require__(1100); var globalThis = __webpack_require__(58900); var setToStringTag = __webpack_require__(71811); var Iterators = __webpack_require__(86625); for (var COLLECTION_NAME in DOMIterables) { setToStringTag(globalThis[COLLECTION_NAME], COLLECTION_NAME); Iterators[COLLECTION_NAME] = Iterators.Array; } /***/ }), /***/ 30239: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; // TODO: remove from `core-js@4` __webpack_require__(65442); var parent = __webpack_require__(26656); __webpack_require__(80085); module.exports = parent; /***/ }), /***/ 59425: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(69180); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(28195); /** * Returns the result of concatenating the given lists or strings. * * Note: R.concat expects both arguments to be of the same type, unlike * the native Array.prototype.concat method. * It will throw an error if you concat an Array with a non-Array value. * Dispatches to the concat method of the second argument, if present. * * @func concatRight * @memberOf RA * @since {@link https://char0n.github.io/ramda-adjunct/1.11.0|v1.11.0} * @category List * @sig [a] -> [a] -> [a] * @sig String -> String -> String * @param {Array|String} firstList The first list * @param {Array|String} secondList The second list * @return {Array|String} A list consisting of the elements of `secondList` * followed by the elements of `firstList`. * @see {@link http://ramdajs.com/docs/#concat|R.concat} * @example * * RA.concatRight('ABC', 'DEF'); //=> 'DEFABC' * RA.concatRight([4, 5, 6], [1, 2, 3]); //=> [1, 2, 3, 4, 5, 6] * RA.concatRight([], []); //=> [] */ var concatRight = (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(ramda__WEBPACK_IMPORTED_MODULE_1__["default"]); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (concatRight); /***/ }), /***/ 9753: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(68199); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(27567); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(15791); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(95121); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(18822); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(84332); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(26517); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(19784); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(97797); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(75229); /* harmony import */ var _isNotNil_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(76955); /* harmony import */ var _isNonEmptyArray_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(60058); /* harmony import */ var _stubUndefined_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(23387); function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); } function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } } function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); } function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); } function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; } /** * Can be used as a way to compose multiple invokers together to form polymorphic functions, * or functions that exhibit different behaviors based on their argument(s). * Consumes dispatching functions and keep trying to invoke each in turn, until a non-nil value is returned. * * Accepts a list of dispatching functions and returns a new function. * When invoked, this new function is applied to some arguments, * each dispatching function is applied to those same arguments until one of the * dispatching functions returns a non-nil value. * * @func dispatch * @memberOf RA * @since {@link https://char0n.github.io/ramda-adjunct/2.6.0|v2.6.0} * @category Function * @sig [((a, b, ...) -> x1), ((a, b, ...) -> x2), ...] -> x1 | x2 | ... * @param {!Array} functions A list of functions * @return {*|undefined} Returns the first not-nil value, or undefined if either an empty list is provided or none of the dispatching functions returns a non-nil value * @see {@link RA.isNotNil} * @example * * // returns first non-nil value * const stubNil = () => null; * const stubUndefined = () => undefined; * const addOne = v => v + 1; * const addTwo = v => v + 2; * * RA.dispatch([stubNil, stubUndefined, addOne, addTwo])(1); //=> 2 * * // acts as a switch * const fnSwitch = RA.dispatch([ * R.ifElse(RA.isString, s => `${s}-join`, RA.stubUndefined), * R.ifElse(RA.isNumber, n => n + 1, RA.stubUndefined), * R.ifElse(RA.isDate, R.T, RA.stubUndefined), * ]); * fnSwitch(1); //=> 2 */ var byArity = (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(function (a, b) { return a.length > b.length; }); var getMaxArity = (0,ramda__WEBPACK_IMPORTED_MODULE_1__["default"])((0,ramda__WEBPACK_IMPORTED_MODULE_2__["default"])(byArity), ramda__WEBPACK_IMPORTED_MODULE_3__["default"], (0,ramda__WEBPACK_IMPORTED_MODULE_4__["default"])('length')); var iteratorFn = (0,ramda__WEBPACK_IMPORTED_MODULE_5__["default"])(function (args, accumulator, fn) { var result = fn.apply(void 0, _toConsumableArray(args)); return (0,_isNotNil_js__WEBPACK_IMPORTED_MODULE_6__["default"])(result) ? (0,ramda__WEBPACK_IMPORTED_MODULE_7__["default"])(result) : accumulator; }); var dispatchImpl = function dispatchImpl(functions) { var arity = getMaxArity(functions); return (0,ramda__WEBPACK_IMPORTED_MODULE_8__["default"])(arity, function () { for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } return (0,ramda__WEBPACK_IMPORTED_MODULE_9__["default"])(iteratorFn(args), undefined, functions); }); }; var dispatch = (0,ramda__WEBPACK_IMPORTED_MODULE_10__["default"])(_isNonEmptyArray_js__WEBPACK_IMPORTED_MODULE_11__["default"], dispatchImpl, _stubUndefined_js__WEBPACK_IMPORTED_MODULE_12__["default"]); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (dispatch); /***/ }), /***/ 73699: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(69180); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2898); /** * Returns true if the specified value is equal, in R.equals terms, * to at least one element of the given list or false otherwise. * Given list can be a string. * * Like {@link http://ramdajs.com/docs/#includes|R.includes} but with argument order reversed. * * @func included * @memberOf RA * @since {@link https://char0n.github.io/ramda-adjunct/3.0.0|v3.0.0} * @category List * @sig [a] -> a -> Boolean * @param {Array|String} list The list to consider * @param {*} a The item to compare against * @return {boolean} Returns Boolean `true` if an equivalent item is in the list or `false` otherwise * @see {@link http://ramdajs.com/docs/#includes|R.includes} * @example * * RA.included([1, 2, 3], 3); //=> true * RA.included([1, 2, 3], 4); //=> false * RA.included([{ name: 'Fred' }], { name: 'Fred' }); //=> true * RA.included([[42]], [42]); //=> true */ var included = (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(ramda__WEBPACK_IMPORTED_MODULE_1__["default"]); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (included); /***/ }), /***/ 9871: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } var isOfTypeObject = function isOfTypeObject(val) { return _typeof(val) === 'object'; }; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (isOfTypeObject); /***/ }), /***/ 79966: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(24968); /* harmony import */ var _isNumber_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4054); // eslint-disable-next-line no-restricted-globals var isFinitePonyfill = (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(_isNumber_js__WEBPACK_IMPORTED_MODULE_1__["default"], isFinite); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (isFinitePonyfill); /***/ }), /***/ 70407: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(24968); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(37698); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(53654); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(57457); /* harmony import */ var _isFinite_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4560); var isIntegerPonyfill = (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(_isFinite_js__WEBPACK_IMPORTED_MODULE_1__["default"], (0,ramda__WEBPACK_IMPORTED_MODULE_2__["default"])(ramda__WEBPACK_IMPORTED_MODULE_3__["default"], [Math.floor, ramda__WEBPACK_IMPORTED_MODULE_4__["default"]])); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (isIntegerPonyfill); /***/ }), /***/ 48798: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _isNotFinite_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2625); /* harmony import */ var _isNegative_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(58424); var repeat = function repeat(value, count) { var validCount = Number(count); if (validCount !== count) { validCount = 0; } if ((0,_isNegative_js__WEBPACK_IMPORTED_MODULE_0__["default"])(validCount)) { throw new RangeError('repeat count must be non-negative'); } if ((0,_isNotFinite_js__WEBPACK_IMPORTED_MODULE_1__["default"])(validCount)) { throw new RangeError('repeat count must be less than infinity'); } validCount = Math.floor(validCount); if (value.length === 0 || validCount === 0) { return ''; } // Ensuring validCount is a 31-bit integer allows us to heavily optimize the // main part. But anyway, most current (August 2014) browsers can't handle // strings 1 << 28 chars or longer, so: // eslint-disable-next-line no-bitwise if (value.length * validCount >= 1 << 28) { throw new RangeError('repeat count must not overflow maximum string size'); } var maxCount = value.length * validCount; validCount = Math.floor(Math.log(validCount) / Math.log(2)); var result = value; while (validCount) { result += value; validCount -= 1; } result += result.substring(0, maxCount - result.length); return result; }; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (repeat); /***/ }), /***/ 65988: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(98675); var trimStart = (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(/[\s\uFEFF\xA0]+$/, ''); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (trimStart); /***/ }), /***/ 58877: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(98675); var trimStart = (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(/^[\s\uFEFF\xA0]+/, ''); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (trimStart); /***/ }), /***/ 55474: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(19784); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(14864); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(54769); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(90560); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(28711); /* harmony import */ var _isNotFunction_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(2754); /* harmony import */ var _isEmptyArray_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(27657); /** * Invokes the method at path of object with given arguments. * * @func invokeArgs * @memberOf RA * @since {@link https://char0n.github.io/ramda-adjunct/2.27.0|v2.27.0} * @category Object * @sig Array -> Array -> Object -> * * @param {Array.} path The path of the method to invoke * @param {Array} args The arguments to invoke the method with * @param {Object} obj The object to query * @return {*} * @example * * RA.invokeArgs(['abs'], [-1], Math); //=> 1 * RA.invokeArgs(['path', 'to', 'non-existent', 'method'], [-1], Math); //=> undefined */ var invokeArgs = (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(3, function (mpath, args, obj) { var method = (0,ramda__WEBPACK_IMPORTED_MODULE_1__["default"])(mpath, obj); var context = (0,ramda__WEBPACK_IMPORTED_MODULE_1__["default"])((0,ramda__WEBPACK_IMPORTED_MODULE_2__["default"])(mpath), obj); if ((0,_isNotFunction_js__WEBPACK_IMPORTED_MODULE_3__["default"])(method)) return undefined; if ((0,_isEmptyArray_js__WEBPACK_IMPORTED_MODULE_4__["default"])(mpath)) return undefined; var boundMethod = (0,ramda__WEBPACK_IMPORTED_MODULE_5__["default"])(method, context); return (0,ramda__WEBPACK_IMPORTED_MODULE_6__["default"])(boundMethod, args); }); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (invokeArgs); /***/ }), /***/ 93834: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(19784); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(27567); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(60963); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(62572); /* harmony import */ var _isFunction_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(16867); /** * Checks if input value is `Array`. * * @func isArray * @memberOf RA * @since {@link https://char0n.github.io/ramda-adjunct/0.3.0|v0.3.0} * @category Type * @sig * -> Boolean * @param {*} val The value to test * @return {boolean} * @see {@link RA.isNotArray|isNotArray} * @example * * RA.isArray([]); //=> true * RA.isArray(null); //=> false * RA.isArray({}); //=> false */ var isArray = (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(1, (0,_isFunction_js__WEBPACK_IMPORTED_MODULE_1__["default"])(Array.isArray) ? Array.isArray : (0,ramda__WEBPACK_IMPORTED_MODULE_2__["default"])(ramda__WEBPACK_IMPORTED_MODULE_3__["default"], (0,ramda__WEBPACK_IMPORTED_MODULE_4__["default"])('Array'))); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (isArray); /***/ }), /***/ 45855: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(19784); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(27567); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(60963); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(62572); /** * Checks if input value is `Async Function`. * * @func isAsyncFunction * @memberOf RA * @since {@link https://char0n.github.io/ramda-adjunct/0.5.0|v0.5.0} * @category Type * @sig * -> Boolean * @param {*} val The value to test * @return {boolean} * @see {@link RA.isFunction|isFunction}, {@link RA.isNotAsyncFunction|isNotAsyncFunction}, {@link RA.isGeneratorFunction|isGeneratorFunction} * @example * * RA.isAsyncFunction(async function test() { }); //=> true * RA.isAsyncFunction(null); //=> false * RA.isAsyncFunction(function test() { }); //=> false * RA.isAsyncFunction(() => {}); //=> false */ var isAsyncFunction = (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(1, (0,ramda__WEBPACK_IMPORTED_MODULE_1__["default"])(ramda__WEBPACK_IMPORTED_MODULE_2__["default"], (0,ramda__WEBPACK_IMPORTED_MODULE_3__["default"])('AsyncFunction'))); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (isAsyncFunction); /***/ }), /***/ 27657: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(24968); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(27694); /* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(93834); /** * Checks if input value is an empty `Array`. * * @func isEmptyArray * @memberOf RA * @since {@link https://char0n.github.io/ramda-adjunct/2.4.0|v2.4.0} * @category Type * @sig * -> Boolean * @param {*} val The value to test * @return {boolean} * @see {@link RA.isNotEmptyArray|isNotEmptyArray} * @example * * RA.isEmptyArray([]); // => true * RA.isEmptyArray([42]); // => false * RA.isEmptyArray({}); // => false * RA.isEmptyArray(null); // => false * RA.isEmptyArray(undefined); // => false * RA.isEmptyArray(42); // => false * RA.isEmptyArray('42'); // => false */ var isEmptyArray = (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(_isArray_js__WEBPACK_IMPORTED_MODULE_1__["default"], ramda__WEBPACK_IMPORTED_MODULE_2__["default"]); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (isEmptyArray); /***/ }), /***/ 10687: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(53654); /** * Checks if input value is an empty `String`. * * @func isEmptyString * @memberOf RA * @since {@link https://char0n.github.io/ramda-adjunct/2.4.0|v2.4.0} * @category Type * @sig * -> Boolean * @param {*} val The value to test * @return {boolean} * @see {@link RA.isNotEmptyString|isNotEmptyString} * @example * * RA.isEmptyString(''); // => true * RA.isEmptyString('42'); // => false * RA.isEmptyString(new String('42')); // => false * RA.isEmptyString(new String('')); // => false * RA.isEmptyString([42]); // => false * RA.isEmptyString({}); // => false * RA.isEmptyString(null); // => false * RA.isEmptyString(undefined); // => false * RA.isEmptyString(42); // => false */ var isEmptyString = (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(''); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (isEmptyString); /***/ }), /***/ 4560: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__), /* harmony export */ isFinitePonyfill: () => (/* binding */ isFinitePonyfill) /* harmony export */ }); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(19784); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(90560); /* harmony import */ var _isFunction_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(16867); /* harmony import */ var _internal_ponyfills_Number_isFinite_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(79966); var isFinitePonyfill = (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(1, _internal_ponyfills_Number_isFinite_js__WEBPACK_IMPORTED_MODULE_1__["default"]); /** * Checks whether the passed value is a finite `Number`. * * @func isFinite * @memberOf RA * @since {@link https://char0n.github.io/ramda-adjunct/0.7.0|v0.7.0} * @category Type * @sig * -> Boolean * @param {*} val The value to test * @return {boolean} * @see {@link RA.isNotFinite|isNotFinite} * @example * * RA.isFinite(Infinity); //=> false * RA.isFinite(NaN); //=> false * RA.isFinite(-Infinity); //=> false * * RA.isFinite(0); // true * RA.isFinite(2e64); // true * * RA.isFinite('0'); // => false * // would've been true with global isFinite('0') * RA.isFinite(null); // => false * // would've been true with global isFinite(null) */ var _isFinite = (0,_isFunction_js__WEBPACK_IMPORTED_MODULE_2__["default"])(Number.isFinite) ? (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(1, (0,ramda__WEBPACK_IMPORTED_MODULE_3__["default"])(Number.isFinite, Number)) : isFinitePonyfill; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_isFinite); /***/ }), /***/ 16867: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(91020); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(27567); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(60963); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(62572); /* harmony import */ var _isGeneratorFunction_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(49702); /* harmony import */ var _isAsyncFunction_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(45855); /** * Checks if input value is `Function`. * * @func isFunction * @memberOf RA * @since {@link https://char0n.github.io/ramda-adjunct/0.5.0|v0.5.0} * @category Type * @sig * -> Boolean * @param {*} val The value to test * @return {boolean} * @see {@link RA.isNotFunction|isNotFunction}, {@link RA.isAsyncFunction|isNotAsyncFunction}, {@link RA.isGeneratorFunction|isGeneratorFunction} * @example * * RA.isFunction(function test() { }); //=> true * RA.isFunction(function* test() { }); //=> true * RA.isFunction(async function test() { }); //=> true * RA.isFunction(() => {}); //=> true * RA.isFunction(null); //=> false * RA.isFunction('abc'); //=> false */ var isFunction = (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])([(0,ramda__WEBPACK_IMPORTED_MODULE_1__["default"])(ramda__WEBPACK_IMPORTED_MODULE_2__["default"], (0,ramda__WEBPACK_IMPORTED_MODULE_3__["default"])('Function')), _isGeneratorFunction_js__WEBPACK_IMPORTED_MODULE_4__["default"], _isAsyncFunction_js__WEBPACK_IMPORTED_MODULE_5__["default"]]); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (isFunction); /***/ }), /***/ 49702: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(19784); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(27567); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(60963); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(62572); /** * Checks if input value is `Generator Function`. * * @func isGeneratorFunction * @memberOf RA * @since {@link https://char0n.github.io/ramda-adjunct/0.5.0|v0.5.0} * @category Type * @sig * -> Boolean * @param {*} val The value to test * @return {boolean} * @see {@link RA.isFunction|isFunction}, {@link RA.isAsyncFunction|isAsyncFunction}, {@link RA.isNotGeneratorFunction|isNotGeneratorFunction} * @example * * RA.isGeneratorFunction(function* test() { }); //=> true * RA.isGeneratorFunction(null); //=> false * RA.isGeneratorFunction(function test() { }); //=> false * RA.isGeneratorFunction(() => {}); //=> false */ var isGeneratorFunction = (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(1, (0,ramda__WEBPACK_IMPORTED_MODULE_1__["default"])(ramda__WEBPACK_IMPORTED_MODULE_2__["default"], (0,ramda__WEBPACK_IMPORTED_MODULE_3__["default"])('GeneratorFunction'))); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (isGeneratorFunction); /***/ }), /***/ 36201: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__), /* harmony export */ isIntegerPonyfill: () => (/* binding */ isIntegerPonyfill) /* harmony export */ }); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(19784); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(90560); /* harmony import */ var _isFunction_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(16867); /* harmony import */ var _internal_ponyfills_Number_isInteger_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(70407); var isIntegerPonyfill = (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(1, _internal_ponyfills_Number_isInteger_js__WEBPACK_IMPORTED_MODULE_1__["default"]); /** * Checks whether the passed value is an `integer`. * * @func isInteger * @memberOf RA * @since {@link https://char0n.github.io/ramda-adjunct/0.7.0|v0.7.0} * @category Type * @sig * -> Boolean * @param {*} val The value to test * @return {boolean} * @see {@link RA.isNotInteger|isNotInteger} * @example * * RA.isInteger(0); //=> true * RA.isInteger(1); //=> true * RA.isInteger(-100000); //=> true * * RA.isInteger(0.1); //=> false * RA.isInteger(Math.PI); //=> false * * RA.isInteger(NaN); //=> false * RA.isInteger(Infinity); //=> false * RA.isInteger(-Infinity); //=> false * RA.isInteger('10'); //=> false * RA.isInteger(true); //=> false * RA.isInteger(false); //=> false * RA.isInteger([1]); //=> false */ var isInteger = (0,_isFunction_js__WEBPACK_IMPORTED_MODULE_2__["default"])(Number.isInteger) ? (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(1, (0,ramda__WEBPACK_IMPORTED_MODULE_3__["default"])(Number.isInteger, Number)) : isIntegerPonyfill; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (isInteger); /***/ }), /***/ 58424: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(19784); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(24968); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(85476); /* harmony import */ var _isNumber_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4054); /** * Checks if value is a negative `Number` primitive or object. Zero is not considered neither * positive or negative. * * @func isNegative * @memberOf RA * @since {@link https://char0n.github.io/ramda-adjunct/1.15.0|v1.15.0} * @category Type * @sig * -> Boolean * @param {*} val The value to test * @return {boolean} * @see {@link RA.isPositive|isPositive} * @example * * RA.isNegative(-1); // => true * RA.isNegative(Number.MIN_VALUE); // => false * RA.isNegative(+Infinity); // => false * RA.isNegative(NaN); // => false * RA.isNegative('5'); // => false */ var isNegative = (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(1, (0,ramda__WEBPACK_IMPORTED_MODULE_1__["default"])(_isNumber_js__WEBPACK_IMPORTED_MODULE_2__["default"], (0,ramda__WEBPACK_IMPORTED_MODULE_3__["default"])(0))); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (isNegative); /***/ }), /***/ 60058: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(24968); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(76785); /* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(93834); /** * Checks if input value is not an empty `Array`. * * @func isNonEmptyArray * @memberOf RA * @since {@link https://char0n.github.io/ramda-adjunct/2.4.0|v2.4.0} * @category Type * @sig * -> Boolean * @param {*} val The value to test * @return {boolean} * @see {@link RA.isEmptyArray|isEmptyArray} * @example * * RA.isNonEmptyArray([42]); // => true * RA.isNonEmptyArray([]); // => false * RA.isNonEmptyArray({}); // => false * RA.isNonEmptyArray(null); // => false * RA.isNonEmptyArray(undefined); // => false * RA.isNonEmptyArray(42); // => false * RA.isNonEmptyArray('42'); // => false */ var isNonEmptyArray = (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(_isArray_js__WEBPACK_IMPORTED_MODULE_1__["default"], ramda__WEBPACK_IMPORTED_MODULE_2__["default"]); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (isNonEmptyArray); /***/ }), /***/ 68894: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1037); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(76785); /* harmony import */ var _isString_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(85102); /* harmony import */ var _isNotObj_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(38301); /** * Checks if input value is not an empty `String`. * * @func isNonEmptyString * @memberOf RA * @since {@link https://char0n.github.io/ramda-adjunct/2.4.0|v2.4.0} * @category Type * @sig * -> Boolean * @param {*} val The value to test * @return {boolean} * @see {@link RA.isEmptyString|isEmptyString} * @example * * RA.isNonEmptyString('42'); // => true * RA.isNonEmptyString(''); // => false * RA.isNonEmptyString(new String('42')); // => false * RA.isNonEmptyString(new String('')); // => false * RA.isNonEmptyString([42]); // => false * RA.isNonEmptyString({}); // => false * RA.isNonEmptyString(null); // => false * RA.isNonEmptyString(undefined); // => false * RA.isNonEmptyString(42); // => false */ var isNonEmptyString = (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])([_isString_js__WEBPACK_IMPORTED_MODULE_1__["default"], _isNotObj_js__WEBPACK_IMPORTED_MODULE_2__["default"], ramda__WEBPACK_IMPORTED_MODULE_3__["default"]]); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (isNonEmptyString); /***/ }), /***/ 2625: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(81323); /* harmony import */ var _isFinite_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4560); /** * Checks whether the passed value is complement of finite `Number`. * * * @func isNotFinite * @memberOf RA * @since {@link https://char0n.github.io/ramda-adjunct/0.7.0|v0.7.0} * @category Type * @sig * -> Boolean * @param {*} val The value to test * @return {boolean} * @see {@link RA.isFinite|isFinite} * @example * * RA.isNotFinite(Infinity); //=> true * RA.isNotFinite(NaN); //=> true * RA.isNotFinite(-Infinity); //=> true * * RA.isNotFinite(0); // false * RA.isNotFinite(2e64); // false * * RA.isNotFinite('0'); // => true * RA.isNotFinite(null); // => true */ var isNotFinite = (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(_isFinite_js__WEBPACK_IMPORTED_MODULE_1__["default"]); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (isNotFinite); /***/ }), /***/ 2754: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(81323); /* harmony import */ var _isFunction_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(16867); /* eslint-disable max-len */ /** * Checks if input value is complement of `Function`. * * @func isNotFunction * @memberOf RA * @since {@link https://char0n.github.io/ramda-adjunct/0.5.0|v0.5.0} * @category Type * @sig * -> Boolean * @param {*} val The value to test * @return {boolean} * @see {@link RA.isFunction|isFunction}, {@link RA.isAsyncFunction|isNotAsyncFunction}, {@link RA.isGeneratorFunction|isGeneratorFunction} * @example * * RA.isNotFunction(function test() { }); //=> false * RA.isNotFunction(function* test() { }); //=> false * RA.isNotFunction(async function test() { }); //=> false * RA.isNotFunction(() => {}); //=> false * RA.isNotFunction(null); //=> true * RA.isNotFunction('abc'); //=> true */ /* eslint-enable max-len */ var isNotFunction = (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(_isFunction_js__WEBPACK_IMPORTED_MODULE_1__["default"]); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (isNotFunction); /***/ }), /***/ 76955: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(81323); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(19904); /** * Checks if input value is complement of `null` or `undefined`. * * @func isNotNil * @memberOf RA * @since {@link https://char0n.github.io/ramda-adjunct/0.3.0|v0.3.0} * @category Type * @sig * -> Boolean * @param {*} val The value to test * @return {boolean} * @see {@link http://ramdajs.com/docs/#isNil|R.isNil} * @example * * RA.isNotNil(null); //=> false * RA.isNotNil(undefined); //=> false * RA.isNotNil(0); //=> true * RA.isNotNil([]); //=> true */ var isNotNil = (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(ramda__WEBPACK_IMPORTED_MODULE_1__["default"]); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (isNotNil); /***/ }), /***/ 46907: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(81323); /* harmony import */ var _isNull_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(11834); /** * Checks if input value is complement of `null`. * * @func isNotNull * @memberOf RA * @since {@link https://char0n.github.io/ramda-adjunct/0.1.0|v0.1.0} * @category Type * @sig * -> Boolean * @param {*} val The value to test * @return {boolean} * @see {@link RA.isNull|isNull} * @example * * RA.isNotNull(1); //=> true * RA.isNotNull(undefined); //=> true * RA.isNotNull(null); //=> false */ var isNotNull = (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(_isNull_js__WEBPACK_IMPORTED_MODULE_1__["default"]); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (isNotNull); /***/ }), /***/ 38301: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(81323); /* harmony import */ var _isObj_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(85138); /* eslint-disable max-len */ /** * Checks if input value is complement of language type of `Object`. * * @func isNotObj * @aliases isNotObject * @memberOf RA * @since {@link https://char0n.github.io/ramda-adjunct/0.5.0|v0.5.0} * @category Type * @sig * -> Boolean * @param {*} val The value to test * @return {boolean} * @see {@link RA.isObj|isObj}, {@link RA.isObjLike|isObjLike}, {@link RA.isPlainObj|isPlainObj} * @example * * RA.isNotObj({}); //=> false * RA.isNotObj([]); //=> false * RA.isNotObj(() => {}); //=> false * RA.isNotObj(null); //=> true * RA.isNotObj(undefined); //=> true */ /* eslint-enable max-len */ var isNotObj = (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(_isObj_js__WEBPACK_IMPORTED_MODULE_1__["default"]); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (isNotObj); /***/ }), /***/ 82179: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(81323); /* harmony import */ var _isUndefined_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(33031); /** * Checks if input value is complement `undefined`. * * @func isNotUndefined * @memberOf RA * @since {@link https://char0n.github.io/ramda-adjunct/0.0.1|v0.0.1} * @category Type * @sig * -> Boolean * @param {*} val The value to test * @return {boolean} * @see {@link RA.isUndefined|isUndefined} * @example * * RA.isNotUndefined(1); //=> true * RA.isNotUndefined(undefined); //=> false * RA.isNotUndefined(null); //=> true */ var isNotUndefined = (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(_isUndefined_js__WEBPACK_IMPORTED_MODULE_1__["default"]); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (isNotUndefined); /***/ }), /***/ 11834: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(53654); /** * Checks if input value is `null`. * * @func isNull * @memberOf RA * @since {@link https://char0n.github.io/ramda-adjunct/0.1.0|v0.1.0} * @category Type * @sig * -> Boolean * @param {*} val The value to test * @return {boolean} * @see {@link RA.isNotNull|isNotNull} * @example * * RA.isNull(1); //=> false * RA.isNull(undefined); //=> false * RA.isNull(null); //=> true */ var isNull = (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(null); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (isNull); /***/ }), /***/ 4054: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(19784); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(27567); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(60963); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(62572); /** * Checks if value is a `Number` primitive or object. * * @func isNumber * @memberOf RA * @since {@link https://char0n.github.io/ramda-adjunct/0.6.0|v0.6.0} * @category Type * @sig * -> Boolean * @param {*} val The value to test * @return {boolean} * @see {@link RA.isNotNumber|isNotNumber} * @example * * RA.isNumber(5); // => true * RA.isNumber(Number.MAX_VALUE); // => true * RA.isNumber(-Infinity); // => true * RA.isNumber(NaN); // => true * RA.isNumber('5'); // => false */ var isNumber = (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(1, (0,ramda__WEBPACK_IMPORTED_MODULE_1__["default"])(ramda__WEBPACK_IMPORTED_MODULE_2__["default"], (0,ramda__WEBPACK_IMPORTED_MODULE_3__["default"])('Number'))); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (isNumber); /***/ }), /***/ 85138: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(19784); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(24968); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(4462); /* harmony import */ var _isNotNull_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(46907); /* harmony import */ var _isFunction_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(16867); /* harmony import */ var _internal_isOfTypeObject_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(9871); /* eslint-disable max-len */ /** * Checks if input value is language type of `Object`. * * @func isObj * @aliases isObject * @memberOf RA * @since {@link https://char0n.github.io/ramda-adjunct/0.5.0|v0.5.0} * @category Type * @sig * -> Boolean * @param {*} val The value to test * @return {boolean} * @see {@link RA.isNotObj|isNotObj}, {@link RA.isObjLike|isObjLike}, {@link RA.isPlainObj|isPlainObj} * @example * * RA.isObj({}); //=> true * RA.isObj([]); //=> true * RA.isObj(() => {}); //=> true * RA.isObj(null); //=> false * RA.isObj(undefined); //=> false */ /* eslint-enable max-len */ var isObj = (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(1, (0,ramda__WEBPACK_IMPORTED_MODULE_1__["default"])(_isNotNull_js__WEBPACK_IMPORTED_MODULE_2__["default"], (0,ramda__WEBPACK_IMPORTED_MODULE_3__["default"])(_internal_isOfTypeObject_js__WEBPACK_IMPORTED_MODULE_4__["default"], _isFunction_js__WEBPACK_IMPORTED_MODULE_5__["default"]))); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (isObj); /***/ }), /***/ 46989: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(19784); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(24968); /* harmony import */ var _isNotNull_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(46907); /* harmony import */ var _internal_isOfTypeObject_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(9871); /* eslint-disable max-len */ /** * Checks if value is object-like. A value is object-like if it's not null and has a typeof result of "object". * * @func isObjLike * @aliases isObjectLike * @memberOf RA * @since {@link https://char0n.github.io/ramda-adjunct/0.5.0|v0.5.0} * @category Type * @sig * -> Boolean * @param {*} val The value to test * @return {boolean} * @see {@link RA.isNotObjLike|isNotObjLike}, {@link RA.isObj|isObj}, {@link RA.isPlainObj|isPlainObj} * @example * * RA.isObjLike({}); //=> true * RA.isObjLike([]); //=> true * RA.isObjLike(() => {}); //=> false * RA.isObjLike(null); //=> false * RA.isObjLike(undefined); //=> false */ /* eslint-enable max-len */ var isObjLike = (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(1, (0,ramda__WEBPACK_IMPORTED_MODULE_1__["default"])(_isNotNull_js__WEBPACK_IMPORTED_MODULE_2__["default"], _internal_isOfTypeObject_js__WEBPACK_IMPORTED_MODULE_3__["default"])); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (isObjLike); /***/ }), /***/ 34606: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(27567); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(60963); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(62572); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(9271); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(53654); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(44787); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(24968); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(19784); /* harmony import */ var _isNull_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(11834); /* harmony import */ var _isObjLike_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(46989); /* harmony import */ var _isFunction_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(16867); var isObject = (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(ramda__WEBPACK_IMPORTED_MODULE_1__["default"], (0,ramda__WEBPACK_IMPORTED_MODULE_2__["default"])('Object')); var isObjectConstructor = (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(ramda__WEBPACK_IMPORTED_MODULE_3__["default"], (0,ramda__WEBPACK_IMPORTED_MODULE_4__["default"])((0,ramda__WEBPACK_IMPORTED_MODULE_3__["default"])(Object))); var hasObjectConstructor = (0,ramda__WEBPACK_IMPORTED_MODULE_5__["default"])((0,ramda__WEBPACK_IMPORTED_MODULE_6__["default"])(_isFunction_js__WEBPACK_IMPORTED_MODULE_7__["default"], isObjectConstructor), ['constructor']); /* eslint-disable max-len */ /** * Check to see if an object is a plain object (created using `{}`, `new Object()` or `Object.create(null)`). * * @func isPlainObj * @aliases isPlainObject * @memberOf RA * @since {@link https://char0n.github.io/ramda-adjunct/0.5.0|v0.5.0} * @category Type * @sig * -> Boolean * @param {*} val The value to test * @return {boolean} * @see {@link RA.isNotPlainObj|isNotPlainObj}, {@link RA.isObjLike|isObjLike}, {@link RA.isObj|isObj} * @example * * class Bar { * constructor() { * this.prop = 'value'; * } * } * * RA.isPlainObj(new Bar()); //=> false * RA.isPlainObj({ prop: 'value' }); //=> true * RA.isPlainObj(['a', 'b', 'c']); //=> false * RA.isPlainObj(Object.create(null); //=> true * RA.isPlainObj(new Object()); //=> true */ /* eslint-enable max-len */ var isPlainObj = (0,ramda__WEBPACK_IMPORTED_MODULE_8__["default"])(1, function (val) { if (!(0,_isObjLike_js__WEBPACK_IMPORTED_MODULE_9__["default"])(val) || !isObject(val)) { return false; } var proto = Object.getPrototypeOf(val); if ((0,_isNull_js__WEBPACK_IMPORTED_MODULE_10__["default"])(proto)) { return true; } return hasObjectConstructor(proto); }); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (isPlainObj); /***/ }), /***/ 85102: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(19784); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(27567); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(60963); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(62572); /** * Checks if input value is `String`. * * @func isString * @memberOf RA * @since {@link https://char0n.github.io/ramda-adjunct/0.4.0|v0.4.0} * @category Type * @sig * -> Boolean * @param {*} val The value to test * @return {boolean} * @see {@link RA.isNotString|isNotString} * @example * * RA.isString('abc'); //=> true * RA.isString(1); //=> false */ var isString = (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(1, (0,ramda__WEBPACK_IMPORTED_MODULE_1__["default"])(ramda__WEBPACK_IMPORTED_MODULE_2__["default"], (0,ramda__WEBPACK_IMPORTED_MODULE_3__["default"])('String'))); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (isString); /***/ }), /***/ 33031: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(53654); /* harmony import */ var _stubUndefined_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(23387); /** * Checks if input value is `undefined`. * * @func isUndefined * @memberOf RA * @since {@link https://char0n.github.io/ramda-adjunct/0.0.1|v0.0.1} * @category Type * @sig * -> Boolean * @param {*} val The value to test * @return {boolean} * @see {@link RA.isNotUndefined|isNotUndefined} * @example * * RA.isUndefined(1); //=> false * RA.isUndefined(undefined); //=> true * RA.isUndefined(null); //=> false */ var isUndefined = (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])((0,_stubUndefined_js__WEBPACK_IMPORTED_MODULE_1__["default"])()); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (isUndefined); /***/ }), /***/ 20869: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__), /* harmony export */ repeatStrInvoker: () => (/* binding */ repeatStrInvoker), /* harmony export */ repeatStrPonyfill: () => (/* binding */ repeatStrPonyfill) /* harmony export */ }); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(84332); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(69180); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(41837); /* harmony import */ var _internal_ponyfills_String_repeat_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(48798); /* harmony import */ var _isFunction_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(16867); var repeatStrPonyfill = (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(_internal_ponyfills_String_repeat_js__WEBPACK_IMPORTED_MODULE_1__["default"]); var repeatStrInvoker = (0,ramda__WEBPACK_IMPORTED_MODULE_2__["default"])((0,ramda__WEBPACK_IMPORTED_MODULE_3__["default"])(1, 'repeat')); /** * Constructs and returns a new string which contains the specified * number of copies of the string on which it was called, concatenated together. * * @func repeatStr * @memberOf RA * @since {@link https://char0n.github.io/ramda-adjunct/2.11.0|v2.11.0} * @category List * @sig String -> Number -> String * @param {string} value String value to be repeated * @param {number} count An integer between 0 and +∞: [0, +∞), indicating the number of times to repeat the string in the newly-created string that is to be returned * @return {string} A new string containing the specified number of copies of the given string * @example * * RA.repeatStr('a', 3); //=> 'aaa' */ var repeatStr = (0,_isFunction_js__WEBPACK_IMPORTED_MODULE_4__["default"])(String.prototype.repeat) ? repeatStrInvoker : repeatStrPonyfill; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (repeatStr); /***/ }), /***/ 23387: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(29498); /** * A function that returns `undefined`. * * @func stubUndefined * @memberOf RA * @since {@link https://char0n.github.io/ramda-adjunct/1.0.0|v1.0.0} * @category Function * @sig ... -> undefined * @return {undefined} * @example * * RA.stubUndefined(); //=> undefined * RA.stubUndefined(1, 2, 3); //=> undefined */ var stubUndefined = (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(void 0); // eslint-disable-line no-void /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (stubUndefined); /***/ }), /***/ 64988: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(84332); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(27567); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(67515); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(52781); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(95819); /* harmony import */ var _included_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(73699); /** * Removes specified characters from the beginning of a string. * * @func trimCharsStart * @memberOf RA * @since {@link https://char0n.github.io/ramda-adjunct/2.24.0|v2.24.0} * @category String * @sig String -> String * @param {string} chars The characters to trim * @param {string} value The string to trim * @return {string} Returns the trimmed string. * @example * * RA.trimCharsStart('_-', '-_-abc-_-'); //=> 'abc-_-' */ var trimCharsStart = (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(function (chars, value) { return (0,ramda__WEBPACK_IMPORTED_MODULE_1__["default"])((0,ramda__WEBPACK_IMPORTED_MODULE_2__["default"])(''), (0,ramda__WEBPACK_IMPORTED_MODULE_3__["default"])((0,_included_js__WEBPACK_IMPORTED_MODULE_4__["default"])(chars)), (0,ramda__WEBPACK_IMPORTED_MODULE_5__["default"])(''))(value); }); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (trimCharsStart); /***/ }), /***/ 92766: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__), /* harmony export */ trimEndInvoker: () => (/* binding */ trimEndInvoker), /* harmony export */ trimEndPonyfill: () => (/* binding */ trimEndPonyfill) /* harmony export */ }); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(41837); /* harmony import */ var _internal_ponyfills_String_trimEnd_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(65988); /* harmony import */ var _isFunction_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(16867); var trimEndPonyfill = _internal_ponyfills_String_trimEnd_js__WEBPACK_IMPORTED_MODULE_0__["default"]; var trimEndInvoker = (0,ramda__WEBPACK_IMPORTED_MODULE_1__["default"])(0, 'trimEnd'); /** * Removes whitespace from the end of a string. * * @func trimEnd * @memberOf RA * @since {@link https://char0n.github.io/ramda-adjunct/2.22.0|v2.22.0} * @category String * @sig String -> String * @param {string} value String value to have the whitespace removed from the end * @return {string} A new string representing the calling string stripped of whitespace from its end (right end). * @see {@link RA.trimEnd|trimEnd} * @example * * RA.trimEnd('abc '); //=> 'abc' */ var trimEnd = (0,_isFunction_js__WEBPACK_IMPORTED_MODULE_2__["default"])(String.prototype.trimEnd) ? trimEndInvoker : trimEndPonyfill; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (trimEnd); /***/ }), /***/ 5059: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__), /* harmony export */ trimStartInvoker: () => (/* binding */ trimStartInvoker), /* harmony export */ trimStartPonyfill: () => (/* binding */ trimStartPonyfill) /* harmony export */ }); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(41837); /* harmony import */ var _internal_ponyfills_String_trimStart_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(58877); /* harmony import */ var _isFunction_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(16867); var trimStartPonyfill = _internal_ponyfills_String_trimStart_js__WEBPACK_IMPORTED_MODULE_0__["default"]; var trimStartInvoker = (0,ramda__WEBPACK_IMPORTED_MODULE_1__["default"])(0, 'trimStart'); /** * Removes whitespace from the beginning of a string. * * @func trimStart * @memberOf RA * @since {@link https://char0n.github.io/ramda-adjunct/2.22.0|v2.22.0} * @category String * @sig String -> String * @param {string} value String value to have the whitespace removed from the beginning * @return {string} A new string representing the calling string stripped of whitespace from its beginning (left end). * @example * * RA.trimStart(' abc'); //=> 'abc' */ var trimStart = (0,_isFunction_js__WEBPACK_IMPORTED_MODULE_2__["default"])(String.prototype.trimStart) ? trimStartInvoker : trimStartPonyfill; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (trimStart); /***/ }), /***/ 28833: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /** * A function that always returns `false`. Any passed in parameters are ignored. * * @func * @memberOf R * @since v0.9.0 * @category Function * @sig * -> Boolean * @param {*} * @return {Boolean} * @see R.T * @example * * R.F(); //=> false */ var F = function () { return false; }; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (F); /***/ }), /***/ 53679: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /** * A function that always returns `true`. Any passed in parameters are ignored. * * @func * @memberOf R * @since v0.9.0 * @category Function * @sig * -> Boolean * @param {*} * @return {Boolean} * @see R.F * @example * * R.T(); //=> true */ var T = function () { return true; }; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (T); /***/ }), /***/ 95380: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(45959); /* harmony import */ var _internal_dispatchable_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(96738); /* harmony import */ var _internal_xall_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(96359); /** * Returns `true` if all elements of the list match the predicate, `false` if * there are any that don't. * * Dispatches to the `all` method of the second argument, if present. * * Acts as a transducer if a transformer is given in list position. * * @func * @memberOf R * @since v0.1.0 * @category List * @sig (a -> Boolean) -> [a] -> Boolean * @param {Function} fn The predicate function. * @param {Array} list The array to consider. * @return {Boolean} `true` if the predicate is satisfied by every element, `false` * otherwise. * @see R.any, R.none, R.transduce * @example * * const equals3 = R.equals(3); * R.all(equals3)([3, 3, 3, 3]); //=> true * R.all(equals3)([3, 3, 1, 3]); //=> false */ var all = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/(0,_internal_dispatchable_js__WEBPACK_IMPORTED_MODULE_1__["default"])(['all'], _internal_xall_js__WEBPACK_IMPORTED_MODULE_2__["default"], function all(fn, list) { var idx = 0; while (idx < list.length) { if (!fn(list[idx])) { return false; } idx += 1; } return true; })); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (all); /***/ }), /***/ 1037: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(18938); /* harmony import */ var _curryN_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(19784); /* harmony import */ var _max_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(54981); /* harmony import */ var _pluck_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(39590); /* harmony import */ var _reduce_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(97797); /** * Takes a list of predicates and returns a predicate that returns true for a * given list of arguments if every one of the provided predicates is satisfied * by those arguments. * * The function returned is a curried function whose arity matches that of the * highest-arity predicate. * * @func * @memberOf R * @since v0.9.0 * @category Logic * @sig [(*... -> Boolean)] -> (*... -> Boolean) * @param {Array} predicates An array of predicates to check * @return {Function} The combined predicate * @see R.anyPass, R.both * @example * * const isQueen = R.propEq('Q', 'rank'); * const isSpade = R.propEq('♠︎', 'suit'); * const isQueenOfSpades = R.allPass([isQueen, isSpade]); * * isQueenOfSpades({rank: 'Q', suit: '♣︎'}); //=> false * isQueenOfSpades({rank: 'Q', suit: '♠︎'}); //=> true */ var allPass = /*#__PURE__*/(0,_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function allPass(preds) { return (0,_curryN_js__WEBPACK_IMPORTED_MODULE_1__["default"])((0,_reduce_js__WEBPACK_IMPORTED_MODULE_2__["default"])(_max_js__WEBPACK_IMPORTED_MODULE_3__["default"], 0, (0,_pluck_js__WEBPACK_IMPORTED_MODULE_4__["default"])('length', preds)), function () { var idx = 0; var len = preds.length; while (idx < len) { if (!preds[idx].apply(this, arguments)) { return false; } idx += 1; } return true; }); }); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (allPass); /***/ }), /***/ 29498: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(18938); /** * Returns a function that always returns the given value. Note that for * non-primitives the value returned is a reference to the original value. * * This function is known as `const`, `constant`, or `K` (for K combinator) in * other languages and libraries. * * @func * @memberOf R * @since v0.1.0 * @category Function * @sig a -> (* -> a) * @param {*} val The value to wrap in a function * @return {Function} A Function :: * -> val. * @example * * const t = R.always('Tee'); * t(); //=> 'Tee' */ var always = /*#__PURE__*/(0,_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function always(val) { return function () { return val; }; }); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (always); /***/ }), /***/ 37086: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(45959); /** * Returns the first argument if it is falsy, otherwise the second argument. * Acts as the boolean `and` statement if both inputs are `Boolean`s. * * @func * @memberOf R * @since v0.1.0 * @category Logic * @sig a -> b -> a | b * @param {Any} a * @param {Any} b * @return {Any} * @see R.both, R.or * @example * * R.and(true, true); //=> true * R.and(true, false); //=> false * R.and(false, true); //=> false * R.and(false, false); //=> false */ var and = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function and(a, b) { return a && b; }); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (and); /***/ }), /***/ 91020: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(18938); /* harmony import */ var _curryN_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(19784); /* harmony import */ var _max_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(54981); /* harmony import */ var _pluck_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(39590); /* harmony import */ var _reduce_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(97797); /** * Takes a list of predicates and returns a predicate that returns true for a * given list of arguments if at least one of the provided predicates is * satisfied by those arguments. * * The function returned is a curried function whose arity matches that of the * highest-arity predicate. * * @func * @memberOf R * @since v0.9.0 * @category Logic * @sig [(*... -> Boolean)] -> (*... -> Boolean) * @param {Array} predicates An array of predicates to check * @return {Function} The combined predicate * @see R.allPass, R.either * @example * * const isClub = R.propEq('♣', 'suit'); * const isSpade = R.propEq('♠', 'suit'); * const isBlackCard = R.anyPass([isClub, isSpade]); * * isBlackCard({rank: '10', suit: '♣'}); //=> true * isBlackCard({rank: 'Q', suit: '♠'}); //=> true * isBlackCard({rank: 'Q', suit: '♦'}); //=> false */ var anyPass = /*#__PURE__*/(0,_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function anyPass(preds) { return (0,_curryN_js__WEBPACK_IMPORTED_MODULE_1__["default"])((0,_reduce_js__WEBPACK_IMPORTED_MODULE_2__["default"])(_max_js__WEBPACK_IMPORTED_MODULE_3__["default"], 0, (0,_pluck_js__WEBPACK_IMPORTED_MODULE_4__["default"])('length', preds)), function () { var idx = 0; var len = preds.length; while (idx < len) { if (preds[idx].apply(this, arguments)) { return true; } idx += 1; } return false; }); }); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (anyPass); /***/ }), /***/ 93470: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _internal_concat_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(12840); /* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(45959); /* harmony import */ var _internal_reduce_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(60166); /* harmony import */ var _map_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(397); /** * ap applies a list of functions to a list of values. * * Dispatches to the `ap` method of the first argument, if present. Also * treats curried functions as applicatives. * * @func * @memberOf R * @since v0.3.0 * @category Function * @sig [a -> b] -> [a] -> [b] * @sig Apply f => f (a -> b) -> f a -> f b * @sig (r -> a -> b) -> (r -> a) -> (r -> b) * @param {*} applyF * @param {*} applyX * @return {*} * @example * * R.ap([R.multiply(2), R.add(3)], [1,2,3]); //=> [2, 4, 6, 4, 5, 6] * R.ap([R.concat('tasty '), R.toUpper], ['pizza', 'salad']); //=> ["tasty pizza", "tasty salad", "PIZZA", "SALAD"] * * // R.ap can also be used as S combinator * // when only two functions are passed * R.ap(R.concat, R.toUpper)('Ramda') //=> 'RamdaRAMDA' * @symb R.ap([f, g], [a, b]) = [f(a), f(b), g(a), g(b)] */ var ap = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function ap(applyF, applyX) { return typeof applyX['fantasy-land/ap'] === 'function' ? applyX['fantasy-land/ap'](applyF) : typeof applyF.ap === 'function' ? applyF.ap(applyX) : typeof applyF === 'function' ? function (x) { return applyF(x)(applyX(x)); } : (0,_internal_reduce_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function (acc, f) { return (0,_internal_concat_js__WEBPACK_IMPORTED_MODULE_2__["default"])(acc, (0,_map_js__WEBPACK_IMPORTED_MODULE_3__["default"])(f, applyX)); }, [], applyF); }); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ap); /***/ }), /***/ 28711: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(45959); /** * Applies function `fn` to the argument list `args`. This is useful for * creating a fixed-arity function from a variadic function. `fn` should be a * bound function if context is significant. * * @func * @memberOf R * @since v0.7.0 * @category Function * @sig (*... -> a) -> [*] -> a * @param {Function} fn The function which will be called with `args` * @param {Array} args The arguments to call `fn` with * @return {*} result The result, equivalent to `fn(...args)` * @see R.call, R.unapply * @example * * const nums = [1, 2, 3, -99, 42, 6, 7]; * R.apply(Math.max, nums); //=> 42 * @symb R.apply(f, [a, b, c]) = f(a, b, c) */ var apply = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function apply(fn, args) { return fn.apply(this, args); }); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (apply); /***/ }), /***/ 90560: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _internal_arity_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(53607); /* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(45959); /** * Creates a function that is bound to a context. * Note: `R.bind` does not provide the additional argument-binding capabilities of * [Function.prototype.bind](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/bind). * * @func * @memberOf R * @since v0.6.0 * @category Function * @category Object * @sig (* -> *) -> {*} -> (* -> *) * @param {Function} fn The function to bind to context * @param {Object} thisObj The context to bind `fn` to * @return {Function} A function that will execute in the context of `thisObj`. * @see R.partial * @example * * const log = R.bind(console.log, console); * R.pipe(R.assoc('a', 2), R.tap(log), R.assoc('a', 3))({a: 1}); //=> {a: 3} * // logs {a: 2} * @symb R.bind(f, o)(a, b) = f.call(o, a, b) */ var bind = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function bind(fn, thisObj) { return (0,_internal_arity_js__WEBPACK_IMPORTED_MODULE_1__["default"])(fn.length, function () { return fn.apply(thisObj, arguments); }); }); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (bind); /***/ }), /***/ 24968: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(45959); /* harmony import */ var _internal_isFunction_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(59892); /* harmony import */ var _and_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(37086); /* harmony import */ var _lift_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(79362); /** * A function which calls the two provided functions and returns the `&&` * of the results. * It returns the result of the first function if it is false-y and the result * of the second function otherwise. Note that this is short-circuited, * meaning that the second function will not be invoked if the first returns a * false-y value. * * In addition to functions, `R.both` also accepts any fantasy-land compatible * applicative functor. * * @func * @memberOf R * @since v0.12.0 * @category Logic * @sig (*... -> Boolean) -> (*... -> Boolean) -> (*... -> Boolean) * @param {Function} f A predicate * @param {Function} g Another predicate * @return {Function} a function that applies its arguments to `f` and `g` and `&&`s their outputs together. * @see R.either, R.allPass, R.and * @example * * const gt10 = R.gt(R.__, 10) * const lt20 = R.lt(R.__, 20) * const f = R.both(gt10, lt20); * f(15); //=> true * f(30); //=> false * * R.both(Maybe.Just(false), Maybe.Just(55)); // => Maybe.Just(false) * R.both([false, false, 'a'], [11]); //=> [false, false, 11] */ var both = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function both(f, g) { return (0,_internal_isFunction_js__WEBPACK_IMPORTED_MODULE_1__["default"])(f) ? function _both() { return f.apply(this, arguments) && g.apply(this, arguments); } : (0,_lift_js__WEBPACK_IMPORTED_MODULE_2__["default"])(_and_js__WEBPACK_IMPORTED_MODULE_3__["default"])(f, g); }); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (both); /***/ }), /***/ 85757: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _internal_clone_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8575); /* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(18938); /** * Creates a deep copy of the source that can be used in place of the source * object without retaining any references to it. * The source object may contain (nested) `Array`s and `Object`s, * `Number`s, `String`s, `Boolean`s and `Date`s. * `Function`s are assigned by reference rather than copied. * * Dispatches to a `clone` method if present. * * Note that if the source object has multiple nodes that share a reference, * the returned object will have the same structure, but the references will * be pointed to the location within the cloned value. * * @func * @memberOf R * @since v0.1.0 * @category Object * @sig {*} -> {*} * @param {*} value The object or array to clone * @return {*} A deeply cloned copy of `val` * @example * * const objects = [{}, {}, {}]; * const objectsClone = R.clone(objects); * objects === objectsClone; //=> false * objects[0] === objectsClone[0]; //=> false */ var clone = /*#__PURE__*/(0,_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function clone(value) { return value != null && typeof value.clone === 'function' ? value.clone() : (0,_internal_clone_js__WEBPACK_IMPORTED_MODULE_1__["default"])(value, true); }); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (clone); /***/ }), /***/ 68199: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(18938); /** * Makes a comparator function out of a function that reports whether the first * element is less than the second. * * @func * @memberOf R * @since v0.1.0 * @category Function * @sig ((a, b) -> Boolean) -> ((a, b) -> Number) * @param {Function} pred A predicate function of arity two which will return `true` if the first argument * is less than the second, `false` otherwise * @return {Function} A Function :: a -> b -> Int that returns `-1` if a < b, `1` if b < a, otherwise `0` * @example * * const byAge = R.comparator((a, b) => a.age < b.age); * const people = [ * { name: 'Emma', age: 70 }, * { name: 'Peter', age: 78 }, * { name: 'Mikhail', age: 62 }, * ]; * const peopleByIncreasingAge = R.sort(byAge, people); * //=> [{ name: 'Mikhail', age: 62 },{ name: 'Emma', age: 70 }, { name: 'Peter', age: 78 }] */ var comparator = /*#__PURE__*/(0,_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function comparator(pred) { return function (a, b) { return pred(a, b) ? -1 : pred(b, a) ? 1 : 0; }; }); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (comparator); /***/ }), /***/ 81323: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _lift_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(79362); /* harmony import */ var _not_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(62486); /** * Takes a function `f` and returns a function `g` such that if called with the same arguments * when `f` returns a "truthy" value, `g` returns `false` and when `f` returns a "falsy" value `g` returns `true`. * * `R.complement` may be applied to any functor * * @func * @memberOf R * @since v0.12.0 * @category Logic * @sig (*... -> *) -> (*... -> Boolean) * @param {Function} f * @return {Function} * @see R.not * @example * * const isNotNil = R.complement(R.isNil); * R.isNil(null); //=> true * isNotNil(null); //=> false * R.isNil(7); //=> false * isNotNil(7); //=> true */ var complement = /*#__PURE__*/(0,_lift_js__WEBPACK_IMPORTED_MODULE_0__["default"])(_not_js__WEBPACK_IMPORTED_MODULE_1__["default"]); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (complement); /***/ }), /***/ 95775: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ compose) /* harmony export */ }); /* harmony import */ var _pipe_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(27567); /* harmony import */ var _reverse_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(76173); /** * Performs right-to-left function composition. The last argument may have * any arity; the remaining arguments must be unary. * * **Note:** The result of compose is not automatically curried. * * @func * @memberOf R * @since v0.1.0 * @category Function * @sig ((y -> z), (x -> y), ..., (o -> p), ((a, b, ..., n) -> o)) -> ((a, b, ..., n) -> z) * @param {...Function} ...functions The functions to compose * @return {Function} * @see R.pipe * @example * * const classyGreeting = (firstName, lastName) => "The name's " + lastName + ", " + firstName + " " + lastName * const yellGreeting = R.compose(R.toUpper, classyGreeting); * yellGreeting('James', 'Bond'); //=> "THE NAME'S BOND, JAMES BOND" * * R.compose(Math.abs, R.add(1), R.multiply(2))(-4) //=> 7 * * @symb R.compose(f, g, h)(a, b) = f(g(h(a, b))) * @symb R.compose(f, g, h)(a)(b) = f(g(h(a)))(b) */ function compose() { if (arguments.length === 0) { throw new Error('compose requires at least one argument'); } return _pipe_js__WEBPACK_IMPORTED_MODULE_0__["default"].apply(this, (0,_reverse_js__WEBPACK_IMPORTED_MODULE_1__["default"])(arguments)); } /***/ }), /***/ 28195: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(45959); /* harmony import */ var _internal_isArray_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4099); /* harmony import */ var _internal_isFunction_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(59892); /* harmony import */ var _internal_isString_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(40141); /* harmony import */ var _toString_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(9271); /** * Returns the result of concatenating the given lists or strings. * * Note: `R.concat` expects both arguments to be of the same type, * unlike the native `Array.prototype.concat` method. It will throw * an error if you `concat` an Array with a non-Array value. * * Dispatches to the `concat` method of the first argument, if present. * Can also concatenate two members of a [fantasy-land * compatible semigroup](https://github.com/fantasyland/fantasy-land#semigroup). * * @func * @memberOf R * @since v0.1.0 * @category List * @sig [a] -> [a] -> [a] * @sig String -> String -> String * @param {Array|String} firstList The first list * @param {Array|String} secondList The second list * @return {Array|String} A list consisting of the elements of `firstList` followed by the elements of * `secondList`. * * @example * * R.concat('ABC', 'DEF'); // 'ABCDEF' * R.concat([4, 5, 6], [1, 2, 3]); //=> [4, 5, 6, 1, 2, 3] * R.concat([], []); //=> [] */ var concat = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function concat(a, b) { if ((0,_internal_isArray_js__WEBPACK_IMPORTED_MODULE_1__["default"])(a)) { if ((0,_internal_isArray_js__WEBPACK_IMPORTED_MODULE_1__["default"])(b)) { return a.concat(b); } throw new TypeError((0,_toString_js__WEBPACK_IMPORTED_MODULE_2__["default"])(b) + ' is not an array'); } if ((0,_internal_isString_js__WEBPACK_IMPORTED_MODULE_3__["default"])(a)) { if ((0,_internal_isString_js__WEBPACK_IMPORTED_MODULE_3__["default"])(b)) { return a + b; } throw new TypeError((0,_toString_js__WEBPACK_IMPORTED_MODULE_2__["default"])(b) + ' is not a string'); } if (a != null && (0,_internal_isFunction_js__WEBPACK_IMPORTED_MODULE_4__["default"])(a['fantasy-land/concat'])) { return a['fantasy-land/concat'](b); } if (a != null && (0,_internal_isFunction_js__WEBPACK_IMPORTED_MODULE_4__["default"])(a.concat)) { return a.concat(b); } throw new TypeError((0,_toString_js__WEBPACK_IMPORTED_MODULE_2__["default"])(a) + ' does not have a method named "concat" or "fantasy-land/concat"'); }); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (concat); /***/ }), /***/ 37698: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(45959); /* harmony import */ var _internal_map_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(46584); /* harmony import */ var _curryN_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(19784); /* harmony import */ var _max_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(54981); /* harmony import */ var _pluck_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(39590); /* harmony import */ var _reduce_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(97797); /** * Accepts a converging function and a list of branching functions and returns * a new function. The arity of the new function is the same as the arity of * the longest branching function. When invoked, this new function is applied * to some arguments, and each branching function is applied to those same * arguments. The results of each branching function are passed as arguments * to the converging function to produce the return value. * * @func * @memberOf R * @since v0.4.2 * @category Function * @sig ((x1, x2, ...) -> z) -> [((a, b, ...) -> x1), ((a, b, ...) -> x2), ...] -> (a -> b -> ... -> z) * @param {Function} after A function. `after` will be invoked with the return values of * `fn1` and `fn2` as its arguments. * @param {Array} functions A list of functions. * @return {Function} A new function. * @see R.useWith * @example * * const average = R.converge(R.divide, [R.sum, R.length]) * average([1, 2, 3, 4, 5, 6, 7]) //=> 4 * * const strangeConcat = R.converge(R.concat, [R.toUpper, R.toLower]) * strangeConcat("Yodel") //=> "YODELyodel" * * @symb R.converge(f, [g, h])(a, b) = f(g(a, b), h(a, b)) */ var converge = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function converge(after, fns) { return (0,_curryN_js__WEBPACK_IMPORTED_MODULE_1__["default"])((0,_reduce_js__WEBPACK_IMPORTED_MODULE_2__["default"])(_max_js__WEBPACK_IMPORTED_MODULE_3__["default"], 0, (0,_pluck_js__WEBPACK_IMPORTED_MODULE_4__["default"])('length', fns)), function () { var args = arguments; var context = this; return after.apply(context, (0,_internal_map_js__WEBPACK_IMPORTED_MODULE_5__["default"])(function (fn) { return fn.apply(context, args); }, fns)); }); }); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (converge); /***/ }), /***/ 84332: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(18938); /* harmony import */ var _curryN_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(19784); /** * Returns a curried equivalent of the provided function. The curried function * has two unusual capabilities. First, its arguments needn't be provided one * at a time. If `f` is a ternary function and `g` is `R.curry(f)`, the * following are equivalent: * * - `g(1)(2)(3)` * - `g(1)(2, 3)` * - `g(1, 2)(3)` * - `g(1, 2, 3)` * * Secondly, the special placeholder value [`R.__`](#__) may be used to specify * "gaps", allowing partial application of any combination of arguments, * regardless of their positions. If `g` is as above and `_` is [`R.__`](#__), * the following are equivalent: * * - `g(1, 2, 3)` * - `g(_, 2, 3)(1)` * - `g(_, _, 3)(1)(2)` * - `g(_, _, 3)(1, 2)` * - `g(_, 2)(1)(3)` * - `g(_, 2)(1, 3)` * - `g(_, 2)(_, 3)(1)` * * Please note that default parameters don't count towards a [function arity](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/length) * and therefore `curry` won't work well with those. * * @func * @memberOf R * @since v0.1.0 * @category Function * @sig (* -> a) -> (* -> a) * @param {Function} fn The function to curry. * @return {Function} A new, curried function. * @see R.curryN, R.partial * @example * * const addFourNumbers = (a, b, c, d) => a + b + c + d; * const curriedAddFourNumbers = R.curry(addFourNumbers); * const f = curriedAddFourNumbers(1, 2); * const g = f(3); * g(4); //=> 10 * * // R.curry not working well with default parameters * const h = R.curry((a, b, c = 2) => a + b + c); * h(1)(2)(7); //=> Error! (`3` is not a function!) */ var curry = /*#__PURE__*/(0,_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function curry(fn) { return (0,_curryN_js__WEBPACK_IMPORTED_MODULE_1__["default"])(fn.length, fn); }); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (curry); /***/ }), /***/ 19784: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _internal_arity_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(53607); /* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(18938); /* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(45959); /* harmony import */ var _internal_curryN_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(2459); /** * Returns a curried equivalent of the provided function, with the specified * arity. The curried function has two unusual capabilities. First, its * arguments needn't be provided one at a time. If `g` is `R.curryN(3, f)`, the * following are equivalent: * * - `g(1)(2)(3)` * - `g(1)(2, 3)` * - `g(1, 2)(3)` * - `g(1, 2, 3)` * * Secondly, the special placeholder value [`R.__`](#__) may be used to specify * "gaps", allowing partial application of any combination of arguments, * regardless of their positions. If `g` is as above and `_` is [`R.__`](#__), * the following are equivalent: * * - `g(1, 2, 3)` * - `g(_, 2, 3)(1)` * - `g(_, _, 3)(1)(2)` * - `g(_, _, 3)(1, 2)` * - `g(_, 2)(1)(3)` * - `g(_, 2)(1, 3)` * - `g(_, 2)(_, 3)(1)` * * @func * @memberOf R * @since v0.5.0 * @category Function * @sig Number -> (* -> a) -> (* -> a) * @param {Number} length The arity for the returned function. * @param {Function} fn The function to curry. * @return {Function} A new, curried function. * @see R.curry * @example * * const sumArgs = (...args) => R.sum(args); * * const curriedAddFourNumbers = R.curryN(4, sumArgs); * const f = curriedAddFourNumbers(1, 2); * const g = f(3); * g(4); //=> 10 */ var curryN = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function curryN(length, fn) { if (length === 1) { return (0,_internal_curry1_js__WEBPACK_IMPORTED_MODULE_1__["default"])(fn); } return (0,_internal_arity_js__WEBPACK_IMPORTED_MODULE_2__["default"])(length, (0,_internal_curryN_js__WEBPACK_IMPORTED_MODULE_3__["default"])(length, [], fn)); }); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (curryN); /***/ }), /***/ 66719: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(45959); /** * Returns the second argument if it is not `null`, `undefined` or `NaN`; * otherwise the first argument is returned. * * @func * @memberOf R * @since v0.10.0 * @category Logic * @sig a -> b -> a | b * @param {a} default The default value. * @param {b} val `val` will be returned instead of `default` unless `val` is `null`, `undefined` or `NaN`. * @return {*} The second value if it is not `null`, `undefined` or `NaN`, otherwise the default value * @example * * const defaultTo42 = R.defaultTo(42); * * defaultTo42(null); //=> 42 * defaultTo42(undefined); //=> 42 * defaultTo42(false); //=> false * defaultTo42('Ramda'); //=> 'Ramda' * // parseInt('string') results in NaN * defaultTo42(parseInt('string')); //=> 42 */ var defaultTo = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function defaultTo(d, v) { return v == null || v !== v ? d : v; }); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (defaultTo); /***/ }), /***/ 70036: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(45959); /* harmony import */ var _internal_Set_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(55586); /** * Finds the set (i.e. no duplicates) of all elements in the first list not * contained in the second list. Objects and Arrays are compared in terms of * value equality, not reference equality. * * @func * @memberOf R * @since v0.1.0 * @category Relation * @sig [*] -> [*] -> [*] * @param {Array} list1 The first list. * @param {Array} list2 The second list. * @return {Array} The elements in `list1` that are not in `list2`. * @see R.differenceWith, R.symmetricDifference, R.symmetricDifferenceWith, R.without * @example * * R.difference([1,2,3,4], [7,6,5,4,3]); //=> [1,2] * R.difference([7,6,5,4,3], [1,2,3,4]); //=> [7,6,5] * R.difference([{a: 1}, {b: 2}], [{a: 1}, {c: 3}]) //=> [{b: 2}] */ var difference = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function difference(first, second) { var out = []; var idx = 0; var firstLen = first.length; var secondLen = second.length; var toFilterOut = new _internal_Set_js__WEBPACK_IMPORTED_MODULE_1__["default"](); for (var i = 0; i < secondLen; i += 1) { toFilterOut.add(second[i]); } while (idx < firstLen) { if (toFilterOut.add(first[idx])) { out[out.length] = first[idx]; } idx += 1; } return out; }); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (difference); /***/ }), /***/ 52781: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(45959); /* harmony import */ var _internal_dispatchable_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(96738); /* harmony import */ var _internal_xdropWhile_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(52886); /* harmony import */ var _slice_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(85969); /** * Returns a new list excluding the leading elements of a given list which * satisfy the supplied predicate function. It passes each value to the supplied * predicate function, skipping elements while the predicate function returns * `true`. The predicate function is applied to one argument: *(value)*. * * Dispatches to the `dropWhile` method of the second argument, if present. * * Acts as a transducer if a transformer is given in list position. * * @func * @memberOf R * @since v0.9.0 * @category List * @sig (a -> Boolean) -> [a] -> [a] * @sig (a -> Boolean) -> String -> String * @param {Function} fn The function called per iteration. * @param {Array} xs The collection to iterate over. * @return {Array} A new array. * @see R.takeWhile, R.transduce, R.addIndex * @example * * const lteTwo = x => x <= 2; * * R.dropWhile(lteTwo, [1, 2, 3, 4, 3, 2, 1]); //=> [3, 4, 3, 2, 1] * * R.dropWhile(x => x !== 'd' , 'Ramda'); //=> 'da' */ var dropWhile = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/(0,_internal_dispatchable_js__WEBPACK_IMPORTED_MODULE_1__["default"])(['dropWhile'], _internal_xdropWhile_js__WEBPACK_IMPORTED_MODULE_2__["default"], function dropWhile(pred, xs) { var idx = 0; var len = xs.length; while (idx < len && pred(xs[idx])) { idx += 1; } return (0,_slice_js__WEBPACK_IMPORTED_MODULE_3__["default"])(idx, Infinity, xs); })); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (dropWhile); /***/ }), /***/ 4462: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(45959); /* harmony import */ var _internal_isFunction_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(59892); /* harmony import */ var _lift_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(79362); /* harmony import */ var _or_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(6986); /** * A function wrapping calls to the two functions in an `||` operation, * returning the result of the first function if it is truth-y and the result * of the second function otherwise. Note that this is short-circuited, * meaning that the second function will not be invoked if the first returns a * truth-y value. * * In addition to functions, `R.either` also accepts any fantasy-land compatible * applicative functor. * * @func * @memberOf R * @since v0.12.0 * @category Logic * @sig (*... -> Boolean) -> (*... -> Boolean) -> (*... -> Boolean) * @param {Function} f a predicate * @param {Function} g another predicate * @return {Function} a function that applies its arguments to `f` and `g` and `||`s their outputs together. * @see R.both, R.anyPass, R.or * @example * * const gt10 = x => x > 10; * const even = x => x % 2 === 0; * const f = R.either(gt10, even); * f(101); //=> true * f(8); //=> true * * R.either(Maybe.Just(false), Maybe.Just(55)); // => Maybe.Just(55) * R.either([false, false, 'a'], [11]) // => [11, 11, "a"] */ var either = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function either(f, g) { return (0,_internal_isFunction_js__WEBPACK_IMPORTED_MODULE_1__["default"])(f) ? function _either() { return f.apply(this, arguments) || g.apply(this, arguments); } : (0,_lift_js__WEBPACK_IMPORTED_MODULE_2__["default"])(_or_js__WEBPACK_IMPORTED_MODULE_3__["default"])(f, g); }); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (either); /***/ }), /***/ 95734: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(18938); /* harmony import */ var _internal_isArguments_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(26590); /* harmony import */ var _internal_isArray_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4099); /* harmony import */ var _internal_isObject_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(60131); /* harmony import */ var _internal_isString_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(40141); /* harmony import */ var _internal_isTypedArray_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(31829); /** * Returns the empty value of its argument's type. Ramda defines the empty * value of Array (`[]`), Object (`{}`), String (`''`), * TypedArray (`Uint8Array []`, `Float32Array []`, etc), and Arguments. Other * types are supported if they define `.empty`, * `.prototype.empty` or implement the * [FantasyLand Monoid spec](https://github.com/fantasyland/fantasy-land#monoid). * * Dispatches to the `empty` method of the first argument, if present. * * @func * @memberOf R * @since v0.3.0 * @category Function * @sig a -> a * @param {*} x * @return {*} * @example * * R.empty(Just(42)); //=> Nothing() * R.empty([1, 2, 3]); //=> [] * R.empty('unicorns'); //=> '' * R.empty({x: 1, y: 2}); //=> {} * R.empty(Uint8Array.from('123')); //=> Uint8Array [] */ var empty = /*#__PURE__*/(0,_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function empty(x) { return x != null && typeof x['fantasy-land/empty'] === 'function' ? x['fantasy-land/empty']() : x != null && x.constructor != null && typeof x.constructor['fantasy-land/empty'] === 'function' ? x.constructor['fantasy-land/empty']() : x != null && typeof x.empty === 'function' ? x.empty() : x != null && x.constructor != null && typeof x.constructor.empty === 'function' ? x.constructor.empty() : (0,_internal_isArray_js__WEBPACK_IMPORTED_MODULE_1__["default"])(x) ? [] : (0,_internal_isString_js__WEBPACK_IMPORTED_MODULE_2__["default"])(x) ? '' : (0,_internal_isObject_js__WEBPACK_IMPORTED_MODULE_3__["default"])(x) ? {} : (0,_internal_isArguments_js__WEBPACK_IMPORTED_MODULE_4__["default"])(x) ? function () { return arguments; }() : (0,_internal_isTypedArray_js__WEBPACK_IMPORTED_MODULE_5__["default"])(x) ? x.constructor.from('') : void 0 // else ; }); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (empty); /***/ }), /***/ 53654: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(45959); /* harmony import */ var _internal_equals_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(30497); /** * Returns `true` if its arguments are equivalent, `false` otherwise. Handles * cyclical data structures. * * Dispatches symmetrically to the `equals` methods of both arguments, if * present. * * @func * @memberOf R * @since v0.15.0 * @category Relation * @sig a -> b -> Boolean * @param {*} a * @param {*} b * @return {Boolean} * @example * * R.equals(1, 1); //=> true * R.equals(1, '1'); //=> false * R.equals([1, 2, 3], [1, 2, 3]); //=> true * * const a = {}; a.v = a; * const b = {}; b.v = b; * R.equals(a, b); //=> true */ var equals = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function equals(a, b) { return (0,_internal_equals_js__WEBPACK_IMPORTED_MODULE_1__["default"])(a, b, [], []); }); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (equals); /***/ }), /***/ 68481: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _internal_arrayReduce_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(54121); /* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(45959); /* harmony import */ var _internal_dispatchable_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(96738); /* harmony import */ var _internal_filter_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(46574); /* harmony import */ var _internal_isObject_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(60131); /* harmony import */ var _internal_xfilter_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(88080); /* harmony import */ var _keys_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(77783); /** * Takes a predicate and a `Filterable`, and returns a new filterable of the * same type containing the members of the given filterable which satisfy the * given predicate. Filterable objects include plain objects or any object * that has a filter method such as `Array`. * * Dispatches to the `filter` method of the second argument, if present. * * Acts as a transducer if a transformer is given in list position. * * @func * @memberOf R * @since v0.1.0 * @category List * @category Object * @sig Filterable f => (a -> Boolean) -> f a -> f a * @param {Function} pred * @param {Array} filterable * @return {Array} Filterable * @see R.reject, R.transduce, R.addIndex * @example * * const isEven = n => n % 2 === 0; * * R.filter(isEven, [1, 2, 3, 4]); //=> [2, 4] * * R.filter(isEven, {a: 1, b: 2, c: 3, d: 4}); //=> {b: 2, d: 4} */ var filter = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/(0,_internal_dispatchable_js__WEBPACK_IMPORTED_MODULE_1__["default"])(['fantasy-land/filter', 'filter'], _internal_xfilter_js__WEBPACK_IMPORTED_MODULE_2__["default"], function (pred, filterable) { return (0,_internal_isObject_js__WEBPACK_IMPORTED_MODULE_3__["default"])(filterable) ? (0,_internal_arrayReduce_js__WEBPACK_IMPORTED_MODULE_4__["default"])(function (acc, key) { if (pred(filterable[key])) { acc[key] = filterable[key]; } return acc; }, {}, (0,_keys_js__WEBPACK_IMPORTED_MODULE_5__["default"])(filterable)) : // else (0,_internal_filter_js__WEBPACK_IMPORTED_MODULE_6__["default"])(pred, filterable); })); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (filter); /***/ }), /***/ 69180: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(18938); /* harmony import */ var _curryN_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(19784); /** * Returns a new function much like the supplied one, except that the first two * arguments' order is reversed. * * @func * @memberOf R * @since v0.1.0 * @category Function * @sig ((a, b, c, ...) -> z) -> (b -> a -> c -> ... -> z) * @param {Function} fn The function to invoke with its first two parameters reversed. * @return {*} The result of invoking `fn` with its first two parameters' order reversed. * @example * * const mergeThree = (a, b, c) => [].concat(a, b, c); * * mergeThree(1, 2, 3); //=> [1, 2, 3] * * R.flip(mergeThree)(1, 2, 3); //=> [2, 1, 3] * @symb R.flip(f)(a, b, c) = f(b, a, c) */ var flip = /*#__PURE__*/(0,_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function flip(fn) { return (0,_curryN_js__WEBPACK_IMPORTED_MODULE_1__["default"])(fn.length, function (a, b) { var args = Array.prototype.slice.call(arguments, 0); args[0] = b; args[1] = a; return fn.apply(this, args); }); }); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (flip); /***/ }), /***/ 85476: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(45959); /** * Returns `true` if the first argument is greater than the second; `false` * otherwise. * * @func * @memberOf R * @since v0.1.0 * @category Relation * @sig Ord a => a -> a -> Boolean * @param {*} a * @param {*} b * @return {Boolean} * @see R.lt * @example * * R.gt(2, 1); //=> true * R.gt(2, 2); //=> false * R.gt(2, 3); //=> false * R.gt('a', 'z'); //=> false * R.gt('z', 'a'); //=> true */ var gt = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function gt(a, b) { return a > b; }); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (gt); /***/ }), /***/ 5107: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(45959); /* harmony import */ var _hasPath_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(86104); /** * Returns whether or not an object has an own property with the specified name * * @func * @memberOf R * @since v0.7.0 * @category Object * @sig s -> {s: x} -> Boolean * @param {String} prop The name of the property to check for. * @param {Object} obj The object to query. * @return {Boolean} Whether the property exists. * @example * * const hasName = R.has('name'); * hasName({name: 'alice'}); //=> true * hasName({name: 'bob'}); //=> true * hasName({}); //=> false * * const point = {x: 0, y: 0}; * const pointHas = R.has(R.__, point); * pointHas('x'); //=> true * pointHas('y'); //=> true * pointHas('z'); //=> false */ var has = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function has(prop, obj) { return (0,_hasPath_js__WEBPACK_IMPORTED_MODULE_1__["default"])([prop], obj); }); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (has); /***/ }), /***/ 86104: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(45959); /* harmony import */ var _internal_has_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(65722); /* harmony import */ var _isNil_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(19904); /** * Returns whether or not a path exists in an object. Only the object's * own properties are checked. * * @func * @memberOf R * @since v0.26.0 * @category Object * @typedefn Idx = String | Int | Symbol * @sig [Idx] -> {a} -> Boolean * @param {Array} path The path to use. * @param {Object} obj The object to check the path in. * @return {Boolean} Whether the path exists. * @see R.has * @example * * R.hasPath(['a', 'b'], {a: {b: 2}}); // => true * R.hasPath(['a', 'b'], {a: {b: undefined}}); // => true * R.hasPath(['a', 'b'], {a: {c: 2}}); // => false * R.hasPath(['a', 'b'], {}); // => false */ var hasPath = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function hasPath(_path, obj) { if (_path.length === 0 || (0,_isNil_js__WEBPACK_IMPORTED_MODULE_1__["default"])(obj)) { return false; } var val = obj; var idx = 0; while (idx < _path.length) { if (!(0,_isNil_js__WEBPACK_IMPORTED_MODULE_1__["default"])(val) && (0,_internal_has_js__WEBPACK_IMPORTED_MODULE_2__["default"])(_path[idx], val)) { val = val[_path[idx]]; idx += 1; } else { return false; } } return true; }); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (hasPath); /***/ }), /***/ 95121: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(18938); /* harmony import */ var _internal_nth_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(55136); /** * Returns the first element of the given list or string. In some libraries * this function is named `first`. * * @func * @memberOf R * @since v0.1.0 * @category List * @sig [a] -> a | Undefined * @sig String -> String | Undefined * @param {Array|String} list * @return {*} * @see R.tail, R.init, R.last * @example * * R.head(['fi', 'fo', 'fum']); //=> 'fi' * R.head([]); //=> undefined * * R.head('abc'); //=> 'a' * R.head(''); //=> undefined */ var head = /*#__PURE__*/(0,_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function (list) { return (0,_internal_nth_js__WEBPACK_IMPORTED_MODULE_1__["default"])(0, list); }); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (head); /***/ }), /***/ 62572: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _internal_objectIs_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1111); /** * Returns true if its arguments are identical, false otherwise. Values are * identical if they reference the same memory. `NaN` is identical to `NaN`; * `0` and `-0` are not identical. * * Note this is merely a curried version of ES6 `Object.is`. * * `identical` does not support the `__` placeholder. * * @func * @memberOf R * @since v0.15.0 * @category Relation * @sig a -> a -> Boolean * @param {*} a * @param {*} b * @return {Boolean} * @example * * const o = {}; * R.identical(o, o); //=> true * R.identical(1, 1); //=> true * R.identical(1, '1'); //=> false * R.identical([], []); //=> false * R.identical(0, -0); //=> false * R.identical(NaN, NaN); //=> true */ var identical = function (a, b) { switch (arguments.length) { case 0: return identical; case 1: return function () { return function unaryIdentical(_b) { switch (arguments.length) { case 0: return unaryIdentical; default: return (0,_internal_objectIs_js__WEBPACK_IMPORTED_MODULE_0__["default"])(a, _b); } }; }(); default: return (0,_internal_objectIs_js__WEBPACK_IMPORTED_MODULE_0__["default"])(a, b); } }; // In order to support Cross-origin Window objects as arguments to identical, // it cannot be implemented as _curry2(_objectIs). // The reason is that _curry2 checks if a function argument is the placeholder __ // by accessing a paritcular property. However, across URL origins access // to most properties of Window is forbidden. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (identical); /***/ }), /***/ 57457: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(18938); /* harmony import */ var _internal_identity_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(53702); /** * A function that does nothing but return the parameter supplied to it. Good * as a default or placeholder function. * * @func * @memberOf R * @since v0.1.0 * @category Function * @sig a -> a * @param {*} x The value to return. * @return {*} The input value, `x`. * @example * * R.identity(1); //=> 1 * * const obj = {}; * R.identity(obj) === obj; //=> true * @symb R.identity(a) = a */ var identity = /*#__PURE__*/(0,_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(_internal_identity_js__WEBPACK_IMPORTED_MODULE_1__["default"]); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (identity); /***/ }), /***/ 75229: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(39088); /* harmony import */ var _curryN_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(19784); /** * Creates a function that will process either the `onTrue` or the `onFalse` * function depending upon the result of the `condition` predicate. * * Note that `ifElse` takes its arity from the longest of the three functions passed to it. * * @func * @memberOf R * @since v0.8.0 * @category Logic * @sig (*... -> Boolean) -> (*... -> *) -> (*... -> *) -> (*... -> *) * @param {Function} condition A predicate function * @param {Function} onTrue A function to invoke when the `condition` evaluates to a truthy value. * @param {Function} onFalse A function to invoke when the `condition` evaluates to a falsy value. * @return {Function} A new function that will process either the `onTrue` or the `onFalse` * function depending upon the result of the `condition` predicate. * @see R.unless, R.when, R.cond * @example * * const incCount = R.ifElse( * R.has('count'), * R.over(R.lensProp('count'), R.inc), * R.assoc('count', 1) * ); * incCount({ count: 1 }); //=> { count: 2 } * incCount({}); //=> { count: 1 } */ var ifElse = /*#__PURE__*/(0,_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function ifElse(condition, onTrue, onFalse) { return (0,_curryN_js__WEBPACK_IMPORTED_MODULE_1__["default"])(Math.max(condition.length, onTrue.length, onFalse.length), function _ifElse() { return condition.apply(this, arguments) ? onTrue.apply(this, arguments) : onFalse.apply(this, arguments); }); }); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ifElse); /***/ }), /***/ 2898: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _internal_includes_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(26265); /* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(45959); /** * Returns `true` if the specified value is equal, in [`R.equals`](#equals) * terms, to at least one element of the given list; `false` otherwise. * Also works with strings. * * @func * @memberOf R * @since v0.26.0 * @category List * @sig a -> [a] -> Boolean * @param {Object} a The item to compare against. * @param {Array} list The array to consider. * @return {Boolean} `true` if an equivalent item is in the list, `false` otherwise. * @see R.any * @example * * R.includes(3, [1, 2, 3]); //=> true * R.includes(4, [1, 2, 3]); //=> false * R.includes({ name: 'Fred' }, [{ name: 'Fred' }]); //=> true * R.includes([42], [[42]]); //=> true * R.includes('ba', 'banana'); //=>true */ var includes = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(_internal_includes_js__WEBPACK_IMPORTED_MODULE_1__["default"]); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (includes); /***/ }), /***/ 54769: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _slice_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(85969); /** * Returns all but the last element of the given list or string. * * @func * @memberOf R * @since v0.9.0 * @category List * @sig [a] -> [a] * @sig String -> String * @param {*} list * @return {*} * @see R.last, R.head, R.tail * @example * * R.init([1, 2, 3]); //=> [1, 2] * R.init([1, 2]); //=> [1] * R.init([1]); //=> [] * R.init([]); //=> [] * * R.init('abc'); //=> 'ab' * R.init('ab'); //=> 'a' * R.init('a'); //=> '' * R.init(''); //=> '' */ var init = /*#__PURE__*/(0,_slice_js__WEBPACK_IMPORTED_MODULE_0__["default"])(0, -1); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (init); /***/ }), /***/ 55586: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _includes_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(26265); var _Set = /*#__PURE__*/function () { function _Set() { /* globals Set */ this._nativeSet = typeof Set === 'function' ? new Set() : null; this._items = {}; } // until we figure out why jsdoc chokes on this // @param item The item to add to the Set // @returns {boolean} true if the item did not exist prior, otherwise false // _Set.prototype.add = function (item) { return !hasOrAdd(item, true, this); }; // // @param item The item to check for existence in the Set // @returns {boolean} true if the item exists in the Set, otherwise false // _Set.prototype.has = function (item) { return hasOrAdd(item, false, this); }; // // Combines the logic for checking whether an item is a member of the set and // for adding a new item to the set. // // @param item The item to check or add to the Set instance. // @param shouldAdd If true, the item will be added to the set if it doesn't // already exist. // @param set The set instance to check or add to. // @return {boolean} true if the item already existed, otherwise false. // return _Set; }(); function hasOrAdd(item, shouldAdd, set) { var type = typeof item; var prevSize, newSize; switch (type) { case 'string': case 'number': // distinguish between +0 and -0 if (item === 0 && 1 / item === -Infinity) { if (set._items['-0']) { return true; } else { if (shouldAdd) { set._items['-0'] = true; } return false; } } // these types can all utilise the native Set if (set._nativeSet !== null) { if (shouldAdd) { prevSize = set._nativeSet.size; set._nativeSet.add(item); newSize = set._nativeSet.size; return newSize === prevSize; } else { return set._nativeSet.has(item); } } else { if (!(type in set._items)) { if (shouldAdd) { set._items[type] = {}; set._items[type][item] = true; } return false; } else if (item in set._items[type]) { return true; } else { if (shouldAdd) { set._items[type][item] = true; } return false; } } case 'boolean': // set._items['boolean'] holds a two element array // representing [ falseExists, trueExists ] if (type in set._items) { var bIdx = item ? 1 : 0; if (set._items[type][bIdx]) { return true; } else { if (shouldAdd) { set._items[type][bIdx] = true; } return false; } } else { if (shouldAdd) { set._items[type] = item ? [false, true] : [true, false]; } return false; } case 'function': // compare functions for reference equality if (set._nativeSet !== null) { if (shouldAdd) { prevSize = set._nativeSet.size; set._nativeSet.add(item); newSize = set._nativeSet.size; return newSize === prevSize; } else { return set._nativeSet.has(item); } } else { if (!(type in set._items)) { if (shouldAdd) { set._items[type] = [item]; } return false; } if (!(0,_includes_js__WEBPACK_IMPORTED_MODULE_0__["default"])(item, set._items[type])) { if (shouldAdd) { set._items[type].push(item); } return false; } return true; } case 'undefined': if (set._items[type]) { return true; } else { if (shouldAdd) { set._items[type] = true; } return false; } case 'object': if (item === null) { if (!set._items['null']) { if (shouldAdd) { set._items['null'] = true; } return false; } return true; } /* falls through */ default: // reduce the search size of heterogeneous sets by creating buckets // for each type. type = Object.prototype.toString.call(item); if (!(type in set._items)) { if (shouldAdd) { set._items[type] = [item]; } return false; } // scan through all previously applied items if (!(0,_includes_js__WEBPACK_IMPORTED_MODULE_0__["default"])(item, set._items[type])) { if (shouldAdd) { set._items[type].push(item); } return false; } return true; } } // A simple Set type that honours R.equals semantics /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_Set); /***/ }), /***/ 53607: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ _arity) /* harmony export */ }); function _arity(n, fn) { /* eslint-disable no-unused-vars */ switch (n) { case 0: return function () { return fn.apply(this, arguments); }; case 1: return function (a0) { return fn.apply(this, arguments); }; case 2: return function (a0, a1) { return fn.apply(this, arguments); }; case 3: return function (a0, a1, a2) { return fn.apply(this, arguments); }; case 4: return function (a0, a1, a2, a3) { return fn.apply(this, arguments); }; case 5: return function (a0, a1, a2, a3, a4) { return fn.apply(this, arguments); }; case 6: return function (a0, a1, a2, a3, a4, a5) { return fn.apply(this, arguments); }; case 7: return function (a0, a1, a2, a3, a4, a5, a6) { return fn.apply(this, arguments); }; case 8: return function (a0, a1, a2, a3, a4, a5, a6, a7) { return fn.apply(this, arguments); }; case 9: return function (a0, a1, a2, a3, a4, a5, a6, a7, a8) { return fn.apply(this, arguments); }; case 10: return function (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9) { return fn.apply(this, arguments); }; default: throw new Error('First argument to _arity must be a non-negative integer no greater than ten'); } } /***/ }), /***/ 71941: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ _arrayFromIterator) /* harmony export */ }); function _arrayFromIterator(iter) { var list = []; var next; while (!(next = iter.next()).done) { list.push(next.value); } return list; } /***/ }), /***/ 54121: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ _arrayReduce) /* harmony export */ }); function _arrayReduce(reducer, acc, list) { var index = 0; var length = list.length; while (index < length) { acc = reducer(acc, list[index]); index += 1; } return acc; } /***/ }), /***/ 76122: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ _checkForMethod) /* harmony export */ }); /* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4099); /** * This checks whether a function has a [methodname] function. If it isn't an * array it will execute that function otherwise it will default to the ramda * implementation. * * @private * @param {Function} fn ramda implementation * @param {String} methodname property to check for a custom implementation * @return {Object} Whatever the return value of the method is. */ function _checkForMethod(methodname, fn) { return function () { var length = arguments.length; if (length === 0) { return fn(); } var obj = arguments[length - 1]; return (0,_isArray_js__WEBPACK_IMPORTED_MODULE_0__["default"])(obj) || typeof obj[methodname] !== 'function' ? fn.apply(this, arguments) : obj[methodname].apply(obj, Array.prototype.slice.call(arguments, 0, length - 1)); }; } /***/ }), /***/ 8575: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ _clone) /* harmony export */ }); /* harmony import */ var _cloneRegExp_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(31254); /* harmony import */ var _type_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(60963); /** * Copies an object. * * @private * @param {*} value The value to be copied * @param {Boolean} deep Whether or not to perform deep cloning. * @return {*} The copied value. */ function _clone(value, deep, map) { map || (map = new _ObjectMap()); // this avoids the slower switch with a quick if decision removing some milliseconds in each run. if (_isPrimitive(value)) { return value; } var copy = function copy(copiedValue) { // Check for circular and same references on the object graph and return its corresponding clone. var cachedCopy = map.get(value); if (cachedCopy) { return cachedCopy; } map.set(value, copiedValue); for (var key in value) { if (Object.prototype.hasOwnProperty.call(value, key)) { copiedValue[key] = deep ? _clone(value[key], true, map) : value[key]; } } return copiedValue; }; switch ((0,_type_js__WEBPACK_IMPORTED_MODULE_0__["default"])(value)) { case 'Object': return copy(Object.create(Object.getPrototypeOf(value))); case 'Array': return copy(Array(value.length)); case 'Date': return new Date(value.valueOf()); case 'RegExp': return (0,_cloneRegExp_js__WEBPACK_IMPORTED_MODULE_1__["default"])(value); case 'Int8Array': case 'Uint8Array': case 'Uint8ClampedArray': case 'Int16Array': case 'Uint16Array': case 'Int32Array': case 'Uint32Array': case 'Float32Array': case 'Float64Array': case 'BigInt64Array': case 'BigUint64Array': return value.slice(); default: return value; } } function _isPrimitive(param) { var type = typeof param; return param == null || type != 'object' && type != 'function'; } var _ObjectMap = /*#__PURE__*/function () { function _ObjectMap() { this.map = {}; this.length = 0; } _ObjectMap.prototype.set = function (key, value) { var hashedKey = this.hash(key); var bucket = this.map[hashedKey]; if (!bucket) { this.map[hashedKey] = bucket = []; } bucket.push([key, value]); this.length += 1; }; _ObjectMap.prototype.hash = function (key) { var hashedKey = []; for (var value in key) { hashedKey.push(Object.prototype.toString.call(key[value])); } return hashedKey.join(); }; _ObjectMap.prototype.get = function (key) { /** * depending on the number of objects to be cloned is faster to just iterate over the items in the map just because the hash function is so costly, * on my tests this number is 180, anything above that using the hash function is faster. */ if (this.length <= 180) { for (var p in this.map) { var bucket = this.map[p]; for (var i = 0; i < bucket.length; i += 1) { var element = bucket[i]; if (element[0] === key) { return element[1]; } } } return; } var hashedKey = this.hash(key); var bucket = this.map[hashedKey]; if (!bucket) { return; } for (var i = 0; i < bucket.length; i += 1) { var element = bucket[i]; if (element[0] === key) { return element[1]; } } }; return _ObjectMap; }(); /***/ }), /***/ 31254: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ _cloneRegExp) /* harmony export */ }); function _cloneRegExp(pattern) { return new RegExp(pattern.source, pattern.flags ? pattern.flags : (pattern.global ? 'g' : '') + (pattern.ignoreCase ? 'i' : '') + (pattern.multiline ? 'm' : '') + (pattern.sticky ? 'y' : '') + (pattern.unicode ? 'u' : '') + (pattern.dotAll ? 's' : '')); } /***/ }), /***/ 47940: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ _complement) /* harmony export */ }); function _complement(f) { return function () { return !f.apply(this, arguments); }; } /***/ }), /***/ 12840: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ _concat) /* harmony export */ }); /** * Private `concat` function to merge two array-like objects. * * @private * @param {Array|Arguments} [set1=[]] An array-like object. * @param {Array|Arguments} [set2=[]] An array-like object. * @return {Array} A new, merged array. * @example * * _concat([4, 5, 6], [1, 2, 3]); //=> [4, 5, 6, 1, 2, 3] */ function _concat(set1, set2) { set1 = set1 || []; set2 = set2 || []; var idx; var len1 = set1.length; var len2 = set2.length; var result = []; idx = 0; while (idx < len1) { result[result.length] = set1[idx]; idx += 1; } idx = 0; while (idx < len2) { result[result.length] = set2[idx]; idx += 1; } return result; } /***/ }), /***/ 44334: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ _createReduce) /* harmony export */ }); /* harmony import */ var _isArrayLike_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(54620); var symIterator = typeof Symbol !== 'undefined' ? Symbol.iterator : '@@iterator'; function _createReduce(arrayReduce, methodReduce, iterableReduce) { return function _reduce(xf, acc, list) { if ((0,_isArrayLike_js__WEBPACK_IMPORTED_MODULE_0__["default"])(list)) { return arrayReduce(xf, acc, list); } if (list == null) { return acc; } if (typeof list['fantasy-land/reduce'] === 'function') { return methodReduce(xf, acc, list, 'fantasy-land/reduce'); } if (list[symIterator] != null) { return iterableReduce(xf, acc, list[symIterator]()); } if (typeof list.next === 'function') { return iterableReduce(xf, acc, list); } if (typeof list.reduce === 'function') { return methodReduce(xf, acc, list, 'reduce'); } throw new TypeError('reduce: list must be array or iterable'); }; } /***/ }), /***/ 18938: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ _curry1) /* harmony export */ }); /* harmony import */ var _isPlaceholder_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(41003); /** * Optimized internal one-arity curry function. * * @private * @category Function * @param {Function} fn The function to curry. * @return {Function} The curried function. */ function _curry1(fn) { return function f1(a) { if (arguments.length === 0 || (0,_isPlaceholder_js__WEBPACK_IMPORTED_MODULE_0__["default"])(a)) { return f1; } else { return fn.apply(this, arguments); } }; } /***/ }), /***/ 45959: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ _curry2) /* harmony export */ }); /* harmony import */ var _curry1_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(18938); /* harmony import */ var _isPlaceholder_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(41003); /** * Optimized internal two-arity curry function. * * @private * @category Function * @param {Function} fn The function to curry. * @return {Function} The curried function. */ function _curry2(fn) { return function f2(a, b) { switch (arguments.length) { case 0: return f2; case 1: return (0,_isPlaceholder_js__WEBPACK_IMPORTED_MODULE_0__["default"])(a) ? f2 : (0,_curry1_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function (_b) { return fn(a, _b); }); default: return (0,_isPlaceholder_js__WEBPACK_IMPORTED_MODULE_0__["default"])(a) && (0,_isPlaceholder_js__WEBPACK_IMPORTED_MODULE_0__["default"])(b) ? f2 : (0,_isPlaceholder_js__WEBPACK_IMPORTED_MODULE_0__["default"])(a) ? (0,_curry1_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function (_a) { return fn(_a, b); }) : (0,_isPlaceholder_js__WEBPACK_IMPORTED_MODULE_0__["default"])(b) ? (0,_curry1_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function (_b) { return fn(a, _b); }) : fn(a, b); } }; } /***/ }), /***/ 39088: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ _curry3) /* harmony export */ }); /* harmony import */ var _curry1_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(18938); /* harmony import */ var _curry2_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(45959); /* harmony import */ var _isPlaceholder_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(41003); /** * Optimized internal three-arity curry function. * * @private * @category Function * @param {Function} fn The function to curry. * @return {Function} The curried function. */ function _curry3(fn) { return function f3(a, b, c) { switch (arguments.length) { case 0: return f3; case 1: return (0,_isPlaceholder_js__WEBPACK_IMPORTED_MODULE_0__["default"])(a) ? f3 : (0,_curry2_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function (_b, _c) { return fn(a, _b, _c); }); case 2: return (0,_isPlaceholder_js__WEBPACK_IMPORTED_MODULE_0__["default"])(a) && (0,_isPlaceholder_js__WEBPACK_IMPORTED_MODULE_0__["default"])(b) ? f3 : (0,_isPlaceholder_js__WEBPACK_IMPORTED_MODULE_0__["default"])(a) ? (0,_curry2_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function (_a, _c) { return fn(_a, b, _c); }) : (0,_isPlaceholder_js__WEBPACK_IMPORTED_MODULE_0__["default"])(b) ? (0,_curry2_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function (_b, _c) { return fn(a, _b, _c); }) : (0,_curry1_js__WEBPACK_IMPORTED_MODULE_2__["default"])(function (_c) { return fn(a, b, _c); }); default: return (0,_isPlaceholder_js__WEBPACK_IMPORTED_MODULE_0__["default"])(a) && (0,_isPlaceholder_js__WEBPACK_IMPORTED_MODULE_0__["default"])(b) && (0,_isPlaceholder_js__WEBPACK_IMPORTED_MODULE_0__["default"])(c) ? f3 : (0,_isPlaceholder_js__WEBPACK_IMPORTED_MODULE_0__["default"])(a) && (0,_isPlaceholder_js__WEBPACK_IMPORTED_MODULE_0__["default"])(b) ? (0,_curry2_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function (_a, _b) { return fn(_a, _b, c); }) : (0,_isPlaceholder_js__WEBPACK_IMPORTED_MODULE_0__["default"])(a) && (0,_isPlaceholder_js__WEBPACK_IMPORTED_MODULE_0__["default"])(c) ? (0,_curry2_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function (_a, _c) { return fn(_a, b, _c); }) : (0,_isPlaceholder_js__WEBPACK_IMPORTED_MODULE_0__["default"])(b) && (0,_isPlaceholder_js__WEBPACK_IMPORTED_MODULE_0__["default"])(c) ? (0,_curry2_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function (_b, _c) { return fn(a, _b, _c); }) : (0,_isPlaceholder_js__WEBPACK_IMPORTED_MODULE_0__["default"])(a) ? (0,_curry1_js__WEBPACK_IMPORTED_MODULE_2__["default"])(function (_a) { return fn(_a, b, c); }) : (0,_isPlaceholder_js__WEBPACK_IMPORTED_MODULE_0__["default"])(b) ? (0,_curry1_js__WEBPACK_IMPORTED_MODULE_2__["default"])(function (_b) { return fn(a, _b, c); }) : (0,_isPlaceholder_js__WEBPACK_IMPORTED_MODULE_0__["default"])(c) ? (0,_curry1_js__WEBPACK_IMPORTED_MODULE_2__["default"])(function (_c) { return fn(a, b, _c); }) : fn(a, b, c); } }; } /***/ }), /***/ 2459: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ _curryN) /* harmony export */ }); /* harmony import */ var _arity_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(53607); /* harmony import */ var _isPlaceholder_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(41003); /** * Internal curryN function. * * @private * @category Function * @param {Number} length The arity of the curried function. * @param {Array} received An array of arguments received thus far. * @param {Function} fn The function to curry. * @return {Function} The curried function. */ function _curryN(length, received, fn) { return function () { var combined = []; var argsIdx = 0; var left = length; var combinedIdx = 0; var hasPlaceholder = false; while (combinedIdx < received.length || argsIdx < arguments.length) { var result; if (combinedIdx < received.length && (!(0,_isPlaceholder_js__WEBPACK_IMPORTED_MODULE_0__["default"])(received[combinedIdx]) || argsIdx >= arguments.length)) { result = received[combinedIdx]; } else { result = arguments[argsIdx]; argsIdx += 1; } combined[combinedIdx] = result; if (!(0,_isPlaceholder_js__WEBPACK_IMPORTED_MODULE_0__["default"])(result)) { left -= 1; } else { hasPlaceholder = true; } combinedIdx += 1; } return !hasPlaceholder && left <= 0 ? fn.apply(this, combined) : (0,_arity_js__WEBPACK_IMPORTED_MODULE_1__["default"])(Math.max(0, left), _curryN(length, combined, fn)); }; } /***/ }), /***/ 96738: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ _dispatchable) /* harmony export */ }); /* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4099); /* harmony import */ var _isTransformer_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7117); /** * Returns a function that dispatches with different strategies based on the * object in list position (last argument). If it is an array, executes [fn]. * Otherwise, if it has a function with one of the given method names, it will * execute that function (functor case). Otherwise, if it is a transformer, * uses transducer created by [transducerCreator] to return a new transformer * (transducer case). * Otherwise, it will default to executing [fn]. * * @private * @param {Array} methodNames properties to check for a custom implementation * @param {Function} transducerCreator transducer factory if object is transformer * @param {Function} fn default ramda implementation * @return {Function} A function that dispatches on object in list position */ function _dispatchable(methodNames, transducerCreator, fn) { return function () { if (arguments.length === 0) { return fn(); } var obj = arguments[arguments.length - 1]; if (!(0,_isArray_js__WEBPACK_IMPORTED_MODULE_0__["default"])(obj)) { var idx = 0; while (idx < methodNames.length) { if (typeof obj[methodNames[idx]] === 'function') { return obj[methodNames[idx]].apply(obj, Array.prototype.slice.call(arguments, 0, -1)); } idx += 1; } if ((0,_isTransformer_js__WEBPACK_IMPORTED_MODULE_1__["default"])(obj)) { var transducer = transducerCreator.apply(null, Array.prototype.slice.call(arguments, 0, -1)); return transducer(obj); } } return fn.apply(this, arguments); }; } /***/ }), /***/ 30497: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ _equals) /* harmony export */ }); /* harmony import */ var _arrayFromIterator_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(71941); /* harmony import */ var _includesWith_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(64333); /* harmony import */ var _functionName_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(20415); /* harmony import */ var _has_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(65722); /* harmony import */ var _objectIs_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(1111); /* harmony import */ var _keys_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(77783); /* harmony import */ var _type_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(60963); /** * private _uniqContentEquals function. * That function is checking equality of 2 iterator contents with 2 assumptions * - iterators lengths are the same * - iterators values are unique * * false-positive result will be returned for comparison of, e.g. * - [1,2,3] and [1,2,3,4] * - [1,1,1] and [1,2,3] * */ function _uniqContentEquals(aIterator, bIterator, stackA, stackB) { var a = (0,_arrayFromIterator_js__WEBPACK_IMPORTED_MODULE_0__["default"])(aIterator); var b = (0,_arrayFromIterator_js__WEBPACK_IMPORTED_MODULE_0__["default"])(bIterator); function eq(_a, _b) { return _equals(_a, _b, stackA.slice(), stackB.slice()); } // if *a* array contains any element that is not included in *b* return !(0,_includesWith_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function (b, aItem) { return !(0,_includesWith_js__WEBPACK_IMPORTED_MODULE_1__["default"])(eq, aItem, b); }, b, a); } function _equals(a, b, stackA, stackB) { if ((0,_objectIs_js__WEBPACK_IMPORTED_MODULE_2__["default"])(a, b)) { return true; } var typeA = (0,_type_js__WEBPACK_IMPORTED_MODULE_3__["default"])(a); if (typeA !== (0,_type_js__WEBPACK_IMPORTED_MODULE_3__["default"])(b)) { return false; } if (typeof a['fantasy-land/equals'] === 'function' || typeof b['fantasy-land/equals'] === 'function') { return typeof a['fantasy-land/equals'] === 'function' && a['fantasy-land/equals'](b) && typeof b['fantasy-land/equals'] === 'function' && b['fantasy-land/equals'](a); } if (typeof a.equals === 'function' || typeof b.equals === 'function') { return typeof a.equals === 'function' && a.equals(b) && typeof b.equals === 'function' && b.equals(a); } switch (typeA) { case 'Arguments': case 'Array': case 'Object': if (typeof a.constructor === 'function' && (0,_functionName_js__WEBPACK_IMPORTED_MODULE_4__["default"])(a.constructor) === 'Promise') { return a === b; } break; case 'Boolean': case 'Number': case 'String': if (!(typeof a === typeof b && (0,_objectIs_js__WEBPACK_IMPORTED_MODULE_2__["default"])(a.valueOf(), b.valueOf()))) { return false; } break; case 'Date': if (!(0,_objectIs_js__WEBPACK_IMPORTED_MODULE_2__["default"])(a.valueOf(), b.valueOf())) { return false; } break; case 'Error': return a.name === b.name && a.message === b.message; case 'RegExp': if (!(a.source === b.source && a.global === b.global && a.ignoreCase === b.ignoreCase && a.multiline === b.multiline && a.sticky === b.sticky && a.unicode === b.unicode)) { return false; } break; } var idx = stackA.length - 1; while (idx >= 0) { if (stackA[idx] === a) { return stackB[idx] === b; } idx -= 1; } switch (typeA) { case 'Map': if (a.size !== b.size) { return false; } return _uniqContentEquals(a.entries(), b.entries(), stackA.concat([a]), stackB.concat([b])); case 'Set': if (a.size !== b.size) { return false; } return _uniqContentEquals(a.values(), b.values(), stackA.concat([a]), stackB.concat([b])); case 'Arguments': case 'Array': case 'Object': case 'Boolean': case 'Number': case 'String': case 'Date': case 'Error': case 'RegExp': case 'Int8Array': case 'Uint8Array': case 'Uint8ClampedArray': case 'Int16Array': case 'Uint16Array': case 'Int32Array': case 'Uint32Array': case 'Float32Array': case 'Float64Array': case 'ArrayBuffer': break; default: // Values of other types are only equal if identical. return false; } var keysA = (0,_keys_js__WEBPACK_IMPORTED_MODULE_5__["default"])(a); if (keysA.length !== (0,_keys_js__WEBPACK_IMPORTED_MODULE_5__["default"])(b).length) { return false; } var extendedStackA = stackA.concat([a]); var extendedStackB = stackB.concat([b]); idx = keysA.length - 1; while (idx >= 0) { var key = keysA[idx]; if (!((0,_has_js__WEBPACK_IMPORTED_MODULE_6__["default"])(key, b) && _equals(b[key], a[key], extendedStackA, extendedStackB))) { return false; } idx -= 1; } return true; } /***/ }), /***/ 46574: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ _filter) /* harmony export */ }); function _filter(fn, list) { var idx = 0; var len = list.length; var result = []; while (idx < len) { if (fn(list[idx])) { result[result.length] = list[idx]; } idx += 1; } return result; } /***/ }), /***/ 20415: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ _functionName) /* harmony export */ }); function _functionName(f) { // String(x => x) evaluates to "x => x", so the pattern may not match. var match = String(f).match(/^function (\w*)/); return match == null ? '' : match[1]; } /***/ }), /***/ 65722: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ _has) /* harmony export */ }); function _has(prop, obj) { return Object.prototype.hasOwnProperty.call(obj, prop); } /***/ }), /***/ 53702: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ _identity) /* harmony export */ }); function _identity(x) { return x; } /***/ }), /***/ 26265: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ _includes) /* harmony export */ }); /* harmony import */ var _indexOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(12243); function _includes(a, list) { return (0,_indexOf_js__WEBPACK_IMPORTED_MODULE_0__["default"])(list, a, 0) >= 0; } /***/ }), /***/ 64333: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ _includesWith) /* harmony export */ }); function _includesWith(pred, x, list) { var idx = 0; var len = list.length; while (idx < len) { if (pred(x, list[idx])) { return true; } idx += 1; } return false; } /***/ }), /***/ 12243: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ _indexOf) /* harmony export */ }); /* harmony import */ var _equals_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(53654); function _indexOf(list, a, idx) { var inf, item; // Array.prototype.indexOf doesn't exist below IE9 if (typeof list.indexOf === 'function') { switch (typeof a) { case 'number': if (a === 0) { // manually crawl the list to distinguish between +0 and -0 inf = 1 / a; while (idx < list.length) { item = list[idx]; if (item === 0 && 1 / item === inf) { return idx; } idx += 1; } return -1; } else if (a !== a) { // NaN while (idx < list.length) { item = list[idx]; if (typeof item === 'number' && item !== item) { return idx; } idx += 1; } return -1; } // non-zero numbers can utilise Set return list.indexOf(a, idx); // all these types can utilise Set case 'string': case 'boolean': case 'function': case 'undefined': return list.indexOf(a, idx); case 'object': if (a === null) { // null can utilise Set return list.indexOf(a, idx); } } } // anything else not covered above, defer to R.equals while (idx < list.length) { if ((0,_equals_js__WEBPACK_IMPORTED_MODULE_0__["default"])(list[idx], a)) { return idx; } idx += 1; } return -1; } /***/ }), /***/ 26590: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _has_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(65722); var toString = Object.prototype.toString; var _isArguments = /*#__PURE__*/function () { return toString.call(arguments) === '[object Arguments]' ? function _isArguments(x) { return toString.call(x) === '[object Arguments]'; } : function _isArguments(x) { return (0,_has_js__WEBPACK_IMPORTED_MODULE_0__["default"])('callee', x); }; }(); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_isArguments); /***/ }), /***/ 4099: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /** * Tests whether or not an object is an array. * * @private * @param {*} val The object to test. * @return {Boolean} `true` if `val` is an array, `false` otherwise. * @example * * _isArray([]); //=> true * _isArray(null); //=> false * _isArray({}); //=> false */ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Array.isArray || function _isArray(val) { return val != null && val.length >= 0 && Object.prototype.toString.call(val) === '[object Array]'; }); /***/ }), /***/ 54620: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(18938); /* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4099); /* harmony import */ var _isString_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(40141); /** * Tests whether or not an object is similar to an array. * * @private * @category Type * @category List * @sig * -> Boolean * @param {*} x The object to test. * @return {Boolean} `true` if `x` has a numeric length property and extreme indices defined; `false` otherwise. * @example * * _isArrayLike([]); //=> true * _isArrayLike(true); //=> false * _isArrayLike({}); //=> false * _isArrayLike({length: 10}); //=> false * _isArrayLike({0: 'zero', 9: 'nine', length: 10}); //=> true * _isArrayLike({nodeType: 1, length: 1}) // => false */ var _isArrayLike = /*#__PURE__*/(0,_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function isArrayLike(x) { if ((0,_isArray_js__WEBPACK_IMPORTED_MODULE_1__["default"])(x)) { return true; } if (!x) { return false; } if (typeof x !== 'object') { return false; } if ((0,_isString_js__WEBPACK_IMPORTED_MODULE_2__["default"])(x)) { return false; } if (x.length === 0) { return true; } if (x.length > 0) { return x.hasOwnProperty(0) && x.hasOwnProperty(x.length - 1); } return false; }); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_isArrayLike); /***/ }), /***/ 59892: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ _isFunction) /* harmony export */ }); function _isFunction(x) { var type = Object.prototype.toString.call(x); return type === '[object Function]' || type === '[object AsyncFunction]' || type === '[object GeneratorFunction]' || type === '[object AsyncGeneratorFunction]'; } /***/ }), /***/ 77700: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /** * Determine if the passed argument is an integer. * * @private * @param {*} n * @category Type * @return {Boolean} */ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Number.isInteger || function _isInteger(n) { return n << 0 === n; }); /***/ }), /***/ 47969: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ _isNumber) /* harmony export */ }); function _isNumber(x) { return Object.prototype.toString.call(x) === '[object Number]'; } /***/ }), /***/ 60131: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ _isObject) /* harmony export */ }); function _isObject(x) { return Object.prototype.toString.call(x) === '[object Object]'; } /***/ }), /***/ 41003: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ _isPlaceholder) /* harmony export */ }); function _isPlaceholder(a) { return a != null && typeof a === 'object' && a['@@functional/placeholder'] === true; } /***/ }), /***/ 35757: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ _isRegExp) /* harmony export */ }); function _isRegExp(x) { return Object.prototype.toString.call(x) === '[object RegExp]'; } /***/ }), /***/ 40141: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ _isString) /* harmony export */ }); function _isString(x) { return Object.prototype.toString.call(x) === '[object String]'; } /***/ }), /***/ 7117: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ _isTransformer) /* harmony export */ }); function _isTransformer(obj) { return obj != null && typeof obj['@@transducer/step'] === 'function'; } /***/ }), /***/ 31829: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ _isTypedArray) /* harmony export */ }); /** * Tests whether or not an object is a typed array. * * @private * @param {*} val The object to test. * @return {Boolean} `true` if `val` is a typed array, `false` otherwise. * @example * * _isTypedArray(new Uint8Array([])); //=> true * _isTypedArray(new Float32Array([])); //=> true * _isTypedArray([]); //=> false * _isTypedArray(null); //=> false * _isTypedArray({}); //=> false */ function _isTypedArray(val) { var type = Object.prototype.toString.call(val); return type === '[object Uint8ClampedArray]' || type === '[object Int8Array]' || type === '[object Uint8Array]' || type === '[object Int16Array]' || type === '[object Uint16Array]' || type === '[object Int32Array]' || type === '[object Uint32Array]' || type === '[object Float32Array]' || type === '[object Float64Array]' || type === '[object BigInt64Array]' || type === '[object BigUint64Array]'; } /***/ }), /***/ 46584: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ _map) /* harmony export */ }); function _map(fn, functor) { var idx = 0; var len = functor.length; var result = Array(len); while (idx < len) { result[idx] = fn(functor[idx]); idx += 1; } return result; } /***/ }), /***/ 55136: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ _nth) /* harmony export */ }); /* harmony import */ var _isString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(40141); function _nth(offset, list) { var idx = offset < 0 ? list.length + offset : offset; return (0,_isString_js__WEBPACK_IMPORTED_MODULE_0__["default"])(list) ? list.charAt(idx) : list[idx]; } /***/ }), /***/ 35290: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _has_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(65722); // Based on https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Object/assign function _objectAssign(target) { if (target == null) { throw new TypeError('Cannot convert undefined or null to object'); } var output = Object(target); var idx = 1; var length = arguments.length; while (idx < length) { var source = arguments[idx]; if (source != null) { for (var nextKey in source) { if ((0,_has_js__WEBPACK_IMPORTED_MODULE_0__["default"])(nextKey, source)) { output[nextKey] = source[nextKey]; } } } idx += 1; } return output; } /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (typeof Object.assign === 'function' ? Object.assign : _objectAssign); /***/ }), /***/ 1111: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); // Based on https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is function _objectIs(a, b) { // SameValue algorithm if (a === b) { // Steps 1-5, 7-10 // Steps 6.b-6.e: +0 != -0 return a !== 0 || 1 / a === 1 / b; } else { // Step 6.a: NaN == NaN return a !== a && b !== b; } } /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (typeof Object.is === 'function' ? Object.is : _objectIs); /***/ }), /***/ 68067: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ _path) /* harmony export */ }); /* harmony import */ var _isInteger_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(77700); /* harmony import */ var _nth_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(55136); function _path(pathAr, obj) { var val = obj; for (var i = 0; i < pathAr.length; i += 1) { if (val == null) { return undefined; } var p = pathAr[i]; if ((0,_isInteger_js__WEBPACK_IMPORTED_MODULE_0__["default"])(p)) { val = (0,_nth_js__WEBPACK_IMPORTED_MODULE_1__["default"])(p, val); } else { val = val[p]; } } return val; } /***/ }), /***/ 94436: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ _pipe) /* harmony export */ }); function _pipe(f, g) { return function () { return g.call(this, f.apply(this, arguments)); }; } /***/ }), /***/ 61950: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ _quote) /* harmony export */ }); function _quote(s) { var escaped = s.replace(/\\/g, '\\\\').replace(/[\b]/g, '\\b') // \b matches word boundary; [\b] matches backspace .replace(/\f/g, '\\f').replace(/\n/g, '\\n').replace(/\r/g, '\\r').replace(/\t/g, '\\t').replace(/\v/g, '\\v').replace(/\0/g, '\\0'); return '"' + escaped.replace(/"/g, '\\"') + '"'; } /***/ }), /***/ 60166: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _arrayReduce_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(54121); /* harmony import */ var _createReduce_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(44334); function _iterableReduce(reducer, acc, iter) { var step = iter.next(); while (!step.done) { acc = reducer(acc, step.value); step = iter.next(); } return acc; } function _methodReduce(reducer, acc, obj, methodName) { return obj[methodName](reducer, acc); } var _reduce = /*#__PURE__*/(0,_createReduce_js__WEBPACK_IMPORTED_MODULE_0__["default"])(_arrayReduce_js__WEBPACK_IMPORTED_MODULE_1__["default"], _methodReduce, _iterableReduce); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_reduce); /***/ }), /***/ 52296: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ _reduced) /* harmony export */ }); function _reduced(x) { return x && x['@@transducer/reduced'] ? x : { '@@transducer/value': x, '@@transducer/reduced': true }; } /***/ }), /***/ 28477: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /** * Polyfill from . */ var pad = function pad(n) { return (n < 10 ? '0' : '') + n; }; var _toISOString = typeof Date.prototype.toISOString === 'function' ? function _toISOString(d) { return d.toISOString(); } : function _toISOString(d) { return d.getUTCFullYear() + '-' + pad(d.getUTCMonth() + 1) + '-' + pad(d.getUTCDate()) + 'T' + pad(d.getUTCHours()) + ':' + pad(d.getUTCMinutes()) + ':' + pad(d.getUTCSeconds()) + '.' + (d.getUTCMilliseconds() / 1000).toFixed(3).slice(2, 5) + 'Z'; }; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_toISOString); /***/ }), /***/ 52420: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ _toString) /* harmony export */ }); /* harmony import */ var _includes_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(26265); /* harmony import */ var _map_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(46584); /* harmony import */ var _quote_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(61950); /* harmony import */ var _toISOString_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(28477); /* harmony import */ var _keys_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(77783); /* harmony import */ var _reject_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(67444); function _toString(x, seen) { var recur = function recur(y) { var xs = seen.concat([x]); return (0,_includes_js__WEBPACK_IMPORTED_MODULE_0__["default"])(y, xs) ? '' : _toString(y, xs); }; // mapPairs :: (Object, [String]) -> [String] var mapPairs = function (obj, keys) { return (0,_map_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function (k) { return (0,_quote_js__WEBPACK_IMPORTED_MODULE_2__["default"])(k) + ': ' + recur(obj[k]); }, keys.slice().sort()); }; switch (Object.prototype.toString.call(x)) { case '[object Arguments]': return '(function() { return arguments; }(' + (0,_map_js__WEBPACK_IMPORTED_MODULE_1__["default"])(recur, x).join(', ') + '))'; case '[object Array]': return '[' + (0,_map_js__WEBPACK_IMPORTED_MODULE_1__["default"])(recur, x).concat(mapPairs(x, (0,_reject_js__WEBPACK_IMPORTED_MODULE_3__["default"])(function (k) { return /^\d+$/.test(k); }, (0,_keys_js__WEBPACK_IMPORTED_MODULE_4__["default"])(x)))).join(', ') + ']'; case '[object Boolean]': return typeof x === 'object' ? 'new Boolean(' + recur(x.valueOf()) + ')' : x.toString(); case '[object Date]': return 'new Date(' + (isNaN(x.valueOf()) ? recur(NaN) : (0,_quote_js__WEBPACK_IMPORTED_MODULE_2__["default"])((0,_toISOString_js__WEBPACK_IMPORTED_MODULE_5__["default"])(x))) + ')'; case '[object Map]': return 'new Map(' + recur(Array.from(x)) + ')'; case '[object Null]': return 'null'; case '[object Number]': return typeof x === 'object' ? 'new Number(' + recur(x.valueOf()) + ')' : 1 / x === -Infinity ? '-0' : x.toString(10); case '[object Set]': return 'new Set(' + recur(Array.from(x).sort()) + ')'; case '[object String]': return typeof x === 'object' ? 'new String(' + recur(x.valueOf()) + ')' : (0,_quote_js__WEBPACK_IMPORTED_MODULE_2__["default"])(x); case '[object Undefined]': return 'undefined'; default: if (typeof x.toString === 'function') { var repr = x.toString(); if (repr !== '[object Object]') { return repr; } } return '{' + mapPairs(x, (0,_keys_js__WEBPACK_IMPORTED_MODULE_4__["default"])(x)).join(', ') + '}'; } } /***/ }), /***/ 82719: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ _xArrayReduce) /* harmony export */ }); function _xArrayReduce(xf, acc, list) { var idx = 0; var len = list.length; while (idx < len) { acc = xf['@@transducer/step'](acc, list[idx]); if (acc && acc['@@transducer/reduced']) { acc = acc['@@transducer/value']; break; } idx += 1; } return xf['@@transducer/result'](acc); } /***/ }), /***/ 69728: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _createReduce_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(44334); /* harmony import */ var _xArrayReduce_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(82719); /* harmony import */ var _bind_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(90560); function _xIterableReduce(xf, acc, iter) { var step = iter.next(); while (!step.done) { acc = xf['@@transducer/step'](acc, step.value); if (acc && acc['@@transducer/reduced']) { acc = acc['@@transducer/value']; break; } step = iter.next(); } return xf['@@transducer/result'](acc); } function _xMethodReduce(xf, acc, obj, methodName) { return xf['@@transducer/result'](obj[methodName]((0,_bind_js__WEBPACK_IMPORTED_MODULE_0__["default"])(xf['@@transducer/step'], xf), acc)); } var _xReduce = /*#__PURE__*/(0,_createReduce_js__WEBPACK_IMPORTED_MODULE_1__["default"])(_xArrayReduce_js__WEBPACK_IMPORTED_MODULE_2__["default"], _xMethodReduce, _xIterableReduce); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_xReduce); /***/ }), /***/ 96359: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ _xall) /* harmony export */ }); /* harmony import */ var _reduced_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(52296); /* harmony import */ var _xfBase_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(63143); var XAll = /*#__PURE__*/function () { function XAll(f, xf) { this.xf = xf; this.f = f; this.all = true; } XAll.prototype['@@transducer/init'] = _xfBase_js__WEBPACK_IMPORTED_MODULE_0__["default"].init; XAll.prototype['@@transducer/result'] = function (result) { if (this.all) { result = this.xf['@@transducer/step'](result, true); } return this.xf['@@transducer/result'](result); }; XAll.prototype['@@transducer/step'] = function (result, input) { if (!this.f(input)) { this.all = false; result = (0,_reduced_js__WEBPACK_IMPORTED_MODULE_1__["default"])(this.xf['@@transducer/step'](result, false)); } return result; }; return XAll; }(); function _xall(f) { return function (xf) { return new XAll(f, xf); }; } /***/ }), /***/ 52886: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ _xdropWhile) /* harmony export */ }); /* harmony import */ var _xfBase_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(63143); var XDropWhile = /*#__PURE__*/function () { function XDropWhile(f, xf) { this.xf = xf; this.f = f; } XDropWhile.prototype['@@transducer/init'] = _xfBase_js__WEBPACK_IMPORTED_MODULE_0__["default"].init; XDropWhile.prototype['@@transducer/result'] = _xfBase_js__WEBPACK_IMPORTED_MODULE_0__["default"].result; XDropWhile.prototype['@@transducer/step'] = function (result, input) { if (this.f) { if (this.f(input)) { return result; } this.f = null; } return this.xf['@@transducer/step'](result, input); }; return XDropWhile; }(); function _xdropWhile(f) { return function (xf) { return new XDropWhile(f, xf); }; } /***/ }), /***/ 63143: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ init: function () { return this.xf['@@transducer/init'](); }, result: function (result) { return this.xf['@@transducer/result'](result); } }); /***/ }), /***/ 88080: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ _xfilter) /* harmony export */ }); /* harmony import */ var _xfBase_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(63143); var XFilter = /*#__PURE__*/function () { function XFilter(f, xf) { this.xf = xf; this.f = f; } XFilter.prototype['@@transducer/init'] = _xfBase_js__WEBPACK_IMPORTED_MODULE_0__["default"].init; XFilter.prototype['@@transducer/result'] = _xfBase_js__WEBPACK_IMPORTED_MODULE_0__["default"].result; XFilter.prototype['@@transducer/step'] = function (result, input) { return this.f(input) ? this.xf['@@transducer/step'](result, input) : result; }; return XFilter; }(); function _xfilter(f) { return function (xf) { return new XFilter(f, xf); }; } /***/ }), /***/ 96390: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _xfBase_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(63143); var XMap = /*#__PURE__*/function () { function XMap(f, xf) { this.xf = xf; this.f = f; } XMap.prototype['@@transducer/init'] = _xfBase_js__WEBPACK_IMPORTED_MODULE_0__["default"].init; XMap.prototype['@@transducer/result'] = _xfBase_js__WEBPACK_IMPORTED_MODULE_0__["default"].result; XMap.prototype['@@transducer/step'] = function (result, input) { return this.xf['@@transducer/step'](result, this.f(input)); }; return XMap; }(); var _xmap = function _xmap(f) { return function (xf) { return new XMap(f, xf); }; }; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_xmap); /***/ }), /***/ 80605: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ _xtake) /* harmony export */ }); /* harmony import */ var _reduced_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(52296); /* harmony import */ var _xfBase_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(63143); var XTake = /*#__PURE__*/function () { function XTake(n, xf) { this.xf = xf; this.n = n; this.i = 0; } XTake.prototype['@@transducer/init'] = _xfBase_js__WEBPACK_IMPORTED_MODULE_0__["default"].init; XTake.prototype['@@transducer/result'] = _xfBase_js__WEBPACK_IMPORTED_MODULE_0__["default"].result; XTake.prototype['@@transducer/step'] = function (result, input) { this.i += 1; var ret = this.n === 0 ? result : this.xf['@@transducer/step'](result, input); return this.n >= 0 && this.i >= this.n ? (0,_reduced_js__WEBPACK_IMPORTED_MODULE_1__["default"])(ret) : ret; }; return XTake; }(); function _xtake(n) { return function (xf) { return new XTake(n, xf); }; } /***/ }), /***/ 24514: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ _xwrap) /* harmony export */ }); var XWrap = /*#__PURE__*/function () { function XWrap(fn) { this.f = fn; } XWrap.prototype['@@transducer/init'] = function () { throw new Error('init not implemented on XWrap'); }; XWrap.prototype['@@transducer/result'] = function (acc) { return acc; }; XWrap.prototype['@@transducer/step'] = function (acc, x) { return this.f(acc, x); }; return XWrap; }(); function _xwrap(fn) { return new XWrap(fn); } /***/ }), /***/ 41837: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(45959); /* harmony import */ var _internal_isFunction_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(59892); /* harmony import */ var _curryN_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(19784); /* harmony import */ var _toString_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(9271); /** * Given an `arity` (Number) and a `name` (String) the `invoker` function * returns a curried function that takes `arity` arguments and a `context` * object. It will "invoke" the `name`'d function (a method) on the `context` * object. * * @func * @memberOf R * @since v0.1.0 * @category Function * @sig Number -> String -> (a -> b -> ... -> n -> Object -> *) * @param {Number} arity Number of arguments the returned function should take * before the target object. * @param {String} method Name of any of the target object's methods to call. * @return {Function} A new curried function. * @see R.construct * @example * // A function with no arguments * const asJson = invoker(0, "json") * // Just like calling .then((response) => response.json()) * fetch("http://example.com/index.json").then(asJson) * * // A function with one argument * const sliceFrom = invoker(1, 'slice'); * sliceFrom(6, 'abcdefghijklm'); //=> 'ghijklm' * * // A function with two arguments * const sliceFrom6 = invoker(2, 'slice')(6); * sliceFrom6(8, 'abcdefghijklm'); //=> 'gh' * * // NOTE: You can't simply pass some of the arguments to the initial invoker function. * const firstCreditCardSection = invoker(2, "slice", 0, 4) * firstCreditCardSection("4242 4242 4242 4242") // => Function<...> * * // Since invoker returns a curried function, you may partially apply it to create the function you need. * const firstCreditCardSection = invoker(2, "slice")(0, 4) * firstCreditCardSection("4242 4242 4242 4242") // => "4242" * * @symb R.invoker(0, 'method')(o) = o['method']() * @symb R.invoker(1, 'method')(a, o) = o['method'](a) * @symb R.invoker(2, 'method')(a, b, o) = o['method'](a, b) */ var invoker = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function invoker(arity, method) { return (0,_curryN_js__WEBPACK_IMPORTED_MODULE_1__["default"])(arity + 1, function () { var target = arguments[arity]; if (target != null && (0,_internal_isFunction_js__WEBPACK_IMPORTED_MODULE_2__["default"])(target[method])) { return target[method].apply(target, Array.prototype.slice.call(arguments, 0, arity)); } throw new TypeError((0,_toString_js__WEBPACK_IMPORTED_MODULE_3__["default"])(target) + ' does not have a method named "' + method + '"'); }); }); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (invoker); /***/ }), /***/ 27694: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(18938); /* harmony import */ var _empty_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(95734); /* harmony import */ var _equals_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(53654); /** * Returns `true` if the given value is its type's empty value; `false` * otherwise. * * @func * @memberOf R * @since v0.1.0 * @category Logic * @sig a -> Boolean * @param {*} x * @return {Boolean} * @see R.empty, R.isNotEmpty * @example * * R.isEmpty([1, 2, 3]); //=> false * R.isEmpty([]); //=> true * R.isEmpty(''); //=> true * R.isEmpty(null); //=> false * R.isEmpty({}); //=> true * R.isEmpty({length: 0}); //=> false * R.isEmpty(Uint8Array.from('')); //=> true */ var isEmpty = /*#__PURE__*/(0,_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function isEmpty(x) { return x != null && (0,_equals_js__WEBPACK_IMPORTED_MODULE_1__["default"])(x, (0,_empty_js__WEBPACK_IMPORTED_MODULE_2__["default"])(x)); }); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (isEmpty); /***/ }), /***/ 19904: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(18938); /** * Checks if the input value is `null` or `undefined`. * * @func * @memberOf R * @since v0.9.0 * @category Type * @sig * -> Boolean * @param {*} x The value to test. * @return {Boolean} `true` if `x` is `undefined` or `null`, otherwise `false`. * @example * * R.isNil(null); //=> true * R.isNil(undefined); //=> true * R.isNil(0); //=> false * R.isNil([]); //=> false */ var isNil = /*#__PURE__*/(0,_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function isNil(x) { return x == null; }); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (isNil); /***/ }), /***/ 76785: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(18938); /* harmony import */ var _isEmpty_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(27694); /** * Returns `false` if the given value is its type's empty value; `true` * otherwise. * * @func * @memberOf R * @since v0.29.2 * @category Logic * @sig a -> Boolean * @param {*} x * @return {Boolean} * @see R.empty, R.isEmpty * @example * * R.isNotEmpty([1, 2, 3]); //=> true * R.isNotEmpty([]); //=> false * R.isNotEmpty(''); //=> false * R.isNotEmpty(null); //=> true * R.isNotEmpty({}); //=> false * R.isNotEmpty({length: 0}); //=> true * R.isNotEmpty(Uint8Array.from('')); //=> false */ var isNotEmpty = /*#__PURE__*/(0,_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function isNotEmpty(x) { return !(0,_isEmpty_js__WEBPACK_IMPORTED_MODULE_1__["default"])(x); }); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (isNotEmpty); /***/ }), /***/ 95819: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _invoker_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(41837); /** * Returns a string made by inserting the `separator` between each element and * concatenating all the elements into a single string. * * @func * @memberOf R * @since v0.1.0 * @category List * @sig String -> [a] -> String * @param {Number|String} separator The string used to separate the elements. * @param {Array} xs The elements to join into a string. * @return {String} str The string made by concatenating `xs` with `separator`. * @see R.split * @example * * const spacer = R.join(' '); * spacer(['a', 2, 3.4]); //=> 'a 2 3.4' * R.join('|', [1, 2, 3]); //=> '1|2|3' */ var join = /*#__PURE__*/(0,_invoker_js__WEBPACK_IMPORTED_MODULE_0__["default"])(1, 'join'); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (join); /***/ }), /***/ 77783: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(18938); /* harmony import */ var _internal_has_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(65722); /* harmony import */ var _internal_isArguments_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(26590); // cover IE < 9 keys issues var hasEnumBug = ! /*#__PURE__*/{ toString: null }.propertyIsEnumerable('toString'); var nonEnumerableProps = ['constructor', 'valueOf', 'isPrototypeOf', 'toString', 'propertyIsEnumerable', 'hasOwnProperty', 'toLocaleString']; // Safari bug var hasArgsEnumBug = /*#__PURE__*/function () { 'use strict'; return arguments.propertyIsEnumerable('length'); }(); var contains = function contains(list, item) { var idx = 0; while (idx < list.length) { if (list[idx] === item) { return true; } idx += 1; } return false; }; /** * Returns a list containing the names of all the enumerable own properties of * the supplied object. * Note that the order of the output array is not guaranteed to be consistent * across different JS platforms. * * @func * @memberOf R * @since v0.1.0 * @category Object * @sig {k: v} -> [k] * @param {Object} obj The object to extract properties from * @return {Array} An array of the object's own properties. * @see R.keysIn, R.values, R.toPairs * @example * * R.keys({a: 1, b: 2, c: 3}); //=> ['a', 'b', 'c'] */ var keys = typeof Object.keys === 'function' && !hasArgsEnumBug ? /*#__PURE__*/(0,_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function keys(obj) { return Object(obj) !== obj ? [] : Object.keys(obj); }) : /*#__PURE__*/(0,_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function keys(obj) { if (Object(obj) !== obj) { return []; } var prop, nIdx; var ks = []; var checkArgsLength = hasArgsEnumBug && (0,_internal_isArguments_js__WEBPACK_IMPORTED_MODULE_1__["default"])(obj); for (prop in obj) { if ((0,_internal_has_js__WEBPACK_IMPORTED_MODULE_2__["default"])(prop, obj) && (!checkArgsLength || prop !== 'length')) { ks[ks.length] = prop; } } if (hasEnumBug) { nIdx = nonEnumerableProps.length - 1; while (nIdx >= 0) { prop = nonEnumerableProps[nIdx]; if ((0,_internal_has_js__WEBPACK_IMPORTED_MODULE_2__["default"])(prop, obj) && !contains(ks, prop)) { ks[ks.length] = prop; } nIdx -= 1; } } return ks; }); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (keys); /***/ }), /***/ 49451: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(18938); /* harmony import */ var _internal_nth_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(55136); /** * Returns the last element of the given list or string. * * @func * @memberOf R * @since v0.1.4 * @category List * @sig [a] -> a | Undefined * @sig String -> String | Undefined * @param {*} list * @return {*} * @see R.init, R.head, R.tail * @example * * R.last(['fi', 'fo', 'fum']); //=> 'fum' * R.last([]); //=> undefined * * R.last('abc'); //=> 'c' * R.last(''); //=> undefined */ var last = /*#__PURE__*/(0,_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function (list) { return (0,_internal_nth_js__WEBPACK_IMPORTED_MODULE_1__["default"])(-1, list); }); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (last); /***/ }), /***/ 79362: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(18938); /* harmony import */ var _liftN_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7110); /** * "lifts" a function of arity >= 1 so that it may "map over" a list, Function or other * object that satisfies the [FantasyLand Apply spec](https://github.com/fantasyland/fantasy-land#apply). * * @func * @memberOf R * @since v0.7.0 * @category Function * @sig (*... -> *) -> ([*]... -> [*]) * @param {Function} fn The function to lift into higher context * @return {Function} The lifted function. * @see R.liftN * @example * * const madd3 = R.lift((a, b, c) => a + b + c); * * madd3([100, 200], [30, 40], [5, 6, 7]); //=> [135, 136, 137, 145, 146, 147, 235, 236, 237, 245, 246, 247] * * const madd5 = R.lift((a, b, c, d, e) => a + b + c + d + e); * * madd5([10, 20], [1], [2, 3], [4], [100, 200]); //=> [117, 217, 118, 218, 127, 227, 128, 228] */ var lift = /*#__PURE__*/(0,_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function lift(fn) { return (0,_liftN_js__WEBPACK_IMPORTED_MODULE_1__["default"])(fn.length, fn); }); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (lift); /***/ }), /***/ 7110: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(45959); /* harmony import */ var _internal_arrayReduce_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(54121); /* harmony import */ var _ap_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(93470); /* harmony import */ var _curryN_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(19784); /* harmony import */ var _map_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(397); /** * "lifts" a function to be the specified arity, so that it may "map over" that * many lists, Functions or other objects that satisfy the [FantasyLand Apply spec](https://github.com/fantasyland/fantasy-land#apply). * * @func * @memberOf R * @since v0.7.0 * @category Function * @sig Number -> (*... -> *) -> ([*]... -> [*]) * @param {Function} fn The function to lift into higher context * @return {Function} The lifted function. * @see R.lift, R.ap * @example * * const madd3 = R.liftN(3, (...args) => R.sum(args)); * madd3([1,2,3], [1,2,3], [1]); //=> [3, 4, 5, 4, 5, 6, 5, 6, 7] */ var liftN = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function liftN(arity, fn) { var lifted = (0,_curryN_js__WEBPACK_IMPORTED_MODULE_1__["default"])(arity, fn); return (0,_curryN_js__WEBPACK_IMPORTED_MODULE_1__["default"])(arity, function () { return (0,_internal_arrayReduce_js__WEBPACK_IMPORTED_MODULE_2__["default"])(_ap_js__WEBPACK_IMPORTED_MODULE_3__["default"], (0,_map_js__WEBPACK_IMPORTED_MODULE_4__["default"])(lifted, arguments[0]), Array.prototype.slice.call(arguments, 1)); }); }); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (liftN); /***/ }), /***/ 397: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _internal_arrayReduce_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(54121); /* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(45959); /* harmony import */ var _internal_dispatchable_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(96738); /* harmony import */ var _internal_map_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(46584); /* harmony import */ var _internal_xmap_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(96390); /* harmony import */ var _curryN_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(19784); /* harmony import */ var _keys_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(77783); /** * Takes a function and * a [functor](https://github.com/fantasyland/fantasy-land#functor), * applies the function to each of the functor's values, and returns * a functor of the same shape. * * Ramda provides suitable `map` implementations for `Array` and `Object`, * so this function may be applied to `[1, 2, 3]` or `{x: 1, y: 2, z: 3}`. * * Dispatches to the `map` method of the second argument, if present. * * Acts as a transducer if a transformer is given in list position. * * Also treats functions as functors and will compose them together. * * @func * @memberOf R * @since v0.1.0 * @category List * @sig Functor f => (a -> b) -> f a -> f b * @param {Function} fn The function to be called on every element of the input `list`. * @param {Array} list The list to be iterated over. * @return {Array} The new list. * @see R.transduce, R.addIndex, R.pluck, R.project * @example * * const double = x => x * 2; * * R.map(double, [1, 2, 3]); //=> [2, 4, 6] * * R.map(double, {x: 1, y: 2, z: 3}); //=> {x: 2, y: 4, z: 6} * @symb R.map(f, [a, b]) = [f(a), f(b)] * @symb R.map(f, { x: a, y: b }) = { x: f(a), y: f(b) } * @symb R.map(f, functor_o) = functor_o.map(f) */ var map = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/(0,_internal_dispatchable_js__WEBPACK_IMPORTED_MODULE_1__["default"])(['fantasy-land/map', 'map'], _internal_xmap_js__WEBPACK_IMPORTED_MODULE_2__["default"], function map(fn, functor) { switch (Object.prototype.toString.call(functor)) { case '[object Function]': return (0,_curryN_js__WEBPACK_IMPORTED_MODULE_3__["default"])(functor.length, function () { return fn.call(this, functor.apply(this, arguments)); }); case '[object Object]': return (0,_internal_arrayReduce_js__WEBPACK_IMPORTED_MODULE_4__["default"])(function (acc, key) { acc[key] = fn(functor[key]); return acc; }, {}, (0,_keys_js__WEBPACK_IMPORTED_MODULE_5__["default"])(functor)); default: return (0,_internal_map_js__WEBPACK_IMPORTED_MODULE_6__["default"])(fn, functor); } })); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (map); /***/ }), /***/ 89867: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _internal_arrayReduce_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(54121); /* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(45959); /* harmony import */ var _keys_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(77783); /** * An Object-specific version of [`map`](#map). The function is applied to three * arguments: *(value, key, obj)*. If only the value is significant, use * [`map`](#map) instead. * * @func * @memberOf R * @since v0.9.0 * @category Object * @sig ((*, String, Object) -> *) -> Object -> Object * @param {Function} fn * @param {Object} obj * @return {Object} * @see R.map * @example * * const xyz = { x: 1, y: 2, z: 3 }; * const prependKeyAndDouble = (num, key, obj) => key + (num * 2); * * R.mapObjIndexed(prependKeyAndDouble, xyz); //=> { x: 'x2', y: 'y4', z: 'z6' } */ var mapObjIndexed = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function mapObjIndexed(fn, obj) { return (0,_internal_arrayReduce_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function (acc, key) { acc[key] = fn(obj[key], key, obj); return acc; }, {}, (0,_keys_js__WEBPACK_IMPORTED_MODULE_2__["default"])(obj)); }); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (mapObjIndexed); /***/ }), /***/ 54981: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(45959); /* harmony import */ var _toString_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(9271); /** * Returns the larger of its two arguments. * * @func * @memberOf R * @since v0.1.0 * @category Relation * @sig Ord a => a -> a -> a * @param {*} a * @param {*} b * @return {*} * @see R.maxBy, R.min * @example * * R.max(789, 123); //=> 789 * R.max('a', 'b'); //=> 'b' */ var max = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function max(a, b) { if (a === b) { return b; } function safeMax(x, y) { if (x > y !== y > x) { return y > x ? y : x; } return undefined; } var maxByValue = safeMax(a, b); if (maxByValue !== undefined) { return maxByValue; } var maxByType = safeMax(typeof a, typeof b); if (maxByType !== undefined) { return maxByType === typeof a ? a : b; } var stringA = (0,_toString_js__WEBPACK_IMPORTED_MODULE_1__["default"])(a); var maxByStringValue = safeMax(stringA, (0,_toString_js__WEBPACK_IMPORTED_MODULE_1__["default"])(b)); if (maxByStringValue !== undefined) { return maxByStringValue === stringA ? a : b; } return b; }); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (max); /***/ }), /***/ 81515: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(45959); /* harmony import */ var _mergeDeepWithKey_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(11314); /** * Creates a new object with the own properties of the first object merged with * the own properties of the second object. If a key exists in both objects: * - and both values are objects, the two values will be recursively merged * - otherwise the value from the second object will be used. * * @func * @memberOf R * @since v0.24.0 * @category Object * @sig {a} -> {a} -> {a} * @param {Object} lObj * @param {Object} rObj * @return {Object} * @see R.merge, R.mergeDeepLeft, R.mergeDeepWith, R.mergeDeepWithKey * @example * * R.mergeDeepRight({ name: 'fred', age: 10, contact: { email: 'moo@example.com' }}, * { age: 40, contact: { email: 'baa@example.com' }}); * //=> { name: 'fred', age: 40, contact: { email: 'baa@example.com' }} */ var mergeDeepRight = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function mergeDeepRight(lObj, rObj) { return (0,_mergeDeepWithKey_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function (k, lVal, rVal) { return rVal; }, lObj, rObj); }); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (mergeDeepRight); /***/ }), /***/ 11314: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(39088); /* harmony import */ var _internal_isObject_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(60131); /* harmony import */ var _mergeWithKey_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(28052); /** * Creates a new object with the own properties of the two provided objects. * If a key exists in both objects: * - and both associated values are also objects then the values will be * recursively merged. * - otherwise the provided function is applied to the key and associated values * using the resulting value as the new value associated with the key. * If a key only exists in one object, the value will be associated with the key * of the resulting object. * * @func * @memberOf R * @since v0.24.0 * @category Object * @sig ((String, a, a) -> a) -> {a} -> {a} -> {a} * @param {Function} fn * @param {Object} lObj * @param {Object} rObj * @return {Object} * @see R.mergeWithKey, R.mergeDeepWith * @example * * let concatValues = (k, l, r) => k == 'values' ? R.concat(l, r) : r * R.mergeDeepWithKey(concatValues, * { a: true, c: { thing: 'foo', values: [10, 20] }}, * { b: true, c: { thing: 'bar', values: [15, 35] }}); * //=> { a: true, b: true, c: { thing: 'bar', values: [10, 20, 15, 35] }} */ var mergeDeepWithKey = /*#__PURE__*/(0,_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function mergeDeepWithKey(fn, lObj, rObj) { return (0,_mergeWithKey_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function (k, lVal, rVal) { if ((0,_internal_isObject_js__WEBPACK_IMPORTED_MODULE_2__["default"])(lVal) && (0,_internal_isObject_js__WEBPACK_IMPORTED_MODULE_2__["default"])(rVal)) { return mergeDeepWithKey(fn, lVal, rVal); } else { return fn(k, lVal, rVal); } }, lObj, rObj); }); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (mergeDeepWithKey); /***/ }), /***/ 47357: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _internal_objectAssign_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(35290); /* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(45959); /** * Create a new object with the own properties of the first object merged with * the own properties of the second object. If a key exists in both objects, * the value from the second object will be used. * * @func * @memberOf R * @since v0.26.0 * @category Object * @sig {k: v} -> {k: v} -> {k: v} * @param {Object} l * @param {Object} r * @return {Object} * @see R.mergeLeft, R.mergeDeepRight, R.mergeWith, R.mergeWithKey * @example * * R.mergeRight({ 'name': 'fred', 'age': 10 }, { 'age': 40 }); * //=> { 'name': 'fred', 'age': 40 } * * const withDefaults = R.mergeRight({x: 0, y: 0}); * withDefaults({y: 2}); //=> {x: 0, y: 2} * @symb R.mergeRight(a, b) = {...a, ...b} */ var mergeRight = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function mergeRight(l, r) { return (0,_internal_objectAssign_js__WEBPACK_IMPORTED_MODULE_1__["default"])({}, l, r); }); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (mergeRight); /***/ }), /***/ 28052: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(39088); /* harmony import */ var _internal_has_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(65722); /** * Creates a new object with the own properties of the two provided objects. If * a key exists in both objects, the provided function is applied to the key * and the values associated with the key in each object, with the result being * used as the value associated with the key in the returned object. * * @func * @memberOf R * @since v0.19.0 * @category Object * @sig ((String, a, a) -> a) -> {a} -> {a} -> {a} * @param {Function} fn * @param {Object} l * @param {Object} r * @return {Object} * @see R.mergeDeepWithKey, R.merge, R.mergeWith * @example * * let concatValues = (k, l, r) => k == 'values' ? R.concat(l, r) : r * R.mergeWithKey(concatValues, * { a: true, thing: 'foo', values: [10, 20] }, * { b: true, thing: 'bar', values: [15, 35] }); * //=> { a: true, b: true, thing: 'bar', values: [10, 20, 15, 35] } * @symb R.mergeWithKey(f, { x: 1, y: 2 }, { y: 5, z: 3 }) = { x: 1, y: f('y', 2, 5), z: 3 } */ var mergeWithKey = /*#__PURE__*/(0,_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function mergeWithKey(fn, l, r) { var result = {}; var k; l = l || {}; r = r || {}; for (k in l) { if ((0,_internal_has_js__WEBPACK_IMPORTED_MODULE_1__["default"])(k, l)) { result[k] = (0,_internal_has_js__WEBPACK_IMPORTED_MODULE_1__["default"])(k, r) ? fn(k, l[k], r[k]) : l[k]; } } for (k in r) { if ((0,_internal_has_js__WEBPACK_IMPORTED_MODULE_1__["default"])(k, r) && !(0,_internal_has_js__WEBPACK_IMPORTED_MODULE_1__["default"])(k, result)) { result[k] = r[k]; } } return result; }); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (mergeWithKey); /***/ }), /***/ 62486: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(18938); /** * A function that returns the `!` of its argument. It will return `true` when * passed false-y value, and `false` when passed a truth-y one. * * @func * @memberOf R * @since v0.1.0 * @category Logic * @sig * -> Boolean * @param {*} a any value * @return {Boolean} the logical inverse of passed argument. * @see R.complement * @example * * R.not(true); //=> false * R.not(false); //=> true * R.not(0); //=> true * R.not(1); //=> false */ var not = /*#__PURE__*/(0,_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function not(a) { return !a; }); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (not); /***/ }), /***/ 38506: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(45959); /** * Returns a partial copy of an object omitting the keys specified. * * @func * @memberOf R * @since v0.1.0 * @category Object * @sig [String] -> {String: *} -> {String: *} * @param {Array} names an array of String property names to omit from the new object * @param {Object} obj The object to copy from * @return {Object} A new object with properties from `names` not on it. * @see R.pick * @example * * R.omit(['a', 'd'], {a: 1, b: 2, c: 3, d: 4}); //=> {b: 2, c: 3} */ var omit = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function omit(names, obj) { var result = {}; var index = {}; var idx = 0; var len = names.length; while (idx < len) { index[names[idx]] = 1; idx += 1; } for (var prop in obj) { if (!index.hasOwnProperty(prop)) { result[prop] = obj[prop]; } } return result; }); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (omit); /***/ }), /***/ 6986: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(45959); /** * Returns the first argument if it is truthy, otherwise the second argument. * Acts as the boolean `or` statement if both inputs are `Boolean`s. * * @func * @memberOf R * @since v0.1.0 * @category Logic * @sig a -> b -> a | b * @param {Any} a * @param {Any} b * @return {Any} * @see R.either, R.and * @example * * R.or(true, true); //=> true * R.or(true, false); //=> true * R.or(false, true); //=> true * R.or(false, false); //=> false */ var or = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function or(a, b) { return a || b; }); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (or); /***/ }), /***/ 14864: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(45959); /* harmony import */ var _internal_path_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(68067); /** * Retrieves the value at a given path. The nodes of the path can be arbitrary strings or non-negative integers. * For anything else, the value is unspecified. Integer paths are meant to index arrays, strings are meant for objects. * * @func * @memberOf R * @since v0.2.0 * @category Object * @typedefn Idx = String | Int | Symbol * @sig [Idx] -> {a} -> a | Undefined * @sig Idx = String | NonNegativeInt * @param {Array} path The path to use. * @param {Object} obj The object or array to retrieve the nested property from. * @return {*} The data at `path`. * @see R.prop, R.nth, R.assocPath, R.dissocPath * @example * * R.path(['a', 'b'], {a: {b: 2}}); //=> 2 * R.path(['a', 'b'], {c: {b: 2}}); //=> undefined * R.path(['a', 'b', 0], {a: {b: [1, 2, 3]}}); //=> 1 * R.path(['a', 'b', -2], {a: {b: [1, 2, 3]}}); //=> 2 * R.path([2], {'2': 2}); //=> 2 * R.path([-2], {'-2': 'a'}); //=> undefined */ var path = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(_internal_path_js__WEBPACK_IMPORTED_MODULE_1__["default"]); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (path); /***/ }), /***/ 44181: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(39088); /* harmony import */ var _internal_path_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(68067); /* harmony import */ var _defaultTo_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(66719); /** * If the given, non-null object has a value at the given path, returns the * value at that path. Otherwise returns the provided default value. * * @func * @memberOf R * @since v0.18.0 * @category Object * @typedefn Idx = String | Int | Symbol * @sig a -> [Idx] -> {a} -> a * @param {*} d The default value. * @param {Array} p The path to use. * @param {Object} obj The object to retrieve the nested property from. * @return {*} The data at `path` of the supplied object or the default value. * @example * * R.pathOr('N/A', ['a', 'b'], {a: {b: 2}}); //=> 2 * R.pathOr('N/A', ['a', 'b'], {c: {b: 2}}); //=> "N/A" */ var pathOr = /*#__PURE__*/(0,_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function pathOr(d, p, obj) { return (0,_defaultTo_js__WEBPACK_IMPORTED_MODULE_1__["default"])(d, (0,_internal_path_js__WEBPACK_IMPORTED_MODULE_2__["default"])(p, obj)); }); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (pathOr); /***/ }), /***/ 44787: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(39088); /* harmony import */ var _internal_path_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(68067); /** * Returns `true` if the specified object property at given path satisfies the * given predicate; `false` otherwise. * * @func * @memberOf R * @since v0.19.0 * @category Logic * @typedefn Idx = String | Int | Symbol * @sig (a -> Boolean) -> [Idx] -> {a} -> Boolean * @param {Function} pred * @param {Array} propPath * @param {*} obj * @return {Boolean} * @see R.propSatisfies, R.path * @example * * R.pathSatisfies(y => y > 0, ['x', 'y'], {x: {y: 2}}); //=> true * R.pathSatisfies(R.is(Object), [], {x: {y: 2}}); //=> true */ var pathSatisfies = /*#__PURE__*/(0,_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function pathSatisfies(pred, propPath, obj) { return pred((0,_internal_path_js__WEBPACK_IMPORTED_MODULE_1__["default"])(propPath, obj)); }); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (pathSatisfies); /***/ }), /***/ 14494: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(45959); /** * Returns a partial copy of an object containing only the keys specified. If * the key does not exist, the property is ignored. * * @func * @memberOf R * @since v0.1.0 * @category Object * @sig [k] -> {k: v} -> {k: v} * @param {Array} names an array of String property names to copy onto a new object * @param {Object} obj The object to copy from * @return {Object} A new object with only properties from `names` on it. * @see R.omit, R.props * @example * * R.pick(['a', 'd'], {a: 1, b: 2, c: 3, d: 4}); //=> {a: 1, d: 4} * R.pick(['a', 'e', 'f'], {a: 1, b: 2, c: 3, d: 4}); //=> {a: 1} */ var pick = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function pick(names, obj) { var result = {}; var idx = 0; while (idx < names.length) { if (names[idx] in obj) { result[names[idx]] = obj[names[idx]]; } idx += 1; } return result; }); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (pick); /***/ }), /***/ 27567: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ pipe) /* harmony export */ }); /* harmony import */ var _internal_arity_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(53607); /* harmony import */ var _internal_pipe_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(94436); /* harmony import */ var _reduce_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(97797); /* harmony import */ var _tail_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(86561); /** * Performs left-to-right function composition. The first argument may have * any arity; the remaining arguments must be unary. * * In some libraries this function is named `sequence`. * * **Note:** The result of pipe is not automatically curried. * * @func * @memberOf R * @since v0.1.0 * @category Function * @sig (((a, b, ..., n) -> o), (o -> p), ..., (x -> y), (y -> z)) -> ((a, b, ..., n) -> z) * @param {...Function} functions * @return {Function} * @see R.compose * @example * * const f = R.pipe(Math.pow, R.negate, R.inc); * * f(3, 4); // -(3^4) + 1 * @symb R.pipe(f, g, h)(a, b) = h(g(f(a, b))) * @symb R.pipe(f, g, h)(a)(b) = h(g(f(a)))(b) */ function pipe() { if (arguments.length === 0) { throw new Error('pipe requires at least one argument'); } return (0,_internal_arity_js__WEBPACK_IMPORTED_MODULE_0__["default"])(arguments[0].length, (0,_reduce_js__WEBPACK_IMPORTED_MODULE_1__["default"])(_internal_pipe_js__WEBPACK_IMPORTED_MODULE_2__["default"], arguments[0], (0,_tail_js__WEBPACK_IMPORTED_MODULE_3__["default"])(arguments))); } /***/ }), /***/ 39590: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(45959); /* harmony import */ var _map_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(397); /* harmony import */ var _prop_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(18822); /** * Returns a new list by plucking the same named property off all objects in * the list supplied. * * `pluck` will work on * any [functor](https://github.com/fantasyland/fantasy-land#functor) in * addition to arrays, as it is equivalent to `R.map(R.prop(k), f)`. * * @func * @memberOf R * @since v0.1.0 * @category List * @sig Functor f => k -> f {k: v} -> f v * @param {Number|String} key The key name to pluck off of each object. * @param {Array} f The array or functor to consider. * @return {Array} The list of values for the given key. * @see R.project, R.prop, R.props * @example * * var getAges = R.pluck('age'); * getAges([{name: 'fred', age: 29}, {name: 'wilma', age: 27}]); //=> [29, 27] * * R.pluck(0, [[1, 2], [3, 4]]); //=> [1, 3] * R.pluck('val', {a: {val: 3}, b: {val: 5}}); //=> {a: 3, b: 5} * @symb R.pluck('x', [{x: 1, y: 2}, {x: 3, y: 4}, {x: 5, y: 6}]) = [1, 3, 5] * @symb R.pluck(0, [[1, 2], [3, 4], [5, 6]]) = [1, 3, 5] */ var pluck = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function pluck(p, list) { return (0,_map_js__WEBPACK_IMPORTED_MODULE_1__["default"])((0,_prop_js__WEBPACK_IMPORTED_MODULE_2__["default"])(p), list); }); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (pluck); /***/ }), /***/ 18822: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(45959); /* harmony import */ var _internal_isInteger_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(77700); /* harmony import */ var _internal_nth_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(55136); /** * Returns a function that when supplied an object returns the indicated * property of that object, if it exists. * * @func * @memberOf R * @since v0.1.0 * @category Object * @typedefn Idx = String | Int | Symbol * @sig Idx -> {s: a} -> a | Undefined * @param {String|Number} p The property name or array index * @param {Object} obj The object to query * @return {*} The value at `obj.p`. * @see R.path, R.props, R.pluck, R.project, R.nth * @example * * R.prop('x', {x: 100}); //=> 100 * R.prop('x', {}); //=> undefined * R.prop(0, [100]); //=> 100 * R.compose(R.inc, R.prop('x'))({ x: 3 }) //=> 4 */ var prop = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function prop(p, obj) { if (obj == null) { return; } return (0,_internal_isInteger_js__WEBPACK_IMPORTED_MODULE_1__["default"])(p) ? (0,_internal_nth_js__WEBPACK_IMPORTED_MODULE_2__["default"])(p, obj) : obj[p]; }); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (prop); /***/ }), /***/ 85379: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(39088); /* harmony import */ var _defaultTo_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(66719); /* harmony import */ var _prop_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(18822); /** * Return the specified property of the given non-null object if the property * is present and it's value is not `null`, `undefined` or `NaN`. * * Otherwise the first argument is returned. * * @func * @memberOf R * @since v0.6.0 * @category Object * @sig a -> String -> Object -> a * @param {*} val The default value. * @param {String} p The name of the property to return. * @param {Object} obj The object to query. * @return {*} The value of given property of the supplied object or the default value. * @example * * const alice = { * name: 'ALICE', * age: 101 * }; * const favorite = R.prop('favoriteLibrary'); * const favoriteWithDefault = R.propOr('Ramda', 'favoriteLibrary'); * * favorite(alice); //=> undefined * favoriteWithDefault(alice); //=> 'Ramda' */ var propOr = /*#__PURE__*/(0,_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function propOr(val, p, obj) { return (0,_defaultTo_js__WEBPACK_IMPORTED_MODULE_1__["default"])(val, (0,_prop_js__WEBPACK_IMPORTED_MODULE_2__["default"])(p, obj)); }); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (propOr); /***/ }), /***/ 77981: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(39088); /* harmony import */ var _prop_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(18822); /** * Returns `true` if the specified object property satisfies the given * predicate; `false` otherwise. You can test multiple properties with * [`R.where`](#where). * * @func * @memberOf R * @since v0.16.0 * @category Logic * @sig (a -> Boolean) -> String -> {String: a} -> Boolean * @param {Function} pred * @param {String} name * @param {*} obj * @return {Boolean} * @see R.where, R.propEq, R.propIs * @example * * R.propSatisfies(x => x > 0, 'x', {x: 1, y: 2}); //=> true */ var propSatisfies = /*#__PURE__*/(0,_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function propSatisfies(pred, name, obj) { return pred((0,_prop_js__WEBPACK_IMPORTED_MODULE_1__["default"])(name, obj)); }); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (propSatisfies); /***/ }), /***/ 41685: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(45959); /* harmony import */ var _internal_isNumber_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(47969); /** * Returns a list of numbers from `from` (inclusive) to `to` (exclusive). * * @func * @memberOf R * @since v0.1.0 * @category List * @sig Number -> Number -> [Number] * @param {Number} from The first number in the list. * @param {Number} to One more than the last number in the list. * @return {Array} The list of numbers in the set `[a, b)`. * @example * * R.range(1, 5); //=> [1, 2, 3, 4] * R.range(50, 53); //=> [50, 51, 52] */ var range = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function range(from, to) { if (!((0,_internal_isNumber_js__WEBPACK_IMPORTED_MODULE_1__["default"])(from) && (0,_internal_isNumber_js__WEBPACK_IMPORTED_MODULE_1__["default"])(to))) { throw new TypeError('Both arguments to range must be numbers'); } var result = Array(from < to ? to - from : 0); var finish = from < 0 ? to + Math.abs(from) : to - from; var idx = 0; while (idx < finish) { result[idx] = idx + from; idx += 1; } return result; }); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (range); /***/ }), /***/ 97797: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(39088); /* harmony import */ var _internal_xReduce_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(69728); /* harmony import */ var _internal_xwrap_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(24514); /** * Returns a single item by iterating through the list, successively calling * the iterator function and passing it an accumulator value and the current * value from the array, and then passing the result to the next call. * * The iterator function receives two values: *(acc, value)*. It may use * [`R.reduced`](#reduced) to shortcut the iteration. * * The arguments' order of [`reduceRight`](#reduceRight)'s iterator function * is *(value, acc)*. * * Note: `R.reduce` does not skip deleted or unassigned indices (sparse * arrays), unlike the native `Array.prototype.reduce` method. For more details * on this behavior, see: * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce#Description * * Be cautious of mutating and returning the accumulator. If you reuse it across * invocations, it will continue to accumulate onto the same value. The general * recommendation is to always return a new value. If you can't do so for * performance reasons, then be sure to reinitialize the accumulator on each * invocation. * * Dispatches to the `reduce` method of the third argument, if present. When * doing so, it is up to the user to handle the [`R.reduced`](#reduced) * shortcuting, as this is not implemented by `reduce`. * * @func * @memberOf R * @since v0.1.0 * @category List * @sig ((a, b) -> a) -> a -> [b] -> a * @param {Function} fn The iterator function. Receives two values, the accumulator and the * current element from the array. * @param {*} acc The accumulator value. * @param {Array} list The list to iterate over. * @return {*} The final, accumulated value. * @see R.reduced, R.addIndex, R.reduceRight * @example * * R.reduce(R.subtract, 0, [1, 2, 3, 4]) // => ((((0 - 1) - 2) - 3) - 4) = -10 * // - -10 * // / \ / \ * // - 4 -6 4 * // / \ / \ * // - 3 ==> -3 3 * // / \ / \ * // - 2 -1 2 * // / \ / \ * // 0 1 0 1 * * @symb R.reduce(f, a, [b, c, d]) = f(f(f(a, b), c), d) */ var reduce = /*#__PURE__*/(0,_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function (xf, acc, list) { return (0,_internal_xReduce_js__WEBPACK_IMPORTED_MODULE_1__["default"])(typeof xf === 'function' ? (0,_internal_xwrap_js__WEBPACK_IMPORTED_MODULE_2__["default"])(xf) : xf, acc, list); }); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (reduce); /***/ }), /***/ 26517: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(18938); /* harmony import */ var _internal_reduced_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(52296); /** * Returns a value wrapped to indicate that it is the final value of the reduce * and transduce functions. The returned value should be considered a black * box: the internal structure is not guaranteed to be stable. * * This optimization is available to the below functions: * - [`reduce`](#reduce) * - [`reduceWhile`](#reduceWhile) * - [`reduceBy`](#reduceBy) * - [`reduceRight`](#reduceRight) * - [`transduce`](#transduce) * * @func * @memberOf R * @since v0.15.0 * @category List * @sig a -> * * @param {*} x The final value of the reduce. * @return {*} The wrapped value. * @see R.reduce, R.reduceWhile, R.reduceBy, R.reduceRight, R.transduce * @example * * R.reduce( * (acc, item) => item > 3 ? R.reduced(acc) : acc.concat(item), * [], * [1, 2, 3, 4, 5]) // [1, 2, 3] */ var reduced = /*#__PURE__*/(0,_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(_internal_reduced_js__WEBPACK_IMPORTED_MODULE_1__["default"]); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (reduced); /***/ }), /***/ 67444: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _internal_complement_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(47940); /* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(45959); /* harmony import */ var _filter_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(68481); /** * The complement of [`filter`](#filter). * * Acts as a transducer if a transformer is given in list position. Filterable * objects include plain objects or any object that has a filter method such * as `Array`. * * @func * @memberOf R * @since v0.1.0 * @category List * @sig Filterable f => (a -> Boolean) -> f a -> f a * @param {Function} pred * @param {Array} filterable * @return {Array} * @see R.filter, R.transduce, R.addIndex * @example * * const isOdd = (n) => n % 2 !== 0; * * R.reject(isOdd, [1, 2, 3, 4]); //=> [2, 4] * * R.reject(isOdd, {a: 1, b: 2, c: 3, d: 4}); //=> {b: 2, d: 4} */ var reject = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function reject(pred, filterable) { return (0,_filter_js__WEBPACK_IMPORTED_MODULE_1__["default"])((0,_internal_complement_js__WEBPACK_IMPORTED_MODULE_2__["default"])(pred), filterable); }); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (reject); /***/ }), /***/ 98675: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(39088); /** * Replace a substring or regex match in a string with a replacement. * * The first two parameters correspond to the parameters of the * `String.prototype.replace()` function, so the second parameter can also be a * function. * * @func * @memberOf R * @since v0.7.0 * @category String * @sig RegExp|String -> String -> String -> String * @param {RegExp|String} pattern A regular expression or a substring to match. * @param {String} replacement The string to replace the matches with. * @param {String} str The String to do the search and replacement in. * @return {String} The result. * @example * * R.replace('foo', 'bar', 'foo foo foo'); //=> 'bar foo foo' * R.replace(/foo/, 'bar', 'foo foo foo'); //=> 'bar foo foo' * * // Use the "g" (global) flag to replace all occurrences: * R.replace(/foo/g, 'bar', 'foo foo foo'); //=> 'bar bar bar' */ var replace = /*#__PURE__*/(0,_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function replace(regex, replacement, str) { return str.replace(regex, replacement); }); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (replace); /***/ }), /***/ 76173: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(18938); /* harmony import */ var _internal_isString_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(40141); /** * Returns a new list or string with the elements or characters in reverse * order. * * @func * @memberOf R * @since v0.1.0 * @category List * @sig [a] -> [a] * @sig String -> String * @param {Array|String} list * @return {Array|String} * @example * * R.reverse([1, 2, 3]); //=> [3, 2, 1] * R.reverse([1, 2]); //=> [2, 1] * R.reverse([1]); //=> [1] * R.reverse([]); //=> [] * * R.reverse('abc'); //=> 'cba' * R.reverse('ab'); //=> 'ba' * R.reverse('a'); //=> 'a' * R.reverse(''); //=> '' */ var reverse = /*#__PURE__*/(0,_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function reverse(list) { return (0,_internal_isString_js__WEBPACK_IMPORTED_MODULE_1__["default"])(list) ? list.split('').reverse().join('') : Array.prototype.slice.call(list, 0).reverse(); }); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (reverse); /***/ }), /***/ 85969: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _internal_checkForMethod_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(76122); /* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(39088); /** * Returns the elements of the given list or string (or object with a `slice` * method) from `fromIndex` (inclusive) to `toIndex` (exclusive). * * Dispatches to the `slice` method of the third argument, if present. * * @func * @memberOf R * @since v0.1.4 * @category List * @sig Number -> Number -> [a] -> [a] * @sig Number -> Number -> String -> String * @param {Number} fromIndex The start index (inclusive). * @param {Number} toIndex The end index (exclusive). * @param {*} list * @return {*} * @example * * R.slice(1, 3, ['a', 'b', 'c', 'd']); //=> ['b', 'c'] * R.slice(1, Infinity, ['a', 'b', 'c', 'd']); //=> ['b', 'c', 'd'] * R.slice(0, -1, ['a', 'b', 'c', 'd']); //=> ['a', 'b', 'c'] * R.slice(-3, -1, ['a', 'b', 'c', 'd']); //=> ['b', 'c'] * R.slice(0, 3, 'ramda'); //=> 'ram' */ var slice = /*#__PURE__*/(0,_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/(0,_internal_checkForMethod_js__WEBPACK_IMPORTED_MODULE_1__["default"])('slice', function slice(fromIndex, toIndex, list) { return Array.prototype.slice.call(list, fromIndex, toIndex); })); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (slice); /***/ }), /***/ 15791: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(45959); /** * Returns a copy of the list, sorted according to the comparator function, * which should accept two values at a time and return a negative number if the * first value is smaller, a positive number if it's larger, and zero if they * are equal. Please note that this is a **copy** of the list. It does not * modify the original. * * @func * @memberOf R * @since v0.1.0 * @category List * @sig ((a, a) -> Number) -> [a] -> [a] * @param {Function} comparator A sorting function :: a -> b -> Int * @param {Array} list The list to sort * @return {Array} a new array with its elements sorted by the comparator function. * @see R.ascend, R.descend * @example * * const diff = function(a, b) { return a - b; }; * R.sort(diff, [4,2,7,5]); //=> [2, 4, 5, 7] */ var sort = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function sort(comparator, list) { return Array.prototype.slice.call(list, 0).sort(comparator); }); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (sort); /***/ }), /***/ 67515: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _invoker_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(41837); /** * Splits a string into an array of strings based on the given * separator. * * @func * @memberOf R * @since v0.1.0 * @category String * @sig (String | RegExp) -> String -> [String] * @param {String|RegExp} sep The pattern. * @param {String} str The string to separate into an array. * @return {Array} The array of strings from `str` separated by `sep`. * @see R.join * @example * * const pathComponents = R.split('/'); * R.tail(pathComponents('/usr/local/bin/node')); //=> ['usr', 'local', 'bin', 'node'] * * R.split('.', 'a.b.c.xyz.d'); //=> ['a', 'b', 'c', 'xyz', 'd'] */ var split = /*#__PURE__*/(0,_invoker_js__WEBPACK_IMPORTED_MODULE_0__["default"])(1, 'split'); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (split); /***/ }), /***/ 2278: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(45959); /* harmony import */ var _equals_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(53654); /* harmony import */ var _take_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(66516); /** * Checks if a list starts with the provided sublist. * * Similarly, checks if a string starts with the provided substring. * * @func * @memberOf R * @since v0.24.0 * @category List * @sig [a] -> [a] -> Boolean * @sig String -> String -> Boolean * @param {*} prefix * @param {*} list * @return {Boolean} * @see R.endsWith * @example * * R.startsWith('a', 'abc') //=> true * R.startsWith('b', 'abc') //=> false * R.startsWith(['a'], ['a', 'b', 'c']) //=> true * R.startsWith(['b'], ['a', 'b', 'c']) //=> false */ var startsWith = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function (prefix, list) { return (0,_equals_js__WEBPACK_IMPORTED_MODULE_1__["default"])((0,_take_js__WEBPACK_IMPORTED_MODULE_2__["default"])(prefix.length, list), prefix); }); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (startsWith); /***/ }), /***/ 86561: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _internal_checkForMethod_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(76122); /* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(18938); /* harmony import */ var _slice_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(85969); /** * Returns all but the first element of the given list or string (or object * with a `tail` method). * * Dispatches to the `slice` method of the first argument, if present. * * @func * @memberOf R * @since v0.1.0 * @category List * @sig [a] -> [a] * @sig String -> String * @param {*} list * @return {*} * @see R.head, R.init, R.last * @example * * R.tail([1, 2, 3]); //=> [2, 3] * R.tail([1, 2]); //=> [2] * R.tail([1]); //=> [] * R.tail([]); //=> [] * * R.tail('abc'); //=> 'bc' * R.tail('ab'); //=> 'b' * R.tail('a'); //=> '' * R.tail(''); //=> '' */ var tail = /*#__PURE__*/(0,_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/(0,_internal_checkForMethod_js__WEBPACK_IMPORTED_MODULE_1__["default"])('tail', /*#__PURE__*/(0,_slice_js__WEBPACK_IMPORTED_MODULE_2__["default"])(1, Infinity))); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (tail); /***/ }), /***/ 66516: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(45959); /* harmony import */ var _internal_dispatchable_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(96738); /* harmony import */ var _internal_xtake_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(80605); /* harmony import */ var _slice_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(85969); /** * Returns the first `n` elements of the given list, string, or * transducer/transformer (or object with a `take` method). * * Dispatches to the `take` method of the second argument, if present. * * @func * @memberOf R * @since v0.1.0 * @category List * @sig Number -> [a] -> [a] * @sig Number -> String -> String * @param {Number} n * @param {*} list * @return {*} * @see R.drop * @example * * R.take(1, ['foo', 'bar', 'baz']); //=> ['foo'] * R.take(2, ['foo', 'bar', 'baz']); //=> ['foo', 'bar'] * R.take(3, ['foo', 'bar', 'baz']); //=> ['foo', 'bar', 'baz'] * R.take(4, ['foo', 'bar', 'baz']); //=> ['foo', 'bar', 'baz'] * R.take(3, 'ramda'); //=> 'ram' * * const personnel = [ * 'Dave Brubeck', * 'Paul Desmond', * 'Eugene Wright', * 'Joe Morello', * 'Gerry Mulligan', * 'Bob Bates', * 'Joe Dodge', * 'Ron Crotty' * ]; * * const takeFive = R.take(5); * takeFive(personnel); * //=> ['Dave Brubeck', 'Paul Desmond', 'Eugene Wright', 'Joe Morello', 'Gerry Mulligan'] * @symb R.take(-1, [a, b]) = [a, b] * @symb R.take(0, [a, b]) = [] * @symb R.take(1, [a, b]) = [a] * @symb R.take(2, [a, b]) = [a, b] */ var take = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/(0,_internal_dispatchable_js__WEBPACK_IMPORTED_MODULE_1__["default"])(['take'], _internal_xtake_js__WEBPACK_IMPORTED_MODULE_2__["default"], function take(n, xs) { return (0,_slice_js__WEBPACK_IMPORTED_MODULE_3__["default"])(0, n < 0 ? Infinity : n, xs); })); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (take); /***/ }), /***/ 32343: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _internal_cloneRegExp_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(31254); /* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(45959); /* harmony import */ var _internal_isRegExp_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(35757); /* harmony import */ var _toString_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(9271); /** * Determines whether a given string matches a given regular expression. * * @func * @memberOf R * @since v0.12.0 * @category String * @sig RegExp -> String -> Boolean * @param {RegExp} pattern * @param {String} str * @return {Boolean} * @see R.match * @example * * R.test(/^x/, 'xyz'); //=> true * R.test(/^y/, 'xyz'); //=> false */ var test = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function test(pattern, str) { if (!(0,_internal_isRegExp_js__WEBPACK_IMPORTED_MODULE_1__["default"])(pattern)) { throw new TypeError('‘test’ requires a value of type RegExp as its first argument; received ' + (0,_toString_js__WEBPACK_IMPORTED_MODULE_2__["default"])(pattern)); } return (0,_internal_cloneRegExp_js__WEBPACK_IMPORTED_MODULE_3__["default"])(pattern).test(str); }); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (test); /***/ }), /***/ 9271: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(18938); /* harmony import */ var _internal_toString_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(52420); /** * Returns the string representation of the given value. `eval`'ing the output * should result in a value equivalent to the input value. Many of the built-in * `toString` methods do not satisfy this requirement. * * If the given value is an `[object Object]` with a `toString` method other * than `Object.prototype.toString`, this method is invoked with no arguments * to produce the return value. This means user-defined constructor functions * can provide a suitable `toString` method. For example: * * function Point(x, y) { * this.x = x; * this.y = y; * } * * Point.prototype.toString = function() { * return 'new Point(' + this.x + ', ' + this.y + ')'; * }; * * R.toString(new Point(1, 2)); //=> 'new Point(1, 2)' * * @func * @memberOf R * @since v0.14.0 * @category String * @sig * -> String * @param {*} val * @return {String} * @example * * R.toString(42); //=> '42' * R.toString('abc'); //=> '"abc"' * R.toString([1, 2, 3]); //=> '[1, 2, 3]' * R.toString({foo: 1, bar: 2, baz: 3}); //=> '{"bar": 2, "baz": 3, "foo": 1}' * R.toString(new Date('2001-02-03T04:05:06Z')); //=> 'new Date("2001-02-03T04:05:06.000Z")' */ var toString = /*#__PURE__*/(0,_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function toString(val) { return (0,_internal_toString_js__WEBPACK_IMPORTED_MODULE_1__["default"])(val, []); }); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (toString); /***/ }), /***/ 24410: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _internal_xReduce_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(69728); /* harmony import */ var _internal_xwrap_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(24514); /* harmony import */ var _curryN_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(19784); /** * Initializes a transducer using supplied iterator function. Returns a single * item by iterating through the list, successively calling the transformed * iterator function and passing it an accumulator value and the current value * from the array, and then passing the result to the next call. * * The iterator function receives two values: *(acc, value)*. It will be * wrapped as a transformer to initialize the transducer. A transformer can be * passed directly in place of an iterator function. In both cases, iteration * may be stopped early with the [`R.reduced`](#reduced) function. * * A transducer is a function that accepts a transformer and returns a * transformer and can be composed directly. * * A transformer is an object that provides a 2-arity reducing iterator * function, step, 0-arity initial value function, init, and 1-arity result * extraction function, result. The step function is used as the iterator * function in reduce. The result function is used to convert the final * accumulator into the return type and in most cases is * [`R.identity`](#identity). The init function can be used to provide an * initial accumulator, but is ignored by transduce. * * The iteration is performed with [`R.reduce`](#reduce) after initializing the transducer. * * @func * @memberOf R * @since v0.12.0 * @category List * @sig (c -> c) -> ((a, b) -> a) -> a -> [b] -> a * @param {Function} xf The transducer function. Receives a transformer and returns a transformer. * @param {Function} fn The iterator function. Receives two values, the accumulator and the * current element from the array. Wrapped as transformer, if necessary, and used to * initialize the transducer * @param {*} acc The initial accumulator value. * @param {Array} list The list to iterate over. * @return {*} The final, accumulated value. * @see R.reduce, R.reduced, R.into * @example * * const numbers = [1, 2, 3, 4]; * const transducer = R.compose(R.map(R.add(1)), R.take(2)); * R.transduce(transducer, R.flip(R.append), [], numbers); //=> [2, 3] * * const isOdd = (x) => x % 2 !== 0; * const firstOddTransducer = R.compose(R.filter(isOdd), R.take(1)); * R.transduce(firstOddTransducer, R.flip(R.append), [], R.range(0, 100)); //=> [1] */ var transduce = /*#__PURE__*/(0,_curryN_js__WEBPACK_IMPORTED_MODULE_0__["default"])(4, function transduce(xf, fn, acc, list) { return (0,_internal_xReduce_js__WEBPACK_IMPORTED_MODULE_1__["default"])(xf(typeof fn === 'function' ? (0,_internal_xwrap_js__WEBPACK_IMPORTED_MODULE_2__["default"])(fn) : fn), acc, list); }); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (transduce); /***/ }), /***/ 70831: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(18938); var ws = '\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u2000\u2001\u2002\u2003' + '\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028' + '\u2029\uFEFF'; var zeroWidth = '\u200b'; var hasProtoTrim = typeof String.prototype.trim === 'function'; /** * Removes (strips) whitespace from both ends of the string. * * @func * @memberOf R * @since v0.6.0 * @category String * @sig String -> String * @param {String} str The string to trim. * @return {String} Trimmed version of `str`. * @example * * R.trim(' xyz '); //=> 'xyz' * R.map(R.trim, R.split(',', 'x, y, z')); //=> ['x', 'y', 'z'] */ var trim = !hasProtoTrim || /*#__PURE__*/ws.trim() || ! /*#__PURE__*/zeroWidth.trim() ? /*#__PURE__*/(0,_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function trim(str) { var beginRx = new RegExp('^[' + ws + '][' + ws + ']*'); var endRx = new RegExp('[' + ws + '][' + ws + ']*$'); return str.replace(beginRx, '').replace(endRx, ''); }) : /*#__PURE__*/(0,_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function trim(str) { return str.trim(); }); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (trim); /***/ }), /***/ 60963: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(18938); /** * Gives a single-word string description of the (native) type of a value, * returning such answers as 'Object', 'Number', 'Array', or 'Null'. Does not * attempt to distinguish user Object types any further, reporting them all as * 'Object'. * * @func * @memberOf R * @since v0.8.0 * @category Type * @sig * -> String * @param {*} val The value to test * @return {String} * @example * * R.type({}); //=> "Object" * R.type(1); //=> "Number" * R.type(false); //=> "Boolean" * R.type('s'); //=> "String" * R.type(null); //=> "Null" * R.type([]); //=> "Array" * R.type(/[A-z]/); //=> "RegExp" * R.type(() => {}); //=> "Function" * R.type(async () => {}); //=> "AsyncFunction" * R.type(undefined); //=> "Undefined" * R.type(BigInt(123)); //=> "BigInt" */ var type = /*#__PURE__*/(0,_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function type(val) { return val === null ? 'Null' : val === undefined ? 'Undefined' : Object.prototype.toString.call(val).slice(8, -1); }); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (type); /***/ }), /***/ 24676: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _Node_mjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(49594); /** * @public */ /** * @public */ class Error extends _Node_mjs__WEBPACK_IMPORTED_MODULE_0__["default"] { static type = 'error'; value; isUnexpected; constructor({ value, isUnexpected = false, ...rest } = {}) { super({ ...rest }); this.value = value; this.isUnexpected = isUnexpected; } } /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Error); /***/ }), /***/ 86339: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _Node_mjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(49594); /** * @public */ /** * @public */ class Literal extends _Node_mjs__WEBPACK_IMPORTED_MODULE_0__["default"] { static type = 'literal'; value; constructor({ value, ...rest } = {}) { super({ ...rest }); this.value = value; } } /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Literal); /***/ }), /***/ 49594: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /** * @public */ /** * @public */ class Node { static type = 'node'; type = 'node'; isMissing; children; position; constructor({ children = [], position, isMissing = false } = {}) { this.type = this.constructor.type; this.isMissing = isMissing; this.children = children; this.position = position; } // creates shallow clone of node clone() { // 1. copy has same prototype as orig const copy = Object.create(Object.getPrototypeOf(this)); // 2. copy has all of orig’s properties Object.getOwnPropertyNames(this) // (1) .forEach(propKey => { // (2) const descriptor = Object.getOwnPropertyDescriptor(this, propKey); // (3) // @ts-ignore Object.defineProperty(copy, propKey, descriptor); // (4) }); return copy; } } /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Node); /***/ }), /***/ 3252: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(95121); /* harmony import */ var _Node_mjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(49594); /** * @public */ class ParseResult extends _Node_mjs__WEBPACK_IMPORTED_MODULE_0__["default"] { static type = 'parseResult'; get rootNode() { return (0,ramda__WEBPACK_IMPORTED_MODULE_1__["default"])(this.children); } } /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ParseResult); /***/ }), /***/ 3487: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ Point: () => (/* binding */ Point), /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* eslint-disable max-classes-per-file */ /** * @public */ /** * @public */ class Point { static type = 'point'; type = Point.type; row; column; char; constructor({ row, column, char }) { this.row = row; this.column = column; this.char = char; } } /** * @public */ /** * @public */ class Position { static type = 'position'; type = Position.type; start; end; constructor({ start, end }) { this.start = start; this.end = end; } } /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Position); /***/ }), /***/ 11172: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ isLiteral: () => (/* binding */ isLiteral), /* harmony export */ isNodeType: () => (/* binding */ isNodeType), /* harmony export */ isParseResult: () => (/* binding */ isParseResult), /* harmony export */ isPoint: () => (/* binding */ isPoint), /* harmony export */ isPosition: () => (/* binding */ isPosition) /* harmony export */ }); /** * @public */ const isNodeType = (type, node) => node != null && typeof node === 'object' && 'type' in node && node.type === type; /** * @public */ const isLiteral = node => isNodeType('literal', node); /** * @public */ const isPosition = node => isNodeType('position', node); /** * @public */ const isPoint = node => isNodeType('point', node); /** * @public */ const isParseResult = node => isNodeType('parseResult', node); /***/ }), /***/ 60331: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ BREAK: () => (/* binding */ BREAK), /* harmony export */ cloneNode: () => (/* binding */ cloneNode), /* harmony export */ getNodeType: () => (/* binding */ getNodeType), /* harmony export */ getVisitFn: () => (/* binding */ getVisitFn), /* harmony export */ isNode: () => (/* binding */ isNode), /* harmony export */ mergeAll: () => (/* binding */ mergeAll), /* harmony export */ visit: () => (/* binding */ visit) /* harmony export */ }); /* harmony import */ var _swagger_api_apidom_error__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(44641); /** * SPDX-FileCopyrightText: Copyright (c) GraphQL Contributors * * SPDX-License-Identifier: MIT */ /** * @public */ const getVisitFn = (visitor, type, isLeaving) => { // @ts-ignore const typeVisitor = visitor[type]; if (typeVisitor != null) { if (!isLeaving && typeof typeVisitor === 'function') { // { Type() {} } return typeVisitor; } const typeSpecificVisitor = isLeaving ? typeVisitor.leave : typeVisitor.enter; if (typeof typeSpecificVisitor === 'function') { // { Type: { enter() {}, leave() {} } } return typeSpecificVisitor; } } else { const specificVisitor = isLeaving ? visitor.leave : visitor.enter; if (specificVisitor != null) { if (typeof specificVisitor === 'function') { // { enter() {}, leave() {} } return specificVisitor; } // @ts-ignore const specificTypeVisitor = specificVisitor[type]; if (typeof specificTypeVisitor === 'function') { // { enter: { Type() {} }, leave: { Type() {} } } return specificTypeVisitor; } } } return null; }; /** * @public */ const BREAK = {}; /** * @public */ const getNodeType = node => node === null || node === void 0 ? void 0 : node.type; /** * @public */ const isNode = node => typeof getNodeType(node) === 'string'; /** * @public */ const cloneNode = node => Object.create(Object.getPrototypeOf(node), Object.getOwnPropertyDescriptors(node)); /** * Creates a new visitor instance which delegates to many visitors to run in * parallel. Each visitor will be visited for each node before moving on. * * If a prior visitor edits a node, no following visitors will see that node. * `exposeEdits=true` can be used to expose the edited node from the previous visitors. * @public */ /** * @public */ /** * @public */ const mergeAll = (visitors, { visitFnGetter = getVisitFn, nodeTypeGetter = getNodeType, breakSymbol = BREAK, deleteNodeSymbol = null, skipVisitingNodeSymbol = false, exposeEdits = false } = {}) => { const skipSymbol = Symbol('skip'); const skipping = new Array(visitors.length).fill(skipSymbol); return { enter(node, key, parent, path, ancestors, link) { let currentNode = node; let hasChanged = false; const linkProxy = { ...link, replaceWith(newNode, replacer) { link.replaceWith(newNode, replacer); currentNode = newNode; } }; for (let i = 0; i < visitors.length; i += 1) { if (skipping[i] === skipSymbol) { const visitFn = visitFnGetter(visitors[i], nodeTypeGetter(currentNode), false); if (typeof visitFn === 'function') { const result = visitFn.call(visitors[i], currentNode, key, parent, path, ancestors, linkProxy); // check if the visitor is async if (typeof (result === null || result === void 0 ? void 0 : result.then) === 'function') { throw new _swagger_api_apidom_error__WEBPACK_IMPORTED_MODULE_0__["default"]('Async visitor not supported in sync mode', { visitor: visitors[i], visitFn }); } if (result === skipVisitingNodeSymbol) { skipping[i] = currentNode; } else if (result === breakSymbol) { skipping[i] = breakSymbol; } else if (result === deleteNodeSymbol) { return result; } else if (result !== undefined) { if (exposeEdits) { currentNode = result; hasChanged = true; } else { return result; } } } } } return hasChanged ? currentNode : undefined; }, leave(node, key, parent, path, ancestors, link) { let currentNode = node; const linkProxy = { ...link, replaceWith(newNode, replacer) { link.replaceWith(newNode, replacer); currentNode = newNode; } }; for (let i = 0; i < visitors.length; i += 1) { if (skipping[i] === skipSymbol) { const visitFn = visitFnGetter(visitors[i], nodeTypeGetter(currentNode), true); if (typeof visitFn === 'function') { const result = visitFn.call(visitors[i], currentNode, key, parent, path, ancestors, linkProxy); // check if the visitor is async if (typeof (result === null || result === void 0 ? void 0 : result.then) === 'function') { throw new _swagger_api_apidom_error__WEBPACK_IMPORTED_MODULE_0__["default"]('Async visitor not supported in sync mode', { visitor: visitors[i], visitFn }); } if (result === breakSymbol) { skipping[i] = breakSymbol; } else if (result !== undefined && result !== skipVisitingNodeSymbol) { return result; } } } else if (skipping[i] === currentNode) { skipping[i] = skipSymbol; } } return undefined; } }; }; const mergeAllAsync = (visitors, { visitFnGetter = getVisitFn, nodeTypeGetter = getNodeType, breakSymbol = BREAK, deleteNodeSymbol = null, skipVisitingNodeSymbol = false, exposeEdits = false } = {}) => { const skipSymbol = Symbol('skip'); const skipping = new Array(visitors.length).fill(skipSymbol); return { async enter(node, key, parent, path, ancestors, link) { let currentNode = node; let hasChanged = false; const linkProxy = { ...link, replaceWith(newNode, replacer) { link.replaceWith(newNode, replacer); currentNode = newNode; } }; for (let i = 0; i < visitors.length; i += 1) { if (skipping[i] === skipSymbol) { const visitFn = visitFnGetter(visitors[i], nodeTypeGetter(currentNode), false); if (typeof visitFn === 'function') { // eslint-disable-next-line no-await-in-loop const result = await visitFn.call(visitors[i], currentNode, key, parent, path, ancestors, linkProxy); if (result === skipVisitingNodeSymbol) { skipping[i] = currentNode; } else if (result === breakSymbol) { skipping[i] = breakSymbol; } else if (result === deleteNodeSymbol) { return result; } else if (result !== undefined) { if (exposeEdits) { currentNode = result; hasChanged = true; } else { return result; } } } } } return hasChanged ? currentNode : undefined; }, async leave(node, key, parent, path, ancestors, link) { let currentNode = node; const linkProxy = { ...link, replaceWith(newNode, replacer) { link.replaceWith(newNode, replacer); currentNode = newNode; } }; for (let i = 0; i < visitors.length; i += 1) { if (skipping[i] === skipSymbol) { const visitFn = visitFnGetter(visitors[i], nodeTypeGetter(currentNode), true); if (typeof visitFn === 'function') { // eslint-disable-next-line no-await-in-loop const result = await visitFn.call(visitors[i], currentNode, key, parent, path, ancestors, linkProxy); if (result === breakSymbol) { skipping[i] = breakSymbol; } else if (result !== undefined && result !== skipVisitingNodeSymbol) { return result; } } } else if (skipping[i] === currentNode) { skipping[i] = skipSymbol; } } return undefined; } }; }; mergeAll[Symbol.for('nodejs.util.promisify.custom')] = mergeAllAsync; /* eslint-disable no-continue, no-param-reassign */ /** * visit() will walk through an AST using a preorder depth first traversal, calling * the visitor's enter function at each node in the traversal, and calling the * leave function after visiting that node and all of its child nodes. * * By returning different values from the enter and leave functions, the * behavior of the visitor can be altered, including skipping over a sub-tree of * the AST (by returning false), editing the AST by returning a value or null * to remove the value, or to stop the whole traversal by returning BREAK. * * When using visit() to edit an AST, the original AST will not be modified, and * a new version of the AST with the changes applied will be returned from the * visit function. * * @example * ``` * const editedAST = visit(ast, { * enter(node, key, parent, path, ancestors) { * // return * // undefined: no action * // false: skip visiting this node * // BREAK: stop visiting altogether * // null: delete this node * // any value: replace this node with the returned value * }, * leave(node, key, parent, path, ancestors) { * // return * // undefined: no action * // false: no action * // BREAK: stop visiting altogether * // null: delete this node * // any value: replace this node with the returned value * } * }); *``` * Alternatively to providing enter() and leave() functions, a visitor can * instead provide functions named the same as the kinds of AST nodes, or * enter/leave visitors at a named key, leading to four permutations of * visitor API: * * 1) Named visitors triggered when entering a node a specific kind. * ``` * visit(ast, { * Kind(node) { * // enter the "Kind" node * } * }) * ``` * 2) Named visitors that trigger upon entering and leaving a node of * a specific kind. * ``` * visit(ast, { * Kind: { * enter(node) { * // enter the "Kind" node * } * leave(node) { * // leave the "Kind" node * } * } * }) * ``` * 3) Generic visitors that trigger upon entering and leaving any node. * ``` * visit(ast, { * enter(node) { * // enter any node * }, * leave(node) { * // leave any node * } * }) * ``` * 4) Parallel visitors for entering and leaving nodes of a specific kind. * ``` * visit(ast, { * enter: { * Kind(node) { * // enter the "Kind" node * } * }, * leave: { * Kind(node) { * // leave the "Kind" node * } * } * }) * ``` * sig `visit :: (Node, Visitor, Options)` * * sig `Options = { keyMap: Object, state: Object }` * * @public */ const visit = ( // @ts-ignore root, // @ts-ignore visitor, { keyMap = null, state = {}, breakSymbol = BREAK, deleteNodeSymbol = null, skipVisitingNodeSymbol = false, visitFnGetter = getVisitFn, nodeTypeGetter = getNodeType, nodePredicate = isNode, nodeCloneFn = cloneNode, detectCycles = true } = {}) => { const visitorKeys = keyMap || {}; let stack; let inArray = Array.isArray(root); let keys = [root]; let index = -1; let parent; let edits = []; let node = root; const path = []; // @ts-ignore const ancestors = []; do { index += 1; const isLeaving = index === keys.length; let key; const isEdited = isLeaving && edits.length !== 0; if (isLeaving) { key = ancestors.length === 0 ? undefined : path.pop(); node = parent; // @ts-ignore parent = ancestors.pop(); if (isEdited) { if (inArray) { // @ts-ignore; creating clone node = node.slice(); let editOffset = 0; for (const [editKey, editValue] of edits) { const arrayKey = editKey - editOffset; if (editValue === deleteNodeSymbol) { node.splice(arrayKey, 1); editOffset += 1; } else { node[arrayKey] = editValue; } } } else { // creating clone node = nodeCloneFn(node); for (const [editKey, editValue] of edits) { node[editKey] = editValue; } } } index = stack.index; keys = stack.keys; // @ts-ignore edits = stack.edits; // @ts-ignore inArray = stack.inArray; // @ts-ignore stack = stack.prev; } else if (parent !== deleteNodeSymbol && parent !== undefined) { key = inArray ? index : keys[index]; node = parent[key]; if (node === deleteNodeSymbol || node === undefined) { continue; } path.push(key); } let result; if (!Array.isArray(node)) { var _result; if (!nodePredicate(node)) { throw new _swagger_api_apidom_error__WEBPACK_IMPORTED_MODULE_0__["default"](`Invalid AST Node: ${String(node)}`, { node }); } // cycle detected; skipping over a sub-tree to avoid recursion if (detectCycles && ancestors.includes(node)) { path.pop(); continue; } // call appropriate visitor function if available const visitFn = visitFnGetter(visitor, nodeTypeGetter(node), isLeaving); if (visitFn) { // assign state for (const [stateKey, stateValue] of Object.entries(state)) { visitor[stateKey] = stateValue; } const link = { // eslint-disable-next-line @typescript-eslint/no-loop-func replaceWith(newNode, replacer) { if (typeof replacer === 'function') { replacer(newNode, node, key, parent, path, ancestors); } else if (parent) { parent[key] = newNode; } if (!isLeaving) { node = newNode; } } }; // retrieve result result = visitFn.call(visitor, node, key, parent, path, ancestors, link); } // check if the visitor is async if (typeof ((_result = result) === null || _result === void 0 ? void 0 : _result.then) === 'function') { throw new _swagger_api_apidom_error__WEBPACK_IMPORTED_MODULE_0__["default"]('Async visitor not supported in sync mode', { visitor, visitFn }); } if (result === breakSymbol) { break; } if (result === skipVisitingNodeSymbol) { if (!isLeaving) { path.pop(); continue; } } else if (result !== undefined) { edits.push([key, result]); if (!isLeaving) { if (nodePredicate(result)) { node = result; } else { path.pop(); continue; } } } } if (result === undefined && isEdited) { edits.push([key, node]); } if (!isLeaving) { var _visitorKeys$nodeType; stack = { inArray, index, keys, edits, prev: stack }; inArray = Array.isArray(node); // @ts-ignore keys = inArray ? node : (_visitorKeys$nodeType = visitorKeys[nodeTypeGetter(node)]) !== null && _visitorKeys$nodeType !== void 0 ? _visitorKeys$nodeType : []; index = -1; edits = []; if (parent !== deleteNodeSymbol && parent !== undefined) { ancestors.push(parent); } parent = node; } } while (stack !== undefined); if (edits.length !== 0) { return edits[edits.length - 1][1]; // @TODO(vladimir.gorej@gmail.com): can be replaced by Array.prototype.at in future } return root; }; /** * Asynchronous version of visit. */ // @ts-ignore visit[Symbol.for('nodejs.util.promisify.custom')] = async ( // @ts-ignore root, // @ts-ignore visitor, { keyMap = null, state = {}, breakSymbol = BREAK, deleteNodeSymbol = null, skipVisitingNodeSymbol = false, visitFnGetter = getVisitFn, nodeTypeGetter = getNodeType, nodePredicate = isNode, nodeCloneFn = cloneNode, detectCycles = true } = {}) => { const visitorKeys = keyMap || {}; let stack; let inArray = Array.isArray(root); let keys = [root]; let index = -1; let parent; let edits = []; let node = root; const path = []; // @ts-ignore const ancestors = []; do { index += 1; const isLeaving = index === keys.length; let key; const isEdited = isLeaving && edits.length !== 0; if (isLeaving) { key = ancestors.length === 0 ? undefined : path.pop(); node = parent; // @ts-ignore parent = ancestors.pop(); if (isEdited) { if (inArray) { // @ts-ignore; creating clone node = node.slice(); let editOffset = 0; for (const [editKey, editValue] of edits) { const arrayKey = editKey - editOffset; if (editValue === deleteNodeSymbol) { node.splice(arrayKey, 1); editOffset += 1; } else { node[arrayKey] = editValue; } } } else { // creating clone node = nodeCloneFn(node); for (const [editKey, editValue] of edits) { node[editKey] = editValue; } } } index = stack.index; keys = stack.keys; // @ts-ignore edits = stack.edits; // @ts-ignore inArray = stack.inArray; // @ts-ignore stack = stack.prev; } else if (parent !== deleteNodeSymbol && parent !== undefined) { key = inArray ? index : keys[index]; node = parent[key]; if (node === deleteNodeSymbol || node === undefined) { continue; } path.push(key); } let result; if (!Array.isArray(node)) { if (!nodePredicate(node)) { throw new _swagger_api_apidom_error__WEBPACK_IMPORTED_MODULE_0__["default"](`Invalid AST Node: ${String(node)}`, { node }); } // cycle detected; skipping over a sub-tree to avoid recursion if (detectCycles && ancestors.includes(node)) { path.pop(); continue; } const visitFn = visitFnGetter(visitor, nodeTypeGetter(node), isLeaving); if (visitFn) { // assign state for (const [stateKey, stateValue] of Object.entries(state)) { visitor[stateKey] = stateValue; } const link = { // eslint-disable-next-line @typescript-eslint/no-loop-func replaceWith(newNode, replacer) { if (typeof replacer === 'function') { replacer(newNode, node, key, parent, path, ancestors); } else if (parent) { parent[key] = newNode; } if (!isLeaving) { node = newNode; } } }; // retrieve result result = await visitFn.call(visitor, node, key, parent, path, ancestors, link); // eslint-disable-line no-await-in-loop } if (result === breakSymbol) { break; } if (result === skipVisitingNodeSymbol) { if (!isLeaving) { path.pop(); continue; } } else if (result !== undefined) { edits.push([key, result]); if (!isLeaving) { if (nodePredicate(result)) { node = result; } else { path.pop(); continue; } } } } if (result === undefined && isEdited) { edits.push([key, node]); } if (!isLeaving) { var _visitorKeys$nodeType2; stack = { inArray, index, keys, edits, prev: stack }; inArray = Array.isArray(node); // @ts-ignore keys = inArray ? node : (_visitorKeys$nodeType2 = visitorKeys[nodeTypeGetter(node)]) !== null && _visitorKeys$nodeType2 !== void 0 ? _visitorKeys$nodeType2 : []; index = -1; edits = []; if (parent !== deleteNodeSymbol && parent !== undefined) { ancestors.push(parent); } parent = node; } } while (stack !== undefined); if (edits.length !== 0) { return edits[edits.length - 1][1]; // @TODO(vladimir.gorej@gmail.com): can be replaced by Array.prototype.at in future } return root; }; /* eslint-enable */ /***/ }), /***/ 24766: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _nodes_YamlScalar_mjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(70913); /* harmony import */ var _errors_YamlReferenceError_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(37680); /* harmony import */ var _nodes_predicates_mjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(26254); /* harmony import */ var _nodes_YamlStyle_mjs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(44820); /* eslint-disable class-methods-use-this */ /** * @public */ class ReferenceManager { addAnchor(node) { if (!(0,_nodes_predicates_mjs__WEBPACK_IMPORTED_MODULE_0__.isAnchor)(node.anchor)) { throw new _errors_YamlReferenceError_mjs__WEBPACK_IMPORTED_MODULE_1__["default"]('Expected YAML anchor to be attached the the YAML AST node.', { node }); } } resolveAlias(alias) { return new _nodes_YamlScalar_mjs__WEBPACK_IMPORTED_MODULE_2__["default"]({ content: alias.content, style: _nodes_YamlStyle_mjs__WEBPACK_IMPORTED_MODULE_3__.YamlStyle.Plain, styleGroup: _nodes_YamlStyle_mjs__WEBPACK_IMPORTED_MODULE_3__.YamlStyleGroup.Flow }); } } /* eslint-enable class-methods-use-this */ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ReferenceManager); /***/ }), /***/ 66963: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _swagger_api_apidom_error__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(44641); /** * @public */ class YamlError extends _swagger_api_apidom_error__WEBPACK_IMPORTED_MODULE_0__["default"] {} /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (YamlError); /***/ }), /***/ 37680: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _YamlError_mjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(66963); /** * @public */ class YamlReferenceError extends _YamlError_mjs__WEBPACK_IMPORTED_MODULE_0__["default"] {} /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (YamlReferenceError); /***/ }), /***/ 81444: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _YamlError_mjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(66963); /** * @public */ class YamlSchemaError extends _YamlError_mjs__WEBPACK_IMPORTED_MODULE_0__["default"] {} /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (YamlSchemaError); /***/ }), /***/ 69261: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _YamlSchemaError_mjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(81444); /** * @public */ /** * @public */ class YamlTagError extends _YamlSchemaError_mjs__WEBPACK_IMPORTED_MODULE_0__["default"] { specificTagName; explicitTagName; tagKind; tagPosition; nodeCanonicalContent; node; constructor(message, structuredOptions) { super(message, structuredOptions); if (typeof structuredOptions !== 'undefined') { this.specificTagName = structuredOptions.specificTagName; this.explicitTagName = structuredOptions.explicitTagName; this.tagKind = structuredOptions.tagKind; this.tagPosition = structuredOptions.tagPosition; this.nodeCanonicalContent = structuredOptions.nodeCanonicalContent; this.node = structuredOptions.node; } } } /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (YamlTagError); /***/ }), /***/ 7131: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _Node_mjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(49594); /** * @public */ /** * @public */ class YamlAlias extends _Node_mjs__WEBPACK_IMPORTED_MODULE_0__["default"] { static type = 'alias'; content; constructor({ content, ...rest }) { super({ ...rest }); this.content = content; } } /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (YamlAlias); /***/ }), /***/ 76162: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _Node_mjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(49594); /** * @public */ /** * @public */ class YamlAnchor extends _Node_mjs__WEBPACK_IMPORTED_MODULE_0__["default"] { static type = 'anchor'; name; constructor({ name, ...rest }) { super({ ...rest }); this.name = name; } } /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (YamlAnchor); /***/ }), /***/ 57597: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _YamlNode_mjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(929); /** * @public */ class YamlCollection extends _YamlNode_mjs__WEBPACK_IMPORTED_MODULE_0__["default"] {} /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (YamlCollection); /***/ }), /***/ 22364: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _Node_mjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(49594); /** * @public */ /** * @public */ class YamlComment extends _Node_mjs__WEBPACK_IMPORTED_MODULE_0__["default"] { static type = 'comment'; content; constructor({ content, ...rest }) { super({ ...rest }); this.content = content; } } /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (YamlComment); /***/ }), /***/ 48944: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(47357); /* harmony import */ var _Node_mjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(49594); /** * @public */ /** * @public */ /** * @public */ class YamlDirective extends _Node_mjs__WEBPACK_IMPORTED_MODULE_0__["default"] { static type = 'directive'; name; parameters; constructor({ name, parameters, ...rest }) { super({ ...rest }); this.name = name; this.parameters = (0,ramda__WEBPACK_IMPORTED_MODULE_1__["default"])({ version: undefined, handle: undefined, prefix: undefined }, parameters); } } /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (YamlDirective); /***/ }), /***/ 92578: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _Node_mjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(49594); /** * @public */ class YamlDocument extends _Node_mjs__WEBPACK_IMPORTED_MODULE_0__["default"] { static type = 'document'; } /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (YamlDocument); /***/ }), /***/ 2621: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _Node_mjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(49594); /* harmony import */ var _predicates_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(26254); /** * @public */ /** * @public */ class YamlKeyValuePair extends _Node_mjs__WEBPACK_IMPORTED_MODULE_0__["default"] { static type = 'keyValuePair'; styleGroup; constructor({ styleGroup, ...rest }) { super({ ...rest }); this.styleGroup = styleGroup; } } Object.defineProperties(YamlKeyValuePair.prototype, { key: { get() { return this.children.filter(node => (0,_predicates_mjs__WEBPACK_IMPORTED_MODULE_1__.isScalar)(node) || (0,_predicates_mjs__WEBPACK_IMPORTED_MODULE_1__.isMapping)(node) || (0,_predicates_mjs__WEBPACK_IMPORTED_MODULE_1__.isSequence)(node))[0]; }, enumerable: true }, value: { get() { const { key, children } = this; const excludeKeyPredicate = node => node !== key; const valuePredicate = node => (0,_predicates_mjs__WEBPACK_IMPORTED_MODULE_1__.isScalar)(node) || (0,_predicates_mjs__WEBPACK_IMPORTED_MODULE_1__.isMapping)(node) || (0,_predicates_mjs__WEBPACK_IMPORTED_MODULE_1__.isSequence)(node) || (0,_predicates_mjs__WEBPACK_IMPORTED_MODULE_1__.isAlias)(node); return children.filter(node => excludeKeyPredicate(node) && valuePredicate(node))[0]; }, enumerable: true } }); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (YamlKeyValuePair); /***/ }), /***/ 13753: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _YamlCollection_mjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(57597); /* harmony import */ var _predicates_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(26254); /** * @public */ class YamlMapping extends _YamlCollection_mjs__WEBPACK_IMPORTED_MODULE_0__["default"] { static type = 'mapping'; } Object.defineProperty(YamlMapping.prototype, 'content', { get() { return Array.isArray(this.children) ? this.children.filter(_predicates_mjs__WEBPACK_IMPORTED_MODULE_1__.isKeyValuePair) : []; }, enumerable: true }); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (YamlMapping); /***/ }), /***/ 929: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _Node_mjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(49594); /** * @public */ /** * @public */ class YamlNode extends _Node_mjs__WEBPACK_IMPORTED_MODULE_0__["default"] { anchor; tag; style; styleGroup; constructor({ anchor, tag, style, styleGroup, ...rest }) { super({ ...rest }); this.anchor = anchor; this.tag = tag; this.style = style; this.styleGroup = styleGroup; } } /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (YamlNode); /***/ }), /***/ 70913: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _YamlNode_mjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(929); /** * @public */ /** * @public */ class YamlScalar extends _YamlNode_mjs__WEBPACK_IMPORTED_MODULE_0__["default"] { static type = 'scalar'; content; constructor({ content, ...rest }) { super({ ...rest }); this.content = content; } } /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (YamlScalar); /***/ }), /***/ 17534: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _YamlCollection_mjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(57597); /* harmony import */ var _predicates_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(26254); /** * @public */ class YamlSequence extends _YamlCollection_mjs__WEBPACK_IMPORTED_MODULE_0__["default"] { static type = 'sequence'; } Object.defineProperty(YamlSequence.prototype, 'content', { get() { const { children } = this; return Array.isArray(children) ? children.filter(node => (0,_predicates_mjs__WEBPACK_IMPORTED_MODULE_1__.isSequence)(node) || (0,_predicates_mjs__WEBPACK_IMPORTED_MODULE_1__.isMapping)(node) || (0,_predicates_mjs__WEBPACK_IMPORTED_MODULE_1__.isScalar)(node) || (0,_predicates_mjs__WEBPACK_IMPORTED_MODULE_1__.isAlias)(node)) : []; }, enumerable: true }); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (YamlSequence); /***/ }), /***/ 47177: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _Node_mjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(49594); /* harmony import */ var _predicates_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(26254); /** * @public */ class YamlStream extends _Node_mjs__WEBPACK_IMPORTED_MODULE_0__["default"] { static type = 'stream'; } Object.defineProperty(YamlStream.prototype, 'content', { get() { return Array.isArray(this.children) ? this.children.filter(node => (0,_predicates_mjs__WEBPACK_IMPORTED_MODULE_1__.isDocument)(node) || (0,_predicates_mjs__WEBPACK_IMPORTED_MODULE_1__.isComment)(node)) : []; }, enumerable: true }); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (YamlStream); /***/ }), /***/ 44820: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ YamlStyle: () => (/* binding */ YamlStyle), /* harmony export */ YamlStyleGroup: () => (/* binding */ YamlStyleGroup) /* harmony export */ }); /** * @public */ let YamlStyle = /*#__PURE__*/function (YamlStyle) { YamlStyle["Plain"] = "Plain"; YamlStyle["SingleQuoted"] = "SingleQuoted"; YamlStyle["DoubleQuoted"] = "DoubleQuoted"; YamlStyle["Literal"] = "Literal"; YamlStyle["Folded"] = "Folded"; YamlStyle["Explicit"] = "Explicit"; YamlStyle["SinglePair"] = "SinglePair"; YamlStyle["NextLine"] = "NextLine"; YamlStyle["InLine"] = "InLine"; return YamlStyle; }({}); /** * @public */ let YamlStyleGroup = /*#__PURE__*/function (YamlStyleGroup) { YamlStyleGroup["Flow"] = "Flow"; YamlStyleGroup["Block"] = "Block"; return YamlStyleGroup; }({}); /***/ }), /***/ 9375: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ YamlNodeKind: () => (/* binding */ YamlNodeKind), /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _Node_mjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(49594); /** * @public */ let YamlNodeKind = /*#__PURE__*/function (YamlNodeKind) { YamlNodeKind["Scalar"] = "Scalar"; YamlNodeKind["Sequence"] = "Sequence"; YamlNodeKind["Mapping"] = "Mapping"; return YamlNodeKind; }({}); /** * @public */ /** * @public */ class YamlTag extends _Node_mjs__WEBPACK_IMPORTED_MODULE_0__["default"] { static type = 'tag'; explicitName; kind; constructor({ explicitName, kind, ...rest }) { super({ ...rest }); this.explicitName = explicitName; this.kind = kind; } } /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (YamlTag); /***/ }), /***/ 26254: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ isAlias: () => (/* binding */ isAlias), /* harmony export */ isAnchor: () => (/* binding */ isAnchor), /* harmony export */ isComment: () => (/* binding */ isComment), /* harmony export */ isDirective: () => (/* binding */ isDirective), /* harmony export */ isDocument: () => (/* binding */ isDocument), /* harmony export */ isKeyValuePair: () => (/* binding */ isKeyValuePair), /* harmony export */ isMapping: () => (/* binding */ isMapping), /* harmony export */ isScalar: () => (/* binding */ isScalar), /* harmony export */ isSequence: () => (/* binding */ isSequence), /* harmony export */ isStream: () => (/* binding */ isStream), /* harmony export */ isTag: () => (/* binding */ isTag) /* harmony export */ }); /* harmony import */ var _predicates_mjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11172); /** * @public */ const isStream = node => (0,_predicates_mjs__WEBPACK_IMPORTED_MODULE_0__.isNodeType)('stream', node); /** * @public */ const isDocument = node => (0,_predicates_mjs__WEBPACK_IMPORTED_MODULE_0__.isNodeType)('document', node); /** * @public */ const isMapping = node => (0,_predicates_mjs__WEBPACK_IMPORTED_MODULE_0__.isNodeType)('mapping', node); /** * @public */ const isSequence = node => (0,_predicates_mjs__WEBPACK_IMPORTED_MODULE_0__.isNodeType)('sequence', node); /** * @public */ const isKeyValuePair = node => (0,_predicates_mjs__WEBPACK_IMPORTED_MODULE_0__.isNodeType)('keyValuePair', node); /** * @public */ const isTag = node => (0,_predicates_mjs__WEBPACK_IMPORTED_MODULE_0__.isNodeType)('tag', node); /** * @public */ const isAnchor = node => (0,_predicates_mjs__WEBPACK_IMPORTED_MODULE_0__.isNodeType)('anchor', node); /** * @public */ const isScalar = node => (0,_predicates_mjs__WEBPACK_IMPORTED_MODULE_0__.isNodeType)('scalar', node); /** * @public */ const isAlias = node => (0,_predicates_mjs__WEBPACK_IMPORTED_MODULE_0__.isNodeType)('alias', node); /** * @public */ const isDirective = node => (0,_predicates_mjs__WEBPACK_IMPORTED_MODULE_0__.isNodeType)('directive', node); /** * @public */ const isComment = node => (0,_predicates_mjs__WEBPACK_IMPORTED_MODULE_0__.isNodeType)('comment', node); /***/ }), /***/ 99511: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _canonical_format_mjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(94071); /* harmony import */ var _nodes_YamlStyle_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(44820); /* harmony import */ var _nodes_YamlTag_mjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9375); class ScalarTag { static test(node) { return node.tag.kind === _nodes_YamlTag_mjs__WEBPACK_IMPORTED_MODULE_0__.YamlNodeKind.Scalar && typeof node.content === 'string'; } static canonicalFormat(node) { let canonicalForm = node.content; const nodeClone = node.clone(); if (node.style === _nodes_YamlStyle_mjs__WEBPACK_IMPORTED_MODULE_1__.YamlStyle.Plain) { canonicalForm = (0,_canonical_format_mjs__WEBPACK_IMPORTED_MODULE_2__.formatFlowPlain)(node.content); } else if (node.style === _nodes_YamlStyle_mjs__WEBPACK_IMPORTED_MODULE_1__.YamlStyle.SingleQuoted) { canonicalForm = (0,_canonical_format_mjs__WEBPACK_IMPORTED_MODULE_2__.formatFlowSingleQuoted)(node.content); } else if (node.style === _nodes_YamlStyle_mjs__WEBPACK_IMPORTED_MODULE_1__.YamlStyle.DoubleQuoted) { canonicalForm = (0,_canonical_format_mjs__WEBPACK_IMPORTED_MODULE_2__.formatFlowDoubleQuoted)(node.content); } else if (node.style === _nodes_YamlStyle_mjs__WEBPACK_IMPORTED_MODULE_1__.YamlStyle.Literal) { canonicalForm = (0,_canonical_format_mjs__WEBPACK_IMPORTED_MODULE_2__.formatBlockLiteral)(node.content); } else if (node.style === _nodes_YamlStyle_mjs__WEBPACK_IMPORTED_MODULE_1__.YamlStyle.Folded) { canonicalForm = (0,_canonical_format_mjs__WEBPACK_IMPORTED_MODULE_2__.formatBlockFolded)(node.content); } nodeClone.content = canonicalForm; return nodeClone; } static resolve(node) { return node; } } /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ScalarTag); /***/ }), /***/ 31071: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* eslint-disable class-methods-use-this */ class Tag { static uri = ''; tag = ''; constructor() { this.tag = this.constructor.uri; } // eslint-disable-next-line @typescript-eslint/no-unused-vars test(node) { return true; } resolve(node) { return node; } } /* eslint-enable class-methods-use-this */ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Tag); /***/ }), /***/ 94071: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ formatBlockFolded: () => (/* binding */ formatBlockFolded), /* harmony export */ formatBlockLiteral: () => (/* binding */ formatBlockLiteral), /* harmony export */ formatFlowDoubleQuoted: () => (/* binding */ formatFlowDoubleQuoted), /* harmony export */ formatFlowPlain: () => (/* binding */ formatFlowPlain), /* harmony export */ formatFlowSingleQuoted: () => (/* binding */ formatFlowSingleQuoted) /* harmony export */ }); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(44181); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(84332); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(27567); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(70831); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(67515); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(397); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(95819); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(86561); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(95775); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(24410); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(28195); /* harmony import */ var ramda_adjunct__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(10687); /* harmony import */ var ramda_adjunct__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(36201); /* harmony import */ var ramda_adjunct__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(20869); /* harmony import */ var ramda_adjunct__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(33031); /* harmony import */ var ramda_adjunct__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(92766); /* harmony import */ var ramda_adjunct__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(5059); /* harmony import */ var ramda_adjunct__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(64988); /* harmony import */ var ramda_adjunct__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(59425); /* harmony import */ var unraw__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(76850); /** * Helpers. */ const blockStyleRegExp = /^(?