1
0
mirror of https://github.com/stedolan/jq.git synced 2024-05-11 05:55:39 +00:00
Commit Graph

79 Commits

Author SHA1 Message Date
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