Socket
Socket
Sign inDemoInstall

dataparcels

Package Overview
Dependencies
7
Maintainers
1
Versions
42
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 2.0.0-alpha.3 to 2.0.0-alpha.4

arrange.js

27

lib/change/ChangeRequest.js

@@ -20,5 +20,5 @@ "use strict";

var _Errors = require("../errors/Errors");
var _Action = _interopRequireDefault(require("./Action"));
var _ChangeRequestReducer = _interopRequireDefault(require("../change/ChangeRequestReducer"));
var _ActionReducer = _interopRequireDefault(require("../change/ActionReducer"));

@@ -128,3 +128,3 @@ var _get = _interopRequireDefault(require("../parcelData/get"));

this._nextData = (0, _ChangeRequestReducer.default)(this)(this.prevData);
this._nextData = (0, _ActionReducer.default)(this._actions)(this.prevData);
return this._nextData;

@@ -136,6 +136,2 @@ } // $FlowFixMe - this doesn't have side effects

get: function get() {
if (!this._prevData) {
throw (0, _Errors.ChangeRequestNoPrevDataError)();
}
return this._prevData;

@@ -161,2 +157,19 @@ } // $FlowFixMe - this doesn't have side effects

}
}], [{
key: "squash",
value: function squash(others) {
if (others.length === 0) {
return new ChangeRequest();
}
var merged = others.reduce(function (prev, next) {
return prev.merge(next);
});
var changeRequest = new ChangeRequest(new _Action.default({
type: 'batch',
payload: merged.actions
}));
changeRequest._nextFrameMeta = merged._nextFrameMeta;
return changeRequest;
}
}]);

@@ -163,0 +176,0 @@ return ChangeRequest;

@@ -6,3 +6,3 @@ "use strict";

});
exports.AsNodeReturnNonParcelNodeError = exports.ChangeRequestNoPrevDataError = exports.ReducerInvalidStepError = exports.ReducerInvalidActionError = exports.ParcelTypeMethodMismatch = void 0;
exports.ParcelTypeMethodMismatch = void 0;

