Comparing version
{ | ||
"name": "copykitten", | ||
"version": "0.0.1", | ||
"description": "Tiny immutable JSON" | ||
"name": "copykitten", | ||
"version": "0.0.2", | ||
"description": "Tiny immutable JSON", | ||
"scripts": { | ||
"test": "./node_modules/.bin/mocha --ui tdd test/test.js" | ||
}, | ||
"devDependencies": { | ||
"mocha": "^2.4.5" | ||
} | ||
} |
@@ -10,3 +10,3 @@ # copykitten.js | ||
_Tiny immutable JSON (< 1kb min + gzip)_ | ||
_Tiny immutable JSON (< 1kb gzipped)_ | ||
@@ -16,7 +16,2 @@ Functions to manipulate JSON data and return an updated copy. Leaves the | ||
A refrence to a CopyKitten object will always return the same | ||
value. This can make understanding your programs easier and is | ||
especially useful to detect state changes during top-down rendering | ||
(e.g. [Redux][redux]). | ||
CopyKitten is a minimal library, designed only for JSON data types: | ||
@@ -27,3 +22,7 @@ strings, numbers, booleans, null, objects, and arrays. For a much wider | ||
A refrence to a CopyKitten object will always return the same | ||
value. This can make understanding your programs easier, and help you | ||
detect state changes during top-down rendering (e.g. [Redux][redux]). | ||
## Data conversion | ||
@@ -51,29 +50,29 @@ | ||
* [toImmutable][#toImmutable] | ||
* [isImmutable][#isImmutable] | ||
* [FrozenObject][#FrozenObject] | ||
* [set(key, value)][#FrozenObject_set] | ||
* [remove(key)][#FrozenObject_remove] | ||
* [merge(props)][#FrozenObject_props] | ||
* [update(f)][#FrozenObject_update] | ||
* [thaw()][#FrozenObject_thaw] | ||
* [toJSON()][#FrozenObject_toJSON] | ||
* [FrozenArray][#FrozenArray] | ||
* [push(element1, ..., elementN)][#FrozenArray_push] | ||
* [pop()][#FrozenArray_pop] | ||
* [unshift([element1, ..., elementN)][#FrozenArray_unshift] | ||
* [shift()][#FrozenArray_shift] | ||
* [sort()][#FrozenArray_sort] | ||
* [splice(start, deleteCount, item1, item2, ...)][#FrozenArray_splice] | ||
* [slice(begin, end)][#FrozenArray_slice] | ||
* [every(callback)][#FrozenArray_every] | ||
* [filter(callback)][#FrozenArray_filter] | ||
* [forEach(callback)][#FrozenArray_forEach] | ||
* [indexOf(searchElement)][#FrozenArray_indexOf] | ||
* [join()][#FrozenArray_join] | ||
* [lastIndexOf(searchElement)][#FrozenArray_lastIndexOf] | ||
* [map(callback)][#FrozenArray_map] | ||
* [reduce(callback)][#FrozenArray_reduce] | ||
* [reduceRight(callback)][#FrozenArray_reduceRight] | ||
* [some(callback)][#FrozenArray_some] | ||
* [toImmutable](#toImmutable) | ||
* [isImmutable](#isImmutable) | ||
* [FrozenObject](#FrozenObject) | ||
* [set(key, value)](#FrozenObject_set) | ||
* [remove(key)](#FrozenObject_remove) | ||
* [merge(props)](#FrozenObject_props) | ||
* [update(f)](#FrozenObject_update) | ||
* [thaw()](#FrozenObject_thaw) | ||
* [toJSON()](#FrozenObject_toJSON) | ||
* [FrozenArray](#FrozenArray) | ||
* [push(element1, ..., elementN)](#FrozenArray_push) | ||
* [pop()](#FrozenArray_pop) | ||
* [unshift(element1, ..., elementN)](#FrozenArray_unshift) | ||
* [shift()](#FrozenArray_shift) | ||
* [sort()](#FrozenArray_sort) | ||
* [splice(start, deleteCount, item1, item2, ...)](#FrozenArray_splice) | ||
* [slice(begin, end)](#FrozenArray_slice) | ||
* [every(callback)](#FrozenArray_every) | ||
* [filter(callback)](#FrozenArray_filter) | ||
* [forEach(callback)](#FrozenArray_forEach) | ||
* [indexOf(searchElement)](#FrozenArray_indexOf) | ||
* [join()](#FrozenArray_join) | ||
* [lastIndexOf(searchElement)](#FrozenArray_lastIndexOf) | ||
* [map(callback)](#FrozenArray_map) | ||
* [reduce(callback)](#FrozenArray_reduce) | ||
* [reduceRight(callback)](#FrozenArray_reduceRight) | ||
* [some(callback)](#FrozenArray_some) | ||
@@ -80,0 +79,0 @@ <a name="toImmutable"></a> |
@@ -1,3 +0,10 @@ | ||
var assert = chai.assert; | ||
var assert = (typeof chai === 'undefined') ? | ||
require('assert'): | ||
chai.assert; | ||
var copykitten = (typeof copykitten === 'undefined') ? | ||
require('../copykitten'): | ||
copykitten; | ||
suite('isImmutable', function () { | ||
@@ -118,3 +125,2 @@ | ||
var obj3 = obj2.set('title', 'test'); | ||
console.log([obj3, obj2, obj]); | ||
assert.equal(obj3.author, obj2.author); | ||
@@ -220,3 +226,2 @@ assert.notEqual(obj3.title, obj2.title); | ||
assert.ok(obj2.foo instanceof copykitten.FrozenObject); | ||
console.log(obj2); | ||
assert.throws(function () { | ||
@@ -223,0 +228,0 @@ obj2.foo.bar = 456; |
409189
2.99%12
33.33%11151
0.03%1
Infinity%477
-0.21%