UNPKG

json-logic-js-graphql

Version:

Graphql query support for json-logic-js using Lodash methods

77 lines (57 loc) 2.23 kB
'use strict' Object.defineProperty(exports, '__esModule', { value: true, }) Object.defineProperty(exports, 'jsonLogic', { enumerable: true, get: function get() { return _jsonLogicJs['default'] }, }) var _lodash = _interopRequireDefault(require('lodash')) var _jsonLogicJs = _interopRequireDefault(require('json-logic-js')) var _moment = _interopRequireDefault(require('moment')) var _operators = require('./operators.js') function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } ;(0, _moment['default'])().format() _operators.lodashOperators.forEach(function (name) { return _jsonLogicJs['default'].add_operation( '_'.concat(name), _lodash['default'][name] ) }) _jsonLogicJs['default'].add_operation('_isPastDate', function (date) { return (0, _moment['default'])(date).unix() < (0, _moment['default'])().unix() }) _jsonLogicJs['default'].add_operation('_isFutureDate', function (date) { return (0, _moment['default'])(date).unix() > (0, _moment['default'])().unix() }) _jsonLogicJs['default'].add_operation('_getDate', function (date) { return (0, _moment['default'])(date).toISOString() }) _jsonLogicJs['default'].add_operation('_gteDate', function (a, b) { return (0, _moment['default'])(a[1]).diff(a[0], b[1]) >= b[0] }) _jsonLogicJs['default'].add_operation('_gtDate', function (a, b) { return (0, _moment['default'])(a[1]).diff(a[0], b[1]) > b[0] }) _jsonLogicJs['default'].add_operation('_lteDate', function (a, b) { return (0, _moment['default'])(a[1]).diff(a[0], b[1]) <= b[0] }) _jsonLogicJs['default'].add_operation('_ltDate', function (a, b) { return (0, _moment['default'])(a[1]).diff(a[0], b[1]) < b[0] }) _jsonLogicJs['default'].add_operation('_eqDate', function (a, b) { return (0, _moment['default'])(a[1]).diff(a[0], b[1]) === b[0] }) _jsonLogicJs['default'].add_operation('_nonZeroMin', function (a) { return _lodash['default'].min(_lodash['default'].without(a, 0)) }) _jsonLogicJs['default'].add_operation('_nonZeroMax', function (a) { return _lodash['default'].max(_lodash['default'].without(a, 0)) }) _jsonLogicJs['default'].add_operation('_neq', function (a, b) { return !_lodash['default'].eq(a, b) })