UNPKG

mezzanine

Version:

Fantasy land union types with pattern matching

54 lines (31 loc) 1.55 kB
'use strict';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