@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 @@
|
|
|
1
|
+
module.exports={getSql:function(t,e,n,r){return 2===e.children.length?t.stringFormat(n.strings.padLeft,t.getSql(e.children[0],n,r),t.getSql(e.children[1],n,r)):t.stringFormat(n.strings.padLeftPattern,t.getSql(e.children[0],n,r),t.getSql(e.children[1],n,r),t.getSql(e.children[2],n,r))},getType:function(t,e){return"string"}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports={getSql:function(t,e,n,r){return 2===e.children.length?t.stringFormat(n.strings.padRight,t.getSql(e.children[0],n,r),t.getSql(e.children[1],n,r)):t.stringFormat(n.strings.padRightPattern,t.getSql(e.children[0],n,r),t.getSql(e.children[1],n,r),t.getSql(e.children[2],n,r))},getType:function(t,e){return"string"}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports={getSql:function(e,t,r,n){return e.stringFormat(r.strings.replace,e.getSql(t.children[0],r,n),e.getSql(t.children[1],r,n),e.getSql(t.children[2],r,n))},getType:function(e,t){return"string"}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports={getSql:function(t,e,n,r){return t.stringFormat(n.strings.startsWith,t.getSql(e.children[0],n,r),t.getSql(e.children[1],n,r))},getType:function(t,e){return"boolean"},logical:!0};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports={getSql:function(t,e,n,r){return t.stringFormat(n.strings.substring,t.getSql(e.children[0],n,r),t.getSql(e.children[1],n,r),t.getSql(e.children[2],n,r))},getType:function(t,e){return"string"}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports={getSql:function(t,r,e,n){return t.stringFormat(e.strings.toLower,t.getSql(r.children[0],e,n))},getType:function(t,r){return"string"}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports={getSql:function(t,r,e,n){return t.stringFormat(e.strings.toUpper,t.getSql(r.children[0],e,n))},getType:function(t,r){return"string"}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports={getSql:function(t,n,r,e){return t.stringFormat(r.strings.trimEnd,t.getSql(n.children[0],r,e))},getType:function(t,n){return"string"}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports={getSql:function(t,r,n,e){return t.stringFormat(n.strings.trimStart,t.getSql(r.children[0],n,e))},getType:function(t,r){return"string"}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports={getSql:function(t,r,n,e){return t.stringFormat(n.strings.trim,t.getSql(r.children[0],n,e))},getType:function(t,r){return"string"}};
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
export function rdsSelect(callContext: any, connection: any, rdsSelectConfig: any, fnSelector: any): Promise<any>;
|
|
2
|
+
export function rdsSelectReader(connection: any, rdsSelectReaderConfig: any): {
|
|
3
|
+
_blz_reader: boolean;
|
|
4
|
+
connection: any;
|
|
5
|
+
rdsSelectReaderConfig: any;
|
|
6
|
+
rdsTable: any;
|
|
7
|
+
read: (callContext: any, codePaths: any, fnSelection: any) => Promise<any>;
|
|
8
|
+
};
|
|
9
|
+
export function rdsSelectOne(callContext: any, connection: any, rdsSelectOneConfig: any, fnSelector: any): Promise<any>;
|
|
10
|
+
export function rdsSelectOneReader(connection: any, rdsSelectOneReaderConfig: any): {
|
|
11
|
+
_blz_reader: boolean;
|
|
12
|
+
connection: any;
|
|
13
|
+
rdsSelectOneReaderConfig: any;
|
|
14
|
+
rdsTable: any;
|
|
15
|
+
read: (callContext: any, codePaths: any, fnSelection: any) => Promise<any>;
|
|
16
|
+
};
|
|
17
|
+
export function rdsExists(callContext: any, connection: any, rdsExistsConfig: any): Promise<any>;
|
|
18
|
+
export function rdsInsert(callContext: any, connection: any, rdsInsertConfig: any): Promise<any>;
|
|
19
|
+
export function rdsInsertConditional(callContext: any, connection: any, rdsInsertConfig: any): Promise<any>;
|
|
20
|
+
export function rdsBulkInsert(callContext: any, connection: any, rdsInsertConfig: any): Promise<any>;
|
|
21
|
+
export function rdsBulkMerge(callContext: any, connection: any, rdsMergeConfig: any): Promise<any>;
|
|
22
|
+
export function rdsInsertWriter(connection: any, rdsInsertWriterConfig: any): {
|
|
23
|
+
isWriter: boolean;
|
|
24
|
+
connection: any;
|
|
25
|
+
rdsInsertWriterConfig: any;
|
|
26
|
+
write: (callContext: any, obj: any) => Promise<any>;
|
|
27
|
+
};
|
|
28
|
+
export function rdsUpdate(callContext: any, connection: any, rdsUpdateConfig: any): Promise<any>;
|
|
29
|
+
export function rdsUpdateWriter(connection: any, rdsUpdateWriterConfig: any): {
|
|
30
|
+
isWriter: boolean;
|
|
31
|
+
connection: any;
|
|
32
|
+
rdsUpdateWriterConfig: any;
|
|
33
|
+
write: (callContext: any, obj: any) => Promise<any>;
|
|
34
|
+
};
|
|
35
|
+
export function rdsDelete(callContext: any, connection: any, rdsDeleteConfig: any): Promise<any>;
|
|
36
|
+
export function rdsExecuteStoredProcedure(callContext: any, connection: any, rdsStoredProcedureName: any, parameters: any): Promise<any>;
|
|
37
|
+
export function rdsExecuteQuery(callContext: any, connection: any, sql: any, parameters: any, resultTypes: any): Promise<any>;
|
|
38
|
+
export function rdsExecuteNonQuery(callContext: any, connection: any, sql: any, parameters: any): Promise<any>;
|
|
39
|
+
export function rdsConnectionHealthCheck(connection: any, callContext: any): Promise<{
|
|
40
|
+
error: string;
|
|
41
|
+
status?: undefined;
|
|
42
|
+
message?: undefined;
|
|
43
|
+
} | {
|
|
44
|
+
status: string;
|
|
45
|
+
message: string;
|
|
46
|
+
error?: undefined;
|
|
47
|
+
} | {
|
|
48
|
+
status: string;
|
|
49
|
+
error: string;
|
|
50
|
+
message?: undefined;
|
|
51
|
+
}>;
|
|
52
|
+
export function rdsEscape(value: any): any;
|
|
53
|
+
export function rdsEscapeId(identifier: any): any;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const BlzRdsHelper=require("./blz-rds-helper"),BlzRdsExecutor=require("./blz-rds-executor"),SqlString=require("sqlstring"),rdsEscapeId=function(e){return SqlString.escapeId(e)},rdsEscape=function(e){return SqlString.escape(e)},getColumnPrimaryKey=function(e){for(let t=0;t<e.columns.length;t++){let r=e.columns[t];if(r.primaryKey)return r}return null},getColumnNameByAlias=function(e,t){for(let r=0;r<e.columns.length;r++){let s=e.columns[r];if(s.alias===t)return s.name}return null},setValue=function(e,t,r){let s=t.indexOf(".");if(-1!==s){let l=t.substring(0,s),n=t.substring(s+1,t.length);return void 0===e[l]&&(e[l]={}),setValue(e[l],n,r)}e[t]=r},rdsSelect=async function(e,t,r,s){let l=t.rdsElements[r.rdsTableName],n={},a={rdsTable:l,rdsJoins:[],allowLevels:!0};if(n[0]=a,r.fields)for(let e=0;e<r.fields.length;e++){let s=r.fields[e];BlzRdsHelper.prebuild(t,s,n)}if(r.where&&BlzRdsHelper.prebuild(t,r.where,n),r.orders)for(let e=0;e<r.orders.length;e++){let s=r.orders[e];BlzRdsHelper.prebuild(t,s,n)}let i="",o=[],d=[],u=[],c=[];for(let e=0;e<r.fields.length;e++){let s=r.fields[e],l=BlzRdsHelper.getSql(s,t.provider.syntaxis,o);"avg"===s.command||"count"===s.command||"countDistinct"===s.command||"max"===s.command||"min"===s.command||"sum"===s.command?u.push(l):c.push(l),i+=l+" C"+e+", ",d.push(BlzRdsHelper.getType(s))}i=i.slice(0,-2),i+=" FROM "+l.tableName+" T0";for(let e=0;e<a.rdsJoins.length;e++){i+=" "+a.rdsJoins[e].sql}if(r.where){let e=BlzRdsHelper.getSql(r.where,t.provider.syntaxis,o,!0);e&&(i+=" WHERE "+e)}if(u.length>0&&c.length>0){i+=" GROUP BY ";for(let e=0;e<c.length;e++)i+=c[e]+", ";i=i.slice(0,-2)}if(r.orders&&r.orders.length>0){let e=[];for(let s=0;s<r.orders.length;s++){let l=r.orders[s];e.push(BlzRdsHelper.getSql(l,t.provider.syntaxis,o))}i+=" ORDER BY "+e.join(", ")}i=null!==r.offset&&void 0!==r.offset&&null!==r.limit&&void 0!==r.limit?BlzRdsHelper.stringFormat(0===r.offset?t.provider.syntaxis.selectWithPaging1:t.provider.syntaxis.selectWithPagingN,i,r.offset,r.offset+r.limit,r.limit):"SELECT "+i;let m=[];for(let e=0;e<o.length;e++){let t=o[e];m.push({name:"PARAM"+e,value:t,direction:"in"})}return(await BlzRdsExecutor.execute(e,t,i,m,{query:!0},d,s)).data},rdsSelectReader=function(e,t){return{_blz_reader:!0,connection:e,rdsSelectReaderConfig:t,rdsTable:e.rdsElements[t.rdsTableName],read:async function(e,t,r){let s=JSON.parse(JSON.stringify(this.rdsSelectReaderConfig));s.fields=[];for(let e=0;e<t.length;e++){let r=t[e];BlzRdsHelper.isValidCodePath(this.connection,this.rdsTable,r)?s.fields.push({command:"columnRef",columnRef:{codePath:r,embeddedIndex:0}}):s.fields.push({command:"null"})}return await rdsSelect(e,this.connection,s,async function(e){let s={};for(let r=0;r<t.length;r++){let l=t[r];setValue(s,l,e[r])}return await r(s)})}}},rdsSelectOne=async function(e,t,r,s){let l=t.rdsElements[r.rdsTableName],n={},a={rdsTable:l,rdsJoins:[],allowLevels:!0};if(n[0]=a,r.fields)for(let e=0;e<r.fields.length;e++){let s=r.fields[e];BlzRdsHelper.prebuild(t,s,n)}r.where&&BlzRdsHelper.prebuild(t,r.where,n);let i="",o=[],d=[];i+="SELECT ";let u=[],c=[];for(let e=0;e<r.fields.length;e++){let s=r.fields[e],l=BlzRdsHelper.getSql(s,t.provider.syntaxis,o);"avg"===s.command||"count"===s.command||"countDistinct"===s.command||"max"===s.command||"min"===s.command||"sum"===s.command?u.push(l):c.push(l),i+=l+" C"+e+", ",d.push(BlzRdsHelper.getType(s))}i=i.slice(0,-2),i+=" FROM "+l.tableName+" T0";for(let e=0;e<a.rdsJoins.length;e++){i+=" "+a.rdsJoins[e].sql}if(r.where){let e=BlzRdsHelper.getSql(r.where,t.provider.syntaxis,o,!0);e&&(i+=" WHERE "+e)}if(u.length>0&&c.length>0){i+=" GROUP BY ";for(let e=0;e<c.length;e++)i+=c[e]+", ";i=i.slice(0,-2)}let m=[];for(let e=0;e<o.length;e++){let t=o[e];m.push({name:"PARAM"+e,value:t,direction:"in"})}return(await BlzRdsExecutor.execute(e,t,i,m,{queryOne:!0},d,s)).data},rdsSelectOneReader=function(e,t){return{_blz_reader:!0,connection:e,rdsSelectOneReaderConfig:t,rdsTable:e.rdsElements[t.rdsTableName],read:async function(e,t,r){let s=JSON.parse(JSON.stringify(this.rdsSelectOneReaderConfig));s.fields=[];for(let e=0;e<t.length;e++){let r=t[e];BlzRdsHelper.isValidCodePath(this.connection,this.rdsTable,r)?s.fields.push({command:"columnRef",columnRef:{codePath:r,embeddedIndex:0}}):s.fields.push({command:"null",columnRef:{codePath:r,embeddedIndex:0}})}return await rdsSelectOne(e,this.connection,s,async function(e){let s={};for(let r=0;r<t.length;r++){let l=t[r];setValue(s,l,e[r])}return await r(s)})}}},rdsExists=async function(e,t,r){let s=t.rdsElements[r.rdsTableName],l={},n={rdsTable:s,rdsJoins:[],allowLevels:!0};l[0]=n,r.where&&BlzRdsHelper.prebuild(t,r.where,l);let a="",i=[];a+="EXISTS(SELECT 1 FROM "+s.tableName+" T0";for(let e=0;e<n.rdsJoins.length;e++){a+=" "+n.rdsJoins[e].sql}if(r.where){let e=BlzRdsHelper.getSql(r.where,t.provider.syntaxis,i,!0);e&&(a+=" WHERE "+e)}a+=")",a=BlzRdsHelper.stringFormat(t.provider.syntaxis.selectExists,a);let o=[];for(let e=0;e<i.length;e++){let t=i[e];o.push({name:"PARAM"+e,value:t,direction:"in"})}return(await BlzRdsExecutor.execute(e,t,a,o,{queryOne:!0},["boolean"],function(e){return e[0]})).data},rdsInsert=async function(e,t,r){let s=t.rdsElements[r.rdsTableName],l={},n={rdsTable:s,rdsJoins:[],allowLevels:!1};if(l[0]=n,r.sets)for(let e=0;e<r.sets.length;e++){let s=r.sets[e];BlzRdsHelper.prebuild(t,s.value,l)}let a="",i=[],o=[],d=[];const u=[];for(let e=0;e<r.sets.length;e++){let l=r.sets[e];o.push(getColumnNameByAlias(s,l.columnAlias)),d.push(BlzRdsHelper.getSql(l.value,t.provider.syntaxis,i)),u.push(s.columns.find(e=>e.alias===l.columnAlias))}let c=null;if(s.autoincrementalPrimaryKey){if(-1!==t.provider.syntaxis.insertAutoIncremental.indexOf("%2$s")&&(""===s.sequenceName||null===s.sequenceName||void 0===s.sequenceName)){let e=new Error;throw e.code="RdsError",e.message="Table "+s.tableName+" does not have sequence defined. Sequence definition is mandatory in the current db provider.",e}c={tableName:s.tableName,sequenceName:s.sequenceName,pkColumnName:getColumnPrimaryKey(s).name},a+=BlzRdsHelper.stringFormat(t.provider.syntaxis.insertAutoIncremental,c.tableName,c.sequenceName,c.pkColumnName,o.join(", "),d.join(", "))}else a+="INSERT INTO "+s.tableName+" ("+o.join(", ")+") VALUES ("+d.join(", ")+")";let m=[];for(let e=0;e<i.length;e++){let s=i[e],l=await findByAlias(t.rdsElements[r.rdsTableName].columns,r.sets[e].columnAlias);m.push({name:"PARAM"+e,value:s,direction:"in",columnInfo:l})}let f=await BlzRdsExecutor.execute(e,t,a,m,{autoincrementalData:c,columns:u});return void 0!==f.id?f.id:null},findByAlias=async function(e,t){return e.find(e=>e.alias===t)},rdsInsertConditional=async function(e,t,r){let s=t.rdsElements[r.rdsTableName],l={},n={rdsTable:s,rdsJoins:[],allowLevels:!1};if(l[0]=n,r.sets)for(let e=0;e<r.sets.length;e++){let s=r.sets[e];BlzRdsHelper.prebuild(t,s.value,l)}r.where&&BlzRdsHelper.prebuild(t,r.where,l);let a="",i=[],o=[],d=[];for(let e=0;e<r.sets.length;e++){let l=r.sets[e];o.push(getColumnNameByAlias(s,l.columnAlias)),d.push(BlzRdsHelper.getSql(l.value,t.provider.syntaxis,i))}if(!r.where){let e=new Error;throw e.code="RdsError",e.message="Table "+s.tableName+" does not have WHERE defined.",e}const u=BlzRdsHelper.getSql(r.where,t.provider.syntaxis,i,!0);if(!u){let e=new Error;throw e.code="RdsError",e.message="Table "+s.tableName+" does not have WHERE defined.",e}let c=null;if(s.autoincrementalPrimaryKey){if(-1!==t.provider.syntaxis.insertConditionalAutoIncremental.indexOf("%2$s")&&(""===s.sequenceName||null===s.sequenceName||void 0===s.sequenceName)){let e=new Error;throw e.code="RdsError",e.message="Table "+s.tableName+" does not have sequence defined. Sequence definition is mandatory in the current db provider.",e}c={tableName:s.tableName,sequenceName:s.sequenceName,pkColumnName:getColumnPrimaryKey(s).name},a+=BlzRdsHelper.stringFormat(t.provider.syntaxis.insertConditionalAutoIncremental,c.tableName,c.sequenceName,c.pkColumnName,o.join(", "),d.join(", "),u)}else a+=BlzRdsHelper.stringFormat(t.provider.syntaxis.insertConditional,s.tableName,"","",o.join(", "),d.join(", "),u);let m=[];for(let e=0;e<i.length;e++){let t=i[e];m.push({name:"PARAM"+e,value:t,direction:"in"})}let f=await BlzRdsExecutor.execute(e,t,a,m,{autoincrementalData:c});return void 0!==f.id?f.id:null},rdsBulkInsert=async function(e,t,r){let s=t.rdsElements[r.rdsTableName];if(!r.list||0===r.list.length)return[];let l=[],n=[];const a=[];for(let e=0;e<r.sets.length;e++){let t=r.sets[e];n.push(getColumnNameByAlias(s,t.columnAlias)),a.push(s.columns.find(e=>e.alias===t.columnAlias))}for(let e=0;e<r.list.length;e++){let t=r.list[e];l.push(t)}let i=null;if(s.autoincrementalPrimaryKey){if(-1!==t.provider.syntaxis.insertAutoIncremental.indexOf("%2$s")&&(""===s.sequenceName||null===s.sequenceName||void 0===s.sequenceName)){let e=new Error;throw e.code="RdsError",e.message="Table "+s.tableName+" does not have sequence defined. Sequence definition is mandatory in the current db provider.",e}const e=getColumnPrimaryKey(s);i={tableName:s.tableName,sequenceName:s.sequenceName,pkColumnName:e.name,pkColumnAlias:e.alias,pkColumnType:e.type}}const o="INSERT INTO "+s.tableName+" ("+n.join(", ")+") VALUES ";let d=await BlzRdsExecutor.execute(e,t,o,l,{bulkInsert:!0,autoincrementalData:i,columns:a,setsFields:n,rdsTable:s});return void 0!==d.ids?d.ids:null},rdsBulkMerge=async function(e,t,r){let s=t.rdsElements[r.rdsTableName],l={},n={rdsTable:s,rdsJoins:[],allowLevels:!1};if(l[0]=n,!r.sets||0===r.sets.length)return[];for(let e=0;e<r.sets.length;e++){let s=r.sets[e];for(let e=0;e<s.length;e++)BlzRdsHelper.prebuild(t,s[e].value,l)}let a=[],i=[];const o=[],d=r.sets[0];if(!r.fields){let e=new Error;throw e.code="RdsError",e.message="Merge sentence does not have fields defined.",e}for(let e=0;e<d.length;e++){let t=d[e];i.push(getColumnNameByAlias(s,t.columnAlias)),o.push(s.columns.find(e=>e.alias===t.columnAlias))}for(let e=0;e<r.sets.length;e++){let s=r.sets[e],l=[];for(let e=0;e<s.length;e++)BlzRdsHelper.getSql(s[e].value,t.provider.syntaxis,l);a.push(l)}let u=null;if(s.autoincrementalPrimaryKey){if(-1!==t.provider.syntaxis.insertAutoIncremental.indexOf("%2$s")&&(""===s.sequenceName||null===s.sequenceName||void 0===s.sequenceName)){let e=new Error;throw e.code="RdsError",e.message="Table "+s.tableName+" does not have sequence defined. Sequence definition is mandatory in the current db provider.",e}const e=getColumnPrimaryKey(s);u={tableName:s.tableName,sequenceName:s.sequenceName,pkColumnName:e.name,pkColumnAlias:e.alias,pkColumnType:e.type}}if(!r.fields||!r.fields.length||0===r.fields.length){let e=new Error;throw e.code="RdsError",e.message="Merge sentence does not have merge fields defined.",e}for(const e of r.fields){if(!e||!e.columnRef||!e.columnRef.codePath){let e=new Error;throw e.code="RdsError",e.message="Merge sentence does not have merge fields defined.",e}const t=e.columnRef.codePath,r=s.columns.find(e=>e.alias===t);if(!r){let e=new Error;throw e.code="RdsError",e.message="Merge sentence does not have merge fields defined.",e}if((!s.uniqueKeys||0===s.uniqueKeys.length||0===s.uniqueKeys.filter(e=>void 0!==e.columnsNames&&e.columnsNames.find(e=>e===r.name)).length)&&0===s.columns.filter(e=>e.primaryKey&&e.name===r.name).length){let e=new Error;throw e.code="RdsError",e.message="The field selected to determine the merge must be defined as unique key or primary key",e}}return(await BlzRdsExecutor.execute(e,t,"",a,{bulkMerge:!0,mergeFields:[],autoincrementalData:u,columns:o,setsFields:i,rdsTable:s})).affectedRows},rdsInsertWriter=function(e,t){return{isWriter:!0,connection:e,rdsInsertWriterConfig:t,write:async function(e,t){let r=this.connection.rdsElements[this.rdsInsertWriterConfig.rdsTableName],s=[];for(let e=0;e<r.columns.length;e++){let t=r.columns[e];t.primaryKey&&s.push(t.alias)}let l=JSON.parse(JSON.stringify(this.rdsInsertWriterConfig));for(var n in l.sets=[],t){var a=t[n];r.autoincrementalPrimaryKey&&-1!==s.indexOf(n)||l.sets.push({columnAlias:n,value:{command:"parameter",parameterValue:a}})}return await rdsInsert(e,this.connection,l)}}},rdsUpdate=async function(e,t,r){let s=t.rdsElements[r.rdsTableName],l={},n={rdsTable:s,rdsJoins:[],allowLevels:!1};if(l[0]=n,r.sets)for(let e=0;e<r.sets.length;e++){let s=r.sets[e];BlzRdsHelper.prebuild(t,s.value,l)}r.where&&BlzRdsHelper.prebuild(t,r.where,l);let a="",i=[];a+="UPDATE "+s.tableName;let o=[];for(let e=0;e<r.sets.length;e++){let l=r.sets[e];o.push(getColumnNameByAlias(s,l.columnAlias)+" = "+BlzRdsHelper.getSql(l.value,t.provider.syntaxis,i))}if(a+=" SET "+o.join(", "),r.where){let e=BlzRdsHelper.getSql(r.where,t.provider.syntaxis,i,!0);e&&(a+=" WHERE "+e)}let d=[];for(let e=0;e<i.length;e++){let s=i[e],l=null;r.sets[e]&&(l=await findByAlias(t.rdsElements[r.rdsTableName].columns,r.sets[e].columnAlias)),d.push({name:"PARAM"+e,value:s,direction:"in",columnInfo:l})}return(await BlzRdsExecutor.execute(e,t,a,d,null)).rowsAffected},rdsUpdateWriter=function(e,t){return{isWriter:!0,connection:e,rdsUpdateWriterConfig:t,write:async function(e,t){let r=this.connection.rdsElements[this.rdsUpdateWriterConfig.rdsTableName],s=[];for(let e=0;e<r.columns.length;e++){let t=r.columns[e];t.primaryKey&&s.push(t.alias)}let l=JSON.parse(JSON.stringify(this.rdsUpdateWriterConfig));l.sets=[];let n=[];for(var a in t){var i=t[a];-1===s.indexOf(a)?l.sets.push({columnAlias:a,value:{command:"parameter",parameterValue:i}}):n.push({command:"equals",children:[{command:"columnRef",columnRef:{codePath:a,embeddedIndex:0}},{command:"parameter",parameterValue:i}]})}return n.length>0&&(l.where={command:"and",children:n}),await rdsUpdate(e,this.connection,l)}}},rdsDelete=async function(e,t,r){let s=t.rdsElements[r.rdsTableName],l={},n={rdsTable:s,rdsJoins:[],allowLevels:!1};l[0]=n,r.where&&BlzRdsHelper.prebuild(t,r.where,l);let a="",i=[];if(a+="DELETE FROM "+s.tableName,r.where){let e=BlzRdsHelper.getSql(r.where,t.provider.syntaxis,i,!0);e&&(a+=" WHERE "+e)}let o=[];for(let e=0;e<i.length;e++){let t=i[e];o.push({name:"PARAM"+e,value:t,direction:"in"})}return(await BlzRdsExecutor.execute(e,t,a,o,null)).rowsAffected},rdsExecuteStoredProcedure=async function(e,t,r,s){let l=t.rdsElements[r],n=[],a=[];if(l.parameters)for(let e=0;e<l.parameters.length;e++){let r=l.parameters[e],i={name:r.name,type:r.type,direction:r.direction,isExplicitParameter:r.isExplicitParameter,isResultSet:r.isResultSet,attributes:r.attributes,dbTypes:r.dbTypes};!r.isResultSet||r.isResultSet&&("explicit"===t.provider.syntaxis.storedProcedureResultSet||"implicit"!==t.provider.syntaxis.storedProcedureResultSet&&r.isExplicitParameter)?(n.push(BlzRdsHelper.stringFormat(t.provider.syntaxis.core.parameter,r.name)),i.isExplicitParameter=!0):i.isExplicitParameter=!1,s&&(i.value=s[r.name]),a.push(i)}let i=BlzRdsHelper.stringFormat(t.provider.syntaxis.executeStoredProcedure,l.storedProcedureName,n.join(", "));return(await BlzRdsExecutor.execute(e,t,i,a,null)).outParameters},rdsExecuteQuery=async function(e,t,r,s,l){let n=[];for(let e in s)r=r.split("@"+e).join(BlzRdsHelper.stringFormat(t.provider.syntaxis.core.parameter,e)),n.push({name:e,value:s[e],direction:"in"});return(await BlzRdsExecutor.execute(e,t,r,n,{query:!0},l,function(e){return e})).data},rdsExecuteNonQuery=async function(e,t,r,s){let l=[];for(let e in s)r=r.split("@"+e).join(BlzRdsHelper.stringFormat(t.provider.syntaxis.core.parameter,e)),l.push({name:e,value:s[e],direction:"in"});return(await BlzRdsExecutor.execute(e,t,r,l,null)).rowsAffected},rdsConnectionHealthCheck=async function(e,t){let r="",s=[];switch(e.providerName){case"Postgres":r="SELECT NOW();";break;case"Oracle":r="SELECT SYSDATE FROM DUAL";break;default:return{error:"Provider not yet implemented"}}try{let l=await BlzRdsExecutor.execute(t,e,r,s,{query:!0},null,function(e){return e});return l&&l.data&&1===l.data.length?{status:"ok",message:`Connection works, server datetime: ${JSON.stringify(l.data)}`}:{status:"error",error:`Unable to obtain date from database ${JSON.stringify(l)}`}}catch(e){return{status:"error",error:JSON.stringify(e)}}};module.exports={rdsSelect:rdsSelect,rdsSelectReader:rdsSelectReader,rdsSelectOne:rdsSelectOne,rdsSelectOneReader:rdsSelectOneReader,rdsExists:rdsExists,rdsInsert:rdsInsert,rdsInsertConditional:rdsInsertConditional,rdsBulkInsert:rdsBulkInsert,rdsBulkMerge:rdsBulkMerge,rdsInsertWriter:rdsInsertWriter,rdsUpdate:rdsUpdate,rdsUpdateWriter:rdsUpdateWriter,rdsDelete:rdsDelete,rdsExecuteStoredProcedure:rdsExecuteStoredProcedure,rdsExecuteQuery:rdsExecuteQuery,rdsExecuteNonQuery:rdsExecuteNonQuery,rdsConnectionHealthCheck:rdsConnectionHealthCheck,rdsEscape:rdsEscape,rdsEscapeId:rdsEscapeId};
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
export function replace(string: any, search: any, replace: any): any;
|
|
2
|
+
export function error(code: any, data: any, innerError?: Error): Error;
|
|
3
|
+
export function errorUndefinedArgument(argName: any): Error;
|
|
4
|
+
export function tryString(value: any): any;
|
|
5
|
+
export function tryInteger(value: any): any;
|
|
6
|
+
export function tryDecimal(value: any): any;
|
|
7
|
+
export function tryBoolean(value: any): any;
|
|
8
|
+
export function tryDatetime(value: any): any;
|
|
9
|
+
export function tryDate(value: any): Date;
|
|
10
|
+
export function tryTime(value: any): Date;
|
|
11
|
+
export function tryBinary(value: any): Buffer;
|
|
12
|
+
export function tryObject(value: any): any;
|
|
13
|
+
export function tryArray(value: any): any;
|
|
14
|
+
export function ensureString(value: any): any;
|
|
15
|
+
export function ensureInteger(value: any): any;
|
|
16
|
+
export function ensureDecimal(value: any): any;
|
|
17
|
+
export function ensureBoolean(value: any): any;
|
|
18
|
+
export function ensureDatetime(value: any): any;
|
|
19
|
+
export function ensureDate(value: any): Date;
|
|
20
|
+
export function ensureTime(value: any): Date;
|
|
21
|
+
export function ensureBinary(value: any): Buffer;
|
|
22
|
+
export function ensureObject(value: any): any;
|
|
23
|
+
export function ensureArray(value: any): any;
|
|
24
|
+
export function convertToString(value: any): any;
|
|
25
|
+
export function convertToInteger(value: any): any;
|
|
26
|
+
export function convertToDecimal(value: any): any;
|
|
27
|
+
export function convertToBoolean(value: any): any;
|
|
28
|
+
export function convertToDatetime(value: any): any;
|
|
29
|
+
export function convertToDate(value: any): Date;
|
|
30
|
+
export function convertToTime(value: any): Date;
|
|
31
|
+
export function convertToBinary(value: any): Buffer;
|
|
32
|
+
export function convertToListOfStrings(value: any): any[];
|
|
33
|
+
export function convertToListOfIntegers(value: any): any[];
|
|
34
|
+
export function convertToListOfDecimals(value: any): any[];
|
|
35
|
+
export function convertToListOfBooleans(value: any): any[];
|
|
36
|
+
export function convertToListOfDatetimes(value: any): any[];
|
|
37
|
+
export function convertToListOfDates(value: any): Date[];
|
|
38
|
+
export function convertToListOfTimes(value: any): Date[];
|
|
39
|
+
export function convertToListOfBinaries(value: any): Buffer[];
|
|
40
|
+
export function httpCall(httpRequest: any): Promise<any>;
|
|
41
|
+
export function isNotNull(value: any): boolean;
|
|
42
|
+
export function isNull(value: any): boolean;
|
|
43
|
+
export function isNullOrValue(value: any, valueToCompare: any): boolean;
|
|
44
|
+
export function nvl(value: any, replacementValue: any): any;
|
|
45
|
+
export function get(objOrTuple: any, codePathOrIndex: any): any;
|
|
46
|
+
export function and(value1: any, value2: any): any;
|
|
47
|
+
export function or(value1: any, value2: any): any;
|
|
48
|
+
export function not(value: any): boolean;
|
|
49
|
+
export function compare(value1: any, value2: any): any;
|
|
50
|
+
export function equals(value1: any, value2: any): boolean;
|
|
51
|
+
export function notEquals(value1: any, value2: any): boolean;
|
|
52
|
+
export function greater(value1: any, value2: any): boolean;
|
|
53
|
+
export function less(value1: any, value2: any): boolean;
|
|
54
|
+
export function greaterOrEqual(value1: any, value2: any): boolean;
|
|
55
|
+
export function lessOrEqual(value1: any, value2: any): boolean;
|
|
56
|
+
export function concat(value1: any, value2: any): any;
|
|
57
|
+
export function add(value1: any, value2: any): any;
|
|
58
|
+
export function subtract(value1: any, value2: any): any;
|
|
59
|
+
export function multiply(value1: any, value2: any): number;
|
|
60
|
+
export function divide(value1: any, value2: any): number;
|
|
61
|
+
export function remainder(value1: any, value2: any): number;
|
|
62
|
+
export function lessUnary(value: any): number;
|
|
63
|
+
export function datetimeAdd(value1: any, value2: any): any;
|
|
64
|
+
export function datetimeDiff(value1: any, value2: any): any;
|
|
65
|
+
export function dateAdd(value1: any, value2: any): any;
|
|
66
|
+
export function dateDiff(value1: any, value2: any): any;
|
|
67
|
+
export function timeAdd(value1: any, value2: any): any;
|
|
68
|
+
export function timeDiff(value1: any, value2: any): any;
|
|
69
|
+
export function jsonParse(value: any): any;
|
|
70
|
+
export function jsonStringify(value: any, spaces: any): string;
|
|
71
|
+
export function base64Decode(value: any): Buffer;
|
|
72
|
+
export function base64Encode(value: any): string;
|
|
73
|
+
export function apply(obj1: any, obj2: any): {};
|
|
74
|
+
export function stringFormat(...args: any[]): any;
|
|
75
|
+
export function loadResource(name: any): Promise<any>;
|
|
76
|
+
export function existsPath(sourcePath: any): Promise<any>;
|
|
77
|
+
export function resolvePath(source: any): any;
|
|
78
|
+
export function readFile(filePath: any): Promise<any>;
|
|
79
|
+
export function convertValueToDb(value: any): any;
|
|
80
|
+
export function reduceParameters(parameters: [{
|
|
81
|
+
name: string;
|
|
82
|
+
value: any;
|
|
83
|
+
}], options: any): any;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const Fs=require("fs-extra"),toString=Object.prototype.toString,dayjs=require("dayjs"),utc=require("dayjs/plugin/utc"),_=require("underscore"),{h3lp:h3lp}=require("h3lp");dayjs.extend(utc),module.exports={replace:function(e,t,r){return e.split(t).join(r)},error:function(e,t,r=new Error("UndefinedError")){let n=new Error(`${e} ${r.message}`);return n.code=e,t&&(n.data=t),n.innerError=r,n},errorUndefinedArgument:function(e){return this.error("UndefinedArgument",{argName:e})},tryString:function(e){return"[object String]"===toString.call(e)?e:null},tryInteger:function(e){return"[object Number]"===toString.call(e)&&e===parseInt(e)?e:null},tryDecimal:function(e){return"[object Number]"===toString.call(e)?e:null},tryBoolean:function(e){return"[object Boolean]"===toString.call(e)?e:null},tryDatetime:function(e){let t=toString.call(e);if("[object Date]"===t)return e;if("[object String]"===t){if(/^(\d{4})-(\d{1,2})-(\d{1,2})[T,\s](\d{1,2})\:(\d{1,2})\:(\d{1,2})\.?(\d+)?Z?$/.exec(e)){const t=new Date(e);if("Invalid Date"!==t.toString())return t}}return null},tryDate:function(e){let t=toString.call(e);if("[object Date]"===t)return new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate(),0,0,0,0));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))}return null},tryTime:function(e){let t=toString.call(e);if("[object Date]"===t)return new Date(Date.UTC(1970,0,1,e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds(),e.getUTCMilliseconds()));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]),(r=t[4])?(r.length<3&&(r=r.padEnd(3,"0")),r.length>3&&(r=r.substr(0,3)),Number(r)):0))}var r;return null},tryBinary:function(e){return Buffer.isBuffer(e)?e:Array.isArray(e)?Buffer.from(e):null},tryObject:function(e){return"[object Object]"===toString.call(e)?e:null},tryArray:function(e){return"[object Array]"===toString.call(e)?e:null},ensureString:function(e){let t=this.tryString(e);if(null!==t)return t;throw this.error("UnexpectedType",{value:e,expectedType:"string"})},ensureInteger:function(e){let t=this.tryInteger(e);if(null!==t)return t;throw this.error("UnexpectedType",{value:e,expectedType:"integer"})},ensureDecimal:function(e){let t=this.tryDecimal(e);if(null!==t)return t;throw this.error("UnexpectedType",{value:e,expectedType:"decimal"})},ensureBoolean:function(e){let t=this.tryBoolean(e);if(null!==t)return t;throw this.error("UnexpectedType",{value:e,expectedType:"boolean"})},ensureDatetime:function(e){let t=this.tryDatetime(e);if(null!==t)return t;throw this.error("UnexpectedType",{value:e,expectedType:"datetime"})},ensureDate:function(e){let t=this.tryDate(e);if(null!==t)return t;throw this.error("UnexpectedType",{value:e,expectedType:"date"})},ensureTime:function(e){let t=this.tryTime(e);if(null!==t)return t;throw this.error("UnexpectedType",{value:e,expectedType:"time"})},ensureBinary:function(e){let t=this.tryBinary(e);if(null!==t)return t;throw this.error("UnexpectedType",{value:e,expectedType:"binary"})},ensureObject:function(e){let t=this.tryObject(e);if(null!==t)return array;throw this.error("UnexpectedType",{value:t,expectedType:"object"})},ensureArray:function(e){let t=this.tryArray(e);if(null!==t)return t;throw this.error("UnexpectedType",{value:e,expectedType:"array"})},convertToString:function(e){if(null===e)return null;let t=this.tryString(e);if(null!==t)return t;let r=this.tryInteger(e);if(null!==r)return r.toString();let n=this.tryDecimal(e);if(null!==n)return n.toString();let i=this.tryBoolean(e);if(null!==i)return i?"true":"false";let l=this.tryDatetime(e);if(null!==l)return l.toJSON();throw this.error("InvalidConversion",{value:e,targetType:"string"})},convertToInteger:function(e){if(null===e)return null;let t=this.tryInteger(e);if(null!==t)return t;let r=this.tryString(e);if(null!==r&&!isNaN(r))return Math.round(Number(r));let n=this.tryDecimal(e);if(null!==n)return Math.round(n);let i=this.tryBoolean(e);if(null!==i)return i?1:0;throw this.error("InvalidConversion",{value:e,targetType:"integer"})},convertToDecimal:function(e){if(null===e)return null;let t=this.tryDecimal(e);if(null!==t)return t;let r=this.tryString(e);if(null!==r&&!isNaN(r))return Number(r);let n=this.tryInteger(e);if(null!==n)return n;let i=this.tryBoolean(e);if(null!==i)return i?1:0;throw this.error("InvalidConversion",{value:e,targetType:"decimal"})},convertToBoolean:function(e){if(null===e)return null;let t=this.tryBoolean(e);if(null!==t)return t;let r=this.tryString(e);if(null!==r&&("1"===r||"T"===r.toUpperCase()||"TRUE"===r.toUpperCase()||"Y"===r.toUpperCase()||"YES"===r.toUpperCase()))return!0;if(null!==r&&("0"===r||"F"===r.toUpperCase()||"FALSE"===r.toUpperCase()||"N"===r.toUpperCase()||"NO"===r.toUpperCase()))return!1;let n=this.tryInteger(e);if(null!==n&&1===n)return!0;if(null!==n&&0===n)return!1;throw this.error("InvalidConversion",{value:e,targetType:"boolean"})},convertToDatetime:function(e){if(null===e)return null;let t=this.tryDatetime(e);if(null!==t)return t;throw this.error("InvalidConversion",{value:e,targetType:"datetime"})},convertToDate:function(e){if(null===e)return null;let t=this.tryDate(e);if(null!==t)return t;let r=this.tryDatetime(e);if(null!==r)return new Date(Date.UTC(r.getUTCFullYear(),r.getUTCMonth(),r.getUTCDate(),0,0,0,0));throw this.error("InvalidConversion",{value:e,targetType:"date"})},convertToTime:function(e){if(null===e)return null;let t=this.tryTime(e);if(null!==t)return t;let r=this.tryDatetime(e);if(null!==r)return new Date(Date.UTC(1970,0,1,r.getUTCHours(),r.getUTCMinutes(),r.getUTCSeconds(),r.getUTCMilliseconds()));throw this.error("InvalidConversion",{value:e,targetType:"time"})},convertToBinary:function(e){if(null==e)return null;let t=this.tryBinary(e);if(null!==t)return t;throw this.error("InvalidConversion",{value:e,targetType:"binary"})},convertToListOfStrings:function(e){if(Array.isArray(e)){let t=[];for(let r=0;r<e.length;r++)t.push(this.convertToString(e[r]));return t}return[this.convertToString(e)]},convertToListOfIntegers:function(e){if(Array.isArray(e)){let t=[];for(let r=0;r<e.length;r++)t.push(this.convertToInteger(e[r]));return t}return[this.convertToInteger(e)]},convertToListOfDecimals:function(e){if(Array.isArray(e)){let t=[];for(let r=0;r<e.length;r++)t.push(this.convertToDecimal(e[r]));return t}return[this.convertToDecimal(e)]},convertToListOfBooleans:function(e){if(Array.isArray(e)){let t=[];for(let r=0;r<e.length;r++)t.push(this.convertToBoolean(e[r]));return t}return[this.convertToBoolean(e)]},convertToListOfDatetimes:function(e){if(Array.isArray(e)){let t=[];for(let r=0;r<e.length;r++)t.push(this.convertToDatetime(e[r]));return t}return[this.convertToDatetime(e)]},convertToListOfDates:function(e){if(Array.isArray(e)){let t=[];for(let r=0;r<e.length;r++)t.push(this.convertToDate(e[r]));return t}return[this.convertToDate(e)]},convertToListOfTimes:function(e){if(Array.isArray(e)){let t=[];for(let r=0;r<e.length;r++)t.push(this.convertToTime(e[r]));return t}return[this.convertToTime(e)]},convertToListOfBinaries:function(e){if(Array.isArray(e)){let t=[];for(let r=0;r<e.length;r++)t.push(this.convertToBinary(e[r]));return t}return[this.convertToBinary(e)]},httpCall:function(e){return new Promise(function(t,r){let n={method:e.method?e.method.toLowerCase():"get",headers:{},body:e.body};if(e.headers)for(let t=0;t<e.headers.length;t++){let r=e.headers[t];n.headers[r.name]=r.value}})},isNotNull:function(e){return null!==e},isNull:function(e){return null===e},isNullOrValue:function(e,t){return null===e||0===this.compare(e,t)},nvl:function(e,t){return null!==e?e:t},get:function(e,t){if(null===e)return null;{let r=this.tryObject(e);if(r){let e=t.indexOf(".");return-1===e?void 0!==r[t]?r[t]:null:this.get(r[t.substring(0,e)],t.substring(e+1,t.length))}if("[object Error]"===toString.call(e)){let r=e,n=t.indexOf(".");return-1===n?void 0!==r[t]?r[t]:null:this.get(r[t.substring(0,n)],t.substring(n+1,t.length))}let n=this.tryArray(e);return n?n[t]:null}},and:function(e,t){return this.ensureBoolean(e)&&this.ensureBoolean(t)},or:function(e,t){return this.ensureBoolean(e)||this.ensureBoolean(t)},not:function(e){return!this.ensureBoolean(e)},compare:function(e,t){let r=function(e,t){return e===t?0:e<t?-1:e>t?1:null};if(null===e&&null===t)return 0;if(null===e&&null!==t)return-1;if(null!==e&&null===t)return 1;let n=this.tryString(e),i=this.tryString(t);if(null!==n&&null!==i)return r(n,i);let l=this.tryDecimal(e),u=this.tryDecimal(t);if(null!==l&&null!==u)return r(l,u);let o=this.tryBoolean(e),s=this.tryBoolean(t);if(null!==o&&null!==s)return r(o,s);let a=this.tryDatetime(e),f=this.tryDatetime(t);if(null!==a&&null!==f)return r(a.toJSON(),f.toJSON());let c=this.tryDate(e),h=this.tryDate(t);if(null!==c&&null!==h)return r(c.toJSON(),h.toJSON());let y=this.tryTime(e),g=this.tryTime(t);if(null!==y&&null!==g)return r(y.toJSON(),g.toJSON());let d=this.tryArray(e),T=this.tryArray(t);if(null!==d&&null!==T){let e;if(e=r(d.length,T.length),0!==e)return e;for(let t=0;t<d.length;t++)if(0===e){let r=d[t],n=T[t];e=this.compare(r,n)}return e}let m=this.tryBinary(e),p=this.tryBinary(t);if(null!==m&&null!==p)return Buffer.compare(m,p);let v=this.tryObject(e),D=this.tryObject(t);return null!==v&&null!==D?r(JSON.stringify(v),JSON.stringify(D)):null},equals:function(e,t){return 0===this.compare(e,t)},notEquals:function(e,t){return 0!==this.compare(e,t)},greater:function(e,t){return this.compare(e,t)>0},less:function(e,t){return this.compare(e,t)<0},greaterOrEqual:function(e,t){return this.compare(e,t)>=0},lessOrEqual:function(e,t){return this.compare(e,t)<=0},concat:function(e,t){if(null===e)return t;if(null===t)return e;return this.ensureString(e)+this.ensureString(t)},add:function(e,t){if(null===e)return t;if(null===t)return e;let r=this.tryInteger(e),n=this.tryInteger(t);return null!==r&&null!==n?r+n:this.ensureDecimal(e)+this.ensureDecimal(t)},subtract:function(e,t){if(null===e)return null;if(null===t)return e;let r=this.tryInteger(e),n=this.tryInteger(t);return null!==r&&null!==n?r-n:this.ensureDecimal(e)-this.ensureDecimal(t)},multiply:function(e,t){if(null===e)return null;if(null===t)return null;let r=this.tryInteger(e),n=this.tryInteger(t);return null!==r&&null!==n?r*n:this.ensureDecimal(e)*this.ensureDecimal(t)},divide:function(e,t){if(null===e)return null;let r=this.ensureDecimal(e),n=this.ensureDecimal(t);if(0===n)throw this.error("DivisionByZero");return r/n},remainder:function(e,t){if(null===e)return null;let r=this.ensureDecimal(e),n=this.ensureDecimal(t);if(0===n)throw this.error("DivisionByZero");return r%n},lessUnary:function(e){if(null===e)return null;let t=this.tryInteger(e);return null!==t?-t:-this.ensureDecimal(e)},datetimeAdd:function(e,t){if(null===e)return null;if(null===t)return e;let r=this.ensureDatetime(e),n=this.ensureInteger(t);return new Date(Date.UTC(r.getUTCFullYear(),r.getUTCMonth(),r.getUTCDate(),r.getUTCHours(),r.getUTCMinutes(),r.getUTCSeconds(),r.getUTCMilliseconds()+n))},datetimeDiff:function(e,t){if(null===e)return null;if(null===t)return e;return this.ensureDatetime(e)-this.ensureDatetime(t)},dateAdd:function(e,t){if(null===e)return null;if(null===t)return e;let r=this.ensureDate(e),n=this.ensureInteger(t);return new Date(Date.UTC(r.getUTCFullYear(),r.getUTCMonth(),r.getUTCDate()+n,0,0,0,0))},dateDiff:function(e,t){if(null===e)return null;if(null===t)return e;return(this.ensureDate(e)-this.ensureDate(t))/864e5},timeAdd:function(e,t){if(null===e)return null;if(null===t)return e;let r=this.ensureTime(e),n=this.ensureInteger(t);return new Date(Date.UTC(1970,0,1,r.getUTCHours(),r.getUTCMinutes(),r.getUTCSeconds(),r.getUTCMilliseconds()+n))},timeDiff:function(e,t){if(null===e)return null;if(null===t)return e;return this.ensureTime(e)-this.ensureTime(t)},jsonParse:function(e){if(void 0===e)throw this.errorUndefinedArgument("value");if(null===e)return null;return JSON.parse(this.ensureString(e))},jsonStringify:function(e,t){if(void 0===e)throw this.errorUndefinedArgument("value");if(null===e)return null;if(null==t){return JSON.stringify(e)}{let r=this.ensureInteger(t);return JSON.stringify(e,null,r)}},base64Decode:function(e){if(void 0===e)throw this.errorUndefinedArgument("value");if(null===e)return null;let t=this.ensureString(e);return Buffer.from(t,"base64")},base64Encode:function(e){if(void 0===e)throw this.errorUndefinedArgument("value");if(null===e)return null;let t=this.ensureBinary(e);return Buffer.from(t).toString("base64")},apply:function(e,t){let r={};if(null===e)return null;let n=this.tryObject(e);if(null===n)throw fnError("InvalidObject",{value:e});for(let e in n)r[e]=n[e];if(null!==t){let e=this.tryObject(t);if(null===e)throw fnError("InvalidObject",{value:t});for(let t in e)r[t]=e[t]}return r},stringFormat:function(){if(0===arguments.length)return null;if(1===arguments.length)return arguments[0];{let e=arguments[0];for(let t=1;t<arguments.length;t++)e=e.split("%"+t+"$s").join(arguments[t]);return e}},loadResource:function(e){return Promise.resolve().then(function(){if(-1===e.indexOf("."))return require("../resources/main/"+e+".json");{let t=e.split(".");return require("../resources/edges/"+t[0]+"/"+t[1]+".json")}})},existsPath:async function(e){const t=this.resolvePath(e);return new Promise(e=>{Fs.access(t,t=>{e(!t)})})},resolvePath:function(e){const t=e.trim();return t.startsWith(".")?Path.join(process.cwd(),e):t.startsWith("~")?t.replace("~",process.env.HOME):e},readFile:async function(e){const t=this.resolvePath(e);return await this.existsPath(t)?new Promise((e,r)=>{Fs.readFile(t,(t,n)=>t?r(t):e(n.toString("utf8")))}):null},tryDatetime:function(e){let t=toString.call(e);if("[object Date]"===t)return e;if("[object String]"===t){if(/^(\d{4})-(\d{1,2})-(\d{1,2})[T,\s](\d{1,2})\:(\d{1,2})\:(\d{1,2})\.?(\d+)?Z?$/.exec(e)){const t=new Date(e);if("Invalid Date"!==t.toString())return t}}return null},convertValueToDb:function(e){if(_.isUndefined(e))return null;if(_.isNull(e))return null;if(!0===e)return 1;if(!1===e)return 0;let t=this.tryDatetime(e);return t||e},reduceParameters:function(e,t){const r={},n=Array.isArray(t.columns)?t.columns:[];for(let t=0;t<e.length;t++){const i=e[t],l=n[t];i&&i.name&&null!=i.value&&(r[i.name]=l?this.convertValueToDb(i.value,l):i.value)}return r}};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export function beginTransaction(connection: any): Promise<any>;
|
|
2
|
+
export function close(connection: any): Promise<void>;
|
|
3
|
+
export function commitTransaction(connection: any): Promise<any>;
|
|
4
|
+
export function createConnection(config: any): Promise<any>;
|
|
5
|
+
export function getConnection(pool: any): Promise<any>;
|
|
6
|
+
export function getPool(config?: {}): Promise<any>;
|
|
7
|
+
export function rollbackTransaction(connection: any): Promise<any>;
|
|
8
|
+
export function terminate(): Promise<boolean>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";const BlzBase=require("./base"),mysql=require("mysql"),poolsByName=new Map,_=require("underscore"),dayjs=require("dayjs");async function getPool(n={}){let e=n.name,o=poolsByName.get(e);if(o)return o;try{n.typeCast=function(n,e){if("TINY"===n.type&&1===n.length)return 1===e();if("DATETIME"===n.type||"DATE"===n.type){let n=e();return isUtcOffset(n)&&(n=dayjs(n).format("YYYY-MM-DDTHH:mm:ss")),n}return e()},n.waitForConnections=n.waitForConnections||!0,n.connectionLimit=n.connectionLimit||100,n.queueLimit=n.queueLimit||100,o=mysql.createPool(n),poolsByName.set(e,o)}catch(e){throw BlzBase.error("MySqlCannotCreateConnection",{config:n},e)}return o}function getConnection(n){return new Promise(function(e,o){n.getConnection(function(t,i){if(t)return console.error(t),void o(BlzBase.error("MySqlCannotCreateConnection",{connection:i},t));i.name=n.name,e(i)})})}const createConnection=async n=>await getConnection(await getPool(n));function beginTransaction(n){return new Promise(function(e,o){n.beginTransaction(function(t){t?o(BlzBase.error("MySqlCannotBeginTransaction",{connection:n},t)):e()})})}function commitTransaction(n){return new Promise(function(e,o){n.commit(function(t){t?o(BlzBase.error("MySqlCannotCommitTransaction",{connection:n},t)):e()})})}function rollbackTransaction(n){return new Promise(function(e,o){n.rollback(function(t){t?o(BlzBase.error("MySqlCannotRollBackTransaction",{connection:n},t)):e()})})}async function close(n){n.release(),n.destroy()}async function terminate(){let n=[];for(const[,e]of poolsByName)try{await e.end()}catch(e){n.push(e)}if(poolsByName.clear(),_.isEmpty(n))return!0;throw new Error(n)}function isUtcOffset(n){if(_.isNull(n)||_.isUndefined(n)||!_.isString(n))return!1;const e=n.match(/^(.*)([+-])(\d{2})?:?(\d{2})$/);return!_.isNull(e)&&(!_.isUndefined(e[3])&&"00"!==e[3]||!_.isUndefined(e[4])&&"00"!==e[4])}module.exports={beginTransaction:beginTransaction,close:close,commitTransaction:commitTransaction,createConnection:createConnection,getConnection:getConnection,getPool:getPool,rollbackTransaction:rollbackTransaction,terminate:terminate};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";const{convertValueToDb:convertValueToDb}=require("./execute-non-query"),BlzBase=require("./base");async function executeBulkInsert(e,t,o,r){const s=t+" ?",n=[];for(let e=0;e<o.length;e++){const t=o[e],r=[];for(let e=0;e<t.length;e++){const o=convertValueToDb(t[e]);r.push(o)}n.push(r)}return new Promise(function(t,u){e.query(s,[n],function(n,c,a){if(n)u(BlzBase.error("RdsMySqlExecuteError",{name:e.name,query:s,rows:o},n));else if(r.autoincrementalData){const e=c.insertId,o=c.insertId+(c.affectedRows-1),r=[];for(let t=e;t<=o;t++)r.push(t);t({ids:r,affectedRows:c.affectedRows})}else t({affectedRows:c.affectedRows})})})}module.exports=executeBulkInsert;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";const{convertValueToDb:convertValueToDb}=require("./execute-non-query"),BlzBase=require("./base"),SqlString=require("sqlstring");async function executeBulkMerge(e,n,s,t){const r=[];for(let e=0;e<s.length;e++){const n=s[e],o=[];for(let e=0;e<n.length;e++){const s=t.columns[e];let r=convertValueToDb(n[e]);["string","date","datetime","time"].includes(s.type)&&(r=SqlString.escape(r)),o.push(r)}r.push(`(${o.join(",")})`)}const o=[];o.push("INSERT INTO "+t.rdsTable.tableName+" ("),o.push(t.setsFields.map(e=>"`"+e+"`").join(", ")),o.push(")\n\rVALUES\n\r"),o.push(r.join(",")),o.push("\n\rON DUPLICATE KEY UPDATE\n\r");let u=!0;for(const e of t.setsFields.map(e=>"`"+e+"`"))o.push((u?" ":",\n\r ")+e+" = VALUES("+e+")"),u=!1;o.push(";");const l=o.join("");return new Promise(function(n,t){e.query(l,null,function(r,o,u){r?t(BlzBase.error("RdsMySqlExecuteError",{name:e.name,query:l,rows:s},r)):n({affectedRows:o.affectedRows})})})}module.exports=executeBulkMerge;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @param {*} connection
|
|
3
|
+
* @param {string} sql
|
|
4
|
+
* @param {[{name: string, value: *}]} [rdsParameters = []]
|
|
5
|
+
* @returns {Promise<{row: number, id: number}>}
|
|
6
|
+
* @public
|
|
7
|
+
*/
|
|
8
|
+
export function executeNonQuery(connection: any, sql: string, rdsParameters?: [{
|
|
9
|
+
name: string;
|
|
10
|
+
value: any;
|
|
11
|
+
}], options: any): Promise<{
|
|
12
|
+
row: number;
|
|
13
|
+
id: number;
|
|
14
|
+
}>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";const _=require("underscore"),BlzBase=require("./base"),toUnnamed=require("named-placeholders")();async function executeNonQuery(e,r,t,a){let n=r,s=[];try{_.isEmpty(t)||([n,s]=toUnnamed(r,BlzBase.reduceParameters(t,a)))}catch(t){throw BlzBase.error("RdsAuroraExecuteError",{name:e.name,sql:r,parameters:s},t)}return new Promise(function(t,a){e.query(n,s,function(n,o,u){n?a(BlzBase.error("RdsAuroraExecuteError",{name:e.name,sql:r,parameters:s},n)):t({rowsAffected:o.affectedRows,id:o.insertId})})})}module.exports={executeNonQuery:executeNonQuery};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export = executeQuery;
|
|
2
|
+
/**
|
|
3
|
+
* @param {*} connection
|
|
4
|
+
* @param {string} sql
|
|
5
|
+
* @param {[{name: string, value: *}]} [rdsParameters = []]
|
|
6
|
+
* @public
|
|
7
|
+
*/
|
|
8
|
+
declare function executeQuery(connection: any, sql: string, rdsParameters?: [{
|
|
9
|
+
name: string;
|
|
10
|
+
value: any;
|
|
11
|
+
}], options: any): Promise<any>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";const _=require("underscore"),toUnnamed=require("named-placeholders")(),BlzBase=require("./base");async function executeQuery(e,r,t=[],n){let u=r,s=[];try{_.isEmpty(t)||([u,s]=toUnnamed(r,BlzBase.reduceParameters(t,n)))}catch(t){throw BlzBase.error("RdsMySqlExecuteError",{name:e.name,sql:r,parameters:s},t)}return new Promise(function(t,n){e.query(u,s,function(u,a,l){u?n(BlzBase.error("RdsMySqlExecuteError",{name:e.name,sql:r,parameters:s},u)):t({resultSet:new ResultSet(a,l)})})})}function ResultSet(e,r){return{getRow:async function(){let t=e.shift();return t?_.map(r,e=>t[e.name]):null},close:async function(){return e=null,r=null,!0}}}module.exports=executeQuery;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import executeProcedure = require("./stored-procedure");
|
|
2
|
+
import { beginTransaction } from "./connection-manager";
|
|
3
|
+
import { close } from "./connection-manager";
|
|
4
|
+
import { createConnection as createRdsConnection } from "./connection-manager";
|
|
5
|
+
import { commitTransaction } from "./connection-manager";
|
|
6
|
+
import { rollbackTransaction } from "./connection-manager";
|
|
7
|
+
export declare let syntaxis: any;
|
|
8
|
+
export declare function executeSql(connection: any, sql: any, parameters: any, options?: {}): Promise<any>;
|
|
9
|
+
export { executeProcedure, beginTransaction, close, createRdsConnection, commitTransaction, rollbackTransaction };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const _=require("underscore"),{executeNonQuery:executeNonQuery}=require("./execute-non-query"),executeQuery=require("./execute-query"),executeBulkInsert=require("./execute-bulk-insert"),executeBulkMerge=require("./execute-bulk-merge"),executeProcedure=require("./stored-procedure"),{beginTransaction:beginTransaction,close:close,commitTransaction:commitTransaction,createConnection:createRdsConnection,rollbackTransaction:rollbackTransaction,terminate:terminate}=require("./connection-manager");process.on("exit",async function(){await terminate()}),module.exports={syntaxis:require("./syntaxis.json"),executeProcedure:executeProcedure,executeSql:async function(e,r,n,t={}){return-1!=r.indexOf("call")?await executeProcedure(e,r,n):_.has(t,"bulkInsert")?await executeBulkInsert(e,r,n,t):_.has(t,"bulkMerge")?await executeBulkMerge(e,r,n,t):_.has(t,"queryOne")||_.has(t,"query")?await executeQuery(e,r,n,t):await executeNonQuery(e,r,n,t)},beginTransaction:beginTransaction,close:close,createRdsConnection:createRdsConnection,commitTransaction:commitTransaction,rollbackTransaction:rollbackTransaction};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export = executeProcedure;
|
|
2
|
+
/**
|
|
3
|
+
* @param {mysqlx.Session} session
|
|
4
|
+
* @param {string} procedure
|
|
5
|
+
* @param {[Parameter]} [parameters=[]]
|
|
6
|
+
*/
|
|
7
|
+
declare function executeProcedure(session: mysqlx.Session, procedure: string, parameters?: [Parameter]): Promise<{
|
|
8
|
+
outParameters: {};
|
|
9
|
+
}>;
|
|
10
|
+
declare namespace executeProcedure {
|
|
11
|
+
export { Parameter };
|
|
12
|
+
}
|
|
13
|
+
type Parameter = {
|
|
14
|
+
isResultSet: boolean;
|
|
15
|
+
name: string;
|
|
16
|
+
value: any;
|
|
17
|
+
direction: "in" | "out" | "in/out";
|
|
18
|
+
type: "string" | "integer" | "decimal" | "boolean" | "datetime" | "date" | "time" | "binary";
|
|
19
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";const mysql=require("mysql"),_=require("underscore"),BlzBase=require("./base"),toString=Object.prototype.toString;function tryDatetime(e){let r=toString.call(e);if("[object Date]"===r)return e;if("[object String]"===r){let r=/^(\d{4})-(\d{1,2})-(\d{1,2})[T,\s](\d{1,2})\:(\d{1,2})\:(\d{1,2})\.?(\d+)?Z?$/.exec(e);if(r)return new Date(Date.UTC(Number(r[1]),Number(r[2])-1,Number(r[3]),Number(r[4]),Number(r[5]),Number(r[6]||0),(t=r[7])?(t.length<3&&(t=t.padEnd(3,"0")),t.length>3&&(t=t.substr(0,3)),Number(t)):0))}var t;return null}function convertValueToDb(e){if(_.isUndefined(e))return null;if(_.isNull(e))return null;if(!0===e)return 1;if(!1===e)return 0;let r=tryDatetime(e);if(r){let e=r.toJSON();return 24===e.length&&(e=e.substring(0,19)),e}return e}async function parseOutputParameters(e,r,t,a){let n=null,s=null;try{n=await new Promise(function(t,n){let s=`SELECT @${r.name}_${a};`;e.query(s,(e,r,a)=>{if(e)return n(e);t(r)})})}catch(e){throw BlzBase.error("RdsMysqlCannotConvertParameters",{parameter:r,result:t,time_stamp:a},e)}if(s=_.property(`@${r.name}_${a}`)(_.first(n)),r.isResultSet)t[r.name]=JSON.parse(s);else switch(r.type){case"string":t[r.name]=BlzBase.convertToString(s);break;case"integer":t[r.name]=BlzBase.convertToInteger(s);break;case"decimal":t[r.name]=BlzBase.convertToDecimal(s);break;case"boolean":t[r.name]=BlzBase.convertToBoolean(s);break;case"datetime":t[r.name]=BlzBase.convertToDatetime(s);break;case"date":t[r.name]=BlzBase.convertToDate(s);break;case"time":t[r.name]=BlzBase.convertToTime(s);break;case"binary":t[r.name]=BlzBase.convertToBinary(s);break;default:throw BlzBase.error("RdsMySqlUnexpectedType",{parameter:r,result:t,value:s})}}async function parseInputParameters(e,r,t,a){for(const n of t)switch(n.direction){case"in":case"in/out":try{await new Promise(function(r,t){let s=`SET @${n.name}_${a} = ?;`;e.query(s,[convertValueToDb(n.value)],(e,a,n)=>{if(e)return t(e);r()})})}catch(e){throw BlzBase.error("RdsMySqlInputParameterType",{parameters:t,time_stamp:a})}r=r.replace(`:${n.name}`,`@${n.name}_${a}`);break;case"out":try{await new Promise(function(r,t){let s=`SET @${n.name}_${a} = NULL;`;e.query(s,(e,a,n)=>{if(e)return t(e);r()})})}catch(e){throw BlzBase.error("RdsMySqlInputParameterType",{parameters:t,time_stamp:a})}r=r.replace(`:${n.name}`,`@${n.name}_${a}`)}return r}async function executeProcedure(e,r,t){const a=Date.now();_.isArray(t)&&(r=await parseInputParameters(e,r,t,a));try{await new Promise(function(t,a){e.query(r,(e,r,n)=>{if(e)return a(e);t(r)})})}catch(a){throw BlzBase.error("RdsMysqlCannotExecuteProcedure",{session:e,procedure:r,parameters:t},a)}let n={};for(const r of t)"in"!=r.direction&&await parseOutputParameters(e,r,n,a);return{outParameters:n}}module.exports=executeProcedure;
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
export function replace(string: any, search: any, replace: any): any;
|
|
2
|
+
export function error(code: any, data: any, innerError?: Error): Error;
|
|
3
|
+
export function errorUndefinedArgument(argName: any): Error;
|
|
4
|
+
export function tryString(value: any): any;
|
|
5
|
+
export function tryInteger(value: any): any;
|
|
6
|
+
export function tryDecimal(value: any): any;
|
|
7
|
+
export function tryBoolean(value: any): any;
|
|
8
|
+
export function tryDatetime(value: any): any;
|
|
9
|
+
export function tryDate(value: any): Date;
|
|
10
|
+
export function tryTime(value: any): Date;
|
|
11
|
+
export function tryBinary(value: any): Buffer;
|
|
12
|
+
export function tryObject(value: any): any;
|
|
13
|
+
export function tryArray(value: any): any;
|
|
14
|
+
export function ensureString(value: any): any;
|
|
15
|
+
export function ensureInteger(value: any): any;
|
|
16
|
+
export function ensureDecimal(value: any): any;
|
|
17
|
+
export function ensureBoolean(value: any): any;
|
|
18
|
+
export function ensureDatetime(value: any): any;
|
|
19
|
+
export function ensureDate(value: any): Date;
|
|
20
|
+
export function ensureTime(value: any): Date;
|
|
21
|
+
export function ensureBinary(value: any): Buffer;
|
|
22
|
+
export function ensureObject(value: any): any;
|
|
23
|
+
export function ensureArray(value: any): any;
|
|
24
|
+
export function convertToString(value: any): any;
|
|
25
|
+
export function convertToInteger(value: any): any;
|
|
26
|
+
export function convertToDecimal(value: any): any;
|
|
27
|
+
export function convertToBoolean(value: any): any;
|
|
28
|
+
export function convertToDatetime(value: any): any;
|
|
29
|
+
export function convertToDate(value: any): Date;
|
|
30
|
+
export function convertToTime(value: any): Date;
|
|
31
|
+
export function convertToBinary(value: any): Buffer;
|
|
32
|
+
export function convertToListOfStrings(value: any): any[];
|
|
33
|
+
export function convertToListOfIntegers(value: any): any[];
|
|
34
|
+
export function convertToListOfDecimals(value: any): any[];
|
|
35
|
+
export function convertToListOfBooleans(value: any): any[];
|
|
36
|
+
export function convertToListOfDatetimes(value: any): any[];
|
|
37
|
+
export function convertToListOfDates(value: any): Date[];
|
|
38
|
+
export function convertToListOfTimes(value: any): Date[];
|
|
39
|
+
export function convertToListOfBinaries(value: any): Buffer[];
|
|
40
|
+
export function httpCall(httpRequest: any): Promise<any>;
|
|
41
|
+
export function isNotNull(value: any): boolean;
|
|
42
|
+
export function isNull(value: any): boolean;
|
|
43
|
+
export function isNullOrValue(value: any, valueToCompare: any): boolean;
|
|
44
|
+
export function nvl(value: any, replacementValue: any): any;
|
|
45
|
+
export function get(objOrTuple: any, codePathOrIndex: any): any;
|
|
46
|
+
export function and(value1: any, value2: any): any;
|
|
47
|
+
export function or(value1: any, value2: any): any;
|
|
48
|
+
export function not(value: any): boolean;
|
|
49
|
+
export function compare(value1: any, value2: any): any;
|
|
50
|
+
export function equals(value1: any, value2: any): boolean;
|
|
51
|
+
export function notEquals(value1: any, value2: any): boolean;
|
|
52
|
+
export function greater(value1: any, value2: any): boolean;
|
|
53
|
+
export function less(value1: any, value2: any): boolean;
|
|
54
|
+
export function greaterOrEqual(value1: any, value2: any): boolean;
|
|
55
|
+
export function lessOrEqual(value1: any, value2: any): boolean;
|
|
56
|
+
export function concat(value1: any, value2: any): any;
|
|
57
|
+
export function add(value1: any, value2: any): any;
|
|
58
|
+
export function subtract(value1: any, value2: any): any;
|
|
59
|
+
export function multiply(value1: any, value2: any): number;
|
|
60
|
+
export function divide(value1: any, value2: any): number;
|
|
61
|
+
export function remainder(value1: any, value2: any): number;
|
|
62
|
+
export function lessUnary(value: any): number;
|
|
63
|
+
export function datetimeAdd(value1: any, value2: any): any;
|
|
64
|
+
export function datetimeDiff(value1: any, value2: any): any;
|
|
65
|
+
export function dateAdd(value1: any, value2: any): any;
|
|
66
|
+
export function dateDiff(value1: any, value2: any): any;
|
|
67
|
+
export function timeAdd(value1: any, value2: any): any;
|
|
68
|
+
export function timeDiff(value1: any, value2: any): any;
|
|
69
|
+
export function jsonParse(value: any): any;
|
|
70
|
+
export function jsonStringify(value: any, spaces: any): string;
|
|
71
|
+
export function base64Decode(value: any): Buffer;
|
|
72
|
+
export function base64Encode(value: any): string;
|
|
73
|
+
export function apply(obj1: any, obj2: any): {};
|
|
74
|
+
export function stringFormat(...args: any[]): any;
|
|
75
|
+
export function loadResource(name: any): Promise<any>;
|
|
76
|
+
export function existsPath(sourcePath: any): Promise<any>;
|
|
77
|
+
export function resolvePath(source: any): any;
|
|
78
|
+
export function readFile(filePath: any): Promise<any>;
|
|
79
|
+
export function convertValueToDb(value: any): any;
|
|
80
|
+
export function reduceParameters(parameters: [{
|
|
81
|
+
name: string;
|
|
82
|
+
value: any;
|
|
83
|
+
}], options: any): any;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const Fs=require("fs-extra"),toString=Object.prototype.toString,dayjs=require("dayjs"),utc=require("dayjs/plugin/utc"),_=require("underscore"),{h3lp:h3lp}=require("h3lp");dayjs.extend(utc),module.exports={replace:function(e,t,r){return e.split(t).join(r)},error:function(e,t,r=new Error("UndefinedError")){let n=new Error(`${e} ${r.message}`);return n.code=e,t&&(n.data=t),n.innerError=r,n},errorUndefinedArgument:function(e){return this.error("UndefinedArgument",{argName:e})},tryString:function(e){return"[object String]"===toString.call(e)?e:null},tryInteger:function(e){return"[object Number]"===toString.call(e)&&e===parseInt(e)?e:null},tryDecimal:function(e){return"[object Number]"===toString.call(e)?e:null},tryBoolean:function(e){return"[object Boolean]"===toString.call(e)?e:null},tryDatetime:function(e){let t=toString.call(e);if("[object Date]"===t)return e;if("[object String]"===t){if(/^(\d{4})-(\d{1,2})-(\d{1,2})[T,\s](\d{1,2})\:(\d{1,2})\:(\d{1,2})\.?(\d+)?Z?$/.exec(e)){const t=new Date(e);if("Invalid Date"!==t.toString())return t}}return null},tryDate:function(e){let t=toString.call(e);if("[object Date]"===t)return new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate(),0,0,0,0));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))}return null},tryTime:function(e){let t=toString.call(e);if("[object Date]"===t)return new Date(Date.UTC(1970,0,1,e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds(),e.getUTCMilliseconds()));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]),(r=t[4])?(r.length<3&&(r=r.padEnd(3,"0")),r.length>3&&(r=r.substr(0,3)),Number(r)):0))}var r;return null},tryBinary:function(e){return Buffer.isBuffer(e)?e:Array.isArray(e)?Buffer.from(e):null},tryObject:function(e){return"[object Object]"===toString.call(e)?e:null},tryArray:function(e){return"[object Array]"===toString.call(e)?e:null},ensureString:function(e){let t=this.tryString(e);if(null!==t)return t;throw this.error("UnexpectedType",{value:e,expectedType:"string"})},ensureInteger:function(e){let t=this.tryInteger(e);if(null!==t)return t;throw this.error("UnexpectedType",{value:e,expectedType:"integer"})},ensureDecimal:function(e){let t=this.tryDecimal(e);if(null!==t)return t;throw this.error("UnexpectedType",{value:e,expectedType:"decimal"})},ensureBoolean:function(e){let t=this.tryBoolean(e);if(null!==t)return t;throw this.error("UnexpectedType",{value:e,expectedType:"boolean"})},ensureDatetime:function(e){let t=this.tryDatetime(e);if(null!==t)return t;throw this.error("UnexpectedType",{value:e,expectedType:"datetime"})},ensureDate:function(e){let t=this.tryDate(e);if(null!==t)return t;throw this.error("UnexpectedType",{value:e,expectedType:"date"})},ensureTime:function(e){let t=this.tryTime(e);if(null!==t)return t;throw this.error("UnexpectedType",{value:e,expectedType:"time"})},ensureBinary:function(e){let t=this.tryBinary(e);if(null!==t)return t;throw this.error("UnexpectedType",{value:e,expectedType:"binary"})},ensureObject:function(e){let t=this.tryObject(e);if(null!==t)return array;throw this.error("UnexpectedType",{value:t,expectedType:"object"})},ensureArray:function(e){let t=this.tryArray(e);if(null!==t)return t;throw this.error("UnexpectedType",{value:e,expectedType:"array"})},convertToString:function(e){if(null===e)return null;let t=this.tryString(e);if(null!==t)return t;let r=this.tryInteger(e);if(null!==r)return r.toString();let n=this.tryDecimal(e);if(null!==n)return n.toString();let i=this.tryBoolean(e);if(null!==i)return i?"true":"false";let l=this.tryDatetime(e);if(null!==l)return l.toJSON();throw this.error("InvalidConversion",{value:e,targetType:"string"})},convertToInteger:function(e){if(null===e)return null;let t=this.tryInteger(e);if(null!==t)return t;let r=this.tryString(e);if(null!==r&&!isNaN(r))return Math.round(Number(r));let n=this.tryDecimal(e);if(null!==n)return Math.round(n);let i=this.tryBoolean(e);if(null!==i)return i?1:0;throw this.error("InvalidConversion",{value:e,targetType:"integer"})},convertToDecimal:function(e){if(null===e)return null;let t=this.tryDecimal(e);if(null!==t)return t;let r=this.tryString(e);if(null!==r&&!isNaN(r))return Number(r);let n=this.tryInteger(e);if(null!==n)return n;let i=this.tryBoolean(e);if(null!==i)return i?1:0;throw this.error("InvalidConversion",{value:e,targetType:"decimal"})},convertToBoolean:function(e){if(null===e)return null;let t=this.tryBoolean(e);if(null!==t)return t;let r=this.tryString(e);if(null!==r&&("1"===r||"T"===r.toUpperCase()||"TRUE"===r.toUpperCase()||"Y"===r.toUpperCase()||"YES"===r.toUpperCase()))return!0;if(null!==r&&("0"===r||"F"===r.toUpperCase()||"FALSE"===r.toUpperCase()||"N"===r.toUpperCase()||"NO"===r.toUpperCase()))return!1;let n=this.tryInteger(e);if(null!==n&&1===n)return!0;if(null!==n&&0===n)return!1;throw this.error("InvalidConversion",{value:e,targetType:"boolean"})},convertToDatetime:function(e){if(null===e)return null;let t=this.tryDatetime(e);if(null!==t)return t;throw this.error("InvalidConversion",{value:e,targetType:"datetime"})},convertToDate:function(e){if(null===e)return null;let t=this.tryDate(e);if(null!==t)return t;let r=this.tryDatetime(e);if(null!==r)return new Date(Date.UTC(r.getUTCFullYear(),r.getUTCMonth(),r.getUTCDate(),0,0,0,0));throw this.error("InvalidConversion",{value:e,targetType:"date"})},convertToTime:function(e){if(null===e)return null;let t=this.tryTime(e);if(null!==t)return t;let r=this.tryDatetime(e);if(null!==r)return new Date(Date.UTC(1970,0,1,r.getUTCHours(),r.getUTCMinutes(),r.getUTCSeconds(),r.getUTCMilliseconds()));throw this.error("InvalidConversion",{value:e,targetType:"time"})},convertToBinary:function(e){if(null==e)return null;let t=this.tryBinary(e);if(null!==t)return t;throw this.error("InvalidConversion",{value:e,targetType:"binary"})},convertToListOfStrings:function(e){if(Array.isArray(e)){let t=[];for(let r=0;r<e.length;r++)t.push(this.convertToString(e[r]));return t}return[this.convertToString(e)]},convertToListOfIntegers:function(e){if(Array.isArray(e)){let t=[];for(let r=0;r<e.length;r++)t.push(this.convertToInteger(e[r]));return t}return[this.convertToInteger(e)]},convertToListOfDecimals:function(e){if(Array.isArray(e)){let t=[];for(let r=0;r<e.length;r++)t.push(this.convertToDecimal(e[r]));return t}return[this.convertToDecimal(e)]},convertToListOfBooleans:function(e){if(Array.isArray(e)){let t=[];for(let r=0;r<e.length;r++)t.push(this.convertToBoolean(e[r]));return t}return[this.convertToBoolean(e)]},convertToListOfDatetimes:function(e){if(Array.isArray(e)){let t=[];for(let r=0;r<e.length;r++)t.push(this.convertToDatetime(e[r]));return t}return[this.convertToDatetime(e)]},convertToListOfDates:function(e){if(Array.isArray(e)){let t=[];for(let r=0;r<e.length;r++)t.push(this.convertToDate(e[r]));return t}return[this.convertToDate(e)]},convertToListOfTimes:function(e){if(Array.isArray(e)){let t=[];for(let r=0;r<e.length;r++)t.push(this.convertToTime(e[r]));return t}return[this.convertToTime(e)]},convertToListOfBinaries:function(e){if(Array.isArray(e)){let t=[];for(let r=0;r<e.length;r++)t.push(this.convertToBinary(e[r]));return t}return[this.convertToBinary(e)]},httpCall:function(e){return new Promise(function(t,r){let n={method:e.method?e.method.toLowerCase():"get",headers:{},body:e.body};if(e.headers)for(let t=0;t<e.headers.length;t++){let r=e.headers[t];n.headers[r.name]=r.value}})},isNotNull:function(e){return null!==e},isNull:function(e){return null===e},isNullOrValue:function(e,t){return null===e||0===this.compare(e,t)},nvl:function(e,t){return null!==e?e:t},get:function(e,t){if(null===e)return null;{let r=this.tryObject(e);if(r){let e=t.indexOf(".");return-1===e?void 0!==r[t]?r[t]:null:this.get(r[t.substring(0,e)],t.substring(e+1,t.length))}if("[object Error]"===toString.call(e)){let r=e,n=t.indexOf(".");return-1===n?void 0!==r[t]?r[t]:null:this.get(r[t.substring(0,n)],t.substring(n+1,t.length))}let n=this.tryArray(e);return n?n[t]:null}},and:function(e,t){return this.ensureBoolean(e)&&this.ensureBoolean(t)},or:function(e,t){return this.ensureBoolean(e)||this.ensureBoolean(t)},not:function(e){return!this.ensureBoolean(e)},compare:function(e,t){let r=function(e,t){return e===t?0:e<t?-1:e>t?1:null};if(null===e&&null===t)return 0;if(null===e&&null!==t)return-1;if(null!==e&&null===t)return 1;let n=this.tryString(e),i=this.tryString(t);if(null!==n&&null!==i)return r(n,i);let l=this.tryDecimal(e),u=this.tryDecimal(t);if(null!==l&&null!==u)return r(l,u);let o=this.tryBoolean(e),s=this.tryBoolean(t);if(null!==o&&null!==s)return r(o,s);let a=this.tryDatetime(e),f=this.tryDatetime(t);if(null!==a&&null!==f)return r(a.toJSON(),f.toJSON());let c=this.tryDate(e),h=this.tryDate(t);if(null!==c&&null!==h)return r(c.toJSON(),h.toJSON());let y=this.tryTime(e),g=this.tryTime(t);if(null!==y&&null!==g)return r(y.toJSON(),g.toJSON());let d=this.tryArray(e),T=this.tryArray(t);if(null!==d&&null!==T){let e;if(e=r(d.length,T.length),0!==e)return e;for(let t=0;t<d.length;t++)if(0===e){let r=d[t],n=T[t];e=this.compare(r,n)}return e}let m=this.tryBinary(e),p=this.tryBinary(t);if(null!==m&&null!==p)return Buffer.compare(m,p);let v=this.tryObject(e),D=this.tryObject(t);return null!==v&&null!==D?r(JSON.stringify(v),JSON.stringify(D)):null},equals:function(e,t){return 0===this.compare(e,t)},notEquals:function(e,t){return 0!==this.compare(e,t)},greater:function(e,t){return this.compare(e,t)>0},less:function(e,t){return this.compare(e,t)<0},greaterOrEqual:function(e,t){return this.compare(e,t)>=0},lessOrEqual:function(e,t){return this.compare(e,t)<=0},concat:function(e,t){if(null===e)return t;if(null===t)return e;return this.ensureString(e)+this.ensureString(t)},add:function(e,t){if(null===e)return t;if(null===t)return e;let r=this.tryInteger(e),n=this.tryInteger(t);return null!==r&&null!==n?r+n:this.ensureDecimal(e)+this.ensureDecimal(t)},subtract:function(e,t){if(null===e)return null;if(null===t)return e;let r=this.tryInteger(e),n=this.tryInteger(t);return null!==r&&null!==n?r-n:this.ensureDecimal(e)-this.ensureDecimal(t)},multiply:function(e,t){if(null===e)return null;if(null===t)return null;let r=this.tryInteger(e),n=this.tryInteger(t);return null!==r&&null!==n?r*n:this.ensureDecimal(e)*this.ensureDecimal(t)},divide:function(e,t){if(null===e)return null;let r=this.ensureDecimal(e),n=this.ensureDecimal(t);if(0===n)throw this.error("DivisionByZero");return r/n},remainder:function(e,t){if(null===e)return null;let r=this.ensureDecimal(e),n=this.ensureDecimal(t);if(0===n)throw this.error("DivisionByZero");return r%n},lessUnary:function(e){if(null===e)return null;let t=this.tryInteger(e);return null!==t?-t:-this.ensureDecimal(e)},datetimeAdd:function(e,t){if(null===e)return null;if(null===t)return e;let r=this.ensureDatetime(e),n=this.ensureInteger(t);return new Date(Date.UTC(r.getUTCFullYear(),r.getUTCMonth(),r.getUTCDate(),r.getUTCHours(),r.getUTCMinutes(),r.getUTCSeconds(),r.getUTCMilliseconds()+n))},datetimeDiff:function(e,t){if(null===e)return null;if(null===t)return e;return this.ensureDatetime(e)-this.ensureDatetime(t)},dateAdd:function(e,t){if(null===e)return null;if(null===t)return e;let r=this.ensureDate(e),n=this.ensureInteger(t);return new Date(Date.UTC(r.getUTCFullYear(),r.getUTCMonth(),r.getUTCDate()+n,0,0,0,0))},dateDiff:function(e,t){if(null===e)return null;if(null===t)return e;return(this.ensureDate(e)-this.ensureDate(t))/864e5},timeAdd:function(e,t){if(null===e)return null;if(null===t)return e;let r=this.ensureTime(e),n=this.ensureInteger(t);return new Date(Date.UTC(1970,0,1,r.getUTCHours(),r.getUTCMinutes(),r.getUTCSeconds(),r.getUTCMilliseconds()+n))},timeDiff:function(e,t){if(null===e)return null;if(null===t)return e;return this.ensureTime(e)-this.ensureTime(t)},jsonParse:function(e){if(void 0===e)throw this.errorUndefinedArgument("value");if(null===e)return null;return JSON.parse(this.ensureString(e))},jsonStringify:function(e,t){if(void 0===e)throw this.errorUndefinedArgument("value");if(null===e)return null;if(null==t){return JSON.stringify(e)}{let r=this.ensureInteger(t);return JSON.stringify(e,null,r)}},base64Decode:function(e){if(void 0===e)throw this.errorUndefinedArgument("value");if(null===e)return null;let t=this.ensureString(e);return Buffer.from(t,"base64")},base64Encode:function(e){if(void 0===e)throw this.errorUndefinedArgument("value");if(null===e)return null;let t=this.ensureBinary(e);return Buffer.from(t).toString("base64")},apply:function(e,t){let r={};if(null===e)return null;let n=this.tryObject(e);if(null===n)throw fnError("InvalidObject",{value:e});for(let e in n)r[e]=n[e];if(null!==t){let e=this.tryObject(t);if(null===e)throw fnError("InvalidObject",{value:t});for(let t in e)r[t]=e[t]}return r},stringFormat:function(){if(0===arguments.length)return null;if(1===arguments.length)return arguments[0];{let e=arguments[0];for(let t=1;t<arguments.length;t++)e=e.split("%"+t+"$s").join(arguments[t]);return e}},loadResource:function(e){return Promise.resolve().then(function(){if(-1===e.indexOf("."))return require("../resources/main/"+e+".json");{let t=e.split(".");return require("../resources/edges/"+t[0]+"/"+t[1]+".json")}})},existsPath:async function(e){const t=this.resolvePath(e);return new Promise(e=>{Fs.access(t,t=>{e(!t)})})},resolvePath:function(e){const t=e.trim();return t.startsWith(".")?Path.join(process.cwd(),e):t.startsWith("~")?t.replace("~",process.env.HOME):e},readFile:async function(e){const t=this.resolvePath(e);return await this.existsPath(t)?new Promise((e,r)=>{Fs.readFile(t,(t,n)=>t?r(t):e(n.toString("utf8")))}):null},tryDatetime:function(e){let t=toString.call(e);if("[object Date]"===t)return e;if("[object String]"===t){if(/^(\d{4})-(\d{1,2})-(\d{1,2})[T,\s](\d{1,2})\:(\d{1,2})\:(\d{1,2})\.?(\d+)?Z?$/.exec(e)){const t=new Date(e);if("Invalid Date"!==t.toString())return t}}return null},convertValueToDb:function(e){if(_.isUndefined(e))return null;if(_.isNull(e))return null;if(!0===e)return 1;if(!1===e)return 0;let t=this.tryDatetime(e);return t||e},reduceParameters:function(e,t){const r={};for(let t=0;t<e.length;t++){const n=e[t];r[n.name]=this.convertValueToDb(n.value)}return r}};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export function beginTransaction(connection: any): Promise<void>;
|
|
2
|
+
export function close(connection: any): Promise<void>;
|
|
3
|
+
export function commitTransaction(connection: any): Promise<void>;
|
|
4
|
+
export function createConnection(config: any): Promise<any>;
|
|
5
|
+
export function rollbackTransaction(connection: any): Promise<void>;
|
|
6
|
+
export function terminate(): Promise<boolean>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";const mysqlx=require("@mysql/xdevapi"),BlzBase=require("./base"),_=require("underscore");let poolsByName=new Map;function getParameters(e={}){return _.reduce(e.properties,(e,t)=>e+","+t.key+"="+t.value,"").slice("1")}function getObjectConfig(e={}){if(!e.name)throw BlzBase.error("RdsMySqlException",{name:e.name});let t="";t=e.customUrl?getCustomURL(e):getURL(e);let n=getParameters(e);return _.isEmpty(n)||(n=`?${n}`),`${t}${n}`}function getURL(e={}){return`mysqlx://${e.user}:${e.password}@${e.host}:${e.port||33060}/${e.database}`}function getCustomURL(e={}){return`${e.protocol}://${e.url}`}function getPoolConfig(e={}){let t=_.pick(e,"maxSize","maxIdleTime","queueTimeout");return _.defaults(t,{enabled:!0,maxSize:25,maxIdleTime:0,queueTimeout:0})}async function getPool(e={}){let t=e.name,n=poolsByName.get(t);if(n)return n;let a=getObjectConfig(e);try{n=await mysqlx.getClient(a,{pooling:getPoolConfig(e)})}catch(t){throw BlzBase.error("RdsMysqlCannotCreatePool",{config:e,uri:a},t)}return n.name=e.name,poolsByName.set(t,n),n}async function getConnection(e){let t;try{t=await e.getSession()}catch(t){throw BlzBase.error("RdsMysqlCannotConnectToDatabase",{name:e.name},t)}return t.name=e.name,t}async function terminate(){let e=[];for(const[,t]of poolsByName)try{await t.close()}catch(t){e.push(t)}if(poolsByName.clear(),_.isEmpty(e))return!0;throw new Error(e)}const createConnection=async e=>await getConnection(await getPool(e)),beginTransaction=async function(e){try{await e.startTransaction()}catch(t){throw BlzBase.error("RdsMySqlBeginTransactionError",{name:e.name},t)}},commitTransaction=async function(e){try{await e.commit()}catch(t){throw BlzBase.error("RdsMySqlCommitTransactionError",{name:e.name},t)}},rollbackTransaction=async function(e){try{await e.rollback()}catch(t){throw BlzBase.error("RdsMySqlRollbackTransactionError",{name:e.name},t)}},close=async function(e){try{await e.close()}catch(t){throw BlzBase.error("RdsMySqlCloseError",{name:e.name},t)}};module.exports={beginTransaction:beginTransaction,close:close,commitTransaction:commitTransaction,createConnection:createConnection,rollbackTransaction:rollbackTransaction,terminate:terminate};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";const{convertValueToDb:convertValueToDb}=require("./execute-non-query"),BlzBase=require("./base");async function executeBulkInsert(e,t,o,r){const s=t+" ?",n=[];for(let e=0;e<o.length;e++){const t=o[e],r=[];for(let e=0;e<t.length;e++){const o=convertValueToDb(t[e]);r.push(o)}n.push(r)}return new Promise(function(t,u){e.query(s,[n],function(n,c,a){if(n)u(BlzBase.error("RdsMySqlExecuteError",{name:e.name,query:s,rows:o},n));else if(r.autoincrementalData){const e=c.insertId,o=c.insertId+(c.affectedRows-1),r=[];for(let t=e;t<=o;t++)r.push(t);t({ids:r,affectedRows:c.affectedRows})}else t({affectedRows:c.affectedRows})})})}module.exports=executeBulkInsert;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";const{convertValueToDb:convertValueToDb}=require("./execute-non-query"),BlzBase=require("./base"),SqlString=require("sqlstring");async function executeBulkMerge(e,n,s,t){const r=[];for(let e=0;e<s.length;e++){const n=s[e],o=[];for(let e=0;e<n.length;e++){const s=t.columns[e];let r=convertValueToDb(n[e]);["string","date","datetime","time"].includes(s.type)&&(r=SqlString.escape(r)),o.push(r)}r.push(`(${o.join(",")})`)}const o=[];o.push("INSERT INTO "+t.rdsTable.tableName+" ("),o.push(t.setsFields.map(e=>"`"+e+"`").join(", ")),o.push(")\n\rVALUES\n\r"),o.push(r.join(",")),o.push("\n\rON DUPLICATE KEY UPDATE\n\r");let u=!0;for(const e of t.setsFields.map(e=>"`"+e+"`"))o.push((u?" ":",\n\r ")+e+" = VALUES("+e+")"),u=!1;o.push(";");const l=o.join("");return new Promise(function(n,t){e.query(l,null,function(r,o,u){r?t(BlzBase.error("RdsMySqlExecuteError",{name:e.name,query:l,rows:s},r)):n({affectedRows:o.affectedRows})})})}module.exports=executeBulkMerge;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";const _=require("underscore"),toUnnamed=require("named-placeholders")(),BlzBase=require("./base");async function executeNonQuery(e,r,t,a){let n=r,s=[],u=null;try{_.isEmpty(t)||([n,s]=toUnnamed(r,BlzBase.reduceParameters(t)))}catch(t){throw BlzBase.error("RdsMySqlExecuteError",{name:e.name,sql:r,parameters:s},t)}try{u=await e.sql(n).bind(s).execute()}catch(t){throw BlzBase.error("RdsMySqlExecuteError",{name:e.name,sql:r,parameters:s},t)}return{rowsAffected:u.getAffectedItemsCount(),id:u.getAutoIncrementValue()}}module.exports={executeNonQuery:executeNonQuery};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";const _=require("underscore"),toUnnamed=require("named-placeholders")(),BlzBase=require("./base");async function executeQuery(e,r,t=[],n={}){let s,a=r,u=[];try{_.isEmpty(t)||([a,u]=toUnnamed(r,BlzBase.reduceParameters(t,n)))}catch(t){throw BlzBase.error("RdsMySqlExecuteError",{name:e.name,sql:r,parameters:u},t)}try{s=ResultSet(await e.sql(a).bind(u).execute())}catch(t){throw BlzBase.error("RdsMySqlExecuteError",{name:e.name,sql:r,parameters:u},t)}return{resultSet:s}}function ResultSet(e){return{getRow:async function(){return e.fetchOne()},close:async function(){return!0}}}module.exports=executeQuery;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import executeProcedure = require("./stored-procedure");
|
|
2
|
+
import { beginTransaction } from "./connection-manager";
|
|
3
|
+
import { close } from "./connection-manager";
|
|
4
|
+
import { createConnection as createRdsConnection } from "./connection-manager";
|
|
5
|
+
import { commitTransaction } from "./connection-manager";
|
|
6
|
+
import { rollbackTransaction } from "./connection-manager";
|
|
7
|
+
export declare let syntaxis: any;
|
|
8
|
+
export declare function executeSql(connection: any, sql: any, parameters: any, options?: {}): Promise<any>;
|
|
9
|
+
export { executeProcedure, beginTransaction, close, createRdsConnection, commitTransaction, rollbackTransaction };
|