mirror of
https://github.com/gosticks/DefinitelyTyped.git
synced 2025-10-16 12:05:41 +00:00
Add intersects types (#33959)
* add intersects types * Add strictFunctionTypes to true * Add tests * Makes the linter happy
This commit is contained in:
parent
0d78647f92
commit
e268787d2b
323
types/intersects/index.d.ts
vendored
Normal file
323
types/intersects/index.d.ts
vendored
Normal file
@ -0,0 +1,323 @@
|
||||
// Type definitions for intersects 2.5
|
||||
// Project: https://github.com/davidfig/intersects#readme
|
||||
// Definitions by: Voxylu <https://github.com/voxylu>
|
||||
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
||||
|
||||
export function boxBox(
|
||||
x1: number,
|
||||
y1: number,
|
||||
w1: number,
|
||||
h1: number,
|
||||
x2: number,
|
||||
y2: number,
|
||||
w2: number,
|
||||
h2: number
|
||||
): boolean;
|
||||
|
||||
export function boxCircle(
|
||||
xb: number,
|
||||
yb: number,
|
||||
wb: number,
|
||||
hb: number,
|
||||
xc: number,
|
||||
yc: number,
|
||||
rc: number
|
||||
): boolean;
|
||||
|
||||
export function boxEllipse(
|
||||
xb: number,
|
||||
yb: number,
|
||||
wb: number,
|
||||
hb: number,
|
||||
xe: number,
|
||||
ye: number,
|
||||
rex: number,
|
||||
rey: number
|
||||
): boolean;
|
||||
|
||||
export function boxLine(
|
||||
xb: number,
|
||||
yb: number,
|
||||
wb: number,
|
||||
hb: number,
|
||||
x1: number,
|
||||
y1: number,
|
||||
x2: number,
|
||||
y2: number
|
||||
): boolean;
|
||||
|
||||
export function boxPoint(
|
||||
x1: number,
|
||||
y1: number,
|
||||
w1: number,
|
||||
h1: number,
|
||||
x2: number,
|
||||
y2: number
|
||||
): boolean;
|
||||
|
||||
export function boxPolygon(
|
||||
xb: number,
|
||||
yb: number,
|
||||
wb: number,
|
||||
hb: number,
|
||||
points: number[]
|
||||
): boolean;
|
||||
|
||||
export function circleBox(
|
||||
xc: number,
|
||||
yc: number,
|
||||
rc: number,
|
||||
xb: number,
|
||||
yb: number,
|
||||
wb: number,
|
||||
hb: number
|
||||
): boolean;
|
||||
|
||||
export function circleCircle(
|
||||
x1: number,
|
||||
y1: number,
|
||||
r1: number,
|
||||
x2: number,
|
||||
y2: number,
|
||||
r2: number
|
||||
): boolean;
|
||||
|
||||
export function circleEllipse(
|
||||
xc: number,
|
||||
yc: number,
|
||||
rc: number,
|
||||
xe: number,
|
||||
ye: number,
|
||||
rex: number,
|
||||
rey: number
|
||||
): boolean;
|
||||
|
||||
export function circleLine(
|
||||
xc: number,
|
||||
yc: number,
|
||||
rc: number,
|
||||
x1: number,
|
||||
y1: number,
|
||||
x2: number,
|
||||
y2: number
|
||||
): boolean;
|
||||
|
||||
export function circlePoint(
|
||||
x1: number,
|
||||
y1: number,
|
||||
r1: number,
|
||||
x2: number,
|
||||
y2: number
|
||||
): boolean;
|
||||
|
||||
export function circlePolygon(
|
||||
xc: number,
|
||||
yc: number,
|
||||
rc: number,
|
||||
points: number[]
|
||||
): boolean;
|
||||
|
||||
export function ellipseBox(
|
||||
xe: number,
|
||||
ye: number,
|
||||
rex: number,
|
||||
rey: number,
|
||||
xb: number,
|
||||
yb: number,
|
||||
wb: number,
|
||||
hb: number
|
||||
): boolean;
|
||||
|
||||
export function ellipseCircle(
|
||||
xe: number,
|
||||
ye: number,
|
||||
rex: number,
|
||||
rey: number,
|
||||
xc: number,
|
||||
yc: number,
|
||||
rc: number
|
||||
): boolean;
|
||||
|
||||
export function ellipseEllipse(
|
||||
x1: number,
|
||||
y1: number,
|
||||
r1x: number,
|
||||
r1y: number,
|
||||
x2: number,
|
||||
y2: number,
|
||||
r2x: number,
|
||||
r2y: number
|
||||
): boolean;
|
||||
|
||||
export function ellipseLine(
|
||||
xe: number,
|
||||
ye: number,
|
||||
rex: number,
|
||||
rey: number,
|
||||
x1: number,
|
||||
y1: number,
|
||||
x2: number,
|
||||
y2: number
|
||||
): boolean;
|
||||
|
||||
export function ellipsePoint(
|
||||
xe: number,
|
||||
ye: number,
|
||||
rex: number,
|
||||
rey: number,
|
||||
x1: number,
|
||||
y1: number
|
||||
): boolean;
|
||||
|
||||
export function ellipsePolygon(
|
||||
xe: number,
|
||||
ye: number,
|
||||
rex: number,
|
||||
rey: number,
|
||||
points: number[]
|
||||
): boolean;
|
||||
|
||||
export function lineBox(
|
||||
x1: number,
|
||||
y1: number,
|
||||
x2: number,
|
||||
y2: number,
|
||||
xb: number,
|
||||
yb: number,
|
||||
wb: number,
|
||||
hb: number
|
||||
): boolean;
|
||||
|
||||
export function lineCircle(
|
||||
x1: number,
|
||||
y1: number,
|
||||
x2: number,
|
||||
y2: number,
|
||||
xc: number,
|
||||
yc: number,
|
||||
rc: number
|
||||
): boolean;
|
||||
|
||||
export function lineEllipse(
|
||||
x1: number,
|
||||
y1: number,
|
||||
x2: number,
|
||||
y2: number,
|
||||
xe: number,
|
||||
ye: number,
|
||||
rex: number,
|
||||
rey: number
|
||||
): boolean;
|
||||
|
||||
export function lineLine(
|
||||
x1: number,
|
||||
y1: number,
|
||||
x2: number,
|
||||
y2: number,
|
||||
x3: number,
|
||||
y3: number,
|
||||
x4: number,
|
||||
y4: number
|
||||
): boolean;
|
||||
|
||||
export function linePoint(
|
||||
x1: number,
|
||||
y1: number,
|
||||
x2: number,
|
||||
y2: number,
|
||||
xp: number,
|
||||
yp: number,
|
||||
tolerance: number
|
||||
): boolean;
|
||||
|
||||
export function linePolygon(
|
||||
x1: number,
|
||||
y1: number,
|
||||
x2: number,
|
||||
y2: number,
|
||||
points: number[],
|
||||
tolerance: number
|
||||
): boolean;
|
||||
|
||||
export function pointBox(
|
||||
x1: number,
|
||||
y1: number,
|
||||
xb: number,
|
||||
yb: number,
|
||||
wb: number,
|
||||
hb: number
|
||||
): boolean;
|
||||
|
||||
export function pointCircle(
|
||||
x1: number,
|
||||
y1: number,
|
||||
xc: number,
|
||||
yc: number,
|
||||
rc: number
|
||||
): boolean;
|
||||
|
||||
export function pointEllipse(
|
||||
x1: number,
|
||||
y1: number,
|
||||
xe: number,
|
||||
ye: number,
|
||||
rex: number,
|
||||
rey: number
|
||||
): boolean;
|
||||
|
||||
export function pointLine(
|
||||
xp: number,
|
||||
yp: number,
|
||||
x1: number,
|
||||
y1: number,
|
||||
x2: number,
|
||||
y2: number
|
||||
): boolean;
|
||||
|
||||
export function pointPolygon(
|
||||
x1: number,
|
||||
y1: number,
|
||||
points: number[],
|
||||
tolerance: number
|
||||
): boolean;
|
||||
|
||||
export function polygonBox(
|
||||
points: number[],
|
||||
x: number,
|
||||
y: number,
|
||||
w: number,
|
||||
h: number
|
||||
): boolean;
|
||||
|
||||
export function polygonCircle(
|
||||
points: number[],
|
||||
xc: number,
|
||||
yc: number,
|
||||
rc: number
|
||||
): boolean;
|
||||
|
||||
export function polygonEllipse(
|
||||
points: number[],
|
||||
xe: number,
|
||||
ye: number,
|
||||
rex: number,
|
||||
rey: number
|
||||
): boolean;
|
||||
|
||||
export function polygonLine(
|
||||
points: number[],
|
||||
x1: number,
|
||||
y1: number,
|
||||
x2: number,
|
||||
y2: number,
|
||||
tolerance: number
|
||||
): boolean;
|
||||
|
||||
export function polygonPoint(
|
||||
points: number[],
|
||||
x: number,
|
||||
y: number,
|
||||
tolerance: number
|
||||
): boolean;
|
||||
|
||||
export function polygonPolygon(points1: number[], points2: number[]): boolean;
|
||||
12
types/intersects/intersects-tests.ts
Normal file
12
types/intersects/intersects-tests.ts
Normal file
@ -0,0 +1,12 @@
|
||||
import { polygonBox, pointLine, circleEllipse } from 'intersects';
|
||||
|
||||
const res = polygonBox([2, 0, 4, 2, 0, 2], 1, 1, 2, 2);
|
||||
if (res) {
|
||||
// do something
|
||||
}
|
||||
|
||||
if (pointLine(0, 8, -5, 4, 7, 6)) {
|
||||
// do agian something
|
||||
}
|
||||
|
||||
const isGood = circleEllipse(0, 6, 9, 2, 4, 5, 1) ? 'yes' : 'no';
|
||||
16
types/intersects/tsconfig.json
Normal file
16
types/intersects/tsconfig.json
Normal file
@ -0,0 +1,16 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"module": "commonjs",
|
||||
"lib": ["es6"],
|
||||
"noImplicitAny": true,
|
||||
"noImplicitThis": true,
|
||||
"strictNullChecks": true,
|
||||
"baseUrl": "../",
|
||||
"typeRoots": ["../"],
|
||||
"types": [],
|
||||
"noEmit": true,
|
||||
"forceConsistentCasingInFileNames": true,
|
||||
"strictFunctionTypes": true
|
||||
},
|
||||
"files": ["index.d.ts", "intersects-tests.ts"]
|
||||
}
|
||||
1
types/intersects/tslint.json
Normal file
1
types/intersects/tslint.json
Normal file
@ -0,0 +1 @@
|
||||
{ "extends": "dtslint/dt.json" }
|
||||
Loading…
Reference in New Issue
Block a user