greatly simplify and improve type inferencing - suggestions broken

This commit is contained in:
Joeri Exelmans 2025-05-23 19:48:24 +02:00
parent c3f7cea310
commit c5c5def598
12 changed files with 1022 additions and 694 deletions

128
pnpm-lock.yaml generated
View file

@ -16,7 +16,7 @@ importers:
version: 5.2.5
dope2:
specifier: git+https://deemz.org/git/joeri/dope2.git
version: git+https://deemz.org/git/joeri/dope2.git#8cfbd6116ffe778efb02c37133a1ff633ae171df
version: git+https://deemz.org/git/joeri/dope2.git#0d3ccee7d5ce703e71fd3c05e1795c7968646a34
react:
specifier: ^19.1.0
version: 19.1.0
@ -28,14 +28,14 @@ importers:
specifier: ^9.27.0
version: 9.27.0
'@types/react':
specifier: ^19.1.4
version: 19.1.4
specifier: ^19.1.5
version: 19.1.5
'@types/react-dom':
specifier: ^19.1.5
version: 19.1.5(@types/react@19.1.4)
version: 19.1.5(@types/react@19.1.5)
'@vitejs/plugin-react-swc':
specifier: ^3.9.0
version: 3.9.0(vite@6.3.5)
specifier: ^3.10.0
version: 3.10.0(vite@6.3.5)
eslint:
specifier: ^9.27.0
version: 9.27.0
@ -286,6 +286,9 @@ packages:
resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
engines: {node: '>= 8'}
'@rolldown/pluginutils@1.0.0-beta.9':
resolution: {integrity: sha512-e9MeMtVWo186sgvFFJOPGy7/d2j2mZhLJIdVW0C/xDluuOvymEATqz6zKsP0ZmXGzQtqlyjz5sC1sYQUoJG98w==}
'@rollup/rollup-android-arm-eabi@4.41.0':
resolution: {integrity: sha512-KxN+zCjOYHGwCl4UCtSfZ6jrq/qi88JDUtiEFk8LELEHq2Egfc/FgW+jItZiOLRuQfb/3xJSgFuNPC9jzggX+A==}
cpu: [arm]
@ -386,68 +389,68 @@ packages:
cpu: [x64]
os: [win32]
'@swc/core-darwin-arm64@1.11.24':
resolution: {integrity: sha512-dhtVj0PC1APOF4fl5qT2neGjRLgHAAYfiVP8poJelhzhB/318bO+QCFWAiimcDoyMgpCXOhTp757gnoJJrheWA==}
'@swc/core-darwin-arm64@1.11.29':
resolution: {integrity: sha512-whsCX7URzbuS5aET58c75Dloby3Gtj/ITk2vc4WW6pSDQKSPDuONsIcZ7B2ng8oz0K6ttbi4p3H/PNPQLJ4maQ==}
engines: {node: '>=10'}
cpu: [arm64]
os: [darwin]
'@swc/core-darwin-x64@1.11.24':
resolution: {integrity: sha512-H/3cPs8uxcj2Fe3SoLlofN5JG6Ny5bl8DuZ6Yc2wr7gQFBmyBkbZEz+sPVgsID7IXuz7vTP95kMm1VL74SO5AQ==}
'@swc/core-darwin-x64@1.11.29':
resolution: {integrity: sha512-S3eTo/KYFk+76cWJRgX30hylN5XkSmjYtCBnM4jPLYn7L6zWYEPajsFLmruQEiTEDUg0gBEWLMNyUeghtswouw==}
engines: {node: '>=10'}
cpu: [x64]
os: [darwin]
'@swc/core-linux-arm-gnueabihf@1.11.24':
resolution: {integrity: sha512-PHJgWEpCsLo/NGj+A2lXZ2mgGjsr96ULNW3+T3Bj2KTc8XtMUkE8tmY2Da20ItZOvPNC/69KroU7edyo1Flfbw==}
'@swc/core-linux-arm-gnueabihf@1.11.29':
resolution: {integrity: sha512-o9gdshbzkUMG6azldHdmKklcfrcMx+a23d/2qHQHPDLUPAN+Trd+sDQUYArK5Fcm7TlpG4sczz95ghN0DMkM7g==}
engines: {node: '>=10'}
cpu: [arm]
os: [linux]
'@swc/core-linux-arm64-gnu@1.11.24':
resolution: {integrity: sha512-C2FJb08+n5SD4CYWCTZx1uR88BN41ZieoHvI8A55hfVf2woT8+6ZiBzt74qW2g+ntZ535Jts5VwXAKdu41HpBg==}
'@swc/core-linux-arm64-gnu@1.11.29':
resolution: {integrity: sha512-sLoaciOgUKQF1KX9T6hPGzvhOQaJn+3DHy4LOHeXhQqvBgr+7QcZ+hl4uixPKTzxk6hy6Hb0QOvQEdBAAR1gXw==}
engines: {node: '>=10'}
cpu: [arm64]
os: [linux]
'@swc/core-linux-arm64-musl@1.11.24':
resolution: {integrity: sha512-ypXLIdszRo0re7PNNaXN0+2lD454G8l9LPK/rbfRXnhLWDBPURxzKlLlU/YGd2zP98wPcVooMmegRSNOKfvErw==}
'@swc/core-linux-arm64-musl@1.11.29':
resolution: {integrity: sha512-PwjB10BC0N+Ce7RU/L23eYch6lXFHz7r3NFavIcwDNa/AAqywfxyxh13OeRy+P0cg7NDpWEETWspXeI4Ek8otw==}
engines: {node: '>=10'}
cpu: [arm64]
os: [linux]
'@swc/core-linux-x64-gnu@1.11.24':
resolution: {integrity: sha512-IM7d+STVZD48zxcgo69L0yYptfhaaE9cMZ+9OoMxirNafhKKXwoZuufol1+alEFKc+Wbwp+aUPe/DeWC/Lh3dg==}
'@swc/core-linux-x64-gnu@1.11.29':
resolution: {integrity: sha512-i62vBVoPaVe9A3mc6gJG07n0/e7FVeAvdD9uzZTtGLiuIfVfIBta8EMquzvf+POLycSk79Z6lRhGPZPJPYiQaA==}
engines: {node: '>=10'}
cpu: [x64]
os: [linux]
'@swc/core-linux-x64-musl@1.11.24':
resolution: {integrity: sha512-DZByJaMVzSfjQKKQn3cqSeqwy6lpMaQDQQ4HPlch9FWtDx/dLcpdIhxssqZXcR2rhaQVIaRQsCqwV6orSDGAGw==}
'@swc/core-linux-x64-musl@1.11.29':
resolution: {integrity: sha512-YER0XU1xqFdK0hKkfSVX1YIyCvMDI7K07GIpefPvcfyNGs38AXKhb2byySDjbVxkdl4dycaxxhRyhQ2gKSlsFQ==}
engines: {node: '>=10'}
cpu: [x64]
os: [linux]
'@swc/core-win32-arm64-msvc@1.11.24':
resolution: {integrity: sha512-Q64Ytn23y9aVDKN5iryFi8mRgyHw3/kyjTjT4qFCa8AEb5sGUuSj//AUZ6c0J7hQKMHlg9do5Etvoe61V98/JQ==}
'@swc/core-win32-arm64-msvc@1.11.29':
resolution: {integrity: sha512-po+WHw+k9g6FAg5IJ+sMwtA/fIUL3zPQ4m/uJgONBATCVnDDkyW6dBA49uHNVtSEvjvhuD8DVWdFP847YTcITw==}
engines: {node: '>=10'}
cpu: [arm64]
os: [win32]
'@swc/core-win32-ia32-msvc@1.11.24':
resolution: {integrity: sha512-9pKLIisE/Hh2vJhGIPvSoTK4uBSPxNVyXHmOrtdDot4E1FUUI74Vi8tFdlwNbaj8/vusVnb8xPXsxF1uB0VgiQ==}
'@swc/core-win32-ia32-msvc@1.11.29':
resolution: {integrity: sha512-h+NjOrbqdRBYr5ItmStmQt6x3tnhqgwbj9YxdGPepbTDamFv7vFnhZR0YfB3jz3UKJ8H3uGJ65Zw1VsC+xpFkg==}
engines: {node: '>=10'}
cpu: [ia32]
os: [win32]
'@swc/core-win32-x64-msvc@1.11.24':
resolution: {integrity: sha512-sybnXtOsdB+XvzVFlBVGgRHLqp3yRpHK7CrmpuDKszhj/QhmsaZzY/GHSeALlMtLup13M0gqbcQvsTNlAHTg3w==}
'@swc/core-win32-x64-msvc@1.11.29':
resolution: {integrity: sha512-Q8cs2BDV9wqDvqobkXOYdC+pLUSEpX/KvI0Dgfun1F+LzuLotRFuDhrvkU9ETJA6OnD2+Fn/ieHgloiKA/Mn/g==}
engines: {node: '>=10'}
cpu: [x64]
os: [win32]
'@swc/core@1.11.24':
resolution: {integrity: sha512-MaQEIpfcEMzx3VWWopbofKJvaraqmL6HbLlw2bFZ7qYqYw3rkhM0cQVEgyzbHtTWwCwPMFZSC2DUbhlZgrMfLg==}
'@swc/core@1.11.29':
resolution: {integrity: sha512-g4mThMIpWbNhV8G2rWp5a5/Igv8/2UFRJx2yImrLGMgrDDYZIopqZ/z0jZxDgqNA1QDx93rpwNF7jGsxVWcMlA==}
engines: {node: '>=10'}
peerDependencies:
'@swc/helpers': '>=0.5.17'
@ -472,8 +475,8 @@ packages:
peerDependencies:
'@types/react': ^19.0.0
'@types/react@19.1.4':
resolution: {integrity: sha512-EB1yiiYdvySuIITtD5lhW4yPyJ31RkJkkDw794LaQYrxCSaQV/47y5o1FMC4zF9ZyjUjzJMZwbovEnT5yHTW6g==}
'@types/react@19.1.5':
resolution: {integrity: sha512-piErsCVVbpMMT2r7wbawdZsq4xMvIAhQuac2gedQHysu1TZYEigE6pnFfgZT+/jQnrRuF5r+SHzuehFjfRjr4g==}
'@typescript-eslint/eslint-plugin@8.32.1':
resolution: {integrity: sha512-6u6Plg9nP/J1GRpe/vcjjabo6Uc5YQPAMxsgQyGC/I0RuukiG1wIe3+Vtg3IrSCVJDmqK3j8adrtzXSENRtFgg==}
@ -522,8 +525,8 @@ packages:
resolution: {integrity: sha512-ar0tjQfObzhSaW3C3QNmTc5ofj0hDoNQ5XWrCy6zDyabdr0TWhCkClp+rywGNj/odAFBVzzJrK4tEq5M4Hmu4w==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@vitejs/plugin-react-swc@3.9.0':
resolution: {integrity: sha512-jYFUSXhwMCYsh/aQTgSGLIN3Foz5wMbH9ahb0Zva//UzwZYbMiZd7oT3AU9jHT9DLswYDswsRwPU9jVF3yA48Q==}
'@vitejs/plugin-react-swc@3.10.0':
resolution: {integrity: sha512-ZmkdHw3wo/o/Rk05YsXZs/DJAfY2CdQ5DUAjoWji+PEr+hYADdGMCGgEAILbiKj+CjspBTuTACBcWDrmC8AUfw==}
peerDependencies:
vite: ^4 || ^5 || ^6
@ -597,8 +600,8 @@ packages:
deep-is@0.1.4:
resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
dope2@git+https://deemz.org/git/joeri/dope2.git#8cfbd6116ffe778efb02c37133a1ff633ae171df:
resolution: {commit: 8cfbd6116ffe778efb02c37133a1ff633ae171df, repo: https://deemz.org/git/joeri/dope2.git, type: git}
dope2@git+https://deemz.org/git/joeri/dope2.git#0d3ccee7d5ce703e71fd3c05e1795c7968646a34:
resolution: {commit: 0d3ccee7d5ce703e71fd3c05e1795c7968646a34, repo: https://deemz.org/git/joeri/dope2.git, type: git}
version: 0.0.1
esbuild@0.25.4:
@ -1160,6 +1163,8 @@ snapshots:
'@nodelib/fs.scandir': 2.1.5
fastq: 1.19.1
'@rolldown/pluginutils@1.0.0-beta.9': {}
'@rollup/rollup-android-arm-eabi@4.41.0':
optional: true
@ -1220,51 +1225,51 @@ snapshots:
'@rollup/rollup-win32-x64-msvc@4.41.0':
optional: true
'@swc/core-darwin-arm64@1.11.24':
'@swc/core-darwin-arm64@1.11.29':
optional: true
'@swc/core-darwin-x64@1.11.24':
'@swc/core-darwin-x64@1.11.29':
optional: true
'@swc/core-linux-arm-gnueabihf@1.11.24':
'@swc/core-linux-arm-gnueabihf@1.11.29':
optional: true
'@swc/core-linux-arm64-gnu@1.11.24':
'@swc/core-linux-arm64-gnu@1.11.29':
optional: true
'@swc/core-linux-arm64-musl@1.11.24':
'@swc/core-linux-arm64-musl@1.11.29':
optional: true
'@swc/core-linux-x64-gnu@1.11.24':
'@swc/core-linux-x64-gnu@1.11.29':
optional: true
'@swc/core-linux-x64-musl@1.11.24':
'@swc/core-linux-x64-musl@1.11.29':
optional: true
'@swc/core-win32-arm64-msvc@1.11.24':
'@swc/core-win32-arm64-msvc@1.11.29':
optional: true
'@swc/core-win32-ia32-msvc@1.11.24':
'@swc/core-win32-ia32-msvc@1.11.29':
optional: true
'@swc/core-win32-x64-msvc@1.11.24':
'@swc/core-win32-x64-msvc@1.11.29':
optional: true
'@swc/core@1.11.24':
'@swc/core@1.11.29':
dependencies:
'@swc/counter': 0.1.3
'@swc/types': 0.1.21
optionalDependencies:
'@swc/core-darwin-arm64': 1.11.24
'@swc/core-darwin-x64': 1.11.24
'@swc/core-linux-arm-gnueabihf': 1.11.24
'@swc/core-linux-arm64-gnu': 1.11.24
'@swc/core-linux-arm64-musl': 1.11.24
'@swc/core-linux-x64-gnu': 1.11.24
'@swc/core-linux-x64-musl': 1.11.24
'@swc/core-win32-arm64-msvc': 1.11.24
'@swc/core-win32-ia32-msvc': 1.11.24
'@swc/core-win32-x64-msvc': 1.11.24
'@swc/core-darwin-arm64': 1.11.29
'@swc/core-darwin-x64': 1.11.29
'@swc/core-linux-arm-gnueabihf': 1.11.29
'@swc/core-linux-arm64-gnu': 1.11.29
'@swc/core-linux-arm64-musl': 1.11.29
'@swc/core-linux-x64-gnu': 1.11.29
'@swc/core-linux-x64-musl': 1.11.29
'@swc/core-win32-arm64-msvc': 1.11.29
'@swc/core-win32-ia32-msvc': 1.11.29
'@swc/core-win32-x64-msvc': 1.11.29
'@swc/counter@0.1.3': {}
@ -1276,11 +1281,11 @@ snapshots:
'@types/json-schema@7.0.15': {}
'@types/react-dom@19.1.5(@types/react@19.1.4)':
'@types/react-dom@19.1.5(@types/react@19.1.5)':
dependencies:
'@types/react': 19.1.4
'@types/react': 19.1.5
'@types/react@19.1.4':
'@types/react@19.1.5':
dependencies:
csstype: 3.1.3
@ -1361,9 +1366,10 @@ snapshots:
'@typescript-eslint/types': 8.32.1
eslint-visitor-keys: 4.2.0
'@vitejs/plugin-react-swc@3.9.0(vite@6.3.5)':
'@vitejs/plugin-react-swc@3.10.0(vite@6.3.5)':
dependencies:
'@swc/core': 1.11.24
'@rolldown/pluginutils': 1.0.0-beta.9
'@swc/core': 1.11.29
vite: 6.3.5
transitivePeerDependencies:
- '@swc/helpers'
@ -1431,7 +1437,7 @@ snapshots:
deep-is@0.1.4: {}
dope2@git+https://deemz.org/git/joeri/dope2.git#8cfbd6116ffe778efb02c37133a1ff633ae171df:
dope2@git+https://deemz.org/git/joeri/dope2.git#0d3ccee7d5ce703e71fd3c05e1795c7968646a34:
dependencies:
functional-red-black-tree: 1.0.1