Skip to main content

smelt_stdlib/
lib.rs

1//! Shared standard-library mapping metadata.
2//!
3//! This crate intentionally has no frontend AST dependencies. Frontends parse
4//! source syntax into local call shapes, ask this crate for a rule identity,
5//! and then perform their own typed lowering.
6
7pub mod category;
8pub mod classes;
9pub mod deps;
10pub mod diagnostics;
11pub mod fields;
12pub mod globals;
13pub mod host_object;
14pub mod recognition;
15pub mod rules;
16pub mod runtime_symbols;
17
18pub use category::DiagnosticCategory;
19pub use classes::{
20    MATCH_CLASS_NAME, MATCH_GROUPS_CLASS_NAME, StdlibClass, TYPED_ARRAY_CLASS_NAMES,
21    is_typed_array_class_name, typescript_stdlib_class,
22};
23pub use deps::BackendDependency;
24pub use diagnostics::{StdlibDiagnostic, UnsupportedForm};
25pub use fields::{FieldRule, typescript_field_rule};
26pub use globals::{GlobalPresence, global_member_presence, is_javascript_global_builtin};
27pub use host_object::{
28    HOST_OBJECTS, HostObject, host_object_by_class, host_object_marker, host_object_markers,
29};
30pub use recognition::{
31    CallRecognition, MethodRecognition, TYPESCRIPT_CALLS, TYPESCRIPT_METHODS,
32    TypeScriptReceiverKind, typescript_call_rule, typescript_method_rule,
33};
34pub use rules::{
35    ApiNamespace, ApiShape, ArgShape, EffectKind, ReceiverKind, ReturnShape, RuleId, SourceLanguage,
36};