@koishijs/core
Advanced tools
Comparing version 4.11.0 to 4.11.1
@@ -5,4 +5,4 @@ /// <reference types="node" /> | ||
import { Dict, Awaitable, Promisify } from 'cosmokit'; | ||
import { Fragment, Context, Render, Session, Schema, segment, Events, Logger } from '@satorijs/core'; | ||
import { Database, Driver, Update } from '@minatojs/core'; | ||
import { Fragment, Context, Session, Schema, Events, Logger } from '@satorijs/core'; | ||
import { Database, Driver, Update, Eval } from '@minatojs/core'; | ||
import { Disposable, GetEvents, Parameters, ReturnType, ThisType } from 'cordis'; | ||
@@ -13,3 +13,3 @@ import { version } from '../package.json'; | ||
getGuildMemberMap(guildId: string): Promise<Dict<string>>; | ||
broadcast(channels: (string | [string, string])[], content: Fragment, delay?: number): Promise<string[]>; | ||
broadcast(channels: (string | [string, string] | Session)[], content: Fragment, delay?: number): Promise<string[]>; | ||
} | ||
@@ -88,4 +88,3 @@ interface Events { | ||
interface Context { | ||
$internal: Internal; | ||
component(name: string, component: Component, options?: Component.Options): () => boolean; | ||
$internal: Processor; | ||
middleware(middleware: Middleware, prepend?: boolean): () => boolean; | ||
@@ -109,8 +108,2 @@ match(pattern: string | RegExp, response: Fragment, options?: Matcher.Options & { | ||
} | ||
export type Component = Render<Awaitable<Fragment>, Session>; | ||
export namespace Component { | ||
interface Options { | ||
passive?: boolean; | ||
} | ||
} | ||
export class SessionError extends Error { | ||
@@ -142,3 +135,3 @@ path: string | string[]; | ||
} | ||
export namespace Internal { | ||
export namespace Processor { | ||
interface Config { | ||
@@ -149,3 +142,3 @@ nickname?: string | string[]; | ||
} | ||
export class Internal { | ||
export class Processor { | ||
private ctx; | ||
@@ -159,8 +152,6 @@ private config; | ||
_channelCache: SharedCache<Channel.Observed<any>>; | ||
_components: Dict<Component>; | ||
_matchers: Set<Matcher>; | ||
constructor(ctx: Context, config: Internal.Config); | ||
constructor(ctx: Context, config: Processor.Config); | ||
protected get caller(): Context; | ||
middleware(middleware: Middleware, prepend?: boolean): any; | ||
component(name: string, component: Component, options?: Component.Options): () => boolean; | ||
match(pattern: string | RegExp, response: Matcher.Response, options: Matcher.Options): () => boolean; | ||
@@ -476,3 +467,2 @@ private _executeMatcher; | ||
interface Session<U extends User.Field = never, G extends Channel.Field = never> { | ||
locale?: string; | ||
argv?: Argv<U, G>; | ||
@@ -488,3 +478,3 @@ user?: User.Observed<U>; | ||
sendQueued(content: Fragment, delay?: number): Promise<string[]>; | ||
resolveValue<T, R extends any[]>(source: T | ((session: Session, ...args: R) => T), ...args: R): T; | ||
resolve<T, R extends any[]>(source: T | Eval.Expr | ((session: Session, ...args: R) => T), ...args: R): T extends Eval.Expr ? Eval<T> : T extends (...args: any[]) => any ? ReturnType<T> : T; | ||
getChannel<K extends Channel.Field = never>(id?: string, fields?: K[]): Promise<Channel>; | ||
@@ -498,3 +488,3 @@ observeChannel<T extends Channel.Field = never>(fields?: Iterable<T>): Promise<Channel.Observed<T | G>>; | ||
inferCommand(argv: Argv): Command; | ||
resolve(argv: Argv): Command; | ||
resolveCommand(argv: Argv): Command; | ||
execute(content: string, next?: true | Next): Promise<string>; | ||
@@ -506,3 +496,2 @@ execute(argv: Argv, next?: true | Next): Promise<string>; | ||
suggest(options: SuggestOptions): Promise<string>; | ||
transform(elements: segment[]): Promise<segment[]>; | ||
response?: () => Promise<Fragment>; | ||
@@ -512,2 +501,3 @@ } | ||
interface Private extends Session { | ||
[Context.filter](ctx: Context): boolean; | ||
_queuedTasks: Task[]; | ||
@@ -518,2 +508,5 @@ _queuedTimeout: NodeJS.Timeout; | ||
} | ||
interface Payload { | ||
locale?: string; | ||
} | ||
} | ||
@@ -601,4 +594,39 @@ } | ||
export function defineConfig(config: Context.Config): Context.Config; | ||
export type Filter = (session: Session) => boolean; | ||
declare module '@satorijs/core' { | ||
interface Context { | ||
$filter: FilterService; | ||
filter: Filter; | ||
any(): this; | ||
never(): this; | ||
union(arg: Filter | this): this; | ||
intersect(arg: Filter | this): this; | ||
exclude(arg: Filter | this): this; | ||
user(...values: string[]): this; | ||
self(...values: string[]): this; | ||
guild(...values: string[]): this; | ||
channel(...values: string[]): this; | ||
platform(...values: string[]): this; | ||
private(...values: string[]): this; | ||
} | ||
} | ||
export class FilterService { | ||
private app; | ||
static readonly methods: string[]; | ||
constructor(app: Context); | ||
protected get caller(): Context; | ||
any(): Context; | ||
never(): Context; | ||
union(arg: Filter | Context): Context; | ||
intersect(arg: Filter | Context): Context; | ||
exclude(arg: Filter | Context): Context; | ||
user(...values: string[]): Context; | ||
self(...values: string[]): Context; | ||
guild(...values: string[]): Context; | ||
channel(...values: string[]): Context; | ||
platform(...values: string[]): Context; | ||
private(...values: string[]): Context; | ||
} | ||
declare module '@satorijs/core' { | ||
interface Context { | ||
/** @deprecated use `ctx.root` instead */ | ||
@@ -605,0 +633,0 @@ app: Context; |
{ | ||
"name": "@koishijs/core", | ||
"description": "Core Features for Koishi", | ||
"version": "4.11.0", | ||
"version": "4.11.1", | ||
"main": "lib/index.cjs", | ||
@@ -34,4 +34,4 @@ "module": "lib/index.mjs", | ||
"@koishijs/utils": "^6.4.0", | ||
"@minatojs/core": "^2.1.0", | ||
"@satorijs/core": "^1.5.2", | ||
"@minatojs/core": "^2.1.1", | ||
"@satorijs/core": "^2.0.1", | ||
"cordis": "^2.6.0", | ||
@@ -38,0 +38,0 @@ "cosmokit": "^1.4.0", |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
493637
5062
+ Added@satorijs/core@2.7.4(transitive)
+ Addedaxios@1.8.1(transitive)
+ Addedcordis-axios@3.3.2(transitive)
- Removed@satorijs/core@1.5.2(transitive)
- Removedaxios@1.1.3(transitive)
- Removedcordis-axios@2.2.1(transitive)
Updated@minatojs/core@^2.1.1
Updated@satorijs/core@^2.0.1