Skip to content

Commit

Permalink
v1.4.2-a
Browse files Browse the repository at this point in the history
  • Loading branch information
NikolayMakhonin committed Oct 12, 2020
1 parent 55d3f78 commit 5b2491e
Show file tree
Hide file tree
Showing 67 changed files with 672 additions and 326 deletions.
165 changes: 117 additions & 48 deletions .idea/workspace.xml

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion HISTORY.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
1.4.0-a / 2020-10-12
1.4.0-a - 1.4.2-a / 2020-10-12
===================

Added custom calc depend func args valueIds
Expand Down
21 changes: 12 additions & 9 deletions dist/js/main/common/async/ThenableSync.js
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,6 @@ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs3/he

var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/createClass"));

var _currentState = require("../rx/depend/core/current-state");

var _async = require("./async");

var _marked = /*#__PURE__*/_regenerator.default.mark(_resolveAsyncAll);
Expand Down Expand Up @@ -262,19 +260,22 @@ var ThenableSync = /*#__PURE__*/function () {
this._onrejected = _onrejected = [];
}

var callState = (0, _currentState.getCurrentState)();
var callState = _async.stateProviderDefault.getState();

var rejected = onrejected ? function (value) {
var isError;
var prevState = (0, _currentState.getCurrentState)();

var prevState = _async.stateProviderDefault.getState();

try {
(0, _currentState.setCurrentState)(callState);
_async.stateProviderDefault.setState(callState);

value = onrejected(value);
} catch (err) {
isError = true;
value = err;
} finally {
(0, _currentState.setCurrentState)(prevState);
_async.stateProviderDefault.setState(prevState);
}

if (isError) {
Expand All @@ -296,16 +297,18 @@ var ThenableSync = /*#__PURE__*/function () {

_onfulfilled.push(onfulfilled ? function (value) {
var isError;
var prevState = (0, _currentState.getCurrentState)();

var prevState = _async.stateProviderDefault.getState();

try {
(0, _currentState.setCurrentState)(callState);
_async.stateProviderDefault.setState(callState);

value = onfulfilled(value);
} catch (err) {
isError = true;
value = err;
} finally {
(0, _currentState.setCurrentState)(prevState);
_async.stateProviderDefault.setState(prevState);
}

if (isError) {
Expand Down
103 changes: 97 additions & 6 deletions dist/js/main/common/async/async.js
Original file line number Diff line number Diff line change
@@ -1,15 +1,24 @@
"use strict";

var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");

exports.__esModule = true;
exports.isThenable = isThenable;
exports.isAsync = isAsync;
exports.registerStateProvider = registerStateProvider;
exports.resolveValue = resolveValue;
exports.resolveValueFunc = resolveValueFunc;
exports.ResolveResult = void 0;
exports.stateProviderDefault = exports.ResolveResult = void 0;

var _helpers = require("../helpers/helpers");
var _isArray = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/array/is-array"));

var _indexOf = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/index-of"));

var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/classCallCheck"));

var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/createClass"));

var _currentState = require("../rx/depend/core/current-state");
var _helpers = require("../helpers/helpers");

/* tslint:disable:no-circular-imports */
function isThenable(value) {
Expand All @@ -32,6 +41,88 @@ exports.ResolveResult = ResolveResult;
ResolveResult[ResolveResult["DeferredError"] = 6] = "DeferredError";
})(ResolveResult || (exports.ResolveResult = ResolveResult = {}));

var CombinedStateProvider = /*#__PURE__*/function () {
function CombinedStateProvider() {
(0, _classCallCheck2.default)(this, CombinedStateProvider);
this._stateProviders = [];
this._stateProvidersWereUsed = false;
}

(0, _createClass2.default)(CombinedStateProvider, [{
key: "registerStateProvider",
value: function registerStateProvider(stateProvider) {
var _context;

if (this._stateProvidersWereUsed) {
throw new Error('You should add state provider only before using them');
}

if ((0, _indexOf.default)(_context = this._stateProviders).call(_context, stateProvider) >= 0) {
throw new Error('stateProvider already registered');
}

this._stateProviders.push(stateProvider);
}
}, {
key: "getState",
value: function getState() {
this._stateProvidersWereUsed = true;
var len = this._stateProviders.length;

if (len === 0) {
return null;
}

if (len === 1) {
return this._stateProviders[0].getState();
}

var states = [];

for (var i = 0; i < len; i++) {
states[i] = this._stateProviders[i].getState();
}

return states;
}
}, {
key: "setState",
value: function setState(state) {
if (!this._stateProvidersWereUsed) {
throw new Error('Unexpected behavior');
}

var len = this._stateProviders.length;

if (len === 0) {
throw new Error('Unexpected behavior');
}

if (len === 1) {
this._stateProviders[0].setState(state);

return;
}

if (!(0, _isArray.default)(state) || state.length !== len) {
throw new Error('Unexpected behavior');
}

for (var i = 0; i < len; i++) {
this._stateProviders[i].setState(state[i]);
}
}
}]);
return CombinedStateProvider;
}();

var stateProviderDefault = new CombinedStateProvider();
exports.stateProviderDefault = stateProviderDefault;

function registerStateProvider(stateProvider) {
stateProviderDefault.registerStateProvider(stateProvider);
}

function resolveIterator(iterator, isError, onImmediate, onDeferred, customResolveValue) {
if (!(0, _helpers.isIterator)(iterator)) {
return ResolveResult.None;
Expand Down Expand Up @@ -125,12 +216,12 @@ function resolveThenable(thenable, isError, onImmediate, onDeferred) {
}

function _resolveValue(value, isError, onImmediate, onDeferred, customResolveValue, callState) {
var prevCallState = (0, _currentState.getCurrentState)();
var prevCallState = stateProviderDefault.getState();

if (callState == null) {
callState = prevCallState;
} else {
(0, _currentState.setCurrentState)(callState);
stateProviderDefault.setState(callState);
}

try {
Expand Down Expand Up @@ -191,7 +282,7 @@ function _resolveValue(value, isError, onImmediate, onDeferred, customResolveVal
return isError ? ResolveResult.ImmediateError : ResolveResult.Immediate;
}
} finally {
(0, _currentState.setCurrentState)(prevCallState);
stateProviderDefault.setState(prevCallState);
}
}

Expand Down
6 changes: 4 additions & 2 deletions dist/js/main/common/extensions/merge/mergers.js
Original file line number Diff line number Diff line change
Expand Up @@ -741,7 +741,8 @@ var MergerVisitor = /*#__PURE__*/function () {

default:
throw new Error('Unknown mergeResult: ' + mergeResult);
}
} // eslint-disable-next-line no-unreachable


throw new Error('Unreachable code');

Expand Down Expand Up @@ -779,7 +780,8 @@ var MergerVisitor = /*#__PURE__*/function () {

default:
throw new Error('Unknown mergeResult: ' + mergeResult);
}
} // eslint-disable-next-line no-unreachable


throw new Error('Unreachable code');
}
Expand Down
2 changes: 2 additions & 0 deletions dist/js/main/common/helpers/performance.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ exports.now = void 0;

var _bind = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/bind"));

/* eslint-disable no-undef */

/* tslint:disable:no-shadowed-variable */
var now;
exports.now = now;
Expand Down
4 changes: 3 additions & 1 deletion dist/js/main/common/index.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
"use strict";

exports.__esModule = true;
exports.ObjectPool = exports.dependWrapThis = exports.dependWait = exports.autoCalc = exports.autoCalcConnect = exports.Path = exports.deepSubscriber = exports.withMode = exports.forceLazy = exports.noSubscribe = exports.connectorFactory = exports.DependSet = exports.DependMap = exports.dependX = exports.depend = exports.CallStatusShort = exports.CallStatus = exports.subscribeCallState = exports.invalidateCallState = exports.getOrCreateCallState = exports.getCallState = exports.NO_CHANGE_VALUE = exports.ALWAYS_CHANGE_VALUE = exports.Random = exports.performanceNow = exports.delay = exports.DeferredCalc = exports.VALUE_PROPERTY_DEFAULT = exports.CalcStat = exports.isThenable = exports.isAsync = exports.webrainEquals = exports.webrainOptions = exports.equals = exports.isIterator = exports.isIterable = exports.ObjectSerializer = exports.registerSerializer = exports.registerSerializable = exports.BehaviorSubject = exports.Subject = exports.Connector = exports.PropertyChangedObject = exports.TypeMetaMergerCollection = exports.ObjectMerger = exports.registerMerger = exports.registerMergeable = exports.resolvePath = exports.calcPropertyFactoryX = exports.calcPropertyFactory = exports.CalcObjectBuilder = exports.ObservableObjectBuilder = exports.ClassBuilder = exports.ObjectBuilder = exports.ObservableObject = exports.ObservableClass = exports.resolveAsyncAny = exports.resolveAsyncAll = exports.resolveAsyncFunc = exports.resolveAsync = exports.ThenableSync = void 0;
exports.Object_End = exports.Object_Start = exports.ObjectPool = exports.dependWrapThis = exports.dependWait = exports.autoCalc = exports.autoCalcConnect = exports.Path = exports.deepSubscriber = exports.withMode = exports.forceLazy = exports.noSubscribe = exports.connectorFactory = exports.DependSet = exports.DependMap = exports.dependX = exports.depend = exports.CallStatusShort = exports.CallStatus = exports.subscribeCallState = exports.invalidateCallState = exports.getOrCreateCallState = exports.getCallState = exports.NO_CHANGE_VALUE = exports.ALWAYS_CHANGE_VALUE = exports.Random = exports.performanceNow = exports.delay = exports.DeferredCalc = exports.VALUE_PROPERTY_DEFAULT = exports.CalcStat = exports.isThenable = exports.isAsync = exports.webrainEquals = exports.webrainOptions = exports.equals = exports.isIterator = exports.isIterable = exports.ObjectSerializer = exports.registerSerializer = exports.registerSerializable = exports.BehaviorSubject = exports.Subject = exports.Connector = exports.PropertyChangedObject = exports.TypeMetaMergerCollection = exports.ObjectMerger = exports.registerMerger = exports.registerMergeable = exports.resolvePath = exports.calcPropertyFactoryX = exports.calcPropertyFactory = exports.CalcObjectBuilder = exports.ObservableObjectBuilder = exports.ClassBuilder = exports.ObjectBuilder = exports.ObservableObject = exports.ObservableClass = exports.resolveAsyncAny = exports.resolveAsyncAll = exports.resolveAsyncFunc = exports.resolveAsync = exports.ThenableSync = void 0;

var _ThenableSync = require("./async/ThenableSync");

Expand Down Expand Up @@ -115,6 +115,8 @@ exports.getCallState = _CallState.getCallState;
exports.getOrCreateCallState = _CallState.getOrCreateCallState;
exports.invalidateCallState = _CallState.invalidateCallState;
exports.subscribeCallState = _CallState.subscribeCallState;
exports.Object_Start = _CallState.Object_Start;
exports.Object_End = _CallState.Object_End;

var _contracts = require("./rx/depend/core/contracts");

Expand Down
2 changes: 1 addition & 1 deletion dist/js/main/common/random/Random.js
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ var _uuid = require("./uuid");

// from here: https://stackoverflow.com/a/47593316/5221762
function mulberry32(seed) {
return function () {
return function _mulberry32() {
var t = seed += 0x6D2B79F5;
t = (0, _imul.default)(t ^ t >>> 15, t | 1);
t ^= t + (0, _imul.default)(t ^ t >>> 7, t | 61);
Expand Down
1 change: 1 addition & 0 deletions dist/js/main/common/rx/deferred-calc/timing.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ var _setTimeout2 = _interopRequireDefault(require("@babel/runtime-corejs3/core-j

var _now = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/date/now"));

/* eslint-disable no-undef */
var timingDefault = {
now: _now.default,
setTimeout: typeof window === 'undefined' ? _setTimeout2.default : (0, _bind.default)(_setTimeout2.default).call(_setTimeout2.default, window),
Expand Down

0 comments on commit 5b2491e

Please sign in to comment.