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, typescript_stdlib_class,
21};
22pub use deps::BackendDependency;
23pub use diagnostics::{StdlibDiagnostic, UnsupportedForm};
24pub use fields::{FieldRule, typescript_field_rule};
25pub use globals::{GlobalPresence, global_member_presence, is_javascript_global_builtin};
26pub use host_object::{
27    HOST_OBJECTS, HostObject, host_object_by_class, host_object_marker, host_object_markers,
28};
29pub use recognition::{
30    CallRecognition, MethodRecognition, TYPESCRIPT_CALLS, TYPESCRIPT_METHODS,
31    TypeScriptReceiverKind, typescript_call_rule, typescript_method_rule,
32};
33pub use rules::{
34    ApiNamespace, ApiShape, ArgShape, EffectKind, ReceiverKind, ReturnShape, RuleId, SourceLanguage,
35};