@goa/busboy
Version: 
[fork] A Streaming Parser For HTML Form Data For Node.JS.
136 lines (129 loc) • 3.33 kB
JavaScript
/**
 * @fileoverview
 * @externs
 */
/* typal types/parser.xml externs */
/** @const */
var _goa = {}
/**
 * The config for the parser.
 * @extends {_goa.BusBoyConfig}
 * @record
 */
_goa.BusBoyParserConfig
/**
 * Parsed content type.
 * @type {!Array<string|!Array<String>>}
 */
_goa.BusBoyParserConfig.prototype.parsedConType
/* typal types/index.xml externs */
/**
 * Handles incoming streams to extract form-data.
 * @param {!_goa.BusBoyConfig=} [conf] The configuration.
 * @interface
 */
_goa.BusBoy = function(conf) {}
/**
 * Options for the program.
 * @record
 */
_goa.BusBoyConfig
/**
 * These are the HTTP headers of the incoming request, which are used by individual parsers.
 * @type {(!Object)|undefined}
 */
_goa.BusBoyConfig.prototype.headers
/**
 * The `highWaterMark` to use for this Busboy instance (Default: WritableStream default).
 * @type {number|undefined}
 */
_goa.BusBoyConfig.prototype.highWaterMark
/**
 * The `highWaterMark` to use for file streams (Default: ReadableStream default).
 * @type {number|undefined}
 */
_goa.BusBoyConfig.prototype.fileHwm
/**
 * The default character set to use when one isn't defined. Default `utf8`.
 * @type {string|undefined}
 */
_goa.BusBoyConfig.prototype.defCharset
/**
 * If paths in the multipart 'filename' field shall be preserved. Default `false`.
 * @type {boolean|undefined}
 */
_goa.BusBoyConfig.prototype.preservePath
/**
 * Various limits on incoming data.
 * @type {_goa.BusBoyLimits|undefined}
 */
_goa.BusBoyConfig.prototype.limits
/**
 * Various limits on incoming data.
 * @record
 */
_goa.BusBoyLimits
/**
 * Max field name size in bytes. Default `100`.
 * @type {number|undefined}
 */
_goa.BusBoyLimits.prototype.fieldNameSize
/**
 * Max field value size in bytes. Default `1024`.
 * @type {number|undefined}
 */
_goa.BusBoyLimits.prototype.fieldSize
/**
 * Max number of non-file fields. Default `Infinity`.
 * @type {number|undefined}
 */
_goa.BusBoyLimits.prototype.fields
/**
 * For multipart forms, the max file size in bytes. Default `Infinity`.
 * @type {number|undefined}
 */
_goa.BusBoyLimits.prototype.fileSize
/**
 * For multipart forms, the max number of file fields. Default `Infinity`.
 * @type {number|undefined}
 */
_goa.BusBoyLimits.prototype.files
/**
 * For multipart forms, the max number of parts (fields + files). Default `Infinity`.
 * @type {number|undefined}
 */
_goa.BusBoyLimits.prototype.parts
/**
 * For multipart forms, the max number of header key=> value pairs to parse. Default `2000`.
 * @type {number|undefined}
 */
_goa.BusBoyLimits.prototype.headerPairs
/** * @type {!Object} */
stream.Writable.prototype._events
/** * @type {*} */
stream.Writable.prototype._events.file
/** * @type {!Object} */
stream.Readable.prototype._readableState
/** * @type {boolean} */
stream.Readable.prototype._readableState.sync
/**
 * @interface
 * @param {?} opts
 */
_goa.BusBoyFileStream = function(opts) {}
/**
 * @type {boolean}
 */
_goa.BusBoyFileStream.prototype.truncated
/**
 * @constructor
 * @param {*} busBoy
 * @param {!_goa.BusBoyParserConfig} parserConfig
 */
_goa.BusBoyParser = function(busBoy, parserConfig) {}
_goa.BusBoyParser.prototype.write = function(chunk, cb) {}
_goa.BusBoyParser.prototype.end = function() {}
/**
 * @type {function(!Array<string|!Array<string>>)|!RegExp}
 */
_goa.BusBoyParser.detect