k99 0.2.0 → 0.3.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (154) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +8 -0
  3. package/README.zh.md +8 -0
  4. package/browser/package.json +8 -0
  5. package/browser/types.d.ts +20 -0
  6. package/cli/command/create.js +1 -2
  7. package/cli/command/index.js +1 -2
  8. package/cli/command/init.js +3 -5
  9. package/cli/command/start.js +9 -10
  10. package/cli/index.js +3 -4
  11. package/cli/opt/bind.js +1 -2
  12. package/cli/opt/index.js +1 -2
  13. package/cli/opt/listen.js +1 -2
  14. package/cli/opt/path.js +1 -2
  15. package/cli/opt/port.js +1 -2
  16. package/cli/opt/show-router.js +1 -2
  17. package/dist/k99.browser.js +3110 -0
  18. package/dist/k99.browser.min.js +6 -0
  19. package/dist/k99.esm.js +3082 -0
  20. package/dist/k99.esm.min.js +6 -0
  21. package/dist/k99.js +3104 -0
  22. package/dist/k99.mjs +3082 -0
  23. package/dist/k99Browser.browser.js +490 -0
  24. package/dist/k99Browser.browser.min.js +6 -0
  25. package/dist/k99Browser.esm.js +475 -0
  26. package/dist/k99Browser.esm.min.js +6 -0
  27. package/dist/k99Browser.js +484 -0
  28. package/dist/k99Browser.mjs +475 -0
  29. package/dist/k99Services.browser.js +145 -0
  30. package/dist/k99Services.browser.min.js +6 -0
  31. package/dist/k99Services.esm.js +136 -0
  32. package/dist/k99Services.esm.min.js +6 -0
  33. package/dist/k99Services.js +141 -0
  34. package/dist/k99Services.mjs +136 -0
  35. package/node/index.js +1386 -0
  36. package/node/index.mjs +1350 -0
  37. package/node/package.json +5 -0
  38. package/node/types.d.ts +166 -0
  39. package/package.json +77 -11
  40. package/services/package.json +8 -0
  41. package/services/types.d.ts +22 -0
  42. package/starter.js +0 -1
  43. package/types.d.ts +748 -0
  44. package/Container.d.ts +0 -92
  45. package/Container.js +0 -242
  46. package/Container.js.map +0 -1
  47. package/Controller/index.d.ts +0 -178
  48. package/Controller/index.js +0 -576
  49. package/Controller/index.js.map +0 -1
  50. package/Controller/patch/cookie.d.ts +0 -33
  51. package/Controller/patch/cookie.js +0 -168
  52. package/Controller/patch/cookie.js.map +0 -1
  53. package/Controller/patch/index.d.ts +0 -7
  54. package/Controller/patch/index.js +0 -26
  55. package/Controller/patch/index.js.map +0 -1
  56. package/Controller/patch/render.d.ts +0 -5
  57. package/Controller/patch/render.js +0 -24
  58. package/Controller/patch/render.js.map +0 -1
  59. package/ExitSignal.d.ts +0 -14
  60. package/ExitSignal.js +0 -29
  61. package/ExitSignal.js.map +0 -1
  62. package/Extension.d.ts +0 -56
  63. package/Extension.js +0 -93
  64. package/Extension.js.map +0 -1
  65. package/ExtensionContainer.d.ts +0 -55
  66. package/ExtensionContainer.js +0 -105
  67. package/ExtensionContainer.js.map +0 -1
  68. package/Plugin.d.ts +0 -52
  69. package/Plugin.js +0 -278
  70. package/Plugin.js.map +0 -1
  71. package/Preprocessor.d.ts +0 -86
  72. package/Preprocessor.js +0 -135
  73. package/Preprocessor.js.map +0 -1
  74. package/Router/assets.d.ts +0 -33
  75. package/Router/assets.js +0 -106
  76. package/Router/assets.js.map +0 -1
  77. package/Router/callback.d.ts +0 -9
  78. package/Router/callback.js +0 -152
  79. package/Router/callback.js.map +0 -1
  80. package/Router/extendsInterface.d.ts +0 -8
  81. package/Router/extendsInterface.js +0 -43
  82. package/Router/extendsInterface.js.map +0 -1
  83. package/Router/index.d.ts +0 -184
  84. package/Router/index.js +0 -615
  85. package/Router/index.js.map +0 -1
  86. package/Router/log.d.ts +0 -23
  87. package/Router/log.js +0 -120
  88. package/Router/log.js.map +0 -1
  89. package/Router/order.d.ts +0 -14
  90. package/Router/order.js +0 -71
  91. package/Router/order.js.map +0 -1
  92. package/Router/register.d.ts +0 -9
  93. package/Router/register.js +0 -252
  94. package/Router/register.js.map +0 -1
  95. package/Router/registerManager.d.ts +0 -22
  96. package/Router/registerManager.js +0 -102
  97. package/Router/registerManager.js.map +0 -1
  98. package/Router/scan.d.ts +0 -2
  99. package/Router/scan.js +0 -72
  100. package/Router/scan.js.map +0 -1
  101. package/Router/setHandleItem.d.ts +0 -3
  102. package/Router/setHandleItem.js +0 -94
  103. package/Router/setHandleItem.js.map +0 -1
  104. package/Router/settings.d.ts +0 -12
  105. package/Router/settings.js +0 -74
  106. package/Router/settings.js.map +0 -1
  107. package/Router/start.d.ts +0 -3
  108. package/Router/start.js +0 -270
  109. package/Router/start.js.map +0 -1
  110. package/Router/vars.d.ts +0 -10
  111. package/Router/vars.js +0 -40
  112. package/Router/vars.js.map +0 -1
  113. package/Service.d.ts +0 -12
  114. package/Service.js +0 -20
  115. package/Service.js.map +0 -1
  116. package/cli/command/create.d.ts +0 -7
  117. package/cli/command/create.js.map +0 -1
  118. package/cli/command/index.d.ts +0 -7
  119. package/cli/command/index.js.map +0 -1
  120. package/cli/command/init.d.ts +0 -6
  121. package/cli/command/init.js.map +0 -1
  122. package/cli/command/start.d.ts +0 -6
  123. package/cli/command/start.js.map +0 -1
  124. package/cli/index.d.ts +0 -2
  125. package/cli/index.js.map +0 -1
  126. package/cli/opt/bind.d.ts +0 -3
  127. package/cli/opt/bind.js.map +0 -1
  128. package/cli/opt/index.d.ts +0 -16
  129. package/cli/opt/index.js.map +0 -1
  130. package/cli/opt/listen.d.ts +0 -3
  131. package/cli/opt/listen.js.map +0 -1
  132. package/cli/opt/path.d.ts +0 -3
  133. package/cli/opt/path.js.map +0 -1
  134. package/cli/opt/port.d.ts +0 -3
  135. package/cli/opt/port.js.map +0 -1
  136. package/cli/opt/show-router.d.ts +0 -3
  137. package/cli/opt/show-router.js.map +0 -1
  138. package/index.d.ts +0 -354
  139. package/index.js +0 -155
  140. package/index.js.map +0 -1
  141. package/setOptions.d.ts +0 -12
  142. package/setOptions.js +0 -60
  143. package/setOptions.js.map +0 -1
  144. package/starter.d.ts +0 -2
  145. package/starter.js.map +0 -1
  146. package/symbols.d.ts +0 -13
  147. package/symbols.js +0 -31
  148. package/symbols.js.map +0 -1
  149. package/util/index.d.ts +0 -5
  150. package/util/index.js +0 -92
  151. package/util/index.js.map +0 -1
  152. package/util/stream.d.ts +0 -19
  153. package/util/stream.js +0 -66
  154. package/util/stream.js.map +0 -1
package/Service.d.ts DELETED
@@ -1,12 +0,0 @@
1
- import { IClass } from './index';
2
- import Container from './Container';
3
- import Controller, { Class as ControllerClass } from './Controller';
4
- export declare type Param = ConstructorParameters<typeof Service>;
5
- export declare type Class<T extends Service<any, any>> = IClass<T, Param, {}>;
6
- /**
7
- * 服务
8
- * @description 用于路由的过滤及处理函数执行前的预处理
9
- */
10
- declare class Service<C extends Controller, CC extends ControllerClass<C>> extends Container<C, CC> {
11
- }
12
- export default Service;
package/Service.js DELETED
@@ -1,20 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
-
8
- var _Container = _interopRequireDefault(require("./Container"));
9
-
10
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
-
12
- /**
13
- * 服务
14
- * @description 用于路由的过滤及处理函数执行前的预处理
15
- */
16
- class Service extends _Container.default {}
17
-
18
- var _default = Service;
19
- exports.default = _default;
20
- //# sourceMappingURL=Service.js.map
package/Service.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/k99/Service.ts"],"names":["Service","Container"],"mappings":";;;;;;;AACA;;;;AAMA;;;;AAIA,MAAMA,OAAN,SAA2EC,kBAA3E,CAA2F;;eAC5ED,O","sourcesContent":["import { IClass } from './index';\nimport Container from './Container';\nimport Controller, { Class as ControllerClass } from './Controller';\n\nexport type Param = ConstructorParameters<typeof Service>;\nexport type Class<T extends Service<any, any>> = IClass<T, Param, {}>;\n\n/**\n * 服务\n * @description 用于路由的过滤及处理函数执行前的预处理\n */\nclass Service<C extends Controller, CC extends ControllerClass<C>> extends Container<C, CC>{}\nexport default Service;\n"],"file":"Service.js"}
@@ -1,7 +0,0 @@
1
- import { RouterThis } from 'entry-cli';
2
- import opt, { List as optList } from '../opt';
3
- export declare function exec(this: RouterThis, { path }: opt, name: string, ...args: string[]): Promise<void>;
4
- export declare const opts: optList[];
5
- export declare const argv = "<name>";
6
- export declare const explain = "\u521B\u5EFA\u63D2\u4EF6";
7
- export declare function help(opt: opt, ...argv: string[]): Promise<void>;
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/k99/cli/command/create.ts"],"names":["entryFile","exec","path","name","args","help","Promise","r","fsFn","mkdir","recursive","e","console","error","pathFn","resolve","process","chdir","log","cwd","reject","writeFile","JSON","stringify","version","plugins","warn","undefined","scripts","start","test","dependencies","k99","k99Package","opts","argv","explain","opt"],"mappings":"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","sourcesContent":["import * as fsFn from 'fs';\nimport * as pathFn from 'path';\nimport { RouterThis } from 'entry-cli';\nimport opt, {List as optList} from '../opt';\nimport k99Package from '../../package.json';\nconst entryFile =\n`\nconst baseConfig = require('./.k99.config.json');\nObject.assign(exports, baseConfig);\n`;\nexport async function exec(this: RouterThis, { path }: opt, name: string, ...args: string[]) {\n\tif (!(path || name)) { return this.help(); }\n\n\t// 创建目录\n\tif (await new Promise(r => fsFn.mkdir(path || name, { recursive: true }, e => r(e) ))) {\n\t\tconsole.error(`Error: Failed to create directory, mkdir '${ pathFn.resolve(path || name) }'`);\n\t\treturn;\n\t}\n\tprocess.chdir(path || name);\n\tconsole.log('K99', '@', process.cwd());\n\tawait new Promise((resolve, reject) => fsFn.writeFile('.k99.config.json', JSON.stringify({ name, version: '0.0.0' }, null, '\\t'), e => e ? reject(e) : resolve() ));\n\tawait new Promise((resolve, reject) => fsFn.writeFile('k99.config.js', entryFile, e => e ? reject(e) : resolve() ));\n\n\t// 创建测试目录\n\tif (!await new Promise(r => fsFn.mkdir('test', e => r(e) ))) {\n\t\tawait new Promise(resolve => fsFn.writeFile('test/.k99.config.json', JSON.stringify({ plugins: ['../'] }, null, '\\t'), e => resolve( e ? console.warn(e) : undefined) ));\n\t\tawait new Promise(resolve => fsFn.writeFile('test/k99.config.js', entryFile, e => resolve( e ? console.warn(e) : undefined) ));\n\t} else {\n\t\tconsole.warn(`Warn: Failed to create test directory, mkdir '${ pathFn.resolve('test') }'`);\n\t}\n\tawait new Promise((resolve, reject) => fsFn.writeFile('package.json', JSON.stringify({\n\t\tname,\n\t\tversion: '0.0.0',\n\t\tscripts: {\n\t\t\tstart: 'k99 --path=test --port=3000 start',\n\t\t\ttest: 'node --inspect node_modules/k99/cli --path=test --port=3000 --show-router start',\n\t\t\tdependencies: {\n\t\t\t\tk99: `^${ k99Package.version }`,\n\t\t\t},\n\t\t},\n\t}, null, 2), e => e ? reject(e) : resolve() ));\n}\n\nexport const opts: optList[] = ['path'];\nexport const argv = '<name>';\nexport const explain = '创建插件';\nexport async function help(opt: opt, ...argv: string[]) {}\n"],"file":"create.js"}
@@ -1,7 +0,0 @@
1
- import * as start from './start';
2
- import * as init from './init';
3
- declare const _default: {
4
- start: typeof start;
5
- init: typeof init;
6
- };
7
- export default _default;
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/k99/cli/command/index.ts"],"names":["start","init"],"mappings":";;;;;;;AAAA;;AACA;;;;;;eACe;AACdA,EAAAA,KADc;AAEdC,EAAAA;AAFc,C","sourcesContent":["import * as start from './start';\nimport * as init from './init';\nexport default {\n\tstart,\n\tinit,\n};\n"],"file":"index.js"}
@@ -1,6 +0,0 @@
1
- import opt, { List as OptList } from '../opt';
2
- export declare function exec({ path }: opt, ...args: string[]): Promise<void>;
3
- export declare const opts: OptList[];
4
- export declare const argv = "";
5
- export declare const explain = "\u521D\u59CB\u5316\u9879\u76EE";
6
- export declare function help(...argv: string[]): Promise<void>;
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/k99/cli/command/init.ts"],"names":["entryFile","exec","path","args","Promise","r","fsFn","mkdir","recursive","process","chdir","console","log","cwd","n","Plugin","configFileNames","stat","e","resolve","reject","writeFile","JSON","stringify","cfg","readFile","_","d","private","main","scripts","start","test","dependencies","k99","k99Package","version","opts","argv","explain","help"],"mappings":"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","sourcesContent":["import opt, {List as OptList} from '../opt';\nimport * as fsFn from 'fs';\nimport { Plugin } from '../../index';\nimport k99Package from '../../package.json';\nconst entryFile =\n`\nconst baseConfig = require('./.k99.config.json');\nObject.assign(exports, baseConfig);\n`;\nexport async function exec({ path }: opt, ...args: string[]) {\n\tif (path) {\n\t\tawait new Promise(r => fsFn.mkdir(path, { recursive: true }, () => r() ));\n\t\tprocess.chdir(path);\n\t}\n\tconsole.log('K99', '@', process.cwd());\n\tfor (const n of Plugin.configFileNames) {\n\t\tif (await new Promise(r => fsFn.stat(n, e => r(!e) ))) {\n\t\t\tconsole.log(`The config (${ n }) is Existing.`);\n\t\t\treturn;\n\t\t}\n\t}\n\tawait new Promise((resolve, reject) => fsFn.writeFile('.k99.config.json', JSON.stringify({}, null, '\\t'), e => e ? reject(e) : resolve() ));\n\tawait new Promise((resolve, reject) => fsFn.writeFile('k99.config.js', entryFile, e => e ? reject(e) : resolve() ));\n\tconst cfg = JSON.stringify(await new Promise(resolve => fsFn.readFile('package.json', 'utf-8', (_, d) =>resolve(d)))) || { private: true } as any;\n\tif (!cfg.main) { cfg.main = 'node_modules/k99/starter'; }\n\tif (!cfg.scripts) { cfg.scripts = { }; }\n\tif (!cfg.scripts.start) { cfg.scripts.start = 'k99 --port=3000 start'; }\n\tif (!cfg.scripts.test) { cfg.scripts.test = 'node --inspect node_modules/k99/cli --port=3000 --show-router start'; }\n\tif (!cfg.dependencies) { cfg.dependencies = {}; }\n\tif (!cfg.dependencies.k99) { cfg.dependencies.k99 = `^${ k99Package.version }`; }\n\n\tawait new Promise((resolve, reject) => fsFn.writeFile('package.json', JSON.stringify(cfg, null, 2), e => e ? reject(e) : resolve() ));\n}\n\nexport const opts: OptList[] = ['path'];\nexport const argv = '';\nexport const explain = '初始化项目';\nexport async function help(...argv: string[]) {}\n"],"file":"init.js"}
@@ -1,6 +0,0 @@
1
- import opt, { List as OptList } from '../opt';
2
- export declare function exec({ path, listen, port, bind, ...option }: opt, ...args: string[]): Promise<void>;
3
- export declare const opts: OptList[];
4
- export declare const argv = "";
5
- export declare const explain = "\u542F\u52A8\u670D\u52A1\u5668";
6
- export declare function help(...argv: string[]): Promise<void>;
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/k99/cli/command/start.ts"],"names":["exec","path","listen","port","bind","option","args","process","chdir","undefined","Plugin","findPath","router","Router","start","server","http","createServer","callback","opts","argv","explain","help"],"mappings":";;;;;;;;;AACA;;AACA;;;;;;AAEO,eAAeA,IAAf,CAAoB;AAAEC,EAAAA,IAAF;AAAQC,EAAAA,MAAR;AAAgBC,EAAAA,IAAI,GAAG,IAAvB;AAA6BC,EAAAA,IAA7B;AAAmC,KAAGC;AAAtC,CAApB,EAAyE,GAAGC,IAA5E,EAA4F;AAClG,MAAIL,IAAJ,EAAU;AACTM,IAAAA,OAAO,CAACC,KAAR,CAAcP,IAAd;AACA,GAFD,MAEO,IAAIA,IAAI,KAAKQ,SAAb,EAAwB;AAC9BF,IAAAA,OAAO,CAACC,KAAR,EAAc,MAAME,cAAOC,QAAP,EAApB;AACA;;AACD,QAAMC,MAAM,GAAG,MAAMC,cAAOC,KAAP,CAAaT,MAAb,CAArB;AACA,QAAMU,MAAM,GAAGC,IAAI,CAACC,YAAL,CAAkBL,MAAM,CAACM,QAAzB,CAAf,CAPkG,CAQlG;;AACA,MAAIhB,MAAM,IAAI,OAAOA,MAAP,KAAkB,QAAhC,EAA0C;AACzCa,IAAAA,MAAM,CAACb,MAAP,CAAcA,MAAd;AACA,GAFD,MAEO;AACNa,IAAAA,MAAM,CAACb,MAAP,CAAcC,IAAd,EAAoBC,IAApB;AACA;AACD;;AAEM,MAAMe,IAAe,GAAG,CAAC,MAAD,EAAS,QAAT,EAAmB,MAAnB,EAA2B,MAA3B,EAAmC,YAAnC,CAAxB;;AACA,MAAMC,IAAI,GAAG,EAAb;;AACA,MAAMC,OAAO,GAAG,OAAhB;;;AACA,eAAeC,IAAf,CAAoB,GAAGF,IAAvB,EAAuC,CAAE","sourcesContent":["import opt, {List as OptList} from '../opt';\nimport * as http from 'http';\nimport { Router, Plugin } from '../../index';\n\nexport async function exec({ path, listen, port = 8080, bind, ...option }: opt, ...args: string[]) {\n\tif (path) {\n\t\tprocess.chdir(path);\n\t} else if (path === undefined) {\n\t\tprocess.chdir(await Plugin.findPath());\n\t}\n\tconst router = await Router.start(option);\n\tconst server = http.createServer(router.callback);\n\t// (global as any).router = router;\n\tif (listen && typeof listen === 'string') {\n\t\tserver.listen(listen);\n\t} else {\n\t\tserver.listen(port, bind);\n\t}\n}\n\nexport const opts: OptList[] = ['path', 'listen', 'port', 'bind', 'showRouter'];\nexport const argv = '';\nexport const explain = '启动服务器';\nexport async function help(...argv: string[]) {}\n"],"file":"start.js"}
package/cli/index.d.ts DELETED
@@ -1,2 +0,0 @@
1
- #!/usr/bin/env node
2
- export {};
package/cli/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/k99/cli/index.ts"],"names":["command","opt","execCmd","process","argv","slice"],"mappings":"AAAA;;;AACA;;AACA;;AACA;;;;AAEA,mBAAIA,gBAAJ,EAAiCC,YAAjC,EAAsC;AACrCC,EAAAA,OAAO,EAAE;AAD4B,CAAtC,EAEGC,OAAO,CAACC,IAAR,CAAaC,KAAb,CAAmB,CAAnB,CAFH","sourcesContent":["#!/usr/bin/env node\nimport command from './command';\nimport opt from './opt';\nimport {cli, CommandList} from 'entry-cli';\n\ncli(command as CommandList<opt>, opt, {\n\texecCmd: 'k99',\n})(process.argv.slice(2));\n"],"file":"index.js"}
package/cli/opt/bind.d.ts DELETED
@@ -1,3 +0,0 @@
1
- export declare function value(...opts: string[]): string;
2
- export declare const name = "ip";
3
- export declare const explain = "\u7ED1\u5B9A\u7684 IP";
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/k99/cli/opt/bind.ts"],"names":["value","opts","name","explain"],"mappings":";;;;;;;;AAAO,SAASA,KAAT,CAAe,GAAGC,IAAlB,EAAkC;AACxC,SAAOA,IAAI,CAAC,CAAD,CAAX;AACA;;AACM,MAAMC,IAAI,GAAG,IAAb;;AACA,MAAMC,OAAO,GAAG,QAAhB","sourcesContent":["export function value(...opts: string[]) {\n\treturn opts[0];\n}\nexport const name = 'ip';\nexport const explain = '绑定的 IP';\n"],"file":"bind.js"}
@@ -1,16 +0,0 @@
1
- import * as listen from './listen';
2
- import * as path from './path';
3
- import * as showRouter from './show-router';
4
- import * as port from './port';
5
- import * as bind from './bind';
6
- import { OptType } from 'entry-cli';
7
- export declare const opt: {
8
- bind: typeof bind;
9
- listen: typeof listen;
10
- showRouter: typeof showRouter;
11
- path: typeof path;
12
- port: typeof port;
13
- };
14
- export declare type List = keyof typeof opt;
15
- declare type opt = OptType<typeof opt>;
16
- export default opt;
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/k99/cli/opt/index.ts"],"names":["opt","bind","listen","showRouter","path","port"],"mappings":";;;;;;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;AAGO,MAAMA,GAAG,GAAG;AAClBC,EAAAA,IADkB;AAElBC,EAAAA,MAFkB;AAGlBC,EAAAA,UAHkB;AAIlBC,EAAAA,IAJkB;AAKlBC,EAAAA;AALkB,CAAZ;;eAUQL,G","sourcesContent":["\nimport * as listen from './listen';\nimport * as path from './path';\nimport * as showRouter from './show-router';\nimport * as port from './port';\nimport * as bind from './bind';\n\nimport {OptType} from 'entry-cli';\nexport const opt = {\n\tbind,\n\tlisten,\n\tshowRouter,\n\tpath,\n\tport,\n};\n\nexport type List = keyof typeof opt;\ntype opt = OptType<typeof opt>;\nexport default opt;\n"],"file":"index.js"}
@@ -1,3 +0,0 @@
1
- export declare function value(...opts: string[]): string;
2
- export declare const name = "socket";
3
- export declare const explain = "\u76D1\u542C\u7684\u672C\u5730\u5957\u63A5\u5B57";
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/k99/cli/opt/listen.ts"],"names":["value","opts","name","explain"],"mappings":";;;;;;;;AAAO,SAASA,KAAT,CAAe,GAAGC,IAAlB,EAAkC;AACxC,SAAOA,IAAI,CAAC,CAAD,CAAX;AACA;;AACM,MAAMC,IAAI,GAAG,QAAb;;AACA,MAAMC,OAAO,GAAG,UAAhB","sourcesContent":["export function value(...opts: string[]) {\n\treturn opts[0];\n}\nexport const name = 'socket';\nexport const explain = '监听的本地套接字';\n"],"file":"listen.js"}
package/cli/opt/path.d.ts DELETED
@@ -1,3 +0,0 @@
1
- export declare function value(...opts: string[]): string;
2
- export declare const name = "path";
3
- export declare const explain = "\u73AF\u5883\u8DEF\u5F84";
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/k99/cli/opt/path.ts"],"names":["value","opts","name","explain"],"mappings":";;;;;;;;AAAO,SAASA,KAAT,CAAe,GAAGC,IAAlB,EAAkC;AACxC,SAAOA,IAAI,CAAC,CAAD,CAAJ,IAAW,EAAlB;AACA;;AACM,MAAMC,IAAI,GAAG,MAAb;;AACA,MAAMC,OAAO,GAAG,MAAhB","sourcesContent":["export function value(...opts: string[]) {\n\treturn opts[0] || '';\n}\nexport const name = 'path';\nexport const explain = '环境路径';\n"],"file":"path.js"}
package/cli/opt/port.d.ts DELETED
@@ -1,3 +0,0 @@
1
- export declare function value(...opts: string[]): number | undefined;
2
- export declare const name = "port";
3
- export declare const explain = "\u76D1\u542C\u7684\u7F51\u7EDC\u7AEF\u53E3\u53F7";
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/k99/cli/opt/port.ts"],"names":["value","opts","opt","test","port","Number","name","explain"],"mappings":";;;;;;;;AAAO,SAASA,KAAT,CAAe,GAAGC,IAAlB,EAAkC;AACxC,OAAK,IAAIC,GAAT,IAAgBD,IAAhB,EAAsB;AACrB,QAAI,QAAQE,IAAR,CAAaD,GAAb,CAAJ,EAAuB;AACtB,YAAME,IAAI,GAAGC,MAAM,CAACH,GAAD,CAAnB;;AACA,UAAIE,IAAI,GAAG,CAAP,IAAYA,IAAI,GAAG,KAAvB,EAA8B;AAC7B,eAAOA,IAAP;AACA;AACD;AACD;AACD;;AAEM,MAAME,IAAI,GAAG,MAAb;;AACA,MAAMC,OAAO,GAAG,UAAhB","sourcesContent":["export function value(...opts: string[]) {\n\tfor (let opt of opts) {\n\t\tif (/^\\d+$/.test(opt)) {\n\t\t\tconst port = Number(opt);\n\t\t\tif (port > 0 && port < 65535) {\n\t\t\t\treturn port;\n\t\t\t}\n\t\t}\n\t}\n}\n\nexport const name = 'port';\nexport const explain = '监听的网络端口号';\n"],"file":"port.js"}
@@ -1,3 +0,0 @@
1
- export declare function value(...opts: string[]): boolean;
2
- export declare const name = "";
3
- export declare const explain = "\u662F\u5426\u663E\u793A\u8DEF\u7531";
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/k99/cli/opt/show-router.ts"],"names":["value","opts","name","explain"],"mappings":";;;;;;;;AAAO,SAASA,KAAT,CAAe,GAAGC,IAAlB,EAAkC;AACxC,SAAO,IAAP;AACA;;AACM,MAAMC,IAAI,GAAG,EAAb;;AACA,MAAMC,OAAO,GAAG,QAAhB","sourcesContent":["export function value(...opts: string[]) {\n\treturn true;\n}\nexport const name = '';\nexport const explain = '是否显示路由';\n"],"file":"show-router.js"}
package/index.d.ts DELETED
@@ -1,354 +0,0 @@
1
- /// <reference types="node" />
2
- export { default as Router } from './Router';
3
- export { default as Controller, Class as ControllerClass } from './Controller';
4
- export { default as Container, Class as ContainerClass } from './Container';
5
- export { default as Extension, Class as ExtensionClass } from './Extension';
6
- export { default as Preprocessor, Class as PreprocessorClass } from './Preprocessor';
7
- export { default as Service, Class as ServiceClass } from './Service';
8
- export { default as ExitSignal } from './ExitSignal';
9
- export { default as Plugin } from './Plugin';
10
- export * from './setOptions';
11
- export { StreamUtil } from './util';
12
- import * as symbols from './symbols';
13
- export { symbols };
14
- import Controller, { Class as ControllerClass } from './Controller';
15
- import Preprocessor, { Class as PreprocessorClass } from './Preprocessor';
16
- import { StreamUtil } from './util';
17
- import Router from './Router';
18
- import { IncomingHttpHeaders, OutgoingHttpHeaders } from 'http';
19
- import { ParsedUrlQuery } from 'querystring';
20
- import * as stream from 'stream';
21
- import Service from './Service';
22
- declare type PromiseValue<T> = T extends PromiseLike<infer V> ? V : T;
23
- export declare type ControllerArgv<C extends Controller> = PromiseValue<ReturnType<C[typeof symbols.argv]>>;
24
- /** 处理函数选项选项 */
25
- export interface HandleOptions<C extends Controller = Controller> {
26
- /** 顺序 */
27
- [symbols.order]?: number;
28
- /** 方法列表 */
29
- [symbols.methods]?: Method | Method[];
30
- [symbols.config]?: object;
31
- [symbols.test]?(param: {
32
- [k: string]: string | string[] | undefined;
33
- }): boolean | Promise<boolean>;
34
- [symbols.options]?: Handle<C> | Options;
35
- }
36
- /** 处理函数定义 */
37
- export interface Handle<C extends Controller = Controller> extends HandleOptions<C> {
38
- (this: C, data: {
39
- [key: string]: any;
40
- }, ...argv: ControllerArgv<C>): void | undefined | StreamUtil.WriteType | object | Promise<void | undefined | StreamUtil.WriteType | object>;
41
- }
42
- export interface Services {
43
- [key: string]: undefined | Service<any, any>;
44
- }
45
- /** 处理函数定义 */
46
- export interface Handles<C extends Controller = Controller> extends HandleOptions<C> {
47
- OPTIONS?: Handle<C>;
48
- GET?: Handle<C>;
49
- POST?: Handle<C>;
50
- PUT?: Handle<C>;
51
- DELETE?: Handle<C>;
52
- HEAD?: Handle<C>;
53
- }
54
- export declare function Handle<C extends Controller = Controller>(handle: Handle<C> | Handles<C>): Handle<C> | Handles<C>;
55
- export declare type IClass<T extends object, P extends any[], S extends {
56
- [key: string]: any;
57
- } = {}> = S & {
58
- new (...p: P): T;
59
- prototype: T;
60
- };
61
- export interface ResourceOption {
62
- /** 控制器 */
63
- controller?: ControllerClass<any>;
64
- /** 所属组 */
65
- group?: string;
66
- /** 顺序 */
67
- order?: number;
68
- /** 包根目录 */
69
- root?: string;
70
- /** 当前文件相对于包根目录的路径 */
71
- filePath?: string;
72
- /** 当前文件的绝对路径 */
73
- absPath?: string;
74
- /** 配置信息 */
75
- config?: object;
76
- }
77
- export interface HandleOption extends ResourceOption {
78
- /** 处理函数的名称 */
79
- name?: string;
80
- /** 方法列表 */
81
- methods?: Method | Method[];
82
- /** 文件导出的内容 */
83
- exports?: Exports;
84
- /** 测试函数 */
85
- test?(param: {
86
- [k: string]: string | string[] | undefined;
87
- }): boolean | Promise<boolean>;
88
- }
89
- export interface HandleInfo extends HandleOption {
90
- /** 处理函数的名称 */
91
- name: string;
92
- /** 所属组 */
93
- group: string;
94
- /** 顺序 */
95
- order: number;
96
- /** 处理函数 */
97
- handle: Handle;
98
- /** 请求路径 */
99
- path: string;
100
- /** 方法列表 */
101
- methods: Method[];
102
- /** 域 */
103
- scope: string[];
104
- /** 路径匹配 */
105
- match(path: string): any;
106
- /** 文件导出的内容 */
107
- exports: Exports;
108
- /** 包根目录 */
109
- root: string;
110
- /** 当前文件相对于包根目录的路径 */
111
- filePath: string;
112
- /** 当前文件的绝对路径 */
113
- absPath: string;
114
- /** 配置信息 */
115
- config: object;
116
- }
117
- export interface FileItem {
118
- /** 扩展名 */
119
- extname: string;
120
- /** 类型 */
121
- type: string;
122
- /** 扫描根路径 */
123
- root: string;
124
- /** 相对于扫描根路径的路径 */
125
- path: string;
126
- /** 名称,处理后的文件名,不含扩展名及类型,大驼峰式 */
127
- name: string;
128
- /** 范围 经过处理的相对路径,不含扩展名及类型,且不含文件名 index,中划线式 */
129
- scope: string;
130
- }
131
- /** 启动配置 */
132
- export interface StartOption {
133
- /** 是否打印路由列表 */
134
- showRouter?: boolean;
135
- }
136
- /** 注册的附加选项 */
137
- export interface ROptions {
138
- /** 所在组 */
139
- group?: string;
140
- /** 顺序 */
141
- order?: number;
142
- }
143
- /** 要注册的文件信息 */
144
- export interface RFile extends FileItem, ROptions {
145
- }
146
- export interface Register {
147
- /** 文件扩展名 */
148
- extname: string;
149
- /** 文件类型名 */
150
- type?: string;
151
- /** 是否需要名称 */
152
- needName?: boolean;
153
- /**
154
- * 注册函数
155
- * @param file 要注册的文件的信息
156
- * @param opt 注册选项
157
- * @param router 当前的路由
158
- */
159
- register(file: RFile, router: Router): boolean | Promise<boolean>;
160
- }
161
- export interface Order {
162
- /** 默认顺序,也是控制器的顺序 */
163
- default?: number;
164
- /** 预加载器顺序 */
165
- preprocessor?: number;
166
- [key: string]: number | undefined;
167
- }
168
- /** 钩子类型 */
169
- export declare type Hook = string | (() => Promise<void> | void);
170
- /** 钩子列表 */
171
- export interface Hooks {
172
- [key: string]: Hook | undefined;
173
- }
174
- export interface AddOptions {
175
- group?: string;
176
- scope?: string;
177
- order?: number;
178
- }
179
- export interface RouterRuntime {
180
- /** 工作路径(绝对路径) */
181
- readonly path: string;
182
- /** 配置路径(相对于工作路径) */
183
- readonly settings: string;
184
- /** assets 路径(相对于工作路径) */
185
- readonly assets: string;
186
- /** log 路径(相对于工作路径) */
187
- readonly log: string;
188
- }
189
- export interface RouterOptions {
190
- /** 工作路径 */
191
- path?: string;
192
- /** 设置路径 */
193
- settings?: string;
194
- /** assets 路径 */
195
- assets?: string;
196
- /** assets 路径 */
197
- log?: string;
198
- }
199
- export declare type Method = 'GET' | 'POST' | 'PUT' | 'DELETE' | 'HEAD' | 'OPTIONS';
200
- export interface Options {
201
- [key: string]: any;
202
- }
203
- /** 处理项目文件导出 */
204
- export interface Exports<C extends Controller = any> extends Handles<C> {
205
- Controller?: ControllerClass<C>;
206
- Preprocessor?: PreprocessorClass<Preprocessor<C, ControllerClass<C>>>;
207
- Config?: object;
208
- index?: Handle<C> | Handles<C>;
209
- new?: Handle<C> | Handles<C>;
210
- create?: Handle<C> | Handles<C>;
211
- show?: Handle<C> | Handles<C>;
212
- update?: Handle<C> | Handles<C>;
213
- destroy?: Handle<C> | Handles<C>;
214
- [key: string]: any;
215
- }
216
- export interface CookieClearOption {
217
- domain?: string;
218
- path?: string;
219
- secure?: boolean;
220
- httpOnly?: boolean;
221
- }
222
- export interface CookieOption extends CookieClearOption {
223
- expire?: string;
224
- }
225
- export interface CookieOptionInfo extends CookieOption {
226
- value: string;
227
- }
228
- export interface FileInfo {
229
- /** 包根目录 */
230
- root: string;
231
- /** 当前文件相对于包根目录的路径 */
232
- path: string;
233
- /** 当前文件的绝对路径 */
234
- absPath: string;
235
- /** 域 */
236
- scope: string[];
237
- /** 所属组 */
238
- group: string;
239
- }
240
- export interface BaseRequest {
241
- /** 请求头 */
242
- readonly headers: Readonly<IncomingHttpHeaders>;
243
- /** 请求头原始数组 */
244
- readonly rawHeaders: Readonly<string[]>;
245
- /** 请求方法 */
246
- readonly method?: Method;
247
- /** 请求 url (不含协议及主机名等) */
248
- readonly url: string;
249
- /** 请求路径 */
250
- readonly pathname: string;
251
- /** 查询字符串 */
252
- readonly search: string;
253
- /** 查询参数 */
254
- readonly query: ParsedUrlQuery;
255
- /** 来源路径 */
256
- readonly referer: string;
257
- /** 请求主机 */
258
- readonly host: string;
259
- /** 请求主机名 */
260
- readonly hostname: string;
261
- /** 请求端口 */
262
- readonly port: string;
263
- /** 客户端 UA */
264
- readonly userAgent: string;
265
- }
266
- /** 插件配置 */
267
- export interface PluginConfig {
268
- /** 包名 */
269
- name?: string;
270
- /** 版本 */
271
- version?: string;
272
- /** 依赖项 */
273
- dependencies?: string[];
274
- /** 作者 */
275
- author?: string;
276
- /** 开源协议 */
277
- license?: string;
278
- /** 钩子配置 */
279
- hooks?: Hooks;
280
- /** 依赖的包所在的 npm 模块 */
281
- packages?: string[];
282
- /** 导入的子插件 */
283
- plugins?: string[];
284
- /** 资源定义 */
285
- resources?: Resource[];
286
- /** 顺序配置 */
287
- order?: Order;
288
- /** 插件扫描列表,仅入口有效 */
289
- scan?: string;
290
- }
291
- /** 资源定义 */
292
- export interface Resource {
293
- /** 资源类型 */
294
- type: string;
295
- /** 资源路径,不同的资源的资源路径的起点可能不同 */
296
- path?: string;
297
- /** 资源域 */
298
- scope?: string;
299
- }
300
- export interface K99Request extends stream.Readable {
301
- readonly method?: string;
302
- readonly url?: string;
303
- readonly headers: IncomingHttpHeaders;
304
- readonly rawHeaders: string[];
305
- /** 请求路径 */
306
- readonly pathname?: string;
307
- /** 查询字符串 */
308
- readonly search?: string;
309
- /** 查询参数 */
310
- readonly query?: ParsedUrlQuery;
311
- }
312
- export interface ResponseEvent {
313
- close: [];
314
- drain: [];
315
- error: [Error];
316
- finish: [];
317
- pipe: [stream.Readable];
318
- unpipe: [stream.Readable];
319
- }
320
- export interface K99Response extends stream.Stream {
321
- readonly finished: boolean;
322
- readonly headersSent: boolean;
323
- statusCode: number;
324
- hasHeader(name: string): boolean;
325
- getHeader(name: string): string | string[] | undefined | number;
326
- setHeader(name: string, value: number | string | string[]): void;
327
- removeHeader(name: string): void;
328
- getHeaderNames(): string[];
329
- getHeaders(): OutgoingHttpHeaders;
330
- end(callback?: () => void): void;
331
- end(data: string | Uint8Array, callback?: () => void): void;
332
- end(data: string | Uint8Array, encoding: string, callback?: () => void): void;
333
- stream?: stream.Writable;
334
- addListener<E extends keyof ResponseEvent>(event: E, listener: (...p: ResponseEvent[E]) => void): this;
335
- addListener(event: string | symbol, listener: (...args: any[]) => void): this;
336
- emit<E extends keyof ResponseEvent>(event: E, ...p: ResponseEvent[E]): boolean;
337
- emit(event: string | symbol, ...args: any[]): boolean;
338
- on<E extends keyof ResponseEvent>(event: E, listener: (...p: ResponseEvent[E]) => void): this;
339
- on(event: string | symbol, listener: (...args: any[]) => void): this;
340
- once<E extends keyof ResponseEvent>(event: E, listener: (...p: ResponseEvent[E]) => void): this;
341
- once(event: string | symbol, listener: (...args: any[]) => void): this;
342
- prependListener<E extends keyof ResponseEvent>(event: E, listener: (...p: ResponseEvent[E]) => void): this;
343
- prependListener(event: string | symbol, listener: (...args: any[]) => void): this;
344
- prependOnceListener<E extends keyof ResponseEvent>(event: E, listener: (...p: ResponseEvent[E]) => void): this;
345
- prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this;
346
- }
347
- export interface LogPackOpt {
348
- /** 在日志前添加的标签 */
349
- tags?: string | string[];
350
- /** 是否为日志添加时间 */
351
- date?: boolean;
352
- /** 从第二行开始为日志添加缩进用到字符串,或者是空格的数量 */
353
- indent?: string | number;
354
- }