How to use isSameType method in Playwright Internal

Best JavaScript code snippet using playwright-internal

crocks.js

Source:crocks.js Github

copy

Full Screen

...465var Pred = __webpack_require__(17).proxy('Pred')466var isFunction = __webpack_require__(4)467var isSameType = __webpack_require__(18)468// isPredOrFunc :: ((a -> b) | pred) -> bool469var isPredOrFunc = function (predOrFunc) { return isFunction(predOrFunc) || isSameType(Pred, predOrFunc); }470module.exports = isPredOrFunc471/***/ }),472/* 17 */473/***/ (function(module, exports) {474/** @license ISC License (c) copyright 2017 original and current authors */475/** @author Ian Hofmann-Hicks (evil) */476var _types = {477 'unk': function () { return 'unknown'; },478 'All': function () { return 'All'; },479 'Any': function () { return 'Any'; },480 'Arrow': function () { return 'Arrow'; },481 'Assign': function () { return 'Assign'; },482 'Async': function () { return 'Async'; },483 'Const': function (inner) { return ("Const(" + inner + ")"); },484 'Either': function () { return 'Either'; },485 'Endo': function () { return 'Endo'; },486 'Equiv': function () { return 'Equiv'; },487 'First': function () { return 'First'; },488 'Identity': function () { return 'Identity'; },489 'IO': function () { return 'IO'; },490 'Last': function () { return 'Last'; },491 'List': function () { return 'List'; },492 'Max': function () { return 'Max'; },493 'Maybe': function () { return 'Maybe'; },494 'Min': function () { return 'Min'; },495 'Pair': function () { return 'Pair'; },496 'Pred': function () { return 'Pred'; },497 'Prod': function () { return 'Prod'; },498 'Reader': function () { return 'Reader'; },499 'Result': function () { return 'Result'; },500 'Star': function () { return 'Star'; },501 'State': function () { return 'State'; },502 'Sum': function () { return 'Sum'; },503 'Tuple': function (n) { return (n + "-Tuple"); },504 'Unit': function () { return 'Unit'; },505 'Writer': function () { return 'Writer'; }506}507var type =508 function (type) { return _types[type] || _types['unk']; }509var proxy =510 function (t, ctx) { return ({ type: function () { return type(t)(ctx); } }); }511var typeFn = function (t, ver, ctx) {512 var typeStr = type(t)(ctx)513 return ("crocks/" + typeStr + "@" + (ver || 0))514}515module.exports = {516 proxy: proxy, type: type, typeFn: typeFn517}518/***/ }),519/* 18 */520/***/ (function(module, exports, __webpack_require__) {521/** @license ISC License (c) copyright 2016 original and current authors */522/** @author Ian Hofmann-Hicks (evil) */523var curry = __webpack_require__(3)524var isFunction = __webpack_require__(4)525var type = __webpack_require__(19)526// isSameType :: Container m => (m, m) -> Boolean527function isSameType(x, y) {528 var tX = type(x)529 var tY = type(y)530 return tX === tY531 || isFunction(x) && x.name === tY532 || isFunction(y) && y.name === tX533}534module.exports = curry(isSameType)535/***/ }),536/* 19 */537/***/ (function(module, exports, __webpack_require__) {538/** @license ISC License (c) copyright 2017 original and current authors */539/** @author Ian Hofmann-Hicks (evil) */540var isFunction = __webpack_require__(4)541function type(x) {542 if(x) {543 if(isFunction(x.type)) {544 return x.type()545 }546 }547 return {}.toString.call(x).slice(8, -1)548}549module.exports = type550/***/ }),551/* 20 */552/***/ (function(module, exports, __webpack_require__) {553/** @license ISC License (c) copyright 2017 original and current authors */554/** @author Ian Hofmann-Hicks (evil) */555var isFunction = __webpack_require__(4)556function predOrFunc(pred, x) {557 if(isFunction(pred)) {558 return pred(x)559 }560 return pred.runWith(x)561}562module.exports = predOrFunc563/***/ }),564/* 21 */565/***/ (function(module, exports, __webpack_require__) {566/** @license ISC License (c) copyright 2016 original and current authors */567/** @author Ian Hofmann-Hicks (evil) */568var curry = __webpack_require__(3)569var isFunction = __webpack_require__(4)570var isPredOrFunc = __webpack_require__(16)571var predOrFunc = __webpack_require__(20)572// ifElse : (a -> Boolean) | Pred -> (a -> b) -> (a -> c) -> a -> (a | c)573function ifElse(pred, f, g) {574 if(!isPredOrFunc(pred)) {575 throw new TypeError(576 'ifElse: Pred or predicate function required for first argument'577 )578 }579 if(!(isFunction(f) && isFunction(g))) {580 throw new TypeError(581 'ifElse: Functions required for second and third arguments'582 )583 }584 return function (x) { return predOrFunc(pred, x) ? f(x) : g(x); }585}586module.exports = curry(ifElse)587/***/ }),588/* 22 */589/***/ (function(module, exports, __webpack_require__) {590/** @license ISC License (c) copyright 2018 original and current authors */591/** @author Ian Hofmann-Hicks (evil) */592var curry = __webpack_require__(3)593var isPredOrFunc = __webpack_require__(16)594var predOrFunc = __webpack_require__(20)595// implies :: (a -> Boolean) | Pred -> (a -> Boolean) -> a -> Boolean596function implies(p, q) {597 if(!(isPredOrFunc(p) && isPredOrFunc(q))) {598 throw new TypeError(599 'implies: Preds or predicate functions required for first two arguments'600 )601 }602 return function (x) { return !predOrFunc(p, x) || !!predOrFunc(q, x); }603}604module.exports = curry(implies)605/***/ }),606/* 23 */607/***/ (function(module, exports, __webpack_require__) {608/** @license ISC License (c) copyright 2017 original and current authors */609/** @author Ian Hofmann-Hicks (evil) */610var curry = __webpack_require__(3)611var isPredOrFunc = __webpack_require__(16)612var predOrFunc = __webpack_require__(20)613// not : (a -> Boolean) | Pred -> a -> Boolean614function not(pred, x) {615 if(!isPredOrFunc(pred)) {616 throw new TypeError(617 'not: Pred or predicate function required for first argument'618 )619 }620 return !predOrFunc(pred, x)621}622module.exports = curry(not)623/***/ }),624/* 24 */625/***/ (function(module, exports, __webpack_require__) {626/** @license ISC License (c) copyright 2017 original and current authors */627/** @author Ian Hofmann-Hicks (evil) */628var curry = __webpack_require__(3)629var isPredOrFunc = __webpack_require__(16)630var predOrFunc = __webpack_require__(20)631// or : (a -> Boolean) | Pred -> (a -> Boolean) | Pred -> a -> Boolean632function or(f, g) {633 if(!(isPredOrFunc(f) && isPredOrFunc(g))) {634 throw new TypeError(635 'or: Preds or predicate functions required for first two arguments'636 )637 }638 return function (x) { return !!(predOrFunc(f, x) || predOrFunc(g, x)); }639}640module.exports = curry(or)641/***/ }),642/* 25 */643/***/ (function(module, exports, __webpack_require__) {644/** @license ISC License (c) copyright 2016 original and current authors */645/** @author Ian Hofmann-Hicks (evil) */646var curry = __webpack_require__(3)647var isPredOrFunc = __webpack_require__(16)648var isFunction = __webpack_require__(4)649var predOrFunc = __webpack_require__(20)650// unless : (a -> Boolean) | Pred -> (a -> b) -> a | b651function unless(pred, f) {652 if(!isPredOrFunc(pred)) {653 throw new TypeError(654 'unless: Pred or predicate function required for first argument'655 )656 }657 if(!isFunction(f)) {658 throw new TypeError(659 'unless: Function required for second argument'660 )661 }662 return function (x) { return !predOrFunc(pred, x) ? f(x) : x; }663}664module.exports = curry(unless)665/***/ }),666/* 26 */667/***/ (function(module, exports, __webpack_require__) {668/** @license ISC License (c) copyright 2016 original and current authors */669/** @author Ian Hofmann-Hicks (evil) */670var curry = __webpack_require__(3)671var predOrFunc = __webpack_require__(20)672var isPredOrFunc = __webpack_require__(16)673var isFunction = __webpack_require__(4)674// when : (a -> Boolean) | Pred -> (a -> b) -> a -> b | a675function when(pred, f) {676 if(!isPredOrFunc(pred)) {677 throw new TypeError(678 'when: Pred or predicate function required for first argument'679 )680 }681 if(!isFunction(f)) {682 throw new TypeError(683 'when: Function required for second argument'684 )685 }686 return function (x) { return predOrFunc(pred, x) ? f(x) : x; }687}688module.exports = curry(when)689/***/ }),690/* 27 */691/***/ (function(module, exports, __webpack_require__) {692module.exports = {693 hasProp: __webpack_require__(28),694 hasProps: __webpack_require__(42),695 hasPropPath: __webpack_require__(44),696 isAlt: __webpack_require__(46),697 isAlternative: __webpack_require__(49),698 isApplicative: __webpack_require__(53),699 isApply: __webpack_require__(54),700 isArray: __webpack_require__(55),701 isBifunctor: __webpack_require__(56),702 isBichain: __webpack_require__(58),703 isBoolean: __webpack_require__(60),704 isCategory: __webpack_require__(61),705 isChain: __webpack_require__(63),706 isContravariant: __webpack_require__(65),707 isDate: __webpack_require__(67),708 isDefined: __webpack_require__(69),709 isEmpty: __webpack_require__(70),710 isExtend: __webpack_require__(71),711 isFalse: __webpack_require__(73),712 isFalsy: __webpack_require__(74),713 isFoldable: __webpack_require__(75),714 isFunction: __webpack_require__(76),715 isFunctor: __webpack_require__(77),716 isInteger: __webpack_require__(78),717 isIterable: __webpack_require__(79),718 isMap: __webpack_require__(81),719 isMonad: __webpack_require__(83),720 isMonoid: __webpack_require__(85),721 isNil: __webpack_require__(86),722 isNumber: __webpack_require__(87),723 isObject: __webpack_require__(88),724 isPlus: __webpack_require__(89),725 isProfunctor: __webpack_require__(90),726 isPromise: __webpack_require__(92),727 isSame: __webpack_require__(94),728 isSameType: __webpack_require__(95),729 isSemigroup: __webpack_require__(96),730 isSemigroupoid: __webpack_require__(97),731 isSetoid: __webpack_require__(98),732 isString: __webpack_require__(99),733 isSymbol: __webpack_require__(100),734 isTraversable: __webpack_require__(102),735 isTrue: __webpack_require__(103),736 isTruthy: __webpack_require__(104),737 pathEq: __webpack_require__(105),738 pathSatisfies: __webpack_require__(106),739 propEq: __webpack_require__(107),740 propPathEq: __webpack_require__(108),741 propSatisfies: __webpack_require__(109),742 propPathSatisfies: __webpack_require__(110)743}744/***/ }),745/* 28 */746/***/ (function(module, exports, __webpack_require__) {747/** @license ISC License (c) copyright 2017 original and current authors */748/** @author Ian Hofmann-Hicks (evil) */749var curry = __webpack_require__(3)750var isDefined = __webpack_require__(29)751var isEmpty = __webpack_require__(30)752var isInteger = __webpack_require__(39)753var isNil = __webpack_require__(41)754var isString = __webpack_require__(36)755// hasProp : (String | Integer) -> a -> Boolean756function hasProp(key, x) {757 if(!(isString(key) && !isEmpty(key) || isInteger(key))) {758 throw new TypeError(759 'hasProp: Non-empty String or Integer required for first argument'760 )761 }762 if(isNil(x)) {763 return false764 }765 return isDefined(x[key])766}767module.exports = curry(hasProp)768/***/ }),769/* 29 */770/***/ (function(module, exports) {771/** @license ISC License (c) copyright 2017 original and current authors */772/** @author Ian Hofmann-Hicks (evil) */773function isDefined(x) {774 return x !== undefined775}776module.exports = isDefined777/***/ }),778/* 30 */779/***/ (function(module, exports, __webpack_require__) {780/** @license ISC License (c) copyright 2016 original and current authors */781/** @author Ian Hofmann-Hicks (evil) */782var isObject = __webpack_require__(31)783var isMonoid = __webpack_require__(32)784var equals = __webpack_require__(37)785var fl = __webpack_require__(34)786function isEmpty(x) {787 if(isMonoid(x)) {788 var empty = x.constructor[fl['empty']] || x.constructor['empty'] || x['empty']789 return equals(x, empty())790 }791 if(isObject(x)) {792 return !Object.keys(x).length793 }794 if(x && x.length !== undefined) {795 return !x.length796 }797 return true798}799module.exports = isEmpty800/***/ }),801/* 31 */802/***/ (function(module, exports) {803/** @license ISC License (c) copyright 2016 original and current authors */804/** @author Ian Hofmann-Hicks (evil) */805var toString = Object.prototype.toString806// isObject : a -> Boolean807function isObject(x) {808 return !!x809 && toString.call(x) === '[object Object]'810}811module.exports = isObject812/***/ }),813/* 32 */814/***/ (function(module, exports, __webpack_require__) {815/** @license ISC License (c) copyright 2016 original and current authors */816/** @author Ian Hofmann-Hicks (evil) */817var hasAlg = __webpack_require__(33)818var isSemigroup = __webpack_require__(35)819// isMonoid :: a -> Boolean820function isMonoid(m) {821 return isSemigroup(m)822 && (hasAlg('empty', m) || hasAlg('empty', m.constructor))823}824module.exports = isMonoid825/***/ }),826/* 33 */827/***/ (function(module, exports, __webpack_require__) {828/** @license ISC License (c) copyright 2017 original and current authors */829/** @author Ian Hofmann-Hicks (evil) */830var isFunction = __webpack_require__(4)831var fl = __webpack_require__(34)832var check = function (alg, m) { return isFunction(m[fl[alg]]) || isFunction(m[alg]); }833var checkImpl = function (alg, m) { return isFunction(m['@@implements']) && !!m['@@implements'](alg); }834var hasAlg = function (alg, m) { return !!m && (check(alg, m) || checkImpl(alg, m)); }835module.exports = hasAlg836/***/ }),837/* 34 */838/***/ (function(module, exports) {839/** @license ISC License (c) copyright 2018 original and current authors */840/** @author Ian Hofmann-Hicks (evil) */841module.exports = {842 alt: 'fantasy-land/alt',843 bimap: 'fantasy-land/bimap',844 chain: 'fantasy-land/chain',845 compose: 'fantasy-land/compose',846 concat: 'fantasy-land/concat',847 contramap: 'fantasy-land/contramap',848 empty: 'fantasy-land/empty',849 equals: 'fantasy-land/equals',850 extend: 'fantasy-land/extend',851 filter: 'fantasy-land/filter',852 id: 'fantasy-land/id',853 map: 'fantasy-land/map',854 of: 'fantasy-land/of',855 promap: 'fantasy-land/promap',856 reduce: 'fantasy-land/reduce',857 zero: 'fantasy-land/zero'858}859/***/ }),860/* 35 */861/***/ (function(module, exports, __webpack_require__) {862/** @license ISC License (c) copyright 2016 original and current authors */863/** @author Ian Hofmann-Hicks (evil) */864var isString = __webpack_require__(36)865var hasAlg = __webpack_require__(33)866// isSemigroup : a -> Boolean867function isSemigroup(m) {868 return isString(m)869 || !!m && hasAlg('concat', m)870}871module.exports = isSemigroup872/***/ }),873/* 36 */874/***/ (function(module, exports) {875/** @license ISC License (c) copyright 2016 original and current authors */876/** @author Ian Hofmann-Hicks (evil) */877// isString : a -> Boolean878function isString(x) {879 return typeof x === 'string'880}881module.exports = isString882/***/ }),883/* 37 */884/***/ (function(module, exports, __webpack_require__) {885/** @license ISC License (c) copyright 2017 original and current authors */886/** @author Ian Hofmann-Hicks (evil) */887var isSameType = __webpack_require__(18)888var isSame = __webpack_require__(38)889var hasAlg = __webpack_require__(33)890var type = __webpack_require__(19)891var fl = __webpack_require__(34)892var comp = function (a, b) { return a.valueOf() === b.valueOf(); }893var strats = {894 'Array': function (a, b) { return a.length === b.length895 && deepEquals(a, b); },896 'Date': function (a, b) { return isSame(a.valueOf(), b.valueOf()); },897 'Error': function (a, b) { return a.name === b.name898 && a.message === b.message; },899 'Object': function (a, b) { return Object.keys(a).length === Object.keys(b).length900 && deepEquals(a, b); },901 'RegExp': function (a, b) { return a.source === b.source902 && a.ignoreCase === b.ignoreCase903 && a.global === b.global904 && a.multiline === b.multiline905 && a.unicode === b.unicode; }906}907function deepEquals(a, b) {908 for(var key in a) {909 if(!equals(a[key], b[key])) {910 return false911 }912 }913 return true914}915function equals(a, b) {916 if(isSame(a, b)) {917 return true918 }919 if(!isSameType(a, b)) {920 return false921 }922 if(hasAlg('equals', a)) {923 return (b[fl.equals] || b.equals).call(b, a)924 }925 return (strats[type(a)] || comp)(a, b)926}927module.exports = equals928/***/ }),929/* 38 */930/***/ (function(module, exports) {931/** @license ISC License (c) copyright 2017 original and current authors */932/** @author Ian Hofmann-Hicks (evil) */933// isSame : (a, b) -> Boolean934function isSame(x, y) {935 if(x === y) {936 return x !== 0 || 1 / x === 1 / y937 }938 return x !== x && y !== y939}940module.exports = isSame941/***/ }),942/* 39 */943/***/ (function(module, exports, __webpack_require__) {944/** @license ISC License (c) copyright 2017 original and current authors */945/** @author Ian Hofmann-Hicks (evil) */946var isNumber = __webpack_require__(40)947// isInteger : a -> Boolean948function isInteger(x) {949 return isNumber(x)950 && isFinite(x)951 && Math.floor(x) === x952}953module.exports = isInteger954/***/ }),955/* 40 */956/***/ (function(module, exports) {957/** @license ISC License (c) copyright 2016 original and current authors */958/** @author Ian Hofmann-Hicks (evil) */959// isNumber : a -> Boolean960function isNumber(x) {961 return typeof x === 'number'962 && !isNaN(x)963}964module.exports = isNumber965/***/ }),966/* 41 */967/***/ (function(module, exports) {968/** @license ISC License (c) copyright 2017 original and current authors */969/** @author Ian Hofmann-Hicks (evil) */970/* eslint eqeqeq: "off" */971// isNil : a -> Boolean972function isNil(x) {973 return x == null || x !== x974}975module.exports = isNil976/***/ }),977/* 42 */978/***/ (function(module, exports, __webpack_require__) {979/** @license ISC License (c) copyright 2019 original and current authors */980/** @author Dale Francis (dalefrancis88) */981var curry = __webpack_require__(3)982var isDefined = __webpack_require__(29)983var isEmpty = __webpack_require__(30)984var isFoldable = __webpack_require__(43)985var isInteger = __webpack_require__(39)986var isNil = __webpack_require__(41)987var isString = __webpack_require__(36)988// err :: String989var err =990 'hasProps: First argument must be a Foldable of Non-empty Strings or Integers'991// isKeyValid :: a -> Boolean992var isKeyValid = function (key) { return isString(key) && !isEmpty(key) || isInteger(key); }993// hasKey :: a -> (String | Integer) -> Boolean994var hasKey = function (obj) { return function (key) {995 if(!isKeyValid(key)) {996 throw new TypeError(err)997 }998 return isDefined(obj[key])999}; }1000// every :: (a -> Boolean) -> ((Null | Boolean), a) -> Boolean1001var every = function (fn) { return function (acc, x) { return (acc === null ? true : acc) && fn(x); }; }1002// hasProps :: Foldable f => f (String | Integer) -> a -> Boolean1003function hasProps(keys, x) {1004 if(!isFoldable(keys)) {1005 throw new TypeError(err)1006 }1007 if(isNil(x)) {1008 return false1009 }1010 var result = keys.reduce(1011 every(hasKey(x)),1012 null1013 )1014 return result === null || result1015}1016module.exports = curry(hasProps)1017/***/ }),1018/* 43 */1019/***/ (function(module, exports, __webpack_require__) {1020/** @license ISC License (c) copyright 2017 original and current authors */1021/** @author Ian Hofmann-Hicks (evil) */1022var hasAlg = __webpack_require__(33)1023// isFoldable : a -> Boolean1024function isFoldable(m) {1025 return !!m1026 && hasAlg('reduce', m)1027}1028module.exports = isFoldable1029/***/ }),1030/* 44 */1031/***/ (function(module, exports, __webpack_require__) {1032/** @license ISC License (c) copyright 2017 original and current authors */1033/** @author Ian Hofmann-Hicks (evil) */1034var curry = __webpack_require__(3)1035var isArray = __webpack_require__(45)1036var isDefined = __webpack_require__(29)1037var isEmpty = __webpack_require__(30)1038var isInteger = __webpack_require__(39)1039var isNil = __webpack_require__(41)1040var isString = __webpack_require__(36)1041// hasPropPath : [ String | Integer ] -> a -> Boolean1042function hasPropPath(keys, target) {1043 if(!isArray(keys)) {1044 throw new TypeError(1045 'hasPropPath: Array of Non-empty Strings or Integers required for first argument'1046 )1047 }1048 if(isNil(target)) {1049 return false1050 }1051 var value = target1052 for(var i = 0; i < keys.length; i++) {1053 var key = keys[i]1054 if(!(isString(key) && !isEmpty(key) || isInteger(key))) {1055 throw new TypeError(1056 'hasPropPath: Array of Non-empty Strings or Integers required for first argument'1057 )1058 }1059 if(isNil(value)) {1060 return false1061 }1062 value = value[key]1063 if(!isDefined(value)) {1064 return false1065 }1066 }1067 return true1068}1069module.exports = curry(hasPropPath)1070/***/ }),1071/* 45 */1072/***/ (function(module, exports) {1073/** @license ISC License (c) copyright 2016 original and current authors */1074/** @author Ian Hofmann-Hicks (evil) */1075function isArray(x) {1076 return Array.isArray(x)1077}1078module.exports = isArray1079/***/ }),1080/* 46 */1081/***/ (function(module, exports, __webpack_require__) {1082/** @license ISC License (c) copyright 2017 original and current authors */1083/** @author Ian Hofmann-Hicks (evil) */1084module.exports =1085 __webpack_require__(47)1086/***/ }),1087/* 47 */1088/***/ (function(module, exports, __webpack_require__) {1089/** @license ISC License (c) copyright 2017 original and current authors */1090/** @author Ian Hofmann-Hicks (evil) */1091var hasAlg = __webpack_require__(33)1092var isFunctor = __webpack_require__(48)1093// isAlt : a -> Boolean1094function isAlt(m) {1095 return isFunctor(m)1096 && hasAlg('alt', m)1097}1098module.exports = isAlt1099/***/ }),1100/* 48 */1101/***/ (function(module, exports, __webpack_require__) {1102/** @license ISC License (c) copyright 2016 original and current authors */1103/** @author Ian Hofmann-Hicks (evil) */1104var hasAlg = __webpack_require__(33)1105// isFunctor : a -> Boolean1106function isFunctor(m) {1107 return !!m && hasAlg('map', m)1108}1109module.exports = isFunctor1110/***/ }),1111/* 49 */1112/***/ (function(module, exports, __webpack_require__) {1113/** @license ISC License (c) copyright 2016 original and current authors */1114/** @author Ian Hofmann-Hicks (evil) */1115var isApplicative = __webpack_require__(50)1116var isPlus = __webpack_require__(52)1117// isAlternative : a -> Boolean1118function isAlternative(m) {1119 return isPlus(m)1120 && isApplicative(m)1121}1122module.exports = isAlternative1123/***/ }),1124/* 50 */1125/***/ (function(module, exports, __webpack_require__) {1126/** @license ISC License (c) copyright 2016 original and current authors */1127/** @author Ian Hofmann-Hicks (evil) */1128var hasAlg = __webpack_require__(33)1129var isApply = __webpack_require__(51)1130// isApplicative : a -> Boolean1131function isApplicative(m) {1132 return isApply(m)1133 && (hasAlg('of', m) || hasAlg('of', m.constructor))1134}1135module.exports = isApplicative1136/***/ }),1137/* 51 */1138/***/ (function(module, exports, __webpack_require__) {1139/** @license ISC License (c) copyright 2016 original and current authors */1140/** @author Ian Hofmann-Hicks (evil) */1141var hasAlg = __webpack_require__(33)1142var isFunctor = __webpack_require__(48)1143// isApply : a -> Boolean1144function isApply(m) {1145 return isFunctor(m)1146 && hasAlg('ap', m)1147}1148module.exports = isApply1149/***/ }),1150/* 52 */1151/***/ (function(module, exports, __webpack_require__) {1152/** @license ISC License (c) copyright 2016 original and current authors */1153/** @author Ian Hofmann-Hicks (evil) */1154var hasAlg = __webpack_require__(33)1155var isAlt = __webpack_require__(47)1156// isPlus : a -> Boolean1157function isPlus(m) {1158 return isAlt(m)1159 && (hasAlg('zero', m) || hasAlg('zero', m.constructor))1160}1161module.exports = isPlus1162/***/ }),1163/* 53 */1164/***/ (function(module, exports, __webpack_require__) {1165/** @license ISC License (c) copyright 2017 original and current authors */1166/** @author Ian Hofmann-Hicks (evil) */1167module.exports =1168 __webpack_require__(50)1169/***/ }),1170/* 54 */1171/***/ (function(module, exports, __webpack_require__) {1172/** @license ISC License (c) copyright 2017 original and current authors */1173/** @author Ian Hofmann-Hicks (evil) */1174module.exports =1175 __webpack_require__(51)1176/***/ }),1177/* 55 */1178/***/ (function(module, exports, __webpack_require__) {1179/** @license ISC License (c) copyright 2017 original and current authors */1180/** @author Ian Hofmann-Hicks (evil) */1181module.exports =1182 __webpack_require__(45)1183/***/ }),1184/* 56 */1185/***/ (function(module, exports, __webpack_require__) {1186/** @license ISC License (c) copyright 2017 original and current authors */1187/** @author Ian Hofmann-Hicks (evil) */1188module.exports =1189 __webpack_require__(57)1190/***/ }),1191/* 57 */1192/***/ (function(module, exports, __webpack_require__) {1193/** @license ISC License (c) copyright 2017 original and current authors */1194/** @author Ian Hofmann-Hicks (evil) */1195var hasAlg = __webpack_require__(33)1196var isFunctor = __webpack_require__(48)1197// isBifunctor : a -> Boolean1198function isBifunctor(m) {1199 return isFunctor(m)1200 && hasAlg('bimap', m)1201}1202module.exports = isBifunctor1203/***/ }),1204/* 58 */1205/***/ (function(module, exports, __webpack_require__) {1206/** @license ISC License (c) copyright 2019 original and current authors */1207/** @author Dale Francis (dalefrancis88) */1208module.exports =1209 __webpack_require__(59)1210/***/ }),1211/* 59 */1212/***/ (function(module, exports, __webpack_require__) {1213/** @license ISC License (c) copyright 2019 original and current authors */1214/** @author Dale Francis (dalefrancis88) */1215var hasAlg = __webpack_require__(33)1216// isBichain : a -> Boolean1217function isBichain(m) {1218 return hasAlg('bichain', m)1219}1220module.exports = isBichain1221/***/ }),1222/* 60 */1223/***/ (function(module, exports) {1224/** @license ISC License (c) copyright 2017 original and current authors */1225/** @author Ian Hofmann-Hicks (evil) */1226// isBoolean : a -> Boolean1227function isBoolean(x) {1228 return typeof x === 'boolean'1229}1230module.exports = isBoolean1231/***/ }),1232/* 61 */1233/***/ (function(module, exports, __webpack_require__) {1234/** @license ISC License (c) copyright 2017 original and current authors */1235/** @author Ian Hofmann-Hicks (evil) */1236var hasAlg = __webpack_require__(33)1237var isSemigroupoid = __webpack_require__(62)1238// isCategory : a -> Boolean1239function isCategory(m) {1240 return isSemigroupoid(m)1241 && (hasAlg('id', m) || hasAlg('id', m.constructor))1242}1243module.exports = isCategory1244/***/ }),1245/* 62 */1246/***/ (function(module, exports, __webpack_require__) {1247/** @license ISC License (c) copyright 2017 original and current authors */1248/** @author Ian Hofmann-Hicks (evil) */1249var hasAlg = __webpack_require__(33)1250// isSemigroupoid : a -> Boolean1251function isSemigroupoid(m) {1252 return !!m && hasAlg('compose', m)1253}1254module.exports = isSemigroupoid1255/***/ }),1256/* 63 */1257/***/ (function(module, exports, __webpack_require__) {1258/** @license ISC License (c) copyright 2017 original and current authors */1259/** @author Ian Hofmann-Hicks (evil) */1260module.exports =1261 __webpack_require__(64)1262/***/ }),1263/* 64 */1264/***/ (function(module, exports, __webpack_require__) {1265/** @license ISC License (c) copyright 2016 original and current authors */1266/** @author Ian Hofmann-Hicks (evil) */1267var hasAlg = __webpack_require__(33)1268var isApply = __webpack_require__(51)1269// isChain : a -> Boolean1270function isChain(m) {1271 return isApply(m)1272 && hasAlg('chain', m)1273}1274module.exports = isChain1275/***/ }),1276/* 65 */1277/***/ (function(module, exports, __webpack_require__) {1278/** @license ISC License (c) copyright 2017 original and current authors */1279/** @author Ian Hofmann-Hicks (evil) */1280module.exports =1281 __webpack_require__(66)1282/***/ }),1283/* 66 */1284/***/ (function(module, exports, __webpack_require__) {1285/** @license ISC License (c) copyright 2017 original and current authors */1286/** @author Ian Hofmann-Hicks (evil) */1287var hasAlg = __webpack_require__(33)1288// isContravariant : a -> Boolean1289function isContravariant(m) {1290 return !!m && hasAlg('contramap', m)1291}1292module.exports = isContravariant1293/***/ }),1294/* 67 */1295/***/ (function(module, exports, __webpack_require__) {1296/** @license ISC License (c) copyright 2018 original and current authors */1297/** @author Dale Francis (dalefrancis88) */1298module.exports =1299 __webpack_require__(68)1300/***/ }),1301/* 68 */1302/***/ (function(module, exports) {1303/** @license ISC License (c) copyright 2018 original and current authors */1304/** @author Dale Francis (dalefrancis88) */1305// isDate : a -> Boolean1306function isDate(x) {1307 return Object.prototype.toString.apply(x) === '[object Date]'1308 && !isNaN(x.valueOf())1309}1310module.exports = isDate1311/***/ }),1312/* 69 */1313/***/ (function(module, exports, __webpack_require__) {1314/** @license ISC License (c) copyright 2017 original and current authors */1315/** @author Ian Hofmann-Hicks (evil) */1316module.exports =1317 __webpack_require__(29)1318/***/ }),1319/* 70 */1320/***/ (function(module, exports, __webpack_require__) {1321/** @license ISC License (c) copyright 2017 original and current authors */1322/** @author Ian Hofmann-Hicks (evil) */1323module.exports =1324 __webpack_require__(30)1325/***/ }),1326/* 71 */1327/***/ (function(module, exports, __webpack_require__) {1328/** @license ISC License (c) copyright 2017 original and current authors */1329/** @author Ian Hofmann-Hicks (evil) */1330module.exports =1331 __webpack_require__(72)1332/***/ }),1333/* 72 */1334/***/ (function(module, exports, __webpack_require__) {1335/** @license ISC License (c) copyright 2016 original and current authors */1336/** @author Ian Hofmann-Hicks (evil) */1337var hasAlg = __webpack_require__(33)1338var isFunctor = __webpack_require__(48)1339// isExtend : a -> Boolean1340function isExtend(m) {1341 return isFunctor(m)1342 && hasAlg('extend', m)1343}1344module.exports = isExtend1345/***/ }),1346/* 73 */1347/***/ (function(module, exports) {1348/** @license ISC License (c) copyright 2019 original and current authors */1349/** @author Dale Francis (dalefrancis88) */1350// isFalse : a -> Boolean1351function isFalse(x) {1352 return x === false1353}1354module.exports = isFalse1355/***/ }),1356/* 74 */1357/***/ (function(module, exports) {1358/** @license ISC License (c) copyright 2019 original and current authors */1359/** @author Dale Francis (dalefrancis88) */1360// isFalsy : a -> Boolean1361function isFalsy(x) {1362 return !x1363}1364module.exports = isFalsy1365/***/ }),1366/* 75 */1367/***/ (function(module, exports, __webpack_require__) {1368/** @license ISC License (c) copyright 2017 original and current authors */1369/** @author Ian Hofmann-Hicks (evil) */1370module.exports =1371 __webpack_require__(43)1372/***/ }),1373/* 76 */1374/***/ (function(module, exports, __webpack_require__) {1375/** @license ISC License (c) copyright 2017 original and current authors */1376/** @author Ian Hofmann-Hicks (evil) */1377module.exports =1378 __webpack_require__(4)1379/***/ }),1380/* 77 */1381/***/ (function(module, exports, __webpack_require__) {1382/** @license ISC License (c) copyright 2017 original and current authors */1383/** @author Ian Hofmann-Hicks (evil) */1384module.exports =1385 __webpack_require__(48)1386/***/ }),1387/* 78 */1388/***/ (function(module, exports, __webpack_require__) {1389/** @license ISC License (c) copyright 2017 original and current authors */1390/** @author Ian Hofmann-Hicks (evil) */1391module.exports =1392 __webpack_require__(39)1393/***/ }),1394/* 79 */1395/***/ (function(module, exports, __webpack_require__) {1396/** @license ISC License (c) copyright 2018 original and current authors */1397/** @author Dale Francis (dalefrancis88) */1398module.exports =1399 __webpack_require__(80)1400/***/ }),1401/* 80 */1402/***/ (function(module, exports, __webpack_require__) {1403/** @license ISC License (c) copyright 2018 original and current authors */1404/** @author Dale Francis (dalefrancis88) */1405var isFunction = __webpack_require__(4)1406var isNil = __webpack_require__(41)1407function isIterable(iterable) {1408 return !isNil(iterable) && isFunction(iterable[Symbol.iterator])1409}1410module.exports = isIterable1411/***/ }),1412/* 81 */1413/***/ (function(module, exports, __webpack_require__) {1414/** @license ISC License (c) copyright 2019 original and current authors */1415/** @author Benny Powers (bennypowers) */1416module.exports =1417 __webpack_require__(82)1418/***/ }),1419/* 82 */1420/***/ (function(module, exports) {1421/** @license ISC License (c) copyright 2019 original and current authors */1422/** @author Benny Powers (bennypowers) */1423function isMap(x) {1424 return x instanceof Map1425}1426module.exports = isMap1427/***/ }),1428/* 83 */1429/***/ (function(module, exports, __webpack_require__) {1430/** @license ISC License (c) copyright 2017 original and current authors */1431/** @author Ian Hofmann-Hicks (evil) */1432module.exports =1433 __webpack_require__(84)1434/***/ }),1435/* 84 */1436/***/ (function(module, exports, __webpack_require__) {1437/** @license ISC License (c) copyright 2017 original and current authors */1438/** @author Ian Hofmann-Hicks (evil) */1439var hasAlg = __webpack_require__(33)1440var isApplicative = __webpack_require__(50)1441// isMonad : a -> Boolean1442function isMonad(m) {1443 return isApplicative(m)1444 && hasAlg('chain', m)1445}1446module.exports = isMonad1447/***/ }),1448/* 85 */1449/***/ (function(module, exports, __webpack_require__) {1450/** @license ISC License (c) copyright 2017 original and current authors */1451/** @author Ian Hofmann-Hicks (evil) */1452module.exports =1453 __webpack_require__(32)1454/***/ }),1455/* 86 */1456/***/ (function(module, exports, __webpack_require__) {1457/** @license ISC License (c) copyright 2017 original and current authors */1458/** @author Ian Hofmann-Hicks (evil) */1459module.exports =1460 __webpack_require__(41)1461/***/ }),1462/* 87 */1463/***/ (function(module, exports, __webpack_require__) {1464/** @license ISC License (c) copyright 2017 original and current authors */1465/** @author Ian Hofmann-Hicks (evil) */1466module.exports =1467 __webpack_require__(40)1468/***/ }),1469/* 88 */1470/***/ (function(module, exports, __webpack_require__) {1471/** @license ISC License (c) copyright 2017 original and current authors */1472/** @author Ian Hofmann-Hicks (evil) */1473module.exports =1474 __webpack_require__(31)1475/***/ }),1476/* 89 */1477/***/ (function(module, exports, __webpack_require__) {1478/** @license ISC License (c) copyright 2017 original and current authors */1479/** @author Ian Hofmann-Hicks (evil) */1480module.exports =1481 __webpack_require__(52)1482/***/ }),1483/* 90 */1484/***/ (function(module, exports, __webpack_require__) {1485/** @license ISC License (c) copyright 2017 original and current authors */1486/** @author Ian Hofmann-Hicks (evil) */1487module.exports =1488 __webpack_require__(91)1489/***/ }),1490/* 91 */1491/***/ (function(module, exports, __webpack_require__) {1492/** @license ISC License (c) copyright 2017 original and current authors */1493/** @author Ian Hofmann-Hicks (evil) */1494var hasAlg = __webpack_require__(33)1495var isContravariant = __webpack_require__(66)1496var isFunctor = __webpack_require__(48)1497// isProfunctor :: a -> Boolean1498function isProfunctor(m) {1499 return isContravariant(m)1500 && isFunctor(m)1501 && hasAlg('promap', m)1502}1503module.exports = isProfunctor1504/***/ }),1505/* 92 */1506/***/ (function(module, exports, __webpack_require__) {1507/** @license ISC License (c) copyright 2017 original and current authors */1508/** @author Ian Hofmann-Hicks (evil) */1509module.exports =1510 __webpack_require__(93)1511/***/ }),1512/* 93 */1513/***/ (function(module, exports, __webpack_require__) {1514/** @license ISC License (c) copyright 2017 original and current authors */1515/** @author Ian Hofmann-Hicks (evil) */1516var isFunction = __webpack_require__(4)1517// isPromise : a -> Boolean1518function isPromise(p) {1519 return !!p1520 && isFunction(p.then)1521 && isFunction(p.catch)1522}1523module.exports = isPromise1524/***/ }),1525/* 94 */1526/***/ (function(module, exports, __webpack_require__) {1527/** @license ISC License (c) copyright 2017 original and current authors */1528/** @author Ian Hofmann-Hicks (evil) */1529var curry = __webpack_require__(3)1530var isSame = __webpack_require__(38)1531module.exports = curry(isSame)1532/***/ }),1533/* 95 */1534/***/ (function(module, exports, __webpack_require__) {1535/** @license ISC License (c) copyright 2017 original and current authors */1536/** @author Ian Hofmann-Hicks (evil) */1537module.exports =1538 __webpack_require__(18)1539/***/ }),1540/* 96 */1541/***/ (function(module, exports, __webpack_require__) {1542/** @license ISC License (c) copyright 2017 original and current authors */1543/** @author Ian Hofmann-Hicks (evil) */1544module.exports =1545 __webpack_require__(35)1546/***/ }),1547/* 97 */1548/***/ (function(module, exports, __webpack_require__) {1549/** @license ISC License (c) copyright 2017 original and current authors */1550/** @author Ian Hofmann-Hicks (evil) */1551module.exports =1552 __webpack_require__(62)1553/***/ }),1554/* 98 */1555/***/ (function(module, exports, __webpack_require__) {1556/** @license ISC License (c) copyright 2017 original and current authors */1557/** @author Ian Hofmann-Hicks (evil) */1558var hasAlg = __webpack_require__(33)1559// isSetoid : a -> Boolean1560function isSetoid(m) {1561 return !!m1562 && hasAlg('equals', m)1563}1564module.exports = isSetoid1565/***/ }),1566/* 99 */1567/***/ (function(module, exports, __webpack_require__) {1568/** @license ISC License (c) copyright 2017 original and current authors */1569/** @author Ian Hofmann-Hicks (evil) */1570module.exports =1571 __webpack_require__(36)1572/***/ }),1573/* 100 */1574/***/ (function(module, exports, __webpack_require__) {1575/** @license ISC License (c) copyright 2018 original and current authors */1576/** @author Robert Pearce (rpearce) */1577module.exports =1578 __webpack_require__(101)1579/***/ }),1580/* 101 */1581/***/ (function(module, exports) {1582/** @license ISC License (c) copyright 2018 original and current authors */1583/** @author Robert Pearce (rpearce) */1584// isSymbol : a -> Boolean1585function isSymbol(x) {1586 return typeof x === 'symbol'1587}1588module.exports = isSymbol1589/***/ }),1590/* 102 */1591/***/ (function(module, exports, __webpack_require__) {1592/** @license ISC License (c) copyright 2017 original and current authors */1593/** @author Ian Hofmann-Hicks (evil) */1594var hasAlg = __webpack_require__(33)1595var isFunctor = __webpack_require__(48)1596// isTraversable : a -> Boolean1597function isTraversable(m) {1598 return isFunctor(m)1599 && hasAlg('traverse', m)1600}1601module.exports = isTraversable1602/***/ }),1603/* 103 */1604/***/ (function(module, exports) {1605/** @license ISC License (c) copyright 2019 original and current authors */1606/** @author Dale Francis (dalefrancis88) */1607// isTrue : a -> Boolean1608function isTrue(x) {1609 return x === true1610}1611module.exports = isTrue1612/***/ }),1613/* 104 */1614/***/ (function(module, exports) {1615/** @license ISC License (c) copyright 2019 original and current authors */1616/** @author Dale Francis (dalefrancis88) */1617// isTruthy : a -> Boolean1618function isTruthy(x) {1619 return !!x1620}1621module.exports = isTruthy1622/***/ }),1623/* 105 */1624/***/ (function(module, exports, __webpack_require__) {1625/** @license ISC License (c) copyright 2019 original and current authors */1626/** @author Karthik Iyengar (karthikiyengar) */1627/** @author Ian Hofmann-Hicks */1628var curry = __webpack_require__(3)1629var equals = __webpack_require__(37)1630var isArray = __webpack_require__(45)1631var isDefined = __webpack_require__(29)1632var isEmpty = __webpack_require__(30)1633var isInteger = __webpack_require__(39)1634var isNil = __webpack_require__(41)1635var isString = __webpack_require__(36)1636var err = function (name) { return (name + ": First argument must be an Array of non-empty Strings or Integers"); }1637function fn(name) {1638 // pathEq :: [ String | Number ] -> a -> Object -> Boolean1639 function pathEq(keys, value, target) {1640 if(!isArray(keys)) {1641 throw new TypeError(err(name))1642 }1643 if(isNil(target)) {1644 return false1645 }1646 var acc = target1647 for(var i = 0; i < keys.length; i++) {1648 var key = keys[i]1649 if(!(isString(key) && !isEmpty(key) || isInteger(key))) {1650 throw new TypeError(err(name))1651 }1652 if(isNil(acc)) {1653 return false1654 }1655 acc = acc[key]1656 if(!isDefined(acc)) {1657 return false1658 }1659 }1660 return equals(acc, value)1661 }1662 return curry(pathEq)1663}1664var pathEq =1665 fn('pathEq')1666pathEq.origFn =1667 fn1668module.exports = pathEq1669/***/ }),1670/* 106 */1671/***/ (function(module, exports, __webpack_require__) {1672/** @license ISC License (c) copyright 2019 original and current authors */1673/** @author Ian Hofmann-Hicks (evilsoft) */1674var curry = __webpack_require__(3)1675var isArray = __webpack_require__(45)1676var isEmpty = __webpack_require__(30)1677var isInteger = __webpack_require__(39)1678var isNil = __webpack_require__(41)1679var isPredOrFunc = __webpack_require__(16)1680var isString = __webpack_require__(36)1681var predOrFunc = __webpack_require__(20)1682var err = function (name) { return (name + ": First argument must be an Array of non-empty Strings or Integers"); }1683function fn(name) {1684 // pathSatisfies: [ (String | Integer) ] -> (a -> Boolean) -> b -> Boolean1685 // pathSatisfies: [ (String | Integer) ] -> Pred a -> b -> Boolean1686 function pathSatisfies(keys, pred, x) {1687 if(!isArray(keys)) {1688 throw new TypeError(err(name))1689 }1690 if(!isPredOrFunc(pred)) {1691 throw new TypeError(1692 (name + ": Second argument must be a Pred or predicate Function")1693 )1694 }1695 if(isNil(x)) {1696 return false1697 }1698 var target = x1699 for(var i = 0; i < keys.length; i++) {1700 var key = keys[i]1701 if(!(isString(key) && !isEmpty(key) || isInteger(key))) {1702 throw new TypeError(err(name))1703 }1704 if(isNil(target)) {1705 return false1706 }1707 target = target[key]1708 }1709 return !!predOrFunc(pred, target)1710 }1711 return curry(pathSatisfies)1712}1713var pathSatisfies =1714 fn('pathSatisfies')1715pathSatisfies.origFn =1716 fn1717module.exports = pathSatisfies1718/***/ }),1719/* 107 */1720/***/ (function(module, exports, __webpack_require__) {1721/** @license ISC License (c) copyright 2017 original and current authors */1722/** @author Karthik Iyengar (karthikiyengar) */1723var curry = __webpack_require__(3)1724var equals = __webpack_require__(37)1725var isDefined = __webpack_require__(29)1726var isEmpty = __webpack_require__(30)1727var isInteger = __webpack_require__(39)1728var isNil = __webpack_require__(41)1729var isString = __webpack_require__(36)1730// propEq: (String | Integer) -> a -> b -> Boolean1731function propEq(key, value, x) {1732 if(!(isString(key) && !isEmpty(key) || isInteger(key))) {1733 throw new TypeError(1734 'propEq: Non-empty String or Integer required for first argument'1735 )1736 }1737 if(isNil(x)) {1738 return false1739 }1740 var target = x[key]1741 return isDefined(target) && equals(target, value)1742}1743module.exports = curry(propEq)1744/***/ }),1745/* 108 */1746/***/ (function(module, exports, __webpack_require__) {1747/** @license ISC License (c) copyright 2017 original and current authors */1748/** @author Karthik Iyengar (karthikiyengar) */1749/** @author Ian Hofmann-Hicks */1750var pathEq = __webpack_require__(105)1751module.exports =1752 pathEq.origFn('propPathEq')1753/***/ }),1754/* 109 */1755/***/ (function(module, exports, __webpack_require__) {1756/** @license ISC License (c) copyright 2018 original and current authors */1757/** @author Ian Hofmann-Hicks (evilsoft) */1758var curry = __webpack_require__(3)1759var isEmpty = __webpack_require__(30)1760var isInteger = __webpack_require__(39)1761var isNil = __webpack_require__(41)1762var isPredOrFunc = __webpack_require__(16)1763var isString = __webpack_require__(36)1764var predOrFunc = __webpack_require__(20)1765// propSatisfies: (String | Integer) -> (a -> Boolean) -> b -> Boolean1766// propSatisfies: (String | Integer) -> Pred a -> b -> Boolean1767function propSatisfies(key, pred, x) {1768 if(!(isString(key) && !isEmpty(key) || isInteger(key))) {1769 throw new TypeError(1770 'propSatisfies: Non-empty String or Integer required for first argument'1771 )1772 }1773 if(!isPredOrFunc(pred)) {1774 throw new TypeError(1775 'propSatisfies: Pred or predicate function required for second argument'1776 )1777 }1778 return isNil(x) ? false : !!predOrFunc(pred, x[key])1779}1780module.exports = curry(propSatisfies)1781/***/ }),1782/* 110 */1783/***/ (function(module, exports, __webpack_require__) {1784/** @license ISC License (c) copyright 2018 original and current authors */1785/** @author Ian Hofmann-Hicks (evilsoft) */1786var pathSatisfies = __webpack_require__(106)1787module.exports =1788 pathSatisfies.origFn('propPathSatisfies')1789/***/ }),1790/* 111 */1791/***/ (function(module, exports, __webpack_require__) {1792/** @license ISC License (c) copyright 2016 original and current authors */1793/** @author Ian Hofmann-Hicks (evil) */1794var VERSION = 21795var _implements = __webpack_require__(112)1796var _inspect = __webpack_require__(113)1797var type = __webpack_require__(17).type('Arrow')1798var _type = __webpack_require__(17).typeFn(type(), VERSION)1799var fl = __webpack_require__(34)1800var isFunction = __webpack_require__(4)1801var isSameType = __webpack_require__(18)1802var Pair = __webpack_require__(17).proxy('Pair')1803var _id =1804 function () { return Arrow(function (x) { return x; }); }1805function Arrow(runWith) {1806 var obj;1807 if(!isFunction(runWith)) {1808 throw new TypeError('Arrow: Function required')1809 }1810 var inspect =1811 function () { return ("Arrow" + (_inspect(runWith))); }1812 var id =1813 _id1814 var _map = function (fn) { return Arrow(function (x) { return fn(runWith(x)); }); }1815 function compose(method) {1816 return function(m) {1817 if(!isSameType(Arrow, m)) {1818 throw new TypeError(("Arrow." + method + ": Arrow required"))1819 }1820 return _map(m.runWith)1821 }1822 }1823 function map(method) {1824 return function(fn) {1825 if(!isFunction(fn)) {1826 throw new TypeError(("Arrow." + method + ": Function required"))1827 }1828 return _map(fn)1829 }1830 }1831 function contramap(method) {1832 return function(fn) {1833 if(!isFunction(fn)) {1834 throw new TypeError(("Arrow." + method + ": Function required"))1835 }1836 return Arrow(function (x) { return runWith(fn(x)); })1837 }1838 }1839 function promap(method) {1840 return function(l, r) {1841 if(!isFunction(l) || !isFunction(r)) {1842 throw new TypeError(("Arrow." + method + ": Functions required for both arguments"))1843 }1844 return Arrow(function (x) { return r(runWith(l(x))); })1845 }1846 }1847 function first() {1848 return Arrow(function(x) {1849 if(!isSameType(Pair, x)) {1850 throw TypeError('Arrow.first: Pair required for inner argument')1851 }1852 return x.bimap(runWith, function (x) { return x; })1853 })1854 }1855 function second() {1856 return Arrow(function(x) {1857 if(!isSameType(Pair, x)) {1858 throw TypeError('Arrow.second: Pair required for inner argument')1859 }1860 return x.bimap(function (x) { return x; }, runWith)1861 })1862 }1863 function both() {1864 return Arrow(function(x) {1865 if(!isSameType(Pair, x)) {1866 throw TypeError('Arrow.both: Pair required for inner argument')1867 }1868 return x.bimap(runWith, runWith)1869 })1870 }1871 return ( obj = {1872 inspect: inspect, toString: inspect, type: type,1873 runWith: runWith, id: id, first: first, second: second, both: both,1874 compose: compose('compose'),1875 map: map('map'),1876 contramap: contramap('contramap'),1877 promap: promap('promap')1878 }, obj[fl.id] = id, obj[fl.compose] = compose(fl.compose), obj[fl.map] = map(fl.map), obj[fl.contramap] = contramap(fl.contramap), obj[fl.promap] = promap(fl.promap), obj['@@type'] = _type, obj.constructor = Arrow, obj )1879}1880Arrow.id = _id1881Arrow.type = type1882Arrow[fl.id] = _id1883Arrow['@@type'] = _type1884Arrow['@@implements'] = _implements(1885 [ 'compose', 'contramap', 'id', 'map', 'promap' ]1886)1887module.exports = Arrow1888/***/ }),1889/* 112 */1890/***/ (function(module, exports) {1891/** @license ISC License (c) copyright 2017 original and current authors */1892/** @author Ian Hofmann-Hicks (evil) */1893var fulfills =1894 function (algs) { return function (test) { return algs.indexOf(test) !== -1; }; }1895module.exports = fulfills1896/***/ }),1897/* 113 */1898/***/ (function(module, exports, __webpack_require__) {1899/** @license ISC License (c) copyright 2016 original and current authors */1900/** @author Ian Hofmann-Hicks (evil) */1901var isArray = __webpack_require__(45)1902var isFunction = __webpack_require__(4)1903var isObject = __webpack_require__(31)1904var isString = __webpack_require__(36)1905var isSymbol = __webpack_require__(101)1906var isDate = __webpack_require__(68)1907function arrayInspect(xs) {1908 return xs.length1909 ? xs.map(inspect).reduce(function (a, x) { return a + ',' + x; })1910 : xs1911}1912// inspect : a -> String1913function inspect(x) {1914 if(x && isFunction(x.inspect)) {1915 return (" " + (x.inspect()))1916 }1917 if(isFunction(x)) {1918 return ' Function'1919 }1920 if(isArray(x)) {1921 return (" [" + (arrayInspect(x)) + " ]")1922 }1923 if(isObject(x)) {1924 return (" { " + (Object.keys(x).reduce(function (acc, key) {1925 return acc.concat([ (key + ":" + (inspect(x[key]))) ])1926 }, []).join(', ')) + " }")1927 }1928 if(isString(x)) {1929 return (" \"" + x + "\"")1930 }1931 if(isSymbol(x) || isDate(x)) {1932 return (" " + (x.toString()))1933 }1934 return (" " + x)1935}1936module.exports = inspect1937/***/ }),1938/* 114 */1939/***/ (function(module, exports, __webpack_require__) {1940/** @license ISC License (c) copyright 2017 original and current authors */1941/** @author Ian Hofmann-Hicks (evil) */1942var VERSION = 51943var _implements = __webpack_require__(112)1944var _inspect = __webpack_require__(113)1945var type = __webpack_require__(17).type('Async')1946var _type = __webpack_require__(17).typeFn(type(), VERSION)1947var fl = __webpack_require__(34)1948var array = __webpack_require__(115)1949var compose = __webpack_require__(7)1950var once = __webpack_require__(118)1951var unit = __webpack_require__(119)1952var isArray = __webpack_require__(45)1953var isFoldable = __webpack_require__(43)1954var isFunction = __webpack_require__(4)1955var isInteger = __webpack_require__(39)1956var isPromise = __webpack_require__(93)1957var isSameType = __webpack_require__(18)1958var allAsyncs = function (xs) { return xs.reduce(function (acc, x) { return acc && isSameType(Async, x); }, true); }1959var _of =1960 function (x) { return Async(function (_, resolve) { return resolve(x); }); }1961var Rejected =1962 function (x) { return Async(function (reject) { return reject(x); }); }1963function all(asyncs) {1964 if(!(isFoldable(asyncs) && allAsyncs(asyncs))) {1965 throw new TypeError('Async.all: Foldable structure of Asyncs required')1966 }1967 if(isArray(asyncs)) {1968 return array.sequence(Async.of, asyncs)1969 }1970 return asyncs.sequence(Async.of)1971}1972function fromNode(fn, ctx) {1973 if(!isFunction(fn)) {1974 throw new TypeError('Async.fromNode: CPS function required')1975 }1976 return function () {1977 var args = [], len = arguments.length;1978 while ( len-- ) args[ len ] = arguments[ len ];1979 return Async(function (reject, resolve) {1980 fn.apply(ctx,1981 args.concat(1982 function (err, data) { return err ? reject(err) : resolve(data); }1983 )1984 )1985 });1986 }1987}1988function fromPromise(fn) {1989 if(!isFunction(fn)) {1990 throw new TypeError('Async.fromPromise: Promise returning function required')1991 }1992 return function() {1993 var promiseArgs = arguments1994 return Async(function(reject, resolve) {1995 var promise = fn.apply(null, promiseArgs)1996 if(!isPromise(promise)) {1997 throw new TypeError('Async.fromPromise: Promise returning function required')1998 }1999 promise2000 .then(resolve, reject)2001 })2002 }2003}2004function rejectAfter(ms, value) {2005 if(!(isInteger(ms) && ms >= 0)) {2006 throw new TypeError(2007 'Async.rejectAfter: Positive Integer required for first argument'2008 )2009 }2010 return Async(function (rej) {2011 var token = setTimeout(function () {2012 rej(value)2013 }, ms)2014 return function () { clearTimeout(token) }2015 })2016}2017function resolveAfter(ms, value) {2018 if(!(isInteger(ms) && ms >= 0)) {2019 throw new TypeError(2020 'Async.resolveAfter: Positive Integer required for first argument'2021 )2022 }2023 return Async(function (_, res) {2024 var token = setTimeout(function () {2025 res(value)2026 }, ms)2027 return function () { clearTimeout(token) }2028 })2029}2030function Async(fn) {2031 var obj;2032 if(!isFunction(fn)) {2033 throw new TypeError('Async: Function required')2034 }2035 var of =2036 _of2037 var inspect =2038 function () { return ("Async" + (_inspect(fn))); }2039 function fork(reject, resolve, cleanup) {2040 if(!isFunction(reject) || !isFunction(resolve)) {2041 throw new TypeError('Async.fork: Reject and resolve functions required')2042 }2043 var cancelled = false2044 var settled = false2045 var cancel =2046 function () { cancelled = true }2047 var forkCancel =2048 isFunction(cleanup) ? cleanup : unit2049 var settle = function (f, x) {2050 if(!settled) {2051 settled = true2052 if(cancelled) {2053 return unit()2054 }2055 return f(x)2056 }2057 }2058 var internal = fn(2059 settle.bind(null, reject),2060 settle.bind(null, resolve)2061 )2062 var internalFn = isFunction(internal) ? internal : unit2063 return once(function () { return forkCancel(cancel(internalFn())); })2064 }2065 function toPromise() {2066 return new Promise(function(resolve, reject) {2067 fork(reject, resolve)2068 })2069 }2070 function race(m) {2071 if(!isSameType(Async, m)) {2072 throw new TypeError('Async.race: Async required')2073 }2074 return Async(function(reject, resolve) {2075 var settle = once(2076 function (resolved, value) { return resolved ? resolve(value) : reject(value); }2077 )2078 var res = settle.bind(null, true)2079 var rej = settle.bind(null, false)2080 var cancelOne = fork(rej, res)2081 var cancelTwo = m.fork(rej, res)2082 return function () { cancelOne(); cancelTwo() }2083 })2084 }2085 function swap(l, r) {2086 if(!isFunction(l) || !isFunction(r)) {2087 throw new TypeError('Async.swap: Functions required for both arguments')2088 }2089 return Async(function(reject, resolve) {2090 return fork(2091 compose(resolve, l),2092 compose(reject, r)2093 )2094 })2095 }2096 function coalesce(l, r) {2097 if(!isFunction(l) || !isFunction(r)) {2098 throw new TypeError('Async.coalesce: Functions required for both arguments')2099 }2100 return Async(function(reject, resolve) {2101 return fork(2102 compose(resolve, l),2103 compose(resolve, r)2104 )2105 })2106 }2107 function map(method) {2108 return function(mapFn) {2109 if(!isFunction(mapFn)) {2110 throw new TypeError(("Async." + method + ": Function required"))2111 }2112 return Async(function(reject, resolve) {2113 return fork(reject, compose(resolve, mapFn))2114 })2115 }2116 }2117 function bimap(method) {2118 return function(l, r) {2119 if(!isFunction(l) || !isFunction(r)) {2120 throw new TypeError(("Async." + method + ": Functions required for both arguments"))2121 }2122 return Async(function(reject, resolve) {2123 return fork(2124 compose(reject, l),2125 compose(resolve, r)2126 )2127 })2128 }2129 }2130 function alt(method) {2131 return function(m) {2132 if(!isSameType(Async, m)) {2133 throw new TypeError(("Async." + method + ": Async required"))2134 }2135 return Async(function (rej, res) {2136 var cancel = unit2137 var innerCancel = unit2138 cancel = fork(2139 function () { innerCancel = m.fork(rej, res) },2140 res2141 )2142 return once(function () { return innerCancel(cancel()); })2143 })2144 }2145 }2146 function ap(m) {2147 if(!isSameType(Async, m)) {2148 throw new TypeError('Async.ap: Async required')2149 }2150 return Async(function(reject, resolve) {2151 var apFn = null2152 var value = null2153 var fnDone = false2154 var valueDone = false2155 var cancelled = false2156 var cancel = function () { cancelled = true }2157 var rejectOnce = once(reject)2158 function resolveBoth() {2159 if(!cancelled && fnDone && valueDone) {2160 compose(resolve, apFn)(value)2161 }2162 }2163 var fnCancel = fork(rejectOnce, function(f) {2164 if(!isFunction(f)) {2165 throw new TypeError('Async.ap: Wrapped value must be a function')2166 }2167 fnDone = true2168 apFn = f2169 resolveBoth()2170 })2171 var valueCancel = m.fork(rejectOnce, function (x) {2172 valueDone = true2173 value = x2174 resolveBoth()2175 })2176 return function () { fnCancel(); valueCancel(); cancel() }2177 })2178 }2179 function chain(method) {2180 return function(mapFn) {2181 if(!isFunction(mapFn)) {2182 throw new TypeError(2183 ("Async." + method + ": Async returning function required")2184 )2185 }2186 return Async(function(reject, resolve) {2187 var cancel = unit2188 var innerCancel = unit2189 cancel = fork(reject, function(x) {2190 var m = mapFn(x)2191 if(!isSameType(Async, m)) {2192 throw new TypeError(2193 ("Async." + method + ": Function must return another Async")2194 )2195 }2196 innerCancel = m.fork(reject, resolve)2197 })2198 return once(function () { return innerCancel(cancel()); })2199 })2200 }2201 }2202 function bichain(l, r) {2203 var bichainErr = 'Async.bichain: Both arguments must be Async returning functions'2204 if(!isFunction(l) || !isFunction(r)) {2205 throw new TypeError(bichainErr)2206 }2207 return Async(function(rej, res) {2208 var cancel = unit2209 var innerCancel = unit2210 function setInnerCancel(mapFn) {2211 return function(x) {2212 var m = mapFn(x)2213 if(!isSameType(Async, m)) {2214 throw new TypeError(bichainErr)2215 }2216 innerCancel = m.fork(rej, res)2217 }2218 }2219 cancel = fork(setInnerCancel(l), setInnerCancel(r))2220 return once(function () { return innerCancel(cancel()); })2221 })2222 }2223 return ( obj = {2224 fork: fork, toPromise: toPromise, inspect: inspect,2225 toString: inspect, type: type,2226 swap: swap, race: race, coalesce: coalesce, ap: ap,2227 of: of,2228 alt: alt('alt'),2229 bimap: bimap('bimap'),2230 map: map('map'),2231 chain: chain('chain'),2232 bichain: bichain2233 }, obj[fl.of] = of, obj[fl.alt] = alt(fl.alt), obj[fl.bimap] = bimap(fl.bimap), obj[fl.map] = map(fl.map), obj[fl.chain] = chain(fl.chain), obj['@@type'] = _type, obj.constructor = Async, obj )2234}2235Async.of = _of2236Async.type = type2237Async[fl.of] = _of2238Async['@@type'] = _type2239Async.Rejected = Rejected2240Async.Resolved = _of2241Async.fromPromise = fromPromise2242Async.fromNode = fromNode2243Async.all = all2244Async.rejectAfter = rejectAfter2245Async.resolveAfter = resolveAfter2246Async['@@implements'] = _implements(2247 [ 'alt', 'ap', 'bimap', 'chain', 'map', 'of' ]2248)2249module.exports = Async2250/***/ }),2251/* 115 */2252/***/ (function(module, exports, __webpack_require__) {2253/** @license ISC License (c) copyright 2017 original and current authors */2254/** @author Ian Hofmann-Hicks (evil) */2255var isApply = __webpack_require__(51)2256var isArray = __webpack_require__(45)2257var isEmpty = __webpack_require__(30)2258var isFunction = __webpack_require__(4)2259var isSameType = __webpack_require__(18)2260var isSemigroup = __webpack_require__(35)2261var apOrFunc = __webpack_require__(116)2262var identity =2263 function (x) { return x; }2264var concat =2265 function (x) { return function (m) { return x.concat(m); }; }2266function runTraverse(name, fn) {2267 return function(acc, x) {2268 var m = fn(x)2269 if(!((isApply(acc) || isArray(acc)) && isSameType(acc, m))) {2270 throw new TypeError(("Array." + name + ": Must wrap Applys of the same type"))2271 }2272 if(isArray(m)) {2273 return ap(acc, map(function (v) { return concat([ v ]); }, m))2274 }2275 return m2276 .map(function (v) { return concat([ v ]); })2277 .ap(acc)2278 }2279}2280var allFuncs =2281 function (xs) { return xs.reduce(function (b, i) { return b && isFunction(i); }, true); }2282var map =2283 function (f, m) { return m.map(function (x) { return f(x); }); }2284function ap(x, m) {2285 if(!(m.length && allFuncs(m))) {2286 throw new TypeError('Array.ap: Second Array must all be functions')2287 }2288 return m.reduce(function (acc, f) { return acc.concat(map(f, x)); }, [])2289}2290function chain(f, m) {2291 return m.reduce(function(y, x) {2292 var n = f(x)2293 if(!isArray(n)) {2294 throw new TypeError('Array.chain: Function must return an Array')2295 }2296 return y.concat(n)2297 }, [])2298}2299function sequence(f, m) {2300 var fn = apOrFunc(f)2301 return m.reduceRight(runTraverse('sequence', identity), fn([]))2302}2303function traverse(f, fn, m) {2304 var af = apOrFunc(f)2305 return m.reduceRight(runTraverse('traverse', fn), af([]))2306}2307function fold(m) {2308 if(isEmpty(m)) {2309 throw new TypeError(2310 'Array.fold: Non-empty Array of Semigroups required'2311 )2312 }2313 var head =2314 m[0]2315 if(!isSemigroup(head)) {2316 throw new TypeError('Array.fold: Must contain Semigroups of the same type')2317 }2318 return m.reduce(function(x, y) {2319 if(!isSameType(x, y)) {2320 throw new TypeError('Array.fold: Must contain Semigroups of the same type')2321 }2322 return x.concat(y)2323 })2324}2325function foldMap(fn, m) {2326 if(isEmpty(m)) {2327 throw new TypeError(2328 'Array.foldMap: Non-empty Array required'2329 )2330 }2331 var head =2332 fn(m[0])2333 if(!isSemigroup(head)) {2334 throw new TypeError(2335 'Array.foldMap: Provided function must return Semigroups of the same type'2336 )2337 }2338 return m.length === 12339 ? head2340 : m.slice(1).reduce(function(semi, x) {2341 var val = fn(x)2342 if(!(isSameType(semi, val) && isSemigroup(val))) {2343 throw new TypeError(2344 'Array.foldMap: Provided function must return Semigroups of the same type'2345 )2346 }2347 return semi.concat(val)2348 }, head)2349}2350function set(indx, val, m) {2351 var arr = m.slice()2352 arr[indx] = val2353 return arr2354}2355function unset(indx, m) {2356 return m.slice(0, indx)2357 .concat(m.slice(indx + 1))2358}2359module.exports = {2360 ap: ap, chain: chain, fold: fold,2361 foldMap: foldMap, map: map,2362 sequence: sequence, set: set,2363 traverse: traverse, unset: unset2364}2365/***/ }),2366/* 116 */2367/***/ (function(module, exports, __webpack_require__) {2368/** @license ISC License (c) copyright 2018 original and current authors */2369/** @author Ian Hofmann-Hicks (evil) */2370var isApplicative = __webpack_require__(50)2371var isTypeRepOf = __webpack_require__(117)2372var apOrFunc = function (af) { return function (x) { return isApplicative(af)2373 ? af.of(x)2374 : isTypeRepOf(Array, af) ? [ x ] : af(x); }; }2375module.exports = apOrFunc2376/***/ }),2377/* 117 */2378/***/ (function(module, exports, __webpack_require__) {2379/** @license ISC License (c) copyright 2018 original and current authors */2380/** @author Ian Hofmann-Hicks (evil) */2381var isFunction = __webpack_require__(4)2382var isTypeRepOf = function (x, y) { return isFunction(y)2383 && (x === y || x.name === y.name); }2384module.exports = isTypeRepOf2385/***/ }),2386/* 118 */2387/***/ (function(module, exports) {2388/** @license ISC License (c) copyright 2017 original and current authors */2389/** @author Ian Hofmann-Hicks (evil) */2390// once : ((*) -> b) -> ((*) -> b)2391function once(fn) {2392 var called, result2393 return function() {2394 if(!called) {2395 called = true2396 result = fn.apply(null, arguments)2397 }2398 return result2399 }2400}2401module.exports = once2402/***/ }),2403/* 119 */2404/***/ (function(module, exports) {2405/** @license ISC License (c) copyright 2017 original and current authors */2406/** @author Ian Hofmann-Hicks (evil) */2407module.exports =2408 Function.prototype2409/***/ }),2410/* 120 */2411/***/ (function(module, exports, __webpack_require__) {2412/** @license ISC License (c) copyright 2016 original and current authors */2413/** @author Ian Hofmann-Hicks (evil) */2414var VERSION = 32415var _equals = __webpack_require__(37)2416var _implements = __webpack_require__(112)2417var _inspect = __webpack_require__(113)2418var _type = __webpack_require__(17).type('Const')2419var typeFn = __webpack_require__(17).typeFn2420var fl = __webpack_require__(34)2421var isFunction = __webpack_require__(4)2422var isMonoid = __webpack_require__(32)2423var isSameType = __webpack_require__(18)2424var isSemigroup = __webpack_require__(35)2425var typeOrName =2426 function (m) { return isFunction(m.type) ? m.type() : m.name; }2427var constant = function (x) { return function () { return x; }; }2428var empties = {2429 Array: function () { return []; },2430 String: function () { return ''; }2431}2432var getEmpty = function (T) { return T[fl.empty] || T.empty || empties[T.name]; }2433var validMonoid = function (T) { return isMonoid(T) || T.name === 'String' || T.name === 'Array'; }2434function _Const(T) {2435 if(!isFunction(T)) {2436 throw new TypeError('Const: TypeRep required for construction')2437 }2438 var type =2439 constant(_type(typeOrName(T)))2440 var typeString =2441 typeFn('Const', VERSION, typeOrName(T))2442 function empty(method) {2443 return function() {2444 if(!validMonoid(T)) {2445 throw new TypeError(((type()) + "." + method + ": Must be fixed to a Monoid"))2446 }2447 return Const(getEmpty(T)())2448 }2449 }2450 function of(method) {2451 return function() {2452 if(!validMonoid(T)) {2453 throw new TypeError(((type()) + "." + method + ": Must be fixed to a Monoid"))2454 }2455 return Const(getEmpty(T)())2456 }2457 }2458 function Const(value) {2459 var obj;2460 if(!isSameType(T, value)) {2461 throw new TypeError(((type()) + ": " + (typeOrName(T)) + " required"))2462 }2463 var inspect =2464 constant(("" + (type()) + (_inspect(value))))2465 var valueOf =2466 constant(value)2467 var equals =2468 function (m) { return isSameType(Const, m)2469 && _equals(value, m.valueOf()); }2470 function concat(method) {2471 return function(m) {2472 if(!isSemigroup(value)) {2473 throw new TypeError(((type()) + "." + method + ": Must be fixed to a Semigroup"))2474 }2475 if(!isSameType(Const, m)) {2476 throw new TypeError(((type()) + "." + method + ": " + (type()) + " required"))2477 }2478 return Const(value.concat(m.valueOf()))2479 }2480 }2481 function map(method) {2482 return function(fn) {2483 if(!isFunction(fn)) {2484 throw new TypeError(((type()) + "." + method + ": Function required"))2485 }2486 return Const(value)2487 }2488 }2489 function ap(m) {2490 if(!isSemigroup(value)) {2491 throw new TypeError(((type()) + ".ap: Must be fixed to a Semigroup"))2492 }2493 if(!isSameType(Const, m)) {2494 throw new TypeError(((type()) + ".ap: " + (type()) + " required"))2495 }2496 return Const(value.concat(m.valueOf()))2497 }2498 return ( obj = {2499 inspect: inspect, toString: inspect,2500 valueOf: valueOf, type: type, ap: ap, equals: equals,2501 concat: concat('concat'),2502 empty: empty('empty'),2503 map: map('map'),2504 of: of('of')2505 }, obj[fl.concat] = concat(fl.concat), obj[fl.empty] = empty(fl.empty), obj[fl.equals] = equals, obj[fl.map] = map(fl.map), obj[fl.of] = of(fl.of), obj['@@type'] = typeString, obj.constructor = Const, obj )2506 }2507 Const.empty = empty('empty')2508 Const.of = of('of')2509 Const.type = type2510 Const[fl.empty] = empty(fl.empty)2511 Const[fl.of] = of(fl.of)2512 Const['@@type'] = typeString2513 Const['@@implements'] = _implements(2514 [ 'ap', 'concat', 'empty', 'equals', 'map', 'of' ]2515 )2516 return Const2517}2518module.exports = _Const2519/***/ }),2520/* 121 */2521/***/ (function(module, exports, __webpack_require__) {2522/** @license ISC License (c) copyright 2016 original and current authors */2523/** @author Ian Hofmann-Hicks (evil) */2524var VERSION = 42525var _defineUnion = __webpack_require__(122)2526var _equals = __webpack_require__(37)2527var _implements = __webpack_require__(112)2528var _innerConcat = __webpack_require__(123)2529var _inspect = __webpack_require__(113)2530var type = __webpack_require__(17).type('Either')2531var _type = __webpack_require__(17).typeFn(type(), VERSION)2532var fl = __webpack_require__(34)2533var apOrFunc = __webpack_require__(116)2534var compose = __webpack_require__(7)2535var isArray = __webpack_require__(45)2536var isApplicative = __webpack_require__(50)2537var isApply = __webpack_require__(51)2538var isFunction = __webpack_require__(4)2539var isSameType = __webpack_require__(18)2540var constant =2541 function (x) { return function () { return x; }; }2542var _either =2543 _defineUnion({ Left: [ 'a' ], Right: [ 'b' ] })2544var Left = _either.Left;2545var Right = _either.Right;2546Either.Left =2547 compose(Either, Left)2548Either.Right =2549 compose(Either, Right)2550var _of =2551 Either.Right2552function runSequence(x) {2553 if(!(isApply(x) || isArray(x))) {2554 throw new TypeError('Either.sequence: Must wrap an Apply')2555 }2556 return x.map(_of)2557}2558function Either(u) {2559 var obj;2560 if(!arguments.length) {2561 throw new TypeError('Either: Must wrap something, try using Left or Right constructors')2562 }2563 var x = !_either.includes(u)2564 ? Right(u)2565 : u2566 var equals =2567 function (m) { return isSameType(Either, m) && either(2568 function (x) { return m.either(function (y) { return _equals(y, x); }, constant(false)); },2569 function (x) { return m.either(constant(false), function (y) { return _equals(y, x); }); }2570 ); }2571 var of =2572 _of2573 var inspect = function () { return either(2574 function (l) { return ("Left" + (_inspect(l))); },2575 function (r) { return ("Right" + (_inspect(r))); }2576 ); }2577 function either(f, g) {2578 if(!isFunction(f) || !isFunction(g)) {2579 throw new TypeError('Either.either: Requires both left and right functions')2580 }2581 return _either.caseOf({2582 Left: f,2583 Right: g2584 }, x)2585 }2586 function concat(method) {2587 return function(m) {2588 if(!isSameType(Either, m)) {2589 throw new TypeError(("Either." + method + ": Either of Semigroup required"))2590 }2591 return either(2592 Either.Left,2593 _innerConcat(("Either." + method), m)2594 )2595 }2596 }2597 function swap(f, g) {2598 if(!isFunction(f) || !isFunction(g)) {2599 throw new TypeError('Either.swap: Requires both left and right functions')2600 }2601 return either(2602 compose(Either.Right, f),2603 compose(Either.Left, g)2604 )2605 }2606 function coalesce(f, g) {2607 if(!isFunction(f) || !isFunction(g)) {2608 throw new TypeError('Either.coalesce: Requires both left and right functions')2609 }2610 return Either.Right(either(f, g))2611 }2612 function bichain(l, r) {2613 var bichainErr =2614 'Either.bichain: Both arguments must be Either returning functions'2615 if(!(isFunction(l) && isFunction(r))) {2616 throw new TypeError(bichainErr)2617 }2618 var m = either(l, r)2619 if(!isSameType(Either, m)) {2620 throw new TypeError(bichainErr)2621 }2622 return m2623 }2624 function map(method) {2625 return function(fn) {2626 if(!isFunction(fn)) {2627 throw new TypeError(("Either." + method + ": Function required"))2628 }2629 return either(Either.Left, compose(Either.Right, fn))2630 }2631 }2632 function bimap(method) {2633 return function(f, g) {2634 if(!isFunction(f) || !isFunction(g)) {2635 throw new TypeError(("Either." + method + ": Requires both left and right functions"))2636 }2637 return either(2638 compose(Either.Left, f),2639 compose(Either.Right, g)2640 )2641 }2642 }2643 function alt(method) {2644 return function(m) {2645 if(!isSameType(Either, m)) {2646 throw new TypeError(("Either." + method + ": Either required"))2647 }2648 return either(2649 constant(m),2650 Either.Right2651 )2652 }2653 }2654 function ap(m) {2655 if(!either(constant(true), isFunction)) {2656 throw new TypeError('Either.ap: Wrapped value must be a function')2657 }2658 else if(!either(constant(true), constant(isSameType(Either, m)))) {2659 throw new TypeError('Either.ap: Either required')2660 }2661 return either(2662 Either.Left,2663 function (fn) { return m.map(fn); }2664 )2665 }2666 function chain(method) {2667 return function(fn) {2668 if(!isFunction(fn)) {2669 throw new TypeError(("Either." + method + ": Function required"))2670 }2671 var m = either(Either.Left, fn)2672 if(!isSameType(Either, m)) {2673 throw new TypeError(("Either." + method + ": Function must return an Either"))2674 }2675 return m2676 }2677 }2678 function sequence(f) {2679 if(!(isApplicative(f) || isFunction(f))) {2680 throw new TypeError(2681 'Either.sequence: Applicative TypeRep or Apply returning function required'2682 )2683 }2684 var af =2685 apOrFunc(f)2686 return either(2687 compose(af, Either.Left),2688 runSequence2689 )2690 }2691 function traverse(f, fn) {2692 if(!(isApplicative(f) || isFunction(f))) {2693 throw new TypeError(2694 'Either.traverse: Applicative TypeRep or Apply returning function required for first argument'2695 )2696 }2697 if(!isFunction(fn)) {2698 throw new TypeError(2699 'Either.traverse: Apply returning function required for second argument'2700 )2701 }2702 var af =2703 apOrFunc(f)2704 var m =2705 either(compose(af, Either.Left), fn)2706 if(!(isApply(m) || isArray(m))) {2707 throw new TypeError(2708 'Either.traverse: Both functions must return an Apply of the same type'2709 )2710 }2711 return either(2712 constant(m),2713 constant(m.map(_of))2714 )2715 }2716 return ( obj = {2717 inspect: inspect, toString: inspect, either: either,2718 type: type, swap: swap, coalesce: coalesce, bichain: bichain,2719 equals: equals, ap: ap, of: of, sequence: sequence, traverse: traverse,2720 alt: alt('alt'),2721 bimap: bimap('bimap'),2722 concat: concat('concat'),2723 chain: chain('chain'),2724 map: map('map')2725 }, obj[fl.of] = of, obj[fl.equals] = equals, obj[fl.alt] = alt(fl.alt), obj[fl.bimap] = bimap(fl.bimap), obj[fl.concat] = concat(fl.concat), obj[fl.map] = map(fl.map), obj[fl.chain] = chain(fl.chain), obj['@@type'] = _type, obj.constructor = Either, obj )2726}2727Either.of = _of2728Either.type = type2729Either[fl.of] = _of2730Either['@@type'] = _type2731Either['@@implements'] = _implements(2732 [ 'alt', 'ap', 'bimap', 'chain', 'concat', 'equals', 'map', 'of', 'traverse' ]2733)2734module.exports = Either2735/***/ }),2736/* 122 */2737/***/ (function(module, exports, __webpack_require__) {2738/** @license ISC License (c) copyright 2016 original and current authors */2739/** @author Ian Hofmann-Hicks (evil) */2740var curry = __webpack_require__(3)2741var isArray = __webpack_require__(45)2742var isEmpty = __webpack_require__(30)2743var isFunction = __webpack_require__(4)2744var isObject = __webpack_require__(31)2745var isString = __webpack_require__(36)2746var constant = function (x) { return function () { return x; }; }2747var isDefinition =2748 function (x) { return isString(x) && x.length; }2749function caseOf(defs) {2750 return function(cases, m) {2751 var tag = m.tag2752 var def = defs[tag()]2753 var args = def.reduce(2754 function (xs, x) { return xs.concat([ m[x].value() ]); },2755 []2756 )2757 return cases[tag()].apply(null, args)2758 }2759}2760var includes =2761 function (defs) { return function (m) { return !!m && isFunction(m.tag) && Object.keys(defs).indexOf(m.tag()) !== -1; }; }2762function construction(def, tag) {2763 return function() {2764 var args = [], len = arguments.length;2765 while ( len-- ) args[ len ] = arguments[ len ];2766 return def.reduce(function(obj, key, index) {2767 obj[key] = { value: constant(args[index]) }2768 return obj2769 }, { tag: constant(tag) })2770 }2771}2772function defineUnion(defs) {2773 if(!isObject(defs) || isEmpty(defs)) {2774 throw new TypeError('defineUnion: Argument must be an Object containing definition lists')2775 }2776 return Object.keys(defs).reduce(function(obj, tag) {2777 var def = defs[tag]2778 if(!isArray(def) || !def.reduce(function (x, y) { return x && isDefinition(y); }, true)) {2779 throw new TypeError('defineUnion: Definitions must be a list of non-empty string identifiers')2780 }2781 obj[tag] = construction(def, tag)2782 return obj2783 }, { caseOf: curry(caseOf(defs)), includes: curry(includes(defs)) })2784}2785module.exports = defineUnion2786/***/ }),2787/* 123 */2788/***/ (function(module, exports, __webpack_require__) {2789/** @license ISC License (c) copyright 2017 original and current authors */2790/** @author Ian Hofmann-Hicks (evil) */2791var isSameType = __webpack_require__(18)2792var isSemigroup = __webpack_require__(35)2793function innerConcat(method, m) {2794 return function(left) {2795 if(!isSemigroup(left)) {2796 throw new TypeError((method + ": Both containers must contain Semigroups of the same type"))2797 }2798 return m.map(function (right) {2799 if(!isSameType(left, right)) {2800 throw new TypeError((method + ": Both containers must contain Semigroups of the same type"))2801 }2802 return left.concat(right)2803 })2804 }2805}2806module.exports = innerConcat2807/***/ }),2808/* 124 */2809/***/ (function(module, exports, __webpack_require__) {2810/** @license ISC License (c) copyright 2017 original and current authors */2811/** @author Ian Hofmann-Hicks (evil) */2812var VERSION = 22813var _implements = __webpack_require__(112)2814var _inspect = __webpack_require__(113)2815var curry = __webpack_require__(3)2816var isFunction = __webpack_require__(4)2817var isSameType = __webpack_require__(18)2818var type = __webpack_require__(17).type('Equiv')2819var _type = __webpack_require__(17).typeFn(type(), VERSION)2820var fl = __webpack_require__(34)2821var _empty =2822 function () { return Equiv(function () { return true; }); }2823function Equiv(compare) {2824 var obj;2825 if(!isFunction(compare)) {2826 throw new TypeError('Equiv: Comparison function required')2827 }2828 var compareWith = curry(2829 function (x, y) { return !!compare(x, y); }2830 )2831 var inspect =2832 function () { return ("Equiv" + (_inspect(compare))); }2833 var empty =2834 _empty2835 var valueOf =2836 function () { return compareWith; }2837 function contramap(method) {2838 return function(fn) {2839 if(!isFunction(fn)) {2840 throw new TypeError(("Equiv." + method + ": Function required"))2841 }2842 return Equiv(2843 function (x, y) { return compareWith(fn(x), fn(y)); }2844 )2845 }2846 }2847 function concat(method) {2848 return function(m) {2849 if(!isSameType(Equiv, m)) {2850 throw new TypeError(("Equiv." + method + ": Equiv required"))2851 }2852 return Equiv(function (x, y) { return compareWith(x, y) && m.compareWith(x, y); }2853 )2854 }2855 }2856 return ( obj = {2857 inspect: inspect, toString: inspect, type: type,2858 compareWith: compareWith, valueOf: valueOf, empty: empty,2859 concat: concat('concat'),2860 contramap: contramap('contramap')2861 }, obj[fl.empty] = empty, obj[fl.concat] = concat(fl.concat), obj[fl.contramap] = contramap(fl.contramap), obj['@@type'] = _type, obj.constructor = Equiv, obj )2862}2863Equiv.empty = _empty2864Equiv.type = type2865Equiv[fl.empty] = _empty2866Equiv['@@type'] = _type2867Equiv['@@implements'] = _implements(2868 [ 'concat', 'contramap', 'empty' ]2869)2870module.exports = Equiv2871/***/ }),2872/* 125 */2873/***/ (function(module, exports, __webpack_require__) {2874/** @license ISC License (c) copyright 2016 original and current authors */2875/** @author Ian Hofmann-Hicks (evil) */2876var VERSION = 32877var _equals = __webpack_require__(37)2878var _implements = __webpack_require__(112)2879var _innerConcat = __webpack_require__(123)2880var _inspect = __webpack_require__(113)2881var type = __webpack_require__(17).type('Identity')2882var _type = __webpack_require__(17).typeFn(type(), VERSION)2883var fl = __webpack_require__(34)2884var isArray = __webpack_require__(45)2885var isApply = __webpack_require__(51)2886var isApplicative = __webpack_require__(50)2887var isFunction = __webpack_require__(4)2888var isSameType = __webpack_require__(18)2889var _of =2890 Identity2891function Identity(x) {2892 var obj;2893 if(!arguments.length) {2894 throw new TypeError('Identity: Must wrap something')2895 }2896 var valueOf =2897 function () { return x; }2898 var of =2899 _of2900 var equals =2901 function (m) { return isSameType(Identity, m)2902 && _equals(x, m.valueOf()); }2903 var inspect =2904 function () { return ("Identity" + (_inspect(x))); }2905 function concat(method) {2906 return function(m) {2907 if(!isSameType(Identity, m)) {2908 throw new TypeError(("Identity." + method + ": Identity of Semigroup required"))2909 }2910 return _innerConcat(("Identity." + method), m)(x)2911 }2912 }2913 function map(method) {2914 return function(fn) {2915 if(!isFunction(fn)) {2916 throw new TypeError(("Identity." + method + ": Function required"))2917 }2918 return Identity(fn(x))2919 }2920 }2921 function ap(m) {2922 if(!isFunction(x)) {2923 throw new TypeError('Identity.ap: Wrapped value must be a function')2924 }2925 else if(!isSameType(Identity, m)) {2926 throw new TypeError('Identity.ap: Identity required')2927 }2928 return m.map(x)2929 }2930 function chain(method) {2931 return function(fn) {2932 if(!isFunction(fn)) {2933 throw new TypeError(("Identity." + method + ": Function required"))2934 }2935 var m = fn(x)2936 if(!isSameType(Identity, m)) {2937 throw new TypeError(("Identity." + method + ": Function must return an Identity"))2938 }2939 return m2940 }2941 }2942 function sequence(f) {2943 if(!(isApplicative(f) || isFunction(f))) {2944 throw new TypeError(2945 'Identity.sequence: Applicative TypeRep or Apply returning function required'2946 )2947 }2948 if(!(isApply(x) || isArray(x))) {2949 throw new TypeError('Identity.sequence: Must wrap an Apply')2950 }2951 return x.map(_of)2952 }2953 function traverse(f, fn) {2954 if(!(isApplicative(f) || isFunction(f))) {2955 throw new TypeError(2956 'Identity.traverse: Applicative TypeRep or Apply returning function required for first argument'2957 )2958 }2959 if(!isFunction(fn)) {2960 throw new TypeError(2961 'Identity.traverse: Apply returning functions required for second argument'2962 )2963 }2964 var m = fn(x)2965 if(!(isApply(m) || isArray(m))) {2966 throw new TypeError(2967 'Identity.traverse: Both functions must return an Apply of the same type'2968 )2969 }2970 return m.map(_of)2971 }2972 return ( obj = {2973 inspect: inspect, toString: inspect, valueOf: valueOf,2974 type: type, equals: equals, ap: ap, of: of, sequence: sequence, traverse: traverse,2975 concat: concat('concat'),2976 map: map('map'),2977 chain: chain('chain')2978 }, obj[fl.of] = of, obj[fl.equals] = equals, obj[fl.concat] = concat(fl.concat), obj[fl.map] = map(fl.map), obj[fl.chain] = chain(fl.chain), obj['@@type'] = _type, obj.constructor = Identity, obj )2979}2980Identity.of = _of2981Identity.type = type2982Identity[fl.of] = _of2983Identity['@@type'] = _type2984Identity['@@implements'] = _implements(2985 [ 'ap', 'chain', 'concat', 'equals', 'map', 'of', 'traverse' ]2986)2987module.exports = Identity2988/***/ }),2989/* 126 */2990/***/ (function(module, exports, __webpack_require__) {2991/** @license ISC License (c) copyright 2016 original and current authors */2992/** @author Ian Hofmann-Hicks (evil) */2993var VERSION = 22994var _implements = __webpack_require__(112)2995var _inspect = __webpack_require__(113)2996var type = __webpack_require__(17).type('IO')2997var _type = __webpack_require__(17).typeFn(type(), VERSION)2998var fl = __webpack_require__(34)2999var compose = __webpack_require__(7)3000var isFunction = __webpack_require__(4)3001var isSameType = __webpack_require__(18)3002var _of =3003 function (x) { return IO(function () { return x; }); }3004function IO(run) {3005 var obj;3006 if(!isFunction(run)) {3007 throw new TypeError('IO: Must wrap a function')3008 }3009 var of =3010 _of3011 var inspect =3012 function () { return ("IO" + (_inspect(run))); }3013 function map(method) {3014 return function(fn) {3015 if(!isFunction(fn)) {3016 throw new TypeError(("IO." + method + ": Function required"))3017 }3018 return IO(compose(fn, run))3019 }3020 }3021 function ap(m) {3022 if(!isSameType(IO, m)) {3023 throw new TypeError('IO.ap: IO required')3024 }3025 return IO(function () {3026 var fn = run()3027 if(!isFunction(fn)) {3028 throw new TypeError('IO.ap: Wrapped value must be a function')3029 }3030 return m.map(fn).run()3031 })3032 }3033 function chain(method) {3034 return function(fn) {3035 if(!isFunction(fn)) {3036 throw new TypeError(("IO." + method + ": Function required"))3037 }3038 return IO(function() {3039 var m = fn(run())3040 if(!isSameType(IO, m)) {3041 throw new TypeError(("IO." + method + ": Function must return an IO"))3042 }3043 return m.run()3044 })3045 }3046 }3047 return ( obj = {3048 inspect: inspect, toString: inspect,3049 run: run, type: type, ap: ap, of: of,3050 map: map('map'),3051 chain: chain('chain')3052 }, obj[fl.of] = of, obj[fl.map] = map(fl.map), obj[fl.chain] = chain(fl.chain), obj['@@type'] = _type, obj.constructor = IO, obj )3053}3054IO.of = _of3055IO.type = type3056IO[fl.of] = _of3057IO['@@type'] = _type3058IO['@@implements'] = _implements(3059 [ 'ap', 'chain', 'map', 'of' ]3060)3061module.exports = IO3062/***/ }),3063/* 127 */3064/***/ (function(module, exports, __webpack_require__) {3065/** @license ISC License (c) copyright 2016 original and current authors */3066/** @author Ian Hofmann-Hicks (evil) */3067module.exports =3068 __webpack_require__(128)3069/***/ }),3070/* 128 */3071/***/ (function(module, exports, __webpack_require__) {3072/** @license ISC License (c) copyright 2016 original and current authors */3073/** @author Ian Hofmann-Hicks (evil) */3074var VERSION = 43075var _equals = __webpack_require__(37)3076var _implements = __webpack_require__(112)3077var _inspect = __webpack_require__(113)3078var type = __webpack_require__(17).type('List')3079var _type = __webpack_require__(17).typeFn(type(), VERSION)3080var fl = __webpack_require__(34)3081var array = __webpack_require__(115)3082var apOrFunc = __webpack_require__(116)3083var isApplicative = __webpack_require__(50)3084var isApply = __webpack_require__(51)3085var isArray = __webpack_require__(45)3086var isEmpty = __webpack_require__(30)3087var isFunction = __webpack_require__(4)3088var isPredOrFunc = __webpack_require__(16)3089var isSameType = __webpack_require__(18)3090var isSemigroup = __webpack_require__(35)3091var predOrFunc = __webpack_require__(20)3092var not =3093 function (fn) { return function (x) { return !fn(x); }; }3094var _prepend =3095 function (x) { return function (m) { return x.concat(m); }; }3096var ref = __webpack_require__(129);3097var Nothing = ref.Nothing;3098var Just = ref.Just;3099var _of =3100 function (x) { return List([ x ]); }3101var _empty =3102 function () { return List([]); }3103function fromArray(xs) {3104 if(!isArray(xs)) {3105 throw new TypeError('List.fromArray: Array required')3106 }3107 return xs.reduce(function (res, x) { return res.concat(List.of(x)); }, List.empty())3108}3109function applyTraverse(x, y) {3110 if(isArray(x)) {3111 return array.ap(x, array.map(function (v) { return _prepend(List.of(v)); }, y))3112 }3113 return y3114 .map(function (v) { return _prepend(List.of(v)); })3115 .ap(x)3116}3117function runSequence(acc, x) {3118 if(!((isApply(acc) || isArray(acc)) && isSameType(acc, x))) {3119 throw new TypeError(3120 'List.sequence: Must wrap Applys of the same type'3121 )3122 }3123 return applyTraverse(acc, x)3124}3125function runTraverse(f) {3126 return function(acc, x) {3127 var m = f(x)3128 if(!((isApply(acc) || isArray(acc)) && isSameType(acc, m))) {3129 throw new TypeError('List.traverse: Both functions must return an Apply of the same type')3130 }3131 return applyTraverse(acc, m)3132 }3133}3134function List(x) {3135 var obj;3136 if(!arguments.length) {3137 throw new TypeError('List: List must wrap something')3138 }3139 var xs =3140 isArray(x) ? x.slice() : [ x ]3141 function flatMap(method, fn) {3142 return function(y, x) {3143 var m = fn(x)3144 if(!isSameType(List, m)) {3145 throw new TypeError(("List." + method + ": Function must return a List"))3146 }3147 return y.concat(m.valueOf())3148 }3149 }3150 var of =3151 _of3152 var valueOf =3153 function () { return xs.slice(); }3154 var toArray =3155 valueOf3156 var empty =3157 _empty3158 var inspect =3159 function () { return ("List" + (_inspect(xs))); }3160 var head =3161 function () { return xs.length3162 ? Just(xs[0])3163 : Nothing(); }3164 var tail =3165 function () { return xs.length && xs.length > 13166 ? Just(List(xs.slice(1)))3167 : Nothing(); }3168 var cons =3169 function (x) { return List([ x ].concat(xs)); }3170 var equals = function (m) { return isSameType(List, m)3171 && _equals(xs, m.valueOf()); }3172 function concat(method) {3173 return function(m) {3174 if(!isSameType(List, m)) {3175 throw new TypeError(("List." + method + ": List required"))3176 }3177 return List(xs.concat(m.valueOf()))3178 }3179 }3180 function reduce(method) {3181 return function(fn, i) {3182 if(!isFunction(fn)) {3183 throw new TypeError(("List." + method + ": Function required for first argument"))3184 }3185 return xs.reduce(fn, i)3186 }3187 }3188 function reduceRight(fn, i) {3189 if(!isFunction(fn)) {3190 throw new TypeError('List.reduceRight: Function required for first argument')3191 }3192 return xs.reduceRight(fn, i)3193 }3194 function fold() {3195 if(isEmpty(xs)) {3196 throw new TypeError('List.fold: List must contain at least one Semigroup')3197 }3198 var head =3199 xs[0]3200 if(!isSemigroup(head)) {3201 throw new TypeError('List.fold: List must contain Semigroups of the same type')3202 }3203 return xs.reduce(function(x, y) {3204 if(!isSameType(x, y)) {3205 throw new TypeError('List.fold: List must contain Semigroups of the same type')3206 }3207 return x.concat(y)3208 })3209 }3210 function foldMap(fn) {3211 if(!isFunction(fn)) {3212 throw new TypeError(3213 'List.foldMap: Semigroup returning function required'3214 )3215 }3216 if(isEmpty(xs)) {3217 throw new TypeError(3218 'List.foldMap: List must not be empty'3219 )3220 }3221 var head =3222 fn(xs[0])3223 if(!isSemigroup(head)) {3224 throw new TypeError(3225 'List.foldMap: Provided function must return Semigroups of the same type'3226 )3227 }3228 return xs.length !== 13229 ? xs.slice(1).reduce(function(semi, x) {3230 var val = fn(x)3231 if(!(isSameType(semi, val) && isSemigroup(val))) {3232 throw new TypeError(3233 'List.foldMap: Provided function must return Semigroups of the same type'3234 )3235 }3236 return semi.concat(val)3237 }, head) : head3238 }3239 function filter(method) {3240 return function(pred) {3241 if(!isPredOrFunc(pred)) {3242 throw new TypeError(("List." + method + ": Pred or predicate function required"))3243 }3244 return List(3245 xs.reduce(3246 function (x, y) { return predOrFunc(pred, y) ? x.concat([ y ]) : x; },3247 []3248 )3249 )3250 }3251 }3252 function reject(pred) {3253 if(!isPredOrFunc(pred)) {3254 throw new TypeError('List.reject: Pred or predicate function required')3255 }3256 var fn = not(function (x) { return predOrFunc(pred, x); })3257 return List(3258 xs.reduce(3259 function (x, y) { return fn(y) ? x.concat([ y ]) : x; },3260 []3261 )3262 )3263 }3264 function map(method) {3265 return function(fn) {3266 if(!isFunction(fn)) {3267 throw new TypeError(("List." + method + ": Function required"))3268 }3269 return List(xs.map(function (x) { return fn(x); }))3270 }3271 }3272 function ap(m) {3273 if(!isSameType(List, m)) {3274 throw new TypeError('List.ap: List required')3275 }3276 var ar = m.valueOf()3277 return List(3278 xs.reduce(function (acc, fn) {3279 if(!isFunction(fn)) {3280 throw new TypeError('List.ap: Wrapped values must all be functions')3281 }3282 return acc.concat(ar.map(function (x) { return fn(x); }))3283 }, [])3284 )3285 }3286 function chain(method) {3287 return function(fn) {3288 if(!isFunction(fn)) {3289 throw new TypeError(("List." + method + ": Function required"))3290 }3291 return List(xs.reduce(flatMap(method, fn), []))3292 }3293 }3294 function sequence(f) {3295 if(!(isApplicative(f) || isFunction(f))) {3296 throw new TypeError(3297 'List.sequence: Applicative TypeRep or Apply returning function required'3298 )3299 }3300 var af =3301 apOrFunc(f)3302 return reduceRight(3303 runSequence,3304 af(List.empty())3305 )3306 }3307 function traverse(f, fn) {3308 if(!(isApplicative(f) || isFunction(f))) {3309 throw new TypeError(3310 'List.traverse: Applicative TypeRep or Apply returning function required for first argument'3311 )3312 }3313 if(!isFunction(fn)) {3314 throw new TypeError(3315 'List.traverse: Apply returning functions required for second argument'3316 )3317 }3318 var af =3319 apOrFunc(f)3320 return reduceRight(3321 runTraverse(fn),3322 af(List.empty())3323 )3324 }3325 return ( obj = {3326 inspect: inspect, toString: inspect, valueOf: valueOf, toArray: toArray,3327 head: head, tail: tail, cons: cons, type: type, equals: equals, empty: empty,3328 reduceRight: reduceRight, fold: fold, foldMap: foldMap, reject: reject,3329 ap: ap, of: of, sequence: sequence, traverse: traverse,3330 concat: concat('concat'),3331 map: map('map'),3332 chain: chain('chain'),3333 reduce: reduce('reduce'),3334 filter: filter('filter')3335 }, obj[fl.of] = of, obj[fl.equals] = equals, obj[fl.concat] = concat(fl.concat), obj[fl.empty] = empty, obj[fl.map] = map(fl.map), obj[fl.chain] = chain(fl.chain), obj[fl.reduce] = reduce(fl.reduce), obj[fl.filter] = filter(fl.filter), obj['@@type'] = _type, obj.constructor = List, obj )3336}3337List.of = _of3338List.empty = _empty3339List.type = type3340List[fl.of] = _of3341List[fl.empty] = _empty3342List['@@type'] = _type3343List.fromArray =3344 fromArray3345List['@@implements'] = _implements(3346 [ 'ap', 'chain', 'concat', 'empty', 'equals', 'map', 'of', 'reduce', 'traverse' ]3347)3348module.exports = List3349/***/ }),3350/* 129 */3351/***/ (function(module, exports, __webpack_require__) {3352/** @license ISC License (c) copyright 2016 original and current authors */3353/** @author Ian Hofmann-Hicks (evil) */3354var VERSION = 43355var _defineUnion = __webpack_require__(122)3356var _equals = __webpack_require__(37)3357var _implements = __webpack_require__(112)3358var _innerConcat = __webpack_require__(123)3359var _inspect = __webpack_require__(113)3360var type = __webpack_require__(17).type('Maybe')3361var _type = __webpack_require__(17).typeFn(type(), VERSION)3362var fl = __webpack_require__(34)3363var apOrFunc = __webpack_require__(116)3364var compose = __webpack_require__(7)3365var isApplicative = __webpack_require__(50)3366var isApply = __webpack_require__(51)3367var isArray = __webpack_require__(45)3368var isFunction = __webpack_require__(4)3369var isSameType = __webpack_require__(18)3370var constant = function (x) { return function () { return x; }; }3371var identity = function (x) { return x; }3372var _maybe =3373 _defineUnion({ Nothing: [], Just: [ 'a' ] })3374var Nothing =3375 _maybe.Nothing3376var Just =3377 _maybe.Just3378Maybe.Nothing =3379 compose(Maybe, Nothing)3380Maybe.Just =3381 compose(Maybe, Just)3382var _of =3383 compose(Maybe, Just)3384var _zero =3385 compose(Maybe, Nothing)3386function runSequence(x) {3387 if(!(isApply(x) || isArray(x))) {3388 throw new TypeError(3389 'Maybe.sequence: Must wrap an Apply'3390 )3391 }3392 return x.map(_of)3393}3394function Maybe(u) {3395 var obj;3396 if(!arguments.length) {3397 throw new TypeError('Maybe: Must wrap something, try using Nothing or Just constructors')3398 }3399 var x =3400 !_maybe.includes(u) ? Just(u) : u3401 var of =3402 _of3403 var zero =3404 _zero3405 var option =3406 function (n) { return either(constant(n), identity); }3407 var equals =3408 function (m) { return isSameType(Maybe, m) && either(3409 constant(m.either(constant(true), constant(false))),3410 function (x) { return m.either(constant(false), function (y) { return _equals(y, x); }); }3411 ); }3412 var inspect = function () { return either(3413 constant('Nothing'),3414 function (x) { return ("Just" + (_inspect(x))); }3415 ); }3416 function either(f, g) {3417 if(!isFunction(f) || !isFunction(g)) {3418 throw new TypeError('Maybe.either: Requires both left and right functions')3419 }3420 return _maybe.caseOf({3421 Nothing: f,3422 Just: g3423 }, x)3424 }3425 function concat(method) {3426 return function(m) {3427 if(!isSameType(Maybe, m)) {3428 throw new TypeError(("Maybe." + method + ": Maybe of Semigroup required"))3429 }3430 return either(3431 Maybe.Nothing,3432 _innerConcat(("Maybe." + method), m)3433 )3434 }3435 }3436 function coalesce(f, g) {3437 if(!isFunction(f) || !isFunction(g)) {3438 throw new TypeError('Maybe.coalesce: Requires both left and right functions')3439 }3440 return Maybe.Just(either(f, g))3441 }3442 function bichain(l, r) {3443 var bichainErr =3444 'Maybe.bichain: Both arguments must be Maybe returning functions'3445 if(!(isFunction(l) && isFunction(r))) {3446 throw new TypeError(bichainErr)3447 }3448 var m = either(l, r)3449 if(!isSameType(Maybe, m)) {3450 throw new TypeError(bichainErr)3451 }3452 return m3453 }3454 function map(method) {3455 return function(fn) {3456 if(!isFunction(fn)) {3457 throw new TypeError(("Maybe." + method + ": Function required"))3458 }3459 return either(3460 Maybe.Nothing,3461 compose(Maybe.Just, fn)3462 )3463 }3464 }3465 function alt(method) {3466 return function(m) {3467 if(!isSameType(Maybe, m)) {3468 throw new TypeError(("Maybe." + method + ": Maybe required"))3469 }3470 return either(3471 constant(m),3472 Maybe.Just3473 )3474 }3475 }3476 function ap(m) {3477 var fn = option(constant(undefined))3478 if(!isFunction(fn)) {3479 throw new TypeError('Maybe.ap: Wrapped value must be a function')3480 }3481 else if(!isSameType(Maybe, m)) {3482 throw new TypeError('Maybe.ap: Maybe required')3483 }3484 return either(3485 Maybe.Nothing,3486 m.map3487 )3488 }3489 function chain(method) {3490 return function(fn) {3491 if(!isFunction(fn)) {3492 throw new TypeError(("Maybe." + method + ": Function required"))3493 }3494 var m = either(Maybe.Nothing, fn)3495 if(!isSameType(Maybe, m)) {3496 throw new TypeError(("Maybe." + method + ": Function must return a Maybe"))3497 }3498 return m3499 }3500 }3501 function sequence(f) {3502 if(!(isApplicative(f) || isFunction(f))) {3503 throw new TypeError(3504 'Maybe.sequence: Applicative TypeRep or Apply returning function required'3505 )3506 }3507 var af =3508 apOrFunc(f)3509 return either(3510 compose(af, Maybe.Nothing),3511 runSequence3512 )3513 }3514 function traverse(f, fn) {3515 if(!(isApplicative(f) || isFunction(f))) {3516 throw new TypeError(3517 'Maybe.traverse: Applicative TypeRep or Apply returning function required for first argument'3518 )3519 }3520 if(!isFunction(fn)) {3521 throw new TypeError(3522 'Maybe.traverse: Apply returning function required for second argument'3523 )3524 }3525 var af =3526 apOrFunc(f)3527 var m =3528 either(compose(af, Maybe.Nothing), fn)3529 if(!(isApply(m) || isArray(m))) {3530 throw new TypeError(3531 'Maybe.traverse: Both functions must return an Apply of the same type'3532 )3533 }3534 return either(3535 constant(m),3536 constant(m.map(_of))3537 )3538 }3539 return ( obj = {3540 inspect: inspect, toString: inspect, either: either,3541 option: option, type: type, equals: equals, bichain: bichain, coalesce: coalesce,3542 zero: zero, ap: ap, of: of, sequence: sequence,3543 traverse: traverse,3544 alt: alt('alt'),3545 chain: chain('chain'),3546 concat: concat('concat'),3547 map: map('map')3548 }, obj[fl.zero] = zero, obj[fl.of] = of, obj[fl.equals] = equals, obj[fl.alt] = alt(fl.alt), obj[fl.concat] = concat(fl.concat), obj[fl.map] = map(fl.map), obj[fl.chain] = chain(fl.chain), obj['@@type'] = _type, obj.constructor = Maybe, obj )3549}3550Maybe.of = _of3551Maybe.zero = _zero3552Maybe.type = type3553Maybe[fl.of] = _of3554Maybe[fl.zero] = _zero3555Maybe['@@type'] = _type3556Maybe['@@implements'] = _implements(3557 [ 'alt', 'ap', 'chain', 'concat', 'equals', 'map', 'of', 'traverse', 'zero' ]3558)3559module.exports = Maybe3560/***/ }),3561/* 130 */3562/***/ (function(module, exports, __webpack_require__) {3563/** @license ISC License (c) copyright 2016 original and current authors */3564/** @author Ian Hofmann-Hicks (evil) */3565module.exports =3566 __webpack_require__(129)3567/***/ }),3568/* 131 */3569/***/ (function(module, exports, __webpack_require__) {3570/** @license ISC License (c) copyright 2016 original and current authors */3571/** @author Ian Hofmann-Hicks (evil) */3572module.exports =3573 __webpack_require__(132)3574/***/ }),3575/* 132 */3576/***/ (function(module, exports, __webpack_require__) {3577/** @license ISC License (c) copyright 2016 original and current authors */3578/** @author Ian Hofmann-Hicks (evil) */3579var VERSION = 43580var _equals = __webpack_require__(37)3581var _implements = __webpack_require__(112)3582var _inspect = __webpack_require__(113)3583var type = __webpack_require__(17).type('Pair')3584var _type = __webpack_require__(17).typeFn(type(), VERSION)3585var fl = __webpack_require__(34)3586var isApplicative = __webpack_require__(50)3587var isApply = __webpack_require__(51)3588var isArray = __webpack_require__(45)3589var isFunction = __webpack_require__(4)3590var isSameType = __webpack_require__(18)3591var isSemigroup = __webpack_require__(35)3592function Pair(l, r) {3593 var obj;3594 if(arguments.length < 2) {3595 throw new TypeError('Pair: Must provide a first and second value')3596 }3597 var fst =3598 function () { return l; }3599 var snd =3600 function () { return r; }3601 var inspect =3602 function () { return ("Pair(" + (_inspect(l)) + "," + (_inspect(r)) + " )"); }3603 var toArray =3604 function () { return [ l, r ]; }3605 function merge(fn) {3606 if(!isFunction(fn)) {3607 throw new TypeError('Pair.merge: Binary function required')3608 }3609 return fn(fst(), snd())3610 }3611 function equals(m) {3612 return isSameType(Pair, m)3613 && _equals(m.fst(), fst())3614 && _equals(m.snd(), snd())3615 }3616 function concat(method) {3617 return function(m) {3618 if(!isSameType(Pair, m)) {3619 throw new TypeError(("Pair." + method + ": Pair required"))3620 }3621 var lf = fst()3622 var ls = snd()3623 var rf = m.fst()3624 var rs = m.snd()3625 if(!(isSemigroup(lf) && isSemigroup(ls))) {3626 throw new TypeError(("Pair." + method + ": Both Pairs must contain Semigroups of the same type"))3627 }3628 if(!(isSameType(lf, rf) && isSameType(ls, rs))) {3629 throw new TypeError(("Pair." + method + ": Both Pairs must contain Semigroups of the same type"))3630 }3631 return Pair(3632 lf.concat(rf),3633 ls.concat(rs)3634 )3635 }3636 }3637 function swap(f, g) {3638 if(!isFunction(f) || !isFunction(g)) {3639 throw new TypeError('Pair.swap: Requires both left and right functions')3640 }3641 return Pair(g(r), f(l))3642 }3643 function map(method) {3644 return function(fn) {3645 if(!isFunction(fn)) {3646 throw new TypeError(("Pair." + method + ": Function required"))3647 }3648 return Pair(l, fn(r))3649 }3650 }3651 function bimap(method) {3652 return function(f, g) {3653 if(!isFunction(f) || !isFunction(g)) {3654 throw new TypeError(("Pair." + method + ": Function required for both arguments"))3655 }3656 return Pair(f(l), g(r))3657 }3658 }3659 function ap(m) {3660 if(!isSameType(Pair, m)) {3661 throw new TypeError('Pair.ap: Pair required')3662 }3663 var fn = snd()3664 if(!isFunction(fn)) {3665 throw new TypeError('Pair.ap: Function required for second value')3666 }3667 var l = fst()3668 var r = m.fst()3669 if(!(isSemigroup(l) && isSameType(l, r))) {3670 throw new TypeError('Pair.ap: Semigroups of the same type is required for first values')3671 }3672 return Pair(l.concat(r), fn(m.snd()))3673 }3674 function chain(method) {3675 return function(fn) {3676 var l = fst()3677 if(!isFunction(fn)) {3678 throw new TypeError(("Pair." + method + ": Function required"))3679 }3680 if(!isSemigroup(l)) {3681 throw new TypeError(("Pair." + method + ": Semigroups of the same type required for first values"))3682 }3683 var m = fn(snd())3684 if(!isSameType(Pair, m)) {3685 throw new TypeError(("Pair." + method + ": Function must return a Pair"))3686 }3687 var r = m.fst()3688 if(!isSameType(l, r)) {3689 throw new TypeError(("Pair." + method + ": Semigroups of the same type required for first values"))3690 }3691 return Pair(3692 l.concat(r),3693 m.snd()3694 )3695 }3696 }3697 function sequence(f) {3698 if(!(isApplicative(f) || isFunction(f))) {3699 throw new TypeError(3700 'Pair.sequence: Applicative TypeRep or Apply returning function required'3701 )3702 }3703 if(!(isApply(r) || isArray(r))) {3704 throw new TypeError(3705 'Pair.sequence: Must wrap an Apply in the second'3706 )3707 }3708 return r.map(function (v) { return Pair(l, v); })3709 }3710 function traverse(f, fn) {3711 if(!(isApplicative(f) || isFunction(f))) {3712 throw new TypeError(3713 'Pair.traverse: Applicative TypeRep or Apply returning function required for first argument'3714 )3715 }3716 if(!isFunction(fn)) {3717 throw new TypeError(3718 'Pair.traverse: Apply returning function required for second argument'3719 )3720 }3721 var m = fn(r)3722 if(!(isApply(m) || isArray(m))) {3723 throw new TypeError(3724 'Pair.traverse: Both functions must return an Apply of the same type'3725 )3726 }3727 return m.map(function (v) { return Pair(l, v); })3728 }3729 function extend(method) {3730 return function(fn) {3731 if(!isFunction(fn)) {3732 throw new TypeError(("Pair." + method + ": Function required"))3733 }3734 return Pair(l, fn(Pair(l, r)))3735 }3736 }3737 return ( obj = {3738 inspect: inspect, toString: inspect, fst: fst,3739 snd: snd, toArray: toArray, type: type, merge: merge, equals: equals,3740 swap: swap, ap: ap, sequence: sequence, traverse: traverse,3741 concat: concat('concat'),3742 map: map('map'),3743 bimap: bimap('bimap'),3744 chain: chain('chain'),3745 extend: extend('extend')3746 }, obj[fl.equals] = equals, obj[fl.concat] = concat(fl.concat), obj[fl.map] = map(fl.map), obj[fl.bimap] = bimap(fl.bimap), obj[fl.chain] = chain(fl.chain), obj[fl.extend] = extend(fl.extend), obj['@@type'] = _type, obj.constructor = Pair, obj )3747}3748Pair.type = type3749Pair['@@type'] = _type3750Pair['@@implements'] = _implements(3751 [ 'ap', 'bimap', 'chain', 'concat', 'extend', 'equals', 'map', 'traverse' ]3752)3753module.exports = Pair3754/***/ }),3755/* 133 */3756/***/ (function(module, exports, __webpack_require__) {3757/** @license ISC License (c) copyright 2016 original and current authors */3758/** @author Ian Hofmann-Hicks (evil) */3759module.exports =3760 __webpack_require__(134)3761/***/ }),3762/* 134 */3763/***/ (function(module, exports, __webpack_require__) {3764/** @license ISC License (c) copyright 2016 original and current authors */3765/** @author Ian Hofmann-Hicks (evil) */3766var VERSION = 23767var _implements = __webpack_require__(112)3768var _inspect = __webpack_require__(113)3769var type = __webpack_require__(17).type('Pred')3770var _type = __webpack_require__(17).typeFn(type(), VERSION)3771var fl = __webpack_require__(34)3772var compose = __webpack_require__(7)3773var isFunction = __webpack_require__(4)3774var isSameType = __webpack_require__(18)3775var _empty =3776 function () { return Pred(function () { return true; }); }3777function Pred(pred) {3778 var obj;3779 if(!isFunction(pred)) {3780 throw new TypeError('Pred: Predicate function required')3781 }3782 var runWith =3783 function (x) { return !!pred(x); }3784 var inspect =3785 function () { return ("Pred" + (_inspect(runWith))); }3786 var empty =3787 _empty3788 var valueOf =3789 function () { return runWith; }3790 function concat(method) {3791 return function(m) {3792 if(!isSameType(Pred, m)) {3793 throw new TypeError(("Pred." + method + ": Pred required"))3794 }3795 return Pred(function (x) { return !!runWith(x) && !!m.runWith(x); })3796 }3797 }3798 function contramap(method) {3799 return function(fn) {3800 if(!isFunction(fn)) {3801 throw new TypeError(("Pred." + method + ": Function required"))3802 }3803 return Pred(compose(runWith, fn))3804 }3805 }3806 return ( obj = {3807 inspect: inspect, toString: inspect,3808 runWith: runWith, type: type, valueOf: valueOf, empty: empty,3809 concat: concat('concat'),3810 contramap: contramap('contramap')3811 }, obj[fl.empty] = empty, obj[fl.concat] = concat(fl.concat), obj[fl.contramap] = contramap(fl.contramap), obj['@@type'] = _type, obj.constructor = Pred, obj )3812}3813Pred.empty = _empty3814Pred.type = type3815Pred[fl.empty] = _empty3816Pred['@@type'] = _type3817Pred['@@implements'] = _implements(3818 [ 'concat', 'contramap', 'empty' ]3819)3820module.exports = Pred3821/***/ }),3822/* 135 */3823/***/ (function(module, exports, __webpack_require__) {3824/** @license ISC License (c) copyright 2016 original and current authors */3825/** @author Ian Hofmann-Hicks (evil) */3826var VERSION = 23827var _implements = __webpack_require__(112)3828var _inspect = __webpack_require__(113)3829var type = __webpack_require__(17).type('Reader')3830var _type = __webpack_require__(17).typeFn(type(), VERSION)3831var fl = __webpack_require__(34)3832var compose = __webpack_require__(7)3833var isFunction = __webpack_require__(4)3834var isSameType = __webpack_require__(18)3835var _of =3836 function (x) { return Reader(function () { return x; }); }3837function ask(fn) {3838 if(!arguments.length) {3839 return Reader(function (x) { return x; })3840 }3841 if(isFunction(fn)) {3842 return Reader(fn)3843 }3844 throw new TypeError('Reader.ask: No argument or function required')3845}3846function Reader(runWith) {3847 var obj;3848 if(!arguments.length || !isFunction(runWith)) {3849 throw new TypeError('Reader: Must wrap a function')3850 }3851 var of =3852 _of3853 var inspect =3854 function () { return ("Reader" + (_inspect(runWith))); }3855 function map(method) {3856 return function(fn) {3857 if(!isFunction(fn)) {3858 throw new TypeError(("Reader." + method + ": Function required"))3859 }3860 return Reader(compose(fn, runWith))3861 }3862 }3863 function ap(m) {3864 if(!isSameType(Reader, m)) {3865 throw new TypeError('Reader.ap: Reader required')3866 }3867 return Reader(function(e) {3868 var fn = runWith(e)3869 if(!isFunction(fn)) {3870 throw new TypeError('Reader.ap: Wrapped function must return a function')3871 }3872 return m.map(fn).runWith(e)3873 })3874 }3875 function chain(method) {3876 return function(fn) {3877 if(!isFunction(fn)) {3878 throw new TypeError(("Reader." + method + ": Function required"))3879 }3880 return Reader(function(e) {3881 var m = fn(runWith(e))3882 if(!isSameType(Reader, m)) {3883 throw new TypeError(("Reader." + method + ": Function must return a Reader"))3884 }3885 return m.runWith(e)3886 })3887 }3888 }3889 return ( obj = {3890 inspect: inspect, toString: inspect, runWith: runWith,3891 type: type, ap: ap, of: of,3892 map: map('map'),3893 chain: chain('chain')3894 }, obj[fl.of] = of, obj[fl.map] = map(fl.map), obj[fl.chain] = chain(fl.chain), obj['@@type'] = _type, obj.constructor = Reader, obj )3895}3896Reader.of = _of3897Reader.ask = ask3898Reader.type = type3899Reader[fl.of] = _of3900Reader['@@type'] = _type3901Reader['@@implements'] = _implements(3902 [ 'ap', 'chain', 'map', 'of' ]3903)3904module.exports = Reader3905/***/ }),3906/* 136 */3907/***/ (function(module, exports, __webpack_require__) {3908/** @license ISC License (c) copyright 2017 original and current authors */3909/** @author Ian Hofmann-Hicks (evil) */3910var VERSION = 13911var _implements = __webpack_require__(112)3912var _inspect = __webpack_require__(113)3913var _type = __webpack_require__(17).type('Reader')()3914var _typeString = __webpack_require__(17).typeFn(_type, VERSION)3915var fl = __webpack_require__(34)3916var curry = __webpack_require__(3)3917var isFunction = __webpack_require__(4)3918var isMonad = __webpack_require__(84)3919var isSameType = __webpack_require__(18)3920function _ReaderT(Monad) {3921 if(!isMonad(Monad)) {3922 throw new TypeError('ReaderT: Monad required for construction')3923 }3924 var type =3925 function () { return (_type + "( " + (Monad.type()) + " )"); }3926 var typeString =3927 _typeString + "( " + (Monad['@@type']) + " )"3928 var of =3929 function (x) { return ReaderT(function () { return Monad.of(x); }); }3930 function ask(fn) {3931 if(!arguments.length) {3932 return ReaderT(Monad.of)3933 }3934 if(isFunction(fn)) {3935 return ReaderT(Monad.of).map(fn)3936 }3937 throw new TypeError(((type()) + ".ask: No argument or function required"))3938 }3939 function lift(m) {3940 if(!isSameType(Monad, m)) {3941 throw new TypeError(((type()) + ".lift: " + (Monad.type()) + " instance required"))3942 }3943 return ReaderT(function () { return m; })3944 }3945 function liftFn(fn, x) {3946 if(!isFunction(fn)) {3947 throw new TypeError(((type()) + ".liftFn: " + (Monad.type()) + " returning function required"))3948 }3949 return ReaderT(function() {3950 var m = fn(x)3951 if(!isSameType(Monad, m)) {3952 throw new TypeError(((type()) + ".liftFn: " + (Monad.type()) + " returning function required"))3953 }3954 return m3955 })3956 }3957 function ReaderT(wrapped) {3958 var obj;3959 if(!isFunction(wrapped)) {3960 throw new TypeError(((type()) + ": " + (Monad.type()) + " returning function required"))3961 }3962 var inspect =3963 function () { return ("" + (type()) + (_inspect(wrapped))); }3964 function runWith(x) {3965 var result = wrapped(x)3966 if(!isSameType(Monad, result)) {3967 throw new TypeError(((type()) + ": " + (Monad.type()) + " must be returned by wrapped function"))3968 }3969 return result3970 }3971 function map(fn) {3972 if(!isFunction(fn)) {3973 throw new TypeError(((type()) + ".map: Function required"))3974 }3975 return ReaderT(function (e) { return runWith(e).map(fn); })3976 }3977 function ap(m) {3978 if(!isSameType(ReaderT, m)) {3979 throw new TypeError(((type()) + ".ap: " + (type()) + " required"))3980 }3981 return ReaderT(function (e) { return runWith(e).ap(m.runWith(e)); })3982 }3983 function chain(fn) {3984 if(!isFunction(fn)) {3985 throw new TypeError(((type()) + ".chain: " + (type()) + " returning function required"))3986 }3987 return ReaderT(function (e) { return runWith(e).chain(function (inner) {3988 var m = fn(inner)3989 if(!isSameType(ReaderT, m)) {3990 throw new TypeError(((type()) + ".chain: Function must return a " + (type())))3991 }3992 return m.runWith(e)3993 }); }3994 )3995 }3996 return ( obj = {3997 inspect: inspect, toString: inspect, type: type,3998 runWith: runWith, of: of, map: map, ap: ap, chain: chain3999 }, obj[fl.of] = of, obj[fl.map] = map, obj[fl.chain] = chain, obj['@@type'] = typeString, obj.constructor = ReaderT, obj )4000 }4001 ReaderT.type = type4002 ReaderT.of = of4003 ReaderT.ask = ask4004 ReaderT.lift = lift4005 ReaderT.liftFn = curry(liftFn)4006 ReaderT[fl.of] = of4007 ReaderT['@@type'] = typeString4008 ReaderT['@@implements'] = _implements(4009 [ 'ap', 'chain', 'map', 'of' ]4010 )4011 return ReaderT4012}4013module.exports = _ReaderT4014/***/ }),4015/* 137 */4016/***/ (function(module, exports, __webpack_require__) {4017/** @license ISC License (c) copyright 2017 original and current authors */4018/** @author Ian Hofmann-Hicks (evil) */4019var VERSION = 44020var _defineUnion = __webpack_require__(122)4021var _equals = __webpack_require__(37)4022var _implements = __webpack_require__(112)4023var _innerConcat = __webpack_require__(123)4024var _inspect = __webpack_require__(113)4025var type = __webpack_require__(17).type('Result')4026var _type = __webpack_require__(17).typeFn(type(), VERSION)4027var fl = __webpack_require__(34)4028var apOrFunc = __webpack_require__(116)4029var compose = __webpack_require__(7)4030var isApplicative = __webpack_require__(50)4031var isApply = __webpack_require__(51)4032var isArray = __webpack_require__(45)4033var isFunction = __webpack_require__(4)4034var isSameType = __webpack_require__(18)4035var isSemigroup = __webpack_require__(35)4036var constant =4037 function (x) { return function () { return x; }; }4038var _result =4039 _defineUnion({ Err: [ 'a' ], Ok: [ 'b' ] })4040Result.Err =4041 compose(Result, _result.Err)4042Result.Ok =4043 compose(Result, _result.Ok)4044var _of =4045 Result.Ok4046var concatApErr =4047 function (m) { return function (x) { return Result.Err(m.either(4048 function (y) { return isSemigroup(x) && isSameType(y, x) ? x.concat(y) : x; },4049 function () { return x; }4050 )); }; }4051var concatAltErr =4052 function (r) { return function (l) { return Result.Err(isSemigroup(r) && isSameType(l, r) ? l.concat(r) : r); }; }4053function runSequence(x) {4054 if(!(isApply(x) || isArray(x))) {4055 throw new TypeError(4056 'Result.sequence: Must wrap an Apply'4057 )4058 }4059 return x.map(_of)4060}4061function Result(u) {4062 var obj;4063 if(!arguments.length) {4064 throw new TypeError('Result: Must wrap something, try using Err or Ok constructors')4065 }4066 var x =4067 !_result.includes(u) ? _result.Ok(u) : u4068 var equals =4069 function (m) { return isSameType(Result, m) && either(4070 function (x) { return m.either(function (y) { return _equals(y, x); }, constant(false)); },4071 function (x) { return m.either(constant(false), function (y) { return _equals(y, x); }); }4072 ); }4073 var of =4074 _of4075 var inspect = function () { return either(4076 function (l) { return ("Err" + (_inspect(l))); },4077 function (r) { return ("Ok" + (_inspect(r))); }4078 ); }4079 function either(f, g) {4080 if(!isFunction(f) || !isFunction(g)) {4081 throw new TypeError('Result.either: Requires both invalid and valid functions')4082 }4083 return _result.caseOf({4084 Err: f,4085 Ok: g4086 }, x)4087 }4088 function concat(method) {4089 return function(m) {4090 if(!isSameType(Result, m)) {4091 throw new TypeError(("Result." + method + ": Result of Semigroup required"))4092 }4093 return either(4094 Result.Err,4095 _innerConcat(("Result." + method), m)4096 )4097 }4098 }4099 function swap(f, g) {4100 if(!isFunction(f) || !isFunction(g)) {4101 throw new TypeError('Result.swap: Requires both left and right functions')4102 }4103 return either(4104 compose(Result.Ok, f),4105 compose(Result.Err, g)4106 )4107 }4108 function coalesce(f, g) {4109 if(!isFunction(f) || !isFunction(g)) {4110 throw new TypeError('Result.coalesce: Requires both left and right functions')4111 }4112 return Result.Ok(either(f, g))4113 }4114 function bichain(l, r) {4115 var bichainErr =4116 'Result.bichain: Both arguments must be Result returning functions'4117 if(!(isFunction(l) && isFunction(r))) {4118 throw new TypeError(bichainErr)4119 }4120 var m = either(l, r)4121 if(!isSameType(Result, m)) {4122 throw new TypeError(bichainErr)4123 }4124 return m4125 }4126 function map(method) {4127 return function(fn) {4128 if(!isFunction(fn)) {4129 throw new TypeError(("Result." + method + ": Function required"))4130 }4131 return either(4132 Result.Err,4133 compose(Result.Ok, fn)4134 )4135 }4136 }4137 function bimap(method) {4138 return function(f, g) {4139 if(!isFunction(f) || !isFunction(g)) {4140 throw new TypeError(("Result." + method + ": Requires both left and right functions"))4141 }4142 return either(4143 compose(Result.Err, f),4144 compose(Result.Ok, g)4145 )4146 }4147 }4148 function alt(method) {4149 return function(m) {4150 if(!isSameType(Result, m)) {4151 throw new TypeError(("Result." + method + ": Result required"))4152 }4153 return m.either(4154 function (r) { return either(concatAltErr(r), Result.Ok); },4155 function (r) { return either(function () { return Result.Ok(r); }, Result.Ok); }4156 )4157 }4158 }4159 function ap(m) {4160 if(!isSameType(Result, m)) {4161 throw new TypeError('Result.ap: Result required')4162 }4163 return either(4164 concatApErr(m),4165 function(fn) {4166 if(!isFunction(fn)) {4167 throw new TypeError('Result.ap: Wrapped value must be a function')4168 }4169 return m.either(Result.Err, function () { return m.map(fn); })4170 }4171 )4172 }4173 function chain(method) {4174 return function(fn) {4175 if(!isFunction(fn)) {4176 throw new TypeError(("Result." + method + ": Result returning function required"))4177 }4178 var m = either(Result.Err, fn)4179 if(!isSameType(Result, m)) {4180 throw new TypeError(("Result." + method + ": Function must return a Result"))4181 }4182 return m4183 }4184 }4185 function sequence(f) {4186 if(!(isApplicative(f) || isFunction(f))) {4187 throw new TypeError(4188 'Result.sequence: Applicative TypeRep or Apply returning function required'4189 )4190 }4191 var af =4192 apOrFunc(f)4193 return either(4194 compose(af, Result.Err),4195 runSequence4196 )4197 }4198 function traverse(f, fn) {4199 if(!(isApplicative(f) || isFunction(f))) {4200 throw new TypeError(4201 'Result.traverse: Applicative TypeRep of Apply returning function required for first argument'4202 )4203 }4204 if(!isFunction(fn)) {4205 throw new TypeError(4206 'Result.traverse: Apply returning functions required for both arguments'4207 )4208 }4209 var af =4210 apOrFunc(f)4211 var m = either(compose(af, Result.Err), fn)4212 if(!(isApply(m) || isArray(m))) {4213 throw new TypeError('Result.traverse: Both functions must return an Apply of the same type')4214 }4215 return either(4216 constant(m),4217 constant(m.map(_of))4218 )4219 }4220 return ( obj = {4221 inspect: inspect, toString: inspect, equals: equals,4222 type: type, either: either, swap: swap, coalesce: coalesce, bichain: bichain,4223 ap: ap, of: of, sequence: sequence, traverse: traverse,4224 alt: alt('alt'),4225 bimap: bimap('bimap'),4226 concat: concat('concat'),4227 map: map('map'),4228 chain: chain('chain')4229 }, obj[fl.of] = of, obj[fl.equals] = equals, obj[fl.alt] = alt(fl.alt), obj[fl.bimap] = bimap(fl.bimap), obj[fl.concat] = concat(fl.concat), obj[fl.map] = map(fl.map), obj[fl.chain] = chain(fl.chain), obj['@@type'] = _type, obj.constructor = Result, obj )4230}4231Result.of = _of4232Result.type = type4233Result[fl.of] = _of4234Result['@@type'] = _type4235Result['@@implements'] = _implements(4236 [ 'alt', 'ap', 'bimap', 'chain', 'concat', 'equals', 'map', 'of', 'traverse' ]4237)4238module.exports = Result4239/***/ }),4240/* 138 */4241/***/ (function(module, exports, __webpack_require__) {4242/** @license ISC License (c) copyright 2016 original and current authors */4243/** @author Ian Hofmann-Hicks (evil) */4244var VERSION = 24245var _implements = __webpack_require__(112)4246var _inspect = __webpack_require__(113)4247var _type = __webpack_require__(17).type('Star')4248var __type = __webpack_require__(17).typeFn(_type(), VERSION)4249var fl = __webpack_require__(34)4250var array = __webpack_require__(115)4251var isFunction = __webpack_require__(4)4252var isMonad = __webpack_require__(84)4253var isSameType = __webpack_require__(18)4254var Pair = __webpack_require__(132)4255var merge =4256 function (fn, m) { return m.merge(fn); }4257var sequence =4258 function (af, m) { return array.sequence(af, m); }4259function _Star(Monad) {4260 if(!isMonad(Monad)) {4261 throw new TypeError('Star: Monad required for construction')4262 }4263 var _id =4264 function () { return Star(Monad.of); }4265 var innerType =4266 Monad.type()4267 var innerFullType =4268 Monad['@@type']4269 var outerType =4270 (_type()) + "( " + innerType + " )"4271 var typeString =4272 __type + "( " + innerFullType + " )"4273 var type =4274 function () { return outerType; }4275 function Star(runWith) {4276 var obj;4277 if(!isFunction(runWith)) {4278 throw new TypeError((outerType + ": Function in the form (a -> m b) required"))4279 }4280 var inspect =4281 function () { return ("" + outerType + (_inspect(runWith))); }4282 var id =4283 _id4284 function compose(method) {4285 return function(s) {4286 if(!isSameType(Star, s)) {4287 throw new TypeError((outerType + "." + method + ": " + outerType + " required"))4288 }4289 return Star(function(x) {4290 var m = runWith(x)4291 if(!isSameType(Monad, m)) {4292 throw new TypeError((outerType + "." + method + ": Computations must return a type of " + innerType))4293 }4294 return m.chain(function(val) {4295 var inner = s.runWith(val)4296 if(!isSameType(m, inner)) {4297 throw new TypeError((outerType + "." + method + ": Both computations must return a type of " + innerType))4298 }4299 return inner4300 })4301 })4302 }4303 }4304 function map(method) {4305 return function(fn) {4306 if(!isFunction(fn)) {4307 throw new TypeError((outerType + "." + method + ": Function required"))4308 }4309 return Star(function(x) {4310 var m = runWith(x)4311 if(!isSameType(Monad, m)) {4312 throw new TypeError((outerType + "." + method + ": Computations must return a type of " + innerType))4313 }4314 return m.map(fn)4315 })4316 }4317 }4318 function contramap(method) {4319 return function(fn) {4320 if(!isFunction(fn)) {4321 throw new TypeError((outerType + "." + method + ": Function required"))4322 }4323 return Star(function (x) { return runWith(fn(x)); })4324 }4325 }4326 function promap(method) {4327 return function(l, r) {4328 if(!isFunction(l) || !isFunction(r)) {4329 throw new TypeError((outerType + "." + method + ": Functions required for both arguments"))4330 }4331 return Star(function(x) {4332 var m = runWith(l(x))4333 if(!isSameType(Monad, m)) {4334 throw new TypeError((outerType + "." + method + ": Computation must return a type of " + innerType))4335 }4336 return m.map(r)4337 })4338 }4339 }4340 function first() {4341 return Star(function(x) {4342 if(!isSameType(Pair, x)) {4343 throw TypeError((outerType + ".first: Pair required for computation input"))4344 }4345 var m = runWith(x.fst())4346 if(!isSameType(Monad, m)) {4347 throw new TypeError((outerType + ".first: Computation must return a type of " + innerType))4348 }4349 return m.map(function (l) { return Pair(l, x.snd()); })4350 })4351 }4352 function second() {4353 return Star(function(x) {4354 if(!isSameType(Pair, x)) {4355 throw TypeError((outerType + ".second: Pair required for computation input"))4356 }4357 var m = runWith(x.snd())4358 if(!isSameType(Monad, m)) {4359 throw new TypeError((outerType + ".second: Computation must return a type of " + innerType))4360 }4361 return m.map(function (r) { return Pair(x.fst(), r); })4362 })4363 }4364 function both() {4365 return Star(function(x) {4366 if(!isSameType(Pair, x)) {4367 throw TypeError((outerType + ".both: Pair required for computation input"))4368 }4369 var p = x.bimap(runWith, runWith)4370 var m = p.fst()4371 if(!isSameType(Monad, m)) {4372 throw new TypeError((outerType + ".both: Computation must return a type of " + innerType))4373 }4374 return sequence(m.of, merge(function (x, y) { return [ x, y ]; }, p)).map(function (x) { return Pair(x[0], x[1]); })4375 })4376 }4377 return ( obj = {4378 inspect: inspect, toString: inspect, type: type,4379 runWith: runWith, id: id, first: first, second: second, both: both,4380 compose: compose('compose'),4381 contramap: contramap('contramap'),4382 map: map('map'),4383 promap: promap('promap')4384 }, obj[fl.id] = id, obj[fl.compose] = compose(fl.compose), obj[fl.contramap] = contramap(fl.contramap), obj[fl.map] = map(fl.map), obj[fl.promap] = promap(fl.promap), obj['@@type'] = typeString, obj.constructor = Star, obj )4385 }4386 Star.id = _id4387 Star.type = type4388 Star[fl.id] = _id4389 Star['@@type'] = typeString4390 Star['@@implements'] = _implements(4391 [ 'compose', 'contramap', 'id', 'map', 'promap' ]4392 )4393 return Star4394}4395module.exports = _Star4396/***/ }),4397/* 139 */4398/***/ (function(module, exports, __webpack_require__) {4399/** @license ISC License (c) copyright 2016 original and current authors */4400/** @author Ian Hofmann-Hicks (evil) */4401var VERSION = 24402var _implements = __webpack_require__(112)4403var _inspect = __webpack_require__(113)4404var type = __webpack_require__(17).type('State')4405var _type = __webpack_require__(17).typeFn(type(), VERSION)4406var fl = __webpack_require__(34)4407var Pair = __webpack_require__(132)4408var Unit = __webpack_require__(140)4409var isFunction = __webpack_require__(4)4410var isSameType = __webpack_require__(18)4411var _of =4412 function (x) { return State(function (s) { return Pair(x, s); }); }4413function get(fn) {4414 if(!arguments.length) {4415 return State(function (s) { return Pair(s, s); })4416 }4417 if(isFunction(fn)) {4418 return State(function (s) { return Pair(fn(s), s); })4419 }4420 throw new TypeError('State.get: No arguments or function required')4421}4422function modify(fn) {4423 if(!isFunction(fn)) {4424 throw new TypeError('State.modify: Function Required')4425 }4426 return State(function (s) { return Pair(Unit(), fn(s)); })4427}4428function State(fn) {4429 var obj;4430 if(!isFunction(fn)) {4431 throw new TypeError('State: Must wrap a function in the form (s -> Pair a s)')4432 }4433 var of =4434 _of4435 var inspect =4436 function () { return ("State" + (_inspect(fn))); }4437 function runWith(state) {4438 var params = [], len = arguments.length - 1;4439 while ( len-- > 0 ) params[ len ] = arguments[ len + 1 ];4440 var func = params[0]; if ( func === void 0 ) func = 'runWith';4441 var m = fn(state)4442 if(!isSameType(Pair, m)) {4443 throw new TypeError(("State." + func + ": Must wrap a function in the form (s -> Pair a s)"))4444 }4445 return m4446 }4447 function execWith(s) {4448 var pair = runWith(s, 'execWith')4449 return pair.snd()4450 }4451 function evalWith(s) {4452 var pair = runWith(s, 'evalWith')4453 return pair.fst()4454 }4455 function map(method) {4456 return function(fn) {4457 if(!isFunction(fn)) {4458 throw new TypeError(("State." + method + ": Function required"))4459 }4460 return State(function (s) {4461 var m = runWith(s, method)4462 return Pair(fn(m.fst()), m.snd())4463 })4464 }4465 }4466 function ap(m) {4467 if(!isSameType(State, m)) {4468 throw new TypeError('State.ap: State required')4469 }4470 return State(function (s) {4471 var pair = runWith(s, 'ap')4472 var fn = pair.fst()4473 if(!isFunction(fn)) {4474 throw new TypeError('State.ap: Source value must be a function')4475 }4476 return m.map(fn).runWith(pair.snd())4477 })4478 }4479 function chain(method) {4480 return function(fn) {4481 if(!isFunction(fn)) {4482 throw new TypeError(("State." + method + ": State returning function required"))4483 }4484 return State(function (s) {4485 var pair = runWith(s, method)4486 var m = fn(pair.fst())4487 if(!isSameType(State, m)) {4488 throw new TypeError(("State." + method + ": Function must return another State"))4489 }4490 return m.runWith(pair.snd())4491 })4492 }4493 }4494 return ( obj = {4495 inspect: inspect, toString: inspect, runWith: runWith,4496 execWith: execWith, evalWith: evalWith, type: type, ap: ap, of: of,4497 map: map('map'),4498 chain: chain('chain')4499 }, obj[fl.of] = of, obj[fl.map] = map(fl.map), obj[fl.chain] = chain(fl.chain), obj['@@type'] = _type, obj.constructor = State, obj )4500}4501State.of = _of4502State.get = get4503State.modify = modify4504State.put =4505 function (x) { return modify(function () { return x; }); }4506State.type = type4507State[fl.of] = _of4508State['@@type'] = _type4509State['@@implements'] = _implements(4510 [ 'ap', 'chain', 'map', 'of' ]4511)4512module.exports = State4513/***/ }),4514/* 140 */4515/***/ (function(module, exports, __webpack_require__) {4516/** @license ISC License (c) copyright 2016 original and current authors */4517/** @author Ian Hofmann-Hicks (evil) */4518var VERSION = 24519var _implements = __webpack_require__(112)4520var type = __webpack_require__(17).type('Unit')4521var _type = __webpack_require__(17).typeFn(type(), VERSION)4522var fl = __webpack_require__(34)4523var isFunction = __webpack_require__(4)4524var isSameType = __webpack_require__(18)4525var _of =4526 Unit4527var _empty =4528 Unit4529function Unit() {4530 var obj;4531 var equals =4532 function (m) { return isSameType(Unit, m); }4533 var inspect =4534 function () { return '()'; }4535 var valueOf =4536 function () { return undefined; }4537 var of =4538 _of4539 var empty =4540 _empty4541 function concat(method) {4542 return function(m) {4543 if(!isSameType(Unit, m)) {4544 throw new TypeError(("Unit." + method + ": Unit required"))4545 }4546 return Unit()4547 }4548 }4549 function map(method) {4550 return function(fn) {4551 if(!isFunction(fn)) {4552 throw new TypeError(("Unit." + method + ": Function required"))4553 }4554 return Unit()4555 }4556 }4557 function ap(m) {4558 if(!isSameType(Unit, m)) {4559 throw new TypeError('Unit.ap: Unit required')4560 }4561 return Unit()4562 }4563 function chain(method) {4564 return function(fn) {4565 if(!isFunction(fn)) {4566 throw new TypeError(("Unit." + method + ": Function required"))4567 }4568 return Unit()4569 }4570 }4571 return ( obj = {4572 inspect: inspect, toString: inspect, valueOf: valueOf,4573 type: type, equals: equals, empty: empty, ap: ap, of: of,4574 concat: concat('concat'),4575 map: map('map'),4576 chain: chain('chain')4577 }, obj[fl.of] = of, obj[fl.empty] = empty, obj[fl.equals] = equals, obj[fl.concat] = concat(fl.concat), obj[fl.map] = map(fl.map), obj[fl.chain] = chain(fl.chain), obj['@@type'] = _type, obj.constructor = Unit, obj )4578}4579Unit.of = _of4580Unit.empty = _empty4581Unit.type = type4582Unit[fl.of] = _of4583Unit[fl.empty] = _empty4584Unit['@@type'] = _type4585Unit['@@implements'] = _implements(4586 [ 'ap', 'chain', 'concat', 'empty', 'equals', 'map', 'of' ]4587)4588module.exports = Unit4589/***/ }),4590/* 141 */4591/***/ (function(module, exports, __webpack_require__) {4592/** @license ISC License (c) copyright 2018 original and current authors */4593/** @author Karthik Iyengar (karthikiyengar) */4594var VERSION = 14595var _implements = __webpack_require__(112)4596var _equals = __webpack_require__(37)4597var _inspect = __webpack_require__(113)4598var _type = __webpack_require__(17).type('Tuple')4599var typeFn = __webpack_require__(17).typeFn4600var fl = __webpack_require__(34)4601var isFunction = __webpack_require__(4)4602var isInteger = __webpack_require__(39)4603var isSameType = __webpack_require__(18)4604var isSemigroup = __webpack_require__(35)4605var constant = function (x) { return function () { return x; }; }4606function _Tuple(n) {4607 if (!(isInteger(n) && n >= 1)) {4608 throw new TypeError('Tuple: First argument must be an integer')4609 }4610 var tupleLength = constant(n)4611 var type =4612 constant(_type(n))4613 var typeString =4614 typeFn('Tuple', VERSION, n)4615 var withProps = function (fn) {4616 fn.type = type4617 fn.tupleLength = tupleLength4618 fn['@@type'] = typeString4619 fn['@@implements'] = _implements([ 'map', 'concat', 'equals' ])4620 return fn4621 }4622 var withLength = function (n, fn) {4623 return Object.defineProperty(fn, 'length', {4624 value: n4625 })4626 }4627 /* eslint-disable no-unused-vars */4628 switch (n) {4629 case 1: return withProps(function(a) { return Tuple(n, arguments) })4630 case 2: return withProps(function(a, b) { return Tuple(n, arguments) })4631 case 3: return withProps(function(a, b, c) { return Tuple(n, arguments) })4632 case 4: return withProps(function(a, b, c, d) { return Tuple(n, arguments) })4633 case 5: return withProps(function(a, b, c, d, e) { return Tuple(n, arguments) })4634 case 6: return withProps(function(a, b, c, d, e, f) { return Tuple(n, arguments) })4635 case 7: return withProps(function(a, b, c, d, e, f, g) { return Tuple(n, arguments) })4636 case 8: return withProps(function(a, b, c, d, e, f, g, h) { return Tuple(n, arguments) })4637 case 9: return withProps(function(a, b, c, d, e, f, g, h, i) { return Tuple(n, arguments) })4638 case 10: return withProps(function(a, b, c, d, e, f, g, h, i, j) { return Tuple(n, arguments) })4639 default: return withLength(n, withProps(function() {4640 var parts = [], len = arguments.length;4641 while ( len-- ) parts[ len ] = arguments[ len ];4642 return Tuple(n, parts) }))4643 }4644 /* eslint-enable no-unused-vars */4645 function Tuple(n, args) {4646 var obj;4647 var parts = [].slice.call(args)4648 if (n !== parts.length) {4649 throw new TypeError(4650 (n + "-Tuple: Expected " + n + " values, but got " + (parts.length))4651 )4652 }4653 var inspect = function () { return (n + "-Tuple(" + (parts.map(_inspect).join(',')) + " )"); }4654 function map(method) {4655 return function(fn) {4656 if (!isFunction(fn)) {4657 throw new TypeError((n + "-Tuple." + method + ": Function required"))4658 }4659 return Tuple(n, parts4660 .slice(0, parts.length - 1)4661 .concat(fn(parts[parts.length - 1]))4662 )4663 }4664 }4665 var equals = function (m) { return isSameType({ type: type }, m)4666 && _equals(parts, m.toArray()); }4667 function concat(method) {4668 return function(t) {4669 if (!isSameType({ type: type }, t)) {4670 throw new TypeError((n + "-Tuple." + method + ": Tuple of the same length required"))4671 }4672 var a = t.toArray()4673 return Tuple(n, parts.map(function (v, i, o) {4674 if (!(isSemigroup(a[i]) && isSemigroup(o[i]))) {4675 throw new TypeError(4676 (n + "-Tuple." + method + ": Both Tuples must contain Semigroups of the same type")4677 )4678 }4679 if (!isSameType(a[i], o[i])) {4680 throw new TypeError(4681 (n + "-Tuple." + method + ": Both Tuples must contain Semigroups of the same type")4682 )4683 }4684 return o[i].concat(a[i])4685 }))4686 }4687 }4688 function merge(fn) {4689 if (!isFunction(fn)) {4690 throw new TypeError((n + "-Tuple.merge: Function required"))4691 }4692 return fn.apply(void 0, parts)4693 }4694 function mapAll() {4695 var args = [], len = arguments.length;4696 while ( len-- ) args[ len ] = arguments[ len ];4697 if (args.length !== parts.length) {4698 throw new TypeError(4699 (n + "-Tuple.mapAll: Requires " + (parts.length) + " functions")4700 )4701 }4702 return Tuple(4703 n,4704 parts.map(function (v, i) {4705 if (!isFunction(args[i])) {4706 throw new TypeError(4707 (n + "-Tuple.mapAll: Functions required for all arguments")4708 )4709 }4710 return args[i](v)4711 })4712 )4713 }4714 function project(index) {4715 if (!isInteger(index) || index < 1 || index > n) {4716 throw new TypeError(4717 (n + "-Tuple.project: Index should be an integer between 1 and " + n)4718 )4719 }4720 return parts[index - 1]4721 }4722 function toArray() {4723 return parts.slice()4724 }4725 return ( obj = {4726 inspect: inspect, toString: inspect, merge: merge,4727 project: project, mapAll: mapAll, toArray: toArray,4728 tupleLength: tupleLength, type: type, equals: equals,4729 map: map('map'),4730 concat: concat('concat')4731 }, obj[fl.map] = map(fl.map), obj[fl.concat] = concat(fl.concat), obj[fl.equals] = equals, obj['@@type'] = typeString, obj.constructor = Tuple, obj )4732 }4733}4734module.exports = _Tuple4735/***/ }),4736/* 142 */4737/***/ (function(module, exports, __webpack_require__) {4738/** @license ISC License (c) copyright 2016 original and current authors */4739/** @author Ian Hofmann-Hicks (evil) */4740module.exports =4741 __webpack_require__(140)4742/***/ }),4743/* 143 */4744/***/ (function(module, exports, __webpack_require__) {4745/** @license ISC License (c) copyright 2016 original and current authors */4746/** @author Ian Hofmann-Hicks (evil) */4747var VERSION = 24748var _equals = __webpack_require__(37)4749var _implements = __webpack_require__(112)4750var _inspect = __webpack_require__(113)4751var __type = __webpack_require__(17).type('Writer')()4752var _typeString = __webpack_require__(17).typeFn(__type, VERSION)4753var fl = __webpack_require__(34)4754var Pair = __webpack_require__(132)4755var isFunction = __webpack_require__(4)4756var isMonoid = __webpack_require__(32)4757var isSameType = __webpack_require__(18)4758var constant = function (x) { return function () { return x; }; }4759function _Writer(Monoid) {4760 if(!isMonoid(Monoid)) {4761 throw new TypeError('Writer: Monoid required for construction')4762 }4763 var _of =4764 function (x) { return Writer(Monoid.empty().valueOf(), x); }4765 var _type =4766 constant((__type + "( " + (Monoid.type()) + " )"))4767 var typeString =4768 _typeString + "( " + (Monoid['@@type']) + " )"4769 function Writer(entry, val) {4770 var obj;4771 if(arguments.length !== 2) {4772 throw new TypeError('Writer: Log entry and a value required')4773 }4774 var type =4775 _type4776 var of =4777 _of4778 var equals =4779 function (m) { return isSameType(Writer, m)4780 && _equals(m.valueOf(), val); }4781 var valueOf =4782 constant(val)4783 var log =4784 constant(Monoid(entry))4785 var inspect =4786 constant(("Writer(" + (_inspect(log())) + (_inspect(valueOf())) + " )"))4787 var read = function () { return Pair(log(), val); }4788 function map(method) {4789 return function(fn) {4790 if(!isFunction(fn)) {4791 throw new TypeError(("Writer." + method + ": Function required"))4792 }4793 return Writer(log().valueOf(), fn(valueOf()))4794 }4795 }4796 function ap(m) {4797 if(!isFunction(val)) {4798 throw new TypeError('Writer.ap: Wrapped value must be a function')4799 }4800 if(!isSameType(Writer, m)) {4801 throw new TypeError('Writer.ap: Writer required')4802 }4803 return Writer(4804 log().concat(m.log()).valueOf(),4805 val(m.valueOf())4806 )4807 }4808 function chain(method) {4809 return function(fn) {4810 if(!isFunction(fn)) {4811 throw new TypeError(("Writer." + method + ": Function required"))4812 }4813 var w = fn(valueOf())4814 if(!isSameType(Writer, w)) {4815 throw new TypeError(("Writer." + method + ": Function must return a Writer"))4816 }4817 return Writer(log().concat(w.log()).valueOf(), w.valueOf())4818 }4819 }4820 return ( obj = {4821 inspect: inspect, toString: inspect, read: read,4822 valueOf: valueOf, log: log, type: type, equals: equals,4823 ap: ap, of: of,4824 chain: chain('chain'),4825 map: map('map')4826 }, obj[fl.of] = of, obj[fl.equals] = equals, obj[fl.map] = map(fl.map), obj[fl.chain] = chain(fl.chain), obj['@@type'] = typeString, obj.constructor = Writer, obj )4827 }4828 Writer.of = _of4829 Writer.type = _type4830 Writer[fl.of] = _of4831 Writer['@@type'] = typeString4832 Writer['@@implements'] = _implements(4833 [ 'ap', 'chain', 'equals', 'map', 'of' ]4834 )4835 return Writer4836}4837module.exports = _Writer4838/***/ }),4839/* 144 */4840/***/ (function(module, exports, __webpack_require__) {4841module.exports = {4842 assign: __webpack_require__(145),4843 assoc: __webpack_require__(147),4844 binary: __webpack_require__(149),4845 compose: __webpack_require__(151),4846 composeK: __webpack_require__(152),4847 composeP: __webpack_require__(153),4848 composeS: __webpack_require__(154),4849 curry: __webpack_require__(155),4850 defaultProps: __webpack_require__(156),4851 defaultTo: __webpack_require__(157),4852 dissoc: __webpack_require__(158),4853 fromPairs: __webpack_require__(160),4854 getPathOr: __webpack_require__(161),4855 liftA2: __webpack_require__(162),4856 liftA3: __webpack_require__(163),4857 liftN: __webpack_require__(164),4858 getPropOr: __webpack_require__(165),4859 mapProps: __webpack_require__(166),4860 mapReduce: __webpack_require__(167),4861 mconcat: __webpack_require__(168),4862 mconcatMap: __webpack_require__(170),4863 mreduce: __webpack_require__(171),4864 mreduceMap: __webpack_require__(172),4865 nAry: __webpack_require__(173),4866 objOf: __webpack_require__(174),4867 omit: __webpack_require__(175),4868 once: __webpack_require__(176),4869 partial: __webpack_require__(177),4870 pick: __webpack_require__(178),4871 pipe: __webpack_require__(179),4872 pipeK: __webpack_require__(180),4873 pipeP: __webpack_require__(181),4874 pipeS: __webpack_require__(182),4875 propOr: __webpack_require__(183),4876 propPathOr: __webpack_require__(184),4877 setPath: __webpack_require__(185),4878 setProp: __webpack_require__(148),4879 tap: __webpack_require__(186),4880 unary: __webpack_require__(187),4881 unit: __webpack_require__(188),4882 unsetPath: __webpack_require__(189),4883 unsetProp: __webpack_require__(159)4884}4885/***/ }),4886/* 145 */4887/***/ (function(module, exports, __webpack_require__) {4888/** @license ISC License (c) copyright 2017 original and current authors */4889/** @author Ian Hofmann-Hicks (evil) */4890var curry = __webpack_require__(3)4891var isObject = __webpack_require__(31)4892var object = __webpack_require__(146)4893// assign : Object -> Object -> Object4894function assign(x, m) {4895 if(!(isObject(x) && isObject(m))) {4896 throw new TypeError('assign: Objects required for both arguments')4897 }4898 return object.assign(x, m)4899}4900module.exports = curry(assign)4901/***/ }),4902/* 146 */4903/***/ (function(module, exports) {4904/** @license ISC License (c) copyright 2017 original and current authors */4905/** @author Ian Hofmann-Hicks (evil) */4906function rejectUnit(obj) {4907 return function(acc, key) {4908 var value = obj[key]4909 if(value !== undefined) {4910 acc[key] = value4911 }4912 return acc4913 }4914}4915function assign(x, m) {4916 var result = Object.keys(m).reduce(rejectUnit(m), {})4917 return Object.keys(x).reduce(rejectUnit(x), result)4918}4919function filter(f, m) {4920 return Object.keys(m).reduce(function (acc, key) {4921 if(f(m[key])) {4922 acc[key] = m[key]4923 }4924 return acc4925 }, {})4926}4927function map(f, m) {4928 return Object.keys(m).reduce(function (acc, key) {4929 acc[key] = f(m[key])4930 return acc4931 }, {})4932}4933function set(key, val, m) {4934 var obj;4935 return assign(( obj = {}, obj[key] = val, obj ), m)4936}4937function unset(key, m) {4938 return Object.keys(m).reduce(function (acc, k) {4939 if(m[k] !== undefined && k !== key) {4940 acc[k] = m[k]4941 }4942 return acc4943 }, {})4944}4945module.exports = {4946 assign: assign, filter: filter,4947 map: map, set: set, unset: unset4948}4949/***/ }),4950/* 147 */4951/***/ (function(module, exports, __webpack_require__) {4952/** @license ISC License (c) copyright 2017 original and current authors */4953/** @author Ian Hofmann-Hicks (evil) */4954var setProp = __webpack_require__(148)4955module.exports =4956 setProp.origFn('assoc')4957/***/ }),4958/* 148 */4959/***/ (function(module, exports, __webpack_require__) {4960/** @license ISC License (c) copyright 2018 original and current authors */4961/** @author Ian Hofmann-Hicks (evil) */4962var curry = __webpack_require__(3)4963var isArray = __webpack_require__(45)4964var isInteger = __webpack_require__(39)4965var isObject = __webpack_require__(31)4966var isString = __webpack_require__(36)4967var array = __webpack_require__(115)4968var object = __webpack_require__(146)4969function fn(name) {4970 function setProp(key, val, x) {4971 if(isObject(x)) {4972 if(isString(key)) {4973 return object.set(key, val, x)4974 }4975 throw new TypeError(4976 (name + ": String required for first argument when third argument is an Object")4977 )4978 }4979 if(isArray(x)) {4980 if(isInteger(key) && key >= 0) {4981 return array.set(key, val, x)4982 }4983 throw new TypeError(4984 (name + ": Positive Integer required for first argument when third argument is an Array")4985 )4986 }4987 throw new TypeError(4988 (name + ": Object or Array required for third argument")4989 )4990 }4991 return curry(setProp)4992}4993// setProp :: (String | Integer) -> a -> (Object | Array) -> (Object | Array)4994var setProp =4995 fn('setProp')4996setProp.origFn =4997 fn4998module.exports = setProp4999/***/ }),5000/* 149 */5001/***/ (function(module, exports, __webpack_require__) {5002/** @license ISC License (c) copyright 2017 original and current authors */5003/** @author Ian Hofmann-Hicks (evil) */5004var curryN = __webpack_require__(150)5005var isFunction = __webpack_require__(4)5006// binary : (* -> c) -> a -> b -> c5007function binary(fn) {5008 if(!isFunction(fn)) {5009 throw new TypeError('binary: Function required')5010 }5011 return curryN(2, fn)5012}5013module.exports = binary5014/***/ }),5015/* 150 */5016/***/ (function(module, exports) {5017/** @license ISC License (c) copyright 2017 original and current authors */5018/** @author Ian Hofmann-Hicks (evil) */5019function curryN(n, fn) {5020 return function() {5021 var xs = [], len = arguments.length;5022 while ( len-- ) xs[ len ] = arguments[ len ];5023 var args =5024 xs.length ? xs : [ undefined ]5025 var remaining =5026 Math.floor(n) - args.length5027 return remaining > 05028 ? curryN(remaining, Function.bind.apply(fn, [ null ].concat(args)))5029 : fn.apply(null, args.slice(0, n))5030 }5031}5032module.exports = curryN5033/***/ }),5034/* 151 */5035/***/ (function(module, exports, __webpack_require__) {5036/** @license ISC License (c) copyright 2016 original and current authors */5037/** @author Ian Hofmann-Hicks (evil) */5038var isFunction = __webpack_require__(4)5039var err = 'compose: Functions required'5040function applyPipe(f, g) {5041 if(!isFunction(g)) {5042 throw new TypeError(err)5043 }5044 return function () {5045 var args = [], len = arguments.length;5046 while ( len-- ) args[ len ] = arguments[ len ];5047 return g.call(null, f.apply(null, args));5048 }5049}5050// compose : ((y -> z), (x -> y), ..., (a -> b)) -> a -> z5051function compose() {5052 var args = [], len = arguments.length;5053 while ( len-- ) args[ len ] = arguments[ len ];5054 if(!arguments.length) {5055 throw new TypeError(err)5056 }5057 var fns =5058 args.slice().reverse()5059 var head =5060 fns[0]5061 if(!isFunction(head)) {5062 throw new TypeError(err)5063 }5064 var tail =5065 fns.slice(1).concat(function (x) { return x; })5066 return tail.reduce(applyPipe, head)5067}5068module.exports = compose5069/***/ }),5070/* 152 */5071/***/ (function(module, exports, __webpack_require__) {5072/** @license ISC License (c) copyright 2017 original and current authors */5073/** @author Ian Hofmann-Hicks (evil) */5074var isChain = __webpack_require__(64)5075var isFunction = __webpack_require__(4)5076var err = 'composeK: Chain returning functions of the same type required'5077// composeK : Chain m => ((y -> m z), (x -> m y), ..., (a -> m b)) -> a -> m z5078function composeK() {5079 var args = [], len = arguments.length;5080 while ( len-- ) args[ len ] = arguments[ len ];5081 if(!arguments.length) {5082 throw new TypeError(err)5083 }5084 var fns =5085 args.slice().reverse()5086 var head =5087 fns[0]5088 if(!isFunction(head)) {5089 throw new TypeError(err)5090 }5091 if(fns.length === 1) {5092 return head5093 }5094 var tail = fns.slice(1).reduce(function (comp, fn) {5095 if(!isFunction(fn)) {5096 throw new TypeError(err)5097 }5098 return function(m) {5099 if(!isChain(m)) {5100 throw new TypeError(err)5101 }5102 return comp(m).chain(fn)5103 }5104 }, function (x) { return x; })5105 return function() {5106 return tail(head.apply(null, arguments))5107 }5108}5109module.exports = composeK5110/***/ }),5111/* 153 */5112/***/ (function(module, exports, __webpack_require__) {5113/** @license ISC License (c) copyright 2017 original and current authors */5114/** @author Ian Hofmann-Hicks (evil) */5115var isFunction = __webpack_require__(4)5116var isPromise = __webpack_require__(93)5117var err = 'composeP: Promise returning functions required'5118function applyPipe(f, g) {5119 if(!isFunction(g)) {5120 throw new TypeError(err)5121 }5122 return function() {5123 var p = f.apply(null, arguments)5124 if(!isPromise(p)) {5125 throw new TypeError(err)5126 }5127 return p.then(g)5128 }5129}5130function composeP() {5131 var args = [], len = arguments.length;5132 while ( len-- ) args[ len ] = arguments[ len ];5133 if(!arguments.length) {5134 throw new TypeError(err)5135 }5136 var fns =5137 args.reverse()5138 var head =5139 fns[0]5140 if(!isFunction(head)) {5141 throw new TypeError(err)5142 }5143 var tail =5144 fns.slice(1).concat(function (x) { return x; })5145 return tail.reduce(applyPipe, head)5146}5147module.exports = composeP5148/***/ }),5149/* 154 */5150/***/ (function(module, exports, __webpack_require__) {5151/** @license ISC License (c) copyright 2017 original and current authors */5152/** @author Ian Hofmann-Hicks (evil) */5153var isSameType = __webpack_require__(18)5154var isSemigroupoid = __webpack_require__(62)5155var err = 'composeS: Semigroupoids of the same type required'5156// composeS : Semigroupoid s => (s y z, s x y, ..., s a b) -> s a z5157function composeS() {5158 var args = [], len = arguments.length;5159 while ( len-- ) args[ len ] = arguments[ len ];5160 if(!arguments.length) {5161 throw new TypeError(err)5162 }5163 var ms =5164 args.slice().reverse()5165 var head =5166 ms[0]5167 if(!isSemigroupoid(head)) {5168 throw new TypeError(err)5169 }5170 if(ms.length === 1) {5171 return head5172 }5173 return ms.slice().reduce(function (comp, m) {5174 if(!isSameType(comp, m)) {5175 throw new TypeError(err)5176 }5177 return comp.compose(m)5178 })5179}5180module.exports = composeS5181/***/ }),5182/* 155 */5183/***/ (function(module, exports, __webpack_require__) {5184/** @license ISC License (c) copyright 2016 original and current authors */5185/** @author Ian Hofmann-Hicks (evil) */5186var _curry = __webpack_require__(3)5187var isFunction = __webpack_require__(4)5188// curry : ((a, b, c) -> d) -> a -> b -> c -> d5189function curry(fn) {5190 if(!isFunction(fn)) {5191 throw new TypeError('curry: Function required')5192 }5193 return _curry(fn)5194}5195module.exports = curry5196/***/ }),5197/* 156 */5198/***/ (function(module, exports, __webpack_require__) {5199/** @license ISC License (c) copyright 2017 original and current authors */5200/** @author Ian Hofmann-Hicks (evil) */5201var curry = __webpack_require__(3)5202var isObject = __webpack_require__(31)5203var object = __webpack_require__(146)5204// defaultProps : Object -> Object -> Object5205function defaultProps(x, m) {5206 if(!isObject(x) || !isObject(m)) {5207 throw new TypeError('defaultProps: Objects required for both arguments')5208 }5209 return object.assign(m, x)5210}5211module.exports = curry(defaultProps)5212/***/ }),5213/* 157 */5214/***/ (function(module, exports, __webpack_require__) {5215/** @license ISC License (c) copyright 2017 original and current authors */5216/** @author Ian Hofmann-Hicks (evil) */5217var curry = __webpack_require__(3)5218var isNil = __webpack_require__(41)5219// defaultTo : a -> b -> (a | b)5220function defaultTo(def, val) {5221 return isNil(val) ? def : val5222}5223module.exports = curry(defaultTo)5224/***/ }),5225/* 158 */5226/***/ (function(module, exports, __webpack_require__) {5227/** @license ISC License (c) copyright 2017 original and current authors */5228/** @author Ian Hofmann-Hicks (evil) */5229var unsetProp = __webpack_require__(159)5230module.exports =5231 unsetProp.origFn('dissoc')5232/***/ }),5233/* 159 */5234/***/ (function(module, exports, __webpack_require__) {5235/** @license ISC License (c) copyright 2019 original and current authors */5236/** @author Ian Hofmann-Hicks (evil) */5237var curry = __webpack_require__(3)5238var isArray = __webpack_require__(45)5239var isEmpty = __webpack_require__(30)5240var isInteger = __webpack_require__(39)5241var isObject = __webpack_require__(31)5242var isString = __webpack_require__(36)5243var array = __webpack_require__(115)5244var object = __webpack_require__(146)5245function fn(name) {5246 function unsetProp(key, obj) {5247 if(!(isObject(obj) || isArray(obj))) {5248 return obj5249 }5250 if(!(isString(key) && !isEmpty(key) || isInteger(key) && key >= 0)) {5251 throw new TypeError(5252 (name + ": Non-empty String required or Positive Integer required for first argument")5253 )5254 }5255 if(isObject(obj)) {5256 if(isString(key) && !isEmpty(key)) {5257 return object.unset(key, obj)5258 }5259 }5260 if(isArray(obj)) {5261 if(isInteger(key) && key >= 0) {5262 return array.unset(key, obj)5263 }5264 }5265 return obj5266 }5267 return curry(unsetProp)5268}5269var unsetProp =5270 fn('unsetProp')5271unsetProp.origFn =5272 fn5273module.exports =5274 unsetProp5275/***/ }),5276/* 160 */5277/***/ (function(module, exports, __webpack_require__) {5278/** @license ISC License (c) copyright 2017 original and current authors */5279/** @author Ian Hofmann-Hicks (evil) */5280var Pair = __webpack_require__(17).proxy('Pair')5281var isFoldable = __webpack_require__(43)5282var isSameType = __webpack_require__(18)5283var isString = __webpack_require__(36)5284function foldPairs(acc, pair) {5285 var obj;5286 if(!isSameType(Pair, pair)) {5287 throw new TypeError('fromPairs: Foldable of Pairs required for argument')5288 }5289 var key = pair.fst()5290 var value = pair.snd()5291 if(!isString(key)) {5292 throw new TypeError('fromPairs: String required for fst of every Pair')5293 }5294 return value !== undefined5295 ? Object.assign(acc, ( obj = {}, obj[key] = value, obj ))5296 : acc5297}5298// fromPairs : Foldable f => f (Pair String a) -> Object5299function fromPairs(xs) {5300 if(!isFoldable(xs)) {5301 throw new TypeError('fromPairs: Foldable of Pairs required for argument')5302 }5303 return xs.reduce(foldPairs, {})5304}5305module.exports = fromPairs5306/***/ }),5307/* 161 */5308/***/ (function(module, exports, __webpack_require__) {5309/** @license ISC License (c) copyright 2019 original and current authors */5310/** @author Ian Hofmann-Hicks */5311var curry = __webpack_require__(3)5312var isArray = __webpack_require__(45)5313var isDefined = __webpack_require__(29)5314var isEmpty = __webpack_require__(30)5315var isInteger = __webpack_require__(39)5316var isNil = __webpack_require__(41)5317var isString = __webpack_require__(36)5318var errFn = function (name) { return (name + ": Array of Non-empty Strings or Integers required for second argument"); }5319function fn(name) {5320 function getPathOr(def, keys, target) {5321 if(!isArray(keys)) {5322 throw new TypeError(errFn(name))5323 }5324 if(isNil(target)) {5325 return def5326 }5327 var value = target5328 for(var i = 0; i < keys.length; i++) {5329 var key = keys[i]5330 if(!(isString(key) && !isEmpty(key) || isInteger(key))) {5331 throw new TypeError(errFn(name))5332 }5333 if(isNil(value)) {5334 return def5335 }5336 value = value[key]5337 if(!isDefined(value)) {5338 return def5339 }5340 }5341 return value5342 }5343 return curry(getPathOr)5344}5345// getPathOr :: a -> [ String | Integer ] -> b -> c5346var getPathOr =5347 fn('getPathOr')5348getPathOr.origFn =5349 fn5350module.exports =5351 getPathOr5352/***/ }),5353/* 162 */5354/***/ (function(module, exports, __webpack_require__) {5355/** @license ISC License (c) copyright 2016 original and current authors */5356/** @author Ian Hofmann-Hicks (evil) */5357var array = __webpack_require__(115)5358var curry = __webpack_require__(3)5359var isApply = __webpack_require__(51)5360var isArray = __webpack_require__(45)5361var isFunction = __webpack_require__(4)5362var isSameType = __webpack_require__(18)5363var map = array.map5364var ap = array.ap5365// liftA2 :: Applicative m => (a -> b -> c) -> m a -> m b -> m c5366function liftA2(fn, x, y) {5367 if(!isFunction(fn)) {5368 throw new TypeError('liftA2: Function required for first argument')5369 }5370 if(!((isApply(x) || isArray(x)) && isSameType(x, y))) {5371 throw new TypeError('liftA2: Applys of same type required for last two arguments')5372 }5373 if(isArray(x)) {5374 return ap(y, map(fn, x))5375 }5376 return x.map(fn).ap(y)5377}5378module.exports = curry(liftA2)5379/***/ }),5380/* 163 */5381/***/ (function(module, exports, __webpack_require__) {5382/** @license ISC License (c) copyright 2016 original and current authors */5383/** @author Ian Hofmann-Hicks (evil) */5384var array = __webpack_require__(115)5385var curry = __webpack_require__(3)5386var isApply = __webpack_require__(51)5387var isArray = __webpack_require__(45)5388var isFunction = __webpack_require__(4)5389var isSameType = __webpack_require__(18)5390var map = array.map5391var ap = array.ap5392// liftA3 :: Applicative m => (a -> b -> c -> d) -> m a -> m b -> m c -> m d5393function liftA3(fn, x, y, z) {5394 if(!isFunction(fn)) {5395 throw new TypeError('liftA3: Function required for first argument')5396 }5397 else if(!((isApply(x) || isArray(x)) && isSameType(x, y) && isSameType(x, z))) {5398 throw new TypeError('liftA3: Applys of same type required for last three arguments')5399 }5400 if(isArray(x)) {5401 return ap(z, ap(y, map(fn, x)))5402 }5403 return x.map(fn).ap(y).ap(z)5404}5405module.exports = curry(liftA3)5406/***/ }),5407/* 164 */5408/***/ (function(module, exports, __webpack_require__) {5409/** @license ISC License (c) copyright 2017 original and current authors */5410/** @author Ian Hofmann-Hicks (evil) */5411var array = __webpack_require__(115)5412var curry = __webpack_require__(3)5413var curryN = __webpack_require__(150)5414var isApply = __webpack_require__(51)5415var isArray = __webpack_require__(45)5416var isFunction = __webpack_require__(4)5417var isFunctor = __webpack_require__(48)5418var isInteger = __webpack_require__(39)5419var isSameType = __webpack_require__(18)5420var ap = array.ap5421var applyAp = function (x, y) {5422 if(!(isSameType(x, y) && (isArray(y) || isApply(y)))) {5423 throw new TypeError('liftN: Applys of same type are required')5424 }5425 if(isArray(x)) {5426 return ap(y, x)5427 }5428 return x.ap(y)5429}5430function liftN(n, fn) {5431 if(!isInteger(n)) {5432 throw new TypeError('liftN: Integer required for first argument')5433 }5434 if(!isFunction(fn)) {5435 throw new TypeError('liftN: Function required for second argument')5436 }5437 return curryN(n, function() {5438 var args = [], len = arguments.length;5439 while ( len-- ) args[ len ] = arguments[ len ];5440 if(!isFunctor(args[0])) {5441 throw new TypeError('liftN: Applys of same type are required')5442 }5443 return args.slice(1, n).reduce(5444 applyAp,5445 args[0].map(function (x) { return curryN(n, fn)(x); })5446 )5447 })5448}5449module.exports = curry(liftN)5450/***/ }),5451/* 165 */5452/***/ (function(module, exports, __webpack_require__) {5453/** @license ISC License (c) copyright 2019 original and current authors */5454/** @author Ian Hofmann-Hicks */5455var curry = __webpack_require__(3)5456var isDefined = __webpack_require__(29)5457var isEmpty = __webpack_require__(30)5458var isInteger = __webpack_require__(39)5459var isNil = __webpack_require__(41)5460var isString = __webpack_require__(36)5461function fn(name) {5462 function getPropOr(def, key, target) {5463 if(!(isString(key) && !isEmpty(key) || isInteger(key))) {5464 throw new TypeError((name + ": Non-empty String or Integer required for second argument"))5465 }5466 if(isNil(target)) {5467 return def5468 }5469 var value = target[key]5470 return isDefined(value)5471 ? value5472 : def5473 }5474 return curry(getPropOr)5475}5476// getPropOr : a -> (String | Integer) -> b -> c5477var getPropOr =5478 fn('getPropOr')5479getPropOr.origFn =5480 fn5481module.exports = getPropOr5482/***/ }),5483/* 166 */5484/***/ (function(module, exports, __webpack_require__) {5485/** @license ISC License (c) copyright 2017 original and current authors */5486/** @author Ian Hofmann-Hicks (evil) */5487var curry = __webpack_require__(3)5488var isObject = __webpack_require__(31)5489var isFunction = __webpack_require__(4)5490var isNil = __webpack_require__(41)5491// applyMap :: ({ (* -> *) }, Object) -> (Object , String) -> Object5492var applyMap = function (fns, obj) { return function(acc, key) {5493 var obj$1, obj$2, obj$3;5494 if(isNil(fns[key])) {5495 return Object.assign({}, acc, ( obj$1 = {}, obj$1[key] = obj[key], obj$1 ))5496 }5497 if(isObject(fns[key])) {5498 return Object.assign({}, acc, ( obj$2 = {}, obj$2[key] = isObject(obj[key]) ? mapProps(fns[key], obj[key]) : obj[key], obj$2 ))5499 }5500 if(!isFunction(fns[key])) {5501 throw new TypeError('mapProps: Object of functions required for first argument')5502 }5503 return Object.assign({}, acc, ( obj$3 = {}, obj$3[key] = fns[key](obj[key]), obj$3 ))5504 }; }5505// mapProps :: { (* -> *) } -> Object -> Object5506function mapProps(fns, obj) {5507 if(!(isObject(fns) && isObject(obj))) {5508 throw new TypeError('mapProps: Objects required for both arguments')5509 }5510 return Object.keys(obj)5511 .reduce(applyMap(fns, obj), {})5512}5513module.exports = curry(mapProps)5514/***/ }),5515/* 167 */5516/***/ (function(module, exports, __webpack_require__) {5517/** @license ISC License (c) copyright 2017 original and current authors */5518/** @author Ian Hofmann-Hicks (evil) */5519var curry = __webpack_require__(3)5520var isFoldable = __webpack_require__(43)5521var isFunction = __webpack_require__(4)5522function mapReduce(mapFn, reduceFn, empty, xs) {5523 if(!isFunction(mapFn)) {5524 throw new TypeError('mapReduce: Unary mapping function required for first argument')5525 }5526 if(!isFunction(reduceFn)) {5527 throw new TypeError('mapReduce: Binary reduction function required for second argument')5528 }5529 if(!isFoldable(xs)) {5530 throw new TypeError('mapReduce: Foldable required for fourth argument')5531 }5532 return xs.reduce(5533 function (acc, x) { return reduceFn(acc, mapFn(x)); },5534 empty5535 )5536}5537module.exports = curry(mapReduce)5538/***/ }),5539/* 168 */5540/***/ (function(module, exports, __webpack_require__) {5541/** @license ISC License (c) copyright 2016 original and current authors */5542/** @author Ian Hofmann-Hicks (evil) */5543var curry = __webpack_require__(3)5544var isFoldable = __webpack_require__(43)5545var isMonoid = __webpack_require__(32)5546var mconcatMap = __webpack_require__(169)5547var identity = function (x) { return x; }5548// mconcat : Monoid m => m -> ([ a ] | List a) -> m a5549function mconcat(m, xs) {5550 if(!isMonoid(m)) {5551 throw new TypeError(5552 'mconcat: Monoid required for first argument'5553 )5554 }5555 if(!isFoldable(xs)) {5556 throw new TypeError(5557 'mconcat: Foldable required for second argument'5558 )5559 }5560 return mconcatMap(m, identity, xs)5561}5562module.exports = curry(mconcat)5563/***/ }),5564/* 169 */5565/***/ (function(module, exports, __webpack_require__) {5566/** @license ISC License (c) copyright 2016 original and current authors */5567/** @author Ian Hofmann-Hicks (evil) */5568var compose = __webpack_require__(7)5569var foldWith =5570 function (m) { return function (x, y) { return x.concat(m(y)); }; }5571// mconcatMap :: Monoid M => M -> (b -> a) -> ([ b ] | List b) -> M a5572function mconcatMap(M, f, xs) {5573 return xs.reduce(foldWith(compose(M, f)), M.empty())5574}5575module.exports = mconcatMap5576/***/ }),5577/* 170 */5578/***/ (function(module, exports, __webpack_require__) {5579/** @license ISC License (c) copyright 2016 original and current authors */5580/** @author Ian Hofmann-Hicks (evil) */5581var _mconcatMap = __webpack_require__(169)5582var curry = __webpack_require__(3)5583var isFoldable = __webpack_require__(43)5584var isFunction = __webpack_require__(4)5585var isMonoid = __webpack_require__(32)5586// mconcatMap : Monoid M => M -> (b -> a) -> ([ b ] | List b) -> M a5587function mconcatMap(m, f, xs) {5588 if(!isMonoid(m)) {5589 throw new TypeError(5590 'mconcatMap: Monoid required for first argument'5591 )5592 }5593 if(!isFunction(f)) {5594 throw new TypeError(5595 'mconcatMap: Function required for second argument'5596 )5597 }5598 if(!isFoldable(xs)) {5599 throw new TypeError(5600 'mconcatMap: Foldable required for third argument'5601 )5602 }5603 return _mconcatMap(m, f, xs)5604}5605module.exports = curry(mconcatMap)5606/***/ }),5607/* 171 */5608/***/ (function(module, exports, __webpack_require__) {5609/** @license ISC License (c) copyright 2016 original and current authors */5610/** @author Ian Hofmann-Hicks (evil) */5611var curry = __webpack_require__(3)5612var isFoldable = __webpack_require__(43)5613var isMonoid = __webpack_require__(32)5614var mconcatMap = __webpack_require__(169)5615var identity = function (x) { return x; }5616// mreduce : Monoid M => M -> ([ a ] | List a) -> a5617function mreduce(m, xs) {5618 if(!isMonoid(m)) {5619 throw new TypeError(5620 'mreduce: Monoid required for first argument'5621 )5622 }5623 if(!isFoldable(xs)) {5624 throw new TypeError(5625 'mreduce: Foldable required for second argument'5626 )5627 }5628 return mconcatMap(m, identity, xs).valueOf()5629}5630module.exports = curry(mreduce)5631/***/ }),5632/* 172 */5633/***/ (function(module, exports, __webpack_require__) {5634/** @license ISC License (c) copyright 2016 original and current authors */5635/** @author Ian Hofmann-Hicks (evil) */5636var curry = __webpack_require__(3)5637var isFoldable = __webpack_require__(43)5638var isFunction = __webpack_require__(4)5639var isMonoid = __webpack_require__(32)5640var mconcatMap = __webpack_require__(169)5641// mreduceMap :: Monoid M => M -> (b -> a) -> ( [ b ] | List b ) -> a5642function mreduceMap(m, f, xs) {5643 if(!isMonoid(m)) {5644 throw new TypeError(5645 'mreduceMap: Monoid required for first argument'5646 )5647 }5648 if(!isFunction(f)) {5649 throw new TypeError(5650 'mreduceMap: Function required for second argument'5651 )5652 }5653 if(!isFoldable(xs)) {5654 throw new TypeError(5655 'mreduceMap: Foldable required for third argument'5656 )5657 }5658 return mconcatMap(m, f, xs).valueOf()5659}5660module.exports = curry(mreduceMap)5661/***/ }),5662/* 173 */5663/***/ (function(module, exports, __webpack_require__) {5664/** @license ISC License (c) copyright 2017 original and current authors */5665/** @author Ian Hofmann-Hicks (evil) */5666var curry = __webpack_require__(3)5667var curryN = __webpack_require__(150)5668var isFunction = __webpack_require__(4)5669var isNumber = __webpack_require__(40)5670// nAry : Number -> (* -> a) -> * -> * -> a5671function nAry(num, fn) {5672 if(!isNumber(num)) {5673 throw new TypeError('nAry: Number required for first argument')5674 }5675 if(!isFunction(fn)) {5676 throw new TypeError('nAry: Function required for second argument')5677 }5678 return curryN(num, fn)5679}5680module.exports = curry(nAry)5681/***/ }),5682/* 174 */5683/***/ (function(module, exports, __webpack_require__) {5684/** @license ISC License (c) copyright 2017 original and current authors */5685/** @author Ian Hofmann-Hicks (evil) */5686var curry = __webpack_require__(3)5687var isString = __webpack_require__(36)5688// objOf : String -> a -> Object5689function objOf(key, value) {5690 var obj;5691 if(!(key && isString(key))) {5692 throw new TypeError('objOf: Non-empty String required for first argument')5693 }5694 return ( obj = {}, obj[key] = value, obj )5695}5696module.exports = curry(objOf)5697/***/ }),5698/* 175 */5699/***/ (function(module, exports, __webpack_require__) {5700/** @license ISC License (c) copyright 2017 original and current authors */5701/** @author Ian Hofmann-Hicks (evil) */5702var curry = __webpack_require__(3)5703var isFoldable = __webpack_require__(43)5704var isObject = __webpack_require__(31)5705function omitKeys(keys, obj) {5706 return function(acc, key) {5707 var obj$1;5708 return keys.indexOf(key) === -1 && obj[key] !== undefined5709 ? Object.assign(acc, ( obj$1 = {}, obj$1[key] = obj[key], obj$1 ))5710 : acc5711 }5712}5713// omit : [ String ] -> Object -> Object5714function omit(keys, obj) {5715 if(!isFoldable(keys)) {5716 throw new TypeError('omit: Foldable required for first argument')5717 }5718 else if(!isObject(obj)) {5719 throw new TypeError('omit: Object required for second argument')5720 }5721 return Object.keys(obj).reduce(omitKeys(keys, obj), {})5722}5723module.exports = curry(omit)5724/***/ }),5725/* 176 */5726/***/ (function(module, exports, __webpack_require__) {5727/** @license ISC License (c) copyright 2017 original and current authors */5728/** @author Ian Hofmann-Hicks (evil) */5729var isFunction = __webpack_require__(4)5730var _once = __webpack_require__(118)5731// once : ((*) -> b) -> ((*) -> b)5732function once(fn) {5733 if(!isFunction(fn)) {5734 throw new TypeError('once: Function required')5735 }5736 return _once(fn)5737}5738module.exports = once5739/***/ }),5740/* 177 */5741/***/ (function(module, exports, __webpack_require__) {5742/** @license ISC License (c) copyright 2017 original and current authors */5743/** @author Ian Hofmann-Hicks (evil) */5744var curry = __webpack_require__(3)5745var isFunction = __webpack_require__(4)5746// partial : ((* -> c), *) -> * -> c5747function partial() {5748 var args = [], len = arguments.length;5749 while ( len-- ) args[ len ] = arguments[ len ];5750 var fn = args[0]5751 var xs = args.slice(1)5752 if(!isFunction(fn)) {5753 throw new TypeError('partial: Function required for first argument')5754 }5755 return curry(5756 Function.bind.apply(fn, [ null ].concat(xs))5757 )5758}5759module.exports = partial5760/***/ }),5761/* 178 */5762/***/ (function(module, exports, __webpack_require__) {5763/** @license ISC License (c) copyright 2017 original and current authors */5764/** @author Ian Hofmann-Hicks (evil) */5765var curry = __webpack_require__(3)5766var isFoldable = __webpack_require__(43)5767var isObject = __webpack_require__(31)5768var isString = __webpack_require__(36)5769function pickKeys(obj) {5770 return function(acc, key) {5771 var obj$1;5772 if(!isString(key)) {5773 throw new TypeError('pick: Foldable of Strings is required for first argument')5774 }5775 return key && obj[key] !== undefined5776 ? Object.assign(acc, ( obj$1 = {}, obj$1[key] = obj[key], obj$1 ))5777 : acc5778 }5779}5780// pick : ([ String ] | List String) -> Object -> Object5781function pick(keys, obj) {5782 if(!isFoldable(keys)) {5783 throw new TypeError('pick: Foldable required for first argument')5784 }5785 else if(!isObject(obj)) {5786 throw new TypeError('pick: Object required for second argument')5787 }5788 return keys.reduce(pickKeys(obj), {})5789}5790module.exports = curry(pick)5791/***/ }),5792/* 179 */5793/***/ (function(module, exports, __webpack_require__) {5794/** @license ISC License (c) copyright 2016 original and current authors */5795/** @author Ian Hofmann-Hicks (evil) */5796var isFunction = __webpack_require__(4)5797var err = 'pipe: Functions required'5798function applyPipe(f, g) {5799 if(!isFunction(g)) {5800 throw new TypeError(err)5801 }5802 return function() {5803 var args = [], len = arguments.length;5804 while ( len-- ) args[ len ] = arguments[ len ];5805 return g.call(null, f.apply(null, args))5806 }5807}5808// pipe : ((a -> b), (b -> c), ..., (y -> z)) -> a -> z5809function pipe() {5810 var fns = [], len = arguments.length;5811 while ( len-- ) fns[ len ] = arguments[ len ];5812 if(!arguments.length) {5813 throw new TypeError(err)5814 }5815 var head =5816 fns[0]5817 if(!isFunction(head)) {5818 throw new TypeError(err)5819 }5820 var tail =5821 fns.slice(1).concat(function (x) { return x; })5822 return tail.reduce(applyPipe, head)5823}5824module.exports = pipe5825/***/ }),5826/* 180 */5827/***/ (function(module, exports, __webpack_require__) {5828/** @license ISC License (c) copyright 2017 original and current authors */5829/** @author Ian Hofmann-Hicks (evil) */5830var isChain = __webpack_require__(64)5831var isFunction = __webpack_require__(4)5832var err = 'pipeK: Chain returning functions of the same type required'5833function pipeK(head) {5834 var fns = [], len = arguments.length - 1;5835 while ( len-- > 0 ) fns[ len ] = arguments[ len + 1 ];5836 if(!(arguments.length && isFunction(head))) {5837 throw new TypeError(err)5838 }5839 if(arguments.length === 1) {5840 return head5841 }5842 var tail = fns.reduce(function (comp, fn) {5843 if(!isFunction(fn)) {5844 throw new TypeError(err)5845 }5846 return function(m) {5847 if(!isChain(m)) {5848 throw new TypeError(err)5849 }5850 return comp(m).chain(fn)5851 }5852 }, function (x) { return x; })5853 return function() {5854 return tail(head.apply(null, arguments))5855 }5856}5857module.exports = pipeK5858/***/ }),5859/* 181 */5860/***/ (function(module, exports, __webpack_require__) {5861/** @license ISC License (c) copyright 2017 original and current authors */5862/** @author Ian Hofmann-Hicks (evil) */5863var isFunction = __webpack_require__(4)5864var isPromise = __webpack_require__(93)5865var err = 'pipeP: Promise returning functions required'5866function applyPipe(f, g) {5867 if(!isFunction(g)) {5868 throw new TypeError(err)5869 }5870 return function() {5871 var p = f.apply(null, arguments)5872 if(!isPromise(p)) {5873 throw new TypeError(err)5874 }5875 return p.then(g)5876 }5877}5878// pipeP : Promise p => ((a -> p b), (b -> p c), ..., (y -> p z)) -> a -> p z5879function pipeP() {5880 var fns = [], len = arguments.length;5881 while ( len-- ) fns[ len ] = arguments[ len ];5882 if(!arguments.length) {5883 throw new TypeError(err)5884 }5885 var head =5886 fns[0]5887 if(!isFunction(head)) {5888 throw new TypeError(err)5889 }5890 var tail =5891 fns.slice(1).concat(function (x) { return x; })5892 return tail.reduce(applyPipe, head)5893}5894module.exports = pipeP5895/***/ }),5896/* 182 */5897/***/ (function(module, exports, __webpack_require__) {5898/** @license ISC License (c) copyright 2017 original and current authors */5899/** @author Ian Hofmann-Hicks (evil) */5900var isSameType = __webpack_require__(18)5901var isSemigroupoid = __webpack_require__(62)5902var err = 'pipeS: Semigroupoids of the same type required'5903// pipeS : Semigroupoid s => (s a b, s b c, ..., s y z) -> s a z5904function pipeS() {5905 var ms = [], len = arguments.length;5906 while ( len-- ) ms[ len ] = arguments[ len ];5907 if(!arguments.length) {5908 throw new TypeError(err)5909 }5910 var head =5911 ms[0]5912 if(!isSemigroupoid(head)) {5913 throw new TypeError(err)5914 }5915 if(ms.length === 1) {5916 return head5917 }5918 return ms.slice().reduce(function (comp, m) {5919 if(!isSameType(comp, m)) {5920 throw new TypeError(err)5921 }5922 return comp.compose(m)5923 })5924}5925module.exports = pipeS5926/***/ }),5927/* 183 */5928/***/ (function(module, exports, __webpack_require__) {5929/** @license ISC License (c) copyright 2017 original and current authors */5930/** @author Henrique Limas */5931/** @author Ian Hofmann-Hicks */5932var getPropOr = __webpack_require__(165)5933module.exports =5934 getPropOr.origFn('propOr')5935/***/ }),5936/* 184 */5937/***/ (function(module, exports, __webpack_require__) {5938/** @license ISC License (c) copyright 2017 original and current authors */5939/** @author Henrique Limas */5940/** @author Ian Hofmann-Hicks */5941var getPathOr = __webpack_require__(161)5942module.exports =5943 getPathOr.origFn('propPathOr')5944/***/ }),5945/* 185 */5946/***/ (function(module, exports, __webpack_require__) {5947/** @license ISC License (c) copyright 2018 original and current authors */5948/** @author Ian Hofmann-Hicks (evil) */5949var array = __webpack_require__(115)5950var curry = __webpack_require__(3)5951var isArray = __webpack_require__(45)5952var isEmpty = __webpack_require__(30)5953var isInteger = __webpack_require__(39)5954var isObject = __webpack_require__(31)5955var isString = __webpack_require__(36)5956var object = __webpack_require__(146)5957var isValid = function (x) { return isObject(x) || isArray(x); }5958var pathErr =5959 'setPath: Non-empty Array of non-empty Strings and/or Positive Integers required for first argument'5960// setPath :: [ String | Integer ] -> a -> (Object | Array) -> (Object | Array)5961function setPath(path, val, obj) {5962 if(!isArray(path) || isEmpty(path)) {5963 throw new TypeError(pathErr)5964 }5965 if(!isValid(obj)) {5966 throw new TypeError(5967 'setPath: Object or Array required for third argument'5968 )5969 }5970 var key = path[0]5971 var newVal = val5972 if(!(isString(key) && !isEmpty(key) || isInteger(key) && key >= 0)) {5973 throw new TypeError(pathErr)5974 }5975 if(path.length > 1) {5976 var next = !isValid(obj[key])5977 ? isInteger(path[1]) ? [] : {}5978 : obj[key]5979 newVal = setPath(path.slice(1), val, next)5980 }5981 if(isObject(obj)) {5982 if(isString(key)) {5983 return object.set(key, newVal, obj)5984 }5985 throw new TypeError(5986 'setPath: Non-empty String required in path when referencing an Object'5987 )5988 }5989 if(isInteger(key)) {5990 return array.set(key, newVal, obj)5991 }5992 throw new TypeError(5993 'setPath: Positive Integers required in path when referencing an Array'5994 )5995}5996module.exports = curry(setPath)5997/***/ }),5998/* 186 */5999/***/ (function(module, exports, __webpack_require__) {6000/** @license ISC License (c) copyright 2017 original and current authors */6001/** @author Ian Hofmann-Hicks (evil) */6002var curry = __webpack_require__(3)6003var compose = __webpack_require__(7)6004var isFunction = __webpack_require__(4)6005var constant = function (x) { return function () { return x; }; }6006// tap : (a -> b) -> a -> a6007function tap(fn, x) {6008 if(!isFunction(fn)) {6009 throw new TypeError(6010 'tap: Function required for first argument'6011 )6012 }6013 return compose(constant(x), fn)(x)6014}6015module.exports = curry(tap)6016/***/ }),6017/* 187 */6018/***/ (function(module, exports, __webpack_require__) {6019/** @license ISC License (c) copyright 2017 original and current authors */6020/** @author Ian Hofmann-Hicks (evil) */6021var isFunction = __webpack_require__(4)6022// unary : (* -> b) -> a -> b6023function unary(fn) {6024 if(!isFunction(fn)) {6025 throw new TypeError('unary: Function required')6026 }6027 return function(x) {6028 return fn(x)6029 }6030}6031module.exports = unary6032/***/ }),6033/* 188 */6034/***/ (function(module, exports, __webpack_require__) {6035/** @license ISC License (c) copyright 2017 original and current authors */6036/** @author Ian Hofmann-Hicks (evil) */6037module.exports =6038 __webpack_require__(119)6039/***/ }),6040/* 189 */6041/***/ (function(module, exports, __webpack_require__) {6042/** @license ISC License (c) copyright 2018 original and current authors */6043/** @author Ian Hofmann-Hicks (evil) */6044var curry = __webpack_require__(3)6045var isArray = __webpack_require__(45)6046var isEmpty = __webpack_require__(30)6047var isInteger = __webpack_require__(39)6048var isObject = __webpack_require__(31)6049var isString = __webpack_require__(36)6050var array = __webpack_require__(115)6051var object = __webpack_require__(146)6052var pathError =6053 'unsetPath: Non-empty Array of non-empty Strings and/or Positive Integers required for first argument'6054// unsetPath :: [ String | Integer ] -> a -> a6055function unsetPath(path, obj) {6056 if(!isArray(path) || isEmpty(path)) {6057 throw new TypeError(pathError)6058 }6059 if(!(isObject(obj) || isArray(obj))) {6060 return obj6061 }6062 var key = path[0]6063 if(!(isString(key) && !isEmpty(key) || isInteger(key) && key >= 0)) {6064 throw new TypeError(pathError)6065 }6066 if(path.length === 1) {6067 if(isArray(obj) && isInteger(key)) {6068 return array.unset(key, obj)6069 }6070 if(isObject(obj) && isString(key)) {6071 return object.unset(key, obj)6072 }6073 return obj6074 }6075 var next =6076 obj[key]6077 if(!(isObject(next) || isArray(next))) {6078 return obj6079 }6080 if(isArray(obj)) {6081 return array.set(key, unsetPath(path.slice(1), next), obj)6082 }6083 return object.set(key, unsetPath(path.slice(1), next), obj)6084}6085module.exports = curry(unsetPath)6086/***/ }),6087/* 190 */6088/***/ (function(module, exports, __webpack_require__) {6089/** @license ISC License (c) copyright 2016 original and current authors */6090/** @author Ian Hofmann-Hicks (evil) */6091var Pair = __webpack_require__(132)6092// branch : a -> Pair a a6093function branch(x) {6094 return Pair(x, x)6095}6096module.exports = branch6097/***/ }),6098/* 191 */6099/***/ (function(module, exports, __webpack_require__) {6100/** @license ISC License (c) copyright 2017 original and current authors */6101/** @author Ian Hofmann-Hicks (evil) */6102var Pair = __webpack_require__(132)6103var curry = __webpack_require__(3)6104var isContravariant = __webpack_require__(66)6105var isFunction = __webpack_require__(4)6106var isSameType = __webpack_require__(18)6107var isSemigroupoid = __webpack_require__(62)6108var valid = function (x, y) { return isSameType(x, y)6109 && isSemigroupoid(x)6110 && isContravariant(x)6111 && isFunction(x.first)6112 && isFunction(x.second); }6113// fanout : m a b -> m a c -> m a (b, c)6114function fanout(fst, snd) {6115 if(isFunction(fst) && isFunction(snd)) {6116 return function (x) { return Pair(fst(x), snd(x)); }6117 }6118 if(valid(fst, snd)) {6119 return fst.first()6120 .compose(snd.second())6121 .contramap(function (x) { return Pair(x, x); })6122 }6123 throw new TypeError(6124 'fanout: Arrows, Functions or Stars of the same type required for both arguments'6125 )6126}6127module.exports = curry(fanout)6128/***/ }),6129/* 192 */6130/***/ (function(module, exports, __webpack_require__) {6131/** @license ISC License (c) copyright 2018 original and current authors */6132/** @author Dale Francis (dalefrancis88) */6133var Pred = __webpack_require__(17).proxy('Pred')6134var curry = __webpack_require__(3)6135var predOrFunc = __webpack_require__(20)6136var isFunction = __webpack_require__(4)6137var isFoldable = __webpack_require__(43)6138var isSameType = __webpack_require__(18)6139var ref = __webpack_require__(130);6140var Just = ref.Just;6141var Nothing = ref.Nothing;6142var accumulator = function (fn) { return function (acc, cur) { return !acc.found && predOrFunc(fn, cur) ? { found: true, value: cur } : acc; }; }6143// find :: Foldable f => ((a -> Boolean) | Pred) -> f a -> Maybe a6144function find(fn, foldable) {6145 if(!isFunction(fn) && !isSameType(Pred, fn)) {6146 throw new TypeError('find: First argument must be a Pred or predicate')6147 }6148 if(!isFoldable(foldable)) {6149 throw new TypeError('find: Second argument must be a Foldable')6150 }6151 var result = foldable.reduce(accumulator(fn), { found: false })6152 return result.found ? Just(result.value) : Nothing()6153}6154module.exports = curry(find)6155/***/ }),6156/* 193 */6157/***/ (function(module, exports, __webpack_require__) {6158/** @license ISC License (c) copyright 2019 original and current authors */6159/** @author Ian Hofmann-Hicks (evil) */6160var ref = __webpack_require__(129);6161var Nothing = ref.Nothing;6162var Just = ref.Just;6163var curry = __webpack_require__(3)6164var isArray = __webpack_require__(45)6165var isDefined = __webpack_require__(29)6166var isEmpty = __webpack_require__(30)6167var isInteger = __webpack_require__(39)6168var isNil = __webpack_require__(41)6169var isString = __webpack_require__(36)6170function fn(name) {6171 function getPath(keys, target) {6172 if(!isArray(keys)) {6173 throw new TypeError((name + ": Array of Non-empty Strings or Integers required for first argument"))6174 }6175 if(isNil(target)) {6176 return Nothing()6177 }6178 var value = target6179 for(var i = 0; i < keys.length; i++) {6180 var key = keys[i]6181 if(!(isString(key) && !isEmpty(key) || isInteger(key))) {6182 throw new TypeError((name + ": Array of Non-empty Strings or Integers required for first argument"))6183 }6184 if(isNil(value)) {6185 return Nothing()6186 }6187 value = value[key]6188 if(!isDefined(value)) {6189 return Nothing()6190 }6191 }6192 return Just(value)6193 }6194 return curry(getPath)6195}6196var getPath =6197 fn('getPath')6198getPath.origFn =6199 fn6200module.exports = getPath6201/***/ }),6202/* 194 */6203/***/ (function(module, exports, __webpack_require__) {6204/** @license ISC License (c) copyright 2019 original and current authors */6205/** @author Ian Hofmann-Hicks (evil) */6206var curry = __webpack_require__(3)6207var isDefined = __webpack_require__(29)6208var isEmpty = __webpack_require__(30)6209var isNil = __webpack_require__(41)6210var isInteger = __webpack_require__(39)6211var isString = __webpack_require__(36)6212var ref = __webpack_require__(129);6213var Nothing = ref.Nothing;6214var Just = ref.Just;6215function fn(name) {6216 function getProp(key, target) {6217 if(!(isString(key) && !isEmpty(key) || isInteger(key))) {6218 throw new TypeError((name + ": Non-empty String or Integer required for first argument"))6219 }6220 if(isNil(target)) {6221 return Nothing()6222 }6223 var value = target[key]6224 return isDefined(value)6225 ? Just(value)6226 : Nothing()6227 }6228 return curry(getProp)6229}6230var getProp =6231 fn('getProp')6232getProp.origFn =6233 fn6234module.exports = getProp6235/***/ }),6236/* 195 */6237/***/ (function(module, exports, __webpack_require__) {6238/** @license ISC License (c) copyright 2017 original and current authors */6239/** @author Ian Hofmann-Hicks (evil) */6240var getProp = __webpack_require__(194)6241module.exports =6242 getProp.origFn('prop')6243/***/ }),6244/* 196 */6245/***/ (function(module, exports, __webpack_require__) {6246/** @license ISC License (c) copyright 2017 original and current authors */6247/** @author Ian Hofmann-Hicks (evil) */6248var getPath = __webpack_require__(193)6249module.exports =6250 getPath.origFn('propPath')6251/***/ }),6252/* 197 */6253/***/ (function(module, exports, __webpack_require__) {6254/** @license ISC License (c) copyright 2016 original and current authors */6255/** @author Ian Hofmann-Hicks (evil) */6256var ref = __webpack_require__(129);6257var Nothing = ref.Nothing;6258var Just = ref.Just;6259var predOrFunc = __webpack_require__(20)6260var curry = __webpack_require__(3)6261var isPredOrFunc = __webpack_require__(16)6262// safe : ((a -> Boolean) | Pred) -> a -> Maybe a6263function safe(pred, x) {6264 if(!isPredOrFunc(pred)) {6265 throw new TypeError('safe: Pred or predicate function required for first argument')6266 }6267 return predOrFunc(pred, x)6268 ? Just(x)6269 : Nothing()6270}6271module.exports = curry(safe)6272/***/ }),6273/* 198 */6274/***/ (function(module, exports, __webpack_require__) {6275var ref = __webpack_require__(129);6276var Just = ref.Just;6277var Nothing = ref.Nothing;6278var curry = __webpack_require__(3)6279var isPredOrFunc = __webpack_require__(16)6280var isFunction = __webpack_require__(4)6281var predOrFunc = __webpack_require__(20)6282// safeAfter :: ((b -> Boolean) | Pred) -> (a -> b) -> a -> Maybe b6283function safeAfter(pred, fn) {6284 if(!isPredOrFunc(pred)) {6285 throw new TypeError('safeAfter: Pred or predicate function required for first argument')6286 }6287 if(!isFunction(fn)) {6288 throw new TypeError('safeAfter: Function required for second argument')6289 }6290 return function (x) {6291 var result = fn(x)6292 return predOrFunc(pred, result)6293 ? Just(result)6294 : Nothing()6295 }6296}6297module.exports = curry(safeAfter)6298/***/ }),6299/* 199 */6300/***/ (function(module, exports, __webpack_require__) {6301/** @license ISC License (c) copyright 2017 original and current authors */6302/** @author Ian Hofmann-Hicks (evil) */6303var compose = __webpack_require__(7)6304var curry = __webpack_require__(3)6305var isPredOrFunc = __webpack_require__(16)6306var isFunction = __webpack_require__(4)6307var safe = __webpack_require__(197)6308var map =6309 function (fn) { return function (m) { return m.map(fn); }; }6310// safeLift : ((a -> Boolean) | Pred) -> (a -> b) -> a -> Maybe b6311function safeLift(pred, fn) {6312 if(!isPredOrFunc(pred)) {6313 throw new TypeError('safeLift: Pred or predicate function required for first argument')6314 }6315 else if(!isFunction(fn)) {6316 throw new TypeError('safeLift: Function required for second argument')6317 }6318 return compose(map(fn), safe(pred))6319}6320module.exports = curry(safeLift)6321/***/ }),6322/* 200 */6323/***/ (function(module, exports, __webpack_require__) {6324/** @license ISC License (c) copyright 2017 original and current authors */6325/** @author Ian Hofmann-Hicks (evil) */6326var List = __webpack_require__(128)6327var Pair = __webpack_require__(132)6328var isObject = __webpack_require__(31)6329// toPairs : Object -> List (Pair String a)6330function toPairs(obj) {6331 if(!isObject(obj)) {6332 throw new TypeError('toPairs: Object required for argument')6333 }6334 return Object.keys(obj).reduce(6335 function (acc, key) { return obj[key] !== undefined6336 ? acc.concat(List.of(Pair(key, obj[key])))6337 : acc; },6338 List.empty()6339 )6340}6341module.exports = toPairs6342/***/ }),6343/* 201 */6344/***/ (function(module, exports, __webpack_require__) {6345/** @license ISC License (c) copyright 2017 original and current authors */6346/** @author Ian Hofmann-Hicks (evil) */6347var ref = __webpack_require__(137);6348var Err = ref.Err;6349var Ok = ref.Ok;6350var curry = __webpack_require__(3)6351var isFunction = __webpack_require__(4)6352function tryCatch(fn) {6353 if(!isFunction(fn)) {6354 throw new TypeError('tryCatch: Function required for first argument')6355 }6356 var safe = function() {6357 try { return Ok(fn.apply(this, arguments)) }6358 catch(e) { return Err(e) }6359 }6360 Object.defineProperty(safe, 'length', { value: fn.length })6361 return safe6362}6363module.exports = curry(tryCatch)6364/***/ }),6365/* 202 */6366/***/ (function(module, exports, __webpack_require__) {6367/** @license ISC License (c) copyright 2016 original and current authors */6368/** @author Ian Hofmann-Hicks (evil) */6369var VERSION = 26370var _implements = __webpack_require__(112)6371var _inspect = __webpack_require__(113)6372var _equals = __webpack_require__(37)6373var type = __webpack_require__(17).type('All')6374var _type = __webpack_require__(17).typeFn(type(), VERSION)6375var fl = __webpack_require__(34)6376var isFunction = __webpack_require__(4)6377var isNil = __webpack_require__(41)6378var isSameType = __webpack_require__(18)6379var _empty =6380 function () { return All(true); }6381function All(b) {6382 var obj;6383 var x = isNil(b) ? _empty().valueOf() : b6384 if(!arguments.length || isFunction(x)) {6385 throw new TypeError('All: Non-function value required')6386 }6387 var valueOf =6388 function () { return !!x; }6389 var empty =6390 _empty6391 var equals =6392 function (m) { return isSameType(All, m)6393 && _equals(x, m.valueOf()); }6394 var inspect =6395 function () { return ("All" + (_inspect(valueOf()))); }6396 function concat(method) {6397 return function(m) {6398 if(!isSameType(All, m)) {6399 throw new TypeError(("All." + method + ": All required"))6400 }6401 return All(m.valueOf() && valueOf())6402 }6403 }6404 return ( obj = {6405 inspect: inspect, toString: inspect,6406 equals: equals, valueOf: valueOf, type: type, empty: empty6407 }, obj['@@type'] = _type, obj.concat = concat('concat'), obj[fl.equals] = equals, obj[fl.concat] = concat(fl.concat), obj[fl.empty] = empty, obj.constructor = All, obj )6408}6409All['@@implements'] = _implements(6410 [ 'equals', 'concat', 'empty' ]6411)6412All.empty = _empty6413All.type = type6414All[fl.empty] = _empty6415All['@@type'] = _type6416module.exports = All6417/***/ }),6418/* 203 */6419/***/ (function(module, exports, __webpack_require__) {6420/** @license ISC License (c) copyright 2016 original and current authors */6421/** @author Ian Hofmann-Hicks (evil) */6422var VERSION = 26423var _implements = __webpack_require__(112)6424var _inspect = __webpack_require__(113)6425var _equals = __webpack_require__(37)6426var type = __webpack_require__(17).type('Any')6427var _type = __webpack_require__(17).typeFn(type(), VERSION)6428var fl = __webpack_require__(34)6429var isFunction = __webpack_require__(4)6430var isNil = __webpack_require__(41)6431var isSameType = __webpack_require__(18)6432var _empty =6433 function () { return Any(false); }6434function Any(b) {6435 var obj;6436 var x = isNil(b) ? _empty().valueOf() : b6437 if(!arguments.length || isFunction(x)) {6438 throw new TypeError('Any: Non-function value required')6439 }6440 var valueOf =6441 function () { return !!x; }6442 var empty =6443 _empty6444 var inspect =6445 function () { return ("Any" + (_inspect(valueOf()))); }6446 var equals =6447 function (m) { return isSameType(Any, m)6448 && _equals(x, m.valueOf()); }6449 function concat(method) {6450 return function(m) {6451 if(!isSameType(Any, m)) {6452 throw new TypeError(("Any." + method + ": Any required"))6453 }6454 return Any(m.valueOf() || valueOf())6455 }6456 }6457 return ( obj = {6458 inspect: inspect, toString: inspect,6459 equals: equals, valueOf: valueOf, type: type, empty: empty6460 }, obj['@@type'] = _type, obj.concat = concat('concat'), obj[fl.equals] = equals, obj[fl.concat] = concat(fl.concat), obj[fl.empty] = empty, obj.constructor = Any, obj )6461}6462Any['@@implements'] = _implements(6463 [ 'equals', 'concat', 'empty' ]6464)6465Any.empty = _empty6466Any.type = type6467Any[fl.empty] = _empty6468Any['@@type'] = _type6469module.exports = Any6470/***/ }),6471/* 204 */6472/***/ (function(module, exports, __webpack_require__) {6473/** @license ISC License (c) copyright 2016 original and current authors */6474/** @author Ian Hofmann-Hicks (evil) */6475var VERSION = 26476var _implements = __webpack_require__(112)6477var _inspect = __webpack_require__(113)6478var _object = __webpack_require__(146)6479var _equals = __webpack_require__(37)6480var type = __webpack_require__(17).type('Assign')6481var _type = __webpack_require__(17).typeFn(type(), VERSION)6482var fl = __webpack_require__(34)6483var isNil = __webpack_require__(41)6484var isObject = __webpack_require__(31)6485var isSameType = __webpack_require__(18)6486var _empty =6487 function () { return Assign({}); }6488function Assign(o) {6489 var obj;6490 var x = isNil(o) ? _empty().valueOf() : o6491 if(!arguments.length || !isObject(x)) {6492 throw new TypeError('Assign: Object required')6493 }6494 var valueOf =6495 function () { return x; }6496 var empty =6497 _empty6498 var inspect =6499 function () { return ("Assign" + (_inspect(valueOf()))); }6500 var equals =6501 function (m) { return isSameType(Assign, m)6502 && _equals(x, m.valueOf()); }6503 function concat(method) {6504 return function(m) {6505 if(!isSameType(Assign, m)) {6506 throw new TypeError(("Assign." + method + ": Assign required"))6507 }6508 return Assign(_object.assign(m.valueOf(), x))6509 }6510 }6511 return ( obj = {6512 inspect: inspect, toString: inspect,6513 equals: equals, valueOf: valueOf, type: type, empty: empty,6514 concat: concat('concat')6515 }, obj[fl.equals] = equals, obj[fl.empty] = empty, obj[fl.concat] = concat(fl.concat), obj['@@type'] = _type, obj.constructor = Assign, obj )6516}6517Assign['@@implements'] = _implements(6518 [ 'equals', 'concat', 'empty' ]6519)6520Assign.empty = _empty6521Assign.type = type6522Assign[fl.empty] = _empty6523Assign['@@type'] = _type6524module.exports = Assign6525/***/ }),6526/* 205 */6527/***/ (function(module, exports, __webpack_require__) {6528/** @license ISC License (c) copyright 2017 original and current authors */6529/** @author Ian Hofmann-Hicks (evil) */6530var VERSION = 26531var _implements = __webpack_require__(112)6532var _inspect = __webpack_require__(113)6533var type = __webpack_require__(17).type('Endo')6534var _type = __webpack_require__(17).typeFn(type(), VERSION)6535var fl = __webpack_require__(34)6536var compose = __webpack_require__(7)6537var isFunction = __webpack_require__(4)6538var isSameType = __webpack_require__(18)6539var _empty =6540 function () { return Endo(function (x) { return x; }); }6541function Endo(runWith) {6542 var obj;6543 if(!isFunction(runWith)) {6544 throw new TypeError('Endo: Function value required')6545 }6546 var valueOf =6547 function () { return runWith; }6548 var empty =6549 _empty6550 var inspect =6551 function () { return ("Endo" + (_inspect(valueOf()))); }6552 function concat(method) {6553 return function(m) {6554 if(!isSameType(Endo, m)) {6555 throw new TypeError(("Endo." + method + ": Endo required"))6556 }6557 return Endo(compose(m.valueOf(), valueOf()))6558 }6559 }6560 return ( obj = {6561 inspect: inspect, toString: inspect,6562 valueOf: valueOf, type: type, empty: empty, runWith: runWith,6563 concat: concat('concat')6564 }, obj[fl.empty] = empty, obj[fl.concat] = concat(fl.concat), obj['@@type'] = _type, obj.constructor = Endo, obj )6565}6566Endo['@@implements'] = _implements(6567 [ 'concat', 'empty' ]6568)6569Endo.empty = _empty6570Endo.type = type6571Endo[fl.empty] = _empty6572Endo['@@type'] = _type6573module.exports = Endo6574/***/ }),6575/* 206 */6576/***/ (function(module, exports, __webpack_require__) {6577/** @license ISC License (c) copyright 2017 original and current authors */6578/** @author Ian Hofmann-Hicks (evil) */6579var VERSION = 26580var _implements = __webpack_require__(112)6581var _inspect = __webpack_require__(113)6582var _equals = __webpack_require__(37)6583var type = __webpack_require__(17).type('First')6584var _type = __webpack_require__(17).typeFn(type(), VERSION)6585var fl = __webpack_require__(34)6586var isSameType = __webpack_require__(18)6587var Maybe = __webpack_require__(129)6588var _empty =6589 function () { return First(Maybe.Nothing()); }6590function First(x) {6591 var obj;6592 if(!arguments.length) {6593 throw new TypeError('First: Requires one argument')6594 }6595 var maybe =6596 !isSameType(Maybe, x) ? Maybe.of(x) : x.map(function (x) { return x; })6597 var empty =6598 _empty6599 var inspect =6600 function () { return ("First(" + (_inspect(maybe)) + " )"); }6601 var equals =6602 function (m) { return isSameType(First, m)6603 && _equals(maybe, m.valueOf()); }6604 var valueOf =6605 function () { return maybe; }6606 var option =6607 maybe.option6608 function concat(method) {6609 return function(m) {6610 if(!isSameType(First, m)) {6611 throw new TypeError(("First." + method + ": First required"))6612 }6613 var n =6614 m.valueOf().map(function (x) { return x; })6615 return First(6616 maybe.either(function () { return n; }, Maybe.Just)6617 )6618 }6619 }6620 return ( obj = {6621 inspect: inspect, toString: inspect,6622 equals: equals, empty: empty, option: option, type: type, valueOf: valueOf,6623 concat: concat('concat')6624 }, obj[fl.equals] = equals, obj[fl.empty] = _empty, obj[fl.concat] = concat(fl.concat), obj['@@type'] = _type, obj.constructor = First, obj )6625}6626First['@@implements'] = _implements(6627 [ 'equals', 'concat', 'empty' ]6628)6629First.empty = _empty6630First.type = type6631First[fl.empty] = _empty6632First['@@type'] = _type6633module.exports = First6634/***/ }),6635/* 207 */6636/***/ (function(module, exports, __webpack_require__) {6637/** @license ISC License (c) copyright 2017 original and current authors */6638/** @author Ian Hofmann-Hicks (evil) */6639var VERSION = 26640var _implements = __webpack_require__(112)6641var _inspect = __webpack_require__(113)6642var _equals = __webpack_require__(37)6643var type = __webpack_require__(17).type('Last')6644var _type = __webpack_require__(17).typeFn(type(), VERSION)6645var fl = __webpack_require__(34)6646var isSameType = __webpack_require__(18)6647var Maybe = __webpack_require__(129)6648var _empty =6649 function () { return Last(Maybe.Nothing()); }6650function Last(x) {6651 var obj;6652 if(!arguments.length) {6653 throw new TypeError('Last: Requires one argument')6654 }6655 var maybe =6656 !isSameType(Maybe, x) ? Maybe.of(x) : x.map(function (x) { return x; })6657 var valueOf =6658 function () { return maybe; }6659 var empty =6660 _empty6661 var inspect =6662 function () { return ("Last(" + (_inspect(maybe)) + " )"); }6663 var equals =6664 function (m) { return isSameType(Last, m)6665 && _equals(maybe, m.valueOf()); }6666 var option =6667 maybe.option6668 function concat(method) {6669 return function(m) {6670 if(!isSameType(Last, m)) {6671 throw new TypeError(("Last." + method + ": Last required"))6672 }6673 var n =6674 m.valueOf().map(function (x) { return x; })6675 return Last(6676 maybe.either(6677 function () { return n; },6678 function () { return n.either(function () { return maybe; }, function () { return n; }); }6679 )6680 )6681 }6682 }6683 return ( obj = {6684 inspect: inspect, toString: inspect,6685 equals: equals, empty: empty, option: option, type: type, valueOf: valueOf,6686 concat: concat('concat')6687 }, obj[fl.equals] = equals, obj[fl.empty] = empty, obj[fl.concat] = concat(fl.concat), obj['@@type'] = _type, obj.constructor = Last, obj )6688}6689Last['@@implements'] = _implements(6690 [ 'equals', 'concat', 'empty' ]6691)6692Last.empty = _empty6693Last.type = type6694Last[fl.empty] = _empty6695Last['@@type'] = _type6696module.exports = Last6697/***/ }),6698/* 208 */6699/***/ (function(module, exports, __webpack_require__) {6700/** @license ISC License (c) copyright 2016 original and current authors */6701/** @author Ian Hofmann-Hicks (evil) */6702var VERSION = 26703var _implements = __webpack_require__(112)6704var _inspect = __webpack_require__(113)6705var _equals = __webpack_require__(37)6706var type = __webpack_require__(17).type('Max')6707var _type = __webpack_require__(17).typeFn(type(), VERSION)6708var fl = __webpack_require__(34)6709var isNil = __webpack_require__(41)6710var isNumber = __webpack_require__(40)6711var isSameType = __webpack_require__(18)6712var _empty =6713 function () { return Max(-Infinity); }6714function Max(n) {6715 var obj;6716 var x = isNil(n) ? _empty().valueOf() : n6717 if(!arguments.length || !isNumber(x)) {6718 throw new TypeError('Max: Numeric value required')6719 }6720 var valueOf =6721 function () { return x; }6722 var empty =6723 _empty6724 var inspect =6725 function () { return ("Max" + (_inspect(valueOf()))); }6726 var equals =6727 function (m) { return isSameType(Max, m)6728 && _equals(x, m.valueOf()); }6729 function concat(method) {6730 return function(m) {6731 if(!isSameType(Max, m)) {6732 throw new TypeError(("Max." + method + ": Max requried"))6733 }6734 return Max(Math.max(x, m.valueOf()))6735 }6736 }6737 return ( obj = {6738 inspect: inspect, toString: inspect,6739 equals: equals, valueOf: valueOf, type: type, empty: empty,6740 concat: concat('concat')6741 }, obj[fl.equals] = equals, obj[fl.empty] = empty, obj[fl.concat] = concat(fl.concat), obj['@@type'] = _type, obj.constructor = Max, obj )6742}6743Max['@@implements'] = _implements(6744 [ 'equals', 'concat', 'empty' ]6745)6746Max.empty = _empty6747Max.type = type6748Max[fl.empty] = _empty6749Max['@@type'] = _type6750module.exports = Max6751/***/ }),6752/* 209 */6753/***/ (function(module, exports, __webpack_require__) {6754/** @license ISC License (c) copyright 2016 original and current authors */6755/** @author Ian Hofmann-Hicks (evil) */6756var VERSION = 26757var _implements = __webpack_require__(112)6758var _inspect = __webpack_require__(113)6759var _equals = __webpack_require__(37)6760var type = __webpack_require__(17).type('Min')6761var _type = __webpack_require__(17).typeFn(type(), VERSION)6762var fl = __webpack_require__(34)6763var isNil = __webpack_require__(41)6764var isNumber = __webpack_require__(40)6765var isSameType = __webpack_require__(18)6766var _empty =6767 function () { return Min(Infinity); }6768function Min(n) {6769 var obj;6770 var x = isNil(n) ? _empty().valueOf() : n6771 if(!arguments.length || !isNumber(x)) {6772 throw new TypeError('Min: Numeric value required')6773 }6774 var valueOf =6775 function () { return x; }6776 var empty =6777 _empty6778 var inspect =6779 function () { return ("Min" + (_inspect(valueOf()))); }6780 var equals =6781 function (m) { return isSameType(Min, m)6782 && _equals(x, m.valueOf()); }6783 function concat(method) {6784 return function(m) {6785 if(!isSameType(Min, m)) {6786 throw new TypeError(("Min." + method + ": Min required"))6787 }6788 return Min(Math.min(x, m.valueOf()))6789 }6790 }6791 return ( obj = {6792 inspect: inspect, toString: inspect,6793 equals: equals, valueOf: valueOf, type: type, empty: empty,6794 concat: concat('concat')6795 }, obj[fl.equals] = equals, obj[fl.empty] = empty, obj[fl.concat] = concat(fl.concat), obj['@@type'] = _type, obj.constructor = Min, obj )6796}6797Min['@@implements'] = _implements(6798 [ 'equals', 'concat', 'empty' ]6799)6800Min.empty = _empty6801Min.type = type6802Min[fl.empty] = _empty6803Min['@@type'] = _type6804module.exports = Min6805/***/ }),6806/* 210 */6807/***/ (function(module, exports, __webpack_require__) {6808/** @license ISC License (c) copyright 2016 original and current authors */6809/** @author Ian Hofmann-Hicks (evil) */6810var VERSION = 26811var _implements = __webpack_require__(112)6812var _inspect = __webpack_require__(113)6813var _equals = __webpack_require__(37)6814var type = __webpack_require__(17).type('Prod')6815var _type = __webpack_require__(17).typeFn(type(), VERSION)6816var fl = __webpack_require__(34)6817var isNil = __webpack_require__(41)6818var isNumber = __webpack_require__(40)6819var isSameType = __webpack_require__(18)6820var _empty =6821 function () { return Prod(1); }6822function Prod(n) {6823 var obj;6824 var x = isNil(n) ? _empty().valueOf() : n6825 if(!arguments.length || !isNumber(x)) {6826 throw new TypeError('Prod: Numeric value required')6827 }6828 var valueOf =6829 function () { return x; }6830 var empty =6831 _empty6832 var inspect =6833 function () { return ("Prod" + (_inspect(valueOf()))); }6834 var equals =6835 function (m) { return isSameType(Prod, m)6836 && _equals(x, m.valueOf()); }6837 function concat(method) {6838 return function(m) {6839 if(!isSameType(Prod, m)) {6840 throw new TypeError(("Prod." + method + ": Prod required"))6841 }6842 return Prod(x * m.valueOf())6843 }6844 }6845 return ( obj = {6846 inspect: inspect, toString: inspect,6847 equals: equals, valueOf: valueOf, type: type, empty: empty,6848 concat: concat('concat')6849 }, obj[fl.equals] = equals, obj[fl.empty] = empty, obj[fl.concat] = concat(fl.concat), obj['@@type'] = _type, obj.constructor = Prod, obj )6850}6851Prod['@@implements'] = _implements(6852 [ 'equals', 'concat', 'empty' ]6853)6854Prod.empty = _empty6855Prod.type = type6856Prod[fl.empty] = _empty6857Prod['@@type'] = _type6858module.exports = Prod6859/***/ }),6860/* 211 */6861/***/ (function(module, exports, __webpack_require__) {6862/** @license ISC License (c) copyright 2016 original and current authors */6863/** @author Ian Hofmann-Hicks (evil) */6864var VERSION = 26865var _implements = __webpack_require__(112)6866var _inspect = __webpack_require__(113)6867var _equals = __webpack_require__(37)6868var type = __webpack_require__(17).type('Sum')6869var _type = __webpack_require__(17).typeFn(type(), VERSION)6870var fl = __webpack_require__(34)6871var isNil = __webpack_require__(41)6872var isNumber = __webpack_require__(40)6873var isSameType = __webpack_require__(18)6874var _empty =6875 function () { return Sum(0); }6876function Sum(n) {6877 var obj;6878 var x = isNil(n) ? _empty().valueOf() : n6879 if(!arguments.length || !isNumber(x)) {6880 throw new TypeError('Sum: Numeric value required')6881 }6882 var valueOf =6883 function () { return x; }6884 var empty=6885 _empty6886 var inspect =6887 function () { return ("Sum" + (_inspect(valueOf()))); }6888 var equals =6889 function (m) { return isSameType(Sum, m)6890 && _equals(x, m.valueOf()); }6891 function concat(method) {6892 return function(m) {6893 if(!isSameType(Sum, m)) {6894 throw new TypeError(("Sum." + method + ": Sum required"))6895 }6896 return Sum(x + m.valueOf())6897 }6898 }6899 return ( obj = {6900 inspect: inspect, toString: inspect, valueOf: valueOf,6901 equals: equals, type: type, empty: empty,6902 concat: concat('concat')6903 }, obj[fl.equals] = equals, obj[fl.empty] = empty, obj[fl.concat] = concat(fl.concat), obj['@@type'] = _type, obj.constructor = Sum, obj )6904}6905Sum['@@implements'] = _implements(6906 [ 'equals', 'concat', 'empty' ]6907)6908Sum.empty = _empty6909Sum.type = type6910Sum[fl.empty] = _empty6911Sum['@@type'] = _type6912module.exports = Sum6913/***/ }),6914/* 212 */6915/***/ (function(module, exports, __webpack_require__) {6916module.exports = {6917 alt: __webpack_require__(213),6918 ap: __webpack_require__(214),6919 bimap: __webpack_require__(215),6920 bichain: __webpack_require__(216),6921 both: __webpack_require__(217),6922 chain: __webpack_require__(218),6923 coalesce: __webpack_require__(219),6924 compareWith: __webpack_require__(220),6925 concat: __webpack_require__(221),6926 cons: __webpack_require__(222),6927 contramap: __webpack_require__(223),6928 either: __webpack_require__(224),6929 empty: __webpack_require__(225),6930 equals: __webpack_require__(226),6931 extend: __webpack_require__(227),6932 filter: __webpack_require__(228),6933 first: __webpack_require__(229),6934 fold: __webpack_require__(230),6935 foldMap: __webpack_require__(231),6936 head: __webpack_require__(232),6937 init: __webpack_require__(234),6938 last: __webpack_require__(235),6939 map: __webpack_require__(236),6940 merge: __webpack_require__(237),6941 option: __webpack_require__(238),6942 promap: __webpack_require__(239),6943 reduce: __webpack_require__(240),6944 reduceRight: __webpack_require__(241),6945 reject: __webpack_require__(242),6946 run: __webpack_require__(243),6947 runWith: __webpack_require__(244),6948 second: __webpack_require__(245),6949 sequence: __webpack_require__(246),6950 swap: __webpack_require__(247),6951 tail: __webpack_require__(248),6952 traverse: __webpack_require__(249),6953 valueOf: __webpack_require__(250)6954}6955/***/ }),6956/* 213 */6957/***/ (function(module, exports, __webpack_require__) {6958/** @license ISC License (c) copyright 2017 original and current authors */6959/** @author Ian Hofmann-Hicks (evil) */6960var curry = __webpack_require__(3)6961var fl = __webpack_require__(34)6962var isAlt = __webpack_require__(47)6963var isSameType = __webpack_require__(18)6964// alt : Alt m => m a -> m a -> m a6965function alt(m, x) {6966 if(!(isAlt(m) && isSameType(m, x))) {6967 throw new TypeError(6968 'alt: Both arguments must be Alts of the same type'6969 )6970 }6971 return (x[fl.alt] || x.alt).call(x, m)6972}6973module.exports = curry(alt)6974/***/ }),6975/* 214 */6976/***/ (function(module, exports, __webpack_require__) {6977/** @license ISC License (c) copyright 2016 original and current authors */6978/** @author Ian Hofmann-Hicks (evil) */6979var array = __webpack_require__(115)6980var curry = __webpack_require__(3)6981var isApplicative = __webpack_require__(50)6982var isArray = __webpack_require__(45)6983var isSameType = __webpack_require__(18)6984// ap :: Applicative m => m a -> m (a -> b) -> m b6985function ap(m, x) {6986 if(!((isApplicative(m) || isArray(m)) && isSameType(m, x))) {6987 throw new TypeError('ap: Both arguments must be Applys of the same type')6988 }6989 if(isArray(x)) {6990 return array.ap(m, x)6991 }6992 return x.ap(m)6993}6994module.exports = curry(ap)6995/***/ }),6996/* 215 */6997/***/ (function(module, exports, __webpack_require__) {6998/** @license ISC License (c) copyright 2016 original and current authors */6999/** @author Ian Hofmann-Hicks (evil) */7000var curry = __webpack_require__(3)7001var isBifunctor = __webpack_require__(57)7002var isFunction = __webpack_require__(4)7003var fl = __webpack_require__(34)7004function bimap(f, g, m) {7005 if(!(isFunction(f) && isFunction(g))) {7006 throw new TypeError(7007 'bimap: Functions required for first two arguments'7008 )7009 }7010 if(!isBifunctor(m)) {7011 throw new TypeError(7012 'bimap: Bifunctor required for third argument'7013 )7014 }7015 return (m[fl.bimap] || m.bimap).call(m, f, g)7016}7017module.exports = curry(bimap)7018/***/ }),7019/* 216 */7020/***/ (function(module, exports, __webpack_require__) {7021/** @license ISC License (c) copyright 2019 original and current authors */7022/** @author Dale Francis (dalefrancis88) */7023var curry = __webpack_require__(3)7024var isFunction = __webpack_require__(4)7025// bichain : bichain m => (e -> m c b) -> (a -> m c b) -> m e a -> m c b7026function bichain(f, g, m) {7027 if(!isFunction(f) || !isFunction(g)) {7028 throw new TypeError('bichain: First two arguments must be Sum Type returning functions')7029 }7030 if(m && isFunction(m.bichain)) {7031 return m.bichain.call(m, f, g)7032 }7033 throw new TypeError(7034 'bichain: Third argument must be a Sum Type'7035 )7036}7037module.exports = curry(bichain)7038/***/ }),7039/* 217 */7040/***/ (function(module, exports, __webpack_require__) {7041/** @license ISC License (c) copyright 2017 original and current authors */7042/** @author Ian Hofmann-Hicks (evil) */7043var Pair = __webpack_require__(17).proxy('Pair')7044var isFunction = __webpack_require__(4)7045var isSameType = __webpack_require__(18)7046function both(m) {7047 if(isFunction(m)) {7048 return function(x) {7049 if(!isSameType(Pair, x)) {7050 throw new TypeError('both: Pair required as input')7051 }7052 return x.bimap(m, m)7053 }7054 }7055 if(m && isFunction(m.both)) {7056 return m.both()7057 }7058 throw new TypeError('both: Strong Function or Profunctor required')7059}7060module.exports = both7061/***/ }),7062/* 218 */7063/***/ (function(module, exports, __webpack_require__) {7064/** @license ISC License (c) copyright 2016 original and current authors */7065/** @author Ian Hofmann-Hicks (evil) */7066var _chain = __webpack_require__(115).chain7067var curry = __webpack_require__(3)7068var isArray = __webpack_require__(45)7069var isChain = __webpack_require__(64)7070var isFunction = __webpack_require__(4)7071var fl = __webpack_require__(34)7072// chain : Chain m => (a -> m b) -> m a -> m b7073function chain(fn, m) {7074 if(!isFunction(fn)) {7075 throw new TypeError('chain: Chain returning function required for first argument')7076 }7077 if(!(isChain(m) || isArray(m))) {7078 throw new TypeError('chain: Chain of the same type required for second argument')7079 }7080 if(isArray(m)) {7081 return _chain(fn, m)7082 }7083 return (m[fl.chain] || m.chain).call(m, fn)7084}7085module.exports = curry(chain)7086/***/ }),7087/* 219 */7088/***/ (function(module, exports, __webpack_require__) {7089/** @license ISC License (c) copyright 2016 original and current authors */7090/** @author Ian Hofmann-Hicks (evil) */7091var curry = __webpack_require__(3)7092var isFunction = __webpack_require__(4)7093function coalesce(f, g, m) {7094 if(!(isFunction(f) && isFunction(g))) {7095 throw new TypeError(7096 'coalesce: Functions required for first two arguments'7097 )7098 }7099 if(m && isFunction(m.coalesce)) {7100 return m.coalesce(f, g)7101 }7102 throw new TypeError(7103 'coalesce: Sum Type required for third argument'7104 )7105}7106module.exports = curry(coalesce)7107/***/ }),7108/* 220 */7109/***/ (function(module, exports, __webpack_require__) {7110/** @license ISC License (c) copyright 2017 original and current authors */7111/** @author Ian Hofmann-Hicks (evil) */7112var curry = __webpack_require__(3)7113var isFunction = __webpack_require__(4)7114function compareWith(x, y, m) {7115 if(!(m && isFunction(m.compareWith))) {7116 throw new TypeError('compareWith: Equiv required for third argument')7117 }7118 return m.compareWith(x, y)7119}7120module.exports = curry(compareWith)7121/***/ }),7122/* 221 */7123/***/ (function(module, exports, __webpack_require__) {7124/** @license ISC License (c) copyright 2016 original and current authors */7125/** @author Ian Hofmann-Hicks (evil) */7126var curry = __webpack_require__(3)7127var isSameType = __webpack_require__(18)7128var isSemigroup = __webpack_require__(35)7129var fl = __webpack_require__(34)7130function concat(x, m) {7131 if(!(isSemigroup(m) && isSameType(x, m))) {7132 throw new TypeError(7133 'concat: Semigroups of the same type required for both arguments'7134 )7135 }7136 return (m[fl.concat] || m.concat).call(m, x)7137}7138module.exports = curry(concat)7139/***/ }),7140/* 222 */7141/***/ (function(module, exports, __webpack_require__) {7142/** @license ISC License (c) copyright 2016 original and current authors */7143/** @author Ian Hofmann-Hicks (evil) */7144var curry = __webpack_require__(3)7145var isArray = __webpack_require__(45)7146var isFunction = __webpack_require__(4)7147function cons(x, m) {7148 if(m && isFunction(m.cons)) {7149 return m.cons(x)7150 }7151 else if(isArray(m)) {7152 return [ x ].concat(m)7153 }7154 throw new TypeError('cons: List or Array required for second argument')7155}7156module.exports = curry(cons)7157/***/ }),7158/* 223 */7159/***/ (function(module, exports, __webpack_require__) {7160/** @license ISC License (c) copyright 2016 original and current authors */7161/** @author Ian Hofmann-Hicks (evil) */7162var compose = __webpack_require__(7)7163var curry = __webpack_require__(3)7164var isFunction = __webpack_require__(4)7165var isContravariant = __webpack_require__(66)7166var fl = __webpack_require__(34)7167// contramap : Functor f => (b -> a) -> f b -> f a7168function contramap(fn, m) {7169 if(!isFunction(fn)) {7170 throw new TypeError(7171 'contramap: Function required for first argument'7172 )7173 }7174 if(isFunction(m)) {7175 return compose(m, fn)7176 }7177 if(isContravariant(m)) {7178 return (m[fl.contramap] || m.contramap).call(m, fn)7179 }7180 throw new TypeError(7181 'contramap: Function or Contavariant Functor of the same type required for second argument'7182 )7183}7184module.exports = curry(contramap)7185/***/ }),7186/* 224 */7187/***/ (function(module, exports, __webpack_require__) {7188/** @license ISC License (c) copyright 2016 original and current authors */7189/** @author Ian Hofmann-Hicks (evil) */7190var curry = __webpack_require__(3)7191var isFunction = __webpack_require__(4)7192function either(lf, rf, m) {7193 if(!(isFunction(lf) && isFunction(rf))) {7194 throw new TypeError(7195 'either: First two arguments must be functions'7196 )7197 }7198 if(!(m && isFunction(m.either))) {7199 throw new TypeError(7200 'either: Last argument must be a Sum Type'7201 )7202 }7203 return m.either(lf, rf)7204}7205module.exports = curry(either)7206/***/ }),7207/* 225 */7208/***/ (function(module, exports, __webpack_require__) {7209/** @license ISC License (c) copyright 2017 original and current authors */7210/** @author Ian Hofmann-Hicks (evil) */7211var hasAlg = __webpack_require__(33)7212var isSameType = __webpack_require__(18)7213var fl = __webpack_require__(34)7214function empty(m) {7215 if(m && hasAlg('empty', m)) {7216 return (m[fl.empty] || m.empty).call(m)7217 }7218 if(m && hasAlg('empty', m.constructor)) {7219 return (m.constructor[fl.empty] || m.constructor.empty).call(m)7220 }7221 if(isSameType([], m)) {7222 return []7223 }7224 if(isSameType('', m)) {7225 return ''7226 }7227 if(isSameType({}, m)) {7228 return {}7229 }7230 throw new TypeError('empty: Monoid, Array, String or Object required')7231}7232module.exports = empty7233/***/ }),7234/* 226 */7235/***/ (function(module, exports, __webpack_require__) {7236/** @license ISC License (c) copyright 2017 original and current authors */7237/** @author Ian Hofmann-Hicks (evil) */7238var _equals = __webpack_require__(37)7239var curry = __webpack_require__(3)7240function equals(x, y) {7241 return _equals(x, y)7242}7243module.exports =7244 curry(equals)7245/***/ }),7246/* 227 */7247/***/ (function(module, exports, __webpack_require__) {7248/** @license ISC License (c) copyright 2017 original and current authors */7249/** @author Ian Hofmann-Hicks (evil) */7250var curry = __webpack_require__(3)7251var fl = __webpack_require__(34)7252var isExtend = __webpack_require__(72)7253var isFunction = __webpack_require__(4)7254// extend : Extend w => (w a -> b) -> w a -> w b7255function extend(fn, m) {7256 if(!isFunction(fn)) {7257 throw new TypeError('extend: Function required for first argument')7258 }7259 if(!isExtend(m)) {7260 throw new TypeError('extend: Extend required for second argument')7261 }7262 return (m[fl.extend] || m.extend).call(m, fn)7263}7264module.exports = curry(extend)7265/***/ }),7266/* 228 */7267/***/ (function(module, exports, __webpack_require__) {7268/** @license ISC License (c) copyright 2016 original and current authors */7269/** @author Ian Hofmann-Hicks (evil) */7270var curry = __webpack_require__(3)7271var isFunction = __webpack_require__(4)7272var isPredOrFunc = __webpack_require__(16)7273var isObject = __webpack_require__(31)7274var object = __webpack_require__(146)7275var predOrFunc = __webpack_require__(20)7276// filter : Filterable f => (a -> Boolean) -> f a -> f a7277function filter(pred, m) {7278 if(!isPredOrFunc(pred)) {7279 throw new TypeError('filter: Pred or predicate function required for first argument')7280 }7281 var fn =7282 function (x) { return predOrFunc(pred, x); }7283 if(m && isFunction(m.filter)) {7284 return m.filter(fn)7285 }7286 if(m && isObject(m)) {7287 return object.filter(fn, m)7288 }7289 throw new TypeError('filter: Filterable or Object required for second argument')7290}7291module.exports = curry(filter)7292/***/ }),7293/* 229 */7294/***/ (function(module, exports, __webpack_require__) {7295/** @license ISC License (c) copyright 2016 original and current authors */7296/** @author Ian Hofmann-Hicks (evil) */7297var Pair = __webpack_require__(17).proxy('Pair')7298var isFunction = __webpack_require__(4)7299var isSameType = __webpack_require__(18)7300var identity = function (x) { return x; }7301function first(m) {7302 if(isFunction(m)) {7303 return function(x) {7304 if(!isSameType(Pair, x)) {7305 throw new TypeError('first: Pair required as input')7306 }7307 return x.bimap(m, identity)7308 }7309 }7310 if(m && isFunction(m.first)) {7311 return m.first()7312 }7313 throw new TypeError('first: Arrow, Function or Star required')7314}7315module.exports = first7316/***/ }),7317/* 230 */7318/***/ (function(module, exports, __webpack_require__) {7319/** @license ISC License (c) copyright 2017 original and current authors */7320/** @author Ian Hofmann-Hicks (evil) */7321var _array = __webpack_require__(115)7322var isArray = __webpack_require__(45)7323var isFunction = __webpack_require__(4)7324// fold : Foldable f, Semigroup s => f s -> s7325function fold(m) {7326 if(isArray(m)) {7327 return _array.fold(m)7328 }7329 if(m && isFunction(m.fold)) {7330 return m.fold()7331 }7332 throw new TypeError('fold: Non-empty Foldable with at least one Semigroup is required')7333}7334module.exports = fold7335/***/ }),7336/* 231 */7337/***/ (function(module, exports, __webpack_require__) {7338/** @license ISC License (c) copyright 2018 original and current authors */7339/** @author Ian Hofmann-Hicks (evil) */7340var _array = __webpack_require__(115)7341var curry = __webpack_require__(3)7342var isArray = __webpack_require__(45)7343var isFunction = __webpack_require__(4)7344// foldMap :: Foldable f, Semigroup s => (a -> s) -> f a -> s7345function foldMap(fn, m) {7346 if(!isFunction(fn)) {7347 throw new TypeError(7348 'foldMap: Function returning Semigroups of the same type required for first argument'7349 )7350 }7351 if(isArray(m)) {7352 return _array.foldMap(fn, m)7353 }7354 if(m && isFunction(m.foldMap)) {7355 return m.foldMap(fn)7356 }7357 throw new TypeError(7358 'foldMap: Non-empty Foldable with at least one Semigroup required for second argument'7359 )7360}7361module.exports = curry(foldMap)7362/***/ }),7363/* 232 */7364/***/ (function(module, exports, __webpack_require__) {7365/** @license ISC License (c) copyright 2016 original and current authors */7366/** @author Ian Hofmann-Hicks (evil) */7367var cloneIterable = __webpack_require__(233)7368var isArray = __webpack_require__(45)7369var isFunction = __webpack_require__(4)7370var isIterable = __webpack_require__(80)7371var isString = __webpack_require__(36)7372var ref = __webpack_require__(129);7373var Nothing = ref.Nothing;7374var Just = ref.Just;7375function head(m) {7376 if(m && isFunction(m.head)) {7377 return m.head()7378 }7379 if(isArray(m) || isString(m)) {7380 return !m.length ? Nothing() : Just(m[0])7381 }7382 if(isIterable(m)) {7383 var cloned = cloneIterable(m)7384 var iterator = cloned[Symbol.iterator]()7385 var head = iterator.next()7386 return head.done ? Nothing() : Just(head.value)7387 }7388 throw new TypeError('head: List or iterable required')7389}7390module.exports = head7391/***/ }),7392/* 233 */7393/***/ (function(module, exports) {7394/** @license ISC License (c) copyright 2018 original and current authors */7395/** @author Henrique Limas (HenriqueLimas) */7396function cloneIterable(source) {7397 var copy = Object.create(Object.getPrototypeOf(source))7398 Object.assign(copy, source)7399 var symbols = Object.getOwnPropertySymbols(source)7400 symbols.forEach(function (symbol) {7401 copy[symbol] = source[symbol]7402 })7403 return copy7404}7405module.exports = cloneIterable7406/***/ }),7407/* 234 */7408/***/ (function(module, exports, __webpack_require__) {7409/** @license ISC License (c) copyright 2019 original and current authors */7410/** @author RichardForrester */7411var isFunction = __webpack_require__(4)7412var isNil = __webpack_require__(41)7413var ref = __webpack_require__(129);7414var Nothing = ref.Nothing;7415var Just = ref.Just;7416function init(m) {7417 if(!isNil(m)) {7418 if(isFunction(m.init)) {7419 return m.init()7420 }7421 if(isFunction(m.slice)) {7422 return m.length < 27423 ? Nothing()7424 : Just(m.slice(0, -1))7425 }7426 }7427 throw new TypeError('init: Argument must be an Array, String, or List')7428}7429module.exports = init7430/***/ }),7431/* 235 */7432/***/ (function(module, exports, __webpack_require__) {7433/** @license ISC License (c) copyright 2019 original and current authors */7434/** @author RichardForrester */7435var cloneIterable = __webpack_require__(233)7436var isArray = __webpack_require__(45)7437var isFunction = __webpack_require__(4)7438var isIterable = __webpack_require__(80)7439var isString = __webpack_require__(36)7440var ref = __webpack_require__(129);7441var Nothing = ref.Nothing;7442var Just = ref.Just;7443function last(m) {7444 if (m && isFunction(m.last)) {7445 return m.last()7446 }7447 if (isArray(m) || isString(m)) {7448 return !m.length ? Nothing() : Just(m[m.length - 1])7449 }7450 if (isIterable(m)) {7451 var cloned = cloneIterable(m)7452 var iterator = cloned[Symbol.iterator]()7453 var curr = iterator.next()7454 if (curr.done) {7455 return Nothing()7456 }7457 var val7458 while (!curr.done) {7459 val = curr.value7460 curr = iterator.next()7461 }7462 return Just(val)7463 }7464 throw new TypeError('last: Argument must be a List, String, or Iterable')7465}7466module.exports = last7467/***/ }),7468/* 236 */7469/***/ (function(module, exports, __webpack_require__) {7470/** @license ISC License (c) copyright 2016 original and current authors */7471/** @author Ian Hofmann-Hicks (evil) */7472var compose = __webpack_require__(7)7473var curry = __webpack_require__(3)7474var isArray = __webpack_require__(45)7475var isObject = __webpack_require__(31)7476var isFunction = __webpack_require__(4)7477var isFunctor= __webpack_require__(48)7478var array = __webpack_require__(115)7479var object = __webpack_require__(146)7480var fl = __webpack_require__(34)7481// map : Functor f => (a -> b) -> f a -> f b7482function map(fn, m) {7483 if(!isFunction(fn)) {7484 throw new TypeError('map: Function required for first argument')7485 }7486 if(isFunction(m)) {7487 return compose(fn, m)7488 }7489 if(isArray(m)) {7490 return array.map(fn, m)7491 }7492 if(m && isFunctor(m)) {7493 return (m[fl.map] || m.map).call(m, fn)7494 }7495 if(isObject(m)) {7496 return object.map(fn, m)7497 }7498 throw new TypeError('map: Object, Function or Functor of the same type required for second argument')7499}7500module.exports = curry(map)7501/***/ }),7502/* 237 */7503/***/ (function(module, exports, __webpack_require__) {7504/** @license ISC License (c) copyright 2016 original and current authors */7505/** @author Ian Hofmann-Hicks (evil) */7506var curry = __webpack_require__(3)7507var isFunction = __webpack_require__(4)7508function merge(fn, m) {7509 if(!isFunction(fn)) {7510 throw new TypeError('merge: Function required for first argument')7511 }7512 if(!(m && isFunction(m.merge))) {7513 throw new TypeError('merge: Pair or Tuple required for second argument')7514 }7515 return m.merge(fn)7516}7517module.exports = curry(merge)7518/***/ }),7519/* 238 */7520/***/ (function(module, exports, __webpack_require__) {7521/** @license ISC License (c) copyright 2016 original and current authors */7522/** @author Ian Hofmann-Hicks (evil) */7523var curry = __webpack_require__(3)7524var isFunction = __webpack_require__(4)7525function option(x, m) {7526 if(!(m && isFunction(m.option))) {7527 throw new TypeError('option: Last argument must be a Maybe, First or Last')7528 }7529 return m.option(x)7530}7531module.exports = curry(option)7532/***/ }),7533/* 239 */7534/***/ (function(module, exports, __webpack_require__) {7535/** @license ISC License (c) copyright 2016 original and current authors */7536/** @author Ian Hofmann-Hicks (evil) */7537var compose = __webpack_require__(7)7538var curry = __webpack_require__(3)7539var fl = __webpack_require__(34)7540var isFunction = __webpack_require__(4)7541var isProfunctor = __webpack_require__(91)7542function promap(l, r, m) {7543 if(!(isFunction(l) && isFunction(r))) {7544 throw new TypeError(7545 'promap: Functions required for first two arguments'7546 )7547 }7548 if(isFunction(m)) {7549 return compose(compose(r, m), l)7550 }7551 if(isProfunctor(m)) {7552 return (m[fl.promap] || m.promap).call(m, l, r)7553 }7554 throw new TypeError(7555 'promap: Function or Profunctor required for third argument'7556 )7557}7558module.exports = curry(promap)7559/***/ }),7560/* 240 */7561/***/ (function(module, exports, __webpack_require__) {7562/** @license ISC License (c) copyright 2016 original and current authors */7563/** @author Ian Hofmann-Hicks (evil) */7564var curry = __webpack_require__(3)7565var isFoldable = __webpack_require__(43)7566var isFunction = __webpack_require__(4)7567var fl = __webpack_require__(34)7568function reduce(fn, init, m) {7569 if(!isFunction(fn)) {7570 throw new TypeError(7571 'reduce: Function required for first argument'7572 )7573 }7574 if(!isFoldable(m)) {7575 throw new TypeError(7576 'reduce: Foldable required for third argument'7577 )7578 }7579 return (m[fl.reduce] || m.reduce).call(m, fn, init)7580}7581module.exports = curry(reduce)7582/***/ }),7583/* 241 */7584/***/ (function(module, exports, __webpack_require__) {7585/** @license ISC License (c) copyright 2017 original and current authors */7586/** @author Ian Hofmann-Hicks (evil) */7587var curry = __webpack_require__(3)7588var isFunction = __webpack_require__(4)7589function reduceRight(fn, init, m) {7590 if(!isFunction(fn)) {7591 throw new TypeError('reduceRight: Function required for first argument')7592 }7593 else if(!(m && isFunction(m.reduceRight))) {7594 throw new TypeError('reduceRight: Right Foldable required for third argument')7595 }7596 return m.reduceRight(fn, init)7597}7598module.exports = curry(reduceRight)7599/***/ }),7600/* 242 */7601/***/ (function(module, exports, __webpack_require__) {7602/** @license ISC License (c) copyright 2017 original and current authors */7603/** @author Ian Hofmann-Hicks (evil) */7604var curry = __webpack_require__(3)7605var isArray = __webpack_require__(45)7606var isPredOrFunc = __webpack_require__(16)7607var isFunction = __webpack_require__(4)7608var isObject = __webpack_require__(31)7609var object = __webpack_require__(146)7610var predOrFunc = __webpack_require__(20)7611var not =7612 function (fn) { return function (x) { return !fn(x); }; }7613// reject : Foldable f => (a -> Boolean) -> f a -> f a7614function reject(pred, m) {7615 if(!isPredOrFunc(pred)) {7616 throw new TypeError(7617 'reject: Pred or predicate function required for first argument'7618 )7619 }7620 var fn =7621 function (x) { return predOrFunc(pred, x); }7622 if(m && isFunction(m.reject)) {7623 return m.reject(fn)7624 }7625 if(isArray(m)) {7626 return m.filter(not(fn))7627 }7628 if(isObject(m)) {7629 return object.filter(not(fn), m)7630 }7631 throw new TypeError('reject: Foldable or Object required for second argument')7632}7633module.exports = curry(reject)7634/***/ }),7635/* 243 */7636/***/ (function(module, exports, __webpack_require__) {7637/** @license ISC License (c) copyright 2016 original and current authors */7638/** @author Ian Hofmann-Hicks (evil) */7639var isFunction = __webpack_require__(4)7640function run(m) {7641 if(!(m && isFunction(m.run))) {7642 throw new TypeError('run: IO required')7643 }7644 return m.run()7645}7646module.exports = run7647/***/ }),7648/* 244 */7649/***/ (function(module, exports, __webpack_require__) {7650/** @license ISC License (c) copyright 2016 original and current authors */7651/** @author Ian Hofmann-Hicks (evil) */7652var curry = __webpack_require__(3)7653var isFunction = __webpack_require__(4)7654function runWith(x, m) {7655 if(!(m && isFunction(m.runWith))) {7656 throw new TypeError('runWith: Arrow, Endo, Pred, Reader, Star or State required for second argument')7657 }7658 return m.runWith(x)7659}7660module.exports = curry(runWith)7661/***/ }),7662/* 245 */7663/***/ (function(module, exports, __webpack_require__) {7664/** @license ISC License (c) copyright 2016 original and current authors */7665/** @author Ian Hofmann-Hicks (evil) */7666var Pair = __webpack_require__(17).proxy('Pair')7667var isFunction = __webpack_require__(4)7668var isSameType = __webpack_require__(18)7669var identity = function (x) { return x; }7670function second(m) {7671 if(isFunction(m)) {7672 return function(x) {7673 if(!isSameType(Pair, x)) {7674 throw new TypeError('second: Pair required as input')7675 }7676 return x.bimap(identity, m)7677 }7678 }7679 if(m && isFunction(m.second)) {7680 return m.second()7681 }7682 throw new TypeError('second: Strong Function or Profunctor required')7683}7684module.exports = second7685/***/ }),7686/* 246 */7687/***/ (function(module, exports, __webpack_require__) {7688/** @license ISC License (c) copyright 2016 original and current authors */7689/** @author Ian Hofmann-Hicks (evil) */7690var array = __webpack_require__(115)7691var curry = __webpack_require__(3)7692var isArray = __webpack_require__(45)7693var isApplicative = __webpack_require__(50)7694var isFunction = __webpack_require__(4)7695function sequence(af, m) {7696 if(!(isApplicative(af) || isFunction(af))) {7697 throw new TypeError(7698 'sequence: Applicative TypeRep or Apply returning function required for first argument'7699 )7700 }7701 if(m && isFunction(m.sequence)) {7702 return m.sequence(af)7703 }7704 if(isArray(m)) {7705 return array.sequence(af, m)7706 }7707 throw new TypeError('sequence: Traversable or Array required for second argument')7708}7709module.exports = curry(sequence)7710/***/ }),7711/* 247 */7712/***/ (function(module, exports, __webpack_require__) {7713/** @license ISC License (c) copyright 2016 original and current authors */7714/** @author Ian Hofmann-Hicks (evil) */7715var curry = __webpack_require__(3)7716var isFunction = __webpack_require__(4)7717function swap(f, g, m) {7718 if(!(isFunction(f) && isFunction(g))) {7719 throw new TypeError(7720 'swap: Function required for first two arguments'7721 )7722 }7723 if(m && isFunction(m.swap)) {7724 return m.swap(f, g)7725 }7726 throw new TypeError(7727 'swap: Async, Either, Pair or Result required for third arguments'7728 )7729}7730module.exports = curry(swap)7731/***/ }),7732/* 248 */7733/***/ (function(module, exports, __webpack_require__) {7734/** @license ISC License (c) copyright 2016 original and current authors */7735/** @author Ian Hofmann-Hicks (evil) */7736var isFunction = __webpack_require__(4)7737var isNil = __webpack_require__(41)7738var ref = __webpack_require__(129);7739var Nothing = ref.Nothing;7740var Just = ref.Just;7741function tail(m) {7742 if(!isNil(m)) {7743 if(isFunction(m.tail)) {7744 return m.tail()7745 }7746 if(isFunction(m.slice)) {7747 return m.length < 27748 ? Nothing()7749 : Just(m.slice(1))7750 }7751 }7752 throw new TypeError('tail: Array, String or List required')7753}7754module.exports = tail7755/***/ }),7756/* 249 */7757/***/ (function(module, exports, __webpack_require__) {7758/** @license ISC License (c) copyright 2016 original and current authors */7759/** @author Ian Hofmann-Hicks (evil) */7760var array = __webpack_require__(115)7761var curry = __webpack_require__(3)7762var isApplicative = __webpack_require__(50)7763var isArray = __webpack_require__(45)7764var isFunction = __webpack_require__(4)7765function traverse(af, fn, m) {7766 if(!(isApplicative(af) || isFunction(af))) {7767 throw new TypeError(7768 'traverse: Applicative TypeRep or Apply returning function required for first argument'7769 )7770 }7771 if(!isFunction(fn)) {7772 throw new TypeError(7773 'traverse: Apply returning function required for second argument'7774 )7775 }7776 if(m && isFunction(m.traverse)) {7777 return m.traverse(af, fn)7778 }7779 if(isArray(m)) {7780 return array.traverse(af, fn, m)7781 }7782 throw new TypeError('traverse: Traversable or Array required for third argument')7783}7784module.exports = curry(traverse)7785/***/ }),7786/* 250 */7787/***/ (function(module, exports, __webpack_require__) {7788/** @license ISC License (c) copyright 2016 original and current authors */7789/** @author Ian Hofmann-Hicks (evil) */7790var isNil = __webpack_require__(41)7791function valueOf(m) {7792 if(isNil(m)) {7793 return m7794 }7795 return m.valueOf()7796}7797module.exports = valueOf7798/***/ }),7799/* 251 */7800/***/ (function(module, exports, __webpack_require__) {7801/** @license ISC License (c) copyright 2016 original and current authors */7802/** @author Ian Hofmann-Hicks (evil) */7803var curry = __webpack_require__(3)7804var isFunction = __webpack_require__(4)7805function evalWith(x, m) {7806 if(!(m && isFunction(m.evalWith))) {7807 throw new TypeError('evalWith: State required for second argument')7808 }7809 return m.evalWith(x)7810}7811module.exports = curry(evalWith)7812/***/ }),7813/* 252 */7814/***/ (function(module, exports, __webpack_require__) {7815/** @license ISC License (c) copyright 2016 original and current authors */7816/** @author Ian Hofmann-Hicks (evil) */7817var curry = __webpack_require__(3)7818var isFunction = __webpack_require__(4)7819function execWith(x, m) {7820 if(!(m && isFunction(m.execWith))) {7821 throw new TypeError('execWith: State required for second argument')7822 }7823 return m.execWith(x)7824}7825module.exports = curry(execWith)7826/***/ }),7827/* 253 */7828/***/ (function(module, exports, __webpack_require__) {7829/** @license ISC License (c) copyright 2016 original and current authors */7830/** @author Ian Hofmann-Hicks (evil) */7831var isFunction = __webpack_require__(4)7832function fst(m) {7833 if(!(m && isFunction(m.fst))) {7834 throw new TypeError('fst: Pair required')7835 }7836 return m.fst()7837}7838module.exports = fst7839/***/ }),7840/* 254 */7841/***/ (function(module, exports, __webpack_require__) {7842/** @license ISC License (c) copyright 2016 original and current authors */7843/** @author Ian Hofmann-Hicks (evil) */7844var isFunction = __webpack_require__(4)7845function log(m) {7846 if(!(m && isFunction(m.log))) {7847 throw new TypeError('log: Writer required')7848 }7849 return m.log()7850}7851module.exports = log7852/***/ }),7853/* 255 */7854/***/ (function(module, exports, __webpack_require__) {7855/** @license ISC License (c) copyright 2018 original and current authors */7856/** @author Karthik Iyengar (karthikiyengar) */7857var curry = __webpack_require__(3)7858var isFunction = __webpack_require__(4)7859var isInteger = __webpack_require__(39)7860var isSameType = __webpack_require__(18)7861var Tuple = __webpack_require__(141)7862var validTuple = function (n, m) { return isSameType(Tuple(n), m); }7863function runMap(m, fns) {7864 var n = fns.length7865 if (!validTuple(n, m)) {7866 throw new TypeError(("nmap: " + n + "-Tuple required"))7867 }7868 fns.forEach(function (fn) {7869 if (!isFunction(fn)) {7870 throw new TypeError('nmap: Functions required for all arguments')7871 }7872 })7873 return m.mapAll.apply(m, fns)7874}7875var withLength = function (n, fn) {7876 return Object.defineProperty(fn, 'length', {7877 value: n7878 })7879}7880function nmap(n) {7881 if (!(isInteger(n) && n >= 1)) {7882 throw new TypeError('nmap: Integer required for first argument')7883 }7884 switch (n) {7885 case 1:7886 return function (a, m) { return runMap(m, [ a ]); }7887 case 2:7888 return function (a, b, m) { return runMap(m, [ a, b ]); }7889 case 3:7890 return function (a, b, c, m) { return runMap(m, [ a, b, c ]); }7891 case 4:7892 return function (a, b, c, d, m) { return runMap(m, [ a, b, c, d ]); }7893 case 5:7894 return function (a, b, c, d, e, m) { return runMap(m, [ a, b, c, d, e ]); }7895 case 6:7896 return function (a, b, c, d, e, f, m) { return runMap(m, [ a, b, c, d, e, f ]); }7897 case 7:7898 return function (a, b, c, d, e, f, g, m) { return runMap(m, [ a, b, c, d, e, f, g ]); }7899 case 8:7900 return function (a, b, c, d, e, f, g, h, m) { return runMap(m, [ a, b, c, d, e, f, g, h ]); }7901 case 9:7902 return function (a, b, c, d, e, f, g, h, i, m) { return runMap(m, [ a, b, c, d, e, f, g, h, i ]); }7903 case 10:7904 return function (a, b, c, d, e, f, g, h, i, j, m) { return runMap(m, [ a, b, c, d, e, f, g, h, i, j ]); }7905 default:7906 return withLength(n + 1, function() {7907 var parts = [].slice.call(arguments)7908 return runMap(parts[parts.length - 1], parts.slice(0, parts.length - 1))7909 })7910 }7911}7912module.exports =7913 curry(nmap)7914/***/ }),7915/* 256 */7916/***/ (function(module, exports, __webpack_require__) {7917/** @license ISC License (c) copyright 2018 original and current authors */7918/** @author Karthik Iyengar (karthikiyengar) */7919var isFunction = __webpack_require__(4)7920var curry = __webpack_require__(3)7921function project(index, m) {7922 if(!(m && isFunction(m.project))) {7923 throw new TypeError('project: Tuple required')7924 }7925 return m.project(index)7926}7927module.exports = curry(project)7928/***/ }),7929/* 257 */7930/***/ (function(module, exports, __webpack_require__) {7931/** @license ISC License (c) copyright 2018 original and current authors */7932/** @author Ian Hofmann-Hicks (evil) */7933var curry = __webpack_require__(3)7934var isSameType = __webpack_require__(18)7935var Async = __webpack_require__(17).proxy('Async')7936function race(m, a) {7937 if(!(isSameType(m, a) && isSameType(Async, m))) {7938 throw new TypeError('race: Both arguments must be Asyncs')7939 }7940 return a.race(m)7941}7942module.exports =7943 curry(race)7944/***/ }),7945/* 258 */7946/***/ (function(module, exports, __webpack_require__) {7947/** @license ISC License (c) copyright 2016 original and current authors */7948/** @author Ian Hofmann-Hicks (evil) */7949var isFunction = __webpack_require__(4)7950function read(m) {7951 if(!(m && isFunction(m.read))) {7952 throw new TypeError('read: Writer required')7953 }7954 return m.read()7955}7956module.exports = read7957/***/ }),7958/* 259 */7959/***/ (function(module, exports, __webpack_require__) {7960/** @license ISC License (c) copyright 2016 original and current authors */7961/** @author Ian Hofmann-Hicks (evil) */7962var isFunction = __webpack_require__(4)7963function snd(m) {7964 if(!(m && isFunction(m.snd))) {7965 throw new TypeError('snd: Pair required')7966 }7967 return m.snd()7968}7969module.exports = snd7970/***/ }),7971/* 260 */7972/***/ (function(module, exports, __webpack_require__) {7973/** @license ISC License (c) copyright 2017 original and current authors */7974/** @author Ian Hofmann-Hicks (evil) */7975var List = __webpack_require__(127)7976var curry = __webpack_require__(3)7977var isArray = __webpack_require__(45)7978var isFunction = __webpack_require__(4)7979// arrayToList : [ a ] -> List a7980// arrayToList : (a -> [ b ]) -> a -> List b7981function arrayToList(array) {7982 if(isArray(array)) {7983 return List.fromArray(array)7984 }7985 else if(isFunction(array)) {7986 return function(x) {7987 var g = array(x)7988 if(!isArray(g)) {7989 throw new TypeError('arrayToList: Array returning function required')7990 }7991 return List.fromArray(g)7992 }7993 }7994 throw new TypeError('arrayToList: Array or Array returning function required')7995}7996module.exports = curry(arrayToList)7997/***/ }),7998/* 261 */7999/***/ (function(module, exports, __webpack_require__) {8000/** @license ISC License (c) copyright 2018 original and current authors */8001/** @author Dale Francis */8002var curry = __webpack_require__(3)8003var isSameType = __webpack_require__(18)8004var isFunction = __webpack_require__(4)8005var Async = __webpack_require__(17).proxy('Async')8006var toPromise = function (m) {8007 if(!isSameType(Async, m)) {8008 throw new TypeError('asyncToPromise: Async or a function returning an Async required')8009 }8010 return m.toPromise()8011}8012// asyncToPromise :: m e a -> Promise a e8013// asyncToPromise :: (a -> m e b) -> a -> Promise b e8014function asyncToPromise(m) {8015 return isFunction(m)8016 ? function (x) { return toPromise(m(x)); }8017 : toPromise(m)8018}8019module.exports = curry(asyncToPromise)8020/***/ }),8021/* 262 */8022/***/ (function(module, exports, __webpack_require__) {8023/** @license ISC License (c) copyright 2017 original and current authors */8024/** @author Ian Hofmann-Hicks (evil) */8025var Async = __webpack_require__(114)8026var Either = __webpack_require__(17).proxy('Either')8027var curry = __webpack_require__(3)8028var isFunction = __webpack_require__(4)8029var isSameType = __webpack_require__(18)8030var applyTransform = function (either) { return either.either(Async.Rejected, Async.Resolved); }8031// eitherToAsync : Either e a -> Async e a8032// eitherToAsync : (a -> Either e b) -> a -> Async e b8033function eitherToAsync(either) {8034 if(isFunction(either)) {8035 return function(x) {8036 var m = either(x)8037 if(!isSameType(Either, m)) {8038 throw new TypeError('eitherToAsync: Either returning function required')8039 }8040 return applyTransform(m)8041 }8042 }8043 if(isSameType(Either, either)) {8044 return applyTransform(either)8045 }8046 throw new TypeError('eitherToAsync: Either or Either returning function required')8047}8048module.exports = curry(eitherToAsync)8049/***/ }),8050/* 263 */8051/***/ (function(module, exports, __webpack_require__) {8052/** @license ISC License (c) copyright 2017 original and current authors */8053/** @author Ian Hofmann-Hicks (evil) */8054var First = __webpack_require__(206)8055var Either = __webpack_require__(17).proxy('Either')8056var curry = __webpack_require__(3)8057var isFunction = __webpack_require__(4)8058var isSameType = __webpack_require__(18)8059var applyTransform = function (either) { return either.either(First.empty, First); }8060// eitherToFirst : Either b a -> First a8061// eitherToFirst : (a -> Either c b) -> a -> First b8062function eitherToFirst(either) {8063 if(isFunction(either)) {8064 return function(x) {8065 var m = either(x)8066 if(!isSameType(Either, m)) {8067 throw new TypeError('eitherToFirst: Either returning function required')8068 }8069 return applyTransform(m)8070 }8071 }8072 if(isSameType(Either, either)) {8073 return applyTransform(either)8074 }8075 throw new TypeError('eitherToFirst: Either or Either returning function required')8076}8077module.exports = curry(eitherToFirst)8078/***/ }),8079/* 264 */8080/***/ (function(module, exports, __webpack_require__) {8081/** @license ISC License (c) copyright 2017 original and current authors */8082/** @author Ian Hofmann-Hicks (evil) */8083var Last = __webpack_require__(207)8084var Either = __webpack_require__(17).proxy('Either')8085var curry = __webpack_require__(3)8086var isFunction = __webpack_require__(4)8087var isSameType = __webpack_require__(18)8088var applyTransform = function (either) { return either.either(Last.empty, Last); }8089// eitherToLast : Either b a -> Last a8090// eitherToLast : (a -> Either c b) -> a -> Last b8091function eitherToLast(either) {8092 if(isFunction(either)) {8093 return function(x) {8094 var m = either(x)8095 if(!isSameType(Either, m)) {8096 throw new TypeError('eitherToLast: Either returning function required')8097 }8098 return applyTransform(m)8099 }8100 }8101 if(isSameType(Either, either)) {8102 return applyTransform(either)8103 }8104 throw new TypeError('eitherToLast: Either or Either returning function required')8105}8106module.exports = curry(eitherToLast)8107/***/ }),8108/* 265 */8109/***/ (function(module, exports, __webpack_require__) {8110/** @license ISC License (c) copyright 2017 original and current authors */8111/** @author Ian Hofmann-Hicks (evil) */8112var Maybe = __webpack_require__(130)8113var Either = __webpack_require__(17).proxy('Either')8114var curry = __webpack_require__(3)8115var isFunction = __webpack_require__(4)8116var isSameType = __webpack_require__(18)8117var applyTransform = function (either) { return either.either(Maybe.Nothing, Maybe.Just); }8118// eitherToMaybe : Either b a -> Maybe a8119// eitherToMaybe : (a -> Either c b) -> a -> Maybe b8120function eitherToMaybe(either) {8121 if(isFunction(either)) {8122 return function(x) {8123 var m = either(x)8124 if(!isSameType(Either, m)) {8125 throw new TypeError('eitherToMaybe: Either returning function required')8126 }8127 return applyTransform(m)8128 }8129 }8130 if(isSameType(Either, either)) {8131 return applyTransform(either)8132 }8133 throw new TypeError('eitherToMaybe: Either or Either returning function required')8134}8135module.exports = curry(eitherToMaybe)8136/***/ }),8137/* 266 */8138/***/ (function(module, exports, __webpack_require__) {8139/** @license ISC License (c) copyright 2017 original and current authors */8140/** @author Ian Hofmann-Hicks (evil) */8141var Result = __webpack_require__(137)8142var Either = __webpack_require__(17).proxy('Either')8143var curry = __webpack_require__(3)8144var isFunction = __webpack_require__(4)8145var isSameType = __webpack_require__(18)8146var applyTransform = function (either) { return either.either(Result.Err, Result.Ok); }8147// eitherToResult : Either e a -> Result e a8148// eitherToResult : (a -> Either e b) -> a -> Result e b8149function eitherToResult(either) {8150 if(isFunction(either)) {8151 return function(x) {8152 var m = either(x)8153 if(!isSameType(Either, m)) {8154 throw new TypeError('eitherToResult: Either returning function required')8155 }8156 return applyTransform(m)8157 }8158 }8159 if(isSameType(Either, either)) {8160 return applyTransform(either)8161 }8162 throw new TypeError('eitherToResult: Either or Either returning function required')8163}8164module.exports = curry(eitherToResult)8165/***/ }),8166/* 267 */8167/***/ (function(module, exports, __webpack_require__) {8168/** @license ISC License (c) copyright 2017 original and current authors */8169/** @author Ian Hofmann-Hicks (evil) */8170var Async = __webpack_require__(114)8171var First = __webpack_require__(17).proxy('First')8172var curry = __webpack_require__(3)8173var isFunction = __webpack_require__(4)8174var isSameType = __webpack_require__(18)8175var constant = function (x) { return function () { return x; }; }8176var applyTransform = function (left, first) { return first.valueOf().either(8177 constant(Async.Rejected(left)),8178 Async.Resolved8179 ); }8180// firstToAsync : e -> First a -> Async e a8181// firstToAsync : e -> (a -> First b) -> a -> Async e b8182function firstToAsync(left, first) {8183 if(isFunction(first)) {8184 return function(x) {8185 var m = first(x)8186 if(!isSameType(First, m)) {8187 throw new TypeError('firstToAsync: First returning function required for second argument')8188 }8189 return applyTransform(left, m)8190 }8191 }8192 if(isSameType(First, first)) {8193 return applyTransform(left, first)8194 }8195 throw new TypeError('firstToAsync: First or First returning function required for second argument')8196}8197module.exports = curry(firstToAsync)8198/***/ }),8199/* 268 */8200/***/ (function(module, exports, __webpack_require__) {8201/** @license ISC License (c) copyright 2017 original and current authors */8202/** @author Ian Hofmann-Hicks (evil) */8203var Either = __webpack_require__(121)8204var First = __webpack_require__(17).proxy('First')8205var curry = __webpack_require__(3)8206var isFunction = __webpack_require__(4)8207var isSameType = __webpack_require__(18)8208var constant = function (x) { return function () { return x; }; }8209var applyTransform = function (left, first) { return first.valueOf().either(8210 constant(Either.Left(left)),8211 Either.Right8212 ); }8213// firstToEither : c -> First a -> Either c a8214// firstToEither : c -> (a -> First b) -> a -> Either c b8215function firstToEither(left, first) {8216 if(isFunction(first)) {8217 return function(x) {8218 var m = first(x)8219 if(!isSameType(First, m)) {8220 throw new TypeError('firstToEither: First returning function required for second argument')8221 }8222 return applyTransform(left, m)8223 }8224 }8225 if(isSameType(First, first)) {8226 return applyTransform(left, first)8227 }8228 throw new TypeError('firstToEither: First or First returning function required for second argument')8229}8230module.exports = curry(firstToEither)8231/***/ }),8232/* 269 */8233/***/ (function(module, exports, __webpack_require__) {8234/** @license ISC License (c) copyright 2017 original and current authors */8235/** @author Ian Hofmann-Hicks (evil) */8236var Last = __webpack_require__(207)8237var First = __webpack_require__(17).proxy('First')8238var curry = __webpack_require__(3)8239var isFunction = __webpack_require__(4)8240var isSameType = __webpack_require__(18)8241var applyTransform = function (first) { return Last(first.valueOf()); }8242// firstToLast : First a -> Last a8243// firstToLast : (a -> First b) -> a -> Last b8244function firstToLast(first) {8245 if(isFunction(first)) {8246 return function(x) {8247 var m = first(x)8248 if(!isSameType(First, m)) {8249 throw new TypeError('firstToLast: First returning function required')8250 }8251 return applyTransform(m)8252 }8253 }8254 if(isSameType(First, first)) {8255 return applyTransform(first)8256 }8257 throw new TypeError('firstToLast: First or First returning function required')8258}8259module.exports = curry(firstToLast)8260/***/ }),8261/* 270 */8262/***/ (function(module, exports, __webpack_require__) {8263/** @license ISC License (c) copyright 2017 original and current authors */8264/** @author Ian Hofmann-Hicks (evil) */8265var First = __webpack_require__(17).proxy('First')8266var curry = __webpack_require__(3)8267var isFunction = __webpack_require__(4)8268var isSameType = __webpack_require__(18)8269var applyTransform = function (first) { return first.valueOf(); }8270// firstToMaybe : First a -> Maybe a8271// firstToMaybe : (a -> First b) -> a -> Maybe b8272function firstToMaybe(first) {8273 if(isFunction(first)) {8274 return function(x) {8275 var m = first(x)8276 if(!isSameType(First, m)) {8277 throw new TypeError('firstToMaybe: First returning function required')8278 }8279 return applyTransform(m)8280 }8281 }8282 if(isSameType(First, first)) {8283 return applyTransform(first)8284 }8285 throw new TypeError('firstToMaybe: First or First returning function required')8286}8287module.exports = curry(firstToMaybe)8288/***/ }),8289/* 271 */8290/***/ (function(module, exports, __webpack_require__) {8291/** @license ISC License (c) copyright 2017 original and current authors */8292/** @author Ian Hofmann-Hicks (evil) */8293var Result = __webpack_require__(137)8294var First = __webpack_require__(17).proxy('First')8295var curry = __webpack_require__(3)8296var isFunction = __webpack_require__(4)8297var isSameType = __webpack_require__(18)8298var constant = function (x) { return function () { return x; }; }8299var applyTransform = function (left, first) { return first.valueOf().either(8300 constant(Result.Err(left)),8301 Result.Ok8302 ); }8303// firstToResult : c -> First a -> Result c a8304// firstToResult : c -> (a -> First b) -> a -> Result c b8305function firstToResult(left, first) {8306 if(isFunction(first)) {8307 return function(x) {8308 var m = first(x)8309 if(!isSameType(First, m)) {8310 throw new TypeError('firstToResult: First returning function required for second argument')8311 }8312 return applyTransform(left, m)8313 }8314 }8315 if(isSameType(First, first)) {8316 return applyTransform(left, first)8317 }8318 throw new TypeError('firstToResult: First or First returning function required for second argument')8319}8320module.exports = curry(firstToResult)8321/***/ }),8322/* 272 */8323/***/ (function(module, exports, __webpack_require__) {8324/** @license ISC License (c) copyright 2017 original and current authors */8325/** @author Ian Hofmann-Hicks (evil) */8326var Async = __webpack_require__(114)8327var Last = __webpack_require__(17).proxy('Last')8328var curry = __webpack_require__(3)8329var isFunction = __webpack_require__(4)8330var isSameType = __webpack_require__(18)8331var constant = function (x) { return function () { return x; }; }8332var applyTransform = function (left, last) { return last.valueOf().either(8333 constant(Async.Rejected(left)),8334 Async.Resolved8335 ); }8336// lastToAsync : e -> Last a -> Async e a8337// lastToAsync : e -> (a -> Last b) -> a -> Async e b8338function lastToAsync(left, last) {8339 if(isFunction(last)) {8340 return function(x) {8341 var m = last(x)8342 if(!isSameType(Last, m)) {8343 throw new TypeError('lastToAsync: Last returning function required for second argument')8344 }8345 return applyTransform(left, m)8346 }8347 }8348 if(isSameType(Last, last)) {8349 return applyTransform(left, last)8350 }8351 throw new TypeError('lastToAsync: Last or Last returning function required for second argument')8352}8353module.exports = curry(lastToAsync)8354/***/ }),8355/* 273 */8356/***/ (function(module, exports, __webpack_require__) {8357/** @license ISC License (c) copyright 2017 original and current authors */8358/** @author Ian Hofmann-Hicks (evil) */8359var Either = __webpack_require__(121)8360var Last = __webpack_require__(17).proxy('Last')8361var curry = __webpack_require__(3)8362var isFunction = __webpack_require__(4)8363var isSameType = __webpack_require__(18)8364var constant = function (x) { return function () { return x; }; }8365var applyTransform = function (left, last) { return last.valueOf().either(8366 constant(Either.Left(left)),8367 Either.Right8368 ); }8369// lastToEither : c -> Last a -> Either c a8370// lastToEither : c -> (a -> Last b) -> a -> Either c b8371function lastToEither(left, last) {8372 if(isFunction(last)) {8373 return function(x) {8374 var m = last(x)8375 if(!isSameType(Last, m)) {8376 throw new TypeError('lastToEither: Last returning function required for second argument')8377 }8378 return applyTransform(left, m)8379 }8380 }8381 if(isSameType(Last, last)) {8382 return applyTransform(left, last)8383 }8384 throw new TypeError('lastToEither: Last or Last returning function required for second argument')8385}8386module.exports = curry(lastToEither)8387/***/ }),8388/* 274 */8389/***/ (function(module, exports, __webpack_require__) {8390/** @license ISC License (c) copyright 2017 original and current authors */8391/** @author Ian Hofmann-Hicks (evil) */8392var First = __webpack_require__(206)8393var Last = __webpack_require__(17).proxy('Last')8394var curry = __webpack_require__(3)8395var isFunction = __webpack_require__(4)8396var isSameType = __webpack_require__(18)8397var applyTransform = function (last) { return First(last.valueOf()); }8398// lastToFirst : Last a -> First a8399// lastToFirst : (a -> Last b) -> a -> First b8400function lastToFirst(last) {8401 if(isFunction(last)) {8402 return function(x) {8403 var m = last(x)8404 if(!isSameType(Last, m)) {8405 throw new TypeError('lastToFirst: Last returning function required')8406 }8407 return applyTransform(m)8408 }8409 }8410 if(isSameType(Last, last)) {8411 return applyTransform(last)8412 }8413 throw new TypeError('lastToFirst: Last or Last returning function required')8414}8415module.exports = curry(lastToFirst)8416/***/ }),8417/* 275 */8418/***/ (function(module, exports, __webpack_require__) {8419/** @license ISC License (c) copyright 2017 original and current authors */8420/** @author Ian Hofmann-Hicks (evil) */8421var Last = __webpack_require__(17).proxy('Last')8422var curry = __webpack_require__(3)8423var isFunction = __webpack_require__(4)8424var isSameType = __webpack_require__(18)8425var applyTransform = function (last) { return last.valueOf(); }8426// lastToMaybe : Last a -> Maybe a8427// lastToMaybe : (a -> Last b) -> a -> Maybe b8428function lastToMaybe(last) {8429 if(isFunction(last)) {8430 return function(x) {8431 var m = last(x)8432 if(!isSameType(Last, m)) {8433 throw new TypeError('lastToMaybe: Last returning function required')8434 }8435 return applyTransform(m)8436 }8437 }8438 if(isSameType(Last, last)) {8439 return applyTransform(last)8440 }8441 throw new TypeError('lastToMaybe: Last or Last returning function required')8442}8443module.exports = curry(lastToMaybe)8444/***/ }),8445/* 276 */8446/***/ (function(module, exports, __webpack_require__) {8447/** @license ISC License (c) copyright 2017 original and current authors */8448/** @author Ian Hofmann-Hicks (evil) */8449var Result = __webpack_require__(137)8450var Last = __webpack_require__(17).proxy('Last')8451var curry = __webpack_require__(3)8452var isFunction = __webpack_require__(4)8453var isSameType = __webpack_require__(18)8454var constant = function (x) { return function () { return x; }; }8455var applyTransform = function (left, last) { return last.valueOf().either(8456 constant(Result.Err(left)),8457 Result.Ok8458 ); }8459// lastToResult : c -> Last a -> Result c a8460// lastToResult : c -> (a -> Last b) -> a -> Result c b8461function lastToResult(left, last) {8462 if(isFunction(last)) {8463 return function(x) {8464 var m = last(x)8465 if(!isSameType(Last, m)) {8466 throw new TypeError('lastToResult: Last returning function required for second argument')8467 }8468 return applyTransform(left, m)8469 }8470 }8471 if(isSameType(Last, last)) {8472 return applyTransform(left, last)8473 }8474 throw new TypeError('lastToResult: Last or Last returning function required for second argument')8475}8476module.exports = curry(lastToResult)8477/***/ }),8478/* 277 */8479/***/ (function(module, exports, __webpack_require__) {8480/** @license ISC License (c) copyright 2017 original and current authors */8481/** @author Ian Hofmann-Hicks (evil) */8482var List = __webpack_require__(127)8483var curry = __webpack_require__(3)8484var isFunction = __webpack_require__(4)8485var isSameType = __webpack_require__(18)8486// listToArray : List a -> [ a ]8487// listToArray : (a -> List b) -> a -> [ b ]8488function listToArray(list) {8489 if(isFunction(list)) {8490 return function(x) {8491 var m = list(x)8492 if(!isSameType(List, m)) {8493 throw new TypeError('listToArray: List returning function required')8494 }8495 return m.toArray()8496 }8497 }8498 if(isSameType(List, list)) {8499 return list.toArray()8500 }8501 throw new TypeError('listToArray: List or List returning function required')8502}8503module.exports = curry(listToArray)8504/***/ }),8505/* 278 */8506/***/ (function(module, exports, __webpack_require__) {8507/** @license ISC License (c) copyright 2019 original and current authors */8508/** @author Ian Hofmann-Hicks (evil) */8509var Maybe = __webpack_require__(130)8510var curry = __webpack_require__(3)8511var isFunction = __webpack_require__(4)8512var isSameType = __webpack_require__(18)8513var applyTransform = function (maybe) { return maybe.either(function () { return []; }, function (x) { return [ x ]; }); }8514var err =8515 'maybeToArray: Argument must be a Maybe instanstace or a Maybe returning function'8516function maybeToArray(maybe) {8517 if(isFunction(maybe)) {8518 return function(x) {8519 var m = maybe(x)8520 if(!isSameType(Maybe, m)) {8521 throw new TypeError(err)8522 }8523 return applyTransform(m)8524 }8525 }8526 if(isSameType(Maybe, maybe)) {8527 return applyTransform(maybe)8528 }8529 throw new TypeError(err)8530}8531module.exports = curry(maybeToArray)8532/***/ }),8533/* 279 */8534/***/ (function(module, exports, __webpack_require__) {8535/** @license ISC License (c) copyright 2017 original and current authors */8536/** @author Ian Hofmann-Hicks (evil) */8537var Async = __webpack_require__(114)8538var Maybe = __webpack_require__(17).proxy('Maybe')8539var curry = __webpack_require__(3)8540var isFunction = __webpack_require__(4)8541var isSameType = __webpack_require__(18)8542var constant = function (x) { return function () { return x; }; }8543var applyTransform = function (left, maybe) { return maybe.either(8544 constant(Async.Rejected(left)),8545 Async.Resolved8546 ); }8547// maybeToAsync : e -> Maybe a -> Async e a8548// maybeToAsync : e -> (a -> Maybe b) -> a -> Async e b8549function maybeToAsync(left, maybe) {8550 if(isFunction(maybe)) {8551 return function(x) {8552 var m = maybe(x)8553 if(!isSameType(Maybe, m)) {8554 throw new TypeError('maybeToAsync: Maybe returning function required for second argument')8555 }8556 return applyTransform(left, m)8557 }8558 }8559 if(isSameType(Maybe, maybe)) {8560 return applyTransform(left, maybe)8561 }8562 throw new TypeError('maybeToAsync: Maybe or Maybe returning function required for second argument')8563}8564module.exports = curry(maybeToAsync)8565/***/ }),8566/* 280 */8567/***/ (function(module, exports, __webpack_require__) {8568/** @license ISC License (c) copyright 2017 original and current authors */8569/** @author Ian Hofmann-Hicks (evil) */8570var Either = __webpack_require__(121)8571var Maybe = __webpack_require__(17).proxy('Maybe')8572var curry = __webpack_require__(3)8573var isFunction = __webpack_require__(4)8574var isSameType = __webpack_require__(18)8575var constant = function (x) { return function () { return x; }; }8576var applyTransform = function (left, maybe) { return maybe.either(8577 constant(Either.Left(left)),8578 Either.Right8579 ); }8580// maybeToEither : c -> Maybe a -> Either c a8581// maybeToEither : c -> (a -> Maybe b) -> a -> Either c b8582function maybeToEither(left, maybe) {8583 if(isFunction(maybe)) {8584 return function(x) {8585 var m = maybe(x)8586 if(!isSameType(Maybe, m)) {8587 throw new TypeError('maybeToEither: Maybe returning function required for second argument')8588 }8589 return applyTransform(left, m)8590 }8591 }8592 if(isSameType(Maybe, maybe)) {8593 return applyTransform(left, maybe)8594 }8595 throw new TypeError('maybeToEither: Maybe or Maybe returning function required for second argument')8596}8597module.exports = curry(maybeToEither)8598/***/ }),8599/* 281 */8600/***/ (function(module, exports, __webpack_require__) {8601/** @license ISC License (c) copyright 2017 original and current authors */8602/** @author Ian Hofmann-Hicks (evil) */8603var First = __webpack_require__(206)8604var Maybe = __webpack_require__(17).proxy('Maybe')8605var curry = __webpack_require__(3)8606var isFunction = __webpack_require__(4)8607var isSameType = __webpack_require__(18)8608var applyTransform = function (maybe) { return First(maybe); }8609// maybeToFirst : Maybe a -> First a8610// maybeToFirst : (a -> Maybe b) -> a -> First b8611function maybeToFirst(maybe) {8612 if(isFunction(maybe)) {8613 return function(x) {8614 var m = maybe(x)8615 if(!isSameType(Maybe, m)) {8616 throw new TypeError('maybeToFirst: Maybe returning function required')8617 }8618 return applyTransform(m)8619 }8620 }8621 if(isSameType(Maybe, maybe)) {8622 return applyTransform(maybe)8623 }8624 throw new TypeError('maybeToFirst: Maybe or Maybe returning function required')8625}8626module.exports = curry(maybeToFirst)8627/***/ }),8628/* 282 */8629/***/ (function(module, exports, __webpack_require__) {8630/** @license ISC License (c) copyright 2017 original and current authors */8631/** @author Ian Hofmann-Hicks (evil) */8632var Last = __webpack_require__(207)8633var Maybe = __webpack_require__(17).proxy('Maybe')8634var curry = __webpack_require__(3)8635var isFunction = __webpack_require__(4)8636var isSameType = __webpack_require__(18)8637var applyTransform = function (maybe) { return Last(maybe); }8638// maybeToLast : Maybe a -> Last a8639// maybeToLast : (a -> Maybe b) -> a -> Last b8640function maybeToLast(maybe) {8641 if(isFunction(maybe)) {8642 return function(x) {8643 var m = maybe(x)8644 if(!isSameType(Maybe, m)) {8645 throw new TypeError('maybeToLast: Maybe returning function required')8646 }8647 return applyTransform(m)8648 }8649 }8650 if(isSameType(Maybe, maybe)) {8651 return applyTransform(maybe)8652 }8653 throw new TypeError('maybeToLast: Maybe or Maybe returning function required')8654}8655module.exports = curry(maybeToLast)8656/***/ }),8657/* 283 */8658/***/ (function(module, exports, __webpack_require__) {8659/** @license ISC License (c) copyright 2019 original and current authors */8660/** @author Ian Hofmann-Hicks (evil) */8661var List = __webpack_require__(127)8662var Maybe = __webpack_require__(17).proxy('Maybe')8663var curry = __webpack_require__(3)8664var isFunction = __webpack_require__(4)8665var isSameType = __webpack_require__(18)8666var applyTransform = function (maybe) { return maybe.either(8667 List.empty,8668 List.of8669 ); }8670var err =8671 'maybeToList: Argument must be a Maybe instanstace or a Maybe returning function'8672// maybeToList : Maybe a -> List a8673// maybeToList : (a -> Maybe b) -> a -> List b8674function maybeToList(maybe) {8675 if(isFunction(maybe)) {8676 return function(x) {8677 var m = maybe(x)8678 if(!isSameType(Maybe, m)) {8679 throw new TypeError(err)8680 }8681 return applyTransform(m)8682 }8683 }8684 if(isSameType(Maybe, maybe)) {8685 return applyTransform(maybe)8686 }8687 throw new TypeError(err)8688}8689module.exports = curry(maybeToList)8690/***/ }),8691/* 284 */8692/***/ (function(module, exports, __webpack_require__) {8693/** @license ISC License (c) copyright 2017 original and current authors */8694/** @author Ian Hofmann-Hicks (evil) */8695var Result = __webpack_require__(137)8696var Maybe = __webpack_require__(17).proxy('Maybe')8697var curry = __webpack_require__(3)8698var isFunction = __webpack_require__(4)8699var isSameType = __webpack_require__(18)8700var constant = function (x) { return function () { return x; }; }8701var applyTransform = function (left, maybe) { return maybe.either(8702 constant(Result.Err(left)),8703 Result.Ok8704 ); }8705// maybeToResult : c -> Maybe a -> Result c a8706// maybeToResult : c -> (a -> Maybe b) -> a -> Result c b8707function maybeToResult(left, maybe) {8708 if(isFunction(maybe)) {8709 return function(x) {8710 var m = maybe(x)8711 if(!isSameType(Maybe, m)) {8712 throw new TypeError('maybeToResult: Maybe returning function required for second argument')8713 }8714 return applyTransform(left, m)8715 }8716 }8717 if(isSameType(Maybe, maybe)) {8718 return applyTransform(left, maybe)8719 }8720 throw new TypeError('maybeToResult: Maybe or Maybe returning function required for second argument')8721}8722module.exports = curry(maybeToResult)8723/***/ }),8724/* 285 */8725/***/ (function(module, exports, __webpack_require__) {8726/** @license ISC License (c) copyright 2017 original and current authors */8727/** @author Ian Hofmann-Hicks (evil) */8728var Async = __webpack_require__(114)8729var Result = __webpack_require__(17).proxy('Result')8730var curry = __webpack_require__(3)8731var isFunction = __webpack_require__(4)8732var isSameType = __webpack_require__(18)8733var applyTransform = function (either) { return either.either(Async.Rejected, Async.Resolved); }8734// resultToAsync : Result e a -> Async e a8735// resultToAsync : (a -> Result e b) -> a -> Async e b8736function resultToAsync(result) {8737 if(isFunction(result)) {8738 return function(x) {8739 var m = result(x)8740 if(!isSameType(Result, m)) {8741 throw new TypeError('resultToAsync: Result returning function required')8742 }8743 return applyTransform(m)8744 }8745 }8746 if(isSameType(Result, result)) {8747 return applyTransform(result)8748 }8749 throw new TypeError('resultToAsync: Result or Result returning function required')8750}8751module.exports = curry(resultToAsync)8752/***/ }),8753/* 286 */8754/***/ (function(module, exports, __webpack_require__) {8755/** @license ISC License (c) copyright 2017 original and current authors */8756/** @author Ian Hofmann-Hicks (evil) */8757var Either = __webpack_require__(121)8758var Result = __webpack_require__(17).proxy('Result')8759var curry = __webpack_require__(3)8760var isFunction = __webpack_require__(4)8761var isSameType = __webpack_require__(18)8762var applyTransform = function (result) { return result.either(Either.Left, Either.Right); }8763// resultToEither : Result e a -> Either e a8764// resultToEither : (a -> Result e b) -> a -> Either e b8765function resultToEither(result) {8766 if(isFunction(result)) {8767 return function(x) {8768 var m = result(x)8769 if(!isSameType(Result, m)) {8770 throw new TypeError('resultToEither: Result returning function required')8771 }8772 return applyTransform(m)8773 }8774 }8775 if(isSameType(Result, result)) {8776 return applyTransform(result)8777 }8778 throw new TypeError('resultToEither: Result or Result returning function required')8779}8780module.exports = curry(resultToEither)8781/***/ }),8782/* 287 */8783/***/ (function(module, exports, __webpack_require__) {8784/** @license ISC License (c) copyright 2017 original and current authors */8785/** @author Ian Hofmann-Hicks (evil) */8786var First = __webpack_require__(206)8787var Result = __webpack_require__(17).proxy('Result')8788var curry = __webpack_require__(3)8789var isFunction = __webpack_require__(4)8790var isSameType = __webpack_require__(18)8791var applyTransform = function (result) { return result.either(First.empty, First); }8792// resultToFirst : Result b a -> First a8793// resultToFirst : (a -> Result c b) -> a -> First b8794function resultToFirst(result) {8795 if(isFunction(result)) {8796 return function(x) {8797 var m = result(x)8798 if(!isSameType(Result, m)) {8799 throw new TypeError('resultToFirst: Result returning function required')8800 }8801 return applyTransform(m)8802 }8803 }8804 if(isSameType(Result, result)) {8805 return applyTransform(result)8806 }8807 throw new TypeError('resultToFirst: Result or Result returning function required')8808}8809module.exports = curry(resultToFirst)8810/***/ }),8811/* 288 */8812/***/ (function(module, exports, __webpack_require__) {8813/** @license ISC License (c) copyright 2017 original and current authors */8814/** @author Ian Hofmann-Hicks (evil) */8815var Last = __webpack_require__(207)8816var Result = __webpack_require__(17).proxy('Result')8817var curry = __webpack_require__(3)8818var isFunction = __webpack_require__(4)8819var isSameType = __webpack_require__(18)8820var applyTransform = function (result) { return result.either(Last.empty, Last); }8821// resultToLast : Result b a -> Last a8822// resultToLast : (a -> Result c b) -> a -> Last b8823function resultToLast(result) {8824 if(isFunction(result)) {8825 return function(x) {8826 var m = result(x)8827 if(!isSameType(Result, m)) {8828 throw new TypeError('resultToLast: Result returning function required')8829 }8830 return applyTransform(m)8831 }8832 }8833 if(isSameType(Result, result)) {8834 return applyTransform(result)8835 }8836 throw new TypeError('resultToLast: Result or Result returning function required')8837}8838module.exports = curry(resultToLast)8839/***/ }),8840/* 289 */8841/***/ (function(module, exports, __webpack_require__) {8842/** @license ISC License (c) copyright 2017 original and current authors */8843/** @author Ian Hofmann-Hicks (evil) */8844var Maybe = __webpack_require__(130)8845var Result = __webpack_require__(17).proxy('Result')8846var curry = __webpack_require__(3)8847var isFunction = __webpack_require__(4)8848var isSameType = __webpack_require__(18)8849var applyTransform = function (result) { return result.either(Maybe.Nothing, Maybe.Just); }8850// resultToMaybe : Result b a -> Maybe a8851// resultToMaybe : (a -> Result c b) -> a -> Maybe b8852function resultToMaybe(result) {8853 if(isFunction(result)) {8854 return function(x) {8855 var m = result(x)8856 if(!isSameType(Result, m)) {8857 throw new TypeError('resultToMaybe: Result returning function required')8858 }8859 return applyTransform(m)8860 }8861 }8862 if(isSameType(Result, result)) {8863 return applyTransform(result)8864 }8865 throw new TypeError('resultToMaybe: Result or Result returning function required')8866}8867module.exports = curry(resultToMaybe)8868/***/ }),8869/* 290 */8870/***/ (function(module, exports, __webpack_require__) {8871/** @license ISC License (c) copyright 2018 original and current authors */8872/** @author Jasmina Jacquelina (jasminabasurita) */8873var curry = __webpack_require__(3)8874var isFunction = __webpack_require__(4)8875// tupleToArray : Tuple a -> [ a ]8876// tupleToArray : (a -> Tuple b) -> a -> [ b ]...

Full Screen

Full Screen

isSameType.spec.js

Source:isSameType.spec.js Github

copy

Full Screen

...8})9test('isSameType (ADTs)', t => {10 const first = { type: () => 'first' }11 const second = { type: () => 'second' }12 t.equal(isSameType(first, first), true, 'reports true when they are the same')13 t.equal(isSameType(first, second), false, 'reports false when they are the different containers')14 t.equal(isSameType(first, []), false, 'reports false when one is not a container')15 t.end()16})17test('isSameType (Nils)', t => {18 t.equal(isSameType(undefined, undefined), true, 'reports true when both are undefined')19 t.equal(isSameType(null, null), true, 'reports true when both are null')20 t.equal(isSameType(undefined, null), false, 'reports false with undefined and null')21 t.equal(isSameType(undefined, 0), false, 'reports false with undefined and falsey number')22 t.equal(isSameType(undefined, 1), false, 'reports false with undefined and truthy number')23 t.equal(isSameType(undefined, ''), false, 'reports false with undefined and falsey string')24 t.equal(isSameType(undefined, 'string'), false, 'reports false with undefined and truthy string')25 t.equal(isSameType(undefined, false), false, 'reports false with undefined and false')26 t.equal(isSameType(undefined, true), false, 'reports false with undefined and true')27 t.equal(isSameType(undefined, []), false, 'reports false with undefined and array')28 t.equal(isSameType(undefined, {}), false, 'reports false with undefined and an object')29 t.equal(isSameType(undefined, unit), false, 'reports false with undefined and a function')30 t.equal(isSameType(null, undefined), false, 'reports false with null and undefined')31 t.equal(isSameType(0, undefined), false, 'reports false with falsey number and undefined')32 t.equal(isSameType(1, undefined), false, 'reports false with truthy number and undefined')33 t.equal(isSameType('', undefined), false, 'reports false with falsey string and undefined')34 t.equal(isSameType('string', undefined), false, 'reports false with truthy string and undefined')35 t.equal(isSameType(false, undefined), false, 'reports false with false and undefined')36 t.equal(isSameType(true, undefined), false, 'reports false with true and undefined')37 t.equal(isSameType([], undefined), false, 'reports false with array and undefined')38 t.equal(isSameType({}, undefined), false, 'reports false with an object and undefined')39 t.equal(isSameType(unit, undefined), false, 'reports false with a function and undefined')40 t.equal(isSameType(null, undefined), false, 'reports false null and undefined')41 t.equal(isSameType(null, 0), false, 'reports false with null and falsey number')42 t.equal(isSameType(null, 1), false, 'reports false with null and truthy number')43 t.equal(isSameType(null, ''), false, 'reports false with null and falsey string')44 t.equal(isSameType(null, 'string'), false, 'reports false with null and truthy string')45 t.equal(isSameType(null, false), false, 'reports false with null and false')46 t.equal(isSameType(null, true), false, 'reports false with null and true')47 t.equal(isSameType(null, []), false, 'reports false with null and array')48 t.equal(isSameType(null, {}), false, 'reports false with null and an object')49 t.equal(isSameType(null, unit), false, 'reports false with null and a function')50 t.equal(isSameType(null, undefined), false, 'reports false undefined and null')51 t.equal(isSameType(0, null), false, 'reports false with falsey number and null')52 t.equal(isSameType(1, null), false, 'reports false with truthy number and null')53 t.equal(isSameType('', null), false, 'reports false with falsey string and null')54 t.equal(isSameType('string', null), false, 'reports false with truthy string and null')55 t.equal(isSameType(false, null), false, 'reports false with false and null')56 t.equal(isSameType(true, null), false, 'reports false with true and null')57 t.equal(isSameType([], null), false, 'reports false with array and null')58 t.equal(isSameType({}, null), false, 'reports false with an object and null')59 t.equal(isSameType(unit, null), false, 'reports false with a function and null')60 t.end()61})62test('isSameType (Numbers)', t => {63 t.equal(isSameType(Number, 0), true, 'reports true with Number and falsey number')64 t.equal(isSameType(Number, 1), true, 'reports true with Number and truthy number')65 t.equal(isSameType(0, Number), true, 'reports true with falsey number and Number')66 t.equal(isSameType(1, Number), true, 'reports true with truthy number and Number')67 t.equal(isSameType(0, 1), true, 'reports true with falsey number and truthy number')68 t.equal(isSameType(1, 0), true, 'reports true with truthy number and falsey number')69 t.equal(isSameType(Number, ''), false, 'reports false with Number and falsey string')70 t.equal(isSameType(Number, 'string'), false, 'reports false with Number and truthy string')71 t.equal(isSameType(Number, false), false, 'reports false with Number and false')72 t.equal(isSameType(Number, true), false, 'reports false with Number and true')73 t.equal(isSameType(Number, {}), false, 'reports false with Number and object')74 t.equal(isSameType(Number, []), false, 'reports false with Number and array')75 t.equal(isSameType('', Number), false, 'reports false with falsey string and Number')76 t.equal(isSameType('string', Number), false, 'reports false with truthy string and Number')77 t.equal(isSameType(false, Number), false, 'reports false with false and Number')78 t.equal(isSameType(true, Number), false, 'reports false with true and Number')79 t.equal(isSameType({}, Number), false, 'reports false with object and Number')80 t.equal(isSameType([], Number), false, 'reports false with array and Number')81 t.equal(isSameType(0, ''), false, 'reports false with falsey number and falsey string')82 t.equal(isSameType(0, 'string'), false, 'reports false with falsey number and truthy string')83 t.equal(isSameType(0, false), false, 'reports false with falsey number and false')84 t.equal(isSameType(0, true), false, 'reports false with falsey number and true')85 t.equal(isSameType(0, {}), false, 'reports false with falsey number and object')86 t.equal(isSameType(0, []), false, 'reports false with falsey number and array')87 t.equal(isSameType(0, unit), false, 'reports false with falsey number and function')88 t.equal(isSameType('', 0), false, 'reports false with falsey string and falsey number')89 t.equal(isSameType('string', 0), false, 'reports false with truthy string and falsey number')90 t.equal(isSameType(false, 0), false, 'reports false with false and falsey number')91 t.equal(isSameType(true, 0), false, 'reports false with true and falsey number')92 t.equal(isSameType({}, 0), false, 'reports false with object and falsey number')93 t.equal(isSameType([], 0), false, 'reports false with array and falsey number')94 t.equal(isSameType(unit, 0), false, 'reports false with function and falsey number')95 t.equal(isSameType(1, ''), false, 'reports false with truthy number and falsey string')96 t.equal(isSameType(1, 'string'), false, 'reports false with truthy number and truthy string')97 t.equal(isSameType(1, false), false, 'reports false with truthy number and false')98 t.equal(isSameType(1, true), false, 'reports false with truthy number and true')99 t.equal(isSameType(1, {}), false, 'reports false with truthy number and object')100 t.equal(isSameType(1, []), false, 'reports false with truthy number and array')101 t.equal(isSameType(1, unit), false, 'reports false with truthy number and function')102 t.equal(isSameType('', 1), false, 'reports false with falsey string and truthy number')103 t.equal(isSameType('string', 1), false, 'reports false with truthy string and truthy number')104 t.equal(isSameType(false, 1), false, 'reports false with false and truthy number')105 t.equal(isSameType(true, 1), false, 'reports false with true and truthy number')106 t.equal(isSameType({}, 1), false, 'reports false with object and truthy number')107 t.equal(isSameType([], 1), false, 'reports false with array and truthy number')108 t.equal(isSameType(unit, 1), false, 'reports false with function and truthy number')109 t.end()110})111test('isSameType (Strings)', t => {112 t.equal(isSameType(String, ''), true, 'reports true with String and falsey string')113 t.equal(isSameType(String, 'string'), true, 'reports true with String and truthy string')114 t.equal(isSameType('', String), true, 'reports true with falsey string and String')115 t.equal(isSameType('string', String), true, 'reports true with truthy string and String')116 t.equal(isSameType('', 'string'), true, 'reports true with falsey string and truthy string')117 t.equal(isSameType('string', ''), true, 'reports true with truthy string and falsey string')118 t.equal(isSameType(String, 0), false, 'reports false with String and falsey number')119 t.equal(isSameType(String, 1), false, 'reports false with String and truthy number')120 t.equal(isSameType(String, false), false, 'reports false with String and false')121 t.equal(isSameType(String, true), false, 'reports false with String and true')122 t.equal(isSameType(String, {}), false, 'reports false with String and object')123 t.equal(isSameType(String, []), false, 'reports false with String and array')124 t.equal(isSameType(0, String), false, 'reports false with falsey number and String')125 t.equal(isSameType(0, String), false, 'reports false with truthy number and String')126 t.equal(isSameType(false, String), false, 'reports false with false and String')127 t.equal(isSameType(true, String), false, 'reports false with true and String')128 t.equal(isSameType({}, String), false, 'reports false with object and String')129 t.equal(isSameType([], String), false, 'reports false with array and String')130 t.equal(isSameType('', false), false, 'reports false with falsey string and false')131 t.equal(isSameType('', true), false, 'reports false with falsey string and true')132 t.equal(isSameType('', {}), false, 'reports false with falsey string and object')133 t.equal(isSameType('', []), false, 'reports false with falsey string and array')134 t.equal(isSameType('', unit), false, 'reports false with falsey string and function')135 t.equal(isSameType(false, ''), false, 'reports false with false and falsey string')136 t.equal(isSameType(true, ''), false, 'reports false with true and falsey string')137 t.equal(isSameType({}, ''), false, 'reports false with object and falsey string')138 t.equal(isSameType([], ''), false, 'reports false with array and falsey string')139 t.equal(isSameType(unit, ''), false, 'reports false with function and falsey string')140 t.equal(isSameType('string', false), false, 'reports false with truthy string and false')141 t.equal(isSameType('string', true), false, 'reports false with truthy string and true')142 t.equal(isSameType('string', {}), false, 'reports false with truthy string and object')143 t.equal(isSameType('string', []), false, 'reports false with truthy string and array')144 t.equal(isSameType('string', unit), false, 'reports false with truthy string and function')145 t.equal(isSameType(false, 'string'), false, 'reports false with false and truthy string')146 t.equal(isSameType(true, 'string'), false, 'reports false with true and truthy string')147 t.equal(isSameType({}, 'string'), false, 'reports false with object and truthy string')148 t.equal(isSameType([], 'string'), false, 'reports false with array and truthy string')149 t.equal(isSameType(unit, 'string'), false, 'reports false with function and truthy string')150 t.end()151})152test('isSameType (Booleans)', t => {153 t.equal(isSameType(Boolean, false), true, 'reports true with Boolean and false')154 t.equal(isSameType(Boolean, true), true, 'reports true with Boolean and true')155 t.equal(isSameType(false, Boolean), true, 'reports true with false and Boolean')156 t.equal(isSameType(true, Boolean), true, 'reports true with true and Boolean')157 t.equal(isSameType(false, true), true, 'reports true with false and true')158 t.equal(isSameType(true, false), true, 'reports true with true and false')159 t.equal(isSameType(true, true), true, 'reports true with true and true')160 t.equal(isSameType(false, false), true, 'reports true with false and false')161 t.equal(isSameType(Boolean, 0), false, 'reports false with Boolean and falsey number')162 t.equal(isSameType(Boolean, 1), false, 'reports false with Boolean and truthy number')163 t.equal(isSameType(Boolean, ''), false, 'reports false with Boolean and falsey string')164 t.equal(isSameType(Boolean, 'string'), false, 'reports false with Boolean and truthy string')165 t.equal(isSameType(Boolean, {}), false, 'reports false with Boolean and object')166 t.equal(isSameType(Boolean, []), false, 'reports false with Boolean and array')167 t.equal(isSameType(0, Boolean), false, 'reports false with falsey number and Boolean')168 t.equal(isSameType(1, Boolean), false, 'reports false with truthy number and Boolean')169 t.equal(isSameType('', Boolean), false, 'reports false with falsey string and Boolean')170 t.equal(isSameType('string', Boolean), false, 'reports false with truthy string and Boolean')171 t.equal(isSameType({}, Boolean), false, 'reports false with object and Boolean')172 t.equal(isSameType([], Boolean), false, 'reports false with array and Boolean')173 t.equal(isSameType(false, {}), false, 'reports false with false string and object')174 t.equal(isSameType(false, []), false, 'reports false with false string and array')175 t.equal(isSameType(false, unit), false, 'reports false with false string and function')176 t.equal(isSameType({}, false), false, 'reports false with object and false string')177 t.equal(isSameType([], false), false, 'reports false with array and false string')178 t.equal(isSameType(unit, false), false, 'reports false with function and false string')179 t.equal(isSameType(true, {}), false, 'reports false with true and object')180 t.equal(isSameType(true, []), false, 'reports false with true and array')181 t.equal(isSameType(true, unit), false, 'reports false with true and function')182 t.equal(isSameType({}, true), false, 'reports false with object and true')183 t.equal(isSameType([], true), false, 'reports false with array and true')184 t.equal(isSameType(unit, true), false, 'reports false with function and true')185 t.end()186})187test('isSameType (Objects)', t => {188 t.equal(isSameType(Object, {}), true, 'reports true with Object and object')189 t.equal(isSameType({}, Object), true, 'reports true with object and Object')190 t.equal(isSameType({}, {}), true, 'reports true with object and object')191 t.equal(isSameType(Object, 0), false, 'reports false with Object and falsey number')192 t.equal(isSameType(Object, 1), false, 'reports false with Object and truthy number')193 t.equal(isSameType(Object, ''), false, 'reports false with Object and falsey string')194 t.equal(isSameType(Object, 'string'), false, 'reports false with Object and truthy string')195 t.equal(isSameType(Object, false), false, 'reports false with Object and false')196 t.equal(isSameType(Object, true), false, 'reports false with Object and true')197 t.equal(isSameType(Object, []), false, 'reports false with Object and array')198 t.equal(isSameType(0, Object), false, 'reports false with falsey number and Object')199 t.equal(isSameType(1, Object), false, 'reports false with truthy number and Object')200 t.equal(isSameType('', Object), false, 'reports false with falsey string and Object')201 t.equal(isSameType('string', Object), false, 'reports false with truthy string and Object')202 t.equal(isSameType(false, Object), false, 'reports false with false and Object')203 t.equal(isSameType(true, Object), false, 'reports false with true and Object')204 t.equal(isSameType([], Object), false, 'reports false with array and Object')205 t.equal(isSameType({}, []), false, 'reports false with object and array')206 t.equal(isSameType({}, unit), false, 'reports false with object and function')207 t.equal(isSameType([], {}), false, 'reports false with array and object')208 t.equal(isSameType(unit, {}), false, 'reports false with unit and object')209 t.end()210})211test('isSameType (Arrays)', t => {212 t.equal(isSameType(Array, []), true, 'reports true with Array and array')213 t.equal(isSameType([], Array), true, 'reports true with array and Array')214 t.equal(isSameType([], []), true, 'reports true with array and array')215 t.equal(isSameType(Array, 0), false, 'reports false with Array and falsey number')216 t.equal(isSameType(Array, 1), false, 'reports false with Array and truthy number')217 t.equal(isSameType(Array, ''), false, 'reports false with Array and falsey string')218 t.equal(isSameType(Array, 'string'), false, 'reports false with Array and truthy string')219 t.equal(isSameType(Array, false), false, 'reports false with Array and false')220 t.equal(isSameType(Array, true), false, 'reports false with Array and true')221 t.equal(isSameType(Array, {}), false, 'reports false with Array and object')222 t.equal(isSameType(0, Array), false, 'reports false with falsey number and Array')223 t.equal(isSameType(1, Array), false, 'reports false with truthy number and Array')224 t.equal(isSameType('', Array), false, 'reports false with falsey string and Array')225 t.equal(isSameType('string', Array), false, 'reports false with truthy string and Array')226 t.equal(isSameType(false, Array), false, 'reports false with false and Array')227 t.equal(isSameType(true, Array), false, 'reports false with true and Array')228 t.equal(isSameType({}, Array), false, 'reports false with object and Array')229 t.equal(isSameType(unit, []), false, 'reports false with function and array')230 t.equal(isSameType([], unit), false, 'reports false with array and function')231 t.end()232})233test('isSameType (Functions)', t => {234 t.equal(isSameType(Function, unit), true, 'reports true with Function and function')235 t.equal(isSameType(unit, Function), true, 'reports true with function and Function')236 t.equal(isSameType(unit, x => x), true, 'reports true with function and function')237 t.equal(isSameType(Function, 0), false, 'reports false with Function and falsey number')238 t.equal(isSameType(Function, 1), false, 'reports false with Function and truthy number')239 t.equal(isSameType(Function, ''), false, 'reports false with Function and falsey string')240 t.equal(isSameType(Function, 'string'), false, 'reports false with Function and truthy string')241 t.equal(isSameType(Function, false), false, 'reports false with Function and false')242 t.equal(isSameType(Function, true), false, 'reports false with Function and true')243 t.equal(isSameType(Function, {}), false, 'reports false with Function and object')244 t.equal(isSameType(Function, []), false, 'reports false with Function and array')245 t.equal(isSameType(0, Function), false, 'reports false with falsey number and Function')246 t.equal(isSameType(1, Function), false, 'reports false with truthy number and Function')247 t.equal(isSameType('', Function), false, 'reports false with falsey string and Function')248 t.equal(isSameType('string', Function), false, 'reports false with truthy string and Function')249 t.equal(isSameType(false, Function), false, 'reports false with false string and Function')250 t.equal(isSameType(true, Function), false, 'reports false with true and Function')251 t.equal(isSameType({}, Function), false, 'reports false with object and Function')252 t.equal(isSameType([], Function), false, 'reports false with array and Function')253 t.equal(isSameType(false, {}), false, 'reports false with false string and object')254 t.equal(isSameType(false, []), false, 'reports false with false string and array')255 t.equal(isSameType({}, false), false, 'reports false with object and false string')256 t.equal(isSameType([], false), false, 'reports false with array and false string')257 t.equal(isSameType(true, {}), false, 'reports false with true and object')258 t.equal(isSameType(true, []), false, 'reports false with true and array')259 t.equal(isSameType({}, true), false, 'reports false with object and true')260 t.equal(isSameType([], true), false, 'reports false with array and true')261 t.end()...

Full Screen

Full Screen

queue.test.js

Source:queue.test.js Github

copy

Full Screen

...65test('The function .last() returns null for an empty queue', () => {66 const queue = new Queue();67 expect(queue.last()).toBeNull();68});69test('The function .isSameType() is true for queues that have items of the same type', () => {70 const queue = new Queue();71 queue.enqueue(1);72 queue.enqueue(2);73 queue.enqueue(3);74 expect(queue.isSameType()).toBe(true);75});76test('The function .isSameType() is true for empty queues', () => {77 const queue = new Queue();78 expect(queue.isSameType()).toBe(true);79});80test('The function .isSameType() is false for queues that have items of different types', () => {81 const queue = new Queue();82 queue.enqueue(1);83 queue.enqueue('test');84 queue.enqueue(3);85 expect(queue.isSameType()).toBe(false);86});87test('Removing an item from an empty queue should return null', () => {88 const queue = new Queue();89 queue.enqueue(1);90 queue.enqueue(2);91 queue.enqueue(3);92 queue.dequeue();93 queue.dequeue();94 queue.dequeue();95 expect(queue.dequeue()).toBeNull();96});97test('Initializing a queue with a value will have a length of 1', () => {98 const queue = new Queue(1);99 expect(queue.length).toBe(1);...

Full Screen

Full Screen

common.js

Source:common.js Github

copy

Full Screen

...9 return getType(a) === getType(b)10}11function getTypeIndex (type, expectedTypes) {12 if (!Array.isArray(expectedTypes)) {13 return isSameType(expectedTypes, type) ? 0 : -114 }15 for (var i = 0, len = expectedTypes.length; i < len; i++) {16 if (isSameType(expectedTypes[i], type)) {17 return i18 }19 }20 return -121}22function mergeObject (source, target) {23 // 合并对象,遇到对象则合并,其他覆盖24 let handler = function (source, target) {25 let keys = Object.keys(source)26 // 1.判断源对象是否需要处理27 if (keys.length) {28 keys.map(key => {29 // 源属性30 let item = source[key]...

Full Screen

Full Screen

main.js

Source:main.js Github

copy

Full Screen

...28* @param {*} b - second input value29* @returns {boolean} boolean indicating whether two arguments have the same type30*31* @example32* var bool = isSameType( true, true );33* // returns true34*35* @example36* var bool = isSameType( 3.14, 3.14 );37* // returns true38*39* @example40* var bool = isSameType( {}, [] );41* // returns true42*43* @example44* var bool = isSameType( NaN, NaN );45* // returns true46*47* @example48* var bool = isSameType( 0.0, '0.0' );49* // returns false50*/51function isSameType( a, b ) {52 return ( typeof a ) === ( typeof b );53}54// EXPORTS //...

Full Screen

Full Screen

utils.test.js

Source:utils.test.js Github

copy

Full Screen

...4const types = cheetah.types;5const typeList = types.typeList;6describe("Test function 'isSameType' for JavaScript Types", function () {7 // true tests8 it('isSameType(Boolean, Boolean) => true', async function () {9 assert.equal(utils.isSameType(Boolean, Boolean), true);10 });11 it('isSameType(Number, Number) => true', async function () {12 assert.equal(utils.isSameType(Number, Number), true);13 });14 // false tests15 it('isSameType(Boolean, Number) => false', async function () {16 assert.equal(utils.isSameType(Boolean, Number), false);17 });18});19describe("Test function 'isSameType' for Custom Schema Types", function () {20 // true tests21 for (let i = 0; i < typeList.length; i++) {22 it(`isSameType(types.${typeList[i].name}, types.${typeList[i].name}) => true`, async function () {23 assert.equal(utils.isSameType(typeList[i], typeList[i]), true);24 });25 }26 // false tests27 for (let i = 0; i < typeList.length; i++) {28 for (let j = 0; j < typeList.length; j++) {29 if (i !== j) {30 it(`isSameType(types.${typeList[i].name}, types.${typeList[j].name}) => false`, async function () {31 assert.equal(utils.isSameType(typeList[i], typeList[j]), false);32 });33 }34 }35 }...

Full Screen

Full Screen

same.mjs

Source:same.mjs Github

copy

Full Screen

1import is, { isSameType } from '../../src/index.mjs'2export default [3 { fn: isSameType('', ''), info: 'isSame can compare two strings' },4 { fn: isSameType(23, 1), info: 'isSame can compare two numbers' },5 { fn: isSameType(true, false), info: 'isSame can compare two booleans' },6 {7 fn: isSameType(8 () => {},9 function () {},10 ),11 info: 'isSame can compare two functions',12 },13 { fn: isSameType(new Date(), new Date()), info: 'isSame can compare two Dates' },14 { fn: isSameType(`temp 1`, `temp 2`), info: 'isSame can compare two templatestrings' },15 { fn: is.same(23, ''), expect: false, info: 'isSame can compare a number and a string' },16 { fn: is.same('', 23), expect: false, info: 'isSame can compare a string and a number' },17 {18 fn: is.sameType('', true),19 expect: false,20 info: 'isSame can compare a string and a boolean true',21 },22 {23 fn: is.sameType('', false),24 expect: false,25 info: 'isSame can compare a string and a boolean false',26 },27 {28 fn: is.isSameType(() => {}, false),29 expect: false,30 info: 'isSame can compare a function and a boolean false',31 },32 {33 fn: is.isSame(23, false),34 expect: false,35 info: 'isSame can compare a number and a boolean false',36 },...

Full Screen

Full Screen

index.js

Source:index.js Github

copy

Full Screen

...16* limitations under the License.17*/18'use strict';19var isSameType = require( './../lib' );20console.log( isSameType( true, false ) );21// => true22console.log( isSameType( 3.14, -3.14 ) );23// => true24console.log( isSameType( {}, [] ) );25// => true26console.log( isSameType( null, null ) );27// => true28console.log( isSameType( NaN, NaN ) );29// => true30console.log( isSameType( null, NaN ) );31// => false32console.log( isSameType( 0.0, '0.0' ) );...

Full Screen

Full Screen

Using AI Code Generation

copy

Full Screen

1const { isSameType } = require('playwright/lib/utils/utils');2const { chromium } = require('playwright');3(async () => {4 const browser = await chromium.launch();5 const context = await browser.newContext();6 const page = await context.newPage();7 console.log(isSameType('string', 'string'));8 await browser.close();9})();

Full Screen

Using AI Code Generation

copy

Full Screen

1const { isSameType } = require('playwright/lib/helper');2const assert = require('assert');3const { chromium } = require('playwright');4(async () => {5 const browser = await chromium.launch();6 const page = await browser.newPage();7 const title = await page.title();8 assert.ok(isSameType(title, 'string'));9 await browser.close();10})();11const { isSameType } = require('playwright/lib/helper');12const assert = require('assert');13const { chromium } = require('playwright');14(async () => {15 const browser = await chromium.launch();16 const page = await browser.newPage();17 const title = await page.title();18 assert.ok(isSameType(title, 'string'));19 await browser.close();20})();21const { isSameType } = require('playwright/lib/helper');22const assert = require('assert');23const { chromium } = require('playwright');24(async () => {25 const browser = await chromium.launch();26 const page = await browser.newPage();27 const title = await page.title();28 assert.ok(isSameType(title, 'string'));29 await browser.close();30})();31const { isSameType } = require('playwright/lib/helper');32const assert = require('assert');33const { chromium } = require('playwright');34(async () => {35 const browser = await chromium.launch();36 const page = await browser.newPage();37 const title = await page.title();38 assert.ok(isSameType(title, 'string'));39 await browser.close();40})();41const { isSameType } = require('playwright/lib/helper');42const assert = require('assert');43const { chromium } = require('playwright');44(async () => {45 const browser = await chromium.launch();46 const page = await browser.newPage();

Full Screen

Using AI Code Generation

copy

Full Screen

1const { isSameType } = require('playwright/lib/internal/utils/utils');2const { assert } = require('chai');3describe('Test', () => {4 it('test', () => {5 assert.isTrue(isSameType('string', 'string'));6 assert.isFalse(isSameType('string', 1));7 });8});9const { isSameType } = require('playwright/lib/internal/utils/utils');10const { assert } = require('chai');11describe('Test', () => {12 it('test', () => {13 assert.isTrue(isSameType('string', 'string'));14 assert.isFalse(isSameType('string', 1));15 });16});17const { isSameType } = require('playwright/lib/internal/utils/utils');18const { assert } = require('chai');19describe('Test', () => {20 it('test', () => {21 assert.isTrue(isSameType('string', 'string'));22 assert.isFalse(isSameType('string', 1));23 });24});25const { isSameType } = require('playwright/lib/internal/utils/utils');26const { assert } = require('chai');27describe('Test', () => {28 it('test', () => {29 assert.isTrue(isSameType('string', 'string'));30 assert.isFalse(isSameType('string', 1));31 });32});33const { isSameType } = require('playwright/lib/internal/utils/utils');34const { assert } = require('chai');35describe('Test', () => {36 it('test', () => {

Full Screen

Playwright tutorial

LambdaTest’s Playwright tutorial will give you a broader idea about the Playwright automation framework, its unique features, and use cases with examples to exceed your understanding of Playwright testing. This tutorial will give A to Z guidance, from installing the Playwright framework to some best practices and advanced concepts.

Chapters:

  1. What is Playwright : Playwright is comparatively new but has gained good popularity. Get to know some history of the Playwright with some interesting facts connected with it.
  2. How To Install Playwright : Learn in detail about what basic configuration and dependencies are required for installing Playwright and run a test. Get a step-by-step direction for installing the Playwright automation framework.
  3. Playwright Futuristic Features: Launched in 2020, Playwright gained huge popularity quickly because of some obliging features such as Playwright Test Generator and Inspector, Playwright Reporter, Playwright auto-waiting mechanism and etc. Read up on those features to master Playwright testing.
  4. What is Component Testing: Component testing in Playwright is a unique feature that allows a tester to test a single component of a web application without integrating them with other elements. Learn how to perform Component testing on the Playwright automation framework.
  5. Inputs And Buttons In Playwright: Every website has Input boxes and buttons; learn about testing inputs and buttons with different scenarios and examples.
  6. Functions and Selectors in Playwright: Learn how to launch the Chromium browser with Playwright. Also, gain a better understanding of some important functions like “BrowserContext,” which allows you to run multiple browser sessions, and “newPage” which interacts with a page.
  7. Handling Alerts and Dropdowns in Playwright : Playwright interact with different types of alerts and pop-ups, such as simple, confirmation, and prompt, and different types of dropdowns, such as single selector and multi-selector get your hands-on with handling alerts and dropdown in Playright testing.
  8. Playwright vs Puppeteer: Get to know about the difference between two testing frameworks and how they are different than one another, which browsers they support, and what features they provide.
  9. Run Playwright Tests on LambdaTest: Playwright testing with LambdaTest leverages test performance to the utmost. You can run multiple Playwright tests in Parallel with the LammbdaTest test cloud. Get a step-by-step guide to run your Playwright test on the LambdaTest platform.
  10. Playwright Python Tutorial: Playwright automation framework support all major languages such as Python, JavaScript, TypeScript, .NET and etc. However, there are various advantages to Python end-to-end testing with Playwright because of its versatile utility. Get the hang of Playwright python testing with this chapter.
  11. Playwright End To End Testing Tutorial: Get your hands on with Playwright end-to-end testing and learn to use some exciting features such as TraceViewer, Debugging, Networking, Component testing, Visual testing, and many more.
  12. Playwright Video Tutorial: Watch the video tutorials on Playwright testing from experts and get a consecutive in-depth explanation of Playwright automation testing.

Run Playwright Internal automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful