Skip to content

Commit

Permalink
Merge 42d80d6 into f681080
Browse files Browse the repository at this point in the history
  • Loading branch information
TrySound committed Nov 14, 2017
2 parents f681080 + 42d80d6 commit 03d49a1
Show file tree
Hide file tree
Showing 4 changed files with 50 additions and 91 deletions.
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@
"dynamic"
],
"devDependencies": {
"@std/esm": "^0.14.0",
"@std/esm": "^0.15.0",
"benchmark": "^2.1.0",
"colors": "^1.1.2",
"coveralls": "^2.11.9",
Expand Down
76 changes: 46 additions & 30 deletions src/index.js
Original file line number Diff line number Diff line change
@@ -1,12 +1,25 @@
import {derivablePrototype} from './derivable';
import {mutablePrototype} from './mutable';
import {Derivation} from './derivation';
import {Proxy} from './proxy';
import {Atom} from './atom';
import {assign} from './util';
import {Atom, atom} from './atom';
import {Proxy, proxy} from './proxy';
import {Derivation, derive} from './derivation';
import global from './global';
import {assign, setDebugMode} from './util';
import * as parents from './parents';
import {deepUnpack, unpack} from './unpack';

import * as derivable from './module';
export {isDerivable, isAtom, isProxy, isDerivation} from './types';
export {map, mMap, or, mOr, and, mAnd} from './combinators.js';
export {transact, transaction, ticker, atomic, atomically} from './transactions';
export {Reactor as __Reactor} from './reactors';

export {
atom,
proxy,
derive,
unpack,
setDebugMode
};

assign(Derivation.prototype, derivablePrototype);
assign(Proxy.prototype, derivablePrototype, mutablePrototype);
Expand All @@ -17,29 +30,32 @@ if (global.__DERIVABLE_INIT_FLAG__) {
}
global.__DERIVABLE_INIT_FLAG__ = true;

export var __Reactor = derivable.__Reactor;
export var transact = derivable.transact;
export var setDebugMode = derivable.setDebugMode;
export var transaction = derivable.transaction;
export var ticker = derivable.ticker;
export var isDerivable = derivable.isDerivable;
export var isAtom = derivable.isAtom;
export var isProxy = derivable.isProxy;
export var isDerivation = derivable.isDerivation;
export var derive = derivable.derive;
export var atom = derivable.atom;
export var atomic = derivable.atomic;
export var atomically = derivable.atomically;
export var proxy = derivable.proxy;
export var unpack = derivable.unpack;
export var struct = derivable.struct;
export var wrapPreviousState = derivable.wrapPreviousState;
export var captureDereferences = derivable.captureDereferences;
export var map = derivable.map;
export var mMap = derivable.mMap;
export var or = derivable.or;
export var mOr = derivable.mOr;
export var and = derivable.and;
export var mAnd = derivable.mAnd;
export function struct (arg) {
if (arg.constructor === Object || arg instanceof Array) {
return derive(function () {
return deepUnpack(arg);
});
} else {
throw new Error("`struct` expects plain Object or Array");
}
}

export default derivable;
export function wrapPreviousState (f, init) {
var lastState = init;
return function (newState) {
var result = f.call(this, newState, lastState);
lastState = newState;
return result;
};
}

export function captureDereferences (f) {
var captured = [];
parents.startCapturingParents(void 0, captured);
try {
f();
} finally {
parents.stopCapturingParents();
}
return captured;
}
57 changes: 0 additions & 57 deletions src/module.js

This file was deleted.

6 changes: 3 additions & 3 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
# yarn lockfile v1


"@std/esm@^0.14.0":
version "0.14.0"
resolved "https://registry.yarnpkg.com/@std/esm/-/esm-0.14.0.tgz#125081a4daf99a98ca63afe3f0610a8739e15067"
"@std/esm@^0.15.0":
version "0.15.0"
resolved "https://registry.yarnpkg.com/@std/esm/-/esm-0.15.0.tgz#ffbdeb6dd6834daf6bc8fa095a82681e93786529"

abab@^1.0.3:
version "1.0.4"
Expand Down

0 comments on commit 03d49a1

Please sign in to comment.