cbor-react-native
Version:
Encode and parse data in the Concise Binary Object Representation (CBOR) data format (RFC8949).
103 lines (102 loc) • 2.7 kB
TypeScript
export = Diagnose
/**
* Output the diagnostic format from a stream of CBOR bytes.
*
* @extends stream.Transform
*/
declare class Diagnose extends stream.Transform {
/**
* Convenience function to return a string in diagnostic format.
*
* @param {BufferLike} input The CBOR bytes to format.
* @param {DiagnoseOptions |diagnoseCallback|string} [options={}]
* Options, the callback, or the input encoding.
* @param {diagnoseCallback} [cb] Callback.
* @returns {Promise} If callback not specified.
* @throws {TypeError} Input not provided.
*/
static diagnose(
input: BufferLike,
options?: DiagnoseOptions | diagnoseCallback | string,
cb?: diagnoseCallback
): Promise<any>
/**
* Creates an instance of Diagnose.
*
* @param {DiagnoseOptions} [options={}] Options for creation.
*/
constructor(options?: DiagnoseOptions)
float_bytes: number
separator: string
stream_errors: boolean
parser: Decoder
/**
* @ignore
*/
_on_error(er: any): void
/** @private */
private _on_more
/** @private */
private _fore
/** @private */
private _on_value
/** @private */
private _on_start
/** @private */
private _on_stop
/** @private */
private _on_data
}
declare namespace Diagnose {
export { BufferLike, DiagnoseOptions, diagnoseCallback }
}
import stream from 'readable-stream'
import Decoder from './decoder'
/**
* Things that can act as inputs, from which a NoFilter can be created.
*/
type BufferLike =
| string
| Buffer
| ArrayBuffer
| Uint8Array
| Uint8ClampedArray
| DataView
| stream.Readable
type DiagnoseOptions = {
/**
* Output between detected objects.
*/
separator?: string
/**
* Put error info into the
* output stream.
*/
stream_errors?: boolean
/**
* The maximum depth to parse.
* Use -1 for "until you run out of memory". Set this to a finite
* positive number for un-trusted inputs. Most standard inputs won't nest
* more than 100 or so levels; I've tested into the millions before
* running out of memory.
*/
max_depth?: number
/**
* Mapping from tag number to function(v),
* where v is the decoded value that comes after the tag, and where the
* function returns the correctly-created value for that tag.
*/
tags?: object
/**
* If true, prefer Uint8Arrays to
* be generated instead of node Buffers. This might turn on some more
* changes in the future, so forward-compatibility is not guaranteed yet.
*/
preferWeb?: boolean
/**
* The encoding of input, ignored if
* input is not string.
*/
encoding?: BufferEncoding
}
type diagnoseCallback = (error?: Error, value?: string) => void