1use super::JsString;
4use crate::{JsStr, StaticString};
5use pastey::paste;
6use rustc_hash::FxHashMap;
7use std::sync::LazyLock;
8
9macro_rules! well_known_statics {
10 ( $( $(#[$attr:meta])* ($name:ident, $string:literal) ),+$(,)? ) => {
11 $(
12 paste!{
13 #[doc = "Gets the static `JsString` for `\"" $string "\"`."]
14 pub const $name: JsString = const {
15 JsString::from_static(Self::find_static_js_string($string))
16 };
17 }
18 )+
19 };
20}
21
22#[derive(Debug, Clone, Copy)]
26pub struct StaticJsStrings;
27
28impl StaticJsStrings {
29 const fn find_static_js_string(candidate: &str) -> &'static StaticString {
31 const fn const_eq(lhs: &[u8], rhs: &[u8]) -> bool {
32 if lhs.len() != rhs.len() {
33 return false;
34 }
35
36 let mut i = 0;
37 while i < lhs.len() {
38 if lhs[i] != rhs[i] {
39 return false;
40 }
41 i += 1;
42 }
43 true
44 }
45
46 let len = RAW_STATICS.len();
47 let mut i = 0;
48 while i < len {
49 let Some(s) = RAW_STATICS[i].str.as_latin1() else {
50 unreachable!()
52 };
53 if const_eq(s, candidate.as_bytes()) {
54 return &RAW_STATICS[i];
55 }
56 i += 1;
57 }
58
59 panic!("couldn't find the required string on the common string array");
60 }
61
62 #[inline]
65 #[must_use]
66 pub fn get_string(string: &JsStr<'_>) -> Option<JsString> {
67 if string.len() > MAX_STATIC_LENGTH {
68 return None;
69 }
70
71 let static_str = *RAW_STATICS_CACHE.get(string)?;
72 Some(JsString::from_static(static_str))
73 }
74
75 #[inline]
78 #[must_use]
79 pub fn get_js_str(string: &JsStr<'_>) -> Option<JsStr<'static>> {
80 if string.len() > MAX_STATIC_LENGTH {
81 return None;
82 }
83
84 Some(RAW_STATICS_CACHE.get(string)?.str)
85 }
86
87 well_known_statics! {
89 (EMPTY_STRING, ""),
90 (LENGTH, "length"),
91 (SYMBOL_ASYNC_ITERATOR, "Symbol.asyncIterator"),
93 (SYMBOL_HAS_INSTANCE, "Symbol.hasInstance"),
94 (SYMBOL_IS_CONCAT_SPREADABLE, "Symbol.isConcatSpreadable"),
95 (SYMBOL_ITERATOR, "Symbol.iterator"),
96 (SYMBOL_MATCH, "Symbol.match"),
97 (SYMBOL_MATCH_ALL, "Symbol.matchAll"),
98 (SYMBOL_REPLACE, "Symbol.replace"),
99 (SYMBOL_SEARCH, "Symbol.search"),
100 (SYMBOL_SPECIES, "Symbol.species"),
101 (SYMBOL_SPLIT, "Symbol.split"),
102 (SYMBOL_TO_PRIMITIVE, "Symbol.toPrimitive"),
103 (SYMBOL_TO_STRING_TAG, "Symbol.toStringTag"),
104 (SYMBOL_UNSCOPABLES, "Symbol.unscopables"),
105 (SYMBOL_DISPOSE, "Symbol.dispose"),
106 (SYMBOL_ASYNC_DISPOSE, "Symbol.asyncDispose"),
107 (FN_SYMBOL_ASYNC_ITERATOR, "[Symbol.asyncIterator]"),
108 (FN_SYMBOL_HAS_INSTANCE, "[Symbol.hasInstance]"),
109 (FN_SYMBOL_IS_CONCAT_SPREADABLE, "[Symbol.isConcatSpreadable]"),
110 (FN_SYMBOL_ITERATOR, "[Symbol.iterator]"),
111 (FN_SYMBOL_MATCH, "[Symbol.match]"),
112 (FN_SYMBOL_MATCH_ALL, "[Symbol.matchAll]"),
113 (FN_SYMBOL_REPLACE, "[Symbol.replace]"),
114 (FN_SYMBOL_SEARCH, "[Symbol.search]"),
115 (FN_SYMBOL_SPECIES, "[Symbol.species]"),
116 (FN_SYMBOL_SPLIT, "[Symbol.split]"),
117 (FN_SYMBOL_TO_PRIMITIVE, "[Symbol.toPrimitive]"),
118 (FN_SYMBOL_TO_STRING_TAG, "[Symbol.toStringTag]"),
119 (FN_SYMBOL_UNSCOPABLES, "[Symbol.unscopables]"),
120 (FN_SYMBOL_DISPOSE, "[Symbol.dispose]"),
121 (FN_SYMBOL_ASYNC_DISPOSE, "[Symbol.asyncDispose]"),
122 (ARRAY, "Array"),
124 (ARRAY_BUFFER, "ArrayBuffer"),
125 (ITERATOR, "Iterator"),
126 (SHARED_ARRAY_BUFFER, "SharedArrayBuffer"),
127 (ASYNC_FUNCTION, "AsyncFunction"),
128 (ASYNC_GENERATOR, "AsyncGenerator"),
129 (ASYNC_GENERATOR_FUNCTION, "AsyncGeneratorFunction"),
130 (ATOMICS, "Atomics"),
131 (BIG_INT, "BigInt"),
132 (BOOLEAN, "Boolean"),
133 (DATA_VIEW, "DataView"),
134 (DATE, "Date"),
135 (ERROR, "Error"),
136 (AGGREGATE_ERROR, "AggregateError"),
137 (EVAL_ERROR, "EvalError"),
138 (RANGE_ERROR, "RangeError"),
139 (REFERENCE_ERROR, "ReferenceError"),
140 (SYNTAX_ERROR, "SyntaxError"),
141 (TYPE_ERROR, "TypeError"),
142 (URI_ERROR, "URIError"),
143 (ESCAPE, "escape"),
144 (UNESCAPE, "unescape"),
145 (EVAL, "eval"),
146 (FUNCTION, "Function"),
147 (GENERATOR, "Generator"),
148 (GENERATOR_FUNCTION, "GeneratorFunction"),
149 (INTL, "Intl"),
150 (COLLATOR, "Collator"),
151 (LIST_FORMAT, "ListFormat"),
152 (LOCALE, "Locale"),
153 (PLURAL_RULES, "PluralRules"),
154 (SEGMENTER, "Segmenter"),
155 (DATE_TIME_FORMAT, "DateTimeFormat"),
156 (JSON, "JSON"),
157 (MAP, "Map"),
158 (MATH, "Math"),
159 (NUMBER, "Number"),
160 (NUMBER_FORMAT, "NumberFormat"),
161 (IS_FINITE, "isFinite"),
162 (IS_NAN, "isNaN"),
163 (PARSE_INT, "parseInt"),
164 (PARSE_FLOAT, "parseFloat"),
165 (OBJECT, "Object"),
166 (PROMISE, "Promise"),
167 (PROXY, "Proxy"),
168 (REFLECT, "Reflect"),
169 (REG_EXP, "RegExp"),
170 (SET, "Set"),
171 (STRING, "String"),
172 (SYMBOL, "Symbol"),
173 (FINALIZATION_REGISTRY, "FinalizationRegistry"),
174 (TYPED_ARRAY, "TypedArray"),
175 (INT8_ARRAY, "Int8Array"),
176 (UINT8_ARRAY, "Uint8Array"),
177 (UINT8_CLAMPED_ARRAY, "Uint8ClampedArray"),
178 (INT16_ARRAY, "Int16Array"),
179 (UINT16_ARRAY, "Uint16Array"),
180 (INT32_ARRAY, "Int32Array"),
181 (UINT32_ARRAY, "Uint32Array"),
182 (BIG_INT64_ARRAY, "BigInt64Array"),
183 (BIG_UINT64_ARRAY, "BigUint64Array"),
184 #[cfg(feature = "float16")]
185 (FLOAT16_ARRAY, "Float16Array"),
186 (FLOAT32_ARRAY, "Float32Array"),
187 (FLOAT64_ARRAY, "Float64Array"),
188 (ENCODE_URI, "encodeURI"),
189 (ENCODE_URI_COMPONENT, "encodeURIComponent"),
190 (DECODE_URI, "decodeURI"),
191 (DECODE_URI_COMPONENT, "decodeURIComponent"),
192 (WEAK_REF, "WeakRef"),
193 (WEAK_MAP, "WeakMap"),
194 (WEAK_SET, "WeakSet"),
195 (TEMPORAL, "Temporal"),
196 (NOW_TAG, "Temporal.Now"),
197 (INSTANT_TAG, "Temporal.Instant"),
198 (DURATION_TAG, "Temporal.Duration"),
199 (PLAIN_DATE_TAG, "Temporal.PlainDate"),
200 (PLAIN_DATETIME_TAG, "Temporal.PlainDateTime"),
201 (PLAIN_TIME_TAG, "Temporal.PlainTime"),
202 (PLAIN_YM_TAG, "Temporal.PlainYearMonth"),
203 (PLAIN_MD_TAG, "Temporal.PlainMonthDay"),
204 (ZONED_DT_TAG, "Temporal.ZonedDateTime"),
205 (NOW_NAME, "Now"),
206 (INSTANT_NAME, "Instant"),
207 (DURATION_NAME, "Duration"),
208 (PLAIN_DATE_NAME, "PlainDate"),
209 (PLAIN_DATETIME_NAME, "PlainDateTime"),
210 (PLAIN_TIME_NAME, "PlainTime"),
211 (PLAIN_YM_NAME, "PlainYearMonth"),
212 (PLAIN_MD_NAME, "PlainMonthDay"),
213 (ZONED_DT_NAME, "ZonedDateTime"),
214 }
215}
216
217const MAX_STATIC_LENGTH: usize = {
218 let mut max = 0;
219 let mut i = 0;
220 while i < RAW_STATICS.len() {
221 let len = RAW_STATICS[i].str.len();
222 if len > max {
223 max = len;
224 }
225 i += 1;
226 }
227 max
228};
229
230static RAW_STATICS_CACHE: LazyLock<FxHashMap<JsStr<'static>, &'static StaticString>> =
232 LazyLock::new(|| RAW_STATICS.iter().map(|s| (s.str, s)).collect());
233
234const RAW_STATICS: &[StaticString] = &[
236 StaticString::new(JsStr::latin1("".as_bytes())),
237 StaticString::new(JsStr::latin1("Symbol.asyncIterator".as_bytes())),
239 StaticString::new(JsStr::latin1("[Symbol.asyncIterator]".as_bytes())),
240 StaticString::new(JsStr::latin1("Symbol.hasInstance".as_bytes())),
241 StaticString::new(JsStr::latin1("[Symbol.hasInstance]".as_bytes())),
242 StaticString::new(JsStr::latin1("Symbol.isConcatSpreadable".as_bytes())),
243 StaticString::new(JsStr::latin1("[Symbol.isConcatSpreadable]".as_bytes())),
244 StaticString::new(JsStr::latin1("Symbol.iterator".as_bytes())),
245 StaticString::new(JsStr::latin1("[Symbol.iterator]".as_bytes())),
246 StaticString::new(JsStr::latin1("Symbol.match".as_bytes())),
247 StaticString::new(JsStr::latin1("[Symbol.match]".as_bytes())),
248 StaticString::new(JsStr::latin1("Symbol.matchAll".as_bytes())),
249 StaticString::new(JsStr::latin1("[Symbol.matchAll]".as_bytes())),
250 StaticString::new(JsStr::latin1("Symbol.replace".as_bytes())),
251 StaticString::new(JsStr::latin1("[Symbol.replace]".as_bytes())),
252 StaticString::new(JsStr::latin1("Symbol.search".as_bytes())),
253 StaticString::new(JsStr::latin1("[Symbol.search]".as_bytes())),
254 StaticString::new(JsStr::latin1("Symbol.species".as_bytes())),
255 StaticString::new(JsStr::latin1("[Symbol.species]".as_bytes())),
256 StaticString::new(JsStr::latin1("Symbol.split".as_bytes())),
257 StaticString::new(JsStr::latin1("[Symbol.split]".as_bytes())),
258 StaticString::new(JsStr::latin1("Symbol.toPrimitive".as_bytes())),
259 StaticString::new(JsStr::latin1("[Symbol.toPrimitive]".as_bytes())),
260 StaticString::new(JsStr::latin1("Symbol.toStringTag".as_bytes())),
261 StaticString::new(JsStr::latin1("[Symbol.toStringTag]".as_bytes())),
262 StaticString::new(JsStr::latin1("Symbol.unscopables".as_bytes())),
263 StaticString::new(JsStr::latin1("[Symbol.unscopables]".as_bytes())),
264 StaticString::new(JsStr::latin1("Symbol.dispose".as_bytes())),
265 StaticString::new(JsStr::latin1("[Symbol.dispose]".as_bytes())),
266 StaticString::new(JsStr::latin1("Symbol.asyncDispose".as_bytes())),
267 StaticString::new(JsStr::latin1("[Symbol.asyncDispose]".as_bytes())),
268 StaticString::new(JsStr::latin1("get [Symbol.species]".as_bytes())),
269 StaticString::new(JsStr::latin1("get [Symbol.toStringTag]".as_bytes())),
270 StaticString::new(JsStr::latin1("Array".as_bytes())),
272 StaticString::new(JsStr::latin1("ArrayBuffer".as_bytes())),
273 StaticString::new(JsStr::latin1("Iterator".as_bytes())),
274 StaticString::new(JsStr::latin1("SharedArrayBuffer".as_bytes())),
275 StaticString::new(JsStr::latin1("AsyncFunction".as_bytes())),
276 StaticString::new(JsStr::latin1("AsyncGenerator".as_bytes())),
277 StaticString::new(JsStr::latin1("AsyncGeneratorFunction".as_bytes())),
278 StaticString::new(JsStr::latin1("Atomics".as_bytes())),
279 StaticString::new(JsStr::latin1("BigInt".as_bytes())),
280 StaticString::new(JsStr::latin1("Boolean".as_bytes())),
281 StaticString::new(JsStr::latin1("DataView".as_bytes())),
282 StaticString::new(JsStr::latin1("Date".as_bytes())),
283 StaticString::new(JsStr::latin1("Error".as_bytes())),
284 StaticString::new(JsStr::latin1("AggregateError".as_bytes())),
285 StaticString::new(JsStr::latin1("EvalError".as_bytes())),
286 StaticString::new(JsStr::latin1("RangeError".as_bytes())),
287 StaticString::new(JsStr::latin1("ReferenceError".as_bytes())),
288 StaticString::new(JsStr::latin1("SyntaxError".as_bytes())),
289 StaticString::new(JsStr::latin1("TypeError".as_bytes())),
290 StaticString::new(JsStr::latin1("URIError".as_bytes())),
291 StaticString::new(JsStr::latin1("escape".as_bytes())),
292 StaticString::new(JsStr::latin1("unescape".as_bytes())),
293 StaticString::new(JsStr::latin1("eval".as_bytes())),
294 StaticString::new(JsStr::latin1("Function".as_bytes())),
295 StaticString::new(JsStr::latin1("Generator".as_bytes())),
296 StaticString::new(JsStr::latin1("GeneratorFunction".as_bytes())),
297 StaticString::new(JsStr::latin1("Intl".as_bytes())),
298 StaticString::new(JsStr::latin1("Collator".as_bytes())),
299 StaticString::new(JsStr::latin1("ListFormat".as_bytes())),
300 StaticString::new(JsStr::latin1("Locale".as_bytes())),
301 StaticString::new(JsStr::latin1("PluralRules".as_bytes())),
302 StaticString::new(JsStr::latin1("Segmenter".as_bytes())),
303 StaticString::new(JsStr::latin1("DateTimeFormat".as_bytes())),
304 StaticString::new(JsStr::latin1("JSON".as_bytes())),
305 StaticString::new(JsStr::latin1("Map".as_bytes())),
306 StaticString::new(JsStr::latin1("Math".as_bytes())),
307 StaticString::new(JsStr::latin1("Number".as_bytes())),
308 StaticString::new(JsStr::latin1("NumberFormat".as_bytes())),
309 StaticString::new(JsStr::latin1("isFinite".as_bytes())),
310 StaticString::new(JsStr::latin1("isNaN".as_bytes())),
311 StaticString::new(JsStr::latin1("parseInt".as_bytes())),
312 StaticString::new(JsStr::latin1("parseFloat".as_bytes())),
313 StaticString::new(JsStr::latin1("Object".as_bytes())),
314 StaticString::new(JsStr::latin1("Promise".as_bytes())),
315 StaticString::new(JsStr::latin1("Proxy".as_bytes())),
316 StaticString::new(JsStr::latin1("Reflect".as_bytes())),
317 StaticString::new(JsStr::latin1("RegExp".as_bytes())),
318 StaticString::new(JsStr::latin1("Set".as_bytes())),
319 StaticString::new(JsStr::latin1("String".as_bytes())),
320 StaticString::new(JsStr::latin1("Symbol".as_bytes())),
321 StaticString::new(JsStr::latin1("TypedArray".as_bytes())),
322 StaticString::new(JsStr::latin1("Int8Array".as_bytes())),
323 StaticString::new(JsStr::latin1("Uint8Array".as_bytes())),
324 StaticString::new(JsStr::latin1("Uint8ClampedArray".as_bytes())),
325 StaticString::new(JsStr::latin1("Int16Array".as_bytes())),
326 StaticString::new(JsStr::latin1("Uint16Array".as_bytes())),
327 StaticString::new(JsStr::latin1("Int32Array".as_bytes())),
328 StaticString::new(JsStr::latin1("Uint32Array".as_bytes())),
329 StaticString::new(JsStr::latin1("BigInt64Array".as_bytes())),
330 StaticString::new(JsStr::latin1("BigUint64Array".as_bytes())),
331 StaticString::new(JsStr::latin1("Float16Array".as_bytes())),
332 StaticString::new(JsStr::latin1("Float32Array".as_bytes())),
333 StaticString::new(JsStr::latin1("Float64Array".as_bytes())),
334 StaticString::new(JsStr::latin1("encodeURI".as_bytes())),
335 StaticString::new(JsStr::latin1("encodeURIComponent".as_bytes())),
336 StaticString::new(JsStr::latin1("decodeURI".as_bytes())),
337 StaticString::new(JsStr::latin1("decodeURIComponent".as_bytes())),
338 StaticString::new(JsStr::latin1("WeakRef".as_bytes())),
339 StaticString::new(JsStr::latin1("WeakMap".as_bytes())),
340 StaticString::new(JsStr::latin1("WeakSet".as_bytes())),
341 StaticString::new(JsStr::latin1("FinalizationRegistry".as_bytes())),
342 StaticString::new(JsStr::latin1("Temporal".as_bytes())),
343 StaticString::new(JsStr::latin1("Temporal.Now".as_bytes())),
344 StaticString::new(JsStr::latin1("Temporal.Instant".as_bytes())),
345 StaticString::new(JsStr::latin1("Temporal.Duration".as_bytes())),
346 StaticString::new(JsStr::latin1("Temporal.Calendar".as_bytes())),
347 StaticString::new(JsStr::latin1("Temporal.PlainDate".as_bytes())),
348 StaticString::new(JsStr::latin1("Temporal.PlainDateTime".as_bytes())),
349 StaticString::new(JsStr::latin1("Temporal.PlainMonthDay".as_bytes())),
350 StaticString::new(JsStr::latin1("Temporal.PlainYearMonth".as_bytes())),
351 StaticString::new(JsStr::latin1("Temporal.PlainTime".as_bytes())),
352 StaticString::new(JsStr::latin1("Temporal.TimeZone".as_bytes())),
353 StaticString::new(JsStr::latin1("Temporal.ZonedDateTime".as_bytes())),
354 StaticString::new(JsStr::latin1(",".as_bytes())),
356 StaticString::new(JsStr::latin1(":".as_bytes())),
357 StaticString::new(JsStr::latin1("name".as_bytes())),
359 StaticString::new(JsStr::latin1("length".as_bytes())),
360 StaticString::new(JsStr::latin1("arguments".as_bytes())),
361 StaticString::new(JsStr::latin1("prototype".as_bytes())),
362 StaticString::new(JsStr::latin1("constructor".as_bytes())),
363 StaticString::new(JsStr::latin1("return".as_bytes())),
364 StaticString::new(JsStr::latin1("throw".as_bytes())),
365 StaticString::new(JsStr::latin1("global".as_bytes())),
366 StaticString::new(JsStr::latin1("globalThis".as_bytes())),
367 StaticString::new(JsStr::latin1("null".as_bytes())),
369 StaticString::new(JsStr::latin1("undefined".as_bytes())),
370 StaticString::new(JsStr::latin1("number".as_bytes())),
371 StaticString::new(JsStr::latin1("string".as_bytes())),
372 StaticString::new(JsStr::latin1("symbol".as_bytes())),
373 StaticString::new(JsStr::latin1("bigint".as_bytes())),
374 StaticString::new(JsStr::latin1("object".as_bytes())),
375 StaticString::new(JsStr::latin1("function".as_bytes())),
376 StaticString::new(JsStr::latin1("value".as_bytes())),
378 StaticString::new(JsStr::latin1("get".as_bytes())),
379 StaticString::new(JsStr::latin1("set".as_bytes())),
380 StaticString::new(JsStr::latin1("writable".as_bytes())),
381 StaticString::new(JsStr::latin1("enumerable".as_bytes())),
382 StaticString::new(JsStr::latin1("configurable".as_bytes())),
383 StaticString::new(JsStr::latin1("assign".as_bytes())),
385 StaticString::new(JsStr::latin1("create".as_bytes())),
386 StaticString::new(JsStr::latin1("toString".as_bytes())),
387 StaticString::new(JsStr::latin1("valueOf".as_bytes())),
388 StaticString::new(JsStr::latin1("is".as_bytes())),
389 StaticString::new(JsStr::latin1("seal".as_bytes())),
390 StaticString::new(JsStr::latin1("isSealed".as_bytes())),
391 StaticString::new(JsStr::latin1("freeze".as_bytes())),
392 StaticString::new(JsStr::latin1("isFrozen".as_bytes())),
393 StaticString::new(JsStr::latin1("isExtensible".as_bytes())),
394 StaticString::new(JsStr::latin1("hasOwnProperty".as_bytes())),
395 StaticString::new(JsStr::latin1("isPrototypeOf".as_bytes())),
396 StaticString::new(JsStr::latin1("setPrototypeOf".as_bytes())),
397 StaticString::new(JsStr::latin1("getPrototypeOf".as_bytes())),
398 StaticString::new(JsStr::latin1("defineProperty".as_bytes())),
399 StaticString::new(JsStr::latin1("defineProperties".as_bytes())),
400 StaticString::new(JsStr::latin1("deleteProperty".as_bytes())),
401 StaticString::new(JsStr::latin1("construct".as_bytes())),
402 StaticString::new(JsStr::latin1("hasOwn".as_bytes())),
403 StaticString::new(JsStr::latin1("ownKeys".as_bytes())),
404 StaticString::new(JsStr::latin1("keys".as_bytes())),
405 StaticString::new(JsStr::latin1("values".as_bytes())),
406 StaticString::new(JsStr::latin1("entries".as_bytes())),
407 StaticString::new(JsStr::latin1("fromEntries".as_bytes())),
408 StaticString::new(JsStr::latin1("propertyIsEnumerable".as_bytes())),
409 StaticString::new(JsStr::latin1("preventExtensions".as_bytes())),
410 StaticString::new(JsStr::latin1("getOwnPropertyDescriptor".as_bytes())),
411 StaticString::new(JsStr::latin1("getOwnPropertyDescriptors".as_bytes())),
412 StaticString::new(JsStr::latin1("getOwnPropertyNames".as_bytes())),
413 StaticString::new(JsStr::latin1("getOwnPropertySymbols".as_bytes())),
414 StaticString::new(JsStr::latin1("__defineGetter__".as_bytes())),
415 StaticString::new(JsStr::latin1("__defineSetter__".as_bytes())),
416 StaticString::new(JsStr::latin1("__lookupGetter__".as_bytes())),
417 StaticString::new(JsStr::latin1("__lookupSetter__".as_bytes())),
418 StaticString::new(JsStr::latin1("__proto__".as_bytes())),
419 StaticString::new(JsStr::latin1("get __proto__".as_bytes())),
420 StaticString::new(JsStr::latin1("set __proto__".as_bytes())),
421 StaticString::new(JsStr::latin1("apply".as_bytes())),
423 StaticString::new(JsStr::latin1("bind".as_bytes())),
424 StaticString::new(JsStr::latin1("call".as_bytes())),
425 StaticString::new(JsStr::latin1("caller".as_bytes())),
426 StaticString::new(JsStr::latin1("callee".as_bytes())),
428 StaticString::new(JsStr::latin1("at".as_bytes())),
430 StaticString::new(JsStr::latin1("from".as_bytes())),
431 StaticString::new(JsStr::latin1("isArray".as_bytes())),
432 StaticString::new(JsStr::latin1("of".as_bytes())),
433 StaticString::new(JsStr::latin1("copyWithin".as_bytes())),
434 StaticString::new(JsStr::latin1("every".as_bytes())),
435 StaticString::new(JsStr::latin1("fill".as_bytes())),
436 StaticString::new(JsStr::latin1("filter".as_bytes())),
437 StaticString::new(JsStr::latin1("find".as_bytes())),
438 StaticString::new(JsStr::latin1("findIndex".as_bytes())),
439 StaticString::new(JsStr::latin1("findLast".as_bytes())),
440 StaticString::new(JsStr::latin1("findLastIndex".as_bytes())),
441 StaticString::new(JsStr::latin1("flat".as_bytes())),
442 StaticString::new(JsStr::latin1("flatMap".as_bytes())),
443 StaticString::new(JsStr::latin1("forEach".as_bytes())),
444 StaticString::new(JsStr::latin1("includes".as_bytes())),
445 StaticString::new(JsStr::latin1("indexOf".as_bytes())),
446 StaticString::new(JsStr::latin1("join".as_bytes())),
447 StaticString::new(JsStr::latin1("map".as_bytes())),
448 StaticString::new(JsStr::latin1("next".as_bytes())),
449 StaticString::new(JsStr::latin1("reduce".as_bytes())),
450 StaticString::new(JsStr::latin1("reduceRight".as_bytes())),
451 StaticString::new(JsStr::latin1("reverse".as_bytes())),
452 StaticString::new(JsStr::latin1("shift".as_bytes())),
453 StaticString::new(JsStr::latin1("slice".as_bytes())),
454 StaticString::new(JsStr::latin1("splice".as_bytes())),
455 StaticString::new(JsStr::latin1("some".as_bytes())),
456 StaticString::new(JsStr::latin1("sort".as_bytes())),
457 StaticString::new(JsStr::latin1("unshift".as_bytes())),
458 StaticString::new(JsStr::latin1("push".as_bytes())),
459 StaticString::new(JsStr::latin1("pop".as_bytes())),
460 StaticString::new(JsStr::latin1("groupBy".as_bytes())),
461 StaticString::new(JsStr::latin1("toReversed".as_bytes())),
462 StaticString::new(JsStr::latin1("toSorted".as_bytes())),
463 StaticString::new(JsStr::latin1("toSpliced".as_bytes())),
464 StaticString::new(JsStr::latin1("with".as_bytes())),
465 StaticString::new(JsStr::latin1("charAt".as_bytes())),
467 StaticString::new(JsStr::latin1("charCodeAt".as_bytes())),
468 StaticString::new(JsStr::latin1("codePointAt".as_bytes())),
469 StaticString::new(JsStr::latin1("concat".as_bytes())),
470 StaticString::new(JsStr::latin1("endsWith".as_bytes())),
471 StaticString::new(JsStr::latin1("fromCharCode".as_bytes())),
472 StaticString::new(JsStr::latin1("fromCodePoint".as_bytes())),
473 StaticString::new(JsStr::latin1("lastIndexOf".as_bytes())),
474 StaticString::new(JsStr::latin1("match".as_bytes())),
475 StaticString::new(JsStr::latin1("matchAll".as_bytes())),
476 StaticString::new(JsStr::latin1("normalize".as_bytes())),
477 StaticString::new(JsStr::latin1("padEnd".as_bytes())),
478 StaticString::new(JsStr::latin1("padStart".as_bytes())),
479 StaticString::new(JsStr::latin1("raw".as_bytes())),
480 StaticString::new(JsStr::latin1("repeat".as_bytes())),
481 StaticString::new(JsStr::latin1("replace".as_bytes())),
482 StaticString::new(JsStr::latin1("replaceAll".as_bytes())),
483 StaticString::new(JsStr::latin1("search".as_bytes())),
484 StaticString::new(JsStr::latin1("split".as_bytes())),
485 StaticString::new(JsStr::latin1("startsWith".as_bytes())),
486 StaticString::new(JsStr::latin1("substr".as_bytes())),
487 StaticString::new(JsStr::latin1("substring".as_bytes())),
488 StaticString::new(JsStr::latin1("toLocaleString".as_bytes())),
489 StaticString::new(JsStr::latin1("toLowerCase".as_bytes())),
490 StaticString::new(JsStr::latin1("toUpperCase".as_bytes())),
491 StaticString::new(JsStr::latin1("trim".as_bytes())),
492 StaticString::new(JsStr::latin1("trimEnd".as_bytes())),
493 StaticString::new(JsStr::latin1("trimStart".as_bytes())),
494 StaticString::new(JsStr::latin1("isWellFormed".as_bytes())),
495 StaticString::new(JsStr::latin1("localeCompare".as_bytes())),
496 StaticString::new(JsStr::latin1("toWellFormed".as_bytes())),
497 StaticString::new(JsStr::latin1("toLocaleLowerCase".as_bytes())),
498 StaticString::new(JsStr::latin1("toLocaleUpperCase".as_bytes())),
499 StaticString::new(JsStr::latin1("trimLeft".as_bytes())),
500 StaticString::new(JsStr::latin1("trimRight".as_bytes())),
501 StaticString::new(JsStr::latin1("anchor".as_bytes())),
502 StaticString::new(JsStr::latin1("big".as_bytes())),
503 StaticString::new(JsStr::latin1("blink".as_bytes())),
504 StaticString::new(JsStr::latin1("bold".as_bytes())),
505 StaticString::new(JsStr::latin1("fixed".as_bytes())),
506 StaticString::new(JsStr::latin1("fontcolor".as_bytes())),
507 StaticString::new(JsStr::latin1("fontsize".as_bytes())),
508 StaticString::new(JsStr::latin1("italics".as_bytes())),
509 StaticString::new(JsStr::latin1("link".as_bytes())),
510 StaticString::new(JsStr::latin1("small".as_bytes())),
511 StaticString::new(JsStr::latin1("strike".as_bytes())),
512 StaticString::new(JsStr::latin1("sub".as_bytes())),
513 StaticString::new(JsStr::latin1("sup".as_bytes())),
514 StaticString::new(JsStr::latin1("Infinity".as_bytes())),
516 StaticString::new(JsStr::latin1("NaN".as_bytes())),
517 StaticString::new(JsStr::latin1("EPSILON".as_bytes())),
518 StaticString::new(JsStr::latin1("MAX_SAFE_INTEGER".as_bytes())),
519 StaticString::new(JsStr::latin1("MIN_SAFE_INTEGER".as_bytes())),
520 StaticString::new(JsStr::latin1("MAX_VALUE".as_bytes())),
521 StaticString::new(JsStr::latin1("MIN_VALUE".as_bytes())),
522 StaticString::new(JsStr::latin1("NEGATIVE_INFINITY".as_bytes())),
523 StaticString::new(JsStr::latin1("POSITIVE_INFINITY".as_bytes())),
524 StaticString::new(JsStr::latin1("isSafeInteger".as_bytes())),
525 StaticString::new(JsStr::latin1("isInteger".as_bytes())),
526 StaticString::new(JsStr::latin1("toExponential".as_bytes())),
527 StaticString::new(JsStr::latin1("toFixed".as_bytes())),
528 StaticString::new(JsStr::latin1("toPrecision".as_bytes())),
529 StaticString::new(JsStr::latin1("asIntN".as_bytes())),
531 StaticString::new(JsStr::latin1("asUintN".as_bytes())),
532 StaticString::new(JsStr::latin1("exec".as_bytes())),
534 StaticString::new(JsStr::latin1("test".as_bytes())),
535 StaticString::new(JsStr::latin1("compile".as_bytes())),
536 StaticString::new(JsStr::latin1("flags".as_bytes())),
537 StaticString::new(JsStr::latin1("index".as_bytes())),
538 StaticString::new(JsStr::latin1("lastIndex".as_bytes())),
539 StaticString::new(JsStr::latin1("hasIndices".as_bytes())),
540 StaticString::new(JsStr::latin1("ignoreCase".as_bytes())),
541 StaticString::new(JsStr::latin1("multiline".as_bytes())),
542 StaticString::new(JsStr::latin1("dotAll".as_bytes())),
543 StaticString::new(JsStr::latin1("unicode".as_bytes())),
544 StaticString::new(JsStr::latin1("sticky".as_bytes())),
545 StaticString::new(JsStr::latin1("source".as_bytes())),
546 StaticString::new(JsStr::latin1("get hasIndices".as_bytes())),
547 StaticString::new(JsStr::latin1("get global".as_bytes())),
548 StaticString::new(JsStr::latin1("get ignoreCase".as_bytes())),
549 StaticString::new(JsStr::latin1("get multiline".as_bytes())),
550 StaticString::new(JsStr::latin1("get dotAll".as_bytes())),
551 StaticString::new(JsStr::latin1("get unicode".as_bytes())),
552 StaticString::new(JsStr::latin1("get sticky".as_bytes())),
553 StaticString::new(JsStr::latin1("get flags".as_bytes())),
554 StaticString::new(JsStr::latin1("get source".as_bytes())),
555 StaticString::new(JsStr::latin1("for".as_bytes())),
557 StaticString::new(JsStr::latin1("keyFor".as_bytes())),
558 StaticString::new(JsStr::latin1("description".as_bytes())),
559 StaticString::new(JsStr::latin1("asyncIterator".as_bytes())),
560 StaticString::new(JsStr::latin1("hasInstance".as_bytes())),
561 StaticString::new(JsStr::latin1("species".as_bytes())),
562 StaticString::new(JsStr::latin1("unscopables".as_bytes())),
563 StaticString::new(JsStr::latin1("iterator".as_bytes())),
564 StaticString::new(JsStr::latin1("toStringTag".as_bytes())),
565 StaticString::new(JsStr::latin1("toPrimitive".as_bytes())),
566 StaticString::new(JsStr::latin1("isConcatSpreadable".as_bytes())),
567 StaticString::new(JsStr::latin1("get description".as_bytes())),
568 StaticString::new(JsStr::latin1("clear".as_bytes())),
570 StaticString::new(JsStr::latin1("delete".as_bytes())),
571 StaticString::new(JsStr::latin1("has".as_bytes())),
572 StaticString::new(JsStr::latin1("size".as_bytes())),
573 StaticString::new(JsStr::latin1("add".as_bytes())),
575 StaticString::new(JsStr::latin1("revocable".as_bytes())),
578 StaticString::new(JsStr::latin1("message".as_bytes())),
580 StaticString::new(JsStr::latin1("toJSON".as_bytes())),
582 StaticString::new(JsStr::latin1("getDate".as_bytes())),
583 StaticString::new(JsStr::latin1("getDay".as_bytes())),
584 StaticString::new(JsStr::latin1("getFullYear".as_bytes())),
585 StaticString::new(JsStr::latin1("getHours".as_bytes())),
586 StaticString::new(JsStr::latin1("getMilliseconds".as_bytes())),
587 StaticString::new(JsStr::latin1("getMinutes".as_bytes())),
588 StaticString::new(JsStr::latin1("getMonth".as_bytes())),
589 StaticString::new(JsStr::latin1("getSeconds".as_bytes())),
590 StaticString::new(JsStr::latin1("getTime".as_bytes())),
591 StaticString::new(JsStr::latin1("getYear".as_bytes())),
592 StaticString::new(JsStr::latin1("getUTCDate".as_bytes())),
593 StaticString::new(JsStr::latin1("getUTCDay".as_bytes())),
594 StaticString::new(JsStr::latin1("getUTCFullYear".as_bytes())),
595 StaticString::new(JsStr::latin1("getUTCHours".as_bytes())),
596 StaticString::new(JsStr::latin1("getUTCMinutes".as_bytes())),
597 StaticString::new(JsStr::latin1("getUTCMonth".as_bytes())),
598 StaticString::new(JsStr::latin1("getUTCSeconds".as_bytes())),
599 StaticString::new(JsStr::latin1("setDate".as_bytes())),
600 StaticString::new(JsStr::latin1("setFullYear".as_bytes())),
601 StaticString::new(JsStr::latin1("setHours".as_bytes())),
602 StaticString::new(JsStr::latin1("setMilliseconds".as_bytes())),
603 StaticString::new(JsStr::latin1("setMinutes".as_bytes())),
604 StaticString::new(JsStr::latin1("setMonth".as_bytes())),
605 StaticString::new(JsStr::latin1("setSeconds".as_bytes())),
606 StaticString::new(JsStr::latin1("setYear".as_bytes())),
607 StaticString::new(JsStr::latin1("setTime".as_bytes())),
608 StaticString::new(JsStr::latin1("setUTCDate".as_bytes())),
609 StaticString::new(JsStr::latin1("setUTCFullYear".as_bytes())),
610 StaticString::new(JsStr::latin1("setUTCHours".as_bytes())),
611 StaticString::new(JsStr::latin1("setUTCMinutes".as_bytes())),
612 StaticString::new(JsStr::latin1("setUTCMonth".as_bytes())),
613 StaticString::new(JsStr::latin1("setUTCSeconds".as_bytes())),
614 StaticString::new(JsStr::latin1("toDateString".as_bytes())),
615 StaticString::new(JsStr::latin1("toGMTString".as_bytes())),
616 StaticString::new(JsStr::latin1("toISOString".as_bytes())),
617 StaticString::new(JsStr::latin1("toTimeString".as_bytes())),
618 StaticString::new(JsStr::latin1("toUTCString".as_bytes())),
619 StaticString::new(JsStr::latin1("now".as_bytes())),
620 StaticString::new(JsStr::latin1("UTC".as_bytes())),
621 StaticString::new(JsStr::latin1("getTimezoneOffset".as_bytes())),
622 StaticString::new(JsStr::latin1("getUTCMilliseconds".as_bytes())),
623 StaticString::new(JsStr::latin1("setUTCMilliseconds".as_bytes())),
624 StaticString::new(JsStr::latin1("toLocaleDateString".as_bytes())),
625 StaticString::new(JsStr::latin1("toLocaleTimeString".as_bytes())),
626 StaticString::new(JsStr::latin1("parse".as_bytes())),
628 StaticString::new(JsStr::latin1("stringify".as_bytes())),
629 StaticString::new(JsStr::latin1("promise".as_bytes())),
631 StaticString::new(JsStr::latin1("resolve".as_bytes())),
632 StaticString::new(JsStr::latin1("reject".as_bytes())),
633 StaticString::new(JsStr::latin1("all".as_bytes())),
634 StaticString::new(JsStr::latin1("allSettled".as_bytes())),
635 StaticString::new(JsStr::latin1("any".as_bytes())),
636 StaticString::new(JsStr::latin1("race".as_bytes())),
637 StaticString::new(JsStr::latin1("then".as_bytes())),
638 StaticString::new(JsStr::latin1("catch".as_bytes())),
639 StaticString::new(JsStr::latin1("finally".as_bytes())),
640 StaticString::new(JsStr::latin1("withResolvers".as_bytes())),
641 StaticString::new(JsStr::latin1("Array Iterator".as_bytes())),
643 StaticString::new(JsStr::latin1("Set Iterator".as_bytes())),
644 StaticString::new(JsStr::latin1("String Iterator".as_bytes())),
645 StaticString::new(JsStr::latin1("Map Iterator".as_bytes())),
646 StaticString::new(JsStr::latin1("For In Iterator".as_bytes())),
647 StaticString::new(JsStr::latin1("RegExp String Iterator".as_bytes())),
648 StaticString::new(JsStr::latin1("done".as_bytes())),
650 StaticString::new(JsStr::latin1("LN10".as_bytes())),
652 StaticString::new(JsStr::latin1("LN2".as_bytes())),
653 StaticString::new(JsStr::latin1("LOG10E".as_bytes())),
654 StaticString::new(JsStr::latin1("LOG2E".as_bytes())),
655 StaticString::new(JsStr::latin1("PI".as_bytes())),
656 StaticString::new(JsStr::latin1("SQRT1_2".as_bytes())),
657 StaticString::new(JsStr::latin1("SQRT2".as_bytes())),
658 StaticString::new(JsStr::latin1("abs".as_bytes())),
659 StaticString::new(JsStr::latin1("acos".as_bytes())),
660 StaticString::new(JsStr::latin1("acosh".as_bytes())),
661 StaticString::new(JsStr::latin1("asin".as_bytes())),
662 StaticString::new(JsStr::latin1("asinh".as_bytes())),
663 StaticString::new(JsStr::latin1("atan".as_bytes())),
664 StaticString::new(JsStr::latin1("atanh".as_bytes())),
665 StaticString::new(JsStr::latin1("atan2".as_bytes())),
666 StaticString::new(JsStr::latin1("cbrt".as_bytes())),
667 StaticString::new(JsStr::latin1("ceil".as_bytes())),
668 StaticString::new(JsStr::latin1("clz32".as_bytes())),
669 StaticString::new(JsStr::latin1("cos".as_bytes())),
670 StaticString::new(JsStr::latin1("cosh".as_bytes())),
671 StaticString::new(JsStr::latin1("exp".as_bytes())),
672 StaticString::new(JsStr::latin1("expm1".as_bytes())),
673 StaticString::new(JsStr::latin1("floor".as_bytes())),
674 StaticString::new(JsStr::latin1("fround".as_bytes())),
675 StaticString::new(JsStr::latin1("hypot".as_bytes())),
676 StaticString::new(JsStr::latin1("imul".as_bytes())),
677 StaticString::new(JsStr::latin1("log".as_bytes())),
678 StaticString::new(JsStr::latin1("log1p".as_bytes())),
679 StaticString::new(JsStr::latin1("log10".as_bytes())),
680 StaticString::new(JsStr::latin1("log2".as_bytes())),
681 StaticString::new(JsStr::latin1("max".as_bytes())),
682 StaticString::new(JsStr::latin1("min".as_bytes())),
683 StaticString::new(JsStr::latin1("pow".as_bytes())),
684 StaticString::new(JsStr::latin1("random".as_bytes())),
685 StaticString::new(JsStr::latin1("round".as_bytes())),
686 StaticString::new(JsStr::latin1("sign".as_bytes())),
687 StaticString::new(JsStr::latin1("sin".as_bytes())),
688 StaticString::new(JsStr::latin1("sinh".as_bytes())),
689 StaticString::new(JsStr::latin1("sqrt".as_bytes())),
690 StaticString::new(JsStr::latin1("tan".as_bytes())),
691 StaticString::new(JsStr::latin1("tanh".as_bytes())),
692 StaticString::new(JsStr::latin1("trunc".as_bytes())),
693 StaticString::new(JsStr::latin1("BYTES_PER_ELEMENT".as_bytes())),
695 StaticString::new(JsStr::latin1("buffer".as_bytes())),
696 StaticString::new(JsStr::latin1("byteLength".as_bytes())),
697 StaticString::new(JsStr::latin1("byteOffset".as_bytes())),
698 StaticString::new(JsStr::latin1("isView".as_bytes())),
699 StaticString::new(JsStr::latin1("subarray".as_bytes())),
700 StaticString::new(JsStr::latin1("get byteLength".as_bytes())),
701 StaticString::new(JsStr::latin1("get buffer".as_bytes())),
702 StaticString::new(JsStr::latin1("get byteOffset".as_bytes())),
703 StaticString::new(JsStr::latin1("get size".as_bytes())),
704 StaticString::new(JsStr::latin1("get length".as_bytes())),
705 StaticString::new(JsStr::latin1("getBigInt64".as_bytes())),
707 StaticString::new(JsStr::latin1("getBigUint64".as_bytes())),
708 StaticString::new(JsStr::latin1("getFloat16".as_bytes())),
709 StaticString::new(JsStr::latin1("getFloat32".as_bytes())),
710 StaticString::new(JsStr::latin1("getFloat64".as_bytes())),
711 StaticString::new(JsStr::latin1("getInt8".as_bytes())),
712 StaticString::new(JsStr::latin1("getInt16".as_bytes())),
713 StaticString::new(JsStr::latin1("getInt32".as_bytes())),
714 StaticString::new(JsStr::latin1("getUint8".as_bytes())),
715 StaticString::new(JsStr::latin1("getUint16".as_bytes())),
716 StaticString::new(JsStr::latin1("getUint32".as_bytes())),
717 StaticString::new(JsStr::latin1("setBigInt64".as_bytes())),
718 StaticString::new(JsStr::latin1("setBigUint64".as_bytes())),
719 StaticString::new(JsStr::latin1("setFloat16".as_bytes())),
720 StaticString::new(JsStr::latin1("setFloat32".as_bytes())),
721 StaticString::new(JsStr::latin1("setFloat64".as_bytes())),
722 StaticString::new(JsStr::latin1("setInt8".as_bytes())),
723 StaticString::new(JsStr::latin1("setInt16".as_bytes())),
724 StaticString::new(JsStr::latin1("setInt32".as_bytes())),
725 StaticString::new(JsStr::latin1("setUint8".as_bytes())),
726 StaticString::new(JsStr::latin1("setUint16".as_bytes())),
727 StaticString::new(JsStr::latin1("setUint32".as_bytes())),
728 StaticString::new(JsStr::latin1("deref".as_bytes())),
730 StaticString::new(JsStr::latin1("and".as_bytes())),
732 StaticString::new(JsStr::latin1("compareExchange".as_bytes())),
733 StaticString::new(JsStr::latin1("exchange".as_bytes())),
734 StaticString::new(JsStr::latin1("isLockFree".as_bytes())),
735 StaticString::new(JsStr::latin1("load".as_bytes())),
736 StaticString::new(JsStr::latin1("or".as_bytes())),
737 StaticString::new(JsStr::latin1("store".as_bytes())),
738 StaticString::new(JsStr::latin1("wait".as_bytes())),
739 StaticString::new(JsStr::latin1("notify".as_bytes())),
740 StaticString::new(JsStr::latin1("xor".as_bytes())),
741 StaticString::new(JsStr::latin1("getCanonicalLocales".as_bytes())),
743 StaticString::new(JsStr::latin1("get compare".as_bytes())),
744 StaticString::new(JsStr::latin1("supportedLocalesOf".as_bytes())),
745 StaticString::new(JsStr::latin1("Intl.Collator".as_bytes())),
746 StaticString::new(JsStr::latin1("compare".as_bytes())),
747 StaticString::new(JsStr::latin1("resolvedOptions".as_bytes())),
748 StaticString::new(JsStr::latin1("Intl.ListFormat".as_bytes())),
749 StaticString::new(JsStr::latin1("format".as_bytes())),
750 StaticString::new(JsStr::latin1("formatToParts".as_bytes())),
751 StaticString::new(JsStr::latin1("get baseName".as_bytes())),
752 StaticString::new(JsStr::latin1("get calendar".as_bytes())),
753 StaticString::new(JsStr::latin1("get caseFirst".as_bytes())),
754 StaticString::new(JsStr::latin1("get collation".as_bytes())),
755 StaticString::new(JsStr::latin1("get hourCycle".as_bytes())),
756 StaticString::new(JsStr::latin1("get numeric".as_bytes())),
757 StaticString::new(JsStr::latin1("get numberingSystem".as_bytes())),
758 StaticString::new(JsStr::latin1("get language".as_bytes())),
759 StaticString::new(JsStr::latin1("get script".as_bytes())),
760 StaticString::new(JsStr::latin1("get region".as_bytes())),
761 StaticString::new(JsStr::latin1("Intl.Locale".as_bytes())),
762 StaticString::new(JsStr::latin1("maximize".as_bytes())),
763 StaticString::new(JsStr::latin1("minimize".as_bytes())),
764 StaticString::new(JsStr::latin1("baseName".as_bytes())),
765 StaticString::new(JsStr::latin1("calendar".as_bytes())),
766 StaticString::new(JsStr::latin1("caseFirst".as_bytes())),
767 StaticString::new(JsStr::latin1("collation".as_bytes())),
768 StaticString::new(JsStr::latin1("hourCycle".as_bytes())),
769 StaticString::new(JsStr::latin1("numeric".as_bytes())),
770 StaticString::new(JsStr::latin1("numberingSystem".as_bytes())),
771 StaticString::new(JsStr::latin1("language".as_bytes())),
772 StaticString::new(JsStr::latin1("script".as_bytes())),
773 StaticString::new(JsStr::latin1("region".as_bytes())),
774 StaticString::new(JsStr::latin1("Intl.Segmenter".as_bytes())),
775 StaticString::new(JsStr::latin1("segment".as_bytes())),
776 StaticString::new(JsStr::latin1("containing".as_bytes())),
777 StaticString::new(JsStr::latin1("Segmenter String Iterator".as_bytes())),
778 StaticString::new(JsStr::latin1("Intl.PluralRules".as_bytes())),
779 StaticString::new(JsStr::latin1("select".as_bytes())),
780 StaticString::new(JsStr::latin1("get Id".as_bytes())),
782 StaticString::new(JsStr::latin1("getOffsetNanosecondsFor".as_bytes())),
783 StaticString::new(JsStr::latin1("getOffsetStringFor".as_bytes())),
784 StaticString::new(JsStr::latin1("getPlainDateTimeFor".as_bytes())),
785 StaticString::new(JsStr::latin1("getInstantFor".as_bytes())),
786 StaticString::new(JsStr::latin1("getPossibleInstantFor".as_bytes())),
787 StaticString::new(JsStr::latin1("getNextTransition".as_bytes())),
788 StaticString::new(JsStr::latin1("getPreviousTransition".as_bytes())),
789 StaticString::new(JsStr::latin1("id".as_bytes())),
790 StaticString::new(JsStr::latin1("Now".as_bytes())),
791 StaticString::new(JsStr::latin1("Calendar".as_bytes())),
792 StaticString::new(JsStr::latin1("Duration".as_bytes())),
793 StaticString::new(JsStr::latin1("Instant".as_bytes())),
794 StaticString::new(JsStr::latin1("PlainDate".as_bytes())),
795 StaticString::new(JsStr::latin1("PlainDateTime".as_bytes())),
796 StaticString::new(JsStr::latin1("PlainMonthDay".as_bytes())),
797 StaticString::new(JsStr::latin1("PlainTime".as_bytes())),
798 StaticString::new(JsStr::latin1("PlainYearMonth".as_bytes())),
799 StaticString::new(JsStr::latin1("TimeZone".as_bytes())),
800 StaticString::new(JsStr::latin1("ZonedDateTime".as_bytes())),
801 StaticString::new(JsStr::latin1("timeZoneId".as_bytes())),
802 StaticString::new(JsStr::latin1("instant".as_bytes())),
803 StaticString::new(JsStr::latin1("plainDateTime".as_bytes())),
804 StaticString::new(JsStr::latin1("plainDateTimeISO".as_bytes())),
805 StaticString::new(JsStr::latin1("zonedDateTime".as_bytes())),
806 StaticString::new(JsStr::latin1("zonedDateTimeISO".as_bytes())),
807 StaticString::new(JsStr::latin1("plainDate".as_bytes())),
808 StaticString::new(JsStr::latin1("plainDateISO".as_bytes())),
809 StaticString::new(JsStr::latin1("get epochSeconds".as_bytes())),
810 StaticString::new(JsStr::latin1("get epochMilliseconds".as_bytes())),
811 StaticString::new(JsStr::latin1("get epochMicroseconds".as_bytes())),
812 StaticString::new(JsStr::latin1("get epochNanoseconds".as_bytes())),
813 StaticString::new(JsStr::latin1("epochSeconds".as_bytes())),
814 StaticString::new(JsStr::latin1("epochMilliseconds".as_bytes())),
815 StaticString::new(JsStr::latin1("epochMicroseconds".as_bytes())),
816 StaticString::new(JsStr::latin1("epochNanoseconds".as_bytes())),
817 StaticString::new(JsStr::latin1("subtract".as_bytes())),
818 StaticString::new(JsStr::latin1("until".as_bytes())),
819 StaticString::new(JsStr::latin1("since".as_bytes())),
820 StaticString::new(JsStr::latin1("equals".as_bytes())),
821 StaticString::new(JsStr::latin1("toZonedDateTime".as_bytes())),
822 StaticString::new(JsStr::latin1("toZonedDateTimeISO".as_bytes())),
823 StaticString::new(JsStr::latin1("get Years".as_bytes())),
824 StaticString::new(JsStr::latin1("get Months".as_bytes())),
825 StaticString::new(JsStr::latin1("get Weeks".as_bytes())),
826 StaticString::new(JsStr::latin1("get Days".as_bytes())),
827 StaticString::new(JsStr::latin1("get Hours".as_bytes())),
828 StaticString::new(JsStr::latin1("get Minutes".as_bytes())),
829 StaticString::new(JsStr::latin1("get Seconds".as_bytes())),
830 StaticString::new(JsStr::latin1("get Milliseconds".as_bytes())),
831 StaticString::new(JsStr::latin1("get Microseconds".as_bytes())),
832 StaticString::new(JsStr::latin1("get Nanoseconds".as_bytes())),
833 StaticString::new(JsStr::latin1("get Sign".as_bytes())),
834 StaticString::new(JsStr::latin1("get blank".as_bytes())),
835 StaticString::new(JsStr::latin1("years".as_bytes())),
836 StaticString::new(JsStr::latin1("months".as_bytes())),
837 StaticString::new(JsStr::latin1("weeks".as_bytes())),
838 StaticString::new(JsStr::latin1("days".as_bytes())),
839 StaticString::new(JsStr::latin1("hours".as_bytes())),
840 StaticString::new(JsStr::latin1("minutes".as_bytes())),
841 StaticString::new(JsStr::latin1("seconds".as_bytes())),
842 StaticString::new(JsStr::latin1("milliseconds".as_bytes())),
843 StaticString::new(JsStr::latin1("microseconds".as_bytes())),
844 StaticString::new(JsStr::latin1("nanoseconds".as_bytes())),
845 StaticString::new(JsStr::latin1("blank".as_bytes())),
846 StaticString::new(JsStr::latin1("negated".as_bytes())),
847 StaticString::new(JsStr::latin1("total".as_bytes())),
848 StaticString::new(JsStr::latin1("get calendarId".as_bytes())),
849 StaticString::new(JsStr::latin1("get year".as_bytes())),
850 StaticString::new(JsStr::latin1("get month".as_bytes())),
851 StaticString::new(JsStr::latin1("get monthCode".as_bytes())),
852 StaticString::new(JsStr::latin1("get day".as_bytes())),
853 StaticString::new(JsStr::latin1("get dayOfWeek".as_bytes())),
854 StaticString::new(JsStr::latin1("get dayOfYear".as_bytes())),
855 StaticString::new(JsStr::latin1("get weekOfYear".as_bytes())),
856 StaticString::new(JsStr::latin1("get yearOfWeek".as_bytes())),
857 StaticString::new(JsStr::latin1("get daysInWeek".as_bytes())),
858 StaticString::new(JsStr::latin1("get daysInMonth".as_bytes())),
859 StaticString::new(JsStr::latin1("get daysInYear".as_bytes())),
860 StaticString::new(JsStr::latin1("get monthsInYear".as_bytes())),
861 StaticString::new(JsStr::latin1("get inLeapYear".as_bytes())),
862 StaticString::new(JsStr::latin1("calendarId".as_bytes())),
863 StaticString::new(JsStr::latin1("year".as_bytes())),
864 StaticString::new(JsStr::latin1("month".as_bytes())),
865 StaticString::new(JsStr::latin1("monthCode".as_bytes())),
866 StaticString::new(JsStr::latin1("day".as_bytes())),
867 StaticString::new(JsStr::latin1("dayOfWeek".as_bytes())),
868 StaticString::new(JsStr::latin1("dayOfYear".as_bytes())),
869 StaticString::new(JsStr::latin1("weekOfYear".as_bytes())),
870 StaticString::new(JsStr::latin1("yearOfWeek".as_bytes())),
871 StaticString::new(JsStr::latin1("daysInWeek".as_bytes())),
872 StaticString::new(JsStr::latin1("daysInMonth".as_bytes())),
873 StaticString::new(JsStr::latin1("daysInYear".as_bytes())),
874 StaticString::new(JsStr::latin1("monthsInYear".as_bytes())),
875 StaticString::new(JsStr::latin1("inLeapYear".as_bytes())),
876 StaticString::new(JsStr::latin1("toPlainYearMonth".as_bytes())),
877 StaticString::new(JsStr::latin1("toPlainMonthDay".as_bytes())),
878 StaticString::new(JsStr::latin1("getISOFields".as_bytes())),
879 StaticString::new(JsStr::latin1("getCalendar".as_bytes())),
880 StaticString::new(JsStr::latin1("withCalendar".as_bytes())),
881 StaticString::new(JsStr::latin1("dateFromFields".as_bytes())),
882 StaticString::new(JsStr::latin1("yearMonthFromFields".as_bytes())),
883 StaticString::new(JsStr::latin1("monthDayFromFields".as_bytes())),
884 StaticString::new(JsStr::latin1("dateAdd".as_bytes())),
885 StaticString::new(JsStr::latin1("dateUntil".as_bytes())),
886 StaticString::new(JsStr::latin1("era".as_bytes())),
887 StaticString::new(JsStr::latin1("eraYear".as_bytes())),
888 StaticString::new(JsStr::latin1("fields".as_bytes())),
889 StaticString::new(JsStr::latin1("mergeFields".as_bytes())),
890 StaticString::new(JsStr::latin1("console".as_bytes())),
892 StaticString::new(JsStr::latin1("assert".as_bytes())),
893 StaticString::new(JsStr::latin1("debug".as_bytes())),
894 StaticString::new(JsStr::latin1("error".as_bytes())),
895 StaticString::new(JsStr::latin1("info".as_bytes())),
896 StaticString::new(JsStr::latin1("trace".as_bytes())),
897 StaticString::new(JsStr::latin1("warn".as_bytes())),
898 StaticString::new(JsStr::latin1("exception".as_bytes())),
899 StaticString::new(JsStr::latin1("count".as_bytes())),
900 StaticString::new(JsStr::latin1("countReset".as_bytes())),
901 StaticString::new(JsStr::latin1("group".as_bytes())),
902 StaticString::new(JsStr::latin1("groupCollapsed".as_bytes())),
903 StaticString::new(JsStr::latin1("groupEnd".as_bytes())),
904 StaticString::new(JsStr::latin1("time".as_bytes())),
905 StaticString::new(JsStr::latin1("timeLog".as_bytes())),
906 StaticString::new(JsStr::latin1("timeEnd".as_bytes())),
907 StaticString::new(JsStr::latin1("dir".as_bytes())),
908 StaticString::new(JsStr::latin1("dirxml".as_bytes())),
909 StaticString::new(JsStr::latin1("a".as_bytes())),
911 StaticString::new(JsStr::latin1("c".as_bytes())),
912 StaticString::new(JsStr::latin1("d".as_bytes())),
913 StaticString::new(JsStr::latin1("e".as_bytes())),
914 StaticString::new(JsStr::latin1("f".as_bytes())),
915 StaticString::new(JsStr::latin1("g".as_bytes())),
916 StaticString::new(JsStr::latin1("h".as_bytes())),
917 StaticString::new(JsStr::latin1("i".as_bytes())),
918 StaticString::new(JsStr::latin1("j".as_bytes())),
919 StaticString::new(JsStr::latin1("k".as_bytes())),
920 StaticString::new(JsStr::latin1("l".as_bytes())),
921 StaticString::new(JsStr::latin1("m".as_bytes())),
922 StaticString::new(JsStr::latin1("n".as_bytes())),
923 StaticString::new(JsStr::latin1("o".as_bytes())),
924 StaticString::new(JsStr::latin1("p".as_bytes())),
925 StaticString::new(JsStr::latin1("q".as_bytes())),
926 StaticString::new(JsStr::latin1("r".as_bytes())),
927 StaticString::new(JsStr::latin1("s".as_bytes())),
928 StaticString::new(JsStr::latin1("t".as_bytes())),
929 StaticString::new(JsStr::latin1("u".as_bytes())),
930 StaticString::new(JsStr::latin1("v".as_bytes())),
931 StaticString::new(JsStr::latin1("w".as_bytes())),
932 StaticString::new(JsStr::latin1("x".as_bytes())),
933 StaticString::new(JsStr::latin1("y".as_bytes())),
934 StaticString::new(JsStr::latin1("z".as_bytes())),
935 StaticString::new(JsStr::latin1("A".as_bytes())),
936 StaticString::new(JsStr::latin1("C".as_bytes())),
937 StaticString::new(JsStr::latin1("D".as_bytes())),
938 StaticString::new(JsStr::latin1("E".as_bytes())),
939 StaticString::new(JsStr::latin1("F".as_bytes())),
940 StaticString::new(JsStr::latin1("G".as_bytes())),
941 StaticString::new(JsStr::latin1("H".as_bytes())),
942 StaticString::new(JsStr::latin1("I".as_bytes())),
943 StaticString::new(JsStr::latin1("J".as_bytes())),
944 StaticString::new(JsStr::latin1("K".as_bytes())),
945 StaticString::new(JsStr::latin1("L".as_bytes())),
946 StaticString::new(JsStr::latin1("M".as_bytes())),
947 StaticString::new(JsStr::latin1("N".as_bytes())),
948 StaticString::new(JsStr::latin1("O".as_bytes())),
949 StaticString::new(JsStr::latin1("P".as_bytes())),
950 StaticString::new(JsStr::latin1("Q".as_bytes())),
951 StaticString::new(JsStr::latin1("R".as_bytes())),
952 StaticString::new(JsStr::latin1("S".as_bytes())),
953 StaticString::new(JsStr::latin1("T".as_bytes())),
954 StaticString::new(JsStr::latin1("U".as_bytes())),
955 StaticString::new(JsStr::latin1("V".as_bytes())),
956 StaticString::new(JsStr::latin1("W".as_bytes())),
957 StaticString::new(JsStr::latin1("X".as_bytes())),
958 StaticString::new(JsStr::latin1("Y".as_bytes())),
959 StaticString::new(JsStr::latin1("Z".as_bytes())),
960 StaticString::new(JsStr::latin1("_".as_bytes())),
961 StaticString::new(JsStr::latin1("$".as_bytes())),
962];