Commit 9f15d030 authored by nanahira's avatar nanahira

bump

parent 6da18949
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
"version": "1.0.0", "version": "1.0.0",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"cordis-decorators": "^1.0.6", "cordis-decorators": "^1.0.7",
"lodash": "^4.17.21" "lodash": "^4.17.21"
}, },
"devDependencies": { "devDependencies": {
...@@ -2260,9 +2260,9 @@ ...@@ -2260,9 +2260,9 @@
} }
}, },
"node_modules/cordis-decorators": { "node_modules/cordis-decorators": {
"version": "1.0.6", "version": "1.0.7",
"resolved": "https://registry.npmjs.org/cordis-decorators/-/cordis-decorators-1.0.6.tgz", "resolved": "https://registry.npmjs.org/cordis-decorators/-/cordis-decorators-1.0.7.tgz",
"integrity": "sha512-xiuzlLrkvGIAG6Y3owXuQk5jRqBGXULHSslg2pL4/6arGm5CQkfqXb5otZEHzfDj+EpByBRlhUoNIHGvhVEUyg==", "integrity": "sha512-8EWWWhMbNNLajrKlQN7qr6gtMRU56bXott3Ee0Bve0yumvx/a/1m7sMxh+isZR76SvOEB60eCVxPn3uNYV0ycQ==",
"dependencies": { "dependencies": {
"lodash": "^4.17.21", "lodash": "^4.17.21",
"mustache": "^4.2.0", "mustache": "^4.2.0",
...@@ -7997,9 +7997,9 @@ ...@@ -7997,9 +7997,9 @@
} }
}, },
"cordis-decorators": { "cordis-decorators": {
"version": "1.0.6", "version": "1.0.7",
"resolved": "https://registry.npmjs.org/cordis-decorators/-/cordis-decorators-1.0.6.tgz", "resolved": "https://registry.npmjs.org/cordis-decorators/-/cordis-decorators-1.0.7.tgz",
"integrity": "sha512-xiuzlLrkvGIAG6Y3owXuQk5jRqBGXULHSslg2pL4/6arGm5CQkfqXb5otZEHzfDj+EpByBRlhUoNIHGvhVEUyg==", "integrity": "sha512-8EWWWhMbNNLajrKlQN7qr6gtMRU56bXott3Ee0Bve0yumvx/a/1m7sMxh+isZR76SvOEB60eCVxPn3uNYV0ycQ==",
"requires": { "requires": {
"lodash": "^4.17.21", "lodash": "^4.17.21",
"mustache": "^4.2.0", "mustache": "^4.2.0",
......
...@@ -57,7 +57,7 @@ ...@@ -57,7 +57,7 @@
"@satorijs/satori": "^1.0.3" "@satorijs/satori": "^1.0.3"
}, },
"dependencies": { "dependencies": {
"cordis-decorators": "^1.0.6", "cordis-decorators": "^1.0.7",
"lodash": "^4.17.21" "lodash": "^4.17.21"
} }
} }
...@@ -9,31 +9,20 @@ import PluginClass = PluginRegistrar.PluginClass; ...@@ -9,31 +9,20 @@ import PluginClass = PluginRegistrar.PluginClass;
import { Context, Dict } from '@satorijs/satori'; import { Context, Dict } from '@satorijs/satori';
import { defaultRegistrarS } from '../registrar'; import { defaultRegistrarS } from '../registrar';
import { ClonePlugin } from '../utility/clone-plugin'; import { ClonePlugin } from '../utility/clone-plugin';
import ClassPluginConfig = PluginRegistrar.ClassPluginConfig;
export type ClassPluginConfig<
Ctx extends Context,
P extends PluginClass<Ctx>,
> = P extends PluginClass<Ctx, infer C> ? C : never;
export type ExactClassPluginConfig<
Ctx extends Context,
P extends PluginClass<Ctx>,
> = P extends PluginClass<Ctx, any, { config: infer IC }>
? IC
: ClassPluginConfig<Ctx, P>;
export type MapPluginToConfig< export type MapPluginToConfig<
Ctx extends Context, Ctx extends Context,
M extends Dict<PluginClass<Ctx>>, M extends Dict<PluginClass<Ctx>>,
> = { > = {
[K in keyof M]: ClassPluginConfig<Ctx, M[K]>; [K in keyof M]: ClassPluginConfig<M[K]>;
}; };
export type MapPluginToConfigWithSelection< export type MapPluginToConfigWithSelection<
Ctx extends Context, Ctx extends Context,
M extends Dict<PluginClass<Ctx>>, M extends Dict<PluginClass<Ctx>>,
> = { > = {
[K in keyof M]: ClassPluginConfig<Ctx, M[K]> & Selection; [K in keyof M]: ClassPluginConfig<M[K]> & Selection;
}; };
export class MappingPluginBase< export class MappingPluginBase<
......
...@@ -14,7 +14,7 @@ import { ClonePlugin } from '../utility/clone-plugin'; ...@@ -14,7 +14,7 @@ import { ClonePlugin } from '../utility/clone-plugin';
import PluginClass = PluginRegistrar.PluginClass; import PluginClass = PluginRegistrar.PluginClass;
import { defaultRegistrarS } from '../registrar'; import { defaultRegistrarS } from '../registrar';
import { Context, Schema } from '@satorijs/satori'; import { Context, Schema } from '@satorijs/satori';
import { ClassPluginConfig } from './mapping-base'; import ClassPluginConfig = PluginRegistrar.ClassPluginConfig;
export interface Instances<T> { export interface Instances<T> {
instances: T[]; instances: T[];
...@@ -39,8 +39,8 @@ export class MultiInstancePluginFramework< ...@@ -39,8 +39,8 @@ export class MultiInstancePluginFramework<
InnerPlugin extends PluginClass<Ctx>, InnerPlugin extends PluginClass<Ctx>,
> extends BasePlugin< > extends BasePlugin<
Ctx, Ctx,
Instances<ClassPluginConfig<Ctx, InnerPlugin>>, Instances<ClassPluginConfig<InnerPlugin>>,
Instances<ClassPluginConfig<Ctx, InnerPlugin> & Selection> Instances<ClassPluginConfig<InnerPlugin> & Selection>
> { > {
instances: TypeFromClass<InnerPlugin>[] = []; instances: TypeFromClass<InnerPlugin>[] = [];
...@@ -88,7 +88,7 @@ export function MultiInstancePlugin< ...@@ -88,7 +88,7 @@ export function MultiInstancePlugin<
const schema = ToInstancesConfig( const schema = ToInstancesConfig(
(innerPlugin['Config'] || (innerPlugin['Config'] ||
innerPlugin['schema'] || innerPlugin['schema'] ||
Schema.any()) as ClassType<ClassPluginConfig<Ctx, InnerPlugin>>, Schema.any()) as ClassType<ClassPluginConfig<InnerPlugin>>,
); );
const factory = CreatePluginFactory(basePlugin, schema); const factory = CreatePluginFactory(basePlugin, schema);
......
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