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, JavascriptExceptionRealm, 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, JavascriptHeapExt, JavascriptHeapPolicy, JavascriptManagedKind,
42    JavascriptManagedMutationError, JavascriptManagedObject,
43};
44pub use matrix_row::{javascript_core_matrix_row, javascript_core_source_cases};
45pub use modules::{
46    dynamic_javascript_policy, dynamic_javascript_policy_with_codec, javascript_module_policy,
47    javascript_module_policy_with_codec,
48};
49pub use objects::{
50    JavascriptCallError, JavascriptFunction, JavascriptFunctionKind, JavascriptFunctionPolicy,
51    JavascriptObjectError, JavascriptObjectGap, JavascriptObjects, JavascriptPropertyKey,
52    JavascriptThis, javascript_callable_shape_constraints, javascript_object_gaps,
53};
54pub use profile::{
55    JavascriptIntrinsic, install_javascript_core_profile, javascript_core_profile,
56    javascript_gap_catalog, javascript_intrinsic_manifest, javascript_runtime_kit,
57};
58pub use regexp::{
59    JAVASCRIPT_REGEXP_SUCCESSOR, JavascriptRegExp, JavascriptRegExpError, JavascriptRegExpGap,
60    javascript_regexp_gaps,
61};
62pub use runtime::{Completion, JavascriptEvalPolicy, JavascriptState, JavascriptValue};
63pub use text::{JavascriptCodeUnitString, JavascriptTextError};
64
65/// Cookbook recipes embedded at build time.
66pub static RECIPES: sim_cookbook::EmbeddedDir =
67    include!(concat!(env!("OUT_DIR"), "/cookbook_recipes.rs"));