bijection
v0.6.1
Published
Node.js utility for mapping the properties of two Objects between each other
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 --saveUsage
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
