Commit 8a4b3444 authored by nanahira's avatar nanahira

adapt

parent e8576e22
......@@ -30,7 +30,7 @@
"eslint-config-prettier": "^8.3.0",
"eslint-plugin-prettier": "^3.4.1",
"express": "^4.17.1",
"koishi": "^4.0.0-alpha.12",
"koishi": "^4.0.0-beta.0",
"prettier": "^2.4.1",
"reflect-metadata": "^0.1.13",
"rxjs": "^7.4.0",
......@@ -219,12 +219,12 @@
"dev": true
},
"node_modules/@koishijs/core": {
"version": "4.0.0-alpha.11",
"resolved": "https://registry.npmjs.org/@koishijs/core/-/core-4.0.0-alpha.11.tgz",
"integrity": "sha512-nN9NJi83/vcfX0w20C1CulBMImhAgrts7YwYPivHDKORq7zq+c76fVPVx5IoTsmavqGpaQ75hHDlua70ZOl7BA==",
"version": "4.0.0-beta.0",
"resolved": "https://registry.npmjs.org/@koishijs/core/-/core-4.0.0-beta.0.tgz",
"integrity": "sha512-G40ePYqygU5BUxW62CuqrHF9cK8qfX3Vjcc0k4r92rnGAN6qyxhQY8LMx7ZMBpZmk91x0J+FY7C6KuSIu7smJQ==",
"dev": true,
"dependencies": {
"@koishijs/utils": "^5.0.0-alpha.7",
"@koishijs/utils": "^5.0.0-beta.0",
"fastest-levenshtein": "^1.0.12"
},
"engines": {
......@@ -232,21 +232,21 @@
}
},
"node_modules/@koishijs/plugin-cache-lru": {
"version": "1.0.0-alpha.2",
"resolved": "https://registry.npmjs.org/@koishijs/plugin-cache-lru/-/plugin-cache-lru-1.0.0-alpha.2.tgz",
"integrity": "sha512-OthEMPDLEvFeJ7KPj8Wv/FlZUzAhDUMxb8rSZhZdLlLfSavK7q0HcjiTxCdLgmv7Er7Qg5Zb14YFH6ym9XIe3Q==",
"version": "1.0.0-beta.0",
"resolved": "https://registry.npmjs.org/@koishijs/plugin-cache-lru/-/plugin-cache-lru-1.0.0-beta.0.tgz",
"integrity": "sha512-YhsF2FeBs8/LhGy3VO9pe5JkLAXJ6O40fyoppqLbM99B5ywUavJ4UG/0WidiyQrYZQoz0oB0YWFKEt/Xkn/e/g==",
"dev": true,
"dependencies": {
"lru-cache": "^6.0.0"
},
"peerDependencies": {
"koishi": "^4.0.0-alpha.12"
"koishi": "^4.0.0-beta.0"
}
},
"node_modules/@koishijs/utils": {
"version": "5.0.0-alpha.7",
"resolved": "https://registry.npmjs.org/@koishijs/utils/-/utils-5.0.0-alpha.7.tgz",
"integrity": "sha512-+1kwdQVq5raRZT/5vgWtBPj1PidtDHXmvP2ksIFikW7qSquddpgopQN4l0IfbjJGOz+Bb8oYGcyqLjQf+FpQRQ==",
"version": "5.0.0-beta.0",
"resolved": "https://registry.npmjs.org/@koishijs/utils/-/utils-5.0.0-beta.0.tgz",
"integrity": "sha512-/FsfumbtI1rMRqZ2djzAgdVGFg3KFrF6ATvqhgsDf3y3EMWY7bs/y9VkpNNMPf+wk//+kBSALk5+xp7XcszqNQ==",
"dev": true,
"dependencies": {
"supports-color": "^8.1.0"
......@@ -2532,15 +2532,15 @@
}
},
"node_modules/koishi": {
"version": "4.0.0-alpha.12",
"resolved": "https://registry.npmjs.org/koishi/-/koishi-4.0.0-alpha.12.tgz",
"integrity": "sha512-MT2avgFNrjScgAZhTVbmxZHQ38y6Vs3ibJ2nDuopfl04D9+GTRSoeUiBIxJXOFjauUkLGpJRaSrlX8uOatHFOA==",
"version": "4.0.0-beta.0",
"resolved": "https://registry.npmjs.org/koishi/-/koishi-4.0.0-beta.0.tgz",
"integrity": "sha512-WtQ2oMREo/ZJKDceSDhz4X15EHJM9O9yXzDZaihchdRJUa95xkt5rVN1RwtRlLdBcahLbZdHyfgmArEuyR8kUw==",
"dev": true,
"dependencies": {
"@koa/router": "^10.1.1",
"@koishijs/core": "^4.0.0-alpha.11",
"@koishijs/plugin-cache-lru": "^1.0.0-alpha.2",
"@koishijs/utils": "^5.0.0-alpha.7",
"@koishijs/core": "^4.0.0-beta.0",
"@koishijs/plugin-cache-lru": "^1.0.0-beta.0",
"@koishijs/utils": "^5.0.0-beta.0",
"@types/koa": "*",
"@types/koa__router": "*",
"@types/ws": "^7.4.7",
......@@ -3933,28 +3933,28 @@
}
},
"@koishijs/core": {
"version": "4.0.0-alpha.11",
"resolved": "https://registry.npmjs.org/@koishijs/core/-/core-4.0.0-alpha.11.tgz",
"integrity": "sha512-nN9NJi83/vcfX0w20C1CulBMImhAgrts7YwYPivHDKORq7zq+c76fVPVx5IoTsmavqGpaQ75hHDlua70ZOl7BA==",
"version": "4.0.0-beta.0",
"resolved": "https://registry.npmjs.org/@koishijs/core/-/core-4.0.0-beta.0.tgz",
"integrity": "sha512-G40ePYqygU5BUxW62CuqrHF9cK8qfX3Vjcc0k4r92rnGAN6qyxhQY8LMx7ZMBpZmk91x0J+FY7C6KuSIu7smJQ==",
"dev": true,
"requires": {
"@koishijs/utils": "^5.0.0-alpha.7",
"@koishijs/utils": "^5.0.0-beta.0",
"fastest-levenshtein": "^1.0.12"
}
},
"@koishijs/plugin-cache-lru": {
"version": "1.0.0-alpha.2",
"resolved": "https://registry.npmjs.org/@koishijs/plugin-cache-lru/-/plugin-cache-lru-1.0.0-alpha.2.tgz",
"integrity": "sha512-OthEMPDLEvFeJ7KPj8Wv/FlZUzAhDUMxb8rSZhZdLlLfSavK7q0HcjiTxCdLgmv7Er7Qg5Zb14YFH6ym9XIe3Q==",
"version": "1.0.0-beta.0",
"resolved": "https://registry.npmjs.org/@koishijs/plugin-cache-lru/-/plugin-cache-lru-1.0.0-beta.0.tgz",
"integrity": "sha512-YhsF2FeBs8/LhGy3VO9pe5JkLAXJ6O40fyoppqLbM99B5ywUavJ4UG/0WidiyQrYZQoz0oB0YWFKEt/Xkn/e/g==",
"dev": true,
"requires": {
"lru-cache": "^6.0.0"
}
},
"@koishijs/utils": {
"version": "5.0.0-alpha.7",
"resolved": "https://registry.npmjs.org/@koishijs/utils/-/utils-5.0.0-alpha.7.tgz",
"integrity": "sha512-+1kwdQVq5raRZT/5vgWtBPj1PidtDHXmvP2ksIFikW7qSquddpgopQN4l0IfbjJGOz+Bb8oYGcyqLjQf+FpQRQ==",
"version": "5.0.0-beta.0",
"resolved": "https://registry.npmjs.org/@koishijs/utils/-/utils-5.0.0-beta.0.tgz",
"integrity": "sha512-/FsfumbtI1rMRqZ2djzAgdVGFg3KFrF6ATvqhgsDf3y3EMWY7bs/y9VkpNNMPf+wk//+kBSALk5+xp7XcszqNQ==",
"dev": true,
"requires": {
"supports-color": "^8.1.0"
......@@ -5687,15 +5687,15 @@
}
},
"koishi": {
"version": "4.0.0-alpha.12",
"resolved": "https://registry.npmjs.org/koishi/-/koishi-4.0.0-alpha.12.tgz",
"integrity": "sha512-MT2avgFNrjScgAZhTVbmxZHQ38y6Vs3ibJ2nDuopfl04D9+GTRSoeUiBIxJXOFjauUkLGpJRaSrlX8uOatHFOA==",
"version": "4.0.0-beta.0",
"resolved": "https://registry.npmjs.org/koishi/-/koishi-4.0.0-beta.0.tgz",
"integrity": "sha512-WtQ2oMREo/ZJKDceSDhz4X15EHJM9O9yXzDZaihchdRJUa95xkt5rVN1RwtRlLdBcahLbZdHyfgmArEuyR8kUw==",
"dev": true,
"requires": {
"@koa/router": "^10.1.1",
"@koishijs/core": "^4.0.0-alpha.11",
"@koishijs/plugin-cache-lru": "^1.0.0-alpha.2",
"@koishijs/utils": "^5.0.0-alpha.7",
"@koishijs/core": "^4.0.0-beta.0",
"@koishijs/plugin-cache-lru": "^1.0.0-beta.0",
"@koishijs/utils": "^5.0.0-beta.0",
"@types/koa": "*",
"@types/koa__router": "*",
"@types/ws": "^7.4.7",
......
......@@ -32,7 +32,7 @@
"peerDependencies": {
"@nestjs/common": "^8.0.0",
"@nestjs/core": "^8.0.0",
"koishi": "^4.0.0-alpha.12",
"koishi": "^4.0.0-beta.0",
"reflect-metadata": "^0.1.13",
"rxjs": "^7.4.0"
},
......@@ -49,7 +49,7 @@
"eslint-config-prettier": "^8.3.0",
"eslint-plugin-prettier": "^3.4.1",
"express": "^4.17.1",
"koishi": "^4.0.0-alpha.12",
"koishi": "^4.0.0-beta.0",
"prettier": "^2.4.1",
"reflect-metadata": "^0.1.13",
"rxjs": "^7.4.0",
......
......@@ -23,7 +23,8 @@ import { Filter, ReplacedContext } from './utility/replaced-context';
@Injectable()
export class KoishiService
extends App
implements OnModuleInit, OnApplicationBootstrap, OnModuleDestroy {
implements OnModuleInit, OnApplicationBootstrap, OnModuleDestroy
{
private readonly globalInterceptors: KoishiCommandInterceptorRegistration[];
constructor(
@Inject(KOISHI_MODULE_OPTIONS)
......
......@@ -209,7 +209,7 @@ export class KoishiMetascanService {
}
break;
default:
throw new Error(`Unknown operaton type ${regData.type}`);
throw new Error(`Unknown operation type ${regData.type}`);
}
}
......
......@@ -10,7 +10,8 @@ import { IncomingMessage } from 'http';
@WebSocketGateway()
export class KoishiWebsocketGateway
implements OnGatewayInit, OnGatewayConnection {
implements OnGatewayInit, OnGatewayConnection
{
constructor(private readonly koishi: KoishiService) {}
@WebSocketServer()
......
......@@ -54,7 +54,7 @@ export const InjectContextUser = (...values: string[]) =>
export function TransformMetadata<
K extends MetadataKey,
VM extends Partial<MetadataGenericMap> = MetadataGenericMap
VM extends Partial<MetadataGenericMap> = MetadataGenericMap,
>(
metadataKey: K,
metadataValueFun: (oldValue: VM[K]) => VM[K],
......
......@@ -8,6 +8,7 @@ import {
EventMap,
FieldCollector,
MaybeArray,
Modules,
Plugin,
Session,
User,
......@@ -38,14 +39,21 @@ export interface ContextSelector {
useSelector?: OnContextFunction;
}
export interface KoishiModulePlugin<T extends Plugin> extends ContextSelector {
export type KoishiPluginOptions<T extends Plugin | keyof Modules> =
| boolean
| (T extends keyof Modules
? Plugin.ModuleConfig<Modules[T]>
: Plugin.Config<T>);
export interface KoishiModulePlugin<T extends Plugin | keyof Modules>
extends ContextSelector {
plugin: T;
options?: boolean | Plugin.Config<T>;
options?: boolean | KoishiPluginOptions<T>;
}
export function PluginDef<T extends Plugin>(
export function PluginDef<T extends Plugin | keyof Modules>(
plugin: T,
options?: boolean | Plugin.Config<T>,
options?: KoishiPluginOptions<T>,
select?: Selection,
): KoishiModulePlugin<T> {
return { plugin, options, select };
......@@ -103,7 +111,7 @@ export interface DoRegisterConfigDataMap {
export interface MappingStruct<
T extends Record<string | number | symbol, any>,
K extends keyof T
K extends keyof T,
> {
type: K;
data?: T[K];
......@@ -111,7 +119,7 @@ export interface MappingStruct<
export function GenerateMappingStruct<
T extends Record<string | number | symbol, any>,
K extends keyof T
K extends keyof T,
>(type: K, data?: T[K]): MappingStruct<T, K> {
return {
type,
......@@ -120,7 +128,7 @@ export function GenerateMappingStruct<
}
export type DoRegisterConfig<
K extends keyof DoRegisterConfigDataMap = keyof DoRegisterConfigDataMap
K extends keyof DoRegisterConfigDataMap = keyof DoRegisterConfigDataMap,
> = MappingStruct<DoRegisterConfigDataMap, K>;
// Command stuff
......@@ -150,7 +158,7 @@ export interface CommandPutConfigMap {
}
export type CommandPutConfig<
K extends keyof CommandPutConfigMap = keyof CommandPutConfigMap
K extends keyof CommandPutConfigMap = keyof CommandPutConfigMap,
> = MappingStruct<CommandPutConfigMap, K>;
export type CommandDefinitionFun = (cmd: Command) => Command;
......@@ -162,19 +170,17 @@ export type MetadataArrayValueMap = {
export type MetadataGenericMap = MetadataArrayValueMap & MetadataMap;
export type MetadataArrayValue<
K extends keyof MetadataArrayValueMap
> = MetadataArrayValueMap[K];
export type MetadataArrayValue<K extends keyof MetadataArrayValueMap> =
MetadataArrayValueMap[K];
export type MetadataKey = keyof MetadataArrayMap | keyof MetadataMap;
export type MetadataMapValue<
K extends MetadataKey
> = K extends keyof MetadataArrayValueMap
? MetadataArrayValue<K>
: K extends keyof MetadataMap
? MetadataMap[K]
: never;
export type MetadataMapValue<K extends MetadataKey> =
K extends keyof MetadataArrayValueMap
? MetadataArrayValue<K>
: K extends keyof MetadataMap
? MetadataMap[K]
: never;
// command interceptor
......@@ -182,7 +188,7 @@ export interface KoishiCommandInterceptor<
U extends User.Field = never,
G extends Channel.Field = never,
A extends any[] = any[],
O extends {} = {}
O extends {} = {},
> {
intercept: Command.Action<U, G, A, O>;
}
......@@ -191,7 +197,7 @@ export type KoishiCommandInterceptorRegistration<
U extends User.Field = never,
G extends Channel.Field = never,
A extends any[] = any[],
O extends {} = {}
O extends {} = {},
> =
| KoishiCommandInterceptor<U, G, A, O>
| Type<KoishiCommandInterceptor<U, G, A, O>>
......
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