From 479e0725e6886ca18d9ab0e0aad2bded05b16465 Mon Sep 17 00:00:00 2001 From: Philipp Kunz Date: Thu, 28 Jul 2022 16:53:07 +0200 Subject: [PATCH] fix(core): update --- package-lock.json | 343 +++++------------- package.json | 6 +- ts/00_commitinfo_data.ts | 2 +- ts/smartclickhouse.classes.clickhousedb.ts | 5 + ts/smartclickhouse.classes.httpclient.ts | 85 +++++ ts/smartclickhouse.classes.smartclickhouse.ts | 32 +- ts/smartclickhouse.classes.timedatatable.ts | 10 +- ts/smartclickhouse.plugins.ts | 9 +- 8 files changed, 190 insertions(+), 302 deletions(-) create mode 100644 ts/smartclickhouse.classes.clickhousedb.ts create mode 100644 ts/smartclickhouse.classes.httpclient.ts diff --git a/package-lock.json b/package-lock.json index 78ac7c3..c20b428 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,18 +9,18 @@ "version": "2.0.6", "license": "MIT", "dependencies": { - "@depyronick/clickhouse-client": "^1.0.14", "@pushrocks/smartdelay": "^2.0.13", "@pushrocks/smartobject": "^1.0.10", "@pushrocks/smartpromise": "^3.1.7", - "@pushrocks/smarturl": "^3.0.1" + "@pushrocks/smarturl": "^3.0.2", + "@pushrocks/webrequest": "^3.0.9" }, "devDependencies": { "@gitzone/tsbuild": "^2.1.63", "@gitzone/tsbundle": "^2.0.6", "@gitzone/tstest": "^1.0.72", "@pushrocks/tapbundle": "^5.0.4", - "@types/node": "^18.6.1", + "@types/node": "^18.6.2", "tslint": "^6.1.3", "tslint-config-prettier": "^1.15.0" } @@ -44,7 +44,6 @@ "version": "1.0.15", "resolved": "https://verdaccio.lossless.one/@apiglobal%2ftypedrequest-interfaces/-/typedrequest-interfaces-1.0.15.tgz", "integrity": "sha512-KncX168fUQJ73FeT22Cvls41mkJmtasP8dB2s9+9/OyWZpNsCzk9NEmtdRhulW2vLQwuAbQc1eoloe7ffCmhcA==", - "dev": true, "license": "MIT" }, "node_modules/@apiglobal/typedrequest/node_modules/@pushrocks/lik": { @@ -129,26 +128,6 @@ "node": ">=12" } }, - "node_modules/@depyronick/clickhouse-client": { - "version": "1.0.14", - "resolved": "https://verdaccio.lossless.one/@depyronick%2fclickhouse-client/-/clickhouse-client-1.0.14.tgz", - "integrity": "sha512-GA51f6TQmwGkpE2mk3V+lam3oiNUI+8I5v8MSWAht83do0PmrgfqmlERd4cu2rP5eHsGUaCBwRyzyakcs4qpbw==", - "license": "MIT", - "dependencies": { - "axios": "^0.26.1", - "rxjs": "^7.5.5", - "stream-json": "^1.7.4" - } - }, - "node_modules/@depyronick/clickhouse-client/node_modules/rxjs": { - "version": "7.5.5", - "resolved": "https://verdaccio.lossless.one/rxjs/-/rxjs-7.5.5.tgz", - "integrity": "sha512-sy+H0pQofO95VDmFLzyaw9xNJU4KTRSwQIGM6+iG3SypAtCiLDzpeG8sJrNCWn2Up9km+KhkvTdbkrdy+yzZdw==", - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.1.0" - } - }, "node_modules/@esm-bundle/chai": { "version": "4.3.4-fix.0", "resolved": "https://verdaccio.lossless.one/@esm-bundle%2fchai/-/chai-4.3.4-fix.0.tgz", @@ -932,7 +911,6 @@ "version": "5.0.2", "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartenv/-/smartenv-5.0.2.tgz", "integrity": "sha512-p+VhFwcadGqIqPMqEZtkcd8K7IsTibBqlx/Fy26e0ewSgE97fRjS0I+L2k8SoRLT7blV7itEtBMRw2xJU5pO3w==", - "dev": true, "license": "MIT", "dependencies": { "@pushrocks/smartpromise": "^3.1.7" @@ -1115,7 +1093,6 @@ "version": "4.0.6", "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartjson/-/smartjson-4.0.6.tgz", "integrity": "sha512-lykr068RSDHs0+EXCvIDVxjKnDtRQ2M7EXOo5jVrUU6/OEdfRl9ErM1K/oPafiEi47/PtTrwLlp1KdSgqkRjmg==", - "dev": true, "license": "MIT", "dependencies": { "@types/buffer-json": "^2.0.0", @@ -1169,7 +1146,6 @@ "version": "1.0.7", "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartmatch/-/smartmatch-1.0.7.tgz", "integrity": "sha512-D+lK5HIKO4Kj1Jm/ycKvy1VzDJ3V6ucHqmf5DMBFdm18BrMj2Zb6M7wN8HUKtkfHvOI7ig85JMuANSEyO7kAPg==", - "dev": true, "license": "MIT", "dependencies": { "matcher": "^3.0.0" @@ -1321,7 +1297,6 @@ "version": "2.0.25", "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartrx/-/smartrx-2.0.25.tgz", "integrity": "sha512-fryDJvjRdVYsH30xqR+bicp5poTdz7KYZ7Kqm+Yth0Qtk0x7NazENaTJATnWqGSiCbk9GrufVUTKWsT+uIT6kQ==", - "dev": true, "license": "MIT", "dependencies": { "@pushrocks/smartpromise": "^3.1.6", @@ -1332,7 +1307,6 @@ "version": "7.5.4", "resolved": "https://verdaccio.lossless.one/rxjs/-/rxjs-7.5.4.tgz", "integrity": "sha512-h5M3Hk78r6wAheJF0a5YahB1yRQKCsZ4MsGdZ5O9ETbVtjPcScGfrMmoOq7EBsCRzd4BDkvDJ7ogP8Sz5tTFiQ==", - "dev": true, "license": "Apache-2.0", "dependencies": { "tslib": "^2.1.0" @@ -1467,7 +1441,6 @@ "version": "3.0.45", "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmarttime/-/smarttime-3.0.45.tgz", "integrity": "sha512-3E/92Qmq7h2SpaA1TcVmWD02forTNQqEPE7xpk2dv/ussr/qb3WiM/c/D7Oe4lLuPxit0aJrcZlbtQs0H79uRg==", - "dev": true, "license": "MIT", "dependencies": { "@pushrocks/lik": "^5.0.4", @@ -1483,7 +1456,6 @@ "version": "5.0.4", "resolved": "https://verdaccio.lossless.one/@pushrocks%2flik/-/lik-5.0.4.tgz", "integrity": "sha512-Ydr1qwu/CYQiG9ZymhhNbyUQKIp6Yo6T9wsxR/D3iDs/h4vabkaFzcE47yNz+quMX/4kQaGthb77xxiXTnsVdQ==", - "dev": true, "license": "MIT", "dependencies": { "@pushrocks/smartdelay": "^2.0.13", @@ -1509,9 +1481,9 @@ } }, "node_modules/@pushrocks/smarturl": { - "version": "3.0.1", - "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmarturl/-/smarturl-3.0.1.tgz", - "integrity": "sha512-58t0ZAPFPQvvB4DXZs7tewB2I6iobOryeuUj73oEgiUfUZN4SdWJxhynzIwZZBCnJOYhwGVrBD0RxZ6OCVq+EQ==", + "version": "3.0.2", + "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmarturl/-/smarturl-3.0.2.tgz", + "integrity": "sha512-593Q4VvC+a5hHNS6pUsFSRF/qQ5coU4P66lUZwVk6FlcPoICEWEe3IWIqTeSLhDRZ/s9oZnN6TyTkn3BsN9hMg==", "license": "MIT", "dependencies": { "parse-url": "^6.0.5" @@ -1600,25 +1572,37 @@ } }, "node_modules/@pushrocks/webrequest": { - "version": "3.0.7", - "resolved": "https://verdaccio.lossless.one/@pushrocks%2fwebrequest/-/webrequest-3.0.7.tgz", - "integrity": "sha512-u5rBtvQwkJwTwqPXvYHuJnE/s0NoNX7jyWKXvwgl98DBO/IZb8DHU9Un/LMHXxgO0B+fATTr7U5+fWWxZ5gCfQ==", - "dev": true, + "version": "3.0.9", + "resolved": "https://verdaccio.lossless.one/@pushrocks%2fwebrequest/-/webrequest-3.0.9.tgz", + "integrity": "sha512-cylGNW1Yd8+A/sJMqy5R59605M4ZDqwCvtXiIp+uoeLtXUrTFkqwauXHsE/MwGFgi97NZV/RnlJCPHeoaQAiTQ==", "license": "MIT", "dependencies": { "@pushrocks/smartdelay": "^2.0.13", "@pushrocks/smartenv": "^5.0.2", - "@pushrocks/smartjson": "^4.0.6", + "@pushrocks/smartjson": "^5.0.1", "@pushrocks/smartpromise": "^3.1.7", - "@pushrocks/webstore": "^2.0.3", - "node-fetch": "^3.2.4" + "@pushrocks/webstore": "^2.0.4", + "node-fetch": "^3.2.9" + } + }, + "node_modules/@pushrocks/webrequest/node_modules/@pushrocks/smartjson": { + "version": "5.0.1", + "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartjson/-/smartjson-5.0.1.tgz", + "integrity": "sha512-Z/QxPyqOeMIrhxSsUCguw+l0C2xB94j5+ZrOymsFs1Qp1eY6uRmu54+Y3mjwnyQIwh2vRoHFp56HhYK83u8BFA==", + "license": "MIT", + "dependencies": { + "@types/buffer-json": "^2.0.1", + "@types/fast-json-stable-stringify": "^2.1.0", + "@types/lodash.clonedeep": "^4.5.7", + "buffer-json": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "lodash.clonedeep": "^4.5.0" } }, "node_modules/@pushrocks/webstore": { "version": "2.0.4", "resolved": "https://verdaccio.lossless.one/@pushrocks%2fwebstore/-/webstore-2.0.4.tgz", "integrity": "sha512-vj2BJQ2Zwsb81FlrSwuL761sJNdJ5YY9eMTxz15VlUZ++LCnGkyi7+L8pESGHcuaEu4TRnKVzdt04oqXNZGKaA==", - "dev": true, "license": "MIT", "dependencies": { "@apiglobal/typedrequest-interfaces": "^1.0.15", @@ -1635,7 +1619,6 @@ "version": "6.0.0", "resolved": "https://verdaccio.lossless.one/@pushrocks%2flik/-/lik-6.0.0.tgz", "integrity": "sha512-li2kLNVdhNxSP7N9Opun2iPdZZkVLaVZFRNek/G//r6qOuleFIK+TqjTTS6YYvUrFxAgJ4/vB5uPXbza1i8iBQ==", - "dev": true, "license": "MIT", "dependencies": { "@pushrocks/smartdelay": "^2.0.13", @@ -1758,7 +1741,6 @@ "version": "2.0.1", "resolved": "https://verdaccio.lossless.one/@types%2fbuffer-json/-/buffer-json-2.0.1.tgz", "integrity": "sha512-y2q2QGDqpS8NBtgKg8si+vKfanyd8smKzTglDCm7dXrco1VclSR8G1/uezK+sWbEUxsVPTomv5RxsTl3JAzxLA==", - "dev": true, "license": "MIT" }, "node_modules/@types/chai": { @@ -1922,7 +1904,6 @@ "resolved": "https://verdaccio.lossless.one/@types%2ffast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", "integrity": "sha512-IyNhGHu71jH1jCXTHmafuoAAdsbBON3kDh7u/UUhLmjYgN5TYB54e1R8ckTCiIevl2UuZaCsi9XRxineY5yUjw==", "deprecated": "This is a stub types definition. fast-json-stable-stringify provides its own type definitions, so you do not need this installed.", - "dev": true, "license": "MIT", "dependencies": { "fast-json-stable-stringify": "*" @@ -2078,14 +2059,12 @@ "version": "4.14.182", "resolved": "https://verdaccio.lossless.one/@types%2flodash/-/lodash-4.14.182.tgz", "integrity": "sha512-/THyiqyQAP9AfARo4pF+aCGcyiQ94tX/Is2I7HofNRqoYLgN1PBoOWu2/zTA5zMxzP5EFutMtWtGAFRKUe961Q==", - "dev": true, "license": "MIT" }, "node_modules/@types/lodash.clonedeep": { "version": "4.5.7", "resolved": "https://verdaccio.lossless.one/@types%2flodash.clonedeep/-/lodash.clonedeep-4.5.7.tgz", "integrity": "sha512-ccNqkPptFIXrpVqUECi60/DFxjNKsfoQxSQsgcBJCX/fuX1wgyQieojkcWH/KpE3xzLoWN/2k+ZeGqIN3paSvw==", - "dev": true, "license": "MIT", "dependencies": { "@types/lodash": "*" @@ -2109,13 +2088,12 @@ "version": "3.0.5", "resolved": "https://verdaccio.lossless.one/@types%2fminimatch/-/minimatch-3.0.5.tgz", "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==", - "dev": true, "license": "MIT" }, "node_modules/@types/node": { - "version": "18.6.1", - "resolved": "https://verdaccio.lossless.one/@types%2fnode/-/node-18.6.1.tgz", - "integrity": "sha512-z+2vB6yDt1fNwKOeGbckpmirO+VBDuQqecXkgeIqDlaOtmKn6hPR/viQ8cxCfqLU4fTlvM3+YjM367TukWdxpg==", + "version": "18.6.2", + "resolved": "https://verdaccio.lossless.one/@types%2fnode/-/node-18.6.2.tgz", + "integrity": "sha512-KcfkBq9H4PI6Vpu5B/KoPeuVDAbmi+2mDBqGPGUgoL7yXQtcWGu2vJWmmRkneWK3Rh0nIAX192Aa87AqKHYChQ==", "dev": true, "license": "MIT" }, @@ -2204,7 +2182,6 @@ "version": "3.2.2", "resolved": "https://verdaccio.lossless.one/@types%2fsymbol-tree/-/symbol-tree-3.2.2.tgz", "integrity": "sha512-+NcSHyA9K2EDHv3ny4wpbRSA+f+Tj0O7hIj7+w4tVw9yxqMavXwtFwuZEo3vyigTgOhGkrAUl3gj4oxAcyLfRQ==", - "dev": true, "license": "MIT" }, "node_modules/@types/through2": { @@ -2692,15 +2669,6 @@ "node": ">=4" } }, - "node_modules/axios": { - "version": "0.26.1", - "resolved": "https://verdaccio.lossless.one/axios/-/axios-0.26.1.tgz", - "integrity": "sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA==", - "license": "MIT", - "dependencies": { - "follow-redirects": "^1.14.8" - } - }, "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://verdaccio.lossless.one/balanced-match/-/balanced-match-1.0.2.tgz", @@ -2711,7 +2679,6 @@ "version": "0.7.0", "resolved": "https://verdaccio.lossless.one/base64-arraybuffer-es6/-/base64-arraybuffer-es6-0.7.0.tgz", "integrity": "sha512-ESyU/U1CFZDJUdr+neHRhNozeCv72Y7Vm0m1DCbjX3KBjT6eYocvAJlSk6+8+HkVwXlT1FNxhGW6q3UKAlCvvw==", - "dev": true, "license": "MIT", "engines": { "node": ">=6.0.0" @@ -2910,7 +2877,6 @@ "version": "2.0.0", "resolved": "https://verdaccio.lossless.one/buffer-json/-/buffer-json-2.0.0.tgz", "integrity": "sha512-+jjPFVqyfF1esi9fvfUs3NqM0pH1ziZ36VP4hmA/y/Ssfo/5w5xHKfTw9BwQjoJ1w/oVtpLomqwUHKdefGyuHw==", - "dev": true, "license": "MIT" }, "node_modules/bytes": { @@ -3387,7 +3353,6 @@ "version": "3.24.0", "resolved": "https://verdaccio.lossless.one/core-js/-/core-js-3.24.0.tgz", "integrity": "sha512-IeOyT8A6iK37Ep4kZDD423mpi6JfPRoPUdQwEWYiGolvn4o6j2diaRzNfDfpTdu3a5qMbrGUzKUpYpRY8jXCkQ==", - "dev": true, "hasInstallScript": true, "license": "MIT", "funding": { @@ -3427,7 +3392,6 @@ "version": "4.2.1", "resolved": "https://verdaccio.lossless.one/croner/-/croner-4.2.1.tgz", "integrity": "sha512-BzMiaPCrzaEvuzUZDosjE7jRv1LllfVtYh8KhVU4s45StnnM/exs1WUqpEYxqxBhoN90y9a3T9JJlWRwggvQeg==", - "dev": true, "license": "MIT" }, "node_modules/cross-fetch": { @@ -3494,7 +3458,6 @@ "version": "4.0.0", "resolved": "https://verdaccio.lossless.one/data-uri-to-buffer/-/data-uri-to-buffer-4.0.0.tgz", "integrity": "sha512-Vr3mLBA8qWmcuschSLAOogKgQ/Jwxulv3RNE4FXnYWRGujzrRWQI4m12fQqRkwX06C0KanhLr4hK+GydchZsaA==", - "dev": true, "license": "MIT", "engines": { "node": ">= 12" @@ -3504,7 +3467,6 @@ "version": "1.10.8", "resolved": "https://verdaccio.lossless.one/dayjs/-/dayjs-1.10.8.tgz", "integrity": "sha512-wbNwDfBHHur9UOzNUjeKUOJ0fCb0a52Wx0xInmQ7Y8FstyajiV1NmK1e00cxsr9YrE9r7yAChE0VvpuY5Rnlow==", - "dev": true, "license": "MIT" }, "node_modules/debounce": { @@ -3582,7 +3544,6 @@ "version": "1.1.3", "resolved": "https://verdaccio.lossless.one/define-properties/-/define-properties-1.1.3.tgz", "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", - "dev": true, "license": "MIT", "dependencies": { "object-keys": "^1.0.12" @@ -3699,7 +3660,6 @@ "version": "1.0.1", "resolved": "https://verdaccio.lossless.one/domexception/-/domexception-1.0.1.tgz", "integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==", - "dev": true, "license": "MIT", "dependencies": { "webidl-conversions": "^4.0.2" @@ -3709,7 +3669,6 @@ "version": "4.0.2", "resolved": "https://verdaccio.lossless.one/webidl-conversions/-/webidl-conversions-4.0.2.tgz", "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", - "dev": true, "license": "BSD-2-Clause" }, "node_modules/duplexer3": { @@ -4459,7 +4418,6 @@ "version": "3.1.8", "resolved": "https://verdaccio.lossless.one/fake-indexeddb/-/fake-indexeddb-3.1.8.tgz", "integrity": "sha512-7umIgcdnDfNcjw0ZaoD6yR2BflngKmPsyzZC+sV2fdttwz5bH6B6CCaNzzD+MURfRg8pvr/aL0trfNx65FLiDg==", - "dev": true, "license": "Apache-2.0", "dependencies": { "realistic-structured-clone": "^2.0.1" @@ -4492,7 +4450,6 @@ "version": "2.1.0", "resolved": "https://verdaccio.lossless.one/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true, "license": "MIT" }, "node_modules/fast-xml-parser": { @@ -4549,7 +4506,6 @@ "version": "3.2.0", "resolved": "https://verdaccio.lossless.one/fetch-blob/-/fetch-blob-3.2.0.tgz", "integrity": "sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==", - "dev": true, "funding": [ { "type": "github", @@ -4671,26 +4627,6 @@ "node": ">=8" } }, - "node_modules/follow-redirects": { - "version": "1.15.0", - "resolved": "https://verdaccio.lossless.one/follow-redirects/-/follow-redirects-1.15.0.tgz", - "integrity": "sha512-aExlJShTV4qOUOL7yF1U5tvLCB0xQuudbf6toyYA0E/acBNw71mvjFTnLaRp50aQaYocMR0a/RMMBIHeZnGyjQ==", - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], - "license": "MIT", - "engines": { - "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } - } - }, "node_modules/foreground-child": { "version": "1.5.6", "resolved": "https://verdaccio.lossless.one/foreground-child/-/foreground-child-1.5.6.tgz", @@ -4745,7 +4681,6 @@ "version": "4.0.10", "resolved": "https://verdaccio.lossless.one/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz", "integrity": "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==", - "dev": true, "license": "MIT", "dependencies": { "fetch-blob": "^3.1.2" @@ -5208,7 +5143,6 @@ "version": "7.0.2", "resolved": "https://verdaccio.lossless.one/idb/-/idb-7.0.2.tgz", "integrity": "sha512-jjKrT1EnyZewQ/gCBb/eyiYrhGzws2FeY92Yx8qT9S9GeQAmo4JFVIiWRIfKW/6Ob9A+UDAOW9j9jn58fy2HIg==", - "dev": true, "license": "ISC" }, "node_modules/ieee754": { @@ -5405,7 +5339,6 @@ "version": "1.3.2", "resolved": "https://verdaccio.lossless.one/is-nan/-/is-nan-1.3.2.tgz", "integrity": "sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==", - "dev": true, "license": "MIT", "dependencies": { "call-bind": "^1.0.0", @@ -5907,7 +5840,6 @@ "version": "4.17.21", "resolved": "https://verdaccio.lossless.one/lodash/-/lodash-4.17.21.tgz", "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true, "license": "MIT" }, "node_modules/lodash._baseassign": { @@ -5977,7 +5909,6 @@ "version": "4.5.0", "resolved": "https://verdaccio.lossless.one/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", - "dev": true, "license": "MIT" }, "node_modules/lodash.isarguments": { @@ -6148,7 +6079,6 @@ "version": "3.0.0", "resolved": "https://verdaccio.lossless.one/matcher/-/matcher-3.0.0.tgz", "integrity": "sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==", - "dev": true, "license": "MIT", "dependencies": { "escape-string-regexp": "^4.0.0" @@ -6161,7 +6091,6 @@ "version": "4.0.0", "resolved": "https://verdaccio.lossless.one/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, "license": "MIT", "engines": { "node": ">=10" @@ -6396,7 +6325,6 @@ "version": "1.0.0", "resolved": "https://verdaccio.lossless.one/node-domexception/-/node-domexception-1.0.0.tgz", "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==", - "dev": true, "funding": [ { "type": "github", @@ -6416,7 +6344,6 @@ "version": "3.2.9", "resolved": "https://verdaccio.lossless.one/node-fetch/-/node-fetch-3.2.9.tgz", "integrity": "sha512-/2lI+DBecVvVm9tDhjziTVjo2wmTsSxSk58saUYP0P/fRJ3xxtfMDY24+CKTkfm0Dlhyn3CSXNL0SoRiCZ8Rzg==", - "dev": true, "license": "MIT", "dependencies": { "data-uri-to-buffer": "^4.0.0", @@ -6490,7 +6417,6 @@ "version": "1.1.1", "resolved": "https://verdaccio.lossless.one/object-keys/-/object-keys-1.1.1.tgz", "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true, "license": "MIT", "engines": { "node": ">= 0.4" @@ -6666,7 +6592,6 @@ "version": "2.1.0", "resolved": "https://verdaccio.lossless.one/parse-ms/-/parse-ms-2.1.0.tgz", "integrity": "sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA==", - "dev": true, "license": "MIT", "engines": { "node": ">=6" @@ -6883,7 +6808,6 @@ "version": "7.0.1", "resolved": "https://verdaccio.lossless.one/pretty-ms/-/pretty-ms-7.0.1.tgz", "integrity": "sha512-973driJZvxiGOQ5ONsFhOF/DtzPMOMtgC11kCpUrPGMTgqp2q/1gwzCquocrN33is0VZ5GFHXZYMM9l6h67v2Q==", - "dev": true, "license": "MIT", "dependencies": { "parse-ms": "^2.1.0" @@ -7189,7 +7113,6 @@ "version": "2.0.4", "resolved": "https://verdaccio.lossless.one/realistic-structured-clone/-/realistic-structured-clone-2.0.4.tgz", "integrity": "sha512-lItAdBIFHUSe6fgztHPtmmWqKUgs+qhcYLi3wTRUl4OTB3Vb8aBVSjGfQZUvkmJCKoX3K9Wf7kyLp/F/208+7A==", - "dev": true, "license": "Apache-2.0", "dependencies": { "core-js": "^3.4", @@ -7745,21 +7668,6 @@ "node": ">= 0.8" } }, - "node_modules/stream-chain": { - "version": "2.2.5", - "resolved": "https://verdaccio.lossless.one/stream-chain/-/stream-chain-2.2.5.tgz", - "integrity": "sha512-1TJmBx6aSWqZ4tx7aTpBDXK0/e2hhcNSTV8+CbFJtDjbb+I1mZ8lHit0Grw9GRT+6JbIrrDd8esncgBi8aBXGA==", - "license": "BSD-3-Clause" - }, - "node_modules/stream-json": { - "version": "1.7.4", - "resolved": "https://verdaccio.lossless.one/stream-json/-/stream-json-1.7.4.tgz", - "integrity": "sha512-ja2dde1v7dOlx5/vmavn8kLrxvNfs7r2oNc5DYmNJzayDDdudyCSuTB1gFjH4XBVTIwxiMxL4i059HX+ZiouXg==", - "license": "BSD-3-Clause", - "dependencies": { - "stream-chain": "^2.2.5" - } - }, "node_modules/strict-uri-encode": { "version": "2.0.0", "resolved": "https://verdaccio.lossless.one/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz", @@ -7898,7 +7806,6 @@ "version": "3.2.4", "resolved": "https://verdaccio.lossless.one/symbol-tree/-/symbol-tree-3.2.4.tgz", "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", - "dev": true, "license": "MIT" }, "node_modules/systeminformation": { @@ -8291,7 +8198,6 @@ "version": "6.1.0", "resolved": "https://verdaccio.lossless.one/typeson/-/typeson-6.1.0.tgz", "integrity": "sha512-6FTtyGr8ldU0pfbvW/eOZrEtEkczHRUtduBnA90Jh9kMPCiFNnXIon3vF41N0S4tV1HHQt4Hk1j4srpESziCaA==", - "dev": true, "license": "MIT", "engines": { "node": ">=0.1.14" @@ -8301,7 +8207,6 @@ "version": "1.0.0-alpha.39", "resolved": "https://verdaccio.lossless.one/typeson-registry/-/typeson-registry-1.0.0-alpha.39.tgz", "integrity": "sha512-NeGDEquhw+yfwNhguLPcZ9Oj0fzbADiX4R0WxvoY8nGhy98IbzQy1sezjoEFWOywOboj/DWehI+/aUlRVrJnnw==", - "dev": true, "license": "MIT", "dependencies": { "base64-arraybuffer-es6": "^0.7.0", @@ -8316,7 +8221,6 @@ "version": "2.1.1", "resolved": "https://verdaccio.lossless.one/punycode/-/punycode-2.1.1.tgz", "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true, "license": "MIT", "engines": { "node": ">=6" @@ -8326,7 +8230,6 @@ "version": "2.1.0", "resolved": "https://verdaccio.lossless.one/tr46/-/tr46-2.1.0.tgz", "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", - "dev": true, "license": "MIT", "dependencies": { "punycode": "^2.1.1" @@ -8339,7 +8242,6 @@ "version": "6.1.0", "resolved": "https://verdaccio.lossless.one/webidl-conversions/-/webidl-conversions-6.1.0.tgz", "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", - "dev": true, "license": "BSD-2-Clause", "engines": { "node": ">=10.4" @@ -8349,7 +8251,6 @@ "version": "8.7.0", "resolved": "https://verdaccio.lossless.one/whatwg-url/-/whatwg-url-8.7.0.tgz", "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", - "dev": true, "license": "MIT", "dependencies": { "lodash": "^4.7.0", @@ -8536,7 +8437,6 @@ "version": "3.2.1", "resolved": "https://verdaccio.lossless.one/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz", "integrity": "sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==", - "dev": true, "license": "MIT", "engines": { "node": ">= 8" @@ -8826,8 +8726,7 @@ "@apiglobal/typedrequest-interfaces": { "version": "1.0.15", "resolved": "https://verdaccio.lossless.one/@apiglobal%2ftypedrequest-interfaces/-/typedrequest-interfaces-1.0.15.tgz", - "integrity": "sha512-KncX168fUQJ73FeT22Cvls41mkJmtasP8dB2s9+9/OyWZpNsCzk9NEmtdRhulW2vLQwuAbQc1eoloe7ffCmhcA==", - "dev": true + "integrity": "sha512-KncX168fUQJ73FeT22Cvls41mkJmtasP8dB2s9+9/OyWZpNsCzk9NEmtdRhulW2vLQwuAbQc1eoloe7ffCmhcA==" }, "@apiglobal/typedsocket": { "version": "2.0.4", @@ -8877,26 +8776,6 @@ "@jridgewell/trace-mapping": "0.3.9" } }, - "@depyronick/clickhouse-client": { - "version": "1.0.14", - "resolved": "https://verdaccio.lossless.one/@depyronick%2fclickhouse-client/-/clickhouse-client-1.0.14.tgz", - "integrity": "sha512-GA51f6TQmwGkpE2mk3V+lam3oiNUI+8I5v8MSWAht83do0PmrgfqmlERd4cu2rP5eHsGUaCBwRyzyakcs4qpbw==", - "requires": { - "axios": "^0.26.1", - "rxjs": "^7.5.5", - "stream-json": "^1.7.4" - }, - "dependencies": { - "rxjs": { - "version": "7.5.5", - "resolved": "https://verdaccio.lossless.one/rxjs/-/rxjs-7.5.5.tgz", - "integrity": "sha512-sy+H0pQofO95VDmFLzyaw9xNJU4KTRSwQIGM6+iG3SypAtCiLDzpeG8sJrNCWn2Up9km+KhkvTdbkrdy+yzZdw==", - "requires": { - "tslib": "^2.1.0" - } - } - } - }, "@esm-bundle/chai": { "version": "4.3.4-fix.0", "resolved": "https://verdaccio.lossless.one/@esm-bundle%2fchai/-/chai-4.3.4-fix.0.tgz", @@ -9583,7 +9462,6 @@ "version": "5.0.2", "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartenv/-/smartenv-5.0.2.tgz", "integrity": "sha512-p+VhFwcadGqIqPMqEZtkcd8K7IsTibBqlx/Fy26e0ewSgE97fRjS0I+L2k8SoRLT7blV7itEtBMRw2xJU5pO3w==", - "dev": true, "requires": { "@pushrocks/smartpromise": "^3.1.7" } @@ -9759,7 +9637,6 @@ "version": "4.0.6", "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartjson/-/smartjson-4.0.6.tgz", "integrity": "sha512-lykr068RSDHs0+EXCvIDVxjKnDtRQ2M7EXOo5jVrUU6/OEdfRl9ErM1K/oPafiEi47/PtTrwLlp1KdSgqkRjmg==", - "dev": true, "requires": { "@types/buffer-json": "^2.0.0", "@types/fast-json-stable-stringify": "^2.0.0", @@ -9808,7 +9685,6 @@ "version": "1.0.7", "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartmatch/-/smartmatch-1.0.7.tgz", "integrity": "sha512-D+lK5HIKO4Kj1Jm/ycKvy1VzDJ3V6ucHqmf5DMBFdm18BrMj2Zb6M7wN8HUKtkfHvOI7ig85JMuANSEyO7kAPg==", - "dev": true, "requires": { "matcher": "^3.0.0" } @@ -9949,7 +9825,6 @@ "version": "2.0.25", "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartrx/-/smartrx-2.0.25.tgz", "integrity": "sha512-fryDJvjRdVYsH30xqR+bicp5poTdz7KYZ7Kqm+Yth0Qtk0x7NazENaTJATnWqGSiCbk9GrufVUTKWsT+uIT6kQ==", - "dev": true, "requires": { "@pushrocks/smartpromise": "^3.1.6", "rxjs": "^7.5.2" @@ -9959,7 +9834,6 @@ "version": "7.5.4", "resolved": "https://verdaccio.lossless.one/rxjs/-/rxjs-7.5.4.tgz", "integrity": "sha512-h5M3Hk78r6wAheJF0a5YahB1yRQKCsZ4MsGdZ5O9ETbVtjPcScGfrMmoOq7EBsCRzd4BDkvDJ7ogP8Sz5tTFiQ==", - "dev": true, "requires": { "tslib": "^2.1.0" } @@ -10091,7 +9965,6 @@ "version": "3.0.45", "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmarttime/-/smarttime-3.0.45.tgz", "integrity": "sha512-3E/92Qmq7h2SpaA1TcVmWD02forTNQqEPE7xpk2dv/ussr/qb3WiM/c/D7Oe4lLuPxit0aJrcZlbtQs0H79uRg==", - "dev": true, "requires": { "@pushrocks/lik": "^5.0.4", "@pushrocks/smartdelay": "^2.0.13", @@ -10106,7 +9979,6 @@ "version": "5.0.4", "resolved": "https://verdaccio.lossless.one/@pushrocks%2flik/-/lik-5.0.4.tgz", "integrity": "sha512-Ydr1qwu/CYQiG9ZymhhNbyUQKIp6Yo6T9wsxR/D3iDs/h4vabkaFzcE47yNz+quMX/4kQaGthb77xxiXTnsVdQ==", - "dev": true, "requires": { "@pushrocks/smartdelay": "^2.0.13", "@pushrocks/smartmatch": "^1.0.7", @@ -10132,9 +10004,9 @@ } }, "@pushrocks/smarturl": { - "version": "3.0.1", - "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmarturl/-/smarturl-3.0.1.tgz", - "integrity": "sha512-58t0ZAPFPQvvB4DXZs7tewB2I6iobOryeuUj73oEgiUfUZN4SdWJxhynzIwZZBCnJOYhwGVrBD0RxZ6OCVq+EQ==", + "version": "3.0.2", + "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmarturl/-/smarturl-3.0.2.tgz", + "integrity": "sha512-593Q4VvC+a5hHNS6pUsFSRF/qQ5coU4P66lUZwVk6FlcPoICEWEe3IWIqTeSLhDRZ/s9oZnN6TyTkn3BsN9hMg==", "requires": { "parse-url": "^6.0.5" } @@ -10214,24 +10086,37 @@ } }, "@pushrocks/webrequest": { - "version": "3.0.7", - "resolved": "https://verdaccio.lossless.one/@pushrocks%2fwebrequest/-/webrequest-3.0.7.tgz", - "integrity": "sha512-u5rBtvQwkJwTwqPXvYHuJnE/s0NoNX7jyWKXvwgl98DBO/IZb8DHU9Un/LMHXxgO0B+fATTr7U5+fWWxZ5gCfQ==", - "dev": true, + "version": "3.0.9", + "resolved": "https://verdaccio.lossless.one/@pushrocks%2fwebrequest/-/webrequest-3.0.9.tgz", + "integrity": "sha512-cylGNW1Yd8+A/sJMqy5R59605M4ZDqwCvtXiIp+uoeLtXUrTFkqwauXHsE/MwGFgi97NZV/RnlJCPHeoaQAiTQ==", "requires": { "@pushrocks/smartdelay": "^2.0.13", "@pushrocks/smartenv": "^5.0.2", - "@pushrocks/smartjson": "^4.0.6", + "@pushrocks/smartjson": "^5.0.1", "@pushrocks/smartpromise": "^3.1.7", - "@pushrocks/webstore": "^2.0.3", - "node-fetch": "^3.2.4" + "@pushrocks/webstore": "^2.0.4", + "node-fetch": "^3.2.9" + }, + "dependencies": { + "@pushrocks/smartjson": { + "version": "5.0.1", + "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartjson/-/smartjson-5.0.1.tgz", + "integrity": "sha512-Z/QxPyqOeMIrhxSsUCguw+l0C2xB94j5+ZrOymsFs1Qp1eY6uRmu54+Y3mjwnyQIwh2vRoHFp56HhYK83u8BFA==", + "requires": { + "@types/buffer-json": "^2.0.1", + "@types/fast-json-stable-stringify": "^2.1.0", + "@types/lodash.clonedeep": "^4.5.7", + "buffer-json": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "lodash.clonedeep": "^4.5.0" + } + } } }, "@pushrocks/webstore": { "version": "2.0.4", "resolved": "https://verdaccio.lossless.one/@pushrocks%2fwebstore/-/webstore-2.0.4.tgz", "integrity": "sha512-vj2BJQ2Zwsb81FlrSwuL761sJNdJ5YY9eMTxz15VlUZ++LCnGkyi7+L8pESGHcuaEu4TRnKVzdt04oqXNZGKaA==", - "dev": true, "requires": { "@apiglobal/typedrequest-interfaces": "^1.0.15", "@pushrocks/lik": "^6.0.0", @@ -10247,7 +10132,6 @@ "version": "6.0.0", "resolved": "https://verdaccio.lossless.one/@pushrocks%2flik/-/lik-6.0.0.tgz", "integrity": "sha512-li2kLNVdhNxSP7N9Opun2iPdZZkVLaVZFRNek/G//r6qOuleFIK+TqjTTS6YYvUrFxAgJ4/vB5uPXbza1i8iBQ==", - "dev": true, "requires": { "@pushrocks/smartdelay": "^2.0.13", "@pushrocks/smartmatch": "^1.0.7", @@ -10352,8 +10236,7 @@ "@types/buffer-json": { "version": "2.0.1", "resolved": "https://verdaccio.lossless.one/@types%2fbuffer-json/-/buffer-json-2.0.1.tgz", - "integrity": "sha512-y2q2QGDqpS8NBtgKg8si+vKfanyd8smKzTglDCm7dXrco1VclSR8G1/uezK+sWbEUxsVPTomv5RxsTl3JAzxLA==", - "dev": true + "integrity": "sha512-y2q2QGDqpS8NBtgKg8si+vKfanyd8smKzTglDCm7dXrco1VclSR8G1/uezK+sWbEUxsVPTomv5RxsTl3JAzxLA==" }, "@types/chai": { "version": "4.3.1", @@ -10497,7 +10380,6 @@ "version": "2.1.0", "resolved": "https://verdaccio.lossless.one/@types%2ffast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", "integrity": "sha512-IyNhGHu71jH1jCXTHmafuoAAdsbBON3kDh7u/UUhLmjYgN5TYB54e1R8ckTCiIevl2UuZaCsi9XRxineY5yUjw==", - "dev": true, "requires": { "fast-json-stable-stringify": "*" } @@ -10635,14 +10517,12 @@ "@types/lodash": { "version": "4.14.182", "resolved": "https://verdaccio.lossless.one/@types%2flodash/-/lodash-4.14.182.tgz", - "integrity": "sha512-/THyiqyQAP9AfARo4pF+aCGcyiQ94tX/Is2I7HofNRqoYLgN1PBoOWu2/zTA5zMxzP5EFutMtWtGAFRKUe961Q==", - "dev": true + "integrity": "sha512-/THyiqyQAP9AfARo4pF+aCGcyiQ94tX/Is2I7HofNRqoYLgN1PBoOWu2/zTA5zMxzP5EFutMtWtGAFRKUe961Q==" }, "@types/lodash.clonedeep": { "version": "4.5.7", "resolved": "https://verdaccio.lossless.one/@types%2flodash.clonedeep/-/lodash.clonedeep-4.5.7.tgz", "integrity": "sha512-ccNqkPptFIXrpVqUECi60/DFxjNKsfoQxSQsgcBJCX/fuX1wgyQieojkcWH/KpE3xzLoWN/2k+ZeGqIN3paSvw==", - "dev": true, "requires": { "@types/lodash": "*" } @@ -10662,13 +10542,12 @@ "@types/minimatch": { "version": "3.0.5", "resolved": "https://verdaccio.lossless.one/@types%2fminimatch/-/minimatch-3.0.5.tgz", - "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==", - "dev": true + "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==" }, "@types/node": { - "version": "18.6.1", - "resolved": "https://verdaccio.lossless.one/@types%2fnode/-/node-18.6.1.tgz", - "integrity": "sha512-z+2vB6yDt1fNwKOeGbckpmirO+VBDuQqecXkgeIqDlaOtmKn6hPR/viQ8cxCfqLU4fTlvM3+YjM367TukWdxpg==", + "version": "18.6.2", + "resolved": "https://verdaccio.lossless.one/@types%2fnode/-/node-18.6.2.tgz", + "integrity": "sha512-KcfkBq9H4PI6Vpu5B/KoPeuVDAbmi+2mDBqGPGUgoL7yXQtcWGu2vJWmmRkneWK3Rh0nIAX192Aa87AqKHYChQ==", "dev": true }, "@types/parse5": { @@ -10745,8 +10624,7 @@ "@types/symbol-tree": { "version": "3.2.2", "resolved": "https://verdaccio.lossless.one/@types%2fsymbol-tree/-/symbol-tree-3.2.2.tgz", - "integrity": "sha512-+NcSHyA9K2EDHv3ny4wpbRSA+f+Tj0O7hIj7+w4tVw9yxqMavXwtFwuZEo3vyigTgOhGkrAUl3gj4oxAcyLfRQ==", - "dev": true + "integrity": "sha512-+NcSHyA9K2EDHv3ny4wpbRSA+f+Tj0O7hIj7+w4tVw9yxqMavXwtFwuZEo3vyigTgOhGkrAUl3gj4oxAcyLfRQ==" }, "@types/through2": { "version": "2.0.36", @@ -11099,14 +10977,6 @@ "integrity": "sha512-32+ub6kkdhhWick/UjvEwRchgoetXqTK14INLqbGm5U2TzBkBNF3nQtLYm8ovxSkQWArjEQvftCKryjZaATu3w==", "dev": true }, - "axios": { - "version": "0.26.1", - "resolved": "https://verdaccio.lossless.one/axios/-/axios-0.26.1.tgz", - "integrity": "sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA==", - "requires": { - "follow-redirects": "^1.14.8" - } - }, "balanced-match": { "version": "1.0.2", "resolved": "https://verdaccio.lossless.one/balanced-match/-/balanced-match-1.0.2.tgz", @@ -11115,8 +10985,7 @@ "base64-arraybuffer-es6": { "version": "0.7.0", "resolved": "https://verdaccio.lossless.one/base64-arraybuffer-es6/-/base64-arraybuffer-es6-0.7.0.tgz", - "integrity": "sha512-ESyU/U1CFZDJUdr+neHRhNozeCv72Y7Vm0m1DCbjX3KBjT6eYocvAJlSk6+8+HkVwXlT1FNxhGW6q3UKAlCvvw==", - "dev": true + "integrity": "sha512-ESyU/U1CFZDJUdr+neHRhNozeCv72Y7Vm0m1DCbjX3KBjT6eYocvAJlSk6+8+HkVwXlT1FNxhGW6q3UKAlCvvw==" }, "base64-js": { "version": "1.5.1", @@ -11240,8 +11109,7 @@ "buffer-json": { "version": "2.0.0", "resolved": "https://verdaccio.lossless.one/buffer-json/-/buffer-json-2.0.0.tgz", - "integrity": "sha512-+jjPFVqyfF1esi9fvfUs3NqM0pH1ziZ36VP4hmA/y/Ssfo/5w5xHKfTw9BwQjoJ1w/oVtpLomqwUHKdefGyuHw==", - "dev": true + "integrity": "sha512-+jjPFVqyfF1esi9fvfUs3NqM0pH1ziZ36VP4hmA/y/Ssfo/5w5xHKfTw9BwQjoJ1w/oVtpLomqwUHKdefGyuHw==" }, "bytes": { "version": "3.1.2", @@ -11588,8 +11456,7 @@ "core-js": { "version": "3.24.0", "resolved": "https://verdaccio.lossless.one/core-js/-/core-js-3.24.0.tgz", - "integrity": "sha512-IeOyT8A6iK37Ep4kZDD423mpi6JfPRoPUdQwEWYiGolvn4o6j2diaRzNfDfpTdu3a5qMbrGUzKUpYpRY8jXCkQ==", - "dev": true + "integrity": "sha512-IeOyT8A6iK37Ep4kZDD423mpi6JfPRoPUdQwEWYiGolvn4o6j2diaRzNfDfpTdu3a5qMbrGUzKUpYpRY8jXCkQ==" }, "core-util-is": { "version": "1.0.3", @@ -11616,8 +11483,7 @@ "croner": { "version": "4.2.1", "resolved": "https://verdaccio.lossless.one/croner/-/croner-4.2.1.tgz", - "integrity": "sha512-BzMiaPCrzaEvuzUZDosjE7jRv1LllfVtYh8KhVU4s45StnnM/exs1WUqpEYxqxBhoN90y9a3T9JJlWRwggvQeg==", - "dev": true + "integrity": "sha512-BzMiaPCrzaEvuzUZDosjE7jRv1LllfVtYh8KhVU4s45StnnM/exs1WUqpEYxqxBhoN90y9a3T9JJlWRwggvQeg==" }, "cross-fetch": { "version": "3.1.5", @@ -11659,14 +11525,12 @@ "data-uri-to-buffer": { "version": "4.0.0", "resolved": "https://verdaccio.lossless.one/data-uri-to-buffer/-/data-uri-to-buffer-4.0.0.tgz", - "integrity": "sha512-Vr3mLBA8qWmcuschSLAOogKgQ/Jwxulv3RNE4FXnYWRGujzrRWQI4m12fQqRkwX06C0KanhLr4hK+GydchZsaA==", - "dev": true + "integrity": "sha512-Vr3mLBA8qWmcuschSLAOogKgQ/Jwxulv3RNE4FXnYWRGujzrRWQI4m12fQqRkwX06C0KanhLr4hK+GydchZsaA==" }, "dayjs": { "version": "1.10.8", "resolved": "https://verdaccio.lossless.one/dayjs/-/dayjs-1.10.8.tgz", - "integrity": "sha512-wbNwDfBHHur9UOzNUjeKUOJ0fCb0a52Wx0xInmQ7Y8FstyajiV1NmK1e00cxsr9YrE9r7yAChE0VvpuY5Rnlow==", - "dev": true + "integrity": "sha512-wbNwDfBHHur9UOzNUjeKUOJ0fCb0a52Wx0xInmQ7Y8FstyajiV1NmK1e00cxsr9YrE9r7yAChE0VvpuY5Rnlow==" }, "debounce": { "version": "1.2.1", @@ -11719,7 +11583,6 @@ "version": "1.1.3", "resolved": "https://verdaccio.lossless.one/define-properties/-/define-properties-1.1.3.tgz", "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", - "dev": true, "requires": { "object-keys": "^1.0.12" } @@ -11797,7 +11660,6 @@ "version": "1.0.1", "resolved": "https://verdaccio.lossless.one/domexception/-/domexception-1.0.1.tgz", "integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==", - "dev": true, "requires": { "webidl-conversions": "^4.0.2" }, @@ -11805,8 +11667,7 @@ "webidl-conversions": { "version": "4.0.2", "resolved": "https://verdaccio.lossless.one/webidl-conversions/-/webidl-conversions-4.0.2.tgz", - "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", - "dev": true + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==" } } }, @@ -12231,7 +12092,6 @@ "version": "3.1.8", "resolved": "https://verdaccio.lossless.one/fake-indexeddb/-/fake-indexeddb-3.1.8.tgz", "integrity": "sha512-7umIgcdnDfNcjw0ZaoD6yR2BflngKmPsyzZC+sV2fdttwz5bH6B6CCaNzzD+MURfRg8pvr/aL0trfNx65FLiDg==", - "dev": true, "requires": { "realistic-structured-clone": "^2.0.1" } @@ -12257,8 +12117,7 @@ "fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://verdaccio.lossless.one/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" }, "fast-xml-parser": { "version": "3.21.1", @@ -12300,7 +12159,6 @@ "version": "3.2.0", "resolved": "https://verdaccio.lossless.one/fetch-blob/-/fetch-blob-3.2.0.tgz", "integrity": "sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==", - "dev": true, "requires": { "node-domexception": "^1.0.0", "web-streams-polyfill": "^3.0.3" @@ -12380,11 +12238,6 @@ "path-exists": "^4.0.0" } }, - "follow-redirects": { - "version": "1.15.0", - "resolved": "https://verdaccio.lossless.one/follow-redirects/-/follow-redirects-1.15.0.tgz", - "integrity": "sha512-aExlJShTV4qOUOL7yF1U5tvLCB0xQuudbf6toyYA0E/acBNw71mvjFTnLaRp50aQaYocMR0a/RMMBIHeZnGyjQ==" - }, "foreground-child": { "version": "1.5.6", "resolved": "https://verdaccio.lossless.one/foreground-child/-/foreground-child-1.5.6.tgz", @@ -12431,7 +12284,6 @@ "version": "4.0.10", "resolved": "https://verdaccio.lossless.one/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz", "integrity": "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==", - "dev": true, "requires": { "fetch-blob": "^3.1.2" } @@ -12765,8 +12617,7 @@ "idb": { "version": "7.0.2", "resolved": "https://verdaccio.lossless.one/idb/-/idb-7.0.2.tgz", - "integrity": "sha512-jjKrT1EnyZewQ/gCBb/eyiYrhGzws2FeY92Yx8qT9S9GeQAmo4JFVIiWRIfKW/6Ob9A+UDAOW9j9jn58fy2HIg==", - "dev": true + "integrity": "sha512-jjKrT1EnyZewQ/gCBb/eyiYrhGzws2FeY92Yx8qT9S9GeQAmo4JFVIiWRIfKW/6Ob9A+UDAOW9j9jn58fy2HIg==" }, "ieee754": { "version": "1.2.1", @@ -12887,7 +12738,6 @@ "version": "1.3.2", "resolved": "https://verdaccio.lossless.one/is-nan/-/is-nan-1.3.2.tgz", "integrity": "sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==", - "dev": true, "requires": { "call-bind": "^1.0.0", "define-properties": "^1.1.3" @@ -13265,8 +13115,7 @@ "lodash": { "version": "4.17.21", "resolved": "https://verdaccio.lossless.one/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" }, "lodash._baseassign": { "version": "3.2.0", @@ -13327,8 +13176,7 @@ "lodash.clonedeep": { "version": "4.5.0", "resolved": "https://verdaccio.lossless.one/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", - "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", - "dev": true + "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=" }, "lodash.isarguments": { "version": "3.1.0", @@ -13458,7 +13306,6 @@ "version": "3.0.0", "resolved": "https://verdaccio.lossless.one/matcher/-/matcher-3.0.0.tgz", "integrity": "sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==", - "dev": true, "requires": { "escape-string-regexp": "^4.0.0" }, @@ -13466,8 +13313,7 @@ "escape-string-regexp": { "version": "4.0.0", "resolved": "https://verdaccio.lossless.one/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" } } }, @@ -13630,14 +13476,12 @@ "node-domexception": { "version": "1.0.0", "resolved": "https://verdaccio.lossless.one/node-domexception/-/node-domexception-1.0.0.tgz", - "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==", - "dev": true + "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==" }, "node-fetch": { "version": "3.2.9", "resolved": "https://verdaccio.lossless.one/node-fetch/-/node-fetch-3.2.9.tgz", "integrity": "sha512-/2lI+DBecVvVm9tDhjziTVjo2wmTsSxSk58saUYP0P/fRJ3xxtfMDY24+CKTkfm0Dlhyn3CSXNL0SoRiCZ8Rzg==", - "dev": true, "requires": { "data-uri-to-buffer": "^4.0.0", "fetch-blob": "^3.1.4", @@ -13679,8 +13523,7 @@ "object-keys": { "version": "1.1.1", "resolved": "https://verdaccio.lossless.one/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" }, "on-finished": { "version": "2.4.1", @@ -13796,8 +13639,7 @@ "parse-ms": { "version": "2.1.0", "resolved": "https://verdaccio.lossless.one/parse-ms/-/parse-ms-2.1.0.tgz", - "integrity": "sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA==", - "dev": true + "integrity": "sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA==" }, "parse-path": { "version": "4.0.4", @@ -13948,7 +13790,6 @@ "version": "7.0.1", "resolved": "https://verdaccio.lossless.one/pretty-ms/-/pretty-ms-7.0.1.tgz", "integrity": "sha512-973driJZvxiGOQ5ONsFhOF/DtzPMOMtgC11kCpUrPGMTgqp2q/1gwzCquocrN33is0VZ5GFHXZYMM9l6h67v2Q==", - "dev": true, "requires": { "parse-ms": "^2.1.0" } @@ -14152,7 +13993,6 @@ "version": "2.0.4", "resolved": "https://verdaccio.lossless.one/realistic-structured-clone/-/realistic-structured-clone-2.0.4.tgz", "integrity": "sha512-lItAdBIFHUSe6fgztHPtmmWqKUgs+qhcYLi3wTRUl4OTB3Vb8aBVSjGfQZUvkmJCKoX3K9Wf7kyLp/F/208+7A==", - "dev": true, "requires": { "core-js": "^3.4", "domexception": "^1.0.1", @@ -14566,19 +14406,6 @@ "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", "dev": true }, - "stream-chain": { - "version": "2.2.5", - "resolved": "https://verdaccio.lossless.one/stream-chain/-/stream-chain-2.2.5.tgz", - "integrity": "sha512-1TJmBx6aSWqZ4tx7aTpBDXK0/e2hhcNSTV8+CbFJtDjbb+I1mZ8lHit0Grw9GRT+6JbIrrDd8esncgBi8aBXGA==" - }, - "stream-json": { - "version": "1.7.4", - "resolved": "https://verdaccio.lossless.one/stream-json/-/stream-json-1.7.4.tgz", - "integrity": "sha512-ja2dde1v7dOlx5/vmavn8kLrxvNfs7r2oNc5DYmNJzayDDdudyCSuTB1gFjH4XBVTIwxiMxL4i059HX+ZiouXg==", - "requires": { - "stream-chain": "^2.2.5" - } - }, "strict-uri-encode": { "version": "2.0.0", "resolved": "https://verdaccio.lossless.one/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz", @@ -14666,8 +14493,7 @@ "symbol-tree": { "version": "3.2.4", "resolved": "https://verdaccio.lossless.one/symbol-tree/-/symbol-tree-3.2.4.tgz", - "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", - "dev": true + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==" }, "systeminformation": { "version": "5.11.15", @@ -14926,14 +14752,12 @@ "typeson": { "version": "6.1.0", "resolved": "https://verdaccio.lossless.one/typeson/-/typeson-6.1.0.tgz", - "integrity": "sha512-6FTtyGr8ldU0pfbvW/eOZrEtEkczHRUtduBnA90Jh9kMPCiFNnXIon3vF41N0S4tV1HHQt4Hk1j4srpESziCaA==", - "dev": true + "integrity": "sha512-6FTtyGr8ldU0pfbvW/eOZrEtEkczHRUtduBnA90Jh9kMPCiFNnXIon3vF41N0S4tV1HHQt4Hk1j4srpESziCaA==" }, "typeson-registry": { "version": "1.0.0-alpha.39", "resolved": "https://verdaccio.lossless.one/typeson-registry/-/typeson-registry-1.0.0-alpha.39.tgz", "integrity": "sha512-NeGDEquhw+yfwNhguLPcZ9Oj0fzbADiX4R0WxvoY8nGhy98IbzQy1sezjoEFWOywOboj/DWehI+/aUlRVrJnnw==", - "dev": true, "requires": { "base64-arraybuffer-es6": "^0.7.0", "typeson": "^6.0.0", @@ -14943,14 +14767,12 @@ "punycode": { "version": "2.1.1", "resolved": "https://verdaccio.lossless.one/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" }, "tr46": { "version": "2.1.0", "resolved": "https://verdaccio.lossless.one/tr46/-/tr46-2.1.0.tgz", "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", - "dev": true, "requires": { "punycode": "^2.1.1" } @@ -14958,14 +14780,12 @@ "webidl-conversions": { "version": "6.1.0", "resolved": "https://verdaccio.lossless.one/webidl-conversions/-/webidl-conversions-6.1.0.tgz", - "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", - "dev": true + "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==" }, "whatwg-url": { "version": "8.7.0", "resolved": "https://verdaccio.lossless.one/whatwg-url/-/whatwg-url-8.7.0.tgz", "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", - "dev": true, "requires": { "lodash": "^4.7.0", "tr46": "^2.1.0", @@ -15096,8 +14916,7 @@ "web-streams-polyfill": { "version": "3.2.1", "resolved": "https://verdaccio.lossless.one/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz", - "integrity": "sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==", - "dev": true + "integrity": "sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==" }, "webidl-conversions": { "version": "3.0.1", diff --git a/package.json b/package.json index e306d18..d879a1c 100644 --- a/package.json +++ b/package.json @@ -19,16 +19,16 @@ "@gitzone/tsbundle": "^2.0.6", "@gitzone/tstest": "^1.0.72", "@pushrocks/tapbundle": "^5.0.4", - "@types/node": "^18.6.1", + "@types/node": "^18.6.2", "tslint": "^6.1.3", "tslint-config-prettier": "^1.15.0" }, "dependencies": { - "@depyronick/clickhouse-client": "^1.0.14", "@pushrocks/smartdelay": "^2.0.13", "@pushrocks/smartobject": "^1.0.10", "@pushrocks/smartpromise": "^3.1.7", - "@pushrocks/smarturl": "^3.0.1" + "@pushrocks/smarturl": "^3.0.2", + "@pushrocks/webrequest": "^3.0.9" }, "browserslist": [ "last 1 chrome versions" diff --git a/ts/00_commitinfo_data.ts b/ts/00_commitinfo_data.ts index 6e8f058..01912c4 100644 --- a/ts/00_commitinfo_data.ts +++ b/ts/00_commitinfo_data.ts @@ -3,6 +3,6 @@ */ export const commitinfo = { name: '@pushrocks/smartclickhouse', - version: '2.0.6', + version: '2.0.7', description: 'an odm for talking to clickhouse' } diff --git a/ts/smartclickhouse.classes.clickhousedb.ts b/ts/smartclickhouse.classes.clickhousedb.ts new file mode 100644 index 0000000..6e0107f --- /dev/null +++ b/ts/smartclickhouse.classes.clickhousedb.ts @@ -0,0 +1,5 @@ +import * as plugins from './smartclickhouse.plugins.js'; + +export class ClickhouseDb { + +} \ No newline at end of file diff --git a/ts/smartclickhouse.classes.httpclient.ts b/ts/smartclickhouse.classes.httpclient.ts new file mode 100644 index 0000000..368a3db --- /dev/null +++ b/ts/smartclickhouse.classes.httpclient.ts @@ -0,0 +1,85 @@ +import * as plugins from './smartclickhouse.plugins.js'; + +export interface IClickhouseHttpClientOptions { + user?: string; + password?: string; + url: string; +} + +export class ClickhouseHttpClient { + // STATIC + public static async createAndStart(optionsArg: IClickhouseHttpClientOptions) { + const clickhouseHttpInstance = new ClickhouseHttpClient(optionsArg); + await clickhouseHttpInstance.start(); + return clickhouseHttpInstance; + } + + // INSTANCE + public options: IClickhouseHttpClientOptions; + public webrequestInstance = new plugins.webrequest.WebRequest({ + logging: false + }); + public computedProperties: { + connectionUrl: string; + parsedUrl: plugins.smarturl.Smarturl; + } = { + connectionUrl: null, + parsedUrl: null, + }; + constructor(optionsArg: IClickhouseHttpClientOptions) { + this.options = optionsArg; + } + + public async start() { + this.computedProperties.parsedUrl = plugins.smarturl.Smarturl.createFromUrl(this.options.url); + this.computedProperties.parsedUrl.username = this.options.user ? this.options.user : ''; + this.computedProperties.parsedUrl.password = this.options.password ? this.options.password : ''; + this.computedProperties.connectionUrl = this.computedProperties.parsedUrl.toString(); + } + + public async ping() { + const parsedUrlForPing = plugins.smarturl.Smarturl.createFromUrl( + this.computedProperties.connectionUrl.toString() + ); + parsedUrlForPing.username = null; + parsedUrlForPing.password = null; + + const ping = await this.webrequestInstance.request(parsedUrlForPing.toString(), { + method: 'GET', + timeoutMs: 1000, + }); + return ping.status === 200 ? true : false; + } + + public async queryPromise(queryArg: string) { + const returnArray = []; + const response = await this.webrequestInstance.request(`${this.computedProperties.connectionUrl}?query=${encodeURIComponent(queryArg)}`, { + method: 'POST' + }); + // console.log('==================='); + // console.log(queryArg); + // console.log((await response.clone().text()).split(/\r?\n/)) + if (response.headers.get('X-ClickHouse-Format') === 'JSONEachRow') { + const jsonList = await response.text(); + const jsonArray = jsonList.split('\n'); + for (const jsonArg of jsonArray) { + if (!jsonArg) { + continue; + } + returnArray.push(JSON.parse(jsonArg)); + } + } else { + } + return returnArray + + } + + public async insertPromise(databaseArg: string, tableArg: string, documents: any[]) { + const queryArg = `INSERT INTO ${databaseArg}.${tableArg} FORMAT JSONEachRow`; + const response = await this.webrequestInstance.request(`${this.computedProperties.connectionUrl}?query=${encodeURIComponent(queryArg)}`, { + method: 'POST', + body: documents.map(docArg => JSON.stringify(docArg)).join('\n') + }); + return response; + } +} diff --git a/ts/smartclickhouse.classes.smartclickhouse.ts b/ts/smartclickhouse.classes.smartclickhouse.ts index cff3721..4bd10e4 100644 --- a/ts/smartclickhouse.classes.smartclickhouse.ts +++ b/ts/smartclickhouse.classes.smartclickhouse.ts @@ -1,16 +1,17 @@ import * as plugins from './smartclickhouse.plugins.js'; import { TimeDataTable } from './smartclickhouse.classes.timedatatable.js'; +import { ClickhouseHttpClient } from './smartclickhouse.classes.httpclient.js'; export interface IClickhouseConstructorOptions { url: string; database: string; + user?: string; password?: string; } export class SmartClickHouseDb { public options: IClickhouseConstructorOptions; - public defaultClient: plugins.clickhouse.ClickHouseClient; - public clickhouseClient: plugins.clickhouse.ClickHouseClient; + public clickhouseClient: ClickhouseHttpClient; constructor(optionsArg: IClickhouseConstructorOptions) { this.options = optionsArg; @@ -21,43 +22,24 @@ export class SmartClickHouseDb { */ public async start(dropOld = false) { console.log(`Connecting to default database first.`); - const defaultOptions: {[keyArg: string]: string} = {}; - // the protocol, url and host - const parsedUrl = plugins.smarturl.Smarturl.createFromUrl(this.options.url); - parsedUrl.protocol === 'https' ? defaultOptions.protocol = plugins.clickhouse.ClickHouseConnectionProtocol.HTTPS : null; - parsedUrl.protocol === 'http' ? defaultOptions.protocol = plugins.clickhouse.ClickHouseConnectionProtocol.HTTP : null; - defaultOptions.host = parsedUrl.hostname; - defaultOptions.port = parsedUrl.port; - // the database - defaultOptions.database = this.options.database; - // the password - this.options.password ? defaultOptions.password = this.options.password : null; // lets connect - this.defaultClient = new plugins.clickhouse.ClickHouseClient({ - ...defaultOptions, - database: 'default', - }); + this.clickhouseClient = await ClickhouseHttpClient.createAndStart(this.options); await this.pingDatabaseUntilAvailable(); console.log(`Create database ${this.options.database}, if it does not exist...`); await this.createDatabase(dropOld); - - console.log(`Ensured database. Now connecting to wanted database: ${this.options.database}`); - this.clickhouseClient = new plugins.clickhouse.ClickHouseClient({ - ...defaultOptions - }); } public async createDatabase(dropOld: boolean = false) { if (dropOld) { - await this.defaultClient.queryPromise(`DROP DATABASE IF EXISTS ${this.options.database}`); + await this.clickhouseClient.queryPromise(`DROP DATABASE IF EXISTS ${this.options.database}`); } - await this.defaultClient.queryPromise(`CREATE DATABASE IF NOT EXISTS ${this.options.database}`); + await this.clickhouseClient.queryPromise(`CREATE DATABASE IF NOT EXISTS ${this.options.database}`); } public async pingDatabaseUntilAvailable() { let available = false; while(!available) { - available = await this.defaultClient.ping().catch(err => { + available = await this.clickhouseClient.ping().catch(err => { return false; }); if (!available) { diff --git a/ts/smartclickhouse.classes.timedatatable.ts b/ts/smartclickhouse.classes.timedatatable.ts index 5921128..b861cb7 100644 --- a/ts/smartclickhouse.classes.timedatatable.ts +++ b/ts/smartclickhouse.classes.timedatatable.ts @@ -57,7 +57,7 @@ export class TimeDataTable { // create table in clickhouse await this.smartClickHouseDbRef.clickhouseClient .queryPromise(` - CREATE TABLE IF NOT EXISTS ${this.options.tableName} ( + CREATE TABLE IF NOT EXISTS ${this.smartClickHouseDbRef.options.database}.${this.options.tableName} ( timestamp DateTime64(3, 'Europe/Berlin'), message String ) ENGINE=MergeTree() ORDER BY timestamp`); @@ -65,7 +65,7 @@ export class TimeDataTable { // lets adjust the TTL await this.smartClickHouseDbRef.clickhouseClient .queryPromise(` - ALTER TABLE ${this.options.tableName} MODIFY TTL toDateTime(timestamp) + INTERVAL ${this.options.retainDataForDays} DAY + ALTER TABLE ${this.smartClickHouseDbRef.options.database}.${this.options.tableName} MODIFY TTL toDateTime(timestamp) + INTERVAL ${this.options.retainDataForDays} DAY `); await this.updateColumns(); @@ -88,7 +88,7 @@ export class TimeDataTable { this.columns = await this.smartClickHouseDbRef.clickhouseClient.queryPromise(` SELECT * FROM system.columns WHERE database LIKE '${this.smartClickHouseDbRef.options.database}' - AND table LIKE '${this.options.tableName}' + AND table LIKE '${this.options.tableName}' FORMAT JSONEachRow `); return this.columns; } @@ -134,7 +134,7 @@ export class TimeDataTable { await checkPath(pathArg, typeArg, true); return; } - const alterString = `ALTER TABLE ${this.options.tableName} ADD COLUMN ${pathArg} ${typeArg} FIRST` + const alterString = `ALTER TABLE ${this.smartClickHouseDbRef.options.database}.${this.options.tableName} ADD COLUMN ${pathArg} ${typeArg} FIRST` try { await this.smartClickHouseDbRef.clickhouseClient.queryPromise(` ${alterString} @@ -168,7 +168,7 @@ export class TimeDataTable { storageJson[key] = value; } - const result = await this.smartClickHouseDbRef.clickhouseClient.insertPromise(this.options.tableName, [ + const result = await this.smartClickHouseDbRef.clickhouseClient.insertPromise(this.smartClickHouseDbRef.options.database, this.options.tableName, [ storageJson, ]).catch(async () => { if (this.healingDeferred) { diff --git a/ts/smartclickhouse.plugins.ts b/ts/smartclickhouse.plugins.ts index 24f5e04..74e7f4c 100644 --- a/ts/smartclickhouse.plugins.ts +++ b/ts/smartclickhouse.plugins.ts @@ -3,15 +3,12 @@ import * as smartdelay from '@pushrocks/smartdelay'; import * as smartobject from '@pushrocks/smartobject'; import * as smartpromise from '@pushrocks/smartpromise'; import * as smarturl from '@pushrocks/smarturl'; +import * as webrequest from '@pushrocks/webrequest'; export { smartdelay, smartobject, smartpromise, - smarturl + smarturl, + webrequest, } - -// thirdparty -import * as clickhouse from '@depyronick/clickhouse-client'; - -export { clickhouse };