feat: update check tasks
This commit is contained in:
14
.prettierrc
14
.prettierrc
@@ -1,14 +0,0 @@
|
|||||||
{
|
|
||||||
"trailingComma": "all",
|
|
||||||
"tabWidth": 2,
|
|
||||||
"printWidth": 120,
|
|
||||||
"singleQuote": false,
|
|
||||||
"overrides": [
|
|
||||||
{
|
|
||||||
"files": "*.ts",
|
|
||||||
"options": {
|
|
||||||
"parser": "typescript"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
2
LICENSE
2
LICENSE
@@ -1,6 +1,6 @@
|
|||||||
MIT License
|
MIT License
|
||||||
|
|
||||||
Copyright (c) 2020-2025 Christoffer Rødvik, Valkyr
|
Copyright (c) 2020-2026 Christoffer Rødvik, Valkyr
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
16
biome.json
16
biome.json
@@ -1,4 +1,6 @@
|
|||||||
{
|
{
|
||||||
|
"$schema": "https://biomejs.dev/schemas/2.0.5/schema.json",
|
||||||
|
"root": true,
|
||||||
"formatter": {
|
"formatter": {
|
||||||
"enabled": true,
|
"enabled": true,
|
||||||
"formatWithErrors": false,
|
"formatWithErrors": false,
|
||||||
@@ -13,11 +15,7 @@
|
|||||||
"rules": {
|
"rules": {
|
||||||
"recommended": true,
|
"recommended": true,
|
||||||
"suspicious": {
|
"suspicious": {
|
||||||
"noConfusingVoidType": "off",
|
|
||||||
"noExplicitAny": "off"
|
"noExplicitAny": "off"
|
||||||
},
|
|
||||||
"complexity": {
|
|
||||||
"noBannedTypes": "off"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -28,15 +26,7 @@
|
|||||||
"organizeImports": {
|
"organizeImports": {
|
||||||
"level": "on",
|
"level": "on",
|
||||||
"options": {
|
"options": {
|
||||||
"groups": [
|
"groups": [[":NODE:"], ":BLANK_LINE:", ":PACKAGE:", ":BLANK_LINE:", [":ALIAS:"], ":BLANK_LINE:", ":PATH:"]
|
||||||
[":BUN:", ":NODE:"],
|
|
||||||
":BLANK_LINE:",
|
|
||||||
":PACKAGE:",
|
|
||||||
":BLANK_LINE:",
|
|
||||||
[":ALIAS:"],
|
|
||||||
":BLANK_LINE:",
|
|
||||||
":PATH:"
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
28
deno.json
28
deno.json
@@ -9,17 +9,33 @@
|
|||||||
},
|
},
|
||||||
"tasks": {
|
"tasks": {
|
||||||
"check": {
|
"check": {
|
||||||
"command": "deno run -A npm:@biomejs/biome check --write ./src",
|
"description": "Run formatting/linting with Biome and type-check the source code with Deno.",
|
||||||
"description": "Format, lint, and organize imports of the entire project."
|
"dependencies": ["check:biome", "check:deno"]
|
||||||
},
|
},
|
||||||
|
|
||||||
|
"check:biome": {
|
||||||
|
"command": "deno run -A npm:@biomejs/biome@2.3.10 check --write ./src",
|
||||||
|
"description": "Format, lint, and organize imports in the src directory using Biome."
|
||||||
|
},
|
||||||
|
|
||||||
|
"check:deno": {
|
||||||
|
"command": "deno check ./src",
|
||||||
|
"description": "Perform full TypeScript type-checking on the src directory."
|
||||||
|
},
|
||||||
|
|
||||||
"test": {
|
"test": {
|
||||||
"command": "deno test --allow-all",
|
"command": "deno test --allow-all",
|
||||||
"description": "Runs all defined tests across the entire project."
|
"description": "Run all tests using Deno’s built-in test runner."
|
||||||
},
|
},
|
||||||
"test:publish": "deno publish --dry-run",
|
|
||||||
|
"test:publish": {
|
||||||
|
"command": "deno publish --dry-run",
|
||||||
|
"description": "Validate that the package can be published without errors."
|
||||||
|
},
|
||||||
|
|
||||||
"ncu": {
|
"ncu": {
|
||||||
"command": "npx ncu -u -p npm",
|
"command": "npx npm-check-updates -u -p npm",
|
||||||
"description": "Updates all the dependencies in package.json to their latest versions."
|
"description": "Update npm dependencies in package.json to their latest compatible versions."
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"compilerOptions": {
|
"compilerOptions": {
|
||||||
|
|||||||
98
deno.lock
generated
98
deno.lock
generated
@@ -1,11 +1,11 @@
|
|||||||
{
|
{
|
||||||
"version": "5",
|
"version": "5",
|
||||||
"specifiers": {
|
"specifiers": {
|
||||||
"npm:@biomejs/biome@*": "2.2.4",
|
"npm:@biomejs/biome@*": "2.3.10",
|
||||||
"npm:@biomejs/biome@2.2.4": "2.2.4",
|
"npm:@biomejs/biome@2.3.10": "2.3.10",
|
||||||
"npm:@jsr/std__assert@1": "1.0.13",
|
"npm:@jsr/std__assert@1": "1.0.16",
|
||||||
"npm:@jsr/std__async@1": "1.0.14",
|
"npm:@jsr/std__async@1": "1.0.16",
|
||||||
"npm:@jsr/std__testing@1": "1.0.15",
|
"npm:@jsr/std__testing@1": "1.0.16",
|
||||||
"npm:@jsr/valkyr__testcontainers@2": "2.0.2",
|
"npm:@jsr/valkyr__testcontainers@2": "2.0.2",
|
||||||
"npm:bson@7.0.0": "7.0.0",
|
"npm:bson@7.0.0": "7.0.0",
|
||||||
"npm:dot-prop@10.1.0": "10.1.0",
|
"npm:dot-prop@10.1.0": "10.1.0",
|
||||||
@@ -30,8 +30,8 @@
|
|||||||
"@babel/helper-validator-identifier@7.28.5": {
|
"@babel/helper-validator-identifier@7.28.5": {
|
||||||
"integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q=="
|
"integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q=="
|
||||||
},
|
},
|
||||||
"@biomejs/biome@2.2.4": {
|
"@biomejs/biome@2.3.10": {
|
||||||
"integrity": "sha512-TBHU5bUy/Ok6m8c0y3pZiuO/BZoY/OcGxoLlrfQof5s8ISVwbVBdFINPQZyFfKwil8XibYWb7JMwnT8wT4WVPg==",
|
"integrity": "sha512-/uWSUd1MHX2fjqNLHNL6zLYWBbrJeG412/8H7ESuK8ewoRoMPUgHDebqKrPTx/5n6f17Xzqc9hdg3MEqA5hXnQ==",
|
||||||
"optionalDependencies": [
|
"optionalDependencies": [
|
||||||
"@biomejs/cli-darwin-arm64",
|
"@biomejs/cli-darwin-arm64",
|
||||||
"@biomejs/cli-darwin-x64",
|
"@biomejs/cli-darwin-x64",
|
||||||
@@ -44,43 +44,43 @@
|
|||||||
],
|
],
|
||||||
"bin": true
|
"bin": true
|
||||||
},
|
},
|
||||||
"@biomejs/cli-darwin-arm64@2.2.4": {
|
"@biomejs/cli-darwin-arm64@2.3.10": {
|
||||||
"integrity": "sha512-RJe2uiyaloN4hne4d2+qVj3d3gFJFbmrr5PYtkkjei1O9c+BjGXgpUPVbi8Pl8syumhzJjFsSIYkcLt2VlVLMA==",
|
"integrity": "sha512-M6xUjtCVnNGFfK7HMNKa593nb7fwNm43fq1Mt71kpLpb+4mE7odO8W/oWVDyBVO4ackhresy1ZYO7OJcVo/B7w==",
|
||||||
"os": ["darwin"],
|
"os": ["darwin"],
|
||||||
"cpu": ["arm64"]
|
"cpu": ["arm64"]
|
||||||
},
|
},
|
||||||
"@biomejs/cli-darwin-x64@2.2.4": {
|
"@biomejs/cli-darwin-x64@2.3.10": {
|
||||||
"integrity": "sha512-cFsdB4ePanVWfTnPVaUX+yr8qV8ifxjBKMkZwN7gKb20qXPxd/PmwqUH8mY5wnM9+U0QwM76CxFyBRJhC9tQwg==",
|
"integrity": "sha512-Vae7+V6t/Avr8tVbFNjnFSTKZogZHFYl7MMH62P/J1kZtr0tyRQ9Fe0onjqjS2Ek9lmNLmZc/VR5uSekh+p1fg==",
|
||||||
"os": ["darwin"],
|
"os": ["darwin"],
|
||||||
"cpu": ["x64"]
|
"cpu": ["x64"]
|
||||||
},
|
},
|
||||||
"@biomejs/cli-linux-arm64-musl@2.2.4": {
|
"@biomejs/cli-linux-arm64-musl@2.3.10": {
|
||||||
"integrity": "sha512-7TNPkMQEWfjvJDaZRSkDCPT/2r5ESFPKx+TEev+I2BXDGIjfCZk2+b88FOhnJNHtksbOZv8ZWnxrA5gyTYhSsQ==",
|
"integrity": "sha512-B9DszIHkuKtOH2IFeeVkQmSMVUjss9KtHaNXquYYWCjH8IstNgXgx5B0aSBQNr6mn4RcKKRQZXn9Zu1rM3O0/A==",
|
||||||
"os": ["linux"],
|
"os": ["linux"],
|
||||||
"cpu": ["arm64"]
|
"cpu": ["arm64"]
|
||||||
},
|
},
|
||||||
"@biomejs/cli-linux-arm64@2.2.4": {
|
"@biomejs/cli-linux-arm64@2.3.10": {
|
||||||
"integrity": "sha512-M/Iz48p4NAzMXOuH+tsn5BvG/Jb07KOMTdSVwJpicmhN309BeEyRyQX+n1XDF0JVSlu28+hiTQ2L4rZPvu7nMw==",
|
"integrity": "sha512-hhPw2V3/EpHKsileVOFynuWiKRgFEV48cLe0eA+G2wO4SzlwEhLEB9LhlSrVeu2mtSn205W283LkX7Fh48CaxA==",
|
||||||
"os": ["linux"],
|
"os": ["linux"],
|
||||||
"cpu": ["arm64"]
|
"cpu": ["arm64"]
|
||||||
},
|
},
|
||||||
"@biomejs/cli-linux-x64-musl@2.2.4": {
|
"@biomejs/cli-linux-x64-musl@2.3.10": {
|
||||||
"integrity": "sha512-m41nFDS0ksXK2gwXL6W6yZTYPMH0LughqbsxInSKetoH6morVj43szqKx79Iudkp8WRT5SxSh7qVb8KCUiewGg==",
|
"integrity": "sha512-QTfHZQh62SDFdYc2nfmZFuTm5yYb4eO1zwfB+90YxUumRCR171tS1GoTX5OD0wrv4UsziMPmrePMtkTnNyYG3g==",
|
||||||
"os": ["linux"],
|
"os": ["linux"],
|
||||||
"cpu": ["x64"]
|
"cpu": ["x64"]
|
||||||
},
|
},
|
||||||
"@biomejs/cli-linux-x64@2.2.4": {
|
"@biomejs/cli-linux-x64@2.3.10": {
|
||||||
"integrity": "sha512-orr3nnf2Dpb2ssl6aihQtvcKtLySLta4E2UcXdp7+RTa7mfJjBgIsbS0B9GC8gVu0hjOu021aU8b3/I1tn+pVQ==",
|
"integrity": "sha512-wwAkWD1MR95u+J4LkWP74/vGz+tRrIQvr8kfMMJY8KOQ8+HMVleREOcPYsQX82S7uueco60L58Wc6M1I9WA9Dw==",
|
||||||
"os": ["linux"],
|
"os": ["linux"],
|
||||||
"cpu": ["x64"]
|
"cpu": ["x64"]
|
||||||
},
|
},
|
||||||
"@biomejs/cli-win32-arm64@2.2.4": {
|
"@biomejs/cli-win32-arm64@2.3.10": {
|
||||||
"integrity": "sha512-NXnfTeKHDFUWfxAefa57DiGmu9VyKi0cDqFpdI+1hJWQjGJhJutHPX0b5m+eXvTKOaf+brU+P0JrQAZMb5yYaQ==",
|
"integrity": "sha512-o7lYc9n+CfRbHvkjPhm8s9FgbKdYZu5HCcGVMItLjz93EhgJ8AM44W+QckDqLA9MKDNFrR8nPbO4b73VC5kGGQ==",
|
||||||
"os": ["win32"],
|
"os": ["win32"],
|
||||||
"cpu": ["arm64"]
|
"cpu": ["arm64"]
|
||||||
},
|
},
|
||||||
"@biomejs/cli-win32-x64@2.2.4": {
|
"@biomejs/cli-win32-x64@2.3.10": {
|
||||||
"integrity": "sha512-3Y4V4zVRarVh/B/eSHczR4LYoSVyv3Dfuvm3cWs5w/HScccS0+Wt/lHOcDTRYeHjQmMYVC3rIRWqyN2EI52+zg==",
|
"integrity": "sha512-pHEFgq7dUEsKnqG9mx9bXihxGI49X+ar+UBrEIj3Wqj3UCZp1rNgV+OoyjFgcXsjCWpuEAF4VJdkZr3TrWdCbQ==",
|
||||||
"os": ["win32"],
|
"os": ["win32"],
|
||||||
"cpu": ["x64"]
|
"cpu": ["x64"]
|
||||||
},
|
},
|
||||||
@@ -121,16 +121,16 @@
|
|||||||
"chalk"
|
"chalk"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"@jsr/std__assert@1.0.13": {
|
"@jsr/std__assert@1.0.16": {
|
||||||
"integrity": "sha512-rZ44REoi2/p+gqu8OfkcNeaTOSiG1kD6v8gyA0YjkXsOkDsiGw9g8h7JuGC/OD7GgOVgTEY+9Cih49Y18rkrCQ==",
|
"integrity": "sha512-bX9ih0nR1kQ12/cnQRCQU0ppTCV7MFkP0qjyWxJRoDI8RC5cpTAmLFH/KcFgxmdN4flKkRbub8VtLuyKq+4OxA==",
|
||||||
"dependencies": [
|
"dependencies": [
|
||||||
"@jsr/std__internal"
|
"@jsr/std__internal"
|
||||||
],
|
],
|
||||||
"tarball": "https://npm.jsr.io/~/11/@jsr/std__assert/1.0.13.tgz"
|
"tarball": "https://npm.jsr.io/~/11/@jsr/std__assert/1.0.16.tgz"
|
||||||
},
|
},
|
||||||
"@jsr/std__async@1.0.14": {
|
"@jsr/std__async@1.0.16": {
|
||||||
"integrity": "sha512-aIG8W3TOmW+lKdAJA5w56qASu9EiUmBXbhW6eAlSEUBid+KVESGqQygFFg+awt/c8K+qobVM6M/u3SbIy0NyUQ==",
|
"integrity": "sha512-WoYmNEPSh+Bs09HvVceERknVX813wQjSb2D9Z0KdxGTMYl5Pm13e5xqa3mYu9QBRlxIxpTivGhIQYaslEezrhw==",
|
||||||
"tarball": "https://npm.jsr.io/~/11/@jsr/std__async/1.0.14.tgz"
|
"tarball": "https://npm.jsr.io/~/11/@jsr/std__async/1.0.16.tgz"
|
||||||
},
|
},
|
||||||
"@jsr/std__data-structures@1.0.9": {
|
"@jsr/std__data-structures@1.0.9": {
|
||||||
"integrity": "sha512-+mT4Nll6fx+CPNqrlC+huhIOYNSMS+KUdJ4B8NujiQrh/bq++ds5PXpEsfV5EPR+YuWcuDGG0P1DE+Rednd7Wg==",
|
"integrity": "sha512-+mT4Nll6fx+CPNqrlC+huhIOYNSMS+KUdJ4B8NujiQrh/bq++ds5PXpEsfV5EPR+YuWcuDGG0P1DE+Rednd7Wg==",
|
||||||
@@ -139,31 +139,31 @@
|
|||||||
],
|
],
|
||||||
"tarball": "https://npm.jsr.io/~/11/@jsr/std__data-structures/1.0.9.tgz"
|
"tarball": "https://npm.jsr.io/~/11/@jsr/std__data-structures/1.0.9.tgz"
|
||||||
},
|
},
|
||||||
"@jsr/std__fs@1.0.19": {
|
"@jsr/std__fs@1.0.21": {
|
||||||
"integrity": "sha512-TEjyE8g+46jPlu7dJHLrwc8NMGl8zfG+JjWxyNQyDbxP0RtqZ4JmYZfR9vy4RWYWJQbLpw6Kbt2n+K/2zAO/JA==",
|
"integrity": "sha512-k/agrcKGm6KD89ci3AEyRmu3wRWf9JZNliOF4ZUxagTHiySmxjiKU3Lk+d2ksRtwEi7oWlLGS0AVM9Lciwc/xg==",
|
||||||
"dependencies": [
|
"dependencies": [
|
||||||
"@jsr/std__internal",
|
"@jsr/std__internal",
|
||||||
"@jsr/std__path"
|
"@jsr/std__path"
|
||||||
],
|
],
|
||||||
"tarball": "https://npm.jsr.io/~/11/@jsr/std__fs/1.0.19.tgz"
|
"tarball": "https://npm.jsr.io/~/11/@jsr/std__fs/1.0.21.tgz"
|
||||||
},
|
},
|
||||||
"@jsr/std__internal@1.0.10": {
|
"@jsr/std__internal@1.0.12": {
|
||||||
"integrity": "sha512-fmD6yKep/sMnB2yPQU/REZG7Z4N9SZwcUBNnceo4QkXk67l3JEfxHoROQ/YHeVSOmq6x55Ra6nuMjz2ib3nj3g==",
|
"integrity": "sha512-6xReMW9p+paJgqoFRpOE2nogJFvzPfaLHLIlyADYjKMUcwDyjKZxryIbgcU+gxiTygn8yCjld1HoI0ET4/iZeA==",
|
||||||
"tarball": "https://npm.jsr.io/~/11/@jsr/std__internal/1.0.10.tgz"
|
"tarball": "https://npm.jsr.io/~/11/@jsr/std__internal/1.0.12.tgz"
|
||||||
},
|
},
|
||||||
"@jsr/std__net@1.0.4": {
|
"@jsr/std__net@1.0.6": {
|
||||||
"integrity": "sha512-KJGU8ZpQ70sMW2Zk+wU3wFUkggS9lTLfRFBygnV9VaK8KI+1ggiqtB06rH4a14CNRGM9y46Mn/ZCbQUd4Q45Jg==",
|
"integrity": "sha512-mh27Fw4UMCjGSIMoOhjia5cS5fNP9M9DZYhGB7EYSZNnzf/eguFiarii/W4oDwYMmnxCMouUzhc6Y7jFuwTzcg==",
|
||||||
"tarball": "https://npm.jsr.io/~/11/@jsr/std__net/1.0.4.tgz"
|
"tarball": "https://npm.jsr.io/~/11/@jsr/std__net/1.0.6.tgz"
|
||||||
},
|
},
|
||||||
"@jsr/std__path@1.1.1": {
|
"@jsr/std__path@1.1.4": {
|
||||||
"integrity": "sha512-+x5LgcNUSpMzOZIRmFSjqrMTCxHlgXjWzK8ZFr7lwgHfWZxoVXeis3MFQlkR5mN5uQ61Y1P30Li1PU0yx9uluA==",
|
"integrity": "sha512-SK4u9H6NVTfolhPdlvdYXfNFefy1W04AEHWJydryYbk+xqzNiVmr5o7TLJLJFqwHXuwMRhwrn+mcYeUfS0YFaA==",
|
||||||
"dependencies": [
|
"dependencies": [
|
||||||
"@jsr/std__internal"
|
"@jsr/std__internal"
|
||||||
],
|
],
|
||||||
"tarball": "https://npm.jsr.io/~/11/@jsr/std__path/1.1.1.tgz"
|
"tarball": "https://npm.jsr.io/~/11/@jsr/std__path/1.1.4.tgz"
|
||||||
},
|
},
|
||||||
"@jsr/std__testing@1.0.15": {
|
"@jsr/std__testing@1.0.16": {
|
||||||
"integrity": "sha512-NgQuXxTEG4ecbh2fzYbkJWJoBgPXwbv6bdsrAYSOeLpX2d+TROEzpErbWQXHi/yxZy/FNn9IF548ZDAqMZxi/g==",
|
"integrity": "sha512-suPk2iMICErQVuRcNj7HweRbFYsBLjqnrI0NgNEXzBAJYv8lA+/87IXMgv/rvyqSABHn3X4ciynFZgpyPCI32A==",
|
||||||
"dependencies": [
|
"dependencies": [
|
||||||
"@jsr/std__assert",
|
"@jsr/std__assert",
|
||||||
"@jsr/std__async",
|
"@jsr/std__async",
|
||||||
@@ -172,7 +172,7 @@
|
|||||||
"@jsr/std__internal",
|
"@jsr/std__internal",
|
||||||
"@jsr/std__path"
|
"@jsr/std__path"
|
||||||
],
|
],
|
||||||
"tarball": "https://npm.jsr.io/~/11/@jsr/std__testing/1.0.15.tgz"
|
"tarball": "https://npm.jsr.io/~/11/@jsr/std__testing/1.0.16.tgz"
|
||||||
},
|
},
|
||||||
"@jsr/valkyr__testcontainers@2.0.2": {
|
"@jsr/valkyr__testcontainers@2.0.2": {
|
||||||
"integrity": "sha512-YnmfraYFr3msoUGrIFeElm03nbQqXOaPu0QUT6JI3w6/mIYpVfzPxghkB7gn2RIc81QgrqjwKJE/AL3dltlR1w==",
|
"integrity": "sha512-YnmfraYFr3msoUGrIFeElm03nbQqXOaPu0QUT6JI3w6/mIYpVfzPxghkB7gn2RIc81QgrqjwKJE/AL3dltlR1w==",
|
||||||
@@ -185,8 +185,8 @@
|
|||||||
],
|
],
|
||||||
"tarball": "https://npm.jsr.io/~/11/@jsr/valkyr__testcontainers/2.0.2.tgz"
|
"tarball": "https://npm.jsr.io/~/11/@jsr/valkyr__testcontainers/2.0.2.tgz"
|
||||||
},
|
},
|
||||||
"@mongodb-js/saslprep@1.3.0": {
|
"@mongodb-js/saslprep@1.4.4": {
|
||||||
"integrity": "sha512-zlayKCsIjYb7/IdfqxorK5+xUMyi4vOKcFy10wKJYc63NSdKI8mNME+uJqfatkPmOSMMUiojrL58IePKBm3gvQ==",
|
"integrity": "sha512-p7X/ytJDIdwUfFL/CLOhKgdfJe1Fa8uw9seJYvdOmnP9JBWGWHW69HkOixXS6Wy9yvGf1MbhcS6lVmrhy4jm2g==",
|
||||||
"dependencies": [
|
"dependencies": [
|
||||||
"sparse-bitfield"
|
"sparse-bitfield"
|
||||||
]
|
]
|
||||||
@@ -397,8 +397,8 @@
|
|||||||
"whatwg-url"
|
"whatwg-url"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"mongodb@6.18.0": {
|
"mongodb@6.21.0": {
|
||||||
"integrity": "sha512-fO5ttN9VC8P0F5fqtQmclAkgXZxbIkYRTUi1j8JO6IYwvamkhtYDilJr35jOPELR49zqCJgXZWwCtW7B+TM8vQ==",
|
"integrity": "sha512-URyb/VXMjJ4da46OeSXg+puO39XH9DeQpWCslifrRn9JWugy0D+DvvBvkm2WxmHe61O/H19JM66p1z7RHVkZ6A==",
|
||||||
"dependencies": [
|
"dependencies": [
|
||||||
"@mongodb-js/saslprep",
|
"@mongodb-js/saslprep",
|
||||||
"bson@6.10.4",
|
"bson@6.10.4",
|
||||||
@@ -505,7 +505,7 @@
|
|||||||
"workspace": {
|
"workspace": {
|
||||||
"packageJson": {
|
"packageJson": {
|
||||||
"dependencies": [
|
"dependencies": [
|
||||||
"npm:@biomejs/biome@2.2.4",
|
"npm:@biomejs/biome@2.3.10",
|
||||||
"npm:@jsr/std__assert@1",
|
"npm:@jsr/std__assert@1",
|
||||||
"npm:@jsr/std__async@1",
|
"npm:@jsr/std__async@1",
|
||||||
"npm:@jsr/std__testing@1",
|
"npm:@jsr/std__testing@1",
|
||||||
|
|||||||
@@ -1,36 +0,0 @@
|
|||||||
import simpleImportSort from "eslint-plugin-simple-import-sort";
|
|
||||||
import tseslint from "typescript-eslint";
|
|
||||||
|
|
||||||
export default [
|
|
||||||
...tseslint.configs.recommended,
|
|
||||||
{
|
|
||||||
plugins: {
|
|
||||||
"simple-import-sort": simpleImportSort,
|
|
||||||
},
|
|
||||||
rules: {
|
|
||||||
"simple-import-sort/imports": "error",
|
|
||||||
"simple-import-sort/exports": "error",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
files: ["**/*.ts"],
|
|
||||||
rules: {
|
|
||||||
"@typescript-eslint/ban-ts-comment": [
|
|
||||||
"error",
|
|
||||||
{
|
|
||||||
"ts-expect-error": "allow-with-description",
|
|
||||||
minimumDescriptionLength: 10,
|
|
||||||
},
|
|
||||||
],
|
|
||||||
"@typescript-eslint/ban-types": "off",
|
|
||||||
"@typescript-eslint/no-explicit-any": "off",
|
|
||||||
"@typescript-eslint/no-unused-vars": [
|
|
||||||
"error",
|
|
||||||
{
|
|
||||||
argsIgnorePattern: "^_",
|
|
||||||
varsIgnorePattern: "^_",
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
},
|
|
||||||
];
|
|
||||||
15
mod.ts
15
mod.ts
@@ -1,15 +0,0 @@
|
|||||||
export * from "./libraries/aggregate.ts";
|
|
||||||
export * from "./libraries/errors.ts";
|
|
||||||
export * from "./libraries/event.ts";
|
|
||||||
export * from "./libraries/event-factory.ts";
|
|
||||||
export * from "./libraries/event-store.ts";
|
|
||||||
export * from "./libraries/projector.ts";
|
|
||||||
export * from "./libraries/queue.ts";
|
|
||||||
export * from "./libraries/reducer.ts";
|
|
||||||
export * from "./libraries/time.ts";
|
|
||||||
export * from "./libraries/timestamp.ts";
|
|
||||||
export type * from "./types/adapter.ts";
|
|
||||||
export type * from "./types/common.ts";
|
|
||||||
export type * from "./types/projector.ts";
|
|
||||||
export type * from "./types/query.ts";
|
|
||||||
export type * from "./types/utilities.ts";
|
|
||||||
@@ -1,10 +1,4 @@
|
|||||||
{
|
{
|
||||||
"name": "@valkyr/db",
|
|
||||||
"version": "0.0.0",
|
|
||||||
"description": "Simple client side storage solution written in TypeScript.",
|
|
||||||
"repository": "https://github.com/valkyrjs/db.git",
|
|
||||||
"bugs": "https://github.com/valkyrjs/db/issues",
|
|
||||||
"license": "MIT",
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"bson": "7.0.0",
|
"bson": "7.0.0",
|
||||||
"dot-prop": "10.1.0",
|
"dot-prop": "10.1.0",
|
||||||
@@ -20,7 +14,7 @@
|
|||||||
"@std/assert": "npm:@jsr/std__assert@1",
|
"@std/assert": "npm:@jsr/std__assert@1",
|
||||||
"@std/testing": "npm:@jsr/std__testing@1",
|
"@std/testing": "npm:@jsr/std__testing@1",
|
||||||
"@valkyr/testcontainers": "npm:@jsr/valkyr__testcontainers@2",
|
"@valkyr/testcontainers": "npm:@jsr/valkyr__testcontainers@2",
|
||||||
"@biomejs/biome": "2.2.4",
|
"@biomejs/biome": "2.3.10",
|
||||||
"expect": "30.2.0",
|
"expect": "30.2.0",
|
||||||
"fake-indexeddb": "6.2.5"
|
"fake-indexeddb": "6.2.5"
|
||||||
}
|
}
|
||||||
|
|||||||
11
src/types.ts
11
src/types.ts
@@ -125,11 +125,12 @@ type Flatten<Type> = Type extends ReadonlyArray<infer Item> ? Item : Type;
|
|||||||
|
|
||||||
type IsAny<Type, ResultIfAny, ResultIfNotAny> = true extends false & Type ? ResultIfAny : ResultIfNotAny;
|
type IsAny<Type, ResultIfAny, ResultIfNotAny> = true extends false & Type ? ResultIfAny : ResultIfNotAny;
|
||||||
|
|
||||||
type FilterOperations<T> = T extends Record<string, any>
|
type FilterOperations<T> =
|
||||||
? {
|
T extends Record<string, any>
|
||||||
[key in keyof T]?: FilterOperators<T[key]>;
|
? {
|
||||||
}
|
[key in keyof T]?: FilterOperators<T[key]>;
|
||||||
: FilterOperators<T>;
|
}
|
||||||
|
: FilterOperators<T>;
|
||||||
|
|
||||||
type ArrayOperator<Type> = {
|
type ArrayOperator<Type> = {
|
||||||
$each?: Array<Flatten<Type>>;
|
$each?: Array<Flatten<Type>>;
|
||||||
|
|||||||
Reference in New Issue
Block a user