makerjs 0.17.6 → 0.18.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser.maker.js +14 -29
- package/dist/index.d.ts +1 -1
- package/dist/index.js +13 -28
- package/package.json +1 -1
package/dist/browser.maker.js
CHANGED
|
@@ -39,7 +39,7 @@ and limitations under the License.
|
|
|
39
39
|
* author: Dan Marshall / Microsoft Corporation
|
|
40
40
|
* maintainers: Dan Marshall <danmar@microsoft.com>
|
|
41
41
|
* homepage: https://maker.js.org
|
|
42
|
-
* version: 0.
|
|
42
|
+
* version: 0.18.1
|
|
43
43
|
*
|
|
44
44
|
* browserify:
|
|
45
45
|
* license: MIT (http://opensource.org/licenses/MIT)
|
|
@@ -471,6 +471,10 @@ var MakerJs;
|
|
|
471
471
|
WebWorker: 'worker',
|
|
472
472
|
Unknown: 'unknown'
|
|
473
473
|
};
|
|
474
|
+
/**
|
|
475
|
+
* @private
|
|
476
|
+
*/
|
|
477
|
+
var EPSILON = Number.EPSILON || Math.pow(2, -52);
|
|
474
478
|
/**
|
|
475
479
|
* @private
|
|
476
480
|
*/
|
|
@@ -568,28 +572,8 @@ var MakerJs;
|
|
|
568
572
|
//optimize for early exit for integers
|
|
569
573
|
if (n % 1 === 0)
|
|
570
574
|
return n;
|
|
571
|
-
var
|
|
572
|
-
|
|
573
|
-
// If the exp is undefined or zero...
|
|
574
|
-
if (typeof exp === 'undefined' || +exp === 0) {
|
|
575
|
-
return Math.round(n);
|
|
576
|
-
}
|
|
577
|
-
n = +n;
|
|
578
|
-
exp = +exp;
|
|
579
|
-
// If the value is not a number or the exp is not an integer...
|
|
580
|
-
if (isNaN(n) || !(typeof exp === 'number' && exp % 1 === 0)) {
|
|
581
|
-
return NaN;
|
|
582
|
-
}
|
|
583
|
-
// If the value is negative...
|
|
584
|
-
if (n < 0) {
|
|
585
|
-
return -round(-n, accuracy);
|
|
586
|
-
}
|
|
587
|
-
// Shift
|
|
588
|
-
var a = split(n.toString(), 'e');
|
|
589
|
-
n = Math.round(+(a[0] + 'e' + (a[1] ? (+a[1] - exp) : -exp)));
|
|
590
|
-
// Shift back
|
|
591
|
-
a = split(n.toString(), 'e');
|
|
592
|
-
return +(a[0] + 'e' + (a[1] ? (+a[1] + exp) : exp));
|
|
575
|
+
var temp = 1 / accuracy;
|
|
576
|
+
return Math.round((n + EPSILON) * temp) / temp;
|
|
593
577
|
}
|
|
594
578
|
MakerJs.round = round;
|
|
595
579
|
/**
|
|
@@ -2025,6 +2009,7 @@ var MakerJs;
|
|
|
2025
2009
|
for (var _i = 0; _i < arguments.length; _i++) {
|
|
2026
2010
|
args[_i] = arguments[_i];
|
|
2027
2011
|
}
|
|
2012
|
+
var _a, _b;
|
|
2028
2013
|
function getSpan(origin) {
|
|
2029
2014
|
var startAngle = MakerJs.angle.ofPointInDegrees(origin, args[clockwise ? 1 : 0]);
|
|
2030
2015
|
var endAngle = MakerJs.angle.ofPointInDegrees(origin, args[clockwise ? 0 : 1]);
|
|
@@ -2055,10 +2040,10 @@ var MakerJs;
|
|
|
2055
2040
|
}
|
|
2056
2041
|
else {
|
|
2057
2042
|
//find the 2 potential origins
|
|
2058
|
-
var
|
|
2043
|
+
var intersectionPoints = (_b = (_a = MakerJs.path.intersection(new Circle(pointA, this.radius), new Circle(pointB, this.radius))) === null || _a === void 0 ? void 0 : _a.intersectionPoints) !== null && _b !== void 0 ? _b : [pointA, pointB];
|
|
2059
2044
|
var spans = [];
|
|
2060
|
-
for (var i =
|
|
2061
|
-
span = getSpan(
|
|
2045
|
+
for (var i = intersectionPoints.length; i--;) {
|
|
2046
|
+
span = getSpan(intersectionPoints[i]);
|
|
2062
2047
|
//insert sorted by size ascending
|
|
2063
2048
|
if (spans.length == 0 || span.size > spans[0].size) {
|
|
2064
2049
|
spans.push(span);
|
|
@@ -2085,8 +2070,8 @@ var MakerJs;
|
|
|
2085
2070
|
//from 3 points
|
|
2086
2071
|
Circle.apply(this, args);
|
|
2087
2072
|
var angles = [];
|
|
2088
|
-
for (var
|
|
2089
|
-
angles.push(MakerJs.angle.ofPointInDegrees(this.origin, args[
|
|
2073
|
+
for (var i_1 = 0; i_1 < 3; i_1++) {
|
|
2074
|
+
angles.push(MakerJs.angle.ofPointInDegrees(this.origin, args[i_1]));
|
|
2090
2075
|
}
|
|
2091
2076
|
this.startAngle = angles[0];
|
|
2092
2077
|
this.endAngle = angles[2];
|
|
@@ -10318,6 +10303,6 @@ var MakerJs;
|
|
|
10318
10303
|
];
|
|
10319
10304
|
})(models = MakerJs.models || (MakerJs.models = {}));
|
|
10320
10305
|
})(MakerJs || (MakerJs = {}));
|
|
10321
|
-
MakerJs.version = "0.
|
|
10306
|
+
MakerJs.version = "0.18.1";
|
|
10322
10307
|
|
|
10323
10308
|
},{"clone":2,"graham_scan":3,"kdbush":4}]},{},[]);
|
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -54,6 +54,10 @@ var MakerJs;
|
|
|
54
54
|
WebWorker: 'worker',
|
|
55
55
|
Unknown: 'unknown'
|
|
56
56
|
};
|
|
57
|
+
/**
|
|
58
|
+
* @private
|
|
59
|
+
*/
|
|
60
|
+
var EPSILON = Number.EPSILON || Math.pow(2, -52);
|
|
57
61
|
/**
|
|
58
62
|
* @private
|
|
59
63
|
*/
|
|
@@ -151,28 +155,8 @@ var MakerJs;
|
|
|
151
155
|
//optimize for early exit for integers
|
|
152
156
|
if (n % 1 === 0)
|
|
153
157
|
return n;
|
|
154
|
-
var
|
|
155
|
-
|
|
156
|
-
// If the exp is undefined or zero...
|
|
157
|
-
if (typeof exp === 'undefined' || +exp === 0) {
|
|
158
|
-
return Math.round(n);
|
|
159
|
-
}
|
|
160
|
-
n = +n;
|
|
161
|
-
exp = +exp;
|
|
162
|
-
// If the value is not a number or the exp is not an integer...
|
|
163
|
-
if (isNaN(n) || !(typeof exp === 'number' && exp % 1 === 0)) {
|
|
164
|
-
return NaN;
|
|
165
|
-
}
|
|
166
|
-
// If the value is negative...
|
|
167
|
-
if (n < 0) {
|
|
168
|
-
return -round(-n, accuracy);
|
|
169
|
-
}
|
|
170
|
-
// Shift
|
|
171
|
-
var a = split(n.toString(), 'e');
|
|
172
|
-
n = Math.round(+(a[0] + 'e' + (a[1] ? (+a[1] - exp) : -exp)));
|
|
173
|
-
// Shift back
|
|
174
|
-
a = split(n.toString(), 'e');
|
|
175
|
-
return +(a[0] + 'e' + (a[1] ? (+a[1] + exp) : exp));
|
|
158
|
+
var temp = 1 / accuracy;
|
|
159
|
+
return Math.round((n + EPSILON) * temp) / temp;
|
|
176
160
|
}
|
|
177
161
|
MakerJs.round = round;
|
|
178
162
|
/**
|
|
@@ -1608,6 +1592,7 @@ var MakerJs;
|
|
|
1608
1592
|
for (var _i = 0; _i < arguments.length; _i++) {
|
|
1609
1593
|
args[_i] = arguments[_i];
|
|
1610
1594
|
}
|
|
1595
|
+
var _a, _b;
|
|
1611
1596
|
function getSpan(origin) {
|
|
1612
1597
|
var startAngle = MakerJs.angle.ofPointInDegrees(origin, args[clockwise ? 1 : 0]);
|
|
1613
1598
|
var endAngle = MakerJs.angle.ofPointInDegrees(origin, args[clockwise ? 0 : 1]);
|
|
@@ -1638,10 +1623,10 @@ var MakerJs;
|
|
|
1638
1623
|
}
|
|
1639
1624
|
else {
|
|
1640
1625
|
//find the 2 potential origins
|
|
1641
|
-
var
|
|
1626
|
+
var intersectionPoints = (_b = (_a = MakerJs.path.intersection(new Circle(pointA, this.radius), new Circle(pointB, this.radius))) === null || _a === void 0 ? void 0 : _a.intersectionPoints) !== null && _b !== void 0 ? _b : [pointA, pointB];
|
|
1642
1627
|
var spans = [];
|
|
1643
|
-
for (var i =
|
|
1644
|
-
span = getSpan(
|
|
1628
|
+
for (var i = intersectionPoints.length; i--;) {
|
|
1629
|
+
span = getSpan(intersectionPoints[i]);
|
|
1645
1630
|
//insert sorted by size ascending
|
|
1646
1631
|
if (spans.length == 0 || span.size > spans[0].size) {
|
|
1647
1632
|
spans.push(span);
|
|
@@ -1668,8 +1653,8 @@ var MakerJs;
|
|
|
1668
1653
|
//from 3 points
|
|
1669
1654
|
Circle.apply(this, args);
|
|
1670
1655
|
var angles = [];
|
|
1671
|
-
for (var
|
|
1672
|
-
angles.push(MakerJs.angle.ofPointInDegrees(this.origin, args[
|
|
1656
|
+
for (var i_1 = 0; i_1 < 3; i_1++) {
|
|
1657
|
+
angles.push(MakerJs.angle.ofPointInDegrees(this.origin, args[i_1]));
|
|
1673
1658
|
}
|
|
1674
1659
|
this.startAngle = angles[0];
|
|
1675
1660
|
this.endAngle = angles[2];
|
|
@@ -9901,5 +9886,5 @@ var MakerJs;
|
|
|
9901
9886
|
];
|
|
9902
9887
|
})(models = MakerJs.models || (MakerJs.models = {}));
|
|
9903
9888
|
})(MakerJs || (MakerJs = {}));
|
|
9904
|
-
MakerJs.version = "0.
|
|
9889
|
+
MakerJs.version = "0.18.1";
|
|
9905
9890
|
var Bezier = require('bezier-js');
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "makerjs",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.18.1",
|
|
4
4
|
"description": "Maker.js, a Microsoft Garage project, is a JavaScript library for creating and sharing modular line drawings for CNC and laser cutters.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|