aboutsummaryrefslogtreecommitdiff
path: root/sandbox/testAppNevena/Front/node_modules/minipass-sized/index.js
diff options
context:
space:
mode:
authorDanijel Andjelkovic <adanijel99@gmail.com>2022-03-01 21:54:41 +0100
committerDanijel Andjelkovic <adanijel99@gmail.com>2022-03-01 21:54:41 +0100
commit6c8128f9fd5a5d0be115806c35a21b3d683df8d6 (patch)
treef46c2f6b3b9b294ff32bd75c08ccdc9e7a8cc4ef /sandbox/testAppNevena/Front/node_modules/minipass-sized/index.js
parent2400b84e95913665da6279114168148444b8f9ab (diff)
parent7d3640f824f46490b47bd95f1c5a16644f712068 (diff)
Merge branch 'dev' of http://gitlab.pmf.kg.ac.rs/igrannonica/neuronstellar into logo
Diffstat (limited to 'sandbox/testAppNevena/Front/node_modules/minipass-sized/index.js')
-rw-r--r--sandbox/testAppNevena/Front/node_modules/minipass-sized/index.js67
1 files changed, 67 insertions, 0 deletions
diff --git a/sandbox/testAppNevena/Front/node_modules/minipass-sized/index.js b/sandbox/testAppNevena/Front/node_modules/minipass-sized/index.js
new file mode 100644
index 00000000..a0c8acde
--- /dev/null
+++ b/sandbox/testAppNevena/Front/node_modules/minipass-sized/index.js
@@ -0,0 +1,67 @@
+const Minipass = require('minipass')
+
+class SizeError extends Error {
+ constructor (found, expect) {
+ super(`Bad data size: expected ${expect} bytes, but got ${found}`)
+ this.expect = expect
+ this.found = found
+ this.code = 'EBADSIZE'
+ Error.captureStackTrace(this, this.constructor)
+ }
+ get name () {
+ return 'SizeError'
+ }
+}
+
+class MinipassSized extends Minipass {
+ constructor (options = {}) {
+ super(options)
+
+ if (options.objectMode)
+ throw new TypeError(`${
+ this.constructor.name
+ } streams only work with string and buffer data`)
+
+ this.found = 0
+ this.expect = options.size
+ if (typeof this.expect !== 'number' ||
+ this.expect > Number.MAX_SAFE_INTEGER ||
+ isNaN(this.expect) ||
+ this.expect < 0 ||
+ !isFinite(this.expect) ||
+ this.expect !== Math.floor(this.expect))
+ throw new Error('invalid expected size: ' + this.expect)
+ }
+
+ write (chunk, encoding, cb) {
+ const buffer = Buffer.isBuffer(chunk) ? chunk
+ : typeof chunk === 'string' ?
+ Buffer.from(chunk, typeof encoding === 'string' ? encoding : 'utf8')
+ : chunk
+
+ if (!Buffer.isBuffer(buffer)) {
+ this.emit('error', new TypeError(`${
+ this.constructor.name
+ } streams only work with string and buffer data`))
+ return false
+ }
+
+ this.found += buffer.length
+ if (this.found > this.expect)
+ this.emit('error', new SizeError(this.found, this.expect))
+
+ return super.write(chunk, encoding, cb)
+ }
+
+ emit (ev, ...data) {
+ if (ev === 'end') {
+ if (this.found !== this.expect)
+ this.emit('error', new SizeError(this.found, this.expect))
+ }
+ return super.emit(ev, ...data)
+ }
+}
+
+MinipassSized.SizeError = SizeError
+
+module.exports = MinipassSized