├── .babelrc ├── .gitignore ├── LICENSE.md ├── README.md ├── create-examples.js ├── deps ├── buble@latest.js ├── ramda-fantasy@latest.js ├── ramda@latest.js ├── sanctuary-def.js ├── sanctuary-type-classes@latest.js ├── sanctuary@latest.js └── tcomb@latest.js ├── examples ├── example.json ├── fantasy │ └── futures.js ├── function │ ├── compose.js │ └── useWith.js ├── list │ ├── filter.js │ └── map.js └── object │ └── prop.js ├── index.html ├── lib ├── css │ ├── repl.css │ └── terminal.css └── js │ ├── bundle.js │ ├── examples.js │ ├── googl.js │ ├── logger.js │ ├── main.js │ └── repl.js ├── package.json ├── rollup.js └── yarn.lock /.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": [ 3 | "es2015", 4 | "stage-0" 5 | ] 6 | } -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | 5 | # Runtime data 6 | pids 7 | *.pid 8 | *.seed 9 | 10 | # Directory for instrumented libs generated by jscoverage/JSCover 11 | lib-cov 12 | 13 | # Coverage directory used by tools like istanbul 14 | coverage 15 | 16 | # node-waf configuration 17 | .lock-wscript 18 | 19 | # Compiled binary addons (http://nodejs.org/api/addons.html) 20 | build/Release 21 | 22 | # Dependency directory 23 | # https://www.npmjs.org/doc/misc/npm-faq.html#should-i-check-my-node_modules-folder-into-git 24 | node_modules 25 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015 David Chase 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # ramtuary 2 | JavaScript functional REPL 3 | 4 | [![builtwith](https://img.shields.io/badge/built--with-rollup-e94c43.svg?style=flat-square)](http://rollupjs.org) 5 | [![builtwith](https://img.shields.io/badge/es6--with-bublé-0074D9.svg?style=flat-square)](http://buble.surge.sh/#) 6 | [![builtwith](https://img.shields.io/badge/repl--with-codemirror-d30707.svg?style=flat-square)](https://codemirror.net) 7 | 8 | ## Usage 9 | This REPL includes different libraries such as 10 | 11 | - [Ramda](https://github.com/ramda/ramda) - available with prefix `R` or without 12 | - [Sanctuary](https://github.com/sanctuary-js/sanctuary) - available with prefix `S` 13 | - [Ramda Fantasy](https://github.com/ramda/ramda-fantasy) - available `Either, Future, Identity, IO, Maybe, Reader, Tuple ` 14 | - [Tcomb](https://github.com/gcanti/tcomb) - available as `tcomb` 15 | - [Sanctuary-Type-Classes](https://github.com/sanctuary-js/sanctuary-type-classes) - available as `Z` 16 | 17 | ## Todo 18 | - [x] Add examples 19 | - [x] Add info for available libraries 20 | 21 | ### Please note 22 | If you are looking for the original REPL, it is now part of Ramda REPL [here](http://ramdajs.com/repl/) 23 | 24 | -------------------------------------------------------------------------------- /create-examples.js: -------------------------------------------------------------------------------- 1 | const fs = require('fs'); 2 | const R = require('ramda'); 3 | const vfs = require('vinyl-fs'); 4 | const through2 = require('through2'); 5 | 6 | const src = './examples/**/*.js'; 7 | const dest = './examples/example.json'; 8 | const stream = vfs.src(src); 9 | const examplesList = []; 10 | const options = { 11 | objectMode: true 12 | }; 13 | 14 | const groupByCategory = R.groupBy(R.prop('category')); 15 | 16 | const transform = function transform(chunk, enc, callback) { 17 | const arr = chunk.path.split('/'); 18 | const obj = { 19 | category: arr[6], 20 | title: arr[7].replace('.js', ''), 21 | code: chunk.contents.toString() 22 | }; 23 | 24 | examplesList.push(obj); 25 | callback(); 26 | }; 27 | 28 | const flush = function flush(callback) { 29 | const object = groupByCategory(examplesList); 30 | this.push(JSON.stringify(object, null, 2)); 31 | callback(); 32 | }; 33 | 34 | stream.pipe(through2(options, transform, flush)).pipe(fs.createWriteStream(dest)); 35 | -------------------------------------------------------------------------------- /deps/ramda-fantasy@latest.js: -------------------------------------------------------------------------------- 1 | !function(t){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var n;n="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,n.ramdaFantasy=t()}}(function(){return function t(n,r,e){function o(i,c){if(!r[i]){if(!n[i]){var a="function"==typeof require&&require;if(!c&&a)return a(i,!0);if(u)return u(i,!0);var f=new Error("Cannot find module '"+i+"'");throw f.code="MODULE_NOT_FOUND",f}var s=r[i]={exports:{}};n[i][0].call(s.exports,function(t){var r=n[i][1][t];return o(r?r:t)},s,s.exports,t,n,r,e)}return r[i].exports}for(var u="function"==typeof require&&require,i=0;i=0}},{"./_indexOf":27}],17:[function(t,n,r){var e=t("./_isPlaceholder");n.exports=function(t){return function n(r){return 0===arguments.length||e(r)?n:t.apply(this,arguments)}}},{"./_isPlaceholder":31}],18:[function(t,n,r){var e=t("./_curry1"),o=t("./_isPlaceholder");n.exports=function(t){return function n(r,u){switch(arguments.length){case 0:return n;case 1:return o(r)?n:e(function(n){return t(r,n)});default:return o(r)&&o(u)?n:o(r)?e(function(n){return t(n,u)}):o(u)?e(function(n){return t(r,n)}):t(r,u)}}}},{"./_curry1":17,"./_isPlaceholder":31}],19:[function(t,n,r){var e=t("./_curry1"),o=t("./_curry2"),u=t("./_isPlaceholder");n.exports=function(t){return function n(r,i,c){switch(arguments.length){case 0:return n;case 1:return u(r)?n:o(function(n,e){return t(r,n,e)});case 2:return u(r)&&u(i)?n:u(r)?o(function(n,r){return t(n,i,r)}):u(i)?o(function(n,e){return t(r,n,e)}):e(function(n){return t(r,i,n)});default:return u(r)&&u(i)&&u(c)?n:u(r)&&u(i)?o(function(n,r){return t(n,r,c)}):u(r)&&u(c)?o(function(n,r){return t(n,i,r)}):u(i)&&u(c)?o(function(n,e){return t(r,n,e)}):u(r)?e(function(n){return t(n,i,c)}):u(i)?e(function(n){return t(r,n,c)}):u(c)?e(function(n){return t(r,i,n)}):t(r,i,c)}}}},{"./_curry1":17,"./_curry2":18,"./_isPlaceholder":31}],20:[function(t,n,r){var e=t("./_arity"),o=t("./_isPlaceholder");n.exports=function t(n,r,u){return function(){for(var i=[],c=0,a=n,f=0;f=arguments.length)?s=r[f]:(s=arguments[c],c+=1),i[f]=s,o(s)||(a-=1),f+=1}return a<=0?u.apply(this,i):e(a,t(n,i,u))}}},{"./_arity":12,"./_isPlaceholder":31}],21:[function(t,n,r){var e=t("./_isArray"),o=t("./_isTransformer");n.exports=function(t,n,r){return function(){if(0===arguments.length)return r();var u=Array.prototype.slice.call(arguments,0),i=u.pop();if(!e(i)){for(var c=0;c=0;){if(f[l]===n)return s[l]===r;l-=1}for(f.push(n),s.push(r),l=p.length-1;l>=0;){var y=p[l];if(!u(y,r)||!t(r[y],n[y],f,s))return!1;l-=1}return f.pop(),s.pop(),!0}},{"../identical":10,"../keys":44,"../type":53,"./_arrayFromIterator":13,"./_functionName":24,"./_has":25}],23:[function(t,n,r){n.exports=function(t,n){for(var r=0,e=n.length,o=[];r=0&&"[object Array]"===Object.prototype.toString.call(t)}},{}],30:[function(t,n,r){n.exports=function(t){return"[object Object]"===Object.prototype.toString.call(t)}},{}],31:[function(t,n,r){n.exports=function(t){return null!=t&&"object"==typeof t&&t["@@functional/placeholder"]===!0}},{}],32:[function(t,n,r){n.exports=function(t){return"[object String]"===Object.prototype.toString.call(t)}},{}],33:[function(t,n,r){n.exports=function(t){return"function"==typeof t["@@transducer/step"]}},{}],34:[function(t,n,r){n.exports=function(t,n){for(var r=0,e=n.length,o=Array(e);r":t(o,u)},s=function(t,n){return o(function(n){return u(n)+": "+f(t[n])},n.slice().sort())};switch(Object.prototype.toString.call(n)){case"[object Arguments]":return"(function() { return arguments; }("+o(f,n).join(", ")+"))";case"[object Array]":return"["+o(f,n).concat(s(n,a(function(t){return/^\d+$/.test(t)},c(n)))).join(", ")+"]";case"[object Boolean]":return"object"==typeof n?"new Boolean("+f(n.valueOf())+")":n.toString();case"[object Date]":return"new Date("+(isNaN(n.valueOf())?f(NaN):u(i(n)))+")";case"[object Null]":return"null";case"[object Number]":return"object"==typeof n?"new Number("+f(n.valueOf())+")":1/n===-(1/0)?"-0":n.toString(10);case"[object String]":return"object"==typeof n?"new String("+f(n.valueOf())+")":u(n);case"[object Undefined]":return"undefined";default:if("function"==typeof n.toString){var p=n.toString();if("[object Object]"!==p)return p}return"{"+s(n,c(n)).join(", ")+"}"}}},{"../keys":44,"../reject":48,"./_contains":16,"./_map":34,"./_quote":36,"./_toISOString":38}],40:[function(t,n,r){n.exports={init:function(){return this.xf["@@transducer/init"]()},result:function(t){return this.xf["@@transducer/result"](t)}}},{}],41:[function(t,n,r){var e=t("./_curry2"),o=t("./_xfBase");n.exports=function(){function t(t,n){this.xf=n,this.f=t}return t.prototype["@@transducer/init"]=o.init,t.prototype["@@transducer/result"]=o.result,t.prototype["@@transducer/step"]=function(t,n){return this.f(n)?this.xf["@@transducer/step"](t,n):t},e(function(n,r){return new t(n,r)})}()},{"./_curry2":18,"./_xfBase":40}],42:[function(t,n,r){n.exports=function(){function t(t){this.f=t}return t.prototype["@@transducer/init"]=function(){throw new Error("init not implemented on XWrap")},t.prototype["@@transducer/result"]=function(t){return t},t.prototype["@@transducer/step"]=function(t,n){return this.f(t,n)},function(n){return new t(n)}}()},{}],43:[function(t,n,r){var e=t("./internal/_curry1"),o=t("./internal/_isArray"),u=t("./internal/_isString");n.exports=e(function(t){return!!o(t)||!!t&&("object"==typeof t&&(!u(t)&&(1===t.nodeType?!!t.length:0===t.length||t.length>0&&(t.hasOwnProperty(0)&&t.hasOwnProperty(t.length-1)))))})},{"./internal/_curry1":17,"./internal/_isArray":29,"./internal/_isString":32}],44:[function(t,n,r){var e=t("./internal/_curry1"),o=t("./internal/_has"),u=t("./internal/_isArguments");n.exports=function(){var t=!{toString:null}.propertyIsEnumerable("toString"),n=["constructor","valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"],r=function(){"use strict";return arguments.propertyIsEnumerable("length")}(),i=function(t,n){for(var r=0;r=0;)c=n[a],o(c,e)&&!i(f,c)&&(f[f.length]=c),a-=1;return f}:function(t){return Object(t)!==t?[]:Object.keys(t)})}()},{"./internal/_curry1":17,"./internal/_has":25,"./internal/_isArguments":28}],45:[function(t,n,r){var e=t("./internal/_arity"),o=t("./internal/_curry1");n.exports=o(function(t){var n,r=!1;return e(t.length,function(){return r?n:(r=!0,n=t.apply(this,arguments))})})},{"./internal/_arity":12,"./internal/_curry1":17}],46:[function(t,n,r){var e=t("./internal/_arity"),o=t("./internal/_pipe"),u=t("./reduce"),i=t("./tail");n.exports=function(){if(0===arguments.length)throw new Error("pipe requires at least one argument");return e(arguments[0].length,u(o,arguments[0],i(arguments)))}},{"./internal/_arity":12,"./internal/_pipe":35,"./reduce":47,"./tail":51}],47:[function(t,n,r){var e=t("./internal/_curry3"),o=t("./internal/_reduce");n.exports=e(o)},{"./internal/_curry3":19,"./internal/_reduce":37}],48:[function(t,n,r){var e=t("./internal/_complement"),o=t("./internal/_curry2"),u=t("./filter");n.exports=o(function(t,n){return u(e(t),n)})},{"./filter":8,"./internal/_complement":15,"./internal/_curry2":18}],49:[function(t,n,r){var e=t("./internal/_curry1"),o=t("./internal/_isString");n.exports=e(function(t){return o(t)?t.split("").reverse().join(""):Array.prototype.slice.call(t,0).reverse()})},{"./internal/_curry1":17,"./internal/_isString":32}],50:[function(t,n,r){var e=t("./internal/_checkForMethod"),o=t("./internal/_curry3");n.exports=o(e("slice",function(t,n,r){return Array.prototype.slice.call(r,t,n)}))},{"./internal/_checkForMethod":14,"./internal/_curry3":19}],51:[function(t,n,r){var e=t("./internal/_checkForMethod"),o=t("./internal/_curry1"),u=t("./slice");n.exports=o(e("tail",u(1,1/0)))},{"./internal/_checkForMethod":14,"./internal/_curry1":17,"./slice":50}],52:[function(t,n,r){var e=t("./internal/_curry1"),o=t("./internal/_toString");n.exports=e(function(t){return o(t,[])})},{"./internal/_curry1":17,"./internal/_toString":39}],53:[function(t,n,r){var e=t("./internal/_curry1");n.exports=e(function(t){return null===t?"Null":void 0===t?"Undefined":Object.prototype.toString.call(t).slice(8,-1)})},{"./internal/_curry1":17}],54:[function(t,n,r){function e(t,n){switch(arguments.length){case 0:throw new TypeError("no arguments to Either");case 1:return function(n){return null==n?e.Left(t):e.Right(n)};default:return null==n?e.Left(t):e.Right(n)}}function o(t){this.value=t}function u(t){this.value=t}var i=t("ramda/src/curry"),c=t("ramda/src/toString"),a=t("./internal/util");e.prototype["@@type"]="ramda-fantasy/Either",e.prototype.map=a.returnThis,e.of=e.prototype.of=function(t){return e.Right(t)},e.prototype.chain=a.returnThis,e.either=i(function(t,n,r){if(r instanceof u)return t(r.value);if(r instanceof o)return n(r.value);throw new TypeError("invalid type given to Either.either")}),e.isLeft=function(t){return t.isLeft},e.isRight=function(t){return t.isRight},a.extend(o,e),o.prototype.isRight=!0,o.prototype.isLeft=!1,o.prototype.map=function(t){return new o(t(this.value))},o.prototype.ap=function(t){return t.map(this.value)},o.prototype.chain=function(t){return t(this.value)},e.chainRec=e.prototype.chainRec=function(t,n){for(var r,o=a.chainRecNext(n);o.isNext;){if(r=t(a.chainRecNext,a.chainRecDone,o.value),e.isLeft(r))return r;o=r.value}return e.Right(o.value)},o.prototype.bimap=function(t,n){return new o(n(this.value))},o.prototype.extend=function(t){return new o(t(this))},o.prototype.toString=function(){return"Either.Right("+c(this.value)+")"},o.prototype.equals=a.getEquals(o),e.Right=function(t){return new o(t)},a.extend(u,e),u.prototype.isLeft=!0,u.prototype.isRight=!1,u.prototype.ap=a.returnThis,u.prototype.bimap=function(t){return new u(t(this.value))},u.prototype.extend=a.returnThis,u.prototype.toString=function(){return"Either.Left("+c(this.value)+")"},u.prototype.equals=a.getEquals(u),e.Left=function(t){return new u(t)},e.prototype.either=function(t,n){return this.isLeft?t(this.value):n(this.value)},n.exports=e},{"./internal/util":62,"ramda/src/curry":5,"ramda/src/toString":52}],55:[function(t,n,r){function e(t,n){return function(r){try{return n(r)}catch(n){t(n)}}}function o(t){return this instanceof o?void(this._fork=t):new o(t)}var u=t("ramda/src/once"),i=t("ramda/src/forEach"),c=t("ramda/src/toString"),a=t("ramda/src/curry"),f=t("./internal/util");o.prototype["@@type"]="ramda-fantasy/Future",o.prototype.fork=function(t,n){this._fork(t,e(t,n))},o.prototype.map=function(t){return this.chain(function(n){return o.of(t(n))})},o.prototype.ap=function(t){var n=this;return new o(function(r,o){var i,c,a=u(r),f=e(a,function(){if(null!=i&&null!=c)return o(i(c))});n._fork(a,function(t){i=t,f()}),t._fork(a,function(t){c=t,f()})})},o.of=function(t){return new o(function(n,r){return r(t)})},o.prototype.of=o.of,o.prototype.chain=function(t){return new o(function(n,r){return this._fork(function(t){return n(t)},e(n,function(e){return t(e)._fork(n,r)}))}.bind(this))},o.chainRec=o.prototype.chainRec=function(t,n){return o(function(r,e){return function n(o){for(var u=null,i=f.chainRecNext(o),c=function(t){null===u?(u=!0,i=t):(t.isNext?n:e)(t.value)};i.isNext;)if(u=null,t(f.chainRecNext,f.chainRecDone,i.value).fork(r,c),u!==!0)return void(u=!1);e(i.value)}(n)})},o.prototype.chainReject=function(t){return new o(function(n,r){return this._fork(e(n,function(e){return t(e)._fork(n,r)}),function(t){return r(t)})}.bind(this))},o.prototype.bimap=function(t,n){var r=this;return new o(function(o,u){r._fork(e(o,function(n){o(t(n))}),e(o,function(t){u(n(t))}))})},o.reject=function(t){return new o(function(n){n(t)})},o.prototype.toString=function(){return"Future("+c(this._fork)+")"},o.cache=function(t){function n(t,n){c.push({REJECTED:t,RESOLVED:n})}function r(n,r){return u="PENDING",t._fork(f("REJECTED",n),f("RESOLVED",r))}var e,u="IDLE",c=[],f=a(function(t,n,r){u=t,e=r,n(r),i(function(t){t[u](e)},c)});return new o(function(t,o){switch(u){case"IDLE":r(t,o);break;case"PENDING":n(t,o);break;case"REJECTED":t(e);break;case"RESOLVED":o(e)}})},n.exports=o},{"./internal/util":62,"ramda/src/curry":5,"ramda/src/forEach":9,"ramda/src/once":45,"ramda/src/toString":52}],56:[function(t,n,r){function e(t){return this instanceof e?void(this.fn=t):new e(t)}var o=t("ramda/src/compose"),u=t("ramda/src/toString"),i=t("./internal/util");n.exports=e,e.prototype["@@type"]="ramda-fantasy/IO",e.prototype.chain=function(t){var n=this;return new e(function(){var r=t(n.fn.apply(n,arguments));return r.fn.apply(r,arguments)})},e.chainRec=e.prototype.chainRec=function(t,n){return new e(function(){for(var r=i.chainRecNext(n);r.isNext;)r=t(i.chainRecNext,i.chainRecDone,r.value).fn();return r.value})},e.prototype.map=function(t){var n=this;return new e(o(t,n.fn))},e.prototype.ap=function(t){return this.chain(function(n){return t.map(n)})},e.runIO=function(t){return t.runIO.apply(t,[].slice.call(arguments,1))},e.prototype.runIO=function(){return this.fn.apply(this,arguments)},e.prototype.of=function(t){return new e(function(){return t})},e.of=e.prototype.of,e.prototype.toString=function(){return"IO("+u(this.fn)+")"}},{"./internal/util":62,"ramda/src/compose":4,"ramda/src/toString":52}],57:[function(t,n,r){function e(t){return this instanceof e?void(this.value=t):new e(t)}var o=t("ramda/src/toString"),u=t("./internal/util");e.prototype["@@type"]="ramda-fantasy/Identity",e.of=function(t){return new e(t)},e.prototype.of=e.of,e.prototype.map=function(t){return new e(t(this.value))},e.prototype.ap=function(t){return t.map(this.value)},e.prototype.chain=function(t){return t(this.value)},e.chainRec=e.prototype.chainRec=function(t,n){for(var r=u.chainRecNext(n);r.isNext;)r=t(u.chainRecNext,u.chainRecDone,r.value).get();return e(r.value)},e.prototype.get=function(){return this.value},e.prototype.equals=u.getEquals(e),e.prototype.toString=function(){return"Identity("+o(this.value)+")"},n.exports=e},{"./internal/util":62,"ramda/src/toString":52}],58:[function(t,n,r){function e(t){return null==t?f:e.Just(t)}function o(t){this.value=t}function u(){}var i=t("ramda/src/toString"),c=t("ramda/src/curry"),a=t("./internal/util.js");e.prototype["@@type"]="ramda-fantasy/Maybe",a.extend(o,e),o.prototype.isJust=!0,o.prototype.isNothing=!1,a.extend(u,e),u.prototype.isNothing=!0,u.prototype.isJust=!1;var f=new u;e.Nothing=function(){return f},e.Just=function(t){return new o(t)},e.of=e.Just,e.prototype.of=e.Just,e.isJust=function(t){return t.isJust},e.isNothing=function(t){return t.isNothing},e.maybe=c(function(t,n,r){return r.reduce(function(t,r){return n(r)},t)}),e.toMaybe=e,o.prototype.concat=function(t){return t.isNothing?this:this.of(this.value.concat(t.value))},u.prototype.concat=a.identity,o.prototype.map=function(t){return this.of(t(this.value))},u.prototype.map=a.returnThis,o.prototype.ap=function(t){return t.map(this.value)},u.prototype.ap=a.returnThis,o.prototype.chain=a.baseMap,u.prototype.chain=a.returnThis,e.chainRec=e.prototype.chainRec=function(t,n){for(var r,o=a.chainRecNext(n);o.isNext;){if(r=t(a.chainRecNext,a.chainRecDone,o.value),e.isNothing(r))return r;o=r.value}return e.Just(o.value)},o.prototype.datatype=o,u.prototype.datatype=u,o.prototype.equals=a.getEquals(o),u.prototype.equals=function(t){return t===f},e.prototype.isNothing=function(){return this===f},e.prototype.isJust=function(){return this instanceof o},o.prototype.getOrElse=function(){return this.value},u.prototype.getOrElse=function(t){return t},o.prototype.reduce=function(t,n){return t(n,this.value)},u.prototype.reduce=function(t,n){return n},o.prototype.toString=function(){return"Maybe.Just("+i(this.value)+")"},u.prototype.toString=function(){return"Maybe.Nothing()"},n.exports=e},{"./internal/util.js":62,"ramda/src/curry":5,"ramda/src/toString":52}],59:[function(t,n,r){function e(t){return this instanceof e?void(this.run=t):new e(t)}var o=t("ramda/src/compose"),u=t("ramda/src/identity"),i=t("ramda/src/toString"),c=t("ramda/src/always");e.run=function(t){return t.run.apply(t,[].slice.call(arguments,1))},e.prototype["@@type"]="ramda-fantasy/Reader",e.prototype.chain=function(t){var n=this;return new e(function(r){return t(n.run(r)).run(r)})},e.prototype.ap=function(t){return this.chain(function(n){return t.map(n)})},e.prototype.map=function(t){return this.chain(function(n){return e.of(t(n))})},e.prototype.of=function(t){return new e(function(){return t})},e.of=e.prototype.of,e.ask=e(u),e.prototype.toString=function(){return"Reader("+i(this.run)+")"},e.T=function(t){var n=function t(n){return this instanceof t?void(this.run=n):new t(n)};return n.lift=o(n,c),n.ask=n(t.of),n.prototype.of=n.of=function(r){return n(function(){return t.of(r)})},n.prototype.chain=function(t){var r=this;return n(function(n){var e=r.run(n);return e.chain(function(r){return t(r).run(n)})})},n.prototype.map=function(t){return this.chain(function(r){return n.of(t(r))})},n.prototype.ap=function(t){var r=this;return n(function(n){return r.run(n).ap(t.run(n))})},n.prototype.toString=function(){return"ReaderT["+t.name+"]("+i(this.run)+")"},n},n.exports=e},{"ramda/src/always":2,"ramda/src/compose":4,"ramda/src/identity":11,"ramda/src/toString":52}],60:[function(t,n,r){function e(t){function n(t){return this instanceof n?void(this._run=t):new n(t)}return n.prototype.run=function(t){return this._run(t)},n.prototype.eval=function(t){return i.fst(this.run(t))},n.prototype.exec=function(t){return i.snd(this.run(t))},n.prototype.chain=function(t){var r=this;return n(function(n){return r._run(n).chain(function(n){return t(i.fst(n))._run(i.snd(n))})})},n.of=n.prototype.of=function(r){return n(function(n){return t.of(i(r,n))})},n.prototype.ap=c.deriveAp(n),n.prototype.map=c.deriveMap(n),n.tailRec=o(function(r,e){return n(function(n){return t.tailRec(function(n){return r(i.fst(n))._run(i.snd(n)).chain(function(n){return t.of(i.fst(n).bimap(function(t){return i(t,i.snd(n))},function(t){return i(t,i.snd(n))}))})},i(e,n))})}),n.lift=function(r){return n(function(n){return r.chain(function(r){return t.of(i(r,n))})})},n.get=n(function(n){return t.of(i(n,n))}),n.gets=function(r){return n(function(n){return t.of(i(r(n),n))})},n.put=function(r){return n(function(n){return t.of(i(void n,r))})},n.modify=function(r){return n(function(n){return t.of(i(void 0,r(n)))})},n}var o=t("ramda/src/curry"),u=t("./Identity"),i=t("./Tuple"),c=t("./internal/util"),a=e(u);a.T=e,a.prototype.run=function(t){return this._run(t).value},n.exports=a},{"./Identity":57,"./Tuple":61,"./internal/util":62,"ramda/src/curry":5}],61:[function(t,n,r){function e(t,n){switch(arguments.length){case 0:throw new TypeError("no arguments to Tuple");case 1:return function(n){return new o(t,n)};default:return new o(t,n)}}function o(t,n){this[0]=t,this[1]=n,this.length=2}function u(t){t.forEach(function(t){if("function"!=typeof t.concat)throw new TypeError(i(t)+" must be a semigroup to perform this operation")})}var i=t("ramda/src/toString"),c=t("ramda/src/equals");e.fst=function(t){return t[0]},e.snd=function(t){return t[1]},o.prototype["@@type"]="ramda-fantasy/Tuple",o.prototype.concat=function(t){return u([this[0],this[1]]),e(this[0].concat(t[0]),this[1].concat(t[1]))},o.prototype.map=function(t){return e(this[0],t(this[1]))},o.prototype.ap=function(t){return u([this[0]]),e(this[0].concat(t[0]),this[1](t[1]))},o.prototype.equals=function(t){return t instanceof o&&c(this[0],t[0])&&c(this[1],t[1])},o.prototype.toString=function(){return"Tuple("+i(this[0])+", "+i(this[1])+")"},n.exports=e},{"ramda/src/equals":7,"ramda/src/toString":52}],62:[function(t,n,r){var e=t("ramda/src/equals");n.exports={baseMap:function(t){return t(this.value)},getEquals:function(t){return function(n){return n instanceof t&&e(this.value,n.value)}},extend:function(t,n){function r(){this.constructor=t}r.prototype=n.prototype,t.prototype=new r,t.super_=n.prototype},identity:function(t){return t},notImplemented:function(t){return function(){throw new Error(t+" is not implemented")}},notCallable:function(t){return function(){throw new Error(t+" cannot be called directly")}},returnThis:function(){return this},chainRecNext:function(t){return{isNext:!0,value:t}},chainRecDone:function(t){return{isNext:!1,value:t}},deriveAp:function(t){return function(n){return this.chain(function(r){return n.chain(function(n){return t.of(r(n))})})}},deriveMap:function(t){return function(n){return this.chain(function(r){return t.of(n(r))})}}}},{"ramda/src/equals":7}],63:[function(t,n,r){var e=t("ramda/src/curryN");n.exports=e(3,function(t,n,r){return n.map(t).ap(r)})},{"ramda/src/curryN":6}],64:[function(t,n,r){var e=t("ramda/src/curryN");n.exports=e(4,function(t,n,r,e){return n.map(t).ap(r).ap(e)})},{"ramda/src/curryN":6}]},{},[1])(1)}); -------------------------------------------------------------------------------- /deps/sanctuary-def.js: -------------------------------------------------------------------------------- 1 | !function(t){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var n;n="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,n.sanctuaryDef=t()}}(function(){var t;return function t(n,e,r){function u(i,a){if(!e[i]){if(!n[i]){var c="function"==typeof require&&require;if(!a&&c)return c(i,!0);if(o)return o(i,!0);var s=new Error("Cannot find module '"+i+"'");throw s.code="MODULE_NOT_FOUND",s}var f=e[i]={exports:{}};n[i][0].call(f.exports,function(t){var e=n[i][1][t];return u(e?e:t)},f,f.exports,t,n,e,r)}return e[i].exports}for(var o="function"==typeof require&&require,i=0;i1)for(var e=1;e=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),d(n)?r.showHidden=n:n&&e._extend(r,n),w(r.showHidden)&&(r.showHidden=!1),w(r.depth)&&(r.depth=2),w(r.colors)&&(r.colors=!1),w(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=o),c(r,t,r.depth)}function o(t,n){var e=u.styles[n];return e?"["+u.colors[e][0]+"m"+t+"["+u.colors[e][1]+"m":t}function i(t,n){return t}function a(t){var n={};return t.forEach(function(t,e){n[t]=!0}),n}function c(t,n,r){if(t.customInspect&&n&&S(n.inspect)&&n.inspect!==e.inspect&&(!n.constructor||n.constructor.prototype!==n)){var u=n.inspect(r,t);return b(u)||(u=c(t,u,r)),u}var o=s(t,n);if(o)return o;var i=Object.keys(n),d=a(i);if(t.showHidden&&(i=Object.getOwnPropertyNames(n)),T(n)&&(i.indexOf("message")>=0||i.indexOf("description")>=0))return f(n);if(0===i.length){if(S(n)){var v=n.name?": "+n.name:"";return t.stylize("[Function"+v+"]","special")}if(N(n))return t.stylize(RegExp.prototype.toString.call(n),"regexp");if(O(n))return t.stylize(Date.prototype.toString.call(n),"date");if(T(n))return f(n)}var m="",g=!1,x=["{","}"];if(h(n)&&(g=!0,x=["[","]"]),S(n)){var w=n.name?": "+n.name:"";m=" [Function"+w+"]"}if(N(n)&&(m=" "+RegExp.prototype.toString.call(n)),O(n)&&(m=" "+Date.prototype.toUTCString.call(n)),T(n)&&(m=" "+f(n)),0===i.length&&(!g||0==n.length))return x[0]+m+x[1];if(r<0)return N(n)?t.stylize(RegExp.prototype.toString.call(n),"regexp"):t.stylize("[Object]","special");t.seen.push(n);var j;return j=g?l(t,n,r,d,i):i.map(function(e){return p(t,n,r,d,e,g)}),t.seen.pop(),y(j,m,x)}function s(t,n){if(w(n))return t.stylize("undefined","undefined");if(b(n)){var e="'"+JSON.stringify(n).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return t.stylize(e,"string")}return g(n)?t.stylize(""+n,"number"):d(n)?t.stylize(""+n,"boolean"):v(n)?t.stylize("null","null"):void 0}function f(t){return"["+Error.prototype.toString.call(t)+"]"}function l(t,n,e,r,u){for(var o=[],i=0,a=n.length;i-1&&(a=o?a.split("\n").map(function(t){return" "+t}).join("\n").substr(2):"\n"+a.split("\n").map(function(t){return" "+t}).join("\n"))):a=t.stylize("[Circular]","special")),w(i)){if(o&&u.match(/^\d+$/))return a;i=JSON.stringify(""+u),i.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(i=i.substr(1,i.length-2),i=t.stylize(i,"name")):(i=i.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),i=t.stylize(i,"string"))}return i+": "+a}function y(t,n,e){var r=0,u=t.reduce(function(t,n){return r++,n.indexOf("\n")>=0&&r++,t+n.replace(/\u001b\[\d\d?m/g,"").length+1},0);return u>60?e[0]+(""===n?"":n+"\n ")+" "+t.join(",\n ")+" "+e[1]:e[0]+n+" "+t.join(", ")+" "+e[1]}function h(t){return Array.isArray(t)}function d(t){return"boolean"==typeof t}function v(t){return null===t}function m(t){return null==t}function g(t){return"number"==typeof t}function b(t){return"string"==typeof t}function x(t){return"symbol"==typeof t}function w(t){return void 0===t}function N(t){return j(t)&&"[object RegExp]"===$(t)}function j(t){return"object"==typeof t&&null!==t}function O(t){return j(t)&&"[object Date]"===$(t)}function T(t){return j(t)&&("[object Error]"===$(t)||t instanceof Error)}function S(t){return"function"==typeof t}function E(t){return null===t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||"symbol"==typeof t||"undefined"==typeof t}function $(t){return Object.prototype.toString.call(t)}function _(t){return t<10?"0"+t.toString(10):t.toString(10)}function A(){var t=new Date,n=[_(t.getHours()),_(t.getMinutes()),_(t.getSeconds())].join(":");return[t.getDate(),M[t.getMonth()],n].join(" ")}function k(t,n){return Object.prototype.hasOwnProperty.call(t,n)}var R=/%[sdj%]/g;e.format=function(t){if(!b(t)){for(var n=[],e=0;e=o)return t;switch(t){case"%s":return String(r[e++]);case"%d":return Number(r[e++]);case"%j":try{return JSON.stringify(r[e++])}catch(t){return"[Circular]"}default:return t}}),a=r[e];en.length)return!1;for(var e=0;e ")+m(r))}var e=F(t),r=Qt._test,o=[],i={};return e.forEach(function(t,n){var e="$"+u(n+1);o.push(e),i[e]={extractor:a([]),type:t}}),new A(Dt,"","",n,r,o,i)}function z(t){return K(t)("")(a(!0))}function D(t){return(t=0)return[];u=o.concat(n,[r])}else u=n;return o.chain(function(n){return"sanctuary-def/Nullable"===n.name||n.validate(r).isLeft?[]:n.type===Gt?o.map(X(n),U(t,u,r,n.types.$1)):n.type===zt?nt(n,U(t,u,r,n.types.$1),U(t,u,r,n.types.$2)):[n]},e)}return h(e)?[Pn]:b(o.reduce(r,t,e),[Wt])}function L(t){return t.type===Gt?L(t.types.$1.type):t.type===zt?L(t.types.$1.type)&&L(t.types.$2.type):t.type!==Ut}function J(t,n){return o.filter(L,I(t,[],n))}function G(t,n){return o.reject(function(t){return t.type===Ut},I(t,[],n))}function H(t,n,e,r,u,i){function a(n,e){return o.filter(L,U(t,[],n,e))}var c={};for(var s in n){var f=n[s],l={types:f.types.slice(),valuesByPath:{}};for(var p in f.valuesByPath)l.valuesByPath[p]=f.valuesByPath[p].slice();c[s]=l}Rt.call(c,e.name)||(c[e.name]={types:t.slice(),valuesByPath:{}});var y=JSON.stringify(o.concat([r],u));Rt.call(c[e.name].valuesByPath,y)||(c[e.name].valuesByPath[y]=[]);var d=h(e.keys),v=Y(t);return i.forEach(function(t){c[e.name].valuesByPath[y].push(t),c[e.name].types=o.chain(function(n){return n.keys.length0,function(t){return t+n(" => ")},E(r.length>1,$(n("("))(n(")")),v(n(", "),r)))}function st(t){return function(n){var e=n.length-t.length;return x(" ",Math.floor(e/2))+t+x(" ",Math.ceil(e/2))}}function ft(t){return o.concat(t.type===Zt?[t.name]:[],o.chain(function(n){return ft(t.types[n].type)},t.keys))}function lt(t){var n=o.chain(ft,t.types);return function(t){var e="a".charCodeAt(0);return S(t.type===Dt||t.type===Jt||h(t.keys),j,u(t).replace(/\bUnknown\b/g,function(){do var t=String.fromCharCode(e++);while(n.indexOf(t)>=0);return t}))}}function pt(t){return Vt(S(t.type===Jt||h(t.keys),j,u(t)))}function yt(t,n,e,r){var i=lt(n);return u(r)+") "+v("\n ",o.map(function(n){var e=G(t,[n]);return u(n)+" :: "+v(", ",o.map(i,e))},e))}function ht(t){var n=o.map(lt(t),t.types),e=n.length-1;return t.name+" :: "+ct(t.constraints,p,a(a(p)))+E(0===e,Ft,v(" -> ",y(n)))+" -> "+m(n)}function dt(t,n,e){return S(t.type===Jt||h(t.keys)||t.type===Dt&&h(n)||!h(n),j,e(t)(n)(t.format(Bt,function(r){return a(dt(t.types[r].type,o.concat(n,[r]),e))})))}function vt(t,n,e){var r=t.types.reduce(function(t,n,r){var o=e(r);return t.numbers.push(dt(n,[],o(function(n){return st(u(t.counter+=1))(n)}))),t.carets.push(dt(n,[],c(function(t){var n=u(t),e=n.slice(0,1)+n.slice(-1)==="()";return o(function(t){return e&&"()"!==n&&t.length===n.length?Bt("(")+w("^")(t.slice(1,-1))+Bt(")"):w("^")(t)})}))),t},{carets:[],numbers:[],counter:0});return ht(t)+"\n"+Bt(t.name+" :: ")+ct(t.constraints,Bt,n)+v(Bt(" -> "),r.carets)+"\n"+Bt(t.name+" :: ")+ct(t.constraints,Bt,a(a(Bt)))+v(Bt(" -> "),r.numbers)+"\n"}function mt(t,n){return o.reduce(function(t,n){return t.types[n].type},t,n)}function gt(t){return function(n){return function(e){return function(r){return function(r){var u=o.concat([n],r),i=d(u)(t),a=d(t)(u);return i&&a?e:i?p:Bt}}}}}function bt(t,n){return null==n.url||""===n.url?"":"\nSee "+n.url+" for information about the "+n.name+" "+t+".\n"}function xt(t,n,e,r,u,i,a){var c=mt(n.types[r],u);return new TypeError(T("Type-class constraint violation\n\n"+vt(n,function(t){return function(n){return t===c.name&&n.name===e.name?w("^"):Bt}},gt(o.concat([r],u)))+"\n"+yt(t,n,[i],1)+"\n\n"+Vt(n.name)+" requires "+Vt(c.name)+" to satisfy the "+_(e.name)+" type-class constraint; the value at position 1 does not.\n"+bt("type class",e)))}function wt(t,n,e,r,i){var a=JSON.stringify(o.concat([e],r)),c=i[a],s=o.filter(function(n){var e=i[n];return n===a||h(J(t,o.concat(c,e)))},N(i)),f=Z(n,o.reduce(function(t,n){return t[n]=i[n],t},{},s));return new TypeError(T(1===c.length&&h(G(t,c))?"Unrecognized value\n\n"+f+"\n1) "+u(c[0])+" :: (no types)\n\n"+O("The environment is empty! Polymorphic functions require a non-empty environment.\n","The value at position 1 is not a member of any type in the environment.\n\nThe environment contains the following types:\n\n",lt(n),t):"Type-variable constraint violation\n\n"+f+"\n"+o.reduce(function(e,r){var u=i[r];return h(u)?e:{idx:e.idx+1,s:e.s+yt(t,n,u,e.idx+1)+"\n\n"}},{idx:0,s:""},s).s+"Since there is no type of which all the above values are members, the type-variable constraint has been violated.\n"))}function Nt(t,n,e,r,u){var i=mt(n.types[e],r);return new TypeError(T("Invalid value\n\n"+vt(n,a(a(Bt)),gt(o.concat([e],r)))+"\n"+yt(t,n,[u],1)+"\n\nThe value at position 1 is not a member of "+pt(i)+".\n"+bt("type",i)))}function jt(t,n,e,r){return new TypeError(T(Vt(t.name)+" applied "+pt(t.types[n])+" to the wrong number of arguments\n\n"+vt(t,a(a(Bt)),function(t){return function(e){return function(r){return function(u){return function(u){return t===n?r.format(Bt,function(t){return"$1"===t?e:Bt}):Bt(u)}}}}})+"\nExpected "+D(e)+" but received "+D(r.length)+O(".\n",":\n\n",u,r)))}function Ot(t){if(t.isLeft)throw t.value();return t.value}function Tt(t,n,e){function r(e,r,u){function i(e,r,u,i){var c=[u],s=a.types[u].type;return s.type===Zt?o.chain(function(e){return h(e[s.name].types)?Mt(function(){return wt(t,n,r,c,e[s.name].valuesByPath)}):Pt(e)},Pt(H(t,e,s,r,c,[i]))):o.map(function(t){return t.typeVarMap},W(t,n,e,s,r,c,[i]))}if(n.types[r].type!==Dt)return u;var a=n.types[r],c=a.types.$1.type.type===It,s=c?0:a.keys.length-1,f=e;return function(t){if(arguments.length!==s)throw jt(n,r,s,kt.call(arguments));var e=arguments;f=Ot(y(a.keys).reduce(function(t,n,u){var a=e[u];return o.chain(function(t){return i(t,r,n,a)},t)},Pt(f)));var c=u.apply(this,arguments),l=m(a.keys);return f=Ot(i(f,r,l,c)),c}}function u(a,c,s){return function(f){var l=kt.call(arguments);if(1!==l.length)throw at(n,s,1,l);var p=Ot(W(t,n,a,n.types[s],s,[],l)).typeVarMap,y=o.concat(c,l);if(s+1===i){var h=y.reduce(function(t,n,e){return t(r(p,e,n))},e);return p=Ot(W(t,n,p,n.types[i],i,[],[h])).typeVarMap,r(p,i,h)}return u(p,y,s+1)}}var i=n.types.length-1,a=n.types[0].type===It?function(){if(0!==arguments.length)throw at(n,0,0,kt.call(arguments));var u=e(),o=Ot(W(t,n,{},n.types[i],i,[],[u])).typeVarMap;return r(o,i,u)}:u({},[],0);return a[Ct]=a.toString=s(ht(n)),a}function St(t){function n(n){return function(e){return function(r){return function(u){return t.checkTypes?Tt(t.env,{name:n,constraints:e,types:F(r)},u):u}}}}return n(n.name)({})([kn,An(tn(Cn)),dn(tn(qn)),Qt,Qt])(n)}function Et(t){var n=t(Pn),e=n.types.$1.extractor;return Ln(n.name)(n.url)(n._test)(e)}function $t(t){var n=t(Pn)(Pn),e=n.types.$1.extractor,r=n.types.$2.extractor;return Jn(n.name)(n.url)(n._test)(e)(r)}var _t=Math.pow(2,53)-1,At=-_t,kt=Array.prototype.slice,Rt=Object.prototype.hasOwnProperty,qt=Object.prototype.toString,Ct=function(){if("object"==typeof e&&"object"==typeof e.exports){var t=n("util");if("symbol"==typeof t.inspect.custom)return t.inspect.custom}return"inspect"}(),Mt=t.Left,Pt=t.Right,Bt=w(" "),Ft=$("(")(")"),Vt=$("‘")("’");A["@@type"]="sanctuary-def/Type",A.prototype["fantasy-land/equals"]=function(t){return o.equals(this.type,t.type)&&o.equals(this.name,t.name)&&o.equals(this.url,t.url)&&o.equals(this.keys,t.keys)&&this.keys.every(function(n){return o.equals(this.types[n].type,t.types[n].type)},this)},A.prototype.validate=function(t){if(!this._test(t))return Mt({value:t,propPath:[]});for(var n=0;n=At&&t<=_t}),pn=C("sanctuary-def/NegativeFiniteNumber",function(t){return cn._test(t)&&t<0}),yn=C("sanctuary-def/NegativeInteger",function(t){return ln._test(t)&&t<0}),hn=C("sanctuary-def/NegativeNumber",function(t){return jn._test(t)&&t<0}),dn=P("sanctuary-def/NonEmpty",function(t){return o.Monoid.test(t)&&o.Setoid.test(t)&&!o.equals(t,o.empty(t.constructor))},function(t){return[t]}),vn=C("sanctuary-def/NonGlobalRegExp",function(t){return $n._test(t)&&!t.global}),mn=C("sanctuary-def/NonNegativeInteger",function(t){return ln._test(t)&&t>=0}),gn=C("sanctuary-def/NonZeroFiniteNumber",function(t){return cn._test(t)&&0!==t}),bn=C("sanctuary-def/NonZeroInteger",function(t){return ln._test(t)&&0!==t}),xn=C("sanctuary-def/NonZeroValidNumber",function(t){return Fn._test(t)&&0!==t}),wn=C("Null",k("Null")),Nn=P("sanctuary-def/Nullable",a(!0),function(t){return null===t?[]:[t]}),jn=C("Number",R("number")),On=C("Object",k("Object")),Tn=C("sanctuary-def/PositiveFiniteNumber",function(t){return cn._test(t)&&t>0}),Sn=C("sanctuary-def/PositiveInteger",function(t){return ln._test(t)&&t>0}),En=C("sanctuary-def/PositiveNumber",function(t){return jn._test(t)&&t>0}),$n=C("RegExp",k("RegExp")),_n=M("sanctuary-def/RegexFlags",["","g","i","m","gi","gm","im","gim"]),An=P("sanctuary-def/StrMap",On._test,function(t){return o.reduce(function(t,n){return t.push(n),t},[],t)}),kn=C("String",R("string")),Rn=C("Symbol",R("symbol")),qn=C("Type",k("sanctuary-def/Type")),Cn=C("TypeClass",k("sanctuary-type-classes/TypeClass")),Mn=C("Undefined",k("Undefined")),Pn=new A(Ht,"","",f("Unknown"),a(!0),[],{}),Bn=C("sanctuary-def/ValidDate",function(t){return on._test(t)&&!isNaN(t.valueOf())}),Fn=C("sanctuary-def/ValidNumber",function(t){return jn._test(t)&&!isNaN(t)}),Vn=[Qt,Xt,tn(Pn),un,on,an,fn,wn,jn,On,$n,An(Pn),kn,Rn,Mn],zn="undefined"!=typeof r&&null!=r&&null!=r.env&&"production"===r.env.NODE_ENV,Dn=St({checkTypes:!zn,env:Vn}),Un=["zero","one","two","three","four","five","six","seven","eight","nine"],In=Dn("NullaryType")({})([kn,kn,V([Kt,un]),qn])(K),Ln=Dn("UnaryType")({})([kn,kn,V([Kt,un]),V([z("t a"),tn(z("a"))]),Qt])(function(t){return function(n){return function(e){return l(Dn(_(t))({})([qn,qn]),Q(t)(n)(e))}}}),Jn=Dn("BinaryType")({})([kn,kn,V([Kt,un]),V([z("t a b"),tn(z("a"))]),V([z("t a b"),tn(z("b"))]),Qt])(function(t){return function(n){return function(e){return function(r){return function(u){return Dn(_(t))({})([qn,qn,qn])(tt(t)(n)(e)(r)(u))}}}}}),Gn=Dn("EnumType")({})([kn,kn,tn(Kt),qn])(et),Hn=Dn("RecordType")({})([An(qn),qn])(rt),Zn=Dn("TypeVariable")({})([kn,qn])(ut),Wn=Dn("UnaryTypeVariable")({})([kn,Qt])(function(t){return Dn(t)({})([qn,qn])(ot(t))}),Yn=Dn("BinaryTypeVariable")({})([kn,Qt])(function(t){return Dn(t)({})([qn,qn,qn])(it(t))}),Kn=Dn("Thunk")({})([qn,qn])(function(t){return V([t])}),Qn=Dn("Predicate")({})([qn,qn])(function(t){return V([t,un])}),Xn=Dn("create")({})([rt({checkTypes:un,env:tn(Kt)}),Qt])(St);return{Any:Kt,AnyFunction:Qt,Arguments:Xt,Array:Et(tn),Array0:nn,Array1:Et(en),Array2:$t(rn),Boolean:un,Date:on,Error:an,FiniteNumber:cn,Function:Dn("Function")({})([tn(qn),qn])(V),GlobalRegExp:sn,HtmlElement:fn,Integer:ln,NegativeFiniteNumber:pn,NegativeInteger:yn,NegativeNumber:hn,NonEmpty:dn,NonGlobalRegExp:vn,NonNegativeInteger:mn,NonZeroFiniteNumber:gn,NonZeroInteger:bn,NonZeroValidNumber:xn,Null:wn,Nullable:Et(Nn),Number:jn,Object:On,PositiveFiniteNumber:Tn,PositiveInteger:Sn,PositiveNumber:En,RegExp:$n,RegexFlags:_n,StrMap:Et(An),String:kn,Symbol:Rn,Type:qn,TypeClass:Cn,Undefined:Mn,Unknown:Pn,ValidDate:Bn,ValidNumber:Fn,env:Vn,create:Xn,test:Dn("test")({})([tn(qn),qn,Kt,un])(Y),NullaryType:In,UnaryType:Ln,BinaryType:Jn,EnumType:Gn,RecordType:Hn,TypeVariable:Zn,UnaryTypeVariable:Wn,BinaryTypeVariable:Yn,Thunk:Kn,Predicate:Qn}})}).call(this,n("_process"))},{_process:1,"sanctuary-either":6,"sanctuary-show":7,"sanctuary-type-classes":8,"sanctuary-type-identifiers":10,util:4}],6:[function(n,e,r){!function(r){"use strict";"object"==typeof e&&"object"==typeof e.exports?e.exports=r(n("sanctuary-show"),n("sanctuary-type-classes")):"function"==typeof t&&null!=t.amd?t(["sanctuary-show","sanctuary-type-classes"],r):self.sanctuaryEither=r(self.sanctuaryShow,self.sanctuaryTypeClasses)}(function(t,r){"use strict";function u(t){return{tag:u,value:t}}function o(t){return{tag:o,value:t}}function i(){return"Left ("+t(this.value)+")"}function a(){return"Right ("+t(this.value)+")"}function c(t){return t.isLeft&&r.equals(this.value,t.value)}function s(t){return t.isRight&&r.equals(this.value,t.value)}function f(t){return t.isRight||r.lte(this.value,t.value)}function l(t){return t.isRight&&r.lte(this.value,t.value)}function p(t){return t.isLeft?B(r.concat(this.value,t.value)):t}function y(t){return t.isRight?F(r.concat(this.value,t.value)):this}function h(t){return this}function d(t){return F(t(this.value))}function v(t,n){return B(t(this.value))}function m(t,n){return F(n(this.value))}function g(t){return t.isLeft?t:this}function b(t){return t.isLeft?t:F(t.value(this.value))}function x(t){return this}function w(t){return t(this.value)}function N(t){return t}function j(t){return this}function O(t,n){return n}function T(t,n){return t(n,this.value)}function S(t,n){return r.of(t,this)}function E(t,n){return r.map(F,n(this.value))}function $(t){return this}function _(t){return F(t(this))}if("undefined"!=typeof __doctest){var A=__doctest.require("sanctuary-def"),k=__doctest.require("sanctuary-type-identifiers");(function(){var t=__doctest.require("sanctuary"),n=A.BinaryType("sanctuary-either/Either")("")(function(t){return k(t)===R["@@type"]})(function(t){return t.isLeft?[t.value]:[]})(function(t){return t.isLeft?[]:[t.value]}),e=r.concat(t.env,[A.TypeClass,n(A.Unknown)(A.Unknown)]);return t.create({checkTypes:!0,env:e})})()}var R={},q={constructor:R,isLeft:!0,isRight:!1,"@@show":i,"fantasy-land/map":h,"fantasy-land/bimap":v,"fantasy-land/ap":g,"fantasy-land/chain":x,"fantasy-land/alt":N,"fantasy-land/reduce":O,"fantasy-land/traverse":S,"fantasy-land/extend":$},C={constructor:R,isLeft:!1,isRight:!0,"@@show":a,"fantasy-land/map":d,"fantasy-land/bimap":m,"fantasy-land/ap":b,"fantasy-land/chain":w,"fantasy-land/alt":j,"fantasy-land/reduce":T,"fantasy-land/traverse":E,"fantasy-land/extend":_},M="object"==typeof e&&"object"==typeof e.exports?n("util"):{},P=null!=M.inspect&&"symbol"==typeof M.inspect.custom?M.inspect.custom:"inspect";q[P]=i,C[P]=a;var B=R.Left=function(t){var n=Object.create(q);return r.Setoid.test(t)&&(n["fantasy-land/equals"]=c,r.Ord.test(t)&&(n["fantasy-land/lte"]=f)),r.Semigroup.test(t)&&(n["fantasy-land/concat"]=p),n.value=t,n},F=R.Right=function(t){var n=Object.create(C);return r.Setoid.test(t)&&(n["fantasy-land/equals"]=s,r.Ord.test(t)&&(n["fantasy-land/lte"]=l)),r.Semigroup.test(t)&&(n["fantasy-land/concat"]=y),n.value=t,n};return R["@@type"]="sanctuary-either/Either@1",R["fantasy-land/of"]=F,R["fantasy-land/chainRec"]=function(t,n){for(var e=u(n);e.tag===u;){var r=t(u,o,e.value);if(r.isLeft)return r;e=r.value}return F(e.value)},R})},{"sanctuary-show":7,"sanctuary-type-classes":8,util:4}],7:[function(n,e,r){ 2 | !function(n){"use strict";"object"==typeof e&&"object"==typeof e.exports?e.exports=n():"function"==typeof t&&null!=t.amd?t([],n):self.sanctuaryShow=n()}(function(){"use strict";function t(t){return function(e){return n(e)+": "+n(t[e])}}function n(u){if(r.indexOf(u)>=0)return"";switch(Object.prototype.toString.call(u)){case"[object Boolean]":return"object"==typeof u?"new Boolean ("+n(u.valueOf())+")":u.toString();case"[object Number]":return"object"==typeof u?"new Number ("+n(u.valueOf())+")":1/u===-(1/0)?"-0":u.toString(10);case"[object String]":return"object"==typeof u?"new String ("+n(u.valueOf())+")":JSON.stringify(u);case"[object Date]":return"new Date ("+n(isNaN(u.valueOf())?NaN:u.toISOString())+")";case"[object Error]":return"new "+u.name+" ("+n(u.message)+")";case"[object Arguments]":return"function () { return arguments; } ("+Array.prototype.map.call(u,n).join(", ")+")";case"[object Array]":r.push(u);try{return"["+u.map(n).concat(Object.keys(u).sort().filter(function(t){return!/^\d+$/.test(t)}).map(t(u))).join(", ")+"]"}finally{r.pop()}case"[object Object]":r.push(u);try{return e in u&&(null==u.constructor||u.constructor.prototype!==u)?u[e]():"{"+Object.keys(u).sort().map(t(u)).join(", ")+"}"}finally{r.pop()}default:return String(u)}}var e="@@show",r=[];return n})},{}],8:[function(n,e,r){!function(r){"use strict";"object"==typeof e&&"object"==typeof e.exports?e.exports=r(n("sanctuary-type-identifiers")):"function"==typeof t&&null!=t.amd?t(["sanctuary-type-identifiers"],r):self.sanctuaryTypeClasses=r(self.sanctuaryTypeIdentifiers)}(function(t){"use strict";function n(t){return function(n){return t.concat(n)}}function e(t){return function(n){return t}}function r(t,n){Object.keys(t).forEach(n,t)}function u(t,n){return Object.prototype.hasOwnProperty.call(n,t)}function o(t){return t}function i(t){return function(n){return[t,n]}}function a(n,e){return typeof n==typeof e&&t(n)===t(e)}function c(t){return function(n){return n(t)}}function s(t){return{value:t,done:!1}}function f(t){return{value:t,done:!0}}function l(t,n,e,r){return this instanceof l?(this.name=t,this.url=n,void(this.test=function(t){return e.every(function(n){return n.test(t)})&&r(t)})):new l(t,n,e,r)}function p(t,n,e){for(var r=e,o=0;ou)return!1;if(!Vn(this[r],t[r]))return zn(this[r],t[r])}}function Q(t){function n(t){e[t]=this[t]}var e={};return r(this,n),r(t,n),e}function X(t){var n={};return r(this,function(e){t(this[e])&&(n[e]=this[e])}),n}function tt(t){var n={};return r(this,function(e){n[e]=t(this[e])}),n}function nt(t){var n={};return r(this,function(e){u(e,t)&&(n[e]=t[e](this[e]))}),n}function et(t,n){function e(n,e){return t(n,r[e])}var r=this;return Object.keys(this).sort().reduce(e,n)}function rt(t,n){var e=this;return Object.keys(this).reduce(function(t,r){function u(t){return function(n){var e={};return e[r]=n,Q.call(t,e)}}return Mt(u,t,n(e[r]))},Vt(t,{}))}function ut(){return o}function ot(t){return function(n){return t}}function it(t,n){return function(e){for(var r=s(n);!r.done;)r=t(s,f,r.value)(e);return r.value}}function at(t){return t===this}function ct(t){var n=this;return function(e){return t(n(e))}}function st(t){var n=this;return function(e){return t(n(e))}}function ft(t,n){var e=this;return function(r){return n(e(t(r)))}}function lt(t){var n=this;return function(e){return t(e)(n(e))}}function pt(t){var n=this;return function(e){return t(n(e))(e)}}function yt(t){var n=this;return function(e){return t(function(t){return n(Nt(e,t))})}}function ht(t){var n=this;return function(e){return n(t(e))}}function dt(t,n){return a(t,n)&&!zn(n,t)}function vt(t,n){return dt(n,t)}function mt(t,n){return zn(n,t)}function gt(t,n){return zn(t,n)?t:n}function bt(t,n){return zn(t,n)?n:t}function xt(t,n){return hn.methods.compose(n)(t)}function wt(t){return dn.methods.id(t)()}function Nt(t,n){return vn.methods.concat(t)(n)}function jt(t){return mn.methods.empty(t)()}function Ot(t){return gn.methods.invert(t)()}function Tt(t,n){return bn.methods.filter(n)(t)}function St(t,n){return Tt(function(n){return!t(n)},n)}function Et(t,n){var e=!0;return Tt(function(n){return e=e&&t(n)},n)}function $t(t,n){var e=!1;return Tt(function(n){return e=e||!t(n)},n)}function _t(t,n){return xn.methods.map(n)(t)}function At(t,n){return xn.methods.map(t)(c(n))}function kt(t,n,e){return wn.methods.bimap(e)(t,n)}function Rt(t,n){return kt(t,o,n)}function qt(t,n,e){return Nn.methods.promap(e)(t,n)}function Ct(t,n){return jn.methods.ap(n)(t)}function Mt(t,n,e){return Ct(_t(t,n),e)}function Pt(t,n,e,r){return Ct(Ct(_t(t,n),e),r)}function Bt(t,n){return Mt(e,t,n)}function Ft(t,n){return Mt(e(o),t,n)}function Vt(t,n){return On.methods.of(t)(n)}function zt(t,n){return Nt(n,Vt(n.constructor,t))}function Dt(t,n){return Nt(Vt(n.constructor,t),n)}function Ut(t,n){return Tn.methods.chain(n)(t)}function It(t){return Ut(o,t)}function Lt(t,n,e){return Sn.methods.chainRec(t)(n,e)}function Jt(t,n){return $n.methods.alt(t)(n)}function Gt(t){return _n.methods.zero(t)()}function Ht(t,n,e){return kn.methods.reduce(e)(t,n)}function Zt(t){return Array.isArray(t)?t.length:Ht(function(t,n){return t+1},0,t)}function Wt(t,n){return Ht(function(n,e){return n||Vn(t,e)},!1,n)}function Yt(t,n,e){return Ht(function(t,e){return Nt(t,n(e))},jt(t),e)}function Kt(t){if(Array.isArray(t))return t.slice().reverse();var n=t.constructor;return Ht(function(t,e){return Nt(Vt(n,e),t)},jt(n),t)}function Qt(t){return Xt(o,t)}function Xt(t,n){var e=Ht(function(n,e){return n.push({idx:n.length,x:e,fx:t(e)}),n},[],n),r=function(t){switch(typeof(t&&t.fx)){case"number":return function(t,n){return t<=n||t!==t};case"string":return function(t,n){return t<=n};default:return zn}}(e[0]);if(e.sort(function(t,n){return r(t.fx,n.fx)?r(n.fx,t.fx)?t.idx-n.idx:-1:1}),Array.isArray(n)){for(var u=0;uu)return!1;if(!Dn(this[e],t[e]))return In(this[e],t[e])}}function Z(t){function n(t){r[t]=this[t]}var r={};return e(this,n),e(t,n),r}function $(t){var n={};return e(this,function(r){t(this[r])&&(n[r]=this[r])}),n}function tt(t){var n={};return e(this,function(r){n[r]=t(this[r])}),n}function nt(t){var n={};return e(this,function(r){u(r,t)&&(n[r]=t[r](this[r]))}),n}function rt(t,n){function r(n,r){return t(n,e[r])}var e=this;return Object.keys(this).sort().reduce(r,n)}function et(t,n){var r=this;return Object.keys(this).reduce(function(t,e){function u(t){return function(n){var r={};return r[e]=n,Z.call(t,r)}}return Et(u,t,n(r[e]))},Dt(t,{}))}function ut(){return o}function ot(t){return function(n){return t}}function at(t,n){return function(r){for(var e=c(n);!e.done;)e=t(c,s,e.value)(r);return e.value}}function it(t){return t===this}function ft(t){var n=this;return function(r){return t(n(r))}}function ct(t){var n=this;return function(r){return t(n(r))}}function st(t,n){var r=this;return function(e){return n(r(t(e)))}}function lt(t){var n=this;return function(r){return t(r)(n(r))}}function dt(t){var n=this;return function(r){return t(n(r))(r)}}function ht(t){var n=this;return function(r){return t(function(t){return n(jt(r,t))})}}function pt(t){var n=this;return function(r){return n(t(r))}}function yt(t,n){return i(t,n)&&!In(n,t)}function vt(t,n){return yt(n,t)}function mt(t,n){return In(n,t)}function gt(t,n){return In(t,n)?t:n}function bt(t,n){return In(t,n)?n:t}function xt(t,n){return pn.methods.compose(n)(t)}function Ot(t){return yn.methods.id(t)()}function jt(t,n){return vn.methods.concat(t)(n)}function qt(t){return mn.methods.empty(t)()}function Ct(t){return gn.methods.invert(t)()}function At(t,n){return bn.methods.filter(n)(t)}function _t(t,n){return At(function(n){return!t(n)},n)}function Nt(t,n){var r=!0;return At(function(n){return r=r&&t(n)},n)}function kt(t,n){var r=!1;return At(function(n){return r=r||!t(n)},n)}function wt(t,n){return xn.methods.map(n)(t)}function St(t,n){return xn.methods.map(t)(f(n))}function Tt(t,n,r){return On.methods.bimap(r)(t,n)}function Ft(t,n){return Tt(t,o,n)}function Mt(t,n,r){return jn.methods.promap(r)(t,n)}function Rt(t,n){return qn.methods.ap(n)(t)}function Et(t,n,r){return Rt(wt(t,n),r)}function zt(t,n,r,e){return Rt(Rt(wt(t,n),r),e)}function Pt(t,n){return Et(r,t,n)}function Bt(t,n){return Et(r(o),t,n)}function Dt(t,n){return Cn.methods.of(t)(n)}function It(t,n){return jt(n,Dt(n.constructor,t))}function Lt(t,n){return jt(Dt(n.constructor,t),n)}function Ut(t,n){return An.methods.chain(n)(t)}function Gt(t){return Ut(o,t)}function Wt(t,n,r){return _n.methods.chainRec(t)(n,r)}function Jt(t,n){return kn.methods.alt(t)(n)}function Vt(t){return wn.methods.zero(t)()}function Ht(t,n,r){return Tn.methods.reduce(r)(t,n)}function Kt(t){return Array.isArray(t)?t.length:Ht(function(t,n){return t+1},0,t)}function Qt(t,n){return Ht(function(n,r){return n||Dn(t,r)},!1,n)}function Xt(t,n,r){return Ht(function(t,r){return jt(t,n(r))},qt(t),r)}function Yt(t){if(Array.isArray(t))return t.slice().reverse();var n=t.constructor;return Ht(function(t,r){return jt(Dt(n,r),t)},qt(n),t)}function Zt(t){return $t(o,t)}function $t(t,n){var r=Ht(function(n,r){return n.push({idx:n.length,x:r,fx:t(r)}),n},[],n),e=function(t){switch(typeof(t&&t.fx)){case"number":return function(t,n){return t<=n||t!==t};case"string":return function(t,n){return t<=n};default:return In}}(r[0]);if(r.sort(function(t,n){return e(t.fx,n.fx)?e(n.fx,t.fx)?t.idx-n.idx:-1:1}),Array.isArray(n)){for(var u=0;u1)for(var t=1;t String | Number)"}),i(r(n),function(){return"Invalid argument name "+i.stringify(n)+" supplied to enums(map, [name]) combinator (expected a string)"}));var p=n||c(e);function f(n,r){return"production"!==t.env.NODE_ENV&&(o(this,f),r=r||[p],i(f.is(n),function(){return"Invalid value "+i.stringify(n)+" supplied to "+r.join("/")+" (expected one of "+i.stringify(Object.keys(e))+")"})),n}return f.meta={kind:"enums",map:e,name:n,identity:!0},f.displayName=p,f.is=function(n){return(u(n)||a(n))&&e.hasOwnProperty(n)},f}p.of=function(e,n){e=u(e)?e.split(" "):e;var t={};return e.forEach(function(e){t[e]=e}),p(t,n)},p.getDefaultName=c,n.exports=p}).call(this,e("_process"))},{"./assert":16,"./forbidNewOperator":25,"./isNumber":41,"./isObject":42,"./isString":43,"./isTypeName":46,_process:1}],23:[function(e,n,t){(function(t){var i=e("./assert"),r=e("./isFunction"),o=e("./isArray"),a=e("./mixin"),u=e("./isStruct"),s=e("./isInterface"),c=e("./isObject"),p=e("./refinement"),f=e("./decompose");n.exports=function(e,n,l){"production"!==t.env.NODE_ENV&&(i(r(e),function(){return"Invalid argument combinator supplied to extend(combinator, mixins, options), expected a function"}),i(o(n),function(){return"Invalid argument mixins supplied to extend(combinator, mixins, options), expected an array"}));var d={},m={},y=[],v={};n.forEach(function(e,n){var r,o,p,l=f(e),N=l.unrefinedType;"production"!==t.env.NODE_ENV&&i(c(N)||u(N)||s(N),function(){return"Invalid argument mixins["+n+"] supplied to extend(combinator, mixins, options), expected an object, struct, interface or a refinement (of struct or interface)"}),r=y,o=l.predicates,Array.prototype.push.apply(r,o),a(d,c(p=N)?p:p.meta.props),a(m,N.prototype),a(v,function(e){return c(e)?null:e.meta.defaultProps}(N),!0)}),(l=e.getOptions(l)).defaultProps=a(v,l.defaultProps,!0);var N=function(e,n,t){var i=e.reduce(function(e,n){return p(e,n)},n);return t&&(i.displayName=t,i.meta.name=t),i}(y,e(d,{strict:l.strict,defaultProps:l.defaultProps}),l.name);return a(N.prototype,m),N}}).call(this,e("_process"))},{"./assert":16,"./decompose":20,"./isArray":34,"./isFunction":36,"./isInterface":38,"./isObject":42,"./isStruct":44,"./mixin":51,"./refinement":52,_process:1}],24:[function(e,n,t){n.exports=function(e){throw new TypeError("[tcomb] "+e)}},{}],25:[function(e,n,t){var i=e("./assert"),r=e("./getTypeName");n.exports=function(e,n){i(!(e instanceof n),function(){return"Cannot use the new operator to instantiate the type "+r(n)})}},{"./assert":16,"./getTypeName":29}],26:[function(e,n,t){(function(t){var i=e("./assert"),r=e("./isTypeName"),o=e("./Function"),a=e("./isArray"),u=e("./list"),s=e("./isObject"),c=e("./create"),p=e("./isNil"),f=e("./isBoolean"),l=e("./tuple"),d=e("./getFunctionName"),m=e("./getTypeName"),y=e("./isType");function v(e,n){return"("+e.map(m).join(", ")+") => "+m(n)}function N(e){return o.is(e)&&s(e.instrumentation)}function g(e){for(var n=e.length,t=!1,i=n-1;i>=0;i--){var r=e[i];if(!y(r)||"maybe"!==r.meta.kind)return i+1;t=!0}return t?0:n}function b(e,n,s){e=a(e)?e:[e],"production"!==t.env.NODE_ENV&&(i(u(o).is(e),function(){return"Invalid argument domain "+i.stringify(e)+" supplied to func(domain, codomain, [name]) combinator (expected an array of types)"}),i(o.is(n),function(){return"Invalid argument codomain "+i.stringify(n)+" supplied to func(domain, codomain, [name]) combinator (expected a type)"}),i(r(s),function(){return"Invalid argument name "+i.stringify(s)+" supplied to func(domain, codomain, [name]) combinator (expected a string)"}));var m=s||v(e,n),y=e.length,x=g(e);function h(e,n){return N(e)?("production"!==t.env.NODE_ENV&&(n=n||[m],i(h.is(e),function(){return"Invalid value "+i.stringify(e)+" supplied to "+n.join("/")})),e):h.of(e)}return h.meta={kind:"func",domain:e,codomain:n,name:s,identity:!0},h.displayName=m,h.is=function(t){return N(t)&&t.instrumentation.domain.length===y&&t.instrumentation.domain.every(function(n,t){return n===e[t]})&&t.instrumentation.codomain===n},h.of=function(r,a){if("production"!==t.env.NODE_ENV&&(i(o.is(r),function(){return"Invalid argument f supplied to func.of "+m+" (expected a function)"}),i(p(a)||f(a),function(){return"Invalid argument curried "+i.stringify(a)+" supplied to func.of "+m+" (expected a boolean)"})),h.is(r))return r;function u(){var o=Array.prototype.slice.call(arguments),u=o.length;if("production"!==t.env.NODE_ENV){var s=a?u:Math.max(u,x);l(e.slice(0,s),"arguments of function "+m)(o)}if(a&&u0,"Invalid arguments.length = 0 for curried function "+m);var p=Function.prototype.bind.apply(r,[this].concat(o));return b(e.slice(u),n).of(p,!0)}return c(n,r.apply(this,o))}return u.instrumentation={domain:e,codomain:n,f:r},u.displayName=d(r),u},h}b.getDefaultName=v,b.getOptionalArgumentsIndex=g,n.exports=b}).call(this,e("_process"))},{"./Function":8,"./assert":16,"./create":18,"./getFunctionName":28,"./getTypeName":29,"./isArray":34,"./isBoolean":35,"./isNil":40,"./isObject":42,"./isType":45,"./isTypeName":46,"./list":48,"./tuple":55,_process:1}],27:[function(e,n,t){var i=e("./getTypeName");n.exports=function(e){return"{"+Object.keys(e).map(function(n){return n+": "+i(e[n])}).join(", ")+"}"}},{"./getTypeName":29}],28:[function(e,n,t){n.exports=function(e){return e.displayName||e.name||""}},{}],29:[function(e,n,t){var i=e("./isType"),r=e("./getFunctionName");n.exports=function(e){return i(e)?e.displayName:r(e)}},{"./getFunctionName":28,"./isType":45}],30:[function(e,n,t){(function(t){var i=e("./assert"),r=e("./isTypeName"),o=e("./String"),a=e("./Function"),u=e("./isBoolean"),s=e("./isObject"),c=e("./isNil"),p=e("./create"),f=e("./getTypeName"),l=e("./dict"),d=e("./getDefaultInterfaceName"),m=e("./isIdentity"),y=e("./is"),v=e("./extend"),N=e("./assign");function g(e,n){return v(x,e,n)}function b(e){return s(e)||(e=c(e)?{}:{name:e}),e.hasOwnProperty("strict")||(e.strict=x.strict),e}function x(e,n){var s=(n=b(n)).name,v=n.strict;"production"!==t.env.NODE_ENV&&(i(l(o,a).is(e),function(){return"Invalid argument props "+i.stringify(e)+" supplied to interface(props, [options]) combinator (expected a dictionary String -> Type)"}),i(r(s),function(){return"Invalid argument name "+i.stringify(s)+" supplied to interface(props, [options]) combinator (expected a string)"}),i(u(v),function(){return"Invalid argument strict "+i.stringify(v)+" supplied to struct(props, [options]) combinator (expected a boolean)"}));var x=s||d(e),h=Object.keys(e).map(function(n){return e[n]}).every(m);function E(n,r){if("production"===t.env.NODE_ENV&&h)return n;if("production"!==t.env.NODE_ENV&&(r=r||[x],i(!c(n),function(){return"Invalid value "+n+" supplied to "+r.join("/")}),v))for(var o in n)i(e.hasOwnProperty(o),function(){return'Invalid additional prop "'+o+'" supplied to '+r.join("/")});var a=!0,u=h?{}:N({},n);for(var s in e){var l=e[s],d=n[s],m=p(l,d,"production"!==t.env.NODE_ENV?r.concat(s+": "+f(l)):null);a=a&&d===m,u[s]=m}return a&&(u=n),"production"!==t.env.NODE_ENV&&Object.freeze(u),u}return E.meta={kind:"interface",props:e,name:s,identity:h,strict:v},E.displayName=x,E.is=function(n){if(c(n))return!1;if(v)for(var t in n)if(!e.hasOwnProperty(t))return!1;for(var i in e)if(!y(n[i],e[i]))return!1;return!0},E.update=function(e,n){return E(i.update(e,n))},E.extend=function(e,n){return g([E].concat(e),n)},E}x.strict=!1,x.getOptions=b,x.getDefaultName=d,x.extend=g,n.exports=x}).call(this,e("_process"))},{"./Function":8,"./String":14,"./assert":16,"./assign":17,"./create":18,"./dict":21,"./extend":23,"./getDefaultInterfaceName":27,"./getTypeName":29,"./is":33,"./isBoolean":35,"./isIdentity":37,"./isNil":40,"./isObject":42,"./isTypeName":46,_process:1}],31:[function(e,n,t){(function(t){var i=e("./assert"),r=e("./isTypeName"),o=e("./isFunction"),a=e("./isArray"),u=e("./isIdentity"),s=e("./is"),c=e("./getTypeName"),p=e("./isIdentity");function f(e){return e.map(c).join(" & ")}function l(e,n){"production"!==t.env.NODE_ENV&&(i(a(e)&&e.every(o)&&e.length>=2,function(){return"Invalid argument types "+i.stringify(e)+" supplied to intersection(types, [name]) combinator (expected an array of at least 2 types)"}),i(r(n),function(){return"Invalid argument name "+i.stringify(n)+" supplied to intersection(types, [name]) combinator (expected a string)"}));var c=n||f(e),l=e.every(p);function d(e,n){return"production"!==t.env.NODE_ENV&&(l&&u(this,d),n=n||[c],i(d.is(e),function(){return"Invalid value "+i.stringify(e)+" supplied to "+n.join("/")})),e}return d.meta={kind:"intersection",types:e,name:n,identity:l},d.displayName=c,d.is=function(n){return e.every(function(e){return s(n,e)})},d.update=function(e,n){return d(i.update(e,n))},d}l.getDefaultName=f,n.exports=l}).call(this,e("_process"))},{"./assert":16,"./getTypeName":29,"./is":33,"./isArray":34,"./isFunction":36,"./isIdentity":37,"./isTypeName":46,_process:1}],32:[function(e,n,t){(function(t){var i=e("./assert"),r=e("./isString"),o=e("./isFunction"),a=e("./forbidNewOperator");n.exports=function(e,n){function u(r,o){return"production"!==t.env.NODE_ENV&&(a(this,u),o=o||[e],i(n(r),function(){return"Invalid value "+i.stringify(r)+" supplied to "+o.join("/")})),r}return"production"!==t.env.NODE_ENV&&(i(r(e),function(){return"Invalid argument name "+i.stringify(e)+" supplied to irreducible(name, predicate) (expected a string)"}),i(o(n),"Invalid argument predicate "+i.stringify(n)+" supplied to irreducible(name, predicate) (expected a function)")),u.meta={kind:"irreducible",name:e,predicate:n,identity:!0},u.displayName=e,u.is=n,u}}).call(this,e("_process"))},{"./assert":16,"./forbidNewOperator":25,"./isFunction":36,"./isString":43,_process:1}],33:[function(e,n,t){var i=e("./isType");n.exports=function(e,n){return i(n)?n.is(e):e instanceof n}},{"./isType":45}],34:[function(e,n,t){n.exports=function(e){return Array.isArray?Array.isArray(e):e instanceof Array}},{}],35:[function(e,n,t){n.exports=function(e){return!0===e||!1===e}},{}],36:[function(e,n,t){n.exports=function(e){return"function"==typeof e}},{}],37:[function(e,n,t){(function(t){var i=e("./assert"),r=e("./Boolean"),o=e("./isType"),a=e("./getTypeName");n.exports=function(e){return!o(e)||("production"!==t.env.NODE_ENV&&i(r.is(e.meta.identity),function(){return"Invalid meta identity "+i.stringify(e.meta.identity)+" supplied to type "+a(e)}),e.meta.identity)}}).call(this,e("_process"))},{"./Boolean":5,"./assert":16,"./getTypeName":29,"./isType":45,_process:1}],38:[function(e,n,t){var i=e("./isType");n.exports=function(e){return i(e)&&"interface"===e.meta.kind}},{"./isType":45}],39:[function(e,n,t){var i=e("./isType");n.exports=function(e){return i(e)&&"maybe"===e.meta.kind}},{"./isType":45}],40:[function(e,n,t){n.exports=function(e){return null==e}},{}],41:[function(e,n,t){n.exports=function(e){return"number"==typeof e&&isFinite(e)&&!isNaN(e)}},{}],42:[function(e,n,t){var i=e("./isNil"),r=e("./isArray");n.exports=function(e){return!i(e)&&"object"==typeof e&&!r(e)}},{"./isArray":34,"./isNil":40}],43:[function(e,n,t){n.exports=function(e){return"string"==typeof e}},{}],44:[function(e,n,t){var i=e("./isType");n.exports=function(e){return i(e)&&"struct"===e.meta.kind}},{"./isType":45}],45:[function(e,n,t){var i=e("./isFunction"),r=e("./isObject");n.exports=function(e){return i(e)&&r(e.meta)}},{"./isFunction":36,"./isObject":42}],46:[function(e,n,t){var i=e("./isNil"),r=e("./isString");n.exports=function(e){return i(e)||r(e)}},{"./isNil":40,"./isString":43}],47:[function(e,n,t){var i=e("./isType");n.exports=function(e){return i(e)&&"union"===e.meta.kind}},{"./isType":45}],48:[function(e,n,t){(function(t){var i=e("./assert"),r=e("./isTypeName"),o=e("./isFunction"),a=e("./getTypeName"),u=e("./isIdentity"),s=e("./create"),c=e("./is"),p=e("./isArray");function f(e){return"Array<"+a(e)+">"}function l(e,n){"production"!==t.env.NODE_ENV&&(i(o(e),function(){return"Invalid argument type "+i.stringify(e)+" supplied to list(type, [name]) combinator (expected a type)"}),i(r(n),function(){return"Invalid argument name "+i.stringify(n)+" supplied to list(type, [name]) combinator (expected a string)"}));var l=n||f(e),d=a(e),m=u(e);function y(n,r){if("production"===t.env.NODE_ENV&&m)return n;"production"!==t.env.NODE_ENV&&(r=r||[l],i(p(n),function(){return"Invalid value "+i.stringify(n)+" supplied to "+r.join("/")+" (expected an array of "+d+")"}));for(var o=!0,a=[],u=0,c=n.length;u Type)"}),i(r(c),function(){return"Invalid argument name "+i.stringify(c)+" supplied to struct(props, [options]) combinator (expected a string)"}),i(u(d),function(){return"Invalid argument strict "+i.stringify(d)+" supplied to struct(props, [options]) combinator (expected a boolean)"}),i(s(m),function(){return"Invalid argument defaultProps "+i.stringify(m)+" supplied to struct(props, [options]) combinator (expected an object)"}));var g=c||y(e);function b(n,r){if(b.is(n))return n;if("production"!==t.env.NODE_ENV&&(r=r||[g],i(s(n),function(){return"Invalid value "+i.stringify(n)+" supplied to "+r.join("/")+" (expected an object)"}),d))for(o in n)n.hasOwnProperty(o)&&i(e.hasOwnProperty(o),function(){return'Invalid additional prop "'+o+'" supplied to '+r.join("/")});if(!(this instanceof b))return new b(n,r);for(var o in e)if(e.hasOwnProperty(o)){var a=e[o],u=n[o];void 0===u&&(u=m[o]),this[o]=p(a,u,"production"!==t.env.NODE_ENV?r.concat(o+": "+f(a)):null)}"production"!==t.env.NODE_ENV&&Object.freeze(this)}return b.meta={kind:"struct",props:e,name:c,identity:!1,strict:d,defaultProps:m},b.displayName=g,b.is=function(e){return e instanceof b},b.update=function(e,n){return new b(i.update(e,n))},b.extend=function(e,n){return v([b].concat(e),n)},b}g.strict=!1,g.getOptions=N,g.getDefaultName=y,g.extend=v,n.exports=g}).call(this,e("_process"))},{"./Function":8,"./String":14,"./assert":16,"./create":18,"./dict":21,"./extend":23,"./getDefaultInterfaceName":27,"./getTypeName":29,"./isBoolean":35,"./isNil":40,"./isObject":42,"./isTypeName":46,_process:1}],55:[function(e,n,t){(function(t){var i=e("./assert"),r=e("./isTypeName"),o=e("./isFunction"),a=e("./getTypeName"),u=e("./isIdentity"),s=e("./isArray"),c=e("./create"),p=e("./is");function f(e){return"["+e.map(a).join(", ")+"]"}function l(e,n){"production"!==t.env.NODE_ENV&&(i(s(e)&&e.every(o),function(){return"Invalid argument types "+i.stringify(e)+" supplied to tuple(types, [name]) combinator (expected an array of types)"}),i(r(n),function(){return"Invalid argument name "+i.stringify(n)+" supplied to tuple(types, [name]) combinator (expected a string)"}));var l=n||f(e),d=e.every(u);function m(n,r){if("production"===t.env.NODE_ENV&&d)return n;"production"!==t.env.NODE_ENV&&(r=r||[l],i(s(n)&&n.length===e.length,function(){return"Invalid value "+i.stringify(n)+" supplied to "+r.join("/")+" (expected an array of length "+e.length+")"}));for(var o=!0,u=[],p=0,f=e.length;p=2,function(){return"Invalid argument types "+i.stringify(e)+" supplied to union(types, [name]) combinator (expected an array of at least 2 types)"}),i(r(n),function(){return"Invalid argument name "+i.stringify(n)+" supplied to union(types, [name]) combinator (expected a string)"}));var y=n||m(e),v=e.every(u);function N(e,n){if("production"===t.env.NODE_ENV&&v)return e;var r=N.dispatch(e);return!r&&N.is(e)?e:("production"!==t.env.NODE_ENV&&(v&&f(this,N),n=n||[y],i(o(r),function(){return"Invalid value "+i.stringify(e)+" supplied to "+n.join("/")+" (no constructor returned by dispatch)"}),n[n.length-1]+="("+a(r)+")"),c(r,e,n))}return N.meta={kind:"union",types:e,name:n,identity:v},N.displayName=y,N.is=function(n){return e.some(function(e){return p(n,e)})},N.dispatch=function(n){for(var t=0,i=e.length;t0?n.concat(e):n},$remove:function(e,n){if("production"!==t.env.NODE_ENV&&(i(a(e),"Invalid argument keys supplied to immutability helper { $remove: keys } (expected an array)"),i(r(n),"Invalid value supplied to immutability helper $remove (expected an object)")),e.length>0){n=c(n);for(var o=0,u=e.length;o0?(n=c(n),e.reduce(function(e,n){return e.splice.apply(e,n),e},n)):n},$swap:function(e,n){if("production"!==t.env.NODE_ENV&&(i(r(e),"Invalid argument config supplied to immutability helper { $swap: config } (expected an object)"),i(u(e.from),"Invalid argument config.from supplied to immutability helper { $swap: config } (expected a number)"),i(u(e.to),"Invalid argument config.to supplied to immutability helper { $swap: config } (expected a number)"),i(a(n),"Invalid value supplied to immutability helper $swap (expected an array)")),e.from!==e.to){var o=(n=c(n))[e.to];n[e.to]=n[e.from],n[e.from]=o}return n},$unshift:function(e,n){return"production"!==t.env.NODE_ENV&&(i(a(e),"Invalid argument elements supplied to immutability helper {$unshift: elements} (expected an array)"),i(a(n),"Invalid value supplied to immutability helper $unshift (expected an array)")),e.length>0?e.concat(n):n},$merge:function(e,n){var t=!1,i=c(n);for(var r in e)e.hasOwnProperty(r)&&(i[r]=e[r],t=t||i[r]!==n[r]);return t?i:n}},n.exports=l}).call(this,e("_process"))},{"./assert":16,"./assign":17,"./isArray":34,"./isFunction":36,"./isNumber":41,"./isObject":42,_process:1}]},{},[2])(2)}); -------------------------------------------------------------------------------- /examples/example.json: -------------------------------------------------------------------------------- 1 | { 2 | "fantasy": [ 3 | { 4 | "category": "fantasy", 5 | "title": "futures", 6 | "code": "const log = console.log.bind(console);\nconst error = console.error.bind(console);\n\nconst url = 'http://reqres.in/api/users?page=3';\n\nconst xhr = function(url) {\n return new Future(function(rej, res) {\n const oReq = new XMLHttpRequest();\n oReq.addEventListener(\"load\", res, false);\n oReq.addEventListener(\"error\", rej, false);\n oReq.addEventListener(\"abort\", rej, false);\n oReq.open(\"get\", url, true);\n oReq.send();\n });\n};\n\nconst f = R.compose(R.map(S.parseJson), R.map(R.path(['target', 'response'])), xhr)(url);\n\nf.fork(error, R.map(log)); //=> Object {page: \"3\", per_page: 3, total: 12, total_pages: 4, data: Array[3]}\n" 7 | } 8 | ], 9 | "list": [ 10 | { 11 | "category": "list", 12 | "title": "filter", 13 | "code": "const isEven = n => n % 2 === 0;\nR.filter(isEven, [1, 2, 3, 4]);" 14 | }, 15 | { 16 | "category": "list", 17 | "title": "map", 18 | "code": "const double = x => x * 2;\n\nR.map(double, [1, 2, 3]);" 19 | } 20 | ], 21 | "function": [ 22 | { 23 | "category": "function", 24 | "title": "compose", 25 | "code": "const f = R.compose(R.inc, R.negate, Math.pow);\n\nf(3, 4);" 26 | }, 27 | { 28 | "category": "function", 29 | "title": "useWith", 30 | "code": "const double = y => y * 2;\nconst square = x => x * x;\nconst add = (a, b) => a + b;\n// Adds any number of arguments together\nconst addAll = (...args) => R.reduce(add, 0, args);\n\n// Basic example\nconst addDoubleAndSquare = R.useWith(addAll, double, square);\n\n//≅ addAll(double(10), square(5));\naddDoubleAndSquare(10, 5); //=> 45" 31 | } 32 | ], 33 | "object": [ 34 | { 35 | "category": "object", 36 | "title": "prop", 37 | "code": "R.prop('x', {x: 100}); //=> 100\nR.prop('x', {}); //=> undefined" 38 | } 39 | ] 40 | } -------------------------------------------------------------------------------- /examples/fantasy/futures.js: -------------------------------------------------------------------------------- 1 | const log = console.log 2 | const error = console.error 3 | 4 | const url = 'https://reqres.in/api/users?page=3' 5 | 6 | const xhr = function(url) { 7 | return new Future(function(rej, res) { 8 | const oReq = new XMLHttpRequest() 9 | oReq.addEventListener("load", res, false) 10 | oReq.addEventListener("error", rej, false) 11 | oReq.addEventListener("abort", rej, false) 12 | oReq.open("get", url, true) 13 | oReq.send() 14 | }); 15 | }; 16 | 17 | const future = R.map(R.compose(S.fromMaybe({err:'Something went wrong'}), 18 | S.parseJson(Object), 19 | R.path(['target', 'response']))) 20 | 21 | const fork = R.invoker(2, 'fork') 22 | const run = compose(fork(error, log), future, xhr) 23 | 24 | run(url) 25 | -------------------------------------------------------------------------------- /examples/function/compose.js: -------------------------------------------------------------------------------- 1 | const f = R.compose(R.inc, R.negate, Math.pow); 2 | 3 | f(3, 4); -------------------------------------------------------------------------------- /examples/function/useWith.js: -------------------------------------------------------------------------------- 1 | const double = y => y * 2; 2 | const square = x => x * x; 3 | const add = (a, b) => a + b; 4 | // Adds any number of arguments together 5 | const addAll = (...args) => R.reduce(add, 0, args); 6 | 7 | // Basic example 8 | const addDoubleAndSquare = R.useWith(addAll, double, square); 9 | 10 | //≅ addAll(double(10), square(5)); 11 | addDoubleAndSquare(10, 5); //=> 45 -------------------------------------------------------------------------------- /examples/list/filter.js: -------------------------------------------------------------------------------- 1 | const isEven = n => n % 2 === 0; 2 | R.filter(isEven, [1, 2, 3, 4]); -------------------------------------------------------------------------------- /examples/list/map.js: -------------------------------------------------------------------------------- 1 | const double = x => x * 2; 2 | 3 | R.map(double, [1, 2, 3]); -------------------------------------------------------------------------------- /examples/object/prop.js: -------------------------------------------------------------------------------- 1 | R.prop('x', {x: 100}); //=> 100 2 | R.prop('x', {}); //=> undefined -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | Ramtuary REPL 11 | 12 | 13 | 17 | 18 | 21 | 25 | 26 | 30 | 36 | 37 | 38 | 42 | 46 | 47 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 85 | 86 |
87 |
88 |
89 |
90 |

Input

91 |
92 | 93 |
94 |
95 |
96 |
97 |
98 |
99 |

Output

100 | 103 |
104 |
105 | 106 |

107 |               

108 |             
109 |
110 |
111 |
112 |
113 | 114 | 121 | 122 | 128 | 134 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 176 | 177 | 178 | 179 | 180 | 181 | 182 | 183 | 184 | 185 | 186 | 187 | 188 | 189 | -------------------------------------------------------------------------------- /lib/css/repl.css: -------------------------------------------------------------------------------- 1 | @import url(http://fonts.googleapis.com/css?family=Droid+Sans+Mono|Droid+Sans); 2 | 3 | html, body { 4 | margin: 0; 5 | padding: 0; 6 | height: calc(100vh - 190px); 7 | } 8 | 9 | .output-wrapper { 10 | position: absolute; 11 | right: 0; 12 | top: 0; 13 | } 14 | 15 | html.hide-output .output-wrapper { 16 | display: none; 17 | } 18 | 19 | 20 | .eval, .source-map { 21 | background-color: white; 22 | border: none; 23 | } 24 | .error { 25 | color: red; 26 | background-color: white; 27 | border: none; 28 | } 29 | 30 | .dropdown-menu { 31 | width: 250px; 32 | } 33 | 34 | #options_menu input { 35 | margin-left: 3px; 36 | margin-right: 3px; 37 | margin-top: 0; 38 | } 39 | 40 | #options_menu label { 41 | font-weight: normal; 42 | margin-bottom: 0; 43 | } 44 | 45 | #options_menu hr { 46 | border-color: darkgrey; 47 | margin-top: 3px; 48 | margin-bottom: 3px; 49 | } 50 | 51 | body.dark, body.dark h1 { 52 | background-color: #000000; 53 | color: #ffffff; 54 | } 55 | .urltext { 56 | border: none; 57 | font-size: 15px; 58 | vertical-align: middle; 59 | margin-left: 6px; 60 | } 61 | 62 | .input, .results { 63 | display:none; 64 | } 65 | 66 | #mkurl { 67 | margin: 10px 0; 68 | } 69 | -------------------------------------------------------------------------------- /lib/css/terminal.css: -------------------------------------------------------------------------------- 1 | .CodeMirror { 2 | height: 500px; 3 | } 4 | 5 | .CodeMirror-hscrollbar { 6 | display: none !important; 7 | } 8 | 9 | .right .github-fork-ribbon { 10 | background-color: #29357F; 11 | } 12 | 13 | 14 | .output, .clear-console { 15 | float:left; 16 | } 17 | .clear-console { 18 | margin-left: 12px; 19 | } 20 | .top-nav { 21 | background: #53506b; 22 | height:15px; 23 | } 24 | 25 | .col-md-6:last-of-type { 26 | border-left: 1px solid #999; 27 | min-height: 42em; 28 | } 29 | 30 | .page-header { 31 | margin-bottom: 0; 32 | padding-bottom: 30px; 33 | } 34 | 35 | .row { 36 | background: #282a36; 37 | } 38 | 39 | .panel-primary { 40 | border-color:#282a36; 41 | box-shadow: none; 42 | } 43 | .panel-primary > .panel-heading, 44 | .panel-default>.panel-heading { 45 | background-color: #282a36; 46 | border-color: #282a36; 47 | background-image: none; 48 | color:#fff; 49 | } 50 | 51 | .panel { 52 | background-color: #282a36; 53 | } 54 | 55 | 56 | 57 | .eval, .source-map, .console-log { 58 | background-color: #282a36; 59 | color: #fff; 60 | border:none; 61 | } 62 | 63 | .console-log { 64 | color:#888; 65 | } 66 | 67 | 68 | .error { 69 | background: #282a36; 70 | } 71 | 72 | button.btn.btn-danger { 73 | background-color: #bf0000; 74 | background-image: none; 75 | } 76 | 77 | .navbar.navbar-inverse.navbar-fixed-top { 78 | background-color: #282a36; 79 | background-image: none; 80 | } 81 | 82 | .error span.cm-variable { 83 | color: red; 84 | } 85 | 86 | .error span.cm-string { 87 | color: red; 88 | } 89 | 90 | .error span.cm-number { 91 | color: red; 92 | } 93 | 94 | .error span.cm-operator { 95 | color: red; 96 | } 97 | 98 | .error span.cm-property { 99 | color: red; 100 | } 101 | 102 | .error span.cm-keyword { 103 | color: red; 104 | } 105 | 106 | .navbar-brand { 107 | color: #53506b; 108 | } 109 | 110 | .btn.btn-link.btn-xs.clear-console { 111 | color: #939294; 112 | } 113 | -------------------------------------------------------------------------------- /lib/js/bundle.js: -------------------------------------------------------------------------------- 1 | (function (ramda,sanctuary,ramdaFantasy,buble) { 2 | 'use strict'; 3 | 4 | function __commonjs(fn, module) { return module = { exports: {} }, fn(module, module.exports), module.exports; } 5 | 6 | var index$1 = __commonjs(function (module) { 7 | module.exports = Date.now || now 8 | 9 | function now() { 10 | return new Date().getTime() 11 | } 12 | }); 13 | 14 | var require$$0 = (index$1 && typeof index$1 === 'object' && 'default' in index$1 ? index$1['default'] : index$1); 15 | 16 | var index = __commonjs(function (module) { 17 | /** 18 | * Module dependencies. 19 | */ 20 | 21 | var now = require$$0; 22 | 23 | /** 24 | * Returns a function, that, as long as it continues to be invoked, will not 25 | * be triggered. The function will be called after it stops being called for 26 | * N milliseconds. If `immediate` is passed, trigger the function on the 27 | * leading edge, instead of the trailing. 28 | * 29 | * @source underscore.js 30 | * @see http://unscriptable.com/2009/03/20/debouncing-javascript-methods/ 31 | * @param {Function} function to wrap 32 | * @param {Number} timeout in ms (`100`) 33 | * @param {Boolean} whether to execute at the beginning (`false`) 34 | * @api public 35 | */ 36 | 37 | module.exports = function debounce(func, wait, immediate){ 38 | var timeout, args, context, timestamp, result; 39 | if (null == wait) wait = 100; 40 | 41 | function later() { 42 | var last = now() - timestamp; 43 | 44 | if (last < wait && last > 0) { 45 | timeout = setTimeout(later, wait - last); 46 | } else { 47 | timeout = null; 48 | if (!immediate) { 49 | result = func.apply(context, args); 50 | if (!timeout) context = args = null; 51 | } 52 | } 53 | }; 54 | 55 | return function debounced() { 56 | context = this; 57 | args = arguments; 58 | timestamp = now(); 59 | var callNow = immediate && !timeout; 60 | if (!timeout) timeout = setTimeout(later, wait); 61 | if (callNow) { 62 | result = func.apply(context, args); 63 | context = args = null; 64 | } 65 | 66 | return result; 67 | }; 68 | }; 69 | }); 70 | 71 | var debounce = (index && typeof index === 'object' && 'default' in index ? index['default'] : index); 72 | 73 | var index$4 = __commonjs(function (module) { 74 | 'use strict'; 75 | module.exports = function (str) { 76 | return encodeURIComponent(str).replace(/[!'()*]/g, function (c) { 77 | return '%' + c.charCodeAt(0).toString(16).toUpperCase(); 78 | }); 79 | }; 80 | }); 81 | 82 | var require$$0$1 = (index$4 && typeof index$4 === 'object' && 'default' in index$4 ? index$4['default'] : index$4); 83 | 84 | var index$2 = __commonjs(function (module, exports) { 85 | 'use strict'; 86 | var strictUriEncode = require$$0$1; 87 | 88 | exports.extract = function (str) { 89 | return str.split('?')[1] || ''; 90 | }; 91 | 92 | exports.parse = function (str) { 93 | if (typeof str !== 'string') { 94 | return {}; 95 | } 96 | 97 | str = str.trim().replace(/^(\?|#|&)/, ''); 98 | 99 | if (!str) { 100 | return {}; 101 | } 102 | 103 | return str.split('&').reduce(function (ret, param) { 104 | var parts = param.replace(/\+/g, ' ').split('='); 105 | var key = parts[0]; 106 | var val = parts[1]; 107 | 108 | key = decodeURIComponent(key); 109 | 110 | // missing `=` should be `null`: 111 | // http://w3.org/TR/2012/WD-url-20120524/#collect-url-parameters 112 | val = val === undefined ? null : decodeURIComponent(val); 113 | 114 | if (!ret.hasOwnProperty(key)) { 115 | ret[key] = val; 116 | } else if (Array.isArray(ret[key])) { 117 | ret[key].push(val); 118 | } else { 119 | ret[key] = [ret[key], val]; 120 | } 121 | 122 | return ret; 123 | }, {}); 124 | }; 125 | 126 | exports.stringify = function (obj) { 127 | return obj ? Object.keys(obj).sort().map(function (key) { 128 | var val = obj[key]; 129 | 130 | if (Array.isArray(val)) { 131 | return val.sort().map(function (val2) { 132 | return strictUriEncode(key) + '=' + strictUriEncode(val2); 133 | }).join('&'); 134 | } 135 | 136 | return strictUriEncode(key) + '=' + strictUriEncode(val); 137 | }).filter(function (x) { 138 | return x.length > 0; 139 | }).join('&') : ''; 140 | }; 141 | }); 142 | 143 | var stringify = index$2.stringify; 144 | var parse = index$2.parse; 145 | var extract = index$2.extract; 146 | 147 | var apiUrl = 'https://www.googleapis.com/urlshortener/v1/url?' + 148 | 'key=AIzaSyDhbAvT5JqkxFPkoeezJp19-S_mAJudxyk'; 149 | 150 | var req = { 151 | longUrl: 'http://davidchase.github.io/ramtuary/' 152 | }; 153 | 154 | var makeShortUrlBtn = document.getElementById('mkurl'); 155 | 156 | var input$1 = document.getElementById('urlout'); 157 | 158 | var setValue = ramda.curry(function(data) { 159 | input$1.value = data; 160 | input$1.select(); 161 | }); 162 | 163 | var error = console.error.bind(console); 164 | 165 | var xhr = function(url) { 166 | return new ramdaFantasy.Future(function(reject, resolve) { 167 | var oReq = new XMLHttpRequest(); 168 | var requestData = ramda.evolve({longUrl: ramda.concat(ramda.__, location.hash)}, req); 169 | 170 | oReq.addEventListener("load", resolve, false); 171 | oReq.addEventListener("error", reject, false); 172 | oReq.addEventListener("abort", reject, false); 173 | oReq.open("POST", url, true); 174 | oReq.setRequestHeader("Content-Type", "application/json; charset=utf-8"); 175 | oReq.send(JSON.stringify(requestData)); 176 | }); 177 | }; 178 | 179 | var getResponse = ramda.compose(ramda.map(sanctuary.parseJson(Object)), ramda.map(ramda.path(['target', 'response'])), xhr); 180 | 181 | var getShortUrl = ramda.map(ramda.compose(setValue, ramda.prop('id'))); 182 | 183 | var futureXhr = getResponse(apiUrl); 184 | 185 | var googl = function () { return makeShortUrlBtn.addEventListener('click', function () { return futureXhr.fork(error, getShortUrl); }); }; 186 | 187 | var evalElement = document.querySelector('pre.eval'); 188 | var evalError = document.querySelector('pre.error'); 189 | 190 | var clearOutput = function () { return printError(''); }; 191 | 192 | var getSource = function () { return input.getValue(); }; 193 | 194 | var setUrlPath = function(code) { 195 | window.location.hash = '?' + stringify({ 196 | code: code 197 | }); 198 | }; 199 | 200 | var editor = function (id, obj) { return CodeMirror.fromTextArea(document.querySelector(id), obj); }; 201 | 202 | var input = editor('.input', { 203 | lineNumbers: true, 204 | theme: "dracula", 205 | extraKeys: { 206 | "Tab": "autocomplete" 207 | }, 208 | autofocus: false, 209 | autoCloseBrackets: true, 210 | historyEventDelay: 2000, 211 | mode: { 212 | name: "javascript", 213 | json: true, 214 | globalVars: true 215 | } 216 | }); 217 | 218 | var output = editor('.results', { 219 | lineNumbers: true, 220 | theme: "dracula", 221 | readOnly: true 222 | }); 223 | 224 | var printError = function ( message ) { return output.setValue(message); }; 225 | 226 | var evalSource = R.compose(R.when(R.equals('undefined'), R.replace('undefined', '')), R.toString, eval); 227 | 228 | var ramdaStr = "const {" + (R.keys(R).join(',')) + "} = R;"; 229 | 230 | var compile = function compile() { 231 | 232 | var code = "" + ramdaStr + " \n" + (getSource()); 233 | setUrlPath(getSource()); 234 | clearOutput(); 235 | var transformed = buble.transform(code); 236 | output.setValue(("" + (evalSource(transformed.code)))); 237 | }; 238 | 239 | var tryCatch = function(fn, context, args) { 240 | return function() { 241 | try { 242 | fn.apply(context, args); 243 | document.querySelector('.results').nextElementSibling.classList.remove('error'); 244 | } catch (err) { 245 | printError(err.message); 246 | document.querySelector('.results').nextElementSibling.classList.add('error'); 247 | } 248 | } 249 | }; 250 | 251 | googl(); 252 | 253 | 254 | var debounceCompile = debounce(tryCatch(compile, null), 1000); 255 | 256 | 257 | input.setSize(null, 'calc(100vh - 190px)'); 258 | output.setSize(null, 'calc(100vh - 190px)'); 259 | 260 | CodeMirror.registerHelper("instance", "input", input); 261 | CodeMirror.registerHelper("instance", "output", output); 262 | 263 | input.on('change', debounceCompile); 264 | 265 | if (location.hash.indexOf('code') > 0) { 266 | input.setValue(parse(extract(location.href)).code); 267 | } 268 | 269 | document.querySelector('.clear-console').addEventListener('click', function ( event ) { return printError(''); }); 270 | 271 | }(R,S,RF,buble)); -------------------------------------------------------------------------------- /lib/js/examples.js: -------------------------------------------------------------------------------- 1 | import config from '../../examples/example.json'; 2 | 3 | const categories = R.keys(config); 4 | const examplesUl = document.getElementById("examples"); 5 | const parentFrag = document.createDocumentFragment(); 6 | const innerFrag = document.createDocumentFragment(); 7 | const evalElement = document.querySelector('pre.eval'); 8 | const evalError = document.querySelector('pre.error'); 9 | 10 | const uppercase = (str) => str.replace(/\w\S+/g, (text) => 11 | text.charAt(0).toUpperCase() + text.slice(1)); 12 | 13 | const createElement = function createElement(name, props) { 14 | const element = document.createElement(name); 15 | 16 | return R.keys(props).reduce(function(elem, prop) { 17 | elem[prop] = props[prop]; 18 | return elem; 19 | }, element); 20 | }; 21 | 22 | const createButtonList = function createButtonList(list) { 23 | return list.reduce(function(frag, object) { 24 | const li = createElement('li'); 25 | const button = createElement('button', { 26 | className: 'btn btn-link btn-xs', 27 | textContent: object.title 28 | }); 29 | li.appendChild(button); 30 | frag.appendChild(li); 31 | return frag; 32 | }, innerFrag); 33 | }; 34 | 35 | const nodes = categories.reduce(function(frag, category) { 36 | const list = createElement('li', { 37 | className: 'dropdown-header', 38 | id: category, 39 | textContent: uppercase(category + ' functions') 40 | }); 41 | 42 | const ul = createElement('ul', { 43 | className: 'list-unstyled' 44 | }); 45 | const innerList = createButtonList(config[category]); 46 | ul.appendChild(innerList); 47 | list.appendChild(ul); 48 | frag.appendChild(list); 49 | return frag; 50 | }, parentFrag); 51 | 52 | const stash = categories 53 | .reduce(function(arr, category) { 54 | return arr.concat(config[category]); 55 | }, []) 56 | .reduce(function(cache, example) { 57 | cache[example.title] = example.code; 58 | return cache; 59 | }, {}); 60 | 61 | examplesUl.appendChild(nodes); 62 | 63 | export default () => { 64 | document.querySelector('.clear-console').addEventListener("click", function() { 65 | console.clear(); 66 | evalElement.textContent = ''; 67 | evalError.textContent = ''; 68 | }); 69 | 70 | examplesUl.addEventListener("click", function(event) { 71 | if (!event.target.matches('button')) { 72 | return; 73 | } 74 | event.preventDefault(); 75 | CodeMirror.instance.input.setValue(stash[event.target.textContent]); 76 | }); 77 | }; 78 | -------------------------------------------------------------------------------- /lib/js/googl.js: -------------------------------------------------------------------------------- 1 | import {map, compose, path, curry, evolve, concat, prop, __} from 'ramda'; 2 | import {parseJson} from 'sanctuary'; 3 | import {Future} from 'ramda-fantasy'; 4 | 5 | const apiUrl = 'https://www.googleapis.com/urlshortener/v1/url?' + 6 | 'key=AIzaSyDhbAvT5JqkxFPkoeezJp19-S_mAJudxyk'; 7 | 8 | const req = { 9 | longUrl: 'http://davidchase.github.io/ramtuary/' 10 | }; 11 | 12 | const makeShortUrlBtn = document.getElementById('mkurl'); 13 | 14 | const input = document.getElementById('urlout'); 15 | 16 | const setValue = curry(function(data) { 17 | input.value = data; 18 | input.select(); 19 | }); 20 | 21 | const error = console.error.bind(console); 22 | 23 | const xhr = function(url) { 24 | return new Future(function(reject, resolve) { 25 | const oReq = new XMLHttpRequest(); 26 | const requestData = evolve({longUrl: concat(__, location.hash)}, req); 27 | 28 | oReq.addEventListener("load", resolve, false); 29 | oReq.addEventListener("error", reject, false); 30 | oReq.addEventListener("abort", reject, false); 31 | oReq.open("POST", url, true); 32 | oReq.setRequestHeader("Content-Type", "application/json; charset=utf-8"); 33 | oReq.send(JSON.stringify(requestData)); 34 | }); 35 | }; 36 | 37 | const getResponse = compose(map(parseJson(Object)), map(path(['target', 'response'])), xhr); 38 | 39 | const getShortUrl = map(compose(setValue, prop('id'))); 40 | 41 | const futureXhr = getResponse(apiUrl); 42 | 43 | export default () => makeShortUrlBtn.addEventListener('click', () => futureXhr.fork(error, getShortUrl)); 44 | -------------------------------------------------------------------------------- /lib/js/logger.js: -------------------------------------------------------------------------------- 1 | const consoleLogElement = document.querySelector('.console-log'); 2 | const internals = {}; 3 | const reporter = {}; 4 | 5 | 6 | internals.buffer = []; 7 | 8 | internals.flush = function flush() { 9 | setTimeout(function() { 10 | CodeMirror.helpers.instance.output.setValue(`${internals.buffer.join('\n')}\n\n${CodeMirror.helpers.instance.output.getValue()}`); 11 | }, 10); 12 | }; 13 | 14 | internals.logMethods = ['log', 'info', 'debug']; 15 | 16 | internals.prepLogs = R.cond([ 17 | [R.is(String), R.identity], 18 | [R.is(Function), R.toString], 19 | [R.T, JSON.stringify] 20 | ]); 21 | 22 | internals.intercept = function(method) { 23 | const original = console[method]; 24 | console[method] = function(...args) { 25 | args.reduce(function(buf, arg) { 26 | buf.push(internals.prepLogs(arg)); 27 | return buf; 28 | }, internals.buffer); 29 | original.apply(console, args); 30 | internals.flush(); 31 | }; 32 | }; 33 | 34 | internals.clear = function() { 35 | const consoleClear = console.clear; 36 | console.clear = function() { 37 | internals.buffer = []; 38 | consoleLogElement.textContent = ''; 39 | consoleClear.call(console); 40 | }; 41 | }; 42 | 43 | reporter.main = function() { 44 | internals.clear(); 45 | internals.logMethods.reduce(function(fn, method) { 46 | fn(method); 47 | return fn; 48 | }, internals.intercept); 49 | }; 50 | 51 | export default reporter; 52 | -------------------------------------------------------------------------------- /lib/js/main.js: -------------------------------------------------------------------------------- 1 | var S = sanctuary 2 | var Z = sanctuaryTypeClasses 3 | var Either = RF.Either 4 | var Future = RF.Future 5 | var Identity = RF.Identity 6 | var IO = RF.IO 7 | var lift2 = RF.lift2 8 | var lift3 = RF.lift3 9 | var Maybe = RF.Maybe 10 | var Tuple = RF.Tuple 11 | var Reader = RF.Reader 12 | -------------------------------------------------------------------------------- /lib/js/repl.js: -------------------------------------------------------------------------------- 1 | import debounce from 'debounce'; 2 | import {parse, extract, stringify} from 'query-string'; 3 | import googl from './googl'; 4 | import {transform}from 'buble'; 5 | 6 | const evalElement = document.querySelector('pre.eval'); 7 | const evalError = document.querySelector('pre.error'); 8 | 9 | const clearOutput = () => printError(''); 10 | 11 | const getSource = () => input.getValue(); 12 | 13 | const setUrlPath = function(code) { 14 | window.location.hash = '?' + stringify({ 15 | code: code 16 | }); 17 | }; 18 | 19 | const editor = (id, obj) => CodeMirror.fromTextArea(document.querySelector(id), obj); 20 | 21 | const input = editor('.input', { 22 | lineNumbers: true, 23 | theme: "dracula", 24 | extraKeys: { 25 | "Tab": "autocomplete" 26 | }, 27 | autofocus: false, 28 | autoCloseBrackets: true, 29 | historyEventDelay: 2000, 30 | mode: { 31 | name: "javascript", 32 | json: true, 33 | globalVars: true 34 | } 35 | }); 36 | 37 | const output = editor('.results', { 38 | lineNumbers: true, 39 | theme: "dracula", 40 | readOnly: true 41 | }); 42 | 43 | const printError = message => output.setValue(message); 44 | 45 | const evalSource = R.compose(R.when(R.equals('undefined'), R.replace('undefined', '')), R.toString, eval); 46 | 47 | const ramdaStr = `const {${R.keys(R).join(',')}} = R;`; 48 | 49 | const compile = function compile() { 50 | 51 | const code = `${ramdaStr} \n${getSource()}`; 52 | setUrlPath(getSource()); 53 | clearOutput(); 54 | const transformed = transform(code); 55 | output.setValue(`${evalSource(transformed.code)}`); 56 | }; 57 | 58 | const tryCatch = function(fn, context, args) { 59 | return function() { 60 | try { 61 | fn.apply(context, args); 62 | document.querySelector('.results').nextElementSibling.classList.remove('error'); 63 | } catch (err) { 64 | printError(err.message); 65 | document.querySelector('.results').nextElementSibling.classList.add('error'); 66 | } 67 | } 68 | }; 69 | 70 | googl(); 71 | 72 | 73 | const debounceCompile = debounce(tryCatch(compile, null), 1000); 74 | 75 | 76 | input.setSize(null, 'calc(100vh - 190px)'); 77 | output.setSize(null, 'calc(100vh - 190px)'); 78 | 79 | CodeMirror.registerHelper("instance", "input", input); 80 | CodeMirror.registerHelper("instance", "output", output); 81 | 82 | input.on('change', debounceCompile); 83 | 84 | if (location.hash.indexOf('code') > 0) { 85 | input.setValue(parse(extract(location.href)).code); 86 | } 87 | 88 | document.querySelector('.clear-console').addEventListener('click', event => printError('')); 89 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ramtuary", 3 | "description": "Ramda + Ramda Fantasy + Sanctuary REPL", 4 | "version": "3.0.0", 5 | "author": "David Chase", 6 | "bugs": { 7 | "url": "https://github.com/davidchase/ramtuary/issues" 8 | }, 9 | "dependencies": { 10 | "debounce": "1.2.0", 11 | "query-string": "6.8.2", 12 | "ramda": "0.26.1", 13 | "ramda-fantasy": "0.8.0", 14 | "sanctuary": "2.0.0", 15 | "through2": "3.0.1", 16 | "vinyl-fs": "3.0.3" 17 | }, 18 | "homepage": "https://github.com/davidchase/ramtuary#readme", 19 | "license": "MIT", 20 | "private": true, 21 | "repository": { 22 | "type": "git", 23 | "url": "git+https://github.com/davidchase/ramtuary.git" 24 | }, 25 | "scripts": { 26 | "build": "node ./rollup.js" 27 | }, 28 | "devDependencies": { 29 | "buble": "0.19.8", 30 | "rollup": "1.20.1", 31 | "rollup-plugin-commonjs": "10.0.2", 32 | "rollup-plugin-json": "4.0.0", 33 | "rollup-plugin-node-resolve": "5.2.0" 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /rollup.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | const fs = require('fs') 3 | const rollup = require('rollup').rollup 4 | const nodeResolve = require('rollup-plugin-node-resolve') 5 | const commonjs = require('rollup-plugin-commonjs') 6 | const json = require('rollup-plugin-json') 7 | const buble = require('buble') 8 | 9 | const writeFilePromise = (path, data) => 10 | new Promise((resolve, reject) => 11 | fs.writeFile(path, data, err => 12 | err ? reject(err) : resolve('file written') 13 | ) 14 | ) 15 | 16 | rollup({ 17 | entry: 'lib/js/repl.js', 18 | plugins: [ 19 | nodeResolve({ 20 | jsnext: true, 21 | main: true, 22 | skip: ['ramda', 'sanctuary', 'buble', 'ramda-fantasy'], 23 | extensions: ['.js', '.json'] 24 | }), 25 | commonjs({ 26 | include: './node_modules/**' 27 | }), 28 | json() 29 | ] 30 | }) 31 | .then(function(bundle) { 32 | const result = bundle.generate({ 33 | format: 'iife', 34 | moduleName: 'ramtuary', 35 | globals: { 36 | ramda: 'R', 37 | sanctuary: 'S', 38 | buble: 'buble', 39 | 'ramda-fantasy': 'RF' 40 | } 41 | }) 42 | return buble.transform(result.code).code 43 | }) 44 | .then(code => writeFilePromise('lib/js/bundle.js', code)) 45 | .then(console.log) 46 | .catch(console.error) 47 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@types/estree@0.0.39": 6 | version "0.0.39" 7 | resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f" 8 | integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw== 9 | 10 | "@types/node@*", "@types/node@^12.7.2": 11 | version "12.7.2" 12 | resolved "https://registry.yarnpkg.com/@types/node/-/node-12.7.2.tgz#c4e63af5e8823ce9cc3f0b34f7b998c2171f0c44" 13 | integrity sha512-dyYO+f6ihZEtNPDcWNR1fkoTDf3zAK3lAABDze3mz6POyIercH0lEUawUFXlG8xaQZmm1yEBON/4TsYv/laDYg== 14 | 15 | "@types/resolve@0.0.8": 16 | version "0.0.8" 17 | resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-0.0.8.tgz#f26074d238e02659e323ce1a13d041eee280e194" 18 | integrity sha512-auApPaJf3NPfe18hSoJkp8EbZzer2ISk7o8mCC3M9he/a04+gbMF97NkpD2S8riMGvm4BMRI59/SZQSaLTKpsQ== 19 | dependencies: 20 | "@types/node" "*" 21 | 22 | acorn-dynamic-import@^4.0.0: 23 | version "4.0.0" 24 | resolved "https://registry.yarnpkg.com/acorn-dynamic-import/-/acorn-dynamic-import-4.0.0.tgz#482210140582a36b83c3e342e1cfebcaa9240948" 25 | integrity sha512-d3OEjQV4ROpoflsnUA8HozoIR504TFxNivYEUi6uwz0IYhBkTDXGuWlNdMtybRt3nqVx/L6XqMt0FxkXuWKZhw== 26 | 27 | acorn-jsx@^5.0.1: 28 | version "5.0.2" 29 | resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.0.2.tgz#84b68ea44b373c4f8686023a551f61a21b7c4a4f" 30 | integrity sha512-tiNTrP1MP0QrChmD2DdupCr6HWSFeKVw5d/dHTu4Y7rkAkRhU/Dt7dphAfIUyxtHpl/eBVip5uTNSpQJHylpAw== 31 | 32 | acorn@^6.1.1: 33 | version "6.3.0" 34 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.3.0.tgz#0087509119ffa4fc0a0041d1e93a417e68cb856e" 35 | integrity sha512-/czfa8BwS88b9gWQVhc8eknunSA2DoJpJyTQkhheIf5E48u1N0R4q/YxxsAeqRrmK9TQ/uYfgLDfZo91UlANIA== 36 | 37 | acorn@^7.0.0: 38 | version "7.0.0" 39 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.0.0.tgz#26b8d1cd9a9b700350b71c0905546f64d1284e7a" 40 | integrity sha512-PaF/MduxijYYt7unVGRuds1vBC9bFxbNf+VWqhOClfdgy7RlVkQqt610ig1/yxTgsDIfW1cWDel5EBbOy3jdtQ== 41 | 42 | ansi-styles@^3.2.1: 43 | version "3.2.1" 44 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" 45 | integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== 46 | dependencies: 47 | color-convert "^1.9.0" 48 | 49 | append-buffer@^1.0.2: 50 | version "1.0.2" 51 | resolved "https://registry.yarnpkg.com/append-buffer/-/append-buffer-1.0.2.tgz#d8220cf466081525efea50614f3de6514dfa58f1" 52 | integrity sha1-2CIM9GYIFSXv6lBhTz3mUU36WPE= 53 | dependencies: 54 | buffer-equal "^1.0.0" 55 | 56 | balanced-match@^1.0.0: 57 | version "1.0.0" 58 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" 59 | 60 | brace-expansion@^1.1.7: 61 | version "1.1.11" 62 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" 63 | dependencies: 64 | balanced-match "^1.0.0" 65 | concat-map "0.0.1" 66 | 67 | buble@0.19.8: 68 | version "0.19.8" 69 | resolved "https://registry.yarnpkg.com/buble/-/buble-0.19.8.tgz#d642f0081afab66dccd897d7b6360d94030b9d3d" 70 | integrity sha512-IoGZzrUTY5fKXVkgGHw3QeXFMUNBFv+9l8a4QJKG1JhG3nCMHTdEX1DCOg8568E2Q9qvAQIiSokv6Jsgx8p2cA== 71 | dependencies: 72 | acorn "^6.1.1" 73 | acorn-dynamic-import "^4.0.0" 74 | acorn-jsx "^5.0.1" 75 | chalk "^2.4.2" 76 | magic-string "^0.25.3" 77 | minimist "^1.2.0" 78 | os-homedir "^2.0.0" 79 | regexpu-core "^4.5.4" 80 | 81 | buffer-equal@^1.0.0: 82 | version "1.0.0" 83 | resolved "https://registry.yarnpkg.com/buffer-equal/-/buffer-equal-1.0.0.tgz#59616b498304d556abd466966b22eeda3eca5fbe" 84 | integrity sha1-WWFrSYME1Var1GaWayLu2j7KX74= 85 | 86 | builtin-modules@^3.1.0: 87 | version "3.1.0" 88 | resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.1.0.tgz#aad97c15131eb76b65b50ef208e7584cd76a7484" 89 | integrity sha512-k0KL0aWZuBt2lrxrcASWDfwOLMnodeQjodT/1SxEQAXsHANgo6ZC/VEaSEHCXt7aSTZ4/4H5LKa+tBXmW7Vtvw== 90 | 91 | chalk@^2.4.2: 92 | version "2.4.2" 93 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" 94 | integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== 95 | dependencies: 96 | ansi-styles "^3.2.1" 97 | escape-string-regexp "^1.0.5" 98 | supports-color "^5.3.0" 99 | 100 | clone-buffer@^1.0.0: 101 | version "1.0.0" 102 | resolved "https://registry.yarnpkg.com/clone-buffer/-/clone-buffer-1.0.0.tgz#e3e25b207ac4e701af721e2cb5a16792cac3dc58" 103 | integrity sha1-4+JbIHrE5wGvch4staFnksrD3Fg= 104 | 105 | clone-stats@^1.0.0: 106 | version "1.0.0" 107 | resolved "https://registry.yarnpkg.com/clone-stats/-/clone-stats-1.0.0.tgz#b3782dff8bb5474e18b9b6bf0fdfe782f8777680" 108 | integrity sha1-s3gt/4u1R04Yuba/D9/ngvh3doA= 109 | 110 | clone@^2.1.1: 111 | version "2.1.2" 112 | resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f" 113 | integrity sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18= 114 | 115 | cloneable-readable@^1.0.0: 116 | version "1.1.3" 117 | resolved "https://registry.yarnpkg.com/cloneable-readable/-/cloneable-readable-1.1.3.tgz#120a00cb053bfb63a222e709f9683ea2e11d8cec" 118 | integrity sha512-2EF8zTQOxYq70Y4XKtorQupqF0m49MBz2/yf5Bj+MHjvpG3Hy7sImifnqD6UA+TKYxeSV+u6qqQPawN5UvnpKQ== 119 | dependencies: 120 | inherits "^2.0.1" 121 | process-nextick-args "^2.0.0" 122 | readable-stream "^2.3.5" 123 | 124 | color-convert@^1.9.0: 125 | version "1.9.3" 126 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" 127 | integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== 128 | dependencies: 129 | color-name "1.1.3" 130 | 131 | color-name@1.1.3: 132 | version "1.1.3" 133 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" 134 | integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= 135 | 136 | concat-map@0.0.1: 137 | version "0.0.1" 138 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 139 | 140 | convert-source-map@^1.5.0: 141 | version "1.6.0" 142 | resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.6.0.tgz#51b537a8c43e0f04dec1993bffcdd504e758ac20" 143 | integrity sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A== 144 | dependencies: 145 | safe-buffer "~5.1.1" 146 | 147 | core-util-is@~1.0.0: 148 | version "1.0.2" 149 | resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" 150 | 151 | debounce@1.2.0: 152 | version "1.2.0" 153 | resolved "https://registry.yarnpkg.com/debounce/-/debounce-1.2.0.tgz#44a540abc0ea9943018dc0eaa95cce87f65cd131" 154 | integrity sha512-mYtLl1xfZLi1m4RtQYlZgJUNQjl4ZxVnHzIR8nLLgi4q1YT8o/WM+MK/f8yfcc9s5Ir5zRaPZyZU6xs1Syoocg== 155 | 156 | decode-uri-component@^0.2.0: 157 | version "0.2.0" 158 | resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" 159 | integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= 160 | 161 | define-properties@^1.1.2: 162 | version "1.1.3" 163 | resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" 164 | integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== 165 | dependencies: 166 | object-keys "^1.0.12" 167 | 168 | duplexify@^3.6.0: 169 | version "3.7.1" 170 | resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309" 171 | integrity sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g== 172 | dependencies: 173 | end-of-stream "^1.0.0" 174 | inherits "^2.0.1" 175 | readable-stream "^2.0.0" 176 | stream-shift "^1.0.0" 177 | 178 | end-of-stream@^1.0.0, end-of-stream@^1.1.0: 179 | version "1.4.1" 180 | resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.1.tgz#ed29634d19baba463b6ce6b80a37213eab71ec43" 181 | dependencies: 182 | once "^1.4.0" 183 | 184 | escape-string-regexp@^1.0.5: 185 | version "1.0.5" 186 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 187 | integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= 188 | 189 | estree-walker@^0.6.1: 190 | version "0.6.1" 191 | resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-0.6.1.tgz#53049143f40c6eb918b23671d1fe3219f3a1b362" 192 | integrity sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w== 193 | 194 | extend@^3.0.0: 195 | version "3.0.2" 196 | resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" 197 | integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== 198 | 199 | flush-write-stream@^1.0.2: 200 | version "1.1.1" 201 | resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8" 202 | integrity sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w== 203 | dependencies: 204 | inherits "^2.0.3" 205 | readable-stream "^2.3.6" 206 | 207 | fs-mkdirp-stream@^1.0.0: 208 | version "1.0.0" 209 | resolved "https://registry.yarnpkg.com/fs-mkdirp-stream/-/fs-mkdirp-stream-1.0.0.tgz#0b7815fc3201c6a69e14db98ce098c16935259eb" 210 | integrity sha1-C3gV/DIBxqaeFNuYzgmMFpNSWes= 211 | dependencies: 212 | graceful-fs "^4.1.11" 213 | through2 "^2.0.3" 214 | 215 | fs.realpath@^1.0.0: 216 | version "1.0.0" 217 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 218 | integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= 219 | 220 | function-bind@^1.1.1: 221 | version "1.1.1" 222 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" 223 | integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== 224 | 225 | glob-parent@^3.1.0: 226 | version "3.1.0" 227 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" 228 | integrity sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4= 229 | dependencies: 230 | is-glob "^3.1.0" 231 | path-dirname "^1.0.0" 232 | 233 | glob-stream@^6.1.0: 234 | version "6.1.0" 235 | resolved "https://registry.yarnpkg.com/glob-stream/-/glob-stream-6.1.0.tgz#7045c99413b3eb94888d83ab46d0b404cc7bdde4" 236 | integrity sha1-cEXJlBOz65SIjYOrRtC0BMx73eQ= 237 | dependencies: 238 | extend "^3.0.0" 239 | glob "^7.1.1" 240 | glob-parent "^3.1.0" 241 | is-negated-glob "^1.0.0" 242 | ordered-read-streams "^1.0.0" 243 | pumpify "^1.3.5" 244 | readable-stream "^2.1.5" 245 | remove-trailing-separator "^1.0.1" 246 | to-absolute-glob "^2.0.0" 247 | unique-stream "^2.0.2" 248 | 249 | glob@^7.1.1: 250 | version "7.1.4" 251 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.4.tgz#aa608a2f6c577ad357e1ae5a5c26d9a8d1969255" 252 | integrity sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A== 253 | dependencies: 254 | fs.realpath "^1.0.0" 255 | inflight "^1.0.4" 256 | inherits "2" 257 | minimatch "^3.0.4" 258 | once "^1.3.0" 259 | path-is-absolute "^1.0.0" 260 | 261 | graceful-fs@^4.0.0, graceful-fs@^4.1.11, graceful-fs@^4.1.6: 262 | version "4.2.2" 263 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.2.tgz#6f0952605d0140c1cfdb138ed005775b92d67b02" 264 | integrity sha512-IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q== 265 | 266 | has-flag@^3.0.0: 267 | version "3.0.0" 268 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" 269 | integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= 270 | 271 | has-symbols@^1.0.0: 272 | version "1.0.0" 273 | resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.0.tgz#ba1a8f1af2a0fc39650f5c850367704122063b44" 274 | integrity sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q= 275 | 276 | inflight@^1.0.4: 277 | version "1.0.6" 278 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 279 | dependencies: 280 | once "^1.3.0" 281 | wrappy "1" 282 | 283 | inherits@2, inherits@^2.0.1, inherits@~2.0.3: 284 | version "2.0.3" 285 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" 286 | 287 | inherits@^2.0.3: 288 | version "2.0.4" 289 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" 290 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== 291 | 292 | is-absolute@^1.0.0: 293 | version "1.0.0" 294 | resolved "https://registry.yarnpkg.com/is-absolute/-/is-absolute-1.0.0.tgz#395e1ae84b11f26ad1795e73c17378e48a301576" 295 | integrity sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA== 296 | dependencies: 297 | is-relative "^1.0.0" 298 | is-windows "^1.0.1" 299 | 300 | is-buffer@^1.1.5: 301 | version "1.1.6" 302 | resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" 303 | integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== 304 | 305 | is-extglob@^2.1.0: 306 | version "2.1.1" 307 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" 308 | integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= 309 | 310 | is-glob@^3.1.0: 311 | version "3.1.0" 312 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" 313 | integrity sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo= 314 | dependencies: 315 | is-extglob "^2.1.0" 316 | 317 | is-module@^1.0.0: 318 | version "1.0.0" 319 | resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591" 320 | integrity sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE= 321 | 322 | is-negated-glob@^1.0.0: 323 | version "1.0.0" 324 | resolved "https://registry.yarnpkg.com/is-negated-glob/-/is-negated-glob-1.0.0.tgz#6910bca5da8c95e784b5751b976cf5a10fee36d2" 325 | integrity sha1-aRC8pdqMleeEtXUbl2z1oQ/uNtI= 326 | 327 | is-reference@^1.1.2: 328 | version "1.1.3" 329 | resolved "https://registry.yarnpkg.com/is-reference/-/is-reference-1.1.3.tgz#e99059204b66fdbe09305cfca715a29caa5c8a51" 330 | integrity sha512-W1iHHv/oyBb2pPxkBxtaewxa1BC58Pn5J0hogyCdefwUIvb6R+TGbAcIa4qPNYLqLhb3EnOgUf2MQkkF76BcKw== 331 | dependencies: 332 | "@types/estree" "0.0.39" 333 | 334 | is-relative@^1.0.0: 335 | version "1.0.0" 336 | resolved "https://registry.yarnpkg.com/is-relative/-/is-relative-1.0.0.tgz#a1bb6935ce8c5dba1e8b9754b9b2dcc020e2260d" 337 | integrity sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA== 338 | dependencies: 339 | is-unc-path "^1.0.0" 340 | 341 | is-unc-path@^1.0.0: 342 | version "1.0.0" 343 | resolved "https://registry.yarnpkg.com/is-unc-path/-/is-unc-path-1.0.0.tgz#d731e8898ed090a12c352ad2eaed5095ad322c9d" 344 | integrity sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ== 345 | dependencies: 346 | unc-path-regex "^0.1.2" 347 | 348 | is-utf8@^0.2.1: 349 | version "0.2.1" 350 | resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" 351 | integrity sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI= 352 | 353 | is-valid-glob@^1.0.0: 354 | version "1.0.0" 355 | resolved "https://registry.yarnpkg.com/is-valid-glob/-/is-valid-glob-1.0.0.tgz#29bf3eff701be2d4d315dbacc39bc39fe8f601aa" 356 | integrity sha1-Kb8+/3Ab4tTTFdusw5vDn+j2Aao= 357 | 358 | is-windows@^1.0.1: 359 | version "1.0.2" 360 | resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" 361 | integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== 362 | 363 | isarray@~1.0.0: 364 | version "1.0.0" 365 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" 366 | 367 | jsesc@~0.5.0: 368 | version "0.5.0" 369 | resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" 370 | integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0= 371 | 372 | json-stable-stringify@^1.0.0: 373 | version "1.0.1" 374 | resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" 375 | dependencies: 376 | jsonify "~0.0.0" 377 | 378 | jsonify@~0.0.0: 379 | version "0.0.0" 380 | resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" 381 | 382 | lazystream@^1.0.0: 383 | version "1.0.0" 384 | resolved "https://registry.yarnpkg.com/lazystream/-/lazystream-1.0.0.tgz#f6995fe0f820392f61396be89462407bb77168e4" 385 | integrity sha1-9plf4PggOS9hOWvolGJAe7dxaOQ= 386 | dependencies: 387 | readable-stream "^2.0.5" 388 | 389 | lead@^1.0.0: 390 | version "1.0.0" 391 | resolved "https://registry.yarnpkg.com/lead/-/lead-1.0.0.tgz#6f14f99a37be3a9dd784f5495690e5903466ee42" 392 | integrity sha1-bxT5mje+Op3XhPVJVpDlkDRm7kI= 393 | dependencies: 394 | flush-write-stream "^1.0.2" 395 | 396 | magic-string@^0.25.2, magic-string@^0.25.3: 397 | version "0.25.3" 398 | resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.3.tgz#34b8d2a2c7fec9d9bdf9929a3fd81d271ef35be9" 399 | integrity sha512-6QK0OpF/phMz0Q2AxILkX2mFhi7m+WMwTRg0LQKq/WBB0cDP4rYH3Wp4/d3OTXlrPLVJT/RFqj8tFeAR4nk8AA== 400 | dependencies: 401 | sourcemap-codec "^1.4.4" 402 | 403 | minimatch@^3.0.4: 404 | version "3.0.4" 405 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" 406 | integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== 407 | dependencies: 408 | brace-expansion "^1.1.7" 409 | 410 | minimist@^1.2.0: 411 | version "1.2.0" 412 | resolved "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" 413 | 414 | normalize-path@^2.1.1: 415 | version "2.1.1" 416 | resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" 417 | integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= 418 | dependencies: 419 | remove-trailing-separator "^1.0.1" 420 | 421 | now-and-later@^2.0.0: 422 | version "2.0.1" 423 | resolved "https://registry.yarnpkg.com/now-and-later/-/now-and-later-2.0.1.tgz#8e579c8685764a7cc02cb680380e94f43ccb1f7c" 424 | integrity sha512-KGvQ0cB70AQfg107Xvs/Fbu+dGmZoTRJp2TaPwcwQm3/7PteUyN2BCgk8KBMPGBUXZdVwyWS8fDCGFygBm19UQ== 425 | dependencies: 426 | once "^1.3.2" 427 | 428 | object-keys@^1.0.11, object-keys@^1.0.12: 429 | version "1.1.1" 430 | resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" 431 | integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== 432 | 433 | object.assign@^4.0.4: 434 | version "4.1.0" 435 | resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da" 436 | integrity sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w== 437 | dependencies: 438 | define-properties "^1.1.2" 439 | function-bind "^1.1.1" 440 | has-symbols "^1.0.0" 441 | object-keys "^1.0.11" 442 | 443 | once@^1.3.0, once@^1.3.1, once@^1.3.2, once@^1.4.0: 444 | version "1.4.0" 445 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 446 | dependencies: 447 | wrappy "1" 448 | 449 | ordered-read-streams@^1.0.0: 450 | version "1.0.1" 451 | resolved "https://registry.yarnpkg.com/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz#77c0cb37c41525d64166d990ffad7ec6a0e1363e" 452 | integrity sha1-d8DLN8QVJdZBZtmQ/61+xqDhNj4= 453 | dependencies: 454 | readable-stream "^2.0.1" 455 | 456 | os-homedir@^2.0.0: 457 | version "2.0.0" 458 | resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-2.0.0.tgz#a0c76bb001a8392a503cbd46e7e650b3423a923c" 459 | integrity sha512-saRNz0DSC5C/I++gFIaJTXoFJMRwiP5zHar5vV3xQ2TkgEw6hDCcU5F272JjUylpiVgBrZNQHnfjkLabTfb92Q== 460 | 461 | path-dirname@^1.0.0: 462 | version "1.0.2" 463 | resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" 464 | integrity sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA= 465 | 466 | path-is-absolute@^1.0.0: 467 | version "1.0.1" 468 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 469 | integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= 470 | 471 | path-parse@^1.0.6: 472 | version "1.0.6" 473 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" 474 | integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== 475 | 476 | process-nextick-args@^2.0.0: 477 | version "2.0.1" 478 | resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" 479 | integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== 480 | 481 | process-nextick-args@~2.0.0: 482 | version "2.0.0" 483 | resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.0.tgz#a37d732f4271b4ab1ad070d35508e8290788ffaa" 484 | 485 | pump@^2.0.0: 486 | version "2.0.1" 487 | resolved "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909" 488 | integrity sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA== 489 | dependencies: 490 | end-of-stream "^1.1.0" 491 | once "^1.3.1" 492 | 493 | pumpify@^1.3.5: 494 | version "1.5.1" 495 | resolved "https://registry.yarnpkg.com/pumpify/-/pumpify-1.5.1.tgz#36513be246ab27570b1a374a5ce278bfd74370ce" 496 | integrity sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ== 497 | dependencies: 498 | duplexify "^3.6.0" 499 | inherits "^2.0.3" 500 | pump "^2.0.0" 501 | 502 | query-string@6.8.2: 503 | version "6.8.2" 504 | resolved "https://registry.yarnpkg.com/query-string/-/query-string-6.8.2.tgz#36cb7e452ae11a4b5e9efee83375e0954407b2f6" 505 | integrity sha512-J3Qi8XZJXh93t2FiKyd/7Ec6GNifsjKXUsVFkSBj/kjLsDylWhnCz4NT1bkPcKotttPW+QbKGqqPH8OoI2pdqw== 506 | dependencies: 507 | decode-uri-component "^0.2.0" 508 | split-on-first "^1.0.0" 509 | strict-uri-encode "^2.0.0" 510 | 511 | ramda-fantasy@0.8.0: 512 | version "0.8.0" 513 | resolved "https://registry.yarnpkg.com/ramda-fantasy/-/ramda-fantasy-0.8.0.tgz#9e8c37d93ec0a70796cfc10873dd9c50850390f6" 514 | integrity sha1-now32T7ApweWz8EIc92cUIUDkPY= 515 | dependencies: 516 | ramda ">=0.15.0" 517 | 518 | ramda@0.26.1, ramda@>=0.15.0: 519 | version "0.26.1" 520 | resolved "https://registry.yarnpkg.com/ramda/-/ramda-0.26.1.tgz#8d41351eb8111c55353617fc3bbffad8e4d35d06" 521 | integrity sha512-hLWjpy7EnsDBb0p+Z3B7rPi3GDeRG5ZtiI33kJhTt+ORCd38AbAIjB/9zRIUoeTbE/AVX5ZkU7m6bznsvrf8eQ== 522 | 523 | "readable-stream@2 || 3": 524 | version "3.4.0" 525 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.4.0.tgz#a51c26754658e0a3c21dbf59163bd45ba6f447fc" 526 | integrity sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ== 527 | dependencies: 528 | inherits "^2.0.3" 529 | string_decoder "^1.1.1" 530 | util-deprecate "^1.0.1" 531 | 532 | readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.5, readable-stream@^2.1.5, readable-stream@^2.3.3, readable-stream@^2.3.5, readable-stream@^2.3.6, readable-stream@~2.3.6: 533 | version "2.3.6" 534 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" 535 | integrity sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw== 536 | dependencies: 537 | core-util-is "~1.0.0" 538 | inherits "~2.0.3" 539 | isarray "~1.0.0" 540 | process-nextick-args "~2.0.0" 541 | safe-buffer "~5.1.1" 542 | string_decoder "~1.1.1" 543 | util-deprecate "~1.0.1" 544 | 545 | regenerate-unicode-properties@^8.1.0: 546 | version "8.1.0" 547 | resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-8.1.0.tgz#ef51e0f0ea4ad424b77bf7cb41f3e015c70a3f0e" 548 | integrity sha512-LGZzkgtLY79GeXLm8Dp0BVLdQlWICzBnJz/ipWUgo59qBaZ+BHtq51P2q1uVZlppMuUAT37SDk39qUbjTWB7bA== 549 | dependencies: 550 | regenerate "^1.4.0" 551 | 552 | regenerate@^1.4.0: 553 | version "1.4.0" 554 | resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.0.tgz#4a856ec4b56e4077c557589cae85e7a4c8869a11" 555 | integrity sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg== 556 | 557 | regexpu-core@^4.5.4: 558 | version "4.5.5" 559 | resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.5.5.tgz#aaffe61c2af58269b3e516b61a73790376326411" 560 | integrity sha512-FpI67+ky9J+cDizQUJlIlNZFKual/lUkFr1AG6zOCpwZ9cLrg8UUVakyUQJD7fCDIe9Z2nwTQJNPyonatNmDFQ== 561 | dependencies: 562 | regenerate "^1.4.0" 563 | regenerate-unicode-properties "^8.1.0" 564 | regjsgen "^0.5.0" 565 | regjsparser "^0.6.0" 566 | unicode-match-property-ecmascript "^1.0.4" 567 | unicode-match-property-value-ecmascript "^1.1.0" 568 | 569 | regjsgen@^0.5.0: 570 | version "0.5.0" 571 | resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.0.tgz#a7634dc08f89209c2049adda3525711fb97265dd" 572 | integrity sha512-RnIrLhrXCX5ow/E5/Mh2O4e/oa1/jW0eaBKTSy3LaCj+M3Bqvm97GWDp2yUtzIs4LEn65zR2yiYGFqb2ApnzDA== 573 | 574 | regjsparser@^0.6.0: 575 | version "0.6.0" 576 | resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.6.0.tgz#f1e6ae8b7da2bae96c99399b868cd6c933a2ba9c" 577 | integrity sha512-RQ7YyokLiQBomUJuUG8iGVvkgOLxwyZM8k6d3q5SAXpg4r5TZJZigKFvC6PpD+qQ98bCDC5YelPeA3EucDoNeQ== 578 | dependencies: 579 | jsesc "~0.5.0" 580 | 581 | remove-bom-buffer@^3.0.0: 582 | version "3.0.0" 583 | resolved "https://registry.yarnpkg.com/remove-bom-buffer/-/remove-bom-buffer-3.0.0.tgz#c2bf1e377520d324f623892e33c10cac2c252b53" 584 | integrity sha512-8v2rWhaakv18qcvNeli2mZ/TMTL2nEyAKRvzo1WtnZBl15SHyEhrCu2/xKlJyUFKHiHgfXIyuY6g2dObJJycXQ== 585 | dependencies: 586 | is-buffer "^1.1.5" 587 | is-utf8 "^0.2.1" 588 | 589 | remove-bom-stream@^1.2.0: 590 | version "1.2.0" 591 | resolved "https://registry.yarnpkg.com/remove-bom-stream/-/remove-bom-stream-1.2.0.tgz#05f1a593f16e42e1fb90ebf59de8e569525f9523" 592 | integrity sha1-BfGlk/FuQuH7kOv1nejlaVJflSM= 593 | dependencies: 594 | remove-bom-buffer "^3.0.0" 595 | safe-buffer "^5.1.0" 596 | through2 "^2.0.3" 597 | 598 | remove-trailing-separator@^1.0.1: 599 | version "1.1.0" 600 | resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" 601 | integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= 602 | 603 | replace-ext@^1.0.0: 604 | version "1.0.0" 605 | resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.0.tgz#de63128373fcbf7c3ccfa4de5a480c45a67958eb" 606 | integrity sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs= 607 | 608 | resolve-options@^1.1.0: 609 | version "1.1.0" 610 | resolved "https://registry.yarnpkg.com/resolve-options/-/resolve-options-1.1.0.tgz#32bb9e39c06d67338dc9378c0d6d6074566ad131" 611 | integrity sha1-MrueOcBtZzONyTeMDW1gdFZq0TE= 612 | dependencies: 613 | value-or-function "^3.0.0" 614 | 615 | resolve@^1.11.0, resolve@^1.11.1: 616 | version "1.12.0" 617 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.12.0.tgz#3fc644a35c84a48554609ff26ec52b66fa577df6" 618 | integrity sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w== 619 | dependencies: 620 | path-parse "^1.0.6" 621 | 622 | rollup-plugin-commonjs@10.0.2: 623 | version "10.0.2" 624 | resolved "https://registry.yarnpkg.com/rollup-plugin-commonjs/-/rollup-plugin-commonjs-10.0.2.tgz#61328f3a29945e2c35f2b2e824c18944fd88a54d" 625 | integrity sha512-DxeR4QXTgTOFseYls1V7vgKbrSJmPYNdEMOs0OvH+7+89C3GiIonU9gFrE0u39Vv1KWm3wepq8KAvKugtoM2Zw== 626 | dependencies: 627 | estree-walker "^0.6.1" 628 | is-reference "^1.1.2" 629 | magic-string "^0.25.2" 630 | resolve "^1.11.0" 631 | rollup-pluginutils "^2.8.1" 632 | 633 | rollup-plugin-json@4.0.0: 634 | version "4.0.0" 635 | resolved "https://registry.yarnpkg.com/rollup-plugin-json/-/rollup-plugin-json-4.0.0.tgz#a18da0a4b30bf5ca1ee76ddb1422afbb84ae2b9e" 636 | integrity sha512-hgb8N7Cgfw5SZAkb3jf0QXii6QX/FOkiIq2M7BAQIEydjHvTyxXHQiIzZaTFgx1GK0cRCHOCBHIyEkkLdWKxow== 637 | dependencies: 638 | rollup-pluginutils "^2.5.0" 639 | 640 | rollup-plugin-node-resolve@5.2.0: 641 | version "5.2.0" 642 | resolved "https://registry.yarnpkg.com/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-5.2.0.tgz#730f93d10ed202473b1fb54a5997a7db8c6d8523" 643 | integrity sha512-jUlyaDXts7TW2CqQ4GaO5VJ4PwwaV8VUGA7+km3n6k6xtOEacf61u0VXwN80phY/evMcaS+9eIeJ9MOyDxt5Zw== 644 | dependencies: 645 | "@types/resolve" "0.0.8" 646 | builtin-modules "^3.1.0" 647 | is-module "^1.0.0" 648 | resolve "^1.11.1" 649 | rollup-pluginutils "^2.8.1" 650 | 651 | rollup-pluginutils@^2.5.0, rollup-pluginutils@^2.8.1: 652 | version "2.8.1" 653 | resolved "https://registry.yarnpkg.com/rollup-pluginutils/-/rollup-pluginutils-2.8.1.tgz#8fa6dd0697344938ef26c2c09d2488ce9e33ce97" 654 | integrity sha512-J5oAoysWar6GuZo0s+3bZ6sVZAC0pfqKz68De7ZgDi5z63jOVZn1uJL/+z1jeKHNbGII8kAyHF5q8LnxSX5lQg== 655 | dependencies: 656 | estree-walker "^0.6.1" 657 | 658 | rollup@1.20.1: 659 | version "1.20.1" 660 | resolved "https://registry.yarnpkg.com/rollup/-/rollup-1.20.1.tgz#fc66f356c5afbd7c62434f1e7a53a1e7da5a2b32" 661 | integrity sha512-8DV8eWLq84fbJFRqkjWg8BWX4NTTdHpx9bxjmTl/83z54o6Ygo1OgUDjJGFq/xe5i0kDspnbjzw2V+ZPXD/BrQ== 662 | dependencies: 663 | "@types/estree" "0.0.39" 664 | "@types/node" "^12.7.2" 665 | acorn "^7.0.0" 666 | 667 | safe-buffer@^5.1.0, safe-buffer@~5.2.0: 668 | version "5.2.0" 669 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.0.tgz#b74daec49b1148f88c64b68d49b1e815c1f2f519" 670 | integrity sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg== 671 | 672 | safe-buffer@~5.1.0, safe-buffer@~5.1.1: 673 | version "5.1.2" 674 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" 675 | 676 | sanctuary-def@0.20.0: 677 | version "0.20.0" 678 | resolved "https://registry.yarnpkg.com/sanctuary-def/-/sanctuary-def-0.20.0.tgz#bcecc9a1469c025467ea31f0ec6228ed56962bb3" 679 | integrity sha512-BjDwAq+4aHZhKyOR35oVfVkCOLfKMOVw6UqQfkzL/Ul5G290J0nITSmnM9fP6EaH2rV/0quR7wgoCgX5Um5YGg== 680 | dependencies: 681 | sanctuary-either "1.1.0" 682 | sanctuary-show "1.0.x" 683 | sanctuary-type-classes "11.0.x" 684 | sanctuary-type-identifiers "2.0.x" 685 | 686 | sanctuary-either@1.1.0: 687 | version "1.1.0" 688 | resolved "https://registry.yarnpkg.com/sanctuary-either/-/sanctuary-either-1.1.0.tgz#9d45b344d870c16fc72f574feec1744dc50f4e1f" 689 | integrity sha512-tQewdQTPKzuJGahV5iuILJM96I+AfIFn3vpi0s2FhHYENbRqO4JeFSWLNT1mJ9SupSJBopgWefWeUjq/ZKfdtg== 690 | dependencies: 691 | sanctuary-show "1.0.x" 692 | sanctuary-type-classes "10.0.0" 693 | 694 | sanctuary-either@1.2.0: 695 | version "1.2.0" 696 | resolved "https://registry.yarnpkg.com/sanctuary-either/-/sanctuary-either-1.2.0.tgz#3126196a2067ea4a9b1de6b6c4c045504059a44b" 697 | integrity sha512-CFUK0OOGAe+t+Ct4yVLfkJPABIkplCvIgCOFIJZ+lIMNAeJrSaVacrZVqRErt4YKzDs42ZXecAEpoDL8rRAfsQ== 698 | dependencies: 699 | sanctuary-show "1.0.x" 700 | sanctuary-type-classes "11.0.0" 701 | 702 | sanctuary-maybe@1.2.0: 703 | version "1.2.0" 704 | resolved "https://registry.yarnpkg.com/sanctuary-maybe/-/sanctuary-maybe-1.2.0.tgz#e994825d62f6d5a3c60771e859261b08c517acc5" 705 | integrity sha512-SH4dkyrruJe84/q8YMjc6kWyGbqPH6clM6yfJ/iosQZm+bGK2XPgcPs1yDN0U0zm1JzJ563zdwn64W+aMw5CDw== 706 | dependencies: 707 | sanctuary-show "1.0.x" 708 | sanctuary-type-classes "11.0.0" 709 | 710 | sanctuary-pair@1.2.0: 711 | version "1.2.0" 712 | resolved "https://registry.yarnpkg.com/sanctuary-pair/-/sanctuary-pair-1.2.0.tgz#2538dbdac011594fd601ca1112e83cb5083bc865" 713 | integrity sha512-bPu+uFxFE2RP3hLlC6SRMsm4A2aEwHkDwHWuvGzHxYaclGnHCrHy0ykRTuR0Pgqy/ZlWl6zy+8Tek3jME3du6A== 714 | dependencies: 715 | sanctuary-show "1.0.x" 716 | sanctuary-type-classes "11.0.0" 717 | 718 | sanctuary-show@1.0.0, sanctuary-show@1.0.x: 719 | version "1.0.0" 720 | resolved "https://registry.yarnpkg.com/sanctuary-show/-/sanctuary-show-1.0.0.tgz#72deb4812f9decec850e03286807dca1c97a1d61" 721 | integrity sha512-63UqNGr5M6wkzKp6eGc/Gy6JBIV2PbzPd3q88+0F9z0qydAQsCWJ+7e4oor39rEEwj2GkZMDEhqGuiMl9eEnYw== 722 | 723 | sanctuary-type-classes@10.0.0: 724 | version "10.0.0" 725 | resolved "https://registry.yarnpkg.com/sanctuary-type-classes/-/sanctuary-type-classes-10.0.0.tgz#25126f009348101dbe627c7b7efb7c6f63f792b1" 726 | integrity sha512-h5Q1VkW/CmVbmoWDf6HdsgJbx5gc3n6R5lRzzKRssYSkghmqEuAr+0ThJs/bqJK8aiQwh3N2PXP4ZppYEDlSdg== 727 | dependencies: 728 | sanctuary-type-identifiers "2.0.1" 729 | 730 | sanctuary-type-classes@11.0.0, sanctuary-type-classes@11.0.x: 731 | version "11.0.0" 732 | resolved "https://registry.yarnpkg.com/sanctuary-type-classes/-/sanctuary-type-classes-11.0.0.tgz#f7f752a846aad057d894183a20169bc593ddb039" 733 | integrity sha512-J9vfS19C9TSd0pIxz7dza0krxUGoo7LYdwQzkmO7zEsbzmPEwbB3HByLgN/zI+QYd0m08IdohAzYJSAd89Fdqg== 734 | dependencies: 735 | sanctuary-type-identifiers "2.0.1" 736 | 737 | sanctuary-type-identifiers@2.0.1, sanctuary-type-identifiers@2.0.x: 738 | version "2.0.1" 739 | resolved "https://registry.yarnpkg.com/sanctuary-type-identifiers/-/sanctuary-type-identifiers-2.0.1.tgz#fc524cf6dd92cebfcbb0dd9509eff193159a20ed" 740 | integrity sha1-/FJM9t2Szr/LsN2VCe/xkxWaIO0= 741 | 742 | sanctuary@2.0.0: 743 | version "2.0.0" 744 | resolved "https://registry.yarnpkg.com/sanctuary/-/sanctuary-2.0.0.tgz#71c2e8af7cfe034ece2c7a932232ba917a03dd0f" 745 | integrity sha512-FYjhCKBS7meY4Lrjsx7CL+2+qnCsgUqJUvFYoLU7ahiGM8LqTOkhAtdGZGG+bhCIP0iCEfDWRq35pQJTfmtFrg== 746 | dependencies: 747 | sanctuary-def "0.20.0" 748 | sanctuary-either "1.2.0" 749 | sanctuary-maybe "1.2.0" 750 | sanctuary-pair "1.2.0" 751 | sanctuary-show "1.0.0" 752 | sanctuary-type-classes "11.0.0" 753 | sanctuary-type-identifiers "2.0.1" 754 | 755 | sourcemap-codec@^1.4.4: 756 | version "1.4.6" 757 | resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.6.tgz#e30a74f0402bad09807640d39e971090a08ce1e9" 758 | integrity sha512-1ZooVLYFxC448piVLBbtOxFcXwnymH9oUF8nRd3CuYDVvkRBxRl6pB4Mtas5a4drtL+E8LDgFkQNcgIw6tc8Hg== 759 | 760 | split-on-first@^1.0.0: 761 | version "1.1.0" 762 | resolved "https://registry.yarnpkg.com/split-on-first/-/split-on-first-1.1.0.tgz#f610afeee3b12bce1d0c30425e76398b78249a5f" 763 | integrity sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw== 764 | 765 | stream-shift@^1.0.0: 766 | version "1.0.0" 767 | resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.0.tgz#d5c752825e5367e786f78e18e445ea223a155952" 768 | 769 | strict-uri-encode@^2.0.0: 770 | version "2.0.0" 771 | resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz#b9c7330c7042862f6b142dc274bbcc5866ce3546" 772 | integrity sha1-ucczDHBChi9rFC3CdLvMWGbONUY= 773 | 774 | string_decoder@^1.1.1: 775 | version "1.3.0" 776 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" 777 | integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== 778 | dependencies: 779 | safe-buffer "~5.2.0" 780 | 781 | string_decoder@~1.1.1: 782 | version "1.1.1" 783 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" 784 | dependencies: 785 | safe-buffer "~5.1.0" 786 | 787 | supports-color@^5.3.0: 788 | version "5.5.0" 789 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" 790 | integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== 791 | dependencies: 792 | has-flag "^3.0.0" 793 | 794 | through2-filter@^2.0.0: 795 | version "2.0.0" 796 | resolved "https://registry.yarnpkg.com/through2-filter/-/through2-filter-2.0.0.tgz#60bc55a0dacb76085db1f9dae99ab43f83d622ec" 797 | dependencies: 798 | through2 "~2.0.0" 799 | xtend "~4.0.0" 800 | 801 | through2@3.0.1: 802 | version "3.0.1" 803 | resolved "https://registry.yarnpkg.com/through2/-/through2-3.0.1.tgz#39276e713c3302edf9e388dd9c812dd3b825bd5a" 804 | integrity sha512-M96dvTalPT3YbYLaKaCuwu+j06D/8Jfib0o/PxbVt6Amhv3dUAtW6rTV1jPgJSBG83I/e04Y6xkVdVhSRhi0ww== 805 | dependencies: 806 | readable-stream "2 || 3" 807 | 808 | through2@^2.0.0, through2@^2.0.3, through2@~2.0.0: 809 | version "2.0.5" 810 | resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" 811 | integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== 812 | dependencies: 813 | readable-stream "~2.3.6" 814 | xtend "~4.0.1" 815 | 816 | to-absolute-glob@^2.0.0: 817 | version "2.0.2" 818 | resolved "https://registry.yarnpkg.com/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz#1865f43d9e74b0822db9f145b78cff7d0f7c849b" 819 | integrity sha1-GGX0PZ50sIItufFFt4z/fQ98hJs= 820 | dependencies: 821 | is-absolute "^1.0.0" 822 | is-negated-glob "^1.0.0" 823 | 824 | to-through@^2.0.0: 825 | version "2.0.0" 826 | resolved "https://registry.yarnpkg.com/to-through/-/to-through-2.0.0.tgz#fc92adaba072647bc0b67d6b03664aa195093af6" 827 | integrity sha1-/JKtq6ByZHvAtn1rA2ZKoZUJOvY= 828 | dependencies: 829 | through2 "^2.0.3" 830 | 831 | unc-path-regex@^0.1.2: 832 | version "0.1.2" 833 | resolved "https://registry.yarnpkg.com/unc-path-regex/-/unc-path-regex-0.1.2.tgz#e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa" 834 | integrity sha1-5z3T17DXxe2G+6xrCufYxqadUPo= 835 | 836 | unicode-canonical-property-names-ecmascript@^1.0.4: 837 | version "1.0.4" 838 | resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz#2619800c4c825800efdd8343af7dd9933cbe2818" 839 | integrity sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ== 840 | 841 | unicode-match-property-ecmascript@^1.0.4: 842 | version "1.0.4" 843 | resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz#8ed2a32569961bce9227d09cd3ffbb8fed5f020c" 844 | integrity sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg== 845 | dependencies: 846 | unicode-canonical-property-names-ecmascript "^1.0.4" 847 | unicode-property-aliases-ecmascript "^1.0.4" 848 | 849 | unicode-match-property-value-ecmascript@^1.1.0: 850 | version "1.1.0" 851 | resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.1.0.tgz#5b4b426e08d13a80365e0d657ac7a6c1ec46a277" 852 | integrity sha512-hDTHvaBk3RmFzvSl0UVrUmC3PuW9wKVnpoUDYH0JDkSIovzw+J5viQmeYHxVSBptubnr7PbH2e0fnpDRQnQl5g== 853 | 854 | unicode-property-aliases-ecmascript@^1.0.4: 855 | version "1.0.5" 856 | resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.5.tgz#a9cc6cc7ce63a0a3023fc99e341b94431d405a57" 857 | integrity sha512-L5RAqCfXqAwR3RriF8pM0lU0w4Ryf/GgzONwi6KnL1taJQa7x1TCxdJnILX59WIGOwR57IVxn7Nej0fz1Ny6fw== 858 | 859 | unique-stream@^2.0.2: 860 | version "2.2.1" 861 | resolved "https://registry.yarnpkg.com/unique-stream/-/unique-stream-2.2.1.tgz#5aa003cfbe94c5ff866c4e7d668bb1c4dbadb369" 862 | dependencies: 863 | json-stable-stringify "^1.0.0" 864 | through2-filter "^2.0.0" 865 | 866 | util-deprecate@^1.0.1, util-deprecate@~1.0.1: 867 | version "1.0.2" 868 | resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" 869 | integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= 870 | 871 | value-or-function@^3.0.0: 872 | version "3.0.0" 873 | resolved "https://registry.yarnpkg.com/value-or-function/-/value-or-function-3.0.0.tgz#1c243a50b595c1be54a754bfece8563b9ff8d813" 874 | integrity sha1-HCQ6ULWVwb5Up1S/7OhWO5/42BM= 875 | 876 | vinyl-fs@3.0.3: 877 | version "3.0.3" 878 | resolved "https://registry.yarnpkg.com/vinyl-fs/-/vinyl-fs-3.0.3.tgz#c85849405f67428feabbbd5c5dbdd64f47d31bc7" 879 | integrity sha512-vIu34EkyNyJxmP0jscNzWBSygh7VWhqun6RmqVfXePrOwi9lhvRs//dOaGOTRUQr4tx7/zd26Tk5WeSVZitgng== 880 | dependencies: 881 | fs-mkdirp-stream "^1.0.0" 882 | glob-stream "^6.1.0" 883 | graceful-fs "^4.0.0" 884 | is-valid-glob "^1.0.0" 885 | lazystream "^1.0.0" 886 | lead "^1.0.0" 887 | object.assign "^4.0.4" 888 | pumpify "^1.3.5" 889 | readable-stream "^2.3.3" 890 | remove-bom-buffer "^3.0.0" 891 | remove-bom-stream "^1.2.0" 892 | resolve-options "^1.1.0" 893 | through2 "^2.0.0" 894 | to-through "^2.0.0" 895 | value-or-function "^3.0.0" 896 | vinyl "^2.0.0" 897 | vinyl-sourcemap "^1.1.0" 898 | 899 | vinyl-sourcemap@^1.1.0: 900 | version "1.1.0" 901 | resolved "https://registry.yarnpkg.com/vinyl-sourcemap/-/vinyl-sourcemap-1.1.0.tgz#92a800593a38703a8cdb11d8b300ad4be63b3e16" 902 | integrity sha1-kqgAWTo4cDqM2xHYswCtS+Y7PhY= 903 | dependencies: 904 | append-buffer "^1.0.2" 905 | convert-source-map "^1.5.0" 906 | graceful-fs "^4.1.6" 907 | normalize-path "^2.1.1" 908 | now-and-later "^2.0.0" 909 | remove-bom-buffer "^3.0.0" 910 | vinyl "^2.0.0" 911 | 912 | vinyl@^2.0.0: 913 | version "2.2.0" 914 | resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-2.2.0.tgz#d85b07da96e458d25b2ffe19fece9f2caa13ed86" 915 | integrity sha512-MBH+yP0kC/GQ5GwBqrTPTzEfiiLjta7hTtvQtbxBgTeSXsmKQRQecjibMbxIXzVT3Y9KJK+drOz1/k+vsu8Nkg== 916 | dependencies: 917 | clone "^2.1.1" 918 | clone-buffer "^1.0.0" 919 | clone-stats "^1.0.0" 920 | cloneable-readable "^1.0.0" 921 | remove-trailing-separator "^1.0.1" 922 | replace-ext "^1.0.0" 923 | 924 | wrappy@1: 925 | version "1.0.2" 926 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 927 | 928 | xtend@~4.0.0, xtend@~4.0.1: 929 | version "4.0.1" 930 | resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" 931 | --------------------------------------------------------------------------------