@port-labs/jq-node-bindings 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.editorconfig +5 -0
- package/.jshintignore +1 -0
- package/.jshintrc +23 -0
- package/binding.gyp +56 -0
- package/configure +26 -0
- package/deps/jq/.gitattributes +2 -0
- package/deps/jq/.travis.yml +53 -0
- package/deps/jq/AUTHORS +73 -0
- package/deps/jq/COPYING +70 -0
- package/deps/jq/ChangeLog +1349 -0
- package/deps/jq/Makefile.am +198 -0
- package/deps/jq/NEWS +88 -0
- package/deps/jq/README.md +64 -0
- package/deps/jq/builtin.c +1684 -0
- package/deps/jq/builtin.h +10 -0
- package/deps/jq/bytecode.c +161 -0
- package/deps/jq/bytecode.h +92 -0
- package/deps/jq/compile-ios.sh +102 -0
- package/deps/jq/compile.c +1210 -0
- package/deps/jq/compile.h +101 -0
- package/deps/jq/config/m4/check-math-func.m4 +4 -0
- package/deps/jq/config/m4/find-func-no-libs.m4 +8 -0
- package/deps/jq/config/m4/find-func-no-libs2.m4 +62 -0
- package/deps/jq/config/m4/find-func.m4 +9 -0
- package/deps/jq/config/m4/misc.m4 +3 -0
- package/deps/jq/configure.ac +221 -0
- package/deps/jq/docs/Gemfile +7 -0
- package/deps/jq/docs/Gemfile.lock +63 -0
- package/deps/jq/docs/README.md +25 -0
- package/deps/jq/docs/Rakefile +145 -0
- package/deps/jq/docs/content/1.tutorial/default.yml +327 -0
- package/deps/jq/docs/content/2.download/default.yml +117 -0
- package/deps/jq/docs/content/3.manual/manual.yml +2878 -0
- package/deps/jq/docs/content/3.manual/v1.3/manual.yml +1270 -0
- package/deps/jq/docs/content/3.manual/v1.4/manual.yml +1672 -0
- package/deps/jq/docs/content/index/index.yml +51 -0
- package/deps/jq/docs/default_manpage.md +22 -0
- package/deps/jq/docs/public/.htaccess +28 -0
- package/deps/jq/docs/public/bootstrap/css/bootstrap-responsive.css +1058 -0
- package/deps/jq/docs/public/bootstrap/css/bootstrap-responsive.min.css +9 -0
- package/deps/jq/docs/public/bootstrap/css/bootstrap.css +5224 -0
- package/deps/jq/docs/public/bootstrap/css/bootstrap.min.css +9 -0
- package/deps/jq/docs/public/bootstrap/img/glyphicons-halflings-white.png +0 -0
- package/deps/jq/docs/public/bootstrap/img/glyphicons-halflings.png +0 -0
- package/deps/jq/docs/public/bootstrap/js/bootstrap.js +2027 -0
- package/deps/jq/docs/public/bootstrap/js/bootstrap.min.js +6 -0
- package/deps/jq/docs/public/css/base.scss +99 -0
- package/deps/jq/docs/public/jq.png +0 -0
- package/deps/jq/docs/public/robots.txt +2 -0
- package/deps/jq/docs/site.yml +18 -0
- package/deps/jq/docs/templates/default.liquid +34 -0
- package/deps/jq/docs/templates/index.liquid +60 -0
- package/deps/jq/docs/templates/manual.liquid +122 -0
- package/deps/jq/docs/templates/shared/_footer.liquid +5 -0
- package/deps/jq/docs/templates/shared/_head.liquid +12 -0
- package/deps/jq/docs/templates/shared/_header.liquid +26 -0
- package/deps/jq/exec_stack.h +112 -0
- package/deps/jq/execute.c +1155 -0
- package/deps/jq/inject_errors.c +112 -0
- package/deps/jq/jq.1.default +39 -0
- package/deps/jq/jq.1.prebuilt +3075 -0
- package/deps/jq/jq.h +60 -0
- package/deps/jq/jq.spec +70 -0
- package/deps/jq/jq_parser.h +9 -0
- package/deps/jq/jq_test.c +346 -0
- package/deps/jq/jv.c +1333 -0
- package/deps/jq/jv.h +240 -0
- package/deps/jq/jv_alloc.c +179 -0
- package/deps/jq/jv_alloc.h +27 -0
- package/deps/jq/jv_aux.c +619 -0
- package/deps/jq/jv_dtoa.c +4275 -0
- package/deps/jq/jv_dtoa.h +22 -0
- package/deps/jq/jv_file.c +49 -0
- package/deps/jq/jv_parse.c +852 -0
- package/deps/jq/jv_print.c +348 -0
- package/deps/jq/jv_unicode.c +96 -0
- package/deps/jq/jv_unicode.h +11 -0
- package/deps/jq/jv_utf8_tables.h +37 -0
- package/deps/jq/lexer.c +2442 -0
- package/deps/jq/lexer.h +362 -0
- package/deps/jq/lexer.l +184 -0
- package/deps/jq/libm.h +160 -0
- package/deps/jq/linker.c +393 -0
- package/deps/jq/linker.h +7 -0
- package/deps/jq/locfile.c +91 -0
- package/deps/jq/locfile.h +29 -0
- package/deps/jq/m4/ax_compare_version.m4 +177 -0
- package/deps/jq/m4/ax_prog_bison_version.m4 +68 -0
- package/deps/jq/main.c +566 -0
- package/deps/jq/opcode_list.h +44 -0
- package/deps/jq/parser.c +3914 -0
- package/deps/jq/parser.h +193 -0
- package/deps/jq/parser.y +923 -0
- package/deps/jq/scripts/crosscompile +42 -0
- package/deps/jq/scripts/gen_utf8_tables.py +32 -0
- package/deps/jq/scripts/version +5 -0
- package/deps/jq/setup.sh +33 -0
- package/deps/jq/tests/jq.test +1235 -0
- package/deps/jq/tests/jqtest +5 -0
- package/deps/jq/tests/mantest +7 -0
- package/deps/jq/tests/modules/.jq +5 -0
- package/deps/jq/tests/modules/a.jq +2 -0
- package/deps/jq/tests/modules/b/b.jq +2 -0
- package/deps/jq/tests/modules/c/c.jq +16 -0
- package/deps/jq/tests/modules/c/d.jq +1 -0
- package/deps/jq/tests/modules/data.json +4 -0
- package/deps/jq/tests/modules/lib/jq/e/e.jq +1 -0
- package/deps/jq/tests/modules/lib/jq/f.jq +1 -0
- package/deps/jq/tests/modules/syntaxerror/syntaxerror.jq +1 -0
- package/deps/jq/tests/modules/test_bind_order.jq +4 -0
- package/deps/jq/tests/modules/test_bind_order0.jq +1 -0
- package/deps/jq/tests/modules/test_bind_order1.jq +2 -0
- package/deps/jq/tests/modules/test_bind_order2.jq +2 -0
- package/deps/jq/tests/onig.supp +21 -0
- package/deps/jq/tests/onig.test +85 -0
- package/deps/jq/tests/onigtest +5 -0
- package/deps/jq/tests/setup +36 -0
- package/deps/jq/tests/shtest +205 -0
- package/deps/jq/tests/torture/input0.json +7 -0
- package/deps/jq/util.c +462 -0
- package/deps/jq/util.h +64 -0
- package/deps/jq.gyp +35 -0
- package/index.d.ts +3 -0
- package/jest.config.js +10 -0
- package/lib/index.js +14 -0
- package/package.json +48 -0
- package/reports/jest-port-api.xml +35 -0
- package/src/binding.cc +177 -0
- package/src/binding.h +13 -0
- package/test/santiy.test.js +122 -0
- package/util/configure.js +27 -0
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
|
|
2
|
+
#define _GNU_SOURCE /* for RTLD_NEXT */
|
|
3
|
+
#include <assert.h>
|
|
4
|
+
#include <dlfcn.h>
|
|
5
|
+
#include <errno.h>
|
|
6
|
+
#include <stdio.h>
|
|
7
|
+
#include <string.h>
|
|
8
|
+
#include <unistd.h>
|
|
9
|
+
|
|
10
|
+
static FILE *fail;
|
|
11
|
+
static FILE *fail_read;
|
|
12
|
+
static FILE *fail_write;
|
|
13
|
+
static FILE *fail_close;
|
|
14
|
+
static int error;
|
|
15
|
+
|
|
16
|
+
static FILE * (*real_fopen)(const char *, const char *);
|
|
17
|
+
static int (*real_fclose)(FILE *);
|
|
18
|
+
static int (*real_ferror)(FILE *);
|
|
19
|
+
static void (*real_clearerr)(FILE *);
|
|
20
|
+
static char * (*real_fgets)(char *, int, FILE *);
|
|
21
|
+
static size_t (*real_fread)(void *, size_t, size_t, FILE *);
|
|
22
|
+
static size_t (*real_fwrite)(const void *, size_t, size_t, FILE *);
|
|
23
|
+
|
|
24
|
+
#define GET_REAL(sym) \
|
|
25
|
+
do { \
|
|
26
|
+
if (real_ ## sym == 0) { \
|
|
27
|
+
real_ ## sym = dlsym(RTLD_NEXT, #sym); \
|
|
28
|
+
assert(real_ ## sym != 0); \
|
|
29
|
+
} \
|
|
30
|
+
} while (0)
|
|
31
|
+
|
|
32
|
+
#define dbg_write(msg) (void)write(2, msg, sizeof(msg) - 1)
|
|
33
|
+
|
|
34
|
+
#define dbg() \
|
|
35
|
+
do { \
|
|
36
|
+
dbg_write("here: "); \
|
|
37
|
+
dbg_write(__func__); \
|
|
38
|
+
dbg_write("!\n"); \
|
|
39
|
+
} while (0)
|
|
40
|
+
|
|
41
|
+
FILE *fopen(const char *path, const char *mode) {
|
|
42
|
+
GET_REAL(fopen);
|
|
43
|
+
fail = fail_read = fail_write = fail_close = 0;
|
|
44
|
+
FILE *f = real_fopen(path, mode);
|
|
45
|
+
error = EIO;
|
|
46
|
+
if (strcmp(path, "fail_read") == 0) {
|
|
47
|
+
fail = fail_read = f;
|
|
48
|
+
} else if (strncmp(path, "fail_write", sizeof("fail_write") - 1) == 0) {
|
|
49
|
+
// Not that jq opens files for write anyways...
|
|
50
|
+
fail = fail_write = f;
|
|
51
|
+
if (strcmp(path, "fail_write_enospc") == 0)
|
|
52
|
+
error = ENOSPC;
|
|
53
|
+
} else if (strncmp(path, "fail_close", sizeof("fail_close") - 1) == 0) {
|
|
54
|
+
fail = fail_close = f;
|
|
55
|
+
if (strcmp(path, "fail_close_enospc") == 0)
|
|
56
|
+
error = ENOSPC;
|
|
57
|
+
}
|
|
58
|
+
return f;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
int fclose(FILE *f) {
|
|
62
|
+
GET_REAL(fclose);
|
|
63
|
+
int res = real_fclose(f);
|
|
64
|
+
if (fail_close == f) {
|
|
65
|
+
fail = fail_read = fail_write = fail_close = 0;
|
|
66
|
+
return EOF;
|
|
67
|
+
}
|
|
68
|
+
return res;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
char * fgets(char *buf, int len, FILE *f) {
|
|
72
|
+
GET_REAL(fgets);
|
|
73
|
+
char *res = real_fgets(buf, len, f);
|
|
74
|
+
if (fail_read == f)
|
|
75
|
+
return 0;
|
|
76
|
+
return res;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
size_t fread(void *buf, size_t sz, size_t nemb, FILE *f) {
|
|
80
|
+
GET_REAL(fread);
|
|
81
|
+
size_t res = real_fread(buf, sz, nemb, f);
|
|
82
|
+
if (fail_read == f)
|
|
83
|
+
return 0;
|
|
84
|
+
return res;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
size_t fwrite(const void *buf, size_t sz, size_t nemb, FILE *f) {
|
|
88
|
+
GET_REAL(fwrite);
|
|
89
|
+
size_t res = real_fwrite(buf, sz, nemb, f);
|
|
90
|
+
if (fail_write == f)
|
|
91
|
+
return 0;
|
|
92
|
+
return res;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
int ferror(FILE *f) {
|
|
96
|
+
GET_REAL(ferror);
|
|
97
|
+
int res = real_ferror(f);
|
|
98
|
+
if (fail == f) {
|
|
99
|
+
errno = error;
|
|
100
|
+
return 1;
|
|
101
|
+
}
|
|
102
|
+
return res;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
void clearerr(FILE *f) {
|
|
106
|
+
GET_REAL(clearerr);
|
|
107
|
+
real_clearerr(f);
|
|
108
|
+
if (fail == f) {
|
|
109
|
+
fail = fail_read = fail_write = fail_close = 0;
|
|
110
|
+
error = 0;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
.\" generated with Ronn/v0.7.3
|
|
2
|
+
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
|
3
|
+
.
|
|
4
|
+
.TH "JQ" "1" "August 2015" "" ""
|
|
5
|
+
.
|
|
6
|
+
.SH "NAME"
|
|
7
|
+
\fBjq\fR \- Command\-line JSON processor
|
|
8
|
+
.
|
|
9
|
+
.SH "DESCRIPTION"
|
|
10
|
+
\fBjq\fR can transform JSON in various ways, by selecting, iterating, reducing and otherwise mangling JSON documents\.
|
|
11
|
+
.
|
|
12
|
+
.P
|
|
13
|
+
This version of \fBjq\fR was built without a manual, so this manpage is a stub\. For full documentation of the \fBjq\fR language, see:
|
|
14
|
+
.
|
|
15
|
+
.IP "" 4
|
|
16
|
+
.
|
|
17
|
+
.nf
|
|
18
|
+
|
|
19
|
+
https://stedolan\.github\.io/jq
|
|
20
|
+
.
|
|
21
|
+
.fi
|
|
22
|
+
.
|
|
23
|
+
.IP "" 0
|
|
24
|
+
.
|
|
25
|
+
.SH "BUGS"
|
|
26
|
+
Presumably\. Report them or discuss them at:
|
|
27
|
+
.
|
|
28
|
+
.IP "" 4
|
|
29
|
+
.
|
|
30
|
+
.nf
|
|
31
|
+
|
|
32
|
+
https://github\.com/stedolan/jq/issues
|
|
33
|
+
.
|
|
34
|
+
.fi
|
|
35
|
+
.
|
|
36
|
+
.IP "" 0
|
|
37
|
+
.
|
|
38
|
+
.SH "AUTHOR"
|
|
39
|
+
Stephen Dolan \fB<mu@netsoc\.tcd\.ie>\fR
|