text: /*!
   * Enum
   * @author Joonseok <joonseok.hu@gmail.com>
   * @license MIT
   */
  !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.Enum=t():e.Enum=t()}(global,(function(){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=0)}([function(e,t,n){"use strict";n.r(t);Symbol("ENUM");function r(e){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function u(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?o(Object(n),!0).forEach((function(t){i(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):o(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function f(e){return function(e){if(Array.isArray(e))return c(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return c(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return c(e,t)}(e)||function(){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 c(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var a=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];var o,c=t.map((function(e,t){if("string"!=typeof e)throw new Error("Invalid enum name: has to be string");if(!e.length)throw new Error("Invalid enum name: has to be more than 1 length");if(Object.keys(Function.prototype).includes(e))throw new Error("Invalid enum name: cannot be a name of Function methods");var n={};return Object.freeze(Object.assign(n,{name:e,index:t,valueOf:function(){return e},toString:function(){return e},toInt:function(){return t},isEqual:function(e){return e===n}}))})),a=(o=f(new Set(c)),c.length===o.length);if(!a)throw new Error("Enums have to be unique strings");var l=c.reduce((function(e,t){var n,r=t.name,o=t.index;return u({},e,(i(n={},r,t),i(n,o,t),n))}),{}),b=function(){return"Enum: [".concat(c.map((function(e){return e.name})).join(", "),"]")},p=function(e){return 1===c.filter((function(t){return t===e})).length},s=function(e,t){return p(e)&&p(t)&&e===t},y=function(){return c.map((function(e){return[e.name,e.index]}))},m=Object.freeze({has:p,entries:y,compare:s,elements:c}),d=function(e){if(void 0===e)return m;var t={string:"name",number:"index"}[r(e)];if(!t)throw new Error("Invalid type to find");var n=c.filter((function(n){return n[t]===e}));if(!n.length)throw new Error("Not Found");return n[0]};return Object.freeze(Object.assign(d,u({toString:b},l)))},l=Object.assign(a,{});t.default=l}]).default}));
  //# sourceMappingURL=Enum.node.min.js.map