From 3c6058dac45dd10aac04fbc27dd8554bc05f8f03 Mon Sep 17 00:00:00 2001 From: sankaku-deltalab <32841786+sankaku-deltalab@users.noreply.github.com> Date: Wed, 29 Jan 2020 02:09:37 +0900 Subject: [PATCH] Add box-intersect definition (#41840) * Add box-intersect declaration * Fix box-intersect declaration --- types/box-intersect/box-intersect-tests.ts | 36 ++++++++++++++++++++++ types/box-intersect/index.d.ts | 17 ++++++++++ types/box-intersect/tsconfig.json | 24 +++++++++++++++ types/box-intersect/tslint.json | 3 ++ 4 files changed, 80 insertions(+) create mode 100644 types/box-intersect/box-intersect-tests.ts create mode 100644 types/box-intersect/index.d.ts create mode 100644 types/box-intersect/tsconfig.json create mode 100644 types/box-intersect/tslint.json diff --git a/types/box-intersect/box-intersect-tests.ts b/types/box-intersect/box-intersect-tests.ts new file mode 100644 index 0000000000..10bdbd79a8 --- /dev/null +++ b/types/box-intersect/box-intersect-tests.ts @@ -0,0 +1,36 @@ +import boxIntersect from 'box-intersect'; + +type Box2D = [number, number, number, number]; +type Box3D = [number, number, number, number, number, number]; + +const red2d: Box2D[] = [ + [1, 1, 2, 2], + [0, -1, 3, 2], +]; + +const blue2d: Box2D[] = [ + [2, 1, 4, 5], + [0.5, 3, 1, 10], +]; + +boxIntersect(red2d); +boxIntersect(red2d, (r, b) => {}); +boxIntersect(red2d, blue2d); +boxIntersect(red2d, blue2d, (r, b) => {}); + +const red3d: Box3D[] = [ + [0, 0, 0, 8, 1, 1], + [0, 0, 0, 1, 8, 1], + [0, 0, 0, 1, 1, 8], +]; + +const blue3d: Box3D[] = [ + [5, 0, 0, 6, 10, 10], + [0, 5, 0, 10, 6, 10], + [0, 0, 5, 10, 10, 10], +]; + +boxIntersect(red3d); +boxIntersect(red3d, (r, b) => {}); +boxIntersect(red3d, blue3d); +boxIntersect(red3d, blue3d, (r, b) => {}); diff --git a/types/box-intersect/index.d.ts b/types/box-intersect/index.d.ts new file mode 100644 index 0000000000..1bcfe2b408 --- /dev/null +++ b/types/box-intersect/index.d.ts @@ -0,0 +1,17 @@ +// Type definitions for box-intersect 1.0 +// Project: https://github.com/mikolalysenko/box-intersect +// Definitions by: Sankaku +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +export = boxIntersect; + +declare function boxIntersect( + x: ReadonlyArray>, + visit?: (i: number, j: number) => void, +): Array<[number, number]>; + +declare function boxIntersect( + red: ReadonlyArray, + blue?: ReadonlyArray, + visit?: (i: number, j: number) => void, +): Array<[number, number]>; diff --git a/types/box-intersect/tsconfig.json b/types/box-intersect/tsconfig.json new file mode 100644 index 0000000000..bd2bf0b518 --- /dev/null +++ b/types/box-intersect/tsconfig.json @@ -0,0 +1,24 @@ +{ + "compilerOptions": { + "module": "commonjs", + "lib": [ + "es6" + ], + "noImplicitAny": true, + "noImplicitThis": true, + "strictFunctionTypes": true, + "strictNullChecks": true, + "baseUrl": "../", + "typeRoots": [ + "../" + ], + "types": [], + "noEmit": true, + "forceConsistentCasingInFileNames": true, + "esModuleInterop": true + }, + "files": [ + "index.d.ts", + "box-intersect-tests.ts" + ] +} diff --git a/types/box-intersect/tslint.json b/types/box-intersect/tslint.json new file mode 100644 index 0000000000..f93cf8562a --- /dev/null +++ b/types/box-intersect/tslint.json @@ -0,0 +1,3 @@ +{ + "extends": "dtslint/dt.json" +}