@e280/stz 0.0.0-34 → 0.0.0-35
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/README.md +2 -2
- package/package.json +1 -1
- package/s/map-g.ts +8 -9
- package/x/map-g.d.ts +2 -2
- package/x/map-g.js +8 -7
- package/x/map-g.js.map +1 -1
package/README.md
CHANGED
|
@@ -23,12 +23,12 @@ const map = new MapG<number, string>([
|
|
|
23
23
|
])
|
|
24
24
|
```
|
|
25
25
|
|
|
26
|
-
- `map.require(key)` —
|
|
26
|
+
- `map.require(key)` — returns the value for key — if missing, throw an error
|
|
27
27
|
```ts
|
|
28
28
|
const value = map.require(1)
|
|
29
29
|
// "hello"
|
|
30
30
|
```
|
|
31
|
-
- `map.guarantee(key, make)` — returns the value for `key
|
|
31
|
+
- `map.guarantee(key, make)` — returns the value for `key` — if missing, run `make` to set the value and return it
|
|
32
32
|
```ts
|
|
33
33
|
const value = map.guarantee(3, () => "rofl")
|
|
34
34
|
// "rofl"
|
package/package.json
CHANGED
package/s/map-g.ts
CHANGED
|
@@ -2,21 +2,20 @@
|
|
|
2
2
|
/** extended js map with handy methods like `require` and `guarantee` */
|
|
3
3
|
export class MapG<K, V> extends Map<K, V> {
|
|
4
4
|
static require<K, V>(map: Map<K, V>, key: K) {
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
if (map.has(key))
|
|
6
|
+
return map.get(key)!
|
|
7
|
+
else
|
|
7
8
|
throw new Error(`required key not found: "${key}"`)
|
|
8
|
-
return value as V
|
|
9
9
|
}
|
|
10
10
|
|
|
11
11
|
static guarantee<K, V>(map: Map<K, V>, key: K, make: () => V) {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
value = make()
|
|
12
|
+
if (map.has(key))
|
|
13
|
+
return map.get(key)!
|
|
14
|
+
else {
|
|
15
|
+
const value = make()
|
|
16
16
|
map.set(key, value)
|
|
17
|
+
return value
|
|
17
18
|
}
|
|
18
|
-
|
|
19
|
-
return value
|
|
20
19
|
}
|
|
21
20
|
|
|
22
21
|
array() {
|
package/x/map-g.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/** extended js map with handy methods like `require` and `guarantee` */
|
|
2
2
|
export declare class MapG<K, V> extends Map<K, V> {
|
|
3
|
-
static require<K, V>(map: Map<K, V>, key: K): V
|
|
3
|
+
static require<K, V>(map: Map<K, V>, key: K): NonNullable<V>;
|
|
4
4
|
static guarantee<K, V>(map: Map<K, V>, key: K, make: () => V): V;
|
|
5
5
|
array(): [K, V][];
|
|
6
|
-
require(key: K): V
|
|
6
|
+
require(key: K): NonNullable<V>;
|
|
7
7
|
guarantee(key: K, make: () => V): V;
|
|
8
8
|
}
|
|
9
9
|
export type Identifiable<Id = any> = {
|
package/x/map-g.js
CHANGED
|
@@ -1,18 +1,19 @@
|
|
|
1
1
|
/** extended js map with handy methods like `require` and `guarantee` */
|
|
2
2
|
export class MapG extends Map {
|
|
3
3
|
static require(map, key) {
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
if (map.has(key))
|
|
5
|
+
return map.get(key);
|
|
6
|
+
else
|
|
6
7
|
throw new Error(`required key not found: "${key}"`);
|
|
7
|
-
return value;
|
|
8
8
|
}
|
|
9
9
|
static guarantee(map, key, make) {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
if (map.has(key))
|
|
11
|
+
return map.get(key);
|
|
12
|
+
else {
|
|
13
|
+
const value = make();
|
|
13
14
|
map.set(key, value);
|
|
15
|
+
return value;
|
|
14
16
|
}
|
|
15
|
-
return value;
|
|
16
17
|
}
|
|
17
18
|
array() {
|
|
18
19
|
return [...this];
|
package/x/map-g.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"map-g.js","sourceRoot":"","sources":["../s/map-g.ts"],"names":[],"mappings":"AACA,wEAAwE;AACxE,MAAM,OAAO,IAAW,SAAQ,GAAS;IACxC,MAAM,CAAC,OAAO,CAAO,GAAc,EAAE,GAAM;QAC1C,
|
|
1
|
+
{"version":3,"file":"map-g.js","sourceRoot":"","sources":["../s/map-g.ts"],"names":[],"mappings":"AACA,wEAAwE;AACxE,MAAM,OAAO,IAAW,SAAQ,GAAS;IACxC,MAAM,CAAC,OAAO,CAAO,GAAc,EAAE,GAAM;QAC1C,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC;YACf,OAAO,GAAG,CAAC,GAAG,CAAC,GAAG,CAAE,CAAA;;YAEpB,MAAM,IAAI,KAAK,CAAC,4BAA4B,GAAG,GAAG,CAAC,CAAA;IACrD,CAAC;IAED,MAAM,CAAC,SAAS,CAAO,GAAc,EAAE,GAAM,EAAE,IAAa;QAC3D,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC;YACf,OAAO,GAAG,CAAC,GAAG,CAAC,GAAG,CAAE,CAAA;aAChB,CAAC;YACL,MAAM,KAAK,GAAG,IAAI,EAAE,CAAA;YACpB,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;YACnB,OAAO,KAAK,CAAA;QACb,CAAC;IACF,CAAC;IAED,KAAK;QACJ,OAAO,CAAC,GAAG,IAAI,CAAC,CAAA;IACjB,CAAC;IAED,OAAO,CAAC,GAAM;QACb,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;IAC/B,CAAC;IAED,SAAS,CAAC,GAAM,EAAE,IAAa;QAC9B,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA;IACvC,CAAC;CACD;AAID,oDAAoD;AACpD,MAAM,OAAO,KAA8B,SAAQ,IAAgB;IAClE,GAAG,CAAC,KAAQ;QACX,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IAC1B,CAAC;IAED,GAAG,CAAC,KAAQ;QACX,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;QACzB,OAAO,KAAK,CAAA;IACb,CAAC;IAED,MAAM,CAAC,KAAQ;QACd,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IAC7B,CAAC;CACD"}
|