mirror of
https://github.com/gosticks/DefinitelyTyped.git
synced 2026-10-04 14:57:10 +00:00
Merge remote-tracking branch 'DefinitelyTyped/master'
This commit is contained in:
@@ -30,9 +30,14 @@ _infrastructure/tests/build
|
||||
*.iml
|
||||
*.js.map
|
||||
!*.js/
|
||||
!scripts/new-package.js
|
||||
!scripts/not-needed.js
|
||||
!scripts/lint.js
|
||||
|
||||
node_modules
|
||||
|
||||
.sublimets
|
||||
.settings/launch.json
|
||||
|
||||
.vscode
|
||||
yarn.lock
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
language: node_js
|
||||
node_js:
|
||||
- 4
|
||||
- 6.9.2
|
||||
|
||||
sudo: false
|
||||
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
/// <reference path="3d-bin-packing.d.ts" />
|
||||
|
||||
import packer = require("3d-bin-packing");
|
||||
import samchon = require("samchon-framework");
|
||||
|
||||
|
||||
Vendored
-1500
File diff suppressed because it is too large
Load Diff
Vendored
+1500
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,20 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"module": "commonjs",
|
||||
"target": "es6",
|
||||
"noImplicitAny": true,
|
||||
"noImplicitThis": true,
|
||||
"strictNullChecks": false,
|
||||
"baseUrl": "../",
|
||||
"typeRoots": [
|
||||
"../"
|
||||
],
|
||||
"types": [],
|
||||
"noEmit": true,
|
||||
"forceConsistentCasingInFileNames": true
|
||||
},
|
||||
"files": [
|
||||
"index.d.ts",
|
||||
"3d-bin-packing-tests.ts"
|
||||
]
|
||||
}
|
||||
Vendored
-38
@@ -1,38 +0,0 @@
|
||||
// Type definitions for FileSaver.js
|
||||
// Project: https://github.com/eligrey/FileSaver.js/
|
||||
// Definitions by: Cyril Schumacher <https://github.com/cyrilschumacher>
|
||||
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
||||
|
||||
/**
|
||||
* @summary Interface for "saveAs" function.
|
||||
* @author Cyril Schumacher
|
||||
* @version 1.0
|
||||
*/
|
||||
interface FileSaver {
|
||||
(
|
||||
/**
|
||||
* @summary Data.
|
||||
* @type {Blob}
|
||||
*/
|
||||
data: Blob,
|
||||
|
||||
/**
|
||||
* @summary File name.
|
||||
* @type {DOMString}
|
||||
*/
|
||||
filename: string,
|
||||
|
||||
/**
|
||||
* @summary Disable Unicode text encoding hints or not.
|
||||
* @type {boolean}
|
||||
*/
|
||||
disableAutoBOM?: boolean
|
||||
): void
|
||||
}
|
||||
|
||||
declare var saveAs: FileSaver;
|
||||
|
||||
declare module "file-saver" {
|
||||
var fileSaver: { saveAs: typeof saveAs };
|
||||
export = fileSaver
|
||||
}
|
||||
Vendored
-29
@@ -1,29 +0,0 @@
|
||||
// Type definitions for headroom.js v0.7.0
|
||||
// Project: http://wicky.nillia.ms/headroom.js/
|
||||
// Definitions by: Jakub Olek <https://github.com/hakubo/>
|
||||
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
||||
|
||||
interface HeadroomOptions {
|
||||
offset?: number;
|
||||
tolerance?: any;
|
||||
classes?: {
|
||||
initial?: string;
|
||||
notBottom?:string;
|
||||
notTop?: string;
|
||||
pinned?: string;
|
||||
top?: string;
|
||||
unpinned?: string;
|
||||
};
|
||||
scroller?: Element;
|
||||
onPin?: () => void;
|
||||
onUnPin?: () => void;
|
||||
onTop?: () => void;
|
||||
onNotTop?: () => void;
|
||||
|
||||
}
|
||||
|
||||
declare class Headroom {
|
||||
constructor(element: Node, options?: HeadroomOptions);
|
||||
constructor(element: Element, options?: HeadroomOptions);
|
||||
init: () => void;
|
||||
}
|
||||
@@ -1,15 +0,0 @@
|
||||
/// <reference path="JSONStream.d.ts" />
|
||||
|
||||
import json = require('JSONStream');
|
||||
|
||||
var read: NodeJS.ReadableStream;
|
||||
var write: NodeJS.WritableStream;
|
||||
|
||||
read = read.pipe(json.parse('*'));
|
||||
read = read.pipe(json.parse(['foo/*', 'bar/*']));
|
||||
|
||||
read = json.stringify();
|
||||
read = json.stringify('{', ',', '}');
|
||||
|
||||
read = json.stringifyObject();
|
||||
read = json.stringifyObject('{', ',', '}');
|
||||
Vendored
-22
@@ -1,22 +0,0 @@
|
||||
// Type definitions for JSONStream v0.8.0
|
||||
// Project: http://github.com/dominictarr/JSONStream
|
||||
// Definitions by: Bart van der Schoor <https://github.com/Bartvds>
|
||||
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
||||
|
||||
/// <reference path="../node/node.d.ts" />
|
||||
|
||||
declare module 'JSONStream' {
|
||||
|
||||
export interface Options {
|
||||
recurse: boolean;
|
||||
}
|
||||
|
||||
export function parse(pattern: any): NodeJS.ReadWriteStream;
|
||||
export function parse(patterns: any[]): NodeJS.ReadWriteStream;
|
||||
|
||||
export function stringify(): NodeJS.ReadWriteStream;
|
||||
export function stringify(open: string, sep: string, close: string): NodeJS.ReadWriteStream;
|
||||
|
||||
export function stringifyObject(): NodeJS.ReadWriteStream;
|
||||
export function stringifyObject(open: string, sep: string, close: string): NodeJS.ReadWriteStream;
|
||||
}
|
||||
Vendored
-912
@@ -1,912 +0,0 @@
|
||||
// Type definitions for OpenJsCad.js
|
||||
// Project: https://github.com/joostn/OpenJsCad
|
||||
// Definitions by: Dan Marshall <https://github.com/danmarshall>
|
||||
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
||||
/// <reference path="../threejs/three.d.ts" />
|
||||
|
||||
declare namespace THREE {
|
||||
var CSG: {
|
||||
fromCSG: (csg: CSG, defaultColor: any) => {
|
||||
colorMesh: Mesh;
|
||||
wireframe: Mesh;
|
||||
boundLen: number;
|
||||
};
|
||||
getGeometryVertex: (geometry: any, vertex_position: any) => number;
|
||||
};
|
||||
function OrbitControls(object: any, domElement: any): void;
|
||||
function SpriteCanvasMaterial(parameters?: any): void;
|
||||
interface ICanvasRendererOptions {
|
||||
canvas?: HTMLCanvasElement;
|
||||
alpha?: boolean;
|
||||
}
|
||||
class CanvasRenderer implements Renderer {
|
||||
domElement: HTMLCanvasElement;
|
||||
private pixelRatio;
|
||||
private autoClear;
|
||||
private sortObjects;
|
||||
private sortElements;
|
||||
private info;
|
||||
private _projector;
|
||||
private _renderData;
|
||||
private _elements;
|
||||
private _lights;
|
||||
private _canvas;
|
||||
private _canvasWidth;
|
||||
private _canvasHeight;
|
||||
private _canvasWidthHalf;
|
||||
private _canvasHeightHalf;
|
||||
private _viewportX;
|
||||
private _viewportY;
|
||||
private _viewportWidth;
|
||||
private _viewportHeight;
|
||||
private _context;
|
||||
private _clearColor;
|
||||
private _clearAlpha;
|
||||
private _contextGlobalAlpha;
|
||||
private _contextGlobalCompositeOperation;
|
||||
private _contextStrokeStyle;
|
||||
private _camera;
|
||||
private _contextFillStyle;
|
||||
private _contextLineWidth;
|
||||
private _contextLineCap;
|
||||
private _contextLineJoin;
|
||||
private _contextLineDash;
|
||||
private _v1;
|
||||
private _v2;
|
||||
private _v3;
|
||||
private _v4;
|
||||
private _v5;
|
||||
private _v6;
|
||||
private _v1x;
|
||||
private _v1y;
|
||||
private _v2x;
|
||||
private _v2y;
|
||||
private _v3x;
|
||||
private _v3y;
|
||||
private _v4x;
|
||||
private _v4y;
|
||||
private _v5x;
|
||||
private _v5y;
|
||||
private _v6x;
|
||||
private _v6y;
|
||||
private _color;
|
||||
private _color1;
|
||||
private _color2;
|
||||
private _color3;
|
||||
private _color4;
|
||||
private _diffuseColor;
|
||||
private _emissiveColor;
|
||||
private _lightColor;
|
||||
private _patterns;
|
||||
private _image;
|
||||
private _uvs;
|
||||
private _uv1x;
|
||||
private _uv1y;
|
||||
private _uv2x;
|
||||
private _uv2y;
|
||||
private _uv3x;
|
||||
private _uv3y;
|
||||
private _clipBox;
|
||||
private _clearBox;
|
||||
private _elemBox;
|
||||
private _ambientLight;
|
||||
private _directionalLights;
|
||||
private _pointLights;
|
||||
private _vector3;
|
||||
private _centroid;
|
||||
private _normal;
|
||||
private _normalViewMatrix;
|
||||
constructor(parameters: ICanvasRendererOptions);
|
||||
supportsVertexTextures(): void;
|
||||
setFaceCulling: () => void;
|
||||
getPixelRatio(): number;
|
||||
setPixelRatio(value: any): void;
|
||||
setSize(width: any, height: any, updateStyle: any): void;
|
||||
setViewport(x: any, y: any, width: any, height: any): void;
|
||||
setScissor(): void;
|
||||
enableScissorTest(): void;
|
||||
setClearColor(color: any, alpha: any): void;
|
||||
setClearColorHex(hex: any, alpha: any): void;
|
||||
getClearColor(): Color;
|
||||
getClearAlpha(): number;
|
||||
getMaxAnisotropy(): number;
|
||||
clear(): void;
|
||||
clearColor(): void;
|
||||
clearDepth(): void;
|
||||
clearStencil(): void;
|
||||
render(scene: Scene, camera: Camera, renderTarget?: RenderTarget, forceClear?: boolean): void;
|
||||
calculateLights(): void;
|
||||
calculateLight(position: any, normal: any, color: any): void;
|
||||
renderSprite(v1: any, element: any, material: any): void;
|
||||
renderLine(v1: any, v2: any, element: any, material: any): void;
|
||||
renderFace3(v1: any, v2: any, v3: any, uv1: any, uv2: any, uv3: any, element: any, material: any): void;
|
||||
drawTriangle(x0: any, y0: any, x1: any, y1: any, x2: any, y2: any): void;
|
||||
strokePath(color: any, linewidth: any, linecap: any, linejoin: any): void;
|
||||
fillPath(color: any): void;
|
||||
onTextureUpdate(event: any): void;
|
||||
textureToPattern(texture: any): void;
|
||||
patternPath(x0: any, y0: any, x1: any, y1: any, x2: any, y2: any, u0: any, v0: any, u1: any, v1: any, u2: any, v2: any, texture: any): void;
|
||||
clipImage(x0: any, y0: any, x1: any, y1: any, x2: any, y2: any, u0: any, v0: any, u1: any, v1: any, u2: any, v2: any, image: any): void;
|
||||
expand(v1: any, v2: any, pixels: any): void;
|
||||
setOpacity(value: any): void;
|
||||
setBlending(value: any): void;
|
||||
setLineWidth(value: any): void;
|
||||
setLineCap(value: any): void;
|
||||
setLineJoin(value: any): void;
|
||||
setStrokeStyle(value: any): void;
|
||||
setFillStyle(value: any): void;
|
||||
setLineDash(value: any): void;
|
||||
}
|
||||
function RenderableObject(): void;
|
||||
function RenderableFace(): void;
|
||||
function RenderableVertex(): void;
|
||||
function RenderableLine(): void;
|
||||
function RenderableSprite(): void;
|
||||
function Projector(): void;
|
||||
}
|
||||
declare namespace OpenJsCad {
|
||||
interface ILog {
|
||||
(x: string): void;
|
||||
prevLogTime?: number;
|
||||
}
|
||||
var log: ILog;
|
||||
interface IViewerOptions {
|
||||
drawLines?: boolean;
|
||||
drawFaces?: boolean;
|
||||
color?: number[];
|
||||
bgColor?: number;
|
||||
noWebGL?: boolean;
|
||||
}
|
||||
interface ProcessorOptions extends IViewerOptions {
|
||||
verbose?: boolean;
|
||||
viewerwidth?: number;
|
||||
viewerheight?: number;
|
||||
viewerheightratio?: number;
|
||||
}
|
||||
class Viewer {
|
||||
private perspective;
|
||||
private drawOptions;
|
||||
private size;
|
||||
private defaultColor_;
|
||||
private bgColor_;
|
||||
private containerElm_;
|
||||
private scene_;
|
||||
private camera_;
|
||||
private controls_;
|
||||
private renderer_;
|
||||
private canvas;
|
||||
private pauseRender_;
|
||||
private requestID_;
|
||||
constructor(containerElm: any, size: any, options: IViewerOptions);
|
||||
createScene(drawAxes: any, axLen: any): void;
|
||||
createCamera(): void;
|
||||
createControls(canvas: any): void;
|
||||
webGLAvailable(): boolean;
|
||||
createRenderer(bool_noWebGL: any): void;
|
||||
render(): void;
|
||||
animate(): void;
|
||||
cancelAnimate(): void;
|
||||
refreshRenderer(bool_noWebGL: any): void;
|
||||
drawAxes(axLen: any): void;
|
||||
setCsg(csg: any, resetZoom: any): void;
|
||||
applyDrawOptions(): void;
|
||||
clear(): void;
|
||||
getUserMeshes(str?: any): THREE.Object3D[];
|
||||
resetZoom(r: any): void;
|
||||
parseSizeParams(): void;
|
||||
handleResize(): void;
|
||||
}
|
||||
function makeAbsoluteUrl(url: any, baseurl: any): any;
|
||||
function isChrome(): boolean;
|
||||
function runMainInWorker(mainParameters: any): void;
|
||||
function expandResultObjectArray(result: any): any;
|
||||
function checkResult(result: any): void;
|
||||
function resultToCompactBinary(resultin: any): any;
|
||||
function resultFromCompactBinary(resultin: any): any;
|
||||
function parseJsCadScriptSync(script: any, mainParameters: any, debugging: any): any;
|
||||
function parseJsCadScriptASync(script: any, mainParameters: any, options: any, callback: any): Worker;
|
||||
function getWindowURL(): URL;
|
||||
function textToBlobUrl(txt: any): string;
|
||||
function revokeBlobUrl(url: any): void;
|
||||
function FileSystemApiErrorHandler(fileError: any, operation: any): void;
|
||||
function AlertUserOfUncaughtExceptions(): void;
|
||||
function getParamDefinitions(script: any): any[];
|
||||
interface EventHandler {
|
||||
(ev?: Event): any;
|
||||
}
|
||||
/**
|
||||
* options parameter:
|
||||
* - drawLines: display wireframe lines
|
||||
* - drawFaces: display surfaces
|
||||
* - bgColor: canvas background color
|
||||
* - color: object color
|
||||
* - viewerwidth, viewerheight: set rendering size. Works with any css unit.
|
||||
* viewerheight can also be specified as a ratio to width, ie number e (0, 1]
|
||||
* - noWebGL: force render without webGL
|
||||
* - verbose: show additional info (currently only time used for rendering)
|
||||
*/
|
||||
interface ViewerSize {
|
||||
widthDefault: string;
|
||||
heightDefault: string;
|
||||
width: number;
|
||||
height: number;
|
||||
heightratio: number;
|
||||
}
|
||||
class Processor {
|
||||
private containerdiv;
|
||||
private options;
|
||||
private onchange;
|
||||
private static widthDefault;
|
||||
private static heightDefault;
|
||||
private viewerdiv;
|
||||
private viewer;
|
||||
private viewerSize;
|
||||
private processing;
|
||||
private currentObject;
|
||||
private hasValidCurrentObject;
|
||||
private hasOutputFile;
|
||||
private worker;
|
||||
private paramDefinitions;
|
||||
private paramControls;
|
||||
private script;
|
||||
private hasError;
|
||||
private debugging;
|
||||
private errordiv;
|
||||
private errorpre;
|
||||
private statusdiv;
|
||||
private controldiv;
|
||||
private statusspan;
|
||||
private statusbuttons;
|
||||
private abortbutton;
|
||||
private renderedElementDropdown;
|
||||
private formatDropdown;
|
||||
private generateOutputFileButton;
|
||||
private downloadOutputFileLink;
|
||||
private parametersdiv;
|
||||
private parameterstable;
|
||||
private currentFormat;
|
||||
private filename;
|
||||
private currentObjects;
|
||||
private currentObjectIndex;
|
||||
private isFirstRender_;
|
||||
private outputFileDirEntry;
|
||||
private outputFileBlobUrl;
|
||||
constructor(containerdiv: HTMLDivElement, options?: ProcessorOptions, onchange?: EventHandler);
|
||||
static convertToSolid(obj: any): any;
|
||||
cleanOption(option: any, deflt: any): any;
|
||||
toggleDrawOption(str: any): boolean;
|
||||
setDrawOption(str: any, bool: any): void;
|
||||
handleResize(): void;
|
||||
createElements(): void;
|
||||
getFilenameForRenderedObject(): string;
|
||||
setRenderedObjects(obj: any): void;
|
||||
setSelectedObjectIndex(index: number): void;
|
||||
selectedFormat(): any;
|
||||
selectedFormatInfo(): any;
|
||||
updateDownloadLink(): void;
|
||||
clearViewer(): void;
|
||||
abort(): void;
|
||||
enableItems(): void;
|
||||
setOpenJsCadPath(path: string): void;
|
||||
addLibrary(lib: any): void;
|
||||
setError(txt: string): void;
|
||||
setDebugging(debugging: boolean): void;
|
||||
setJsCad(script: string, filename?: string): void;
|
||||
getParamValues(): {};
|
||||
rebuildSolid(): void;
|
||||
hasSolid(): boolean;
|
||||
isProcessing(): boolean;
|
||||
clearOutputFile(): void;
|
||||
generateOutputFile(): void;
|
||||
currentObjectToBlob(): any;
|
||||
supportedFormatsForCurrentObject(): string[];
|
||||
formatInfo(format: any): any;
|
||||
downloadLinkTextForCurrentObject(): string;
|
||||
generateOutputFileBlobUrl(): void;
|
||||
generateOutputFileFileSystem(): void;
|
||||
createParamControls(): void;
|
||||
}
|
||||
}
|
||||
interface Window {
|
||||
Worker: Worker;
|
||||
// URL: URL;
|
||||
webkitURL: URL;
|
||||
requestFileSystem: any;
|
||||
webkitRequestFileSystem: any;
|
||||
}
|
||||
interface IAMFStringOptions {
|
||||
unit: string;
|
||||
}
|
||||
declare class CxG {
|
||||
toStlString(): string;
|
||||
toStlBinary(): void;
|
||||
toAMFString(AMFStringOptions?: IAMFStringOptions): void;
|
||||
getBounds(): CxG[];
|
||||
transform(matrix4x4: CSG.Matrix4x4): CxG;
|
||||
mirrored(plane: CSG.Plane): CxG;
|
||||
mirroredX(): CxG;
|
||||
mirroredY(): CxG;
|
||||
mirroredZ(): CxG;
|
||||
translate(v: number[]): CxG;
|
||||
translate(v: CSG.Vector3D): CxG;
|
||||
scale(f: CSG.Vector3D): CxG;
|
||||
rotateX(deg: number): CxG;
|
||||
rotateY(deg: number): CxG;
|
||||
rotateZ(deg: number): CxG;
|
||||
rotate(rotationCenter: CSG.Vector3D, rotationAxis: CSG.Vector3D, degrees: number): CxG;
|
||||
rotateEulerAngles(alpha: number, beta: number, gamma: number, position: number[]): CxG;
|
||||
}
|
||||
interface ICenter {
|
||||
center(cAxes: string[]): CxG;
|
||||
}
|
||||
declare class CSG extends CxG implements ICenter {
|
||||
polygons: CSG.Polygon[];
|
||||
properties: CSG.Properties;
|
||||
isCanonicalized: boolean;
|
||||
isRetesselated: boolean;
|
||||
cachedBoundingBox: CSG.Vector3D[];
|
||||
static defaultResolution2D: number;
|
||||
static defaultResolution3D: number;
|
||||
static fromPolygons(polygons: CSG.Polygon[]): CSG;
|
||||
static fromSlices(options: any): CSG;
|
||||
static fromObject(obj: any): CSG;
|
||||
static fromCompactBinary(bin: any): CSG;
|
||||
toPolygons(): CSG.Polygon[];
|
||||
union(csg: CSG[]): CSG;
|
||||
union(csg: CSG): CSG;
|
||||
unionSub(csg: CSG, retesselate?: boolean, canonicalize?: boolean): CSG;
|
||||
unionForNonIntersecting(csg: CSG): CSG;
|
||||
subtract(csg: CSG[]): CSG;
|
||||
subtract(csg: CSG): CSG;
|
||||
subtractSub(csg: CSG, retesselate: boolean, canonicalize: boolean): CSG;
|
||||
intersect(csg: CSG[]): CSG;
|
||||
intersect(csg: CSG): CSG;
|
||||
intersectSub(csg: CSG, retesselate?: boolean, canonicalize?: boolean): CSG;
|
||||
invert(): CSG;
|
||||
transform1(matrix4x4: CSG.Matrix4x4): CSG;
|
||||
transform(matrix4x4: CSG.Matrix4x4): CSG;
|
||||
toString(): string;
|
||||
expand(radius: number, resolution: number): CSG;
|
||||
contract(radius: number, resolution: number): CSG;
|
||||
stretchAtPlane(normal: number[], point: number[], length: number): CSG;
|
||||
expandedShell(radius: number, resolution: number, unionWithThis: boolean): CSG;
|
||||
canonicalized(): CSG;
|
||||
reTesselated(): CSG;
|
||||
getBounds(): CSG.Vector3D[];
|
||||
mayOverlap(csg: CSG): boolean;
|
||||
cutByPlane(plane: CSG.Plane): CSG;
|
||||
connectTo(myConnector: CSG.Connector, otherConnector: CSG.Connector, mirror: boolean, normalrotation: number): CSG;
|
||||
setShared(shared: CSG.Polygon.Shared): CSG;
|
||||
setColor(args: any): CSG;
|
||||
toCompactBinary(): {
|
||||
"class": string;
|
||||
numPolygons: number;
|
||||
numVerticesPerPolygon: Uint32Array;
|
||||
polygonPlaneIndexes: Uint32Array;
|
||||
polygonSharedIndexes: Uint32Array;
|
||||
polygonVertices: Uint32Array;
|
||||
vertexData: Float64Array;
|
||||
planeData: Float64Array;
|
||||
shared: CSG.Polygon.Shared[];
|
||||
};
|
||||
toPointCloud(cuberadius: any): CSG;
|
||||
getTransformationAndInverseTransformationToFlatLying(): any;
|
||||
getTransformationToFlatLying(): any;
|
||||
lieFlat(): CSG;
|
||||
projectToOrthoNormalBasis(orthobasis: CSG.OrthoNormalBasis): CAG;
|
||||
sectionCut(orthobasis: CSG.OrthoNormalBasis): CAG;
|
||||
fixTJunctions(): CSG;
|
||||
toTriangles(): any[];
|
||||
getFeatures(features: any): any;
|
||||
center(cAxes: string[]): CxG;
|
||||
toX3D(): Blob;
|
||||
toStlBinary(): Blob;
|
||||
toStlString(): string;
|
||||
toAMFString(m: IAMFStringOptions): Blob;
|
||||
}
|
||||
declare namespace CSG {
|
||||
function fnNumberSort(a: any, b: any): number;
|
||||
function parseOption(options: any, optionname: any, defaultvalue: any): any;
|
||||
function parseOptionAs3DVector(options: any, optionname: any, defaultvalue: any): Vector3D;
|
||||
function parseOptionAs3DVectorList(options: any, optionname: any, defaultvalue: any): any;
|
||||
function parseOptionAs2DVector(options: any, optionname: any, defaultvalue: any): any;
|
||||
function parseOptionAsFloat(options: any, optionname: any, defaultvalue: any): any;
|
||||
function parseOptionAsInt(options: any, optionname: any, defaultvalue: any): any;
|
||||
function parseOptionAsBool(options: any, optionname: any, defaultvalue: any): any;
|
||||
function cube(options: any): CSG;
|
||||
function sphere(options: any): CSG;
|
||||
function cylinder(options: any): CSG;
|
||||
function roundedCylinder(options: any): CSG;
|
||||
function roundedCube(options: any): CSG;
|
||||
/**
|
||||
* polyhedron accepts openscad style arguments. I.e. define face vertices clockwise looking from outside
|
||||
*/
|
||||
function polyhedron(options: any): CSG;
|
||||
function IsFloat(n: any): boolean;
|
||||
function solve2Linear(a: any, b: any, c: any, d: any, u: any, v: any): number[];
|
||||
class Vector3D extends CxG {
|
||||
x: number;
|
||||
y: number;
|
||||
z: number;
|
||||
constructor(v3: Vector3D);
|
||||
constructor(v2: Vector2D);
|
||||
constructor(v2: number[]);
|
||||
constructor(x: number, y: number);
|
||||
constructor(x: number, y: number, z: number);
|
||||
static Create(x: number, y: number, z: number): Vector3D;
|
||||
clone(): Vector3D;
|
||||
negated(): Vector3D;
|
||||
abs(): Vector3D;
|
||||
plus(a: Vector3D): Vector3D;
|
||||
minus(a: Vector3D): Vector3D;
|
||||
times(a: number): Vector3D;
|
||||
dividedBy(a: number): Vector3D;
|
||||
dot(a: Vector3D): number;
|
||||
lerp(a: Vector3D, t: number): Vector3D;
|
||||
lengthSquared(): number;
|
||||
length(): number;
|
||||
unit(): Vector3D;
|
||||
cross(a: Vector3D): Vector3D;
|
||||
distanceTo(a: Vector3D): number;
|
||||
distanceToSquared(a: Vector3D): number;
|
||||
equals(a: Vector3D): boolean;
|
||||
multiply4x4(matrix4x4: Matrix4x4): Vector3D;
|
||||
transform(matrix4x4: Matrix4x4): Vector3D;
|
||||
toString(): string;
|
||||
randomNonParallelVector(): Vector3D;
|
||||
min(p: Vector3D): Vector3D;
|
||||
max(p: Vector3D): Vector3D;
|
||||
toStlString(): string;
|
||||
toAMFString(): string;
|
||||
}
|
||||
class Vertex extends CxG {
|
||||
pos: Vector3D;
|
||||
tag: number;
|
||||
constructor(pos: Vector3D);
|
||||
static fromObject(obj: any): Vertex;
|
||||
flipped(): Vertex;
|
||||
getTag(): number;
|
||||
interpolate(other: Vertex, t: number): Vertex;
|
||||
transform(matrix4x4: Matrix4x4): Vertex;
|
||||
toString(): string;
|
||||
toStlString(): string;
|
||||
toAMFString(): string;
|
||||
}
|
||||
class Plane extends CxG {
|
||||
normal: Vector3D;
|
||||
w: number;
|
||||
tag: number;
|
||||
constructor(normal: Vector3D, w: number);
|
||||
static fromObject(obj: any): Plane;
|
||||
static EPSILON: number;
|
||||
static fromVector3Ds(a: Vector3D, b: Vector3D, c: Vector3D): Plane;
|
||||
static anyPlaneFromVector3Ds(a: Vector3D, b: Vector3D, c: Vector3D): Plane;
|
||||
static fromPoints(a: Vector3D, b: Vector3D, c: Vector3D): Plane;
|
||||
static fromNormalAndPoint(normal: Vector3D, point: Vector3D): Plane;
|
||||
static fromNormalAndPoint(normal: number[], point: number[]): Plane;
|
||||
flipped(): Plane;
|
||||
getTag(): number;
|
||||
equals(n: Plane): boolean;
|
||||
transform(matrix4x4: Matrix4x4): Plane;
|
||||
splitPolygon(polygon: Polygon): {
|
||||
type: any;
|
||||
front: any;
|
||||
back: any;
|
||||
};
|
||||
splitLineBetweenPoints(p1: Vector3D, p2: Vector3D): Vector3D;
|
||||
intersectWithLine(line3d: Line3D): Vector3D;
|
||||
intersectWithPlane(plane: Plane): Line3D;
|
||||
signedDistanceToPoint(point: Vector3D): number;
|
||||
toString(): string;
|
||||
mirrorPoint(point3d: Vector3D): Vector3D;
|
||||
}
|
||||
class Polygon extends CxG {
|
||||
vertices: Vertex[];
|
||||
shared: Polygon.Shared;
|
||||
plane: Plane;
|
||||
cachedBoundingSphere: any;
|
||||
cachedBoundingBox: Vector3D[];
|
||||
static defaultShared: CSG.Polygon.Shared;
|
||||
constructor(vertices: Vector3D, shared?: Polygon.Shared, plane?: Plane);
|
||||
constructor(vertices: Vertex[], shared?: Polygon.Shared, plane?: Plane);
|
||||
static fromObject(obj: any): Polygon;
|
||||
checkIfConvex(): void;
|
||||
setColor(args: any): Polygon;
|
||||
getSignedVolume(): number;
|
||||
getArea(): number;
|
||||
getTetraFeatures(features: any): any[];
|
||||
extrude(offsetvector: any): CSG;
|
||||
boundingSphere(): any;
|
||||
boundingBox(): Vector3D[];
|
||||
flipped(): Polygon;
|
||||
transform(matrix4x4: Matrix4x4): Polygon;
|
||||
toString(): string;
|
||||
projectToOrthoNormalBasis(orthobasis: OrthoNormalBasis): CAG;
|
||||
/**
|
||||
* Creates solid from slices (CSG.Polygon) by generating walls
|
||||
* @param {Object} options Solid generating options
|
||||
* - numslices {Number} Number of slices to be generated
|
||||
* - callback(t, slice) {Function} Callback function generating slices.
|
||||
* arguments: t = [0..1], slice = [0..numslices - 1]
|
||||
* return: CSG.Polygon or null to skip
|
||||
* - loop {Boolean} no flats, only walls, it's used to generate solids like a tor
|
||||
*/
|
||||
solidFromSlices(options: any): CSG;
|
||||
/**
|
||||
*
|
||||
* @param walls Array of wall polygons
|
||||
* @param bottom Bottom polygon
|
||||
* @param top Top polygon
|
||||
*/
|
||||
private _addWalls(walls, bottom, top, bFlipped);
|
||||
static verticesConvex(vertices: Vertex[], planenormal: any): boolean;
|
||||
static createFromPoints(points: number[][], shared?: CSG.Polygon.Shared, plane?: Plane): Polygon;
|
||||
static isConvexPoint(prevpoint: any, point: any, nextpoint: any, normal: any): boolean;
|
||||
static isStrictlyConvexPoint(prevpoint: any, point: any, nextpoint: any, normal: any): boolean;
|
||||
toStlString(): string;
|
||||
}
|
||||
}
|
||||
declare namespace CSG.Polygon {
|
||||
class Shared {
|
||||
color: any;
|
||||
tag: any;
|
||||
constructor(color: any);
|
||||
static fromObject(obj: any): Shared;
|
||||
static fromColor(args: any): Shared;
|
||||
getTag(): any;
|
||||
getHash(): any;
|
||||
}
|
||||
}
|
||||
declare namespace CSG {
|
||||
class PolygonTreeNode {
|
||||
parent: any;
|
||||
children: any;
|
||||
polygon: Polygon;
|
||||
removed: boolean;
|
||||
constructor();
|
||||
addPolygons(polygons: any): void;
|
||||
remove(): void;
|
||||
isRemoved(): boolean;
|
||||
isRootNode(): boolean;
|
||||
invert(): void;
|
||||
getPolygon(): Polygon;
|
||||
getPolygons(result: Polygon[]): void;
|
||||
splitByPlane(plane: any, coplanarfrontnodes: any, coplanarbacknodes: any, frontnodes: any, backnodes: any): void;
|
||||
_splitByPlane(plane: any, coplanarfrontnodes: any, coplanarbacknodes: any, frontnodes: any, backnodes: any): void;
|
||||
addChild(polygon: Polygon): PolygonTreeNode;
|
||||
invertSub(): void;
|
||||
recursivelyInvalidatePolygon(): void;
|
||||
}
|
||||
class Tree {
|
||||
polygonTree: PolygonTreeNode;
|
||||
rootnode: Node;
|
||||
constructor(polygons: Polygon[]);
|
||||
invert(): void;
|
||||
clipTo(tree: Tree, alsoRemovecoplanarFront?: boolean): void;
|
||||
allPolygons(): Polygon[];
|
||||
addPolygons(polygons: Polygon[]): void;
|
||||
}
|
||||
class Node {
|
||||
parent: Node;
|
||||
plane: Plane;
|
||||
front: any;
|
||||
back: any;
|
||||
polygontreenodes: PolygonTreeNode[];
|
||||
constructor(parent: Node);
|
||||
invert(): void;
|
||||
clipPolygons(polygontreenodes: PolygonTreeNode[], alsoRemovecoplanarFront: boolean): void;
|
||||
clipTo(tree: Tree, alsoRemovecoplanarFront: boolean): void;
|
||||
addPolygonTreeNodes(polygontreenodes: PolygonTreeNode[]): void;
|
||||
getParentPlaneNormals(normals: Vector3D[], maxdepth: number): void;
|
||||
}
|
||||
class Matrix4x4 {
|
||||
elements: number[];
|
||||
constructor(elements?: number[]);
|
||||
plus(m: Matrix4x4): Matrix4x4;
|
||||
minus(m: Matrix4x4): Matrix4x4;
|
||||
multiply(m: Matrix4x4): Matrix4x4;
|
||||
clone(): Matrix4x4;
|
||||
rightMultiply1x3Vector(v: Vector3D): Vector3D;
|
||||
leftMultiply1x3Vector(v: Vector3D): Vector3D;
|
||||
rightMultiply1x2Vector(v: Vector2D): Vector2D;
|
||||
leftMultiply1x2Vector(v: Vector2D): Vector2D;
|
||||
isMirroring(): boolean;
|
||||
static unity(): Matrix4x4;
|
||||
static rotationX(degrees: number): Matrix4x4;
|
||||
static rotationY(degrees: number): Matrix4x4;
|
||||
static rotationZ(degrees: number): Matrix4x4;
|
||||
static rotation(rotationCenter: CSG.Vector3D, rotationAxis: CSG.Vector3D, degrees: number): Matrix4x4;
|
||||
static translation(v: number[]): Matrix4x4;
|
||||
static translation(v: Vector3D): Matrix4x4;
|
||||
static mirroring(plane: Plane): Matrix4x4;
|
||||
static scaling(v: number[]): Matrix4x4;
|
||||
static scaling(v: Vector3D): Matrix4x4;
|
||||
}
|
||||
class Vector2D extends CxG {
|
||||
x: number;
|
||||
y: number;
|
||||
constructor(x: number, y: number);
|
||||
constructor(x: number[]);
|
||||
constructor(x: Vector2D);
|
||||
static fromAngle(radians: number): Vector2D;
|
||||
static fromAngleDegrees(degrees: number): Vector2D;
|
||||
static fromAngleRadians(radians: number): Vector2D;
|
||||
static Create(x: number, y: number): Vector2D;
|
||||
toVector3D(z: number): Vector3D;
|
||||
equals(a: Vector2D): boolean;
|
||||
clone(): Vector2D;
|
||||
negated(): Vector2D;
|
||||
plus(a: Vector2D): Vector2D;
|
||||
minus(a: Vector2D): Vector2D;
|
||||
times(a: number): Vector2D;
|
||||
dividedBy(a: number): Vector2D;
|
||||
dot(a: Vector2D): number;
|
||||
lerp(a: Vector2D, t: number): Vector2D;
|
||||
length(): number;
|
||||
distanceTo(a: Vector2D): number;
|
||||
distanceToSquared(a: Vector2D): number;
|
||||
lengthSquared(): number;
|
||||
unit(): Vector2D;
|
||||
cross(a: Vector2D): number;
|
||||
normal(): Vector2D;
|
||||
multiply4x4(matrix4x4: Matrix4x4): Vector2D;
|
||||
transform(matrix4x4: Matrix4x4): Vector2D;
|
||||
angle(): number;
|
||||
angleDegrees(): number;
|
||||
angleRadians(): number;
|
||||
min(p: Vector2D): Vector2D;
|
||||
max(p: Vector2D): Vector2D;
|
||||
toString(): string;
|
||||
abs(): Vector2D;
|
||||
}
|
||||
class Line2D extends CxG {
|
||||
normal: Vector2D;
|
||||
w: number;
|
||||
constructor(normal: Vector2D, w: number);
|
||||
static fromPoints(p1: Vector2D, p2: Vector2D): Line2D;
|
||||
reverse(): Line2D;
|
||||
equals(l: Line2D): boolean;
|
||||
origin(): Vector2D;
|
||||
direction(): Vector2D;
|
||||
xAtY(y: number): number;
|
||||
absDistanceToPoint(point: Vector2D): number;
|
||||
intersectWithLine(line2d: Line2D): Vector2D;
|
||||
transform(matrix4x4: Matrix4x4): Line2D;
|
||||
}
|
||||
class Line3D extends CxG {
|
||||
point: Vector3D;
|
||||
direction: Vector3D;
|
||||
constructor(point: Vector3D, direction: Vector3D);
|
||||
static fromPoints(p1: Vector3D, p2: Vector3D): Line3D;
|
||||
static fromPlanes(p1: Plane, p2: Plane): Line3D;
|
||||
intersectWithPlane(plane: Plane): Vector3D;
|
||||
clone(): Line3D;
|
||||
reverse(): Line3D;
|
||||
transform(matrix4x4: Matrix4x4): Line3D;
|
||||
closestPointOnLine(point: Vector3D): Vector3D;
|
||||
distanceToPoint(point: Vector3D): number;
|
||||
equals(line3d: Line3D): boolean;
|
||||
}
|
||||
class OrthoNormalBasis extends CxG {
|
||||
v: Vector3D;
|
||||
u: Vector3D;
|
||||
plane: Plane;
|
||||
planeorigin: Vector3D;
|
||||
constructor(plane: Plane, rightvector?: Vector3D);
|
||||
static GetCartesian(xaxisid: string, yaxisid: string): OrthoNormalBasis;
|
||||
static Z0Plane(): OrthoNormalBasis;
|
||||
getProjectionMatrix(): Matrix4x4;
|
||||
getInverseProjectionMatrix(): Matrix4x4;
|
||||
to2D(vec3: Vector3D): Vector2D;
|
||||
to3D(vec2: Vector2D): Vector3D;
|
||||
line3Dto2D(line3d: Line3D): Line2D;
|
||||
line2Dto3D(line2d: Line2D): Line3D;
|
||||
transform(matrix4x4: Matrix4x4): OrthoNormalBasis;
|
||||
}
|
||||
function interpolateBetween2DPointsForY(point1: Vector2D, point2: Vector2D, y: number): number;
|
||||
function reTesselateCoplanarPolygons(sourcepolygons: CSG.Polygon[], destpolygons: CSG.Polygon[]): void;
|
||||
class fuzzyFactory {
|
||||
multiplier: number;
|
||||
lookuptable: any;
|
||||
constructor(numdimensions: number, tolerance: number);
|
||||
lookupOrCreate(els: any, creatorCallback: any): any;
|
||||
}
|
||||
class fuzzyCSGFactory {
|
||||
vertexfactory: fuzzyFactory;
|
||||
planefactory: fuzzyFactory;
|
||||
polygonsharedfactory: any;
|
||||
constructor();
|
||||
getPolygonShared(sourceshared: Polygon.Shared): Polygon.Shared;
|
||||
getVertex(sourcevertex: Vertex): Vertex;
|
||||
getPlane(sourceplane: Plane): Plane;
|
||||
getPolygon(sourcepolygon: Polygon): Polygon;
|
||||
getCSG(sourcecsg: CSG): CSG;
|
||||
}
|
||||
var staticTag: number;
|
||||
function getTag(): number;
|
||||
class Properties {
|
||||
cube: Properties;
|
||||
center: any;
|
||||
facecenters: any[];
|
||||
roundedCube: Properties;
|
||||
cylinder: Properties;
|
||||
start: any;
|
||||
end: any;
|
||||
facepointH: any;
|
||||
facepointH90: any;
|
||||
sphere: Properties;
|
||||
facepoint: any;
|
||||
roundedCylinder: any;
|
||||
_transform(matrix4x4: Matrix4x4): Properties;
|
||||
_merge(otherproperties: Properties): Properties;
|
||||
static transformObj(source: any, result: any, matrix4x4: Matrix4x4): void;
|
||||
static cloneObj(source: any, result: any): void;
|
||||
static addFrom(result: any, otherproperties: Properties): void;
|
||||
}
|
||||
class Connector extends CxG {
|
||||
point: Vector3D;
|
||||
axisvector: Vector3D;
|
||||
normalvector: Vector3D;
|
||||
constructor(point: number[], axisvector: Vector3D, normalvector: number[]);
|
||||
constructor(point: number[], axisvector: number[], normalvector: number[]);
|
||||
constructor(point: number[], axisvector: number[], normalvector: Vector3D);
|
||||
constructor(point: Vector3D, axisvector: number[], normalvector: Vector3D);
|
||||
constructor(point: Vector3D, axisvector: number[], normalvector: number[]);
|
||||
constructor(point: Vector3D, axisvector: Vector3D, normalvector: Vector3D);
|
||||
normalized(): Connector;
|
||||
transform(matrix4x4: Matrix4x4): Connector;
|
||||
getTransformationTo(other: Connector, mirror: boolean, normalrotation: number): Matrix4x4;
|
||||
axisLine(): Line3D;
|
||||
extend(distance: number): Connector;
|
||||
}
|
||||
class ConnectorList {
|
||||
connectors_: Connector[];
|
||||
closed: boolean;
|
||||
constructor(connectors: Connector[]);
|
||||
static defaultNormal: number[];
|
||||
static fromPath2D(path2D: CSG.Path2D, arg1: any, arg2: any): ConnectorList;
|
||||
static _fromPath2DTangents(path2D: any, start: any, end: any): ConnectorList;
|
||||
static _fromPath2DExplicit(path2D: any, angleIsh: any): ConnectorList;
|
||||
setClosed(bool: boolean): void;
|
||||
appendConnector(conn: Connector): void;
|
||||
followWith(cagish: any): CSG;
|
||||
verify(): void;
|
||||
}
|
||||
interface IRadiusOptions {
|
||||
radius?: number;
|
||||
resolution?: number;
|
||||
}
|
||||
interface ICircleOptions extends IRadiusOptions {
|
||||
center?: Vector2D | number[];
|
||||
}
|
||||
interface IArcOptions extends ICircleOptions {
|
||||
startangle?: number;
|
||||
endangle?: number;
|
||||
maketangent?: boolean;
|
||||
}
|
||||
interface IEllpiticalArcOptions extends IRadiusOptions {
|
||||
clockwise?: boolean;
|
||||
large?: boolean;
|
||||
xaxisrotation?: number;
|
||||
xradius?: number;
|
||||
yradius?: number;
|
||||
}
|
||||
interface IRectangleOptions {
|
||||
center?: Vector2D;
|
||||
corner1?: Vector2D;
|
||||
corner2?: Vector2D;
|
||||
radius?: Vector2D;
|
||||
}
|
||||
interface IRoundRectangleOptions {
|
||||
roundradius: number;
|
||||
resolution?: number;
|
||||
}
|
||||
class Path2D extends CxG {
|
||||
closed: boolean;
|
||||
points: Vector2D[];
|
||||
lastBezierControlPoint: Vector2D;
|
||||
constructor(points: number[], closed?: boolean);
|
||||
constructor(points: Vector2D[], closed?: boolean);
|
||||
static arc(options: IArcOptions): Path2D;
|
||||
concat(otherpath: Path2D): Path2D;
|
||||
appendPoint(point: Vector2D): Path2D;
|
||||
appendPoints(points: Vector2D[]): Path2D;
|
||||
close(): Path2D;
|
||||
rectangularExtrude(width: number, height: number, resolution: number): CSG;
|
||||
expandToCAG(pathradius: number, resolution: number): CAG;
|
||||
innerToCAG(): CAG;
|
||||
transform(matrix4x4: Matrix4x4): Path2D;
|
||||
appendBezier(controlpoints: any, options: any): Path2D;
|
||||
appendArc(endpoint: Vector2D, options: IEllpiticalArcOptions): Path2D;
|
||||
}
|
||||
}
|
||||
declare class CAG extends CxG implements ICenter {
|
||||
sides: CAG.Side[];
|
||||
isCanonicalized: boolean;
|
||||
constructor();
|
||||
static fromSides(sides: CAG.Side[]): CAG;
|
||||
static fromPoints(points: CSG.Vector2D[]): CAG;
|
||||
static fromPointsNoCheck(points: CSG.Vector2D[]): CAG;
|
||||
static fromFakeCSG(csg: CSG): CAG;
|
||||
static linesIntersect(p0start: CSG.Vector2D, p0end: CSG.Vector2D, p1start: CSG.Vector2D, p1end: CSG.Vector2D): boolean;
|
||||
static circle(options: CSG.ICircleOptions): CAG;
|
||||
static rectangle(options: CSG.IRectangleOptions): CAG;
|
||||
static roundedRectangle(options: any): CAG;
|
||||
static fromCompactBinary(bin: any): CAG;
|
||||
toString(): string;
|
||||
_toCSGWall(z0: any, z1: any): CSG;
|
||||
_toVector3DPairs(m: CSG.Matrix4x4): CSG.Vector3D[][];
|
||||
_toPlanePolygons(options: any): CSG.Polygon[];
|
||||
_toWallPolygons(options: any): any[];
|
||||
union(cag: CAG[]): CAG;
|
||||
union(cag: CAG): CAG;
|
||||
subtract(cag: CAG[]): CAG;
|
||||
subtract(cag: CAG): CAG;
|
||||
intersect(cag: CAG[]): CAG;
|
||||
intersect(cag: CAG): CAG;
|
||||
transform(matrix4x4: CSG.Matrix4x4): CAG;
|
||||
area(): number;
|
||||
flipped(): CAG;
|
||||
getBounds(): CSG.Vector2D[];
|
||||
isSelfIntersecting(): boolean;
|
||||
expandedShell(radius: number, resolution: number): CAG;
|
||||
expand(radius: number, resolution: number): CAG;
|
||||
contract(radius: number, resolution: number): CAG;
|
||||
extrudeInOrthonormalBasis(orthonormalbasis: CSG.OrthoNormalBasis, depth: number, options?: any): CSG;
|
||||
extrudeInPlane(axis1: any, axis2: any, depth: any, options: any): CSG;
|
||||
extrude(options: CAG_extrude_options): CSG;
|
||||
rotateExtrude(options: any): CSG;
|
||||
check(): void;
|
||||
canonicalized(): CAG;
|
||||
toCompactBinary(): {
|
||||
'class': string;
|
||||
sideVertexIndices: Uint32Array;
|
||||
vertexData: Float64Array;
|
||||
};
|
||||
getOutlinePaths(): CSG.Path2D[];
|
||||
overCutInsideCorners(cutterradius: any): CAG;
|
||||
center(cAxes: string[]): CxG;
|
||||
toDxf(): Blob;
|
||||
static PathsToDxf(paths: CSG.Path2D[]): Blob;
|
||||
}
|
||||
declare namespace CAG {
|
||||
class Vertex {
|
||||
pos: CSG.Vector2D;
|
||||
tag: number;
|
||||
constructor(pos: CSG.Vector2D);
|
||||
toString(): string;
|
||||
getTag(): number;
|
||||
}
|
||||
class Side extends CxG {
|
||||
vertex0: Vertex;
|
||||
vertex1: Vertex;
|
||||
tag: number;
|
||||
constructor(vertex0: Vertex, vertex1: Vertex);
|
||||
static _fromFakePolygon(polygon: CSG.Polygon): Side;
|
||||
toString(): string;
|
||||
toPolygon3D(z0: any, z1: any): CSG.Polygon;
|
||||
transform(matrix4x4: CSG.Matrix4x4): Side;
|
||||
flipped(): Side;
|
||||
direction(): CSG.Vector2D;
|
||||
getTag(): number;
|
||||
lengthSquared(): number;
|
||||
length(): number;
|
||||
}
|
||||
class fuzzyCAGFactory {
|
||||
vertexfactory: CSG.fuzzyFactory;
|
||||
constructor();
|
||||
getVertex(sourcevertex: Vertex): Vertex;
|
||||
getSide(sourceside: Side): Side;
|
||||
getCAG(sourcecag: CAG): CAG;
|
||||
}
|
||||
}
|
||||
interface CAG_extrude_options {
|
||||
offset?: number[];
|
||||
twistangle?: number;
|
||||
twiststeps?: number;
|
||||
}
|
||||
declare namespace CSG {
|
||||
class Polygon2D extends CAG {
|
||||
constructor(points: Vector2D[]);
|
||||
}
|
||||
}
|
||||
@@ -1,18 +1,26 @@
|
||||
Please fill in this template.
|
||||
|
||||
- [ ] Prefer to make your PR against the `types-2.0` branch.
|
||||
- [ ] Make your PR against the `master` branch.
|
||||
- [ ] Use a meaningful title for the pull request. Include the name of the package modified.
|
||||
- [ ] Test the change in your own code.
|
||||
- [ ] Test the change in your own code. (Compile and run.)
|
||||
- [ ] Follow the advice from the [readme](https://github.com/DefinitelyTyped/DefinitelyTyped#make-a-pull-request).
|
||||
- [ ] Avoid [common mistakes](https://github.com/DefinitelyTyped/DefinitelyTyped#common-mistakes).
|
||||
- [ ] Run `npm run lint -- package-name` if a `tslint.json` is present.
|
||||
- [ ] Run `tsc` without errors.
|
||||
- [ ] Run `npm run lint package-name` if a `tslint.json` is present.
|
||||
|
||||
Select one of these and delete the others:
|
||||
|
||||
If adding a new definition:
|
||||
- [ ] The package does not provide its own types, and you can not add them.
|
||||
- [ ] If this is for an NPM package, match the name. If not, do not conflict with the name of an NPM package.
|
||||
- [ ] Run `tsc` without errors.
|
||||
- [ ] Include the required [files](https://github.com/DefinitelyTyped/DefinitelyTyped#create-a-new-package) and header. Base these on the README, *not* on an existing project.
|
||||
- [ ] Create it with `npm run new-package package-name`, not by basing it on an existing project.
|
||||
|
||||
If changing an existing definition:
|
||||
- [ ] Provide a URL to documentation or source code which provides context for the suggested changes: <<url here>>
|
||||
- [ ] Increase the version number in the header if appropriate.
|
||||
- [ ] If you are making substantial changes, consider adding a `tslint.json` containing `{ "extends": "../tslint.json" }`.
|
||||
|
||||
If removing a declaration:
|
||||
- [ ] If a package was never on DefinitelyTyped, you don't need to do anything. (If you wrote a package and provided types, you don't need to register it with us.)
|
||||
- [ ] Delete the package's directory.
|
||||
- [ ] Add it to `notNeededPackages.json`.
|
||||
|
||||
@@ -38,7 +38,7 @@ or just look for any ".d.ts" files in the package and manually include them with
|
||||
These can be used by TypeScript 1.0.
|
||||
|
||||
* [Typings](https://github.com/typings/typings)
|
||||
* [NuGet](http://nuget.org/Tpackages?q=DefinitelyTyped)
|
||||
* ~~[NuGet](http://nuget.org/Tpackages?q=DefinitelyTyped)~~ (use preferred alternatives, nuget DT type publishing has been turned off)
|
||||
* Manually download from the `master` branch of this repository
|
||||
|
||||
You may need to add manual [references](http://www.typescriptlang.org/docs/handbook/triple-slash-directives.html).
|
||||
@@ -78,13 +78,7 @@ Once you've tested your definitions with real code, make a PR contributing the d
|
||||
|
||||
Once you've tested your package, you can share it on DefinitelyTyped.
|
||||
|
||||
First, [fork](https://guides.github.com/activities/forking/) this repository.
|
||||
Then inside your repository:
|
||||
|
||||
* `git checkout types-2.0`
|
||||
|
||||
New work should generally be done on the `types-2.0` branch.
|
||||
If you want your changes to be available to `typings` users, then you may edit `master` instead.
|
||||
First, [fork](https://guides.github.com/activities/forking/) this repository, install [node](https://nodejs.org/), and run `npm install`.
|
||||
|
||||
|
||||
#### Edit an existing package
|
||||
@@ -121,7 +115,7 @@ You may edit the `tsconfig.json` to add new files or to add the `"jsx"` compiler
|
||||
|
||||
DefinitelyTyped members routinely monitor for new PRs, though keep in mind that the number of other PRs may slow things down.
|
||||
|
||||
For a good example package, see [base64-js](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/types-2.0/base64-js).
|
||||
For a good example package, see [base64-js](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/base64-js).
|
||||
|
||||
|
||||
#### Common mistakes
|
||||
@@ -149,15 +143,14 @@ For a good example package, see [base64-js](https://github.com/DefinitelyTyped/D
|
||||
#### Removing a package
|
||||
|
||||
When a package [bundles](http://www.typescriptlang.org/docs/handbook/declaration-files/publishing.html) its own types, types should be removed from DefinitelyTyped to avoid confusion.
|
||||
Make a PR doing the following:
|
||||
* Delete the directory.
|
||||
* Add a new entry to `notNeededPackages.json`.
|
||||
- `libraryName`: Descriptive name of the library, e.g. "Angular 2" instead of "angular2". (May be identical to "typingsPackageName".)
|
||||
- `typingsPackageName`: This is the name of the directory you just deleted.
|
||||
- `sourceRepoURL`: This should point to the repository that contains the typings.
|
||||
- `asOfVersion`: A stub will be published to `@types/foo` with this version. Should be higher than any currently published version.
|
||||
* Any other packages in DefinitelyTyped that referenced the deleted package should be updated to reference the bundled types.
|
||||
To do this, add a `package.json` with `"dependencies": { "foo": "x.y.z" }`.
|
||||
|
||||
You can remove it by running `npm run not-needed -- typingsPackageName asOfVersion sourceRepoURL [libraryName]`.
|
||||
- `typingsPackageName`: This is the name of the directory to delete.
|
||||
- `asOfVersion`: A stub will be published to `@types/foo` with this version. Should be higher than any currently published version.
|
||||
- `sourceRepoURL`: This should point to the repository that contains the typings.
|
||||
- `libraryName`: Descriptive name of the library, e.g. "Angular 2" instead of "angular2". (If ommitted, will be identical to "typingsPackageName".)
|
||||
|
||||
Any other packages in DefinitelyTyped that referenced the deleted package should be updated to reference the bundled types. To do this, add a `package.json` with `"dependencies": { "foo": "x.y.z" }`.
|
||||
|
||||
If a package was never on DefinitelyTyped, it does not need to be added to `notNeededPackages.json`.
|
||||
|
||||
@@ -187,11 +180,9 @@ Test the linter by running `npm run lint -- package-name`. Do not use a globally
|
||||
|
||||
#### What exactly is the relationship between this repository and the `@types` packages on NPM?
|
||||
|
||||
The `types-2.0` branch is automatically published to the `@types` scope on NPM thanks to [types-publisher](https://github.com/Microsoft/types-publisher).
|
||||
The `master` branch is automatically published to the `@types` scope on NPM thanks to [types-publisher](https://github.com/Microsoft/types-publisher).
|
||||
This usually happens within an hour of changes being merged.
|
||||
|
||||
Changes to the `master` branch are also manually merged into the `types-2.0` branch, but this takes longer.
|
||||
|
||||
#### I'm writing a definition that depends on another definition. Should I use `<reference types="" />` or an import?
|
||||
|
||||
If the module you're referencing is an external module (uses `export`), use an import.
|
||||
@@ -205,19 +196,14 @@ If you're adding a new major version of a library, you can copy `index.d.ts` to
|
||||
#### I notice some packages having a `package.json` here.
|
||||
|
||||
Usually you won't need this. When publishing a package we will normally automatically create a `package.json` for it.
|
||||
A `package.json` may be included for the sake of specifying dependencies. Here's an [example](https://github.com/DefinitelyTyped/DefinitelyTyped/blob/types-2.0/pikaday/package.json).
|
||||
A `package.json` may be included for the sake of specifying dependencies. Here's an [example](https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/pikaday/package.json).
|
||||
We do not allow other fields, such as `"description"`, to be defined manually.
|
||||
Also, if you need to reference an older version of typings, you must do that by adding `"dependencies": { "@types/foo": "x.y.z" }` to the package.json.
|
||||
|
||||
#### I notice some `tsconfig.json` are missing `"noImplicitAny": true` or `"strictNullChecks": true`.
|
||||
#### Some packages have no `tslint.json`, and some `tsconfig.json` are missing `"noImplicitAny": true`, `"noImplicitThis": true`, or `"strictNullChecks": true`.
|
||||
|
||||
Then they are wrong. You can help by submitting a pull request to fix them.
|
||||
|
||||
#### Definitions in types-2.0 seem written differently than in master.
|
||||
|
||||
If you're targeting types-2.0, write it like the types-2.0 definitions.
|
||||
If you're targeting master, we may change it to the new style when merging from master to types-2.0.
|
||||
|
||||
#### Can I request a definition?
|
||||
|
||||
Here are the [currently requested definitions](https://github.com/DefinitelyTyped/DefinitelyTyped/labels/Definition%3ARequest).
|
||||
@@ -226,6 +212,23 @@ Here are the [currently requested definitions](https://github.com/DefinitelyType
|
||||
|
||||
If types are part of a web standard, they should be contributed to [TSJS-lib-generator](https://github.com/Microsoft/TSJS-lib-generator) so that they can become part of the default `lib.dom.d.ts`.
|
||||
|
||||
### A package uses `export =`, but I prefer to use default imports. Can I change `export =` to `export default`?
|
||||
|
||||
If default imports work in your environment, consider turning on the [`--allowSyntheticDefaultImports`](http://www.typescriptlang.org/docs/handbook/compiler-options.html) compiler option.
|
||||
Do not change the type definition if it is accurate.
|
||||
For an NPM package, `export =` is accurate if `node -p 'require("foo")'` is the export, and `export default` is accurate if `node -p 'require("foo").default'` is the export.
|
||||
|
||||
#### I want to use features from TypeScript 2.1.
|
||||
|
||||
Then you will have to add a comment to your definition header: `// TypeScript Version: 2.1`.
|
||||
If it is merged before January 7, it will be published as a prerelease version, such as `4.3.0-next.0`.
|
||||
|
||||
#### I want to add a DOM API not present in TypeScript by default.
|
||||
|
||||
This may belong in [TSJS-Lib-Generator](https://github.com/Microsoft/TSJS-lib-generator#readme). See the guidelines there.
|
||||
If the standard is still a draft, it belongs here.
|
||||
Use a name beginning with `dom-` and include a link to the standard as the "Project" link in the header.
|
||||
When it graduates draft mode, we may remove it from DefinitelyTyped and deprecate the associated `@types` package.
|
||||
|
||||
## License
|
||||
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
/// <reference path="_debugger.d.ts"/>
|
||||
import _debugger = require("_debugger");
|
||||
var {Client} = _debugger;
|
||||
|
||||
var client = new Client();
|
||||
|
||||
client.connect(8888, 'localhost');
|
||||
client.listbreakpoints((err, res) => {
|
||||
|
||||
});
|
||||
Vendored
-135
@@ -1,135 +0,0 @@
|
||||
// Type definitions for Node.js debugger API
|
||||
// Project: http://nodejs.org/
|
||||
// Definitions by: Basarat Ali Syed <https://github.com/basarat>
|
||||
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
||||
|
||||
/// <reference path="../node/node.d.ts"/>
|
||||
|
||||
declare namespace NodeJS {
|
||||
export module _debugger {
|
||||
export interface Packet {
|
||||
raw: string;
|
||||
headers: string[];
|
||||
body: Message;
|
||||
}
|
||||
|
||||
export interface Message {
|
||||
seq: number;
|
||||
type: string;
|
||||
}
|
||||
|
||||
export interface RequestInfo {
|
||||
command: string;
|
||||
arguments: any;
|
||||
}
|
||||
|
||||
export interface Request extends Message, RequestInfo {
|
||||
}
|
||||
|
||||
export interface Event extends Message {
|
||||
event: string;
|
||||
body?: any;
|
||||
}
|
||||
|
||||
export interface Response extends Message {
|
||||
request_seq: number;
|
||||
success: boolean;
|
||||
/** Contains error message if success === false. */
|
||||
message?: string;
|
||||
/** Contains message body if success === true. */
|
||||
body?: any;
|
||||
}
|
||||
|
||||
export interface BreakpointMessageBody {
|
||||
type: string;
|
||||
target: number;
|
||||
line: number;
|
||||
}
|
||||
|
||||
export class Protocol {
|
||||
res: Packet;
|
||||
state: string;
|
||||
execute(data: string): void;
|
||||
serialize(rq: Request): string;
|
||||
onResponse: (pkt: Packet) => void;
|
||||
}
|
||||
|
||||
export var NO_FRAME: number;
|
||||
export var port: number;
|
||||
|
||||
export interface ScriptDesc {
|
||||
name: string;
|
||||
id: number;
|
||||
isNative?: boolean;
|
||||
handle?: number;
|
||||
type: string;
|
||||
lineOffset?: number;
|
||||
columnOffset?: number;
|
||||
lineCount?: number;
|
||||
}
|
||||
|
||||
export interface Breakpoint {
|
||||
id: number;
|
||||
scriptId: number;
|
||||
script: ScriptDesc;
|
||||
line: number;
|
||||
condition?: string;
|
||||
scriptReq?: string;
|
||||
}
|
||||
|
||||
export interface RequestHandler {
|
||||
(err: boolean, body: Message, res: Packet): void;
|
||||
request_seq?: number;
|
||||
}
|
||||
|
||||
export interface ResponseBodyHandler {
|
||||
(err: boolean, body?: any): void;
|
||||
request_seq?: number;
|
||||
}
|
||||
|
||||
export interface ExceptionInfo {
|
||||
text: string;
|
||||
}
|
||||
|
||||
export interface BreakResponse {
|
||||
script?: ScriptDesc;
|
||||
exception?: ExceptionInfo;
|
||||
sourceLine: number;
|
||||
sourceLineText: string;
|
||||
sourceColumn: number;
|
||||
}
|
||||
|
||||
export function SourceInfo(body: BreakResponse): string;
|
||||
|
||||
export interface ClientInstance extends EventEmitter {
|
||||
protocol: Protocol;
|
||||
scripts: ScriptDesc[];
|
||||
handles: ScriptDesc[];
|
||||
breakpoints: Breakpoint[];
|
||||
currentSourceLine: number;
|
||||
currentSourceColumn: number;
|
||||
currentSourceLineText: string;
|
||||
currentFrame: number;
|
||||
currentScript: string;
|
||||
|
||||
connect(port: number, host: string): void;
|
||||
req(req: any, cb: RequestHandler): void;
|
||||
reqFrameEval(code: string, frame: number, cb: RequestHandler): void;
|
||||
mirrorObject(obj: any, depth: number, cb: ResponseBodyHandler): void;
|
||||
setBreakpoint(rq: BreakpointMessageBody, cb: RequestHandler): void;
|
||||
clearBreakpoint(rq: Request, cb: RequestHandler): void;
|
||||
listbreakpoints(cb: RequestHandler): void;
|
||||
reqSource(from: number, to: number, cb: RequestHandler): void;
|
||||
reqScripts(cb: any): void;
|
||||
reqContinue(cb: RequestHandler): void;
|
||||
}
|
||||
|
||||
export var Client : {
|
||||
new (): ClientInstance
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
declare module "_debugger"{
|
||||
export = NodeJS._debugger;
|
||||
}
|
||||
+1
-3
@@ -1,5 +1,3 @@
|
||||
/// <reference path="./abs.d.ts" />
|
||||
|
||||
import Abs from 'abs';
|
||||
import Abs = require('abs');
|
||||
|
||||
const x: string = Abs('/foo');
|
||||
|
||||
Vendored
-14
@@ -1,14 +0,0 @@
|
||||
// Type definitions for abs 1.1.0
|
||||
// Project: https://github.com/IonicaBizau/node-abs
|
||||
// Definitions by: Aya Morisawa <https://github.com/AyaMorisawa>
|
||||
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
||||
|
||||
declare module "abs" {
|
||||
/**
|
||||
* Compute the absolute path of an input.
|
||||
* @param input The input path.
|
||||
*/
|
||||
function Abs(input: string): string;
|
||||
|
||||
export default Abs;
|
||||
}
|
||||
Vendored
+11
@@ -0,0 +1,11 @@
|
||||
// Type definitions for abs 1.3
|
||||
// Project: https://github.com/IonicaBizau/node-abs
|
||||
// Definitions by: Aya Morisawa <https://github.com/AyaMorisawa>
|
||||
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
||||
|
||||
/**
|
||||
* Compute the absolute path of an input.
|
||||
* @param input The input path.
|
||||
*/
|
||||
declare function Abs(input: string): string;
|
||||
export = Abs;
|
||||
@@ -0,0 +1,20 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"module": "commonjs",
|
||||
"target": "es6",
|
||||
"noImplicitAny": true,
|
||||
"noImplicitThis": true,
|
||||
"strictNullChecks": true,
|
||||
"baseUrl": "../",
|
||||
"typeRoots": [
|
||||
"../"
|
||||
],
|
||||
"types": [],
|
||||
"noEmit": true,
|
||||
"forceConsistentCasingInFileNames": true
|
||||
},
|
||||
"files": [
|
||||
"index.d.ts",
|
||||
"abs-tests.ts"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
{ "extends": "../tslint.json" }
|
||||
@@ -1,4 +1,3 @@
|
||||
/// <reference path="./absolute.d.ts" />
|
||||
|
||||
import absolute from 'absolute';
|
||||
|
||||
|
||||
Vendored
-13
@@ -1,13 +0,0 @@
|
||||
// Type definitions for absolute 0.0.1
|
||||
// Project: https://github.com/bahamas10/node-absolute
|
||||
// Definitions by: Aya Morisawa <https://github.com/AyaMorisawa>
|
||||
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
||||
|
||||
declare module "absolute" {
|
||||
/**
|
||||
* Test if a path is absolute
|
||||
*/
|
||||
function absolute(path: string): boolean;
|
||||
|
||||
export default absolute;
|
||||
}
|
||||
Vendored
+11
@@ -0,0 +1,11 @@
|
||||
// Type definitions for absolute 0.0.1
|
||||
// Project: https://github.com/bahamas10/node-absolute
|
||||
// Definitions by: Aya Morisawa <https://github.com/AyaMorisawa>
|
||||
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
||||
|
||||
/**
|
||||
* Test if a path is absolute
|
||||
*/
|
||||
declare function absolute(path: string): boolean;
|
||||
|
||||
export default absolute;
|
||||
@@ -0,0 +1,20 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"module": "commonjs",
|
||||
"target": "es6",
|
||||
"noImplicitAny": true,
|
||||
"noImplicitThis": true,
|
||||
"strictNullChecks": false,
|
||||
"baseUrl": "../",
|
||||
"typeRoots": [
|
||||
"../"
|
||||
],
|
||||
"types": [],
|
||||
"noEmit": true,
|
||||
"forceConsistentCasingInFileNames": true
|
||||
},
|
||||
"files": [
|
||||
"index.d.ts",
|
||||
"absolute-tests.ts"
|
||||
]
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
/// <reference path="../jquery/jquery.d.ts"/>
|
||||
/// <reference path="acc-wizard.d.ts" />
|
||||
/// <reference types="jquery"/>
|
||||
|
||||
|
||||
/**
|
||||
* @summary Test for "accwizard" without options.
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"module": "commonjs",
|
||||
"target": "es6",
|
||||
"noImplicitAny": true,
|
||||
"noImplicitThis": true,
|
||||
"strictNullChecks": false,
|
||||
"baseUrl": "../",
|
||||
"typeRoots": [
|
||||
"../"
|
||||
],
|
||||
"types": [],
|
||||
"noEmit": true,
|
||||
"forceConsistentCasingInFileNames": true
|
||||
},
|
||||
"files": [
|
||||
"index.d.ts",
|
||||
"acc-wizard-tests.ts"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
import accepts = require("accepts");
|
||||
|
||||
const req: any = {};
|
||||
|
||||
const accept = accepts(req);
|
||||
|
||||
const charsets = accept.charsets();
|
||||
const charsetFromEmpty = accept.charset();
|
||||
const charsetFromParams = accept.charset("json", "text");
|
||||
const charsetFromArray = accept.charset(["json", "text"]);
|
||||
|
||||
const encodings = accept.encodings();
|
||||
const encodingFromEmpty = accept.encoding();
|
||||
const encodingFromParams = accept.encoding("json", "text");
|
||||
const encodingFromArray = accept.encoding(["json", "text"]);
|
||||
|
||||
const languages = accept.languages();
|
||||
const languageFromEmpty = accept.language();
|
||||
const languageFromParams = accept.language("json", "text");
|
||||
const languageFromArray = accept.language(["json", "text"]);
|
||||
|
||||
const types = accept.types();
|
||||
const typeFromEmpty = accept.type();
|
||||
const typeFromParams = accept.type("json", "text");
|
||||
const typeFromArray = accept.type(["json", "text"]);
|
||||
Vendored
+31
@@ -0,0 +1,31 @@
|
||||
// Type definitions for accepts 1.3
|
||||
// Project: https://github.com/jshttp/accepts
|
||||
// Definitions by: Stefan Reichel <https://github.com/bomret>
|
||||
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
||||
|
||||
/// <reference types="node" />
|
||||
import { IncomingMessage } from "http";
|
||||
|
||||
declare namespace accepts {
|
||||
export interface Accepts {
|
||||
charset(charsets: string[]): string | string[] | boolean;
|
||||
charset(...charsets: string[]): string | string[] | boolean;
|
||||
charsets(): string[];
|
||||
|
||||
encoding(encodings: string[]): string | string[] | boolean;
|
||||
encoding(...encodings: string[]): string | string[] | boolean;
|
||||
encodings(): string[];
|
||||
|
||||
language(languages: string[]): string | string[] | boolean;
|
||||
language(...languages: string[]): string | string[] | boolean;
|
||||
languages(): string[];
|
||||
|
||||
type(types: string[]): string | string[] | boolean;
|
||||
type(...types: string[]): string | string[] | boolean;
|
||||
types(): string[];
|
||||
}
|
||||
}
|
||||
|
||||
declare function accepts(req: IncomingMessage): accepts.Accepts;
|
||||
|
||||
export = accepts;
|
||||
@@ -0,0 +1,20 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"module": "commonjs",
|
||||
"target": "es6",
|
||||
"noImplicitAny": true,
|
||||
"noImplicitThis": true,
|
||||
"strictNullChecks": true,
|
||||
"baseUrl": "../",
|
||||
"typeRoots": [
|
||||
"../"
|
||||
],
|
||||
"types": [],
|
||||
"noEmit": true,
|
||||
"forceConsistentCasingInFileNames": true
|
||||
},
|
||||
"files": [
|
||||
"index.d.ts",
|
||||
"accepts-tests.ts"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
{ "extends": "../tslint.json" }
|
||||
@@ -1,5 +1,3 @@
|
||||
/// <reference path="accounting.d.ts"/>
|
||||
|
||||
// formatMoney
|
||||
|
||||
// Default usage:
|
||||
|
||||
Vendored
-79
@@ -1,79 +0,0 @@
|
||||
// Type definitions for accounting.js 0.3.2
|
||||
// Project: http://josscrowcroft.github.io/accounting.js/
|
||||
// Definitions by: Sergey Gerasimov <https://github.com/gerich-home/>
|
||||
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
||||
|
||||
interface IAccountingCurrencyFormat {
|
||||
pos: string; // for positive values, eg. "$ 1.00"
|
||||
neg?: string; // for negative values, eg. "$ (1.00)"
|
||||
zero?: string; // for zero values, eg. "$ --"
|
||||
}
|
||||
|
||||
interface IAccountingCurrencySettings<TFormat> {
|
||||
symbol?: string; // default currency symbol is '$'
|
||||
format?: TFormat; // controls output: %s = symbol, %v = value/number
|
||||
decimal?: string; // decimal point separator
|
||||
thousand?: string; // thousands separator
|
||||
precision?: number // decimal places
|
||||
}
|
||||
|
||||
interface IAccountingNumberSettings {
|
||||
precision?: number; // default precision on numbers is 0
|
||||
thousand?: string;
|
||||
decimal?: string;
|
||||
}
|
||||
|
||||
interface IAccountingSettings {
|
||||
currency: IAccountingCurrencySettings<any>; // IAccountingCurrencySettings<string> or IAccountingCurrencySettings<IAccountingCurrencyFormat>
|
||||
number: IAccountingNumberSettings;
|
||||
}
|
||||
|
||||
interface IAccountingStatic {
|
||||
// format any number into currency
|
||||
formatMoney(number: number, symbol?: string, precision?: number, thousand?: string, decimal?: string, format?: string): string;
|
||||
formatMoney(number: number, options: IAccountingCurrencySettings<string>): string;
|
||||
formatMoney(number: number, options: IAccountingCurrencySettings<IAccountingCurrencyFormat>): string;
|
||||
|
||||
formatMoney(numbers: number[], symbol?: string, precision?: number, thousand?: string, decimal?: string, format?: string): string[];
|
||||
formatMoney(numbers: number[], options: IAccountingCurrencySettings<string>): string[];
|
||||
formatMoney(numbers: number[], options: IAccountingCurrencySettings<IAccountingCurrencyFormat>): string[];
|
||||
|
||||
// generic case (any array of numbers)
|
||||
formatMoney(numbers: any[], symbol?: string, precision?: number, thousand?: string, decimal?: string, format?: string): any[];
|
||||
formatMoney(numbers: any[], options: IAccountingCurrencySettings<string>): any[];
|
||||
formatMoney(numbers: any[], options: IAccountingCurrencySettings<IAccountingCurrencyFormat>): any[];
|
||||
|
||||
// format a list of values for column-display
|
||||
formatColumn(numbers: number[], symbol?: string, precision?: number, thousand?: string, decimal?: string, format?: string): string[];
|
||||
formatColumn(numbers: number[], options: IAccountingCurrencySettings<string>): string[];
|
||||
formatColumn(numbers: number[], options: IAccountingCurrencySettings<IAccountingCurrencyFormat>): string[];
|
||||
|
||||
formatColumn(numbers: number[][], symbol?: string, precision?: number, thousand?: string, decimal?: string, format?: string): string[][];
|
||||
formatColumn(numbers: number[][], options: IAccountingCurrencySettings<string>): string[][];
|
||||
formatColumn(numbers: number[][], options: IAccountingCurrencySettings<IAccountingCurrencyFormat>): string[][];
|
||||
|
||||
// format a number with custom precision and localisation
|
||||
formatNumber(number: number, precision?: number, thousand?: string, decimal?: string): string;
|
||||
formatNumber(number: number, options: IAccountingNumberSettings): string;
|
||||
|
||||
formatNumber(number: number[], precision?: number, thousand?: string, decimal?: string): string[];
|
||||
formatNumber(number: number[], options: IAccountingNumberSettings): string[];
|
||||
|
||||
formatNumber(number: any[], precision?: number, thousand?: string, decimal?: string): any[];
|
||||
formatNumber(number: any[], options: IAccountingNumberSettings): any[];
|
||||
|
||||
// better rounding for floating point numbers
|
||||
toFixed(number: number, precision?: number): string;
|
||||
|
||||
// get a value from any formatted number/currency string
|
||||
unformat(string: string, decimal?: string): number;
|
||||
|
||||
// settings object that controls default parameters for library methods
|
||||
settings: IAccountingSettings;
|
||||
}
|
||||
|
||||
declare var accounting: IAccountingStatic;
|
||||
|
||||
declare module "accounting" {
|
||||
export = accounting;
|
||||
}
|
||||
Vendored
+74
@@ -0,0 +1,74 @@
|
||||
// Type definitions for accounting.js 0.3
|
||||
// Project: http://josscrowcroft.github.io/accounting.js/
|
||||
// Definitions by: Sergey Gerasimov <https://github.com/gerich-home/>
|
||||
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
||||
|
||||
declare namespace accounting {
|
||||
interface CurrencyFormat {
|
||||
pos: string; // for positive values, eg. "$ 1.00"
|
||||
neg?: string; // for negative values, eg. "$ (1.00)"
|
||||
zero?: string; // for zero values, eg. "$ --"
|
||||
}
|
||||
|
||||
interface CurrencySettings<TFormat> {
|
||||
symbol?: string; // default currency symbol is '$'
|
||||
format?: TFormat; // controls output: %s = symbol, %v = value/number
|
||||
decimal?: string; // decimal point separator
|
||||
thousand?: string; // thousands separator
|
||||
precision?: number; // decimal places
|
||||
}
|
||||
|
||||
interface NumberSettings {
|
||||
precision?: number; // default precision on numbers is 0
|
||||
thousand?: string;
|
||||
decimal?: string;
|
||||
}
|
||||
|
||||
interface Settings {
|
||||
currency: CurrencySettings<any>; // IAccountingCurrencySettings<string> or IAccountingCurrencySettings<IAccountingCurrencyFormat>
|
||||
number: NumberSettings;
|
||||
}
|
||||
|
||||
interface Static {
|
||||
// format any number into currency
|
||||
formatMoney(number: number, symbol?: string, precision?: number, thousand?: string, decimal?: string, format?: string): string;
|
||||
formatMoney(number: number, options: CurrencySettings<string> | CurrencySettings<CurrencyFormat>): string;
|
||||
|
||||
formatMoney(numbers: number[], symbol?: string, precision?: number, thousand?: string, decimal?: string, format?: string): string[];
|
||||
formatMoney(numbers: number[], options: CurrencySettings<string> | CurrencySettings<CurrencyFormat>): string[];
|
||||
|
||||
// generic case (any array of numbers)
|
||||
formatMoney(numbers: any[], symbol?: string, precision?: number, thousand?: string, decimal?: string, format?: string): any[];
|
||||
formatMoney(numbers: any[], options: CurrencySettings<string> | CurrencySettings<CurrencyFormat>): any[];
|
||||
|
||||
// format a list of values for column-display
|
||||
formatColumn(numbers: number[], symbol?: string, precision?: number, thousand?: string, decimal?: string, format?: string): string[];
|
||||
formatColumn(numbers: number[], options: CurrencySettings<string> | CurrencySettings<CurrencyFormat>): string[];
|
||||
|
||||
formatColumn(numbers: number[][], symbol?: string, precision?: number, thousand?: string, decimal?: string, format?: string): string[][];
|
||||
formatColumn(numbers: number[][], options: CurrencySettings<string> | CurrencySettings<CurrencyFormat>): string[][];
|
||||
|
||||
// format a number with custom precision and localisation
|
||||
formatNumber(number: number, precision?: number, thousand?: string, decimal?: string): string;
|
||||
formatNumber(number: number, options: NumberSettings): string;
|
||||
|
||||
formatNumber(number: number[], precision?: number, thousand?: string, decimal?: string): string[];
|
||||
formatNumber(number: number[], options: NumberSettings): string[];
|
||||
|
||||
formatNumber(number: any[], precision?: number, thousand?: string, decimal?: string): any[];
|
||||
formatNumber(number: any[], options: NumberSettings): any[];
|
||||
|
||||
// better rounding for floating point numbers
|
||||
toFixed(number: number, precision?: number): string;
|
||||
|
||||
// get a value from any formatted number/currency string
|
||||
unformat(string: string, decimal?: string): number;
|
||||
|
||||
// settings object that controls default parameters for library methods
|
||||
settings: Settings;
|
||||
}
|
||||
}
|
||||
|
||||
declare var accounting: accounting.Static;
|
||||
export = accounting;
|
||||
export as namespace accounting;
|
||||
@@ -0,0 +1,20 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"module": "commonjs",
|
||||
"target": "es6",
|
||||
"noImplicitAny": true,
|
||||
"noImplicitThis": true,
|
||||
"strictNullChecks": false,
|
||||
"baseUrl": "../",
|
||||
"typeRoots": [
|
||||
"../"
|
||||
],
|
||||
"types": [],
|
||||
"noEmit": true,
|
||||
"forceConsistentCasingInFileNames": true
|
||||
},
|
||||
"files": [
|
||||
"index.d.ts",
|
||||
"accounting-tests.ts"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
{ "extends": "../tslint.json" }
|
||||
@@ -1,26 +0,0 @@
|
||||
/// <reference path="ace.d.ts" />
|
||||
|
||||
var exports: any;
|
||||
var assert: any;
|
||||
var MockRenderer = null;
|
||||
var JavaScriptMode = null;
|
||||
|
||||
/// <reference path="tests/ace-default-tests.ts" />
|
||||
/// <reference path="tests/ace-background_tokenizer-tests.ts" />
|
||||
/// <reference path="tests/ace-document-tests.ts" />
|
||||
/// <reference path="tests/ace-edit_session-tests.ts" />
|
||||
/// <reference path="tests/ace-editor1-tests.ts" />
|
||||
/// <reference path="tests/ace-editor_highlight_selected_word-tests.ts" />
|
||||
/// <reference path="tests/ace-editor_navigation-tests.ts" />
|
||||
/// <reference path="tests/ace-editor_text_edit-tests.ts" />
|
||||
/// <reference path="tests/ace-multi_select-tests.ts" />
|
||||
/// <reference path="tests/ace-placeholder-tests.ts" />
|
||||
/// <reference path="tests/ace-range_list-tests.ts" />
|
||||
/// <reference path="tests/ace-range-tests.ts" />
|
||||
/// <reference path="tests/ace-search-tests.ts" />
|
||||
/// <reference path="tests/ace-selection-tests.ts" />
|
||||
/// <reference path="tests/ace-token_iterator-tests.ts" />
|
||||
/// <reference path="tests/ace-virtual_renderer-tests.ts" />
|
||||
|
||||
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
|
||||
Vendored
@@ -1,132 +1,129 @@
|
||||
/// <reference path="../ace.d.ts" />
|
||||
|
||||
var assert: any;
|
||||
var exports = {
|
||||
const aceAnchorTests = {
|
||||
|
||||
"test create anchor" : function() {
|
||||
var doc = new AceAjax.Document("juhu");
|
||||
var anchor = new AceAjax.Anchor(doc, 0, 0);
|
||||
|
||||
|
||||
assert.position(anchor.getPosition(), 0, 0);
|
||||
assert.equal(anchor.getDocument(), doc);
|
||||
},
|
||||
|
||||
|
||||
"test insert text in same row before cursor should move anchor column": function() {
|
||||
var doc = new AceAjax.Document("juhu\nkinners");
|
||||
var anchor = new AceAjax.Anchor(doc, 1, 4);
|
||||
|
||||
|
||||
doc.insert({row: 1, column: 1}, "123");
|
||||
assert.position(anchor.getPosition(), 1, 7);
|
||||
},
|
||||
|
||||
|
||||
"test insert lines before cursor should move anchor row": function() {
|
||||
var doc = new AceAjax.Document("juhu\nkinners");
|
||||
var anchor = new AceAjax.Anchor(doc, 1, 4);
|
||||
|
||||
|
||||
doc.insertLines(1, ["123", "456"]);
|
||||
assert.position(anchor.getPosition(), 3, 4);
|
||||
assert.position(anchor.getPosition(), 3, 4);
|
||||
},
|
||||
|
||||
|
||||
"test insert new line before cursor should move anchor column": function() {
|
||||
var doc = new AceAjax.Document("juhu\nkinners");
|
||||
var anchor = new AceAjax.Anchor(doc, 1, 4);
|
||||
|
||||
|
||||
doc.insertNewLine({row: 0, column: 0});
|
||||
assert.position(anchor.getPosition(), 2, 4);
|
||||
assert.position(anchor.getPosition(), 2, 4);
|
||||
},
|
||||
|
||||
|
||||
"test insert new line in anchor line before anchor should move anchor column and row": function() {
|
||||
var doc = new AceAjax.Document("juhu\nkinners");
|
||||
var anchor = new AceAjax.Anchor(doc, 1, 4);
|
||||
|
||||
|
||||
doc.insertNewLine({row: 1, column: 2});
|
||||
assert.position(anchor.getPosition(), 2, 2);
|
||||
},
|
||||
|
||||
|
||||
"test delete text in anchor line before anchor should move anchor column": function() {
|
||||
var doc = new AceAjax.Document("juhu\nkinners");
|
||||
var anchor = new AceAjax.Anchor(doc, 1, 4);
|
||||
|
||||
|
||||
doc.remove(new AceAjax.Range(1, 1, 1, 3));
|
||||
assert.position(anchor.getPosition(), 1, 2);
|
||||
},
|
||||
|
||||
|
||||
"test remove range which contains the anchor should move the anchor to the start of the range": function() {
|
||||
var doc = new AceAjax.Document("juhu\nkinners");
|
||||
var anchor = new AceAjax.Anchor(doc, 0, 3);
|
||||
|
||||
|
||||
doc.remove(new AceAjax.Range(0, 1, 1, 3));
|
||||
assert.position(anchor.getPosition(), 0, 1);
|
||||
},
|
||||
|
||||
|
||||
"test delete character before the anchor should have no effect": function() {
|
||||
var doc = new AceAjax.Document("juhu\nkinners");
|
||||
var anchor = new AceAjax.Anchor(doc, 1, 4);
|
||||
|
||||
|
||||
doc.remove(new AceAjax.Range(1, 4, 1, 5));
|
||||
assert.position(anchor.getPosition(), 1, 4);
|
||||
},
|
||||
|
||||
|
||||
"test delete lines in anchor line before anchor should move anchor row": function() {
|
||||
var doc = new AceAjax.Document("juhu\n1\n2\nkinners");
|
||||
var anchor = new AceAjax.Anchor(doc, 3, 4);
|
||||
|
||||
|
||||
doc.removeLines(1, 2);
|
||||
assert.position(anchor.getPosition(), 1, 4);
|
||||
},
|
||||
|
||||
|
||||
"test remove new line before the cursor": function() {
|
||||
var doc = new AceAjax.Document("juhu\nkinners");
|
||||
var anchor = new AceAjax.Anchor(doc, 1, 4);
|
||||
|
||||
|
||||
doc.removeNewLine(0);
|
||||
assert.position(anchor.getPosition(), 0, 8);
|
||||
},
|
||||
|
||||
|
||||
"test delete range which contains the anchor should move anchor to the end of the range": function() {
|
||||
var doc = new AceAjax.Document("juhu\nkinners");
|
||||
var anchor = new AceAjax.Anchor(doc, 1, 4);
|
||||
|
||||
|
||||
doc.remove(new AceAjax.Range(0, 2, 1, 2));
|
||||
assert.position(anchor.getPosition(), 0, 4);
|
||||
},
|
||||
|
||||
|
||||
"test delete line which contains the anchor should move anchor to the end of the range": function() {
|
||||
var doc = new AceAjax.Document("juhu\nkinners\n123");
|
||||
var anchor = new AceAjax.Anchor(doc, 1, 5);
|
||||
|
||||
|
||||
doc.removeLines(1, 1);
|
||||
assert.position(anchor.getPosition(), 1, 0);
|
||||
},
|
||||
|
||||
|
||||
"test remove after the anchor should have no effect": function() {
|
||||
var doc = new AceAjax.Document("juhu\nkinners\n123");
|
||||
var anchor = new AceAjax.Anchor(doc, 1, 2);
|
||||
|
||||
|
||||
doc.remove(new AceAjax.Range(1, 4, 2, 2));
|
||||
assert.position(anchor.getPosition(), 1, 2);
|
||||
},
|
||||
|
||||
|
||||
"test anchor changes triggered by document changes should emit change event": function(next) {
|
||||
var doc = new AceAjax.Document("juhu\nkinners\n123");
|
||||
var anchor = new AceAjax.Anchor(doc, 1, 5);
|
||||
|
||||
|
||||
anchor.on("change", function(e) {
|
||||
assert.position(anchor.getPosition(), 0, 0);
|
||||
next();
|
||||
});
|
||||
|
||||
|
||||
doc.remove(new AceAjax.Range(0, 0, 2, 1));
|
||||
},
|
||||
|
||||
|
||||
"test only fire change event if position changes": function() {
|
||||
var doc = new AceAjax.Document("juhu\nkinners\n123");
|
||||
var anchor = new AceAjax.Anchor(doc, 1, 5);
|
||||
|
||||
|
||||
anchor.on("change", function(e) {
|
||||
assert.fail();
|
||||
});
|
||||
|
||||
|
||||
doc.remove(new AceAjax.Range(2, 0, 2, 1));
|
||||
}
|
||||
};
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
|
||||
@@ -1,7 +1,3 @@
|
||||
/// <reference path="../ace.d.ts" />
|
||||
|
||||
var assert: any;
|
||||
|
||||
function forceTokenize(session) {
|
||||
for (var i = 0, l = session.getLength(); i < l; i++)
|
||||
session.getTokens(i)
|
||||
@@ -13,7 +9,7 @@ function testStates(session, states) {
|
||||
assert.ok(l == states.length)
|
||||
}
|
||||
|
||||
var exports = {
|
||||
const aceBackgroundTokenizerTests = {
|
||||
|
||||
"test background tokenizer update on session change": function() {
|
||||
var doc = new AceAjax.EditSession([
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
|
||||
@@ -1,6 +1,3 @@
|
||||
/// <reference path="../ace.d.ts" />
|
||||
|
||||
var assert: any;
|
||||
var editor = ace.edit("editor");
|
||||
editor.setTheme("ace/theme/monokai");
|
||||
editor.getSession().setMode("ace/mode/javascript");
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
|
||||
@@ -1,7 +1,4 @@
|
||||
/// <reference path="../ace.d.ts" />
|
||||
|
||||
var assert: any;
|
||||
var exports = {
|
||||
const aceDocumentTests = {
|
||||
"test: insert text in line": function() {
|
||||
var doc = new AceAjax.Document(["12", "34"]);
|
||||
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
/// <reference path="../ace.d.ts" />
|
||||
|
||||
|
||||
var lang: any;
|
||||
var assert: any;
|
||||
|
||||
function createFoldTestSession() {
|
||||
var lines = [
|
||||
@@ -27,7 +26,7 @@ function assertArray(a, b) {
|
||||
}
|
||||
}
|
||||
|
||||
var exports = {
|
||||
const aceEditSessionTests = {
|
||||
|
||||
"test: find matching opening bracket in Text mode": function() {
|
||||
var session = new AceAjax.EditSession(["(()(", "())))"]);
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
|
||||
@@ -1,7 +1,4 @@
|
||||
/// <reference path="../ace.d.ts" />
|
||||
|
||||
var assert: any;
|
||||
var exports = {
|
||||
const aceEditor1Tests = {
|
||||
|
||||
setUp: function(next) {
|
||||
this.session1 = new AceAjax.EditSession(["abc", "def"]);
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/// <reference path="../ace.d.ts" />
|
||||
|
||||
|
||||
var lipsum = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. " +
|
||||
"Mauris at arcu mi, eu lobortis mauris. Quisque ut libero eget " +
|
||||
@@ -30,7 +30,7 @@ function callHighlighterUpdate(session: AceAjax.IEditSession, firstRow: number,
|
||||
var assert: any;
|
||||
var renderer: AceAjax.VirtualRenderer;
|
||||
|
||||
var exports = {
|
||||
const aceEditorHighlighSelectedWorkTests = {
|
||||
setUp: function(next) {
|
||||
var session = new AceAjax.EditSession(lipsum);
|
||||
var editor = new AceAjax.Editor(renderer, session);
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
|
||||
@@ -1,8 +1,5 @@
|
||||
/// <reference path="../ace.d.ts" />
|
||||
|
||||
var assert: any;
|
||||
var renderer: AceAjax.VirtualRenderer;
|
||||
var exports = {
|
||||
const aceEditorNavigationTests = {
|
||||
createEditSession: function (rows, cols) {
|
||||
var line = new Array(cols + 1).join("a");
|
||||
var text = new Array(rows).join(line + "\n") + line;
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
|
||||
@@ -1,9 +1,6 @@
|
||||
/// <reference path="../ace.d.ts" />
|
||||
|
||||
var assert: any;
|
||||
var renderer: AceAjax.VirtualRenderer;
|
||||
var mode: any;
|
||||
var exports = {
|
||||
const aceEditorTextEditTests = {
|
||||
"test: delete line from the middle": function () {
|
||||
var session = new AceAjax.EditSession(["a", "b", "c", "d"].join("\n"));
|
||||
var editor = new AceAjax.Editor(renderer, session);
|
||||
|
||||
@@ -1,8 +1,3 @@
|
||||
/// <reference path="../ace.d.ts" />
|
||||
|
||||
var assert: any;
|
||||
var editor: any;
|
||||
var renderer: any;
|
||||
var exec = function (name?, times?, args?) {
|
||||
do {
|
||||
editor.commands.exec(name, editor, args);
|
||||
@@ -12,7 +7,7 @@ var testRanges = function (str) {
|
||||
assert.equal(editor.selection.getAllRanges() + "", str + "");
|
||||
}
|
||||
|
||||
var exports = {
|
||||
const aceMultiSelectTests = {
|
||||
|
||||
name: "ACE multi_select.js",
|
||||
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
|
||||
@@ -1,9 +1,6 @@
|
||||
/// <reference path="../ace.d.ts" />
|
||||
|
||||
var assert: any;
|
||||
var renderer: AceAjax.VirtualRenderer;
|
||||
var mode: any;
|
||||
var exports = {
|
||||
const acePlaceholderTests = {
|
||||
|
||||
"test: simple at the end appending of text": function () {
|
||||
var session = new AceAjax.EditSession("var a = 10;\nconsole.log(a, a);", mode);
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
|
||||
@@ -1,7 +1,4 @@
|
||||
/// <reference path="../ace.d.ts" />
|
||||
|
||||
var assert: any;
|
||||
var exports = {
|
||||
const aceRangeTests = {
|
||||
|
||||
name: "ACE range.js",
|
||||
|
||||
|
||||
@@ -1,6 +1,3 @@
|
||||
/// <reference path="../ace.d.ts" />
|
||||
|
||||
var assert: any;
|
||||
function flatten(rangeList) {
|
||||
var points = [];
|
||||
rangeList.ranges.forEach(function (r) {
|
||||
@@ -12,7 +9,7 @@ function testRangeList(rangeList, points) {
|
||||
assert.equal("" + flatten(rangeList), "" + points);
|
||||
}
|
||||
|
||||
var exports = {
|
||||
const aceRangeListTests = {
|
||||
|
||||
name: "ACE range_list.js",
|
||||
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
|
||||
@@ -1,7 +1,4 @@
|
||||
/// <reference path="../ace.d.ts" />
|
||||
|
||||
var assert: any;
|
||||
var exports = {
|
||||
const aceSearchTests = {
|
||||
"test: configure the search object": function () {
|
||||
var search = new AceAjax.Search();
|
||||
search.set({
|
||||
|
||||
@@ -1,7 +1,4 @@
|
||||
/// <reference path="../ace.d.ts" />
|
||||
|
||||
var assert: any;
|
||||
var exports = {
|
||||
const aceSelectionTests = {
|
||||
createSession: function (rows, cols) {
|
||||
var line = new Array(cols + 1).join("a");
|
||||
var text = new Array(rows).join(line + "\n") + line;
|
||||
@@ -126,7 +123,7 @@ var exports = {
|
||||
},
|
||||
|
||||
"test: moveCursor word left with umlauts": function () {
|
||||
var session = new AceAjax.EditSession(" Fuß Füße");
|
||||
var session = new AceAjax.EditSession(" Fu� F��e");
|
||||
|
||||
var selection = session.getSelection();
|
||||
selection.moveCursorTo(0, 9)
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
|
||||
@@ -1,8 +1,4 @@
|
||||
/// <reference path="../ace.d.ts" />
|
||||
|
||||
var assert: any;
|
||||
var mode: any;
|
||||
var exports = {
|
||||
const aceTokenIteratorTests = {
|
||||
"test: token iterator initialization in JavaScript document": function () {
|
||||
var lines = [
|
||||
"function foo(items) {",
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
|
||||
@@ -1,7 +1,4 @@
|
||||
/// <reference path="../ace.d.ts" />
|
||||
|
||||
var assert: any;
|
||||
var exports = {
|
||||
const aceVirtualRendererTests = {
|
||||
"test: screen2text the column should be rounded to the next character edge": function () {
|
||||
var el = document.createElement("div");
|
||||
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"module": "commonjs",
|
||||
"target": "es6",
|
||||
"noImplicitAny": false,
|
||||
"noImplicitThis": false,
|
||||
"strictNullChecks": false,
|
||||
"baseUrl": "../",
|
||||
"typeRoots": [
|
||||
"../"
|
||||
],
|
||||
"types": [],
|
||||
"noEmit": true,
|
||||
"forceConsistentCasingInFileNames": true
|
||||
},
|
||||
"files": [
|
||||
"index.d.ts",
|
||||
"tests/ace-anchor-tests.ts",
|
||||
"tests/ace-background_tokenizer-tests.ts",
|
||||
"tests/ace-default-tests.ts",
|
||||
"tests/ace-document-tests.ts",
|
||||
"tests/ace-edit_session-tests.ts",
|
||||
"tests/ace-editor1-tests.ts",
|
||||
"tests/ace-editor_highlight_selected_word-tests.ts",
|
||||
"tests/ace-editor_navigation-tests.ts",
|
||||
"tests/ace-editor_text_edit-tests.ts",
|
||||
"tests/ace-multi_select-tests.ts",
|
||||
"tests/ace-placeholder-tests.ts",
|
||||
"tests/ace-range-tests.ts",
|
||||
"tests/ace-range_list-tests.ts",
|
||||
"tests/ace-search-tests.ts",
|
||||
"tests/ace-selection-tests.ts",
|
||||
"tests/ace-token_iterator-tests.ts",
|
||||
"tests/ace-virtual_renderer-tests.ts"
|
||||
]
|
||||
}
|
||||
@@ -1,10 +1,8 @@
|
||||
/// <reference path='acl.d.ts'/>
|
||||
|
||||
// https://github.com/OptimalBits/node_acl/blob/master/Readme.md
|
||||
import Acl = require('acl');
|
||||
import mongodb = require('mongodb');
|
||||
|
||||
var db: mongodb.Db;
|
||||
declare var db: mongodb.Db;
|
||||
|
||||
// Using the mongo db backend
|
||||
var acl = new Acl(new Acl.mongodbBackend(db, 'acl_', true));
|
||||
|
||||
@@ -1,10 +1,8 @@
|
||||
/// <reference path='acl.d.ts'/>
|
||||
|
||||
// https://github.com/OptimalBits/node_acl/blob/master/Readme.md
|
||||
import Acl = require('acl');
|
||||
import redis = require('redis');
|
||||
|
||||
var client: redis.RedisClient;
|
||||
declare var client: redis.RedisClient;
|
||||
|
||||
// Using the redis backend
|
||||
var acl = new Acl(new Acl.redisBackend(client, 'acl_'));
|
||||
|
||||
+17
-2
@@ -1,5 +1,3 @@
|
||||
/// <reference path='acl.d.ts'/>
|
||||
|
||||
// Sample code from
|
||||
// https://github.com/OptimalBits/node_acl/blob/master/Readme.md
|
||||
import Acl = require('acl');
|
||||
@@ -14,6 +12,23 @@ var report = <T>(err: Error, value: T) => {
|
||||
// Using the memory backend
|
||||
var acl = new Acl(new Acl.memoryBackend());
|
||||
|
||||
// middleware with no optional parameters
|
||||
acl.middleware();
|
||||
|
||||
acl.middleware(1);
|
||||
|
||||
acl.middleware(1, () => {
|
||||
return "joed";
|
||||
});
|
||||
|
||||
acl.middleware(1, () => {
|
||||
return 2;
|
||||
});
|
||||
|
||||
acl.middleware(1, 'joed');
|
||||
|
||||
acl.middleware(3, 'joed', 'post');
|
||||
|
||||
// guest is allowed to view blogs
|
||||
acl.allow('guest', 'blogs', 'view');
|
||||
|
||||
|
||||
Vendored
-150
@@ -1,150 +0,0 @@
|
||||
// Type definitions for node_acl 0.4.7
|
||||
// Project: https://github.com/optimalbits/node_acl
|
||||
// Definitions by: Qubo <https://github.com/tkQubo>
|
||||
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
||||
|
||||
/// <reference path="../bluebird/bluebird-2.0.d.ts" />
|
||||
/// <reference path='../node/node.d.ts'/>
|
||||
|
||||
/// <reference path='../redis/redis.d.ts'/>
|
||||
/// <reference path="../mongodb/mongodb-1.4.9.d.ts" />
|
||||
|
||||
declare module "acl" {
|
||||
import http = require('http');
|
||||
import Promise = require("bluebird");
|
||||
|
||||
type strings = string|string[];
|
||||
type Value = string|number;
|
||||
type Values = Value|Value[];
|
||||
type Action = () => any;
|
||||
type Callback = (err: Error) => any;
|
||||
type AnyCallback = (err: Error, obj: any) => any;
|
||||
type AllowedCallback = (err: Error, allowed: boolean) => any;
|
||||
type GetUserId = (req: http.IncomingMessage, res: http.ServerResponse) => Value;
|
||||
|
||||
interface AclStatic {
|
||||
new (backend: Backend<any>, logger: Logger, options: Option): Acl;
|
||||
new (backend: Backend<any>, logger: Logger): Acl;
|
||||
new (backend: Backend<any>): Acl;
|
||||
memoryBackend: MemoryBackendStatic;
|
||||
}
|
||||
|
||||
interface Logger {
|
||||
debug: (msg: string)=>any;
|
||||
}
|
||||
|
||||
interface Acl {
|
||||
addUserRoles: (userId: Value, roles: strings, cb?: Callback) => Promise<void>;
|
||||
removeUserRoles: (userId: Value, roles: strings, cb?: Callback) => Promise<void>;
|
||||
userRoles: (userId: Value, cb?: (err: Error, roles: string[])=>any) => Promise<string[]>;
|
||||
roleUsers: (role: Value, cb?: (err: Error, users: Values)=>any) => Promise<any>;
|
||||
hasRole: (userId: Value, role: string, cb?: (err: Error, isInRole: boolean)=>any) => Promise<boolean>;
|
||||
addRoleParents: (role: string, parents: Values, cb?: Callback) => Promise<void>;
|
||||
removeRole: (role: string, cb?: Callback) => Promise<void>;
|
||||
removeResource: (resource: string, cb?: Callback) => Promise<void>;
|
||||
allow: {
|
||||
(roles: Values, resources: strings, permissions: strings, cb?: Callback): Promise<void>;
|
||||
(aclSets: AclSet|AclSet[]): Promise<void>;
|
||||
}
|
||||
removeAllow: (role: string, resources: strings, permissions: strings, cb?: Callback) => Promise<void>;
|
||||
removePermissions: (role: string, resources: strings, permissions: strings, cb?: Function) => Promise<void>;
|
||||
allowedPermissions: (userId: Value, resources: strings, cb?: AnyCallback) => Promise<void>;
|
||||
isAllowed: (userId: Value, resources: strings, permissions: strings, cb?: AllowedCallback) => Promise<boolean>;
|
||||
areAnyRolesAllowed: (roles: strings, resource: strings, permissions: strings, cb?: AllowedCallback) => Promise<any>;
|
||||
whatResources: (roles: strings, permissions: strings, cb?: AnyCallback) => Promise<any>;
|
||||
permittedResources: (roles: strings, permissions: strings, cb?: Function) => Promise<void>;
|
||||
middleware: (numPathComponents: number, userId: Value|GetUserId, actions: strings) => Promise<any>;
|
||||
}
|
||||
|
||||
interface Option {
|
||||
buckets?: BucketsOption;
|
||||
}
|
||||
|
||||
interface BucketsOption {
|
||||
meta?: string;
|
||||
parents?: string;
|
||||
permissions?: string;
|
||||
resources?: string;
|
||||
roles?: string;
|
||||
users?: string;
|
||||
}
|
||||
|
||||
interface AclSet {
|
||||
roles: strings;
|
||||
allows: AclAllow[];
|
||||
}
|
||||
|
||||
interface AclAllow {
|
||||
resources: strings;
|
||||
permissions: strings;
|
||||
}
|
||||
|
||||
interface MemoryBackend extends Backend<Action[]> { }
|
||||
interface MemoryBackendStatic {
|
||||
new(): MemoryBackend;
|
||||
}
|
||||
|
||||
//
|
||||
// For internal use
|
||||
//
|
||||
interface Backend<T> {
|
||||
begin: () => T;
|
||||
end: (transaction: T, cb?: Action) => void;
|
||||
clean: (cb?: Action) => void;
|
||||
get: (bucket: string, key: Value, cb?: Action) => void;
|
||||
union: (bucket: string, keys: Value[], cb?: Action) => void;
|
||||
add: (transaction: T, bucket: string, key: Value, values: Values) => void;
|
||||
del: (transaction: T, bucket: string, keys: Value[]) => void;
|
||||
remove: (transaction: T, bucket: string, key: Value, values: Values) => void;
|
||||
|
||||
endAsync: Function; //TODO: Give more specific function signature
|
||||
getAsync: Function;
|
||||
cleanAsync: Function;
|
||||
unionAsync: Function;
|
||||
}
|
||||
|
||||
interface Contract {
|
||||
(args: IArguments): Contract|NoOp;
|
||||
debug: boolean;
|
||||
fulfilled: boolean;
|
||||
args: any[];
|
||||
checkedParams: string[];
|
||||
params: (...types: string[]) => Contract|NoOp;
|
||||
end: () => void;
|
||||
}
|
||||
|
||||
interface NoOp {
|
||||
params: (...types: string[]) => NoOp;
|
||||
end: () => void;
|
||||
}
|
||||
|
||||
// for redis backend
|
||||
import redis = require('redis');
|
||||
|
||||
interface AclStatic {
|
||||
redisBackend: RedisBackendStatic;
|
||||
}
|
||||
|
||||
interface RedisBackend extends Backend<redis.RedisClient> { }
|
||||
interface RedisBackendStatic {
|
||||
new(redis: redis.RedisClient, prefix: string): RedisBackend;
|
||||
new(redis: redis.RedisClient): RedisBackend;
|
||||
}
|
||||
|
||||
// for mongodb backend
|
||||
import mongo = require('mongodb');
|
||||
|
||||
interface AclStatic {
|
||||
mongodbBackend: MongodbBackendStatic;
|
||||
}
|
||||
|
||||
interface MongodbBackend extends Backend<Callback> { }
|
||||
interface MongodbBackendStatic {
|
||||
new(db: mongo.Db, prefix: string, useSingle: boolean): MongodbBackend;
|
||||
new(db: mongo.Db, prefix: string): MongodbBackend;
|
||||
new(db: mongo.Db): MongodbBackend;
|
||||
}
|
||||
|
||||
var _: AclStatic;
|
||||
export = _;
|
||||
}
|
||||
Vendored
+147
@@ -0,0 +1,147 @@
|
||||
// Type definitions for node_acl 0.4.8
|
||||
// Project: https://github.com/optimalbits/node_acl
|
||||
// Definitions by: Qubo <https://github.com/tkQubo>
|
||||
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
||||
|
||||
/// <reference types="bluebird" />
|
||||
/// <reference types="node"/>
|
||||
/// <reference types="express"/>
|
||||
|
||||
import http = require('http');
|
||||
import Promise = require("bluebird");
|
||||
import express = require("express");
|
||||
|
||||
type strings = string|string[];
|
||||
type Value = string|number;
|
||||
type Values = Value|Value[];
|
||||
type Action = () => any;
|
||||
type Callback = (err: Error) => any;
|
||||
type AnyCallback = (err: Error, obj: any) => any;
|
||||
type AllowedCallback = (err: Error, allowed: boolean) => any;
|
||||
type GetUserId = (req: http.IncomingMessage, res: http.ServerResponse) => Value;
|
||||
|
||||
interface AclStatic {
|
||||
new (backend: Backend<any>, logger: Logger, options: Option): Acl;
|
||||
new (backend: Backend<any>, logger: Logger): Acl;
|
||||
new (backend: Backend<any>): Acl;
|
||||
memoryBackend: MemoryBackendStatic;
|
||||
}
|
||||
|
||||
interface Logger {
|
||||
debug: (msg: string) => any;
|
||||
}
|
||||
|
||||
interface Acl {
|
||||
addUserRoles: (userId: Value, roles: strings, cb?: Callback) => Promise<void>;
|
||||
removeUserRoles: (userId: Value, roles: strings, cb?: Callback) => Promise<void>;
|
||||
userRoles: (userId: Value, cb?: (err: Error, roles: string[]) => any) => Promise<string[]>;
|
||||
roleUsers: (role: Value, cb?: (err: Error, users: Values) => any) => Promise<any>;
|
||||
hasRole: (userId: Value, role: string, cb?: (err: Error, isInRole: boolean) => any) => Promise<boolean>;
|
||||
addRoleParents: (role: string, parents: Values, cb?: Callback) => Promise<void>;
|
||||
removeRole: (role: string, cb?: Callback) => Promise<void>;
|
||||
removeResource: (resource: string, cb?: Callback) => Promise<void>;
|
||||
allow: {
|
||||
(roles: Values, resources: strings, permissions: strings, cb?: Callback): Promise<void>;
|
||||
(aclSets: AclSet | AclSet[]): Promise<void>;
|
||||
}
|
||||
removeAllow: (role: string, resources: strings, permissions: strings, cb?: Callback) => Promise<void>;
|
||||
removePermissions: (role: string, resources: strings, permissions: strings, cb?: Function) => Promise<void>;
|
||||
allowedPermissions: (userId: Value, resources: strings, cb?: AnyCallback) => Promise<void>;
|
||||
isAllowed: (userId: Value, resources: strings, permissions: strings, cb?: AllowedCallback) => Promise<boolean>;
|
||||
areAnyRolesAllowed: (roles: strings, resource: strings, permissions: strings, cb?: AllowedCallback) => Promise<any>;
|
||||
whatResources: (roles: strings, permissions: strings, cb?: AnyCallback) => Promise<any>;
|
||||
permittedResources: (roles: strings, permissions: strings, cb?: Function) => Promise<void>;
|
||||
middleware: (numPathComponents?: number, userId?: Value | GetUserId, actions?: strings) => express.RequestHandler;
|
||||
}
|
||||
|
||||
interface Option {
|
||||
buckets?: BucketsOption;
|
||||
}
|
||||
|
||||
interface BucketsOption {
|
||||
meta?: string;
|
||||
parents?: string;
|
||||
permissions?: string;
|
||||
resources?: string;
|
||||
roles?: string;
|
||||
users?: string;
|
||||
}
|
||||
|
||||
interface AclSet {
|
||||
roles: strings;
|
||||
allows: AclAllow[];
|
||||
}
|
||||
|
||||
interface AclAllow {
|
||||
resources: strings;
|
||||
permissions: strings;
|
||||
}
|
||||
|
||||
interface MemoryBackend extends Backend<Action[]> { }
|
||||
interface MemoryBackendStatic {
|
||||
new (): MemoryBackend;
|
||||
}
|
||||
|
||||
//
|
||||
// For internal use
|
||||
//
|
||||
interface Backend<T> {
|
||||
begin: () => T;
|
||||
end: (transaction: T, cb?: Action) => void;
|
||||
clean: (cb?: Action) => void;
|
||||
get: (bucket: string, key: Value, cb?: Action) => void;
|
||||
union: (bucket: string, keys: Value[], cb?: Action) => void;
|
||||
add: (transaction: T, bucket: string, key: Value, values: Values) => void;
|
||||
del: (transaction: T, bucket: string, keys: Value[]) => void;
|
||||
remove: (transaction: T, bucket: string, key: Value, values: Values) => void;
|
||||
|
||||
endAsync: Function; //TODO: Give more specific function signature
|
||||
getAsync: Function;
|
||||
cleanAsync: Function;
|
||||
unionAsync: Function;
|
||||
}
|
||||
|
||||
interface Contract {
|
||||
(args: IArguments): Contract | NoOp;
|
||||
debug: boolean;
|
||||
fulfilled: boolean;
|
||||
args: any[];
|
||||
checkedParams: string[];
|
||||
params: (...types: string[]) => Contract | NoOp;
|
||||
end: () => void;
|
||||
}
|
||||
|
||||
interface NoOp {
|
||||
params: (...types: string[]) => NoOp;
|
||||
end: () => void;
|
||||
}
|
||||
|
||||
// for redis backend
|
||||
import redis = require('redis');
|
||||
|
||||
interface AclStatic {
|
||||
redisBackend: RedisBackendStatic;
|
||||
}
|
||||
|
||||
interface RedisBackend extends Backend<redis.RedisClient> { }
|
||||
interface RedisBackendStatic {
|
||||
new (redis: redis.RedisClient, prefix: string): RedisBackend;
|
||||
new (redis: redis.RedisClient): RedisBackend;
|
||||
}
|
||||
|
||||
// for mongodb backend
|
||||
import mongo = require('mongodb');
|
||||
|
||||
interface AclStatic {
|
||||
mongodbBackend: MongodbBackendStatic;
|
||||
}
|
||||
|
||||
interface MongodbBackend extends Backend<Callback> { }
|
||||
interface MongodbBackendStatic {
|
||||
new (db: mongo.Db, prefix: string, useSingle: boolean): MongodbBackend;
|
||||
new (db: mongo.Db, prefix: string): MongodbBackend;
|
||||
new (db: mongo.Db): MongodbBackend;
|
||||
}
|
||||
|
||||
declare var _: AclStatic;
|
||||
export = _;
|
||||
@@ -0,0 +1,20 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"module": "commonjs",
|
||||
"target": "es6",
|
||||
"noImplicitAny": true,
|
||||
"noImplicitThis": true,
|
||||
"strictNullChecks": false,
|
||||
"baseUrl": "../",
|
||||
"typeRoots": [
|
||||
"../"
|
||||
],
|
||||
"types": [],
|
||||
"noEmit": true,
|
||||
"forceConsistentCasingInFileNames": true
|
||||
},
|
||||
"files": [
|
||||
"index.d.ts",
|
||||
"acl-tests.ts"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
This file exists for reminding contributors that this definition is **WIP**.
|
||||
|
||||
### Note
|
||||
|
||||
There are a **large** number of methods of class `Parser` and `LooseParser` haven't been declared.
|
||||
|
||||
However, these methods may not be useful for common users. So, I hang the job util it worth continuing.
|
||||
|
||||
Of course, volunteers are welcomed to spend time extracting these things.
|
||||
+47
-8
@@ -1,20 +1,20 @@
|
||||
/// <reference path="../estree/estree.d.ts" />
|
||||
/// <reference path="acorn.d.ts" />
|
||||
/// <reference types="estree" />
|
||||
|
||||
import acorn = require('acorn');
|
||||
import * as ESTree from 'estree';
|
||||
|
||||
var token: acorn.Token;
|
||||
var tokens: acorn.Token[];
|
||||
var comment: acorn.Comment;
|
||||
var comments: acorn.Comment[];
|
||||
var program: ESTree.Program;
|
||||
declare var token: acorn.Token;
|
||||
declare var tokens: acorn.Token[];
|
||||
declare var comment: acorn.Comment;
|
||||
declare var comments: acorn.Comment[];
|
||||
declare var program: ESTree.Program;
|
||||
var any: any;
|
||||
var string: string;
|
||||
|
||||
// acorn
|
||||
string = acorn.version;
|
||||
program = acorn.parse('code');
|
||||
program = acorn.parse('code', {ranges: true, onToken: tokens, onComment: comments});
|
||||
program = acorn.parse('code', { ranges: true, onToken: tokens, onComment: comments });
|
||||
program = acorn.parse('code', {
|
||||
ranges: true,
|
||||
onToken: (token) => tokens.push(token),
|
||||
@@ -28,3 +28,42 @@ any = token.value;
|
||||
|
||||
// Comment
|
||||
string = comment.value;
|
||||
|
||||
const parser = new acorn.Parser({}, 'export default ""', 0);
|
||||
|
||||
const node = new acorn.Node(parser, 1, 1);
|
||||
|
||||
class LooseParser {
|
||||
constructor(input: string, options = {}) {
|
||||
|
||||
}
|
||||
|
||||
// this means you can extend LooseParser
|
||||
test() {
|
||||
|
||||
}
|
||||
}
|
||||
acorn.addLooseExports(function () {
|
||||
return {
|
||||
type: 'Program',
|
||||
sourceType: 'script',
|
||||
body: [
|
||||
{
|
||||
type: 'EmptyStatement'
|
||||
}
|
||||
]
|
||||
}
|
||||
}, LooseParser, {});
|
||||
|
||||
acorn.parseExpressionAt('string', 2);
|
||||
|
||||
acorn.isNewLine(56);
|
||||
|
||||
acorn.isIdentifierStart(56);
|
||||
|
||||
acorn.isIdentifierChar(56);
|
||||
|
||||
acorn.getLineInfo('string', 56);
|
||||
|
||||
acorn.plugins['test'] = function (p: acorn.Parser, config: any) {
|
||||
}
|
||||
|
||||
Vendored
-68
@@ -1,68 +0,0 @@
|
||||
// Type definitions for Acorn v1.0.1
|
||||
// Project: https://github.com/marijnh/acorn
|
||||
// Definitions by: RReverser <https://github.com/RReverser>
|
||||
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
||||
|
||||
/// <reference path="../estree/estree.d.ts" />
|
||||
|
||||
declare namespace acorn {
|
||||
var version: string;
|
||||
function parse(input: string, options?: Options): ESTree.Program;
|
||||
function parseExpressionAt(input: string, pos: number, options?: Options): ESTree.Expression;
|
||||
function getLineInfo(input: string, offset: number): ESTree.Position;
|
||||
var defaultOptions: Options;
|
||||
|
||||
interface TokenType {
|
||||
label: string;
|
||||
keyword: string;
|
||||
beforeExpr: boolean;
|
||||
startsExpr: boolean;
|
||||
isLoop: boolean;
|
||||
isAssign: boolean;
|
||||
prefix: boolean;
|
||||
postfix: boolean;
|
||||
binop: number;
|
||||
updateContext: (prevType: TokenType) => any;
|
||||
}
|
||||
|
||||
interface AbstractToken {
|
||||
start: number;
|
||||
end: number;
|
||||
loc: ESTree.SourceLocation;
|
||||
range: [number, number];
|
||||
}
|
||||
|
||||
interface Token extends AbstractToken {
|
||||
type: TokenType;
|
||||
value: any;
|
||||
}
|
||||
|
||||
interface Comment extends AbstractToken {
|
||||
type: string;
|
||||
value: string;
|
||||
}
|
||||
|
||||
interface Options {
|
||||
ecmaVersion?: number;
|
||||
sourceType?: string;
|
||||
onInsertedSemicolon?: (lastTokEnd: number, lastTokEndLoc?: ESTree.Position) => any;
|
||||
onTrailingComma?: (lastTokEnd: number, lastTokEndLoc?: ESTree.Position) => any;
|
||||
allowReserved?: boolean;
|
||||
allowReturnOutsideFunction?: boolean;
|
||||
allowImportExportEverywhere?: boolean;
|
||||
allowHashBang?: boolean;
|
||||
locations?: boolean;
|
||||
onToken?: ((token: Token) => any) | Token[];
|
||||
onComment?: ((isBlock: boolean, text: string, start: number, end: number, startLoc?: ESTree.Position, endLoc?: ESTree.Position) => any) | Comment[];
|
||||
ranges?: boolean;
|
||||
program?: ESTree.Program;
|
||||
sourceFile?: string;
|
||||
directSourceFile?: string;
|
||||
preserveParens?: boolean;
|
||||
plugins?: { [name: string]: Function; };
|
||||
}
|
||||
}
|
||||
|
||||
declare module "acorn" {
|
||||
export = acorn
|
||||
}
|
||||
Vendored
+258
@@ -0,0 +1,258 @@
|
||||
// Type definitions for Acorn v4.0.3
|
||||
// Project: https://github.com/marijnh/acorn
|
||||
// Definitions by: RReverser <https://github.com/RReverser>, e-cloud <https://github.com/e-cloud>
|
||||
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
||||
|
||||
/// <reference types="estree" />
|
||||
|
||||
export as namespace acorn;
|
||||
export = acorn;
|
||||
import * as ESTree from 'estree';
|
||||
|
||||
declare namespace acorn {
|
||||
interface PlainObject {
|
||||
[name: string]: any;
|
||||
}
|
||||
|
||||
interface PluginsObject {
|
||||
[name: string]: (p: Parser, config: any) => void;
|
||||
}
|
||||
|
||||
interface Options {
|
||||
ecmaVersion?: 3 | 5 | 6 | 7 | 8 | 2015 | 2016 | 2017;
|
||||
sourceType?: 'script' | 'module';
|
||||
onInsertedSemicolon?: (lastTokEnd: number, lastTokEndLoc?: ESTree.Position) => void;
|
||||
onTrailingComma?: (lastTokEnd: number, lastTokEndLoc?: ESTree.Position) => void;
|
||||
allowReserved?: boolean;
|
||||
allowReturnOutsideFunction?: boolean;
|
||||
allowImportExportEverywhere?: boolean;
|
||||
allowHashBang?: boolean;
|
||||
locations?: boolean;
|
||||
onToken?: ((token: Token) => any) | Token[];
|
||||
onComment?: ((
|
||||
isBlock: boolean, text: string, start: number, end: number, startLoc?: ESTree.Position,
|
||||
endLoc?: ESTree.Position
|
||||
) => void) | Comment[];
|
||||
ranges?: boolean;
|
||||
program?: ESTree.Program;
|
||||
sourceFile?: string;
|
||||
directSourceFile?: string;
|
||||
preserveParens?: boolean;
|
||||
plugins?: PlainObject;
|
||||
}
|
||||
|
||||
class Parser {
|
||||
constructor(options: Options, input: string, startPos?: number);
|
||||
|
||||
parse(): ESTree.Program;
|
||||
}
|
||||
|
||||
const plugins: PluginsObject;
|
||||
|
||||
const defaultOptions: Options;
|
||||
|
||||
class Position implements ESTree.Position {
|
||||
line: number;
|
||||
column: number;
|
||||
|
||||
constructor(line: number, col: number);
|
||||
|
||||
offset(n: number): Position;
|
||||
}
|
||||
|
||||
class SourceLocation implements ESTree.SourceLocation {
|
||||
start: Position;
|
||||
end: Position;
|
||||
source?: string;
|
||||
|
||||
constructor(p: Parser, start: Position, end: Position);
|
||||
}
|
||||
|
||||
function getLineInfo(input: string, offset: number): ESTree.Position;
|
||||
|
||||
class Node {
|
||||
type: string;
|
||||
start: number;
|
||||
end: number;
|
||||
loc?: ESTree.SourceLocation;
|
||||
sourceFile?: string;
|
||||
range?: [number, number];
|
||||
|
||||
constructor(parser: Parser, pos: number, loc: number);
|
||||
}
|
||||
|
||||
interface TokeTypeConfig {
|
||||
keyword: string;
|
||||
beforeExpr?: boolean;
|
||||
startsExpr?: boolean;
|
||||
isLoop?: boolean;
|
||||
isAssign?: boolean;
|
||||
prefix?: boolean;
|
||||
postfix?: boolean;
|
||||
binop?: number;
|
||||
}
|
||||
|
||||
class TokenType {
|
||||
label: string;
|
||||
keyword: string;
|
||||
beforeExpr: boolean;
|
||||
startsExpr: boolean;
|
||||
isLoop: boolean;
|
||||
isAssign: boolean;
|
||||
prefix: boolean;
|
||||
postfix: boolean;
|
||||
binop: number;
|
||||
updateContext: (prevType: TokenType) => void;
|
||||
|
||||
constructor(label: string, conf?: TokeTypeConfig);
|
||||
}
|
||||
|
||||
const tokTypes: {
|
||||
num: TokenType;
|
||||
regexp: TokenType;
|
||||
string: TokenType;
|
||||
name: TokenType;
|
||||
eof: TokenType;
|
||||
bracketL: TokenType;
|
||||
bracketR: TokenType;
|
||||
braceL: TokenType;
|
||||
braceR: TokenType;
|
||||
parenL: TokenType;
|
||||
parenR: TokenType;
|
||||
comma: TokenType;
|
||||
semi: TokenType;
|
||||
colon: TokenType;
|
||||
dot: TokenType;
|
||||
question: TokenType;
|
||||
arrow: TokenType;
|
||||
template: TokenType;
|
||||
ellipsis: TokenType;
|
||||
backQuote: TokenType;
|
||||
dollarBraceL: TokenType;
|
||||
eq: TokenType;
|
||||
assign: TokenType;
|
||||
incDec: TokenType;
|
||||
prefix: TokenType;
|
||||
logicalOR: TokenType;
|
||||
logicalAND: TokenType;
|
||||
bitwiseOR: TokenType;
|
||||
bitwiseXOR: TokenType;
|
||||
bitwiseAND: TokenType;
|
||||
equality: TokenType;
|
||||
relational: TokenType;
|
||||
bitShift: TokenType;
|
||||
plusMin: TokenType;
|
||||
modulo: TokenType;
|
||||
star: TokenType;
|
||||
slash: TokenType;
|
||||
starstar: TokenType;
|
||||
_break: TokenType;
|
||||
_case: TokenType;
|
||||
_catch: TokenType;
|
||||
_continue: TokenType;
|
||||
_debugger: TokenType;
|
||||
_default: TokenType;
|
||||
_do: TokenType;
|
||||
_else: TokenType;
|
||||
_finally: TokenType;
|
||||
_for: TokenType;
|
||||
_function: TokenType;
|
||||
_if: TokenType;
|
||||
_return: TokenType;
|
||||
_switch: TokenType;
|
||||
_throw: TokenType;
|
||||
_try: TokenType;
|
||||
_var: TokenType;
|
||||
_const: TokenType;
|
||||
_while: TokenType;
|
||||
_with: TokenType;
|
||||
_new: TokenType;
|
||||
_this: TokenType;
|
||||
_super: TokenType;
|
||||
_class: TokenType;
|
||||
_extends: TokenType;
|
||||
_export: TokenType;
|
||||
_import: TokenType;
|
||||
_null: TokenType;
|
||||
_true: TokenType;
|
||||
_false: TokenType;
|
||||
_in: TokenType;
|
||||
_instanceof: TokenType;
|
||||
_typeof: TokenType;
|
||||
_void: TokenType;
|
||||
_delete: TokenType;
|
||||
}
|
||||
|
||||
class TokContext {
|
||||
constructor(token: string, isExpr: boolean, preserveSpace: boolean, override: (p: Parser) => void);
|
||||
}
|
||||
|
||||
const tokContexts: {
|
||||
b_stat: TokContext;
|
||||
b_expr: TokContext;
|
||||
b_tmpl: TokContext;
|
||||
p_stat: TokContext;
|
||||
p_expr: TokContext;
|
||||
q_tmpl: TokContext;
|
||||
f_expr: TokContext;
|
||||
};
|
||||
|
||||
function isIdentifierStart(code: number, astral?: boolean): boolean;
|
||||
|
||||
function isIdentifierChar(code: number, astral?: boolean): boolean;
|
||||
|
||||
interface AbstractToken {
|
||||
start: number;
|
||||
end: number;
|
||||
loc?: SourceLocation;
|
||||
range?: [number, number];
|
||||
}
|
||||
|
||||
interface Comment extends AbstractToken {
|
||||
type: string;
|
||||
value: string;
|
||||
}
|
||||
|
||||
class Token {
|
||||
constructor(p: Parser);
|
||||
}
|
||||
|
||||
interface Token extends AbstractToken {
|
||||
type: TokenType;
|
||||
value: any;
|
||||
}
|
||||
|
||||
function isNewLine(code: number): boolean;
|
||||
|
||||
const lineBreak: RegExp;
|
||||
|
||||
const lineBreakG: RegExp;
|
||||
|
||||
const version: string;
|
||||
|
||||
interface IParse {
|
||||
(input: string, options?: Options): ESTree.Program;
|
||||
}
|
||||
|
||||
const parse: IParse;
|
||||
|
||||
function parseExpressionAt(input: string, pos?: number, options?: Options): ESTree.Expression;
|
||||
|
||||
// todo: here the tokenizer function returns a Parser instance, that is targeting the detail of
|
||||
// Parser prototype. Someone need this please reade README.md first.
|
||||
// function tokenizer(options: Options, input: string): Parser;
|
||||
|
||||
let parse_dammit: IParse | undefined;
|
||||
let LooseParser: ILooseParserClass | undefined;
|
||||
let pluginsLoose: PluginsObject | undefined;
|
||||
|
||||
interface ILooseParserClass {
|
||||
new (input: string, options?: Options): ILooseParser
|
||||
}
|
||||
|
||||
interface ILooseParser {
|
||||
|
||||
}
|
||||
|
||||
function addLooseExports(parse: IParse, parser: ILooseParserClass, plugins: PluginsObject): void;
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"module": "commonjs",
|
||||
"target": "es6",
|
||||
"noImplicitAny": true,
|
||||
"noImplicitThis": true,
|
||||
"strictNullChecks": false,
|
||||
"baseUrl": "../",
|
||||
"typeRoots": [
|
||||
"../"
|
||||
],
|
||||
"types": [],
|
||||
"noEmit": true,
|
||||
"forceConsistentCasingInFileNames": true
|
||||
},
|
||||
"files": [
|
||||
"index.d.ts",
|
||||
"acorn-tests.ts"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
interface HelloChannel extends ActionCable.Channel {
|
||||
hello(world: string, name?: string): void;
|
||||
}
|
||||
|
||||
App = {};
|
||||
App.cable = ActionCable.createConsumer();
|
||||
const helloChannel = App.cable.subscriptions.create('NetworkChannel', {
|
||||
connected(): void {
|
||||
console.log('connected');
|
||||
},
|
||||
disconnected(): void {
|
||||
console.log('disconnected');
|
||||
},
|
||||
received(obj: Object): void {
|
||||
console.log(obj);
|
||||
},
|
||||
hello(world: string, name: string = 'John Doe'): void {
|
||||
console.log(`Hello, ${world}! name[${name}]`);
|
||||
}
|
||||
}) as HelloChannel;
|
||||
|
||||
helloChannel.hello('World');
|
||||
Vendored
+41
@@ -0,0 +1,41 @@
|
||||
// Type definitions for ActionCable
|
||||
// Project: https://github.com/rails/rails/tree/master/actioncable
|
||||
// Definitions by: Vincent Zhu <https://github.com/zhu1230>
|
||||
// Definitions: https://github.com/zhu1230/DefinitelyTyped
|
||||
|
||||
declare module ActionCable {
|
||||
interface Channel {
|
||||
unsubscribe(): void;
|
||||
perform(action: string, data: {}): void;
|
||||
send(data: Object): boolean;
|
||||
}
|
||||
|
||||
interface Subscriptions {
|
||||
create(chan_name: string, obj: CreateMixin): Channel;
|
||||
}
|
||||
|
||||
interface Cable {
|
||||
subscriptions: Subscriptions;
|
||||
}
|
||||
|
||||
interface CreateMixin {
|
||||
connected(): void;
|
||||
disconnected(): void;
|
||||
received(obj: Object): void;
|
||||
[key: string]: Function;
|
||||
}
|
||||
|
||||
function createConsumer(): Cable;
|
||||
function createConsumer(url: string): Cable;
|
||||
}
|
||||
|
||||
declare interface AppInterface {
|
||||
cable?: ActionCable.Cable;
|
||||
network?: ActionCable.Channel;
|
||||
}
|
||||
|
||||
declare var App: AppInterface;
|
||||
|
||||
declare module 'actioncable' {
|
||||
export = ActionCable;
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"module": "commonjs",
|
||||
"target": "es6",
|
||||
"noImplicitAny": true,
|
||||
"noImplicitThis": true,
|
||||
"strictNullChecks": false,
|
||||
"baseUrl": "../",
|
||||
"typeRoots": [
|
||||
"../"
|
||||
],
|
||||
"types": [],
|
||||
"noEmit": true,
|
||||
"forceConsistentCasingInFileNames": true
|
||||
},
|
||||
"files": [
|
||||
"index.d.ts",
|
||||
"actioncable-tests.ts"
|
||||
]
|
||||
}
|
||||
-3
@@ -1,6 +1,3 @@
|
||||
/// <reference path="activex-data-objects.d.ts" />
|
||||
|
||||
|
||||
//open connection to an Excel file
|
||||
var pathToExcelFile = 'C:\\path\\to\\excel\\file.xlsx';
|
||||
var conn = new ActiveXObject('ADODB.Connection');
|
||||
Vendored
+834
@@ -0,0 +1,834 @@
|
||||
// Type definitions for Microsoft ActiveX Data Objects
|
||||
// Project: https://msdn.microsoft.com/en-us/library/windows/desktop/ms675532(v=vs.85).aspx
|
||||
// Definitions by: Zev Spitz <https://github.com/zspitz>
|
||||
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
||||
|
||||
declare namespace ADODB {
|
||||
|
||||
//Enums
|
||||
const enum ADCPROP_ASYNCTHREADPRIORITY_ENUM {
|
||||
adPriorityAboveNormal = 4,
|
||||
adPriorityBelowNormal = 2,
|
||||
adPriorityHighest = 5,
|
||||
adPriorityLowest = 1,
|
||||
adPriorityNormal = 3
|
||||
}
|
||||
|
||||
const enum ADCPROP_AUTORECALC_ENUM {
|
||||
adRecalcAlways = 1,
|
||||
adRecalcUpFront = 0
|
||||
}
|
||||
|
||||
const enum ADCPROP_UPDATECRITERIA_ENUM {
|
||||
adCriteriaAllCols = 1,
|
||||
adCriteriaKey = 0,
|
||||
adCriteriaTimeStamp = 3,
|
||||
adCriteriaUpdCols = 2
|
||||
}
|
||||
|
||||
const enum ADCPROP_UPDATERESYNC_ENUM {
|
||||
adResyncAll = 15,
|
||||
adResyncAutoIncrement = 1,
|
||||
adResyncConflicts = 2,
|
||||
adResyncInserts = 8,
|
||||
adResyncNone = 0,
|
||||
adResyncUpdates = 4
|
||||
}
|
||||
|
||||
const enum AffectEnum {
|
||||
adAffectAll = 3,
|
||||
adAffectAllChapters = 4,
|
||||
adAffectCurrent = 1,
|
||||
adAffectGroup = 2
|
||||
}
|
||||
|
||||
const enum BookmarkEnum {
|
||||
adBookmarkCurrent = 0,
|
||||
adBookmarkFirst = 1,
|
||||
adBookmarkLast = 2
|
||||
}
|
||||
|
||||
const enum CommandTypeEnum {
|
||||
adCmdFile = 256,
|
||||
adCmdStoredProc = 4,
|
||||
adCmdTable = 2,
|
||||
adCmdTableDirect = 512,
|
||||
adCmdText = 1,
|
||||
adCmdUnknown = 8,
|
||||
adCmdUnspecified = -1
|
||||
}
|
||||
|
||||
const enum CompareEnum {
|
||||
adCompareEqual = 1,
|
||||
adCompareGreaterThan = 2,
|
||||
adCompareLessThan = 0,
|
||||
adCompareNotComparable = 4,
|
||||
adCompareNotEqual = 3
|
||||
}
|
||||
|
||||
const enum ConnectModeEnum {
|
||||
adModeRead = 1,
|
||||
adModeReadWrite = 3,
|
||||
adModeRecursive = 4194304,
|
||||
adModeShareDenyNone = 16,
|
||||
adModeShareDenyRead = 4,
|
||||
adModeShareDenyWrite = 8,
|
||||
adModeShareExclusive = 12,
|
||||
adModeUnknown = 0,
|
||||
adModeWrite = 2
|
||||
}
|
||||
|
||||
const enum ConnectOptionEnum {
|
||||
adAsyncConnect = 16,
|
||||
adConnectUnspecified = -1
|
||||
}
|
||||
|
||||
const enum ConnectPromptEnum {
|
||||
adPromptAlways = 1,
|
||||
adPromptComplete = 2,
|
||||
adPromptCompleteRequired = 3,
|
||||
adPromptNever = 4
|
||||
}
|
||||
|
||||
const enum CopyRecordOptionsEnum {
|
||||
adCopyAllowEmulation = 4,
|
||||
adCopyNonRecursive = 2,
|
||||
adCopyOverWrite = 1,
|
||||
adCopyUnspecified = -1
|
||||
}
|
||||
|
||||
const enum CursorLocationEnum {
|
||||
adUseClient = 3,
|
||||
adUseClientBatch = 3,
|
||||
adUseNone = 1,
|
||||
adUseServer = 2
|
||||
}
|
||||
|
||||
const enum CursorOptionEnum {
|
||||
adAddNew = 16778240,
|
||||
adApproxPosition = 16384,
|
||||
adBookmark = 8192,
|
||||
adDelete = 16779264,
|
||||
adFind = 524288,
|
||||
adHoldRecords = 256,
|
||||
adIndex = 8388608,
|
||||
adMovePrevious = 512,
|
||||
adNotify = 262144,
|
||||
adResync = 131072,
|
||||
adSeek = 4194304,
|
||||
adUpdate = 16809984,
|
||||
adUpdateBatch = 65536
|
||||
}
|
||||
|
||||
const enum CursorTypeEnum {
|
||||
adOpenDynamic = 2,
|
||||
adOpenForwardOnly = 0,
|
||||
adOpenKeyset = 1,
|
||||
adOpenStatic = 3,
|
||||
adOpenUnspecified = -1
|
||||
}
|
||||
|
||||
const enum DataTypeEnum {
|
||||
adArray = 8192,
|
||||
adBigInt = 20,
|
||||
adBinary = 128,
|
||||
adBoolean = 11,
|
||||
adBSTR = 8,
|
||||
adChapter = 136,
|
||||
adChar = 129,
|
||||
adCurrency = 6,
|
||||
adDate = 7,
|
||||
adDBDate = 133,
|
||||
adDBTime = 134,
|
||||
adDBTimeStamp = 135,
|
||||
adDecimal = 14,
|
||||
adDouble = 5,
|
||||
adEmpty = 0,
|
||||
adError = 10,
|
||||
adFileTime = 64,
|
||||
adGUID = 72,
|
||||
adIDispatch = 9,
|
||||
adInteger = 3,
|
||||
adIUnknown = 13,
|
||||
adLongVarBinary = 205,
|
||||
adLongVarChar = 201,
|
||||
adLongVarWChar = 203,
|
||||
adNumeric = 131,
|
||||
adPropVariant = 138,
|
||||
adSingle = 4,
|
||||
adSmallInt = 2,
|
||||
adTinyInt = 16,
|
||||
adUnsignedBigInt = 21,
|
||||
adUnsignedInt = 19,
|
||||
adUnsignedSmallInt = 18,
|
||||
adUnsignedTinyInt = 17,
|
||||
adUserDefined = 132,
|
||||
adVarBinary = 204,
|
||||
adVarChar = 200,
|
||||
adVariant = 12,
|
||||
adVarNumeric = 139,
|
||||
adVarWChar = 202,
|
||||
adWChar = 130
|
||||
}
|
||||
|
||||
const enum EditModeEnum {
|
||||
adEditAdd = 2,
|
||||
adEditDelete = 4,
|
||||
adEditInProgress = 1,
|
||||
adEditNone = 0
|
||||
}
|
||||
|
||||
const enum ErrorValueEnum {
|
||||
adErrBoundToCommand = 3707,
|
||||
adErrCannotComplete = 3732,
|
||||
adErrCantChangeConnection = 3748,
|
||||
adErrCantChangeProvider = 3220,
|
||||
adErrCantConvertvalue = 3724,
|
||||
adErrCantCreate = 3725,
|
||||
adErrCatalogNotSet = 3747,
|
||||
adErrColumnNotOnThisRow = 3726,
|
||||
adErrConnectionStringTooLong = 3754,
|
||||
adErrDataConversion = 3421,
|
||||
adErrDataOverflow = 3721,
|
||||
adErrDelResOutOfScope = 3738,
|
||||
adErrDenyNotSupported = 3750,
|
||||
adErrDenyTypeNotSupported = 3751,
|
||||
adErrFeatureNotAvailable = 3251,
|
||||
adErrFieldsUpdateFailed = 3749,
|
||||
adErrIllegalOperation = 3219,
|
||||
adErrIntegrityViolation = 3719,
|
||||
adErrInTransaction = 3246,
|
||||
adErrInvalidArgument = 3001,
|
||||
adErrInvalidConnection = 3709,
|
||||
adErrInvalidParamInfo = 3708,
|
||||
adErrInvalidTransaction = 3714,
|
||||
adErrInvalidURL = 3729,
|
||||
adErrItemNotFound = 3265,
|
||||
adErrNoCurrentRecord = 3021,
|
||||
adErrNotExecuting = 3715,
|
||||
adErrNotReentrant = 3710,
|
||||
adErrObjectClosed = 3704,
|
||||
adErrObjectInCollection = 3367,
|
||||
adErrObjectNotSet = 3420,
|
||||
adErrObjectOpen = 3705,
|
||||
adErrOpeningFile = 3002,
|
||||
adErrOperationCancelled = 3712,
|
||||
adErrOutOfSpace = 3734,
|
||||
adErrPermissionDenied = 3720,
|
||||
adErrPropConflicting = 3742,
|
||||
adErrPropInvalidColumn = 3739,
|
||||
adErrPropInvalidOption = 3740,
|
||||
adErrPropInvalidValue = 3741,
|
||||
adErrPropNotAllSettable = 3743,
|
||||
adErrPropNotSet = 3744,
|
||||
adErrPropNotSettable = 3745,
|
||||
adErrPropNotSupported = 3746,
|
||||
adErrProviderFailed = 3000,
|
||||
adErrProviderNotFound = 3706,
|
||||
adErrProviderNotSpecified = 3753,
|
||||
adErrReadFile = 3003,
|
||||
adErrResourceExists = 3731,
|
||||
adErrResourceLocked = 3730,
|
||||
adErrResourceOutOfScope = 3735,
|
||||
adErrSchemaViolation = 3722,
|
||||
adErrSignMismatch = 3723,
|
||||
adErrStillConnecting = 3713,
|
||||
adErrStillExecuting = 3711,
|
||||
adErrTreePermissionDenied = 3728,
|
||||
adErrUnavailable = 3736,
|
||||
adErrUnsafeOperation = 3716,
|
||||
adErrURLDoesNotExist = 3727,
|
||||
adErrURLNamedRowDoesNotExist = 3737,
|
||||
adErrVolumeNotFound = 3733,
|
||||
adErrWriteFile = 3004,
|
||||
adwrnSecurityDialog = 3717,
|
||||
adwrnSecurityDialogHeader = 3718
|
||||
}
|
||||
|
||||
const enum EventReasonEnum {
|
||||
adRsnAddNew = 1,
|
||||
adRsnClose = 9,
|
||||
adRsnDelete = 2,
|
||||
adRsnFirstChange = 11,
|
||||
adRsnMove = 10,
|
||||
adRsnMoveFirst = 12,
|
||||
adRsnMoveLast = 15,
|
||||
adRsnMoveNext = 13,
|
||||
adRsnMovePrevious = 14,
|
||||
adRsnRequery = 7,
|
||||
adRsnResynch = 8,
|
||||
adRsnUndoAddNew = 5,
|
||||
adRsnUndoDelete = 6,
|
||||
adRsnUndoUpdate = 4,
|
||||
adRsnUpdate = 3
|
||||
}
|
||||
|
||||
const enum EventStatusEnum {
|
||||
adStatusCancel = 4,
|
||||
adStatusCantDeny = 3,
|
||||
adStatusErrorsOccurred = 2,
|
||||
adStatusOK = 1,
|
||||
adStatusUnwantedEvent = 5
|
||||
}
|
||||
|
||||
const enum ExecuteOptionEnum {
|
||||
adAsyncExecute = 16,
|
||||
adAsyncFetch = 32,
|
||||
adAsyncFetchNonBlocking = 64,
|
||||
adExecuteNoRecords = 128,
|
||||
adExecuteRecord = 2048,
|
||||
adExecuteStream = 1024,
|
||||
adOptionUnspecified = -1
|
||||
}
|
||||
|
||||
const enum FieldAttributeEnum {
|
||||
adFldCacheDeferred = 4096,
|
||||
adFldFixed = 16,
|
||||
adFldIsChapter = 8192,
|
||||
adFldIsCollection = 262144,
|
||||
adFldIsDefaultStream = 131072,
|
||||
adFldIsNullable = 32,
|
||||
adFldIsRowURL = 65536,
|
||||
adFldKeyColumn = 32768,
|
||||
adFldLong = 128,
|
||||
adFldMayBeNull = 64,
|
||||
adFldMayDefer = 2,
|
||||
adFldNegativeScale = 16384,
|
||||
adFldRowID = 256,
|
||||
adFldRowVersion = 512,
|
||||
adFldUnknownUpdatable = 8,
|
||||
adFldUnspecified = -1,
|
||||
adFldUpdatable = 4
|
||||
}
|
||||
|
||||
const enum FieldEnum {
|
||||
adDefaultStream = -1,
|
||||
adRecordURL = -2
|
||||
}
|
||||
|
||||
const enum FieldStatusEnum {
|
||||
adFieldAlreadyExists = 26,
|
||||
adFieldBadStatus = 12,
|
||||
adFieldCannotComplete = 20,
|
||||
adFieldCannotDeleteSource = 23,
|
||||
adFieldCantConvertValue = 2,
|
||||
adFieldCantCreate = 7,
|
||||
adFieldDataOverflow = 6,
|
||||
adFieldDefault = 13,
|
||||
adFieldDoesNotExist = 16,
|
||||
adFieldIgnore = 15,
|
||||
adFieldIntegrityViolation = 10,
|
||||
adFieldInvalidURL = 17,
|
||||
adFieldIsNull = 3,
|
||||
adFieldOK = 0,
|
||||
adFieldOutOfSpace = 22,
|
||||
adFieldPendingChange = 262144,
|
||||
adFieldPendingDelete = 131072,
|
||||
adFieldPendingInsert = 65536,
|
||||
adFieldPendingUnknown = 524288,
|
||||
adFieldPendingUnknownDelete = 1048576,
|
||||
adFieldPermissionDenied = 9,
|
||||
adFieldReadOnly = 24,
|
||||
adFieldResourceExists = 19,
|
||||
adFieldResourceLocked = 18,
|
||||
adFieldResourceOutOfScope = 25,
|
||||
adFieldSchemaViolation = 11,
|
||||
adFieldSignMismatch = 5,
|
||||
adFieldTruncated = 4,
|
||||
adFieldUnavailable = 8,
|
||||
adFieldVolumeNotFound = 21
|
||||
}
|
||||
|
||||
const enum FilterGroupEnum {
|
||||
adFilterAffectedRecords = 2,
|
||||
adFilterConflictingRecords = 5,
|
||||
adFilterFetchedRecords = 3,
|
||||
adFilterNone = 0,
|
||||
adFilterPendingRecords = 1,
|
||||
adFilterPredicate = 4
|
||||
}
|
||||
|
||||
const enum GetRowsOptionEnum {
|
||||
adGetRowsRest = -1
|
||||
}
|
||||
|
||||
const enum IsolationLevelEnum {
|
||||
adXactBrowse = 256,
|
||||
adXactChaos = 16,
|
||||
adXactCursorStability = 4096,
|
||||
adXactIsolated = 1048576,
|
||||
adXactReadCommitted = 4096,
|
||||
adXactReadUncommitted = 256,
|
||||
adXactRepeatableRead = 65536,
|
||||
adXactSerializable = 1048576,
|
||||
adXactUnspecified = -1
|
||||
}
|
||||
|
||||
const enum LineSeparatorEnum {
|
||||
adCR = 13,
|
||||
adCRLF = -1,
|
||||
adLF = 10
|
||||
}
|
||||
|
||||
const enum LockTypeEnum {
|
||||
adLockBatchOptimistic = 4,
|
||||
adLockOptimistic = 3,
|
||||
adLockPessimistic = 2,
|
||||
adLockReadOnly = 1,
|
||||
adLockUnspecified = -1
|
||||
}
|
||||
|
||||
const enum MarshalOptionsEnum {
|
||||
adMarshalAll = 0,
|
||||
adMarshalModifiedOnly = 1
|
||||
}
|
||||
|
||||
const enum MoveRecordOptionsEnum {
|
||||
adMoveAllowEmulation = 4,
|
||||
adMoveDontUpdateLinks = 2,
|
||||
adMoveOverWrite = 1,
|
||||
adMoveUnspecified = -1
|
||||
}
|
||||
|
||||
const enum ObjectStateEnum {
|
||||
adStateClosed = 0,
|
||||
adStateConnecting = 2,
|
||||
adStateExecuting = 4,
|
||||
adStateFetching = 8,
|
||||
adStateOpen = 1
|
||||
}
|
||||
|
||||
const enum ParameterAttributesEnum {
|
||||
adParamLong = 128,
|
||||
adParamNullable = 64,
|
||||
adParamSigned = 16
|
||||
}
|
||||
|
||||
const enum ParameterDirectionEnum {
|
||||
adParamInput = 1,
|
||||
adParamInputOutput = 3,
|
||||
adParamOutput = 2,
|
||||
adParamReturnValue = 4,
|
||||
adParamUnknown = 0
|
||||
}
|
||||
|
||||
const enum PersistFormatEnum {
|
||||
adPersistADTG = 0,
|
||||
adPersistXML = 1
|
||||
}
|
||||
|
||||
const enum PositionEnum {
|
||||
adPosBOF = -2,
|
||||
adPosEOF = -3,
|
||||
adPosUnknown = -1
|
||||
}
|
||||
|
||||
const enum PositionEnum_Param {
|
||||
adPosBOF = -2,
|
||||
adPosEOF = -3,
|
||||
adPosUnknown = -1
|
||||
}
|
||||
|
||||
const enum PropertyAttributesEnum {
|
||||
adPropNotSupported = 0,
|
||||
adPropOptional = 2,
|
||||
adPropRead = 512,
|
||||
adPropRequired = 1,
|
||||
adPropWrite = 1024
|
||||
}
|
||||
|
||||
const enum RecordCreateOptionsEnum {
|
||||
adCreateCollection = 8192,
|
||||
adCreateNonCollection = 0,
|
||||
adCreateOverwrite = 67108864,
|
||||
adCreateStructDoc = -2147483648,
|
||||
adFailIfNotExists = -1,
|
||||
adOpenIfExists = 33554432
|
||||
}
|
||||
|
||||
const enum RecordOpenOptionsEnum {
|
||||
adDelayFetchFields = 32768,
|
||||
adDelayFetchStream = 16384,
|
||||
adOpenAsync = 4096,
|
||||
adOpenExecuteCommand = 65536,
|
||||
adOpenOutput = 8388608,
|
||||
adOpenRecordUnspecified = -1,
|
||||
adOpenSource = 8388608
|
||||
}
|
||||
|
||||
const enum RecordStatusEnum {
|
||||
adRecCanceled = 256,
|
||||
adRecCantRelease = 1024,
|
||||
adRecConcurrencyViolation = 2048,
|
||||
adRecDBDeleted = 262144,
|
||||
adRecDeleted = 4,
|
||||
adRecIntegrityViolation = 4096,
|
||||
adRecInvalid = 16,
|
||||
adRecMaxChangesExceeded = 8192,
|
||||
adRecModified = 2,
|
||||
adRecMultipleChanges = 64,
|
||||
adRecNew = 1,
|
||||
adRecObjectOpen = 16384,
|
||||
adRecOK = 0,
|
||||
adRecOutOfMemory = 32768,
|
||||
adRecPendingChanges = 128,
|
||||
adRecPermissionDenied = 65536,
|
||||
adRecSchemaViolation = 131072,
|
||||
adRecUnmodified = 8
|
||||
}
|
||||
|
||||
const enum RecordTypeEnum {
|
||||
adCollectionRecord = 1,
|
||||
adSimpleRecord = 0,
|
||||
adStructDoc = 2
|
||||
}
|
||||
|
||||
const enum ResyncEnum {
|
||||
adResyncAllValues = 2,
|
||||
adResyncUnderlyingValues = 1
|
||||
}
|
||||
|
||||
const enum SaveOptionsEnum {
|
||||
adSaveCreateNotExist = 1,
|
||||
adSaveCreateOverWrite = 2
|
||||
}
|
||||
|
||||
const enum SchemaEnum {
|
||||
adSchemaActions = 41,
|
||||
adSchemaAsserts = 0,
|
||||
adSchemaCatalogs = 1,
|
||||
adSchemaCharacterSets = 2,
|
||||
adSchemaCheckConstraints = 5,
|
||||
adSchemaCollations = 3,
|
||||
adSchemaColumnPrivileges = 13,
|
||||
adSchemaColumns = 4,
|
||||
adSchemaColumnsDomainUsage = 11,
|
||||
adSchemaCommands = 42,
|
||||
adSchemaConstraintColumnUsage = 6,
|
||||
adSchemaConstraintTableUsage = 7,
|
||||
adSchemaCubes = 32,
|
||||
adSchemaDBInfoKeywords = 30,
|
||||
adSchemaDBInfoLiterals = 31,
|
||||
adSchemaDimensions = 33,
|
||||
adSchemaForeignKeys = 27,
|
||||
adSchemaFunctions = 40,
|
||||
adSchemaHierarchies = 34,
|
||||
adSchemaIndexes = 12,
|
||||
adSchemaKeyColumnUsage = 8,
|
||||
adSchemaLevels = 35,
|
||||
adSchemaMeasures = 36,
|
||||
adSchemaMembers = 38,
|
||||
adSchemaPrimaryKeys = 28,
|
||||
adSchemaProcedureColumns = 29,
|
||||
adSchemaProcedureParameters = 26,
|
||||
adSchemaProcedures = 16,
|
||||
adSchemaProperties = 37,
|
||||
adSchemaProviderSpecific = -1,
|
||||
adSchemaProviderTypes = 22,
|
||||
adSchemaReferentialConstraints = 9,
|
||||
adSchemaReferentialContraints = 9,
|
||||
adSchemaSchemata = 17,
|
||||
adSchemaSets = 43,
|
||||
adSchemaSQLLanguages = 18,
|
||||
adSchemaStatistics = 19,
|
||||
adSchemaTableConstraints = 10,
|
||||
adSchemaTablePrivileges = 14,
|
||||
adSchemaTables = 20,
|
||||
adSchemaTranslations = 21,
|
||||
adSchemaTrustees = 39,
|
||||
adSchemaUsagePrivileges = 15,
|
||||
adSchemaViewColumnUsage = 24,
|
||||
adSchemaViews = 23,
|
||||
adSchemaViewTableUsage = 25
|
||||
}
|
||||
|
||||
const enum SearchDirection {
|
||||
adSearchBackward = -1,
|
||||
adSearchForward = 1
|
||||
}
|
||||
|
||||
const enum SearchDirectionEnum {
|
||||
adSearchBackward = -1,
|
||||
adSearchForward = 1
|
||||
}
|
||||
|
||||
const enum SeekEnum {
|
||||
adSeekAfter = 8,
|
||||
adSeekAfterEQ = 4,
|
||||
adSeekBefore = 32,
|
||||
adSeekBeforeEQ = 16,
|
||||
adSeekFirstEQ = 1,
|
||||
adSeekLastEQ = 2
|
||||
}
|
||||
|
||||
const enum StreamOpenOptionsEnum {
|
||||
adOpenStreamAsync = 1,
|
||||
adOpenStreamFromRecord = 4,
|
||||
adOpenStreamUnspecified = -1
|
||||
}
|
||||
|
||||
const enum StreamReadEnum {
|
||||
adReadAll = -1,
|
||||
adReadLine = -2
|
||||
}
|
||||
|
||||
const enum StreamTypeEnum {
|
||||
adTypeBinary = 1,
|
||||
adTypeText = 2
|
||||
}
|
||||
|
||||
const enum StreamWriteEnum {
|
||||
adWriteChar = 0,
|
||||
adWriteLine = 1,
|
||||
stWriteChar = 0,
|
||||
stWriteLine = 1
|
||||
}
|
||||
|
||||
const enum StringFormatEnum {
|
||||
adClipString = 2
|
||||
}
|
||||
|
||||
const enum XactAttributeEnum {
|
||||
adXactAbortRetaining = 262144,
|
||||
adXactAsyncPhaseOne = 524288,
|
||||
adXactCommitRetaining = 131072,
|
||||
adXactSyncPhaseOne = 1048576
|
||||
}
|
||||
|
||||
//Interfaces
|
||||
interface Command {
|
||||
ActiveConnection: Connection;
|
||||
Cancel: () => void;
|
||||
CommandStream: any /*VT_UNKNOWN*/;
|
||||
CommandText: string;
|
||||
CommandTimeout: number;
|
||||
CommandType: CommandTypeEnum;
|
||||
CreateParameter: (Name?: string, Type?: DataTypeEnum, Direction?: ParameterDirectionEnum, Size?: number, Value?: any) => Parameter;
|
||||
Dialect: string;
|
||||
Execute: (RecordsAffected?: any, Parameters?: any, Options?: number) => Recordset;
|
||||
Name: string;
|
||||
NamedParameters: boolean;
|
||||
Parameters: Parameters;
|
||||
Prepared: boolean;
|
||||
Properties: Properties;
|
||||
State: number;
|
||||
}
|
||||
|
||||
interface Connection {
|
||||
Attributes: number;
|
||||
BeginTrans: () => number;
|
||||
Cancel: () => void;
|
||||
Close: () => void;
|
||||
CommandTimeout: number;
|
||||
CommitTrans: () => void;
|
||||
ConnectionString: string;
|
||||
ConnectionTimeout: number;
|
||||
CursorLocation: CursorLocationEnum;
|
||||
DefaultDatabase: string;
|
||||
Errors: Errors;
|
||||
Execute: (CommandText: string, RecordsAffected: any, Options?: number) => Recordset;
|
||||
IsolationLevel: IsolationLevelEnum;
|
||||
Mode: ConnectModeEnum;
|
||||
Open: (ConnectionString?: string, UserID?: string, Password?: string, Options?: number) => void;
|
||||
OpenSchema: (Schema: SchemaEnum, Restrictions?: any, SchemaID?: any) => Recordset;
|
||||
Properties: Properties;
|
||||
Provider: string;
|
||||
RollbackTrans: () => void;
|
||||
State: number;
|
||||
Version: string;
|
||||
}
|
||||
|
||||
interface Error {
|
||||
Description: string;
|
||||
HelpContext: number;
|
||||
HelpFile: string;
|
||||
NativeError: number;
|
||||
Number: number;
|
||||
Source: string;
|
||||
SQLState: string;
|
||||
}
|
||||
|
||||
interface Errors {
|
||||
Clear: () => void;
|
||||
Count: number;
|
||||
Item: (Index: any) => Error;
|
||||
Refresh: () => void;
|
||||
}
|
||||
|
||||
interface Field {
|
||||
ActualSize: number;
|
||||
AppendChunk: (Data: any) => void;
|
||||
Attributes: number;
|
||||
DataFormat: any /*VT_UNKNOWN*/;
|
||||
DefinedSize: number;
|
||||
GetChunk: (Length: number) => any;
|
||||
Name: string;
|
||||
NumericScale: number;
|
||||
OriginalValue: any;
|
||||
Precision: number;
|
||||
Properties: Properties;
|
||||
Status: number;
|
||||
Type: DataTypeEnum;
|
||||
UnderlyingValue: any;
|
||||
Value: any;
|
||||
}
|
||||
|
||||
interface Fields {
|
||||
_Append: (Name: string, Type: DataTypeEnum, DefinedSize?: number, Attrib?: FieldAttributeEnum) => void;
|
||||
Append: (Name: string, Type: DataTypeEnum, DefinedSize?: number, Attrib?: FieldAttributeEnum, FieldValue?: any) => void;
|
||||
CancelUpdate: () => void;
|
||||
Count: number;
|
||||
Delete: (Index: any) => void;
|
||||
Item: (Index: any) => Field;
|
||||
Refresh: () => void;
|
||||
Resync: (ResyncValues?: ResyncEnum) => void;
|
||||
Update: () => void;
|
||||
}
|
||||
|
||||
interface Parameter {
|
||||
AppendChunk: (Val: any) => void;
|
||||
Attributes: number;
|
||||
Direction: ParameterDirectionEnum;
|
||||
Name: string;
|
||||
NumericScale: number;
|
||||
Precision: number;
|
||||
Properties: Properties;
|
||||
Size: number;
|
||||
Type: DataTypeEnum;
|
||||
Value: any;
|
||||
}
|
||||
|
||||
interface Parameters {
|
||||
Append: (Object: any /*VT_DISPATCH*/) => void;
|
||||
Count: number;
|
||||
Delete: (Index: any) => void;
|
||||
Item: (Index: any) => Parameter;
|
||||
Refresh: () => void;
|
||||
}
|
||||
|
||||
interface Properties {
|
||||
Count: number;
|
||||
Item: (Index: any) => Property;
|
||||
Refresh: () => void;
|
||||
}
|
||||
|
||||
interface Property {
|
||||
Attributes: number;
|
||||
Name: string;
|
||||
Type: DataTypeEnum;
|
||||
Value: any;
|
||||
}
|
||||
|
||||
interface Record {
|
||||
ActiveConnection: any;
|
||||
Cancel: () => void;
|
||||
Close: () => void;
|
||||
CopyRecord: (Source?: string, Destination?: string, UserName?: string, Password?: string, Options?: CopyRecordOptionsEnum, Async?: boolean) => string;
|
||||
DeleteRecord: (Source?: string, Async?: boolean) => void;
|
||||
Fields: Fields;
|
||||
GetChildren: () => Recordset;
|
||||
Mode: ConnectModeEnum;
|
||||
MoveRecord: (Source?: string, Destination?: string, UserName?: string, Password?: string, Options?: MoveRecordOptionsEnum, Async?: boolean) => string;
|
||||
Open: (Source: any, ActiveConnection: any, Mode?: ConnectModeEnum, CreateOptions?: RecordCreateOptionsEnum, Options?: RecordOpenOptionsEnum, UserName?: string, Password?: string) => void;
|
||||
ParentURL: string;
|
||||
Properties: Properties;
|
||||
RecordType: RecordTypeEnum;
|
||||
Source: any;
|
||||
State: ObjectStateEnum;
|
||||
}
|
||||
|
||||
interface Recordset {
|
||||
_xClone: () => Recordset;
|
||||
_xResync: (AffectRecords?: AffectEnum) => void;
|
||||
_xSave: (FileName?: string, PersistFormat?: PersistFormatEnum) => void;
|
||||
AbsolutePage: PositionEnum;
|
||||
AbsolutePosition: PositionEnum;
|
||||
ActiveCommand: any /*VT_DISPATCH*/;
|
||||
ActiveConnection: any /*VT_DISPATCH*/;
|
||||
AddNew: (FieldList?: any, Values?: any) => void;
|
||||
BOF: boolean;
|
||||
Bookmark: any;
|
||||
CacheSize: number;
|
||||
Cancel: () => void;
|
||||
CancelBatch: (AffectRecords?: AffectEnum) => void;
|
||||
CancelUpdate: () => void;
|
||||
Clone: (LockType?: LockTypeEnum) => Recordset;
|
||||
Close: () => void;
|
||||
Collect: (Index: any) => any; //Also has setter with parameters
|
||||
CompareBookmarks: (Bookmark1: any, Bookmark2: any) => CompareEnum;
|
||||
CursorLocation: CursorLocationEnum;
|
||||
CursorType: CursorTypeEnum;
|
||||
DataMember: string;
|
||||
DataSource: any /*VT_UNKNOWN*/;
|
||||
Delete: (AffectRecords?: AffectEnum) => void;
|
||||
EditMode: EditModeEnum;
|
||||
EOF: boolean;
|
||||
Fields: Fields;
|
||||
Filter: any;
|
||||
Find: (Criteria: string, SkipRecords?: number, SearchDirection?: SearchDirectionEnum, Start?: any) => void;
|
||||
GetRows: (Rows?: number, Start?: any, Fields?: any) => any;
|
||||
GetString: (StringFormat?: StringFormatEnum, NumRows?: number, ColumnDelimeter?: string, RowDelimeter?: string, NullExpr?: string) => string;
|
||||
Index: string;
|
||||
LockType: LockTypeEnum;
|
||||
MarshalOptions: MarshalOptionsEnum;
|
||||
MaxRecords: number;
|
||||
Move: (NumRecords: number, Start?: any) => void;
|
||||
MoveFirst: () => void;
|
||||
MoveLast: () => void;
|
||||
MoveNext: () => void;
|
||||
MovePrevious: () => void;
|
||||
NextRecordset: (RecordsAffected?: any) => Recordset;
|
||||
Open: (Source: any, ActiveConnection: any, CursorType?: CursorTypeEnum, LockType?: LockTypeEnum, Options?: number) => void;
|
||||
PageCount: number;
|
||||
PageSize: number;
|
||||
Properties: Properties;
|
||||
RecordCount: number;
|
||||
Requery: (Options?: number) => void;
|
||||
Resync: (AffectRecords?: AffectEnum, ResyncValues?: ResyncEnum) => void;
|
||||
Save: (Destination: any, PersistFormat?: PersistFormatEnum) => void;
|
||||
Seek: (KeyValues: any, SeekOption?: SeekEnum) => void;
|
||||
Sort: string;
|
||||
Source: any /*VT_DISPATCH*/;
|
||||
State: number;
|
||||
Status: number;
|
||||
StayInSync: boolean;
|
||||
Supports: (CursorOptions: CursorOptionEnum) => boolean;
|
||||
Update: (Fields?: any, Values?: any) => void;
|
||||
UpdateBatch: (AffectRecords?: AffectEnum) => void;
|
||||
}
|
||||
|
||||
interface Stream {
|
||||
Cancel: () => void;
|
||||
Charset: string;
|
||||
Close: () => void;
|
||||
CopyTo: (DestStream: Stream, CharNumber?: number) => void;
|
||||
EOS: boolean;
|
||||
Flush: () => void;
|
||||
LineSeparator: LineSeparatorEnum;
|
||||
LoadFromFile: (FileName: string) => void;
|
||||
Mode: ConnectModeEnum;
|
||||
Open: (Source: any, Mode?: ConnectModeEnum, Options?: StreamOpenOptionsEnum, UserName?: string, Password?: string) => void;
|
||||
Position: number;
|
||||
Read: (NumBytes?: number) => any;
|
||||
ReadText: (NumChars?: number) => string;
|
||||
SaveToFile: (FileName: string, Options?: SaveOptionsEnum) => void;
|
||||
SetEOS: () => void;
|
||||
Size: number;
|
||||
SkipLine: () => void;
|
||||
State: ObjectStateEnum;
|
||||
Type: StreamTypeEnum;
|
||||
Write: (Buffer: any) => void;
|
||||
WriteText: (Data: string, Options?: StreamWriteEnum) => void;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
interface ActiveXObject {
|
||||
new (progID: 'ADODB.Connection'): ADODB.Connection;
|
||||
new (progID: 'ADODB.Record'): ADODB.Record;
|
||||
new (progID: 'ADODB.Stream'): ADODB.Stream;
|
||||
new (progID: 'ADODB.Command'): ADODB.Command;
|
||||
new (progID: 'ADODB.Recordset'): ADODB.Recordset;
|
||||
new (progID: 'ADODB.Parameter'): ADODB.Parameter;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"module": "commonjs",
|
||||
"target": "es6",
|
||||
"noImplicitAny": true,
|
||||
"noImplicitThis": true,
|
||||
"strictNullChecks": false,
|
||||
"baseUrl": "../",
|
||||
"typeRoots": [
|
||||
"../"
|
||||
],
|
||||
"types": [],
|
||||
"noEmit": true,
|
||||
"forceConsistentCasingInFileNames": true
|
||||
},
|
||||
"files": [
|
||||
"index.d.ts",
|
||||
"activex-data-objects-tests.ts"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,64 @@
|
||||
//source -- https://msdn.microsoft.com/en-us/library/ebkhfaaz.aspx
|
||||
|
||||
|
||||
//Generates a string describing the drive type of a given Drive object.
|
||||
var showDriveType = (drive: Scripting.Drive) => {
|
||||
switch (drive.DriveType) {
|
||||
case Scripting.DriveTypeConst.Removable:
|
||||
return 'Removeable';
|
||||
case Scripting.DriveTypeConst.Fixed:
|
||||
return 'Fixecd';
|
||||
case Scripting.DriveTypeConst.Remote:
|
||||
return 'Network';
|
||||
case Scripting.DriveTypeConst.CDRom:
|
||||
return 'CD-ROM';
|
||||
case Scripting.DriveTypeConst.RamDisk:
|
||||
return 'RAM Disk';
|
||||
default:
|
||||
return 'Unknown';
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
//Generates a string describing the attributes of a file or folder.
|
||||
var showFileAttributes = (file: Scripting.File) => {
|
||||
var attr = file.Attributes;
|
||||
if (attr === 0) {
|
||||
return 'Normal';
|
||||
}
|
||||
var attributeStrings: string[] = [];
|
||||
if (attr & Scripting.FileAttribute.Directory) { attributeStrings.push('Directory'); }
|
||||
if (attr & Scripting.FileAttribute.ReadOnly) { attributeStrings.push('Read-only'); }
|
||||
if (attr & Scripting.FileAttribute.Hidden) { attributeStrings.push('Hidden'); }
|
||||
if (attr & Scripting.FileAttribute.System) { attributeStrings.push('System'); }
|
||||
if (attr & Scripting.FileAttribute.Volume) { attributeStrings.push('Volume'); }
|
||||
if (attr & Scripting.FileAttribute.Archive) { attributeStrings.push('Archive'); }
|
||||
if (attr & Scripting.FileAttribute.Alias) { attributeStrings.push('Alias'); }
|
||||
if (attr & Scripting.FileAttribute.Compressed) { attributeStrings.push('Compressed'); }
|
||||
return attributeStrings.join(',');
|
||||
};
|
||||
|
||||
|
||||
//source --https://msdn.microsoft.com/en-us/library/ts2t8ybh(v=vs.84).aspx
|
||||
var showFreeSpace = (drvPath: string) => {
|
||||
var fso = new ActiveXObject('Scripting.FileSystemObject');
|
||||
var d = fso.GetDrive(fso.GetDriveName(drvPath));
|
||||
var s = 'Drive ' + drvPath + ' - ';
|
||||
s += d.VolumeName + '<br>';
|
||||
s += 'Free Space: ' + d.FreeSpace / 1024 + ' Kbytes';
|
||||
return (s);
|
||||
};
|
||||
|
||||
|
||||
//source -- https://msdn.microsoft.com/en-us/library/kaf6yaft(v=vs.84).aspx
|
||||
var getALine = (filespec: string) => {
|
||||
var fso = new ActiveXObject('Scripting.FileSystemObject');
|
||||
var file = fso.OpenTextFile(filespec, Scripting.IOMode.ForReading, false);
|
||||
|
||||
var s = '';
|
||||
while (!file.AtEndOfLine) {
|
||||
s += file.Read(1);
|
||||
}
|
||||
file.Close();
|
||||
return (s);
|
||||
};
|
||||
Vendored
+205
@@ -0,0 +1,205 @@
|
||||
// Type definitions for Microsoft Scripting Runtime
|
||||
// Project: https://msdn.microsoft.com/en-us/library/bstcxhf7.aspx
|
||||
// Definitions by: Zev Spitz <https://github.com/zspitz>
|
||||
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
||||
|
||||
declare namespace Scripting {
|
||||
|
||||
//Enums
|
||||
const enum CompareMethod {
|
||||
BinaryCompare = 0,
|
||||
DatabaseCompare = 2,
|
||||
TextCompare = 1
|
||||
}
|
||||
|
||||
const enum DriveTypeConst {
|
||||
CDRom = 4,
|
||||
Fixed = 2,
|
||||
RamDisk = 5,
|
||||
Remote = 3,
|
||||
Removable = 1,
|
||||
UnknownType = 0
|
||||
}
|
||||
|
||||
const enum FileAttribute {
|
||||
Alias = 1024,
|
||||
Archive = 32,
|
||||
Compressed = 2048,
|
||||
Directory = 16,
|
||||
Hidden = 2,
|
||||
Normal = 0,
|
||||
ReadOnly = 1,
|
||||
System = 4,
|
||||
Volume = 8
|
||||
}
|
||||
|
||||
const enum IOMode {
|
||||
ForAppending = 8,
|
||||
ForReading = 1,
|
||||
ForWriting = 2
|
||||
}
|
||||
|
||||
const enum SpecialFolderConst {
|
||||
SystemFolder = 1,
|
||||
TemporaryFolder = 2,
|
||||
WindowsFolder = 0
|
||||
}
|
||||
|
||||
const enum StandardStreamTypes {
|
||||
StdErr = 2,
|
||||
StdIn = 0,
|
||||
StdOut = 1
|
||||
}
|
||||
|
||||
const enum Tristate {
|
||||
TristateFalse = 0,
|
||||
TristateMixed = -2,
|
||||
TristateTrue = -1,
|
||||
TristateUseDefault = -2
|
||||
}
|
||||
|
||||
//Interfaces
|
||||
interface Dictionary {
|
||||
Add: (Key: any, Item: any) => void;
|
||||
CompareMode: CompareMethod;
|
||||
Count: number;
|
||||
Exists: (Key: any) => boolean;
|
||||
HashVal: (Key: any) => any;
|
||||
Item: (Key: any) => any; //Also has setter with parameters
|
||||
Items: () => any;
|
||||
Key: (Key: any) => any;
|
||||
Keys: () => any;
|
||||
Remove: (Key: any) => void;
|
||||
RemoveAll: () => void;
|
||||
}
|
||||
|
||||
interface Drive {
|
||||
AvailableSpace: any;
|
||||
DriveLetter: string;
|
||||
DriveType: DriveTypeConst;
|
||||
FileSystem: string;
|
||||
FreeSpace: any;
|
||||
IsReady: boolean;
|
||||
Path: string;
|
||||
RootFolder: Folder;
|
||||
SerialNumber: number;
|
||||
ShareName: string;
|
||||
TotalSize: any;
|
||||
VolumeName: string;
|
||||
}
|
||||
|
||||
interface Drives {
|
||||
Count: number;
|
||||
Item: (Key: any) => Drive;
|
||||
}
|
||||
|
||||
interface Encoder {
|
||||
EncodeScriptFile: (szExt: string, bstrStreamIn: string, cFlags: number, bstrDefaultLang: string) => string;
|
||||
}
|
||||
|
||||
interface File {
|
||||
Attributes: FileAttribute;
|
||||
Copy: (Destination: string, OverWriteFiles?: boolean) => void;
|
||||
DateCreated: VarDate;
|
||||
DateLastAccessed: VarDate;
|
||||
DateLastModified: VarDate;
|
||||
Delete: (Force?: boolean) => void;
|
||||
Drive: Drive;
|
||||
Move: (Destination: string) => void;
|
||||
Name: string;
|
||||
OpenAsTextStream: (IOMode?: IOMode, Format?: Tristate) => TextStream;
|
||||
ParentFolder: Folder;
|
||||
Path: string;
|
||||
ShortName: string;
|
||||
ShortPath: string;
|
||||
Size: any;
|
||||
Type: string;
|
||||
}
|
||||
|
||||
interface Files {
|
||||
Count: number;
|
||||
Item: (Key: any) => File;
|
||||
}
|
||||
|
||||
interface FileSystemObject {
|
||||
BuildPath: (Path: string, Name: string) => string;
|
||||
CopyFile: (Source: string, Destination: string, OverWriteFiles?: boolean) => void;
|
||||
CopyFolder: (Source: string, Destination: string, OverWriteFiles?: boolean) => void;
|
||||
CreateFolder: (Path: string) => Folder;
|
||||
CreateTextFile: (FileName: string, Overwrite?: boolean, Unicode?: boolean) => TextStream;
|
||||
DeleteFile: (FileSpec: string, Force?: boolean) => void;
|
||||
DeleteFolder: (FolderSpec: string, Force?: boolean) => void;
|
||||
DriveExists: (DriveSpec: string) => boolean;
|
||||
Drives: Drives;
|
||||
FileExists: (FileSpec: string) => boolean;
|
||||
FolderExists: (FolderSpec: string) => boolean;
|
||||
GetAbsolutePathName: (Path: string) => string;
|
||||
GetBaseName: (Path: string) => string;
|
||||
GetDrive: (DriveSpec: string) => Drive;
|
||||
GetDriveName: (Path: string) => string;
|
||||
GetExtensionName: (Path: string) => string;
|
||||
GetFile: (FilePath: string) => File;
|
||||
GetFileName: (Path: string) => string;
|
||||
GetFileVersion: (FileName: string) => string;
|
||||
GetFolder: (FolderPath: string) => Folder;
|
||||
GetParentFolderName: (Path: string) => string;
|
||||
GetSpecialFolder: (SpecialFolder: SpecialFolderConst) => Folder;
|
||||
GetStandardStream: (StandardStreamType: StandardStreamTypes, Unicode?: boolean) => TextStream;
|
||||
GetTempName: () => string;
|
||||
MoveFile: (Source: string, Destination: string) => void;
|
||||
MoveFolder: (Source: string, Destination: string) => void;
|
||||
OpenTextFile: (FileName: string, IOMode?: IOMode, Create?: boolean, Format?: Tristate) => TextStream;
|
||||
}
|
||||
|
||||
interface Folder {
|
||||
Attributes: FileAttribute;
|
||||
Copy: (Destination: string, OverWriteFiles?: boolean) => void;
|
||||
CreateTextFile: (FileName: string, Overwrite?: boolean, Unicode?: boolean) => TextStream;
|
||||
DateCreated: VarDate;
|
||||
DateLastAccessed: VarDate;
|
||||
DateLastModified: VarDate;
|
||||
Delete: (Force?: boolean) => void;
|
||||
Drive: Drive;
|
||||
Files: Files;
|
||||
IsRootFolder: boolean;
|
||||
Move: (Destination: string) => void;
|
||||
Name: string;
|
||||
ParentFolder: Folder;
|
||||
Path: string;
|
||||
ShortName: string;
|
||||
ShortPath: string;
|
||||
Size: any;
|
||||
SubFolders: Folders;
|
||||
Type: string;
|
||||
}
|
||||
|
||||
interface Folders {
|
||||
Add: (Name: string) => Folder;
|
||||
Count: number;
|
||||
Item: (Key: any) => Folder;
|
||||
}
|
||||
|
||||
interface TextStream {
|
||||
AtEndOfLine: boolean;
|
||||
AtEndOfStream: boolean;
|
||||
Close: () => void;
|
||||
Column: number;
|
||||
Line: number;
|
||||
Read: (Characters: number) => string;
|
||||
ReadAll: () => string;
|
||||
ReadLine: () => string;
|
||||
Skip: (Characters: number) => void;
|
||||
SkipLine: () => void;
|
||||
Write: (Text: string) => void;
|
||||
WriteBlankLines: (Lines: number) => void;
|
||||
WriteLine: (Text?: string) => void;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
interface ActiveXObject {
|
||||
new (progID: 'Scripting.Dictionary'): Scripting.Dictionary;
|
||||
new (progID: 'Scripting.FileSystemObject'): Scripting.FileSystemObject;
|
||||
new (progID: 'Scripting.Encoder'): Scripting.Encoder;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"module": "commonjs",
|
||||
"target": "es6",
|
||||
"noImplicitAny": true,
|
||||
"noImplicitThis": true,
|
||||
"strictNullChecks": false,
|
||||
"baseUrl": "../",
|
||||
"typeRoots": [
|
||||
"../"
|
||||
],
|
||||
"types": [],
|
||||
"noEmit": true,
|
||||
"forceConsistentCasingInFileNames": true
|
||||
},
|
||||
"files": [
|
||||
"index.d.ts",
|
||||
"activex-scripting-runtime-tests.ts"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,71 @@
|
||||
//source -- https://msdn.microsoft.com/en-us/library/windows/desktop/ms630826(v=vs.85).aspx
|
||||
|
||||
|
||||
//Convert a file
|
||||
var commonDialog = new ActiveXObject('WIA.CommonDialog');
|
||||
var img = commonDialog.ShowAcquireImage();
|
||||
if (img.FormatID !== WIA.FormatID.wiaFormatJPEG) {
|
||||
var ip = new ActiveXObject('WIA.ImageProcess');
|
||||
ip.Filters.Add(ip.FilterInfos.Item('Convert').FilterID);
|
||||
ip.Filters.Item(1).Properties.Item('FormatID').Value = WIA.FormatID.wiaFormatJPEG;
|
||||
img = ip.Apply(img);
|
||||
}
|
||||
|
||||
|
||||
//Take a picture
|
||||
var dev = commonDialog.ShowSelectDevice();
|
||||
if (dev.Type === WIA.WiaDeviceType.CameraDeviceType) {
|
||||
var itm = dev.ExecuteCommand(WIA.CommandID.wiaCommandTakePicture);
|
||||
}
|
||||
|
||||
|
||||
//Display detailed property information
|
||||
dev = commonDialog.ShowSelectDevice();
|
||||
var e = new Enumerator<WIA.Property>(dev.Properties); //no foreach over ActiveX collections
|
||||
e.moveFirst();
|
||||
while (!e.atEnd()) {
|
||||
var p = e.item();
|
||||
var s = p.Name + ' (' + p.PropertyID + ') = ';
|
||||
if (p.IsVector) {
|
||||
s += '[vector of data]';
|
||||
} else {
|
||||
s += p.Value;
|
||||
if (p.SubType !== WIA.WiaSubType.UnspecifiedSubType) {
|
||||
if (p.Value !== p.SubTypeDefault) {
|
||||
s += ' (Default = ' + p.SubTypeDefault + ')';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (p.IsReadOnly) {
|
||||
s += ' [READ ONLY]';
|
||||
} else {
|
||||
switch (p.SubType) {
|
||||
case WIA.WiaSubType.FlagSubType:
|
||||
case WIA.WiaSubType.ListSubType:
|
||||
if (p.SubType === WIA.WiaSubType.FlagSubType) {
|
||||
s += ' [valid flags include: ';
|
||||
} else {
|
||||
s += ' [valid values include: ';
|
||||
}
|
||||
var count = p.SubTypeValues.Count;
|
||||
for (var i = 1; i <= count; i++) {
|
||||
s += p.SubTypeValues.Item(i);
|
||||
if (i < count) {
|
||||
s += ', ';
|
||||
}
|
||||
}
|
||||
s += ']';
|
||||
break;
|
||||
case WIA.WiaSubType.RangeSubType:
|
||||
s += ' [valid values in the range from ' + p.SubTypeMin + ' to ' + p.SubTypeMax + ' in increments of ' + p.SubTypeStep + ']';
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (WScript) {
|
||||
WScript.Echo(s);
|
||||
} else if (window) {
|
||||
window.alert(s);
|
||||
}
|
||||
}
|
||||
+379
@@ -0,0 +1,379 @@
|
||||
// Type definitions for Microsoft Windows Image Acquisition Library v2.0
|
||||
// Project: https://msdn.microsoft.com/en-us/library/windows/desktop/ms630827(v=vs.85).aspx
|
||||
// Definitions by: Zev Spitz <https://github.com/zspitz>
|
||||
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
||||
|
||||
declare namespace WIA {
|
||||
|
||||
//Enums
|
||||
type CommandID =
|
||||
"'{04E725B0-ACAE-11D2-A093-00C04F72DC3C}'" //wiaCommandChangeDocument
|
||||
| "'{E208C170-ACAD-11D2-A093-00C04F72DC3C}'" //wiaCommandDeleteAllItems
|
||||
| "'{9B26B7B2-ACAD-11D2-A093-00C04F72DC3C}'" //wiaCommandSynchronize
|
||||
| "'{AF933CAC-ACAD-11D2-A093-00C04F72DC3C}'" //wiaCommandTakePicture
|
||||
| "'{1F3B3D8E-ACAE-11D2-A093-00C04F72DC3C}'"; //wiaCommandUnloadDocument
|
||||
const CommandID: {
|
||||
wiaCommandChangeDocument: CommandID,
|
||||
wiaCommandDeleteAllItems: CommandID,
|
||||
wiaCommandSynchronize: CommandID,
|
||||
wiaCommandTakePicture: CommandID,
|
||||
wiaCommandUnloadDocument: CommandID
|
||||
};
|
||||
|
||||
type EventID =
|
||||
"'{A28BBADE-64B6-11D2-A231-00C04FA31809}'" //wiaEventDeviceConnected
|
||||
| "'{143E4E83-6497-11D2-A231-00C04FA31809}'" //wiaEventDeviceDisconnected
|
||||
| "'{4C8F4EF5-E14F-11D2-B326-00C04F68CE61}'" //wiaEventItemCreated
|
||||
| "'{1D22A559-E14F-11D2-B326-00C04F68CE61}'" //wiaEventItemDeleted
|
||||
| "'{C686DCEE-54F2-419E-9A27-2FC7F2E98F9E}'" //wiaEventScanEmailImage
|
||||
| "'{C00EB793-8C6E-11D2-977A-0000F87A926F}'" //wiaEventScanFaxImage
|
||||
| "'{9B2B662C-6185-438C-B68B-E39EE25E71CB}'" //wiaEventScanFilmImage
|
||||
| "'{A6C5A715-8C6E-11D2-977A-0000F87A926F}'" //wiaEventScanImage
|
||||
| "'{FC4767C1-C8B3-48A2-9CFA-2E90CB3D3590}'" //wiaEventScanImage2
|
||||
| "'{154E27BE-B617-4653-ACC5-0FD7BD4C65CE}'" //wiaEventScanImage3
|
||||
| "'{A65B704A-7F3C-4447-A75D-8A26DFCA1FDF}'" //wiaEventScanImage4
|
||||
| "'{9D095B89-37D6-4877-AFED-62A297DC6DBE}'" //wiaEventScanOCRImage
|
||||
| "'{B441F425-8C6E-11D2-977A-0000F87A926F}'"; //wiaEventScanPrintImage
|
||||
const EventID: {
|
||||
wiaEventDeviceConnected: EventID,
|
||||
wiaEventDeviceDisconnected: EventID,
|
||||
wiaEventItemCreated: EventID,
|
||||
wiaEventItemDeleted: EventID,
|
||||
wiaEventScanEmailImage: EventID,
|
||||
wiaEventScanFaxImage: EventID,
|
||||
wiaEventScanFilmImage: EventID,
|
||||
wiaEventScanImage: EventID,
|
||||
wiaEventScanImage2: EventID,
|
||||
wiaEventScanImage3: EventID,
|
||||
wiaEventScanImage4: EventID,
|
||||
wiaEventScanOCRImage: EventID,
|
||||
wiaEventScanPrintImage: EventID
|
||||
};
|
||||
|
||||
type FormatID =
|
||||
"'{B96B3CAB-0728-11D3-9D7B-0000F81EF32E}'" //wiaFormatBMP
|
||||
| "'{B96B3CB0-0728-11D3-9D7B-0000F81EF32E}'" //wiaFormatGIF
|
||||
| "'{B96B3CAE-0728-11D3-9D7B-0000F81EF32E}'" //wiaFormatJPEG
|
||||
| "'{B96B3CAF-0728-11D3-9D7B-0000F81EF32E}'" //wiaFormatPNG
|
||||
| "'{B96B3CB1-0728-11D3-9D7B-0000F81EF32E}'"; //wiaFormatTIFF
|
||||
const FormatID: {
|
||||
wiaFormatBMP: FormatID,
|
||||
wiaFormatGIF: FormatID,
|
||||
wiaFormatJPEG: FormatID,
|
||||
wiaFormatPNG: FormatID,
|
||||
wiaFormatTIFF: FormatID
|
||||
};
|
||||
|
||||
type Miscellaneous =
|
||||
"'*'" //wiaAnyDeviceID
|
||||
| "'{00000000-0000-0000-0000-000000000000}'"; //wiaIDUnknown
|
||||
const Miscellaneous: {
|
||||
wiaAnyDeviceID: Miscellaneous,
|
||||
wiaIDUnknown: Miscellaneous
|
||||
};
|
||||
|
||||
const enum WiaDeviceType {
|
||||
CameraDeviceType = 2,
|
||||
ScannerDeviceType = 1,
|
||||
UnspecifiedDeviceType = 0,
|
||||
VideoDeviceType = 3
|
||||
}
|
||||
|
||||
const enum WiaEventFlag {
|
||||
ActionEvent = 2,
|
||||
NotificationEvent = 1
|
||||
}
|
||||
|
||||
const enum WiaImageBias {
|
||||
MaximizeQuality = 131072,
|
||||
MinimizeSize = 65536
|
||||
}
|
||||
|
||||
const enum WiaImageIntent {
|
||||
ColorIntent = 1,
|
||||
GrayscaleIntent = 2,
|
||||
TextIntent = 4,
|
||||
UnspecifiedIntent = 0
|
||||
}
|
||||
|
||||
const enum WiaImagePropertyType {
|
||||
ByteImagePropertyType = 1001,
|
||||
LongImagePropertyType = 1004,
|
||||
RationalImagePropertyType = 1006,
|
||||
StringImagePropertyType = 1002,
|
||||
UndefinedImagePropertyType = 1000,
|
||||
UnsignedIntegerImagePropertyType = 1003,
|
||||
UnsignedLongImagePropertyType = 1005,
|
||||
UnsignedRationalImagePropertyType = 1007,
|
||||
VectorOfBytesImagePropertyType = 1101,
|
||||
VectorOfLongsImagePropertyType = 1103,
|
||||
VectorOfRationalsImagePropertyType = 1105,
|
||||
VectorOfUndefinedImagePropertyType = 1100,
|
||||
VectorOfUnsignedIntegersImagePropertyType = 1102,
|
||||
VectorOfUnsignedLongsImagePropertyType = 1104,
|
||||
VectorOfUnsignedRationalsImagePropertyType = 1106
|
||||
}
|
||||
|
||||
const enum WiaItemFlag {
|
||||
AnalyzeItemFlag = 16,
|
||||
AudioItemFlag = 32,
|
||||
BurstItemFlag = 2048,
|
||||
DeletedItemFlag = 128,
|
||||
DeviceItemFlag = 64,
|
||||
DisconnectedItemFlag = 256,
|
||||
FileItemFlag = 2,
|
||||
FolderItemFlag = 4,
|
||||
FreeItemFlag = 0,
|
||||
GeneratedItemFlag = 16384,
|
||||
HasAttachmentsItemFlag = 32768,
|
||||
HPanoramaItemFlag = 512,
|
||||
ImageItemFlag = 1,
|
||||
RemovedItemFlag = -2147483648,
|
||||
RootItemFlag = 8,
|
||||
StorageItemFlag = 4096,
|
||||
TransferItemFlag = 8192,
|
||||
VideoItemFlag = 65536,
|
||||
VPanoramaItemFlag = 1024
|
||||
}
|
||||
|
||||
const enum WiaPropertyType {
|
||||
BooleanPropertyType = 1,
|
||||
BytePropertyType = 2,
|
||||
ClassIDPropertyType = 15,
|
||||
CurrencyPropertyType = 12,
|
||||
DatePropertyType = 13,
|
||||
DoublePropertyType = 11,
|
||||
ErrorCodePropertyType = 7,
|
||||
FileTimePropertyType = 14,
|
||||
HandlePropertyType = 18,
|
||||
IntegerPropertyType = 3,
|
||||
LargeIntegerPropertyType = 8,
|
||||
LongPropertyType = 5,
|
||||
ObjectPropertyType = 17,
|
||||
SinglePropertyType = 10,
|
||||
StringPropertyType = 16,
|
||||
UnsignedIntegerPropertyType = 4,
|
||||
UnsignedLargeIntegerPropertyType = 9,
|
||||
UnsignedLongPropertyType = 6,
|
||||
UnsupportedPropertyType = 0,
|
||||
VariantPropertyType = 19,
|
||||
VectorOfBooleansPropertyType = 101,
|
||||
VectorOfBytesPropertyType = 102,
|
||||
VectorOfClassIDsPropertyType = 115,
|
||||
VectorOfCurrenciesPropertyType = 112,
|
||||
VectorOfDatesPropertyType = 113,
|
||||
VectorOfDoublesPropertyType = 111,
|
||||
VectorOfErrorCodesPropertyType = 107,
|
||||
VectorOfFileTimesPropertyType = 114,
|
||||
VectorOfIntegersPropertyType = 103,
|
||||
VectorOfLargeIntegersPropertyType = 108,
|
||||
VectorOfLongsPropertyType = 105,
|
||||
VectorOfSinglesPropertyType = 110,
|
||||
VectorOfStringsPropertyType = 116,
|
||||
VectorOfUnsignedIntegersPropertyType = 104,
|
||||
VectorOfUnsignedLargeIntegersPropertyType = 109,
|
||||
VectorOfUnsignedLongsPropertyType = 106,
|
||||
VectorOfVariantsPropertyType = 119
|
||||
}
|
||||
|
||||
const enum WiaSubType {
|
||||
FlagSubType = 3,
|
||||
ListSubType = 2,
|
||||
RangeSubType = 1,
|
||||
UnspecifiedSubType = 0
|
||||
}
|
||||
|
||||
//Interfaces
|
||||
interface CommonDialog {
|
||||
ShowAcquireImage: (DeviceType?: WiaDeviceType, Intent?: WiaImageIntent, Bias?: WiaImageBias, FormatID?: string, AlwaysSelectDevice?: boolean, UseCommonUI?: boolean, CancelError?: boolean) => ImageFile;
|
||||
ShowAcquisitionWizard: (Device: Device) => any;
|
||||
ShowDeviceProperties: (Device: Device, CancelError?: boolean) => void;
|
||||
ShowItemProperties: (Item: Item, CancelError?: boolean) => void;
|
||||
ShowPhotoPrintingWizard: (Files: any) => void;
|
||||
ShowSelectDevice: (DeviceType?: WiaDeviceType, AlwaysSelectDevice?: boolean, CancelError?: boolean) => Device;
|
||||
ShowSelectItems: (Device: Device, Intent?: WiaImageIntent, Bias?: WiaImageBias, SingleSelect?: boolean, UseCommonUI?: boolean, CancelError?: boolean) => Items;
|
||||
ShowTransfer: (Item: Item, FormatID?: string, CancelError?: boolean) => any;
|
||||
}
|
||||
|
||||
interface Device {
|
||||
Commands: DeviceCommands;
|
||||
DeviceID: string;
|
||||
Events: DeviceEvents;
|
||||
ExecuteCommand: (CommandID: string) => Item;
|
||||
GetItem: (ItemID: string) => Item;
|
||||
Items: Items;
|
||||
Properties: Properties;
|
||||
Type: WiaDeviceType;
|
||||
WiaItem: any /*VT_UNKNOWN*/;
|
||||
}
|
||||
|
||||
interface DeviceCommand {
|
||||
CommandID: string;
|
||||
Description: string;
|
||||
Name: string;
|
||||
}
|
||||
|
||||
interface DeviceCommands {
|
||||
Count: number;
|
||||
Item: (Index: number) => DeviceCommand;
|
||||
}
|
||||
|
||||
interface DeviceEvent {
|
||||
Description: string;
|
||||
EventID: string;
|
||||
Name: string;
|
||||
Type: WiaEventFlag;
|
||||
}
|
||||
|
||||
interface DeviceEvents {
|
||||
Count: number;
|
||||
Item: (Index: number) => DeviceEvent;
|
||||
}
|
||||
|
||||
interface DeviceInfo {
|
||||
Connect: () => Device;
|
||||
DeviceID: string;
|
||||
Properties: Properties;
|
||||
Type: WiaDeviceType;
|
||||
}
|
||||
|
||||
interface DeviceInfos {
|
||||
Count: number;
|
||||
Item: (Index: any) => DeviceInfo;
|
||||
}
|
||||
|
||||
interface DeviceManager {
|
||||
DeviceInfos: DeviceInfos;
|
||||
RegisterEvent: (EventID: string, DeviceID?: string) => void;
|
||||
RegisterPersistentEvent: (Command: string, Name: string, Description: string, Icon: string, EventID: string, DeviceID?: string) => void;
|
||||
UnregisterEvent: (EventID: string, DeviceID?: string) => void;
|
||||
UnregisterPersistentEvent: (Command: string, Name: string, Description: string, Icon: string, EventID: string, DeviceID?: string) => void;
|
||||
}
|
||||
|
||||
interface Filter {
|
||||
Description: string;
|
||||
FilterID: string;
|
||||
Name: string;
|
||||
Properties: Properties;
|
||||
}
|
||||
|
||||
interface FilterInfo {
|
||||
Description: string;
|
||||
FilterID: string;
|
||||
Name: string;
|
||||
}
|
||||
|
||||
interface FilterInfos {
|
||||
Count: number;
|
||||
Item: (Index: any) => FilterInfo;
|
||||
}
|
||||
|
||||
interface Filters {
|
||||
Add: (FilterID: string, Index?: number) => void;
|
||||
Count: number;
|
||||
Item: (Index: number) => Filter;
|
||||
Remove: (Index: number) => void;
|
||||
}
|
||||
|
||||
interface Formats {
|
||||
Count: number;
|
||||
Item: (Index: number) => string;
|
||||
}
|
||||
|
||||
interface ImageFile {
|
||||
ActiveFrame: number;
|
||||
ARGBData: Vector;
|
||||
FileData: Vector;
|
||||
FileExtension: string;
|
||||
FormatID: string;
|
||||
FrameCount: number;
|
||||
Height: number;
|
||||
HorizontalResolution: number;
|
||||
IsAlphaPixelFormat: boolean;
|
||||
IsAnimated: boolean;
|
||||
IsExtendedPixelFormat: boolean;
|
||||
IsIndexedPixelFormat: boolean;
|
||||
LoadFile: (Filename: string) => void;
|
||||
PixelDepth: number;
|
||||
Properties: Properties;
|
||||
SaveFile: (Filename: string) => void;
|
||||
VerticalResolution: number;
|
||||
Width: number;
|
||||
}
|
||||
|
||||
interface ImageProcess {
|
||||
Apply: (Source: ImageFile) => ImageFile;
|
||||
FilterInfos: FilterInfos;
|
||||
Filters: Filters;
|
||||
}
|
||||
|
||||
interface Item {
|
||||
Commands: DeviceCommands;
|
||||
ExecuteCommand: (CommandID: string) => Item;
|
||||
Formats: Formats;
|
||||
ItemID: string;
|
||||
Items: Items;
|
||||
Properties: Properties;
|
||||
Transfer: (FormatID?: string) => any;
|
||||
WiaItem: any /*VT_UNKNOWN*/;
|
||||
}
|
||||
|
||||
interface Items {
|
||||
Add: (Name: string, Flags: number) => void;
|
||||
Count: number;
|
||||
Item: (Index: number) => Item;
|
||||
Remove: (Index: number) => void;
|
||||
}
|
||||
|
||||
interface Properties {
|
||||
Count: number;
|
||||
Exists: (Index: any) => boolean;
|
||||
Item: (Index: any) => Property;
|
||||
}
|
||||
|
||||
interface Property {
|
||||
IsReadOnly: boolean;
|
||||
IsVector: boolean;
|
||||
Name: string;
|
||||
PropertyID: number;
|
||||
SubType: WiaSubType;
|
||||
SubTypeDefault: any;
|
||||
SubTypeMax: number;
|
||||
SubTypeMin: number;
|
||||
SubTypeStep: number;
|
||||
SubTypeValues: Vector;
|
||||
Type: number;
|
||||
Value: any;
|
||||
}
|
||||
|
||||
interface Rational {
|
||||
Denominator: number;
|
||||
Numerator: number;
|
||||
Value: number;
|
||||
}
|
||||
|
||||
interface Vector {
|
||||
Add: (Value: any, Index?: number) => void;
|
||||
BinaryData: any;
|
||||
Clear: () => void;
|
||||
Count: number;
|
||||
Date: VarDate;
|
||||
ImageFile: (Width?: number, Height?: number) => ImageFile;
|
||||
Item: (Index: number) => any; //Also has setter with parameters
|
||||
Picture: (Width?: number, Height?: number) => any;
|
||||
Remove: (Index: number) => any;
|
||||
SetFromString: (Value: string, Resizable?: boolean, Unicode?: boolean) => void;
|
||||
String: (Unicode?: boolean) => string;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
interface ActiveXObject {
|
||||
new (progID: 'WIA.Rational'): WIA.Rational;
|
||||
new (progID: 'WIA.Vector'): WIA.Vector;
|
||||
new (progID: 'WIA.ImageFile'): WIA.ImageFile;
|
||||
new (progID: 'WIA.ImageProcess'): WIA.ImageProcess;
|
||||
new (progID: 'WIA.CommonDialog'): WIA.CommonDialog;
|
||||
new (progID: 'WIA.DeviceManager'): WIA.DeviceManager;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"module": "commonjs",
|
||||
"target": "es6",
|
||||
"noImplicitAny": true,
|
||||
"noImplicitThis": true,
|
||||
"strictNullChecks": false,
|
||||
"baseUrl": "../",
|
||||
"typeRoots": [
|
||||
"../"
|
||||
],
|
||||
"types": [],
|
||||
"noEmit": true,
|
||||
"forceConsistentCasingInFileNames": true
|
||||
},
|
||||
"files": [
|
||||
"index.d.ts",
|
||||
"activex-windows-image-acquisition-tests.ts"
|
||||
]
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
/// <reference path="adal-angular.d.ts" />
|
||||
|
||||
|
||||
// Code samples from:
|
||||
// - https://github.com/AzureAD/azure-activedirectory-library-for-js
|
||||
+2
-2
@@ -3,8 +3,8 @@
|
||||
// Definitions by: mmaitre314 <https://github.com/mmaitre314>
|
||||
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
||||
|
||||
/// <reference path="adal.d.ts" />
|
||||
/// <reference path="../angularjs/angular.d.ts" />
|
||||
|
||||
/// <reference types="angular" />
|
||||
|
||||
declare namespace adal {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/// <reference path="adal.d.ts" />
|
||||
|
||||
|
||||
var endpoints = {
|
||||
"https://yourhost/api": "b6a68585-5287-45b2-ba82-383ba1f60932",
|
||||
@@ -20,6 +20,5 @@ Logging.level = 4;
|
||||
|
||||
auth.info("Logging message");
|
||||
|
||||
var userName: string = auth.getCachedUser().userName;
|
||||
var postLogoutRedirectUrl = auth.config.postLogoutRedirectUri;
|
||||
var userName: string = auth.getCachedUser().userName;var postLogoutRedirectUrl = auth.config.postLogoutRedirectUri;
|
||||
var isValidRequest = auth.getRequestInfo('hash').valid;
|
||||
@@ -0,0 +1,20 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"module": "commonjs",
|
||||
"target": "es6",
|
||||
"noImplicitAny": true,
|
||||
"noImplicitThis": true,
|
||||
"strictNullChecks": false,
|
||||
"baseUrl": "../",
|
||||
"typeRoots": [
|
||||
"../"
|
||||
],
|
||||
"types": [],
|
||||
"noEmit": true,
|
||||
"forceConsistentCasingInFileNames": true
|
||||
},
|
||||
"files": [
|
||||
"index.d.ts",
|
||||
"adal-tests.ts"
|
||||
]
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
/// <reference path="add2home.d.ts" />
|
||||
|
||||
|
||||
addToHome.show(false);
|
||||
addToHome.close();
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user