DevelopmentNodeEnvironment_MicrosoftVSCodeDependency_22NodeVersion_Bundle_Clean_Debug_ElectronProfile_EsbuildCompiler_Mountain/IPC/UriComponents.rs
1//! # UriComponents - VS Code marshalling helpers
2//!
3//! Centralised builders for VS Code `UriComponents` payloads. The
4//! renderer's reviver (`_transformIncomingURIs` in `uriIpc.ts`) walks
5//! every response object and only calls `URI.revive()` on nested
6//! objects tagged with `$mid === MarshalledId.Uri (= 1)`. An untagged
7//! `UriComponents` reaches callers as a plain bag - `uri.with is not a
8//! function`, `uri.fsPath` undefined - and the sidebar / icon loader /
9//! `joinPath` chain silently breaks.
10//!
11//! Layout (one export per file, file name = identity):
12//! - `MID_URI::VALUE` - the magic marshalling constant.
13//! - `StampMidUri::Fn` - tag a `Value::Object` with `$mid: 1`.
14//! - `FromFilePath::Fn` - `file://`-scheme builder from an absolute path.
15//! - `FromUrl::Fn` - generic-scheme builder from a URL string.
16//! - `Normalize::Fn` - accept string / object / missing and return a tagged URI
17//! bag.
18
19pub mod FromFilePath;
20
21pub mod FromUrl;
22
23pub mod MID_URI;
24
25pub mod Normalize;
26
27pub mod StampMidUri;