new ModuleSystem(logger, fileReadHandler)
Loads platform modules and integrates include dependencies into one Q-array.
Parameters:
| Name | Type | Description |
|---|---|---|
logger |
Logger | Logger used for module diagnostics. |
fileReadHandler |
function | Reads module content by filename. |
Properties:
| Name | Type | Description |
|---|---|---|
moduleCollection |
object.<string, _Module> | Map-like storage for modules keyed by |
graph |
TopoSort | Include dependency graph. |
logger |
Logger | Logger used for module diagnostics. |
_top |
_Module | Top-level parsed module. |
Methods
_addModuleDeep(modulePath, type, options) → {_Module|undefined}
Recursively loads a module and its includes.
Parameters:
| Name | Type | Description |
|---|---|---|
modulePath |
string | Module path. |
type |
string | Module type. |
options |
object | Loader options. |
Returns:
Parsed module, or undefined if it was already loaded.
- Type
- _Module | undefined
addModule(filename, type, options) → {_Module}
Parses one module file and registers its direct includes.
Parameters:
| Name | Type | Default | Description |
|---|---|---|---|
filename |
string | Module filename. |
|
type |
string | heta | Module type. |
options |
object | Loader options. |
Returns:
Parsed module.
- Type
- _Module
addModuleDeep(rawModulePath, type, options) → {_Module}
Loads a top-level module and its include tree.
Parameters:
| Name | Type | Description |
|---|---|---|
rawModulePath |
string | Relative or absolute module path. |
type |
string | Module type: |
options |
object | Loader options. |
Returns:
Parsed top-level module.
- Type
- _Module
createModule(filename, type, options) → {_Module}
Parses one module file with the loader selected by type.
Parameters:
| Name | Type | Description |
|---|---|---|
filename |
string | Module filename. |
type |
string | Module type. |
options |
object | Loader options. |
Returns:
Parsed module, or an empty module when a recoverable error is logged.
- Type
- _Module
integrate() → {Array.<object>}
Composes parsed modules into one integrated Q-array.
Returns:
integrated Q-array.
- Type
- Array.<object>
sortedPaths() → {Array.<string>}
Sorts module ids by include dependencies.
Returns:
Array of modules ids.
- Type
- Array.<string>