loudo-ds-lmap 0.0.1 → 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/index.d.ts +5 -5
- package/dist/index.js +3 -2
- package/package.json +2 -2
package/dist/index.d.ts
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
import { Entry, MapChange, MapRemove } from "loudo-ds-map-interfaces";
|
1
|
+
import { Entry, MapChange, MapInput, MapRemove } from "loudo-ds-map-interfaces";
|
2
2
|
interface Bucket<K, V> {
|
3
3
|
key: K;
|
4
4
|
value: V;
|
@@ -8,7 +8,7 @@ interface Bucket<K, V> {
|
|
8
8
|
chain: B<K, V>;
|
9
9
|
}
|
10
10
|
type B<K, V> = Bucket<K, V> | null;
|
11
|
-
export interface
|
11
|
+
export interface LMapConfig<K extends {}, V extends {}> {
|
12
12
|
readonly load?: number;
|
13
13
|
hashCode(key: K): number;
|
14
14
|
keyEq?(key1: K, key2: K): boolean;
|
@@ -16,11 +16,11 @@ export interface HashConfig<K extends {}, V extends {}> {
|
|
16
16
|
}
|
17
17
|
export declare class LMap<K extends {}, V extends {}> {
|
18
18
|
#private;
|
19
|
-
readonly config:
|
19
|
+
readonly config: LMapConfig<K, V>;
|
20
20
|
private buckets;
|
21
21
|
firstB: B<K, V>;
|
22
22
|
lastB: B<K, V>;
|
23
|
-
constructor(config:
|
23
|
+
constructor(input: MapInput<K, V>, config: LMapConfig<K, V>);
|
24
24
|
get size(): number;
|
25
25
|
get first(): Entry<K, V> | undefined;
|
26
26
|
get last(): Entry<K, V> | undefined;
|
@@ -34,7 +34,7 @@ export declare class LMap<K extends {}, V extends {}> {
|
|
34
34
|
private grow;
|
35
35
|
private bucket;
|
36
36
|
put(key: K, value: V): V | undefined;
|
37
|
-
|
37
|
+
removeKey(key: K): V | undefined;
|
38
38
|
clear(): void;
|
39
39
|
}
|
40
40
|
export interface LMap<K extends {}, V extends {}> extends MapChange<K, V>, MapRemove<K, V> {
|
package/dist/index.js
CHANGED
@@ -13,7 +13,7 @@ var _LMap_size;
|
|
13
13
|
import { mixin, toTin, OnlyError } from "loudo-ds-core";
|
14
14
|
import { MapChange, MapRemove } from "loudo-ds-map-interfaces";
|
15
15
|
export class LMap {
|
16
|
-
constructor(config) {
|
16
|
+
constructor(input, config) {
|
17
17
|
this.buckets = [];
|
18
18
|
this.firstB = null;
|
19
19
|
this.lastB = null;
|
@@ -22,6 +22,7 @@ export class LMap {
|
|
22
22
|
for (let i = 0; i < 4; i++) {
|
23
23
|
this.buckets.push(null);
|
24
24
|
}
|
25
|
+
this.putAll(input);
|
25
26
|
}
|
26
27
|
get size() { return __classPrivateFieldGet(this, _LMap_size, "f"); }
|
27
28
|
get first() { var _a; return (_a = this.firstB) !== null && _a !== void 0 ? _a : undefined; }
|
@@ -107,7 +108,7 @@ export class LMap {
|
|
107
108
|
this.fire({ cleared: false, added: { elements: toTin([bucket]), at: undefined, count: 1 } });
|
108
109
|
return undefined;
|
109
110
|
}
|
110
|
-
|
111
|
+
removeKey(key) {
|
111
112
|
var _a;
|
112
113
|
const hash = this.config.hashCode(key);
|
113
114
|
let prev = null;
|
package/package.json
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"name": "loudo-ds-lmap",
|
3
3
|
"type": "module",
|
4
|
-
"version": "0.0.
|
4
|
+
"version": "0.0.2",
|
5
5
|
"description": "Flexible loud map.",
|
6
6
|
"main": "dist/index.js",
|
7
7
|
"types": "dist/index.d.ts",
|
@@ -33,6 +33,6 @@
|
|
33
33
|
"vitest": "^2.1.4"
|
34
34
|
},
|
35
35
|
"dependencies": {
|
36
|
-
"loudo-ds-map-interfaces": "^0.0.
|
36
|
+
"loudo-ds-map-interfaces": "^0.0.6"
|
37
37
|
}
|
38
38
|
}
|