Commit Graph

125 Commits

Author SHA1 Message Date
Mike Gray
47794ca754 Removing [U]Int[8|16|32|64] and Float[32|64] in favor of Number 2016-04-27 16:24:13 -04:00
Erik Arvidsson
5896559db7 Remove support for enums (#1291) 2016-04-22 10:14:05 -07:00
Erik Arvidsson
bbeb504943 Type describe use human readable serialization (#1287)
* Make Type Describe use the Human Readable Serialization

This reduces code duplication.

* Remove Choices in favor of []Field
2016-04-21 11:12:37 -07:00
Erik Arvidsson
0d5b6c4223 Remove Go codegen (#1285) 2016-04-20 16:59:43 -07:00
Dan Willhite
9300a81df6 Remove nomsdl info from datas. 2016-04-20 15:42:39 -07:00
Erik Arvidsson
34e14af8ea Update to Flow 0.23 (#1257)
This required that we updated all clients to Noms SDK 11. The only
thing that needed real changes was Crunchbase IU.
2016-04-15 14:09:36 -07:00
Erik Arvidsson
524c9bea2b Use @attic/eslintrc (#1252) 2016-04-14 15:03:48 -07:00
Erik Arvidsson
c2b114da6f Make eslintrc a module (#1251) 2016-04-14 14:31:21 -07:00
Erik Arvidsson
c91b8146dc Go: Eagerly fixup types after the Package has been created (#1241)
This fixes the package refs in NewPackage and makes the serializer
know about these refs when a Package is encoded.
2016-04-13 18:09:22 -07:00
Ben Kalman
8cc93e7591 Pull @attic/webpack-config from npm (#1239) 2016-04-13 16:23:38 -07:00
Rafael Weinstein
4006746b21 Remove Ref.SetTargetValue 2016-04-11 17:25:56 -07:00
Rafael Weinstein
1676707906 WriteValue returns RefBase 2016-04-11 17:09:25 -07:00
Erik Arvidsson
5c705d42c2 JS Codegen: Do not export typeForT (#1197)
Issue #1081
2016-04-11 10:34:23 -07:00
Erik Arvidsson
9e4266871e JS CodeGen: Add newSetOfT etc (#1195)
* JS CodeGen: Add newSetOfT etc

This generates convenience functions for new list/set/map.

Issue #1081
2016-04-08 15:01:08 -07:00
Erik Arvidsson
e59dfacf1b JS codegen: Add test for recursive type (#1190)
To make this work we also have to export the noms `Type` for types
defined in the package.

Issue #1081
2016-04-08 09:51:49 -07:00
Erik Arvidsson
b79d89963f JS codegen: Add tests and make more things work (#1182)
Now the generated code is tested and most things work.



To generate a .noms.js file use the codegen go binary



Things that are not complete/needs improvements include:

- Recursive structs

- Structs with annonymous unions

- Enum -- constants for the values



Issue #1081
2016-04-07 14:11:40 -07:00
Erik Arvidsson
d81902c245 Run go generate to make the tests pass 2016-04-06 14:05:31 -07:00
Erik Arvidsson
ea51e1ccfc Handle imports in js codegen
Issue #1081
2016-04-06 11:46:13 -07:00
Erik Arvidsson
1014573c7e Codegen for enum types
This generates a flow type for enums:

```noms
enum Handedness {
  right
  left
  switch
}
```

Generates

```js
type E =
  0 |  // right
  1 |  // left
  2;  // switch
```

Issue #1081
2016-04-05 15:12:04 -07:00
Erik Arvidsson
d1a6fbe0c7 Codegen for flow struct types.
This generates the a flow interface for structs defined in noms files

Issue #1157
Issue #1081
2016-04-05 14:19:08 -07:00
Erik Arvidsson
870f5b1420 NomDL JS CodeGen
This is the first step towards generating JS code from NomDL.

At this point, only the code to create and register the
Package is done.
2016-03-30 13:19:33 -07:00
Erik Arvidsson
31d1830dbe NomDL: Reenable codegen test
When we restructured the directory structure we failed to update the
tests and we lost some test coverage.
2016-03-29 15:40:41 -07:00
Chris Masone
67785296a8 Generated code 2016-03-21 16:13:14 -06:00
Chris Masone
c90a319718 Generated code updated to use new template for typed refs 2016-03-17 10:04:54 -07:00
Aaron Boodman
cff0de3696 non-vendor changes 2016-02-08 23:15:09 -08:00
Rafael Weinstein
6c3239a1d0 Collections no longer need a ChunkStore on creation 2016-02-02 13:39:26 -08:00
Benjamin Kalman
232492003d Lazily write sequence chunks.
Instead of writing sequence chunks as soon as they're are created (as a
result of hitting chunk boundaries), only write them once they're
referenced - which only happens if those chunks are themselves chunked.

The effect of this is root chunks of collections/blobs aren't written
until they're committed, which makes the XML importer run twice as fast
on a month of MLB data - 60s instead of 120s, with --ldb-dump-stats
showing a PutCount of 21,272 instead of 342,254.

In the future it should be possible to avoid writing *any* chunks until
the root is committed, which will improve incremental update
performance, but that's a larger change (issue #710). This change fixes
issue #832.
2016-01-05 15:57:45 +11:00
Erik Arvidsson
1edbee5f34 Remove Set Subtract 2015-12-17 15:23:28 -05:00
Benjamin Kalman
9a3e73779d Make types.Ref implement the OrderedValue interface.
This fixes the bug where compoundSets/Maps of refs are ordered by their
type.Ref's Ref, rather than their type.Ref's TargetRef.
2015-12-14 11:28:38 -08:00
Erik Arvidsson
40d164fe47 Go: Encode numbers as strings
Because JSON encoders encode numbers differently we cannot just use
numbers in the output.

This still encodes the NomsKind as numbers.

Towards #749
2015-12-11 16:30:07 -05:00
Rafael Weinstein
d198036618 Compound Map & Set 2015-12-08 16:25:02 -08:00
Rafael Weinstein
e0b368302d listLeaf & compoundList implement List interface 2015-12-02 13:54:25 -08:00
Erik Arvidsson
698c21bc67 NomDL: Change type syntax to use <> instead of ()
Fixes #678
2015-12-02 12:30:00 -05:00
Erik Arvidsson
61f14f8c9a Rename noms UInt* to Uint*
Fixes #673
2015-12-02 12:01:42 -05:00
Erik Arvidsson
ff8924db09 NomDL codegen: Fix clobbering
If two files depend on the same file we ended up overwriting the
first written file which is problematic because the "internal" types
would not be written the second time.
2015-12-01 15:02:04 -05:00
Rafael Weinstein
7caa08bc5c Complex Types embed a ChunkStore 2015-12-01 10:40:47 -08:00
Rafael Weinstein
e75f5097c7 Allow Map & Set to order by natural ordering of element type if available. 2015-11-16 14:30:30 -08:00
Erik Arvidsson
a72ce41a1d Go: TypeRef -> Type
Remaining identifiers
2015-11-13 17:54:53 -05:00
Benjamin Kalman
efa52fed84 Implement a generic sequence chunker, and use it to create blobs. 2015-11-13 14:21:26 -08:00
Chris Masone
f0f49c6010 Generated Code 2015-11-09 08:35:06 -08:00
Chris Masone
eda9b92870 Rename types.TypeRef to types.Type
There are probably still a lot of variable names and comments to fix,
but this updates all the Go code.

Towards #441
2015-11-09 08:26:32 -08:00
Aaron Boodman
69a86f3036 Rewrite walk() to walk value tree instead of chunks
Also fix quad_tree to take advantage of that to be generic again.

Fixes #445, #497
2015-11-05 16:12:02 -08:00
Chris Masone
c40b57fc41 Generated code 2015-11-05 15:15:07 -08:00
cmasone-attic
7fad0856c3 Merge pull request #579 from cmasone-attic/issue564
IterAllP for typed Maps
2015-11-05 15:14:47 -08:00
Erik Arvidsson
329e13e0ae Generated code 2015-11-05 16:33:25 -05:00
Chris Masone
5bda67180d Run go generate ./... at top level to pick up codegen changes from rebase 2015-11-05 12:15:23 -08:00
Chris Masone
4e79367d1a IterAllP for typed Maps
Fixes #564
2015-11-05 12:06:10 -08:00
Erik Arvidsson
460841e3ed Clean up registration of Ref values
Ref values use the TargetRef to get the internal implementation

RegisterFromValFunction and ToNomsValueFromTypeRef were only used by
ref values at this point so these were renamed and simplified to be
more specific for ref values
2015-11-05 14:32:45 -05:00
Chris Masone
7b55efa9b6 Generated Code 2015-11-05 08:42:22 -08:00
Erik Arvidsson
8c98964fee Generated code 2015-11-04 18:57:27 -05:00