added resolvers

This commit is contained in:
srgooglo 2021-06-04 16:46:27 +02:00
parent cd3389d831
commit 7251f6f037
11 changed files with 169 additions and 49 deletions

View File

@ -8,7 +8,7 @@
"packages/*" "packages/*"
], ],
"dependencies": { "dependencies": {
"corenode": "^0.24.7", "corenode": "^0.24.8",
"@babel/runtime": "^7.14.0" "@babel/runtime": "^7.14.0"
} }
} }

View File

@ -0,0 +1,5 @@
{
"modulesAliases": {
"@@classes": "./dist/classes"
}
}

View File

@ -0,0 +1,10 @@
module.exports = {
default: (req, res, next) => {
const { files } = req
if (typeof files.file !== "undefined") {
const { data, name, size, mimetype, md5 } = files.file
}
}
}

View File

@ -0,0 +1,7 @@
[
{
"method": "PUT",
"route": "/upload",
"controller": "upload"
}
]

View File

@ -17,8 +17,11 @@
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"axios": "^0.21.1", "axios": "^0.21.1",
"corenode": "^0.24.7", "corenode": "^0.24.8",
"cors": "^2.8.5",
"express": "^4.17.1", "express": "^4.17.1",
"express-fileupload": "^1.2.1",
"morgan": "^1.10.0",
"uuid": "^8.3.2", "uuid": "^8.3.2",
"websocket": "^1.0.34" "websocket": "^1.0.34"
}, },

View File

@ -8,7 +8,7 @@ class FilesystemDriver {
this.root = this.params.root ?? path.resolve(process.cwd(), 'storage') this.root = this.params.root ?? path.resolve(process.cwd(), 'storage')
} }
set = () => { set = (key, value, options) => {
} }

View File

