{"version":3,"sources":["jsdelivr-header.js","/npm/class-utils@0.3.6/index.js"],"names":[],"mappings":"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","file":"/npm/class-utils@0.3.6/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.37.0.\n * Original file: /npm/class-utils@0.3.6/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","'use strict';\n\nvar util = require('util');\nvar union = require('arr-union');\nvar define = require('define-property');\nvar staticExtend = require('static-extend');\nvar isObj = require('isobject');\n\n/**\n * Expose class utils\n */\n\nvar cu = module.exports;\n\n/**\n * Expose class utils: `cu`\n */\n\ncu.isObject = function isObject(val) {\n  return isObj(val) || typeof val === 'function';\n};\n\n/**\n * Returns true if an array has any of the given elements, or an\n * object has any of the give keys.\n *\n * ```js\n * cu.has(['a', 'b', 'c'], 'c');\n * //=> true\n *\n * cu.has(['a', 'b', 'c'], ['c', 'z']);\n * //=> true\n *\n * cu.has({a: 'b', c: 'd'}, ['c', 'z']);\n * //=> true\n * ```\n * @param {Object} `obj`\n * @param {String|Array} `val`\n * @return {Boolean}\n * @api public\n */\n\ncu.has = function has(obj, val) {\n  val = cu.arrayify(val);\n  var len = val.length;\n\n  if (cu.isObject(obj)) {\n    for (var key in obj) {\n      if (val.indexOf(key) > -1) {\n        return true;\n      }\n    }\n\n    var keys = cu.nativeKeys(obj);\n    return cu.has(keys, val);\n  }\n\n  if (Array.isArray(obj)) {\n    var arr = obj;\n    while (len--) {\n      if (arr.indexOf(val[len]) > -1) {\n        return true;\n      }\n    }\n    return false;\n  }\n\n  throw new TypeError('expected an array or object.');\n};\n\n/**\n * Returns true if an array or object has all of the given values.\n *\n * ```js\n * cu.hasAll(['a', 'b', 'c'], 'c');\n * //=> true\n *\n * cu.hasAll(['a', 'b', 'c'], ['c', 'z']);\n * //=> false\n *\n * cu.hasAll({a: 'b', c: 'd'}, ['c', 'z']);\n * //=> false\n * ```\n * @param {Object|Array} `val`\n * @param {String|Array} `values`\n * @return {Boolean}\n * @api public\n */\n\ncu.hasAll = function hasAll(val, values) {\n  values = cu.arrayify(values);\n  var len = values.length;\n  while (len--) {\n    if (!cu.has(val, values[len])) {\n      return false;\n    }\n  }\n  return true;\n};\n\n/**\n * Cast the given value to an array.\n *\n * ```js\n * cu.arrayify('foo');\n * //=> ['foo']\n *\n * cu.arrayify(['foo']);\n * //=> ['foo']\n * ```\n *\n * @param {String|Array} `val`\n * @return {Array}\n * @api public\n */\n\ncu.arrayify = function arrayify(val) {\n  return val ? (Array.isArray(val) ? val : [val]) : [];\n};\n\n/**\n * Noop\n */\n\ncu.noop = function noop() {\n  return;\n};\n\n/**\n * Returns the first argument passed to the function.\n */\n\ncu.identity = function identity(val) {\n  return val;\n};\n\n/**\n * Returns true if a value has a `contructor`\n *\n * ```js\n * cu.hasConstructor({});\n * //=> true\n *\n * cu.hasConstructor(Object.create(null));\n * //=> false\n * ```\n * @param  {Object} `value`\n * @return {Boolean}\n * @api public\n */\n\ncu.hasConstructor = function hasConstructor(val) {\n  return cu.isObject(val) && typeof val.constructor !== 'undefined';\n};\n\n/**\n * Get the native `ownPropertyNames` from the constructor of the\n * given `object`. An empty array is returned if the object does\n * not have a constructor.\n *\n * ```js\n * cu.nativeKeys({a: 'b', b: 'c', c: 'd'})\n * //=> ['a', 'b', 'c']\n *\n * cu.nativeKeys(function(){})\n * //=> ['length', 'caller']\n * ```\n *\n * @param  {Object} `obj` Object that has a `constructor`.\n * @return {Array} Array of keys.\n * @api public\n */\n\ncu.nativeKeys = function nativeKeys(val) {\n  if (!cu.hasConstructor(val)) return [];\n  var keys = Object.getOwnPropertyNames(val);\n  if ('caller' in val) keys.push('caller');\n  return keys;\n};\n\n/**\n * Returns property descriptor `key` if it's an \"own\" property\n * of the given object.\n *\n * ```js\n * function App() {}\n * Object.defineProperty(App.prototype, 'count', {\n *   get: function() {\n *     return Object.keys(this).length;\n *   }\n * });\n * cu.getDescriptor(App.prototype, 'count');\n * // returns:\n * // {\n * //   get: [Function],\n * //   set: undefined,\n * //   enumerable: false,\n * //   configurable: false\n * // }\n * ```\n *\n * @param {Object} `obj`\n * @param {String} `key`\n * @return {Object} Returns descriptor `key`\n * @api public\n */\n\ncu.getDescriptor = function getDescriptor(obj, key) {\n  if (!cu.isObject(obj)) {\n    throw new TypeError('expected an object.');\n  }\n  if (typeof key !== 'string') {\n    throw new TypeError('expected key to be a string.');\n  }\n  return Object.getOwnPropertyDescriptor(obj, key);\n};\n\n/**\n * Copy a descriptor from one object to another.\n *\n * ```js\n * function App() {}\n * Object.defineProperty(App.prototype, 'count', {\n *   get: function() {\n *     return Object.keys(this).length;\n *   }\n * });\n * var obj = {};\n * cu.copyDescriptor(obj, App.prototype, 'count');\n * ```\n * @param {Object} `receiver`\n * @param {Object} `provider`\n * @param {String} `name`\n * @return {Object}\n * @api public\n */\n\ncu.copyDescriptor = function copyDescriptor(receiver, provider, name) {\n  if (!cu.isObject(receiver)) {\n    throw new TypeError('expected receiving object to be an object.');\n  }\n  if (!cu.isObject(provider)) {\n    throw new TypeError('expected providing object to be an object.');\n  }\n  if (typeof name !== 'string') {\n    throw new TypeError('expected name to be a string.');\n  }\n\n  var val = cu.getDescriptor(provider, name);\n  if (val) Object.defineProperty(receiver, name, val);\n};\n\n/**\n * Copy static properties, prototype properties, and descriptors\n * from one object to another.\n *\n * @param {Object} `receiver`\n * @param {Object} `provider`\n * @param {String|Array} `omit` One or more properties to omit\n * @return {Object}\n * @api public\n */\n\ncu.copy = function copy(receiver, provider, omit) {\n  if (!cu.isObject(receiver)) {\n    throw new TypeError('expected receiving object to be an object.');\n  }\n  if (!cu.isObject(provider)) {\n    throw new TypeError('expected providing object to be an object.');\n  }\n  var props = Object.getOwnPropertyNames(provider);\n  var keys = Object.keys(provider);\n  var len = props.length,\n    key;\n  omit = cu.arrayify(omit);\n\n  while (len--) {\n    key = props[len];\n\n    if (cu.has(keys, key)) {\n      define(receiver, key, provider[key]);\n    } else if (!(key in receiver) && !cu.has(omit, key)) {\n      cu.copyDescriptor(receiver, provider, key);\n    }\n  }\n};\n\n/**\n * Inherit the static properties, prototype properties, and descriptors\n * from of an object.\n *\n * @param {Object} `receiver`\n * @param {Object} `provider`\n * @param {String|Array} `omit` One or more properties to omit\n * @return {Object}\n * @api public\n */\n\ncu.inherit = function inherit(receiver, provider, omit) {\n  if (!cu.isObject(receiver)) {\n    throw new TypeError('expected receiving object to be an object.');\n  }\n  if (!cu.isObject(provider)) {\n    throw new TypeError('expected providing object to be an object.');\n  }\n\n  var keys = [];\n  for (var key in provider) {\n    keys.push(key);\n    receiver[key] = provider[key];\n  }\n\n  keys = keys.concat(cu.arrayify(omit));\n\n  var a = provider.prototype || provider;\n  var b = receiver.prototype || receiver;\n  cu.copy(b, a, keys);\n};\n\n/**\n * Returns a function for extending the static properties,\n * prototype properties, and descriptors from the `Parent`\n * constructor onto `Child` constructors.\n *\n * ```js\n * var extend = cu.extend(Parent);\n * Parent.extend(Child);\n *\n * // optional methods\n * Parent.extend(Child, {\n *   foo: function() {},\n *   bar: function() {}\n * });\n * ```\n * @param {Function} `Parent` Parent ctor\n * @param {Function} `extend` Optional extend function to handle custom extensions. Useful when updating methods that require a specific prototype.\n *   @param {Function} `Child` Child ctor\n *   @param {Object} `proto` Optionally pass additional prototype properties to inherit.\n *   @return {Object}\n * @api public\n */\n\ncu.extend = function() {\n  // keep it lazy, instead of assigning to `cu.extend`\n  return staticExtend.apply(null, arguments);\n};\n\n/**\n * Bubble up events emitted from static methods on the Parent ctor.\n *\n * @param {Object} `Parent`\n * @param {Array} `events` Event names to bubble up\n * @api public\n */\n\ncu.bubble = function(Parent, events) {\n  events = events || [];\n  Parent.bubble = function(Child, arr) {\n    if (Array.isArray(arr)) {\n      events = union([], events, arr);\n    }\n    var len = events.length;\n    var idx = -1;\n    while (++idx < len) {\n      var name = events[idx];\n      Parent.on(name, Child.emit.bind(Child, name));\n    }\n    cu.bubble(Child, events);\n  };\n};\n"]}