@@ -14,26 +14,2 @@ var ParcelTypeMethodMismatch = function ParcelTypeMethodMismatch(key, parcelType, path) {

exports.ParcelTypeMethodMismatch = ParcelTypeMethodMismatch;
var ReducerInvalidActionError = function ReducerInvalidActionError(actionType) {
return new Error("\"".concat(actionType, "\" is not a valid action"));
};
exports.ReducerInvalidActionError = ReducerInvalidActionError;
var ReducerInvalidStepError = function ReducerInvalidStepError(stepType) {
return new Error("\"".concat(stepType, "\" is not a valid action step type"));
};
exports.ReducerInvalidStepError = ReducerInvalidStepError;
var ChangeRequestNoPrevDataError = function ChangeRequestNoPrevDataError() {
return new Error("ChangeRequest data cannot be accessed before setting changeRequest.prevData");
};
exports.ChangeRequestNoPrevDataError = ChangeRequestNoPrevDataError;
var AsNodeReturnNonParcelNodeError = function AsNodeReturnNonParcelNodeError() {
return new Error("The return value of an asNode() updater must be a ParcelNode");
};
exports.AsNodeReturnNonParcelNodeError = AsNodeReturnNonParcelNodeError;
exports.ParcelTypeMethodMismatch = ParcelTypeMethodMismatch;

@@ -10,3 +10,3 @@ "use strict";

var _asNode = _interopRequireDefault(require("../parcelNode/asNode"));
var _combine = _interopRequireDefault(require("../parcelData/combine"));

@@ -22,5 +22,5 @@ var _default = function _default(config) {

} : _config$up,
preserveInput = config.preserveInput;
preserve = config.preserve;
if (!preserveInput) {
if (!preserve) {
return function (parcel) {

@@ -32,19 +32,27 @@ return parcel.modifyDown(down).modifyUp(up);

return function (parcel) {
return parcel.modifyDown((0, _asNode.default)(function (node) {
if ('translated' in node.meta) {
return node.update(function () {
return node.meta.translated;
});
return parcel.modifyDown(function (parcelData) {
if ('translated' in parcelData.meta) {
return {
value: parcelData.meta.translated
};
}
return node.update(down).setMeta({
untranslated: node.value
});
})).modifyUp((0, _asNode.default)(function (node) {
var updated = node.update(up);
return updated.setMeta({
translated: node.value,
untranslated: updated.value
});
}));
return (0, _combine.default)(down, function () {
return {
meta: {
untranslated: parcelData.value
}
};
})(parcelData);
}).modifyUp(function (parcelData) {
return (0, _combine.default)(up, function (_ref) {
var value = _ref.value;
return {
meta: {
translated: parcelData.value,
untranslated: value
}
};
})(parcelData);
});
};

@@ -51,0 +59,0 @@ };

@@ -22,4 +22,2 @@ "use strict";

var _cancel = _interopRequireDefault(require("../change/cancel"));
var _ChangeRequest = _interopRequireDefault(require("../change/ChangeRequest"));

@@ -35,3 +33,3 @@

var _prepUpdater = _interopRequireDefault(require("../parcelData/prepUpdater"));
var _combine = _interopRequireDefault(require("../parcelData/combine"));

@@ -94,3 +92,6 @@ var _setMetaDefault = _interopRequireDefault(require("../parcelData/setMetaDefault"));

},
registry: {},
treeShare: {
registry: {},
effectRegistry: {}
},
updateChangeRequestOnDispatch: doNothing

@@ -113,3 +114,2 @@ };

// Parent methods
// Side-effect methods
// Change methods

@@ -137,7 +137,6 @@ // Advanced change methods

(0, _defineProperty2.default)(this, "_frameMeta", void 0);
(0, _defineProperty2.default)(this, "_methods", void 0);
(0, _defineProperty2.default)(this, "_onHandleChange", void 0);
(0, _defineProperty2.default)(this, "_parcelData", void 0);
(0, _defineProperty2.default)(this, "_parent", void 0);
(0, _defineProperty2.default)(this, "_registry", void 0);
(0, _defineProperty2.default)(this, "_treeShare", void 0);
(0, _defineProperty2.default)(this, "_updateChangeRequestOnDispatch", void 0);

@@ -155,4 +154,2 @@ (0, _defineProperty2.default)(this, "_setInput", void 0);

(0, _defineProperty2.default)(this, "has", void 0);
(0, _defineProperty2.default)(this, "spy", void 0);
(0, _defineProperty2.default)(this, "spyChange", void 0);
(0, _defineProperty2.default)(this, "set", void 0);

@@ -196,4 +193,4 @@ (0, _defineProperty2.default)(this, "update", void 0);

parent = _createParcelConfig$p2 === void 0 ? _this._parent : _createParcelConfig$p2,
_createParcelConfig$r3 = createParcelConfig.registry,
registry = _createParcelConfig$r3 === void 0 ? _this._registry : _createParcelConfig$r3,
_createParcelConfig$t = createParcelConfig.treeShare,
treeShare = _createParcelConfig$t === void 0 ? _this._treeShare : _createParcelConfig$t,
_createParcelConfig$u = createParcelConfig.updateChangeRequestOnDispatch,

@@ -216,3 +213,3 @@ updateChangeRequestOnDispatch = _createParcelConfig$u === void 0 ? doNothing : _createParcelConfig$u;

parent: parent,
registry: registry,
treeShare: treeShare,
updateChangeRequestOnDispatch: updateChangeRequestOnDispatch

@@ -266,3 +263,3 @@ });

