From f0d81a07d2bebe7a468ccee170c6f36539e20c90 Mon Sep 17 00:00:00 2001 From: Toshiya Nakakura Date: Sat, 27 Jun 2015 15:51:36 +0900 Subject: [PATCH 1/2] add geometry.d.ts --- geometry/geometry-tests.ts | 25 +++ geometry/geometry.d.ts | 326 +++++++++++++++++++++++++++++++++++++ npm-debug.log | 36 ++++ 3 files changed, 387 insertions(+) create mode 100644 geometry/geometry-tests.ts create mode 100644 geometry/geometry.d.ts create mode 100644 npm-debug.log diff --git a/geometry/geometry-tests.ts b/geometry/geometry-tests.ts new file mode 100644 index 000000000..6e05d380a --- /dev/null +++ b/geometry/geometry-tests.ts @@ -0,0 +1,25 @@ +/// + +var point = new DOMPoint(5, 4); +var matrix = new DOMMatrix(2, 0, 0, 2, 10, 10); +var transformedPoint = point.matrixTransform(matrix); + +var point = new DOMPoint(2, 0); +var quad1 = new DOMQuad(point, {x: 12, y: 0}, {x: 2, y: 10}, {x: 12, y: 10}); + +var rect = new DOMRect(2, 0, 10, 10); +var quad2 = new DOMQuad(rect); + +new DOMQuad({x: 40, y: 25}, {x: 180, y: 8}, {x: 210, y: 150}, {x: 10, y: 180}); + +var matrix = new DOMMatrix(); +matrix.scaleSelf(2); +matrix.translateSelf(20,20); + +var matrix = new DOMMatrix(); +matrix.translateSelf(20, 20); +matrix.scaleSelf(2); +matrix.translateSelf(-20, -20); + +var matrix = new DOMMatrix(); +matrix.translateSelf(20, 20).scaleSelf(2).translateSelf(-20, -20); diff --git a/geometry/geometry.d.ts b/geometry/geometry.d.ts new file mode 100644 index 000000000..f0a8c3ba5 --- /dev/null +++ b/geometry/geometry.d.ts @@ -0,0 +1,326 @@ +// Type definitions for Geometry Format Specification +// Project: http://www.w3.org/TR/geometry-1/ +// Definitions by: Toshiya Nakakura +// Definitions: https://github.com/borisyankov/DefinitelyTyped + +declare module Geometry { + export interface DOMPointReadOnly { + /** + * x coordinate / readonly + */ + x: number; + /** + * y coordinate / readonly + */ + y: number; + /** + * z coordinate / readonly + */ + z: number; + /** + * w coordinate / readonly + */ + w: number; + + /** + * Post-multiply point with matrix. + * @param matrix + */ + matrixTransform(matrix:DOMMatrixReadOnly): DOMPoint; + } + + interface DOMPoint extends DOMPointReadOnly { + /** + * x coordinate + */ + x: number; + /** + * y coordinate + */ + y: number; + /** + * z coordinate + */ + z: number; + /** + * w coordinate + */ + w: number; + } + + interface DOMRect extends DOMRectReadOnly { + /** + * x coordinate + */ + x: number; + /** + * y coordinate + */ + y: number; + /** + * width value + */ + width: number; + /** + * height value + */ + height: number; + } + + interface DOMRectReadOnly { + /** + * x coordinate + */ + x: number; + /** + * y coordinate + */ + y: number; + /** + * width value + */ + width: number; + /** + * height value + */ + height: number; + /** + * min(y coordinate, y coordinate + height dimension) + */ + top: number; + /** + * max(x coordinate, x coordinate + width dimension) + */ + right: number; + /** + * max(y coordinate, y coordinate + height dimension) + */ + bottom: number; + /** + * min(x coordinate, x coordinate + width dimension) + */ + left: number; + } + + interface DOMRectList { + /** + * total number of DOMRect objects associated with the object. + * readonly unsigned long length + */ + length: number; + /** + * the DOMRect object at index must be returned. + * @param index + */ + item(index: number): DOMRect; + } + + interface DOMQuad { + /** + * a DOMPoint that represents p1 of the quadrilateral + */ + p1: DOMPoint; + /** + * a DOMPoint that represents p2 of the quadrilateral + */ + p2: DOMPoint; + /** + * a DOMPoint that represents p3 of the quadrilateral + */ + p3: DOMPoint; + /** + * a DOMPoint that represents p4 of the quadrilateral + */ + p4: DOMPoint; + /** + * the associated bounding rectangle of the quadrilateral + */ + bounds: DOMRectReadOnly; + } + + interface DOMMatrixReadOnly { + /** + * These attributes are simple aliases for certain elements of the 4x4 matrix + */ + a: number; + b: number; + c: number; + d: number; + e: number; + f: number; + + m11: number; + m12: number; + m13: number; + m14: number; + m21: number; + m22: number; + m23: number; + m24: number; + m31: number; + m32: number; + m33: number; + m34: number; + m41: number; + m42: number; + m43: number; + m44: number; + + is2D: boolean; + isIdentity: boolean; + + translate(tx: number, ty: number, tz?: number): DOMMatrix; + scale(scale: number, originX?: number, originY?: number): DOMMatrix; + scale3d(scale: number, originX?: number, originY?: number, originZ?: number): DOMMatrix; + scaleNonUniform(scale: number, scaleX: number, scaleY: number, scaleZ: number, originX: number, originY: number, originZ: number): DOMMatrix; + rotate(angle: number, originX?: number, originY?: number): DOMMatrix; + rotateFromVector(x: number, y: number): DOMMatrix; + rotateAxisAngle(x: number, y: number, z: number, angle: number): DOMMatrix; + skewX(sx: number): DOMMatrix; + skewY(sx: number): DOMMatrix; + + multiply(other: DOMMatrix): DOMMatrix; + flipX(): DOMMatrix; + flipY(): DOMMatrix; + inverse(): DOMMatrix; + + transformPoint(point?: DOMPointInit): DOMPoint; + + toFloat32Array(): Array; + toFloat64Array(): Array; + } + + interface DOMMatrix extends DOMMatrixReadOnly { + a: number; + b: number; + c: number; + d: number; + e: number; + f: number; + + m11: number; + m12: number; + m13: number; + m14: number; + m21: number; + m22: number; + m23: number; + m24: number; + m31: number; + m32: number; + m33: number; + m34: number; + m41: number; + m42: number; + m43: number; + m44: number; + + + multiplySelf(other: DOMMatrix): DOMMatrix; + preMultiplySelf(other: DOMMatrix): DOMMatrix; + translateSelf(tx: number, ty: number, tz?: number): DOMMatrix; + scaleSelf(scale: number, originX?: number, originY?: number): DOMMatrix; + scale3dSelf(scale: number, originX?: number, originY?: number, originZ?: number): DOMMatrix; + scaleNonUniformSelf(scaleX: number, scaleY?: number, scaleZ?: number, originX?: number, originY?: number, originZ?: number): DOMMatrix; + rotateSelf(angle: number, originX?: number, originY?: number): DOMMatrix; + rotateFromVectorSelf(x: number, y: number): DOMMatrix; + rotateAxisAngleSelf(x: number, y: number, z: number, angle: number): DOMMatrix; + + skewXSelf(sx: number): DOMMatrix; + skewYSelf(sy: number): DOMMatrix; + invertSelf(): DOMMatrix; + setMatrixValue(transformList: DOMMatrix): DOMMatrix; + } +} + +declare var DOMPointReadOnly: { + prototype: Geometry.DOMPointReadOnly; + new (x: number, y: number, z: number, w: number): Geometry.DOMPointReadOnly; +}; + +declare var DOMPoint: { + prototype: Geometry.DOMPoint; + new (x?:number, y?:number, z?:number, w?:number): Geometry.DOMPoint; +}; + +interface DOMPointInit { + /** + * x coordinate: 0 + */ + x: number; + /** + * y coordinate: 0 + */ + y: number; + /** + * z coordinate: 0 + */ + z?: number; + /** + * w coordinate: 1 + */ + w?: number; +} + +declare var DOMRect: { + prototype: Geometry.DOMRect; + new (x: number, y: number, width: number, height: number): Geometry.DOMRect; +}; + +declare var DOMRectReadOnly: { + prototype: Geometry.DOMRectReadOnly; + new (x: number, y: number, width: number, height: number): Geometry.DOMRectReadOnly; +}; + +interface DOMRectInit { + /** + * x coordinate + */ + x: number; + /** + * y coordinate + */ + y: number; + /** + * width value + */ + width: number; + /** + * height value + */ + height: number; +} + +interface DOMRectList { + /** + * total number of DOMRect objects associated with the object. + * readonly unsigned long length + */ + length: number; + /** + * the DOMRect object at index must be returned. + * @param index + */ + item(index: number): Geometry.DOMRect; +} + +declare var DOMQuad: { + prototype: Geometry.DOMQuad; + new (rect?: DOMRectInit): Geometry.DOMQuad; + new (p1?: DOMPointInit, p2?: DOMPointInit, p3?: DOMPointInit, p4?: DOMPointInit): Geometry.DOMQuad; +}; + +declare var DOMMatrixReadOnly: { + prototype: Geometry.DOMMatrixReadOnly; + new (numberSequence: Array): Geometry.DOMMatrixReadOnly; +}; + +declare var DOMMatrix: { + prototype: Geometry.DOMMatrix; + new (): Geometry.DOMMatrix; + new (transformList: string): Geometry.DOMMatrix; + new (other: Geometry.DOMMatrixReadOnly): Geometry.DOMMatrix; + new (array: Array): Geometry.DOMMatrix; + new (a: number, b: number, c: number, d: number, e: number, f: number): Geometry.DOMMatrix; +}; + diff --git a/npm-debug.log b/npm-debug.log new file mode 100644 index 000000000..080c94e86 --- /dev/null +++ b/npm-debug.log @@ -0,0 +1,36 @@ +0 info it worked if it ends with ok +1 verbose cli [ 'node', '/usr/local/bin/npm', 'run', 'all' ] +2 info using npm@2.7.5 +3 info using node@v0.12.2 +4 verbose node symlink /usr/local/bin/node +5 verbose run-script [ 'preall', 'all', 'postall' ] +6 info preall DefinitelyTyped@0.0.1 +7 info all DefinitelyTyped@0.0.1 +8 verbose unsafe-perm in lifecycle true +9 info DefinitelyTyped@0.0.1 Failed to exec all script +10 verbose stack Error: DefinitelyTyped@0.0.1 all: `dt` +10 verbose stack Exit status 1 +10 verbose stack at EventEmitter. (/usr/local/lib/node_modules/npm/lib/utils/lifecycle.js:213:16) +10 verbose stack at EventEmitter.emit (events.js:110:17) +10 verbose stack at ChildProcess. (/usr/local/lib/node_modules/npm/lib/utils/spawn.js:14:12) +10 verbose stack at ChildProcess.emit (events.js:110:17) +10 verbose stack at maybeClose (child_process.js:1015:16) +10 verbose stack at Process.ChildProcess._handle.onexit (child_process.js:1087:5) +11 verbose pkgid DefinitelyTyped@0.0.1 +12 verbose cwd /Volumes/user/Users/nakakura/Desktop/DefinitelyTyped +13 error Darwin 14.3.0 +14 error argv "node" "/usr/local/bin/npm" "run" "all" +15 error node v0.12.2 +16 error npm v2.7.5 +17 error code ELIFECYCLE +18 error DefinitelyTyped@0.0.1 all: `dt` +18 error Exit status 1 +19 error Failed at the DefinitelyTyped@0.0.1 all script 'dt'. +19 error This is most likely a problem with the DefinitelyTyped package, +19 error not with npm itself. +19 error Tell the author that this fails on your system: +19 error dt +19 error You can get their info via: +19 error npm owner ls DefinitelyTyped +19 error There is likely additional logging output above. +20 verbose exit [ 1, true ] From a5529c0343f8db3768679c0295f49e68fa51db33 Mon Sep 17 00:00:00 2001 From: Toshiya Nakakura Date: Sun, 28 Jun 2015 09:56:18 +0900 Subject: [PATCH 2/2] move geometry.d.ts to geometry-dom.d.ts --- .../geometry-dom-tests.ts | 2 +- .../geometry-dom.d.ts | 42 +++++++++---------- npm-debug.log | 36 ---------------- 3 files changed, 22 insertions(+), 58 deletions(-) rename geometry/geometry-tests.ts => geometry-dom/geometry-dom-tests.ts (93%) rename geometry/geometry.d.ts => geometry-dom/geometry-dom.d.ts (88%) delete mode 100644 npm-debug.log diff --git a/geometry/geometry-tests.ts b/geometry-dom/geometry-dom-tests.ts similarity index 93% rename from geometry/geometry-tests.ts rename to geometry-dom/geometry-dom-tests.ts index 6e05d380a..e29366511 100644 --- a/geometry/geometry-tests.ts +++ b/geometry-dom/geometry-dom-tests.ts @@ -1,4 +1,4 @@ -/// +/// var point = new DOMPoint(5, 4); var matrix = new DOMMatrix(2, 0, 0, 2, 10, 10); diff --git a/geometry/geometry.d.ts b/geometry-dom/geometry-dom.d.ts similarity index 88% rename from geometry/geometry.d.ts rename to geometry-dom/geometry-dom.d.ts index f0a8c3ba5..9058bf87d 100644 --- a/geometry/geometry.d.ts +++ b/geometry-dom/geometry-dom.d.ts @@ -3,7 +3,7 @@ // Definitions by: Toshiya Nakakura // Definitions: https://github.com/borisyankov/DefinitelyTyped -declare module Geometry { +declare module GeometryDom { export interface DOMPointReadOnly { /** * x coordinate / readonly @@ -234,13 +234,13 @@ declare module Geometry { } declare var DOMPointReadOnly: { - prototype: Geometry.DOMPointReadOnly; - new (x: number, y: number, z: number, w: number): Geometry.DOMPointReadOnly; + prototype: GeometryDom.DOMPointReadOnly; + new (x: number, y: number, z: number, w: number): GeometryDom.DOMPointReadOnly; }; declare var DOMPoint: { - prototype: Geometry.DOMPoint; - new (x?:number, y?:number, z?:number, w?:number): Geometry.DOMPoint; + prototype: GeometryDom.DOMPoint; + new (x?:number, y?:number, z?:number, w?:number): GeometryDom.DOMPoint; }; interface DOMPointInit { @@ -263,13 +263,13 @@ interface DOMPointInit { } declare var DOMRect: { - prototype: Geometry.DOMRect; - new (x: number, y: number, width: number, height: number): Geometry.DOMRect; + prototype: GeometryDom.DOMRect; + new (x: number, y: number, width: number, height: number): GeometryDom.DOMRect; }; declare var DOMRectReadOnly: { - prototype: Geometry.DOMRectReadOnly; - new (x: number, y: number, width: number, height: number): Geometry.DOMRectReadOnly; + prototype: GeometryDom.DOMRectReadOnly; + new (x: number, y: number, width: number, height: number): GeometryDom.DOMRectReadOnly; }; interface DOMRectInit { @@ -301,26 +301,26 @@ interface DOMRectList { * the DOMRect object at index must be returned. * @param index */ - item(index: number): Geometry.DOMRect; + item(index: number): GeometryDom.DOMRect; } declare var DOMQuad: { - prototype: Geometry.DOMQuad; - new (rect?: DOMRectInit): Geometry.DOMQuad; - new (p1?: DOMPointInit, p2?: DOMPointInit, p3?: DOMPointInit, p4?: DOMPointInit): Geometry.DOMQuad; + prototype: GeometryDom.DOMQuad; + new (rect?: DOMRectInit): GeometryDom.DOMQuad; + new (p1?: DOMPointInit, p2?: DOMPointInit, p3?: DOMPointInit, p4?: DOMPointInit): GeometryDom.DOMQuad; }; declare var DOMMatrixReadOnly: { - prototype: Geometry.DOMMatrixReadOnly; - new (numberSequence: Array): Geometry.DOMMatrixReadOnly; + prototype: GeometryDom.DOMMatrixReadOnly; + new (numberSequence: Array): GeometryDom.DOMMatrixReadOnly; }; declare var DOMMatrix: { - prototype: Geometry.DOMMatrix; - new (): Geometry.DOMMatrix; - new (transformList: string): Geometry.DOMMatrix; - new (other: Geometry.DOMMatrixReadOnly): Geometry.DOMMatrix; - new (array: Array): Geometry.DOMMatrix; - new (a: number, b: number, c: number, d: number, e: number, f: number): Geometry.DOMMatrix; + prototype: GeometryDom.DOMMatrix; + new (): GeometryDom.DOMMatrix; + new (transformList: string): GeometryDom.DOMMatrix; + new (other: GeometryDom.DOMMatrixReadOnly): GeometryDom.DOMMatrix; + new (array: Array): GeometryDom.DOMMatrix; + new (a: number, b: number, c: number, d: number, e: number, f: number): GeometryDom.DOMMatrix; }; diff --git a/npm-debug.log b/npm-debug.log deleted file mode 100644 index 080c94e86..000000000 --- a/npm-debug.log +++ /dev/null @@ -1,36 +0,0 @@ -0 info it worked if it ends with ok -1 verbose cli [ 'node', '/usr/local/bin/npm', 'run', 'all' ] -2 info using npm@2.7.5 -3 info using node@v0.12.2 -4 verbose node symlink /usr/local/bin/node -5 verbose run-script [ 'preall', 'all', 'postall' ] -6 info preall DefinitelyTyped@0.0.1 -7 info all DefinitelyTyped@0.0.1 -8 verbose unsafe-perm in lifecycle true -9 info DefinitelyTyped@0.0.1 Failed to exec all script -10 verbose stack Error: DefinitelyTyped@0.0.1 all: `dt` -10 verbose stack Exit status 1 -10 verbose stack at EventEmitter. (/usr/local/lib/node_modules/npm/lib/utils/lifecycle.js:213:16) -10 verbose stack at EventEmitter.emit (events.js:110:17) -10 verbose stack at ChildProcess. (/usr/local/lib/node_modules/npm/lib/utils/spawn.js:14:12) -10 verbose stack at ChildProcess.emit (events.js:110:17) -10 verbose stack at maybeClose (child_process.js:1015:16) -10 verbose stack at Process.ChildProcess._handle.onexit (child_process.js:1087:5) -11 verbose pkgid DefinitelyTyped@0.0.1 -12 verbose cwd /Volumes/user/Users/nakakura/Desktop/DefinitelyTyped -13 error Darwin 14.3.0 -14 error argv "node" "/usr/local/bin/npm" "run" "all" -15 error node v0.12.2 -16 error npm v2.7.5 -17 error code ELIFECYCLE -18 error DefinitelyTyped@0.0.1 all: `dt` -18 error Exit status 1 -19 error Failed at the DefinitelyTyped@0.0.1 all script 'dt'. -19 error This is most likely a problem with the DefinitelyTyped package, -19 error not with npm itself. -19 error Tell the author that this fails on your system: -19 error dt -19 error You can get their info via: -19 error npm owner ls DefinitelyTyped -19 error There is likely additional logging output above. -20 verbose exit [ 1, true ]