Skip to main content

sim_lib_lang_javascript/
lib.rs

1#![forbid(unsafe_code)]
2#![deny(missing_docs)]
3//! Thin, direct JavaScript core profile over lowered `codec/javascript` forms.
4//!
5//! Syntax remains owned by the codec. This crate owns only bounded ECMAScript
6//! policy and composes shared organs, number domains, managed storage, and the
7//! tracing collector; it contains no compiler, VM, Realm engine, or host loop.
8
9// conformance: the crate test suite checks the bounded JavaScript core profile.
10
11mod collections;
12mod fidelity;
13mod jobs;
14mod json;
15mod managed;
16mod matrix_row;
17mod modules;
18mod objects;
19mod profile;
20mod regexp;
21mod runtime;
22mod text;
23
24pub use collections::{
25    JavascriptArray, JavascriptCollectionError, JavascriptIterator, JavascriptMap, JavascriptSet,
26    JavascriptSymbol, JavascriptSymbolRegistry,
27};
28pub use fidelity::{
29    ECMA262_ORACLE, JavascriptFidelityDimension, JavascriptRegressionCase, TEST262_ORACLE,
30    javascript_fidelity_dimensions, javascript_regression_cases,
31};
32pub use jobs::{
33    JavascriptAsyncFunction, JavascriptException, JavascriptGenerator, JavascriptJobClass,
34    JavascriptJobs, JavascriptPromise, JavascriptPromiseState,
35};
36pub use json::{
37    JavascriptJsonError, JavascriptJsonValue, JsonReplacer, JsonReviver, JsonToJson,
38    parse_javascript_json, stringify_javascript_json,
39};
40pub use managed::{
41    JavascriptHeap, JavascriptHeapPolicy, JavascriptManagedKind, JavascriptManagedObject,
42};
43pub use matrix_row::{javascript_core_matrix_row, javascript_core_source_cases};
44pub use modules::{
45    DynamicJavascript, JavascriptDynamicAdmission, JavascriptModuleAdmission,
46    JavascriptModulePolicy,
47};
48pub use objects::{
49    JavascriptFunction, JavascriptFunctionKind, JavascriptObjectError, JavascriptObjectGap,
50    JavascriptObjects, JavascriptPropertyKey, JavascriptThis,
51    javascript_callable_shape_constraints, javascript_object_gaps,
52};
53pub use profile::{
54    JavascriptIntrinsic, install_javascript_core_profile, javascript_core_profile,
55    javascript_gap_catalog, javascript_intrinsic_manifest, javascript_runtime_kit,
56};
57pub use regexp::{
58    JAVASCRIPT_REGEXP_SUCCESSOR, JavascriptRegExp, JavascriptRegExpError, JavascriptRegExpGap,
59    javascript_regexp_gaps,
60};
61pub use runtime::{Completion, JavascriptEvalPolicy, JavascriptState, JavascriptValue};
62pub use text::{JavascriptCodeUnitString, JavascriptTextError};
63
64/// Cookbook recipes embedded at build time.
65pub static RECIPES: sim_cookbook::EmbeddedDir =
66    include!(concat!(env!("OUT_DIR"), "/cookbook_recipes.rs"));