Skip to content

Releases: bradford-hamilton/dora

v0.1.1

27 Apr 01:57
Compare
Choose a tag to compare
v0.1.1 Pre-release
Pre-release

Changelog

c81ddd9 .github/ISSUE_TEMPLATE: refactor bug report and feature request templates
e8f77da Create config.yaml
62faca2 Merge branch 'master' of github.com:bradford-hamilton/dora
710f283 Merge pull request #5 from bradford-hamilton/feat-SetByPath
80969e5 Update issue templates
8a48c13 add initial default github issue templates for bug report and feature request
62b668f benchmarks: This change cleans up the new getSingleValueWithUnmarshalNoSchema benchmark. Forgot to do this after getting it working.
2029e17 chore: rm go.sum
090189a config: add issue template config.yml
547644b create a code of conduct
e094dde dora: add a Makefile with one command to start. make test will run all the tests in the project with -v, -race, and -bench=. flags Change-Id: I8d39ec86a5e24f7826d3a499a9e472e67db3f21e
ba46837 feat: GetBool, GetFloat64, other small refactors
6a7e611 pkg/ast/ast: Small refactor for clarity (I think?) on how value states are defined.
91e91e5 pkg/danger/danger.go: create a danger package with two funcs for performance gains where possible/safe
0bdc9bd pkg/dora/query.go: update value type comparisons to use the new int type alias instead of using & comparing strings. Improved both MemAllocs and MemBytes.
e4ded2a pkg/dora/{dora, query}: Add some work that starts setting up the Set<T> call and some small formatting changes. Change-Id: I72c6d7cbb2ece38979e4502577756e8a6b149926
ff9a33c pkg/dora/{dora,parse,query}: change the dora query layer to use a []byte
9f2670e pkg/dora/{query,dora_test}: small clean ups throughout, add some basic errors for now where missing, update readme Change-Id: I9e0d0da3243e9b6824345d093218ebe54e916c72
c1e7350 pkg/{ast,parser}: update ast value types to be ints, which helped some with MemBytes
0af6457 pkg/{dora,lexer,parser}: update table tests to all use arrays instead of slices
ed76a31 pkg/{dora,parser}: update parser and dora client to support floats through GetFloat.
ff3779d pkg/{dora,parser}: update test formatting on some tests for clarity
9c8ae06 readme: small readme update and formatting update in parser
1662c3b readme: small readme updates testing out gerrithub integration
a3b8a5e readme: update readme note with details around initial pre-releases
ec382f0 wip: set and get refactor
1de0325 wip: setbypath fn

v0.1.0

19 Apr 17:23
Compare
Choose a tag to compare
v0.1.0 Pre-release
Pre-release

Changelog

