From 5cfd5c501abdc357ac1cbd03832f0c0bc5ccd56d Mon Sep 17 00:00:00 2001 From: Sven Slootweg Date: Sat, 27 Mar 2021 23:36:42 +0100 Subject: [PATCH] Rebrand --- README.md | 4 +- example.js | 10 +- index.js | 14 +- package.json | 20 +- src/readable/push-buffer.js | 4 +- src/warn.js | 2 +- yarn.lock | 372 +++++++++++++++++++++++++++++++----- 7 files changed, 350 insertions(+), 76 deletions(-) diff --git a/README.md b/README.md index 10e4256..382e13f 100644 --- a/README.md +++ b/README.md @@ -4,9 +4,9 @@ TODO In Node.js streams, there is a thing called a Duplex stream. This is basically a stream that has an independent readable and writable part, that are not connected together. Like a TCP socket, for example; you send data through the writable half and receive data through the readable half - but the data you receive is not the same data as you sent. -Duplex streams are really just two independent streams that are stuffed into a single object, representing a single resource, like a network socket. And this is how ppstreams treats those - as two independent streams. In ppstreams, there are no Duplex streams, so when converting a Node.js Duplex stream, you will have to do the conversion twice - once for the readable part, and once for the writable part. This can be done with the `duplexRead` and `duplexWrite` methods. +Duplex streams are really just two independent streams that are stuffed into a single object, representing a single resource, like a network socket. And this is how ppstreams treats those - as two independent streams. In Promistreams, there are no Duplex streams, so when converting a Node.js Duplex stream, you will have to do the conversion twice - once for the readable part, and once for the writable part. This can be done with the `duplexRead` and `duplexWrite` methods. -__Why does ppstreams not have Duplex streams?__ Because they're surprisingly tricky to implement. They would make the ppstreams specification a lot more complex, and make certain things impossible; for example, a sink stream (writable stream) in ppstreams can return a Promise to signify when it's completely done receiving data, but a source stream (readable stream) needs to return a Promise with the next read value! You can only return one or the other, so supporting both would involve a lot of special logic for detecting what kind of thing is being returned. +__Why does Promistreams not have Duplex streams?__ Because they're surprisingly tricky to implement. They would make the Promistreams specification a lot more complex, and make certain things impossible; for example, a sink stream (writable stream) in Promistreams can return a Promise to signify when it's completely done receiving data, but a source stream (readable stream) needs to return a Promise with the next read value! You can only return one or the other, so supporting both would involve a lot of special logic for detecting what kind of thing is being returned. Aside from that, they are also just difficult to work with. Developers routinely get tripped up by the difference between a Duplex and a Transform stream, and it's much simpler to reason about your streams code when a separate readable and writable stream don't pretend to be a single stream when they're really not. diff --git a/example.js b/example.js index 287fc1e..b30502d 100644 --- a/example.js +++ b/example.js @@ -4,11 +4,11 @@ const Promise = require("bluebird"); const fs = require("fs"); const through2 = require("through2"); const fromNodeStream = require("./"); -const pipe = require("@ppstreams/pipe"); -const collect = require("@ppstreams/collect"); -const rangeNumbers = require("@ppstreams/range-numbers"); -const bufferedMap = require("@ppstreams/buffered-map"); -const map = require("@ppstreams/map"); +const pipe = require("@promistream/pipe"); +const collect = require("@promistream/collect"); +const rangeNumbers = require("@promistream/range-numbers"); +const bufferedMap = require("@promistream/buffered-map"); +const map = require("@promistream/map"); let transform = through2.obj((chunk, encoding, callback) => { callback(null, chunk + 5); diff --git a/index.js b/index.js index e810250..fd895bc 100644 --- a/index.js +++ b/index.js @@ -1,13 +1,13 @@ "use strict"; const Promise = require("bluebird"); -const simpleSource = require("@ppstreams/simple-source"); -const simpleSink = require("@ppstreams/simple-sink"); -const buffer = require("@ppstreams/buffer"); -const propagatePeek = require("@ppstreams/propagate-peek"); -const propagateAbort = require("@ppstreams/propagate-abort"); -const pipe = require("@ppstreams/pipe"); -const isEndOfStream = require("@ppstreams/is-end-of-stream"); +const simpleSource = require("@promistream/simple-source"); +const simpleSink = require("@promistream/simple-sink"); +const buffer = require("@promistream/buffer"); +const propagatePeek = require("@promistream/propagate-peek"); +const propagateAbort = require("@promistream/propagate-abort"); +const pipe = require("@promistream/pipe"); +const isEndOfStream = require("@promistream/is-end-of-stream"); const createDefer = require("./src/create-defer"); const wireUpReadableInterface = require("./src/readable"); diff --git a/package.json b/package.json index 88ef1bf..231b2b9 100644 --- a/package.json +++ b/package.json @@ -1,20 +1,20 @@ { - "name": "@ppstreams/from-node-stream", + "name": "@promistream/from-node-stream", "version": "0.1.0", "main": "index.js", - "repository": "http://git.cryto.net/ppstreams/from-node-stream.git", + "repository": "http://git.cryto.net/promistream/from-node-stream.git", "author": "Sven Slootweg ", "license": "WTFPL OR CC0-1.0", "dependencies": { "@joepie91/unreachable": "^1.0.0", - "@ppstreams/buffer": "^0.1.0", - "@ppstreams/end-of-stream": "^0.1.0", - "@ppstreams/is-end-of-stream": "^0.1.0", - "@ppstreams/pipe": "^0.1.1", - "@ppstreams/propagate-abort": "^0.1.3", - "@ppstreams/propagate-peek": "^0.1.0", - "@ppstreams/simple-sink": "^0.1.0", - "@ppstreams/simple-source": "^0.1.1", + "@promistream/buffer": "^0.1.0", + "@promistream/end-of-stream": "^0.1.0", + "@promistream/is-end-of-stream": "^0.1.0", + "@promistream/pipe": "^0.1.1", + "@promistream/propagate-abort": "^0.1.3", + "@promistream/propagate-peek": "^0.1.0", + "@promistream/simple-sink": "^0.1.0", + "@promistream/simple-source": "^0.1.1", "bluebird": "^3.7.2", "split-filter": "^1.1.3" } diff --git a/src/readable/push-buffer.js b/src/readable/push-buffer.js index 8a22e11..21e2278 100644 --- a/src/readable/push-buffer.js +++ b/src/readable/push-buffer.js @@ -3,8 +3,8 @@ // FIXME: Separate this out into its own package const splitFilter = require("split-filter"); -const unreachable = require("@joepie91/unreachable")("@ppstreams/from-node-stream"); -const EndOfStream = require("@ppstreams/end-of-stream"); +const unreachable = require("@joepie91/unreachable")("@promistream/from-node-stream"); +const EndOfStream = require("@promistream/end-of-stream"); const warn = require("../warn"); const createDefer = require("../create-defer"); diff --git a/src/warn.js b/src/warn.js index c1cb12c..c170731 100644 --- a/src/warn.js +++ b/src/warn.js @@ -1,5 +1,5 @@ "use strict"; module.exports = function warn(message) { - console.error(`[@ppstreams/from-node-stream] Warning: ${message}`); + console.error(`[@promistream/from-node-stream] Warning: ${message}`); }; diff --git a/yarn.lock b/yarn.lock index 0b2dcca..7cd1f06 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7,63 +7,74 @@ resolved "https://registry.yarnpkg.com/@joepie91/unreachable/-/unreachable-1.0.0.tgz#8032bb8a5813e81bbbe516cb3031d60818526687" integrity sha512-vZRJ5UDq4mqP1vgSrcOLD3aIfS/nzwsvGFOOHv5sj5fa1Ss0dT1xnIzrXKLD9pu5EcUvF3K6n6jdaMW8uXpNEQ== -"@ppstreams/aborted@^0.1.0": - version "0.1.0" - resolved "https://registry.yarnpkg.com/@ppstreams/aborted/-/aborted-0.1.0.tgz#0e7d89be4234403412dda522600ad991abd0c9b6" - integrity sha512-KNrfltZBVZqcTML2ix6Pg5KjKCnD0pA4hNKEYo+PX4iNfk3oaQa+ma54lvgPEhTSOB9Vq2PKdq1ekxD/UAaMMQ== +"@promistream/aborted@^0.1.1": + version "0.1.2" + resolved "https://registry.yarnpkg.com/@promistream/aborted/-/aborted-0.1.2.tgz#49a5c57fa346db14b7cb84e000d473e0852138c6" + integrity sha512-rLQgZTFr0r7yWtDbqA8zT5F4TKDiOiyowlAxSKiSY4XM+XVYeNq7k9SXIxVhLczjKh1Cv0nlvvZ7cZ41UjZPwQ== dependencies: - create-error "^0.3.1" + default-value "^1.0.0" + error-chain "^0.1.0" -"@ppstreams/buffer@^0.1.0": - version "0.1.0" - resolved "https://registry.yarnpkg.com/@ppstreams/buffer/-/buffer-0.1.0.tgz#22247ae19b84494cd916e702fae0568c2811e350" - integrity sha512-6dZoCZH9z969kzLhTLEHEbyHUhYVFtVXZA0t9vPMoTSuQFqlJJZzSO/7p3VyVpxW9okJmE5h4DxZoN8BJudVlg== +"@promistream/buffer@^0.1.0": + version "0.1.2" + resolved "https://registry.yarnpkg.com/@promistream/buffer/-/buffer-0.1.2.tgz#73c63476aa5cfeb111298b791a33d8008384721b" + integrity sha512-EquWW7HTpjngNkMxHhxww0rvODWAaEN715BXQWP9zXkm+CXdhYmadeol7G2kMPTTYuYjKFmiNUdjjfm/z2puyg== dependencies: "@joepie91/unreachable" "^1.0.0" - "@ppstreams/propagate-abort" "^0.1.2" + "@promistream/propagate-abort" "^0.1.2" bluebird "^3.5.4" -"@ppstreams/end-of-stream@^0.1.0": - version "0.1.0" - resolved "https://registry.yarnpkg.com/@ppstreams/end-of-stream/-/end-of-stream-0.1.0.tgz#fa1d3c7cbef9c2cdfdd5132a9467221826eef0b1" - integrity sha512-Fo3ljetPOuy0cV8bDtYc9vFxtRnePr4+1hy3vVmD8uxR2/oZWTgL64R91RkJSxh2FpI33X6hstnP7qEbbSQfhQ== +"@promistream/end-of-stream@^0.1.0", "@promistream/end-of-stream@^0.1.1": + version "0.1.2" + resolved "https://registry.yarnpkg.com/@promistream/end-of-stream/-/end-of-stream-0.1.2.tgz#45820c8d29353c480c0219920db95ba075396438" + integrity sha512-rOeAIkcVZW6oYox2Jc1z/00iLVx0w0cIlcD/TbR798Qg5M5/nhErtjSG08QAtuaPSxAFKNl5ipAD8HHGV5esJw== dependencies: - create-error "^0.3.1" - -"@ppstreams/is-aborted@^0.1.0": - version "0.1.0" - resolved "https://registry.yarnpkg.com/@ppstreams/is-aborted/-/is-aborted-0.1.0.tgz#0beb590a663a09683898de9f335320e07cc2afd3" - integrity sha512-Y/th7e/VtLjnUUuYo/URkN+BEF9GYmUPo91kd2YS//L3wmmeeXwCy+cMuFLf1v4T3szLQqUbdX1YM6vyfXpiIg== + default-value "^1.0.0" + error-chain "^0.1.0" -"@ppstreams/is-end-of-stream@^0.1.0": - version "0.1.0" - resolved "https://registry.yarnpkg.com/@ppstreams/is-end-of-stream/-/is-end-of-stream-0.1.0.tgz#703b0530698dc920a8fbdeea9812ef63a6fdb42c" - integrity sha512-F7J7ey5oApuH/+QD/CCotePi9ID1b5Wl1h7/IAArjL7ETDOEyHuQevsi/KXIq8kY+0YArW3F0c4QqgQujjvSnQ== +"@promistream/is-aborted@^0.1.1": + version "0.1.1" + resolved "https://registry.yarnpkg.com/@promistream/is-aborted/-/is-aborted-0.1.1.tgz#58d714dbd5f20bf851c77339c2213128ac50f0bf" + integrity sha512-2AYo+MFu0wNKXCEDHexaFWoESiUzHfGZgWpazbdA6OyU/AJsHRfMwKzE7awmgi1u0T43k5nLwwJXIiTypajSiw== -"@ppstreams/pipe@^0.1.1": +"@promistream/is-end-of-stream@^0.1.0", "@promistream/is-end-of-stream@^0.1.1": version "0.1.1" - resolved "https://registry.yarnpkg.com/@ppstreams/pipe/-/pipe-0.1.1.tgz#453079d2ed8074e8a105f572967e50b0bcb7ca53" - integrity sha512-Wn/uBJArde8UwB5NrZbS4kYvUHdJtloRaobAwUAUmVKqPYTSs5zcAOy3AmxRw0k+aB4w6UtlZ47lM57K/DV/QQ== + resolved "https://registry.yarnpkg.com/@promistream/is-end-of-stream/-/is-end-of-stream-0.1.1.tgz#7f84e630c9e49a92739df6a8c574eff99dd4c09d" + integrity sha512-GZn7W0wrUen7kkgWCcwFFgr0g/ftfuddnuK/Tp0MLWCCJA4hyAboglCZP0JzEJdi34gClEP8lCfDwGekw18LHg== -"@ppstreams/propagate-abort@^0.1.2", "@ppstreams/propagate-abort@^0.1.3": - version "0.1.3" - resolved "https://registry.yarnpkg.com/@ppstreams/propagate-abort/-/propagate-abort-0.1.3.tgz#ddb6f63e9891d642e225802d690186db6a5e2245" - integrity sha512-mFG6okJF+l/3Ct6SmUAIxG75tXmQlK3P/O7w4IO9rjjciww8fa5srd66c/XWUk30qLh0gaPgR38TmvynsHS6bA== +"@promistream/pipe@^0.1.1": + version "0.1.4" + resolved "https://registry.yarnpkg.com/@promistream/pipe/-/pipe-0.1.4.tgz#ef05fe582a33768c7eb56ad20635e1b7b48ac95b" + integrity sha512-4js6lhu/aTNEMosIBFcCz8Rkxc1S2V4zzI2QvZp9HqglhL5UTuxnv5VbU2ZlPFAFVID1aJOurZ8KdiVagHfOCw== + dependencies: + "@validatem/allow-extra-properties" "^0.1.0" + "@validatem/anything" "^0.1.0" + "@validatem/array-of" "^0.1.2" + "@validatem/core" "^0.3.15" + "@validatem/error" "^1.1.0" + "@validatem/remove-nullish-items" "^0.1.0" + "@validatem/required" "^0.1.1" + "@validatem/wrap-error" "^0.3.0" -"@ppstreams/propagate-peek@^0.1.0": - version "0.1.0" - resolved "https://registry.yarnpkg.com/@ppstreams/propagate-peek/-/propagate-peek-0.1.0.tgz#b8d24aa611845f64cf56b8cfd84266ce443b5f24" - integrity sha512-rX3ECnMxdD70fkEB6gQPr4aFg5bgOQ2Cks1LgFZv7Fj7qbj2SIjj1jHnhlFD1Wm6OZlcGXWuH2nbQp1hKoutkg== +"@promistream/propagate-abort@^0.1.2", "@promistream/propagate-abort@^0.1.3", "@promistream/propagate-abort@^0.1.6": + version "0.1.6" + resolved "https://registry.yarnpkg.com/@promistream/propagate-abort/-/propagate-abort-0.1.6.tgz#dfc3c78c2e22662b9e5d548afce2180c40584ef5" + integrity sha512-Ap4eDFiIcLb4yuJdin2tQM1+2ZJZm78sYWkKVdqECJY0UGkwNsbaMMeYyfZpFRpJGmW8mCCuOkWs0fQl5H9DGA== -"@ppstreams/simple-sink@^0.1.0": - version "0.1.0" - resolved "https://registry.yarnpkg.com/@ppstreams/simple-sink/-/simple-sink-0.1.0.tgz#add7aae3068b9130a9b74d0e840a767c8b22bd0f" - integrity sha512-JjfPW9NNZmddzX724bXeht+9COVLlmq1LqL/DmLa9r3JQ5JxhvUCHVYLEjE7ER7ab4psCwxVxkmslUPpa/7+fQ== +"@promistream/propagate-peek@^0.1.0", "@promistream/propagate-peek@^0.1.1": + version "0.1.1" + resolved "https://registry.yarnpkg.com/@promistream/propagate-peek/-/propagate-peek-0.1.1.tgz#c7dd69efcd894c408d7a3e9713b6a9036f70a501" + integrity sha512-4xfkSmtPQzlvL4+KCquPHX7sPXiAACGJac/y7fB3Sv6ZKXAT/cjTfms1nEjlDGn1nroN0MzReBza2HnpF59deg== + +"@promistream/simple-sink@^0.1.0": + version "0.1.1" + resolved "https://registry.yarnpkg.com/@promistream/simple-sink/-/simple-sink-0.1.1.tgz#e3808179102ffe4bc10d70d681f19c649e1f3811" + integrity sha512-M6dQMUIPjFTRB+xIwBMqIrPghWORoreGoNAl2F/5oshBlX6+X2F+RAeUuz6plDymwq2eoVL5pvSUR4zYdMdRjQ== dependencies: - "@ppstreams/is-aborted" "^0.1.0" - "@ppstreams/is-end-of-stream" "^0.1.0" - "@ppstreams/propagate-abort" "^0.1.2" - "@ppstreams/propagate-peek" "^0.1.0" + "@promistream/is-aborted" "^0.1.1" + "@promistream/is-end-of-stream" "^0.1.1" + "@promistream/propagate-abort" "^0.1.6" + "@promistream/propagate-peek" "^0.1.1" "@validatem/core" "^0.3.11" "@validatem/default-to" "^0.1.0" "@validatem/is-function" "^0.1.0" @@ -71,17 +82,28 @@ "@validatem/wrap-value-as-option" "^0.1.0" bluebird "^3.5.4" -"@ppstreams/simple-source@^0.1.1": - version "0.1.1" - resolved "https://registry.yarnpkg.com/@ppstreams/simple-source/-/simple-source-0.1.1.tgz#a8f276f2b6a27632edc0f123dc64c183414c4f9e" - integrity sha512-q0jpPZSGmld9VIhM+GmMRqwE9PXRiEJSXf3jhypf5VqiEs1JfrSNENvFeLYL/OxaF5PV+Jh0Up1hRfBWVK4+Sw== +"@promistream/simple-source@^0.1.1": + version "0.1.3" + resolved "https://registry.yarnpkg.com/@promistream/simple-source/-/simple-source-0.1.3.tgz#8139ed088f8249eb9a93287fc04213008325cf06" + integrity sha512-rmpEW0Ec/9Ajrgnx0FHV+mYk4uZ+X3tRhACexUjeal6Jxgzp1oITES59+y2FZA86/a7VPCaadXBA6sWuRfcc3w== dependencies: - "@ppstreams/aborted" "^0.1.0" + "@joepie91/unreachable" "^1.0.0" + "@promistream/aborted" "^0.1.1" + "@promistream/end-of-stream" "^0.1.1" + "@promistream/is-end-of-stream" "^0.1.0" "@validatem/core" "^0.3.12" "@validatem/is-function" "^0.1.0" "@validatem/required" "^0.1.1" "@validatem/wrap-value-as-option" "^0.1.0" bluebird "^3.7.2" + error-chain "^0.1.0" + +"@validatem/allow-extra-properties@^0.1.0": + version "0.1.0" + resolved "https://registry.yarnpkg.com/@validatem/allow-extra-properties/-/allow-extra-properties-0.1.0.tgz#e8c434818d6fd74b8cb237cfaa4d548295de13c1" + integrity sha512-9jihpYxw1vp4FdjnbN0bTVZMLYv//9OjFNTsVLG5OV4xHESwtgkgQEF5/N5rY1iBwoH/pcKuRl44MBZ8eMdrKw== + dependencies: + "@validatem/with-context" "^0.1.0" "@validatem/annotate-errors@^0.1.2": version "0.1.2" @@ -102,11 +124,52 @@ "@validatem/virtual-property" "^0.1.0" default-value "^1.0.0" +"@validatem/anything@^0.1.0": + version "0.1.0" + resolved "https://registry.yarnpkg.com/@validatem/anything/-/anything-0.1.0.tgz#09b57720476b9f7ab072c3e5d0a3d4234b721435" + integrity sha512-VJcygPpLw2fAhh29m2qL1AybHY7Ewl7xpvVgNIZpqUwMsSZXWSmzmbZhqE4Sr6Wy2n6FbZVzVoUFREO589SPcQ== + +"@validatem/array-of@^0.1.2": + version "0.1.2" + resolved "https://registry.yarnpkg.com/@validatem/array-of/-/array-of-0.1.2.tgz#59c09879fb41c583e45b210e7f7c78fd7f86ac33" + integrity sha512-3YjrZOxxlburFfRdJyPWbNoAA7a72E3/2nPCyVGTE8lekQy9NZSyrPjntMozwE14rsnGGLWFLCgNWKu73cyhxQ== + dependencies: + "@validatem/annotate-errors" "^0.1.2" + "@validatem/combinator" "^0.1.0" + "@validatem/is-array" "^0.1.0" + "@validatem/validation-result" "^0.1.1" + "@validatem/combinator@^0.1.0", "@validatem/combinator@^0.1.1": version "0.1.2" resolved "https://registry.yarnpkg.com/@validatem/combinator/-/combinator-0.1.2.tgz#eab893d55f1643b9c6857eaf6ff7ed2a728e89ff" integrity sha512-vE8t1tNXknmN62FlN6LxQmA2c6TwVKZ+fl/Wit3H2unFdOhu7SZj2kRPGjAXdK/ARh/3svYfUBeD75pea0j1Sw== +"@validatem/core@^0.3.10", "@validatem/core@^0.3.15": + version "0.3.15" + resolved "https://registry.yarnpkg.com/@validatem/core/-/core-0.3.15.tgz#645a0734dbc6efa3a5c39c62c5f2d8fa773f89f3" + integrity sha512-4nBLGzgpPrPsZ5DDXDXwL5p+GUEvpAFt6I3/YUHoah+ckYmKNh9qwmWKkFZHxJVdRrTewGFRj0FPw5fqje1yxA== + dependencies: + "@validatem/annotate-errors" "^0.1.2" + "@validatem/any-property" "^0.1.0" + "@validatem/error" "^1.0.0" + "@validatem/match-validation-error" "^0.1.0" + "@validatem/match-versioned-special" "^0.1.0" + "@validatem/match-virtual-property" "^0.1.0" + "@validatem/normalize-rules" "^0.1.0" + "@validatem/required" "^0.1.0" + "@validatem/validation-result" "^0.1.1" + "@validatem/virtual-property" "^0.1.0" + as-expression "^1.0.0" + assure-array "^1.0.0" + create-error "^0.3.1" + default-value "^1.0.0" + execall "^2.0.0" + flatten "^1.0.3" + indent-string "^4.0.0" + is-arguments "^1.0.4" + supports-color "^7.1.0" + syncpipe "^1.0.0" + "@validatem/core@^0.3.11", "@validatem/core@^0.3.12": version "0.3.12" resolved "https://registry.yarnpkg.com/@validatem/core/-/core-0.3.12.tgz#e4e8a566850571bf55412862e88a3b06e75c8072" @@ -140,6 +203,13 @@ dependencies: is-callable "^1.1.5" +"@validatem/dynamic@^0.1.2": + version "0.1.2" + resolved "https://registry.yarnpkg.com/@validatem/dynamic/-/dynamic-0.1.2.tgz#70e4b238631328874f03ffa1f062f41b71512230" + integrity sha512-TNZMUO9McL2kFYdLWTYSD+zxxZ9fbK9Si+3X5u/JngOWAq7PFxbU7o2oxREkwiSIZi5cjBCK/hvrZMWyl+FWEA== + dependencies: + "@validatem/combinator" "^0.1.1" + "@validatem/either@^0.1.9": version "0.1.9" resolved "https://registry.yarnpkg.com/@validatem/either/-/either-0.1.9.tgz#0d753ef8fe04486d2b7122de3dd3ac51b3acaacf" @@ -151,11 +221,18 @@ "@validatem/validation-result" "^0.1.2" flatten "^1.0.3" -"@validatem/error@^1.0.0": +"@validatem/error@^1.0.0", "@validatem/error@^1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@validatem/error/-/error-1.1.0.tgz#bef46e7066c39761b494ebe3eec2ecdc7348f4ed" integrity sha512-gZJEoZq1COi/8/5v0fVKQ9uX54x5lb5HbV7mzIOhY6dqjmLNfxdQmpECZPQrCAOpcRkRMJ7zaFhq4UTslpY9yA== +"@validatem/forbidden@^0.1.0": + version "0.1.0" + resolved "https://registry.yarnpkg.com/@validatem/forbidden/-/forbidden-0.1.0.tgz#f96a5ac38e322a411eb74c9be1458f80e30348a0" + integrity sha512-5GpgXt33z15oXZJwd+BKzEcX56YrU1Ysqe3NM20L9OzuSCJYbWU6xR6mMHkYVfF3TDLfkC8csOiKG2UnduCLhw== + dependencies: + "@validatem/error" "^1.0.0" + "@validatem/has-shape@^0.1.0": version "0.1.8" resolved "https://registry.yarnpkg.com/@validatem/has-shape/-/has-shape-0.1.8.tgz#dff0f0449c12b96d150091b7a980154d810ae63d" @@ -171,6 +248,21 @@ default-value "^1.0.0" flatten "^1.0.3" +"@validatem/is-array@^0.1.0": + version "0.1.1" + resolved "https://registry.yarnpkg.com/@validatem/is-array/-/is-array-0.1.1.tgz#fbe15ca8c97c30b622a5bbeb536d341e99cfc2c5" + integrity sha512-XD3C+Nqfpnbb4oO//Ufodzvui7SsCIW/stxZ39dP/fyRsBHrdERinkFATH5HepegtDlWMQswm5m1XFRbQiP2oQ== + dependencies: + "@validatem/error" "^1.0.0" + +"@validatem/is-boolean@^0.1.1": + version "0.1.1" + resolved "https://registry.yarnpkg.com/@validatem/is-boolean/-/is-boolean-0.1.1.tgz#b7fafd4143ab6d23bca597c86d8c4e0ba6f6cacf" + integrity sha512-eIFq+mCBEDgAp4ezaPn1mbVZd2H+IkQG3CcEFnLSlqfg1XKY5uv8AOI08+UqeWS+C7AIFk3rEqRg63+OuPCpsg== + dependencies: + "@validatem/error" "^1.0.0" + is-boolean-object "^1.0.1" + "@validatem/is-function@^0.1.0": version "0.1.0" resolved "https://registry.yarnpkg.com/@validatem/is-function/-/is-function-0.1.0.tgz#15a2e95259dc5e32256e8c21872455661437d069" @@ -187,6 +279,14 @@ "@validatem/error" "^1.0.0" is-plain-obj "^2.1.0" +"@validatem/is-string@^0.1.1": + version "0.1.1" + resolved "https://registry.yarnpkg.com/@validatem/is-string/-/is-string-0.1.1.tgz#0710d8cebedd4d6861b4a8c63d7803ed6d2f9d6c" + integrity sha512-iyRVYRPgRt2ZlWyc7pzN1WkO6apzE8at39XQa4WUr8qRPfJn12V4khS9MumWbZs8N2qqajrxMigB2LJUCKOCRg== + dependencies: + "@validatem/error" "^1.0.0" + is-string "^1.0.5" + "@validatem/match-special@^0.1.0": version "0.1.0" resolved "https://registry.yarnpkg.com/@validatem/match-special/-/match-special-0.1.0.tgz#4e0c28f1aee5bf53c1ef30bbf8c755d4946ae0ff" @@ -222,6 +322,18 @@ flatten "^1.0.3" is-plain-obj "^2.1.0" +"@validatem/one-of@^0.1.1": + version "0.1.1" + resolved "https://registry.yarnpkg.com/@validatem/one-of/-/one-of-0.1.1.tgz#df40f6d2780021b8557b640b99c7b217bda10b95" + integrity sha512-lIgxnkNRouPx5Ydddi8OaAxmzp1ox44OJnrJPRrJkU4ccz9Yb7GSJ+wQJNVkAZCar+DGTDMoXoy51NwDnsf4sw== + dependencies: + "@validatem/error" "^1.0.0" + +"@validatem/remove-nullish-items@^0.1.0": + version "0.1.0" + resolved "https://registry.yarnpkg.com/@validatem/remove-nullish-items/-/remove-nullish-items-0.1.0.tgz#fe1a8b64d11276b506fae2bd2c41da4985a5b5ff" + integrity sha512-cs4YSF47TA/gHnV5muSUUqGi5PwybP5ztu5SYnPKxQVTyubvcbrFat51nOvJ2PmUasyrIccoYMmATiviXkTi6g== + "@validatem/required@^0.1.0", "@validatem/required@^0.1.1": version "0.1.1" resolved "https://registry.yarnpkg.com/@validatem/required/-/required-0.1.1.tgz#64f4a87333fc5955511634036b7f8948ed269170" @@ -239,6 +351,39 @@ resolved "https://registry.yarnpkg.com/@validatem/virtual-property/-/virtual-property-0.1.0.tgz#880540dfd149f98ecf1095d93912e34443381fe4" integrity sha512-JUUvWtdqoSkOwlsl20oB3qFHYIL05a/TAfdY4AJcs55QeVTiX5iI1b8IoQW644sIWWooBuLv+XwoxjRsQFczlQ== +"@validatem/with-context@^0.1.0": + version "0.1.2" + resolved "https://registry.yarnpkg.com/@validatem/with-context/-/with-context-0.1.2.tgz#3645c04897664f70995104961277e07b61b4f615" + integrity sha512-noAWf4CsmU+BCz+KOg3GPq9+R9BQLWOQnOgWVfkYHFdLnnbLhl8w/ONdzvFzUYGHIZGKZwsWVCp+Kwz/tAfMnA== + dependencies: + "@validatem/combinator" "^0.1.1" + +"@validatem/wrap-error@^0.1.3": + version "0.1.3" + resolved "https://registry.yarnpkg.com/@validatem/wrap-error/-/wrap-error-0.1.3.tgz#2470d24c17325ad97d852a21be6c0227da908d3c" + integrity sha512-86ANJACPGbH8jD/C/tUTZNgQh9xCePUKq4wf5ZRcwOvtIDaZO98FI9cdoT2/zS1CzQCp3VWlwz16YT6FNjJJJA== + dependencies: + "@validatem/combinator" "^0.1.1" + "@validatem/error" "^1.0.0" + "@validatem/match-validation-error" "^0.1.0" + "@validatem/validation-result" "^0.1.2" + as-expression "^1.0.0" + default-value "^1.0.0" + split-filter-n "^1.1.2" + +"@validatem/wrap-error@^0.3.0": + version "0.3.0" + resolved "https://registry.yarnpkg.com/@validatem/wrap-error/-/wrap-error-0.3.0.tgz#f8d170e79b6fdd68321d82c60581ad345be7d6b9" + integrity sha512-km5v6F/Xm7j8W/tmCmht2BTzxMLSpBUJ5MdhJD7ABEut/fdO0tNca1u1imTnWCULCJcdDHbNtpSmDMvXFg3E7Q== + dependencies: + "@validatem/combinator" "^0.1.1" + "@validatem/error" "^1.0.0" + "@validatem/match-validation-error" "^0.1.0" + "@validatem/validation-result" "^0.1.2" + as-expression "^1.0.0" + default-value "^1.0.0" + split-filter-n "^1.1.2" + "@validatem/wrap-value-as-option@^0.1.0": version "0.1.0" resolved "https://registry.yarnpkg.com/@validatem/wrap-value-as-option/-/wrap-value-as-option-0.1.0.tgz#57fa8d535f6cdf40cf8c8846ad45f4dd68f44568" @@ -247,6 +392,13 @@ "@validatem/either" "^0.1.9" "@validatem/is-plain-object" "^0.1.1" +ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== + dependencies: + color-convert "^1.9.0" + array-union@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" @@ -267,6 +419,23 @@ bluebird@^3.5.4, bluebird@^3.7.2: resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== +call-bind@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" + integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== + dependencies: + function-bind "^1.1.1" + get-intrinsic "^1.0.2" + +chalk@^2.4.2: + version "2.4.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + clone-regexp@^2.1.0: version "2.2.0" resolved "https://registry.yarnpkg.com/clone-regexp/-/clone-regexp-2.2.0.tgz#7d65e00885cd8796405c35a737e7a86b7429e36f" @@ -274,6 +443,18 @@ clone-regexp@^2.1.0: dependencies: is-regexp "^2.0.0" +color-convert@^1.9.0: + version "1.9.3" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== + dependencies: + color-name "1.1.3" + +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= + create-error@^0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/create-error/-/create-error-0.3.1.tgz#69810245a629e654432bf04377360003a5351a23" @@ -286,11 +467,39 @@ default-value@^1.0.0: dependencies: es6-promise-try "0.0.1" +error-chain@^0.1.0: + version "0.1.3" + resolved "https://registry.yarnpkg.com/error-chain/-/error-chain-0.1.3.tgz#5575bdeca295224f6301123bb85b52a79547bdcd" + integrity sha512-Hx/Yd7w6ku+bTIGzPxdgKAoZSADCf4EnM9CEcIyr75vw/FH/wbZ23YnKKv7ZQB80F4s7ZSVJ/9UPXk03SQsACQ== + dependencies: + "@validatem/allow-extra-properties" "^0.1.0" + "@validatem/core" "^0.3.10" + "@validatem/default-to" "^0.1.0" + "@validatem/dynamic" "^0.1.2" + "@validatem/error" "^1.1.0" + "@validatem/forbidden" "^0.1.0" + "@validatem/is-boolean" "^0.1.1" + "@validatem/is-function" "^0.1.0" + "@validatem/is-plain-object" "^0.1.1" + "@validatem/is-string" "^0.1.1" + "@validatem/one-of" "^0.1.1" + "@validatem/required" "^0.1.1" + "@validatem/wrap-error" "^0.1.3" + chalk "^2.4.2" + fromentries "^1.2.0" + is.object "^1.0.0" + syncpipe "^1.0.0" + es6-promise-try@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/es6-promise-try/-/es6-promise-try-0.0.1.tgz#10f140dad27459cef949973e5d21a087f7274b20" integrity sha1-EPFA2tJ0Wc75SZc+XSGgh/cnSyA= +escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= + execall@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/execall/-/execall-2.0.0.tgz#16a06b5fe5099df7d00be5d9c06eecded1663b45" @@ -303,11 +512,47 @@ flatten@^1.0.3: resolved "https://registry.yarnpkg.com/flatten/-/flatten-1.0.3.tgz#c1283ac9f27b368abc1e36d1ff7b04501a30356b" integrity sha512-dVsPA/UwQ8+2uoFe5GHtiBMu48dWLTdsuEd7CKGlZlD78r1TTWBvDuFaFGKCo/ZfEr95Uk56vZoX86OsHkUeIg== +fromentries@^1.2.0: + version "1.3.2" + resolved "https://registry.yarnpkg.com/fromentries/-/fromentries-1.3.2.tgz#e4bca6808816bf8f93b52750f1127f5a6fd86e3a" + integrity sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg== + +function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + +get-intrinsic@^1.0.2: + version "1.1.1" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6" + integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q== + dependencies: + function-bind "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.1" + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= + has-flag@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== +has-symbols@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.2.tgz#165d3070c00309752a1236a479331e3ac56f1423" + integrity sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw== + +has@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + dependencies: + function-bind "^1.1.1" + indent-string@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" @@ -318,6 +563,13 @@ is-arguments@^1.0.4: resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.0.4.tgz#3faf966c7cba0ff437fb31f6250082fcf0448cf3" integrity sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA== +is-boolean-object@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.0.tgz#e2aaad3a3a8fca34c28f6eee135b156ed2587ff0" + integrity sha512-a7Uprx8UtD+HWdyYwnD1+ExtTgqQtD2k/1yJgtXP6wnMm8byhkoTZRl+95LLThpzNZJ5aEvi46cdH+ayMFRwmA== + dependencies: + call-bind "^1.0.0" + is-callable@^1.1.5: version "1.2.0" resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.0.tgz#83336560b54a38e35e3a2df7afd0454d691468bb" @@ -333,11 +585,33 @@ is-regexp@^2.0.0: resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-2.1.0.tgz#cd734a56864e23b956bf4e7c66c396a4c0b22c2d" integrity sha512-OZ4IlER3zmRIoB9AqNhEggVxqIH4ofDns5nRrPS6yQxXE1TPCUpFznBfRQmQa8uC+pXqjMnukiJBxCisIxiLGA== +is-string@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.5.tgz#40493ed198ef3ff477b8c7f92f644ec82a5cd3a6" + integrity sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ== + +is.object@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is.object/-/is.object-1.0.0.tgz#e4f4117e9f083b35c8df5cf817ea3efb0452fdfa" + integrity sha1-5PQRfp8IOzXI31z4F+o++wRS/fo= + +split-filter-n@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/split-filter-n/-/split-filter-n-1.1.2.tgz#268be1ec9c4d93dfb27b030c06165ac1b6f70f66" + integrity sha512-+hXSQYpKe1uyXPXI4zQtAJAlaF2EzEc+BaF2goMeNL5oUD5YLqrVcpjxELJxpomXfwMCUaYLAszEbdY9gKVdHQ== + split-filter@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/split-filter/-/split-filter-1.1.3.tgz#c68cc598783d88f60d16e7b452dacfe95ba60539" integrity sha512-2xXwhWeJUFrYE8CL+qoy9mCohu5/E+uglvpqL1FVXz1XbvTwivafVC6oTDeg/9ksOAxg6DvyCF44Dvf5crFU0w== +supports-color@^5.3.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + dependencies: + has-flag "^3.0.0" + supports-color@^7.1.0: version "7.1.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.1.0.tgz#68e32591df73e25ad1c4b49108a2ec507962bfd1"