Skip to content

Commit

Permalink
v1.0.0-beta.1 - 2016-06-03
Browse files Browse the repository at this point in the history
  • Loading branch information
bjornstar committed Jun 3, 2016
1 parent 50762e4 commit 0a10084
Show file tree
Hide file tree
Showing 17 changed files with 97 additions and 152 deletions.
13 changes: 0 additions & 13 deletions component.json

This file was deleted.

58 changes: 14 additions & 44 deletions index.js
Original file line number Diff line number Diff line change
Expand Up @@ -19,28 +19,14 @@
// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
// USE OR OTHER DEALINGS IN THE SOFTWARE.

var EventEmitter;

try {
EventEmitter = require('emitter');
} catch (e) {
EventEmitter = require('events').EventEmitter;
}

if (!EventEmitter) {
throw new Error('Could not find EventEmitter, Tomes cannot start.');
}
var EventEmitter = require('events').EventEmitter;

function inherits(Child, Parent) {
Child.prototype = Object.create(Parent.prototype, {
constructor: { value: Child, enumerable: false, writable: true, configurable: true }
});
}

var exports = exports || {};
var isArray = Array.isArray;


// ________
// | \
// \$$$$$$$$______ ______ ____ ______ _______
Expand Down Expand Up @@ -84,6 +70,7 @@ function Tome(parent, key) {
__dirty__: { writable: true, value: 1 },
__root__: { writable: true, value: hasParentTome ? parent.__root__ : this },
_events: { configurable: true, writable: true },
_eventsCount: { configurable: true, writable: true },
_callbacks: { configurable: true, writable: true }
};

Expand Down Expand Up @@ -470,8 +457,18 @@ var tomeMap = {
"undefined": UndefinedTome
};

var types = Object.keys(tomeMap);

inherits(Tome, EventEmitter);

types.forEach(function (type) {
var typedTome = tomeMap[type];

inherits(typedTome, Tome);
Tome[typedTome.name] = typedTome;
});


// Every Tome is an EventEmitter, we can listen for four different events:
//
// - add: Emitted when a Tome receives a new property. Emits the key and
Expand All @@ -495,7 +492,7 @@ inherits(Tome, EventEmitter);
// - readable: Emitted when a Tome or any of its child Tomes are altered.
//

exports.Tome = Tome;
module.exports = exports = Tome;

Tome.isTome = function (o) {
// If it's literally undefined or null, it's not a Tome.
Expand Down Expand Up @@ -525,6 +522,7 @@ Tome.isTome = function (o) {
return name === 'Tome';
};

var isArray = Array.isArray;

Tome.typeOf = function (v) {

Expand Down Expand Up @@ -1070,10 +1068,6 @@ Tome.prototype.swap = function (key, target) {
// \$$$$$$


inherits(ArrayTome, Tome);

exports.ArrayTome = ArrayTome;

ArrayTome.isArrayTome = function (o) {
return Tome.isTome(o) && Tome.typeOf(o) === 'array';
};
Expand Down Expand Up @@ -1564,10 +1558,6 @@ ArrayTome.prototype.concat = function () {
// \$$$$$$$ \$$$$$$ \$$$$$$ \$$ \$$$$$$$ \$$$$$$$ \$$ \$$


inherits(BooleanTome, Tome);

exports.BooleanTome = BooleanTome;

BooleanTome.isBooleanTome = function (o) {
return Tome.isTome(o) && Tome.typeOf(o) === 'boolean';
};
Expand Down Expand Up @@ -1600,10 +1590,6 @@ BooleanTome.prototype.toJSON = function () {
// \$$ \$$ \$$$$$$ \$$ \$$


exports.NullTome = NullTome;

inherits(NullTome, Tome);

NullTome.isNullTome = function (o) {
return Tome.isTome(o) && Tome.typeOf(o) === 'null';
};
Expand Down Expand Up @@ -1637,10 +1623,6 @@ NullTome.prototype.typeOf = function () {
// \$$ \$$ \$$$$$$ \$$ \$$ \$$ \$$$$$$$ \$$$$$$$ \$$


exports.NumberTome = NumberTome;

inherits(NumberTome, Tome);

NumberTome.isNumberTome = function (o) {
return Tome.isTome(o) && Tome.typeOf(o) === 'number';
};
Expand Down Expand Up @@ -1705,10 +1687,6 @@ NumberTome.prototype.toLocaleString = function () {
// \$$$$$$


inherits(ObjectTome, Tome);

exports.ObjectTome = ObjectTome;

ObjectTome.isObjectTome = function (o) {
return Tome.isTome(o) && Tome.typeOf(o) === 'object';
};
Expand Down Expand Up @@ -1780,10 +1758,6 @@ ObjectTome.prototype.rename = function () {
// \$$$$$$


exports.StringTome = StringTome;

inherits(StringTome, Tome);

StringTome.isStringTome = function (o) {
return Tome.isTome(o) && Tome.typeOf(o) === 'string';
};
Expand Down Expand Up @@ -1816,10 +1790,6 @@ StringTome.prototype.toJSON = function () {
// \$$$$$$ \$$ \$$ \$$$$$$$ \$$$$$$$ \$$ \$$ \$$ \$$ \$$$$$$$ \$$$$$$$


exports.UndefinedTome = UndefinedTome;

inherits(UndefinedTome, Tome);

UndefinedTome.isUndefinedTome = function (o) {
return Tome.isTome(o) && Tome.typeOf(o) === 'undefined';
};
Expand Down
17 changes: 7 additions & 10 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
{
"name": "tomes",
"name": "@bjornstar/tomes",
"description": "Evented Storage Agnostic Data API",
"version": "0.1.0",
"author": "Wizcorp, Inc. <info@wizcorp.jp>",
"version": "1.0.0-beta.1",
"author": "Bjorn Stromberg <bjornstar@gmail.com>",
"maintainers": [
{ "name": "Bjorn Stromberg", "email": "bstromberg@wizcorp.jp" }
{ "name": "Bjorn Stromberg", "email": "bjornstar@gmail.com" }
],
"scripts": {
"test": "node test"
Expand All @@ -15,15 +15,12 @@
"nodeunit": "*",
"rumplestiltskin": "*"
},
"license": {
"type": "MIT",
"url": "https://github.com/Wizcorp/node-tomes/raw/master/LICENSE"
},
"license": "MIT",
"repository": {
"type": "git",
"url": "https://github.com/Wizcorp/node-tomes.git"
"url": "https://github.com/bjornstar/tomes.git"
},
"bugs" : {
"url" : "http://github.com/Wizcorp/node-tomes/issues"
"url" : "http://github.com/bjornstar/tomes/issues"
}
}
19 changes: 9 additions & 10 deletions test/modules/array.js
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
var tomes = require('../..');
var Tome = require('../..');

var Tome = tomes.Tome;
var ArrayTome = tomes.ArrayTome;
var BooleanTome = tomes.BooleanTome;
var NumberTome = tomes.NumberTome;
var ObjectTome = tomes.ObjectTome;
var StringTome = tomes.StringTome;
var NullTome = tomes.NullTome;
var UndefinedTome = tomes.UndefinedTome;
var ArrayTome = Tome.ArrayTome;
var BooleanTome = Tome.BooleanTome;
var NumberTome = Tome.NumberTome;
var ObjectTome = Tome.ObjectTome;
var StringTome = Tome.StringTome;
var NullTome = Tome.NullTome;
var UndefinedTome = Tome.UndefinedTome;

var instanceOf = function (actual, expected) {
if (actual instanceof expected) {
Expand Down Expand Up @@ -1195,4 +1194,4 @@ exports.moveRootIntoItself = function (test) {
test.strictEqual(JSON.stringify(a), JSON.stringify(b));

test.done();
};
};
19 changes: 9 additions & 10 deletions test/modules/boolean.js
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
var tomes = require('../..');
var Tome = require('../..');

var Tome = tomes.Tome,
ArrayTome = tomes.ArrayTome,
BooleanTome = tomes.BooleanTome,
NumberTome = tomes.NumberTome,
ObjectTome = tomes.ObjectTome,
StringTome = tomes.StringTome,
NullTome = tomes.NullTome,
UndefinedTome = tomes.UndefinedTome;
var ArrayTome = Tome.ArrayTome;
var BooleanTome = Tome.BooleanTome;
var NumberTome = Tome.NumberTome;
var ObjectTome = Tome.ObjectTome;
var StringTome = Tome.StringTome;
var NullTome = Tome.NullTome;
var UndefinedTome = Tome.UndefinedTome;

var instanceOf = function (actual, expected) {
if (actual instanceof expected) {
Expand Down Expand Up @@ -237,4 +236,4 @@ exports.testBooleanWas = function (test) {
b.assign(true);

test.done();
};
};
6 changes: 2 additions & 4 deletions test/modules/chainedmethods.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
var tomes = require('../..');

var Tome = tomes.Tome;
var Tome = require('../..');

exports.testChainSet = function (test) {
test.expect(12);
Expand Down Expand Up @@ -107,4 +105,4 @@ exports.testChainDestroy = function (test) {
test.strictEqual(destroyCount, 2);

test.done();
};
};
4 changes: 2 additions & 2 deletions test/modules/diff.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
var Tome = require('../..').Tome;
var Tome = require('../..');

exports.testDiffSimpleString = function (test) {
test.expect(2);
Expand Down Expand Up @@ -752,4 +752,4 @@ exports.testDiffIsDirty = function (test) {
test.deepEqual(JSON.parse(JSON.stringify(b)), JSON.parse(JSON.stringify(c)));

test.done();
};
};
6 changes: 3 additions & 3 deletions test/modules/isTome.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ try {
var tomeFile = fs.readFileSync('index.js');
fs.writeFileSync('tmp/index.js', tomeFile);

var TomeA = require('../..').Tome;
var TomeB = require('../../tmp').Tome;
var TomeA = require('../..');
var TomeB = require('../../tmp');

exports.crossTomeIsTome = function (test) {
test.expect(2);
Expand All @@ -26,4 +26,4 @@ exports.crossTomeIsTome = function (test) {
};

fs.unlinkSync('tmp/index.js');
fs.rmdirSync('tmp');
fs.rmdirSync('tmp');
10 changes: 5 additions & 5 deletions test/modules/move.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
var Tome = require('../..').Tome;
var Tome = require('../..');

exports.testMove = function (test) {
test.expect(1);
Expand Down Expand Up @@ -251,7 +251,7 @@ exports.testDiffMoveBackAndForth = function (test) {
var diff = b.read();
c.merge(diff);
});

a.b = a.a;
delete a.a;
b.move('a', 'b');
Expand Down Expand Up @@ -609,7 +609,7 @@ exports.testDiffReverseMove = function (test) {

test.deepEqual(JSON.parse(JSON.stringify(a)), JSON.parse(JSON.stringify(b))); // 1
test.deepEqual(JSON.parse(JSON.stringify(b)), JSON.parse(JSON.stringify(c))); // 2

test.done();
};

Expand All @@ -634,7 +634,7 @@ exports.testDiffMoveReverse = function (test) {

test.deepEqual(JSON.parse(JSON.stringify(a)), JSON.parse(JSON.stringify(b))); // 1
test.deepEqual(JSON.parse(JSON.stringify(b)), JSON.parse(JSON.stringify(c))); // 2

test.done();
};

Expand Down Expand Up @@ -698,4 +698,4 @@ exports.testDiffRenameShift = function (test) {
test.deepEqual(JSON.parse(JSON.stringify(b)), JSON.parse(JSON.stringify(c)));

test.done();
};
};
19 changes: 9 additions & 10 deletions test/modules/null.js
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
var tomes = require('../..');

var Tome = tomes.Tome,
ArrayTome = tomes.ArrayTome,
BooleanTome = tomes.BooleanTome,
NumberTome = tomes.NumberTome,
ObjectTome = tomes.ObjectTome,
StringTome = tomes.StringTome,
NullTome = tomes.NullTome,
UndefinedTome = tomes.UndefinedTome;
var Tome = require('../..');

var ArrayTome = Tome.ArrayTome;
var BooleanTome = Tome.BooleanTome;
var NumberTome = Tome.NumberTome;
var ObjectTome = Tome.ObjectTome;
var StringTome = Tome.StringTome;
var NullTome = Tome.NullTome;
var UndefinedTome = Tome.UndefinedTome;

var instanceOf = function (actual, expected) {
if (actual instanceof expected) {
Expand Down
19 changes: 9 additions & 10 deletions test/modules/number.js
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
var tomes = require('../..');
var Tome = require('../..');

var Tome = tomes.Tome,
ArrayTome = tomes.ArrayTome,
BooleanTome = tomes.BooleanTome,
NumberTome = tomes.NumberTome,
ObjectTome = tomes.ObjectTome,
StringTome = tomes.StringTome,
NullTome = tomes.NullTome,
UndefinedTome = tomes.UndefinedTome;
var ArrayTome = Tome.ArrayTome;
var BooleanTome = Tome.BooleanTome;
var NumberTome = Tome.NumberTome;
var ObjectTome = Tome.ObjectTome;
var StringTome = Tome.StringTome;
var NullTome = Tome.NullTome;
var UndefinedTome = Tome.UndefinedTome;

var instanceOf = function (actual, expected) {
if (actual instanceof expected) {
Expand Down Expand Up @@ -308,4 +307,4 @@ exports.toLocaleString = function (test) {
test.strictEqual(a.toLocaleString(), b.toLocaleString());

test.done();
};
};

0 comments on commit 0a10084

Please sign in to comment.