Class: ModuleSystem

ModuleSystem(logger, fileReadHandler)

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 filename#sheet.

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: heta, json, md, yaml, xlsx, sbml, or table.

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>