mirror of
https://github.com/wassname/DefinitelyTyped.git
synced 2026-09-09 11:13:57 +08:00
split node-ffi
created node-ffi-buffer.d.ts partial - ref.d.ts - ref-array.d.ts - ref-struct.d.ts - ref-union.d.ts
This commit is contained in:
Vendored
+64
@@ -0,0 +1,64 @@
|
||||
// Type definitions for ref-union
|
||||
// Project: https://github.com/TooTallNate/ref-struct
|
||||
// Definitions by: Paul Loyd <https://github.com/loyd>
|
||||
// Definitions: https://github.com/borisyankov/DefinitelyTyped
|
||||
|
||||
/// <reference path="../node-ffi/node-ffi-buffer.d.ts" />
|
||||
/// <reference path="../ref/ref.d.ts" />
|
||||
|
||||
declare module "ref-struct" {
|
||||
import ref = require('ref');
|
||||
|
||||
/**
|
||||
* This is the `constructor` of the Struct type that gets returned.
|
||||
*
|
||||
* Invoke it with `new` to create a new Buffer instance backing the struct.
|
||||
* Pass it an existing Buffer instance to use that as the backing buffer.
|
||||
* Pass in an Object containing the struct fields to auto-populate the
|
||||
* struct with the data.
|
||||
*
|
||||
* @constructor
|
||||
*/
|
||||
interface StructType extends ref.Type {
|
||||
/** Pass it an existing Buffer instance to use that as the backing buffer. */
|
||||
new (arg: Buffer, data?: {}): any;
|
||||
new (data?: {}): any;
|
||||
/** Pass it an existing Buffer instance to use that as the backing buffer. */
|
||||
(arg: Buffer, data?: {}): any;
|
||||
(data?: {}): any;
|
||||
|
||||
fields: {[key: string]: {type: ref.Type}};
|
||||
|
||||
/**
|
||||
* Adds a new field to the struct instance with the given name and type.
|
||||
* Note that this function will throw an Error if any instances of the struct
|
||||
* type have already been created, therefore this function must be called at the
|
||||
* beginning, before any instances are created.
|
||||
*/
|
||||
defineProperty(name: string, type: ref.Type): void;
|
||||
|
||||
/**
|
||||
* Adds a new field to the struct instance with the given name and type.
|
||||
* Note that this function will throw an Error if any instances of the struct
|
||||
* type have already been created, therefore this function must be called at the
|
||||
* beginning, before any instances are created.
|
||||
*/
|
||||
defineProperty(name: string, type: string): void;
|
||||
|
||||
/**
|
||||
* Custom for struct type instances.
|
||||
* @override
|
||||
*/
|
||||
toString(): string;
|
||||
}
|
||||
|
||||
/** The struct type meta-constructor. */
|
||||
var StructType: {
|
||||
new (fields?: {}): StructType;
|
||||
new (fields?: any[]): StructType;
|
||||
(fields?: {}): StructType;
|
||||
(fields?: any[]): StructType;
|
||||
}
|
||||
|
||||
export = StructType;
|
||||
}
|
||||
Reference in New Issue
Block a user