UNPKG

json-prism

Version:

Immutable Prisms, i.e. Taking a Multifoci Json Path to Immutability, or A sentient item has some ability to communicate, either by sharing its emotions, broadcasting its thoughts telepathically, or speaking aloud.

50 lines (41 loc) 2.29 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var expressionR = /let ((?:[\0-\t\x0B\f\x0E-\u2027\u202A-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)/; // changeable enumeration values `labels` var Full = 'xFull'; var Partial = 'xPartial'; var Failure = 'xFailure'; // keywords var Basic = 'Basic'; var Simple = 'Simple'; var Normal = 'Normal'; var Complex = 'Complex'; var Complicated = 'Complicated'; var CompletionStatus = (0, _defineProperty2["default"])({}, Basic, { Full: Full, Partial: Partial, Failure: Failure }); var CompletionStatusFor = function CompletionStatusFor(mode) { return function () { var _ref2; var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, Full = _ref.Full, Partial = _ref.Partial, Complete = _ref.Complete, Eventual = _ref.Eventual, Failure = _ref.Failure, PartialFaliure = _ref.PartialFaliure, RetryableFailure = _ref.RetryableFailure, RetryablePartialFailure = _ref.RetryablePartialFailure, Do = _ref.Do, Done = _ref.Done; return _ref2 = {}, (0, _defineProperty2["default"])(_ref2, Full, Full), (0, _defineProperty2["default"])(_ref2, Partial, Partial), (0, _defineProperty2["default"])(_ref2, Complete, Complete), (0, _defineProperty2["default"])(_ref2, Eventual, Eventual), (0, _defineProperty2["default"])(_ref2, Failure, Failure), (0, _defineProperty2["default"])(_ref2, Partial, PartialFaliure), (0, _defineProperty2["default"])(_ref2, RetryableFailure, RetryableFailure), (0, _defineProperty2["default"])(_ref2, RetryablePartialFailure, RetryableFailure), (0, _defineProperty2["default"])(_ref2, Do, Do), (0, _defineProperty2["default"])(_ref2, Done, Done), _ref2; }; }; console.log(CompletionStatus); console.log(CompletionStatusFor(Basic)(CompletionStatus[Basic])); // const parse = expression => { // expressionR.test(expression) // ? {declaration: 'let', name: expressionR.exec(expression)[1], path: name, done: completionStatus.Full} // : // // };