8e0283d Merge branch 'master' of github.com:bradford-hamilton/dora
c1c1974 Merge branch 'master' of github.com:bradford-hamilton/dora
1c362cc Merge branch 'master' of github.com:bradford-hamilton/dora
04e6b22 Merge branch 'master' of github.com:bradford-hamilton/dora
65c0c9e Merge branch 'master' of github.com:bradford-hamilton/dora
d2af6fd Merge branch 'master' of github.com:bradford-hamilton/dora
849f21e Project name change: parsejson -> dora. Original name was temporary once something else felt right.
59d9f53 Update README.md
42bb4ac Update README.md
bedbac4 Update README.md
d43b188 Update README.md
4e9a49f Update README.md
c18fca4 Update README.md
6afff2a benchmarks: Add a third benchmark comparing unmarshalling into an unknown interface{}, as that is probably a more accurate comparison
219a851 benchmarks: add benchmarks for the first working single value GetByPath call vs Go’s unmarshal to struct. Currently dora seems to be 2.3x slower than json/encoding for this purpose
2a1e0e5 cicd: add a travis yml for builds/tests
f302105 cicd: travis.yml -> .travis.yml
b39c24a deps: go mod init
f98edf3 generate a real nice readme with a new tool I found readme-md-generator
f2dcbb5 goreleaser: integrate goreleaser to start handling versioning
7453d72 goreleaser: small updates around goreleaser and gitignore
ed7b586 hotfix: fix broken tests in dora_test.go
512d006 initial commit: set up a lexer and start describing tokens
ad78ff3 license: add MIT license
91496fc main: formatting
27fe304 pkg/ast: add some notes around possible Raw type functionality when returning objects or arrays
611dcc5 pkg/ast: change RootNodes Object and Array to pointers, leave note, need to take a break
9ca06d7 pkg/docs: This change is almost entirely documentation, with a tiny update or two.
0ffd7f8 pkg/dora/query: First happy path for GetByPath works! Still needs quite a bit of work so that anything can be returned outside of a single keyword/string.
9ac42b6 pkg/dora/query: add a few small refactors for clarity and some more tests
632e856 pkg/dora/{dora,parse}: No logical changes in this PR. This moves the scanning/parsing logic for queries into another file called parse. Same package - dora - for now
730e7ab pkg/dora/{parse,query}: Add placeholder cases in execute query with notes
1d53aa9 pkg/dora/{parse}: Update accessType to be an “enum”
dbbaa5e pkg/dora: Button up and start testing query token parsing. Need to add testing for errors still, however should be in a decent working state now.
2103373 pkg/dora: This is essentially one big WIP for now. Playing around with a query syntax similar to JS or JSONPath (without all the fancies), parsing, methods, etc for dora. At this point a basic query can be parsed into a slice of queryTokens. Those are what I will use to “execute” the query against the program in the *Client. Need to add a ton of tests to start solidifying different pieces and filling in the gaps I already know are there plus the ones I don’t.
4c2676d pkg/lexer: finish implementing the ability to parse tokens from the initial JSON example I used. Will follow up with adding to that JSON so that it represents all possible JSON.
ea78bbe pkg/lexer: start support excapes in string
32c6450 pkg/parser: refactor ParseProgram to utilize parseValue instead of doing the separate entry point object vs array parsing.
0f34ee9 pkg/parser: set up some parser tests that test on the length of the original root node’s object/array children. It’s a start.
c6f9cba pkg/{ast,dora,lexer,parser,token}: Update dora’s GetByPath call to have the ability to return objects and arrays.
2f3335e pkg/{ast,dora}: Main change here is adding a bunch more query logic (although still WIP) and then moving it into query.go (still within package dora)
03ac4b5 pkg/{ast,dora}: start playing with a query syntax. The plan is to make it similar to, but probably not cover all of - JsonPath https://goessner.net/articles/JsonPath
508b467 pkg/{ast,parsejson,parser}: generally just doc additions, with a small change around the root node holding just one Value no need for both fields. At least at this point I think it should be OK.
e3d7224 pkg/{ast,parsejson}: start playing with ideas for parsing and using.
524490a pkg/{ast,parser,token}: start parsing work on objects, properties, etc
da029dc pkg/{ast,parser}: tune the parser a bit, still not quite right. Need to add some tests which would help, but seems like after parsing an object or array that is a value of a key on an object something gets funky. Somewhere around the comma.
4f10038 pkg/{dora,parser}: Add a little more error handling and update the comments/godocs
d79e24b pkg/{dora,parser}: Add some general cleanup, small refactors, readme & docs update
13404e3 pkg/{dora,parse}: Small tweaks and light refactors + more testing. GetByPath almost fully functional (for now)
1b8141f pkg/{lexer,parser,token}: add a few TODOs
21f04f7 pkg/{lexer,parser,token}: move lever, parser, and token in pkg, get a few tokens scanning and set up some tests
0111d62 pkg/{lexer,token}: Remove unnecessary minus token as it will be bundled into a JSON “Number” at this layer
a5f0c9e pkg/{lexer,token}: add support for scanning JSON’s “identifiers”
a360ccf pkg/{lexer,token}: update integer to a “number” because JSON really just supports one type that essentially allows for int or float I believe. More to come on that. Add support for a Minus token. Also not sure if that can be coupled into a “number”, but based on past experiences I’m going to go with an operator token for now
21dcbda pkg/{parser,ast}: start parsing work for JSON arrays and literals
e2329f2 pkg/{parser,parsejson}: finish v1 of parsing JSON into an AST!
72b4725 readme: Add some notes around how to use & expected results. When usability/features are more stable better docs can be made.
993b29b readme: Update readme with TravisCI build badge
c3cf485 readme: small casing update
32985f2 readme: small updates
c8bc2cb readme: small updates to usage
718b09f readme: start formalizing the readme a bit, taking the notes and making them look more like a readme
3515d08 readme: update readme with some credit where credit is due!
40196a5 readme: update with new dora image
bb2a407 update readme with new project name