(0, _defineProperty2.default)(this, "_dispatchToParent", function (changeRequest) {
var parcel = _this._registry[_this._dispatchId];
var parcel = _this._treeShare.registry[_this._dispatchId];

@@ -370,8 +367,3 @@ if (parcel) {

(0, _defineProperty2.default)(this, "_idPushModifierUpdater", function (prefix, updater) {
var hash = function hash(fn) {
return "".concat((0, _HashString.default)(fn.toString()));
};
var id = updater._asRaw ? "s".concat(hash(updater._updater || updater)) : hash(updater);
return _this._idPushModifier("".concat(prefix, "-").concat(id));
return _this._idPushModifier("".concat(prefix, "-").concat((0, _HashString.default)((updater._updater || updater).toString())));
});

@@ -383,2 +375,25 @@ (0, _defineProperty2.default)(this, "_prepareChildKeys", function () {

});
(0, _defineProperty2.default)(this, "_effectUpdate", function (effectUpdater) {
var _treeShare = _this._treeShare;
var effectId = "".concat(_this.id, "-").concat((0, _HashString.default)(effectUpdater.toString())); // throttle effects with the same effectId
// the delay added by throttling is fine because these effects are async anyway
if (_treeShare.effectRegistry[effectId]) {
return;
}
_treeShare.effectRegistry[effectId] = true;
setTimeout(function () {
// apply the effect to the current version of the corresponding parcel
var parcel = _treeShare.registry[_this.id];
if (parcel) {
// remember to make this action exempt from history
// when history is added
parcel.update(effectUpdater);
}
delete _treeShare.effectRegistry[effectId];
}, 100);
});
//Types(`Parcel()`, `config`, `object`)(config);

@@ -396,3 +411,3 @@ var _handleChange = config.handleChange,

_parent = _ref2.parent,
_registry = _ref2.registry,
_treeShare2 = _ref2.treeShare,
_updateChangeRequestOnDispatch2 = _ref2.updateChangeRequestOnDispatch;

@@ -417,4 +432,4 @@

this._parent = _parent;
this._registry = _registry;
this._registry[this._getIdFromRawId(_rawId)] = this;
this._treeShare = _treeShare2;
_treeShare2.registry[this._getIdFromRawId(_rawId)] = this;

@@ -539,26 +554,4 @@ this._setInput = function (event) {

return (0, _has.default)(key)(_this._parcelData);
}); // Side-effect methods
// Types(`spy()`, `sideEffect`, `function`)(sideEffect);
}); // Change methods
this.spy = function (sideEffect) {
sideEffect(_this);
return _this;
}; // Types(`spyChange()`, `sideEffect`, `function`)(sideEffect);
this.spyChange = function (sideEffect) {
return _this._create({
rawId: _this._idPushModifier('sc'),
updateChangeRequestOnDispatch: function updateChangeRequestOnDispatch(changeRequest) {
var basedChangeRequest = changeRequest._create({
prevData: _this.data
});
sideEffect(basedChangeRequest);
return changeRequest;
}
});
}; // Change methods
this.set = function (value) {

@@ -570,3 +563,4 @@ return fireAction('set', value);

this.update = function (updater) {
fireAction('setData', (0, _prepUpdater.default)(updater)(_this._parcelData));
var preparedUpdater = (0, _combine.default)(updater);
fireAction('update', preparedUpdater);
};

@@ -638,10 +632,12 @@

this.modifyDown = function (updater) {
var parcelDataUpdater = (0, _prepUpdater.default)(updater);
var preparedUpdater = (0, _combine.default)(updater);
return _this._create({
rawId: _this._idPushModifierUpdater('md', updater),
parcelData: parcelDataUpdater(_this._parcelData),
parcelData: preparedUpdater(_this._parcelData),
updateChangeRequestOnDispatch: function updateChangeRequestOnDispatch(changeRequest) {
return changeRequest._addStep({
type: 'md',
updater: parcelDataUpdater
updater: function updater(parcelData) {
return preparedUpdater(parcelData);
}
});

@@ -654,12 +650,3 @@ }

this.modifyUp = function (updater) {
var parcelDataUpdater = function parcelDataUpdater(parcelData, changeRequest) {
var nextData = (0, _prepUpdater.default)(updater)(parcelData, changeRequest);
if (nextData.value === _cancel.default) {
throw new Error('CANCEL');
}
return nextData;
};
var preparedUpdater = (0, _combine.default)(updater);
return _this._create({

@@ -670,4 +657,9 @@ rawId: _this._idPushModifierUpdater('mu', updater),

type: 'mu',
updater: parcelDataUpdater,
changeRequest: changeRequest
updater: function updater(parcelData, changeRequest) {
return preparedUpdater((0, _objectSpread2.default)({}, parcelData, {
changeRequest: changeRequest
}));
},
changeRequest: changeRequest,
effectUpdate: _this._effectUpdate
});

@@ -674,0 +666,0 @@ }

@@ -24,6 +24,4 @@ "use strict";

var _setMeta = _interopRequireDefault(require("../parcelData/setMeta"));
var _combine = _interopRequireDefault(require("../parcelData/combine"));
var _prepUpdater = _interopRequireDefault(require("../parcelData/prepUpdater"));
var ParcelNode =

@@ -63,11 +61,9 @@ /*#__PURE__*/

(0, _defineProperty2.default)(this, "update", function (updater) {
var preparedUpdater = (0, _combine.default)(updater);
var parcelNode = new ParcelNode();
parcelNode._parcelData = (0, _prepUpdater.default)(updater)(_this._parcelData, _this._changeRequest);
parcelNode._parcelData = preparedUpdater((0, _objectSpread2.default)({}, _this._parcelData, {
changeRequest: _this._changeRequest
}));
return parcelNode;
});
(0, _defineProperty2.default)(this, "setMeta", function (meta) {
var parcelNode = new ParcelNode();
parcelNode._parcelData = (0, _setMeta.default)(meta)(_this.data);
return parcelNode;
});
this._parcelData = {

@@ -74,0 +70,0 @@ value: value

@@ -12,4 +12,2 @@ "use strict";

var _asRaw = _interopRequireDefault(require("../parcelData/asRaw"));
var _setMeta = _interopRequireDefault(require("../parcelData/setMeta"));

@@ -41,3 +39,3 @@

var _default = function _default(validatorMap) {
return (0, _asRaw.default)(function (parcelData) {
return function (parcelData) {
var invalidList = [];

@@ -93,5 +91,5 @@ var topLevelValue = parcelData.value;

return _pipeWith.default.apply(void 0, [parcelData].concat((0, _toConsumableArray2.default)((0, _pipeWith.default)(validatorMap, (0, _map.default)(mapValidationRuleApplier), (0, _toArray.default)())), [updateMeta]));
});
};
};
exports.default = _default;
{
"name": "dataparcels",
"version": "2.0.0-alpha.3",
"version": "2.0.0-alpha.4",
"description": "A library for editing data structures that works really well with React.",

@@ -10,3 +10,3 @@ "main": "lib/index.js",

"type": "git",
"url": "git+https://github.com/blueflag/dataparcels.git"
"url": "git+https://github.com/92green/dataparcels.git"
},

@@ -16,7 +16,6 @@ "files": [

"Action.js",
"asChildNodes.js",
"asNode.js",
"asRaw.js",
"arrange.js",
"cancel.js",
"ChangeRequest.js",
"combine.js",
"deleted.js",

@@ -28,3 +27,3 @@ "ParcelNode.js",

"bugs": {
"url": "https://github.com/blueflag/dataparcels/issues"
"url": "https://github.com/92green/dataparcels/issues"
},

@@ -57,3 +56,3 @@ "private": false,

},
"gitHead": "1240251f7f5e23196c2920239feba56373d3204a"
"gitHead": "1c1b911d00c7ccf9a05cf1d2c8025182ea467d40"
}
![dataparcels](https://user-images.githubusercontent.com/345320/48319791-4eece200-e666-11e8-8b19-252cd1135ae2.png)
<a href="https://www.npmjs.com/package/react-dataparcels"><img src="https://img.shields.io/npm/v/dataparcels.svg?style=flat-square"></a>
[![CircleCI](https://circleci.com/gh/blueflag/dataparcels/tree/master.svg?style=shield)](https://circleci.com/gh/blueflag/dataparcels/tree/master)
![](https://github.com/92green/dataparcels/workflows/test/badge.svg?branch=master)

@@ -10,3 +10,3 @@ A library for editing data structures that works really well with React.

**[See the docs](https://dataparcels.blueflag.codes)**
**[See the docs](https://92green.github.io/dataparcels/)**

@@ -13,0 +13,0 @@ ## Packages

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc