Skip to content

Commit 9e50a39

Browse files
committed
优化类型声明,
interface AsyncCurrentLimiter { [Symbol.toStringTag]: string; asyncwrap: <T extends (...args: any[]) => Promise<any>>(fun: T) => T; status: () => 空闲状态; limiter: { readonly max: number; readonly current: number; }; queue: { readonly max: number; readonly current: number; }; target: { [Symbol.toPrimitive]: () => string; [Symbol.toStringTag]: string; [Symbol.iterator]: () => IterableIterator<[import("@masx200/event-emitter-target").EVENTNAME, import("@masx200/event-emitter-target").EVENTLISTENER[]]>; entries: () => IterableIterator<[import("@masx200/event-emitter-target").EVENTNAME, import("@masx200/event-emitter-target").EVENTLISTENER[]]>; listenerCount: (name: import("@masx200/event-emitter-target").EVENTNAME) => number; clear: (name: import("@masx200/event-emitter-target").EVENTNAME) => void; removeAllListeners: (name: import("@masx200/event-emitter-target").EVENTNAME) => void; on: (name: import("@masx200/event-emitter-target").EVENTNAME, callback: import("@masx200/event-emitter-target").EVENTLISTENER) => void; addListener: (name: import("@masx200/event-emitter-target").EVENTNAME, callback: import("@masx200/event-emitter-target").EVENTLISTENER) => void; off: (name: import("@masx200/event-emitter-target").EVENTNAME, callback: import("@masx200/event-emitter-target").EVENTLISTENER) => void; removeListener: (name: import("@masx200/event-emitter-target").EVENTNAME, callback: import("@masx200/event-emitter-target").EVENTLISTENER) => void; once: (name: import("@masx200/event-emitter-target").EVENTNAME, callback: import("@masx200/event-emitter-target").EVENTLISTENER) => void; emit: (name: import("@masx200/event-emitter-target").EVENTNAME, event?: any) => void; dispatch: (name: import("@masx200/event-emitter-target").EVENTNAME, event?: any) => void; eventNames: () => import("@masx200/event-emitter-target").EVENTNAME[]; listeners: (name: import("@masx200/event-emitter-target").EVENTNAME) => import("@masx200/event-emitter-target").EVENTLISTENER[]; }; }
1 parent 0313131 commit 9e50a39

12 files changed

+91
-59
lines changed

