scratch-paint 4.0.0 → 4.0.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/CHANGELOG.md +7 -0
- package/dist/scratch-paint.js +251 -54
- package/dist/scratch-paint.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,13 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file. See
|
|
4
4
|
[Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [4.0.1](https://github.com/scratchfoundation/scratch-paint/compare/v4.0.0...v4.0.1) (2025-08-03)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* **deps:** lock file maintenance ([#3344](https://github.com/scratchfoundation/scratch-paint/issues/3344)) ([d12b0ab](https://github.com/scratchfoundation/scratch-paint/commit/d12b0ab6e4be658fbfee9b03745930d978f6e50b))
|
|
12
|
+
|
|
6
13
|
# [4.0.0](https://github.com/scratchfoundation/scratch-paint/compare/v3.1.0...v4.0.0) (2025-08-01)
|
|
7
14
|
|
|
8
15
|
|
package/dist/scratch-paint.js
CHANGED
|
@@ -22237,16 +22237,16 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
22237
22237
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "tokenizer", function() { return tokenizer; });
|
|
22238
22238
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "version", function() { return version; });
|
|
22239
22239
|
// This file was generated. Do not modify manually!
|
|
22240
|
-
var astralIdentifierCodes = [509, 0, 227, 0, 150, 4, 294, 9, 1368, 2, 2, 1, 6, 3, 41, 2, 5, 0, 166, 1, 574, 3, 9, 9,
|
|
22240
|
+
var astralIdentifierCodes = [509, 0, 227, 0, 150, 4, 294, 9, 1368, 2, 2, 1, 6, 3, 41, 2, 5, 0, 166, 1, 574, 3, 9, 9, 7, 9, 32, 4, 318, 1, 80, 3, 71, 10, 50, 3, 123, 2, 54, 14, 32, 10, 3, 1, 11, 3, 46, 10, 8, 0, 46, 9, 7, 2, 37, 13, 2, 9, 6, 1, 45, 0, 13, 2, 49, 13, 9, 3, 2, 11, 83, 11, 7, 0, 3, 0, 158, 11, 6, 9, 7, 3, 56, 1, 2, 6, 3, 1, 3, 2, 10, 0, 11, 1, 3, 6, 4, 4, 68, 8, 2, 0, 3, 0, 2, 3, 2, 4, 2, 0, 15, 1, 83, 17, 10, 9, 5, 0, 82, 19, 13, 9, 214, 6, 3, 8, 28, 1, 83, 16, 16, 9, 82, 12, 9, 9, 7, 19, 58, 14, 5, 9, 243, 14, 166, 9, 71, 5, 2, 1, 3, 3, 2, 0, 2, 1, 13, 9, 120, 6, 3, 6, 4, 0, 29, 9, 41, 6, 2, 3, 9, 0, 10, 10, 47, 15, 343, 9, 54, 7, 2, 7, 17, 9, 57, 21, 2, 13, 123, 5, 4, 0, 2, 1, 2, 6, 2, 0, 9, 9, 49, 4, 2, 1, 2, 4, 9, 9, 330, 3, 10, 1, 2, 0, 49, 6, 4, 4, 14, 10, 5350, 0, 7, 14, 11465, 27, 2343, 9, 87, 9, 39, 4, 60, 6, 26, 9, 535, 9, 470, 0, 2, 54, 8, 3, 82, 0, 12, 1, 19628, 1, 4178, 9, 519, 45, 3, 22, 543, 4, 4, 5, 9, 7, 3, 6, 31, 3, 149, 2, 1418, 49, 513, 54, 5, 49, 9, 0, 15, 0, 23, 4, 2, 14, 1361, 6, 2, 16, 3, 6, 2, 1, 2, 4, 101, 0, 161, 6, 10, 9, 357, 0, 62, 13, 499, 13, 245, 1, 2, 9, 726, 6, 110, 6, 6, 9, 4759, 9, 787719, 239];
|
|
22241
22241
|
|
|
22242
22242
|
// This file was generated. Do not modify manually!
|
|
22243
|
-
var astralIdentifierStartCodes = [0, 11, 2, 25, 2, 18, 2, 1, 2, 14, 3, 13, 35, 122, 70, 52, 268, 28, 4, 48, 48, 31, 14, 29, 6, 37, 11, 29, 3, 35, 5, 7, 2, 4, 43, 157, 19, 35, 5, 35, 5, 39, 9, 51, 13, 10, 2, 14, 2, 6, 2, 1, 2, 10, 2, 14, 2, 6, 2, 1,
|
|
22243
|
+
var astralIdentifierStartCodes = [0, 11, 2, 25, 2, 18, 2, 1, 2, 14, 3, 13, 35, 122, 70, 52, 268, 28, 4, 48, 48, 31, 14, 29, 6, 37, 11, 29, 3, 35, 5, 7, 2, 4, 43, 157, 19, 35, 5, 35, 5, 39, 9, 51, 13, 10, 2, 14, 2, 6, 2, 1, 2, 10, 2, 14, 2, 6, 2, 1, 4, 51, 13, 310, 10, 21, 11, 7, 25, 5, 2, 41, 2, 8, 70, 5, 3, 0, 2, 43, 2, 1, 4, 0, 3, 22, 11, 22, 10, 30, 66, 18, 2, 1, 11, 21, 11, 25, 71, 55, 7, 1, 65, 0, 16, 3, 2, 2, 2, 28, 43, 28, 4, 28, 36, 7, 2, 27, 28, 53, 11, 21, 11, 18, 14, 17, 111, 72, 56, 50, 14, 50, 14, 35, 39, 27, 10, 22, 251, 41, 7, 1, 17, 2, 60, 28, 11, 0, 9, 21, 43, 17, 47, 20, 28, 22, 13, 52, 58, 1, 3, 0, 14, 44, 33, 24, 27, 35, 30, 0, 3, 0, 9, 34, 4, 0, 13, 47, 15, 3, 22, 0, 2, 0, 36, 17, 2, 24, 20, 1, 64, 6, 2, 0, 2, 3, 2, 14, 2, 9, 8, 46, 39, 7, 3, 1, 3, 21, 2, 6, 2, 1, 2, 4, 4, 0, 19, 0, 13, 4, 31, 9, 2, 0, 3, 0, 2, 37, 2, 0, 26, 0, 2, 0, 45, 52, 19, 3, 21, 2, 31, 47, 21, 1, 2, 0, 185, 46, 42, 3, 37, 47, 21, 0, 60, 42, 14, 0, 72, 26, 38, 6, 186, 43, 117, 63, 32, 7, 3, 0, 3, 7, 2, 1, 2, 23, 16, 0, 2, 0, 95, 7, 3, 38, 17, 0, 2, 0, 29, 0, 11, 39, 8, 0, 22, 0, 12, 45, 20, 0, 19, 72, 200, 32, 32, 8, 2, 36, 18, 0, 50, 29, 113, 6, 2, 1, 2, 37, 22, 0, 26, 5, 2, 1, 2, 31, 15, 0, 328, 18, 16, 0, 2, 12, 2, 33, 125, 0, 80, 921, 103, 110, 18, 195, 2637, 96, 16, 1071, 18, 5, 26, 3994, 6, 582, 6842, 29, 1763, 568, 8, 30, 18, 78, 18, 29, 19, 47, 17, 3, 32, 20, 6, 18, 433, 44, 212, 63, 129, 74, 6, 0, 67, 12, 65, 1, 2, 0, 29, 6135, 9, 1237, 42, 9, 8936, 3, 2, 6, 2, 1, 2, 290, 16, 0, 30, 2, 3, 0, 15, 3, 9, 395, 2309, 106, 6, 12, 4, 8, 8, 9, 5991, 84, 2, 70, 2, 1, 3, 0, 3, 1, 3, 3, 2, 11, 2, 0, 2, 6, 2, 64, 2, 3, 3, 7, 2, 6, 2, 27, 2, 3, 2, 4, 2, 0, 4, 6, 2, 339, 3, 24, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 7, 1845, 30, 7, 5, 262, 61, 147, 44, 11, 6, 17, 0, 322, 29, 19, 43, 485, 27, 229, 29, 3, 0, 496, 6, 2, 3, 2, 1, 2, 14, 2, 196, 60, 67, 8, 0, 1205, 3, 2, 26, 2, 1, 2, 0, 3, 0, 2, 9, 2, 3, 2, 0, 2, 0, 7, 0, 5, 0, 2, 0, 2, 0, 2, 2, 2, 1, 2, 0, 3, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 1, 2, 0, 3, 3, 2, 6, 2, 3, 2, 3, 2, 0, 2, 9, 2, 16, 6, 2, 2, 4, 2, 16, 4421, 42719, 33, 4153, 7, 221, 3, 5761, 15, 7472, 16, 621, 2467, 541, 1507, 4938, 6, 4191];
|
|
22244
22244
|
|
|
22245
22245
|
// This file was generated. Do not modify manually!
|
|
22246
|
-
var nonASCIIidentifierChars = "\u200c\u200d\xb7\u0300-\u036f\u0387\u0483-\u0487\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u0669\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7\u06e8\u06ea-\u06ed\u06f0-\u06f9\u0711\u0730-\u074a\u07a6-\u07b0\u07c0-\u07c9\u07eb-\u07f3\u07fd\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0859-\u085b\
|
|
22246
|
+
var nonASCIIidentifierChars = "\u200c\u200d\xb7\u0300-\u036f\u0387\u0483-\u0487\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u0669\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7\u06e8\u06ea-\u06ed\u06f0-\u06f9\u0711\u0730-\u074a\u07a6-\u07b0\u07c0-\u07c9\u07eb-\u07f3\u07fd\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0859-\u085b\u0897-\u089f\u08ca-\u08e1\u08e3-\u0903\u093a-\u093c\u093e-\u094f\u0951-\u0957\u0962\u0963\u0966-\u096f\u0981-\u0983\u09bc\u09be-\u09c4\u09c7\u09c8\u09cb-\u09cd\u09d7\u09e2\u09e3\u09e6-\u09ef\u09fe\u0a01-\u0a03\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a66-\u0a71\u0a75\u0a81-\u0a83\u0abc\u0abe-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ae2\u0ae3\u0ae6-\u0aef\u0afa-\u0aff\u0b01-\u0b03\u0b3c\u0b3e-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b55-\u0b57\u0b62\u0b63\u0b66-\u0b6f\u0b82\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd7\u0be6-\u0bef\u0c00-\u0c04\u0c3c\u0c3e-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0c66-\u0c6f\u0c81-\u0c83\u0cbc\u0cbe-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0ce6-\u0cef\u0cf3\u0d00-\u0d03\u0d3b\u0d3c\u0d3e-\u0d44\u0d46-\u0d48\u0d4a-\u0d4d\u0d57\u0d62\u0d63\u0d66-\u0d6f\u0d81-\u0d83\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2\u0df3\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0e50-\u0e59\u0eb1\u0eb4-\u0ebc\u0ec8-\u0ece\u0ed0-\u0ed9\u0f18\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e\u0f3f\u0f71-\u0f84\u0f86\u0f87\u0f8d-\u0f97\u0f99-\u0fbc\u0fc6\u102b-\u103e\u1040-\u1049\u1056-\u1059\u105e-\u1060\u1062-\u1064\u1067-\u106d\u1071-\u1074\u1082-\u108d\u108f-\u109d\u135d-\u135f\u1369-\u1371\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17b4-\u17d3\u17dd\u17e0-\u17e9\u180b-\u180d\u180f-\u1819\u18a9\u1920-\u192b\u1930-\u193b\u1946-\u194f\u19d0-\u19da\u1a17-\u1a1b\u1a55-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1ab0-\u1abd\u1abf-\u1ace\u1b00-\u1b04\u1b34-\u1b44\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1b82\u1ba1-\u1bad\u1bb0-\u1bb9\u1be6-\u1bf3\u1c24-\u1c37\u1c40-\u1c49\u1c50-\u1c59\u1cd0-\u1cd2\u1cd4-\u1ce8\u1ced\u1cf4\u1cf7-\u1cf9\u1dc0-\u1dff\u200c\u200d\u203f\u2040\u2054\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2cef-\u2cf1\u2d7f\u2de0-\u2dff\u302a-\u302f\u3099\u309a\u30fb\ua620-\ua629\ua66f\ua674-\ua67d\ua69e\ua69f\ua6f0\ua6f1\ua802\ua806\ua80b\ua823-\ua827\ua82c\ua880\ua881\ua8b4-\ua8c5\ua8d0-\ua8d9\ua8e0-\ua8f1\ua8ff-\ua909\ua926-\ua92d\ua947-\ua953\ua980-\ua983\ua9b3-\ua9c0\ua9d0-\ua9d9\ua9e5\ua9f0-\ua9f9\uaa29-\uaa36\uaa43\uaa4c\uaa4d\uaa50-\uaa59\uaa7b-\uaa7d\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uaaeb-\uaaef\uaaf5\uaaf6\uabe3-\uabea\uabec\uabed\uabf0-\uabf9\ufb1e\ufe00-\ufe0f\ufe20-\ufe2f\ufe33\ufe34\ufe4d-\ufe4f\uff10-\uff19\uff3f\uff65";
|
|
22247
22247
|
|
|
22248
22248
|
// This file was generated. Do not modify manually!
|
|
22249
|
-
var nonASCIIidentifierStartChars = "\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u037f\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u052f\u0531-\u0556\u0559\u0560-\u0588\u05d0-\u05ea\u05ef-\u05f2\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u0860-\u086a\u0870-\u0887\u0889-\u088e\u08a0-\u08c9\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u09fc\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0af9\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d\u0c58-\u0c5a\u0c5d\u0c60\u0c61\u0c80\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cdd\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d04-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d54-\u0d56\u0d5f-\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f5\u13f8-\u13fd\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f8\u1700-\u1711\u171f-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1878\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191e\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4c\u1b83-\u1ba0\u1bae\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1c80-\
|
|
22249
|
+
var nonASCIIidentifierStartChars = "\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u037f\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u052f\u0531-\u0556\u0559\u0560-\u0588\u05d0-\u05ea\u05ef-\u05f2\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u0860-\u086a\u0870-\u0887\u0889-\u088e\u08a0-\u08c9\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u09fc\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0af9\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d\u0c58-\u0c5a\u0c5d\u0c60\u0c61\u0c80\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cdd\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d04-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d54-\u0d56\u0d5f-\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f5\u13f8-\u13fd\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f8\u1700-\u1711\u171f-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1878\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191e\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4c\u1b83-\u1ba0\u1bae\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1c80-\u1c8a\u1c90-\u1cba\u1cbd-\u1cbf\u1ce9-\u1cec\u1cee-\u1cf3\u1cf5\u1cf6\u1cfa\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2118-\u211d\u2124\u2126\u2128\u212a-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2ce4\u2ceb-\u2cee\u2cf2\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309b-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312f\u3131-\u318e\u31a0-\u31bf\u31f0-\u31ff\u3400-\u4dbf\u4e00-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua69d\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua7cd\ua7d0\ua7d1\ua7d3\ua7d5-\ua7dc\ua7f2-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua8fd\ua8fe\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\ua9e0-\ua9e4\ua9e6-\ua9ef\ua9fa-\ua9fe\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa7e-\uaaaf\uaab1\uaab5\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab5a\uab5c-\uab69\uab70-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc";
|
|
22250
22250
|
|
|
22251
22251
|
// These are a run-length and offset encoded representation of the
|
|
22252
22252
|
// >0xffff code points that are a valid part of identifiers. The
|
|
@@ -22725,6 +22725,7 @@ var
|
|
|
22725
22725
|
SCOPE_SUPER = 64,
|
|
22726
22726
|
SCOPE_DIRECT_SUPER = 128,
|
|
22727
22727
|
SCOPE_CLASS_STATIC_BLOCK = 256,
|
|
22728
|
+
SCOPE_CLASS_FIELD_INIT = 512,
|
|
22728
22729
|
SCOPE_VAR = SCOPE_TOP | SCOPE_FUNCTION | SCOPE_CLASS_STATIC_BLOCK;
|
|
22729
22730
|
|
|
22730
22731
|
function functionFlags(async, generator) {
|
|
@@ -22835,15 +22836,16 @@ Parser.prototype.parse = function parse () {
|
|
|
22835
22836
|
|
|
22836
22837
|
prototypeAccessors.inFunction.get = function () { return (this.currentVarScope().flags & SCOPE_FUNCTION) > 0 };
|
|
22837
22838
|
|
|
22838
|
-
prototypeAccessors.inGenerator.get = function () { return (this.currentVarScope().flags & SCOPE_GENERATOR) > 0
|
|
22839
|
+
prototypeAccessors.inGenerator.get = function () { return (this.currentVarScope().flags & SCOPE_GENERATOR) > 0 };
|
|
22839
22840
|
|
|
22840
|
-
prototypeAccessors.inAsync.get = function () { return (this.currentVarScope().flags & SCOPE_ASYNC) > 0
|
|
22841
|
+
prototypeAccessors.inAsync.get = function () { return (this.currentVarScope().flags & SCOPE_ASYNC) > 0 };
|
|
22841
22842
|
|
|
22842
22843
|
prototypeAccessors.canAwait.get = function () {
|
|
22843
22844
|
for (var i = this.scopeStack.length - 1; i >= 0; i--) {
|
|
22844
|
-
var
|
|
22845
|
-
|
|
22846
|
-
if (
|
|
22845
|
+
var ref = this.scopeStack[i];
|
|
22846
|
+
var flags = ref.flags;
|
|
22847
|
+
if (flags & (SCOPE_CLASS_STATIC_BLOCK | SCOPE_CLASS_FIELD_INIT)) { return false }
|
|
22848
|
+
if (flags & SCOPE_FUNCTION) { return (flags & SCOPE_ASYNC) > 0 }
|
|
22847
22849
|
}
|
|
22848
22850
|
return (this.inModule && this.options.ecmaVersion >= 13) || this.options.allowAwaitOutsideFunction
|
|
22849
22851
|
};
|
|
@@ -22851,8 +22853,7 @@ prototypeAccessors.canAwait.get = function () {
|
|
|
22851
22853
|
prototypeAccessors.allowSuper.get = function () {
|
|
22852
22854
|
var ref = this.currentThisScope();
|
|
22853
22855
|
var flags = ref.flags;
|
|
22854
|
-
|
|
22855
|
-
return (flags & SCOPE_SUPER) > 0 || inClassFieldInit || this.options.allowSuperOutsideMethod
|
|
22856
|
+
return (flags & SCOPE_SUPER) > 0 || this.options.allowSuperOutsideMethod
|
|
22856
22857
|
};
|
|
22857
22858
|
|
|
22858
22859
|
prototypeAccessors.allowDirectSuper.get = function () { return (this.currentThisScope().flags & SCOPE_DIRECT_SUPER) > 0 };
|
|
@@ -22860,10 +22861,13 @@ prototypeAccessors.allowDirectSuper.get = function () { return (this.currentThis
|
|
|
22860
22861
|
prototypeAccessors.treatFunctionsAsVar.get = function () { return this.treatFunctionsAsVarInScope(this.currentScope()) };
|
|
22861
22862
|
|
|
22862
22863
|
prototypeAccessors.allowNewDotTarget.get = function () {
|
|
22863
|
-
var
|
|
22864
|
-
var
|
|
22865
|
-
|
|
22866
|
-
|
|
22864
|
+
for (var i = this.scopeStack.length - 1; i >= 0; i--) {
|
|
22865
|
+
var ref = this.scopeStack[i];
|
|
22866
|
+
var flags = ref.flags;
|
|
22867
|
+
if (flags & (SCOPE_CLASS_STATIC_BLOCK | SCOPE_CLASS_FIELD_INIT) ||
|
|
22868
|
+
((flags & SCOPE_FUNCTION) && !(flags & SCOPE_ARROW))) { return true }
|
|
22869
|
+
}
|
|
22870
|
+
return false
|
|
22867
22871
|
};
|
|
22868
22872
|
|
|
22869
22873
|
prototypeAccessors.inClassStaticBlock.get = function () {
|
|
@@ -23115,6 +23119,49 @@ pp$8.isAsyncFunction = function() {
|
|
|
23115
23119
|
!(isIdentifierChar(after = this.input.charCodeAt(next + 8)) || after > 0xd7ff && after < 0xdc00))
|
|
23116
23120
|
};
|
|
23117
23121
|
|
|
23122
|
+
pp$8.isUsingKeyword = function(isAwaitUsing, isFor) {
|
|
23123
|
+
if (this.options.ecmaVersion < 17 || !this.isContextual(isAwaitUsing ? "await" : "using"))
|
|
23124
|
+
{ return false }
|
|
23125
|
+
|
|
23126
|
+
skipWhiteSpace.lastIndex = this.pos;
|
|
23127
|
+
var skip = skipWhiteSpace.exec(this.input);
|
|
23128
|
+
var next = this.pos + skip[0].length;
|
|
23129
|
+
|
|
23130
|
+
if (lineBreak.test(this.input.slice(this.pos, next))) { return false }
|
|
23131
|
+
|
|
23132
|
+
if (isAwaitUsing) {
|
|
23133
|
+
var awaitEndPos = next + 5 /* await */, after;
|
|
23134
|
+
if (this.input.slice(next, awaitEndPos) !== "using" ||
|
|
23135
|
+
awaitEndPos === this.input.length ||
|
|
23136
|
+
isIdentifierChar(after = this.input.charCodeAt(awaitEndPos)) ||
|
|
23137
|
+
(after > 0xd7ff && after < 0xdc00)
|
|
23138
|
+
) { return false }
|
|
23139
|
+
|
|
23140
|
+
skipWhiteSpace.lastIndex = awaitEndPos;
|
|
23141
|
+
var skipAfterUsing = skipWhiteSpace.exec(this.input);
|
|
23142
|
+
if (skipAfterUsing && lineBreak.test(this.input.slice(awaitEndPos, awaitEndPos + skipAfterUsing[0].length))) { return false }
|
|
23143
|
+
}
|
|
23144
|
+
|
|
23145
|
+
if (isFor) {
|
|
23146
|
+
var ofEndPos = next + 2 /* of */, after$1;
|
|
23147
|
+
if (this.input.slice(next, ofEndPos) === "of") {
|
|
23148
|
+
if (ofEndPos === this.input.length ||
|
|
23149
|
+
(!isIdentifierChar(after$1 = this.input.charCodeAt(ofEndPos)) && !(after$1 > 0xd7ff && after$1 < 0xdc00))) { return false }
|
|
23150
|
+
}
|
|
23151
|
+
}
|
|
23152
|
+
|
|
23153
|
+
var ch = this.input.charCodeAt(next);
|
|
23154
|
+
return isIdentifierStart(ch, true) || ch === 92 // '\'
|
|
23155
|
+
};
|
|
23156
|
+
|
|
23157
|
+
pp$8.isAwaitUsing = function(isFor) {
|
|
23158
|
+
return this.isUsingKeyword(true, isFor)
|
|
23159
|
+
};
|
|
23160
|
+
|
|
23161
|
+
pp$8.isUsing = function(isFor) {
|
|
23162
|
+
return this.isUsingKeyword(false, isFor)
|
|
23163
|
+
};
|
|
23164
|
+
|
|
23118
23165
|
// Parse a single statement.
|
|
23119
23166
|
//
|
|
23120
23167
|
// If expecting a statement and finding a slash operator, parse a
|
|
@@ -23191,6 +23238,23 @@ pp$8.parseStatement = function(context, topLevel, exports) {
|
|
|
23191
23238
|
return this.parseFunctionStatement(node, true, !context)
|
|
23192
23239
|
}
|
|
23193
23240
|
|
|
23241
|
+
var usingKind = this.isAwaitUsing(false) ? "await using" : this.isUsing(false) ? "using" : null;
|
|
23242
|
+
if (usingKind) {
|
|
23243
|
+
if (topLevel && this.options.sourceType === "script") {
|
|
23244
|
+
this.raise(this.start, "Using declaration cannot appear in the top level when source type is `script`");
|
|
23245
|
+
}
|
|
23246
|
+
if (usingKind === "await using") {
|
|
23247
|
+
if (!this.canAwait) {
|
|
23248
|
+
this.raise(this.start, "Await using cannot appear outside of async function");
|
|
23249
|
+
}
|
|
23250
|
+
this.next();
|
|
23251
|
+
}
|
|
23252
|
+
this.next();
|
|
23253
|
+
this.parseVar(node, false, usingKind);
|
|
23254
|
+
this.semicolon();
|
|
23255
|
+
return this.finishNode(node, "VariableDeclaration")
|
|
23256
|
+
}
|
|
23257
|
+
|
|
23194
23258
|
var maybeName = this.value, expr = this.parseExpression();
|
|
23195
23259
|
if (starttype === types$1.name && expr.type === "Identifier" && this.eat(types$1.colon))
|
|
23196
23260
|
{ return this.parseLabeledStatement(node, maybeName, expr, context) }
|
|
@@ -23266,18 +23330,19 @@ pp$8.parseForStatement = function(node) {
|
|
|
23266
23330
|
this.next();
|
|
23267
23331
|
this.parseVar(init$1, true, kind);
|
|
23268
23332
|
this.finishNode(init$1, "VariableDeclaration");
|
|
23269
|
-
|
|
23270
|
-
if (this.options.ecmaVersion >= 9) {
|
|
23271
|
-
if (this.type === types$1._in) {
|
|
23272
|
-
if (awaitAt > -1) { this.unexpected(awaitAt); }
|
|
23273
|
-
} else { node.await = awaitAt > -1; }
|
|
23274
|
-
}
|
|
23275
|
-
return this.parseForIn(node, init$1)
|
|
23276
|
-
}
|
|
23277
|
-
if (awaitAt > -1) { this.unexpected(awaitAt); }
|
|
23278
|
-
return this.parseFor(node, init$1)
|
|
23333
|
+
return this.parseForAfterInit(node, init$1, awaitAt)
|
|
23279
23334
|
}
|
|
23280
23335
|
var startsWithLet = this.isContextual("let"), isForOf = false;
|
|
23336
|
+
|
|
23337
|
+
var usingKind = this.isUsing(true) ? "using" : this.isAwaitUsing(true) ? "await using" : null;
|
|
23338
|
+
if (usingKind) {
|
|
23339
|
+
var init$2 = this.startNode();
|
|
23340
|
+
this.next();
|
|
23341
|
+
if (usingKind === "await using") { this.next(); }
|
|
23342
|
+
this.parseVar(init$2, true, usingKind);
|
|
23343
|
+
this.finishNode(init$2, "VariableDeclaration");
|
|
23344
|
+
return this.parseForAfterInit(node, init$2, awaitAt)
|
|
23345
|
+
}
|
|
23281
23346
|
var containsEsc = this.containsEsc;
|
|
23282
23347
|
var refDestructuringErrors = new DestructuringErrors;
|
|
23283
23348
|
var initPos = this.start;
|
|
@@ -23303,6 +23368,20 @@ pp$8.parseForStatement = function(node) {
|
|
|
23303
23368
|
return this.parseFor(node, init)
|
|
23304
23369
|
};
|
|
23305
23370
|
|
|
23371
|
+
// Helper method to parse for loop after variable initialization
|
|
23372
|
+
pp$8.parseForAfterInit = function(node, init, awaitAt) {
|
|
23373
|
+
if ((this.type === types$1._in || (this.options.ecmaVersion >= 6 && this.isContextual("of"))) && init.declarations.length === 1) {
|
|
23374
|
+
if (this.options.ecmaVersion >= 9) {
|
|
23375
|
+
if (this.type === types$1._in) {
|
|
23376
|
+
if (awaitAt > -1) { this.unexpected(awaitAt); }
|
|
23377
|
+
} else { node.await = awaitAt > -1; }
|
|
23378
|
+
}
|
|
23379
|
+
return this.parseForIn(node, init)
|
|
23380
|
+
}
|
|
23381
|
+
if (awaitAt > -1) { this.unexpected(awaitAt); }
|
|
23382
|
+
return this.parseFor(node, init)
|
|
23383
|
+
};
|
|
23384
|
+
|
|
23306
23385
|
pp$8.parseFunctionStatement = function(node, isAsync, declarationPosition) {
|
|
23307
23386
|
this.next();
|
|
23308
23387
|
return this.parseFunction(node, FUNC_STATEMENT | (declarationPosition ? 0 : FUNC_HANGING_STATEMENT), false, isAsync)
|
|
@@ -23559,6 +23638,8 @@ pp$8.parseVar = function(node, isFor, kind, allowMissingInitializer) {
|
|
|
23559
23638
|
decl.init = this.parseMaybeAssign(isFor);
|
|
23560
23639
|
} else if (!allowMissingInitializer && kind === "const" && !(this.type === types$1._in || (this.options.ecmaVersion >= 6 && this.isContextual("of")))) {
|
|
23561
23640
|
this.unexpected();
|
|
23641
|
+
} else if (!allowMissingInitializer && (kind === "using" || kind === "await using") && this.options.ecmaVersion >= 17 && this.type !== types$1._in && !this.isContextual("of")) {
|
|
23642
|
+
this.raise(this.lastTokEnd, ("Missing initializer in " + kind + " declaration"));
|
|
23562
23643
|
} else if (!allowMissingInitializer && decl.id.type !== "Identifier" && !(isFor && (this.type === types$1._in || this.isContextual("of")))) {
|
|
23563
23644
|
this.raise(this.lastTokEnd, "Complex binding patterns require an initialization value");
|
|
23564
23645
|
} else {
|
|
@@ -23571,7 +23652,10 @@ pp$8.parseVar = function(node, isFor, kind, allowMissingInitializer) {
|
|
|
23571
23652
|
};
|
|
23572
23653
|
|
|
23573
23654
|
pp$8.parseVarId = function(decl, kind) {
|
|
23574
|
-
decl.id =
|
|
23655
|
+
decl.id = kind === "using" || kind === "await using"
|
|
23656
|
+
? this.parseIdent()
|
|
23657
|
+
: this.parseBindingAtom();
|
|
23658
|
+
|
|
23575
23659
|
this.checkLValPattern(decl.id, kind === "var" ? BIND_VAR : BIND_LEXICAL, false);
|
|
23576
23660
|
};
|
|
23577
23661
|
|
|
@@ -23790,11 +23874,9 @@ pp$8.parseClassField = function(field) {
|
|
|
23790
23874
|
|
|
23791
23875
|
if (this.eat(types$1.eq)) {
|
|
23792
23876
|
// To raise SyntaxError if 'arguments' exists in the initializer.
|
|
23793
|
-
|
|
23794
|
-
var inClassFieldInit = scope.inClassFieldInit;
|
|
23795
|
-
scope.inClassFieldInit = true;
|
|
23877
|
+
this.enterScope(SCOPE_CLASS_FIELD_INIT | SCOPE_SUPER);
|
|
23796
23878
|
field.value = this.parseMaybeAssign();
|
|
23797
|
-
|
|
23879
|
+
this.exitScope();
|
|
23798
23880
|
} else {
|
|
23799
23881
|
field.value = null;
|
|
23800
23882
|
}
|
|
@@ -23910,6 +23992,8 @@ pp$8.parseExportAllDeclaration = function(node, exports) {
|
|
|
23910
23992
|
this.expectContextual("from");
|
|
23911
23993
|
if (this.type !== types$1.string) { this.unexpected(); }
|
|
23912
23994
|
node.source = this.parseExprAtom();
|
|
23995
|
+
if (this.options.ecmaVersion >= 16)
|
|
23996
|
+
{ node.attributes = this.parseWithClause(); }
|
|
23913
23997
|
this.semicolon();
|
|
23914
23998
|
return this.finishNode(node, "ExportAllDeclaration")
|
|
23915
23999
|
};
|
|
@@ -23934,12 +24018,16 @@ pp$8.parseExport = function(node, exports) {
|
|
|
23934
24018
|
{ this.checkExport(exports, node.declaration.id, node.declaration.id.start); }
|
|
23935
24019
|
node.specifiers = [];
|
|
23936
24020
|
node.source = null;
|
|
24021
|
+
if (this.options.ecmaVersion >= 16)
|
|
24022
|
+
{ node.attributes = []; }
|
|
23937
24023
|
} else { // export { x, y as z } [from '...']
|
|
23938
24024
|
node.declaration = null;
|
|
23939
24025
|
node.specifiers = this.parseExportSpecifiers(exports);
|
|
23940
24026
|
if (this.eatContextual("from")) {
|
|
23941
24027
|
if (this.type !== types$1.string) { this.unexpected(); }
|
|
23942
24028
|
node.source = this.parseExprAtom();
|
|
24029
|
+
if (this.options.ecmaVersion >= 16)
|
|
24030
|
+
{ node.attributes = this.parseWithClause(); }
|
|
23943
24031
|
} else {
|
|
23944
24032
|
for (var i = 0, list = node.specifiers; i < list.length; i += 1) {
|
|
23945
24033
|
// check for keywords used as local names
|
|
@@ -23955,6 +24043,8 @@ pp$8.parseExport = function(node, exports) {
|
|
|
23955
24043
|
}
|
|
23956
24044
|
|
|
23957
24045
|
node.source = null;
|
|
24046
|
+
if (this.options.ecmaVersion >= 16)
|
|
24047
|
+
{ node.attributes = []; }
|
|
23958
24048
|
}
|
|
23959
24049
|
this.semicolon();
|
|
23960
24050
|
}
|
|
@@ -24080,6 +24170,8 @@ pp$8.parseImport = function(node) {
|
|
|
24080
24170
|
this.expectContextual("from");
|
|
24081
24171
|
node.source = this.type === types$1.string ? this.parseExprAtom() : this.unexpected();
|
|
24082
24172
|
}
|
|
24173
|
+
if (this.options.ecmaVersion >= 16)
|
|
24174
|
+
{ node.attributes = this.parseWithClause(); }
|
|
24083
24175
|
this.semicolon();
|
|
24084
24176
|
return this.finishNode(node, "ImportDeclaration")
|
|
24085
24177
|
};
|
|
@@ -24140,6 +24232,41 @@ pp$8.parseImportSpecifiers = function() {
|
|
|
24140
24232
|
return nodes
|
|
24141
24233
|
};
|
|
24142
24234
|
|
|
24235
|
+
pp$8.parseWithClause = function() {
|
|
24236
|
+
var nodes = [];
|
|
24237
|
+
if (!this.eat(types$1._with)) {
|
|
24238
|
+
return nodes
|
|
24239
|
+
}
|
|
24240
|
+
this.expect(types$1.braceL);
|
|
24241
|
+
var attributeKeys = {};
|
|
24242
|
+
var first = true;
|
|
24243
|
+
while (!this.eat(types$1.braceR)) {
|
|
24244
|
+
if (!first) {
|
|
24245
|
+
this.expect(types$1.comma);
|
|
24246
|
+
if (this.afterTrailingComma(types$1.braceR)) { break }
|
|
24247
|
+
} else { first = false; }
|
|
24248
|
+
|
|
24249
|
+
var attr = this.parseImportAttribute();
|
|
24250
|
+
var keyName = attr.key.type === "Identifier" ? attr.key.name : attr.key.value;
|
|
24251
|
+
if (hasOwn(attributeKeys, keyName))
|
|
24252
|
+
{ this.raiseRecoverable(attr.key.start, "Duplicate attribute key '" + keyName + "'"); }
|
|
24253
|
+
attributeKeys[keyName] = true;
|
|
24254
|
+
nodes.push(attr);
|
|
24255
|
+
}
|
|
24256
|
+
return nodes
|
|
24257
|
+
};
|
|
24258
|
+
|
|
24259
|
+
pp$8.parseImportAttribute = function() {
|
|
24260
|
+
var node = this.startNode();
|
|
24261
|
+
node.key = this.type === types$1.string ? this.parseExprAtom() : this.parseIdent(this.options.allowReserved !== "never");
|
|
24262
|
+
this.expect(types$1.colon);
|
|
24263
|
+
if (this.type !== types$1.string) {
|
|
24264
|
+
this.unexpected();
|
|
24265
|
+
}
|
|
24266
|
+
node.value = this.parseExprAtom();
|
|
24267
|
+
return this.finishNode(node, "ImportAttribute")
|
|
24268
|
+
};
|
|
24269
|
+
|
|
24143
24270
|
pp$8.parseModuleExportName = function() {
|
|
24144
24271
|
if (this.options.ecmaVersion >= 13 && this.type === types$1.string) {
|
|
24145
24272
|
var stringLiteral = this.parseLiteral(this.value);
|
|
@@ -25207,13 +25334,32 @@ pp$5.parseDynamicImport = function(node) {
|
|
|
25207
25334
|
// Parse node.source.
|
|
25208
25335
|
node.source = this.parseMaybeAssign();
|
|
25209
25336
|
|
|
25210
|
-
|
|
25211
|
-
|
|
25212
|
-
|
|
25213
|
-
|
|
25214
|
-
|
|
25337
|
+
if (this.options.ecmaVersion >= 16) {
|
|
25338
|
+
if (!this.eat(types$1.parenR)) {
|
|
25339
|
+
this.expect(types$1.comma);
|
|
25340
|
+
if (!this.afterTrailingComma(types$1.parenR)) {
|
|
25341
|
+
node.options = this.parseMaybeAssign();
|
|
25342
|
+
if (!this.eat(types$1.parenR)) {
|
|
25343
|
+
this.expect(types$1.comma);
|
|
25344
|
+
if (!this.afterTrailingComma(types$1.parenR)) {
|
|
25345
|
+
this.unexpected();
|
|
25346
|
+
}
|
|
25347
|
+
}
|
|
25348
|
+
} else {
|
|
25349
|
+
node.options = null;
|
|
25350
|
+
}
|
|
25215
25351
|
} else {
|
|
25216
|
-
|
|
25352
|
+
node.options = null;
|
|
25353
|
+
}
|
|
25354
|
+
} else {
|
|
25355
|
+
// Verify ending.
|
|
25356
|
+
if (!this.eat(types$1.parenR)) {
|
|
25357
|
+
var errorPos = this.start;
|
|
25358
|
+
if (this.eat(types$1.comma) && this.eat(types$1.parenR)) {
|
|
25359
|
+
this.raiseRecoverable(errorPos, "Trailing comma is not allowed in import()");
|
|
25360
|
+
} else {
|
|
25361
|
+
this.unexpected(errorPos);
|
|
25362
|
+
}
|
|
25217
25363
|
}
|
|
25218
25364
|
}
|
|
25219
25365
|
|
|
@@ -25240,7 +25386,8 @@ pp$5.parseLiteral = function(value) {
|
|
|
25240
25386
|
var node = this.startNode();
|
|
25241
25387
|
node.value = value;
|
|
25242
25388
|
node.raw = this.input.slice(this.start, this.end);
|
|
25243
|
-
if (node.raw.charCodeAt(node.raw.length - 1) === 110)
|
|
25389
|
+
if (node.raw.charCodeAt(node.raw.length - 1) === 110)
|
|
25390
|
+
{ node.bigint = node.value != null ? node.value.toString() : node.raw.slice(0, -1).replace(/_/g, ""); }
|
|
25244
25391
|
this.next();
|
|
25245
25392
|
return this.finishNode(node, "Literal")
|
|
25246
25393
|
};
|
|
@@ -25478,9 +25625,10 @@ pp$5.parseProperty = function(isPattern, refDestructuringErrors) {
|
|
|
25478
25625
|
};
|
|
25479
25626
|
|
|
25480
25627
|
pp$5.parseGetterSetter = function(prop) {
|
|
25481
|
-
|
|
25628
|
+
var kind = prop.key.name;
|
|
25482
25629
|
this.parsePropertyName(prop);
|
|
25483
25630
|
prop.value = this.parseMethod(false);
|
|
25631
|
+
prop.kind = kind;
|
|
25484
25632
|
var paramCount = prop.kind === "get" ? 0 : 1;
|
|
25485
25633
|
if (prop.value.params.length !== paramCount) {
|
|
25486
25634
|
var start = prop.value.start;
|
|
@@ -25503,9 +25651,9 @@ pp$5.parsePropertyValue = function(prop, isPattern, isGenerator, isAsync, startP
|
|
|
25503
25651
|
prop.kind = "init";
|
|
25504
25652
|
} else if (this.options.ecmaVersion >= 6 && this.type === types$1.parenL) {
|
|
25505
25653
|
if (isPattern) { this.unexpected(); }
|
|
25506
|
-
prop.kind = "init";
|
|
25507
25654
|
prop.method = true;
|
|
25508
25655
|
prop.value = this.parseMethod(isGenerator, isAsync);
|
|
25656
|
+
prop.kind = "init";
|
|
25509
25657
|
} else if (!isPattern && !containsEsc &&
|
|
25510
25658
|
this.options.ecmaVersion >= 5 && !prop.computed && prop.key.type === "Identifier" &&
|
|
25511
25659
|
(prop.key.name === "get" || prop.key.name === "set") &&
|
|
@@ -25517,7 +25665,6 @@ pp$5.parsePropertyValue = function(prop, isPattern, isGenerator, isAsync, startP
|
|
|
25517
25665
|
this.checkUnreserved(prop.key);
|
|
25518
25666
|
if (prop.key.name === "await" && !this.awaitIdentPos)
|
|
25519
25667
|
{ this.awaitIdentPos = startPos; }
|
|
25520
|
-
prop.kind = "init";
|
|
25521
25668
|
if (isPattern) {
|
|
25522
25669
|
prop.value = this.parseMaybeDefault(startPos, startLoc, this.copyNode(prop.key));
|
|
25523
25670
|
} else if (this.type === types$1.eq && refDestructuringErrors) {
|
|
@@ -25527,6 +25674,7 @@ pp$5.parsePropertyValue = function(prop, isPattern, isGenerator, isAsync, startP
|
|
|
25527
25674
|
} else {
|
|
25528
25675
|
prop.value = this.copyNode(prop.key);
|
|
25529
25676
|
}
|
|
25677
|
+
prop.kind = "init";
|
|
25530
25678
|
prop.shorthand = true;
|
|
25531
25679
|
} else { this.unexpected(); }
|
|
25532
25680
|
};
|
|
@@ -25702,7 +25850,7 @@ pp$5.checkUnreserved = function(ref) {
|
|
|
25702
25850
|
{ this.raiseRecoverable(start, "Cannot use 'yield' as identifier inside a generator"); }
|
|
25703
25851
|
if (this.inAsync && name === "await")
|
|
25704
25852
|
{ this.raiseRecoverable(start, "Cannot use 'await' as identifier inside an async function"); }
|
|
25705
|
-
if (this.currentThisScope().
|
|
25853
|
+
if (!(this.currentThisScope().flags & SCOPE_VAR) && name === "arguments")
|
|
25706
25854
|
{ this.raiseRecoverable(start, "Cannot use 'arguments' in class field initializer"); }
|
|
25707
25855
|
if (this.inClassStaticBlock && (name === "arguments" || name === "await"))
|
|
25708
25856
|
{ this.raise(start, ("Cannot use " + name + " in class static initialization block")); }
|
|
@@ -25815,6 +25963,9 @@ var pp$4 = Parser.prototype;
|
|
|
25815
25963
|
pp$4.raise = function(pos, message) {
|
|
25816
25964
|
var loc = getLineInfo(this.input, pos);
|
|
25817
25965
|
message += " (" + loc.line + ":" + loc.column + ")";
|
|
25966
|
+
if (this.sourceFile) {
|
|
25967
|
+
message += " in " + this.sourceFile;
|
|
25968
|
+
}
|
|
25818
25969
|
var err = new SyntaxError(message);
|
|
25819
25970
|
err.pos = pos; err.loc = loc; err.raisedAt = this.pos;
|
|
25820
25971
|
throw err
|
|
@@ -25838,8 +25989,6 @@ var Scope = function Scope(flags) {
|
|
|
25838
25989
|
this.lexical = [];
|
|
25839
25990
|
// A list of lexically-declared FunctionDeclaration names in the current lexical scope
|
|
25840
25991
|
this.functions = [];
|
|
25841
|
-
// A switch to disallow the identifier reference 'arguments'
|
|
25842
|
-
this.inClassFieldInit = false;
|
|
25843
25992
|
};
|
|
25844
25993
|
|
|
25845
25994
|
// The functions in this module keep track of declared variables in the current scope in order to detect duplicate variable names.
|
|
@@ -25909,7 +26058,7 @@ pp$3.currentScope = function() {
|
|
|
25909
26058
|
pp$3.currentVarScope = function() {
|
|
25910
26059
|
for (var i = this.scopeStack.length - 1;; i--) {
|
|
25911
26060
|
var scope = this.scopeStack[i];
|
|
25912
|
-
if (scope.flags & SCOPE_VAR) { return scope }
|
|
26061
|
+
if (scope.flags & (SCOPE_VAR | SCOPE_CLASS_FIELD_INIT | SCOPE_CLASS_STATIC_BLOCK)) { return scope }
|
|
25913
26062
|
}
|
|
25914
26063
|
};
|
|
25915
26064
|
|
|
@@ -25917,7 +26066,8 @@ pp$3.currentVarScope = function() {
|
|
|
25917
26066
|
pp$3.currentThisScope = function() {
|
|
25918
26067
|
for (var i = this.scopeStack.length - 1;; i--) {
|
|
25919
26068
|
var scope = this.scopeStack[i];
|
|
25920
|
-
if (scope.flags & SCOPE_VAR
|
|
26069
|
+
if (scope.flags & (SCOPE_VAR | SCOPE_CLASS_FIELD_INIT | SCOPE_CLASS_STATIC_BLOCK) &&
|
|
26070
|
+
!(scope.flags & SCOPE_ARROW)) { return scope }
|
|
25921
26071
|
}
|
|
25922
26072
|
};
|
|
25923
26073
|
|
|
@@ -25973,6 +26123,9 @@ pp$2.copyNode = function(node) {
|
|
|
25973
26123
|
return newNode
|
|
25974
26124
|
};
|
|
25975
26125
|
|
|
26126
|
+
// This file was generated by "bin/generate-unicode-script-values.js". Do not modify manually!
|
|
26127
|
+
var scriptValuesAddedInUnicode = "Gara Garay Gukh Gurung_Khema Hrkt Katakana_Or_Hiragana Kawi Kirat_Rai Krai Nag_Mundari Nagm Ol_Onal Onao Sunu Sunuwar Todhri Todr Tulu_Tigalari Tutg Unknown Zzzz";
|
|
26128
|
+
|
|
25976
26129
|
// This file contains Unicode properties extracted from the ECMAScript specification.
|
|
25977
26130
|
// The lists are extracted like so:
|
|
25978
26131
|
// $$('#table-binary-unicode-properties > figure > table > tbody > tr > td:nth-child(1) code').map(el => el.innerText)
|
|
@@ -26015,7 +26168,7 @@ var ecma10ScriptValues = ecma9ScriptValues + " Dogra Dogr Gunjala_Gondi Gong Han
|
|
|
26015
26168
|
var ecma11ScriptValues = ecma10ScriptValues + " Elymaic Elym Nandinagari Nand Nyiakeng_Puachue_Hmong Hmnp Wancho Wcho";
|
|
26016
26169
|
var ecma12ScriptValues = ecma11ScriptValues + " Chorasmian Chrs Diak Dives_Akuru Khitan_Small_Script Kits Yezi Yezidi";
|
|
26017
26170
|
var ecma13ScriptValues = ecma12ScriptValues + " Cypro_Minoan Cpmn Old_Uyghur Ougr Tangsa Tnsa Toto Vithkuqi Vith";
|
|
26018
|
-
var ecma14ScriptValues = ecma13ScriptValues + "
|
|
26171
|
+
var ecma14ScriptValues = ecma13ScriptValues + " " + scriptValuesAddedInUnicode;
|
|
26019
26172
|
|
|
26020
26173
|
var unicodeScriptValues = {
|
|
26021
26174
|
9: ecma9ScriptValues,
|
|
@@ -26440,12 +26593,41 @@ pp$1.regexp_eatReverseSolidusAtomEscape = function(state) {
|
|
|
26440
26593
|
pp$1.regexp_eatUncapturingGroup = function(state) {
|
|
26441
26594
|
var start = state.pos;
|
|
26442
26595
|
if (state.eat(0x28 /* ( */)) {
|
|
26443
|
-
if (state.eat(0x3F /* ? */)
|
|
26444
|
-
this.
|
|
26445
|
-
|
|
26446
|
-
|
|
26596
|
+
if (state.eat(0x3F /* ? */)) {
|
|
26597
|
+
if (this.options.ecmaVersion >= 16) {
|
|
26598
|
+
var addModifiers = this.regexp_eatModifiers(state);
|
|
26599
|
+
var hasHyphen = state.eat(0x2D /* - */);
|
|
26600
|
+
if (addModifiers || hasHyphen) {
|
|
26601
|
+
for (var i = 0; i < addModifiers.length; i++) {
|
|
26602
|
+
var modifier = addModifiers.charAt(i);
|
|
26603
|
+
if (addModifiers.indexOf(modifier, i + 1) > -1) {
|
|
26604
|
+
state.raise("Duplicate regular expression modifiers");
|
|
26605
|
+
}
|
|
26606
|
+
}
|
|
26607
|
+
if (hasHyphen) {
|
|
26608
|
+
var removeModifiers = this.regexp_eatModifiers(state);
|
|
26609
|
+
if (!addModifiers && !removeModifiers && state.current() === 0x3A /* : */) {
|
|
26610
|
+
state.raise("Invalid regular expression modifiers");
|
|
26611
|
+
}
|
|
26612
|
+
for (var i$1 = 0; i$1 < removeModifiers.length; i$1++) {
|
|
26613
|
+
var modifier$1 = removeModifiers.charAt(i$1);
|
|
26614
|
+
if (
|
|
26615
|
+
removeModifiers.indexOf(modifier$1, i$1 + 1) > -1 ||
|
|
26616
|
+
addModifiers.indexOf(modifier$1) > -1
|
|
26617
|
+
) {
|
|
26618
|
+
state.raise("Duplicate regular expression modifiers");
|
|
26619
|
+
}
|
|
26620
|
+
}
|
|
26621
|
+
}
|
|
26622
|
+
}
|
|
26623
|
+
}
|
|
26624
|
+
if (state.eat(0x3A /* : */)) {
|
|
26625
|
+
this.regexp_disjunction(state);
|
|
26626
|
+
if (state.eat(0x29 /* ) */)) {
|
|
26627
|
+
return true
|
|
26628
|
+
}
|
|
26629
|
+
state.raise("Unterminated group");
|
|
26447
26630
|
}
|
|
26448
|
-
state.raise("Unterminated group");
|
|
26449
26631
|
}
|
|
26450
26632
|
state.pos = start;
|
|
26451
26633
|
}
|
|
@@ -26467,6 +26649,23 @@ pp$1.regexp_eatCapturingGroup = function(state) {
|
|
|
26467
26649
|
}
|
|
26468
26650
|
return false
|
|
26469
26651
|
};
|
|
26652
|
+
// RegularExpressionModifiers ::
|
|
26653
|
+
// [empty]
|
|
26654
|
+
// RegularExpressionModifiers RegularExpressionModifier
|
|
26655
|
+
pp$1.regexp_eatModifiers = function(state) {
|
|
26656
|
+
var modifiers = "";
|
|
26657
|
+
var ch = 0;
|
|
26658
|
+
while ((ch = state.current()) !== -1 && isRegularExpressionModifier(ch)) {
|
|
26659
|
+
modifiers += codePointToString(ch);
|
|
26660
|
+
state.advance();
|
|
26661
|
+
}
|
|
26662
|
+
return modifiers
|
|
26663
|
+
};
|
|
26664
|
+
// RegularExpressionModifier :: one of
|
|
26665
|
+
// `i` `m` `s`
|
|
26666
|
+
function isRegularExpressionModifier(ch) {
|
|
26667
|
+
return ch === 0x69 /* i */ || ch === 0x6d /* m */ || ch === 0x73 /* s */
|
|
26668
|
+
}
|
|
26470
26669
|
|
|
26471
26670
|
// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-ExtendedAtom
|
|
26472
26671
|
pp$1.regexp_eatExtendedAtom = function(state) {
|
|
@@ -28218,11 +28417,9 @@ pp.readWord = function() {
|
|
|
28218
28417
|
// Please use the [github bug tracker][ghbt] to report issues.
|
|
28219
28418
|
//
|
|
28220
28419
|
// [ghbt]: https://github.com/acornjs/acorn/issues
|
|
28221
|
-
//
|
|
28222
|
-
// [walk]: util/walk.js
|
|
28223
28420
|
|
|
28224
28421
|
|
|
28225
|
-
var version = "8.
|
|
28422
|
+
var version = "8.15.0";
|
|
28226
28423
|
|
|
28227
28424
|
Parser.acorn = {
|
|
28228
28425
|
Parser: Parser,
|