IModules
tw5-typed / modules / IModules
Interface: IModules
Defined in: src/modules/index.d.ts:52
Information about each module is kept in an object with these members:
- moduleType: type of module
- definition: object, function or string defining the module; see below
- exports: exports of the module, filled in after execution
The definition can be of several types:
- An object can be used to directly specify the exports of the module
- A function with the arguments
module,require,exportsthat returnsexports - A string function body with the same arguments
Each moduleInfo object is stored in two hashmaps: $tw.modules.titles and $tw.modules.types. The first is indexed by title and the second is indexed by type and then title
Properties
applyMethods()
applyMethods: (
moduleType,targetObject?) =>ITWModuleExports
Defined in: src/modules/index.d.ts:54
Apply the exports of the modules of a particular type to a target object
Parameters
moduleType
string
targetObject?
Returns
createClassesFromModules()
createClassesFromModules: (
moduleType,subType,baseClass) =>Record<string,ITWModuleExports>
Defined in: src/modules/index.d.ts:64
Return an array of classes created from the modules of a specified type. Each module should export the properties to be added to those of the optional base class
Parameters
moduleType
string
subType
string
baseClass
() => unknown
Returns
Record<string, ITWModuleExports>
createClassFromModule()
createClassFromModule: (
moduleExports,baseClass) =>ITWModuleExports
Defined in: src/modules/index.d.ts:59
Return a class created from a modules. The module should export the properties to be added to those of the optional base class
Parameters
moduleExports
baseClass
() => unknown
Returns
define()
define: (
moduleName,moduleType,definition) =>void
Defined in: src/modules/index.d.ts:76
Define a JavaScript tiddler module for later execution
Parameters
moduleName
string
name of module being defined
moduleType
string
type of module
definition
module definition; see discussion above
string | ITWModuleExports | TWModuleDefinitionFucntion
Returns
void
Memberof
ITWModules
execute()
execute: (
moduleName,moduleRoot) =>ITWModuleExports
Defined in: src/modules/index.d.ts:85
Execute the module named 'moduleName'. The name can optionally be relative to the module named 'moduleRoot'
Parameters
moduleName
string
moduleRoot
string
Returns
Memberof
ITWModules
forEachModuleOfType()
forEachModuleOfType: (
moduleType,callback) =>void
Defined in: src/modules/index.d.ts:93
Apply a callback to each module of a particular type
Parameters
moduleType
string
type of modules to enumerate
callback
(title, moduleExports) => void
function called as callback(title,moduleExports) for each module
Returns
void
Memberof
ITWModules
getModulesByTypeAsHashmap()
getModulesByTypeAsHashmap: (
moduleType,nameField) =>Record<string,IModuleInfo>
Defined in: src/modules/index.d.ts:98
Get all the modules of a particular type in a hashmap by their name field
Parameters
moduleType
string
nameField
string
Returns
Record<string, IModuleInfo>
titles
titles:
Record<string,IModuleInfo>
Defined in: src/modules/index.d.ts:103
hashmap by module name of moduleInfo
types
types:
Record<string,Record<string,IModuleInfo>>
Defined in: src/modules/index.d.ts:105
hashmap by module type and then name of moduleInfo