Commit 67cf9c7c authored by nanahira's avatar nanahira

add UseComponent

parent 1bf4067f
......@@ -31,7 +31,7 @@
"typescript": "^4.8.2"
},
"peerDependencies": {
"koishi": "^4.10.6"
"koishi": "^4.10.10"
}
},
"node_modules/@ampproject/remapping": {
......@@ -1106,14 +1106,14 @@
}
},
"node_modules/@koishijs/core": {
"version": "4.10.6",
"resolved": "https://registry.npmjs.org/@koishijs/core/-/core-4.10.6.tgz",
"integrity": "sha512-5rOr40u41SZzCvQObqGf2DANakFWWRvDditZG+0Z1/zczX6o+UJy9TXZUHEpTMfvMMEG7+DNECPZz8F6X8drLw==",
"version": "4.10.10",
"resolved": "https://registry.npmjs.org/@koishijs/core/-/core-4.10.10.tgz",
"integrity": "sha512-LooBZCQSm91TL7aBBECjaFaROn+udCAavOwi+AWzbFPBfcuF4ZHFGpQ112yWK70xbQ7YhHUueueqJpkAGOy4RA==",
"peer": true,
"dependencies": {
"@koishijs/utils": "^6.3.4",
"@minatojs/core": "^2.0.3",
"@satorijs/core": "^1.4.10",
"@satorijs/core": "^1.4.11",
"cordis": "^2.6.0",
"cosmokit": "^1.3.6",
"fastest-levenshtein": "^1.0.16"
......@@ -1188,12 +1188,12 @@
}
},
"node_modules/@satorijs/core": {
"version": "1.4.10",
"resolved": "https://registry.npmjs.org/@satorijs/core/-/core-1.4.10.tgz",
"integrity": "sha512-eTHYuoW6KAh6Fko874b9/50hq+CGD2FMFTT2K2htNdMFhKdGYkum3vpqmudPlThCefH4608rR5jU1vsebsKTrQ==",
"version": "1.4.11",
"resolved": "https://registry.npmjs.org/@satorijs/core/-/core-1.4.11.tgz",
"integrity": "sha512-8EsVA5esShEqYMwwXipGwx7obwVb3Lc0NwBmjZWNj2++WYKYg+jQ0Iatgd2jcJhNX2H9ziqnwu05aHtWo+mSsA==",
"peer": true,
"dependencies": {
"@satorijs/element": "^2.2.1",
"@satorijs/element": "^2.2.2",
"cordis": "^2.6.0",
"cordis-axios": "^2.1.6",
"cosmokit": "^1.3.6",
......@@ -1203,29 +1203,29 @@
}
},
"node_modules/@satorijs/element": {
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/@satorijs/element/-/element-2.2.1.tgz",
"integrity": "sha512-4oINBNinlxUQL+lsGKkGYgITNSGRfDeUUmE2lzHYbg/WSVg2eK11pNHtwGbud0KxnmNG687NxyF9czgd7t/4hg==",
"version": "2.2.2",
"resolved": "https://registry.npmjs.org/@satorijs/element/-/element-2.2.2.tgz",
"integrity": "sha512-t6K0weO+GwqHhP/C9GTchck0jDk8c63kiAr9hHEVQX3nx/+fjGquTDGzBc4WzOVc105wePWRvV1UtvRaa0I9FQ==",
"peer": true,
"dependencies": {
"cosmokit": "^1.3.6"
}
},
"node_modules/@satorijs/satori": {
"version": "1.4.10",
"resolved": "https://registry.npmjs.org/@satorijs/satori/-/satori-1.4.10.tgz",
"integrity": "sha512-6rT02tmMyv/Tw0o9xaCH+uW8c947LcvLI2pDD/RG01X+hyh8OfGbeAK59GtKcIY9lnA3Rma7jCIB7dkMjPpt0w==",
"version": "1.4.11",
"resolved": "https://registry.npmjs.org/@satorijs/satori/-/satori-1.4.11.tgz",
"integrity": "sha512-nQHch/Ya1ClsNO9anJYfNnpiMFHCc1ihxdWuVKKpGOXRxuGMOtnbkB/Qa+NuBT+887E2NsFfTBoFgt8vuExxew==",
"peer": true,
"dependencies": {
"@koa/router": "^10.1.1",
"@satorijs/core": "1.4.10",
"@satorijs/core": "1.4.11",
"@types/koa": "*",
"@types/koa__router": "*",
"@types/ws": "^8.5.3",
"agent-base": "^6.0.2",
"http-proxy-agent": "^5.0.0",
"https-proxy-agent": "^5.0.1",
"koa": "^2.13.4",
"koa": "^2.14.1",
"koa-bodyparser": "^4.3.0",
"parseurl": "^1.3.3",
"path-to-regexp": "^6.2.1",
......@@ -4561,14 +4561,14 @@
}
},
"node_modules/koishi": {
"version": "4.10.6",
"resolved": "https://registry.npmjs.org/koishi/-/koishi-4.10.6.tgz",
"integrity": "sha512-s/VDoMKihMsjodSU9Vhs1Kkk3psQ6/sNx7MNuxAFo5KsXIJOgAQnJ+5TZxiqyGgxNT7NVNB4RHdQVDkYydbG1Q==",
"version": "4.10.10",
"resolved": "https://registry.npmjs.org/koishi/-/koishi-4.10.10.tgz",
"integrity": "sha512-92VxR/7AL8l2eyd0MOWi5Nc/nLe2lX9ftglsMkqHvvImFkQma+2kSuexuxVLjcDmkAL6LWI27VxyuUH35jl5PQ==",
"peer": true,
"dependencies": {
"@koishijs/core": "^4.10.6",
"@koishijs/core": "^4.10.10",
"@koishijs/utils": "^6.3.4",
"@satorijs/satori": "^1.4.10",
"@satorijs/satori": "^1.4.11",
"file-type": "^16.5.4",
"ns-require": "^1.1.4"
},
......@@ -7237,14 +7237,14 @@
}
},
"@koishijs/core": {
"version": "4.10.6",
"resolved": "https://registry.npmjs.org/@koishijs/core/-/core-4.10.6.tgz",
"integrity": "sha512-5rOr40u41SZzCvQObqGf2DANakFWWRvDditZG+0Z1/zczX6o+UJy9TXZUHEpTMfvMMEG7+DNECPZz8F6X8drLw==",
"version": "4.10.10",
"resolved": "https://registry.npmjs.org/@koishijs/core/-/core-4.10.10.tgz",
"integrity": "sha512-LooBZCQSm91TL7aBBECjaFaROn+udCAavOwi+AWzbFPBfcuF4ZHFGpQ112yWK70xbQ7YhHUueueqJpkAGOy4RA==",
"peer": true,
"requires": {
"@koishijs/utils": "^6.3.4",
"@minatojs/core": "^2.0.3",
"@satorijs/core": "^1.4.10",
"@satorijs/core": "^1.4.11",
"cordis": "^2.6.0",
"cosmokit": "^1.3.6",
"fastest-levenshtein": "^1.0.16"
......@@ -7307,12 +7307,12 @@
}
},
"@satorijs/core": {
"version": "1.4.10",
"resolved": "https://registry.npmjs.org/@satorijs/core/-/core-1.4.10.tgz",
"integrity": "sha512-eTHYuoW6KAh6Fko874b9/50hq+CGD2FMFTT2K2htNdMFhKdGYkum3vpqmudPlThCefH4608rR5jU1vsebsKTrQ==",
"version": "1.4.11",
"resolved": "https://registry.npmjs.org/@satorijs/core/-/core-1.4.11.tgz",
"integrity": "sha512-8EsVA5esShEqYMwwXipGwx7obwVb3Lc0NwBmjZWNj2++WYKYg+jQ0Iatgd2jcJhNX2H9ziqnwu05aHtWo+mSsA==",
"peer": true,
"requires": {
"@satorijs/element": "^2.2.1",
"@satorijs/element": "^2.2.2",
"cordis": "^2.6.0",
"cordis-axios": "^2.1.6",
"cosmokit": "^1.3.6",
......@@ -7322,29 +7322,29 @@
}
},
"@satorijs/element": {
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/@satorijs/element/-/element-2.2.1.tgz",
"integrity": "sha512-4oINBNinlxUQL+lsGKkGYgITNSGRfDeUUmE2lzHYbg/WSVg2eK11pNHtwGbud0KxnmNG687NxyF9czgd7t/4hg==",
"version": "2.2.2",
"resolved": "https://registry.npmjs.org/@satorijs/element/-/element-2.2.2.tgz",
"integrity": "sha512-t6K0weO+GwqHhP/C9GTchck0jDk8c63kiAr9hHEVQX3nx/+fjGquTDGzBc4WzOVc105wePWRvV1UtvRaa0I9FQ==",
"peer": true,
"requires": {
"cosmokit": "^1.3.6"
}
},
"@satorijs/satori": {
"version": "1.4.10",
"resolved": "https://registry.npmjs.org/@satorijs/satori/-/satori-1.4.10.tgz",
"integrity": "sha512-6rT02tmMyv/Tw0o9xaCH+uW8c947LcvLI2pDD/RG01X+hyh8OfGbeAK59GtKcIY9lnA3Rma7jCIB7dkMjPpt0w==",
"version": "1.4.11",
"resolved": "https://registry.npmjs.org/@satorijs/satori/-/satori-1.4.11.tgz",
"integrity": "sha512-nQHch/Ya1ClsNO9anJYfNnpiMFHCc1ihxdWuVKKpGOXRxuGMOtnbkB/Qa+NuBT+887E2NsFfTBoFgt8vuExxew==",
"peer": true,
"requires": {
"@koa/router": "^10.1.1",
"@satorijs/core": "1.4.10",
"@satorijs/core": "1.4.11",
"@types/koa": "*",
"@types/koa__router": "*",
"@types/ws": "^8.5.3",
"agent-base": "^6.0.2",
"http-proxy-agent": "^5.0.0",
"https-proxy-agent": "^5.0.1",
"koa": "^2.13.4",
"koa": "^2.14.1",
"koa-bodyparser": "^4.3.0",
"parseurl": "^1.3.3",
"path-to-regexp": "^6.2.1",
......@@ -9887,14 +9887,14 @@
}
},
"koishi": {
"version": "4.10.6",
"resolved": "https://registry.npmjs.org/koishi/-/koishi-4.10.6.tgz",
"integrity": "sha512-s/VDoMKihMsjodSU9Vhs1Kkk3psQ6/sNx7MNuxAFo5KsXIJOgAQnJ+5TZxiqyGgxNT7NVNB4RHdQVDkYydbG1Q==",
"version": "4.10.10",
"resolved": "https://registry.npmjs.org/koishi/-/koishi-4.10.10.tgz",
"integrity": "sha512-92VxR/7AL8l2eyd0MOWi5Nc/nLe2lX9ftglsMkqHvvImFkQma+2kSuexuxVLjcDmkAL6LWI27VxyuUH35jl5PQ==",
"peer": true,
"requires": {
"@koishijs/core": "^4.10.6",
"@koishijs/core": "^4.10.10",
"@koishijs/utils": "^6.3.4",
"@satorijs/satori": "^1.4.10",
"@satorijs/satori": "^1.4.11",
"file-type": "^16.5.4",
"ns-require": "^1.1.4"
}
......
......@@ -69,6 +69,6 @@
"testEnvironment": "node"
},
"peerDependencies": {
"koishi": "^4.10.6"
"koishi": "^4.10.10"
}
}
......@@ -24,6 +24,7 @@ export const {
UseMiddleware,
UsePreset,
UseInterval,
UseComponent,
} = methodDecorators;
export function UseCommand<D extends string>(
......
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 {
CommandConfigExtended,
......@@ -161,6 +169,15 @@ export class KoishiRegistrar extends SatoriRegistrar<Context> {
({ ctx }, fun: (...args: any[]) => any, interval: number) =>
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