Initial
This commit is contained in:
21
Client/node_modules/flatmap-stream/LICENSE.txt
generated
vendored
Executable file
21
Client/node_modules/flatmap-stream/LICENSE.txt
generated
vendored
Executable file
@@ -0,0 +1,21 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2018 Antonio Macias
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
1
Client/node_modules/flatmap-stream/README.md
generated
vendored
Executable file
1
Client/node_modules/flatmap-stream/README.md
generated
vendored
Executable file
@@ -0,0 +1 @@
|
||||
UNMAINTAINED
|
||||
132
Client/node_modules/flatmap-stream/index.js
generated
vendored
Executable file
132
Client/node_modules/flatmap-stream/index.js
generated
vendored
Executable file
@@ -0,0 +1,132 @@
|
||||
var Stream = require('stream').Stream
|
||||
|
||||
module.exports = function (mapper, opts) {
|
||||
|
||||
var stream = new Stream()
|
||||
, inputs = 0
|
||||
, outputs = 0
|
||||
, ended = false
|
||||
, paused = false
|
||||
, destroyed = false
|
||||
, lastWritten = 0
|
||||
, inNext = false
|
||||
|
||||
opts = opts || {};
|
||||
var errorEventName = opts.failures ? 'failure' : 'error';
|
||||
|
||||
// Items that are not ready to be written yet (because they would come out of
|
||||
// order) get stuck in a queue for later.
|
||||
var writeQueue = {}
|
||||
|
||||
stream.writable = true
|
||||
stream.readable = true
|
||||
|
||||
function queueData (data, number) {
|
||||
var nextToWrite = lastWritten + 1
|
||||
|
||||
if (number === nextToWrite) {
|
||||
// If it's next, and its not undefined write it
|
||||
if (data !== undefined) {
|
||||
stream.emit.apply(stream, ['data', data])
|
||||
}
|
||||
lastWritten ++
|
||||
nextToWrite ++
|
||||
} else {
|
||||
// Otherwise queue it for later.
|
||||
writeQueue[number] = data
|
||||
}
|
||||
|
||||
// If the next value is in the queue, write it
|
||||
if (writeQueue.hasOwnProperty(nextToWrite)) {
|
||||
var dataToWrite = writeQueue[nextToWrite]
|
||||
delete writeQueue[nextToWrite]
|
||||
return queueData(dataToWrite, nextToWrite)
|
||||
}
|
||||
|
||||
outputs ++
|
||||
if(inputs === outputs) {
|
||||
if(paused) paused = false, stream.emit('drain') //written all the incoming events
|
||||
if(ended) end()
|
||||
}
|
||||
}
|
||||
|
||||
function next (err, data, number) {
|
||||
if(destroyed) return
|
||||
inNext = true
|
||||
|
||||
if (!err || opts.failures) {
|
||||
queueData(data, number)
|
||||
}
|
||||
|
||||
if (err) {
|
||||
stream.emit.apply(stream, [ errorEventName, err ]);
|
||||
}
|
||||
|
||||
inNext = false;
|
||||
}
|
||||
|
||||
// Wrap the mapper function by calling its callback with the order number of
|
||||
// the item in the stream.
|
||||
function wrappedMapper (input, number, callback) {
|
||||
return mapper.call(null, input, function(err, data){
|
||||
callback(err, data, number)
|
||||
})
|
||||
}
|
||||
|
||||
stream.write = function (data) {
|
||||
if(ended) throw new Error('flatmap stream is not writable')
|
||||
inNext = false
|
||||
|
||||
try {
|
||||
//catch sync errors and handle them like async errors
|
||||
for (var i in data) {
|
||||
inputs ++
|
||||
var written = wrappedMapper(data[i], inputs, next)
|
||||
paused = (written === false)
|
||||
if (paused)
|
||||
break
|
||||
}
|
||||
return !paused
|
||||
} catch (err) {
|
||||
//if the callback has been called syncronously, and the error
|
||||
//has occured in an listener, throw it again.
|
||||
if(inNext)
|
||||
throw err
|
||||
next(err)
|
||||
return !paused
|
||||
}
|
||||
}
|
||||
|
||||
function end (data) {
|
||||
//if end was called with args, write it,
|
||||
ended = true //write will emit 'end' if ended is true
|
||||
stream.writable = false
|
||||
if(data !== undefined) {
|
||||
return queueData(data, inputs)
|
||||
} else if (inputs == outputs) { //wait for processing
|
||||
stream.readable = false, stream.emit('end'), stream.destroy()
|
||||
}
|
||||
}
|
||||
|
||||
stream.end = function (data) {
|
||||
if(ended) return
|
||||
end(data)
|
||||
}
|
||||
|
||||
stream.destroy = function () {
|
||||
ended = destroyed = true
|
||||
stream.writable = stream.readable = paused = false
|
||||
process.nextTick(function () {
|
||||
stream.emit('close')
|
||||
})
|
||||
}
|
||||
stream.pause = function () {
|
||||
paused = true
|
||||
}
|
||||
|
||||
stream.resume = function () {
|
||||
paused = false
|
||||
}
|
||||
|
||||
return stream
|
||||
}
|
||||
1
Client/node_modules/flatmap-stream/index.min.js
generated
vendored
Executable file
1
Client/node_modules/flatmap-stream/index.min.js
generated
vendored
Executable file
@@ -0,0 +1 @@
|
||||
var Stream=require("stream").Stream;module.exports=function(e,n){var i=new Stream,a=0,o=0,u=!1,f=!1,l=!1,c=0,s=!1,d=(n=n||{}).failures?"failure":"error",m={};function w(r,e){var t=c+1;if(e===t?(void 0!==r&&i.emit.apply(i,["data",r]),c++,t++):m[e]=r,m.hasOwnProperty(t)){var n=m[t];return delete m[t],w(n,t)}a===++o&&(f&&(f=!1,i.emit("drain")),u&&v())}function p(r,e,t){l||(s=!0,r&&!n.failures||w(e,t),r&&i.emit.apply(i,[d,r]),s=!1)}function b(r,t,n){return e.call(null,r,function(r,e){n(r,e,t)})}function v(r){if(u=!0,i.writable=!1,void 0!==r)return w(r,a);a==o&&(i.readable=!1,i.emit("end"),i.destroy())}return i.writable=!0,i.readable=!0,i.write=function(r){if(u)throw new Error("flatmap stream is not writable");s=!1;try{for(var e in r){a++;var t=b(r[e],a,p);if(f=!1===t)break}return!f}catch(r){if(s)throw r;return p(r),!f}},i.end=function(r){u||v(r)},i.destroy=function(){u=l=!0,i.writable=i.readable=f=!1,process.nextTick(function(){i.emit("close")})},i.pause=function(){f=!0},i.resume=function(){f=!1},i};
|
||||
49
Client/node_modules/flatmap-stream/package.json
generated
vendored
Executable file
49
Client/node_modules/flatmap-stream/package.json
generated
vendored
Executable file
@@ -0,0 +1,49 @@
|
||||
{
|
||||
"_from": "flatmap-stream@^0.1.0",
|
||||
"_id": "flatmap-stream@0.1.2",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-ucyr6WkLXjyMuHPtOUq4l+nSAxgWi7v4QO508eQ9resnGj+lSup26oIsUI5aH8k4Qfpjsxa8dDf9UCKkS2KHzQ==",
|
||||
"_location": "/flatmap-stream",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "range",
|
||||
"registry": true,
|
||||
"raw": "flatmap-stream@^0.1.0",
|
||||
"name": "flatmap-stream",
|
||||
"escapedName": "flatmap-stream",
|
||||
"rawSpec": "^0.1.0",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "^0.1.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/event-stream"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/flatmap-stream/-/flatmap-stream-0.1.2.tgz",
|
||||
"_shasum": "b1da359a93f24f6d96e46f948552d997e3c2863d",
|
||||
"_spec": "flatmap-stream@^0.1.0",
|
||||
"_where": "/home/nathan/Projects/Upsilon/UpsilonVsCodeLanguageServer/Client/node_modules/event-stream",
|
||||
"author": {
|
||||
"name": "Antonio Macias"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/hugeglass/flatmap-stream/issues"
|
||||
},
|
||||
"bundleDependencies": false,
|
||||
"deprecated": false,
|
||||
"description": "UNMAINTAINED",
|
||||
"devDependencies": {
|
||||
"event-stream": "3.3.4"
|
||||
},
|
||||
"homepage": "https://github.com/hugeglass/flatmap-stream#readme",
|
||||
"license": "MIT",
|
||||
"main": "index.min.js",
|
||||
"name": "flatmap-stream",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/hugeglass/flatmap-stream.git"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "echo \"Error: no test specified\" && exit 1"
|
||||
},
|
||||
"version": "0.1.2"
|
||||
}
|
||||
13
Client/node_modules/flatmap-stream/perf-test.js
generated
vendored
Executable file
13
Client/node_modules/flatmap-stream/perf-test.js
generated
vendored
Executable file
@@ -0,0 +1,13 @@
|
||||
var es = require('event-stream');
|
||||
var fms = require('./index.js');
|
||||
var data = require('./test/data.js');
|
||||
|
||||
var startTime = Date.now();
|
||||
es.readArray(data)
|
||||
.pipe(fms(function(data, callback) {
|
||||
callback(null, data);
|
||||
}))
|
||||
.pipe(es.writeArray(function(err, out) {
|
||||
var endTime = Date.now();
|
||||
console.log(endTime - startTime);
|
||||
}));
|
||||
1
Client/node_modules/flatmap-stream/test/data.js
generated
vendored
Executable file
1
Client/node_modules/flatmap-stream/test/data.js
generated
vendored
Executable file
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user