jc-structure 0.0.1 → 0.0.3
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.
- package/dist/jc-structure.js +34 -1
- package/dist/jc-structure.umd.cjs +1 -1
- package/index.d.ts +1 -1
- package/package.json +5 -3
- package/types/queue.d.ts +16 -0
- package/types/stack.d.ts +2 -2
package/dist/jc-structure.js
CHANGED
|
@@ -1,4 +1,36 @@
|
|
|
1
1
|
class e {
|
|
2
|
+
items = {};
|
|
3
|
+
count = 0;
|
|
4
|
+
lowestCount = 0;
|
|
5
|
+
constructor() {
|
|
6
|
+
}
|
|
7
|
+
dequeue() {
|
|
8
|
+
if (this.isEmpty()) return;
|
|
9
|
+
const t = this.items[this.lowestCount];
|
|
10
|
+
return delete this.items[this.lowestCount], this.lowestCount++, t;
|
|
11
|
+
}
|
|
12
|
+
enqueue(...t) {
|
|
13
|
+
t.forEach((s) => {
|
|
14
|
+
this.items[this.count] = s, this.count++;
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
front() {
|
|
18
|
+
return this.isEmpty() ? void 0 : this.items[this.lowestCount];
|
|
19
|
+
}
|
|
20
|
+
isEmpty() {
|
|
21
|
+
return this.size() === 0;
|
|
22
|
+
}
|
|
23
|
+
size() {
|
|
24
|
+
return this.count - this.lowestCount;
|
|
25
|
+
}
|
|
26
|
+
clear() {
|
|
27
|
+
this.items = {}, this.count = 0, this.lowestCount = 0;
|
|
28
|
+
}
|
|
29
|
+
toString() {
|
|
30
|
+
return this.isEmpty() ? "" : `Queue(size: ${this.size()}):[${this.items[this.lowestCount]},...rest]`;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
class o {
|
|
2
34
|
items = {};
|
|
3
35
|
count = 0;
|
|
4
36
|
constructor() {
|
|
@@ -31,5 +63,6 @@ class e {
|
|
|
31
63
|
}
|
|
32
64
|
}
|
|
33
65
|
export {
|
|
34
|
-
e as
|
|
66
|
+
e as Queue,
|
|
67
|
+
o as Stack
|
|
35
68
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(t,
|
|
1
|
+
(function(t,e){typeof exports=="object"&&typeof module<"u"?e(exports):typeof define=="function"&&define.amd?define(["exports"],e):(t=typeof globalThis<"u"?globalThis:t||self,e(t["jc-structure"]={}))})(this,(function(t){"use strict";class e{items={};count=0;lowestCount=0;constructor(){}dequeue(){if(this.isEmpty())return;const s=this.items[this.lowestCount];return delete this.items[this.lowestCount],this.lowestCount++,s}enqueue(...s){s.forEach(i=>{this.items[this.count]=i,this.count++})}front(){return this.isEmpty()?void 0:this.items[this.lowestCount]}isEmpty(){return this.size()===0}size(){return this.count-this.lowestCount}clear(){this.items={},this.count=0,this.lowestCount=0}toString(){return this.isEmpty()?"":`Queue(size: ${this.size()}):[${this.items[this.lowestCount]},...rest]`}}class u{items={};count=0;constructor(){}pop(){if(this.isEmpty())return;this.count--;const s=this.items[this.count];return delete this.items[this.count],s}push(...s){s.forEach(i=>{this.items[this.count]=i,this.count++})}peek(){return this.isEmpty()?void 0:this.items[this.count-1]}isEmpty(){return this.count===0}size(){return this.count}clear(){this.items={},this.count=0}toString(){return this.isEmpty()?"":`Stack(count: ${this.count}):[${this.items[this.count-1]},...rest]`}}t.Queue=e,t.Stack=u,Object.defineProperty(t,Symbol.toStringTag,{value:"Module"})}));
|
package/index.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "jc-structure",
|
|
3
3
|
"private": false,
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.3",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"files": [
|
|
7
7
|
"dist",
|
|
@@ -30,10 +30,12 @@
|
|
|
30
30
|
},
|
|
31
31
|
"scripts": {
|
|
32
32
|
"dev": "vite",
|
|
33
|
-
"build": "tsc && vite build"
|
|
33
|
+
"build": "tsc && vite build",
|
|
34
|
+
"test": "vitest"
|
|
34
35
|
},
|
|
35
36
|
"devDependencies": {
|
|
36
37
|
"typescript": "~5.9.2",
|
|
37
|
-
"vite": "^7.1.5"
|
|
38
|
+
"vite": "^7.1.5",
|
|
39
|
+
"vitest": "^4.0.15"
|
|
38
40
|
}
|
|
39
41
|
}
|
package/types/queue.d.ts
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
interface IQueue<T> extends Structure {
|
|
2
|
+
/**
|
|
3
|
+
* #### 移除队列头部元素并返回该元素
|
|
4
|
+
*/
|
|
5
|
+
dequeue(): T | undefined;
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* #### 向队列末尾添加元素
|
|
9
|
+
* @param args 要添加的元素
|
|
10
|
+
*/
|
|
11
|
+
enqueue(...args: Array<T>): void;
|
|
12
|
+
/**
|
|
13
|
+
* #### 返回队列头部元素,但不移除
|
|
14
|
+
*/
|
|
15
|
+
front(): T | undefined;
|
|
16
|
+
}
|