Nicolas Williams
831be04027
Also add scalars
2014-03-13 00:29:53 -05:00
Santiago Lapresta
68f41097b9
Added arrays
and other filters
...
Arrays, objects, numbers, strings, booleans, nulls, values (non-nulls)
-- these builtins filter out those inputs that don't match the name of
the builtin.
This fixes #322 and #324 .
2014-03-13 00:27:56 -05:00
Filippo Valsorda
2aa8a43c5b
Add a recursive object merge strategy and bind it to *
...
This commit adds a jv_object_merge_recursive function, that performs
recursive object merging, and binds it to multiply when applied to
two objects.
Added docs and tests.
Closes #320
2014-03-08 03:56:05 +01:00
Mike McCabe
336f4e27e6
Initial add of math functions.
2014-02-21 08:46:56 +00:00
Nicolas Williams
fe29d3d3fa
Add ?
, .[]?
, and ..
operators
...
Make XPath-like `//a/b` recursive structure traversal easier in jq,
which then becomes:
..|.a?.b?
The `?` operator suppresses errors about . not being an array or object.
The `..` operator is equivalent to calling the new `recurse_down`
built-in, which in turn is equivalent to
recurse(.[]?)
Note that `..a` is not supported; neither is `...a`. That could be add
added, but it doesn't seem worth the trouble of saving the need to type
a '|'.
2014-02-20 15:33:07 -06:00
Santiago Lapresta
8b41415b07
Added all
and any
builtins
2014-02-17 04:01:32 +01:00
Nicolas Williams
1fa55a3fae
Fix cut-n-paste in leaf_paths
; doc and test 'em
2014-02-05 23:14:05 -06:00
Nicolas Williams
a45c937f80
#285 add and builtins
2014-02-05 15:23:32 -06:00
Nicolas Williams
b37ce20c2a
Add index and rindex builtins
2013-12-04 18:21:42 -06:00
Nicolas Williams
ae7a042876
Make length return abs value of numeric inputs
2013-12-04 18:21:42 -06:00
Nicolas Williams
eb165459aa
Add callback interface for errors
...
Printing to stderr is not the right answer for a library.
2013-12-04 18:21:41 -06:00
Nicolas Williams
346da34432
Add ltrimstr and rtrimstr functions
2013-12-04 18:21:41 -06:00
Nicolas Williams
255f8ef5be
Add tojson and fromjson builtins
2013-12-04 18:21:40 -06:00
Nicolas Williams
cf562961b7
Add string division by string (split on separator)
2013-12-04 18:21:39 -06:00
Nicolas Williams
5989dbdfcf
Add string multiplication by number
2013-12-04 18:21:39 -06:00
Nicolas Williams
db19a11399
Add startswith/endswith
2013-12-04 18:21:38 -06:00
Nicolas Williams
6c734cb609
Add explode/implode jq functions to match jv API
2013-12-04 18:21:38 -06:00
Stephen Dolan
4e3024cb61
Merge pull request #182 from mdaines/sqrt-builtin
...
Add builtin for calculating square root
2013-09-14 16:34:52 -07:00
Stephen Dolan
dae2422fd1
Merge branch 'libjq'
...
Conflicts:
Makefile.am
configure.ac
2013-09-14 19:30:39 +01:00
Michael Daines
82d8253c19
Add sqrt operator
2013-09-11 20:24:41 -04:00
Stephen Dolan
37cfc912c1
Remove #includes from jv.h
2013-06-23 14:23:07 +01:00
Stephen Dolan
1c9e03f800
Merge branch 'header-cleanup' into libjq
...
Conflicts:
Makefile.am
2013-06-22 23:27:16 +01:00
Nicolas Williams
7c4171d414
Add floor operator
2013-06-21 15:27:34 -05:00
Nicolas Williams
3403d07912
Add mod (and setmod) operators
2013-06-21 15:27:34 -05:00
Nicolas Williams
298b2a6033
Add libjq autoconf goo
2013-06-21 11:57:12 -05:00
Stephen Dolan
7af88962ee
Move cfunction invocation code to the interpreter loop.
2013-06-21 12:06:28 +01:00
Stephen Dolan
824ce76cec
Simplify block functions for variables
2013-06-18 01:07:18 +01:00
Nicolas Williams
bbf4e05fde
Move slurp_file() into library as jv_load_file()
...
Needed as part of creating a libjq.
2013-06-15 00:08:59 -05:00
Brendan Macmillan
6e373942e5
Load library from ~/.jq
2013-05-29 15:05:40 +10:00
Stephen Dolan
bc42812715
Remove the insane "fold" operation, replace with saner "reduce".
2013-05-16 15:07:53 +01:00
Stephen Dolan
919292764a
Reverse function. Closes #94 .
2013-05-16 14:25:28 +01:00
Stephen Dolan
f8644c31a3
Only generate code for those builtin functions actually used.
...
Makes output of --debug-dump-disasm much simpler.
2013-05-15 01:37:15 +01:00
Stephen Dolan
e83e51eb56
'length' function now measures string length in codepoints, not bytes.
2013-05-15 00:37:38 +01:00
Stephen Dolan
81be37b236
Add the range function
2013-05-14 16:09:10 +01:00
Stephen Dolan
a625d2821e
Add to_entries, from_entries and with_entries functions.
...
Closes #97 .
2013-05-13 16:15:49 +01:00
Stephen Dolan
8c708f3c7a
Refactor path logic.
2013-05-13 15:00:05 +01:00
Stephen Dolan
2363246eea
Merge remote-tracking branch 'stagrlee/master' into autotools
...
Conflicts:
Makefile
jq_test.c
2013-05-08 00:52:24 +01:00
Stephen Dolan
48be23233a
Add the "has" function. Closes #74 .
2013-05-06 13:46:54 +01:00
Stephen Dolan
47e015e946
Make a few constant globals actually const.
...
This means the .data and .bss sections are empty, a good thing
in a shared library (see #98 ).
2013-05-05 22:59:53 +01:00
Lee Thompson
c7725a8d4d
merging upstream stedolan changes
2013-02-02 20:39:23 -06:00
Stephen Dolan
925ec3751f
Fix negative number syntax. Add a unary '-' operator.
...
Closes #63 .
2013-01-03 12:53:23 +00:00
Stephen Dolan
fb84541e11
Clean up jv_object_foreach and add jv_array_foreach
2012-12-31 23:27:00 +00:00
Stephen Dolan
b3bad59dd7
Add the recurse
function. See #37 .
2012-12-29 22:59:07 +00:00
Stephen Dolan
e0cda536f3
Make null + foo return foo, rather than an error.
...
This also allows 'add' to be implemented in jq rather than C.
2012-12-29 16:52:26 +00:00
Stephen Dolan
d5fdf70434
Refactor assignment.
...
New version is much more elegant and probably slower. Uses
library functions implemented in jq rather than dedicated opcodes.
2012-12-29 16:43:36 +00:00
Stephen Dolan
465a4ec565
Improvements to del(foo).
...
del(foo,bar) is now very different from del(foo),del(bar).
See #37 .
2012-12-29 16:13:06 +00:00
Stephen Dolan
3a5377e183
Fix a bug in URI-encoding of certain non-ASCII characters.
...
Oh how I hate C casting rules.
2012-12-29 01:37:22 +00:00
Stephen Dolan
79c9c418c6
Path manipulation (path/getpath/setpath/delpath) and docs.
...
del function should fix #37 .
2012-12-28 16:08:29 +00:00
Stephen Dolan
89e26969ae
@foo syntax for encoding of strings into various formats.
...
Fixes part of #47 and #48 .
2012-12-28 01:23:09 +00:00
Stephen Dolan
3ae8fb7371
Fix a bug uncovered by tests extracted from manual.
...
`null | length` should give 0, and now does.
2012-12-16 13:10:48 +00:00