All notable changes to this project will be documented in this file. Dates are displayed in UTC.
Generated by auto-changelog
.
- Bump husky from 9.1.0 to 9.1.1
#92
- Bump husky from 9.0.11 to 9.1.0
#91
- Bump @eslint/js from 9.6.0 to 9.7.0
#90
- Bump eslint from 9.6.0 to 9.7.0
#89
- Bump rollup from 4.18.0 to 4.18.1
#88
- Updating some function signatures and types def
b579b21
- Updating README.md benchmark section with a macbook air m3 (2024)
531dcb8
6 July 2024
- Bump mocha from 10.5.2 to 10.6.0
#87
- Bump globals from 15.7.0 to 15.8.0
#86
- Bump typescript from 5.5.2 to 5.5.3
#85
- Bump globals from 15.6.0 to 15.7.0
#84
- Bump @eslint/js from 9.5.0 to 9.6.0
#83
- Bump eslint from 9.5.0 to 9.6.0
#82
- Bump mocha from 10.5.1 to 10.5.2
#81
- Bump mocha from 10.5.0 to 10.5.1
#80
- Bump mocha from 10.4.0 to 10.5.0
#79
- Bump typescript from 5.4.5 to 5.5.2
#78
- Bump globals from 15.4.0 to 15.6.0
#77
- Updating dependencies, 'files' array of 'package.json', & 'haro.d.ts'
be76bc0
- Generating CHANGELOG.md
8786238
16 June 2024
- Removing defaults from 'this.merge()' to allow setting 'undefined'
aaa607e
- Generated CHANGELOG.md
6587796
16 June 2024
16 June 2024
- Updating README.md, undoing change to 'this.merge()' & removing erroneous tests
16c9543
- Generating CHANGELOG.md
37d834d
16 June 2024
- Creating 'this.uuid()' from lexical scope function, updating tests to remove outdated 'logging' option
dc81050
- Generating CHANGELOG.md
c203a99
16 June 2024
16 June 2024
- Refactoring utility functions into class functions
#76
- Bump eslint from 9.4.0 to 9.5.0
#75
- Bump @eslint/js from 9.4.0 to 9.5.0
#74
- Version bump to release, generating CHANGELOG.md
168a67d
- Generating CHANGELOG.md
4c45061
11 June 2024
- Removing a 'clone()' from 'set()', replacing '||' with '??' operator
ec622c4
11 June 2024
11 June 2024
- Updating build
#73
- Removing issues
21ccad7
- Updating build tools, adding constants.js, updating utils.js, setting 'this.key' if not on the record
646e655
- Building outputs
9980d75
6 April 2021
- Updating README.md
a30e08e
6 April 2021
- Sync refactor
#72
- Updating README.md, .npmignore, adding
precise
dev dependency forbenchmark.js
a9e3e06
- Updating CHANGELOG.md
ec39645
- More changes (WIP)
06a75dd
5 April 2021
- Creating
onoverride(type)
and executing fromoverride(type)
, updating dependencies, updating copyright year in LICENSE & README.md35ab498
9 December 2020
4 December 2020
- Revert "Merge pull request #71 from avoidwork/workers"
90351ae
- Version bump to release, generating CHANGELOG.md, undoes
ArrayBuffer
worke94411e
- Revert "Version bump to release, generating CHANGELOG.md"
8caf564
3 December 2020
- Binary storage
#71
- Adding benchmark data.json (missed in last commit)
20139cf
- Initial refactoring to storing
ArrayBuffer
instances instead ofObjects
c98d3be
- Removing
clone()
because it's not needed if working withArrayBuffer
instancesde32c95
29 November 2020
- Removing
logical not
operators, removing argument fromhas()
f967ab2
- Updating CHANGELOG.md
d8eb0a7
- Updating CHANGELOG.md
792cd3b
28 November 2020
- Fixing a copy/pasta error in new
indexKeys()
54541a8
26 November 2020
26 November 2020
- Find
#70
- Early version bump to imply memory requirements are going to change and can be considered a "breaking change"
582809a
- Updating changelog
8e4d362
- Refactoring how
setIndex()
generates data053d946
24 November 2020
- Updating everything
#69
- Updating build tools, breaking change with a named export
b327eb2
- Adding
auto-changelog
dev dependency back, turning original value ofrepository.url
21f64c2
- Updating the remaining tests
6056e3d
16 September 2020
- Fixing how multiple inputs for a non-array attribute is queried
8d3554c
3 September 2020
- Updating CHANGELOG.md
9030311
- Fixing
dump("indexes")
such that Map keys remain the correct type, updating tests - breaking change to support primitives again629dae8
3 September 2020
- Fixing
dump("indexes")
such that Map keys remain the correct typebc72535
10 May 2020
10 May 2020
8 May 2020
7 May 2020
- Removing truthy condition from
get()
such that the output is consistent in shape (breaking change for invalid key & tuple result), updating "invalid" read tests1cd84f5
- Updating CHANGELOG.md
476d5d0
13 April 2020
- Removing unneeded attributes for major release
4c238ea
11 April 2020
- Undoing change to
toArray()
and adding a minor optimizationb5561f5
11 April 2020
- Narrowing responsibilities
#66
- Bump acorn from 7.1.0 to 7.1.1
#65
- Swapping
babel-minify
forterser
b5a910b
- Updating CHANGELOG.md
e35a5d3
- Updating CHANGELOG.md
137baa6
22 February 2020
22 February 2020
- Optimizations
#64
- Refactoring
dump()
&override()
to do less ops30c31d9
- Updating minimum node.js engine & updating travis-ci.org config, removing old benchmark.js
4eccd0c
- Removing unneeded funtions, etc.
3cd35a0
20 December 2019
20 December 2019
- Create FUNDING.yml
#63
- Bump eslint-utils from 1.4.0 to 1.4.2
#62
- Updating dependencies
6edc102
- Removing notion of abstracting an API - realistically caching strategies could / should be more complex than what this lib would be aware of, updating travis-ci.org configuration, updating README, version bump for breaking change
bb30a64
- Generating new changelog file
511cc61
27 February 2019
- Adding inner param in where function
#60
- Version bump for refactored
where()
, adjusting minified banner inclusiond3f2765
- Upgrading dev dependency
3ed03f4
- Adding inner join on where clause
3de61a0
24 January 2019
- Fixing
keyIndex()
for dealing with inconsistent shapes49ecbe9
13 January 2019
- Using
String.includes()
, removing unneeded ops from conditional statementsa392d4c
10 January 2019
- Minimizing assignment of
lindex
insetIndex()
2ca8acf
10 January 2019
- Fixing
setIndex()
such thatArray
values are indexed individually unless the index key includes a delimiter, fixes #59#59
8 January 2019
- Refactoring
where()
to supportRegExp
values in the predicate44f359e
18 October 2018
- Refactoring
where()
to support arrays of values to test against a key9c2dab3
- Forgot to quote the joined array in
where()
f436b60
11 October 2018
- Setting
content-type
header on outbound requestsc5a7614
27 September 2018
- Revert "Refactoring
where()
such that the predicate does not have to be a indexed values, e.g. an awarefilter()
"a8cf154
- Reverting recent change to
where()
ef73cff
24 September 2018
- Refactoring
where()
such that the predicate does not have to be a indexed values, e.g. an awarefilter()
584779e
29 June 2018
- Setting
adapters
from factory, changingundefined
tovoid 0
8511953
3 April 2018
- Fixing a regression in utility
joinData()
c29d1ea
3 April 2018
- Creating
reduce()
, refactoringfilter()
to usereduce()
, fixing a type assumption inwhere()
's meta function24888cf
2 April 2018
- Simplifying
cast()
69a0da4
2 April 2018
- wtf npm
cf3507a
2 April 2018
2 April 2018
- I can't even part deux - reducing
where()
3e09447
2 April 2018
- I can't even
2edc973
2 April 2018
2 April 2018
- Refactoring
utility.each()
, creatingwhere(predicate)
for situations wheresearch()
&find()
are not ideal71a334e
25 February 2018
- Refactoring
override()
to create a newMap()
atstore.data
a2f2a49
22 February 2018
- Creating
size
property to mimic the underlyingMap
better & updating tests54f788c
20 February 2018
- Optimizing startup time (reduced tests by 400ms on my macbook air)
290534b
17 February 2018
13 February 2018
- Creating
exec()
to managedel()
&set()
655ad7d
13 February 2018
- Reverting a change of
merge()
toObject.assign()
due to deep cloning mistakes9ce4ccf
8 February 2018
- Initial refactoring to
async/await
synctax & major version bump, removing babel transpile (WIP)718eaa6
- Initial commit refactoring to
async/await
syntax7dadd81
- Removing object spread merge due to minification issue with babel-minify
c1f1c71
6 February 2018
- Updating signatures to return
new Promise()
where applicable (ground work for move toasync/await
), updating dependencies & lint9cb9aa4
- Adding
package-lock.json
for npm@5923be71
- Fixing lock file?
7c7d698
3 June 2017
- Removing a useless node module named
Blob
, fixes #57#57
10 May 2017
- Fixing a deprecated value for
fetch()
f0da6e4
12 April 2017
- Reverting changes to adapters introduced with 3.4 due to an incompatible API for pre-existing adapters, fixes #56
#56
30 March 2017
- Removing
setIndexValue()
ad6c6f0
20 March 2017
- Removing
try/catch
statements fromfactory()
,sync()
&blob()
& relying onPromise
for error handlingffaaec5
18 March 2017
18 March 2017
- Simplifying
search()
, fixes #53#53
- Adding a reasonable data set for benchmarking
8e8cd51
- Simplifying
cast()
, addinglazyLoad
&retry
parameters todel()
, replacingregistry
with agetter
for anArray
fromthis.data.keys()
, changing order of ops infactory
such that the batch operation may benefit from a worker thread in the futurec123896
- Fixing factory & constructor, disabling versioning by default
938c26f
16 March 2017
5 March 2017
- Adding
debounce
configuration property to debounce changes transmitted over the wired8e5beb
- Renaming
server
const tonode
4218906
- Cleaning up
this.debounced
from the debounced function6abcf10
5 February 2017
- Making the arguments of
beforeRequest()
by reference2110186
5 February 2017
- Moved
beforeSync()
execution intosync()
for consistent behavior24e3c6f
- Moved
beforeSync()
execution intosync()
for consistent behavior2117bf4
5 February 2017
- Adding
before*
handlers627ecec
4 February 2017
- Blocking an infinite retry loop in
set()
f60219f
4 February 2017
- Adding third argument to
onset()
call to signal a retry5a2ca79
4 February 2017
- npm fail? version bump
10293a1
4 February 2017
- Fixing
set()
by passingbatch
on recursive call, removingonset()
c436884
4 February 2017
- Fixing
onset()
arguments when called for a reversion213d643
4 February 2017
- Adding a third argument to
onset
to indicate if the operation is a reversion0be2c17
4 February 2017
- Fixing
find()
by passingthis.pattern
c3677ad
3 February 2017
- Adding second argument to
ondelete()
&onset()
handlers5b07d1d
3 February 2017
- Fixing handling of
res.headers
when using latestfetch()
polyfill98aa80c
- Adding third step to benchmark to prove overridden data & adding logging for absent records
22d9598
- Updating benchmark to have proper indices
053a4c7
31 January 2017
- Updating build tools, changing bower.json to include contents of
/lib
58003e2
- More bower tweaks
c241e5d
23 January 2017
- Refactoring some signatures to minimize assignments, fixing
transmit()
retry when a delete patch fails6cf027c
23 January 2017
- Refactoring
batch()
such that it is no longer a vehicle for over the wire i/o - it'll only do local async ops1c1dae3
22 January 2017
22 January 2017
- Fixing
del()
to useog
when callingdelIndex()
eeaa22e
22 January 2017
- Refactoring
set()
to resolve before going over the wire, creatingtransmit()
fd1bbe4
- Refactoring
del()
to resolve before going over the wire87383f5
- Updating README
82e7960
7 January 2017
7 January 2017
- Removing
tuple
&deferred()
dependencies, createdthis.list()
which returns a frozen Array of the arguments, creatinghas()
utility function, usingconst
where possible, compressing statements where possible, updatingcrawl()
to return a clone of the input if thethis.source
is not found2b2be35
- Updating adapter example to remove
tiny-defer
, updatingsortBy()
signaturefffef1e
- Updating README
20a6f8d
5 December 2016
- Creating
onrequest()
handler to allow custom transformation of requested data, fixes #54#54
22 November 2016
- Changing the signature of
each()
to accept a third param to determine if the iteration can exit early (to minimize unneeded ops), refactoringiterate()
to useeach()
, usingeach()
where possible (reversion from 2.x)a6b46aa
- Minor tweak to params for
each()
function141e914
19 November 2016
- Minor change to be logical for node env
caa6b2d
19 November 2016
19 November 2016
19 November 2016
- Splitting tests up for debugging
f99db38
- Updating
eslint
task to include the test file, fixing lint errors in test fileab5572d
- Updating online tests
0d22aab
2 November 2016
- Updating dependencies, updating eslint rules & fixing lint errors
21a454f
- Tweaking package.json
97afe80
- Updating travis-ci.org config to map to current LTS & edge
01915ae
28 October 2016
- Updating
filter()
to add a secondraw
parameter to get anArray
ofObjects
c0dc323
27 October 2016
- Fixing a regression of
limit()
by switching to[].slice()
2c76e4b
25 October 2016
- Changing the signature of
toArray()
to remove decoration of the record keys in the resultingArray
because it shouldn't happen37eaac5
24 October 2016
- Changing the signature of
toObjekt()
to add a secondfrozen = true
parameter which is passed fromthis.toObject()
, updatingtoObject()
to insure the return is frozen, updating tests, updatingbatch()
to minimize unneededObject.freeze()
78be7cc
- Fixing
toArray()
such thatArray
contents are frozen iffrozen
istrue
5c90bc7
- Changing the signature of
map()
to accept a secondraw
parameterd24f4b4
23 October 2016
- Refactoring
limit()
to do less work, changing order of parameters forlimit()
to align with common order of parameters: fixes #52, adding third parameter tolimit()
to return raw record: fixes #51, updatingsearch()
to do less ops, updatingsort()
to utilizelimit()
, addingyarn.lock
to.gitnore
#52
#51
21 September 2016
21 September 2016
- Removing
es6-*
polyfills, setting minimum engine version to 4.0.0+, updating dependencies, bumping major version due to engine strictness (breaking change potentially)335c6cb
8 August 2016
- Fixing how
search()
handles indexedArrays
by doing an explicitjoin()
when testing with aRegExp
, fixes #50#50
- Updating a failing test assertion (old value was wrong based on Array handling), updating website URL in package.json
80f4af3
- Updating assertion count in test
a01dd2f
15 July 2016
- Adding
loading
, updating testsb8d4939
- Adding a test for
loading
e9b503d
- Updating travis-ci.org config
4516d6c
13 June 2016
28 May 2016
- Initial update, adding
raw
parameter tosearch()
845da30
- Fixing eslint config
68cee12
- Update bower.json
ebba88e
28 December 2015
- Fixing record sets passed in
batch
&sync
pipelines85811ce
28 November 2015
- Fixing AMD detection
ecad294
5 November 2015
- Version bump for npm (sigh)
97fdefd
5 November 2015
- Fixing by returning a clone of the record when asking for the raw data, added a test
3f8a845
27 October 2015
- Reversing the order for dual context situations like nwjs
e8166d2
24 October 2015
24 October 2015
- Removing a conditional via ternary, updating the README example
5652af5
24 October 2015
- Revising parameters of
join()
to support twoWHERE
clause descriptors, adding a test93959e2
19 October 2015
- Changing
onbatch
arguments to be ['type',Tuple
]f5370b2
19 October 2015
- Adding event hooks in the form of prototype noop methods for overriding on an instance, fixes #45
#45
- Forgot the throws
fd3369d
- Updating README for
join()
de6ed33
16 October 2015
- 1.8
#44
- Implementing "inner", "left", & "right" joins in
joinData()
, fixes #41#41
- Fleshing out
join()
&joinData()
more368dbc0
- Creating
join(other, on, type, where)
which utilizesoffload()
for multi-threading, fleshed outjoinData()
but it's a WIP, initial work for #4100b23b7
- Functional inner join, need to audit resulting object
1264f22
15 October 2015
- Undoing a recent change to
set()
, creating a test for an existing bug2589dc2
- Switching
const
containers back to native, node 4.2.1 is faster936f8b9
- Nullifying an invariant before deleting it's origin, fixing tests
812bd82
14 October 2015
- Fixing a key error in
set()
19f99af
14 October 2015
14 October 2015
- Misc file changes
068df75
- Blocking
null
&undefined
indices since that's counter intuitive to finding data982dd09
2 October 2015
- Initial refactoring of
createIndexes()
for very large data sets (40MB+) [WIP]880cbce
- Completing refactoring of
createIndexes()
c4fc1a2
- Updating bower & npmignore files
9661e09
29 September 2015
- Implementing
tiny-worker
for a nodejsWorker
85f6d2b
- Dropping iojs since the worker module is not compatible with that (and it's ... kinda dead)
a0a4a77
29 September 2015
- Adding server side worker support & a blob placeholder (not utilized beyond an existence check)
620fd25
29 September 2015
29 September 2015
- Completing
offload()
, fixes #43#43
- Changing
set()
to callconcatUri()
once, fixes #42#42
- Creating
createIndexes()
to be used sync or async with aWorker
, movedtransform()
for lint1573699
- Moving
transform()
out of the class and calling it depending upon input, more prep work for aWorker
e112d3f
- Renaming the utility
transform()
tocast()
to avoidClass
issues, creatingonmessage()
with mimic messaging91b6ef4
21 September 2015
- Extending
tranform()
with an optional second parameterd2ff10a
- Extending
override()
with an optional third parameter50744db
- Update README.md
82f0bc6
19 September 2015
- Creating
dump()
,override()
, &transform()
f4a37e1
- Updating benchmark to compare the override timing
2b0ffcd
- Updating README
5c80753
31 August 2015
- Replaces internal
deferred()
withtiny-defer
module, removes custom biz logic fromthis.pattern
("." and "-")d7f91eb
- Back to basics...
5e4dd30
- Definitely do not want native promise in nodejs (atm, very slow)
8dbd232
22 August 2015
- Removes business logic from
keyIndex()
and moves it onto the instance ofHaro
aspattern
, fixes #40#40
14 August 2015
- Fixing a reference error in browser env
828774f
13 August 2015
- Relying on
es6-promise
for server side due to V8's overhead withArrays
forPromises
(aka it's slower)7da9df9
- Updating README
363df89
27 July 2015
- Fixing
load()
by not sending the data right back into the adapterse2fdf4f
27 July 2015
- Refactoring
toArray()
to include the record key for a complete ''export', changing the signature ofsort()
to accept a second parameter to keep the result unfrozen56c2001
27 July 2015
- Updating signature of
merge()
3dce2c1
25 July 2015
- Adding the index as the second parameter to
search(fn())
, fixes #36#36
12 July 2015
- Refactoring
search()
to support anArray
forindex
& default tothis.index
when not supplied843fc44
12 July 2015
- Refactoring
toObject()
to support a subset of data and optional freezing, fixes #35, adding tests#35
12 July 2015
- Refactoring
toArray()
to support a subset of data and optional freezing, fixes #34#34
- Version bump
7e6f6e9
10 July 2015
- Changing how
rgex
is determined insearch()
, fixes #33#33
10 July 2015
- Fixing the minified file, fixes #32, fixing index keys such than they're normalized, fixes #30
#32
#30
7 July 2015
6 July 2015
- Fixing the order of arguments for
limit()
such that it maps to mysql5bd85d2
5 July 2015
5 July 2015
- Add a Gitter chat badge to README.md
#29
- Updating
console
statements to be consistent, refactoringload()
&unload()
, updating README294b507
- Updating README
ea350fe
- Added Gitter badge
92c5c37
4 July 2015
- Returning concerns to the DataStore from the adapters
520fb72
4 July 2015
- Extending the logging, created
unload([adapter])
to remove the DataStore from persistent storage (this doesn't erase individual records, that's different data!), fixes #28#28
- Extending the logging around persistent storage, created
unload([adapter])
to remove the DataStore from persistent storage (this doesn't erase individual records/diff data!), fixes #28#28
4 July 2015
- Adding persistent storage adapter supporting, incluiding
mongo
adapter7663303
- Refactoring the persistent storage to be module based
c368df7
- Clearing the DataStore before loading it's data from persistent storage
d11c60a
3 July 2015
- Updating README, fixing
batch()
such that it callsconcatURI()
fcd092c
3 July 2015
- Fixing
request()
such thatcfg.method
is upper case (required for PATCH in the browser??), fixes #26 with a naive replace of the entity in the collection#26
- Implementing
PATCH
requests, moving "index" methods into utility function file & taking them off the prototype, refactoringreindex()
to iterate the datastore once & the indices array many times (switched)b4b168d
- Creating
this.patch
property &patch(data, ogdata, override=false)
, creating place holders for implementingPATCH
requests, initial work for #26198b1d4
- Fleshing out
batch()
, refactoringiterate()
& changing the signature ofpatch()
7a706f4
2 July 2015
- Updating README, fixes #25
#25
- Fixing
limit()
when passed a single argument4083073
- Changing the signature of
limit()
to takemax
&offset
parameters like MySQL syntaxd529014
- Fixing a test
301a5c7
2 July 2015
- Fixing README, version bump for npm
ce8adaa
2 July 2015
- Creating
regex
constant to hold reusable patterns/instances, fleshing outconcatURI()
& fixes #24#24
- Removing the notion of OAuth handling, initial work for #24
ec6b419
- Refactoring
setUri()
into two functions - creatingsync([clear])
, updating README8e3e268
- Updating README
e77ccf6
23 June 2015
- Updating README, fixes #22 (hopefully)
#22
- Refactoring
keyIndex()
to not always cast a value toString
, fixingsearch()
& index behavior as a result, fixes #23#23
- Creating
versioning
config boolean to enable/disable MVCC style versioning of records, fixes #21#21
22 June 2015
- Adding
search(value, index)
, fixes #18 in spirit without implementing a trie, fixing utility functionmerge()
, updating tests to support newer syntax of factory#18
- Updating README
03c824c
21 June 2015
21 June 2015
- Adding indexes, & new methods
#19
- Moving utility functions into a single file, fixes #16
#16
- Updating README, fixes #15
#15
- Initial commit of indexes
521679d
- Creating
sortBy(index)
to sort by an indexed field, and lazily create said index at the same timeb6bd15e
- Completing deleting & setting indexes
15f36de
31 May 2015
- Fixing renamed constructor, fixes #11
#11
31 May 2015
- Refactoring
request()
to handle errors properly & return a doubleTuple
of shape[body, status]
, fixes #10#10
- Version bump
9a00c37
- Updating README
21e849d
31 May 2015
- Adding
map(fn)
which returns aTuple
of doubleTuples
of[key, value]
withvalue
being the return offn(value, key)
, fixes #9#9
- Adding
filter(fn)
, fixes #8#8
- Changing the return of
filter()
to be aTuple
of doubleTuples
with the shape[key, value]
, updating README5cb54a5
- Fixing the method on
filter()
2049487
- Updating test to cover new behavior of
limit()
48761eb
31 May 2015
- Fixing
limit()
return, fixes #7#7
- Disabling io.js testing while it results in an npm SSL error
c0de6ae
31 May 2015
- Ensuring
versions
is immutable by using aTuple
to be set into theSet
, fixes #6#6
30 May 2015
30 May 2015
- Fixing
reject()
parameters, fixes #3#3
- Fixing a counting error in
set()
, fixes #2#2
- Updating README
73d70f8
30 May 2015