Nicolas Williams
ea0ffe24f8
Don't declare environ on WIN32
2014-06-16 22:34:37 -05:00
Santiago Lapresta
061a604a2a
Added flatten
and flatten(x)
functions
...
Fix #415 .
2014-06-16 17:03:05 -05:00
Nicolas Williams
e9a1de47b4
Add env
builtin
2014-06-13 17:51:41 -05:00
Nicolas Williams
1dbe9317bc
Add indices(s)
, improve index(s)
, rindex(s)
...
Now these deal with arrays as input and `s` being an array or a scalar.
2014-06-08 02:01:44 -05:00
Santiago Lapresta
01f676041d
Added join
function
...
Signed-off-by: Nicolas Williams <nico@cryptonector.com >
2014-06-07 21:53:03 -05:00
Nicolas Williams
6856ab8a69
String * number should be commutative
2014-06-07 21:43:30 -05:00
Santiago Lapresta
41a093c1f2
Added unique_by function
2014-05-12 01:37:27 +02:00
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