fix(core): update

This commit is contained in:
Philipp Kunz 2023-10-03 07:53:28 +02:00
parent de454b4c8d
commit 4abaea84f8
7 changed files with 94 additions and 74 deletions

View File

@ -19,14 +19,15 @@
"@git.zone/tsrun": "^1.2.46",
"@git.zone/tstest": "^1.0.81",
"@push.rocks/tapbundle": "^5.0.15",
"@types/node": "^20.6.0"
"@types/node": "^20.8.0"
},
"dependencies": {
"@push.rocks/isohash": "^2.0.1",
"@push.rocks/lik": "^6.0.5",
"@push.rocks/smartjson": "^5.0.10",
"@push.rocks/smartpromise": "^4.0.3",
"@push.rocks/smartrx": "^3.0.6"
"@push.rocks/smartrx": "^3.0.6",
"@push.rocks/webstore": "^2.0.13"
},
"files": [
"ts/**/*",

View File

@ -20,6 +20,9 @@ dependencies:
'@push.rocks/smartrx':
specifier: ^3.0.6
version: 3.0.6
'@push.rocks/webstore':
specifier: ^2.0.13
version: 2.0.13
devDependencies:
'@git.zone/tsbuild':
@ -30,16 +33,16 @@ devDependencies:
version: 2.0.9
'@git.zone/tsrun':
specifier: ^1.2.46
version: 1.2.46(@types/node@20.6.0)
version: 1.2.46(@types/node@20.8.0)
'@git.zone/tstest':
specifier: ^1.0.81
version: 1.0.81(@types/node@20.6.0)(sinon@15.2.0)
version: 1.0.81(@types/node@20.8.0)(sinon@16.0.0)
'@push.rocks/tapbundle':
specifier: ^5.0.15
version: 5.0.15(sinon@15.2.0)
version: 5.0.15(sinon@16.0.0)
'@types/node':
specifier: ^20.6.0
version: 20.6.0
specifier: ^20.8.0
version: 20.8.0
packages:
@ -81,7 +84,7 @@ packages:
'@push.rocks/smartrx': 3.0.6
'@push.rocks/smartsitemap': 2.0.2
'@push.rocks/smarttime': 4.0.5
'@push.rocks/webstore': 2.0.9
'@push.rocks/webstore': 2.0.13
'@tsclass/tsclass': 4.0.42
'@types/express': 4.17.17
body-parser: 1.20.2
@ -118,7 +121,6 @@ packages:
/@apiglobal/typedrequest-interfaces@2.0.1:
resolution: {integrity: sha512-Oi7pNU4vKo5UvcCJmqkH43Us237Ws/Pp/WDYnwnonRnTmIMd+6QjNfN/gXcPnP6tbamk8r8Xzcz9mgnSDM2ysw==}
dev: true
/@babel/code-frame@7.22.13:
resolution: {integrity: sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==}
@ -383,13 +385,13 @@ packages:
- supports-color
dev: true
/@git.zone/tsrun@1.2.46(@types/node@20.6.0):
/@git.zone/tsrun@1.2.46(@types/node@20.8.0):
resolution: {integrity: sha512-8miFVBle9Mnjx+uPGI/P+EuWcIOXWjBAkdjN5IYbdp5Ytt4xQODCLh4JSnC9h56UeU1nUxCAxZeJs2e9TXrivA==}
hasBin: true
dependencies:
'@push.rocks/smartfile': 10.0.31
'@push.rocks/smartshell': 3.0.3
ts-node: 10.9.1(@types/node@20.6.0)(typescript@5.1.6)
ts-node: 10.9.1(@types/node@20.8.0)(typescript@5.1.6)
typescript: 5.1.6
transitivePeerDependencies:
- '@swc/core'
@ -398,13 +400,13 @@ packages:
- supports-color
dev: true
/@git.zone/tstest@1.0.81(@types/node@20.6.0)(sinon@15.2.0):
/@git.zone/tstest@1.0.81(@types/node@20.8.0)(sinon@16.0.0):
resolution: {integrity: sha512-OUTACsOmvvzbKay4i1hbBaToLzo/OaCYV1PiYpoK9S2BJMbVJAik+ZbdixbJugoLrw7bR9velYgT66lnS6OZUA==}
hasBin: true
dependencies:
'@api.global/typedserver': 3.0.4
'@git.zone/tsbundle': 2.0.9
'@git.zone/tsrun': 1.2.46(@types/node@20.6.0)
'@git.zone/tsrun': 1.2.46(@types/node@20.8.0)
'@push.rocks/consolecolor': 2.0.1
'@push.rocks/smartbrowser': 2.0.6
'@push.rocks/smartdelay': 3.0.5
@ -412,7 +414,7 @@ packages:
'@push.rocks/smartlog': 3.0.3
'@push.rocks/smartpromise': 4.0.3
'@push.rocks/smartshell': 3.0.3
'@push.rocks/tapbundle': 5.0.15(sinon@15.2.0)
'@push.rocks/tapbundle': 5.0.15(sinon@16.0.0)
figures: 5.0.0
transitivePeerDependencies:
- '@swc/core'
@ -529,7 +531,7 @@ packages:
lit-html: 1.4.1
dev: true
/@open-wc/testing@2.5.33(sinon@15.2.0):
/@open-wc/testing@2.5.33(sinon@16.0.0):
resolution: {integrity: sha512-+EJNs0i+VV4nE+BrG70l2DNGXOZTSrluruaaU06HUSk57ZlKa+kIxWmkLxCOLlbgnQgrPrQWxbs3lgB1tIx/YA==}
dependencies:
'@open-wc/chai-dom-equals': 0.12.36
@ -543,7 +545,7 @@ packages:
chai-a11y-axe: 1.5.0
chai-dom: 1.11.0(chai@4.3.8)(mocha@6.2.3)
mocha: 6.2.3
sinon-chai: 3.7.0(chai@4.3.8)(sinon@15.2.0)
sinon-chai: 3.7.0(chai@4.3.8)(sinon@16.0.0)
transitivePeerDependencies:
- bufferutil
- sinon
@ -955,10 +957,10 @@ packages:
js-yaml: 3.14.1
dev: true
/@push.rocks/tapbundle@5.0.15(sinon@15.2.0):
/@push.rocks/tapbundle@5.0.15(sinon@16.0.0):
resolution: {integrity: sha512-vVTVmQCovYq9xhif96z7wN8pFiB3UB9MZSkqMDgfNTWhlU19ZZR1azCZn+zXsYxgJmD8wKNYhvZYgdRz73KbBg==}
dependencies:
'@open-wc/testing': 2.5.33(sinon@15.2.0)
'@open-wc/testing': 2.5.33(sinon@16.0.0)
'@push.rocks/smartdelay': 3.0.5
'@push.rocks/smartenv': 5.0.5
'@push.rocks/smartexpect': 1.0.21
@ -978,11 +980,11 @@ packages:
'@push.rocks/smartenv': 5.0.5
'@push.rocks/smartjson': 5.0.10
'@push.rocks/smartpromise': 4.0.3
'@push.rocks/webstore': 2.0.9
'@push.rocks/webstore': 2.0.13
dev: true
/@push.rocks/webstore@2.0.9:
resolution: {integrity: sha512-B/a/M+udyr0pByGdOEcWyY+gugIx36YJXWwNUrslh9XjIWs+0NKSFJRnZKuVYSCHOnc/WblAOceSlGVwFmYVBw==}
/@push.rocks/webstore@2.0.13:
resolution: {integrity: sha512-w5Q3g1TT5SDIXukAAoYVuWud+Y5ysS8qiBqPU00/re895VVZhUOSNJMNU6jyneZigmbWtwSLsxDkZHlsHWpfuA==}
dependencies:
'@apiglobal/typedrequest-interfaces': 2.0.1
'@push.rocks/lik': 6.0.5
@ -992,7 +994,6 @@ packages:
'@push.rocks/smartrx': 3.0.6
fake-indexeddb: 4.0.2
idb: 7.1.1
dev: true
/@pushrocks/consolecolor@2.0.1:
resolution: {integrity: sha512-iOFCHVeFZ2OywbdwSxVI4/wokkcLrXVdHLgvMmkNhJ220eeLgjNZWx3EJo3vNW3zq5ybCSCUIq0878djBxrWpw==}
@ -1321,7 +1322,7 @@ packages:
/@types/accepts@1.3.5:
resolution: {integrity: sha512-jOdnI/3qTpHABjM5cx1Hc0sKsPoYCp+DP/GJRGtDlPd7fiV9oXGGIcjW/ZOxLIvjGz8MA+uMZI9metHlgqbgwQ==}
dependencies:
'@types/node': 20.6.0
'@types/node': 20.8.0
dev: true
/@types/babel__code-frame@7.0.3:
@ -1332,7 +1333,7 @@ packages:
resolution: {integrity: sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==}
dependencies:
'@types/connect': 3.4.36
'@types/node': 20.6.0
'@types/node': 20.8.0
dev: true
/@types/buffer-json@2.0.1:
@ -1358,21 +1359,21 @@ packages:
/@types/clean-css@4.2.6:
resolution: {integrity: sha512-Ze1tf+LnGPmG6hBFMi0B4TEB0mhF7EiMM5oyjLDNPE9hxrPU0W+5+bHvO+eFPA+bt0iC1zkQMoU/iGdRVjcRbw==}
dependencies:
'@types/node': 20.6.0
'@types/node': 20.8.0
source-map: 0.6.1
dev: true
/@types/co-body@6.1.1:
resolution: {integrity: sha512-I9A1k7o4m8m6YPYJIGb1JyNTLqRWtSPg1JOZPWlE19w8Su2VRgRVp/SkKftQSwoxWHGUxGbON4jltONMumC8bQ==}
dependencies:
'@types/node': 20.6.0
'@types/node': 20.8.0
'@types/qs': 6.9.8
dev: true
/@types/connect@3.4.36:
resolution: {integrity: sha512-P63Zd/JUGq+PdrM1lv0Wv5SBYeA2+CORvbrXbngriYY0jzLUWfQMQQxOhjONEz/wlHOAxOdY7CY65rgQdTjq2w==}
dependencies:
'@types/node': 20.6.0
'@types/node': 20.8.0
dev: true
/@types/content-disposition@0.5.6:
@ -1393,13 +1394,13 @@ packages:
'@types/connect': 3.4.36
'@types/express': 4.17.17
'@types/keygrip': 1.0.2
'@types/node': 20.6.0
'@types/node': 20.8.0
dev: true
/@types/cors@2.8.14:
resolution: {integrity: sha512-RXHUvNWYICtbP6s18PnOCaqToK8y14DnLd75c6HfyKf228dxy7pHNOQkxPtvXKp/hINFMDjbYzsj63nnpPMSRQ==}
dependencies:
'@types/node': 20.6.0
'@types/node': 20.8.0
dev: true
/@types/debounce@1.2.1:
@ -1413,7 +1414,7 @@ packages:
/@types/express-serve-static-core@4.17.36:
resolution: {integrity: sha512-zbivROJ0ZqLAtMzgzIUC4oNqDG9iF0lSsAqpOD9kbs5xcIM3dTiyuHvBc7R8MtWBp3AAWGaovJa+wzWPjLYW7Q==}
dependencies:
'@types/node': 20.6.0
'@types/node': 20.8.0
'@types/qs': 6.9.8
'@types/range-parser': 1.2.4
'@types/send': 0.17.1
@ -1431,21 +1432,21 @@ packages:
/@types/from2@2.3.2:
resolution: {integrity: sha512-s1pdctxW2+CA4FOxxTBRxC3RKQL9Br1a2s2LngP4jh1BI84JBL3mDXj87EwcckN9z/IXp8o3ySmvZveGEAAwqw==}
dependencies:
'@types/node': 20.6.0
'@types/node': 20.8.0
dev: true
/@types/fs-extra@11.0.1:
resolution: {integrity: sha512-MxObHvNl4A69ofaTRU8DFqvgzzv8s9yRtaPPm5gud9HDNvpB3GPQFvNuTWAI59B9huVGV5jXYJwbCsmBsOGYWA==}
dependencies:
'@types/jsonfile': 6.1.1
'@types/node': 20.6.0
'@types/node': 20.8.0
dev: true
/@types/glob@8.1.0:
resolution: {integrity: sha512-IO+MJPVhoqz+28h1qLAcBEH2+xHMK6MTyHJc7MTnnYb6wsoLR29POVGJ7LycmVXIqyy/4/2ShP5sUwTXuOwb/w==}
dependencies:
'@types/minimatch': 5.1.2
'@types/node': 20.6.0
'@types/node': 20.8.0
dev: true
/@types/html-minifier@4.0.2:
@ -1495,7 +1496,7 @@ packages:
/@types/jsonfile@6.1.1:
resolution: {integrity: sha512-GSgiRCVeapDN+3pqA35IkQwasaCh/0YFH5dEF6S88iDvEn901DjOeH3/QPY+XYP1DFzDZPvIvfeEgk+7br5png==}
dependencies:
'@types/node': 20.6.0
'@types/node': 20.8.0
dev: true
/@types/keygrip@1.0.2:
@ -1518,7 +1519,7 @@ packages:
'@types/http-errors': 2.0.1
'@types/keygrip': 1.0.2
'@types/koa-compose': 3.2.5
'@types/node': 20.6.0
'@types/node': 20.8.0
dev: true
/@types/mime-types@2.1.1:
@ -1544,8 +1545,8 @@ packages:
resolution: {integrity: sha512-NYrtPht0wGzhwe9+/idPaBB+TqkY9AhTvOLMkThm0IoEfLaiVQZwBwyJ5puCkO3AUCWrmcoePjp2mbFocKy4SQ==}
dev: true
/@types/node@20.6.0:
resolution: {integrity: sha512-najjVq5KN2vsH2U/xyh2opaSEz6cZMR2SetLIlxlj08nOcmPOemJmUK2o4kUzfLqfrWE0PIrNeE16XhYDd3nqg==}
/@types/node@20.8.0:
resolution: {integrity: sha512-LzcWltT83s1bthcvjBmiBvGJiiUe84NWRHkw+ZV6Fr41z2FbIzvc815dk2nQ3RAKMuN2fkenM/z3Xv2QzEpYxQ==}
/@types/parse5@6.0.3:
resolution: {integrity: sha512-SuT16Q1K51EAVPz1K29DJ/sXjhSQ0zjvsypYJ6tlwVsRV9jwW5Adq2ch8Dq8kDBCkYnELS7N7VNCSB5nC56t/g==}
@ -1574,7 +1575,7 @@ packages:
resolution: {integrity: sha512-Cwo8LE/0rnvX7kIIa3QHCkcuF21c05Ayb0ZfxPiv0W8VRiZiNW/WuRupHKpqqGVGf7SUA44QSOUKaEd9lIrd/Q==}
dependencies:
'@types/mime': 1.3.2
'@types/node': 20.6.0
'@types/node': 20.8.0
dev: true
/@types/serve-static@1.15.2:
@ -1582,7 +1583,7 @@ packages:
dependencies:
'@types/http-errors': 2.0.1
'@types/mime': 3.0.1
'@types/node': 20.6.0
'@types/node': 20.8.0
dev: true
/@types/shortid@0.0.29:
@ -1612,7 +1613,7 @@ packages:
/@types/through2@2.0.38:
resolution: {integrity: sha512-YFu+nHmjxMurkH1BSzA0Z1WrKDAY8jUKPZctNQn7mc+/KKtp2XxnclHFXxdB1m7Iqnzb5aywgP8TMK283LezGQ==}
dependencies:
'@types/node': 20.6.0
'@types/node': 20.8.0
/@types/trusted-types@2.0.3:
resolution: {integrity: sha512-NfQ4gyz38SL8sDNrSixxU2Os1a5xcdFxipAFxYEuLUlvU2uDwS4NUpsImcf1//SlWItCVMMLiylsxbmNMToV/g==}
@ -1643,14 +1644,14 @@ packages:
/@types/ws@7.4.7:
resolution: {integrity: sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww==}
dependencies:
'@types/node': 20.6.0
'@types/node': 20.8.0
dev: true
/@types/yauzl@2.10.0:
resolution: {integrity: sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==}
/@types/yauzl@2.10.1:
resolution: {integrity: sha512-CHzgNU3qYBnp/O4S3yv2tXPlvMTq0YWSTVg2/JYLqWZGHwwgJGAwd00poay/11asPq8wLFwHzubyInqHIFmmiw==}
requiresBuild: true
dependencies:
'@types/node': 20.6.0
'@types/node': 20.8.0
dev: true
optional: true
@ -1945,7 +1946,6 @@ packages:
/base64-arraybuffer-es6@0.7.0:
resolution: {integrity: sha512-ESyU/U1CFZDJUdr+neHRhNozeCv72Y7Vm0m1DCbjX3KBjT6eYocvAJlSk6+8+HkVwXlT1FNxhGW6q3UKAlCvvw==}
engines: {node: '>=6.0.0'}
dev: true
/base64-js@1.5.1:
resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==}
@ -2509,7 +2509,6 @@ packages:
resolution: {integrity: sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==}
dependencies:
webidl-conversions: 4.0.2
dev: true
/eastasianwidth@0.2.0:
resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==}
@ -2567,7 +2566,7 @@ packages:
dependencies:
'@types/cookie': 0.4.1
'@types/cors': 2.8.14
'@types/node': 20.6.0
'@types/node': 20.8.0
accepts: 1.3.8
base64id: 2.0.0
cookie: 0.4.2
@ -2779,7 +2778,7 @@ packages:
get-stream: 5.2.0
yauzl: 2.10.0
optionalDependencies:
'@types/yauzl': 2.10.0
'@types/yauzl': 2.10.1
transitivePeerDependencies:
- supports-color
dev: true
@ -2788,7 +2787,6 @@ packages:
resolution: {integrity: sha512-SdTwEhnakbgazc7W3WUXOJfGmhH0YfG4d+dRPOFoYDRTL6U5t8tvrmkf2W/C3W1jk2ylV7Wrnj44RASqpX/lEw==}
dependencies:
realistic-structured-clone: 3.0.0
dev: true
/fast-deep-equal@3.1.3:
resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
@ -3250,7 +3248,6 @@ packages:
/idb@7.1.1:
resolution: {integrity: sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==}
dev: true
/ieee754@1.2.1:
resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==}
@ -3795,7 +3792,6 @@ packages:
/lodash@4.17.21:
resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
dev: true
/log-symbols@2.2.0:
resolution: {integrity: sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==}
@ -4418,7 +4414,6 @@ packages:
/punycode@2.3.0:
resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==}
engines: {node: '>=6'}
dev: true
/puppeteer@15.5.0:
resolution: {integrity: sha512-+vZPU8iBSdCx1Kn5hHas80fyo0TiVyMeqLGv/1dygX2HKhAZjO9YThadbRTCoTYq0yWw+w/CysldPsEekDtjDQ==}
@ -4532,7 +4527,6 @@ packages:
domexception: 1.0.1
typeson: 6.1.0
typeson-registry: 1.0.0-alpha.39
dev: true
/regexp.prototype.flags@1.5.0:
resolution: {integrity: sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==}
@ -4748,18 +4742,18 @@ packages:
engines: {node: '>=14'}
dev: true
/sinon-chai@3.7.0(chai@4.3.8)(sinon@15.2.0):
/sinon-chai@3.7.0(chai@4.3.8)(sinon@16.0.0):
resolution: {integrity: sha512-mf5NURdUaSdnatJx3uhoBOrY9dtL19fiOtAdT1Azxg3+lNJFiuN0uzaU3xX1LeAfL17kHQhTAJgpsfhbMJMY2g==}
peerDependencies:
chai: ^4.0.0
sinon: '>=4.0.0'
dependencies:
chai: 4.3.8
sinon: 15.2.0
sinon: 16.0.0
dev: true
/sinon@15.2.0:
resolution: {integrity: sha512-nPS85arNqwBXaIsFCkolHjGIkFo+Oxu9vbgmBJizLAhqe6P2o3Qmj3KCUoRkfhHtvgDhZdWD3risLHAUJ8npjw==}
/sinon@16.0.0:
resolution: {integrity: sha512-B8AaZZm9CT5pqe4l4uWJztfD/mOTa7dL8Qo0W4+s+t74xECOgSZDDQCBjNgIK3+n4kyxQrSTv2V5ul8K25qkiQ==}
dependencies:
'@sinonjs/commons': 3.0.0
'@sinonjs/fake-timers': 10.3.0
@ -5091,14 +5085,13 @@ packages:
engines: {node: '>=8'}
dependencies:
punycode: 2.3.0
dev: true
/tree-kill@1.2.2:
resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==}
hasBin: true
dev: true
/ts-node@10.9.1(@types/node@20.6.0)(typescript@5.1.6):
/ts-node@10.9.1(@types/node@20.8.0)(typescript@5.1.6):
resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==}
hasBin: true
peerDependencies:
@ -5117,7 +5110,7 @@ packages:
'@tsconfig/node12': 1.0.11
'@tsconfig/node14': 1.0.3
'@tsconfig/node16': 1.0.4
'@types/node': 20.6.0
'@types/node': 20.8.0
acorn: 8.10.0
acorn-walk: 8.2.0
arg: 4.1.3
@ -5215,12 +5208,10 @@ packages:
base64-arraybuffer-es6: 0.7.0
typeson: 6.1.0
whatwg-url: 8.7.0
dev: true
/typeson@6.1.0:
resolution: {integrity: sha512-6FTtyGr8ldU0pfbvW/eOZrEtEkczHRUtduBnA90Jh9kMPCiFNnXIon3vF41N0S4tV1HHQt4Hk1j4srpESziCaA==}
engines: {node: '>=0.1.14'}
dev: true
/uglify-js@3.17.4:
resolution: {integrity: sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==}
@ -5320,12 +5311,10 @@ packages:
/webidl-conversions@4.0.2:
resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==}
dev: true
/webidl-conversions@6.1.0:
resolution: {integrity: sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==}
engines: {node: '>=10.4'}
dev: true
/whatwg-url@5.0.0:
resolution: {integrity: sha1-lmRU6HZUYuN2RNNib2dCzotwll0=}
@ -5341,7 +5330,6 @@ packages:
lodash: 4.17.21
tr46: 2.1.0
webidl-conversions: 6.1.0
dev: true
/which-boxed-primitive@1.0.2:
resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==}

