node-uuid - split files and tests per environment

This commit is contained in:
Alexandru Ciuca 2015-09-28 17:47:43 +03:00
parent d0adccc436
commit ce340e14bc
8 changed files with 188 additions and 70 deletions

8
node-uuid/README.md Normal file
View File

@ -0,0 +1,8 @@
This folder contains definitions for the node-uuid library in 3 flavors:
- node-uuid.d.ts
- for use in node environment (default)
- node-uuid-global.d.ts
- for use in browser environment as a global variable
- node-uuid-cjs.d.ts
- for use in browser environment as a CommonJS module (using a loader such as webpack)

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

@ -0,0 +1,52 @@
// 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
/** Common definitions for all environments */
declare namespace __NodeUUID {
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?: number|Date;
/**
* (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): string;
v1(options?: UUIDOptions, buffer?: number[], offset?: number): number[];
v2(options?: UUIDOptions): string;
v2(options?: UUIDOptions, buffer?: number[], offset?: number): number[];
v3(options?: UUIDOptions): string;
v3(options?: UUIDOptions, buffer?: number[], offset?: number): number[];
v4(options?: UUIDOptions): string;
v4(options?: UUIDOptions, buffer?: number[], offset?: number): number[];
parse(id: string, buffer?: number[], offset?: number): number[];
unparse(buffer: number[], offset?: number): string;
}
}

View File

@ -0,0 +1,36 @@
/// <reference path="node-uuid-cjs.d.ts" />
import nodeUuid = require('node-uuid');
var uid1: string = nodeUuid.v1();
var uid2: string = nodeUuid.v2();
var uid3: string = nodeUuid.v3();
var uid4: string = nodeUuid.v4();
var options: __NodeUUID.UUIDOptions = {
node: [],
clockseq: 2,
nsecs: 3,
msecs: new Date()
};
var padding: number[] = [0, 1, 2];
var offset: number = 15;
var buf : number[] = [];
nodeUuid.parse(uid4, buf, offset);
nodeUuid.unparse(buf, offset);
var uid21: number[] = nodeUuid.v1(options, padding, offset);
var uid22: number[] = nodeUuid.v2(options, padding, offset);
var uid23: number[] = nodeUuid.v3(options, padding, offset);
var uid24: number[] = nodeUuid.v4(options, padding, offset);
var buffer: Buffer;
var uid31: Buffer = nodeUuid.v1(options, buffer, offset);
var uid32: Buffer = nodeUuid.v2(options, buffer, offset);
var uid33: Buffer = nodeUuid.v3(options, buffer, offset);
var uid34: Buffer = nodeUuid.v4(options, buffer, offset);

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

@ -0,0 +1,10 @@
/// <reference path="./node-uuid-base.d.ts" />
/**
* Expose as CommonJS module
* For use in node environment or browser environment (using webpack or other module loaders)
*/
declare module "node-uuid" {
var uuid: __NodeUUID.UUID;
export = uuid;
}

View File

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

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

@ -0,0 +1,4 @@
/// <reference path="./node-uuid-base.d.ts" />
/** Expose as global variable */
declare var uuid: __NodeUUID.UUID;

View File

@ -1,36 +1,36 @@
/// <reference path="node-uuid.d.ts" />
import uuid = require('node-uuid');
import nodeUuid = require('node-uuid');
var uid1: string = uuid.v1()
var uid2: string = uuid.v2()
var uid3: string = uuid.v3()
var uid4: string = uuid.v4()
var uid1: string = nodeUuid.v1();
var uid2: string = nodeUuid.v2();
var uid3: string = nodeUuid.v3();
var uid4: string = nodeUuid.v4();
var options: UUIDOptions = {
var options: __NodeUUID.UUIDOptions = {
node: [],
clockseq: 2,
nsecs: 3,
msecs: new Date()
}
};
var padding: number[] = [0, 1, 2]
var padding: number[] = [0, 1, 2];
var offset: number = 15
var offset: number = 15;
var buf : number[] = []
var buf : number[] = [];
uuid.parse(uid4, buf, offset)
uuid.unparse(buf, offset)
nodeUuid.parse(uid4, buf, offset);
nodeUuid.unparse(buf, offset);
var uid21: number[] = uuid.v1(options, padding, offset)
var uid22: number[] = uuid.v2(options, padding, offset)
var uid23: number[] = uuid.v3(options, padding, offset)
var uid24: number[] = uuid.v4(options, padding, offset)
var uid21: number[] = nodeUuid.v1(options, padding, offset);
var uid22: number[] = nodeUuid.v2(options, padding, offset);
var uid23: number[] = nodeUuid.v3(options, padding, offset);
var uid24: number[] = nodeUuid.v4(options, padding, offset);
var buffer: Buffer;
var uid31: Buffer = uuid.v1(options, buffer, offset)
var uid32: Buffer = uuid.v2(options, buffer, offset)
var uid33: Buffer = uuid.v3(options, buffer, offset)
var uid34: Buffer = uuid.v4(options, buffer, offset)
var uid31: Buffer = nodeUuid.v1(options, buffer, offset);
var uid32: Buffer = nodeUuid.v2(options, buffer, offset);
var uid33: Buffer = nodeUuid.v3(options, buffer, offset);
var uid34: Buffer = nodeUuid.v4(options, buffer, offset);

View File

@ -4,60 +4,41 @@
// Definitions: https://github.com/borisyankov/DefinitelyTyped
/// <reference path="../node/node.d.ts" />
/// <reference path="./node-uuid-base.d.ts" />
/// <reference path="./node-uuid-cjs.d.ts" />
interface UUIDOptions {
/**
* Definitions for use in node environment
*
* !! For browser enviroments, use node-uuid-global or node-uuid-cjs
*/
declare module __NodeUUID {
/**
* Node id as Array of 6 bytes (per 4.1.6).
* Default: Randomly generated ID. See note 1.
* Overloads for node environment
* We need to duplicate some declarations because
* interface merging doesn't work with overloads
*/
node?: any[]
interface UUID {
v1(options?: UUIDOptions): string;
v1(options?: UUIDOptions, buffer?: number[], offset?: number): number[];
v1(options?: UUIDOptions, buffer?: Buffer, offset?: number): Buffer;
/**
* (Number between 0 - 0x3fff) RFC clock sequence.
* Default: An internally maintained clockseq is used.
*/
clockseq?: number
v2(options?: UUIDOptions): string;
v2(options?: UUIDOptions, buffer?: number[], offset?: number): number[];
v2(options?: UUIDOptions, buffer?: Buffer, offset?: number): Buffer;
/**
* (Number | Date) Time in milliseconds since unix Epoch.
* Default: The current time is used.
*/
msecs?: number|Date
v3(options?: UUIDOptions): string;
v3(options?: UUIDOptions, buffer?: number[], offset?: number): number[];
v3(options?: UUIDOptions, buffer?: Buffer, offset?: number): Buffer;
/**
* (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): string
v1(options?: UUIDOptions, buffer?: number[], offset?: number): number[]
v1(options?: UUIDOptions, buffer?: Buffer, offset?: number): Buffer
v2(options?: UUIDOptions): string
v2(options?: UUIDOptions, buffer?: number[], offset?: number): number[]
v2(options?: UUIDOptions, buffer?: Buffer, offset?: number): Buffer
v3(options?: UUIDOptions): string
v3(options?: UUIDOptions, buffer?: number[], offset?: number): number[]
v3(options?: UUIDOptions, buffer?: Buffer, offset?: number): Buffer
v4(options?: UUIDOptions): string
v4(options?: UUIDOptions, buffer?: number[], offset?: number): number[]
v4(options?: UUIDOptions, buffer?: Buffer, offset?: number): Buffer
parse(id: string, buffer?: number[], offset?: number): number[]
parse(id: string, buffer?: Buffer, offset?: number): Buffer
unparse(buffer: number[], offset?: number): string
unparse(buffer: Buffer, offset?: number): string
}
declare var uuid: UUID;
declare module "node-uuid" {
export = uuid;
v4(options?: UUIDOptions): string;
v4(options?: UUIDOptions, buffer?: number[], offset?: number): number[];
v4(options?: UUIDOptions, buffer?: Buffer, offset?: number): Buffer;
parse(id: string, buffer?: number[], offset?: number): number[];
parse(id: string, buffer?: Buffer, offset?: number): Buffer;
unparse(buffer: number[], offset?: number): string;
unparse(buffer: Buffer, offset?: number): string;
}
}