mezzanine
Version:
Fantasy land union types with pattern matching
54 lines (31 loc) • 1.55 kB
JavaScript
;Object.defineProperty(exports, "__esModule", { value: true });exports.fantasyOnClass = exports.fantasyInstance = exports.instanceInjectableProps = exports.iterator = undefined;
var _ramda = require('ramda');
var _fixtures = require('./fixtures');
var _fantasyLand = require('./fantasy-land');
require('../utils/props');
require('./type-container');
var iterator = exports.iterator =
ctx => function* iterator() {
for (var _iterator = ctx.keys, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {var _ref;if (_isArray) {if (_i >= _iterator.length) break;_ref = _iterator[_i++];} else {_i = _iterator.next();if (_i.done) break;_ref = _i.value;}var key = _ref; //TODO Replace with more useful values
//$FlowIssue
yield [key, ctx[key]];}
};
var instanceInjectableProps = exports.instanceInjectableProps = {
toJSON: {
value(ctx) {
//$FlowIssue
return () => (0, _fixtures.toJSON)(ctx);
},
writable: true,
enumerable: false,
inject: true },
//$FlowIssue
[Symbol.hasInstance]: ctx => val => ctx.is(val),
//$ FlowIssue
[Symbol.iterator]: iterator };
var prepareFl = (0, _ramda.pipe)(_ramda.toPairs,
//$ FlowIssue
arr => arr.concat(arr.map(([name, value]) => [`fantasy-land/${name}`, value])));
var fantasyInstance = exports.fantasyInstance = prepareFl(_fantasyLand.fantasyMethods);
var fantasyOnClass = exports.fantasyOnClass = prepareFl(_fantasyLand.fantasyStatic);
//# sourceMappingURL=properties.js.map