-
Notifications
You must be signed in to change notification settings - Fork 29.9k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
🤖 Merge PR #53413 [bezier-js] Update bezier-js export to not be defau…
…lt by @georeith * update bezier-js export to not be default * update version in header * update types and tests * Update types/bezier-js/index.d.ts Co-authored-by: Ron Buckton <ron.buckton@microsoft.com> Co-authored-by: Ron Buckton <ron.buckton@microsoft.com>
- Loading branch information
Showing
2 changed files
with
205 additions
and
143 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,101 +1,164 @@ | ||
function test() { | ||
import * as BezierJs from 'bezier-js'; | ||
|
||
var bezierjs: typeof BezierJs; | ||
const { Bezier } = BezierJs; | ||
|
||
var bezier = new bezierjs.Bezier([1, 2, 3, 4]); | ||
var cap = new bezierjs.BezierCap([]); | ||
var point: BezierJs.Point = { x: 0, y: 0 }; | ||
var utils = bezier.getUtils(); | ||
var line: BezierJs.Line = { p1: { x: 0, y: 0 }, p2: { x: 1, y: 1 } }; | ||
var abc: BezierJs.ABC = { A: null, B: null, C: null }; | ||
var arc: BezierJs.Arc = { e: 0, s: 0, x: 0, y: 0, r: 1, interval:{ start: 0, end: 1 } }; | ||
var bbox: BezierJs.BBox = bezier.bbox(); | ||
var closest: BezierJs.Closest = { mdist: 1, mpos: 0 }; | ||
var inflection: BezierJs.Inflection = { values: null, x: [0], y: [0], z: [0] }; | ||
var minmax: BezierJs.MinMax = { min: 0, max: 0 }; | ||
var offset: BezierJs.Offset = { x: 0, y: 0, c: point, n: point }; | ||
var pair: BezierJs.Pair = { left: bezier, right: bezier }; | ||
var poly: BezierJs.PolyBezier = bezier.outline(1); | ||
var projection: BezierJs.Projection = { x: 0, y: 0, t: 9, d: 4 }; | ||
var shape: BezierJs.Shape = { | ||
startcap: cap, endcap: cap, forward: bezier, back: bezier, bbox: bbox, intersections: function (shape) { return [[0]]; } | ||
}; | ||
var split: BezierJs.Split = { left: bezier, right: bezier, span: [point] }; | ||
var quadratic: BezierJs.Bezier = BezierJs.Bezier.quadraticFromPoints({ x: 0, y: 0 }, { x: 1, y: 1 }, { x: 2, y: 2 }, 0.5); | ||
var quadratic: BezierJs.Bezier = BezierJs.Bezier.quadraticFromPoints({ x: 0, y: 0 }, { x: 1, y: 1 }, { x: 2, y: 2 }); | ||
var cubic: BezierJs.Bezier = BezierJs.Bezier.cubicFromPoints({ x: 0, y: 0 }, { x: 1, y: 1 }, { x: 2, y: 2 }, 0.5, 2); | ||
var cubic: BezierJs.Bezier = BezierJs.Bezier.cubicFromPoints({ x: 0, y: 0 }, { x: 1, y: 1 }, { x: 2, y: 2 }, 0.5); | ||
var cubic: BezierJs.Bezier = BezierJs.Bezier.cubicFromPoints({ x: 0, y: 0 }, { x: 1, y: 1 }, { x: 2, y: 2 }); | ||
// $ExpectType Bezier | ||
const bezier = new Bezier([1, 2, 3, 4]); | ||
const point: BezierJs.Point = { x: 0, y: 0 }; | ||
// $ExpectType utils | ||
const utils = bezier.getUtils(); | ||
const line: BezierJs.Line = { p1: { x: 0, y: 0 }, p2: { x: 1, y: 1 } }; | ||
// $ExpectType BBox | ||
const bbox = bezier.bbox(); | ||
const offset: BezierJs.Offset = { x: 0, y: 0, c: point, n: point }; | ||
// $ExpectType PolyBezier | ||
const poly = bezier.outline(1); | ||
// $ExpectType Shape | ||
const shape = utils.makeshape(bezier, bezier); | ||
// $ExpectType Bezier | ||
Bezier.quadraticFromPoints( | ||
{ x: 0, y: 0 }, | ||
{ x: 1, y: 1 }, | ||
{ x: 2, y: 2 }, | ||
0.5, | ||
); | ||
// $ExpectType Bezier | ||
Bezier.quadraticFromPoints({ x: 0, y: 0 }, { x: 1, y: 1 }, { x: 2, y: 2 }); | ||
// $ExpectType Bezier | ||
Bezier.cubicFromPoints({ x: 0, y: 0 }, { x: 1, y: 1 }, { x: 2, y: 2 }, 0.5, 2); | ||
// $ExpectType Bezier | ||
Bezier.cubicFromPoints({ x: 0, y: 0 }, { x: 1, y: 1 }, { x: 2, y: 2 }, 0.5); | ||
// $ExpectType Bezier | ||
Bezier.cubicFromPoints({ x: 0, y: 0 }, { x: 1, y: 1 }, { x: 2, y: 2 }); | ||
|
||
bezier.arcs(); | ||
bezier.clockwise; | ||
bezier.compute(.5); | ||
bezier.computedirection(); | ||
bezier.curveintersects([bezier], [bezier]); | ||
bezier.derivative(0); | ||
bezier.get(1); | ||
bezier.getLUT()[0].x; | ||
bezier.hull(0); | ||
bezier.extrema(); | ||
bezier.intersects(bezier); | ||
bezier.length(); | ||
bezier.lineIntersects(line); | ||
bezier.normal(0); | ||
bezier.offset(1, 2); | ||
bezier.on(point, 0); | ||
bezier.order = 5; | ||
bezier.outlineshapes(1, 3); | ||
bezier.overlaps(bezier); | ||
bezier.point(9); | ||
bezier.project(point); | ||
bezier.raise(); | ||
bezier.reduce(); | ||
bezier.scale(4); | ||
bezier.selfintersects(); | ||
bezier.simple(); | ||
bezier.split(0, 1).clockwise; | ||
bezier.split(0.5).left; | ||
bezier.toSVG(); | ||
bezier.update(); | ||
// $ExpectType Arc[] | ||
bezier.arcs(); | ||
// $ExpectType boolean | ||
bezier.clockwise; | ||
// $ExpectType Point | ||
bezier.compute(0.5); | ||
// $ExpectType void | ||
bezier.computedirection(); | ||
// $ExpectType string[] | ||
bezier.curveintersects([bezier], [bezier]); | ||
// $ExpectType Point | ||
bezier.derivative(0); | ||
// $ExpectType Point | ||
bezier.get(1); | ||
// $ExpectType number | ||
bezier.getLUT()[0].x; | ||
// $ExpectType Point[] | ||
bezier.hull(0); | ||
// $ExpectType Inflection | ||
bezier.extrema(); | ||
// $ExpectType number[] | string[] | ||
bezier.intersects(bezier); | ||
// $ExpectType number | ||
bezier.length(); | ||
// $ExpectType number[] | ||
bezier.lineIntersects(line); | ||
// $ExpectType Point | ||
bezier.normal(0); | ||
// $ExpectType Offset | Bezier[] | ||
bezier.offset(1, 2); | ||
// $ExpectType number | ||
bezier.on(point, 0); | ||
bezier.order = 5; | ||
// $ExpectType Shape[] | ||
bezier.outlineshapes(1, 3); | ||
// $ExpectType boolean | ||
bezier.overlaps(bezier); | ||
// $ExpectType Point | ||
bezier.point(9); | ||
// $ExpectType Projection | ||
bezier.project(point); | ||
// $ExpectType Bezier | ||
bezier.raise(); | ||
// $ExpectType Bezier[] | ||
bezier.reduce(); | ||
// $ExpectType Bezier | ||
bezier.scale(4); | ||
// $ExpectType string[] | ||
bezier.selfintersects(); | ||
// $ExpectType boolean | ||
bezier.simple(); | ||
// $ExpectType boolean | ||
bezier.split(0, 1).clockwise; | ||
// $ExpectType Bezier | ||
bezier.split(0.5).left; | ||
// $ExpectType string | ||
bezier.toSVG(); | ||
// $ExpectType void | ||
bezier.update(); | ||
|
||
cap.virtual = true; | ||
// $ExpectType void | ||
poly.addCurve(bezier); | ||
// $ExpectType BBox | ||
poly.bbox(); | ||
// $ExpectType Bezier | ||
poly.curve(7); | ||
// $ExpectType boolean | ||
poly.curves[0]._3d; | ||
// $ExpectType number | ||
poly.length(); | ||
// $ExpectType number | ||
poly.offset(9).points[0].y; | ||
// $ExpectType Point | ||
poly.points[0]; | ||
|
||
poly.addCurve(bezier); | ||
poly.bbox(); | ||
poly.curve(7); | ||
poly.curves[0]._3d; | ||
poly.length(); | ||
poly.offset(9).points[0].y; | ||
poly.points[0]; | ||
|
||
utils.abcratio(0, 1); | ||
utils.align([point], line); | ||
utils.angle(point, point, point); | ||
utils.approximately(5, 7, .001); | ||
utils.arcfn(1, function () { }); | ||
utils.bboxoverlap(bbox, bbox); | ||
utils.between(0, 0, 1); | ||
utils.closest([point], point); | ||
utils.copy({}); | ||
utils.dist(point, point); | ||
utils.droots([9]); | ||
utils.expandbox(bbox, bbox); | ||
utils.findbbox([bezier]); | ||
utils.getccenter(point, point, point); | ||
utils.getminmax(bezier, 'x', [0]); | ||
utils.length(function () { }); | ||
utils.lerp(1, point, point); | ||
utils.lli(offset, offset); | ||
utils.lli4(point, point, point, point); | ||
utils.lli8(0, 0, 0, 0, 0, 0, 0, 0); | ||
utils.makeline(point, point); | ||
utils.makeshape(bezier, bezier); | ||
utils.map(0, 0, 0, 0, 0); | ||
utils.pairiteration(bezier, bezier); | ||
utils.pointsToString([point]); | ||
utils.projectionratio(0, 0); | ||
utils.roots([point], line); | ||
utils.round(.999, .001); | ||
utils.shapeintersections(shape, bbox, shape, bbox); | ||
|
||
} | ||
// $ExpectType number | ||
utils.abcratio(0, 1); | ||
// $ExpectType Point[] | ||
utils.align([point], line); | ||
// $ExpectType number | ||
utils.angle(point, point, point); | ||
// $ExpectType boolean | ||
utils.approximately(5, 7, 0.001); | ||
// $ExpectType number | ||
utils.arcfn(1, function () {}); | ||
// $ExpectType boolean | ||
utils.bboxoverlap(bbox, bbox); | ||
// $ExpectType boolean | ||
utils.between(0, 0, 1); | ||
// $ExpectType Closest | ||
utils.closest([point], point); | ||
// $ExpectType any | ||
utils.copy({}); | ||
// $ExpectType number | ||
utils.dist(point, point); | ||
// $ExpectType number[] | ||
utils.droots([9]); | ||
// $ExpectType void | ||
utils.expandbox(bbox, bbox); | ||
// $ExpectType BBox | ||
utils.findbbox([bezier]); | ||
// $ExpectType Arc | ||
utils.getccenter(point, point, point); | ||
// $ExpectType MinMax | ||
utils.getminmax(bezier, 'x', [0]); | ||
// $ExpectType number | ||
utils.length(function () {}); | ||
// $ExpectType Point | ||
utils.lerp(1, point, point); | ||
// $ExpectType Point | ||
utils.lli(offset, offset); | ||
// $ExpectType Point | ||
utils.lli4(point, point, point, point); | ||
// $ExpectType Point | ||
utils.lli8(0, 0, 0, 0, 0, 0, 0, 0); | ||
// $ExpectType Bezier | ||
utils.makeline(point, point); | ||
// $ExpectType number | ||
utils.map(0, 0, 0, 0, 0); | ||
// $ExpectType string[] | ||
utils.pairiteration(bezier, bezier); | ||
// $ExpectType string | ||
utils.pointsToString([point]); | ||
// $ExpectType number | ||
utils.projectionratio(0, 0); | ||
// $ExpectType number[] | ||
utils.roots([point], line); | ||
// $ExpectType number | ||
utils.round(0.999, 0.001); | ||
// $ExpectType string[][] | number[][] | ||
utils.shapeintersections(shape, bbox, shape, bbox); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters