Commit Graph

132 Commits

Author SHA1 Message Date
Rafael Weinstein 143d570960 Binary encoding (#1679)
Noms format is now binary encoded.
2016-05-31 16:13:51 -07:00
Ben Kalman b79f5b0a04 Implement JS BlobReader.seek (#1673) 2016-05-27 18:39:59 -07:00
Erik Arvidsson dbd4c572df Add ListBuilder (#1669)
A ListBuilder allows creating large lists efficiently
2016-05-27 14:49:22 -07:00
Aaron Boodman db9bb15786 Remove es6 support from js sdk (#1668)
We're not using it, and it just makes compiles slower
2016-05-27 14:08:48 -07:00
Aaron Boodman 18838b7c2a js sdk: expose type.describe() for convenience (#1667) 2016-05-27 14:08:34 -07:00
Erik Arvidsson f52a062f81 Increment version (#1664) 2016-05-27 11:24:16 -07:00
Ben Kalman 5792f901c6 Use native browser fetch if available (#1655) 2016-05-27 10:40:20 -07:00
Erik Arvidsson d2880c5d2a Export escapeStructField (#1654) 2016-05-26 17:01:54 -07:00
Dan Willhite e271576f06 Forward all query parameters when calling remote server api. 2016-05-25 17:34:49 -07:00
Erik Arvidsson 998b7a9df0 Update flow to 0.25 (#1619) 2016-05-25 10:30:17 -07:00
Dan Willhite 0a2dd97d4a Enable database authorization on JS dataspecs.
Accomplished by forwarding query params specified on database spec to
remote server api.
Fixes #1595
2016-05-24 17:47:46 -07:00
Aaron Boodman 68b1b88a69 js/json-convert: encode field names (#1620) 2016-05-24 16:47:22 -07:00
Mike Gray 61848137ad increasing the mocha timeout so travis builds fail less (#1622) 2016-05-24 14:49:31 -07:00
Aaron Boodman 43d991495c noms/js: export isSubtype (#1617) 2016-05-24 11:55:19 -07:00
Ben Kalman e34551cd54 Standardise database/dataset accessors as database() and dataset() (#1607)
In JS they are either set() or store(). In Go they are either Dataset()
Store(), or Database().
2016-05-24 10:25:16 -07:00
Erik Arvidsson a84ecf41eb Fix code review issues 2016-05-23 16:51:45 -07:00
Aaron Boodman 77de0b0e54 Introduce js/json-convert.js (#1601) 2016-05-23 15:07:35 -07:00
Ben Kalman 56c7f44aa9 Make JS walk() return value mean "skip" not "recurse" (#1604)
This is consistent with Go Walk(), and it's arguably less surprising
than returning undefined implies false.
2016-05-23 14:32:45 -07:00
Erik Arvidsson 6aa35802e8 Declare NodeJS version dependency for NOMS
Fixes #1057
2016-05-23 13:51:53 -07:00
Erik Arvidsson 859eca4650 Increment JS version 2016-05-20 19:18:32 -07:00
Ben Kalman c97c9ac78b Export makeUnionType in noms.js (#1567) 2016-05-20 16:44:06 -07:00
Erik Arvidsson c6fa8b1029 Rename valueOrPrimite to Value (#1566)
This renames Value to ValueBase, valueOrPrimite to Value and make Value the default export.

Fixes #1528
2016-05-20 16:39:30 -07:00
Ben Kalman 01a50e9541 Change the async "newList" and friends to sync "new List" constructors (#1554)
Friends: List, Set, Map, Blob, and Commit. This lets us remove a lot of
Promise and async/await bloat.
2016-05-20 15:01:55 -07:00
Erik Arvidsson f653a20511 Make Splore Great Again! (#1541) 2016-05-18 17:57:57 -07:00
Erik Arvidsson 778acf8454 Make OrderedPutCache throw in browsers (#1539)
This is a stop gap to ensure that the browser version does not depend
on nodejs modules.

Fixes #1531
2016-05-18 15:28:09 -07:00
Erik Arvidsson d67d1fb924 Make Map use Array<[K, V]> instead of Array<K | V> (#1538) 2016-05-18 15:16:08 -07:00
Rafael Weinstein 4d47b9cf18 jsPath (#1527) 2016-05-18 14:35:26 -07:00
Erik Arvidsson 643c12172b Noms data structure names (#1525)
* Change to default exports

* Rename NomsX to X in (Blob, List, Map, Set)

* Increment version
2016-05-18 09:26:36 -07:00
Erik Arvidsson df1c91843d JS: No need to compute the union type in decode (#1523)
* JS: No need to compute the union type in decode

Instead trust that the serialization is correct

Towards #1491
2016-05-17 15:39:18 -07:00
Erik Arvidsson d125446955 Clear dist before publish (#1480)
This is so that we do not keep old files around.

Fixes #1380
2016-05-16 19:13:44 -07:00
cmasone-attic e0eb7bc297 JS: back BatchStore's put-cache with tingodb (#1479)
* JS: back BatchStore's put-cache with tingodb

tingodb is a pure-JS, file-backed mongodb-api-compatible database.
Before this patch, BatchStore was caching all pending chunks in memory,
which seems unlikely to scale. Putting them in a tingodb spills them to
disk as needed, though we can still iterate them in put-order when it's
time to send them.

Fixes #1349
2016-05-16 14:38:25 -07:00
Erik Arvidsson 5db7fe8285 JS: Update the collection/struct API to compute the type. (#1502)
When you create or modify a data structure we now compute the type
based on the type of the values in the data structure.

Towards #1491
2016-05-16 10:58:50 -07:00
Erik Arvidsson 58464baef9 Total ordering of values (#1475)
This allows having a set/map of heterogenous elements/keys. To support
this we have to be able to have a total ordering for all noms values.

The ordering is false < true < -999 < 0 < 999 < "" < "a" < "z" < Hash
In other words, Bool < Number < String < * and for comparing non
primitives we compare the hash of the object.

Fixes #1104
Fixes #1312
2016-05-12 10:35:56 -07:00
Rafael Weinstein 1c90201f49 Make JS Sequence not be values (#1470) 2016-05-10 14:19:39 -07:00
Aaron Boodman 14c377fc7b Export BuzHash from js/noms. (#1462)
This is kind of non-ideal, but I need it in order to easily make a
hash performance test rig.
2016-05-09 14:33:01 -07:00
Erik Arvidsson 014e330315 Rename DataStore to Database (#1448) 2016-05-06 17:37:19 -07:00
Erik Arvidsson c8ce81d6ba Serialize meta tuple with ref value (#1443)
When we serialize a meta tuple we should serialize it with the Ref value (which includes the type). This is because in the future the sub tree might be of a different type than the current tree.

Towards #1312
2016-05-06 13:25:23 -07:00
Ben Kalman 2e7eafed25 Update noms npm version to 24.0.0 (#1436) 2016-05-05 17:12:41 -07:00
Rafael Weinstein 057f4e0423 Temporarily raise the test timeout 50% (#1432) 2016-05-05 15:26:00 -07:00
Aaron Boodman d159d25583 Introduce walk.js (#1419)
* Introduce walk.js

* review comments
2016-05-05 09:25:43 -07:00
Erik Arvidsson c9d176cb28 Cleanup serialization of types (#1410)
We used to serialize types in two different ways, depending on whether
the type was used as a tag or as a value. Now we serialize it the same
way.

Also, remove makeCompoundType completely.

And remove some dead code.
2016-05-04 11:35:33 -07:00
Erik Arvidsson 963fbdaad6 Write type with value (#1406)
Write type for all values

Fixes #1308
2016-05-03 16:52:22 -07:00
Chris Masone aa0b0fd658 JS: Maintain validation cache on DataStore across Commit
While this causes the cache to potentially grow infinitely, having a
DataStore keep track of every value it's read or written makes it
simpler to program with. Once RefValues can only come to be by being
read out of a DataStore, we can do away with this altogether.

The big changes here are that DataStore now has a ValueStore, instead
if extending ValueStore. The DataStore constructor now takes a
ValueStore, so that new instances re-use the same ValueStore can be
constructed on Commit. Since callers don't care about that detail,
this change exports NewDataStore(), which still takes a BatchStore.
2016-05-03 13:11:01 -07:00
Erik Arvidsson 3032c76a39 Use a map for the struct fields
Fixes #1368
2016-05-02 15:35:27 -07:00
Chris Masone 9626ad5b42 Fix JS chunk serialization to use network byte order
Fixes #1370
2016-05-02 12:32:59 -07:00
Chris Masone e45aa532a3 Manually update new version for JS SDK 2016-05-02 11:52:12 -07:00
Rafael Weinstein 4468625ce0 Update flow to 24.1 (#1385)
Update flow to 24.1
2016-05-02 11:45:49 -07:00
Chris Masone 8bce49c838 Fix noms npm package version 2016-05-02 10:22:23 -07:00
Chris Masone 8eba180782 Revert "renaming datastore to database (#1374) - fixes bug #1290"
This reverts commit d77902b323.
2016-05-02 09:01:44 -07:00
Mike Gray d77902b323 renaming datastore to database (#1374) - fixes bug #1290
* datastore -> database
* fixing bug 1290, renaming datastore to database
2016-05-01 22:02:16 -04:00