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
JavaScript
;
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}
// :
//
// };