{"version":3,"sources":["jsdelivr-header.js","/npm/dale@6.0.2/dale.js"],"names":[],"mappings":"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","file":"/npm/dale@6.0.2/dale.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/dale@6.0.2/dale.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","/*\ndale - v6.0.2\n\nWritten by Federico Pereiro (fpereiro@gmail.com) and released into the public domain.\n\nPlease refer to readme.md to read the annotated source.\n*/\n\n(function () {\n\n   // *** SETUP ***\n\n   var isNode = typeof exports === 'object';\n\n   if (isNode) var dale = exports;\n   else        var dale = window.dale = {};\n\n   var argdetect = (function () {return Object.prototype.toString.call (arguments).match ('arguments')}) ();\n\n   var type = function (value, objectType) {\n      var type = typeof value;\n      if (type === 'function') return Object.prototype.toString.call (value).match (/regexp/i) ? 'regex' : 'function';\n      if (type !== 'object' && type !== 'number') return type;\n      if (value instanceof Array) return 'array';\n      if (type === 'number') {\n         if      (isNaN (value))      return 'nan';\n         else if (! isFinite (value)) return 'infinity';\n         else if (value % 1 === 0)    return 'integer';\n         else                         return 'float';\n      }\n      if (value === null) return 'null';\n      type = Object.prototype.toString.call (value).replace ('[object ', '').replace (']', '').toLowerCase ();\n      if (type === 'array' || type === 'date') return type;\n      if (type === 'regexp') return 'regex';\n      if (objectType) return argdetect ? type : (type (value.callee) === 'function' ? 'arguments' : type);\n      return 'object';\n   }\n\n   try {\n      dale.clog = console.log.bind (console);\n   }\n   catch (error) {\n      dale.clog = function () {\n         var output = dale.go (arguments, function (v) {return v === undefined ? 'undefined' : v}).join (' ');\n         window.console ? window.console.log (output) : alert (output);\n      }\n   }\n\n   // *** THE MAIN FUNCTION ***\n\n   var make = function (what) {\n      return function (input, second, third, fourth) {\n\n         if      (what === 'go')              var fun = second, inherit = third  === true, output = [], index = 0;\n         else if (what === 'fil')             var fun = third,  inherit = fourth === true, output = [], index = 0;\n         else if (what !== 'obj')             var fun = third,  inherit = fourth === true, output;\n         else if (type (second) === 'object') var fun = third,  inherit = fourth === true, output = second;\n         else                                 var fun = second, inherit = third  === true, output = {};\n\n         if (type (fun) !== 'function') {\n            dale.clog (((what === 'go' || (what === 'obj' && type (second) !== 'object')) ? 'Second' : 'Third') + ' argument passed to dale.' + what + ' must be a function but instead is', fun, 'with type', type (fun));\n            return false;\n         }\n\n         if (input === undefined) return output;\n\n         if (what === 'go')       var inner = function (result) {output [index++] = result}\n         else if (what === 'fil') var inner = function (result) {\n            if (result !== second) output [index++] = result;\n         }\n         else if (what === 'obj') var inner = function (result) {\n            if (result === undefined) return;\n            if (type (result) !== 'array' || result.length !== 2) {\n               dale.clog (type (result) === 'array' ? ('fun passed to dale.obj must return undefined or an array of length 2 but instead returned an array of length ' + result.length) : ('fun passed to dale.obj must return undefined or an array of length 2 but instead returned a value of type ' + type (result)));\n               output = false;\n               return true;\n            }\n            output [result [0]] = result [1];\n         }\n         else var inner = function (result) {\n            output = result;\n            return what === 'stop' ? result === second : result !== second;\n         }\n\n         var inputType = type (input);\n\n         if (inputType === 'object') {\n            if (Object.prototype.toString.call (input) === '[object Arguments]' || (! argdetect && type (input.callee) === 'function')) inputType = 'array', input = [].slice.call (input);\n         }\n\n         if (inputType === 'array') {\n            for (var key = 0; key < input.length; key++) {\n               if (inner (fun (input [key], parseInt (key)))) break;\n            }\n         }\n         else if (inputType === 'object') {\n            for (var key in input) {\n               if (! inherit && input.hasOwnProperty && ! input.hasOwnProperty (key)) continue;\n               if (inner (fun (input [key], key))) break;\n            }\n         }\n         else inner (fun (input, 0));\n\n         return output;\n      }\n   }\n\n   // *** THE EIGHT FUNCTIONS ***\n\n   dale.go      = make ('go');\n   dale.fil     = make ('fil');\n   dale.obj     = make ('obj');\n   dale.stop    = make ('stop');\n   dale.stopNot = make ('stopNot');\n   dale.keys    = function (input, inherit) {return dale.go (input, function (v, k) {return k}, inherit)};\n   dale.times   = function (steps, start, step) {\n      if (steps === 0) return [];\n      if (type (steps) !== 'integer' || steps < 0) {\n         dale.clog ('steps must be a positive integer or zero.');\n         return false;\n      }\n      if (start === undefined) start = 1;\n      else if (type (start) !== 'integer' && type (start) !== 'float') {\n         dale.clog ('start must be an integer or float.');\n         return false;\n      }\n      if (step  === undefined) step  = 1;\n      else if (type (step) !== 'integer'  && type (step)  !== 'float') {\n         dale.clog ('step must be an integer or float.');\n         return false;\n      }\n\n      var output = [start];\n      while (output.length < steps) {\n         start += step;\n         output.push (start);\n      }\n      return output;\n   }\n\n   dale.acc = function (input, second, third, fourth) {\n      var hasAcc  = arguments.length === (type (arguments [arguments.length - 1]) === 'boolean' ? 4 : 3);\n      var acc     = hasAcc ? second : undefined;\n      var fun     = hasAcc ? third  : second;\n      var inherit = hasAcc ? fourth : third;\n      if (type (fun) !== 'function') {\n         dale.clog ('fun must be a function but instead is of type', type (fun));\n         return false;\n      }\n      var first = true;\n      dale.go (input, function (v, k) {\n         if (! hasAcc && first) {\n            first = false;\n            return acc = v;\n         }\n         acc = fun (acc, v);\n      }, inherit);\n\n      return acc;\n   }\n}) ();\n"]}