@blazedpath/commons 0.2.1 → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -1
- package/dist/blz-base/health/index.d.ts +1 -0
- package/dist/blz-base/health/index.js +1 -0
- package/dist/blz-base/index.d.ts +108 -0
- package/dist/blz-base/index.js +1 -0
- package/dist/blz-cache/LruCache.d.ts +31 -0
- package/dist/blz-cache/LruCache.js +1 -0
- package/dist/blz-cache/index.d.ts +2 -0
- package/dist/blz-cache/index.js +1 -0
- package/dist/blz-config/index.d.ts +16 -0
- package/dist/blz-config/index.js +1 -0
- package/dist/blz-core/index.d.ts +32 -0
- package/dist/blz-core/index.js +1 -0
- package/dist/blz-cryptography/index.d.ts +2 -0
- package/dist/blz-cryptography/index.js +1 -0
- package/dist/blz-datetimes/index.d.ts +35 -0
- package/dist/blz-datetimes/index.js +1 -0
- package/dist/blz-file/fileService.d.ts +25 -0
- package/dist/blz-file/fileService.js +1 -0
- package/dist/blz-file/index.d.ts +2 -0
- package/dist/blz-file/index.js +1 -0
- package/dist/blz-file/index.test.js +1 -0
- package/dist/blz-file/lab.js +1 -0
- package/dist/blz-hazelcast/index.d.ts +25 -0
- package/dist/blz-hazelcast/index.js +1 -0
- package/dist/blz-hazelcast/lib/credentials.d.ts +10 -0
- package/dist/blz-hazelcast/lib/credentials.js +1 -0
- package/dist/blz-hazelcast/lib/credentialsFactory.d.ts +1 -0
- package/dist/blz-hazelcast/lib/credentialsFactory.js +1 -0
- package/dist/blz-hazelcast/lib/hazelcastCache.d.ts +27 -0
- package/dist/blz-hazelcast/lib/hazelcastCache.js +1 -0
- package/dist/blz-iterable/index.d.ts +49 -0
- package/dist/blz-iterable/index.js +1 -0
- package/dist/blz-json-schema/index.d.ts +1 -0
- package/dist/blz-json-schema/index.js +1 -0
- package/dist/blz-jwt/index.d.ts +12 -0
- package/dist/blz-jwt/index.js +1 -0
- package/dist/blz-kafka/index.d.ts +9 -0
- package/dist/blz-kafka/index.js +1 -0
- package/dist/blz-math/index.d.ts +22 -0
- package/dist/blz-math/index.js +1 -0
- package/dist/blz-mongodb/index.d.ts +28 -0
- package/dist/blz-mongodb/index.js +1 -0
- package/dist/blz-rds/__test__/scape.test.js +1 -0
- package/dist/blz-rds/blz-rds-executor.d.ts +4 -0
- package/dist/blz-rds/blz-rds-executor.js +1 -0
- package/dist/blz-rds/blz-rds-helper.d.ts +5 -0
- package/dist/blz-rds/blz-rds-helper.js +1 -0
- package/dist/blz-rds/commands/core/add.d.ts +2 -0
- package/dist/blz-rds/commands/core/add.js +1 -0
- package/dist/blz-rds/commands/core/and.d.ts +3 -0
- package/dist/blz-rds/commands/core/and.js +1 -0
- package/dist/blz-rds/commands/core/asc.d.ts +2 -0
- package/dist/blz-rds/commands/core/asc.js +1 -0
- package/dist/blz-rds/commands/core/avg.d.ts +2 -0
- package/dist/blz-rds/commands/core/avg.js +1 -0
- package/dist/blz-rds/commands/core/column-ref.d.ts +2 -0
- package/dist/blz-rds/commands/core/column-ref.js +1 -0
- package/dist/blz-rds/commands/core/count-distinct.d.ts +2 -0
- package/dist/blz-rds/commands/core/count-distinct.js +1 -0
- package/dist/blz-rds/commands/core/count.d.ts +2 -0
- package/dist/blz-rds/commands/core/count.js +1 -0
- package/dist/blz-rds/commands/core/decimal.d.ts +2 -0
- package/dist/blz-rds/commands/core/decimal.js +1 -0
- package/dist/blz-rds/commands/core/desc.d.ts +2 -0
- package/dist/blz-rds/commands/core/desc.js +1 -0
- package/dist/blz-rds/commands/core/distinct.d.ts +2 -0
- package/dist/blz-rds/commands/core/distinct.js +1 -0
- package/dist/blz-rds/commands/core/divide.d.ts +2 -0
- package/dist/blz-rds/commands/core/divide.js +1 -0
- package/dist/blz-rds/commands/core/embedded-exists.d.ts +3 -0
- package/dist/blz-rds/commands/core/embedded-exists.js +1 -0
- package/dist/blz-rds/commands/core/embedded-select.d.ts +2 -0
- package/dist/blz-rds/commands/core/embedded-select.js +1 -0
- package/dist/blz-rds/commands/core/equals.d.ts +3 -0
- package/dist/blz-rds/commands/core/equals.js +1 -0
- package/dist/blz-rds/commands/core/false.d.ts +2 -0
- package/dist/blz-rds/commands/core/false.js +1 -0
- package/dist/blz-rds/commands/core/greater-or-equal.d.ts +3 -0
- package/dist/blz-rds/commands/core/greater-or-equal.js +1 -0
- package/dist/blz-rds/commands/core/greater.d.ts +3 -0
- package/dist/blz-rds/commands/core/greater.js +1 -0
- package/dist/blz-rds/commands/core/in.d.ts +3 -0
- package/dist/blz-rds/commands/core/in.js +1 -0
- package/dist/blz-rds/commands/core/integer.d.ts +2 -0
- package/dist/blz-rds/commands/core/integer.js +1 -0
- package/dist/blz-rds/commands/core/is-not-null.d.ts +3 -0
- package/dist/blz-rds/commands/core/is-not-null.js +1 -0
- package/dist/blz-rds/commands/core/is-null-or-value.d.ts +3 -0
- package/dist/blz-rds/commands/core/is-null-or-value.js +1 -0
- package/dist/blz-rds/commands/core/is-null.d.ts +3 -0
- package/dist/blz-rds/commands/core/is-null.js +1 -0
- package/dist/blz-rds/commands/core/less-or-equal.d.ts +3 -0
- package/dist/blz-rds/commands/core/less-or-equal.js +1 -0
- package/dist/blz-rds/commands/core/less-unary.d.ts +2 -0
- package/dist/blz-rds/commands/core/less-unary.js +1 -0
- package/dist/blz-rds/commands/core/less.d.ts +3 -0
- package/dist/blz-rds/commands/core/less.js +1 -0
- package/dist/blz-rds/commands/core/like.d.ts +3 -0
- package/dist/blz-rds/commands/core/like.js +1 -0
- package/dist/blz-rds/commands/core/max.d.ts +2 -0
- package/dist/blz-rds/commands/core/max.js +1 -0
- package/dist/blz-rds/commands/core/min.d.ts +2 -0
- package/dist/blz-rds/commands/core/min.js +1 -0
- package/dist/blz-rds/commands/core/multiply.d.ts +2 -0
- package/dist/blz-rds/commands/core/multiply.js +1 -0
- package/dist/blz-rds/commands/core/not-equals.d.ts +3 -0
- package/dist/blz-rds/commands/core/not-equals.js +1 -0
- package/dist/blz-rds/commands/core/not-in.d.ts +3 -0
- package/dist/blz-rds/commands/core/not-in.js +1 -0
- package/dist/blz-rds/commands/core/not.d.ts +3 -0
- package/dist/blz-rds/commands/core/not.js +1 -0
- package/dist/blz-rds/commands/core/null.d.ts +2 -0
- package/dist/blz-rds/commands/core/null.js +1 -0
- package/dist/blz-rds/commands/core/nvl.d.ts +2 -0
- package/dist/blz-rds/commands/core/nvl.js +1 -0
- package/dist/blz-rds/commands/core/or.d.ts +3 -0
- package/dist/blz-rds/commands/core/or.js +1 -0
- package/dist/blz-rds/commands/core/parameter.d.ts +2 -0
- package/dist/blz-rds/commands/core/parameter.js +1 -0
- package/dist/blz-rds/commands/core/remainder.d.ts +2 -0
- package/dist/blz-rds/commands/core/remainder.js +1 -0
- package/dist/blz-rds/commands/core/string.d.ts +2 -0
- package/dist/blz-rds/commands/core/string.js +1 -0
- package/dist/blz-rds/commands/core/subtract.d.ts +2 -0
- package/dist/blz-rds/commands/core/subtract.js +1 -0
- package/dist/blz-rds/commands/core/sum.d.ts +2 -0
- package/dist/blz-rds/commands/core/sum.js +1 -0
- package/dist/blz-rds/commands/core/true.d.ts +2 -0
- package/dist/blz-rds/commands/core/true.js +1 -0
- package/dist/blz-rds/commands/core/tuple.d.ts +2 -0
- package/dist/blz-rds/commands/core/tuple.js +1 -0
- package/dist/blz-rds/commands/datetimes/add-days.d.ts +2 -0
- package/dist/blz-rds/commands/datetimes/add-days.js +1 -0
- package/dist/blz-rds/commands/datetimes/add-hours.d.ts +2 -0
- package/dist/blz-rds/commands/datetimes/add-hours.js +1 -0
- package/dist/blz-rds/commands/datetimes/add-milliseconds.d.ts +2 -0
- package/dist/blz-rds/commands/datetimes/add-milliseconds.js +1 -0
- package/dist/blz-rds/commands/datetimes/add-minutes.d.ts +2 -0
- package/dist/blz-rds/commands/datetimes/add-minutes.js +1 -0
- package/dist/blz-rds/commands/datetimes/add-months.d.ts +2 -0
- package/dist/blz-rds/commands/datetimes/add-months.js +1 -0
- package/dist/blz-rds/commands/datetimes/add-seconds.d.ts +2 -0
- package/dist/blz-rds/commands/datetimes/add-seconds.js +1 -0
- package/dist/blz-rds/commands/datetimes/add-years.d.ts +2 -0
- package/dist/blz-rds/commands/datetimes/add-years.js +1 -0
- package/dist/blz-rds/commands/datetimes/date-diff.d.ts +2 -0
- package/dist/blz-rds/commands/datetimes/date-diff.js +1 -0
- package/dist/blz-rds/commands/datetimes/date.d.ts +2 -0
- package/dist/blz-rds/commands/datetimes/date.js +1 -0
- package/dist/blz-rds/commands/datetimes/datetime-diff.d.ts +2 -0
- package/dist/blz-rds/commands/datetimes/datetime-diff.js +1 -0
- package/dist/blz-rds/commands/datetimes/datetime.d.ts +2 -0
- package/dist/blz-rds/commands/datetimes/datetime.js +1 -0
- package/dist/blz-rds/commands/datetimes/day.d.ts +2 -0
- package/dist/blz-rds/commands/datetimes/day.js +1 -0
- package/dist/blz-rds/commands/datetimes/hour.d.ts +2 -0
- package/dist/blz-rds/commands/datetimes/hour.js +1 -0
- package/dist/blz-rds/commands/datetimes/millisecond.d.ts +2 -0
- package/dist/blz-rds/commands/datetimes/millisecond.js +1 -0
- package/dist/blz-rds/commands/datetimes/minute.d.ts +2 -0
- package/dist/blz-rds/commands/datetimes/minute.js +1 -0
- package/dist/blz-rds/commands/datetimes/month-text.d.ts +2 -0
- package/dist/blz-rds/commands/datetimes/month-text.js +1 -0
- package/dist/blz-rds/commands/datetimes/month.d.ts +2 -0
- package/dist/blz-rds/commands/datetimes/month.js +1 -0
- package/dist/blz-rds/commands/datetimes/now.d.ts +2 -0
- package/dist/blz-rds/commands/datetimes/now.js +1 -0
- package/dist/blz-rds/commands/datetimes/second.d.ts +2 -0
- package/dist/blz-rds/commands/datetimes/second.js +1 -0
- package/dist/blz-rds/commands/datetimes/subtract-days.d.ts +2 -0
- package/dist/blz-rds/commands/datetimes/subtract-days.js +1 -0
- package/dist/blz-rds/commands/datetimes/subtract-hours.d.ts +2 -0
- package/dist/blz-rds/commands/datetimes/subtract-hours.js +1 -0
- package/dist/blz-rds/commands/datetimes/subtract-milliseconds.d.ts +2 -0
- package/dist/blz-rds/commands/datetimes/subtract-milliseconds.js +1 -0
- package/dist/blz-rds/commands/datetimes/subtract-minutes.d.ts +2 -0
- package/dist/blz-rds/commands/datetimes/subtract-minutes.js +1 -0
- package/dist/blz-rds/commands/datetimes/subtract-seconds.d.ts +2 -0
- package/dist/blz-rds/commands/datetimes/subtract-seconds.js +1 -0
- package/dist/blz-rds/commands/datetimes/time-diff.d.ts +2 -0
- package/dist/blz-rds/commands/datetimes/time-diff.js +1 -0
- package/dist/blz-rds/commands/datetimes/time.d.ts +2 -0
- package/dist/blz-rds/commands/datetimes/time.js +1 -0
- package/dist/blz-rds/commands/datetimes/today.d.ts +2 -0
- package/dist/blz-rds/commands/datetimes/today.js +1 -0
- package/dist/blz-rds/commands/datetimes/week-day-text.d.ts +2 -0
- package/dist/blz-rds/commands/datetimes/week-day-text.js +1 -0
- package/dist/blz-rds/commands/datetimes/week-day.d.ts +2 -0
- package/dist/blz-rds/commands/datetimes/week-day.js +1 -0
- package/dist/blz-rds/commands/datetimes/week.d.ts +2 -0
- package/dist/blz-rds/commands/datetimes/week.js +1 -0
- package/dist/blz-rds/commands/datetimes/year.d.ts +2 -0
- package/dist/blz-rds/commands/datetimes/year.js +1 -0
- package/dist/blz-rds/commands/math/abs.d.ts +2 -0
- package/dist/blz-rds/commands/math/abs.js +1 -0
- package/dist/blz-rds/commands/math/acos.d.ts +2 -0
- package/dist/blz-rds/commands/math/acos.js +1 -0
- package/dist/blz-rds/commands/math/asin.d.ts +2 -0
- package/dist/blz-rds/commands/math/asin.js +1 -0
- package/dist/blz-rds/commands/math/atan.d.ts +2 -0
- package/dist/blz-rds/commands/math/atan.js +1 -0
- package/dist/blz-rds/commands/math/atan2.d.ts +2 -0
- package/dist/blz-rds/commands/math/atan2.js +1 -0
- package/dist/blz-rds/commands/math/ceil.d.ts +2 -0
- package/dist/blz-rds/commands/math/ceil.js +1 -0
- package/dist/blz-rds/commands/math/cos.d.ts +2 -0
- package/dist/blz-rds/commands/math/cos.js +1 -0
- package/dist/blz-rds/commands/math/cosh.d.ts +2 -0
- package/dist/blz-rds/commands/math/cosh.js +1 -0
- package/dist/blz-rds/commands/math/exp.d.ts +2 -0
- package/dist/blz-rds/commands/math/exp.js +1 -0
- package/dist/blz-rds/commands/math/floor.d.ts +2 -0
- package/dist/blz-rds/commands/math/floor.js +1 -0
- package/dist/blz-rds/commands/math/log.d.ts +2 -0
- package/dist/blz-rds/commands/math/log.js +1 -0
- package/dist/blz-rds/commands/math/log10.d.ts +2 -0
- package/dist/blz-rds/commands/math/log10.js +1 -0
- package/dist/blz-rds/commands/math/pow.d.ts +2 -0
- package/dist/blz-rds/commands/math/pow.js +1 -0
- package/dist/blz-rds/commands/math/random.d.ts +2 -0
- package/dist/blz-rds/commands/math/random.js +1 -0
- package/dist/blz-rds/commands/math/round.d.ts +2 -0
- package/dist/blz-rds/commands/math/round.js +1 -0
- package/dist/blz-rds/commands/math/sign.d.ts +2 -0
- package/dist/blz-rds/commands/math/sign.js +1 -0
- package/dist/blz-rds/commands/math/sin.d.ts +2 -0
- package/dist/blz-rds/commands/math/sin.js +1 -0
- package/dist/blz-rds/commands/math/sinh.d.ts +2 -0
- package/dist/blz-rds/commands/math/sinh.js +1 -0
- package/dist/blz-rds/commands/math/sqrt.d.ts +2 -0
- package/dist/blz-rds/commands/math/sqrt.js +1 -0
- package/dist/blz-rds/commands/math/tan.d.ts +2 -0
- package/dist/blz-rds/commands/math/tan.js +1 -0
- package/dist/blz-rds/commands/math/tanh.d.ts +2 -0
- package/dist/blz-rds/commands/math/tanh.js +1 -0
- package/dist/blz-rds/commands/math/trunc.d.ts +2 -0
- package/dist/blz-rds/commands/math/trunc.js +1 -0
- package/dist/blz-rds/commands/strings/concat.d.ts +2 -0
- package/dist/blz-rds/commands/strings/concat.js +1 -0
- package/dist/blz-rds/commands/strings/contains.d.ts +3 -0
- package/dist/blz-rds/commands/strings/contains.js +1 -0
- package/dist/blz-rds/commands/strings/ends-with.d.ts +3 -0
- package/dist/blz-rds/commands/strings/ends-with.js +1 -0
- package/dist/blz-rds/commands/strings/index-of.d.ts +2 -0
- package/dist/blz-rds/commands/strings/index-of.js +1 -0
- package/dist/blz-rds/commands/strings/is-null-or-empty.d.ts +3 -0
- package/dist/blz-rds/commands/strings/is-null-or-empty.js +1 -0
- package/dist/blz-rds/commands/strings/is-null-or-white-space.d.ts +3 -0
- package/dist/blz-rds/commands/strings/is-null-or-white-space.js +1 -0
- package/dist/blz-rds/commands/strings/join.d.ts +2 -0
- package/dist/blz-rds/commands/strings/join.js +1 -0
- package/dist/blz-rds/commands/strings/last-index-of.d.ts +2 -0
- package/dist/blz-rds/commands/strings/last-index-of.js +1 -0
- package/dist/blz-rds/commands/strings/length.d.ts +2 -0
- package/dist/blz-rds/commands/strings/length.js +1 -0
- package/dist/blz-rds/commands/strings/pad-left.d.ts +2 -0
- package/dist/blz-rds/commands/strings/pad-left.js +1 -0
- package/dist/blz-rds/commands/strings/pad-right.d.ts +2 -0
- package/dist/blz-rds/commands/strings/pad-right.js +1 -0
- package/dist/blz-rds/commands/strings/replace.d.ts +2 -0
- package/dist/blz-rds/commands/strings/replace.js +1 -0
- package/dist/blz-rds/commands/strings/starts-with.d.ts +3 -0
- package/dist/blz-rds/commands/strings/starts-with.js +1 -0
- package/dist/blz-rds/commands/strings/substring.d.ts +2 -0
- package/dist/blz-rds/commands/strings/substring.js +1 -0
- package/dist/blz-rds/commands/strings/to-lower.d.ts +2 -0
- package/dist/blz-rds/commands/strings/to-lower.js +1 -0
- package/dist/blz-rds/commands/strings/to-upper.d.ts +2 -0
- package/dist/blz-rds/commands/strings/to-upper.js +1 -0
- package/dist/blz-rds/commands/strings/trim-end.d.ts +2 -0
- package/dist/blz-rds/commands/strings/trim-end.js +1 -0
- package/dist/blz-rds/commands/strings/trim-start.d.ts +2 -0
- package/dist/blz-rds/commands/strings/trim-start.js +1 -0
- package/dist/blz-rds/commands/strings/trim.d.ts +2 -0
- package/dist/blz-rds/commands/strings/trim.js +1 -0
- package/dist/blz-rds/index.d.ts +53 -0
- package/dist/blz-rds/index.js +1 -0
- package/dist/blz-rds-mysql/base.d.ts +83 -0
- package/dist/blz-rds-mysql/base.js +1 -0
- package/dist/blz-rds-mysql/connection-manager.d.ts +8 -0
- package/dist/blz-rds-mysql/connection-manager.js +1 -0
- package/dist/blz-rds-mysql/execute-bulk-insert.d.ts +2 -0
- package/dist/blz-rds-mysql/execute-bulk-insert.js +1 -0
- package/dist/blz-rds-mysql/execute-bulk-merge.d.ts +2 -0
- package/dist/blz-rds-mysql/execute-bulk-merge.js +1 -0
- package/dist/blz-rds-mysql/execute-non-query.d.ts +14 -0
- package/dist/blz-rds-mysql/execute-non-query.js +1 -0
- package/dist/blz-rds-mysql/execute-query.d.ts +11 -0
- package/dist/blz-rds-mysql/execute-query.js +1 -0
- package/dist/blz-rds-mysql/index.d.ts +9 -0
- package/dist/blz-rds-mysql/index.js +1 -0
- package/dist/blz-rds-mysql/stored-procedure.d.ts +19 -0
- package/dist/blz-rds-mysql/stored-procedure.js +1 -0
- package/dist/blz-rds-mysqlx/base.d.ts +83 -0
- package/dist/blz-rds-mysqlx/base.js +1 -0
- package/dist/blz-rds-mysqlx/connection-manager.d.ts +6 -0
- package/dist/blz-rds-mysqlx/connection-manager.js +1 -0
- package/dist/blz-rds-mysqlx/execute-bulk-insert.d.ts +2 -0
- package/dist/blz-rds-mysqlx/execute-bulk-insert.js +1 -0
- package/dist/blz-rds-mysqlx/execute-bulk-merge.d.ts +2 -0
- package/dist/blz-rds-mysqlx/execute-bulk-merge.js +1 -0
- package/dist/blz-rds-mysqlx/execute-non-query.d.ts +4 -0
- package/dist/blz-rds-mysqlx/execute-non-query.js +1 -0
- package/dist/blz-rds-mysqlx/execute-query.d.ts +7 -0
- package/dist/blz-rds-mysqlx/execute-query.js +1 -0
- package/dist/blz-rds-mysqlx/index.d.ts +9 -0
- package/dist/blz-rds-mysqlx/index.js +1 -0
- package/dist/blz-rds-mysqlx/stored-procedure.d.ts +20 -0
- package/dist/blz-rds-mysqlx/stored-procedure.js +1 -0
- package/dist/blz-rds-oracle/index.d.ts +25 -0
- package/dist/blz-rds-oracle/index.js +1 -0
- package/dist/blz-rds-postgres/base.d.ts +94 -0
- package/dist/blz-rds-postgres/base.js +1 -0
- package/dist/blz-rds-postgres/connection-manager.d.ts +6 -0
- package/dist/blz-rds-postgres/connection-manager.js +1 -0
- package/dist/blz-rds-postgres/execute-bulk-insert.d.ts +5 -0
- package/dist/blz-rds-postgres/execute-bulk-insert.js +1 -0
- package/dist/blz-rds-postgres/execute-bulk-merge.d.ts +4 -0
- package/dist/blz-rds-postgres/execute-bulk-merge.js +1 -0
- package/dist/blz-rds-postgres/execute-non-query.d.ts +12 -0
- package/dist/blz-rds-postgres/execute-non-query.js +1 -0
- package/dist/blz-rds-postgres/execute-query.d.ts +4 -0
- package/dist/blz-rds-postgres/execute-query.js +1 -0
- package/dist/blz-rds-postgres/index.d.ts +9 -0
- package/dist/blz-rds-postgres/index.js +1 -0
- package/dist/blz-rds-postgres/result-set.js +1 -0
- package/dist/blz-rds-postgres/stored-procedure.d.ts +19 -0
- package/dist/blz-rds-postgres/stored-procedure.js +1 -0
- package/dist/blz-redis/index.d.ts +31 -0
- package/dist/blz-redis/index.js +1 -0
- package/dist/blz-redis/lib/redisCache.d.ts +33 -0
- package/dist/blz-redis/lib/redisCache.js +1 -0
- package/dist/blz-regex/index.d.ts +3 -0
- package/dist/blz-regex/index.js +1 -0
- package/dist/blz-security/__test__/autorization.test.js +1 -0
- package/dist/blz-security/__test__/autorizationKpn.test.js +1 -0
- package/dist/blz-security/__test__/orderManagement.test.js +1 -0
- package/dist/blz-security/__test__/secureUrl.test.js +1 -0
- package/dist/blz-security/__test__/solveMergeRule.test.js +1 -0
- package/dist/blz-security/__test__/sqlInjectionGuard.test.js +1 -0
- package/dist/blz-security/__test__/xssGuard.test.js +1 -0
- package/dist/blz-security/authorizationService.d.ts +42 -0
- package/dist/blz-security/authorizationService.js +2 -0
- package/dist/blz-security/config/global.js +1 -0
- package/dist/blz-security/filescanner/index.d.ts +24 -0
- package/dist/blz-security/filescanner/index.js +1 -0
- package/dist/blz-security/helpers/consts.d.ts +28 -0
- package/dist/blz-security/helpers/consts.js +1 -0
- package/dist/blz-security/helpers/utils.d.ts +82 -0
- package/dist/blz-security/helpers/utils.js +1 -0
- package/dist/blz-security/implementations/cache.d.ts +58 -0
- package/dist/blz-security/implementations/cache.js +1 -0
- package/dist/blz-security/implementations/oidc.d.ts +100 -0
- package/dist/blz-security/implementations/oidc.js +1 -0
- package/dist/blz-security/implementations/pkceCacheStore.d.ts +2 -0
- package/dist/blz-security/implementations/pkceCacheStore.js +1 -0
- package/dist/blz-security/implementations/saml.js +1 -0
- package/dist/blz-security/implementations/uma.d.ts +31 -0
- package/dist/blz-security/implementations/uma.js +1 -0
- package/dist/blz-security/implementations/webAuthn.js +1 -0
- package/dist/blz-security/implementations/wstg.js +1 -0
- package/dist/blz-security/index.d.ts +4 -0
- package/dist/blz-security/index.js +2 -0
- package/dist/blz-security/lab/index.js +1 -0
- package/dist/blz-security/middleware/HapiServerAzureAd.d.ts +26 -0
- package/dist/blz-security/middleware/HapiServerAzureAd.js +1 -0
- package/dist/blz-security/middleware/HapiServerKeycloak.d.ts +47 -0
- package/dist/blz-security/middleware/HapiServerKeycloak.js +1 -0
- package/dist/blz-security/middleware/HapiServerSimToken.d.ts +13 -0
- package/dist/blz-security/middleware/HapiServerSimToken.js +1 -0
- package/dist/blz-security/middleware/hapi.d.ts +14 -0
- package/dist/blz-security/middleware/hapi.js +1 -0
- package/dist/blz-security/middleware/hapiServer.js +1 -0
- package/dist/blz-security/navigationMemoryRepository.d.ts +6 -0
- package/dist/blz-security/navigationMemoryRepository.js +1 -0
- package/dist/blz-security/navigationMongoDbRepository.d.ts +15 -0
- package/dist/blz-security/navigationMongoDbRepository.js +1 -0
- package/dist/blz-security/secureUrlService.d.ts +7 -0
- package/dist/blz-security/secureUrlService.js +1 -0
- package/dist/blz-security/securityService.d.ts +72 -0
- package/dist/blz-security/securityService.js +1 -0
- package/dist/blz-security/sqlInjectionGuard.d.ts +37 -0
- package/dist/blz-security/sqlInjectionGuard.js +1 -0
- package/dist/blz-security/xssGuard.d.ts +14 -0
- package/dist/blz-security/xssGuard.js +1 -0
- package/dist/blz-strings/index.d.ts +42 -0
- package/dist/blz-strings/index.js +1 -0
- package/dist/blz-uuid/index.d.ts +1 -0
- package/dist/blz-uuid/index.js +1 -0
- package/dist/blz-yaml/index.d.ts +2 -0
- package/dist/blz-yaml/index.js +1 -0
- package/dist/index.d.ts +34 -0
- package/dist/index.js +1 -0
- package/dist/process-managers/index.d.ts +25 -0
- package/dist/process-managers/index.js +1 -0
- package/package.json +53 -42
- package/blz-base/health/index.js +0 -215
- package/blz-base/index.js +0 -1466
- package/blz-cache/LruCache.js +0 -44
- package/blz-cache/index.js +0 -29
- package/blz-config/index.js +0 -434
- package/blz-core/index.js +0 -364
- package/blz-cryptography/index.js +0 -54
- package/blz-datetimes/index.js +0 -356
- package/blz-file/example.dat +0 -2545
- package/blz-file/fileService.js +0 -205
- package/blz-file/index.js +0 -94
- package/blz-file/index.test.js +0 -31
- package/blz-file/lab.js +0 -33
- package/blz-hazelcast/index.js +0 -189
- package/blz-hazelcast/lib/credentials.js +0 -25
- package/blz-hazelcast/lib/credentialsFactory.js +0 -12
- package/blz-hazelcast/lib/hazelcastCache.js +0 -234
- package/blz-iterable/index.js +0 -446
- package/blz-json-schema/index.js +0 -11
- package/blz-jwt/index.js +0 -121
- package/blz-kafka/index.js +0 -522
- package/blz-math/index.js +0 -131
- package/blz-mongodb/index.js +0 -326
- package/blz-rds/__test__/scape.test.js +0 -58
- package/blz-rds/blz-rds-executor.js +0 -578
- package/blz-rds/blz-rds-helper.js +0 -310
- package/blz-rds/commands/core/add.js +0 -13
- package/blz-rds/commands/core/and.js +0 -18
- package/blz-rds/commands/core/asc.js +0 -10
- package/blz-rds/commands/core/avg.js +0 -10
- package/blz-rds/commands/core/column-ref.js +0 -8
- package/blz-rds/commands/core/count-distinct.js +0 -10
- package/blz-rds/commands/core/count.js +0 -10
- package/blz-rds/commands/core/decimal.js +0 -8
- package/blz-rds/commands/core/desc.js +0 -10
- package/blz-rds/commands/core/distinct.js +0 -10
- package/blz-rds/commands/core/divide.js +0 -11
- package/blz-rds/commands/core/embedded-exists.js +0 -17
- package/blz-rds/commands/core/embedded-select.js +0 -17
- package/blz-rds/commands/core/equals.js +0 -9
- package/blz-rds/commands/core/false.js +0 -8
- package/blz-rds/commands/core/greater-or-equal.js +0 -9
- package/blz-rds/commands/core/greater.js +0 -9
- package/blz-rds/commands/core/in.js +0 -9
- package/blz-rds/commands/core/integer.js +0 -8
- package/blz-rds/commands/core/is-not-null.js +0 -11
- package/blz-rds/commands/core/is-null-or-value.js +0 -10
- package/blz-rds/commands/core/is-null.js +0 -11
- package/blz-rds/commands/core/less-or-equal.js +0 -9
- package/blz-rds/commands/core/less-unary.js +0 -12
- package/blz-rds/commands/core/less.js +0 -9
- package/blz-rds/commands/core/like.js +0 -12
- package/blz-rds/commands/core/max.js +0 -10
- package/blz-rds/commands/core/min.js +0 -10
- package/blz-rds/commands/core/multiply.js +0 -13
- package/blz-rds/commands/core/not-equals.js +0 -9
- package/blz-rds/commands/core/not-in.js +0 -9
- package/blz-rds/commands/core/not.js +0 -13
- package/blz-rds/commands/core/null.js +0 -8
- package/blz-rds/commands/core/nvl.js +0 -11
- package/blz-rds/commands/core/or.js +0 -13
- package/blz-rds/commands/core/parameter.js +0 -34
- package/blz-rds/commands/core/remainder.js +0 -16
- package/blz-rds/commands/core/string.js +0 -8
- package/blz-rds/commands/core/subtract.js +0 -13
- package/blz-rds/commands/core/sum.js +0 -10
- package/blz-rds/commands/core/true.js +0 -8
- package/blz-rds/commands/core/tuple.js +0 -13
- package/blz-rds/commands/datetimes/add-days.js +0 -11
- package/blz-rds/commands/datetimes/add-hours.js +0 -11
- package/blz-rds/commands/datetimes/add-milliseconds.js +0 -11
- package/blz-rds/commands/datetimes/add-minutes.js +0 -11
- package/blz-rds/commands/datetimes/add-months.js +0 -11
- package/blz-rds/commands/datetimes/add-seconds.js +0 -11
- package/blz-rds/commands/datetimes/add-years.js +0 -11
- package/blz-rds/commands/datetimes/date-diff.js +0 -11
- package/blz-rds/commands/datetimes/date.js +0 -12
- package/blz-rds/commands/datetimes/datetime-diff.js +0 -11
- package/blz-rds/commands/datetimes/datetime.js +0 -15
- package/blz-rds/commands/datetimes/day.js +0 -10
- package/blz-rds/commands/datetimes/hour.js +0 -10
- package/blz-rds/commands/datetimes/millisecond.js +0 -10
- package/blz-rds/commands/datetimes/minute.js +0 -10
- package/blz-rds/commands/datetimes/month-text.js +0 -10
- package/blz-rds/commands/datetimes/month.js +0 -10
- package/blz-rds/commands/datetimes/now.js +0 -9
- package/blz-rds/commands/datetimes/second.js +0 -10
- package/blz-rds/commands/datetimes/subtract-days.js +0 -11
- package/blz-rds/commands/datetimes/subtract-hours.js +0 -11
- package/blz-rds/commands/datetimes/subtract-milliseconds.js +0 -11
- package/blz-rds/commands/datetimes/subtract-minutes.js +0 -11
- package/blz-rds/commands/datetimes/subtract-seconds.js +0 -11
- package/blz-rds/commands/datetimes/time-diff.js +0 -11
- package/blz-rds/commands/datetimes/time.js +0 -13
- package/blz-rds/commands/datetimes/today.js +0 -9
- package/blz-rds/commands/datetimes/week-day-text.js +0 -10
- package/blz-rds/commands/datetimes/week-day.js +0 -10
- package/blz-rds/commands/datetimes/week.js +0 -10
- package/blz-rds/commands/datetimes/year.js +0 -10
- package/blz-rds/commands/math/abs.js +0 -10
- package/blz-rds/commands/math/acos.js +0 -10
- package/blz-rds/commands/math/asin.js +0 -10
- package/blz-rds/commands/math/atan.js +0 -10
- package/blz-rds/commands/math/atan2.js +0 -11
- package/blz-rds/commands/math/ceil.js +0 -10
- package/blz-rds/commands/math/cos.js +0 -10
- package/blz-rds/commands/math/cosh.js +0 -10
- package/blz-rds/commands/math/exp.js +0 -10
- package/blz-rds/commands/math/floor.js +0 -10
- package/blz-rds/commands/math/log.js +0 -18
- package/blz-rds/commands/math/log10.js +0 -10
- package/blz-rds/commands/math/pow.js +0 -11
- package/blz-rds/commands/math/random.js +0 -9
- package/blz-rds/commands/math/round.js +0 -18
- package/blz-rds/commands/math/sign.js +0 -10
- package/blz-rds/commands/math/sin.js +0 -10
- package/blz-rds/commands/math/sinh.js +0 -10
- package/blz-rds/commands/math/sqrt.js +0 -10
- package/blz-rds/commands/math/tan.js +0 -10
- package/blz-rds/commands/math/tanh.js +0 -10
- package/blz-rds/commands/math/trunc.js +0 -18
- package/blz-rds/commands/strings/concat.js +0 -20
- package/blz-rds/commands/strings/contains.js +0 -12
- package/blz-rds/commands/strings/ends-with.js +0 -12
- package/blz-rds/commands/strings/index-of.js +0 -11
- package/blz-rds/commands/strings/is-null-or-empty.js +0 -11
- package/blz-rds/commands/strings/is-null-or-white-space.js +0 -11
- package/blz-rds/commands/strings/join.js +0 -22
- package/blz-rds/commands/strings/last-index-of.js +0 -11
- package/blz-rds/commands/strings/length.js +0 -10
- package/blz-rds/commands/strings/pad-left.js +0 -20
- package/blz-rds/commands/strings/pad-right.js +0 -20
- package/blz-rds/commands/strings/replace.js +0 -12
- package/blz-rds/commands/strings/starts-with.js +0 -12
- package/blz-rds/commands/strings/substring.js +0 -12
- package/blz-rds/commands/strings/to-lower.js +0 -10
- package/blz-rds/commands/strings/to-upper.js +0 -10
- package/blz-rds/commands/strings/trim-end.js +0 -10
- package/blz-rds/commands/strings/trim-start.js +0 -10
- package/blz-rds/commands/strings/trim.js +0 -10
- package/blz-rds/index.js +0 -744
- package/blz-rds-mysql/base.js +0 -857
- package/blz-rds-mysql/connection-manager.js +0 -129
- package/blz-rds-mysql/execute-bulk-insert.js +0 -35
- package/blz-rds-mysql/execute-bulk-merge.js +0 -45
- package/blz-rds-mysql/execute-non-query.js +0 -34
- package/blz-rds-mysql/execute-query.js +0 -50
- package/blz-rds-mysql/index.js +0 -41
- package/blz-rds-mysql/stored-procedure.js +0 -207
- package/blz-rds-mysqlx/base.js +0 -846
- package/blz-rds-mysqlx/connection-manager.js +0 -141
- package/blz-rds-mysqlx/execute-bulk-insert.js +0 -35
- package/blz-rds-mysqlx/execute-bulk-merge.js +0 -45
- package/blz-rds-mysqlx/execute-non-query.js +0 -29
- package/blz-rds-mysqlx/execute-query.js +0 -39
- package/blz-rds-mysqlx/index.js +0 -41
- package/blz-rds-mysqlx/stored-procedure.js +0 -179
- package/blz-rds-oracle/index.js +0 -539
- package/blz-rds-postgres/base.js +0 -861
- package/blz-rds-postgres/connection-manager.js +0 -225
- package/blz-rds-postgres/execute-bulk-insert.js +0 -81
- package/blz-rds-postgres/execute-bulk-merge.js +0 -93
- package/blz-rds-postgres/execute-non-query.js +0 -23
- package/blz-rds-postgres/execute-query.js +0 -37
- package/blz-rds-postgres/index.js +0 -41
- package/blz-rds-postgres/result-set.js +0 -51
- package/blz-rds-postgres/stored-procedure.js +0 -116
- package/blz-redis/index.js +0 -217
- package/blz-redis/lib/redisCache.js +0 -265
- package/blz-regex/index.js +0 -25
- package/blz-security/.eslintrc.js +0 -15
- package/blz-security/__test__/AuthorizationKpn.yaml +0 -1149
- package/blz-security/__test__/FinancingSetting.yaml +0 -177
- package/blz-security/__test__/KpnConfigPortal.yaml +0 -330
- package/blz-security/__test__/OrderManagement.yaml +0 -5190
- package/blz-security/__test__/Security.yaml +0 -128
- package/blz-security/__test__/autorization.test.js +0 -105
- package/blz-security/__test__/autorizationKpn.test.js +0 -42
- package/blz-security/__test__/orderManagement.test.js +0 -26
- package/blz-security/__test__/secureUrl.test.js +0 -79
- package/blz-security/__test__/solveMergeRule.test.js +0 -109
- package/blz-security/__test__/sqlInjectionGuard.test.js +0 -203
- package/blz-security/__test__/xssGuard.test.js +0 -204
- package/blz-security/authorizationService.js +0 -537
- package/blz-security/config/global.js +0 -8
- package/blz-security/config/welcome +0 -8
- package/blz-security/doc/README.md +0 -75
- package/blz-security/filescanner/index.js +0 -46
- package/blz-security/helpers/consts.js +0 -229
- package/blz-security/helpers/utils.js +0 -267
- package/blz-security/implementations/cache.js +0 -90
- package/blz-security/implementations/oidc.js +0 -404
- package/blz-security/implementations/pkceCacheStore.js +0 -23
- package/blz-security/implementations/saml.js +0 -10
- package/blz-security/implementations/uma.js +0 -63
- package/blz-security/implementations/webAuthn.js +0 -9
- package/blz-security/implementations/wstg.js +0 -72
- package/blz-security/index.js +0 -77
- package/blz-security/lab/index.js +0 -43
- package/blz-security/middleware/HapiServerAzureAd.js +0 -681
- package/blz-security/middleware/HapiServerKeycloak.js +0 -876
- package/blz-security/middleware/HapiServerSimToken.js +0 -286
- package/blz-security/middleware/hapi.js +0 -555
- package/blz-security/middleware/hapiServer.js +0 -1008
- package/blz-security/navigationMemoryRepository.js +0 -15
- package/blz-security/navigationMongoDbRepository.js +0 -73
- package/blz-security/secureUrlService.js +0 -47
- package/blz-security/securityService.js +0 -413
- package/blz-security/sqlInjectionGuard.js +0 -162
- package/blz-security/templates/forbidden.html +0 -0
- package/blz-security/templates/session-iframe-azure-ad.html +0 -7
- package/blz-security/templates/session-iframe.html +0 -73
- package/blz-security/templates/unauthorized.html +0 -1
- package/blz-security/xssGuard.js +0 -87
- package/blz-strings/index.js +0 -167
- package/blz-uuid/index.js +0 -7
- package/blz-yaml/index.js +0 -19
- package/index.js +0 -84
- package/process-managers/index.js +0 -422
- /package/{blz-rds-mysql → dist/blz-rds-mysql}/syntaxis.json +0 -0
- /package/{blz-rds-mysqlx → dist/blz-rds-mysqlx}/syntaxis.json +0 -0
- /package/{blz-rds-oracle → dist/blz-rds-oracle}/syntaxis.json +0 -0
- /package/{blz-rds-postgres → dist/blz-rds-postgres}/syntaxis.json +0 -0
- /package/{blz-security → dist/blz-security}/lab/ConfigurationAdmin.agent.json +0 -0
- /package/{blz-security → dist/blz-security}/lab/frontend.json +0 -0
- /package/{blz-security → dist/blz-security}/lab/result.json +0 -0
- /package/{blz-security → dist/blz-security}/lab/resultOnWeb.json +0 -0
- /package/{blz-security → dist/blz-security}/lab/rules.json +0 -0
- /package/{blz-security → dist/blz-security}/lab/securityRules.json +0 -0
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
export function errorUndefinedArgument(argName: any): Error;
|
|
2
|
+
export function compare(value1: any, value2: any): any;
|
|
3
|
+
export function all(list: any, fnCondition: any): boolean;
|
|
4
|
+
export function any(list: any, fnCondition: any): boolean;
|
|
5
|
+
export function avg(list: any, fnSelection: any): number;
|
|
6
|
+
export function concatList(...args: any[]): any[];
|
|
7
|
+
export function count(list: any): any;
|
|
8
|
+
export function distinct(list: any, fnSelection: any): any[];
|
|
9
|
+
export function elementAt(list: any, index: any): any;
|
|
10
|
+
export function getSelections(list: any, fnSelection: any): any;
|
|
11
|
+
export function except(listA: any, listB: any, fnSelection: any): any;
|
|
12
|
+
export function findAll(list: any, fnCondition: any): any[];
|
|
13
|
+
export function findFirstInternal(list: any, fnCondition: any): {
|
|
14
|
+
item: any;
|
|
15
|
+
index: number;
|
|
16
|
+
};
|
|
17
|
+
export function findFirst(list: any, fnCondition: any): any;
|
|
18
|
+
export function findIndex(list: any, fnCondition: any): number;
|
|
19
|
+
export function findLastInternal(list: any, fnCondition: any): {
|
|
20
|
+
item: any;
|
|
21
|
+
index: number;
|
|
22
|
+
};
|
|
23
|
+
export function findLast(list: any, fnCondition: any): any;
|
|
24
|
+
export function findLastIndex(list: any, fnCondition: any): number;
|
|
25
|
+
export function first(list: any): any;
|
|
26
|
+
export function flat(list: any, depth: any): any;
|
|
27
|
+
export function includes(list: any, searchElement: any, fromIndex: any): any;
|
|
28
|
+
export function insertAt(list: any, index: any, elements: any): any;
|
|
29
|
+
export function intersect(listA: any, listB: any, fnSelection: any): any[];
|
|
30
|
+
export function last(list: any): any;
|
|
31
|
+
export function max(list: any, fnSelection: any): any;
|
|
32
|
+
export function min(list: any, fnSelection: any): any;
|
|
33
|
+
export function removeAt(list: any, index: any, deleteCount: any): any;
|
|
34
|
+
export function reverse(list: any): any;
|
|
35
|
+
export function skip(list: any, count: any): any;
|
|
36
|
+
export function skipWhile(list: any, fnCondition: any): any;
|
|
37
|
+
export function slice(list: any, start: any, end: any): any;
|
|
38
|
+
export function sortInternal({ list, fnSelection, compareFunctionWithFnSelection, compareFunction }: {
|
|
39
|
+
list: any;
|
|
40
|
+
fnSelection: any;
|
|
41
|
+
compareFunctionWithFnSelection: any;
|
|
42
|
+
compareFunction: any;
|
|
43
|
+
}): any;
|
|
44
|
+
export function sort(list: any, fnSelection: any): any;
|
|
45
|
+
export function sortDescending(list: any, fnSelection: any): any;
|
|
46
|
+
export function sum(list: any, fnSelection: any): number;
|
|
47
|
+
export function take(list: any, count: any): any;
|
|
48
|
+
export function takeWhile(list: any, fnCondition: any): any;
|
|
49
|
+
export function union(listA: any, listB: any, fnSelection: any): any;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports={errorUndefinedArgument:function(n){const t=new Error;return t.code="UndefinedArgument",t.data={argName:n},t},compare:function(n,t){if(null===n&&null===t)return 0;if(null===n&&null!==t)return-1;if(null!==n&&null===t)return 1;const e=toString.call(n),l=toString.call(t);let r=null,u=null;if("[object String]"===e&&"[object String]"===l||"[object Number]"===e&&"[object Number]"===l)r=n,u=t;else if("[object Boolean]"===e&&"[object Boolean]"===l)r=n?1:0,u=t?1:0;else if("[object Date]"===e&&"[object Date]"===l)r=n.getTime(),u=t.getTime();else if("[object Object]"===e&&"[object Object]"===l)r=JSON.stringify(n),u=JSON.stringify(t);else{if("[object Array]"===e&&"[object Array]"===l){let e=this.compare(n.length,t.length);if(0!==e)return e;for(let l=0;l<n.length;++l){const r=n[l],u=t[l];if(e=this.compare(r,u),0!==e)return e}return 0}{const i=(n,t)=>{switch(n){case"[object String]":return t;case"[object Number]":default:return t.toString();case"[object Boolean]":return t?"1":"0";case"[object Date]":return t.toJSON()}};r=i(e,n),u=i(l,t)}}return r===u?0:r<u?-1:r>u?1:null},all:function(n,t){if(null===n)return!1;for(let e=0;e<n.length;++e){if(!t(n[e]))return!1}return!0},any:function(n,t){if(null===n)return!1;for(let e=0;e<n.length;++e){if(t(n[e]))return!0}return!1},avg:function(n,t){if(null===n)return null;let e=0,l=0;if(t)for(let r=0;r<n.length;++r){const u=t(n[r]);null!==u&&(e+=u,l++)}else for(let t=0;t<n.length;++t){const r=n[t];null!==r&&(e+=r,l++)}return e/l},concatList:function(){return 0===arguments.length||1===arguments.length&&null===arguments[0]?null:Array.from(arguments).filter(n=>null!==n).flat()},count:function(n){return null===n?null:n.length},distinct:function(n,t){if(null===n)return null;const e=[];if(t){const l=[];for(let r=0;r<n.length;++r){const u=n[r],i=t(u);-1===l.indexOf(i)&&(l.push(i),e.push(u))}}else for(let t=0;t<n.length;++t){const l=n[t];-1===e.indexOf(l)&&e.push(l)}return e},elementAt:function(n,t){if(null===n)return null;const e=n[t];return void 0===e?null:e},getSelections:function(n,t){if(!t)return n;const e=new Array(n.length);for(let l=0;l<n.length;++l)e[l]=t(n[l]);return e},except:function(n,t,e){if(null===n)return null;if(null===t)return n.slice();const l=this.getSelections(n,e),r=this.getSelections(t,e),u=[];for(let e=0;e<n.length;++e){let i=!1;for(let n=0;n<t.length;++n)if(0===this.compare(l[e],r[n])){i=!0;break}i||u.push(n[e])}return u},findAll:function(n,t){if(null===n)return null;const e=[];for(let l=0;l<n.length;++l){const r=n[l];t(r)&&e.push(r)}return e},findFirstInternal:function(n,t){if(null===n)return null;for(let e=0;e<n.length;++e){const l=n[e];if(t(l))return{item:l,index:e}}return{item:null,index:-1}},findFirst:function(n,t){const e=this.findFirstInternal(n,t);return null===e?null:e.item},findIndex:function(n,t){const e=this.findFirstInternal(n,t);return null===e?null:e.index},findLastInternal:function(n,t){if(null===n)return null;for(let e=n.length-1;e>-1;e--){const l=n[e];if(t(l))return{item:l,index:e}}return{item:null,index:-1}},findLast:function(n,t){const e=this.findLastInternal(n,t);return null===e?null:e.item},findLastIndex:function(n,t){const e=this.findLastInternal(n,t);return null===e?null:e.index},first:function(n){return null===n?null:n.length>0?n[0]:null},flat:function(n,t){return null===n?null:n.flat(t)},includes:function(n,t,e){return null!==n&&n.includes(t,e)},insertAt:function(n,t,e){if(null===n)return null;if(null===e)return n.slice();const l=n.slice();return l.splice(t,0,...e),l},intersect:function(n,t,e){if(null===n)return null;if(null===t)return null;const l=this.getSelections(n,e),r=this.getSelections(t,e),u=[];for(let e=0;e<n.length;++e){let i=!1;for(let n=0;n<t.length;n++)0===this.compare(l[e],r[n])&&(i=!0);i&&u.push(n[e])}return u},last:function(n){return null===n?null:n.length>0?n[n.length-1]:null},max:function(n,t){if(null===n)return null;let e=null;if(t)for(let l=0;l<n.length;++l){const r=t(n[l]);(null===e||this.compare(r,e)>0)&&(e=r)}else for(let t=0;t<n.length;++t){const l=n[t];(null===e||this.compare(l,e)>0)&&(e=l)}return e},min:function(n,t){if(null===n)return null;let e=null;if(t)for(let l=0;l<n.length;++l){const r=t(n[l]);(null===e||this.compare(r,e)<0)&&(e=r)}else for(let t=0;t<n.length;++t){const l=n[t];(null===e||this.compare(l,e)<0)&&(e=l)}return e},removeAt:function(n,t,e){if(null===n)return null;const l=n.slice();return l.splice(t,e),l},reverse:function(n){return null===n?null:n.slice().reverse()},skip:function(n,t){return null===n?null:n.slice(t)},skipWhile:function(n,t){if(null===n)return null;for(let e=0;e<n.length;++e)if(!t(n[e]))return n.slice(e);return[]},slice:function(n,t,e){return null===n?null:n.slice(t,e)},sortInternal:function({list:n,fnSelection:t,compareFunctionWithFnSelection:e,compareFunction:l}){if(null===n)return null;if(!t)return n.slice().sort(l);const r=new Array(n.length);for(let e=0;e<n.length;++e)r[e]={index:e,compareValue:t(n[e])};const u=r.sort(e),i=new Array(u.length);for(let t=0;t<u.length;++t)i[t]=n[u[t].index];return i},sort:function(n,t){return this.sortInternal({list:n,fnSelection:t,compareFunctionWithFnSelection:function(n,t){return this.compare(n.compareValue,t.compareValue)}.bind(this),compareFunction:function(n,t){return this.compare(n,t)}.bind(this)})},sortDescending:function(n,t){return this.sortInternal({list:n,fnSelection:t,compareFunctionWithFnSelection:function(n,t){return this.compare(t.compareValue,n.compareValue)}.bind(this),compareFunction:function(n,t){return this.compare(t,n)}.bind(this)})},sum:function(n,t){if(null===n)return null;let e=0;if(t)for(let l=0;l<n.length;++l){const r=t(n[l]);null!==r&&(e+=r)}else for(let t=0;t<n.length;++t){const l=n[t];null!==l&&(e+=l)}return e},take:function(n,t){return null===n?null:n.slice(0,t)},takeWhile:function(n,t){if(null===n)return null;let e;for(e=0;e<n.length&&t(n[e]);++e);return n.slice(0,e)},union:function(n,t,e){if(null===n&&null===t)return null;if(null===n)return t.slice();if(null===t)return n.slice();if(!e)return[...new Set(n.concat(t))];const l=[],r=[];for(let t=0;t<n.length;++t){const u=n[t],i=e(u);-1===r.indexOf(i)&&(r.push(i),l.push(u))}for(let n=0;n<t.length;++n){const u=t[n],i=e(u);-1===r.indexOf(i)&&(r.push(i),l.push(u))}return l}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export function jsonSchemaValidate(data: any, schema: any): import("jsonschema").ValidatorResult;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const validate=require("jsonschema").validate;module.exports={jsonSchemaValidate:function(e,a){if(null==a)throw new Error("schema undefined");let r=validate(e,a);return r.valid=0===r.errors.length,r}};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export class JwtSecretKeyNotDefined extends Error {
|
|
2
|
+
constructor();
|
|
3
|
+
code: string;
|
|
4
|
+
}
|
|
5
|
+
import jwt = require("jsonwebtoken");
|
|
6
|
+
export declare function jwtSign(payload: any, secret: any, algorithm: any): string;
|
|
7
|
+
export declare function jwtVerify(token: any, secret: any): string | jwt.JwtPayload;
|
|
8
|
+
export declare function jwtDecode(token: any): string | jwt.JwtPayload;
|
|
9
|
+
export declare function jwtCreateToken(id: any, expiresIn?: string): never;
|
|
10
|
+
export declare function jwtGetId(token: any): any;
|
|
11
|
+
export declare function jwtEncodeUrl(url: any, expiresIn?: string): string;
|
|
12
|
+
export declare function jwtDecodeUrl(url: any): string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const jwt=require("jsonwebtoken");class JwtSecretKeyNotDefined extends Error{constructor(){super("JWT_SECRET_KEY is not defined."),this.name="JwtSecretKeyNotDefined",this.code="JwtSecretKeyNotDefined"}}function getJwtSecretKey(){const e=process.env.JWT_SECRET_KEY;if(!e||""===e.trim())throw new JwtSecretKeyNotDefined;return e}module.exports={JwtSecretKeyNotDefined:JwtSecretKeyNotDefined,jwtSign:function(e,t,r){try{switch(r){case"HMAC-SHA256":return jwt.sign(e,t,{algorithm:"HS256"});case"HMAC-SHA384":return jwt.sign(e,t,{algorithm:"HS384"});case"HMAC-SHA512":return jwt.sign(e,t,{algorithm:"HS512"});default:throw new Error("Invalid encryption algorithm")}}catch(e){if("TokenExpiredError"===e.name){let t=new Error;throw t.code="JwtExpired",t.data={expiredAt:e.expiredAt},t}throw e}},jwtVerify:function(e,t){try{return jwt.verify(e,t)}catch(e){if("TokenExpiredError"===e.name){let t=new Error;throw t.code="JwtExpired",t.data={expiredAt:e.expiredAt},t}{let e=new Error;throw e.code="JwtError",e.data={},e}}},jwtDecode:function(e){try{return jwt.decode(e)}catch(e){if("TokenExpiredError"===e.name){let t=new Error;throw t.code="JwtExpired",t.data={expiredAt:e.expiredAt},t}{let e=new Error;throw e.code="JwtError",e.data={},e}}},jwtCreateToken:function(e,t="10s"){return jwt.sign({id:e},getJwtSecretKey(),{expiresIn:t})},jwtGetId:function(e){try{return jwt.verify(e,getJwtSecretKey()).id}catch(e){const t=new Error("Invalid or expired token");throw t.code="JwtInvalid",t.data=e.message,t}},jwtEncodeUrl:function(e,t="10s"){const[r,n]=e.split("?");return r.split("/").map(e=>/^\d+$/.test(e)?jwt.sign({id:parseInt(e)},getJwtSecretKey(),{expiresIn:t}):e).join("/")+(n?`?${n}`:"")},jwtDecodeUrl:function(e){const[t,r]=e.split("?");return t.split("/").map(e=>{try{const t=jwt.verify(e,getJwtSecretKey());return t.id?.toString()??e}catch{return e}}).join("/")+(r?`?${r}`:"")}};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export function kafkaConfig(connection: any, config: any): Promise<boolean>;
|
|
2
|
+
export function kafkaGetTopics(connection: any): Promise<string[]>;
|
|
3
|
+
export function kafkaSend(connection: any, topic: any, messages: any): Promise<any>;
|
|
4
|
+
export function kafkaConnections(kafkaConsumers: any, connections: any, buildConfigItems: any, runHelper: any): Promise<{}>;
|
|
5
|
+
export function startKafkaConsumers(kafkas: any, config: any, kafkaConsumers: any, connections: any, runHelper: any): Promise<void>;
|
|
6
|
+
export function kafkaConnectionHealthCheck(connection: any): Promise<{
|
|
7
|
+
status: string;
|
|
8
|
+
message: any;
|
|
9
|
+
}>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const Kafkajs=require("kafkajs"),Fs=require("fs-extra"),retry=require("async-retry"),logger=require("pino")();let convertToString=function(e){if(null===e)return null;let t=toString.call(e);if("[object String]"===t)return e;if("[object Number]"===t)return e.toString();if("[object Uint8Array]"===t)return e.toString();if("[object Boolean]"===t)return e?"true":"false";if("[object Date]"===t)return e.toJSON();if("[object Object]"===t&&"Buffer"===e.type&&e.data)return Buffer.from(e.data).toString();throw this.errorInvalidConversion(e,"string")},producers={};const getConfig=async function(e){let t={};return e.brokers&&(t.brokers=e.brokers.split(",")),t.connectionTimeout=e.connectionTimeout||3e3,t.authenticationTimeout=e.authenticationTimeout||1e3,t.reauthenticationThreshold=e.reauthenticationThreshold||1e4,e.requestTimeout&&(t.requestTimeout=e.requestTimeout),(e.connectionRetries||e.connectionInitialRetryTime||e.connectionMaxRetryTime||e.connectionRetryFactor)&&(t.retry={},e.connectionRetries&&(t.retry.retries=e.connectionRetries),e.connectionInitialRetryTime&&(t.retry.initialRetryTime=e.connectionInitialRetryTime),e.connectionMaxRetryTime&&(t.retry.maxRetryTime=e.connectionMaxRetryTime),e.connectionRetryFactor&&(t.retry.factor=e.connectionRetryFactor)),e.ssl&&(t.ssl={},e.sslPfx&&(t.ssl.pfx=await convertFileArg(e.sslPfx)),e.sslKey&&(t.ssl.key=await convertFileArg(e.sslKey)),e.sslPassphrase&&(t.ssl.passphrase=e.sslPassphrase),e.sslCert&&(t.ssl.cert=await convertFileArg(e.sslCert)),e.sslCa&&(t.ssl.ca=await convertFileArg(e.sslCa)),e.sslCrl&&(t.ssl.crl=await convertFileArg(e.sslCrl)),e.sslCiphers&&(t.ssl.ciphers=e.sslCiphers),e.sslSecureProtocol&&(t.ssl.secureProtocol=e.sslSecureProtocol)),e.sasl&&(t.sasl={mechanism:e.saslMechanism,username:e.saslUsername,password:e.saslPassword}),t.logLevel=Kafkajs.logLevel.ERROR,t};let getOrCreateProducer=async function(e){let t=producers[e.name];if(t)return t;let r=await getConfig(e);return t=new Kafkajs.Kafka(r).producer({createPartitioner:Kafkajs.Partitioners.LegacyPartitioner}),await t.connect(),producers[e.name]=t,t},getOrCreateAdmin=async function(e,t){let r=await getConfig(e),a=new Kafkajs.Kafka(r);return admin=a.admin(),await admin.connect(),producers[e.name]=producer,producer},convertFileArg=async function(e){if(e){let t=e.split(",");if(1===t.length)return await Fs.readFile(t[0],"utf-8");if(t.length>1){let e=[];for(let r=0;r<t.length;r++){t[0];e.push(Fs.readFile(t[r],"utf-8"))}return await Promise.all(e)}}return null};async function createKafkaInstances(e,t,r,a){let o={};for(let n in e){let s=e[n],i=o[s.systemName];if(i)continue;let c=t[s.systemName];if(!c){const e=r[s.systemName];e&&"omit"!==e.action?console.log(`Connection ${s.systemName} undefined`):e||console.log(`Config ${s.systemName} undefined`);continue}if(c.provider)i=c;else{let e={};c.brokers&&(e.brokers=c.brokers.split(",")),e.connectionTimeout=c.connectionTimeout||3e3,e.authenticationTimeout=c.authenticationTimeout||1e3,e.reauthenticationThreshold=c.reauthenticationThreshold||1e4,c.requestTimeout&&(e.requestTimeout=c.requestTimeout),(c.connectionRetries||c.connectionInitialRetryTime||c.connectionMaxRetryTime||c.connectionRetryFactor)&&(e.retry={},c.connectionRetries&&(e.retry.retries=c.connectionRetries),c.connectionInitialRetryTime&&(e.retry.initialRetryTime=c.connectionInitialRetryTime),c.connectionMaxRetryTime&&(e.retry.maxRetryTime=c.connectionMaxRetryTime),c.connectionRetryFactor&&(e.retry.factor=c.connectionRetryFactor)),c.ssl&&(e.ssl={},c.sslPfx&&(e.ssl.pfx=await convertFileArg(c.sslPfx)),c.sslKey&&(e.ssl.key=await convertFileArg(c.sslKey)),c.sslPassphrase&&(e.ssl.passphrase=c.sslPassphrase),c.sslCert&&(e.ssl.cert=await convertFileArg(c.sslCert)),c.sslCa&&(e.ssl.ca=await convertFileArg(c.sslCa)),c.sslCrl&&(e.ssl.crl=await convertFileArg(c.sslCrl)),c.sslCiphers&&(e.ssl.ciphers=c.sslCiphers),c.sslSecureProtocol&&(e.ssl.secureProtocol=c.sslSecureProtocol)),c.sasl&&(e.sasl={mechanism:c.saslMechanism,username:c.saslUsername,password:c.saslPassword}),e.logLevel=Kafkajs.logLevel.ERROR,e.logCreator=()=>({namespace:e,level:t,label:r,log:o})=>{1===t&&o.message&&o.message.includes("The group is rebalancing")||(1===t?a.logError(`[${e}] : ${JSON.stringify(o.message)}`,e,o):a.log(`[${e}] : ${o.message}`))},i=new Kafkajs.Kafka(e)}o[s.systemName]=i}return o}async function startKafkaConsumers(e,t,r,a,o){for(let n in r){let s=r[n],i=a[s.systemName];if(!i){console.log(`Kafka connection : ${s.systemName} not defined or ommited`);continue}let c={};c.errorOptions=i.errorOptions??!1,c.manualCommit=i.messageManualCommit??!1,c.retries=i.messageRetryCount??5,c.initialRetryTime=i.initialRetryTime??300,c.factor=i.messageRetryFactor??2,c.multiplier=i.messageRetryMultiplier??2,c.traceAll=i.traceAll??!1,c.retryTopic=s.useErrorTopic&&s.parameterizedErrorTopic?t.parameters[s.parameterizedErrorTopic.configParameterName]:"";let l=[];if(s.topics)for(let e=0;e<s.topics.length;e++){let t=s.topics[e];l.push(t)}if(s.parameterizedTopics)for(let e=0;e<s.parameterizedTopics.length;e++){let r=s.parameterizedTopics[e];t.parameters[r.configParameterName]?l.push(t.parameters[r.configParameterName]):console.error(`Kafka: ${r.configParameterName} parameter not had topic defined`)}let m=e[s.systemName];if(!m){console.error(`Kafka ${s.systemName} not found`);continue}const u=s.isParameterizedGroupId?t.parameters[s.parameterizedGroupId.configParameterName]:s.groupId;if(null!=u&&""!==u.trim())if(0!==l.length){if(m.provider)setInterval(async function(){let e=await m.provider.consume(m,u,l);for(;e;){let t=o.createCallContext("Running Kafka Consumer ["+n+"]...");try{c.traceAll&&console.log("KAFKA CONSUMER | "+n+" | TOPIC: "+e.topic+(e.partition?" | PARTITION: "+e.partition:"")+(e.message.key?" | MESSAGE KEY: "+convertToString(e.message.key):"")+(e.message.value?" | MESSAGE VALUE: "+convertToString(e.message.value):""));let r={topic:e.topic,partition:e.partition,message:{key:e.message.key,value:e.message.value,headers:e.message.headers}};await o.runAlgorithm(t,{elementType:"KafkaConsumer",elementName:n,path:s.path,aliasesMatches:s.aliasesMatches},null,s.algorithm,r),c.manualCommit&&await consumer.commitOffsets([{topic:topic,partition:partition,offset:(Number(message.offset)+1).toString()}])}catch(e){o.logError(e)}await o.terminateCallContext(t),e=await m.provider.consume(m,u,l)}},4e3);else try{let e={},t={sessionTimeout:6e4,heartbeatInterval:6e3,maxBytesPerPartition:2097152,maxBytes:20971520,maxWaitTimeInMs:5e3,minBytes:1,maxInFlightRequests:10,retry:{initialRetryTime:100,retries:5,factor:2,multiplier:2}};i.consumerOptions&&(e={...t,...i.consumerOptions});let r=m.consumer({groupId:u});await r.connect(e);for(let e=0;e<l.length;e++){const t=l[e];if(t&&""!==t.trim())try{await r.subscribe({topic:t,fromBeginning:s.fromBeginning})}catch(e){o.logError(new Error(`Kafka: error whit topic ${t}: ${e.message} `,e))}else o.logError(new Error(`Kafka: ${n} consumer not had topic defined`))}r.on(r.events.GROUP_JOIN,async e=>{try{const t=e&&e.payload&&e.payload.groupId?e.payload.groupId:"undefined",r=e&&e.payload&&e.payload.memberId?e.payload.memberId:"undefined";console.log(`Consumer with member ID ${r} has joined the group: ${t}`)}catch(e){console.error("Error in GROUP_JOIN event handler:",e)}}),r.on(r.events.REBALANCING,async e=>{try{const t=e&&e.payload&&e.payload.groupId?e.payload.groupId:"undefined",r=e&&e.payload&&e.payload.memberId?e.payload.memberId:"undefined";console.log(`Consumer with member ID ${r} has joined the group: ${t}`)}catch(e){console.error("Error in GROUP_JOIN event handler:",e)}}),r.on(r.events.DISCONNECT,async e=>{o.log(`Consumer disconnected: ${JSON.stringify(e)}`),await r.connect()}),r.on(r.events.CRASH,async e=>{o.logError(`Consumer crashed: ${e.error.message}`,e.error),await r.disconnect(),await r.connect()}),await r.run({autoCommit:!c.manualCommit,eachMessage:async function({topic:e,partition:t,message:a}){let l=o.createCallContext("Running Kafka Consumer ["+n+"]...");try{await retry(async(r,i)=>{c.traceAll&&console.log(`Attempt ${i} | KAFKA CONSUMER | `+n+" | TOPIC: "+e+(t?" | PARTITION: "+t:"")+(a.key?" | MESSAGE KEY: "+convertToString(a.key):"")+(a.value?" | MESSAGE VALUE: "+convertToString(a.value):""));let m={topic:e,partition:t,message:{key:a.key,value:a.value,headers:a.headers}};await o.runAlgorithm(l,{elementType:"KafkaConsumer",elementName:n,path:s.path,aliasesMatches:s.aliasesMatches},null,s.algorithm,m)},{retries:c.retries,minTimeout:c.initialRetryTime}),c.manualCommit&&await r.commitOffsets([{topic:e,partition:t,offset:(Number(a.offset)+1).toString()}])}catch(o){c.traceAll&&console.error(o),c.retryTopic&&""!==c.retryTopic&&(await module.exports.kafkaSend(i,c.retryTopic,[a]),await r.commitOffsets([{topic:e,partition:t,offset:(Number(a.offset)+1).toString()}]))}await o.terminateCallContext(l)},retry:{retries:c.retries,initialRetryTime:c.initialRetryTime,factor:c.factor,multiplier:c.multiplier},rebalance:{eachGroupJoin:async({groupId:e,memberId:t,groupAssignment:r})=>{console.log(`KAFKA CONSUMER | ${n} | memberId: ${t} joined the group ${e}`)},eachGroupLeave:async({groupId:e,memberId:t})=>{console.log(`KAFKA CONSUMER | ${n} | memberId: ${t} left the group ${e}`)}}})}catch(e){o.logError(e)}"true"!==process.env.blz_traceAll&&"true"!==process.env.blz_traceKafkaConsumers||console.log("KAFKA CONSUMER | "+n+" | Start")}else console.error(`Kafka: ${n} consumer not had topics defined`);else console.error(`Kafka: ${n} consumer not had groupId defined`)}}module.exports={kafkaConfig:async function(e,t){if(!(t&&t.topicsConfig&&t.topicsConfig.topics&&t.topicsConfig.topics.length&&0!==t.topicsConfig.topics.length))throw new Error("Invalid config");for(let e=0;e<t.topicsConfig.topics.length;e++){let r=t.topicsConfig.topics[e];if(!r.topic||0===r.topic.trim().length)throw new Error(`Invalid topic ${e+1} config`)}let r=!1,a=null,o=null;try{let a=await getConfig(e);o=new Kafkajs.Kafka(a).admin(),await o.connect();const n=await o.listTopics();let s=t.topicsConfig.topics.filter(e=>!n.includes(e.topic));s&&s.length>0&&(t.topicsConfig.topics=s,r=await o.createTopics(t.topicsConfig))}catch(e){a=e}finally{o&&await o.disconnect()}if(a)throw a;return r},kafkaGetTopics:async function(e){let t=await getConfig(e);const r=new Kafkajs.Kafka(t).admin();await r.connect();const a=await r.listTopics();return await r.disconnect(),a},kafkaSend:async function(e,t,r){if(e.provider)return await e.provider.produce(e,t,r),null;let a=await getOrCreateProducer(e);return await a.send({topic:t,messages:r}),null},kafkaConnections:async function(e,t,r,a){return createKafkaInstances(e,t,r,a)},startKafkaConsumers:async function(e,t,r,a,o){startKafkaConsumers(e,t,r,a,o)},kafkaConnectionHealthCheck:async function(e){if(!e.brokers)return{status:"error",message:"Kafka broker list not defined"};const t=new Kafkajs.Kafka({brokers:[e.brokers]});try{const e=t.admin();await e.connect();const r=await e.fetchTopicMetadata({topics:[]});return logger.info({message:"Kafka is reachable!",metadata:r}),await e.disconnect(),{status:"ok",message:"Kafka connected, metadata vissible"}}catch(e){return logger.info({message:"Kafka is not reachable",error:e}),{status:"error",message:e.message}}}};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export function abs(value: any): number;
|
|
2
|
+
export function acos(value: any): number;
|
|
3
|
+
export function asin(value: any): number;
|
|
4
|
+
export function atan(value: any): number;
|
|
5
|
+
export function atan2(valueX: any, valueY: any): number;
|
|
6
|
+
export function ceil(value: any): number;
|
|
7
|
+
export function cos(value: any): number;
|
|
8
|
+
export function cosh(value: any): number;
|
|
9
|
+
export function exp(value: any): number;
|
|
10
|
+
export function floor(value: any): number;
|
|
11
|
+
export function log(value: any, base: any): number;
|
|
12
|
+
export function log10(value: any): number;
|
|
13
|
+
export function pow(value: any, power: any): number;
|
|
14
|
+
export function random(): number;
|
|
15
|
+
export function round(value: any, decimals: any): number;
|
|
16
|
+
export function sign(value: any): number;
|
|
17
|
+
export function sin(value: any): number;
|
|
18
|
+
export function sinh(value: any): number;
|
|
19
|
+
export function sqrt(value: any): number;
|
|
20
|
+
export function tan(value: any): number;
|
|
21
|
+
export function tanh(value: any): number;
|
|
22
|
+
export function trunc(value: any, decimals: any): number;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports={abs:function(n){return null==n?null:Math.abs(n)},acos:function(n){return null==n?null:Math.acos(n)},asin:function(n){return null==n?null:Math.asin(n)},atan:function(n){return null==n?null:Math.atan(n)},atan2:function(n,l){return null==n||null==l?null:Math.atan(l,n)},ceil:function(n){return null==n?null:Math.ceil(n)},cos:function(n){return null==n?null:Math.cos(n)},cosh:function(n){return null==n?null:Math.cosh(n)},exp:function(n){return null==n?null:Math.exp(n)},floor:function(n){return null==n?null:Math.floor(n)},log:function(n,l){return null==n?null:l?Math.log(n)/Math.log(l):Math.log(n)},log10:function(n){return null==n?null:Math.log10(n)},pow:function(n,l){return null==n?null:Math.pow(n,l||0)},random:function(){if("undefined"!=typeof window){let l=window.crypto||window.msCrypto;var n=new Uint32Array(2);return l.getRandomValues(n),(n[0]*Math.pow(2,20)+(n[1]>>>12))*Math.pow(2,-52)}return require("crypto").randomBytes(4).readUInt32BE(0)/4294967296},round:function(n,l){return null==n?null:l?Math.round(n*Math.pow(10,l))/Math.pow(10,l):Math.round(n)},sign:function(n){return null==n?null:Math.sign(n)},sin:function(n){return null==n?null:Math.sin(n)},sinh:function(n){return null==n?null:Math.sinh(n)},sqrt:function(n){return null==n?null:Math.sqrt(n)},tan:function(n){return null==n?null:Math.tan(n)},tanh:function(n){return null==n?null:Math.tanh(n)},trunc:function(n,l){return null==n?null:l?Math.trunc(n*Math.pow(10,l))/Math.pow(10,l):Math.trunc(n)}};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
export function mongodbAggregate(connection: any, collectionName: any, pipeline: any, options: any): Promise<any>;
|
|
2
|
+
export function mongodbBulkWrite(connection: any, collectionName: any, operations: any, options: any): Promise<any>;
|
|
3
|
+
export function mongodbCountDocuments(connection: any, collectionName: any, query: any, options: any): Promise<any>;
|
|
4
|
+
export function mongodbCreateIndex(connection: any, collectionName: any, fieldOrSpec: any, options: any): Promise<any>;
|
|
5
|
+
export function mongodbDeleteMany(connection: any, collectionName: any, filter: any, options: any): Promise<any>;
|
|
6
|
+
export function mongodbDeleteOne(connection: any, collectionName: any, filter: any, options: any): Promise<any>;
|
|
7
|
+
export function mongodbDistinct(connection: any, collectionName: any, key: any, query: any, options: any): Promise<any>;
|
|
8
|
+
export function mongodbDrop(connection: any, collectionName: any, options: any): Promise<any>;
|
|
9
|
+
export function mongodbDropIndex(connection: any, collectionName: any, indexName: any, options: any): Promise<any>;
|
|
10
|
+
export function mongodbDropIndexes(connection: any, collectionName: any, options: any): Promise<any>;
|
|
11
|
+
export function mongodbFind(connection: any, collectionName: any, query: any, options: any): Promise<any>;
|
|
12
|
+
export function mongodbFindOne(connection: any, collectionName: any, query: any, options: any): Promise<any>;
|
|
13
|
+
export function mongodbGeoHaystackSearch(connection: any, collectionName: any, x: any, y: any, options: any): Promise<any[]>;
|
|
14
|
+
export function mongodbIndexExists(connection: any, collectionName: any, indexName: any, options: any): Promise<any>;
|
|
15
|
+
export function mongodbInsertMany(connection: any, collectionName: any, docs: any, options: any): Promise<any>;
|
|
16
|
+
export function mongodbInsertOne(connection: any, collectionName: any, doc: any, options: any): Promise<any>;
|
|
17
|
+
export function mongodbIsCapped(connection: any, collectionName: any, options: any): Promise<any>;
|
|
18
|
+
export function mongodbListIndexes(connection: any, collectionName: any, options: any): Promise<any>;
|
|
19
|
+
export function mongodbOptions(connection: any, collectionName: any, options: any): Promise<any>;
|
|
20
|
+
export function mongodbReIndex(connection: any, collectionName: any, options: any): Promise<any>;
|
|
21
|
+
export function mongodbReplaceOne(connection: any, collectionName: any, filter: any, replacement: any, options: any): Promise<any>;
|
|
22
|
+
export function mongodbStats(connection: any, collectionName: any, options: any): Promise<any>;
|
|
23
|
+
export function mongodbUpdateMany(connection: any, collectionName: any, filter: any, update: any, options: any): Promise<any>;
|
|
24
|
+
export function mongodbUpdateOne(connection: any, collectionName: any, filter: any, update: any, options: any): Promise<any>;
|
|
25
|
+
export function mongodbConnectionHealthCheck(connection: any): Promise<{
|
|
26
|
+
status: string;
|
|
27
|
+
message: any;
|
|
28
|
+
}>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const{MongoClient:MongoClient,ObjectId:ObjectId}=require("mongodb"),Fs=require("fs-extra"),AsyncRetry=require("async-retry");let mongodbConnections={},getMongodbConnection=async function(o){let n=mongodbConnections[o.name];if(null==n){let e={};o.ssl&&(e.ssl=!0,o.sslCert&&(e.sslCert=await convertFileArg(o.sslCert)),o.sslCrl&&(e.tlsCRLFile=await convertFileArg(o.sslCrl)),o.sslKey&&(e.tlsCertificateKeyFile=await convertFileArg(o.sslKey)),o.sslPass&&(e.tlsCertificateKeyFilePassword=o.sslPass),o.sslValidate&&(e.sslValidate=!0)),o.tls&&(e.tls=!0,o.tlsCaFile&&(e.tlsCAFile=o.tlsCaFile),o.caFile&&(e.tlsCAFile=o.caFile),o.tlsCertificateFile&&(e.tlsCertificateFile=await convertFileArg(o.tlsCertificateFile)),o.tlsCertificateKeyFile&&(e.tlsCertificateKeyFile=await convertFileArg(o.tlsCertificateKeyFile)),o.tlsCertificateKeyFilePassword&&(e.tlsCertificateKeyFilePassword=o.tlsCertificateKeyFilePassword));let t=null;o.useRetries?await AsyncRetry(async()=>{t=new MongoClient(o.url,e);try{await t.connect()}catch(o){throw console.error("Error connecting to MongoDB:",o),o}},{retries:o.retryCount,minTimeout:1e3*o.minRetryInterval,maxTimeout:1e3*o.maxRetryInterval}):t=await MongoClient.connect(o.url,e),n=t.db(o.databaseName),mongodbConnections[o.name]=n}return n},convertFileArg=async function(o){if(o){let n=o.split(",");if(1===n.length)return await Fs.readFile(n[0],"utf-8");if(n.length>1){let o=[];for(let e=0;e<n.length;e++){n[0];o.push(Fs.readFile(n[e],"utf-8"))}return await Promise.all(o)}}return null},convertFromMongodb=function(o){if(o){let n=toString.call(o);if("[object Object]"===n){if(o._bsontype&&"ObjectID"===o._bsontype){let n={};return n.$oid=o.toHexString(),n}for(let n in o)o[n]=convertFromMongodb(o[n])}else if("[object Array]"===n)for(let n=0;n<o.length;n++)o[n]=convertFromMongodb(o[n])}return o},convertToMongodb=function(o){if(o){let n=toString.call(o);if("[object Object]"===n){if(o.$oid)return new ObjectId(o.$oid);for(let n in o)o[n]=convertToMongodb(o[n])}else if("[object Array]"===n)for(let n=0;n<o.length;n++)o[n]=convertToMongodb(o[n])}return o},mongodbAggregate=async function(o,n,e,t){let r=await getMongodbConnection(o),i=await r.collection(n).aggregate(convertToMongodb(e),t);return i?await i.map(function(o){return convertFromMongodb(o)}).toArray():null},mongodbBulkWrite=async function(o,n,e,t){let r=await getMongodbConnection(o),i=await r.collection(n).bulkWrite(convertToMongodb(e),t);return convertFromMongodb(i)},mongodbCountDocuments=async function(o,n,e,t){let r=await getMongodbConnection(o),i=await r.collection(n).countDocuments(convertToMongodb(e),t);return convertFromMongodb(i)},mongodbCreateIndex=async function(o,n,e,t){let r=await getMongodbConnection(o),i=await r.collection(n).createIndex(convertToMongodb(e),t);return convertFromMongodb(i)},mongodbDeleteMany=async function(o,n,e,t){let r=await getMongodbConnection(o),i=await r.collection(n).deleteMany(convertToMongodb(e),t);return convertFromMongodb(i).deletedCount},mongodbDeleteOne=async function(o,n,e,t){let r=await getMongodbConnection(o),i=await r.collection(n).deleteOne(convertToMongodb(e),t);return convertFromMongodb(i).deletedCount},mongodbDistinct=async function(o,n,e,t,r){let i=await getMongodbConnection(o),a=await i.collection(n).distinct(e,convertToMongodb(t),r);return convertFromMongodb(a)},mongodbDrop=async function(o,n,e){let t=await getMongodbConnection(o),r=await t.collection(n).drop(e);return convertFromMongodb(r)},mongodbDropIndex=async function(o,n,e,t){let r=await getMongodbConnection(o),i=await r.collection(n).dropIndex(e,t);return convertFromMongodb(i)},mongodbDropIndexes=async function(o,n,e){let t=await getMongodbConnection(o),r=await t.collection(n).dropIndexes(e);return convertFromMongodb(r)},mongodbFind=async function(o,n,e,t){let r=await getMongodbConnection(o),i=await r.collection(n).find(convertToMongodb(e),t);if(i){return await i.map(function(o){return convertFromMongodb(o)}).toArray()}return[]},mongodbFindOne=async function(o,n,e,t){let r=await getMongodbConnection(o),i=await r.collection(n).findOne(convertToMongodb(e),t);return convertFromMongodb(i)},mongodbGeoHaystackSearch=async function(o,n,e,t,r){let i=await getMongodbConnection(o),a=await i.collection(n).geoHaystackSearch(e,t,r);if(a&&a.results){let o=[];for(let n=0;n<a.results.length;n++)o.push(convertFromMongodb(a.results[n]));return o}return[]},mongodbIndexExists=async function(o,n,e,t){let r=await getMongodbConnection(o),i=await r.collection(n).indexExists(e,t);return convertFromMongodb(i)},mongodbInsertMany=async function(o,n,e,t){let r=await getMongodbConnection(o),i=await r.collection(n).insertMany(convertToMongodb(e),t);return convertFromMongodb(i)},mongodbInsertOne=async function(o,n,e,t){let r=await getMongodbConnection(o),i=await r.collection(n).insertOne(convertToMongodb(e),t);return convertFromMongodb(i).insertedId},mongodbIsCapped=async function(o,n,e){let t=await getMongodbConnection(o),r=await t.collection(n).isCapped(e);return convertFromMongodb(r)},mongodbListIndexes=async function(o,n,e){let t=await getMongodbConnection(o),r=await t.collection(n).listIndexes(e);return r?await r.map(function(o){return convertFromMongodb(o)}).toArray():[]},mongodbOptions=async function(o,n,e){let t=await getMongodbConnection(o),r=await t.collection(n).options(e);return convertFromMongodb(r)},mongodbReIndex=async function(o,n,e){let t=await getMongodbConnection(o),r=await t.collection(n).reIndex(e);return convertFromMongodb(r)},mongodbReplaceOne=async function(o,n,e,t,r){let i=await getMongodbConnection(o),a=await i.collection(n).replaceOne(convertToMongodb(e),convertToMongodb(t),r);return convertFromMongodb(a)},mongodbStats=async function(o,n,e){let t=await getMongodbConnection(o),r=await t.collection(n).stats(e);return convertFromMongodb(r)},mongodbUpdateMany=async function(o,n,e,t,r){let i=await getMongodbConnection(o),a=await i.collection(n).updateMany(convertToMongodb(e),convertToMongodb(t),r);return convertFromMongodb(a)},mongodbUpdateOne=async function(o,n,e,t,r){let i=await getMongodbConnection(o),a=await i.collection(n).updateOne(convertToMongodb(e),convertToMongodb(t),r);return convertFromMongodb(a)},mongodbConnectionHealthCheck=async function(o){try{let n=mongodbConnections[o.name]??await getMongodbConnection(o);return(await n.listCollections().toArray()).length>0?{status:"ok",message:"Connected, and collections readable."}:{status:"ok",message:"Connected, but no collections readable."}}catch(o){return{status:"error",message:o.message}}};module.exports={mongodbAggregate:mongodbAggregate,mongodbBulkWrite:mongodbBulkWrite,mongodbCountDocuments:mongodbCountDocuments,mongodbCreateIndex:mongodbCreateIndex,mongodbDeleteMany:mongodbDeleteMany,mongodbDeleteOne:mongodbDeleteOne,mongodbDistinct:mongodbDistinct,mongodbDrop:mongodbDrop,mongodbDropIndex:mongodbDropIndex,mongodbDropIndexes:mongodbDropIndexes,mongodbFind:mongodbFind,mongodbFindOne:mongodbFindOne,mongodbGeoHaystackSearch:mongodbGeoHaystackSearch,mongodbIndexExists:mongodbIndexExists,mongodbInsertMany:mongodbInsertMany,mongodbInsertOne:mongodbInsertOne,mongodbIsCapped:mongodbIsCapped,mongodbListIndexes:mongodbListIndexes,mongodbOptions:mongodbOptions,mongodbReIndex:mongodbReIndex,mongodbReplaceOne:mongodbReplaceOne,mongodbStats:mongodbStats,mongodbUpdateMany:mongodbUpdateMany,mongodbUpdateOne:mongodbUpdateOne,mongodbConnectionHealthCheck:mongodbConnectionHealthCheck};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const{rdsEscape:rdsEscape,rdsEscapeId:rdsEscapeId}=require("../index.js");describe("rdsEscape",()=>{test("should escape a string with a single quote",()=>{const e=rdsEscape("O'Reilly");expect(e).toBe("'O\\'Reilly'")}),test("should escape an empty string",()=>{const e=rdsEscape("");expect(e).toBe("''")}),test("should escape null as NULL",()=>{const e=rdsEscape(null);expect(e).toBe("NULL")}),test("should escape a number as string",()=>{const e=rdsEscape(42);expect(e).toBe("42")}),test("should escape booleans correctly",()=>{expect(rdsEscape(!0)).toBe("true"),expect(rdsEscape(!1)).toBe("false")})}),describe("rdsEscapeId",()=>{test("should escape an identifier containing backticks",()=>{const e=rdsEscapeId("user`name");expect(e).toBe("`user``name`")}),test("should escape multiple identifiers (array)",()=>{const e=rdsEscapeId(["users","name"]);expect(e).toBe("`users`, `name`")}),test("should escape identifiers with special characters",()=>{const e=rdsEscapeId("order;DROP TABLE users");expect(e).toBe("`order;DROP TABLE users`")}),test("should escape empty string as ``",()=>{const e=rdsEscapeId("");expect(e).toBe("``")})});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const toString=Object.prototype.toString,{z:z}=require("zod"),logger=require("pino")();class SqlInjectionGuard{constructor(e=console){this.logger=e,this._initialized=!1}_initialize(){if(this._initialized)return;this._initialized=!0;const e=process.env.blz_securityApiSanitizeAllowedSqlInputPatterns,t=process.env.blz_securityApiSanitizeDangerousParamPatterns,n=process.env.blz_securityApiSanitizeDangerousSqlPatterns;this.onlyLog="true"===process.env.blz_securityApiSanitizeOnlyLog;const r=e=>{try{if(null==e||null==e)return null;return JSON.parse(e).map(e=>new RegExp(e,"i"))}catch{return null}};this.dangerousParamPatterns=r(t)||[/--/i,/\/\*/i,/\*\//i,/\bor\b\s+\w+\s*=/i,/\bor\b\s+.*?=.*?/i,/\bor\b\s+'.*?'\s*=\s*'.*?'/i,/\bor\b\s+\w+\s*like/i,/\band\b\s+\w+\s*=/i,/\band\b\s+\w+\s*like/i,/\bselect\b[\s\S]+?\bfrom\b/i,/\bunion\s+select\b/i,/\bdrop\s+table\b/i,/\binsert\s+into\b/i,/\bupdate\b\s+\w+\s+\bset\b[\s\S]*?=/i,/\bdelete\s+from\b/i,/\bpg_sleep\s*\(/i,/\bdbms_lock\.sleep\s*\(/i,/\bexec\s*\(/i,/\bexecute\s*\(/i],this.dangerousSqlPatterns=r(n)||[/;\s*drop\b/i,/;\s*truncate\b/i,/\bpg_sleep\s*\(/i,/\bdbms_lock\.sleep\s*\(/i,/\bexec(ute)?\s*(\(|\s)/i,/\binformation_schema\b/i,/\bpg_catalog\b/i],this.allowedInputPatterns=r(e)||[new RegExp("^[^<>]*<$","i"),new RegExp("^>[^<>]*$","i")],this.paramSchema=z.object({name:z.string(),value:z.any()}),this.paramsSchema=z.array(this.paramSchema)}isAllowedByWhitelist(e){return this.allowedInputPatterns.some(t=>t.test(e))}validateParamValue(e,t){if(this._initialize(),"string"!=typeof t)return;const n=t.trim();if(!this.isAllowedByWhitelist(n))for(const r of this.dangerousParamPatterns)if(r.test(n)){const n=`Potential SQL injection in parameter "${e}": ${t}`;if(!this.onlyLog){const e=new Error("Potential SQL injection");throw e.code="SQLInjection",e.data=n,e}this.logger?.warn?.(`[SQLInjectionGuard] ${n}`)}}validateParamList(e){this._initialize(),this.paramsSchema.parse(e);for(const t of e)this.validateParamValue(t.name,t.value);return e}validateRawSql(e){if(this._initialize(),"string"!=typeof e)return!1;for(const t of this.dangerousSqlPatterns)if(t.test(e.toLowerCase())){const n=`Potential SQL injection in "${e}" pattern:${t}`;if(!this.onlyLog){const e=new Error("Potential SQL injection");throw e.code="SQLInjection",e.data=n,e}this.logger.warn(`[SQLInjectionGuard] ${n}`)}return e}validateObject(e){this._initialize();const t=e=>{if("string"==typeof e){const t=e.trim();if(!this.isAllowedByWhitelist(t))for(const n of this.dangerousParamPatterns)if(n.test(t)){const t=`Value "${e}" violates SQL injection policy.`;if(!this.onlyLog){const e=new Error("Potential SQL injection");throw e.code="BadRequest",e.data=t,e}this.logger.warn(`[SQLInjectionGuard] ${t}`)}}else if(Array.isArray(e))for(const n of e)t(n);else if("object"==typeof e&&null!==e)for(const n in e)Object.hasOwn(e,n)&&t(e[n])};return t(e),e}}const guard=new SqlInjectionGuard(logger);let adjustTypes=function(e,t){if(t)for(let n=0;n<t.length;n++)if(n<e.length){switch(t[n]){case"string":e[n]=convertToString(e[n]);break;case"integer":e[n]=convertToInteger(e[n]);break;case"decimal":e[n]=convertToDecimal(e[n]);break;case"boolean":e[n]=convertToBoolean(e[n]);break;case"datetime":e[n]=convertToDatetime(e[n]);break;case"date":e[n]=convertToDate(e[n]);break;case"time":e[n]=convertToTime(e[n]);break;case"binary":e[n]=convertToBinary(e[n])}}},convertToString=function(e){if(null===e)return null;let t=toString.call(e);if("[object String]"===t)return e;if("[object Number]"===t)return e.toString();if("[object Boolean]"===t)return e?"true":"false";if("[object Date]"===t)return e.toJSON();throw errorInvalidConversion(e,"string")},convertToInteger=function(e){if(null===e)return null;let t=toString.call(e);if("[object String]"===t&&!isNaN(e))return Math.round(Number(e));if("[object Number]"===t)return Math.round(e);if("[object Boolean]"===t)return e?1:0;throw errorInvalidConversion(e,"integer")},convertToDecimal=function(e){if(null===e)return null;let t=toString.call(e);if("[object String]"===t&&!isNaN(e))return Number(e);if("[object Number]"===t)return e;if("[object Boolean]"===t)return e?1:0;throw errorInvalidConversion(e,"decimal")},convertToBoolean=function(e){if(null===e)return null;let t=toString.call(e);if("[object String]"===t){if("1"===e||"T"===e.toUpperCase()||"TRUE"===e.toUpperCase()||"Y"===e.toUpperCase()||"YES"===e.toUpperCase())return!0;if("0"===e||"F"===e.toUpperCase()||"FALSE"===e.toUpperCase()||"N"===e.toUpperCase()||"NO"===e.toUpperCase())return!1}if("[object Number]"===t){if(1===e)return!0;if(0===e)return!1}if("[object Boolean]"===t)return e;throw errorInvalidConversion(e,"boolean")},convertToDatetime=function(e){if(null===e)return null;let t=toString.call(e);if("[object String]"===t){let t=/^(\d{4})-(\d{1,2})-(\d{1,2})[T,\s](\d{1,2})\:(\d{1,2})\:(\d{1,2})\.?(\d+)?Z?$/.exec(e);if(t)return new Date(Date.UTC(Number(t[1]),Number(t[2])-1,Number(t[3]),Number(t[4]),Number(t[5]),Number(t[6]||0),convertMilliseconds(t[7])));{const t=new Date(e);if("Invalid Date"!==t.toString())return t}}if("[object Date]"===t)return e;if("[object Number]"===t)return new Date(e);throw errorInvalidConversion(e,"datetime")},convertToDate=function(e){if(null===e)return null;let t=toString.call(e);if("[object String]"===t){let t=/^(\d{4})-(\d{1,2})-(\d{1,2})$/.exec(e);if(t)return new Date(Date.UTC(Number(t[1]),Number(t[2])-1,Number(t[3]),0,0,0,0));let n=/^(\d{4})-(\d{1,2})-(\d{1,2})[T,\s](\d{1,2})\:(\d{1,2})\:(\d{1,2})\.?(\d+)?Z?$/.exec(e);if(n)return new Date(Date.UTC(Number(n[1]),Number(n[2])-1,Number(n[3]),0,0,0,0));{const t=new Date(e);if("Invalid Date"!==t.toString())return new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate(),0,0,0,0))}}if("[object Number]"===t&&(e=new Date(e)),"[object Date]"===t)return new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate(),0,0,0,0));throw errorInvalidConversion(e,"date")},convertToTime=function(e){if(null===e)return null;let t=toString.call(e);if("[object String]"===t){let t=/^\+?(\d{1,2})\:(\d{1,2})\:(\d{1,2})\.?(\d+)?$/.exec(e);if(t)return new Date(Date.UTC(1970,0,1,Number(t[1]),Number(t[2]),Number(t[3]),convertMilliseconds(t[4])));let n=/^(\d{4})-(\d{1,2})-(\d{1,2})[T,\s](\d{1,2})\:(\d{1,2})\:(\d{1,2})\.?(\d+)?Z?$/.exec(e);if(n)return new Date(Date.UTC(1970,0,1,Number(n[4]),Number(n[5]),Number(n[6]||0),convertMilliseconds(n[7])))}if("[object Date]"===t)return new Date(Date.UTC(1970,0,1,e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds(),e.getUTCMilliseconds()));throw errorInvalidConversion(e,"time")},convertToBinary=function(e){if(null==e)return null;if(e&&"Buffer"===e.type)return Buffer.from(e);if(Buffer.isBuffer(e))return e;if(Array.isArray(e))return Buffer.from(e);throw errorInvalidConversion(e,"binary")},convertMilliseconds=function(e){return e?(e.length<3&&(e=e.padEnd(3,"0")),e.length>3&&(e=e.substr(0,3)),Number(e)):0},errorInvalidConversion=function(e,t){let n=new Error;return n.code="InvalidConversion",n.data={value:e,targetType:t},n};function getTransactionsContext(e){return e.rdsTransactionContext||(e.rdsTransactionContext=[]),e.rdsTransactionContext}let _relationalDatabaseQueryId,getRdsConnection=async function(e,t){let n=getTransactionsContext(e);if(0===n.length){return{rdsConnection:new RdsConnection(await t.provider.createRdsConnection(t),t.provider),mustBeClosed:!0}}{let e=t.name;var r=n[n.length-1];if(!r.connection){return{rdsConnection:new RdsConnection(await t.provider.createRdsConnection(t),t.provider),mustBeClosed:!0}}let o=r.connection[e];return o||(o=new RdsConnection(await t.provider.createRdsConnection(t),t.provider),r.connection[e]=o,await o.beginTransaction()),{rdsConnection:o,mustBeClosed:!1}}};function RdsConnection(e,t){let n=!1;return{beginTransaction:async()=>(n=!0,await t.beginTransaction(e)),close:async()=>(n=!1,await t.close(e)),commitTransaction:async()=>(n=!1,await t.commitTransaction(e)),get connection(){return e},get isTransactionRequest(){return n},rollbackTransaction:async()=>(n=!1,await t.rollbackTransaction(e))}}module.exports={execute:async function(e,t,n,r,o,a,i){let s=null,l=null;"true"!==process.env.blz_traceAll&&"true"!==process.env.blz_traceRelationalDatabaseQueries||(void 0===_relationalDatabaseQueryId?_relationalDatabaseQueryId=1:_relationalDatabaseQueryId++,s=_relationalDatabaseQueryId,l=Date.now(),console.log((e.devTime?"":(new Date).toISOString()+" | ")+"RELATIONAL DATABASE QUERY ("+s+") | "+t.name+" | "+n+" | PARAMETERS: "+JSON.stringify(r)));let c=null,u=null,d=null;try{process.env.blz_securityApiSanitizeSqlInjection&&(n=guard.validateRawSql(n),r=guard.validateParamList(r)),({rdsConnection:u,mustBeClosed:d}=await getRdsConnection(e,t)),o?o.isTransactionRequest=u.isTransactionRequest:o={isTransactionRequest:u.isTransactionRequest};let b=await t.provider.executeSql(u.connection,n,r,o);"true"!==process.env.blz_traceAll&&"true"!==process.env.blz_traceRelationalDatabaseQueries||console.log((e.devTime?"":(new Date).toISOString()+" | ")+"RELATIONAL DATABASE QUERY ("+s+") | "+t.name+" | "+(Date.now()-l)+" milliseconds");let f={data:null};if(b.data)if(o.queryOne){let n=b.data.length>0?b.data[0]:null;n?(adjustTypes(n,a),"true"!==process.env.blz_traceAll&&"true"!==process.env.blz_traceRelationalDatabaseQueries||console.log((e.devTime?"":(new Date).toISOString()+" | ")+"RELATIONAL DATABASE QUERY ("+s+") | "+t.name+" | "+JSON.stringify(n)),f.data=await i(n)):("true"!==process.env.blz_traceAll&&"true"!==process.env.blz_traceRelationalDatabaseQueries||console.log((e.devTime?"":(new Date).toISOString()+" | ")+"RELATIONAL DATABASE QUERY ("+s+") | "+t.name+" | No records found"),f.data=null)}else{f.data=[];let n=0;for(let r=0;r<b.data.length;r++){let o=b.data[r];adjustTypes(o,a),n++,n<=10&&("true"===process.env.blz_traceAll||"true"===process.env.blz_traceRelationalDatabaseQueries)&&console.log((e.devTime?"":(new Date).toISOString()+" | ")+"RELATIONAL DATABASE QUERY ("+s+") | "+t.name+" | "+JSON.stringify(o)),f.data.push(await i(o))}0!==n||"true"!==process.env.blz_traceAll&&"true"!==process.env.blz_traceRelationalDatabaseQueries||console.log((e.devTime?"":(new Date).toISOString()+" | ")+"RELATIONAL DATABASE QUERY ("+s+") | "+t.name+" | No records found"),n>10&&("true"===process.env.blz_traceAll||"true"===process.env.blz_traceRelationalDatabaseQueries)&&console.log((e.devTime?"":(new Date).toISOString()+" | ")+"RELATIONAL DATABASE QUERY ("+s+") | "+t.name+" | More records found")}else if(b.resultSet)if(c=b.resultSet,o.queryOne){let n=await c.getRow();n?(adjustTypes(n,a),"true"!==process.env.blz_traceAll&&"true"!==process.env.blz_traceRelationalDatabaseQueries||console.log((e.devTime?"":(new Date).toISOString()+" | ")+"RELATIONAL DATABASE QUERY ("+s+") | "+t.name+" | "+JSON.stringify(n)),f.data=await i(n)):("true"!==process.env.blz_traceAll&&"true"!==process.env.blz_traceRelationalDatabaseQueries||console.log((e.devTime?"":(new Date).toISOString()+" | ")+"RELATIONAL DATABASE QUERY ("+s+") | "+t.name+" | No records found"),f.data=null)}else{f.data=[];let n=0,r=await c.getRow();for(r&&adjustTypes(r,a);r;)n++,n<=10&&("true"===process.env.blz_traceAll||"true"===process.env.blz_traceRelationalDatabaseQueries)&&console.log((e.devTime?"":(new Date).toISOString()+" | ")+"RELATIONAL DATABASE QUERY ("+s+") | "+t.name+" | "+JSON.stringify(r)),f.data.push(await i(r)),r=await c.getRow(),r&&adjustTypes(r,a);0!==n||"true"!==process.env.blz_traceAll&&"true"!==process.env.blz_traceRelationalDatabaseQueries||console.log((e.devTime?"":(new Date).toISOString()+" | ")+"RELATIONAL DATABASE QUERY ("+s+") | "+t.name+" | No records found"),n>10&&("true"===process.env.blz_traceAll||"true"===process.env.blz_traceRelationalDatabaseQueries)&&console.log((e.devTime?"":(new Date).toISOString()+" | ")+"RELATIONAL DATABASE QUERY ("+s+") | "+t.name+" | More records found")}return b.rowsAffected&&(f.rowsAffected=b.rowsAffected),b.id&&(f.id=b.id),b.ids&&(f.ids=b.ids),b.outParameters&&(f.outParameters=b.outParameters),c&&c.close&&await c.close(),d&&await t.provider.close(u.connection),f}catch(e){c&&c.close&&await c.close(),d&&await t.provider.close(u.connection);let o=new Error;throw o.code="RdsError",o.message="Error executing sql "+n,o.data={connectionName:t.name,sql:n,parameters:r},o.innerError=e,o}},checkConnection:async function(e){({rdsConnection:t,mustBeClosed:mustBeClosed}=await getRdsConnection({},e));let t=new RdsConnection(await e.provider.createRdsConnection(e),e.provider)}};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export function getSql(rdsNode: any, rdsSyntaxis: any, values: any, asLogical: any): any;
|
|
2
|
+
export function getType(rdsNode: any): any;
|
|
3
|
+
export function stringFormat(...args: any[]): any;
|
|
4
|
+
export function isValidCodePath(connection: any, rdsTable: any, codePath: any): boolean;
|
|
5
|
+
export function prebuild(connection: any, rdsNode: any, embeddeds: any): void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
let commands={add:require("./commands/core/add.js"),and:require("./commands/core/and.js"),asc:require("./commands/core/asc.js"),avg:require("./commands/core/avg.js"),columnRef:require("./commands/core/column-ref.js"),count:require("./commands/core/count.js"),countDistinct:require("./commands/core/count-distinct.js"),decimal:require("./commands/core/decimal.js"),desc:require("./commands/core/desc.js"),distinct:require("./commands/core/distinct.js"),divide:require("./commands/core/divide.js"),embeddedExists:require("./commands/core/embedded-exists.js"),embeddedSelect:require("./commands/core/embedded-select.js"),equals:require("./commands/core/equals.js"),false:require("./commands/core/false.js"),greater:require("./commands/core/greater.js"),greaterOrEqual:require("./commands/core/greater-or-equal.js"),in:require("./commands/core/in.js"),integer:require("./commands/core/integer.js"),isNotNull:require("./commands/core/is-not-null.js"),isNull:require("./commands/core/is-null.js"),isNullOrValue:require("./commands/core/is-null-or-value.js"),less:require("./commands/core/less.js"),lessOrEqual:require("./commands/core/less-or-equal.js"),lessUnary:require("./commands/core/less-unary.js"),like:require("./commands/core/like.js"),max:require("./commands/core/max.js"),min:require("./commands/core/min.js"),multiply:require("./commands/core/multiply.js"),not:require("./commands/core/not.js"),notEquals:require("./commands/core/not-equals.js"),notIn:require("./commands/core/not-in.js"),null:require("./commands/core/null.js"),nvl:require("./commands/core/nvl.js"),or:require("./commands/core/or.js"),parameter:require("./commands/core/parameter.js"),parameterOut:require("./commands/core/parameter.js"),remainder:require("./commands/core/remainder.js"),string:require("./commands/core/string.js"),subtract:require("./commands/core/subtract.js"),sum:require("./commands/core/sum.js"),true:require("./commands/core/true.js"),tuple:require("./commands/core/tuple.js"),addDays:require("./commands/datetimes/add-days.js"),addHours:require("./commands/datetimes/add-hours.js"),addMilliseconds:require("./commands/datetimes/add-milliseconds.js"),addMinutes:require("./commands/datetimes/add-minutes.js"),addMonths:require("./commands/datetimes/add-months.js"),addSeconds:require("./commands/datetimes/add-seconds.js"),addYears:require("./commands/datetimes/add-years.js"),date:require("./commands/datetimes/date.js"),dateDiff:require("./commands/datetimes/date-diff.js"),datetime:require("./commands/datetimes/datetime.js"),datetimeDiff:require("./commands/datetimes/datetime-diff.js"),day:require("./commands/datetimes/day.js"),hour:require("./commands/datetimes/hour.js"),millisecond:require("./commands/datetimes/millisecond.js"),minute:require("./commands/datetimes/minute.js"),month:require("./commands/datetimes/month.js"),monthText:require("./commands/datetimes/month-text.js"),now:require("./commands/datetimes/now.js"),second:require("./commands/datetimes/second.js"),subtractDays:require("./commands/datetimes/subtract-days.js"),subtractHours:require("./commands/datetimes/subtract-hours.js"),subtractMilliseconds:require("./commands/datetimes/subtract-milliseconds.js"),subtractMinutes:require("./commands/datetimes/subtract-minutes.js"),subtractSeconds:require("./commands/datetimes/subtract-seconds.js"),time:require("./commands/datetimes/time.js"),timeDiff:require("./commands/datetimes/time-diff.js"),today:require("./commands/datetimes/today.js"),week:require("./commands/datetimes/week.js"),weekDay:require("./commands/datetimes/week-day.js"),weekDayText:require("./commands/datetimes/week-day-text.js"),year:require("./commands/datetimes/year.js"),abs:require("./commands/math/abs.js"),acos:require("./commands/math/acos.js"),asin:require("./commands/math/asin.js"),atan:require("./commands/math/atan.js"),atan2:require("./commands/math/atan2.js"),ceil:require("./commands/math/ceil.js"),cos:require("./commands/math/cos.js"),cosh:require("./commands/math/cosh.js"),exp:require("./commands/math/exp.js"),floor:require("./commands/math/floor.js"),log:require("./commands/math/log.js"),log10:require("./commands/math/log10.js"),pow:require("./commands/math/pow.js"),random:require("./commands/math/random.js"),round:require("./commands/math/round.js"),sign:require("./commands/math/sign.js"),sin:require("./commands/math/sin.js"),sinh:require("./commands/math/sinh.js"),sqrt:require("./commands/math/sqrt.js"),tan:require("./commands/math/tan.js"),tanh:require("./commands/math/tanh.js"),trunc:require("./commands/math/trunc.js"),concat:require("./commands/strings/concat.js"),contains:require("./commands/strings/contains.js"),endsWith:require("./commands/strings/ends-with.js"),indexOf:require("./commands/strings/index-of.js"),isNullOrEmpty:require("./commands/strings/is-null-or-empty.js"),isNullOrWhiteSpace:require("./commands/strings/is-null-or-white-space.js"),join:require("./commands/strings/join.js"),lastIndexOf:require("./commands/strings/last-index-of.js"),length:require("./commands/strings/length.js"),padLeft:require("./commands/strings/pad-left.js"),padRight:require("./commands/strings/pad-right.js"),replace:require("./commands/strings/replace.js"),startsWith:require("./commands/strings/starts-with.js"),substring:require("./commands/strings/substring.js"),toLower:require("./commands/strings/to-lower.js"),toUpper:require("./commands/strings/to-upper.js"),trim:require("./commands/strings/trim.js"),trimEnd:require("./commands/strings/trim-end.js"),trimStart:require("./commands/strings/trim-start.js")},getSql=function(e,s,r,m){if(void 0!==e.condition&&!e.condition)return null;let n=commands[e.command],i=n.getSql(this,e,s,r);return m?n.logical?i:"("+i+" = "+s.core.true+")":n.logical?"(CASE WHEN "+i+" THEN "+s.core.true+" ELSE "+s.core.false+" END)":i},getType=function(e){return commands[e.command].getType(this,e)},stringFormat=function(){if(0===arguments.length)return null;if(1===arguments.length)return arguments[0];{let e=arguments[0];for(let s=1;s<arguments.length;s++)e=e.split("%"+s+"$s").join(arguments[s]);return e}},isValidCodePath=function(e,s,r){let m=r.lastIndexOf(".");if(-1===m){let e=findColumnByAlias(s,r);if(null==e)return!1}else{let n=r.substring(0,m),i=r.substring(m+1,r.length),d=n.split("."),t=s;for(let s=0;s<d.length;s++){let r=d[s],m=findForeignKeyByAlias(t,r);if(null==m)return!1;t=e.rdsElements[m.rdsTableName]}let a=findColumnByAlias(t,i);if(null==a)return!1}return!0},prebuild=function(e,s,r){if(void 0===s.condition||s.condition)if("embeddedSelect"===s.command)s.embedded={rdsTable:e.rdsElements[s.embeddedSelect.rdsTableName],rdsJoins:[],allowLevels:!0},r[s.embeddedSelect.embeddedIndex]=s.embedded,prebuild(e,s.embeddedSelect.field,r),s.embeddedSelect.where&&prebuild(e,s.embeddedSelect.where,r);else if("embeddedExists"===s.command)s.embedded={rdsTable:e.rdsElements[s.embeddedExists.rdsTableName],rdsJoins:[],allowLevels:!0},r[s.embeddedExists.embeddedIndex]=s.embedded,s.embeddedExists.where&&prebuild(e,s.embeddedExists.where,r);else{if("columnRef"===s.command){let m=r[s.columnRef.embeddedIndex],n="T"+(0===s.columnRef.embeddedIndex?"":s.columnRef.embeddedIndex+"_"),i=s.columnRef.codePath;if(m.allowLevels){let r=i.lastIndexOf(".");if(-1===r){let e=findColumnByAlias(m.rdsTable,i);s.sql=n+"0."+e.name,s.type=e.type}else{let d=i.substring(0,r),t=i.substring(r+1,i.length),a=d.split("."),o=null,l=null;for(let s=0;s<a.length;s++){let r=a[s];o=null===o?r:o+"."+r;let i=findRdsJoin(m.rdsJoins,o);if(null===i){let s=findForeignKeyByAlias(l?l.rdsTable:m.rdsTable,r);i={},i.codePath=o,i.rdsTable=e.rdsElements[s.rdsTableName],i.isLeftJoin=!!l&&l.isLeftJoin,i.aliasIndex=m.rdsJoins.length+1;let d=[];if(s.details)for(let e=0;e<s.details.length;e++){let r=s.details[e],t=null,a=null;l?(t=l.aliasIndex,a=findColumnByName(l.rdsTable,r.columnName)):(t=0,a=findColumnByName(m.rdsTable,r.columnName));let o=i.aliasIndex,c=findColumnByName(i.rdsTable,r.relatedColumnName);d.push(n+t+"."+a.name+" = "+n+o+"."+c.name),i.isLeftJoin=i.isLeftJoin||a.allowNull}i.sql=(i.isLeftJoin?"LEFT":"INNER")+" JOIN "+i.rdsTable.tableName+" "+n+i.aliasIndex+" ON "+d.join(" AND "),m.rdsJoins.push(i)}l=i}let c=findColumnByAlias(l.rdsTable,t);s.sql=n+l.aliasIndex+"."+c.name,s.type=c.type}}else{let e=findColumnByAlias(m.rdsTable,i);s.sql=e.name,s.type=e.type}}if(s.children)for(let m=0;m<s.children.length;m++){let n=s.children[m];prebuild(e,n,r)}}},findRdsJoin=function(e,s){for(let r=0;r<e.length;r++){let m=e[r];if(m.codePath===s)return m}return null},findColumnByName=function(e,s){if(e.columns)for(let r=0;r<e.columns.length;r++){let m=e.columns[r];if(m.name===s)return m}return null},findColumnByAlias=function(e,s){if(e.columns)for(let r=0;r<e.columns.length;r++){let m=e.columns[r];if(m.alias===s)return m}return null},findForeignKeyByAlias=function(e,s){if(e.foreignKeys)for(let r=0;r<e.foreignKeys.length;r++){let m=e.foreignKeys[r];if(m.alias===s)return m}return null};module.exports={getSql:getSql,getType:getType,stringFormat:stringFormat,isValidCodePath:isValidCodePath,prebuild:prebuild};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports={getSql:function(e,t,l,n){return"("+e.getSql(t.children[0],l,n)+" + "+e.getSql(t.children[1],l,n)+")"},getType:function(e,t){let l=e.getType(t.children[0]),n=e.getType(t.children[1]);return"decimal"===l||"decimal"===n?"decimal":"integer"}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports={getSql:function(e,l,n,t){let o=[];for(let r=0;r<l.children.length;r++){let u=e.getSql(l.children[r],n,t,!0);u&&o.push(u)}return o.length>0?"("+o.join(" AND ")+")":null},getType:function(e,l){return"boolean"},logical:!0};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports={getSql:function(e,t,r,n){return e.stringFormat(r.core.asc,e.getSql(t.children[0],r,n))},getType:function(e,t){return e.getType(t.children[0])}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports={getSql:function(e,t,r,n){return e.stringFormat(r.core.avg,e.getSql(t.children[0],r,n))},getType:function(e,t){return e.getType(t.children[0])}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports={getSql:function(e,t,n,r){return t.sql},getType:function(e,t){return t.type}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports={getSql:function(t,e,n,r){return t.stringFormat(n.core.countDistinct,t.getSql(e.children[0],n,r))},getType:function(t,e){return"integer"}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports={getSql:function(e,t,n,r){return e.stringFormat(n.core.count,e.getSql(t.children[0],n,r))},getType:function(e,t){return"integer"}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports={getSql:function(e,t,n,u){return t.decimalValue+""},getType:function(e,t){return"decimal"}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports={getSql:function(e,t,r,n){return e.stringFormat(r.core.desc,e.getSql(t.children[0],r,n))},getType:function(e,t){return e.getType(t.children[0])}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports={getSql:function(e,t,n,r){return e.stringFormat(n.core.distinct,e.getSql(t.children[0],n,r))},getType:function(e,t){return e.getType(t.children[0])}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports={getSql:function(e,t,r,n){return e.stringFormat(r.core.divide,e.getSql(t.children[0],r,n),e.getSql(t.children[1],r,n))},getType:function(e,t){return"decimal"}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports={getSql:function(e,d,t,s){let l="EXISTS(SELECT 1 FROM "+d.embedded.rdsTable.tableName+" T"+d.embeddedExists.embeddedIndex+"_0";for(let e=0;e<d.embedded.rdsJoins.length;e++){l+=" "+d.embedded.rdsJoins[e].sql}return d.embeddedExists.where&&(l+=" WHERE "+e.getSql(d.embeddedExists.where,t,s,!0)),l+=")",l},getType:function(e,d){return"boolean"},logical:!0};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports={getSql:function(e,d,t,l){let b="(SELECT "+e.getSql(d.embeddedSelect.field,t,l);b+=" FROM "+d.embedded.rdsTable.tableName+" T"+d.embeddedSelect.embeddedIndex+"_0";for(let e=0;e<d.embedded.rdsJoins.length;e++){b+=" "+d.embedded.rdsJoins[e].sql}return d.embeddedSelect.where&&(b+=" WHERE "+e.getSql(d.embeddedSelect.where,t,l,!0)),b+=")",b},getType:function(e,d){return e.getType(d.embeddedSelect.field)}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports={getSql:function(e,l,n,t){return"("+e.getSql(l.children[0],n,t)+" = "+e.getSql(l.children[1],n,t)+")"},getType:function(e,l){return"boolean"},logical:!0};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports={getSql:function(e,n,o,t){return o.core.false},getType:function(e,n){return"boolean"}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports={getSql:function(e,l,n,t){return"("+e.getSql(l.children[0],n,t)+" >= "+e.getSql(l.children[1],n,t)+")"},getType:function(e,l){return"boolean"},logical:!0};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports={getSql:function(e,l,n,t){return"("+e.getSql(l.children[0],n,t)+" > "+e.getSql(l.children[1],n,t)+")"},getType:function(e,l){return"boolean"},logical:!0};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports={getSql:function(e,l,n,t){return"("+e.getSql(l.children[0],n,t)+" IN "+e.getSql(l.children[1],n,t)+")"},getType:function(e,l){return"boolean"},logical:!0};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports={getSql:function(e,t,n,r){return t.integerValue+""},getType:function(e,t){return"integer"}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports={getSql:function(e,t,o,l){return e.stringFormat(o.core.isNotNull,e.getSql(t.children[0],o,l))},getType:function(e,t){return"boolean"},logical:!0};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports={getSql:function(e,l,t,n){return"("+e.stringFormat(t.core.isNull,e.getSql(l.children[0],t,n))+" OR ("+e.getSql(l.children[0],t,n)+" = "+e.getSql(l.children[1],t,n)+"))"},getType:function(e,l){return"boolean"},logical:!0};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports={getSql:function(e,t,l,n){return e.stringFormat(l.core.isNull,e.getSql(t.children[0],l,n))},getType:function(e,t){return"boolean"},logical:!0};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports={getSql:function(e,l,n,t){return"("+e.getSql(l.children[0],n,t)+" <= "+e.getSql(l.children[1],n,t)+")"},getType:function(e,l){return"boolean"},logical:!0};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports={getSql:function(e,t,n,l){let r=[];for(let e=0;e<t.children.length;e++)r.push();return"(-"+e.getSql(t.children[0],n,l)+")"},getType:function(e,t){return e.getType(t.children[0])}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports={getSql:function(e,l,n,t){return"("+e.getSql(l.children[0],n,t)+" < "+e.getSql(l.children[1],n,t)+")"},getType:function(e,l){return"boolean"},logical:!0};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports={getSql:function(e,t,l,n){return e.stringFormat(l.core.like,e.getSql(t.children[0],l,n),e.getSql(t.children[1],l,n))},getType:function(e,t){return"boolean"},logical:!0};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports={getSql:function(e,t,r,n){return e.stringFormat(r.core.max,e.getSql(t.children[0],r,n))},getType:function(e,t){return e.getType(t.children[0])}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports={getSql:function(e,t,n,r){return e.stringFormat(n.core.min,e.getSql(t.children[0],n,r))},getType:function(e,t){return e.getType(t.children[0])}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports={getSql:function(e,t,l,n){return"("+e.getSql(t.children[0],l,n)+" * "+e.getSql(t.children[1],l,n)+")"},getType:function(e,t){let l=e.getType(t.children[0]),n=e.getType(t.children[1]);return"decimal"===l||"decimal"===n?"decimal":"integer"}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports={getSql:function(e,l,n,t){return"("+e.getSql(l.children[0],n,t)+" != "+e.getSql(l.children[1],n,t)+")"},getType:function(e,l){return"boolean"},logical:!0};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports={getSql:function(e,l,n,t){return"("+e.getSql(l.children[0],n,t)+" NOT IN "+e.getSql(l.children[1],n,t)+")"},getType:function(e,l){return"boolean"},logical:!0};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports={getSql:function(e,l,t,n){let o=[];for(let e=0;e<l.children.length;e++)o.push();return"(NOT "+e.getSql(l.children[0],t,n,!0)+")"},getType:function(e,l){return"boolean"},logical:!0};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports={getSql:function(e,n,t,r){return"NULL"},getType:function(e,n){return"any"}};
|