lux-framework
Version:
Build scalable, Node.js-powered REST APIs with almost no code.
24 lines (20 loc) • 513 B
JavaScript
// @flow
import type { Attribute$meta } from '../index';
import createGetter from './create-getter';
import createSetter from './create-setter';
import createNormalizer from './create-normalizer';
/**
* @private
*/
export default function createAttribute(opts: Attribute$meta): Object {
const normalize = createNormalizer(opts.type);
const meta = {
...opts,
normalize,
defaultValue: normalize(opts.defaultValue)
};
return {
get: createGetter(meta),
set: createSetter(meta)
};
}