https://github.com/msg-systems/js-mockdata-registry
JavaScript registry for mockdata
https://github.com/msg-systems/js-mockdata-registry
Last synced: 8 months ago
JSON representation
JavaScript registry for mockdata
- Host: GitHub
- URL: https://github.com/msg-systems/js-mockdata-registry
- Owner: msg-systems
- License: mit
- Created: 2016-10-31T07:52:39.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2016-10-31T11:21:40.000Z (over 9 years ago)
- Last Synced: 2025-03-15T23:57:11.374Z (about 1 year ago)
- Language: JavaScript
- Size: 2.93 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# js-mockdata-registry
JavaScript registry or mockdata
## Purpose
The `js-mockdata-registry` is a small registry for mockdata objects that should be references within other mockdata objects.
## Getting started
Simply add the `js-mockdata-registry` to your package.json file and use `npm install` for installation.
```json
"devDependencies": {
"js-mockdata-registry": "~1.0.0"
}
```
Once it is installed you can `require` the module.
```js
let mockdata = require('js-mockdata-registry')
```
## Usage
This chapter explains the basic usage of the registry.
### Mockdata interface
| Method | Description |
| --- | --- | --- |
| addObject (Object obj) | Adds the given object to the registry. The object must have the attribute `mark` with a unique value within the registry. The `mark`is consumed in the registration process. An error is throw if either the attribute `mark` is not exisiting or if its value is not unique |
| hasObject (String mark) : Boolean | Checks the registry if an object with the given `mark` exists|
| getObject (String mark) | Reads the desired registry entry for the given `mark`. Throws an error if the given mark is not existing in the registry. |
| removeObject (String mark) | Removes the desired registry entry for the given `mark`. Throws an error if the given mark is not existing in the registry. |
| log (Number depth) | Outputs the current registry using node's `util.inspect` function. The `depth` is handed over to the inspect function. |
| resolve (Object resultObj, Object obj, String attrib) | This function resolves an object reference to an registry entry. The originial `obj` won't be changed during resolve. Instead the `resultObj` will be altered. For more details see the examples. |
### Example usage
```js
/* in order to add objects we have to instanciate the registry */
let mockdata = require('js-mockdata-registry')
/* adding objects */
mockdata.registry.addObject({
mark: 'User.John',
firstname: 'John',
lastname: 'Doe'
})
/* reading objects */
mockdata.registry.getObject('User.John')
/* resolving references */
// define the new object with a objectRef to an existing mark
let project = {
desc: 'first project',
supervisor: { objectRef: 'User.John' }
}
// clone the base object
let resolvedProject = Object.assign({}, project)
// let the registry resolve the object reference
mockdata.registry.resolve(resolvedProject, project, 'supervisor')
```