bijection
v0.6.1
Published
Node.js utility for mapping the properties of two Objects between each other
Downloads
10
Maintainers
Readme
bijection
Map an input Object x
to an output Object y
via a bijective function f
, i.e. f: X -> Y
Install
$ npm install bijection --save
Usage
var Bijection = require('bijection');
var LegacyAccount = {
identity: 'crmacct',
attributes: {
crmacct_id: 'integer',
crmacct_name: 'string'
}
};
var Account = {
identity: 'Account',
attributes: {
id: 'integer',
sobriquet: 'string',
}
};
var AccountBijection = new Bijection({
domain: Account,
codomain: [ LegacyAccount ],
mapping: {
id: 'crmacct_id',
sobriquet: 'crmacct_name'
}
});
var tjwebbLegacyAccount = AccountBijection.map({ id: 1, sobriquet: 'tjwebb' });
/**
* tjwebbLegacyAccount = {
* crmacct_id: 1,
* crmacct_name: 'tjwebb'
* };
*/
API
new Bijection(f)
Create a new bijection between two domains
| @param | description
|:--|:--|
| f.domain
| The input domain
| f.codomain
| The output domain
| f.mapping
| Declarative object that indicates the mapping from X -> Y
.map(x)
Map an input Object x
to an output Object y
via a bijective function f
, i.e. f: X -> Y
| @param | description
|:--|:--|
| x
| The input object to map onto codomain Y
| @return | description
| y
| A particular image of codomain Y
resulting from mapping an input x
onto it
License
MIT