warehouse
Version:
Simple JSON-based database
69 lines (68 loc) • 1.92 kB
TypeScript
import SchemaType from '../schematype';
/**
* Boolean schema type.
*/
declare class SchemaTypeBuffer extends SchemaType<Buffer> {
options: SchemaType<Buffer>['options'] & {
encoding: BufferEncoding;
};
/**
* @param {string} name
* @param {object} [options]
* @param {boolean} [options.required=false]
* @param {boolean|Function} [options.default]
* @param {string} [options.encoding=hex]
*/
constructor(name: string, options?: Partial<SchemaType<Buffer>['options']> & {
encoding?: BufferEncoding;
});
/**
* Casts data.
*
* @param {*} value_
* @param {Object} data
* @return {Buffer}
*/
cast(value_: WithImplicitCoercion<Uint8Array | ReadonlyArray<number> | string>, data?: unknown): Buffer;
cast(value_?: unknown, data?: unknown): Buffer | undefined;
/**
* Validates data.
*
* @param {*} value_
* @param {Object} data
* @return {Buffer}
*/
validate(value_: unknown, data?: unknown): Buffer;
/**
* Compares between two buffers.
*
* @param {Buffer} a
* @param {Buffer} b
* @return {Number}
*/
compare(a?: Buffer, b?: Buffer): number;
/**
* Parses data and transform them into buffer values.
*
* @param {*} value
* @return {Boolean}
*/
parse(value: WithImplicitCoercion<Uint8Array | ReadonlyArray<number> | string>): Buffer;
parse(value?: unknown): Buffer | null | undefined;
/**
* Transforms data into number to compress the size of database files.
*
* @param {Buffer} value
* @return {String}
*/
value(value?: Buffer): string;
/**
* Checks the equality of data.
*
* @param {Buffer} value
* @param {Buffer} query
* @return {Boolean}
*/
match(value: Buffer, query: Buffer): boolean;
}
export default SchemaTypeBuffer;