hherman1 / gq Goto Github PK
View Code? Open in Web Editor NEWjq but using go instead
License: MIT License
jq but using go instead
License: MIT License
just read the headline from https://changelog.com/news/Q5Yy/visit and having a first look, not knowing the details yet,
even though I am personally fluent on both Go and JavaScript, but I still think the JS version's filter
map
is more natural than Go's, and by supporting JavaScript's native function interfaces, you can reach a far more number of developers (JS is more than Go anway),
the type flexibility would be more useful and important in such a jq-like tool? but static typing? no need in a CLI tool
$ echo '["list", "of", "mostly", "uninterseting", null, "good/strings", "good/welp"]' | gq 'j.filter(n => n?.includes("good/"))'
// look at a bad value `null` in the input, and JS's `?.` can handle it wonderfully
[
"good/strings",
"good/welp"
]
$ echo '[1, 2, 3, 4.5]' | gq 'j.map((n, i) => (n + i + 25))'
// what's the point using `50/2` in your example? and JS's version you got the index naturally, useful in many cases,
[
26,
28,
30,
32.5
]
underlying I would not care in which language you implement this, and I believe you can find another JS interpreter in Go, would be better than yaegi in go,
by implementing in Go, I believe it could be faster than currently node -e ...
every time if I can't figure out in jq, then I would pipe to node -p '...'
or deno eval -p '...'
would like to see such a tool implemented in Go and would have better performance than node or deno on command line
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.