-
Notifications
You must be signed in to change notification settings - Fork 0
API Host ScriptSources
Built-in script-source factories
Back to .NET Host API Reference
Note
Built-in resolvers normalize roots and full paths to use '/' separators internally. Entry paths resolve from the resolver root. Import/include dependencies resolve from the importing source full path. Composite reads are routed by ScriptSourceReference.BaseDirectory and BuildAsync() enumeration is de-duplicated by normalized FullPath.
ScriptSources provides factories for the most common resolvers: file system, memory, and ordered composition. A resolver only resolves paths, reads source text, and enumerates sources; the compiler builds the module graph.
Creates a file-system resolver rooted at a directory.
FileSystemScriptSourceResolver FileSystem(string root, Encoding encoding = null)Parameters
| Name | Type | Required | Description |
|---|---|---|---|
root |
string |
Yes | Script root directory. |
encoding |
Encoding |
No | Optional text encoding. |
Returns
FileSystemScriptSourceResolver.
var resolver = ScriptSources.FileSystem("./scripts");Creates an in-memory virtual source resolver rooted at the supplied source namespace.
MemorySourceResolver Memory(string root = "mem://")Parameters
| Name | Type | Required | Description |
|---|---|---|---|
root |
string |
No | Optional virtual root; defaults to mem://. |
Returns
MemorySourceResolver.
var resolver = ScriptSources.Memory("mem://app/")
.Add("main.as", "@module(MAIN); export func run() { return 42; }");Creates an ordered resolver composition. The first resolver that resolves a target wins.
CompositeScriptSourceResolver Composite(params IScriptSourceResolver[] resolvers)Parameters
| Name | Type | Required | Description |
|---|---|---|---|
resolvers |
IScriptSourceResolver[] |
No | Resolvers in priority order; earlier entries win. |
Returns
CompositeScriptSourceResolver.
var resolver = ScriptSources.Composite(
ScriptSources.Memory("./scripts").Add("generated.as", "@module(GEN);"),
ScriptSources.FileSystem("./scripts"));a memory overlay can override a file source only when the resolved target lies under the earlier memory root.
AuroraScript.JIT 4.0.0 · Documentation Home · Repository · MIT License