Commit ea9f96aa authored by nanahira's avatar nanahira

catchup

parent 98a7480b
......@@ -13,7 +13,7 @@
"encoded-buffer": "^0.2.6",
"memjs": "^1.3.0",
"moment": "^2.29.1",
"schemastery-gen": "^2.0.0",
"schemastery-gen": "^2.2.4",
"source-map-support": "^0.5.20"
},
"devDependencies": {
......@@ -24,7 +24,7 @@
"eslint": "^7.32.0",
"eslint-config-prettier": "^8.3.0",
"eslint-plugin-prettier": "^3.4.1",
"koishi": "^4.0.0-beta.3",
"koishi": "^4.0.0-beta.4",
"prettier": "^2.4.1",
"raw-loader": "^4.0.2",
"ts-loader": "^9.2.6",
......@@ -33,7 +33,7 @@
"webpack-cli": "^4.9.1"
},
"peerDependencies": {
"koishi": "^4.0.0-beta.3"
"koishi": "^4.0.0-beta.4"
}
},
"node_modules/@babel/code-frame": {
......@@ -214,31 +214,19 @@
}
},
"node_modules/@koishijs/core": {
"version": "4.0.0-beta.3",
"resolved": "https://registry.npmjs.org/@koishijs/core/-/core-4.0.0-beta.3.tgz",
"integrity": "sha512-ZCdjZOQ4yNN49/LdOzHKo61j/S+GwqckM116tXrZYF7gNHRZ5486HFJqJjYDCYO3n2AZvQ4nV6w8OSaoIXIPEQ==",
"version": "4.0.0-beta.4",
"resolved": "https://registry.npmjs.org/@koishijs/core/-/core-4.0.0-beta.4.tgz",
"integrity": "sha512-i+66ZR3mSAIm1pJmC21QID8QhqJDdJ7zmZ8pCn3mPcfZFGiwL8MDMvwuDvG2ceCyILmtzmXwstURrc2tjB+QPg==",
"dev": true,
"dependencies": {
"@koishijs/utils": "^5.0.0-beta.1",
"fastest-levenshtein": "^1.0.12",
"schemastery": "^2.0.0"
"schemastery": "^2.1.0"
},
"engines": {
"node": ">=12.0.0"
}
},
"node_modules/@koishijs/plugin-cache-lru": {
"version": "1.0.0-beta.2",
"resolved": "https://registry.npmjs.org/@koishijs/plugin-cache-lru/-/plugin-cache-lru-1.0.0-beta.2.tgz",
"integrity": "sha512-RkLf6Gb+bvJcfBv9ZtfsEFo7NcCr+buQgiKccllfU5rANvUW5uXlPmjcTmV6AaKAr7fDZsCR3GRusiJtzS7STQ==",
"dev": true,
"dependencies": {
"lru-cache": "^6.0.0"
},
"peerDependencies": {
"koishi": "^4.0.0-beta.3"
}
},
"node_modules/@koishijs/utils": {
"version": "5.0.0-beta.1",
"resolved": "https://registry.npmjs.org/@koishijs/utils/-/utils-5.0.0-beta.1.tgz",
......@@ -2702,14 +2690,13 @@
}
},
"node_modules/koishi": {
"version": "4.0.0-beta.3",
"resolved": "https://registry.npmjs.org/koishi/-/koishi-4.0.0-beta.3.tgz",
"integrity": "sha512-sWTOU4maJnsRU7w8Upw8rBT1aZ0zEfN9Cs02tR2UP7qdmZiRTyrjWWFElaMhmnoj+6nTH7Udihmwb4MwbBimfA==",
"version": "4.0.0-beta.4",
"resolved": "https://registry.npmjs.org/koishi/-/koishi-4.0.0-beta.4.tgz",
"integrity": "sha512-H0ci/bZ+wHDCnNmLFM125RI+cdprz3McJLEbyK43tGsGuf2y13BuFb+j1ovb6FBRuT3SXlDqH+BpVMlCV2ZaVg==",
"dev": true,
"dependencies": {
"@koa/router": "^10.1.1",
"@koishijs/core": "^4.0.0-beta.3",
"@koishijs/plugin-cache-lru": "^1.0.0-beta.2",
"@koishijs/core": "^4.0.0-beta.4",
"@koishijs/utils": "^5.0.0-beta.1",
"@types/koa": "*",
"@types/koa__router": "*",
......@@ -3588,21 +3575,21 @@
}
},
"node_modules/schemastery": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/schemastery/-/schemastery-2.0.0.tgz",
"integrity": "sha512-g628Fvc8cY3Laoyz+v45qZGiClwhTj0MsiGF+tSVlUh+hqYf6kVkTaWdIHNGhfj11h9QzRrs0A4wfvQZuHg3iA=="
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/schemastery/-/schemastery-2.1.0.tgz",
"integrity": "sha512-D5wGNn5lc8GnhTzSl2ClH6RwUB69NMUrIXn6qWJVZSSq1fJtEodL9zXoJUbzoLQlL7rGMuO6entajhZvJY25Tw=="
},
"node_modules/schemastery-gen": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/schemastery-gen/-/schemastery-gen-2.0.0.tgz",
"integrity": "sha512-lTttqIWwNM8nizqUpUvJOERtb+Su4qkNe5Lp0ruINiZlCuN/HBCAOmf+OcdAlWLW8BRAY+xIzf4o1Kl043HVVQ==",
"version": "2.2.4",
"resolved": "https://registry.npmjs.org/schemastery-gen/-/schemastery-gen-2.2.4.tgz",
"integrity": "sha512-WHneTi+RSo28DRMV/Nxspw/Vyv0c2vExBNskxRTdf/Dik6ZTwF4cC5y9eSas+99kctqgxJKBBBcf9vp9mqPYzQ==",
"dependencies": {
"lodash": "^4.17.21",
"reflect-metadata": "^0.1.13",
"typed-reflector": "^1.0.5"
"typed-reflector": "^1.0.8"
},
"peerDependencies": {
"schemastery": "^2.0.0"
"schemastery": "^2.1.0"
}
},
"node_modules/semver": {
......@@ -4086,9 +4073,9 @@
}
},
"node_modules/typed-reflector": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/typed-reflector/-/typed-reflector-1.0.5.tgz",
"integrity": "sha512-uVXjRyfia44NftErLxahyXgXN2C9GhLtFvVnUxdjwU4fRn0dFI+MbqEKy8oYAMdVkC8xRh8xm3r4w/C1aYZMXg==",
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/typed-reflector/-/typed-reflector-1.0.8.tgz",
"integrity": "sha512-Gc2y1jdXpBrRDhTth80ABcmZjL/4Jmx+GrBf7uvn4BXW4J+kj5V3IjA+GQl/n+3ye7SgoEO6HOiDhac1H+mKgw==",
"dependencies": {
"reflect-metadata": "^0.1.13"
}
......@@ -4535,23 +4522,14 @@
}
},
"@koishijs/core": {
"version": "4.0.0-beta.3",
"resolved": "https://registry.npmjs.org/@koishijs/core/-/core-4.0.0-beta.3.tgz",
"integrity": "sha512-ZCdjZOQ4yNN49/LdOzHKo61j/S+GwqckM116tXrZYF7gNHRZ5486HFJqJjYDCYO3n2AZvQ4nV6w8OSaoIXIPEQ==",
"version": "4.0.0-beta.4",
"resolved": "https://registry.npmjs.org/@koishijs/core/-/core-4.0.0-beta.4.tgz",
"integrity": "sha512-i+66ZR3mSAIm1pJmC21QID8QhqJDdJ7zmZ8pCn3mPcfZFGiwL8MDMvwuDvG2ceCyILmtzmXwstURrc2tjB+QPg==",
"dev": true,
"requires": {
"@koishijs/utils": "^5.0.0-beta.1",
"fastest-levenshtein": "^1.0.12",
"schemastery": "^2.0.0"
}
},
"@koishijs/plugin-cache-lru": {
"version": "1.0.0-beta.2",
"resolved": "https://registry.npmjs.org/@koishijs/plugin-cache-lru/-/plugin-cache-lru-1.0.0-beta.2.tgz",
"integrity": "sha512-RkLf6Gb+bvJcfBv9ZtfsEFo7NcCr+buQgiKccllfU5rANvUW5uXlPmjcTmV6AaKAr7fDZsCR3GRusiJtzS7STQ==",
"dev": true,
"requires": {
"lru-cache": "^6.0.0"
"schemastery": "^2.1.0"
}
},
"@koishijs/utils": {
......@@ -6466,14 +6444,13 @@
}
},
"koishi": {
"version": "4.0.0-beta.3",
"resolved": "https://registry.npmjs.org/koishi/-/koishi-4.0.0-beta.3.tgz",
"integrity": "sha512-sWTOU4maJnsRU7w8Upw8rBT1aZ0zEfN9Cs02tR2UP7qdmZiRTyrjWWFElaMhmnoj+6nTH7Udihmwb4MwbBimfA==",
"version": "4.0.0-beta.4",
"resolved": "https://registry.npmjs.org/koishi/-/koishi-4.0.0-beta.4.tgz",
"integrity": "sha512-H0ci/bZ+wHDCnNmLFM125RI+cdprz3McJLEbyK43tGsGuf2y13BuFb+j1ovb6FBRuT3SXlDqH+BpVMlCV2ZaVg==",
"dev": true,
"requires": {
"@koa/router": "^10.1.1",
"@koishijs/core": "^4.0.0-beta.3",
"@koishijs/plugin-cache-lru": "^1.0.0-beta.2",
"@koishijs/core": "^4.0.0-beta.4",
"@koishijs/utils": "^5.0.0-beta.1",
"@types/koa": "*",
"@types/koa__router": "*",
......@@ -7125,18 +7102,18 @@
}
},
"schemastery": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/schemastery/-/schemastery-2.0.0.tgz",
"integrity": "sha512-g628Fvc8cY3Laoyz+v45qZGiClwhTj0MsiGF+tSVlUh+hqYf6kVkTaWdIHNGhfj11h9QzRrs0A4wfvQZuHg3iA=="
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/schemastery/-/schemastery-2.1.0.tgz",
"integrity": "sha512-D5wGNn5lc8GnhTzSl2ClH6RwUB69NMUrIXn6qWJVZSSq1fJtEodL9zXoJUbzoLQlL7rGMuO6entajhZvJY25Tw=="
},
"schemastery-gen": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/schemastery-gen/-/schemastery-gen-2.0.0.tgz",
"integrity": "sha512-lTttqIWwNM8nizqUpUvJOERtb+Su4qkNe5Lp0ruINiZlCuN/HBCAOmf+OcdAlWLW8BRAY+xIzf4o1Kl043HVVQ==",
"version": "2.2.4",
"resolved": "https://registry.npmjs.org/schemastery-gen/-/schemastery-gen-2.2.4.tgz",
"integrity": "sha512-WHneTi+RSo28DRMV/Nxspw/Vyv0c2vExBNskxRTdf/Dik6ZTwF4cC5y9eSas+99kctqgxJKBBBcf9vp9mqPYzQ==",
"requires": {
"lodash": "^4.17.21",
"reflect-metadata": "^0.1.13",
"typed-reflector": "^1.0.5"
"typed-reflector": "^1.0.8"
}
},
"semver": {
......@@ -7487,9 +7464,9 @@
}
},
"typed-reflector": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/typed-reflector/-/typed-reflector-1.0.5.tgz",
"integrity": "sha512-uVXjRyfia44NftErLxahyXgXN2C9GhLtFvVnUxdjwU4fRn0dFI+MbqEKy8oYAMdVkC8xRh8xm3r4w/C1aYZMXg==",
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/typed-reflector/-/typed-reflector-1.0.8.tgz",
"integrity": "sha512-Gc2y1jdXpBrRDhTth80ABcmZjL/4Jmx+GrBf7uvn4BXW4J+kj5V3IjA+GQl/n+3ye7SgoEO6HOiDhac1H+mKgw==",
"requires": {
"reflect-metadata": "^0.1.13"
}
......
......@@ -34,11 +34,11 @@
"encoded-buffer": "^0.2.6",
"memjs": "^1.3.0",
"moment": "^2.29.1",
"schemastery-gen": "^2.0.0",
"schemastery-gen": "^2.2.4",
"source-map-support": "^0.5.20"
},
"peerDependencies": {
"koishi": "^4.0.0-beta.3"
"koishi": "^4.0.0-beta.4"
},
"devDependencies": {
"@types/moment": "^2.13.0",
......@@ -48,7 +48,7 @@
"eslint": "^7.32.0",
"eslint-config-prettier": "^8.3.0",
"eslint-plugin-prettier": "^3.4.1",
"koishi": "^4.0.0-beta.3",
"koishi": "^4.0.0-beta.4",
"prettier": "^2.4.1",
"raw-loader": "^4.0.2",
"ts-loader": "^9.2.6",
......
......@@ -4,17 +4,16 @@ import { RegisterSchema, DefineSchema } from 'schemastery-gen';
@RegisterSchema()
export class MemcachedCachePluginConfig {
@DefineSchema({ desc: 'Memcached 服务器地址', default: 'localhost:11211' })
@DefineSchema({ description: 'Memcached 服务器地址', default: 'localhost:11211' })
endpoint: string;
@DefineSchema({
desc: 'Memcached 服务器选项',
description: 'Memcached 服务器选项',
type: 'object',
allowUnknown: true,
})
memcachedClientOptions: ClientOptions;
@DefineSchema({ desc: '存储键前缀', default: 'koishi:' })
@DefineSchema({ description: '存储键前缀', default: 'koishi:' })
prefix: string;
}
......
import 'source-map-support/register';
import { Context } from 'koishi';
import { MemcachedCache, MemcachedCachePlugin } from './plugin';
import MemcachedCache from './plugin';
import { MemcachedCachePluginConfig } from './config';
export * from './config';
export * from './plugin';
export const name = 'memcached';
const plugin = new MemcachedCachePlugin();
export const schema = plugin.schema;
export const schema = MemcachedCache.schema;
export function apply(ctx: Context, config: MemcachedCachePluginConfig) {
ctx.plugin(plugin, config);
ctx.plugin(MemcachedCache, config);
}
......@@ -9,7 +9,9 @@ import { Moment } from 'moment';
import moment from 'moment';
import * as EncodeBuffer from 'encoded-buffer';
export class MemcachedCache extends Cache {
export default class MemcachedCache extends Cache {
static schema = MemcachedCachePluginConfig;
protected start(): void | Promise<void> {}
protected stop(): void | Promise<void> {}
private logger = new Logger('memcached');
......@@ -144,15 +146,3 @@ export class MemcachedCache extends Cache {
return;
}
}
export class MemcachedCachePlugin {
private config: MemcachedCachePluginConfig;
private ctx: Context;
name = 'memcached-main';
schema = MemcachedCachePluginConfig;
apply(ctx: Context, config: MemcachedCachePluginConfig) {
this.ctx = ctx;
this.config = config;
ctx.cache = new MemcachedCache(ctx, this.config);
}
}
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