├── .actrc ├── .cargo └── config.toml ├── .checkignore ├── .devcontainer ├── Dockerfile ├── devcontainer.json └── seccomp_perf.json ├── .dockerignore ├── .drone.yml ├── .github ├── ISSUE_TEMPLATE │ ├── bug_report.md │ ├── content_bug_report.md │ └── enhancement_request.md ├── checks │ ├── copyright.sh │ ├── deps.sh │ ├── eqc.sh │ ├── llvm-cov-wrapper │ └── safety.sh ├── dependabot.yml ├── pull_request_template.md ├── scripts │ ├── Bump.sh │ └── lcov-wrap.sh └── workflows │ ├── checks.yaml │ ├── create-release.yaml │ ├── depandabot-auto-merge.yaml │ ├── doc-test.yaml │ ├── docs.yaml │ ├── draft-release.yaml │ ├── eqc.yaml │ ├── integration.yaml │ ├── licenses.yaml │ ├── publish-crates.yaml │ ├── publish-edge.yaml │ ├── publish-tags.yaml │ ├── release.yaml │ ├── security.yaml │ ├── test-crates.yaml │ ├── tests.yaml │ └── validate-packages.yaml ├── .gitignore ├── .gitpod.Dockerfile ├── .gitpod.yml ├── .markdownlint.yaml ├── .rpm └── tremor.spec ├── .rustfmt.toml ├── .vscode ├── launch.json └── settings.json ├── CHANGELOG.md ├── CODEOWNERS ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── Cargo.lock ├── Cargo.toml ├── Cross.toml ├── Dockerfile ├── Dockerfile.learn ├── Dockerfile.native ├── HEADER ├── LICENSE ├── Makefile ├── README.md ├── RELEASE_PROCESS.md ├── SECURITY.md ├── bench ├── README.md ├── all.sh ├── batch.yaml ├── batch │ └── main.trickle ├── common.inc ├── empty-pipeline ├── empty-pipeline-binflux ├── empty-pipeline-binflux.yaml ├── empty-pipeline-influx ├── empty-pipeline-influx.yaml ├── empty-pipeline-json ├── empty-pipeline-json.yaml ├── empty-pipeline-msgpack ├── empty-pipeline-msgpack.yaml ├── empty-pipeline-two-inputs ├── empty-pipeline-two-inputs.yaml ├── empty-pipeline.yaml ├── group-by-count.yaml ├── group-by-count │ └── main.trickle ├── group_by.yaml ├── group_by │ └── main.trickle ├── group_by_each.yaml ├── group_by_each │ └── main.trickle ├── group_by_evil.yaml ├── group_by_evil │ └── main.trickle ├── influx-http.yaml ├── influx-http │ └── main.trickle ├── let.yaml ├── let │ └── main.trickle ├── lines-throughput.yaml ├── lines-throughput │ └── main.trickle ├── link.yaml ├── ls-apache.yaml ├── ls-apache │ └── main.trickle ├── match.json.xz ├── match.yaml ├── match │ └── main.trickle ├── merge.yaml ├── merge │ └── main.trickle ├── merge_assign_target.yaml ├── merge_assign_target │ └── main.trickle ├── passthrough │ ├── main.trickle │ └── passthrough ├── patch.yaml ├── patch │ └── main.trickle ├── patch_assign_target.yaml ├── patch_assign_target │ └── main.trickle ├── real-workflow-enrich.yaml ├── real-workflow-enrich │ └── main.trickle ├── real-workflow-throughput-json-1-1-1 ├── real-workflow-throughput-json-1-1-1.yaml ├── real-workflow-throughput-json-1-4-1 ├── real-workflow-throughput-json-1-4-1.yaml ├── real-workflow-throughput-json-16-16-1 ├── real-workflow-throughput-json-16-16-1.yaml ├── real-workflow-throughput-json-2-1-1 ├── real-workflow-throughput-json-2-1-1.yaml ├── real-workflow-throughput-json-2-2-1 ├── real-workflow-throughput-json-2-2-1.yaml ├── real-workflow-throughput-json-32-32-1 ├── real-workflow-throughput-json-32-32-1.yaml ├── real-workflow-throughput-json-4-1-1 ├── real-workflow-throughput-json-4-1-1.yaml ├── real-workflow-throughput-json-4-4-1 ├── real-workflow-throughput-json-4-4-1.yaml ├── real-workflow-throughput-json-64-64-1 ├── real-workflow-throughput-json-64-64-1.yaml ├── real-workflow-throughput-json-8-1-1 ├── real-workflow-throughput-json-8-1-1.yaml ├── real-workflow-throughput-json-8-8-1 ├── real-workflow-throughput-json-8-8-1.yaml ├── real-workflow-throughput-json-v0.10.yaml ├── real-workflow-throughput-json-v0.10 │ └── main.trickle ├── real-workflow-throughput-json.yaml ├── real-workflow-throughput-json │ └── main.trickle ├── real-workflow-throughput-msgpack ├── real-workflow-throughput-msgpack.yaml ├── real-workflow-throughput-wal-json.yaml ├── real-workflow-throughput-wal-json │ └── main.trickle ├── real-workflow-throughput-wal-mem-json.yaml ├── real-workflow-throughput-wal-mem-json │ └── main.trickle ├── real-workflow-transform.yaml ├── real-workflow-transform │ └── main.trickle ├── recurse.yaml ├── recurse │ ├── input.json │ └── main.trickle ├── run ├── scale.sh ├── tcp-throughput.yaml ├── tcp-throughput │ ├── blackhole.trickle │ └── blaster.trickle ├── window_two_by_two.yaml ├── window_two_by_two │ └── main.trickle ├── ws-json-empty-pipeline ├── ws-json-empty-pipeline.yaml ├── ws-throughput.yaml └── ws-throughput │ ├── blackhole.trickle │ └── blaster.trickle ├── build.rs ├── clippy.toml ├── codecov.yml ├── demo ├── README.md ├── configs │ └── tremor │ │ ├── config │ │ └── main.troy │ │ └── logger.yaml ├── data.json.tpl ├── data │ ├── apache_access_logs.xz │ ├── data.binflux.xz │ ├── data.dogstatsd.xz │ ├── data.influx.xz │ ├── data.json.xz │ ├── data.msgpack.xz │ ├── data.statsd.xz │ ├── data.tremor.xz │ ├── example_1000.csv │ └── numbers.json.xz ├── demo.yaml └── logs │ └── .gitignore ├── deny.toml ├── depricated ├── codec │ └── cbor.rs ├── common │ ├── mmap.rs │ ├── mod.rs │ └── postgres.rs ├── qos.rs ├── sink │ ├── amqp.rs │ ├── nats.rs │ ├── newrelic.rs │ └── postgres.rs └── source │ ├── amqp.rs │ ├── env.rs │ ├── nats.rs │ ├── postgres.rs │ └── sse.rs ├── docker-compose.yaml ├── docker ├── config │ └── docker.troy ├── entrypoint.sh ├── logger.yaml └── tarpaulin.sh ├── docs ├── .gitignore ├── Makefile ├── codecs │ ├── .gitignore │ ├── _category_.yaml │ └── index.md ├── connectors │ ├── .gitignore │ └── _category_.yaml ├── extractors │ ├── .gitignore │ ├── __category__.yaml │ └── index.md ├── operators │ ├── .gitignore │ └── index.md ├── postprocessors │ ├── .gitignore │ ├── _category_.yaml │ └── index.md ├── preprocessors │ ├── .gitignore │ ├── _category_.yaml │ └── index.md └── scripts │ ├── gen.sh │ └── operators.sh ├── erlang_ls.config ├── notes ├── Instrument.md ├── Patterns.md ├── Style.md └── tricks.md ├── out.log ├── packaging ├── README.md ├── builder-images │ ├── .dockerignore │ ├── Dockerfile.x86_64-alpine-linux-musl │ ├── Dockerfile.x86_64-debian-linux-gnu │ ├── Dockerfile.x86_64-unknown-linux-gnu │ ├── Dockerfile.x86_64-unknown-linux-gnu.debian │ ├── Dockerfile.x86_64-unknown-linux-musl │ ├── README.md │ ├── build_image.sh │ ├── publish_images.sh │ └── shared │ │ ├── entrypoint.sh │ │ └── install_dependencies_debian.sh ├── cross_build.sh ├── distribution │ ├── README.md │ ├── debian │ │ └── maintainer-scripts │ │ │ └── postinst │ ├── etc │ │ ├── systemd │ │ │ └── system │ │ │ │ └── tremor.service │ │ └── tremor │ │ │ ├── config │ │ │ └── main.troy.sample │ │ │ └── logger.yaml │ └── usr │ │ └── share │ │ └── tremor │ │ └── tremor.sh ├── functions.sh └── run.sh ├── proptest-regressions └── codec │ └── tremor.txt ├── release.sh ├── rust-toolchain ├── src ├── channel.rs ├── config.rs ├── errors.rs ├── functions.rs ├── lib.rs ├── macros.rs ├── pipeline.rs ├── pipeline │ └── report.rs ├── preprocessor.rs ├── system.rs ├── system │ ├── flow.rs │ └── flow_supervisor.rs └── version.rs ├── static ├── language │ ├── epilog │ │ ├── addexprimut.md │ │ ├── aggrpath.md │ │ ├── alwaysimutexpr.md │ │ ├── andexprimut.md │ │ ├── argsclause.md │ │ ├── argsexpr.md │ │ ├── argsexprs.md │ │ ├── argspath.md │ │ ├── argswithend.md │ │ ├── arraypattern.md │ │ ├── arraypredicatepattern.md │ │ ├── arraypredicatepatterns.md │ │ ├── assignment.md │ │ ├── binadd.md │ │ ├── binand.md │ │ ├── binbitand.md │ │ ├── binbitshift.md │ │ ├── binbitxor.md │ │ ├── bincmp.md │ │ ├── bincmpeq.md │ │ ├── bineq.md │ │ ├── binmul.md │ │ ├── binop.md │ │ ├── binor.md │ │ ├── binxor.md │ │ ├── bitandexprimut.md │ │ ├── bitorexprimut.md │ │ ├── bitshiftexprimut.md │ │ ├── bitxorexprimut.md │ │ ├── block.md │ │ ├── blockimut.md │ │ ├── bool.md │ │ ├── bytes.md │ │ ├── bytesliteral.md │ │ ├── bytespart.md │ │ ├── casepattern.md │ │ ├── cmpexprimut.md │ │ ├── complexexprimut.md │ │ ├── configdirective.md │ │ ├── configdirectives.md │ │ ├── connect.md │ │ ├── connectfromconnector.md │ │ ├── connectfrompipeline.md │ │ ├── connectorkind.md │ │ ├── connecttoconnector.md │ │ ├── connecttopipeline.md │ │ ├── const.md │ │ ├── constpath.md │ │ ├── create.md │ │ ├── createkind.md │ │ ├── createoperator.md │ │ ├── createpipeline.md │ │ ├── createscript.md │ │ ├── createstream.md │ │ ├── creationwith.md │ │ ├── creationwithend.md │ │ ├── define.md │ │ ├── defineconnector.md │ │ ├── defineflow.md │ │ ├── defineoperator.md │ │ ├── definepipeline.md │ │ ├── definescript.md │ │ ├── definewindow.md │ │ ├── definitionargs.md │ │ ├── deploy.md │ │ ├── deployflowstmt.md │ │ ├── deploystmt.md │ │ ├── deploystmts.md │ │ ├── doccomment.md │ │ ├── doccomment_.md │ │ ├── drop.md │ │ ├── effectors.md │ │ ├── effectorsimut.md │ │ ├── embeddedscript.md │ │ ├── embeddedscriptImut.md │ │ ├── embeddedscriptcontent.md │ │ ├── emit.md │ │ ├── eqexprimut.md │ │ ├── eventpath.md │ │ ├── expr.md │ │ ├── exprimut.md │ │ ├── exprpath.md │ │ ├── exprpathroot.md │ │ ├── field.md │ │ ├── fields.md │ │ ├── fields_.md │ │ ├── float.md │ │ ├── flowstmtinner.md │ │ ├── flowstmts.md │ │ ├── flowstmts_.md │ │ ├── fnargs.md │ │ ├── fncase.md │ │ ├── fncaseclauses.md │ │ ├── fncasedefault.md │ │ ├── fncases.md │ │ ├── fndefn.md │ │ ├── for.md │ │ ├── forcaseclause.md │ │ ├── forcaseclauseimut.md │ │ ├── forcaseclauses.md │ │ ├── forcaseclausesimut.md │ │ ├── forimut.md │ │ ├── functionname.md │ │ ├── groupbyclause.md │ │ ├── groupdef.md │ │ ├── groupdefs.md │ │ ├── groupdefs_.md │ │ ├── havingclause.md │ │ ├── ident.md │ │ ├── innerexprs.md │ │ ├── int.md │ │ ├── intrinsic.md │ │ ├── invoke.md │ │ ├── invokeargs.md │ │ ├── invokeargs_.md │ │ ├── let.md │ │ ├── list.md │ │ ├── listelements.md │ │ ├── listelements_.md │ │ ├── literal.md │ │ ├── localpath.md │ │ ├── match.md │ │ ├── matchimut.md │ │ ├── maybeport.md │ │ ├── merge.md │ │ ├── metapath.md │ │ ├── modcomment.md │ │ ├── modcomment_.md │ │ ├── modpath.md │ │ ├── modulartarget.md │ │ ├── modulebody.md │ │ ├── modulefile.md │ │ ├── modulestmt.md │ │ ├── modulestmts.md │ │ ├── mulexprimut.md │ │ ├── nil.md │ │ ├── opentuple.md │ │ ├── operatorkind.md │ │ ├── operatorselect.md │ │ ├── orexprimut.md │ │ ├── patch.md │ │ ├── patchfield.md │ │ ├── patchoperationclause.md │ │ ├── patchoperations.md │ │ ├── path.md │ │ ├── pathsegments.md │ │ ├── patternfields.md │ │ ├── patternfields_.md │ │ ├── pipeline.md │ │ ├── pipelinecreateinner.md │ │ ├── ports.md │ │ ├── predicateclause.md │ │ ├── predicateclauseimut.md │ │ ├── predicatefieldpattern.md │ │ ├── predicates.md │ │ ├── predicatesimut.md │ │ ├── presencesimplexprimut.md │ │ ├── query.md │ │ ├── record.md │ │ ├── recordpattern.md │ │ ├── recur.md │ │ ├── script.md │ │ ├── selector.md │ │ ├── sep.md │ │ ├── simpleexpr.md │ │ ├── simpleexprimut.md │ │ ├── statepath.md │ │ ├── stmt.md │ │ ├── stmts.md │ │ ├── streamport.md │ │ ├── stringliteral.md │ │ ├── stringpart.md │ │ ├── strlitelements.md │ │ ├── testexpr.md │ │ ├── testliteral.md │ │ ├── toplevelexpr.md │ │ ├── toplevelexprs.md │ │ ├── tuplepattern.md │ │ ├── tuplepredicatepattern.md │ │ ├── tuplepredicatepatterns.md │ │ ├── unaryexprimut.md │ │ ├── unarysimpleexprimut.md │ │ ├── use.md │ │ ├── whenclause.md │ │ ├── whereclause.md │ │ ├── window.md │ │ ├── windowclause.md │ │ ├── windowdefn.md │ │ ├── windowkind.md │ │ ├── windows.md │ │ ├── windows_.md │ │ ├── withclause.md │ │ ├── withendclause.md │ │ ├── withexpr.md │ │ ├── withexprs.md │ │ └── xorexprimut.md │ └── prolog │ │ ├── addexprimut.md │ │ ├── aggrpath.md │ │ ├── alwaysimutexpr.md │ │ ├── andexprimut.md │ │ ├── argsclause.md │ │ ├── argsendclause.md │ │ ├── argsexpr.md │ │ ├── argsexprs.md │ │ ├── argspath.md │ │ ├── argswithend.md │ │ ├── arraypattern.md │ │ ├── arraypredicatepattern.md │ │ ├── arraypredicatepatterns.md │ │ ├── assignment.md │ │ ├── binadd.md │ │ ├── binand.md │ │ ├── binbitand.md │ │ ├── binbitshift.md │ │ ├── binbitxor.md │ │ ├── bincmp.md │ │ ├── bincmpeq.md │ │ ├── bineq.md │ │ ├── binmul.md │ │ ├── binop.md │ │ ├── binor.md │ │ ├── binxor.md │ │ ├── bitandexprimut.md │ │ ├── bitorexprimut.md │ │ ├── bitshiftexprimut.md │ │ ├── bitxorexprimut.md │ │ ├── block.md │ │ ├── blockimut.md │ │ ├── bool.md │ │ ├── bytes.md │ │ ├── bytesliteral.md │ │ ├── bytespart.md │ │ ├── casepattern.md │ │ ├── cmpexprimut.md │ │ ├── complexexprimut.md │ │ ├── configdirective.md │ │ ├── configdirectives.md │ │ ├── connect.md │ │ ├── connectfromconnector.md │ │ ├── connectfrompipeline.md │ │ ├── connectorkind.md │ │ ├── connecttoconnector.md │ │ ├── connecttopipeline.md │ │ ├── const.md │ │ ├── constpath.md │ │ ├── create.md │ │ ├── createkind.md │ │ ├── createoperator.md │ │ ├── createpipeline.md │ │ ├── createscript.md │ │ ├── createstream.md │ │ ├── creationwith.md │ │ ├── creationwithend.md │ │ ├── define.md │ │ ├── defineconnector.md │ │ ├── defineflow.md │ │ ├── defineoperator.md │ │ ├── definepipeline.md │ │ ├── definescript.md │ │ ├── definewindow.md │ │ ├── definitionargs.md │ │ ├── deploy.md │ │ ├── deployflowstmt.md │ │ ├── deploystmt.md │ │ ├── deploystmts.md │ │ ├── doccomment.md │ │ ├── doccomment_.md │ │ ├── drop.md │ │ ├── effectors.md │ │ ├── effectorsimut.md │ │ ├── embeddedscript.md │ │ ├── embeddedscriptcontent.md │ │ ├── embeddedscriptimut.md │ │ ├── emit.md │ │ ├── eqexprimut.md │ │ ├── eventpath.md │ │ ├── expr.md │ │ ├── exprimut.md │ │ ├── exprpath.md │ │ ├── exprpathroot.md │ │ ├── field.md │ │ ├── fields.md │ │ ├── fields_.md │ │ ├── float.md │ │ ├── flowstmtinner.md │ │ ├── flowstmts.md │ │ ├── flowstmts_.md │ │ ├── fnargs.md │ │ ├── fncase.md │ │ ├── fncaseclauses.md │ │ ├── fncasedefault.md │ │ ├── fncases.md │ │ ├── fndefn.md │ │ ├── for.md │ │ ├── forcaseclause.md │ │ ├── forcaseclauseimut.md │ │ ├── forcaseclauses.md │ │ ├── forcaseclausesimut.md │ │ ├── forimut.md │ │ ├── functionname.md │ │ ├── groupbyclause.md │ │ ├── groupdef.md │ │ ├── groupdefs.md │ │ ├── groupdefs_.md │ │ ├── havingclause.md │ │ ├── ident.md │ │ ├── innerexprs.md │ │ ├── int.md │ │ ├── intrinsic.md │ │ ├── invoke.md │ │ ├── invokeargs.md │ │ ├── invokeargs_.md │ │ ├── let.md │ │ ├── list.md │ │ ├── listelements.md │ │ ├── listelements_.md │ │ ├── literal.md │ │ ├── localpath.md │ │ ├── match.md │ │ ├── matchimut.md │ │ ├── maybeport.md │ │ ├── merge.md │ │ ├── metapath.md │ │ ├── modcomment.md │ │ ├── modcomment_.md │ │ ├── modpath.md │ │ ├── modulartarget.md │ │ ├── modulebody.md │ │ ├── modulefile.md │ │ ├── modulestmt.md │ │ ├── modulestmts.md │ │ ├── mulexprimut.md │ │ ├── nil.md │ │ ├── opentuple.md │ │ ├── operatorkind.md │ │ ├── operatorselect.md │ │ ├── orexprimut.md │ │ ├── patch.md │ │ ├── patchfield.md │ │ ├── patchoperationclause.md │ │ ├── patchoperations.md │ │ ├── path.md │ │ ├── pathsegments.md │ │ ├── patternfields.md │ │ ├── patternfields_.md │ │ ├── pipeline.md │ │ ├── pipelinecreateinner.md │ │ ├── ports.md │ │ ├── predicateclause.md │ │ ├── predicateclauseimut.md │ │ ├── predicatefieldpattern.md │ │ ├── predicates.md │ │ ├── predicatesimut.md │ │ ├── presencesimplexprimut.md │ │ ├── query.md │ │ ├── record.md │ │ ├── recordpattern.md │ │ ├── recur.md │ │ ├── script.md │ │ ├── selector.md │ │ ├── sep.md │ │ ├── simpleexpr.md │ │ ├── simpleexprimut.md │ │ ├── statepath.md │ │ ├── stmt.md │ │ ├── stmts.md │ │ ├── streamport.md │ │ ├── stringliteral.md │ │ ├── stringpart.md │ │ ├── strlitelements.md │ │ ├── testexpr.md │ │ ├── testliteral.md │ │ ├── toplevelexpr.md │ │ ├── toplevelexprs.md │ │ ├── tuplepattern.md │ │ ├── tuplepredicatepattern.md │ │ ├── tuplepredicatepatterns.md │ │ ├── unaryexprimut.md │ │ ├── unarysimpleexprimut.md │ │ ├── use.md │ │ ├── whenclause.md │ │ ├── whereclause.md │ │ ├── window.md │ │ ├── windowclause.md │ │ ├── windowdefn.md │ │ ├── windowkind.md │ │ ├── windows.md │ │ ├── windows_.md │ │ ├── withclause.md │ │ ├── withendclause.md │ │ ├── withexpr.md │ │ ├── withexprs.md │ │ └── xorexprimut.md └── openapi.yaml ├── tests ├── .gitignore ├── configs │ ├── deploy.simple.yaml │ └── ut.passthrough.yaml ├── data │ ├── input.txt │ └── input.xz ├── flow_error.rs ├── flow_errors │ ├── connector_bad_kind │ │ ├── error.txt │ │ └── flow.troy │ ├── connector_bad_with │ │ ├── error.txt │ │ └── flow.troy │ ├── connector_bad_with_param │ │ ├── error.txt │ │ └── flow.troy │ ├── connector_no_kind │ │ ├── error.txt │ │ └── flow.troy │ ├── flow_not_found │ │ ├── error.txt │ │ └── flow.troy │ ├── missing_required_argument │ │ ├── error.txt │ │ └── flow.troy │ ├── module_not_found │ │ ├── error.txt │ │ └── flow.troy │ ├── pipeline_bad_query │ │ ├── error.txt │ │ └── flow.troy │ ├── unknown_argument │ │ ├── error.txt │ │ └── flow.troy │ └── unknown_argument_no_args │ │ ├── error.txt │ │ └── flow.troy ├── flows.rs ├── flows │ ├── _template │ │ └── flow.troy │ ├── args_in_create │ │ ├── config.json │ │ └── flow.troy │ ├── chained_pipelines │ │ └── flow.troy │ ├── codec_config │ │ └── flow.troy │ ├── consts_as_default_args │ │ ├── consts.troy │ │ ├── flow.troy │ │ ├── inner_consts.troy │ │ └── other_consts.troy │ ├── nested_with │ │ ├── config.json │ │ └── flow.troy │ ├── nested_with_modular │ │ ├── flow.troy │ │ └── process.troy │ ├── new.sh │ ├── pipeline_args │ │ └── flow.troy │ ├── pipeline_basic │ │ └── flow.troy │ ├── pipeline_identity │ │ └── flow.troy │ └── pipeline_with │ │ └── flow.troy ├── queries │ ├── _template │ │ ├── in │ │ ├── out │ │ └── query.trickle │ ├── alias_script_params_overwrite │ │ ├── foo │ │ │ └── bar.trickle │ │ ├── in │ │ ├── out │ │ └── query.trickle │ ├── args_in_function │ │ ├── in │ │ ├── out │ │ └── query.trickle │ ├── args_nesting_no_leakage │ │ ├── in │ │ ├── out │ │ └── query.trickle │ ├── args_nesting_redefine │ │ ├── in │ │ ├── out │ │ └── query.trickle │ ├── array_addition │ │ ├── in │ │ ├── out │ │ └── query.trickle │ ├── array_addition_optimisations │ │ ├── in │ │ ├── out │ │ └── query.trickle │ ├── binary_op_short_circuit │ │ ├── in │ │ ├── out │ │ └── query.trickle │ ├── cardinality │ │ ├── in │ │ ├── out │ │ └── query.trickle │ ├── default_rule │ │ ├── in │ │ ├── out │ │ └── query.trickle │ ├── dimensions │ │ ├── in │ │ ├── out │ │ └── query.trickle │ ├── drop_event │ │ ├── in │ │ ├── out │ │ └── query.trickle │ ├── example_rule │ │ ├── in │ │ ├── out │ │ └── query.trickle │ ├── group_by_size │ │ ├── in │ │ ├── out │ │ └── query.trickle │ ├── group_by_time │ │ ├── in │ │ ├── out │ │ └── query.trickle │ ├── group_country_region_az │ │ ├── in │ │ ├── out │ │ └── query.trickle │ ├── group_each │ │ ├── in │ │ ├── out │ │ └── query.trickle │ ├── group_set │ │ ├── in │ │ ├── out │ │ └── query.trickle │ ├── guard_having │ │ ├── in │ │ ├── out │ │ └── query.trickle │ ├── guard_where │ │ ├── in │ │ ├── out │ │ └── query.trickle │ ├── having_filter │ │ ├── in │ │ ├── out │ │ └── query.trickle │ ├── history │ │ ├── in │ │ ├── out │ │ └── query.trickle │ ├── initial_state │ │ ├── in │ │ ├── out │ │ └── query.trickle │ ├── layered_limiting │ │ ├── in │ │ ├── out │ │ └── query.trickle │ ├── lru │ │ ├── in │ │ ├── out │ │ └── query.trickle │ ├── merge │ │ ├── in │ │ ├── out │ │ └── query.trickle │ ├── multi_dimensions │ │ ├── in │ │ ├── out │ │ └── query.trickle │ ├── mutate │ │ ├── in │ │ ├── out │ │ └── query.trickle │ ├── new.sh │ ├── patch │ │ ├── in │ │ ├── out │ │ └── query.trickle │ ├── pipeline_complex_args │ │ ├── in │ │ ├── out │ │ └── query.trickle │ ├── pipeline_group_by_size │ │ ├── in │ │ ├── out │ │ └── query.trickle │ ├── pipeline_nested_operator │ │ ├── in │ │ ├── out │ │ └── query.trickle │ ├── pipeline_nested_pipeline │ │ ├── in │ │ ├── out │ │ └── query.trickle │ ├── pipeline_nested_script │ │ ├── in │ │ ├── out │ │ └── query.trickle │ ├── pipeline_passthrough │ │ ├── in │ │ ├── out │ │ └── query.trickle │ ├── pp_alias_operator │ │ ├── foo1 │ │ │ └── bar.trickle │ │ ├── in │ │ ├── out │ │ └── query.trickle │ ├── pp_alias_script │ │ ├── foo2 │ │ │ └── bar.trickle │ │ ├── in │ │ ├── out │ │ └── query.trickle │ ├── pp_alias_win │ │ ├── foo3 │ │ │ └── bar.trickle │ │ ├── in │ │ ├── out │ │ └── query.trickle │ ├── pp_config_directive │ │ ├── foo4 │ │ │ └── bar.trickle │ │ ├── in │ │ ├── out │ │ └── query.trickle │ ├── pp_const │ │ ├── example1 │ │ │ └── c.tremor │ │ ├── in │ │ ├── out │ │ └── query.trickle │ ├── pp_fn │ │ ├── example2 │ │ │ └── c.tremor │ │ ├── in │ │ ├── out │ │ └── query.trickle │ ├── pp_operator │ │ ├── foo5 │ │ │ └── bar.trickle │ │ ├── in │ │ ├── out │ │ └── query.trickle │ ├── pp_script │ │ ├── foo6 │ │ │ └── bar.trickle │ │ ├── in │ │ ├── out │ │ └── query.trickle │ ├── pp_win │ │ ├── foo7 │ │ │ └── bar.trickle │ │ ├── in │ │ ├── out │ │ └── query.trickle │ ├── rewrite_root │ │ ├── in │ │ ├── out │ │ └── query.trickle │ ├── roundrobin │ │ ├── in │ │ ├── out │ │ └── query.trickle │ ├── route_emit │ │ ├── in │ │ ├── out │ │ └── query.trickle │ ├── script_error │ │ ├── in │ │ ├── out │ │ └── query.trickle │ ├── script_params │ │ ├── in │ │ ├── out │ │ └── query.trickle │ ├── script_params_overwrite │ │ ├── in │ │ ├── out │ │ └── query.trickle │ ├── script_ports │ │ ├── in │ │ ├── out │ │ └── query.trickle │ ├── simple_passthrough │ │ ├── in │ │ ├── out │ │ └── query.trickle │ ├── state │ │ ├── in │ │ ├── out │ │ └── query.trickle │ ├── state_counter_operator │ │ ├── in │ │ ├── out │ │ └── query.trickle │ ├── streams │ │ ├── in │ │ ├── out │ │ └── query.trickle │ ├── tremor_map │ │ ├── in │ │ ├── out │ │ └── query.trickle │ ├── unused_node │ │ ├── in │ │ ├── out │ │ └── query.trickle │ ├── where_filter │ │ ├── in │ │ ├── out │ │ └── query.trickle │ ├── window_by_two │ │ ├── in │ │ ├── out │ │ └── query.trickle │ ├── window_by_two_scripted │ │ ├── in │ │ ├── out │ │ └── query.trickle │ ├── window_mixed_1 │ │ ├── in │ │ ├── out │ │ └── query.trickle │ ├── window_mixed_2 │ │ ├── in │ │ ├── out │ │ └── query.trickle │ ├── window_size_tilted │ │ ├── in │ │ ├── out │ │ └── query.trickle │ ├── window_state_by_two │ │ ├── in │ │ ├── out │ │ └── query.trickle │ ├── window_state_by_two_vec │ │ ├── in │ │ ├── out │ │ └── query.trickle │ └── with_config │ │ ├── in │ │ ├── out │ │ └── query.trickle ├── query.rs ├── query_error.rs ├── query_errors │ ├── _template │ │ ├── error.txt │ │ └── query.trickle │ ├── aggr_arity │ │ ├── error.txt │ │ └── query.trickle │ ├── aggr_in_aggr │ │ ├── error.txt │ │ └── query.trickle │ ├── args_in_const │ │ ├── error.txt │ │ └── query.trickle │ ├── bad_from │ │ ├── error.txt │ │ └── query.trickle │ ├── bad_into │ │ ├── error.txt │ │ └── query.trickle │ ├── const_in_select │ │ ├── error.re │ │ └── query.trickle │ ├── double_query │ │ ├── error.txt │ │ └── query.trickle │ ├── duplicate_stream_name │ │ ├── error.txt │ │ └── query.trickle │ ├── let_in_select │ │ ├── error.re │ │ └── query.trickle │ ├── local_in_group_by │ │ ├── error.txt │ │ └── query.trickle │ ├── local_in_having │ │ ├── error.txt │ │ └── query.trickle │ ├── local_in_select │ │ ├── error.txt │ │ └── query.trickle │ ├── local_in_where │ │ ├── error.txt │ │ └── query.trickle │ ├── new.sh │ ├── node_duplicate_name_operator │ │ ├── error.txt │ │ └── query.trickle │ ├── node_duplicate_name_script │ │ ├── error.txt │ │ └── query.trickle │ ├── node_reserved_name_operator │ │ ├── error.txt │ │ └── query.trickle │ ├── node_reserved_name_script │ │ ├── error.txt │ │ └── query.trickle │ ├── non_const_in_args │ │ ├── error.txt │ │ └── query.trickle │ ├── pipeline_duplicate_define │ │ ├── error.txt │ │ └── query.trickle │ ├── pipeline_duplicate_streams_inside │ │ ├── error.txt │ │ └── query.trickle │ ├── pipeline_in │ │ ├── error.txt │ │ └── query.trickle │ ├── pipeline_name_overlap │ │ ├── error.txt │ │ └── query.trickle │ ├── pipeline_out │ │ ├── error.txt │ │ └── query.trickle │ ├── pipeline_select_bad_stream │ │ ├── error.txt │ │ └── query.trickle │ ├── pipeline_stream_name_conflict │ │ ├── error.txt │ │ └── query.trickle │ ├── pipeline_stream_port_conflict │ │ ├── error.txt │ │ └── query.trickle │ ├── pipeline_undefined │ │ ├── error.txt │ │ └── query.trickle │ ├── pipeline_unknown_param │ │ ├── error.txt │ │ └── query.trickle │ ├── pipeline_unknown_port │ │ ├── error.txt │ │ └── query.trickle │ ├── pp_embed_unrecognized_token │ │ ├── error.txt │ │ └── query.trickle │ ├── pp_embed_unrecognized_token2 │ │ ├── error.txt │ │ └── query.trickle │ ├── pp_embed_unrecognized_token3 │ │ ├── error.txt │ │ └── query.trickle │ ├── pp_embed_unrecognized_token4 │ │ ├── error.txt │ │ └── query.trickle │ ├── pp_embed_unrecognized_token5 │ │ ├── error.txt │ │ ├── foo │ │ │ └── bar.tremor │ │ └── query.trickle │ ├── pp_mod_not_found │ │ ├── error.txt │ │ └── query.trickle │ ├── pp_unrecognized_token │ │ ├── error.txt │ │ └── query.trickle │ ├── pp_unrecognized_token2 │ │ ├── error.txt │ │ └── query.trickle │ ├── pp_unrecognized_token3 │ │ ├── error.txt │ │ └── query.trickle │ ├── pp_unrecognized_token4 │ │ ├── error.txt │ │ └── query.trickle │ ├── pp_unrecognized_token5 │ │ ├── error.txt │ │ ├── foo │ │ │ └── bar.tremor │ │ └── query.trickle │ ├── scope_named_scripts │ │ ├── error.txt │ │ └── query.trickle │ ├── scope_named_scripts2 │ │ ├── error.txt │ │ └── query.trickle │ ├── scope_named_scripts3 │ │ ├── error.txt │ │ └── query.trickle │ ├── scope_window_script │ │ ├── error.txt │ │ └── query.trickle │ ├── scope_window_script2 │ │ ├── error.txt │ │ └── query.trickle │ ├── scope_window_script3 │ │ ├── error.txt │ │ └── query.trickle │ ├── scope_window_script4 │ │ ├── error.txt │ │ └── query.trickle │ ├── scope_window_script5 │ │ ├── error.txt │ │ └── query.trickle │ ├── script_duplicate_port │ │ ├── error.txt │ │ └── query.trickle │ ├── script_in_port │ │ ├── error.txt │ │ └── query.trickle │ ├── state_not_static │ │ ├── error.txt │ │ └── query.trickle │ ├── window_bad_script_from │ │ ├── error.txt │ │ └── query.trickle │ ├── window_both_settings │ │ ├── error.txt │ │ └── query.trickle │ ├── window_event_in_target │ │ ├── error.txt │ │ └── query.trickle │ ├── window_event_in_tick │ │ ├── error.txt │ │ └── query.trickle │ ├── window_group_by_event_in_target │ │ ├── error.txt │ │ └── query.trickle │ ├── window_meta_in_tick │ │ ├── error.txt │ │ └── query.trickle │ ├── window_mut_event │ │ ├── error.txt │ │ └── query.trickle │ ├── window_mut_meta │ │ ├── error.txt │ │ └── query.trickle │ ├── window_mutate_event │ │ ├── error.txt │ │ └── query.trickle │ └── window_mutate_meta │ │ ├── error.txt │ │ └── query.trickle ├── query_runtime_error.rs ├── query_runtime_errors │ ├── _template │ │ ├── error.txt │ │ ├── in │ │ ├── out │ │ └── query.trickle │ ├── bad_state_window_return │ │ ├── error.txt │ │ ├── in │ │ ├── out │ │ └── query.trickle │ ├── bad_vec_state_window_return │ │ ├── error.txt │ │ ├── in │ │ ├── out │ │ └── query.trickle │ ├── binary_operators_and_left │ │ ├── error.txt │ │ ├── in │ │ ├── out │ │ └── query.trickle │ ├── binary_operators_and_right │ │ ├── error.txt │ │ ├── in │ │ ├── out │ │ └── query.trickle │ ├── binary_operators_or_left │ │ ├── error.txt │ │ ├── in │ │ ├── out │ │ └── query.trickle │ ├── binary_operators_or_right │ │ ├── error.txt │ │ ├── in │ │ ├── out │ │ └── query.trickle │ ├── binary_operators_xor_left │ │ ├── error.txt │ │ ├── in │ │ ├── out │ │ └── query.trickle │ ├── binary_operators_xor_right │ │ ├── error.txt │ │ ├── in │ │ ├── out │ │ └── query.trickle │ ├── branch_error_then_ok │ │ ├── error.txt │ │ ├── in │ │ ├── out │ │ └── query.trickle │ ├── meta_and_use │ │ ├── error.txt │ │ ├── in │ │ ├── out │ │ └── query.trickle │ ├── new.sh │ └── script_bad_port │ │ ├── error.txt │ │ ├── in │ │ ├── out │ │ └── query.trickle ├── script.rs ├── script_error.rs ├── script_errors │ ├── _template │ │ ├── error.txt │ │ └── script.tremor │ ├── add_overflow │ │ ├── error.txt │ │ └── script.tremor │ ├── arith_bad_shift_1 │ │ ├── error.txt │ │ └── script.tremor │ ├── arith_bad_shift_2 │ │ ├── error.txt │ │ └── script.tremor │ ├── bad_fold │ │ ├── error.txt │ │ └── script.tremor │ ├── bad_fold_imut │ │ ├── error.txt │ │ └── script.tremor │ ├── bin_invalid_bits │ │ ├── error.txt │ │ └── script.tremor │ ├── bin_invalid_type │ │ ├── error.txt │ │ └── script.tremor │ ├── const_expr_id_into_arr │ │ ├── error.txt │ │ └── script.tremor │ ├── const_expr_index_into_int │ │ ├── error.txt │ │ └── script.tremor │ ├── const_expr_index_out_of_bounds │ │ ├── error.txt │ │ └── script.tremor │ ├── const_expr_range_bad_end │ │ ├── error.txt │ │ └── script.tremor │ ├── const_expr_range_bad_start │ │ ├── error.txt │ │ └── script.tremor │ ├── const_expr_range_on_non_array │ │ ├── error.txt │ │ └── script.tremor │ ├── const_expr_range_out_of_bounds │ │ ├── error.txt │ │ └── script.tremor │ ├── const_expr_reverse_range │ │ ├── error.txt │ │ └── script.tremor │ ├── const_expr_unknown_key │ │ ├── error.txt │ │ └── script.tremor │ ├── double_const │ │ ├── error.txt │ │ └── script.tremor │ ├── error_in_include │ │ ├── error.txt │ │ ├── script.tremor │ │ └── snot.tremor │ ├── fn_bad_recur │ │ ├── error.txt │ │ └── script.tremor │ ├── function_already_defined │ │ ├── error.txt │ │ └── script.tremor │ ├── function_error_1 │ │ ├── error.txt │ │ └── script.tremor │ ├── function_error_2 │ │ ├── error.txt │ │ └── script.tremor │ ├── function_error_3 │ │ ├── error.txt │ │ └── script.tremor │ ├── function_error_n │ │ ├── error.txt │ │ └── script.tremor │ ├── heredoc_interpolation_escape │ │ ├── error.txt │ │ └── script.tremor │ ├── heredoc_interpolation_extractor │ │ ├── error.txt │ │ └── script.tremor │ ├── heredoc_interpolation_ident │ │ ├── error.txt │ │ └── script.tremor │ ├── heredoc_interpolation_invalid_unicode │ │ ├── error.txt │ │ └── script.tremor │ ├── heredoc_interpolation_multiline │ │ ├── error.txt │ │ └── script.tremor │ ├── heredoc_tailing │ │ ├── error.txt │ │ └── script.tremor │ ├── imut_bad_drop │ │ ├── error.txt │ │ └── script.tremor │ ├── imut_bad_emit │ │ ├── error.txt │ │ └── script.tremor │ ├── invalid_const_binary │ │ ├── error.txt │ │ └── script.tremor │ ├── invalid_const_unary │ │ ├── error.txt │ │ └── script.tremor │ ├── invalid_escape_extractor │ │ ├── error.txt │ │ └── script.tremor │ ├── invalid_extractor │ │ ├── error.txt │ │ └── script.tremor │ ├── invalid_utf8_1 │ │ ├── error.txt │ │ └── script.tremor │ ├── invalid_utf8_2 │ │ ├── error.txt │ │ └── script.tremor │ ├── invalid_utf8_3 │ │ ├── error.txt │ │ └── script.tremor │ ├── lexer_bad_float │ │ ├── error.txt │ │ └── script.tremor │ ├── lexer_bad_hex │ │ ├── error.txt │ │ └── script.tremor │ ├── lexer_bad_hex2 │ │ ├── error.txt │ │ └── script.tremor │ ├── lexer_bad_hex3 │ │ ├── error.txt │ │ └── script.tremor │ ├── lexer_bad_int │ │ ├── error.txt │ │ └── script.tremor │ ├── lexer_diamond │ │ ├── error.txt │ │ └── script.tremor │ ├── lexer_heredoc_interpolation │ │ ├── error.txt │ │ └── script.tremor │ ├── lexer_heredoc_interpolation2 │ │ ├── error.txt │ │ └── script.tremor │ ├── lexer_heredoc_interpolation3 │ │ ├── error.txt │ │ └── script.tremor │ ├── lexer_invalid_float │ │ ├── error.txt │ │ └── script.tremor │ ├── lexer_invalid_float_exp │ │ ├── error.txt │ │ └── script.tremor │ ├── lexer_invalid_hex │ │ ├── error.txt │ │ └── script.tremor │ ├── lexer_invalid_hex2 │ │ ├── error.txt │ │ └── script.tremor │ ├── lexer_invalid_int │ │ ├── error.txt │ │ └── script.tremor │ ├── lexer_invalid_int_invalid_char │ │ ├── error.txt │ │ └── script.tremor │ ├── lexer_invalid_pp │ │ ├── error.txt │ │ └── script.tremor │ ├── lexer_ngt │ │ ├── error.txt │ │ └── script.tremor │ ├── lexer_string_interpolation │ │ ├── error.txt │ │ └── script.tremor │ ├── lexer_string_interpolation2 │ │ ├── error.txt │ │ └── script.tremor │ ├── lexer_string_interpolation3 │ │ ├── error.txt │ │ └── script.tremor │ ├── lexer_triple_colon │ │ ├── error.txt │ │ └── script.tremor │ ├── lexer_unterminated_extractor │ │ ├── error.txt │ │ └── script.tremor │ ├── lexer_unterminated_extractor2 │ │ ├── error.txt │ │ └── script.tremor │ ├── lexer_unterminated_heredoc │ │ ├── error.txt │ │ └── script.tremor │ ├── lexer_unterminated_heredoc2 │ │ ├── error.txt │ │ └── script.tremor │ ├── lexer_unterminated_ident │ │ ├── error.txt │ │ └── script.tremor │ ├── lexer_unterminated_ident2 │ │ ├── error.txt │ │ └── script.tremor │ ├── lexer_unterminated_string │ │ ├── error.txt │ │ └── script.tremor │ ├── lexer_unterminated_string2 │ │ ├── error.txt │ │ └── script.tremor │ ├── merge_ident │ │ ├── error.txt │ │ └── script.tremor │ ├── missing_function │ │ ├── error.txt │ │ └── script.tremor │ ├── mul_overflow │ │ ├── error.txt │ │ └── script.tremor │ ├── new.sh │ ├── patch_non_str_key │ │ ├── error.txt │ │ └── script.tremor │ ├── pp_cyclic │ │ ├── error.txt │ │ └── script.tremor │ ├── pp_mod_not_found │ │ ├── error.txt │ │ └── script.tremor │ ├── pp_nest_cyclic │ │ ├── error.txt │ │ ├── foo │ │ │ ├── bar.tremor │ │ │ └── baz.tremor │ │ └── script.tremor │ ├── pp_unknown_function_in_function │ │ ├── error.txt │ │ ├── foo.tremor │ │ └── script.tremor │ ├── pp_unrecognized_token │ │ ├── error.txt │ │ └── script.tremor │ ├── pp_unrecognized_token2 │ │ ├── error.txt │ │ └── script.tremor │ ├── pp_unrecognized_token3 │ │ ├── error.txt │ │ └── script.tremor │ ├── pp_unrecognized_token4 │ │ ├── error.txt │ │ └── script.tremor │ ├── pp_unrecognized_token5 │ │ ├── error.txt │ │ ├── foo │ │ │ └── bar.tremor │ │ └── script.tremor │ ├── script_without_newline │ │ ├── error.txt │ │ └── script.tremor │ ├── select_ident │ │ ├── error.txt │ │ └── script.tremor │ ├── single_quote │ │ ├── error.txt │ │ └── script.tremor │ ├── string_interpolation_empty │ │ ├── error.txt │ │ └── script.tremor │ ├── string_interpolation_eof │ │ ├── error.txt │ │ └── script.tremor │ ├── string_interpolation_escape │ │ ├── error.txt │ │ └── script.tremor │ ├── string_interpolation_extractor │ │ ├── error.txt │ │ └── script.tremor │ ├── string_interpolation_invalid_utf8 │ │ ├── error.txt │ │ └── script.tremor │ ├── strnig_as_ident │ │ ├── error.txt │ │ └── script.tremor │ ├── sub_overflow │ │ ├── error.txt │ │ └── script.tremor │ ├── tailing_gt │ │ ├── error.txt │ │ └── script.tremor │ ├── tailing_heredoc │ │ ├── error.txt │ │ └── script.tremor │ ├── unexpected_escape │ │ ├── error.txt │ │ └── script.tremor │ ├── unfinished_escape_eof │ │ ├── error.txt │ │ └── script.tremor │ ├── unknown_extractor │ │ ├── error.txt │ │ └── script.tremor │ └── unknown_function_in_function │ │ ├── error.txt │ │ └── script.tremor ├── script_runtime_error.rs ├── script_runtime_errors │ ├── _template │ │ ├── error.txt │ │ ├── in │ │ └── script.tremor │ ├── arith_bad_shift_3 │ │ ├── error.txt │ │ ├── in │ │ └── script.tremor │ ├── arr_bad_idx │ │ ├── error.txt │ │ ├── in │ │ └── script.tremor │ ├── arr_bad_idx2 │ │ ├── error.txt │ │ ├── in │ │ └── script.tremor │ ├── assign_const │ │ ├── error.txt │ │ ├── in │ │ └── script.tremor │ ├── assign_expr │ │ ├── error.txt │ │ ├── in │ │ └── script.tremor │ ├── assign_reserved │ │ ├── error.txt │ │ ├── in │ │ └── script.tremor │ ├── bad_binary │ │ ├── error.txt │ │ ├── in │ │ └── script.tremor │ ├── bad_bitshift │ │ ├── error.txt │ │ ├── in │ │ └── script.tremor │ ├── bad_fold_op │ │ ├── error.txt │ │ ├── in │ │ └── script.tremor │ ├── bad_fold_op_imut │ │ ├── error.txt │ │ ├── in │ │ └── script.tremor │ ├── bad_fold_op_record │ │ ├── error.txt │ │ ├── in │ │ └── script.tremor │ ├── bad_fold_op_record_imut │ │ ├── error.txt │ │ ├── in │ │ └── script.tremor │ ├── bad_fold_type │ │ ├── error.txt │ │ ├── in │ │ └── script.tremor │ ├── bad_fold_type_imut │ │ ├── error.txt │ │ ├── in │ │ └── script.tremor │ ├── bad_index_type │ │ ├── error.txt │ │ ├── in │ │ └── script.tremor │ ├── bad_merge │ │ ├── error.txt │ │ ├── in │ │ └── script.tremor │ ├── bad_merge2 │ │ ├── error.txt │ │ ├── in │ │ └── script.tremor │ ├── bad_unary │ │ ├── error.txt │ │ ├── in │ │ └── script.tremor │ ├── error_after_heredoc │ │ ├── error.txt │ │ ├── in │ │ └── script.tremor │ ├── fold_bool_op │ │ ├── error.txt │ │ ├── in │ │ └── script.tremor │ ├── fold_bool_op_imut │ │ ├── error.txt │ │ ├── in │ │ └── script.tremor │ ├── fold_bool_or │ │ ├── error.txt │ │ ├── in │ │ └── script.tremor │ ├── fold_bool_or_imut │ │ ├── error.txt │ │ ├── in │ │ └── script.tremor │ ├── function_error_1 │ │ ├── error.txt │ │ ├── in │ │ └── script.tremor │ ├── function_error_2 │ │ ├── error.txt │ │ ├── in │ │ └── script.tremor │ ├── function_error_3 │ │ ├── error.txt │ │ ├── in │ │ └── script.tremor │ ├── function_error_n │ │ ├── error.txt │ │ ├── in │ │ └── script.tremor │ ├── match_bad_guard_type │ │ ├── error.txt │ │ ├── in │ │ └── script.tremor │ ├── match_no_clause_hit │ │ ├── error.txt │ │ ├── in │ │ └── script.tremor │ ├── merge_assign_target_new_no_object │ │ ├── error.txt │ │ ├── in │ │ └── script.tremor │ ├── merge_assign_target_target_no_object │ │ ├── error.txt │ │ ├── in │ │ └── script.tremor │ ├── merge_new_no_object │ │ ├── error.txt │ │ ├── in │ │ └── script.tremor │ ├── merge_target_no_object │ │ ├── error.txt │ │ ├── in │ │ └── script.tremor │ ├── meta_and_use │ │ ├── error.txt │ │ ├── in │ │ └── script.tremor │ ├── missing_local │ │ ├── error.txt │ │ ├── in │ │ └── script.tremor │ ├── new.sh │ ├── non_arr_access │ │ ├── error.txt │ │ ├── in │ │ └── script.tremor │ ├── non_arr_access2 │ │ ├── error.txt │ │ ├── in │ │ └── script.tremor │ ├── non_obj_access │ │ ├── error.txt │ │ ├── in │ │ └── script.tremor │ ├── non_obj_access2 │ │ ├── error.txt │ │ ├── in │ │ └── script.tremor │ ├── obj_bad_key │ │ ├── error.txt │ │ ├── in │ │ └── script.tremor │ ├── obj_bad_key2 │ │ ├── error.txt │ │ ├── in │ │ └── script.tremor │ ├── patch_copy_key_exists │ │ ├── error.txt │ │ ├── in │ │ └── script.tremor │ ├── patch_key_exists │ │ ├── error.txt │ │ ├── in │ │ └── script.tremor │ ├── patch_merge_on_non_object │ │ ├── error.txt │ │ ├── in │ │ └── script.tremor │ ├── patch_move_key_exists │ │ ├── error.txt │ │ ├── in │ │ └── script.tremor │ ├── patch_on_non_obj │ │ ├── error.txt │ │ ├── in │ │ └── script.tremor │ ├── patch_update_key_missing │ │ ├── error.txt │ │ ├── in │ │ └── script.tremor │ ├── recursion_limit │ │ ├── error.txt │ │ ├── in │ │ └── script.tremor │ ├── subslice_and_idx_out_of_bounds │ │ ├── error.txt │ │ ├── in │ │ └── script.tremor │ ├── subslice_bad_end │ │ ├── error.txt │ │ ├── in │ │ └── script.tremor │ ├── subslice_bad_start │ │ ├── error.txt │ │ ├── in │ │ └── script.tremor │ ├── subslice_end_lt_start │ │ ├── error.txt │ │ ├── in │ │ └── script.tremor │ ├── subslice_neg_start │ │ ├── error.txt │ │ ├── in │ │ └── script.tremor │ ├── subslice_no_arr │ │ ├── error.txt │ │ ├── in │ │ └── script.tremor │ ├── subslice_out_of_bounds │ │ ├── error.txt │ │ ├── in │ │ └── script.tremor │ └── undefined_local │ │ ├── error.txt │ │ ├── in │ │ └── script.tremor ├── script_warning.rs ├── script_warnings │ ├── _template │ │ ├── script.tremor │ │ └── warning.txt │ ├── array_perf │ │ ├── script.tremor │ │ └── warning.txt │ ├── for_fold_op │ │ ├── script.tremor │ │ └── warning.txt │ ├── lower_case_const │ │ ├── script.tremor │ │ └── warning.txt │ ├── match_imut_multiple_default │ │ ├── script.tremor │ │ └── warning.txt │ ├── match_imut_no_default │ │ ├── script.tremor │ │ └── warning.txt │ ├── match_multiple_default │ │ ├── script.tremor │ │ └── warning.txt │ ├── match_no_default │ │ ├── script.tremor │ │ └── warning.txt │ ├── nanotime │ │ ├── script.tremor │ │ └── warning.txt │ ├── new.sh │ ├── record_perf │ │ ├── script.tremor │ │ └── warning.txt │ ├── recordpattern_absence_and_extractor │ │ ├── script.tremor │ │ └── warning.txt │ └── recordpattern_presence_and_extractor │ │ ├── script.tremor │ │ └── warning.txt └── scripts │ ├── _template │ ├── in │ ├── out │ └── script.tremor │ ├── array_comprehension │ ├── in │ ├── out │ └── script.tremor │ ├── array_paths │ ├── in │ ├── out │ └── script.tremor │ ├── array_pattern │ ├── in │ ├── out │ └── script.tremor │ ├── array_pattern_element │ ├── in │ ├── out │ └── script.tremor │ ├── array_pattern_ignore │ ├── in │ ├── out │ └── script.tremor │ ├── array_pattern_short_circuit │ ├── in │ ├── out │ └── script.tremor │ ├── assign_and_path_match │ ├── in │ ├── out │ └── script.tremor │ ├── assign_move │ ├── in │ ├── out │ └── script.tremor │ ├── base64 │ ├── in │ ├── out │ └── script.tremor │ ├── binary │ ├── in │ ├── out │ └── script.tremor │ ├── binary_binary │ ├── in │ ├── out │ └── script.tremor │ ├── binary_binary_string │ ├── in │ ├── out │ └── script.tremor │ ├── binary_float │ ├── in │ ├── out │ └── script.tremor │ ├── binary_int │ ├── in │ ├── out │ └── script.tremor │ ├── binary_not │ ├── in │ ├── out │ └── script.tremor │ ├── binary_string │ ├── in │ ├── out │ └── script.tremor │ ├── binary_string_binary │ ├── in │ ├── out │ └── script.tremor │ ├── binary_uint │ ├── in │ ├── out │ └── script.tremor │ ├── bit_ops │ ├── in │ ├── out │ └── script.tremor │ ├── bit_shift │ ├── in │ ├── out │ └── script.tremor │ ├── bytes_create │ ├── in │ ├── out │ └── script.tremor │ ├── bytes_tcp │ ├── in │ ├── out │ └── script.tremor │ ├── cidr │ ├── in │ ├── out │ └── script.tremor │ ├── cidr_multi │ ├── in │ ├── out │ └── script.tremor │ ├── const_basic │ ├── in │ ├── out │ └── script.tremor │ ├── const_expr_path_non_const_segment │ ├── in │ ├── out │ └── script.tremor │ ├── const_fn │ ├── in │ ├── out │ └── script.tremor │ ├── const_fn_tremor │ ├── in │ ├── out │ └── script.tremor │ ├── const_in_const │ ├── in │ ├── out │ └── script.tremor │ ├── const_in_const_lookup │ ├── in │ ├── out │ └── script.tremor │ ├── const_of_const │ ├── in │ ├── out │ └── script.tremor │ ├── const_string_interpolation │ ├── in │ ├── out │ └── script.tremor │ ├── consts │ ├── in │ ├── out │ └── script.tremor │ ├── datetime │ ├── in │ ├── out │ └── script.tremor │ ├── drop │ ├── in │ ├── out │ └── script.tremor │ ├── dummy │ ├── in │ ├── out │ └── script.tremor │ ├── emit_port │ ├── in │ ├── out │ └── script.tremor │ ├── empty_array_pattern │ ├── in │ ├── out │ └── script.tremor │ ├── empty_record_pattern │ ├── in │ ├── out │ └── script.tremor │ ├── empty_subslice │ ├── in │ ├── out │ └── script.tremor │ ├── eq │ ├── in │ ├── out │ └── script.tremor │ ├── escape │ ├── in │ ├── out │ └── script.tremor │ ├── escape_in_extractor │ ├── in │ ├── out │ └── script.tremor │ ├── expr_path │ ├── in │ ├── out │ └── script.tremor │ ├── extractor_dissect │ ├── in │ ├── out │ └── script.tremor │ ├── fn_extractors │ ├── in │ ├── out │ └── script.tremor │ ├── fn_fib │ ├── fib.tremor │ ├── in │ ├── lies.tremor │ ├── out │ └── script.tremor │ ├── fn_nest2_abs_fib │ ├── fib.tremor │ ├── in │ ├── lies.tremor │ ├── out │ └── script.tremor │ ├── fn_nest2_fib │ ├── fib.tremor │ ├── in │ ├── lies.tremor │ ├── out │ └── script.tremor │ ├── fold_array │ ├── in │ ├── out │ └── script.tremor │ ├── fold_array_imut │ ├── in │ ├── out │ └── script.tremor │ ├── fold_array_initial │ ├── in │ ├── out │ └── script.tremor │ ├── fold_array_initial_imut │ ├── in │ ├── out │ └── script.tremor │ ├── fold_array_initial_op │ ├── in │ ├── out │ └── script.tremor │ ├── fold_array_initial_op_imut │ ├── in │ ├── out │ └── script.tremor │ ├── fold_bool │ ├── in │ ├── out │ └── script.tremor │ ├── fold_bool_imut │ ├── in │ ├── out │ └── script.tremor │ ├── fold_bool_or │ ├── in │ ├── out │ └── script.tremor │ ├── fold_bool_or_imut │ ├── in │ ├── out │ └── script.tremor │ ├── fold_number │ ├── in │ ├── out │ └── script.tremor │ ├── fold_number_imut │ ├── in │ ├── out │ └── script.tremor │ ├── fold_number_op │ ├── in │ ├── out │ └── script.tremor │ ├── fold_number_op_imut │ ├── in │ ├── out │ └── script.tremor │ ├── fold_record │ ├── in │ ├── out │ └── script.tremor │ ├── fold_record_imut │ ├── in │ ├── out │ └── script.tremor │ ├── for_comprehension_filter │ ├── in │ ├── out │ └── script.tremor │ ├── glob │ ├── in │ ├── out │ └── script.tremor │ ├── grok │ ├── in │ ├── out │ └── script.tremor │ ├── heredoc │ ├── in │ ├── out │ └── script.tremor │ ├── heredoc_interpolation │ ├── in │ ├── out │ └── script.tremor │ ├── heredoc_interpolation_quotes │ ├── in │ ├── out │ └── script.tremor │ ├── heredoc_quoted_curly │ ├── in │ ├── out │ └── script.tremor │ ├── heredoc_regression │ ├── in │ ├── out │ └── script.tremor │ ├── heredoc_usefn_interpolation │ ├── in │ ├── out │ └── script.tremor │ ├── influx │ ├── in │ ├── out │ └── script.tremor │ ├── json │ ├── in │ ├── out │ └── script.tremor │ ├── jump │ ├── in │ ├── out │ └── script.tremor │ ├── kv │ ├── in │ ├── out │ └── script.tremor │ ├── let_field │ ├── in │ ├── out │ └── script.tremor │ ├── logical │ ├── in │ ├── out │ └── script.tremor │ ├── match_assign │ ├── in.xz │ ├── out.xz │ └── script.tremor │ ├── match_multiple_exprs │ ├── in │ ├── out │ └── script.tremor │ ├── match_reorder1 │ ├── in.xz │ ├── out.xz │ └── script.tremor │ ├── merge │ ├── in │ ├── out │ └── script.tremor │ ├── merge_assign_target_state │ ├── in │ ├── out │ └── script.tremor │ ├── mod_access_const │ ├── in │ ├── out │ └── script.tremor │ ├── mod_nest2_const │ ├── beep.tremor │ ├── in │ ├── out │ └── script.tremor │ ├── module │ ├── in │ ├── out │ └── script.tremor │ ├── multi_case │ ├── in │ ├── out │ └── script.tremor │ ├── multi_use │ ├── in │ ├── out │ └── script.tremor │ ├── multiline │ ├── in │ ├── out │ └── script.tremor │ ├── nested_patterns │ ├── in │ ├── out │ └── script.tremor │ ├── nested_use_with_path │ ├── in │ ├── out │ └── script.tremor │ ├── new.sh │ ├── null │ ├── in │ ├── out │ └── script.tremor │ ├── null_match │ ├── in │ ├── out │ └── script.tremor │ ├── only_const │ ├── in │ ├── out │ └── script.tremor │ ├── origin │ ├── in │ ├── out │ └── script.tremor │ ├── pass_args │ ├── in │ ├── out │ └── script.tremor │ ├── passthrough │ ├── in │ ├── out │ └── script.tremor │ ├── patch │ ├── in │ ├── out │ └── script.tremor │ ├── patch_assign_target │ ├── in │ ├── out │ └── script.tremor │ ├── patch_default │ ├── in │ ├── out │ └── script.tremor │ ├── patch_default_key │ ├── in │ ├── out │ └── script.tremor │ ├── path_defaulting │ ├── in │ ├── out │ └── script.tremor │ ├── pattern_cmp │ ├── in │ ├── out │ └── script.tremor │ ├── pp_alias0 │ ├── foo0.tremor │ ├── in │ ├── out │ └── script.tremor │ ├── pp_alias1 │ ├── foo1 │ │ └── bar.tremor │ ├── in │ ├── out │ └── script.tremor │ ├── pp_alias2 │ ├── foo2 │ │ └── bar │ │ │ └── baz.tremor │ ├── in │ ├── out │ └── script.tremor │ ├── pp_alias3 │ ├── foo3 │ │ └── bar │ │ │ └── baz │ │ │ └── mork.tremor │ ├── in │ ├── out │ └── script.tremor │ ├── pp_fn_fib │ ├── fib.tremor │ ├── in │ ├── lies.tremor │ ├── out │ └── script.tremor │ ├── pp_inline_nest1 │ ├── foo.tremor │ ├── foo │ │ └── bar.tremor │ ├── in │ ├── out │ └── script.tremor │ ├── pp_nest0 │ ├── foo4.tremor │ ├── in │ ├── out │ └── script.tremor │ ├── pp_nest1 │ ├── foo5 │ │ └── bar.tremor │ ├── in │ ├── out │ └── script.tremor │ ├── pp_nest2 │ ├── foo6 │ │ └── bar │ │ │ └── baz.tremor │ ├── in │ ├── out │ └── script.tremor │ ├── pp_nest3 │ ├── foo7 │ │ └── bar │ │ │ └── baz │ │ │ └── mork.tremor │ ├── in │ ├── out │ └── script.tremor │ ├── pp_nest4 │ ├── foo8 │ │ └── bar.tremor │ ├── in │ ├── out │ └── script.tremor │ ├── presence │ ├── in │ ├── out │ └── script.tremor │ ├── range │ ├── in │ ├── out │ └── script.tremor │ ├── record │ ├── in │ ├── out │ └── script.tremor │ ├── record_add │ ├── in │ ├── out │ └── script.tremor │ ├── record_comprehension │ ├── in │ ├── out │ └── script.tremor │ ├── record_comprehension_imut │ ├── in │ ├── out │ └── script.tremor │ ├── recordpattern │ ├── in │ ├── out │ └── script.tremor │ ├── regex │ ├── in │ ├── out │ └── script.tremor │ ├── role_map │ ├── in │ ├── out │ └── script.tremor │ ├── simple_match │ ├── in │ ├── out │ └── script.tremor │ ├── size_functions │ ├── in │ ├── out │ └── script.tremor │ ├── state_null │ ├── in │ ├── out │ └── script.tremor │ ├── string_concat │ ├── in │ ├── out │ └── script.tremor │ ├── string_interpolation │ ├── in │ ├── out │ └── script.tremor │ ├── string_interpolation_escaped │ ├── in │ ├── out │ └── script.tremor │ ├── string_interpolation_escaped_hash │ ├── in │ ├── out │ └── script.tremor │ ├── string_interpolation_import │ ├── in │ ├── out │ └── script.tremor │ ├── string_interpolation_nested │ ├── in │ ├── out │ └── script.tremor │ ├── string_interpolation_prefix │ ├── in │ ├── out │ └── script.tremor │ ├── string_interpolation_quotes │ ├── in │ ├── out │ └── script.tremor │ ├── string_interpolation_regexp │ ├── in │ ├── out │ └── script.tremor │ ├── string_interpolation_simple │ ├── in │ ├── out │ └── script.tremor │ ├── string_interpolation_tailing │ ├── in │ ├── out │ └── script.tremor │ ├── string_quoted_curly │ ├── in │ ├── out │ └── script.tremor │ ├── subslice │ ├── in │ ├── out │ └── script.tremor │ ├── subslice_repeated │ ├── in │ ├── out │ └── script.tremor │ ├── tilde_extractor │ ├── in.xz │ ├── out.xz │ └── script.tremor │ ├── tilde_extractor_assign │ ├── in.xz │ ├── out.xz │ └── script.tremor │ ├── tuple_pattern │ ├── in │ ├── out │ └── script.tremor │ ├── unary │ ├── in │ ├── out │ └── script.tremor │ └── xz_compressed_fixtures │ ├── in.xz │ ├── out.xz │ └── script.tremor ├── tremor-api ├── .gitignore ├── Cargo.toml ├── LICENSE └── src │ ├── api.rs │ ├── api │ ├── flow.rs │ ├── model.rs │ ├── prelude.rs │ ├── status.rs │ └── version.rs │ ├── errors.rs │ └── lib.rs ├── tremor-archive ├── Cargo.toml ├── README.md └── src │ └── lib.rs ├── tremor-cli ├── .depignore ├── .gitignore ├── Cargo.toml ├── LICENSE ├── src │ ├── _template │ │ ├── lib │ │ │ ├── flows.tremor │ │ │ ├── pipelines.tremor │ │ │ └── scripts.tremor │ │ └── main.troy │ ├── alloc.rs │ ├── archive.rs │ ├── cli.rs │ ├── completions.rs │ ├── debug.rs │ ├── doc.rs │ ├── env.rs │ ├── errors.rs │ ├── main.rs │ ├── report.rs │ ├── run.rs │ ├── server.rs │ ├── status.rs │ ├── target_process.rs │ ├── test.rs │ ├── test │ │ ├── after.rs │ │ ├── assert.rs │ │ ├── before.rs │ │ ├── command.rs │ │ ├── metadata.rs │ │ ├── process.rs │ │ ├── stats.rs │ │ ├── tag.rs │ │ └── unit.rs │ └── util.rs └── tests │ ├── .gitignore │ ├── all.tremor │ ├── api │ ├── .gitignore │ ├── after.yaml │ ├── after │ │ └── stop.sh │ ├── before.yaml │ ├── before │ │ └── config.troy │ ├── command.yml.disabled │ ├── data │ │ ├── bench-binding.json │ │ ├── bench-binding.yaml │ │ ├── bench-mapping.json │ │ ├── bench-mapping.yaml │ │ ├── bench-offramp.json │ │ ├── bench-offramp.yaml │ │ ├── bench-onramp.json │ │ ├── bench-onramp.yaml │ │ ├── bench-pipeline.trickle │ │ ├── linked │ │ │ ├── binding.yaml │ │ │ ├── mapping.yaml │ │ │ ├── passthrough-pipeline.trickle │ │ │ ├── ws-linked-offramp.yaml │ │ │ └── ws-linked-onramp.yaml │ │ ├── metronome-binding.yaml │ │ ├── metronome-mapping.yaml │ │ ├── metronome-multi-binding.yaml │ │ ├── metronome-offramp.yaml │ │ ├── metronome-onramp.yaml │ │ └── metronome-pipeline.trickle │ ├── meta.yaml │ └── tags.yaml │ ├── bench │ ├── .gitignore │ ├── arithmetics │ │ ├── config.troy │ │ └── tags.yaml │ ├── for-array │ │ ├── main.troy │ │ └── tags.yaml │ ├── for-record-fn │ │ ├── main.troy │ │ └── tags.yaml │ ├── for-record │ │ ├── main.troy │ │ └── tags.yaml │ ├── for-sum │ │ ├── main.troy │ │ └── tags.yaml │ ├── meta.yaml │ ├── passthrough-binflux │ │ ├── config.troy │ │ └── tags.yaml │ ├── passthrough-dogstatsd │ │ ├── config.troy │ │ └── tags.yaml │ ├── passthrough-influx │ │ ├── config.troy │ │ └── tags.yaml │ ├── passthrough-json │ │ ├── config.troy │ │ └── tags.yaml │ ├── passthrough-msgpack │ │ ├── config.troy │ │ └── tags.yaml │ ├── passthrough-statsd │ │ ├── config.troy │ │ └── tags.yaml │ ├── passthrough-tremor │ │ ├── config.troy │ │ └── tags.yaml │ ├── passthrough-two-inputs │ │ ├── config.troy │ │ └── tags.yaml │ ├── passthrough │ │ ├── config.troy │ │ └── tags.yaml │ ├── tags.yaml │ ├── throughput-logging-json │ │ ├── main.troy │ │ └── tags.yaml │ ├── throughput-logging-msgpack │ │ ├── config.troy │ │ └── tags.yaml │ ├── throughput-logging-tcp-json │ │ ├── main.troy │ │ └── tags.yaml │ └── throughput-tcp-json │ │ ├── main.troy │ │ └── tags.yaml │ ├── cli │ ├── .gitignore │ ├── command.yml │ ├── data │ │ ├── input.json │ │ ├── query_with_error.trickle │ │ ├── query_with_script_with_error.trickle │ │ └── script_with_error.tremor │ ├── meta.yaml │ └── tags.yaml │ ├── fixtures │ ├── exit.troy │ └── resolve_tags │ │ └── a │ │ ├── b │ │ ├── c │ │ │ ├── d │ │ │ │ ├── e │ │ │ │ │ ├── f │ │ │ │ │ │ └── tags.yaml │ │ │ │ │ └── tags.yaml │ │ │ │ └── tags.yaml │ │ │ ├── tags.yaml │ │ │ ├── x │ │ │ │ └── tags.yaml │ │ │ └── y │ │ │ │ ├── g │ │ │ │ └── tags.yaml │ │ │ │ └── tags.yaml │ │ └── tags.yaml │ │ └── tags.yaml │ ├── integration │ ├── .gitignore │ ├── bad-rule-syntax │ │ ├── assert.yaml │ │ ├── config.troy │ │ └── tags.yaml │ ├── blaster │ │ ├── assert.yaml │ │ ├── config.troy │ │ ├── expected_out.json │ │ ├── in.json │ │ └── tags.yaml │ ├── cb-drop-dead-ends │ │ ├── assert.yaml │ │ ├── config.troy │ │ ├── in.json │ │ └── tags.yaml │ ├── cb-pipeline-to-pipeline │ │ ├── assert.yaml │ │ ├── config.troy │ │ ├── in.json │ │ └── tags.yaml │ ├── cb-with-auto-ack-sink │ │ ├── after.yaml │ │ ├── after │ │ │ └── stop.sh │ │ ├── assert.yaml │ │ ├── config.troy │ │ ├── expected.json │ │ ├── in.json │ │ └── tags.yaml │ ├── clickhouse │ │ ├── after.yaml │ │ ├── assert.yaml │ │ ├── before.yaml │ │ ├── config.troy │ │ ├── expected_clickhouse_result.txt │ │ ├── in.json │ │ └── tags.yaml │ ├── crononome │ │ ├── assert.yaml │ │ ├── config.troy │ │ ├── expected_out.json │ │ └── tags.yaml │ ├── dns │ │ ├── assert.yaml │ │ ├── config.troy │ │ ├── expected_out.json │ │ ├── in.json │ │ └── tags.yaml │ ├── elastic-empty │ │ ├── after.yaml │ │ ├── assert.yaml │ │ ├── before.yaml │ │ ├── config.troy │ │ ├── expected_err.json │ │ ├── in.json │ │ └── tags.yaml │ ├── elastic-sink-only │ │ ├── after.yaml │ │ ├── assert.yaml │ │ ├── before.yaml │ │ ├── config.troy │ │ ├── in.json │ │ └── tags.yaml │ ├── elastic-verify-gd │ │ ├── after.yaml │ │ ├── assert.yaml │ │ ├── before.yaml │ │ ├── config.troy │ │ ├── expected_err.json │ │ ├── expected_ok.json │ │ ├── in1.json │ │ ├── in2.json │ │ └── tags.yaml │ ├── elastic │ │ ├── after.yaml │ │ ├── assert.yaml │ │ ├── before.yaml │ │ ├── config.troy │ │ ├── expected_err.json │ │ ├── expected_ok.json │ │ ├── in.json │ │ └── tags.yaml │ ├── empty-line │ │ ├── assert.yaml │ │ ├── config.troy │ │ ├── expected.json │ │ ├── in.json │ │ └── tags.yaml │ ├── file-connector-append │ │ ├── assert.yaml │ │ ├── before.yaml │ │ ├── before │ │ │ └── prepare_input_file.sh │ │ ├── config.troy │ │ ├── expected.json │ │ ├── in.json │ │ └── tags.yaml │ ├── file-connector-overwrite │ │ ├── assert.yaml │ │ ├── before.yaml │ │ ├── before │ │ │ └── prepare_input_file.sh │ │ ├── config.troy │ │ ├── expected.json │ │ ├── in.json │ │ └── tags.yaml │ ├── file-connector-streaming-compress │ │ ├── assert.yaml │ │ ├── config.troy │ │ ├── expected.json.xz │ │ ├── in.json │ │ ├── out.log.xz │ │ └── tags.yaml │ ├── file-connector │ │ ├── assert.yaml │ │ ├── config.troy │ │ ├── expected.json │ │ ├── in.json │ │ └── tags.yaml │ ├── http-chunked │ │ ├── assert.yaml │ │ ├── config.troy │ │ ├── expected_out.txt │ │ ├── in.json │ │ └── tags.yaml │ ├── http-client-sink-only │ │ ├── assert.yaml │ │ ├── config.troy │ │ ├── in.json │ │ ├── in2.json │ │ └── tags.yaml │ ├── http │ │ ├── assert.yaml │ │ ├── config.troy │ │ ├── expected.json │ │ ├── in.json │ │ └── tags.yaml │ ├── hygienic-runtime-errors │ │ ├── assert.yaml │ │ ├── config.troy │ │ ├── expected.json │ │ ├── in.json │ │ └── tags.yaml │ ├── kafka_connectors │ │ ├── after.yaml │ │ ├── assert.yaml │ │ ├── before.yaml │ │ ├── config.troy │ │ ├── in.json │ │ └── tags.yaml │ ├── kv │ │ ├── .gitignore │ │ ├── assert.yaml │ │ ├── before.yaml │ │ ├── config.troy │ │ ├── expected.json │ │ ├── expected_err.json │ │ ├── in.json │ │ ├── lib │ │ │ ├── helpers.tremor │ │ │ └── pipelines.tremor │ │ ├── reset.sh │ │ └── tags.yaml │ ├── large-json │ │ ├── assert.yaml │ │ ├── config.troy │ │ ├── expected.json │ │ ├── in.json │ │ └── tags.yaml │ ├── meta.yaml │ ├── metronome │ │ ├── assert.yaml │ │ ├── config.troy │ │ ├── expected_out.json │ │ └── tags.yaml │ ├── no-rules │ │ ├── assert.yaml │ │ ├── config.troy │ │ └── tags.yaml │ ├── otel-client │ │ ├── after.yaml │ │ ├── assert.yaml │ │ ├── before.yaml │ │ ├── before │ │ │ └── config.yaml │ │ ├── config.troy │ │ ├── in.json │ │ └── tags.yaml │ ├── otel │ │ ├── assert.yaml │ │ ├── config.troy │ │ ├── expected.json │ │ ├── in.json │ │ └── tags.yaml │ ├── query-exit │ │ ├── assert.yaml │ │ ├── config.troy │ │ ├── expected.json │ │ ├── in.json │ │ └── tags.yaml │ ├── query-for-locals │ │ ├── assert.yaml │ │ ├── config.troy │ │ ├── expected.json │ │ ├── in.json │ │ └── tags.yaml │ ├── quiescence-simple │ │ ├── assert.yaml │ │ ├── config.troy │ │ ├── expected.json │ │ ├── in.json │ │ └── tags.yaml │ ├── rewrite-meta │ │ ├── assert.yaml │ │ ├── config.troy │ │ ├── in.json │ │ └── tags.yaml │ ├── s3-consistent-cb │ │ ├── after.yaml │ │ ├── assert.yaml │ │ ├── before.yaml │ │ ├── config.troy │ │ ├── env.yaml │ │ ├── in.json │ │ └── tags.yaml │ ├── s3-yolo-cb │ │ ├── after.yaml │ │ ├── assert.yaml │ │ ├── before.yaml │ │ ├── config.troy │ │ ├── env.yaml │ │ ├── in.json │ │ └── tags.yaml │ ├── select-window-gd │ │ ├── assert.yaml │ │ ├── config.troy │ │ ├── in.json │ │ └── tags.yaml │ ├── stdio │ │ ├── assert.yaml │ │ ├── config.troy │ │ ├── stdin │ │ └── tags.yaml │ ├── stdlib │ │ ├── assert.yaml │ │ ├── config.troy │ │ ├── expected.json │ │ ├── in.json │ │ └── tags.yaml │ ├── string-codec │ │ ├── assert.yaml │ │ ├── config.troy │ │ ├── expected.json │ │ ├── in.json │ │ └── tags.yaml │ ├── system-metrics │ │ ├── assert.yaml │ │ ├── config.troy │ │ └── tags.yaml │ ├── tags.yaml │ ├── tcp-reuseport │ │ ├── after.yaml │ │ ├── after │ │ │ └── stop.sh │ │ ├── assert.yaml │ │ ├── before.yaml │ │ ├── before │ │ │ └── config.troy │ │ ├── config.troy │ │ ├── expected.txt │ │ ├── in.json │ │ └── tags.yaml │ ├── tcp-server-source-only │ │ ├── assert.yaml │ │ ├── config.troy │ │ ├── expected_out.json │ │ ├── in.json │ │ └── tags.yaml │ ├── tcp-tls │ │ ├── .gitignore │ │ ├── assert.yaml │ │ ├── before.yaml │ │ ├── before │ │ │ ├── openssl.cfg │ │ │ └── refresh_keys.sh │ │ ├── config.troy │ │ ├── expected.json │ │ ├── in.json │ │ └── tags.yaml │ ├── tcp │ │ ├── .gitignore │ │ ├── assert.yaml │ │ ├── config.troy │ │ ├── expected_client.json │ │ ├── expected_server.json │ │ ├── in.json │ │ └── tags.yaml │ ├── udp-postprocessors │ │ ├── .gitignore │ │ ├── after.yaml │ │ ├── after │ │ │ └── stop.sh │ │ ├── assert.yaml │ │ ├── before.yaml │ │ ├── before │ │ │ └── config.troy │ │ ├── config.troy │ │ ├── expected.txt │ │ ├── in.json │ │ └── tags.yaml │ ├── udp-reuseport │ │ ├── after.yaml │ │ ├── after │ │ │ └── stop.sh │ │ ├── assert.yaml │ │ ├── before.yaml │ │ ├── before │ │ │ └── config.troy │ │ ├── config.troy │ │ ├── expected.txt │ │ ├── in.json │ │ └── tags.yaml │ ├── unix-socket │ │ ├── assert.yaml │ │ ├── config.troy │ │ ├── expected_client.json │ │ ├── expected_server.json │ │ ├── in.json │ │ └── tags.yaml │ ├── unknown-connector │ │ ├── assert.yaml │ │ ├── config.troy │ │ └── tags.yaml │ ├── unknown-operator │ │ ├── assert.yaml │ │ ├── config.troy │ │ └── tags.yaml │ ├── window-max-groups │ │ ├── assert.yaml │ │ ├── config.troy │ │ ├── expected.json │ │ ├── in.json │ │ └── tags.yaml │ ├── window-target-rewrite │ │ ├── assert.yaml │ │ ├── config.troy │ │ ├── expected.json │ │ ├── in.json │ │ └── tags.yaml │ ├── window-timeout-metadata │ │ ├── assert.yaml │ │ ├── config.troy │ │ ├── expected.json │ │ ├── in.json │ │ └── tags.yaml │ ├── window-timeout │ │ ├── assert.yaml │ │ ├── config.troy │ │ ├── expected.json │ │ ├── in.json │ │ └── tags.yaml │ ├── ws-tls │ │ ├── .gitignore │ │ ├── assert.yaml │ │ ├── before.yaml │ │ ├── before │ │ │ ├── openssl.cfg │ │ │ └── refresh_keys.sh │ │ ├── config.troy │ │ ├── expected.json │ │ ├── in.json │ │ └── tags.yaml │ └── ws │ │ ├── .gitignore │ │ ├── assert.yaml │ │ ├── before.yaml │ │ ├── before │ │ ├── config.troy │ │ └── logger.yaml │ │ ├── config.troy │ │ ├── expected.json │ │ ├── in.json │ │ └── tags.yaml │ ├── lib │ ├── bench.tremor │ └── integration.tremor │ ├── stdlib │ ├── std │ │ ├── all.tremor │ │ ├── meta.yaml │ │ └── tags.yaml │ └── tremor │ │ ├── all.tremor │ │ ├── meta.yaml │ │ └── tags.yaml │ └── tags.json ├── tremor-codec ├── Cargo.toml ├── README.md └── src │ ├── codec │ ├── avro.rs │ ├── binary.rs │ ├── binflux.rs │ ├── confluent_schema_registry.rs │ ├── csv.rs │ ├── dogstatsd.rs │ ├── graphite.rs │ ├── influx.rs │ ├── json.rs │ ├── msgpack.rs │ ├── null.rs │ ├── statsd.rs │ ├── string.rs │ ├── syslog.rs │ ├── tremor.rs │ └── yaml.rs │ ├── errors.rs │ └── lib.rs ├── tremor-common ├── .gitignore ├── Cargo.toml ├── README.md └── src │ ├── alias.rs │ ├── asy.rs │ ├── asy │ └── file.rs │ ├── base64.rs │ ├── blue_green_hashmap.rs │ ├── errors.rs │ ├── file.rs │ ├── ids.rs │ ├── lib.rs │ ├── ports.rs │ ├── primerge.rs │ ├── rand.rs │ ├── string.rs │ ├── time.rs │ └── url.rs ├── tremor-config ├── Cargo.toml ├── README.md └── src │ └── lib.rs ├── tremor-connectors-aws ├── Cargo.toml ├── src │ ├── auth.rs │ ├── lib.rs │ ├── s3.rs │ └── s3 │ │ ├── reader.rs │ │ └── streamer.rs └── tests │ ├── aws.rs │ └── aws │ ├── reader.rs │ └── streamer.rs ├── tremor-connectors-azure ├── Cargo.toml └── src │ ├── auth.rs │ ├── lib.rs │ ├── monitor.rs │ ├── monitor │ ├── ingest.rs │ └── ingest │ │ ├── writer.rs │ │ └── writer │ │ ├── sink.rs │ │ └── source.rs │ └── rest.rs ├── tremor-connectors-gcp ├── Cargo.toml ├── src │ ├── gbq.rs │ ├── gbq │ │ ├── writer.rs │ │ └── writer │ │ │ ├── sink.rs │ │ │ └── sink │ │ │ └── test.rs │ ├── gcl.rs │ ├── gcl │ │ ├── writer.rs │ │ └── writer │ │ │ ├── meta.rs │ │ │ ├── sink.rs │ │ │ └── sink │ │ │ └── test.rs │ ├── gcs.rs │ ├── gcs │ │ ├── chunked_buffer.rs │ │ ├── resumable_upload_client.rs │ │ └── streamer.rs │ ├── gpubsub.rs │ ├── gpubsub │ │ ├── consumer.rs │ │ ├── producer.rs │ │ └── producer │ │ │ └── tests.rs │ ├── lib.rs │ ├── utils.rs │ └── utils │ │ └── tests.rs └── tests │ ├── gcp.rs │ └── gcp │ ├── gpub.rs │ └── gsub.rs ├── tremor-connectors-object-storage ├── Cargo.toml └── src │ └── lib.rs ├── tremor-connectors-otel ├── Cargo.toml └── src │ ├── client.rs │ ├── common.rs │ ├── id.rs │ ├── lib.rs │ ├── logs.rs │ ├── metrics.rs │ ├── pb.rs │ ├── resource.rs │ ├── server.rs │ └── trace.rs ├── tremor-connectors-test-helpers ├── Cargo.toml └── src │ ├── free_port.rs │ └── lib.rs ├── tremor-connectors ├── Cargo.toml ├── src │ ├── channel.rs │ ├── config.rs │ ├── errors.rs │ ├── harness.rs │ ├── impls.rs │ ├── impls │ │ ├── bench.rs │ │ ├── cb.rs │ │ ├── clickhouse.rs │ │ ├── clickhouse │ │ │ └── conversion.rs │ │ ├── crononome.rs │ │ ├── crononome │ │ │ └── handler.rs │ │ ├── discord.rs │ │ ├── discord │ │ │ ├── handler.rs │ │ │ └── utils.rs │ │ ├── dns.rs │ │ ├── dns │ │ │ └── client.rs │ │ ├── elastic.rs │ │ ├── exit.rs │ │ ├── file.rs │ │ ├── http.rs │ │ ├── http │ │ │ ├── auth.rs │ │ │ ├── client.rs │ │ │ ├── meta.rs │ │ │ ├── server.rs │ │ │ └── utils.rs │ │ ├── index.rs │ │ ├── kafka.rs │ │ ├── kafka │ │ │ ├── consumer.rs │ │ │ └── producer.rs │ │ ├── kv.rs │ │ ├── metrics.rs │ │ ├── metronome.rs │ │ ├── null.rs │ │ ├── stdio.rs │ │ ├── tcp.rs │ │ ├── tcp │ │ │ ├── client.rs │ │ │ └── server.rs │ │ ├── udp.rs │ │ ├── udp │ │ │ ├── client.rs │ │ │ └── server.rs │ │ ├── unix_socket.rs │ │ ├── unix_socket │ │ │ ├── client.rs │ │ │ └── server.rs │ │ ├── wal.rs │ │ ├── ws.rs │ │ └── ws │ │ │ ├── client.rs │ │ │ └── server.rs │ ├── lib.rs │ ├── prelude.rs │ ├── sink.rs │ ├── sink │ │ ├── channel_sink.rs │ │ ├── concurrency_cap.rs │ │ └── prelude.rs │ ├── source.rs │ ├── source │ │ ├── channel_source.rs │ │ └── prelude.rs │ ├── utils.rs │ └── utils │ │ ├── metrics.rs │ │ ├── mime.rs │ │ ├── quiescence.rs │ │ ├── reconnect.rs │ │ ├── socket.rs │ │ └── tls.rs └── tests │ ├── bench.rs │ ├── clickhouse.rs │ ├── clickhouse │ ├── more_complex_test.rs │ ├── simple_test.rs │ └── utils.rs │ ├── crononome.rs │ ├── elastic.rs │ ├── file.rs │ ├── file │ ├── generic.rs │ ├── non_existent.rs │ └── xz.rs │ ├── http.rs │ ├── http │ ├── client.rs │ └── server.rs │ ├── kafka.rs │ ├── kafka │ ├── consumer.rs │ └── producer.rs │ ├── metronome.rs │ ├── openssl.cfg │ ├── refresh_tls_cert.sh │ ├── tcp.rs │ ├── tcp │ ├── client.rs │ ├── pause_resume.rs │ └── server.rs │ ├── udp.rs │ ├── unix_socket.rs │ ├── usp │ └── pause_resume.rs │ ├── wal.rs │ └── ws.rs ├── tremor-erl ├── .gitignore ├── LICENSE ├── README.md ├── eqc │ ├── flow_connectors_eqc.erl │ └── flow_eqc.erl ├── rebar.config ├── rebar.lock ├── samples │ └── 01.troy └── src │ ├── tremor_api.app.src │ ├── tremor_api.erl │ ├── tremor_binding.erl │ ├── tremor_flow.erl │ ├── tremor_http.erl │ └── tremor_status.erl ├── tremor-influx ├── Cargo.toml ├── README.md ├── benches │ └── decoder.rs └── src │ ├── decoder.rs │ ├── encoder.rs │ ├── errors.rs │ └── lib.rs ├── tremor-interceptor ├── Cargo.toml └── src │ ├── errors.rs │ ├── lib.rs │ ├── postprocessor.rs │ ├── postprocessor │ ├── base64.rs │ ├── chunk.rs │ ├── collect.rs │ ├── compress.rs │ ├── gelf_chunking.rs │ ├── ingest_ns.rs │ ├── length_prefixed.rs │ ├── separate.rs │ ├── stream_compress.rs │ └── textual_length_prefixed.rs │ ├── preprocessor.rs │ └── preprocessor │ ├── base64.rs │ ├── decompress.rs │ ├── gelf_chunking.rs │ ├── ingest_ns.rs │ ├── length_prefixed.rs │ ├── remove_empty.rs │ ├── separate.rs │ └── textual_length_prefixed.rs ├── tremor-pipeline ├── .gitignore ├── Cargo.toml └── src │ ├── errors.rs │ ├── executable_graph.rs │ ├── lib.rs │ ├── macros.rs │ ├── metrics.rs │ ├── op.rs │ ├── op │ ├── bert.rs │ ├── bert │ │ ├── sequence_classification.rs │ │ └── summarization.rs │ ├── debug.rs │ ├── debug │ │ └── history.rs │ ├── generic.rs │ ├── generic │ │ ├── batch.rs │ │ └── counter.rs │ ├── grouper.rs │ ├── grouper │ │ └── bucket.rs │ ├── identity.rs │ ├── identity │ │ └── passthrough.rs │ ├── prelude.rs │ ├── qos.rs │ ├── qos │ │ ├── backpressure.rs │ │ ├── percentile.rs │ │ └── roundrobin.rs │ ├── trickle.rs │ └── trickle │ │ ├── operator.rs │ │ ├── script.rs │ │ ├── select.rs │ │ ├── select │ │ └── test.rs │ │ ├── simple_select.rs │ │ └── window.rs │ └── query.rs ├── tremor-script-nif ├── .gitignore ├── Cargo.toml ├── build.rs └── src │ └── lib.rs ├── tremor-script ├── .gitignore ├── Cargo.toml ├── LICENSE ├── Makefile ├── README.md ├── benches │ ├── arithmetics.rs │ └── array_flatten.rs ├── build.rs ├── docs │ └── library │ │ └── index.md ├── eqc │ ├── gen_script.erl │ ├── model.erl │ ├── pbt.hrl │ ├── spec.erl │ ├── test_eqc.erl │ └── util.erl ├── lib │ ├── aggr.tremor │ ├── aggr │ │ ├── stats.tremor │ │ └── win.tremor │ ├── axiom.tremor │ ├── cncf.tremor │ ├── cncf │ │ ├── otel.tremor │ │ └── otel │ │ │ ├── logs.tremor │ │ │ ├── logs │ │ │ ├── severity.tremor │ │ │ └── traceflags.tremor │ │ │ ├── metrics.tremor │ │ │ ├── metrics │ │ │ └── temporality.tremor │ │ │ ├── span_id.tremor │ │ │ ├── trace.tremor │ │ │ ├── trace │ │ │ ├── spankind.tremor │ │ │ ├── status.tremor │ │ │ └── status │ │ │ │ ├── code.tremor │ │ │ │ └── deprecated.tremor │ │ │ └── trace_id.tremor │ ├── google.tremor │ ├── google │ │ ├── cloud.tremor │ │ └── cloud │ │ │ ├── logging.tremor │ │ │ └── logging │ │ │ └── severity.tremor │ ├── http │ │ ├── content_types.tremor │ │ ├── headers.tremor │ │ ├── methods.tremor │ │ └── status.tremor │ ├── std.tremor │ ├── std │ │ ├── array.tremor │ │ ├── base64.tremor │ │ ├── binary.tremor │ │ ├── datetime.tremor │ │ ├── datetime │ │ │ ├── formats.tremor │ │ │ └── timezones.tremor │ │ ├── float.tremor │ │ ├── integer.tremor │ │ ├── integer │ │ │ ├── signed.tremor │ │ │ └── unsigned.tremor │ │ ├── json.tremor │ │ ├── math.tremor │ │ ├── path.tremor │ │ ├── random.tremor │ │ ├── range.tremor │ │ ├── re.tremor │ │ ├── record.tremor │ │ ├── size.tremor │ │ ├── string.tremor │ │ ├── test.tremor │ │ ├── time.tremor │ │ ├── time │ │ │ └── nanos.tremor │ │ ├── type.tremor │ │ ├── url.tremor │ │ └── win.tremor │ ├── tremor.tremor │ └── tremor │ │ ├── chash.tremor │ │ ├── connectors.tremor │ │ ├── mime.tremor │ │ ├── origin.tremor │ │ ├── pipelines.tremor │ │ ├── system.tremor │ │ └── windows.tremor ├── patterns.md ├── priv │ └── .gitignore ├── rebar.config ├── src │ ├── arena.rs │ ├── ast.rs │ ├── ast │ │ ├── analyzer.rs │ │ ├── base_expr.rs │ │ ├── binary.rs │ │ ├── deploy.rs │ │ ├── deploy │ │ │ └── raw.rs │ │ ├── docs.rs │ │ ├── eq.rs │ │ ├── eq │ │ │ └── tests.rs │ │ ├── helper.rs │ │ ├── module.rs │ │ ├── node_id.rs │ │ ├── optimizer.rs │ │ ├── query.rs │ │ ├── query │ │ │ └── raw.rs │ │ ├── raw.rs │ │ ├── support.rs │ │ ├── test.rs │ │ ├── upable.rs │ │ ├── visitors.rs │ │ ├── visitors │ │ │ ├── deploy.rs │ │ │ ├── expr.rs │ │ │ ├── impls.rs │ │ │ ├── impls │ │ │ │ ├── args_rewriter.rs │ │ │ │ ├── array_addition_optimizer.rs │ │ │ │ ├── const_folder.rs │ │ │ │ ├── group_by_extractor.rs │ │ │ │ ├── is_const.rs │ │ │ │ └── target_event_ref.rs │ │ │ ├── imut_expr.rs │ │ │ ├── prelude.rs │ │ │ ├── query.rs │ │ │ └── windows.rs │ │ ├── walkers.rs │ │ ├── walkers │ │ │ ├── deploy.rs │ │ │ ├── expr.rs │ │ │ ├── imut_expr.rs │ │ │ └── query.rs │ │ └── warning.rs │ ├── ctx.rs │ ├── datetime.rs │ ├── deploy.rs │ ├── docs.rs │ ├── errors.rs │ ├── extractor.rs │ ├── extractor │ │ ├── base64.rs │ │ ├── cidr.rs │ │ ├── datetime.rs │ │ ├── dissect.rs │ │ ├── glob.rs │ │ ├── grok.rs │ │ ├── influx.rs │ │ ├── json.rs │ │ ├── kv.rs │ │ ├── re.rs │ │ └── test.rs │ ├── grammar.lalrpop │ ├── grok.rs │ ├── highlighter.rs │ ├── interpreter.rs │ ├── interpreter │ │ ├── expr.rs │ │ └── imut_expr.rs │ ├── lexer.rs │ ├── lexer │ │ └── test.rs │ ├── lib.rs │ ├── parser.rs │ ├── path.rs │ ├── pos.rs │ ├── prelude.rs │ ├── query.rs │ ├── registry.rs │ ├── registry │ │ └── custom_fn.rs │ ├── script.rs │ ├── srs.rs │ ├── std_lib.rs │ ├── std_lib │ │ ├── array.rs │ │ ├── base64.rs │ │ ├── binary.rs │ │ ├── chash.rs │ │ ├── datetime.rs │ │ ├── dummy.rs │ │ ├── float.rs │ │ ├── integer.rs │ │ ├── json.rs │ │ ├── math.rs │ │ ├── origin.rs │ │ ├── path.rs │ │ ├── random.rs │ │ ├── range.rs │ │ ├── re.rs │ │ ├── record.rs │ │ ├── stats.rs │ │ ├── string.rs │ │ ├── system.rs │ │ ├── test.rs │ │ ├── type.rs │ │ ├── url.rs │ │ └── win.rs │ ├── tremor_script.app.src │ ├── ts.erl │ └── utils.rs ├── tests │ └── modules │ │ ├── loading │ │ ├── deep │ │ │ └── inside.tremor │ │ └── twice.tremor │ │ ├── nest │ │ ├── nest │ │ │ └── there.tremor │ │ └── there.tremor │ │ ├── outside.tremor │ │ └── there.tremor └── tremor-mode.el ├── tremor-system ├── Cargo.toml └── src │ ├── connector.rs │ ├── connector │ ├── sink.rs │ └── source.rs │ ├── controlplane.rs │ ├── dataplane.rs │ ├── dataplane │ └── contraflow.rs │ ├── event.rs │ ├── instance.rs │ ├── killswitch.rs │ ├── lib.rs │ ├── pipeline.rs │ └── selector.rs └── tremor-value ├── Cargo.toml ├── README.md └── src ├── error.rs ├── known_key.rs ├── lib.rs ├── macros.rs ├── prelude.rs ├── serde.rs ├── serde ├── value.rs └── value │ ├── de.rs │ └── se.rs ├── utils.rs ├── value.rs └── value ├── cmp.rs ├── from.rs ├── serialize.rs └── static.rs /.actrc: -------------------------------------------------------------------------------- 1 | -P ubuntu-latest=nektos/act-environments-ubuntu:18.04 2 | -------------------------------------------------------------------------------- /.checkignore: -------------------------------------------------------------------------------- 1 | target 2 | property_testing 3 | depricated 4 | tests 5 | build.rs 6 | benches.old 7 | benches 8 | -------------------------------------------------------------------------------- /.github/checks/llvm-cov-wrapper: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | cargo llvm-cov run -p tremor-cli --no-report -- $@ -------------------------------------------------------------------------------- /.github/scripts/lcov-wrap.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/bash 2 | cargo llvm-cov run --no-report -p tremor-cli -- $@ -------------------------------------------------------------------------------- /.gitpod.Dockerfile: -------------------------------------------------------------------------------- 1 | FROM gitpod/workspace-full 2 | 3 | USER gitpod 4 | 5 | RUN bash -lc "rustup default stable" 6 | 7 | USER root 8 | -------------------------------------------------------------------------------- /.markdownlint.yaml: -------------------------------------------------------------------------------- 1 | MD033: false 2 | MD013: false 3 | ignore: 4 | - "doc/api.md" 5 | -------------------------------------------------------------------------------- /CODEOWNERS: -------------------------------------------------------------------------------- 1 | # Tremor code owners core team 2 | * @anupdhml @darach @Licenser @mfelsche @skoech -------------------------------------------------------------------------------- /bench/empty-pipeline: -------------------------------------------------------------------------------- 1 | passthrough -------------------------------------------------------------------------------- /bench/empty-pipeline-binflux: -------------------------------------------------------------------------------- 1 | passthrough -------------------------------------------------------------------------------- /bench/empty-pipeline-influx: -------------------------------------------------------------------------------- 1 | passthrough -------------------------------------------------------------------------------- /bench/empty-pipeline-json: -------------------------------------------------------------------------------- 1 | passthrough -------------------------------------------------------------------------------- /bench/empty-pipeline-msgpack: -------------------------------------------------------------------------------- 1 | passthrough -------------------------------------------------------------------------------- /bench/empty-pipeline-two-inputs: -------------------------------------------------------------------------------- 1 | passthrough -------------------------------------------------------------------------------- /bench/group_by/main.trickle: -------------------------------------------------------------------------------- 1 | 2 | select event from in group by event.application into out; -------------------------------------------------------------------------------- /bench/group_by_each/main.trickle: -------------------------------------------------------------------------------- 1 | 2 | select event from in group by each(event.tags) into out; -------------------------------------------------------------------------------- /bench/group_by_evil/main.trickle: -------------------------------------------------------------------------------- 1 | use tremor::system; 2 | 3 | select event from in group by system::ingest_ns() into out; -------------------------------------------------------------------------------- /bench/lines-throughput/main.trickle: -------------------------------------------------------------------------------- 1 | select event from in into out; -------------------------------------------------------------------------------- /bench/link.yaml: -------------------------------------------------------------------------------- 1 | mapping: 2 | /binding/bench/01: 3 | instance: "01" 4 | -------------------------------------------------------------------------------- /bench/match.json.xz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tremor-rs/tremor-runtime/bf4564193df81c01eab2b78bfed8a3e1c5765348/bench/match.json.xz -------------------------------------------------------------------------------- /bench/passthrough/main.trickle: -------------------------------------------------------------------------------- 1 | select event from in into out; 2 | -------------------------------------------------------------------------------- /bench/passthrough/passthrough: -------------------------------------------------------------------------------- 1 | passthrough -------------------------------------------------------------------------------- /bench/real-workflow-throughput-json-1-1-1: -------------------------------------------------------------------------------- 1 | real-workflow-throughput-json -------------------------------------------------------------------------------- /bench/real-workflow-throughput-json-1-4-1: -------------------------------------------------------------------------------- 1 | real-workflow-throughput-json -------------------------------------------------------------------------------- /bench/real-workflow-throughput-json-16-16-1: -------------------------------------------------------------------------------- 1 | real-workflow-throughput-json -------------------------------------------------------------------------------- /bench/real-workflow-throughput-json-2-1-1: -------------------------------------------------------------------------------- 1 | real-workflow-throughput-json -------------------------------------------------------------------------------- /bench/real-workflow-throughput-json-2-2-1: -------------------------------------------------------------------------------- 1 | real-workflow-throughput-json -------------------------------------------------------------------------------- /bench/real-workflow-throughput-json-32-32-1: -------------------------------------------------------------------------------- 1 | real-workflow-throughput-json -------------------------------------------------------------------------------- /bench/real-workflow-throughput-json-4-1-1: -------------------------------------------------------------------------------- 1 | real-workflow-throughput-json -------------------------------------------------------------------------------- /bench/real-workflow-throughput-json-4-4-1: -------------------------------------------------------------------------------- 1 | real-workflow-throughput-json -------------------------------------------------------------------------------- /bench/real-workflow-throughput-json-64-64-1: -------------------------------------------------------------------------------- 1 | real-workflow-throughput-json -------------------------------------------------------------------------------- /bench/real-workflow-throughput-json-8-1-1: -------------------------------------------------------------------------------- 1 | real-workflow-throughput-json -------------------------------------------------------------------------------- /bench/real-workflow-throughput-json-8-8-1: -------------------------------------------------------------------------------- 1 | real-workflow-throughput-json -------------------------------------------------------------------------------- /bench/real-workflow-throughput-msgpack: -------------------------------------------------------------------------------- 1 | real-workflow-throughput-json -------------------------------------------------------------------------------- /bench/recurse/input.json: -------------------------------------------------------------------------------- 1 | 1 2 | 10 3 | 100 4 | 1000 5 | 500 6 | 250 7 | 700 8 | 99 9 | 42 10 | 400 11 | 75 -------------------------------------------------------------------------------- /bench/tcp-throughput/blackhole.trickle: -------------------------------------------------------------------------------- 1 | select event from in into out; 2 | -------------------------------------------------------------------------------- /bench/tcp-throughput/blaster.trickle: -------------------------------------------------------------------------------- 1 | select event from in into out; 2 | -------------------------------------------------------------------------------- /bench/ws-json-empty-pipeline: -------------------------------------------------------------------------------- 1 | passthrough -------------------------------------------------------------------------------- /bench/ws-throughput/blackhole.trickle: -------------------------------------------------------------------------------- 1 | select event from in into out; 2 | -------------------------------------------------------------------------------- /bench/ws-throughput/blaster.trickle: -------------------------------------------------------------------------------- 1 | select event from in into out; 2 | -------------------------------------------------------------------------------- /clippy.toml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /demo/logs/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | -------------------------------------------------------------------------------- /docs/.gitignore: -------------------------------------------------------------------------------- 1 | language 2 | stdlib 3 | -------------------------------------------------------------------------------- /docs/codecs/.gitignore: -------------------------------------------------------------------------------- 1 | *.md 2 | -------------------------------------------------------------------------------- /docs/codecs/_category_.yaml: -------------------------------------------------------------------------------- 1 | position: 2 -------------------------------------------------------------------------------- /docs/connectors/.gitignore: -------------------------------------------------------------------------------- 1 | *.md 2 | -------------------------------------------------------------------------------- /docs/connectors/_category_.yaml: -------------------------------------------------------------------------------- 1 | position: 1 -------------------------------------------------------------------------------- /docs/extractors/.gitignore: -------------------------------------------------------------------------------- 1 | *.md 2 | -------------------------------------------------------------------------------- /docs/extractors/__category__.yaml: -------------------------------------------------------------------------------- 1 | label: 'Extractors' 2 | position: 600 -------------------------------------------------------------------------------- /docs/operators/.gitignore: -------------------------------------------------------------------------------- 1 | *.md 2 | -------------------------------------------------------------------------------- /docs/postprocessors/.gitignore: -------------------------------------------------------------------------------- 1 | *.md 2 | -------------------------------------------------------------------------------- /docs/postprocessors/_category_.yaml: -------------------------------------------------------------------------------- 1 | position: 3 -------------------------------------------------------------------------------- /docs/preprocessors/.gitignore: -------------------------------------------------------------------------------- 1 | *.md 2 | -------------------------------------------------------------------------------- /docs/preprocessors/_category_.yaml: -------------------------------------------------------------------------------- 1 | position: 4 -------------------------------------------------------------------------------- /out.log: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tremor-rs/tremor-runtime/bf4564193df81c01eab2b78bfed8a3e1c5765348/out.log -------------------------------------------------------------------------------- /packaging/builder-images/.dockerignore: -------------------------------------------------------------------------------- 1 | README.md 2 | -------------------------------------------------------------------------------- /packaging/distribution/README.md: -------------------------------------------------------------------------------- 1 | Files here are primarily meant for distribution as part of the various packages we create. 2 | -------------------------------------------------------------------------------- /rust-toolchain: -------------------------------------------------------------------------------- 1 | [toolchain] 2 | channel = "1.82.0" 3 | components = [ "rustfmt", "clippy" ] 4 | -------------------------------------------------------------------------------- /static/language/epilog/addexprimut.md: -------------------------------------------------------------------------------- 1 | 2 | ```tremor 3 | x - y 4 | ``` 5 | 6 | -------------------------------------------------------------------------------- /static/language/epilog/andexprimut.md: -------------------------------------------------------------------------------- 1 | 2 | ```tremor 3 | x + y 4 | ``` 5 | 6 | -------------------------------------------------------------------------------- /static/language/epilog/argsclause.md: -------------------------------------------------------------------------------- 1 | 2 | ```tremor 3 | args 4 | x = y 5 | ``` 6 | 7 | -------------------------------------------------------------------------------- /static/language/epilog/bitandexprimut.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | ```tremor 4 | let example = a & (b & 0); 5 | ``` 6 | 7 | -------------------------------------------------------------------------------- /static/language/epilog/bitorexprimut.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | ```tremor 4 | let example = a | (b & 0); 5 | ``` 6 | 7 | -------------------------------------------------------------------------------- /static/language/epilog/bitshiftexprimut.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | ```tremor 4 | let example = a >>> (b & 0); 5 | ``` 6 | 7 | -------------------------------------------------------------------------------- /static/language/epilog/bitxorexprimut.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | ```tremor 4 | let example = a ^ (b & 0); 5 | ``` 6 | 7 | -------------------------------------------------------------------------------- /static/language/epilog/cmpexprimut.md: -------------------------------------------------------------------------------- 1 | 2 | ```tremor 3 | x > y 4 | ``` 5 | 6 | -------------------------------------------------------------------------------- /static/language/epilog/connectorkind.md: -------------------------------------------------------------------------------- 1 | 2 | The name of a builtin connector implemented in rust provided by the tremor runtime. 3 | 4 | -------------------------------------------------------------------------------- /static/language/epilog/creationwithend.md: -------------------------------------------------------------------------------- 1 | 2 | ```tremor 3 | with x = y end 4 | ``` 5 | 6 | -------------------------------------------------------------------------------- /static/language/epilog/define.md: -------------------------------------------------------------------------------- 1 | 2 | Within a flow definition, allows pipeline and connectors to be defined. 3 | 4 | -------------------------------------------------------------------------------- /static/language/epilog/embeddedscript.md: -------------------------------------------------------------------------------- 1 | 2 | ```tremor 3 | script 4 | event 5 | end 6 | ``` 7 | -------------------------------------------------------------------------------- /static/language/epilog/embeddedscriptcontent.md: -------------------------------------------------------------------------------- 1 | 2 | A single expression embedded within an embedded script 3 | 4 | -------------------------------------------------------------------------------- /static/language/epilog/eqexprimut.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | ```tremor 4 | let example = a == (b & 0); 5 | ``` 6 | 7 | -------------------------------------------------------------------------------- /static/language/epilog/groupdefs.md: -------------------------------------------------------------------------------- 1 | 2 | Wraps a macro call for use by other productions in the grammar 3 | 4 | -------------------------------------------------------------------------------- /static/language/epilog/groupdefs_.md: -------------------------------------------------------------------------------- 1 | 2 | A comma delimited set of `GroupDef` productions 3 | 4 | -------------------------------------------------------------------------------- /static/language/epilog/invoke.md: -------------------------------------------------------------------------------- 1 | 2 | ```tremor 3 | use std::string; 4 | 5 | string::len("snot") 6 | ``` 7 | 8 | -------------------------------------------------------------------------------- /static/language/epilog/invokeargs.md: -------------------------------------------------------------------------------- 1 | 2 | A comma delimited sequence of complex expressions 3 | 4 | -------------------------------------------------------------------------------- /static/language/epilog/mulexprimut.md: -------------------------------------------------------------------------------- 1 | 2 | ```tremor 3 | x * y 4 | ``` 5 | 6 | -------------------------------------------------------------------------------- /static/language/epilog/nil.md: -------------------------------------------------------------------------------- 1 | ### Example 2 | 3 | ```tremor 4 | null # The `null` literal value 5 | ``` 6 | -------------------------------------------------------------------------------- /static/language/epilog/orexprimut.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | ```tremor 4 | let example = a or (b & 0); 5 | ``` 6 | 7 | -------------------------------------------------------------------------------- /static/language/epilog/patchoperations.md: -------------------------------------------------------------------------------- 1 | 2 | A sequence of patch operations 3 | 4 | -------------------------------------------------------------------------------- /static/language/epilog/patternfields.md: -------------------------------------------------------------------------------- 1 | Wraps a macro invocation rule for for use in other rules. 2 | 3 | -------------------------------------------------------------------------------- /static/language/epilog/pipeline.md: -------------------------------------------------------------------------------- 1 | 2 | An internal rule to the `DefinePipeline` rule where the pipeline logic is provided. 3 | 4 | -------------------------------------------------------------------------------- /static/language/epilog/query.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /static/language/epilog/unarysimpleexprimut.md: -------------------------------------------------------------------------------- 1 | 2 | ```tremor 3 | not (a and b) 4 | ``` 5 | 6 | -------------------------------------------------------------------------------- /static/language/epilog/windowkind.md: -------------------------------------------------------------------------------- 1 | 2 | Currently only `tumbling` is implemented. 3 | 4 | -------------------------------------------------------------------------------- /static/language/epilog/windows.md: -------------------------------------------------------------------------------- 1 | Wraps the `Windows_` internal rule for other rules to consume in their definitions 2 | 3 | -------------------------------------------------------------------------------- /static/language/epilog/withclause.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | ```tremor 4 | with x = y 5 | ``` 6 | 7 | 8 | -------------------------------------------------------------------------------- /static/language/epilog/withendclause.md: -------------------------------------------------------------------------------- 1 | 2 | ```tremor 3 | with x = y end 4 | ``` 5 | 6 | -------------------------------------------------------------------------------- /static/language/epilog/xorexprimut.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | ```tremor 4 | let example = a ^ (b & 0); 5 | ``` 6 | 7 | -------------------------------------------------------------------------------- /static/language/prolog/argsendclause.md: -------------------------------------------------------------------------------- 1 | The `ArgsEndClause` rule defines an argument block with an `end` 2 | 3 | -------------------------------------------------------------------------------- /static/language/prolog/argspath.md: -------------------------------------------------------------------------------- 1 | The `ArgsPath` rule defines path operations for `args` references. 2 | 3 | -------------------------------------------------------------------------------- /static/language/prolog/argswithend.md: -------------------------------------------------------------------------------- 1 | The `ArgsWithEnd` rule defines an arguments block with an `end` block. 2 | 3 | -------------------------------------------------------------------------------- /static/language/prolog/block.md: -------------------------------------------------------------------------------- 1 | The `Block` rule defines a semi-colon delimited set of `Expr` rules. 2 | 3 | -------------------------------------------------------------------------------- /static/language/prolog/blockimut.md: -------------------------------------------------------------------------------- 1 | The `BlockImut` rule defines a comma delimited sequence of complex immutable expressions. 2 | 3 | -------------------------------------------------------------------------------- /static/language/prolog/bool.md: -------------------------------------------------------------------------------- 1 | The `Bool` rule defines the syntax of boolean literal in tremor. 2 | -------------------------------------------------------------------------------- /static/language/prolog/complexexprimut.md: -------------------------------------------------------------------------------- 1 | The `ComplexExprImut` rule defines complex immutable expression in tremor. 2 | 3 | -------------------------------------------------------------------------------- /static/language/prolog/connect.md: -------------------------------------------------------------------------------- 1 | The `Connect` rule defines routes between connectors and pipelines running in a flow. 2 | 3 | -------------------------------------------------------------------------------- /static/language/prolog/connectfromconnector.md: -------------------------------------------------------------------------------- 1 | The `ConnectFromConnector` rule defines a route from a connector instance. 2 | 3 | -------------------------------------------------------------------------------- /static/language/prolog/connectfrompipeline.md: -------------------------------------------------------------------------------- 1 | The `ConnectFromPipeline` rule defines route from a pipeline instance. 2 | 3 | -------------------------------------------------------------------------------- /static/language/prolog/connecttoconnector.md: -------------------------------------------------------------------------------- 1 | The `ConnectToConnector` rule defines a route to a connector instance. 2 | 3 | -------------------------------------------------------------------------------- /static/language/prolog/connecttopipeline.md: -------------------------------------------------------------------------------- 1 | The `ConnectToPipeline` rule defines route to a pipeline instance. 2 | 3 | -------------------------------------------------------------------------------- /static/language/prolog/constpath.md: -------------------------------------------------------------------------------- 1 | The `ConstPath` rule enables path operations on module scoped references. 2 | 3 | -------------------------------------------------------------------------------- /static/language/prolog/create.md: -------------------------------------------------------------------------------- 1 | The `Create` rule creates instances of connectors and pipelines in a flow. 2 | 3 | -------------------------------------------------------------------------------- /static/language/prolog/define.md: -------------------------------------------------------------------------------- 1 | The `Define` rule allows connectors and pipelines to be specified. 2 | 3 | -------------------------------------------------------------------------------- /static/language/prolog/definitionargs.md: -------------------------------------------------------------------------------- 1 | The `DefinitionArgs` rule defines an arguments block without an `end` block. 2 | 3 | -------------------------------------------------------------------------------- /static/language/prolog/doccomment_.md: -------------------------------------------------------------------------------- 1 | The `DocComment_` rule is an internal part of the `DocComment` rule 2 | 3 | -------------------------------------------------------------------------------- /static/language/prolog/effectors.md: -------------------------------------------------------------------------------- 1 | The `Effectors` rule defines an effect block. 2 | 3 | 4 | -------------------------------------------------------------------------------- /static/language/prolog/embeddedscriptcontent.md: -------------------------------------------------------------------------------- 1 | The `EmbeddedScriptContent` rule defines an embedded script expression. 2 | 3 | -------------------------------------------------------------------------------- /static/language/prolog/embeddedscriptimut.md: -------------------------------------------------------------------------------- 1 | The `EmbeddedScriptImut` rule defines an optional embedded `script`. 2 | 3 | -------------------------------------------------------------------------------- /static/language/prolog/exprimut.md: -------------------------------------------------------------------------------- 1 | The `ExprImut` is the root of immutable expressions in tremor. 2 | 3 | -------------------------------------------------------------------------------- /static/language/prolog/exprpath.md: -------------------------------------------------------------------------------- 1 | The `ExprPath` rule defines path operations for expressions. 2 | 3 | -------------------------------------------------------------------------------- /static/language/prolog/fields.md: -------------------------------------------------------------------------------- 1 | The `Fields` rule defines a set of comma delimited `Field` rules. 2 | 3 | -------------------------------------------------------------------------------- /static/language/prolog/float.md: -------------------------------------------------------------------------------- 1 | The `Float` rule literal specifes the syntax of IEEE float literals in tremor. 2 | 3 | -------------------------------------------------------------------------------- /static/language/prolog/flowstmtinner.md: -------------------------------------------------------------------------------- 1 | The `FlowStmtInner` rule defines the body of a flow definition. 2 | 3 | -------------------------------------------------------------------------------- /static/language/prolog/flowstmts_.md: -------------------------------------------------------------------------------- 1 | The `FlowStmts_` rule defines a `;` semi-colon delimited sequence of `FlowStmtInner` rules. 2 | 3 | -------------------------------------------------------------------------------- /static/language/prolog/fnargs.md: -------------------------------------------------------------------------------- 1 | The `FnArgs` rule defines `,` comma delimited arguments to a tremor function. 2 | 3 | -------------------------------------------------------------------------------- /static/language/prolog/for.md: -------------------------------------------------------------------------------- 1 | The `For` rule defines an mutable `for` comprehension. 2 | 3 | -------------------------------------------------------------------------------- /static/language/prolog/forcaseclause.md: -------------------------------------------------------------------------------- 1 | The `ForCaseClause` defines the case clause for mutable `for` comprehensions. 2 | 3 | -------------------------------------------------------------------------------- /static/language/prolog/forcaseclauseimut.md: -------------------------------------------------------------------------------- 1 | The `ForCaseClauseImut` defines the case clause for immutable `for` comprehensions. 2 | 3 | -------------------------------------------------------------------------------- /static/language/prolog/forimut.md: -------------------------------------------------------------------------------- 1 | The `ForImut` rule defines an immutable `for` comprehension. 2 | 3 | -------------------------------------------------------------------------------- /static/language/prolog/groupdefs.md: -------------------------------------------------------------------------------- 1 | The `GroupDefs` rule defines a `,` comma delimited set of `GroupDef` rules. 2 | 3 | -------------------------------------------------------------------------------- /static/language/prolog/groupdefs_.md: -------------------------------------------------------------------------------- 1 | The `GroupDefs_` rule defines a `,` comma delimited set of `GroupDef` rules. 2 | 3 | -------------------------------------------------------------------------------- /static/language/prolog/ident.md: -------------------------------------------------------------------------------- 1 | An `Ident` is an identifier - a user defined name for a tremor value. 2 | 3 | -------------------------------------------------------------------------------- /static/language/prolog/int.md: -------------------------------------------------------------------------------- 1 | The `Int` rule literal specifes the syntax of integer literals in tremor. 2 | 3 | -------------------------------------------------------------------------------- /static/language/prolog/invoke.md: -------------------------------------------------------------------------------- 1 | The `Invoke` rule specifies the syntax of a function invocation. 2 | 3 | -------------------------------------------------------------------------------- /static/language/prolog/invokeargs.md: -------------------------------------------------------------------------------- 1 | The `InvokeArgs` rule defines a sequence of expression statements. 2 | 3 | -------------------------------------------------------------------------------- /static/language/prolog/listelements.md: -------------------------------------------------------------------------------- 1 | The `ListElements` rule defines a `,` comma delimited sequence of expression elements. 2 | 3 | -------------------------------------------------------------------------------- /static/language/prolog/literal.md: -------------------------------------------------------------------------------- 1 | The `Literal` rule defines the set of primitive literals supported in tremor. 2 | 3 | -------------------------------------------------------------------------------- /static/language/prolog/localpath.md: -------------------------------------------------------------------------------- 1 | The `LocalPath` rule enables path operations on locally scoped identifiers. 2 | 3 | -------------------------------------------------------------------------------- /static/language/prolog/match.md: -------------------------------------------------------------------------------- 1 | The `Match` rule defines a mutable match statement in tremor. 2 | 3 | -------------------------------------------------------------------------------- /static/language/prolog/matchimut.md: -------------------------------------------------------------------------------- 1 | The `MatchImut` rule defines a `match` statement in tremor. 2 | 3 | -------------------------------------------------------------------------------- /static/language/prolog/maybeport.md: -------------------------------------------------------------------------------- 1 | The `MaybePort` rule defines an optional `Port`. 2 | 3 | -------------------------------------------------------------------------------- /static/language/prolog/merge.md: -------------------------------------------------------------------------------- 1 | The `Merge` rule defines a merge operation of two complex immutable expressions. 2 | 3 | -------------------------------------------------------------------------------- /static/language/prolog/modcomment_.md: -------------------------------------------------------------------------------- 1 | The `ModComment_` rule is an internal part of the `ModComment` rule 2 | 3 | -------------------------------------------------------------------------------- /static/language/prolog/modulestmt.md: -------------------------------------------------------------------------------- 1 | The `ModuleStmt` rule defines the statement types that are valid in a tremor module. 2 | 3 | 4 | -------------------------------------------------------------------------------- /static/language/prolog/nil.md: -------------------------------------------------------------------------------- 1 | The `Nil` rule defines the syntax of the nil literal in tremor. 2 | -------------------------------------------------------------------------------- /static/language/prolog/patch.md: -------------------------------------------------------------------------------- 1 | The `Patch` rule defines the `patch` statement in tremor. 2 | 3 | -------------------------------------------------------------------------------- /static/language/prolog/patchoperations.md: -------------------------------------------------------------------------------- 1 | The `PatchOperations` rule defines a sequence of semi-colon delimited patch operations. 2 | 3 | -------------------------------------------------------------------------------- /static/language/prolog/patternfields.md: -------------------------------------------------------------------------------- 1 | The `PatternFields` rule defines a set of comma delimited `PredicateFieldPattern` rules. 2 | 3 | -------------------------------------------------------------------------------- /static/language/prolog/ports.md: -------------------------------------------------------------------------------- 1 | The `Ports` rule defines a `,` comma delimited set of stream ports. 2 | 3 | -------------------------------------------------------------------------------- /static/language/prolog/predicateclause.md: -------------------------------------------------------------------------------- 1 | The `PredicateClause` rule defines the forms of a mutable match statement in tremor. 2 | 3 | -------------------------------------------------------------------------------- /static/language/prolog/predicates.md: -------------------------------------------------------------------------------- 1 | The `Predicates` rule defines a sequence of mutable `PredicateClause` rules in tremor. 2 | 3 | -------------------------------------------------------------------------------- /static/language/prolog/predicatesimut.md: -------------------------------------------------------------------------------- 1 | The `PredicatesImut` rule defines a sequence of `PredicateClauseImut` rules. 2 | 3 | -------------------------------------------------------------------------------- /static/language/prolog/recur.md: -------------------------------------------------------------------------------- 1 | The `Recur` rule defines stack-depth-limited tail-recursion in tremor functions. 2 | 3 | 4 | -------------------------------------------------------------------------------- /static/language/prolog/stmts.md: -------------------------------------------------------------------------------- 1 | The `Stmts` rule defines a `;` semi-colon delimited sequence of `Stmt` rules. 2 | 3 | -------------------------------------------------------------------------------- /static/language/prolog/stringpart.md: -------------------------------------------------------------------------------- 1 | The `StringPart` rule defines a simple or heredoc style string part. 2 | 3 | -------------------------------------------------------------------------------- /static/language/prolog/whenclause.md: -------------------------------------------------------------------------------- 1 | The `WhenClause` rule defines an optional guard expression. 2 | 3 | -------------------------------------------------------------------------------- /static/language/prolog/window.md: -------------------------------------------------------------------------------- 1 | The `Window` rule defines a modular target to a window definition. 2 | 3 | -------------------------------------------------------------------------------- /static/language/prolog/windowclause.md: -------------------------------------------------------------------------------- 1 | The `WindowClause` rule defines an optional window definition for a supporting operation. 2 | 3 | -------------------------------------------------------------------------------- /static/language/prolog/windowdefn.md: -------------------------------------------------------------------------------- 1 | The `WindowDefn` defines a temporal basis over which a stream of events is applicable. 2 | 3 | -------------------------------------------------------------------------------- /static/language/prolog/windows.md: -------------------------------------------------------------------------------- 1 | The `Windows` rule defines a sequence of window definitions that are `,` comma delimited. 2 | 3 | -------------------------------------------------------------------------------- /static/language/prolog/windows_.md: -------------------------------------------------------------------------------- 1 | The `Windows_` rule defines a sequence of window definitions that are `,` comma delimited. 2 | 3 | -------------------------------------------------------------------------------- /static/language/prolog/withendclause.md: -------------------------------------------------------------------------------- 1 | The `WithEndClause` rule defines a with clause with an `end` terminal token. 2 | 3 | -------------------------------------------------------------------------------- /static/language/prolog/withexpr.md: -------------------------------------------------------------------------------- 1 | The `WithExpr` rule defines a name value binding. 2 | 3 | -------------------------------------------------------------------------------- /static/language/prolog/withexprs.md: -------------------------------------------------------------------------------- 1 | The `WithExprs` rule defines a `,` comma delimited set of `WithExpr` rules. 2 | 3 | -------------------------------------------------------------------------------- /tests/.gitignore: -------------------------------------------------------------------------------- 1 | localhost.cert 2 | localhost.key 3 | -------------------------------------------------------------------------------- /tests/data/input.txt: -------------------------------------------------------------------------------- 1 | snot 2 | badger -------------------------------------------------------------------------------- /tests/data/input.xz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tremor-rs/tremor-runtime/bf4564193df81c01eab2b78bfed8a3e1c5765348/tests/data/input.xz -------------------------------------------------------------------------------- /tests/flow_errors/connector_bad_kind/flow.troy: -------------------------------------------------------------------------------- 1 | define flow error 2 | flow 3 | define connector empty from 1 + 2 + 3; 4 | end; 5 | -------------------------------------------------------------------------------- /tests/flow_errors/connector_no_kind/flow.troy: -------------------------------------------------------------------------------- 1 | define flow error 2 | flow 3 | define connector empty; 4 | end; 5 | -------------------------------------------------------------------------------- /tests/flow_errors/flow_not_found/flow.troy: -------------------------------------------------------------------------------- 1 | deploy flow broken from snot::badger 2 | -------------------------------------------------------------------------------- /tests/flow_errors/module_not_found/flow.troy: -------------------------------------------------------------------------------- 1 | use snot; 2 | -------------------------------------------------------------------------------- /tests/flows/args_in_create/config.json: -------------------------------------------------------------------------------- 1 | { "ival": 1000000 } 2 | -------------------------------------------------------------------------------- /tests/flows/consts_as_default_args/consts.troy: -------------------------------------------------------------------------------- 1 | const DEFAULT_INTERVAL = 1; -------------------------------------------------------------------------------- /tests/flows/consts_as_default_args/inner_consts.troy: -------------------------------------------------------------------------------- 1 | const INNER_INTERVAL = 3; -------------------------------------------------------------------------------- /tests/flows/consts_as_default_args/other_consts.troy: -------------------------------------------------------------------------------- 1 | const OTHER_INTERVAL = 2; -------------------------------------------------------------------------------- /tests/flows/nested_with/config.json: -------------------------------------------------------------------------------- 1 | { "ival": 1000000 } 2 | -------------------------------------------------------------------------------- /tests/queries/_template/query.trickle: -------------------------------------------------------------------------------- 1 | select event from in into out; -------------------------------------------------------------------------------- /tests/queries/args_in_function/query.trickle: -------------------------------------------------------------------------------- 1 | select event from in into out; -------------------------------------------------------------------------------- /tests/queries/args_nesting_no_leakage/in: -------------------------------------------------------------------------------- 1 | 1 2 | 2 3 | 3 -------------------------------------------------------------------------------- /tests/queries/args_nesting_no_leakage/out: -------------------------------------------------------------------------------- 1 | {} 2 | {} 3 | {} -------------------------------------------------------------------------------- /tests/queries/args_nesting_redefine/in: -------------------------------------------------------------------------------- 1 | 42 2 | 42 3 | 42 -------------------------------------------------------------------------------- /tests/queries/args_nesting_redefine/out: -------------------------------------------------------------------------------- 1 | {"add":42} 2 | {"add":42} 3 | {"add":42} -------------------------------------------------------------------------------- /tests/queries/array_addition/out: -------------------------------------------------------------------------------- 1 | [1,2,3,4,5,6] 2 | [[1,2], [3,4], [5,6]] 3 | [[1,2], [3,4], 5, 6] -------------------------------------------------------------------------------- /tests/queries/array_addition/query.trickle: -------------------------------------------------------------------------------- 1 | select event.a + event.b from in into out; -------------------------------------------------------------------------------- /tests/queries/array_addition_optimisations/in: -------------------------------------------------------------------------------- 1 | {"a": [1,2,3], "b": 5} 2 | {"a": [[1,2], [3,4]], "b": 5} 3 | {"a": [[1,2], 3, 4], "b": 5} -------------------------------------------------------------------------------- /tests/queries/binary_op_short_circuit/in: -------------------------------------------------------------------------------- 1 | {"field_true": true, "field_false": false} 2 | -------------------------------------------------------------------------------- /tests/queries/binary_op_short_circuit/out: -------------------------------------------------------------------------------- 1 | {"a": true, "b": false, "c": true, "d": false, "e": true, "f": true, "g": false} -------------------------------------------------------------------------------- /tests/queries/cardinality/out: -------------------------------------------------------------------------------- 1 | {"g": 0, "c": 3.0, "n": 2} 2 | {"g": 1, "c": 4.0, "n": 1} 3 | -------------------------------------------------------------------------------- /tests/queries/group_each/out: -------------------------------------------------------------------------------- 1 | {"g": "a", "c": 2.0} 2 | {"g": "b", "c": 2.0} 3 | {"g": "c", "c": 2.0} 4 | -------------------------------------------------------------------------------- /tests/queries/group_set/out: -------------------------------------------------------------------------------- 1 | {"g": 0, "c": 3.0} 2 | {"g": 1, "c": 4.0} 3 | -------------------------------------------------------------------------------- /tests/queries/guard_having/in: -------------------------------------------------------------------------------- 1 | 1 2 | 2 3 | 3 4 | 4 5 | -------------------------------------------------------------------------------- /tests/queries/guard_having/out: -------------------------------------------------------------------------------- 1 | 1 2 | 3 3 | -------------------------------------------------------------------------------- /tests/queries/guard_having/query.trickle: -------------------------------------------------------------------------------- 1 | select event from in into out having event % 2 != 0; -------------------------------------------------------------------------------- /tests/queries/guard_where/in: -------------------------------------------------------------------------------- 1 | 1 2 | 2 3 | 3 4 | 4 5 | -------------------------------------------------------------------------------- /tests/queries/guard_where/out: -------------------------------------------------------------------------------- 1 | 2 2 | 4 3 | -------------------------------------------------------------------------------- /tests/queries/guard_where/query.trickle: -------------------------------------------------------------------------------- 1 | select event from in where event % 2 == 0 into out; -------------------------------------------------------------------------------- /tests/queries/history/in: -------------------------------------------------------------------------------- 1 | 1 2 | 2 3 | 3 4 | -------------------------------------------------------------------------------- /tests/queries/initial_state/in: -------------------------------------------------------------------------------- 1 | 19 -------------------------------------------------------------------------------- /tests/queries/initial_state/out: -------------------------------------------------------------------------------- 1 | 42 -------------------------------------------------------------------------------- /tests/queries/pipeline_complex_args/in: -------------------------------------------------------------------------------- 1 | {"key": "value"} 2 | -------------------------------------------------------------------------------- /tests/queries/pipeline_complex_args/out: -------------------------------------------------------------------------------- 1 | {"p1":42,"p2":[1,2,3,4],"p3":"snotbadger"} 2 | -------------------------------------------------------------------------------- /tests/queries/pipeline_nested_operator/in: -------------------------------------------------------------------------------- 1 | 1 2 | 2 3 | 3 4 | -------------------------------------------------------------------------------- /tests/queries/pipeline_nested_operator/out: -------------------------------------------------------------------------------- 1 | { "count": 1, "event": 1 } 2 | { "count": 2, "event": 2 } 3 | { "count": 3, "event": 3 } 4 | -------------------------------------------------------------------------------- /tests/queries/pipeline_nested_script/in: -------------------------------------------------------------------------------- 1 | { "a": 1, "b": 2 } 2 | { "a": 2, "b": 2 } 3 | { "a": 3, "b": 2 } 4 | -------------------------------------------------------------------------------- /tests/queries/pipeline_nested_script/out: -------------------------------------------------------------------------------- 1 | 3 2 | 4 3 | 5 4 | -------------------------------------------------------------------------------- /tests/queries/pp_alias_operator/foo1/bar.trickle: -------------------------------------------------------------------------------- 1 | define operator counter from generic::counter; 2 | -------------------------------------------------------------------------------- /tests/queries/pp_alias_operator/in: -------------------------------------------------------------------------------- 1 | 1 2 | 2 3 | 3 4 | -------------------------------------------------------------------------------- /tests/queries/pp_alias_operator/out: -------------------------------------------------------------------------------- 1 | { "count": 1, "event": 1 } 2 | { "count": 2, "event": 2 } 3 | { "count": 3, "event": 3 } 4 | -------------------------------------------------------------------------------- /tests/queries/pp_alias_script/foo2/bar.trickle: -------------------------------------------------------------------------------- 1 | define script add 2 | script 3 | event.a + event.b 4 | end; 5 | -------------------------------------------------------------------------------- /tests/queries/pp_alias_script/in: -------------------------------------------------------------------------------- 1 | { "a": 1, "b": 2 } 2 | { "a": 2, "b": 2 } 3 | { "a": 3, "b": 2 } 4 | -------------------------------------------------------------------------------- /tests/queries/pp_alias_script/out: -------------------------------------------------------------------------------- 1 | 3 2 | 4 3 | 5 4 | -------------------------------------------------------------------------------- /tests/queries/pp_alias_win/foo3/bar.trickle: -------------------------------------------------------------------------------- 1 | define window by_two from tumbling 2 | with 3 | size = 2 4 | end; 5 | -------------------------------------------------------------------------------- /tests/queries/pp_alias_win/in: -------------------------------------------------------------------------------- 1 | 1 2 | 2 3 | 3 4 | 4 5 | 5 6 | 6 7 | 7 8 | -------------------------------------------------------------------------------- /tests/queries/pp_alias_win/out: -------------------------------------------------------------------------------- 1 | [1, 2] 2 | [3, 4] 3 | [5, 6] 4 | -------------------------------------------------------------------------------- /tests/queries/pp_config_directive/foo4/bar.trickle: -------------------------------------------------------------------------------- 1 | define window by_two from tumbling 2 | with 3 | size = 2 4 | end; 5 | -------------------------------------------------------------------------------- /tests/queries/pp_config_directive/in: -------------------------------------------------------------------------------- 1 | 1 2 | 2 3 | 3 4 | 4 5 | 5 6 | 6 7 | 7 8 | -------------------------------------------------------------------------------- /tests/queries/pp_config_directive/out: -------------------------------------------------------------------------------- 1 | [1, 2] 2 | [3, 4] 3 | [5, 6] 4 | -------------------------------------------------------------------------------- /tests/queries/pp_const/example1/c.tremor: -------------------------------------------------------------------------------- 1 | # c.tremor 2 | const MAP = { 3 | "🔧": 1, 4 | "🏫": 2, 5 | "👷": 3, 6 | }; -------------------------------------------------------------------------------- /tests/queries/pp_const/in: -------------------------------------------------------------------------------- 1 | "🔧" 2 | "🏫" 3 | "👷" 4 | -------------------------------------------------------------------------------- /tests/queries/pp_const/out: -------------------------------------------------------------------------------- 1 | 1 2 | 2 3 | 3 4 | -------------------------------------------------------------------------------- /tests/queries/pp_const/query.trickle: -------------------------------------------------------------------------------- 1 | use example1::c; 2 | 3 | select c::MAP[event] from in into out; -------------------------------------------------------------------------------- /tests/queries/pp_fn/in: -------------------------------------------------------------------------------- 1 | "🔧" 2 | "🏫" 3 | "👷" 4 | -------------------------------------------------------------------------------- /tests/queries/pp_fn/out: -------------------------------------------------------------------------------- 1 | 1 2 | 2 3 | 3 4 | -------------------------------------------------------------------------------- /tests/queries/pp_fn/query.trickle: -------------------------------------------------------------------------------- 1 | use example2::c; 2 | 3 | select c::map(event) from in into out; -------------------------------------------------------------------------------- /tests/queries/pp_operator/foo5/bar.trickle: -------------------------------------------------------------------------------- 1 | define operator counter from generic::counter; 2 | -------------------------------------------------------------------------------- /tests/queries/pp_operator/in: -------------------------------------------------------------------------------- 1 | 1 2 | 2 3 | 3 4 | -------------------------------------------------------------------------------- /tests/queries/pp_operator/out: -------------------------------------------------------------------------------- 1 | { "count": 1, "event": 1 } 2 | { "count": 2, "event": 2 } 3 | { "count": 3, "event": 3 } 4 | -------------------------------------------------------------------------------- /tests/queries/pp_script/foo6/bar.trickle: -------------------------------------------------------------------------------- 1 | define script add 2 | script 3 | event.a + event.b 4 | end; 5 | -------------------------------------------------------------------------------- /tests/queries/pp_script/in: -------------------------------------------------------------------------------- 1 | { "a": 1, "b": 2 } 2 | { "a": 2, "b": 2 } 3 | { "a": 3, "b": 2 } 4 | -------------------------------------------------------------------------------- /tests/queries/pp_script/out: -------------------------------------------------------------------------------- 1 | 3 2 | 4 3 | 5 4 | -------------------------------------------------------------------------------- /tests/queries/pp_win/foo7/bar.trickle: -------------------------------------------------------------------------------- 1 | define window by_two from tumbling 2 | with 3 | size = 2 4 | end; 5 | -------------------------------------------------------------------------------- /tests/queries/pp_win/in: -------------------------------------------------------------------------------- 1 | 1 2 | 2 3 | 3 4 | 4 5 | 5 6 | 6 7 | 7 8 | -------------------------------------------------------------------------------- /tests/queries/pp_win/out: -------------------------------------------------------------------------------- 1 | [1, 2] 2 | [3, 4] 3 | [5, 6] 4 | -------------------------------------------------------------------------------- /tests/queries/script_error/in: -------------------------------------------------------------------------------- 1 | {"snot": 1} 2 | 2 3 | {"snot": 3} 4 | -------------------------------------------------------------------------------- /tests/queries/script_ports/in: -------------------------------------------------------------------------------- 1 | 1 2 | 2 3 | 3 4 | 4 5 | 5 6 | 6 7 | 7 8 | 8 9 | 9 10 | 10 -------------------------------------------------------------------------------- /tests/queries/simple_passthrough/query.trickle: -------------------------------------------------------------------------------- 1 | select event from in into out; -------------------------------------------------------------------------------- /tests/queries/state/in: -------------------------------------------------------------------------------- 1 | { "test" : "foo:bar snot:badger" } 2 | { "test" : "foo:bar snot:badger" } 3 | -------------------------------------------------------------------------------- /tests/queries/state_counter_operator/in: -------------------------------------------------------------------------------- 1 | { "test" : "foo:bar snot:badger" } 2 | { "test" : "foo:bar snot:badger" } 3 | -------------------------------------------------------------------------------- /tests/queries/unused_node/query.trickle: -------------------------------------------------------------------------------- 1 | create stream stage1; 2 | select event from in into out; -------------------------------------------------------------------------------- /tests/queries/where_filter/query.trickle: -------------------------------------------------------------------------------- 1 | select 2 | event 3 | from in 4 | where 5 | event.type == "sillylog" 6 | into out; 7 | -------------------------------------------------------------------------------- /tests/queries/window_by_two_scripted/in: -------------------------------------------------------------------------------- 1 | 1 2 | 2 3 | 3 4 | 4 5 | 5 6 | 6 7 | 7 8 | 8 9 | 9 10 | "emit" 11 | -------------------------------------------------------------------------------- /tests/queries/window_by_two_scripted/out: -------------------------------------------------------------------------------- 1 | [1,2] 2 | [3,4] 3 | [5,6] 4 | [7,8] 5 | [9, "emit"] 6 | -------------------------------------------------------------------------------- /tests/queries/with_config/query.trickle: -------------------------------------------------------------------------------- 1 | #!config metrics_interval_s = 10 2 | 3 | select event from in into out; -------------------------------------------------------------------------------- /tests/query_errors/_template/error.txt: -------------------------------------------------------------------------------- 1 | UPDATE ME 2 | -------------------------------------------------------------------------------- /tests/query_errors/_template/query.trickle: -------------------------------------------------------------------------------- 1 | select event from in into out; 2 | -------------------------------------------------------------------------------- /tests/query_errors/aggr_arity/query.trickle: -------------------------------------------------------------------------------- 1 | select aggr::stats::sum(event, 1, 2, 3) from in into out; -------------------------------------------------------------------------------- /tests/query_errors/aggr_in_aggr/query.trickle: -------------------------------------------------------------------------------- 1 | select aggr::stats::sum(aggr::stats::sum(event)) from in into out; -------------------------------------------------------------------------------- /tests/query_errors/bad_from/query.trickle: -------------------------------------------------------------------------------- 1 | select event from not_in into out; 2 | -------------------------------------------------------------------------------- /tests/query_errors/bad_into/query.trickle: -------------------------------------------------------------------------------- 1 | select event from in into not_out; 2 | -------------------------------------------------------------------------------- /tests/query_errors/const_in_select/error.re: -------------------------------------------------------------------------------- 1 | ^Found the token `const` but expected one of .*`event`.* 2 | -------------------------------------------------------------------------------- /tests/query_errors/const_in_select/query.trickle: -------------------------------------------------------------------------------- 1 | select 2 | const c = 7 3 | from in into out; 4 | -------------------------------------------------------------------------------- /tests/query_errors/let_in_select/error.re: -------------------------------------------------------------------------------- 1 | ^Found the token `let` but expected one of .*`event`.* 2 | -------------------------------------------------------------------------------- /tests/query_errors/let_in_select/query.trickle: -------------------------------------------------------------------------------- 1 | select 2 | let c = 7 3 | from in into out; 4 | -------------------------------------------------------------------------------- /tests/query_errors/local_in_group_by/query.trickle: -------------------------------------------------------------------------------- 1 | select 2 | event 3 | from in 4 | group by set(a + b) 5 | into out; 6 | -------------------------------------------------------------------------------- /tests/query_errors/local_in_having/query.trickle: -------------------------------------------------------------------------------- 1 | select 2 | event 3 | from in 4 | into out 5 | having a + b > 3; 6 | -------------------------------------------------------------------------------- /tests/query_errors/local_in_select/query.trickle: -------------------------------------------------------------------------------- 1 | select 2 | a + b 3 | from in into out; 4 | -------------------------------------------------------------------------------- /tests/query_errors/local_in_where/query.trickle: -------------------------------------------------------------------------------- 1 | select 2 | event 3 | from in 4 | where a + b > 3 5 | into out; 6 | -------------------------------------------------------------------------------- /tests/query_errors/pipeline_undefined/query.trickle: -------------------------------------------------------------------------------- 1 | create pipeline snot; 2 | -------------------------------------------------------------------------------- /tests/query_errors/pp_embed_unrecognized_token5/foo/bar.tremor: -------------------------------------------------------------------------------- 1 | const BEEP = "boop"; 2 | -------------------------------------------------------------------------------- /tests/query_errors/pp_unrecognized_token/error.txt: -------------------------------------------------------------------------------- 1 | Error: 2 | 1 | use ; 3 | | ^ Found the token `;` but expected `` -------------------------------------------------------------------------------- /tests/query_errors/pp_unrecognized_token/query.trickle: -------------------------------------------------------------------------------- 1 | use ; 2 | -------------------------------------------------------------------------------- /tests/query_errors/pp_unrecognized_token2/query.trickle: -------------------------------------------------------------------------------- 1 | use foo :: "; 2 | -------------------------------------------------------------------------------- /tests/query_errors/pp_unrecognized_token3/query.trickle: -------------------------------------------------------------------------------- 1 | use foo :: as; 2 | -------------------------------------------------------------------------------- /tests/query_errors/pp_unrecognized_token4/query.trickle: -------------------------------------------------------------------------------- 1 | use foo :: :; bar; 2 | -------------------------------------------------------------------------------- /tests/query_errors/pp_unrecognized_token5/foo/bar.tremor: -------------------------------------------------------------------------------- 1 | const SNOT = "badger"; 2 | -------------------------------------------------------------------------------- /tests/query_errors/pp_unrecognized_token5/query.trickle: -------------------------------------------------------------------------------- 1 | use foo :: bar use; 2 | 3 | "hello {snot}" 4 | -------------------------------------------------------------------------------- /tests/query_errors/window_both_settings/error.txt: -------------------------------------------------------------------------------- 1 | Bad window configuration, only one of `size`, `interval`, or `state` is allowed. 2 | -------------------------------------------------------------------------------- /tests/query_runtime_errors/_template/query.trickle: -------------------------------------------------------------------------------- 1 | select event from in into out; -------------------------------------------------------------------------------- /tests/query_runtime_errors/bad_state_window_return/in: -------------------------------------------------------------------------------- 1 | 1 -------------------------------------------------------------------------------- /tests/query_runtime_errors/bad_vec_state_window_return/in: -------------------------------------------------------------------------------- 1 | 1 -------------------------------------------------------------------------------- /tests/query_runtime_errors/binary_operators_and_left/in: -------------------------------------------------------------------------------- 1 | {"a": "y", "b": true} -------------------------------------------------------------------------------- /tests/query_runtime_errors/binary_operators_and_left/query.trickle: -------------------------------------------------------------------------------- 1 | select event.a and event.b from in into out; -------------------------------------------------------------------------------- /tests/query_runtime_errors/binary_operators_and_right/in: -------------------------------------------------------------------------------- 1 | {"a": true, "b": "y"} -------------------------------------------------------------------------------- /tests/query_runtime_errors/binary_operators_and_right/query.trickle: -------------------------------------------------------------------------------- 1 | select event.a and event.b from in into out; -------------------------------------------------------------------------------- /tests/query_runtime_errors/binary_operators_or_left/in: -------------------------------------------------------------------------------- 1 | {"a": "y", "b": false} -------------------------------------------------------------------------------- /tests/query_runtime_errors/binary_operators_or_left/query.trickle: -------------------------------------------------------------------------------- 1 | select event.a or event.b from in into out; -------------------------------------------------------------------------------- /tests/query_runtime_errors/binary_operators_or_right/in: -------------------------------------------------------------------------------- 1 | {"a": false, "b": "y"} -------------------------------------------------------------------------------- /tests/query_runtime_errors/binary_operators_or_right/query.trickle: -------------------------------------------------------------------------------- 1 | select event.a or event.b from in into out; -------------------------------------------------------------------------------- /tests/query_runtime_errors/binary_operators_xor_left/in: -------------------------------------------------------------------------------- 1 | {"a": "y", "b": false} -------------------------------------------------------------------------------- /tests/query_runtime_errors/binary_operators_xor_left/query.trickle: -------------------------------------------------------------------------------- 1 | select event.a xor event.b from in into out; -------------------------------------------------------------------------------- /tests/query_runtime_errors/binary_operators_xor_right/in: -------------------------------------------------------------------------------- 1 | {"a": false, "b": "y"} -------------------------------------------------------------------------------- /tests/query_runtime_errors/binary_operators_xor_right/query.trickle: -------------------------------------------------------------------------------- 1 | select event.a xor event.b from in into out; -------------------------------------------------------------------------------- /tests/query_runtime_errors/branch_error_then_ok/in: -------------------------------------------------------------------------------- 1 | {} 2 | {"format":"valid"} -------------------------------------------------------------------------------- /tests/query_runtime_errors/branch_error_then_ok/out: -------------------------------------------------------------------------------- 1 | {"format":"valid"} -------------------------------------------------------------------------------- /tests/query_runtime_errors/meta_and_use/in: -------------------------------------------------------------------------------- 1 | 1 2 | 2 3 | 3 -------------------------------------------------------------------------------- /tests/query_runtime_errors/script_bad_port/in: -------------------------------------------------------------------------------- 1 | 1 -------------------------------------------------------------------------------- /tests/query_runtime_errors/script_bad_port/out: -------------------------------------------------------------------------------- 1 | {"error":"unknown port: `bad_port`","event":1} -------------------------------------------------------------------------------- /tests/script_errors/_template/script.tremor: -------------------------------------------------------------------------------- 1 | event + snot 2 | -------------------------------------------------------------------------------- /tests/script_errors/add_overflow/script.tremor: -------------------------------------------------------------------------------- 1 | use std::integer::unsigned; 2 | unsigned::MAX + 1; 3 | -------------------------------------------------------------------------------- /tests/script_errors/arith_bad_shift_1/script.tremor: -------------------------------------------------------------------------------- 1 | 42 >> 64 2 | -------------------------------------------------------------------------------- /tests/script_errors/arith_bad_shift_2/script.tremor: -------------------------------------------------------------------------------- 1 | 42 >> 2.0 2 | -------------------------------------------------------------------------------- /tests/script_errors/bad_fold/script.tremor: -------------------------------------------------------------------------------- 1 | for event of 2 | case (k, v) => v 3 | into [] use merge end; 4 | -------------------------------------------------------------------------------- /tests/script_errors/bad_fold_imut/script.tremor: -------------------------------------------------------------------------------- 1 | (for event of 2 | case (k, v) => v 3 | into [] use merge end) 4 | -------------------------------------------------------------------------------- /tests/script_errors/bin_invalid_bits/script.tremor: -------------------------------------------------------------------------------- 1 | <> -------------------------------------------------------------------------------- /tests/script_errors/bin_invalid_type/error.txt: -------------------------------------------------------------------------------- 1 | Error: 2 | 1 | <> 3 | | ^^^^^^^^^^ Not a valid data type: 'snot' -------------------------------------------------------------------------------- /tests/script_errors/bin_invalid_type/script.tremor: -------------------------------------------------------------------------------- 1 | <> -------------------------------------------------------------------------------- /tests/script_errors/const_expr_id_into_arr/script.tremor: -------------------------------------------------------------------------------- 1 | [0,1,2,3,4,5,6].snot 2 | -------------------------------------------------------------------------------- /tests/script_errors/const_expr_index_into_int/script.tremor: -------------------------------------------------------------------------------- 1 | {"snot": 42}.snot[5] 2 | -------------------------------------------------------------------------------- /tests/script_errors/const_expr_index_out_of_bounds/script.tremor: -------------------------------------------------------------------------------- 1 | {"snot": [0,1,2,3,4,5,6]}.snot[8] 2 | -------------------------------------------------------------------------------- /tests/script_errors/const_expr_range_bad_end/script.tremor: -------------------------------------------------------------------------------- 1 | {"snot": [0,1,2,3,4,5,6]}.snot[2:"bad"] 2 | -------------------------------------------------------------------------------- /tests/script_errors/const_expr_range_bad_start/script.tremor: -------------------------------------------------------------------------------- 1 | {"snot": [0,1,2,3,4,5,6]}.snot["bad":2] 2 | -------------------------------------------------------------------------------- /tests/script_errors/const_expr_range_on_non_array/script.tremor: -------------------------------------------------------------------------------- 1 | {"snot":"badger"}[5:9] 2 | -------------------------------------------------------------------------------- /tests/script_errors/const_expr_range_out_of_bounds/script.tremor: -------------------------------------------------------------------------------- 1 | {"snot": [0,1,2,3,4,5,6]}.snot[4:8] 2 | -------------------------------------------------------------------------------- /tests/script_errors/const_expr_reverse_range/script.tremor: -------------------------------------------------------------------------------- 1 | {"snot": [0,1,2,3,4,5,6]}.snot[5:2] 2 | -------------------------------------------------------------------------------- /tests/script_errors/const_expr_unknown_key/script.tremor: -------------------------------------------------------------------------------- 1 | {"snot": "badger"}.bad_key 2 | -------------------------------------------------------------------------------- /tests/script_errors/double_const/script.tremor: -------------------------------------------------------------------------------- 1 | const ONE = 1; 2 | const ONE = "two"; 3 | -------------------------------------------------------------------------------- /tests/script_errors/error_in_include/script.tremor: -------------------------------------------------------------------------------- 1 | use snot; 2 | 3 | event + snot 4 | -------------------------------------------------------------------------------- /tests/script_errors/error_in_include/snot.tremor: -------------------------------------------------------------------------------- 1 | fn badger() with 2 | snot::badger::boo 3 | end -------------------------------------------------------------------------------- /tests/script_errors/fn_bad_recur/script.tremor: -------------------------------------------------------------------------------- 1 | 2 | fn snot(a) with 3 | recur(a); 4 | a + 1 5 | end; 6 | 7 | snot(event) 8 | -------------------------------------------------------------------------------- /tests/script_errors/function_already_defined/script.tremor: -------------------------------------------------------------------------------- 1 | fn a () with 2 | 1 3 | end; 4 | 5 | fn a () with 6 | 2 7 | end; -------------------------------------------------------------------------------- /tests/script_errors/function_error_1/script.tremor: -------------------------------------------------------------------------------- 1 | use std::record; 2 | record::from_array(7) 3 | -------------------------------------------------------------------------------- /tests/script_errors/function_error_2/script.tremor: -------------------------------------------------------------------------------- 1 | use std::math; 2 | math::max("snot", 7) 3 | -------------------------------------------------------------------------------- /tests/script_errors/function_error_3/script.tremor: -------------------------------------------------------------------------------- 1 | use std::string; 2 | string::format(7, "snot", "badger") 3 | -------------------------------------------------------------------------------- /tests/script_errors/function_error_n/script.tremor: -------------------------------------------------------------------------------- 1 | use std::string; 2 | string::format(7, "snot", "badger", "cake") 3 | -------------------------------------------------------------------------------- /tests/script_errors/heredoc_interpolation_escape/script.tremor: -------------------------------------------------------------------------------- 1 | use std::string; 2 | let x = string::trim(""" 3 | { "\z" } 4 | """; 5 | -------------------------------------------------------------------------------- /tests/script_errors/heredoc_interpolation_extractor/script.tremor: -------------------------------------------------------------------------------- 1 | let heredoc = """ 2 | #{ | } 3 | """; 4 | -------------------------------------------------------------------------------- /tests/script_errors/heredoc_interpolation_ident/script.tremor: -------------------------------------------------------------------------------- 1 | """ 2 | before #{ `ident unfinished } after 3 | """ 4 | -------------------------------------------------------------------------------- /tests/script_errors/heredoc_interpolation_invalid_unicode/script.tremor: -------------------------------------------------------------------------------- 1 | 1; """ 2 | { "\u1" } 3 | """ 4 | -------------------------------------------------------------------------------- /tests/script_errors/heredoc_interpolation_multiline/script.tremor: -------------------------------------------------------------------------------- 1 | """ 2 | #{ " 3 | 4 | } 5 | """ 6 | -------------------------------------------------------------------------------- /tests/script_errors/heredoc_tailing/script.tremor: -------------------------------------------------------------------------------- 1 | let tailing = """:P 2 | """; 3 | -------------------------------------------------------------------------------- /tests/script_errors/imut_bad_drop/script.tremor: -------------------------------------------------------------------------------- 1 | match "dont-care" of 2 | case "dont-care" when drop 3 | case _ => "ouch" 4 | end 5 | -------------------------------------------------------------------------------- /tests/script_errors/invalid_const_binary/script.tremor: -------------------------------------------------------------------------------- 1 | [1] / [2] 2 | -------------------------------------------------------------------------------- /tests/script_errors/invalid_const_unary/script.tremor: -------------------------------------------------------------------------------- 1 | - false 2 | -------------------------------------------------------------------------------- /tests/script_errors/invalid_escape_extractor/script.tremor: -------------------------------------------------------------------------------- 1 | match event of 2 | case ~ re|\snot| => true 3 | _ => false 4 | end; -------------------------------------------------------------------------------- /tests/script_errors/invalid_extractor/script.tremor: -------------------------------------------------------------------------------- 1 | match ecent of 2 | case %{ key ~= re|(| } => true 3 | end 4 | -------------------------------------------------------------------------------- /tests/script_errors/invalid_utf8_1/error.txt: -------------------------------------------------------------------------------- 1 | Error: 2 | 1 | "\u000" 3 | | ^^^^^^ An invalid UTF8 escape sequence was found -------------------------------------------------------------------------------- /tests/script_errors/invalid_utf8_1/script.tremor: -------------------------------------------------------------------------------- 1 | "\u000" -------------------------------------------------------------------------------- /tests/script_errors/invalid_utf8_2/script.tremor: -------------------------------------------------------------------------------- 1 | "invalid: \uD800" -------------------------------------------------------------------------------- /tests/script_errors/invalid_utf8_3/error.txt: -------------------------------------------------------------------------------- 1 | Error: 2 | 1 | "\u0 3 | | ^^^ An invalid UTF8 escape sequence was found -------------------------------------------------------------------------------- /tests/script_errors/invalid_utf8_3/script.tremor: -------------------------------------------------------------------------------- 1 | "\u0 -------------------------------------------------------------------------------- /tests/script_errors/lexer_bad_float/error.txt: -------------------------------------------------------------------------------- 1 | Error: 2 | 1 | let f = 1.0e; 3 | | ^^^^^ An invalid float literal -------------------------------------------------------------------------------- /tests/script_errors/lexer_bad_float/script.tremor: -------------------------------------------------------------------------------- 1 | let f = 1.0e; 2 | -------------------------------------------------------------------------------- /tests/script_errors/lexer_bad_hex/error.txt: -------------------------------------------------------------------------------- 1 | Error: 2 | 1 | let f = 0xg; 3 | | ^^^ An invalid hexadecimal -------------------------------------------------------------------------------- /tests/script_errors/lexer_bad_hex/script.tremor: -------------------------------------------------------------------------------- 1 | let f = 0xg; 2 | event 3 | -------------------------------------------------------------------------------- /tests/script_errors/lexer_bad_hex2/error.txt: -------------------------------------------------------------------------------- 1 | Error: 2 | 1 | let f = 7x0; 3 | | ^^^ An invalid hexadecimal -------------------------------------------------------------------------------- /tests/script_errors/lexer_bad_hex2/script.tremor: -------------------------------------------------------------------------------- 1 | let f = 7x0; 2 | event 3 | -------------------------------------------------------------------------------- /tests/script_errors/lexer_bad_hex3/error.txt: -------------------------------------------------------------------------------- 1 | Error: 2 | 1 | let f = 0x; 3 | | ^^^ An invalid hexadecimal -------------------------------------------------------------------------------- /tests/script_errors/lexer_bad_hex3/script.tremor: -------------------------------------------------------------------------------- 1 | let f = 0x; 2 | event 3 | -------------------------------------------------------------------------------- /tests/script_errors/lexer_bad_int/error.txt: -------------------------------------------------------------------------------- 1 | Error: 2 | 1 | let f = 0snot; 3 | | ^ An unexpected character 's' was found -------------------------------------------------------------------------------- /tests/script_errors/lexer_bad_int/script.tremor: -------------------------------------------------------------------------------- 1 | let f = 0snot; 2 | event 3 | -------------------------------------------------------------------------------- /tests/script_errors/lexer_diamond/script.tremor: -------------------------------------------------------------------------------- 1 | <> 2 | -------------------------------------------------------------------------------- /tests/script_errors/lexer_heredoc_interpolation/script.tremor: -------------------------------------------------------------------------------- 1 | """ 2 | #{ 3 | -------------------------------------------------------------------------------- /tests/script_errors/lexer_heredoc_interpolation2/script.tremor: -------------------------------------------------------------------------------- 1 | """ 2 | #{""" 3 | -------------------------------------------------------------------------------- /tests/script_errors/lexer_heredoc_interpolation3/script.tremor: -------------------------------------------------------------------------------- 1 | use std::string; 2 | let x = """ 3 | #{"""; 4 | -------------------------------------------------------------------------------- /tests/script_errors/lexer_invalid_float/error.txt: -------------------------------------------------------------------------------- 1 | Error: 2 | 1 | 12.0j5 3 | | ^^^^ An unexpected character 'j' was found -------------------------------------------------------------------------------- /tests/script_errors/lexer_invalid_float/script.tremor: -------------------------------------------------------------------------------- 1 | 12.0j5 2 | -------------------------------------------------------------------------------- /tests/script_errors/lexer_invalid_float_exp/error.txt: -------------------------------------------------------------------------------- 1 | Error: 2 | 1 | 12.0e 3 | | ^^^^ An invalid float literal -------------------------------------------------------------------------------- /tests/script_errors/lexer_invalid_float_exp/script.tremor: -------------------------------------------------------------------------------- 1 | 12.0e -------------------------------------------------------------------------------- /tests/script_errors/lexer_invalid_hex/error.txt: -------------------------------------------------------------------------------- 1 | Error: 2 | 1 | let invalid = 0x; 3 | | ^^^ An invalid hexadecimal -------------------------------------------------------------------------------- /tests/script_errors/lexer_invalid_hex/script.tremor: -------------------------------------------------------------------------------- 1 | let invalid = 0x; 2 | -------------------------------------------------------------------------------- /tests/script_errors/lexer_invalid_int_invalid_char/script.tremor: -------------------------------------------------------------------------------- 1 | 12345j 2 | -------------------------------------------------------------------------------- /tests/script_errors/lexer_invalid_pp/script.tremor: -------------------------------------------------------------------------------- 1 | #!this makes no sense! 2 | event 3 | -------------------------------------------------------------------------------- /tests/script_errors/lexer_ngt/script.tremor: -------------------------------------------------------------------------------- 1 | !>= 2 | -------------------------------------------------------------------------------- /tests/script_errors/lexer_string_interpolation/script.tremor: -------------------------------------------------------------------------------- 1 | "#{" 2 | -------------------------------------------------------------------------------- /tests/script_errors/lexer_string_interpolation2/script.tremor: -------------------------------------------------------------------------------- 1 | let x = "before #{ { {}"; 2 | 3 | -------------------------------------------------------------------------------- /tests/script_errors/lexer_triple_colon/script.tremor: -------------------------------------------------------------------------------- 1 | # we can't have triple colons 2 | a:::b() 3 | -------------------------------------------------------------------------------- /tests/script_errors/lexer_unterminated_extractor/script.tremor: -------------------------------------------------------------------------------- 1 | match event of 2 | case %{ msg = glob|info*l } => true -------------------------------------------------------------------------------- /tests/script_errors/lexer_unterminated_heredoc/script.tremor: -------------------------------------------------------------------------------- 1 | """ -------------------------------------------------------------------------------- /tests/script_errors/lexer_unterminated_heredoc2/script.tremor: -------------------------------------------------------------------------------- 1 | """ 2 | this is a heredoc -------------------------------------------------------------------------------- /tests/script_errors/lexer_unterminated_ident/script.tremor: -------------------------------------------------------------------------------- 1 | let `42 = 42; -------------------------------------------------------------------------------- /tests/script_errors/lexer_unterminated_ident2/script.tremor: -------------------------------------------------------------------------------- 1 | let event.`42 = 42; 2 | event 3 | -------------------------------------------------------------------------------- /tests/script_errors/lexer_unterminated_string/script.tremor: -------------------------------------------------------------------------------- 1 | "this is a string; -------------------------------------------------------------------------------- /tests/script_errors/lexer_unterminated_string2/script.tremor: -------------------------------------------------------------------------------- 1 | let s = "this is a string; 2 | event 3 | -------------------------------------------------------------------------------- /tests/script_errors/merge_ident/script.tremor: -------------------------------------------------------------------------------- 1 | let merge = event; 2 | 3 | merge -------------------------------------------------------------------------------- /tests/script_errors/missing_function/script.tremor: -------------------------------------------------------------------------------- 1 | snot::badger(event) 2 | -------------------------------------------------------------------------------- /tests/script_errors/mul_overflow/script.tremor: -------------------------------------------------------------------------------- 1 | use std::integer::unsigned; 2 | unsigned::MAX * 2; -------------------------------------------------------------------------------- /tests/script_errors/patch_non_str_key/script.tremor: -------------------------------------------------------------------------------- 1 | patch event of 2 | insert "snot" => "badger"; 3 | insert 7 => "snot" 4 | end 5 | -------------------------------------------------------------------------------- /tests/script_errors/pp_cyclic/script.tremor: -------------------------------------------------------------------------------- 1 | use `script` as s; 2 | 3 | const SNOT = 3; -------------------------------------------------------------------------------- /tests/script_errors/pp_nest_cyclic/foo/bar.tremor: -------------------------------------------------------------------------------- 1 | use foo::baz; 2 | 3 | const BAR = "bar"; 4 | -------------------------------------------------------------------------------- /tests/script_errors/pp_nest_cyclic/foo/baz.tremor: -------------------------------------------------------------------------------- 1 | use foo::bar; 2 | 3 | const BAZ = "baz"; 4 | -------------------------------------------------------------------------------- /tests/script_errors/pp_unknown_function_in_function/foo.tremor: -------------------------------------------------------------------------------- 1 | fn f() with 2 | g(1,2) 3 | end; -------------------------------------------------------------------------------- /tests/script_errors/pp_unknown_function_in_function/script.tremor: -------------------------------------------------------------------------------- 1 | use foo; 2 | 3 | foo::f() -------------------------------------------------------------------------------- /tests/script_errors/pp_unrecognized_token/script.tremor: -------------------------------------------------------------------------------- 1 | use ; 2 | -------------------------------------------------------------------------------- /tests/script_errors/pp_unrecognized_token2/script.tremor: -------------------------------------------------------------------------------- 1 | use foo :: "; 2 | -------------------------------------------------------------------------------- /tests/script_errors/pp_unrecognized_token3/script.tremor: -------------------------------------------------------------------------------- 1 | use foo :: as; 2 | -------------------------------------------------------------------------------- /tests/script_errors/pp_unrecognized_token4/script.tremor: -------------------------------------------------------------------------------- 1 | use foo :: :; bar; 2 | -------------------------------------------------------------------------------- /tests/script_errors/pp_unrecognized_token5/foo/bar.tremor: -------------------------------------------------------------------------------- 1 | const SNOT = "badger"; 2 | -------------------------------------------------------------------------------- /tests/script_errors/pp_unrecognized_token5/script.tremor: -------------------------------------------------------------------------------- 1 | use foo :: bar use; 2 | 3 | "hello {snot}" 4 | -------------------------------------------------------------------------------- /tests/script_errors/script_without_newline/script.tremor: -------------------------------------------------------------------------------- 1 | "string" + 1 -------------------------------------------------------------------------------- /tests/script_errors/select_ident/script.tremor: -------------------------------------------------------------------------------- 1 | let select = event; 2 | 3 | select -------------------------------------------------------------------------------- /tests/script_errors/single_quote/script.tremor: -------------------------------------------------------------------------------- 1 | " -------------------------------------------------------------------------------- /tests/script_errors/string_interpolation_empty/script.tremor: -------------------------------------------------------------------------------- 1 | "#{}" -------------------------------------------------------------------------------- /tests/script_errors/string_interpolation_eof/script.tremor: -------------------------------------------------------------------------------- 1 | let si = "before #{ 2 | -------------------------------------------------------------------------------- /tests/script_errors/string_interpolation_escape/script.tremor: -------------------------------------------------------------------------------- 1 | let escape = " #{ "\z" } "; 2 | -------------------------------------------------------------------------------- /tests/script_errors/string_interpolation_extractor/script.tremor: -------------------------------------------------------------------------------- 1 | " #{ | } " 2 | -------------------------------------------------------------------------------- /tests/script_errors/string_interpolation_invalid_utf8/script.tremor: -------------------------------------------------------------------------------- 1 | " #{ " \u666G " } " 2 | -------------------------------------------------------------------------------- /tests/script_errors/strnig_as_ident/script.tremor: -------------------------------------------------------------------------------- 1 | event."@timestamp" 2 | -------------------------------------------------------------------------------- /tests/script_errors/sub_overflow/script.tremor: -------------------------------------------------------------------------------- 1 | use std::integer::unsigned; 2 | 0 - unsigned::MAX; -------------------------------------------------------------------------------- /tests/script_errors/tailing_gt/script.tremor: -------------------------------------------------------------------------------- 1 | event > -------------------------------------------------------------------------------- /tests/script_errors/tailing_heredoc/script.tremor: -------------------------------------------------------------------------------- 1 | """test""" -------------------------------------------------------------------------------- /tests/script_errors/unexpected_escape/script.tremor: -------------------------------------------------------------------------------- 1 | let test = "\z"; 2 | -------------------------------------------------------------------------------- /tests/script_errors/unfinished_escape_eof/script.tremor: -------------------------------------------------------------------------------- 1 | let test = "\ -------------------------------------------------------------------------------- /tests/script_errors/unknown_extractor/script.tremor: -------------------------------------------------------------------------------- 1 | match ecent of 2 | case %{ key ~= snot|| } => true 3 | end 4 | -------------------------------------------------------------------------------- /tests/script_errors/unknown_function_in_function/script.tremor: -------------------------------------------------------------------------------- 1 | fn f() with 2 | g(1,2) 3 | end; 4 | 5 | f() -------------------------------------------------------------------------------- /tests/script_runtime_errors/_template/error.txt: -------------------------------------------------------------------------------- 1 | snot -------------------------------------------------------------------------------- /tests/script_runtime_errors/_template/in: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /tests/script_runtime_errors/_template/script.tremor: -------------------------------------------------------------------------------- 1 | error + snot 2 | -------------------------------------------------------------------------------- /tests/script_runtime_errors/arith_bad_shift_3/in: -------------------------------------------------------------------------------- 1 | "snot" 2 | -------------------------------------------------------------------------------- /tests/script_runtime_errors/arith_bad_shift_3/script.tremor: -------------------------------------------------------------------------------- 1 | let a = 64; 2 | 3 | 42 >> a 4 | -------------------------------------------------------------------------------- /tests/script_runtime_errors/arr_bad_idx/in: -------------------------------------------------------------------------------- 1 | [1, 2, 3] 2 | -------------------------------------------------------------------------------- /tests/script_runtime_errors/arr_bad_idx/script.tremor: -------------------------------------------------------------------------------- 1 | event[42] 2 | -------------------------------------------------------------------------------- /tests/script_runtime_errors/arr_bad_idx2/in: -------------------------------------------------------------------------------- 1 | [1, 2, 3] 2 | -------------------------------------------------------------------------------- /tests/script_runtime_errors/arr_bad_idx2/script.tremor: -------------------------------------------------------------------------------- 1 | let idx = 42; 2 | event[idx] 3 | -------------------------------------------------------------------------------- /tests/script_runtime_errors/assign_const/in: -------------------------------------------------------------------------------- 1 | "snot" 2 | -------------------------------------------------------------------------------- /tests/script_runtime_errors/assign_const/script.tremor: -------------------------------------------------------------------------------- 1 | const A = {"snot": "badger"}; 2 | 3 | let A.snot = event; 4 | 5 | A -------------------------------------------------------------------------------- /tests/script_runtime_errors/assign_expr/in: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /tests/script_runtime_errors/assign_expr/script.tremor: -------------------------------------------------------------------------------- 1 | let ([1,2])[0] = 3; 2 | -------------------------------------------------------------------------------- /tests/script_runtime_errors/assign_reserved/in: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /tests/script_runtime_errors/assign_reserved/script.tremor: -------------------------------------------------------------------------------- 1 | let group.snot = event; 2 | -------------------------------------------------------------------------------- /tests/script_runtime_errors/bad_binary/in: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /tests/script_runtime_errors/bad_binary/script.tremor: -------------------------------------------------------------------------------- 1 | let a = 7; 2 | 3 | a + "snot" 4 | -------------------------------------------------------------------------------- /tests/script_runtime_errors/bad_bitshift/in: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /tests/script_runtime_errors/bad_bitshift/script.tremor: -------------------------------------------------------------------------------- 1 | let a = 42; 2 | 3 | a >> 64 4 | -------------------------------------------------------------------------------- /tests/script_runtime_errors/bad_fold_op/in: -------------------------------------------------------------------------------- 1 | [1,2,3] 2 | -------------------------------------------------------------------------------- /tests/script_runtime_errors/bad_fold_op/script.tremor: -------------------------------------------------------------------------------- 1 | for event of 2 | case (k, v) => v 3 | into [] use / end 4 | -------------------------------------------------------------------------------- /tests/script_runtime_errors/bad_fold_op_imut/in: -------------------------------------------------------------------------------- 1 | [1,2,3] 2 | -------------------------------------------------------------------------------- /tests/script_runtime_errors/bad_fold_op_imut/script.tremor: -------------------------------------------------------------------------------- 1 | (for event of 2 | case (k, v) => v 3 | into [] use / end) 4 | -------------------------------------------------------------------------------- /tests/script_runtime_errors/bad_fold_op_record/in: -------------------------------------------------------------------------------- 1 | {"k":"v"} -------------------------------------------------------------------------------- /tests/script_runtime_errors/bad_fold_op_record/script.tremor: -------------------------------------------------------------------------------- 1 | for event of 2 | case (k, v) => {"#{k}": v} 3 | into {} use / end 4 | -------------------------------------------------------------------------------- /tests/script_runtime_errors/bad_fold_op_record_imut/in: -------------------------------------------------------------------------------- 1 | {"k":"v"} -------------------------------------------------------------------------------- /tests/script_runtime_errors/bad_fold_type/in: -------------------------------------------------------------------------------- 1 | [1,2] 2 | -------------------------------------------------------------------------------- /tests/script_runtime_errors/bad_fold_type/script.tremor: -------------------------------------------------------------------------------- 1 | for event of 2 | case (k,v) => [k, v] 3 | into {} end; -------------------------------------------------------------------------------- /tests/script_runtime_errors/bad_fold_type_imut/in: -------------------------------------------------------------------------------- 1 | [1,2] 2 | -------------------------------------------------------------------------------- /tests/script_runtime_errors/bad_fold_type_imut/script.tremor: -------------------------------------------------------------------------------- 1 | (for event of 2 | case (k,v) => [k, v] 3 | into {} end) 4 | -------------------------------------------------------------------------------- /tests/script_runtime_errors/bad_index_type/in: -------------------------------------------------------------------------------- 1 | {"snot": 7} 2 | -------------------------------------------------------------------------------- /tests/script_runtime_errors/bad_index_type/script.tremor: -------------------------------------------------------------------------------- 1 | let a = [1, 2]; 2 | event[a] 3 | -------------------------------------------------------------------------------- /tests/script_runtime_errors/bad_merge/in: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /tests/script_runtime_errors/bad_merge/script.tremor: -------------------------------------------------------------------------------- 1 | patch event of 2 | merge => "snot" 3 | end 4 | -------------------------------------------------------------------------------- /tests/script_runtime_errors/bad_merge2/in: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /tests/script_runtime_errors/bad_merge2/script.tremor: -------------------------------------------------------------------------------- 1 | patch {"key": 42} of 2 | merge "key" => 7 3 | end -------------------------------------------------------------------------------- /tests/script_runtime_errors/bad_unary/in: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /tests/script_runtime_errors/bad_unary/script.tremor: -------------------------------------------------------------------------------- 1 | let snot = "snot"; 2 | not snot 3 | -------------------------------------------------------------------------------- /tests/script_runtime_errors/error_after_heredoc/in: -------------------------------------------------------------------------------- 1 | [] 2 | -------------------------------------------------------------------------------- /tests/script_runtime_errors/error_after_heredoc/script.tremor: -------------------------------------------------------------------------------- 1 | let heredoc = """ 2 | snot 3 | badger 4 | """; 5 | 6 | event.snot -------------------------------------------------------------------------------- /tests/script_runtime_errors/fold_bool_op/in: -------------------------------------------------------------------------------- 1 | [true, 42] -------------------------------------------------------------------------------- /tests/script_runtime_errors/fold_bool_op/script.tremor: -------------------------------------------------------------------------------- 1 | for event of 2 | case (k, v) => v 3 | into true use and end -------------------------------------------------------------------------------- /tests/script_runtime_errors/fold_bool_op_imut/in: -------------------------------------------------------------------------------- 1 | [true, 42] -------------------------------------------------------------------------------- /tests/script_runtime_errors/fold_bool_op_imut/script.tremor: -------------------------------------------------------------------------------- 1 | (for event of 2 | case (k, v) => v 3 | into true use and end) -------------------------------------------------------------------------------- /tests/script_runtime_errors/fold_bool_or/in: -------------------------------------------------------------------------------- 1 | [false, 42] -------------------------------------------------------------------------------- /tests/script_runtime_errors/fold_bool_or/script.tremor: -------------------------------------------------------------------------------- 1 | for event of 2 | case (k, v) => v 3 | into false use or end -------------------------------------------------------------------------------- /tests/script_runtime_errors/fold_bool_or_imut/in: -------------------------------------------------------------------------------- 1 | [false, 42] -------------------------------------------------------------------------------- /tests/script_runtime_errors/fold_bool_or_imut/script.tremor: -------------------------------------------------------------------------------- 1 | (for event of 2 | case (k, v) => v 3 | into false use or end) -------------------------------------------------------------------------------- /tests/script_runtime_errors/function_error_1/in: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /tests/script_runtime_errors/function_error_1/script.tremor: -------------------------------------------------------------------------------- 1 | use std::record; 2 | 3 | let a = 7; 4 | record::from_array(a) 5 | -------------------------------------------------------------------------------- /tests/script_runtime_errors/function_error_2/in: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /tests/script_runtime_errors/function_error_2/script.tremor: -------------------------------------------------------------------------------- 1 | use std::math; 2 | let a = 7; 3 | math::max("snot", a) 4 | -------------------------------------------------------------------------------- /tests/script_runtime_errors/function_error_3/in: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /tests/script_runtime_errors/function_error_3/script.tremor: -------------------------------------------------------------------------------- 1 | use std::string; 2 | let a = 7; 3 | string::format(a, "snot", "badger") 4 | -------------------------------------------------------------------------------- /tests/script_runtime_errors/function_error_n/in: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /tests/script_runtime_errors/match_bad_guard_type/in: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /tests/script_runtime_errors/match_bad_guard_type/script.tremor: -------------------------------------------------------------------------------- 1 | match true of 2 | case true when "snot" => true 3 | end 4 | -------------------------------------------------------------------------------- /tests/script_runtime_errors/match_no_clause_hit/in: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /tests/script_runtime_errors/match_no_clause_hit/script.tremor: -------------------------------------------------------------------------------- 1 | match true of 2 | case false => true 3 | end 4 | -------------------------------------------------------------------------------- /tests/script_runtime_errors/merge_assign_target_new_no_object/in: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /tests/script_runtime_errors/merge_assign_target_new_no_object/script.tremor: -------------------------------------------------------------------------------- 1 | let event = merge event of 7 end 2 | -------------------------------------------------------------------------------- /tests/script_runtime_errors/merge_assign_target_target_no_object/in: -------------------------------------------------------------------------------- 1 | 42 2 | -------------------------------------------------------------------------------- /tests/script_runtime_errors/merge_assign_target_target_no_object/script.tremor: -------------------------------------------------------------------------------- 1 | let event = merge event of {"snot": "badger"} end 2 | -------------------------------------------------------------------------------- /tests/script_runtime_errors/merge_new_no_object/in: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /tests/script_runtime_errors/merge_new_no_object/script.tremor: -------------------------------------------------------------------------------- 1 | merge {} of 7 end 2 | -------------------------------------------------------------------------------- /tests/script_runtime_errors/merge_target_no_object/in: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /tests/script_runtime_errors/merge_target_no_object/script.tremor: -------------------------------------------------------------------------------- 1 | merge 7 of {"snot": "badger"} end 2 | -------------------------------------------------------------------------------- /tests/script_runtime_errors/meta_and_use/in: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /tests/script_runtime_errors/meta_and_use/script.tremor: -------------------------------------------------------------------------------- 1 | use std::array; 2 | 3 | let $ = "snot"; 4 | -------------------------------------------------------------------------------- /tests/script_runtime_errors/missing_local/in: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /tests/script_runtime_errors/missing_local/script.tremor: -------------------------------------------------------------------------------- 1 | missing_var 2 | -------------------------------------------------------------------------------- /tests/script_runtime_errors/non_arr_access/in: -------------------------------------------------------------------------------- 1 | {"snot": 7} 2 | -------------------------------------------------------------------------------- /tests/script_runtime_errors/non_arr_access/script.tremor: -------------------------------------------------------------------------------- 1 | event.snot[42] 2 | -------------------------------------------------------------------------------- /tests/script_runtime_errors/non_arr_access2/in: -------------------------------------------------------------------------------- 1 | {"snot": 7} 2 | -------------------------------------------------------------------------------- /tests/script_runtime_errors/non_arr_access2/script.tremor: -------------------------------------------------------------------------------- 1 | let k = 42; 2 | event.snot[k] 3 | -------------------------------------------------------------------------------- /tests/script_runtime_errors/non_obj_access/in: -------------------------------------------------------------------------------- 1 | {"snot": 7} 2 | -------------------------------------------------------------------------------- /tests/script_runtime_errors/non_obj_access/script.tremor: -------------------------------------------------------------------------------- 1 | event.snot.badger 2 | -------------------------------------------------------------------------------- /tests/script_runtime_errors/non_obj_access2/in: -------------------------------------------------------------------------------- 1 | {"snot": 7} 2 | -------------------------------------------------------------------------------- /tests/script_runtime_errors/non_obj_access2/script.tremor: -------------------------------------------------------------------------------- 1 | let key = "badger"; 2 | event.snot[key] 3 | -------------------------------------------------------------------------------- /tests/script_runtime_errors/obj_bad_key/in: -------------------------------------------------------------------------------- 1 | {"snot": 7} 2 | -------------------------------------------------------------------------------- /tests/script_runtime_errors/obj_bad_key/script.tremor: -------------------------------------------------------------------------------- 1 | event.badger 2 | -------------------------------------------------------------------------------- /tests/script_runtime_errors/obj_bad_key2/in: -------------------------------------------------------------------------------- 1 | {"snot": 7} 2 | -------------------------------------------------------------------------------- /tests/script_runtime_errors/obj_bad_key2/script.tremor: -------------------------------------------------------------------------------- 1 | let key = "badger"; 2 | event[key] 3 | -------------------------------------------------------------------------------- /tests/script_runtime_errors/patch_copy_key_exists/in: -------------------------------------------------------------------------------- 1 | [1, 2, 3] 2 | -------------------------------------------------------------------------------- /tests/script_runtime_errors/patch_copy_key_exists/script.tremor: -------------------------------------------------------------------------------- 1 | patch {"a": 1, "b": 2} of 2 | copy "a" => "b" 3 | end 4 | -------------------------------------------------------------------------------- /tests/script_runtime_errors/patch_key_exists/in: -------------------------------------------------------------------------------- 1 | [1, 2, 3] 2 | -------------------------------------------------------------------------------- /tests/script_runtime_errors/patch_key_exists/script.tremor: -------------------------------------------------------------------------------- 1 | patch {"a": 1} of 2 | insert "a" => 2 3 | end 4 | -------------------------------------------------------------------------------- /tests/script_runtime_errors/patch_merge_on_non_object/in: -------------------------------------------------------------------------------- 1 | [1, 2, 3] 2 | -------------------------------------------------------------------------------- /tests/script_runtime_errors/patch_merge_on_non_object/script.tremor: -------------------------------------------------------------------------------- 1 | patch {"a": 1, "b": 2} of 2 | merge "a" => {"c": 3} 3 | end 4 | -------------------------------------------------------------------------------- /tests/script_runtime_errors/patch_move_key_exists/in: -------------------------------------------------------------------------------- 1 | [1, 2, 3] 2 | -------------------------------------------------------------------------------- /tests/script_runtime_errors/patch_move_key_exists/script.tremor: -------------------------------------------------------------------------------- 1 | patch {"a": 1, "b": 2} of 2 | move "a" => "b" 3 | end 4 | -------------------------------------------------------------------------------- /tests/script_runtime_errors/patch_on_non_obj/in: -------------------------------------------------------------------------------- 1 | [1, 2, 3] 2 | -------------------------------------------------------------------------------- /tests/script_runtime_errors/patch_on_non_obj/script.tremor: -------------------------------------------------------------------------------- 1 | patch [] of 2 | move "a" => "b" 3 | end 4 | -------------------------------------------------------------------------------- /tests/script_runtime_errors/patch_update_key_missing/in: -------------------------------------------------------------------------------- 1 | [1, 2, 3] 2 | -------------------------------------------------------------------------------- /tests/script_runtime_errors/patch_update_key_missing/script.tremor: -------------------------------------------------------------------------------- 1 | patch {"a": 1} of 2 | update "b" => 2 3 | end 4 | -------------------------------------------------------------------------------- /tests/script_runtime_errors/recursion_limit/in: -------------------------------------------------------------------------------- 1 | 1 2 | -------------------------------------------------------------------------------- /tests/script_runtime_errors/recursion_limit/script.tremor: -------------------------------------------------------------------------------- 1 | fn boom(x) with 2 | let x = x + 1; 3 | recur(x) 4 | end; 5 | 6 | boom(event) -------------------------------------------------------------------------------- /tests/script_runtime_errors/subslice_and_idx_out_of_bounds/in: -------------------------------------------------------------------------------- 1 | [0, 1, 2] 2 | -------------------------------------------------------------------------------- /tests/script_runtime_errors/subslice_and_idx_out_of_bounds/script.tremor: -------------------------------------------------------------------------------- 1 | event[1:3][2] 2 | -------------------------------------------------------------------------------- /tests/script_runtime_errors/subslice_bad_end/in: -------------------------------------------------------------------------------- 1 | [0, 1, 2] 2 | -------------------------------------------------------------------------------- /tests/script_runtime_errors/subslice_bad_end/script.tremor: -------------------------------------------------------------------------------- 1 | let k = "a"; 2 | event[1:k] 3 | -------------------------------------------------------------------------------- /tests/script_runtime_errors/subslice_bad_start/in: -------------------------------------------------------------------------------- 1 | [0, 1, 2] 2 | -------------------------------------------------------------------------------- /tests/script_runtime_errors/subslice_bad_start/script.tremor: -------------------------------------------------------------------------------- 1 | let k = "a"; 2 | event[k:4] 3 | -------------------------------------------------------------------------------- /tests/script_runtime_errors/subslice_end_lt_start/in: -------------------------------------------------------------------------------- 1 | [0, 1, 2] 2 | -------------------------------------------------------------------------------- /tests/script_runtime_errors/subslice_end_lt_start/script.tremor: -------------------------------------------------------------------------------- 1 | let k = 1; 2 | event[2:k] 3 | -------------------------------------------------------------------------------- /tests/script_runtime_errors/subslice_neg_start/in: -------------------------------------------------------------------------------- 1 | [0, 1, 2] 2 | -------------------------------------------------------------------------------- /tests/script_runtime_errors/subslice_neg_start/script.tremor: -------------------------------------------------------------------------------- 1 | let k = -1; 2 | event[k:4] 3 | -------------------------------------------------------------------------------- /tests/script_runtime_errors/subslice_no_arr/in: -------------------------------------------------------------------------------- 1 | "snot" 2 | -------------------------------------------------------------------------------- /tests/script_runtime_errors/subslice_no_arr/script.tremor: -------------------------------------------------------------------------------- 1 | event[1:4] 2 | -------------------------------------------------------------------------------- /tests/script_runtime_errors/subslice_out_of_bounds/in: -------------------------------------------------------------------------------- 1 | [0, 1, 2] 2 | -------------------------------------------------------------------------------- /tests/script_runtime_errors/subslice_out_of_bounds/script.tremor: -------------------------------------------------------------------------------- 1 | event[1:4] 2 | -------------------------------------------------------------------------------- /tests/script_runtime_errors/undefined_local/in: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /tests/script_warnings/_template/script.tremor: -------------------------------------------------------------------------------- 1 | event 2 | -------------------------------------------------------------------------------- /tests/script_warnings/_template/warning.txt: -------------------------------------------------------------------------------- 1 | UPDATE ME 2 | -------------------------------------------------------------------------------- /tests/script_warnings/array_perf/script.tremor: -------------------------------------------------------------------------------- 1 | use std::array; 2 | array::push([], event); 3 | array::concatenate([], [event]); 4 | -------------------------------------------------------------------------------- /tests/script_warnings/for_fold_op/script.tremor: -------------------------------------------------------------------------------- 1 | for event of 2 | case (k, v) => v 3 | into 0 use + end 4 | -------------------------------------------------------------------------------- /tests/script_warnings/lower_case_const/script.tremor: -------------------------------------------------------------------------------- 1 | const a = "a"; -------------------------------------------------------------------------------- /tests/script_warnings/match_imut_no_default/script.tremor: -------------------------------------------------------------------------------- 1 | merge event of match true of 2 | case true => true 3 | end end 4 | -------------------------------------------------------------------------------- /tests/script_warnings/match_no_default/script.tremor: -------------------------------------------------------------------------------- 1 | match true of 2 | case true => true 3 | end 4 | -------------------------------------------------------------------------------- /tests/script_warnings/nanotime/script.tremor: -------------------------------------------------------------------------------- 1 | use tremor::system; 2 | 3 | system::nanotime() -------------------------------------------------------------------------------- /tests/scripts/_template/in: -------------------------------------------------------------------------------- 1 | 0 2 | 1 3 | 2 4 | 3 5 | 4 6 | 5 7 | 6 8 | 7 9 | 8 10 | 9 11 | -------------------------------------------------------------------------------- /tests/scripts/_template/out: -------------------------------------------------------------------------------- 1 | 0 2 | 1 3 | 2 4 | 3 5 | 4 6 | 5 7 | 6 8 | 7 9 | 8 10 | 9 11 | -------------------------------------------------------------------------------- /tests/scripts/_template/script.tremor: -------------------------------------------------------------------------------- 1 | event 2 | -------------------------------------------------------------------------------- /tests/scripts/array_comprehension/in: -------------------------------------------------------------------------------- 1 | [ "one", "two", "three" ] 2 | -------------------------------------------------------------------------------- /tests/scripts/array_comprehension/out: -------------------------------------------------------------------------------- 1 | [ [ 0, "one", "other" ], [ 1, "two", "other" ], [ 2, "three", "other" ] ] 2 | -------------------------------------------------------------------------------- /tests/scripts/array_paths/in: -------------------------------------------------------------------------------- 1 | { "snot": [ 1, [2, 22, [{"ping": "pong"},1,2,3,4,5,6,7,8,9], 2222], 3, 4, 5 ] } 2 | -------------------------------------------------------------------------------- /tests/scripts/array_paths/out: -------------------------------------------------------------------------------- 1 | "pong" 2 | -------------------------------------------------------------------------------- /tests/scripts/array_paths/script.tremor: -------------------------------------------------------------------------------- 1 | event["snot"][1][2][0:1][0]["ping"] 2 | -------------------------------------------------------------------------------- /tests/scripts/array_pattern/in: -------------------------------------------------------------------------------- 1 | [ 1, 2, 3, 4, 5 , 2, 3, "4", 5 ] 2 | -------------------------------------------------------------------------------- /tests/scripts/array_pattern/out: -------------------------------------------------------------------------------- 1 | [[1,2],[5,2],[7,{}]] 2 | -------------------------------------------------------------------------------- /tests/scripts/array_pattern/script.tremor: -------------------------------------------------------------------------------- 1 | match event of 2 | case foo = %[ 2, ~ re|4| ] => foo 3 | case _ => "ko" 4 | end 5 | -------------------------------------------------------------------------------- /tests/scripts/array_pattern_element/in: -------------------------------------------------------------------------------- 1 | 0 2 | 1 3 | 2 4 | 3 5 | 4 6 | 5 7 | 6 8 | 7 9 | 8 10 | 9 11 | -------------------------------------------------------------------------------- /tests/scripts/array_pattern_element/script.tremor: -------------------------------------------------------------------------------- 1 | match [event] of 2 | case %[ 0 ] => true 3 | case _ => false 4 | end; -------------------------------------------------------------------------------- /tests/scripts/array_pattern_ignore/in: -------------------------------------------------------------------------------- 1 | 0 2 | 1 3 | 2 4 | 3 5 | 4 6 | 5 7 | 6 8 | 7 9 | 8 10 | 9 11 | -------------------------------------------------------------------------------- /tests/scripts/assign_and_path_match/in: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /tests/scripts/assign_and_path_match/out: -------------------------------------------------------------------------------- 1 | {"strawberry":"cake","test":1} 2 | -------------------------------------------------------------------------------- /tests/scripts/assign_move/in: -------------------------------------------------------------------------------- 1 | ["zero", "one", "two"] 2 | -------------------------------------------------------------------------------- /tests/scripts/assign_move/out: -------------------------------------------------------------------------------- 1 | {"k":2,"v":"two"} 2 | -------------------------------------------------------------------------------- /tests/scripts/base64/in: -------------------------------------------------------------------------------- 1 | { "test": "8J+MiiBzbm90IGJhZGdlcg==", "footle":"bar" } 2 | -------------------------------------------------------------------------------- /tests/scripts/base64/out: -------------------------------------------------------------------------------- 1 | {"test": "🌊 snot badger"} 2 | -------------------------------------------------------------------------------- /tests/scripts/base64/script.tremor: -------------------------------------------------------------------------------- 1 | match event of 2 | case foo = %{test ~= base64|| } => foo 3 | case _ => "ko" 4 | end; -------------------------------------------------------------------------------- /tests/scripts/binary/in: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /tests/scripts/binary/out: -------------------------------------------------------------------------------- 1 | true 2 | -------------------------------------------------------------------------------- /tests/scripts/binary/script.tremor: -------------------------------------------------------------------------------- 1 | emit (9.0 >= 2); 2 | { "event": event, "reason": "broken doc" }; 3 | -------------------------------------------------------------------------------- /tests/scripts/binary_binary/in: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /tests/scripts/binary_binary_string/in: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /tests/scripts/binary_float/in: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /tests/scripts/binary_int/in: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /tests/scripts/binary_not/in: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /tests/scripts/binary_not/out: -------------------------------------------------------------------------------- 1 | 18446744073709551603 2 | -------------------------------------------------------------------------------- /tests/scripts/binary_not/script.tremor: -------------------------------------------------------------------------------- 1 | let x = 12; 2 | !x 3 | -------------------------------------------------------------------------------- /tests/scripts/binary_string/in: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /tests/scripts/binary_string_binary/in: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /tests/scripts/binary_uint/in: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /tests/scripts/bit_ops/in: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /tests/scripts/bit_ops/out: -------------------------------------------------------------------------------- 1 | ["bitwise AND",2,42,0,2,-42,true,false,"bitwise XOR",40,-44,42,-44,40,false,true,0,-4,0] 2 | -------------------------------------------------------------------------------- /tests/scripts/bit_shift/in: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /tests/scripts/bytes_create/in: -------------------------------------------------------------------------------- 1 | "snot" 2 | "badger" 3 | -------------------------------------------------------------------------------- /tests/scripts/bytes_create/out: -------------------------------------------------------------------------------- 1 | "snot \"snot!\"" 2 | "badger \"snot!\"" 3 | -------------------------------------------------------------------------------- /tests/scripts/bytes_tcp/in: -------------------------------------------------------------------------------- 1 | 0 2 | 23 3 | 42 4 | -------------------------------------------------------------------------------- /tests/scripts/cidr/in: -------------------------------------------------------------------------------- 1 | {"bare": "192.168.1.1", "pinned": "10.22.0.254"} 2 | -------------------------------------------------------------------------------- /tests/scripts/cidr_multi/in: -------------------------------------------------------------------------------- 1 | {"multi_cidr": "10.22.0.254", "doesnt_match": "10.22.0.254"} 2 | -------------------------------------------------------------------------------- /tests/scripts/cidr_multi/out: -------------------------------------------------------------------------------- 1 | {"doesnt_match": "no match", "multi_cidr": {"prefix": [10, 22, 0, 254], "mask": [255, 255, 255, 255]}} 2 | -------------------------------------------------------------------------------- /tests/scripts/const_basic/in: -------------------------------------------------------------------------------- 1 | 0 -------------------------------------------------------------------------------- /tests/scripts/const_basic/out: -------------------------------------------------------------------------------- 1 | [1,"two",[3],{"four":4},5.0] -------------------------------------------------------------------------------- /tests/scripts/const_expr_path_non_const_segment/in: -------------------------------------------------------------------------------- 1 | 0 2 | -------------------------------------------------------------------------------- /tests/scripts/const_expr_path_non_const_segment/out: -------------------------------------------------------------------------------- 1 | [[5],"badger"] 2 | -------------------------------------------------------------------------------- /tests/scripts/const_fn/in: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /tests/scripts/const_fn/out: -------------------------------------------------------------------------------- 1 | 2 2 | -------------------------------------------------------------------------------- /tests/scripts/const_fn/script.tremor: -------------------------------------------------------------------------------- 1 | use std::math; 2 | const TWO = math::max(1, 2); 3 | TWO 4 | -------------------------------------------------------------------------------- /tests/scripts/const_fn_tremor/in: -------------------------------------------------------------------------------- 1 | 0 2 | 1 3 | 2 4 | 3 5 | 4 6 | 5 7 | 6 8 | 7 9 | 8 10 | 9 11 | -------------------------------------------------------------------------------- /tests/scripts/const_fn_tremor/out: -------------------------------------------------------------------------------- 1 | 2 2 | 3 3 | 4 4 | 5 5 | 6 6 | 7 7 | 8 8 | 9 9 | 10 10 | 11 11 | -------------------------------------------------------------------------------- /tests/scripts/const_fn_tremor/script.tremor: -------------------------------------------------------------------------------- 1 | fn twofn(n) with 2 | 2 * n 3 | end; 4 | const TWO = twofn(1); 5 | 6 | event + TWO 7 | -------------------------------------------------------------------------------- /tests/scripts/const_in_const/in: -------------------------------------------------------------------------------- 1 | 0 2 | 1 3 | 2 4 | 3 5 | 4 6 | 5 7 | 6 8 | 7 9 | 8 10 | 9 11 | -------------------------------------------------------------------------------- /tests/scripts/const_in_const/out: -------------------------------------------------------------------------------- 1 | 6 2 | 7 3 | 8 4 | 9 5 | 10 6 | 11 7 | 12 8 | 13 9 | 14 10 | 15 11 | -------------------------------------------------------------------------------- /tests/scripts/const_in_const/script.tremor: -------------------------------------------------------------------------------- 1 | const TWO = 2; 2 | const THREE = 3; 3 | const SIX = TWO * THREE; 4 | event + SIX -------------------------------------------------------------------------------- /tests/scripts/const_in_const_lookup/in: -------------------------------------------------------------------------------- 1 | 0 2 | 1 3 | -------------------------------------------------------------------------------- /tests/scripts/const_in_const_lookup/out: -------------------------------------------------------------------------------- 1 | "snot badger: 0!" 2 | "snot badger: 1!" -------------------------------------------------------------------------------- /tests/scripts/const_of_const/in: -------------------------------------------------------------------------------- 1 | 0 2 | 1 3 | 2 4 | 3 5 | 4 6 | 5 7 | 6 8 | 7 9 | 8 10 | 9 11 | -------------------------------------------------------------------------------- /tests/scripts/const_of_const/script.tremor: -------------------------------------------------------------------------------- 1 | const A = "snot"; 2 | const B = ( A + " badger" ); 3 | 4 | "#{B}: #{event}!" -------------------------------------------------------------------------------- /tests/scripts/const_string_interpolation/in: -------------------------------------------------------------------------------- 1 | 0 2 | -------------------------------------------------------------------------------- /tests/scripts/const_string_interpolation/out: -------------------------------------------------------------------------------- 1 | "one is 1" 2 | -------------------------------------------------------------------------------- /tests/scripts/const_string_interpolation/script.tremor: -------------------------------------------------------------------------------- 1 | const ONE = 1; 2 | const STRING = "one is #{ONE}"; 3 | STRING 4 | -------------------------------------------------------------------------------- /tests/scripts/consts/in: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /tests/scripts/consts/out: -------------------------------------------------------------------------------- 1 | {"this was": ["a", "const"]} 2 | -------------------------------------------------------------------------------- /tests/scripts/consts/script.tremor: -------------------------------------------------------------------------------- 1 | const OUT = {"this was": ["a", "const"]}; 2 | OUT 3 | -------------------------------------------------------------------------------- /tests/scripts/datetime/in: -------------------------------------------------------------------------------- 1 | {"test" : "2019-01-01 09:42"} 2 | -------------------------------------------------------------------------------- /tests/scripts/datetime/out: -------------------------------------------------------------------------------- 1 | {"test": 1546335720000000000} 2 | -------------------------------------------------------------------------------- /tests/scripts/drop/in: -------------------------------------------------------------------------------- 1 | 0 2 | 1 3 | 2 4 | 3 5 | 4 6 | 5 7 | 6 8 | 7 9 | 8 10 | 9 11 | -------------------------------------------------------------------------------- /tests/scripts/drop/out: -------------------------------------------------------------------------------- 1 | 0 2 | 2 3 | 4 4 | 6 5 | 8 -------------------------------------------------------------------------------- /tests/scripts/drop/script.tremor: -------------------------------------------------------------------------------- 1 | match event % 2 of 2 | case 0 => emit => "out" 3 | case 1 => drop 4 | end 5 | -------------------------------------------------------------------------------- /tests/scripts/dummy/in: -------------------------------------------------------------------------------- 1 | true 2 | -------------------------------------------------------------------------------- /tests/scripts/dummy/out: -------------------------------------------------------------------------------- 1 | true 2 | -------------------------------------------------------------------------------- /tests/scripts/dummy/script.tremor: -------------------------------------------------------------------------------- 1 | event 2 | -------------------------------------------------------------------------------- /tests/scripts/emit_port/in: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /tests/scripts/emit_port/out: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /tests/scripts/emit_port/script.tremor: -------------------------------------------------------------------------------- 1 | emit => "out" 2 | -------------------------------------------------------------------------------- /tests/scripts/empty_array_pattern/in: -------------------------------------------------------------------------------- 1 | [ ] 2 | {} 3 | null 4 | true 5 | 1 6 | 2.5 7 | "string" 8 | [ "full array" ] 9 | -------------------------------------------------------------------------------- /tests/scripts/empty_array_pattern/out: -------------------------------------------------------------------------------- 1 | "array" 2 | "else" 3 | "else" 4 | "else" 5 | "else" 6 | "else" 7 | "else" 8 | "array" 9 | -------------------------------------------------------------------------------- /tests/scripts/empty_array_pattern/script.tremor: -------------------------------------------------------------------------------- 1 | match event of 2 | case %[] => "array" 3 | case _ => "else" 4 | end 5 | -------------------------------------------------------------------------------- /tests/scripts/empty_record_pattern/script.tremor: -------------------------------------------------------------------------------- 1 | match event of 2 | case %{} => "record" 3 | case _ => "else" 4 | end 5 | -------------------------------------------------------------------------------- /tests/scripts/empty_subslice/in: -------------------------------------------------------------------------------- 1 | [0, 1, 2] 2 | -------------------------------------------------------------------------------- /tests/scripts/empty_subslice/out: -------------------------------------------------------------------------------- 1 | true 2 | -------------------------------------------------------------------------------- /tests/scripts/empty_subslice/script.tremor: -------------------------------------------------------------------------------- 1 | use std::array; 2 | array::is_empty(event[1:1]) 3 | -------------------------------------------------------------------------------- /tests/scripts/eq/in: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /tests/scripts/escape/in: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /tests/scripts/escape/out: -------------------------------------------------------------------------------- 1 | "\\[\b\f" -------------------------------------------------------------------------------- /tests/scripts/escape/script.tremor: -------------------------------------------------------------------------------- 1 | "\\[\b\f" -------------------------------------------------------------------------------- /tests/scripts/escape_in_extractor/in: -------------------------------------------------------------------------------- 1 | 0 2 | 1 3 | 2 4 | 3 5 | 4 6 | 5 7 | 6 8 | 7 9 | 8 10 | 9 11 | -------------------------------------------------------------------------------- /tests/scripts/escape_in_extractor/out: -------------------------------------------------------------------------------- 1 | "ok" 2 | "ok" 3 | "ok" 4 | "ok" 5 | "ok" 6 | "ok" 7 | "ok" 8 | "ok" 9 | "ok" 10 | "ok" 11 | -------------------------------------------------------------------------------- /tests/scripts/expr_path/in: -------------------------------------------------------------------------------- 1 | 0 2 | -------------------------------------------------------------------------------- /tests/scripts/expr_path/out: -------------------------------------------------------------------------------- 1 | [1,"snot","badger","badger","badger"] -------------------------------------------------------------------------------- /tests/scripts/extractor_dissect/in: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /tests/scripts/fn_extractors/in: -------------------------------------------------------------------------------- 1 | "badger" 2 | "horse" 3 | 42 4 | "{\"badger\": 42}" 5 | -------------------------------------------------------------------------------- /tests/scripts/fn_fib/in: -------------------------------------------------------------------------------- 1 | 0 2 | 1 3 | 2 4 | 3 5 | 4 6 | 5 7 | 6 8 | 7 9 | 8 10 | 9 11 | -------------------------------------------------------------------------------- /tests/scripts/fn_fib/out: -------------------------------------------------------------------------------- 1 | 0 2 | 1 3 | 1 4 | 2 5 | 3 6 | 5 7 | 8 8 | 13 9 | 21 10 | 34 11 | -------------------------------------------------------------------------------- /tests/scripts/fn_nest2_abs_fib/in: -------------------------------------------------------------------------------- 1 | 0 2 | 1 3 | 2 4 | 3 5 | 4 6 | 5 7 | 6 8 | 7 9 | 8 10 | 9 11 | -------------------------------------------------------------------------------- /tests/scripts/fn_nest2_fib/in: -------------------------------------------------------------------------------- 1 | 0 2 | 1 3 | 2 4 | 3 5 | 4 6 | 5 7 | 6 8 | 7 9 | 8 10 | 9 11 | -------------------------------------------------------------------------------- /tests/scripts/fold_array/in: -------------------------------------------------------------------------------- 1 | [1,2,3,4] -------------------------------------------------------------------------------- /tests/scripts/fold_array/out: -------------------------------------------------------------------------------- 1 | [2,3,4,5] -------------------------------------------------------------------------------- /tests/scripts/fold_array/script.tremor: -------------------------------------------------------------------------------- 1 | for event of 2 | case (k, v) => v + 1 3 | end; -------------------------------------------------------------------------------- /tests/scripts/fold_array_imut/in: -------------------------------------------------------------------------------- 1 | [1,2,3,4] -------------------------------------------------------------------------------- /tests/scripts/fold_array_imut/out: -------------------------------------------------------------------------------- 1 | [2,3,4,5] -------------------------------------------------------------------------------- /tests/scripts/fold_array_imut/script.tremor: -------------------------------------------------------------------------------- 1 | (for event of 2 | case (k, v) => v + 1 3 | end) 4 | -------------------------------------------------------------------------------- /tests/scripts/fold_array_initial/in: -------------------------------------------------------------------------------- 1 | [1,2,3,4] -------------------------------------------------------------------------------- /tests/scripts/fold_array_initial/out: -------------------------------------------------------------------------------- 1 | [2,3,4,5] -------------------------------------------------------------------------------- /tests/scripts/fold_array_initial/script.tremor: -------------------------------------------------------------------------------- 1 | for event of 2 | case (k, v) => v + 1 3 | into [] end; -------------------------------------------------------------------------------- /tests/scripts/fold_array_initial_imut/in: -------------------------------------------------------------------------------- 1 | [1,2,3,4] -------------------------------------------------------------------------------- /tests/scripts/fold_array_initial_imut/out: -------------------------------------------------------------------------------- 1 | [2,3,4,5] -------------------------------------------------------------------------------- /tests/scripts/fold_array_initial_imut/script.tremor: -------------------------------------------------------------------------------- 1 | (for event of 2 | case (k, v) => v + 1 3 | into [] end) 4 | -------------------------------------------------------------------------------- /tests/scripts/fold_array_initial_op/in: -------------------------------------------------------------------------------- 1 | [1,2,3,4] -------------------------------------------------------------------------------- /tests/scripts/fold_array_initial_op/out: -------------------------------------------------------------------------------- 1 | [1,2,3,4,5] -------------------------------------------------------------------------------- /tests/scripts/fold_array_initial_op/script.tremor: -------------------------------------------------------------------------------- 1 | for event of 2 | case (k, v) => v + 1 3 | into [1] use + end; -------------------------------------------------------------------------------- /tests/scripts/fold_array_initial_op_imut/in: -------------------------------------------------------------------------------- 1 | [1,2,3,4] -------------------------------------------------------------------------------- /tests/scripts/fold_array_initial_op_imut/out: -------------------------------------------------------------------------------- 1 | [1,2,3,4,5] -------------------------------------------------------------------------------- /tests/scripts/fold_array_initial_op_imut/script.tremor: -------------------------------------------------------------------------------- 1 | (for event of 2 | case (k, v) => v + 1 3 | into [1] use + end) 4 | -------------------------------------------------------------------------------- /tests/scripts/fold_bool/in: -------------------------------------------------------------------------------- 1 | [true, true, true] 2 | [] 3 | [false] 4 | [true, false, "invalid"] -------------------------------------------------------------------------------- /tests/scripts/fold_bool/out: -------------------------------------------------------------------------------- 1 | true 2 | true 3 | false 4 | false -------------------------------------------------------------------------------- /tests/scripts/fold_bool/script.tremor: -------------------------------------------------------------------------------- 1 | for event of 2 | case (k, v) => v 3 | into true use and end 4 | -------------------------------------------------------------------------------- /tests/scripts/fold_bool_imut/in: -------------------------------------------------------------------------------- 1 | [true, true, true] 2 | [] 3 | [false] 4 | [true, false, "invalid"] -------------------------------------------------------------------------------- /tests/scripts/fold_bool_imut/out: -------------------------------------------------------------------------------- 1 | true 2 | true 3 | false 4 | false -------------------------------------------------------------------------------- /tests/scripts/fold_bool_imut/script.tremor: -------------------------------------------------------------------------------- 1 | (for event of 2 | case (k, v) => v 3 | into true use and end) -------------------------------------------------------------------------------- /tests/scripts/fold_bool_or/in: -------------------------------------------------------------------------------- 1 | [false, false, false] 2 | [] 3 | [true] 4 | [true, false, "invalid"] -------------------------------------------------------------------------------- /tests/scripts/fold_bool_or/out: -------------------------------------------------------------------------------- 1 | false 2 | false 3 | true 4 | true -------------------------------------------------------------------------------- /tests/scripts/fold_bool_or/script.tremor: -------------------------------------------------------------------------------- 1 | for event of 2 | case (k, v) => v 3 | into false use or end -------------------------------------------------------------------------------- /tests/scripts/fold_bool_or_imut/in: -------------------------------------------------------------------------------- 1 | [false, false, false] 2 | [] 3 | [true] 4 | [true, false, "invalid"] -------------------------------------------------------------------------------- /tests/scripts/fold_bool_or_imut/out: -------------------------------------------------------------------------------- 1 | false 2 | false 3 | true 4 | true -------------------------------------------------------------------------------- /tests/scripts/fold_bool_or_imut/script.tremor: -------------------------------------------------------------------------------- 1 | (for event of 2 | case (k, v) => v 3 | into false use or end) -------------------------------------------------------------------------------- /tests/scripts/fold_number/in: -------------------------------------------------------------------------------- 1 | [1,2,3,4] -------------------------------------------------------------------------------- /tests/scripts/fold_number/out: -------------------------------------------------------------------------------- 1 | 10 -------------------------------------------------------------------------------- /tests/scripts/fold_number/script.tremor: -------------------------------------------------------------------------------- 1 | for event of 2 | case (k, v) => v 3 | into 0 end; -------------------------------------------------------------------------------- /tests/scripts/fold_number_imut/in: -------------------------------------------------------------------------------- 1 | [1,2,3,4] -------------------------------------------------------------------------------- /tests/scripts/fold_number_imut/out: -------------------------------------------------------------------------------- 1 | 10 -------------------------------------------------------------------------------- /tests/scripts/fold_number_imut/script.tremor: -------------------------------------------------------------------------------- 1 | (for event of 2 | case (k, v) => v 3 | into 0 end) 4 | -------------------------------------------------------------------------------- /tests/scripts/fold_number_op/in: -------------------------------------------------------------------------------- 1 | [1,2,3,4] -------------------------------------------------------------------------------- /tests/scripts/fold_number_op/out: -------------------------------------------------------------------------------- 1 | 24 -------------------------------------------------------------------------------- /tests/scripts/fold_number_op/script.tremor: -------------------------------------------------------------------------------- 1 | for event of 2 | case (k, v) => v 3 | into 1 use * end; -------------------------------------------------------------------------------- /tests/scripts/fold_number_op_imut/in: -------------------------------------------------------------------------------- 1 | [1,2,3,4] -------------------------------------------------------------------------------- /tests/scripts/fold_number_op_imut/out: -------------------------------------------------------------------------------- 1 | 24 -------------------------------------------------------------------------------- /tests/scripts/fold_number_op_imut/script.tremor: -------------------------------------------------------------------------------- 1 | (for event of 2 | case (k, v) => v 3 | into 1 use * end) 4 | -------------------------------------------------------------------------------- /tests/scripts/fold_record/in: -------------------------------------------------------------------------------- 1 | [1,2,3,4] -------------------------------------------------------------------------------- /tests/scripts/fold_record/out: -------------------------------------------------------------------------------- 1 | {"0":2,"1":3,"2":4,"3":5} -------------------------------------------------------------------------------- /tests/scripts/fold_record/script.tremor: -------------------------------------------------------------------------------- 1 | for event of 2 | case (k, v) => {"#{k}": v + 1} 3 | into {} end; -------------------------------------------------------------------------------- /tests/scripts/fold_record_imut/in: -------------------------------------------------------------------------------- 1 | [1,2,3,4] -------------------------------------------------------------------------------- /tests/scripts/fold_record_imut/out: -------------------------------------------------------------------------------- 1 | {"0":2,"1":3,"2":4,"3":5} -------------------------------------------------------------------------------- /tests/scripts/fold_record_imut/script.tremor: -------------------------------------------------------------------------------- 1 | (for event of 2 | case (k, v) => {"#{k}": v + 1} 3 | into {} end) 4 | -------------------------------------------------------------------------------- /tests/scripts/for_comprehension_filter/in: -------------------------------------------------------------------------------- 1 | [] 2 | ["3", "snot"] 3 | ["99"] 4 | -------------------------------------------------------------------------------- /tests/scripts/for_comprehension_filter/out: -------------------------------------------------------------------------------- 1 | [] 2 | ["snot"] 3 | [] 4 | -------------------------------------------------------------------------------- /tests/scripts/glob/in: -------------------------------------------------------------------------------- 1 | { "test" : "INFO stuff" } 2 | -------------------------------------------------------------------------------- /tests/scripts/glob/out: -------------------------------------------------------------------------------- 1 | { "test" : true } 2 | -------------------------------------------------------------------------------- /tests/scripts/glob/script.tremor: -------------------------------------------------------------------------------- 1 | match event of 2 | case foo = %{ test ~= glob|INFO*| } => foo 3 | case _ => "ko" 4 | end; 5 | -------------------------------------------------------------------------------- /tests/scripts/grok/in: -------------------------------------------------------------------------------- 1 | { "meta": "55.3.244.1 GET /index.html 15824 0.043" } 2 | -------------------------------------------------------------------------------- /tests/scripts/heredoc/in: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /tests/scripts/heredoc/out: -------------------------------------------------------------------------------- 1 | "this is \na heredoc\n wigth indentation!" 2 | -------------------------------------------------------------------------------- /tests/scripts/heredoc/script.tremor: -------------------------------------------------------------------------------- 1 | """ 2 | this is 3 | a heredoc 4 | wigth indentation!""" 5 | -------------------------------------------------------------------------------- /tests/scripts/heredoc_interpolation/in: -------------------------------------------------------------------------------- 1 | {"class": "snot", "answer": 42} 2 | -------------------------------------------------------------------------------- /tests/scripts/heredoc_interpolation/out: -------------------------------------------------------------------------------- 1 | "snot 42 #{not}\n" 2 | -------------------------------------------------------------------------------- /tests/scripts/heredoc_interpolation/script.tremor: -------------------------------------------------------------------------------- 1 | """ 2 | #{event.class} #{event.answer} \#{not} 3 | """ -------------------------------------------------------------------------------- /tests/scripts/heredoc_interpolation_quotes/in: -------------------------------------------------------------------------------- 1 | 0 2 | 1 3 | 2 4 | 3 5 | 4 6 | 5 7 | 6 8 | 7 9 | 8 10 | 9 11 | -------------------------------------------------------------------------------- /tests/scripts/heredoc_interpolation_quotes/script.tremor: -------------------------------------------------------------------------------- 1 | """ 2 | "#{event}" => #{"tremolo"} 3 | """ 4 | -------------------------------------------------------------------------------- /tests/scripts/heredoc_quoted_curly/in: -------------------------------------------------------------------------------- 1 | 0 2 | 1 3 | 2 4 | 3 5 | 4 6 | 5 7 | 6 8 | 7 9 | 8 10 | 9 11 | -------------------------------------------------------------------------------- /tests/scripts/heredoc_quoted_curly/script.tremor: -------------------------------------------------------------------------------- 1 | """ 2 | \#{event} = \#{event} = #{event} 3 | """ 4 | -------------------------------------------------------------------------------- /tests/scripts/heredoc_regression/in: -------------------------------------------------------------------------------- 1 | "snot" 2 | -------------------------------------------------------------------------------- /tests/scripts/heredoc_regression/out: -------------------------------------------------------------------------------- 1 | "Hello, snot! Your name is:\n snot\n" 2 | -------------------------------------------------------------------------------- /tests/scripts/heredoc_usefn_interpolation/in: -------------------------------------------------------------------------------- 1 | {"class": "snot", "answer": 42} 2 | -------------------------------------------------------------------------------- /tests/scripts/heredoc_usefn_interpolation/out: -------------------------------------------------------------------------------- 1 | " snot 42 foo \n " 2 | -------------------------------------------------------------------------------- /tests/scripts/influx/in: -------------------------------------------------------------------------------- 1 | { "meta" : "wea\\ ther,location=us-midwest temperature=82.0 1465839830100400200" } 2 | -------------------------------------------------------------------------------- /tests/scripts/json/in: -------------------------------------------------------------------------------- 1 | { "test" : "{ \"foo\": \"8J+MiiBzbm90IGJhZGdlcg==\", \"footle\": \"bar\"}" } 2 | -------------------------------------------------------------------------------- /tests/scripts/json/out: -------------------------------------------------------------------------------- 1 | { "foo": "8J+MiiBzbm90IGJhZGdlcg==", "footle": "bar" } 2 | -------------------------------------------------------------------------------- /tests/scripts/json/script.tremor: -------------------------------------------------------------------------------- 1 | emit match event of 2 | case foo = %{test ~= json|| } => foo["test"] 3 | case _ => "ko" 4 | end; -------------------------------------------------------------------------------- /tests/scripts/jump/in: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /tests/scripts/kv/in: -------------------------------------------------------------------------------- 1 | { "test" : "foo:bar snot:badger" } 2 | -------------------------------------------------------------------------------- /tests/scripts/kv/out: -------------------------------------------------------------------------------- 1 | {"foo":"bar", "snot":"badger"} 2 | -------------------------------------------------------------------------------- /tests/scripts/kv/script.tremor: -------------------------------------------------------------------------------- 1 | match event of 2 | case foo = %{ test ~= kv|| } => foo.test 3 | case _ => "ko" 4 | end 5 | -------------------------------------------------------------------------------- /tests/scripts/let_field/in: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /tests/scripts/let_field/out: -------------------------------------------------------------------------------- 1 | {"key":"value"} 2 | -------------------------------------------------------------------------------- /tests/scripts/let_field/script.tremor: -------------------------------------------------------------------------------- 1 | let key = "key"; 2 | 3 | let event[key] = "value"; 4 | emit event 5 | -------------------------------------------------------------------------------- /tests/scripts/logical/in: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /tests/scripts/match_multiple_exprs/in: -------------------------------------------------------------------------------- 1 | {} 2 | {"snot": "badger"} 3 | {"snot": "moo"} 4 | {"something": "completely different"} 5 | -------------------------------------------------------------------------------- /tests/scripts/merge/in: -------------------------------------------------------------------------------- 1 | {"aa": 1, "bb": 2} 2 | -------------------------------------------------------------------------------- /tests/scripts/merge/out: -------------------------------------------------------------------------------- 1 | {"aa":null, "bb": 3, "cc": 2} 2 | -------------------------------------------------------------------------------- /tests/scripts/merge/script.tremor: -------------------------------------------------------------------------------- 1 | merge event of 2 | { "cc": 2, "bb": 3, "aa": null } 3 | end 4 | -------------------------------------------------------------------------------- /tests/scripts/merge_assign_target_state/in: -------------------------------------------------------------------------------- 1 | {"foo": "bar"} 2 | {"snot": "badger", "foo": "grmpf"} -------------------------------------------------------------------------------- /tests/scripts/merge_assign_target_state/out: -------------------------------------------------------------------------------- 1 | {"foo":"bar"} 2 | {"foo":"grmpf","snot":"badger"} -------------------------------------------------------------------------------- /tests/scripts/mod_access_const/in: -------------------------------------------------------------------------------- 1 | 0 2 | 1 3 | 2 4 | 3 5 | 4 6 | 5 7 | 6 8 | 7 9 | 8 10 | 9 11 | -------------------------------------------------------------------------------- /tests/scripts/mod_access_const/out: -------------------------------------------------------------------------------- 1 | 42 2 | 43 3 | 44 4 | 45 5 | 46 6 | 47 7 | 48 8 | 49 9 | 50 10 | 51 11 | -------------------------------------------------------------------------------- /tests/scripts/mod_nest2_const/beep.tremor: -------------------------------------------------------------------------------- 1 | const SNOT = "snot"; 2 | const BADGER = ("badger " + SNOT); 3 | -------------------------------------------------------------------------------- /tests/scripts/mod_nest2_const/in: -------------------------------------------------------------------------------- 1 | 0 2 | 1 3 | 2 4 | 3 5 | 4 6 | 5 7 | 6 8 | 7 9 | 8 10 | 9 11 | -------------------------------------------------------------------------------- /tests/scripts/mod_nest2_const/out: -------------------------------------------------------------------------------- 1 | 0 2 | 1 3 | 1 4 | 2 5 | 3 6 | 5 7 | 8 8 | 13 9 | 21 10 | 34 11 | -------------------------------------------------------------------------------- /tests/scripts/module/in: -------------------------------------------------------------------------------- 1 | 0 2 | 1 3 | 2 4 | 3 5 | 4 6 | 5 7 | 6 8 | 7 9 | 8 10 | 9 11 | -------------------------------------------------------------------------------- /tests/scripts/multi_case/in: -------------------------------------------------------------------------------- 1 | true 2 | -------------------------------------------------------------------------------- /tests/scripts/multi_case/out: -------------------------------------------------------------------------------- 1 | 2 2 | -------------------------------------------------------------------------------- /tests/scripts/multi_case/script.tremor: -------------------------------------------------------------------------------- 1 | match event of 2 | case true => let a = 1 3 | ; let b = 2 4 | end 5 | -------------------------------------------------------------------------------- /tests/scripts/multi_use/in: -------------------------------------------------------------------------------- 1 | 0 2 | 1 3 | 2 4 | 3 5 | 4 6 | 5 7 | 6 8 | 7 9 | 8 10 | 9 11 | -------------------------------------------------------------------------------- /tests/scripts/multi_use/out: -------------------------------------------------------------------------------- 1 | 0 2 | 1 3 | 2 4 | 3 5 | 4 6 | 5 7 | 6 8 | 7 9 | 8 10 | 9 11 | -------------------------------------------------------------------------------- /tests/scripts/multi_use/script.tremor: -------------------------------------------------------------------------------- 1 | use std::{string as s, integer}; 2 | 3 | integer::parse(s::format("{}", event)); 4 | -------------------------------------------------------------------------------- /tests/scripts/multiline/in: -------------------------------------------------------------------------------- 1 | {"a": "a multi line regular expression"} 2 | -------------------------------------------------------------------------------- /tests/scripts/multiline/out: -------------------------------------------------------------------------------- 1 | "ok" 2 | -------------------------------------------------------------------------------- /tests/scripts/nested_patterns/in: -------------------------------------------------------------------------------- 1 | {"arr": [1, "test", {"snot": "badger"}, {"snot": "badger", "rec": "awesome"}, {"rec":"here"}]} 2 | -------------------------------------------------------------------------------- /tests/scripts/nested_patterns/out: -------------------------------------------------------------------------------- 1 | [[3,{"rec":"awesome"}],[4,{"rec":"here"}]] 2 | -------------------------------------------------------------------------------- /tests/scripts/nested_use_with_path/in: -------------------------------------------------------------------------------- 1 | 0 2 | 1 3 | 2 4 | 3 5 | 4 6 | 5 7 | 6 8 | 7 9 | 8 10 | 9 11 | -------------------------------------------------------------------------------- /tests/scripts/nested_use_with_path/out: -------------------------------------------------------------------------------- 1 | 0 2 | 1 3 | 2 4 | 3 5 | 4 6 | 5 7 | 6 8 | 7 9 | 8 10 | 9 11 | -------------------------------------------------------------------------------- /tests/scripts/null/in: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /tests/scripts/null/out: -------------------------------------------------------------------------------- 1 | {"eq": true, "neq": false} 2 | -------------------------------------------------------------------------------- /tests/scripts/null_match/in: -------------------------------------------------------------------------------- 1 | null 2 | -------------------------------------------------------------------------------- /tests/scripts/null_match/out: -------------------------------------------------------------------------------- 1 | "is null" 2 | -------------------------------------------------------------------------------- /tests/scripts/null_match/script.tremor: -------------------------------------------------------------------------------- 1 | match event of 2 | case null => "is null" 3 | case _ => "is set" 4 | end 5 | -------------------------------------------------------------------------------- /tests/scripts/only_const/in: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /tests/scripts/only_const/out: -------------------------------------------------------------------------------- 1 | "that" 2 | -------------------------------------------------------------------------------- /tests/scripts/only_const/script.tremor: -------------------------------------------------------------------------------- 1 | const THIS = "that" 2 | -------------------------------------------------------------------------------- /tests/scripts/origin/in: -------------------------------------------------------------------------------- 1 | 0 2 | -------------------------------------------------------------------------------- /tests/scripts/pass_args/in: -------------------------------------------------------------------------------- 1 | 0 2 | 1 3 | 2 4 | 3 5 | 4 6 | 5 7 | 6 8 | 7 9 | 8 10 | 9 11 | -------------------------------------------------------------------------------- /tests/scripts/pass_args/out: -------------------------------------------------------------------------------- 1 | [0] 2 | [1] 3 | [2] 4 | [3] 5 | [4] 6 | [5] 7 | [6] 8 | [7] 9 | [8] 10 | [9] 11 | -------------------------------------------------------------------------------- /tests/scripts/passthrough/script.tremor: -------------------------------------------------------------------------------- 1 | emit 2 | -------------------------------------------------------------------------------- /tests/scripts/patch/in: -------------------------------------------------------------------------------- 1 | { "aa": 1, "bb": 2, "ee": "florp", "flork": { "snot": "badger"} } 2 | -------------------------------------------------------------------------------- /tests/scripts/patch_assign_target/in: -------------------------------------------------------------------------------- 1 | 0 2 | -------------------------------------------------------------------------------- /tests/scripts/patch_assign_target/out: -------------------------------------------------------------------------------- 1 | {"a":{},"b":{},"c":{}} 2 | -------------------------------------------------------------------------------- /tests/scripts/patch_default/in: -------------------------------------------------------------------------------- 1 | {"snot": {"badger": 42}} 2 | {"snot": {"otter": 42}} 3 | {"null": null} -------------------------------------------------------------------------------- /tests/scripts/patch_default/script.tremor: -------------------------------------------------------------------------------- 1 | patch event of 2 | default => {"snot": {"badger": "goose"}} 3 | end 4 | -------------------------------------------------------------------------------- /tests/scripts/patch_default_key/in: -------------------------------------------------------------------------------- 1 | { "snot": "badger" } 2 | { } -------------------------------------------------------------------------------- /tests/scripts/patch_default_key/out: -------------------------------------------------------------------------------- 1 | {"snot":"badger"} 2 | {"snot":"otter"} 3 | -------------------------------------------------------------------------------- /tests/scripts/patch_default_key/script.tremor: -------------------------------------------------------------------------------- 1 | patch event of 2 | default "snot" => "otter" 3 | end 4 | -------------------------------------------------------------------------------- /tests/scripts/path_defaulting/out: -------------------------------------------------------------------------------- 1 | "badger" 2 | { "snot": "badger", "arr": [{"beep": "boop"}, 1234]} 3 | "good" 4 | "boop" 5 | -------------------------------------------------------------------------------- /tests/scripts/pattern_cmp/in: -------------------------------------------------------------------------------- 1 | 0 2 | 1 3 | 2 4 | 3 5 | 4 6 | 5 7 | 6 8 | 7 9 | 8 10 | 9 11 | -------------------------------------------------------------------------------- /tests/scripts/pattern_cmp/out: -------------------------------------------------------------------------------- 1 | "0" 2 | "1" 3 | 2 4 | 3 5 | 4 6 | 5 7 | 6 8 | 7 9 | "8" 10 | "9" 11 | -------------------------------------------------------------------------------- /tests/scripts/pp_alias0/foo0.tremor: -------------------------------------------------------------------------------- 1 | const SNOT = "badger"; 2 | -------------------------------------------------------------------------------- /tests/scripts/pp_alias0/in: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /tests/scripts/pp_alias0/out: -------------------------------------------------------------------------------- 1 | "snot badger" 2 | -------------------------------------------------------------------------------- /tests/scripts/pp_alias1/foo1/bar.tremor: -------------------------------------------------------------------------------- 1 | const SNOT = "badger"; 2 | -------------------------------------------------------------------------------- /tests/scripts/pp_alias1/in: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /tests/scripts/pp_alias1/out: -------------------------------------------------------------------------------- 1 | "snot badger" 2 | -------------------------------------------------------------------------------- /tests/scripts/pp_alias2/foo2/bar/baz.tremor: -------------------------------------------------------------------------------- 1 | const SNOT = "badger"; 2 | -------------------------------------------------------------------------------- /tests/scripts/pp_alias2/in: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /tests/scripts/pp_alias2/out: -------------------------------------------------------------------------------- 1 | "snot badger" 2 | -------------------------------------------------------------------------------- /tests/scripts/pp_alias3/foo3/bar/baz/mork.tremor: -------------------------------------------------------------------------------- 1 | const SNOT = "badger"; 2 | -------------------------------------------------------------------------------- /tests/scripts/pp_alias3/in: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /tests/scripts/pp_alias3/out: -------------------------------------------------------------------------------- 1 | "snot badger" 2 | -------------------------------------------------------------------------------- /tests/scripts/pp_fn_fib/in: -------------------------------------------------------------------------------- 1 | 0 2 | 1 3 | 2 4 | 3 5 | 4 6 | 5 7 | 6 8 | 7 9 | 8 10 | 9 11 | -------------------------------------------------------------------------------- /tests/scripts/pp_fn_fib/out: -------------------------------------------------------------------------------- 1 | 0 2 | 1 3 | 1 4 | 2 5 | 3 6 | 5 7 | 8 8 | 13 9 | 21 10 | 34 11 | -------------------------------------------------------------------------------- /tests/scripts/pp_fn_fib/script.tremor: -------------------------------------------------------------------------------- 1 | use fib as lies; 2 | 3 | lies::fib(event); 4 | -------------------------------------------------------------------------------- /tests/scripts/pp_inline_nest1/foo/bar.tremor: -------------------------------------------------------------------------------- 1 | const SNOT = "badger"; 2 | -------------------------------------------------------------------------------- /tests/scripts/pp_inline_nest1/in: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /tests/scripts/pp_inline_nest1/out: -------------------------------------------------------------------------------- 1 | "snot badger" 2 | -------------------------------------------------------------------------------- /tests/scripts/pp_nest0/foo4.tremor: -------------------------------------------------------------------------------- 1 | ### A foo module 2 | 3 | ## the badger constant 4 | const SNOT = "badger"; 5 | -------------------------------------------------------------------------------- /tests/scripts/pp_nest0/in: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /tests/scripts/pp_nest0/out: -------------------------------------------------------------------------------- 1 | "snot badger" 2 | -------------------------------------------------------------------------------- /tests/scripts/pp_nest1/foo5/bar.tremor: -------------------------------------------------------------------------------- 1 | const SNOT = "badger"; 2 | -------------------------------------------------------------------------------- /tests/scripts/pp_nest1/in: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /tests/scripts/pp_nest1/out: -------------------------------------------------------------------------------- 1 | "snot badger" 2 | -------------------------------------------------------------------------------- /tests/scripts/pp_nest2/foo6/bar/baz.tremor: -------------------------------------------------------------------------------- 1 | const SNOT = "badger"; 2 | -------------------------------------------------------------------------------- /tests/scripts/pp_nest2/in: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /tests/scripts/pp_nest2/out: -------------------------------------------------------------------------------- 1 | "snot badger" 2 | -------------------------------------------------------------------------------- /tests/scripts/pp_nest3/foo7/bar/baz/mork.tremor: -------------------------------------------------------------------------------- 1 | const SNOT = "badger"; 2 | -------------------------------------------------------------------------------- /tests/scripts/pp_nest3/in: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /tests/scripts/pp_nest3/out: -------------------------------------------------------------------------------- 1 | "snot badger" 2 | -------------------------------------------------------------------------------- /tests/scripts/pp_nest4/foo8/bar.tremor: -------------------------------------------------------------------------------- 1 | const SNOT = "badger"; 2 | -------------------------------------------------------------------------------- /tests/scripts/pp_nest4/in: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /tests/scripts/pp_nest4/out: -------------------------------------------------------------------------------- 1 | "snot badger" 2 | -------------------------------------------------------------------------------- /tests/scripts/presence/in: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /tests/scripts/range/in: -------------------------------------------------------------------------------- 1 | 0 2 | -------------------------------------------------------------------------------- /tests/scripts/range/out: -------------------------------------------------------------------------------- 1 | {"int":[-1,0,1,2],"uint":[1,2]} 2 | -------------------------------------------------------------------------------- /tests/scripts/record/in: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /tests/scripts/record/out: -------------------------------------------------------------------------------- 1 | {"const": "record"} 2 | -------------------------------------------------------------------------------- /tests/scripts/record/script.tremor: -------------------------------------------------------------------------------- 1 | {"const": "record"} 2 | -------------------------------------------------------------------------------- /tests/scripts/record_add/in: -------------------------------------------------------------------------------- 1 | {} 2 | {"snot": "cake"} 3 | {"badger": "snot"} 4 | {"snot": "cake", "badger": "snot"} -------------------------------------------------------------------------------- /tests/scripts/record_add/script.tremor: -------------------------------------------------------------------------------- 1 | event + {"snot": "badger"} 2 | -------------------------------------------------------------------------------- /tests/scripts/record_comprehension/in: -------------------------------------------------------------------------------- 1 | { "0": "zip", "1": "one", "2": "two" } 2 | -------------------------------------------------------------------------------- /tests/scripts/record_comprehension/out: -------------------------------------------------------------------------------- 1 | [ [ "0", "zip", "other" ], [ "1", "one", "other" ], [ "2", "two", "other" ] ] 2 | -------------------------------------------------------------------------------- /tests/scripts/record_comprehension_imut/in: -------------------------------------------------------------------------------- 1 | { "0": "zip", "1": "one", "2": "two" } 2 | -------------------------------------------------------------------------------- /tests/scripts/record_comprehension_imut/out: -------------------------------------------------------------------------------- 1 | [ [ "0", "zip", "other" ], [ "1", "one", "other" ], [ "2", "two", "other" ] ] 2 | -------------------------------------------------------------------------------- /tests/scripts/recordpattern/in: -------------------------------------------------------------------------------- 1 | {"key": 7} 2 | {"key": 42} 3 | {"key": [42]} 4 | {"key": [7]} 5 | {"key": {"key2": 42}} -------------------------------------------------------------------------------- /tests/scripts/recordpattern/out: -------------------------------------------------------------------------------- 1 | 1 2 | 2 3 | 3 4 | "default" 5 | 4 -------------------------------------------------------------------------------- /tests/scripts/regex/in: -------------------------------------------------------------------------------- 1 | { "test": "http://example.com/", "footle": "bar" } 2 | -------------------------------------------------------------------------------- /tests/scripts/regex/out: -------------------------------------------------------------------------------- 1 | {"test": {}} 2 | -------------------------------------------------------------------------------- /tests/scripts/role_map/in: -------------------------------------------------------------------------------- 1 | "🔧" 2 | "🏫" 3 | "snot" 4 | -------------------------------------------------------------------------------- /tests/scripts/role_map/out: -------------------------------------------------------------------------------- 1 | 808995606240165938 2 | 808995543497703444 3 | false 4 | -------------------------------------------------------------------------------- /tests/scripts/simple_match/in: -------------------------------------------------------------------------------- 1 | { "meta": "badger", "event": "snot" } 2 | -------------------------------------------------------------------------------- /tests/scripts/simple_match/out: -------------------------------------------------------------------------------- 1 | {"snot": "ger"} 2 | -------------------------------------------------------------------------------- /tests/scripts/size_functions/in: -------------------------------------------------------------------------------- 1 | 1 2 | 1.5 3 | 7 -------------------------------------------------------------------------------- /tests/scripts/state_null/in: -------------------------------------------------------------------------------- 1 | { "test" : "foo:bar snot:badger" } 2 | -------------------------------------------------------------------------------- /tests/scripts/state_null/out: -------------------------------------------------------------------------------- 1 | null 2 | -------------------------------------------------------------------------------- /tests/scripts/state_null/script.tremor: -------------------------------------------------------------------------------- 1 | emit state; 2 | -------------------------------------------------------------------------------- /tests/scripts/string_concat/in: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /tests/scripts/string_concat/out: -------------------------------------------------------------------------------- 1 | "snot badger" 2 | -------------------------------------------------------------------------------- /tests/scripts/string_concat/script.tremor: -------------------------------------------------------------------------------- 1 | "snot" + " badger" 2 | -------------------------------------------------------------------------------- /tests/scripts/string_interpolation/in: -------------------------------------------------------------------------------- 1 | {"class": "snot", "answer": 42} 2 | -------------------------------------------------------------------------------- /tests/scripts/string_interpolation_escaped/in: -------------------------------------------------------------------------------- 1 | 0 2 | -------------------------------------------------------------------------------- /tests/scripts/string_interpolation_escaped/out: -------------------------------------------------------------------------------- 1 | ["#{} this is a format string","#{} this is a format string"] 2 | -------------------------------------------------------------------------------- /tests/scripts/string_interpolation_escaped_hash/in: -------------------------------------------------------------------------------- 1 | 0 2 | -------------------------------------------------------------------------------- /tests/scripts/string_interpolation_escaped_hash/out: -------------------------------------------------------------------------------- 1 | ["#",">#","#<",">#<"] 2 | -------------------------------------------------------------------------------- /tests/scripts/string_interpolation_escaped_hash/script.tremor: -------------------------------------------------------------------------------- 1 | [ 2 | "\#", 3 | ">\#", 4 | "\#<", 5 | ">\#<", 6 | ] -------------------------------------------------------------------------------- /tests/scripts/string_interpolation_import/in: -------------------------------------------------------------------------------- 1 | 0 2 | 1 3 | 2 4 | 3 5 | 4 6 | 5 7 | 6 8 | 7 9 | 8 10 | 9 11 | -------------------------------------------------------------------------------- /tests/scripts/string_interpolation_import/script.tremor: -------------------------------------------------------------------------------- 1 | use std::random; 2 | "#{event} snot" -------------------------------------------------------------------------------- /tests/scripts/string_interpolation_nested/in: -------------------------------------------------------------------------------- 1 | 0 2 | -------------------------------------------------------------------------------- /tests/scripts/string_interpolation_nested/out: -------------------------------------------------------------------------------- 1 | "7" 2 | -------------------------------------------------------------------------------- /tests/scripts/string_interpolation_nested/script.tremor: -------------------------------------------------------------------------------- 1 | "#{"#{"#{7}"}"}" -------------------------------------------------------------------------------- /tests/scripts/string_interpolation_prefix/in: -------------------------------------------------------------------------------- 1 | 0 2 | 1 3 | 2 4 | 3 5 | 4 6 | 5 7 | 6 8 | 7 9 | 8 10 | 9 11 | -------------------------------------------------------------------------------- /tests/scripts/string_interpolation_prefix/script.tremor: -------------------------------------------------------------------------------- 1 | """ 2 | a "#{event}" 3 | """ -------------------------------------------------------------------------------- /tests/scripts/string_interpolation_quotes/in: -------------------------------------------------------------------------------- 1 | 0 2 | 1 3 | 2 4 | 3 5 | 4 6 | 5 7 | 6 8 | 7 9 | 8 10 | 9 11 | -------------------------------------------------------------------------------- /tests/scripts/string_interpolation_quotes/script.tremor: -------------------------------------------------------------------------------- 1 | fn bla(e) with 2 | " \"#{e}\" \"#{e}\" " 3 | end; 4 | bla(event) 5 | -------------------------------------------------------------------------------- /tests/scripts/string_interpolation_regexp/in: -------------------------------------------------------------------------------- 1 | "0" 2 | "12" 3 | "234" 4 | "5678" 5 | "99999" 6 | -------------------------------------------------------------------------------- /tests/scripts/string_interpolation_regexp/out: -------------------------------------------------------------------------------- 1 | "0" 2 | "12" 3 | "234" 4 | "####" 5 | "####9" 6 | -------------------------------------------------------------------------------- /tests/scripts/string_interpolation_regexp/script.tremor: -------------------------------------------------------------------------------- 1 | use std::re; 2 | re::replace_all("[0-9]{4}", event, "####") -------------------------------------------------------------------------------- /tests/scripts/string_interpolation_simple/in: -------------------------------------------------------------------------------- 1 | 0 2 | 1 3 | 2 4 | 3 5 | 4 6 | 5 7 | 6 8 | 7 9 | 8 10 | 9 11 | -------------------------------------------------------------------------------- /tests/scripts/string_interpolation_simple/script.tremor: -------------------------------------------------------------------------------- 1 | ">#{event}<" 2 | -------------------------------------------------------------------------------- /tests/scripts/string_interpolation_tailing/in: -------------------------------------------------------------------------------- 1 | 0 2 | -------------------------------------------------------------------------------- /tests/scripts/string_interpolation_tailing/out: -------------------------------------------------------------------------------- 1 | "{1}" 2 | -------------------------------------------------------------------------------- /tests/scripts/string_interpolation_tailing/script.tremor: -------------------------------------------------------------------------------- 1 | "{1}" -------------------------------------------------------------------------------- /tests/scripts/string_quoted_curly/in: -------------------------------------------------------------------------------- 1 | 0 2 | 1 3 | 2 4 | 3 5 | 4 6 | 5 7 | 6 8 | 7 9 | 8 10 | 9 11 | -------------------------------------------------------------------------------- /tests/scripts/string_quoted_curly/script.tremor: -------------------------------------------------------------------------------- 1 | " \#{event} = #{event}\n" 2 | -------------------------------------------------------------------------------- /tests/scripts/subslice/in: -------------------------------------------------------------------------------- 1 | [0, 1, 2] 2 | -------------------------------------------------------------------------------- /tests/scripts/subslice/out: -------------------------------------------------------------------------------- 1 | 2 2 | -------------------------------------------------------------------------------- /tests/scripts/subslice/script.tremor: -------------------------------------------------------------------------------- 1 | event[1:3][1] 2 | -------------------------------------------------------------------------------- /tests/scripts/subslice_repeated/in: -------------------------------------------------------------------------------- 1 | [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 2 | -------------------------------------------------------------------------------- /tests/scripts/subslice_repeated/out: -------------------------------------------------------------------------------- 1 | 9 2 | -------------------------------------------------------------------------------- /tests/scripts/subslice_repeated/script.tremor: -------------------------------------------------------------------------------- 1 | event[1:10][1:9][1:8][1:7][1:6][1:5][1:4][1:3][1:2][0] 2 | -------------------------------------------------------------------------------- /tests/scripts/tilde_extractor/script.tremor: -------------------------------------------------------------------------------- 1 | match event of 2 | case ~ json|| => "ok" 3 | case _ => "error" 4 | end 5 | -------------------------------------------------------------------------------- /tests/scripts/tuple_pattern/in: -------------------------------------------------------------------------------- 1 | "snot" 2 | "snot/badger" 3 | "api/v1/badger/snot" 4 | "" 5 | "badger/snot" 6 | -------------------------------------------------------------------------------- /tests/scripts/tuple_pattern/out: -------------------------------------------------------------------------------- 1 | 0 2 | 1 3 | 2 4 | 3 5 | 4 6 | -------------------------------------------------------------------------------- /tests/scripts/unary/in: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /tests/scripts/unary/out: -------------------------------------------------------------------------------- 1 | {"1":true,"2":7,"3":42.0,"4":42,"5":-42} 2 | -------------------------------------------------------------------------------- /tremor-api/.gitignore: -------------------------------------------------------------------------------- 1 | coyote.html 2 | -------------------------------------------------------------------------------- /tremor-cli/.depignore: -------------------------------------------------------------------------------- 1 | snmalloc-sys -------------------------------------------------------------------------------- /tremor-cli/.gitignore: -------------------------------------------------------------------------------- 1 | report.txt -------------------------------------------------------------------------------- /tremor-cli/src/_template/main.troy: -------------------------------------------------------------------------------- 1 | use lib::flows; 2 | deploy flow main from flows::main; -------------------------------------------------------------------------------- /tremor-cli/tests/.gitignore: -------------------------------------------------------------------------------- 1 | *.log 2 | *.pid 3 | -------------------------------------------------------------------------------- /tremor-cli/tests/api/.gitignore: -------------------------------------------------------------------------------- 1 | *.log -------------------------------------------------------------------------------- /tremor-cli/tests/api/after.yaml: -------------------------------------------------------------------------------- 1 | { 2 | "dir": ".", 3 | "cmd": "bash", 4 | "args": [ 5 | "./after/stop.sh" 6 | ] 7 | } -------------------------------------------------------------------------------- /tremor-cli/tests/api/data/bench-mapping.json: -------------------------------------------------------------------------------- 1 | { 2 | "instance": "01" 3 | } 4 | -------------------------------------------------------------------------------- /tremor-cli/tests/api/data/bench-mapping.yaml: -------------------------------------------------------------------------------- 1 | instance: "01" 2 | -------------------------------------------------------------------------------- /tremor-cli/tests/api/data/bench-pipeline.trickle: -------------------------------------------------------------------------------- 1 | #!config id = "main" 2 | select event from in into out; 3 | -------------------------------------------------------------------------------- /tremor-cli/tests/api/data/linked/mapping.yaml: -------------------------------------------------------------------------------- 1 | instance: '01' 2 | -------------------------------------------------------------------------------- /tremor-cli/tests/api/data/linked/passthrough-pipeline.trickle: -------------------------------------------------------------------------------- 1 | #!config id = "main" 2 | select event from in into out; 3 | -------------------------------------------------------------------------------- /tremor-cli/tests/api/data/metronome-mapping.yaml: -------------------------------------------------------------------------------- 1 | instance: '01' 2 | -------------------------------------------------------------------------------- /tremor-cli/tests/api/data/metronome-offramp.yaml: -------------------------------------------------------------------------------- 1 | id: stdout 2 | type: stdout 3 | -------------------------------------------------------------------------------- /tremor-cli/tests/api/data/metronome-pipeline.trickle: -------------------------------------------------------------------------------- 1 | #!config id = "main" 2 | select event from in into out; 3 | -------------------------------------------------------------------------------- /tremor-cli/tests/api/tags.yaml: -------------------------------------------------------------------------------- 1 | [ "api", "cli", "command" ] 2 | -------------------------------------------------------------------------------- /tremor-cli/tests/bench/.gitignore: -------------------------------------------------------------------------------- 1 | */*.log -------------------------------------------------------------------------------- /tremor-cli/tests/bench/arithmetics/tags.yaml: -------------------------------------------------------------------------------- 1 | [ 2 | "pipeline", 3 | "codec:binary" 4 | ] -------------------------------------------------------------------------------- /tremor-cli/tests/bench/for-array/tags.yaml: -------------------------------------------------------------------------------- 1 | [ 2 | "throughput", 3 | "codec:json", 4 | "focus:for" 5 | ] -------------------------------------------------------------------------------- /tremor-cli/tests/bench/for-record-fn/tags.yaml: -------------------------------------------------------------------------------- 1 | [ 2 | "throughput", 3 | "codec:json", 4 | "focus:for" 5 | ] -------------------------------------------------------------------------------- /tremor-cli/tests/bench/for-record/tags.yaml: -------------------------------------------------------------------------------- 1 | [ 2 | "throughput", 3 | "codec:json", 4 | "focus:for" 5 | ] -------------------------------------------------------------------------------- /tremor-cli/tests/bench/for-sum/tags.yaml: -------------------------------------------------------------------------------- 1 | [ 2 | "throughput", 3 | "codec:json", 4 | "focus:for" 5 | ] -------------------------------------------------------------------------------- /tremor-cli/tests/bench/passthrough-binflux/tags.yaml: -------------------------------------------------------------------------------- 1 | [ 2 | "passthrough", 3 | "codec:binflux", 4 | ] -------------------------------------------------------------------------------- /tremor-cli/tests/bench/passthrough-dogstatsd/tags.yaml: -------------------------------------------------------------------------------- 1 | [ 2 | "passthrough", 3 | "codec:dogstatsd" 4 | ] -------------------------------------------------------------------------------- /tremor-cli/tests/bench/passthrough-influx/tags.yaml: -------------------------------------------------------------------------------- 1 | [ 2 | "passthrough", 3 | "codec:influx" 4 | ] -------------------------------------------------------------------------------- /tremor-cli/tests/bench/passthrough-json/tags.yaml: -------------------------------------------------------------------------------- 1 | [ 2 | "passthrough", 3 | "codec:json", 4 | ] -------------------------------------------------------------------------------- /tremor-cli/tests/bench/passthrough-msgpack/tags.yaml: -------------------------------------------------------------------------------- 1 | [ 2 | "passthrough", 3 | "codec:msgpack", 4 | ] -------------------------------------------------------------------------------- /tremor-cli/tests/bench/passthrough-statsd/tags.yaml: -------------------------------------------------------------------------------- 1 | [ 2 | "passthrough", 3 | "codec:statsd" 4 | ] -------------------------------------------------------------------------------- /tremor-cli/tests/bench/passthrough-tremor/tags.yaml: -------------------------------------------------------------------------------- 1 | [ 2 | "passthrough", 3 | "codec:tremor", 4 | ] -------------------------------------------------------------------------------- /tremor-cli/tests/bench/passthrough-two-inputs/tags.yaml: -------------------------------------------------------------------------------- 1 | [ 2 | "passthrough", 3 | "2i", 4 | "codec:json" 5 | ] -------------------------------------------------------------------------------- /tremor-cli/tests/bench/passthrough/tags.yaml: -------------------------------------------------------------------------------- 1 | [ 2 | "pipeline", 3 | "codec:binary" 4 | ] -------------------------------------------------------------------------------- /tremor-cli/tests/bench/tags.yaml: -------------------------------------------------------------------------------- 1 | [ 2 | "bench" 3 | ] 4 | -------------------------------------------------------------------------------- /tremor-cli/tests/bench/throughput-logging-json/tags.yaml: -------------------------------------------------------------------------------- 1 | [ 2 | "throughput", 3 | "logging", 4 | "codec:json", 5 | ] -------------------------------------------------------------------------------- /tremor-cli/tests/bench/throughput-logging-msgpack/tags.yaml: -------------------------------------------------------------------------------- 1 | [ 2 | "throughput", 3 | "logging", 4 | "codec:msgpack", 5 | ] -------------------------------------------------------------------------------- /tremor-cli/tests/bench/throughput-logging-tcp-json/tags.yaml: -------------------------------------------------------------------------------- 1 | [ 2 | "throughput", 3 | "codec:json", 4 | "tcp" 5 | ] -------------------------------------------------------------------------------- /tremor-cli/tests/bench/throughput-tcp-json/tags.yaml: -------------------------------------------------------------------------------- 1 | [ 2 | "throughput", 3 | "codec:json", 4 | "tcp" 5 | ] -------------------------------------------------------------------------------- /tremor-cli/tests/cli/.gitignore: -------------------------------------------------------------------------------- 1 | *.log 2 | test -------------------------------------------------------------------------------- /tremor-cli/tests/cli/data/input.json: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /tremor-cli/tests/cli/data/query_with_error.trickle: -------------------------------------------------------------------------------- 1 | select event.foo from in into out; -------------------------------------------------------------------------------- /tremor-cli/tests/cli/tags.yaml: -------------------------------------------------------------------------------- 1 | [ "cli", "non-api", "command" ] 2 | -------------------------------------------------------------------------------- /tremor-cli/tests/fixtures/resolve_tags/a/b/c/d/e/f/tags.yaml: -------------------------------------------------------------------------------- 1 | ["f"] 2 | -------------------------------------------------------------------------------- /tremor-cli/tests/fixtures/resolve_tags/a/b/c/d/e/tags.yaml: -------------------------------------------------------------------------------- 1 | ["e"] 2 | -------------------------------------------------------------------------------- /tremor-cli/tests/fixtures/resolve_tags/a/b/c/d/tags.yaml: -------------------------------------------------------------------------------- 1 | ["d"] 2 | -------------------------------------------------------------------------------- /tremor-cli/tests/fixtures/resolve_tags/a/b/c/tags.yaml: -------------------------------------------------------------------------------- 1 | - c 2 | -------------------------------------------------------------------------------- /tremor-cli/tests/fixtures/resolve_tags/a/b/c/x/tags.yaml: -------------------------------------------------------------------------------- 1 | ["x"] 2 | -------------------------------------------------------------------------------- /tremor-cli/tests/fixtures/resolve_tags/a/b/c/y/g/tags.yaml: -------------------------------------------------------------------------------- 1 | ["g"] 2 | -------------------------------------------------------------------------------- /tremor-cli/tests/fixtures/resolve_tags/a/b/c/y/tags.yaml: -------------------------------------------------------------------------------- 1 | ["y"] 2 | -------------------------------------------------------------------------------- /tremor-cli/tests/fixtures/resolve_tags/a/b/tags.yaml: -------------------------------------------------------------------------------- 1 | - b 2 | -------------------------------------------------------------------------------- /tremor-cli/tests/fixtures/resolve_tags/a/tags.yaml: -------------------------------------------------------------------------------- 1 | - a 2 | -------------------------------------------------------------------------------- /tremor-cli/tests/integration/.gitignore: -------------------------------------------------------------------------------- 1 | */*.log -------------------------------------------------------------------------------- /tremor-cli/tests/integration/bad-rule-syntax/tags.yaml: -------------------------------------------------------------------------------- 1 | [ 2 | "bad", 3 | "syntax" 4 | ] 5 | -------------------------------------------------------------------------------- /tremor-cli/tests/integration/blaster/tags.yaml: -------------------------------------------------------------------------------- 1 | ["blaster"] -------------------------------------------------------------------------------- /tremor-cli/tests/integration/cb-drop-dead-ends/tags.yaml: -------------------------------------------------------------------------------- 1 | ["gd", "cb", "drop", "dead-ends"] -------------------------------------------------------------------------------- /tremor-cli/tests/integration/cb-pipeline-to-pipeline/in.json: -------------------------------------------------------------------------------- 1 | {"cb":"fail"} 2 | {"cb":"ack"} 3 | {"cb":"fail"} 4 | {"cb":"ack"} 5 | -------------------------------------------------------------------------------- /tremor-cli/tests/integration/cb-pipeline-to-pipeline/tags.yaml: -------------------------------------------------------------------------------- 1 | ["gd", "cb", "multiple-pipelines"] -------------------------------------------------------------------------------- /tremor-cli/tests/integration/cb-with-auto-ack-sink/tags.yaml: -------------------------------------------------------------------------------- 1 | ["cb", "gd", "auto-ack"] -------------------------------------------------------------------------------- /tremor-cli/tests/integration/clickhouse/tags.yaml: -------------------------------------------------------------------------------- 1 | - "clickhouse" 2 | - "connector" 3 | - "docker" -------------------------------------------------------------------------------- /tremor-cli/tests/integration/crononome/expected_out.json: -------------------------------------------------------------------------------- 1 | {"name":"test","payload":{"snot":"badger"}} 2 | -------------------------------------------------------------------------------- /tremor-cli/tests/integration/crononome/tags.yaml: -------------------------------------------------------------------------------- 1 | ["crononome", "connector"] 2 | -------------------------------------------------------------------------------- /tremor-cli/tests/integration/dns/expected_out.json: -------------------------------------------------------------------------------- 1 | "127.0.0.1" 2 | -------------------------------------------------------------------------------- /tremor-cli/tests/integration/dns/in.json: -------------------------------------------------------------------------------- 1 | "localhost" -------------------------------------------------------------------------------- /tremor-cli/tests/integration/dns/tags.yaml: -------------------------------------------------------------------------------- 1 | - "dns" 2 | - "connector" -------------------------------------------------------------------------------- /tremor-cli/tests/integration/elastic-empty/tags.yaml: -------------------------------------------------------------------------------- 1 | ["elastic", "connector", "docker", "empty"] -------------------------------------------------------------------------------- /tremor-cli/tests/integration/elastic-sink-only/tags.yaml: -------------------------------------------------------------------------------- 1 | ["elastic", "sink", "source", "docker"] -------------------------------------------------------------------------------- /tremor-cli/tests/integration/elastic-verify-gd/tags.yaml: -------------------------------------------------------------------------------- 1 | ["elastic", "connector", "cb", "gd", "docker"] -------------------------------------------------------------------------------- /tremor-cli/tests/integration/elastic/tags.yaml: -------------------------------------------------------------------------------- 1 | ["elastic", "connector", "docker"] -------------------------------------------------------------------------------- /tremor-cli/tests/integration/empty-line/tags.yaml: -------------------------------------------------------------------------------- 1 | [ 2 | "empty", 3 | "line" 4 | ] 5 | -------------------------------------------------------------------------------- /tremor-cli/tests/integration/file-connector-append/before/prepare_input_file.sh: -------------------------------------------------------------------------------- 1 | rm ../out.log 2 | echo '{"first":true}' > ../out.log -------------------------------------------------------------------------------- /tremor-cli/tests/integration/file-connector-append/tags.yaml: -------------------------------------------------------------------------------- 1 | ["connector", "file", "append"] -------------------------------------------------------------------------------- /tremor-cli/tests/integration/file-connector-overwrite/tags.yaml: -------------------------------------------------------------------------------- 1 | ["connector", "file", "overwrite"] -------------------------------------------------------------------------------- /tremor-cli/tests/integration/file-connector-streaming-compress/tags.yaml: -------------------------------------------------------------------------------- 1 | ["connector:file","postprocessor:streaming-compress"] -------------------------------------------------------------------------------- /tremor-cli/tests/integration/file-connector/tags.yaml: -------------------------------------------------------------------------------- 1 | ["connector", "file"] -------------------------------------------------------------------------------- /tremor-cli/tests/integration/http-client-sink-only/in2.json: -------------------------------------------------------------------------------- 1 | true 2 | false 3 | "string" 4 | 1 5 | 1.5 6 | null 7 | {} 8 | [] 9 | -------------------------------------------------------------------------------- /tremor-cli/tests/integration/http-client-sink-only/tags.yaml: -------------------------------------------------------------------------------- 1 | - http 2 | - http_client 3 | - sink 4 | - connector 5 | - connectors -------------------------------------------------------------------------------- /tremor-cli/tests/integration/http/expected.json: -------------------------------------------------------------------------------- 1 | [{"NaN":42.0,"asdf":null},["fleek","flook"],["snot","badger"],"exit"] 2 | -------------------------------------------------------------------------------- /tremor-cli/tests/integration/http/in.json: -------------------------------------------------------------------------------- 1 | ["snot", "badger"] 2 | ["fleek", "flook"] 3 | {"asdf": null, "NaN": 42.0} 4 | "exit" 5 | -------------------------------------------------------------------------------- /tremor-cli/tests/integration/http/tags.yaml: -------------------------------------------------------------------------------- 1 | [ 2 | "http", 3 | "echo", 4 | "connectors", 5 | "connector" 6 | ] 7 | -------------------------------------------------------------------------------- /tremor-cli/tests/integration/hygienic-runtime-errors/tags.yaml: -------------------------------------------------------------------------------- 1 | [ 2 | "hygienic", 3 | "errors" 4 | ] -------------------------------------------------------------------------------- /tremor-cli/tests/integration/kafka_connectors/tags.yaml: -------------------------------------------------------------------------------- 1 | ["kafka", "redpanda", "connector", "docker"] -------------------------------------------------------------------------------- /tremor-cli/tests/integration/kv/.gitignore: -------------------------------------------------------------------------------- 1 | /data/ -------------------------------------------------------------------------------- /tremor-cli/tests/integration/kv/reset.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | rm -r data 3 | mkdir data 4 | -------------------------------------------------------------------------------- /tremor-cli/tests/integration/kv/tags.yaml: -------------------------------------------------------------------------------- 1 | [ 2 | "kv", 3 | "connector" 4 | ] -------------------------------------------------------------------------------- /tremor-cli/tests/integration/large-json/tags.yaml: -------------------------------------------------------------------------------- 1 | [ 2 | "query", 3 | "passthrough", 4 | "large" 5 | ] 6 | -------------------------------------------------------------------------------- /tremor-cli/tests/integration/meta.yaml: -------------------------------------------------------------------------------- 1 | { 2 | "kind": "Integration", 3 | "includes": "*" 4 | } 5 | -------------------------------------------------------------------------------- /tremor-cli/tests/integration/metronome/expected_out.json: -------------------------------------------------------------------------------- 1 | "triggered" 2 | -------------------------------------------------------------------------------- /tremor-cli/tests/integration/metronome/tags.yaml: -------------------------------------------------------------------------------- 1 | ["metronome", "connector"] 2 | -------------------------------------------------------------------------------- /tremor-cli/tests/integration/no-rules/tags.yaml: -------------------------------------------------------------------------------- 1 | [ 2 | "no-rules" 3 | ] 4 | -------------------------------------------------------------------------------- /tremor-cli/tests/integration/otel-client/tags.yaml: -------------------------------------------------------------------------------- 1 | ["otel", "docker", "connector", "otel_client"] -------------------------------------------------------------------------------- /tremor-cli/tests/integration/query-exit/expected.json: -------------------------------------------------------------------------------- 1 | {"done":false} 2 | {"done":true} 3 | -------------------------------------------------------------------------------- /tremor-cli/tests/integration/query-exit/in.json: -------------------------------------------------------------------------------- 1 | {"done": false } 2 | {"done": true } 3 | "exit" -------------------------------------------------------------------------------- /tremor-cli/tests/integration/query-exit/tags.yaml: -------------------------------------------------------------------------------- 1 | [ 2 | "query", 3 | "limit" 4 | ] 5 | -------------------------------------------------------------------------------- /tremor-cli/tests/integration/query-for-locals/tags.yaml: -------------------------------------------------------------------------------- 1 | [ 2 | "query", 3 | "locals" 4 | ] 5 | -------------------------------------------------------------------------------- /tremor-cli/tests/integration/quiescence-simple/tags.yaml: -------------------------------------------------------------------------------- 1 | ["connectors", "quiescence"] -------------------------------------------------------------------------------- /tremor-cli/tests/integration/rewrite-meta/tags.yaml: -------------------------------------------------------------------------------- 1 | [ 2 | "rewrite", 3 | "meta" 4 | ] 5 | -------------------------------------------------------------------------------- /tremor-cli/tests/integration/s3-consistent-cb/env.yaml: -------------------------------------------------------------------------------- 1 | AWS_ACCESS_KEY_ID: tremor 2 | AWS_SECRET_ACCESS_KEY: snot_badger 3 | -------------------------------------------------------------------------------- /tremor-cli/tests/integration/s3-consistent-cb/tags.yaml: -------------------------------------------------------------------------------- 1 | - s3 2 | - connector 3 | - cb 4 | - consistent 5 | - docker -------------------------------------------------------------------------------- /tremor-cli/tests/integration/s3-yolo-cb/env.yaml: -------------------------------------------------------------------------------- 1 | AWS_ACCESS_KEY_ID: tremor 2 | AWS_SECRET_ACCESS_KEY: snot_badger 3 | -------------------------------------------------------------------------------- /tremor-cli/tests/integration/s3-yolo-cb/tags.yaml: -------------------------------------------------------------------------------- 1 | - s3 2 | - connector 3 | - cb 4 | - yolo 5 | - docker -------------------------------------------------------------------------------- /tremor-cli/tests/integration/select-window-gd/in.json: -------------------------------------------------------------------------------- 1 | {"cb":"fail"} 2 | {"cb":"ack"} 3 | {"cb":"fail"} 4 | {"cb":"ack"} 5 | -------------------------------------------------------------------------------- /tremor-cli/tests/integration/select-window-gd/tags.yaml: -------------------------------------------------------------------------------- 1 | ["gd", "select", "window"] -------------------------------------------------------------------------------- /tremor-cli/tests/integration/stdio/stdin: -------------------------------------------------------------------------------- 1 | event for stdout 2 | event for stderr 3 | exit 4 | -------------------------------------------------------------------------------- /tremor-cli/tests/integration/stdio/tags.yaml: -------------------------------------------------------------------------------- 1 | ["stdio", "connectors", "connector", "stdin", "stdout", "stderr"] -------------------------------------------------------------------------------- /tremor-cli/tests/integration/stdlib/tags.yaml: -------------------------------------------------------------------------------- 1 | [ 2 | "stdlib" 3 | ] 4 | -------------------------------------------------------------------------------- /tremor-cli/tests/integration/string-codec/tags.yaml: -------------------------------------------------------------------------------- 1 | [ 2 | "string", 3 | "codec" 4 | ] 5 | -------------------------------------------------------------------------------- /tremor-cli/tests/integration/system-metrics/tags.yaml: -------------------------------------------------------------------------------- 1 | [ 2 | "system", 3 | "metrics" 4 | ] 5 | -------------------------------------------------------------------------------- /tremor-cli/tests/integration/tags.yaml: -------------------------------------------------------------------------------- 1 | [ 2 | "integration" 3 | ] -------------------------------------------------------------------------------- /tremor-cli/tests/integration/tcp-reuseport/tags.yaml: -------------------------------------------------------------------------------- 1 | - "tcp" 2 | - "reuseport" 3 | - "connector" -------------------------------------------------------------------------------- /tremor-cli/tests/integration/tcp-server-source-only/tags.yaml: -------------------------------------------------------------------------------- 1 | - tcp 2 | - tcp_server 3 | - source 4 | - connector 5 | - connectors -------------------------------------------------------------------------------- /tremor-cli/tests/integration/tcp-tls/.gitignore: -------------------------------------------------------------------------------- 1 | /before/localhost.* -------------------------------------------------------------------------------- /tremor-cli/tests/integration/tcp-tls/expected.json: -------------------------------------------------------------------------------- 1 | ["snot","badger"] 2 | ["fleek","flook"] 3 | {"":null,"NaN":42.0} 4 | -------------------------------------------------------------------------------- /tremor-cli/tests/integration/tcp-tls/in.json: -------------------------------------------------------------------------------- 1 | ["snot","badger"] 2 | ["fleek","flook"] 3 | {"":null,"NaN":42.0} 4 | "exit" 5 | -------------------------------------------------------------------------------- /tremor-cli/tests/integration/tcp-tls/tags.yaml: -------------------------------------------------------------------------------- 1 | ["tcp", "tls", "echo", "connectors", "connector"] -------------------------------------------------------------------------------- /tremor-cli/tests/integration/tcp/.gitignore: -------------------------------------------------------------------------------- 1 | /before/localhost.* -------------------------------------------------------------------------------- /tremor-cli/tests/integration/tcp/expected_client.json: -------------------------------------------------------------------------------- 1 | ["snot","badger"] 2 | ["fleek","flook"] 3 | {"":null,"NaN":42.0} 4 | -------------------------------------------------------------------------------- /tremor-cli/tests/integration/tcp/expected_server.json: -------------------------------------------------------------------------------- 1 | ["snot","badger"] 2 | ["fleek","flook"] 3 | {"":null,"NaN":42.0} 4 | "exit" 5 | -------------------------------------------------------------------------------- /tremor-cli/tests/integration/tcp/in.json: -------------------------------------------------------------------------------- 1 | ["snot","badger"] 2 | ["fleek","flook"] 3 | {"":null,"NaN":42.0} 4 | "exit" 5 | -------------------------------------------------------------------------------- /tremor-cli/tests/integration/tcp/tags.yaml: -------------------------------------------------------------------------------- 1 | ["tcp", "echo", "connectors", "connector"] -------------------------------------------------------------------------------- /tremor-cli/tests/integration/udp-postprocessors/.gitignore: -------------------------------------------------------------------------------- 1 | server.log 2 | server.pid 3 | -------------------------------------------------------------------------------- /tremor-cli/tests/integration/udp-postprocessors/tags.yaml: -------------------------------------------------------------------------------- 1 | [ 2 | "postprocessors", 3 | "udp" 4 | ] -------------------------------------------------------------------------------- /tremor-cli/tests/integration/udp-reuseport/tags.yaml: -------------------------------------------------------------------------------- 1 | - "udp" 2 | - "reuseport" 3 | - "connector" -------------------------------------------------------------------------------- /tremor-cli/tests/integration/unix-socket/tags.yaml: -------------------------------------------------------------------------------- 1 | ["unix_domain_sockets", "unix", "connectors", "connector"] -------------------------------------------------------------------------------- /tremor-cli/tests/integration/unknown-connector/tags.yaml: -------------------------------------------------------------------------------- 1 | [ 2 | "unknown", 3 | "connector" 4 | ] 5 | -------------------------------------------------------------------------------- /tremor-cli/tests/integration/unknown-operator/tags.yaml: -------------------------------------------------------------------------------- 1 | [ 2 | "unknown", 3 | "operator" 4 | ] 5 | -------------------------------------------------------------------------------- /tremor-cli/tests/integration/window-max-groups/tags.yaml: -------------------------------------------------------------------------------- 1 | ["window", "max-groups"] -------------------------------------------------------------------------------- /tremor-cli/tests/integration/window-timeout-metadata/tags.yaml: -------------------------------------------------------------------------------- 1 | - "window" 2 | - "signal" 3 | - "timeout" 4 | - "metadata" -------------------------------------------------------------------------------- /tremor-cli/tests/integration/window-timeout/tags.yaml: -------------------------------------------------------------------------------- 1 | ["window", "signal", "timeout"] -------------------------------------------------------------------------------- /tremor-cli/tests/integration/ws-tls/.gitignore: -------------------------------------------------------------------------------- 1 | /before/localhost.* -------------------------------------------------------------------------------- /tremor-cli/tests/integration/ws-tls/expected.json: -------------------------------------------------------------------------------- 1 | ["snot","badger"] 2 | ["fleek","flook"] 3 | {"":null,"NaN":42.0} 4 | -------------------------------------------------------------------------------- /tremor-cli/tests/integration/ws-tls/in.json: -------------------------------------------------------------------------------- 1 | ["snot", "badger"] 2 | ["fleek", "flook"] 3 | {"": null, "NaN": 42.0} 4 | "exit" 5 | -------------------------------------------------------------------------------- /tremor-cli/tests/integration/ws-tls/tags.yaml: -------------------------------------------------------------------------------- 1 | ["ws", "tls", "echo", "connectors", "connector"] 2 | -------------------------------------------------------------------------------- /tremor-cli/tests/integration/ws/.gitignore: -------------------------------------------------------------------------------- 1 | server.log 2 | server.pid 3 | -------------------------------------------------------------------------------- /tremor-cli/tests/integration/ws/tags.yaml: -------------------------------------------------------------------------------- 1 | [ 2 | "ws" 3 | ] 4 | -------------------------------------------------------------------------------- /tremor-cli/tests/stdlib/std/meta.yaml: -------------------------------------------------------------------------------- 1 | { 2 | "kind": "Unit", 3 | "includes": "all.tremor" 4 | } 5 | -------------------------------------------------------------------------------- /tremor-cli/tests/stdlib/std/tags.yaml: -------------------------------------------------------------------------------- 1 | [ 2 | "unit", 3 | "stdlib" 4 | ] 5 | -------------------------------------------------------------------------------- /tremor-cli/tests/stdlib/tremor/meta.yaml: -------------------------------------------------------------------------------- 1 | { 2 | "kind": "Unit", 3 | "includes": "all.tremor" 4 | } 5 | -------------------------------------------------------------------------------- /tremor-cli/tests/stdlib/tremor/tags.yaml: -------------------------------------------------------------------------------- 1 | [ 2 | "unit", 3 | "tremor" 4 | ] 5 | -------------------------------------------------------------------------------- /tremor-cli/tests/tags.json: -------------------------------------------------------------------------------- 1 | [ "all" ] 2 | -------------------------------------------------------------------------------- /tremor-common/.gitignore: -------------------------------------------------------------------------------- 1 | .a.file.that.will.get.deleted 2 | -------------------------------------------------------------------------------- /tremor-common/README.md: -------------------------------------------------------------------------------- 1 | # tremor-common 2 | 3 | Shared and useful functions for tremor 4 | -------------------------------------------------------------------------------- /tremor-pipeline/.gitignore: -------------------------------------------------------------------------------- 1 | target 2 | -------------------------------------------------------------------------------- /tremor-script-nif/.gitignore: -------------------------------------------------------------------------------- 1 | Cargo.lock 2 | -------------------------------------------------------------------------------- /tremor-script/lib/google/cloud.tremor: -------------------------------------------------------------------------------- 1 | use google::cloud::logging; 2 | -------------------------------------------------------------------------------- /tremor-script/priv/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | -------------------------------------------------------------------------------- /tremor-script/tests/modules/loading/twice.tremor: -------------------------------------------------------------------------------- 1 | const SNOT = "badger"; -------------------------------------------------------------------------------- /tremor-script/tests/modules/nest/nest/there.tremor: -------------------------------------------------------------------------------- 1 | const HELLO = "world"; -------------------------------------------------------------------------------- /tremor-script/tests/modules/nest/there.tremor: -------------------------------------------------------------------------------- 1 | const HELLO = "world"; -------------------------------------------------------------------------------- /tremor-script/tests/modules/there.tremor: -------------------------------------------------------------------------------- 1 | const HELLO = "world"; --------------------------------------------------------------------------------