loopback/node_modules/asteroid-module/README.md

57 lines
1.7 KiB
Markdown
Raw Normal View History

2013-04-09 18:33:29 +00:00
# asteroid-module
v0.0.1
## About
An `AsteroidModule` is an abstract class that provides a base for all asteroid modules. Its constructor takes an `options` argument provided by a `config.json`. It is also supplied with dependencies it lists on its constructor based on information in the `config.json` file.
2013-04-09 18:33:29 +00:00
## Example
See [resource](../resource) for an example asteroid module.
## AsteroidModule.dependencies
An asteroid module may define dependencies on other modules that can be configured in `config.json`. Eg. the [collection](../collection/lib/collection.js) module defines a [model](../model) dependency.
2013-04-09 18:33:29 +00:00
Collection.dependencies = {
model: 'model'
}
A configuration then must define:
{
"dependencies": {
"model": "some-model-module"
}
}
Where `some-model-module` is an existing `model` instance.
## AsteroidModule.options
Asteroid Modules may also describe the options they accept. This will validate the configuration and make sure users have supplied required information and in a way that the module can use to construct a working instance.
Here is an example options description for the [oracle database connection module](../connections/oracle-connection).
OracleConnection.options = {
'hostname': {type: 'string', required: true},
'port': {type: 'number', min: 10, max: 99999},
'username': {type: 'string'},
'password': {type: 'string'}
};
**key** the option name given in `config.json`.
**type** must be one of:
- string
- boolean
- number
- array
**min/max** depend on the type
{
min: 10, // minimum length or value
max: 100, // max length or value
}