Added node-uuid and tests

This commit is contained in:
Jeff May
2014-04-20 00:12:00 -04:00
parent a1c5b46743
commit 6dc732cd0e
2 changed files with 71 additions and 0 deletions

49
node-uuid/node-uuid.d.ts vendored Normal file
View File

@@ -0,0 +1,49 @@
// Type definitions for node-uuid.js
// Project: https://github.com/broofa/node-uuid
// Definitions by: Jeff May <https://github.com/jeffmay>
// Definitions: https://github.com/borisyankov/DefinitelyTyped
/// <reference path="../node/node.d.ts" />
interface UUIDOptions {
/**
* Node id as Array of 6 bytes (per 4.1.6).
* Default: Randomly generated ID. See note 1.
*/
node: any[]
/**
* (Number between 0 - 0x3fff) RFC clock sequence.
* Default: An internally maintained clockseq is used.
*/
clockseq: number
/**
* (Number | Date) Time in milliseconds since unix Epoch.
* Default: The current time is used.
*/
msecs: any
/**
* (Number between 0-9999) additional time, in 100-nanosecond units. Ignored if msecs is unspecified.
* Default: internal uuid counter is used, as per 4.2.1.2.
*/
nsecs: number
}
interface UUID {
v1(options?: UUIDOptions, buffer?: number[], offset?: number): string
v1(options?: UUIDOptions, buffer?: NodeBuffer, offset?: number): string
v2(options?: UUIDOptions, buffer?: number[], offset?: number): string
v2(options?: UUIDOptions, buffer?: NodeBuffer, offset?: number): string
v3(options?: UUIDOptions, buffer?: number[], offset?: number): string
v3(options?: UUIDOptions, buffer?: NodeBuffer, offset?: number): string
v4(options?: UUIDOptions, buffer?: number[], offset?: number): string
v4(options?: UUIDOptions, buffer?: NodeBuffer, offset?: number): string
}
declare var uuid: UUID;

View File

@@ -0,0 +1,22 @@
/// <reference path="node-uuid.d.ts" />
var uid1: string = uuid.v1()
var uid2: string = uuid.v2()
var uid3: string = uuid.v3()
var uid4: string = uuid.v4()
var options: UUIDOptions = {
node: [],
clockseq: 2,
nsecs: 3,
msecs: new Date()
}
var padding: number[] = [0, 1, 2]
var offset: number = 15
uuid.v1(options, padding, offset)
uuid.v2(options, padding, offset)
uuid.v3(options, padding, offset)
uuid.v4(options, padding, offset)