1.0.0 • Published 8 years ago

js-mockdata-registry v1.0.0

Weekly downloads
2
License
MIT
Repository
github
Last release
8 years ago

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.

		"devDependencies": {
		    "js-mockdata-registry":        "~1.0.0"
		}

Once it is installed you can require the module.

		let mockdata = require('js-mockdata-registry')

Usage

This chapter explains the basic usage of the registry.

Mockdata interface

MethodDescription
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 markis 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) : BooleanChecks 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

/* 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')