View File

@ -3,6 +3,6 @@
*/
export const commitinfo = {
name: '@push.rocks/smartstate',
version: '2.0.9',
version: '2.0.10',
description: 'a package that handles state in a good way'
}

View File

@ -21,7 +21,7 @@ export class Smartstate<StatePartNameType> {
public getStatePart<PayloadType>(
statePartNameArg: string & StatePartNameType,
initialArg?: PayloadType,
initMode?: 'soft' | 'mandatory' | 'force'
initMode?: 'soft' | 'mandatory' | 'force' | 'persistent'
): StatePart<StatePartNameType, PayloadType> {
if (this.statePartMap[statePartNameArg as any]) {
if (initialArg && (!initMode || initMode !== 'soft')) {

View File

@ -7,8 +7,30 @@ export class StatePart<TStatePartName, TStatePayload> {
public stateStore: TStatePayload;
private cumulativeDeferred = plugins.smartpromise.cumulativeDefer();
constructor(nameArg: TStatePartName) {
private webStore: plugins.webstore.WebStore<TStatePayload> | null = null; // Add WebStore instance
constructor(nameArg: TStatePartName, webStoreOptions?: plugins.webstore.IWebStoreOptions) {
this.name = nameArg;
// Initialize WebStore if webStoreOptions are provided
if (webStoreOptions) {
this.webStore = new plugins.webstore.WebStore<TStatePayload>(webStoreOptions);
this.initWebStore();
}
}
/**
* initializes the webstore
*/
private async initWebStore() {
if (this.webStore) {
await this.webStore.init();
const storedState = await this.webStore.get(String(this.name));
if (storedState) {
this.stateStore = storedState;
this.notifyChange();
}
}
}
/**
@ -22,9 +44,14 @@ export class StatePart<TStatePartName, TStatePayload> {
* sets the stateStore to the new state
* @param newStateArg
*/
public setState(newStateArg: TStatePayload) {
public async setState(newStateArg: TStatePayload) {
this.stateStore = newStateArg;
this.notifyChange();
// Save state to WebStore if initialized
if (this.webStore) {
await this.webStore.set(String(this.name), newStateArg);
}
}
/**

View File

@ -2,5 +2,6 @@ import * as isohash from '@push.rocks/isohash';
import * as smartjson from '@push.rocks/smartjson';
import * as smartpromise from '@push.rocks/smartpromise';
import * as smartrx from '@push.rocks/smartrx';
import * as webstore from '@push.rocks/webstore';
export { isohash, smartjson, smartpromise, smartrx };
export { isohash, smartjson, smartpromise, smartrx, webstore };

View File

@ -3,9 +3,12 @@
"experimentalDecorators": true,
"useDefineForClassFields": false,
"target": "ES2022",
"module": "ES2022",
"moduleResolution": "nodenext",
"module": "NodeNext",
"moduleResolution": "NodeNext",
"esModuleInterop": true,
"verbatimModuleSyntax": true,
}
"verbatimModuleSyntax": true
},
"exclude": [
"dist_*/**/*.d.ts"
]
}