Commit 67cf9c7c authored by nanahira's avatar nanahira

add UseComponent

parent 1bf4067f
...@@ -31,7 +31,7 @@ ...@@ -31,7 +31,7 @@
"typescript": "^4.8.2" "typescript": "^4.8.2"
}, },
"peerDependencies": { "peerDependencies": {
"koishi": "^4.10.6" "koishi": "^4.10.10"
} }
}, },
"node_modules/@ampproject/remapping": { "node_modules/@ampproject/remapping": {
...@@ -1106,14 +1106,14 @@ ...@@ -1106,14 +1106,14 @@
} }
}, },
"node_modules/@koishijs/core": { "node_modules/@koishijs/core": {
"version": "4.10.6", "version": "4.10.10",
"resolved": "https://registry.npmjs.org/@koishijs/core/-/core-4.10.6.tgz", "resolved": "https://registry.npmjs.org/@koishijs/core/-/core-4.10.10.tgz",
"integrity": "sha512-5rOr40u41SZzCvQObqGf2DANakFWWRvDditZG+0Z1/zczX6o+UJy9TXZUHEpTMfvMMEG7+DNECPZz8F6X8drLw==", "integrity": "sha512-LooBZCQSm91TL7aBBECjaFaROn+udCAavOwi+AWzbFPBfcuF4ZHFGpQ112yWK70xbQ7YhHUueueqJpkAGOy4RA==",
"peer": true, "peer": true,
"dependencies": { "dependencies": {
"@koishijs/utils": "^6.3.4", "@koishijs/utils": "^6.3.4",
"@minatojs/core": "^2.0.3", "@minatojs/core": "^2.0.3",
"@satorijs/core": "^1.4.10", "@satorijs/core": "^1.4.11",
"cordis": "^2.6.0", "cordis": "^2.6.0",
"cosmokit": "^1.3.6", "cosmokit": "^1.3.6",
"fastest-levenshtein": "^1.0.16" "fastest-levenshtein": "^1.0.16"
...@@ -1188,12 +1188,12 @@ ...@@ -1188,12 +1188,12 @@
} }
}, },
"node_modules/@satorijs/core": { "node_modules/@satorijs/core": {
"version": "1.4.10", "version": "1.4.11",
"resolved": "https://registry.npmjs.org/@satorijs/core/-/core-1.4.10.tgz", "resolved": "https://registry.npmjs.org/@satorijs/core/-/core-1.4.11.tgz",
"integrity": "sha512-eTHYuoW6KAh6Fko874b9/50hq+CGD2FMFTT2K2htNdMFhKdGYkum3vpqmudPlThCefH4608rR5jU1vsebsKTrQ==", "integrity": "sha512-8EsVA5esShEqYMwwXipGwx7obwVb3Lc0NwBmjZWNj2++WYKYg+jQ0Iatgd2jcJhNX2H9ziqnwu05aHtWo+mSsA==",
"peer": true, "peer": true,
"dependencies": { "dependencies": {
"@satorijs/element": "^2.2.1", "@satorijs/element": "^2.2.2",
"cordis": "^2.6.0", "cordis": "^2.6.0",
"cordis-axios": "^2.1.6", "cordis-axios": "^2.1.6",
"cosmokit": "^1.3.6", "cosmokit": "^1.3.6",
...@@ -1203,29 +1203,29 @@ ...@@ -1203,29 +1203,29 @@
} }
}, },
"node_modules/@satorijs/element": { "node_modules/@satorijs/element": {
"version": "2.2.1", "version": "2.2.2",
"resolved": "https://registry.npmjs.org/@satorijs/element/-/element-2.2.1.tgz", "resolved": "https://registry.npmjs.org/@satorijs/element/-/element-2.2.2.tgz",
"integrity": "sha512-4oINBNinlxUQL+lsGKkGYgITNSGRfDeUUmE2lzHYbg/WSVg2eK11pNHtwGbud0KxnmNG687NxyF9czgd7t/4hg==", "integrity": "sha512-t6K0weO+GwqHhP/C9GTchck0jDk8c63kiAr9hHEVQX3nx/+fjGquTDGzBc4WzOVc105wePWRvV1UtvRaa0I9FQ==",
"peer": true, "peer": true,
"dependencies": { "dependencies": {
"cosmokit": "^1.3.6" "cosmokit": "^1.3.6"
} }
}, },
"node_modules/@satorijs/satori": { "node_modules/@satorijs/satori": {
"version": "1.4.10", "version": "1.4.11",
"resolved": "https://registry.npmjs.org/@satorijs/satori/-/satori-1.4.10.tgz", "resolved": "https://registry.npmjs.org/@satorijs/satori/-/satori-1.4.11.tgz",
"integrity": "sha512-6rT02tmMyv/Tw0o9xaCH+uW8c947LcvLI2pDD/RG01X+hyh8OfGbeAK59GtKcIY9lnA3Rma7jCIB7dkMjPpt0w==", "integrity": "sha512-nQHch/Ya1ClsNO9anJYfNnpiMFHCc1ihxdWuVKKpGOXRxuGMOtnbkB/Qa+NuBT+887E2NsFfTBoFgt8vuExxew==",
"peer": true, "peer": true,
"dependencies": { "dependencies": {
"@koa/router": "^10.1.1", "@koa/router": "^10.1.1",
"@satorijs/core": "1.4.10", "@satorijs/core": "1.4.11",
"@types/koa": "*", "@types/koa": "*",
"@types/koa__router": "*", "@types/koa__router": "*",
"@types/ws": "^8.5.3", "@types/ws": "^8.5.3",
"agent-base": "^6.0.2", "agent-base": "^6.0.2",
"http-proxy-agent": "^5.0.0", "http-proxy-agent": "^5.0.0",
"https-proxy-agent": "^5.0.1", "https-proxy-agent": "^5.0.1",
"koa": "^2.13.4", "koa": "^2.14.1",
"koa-bodyparser": "^4.3.0", "koa-bodyparser": "^4.3.0",
"parseurl": "^1.3.3", "parseurl": "^1.3.3",
"path-to-regexp": "^6.2.1", "path-to-regexp": "^6.2.1",
...@@ -4561,14 +4561,14 @@ ...@@ -4561,14 +4561,14 @@
} }
}, },
"node_modules/koishi": { "node_modules/koishi": {
"version": "4.10.6", "version": "4.10.10",
"resolved": "https://registry.npmjs.org/koishi/-/koishi-4.10.6.tgz", "resolved": "https://registry.npmjs.org/koishi/-/koishi-4.10.10.tgz",
"integrity": "sha512-s/VDoMKihMsjodSU9Vhs1Kkk3psQ6/sNx7MNuxAFo5KsXIJOgAQnJ+5TZxiqyGgxNT7NVNB4RHdQVDkYydbG1Q==", "integrity": "sha512-92VxR/7AL8l2eyd0MOWi5Nc/nLe2lX9ftglsMkqHvvImFkQma+2kSuexuxVLjcDmkAL6LWI27VxyuUH35jl5PQ==",
"peer": true, "peer": true,
"dependencies": { "dependencies": {
"@koishijs/core": "^4.10.6", "@koishijs/core": "^4.10.10",
"@koishijs/utils": "^6.3.4", "@koishijs/utils": "^6.3.4",
"@satorijs/satori": "^1.4.10", "@satorijs/satori": "^1.4.11",
"file-type": "^16.5.4", "file-type": "^16.5.4",
"ns-require": "^1.1.4" "ns-require": "^1.1.4"
}, },
...@@ -7237,14 +7237,14 @@ ...@@ -7237,14 +7237,14 @@
} }
}, },
"@koishijs/core": { "@koishijs/core": {
"version": "4.10.6", "version": "4.10.10",
"resolved": "https://registry.npmjs.org/@koishijs/core/-/core-4.10.6.tgz", "resolved": "https://registry.npmjs.org/@koishijs/core/-/core-4.10.10.tgz",
"integrity": "sha512-5rOr40u41SZzCvQObqGf2DANakFWWRvDditZG+0Z1/zczX6o+UJy9TXZUHEpTMfvMMEG7+DNECPZz8F6X8drLw==", "integrity": "sha512-LooBZCQSm91TL7aBBECjaFaROn+udCAavOwi+AWzbFPBfcuF4ZHFGpQ112yWK70xbQ7YhHUueueqJpkAGOy4RA==",
"peer": true, "peer": true,
"requires": { "requires": {
"@koishijs/utils": "^6.3.4", "@koishijs/utils": "^6.3.4",
"@minatojs/core": "^2.0.3", "@minatojs/core": "^2.0.3",
"@satorijs/core": "^1.4.10", "@satorijs/core": "^1.4.11",
"cordis": "^2.6.0", "cordis": "^2.6.0",
"cosmokit": "^1.3.6", "cosmokit": "^1.3.6",
"fastest-levenshtein": "^1.0.16" "fastest-levenshtein": "^1.0.16"
...@@ -7307,12 +7307,12 @@ ...@@ -7307,12 +7307,12 @@
} }
}, },
"@satorijs/core": { "@satorijs/core": {
"version": "1.4.10", "version": "1.4.11",
"resolved": "https://registry.npmjs.org/@satorijs/core/-/core-1.4.10.tgz", "resolved": "https://registry.npmjs.org/@satorijs/core/-/core-1.4.11.tgz",
"integrity": "sha512-eTHYuoW6KAh6Fko874b9/50hq+CGD2FMFTT2K2htNdMFhKdGYkum3vpqmudPlThCefH4608rR5jU1vsebsKTrQ==", "integrity": "sha512-8EsVA5esShEqYMwwXipGwx7obwVb3Lc0NwBmjZWNj2++WYKYg+jQ0Iatgd2jcJhNX2H9ziqnwu05aHtWo+mSsA==",
"peer": true, "peer": true,
"requires": { "requires": {
"@satorijs/element": "^2.2.1", "@satorijs/element": "^2.2.2",
"cordis": "^2.6.0", "cordis": "^2.6.0",
"cordis-axios": "^2.1.6", "cordis-axios": "^2.1.6",
"cosmokit": "^1.3.6", "cosmokit": "^1.3.6",
...@@ -7322,29 +7322,29 @@ ...@@ -7322,29 +7322,29 @@
} }
}, },
"@satorijs/element": { "@satorijs/element": {
"version": "2.2.1", "version": "2.2.2",
"resolved": "https://registry.npmjs.org/@satorijs/element/-/element-2.2.1.tgz", "resolved": "https://registry.npmjs.org/@satorijs/element/-/element-2.2.2.tgz",
"integrity": "sha512-4oINBNinlxUQL+lsGKkGYgITNSGRfDeUUmE2lzHYbg/WSVg2eK11pNHtwGbud0KxnmNG687NxyF9czgd7t/4hg==", "integrity": "sha512-t6K0weO+GwqHhP/C9GTchck0jDk8c63kiAr9hHEVQX3nx/+fjGquTDGzBc4WzOVc105wePWRvV1UtvRaa0I9FQ==",
"peer": true, "peer": true,
"requires": { "requires": {
"cosmokit": "^1.3.6" "cosmokit": "^1.3.6"
} }
}, },
"@satorijs/satori": { "@satorijs/satori": {
"version": "1.4.10", "version": "1.4.11",
"resolved": "https://registry.npmjs.org/@satorijs/satori/-/satori-1.4.10.tgz", "resolved": "https://registry.npmjs.org/@satorijs/satori/-/satori-1.4.11.tgz",
"integrity": "sha512-6rT02tmMyv/Tw0o9xaCH+uW8c947LcvLI2pDD/RG01X+hyh8OfGbeAK59GtKcIY9lnA3Rma7jCIB7dkMjPpt0w==", "integrity": "sha512-nQHch/Ya1ClsNO9anJYfNnpiMFHCc1ihxdWuVKKpGOXRxuGMOtnbkB/Qa+NuBT+887E2NsFfTBoFgt8vuExxew==",
"peer": true, "peer": true,
"requires": { "requires": {
"@koa/router": "^10.1.1", "@koa/router": "^10.1.1",
"@satorijs/core": "1.4.10", "@satorijs/core": "1.4.11",
"@types/koa": "*", "@types/koa": "*",
"@types/koa__router": "*", "@types/koa__router": "*",
"@types/ws": "^8.5.3", "@types/ws": "^8.5.3",
"agent-base": "^6.0.2", "agent-base": "^6.0.2",
"http-proxy-agent": "^5.0.0", "http-proxy-agent": "^5.0.0",
"https-proxy-agent": "^5.0.1", "https-proxy-agent": "^5.0.1",
"koa": "^2.13.4", "koa": "^2.14.1",
"koa-bodyparser": "^4.3.0", "koa-bodyparser": "^4.3.0",
"parseurl": "^1.3.3", "parseurl": "^1.3.3",
"path-to-regexp": "^6.2.1", "path-to-regexp": "^6.2.1",
...@@ -9887,14 +9887,14 @@ ...@@ -9887,14 +9887,14 @@
} }
}, },
"koishi": { "koishi": {
"version": "4.10.6", "version": "4.10.10",
"resolved": "https://registry.npmjs.org/koishi/-/koishi-4.10.6.tgz", "resolved": "https://registry.npmjs.org/koishi/-/koishi-4.10.10.tgz",
"integrity": "sha512-s/VDoMKihMsjodSU9Vhs1Kkk3psQ6/sNx7MNuxAFo5KsXIJOgAQnJ+5TZxiqyGgxNT7NVNB4RHdQVDkYydbG1Q==", "integrity": "sha512-92VxR/7AL8l2eyd0MOWi5Nc/nLe2lX9ftglsMkqHvvImFkQma+2kSuexuxVLjcDmkAL6LWI27VxyuUH35jl5PQ==",
"peer": true, "peer": true,
"requires": { "requires": {
"@koishijs/core": "^4.10.6", "@koishijs/core": "^4.10.10",
"@koishijs/utils": "^6.3.4", "@koishijs/utils": "^6.3.4",
"@satorijs/satori": "^1.4.10", "@satorijs/satori": "^1.4.11",
"file-type": "^16.5.4", "file-type": "^16.5.4",
"ns-require": "^1.1.4" "ns-require": "^1.1.4"
} }
......
...@@ -69,6 +69,6 @@ ...@@ -69,6 +69,6 @@
"testEnvironment": "node" "testEnvironment": "node"
}, },
"peerDependencies": { "peerDependencies": {
"koishi": "^4.10.6" "koishi": "^4.10.10"
} }
} }
...@@ -24,6 +24,7 @@ export const { ...@@ -24,6 +24,7 @@ export const {
UseMiddleware, UseMiddleware,
UsePreset, UsePreset,
UseInterval, UseInterval,
UseComponent,
} = methodDecorators; } = methodDecorators;
export function UseCommand<D extends string>( export function UseCommand<D extends string>(
......
import { RegisterMeta, SatoriRegistrar } from 'satori-decorators'; import { RegisterMeta, SatoriRegistrar } from 'satori-decorators';
import { BeforeEventMap, Command, Context, I18n, Next, Session } from 'koishi'; import {
BeforeEventMap,
Command,
Context,
I18n,
Next,
Session,
Component,
} from 'koishi';
import { CanBeObserved, sessionRxToPromise } from './utility/rxjs-session'; import { CanBeObserved, sessionRxToPromise } from './utility/rxjs-session';
import { import {
CommandConfigExtended, CommandConfigExtended,
...@@ -161,6 +169,15 @@ export class KoishiRegistrar extends SatoriRegistrar<Context> { ...@@ -161,6 +169,15 @@ export class KoishiRegistrar extends SatoriRegistrar<Context> {
({ ctx }, fun: (...args: any[]) => any, interval: number) => ({ ctx }, fun: (...args: any[]) => any, interval: number) =>
ctx.setInterval(fun, interval), ctx.setInterval(fun, interval),
), ),
UseComponent: this.decorateMethod(
'component',
(
{ ctx },
fun: Component,
name: string,
options: Component.Options = {},
) => ctx.component(name, fun, options),
),
}; };
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment