UNPKG

missing-native-js-functions

Version:

mnJSf that should be the base library for every JS project

1 lines 40.1 kB
{"version":3,"file":"mnjsf.min.js","sources":["Array.js","Util.js","Global.js","Math.js","Number.js","Promise.js","String.js","Date.js","index.js"],"sourcesContent":["\"use strict\";\nvar __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Util_1 = require(\"./Util\");\n(0, Util_1.define)(Array.prototype, {\n remove: function (elem) {\n // do not use filter to modify current array\n var index = this.indexOf(elem);\n if (index === -1)\n return this;\n this.splice(index, 1);\n return this;\n },\n insert: function (elem, index) {\n if (index == null)\n index = this.length;\n this.splice(index, 0, elem);\n return this;\n },\n flat: function (depth) {\n if (depth === void 0) { depth = 1; }\n return this.reduce(function (acc, val) {\n return (Array.isArray(val) && depth >= 1) || depth === -1 ? acc.push.apply(acc, __spreadArray([], __read(val.flat(depth--)), false)) : acc.push(val);\n }, []);\n },\n last: function () {\n return this[this.length - 1];\n },\n first: function () {\n return this[0];\n },\n unique: function (predicate) {\n if (typeof predicate === \"function\") {\n return __spreadArray([], __read(new Map(this.map(function (item, index, obj) { return [predicate(item, index, obj), item]; })).values()), false);\n }\n return __spreadArray([], __read(new Set(this)), false);\n },\n random: function () {\n return this[Math.floor(Math.random() * this.length)];\n },\n randomIndex: function () {\n return Math.floor(Math.random() * this.length);\n },\n insertRandom: function (elem) {\n this.insert(elem, this.randomIndex());\n },\n shuffle: function () {\n var _a;\n for (var i = this.length - 1; i > 0; i--) {\n var j = Math.floor(Math.random() * (i + 1));\n _a = __read([this[j], this[i]], 2), this[i] = _a[0], this[j] = _a[1];\n }\n return this;\n },\n findMap: function (predicate) {\n if (typeof predicate !== \"function\")\n return;\n for (var i = 0; i < this.length; i++) {\n var result = predicate(this[i], i, this);\n if (result) {\n return result;\n }\n }\n },\n findLast: function (predicate) {\n if (typeof predicate !== \"function\")\n return;\n for (var i = this.length; i >= 0; i--) {\n if (predicate(this[i], i, this))\n return this[i];\n }\n return null;\n },\n findLastIndex: function (predicate) {\n if (typeof predicate !== \"function\")\n return -1;\n for (var i = this.length - 1; i >= 0; i--) {\n if (predicate(this[i], i, this))\n return i;\n }\n return -1;\n },\n count: function (search) {\n var nativeTypes = [\"string\", \"number\", \"object\", \"array\"];\n var count = 0;\n this.forEach(function (element) {\n if (element === search) {\n count++;\n return;\n }\n // check if searchparam is a native class (l: 99)\n if (typeof search === \"function\") {\n var className = search.name.toLowerCase();\n // eslint-disable-next-line valid-typeof\n if (nativeTypes.includes(className) && typeof element === className) {\n count++;\n return;\n }\n else if (element instanceof search) {\n count++;\n return;\n }\n }\n // if element of array is a string: allow regex patterns\n if (typeof element === \"string\") {\n if (element.match(search)) {\n count++;\n }\n }\n });\n return count;\n },\n missing: function (arr) {\n return this.filter(function (x) { return !arr.includes(x); });\n },\n similarities: function (arr) {\n return this.filter(function (x) { return arr.includes(x); });\n },\n});\n//# sourceMappingURL=Array.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.define = void 0;\nfunction define(target, props) {\n Object.keys(props).forEach(function (prop) {\n try {\n if (!target[prop]) {\n Object.defineProperty(target, prop, {\n enumerable: false,\n writable: true,\n configurable: true,\n value: props[prop],\n });\n }\n }\n catch (error) { }\n });\n}\nexports.define = define;\n//# sourceMappingURL=Util.js.map","\"use strict\";\nvar __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\ntry {\n if (!globalThis.atob) {\n globalThis.atob = function (data) { return Buffer.from(data, \"base64\").toString(\"utf8\"); };\n }\n if (!globalThis.btoa) {\n globalThis.btoa = function (data) { return Buffer.from(data.toString(), \"utf8\").toString(\"base64\"); };\n }\n if (!globalThis.setIntervalNow) {\n globalThis.setIntervalNow = function (callback, milliseconds) {\n var args = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n args[_i - 2] = arguments[_i];\n }\n if (typeof callback !== \"function\")\n return;\n var func = callback.bind.apply(callback, __spreadArray([this], __read(args), false));\n func();\n return setInterval(func, milliseconds);\n };\n }\n if (!globalThis.sleep) {\n globalThis.sleep = function (ms) { return new Promise(function (_resolve) { return setTimeout(_resolve, ms); }); };\n }\n}\ncatch (error) { }\n//# sourceMappingURL=Global.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Util_1 = require(\"./Util\");\n(0, Util_1.define)(Math, {\n randomBetween: function (min, max) {\n return Math.random() * (max - min) + min;\n },\n randomIntBetween: function (min, max) {\n return Math.round(Math.randomBetween(min, max));\n },\n});\n//# sourceMappingURL=Math.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Util_1 = require(\"./Util\");\n(0, Util_1.define)(Number.prototype, {\n toInt: function () {\n return Math.floor(this);\n },\n});\n//# sourceMappingURL=Number.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Util_1 = require(\"./Util\");\n(0, Util_1.define)(Promise.prototype, {\n caught: function () {\n this.catch(console.error);\n return this;\n },\n});\n//# sourceMappingURL=Promise.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Util_1 = require(\"./Util\");\n(0, Util_1.define)(String.prototype, {\n capitalize: function () {\n return this.slice(0, 1).toUpperCase() + this.slice(1);\n },\n title: function () {\n return this.split(\" \")\n .map(function (element) {\n return element.capitalize();\n })\n .join(\" \");\n },\n replaceAll: function (find, replace) {\n return this.replace(new RegExp(escapeRegExp(find), \"g\"), replace);\n },\n similarity: function (s2) {\n var s1 = this.toLowerCase();\n s2 = s2.toLowerCase();\n if (s1.length < s2.length) {\n s1 = s2;\n s2 = this;\n }\n var longerLength = s1.length;\n if (longerLength == 0) {\n return 1.0;\n }\n var costs = new Array();\n for (var i = 0; i <= s1.length; i++) {\n var lastValue = i;\n for (var j = 0; j <= s2.length; j++) {\n if (i == 0)\n costs[j] = j;\n else {\n if (j > 0) {\n var newValue = costs[j - 1];\n if (s1.charAt(i - 1) != s2.charAt(j - 1))\n newValue = Math.min(Math.min(newValue, lastValue), costs[j]) + 1;\n costs[j - 1] = lastValue;\n lastValue = newValue;\n }\n }\n }\n if (i > 0)\n costs[s2.length] = lastValue;\n }\n return (longerLength - costs[s2.length]) / parseFloat(longerLength);\n },\n join: function (iterate) {\n if (typeof iterate === \"string\")\n return iterate;\n return iterate.join(this);\n },\n partition: function (seperator) {\n if (!this.includes(seperator)) {\n return [this];\n }\n var returnArray = [];\n var splitarray = this.split(seperator);\n for (var i = 0; i < splitarray.length; i++) {\n returnArray.push(splitarray[i]);\n if (i !== splitarray.length - 1)\n returnArray.push(seperator);\n }\n return returnArray;\n },\n toNumber: function () {\n return Number(this);\n },\n toBigInt: function () {\n try {\n return BigInt(this);\n }\n catch (error) {\n return NaN;\n }\n },\n equalsIgnoreCase: function (compareString) {\n return this.toLowerCase() === compareString.toLowerCase();\n },\n count: function (countString) {\n return this.split(countString).length - 1;\n },\n swapcase: function () {\n return this.split(\"\")\n .map(function (char) {\n if (char === char.toUpperCase())\n return char.toLowerCase();\n return char.toUpperCase();\n })\n .join(\"\");\n },\n toObject: function () {\n return JSON.parse(this);\n },\n toBoolean: function () {\n switch (this.toLowerCase().trim()) {\n case \"true\":\n case \"yes\":\n case \"1\":\n return true;\n case \"false\":\n case \"no\":\n case \"0\":\n case null:\n return false;\n default:\n return Boolean(this);\n }\n },\n});\n// copied from https://github.com/aceakash/string-similarity/blob/master/src/index.js\n// MIT License Copyright (c) 2018 Akash Kurdekar\nfunction escapeRegExp(str) {\n return str.replace(/[.*+\\-?^${}()|[\\]\\\\]/g, \"\\\\$&\"); // $& means the whole matched string\n}\n//# sourceMappingURL=String.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Util_1 = require(\"./Util\");\n(0, Util_1.define)(Date, {\n nowSeconds: function () {\n return Math.floor(Date.now() / 1000);\n },\n});\n(0, Util_1.define)(Date.prototype, {\n setTimezone: function (timezone) {\n this.setTime(new Date(this.toLocaleString(\"en-US\", {\n timeZone: timezone,\n })).getTime());\n return this;\n },\n isInPast: function () {\n var today = new Date();\n today.setHours(0, 0, 0, 0);\n return this < today;\n },\n set: function (opts) {\n if (opts.timezone)\n return this.setTimezone(opts.timezone).set(__assign(__assign({}, opts), { timezone: undefined }));\n if (opts.time != null)\n this.setTime(opts.time);\n if (opts.utc != null) {\n if (opts.year != null)\n this.setUTCFullYear(opts.year);\n if (opts.month != null)\n this.setUTCMonth(opts.month);\n if (opts.date != null)\n this.setUTCDate(opts.date);\n if (opts.hours != null)\n this.setUTCHours(opts.hours);\n if (opts.minutes != null)\n this.setUTCMinutes(opts.minutes);\n if (opts.seconds != null)\n this.setUTCSeconds(opts.seconds);\n if (opts.milliseconds != null)\n this.setUTCMilliseconds(opts.milliseconds);\n }\n else {\n if (opts.year != null)\n this.setFullYear(opts.year);\n if (opts.month != null)\n this.setMonth(opts.month);\n if (opts.date != null)\n this.setDate(opts.date);\n if (opts.hours != null)\n this.setHours(opts.hours);\n if (opts.minutes != null)\n this.setMinutes(opts.minutes);\n if (opts.seconds != null)\n this.setSeconds(opts.seconds);\n if (opts.milliseconds != null)\n this.setMilliseconds(opts.milliseconds);\n }\n return this;\n },\n add: function (opts) {\n if (opts.timezone)\n return this.setTimezone(opts.timezone).set(__assign(__assign({}, opts), { timezone: undefined }));\n if (opts.utc)\n delete opts.utc;\n if (opts.time != null)\n opts.time += this.getTime();\n if (opts.year != null)\n opts.year += this.getFullYear();\n if (opts.month != null)\n opts.month += this.getMonth();\n if (opts.date != null)\n opts.date += this.getDate();\n if (opts.hours != null)\n opts.hours += this.getHours();\n if (opts.minutes != null)\n opts.minutes += this.getMinutes();\n if (opts.seconds != null)\n opts.seconds += this.getSeconds();\n if (opts.milliseconds != null)\n opts.milliseconds += this.getMilliseconds();\n return this.set(opts);\n },\n addYear: function (years, month, date) {\n if (month === void 0) { month = 0; }\n if (date === void 0) { date = 0; }\n return this.setFullYear(this.getFullYear() + years, this.getMonth() + month, this.getDate() + date);\n },\n addMonth: function (months, date) {\n if (date === void 0) { date = 0; }\n return this.setMonth(this.getMonth() + months, this.getDate() + date);\n },\n addDate: function (days) {\n return this.setDate(this.getDate() + days);\n },\n addHours: function (hours, minutes, seconds, milliseconds) {\n if (minutes === void 0) { minutes = 0; }\n if (seconds === void 0) { seconds = 0; }\n if (milliseconds === void 0) { milliseconds = 0; }\n return this.setHours(this.getHours() + hours, this.getMinutes() + minutes, this.getSeconds() + seconds, this.getMilliseconds() + milliseconds);\n },\n addMinutes: function (minutes, seconds, milliseconds) {\n if (seconds === void 0) { seconds = 0; }\n if (milliseconds === void 0) { milliseconds = 0; }\n return this.setMinutes(this.getMinutes() + minutes, this.getSeconds() + seconds, this.getMilliseconds() + milliseconds);\n },\n addSeconds: function (seconds, milliseconds) {\n if (milliseconds === void 0) { milliseconds = 0; }\n return this.setSeconds(this.getSeconds() + seconds, this.getMilliseconds() + milliseconds);\n },\n addMilliseconds: function (milliseconds) {\n return this.setMilliseconds(this.getMilliseconds() + milliseconds);\n },\n});\n//# sourceMappingURL=Date.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nrequire(\"./Array\");\nrequire(\"./Global\");\nrequire(\"./Math\");\nrequire(\"./Number\");\nrequire(\"./Promise\");\nrequire(\"./String\");\nrequire(\"./Date\");\n__exportStar(require(\"./Array\"), exports);\n__exportStar(require(\"./Global\"), exports);\n__exportStar(require(\"./Math\"), exports);\n__exportStar(require(\"./Number\"), exports);\n__exportStar(require(\"./Promise\"), exports);\n__exportStar(require(\"./String\"), exports);\n__exportStar(require(\"./Date\"), exports);\n//# sourceMappingURL=index.js.map"],"names":["Math","floor","Object","defineProperty","exports","value","define","target","props","keys","forEach","prop","enumerable","writable","configurable","error","__read","this","o","n","m","Symbol","iterator","r","e","i","call","ar","next","done","push","__spreadArray","to","from","pack","arguments","length","l","Array","prototype","slice","concat","Util_1","remove","elem","index","indexOf","splice","insert","flat","depth","reduce","acc","val","isArray","apply","last","first","unique","predicate","Map","map","item","obj","values","Set","random","randomIndex","insertRandom","shuffle","_a","j","findMap","result","findLast","findLastIndex","count","search","nativeTypes","element","className","name","toLowerCase","includes","match","missing","arr","filter","x","similarities","globalThis","atob","data","Buffer","toString","btoa","setIntervalNow","callback","milliseconds","args","_i","func","bind","setInterval","sleep","ms","Promise","_resolve","setTimeout","randomBetween","min","max","randomIntBetween","round","Number","toInt","caught","catch","console","escapeRegExp","str","replace","String","capitalize","toUpperCase","title","split","join","replaceAll","find","RegExp","similarity","s2","s1","longerLength","lastValue","costs","newValue","charAt","parseFloat","iterate","partition","seperator","returnArray","splitarray","toNumber","toBigInt","BigInt","NaN","equalsIgnoreCase","compareString","countString","swapcase","char","toObject","JSON","parse","toBoolean","trim","__assign","assign","t","s","p","hasOwnProperty","Date","nowSeconds","now","setTimezone","timezone","setTime","toLocaleString","timeZone","getTime","isInPast","today","setHours","set","opts","time","utc","year","setFullYear","month","setMonth","date","setDate","hours","minutes","setMinutes","seconds","setSeconds","setMilliseconds","setUTCFullYear","setUTCMonth","setUTCDate","setUTCHours","setUTCMinutes","setUTCSeconds","setUTCMilliseconds","add","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","getMilliseconds","addYear","years","addMonth","months","addDate","days","addHours","addMinutes","addSeconds","addMilliseconds","__createBinding","create","k","k2","desc","getOwnPropertyDescriptor","__esModule","get","__exportStar","require$$0","require$$1","require$$2","require$$3","require$$4","require$$5","require$$6"],"mappings":"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"}