@hpcc-js/observablehq-compiler 1.4.0 → 1.5.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/LICENSE +43 -43
- package/README.md +105 -105
- package/bin/ojscc.mjs +73 -73
- package/dist/index.esm.js +301 -104
- package/dist/index.esm.js.map +1 -1
- package/dist/index.esm.min.js +2 -2
- package/dist/index.esm.min.js.map +1 -1
- package/dist/index.js +301 -104
- package/dist/index.js.map +1 -1
- package/dist/index.min.js +2 -2
- package/dist/index.min.js.map +1 -1
- package/package.json +4 -4
- package/src/__package__.ts +3 -3
- package/src/__tests__/File Attachments.ts +894 -894
- package/src/__tests__/Introduction to Imports.ts +748 -748
- package/src/__tests__/Observable TimeChart.ts +771 -771
- package/src/__tests__/index.ts +13 -13
- package/src/__tests__/m1.mjs +3 -3
- package/src/__tests__/node.ts +199 -199
- package/src/compiler.md +234 -234
- package/src/compiler.ts +311 -311
- package/src/cst.ts +178 -178
- package/src/index.css +459 -459
- package/src/index.ts +6 -6
- package/src/util.md +113 -113
- package/src/util.ts +175 -175
- package/src/writer.ts +80 -80
- package/types/__package__.d.ts +2 -2
- package/types/util.d.ts.map +1 -1
- package/types-3.4/__package__.d.ts +2 -2
package/dist/index.esm.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
// This file was generated. Do not modify manually!
|
|
2
|
-
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,
|
|
2
|
+
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];
|
|
3
3
|
|
|
4
4
|
// This file was generated. Do not modify manually!
|
|
5
|
-
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,
|
|
5
|
+
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];
|
|
6
6
|
|
|
7
7
|
// This file was generated. Do not modify manually!
|
|
8
|
-
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\
|
|
8
|
+
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";
|
|
9
9
|
|
|
10
10
|
// This file was generated. Do not modify manually!
|
|
11
|
-
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-\
|
|
11
|
+
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";
|
|
12
12
|
|
|
13
13
|
// These are a run-length and offset encoded representation of the
|
|
14
14
|
// >0xffff code points that are a valid part of identifiers. The
|
|
@@ -487,6 +487,7 @@ var
|
|
|
487
487
|
SCOPE_SUPER = 64,
|
|
488
488
|
SCOPE_DIRECT_SUPER = 128,
|
|
489
489
|
SCOPE_CLASS_STATIC_BLOCK = 256,
|
|
490
|
+
SCOPE_CLASS_FIELD_INIT = 512,
|
|
490
491
|
SCOPE_VAR = SCOPE_TOP | SCOPE_FUNCTION$1 | SCOPE_CLASS_STATIC_BLOCK;
|
|
491
492
|
|
|
492
493
|
function functionFlags(async, generator) {
|
|
@@ -597,15 +598,16 @@ Parser.prototype.parse = function parse () {
|
|
|
597
598
|
|
|
598
599
|
prototypeAccessors.inFunction.get = function () { return (this.currentVarScope().flags & SCOPE_FUNCTION$1) > 0 };
|
|
599
600
|
|
|
600
|
-
prototypeAccessors.inGenerator.get = function () { return (this.currentVarScope().flags & SCOPE_GENERATOR$1) > 0
|
|
601
|
+
prototypeAccessors.inGenerator.get = function () { return (this.currentVarScope().flags & SCOPE_GENERATOR$1) > 0 };
|
|
601
602
|
|
|
602
|
-
prototypeAccessors.inAsync.get = function () { return (this.currentVarScope().flags & SCOPE_ASYNC$1) > 0
|
|
603
|
+
prototypeAccessors.inAsync.get = function () { return (this.currentVarScope().flags & SCOPE_ASYNC$1) > 0 };
|
|
603
604
|
|
|
604
605
|
prototypeAccessors.canAwait.get = function () {
|
|
605
606
|
for (var i = this.scopeStack.length - 1; i >= 0; i--) {
|
|
606
|
-
var
|
|
607
|
-
|
|
608
|
-
if (
|
|
607
|
+
var ref = this.scopeStack[i];
|
|
608
|
+
var flags = ref.flags;
|
|
609
|
+
if (flags & (SCOPE_CLASS_STATIC_BLOCK | SCOPE_CLASS_FIELD_INIT)) { return false }
|
|
610
|
+
if (flags & SCOPE_FUNCTION$1) { return (flags & SCOPE_ASYNC$1) > 0 }
|
|
609
611
|
}
|
|
610
612
|
return (this.inModule && this.options.ecmaVersion >= 13) || this.options.allowAwaitOutsideFunction
|
|
611
613
|
};
|
|
@@ -613,8 +615,7 @@ prototypeAccessors.canAwait.get = function () {
|
|
|
613
615
|
prototypeAccessors.allowSuper.get = function () {
|
|
614
616
|
var ref = this.currentThisScope();
|
|
615
617
|
var flags = ref.flags;
|
|
616
|
-
|
|
617
|
-
return (flags & SCOPE_SUPER) > 0 || inClassFieldInit || this.options.allowSuperOutsideMethod
|
|
618
|
+
return (flags & SCOPE_SUPER) > 0 || this.options.allowSuperOutsideMethod
|
|
618
619
|
};
|
|
619
620
|
|
|
620
621
|
prototypeAccessors.allowDirectSuper.get = function () { return (this.currentThisScope().flags & SCOPE_DIRECT_SUPER) > 0 };
|
|
@@ -622,10 +623,13 @@ prototypeAccessors.allowDirectSuper.get = function () { return (this.currentThis
|
|
|
622
623
|
prototypeAccessors.treatFunctionsAsVar.get = function () { return this.treatFunctionsAsVarInScope(this.currentScope()) };
|
|
623
624
|
|
|
624
625
|
prototypeAccessors.allowNewDotTarget.get = function () {
|
|
625
|
-
var
|
|
626
|
-
var
|
|
627
|
-
|
|
628
|
-
|
|
626
|
+
for (var i = this.scopeStack.length - 1; i >= 0; i--) {
|
|
627
|
+
var ref = this.scopeStack[i];
|
|
628
|
+
var flags = ref.flags;
|
|
629
|
+
if (flags & (SCOPE_CLASS_STATIC_BLOCK | SCOPE_CLASS_FIELD_INIT) ||
|
|
630
|
+
((flags & SCOPE_FUNCTION$1) && !(flags & SCOPE_ARROW))) { return true }
|
|
631
|
+
}
|
|
632
|
+
return false
|
|
629
633
|
};
|
|
630
634
|
|
|
631
635
|
prototypeAccessors.inClassStaticBlock.get = function () {
|
|
@@ -817,10 +821,10 @@ var pp$8 = Parser.prototype;
|
|
|
817
821
|
// to its body instead of creating a new node.
|
|
818
822
|
|
|
819
823
|
pp$8.parseTopLevel = function(node) {
|
|
820
|
-
var exports = Object.create(null);
|
|
824
|
+
var exports$1 = Object.create(null);
|
|
821
825
|
if (!node.body) { node.body = []; }
|
|
822
826
|
while (this.type !== types$1.eof) {
|
|
823
|
-
var stmt = this.parseStatement(null, true, exports);
|
|
827
|
+
var stmt = this.parseStatement(null, true, exports$1);
|
|
824
828
|
node.body.push(stmt);
|
|
825
829
|
}
|
|
826
830
|
if (this.inModule)
|
|
@@ -877,6 +881,49 @@ pp$8.isAsyncFunction = function() {
|
|
|
877
881
|
!(isIdentifierChar(after = this.input.charCodeAt(next + 8)) || after > 0xd7ff && after < 0xdc00))
|
|
878
882
|
};
|
|
879
883
|
|
|
884
|
+
pp$8.isUsingKeyword = function(isAwaitUsing, isFor) {
|
|
885
|
+
if (this.options.ecmaVersion < 17 || !this.isContextual(isAwaitUsing ? "await" : "using"))
|
|
886
|
+
{ return false }
|
|
887
|
+
|
|
888
|
+
skipWhiteSpace.lastIndex = this.pos;
|
|
889
|
+
var skip = skipWhiteSpace.exec(this.input);
|
|
890
|
+
var next = this.pos + skip[0].length;
|
|
891
|
+
|
|
892
|
+
if (lineBreak.test(this.input.slice(this.pos, next))) { return false }
|
|
893
|
+
|
|
894
|
+
if (isAwaitUsing) {
|
|
895
|
+
var awaitEndPos = next + 5 /* await */, after;
|
|
896
|
+
if (this.input.slice(next, awaitEndPos) !== "using" ||
|
|
897
|
+
awaitEndPos === this.input.length ||
|
|
898
|
+
isIdentifierChar(after = this.input.charCodeAt(awaitEndPos)) ||
|
|
899
|
+
(after > 0xd7ff && after < 0xdc00)
|
|
900
|
+
) { return false }
|
|
901
|
+
|
|
902
|
+
skipWhiteSpace.lastIndex = awaitEndPos;
|
|
903
|
+
var skipAfterUsing = skipWhiteSpace.exec(this.input);
|
|
904
|
+
if (skipAfterUsing && lineBreak.test(this.input.slice(awaitEndPos, awaitEndPos + skipAfterUsing[0].length))) { return false }
|
|
905
|
+
}
|
|
906
|
+
|
|
907
|
+
if (isFor) {
|
|
908
|
+
var ofEndPos = next + 2 /* of */, after$1;
|
|
909
|
+
if (this.input.slice(next, ofEndPos) === "of") {
|
|
910
|
+
if (ofEndPos === this.input.length ||
|
|
911
|
+
(!isIdentifierChar(after$1 = this.input.charCodeAt(ofEndPos)) && !(after$1 > 0xd7ff && after$1 < 0xdc00))) { return false }
|
|
912
|
+
}
|
|
913
|
+
}
|
|
914
|
+
|
|
915
|
+
var ch = this.input.charCodeAt(next);
|
|
916
|
+
return isIdentifierStart(ch, true) || ch === 92 // '\'
|
|
917
|
+
};
|
|
918
|
+
|
|
919
|
+
pp$8.isAwaitUsing = function(isFor) {
|
|
920
|
+
return this.isUsingKeyword(true, isFor)
|
|
921
|
+
};
|
|
922
|
+
|
|
923
|
+
pp$8.isUsing = function(isFor) {
|
|
924
|
+
return this.isUsingKeyword(false, isFor)
|
|
925
|
+
};
|
|
926
|
+
|
|
880
927
|
// Parse a single statement.
|
|
881
928
|
//
|
|
882
929
|
// If expecting a statement and finding a slash operator, parse a
|
|
@@ -884,7 +931,7 @@ pp$8.isAsyncFunction = function() {
|
|
|
884
931
|
// `if (foo) /blah/.exec(foo)`, where looking at the previous token
|
|
885
932
|
// does not help.
|
|
886
933
|
|
|
887
|
-
pp$8.parseStatement = function(context, topLevel, exports) {
|
|
934
|
+
pp$8.parseStatement = function(context, topLevel, exports$1) {
|
|
888
935
|
var starttype = this.type, node = this.startNode(), kind;
|
|
889
936
|
|
|
890
937
|
if (this.isLet(context)) {
|
|
@@ -939,7 +986,7 @@ pp$8.parseStatement = function(context, topLevel, exports) {
|
|
|
939
986
|
if (!this.inModule)
|
|
940
987
|
{ this.raise(this.start, "'import' and 'export' may appear only with 'sourceType: module'"); }
|
|
941
988
|
}
|
|
942
|
-
return starttype === types$1._import ? this.parseImport(node) : this.parseExport(node, exports)
|
|
989
|
+
return starttype === types$1._import ? this.parseImport(node) : this.parseExport(node, exports$1)
|
|
943
990
|
|
|
944
991
|
// If the statement does not start with a statement keyword or a
|
|
945
992
|
// brace, it's an ExpressionStatement or LabeledStatement. We
|
|
@@ -953,6 +1000,23 @@ pp$8.parseStatement = function(context, topLevel, exports) {
|
|
|
953
1000
|
return this.parseFunctionStatement(node, true, !context)
|
|
954
1001
|
}
|
|
955
1002
|
|
|
1003
|
+
var usingKind = this.isAwaitUsing(false) ? "await using" : this.isUsing(false) ? "using" : null;
|
|
1004
|
+
if (usingKind) {
|
|
1005
|
+
if (topLevel && this.options.sourceType === "script") {
|
|
1006
|
+
this.raise(this.start, "Using declaration cannot appear in the top level when source type is `script`");
|
|
1007
|
+
}
|
|
1008
|
+
if (usingKind === "await using") {
|
|
1009
|
+
if (!this.canAwait) {
|
|
1010
|
+
this.raise(this.start, "Await using cannot appear outside of async function");
|
|
1011
|
+
}
|
|
1012
|
+
this.next();
|
|
1013
|
+
}
|
|
1014
|
+
this.next();
|
|
1015
|
+
this.parseVar(node, false, usingKind);
|
|
1016
|
+
this.semicolon();
|
|
1017
|
+
return this.finishNode(node, "VariableDeclaration")
|
|
1018
|
+
}
|
|
1019
|
+
|
|
956
1020
|
var maybeName = this.value, expr = this.parseExpression();
|
|
957
1021
|
if (starttype === types$1.name && expr.type === "Identifier" && this.eat(types$1.colon))
|
|
958
1022
|
{ return this.parseLabeledStatement(node, maybeName, expr, context) }
|
|
@@ -1028,18 +1092,19 @@ pp$8.parseForStatement = function(node) {
|
|
|
1028
1092
|
this.next();
|
|
1029
1093
|
this.parseVar(init$1, true, kind);
|
|
1030
1094
|
this.finishNode(init$1, "VariableDeclaration");
|
|
1031
|
-
|
|
1032
|
-
if (this.options.ecmaVersion >= 9) {
|
|
1033
|
-
if (this.type === types$1._in) {
|
|
1034
|
-
if (awaitAt > -1) { this.unexpected(awaitAt); }
|
|
1035
|
-
} else { node.await = awaitAt > -1; }
|
|
1036
|
-
}
|
|
1037
|
-
return this.parseForIn(node, init$1)
|
|
1038
|
-
}
|
|
1039
|
-
if (awaitAt > -1) { this.unexpected(awaitAt); }
|
|
1040
|
-
return this.parseFor(node, init$1)
|
|
1095
|
+
return this.parseForAfterInit(node, init$1, awaitAt)
|
|
1041
1096
|
}
|
|
1042
1097
|
var startsWithLet = this.isContextual("let"), isForOf = false;
|
|
1098
|
+
|
|
1099
|
+
var usingKind = this.isUsing(true) ? "using" : this.isAwaitUsing(true) ? "await using" : null;
|
|
1100
|
+
if (usingKind) {
|
|
1101
|
+
var init$2 = this.startNode();
|
|
1102
|
+
this.next();
|
|
1103
|
+
if (usingKind === "await using") { this.next(); }
|
|
1104
|
+
this.parseVar(init$2, true, usingKind);
|
|
1105
|
+
this.finishNode(init$2, "VariableDeclaration");
|
|
1106
|
+
return this.parseForAfterInit(node, init$2, awaitAt)
|
|
1107
|
+
}
|
|
1043
1108
|
var containsEsc = this.containsEsc;
|
|
1044
1109
|
var refDestructuringErrors = new DestructuringErrors;
|
|
1045
1110
|
var initPos = this.start;
|
|
@@ -1065,6 +1130,20 @@ pp$8.parseForStatement = function(node) {
|
|
|
1065
1130
|
return this.parseFor(node, init)
|
|
1066
1131
|
};
|
|
1067
1132
|
|
|
1133
|
+
// Helper method to parse for loop after variable initialization
|
|
1134
|
+
pp$8.parseForAfterInit = function(node, init, awaitAt) {
|
|
1135
|
+
if ((this.type === types$1._in || (this.options.ecmaVersion >= 6 && this.isContextual("of"))) && init.declarations.length === 1) {
|
|
1136
|
+
if (this.options.ecmaVersion >= 9) {
|
|
1137
|
+
if (this.type === types$1._in) {
|
|
1138
|
+
if (awaitAt > -1) { this.unexpected(awaitAt); }
|
|
1139
|
+
} else { node.await = awaitAt > -1; }
|
|
1140
|
+
}
|
|
1141
|
+
return this.parseForIn(node, init)
|
|
1142
|
+
}
|
|
1143
|
+
if (awaitAt > -1) { this.unexpected(awaitAt); }
|
|
1144
|
+
return this.parseFor(node, init)
|
|
1145
|
+
};
|
|
1146
|
+
|
|
1068
1147
|
pp$8.parseFunctionStatement = function(node, isAsync, declarationPosition) {
|
|
1069
1148
|
this.next();
|
|
1070
1149
|
return this.parseFunction(node, FUNC_STATEMENT | (declarationPosition ? 0 : FUNC_HANGING_STATEMENT), false, isAsync)
|
|
@@ -1321,6 +1400,8 @@ pp$8.parseVar = function(node, isFor, kind, allowMissingInitializer) {
|
|
|
1321
1400
|
decl.init = this.parseMaybeAssign(isFor);
|
|
1322
1401
|
} else if (!allowMissingInitializer && kind === "const" && !(this.type === types$1._in || (this.options.ecmaVersion >= 6 && this.isContextual("of")))) {
|
|
1323
1402
|
this.unexpected();
|
|
1403
|
+
} else if (!allowMissingInitializer && (kind === "using" || kind === "await using") && this.options.ecmaVersion >= 17 && this.type !== types$1._in && !this.isContextual("of")) {
|
|
1404
|
+
this.raise(this.lastTokEnd, ("Missing initializer in " + kind + " declaration"));
|
|
1324
1405
|
} else if (!allowMissingInitializer && decl.id.type !== "Identifier" && !(isFor && (this.type === types$1._in || this.isContextual("of")))) {
|
|
1325
1406
|
this.raise(this.lastTokEnd, "Complex binding patterns require an initialization value");
|
|
1326
1407
|
} else {
|
|
@@ -1333,7 +1414,10 @@ pp$8.parseVar = function(node, isFor, kind, allowMissingInitializer) {
|
|
|
1333
1414
|
};
|
|
1334
1415
|
|
|
1335
1416
|
pp$8.parseVarId = function(decl, kind) {
|
|
1336
|
-
decl.id =
|
|
1417
|
+
decl.id = kind === "using" || kind === "await using"
|
|
1418
|
+
? this.parseIdent()
|
|
1419
|
+
: this.parseBindingAtom();
|
|
1420
|
+
|
|
1337
1421
|
this.checkLValPattern(decl.id, kind === "var" ? BIND_VAR : BIND_LEXICAL, false);
|
|
1338
1422
|
};
|
|
1339
1423
|
|
|
@@ -1552,11 +1636,9 @@ pp$8.parseClassField = function(field) {
|
|
|
1552
1636
|
|
|
1553
1637
|
if (this.eat(types$1.eq)) {
|
|
1554
1638
|
// To raise SyntaxError if 'arguments' exists in the initializer.
|
|
1555
|
-
|
|
1556
|
-
var inClassFieldInit = scope.inClassFieldInit;
|
|
1557
|
-
scope.inClassFieldInit = true;
|
|
1639
|
+
this.enterScope(SCOPE_CLASS_FIELD_INIT | SCOPE_SUPER);
|
|
1558
1640
|
field.value = this.parseMaybeAssign();
|
|
1559
|
-
|
|
1641
|
+
this.exitScope();
|
|
1560
1642
|
} else {
|
|
1561
1643
|
field.value = null;
|
|
1562
1644
|
}
|
|
@@ -1660,11 +1742,11 @@ function checkKeyName(node, name) {
|
|
|
1660
1742
|
|
|
1661
1743
|
// Parses module export declaration.
|
|
1662
1744
|
|
|
1663
|
-
pp$8.parseExportAllDeclaration = function(node, exports) {
|
|
1745
|
+
pp$8.parseExportAllDeclaration = function(node, exports$1) {
|
|
1664
1746
|
if (this.options.ecmaVersion >= 11) {
|
|
1665
1747
|
if (this.eatContextual("as")) {
|
|
1666
1748
|
node.exported = this.parseModuleExportName();
|
|
1667
|
-
this.checkExport(exports, node.exported, this.lastTokStart);
|
|
1749
|
+
this.checkExport(exports$1, node.exported, this.lastTokStart);
|
|
1668
1750
|
} else {
|
|
1669
1751
|
node.exported = null;
|
|
1670
1752
|
}
|
|
@@ -1672,18 +1754,20 @@ pp$8.parseExportAllDeclaration = function(node, exports) {
|
|
|
1672
1754
|
this.expectContextual("from");
|
|
1673
1755
|
if (this.type !== types$1.string) { this.unexpected(); }
|
|
1674
1756
|
node.source = this.parseExprAtom();
|
|
1757
|
+
if (this.options.ecmaVersion >= 16)
|
|
1758
|
+
{ node.attributes = this.parseWithClause(); }
|
|
1675
1759
|
this.semicolon();
|
|
1676
1760
|
return this.finishNode(node, "ExportAllDeclaration")
|
|
1677
1761
|
};
|
|
1678
1762
|
|
|
1679
|
-
pp$8.parseExport = function(node, exports) {
|
|
1763
|
+
pp$8.parseExport = function(node, exports$1) {
|
|
1680
1764
|
this.next();
|
|
1681
1765
|
// export * from '...'
|
|
1682
1766
|
if (this.eat(types$1.star)) {
|
|
1683
|
-
return this.parseExportAllDeclaration(node, exports)
|
|
1767
|
+
return this.parseExportAllDeclaration(node, exports$1)
|
|
1684
1768
|
}
|
|
1685
1769
|
if (this.eat(types$1._default)) { // export default ...
|
|
1686
|
-
this.checkExport(exports, "default", this.lastTokStart);
|
|
1770
|
+
this.checkExport(exports$1, "default", this.lastTokStart);
|
|
1687
1771
|
node.declaration = this.parseExportDefaultDeclaration();
|
|
1688
1772
|
return this.finishNode(node, "ExportDefaultDeclaration")
|
|
1689
1773
|
}
|
|
@@ -1691,17 +1775,21 @@ pp$8.parseExport = function(node, exports) {
|
|
|
1691
1775
|
if (this.shouldParseExportStatement()) {
|
|
1692
1776
|
node.declaration = this.parseExportDeclaration(node);
|
|
1693
1777
|
if (node.declaration.type === "VariableDeclaration")
|
|
1694
|
-
{ this.checkVariableExport(exports, node.declaration.declarations); }
|
|
1778
|
+
{ this.checkVariableExport(exports$1, node.declaration.declarations); }
|
|
1695
1779
|
else
|
|
1696
|
-
{ this.checkExport(exports, node.declaration.id, node.declaration.id.start); }
|
|
1780
|
+
{ this.checkExport(exports$1, node.declaration.id, node.declaration.id.start); }
|
|
1697
1781
|
node.specifiers = [];
|
|
1698
1782
|
node.source = null;
|
|
1783
|
+
if (this.options.ecmaVersion >= 16)
|
|
1784
|
+
{ node.attributes = []; }
|
|
1699
1785
|
} else { // export { x, y as z } [from '...']
|
|
1700
1786
|
node.declaration = null;
|
|
1701
|
-
node.specifiers = this.parseExportSpecifiers(exports);
|
|
1787
|
+
node.specifiers = this.parseExportSpecifiers(exports$1);
|
|
1702
1788
|
if (this.eatContextual("from")) {
|
|
1703
1789
|
if (this.type !== types$1.string) { this.unexpected(); }
|
|
1704
1790
|
node.source = this.parseExprAtom();
|
|
1791
|
+
if (this.options.ecmaVersion >= 16)
|
|
1792
|
+
{ node.attributes = this.parseWithClause(); }
|
|
1705
1793
|
} else {
|
|
1706
1794
|
for (var i = 0, list = node.specifiers; i < list.length; i += 1) {
|
|
1707
1795
|
// check for keywords used as local names
|
|
@@ -1717,6 +1805,8 @@ pp$8.parseExport = function(node, exports) {
|
|
|
1717
1805
|
}
|
|
1718
1806
|
|
|
1719
1807
|
node.source = null;
|
|
1808
|
+
if (this.options.ecmaVersion >= 16)
|
|
1809
|
+
{ node.attributes = []; }
|
|
1720
1810
|
}
|
|
1721
1811
|
this.semicolon();
|
|
1722
1812
|
}
|
|
@@ -1744,47 +1834,47 @@ pp$8.parseExportDefaultDeclaration = function() {
|
|
|
1744
1834
|
}
|
|
1745
1835
|
};
|
|
1746
1836
|
|
|
1747
|
-
pp$8.checkExport = function(exports, name, pos) {
|
|
1748
|
-
if (!exports) { return }
|
|
1837
|
+
pp$8.checkExport = function(exports$1, name, pos) {
|
|
1838
|
+
if (!exports$1) { return }
|
|
1749
1839
|
if (typeof name !== "string")
|
|
1750
1840
|
{ name = name.type === "Identifier" ? name.name : name.value; }
|
|
1751
|
-
if (hasOwn(exports, name))
|
|
1841
|
+
if (hasOwn(exports$1, name))
|
|
1752
1842
|
{ this.raiseRecoverable(pos, "Duplicate export '" + name + "'"); }
|
|
1753
|
-
exports[name] = true;
|
|
1843
|
+
exports$1[name] = true;
|
|
1754
1844
|
};
|
|
1755
1845
|
|
|
1756
|
-
pp$8.checkPatternExport = function(exports, pat) {
|
|
1846
|
+
pp$8.checkPatternExport = function(exports$1, pat) {
|
|
1757
1847
|
var type = pat.type;
|
|
1758
1848
|
if (type === "Identifier")
|
|
1759
|
-
{ this.checkExport(exports, pat, pat.start); }
|
|
1849
|
+
{ this.checkExport(exports$1, pat, pat.start); }
|
|
1760
1850
|
else if (type === "ObjectPattern")
|
|
1761
1851
|
{ for (var i = 0, list = pat.properties; i < list.length; i += 1)
|
|
1762
1852
|
{
|
|
1763
1853
|
var prop = list[i];
|
|
1764
1854
|
|
|
1765
|
-
this.checkPatternExport(exports, prop);
|
|
1855
|
+
this.checkPatternExport(exports$1, prop);
|
|
1766
1856
|
} }
|
|
1767
1857
|
else if (type === "ArrayPattern")
|
|
1768
1858
|
{ for (var i$1 = 0, list$1 = pat.elements; i$1 < list$1.length; i$1 += 1) {
|
|
1769
1859
|
var elt = list$1[i$1];
|
|
1770
1860
|
|
|
1771
|
-
if (elt) { this.checkPatternExport(exports, elt); }
|
|
1861
|
+
if (elt) { this.checkPatternExport(exports$1, elt); }
|
|
1772
1862
|
} }
|
|
1773
1863
|
else if (type === "Property")
|
|
1774
|
-
{ this.checkPatternExport(exports, pat.value); }
|
|
1864
|
+
{ this.checkPatternExport(exports$1, pat.value); }
|
|
1775
1865
|
else if (type === "AssignmentPattern")
|
|
1776
|
-
{ this.checkPatternExport(exports, pat.left); }
|
|
1866
|
+
{ this.checkPatternExport(exports$1, pat.left); }
|
|
1777
1867
|
else if (type === "RestElement")
|
|
1778
|
-
{ this.checkPatternExport(exports, pat.argument); }
|
|
1868
|
+
{ this.checkPatternExport(exports$1, pat.argument); }
|
|
1779
1869
|
};
|
|
1780
1870
|
|
|
1781
|
-
pp$8.checkVariableExport = function(exports, decls) {
|
|
1782
|
-
if (!exports) { return }
|
|
1871
|
+
pp$8.checkVariableExport = function(exports$1, decls) {
|
|
1872
|
+
if (!exports$1) { return }
|
|
1783
1873
|
for (var i = 0, list = decls; i < list.length; i += 1)
|
|
1784
1874
|
{
|
|
1785
1875
|
var decl = list[i];
|
|
1786
1876
|
|
|
1787
|
-
this.checkPatternExport(exports, decl.id);
|
|
1877
|
+
this.checkPatternExport(exports$1, decl.id);
|
|
1788
1878
|
}
|
|
1789
1879
|
};
|
|
1790
1880
|
|
|
@@ -1799,13 +1889,13 @@ pp$8.shouldParseExportStatement = function() {
|
|
|
1799
1889
|
|
|
1800
1890
|
// Parses a comma-separated list of module exports.
|
|
1801
1891
|
|
|
1802
|
-
pp$8.parseExportSpecifier = function(exports) {
|
|
1892
|
+
pp$8.parseExportSpecifier = function(exports$1) {
|
|
1803
1893
|
var node = this.startNode();
|
|
1804
1894
|
node.local = this.parseModuleExportName();
|
|
1805
1895
|
|
|
1806
1896
|
node.exported = this.eatContextual("as") ? this.parseModuleExportName() : node.local;
|
|
1807
1897
|
this.checkExport(
|
|
1808
|
-
exports,
|
|
1898
|
+
exports$1,
|
|
1809
1899
|
node.exported,
|
|
1810
1900
|
node.exported.start
|
|
1811
1901
|
);
|
|
@@ -1813,7 +1903,7 @@ pp$8.parseExportSpecifier = function(exports) {
|
|
|
1813
1903
|
return this.finishNode(node, "ExportSpecifier")
|
|
1814
1904
|
};
|
|
1815
1905
|
|
|
1816
|
-
pp$8.parseExportSpecifiers = function(exports) {
|
|
1906
|
+
pp$8.parseExportSpecifiers = function(exports$1) {
|
|
1817
1907
|
var nodes = [], first = true;
|
|
1818
1908
|
// export { x, y as z } [from '...']
|
|
1819
1909
|
this.expect(types$1.braceL);
|
|
@@ -1823,7 +1913,7 @@ pp$8.parseExportSpecifiers = function(exports) {
|
|
|
1823
1913
|
if (this.afterTrailingComma(types$1.braceR)) { break }
|
|
1824
1914
|
} else { first = false; }
|
|
1825
1915
|
|
|
1826
|
-
nodes.push(this.parseExportSpecifier(exports));
|
|
1916
|
+
nodes.push(this.parseExportSpecifier(exports$1));
|
|
1827
1917
|
}
|
|
1828
1918
|
return nodes
|
|
1829
1919
|
};
|
|
@@ -1842,6 +1932,8 @@ pp$8.parseImport = function(node) {
|
|
|
1842
1932
|
this.expectContextual("from");
|
|
1843
1933
|
node.source = this.type === types$1.string ? this.parseExprAtom() : this.unexpected();
|
|
1844
1934
|
}
|
|
1935
|
+
if (this.options.ecmaVersion >= 16)
|
|
1936
|
+
{ node.attributes = this.parseWithClause(); }
|
|
1845
1937
|
this.semicolon();
|
|
1846
1938
|
return this.finishNode(node, "ImportDeclaration")
|
|
1847
1939
|
};
|
|
@@ -1902,6 +1994,41 @@ pp$8.parseImportSpecifiers = function() {
|
|
|
1902
1994
|
return nodes
|
|
1903
1995
|
};
|
|
1904
1996
|
|
|
1997
|
+
pp$8.parseWithClause = function() {
|
|
1998
|
+
var nodes = [];
|
|
1999
|
+
if (!this.eat(types$1._with)) {
|
|
2000
|
+
return nodes
|
|
2001
|
+
}
|
|
2002
|
+
this.expect(types$1.braceL);
|
|
2003
|
+
var attributeKeys = {};
|
|
2004
|
+
var first = true;
|
|
2005
|
+
while (!this.eat(types$1.braceR)) {
|
|
2006
|
+
if (!first) {
|
|
2007
|
+
this.expect(types$1.comma);
|
|
2008
|
+
if (this.afterTrailingComma(types$1.braceR)) { break }
|
|
2009
|
+
} else { first = false; }
|
|
2010
|
+
|
|
2011
|
+
var attr = this.parseImportAttribute();
|
|
2012
|
+
var keyName = attr.key.type === "Identifier" ? attr.key.name : attr.key.value;
|
|
2013
|
+
if (hasOwn(attributeKeys, keyName))
|
|
2014
|
+
{ this.raiseRecoverable(attr.key.start, "Duplicate attribute key '" + keyName + "'"); }
|
|
2015
|
+
attributeKeys[keyName] = true;
|
|
2016
|
+
nodes.push(attr);
|
|
2017
|
+
}
|
|
2018
|
+
return nodes
|
|
2019
|
+
};
|
|
2020
|
+
|
|
2021
|
+
pp$8.parseImportAttribute = function() {
|
|
2022
|
+
var node = this.startNode();
|
|
2023
|
+
node.key = this.type === types$1.string ? this.parseExprAtom() : this.parseIdent(this.options.allowReserved !== "never");
|
|
2024
|
+
this.expect(types$1.colon);
|
|
2025
|
+
if (this.type !== types$1.string) {
|
|
2026
|
+
this.unexpected();
|
|
2027
|
+
}
|
|
2028
|
+
node.value = this.parseExprAtom();
|
|
2029
|
+
return this.finishNode(node, "ImportAttribute")
|
|
2030
|
+
};
|
|
2031
|
+
|
|
1905
2032
|
pp$8.parseModuleExportName = function() {
|
|
1906
2033
|
if (this.options.ecmaVersion >= 13 && this.type === types$1.string) {
|
|
1907
2034
|
var stringLiteral = this.parseLiteral(this.value);
|
|
@@ -2969,13 +3096,32 @@ pp$5.parseDynamicImport = function(node) {
|
|
|
2969
3096
|
// Parse node.source.
|
|
2970
3097
|
node.source = this.parseMaybeAssign();
|
|
2971
3098
|
|
|
2972
|
-
|
|
2973
|
-
|
|
2974
|
-
|
|
2975
|
-
|
|
2976
|
-
|
|
3099
|
+
if (this.options.ecmaVersion >= 16) {
|
|
3100
|
+
if (!this.eat(types$1.parenR)) {
|
|
3101
|
+
this.expect(types$1.comma);
|
|
3102
|
+
if (!this.afterTrailingComma(types$1.parenR)) {
|
|
3103
|
+
node.options = this.parseMaybeAssign();
|
|
3104
|
+
if (!this.eat(types$1.parenR)) {
|
|
3105
|
+
this.expect(types$1.comma);
|
|
3106
|
+
if (!this.afterTrailingComma(types$1.parenR)) {
|
|
3107
|
+
this.unexpected();
|
|
3108
|
+
}
|
|
3109
|
+
}
|
|
3110
|
+
} else {
|
|
3111
|
+
node.options = null;
|
|
3112
|
+
}
|
|
2977
3113
|
} else {
|
|
2978
|
-
|
|
3114
|
+
node.options = null;
|
|
3115
|
+
}
|
|
3116
|
+
} else {
|
|
3117
|
+
// Verify ending.
|
|
3118
|
+
if (!this.eat(types$1.parenR)) {
|
|
3119
|
+
var errorPos = this.start;
|
|
3120
|
+
if (this.eat(types$1.comma) && this.eat(types$1.parenR)) {
|
|
3121
|
+
this.raiseRecoverable(errorPos, "Trailing comma is not allowed in import()");
|
|
3122
|
+
} else {
|
|
3123
|
+
this.unexpected(errorPos);
|
|
3124
|
+
}
|
|
2979
3125
|
}
|
|
2980
3126
|
}
|
|
2981
3127
|
|
|
@@ -3002,7 +3148,8 @@ pp$5.parseLiteral = function(value) {
|
|
|
3002
3148
|
var node = this.startNode();
|
|
3003
3149
|
node.value = value;
|
|
3004
3150
|
node.raw = this.input.slice(this.start, this.end);
|
|
3005
|
-
if (node.raw.charCodeAt(node.raw.length - 1) === 110)
|
|
3151
|
+
if (node.raw.charCodeAt(node.raw.length - 1) === 110)
|
|
3152
|
+
{ node.bigint = node.value != null ? node.value.toString() : node.raw.slice(0, -1).replace(/_/g, ""); }
|
|
3006
3153
|
this.next();
|
|
3007
3154
|
return this.finishNode(node, "Literal")
|
|
3008
3155
|
};
|
|
@@ -3240,9 +3387,10 @@ pp$5.parseProperty = function(isPattern, refDestructuringErrors) {
|
|
|
3240
3387
|
};
|
|
3241
3388
|
|
|
3242
3389
|
pp$5.parseGetterSetter = function(prop) {
|
|
3243
|
-
|
|
3390
|
+
var kind = prop.key.name;
|
|
3244
3391
|
this.parsePropertyName(prop);
|
|
3245
3392
|
prop.value = this.parseMethod(false);
|
|
3393
|
+
prop.kind = kind;
|
|
3246
3394
|
var paramCount = prop.kind === "get" ? 0 : 1;
|
|
3247
3395
|
if (prop.value.params.length !== paramCount) {
|
|
3248
3396
|
var start = prop.value.start;
|
|
@@ -3265,9 +3413,9 @@ pp$5.parsePropertyValue = function(prop, isPattern, isGenerator, isAsync, startP
|
|
|
3265
3413
|
prop.kind = "init";
|
|
3266
3414
|
} else if (this.options.ecmaVersion >= 6 && this.type === types$1.parenL) {
|
|
3267
3415
|
if (isPattern) { this.unexpected(); }
|
|
3268
|
-
prop.kind = "init";
|
|
3269
3416
|
prop.method = true;
|
|
3270
3417
|
prop.value = this.parseMethod(isGenerator, isAsync);
|
|
3418
|
+
prop.kind = "init";
|
|
3271
3419
|
} else if (!isPattern && !containsEsc &&
|
|
3272
3420
|
this.options.ecmaVersion >= 5 && !prop.computed && prop.key.type === "Identifier" &&
|
|
3273
3421
|
(prop.key.name === "get" || prop.key.name === "set") &&
|
|
@@ -3279,7 +3427,6 @@ pp$5.parsePropertyValue = function(prop, isPattern, isGenerator, isAsync, startP
|
|
|
3279
3427
|
this.checkUnreserved(prop.key);
|
|
3280
3428
|
if (prop.key.name === "await" && !this.awaitIdentPos)
|
|
3281
3429
|
{ this.awaitIdentPos = startPos; }
|
|
3282
|
-
prop.kind = "init";
|
|
3283
3430
|
if (isPattern) {
|
|
3284
3431
|
prop.value = this.parseMaybeDefault(startPos, startLoc, this.copyNode(prop.key));
|
|
3285
3432
|
} else if (this.type === types$1.eq && refDestructuringErrors) {
|
|
@@ -3289,6 +3436,7 @@ pp$5.parsePropertyValue = function(prop, isPattern, isGenerator, isAsync, startP
|
|
|
3289
3436
|
} else {
|
|
3290
3437
|
prop.value = this.copyNode(prop.key);
|
|
3291
3438
|
}
|
|
3439
|
+
prop.kind = "init";
|
|
3292
3440
|
prop.shorthand = true;
|
|
3293
3441
|
} else { this.unexpected(); }
|
|
3294
3442
|
};
|
|
@@ -3464,7 +3612,7 @@ pp$5.checkUnreserved = function(ref) {
|
|
|
3464
3612
|
{ this.raiseRecoverable(start, "Cannot use 'yield' as identifier inside a generator"); }
|
|
3465
3613
|
if (this.inAsync && name === "await")
|
|
3466
3614
|
{ this.raiseRecoverable(start, "Cannot use 'await' as identifier inside an async function"); }
|
|
3467
|
-
if (this.currentThisScope().
|
|
3615
|
+
if (!(this.currentThisScope().flags & SCOPE_VAR) && name === "arguments")
|
|
3468
3616
|
{ this.raiseRecoverable(start, "Cannot use 'arguments' in class field initializer"); }
|
|
3469
3617
|
if (this.inClassStaticBlock && (name === "arguments" || name === "await"))
|
|
3470
3618
|
{ this.raise(start, ("Cannot use " + name + " in class static initialization block")); }
|
|
@@ -3577,6 +3725,9 @@ var pp$4 = Parser.prototype;
|
|
|
3577
3725
|
pp$4.raise = function(pos, message) {
|
|
3578
3726
|
var loc = getLineInfo(this.input, pos);
|
|
3579
3727
|
message += " (" + loc.line + ":" + loc.column + ")";
|
|
3728
|
+
if (this.sourceFile) {
|
|
3729
|
+
message += " in " + this.sourceFile;
|
|
3730
|
+
}
|
|
3580
3731
|
var err = new SyntaxError(message);
|
|
3581
3732
|
err.pos = pos; err.loc = loc; err.raisedAt = this.pos;
|
|
3582
3733
|
throw err
|
|
@@ -3600,8 +3751,6 @@ var Scope = function Scope(flags) {
|
|
|
3600
3751
|
this.lexical = [];
|
|
3601
3752
|
// A list of lexically-declared FunctionDeclaration names in the current lexical scope
|
|
3602
3753
|
this.functions = [];
|
|
3603
|
-
// A switch to disallow the identifier reference 'arguments'
|
|
3604
|
-
this.inClassFieldInit = false;
|
|
3605
3754
|
};
|
|
3606
3755
|
|
|
3607
3756
|
// The functions in this module keep track of declared variables in the current scope in order to detect duplicate variable names.
|
|
@@ -3671,7 +3820,7 @@ pp$3.currentScope = function() {
|
|
|
3671
3820
|
pp$3.currentVarScope = function() {
|
|
3672
3821
|
for (var i = this.scopeStack.length - 1;; i--) {
|
|
3673
3822
|
var scope = this.scopeStack[i];
|
|
3674
|
-
if (scope.flags & SCOPE_VAR) { return scope }
|
|
3823
|
+
if (scope.flags & (SCOPE_VAR | SCOPE_CLASS_FIELD_INIT | SCOPE_CLASS_STATIC_BLOCK)) { return scope }
|
|
3675
3824
|
}
|
|
3676
3825
|
};
|
|
3677
3826
|
|
|
@@ -3679,7 +3828,8 @@ pp$3.currentVarScope = function() {
|
|
|
3679
3828
|
pp$3.currentThisScope = function() {
|
|
3680
3829
|
for (var i = this.scopeStack.length - 1;; i--) {
|
|
3681
3830
|
var scope = this.scopeStack[i];
|
|
3682
|
-
if (scope.flags & SCOPE_VAR
|
|
3831
|
+
if (scope.flags & (SCOPE_VAR | SCOPE_CLASS_FIELD_INIT | SCOPE_CLASS_STATIC_BLOCK) &&
|
|
3832
|
+
!(scope.flags & SCOPE_ARROW)) { return scope }
|
|
3683
3833
|
}
|
|
3684
3834
|
};
|
|
3685
3835
|
|
|
@@ -3735,6 +3885,9 @@ pp$2.copyNode = function(node) {
|
|
|
3735
3885
|
return newNode
|
|
3736
3886
|
};
|
|
3737
3887
|
|
|
3888
|
+
// This file was generated by "bin/generate-unicode-script-values.js". Do not modify manually!
|
|
3889
|
+
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";
|
|
3890
|
+
|
|
3738
3891
|
// This file contains Unicode properties extracted from the ECMAScript specification.
|
|
3739
3892
|
// The lists are extracted like so:
|
|
3740
3893
|
// $$('#table-binary-unicode-properties > figure > table > tbody > tr > td:nth-child(1) code').map(el => el.innerText)
|
|
@@ -3777,7 +3930,7 @@ var ecma10ScriptValues = ecma9ScriptValues + " Dogra Dogr Gunjala_Gondi Gong Han
|
|
|
3777
3930
|
var ecma11ScriptValues = ecma10ScriptValues + " Elymaic Elym Nandinagari Nand Nyiakeng_Puachue_Hmong Hmnp Wancho Wcho";
|
|
3778
3931
|
var ecma12ScriptValues = ecma11ScriptValues + " Chorasmian Chrs Diak Dives_Akuru Khitan_Small_Script Kits Yezi Yezidi";
|
|
3779
3932
|
var ecma13ScriptValues = ecma12ScriptValues + " Cypro_Minoan Cpmn Old_Uyghur Ougr Tangsa Tnsa Toto Vithkuqi Vith";
|
|
3780
|
-
var ecma14ScriptValues = ecma13ScriptValues + "
|
|
3933
|
+
var ecma14ScriptValues = ecma13ScriptValues + " " + scriptValuesAddedInUnicode;
|
|
3781
3934
|
|
|
3782
3935
|
var unicodeScriptValues = {
|
|
3783
3936
|
9: ecma9ScriptValues,
|
|
@@ -4202,12 +4355,41 @@ pp$1.regexp_eatReverseSolidusAtomEscape = function(state) {
|
|
|
4202
4355
|
pp$1.regexp_eatUncapturingGroup = function(state) {
|
|
4203
4356
|
var start = state.pos;
|
|
4204
4357
|
if (state.eat(0x28 /* ( */)) {
|
|
4205
|
-
if (state.eat(0x3F /* ? */)
|
|
4206
|
-
this.
|
|
4207
|
-
|
|
4208
|
-
|
|
4358
|
+
if (state.eat(0x3F /* ? */)) {
|
|
4359
|
+
if (this.options.ecmaVersion >= 16) {
|
|
4360
|
+
var addModifiers = this.regexp_eatModifiers(state);
|
|
4361
|
+
var hasHyphen = state.eat(0x2D /* - */);
|
|
4362
|
+
if (addModifiers || hasHyphen) {
|
|
4363
|
+
for (var i = 0; i < addModifiers.length; i++) {
|
|
4364
|
+
var modifier = addModifiers.charAt(i);
|
|
4365
|
+
if (addModifiers.indexOf(modifier, i + 1) > -1) {
|
|
4366
|
+
state.raise("Duplicate regular expression modifiers");
|
|
4367
|
+
}
|
|
4368
|
+
}
|
|
4369
|
+
if (hasHyphen) {
|
|
4370
|
+
var removeModifiers = this.regexp_eatModifiers(state);
|
|
4371
|
+
if (!addModifiers && !removeModifiers && state.current() === 0x3A /* : */) {
|
|
4372
|
+
state.raise("Invalid regular expression modifiers");
|
|
4373
|
+
}
|
|
4374
|
+
for (var i$1 = 0; i$1 < removeModifiers.length; i$1++) {
|
|
4375
|
+
var modifier$1 = removeModifiers.charAt(i$1);
|
|
4376
|
+
if (
|
|
4377
|
+
removeModifiers.indexOf(modifier$1, i$1 + 1) > -1 ||
|
|
4378
|
+
addModifiers.indexOf(modifier$1) > -1
|
|
4379
|
+
) {
|
|
4380
|
+
state.raise("Duplicate regular expression modifiers");
|
|
4381
|
+
}
|
|
4382
|
+
}
|
|
4383
|
+
}
|
|
4384
|
+
}
|
|
4385
|
+
}
|
|
4386
|
+
if (state.eat(0x3A /* : */)) {
|
|
4387
|
+
this.regexp_disjunction(state);
|
|
4388
|
+
if (state.eat(0x29 /* ) */)) {
|
|
4389
|
+
return true
|
|
4390
|
+
}
|
|
4391
|
+
state.raise("Unterminated group");
|
|
4209
4392
|
}
|
|
4210
|
-
state.raise("Unterminated group");
|
|
4211
4393
|
}
|
|
4212
4394
|
state.pos = start;
|
|
4213
4395
|
}
|
|
@@ -4229,6 +4411,23 @@ pp$1.regexp_eatCapturingGroup = function(state) {
|
|
|
4229
4411
|
}
|
|
4230
4412
|
return false
|
|
4231
4413
|
};
|
|
4414
|
+
// RegularExpressionModifiers ::
|
|
4415
|
+
// [empty]
|
|
4416
|
+
// RegularExpressionModifiers RegularExpressionModifier
|
|
4417
|
+
pp$1.regexp_eatModifiers = function(state) {
|
|
4418
|
+
var modifiers = "";
|
|
4419
|
+
var ch = 0;
|
|
4420
|
+
while ((ch = state.current()) !== -1 && isRegularExpressionModifier(ch)) {
|
|
4421
|
+
modifiers += codePointToString(ch);
|
|
4422
|
+
state.advance();
|
|
4423
|
+
}
|
|
4424
|
+
return modifiers
|
|
4425
|
+
};
|
|
4426
|
+
// RegularExpressionModifier :: one of
|
|
4427
|
+
// `i` `m` `s`
|
|
4428
|
+
function isRegularExpressionModifier(ch) {
|
|
4429
|
+
return ch === 0x69 /* i */ || ch === 0x6d /* m */ || ch === 0x73 /* s */
|
|
4430
|
+
}
|
|
4232
4431
|
|
|
4233
4432
|
// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-ExtendedAtom
|
|
4234
4433
|
pp$1.regexp_eatExtendedAtom = function(state) {
|
|
@@ -5980,11 +6179,9 @@ pp.readWord = function() {
|
|
|
5980
6179
|
// Please use the [github bug tracker][ghbt] to report issues.
|
|
5981
6180
|
//
|
|
5982
6181
|
// [ghbt]: https://github.com/acornjs/acorn/issues
|
|
5983
|
-
//
|
|
5984
|
-
// [walk]: util/walk.js
|
|
5985
6182
|
|
|
5986
6183
|
|
|
5987
|
-
var version = "8.
|
|
6184
|
+
var version = "8.15.0";
|
|
5988
6185
|
|
|
5989
6186
|
Parser.acorn = {
|
|
5990
6187
|
Parser: Parser,
|
|
@@ -7666,23 +7863,23 @@ class Writer {
|
|
|
7666
7863
|
this._functionUid = 0;
|
|
7667
7864
|
}
|
|
7668
7865
|
toString() {
|
|
7669
|
-
return `\
|
|
7670
|
-
${this._imports.join("\n")}
|
|
7671
|
-
|
|
7672
|
-
${this._functions.join("\n").split("\n) {").join("){")}
|
|
7673
|
-
|
|
7674
|
-
export default function define(runtime, observer) {
|
|
7675
|
-
const main = runtime.module();
|
|
7676
|
-
|
|
7677
|
-
function toString() { return this.url; }
|
|
7678
|
-
const fileAttachments = new Map([
|
|
7679
|
-
${this._files.map(f => `["${f.name}", { url: new URL("${f.url}"), mimeType: ${JSON.stringify(f.mime_type)}, toString }]`).join(",\n ")}
|
|
7680
|
-
]);
|
|
7681
|
-
main.builtin("FileAttachment", runtime.fileAttachments(name => fileAttachments.get(name)));
|
|
7682
|
-
|
|
7683
|
-
${this._defines.join("\n ")}
|
|
7684
|
-
|
|
7685
|
-
return main;
|
|
7866
|
+
return `\
|
|
7867
|
+
${this._imports.join("\n")}
|
|
7868
|
+
|
|
7869
|
+
${this._functions.join("\n").split("\n) {").join("){")}
|
|
7870
|
+
|
|
7871
|
+
export default function define(runtime, observer) {
|
|
7872
|
+
const main = runtime.module();
|
|
7873
|
+
|
|
7874
|
+
function toString() { return this.url; }
|
|
7875
|
+
const fileAttachments = new Map([
|
|
7876
|
+
${this._files.map(f => `["${f.name}", { url: new URL("${f.url}"), mimeType: ${JSON.stringify(f.mime_type)}, toString }]`).join(",\n ")}
|
|
7877
|
+
]);
|
|
7878
|
+
main.builtin("FileAttachment", runtime.fileAttachments(name => fileAttachments.get(name)));
|
|
7879
|
+
|
|
7880
|
+
${this._defines.join("\n ")}
|
|
7881
|
+
|
|
7882
|
+
return main;
|
|
7686
7883
|
}\n`;
|
|
7687
7884
|
}
|
|
7688
7885
|
files(files) {
|
|
@@ -7839,8 +8036,8 @@ function createVariable(node, inspect, name, inputs, definition, inline = false)
|
|
|
7839
8036
|
v = module.variable(inspector(name, node.id));
|
|
7840
8037
|
try {
|
|
7841
8038
|
v.define(undefined, ["md"], md => {
|
|
7842
|
-
return md `\`\`\`js
|
|
7843
|
-
${node.value}
|
|
8039
|
+
return md `\`\`\`js
|
|
8040
|
+
${node.value}
|
|
7844
8041
|
\`\`\``;
|
|
7845
8042
|
});
|
|
7846
8043
|
}
|
|
@@ -7941,7 +8138,7 @@ function createFile(file, options) {
|
|
|
7941
8138
|
return [file.name, { url: new URL(fixRelativeUrl(file.url, options.baseUrl)), mimeType: file.mime_type, toString }];
|
|
7942
8139
|
}
|
|
7943
8140
|
function notebook(_files = [], _cells = [], { baseUrl = ".", importMode = "precompiled" } = {}) {
|
|
7944
|
-
const files = _files.map(f => createFile(f, { baseUrl
|
|
8141
|
+
const files = _files.map(f => createFile(f, { baseUrl}));
|
|
7945
8142
|
const fileAttachments = new Map(files);
|
|
7946
8143
|
const cells = new Map(_cells.map(c => [c.id, c]));
|
|
7947
8144
|
const retVal = (runtime, inspector) => {
|