Socket
Socket
Sign inDemoInstall

formdata-node

Package Overview
Dependencies
Maintainers
1
Versions
76
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

formdata-node - npm Package Compare versions

Comparing version 0.3.1 to 0.3.2

465

lib/FormData.js
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _asyncGenerator2 = require("babel-runtime/helpers/asyncGenerator");
var _wrapAsyncGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/wrapAsyncGenerator"));
var _asyncGenerator3 = _interopRequireDefault(_asyncGenerator2);
var _awaitAsyncGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/awaitAsyncGenerator"));
var _asyncIterator2 = require("babel-runtime/helpers/asyncIterator");
var _asyncIterator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncIterator"));
var _asyncIterator3 = _interopRequireDefault(_asyncIterator2);
var _asyncGeneratorDelegate2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncGeneratorDelegate"));
var _asyncGeneratorDelegate2 = require("babel-runtime/helpers/asyncGeneratorDelegate");
var _map = _interopRequireDefault(require("@babel/runtime/core-js/map"));
var _asyncGeneratorDelegate3 = _interopRequireDefault(_asyncGeneratorDelegate2);
var _symbol = _interopRequireDefault(require("@babel/runtime/core-js/symbol"));
var _map = require("babel-runtime/core-js/map");
var _iterator = _interopRequireDefault(require("@babel/runtime/core-js/symbol/iterator"));
var _map2 = _interopRequireDefault(_map);
var _symbol = require("babel-runtime/core-js/symbol");
var _symbol2 = _interopRequireDefault(_symbol);
var _iterator = require("babel-runtime/core-js/symbol/iterator");
var _iterator2 = _interopRequireDefault(_iterator);
var _class, _temp, _initialiseProps;
var _stream = require("stream");

@@ -37,54 +28,27 @@

