Skip to main content

harn_vm/value/
mod.rs

1mod build;
2mod core;
3mod diff;
4mod env;
5mod error;
6mod handles;
7mod io_error;
8mod isolate;
9pub(crate) mod recursion;
10mod set;
11mod storage_json;
12mod structural;
13
14pub type VmMutex<T> = parking_lot::Mutex<T>;
15
16pub use build::{DictRetain, VmDictExt};
17pub use core::{
18    byte_offset_to_char_index, char_range_to_byte_range, char_to_byte_offset, intern_key,
19    string_char_count, struct_fields_to_map, DictMap, HarnStr, StructInstanceData, StructLayout,
20    VmAsyncBuiltinFn, VmBuiltinFn, VmBuiltinRefId, VmEnumVariant, VmValue,
21};
22pub use diff::{diff_values, render_diff, repr, DifferenceKind, ValueDifference};
23pub(crate) use env::Binding;
24pub use env::{
25    closest_match, LazyPipelineCallable, LazyVmCallable, ModuleFunctionRegistry, ModuleState,
26    VmCallable, VmClosure, VmEnv,
27};
28pub use error::{
29    categorized_error, classify_error_message, error_to_category, ArgTypeMismatchError,
30    ArityExpect, ArityMismatchError, DeadlockError, ErrorCategory, ProviderStreamDeadline,
31    ProviderStreamFailure, ProviderStreamFailureReason, ProviderStreamPhase, VmError,
32};
33pub use handles::{
34    VmAtomicHandle, VmChannelCloseState, VmChannelHandle, VmGenerator, VmJoinHandle, VmRange,
35    VmResourceGuardHandle, VmResourceHandle, VmRngHandle, VmStream, VmStreamCancel,
36    VmSyncPermitHandle, VmTaskHandle, VmVerdictReceipt,
37};
38pub use io_error::{
39    environment_io_error_thrown, io_error_kind_str, io_error_thrown, io_error_value,
40};
41pub use isolate::IsolateValue;
42pub use set::VmSet;
43pub(crate) use storage_json::vm_to_storage_json;
44pub use structural::{
45    compare_values, dedup_values, try_compare_values, value_identity_key,
46    value_structural_hash_key, values_equal, values_identical,
47};
48
49#[cfg(test)]
50mod tests;