README.md

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -85,16 +85,9 @@ for (let i = 0; i < 1000; i++) {
8585
https://github.com/masx200/async-task-current-limiter/blob/master/dist/index.d.ts
8686

8787
```ts
88-
interface Constructor<T extends (...args: any[]) => any> {
89-
new (...args: Parameters<T>): ReturnType<T>;
90-
(...args: Parameters<T>): ReturnType<T>;
91-
}
92-
declare type AsyncLimiterConstructor = Constructor<typeof 创建异步限流队列>;
9388
declare type 空闲状态 = "free" | "full";
94-
95-
declare function 创建异步限流队列(
96-
max: number
97-
): {
89+
interface AsyncCurrentLimiter {
90+
[Symbol.toStringTag]: string;
9891
asyncwrap: <T extends (...args: any[]) => Promise<any>>(fun: T) => T;
9992
status: () => 空闲状态;
10093
limiter: {
@@ -162,7 +155,7 @@ declare function 创建异步限流队列(
162155
name: import("@masx200/event-emitter-target").EVENTNAME
163156
) => import("@masx200/event-emitter-target").EVENTLISTENER[];
164157
};
165-
};
158+
}
166159
```
167160

168161
## `AsyncLimiterClass(max)`

dist/index.js

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/index.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/index.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/src/AsyncCurrentLimiter.d.ts

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
import { 空闲状态 } from './createlimiter';
2+
export interface AsyncCurrentLimiter {
3+
[Symbol.toStringTag]: string;
4+
asyncwrap: <T extends (...args: any[]) => Promise<any>>(fun: T) => T;
5+
status: () => 空闲状态;
6+
limiter: {
7+
readonly max: number;
8+
readonly current: number;
9+
};
10+
queue: {
11+
readonly max: number;
12+
readonly current: number;
13+
};
14+
target: {
15+
[Symbol.toPrimitive]: () => string;
16+
[Symbol.toStringTag]: string;
17+
[Symbol.iterator]: () => IterableIterator<[import("@masx200/event-emitter-target").EVENTNAME, import("@masx200/event-emitter-target").EVENTLISTENER[]]>;
18+
entries: () => IterableIterator<[import("@masx200/event-emitter-target").EVENTNAME, import("@masx200/event-emitter-target").EVENTLISTENER[]]>;
19+
listenerCount: (name: import("@masx200/event-emitter-target").EVENTNAME) => number;
20+
clear: (name: import("@masx200/event-emitter-target").EVENTNAME) => void;
21+
removeAllListeners: (name: import("@masx200/event-emitter-target").EVENTNAME) => void;
22+
on: (name: import("@masx200/event-emitter-target").EVENTNAME, callback: import("@masx200/event-emitter-target").EVENTLISTENER) => void;
23+
addListener: (name: import("@masx200/event-emitter-target").EVENTNAME, callback: import("@masx200/event-emitter-target").EVENTLISTENER) => void;
24+
off: (name: import("@masx200/event-emitter-target").EVENTNAME, callback: import("@masx200/event-emitter-target").EVENTLISTENER) => void;
25+
removeListener: (name: import("@masx200/event-emitter-target").EVENTNAME, callback: import("@masx200/event-emitter-target").EVENTLISTENER) => void;
26+
once: (name: import("@masx200/event-emitter-target").EVENTNAME, callback: import("@masx200/event-emitter-target").EVENTLISTENER) => void;
27+
emit: (name: import("@masx200/event-emitter-target").EVENTNAME, event?: any) => void;
28+
dispatch: (name: import("@masx200/event-emitter-target").EVENTNAME, event?: any) => void;
29+
eventNames: () => import("@masx200/event-emitter-target").EVENTNAME[];
30+
listeners: (name: import("@masx200/event-emitter-target").EVENTNAME) => import("@masx200/event-emitter-target").EVENTLISTENER[];
31+
};
32+
}

dist/src/createlimiter.d.ts

Lines changed: 3 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,3 @@
1-
declare type 空闲状态 = "free" | "full";
2-
export declare function createlimiter(max: number): {
3-
asyncwrap: <T extends (...args: any[]) => Promise<any>>(fun: T) => T;
4-
status: () => 空闲状态;
5-
limiter: {
6-
readonly max: number;
7-
readonly current: number;
8-
};
9-
queue: {
10-
readonly max: number;
11-
readonly current: number;
12-
};
13-
target: {
14-
[Symbol.toPrimitive]: () => string;
15-
[Symbol.toStringTag]: string;
16-
[Symbol.iterator]: () => IterableIterator<[import("@masx200/event-emitter-target").EVENTNAME, import("@masx200/event-emitter-target").EVENTLISTENER[]]>;
17-
entries: () => IterableIterator<[import("@masx200/event-emitter-target").EVENTNAME, import("@masx200/event-emitter-target").EVENTLISTENER[]]>;
18-
listenerCount: (name: import("@masx200/event-emitter-target").EVENTNAME) => number;
19-
clear: (name: import("@masx200/event-emitter-target").EVENTNAME) => void;
20-
removeAllListeners: (name: import("@masx200/event-emitter-target").EVENTNAME) => void;
21-
on: (name: import("@masx200/event-emitter-target").EVENTNAME, callback: import("@masx200/event-emitter-target").EVENTLISTENER) => void;
22-
addListener: (name: import("@masx200/event-emitter-target").EVENTNAME, callback: import("@masx200/event-emitter-target").EVENTLISTENER) => void;
23-
off: (name: import("@masx200/event-emitter-target").EVENTNAME, callback: import("@masx200/event-emitter-target").EVENTLISTENER) => void;
24-
removeListener: (name: import("@masx200/event-emitter-target").EVENTNAME, callback: import("@masx200/event-emitter-target").EVENTLISTENER) => void;
25-
once: (name: import("@masx200/event-emitter-target").EVENTNAME, callback: import("@masx200/event-emitter-target").EVENTLISTENER) => void;
26-
emit: (name: import("@masx200/event-emitter-target").EVENTNAME, event?: any) => void;
27-
dispatch: (name: import("@masx200/event-emitter-target").EVENTNAME, event?: any) => void;
28-
eventNames: () => import("@masx200/event-emitter-target").EVENTNAME[];
29-
listeners: (name: import("@masx200/event-emitter-target").EVENTNAME) => import("@masx200/event-emitter-target").EVENTLISTENER[];
30-
};
31-
};
32-
export {};
1+
export declare type 空闲状态 = "free" | "full";
2+
import { AsyncCurrentLimiter } from './AsyncCurrentLimiter';
3+
export declare function createlimiter(max: number): AsyncCurrentLimiter;

dist/src/index.d.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
1-
import { statusdata } from "./status-event";
1+
import { AsyncCurrentLimiter } from "./AsyncCurrentLimiter";
22
import { createlimiter } from "./createlimiter";
3+
import { statusdata } from "./status-event";
34
interface Constructor<T extends (...args: any[]) => any> {
45
new (...args: Parameters<T>): ReturnType<T>;
56
(...args: Parameters<T>): ReturnType<T>;
67
}
78
export declare type AsyncLimiterConstructor = Constructor<typeof createlimiter>;
9+
export { AsyncCurrentLimiter };
10+
export { statusdata };
811
declare const _default: AsyncLimiterConstructor;
912
export default _default;
10-
export { statusdata };

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
"registry": "https://registry.npmjs.org/"
44
},
55
"private": false,
6-
"version": "1.0.4",
7-
"types": "./dist/index.d.ts",
6+
"version": "1.0.6",
7+
"types": "./dist/src/index.d.ts",
88
"main": "./dist/index.min.js",
99
"module": "./dist/index.min.js",
1010
"type": "module",