var _invariant = require("@octetstream/invariant");
var _invariant = _interopRequireDefault(require("@octetstream/invariant"));
var _invariant2 = _interopRequireDefault(_invariant);
var _mimeTypes = _interopRequireDefault(require("mime-types"));
var _mimeTypes = require("mime-types");
var _bind = _interopRequireDefault(require("./util/bind"));
var _mimeTypes2 = _interopRequireDefault(_mimeTypes);
var _concat = _interopRequireDefault(require("./util/concat"));
var _bind = require("./util/bind");
var _nextTick = _interopRequireDefault(require("./util/nextTick"));
var _bind2 = _interopRequireDefault(_bind);
var _boundary = _interopRequireDefault(require("./util/boundary"));
var _concat = require("./util/concat");
var _getType = _interopRequireDefault(require("./util/getType"));
var _concat2 = _interopRequireDefault(_concat);
var _isString = _interopRequireDefault(require("./util/isString"));
var _nextTick = require("./util/nextTick");
var _isObject = _interopRequireDefault(require("./util/isObject"));
var _nextTick2 = _interopRequireDefault(_nextTick);
var _isBuffer = _interopRequireDefault(require("./util/isBuffer"));
var _boundary = require("./util/boundary");
var _isReadable = _interopRequireDefault(require("./util/isReadable"));
var _boundary2 = _interopRequireDefault(_boundary);
var _StreamIterator = _interopRequireDefault(require("./util/StreamIterator"));
var _getType = require("./util/getType");
var _getType2 = _interopRequireDefault(_getType);
var _isString = require("./util/isString");
var _isString2 = _interopRequireDefault(_isString);
var _isObject = require("./util/isObject");
var _isObject2 = _interopRequireDefault(_isObject);
var _isBuffer = require("./util/isBuffer");
var _isBuffer2 = _interopRequireDefault(_isBuffer);
var _isReadable = require("./util/isReadable");
var _isReadable2 = _interopRequireDefault(_isReadable);
var _StreamIterator = require("./util/StreamIterator");
var _StreamIterator2 = _interopRequireDefault(_StreamIterator);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
const isArray = Array.isArray;
/**

@@ -98,3 +62,7 @@ * FormData implementation for Node.js environments.

*/
let FormData = (_temp = _class = class FormData {
var _Symbol$iterator = _iterator.default;
var _Symbol$asyncIterator = _symbol.default.asyncIterator;
class FormData {
/**

@@ -109,19 +77,15 @@ * @param {array} fields – an optional FormData initial fields.

(0, _bind2.default)([_iterator2.default, _symbol2.default.asyncIterator, "toString", "toJSON", "inspect", "keys", "values", "entries"], this);
(0, _bind.default)([_iterator.default, _symbol.default.asyncIterator, "toString", "toJSON", "inspect", "keys", "values", "entries"], this);
this.__carriage = "\r\n";
this.__defaultContentType = "application/octet-steam";
this.__dashes = "--";
this.__boundary = (0, _concat2.default)("NodeJSFormDataStream", (0, _boundary2.default)());
this.__contents = new _map2.default();
this.__boundary = (0, _concat.default)("NodeJSFormDataStream", (0, _boundary.default)());
this.__contents = new _map.default();
this.__entries = this.__contents.entries();
this.__curr = this.__getField();
const read = this.__read;
this.__stream = new _stream.Readable({
read
});
this.__stream = new _stream.Readable({ read });
if (isArray(fields)) {

@@ -131,3 +95,2 @@ this.__appendFromInitialFields(fields);

}
/**

@@ -143,6 +106,7 @@ * Check if given value is instance of FormData

*/
static isFormData(value) {
return value instanceof FormData;
}
/**

@@ -165,6 +129,4 @@ * @private

head.push(this.__carriage.repeat(2));
return (0, _concat2.default)(...head);
return (0, _concat.default)(...head);
}
/**

@@ -183,5 +145,5 @@ * @private

return _asyncGenerator3.default.wrap(function* () {
return (0, _wrapAsyncGenerator2.default)(function* () {
while (true) {
yield _asyncGenerator3.default.await((0, _nextTick2.default)());
yield (0, _awaitAsyncGenerator2.default)((0, _nextTick.default)());

@@ -192,21 +154,21 @@ const curr = _this.__entries.next();

yield _this.__getFooter();
return;
}
const [name, { values, filename }] = curr.value;
const [name, {
values,
filename
}] = curr.value; // Get field header
// Get field header
yield _this.__getHeader(name, filename);
yield _this.__getHeader(name, filename); // Get the field body
// Get the field body
for (const value of values) {
if ((0, _isReadable2.default)(value)) {
yield* (0, _asyncGeneratorDelegate3.default)((0, _asyncIterator3.default)(new _StreamIterator2.default(value)), _asyncGenerator3.default.await); // Read the stream contents
if ((0, _isReadable.default)(value)) {
yield* (0, _asyncGeneratorDelegate2.default)((0, _asyncIterator2.default)(new _StreamIterator.default(value)), _awaitAsyncGenerator2.default); // Read the stream contents
} else {
yield value;
}
}
} // Add trailing carriage
// Add trailing carriage
yield _this.__carriage;

@@ -216,3 +178,2 @@ }

}
/**

@@ -228,13 +189,2 @@ * Read values from internal storage and push it to the internal stream

/**
* Append initial fields
*
* @param {array} fields
*
* @return {void}
*
* @private
*/
/**
* Appends a new value onto an existing key inside a FormData object,

@@ -259,10 +209,8 @@ * or adds the key if it does not already exist.

__setField(name, value, filename, append = false) {
(0, _invariant2.default)(!(0, _isString2.default)(name), TypeError, "Field name should be a string. Received %s", (0, _getType2.default)(name));
(0, _invariant.default)(!(0, _isString.default)(name), TypeError, "Field name should be a string. Received %s", (0, _getType.default)(name));
(0, _invariant.default)(filename && !(0, _isString.default)(filename), TypeError, "Filename should be a string (if passed). Received %s", (0, _getType.default)(filename)); // Getting a filename for Buffer and Readable values
(0, _invariant2.default)(filename && !(0, _isString2.default)(filename), TypeError, "Filename should be a string (if passed). Received %s", (0, _getType2.default)(filename));
// Try to get a filename for Buffer and Readable values
if ((0, _isBuffer2.default)(value) && filename) {
if ((0, _isBuffer.default)(value) && filename) {
filename = (0, _path.basename)(filename);
} else if ((0, _isReadable2.default)(value) && (value.path || filename)) {
} else if ((0, _isReadable.default)(value) && (value.path || filename)) {
// Readable stream which created from fs.createReadStream

@@ -279,20 +227,28 @@ // have a "path" property. So, we can get a "filename"

const field = this.__contents.get(name);
const field = this.__contents.get(name); // Set a new field if given name is not exists
// Set a new field
if (!field) {
return void this.__contents.set(name, { append, filename, values: [value] });
}
return void this.__contents.set(name, {
append,
filename,
values: [value]
});
} // Replace a value of the existing field if "set" called
// Replace a value of the existing field if "set" called
if (!append) {
return void this.__contents.set(name, { append, filename, values: [value] });
}
return void this.__contents.set(name, {
append,
filename,
values: [value]
});
} // Do nothing if the field has been created from .set()
// Do nothing if the field has been created from .set()
if (!field.append) {
return;
}
} // Append a new value to the existing field
// Append a new value to the existing field
field.values.push(value);

@@ -302,3 +258,2 @@

}
/**

@@ -311,6 +266,7 @@ * Returns boundary string

*/
get boundary() {
return this.__boundary;
}
/**

@@ -323,6 +279,7 @@ * Returns the internal stream

*/
get stream() {
return this.__stream;
}
/**

@@ -349,84 +306,2 @@ * Appends a new value onto an existing key inside a FormData object,

/**
* Set a new value for an existing key inside FormData,
* or add the new field if it does not already exist.
*
* @param {string} name – The name of the field whose data
* is contained in value
*
* @param {any} value – The field value. You can pass any primitive type
* (including null and undefined), Buffer or Readable stream.
* Note that Arrays and Object will be converted to string
* by using String function.
*
* @param {string} [filename = undefined] A filename of given field.
* Can be added only for Buffer and Readable
*
* @return {void}
*
* @public
*/
/**
* Check if a field with the given name exists inside FormData.
*
* @param {string} name – A name of the field you want to test for.
*
* @return {boolean}
*
* @public
*/
/**
* Returns the first value associated with the given name.
* Buffer and Readable values will be returned as-is.
*
* @param {string} name – A name of the value you want to retrieve.
*
* @public
*/
/**
* Returns all the values associated with
* a given key from within a FormData object.
*
* @param {string} name – A name of the value you want to retrieve.
*
* @public
*/
/**
* Deletes a key and its value(s) from a FormData object.
*
* @param {string} name – The name of the key you want to delete.
*
* @public
*/
/**
* An alias of FormData#stream.pipe
*/
/**
* Executes a given callback for each field of the FormData instance
*
* @param {function} fn – Function to execute for each element,
* taking three arguments:
* + {any} value – A value(s) of the current field.
* + {string} – Name of the current field.
* + {FormData} fd – The FormData instance that forEach
* is being applied to
*
* @param {any} [ctx = null]
*
* @public
*/
toString() {

@@ -453,3 +328,2 @@ return `[object ${this.constructor.name}]`;

const values = this.getAll(name);
yield [name, values.length === 1 ? values[0] : values];

@@ -460,11 +334,25 @@ }

*values() {
for (const [, values] of this.entries()) {
for (const [, values] of this) {
yield values;
}
}
/**
* Executes a given callback for each field of the FormData instance
*
* @param {function} fn – Function to execute for each element,
* taking three arguments:
* + {any} value – A value(s) of the current field.
* + {string} – Name of the current field.
* + {FormData} fd – The FormData instance that forEach
* is being applied to
*
* @param {any} [ctx = null]
*
* @public
*/
[_iterator2.default]() {
[_Symbol$iterator]() {
return this.entries();
}
/**

@@ -478,80 +366,135 @@ * This method allows to read a content from internal stream

*/
[_symbol2.default.asyncIterator]() {
return new _StreamIterator2.default(this.__stream);
[_Symbol$asyncIterator]() {
return new _StreamIterator.default(this.__stream);
}
}, _initialiseProps = function () {
this.__getMime = filename => _mimeTypes2.default.lookup(filename) || this.__defaultContentType;
this.__getFooter = () => (0, _concat2.default)(this.__dashes, this.__boundary, this.__dashes, this.__carriage.repeat(2));
}
this.__read = () => {
const onFulfilled = curr => {
if (curr.done) {
return this.__stream.push(null);
}
var _initialiseProps = function () {
Object.defineProperty(this, "__getMime", {
configurable: true,
enumerable: true,
writable: true,
value: filename => _mimeTypes.default.lookup(filename) || this.__defaultContentType
});
Object.defineProperty(this, "__getFooter", {
configurable: true,
enumerable: true,
writable: true,
value: () => (0, _concat.default)(this.__dashes, this.__boundary, this.__dashes, this.__carriage.repeat(2))
});
Object.defineProperty(this, "__read", {
configurable: true,
enumerable: true,
writable: true,
value: () => {
const onFulfilled = curr => {
if (curr.done) {
return this.__stream.push(null);
}
const chunk = curr.value;
const chunk = curr.value;
this.__stream.push((0, _isBuffer2.default)(chunk) ? chunk : Buffer.from(String(chunk)));
};
this.__stream.push((0, _isBuffer.default)(chunk) ? chunk : Buffer.from(String(chunk)));
};
const onRejected = err => this.__stream.emit("error", err);
const onRejected = err => this.__stream.emit("error", err);
this.__curr.next().then(onFulfilled, onRejected);
};
this.__curr.next().then(onFulfilled, onRejected);
}
});
Object.defineProperty(this, "__appendFromInitialFields", {
configurable: true,
enumerable: true,
writable: true,
value: fields => {
for (let field of fields) {
// If the "field" is object, get its properties and reassign them as array
if ((0, _isObject.default)(field)) {
field = [field.name, field.value, field.filename];
}
this.__appendFromInitialFields = fields => {
for (let field of fields) {
// If the "field" is object, get its properties and reassign them as array
if ((0, _isObject2.default)(field)) {
field = [field.name, field.value, field.filename];
this.append(...field);
}
this.append(...field);
}
};
});
Object.defineProperty(this, "append", {
configurable: true,
enumerable: true,
writable: true,
value: (name, value, filename) => this.__setField(name, value, filename, 1)
});
Object.defineProperty(this, "set", {
configurable: true,
enumerable: true,
writable: true,
value: (name, value, filename) => this.__setField(name, value, filename)
});
Object.defineProperty(this, "has", {
configurable: true,
enumerable: true,
writable: true,
value: name => this.__contents.has(name)
});
Object.defineProperty(this, "get", {
configurable: true,
enumerable: true,
writable: true,
value: name => {
const field = this.__contents.get(name); // I should add this behaviour somehow
this.append = (name, value, filename) => this.__setField(name, value, filename, 1);
this.set = (name, value, filename) => this.__setField(name, value, filename);
if (!field) {
return void 0;
}
this.has = name => this.__contents.has(name);
this.get = name => {
const field = this.__contents.get(name);
// I should add this behaviour somehow
if (!field) {
return void 0;
const [value] = field.values;
return (0, _isBuffer.default)(value) || (0, _isReadable.default)(value) ? value : String(value);
}
});
Object.defineProperty(this, "getAll", {
configurable: true,
enumerable: true,
writable: true,
value: name => {
const res = [];
const [value] = field.values;
const field = this.__contents.get(name);
return (0, _isBuffer2.default)(value) || (0, _isReadable2.default)(value) ? value : String(value);
};
if (field) {
for (const value of field.values) {
res.push((0, _isBuffer.default)(value) || (0, _isReadable.default)(value) ? value : String(value));
}
}
this.getAll = name => {
const res = [];
const field = this.__contents.get(name);
if (field) {
for (const value of field.values) {
res.push((0, _isBuffer2.default)(value) || (0, _isReadable2.default)(value) ? value : String(value));
return res;
}
});
Object.defineProperty(this, "delete", {
configurable: true,
enumerable: true,
writable: true,
value: name => void this.__contents.delete(name)
});
Object.defineProperty(this, "pipe", {
configurable: true,
enumerable: true,
writable: true,
value: (dest, options) => this.__stream.pipe(dest, options)
});
Object.defineProperty(this, "forEach", {
configurable: true,
enumerable: true,
writable: true,
value: (fn, ctx = null) => {
for (const [name, value] of this) {
fn.call(ctx, value, name, this);
}
}
});
};
return res;
};
this.delete = name => void this.__contents.delete(name);
this.pipe = (dest, options) => this.__stream.pipe(dest, options);
this.forEach = (fn, ctx = null) => {
for (const [name, value] of this) {
fn.call(ctx, value, name, this);
}
};
}, _temp);
exports.default = FormData;
var _default = FormData;
exports.default = _default;

@@ -6,2 +6,4 @@ "use strict";

});
exports.default = void 0;
function bind(names, ctx) {

@@ -17,2 +19,3 @@ for (const name of names) {

exports.default = bind;
var _default = bind;
exports.default = _default;
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _generate = require("nanoid/generate");
var _generate = _interopRequireDefault(require("nanoid/generate"));
var _generate2 = _interopRequireDefault(_generate);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
const alpha = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";

@@ -17,4 +16,5 @@

const boundary = size => (0, _generate2.default)(alpha, size && isNumber(size) ? size : 22);
const boundary = size => (0, _generate.default)(alpha, size && isNumber(size) ? size : 22);
exports.default = boundary;
var _default = boundary;
exports.default = _default;

@@ -1,5 +0,2 @@

"use strict";
const isArray = Array.isArray;
/**

@@ -14,2 +11,3 @@ * Concap multiple strings into the one

*/
function concat(...strings) {

@@ -16,0 +14,0 @@ if (isArray(strings[0])) {

@@ -6,4 +6,4 @@ "use strict";

});
exports.default = void 0;
const basicTypes = ["null", "number", "object", "array", "string", "function", "undefined", "boolean"];
/**

@@ -18,2 +18,3 @@ * Get a string with type name of the given value

*/
function getType(val) {

@@ -29,2 +30,3 @@ const type = Object.prototype.toString.call(val).slice(8, -1);

exports.default = getType;
var _default = getType;
exports.default = _default;

@@ -1,5 +0,3 @@

"use strict";
const isBuffer = val => val instanceof Buffer;
module.exports = isBuffer;
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _getType = require("./getType");
var _getType = _interopRequireDefault(require("./getType"));
var _getType2 = _interopRequireDefault(_getType);
const isObject = val => (0, _getType.default)(val) === "object";
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
const isObject = val => (0, _getType2.default)(val) === "object";
exports.default = isObject;
var _default = isObject;
exports.default = _default;

@@ -1,7 +0,7 @@

"use strict";
const {
Readable
} = require("stream");
const { Readable } = require("stream");
const isreadable = val => val instanceof Readable;
module.exports = isreadable;
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _getType = require("./getType");
var _getType = _interopRequireDefault(require("./getType"));
var _getType2 = _interopRequireDefault(_getType);
const isString = val => (0, _getType.default)(val) === "string";
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
const isString = val => (0, _getType2.default)(val) === "string";
exports.default = isString;
var _default = isString;
exports.default = _default;
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _promise = require("babel-runtime/core-js/promise");
var _promise = _interopRequireDefault(require("@babel/runtime/core-js/promise"));
var _promise2 = _interopRequireDefault(_promise);
const nextTick = () => new _promise.default(resolve => process.nextTick(resolve));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
const nextTick = () => new _promise2.default(resolve => process.nextTick(resolve));
exports.default = nextTick;
var _default = nextTick;
exports.default = _default;
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _symbol = require("babel-runtime/core-js/symbol");
var _symbol = _interopRequireDefault(require("@babel/runtime/core-js/symbol"));
var _symbol2 = _interopRequireDefault(_symbol);
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
var _asyncToGenerator2 = require("babel-runtime/helpers/asyncToGenerator");
var _promise = _interopRequireDefault(require("@babel/runtime/core-js/promise"));
var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2);
var _nextTick = _interopRequireDefault(require("./nextTick"));
var _promise = require("babel-runtime/core-js/promise");
var _Symbol$asyncIterator = _symbol.default.asyncIterator;
var _promise2 = _interopRequireDefault(_promise);
var _nextTick = require("./nextTick");
var _nextTick2 = _interopRequireDefault(_nextTick);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**

@@ -31,3 +26,3 @@ * StreamIterator helps with getting data from a Readable stream using an

*/
let StreamIterator = class StreamIterator {
class StreamIterator {
/**

@@ -39,78 +34,114 @@ * @param {stream.Readable} stream

this.__setState = state => void (this.__state = state);
Object.defineProperty(this, "__setState", {
configurable: true,
enumerable: true,
writable: true,
value: state => void (this.__state = state)
});
Object.defineProperty(this, "__isState", {
configurable: true,
enumerable: true,
writable: true,
value: state => this.__state === state
});
Object.defineProperty(this, "__isPendingState", {
configurable: true,
enumerable: true,
writable: true,
value: () => this.__isState(this.__states.pending)
});
Object.defineProperty(this, "__isEndState", {
configurable: true,
enumerable: true,
writable: true,
value: () => {
// Temporarily hack while waiting for new public APIs of streams:
// See for more info: https://github.com/nodejs/node/issues/445
// eslint-disable-next-line
const state = this.__stream._readableState;
return state.ended && state.endEmitted;
}
});
Object.defineProperty(this, "__isErrorState", {
configurable: true,
enumerable: true,
writable: true,
value: () => this.__isState(this.__states.error)
});
Object.defineProperty(this, "__onError", {
configurable: true,
enumerable: true,
writable: true,
value: err => {
this.__error = err;
this.__isState = state => this.__state === state;
this.__setState(this.__states.error);
}
});
Object.defineProperty(this, "__ensureRead", {
configurable: true,
enumerable: true,
writable: true,
value: () => new _promise.default(resolve => {
const fulfill = () => resolve(this.__setState(this.__states.read));
this.__isPendingState = () => this.__isState(this.__states.pending);
this.__stream.once("readable", fulfill);
})
});
Object.defineProperty(this, "next", {
configurable: true,
enumerable: true,
writable: true,
value: function () {
var _ref = (0, _asyncToGenerator2.default)(function* () {
while (true) {
yield (0, _nextTick.default)();
this.__isEndState = () => {
// Temporarily hack while waiting for new public APIs of streams:
// See for more info: https://github.com/nodejs/node/issues/445
// eslint-disable-next-line
const state = this.__stream._readableState;
if (_this.__isErrorState()) {
throw _this.__error;
} // Ensure of a Readable ending
return state.ended && state.endEmitted;
};
this.__isErrorState = () => this.__isState(this.__states.error);
if (_this.__isEndState()) {
return {
value: void 0,
done: true
};
} // Set the "readable" event listener (using once method)
// and wait for the event emitting
this.__onError = err => {
this.__error = err;
this.__setState(this.__states.error);
};
if (_this.__isPendingState()) {
yield _this.__ensureRead();
continue;
}
this.__ensureRead = () => new _promise2.default(resolve => {
const fulfill = () => resolve(this.__setState(this.__states.read));
const value = _this.__stream.read(); // Back to the "pending" state if given value is nullish
this.__stream.once("readable", fulfill);
});
this.next = (0, _asyncToGenerator3.default)(function* () {
while (true) {
yield (0, _nextTick2.default)();
if (value == null) {
_this.__setState(_this.__states.pending);
if (_this.__isErrorState()) {
throw _this.__error;
}
continue;
}
// Ensure of a Readable ending
if (_this.__isEndState()) {
return {
value: void 0,
done: true
};
}
return {
value,
done: false
};
}
});
// Set the "readable" event listener (using once method)
// and wait for the event emitting
if (_this.__isPendingState()) {
yield _this.__ensureRead();
continue;
}
const value = _this.__stream.read();
// Back to the "pending" state if given value is nullish
if (value == null) {
_this.__setState(_this.__states.pending);
continue;
}
return { value, done: false };
}
return function value() {
return _ref.apply(this, arguments);
};
}()
});
this.__stream = stream;
this.__states = {
pending: (0, _symbol2.default)("pending"),
read: (0, _symbol2.default)("read"),
error: (0, _symbol2.default)("error")
pending: (0, _symbol.default)("pending"),
read: (0, _symbol.default)("read"),
error: (0, _symbol.default)("error")
};
this.__state = this.__states.pending;
this.__error = null;

@@ -121,6 +152,9 @@

[_symbol2.default.asyncIterator]() {
[_Symbol$asyncIterator]() {
return this;
}
};
exports.default = StreamIterator;
}
var _default = StreamIterator;
exports.default = _default;
{
"name": "formdata-node",
"version": "0.3.1",
"version": "0.3.2",
"description": "FormData implementation for Node.js. Built over Readable stream and async generators.",

@@ -28,3 +28,2 @@ "repository": "octet-stream/form-data",

"ava": {
"babel": "inherit",
"files": [

@@ -36,24 +35,25 @@ "test/**/*.js",

"devDependencies": {
"@babel/cli": "^7.0.0-beta.37",
"@babel/core": "^7.0.0-beta.37",
"@babel/plugin-proposal-async-generator-functions": "^7.0.0-beta.37",
"@babel/plugin-proposal-class-properties": "^7.0.0-beta.37",
"@babel/plugin-proposal-decorators": "^7.0.0-beta.37",
"@babel/plugin-transform-async-to-generator": "^7.0.0-beta.37",
"@babel/plugin-transform-modules-commonjs": "^7.0.0-beta.37",
"@babel/plugin-transform-runtime": "^7.0.0-beta.37",
"@babel/runtime": "^7.0.0-beta.37",
"@octetstream/eslint-config": "2.1.0",
"ava": "0.23.0",
"babel-cli": "6.26.0",
"babel-core": "6.26.0",
"babel-plugin-transform-async-generator-functions": "6.24.1",
"babel-plugin-transform-async-to-generator": "6.24.1",
"babel-plugin-transform-class-properties": "6.24.1",
"babel-plugin-transform-decorators-legacy": "1.3.4",
"babel-plugin-transform-es2015-modules-commonjs": "6.26.0",
"babel-plugin-transform-runtime": "6.23.0",
"ava": "0.24.0",
"codecov": "3.0.0",
"eslint": "4.10.0",
"eslint-plugin-ava": "4.2.2",
"eslint": "4.15.0",
"eslint-plugin-ava": "4.4.0",
"husky": "0.14.3",
"lodash.isplainobject": "4.0.6",
"nyc": "11.2.1",
"nyc": "11.4.1",
"promise-fs": "1.3.0",
"proxyquire": "1.8.0",
"rimraf": "2.6.2",
"sinon": "4.0.2",
"sinon": "4.1.5",
"supertest": "3.0.0",
"then-busboy": "2.1.3"
"then-busboy": "2.1.4"
},

@@ -64,4 +64,4 @@ "dependencies": {

"mime-types": "2.1.17",
"nanoid": "1.0.0"
"nanoid": "1.0.1"
}
}

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc