UNPKG

@lyra/form-builder

Version:
47 lines (36 loc) 1.49 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.dec = exports.inc = exports.insert = exports.setIfMissing = exports.unset = exports.set = exports.PatchEvent = undefined; var _flatten2 = require('lodash/flatten'); var _flatten3 = _interopRequireDefault(_flatten2); var _patches = require('./utils/patches'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } /*:: import type {PathSegment, Patch} from './utils/patches'*/ /*:: type PatchArg = Patch | Array<Patch>*/ class PatchEvent { static from(...patches /*: Array<PatchArg>*/) { return new PatchEvent((0, _flatten3.default)(patches)); } constructor(patches /*: Array<Patch>*/) { this.patches = patches; } prepend(...patches /*: Array<PatchArg>*/) /*: PatchEvent*/ { return PatchEvent.from([...(0, _flatten3.default)(patches), ...this.patches]); } append(...patches /*: Array<PatchArg>*/) /*: PatchEvent*/ { return PatchEvent.from([...this.patches, ...(0, _flatten3.default)(patches)]); } prefixAll(segment /*: PathSegment*/) /*: PatchEvent*/ { return PatchEvent.from(this.patches.map(patch => (0, _patches.prefixPath)(patch, segment))); } } exports.default = PatchEvent; exports.PatchEvent = PatchEvent; exports.set = _patches.set; exports.unset = _patches.unset; exports.setIfMissing = _patches.setIfMissing; exports.insert = _patches.insert; exports.inc = _patches.inc; exports.dec = _patches.dec;