rollup.config.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ const mybabelplugin = babel({
2323
]
2424
});
2525
const myterserplugin = terser({
26-
module:true,
26+
module: true,
2727
sourcemap: true,
2828
toplevel: true,
2929
output: {
@@ -37,7 +37,7 @@ const myterserplugin = terser({
3737
drop_debugger: true,
3838
pure_funcs: ["console.log"]
3939
},
40-
mangle:true
40+
mangle: true
4141
});
4242
export default [
4343
{
@@ -55,7 +55,7 @@ export default [
5555
sourcemaps(),
5656
json(),
5757
resolve(),
58-
commonjs(),
58+
commonjs()
5959
// myterserplugin
6060
]
6161
},
@@ -73,7 +73,7 @@ export default [
7373
sourcemaps(),
7474
json(),
7575
resolve(),
76-
commonjs(),
76+
commonjs()
7777

7878
// myterserplugin
7979
]

src/AsyncCurrentLimiter.ts

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
import { 空闲状态 } from './createlimiter';
2+
export interface AsyncCurrentLimiter {
3+
[Symbol.toStringTag]: string;
4+
asyncwrap: <T extends (...args: any[]) => Promise<any>>(fun: T) => T;
5+
status: () => 空闲状态;
6+
limiter: {
7+
readonly max: number;
8+
readonly current: number;
9+
};
10+
queue: {
11+
readonly max: number;
12+
readonly current: number;
13+
};
14+
target: {
15+
[Symbol.toPrimitive]: () => string;
16+
[Symbol.toStringTag]: string;
17+
[Symbol.iterator]: () => IterableIterator<[import("@masx200/event-emitter-target").EVENTNAME, import("@masx200/event-emitter-target").EVENTLISTENER[]]>;
18+
entries: () => IterableIterator<[import("@masx200/event-emitter-target").EVENTNAME, import("@masx200/event-emitter-target").EVENTLISTENER[]]>;
19+
listenerCount: (name: import("@masx200/event-emitter-target").EVENTNAME) => number;
20+
clear: (name: import("@masx200/event-emitter-target").EVENTNAME) => void;
21+
removeAllListeners: (name: import("@masx200/event-emitter-target").EVENTNAME) => void;
22+
on: (name: import("@masx200/event-emitter-target").EVENTNAME, callback: import("@masx200/event-emitter-target").EVENTLISTENER) => void;
23+
addListener: (name: import("@masx200/event-emitter-target").EVENTNAME, callback: import("@masx200/event-emitter-target").EVENTLISTENER) => void;
24+
off: (name: import("@masx200/event-emitter-target").EVENTNAME, callback: import("@masx200/event-emitter-target").EVENTLISTENER) => void;
25+
removeListener: (name: import("@masx200/event-emitter-target").EVENTNAME, callback: import("@masx200/event-emitter-target").EVENTLISTENER) => void;
26+
once: (name: import("@masx200/event-emitter-target").EVENTNAME, callback: import("@masx200/event-emitter-target").EVENTLISTENER) => void;
27+
emit: (name: import("@masx200/event-emitter-target").EVENTNAME, event?: any) => void;
28+
dispatch: (name: import("@masx200/event-emitter-target").EVENTNAME, event?: any) => void;
29+
eventNames: () => import("@masx200/event-emitter-target").EVENTNAME[];
30+
listeners: (name: import("@masx200/event-emitter-target").EVENTNAME) => import("@masx200/event-emitter-target").EVENTLISTENER[];
31+
};
32+
}

0 commit comments

Comments
 (0)