@ -1,16 +1,30 @@
const drivers = {
"fs": require("./drivers/filesystem"),
"memfs": require("./drivers/onMemory")
}
class Storage { class Storage {
constructor(params) { constructor(params) {
this.params = {...params} this.params = { ...params }
this.type = this.params.type this.type = this.params.type
this.driver = null
if (typeof drivers[this.params.driver] !== "undefined") {
this.driver = drivers[this.params.driver]
}
if (typeof this.driver !== "undefined") {
throw new Error(`Invalid storage driver!`)
}
} }
set = (key, value, options) => { set = (key, value, options) => {
this.driver.set(key, value, options)
} }
get = (key) => { get = (key) => {
this.driver.get(key, value, options)
} }
del = (key) => { del = (key) => {

View File

@ -3,4 +3,4 @@ export { Controller } from './Controller'
export { Database } from './Database' export { Database } from './Database'
export { Storage } from './Storage' export { Storage } from './Storage'
export { Tokenizer } from './Tokenizer' export { Tokenizer } from './Tokenization'

View File

@ -1,40 +1,52 @@
const axios = require("axios")
const express = require("express") const express = require("express")
const { objectToArrayMap } = require("@corenode/utils") const { objectToArrayMap } = require("@corenode/utils")
const uuid = require("uuid") const uuid = require("uuid")
const fs = require("fs")
const path = require("path")
const http = require("http")
const wsServer = require('websocket').server
const wsFrame = require('websocket').frame
const { Controller } = require("./classes/Controller") const { Controller } = require("./classes/Controller")
const { getLocalEndpoints, fetchController } = require("./lib/helpers") const { getLocalEndpoints, fetchController } = require("./lib/helpers")
const SERVER_VERSION = global.SERVER_VERSION = runtime.helpers.getVersion() const SERVER_VERSION = global.SERVER_VERSION = runtime.helpers.getVersion()
const defaultMiddlewares = [
require('cors')(),
require('morgan')("dev"),
require('express-fileupload')({
createParentPath: true
})
]
const defaultHeaders = {
"Access-Control-Allow-Headers": "Origin, X-Requested-With, Content-Type, Accept, Authorization",
"Access-Control-Allow-Origin": "*",
"Access-Control-Allow-Methods": "GET, POST, OPTIONS, PUT, PATCH, DELETE",
"Access-Control-Allow-Credentials": "true",
}
class RequestServer { class RequestServer {
constructor(params, endpoints) { constructor(params, endpoints, middlewares) {
this.usid = uuid.v4() // unique session identifier
this.params = params ?? {} this.params = params ?? {}
this.endpoints = { ...endpoints } // set params jails
this.routes = [] this.routes = []
this.endpoints = { ...endpoints }
this.middlewares = [...defaultMiddlewares]
this.headers = { this.headers = {
"Access-Control-Allow-Headers": "Origin, X-Requested-With, Content-Type, Accept, Authorization", ...defaultHeaders,
"Access-Control-Allow-Origin": "*",
"Access-Control-Allow-Methods": "GET, POST, OPTIONS, PUT, PATCH, DELETE",
"Access-Control-Allow-Credentials": "true",
...this.params.headers ...this.params.headers
} }
// process params
if (typeof middlewares !== "undefined" && Array.isArray(middlewares)) {
middlewares.forEach((middleware) => {
this.middlewares.push(middleware)
})
}
// set server basics
this.httpServer = require("express")()
this.usid = uuid.v4() // unique session identifier
this._everyRequest = null this._everyRequest = null
this._onRequest = {} this._onRequest = {}
this.httpServer = require("express")()
if (typeof this.params.port === "undefined") { if (typeof this.params.port === "undefined") {
this.params.port = 3010 this.params.port = 3010
} }
@ -69,7 +81,7 @@ class RequestServer {
this.routes.push(route) this.routes.push(route)
this.endpoints[route] = endpoint this.endpoints[route] = endpoint
this.httpServer[method](route, (req, res, next) => this.httpRequest(req, res, next, endpoint)) this.httpServer[method.toLowerCase()](route, (req, res, next) => this.httpRequest(req, res, next, endpoint))
} }
httpRequest = (req, res, next, endpoint) => { httpRequest = (req, res, next, endpoint) => {
@ -103,6 +115,12 @@ class RequestServer {
next() next()
}) })
if (Array.isArray(this.middlewares)) {
this.middlewares.forEach((middleware) => {
this.httpServer.use(middleware)
})
}
if (localEndpoints && Array.isArray(localEndpoints)) { if (localEndpoints && Array.isArray(localEndpoints)) {
localEndpoints.forEach((endpoint) => { localEndpoints.forEach((endpoint) => {
if (!endpoint || !endpoint.route || !endpoint.controller) { if (!endpoint || !endpoint.route || !endpoint.controller) {
@ -123,6 +141,7 @@ class RequestServer {
this.registerEndpoint(method, route, new Controller(route, controller[fn])) this.registerEndpoint(method, route, new Controller(route, controller[fn]))
} catch (error) { } catch (error) {
runtime.logger.dump(error) runtime.logger.dump(error)
console.error(error)
console.error(`🆘 Failed to load endpoint > ${error.message}`) console.error(`🆘 Failed to load endpoint > ${error.message}`)
} }
}) })

106
yarn.lock
View File

@ -905,10 +905,10 @@
"@babel/helper-validator-identifier" "^7.14.0" "@babel/helper-validator-identifier" "^7.14.0"
to-fast-properties "^2.0.0" to-fast-properties "^2.0.0"
"@corenode/builder@0.24.7": "@corenode/builder@0.24.8":
version "0.24.7" version "0.24.8"
resolved "https://registry.yarnpkg.com/@corenode/builder/-/builder-0.24.7.tgz#989312b0058f359b0ee44c5879f49aa1b8ae1a87" resolved "https://registry.yarnpkg.com/@corenode/builder/-/builder-0.24.8.tgz#ac8239f8425c15cd74d7cdca18792f4a007c6b40"
integrity sha512-jdQlfE2/0YkncFaTsMcdP+YAnLwRX6lJdCeOPZTuqBQdIgIWOUCuOfomAKt2tNUViJH5qq6oU8OzjyjWWvDtxw== integrity sha512-i6ZMQ0mMAut7FdgkXQwl5ZIbrUnJP8SHwDJCbV6oN2T6+UPQPa36+toTSgLpjMMn0miJeHoveAA0wCI81p7szg==
dependencies: dependencies:
"@babel/core" "^7.13.14" "@babel/core" "^7.13.14"
"@babel/plugin-proposal-class-properties" "7.13.0" "@babel/plugin-proposal-class-properties" "7.13.0"
@ -918,7 +918,7 @@
"@babel/preset-env" "7.13.12" "@babel/preset-env" "7.13.12"
"@babel/preset-typescript" "7.13.0" "@babel/preset-typescript" "7.13.0"
"@babel/runtime" "7.13.10" "@babel/runtime" "7.13.10"
"@corenode/utils" "0.24.7" "@corenode/utils" "0.24.8"
cli-progress "^3.9.0" cli-progress "^3.9.0"
map-stream "^0.0.7" map-stream "^0.0.7"
rimraf "^3.0.2" rimraf "^3.0.2"
@ -927,17 +927,17 @@
through2 "^4.0.2" through2 "^4.0.2"
vinyl-fs "^3.0.3" vinyl-fs "^3.0.3"
"@corenode/git-lib@0.24.7": "@corenode/git-lib@0.24.8":
version "0.24.7" version "0.24.8"
resolved "https://registry.yarnpkg.com/@corenode/git-lib/-/git-lib-0.24.7.tgz#7398d9f8fb83c266c53403f8af9d86d01ccaaa51" resolved "https://registry.yarnpkg.com/@corenode/git-lib/-/git-lib-0.24.8.tgz#7a4918eb5d9da59f0c793c29ed2e2ae63b346b3d"
integrity sha512-/csAurHHvoJ0TBy66jsYbSan2Ba9OH0y6Db0WkD4cN6vajxLTpg4ikTn5DWaUZM9JtBZb7ziUHx+9vkWgCEEEA== integrity sha512-6zQtfthjBD9n72Tl20cMMerGZF7rI+102L6GC81Mzey2/gzg7dRBnnUSnkjpXTnGrfjxahmAIdkSPVWyUJ+xmQ==
dependencies: dependencies:
execa "^5.0.0" execa "^5.0.0"
"@corenode/utils@0.24.7": "@corenode/utils@0.24.8":
version "0.24.7" version "0.24.8"
resolved "https://registry.yarnpkg.com/@corenode/utils/-/utils-0.24.7.tgz#83ff3aae54639eb14f89bc9ccbe831dabb1b09eb" resolved "https://registry.yarnpkg.com/@corenode/utils/-/utils-0.24.8.tgz#bb31e84e82ff1e1b9065e20643ad9a82f75df82c"
integrity sha512-VXnQeUaA+CEGpWGV3L167dq6bn1wntqrWPSI6HPw2RicuWoWGMj2SQj+GmqK+x7hw+LA6/2XXga9FDbBBdSZqw== integrity sha512-DqmOKUAVk/mf17X3Eaf7CK3UBl+5WMOFxQ1AFk2ahO4FKgU27d1WLb5jzFCUsxX74UQK8aAFG8AszPCg2LshjA==
dependencies: dependencies:
axios "^0.21.1" axios "^0.21.1"
chalk "^4.1.0" chalk "^4.1.0"
@ -1111,6 +1111,13 @@ balanced-match@^1.0.0:
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee"
integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
basic-auth@~2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/basic-auth/-/basic-auth-2.0.1.tgz#b998279bf47ce38344b4f3cf916d4679bbf51e3a"
integrity sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==
dependencies:
safe-buffer "5.1.2"
binary-extensions@^2.0.0: binary-extensions@^2.0.0:
version "2.2.0" version "2.2.0"
resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d"
@ -1184,6 +1191,13 @@ bufferutil@^4.0.1:
dependencies: dependencies:
node-gyp-build "^4.2.0" node-gyp-build "^4.2.0"
busboy@^0.3.1:
version "0.3.1"
resolved "https://registry.yarnpkg.com/busboy/-/busboy-0.3.1.tgz#170899274c5bf38aae27d5c62b71268cd585fd1b"
integrity sha512-y7tTxhGKXcyBxRKAni+awqx8uqaJKrSFSNFSeRG5CsWNdmy2BIK+6VGWEW7TZnIO/533mtMEA4rOevQV815YJw==
dependencies:
dicer "0.3.0"
bytes@3.1.0: bytes@3.1.0:
version "3.1.0" version "3.1.0"
resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6" resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6"
@ -1479,15 +1493,15 @@ core-util-is@~1.0.0:
resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=
corenode@^0.24.7: corenode@^0.24.8:
version "0.24.7" version "0.24.8"
resolved "https://registry.yarnpkg.com/corenode/-/corenode-0.24.7.tgz#a6889246128d350a08257ccdf6cbac5112fa4c64" resolved "https://registry.yarnpkg.com/corenode/-/corenode-0.24.8.tgz#7cd300d159273874a242c753eeda450ed646f9d7"
integrity sha512-pQmhyIjLi7mUVfVHhTIXPCqeo0zxNSJo0zJzxp52xYbKT8R9YXk8YzqI8I44FFXeQLFfW7B2/YWAzLMNX70q8Q== integrity sha512-UNRaH870pDhWh3Pp1NfMa1znaYT9lBxRHhjgpZZy7071gj/pGQ9yZbdvGSS8cpvQoDa6dk0VdIdKqSw95idoVg==
dependencies: dependencies:
"@babel/runtime" "^7.13.10" "@babel/runtime" "^7.13.10"
"@corenode/builder" "0.24.7" "@corenode/builder" "0.24.8"
"@corenode/git-lib" "0.24.7" "@corenode/git-lib" "0.24.8"
"@corenode/utils" "0.24.7" "@corenode/utils" "0.24.8"
escape-goat "^3.0.0" escape-goat "^3.0.0"
execa "5.0.0" execa "5.0.0"
filesize "^6.3.0" filesize "^6.3.0"
@ -1500,6 +1514,14 @@ corenode@^0.24.7:
yargs "^17.0.1" yargs "^17.0.1"
yargs-parser "^20.2.7" yargs-parser "^20.2.7"
cors@^2.8.5:
version "2.8.5"
resolved "https://registry.yarnpkg.com/cors/-/cors-2.8.5.tgz#eac11da51592dd86b9f06f6e7ac293b3df875d29"
integrity sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==
dependencies:
object-assign "^4"
vary "^1"
cross-spawn@^7.0.3: cross-spawn@^7.0.3:
version "7.0.3" version "7.0.3"
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6"
@ -1587,11 +1609,23 @@ depd@~1.1.2:
resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9"
integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=
depd@~2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df"
integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==
destroy@~1.0.4: destroy@~1.0.4:
version "1.0.4" version "1.0.4"
resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80"
integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=
dicer@0.3.0:
version "0.3.0"
resolved "https://registry.yarnpkg.com/dicer/-/dicer-0.3.0.tgz#eacd98b3bfbf92e8ab5c2fdb71aaac44bb06b872"
integrity sha512-MdceRRWqltEG2dZqO769g27N/3PXfcKl04VhYnBlo2YhH7zPi88VebsjTKclaOyiuMaGU72hTfw3VkUitGcVCA==
dependencies:
streamsearch "0.1.2"
dot-prop@^5.2.0: dot-prop@^5.2.0:
version "5.3.0" version "5.3.0"
resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88" resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88"
@ -1744,6 +1778,13 @@ execa@5.0.0, execa@^5.0.0:
signal-exit "^3.0.3" signal-exit "^3.0.3"
strip-final-newline "^2.0.0" strip-final-newline "^2.0.0"
express-fileupload@^1.2.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/express-fileupload/-/express-fileupload-1.2.1.tgz#73ac798bd14247d510adb1e439af2420c8367ded"
integrity sha512-fWPNAkBj+Azt9Itmcz/Reqdg3LeBfaXptDEev2JM8bCC0yDptglCnlizhf0YZauyU5X/g6v7v4Xxqhg8tmEfEA==
dependencies:
busboy "^0.3.1"
express@^4.17.1: express@^4.17.1:
version "4.17.1" version "4.17.1"
resolved "https://registry.yarnpkg.com/express/-/express-4.17.1.tgz#4491fc38605cf51f8629d39c2b5d026f98a4c134" resolved "https://registry.yarnpkg.com/express/-/express-4.17.1.tgz#4491fc38605cf51f8629d39c2b5d026f98a4c134"
@ -2562,6 +2603,17 @@ minimist@^1.2.0, minimist@^1.2.5:
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602"
integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==
morgan@^1.10.0:
version "1.10.0"
resolved "https://registry.yarnpkg.com/morgan/-/morgan-1.10.0.tgz#091778abc1fc47cd3509824653dae1faab6b17d7"
integrity sha512-AbegBVI4sh6El+1gNwvD5YIck7nSA36weD7xvIxG4in80j/UoK8AEGaWnnz8v1GxonMCltmlNs5ZKbGvl9b1XQ==
dependencies:
basic-auth "~2.0.1"
debug "2.6.9"
depd "~2.0.0"
on-finished "~2.3.0"
on-headers "~1.0.2"
ms@2.0.0: ms@2.0.0:
version "2.0.0" version "2.0.0"
resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
@ -2661,7 +2713,7 @@ number-is-nan@^1.0.0:
resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d"
integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=
object-assign@^4.1.0: object-assign@^4, object-assign@^4.1.0:
version "4.1.1" version "4.1.1"
resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=
@ -2693,6 +2745,11 @@ on-finished@~2.3.0:
dependencies: dependencies:
ee-first "1.1.1" ee-first "1.1.1"
on-headers@~1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f"
integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==
once@^1.3.0, once@^1.3.1, once@^1.3.2, once@^1.4.0: once@^1.3.0, once@^1.3.1, once@^1.3.2, once@^1.4.0:
version "1.4.0" version "1.4.0"
resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
@ -3203,6 +3260,11 @@ stream-shift@^1.0.0:
resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.1.tgz#d7088281559ab2778424279b0877da3c392d5a3d" resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.1.tgz#d7088281559ab2778424279b0877da3c392d5a3d"
integrity sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ== integrity sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==
streamsearch@0.1.2:
version "0.1.2"
resolved "https://registry.yarnpkg.com/streamsearch/-/streamsearch-0.1.2.tgz#808b9d0e56fc273d809ba57338e929919a1a9f1a"
integrity sha1-gIudDlb8Jz2Am6VzOOkpkZoanxo=
string-width@^1.0.1: string-width@^1.0.1:
version "1.0.2" version "1.0.2"
resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3"
@ -3558,7 +3620,7 @@ value-or-function@^3.0.0:
resolved "https://registry.yarnpkg.com/value-or-function/-/value-or-function-3.0.0.tgz#1c243a50b595c1be54a754bfece8563b9ff8d813" resolved "https://registry.yarnpkg.com/value-or-function/-/value-or-function-3.0.0.tgz#1c243a50b595c1be54a754bfece8563b9ff8d813"
integrity sha1-HCQ6ULWVwb5Up1S/7OhWO5/42BM= integrity sha1-HCQ6ULWVwb5Up1S/7OhWO5/42BM=
vary@~1.1.2: vary@^1, vary@~1.1.2:
version "1.1.2" version "1.1.2"
resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc"
integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=