@e280/stz 0.0.0-3 → 0.0.0-30

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 (169) hide show
  1. package/README.md +170 -0
  2. package/package.json +14 -7
  3. package/s/clone/clone.test.ts +123 -123
  4. package/s/coalesce.ts +1 -0
  5. package/s/data/base-x.ts +170 -0
  6. package/s/data/base58.ts +15 -5
  7. package/s/data/base64.ts +15 -6
  8. package/s/data/base64url.ts +15 -6
  9. package/s/data/bytename/bytename.test.ts +49 -0
  10. package/s/data/{barname/barname.ts → bytename/bytename.ts} +38 -10
  11. package/s/data/bytename/index.ts +4 -0
  12. package/s/data/bytename/thumbprint.test.ts +53 -0
  13. package/s/data/bytename/thumbprint.ts +112 -0
  14. package/s/data/bytes.ts +12 -2
  15. package/s/data/data.test.ts +98 -0
  16. package/s/data/hex.ts +15 -5
  17. package/s/data/txt.ts +14 -4
  18. package/s/deadline.ts +1 -0
  19. package/s/debounce/debounce.test.ts +73 -73
  20. package/s/deep/deep.test.ts +8 -8
  21. package/s/deep/parts/equal.test.ts +123 -124
  22. package/s/{defer-promise.ts → defer.ts} +2 -2
  23. package/s/drill.ts +2 -4
  24. package/s/ev.ts +20 -0
  25. package/s/id-counter.ts +9 -0
  26. package/s/index.ts +16 -2
  27. package/s/is.ts +10 -4
  28. package/s/loopy.ts +12 -0
  29. package/s/map-g.ts +2 -2
  30. package/s/nap.ts +1 -0
  31. package/s/once.ts +14 -0
  32. package/s/pubsub.ts +24 -6
  33. package/s/queue/queue.test.ts +67 -0
  34. package/s/queue/queue.ts +21 -0
  35. package/s/repeat.ts +25 -0
  36. package/s/tests.test.ts +21 -0
  37. package/s/time.ts +22 -0
  38. package/x/clone/clone.test.d.ts +15 -1
  39. package/x/clone/clone.test.js +106 -124
  40. package/x/clone/clone.test.js.map +1 -1
  41. package/x/coalesce.d.ts +1 -0
  42. package/x/coalesce.js +1 -0
  43. package/x/coalesce.js.map +1 -1
  44. package/x/data/base-x.d.ts +47 -0
  45. package/x/data/base-x.js +147 -0
  46. package/x/data/base-x.js.map +1 -0
  47. package/x/data/base58.d.ts +5 -1
  48. package/x/data/base58.js +13 -5
  49. package/x/data/base58.js.map +1 -1
  50. package/x/data/base64.d.ts +7 -3
  51. package/x/data/base64.js +13 -5
  52. package/x/data/base64.js.map +1 -1
  53. package/x/data/base64url.d.ts +5 -1
  54. package/x/data/base64url.js +13 -5
  55. package/x/data/base64url.js.map +1 -1
  56. package/x/data/bytename/bytename.d.ts +19 -0
  57. package/x/data/{barname/barname.js → bytename/bytename.js} +27 -11
  58. package/x/data/bytename/bytename.js.map +1 -0
  59. package/x/data/bytename/bytename.test.d.ts +17 -0
  60. package/x/data/bytename/bytename.test.js +41 -0
  61. package/x/data/bytename/bytename.test.js.map +1 -0
  62. package/x/data/bytename/index.d.ts +2 -0
  63. package/x/data/bytename/index.js +3 -0
  64. package/x/data/bytename/index.js.map +1 -0
  65. package/x/data/bytename/thumbprint.d.ts +36 -0
  66. package/x/data/bytename/thumbprint.js +79 -0
  67. package/x/data/bytename/thumbprint.js.map +1 -0
  68. package/x/data/bytename/thumbprint.test.d.ts +24 -0
  69. package/x/data/bytename/thumbprint.test.js +45 -0
  70. package/x/data/bytename/thumbprint.test.js.map +1 -0
  71. package/x/data/bytename/utils/prefixes.js.map +1 -0
  72. package/x/data/bytename/utils/suffixes.js.map +1 -0
  73. package/x/data/bytes.d.ts +3 -2
  74. package/x/data/bytes.js +11 -2
  75. package/x/data/bytes.js.map +1 -1
  76. package/x/data/data.test.d.ts +69 -0
  77. package/x/data/data.test.js +77 -0
  78. package/x/data/data.test.js.map +1 -0
  79. package/x/data/hex.d.ts +8 -4
  80. package/x/data/hex.js +13 -5
  81. package/x/data/hex.js.map +1 -1
  82. package/x/data/txt.d.ts +6 -2
  83. package/x/data/txt.js +12 -4
  84. package/x/data/txt.js.map +1 -1
  85. package/x/debounce/debounce.test.d.ts +8 -1
  86. package/x/debounce/debounce.test.js +70 -74
  87. package/x/debounce/debounce.test.js.map +1 -1
  88. package/x/deep/deep.test.d.ts +21 -1
  89. package/x/deep/deep.test.js +5 -9
  90. package/x/deep/deep.test.js.map +1 -1
  91. package/x/deep/parts/equal.test.d.ts +19 -1
  92. package/x/deep/parts/equal.test.js +107 -125
  93. package/x/deep/parts/equal.test.js.map +1 -1
  94. package/x/{defer-promise.d.ts → defer.d.ts} +2 -2
  95. package/x/{defer-promise.js → defer.js} +2 -2
  96. package/x/defer.js.map +1 -0
  97. package/x/drill.d.ts +1 -3
  98. package/x/drill.js +2 -4
  99. package/x/drill.js.map +1 -1
  100. package/x/ev.d.ts +6 -0
  101. package/x/ev.js +10 -0
  102. package/x/ev.js.map +1 -0
  103. package/x/id-counter.d.ts +5 -0
  104. package/x/id-counter.js +10 -0
  105. package/x/id-counter.js.map +1 -0
  106. package/x/index.d.ts +13 -2
  107. package/x/index.js +13 -2
  108. package/x/index.js.map +1 -1
  109. package/x/is.d.ts +6 -4
  110. package/x/is.js +6 -4
  111. package/x/is.js.map +1 -1
  112. package/x/loopy.d.ts +2 -0
  113. package/x/loopy.js +10 -0
  114. package/x/loopy.js.map +1 -0
  115. package/x/map-g.d.ts +3 -3
  116. package/x/map-g.js +1 -1
  117. package/x/map-g.js.map +1 -1
  118. package/x/nap.d.ts +1 -0
  119. package/x/nap.js +1 -0
  120. package/x/nap.js.map +1 -1
  121. package/x/once.d.ts +1 -0
  122. package/x/once.js +12 -0
  123. package/x/once.js.map +1 -0
  124. package/x/pubsub.d.ts +12 -1
  125. package/x/pubsub.js +7 -5
  126. package/x/pubsub.js.map +1 -1
  127. package/x/queue/queue.d.ts +4 -0
  128. package/x/queue/queue.js +14 -0
  129. package/x/queue/queue.js.map +1 -0
  130. package/x/queue/queue.test.d.ts +8 -0
  131. package/x/queue/queue.test.js +57 -0
  132. package/x/queue/queue.test.js.map +1 -0
  133. package/x/repeat.d.ts +5 -0
  134. package/x/repeat.js +23 -0
  135. package/x/repeat.js.map +1 -0
  136. package/x/tests.test.js +18 -0
  137. package/x/tests.test.js.map +1 -0
  138. package/x/time.d.ts +18 -0
  139. package/x/time.js +19 -0
  140. package/x/time.js.map +1 -0
  141. package/readme.md +0 -85
  142. package/s/data/anka.ts +0 -66
  143. package/s/data/barname/badge.ts +0 -78
  144. package/s/data/barname/demo.ts +0 -49
  145. package/s/data/barname/index.ts +0 -4
  146. package/x/data/anka.d.ts +0 -5
  147. package/x/data/anka.js +0 -53
  148. package/x/data/anka.js.map +0 -1
  149. package/x/data/barname/badge.d.ts +0 -25
  150. package/x/data/barname/badge.js +0 -64
  151. package/x/data/barname/badge.js.map +0 -1
  152. package/x/data/barname/barname.d.ts +0 -7
  153. package/x/data/barname/barname.js.map +0 -1
  154. package/x/data/barname/demo.js +0 -45
  155. package/x/data/barname/demo.js.map +0 -1
  156. package/x/data/barname/index.d.ts +0 -2
  157. package/x/data/barname/index.js +0 -3
  158. package/x/data/barname/index.js.map +0 -1
  159. package/x/data/barname/utils/prefixes.js.map +0 -1
  160. package/x/data/barname/utils/suffixes.js.map +0 -1
  161. package/x/defer-promise.js.map +0 -1
  162. /package/{license → LICENSE} +0 -0
  163. /package/s/data/{barname → bytename}/utils/prefixes.ts +0 -0
  164. /package/s/data/{barname → bytename}/utils/suffixes.ts +0 -0
  165. /package/x/data/{barname → bytename}/utils/prefixes.d.ts +0 -0
  166. /package/x/data/{barname → bytename}/utils/prefixes.js +0 -0
  167. /package/x/data/{barname → bytename}/utils/suffixes.d.ts +0 -0
  168. /package/x/data/{barname → bytename}/utils/suffixes.js +0 -0
  169. /package/x/{data/barname/demo.d.ts → tests.test.d.ts} +0 -0
@@ -1,126 +1,108 @@
1
- export {};
2
- //
3
- // import {Suite, expect} from "cynic"
4
- // import {deepEqual} from "./equal.js"
5
- //
6
- // export default <Suite>{
7
- //
8
- // async "compare primitive types"() {
9
- // expect(deepEqual(123, 123)).equals(true)
10
- // expect(deepEqual("abc", "abc")).equals(true)
11
- // expect(deepEqual(true, true)).equals(true)
12
- // expect(deepEqual(123, "123")).equals(false)
13
- // expect(deepEqual(true, 1)).equals(false)
14
- // },
15
- //
16
- // async "compare arrays"() {
17
- // const array1 = [1, 2, 3]
18
- // const array2 = [1, 2, 3]
19
- // const array3 = [1, 2, 4]
20
- // expect(deepEqual(array1, array2)).equals(true)
21
- // expect(deepEqual(array1, array3)).equals(false)
22
- // },
23
- //
24
- // async "compare plain objects"() {
25
- // const obj1 = { foo: "bar", baz: 123 }
26
- // const obj2 = { foo: "bar", baz: 123 }
27
- // const obj3 = { foo: "bar", baz: 124 }
28
- // expect(deepEqual(obj1, obj2)).equals(true)
29
- // expect(deepEqual(obj1, obj3)).equals(false)
30
- // },
31
- //
32
- // async "compare nested objects"() {
33
- // const obj1 = { foo: "bar", inner: { baz: 123, deeper: { qux: true }}}
34
- // const obj2 = { foo: "bar", inner: { baz: 123, deeper: { qux: true }}}
35
- // const obj3 = { foo: "bar", inner: { baz: 124, deeper: { qux: true }}}
36
- // expect(deepEqual(obj1, obj2)).equals(true)
37
- // expect(deepEqual(obj1, obj3)).equals(false)
38
- // },
39
- //
40
- // async "compare array of objects"() {
41
- // const arr1 = [{ foo: "bar" }, { baz: 123 }, { qux: true }]
42
- // const arr2 = [{ foo: "bar" }, { baz: 123 }, { qux: true }]
43
- // const arr3 = [{ foo: "bar" }, { baz: 123 }, { qux: false }]
44
- // expect(deepEqual(arr1, arr2)).equals(true)
45
- // expect(deepEqual(arr1, arr3)).equals(false)
46
- // },
47
- //
48
- // async "compare null and undefined"() {
49
- // expect(deepEqual(null, null)).equals(true)
50
- // expect(deepEqual(undefined, undefined)).equals(true)
51
- // expect(deepEqual(null, undefined)).equals(false)
52
- // },
53
- //
54
- // async "compare with nested arrays"() {
55
- // const obj1 = { foo: "bar", array: [1, 2, [3, 4]] }
56
- // const obj2 = { foo: "bar", array: [1, 2, [3, 4]] }
57
- // const obj3 = { foo: "bar", array: [1, 2, [3, 5]] }
58
- // expect(deepEqual(obj1, obj2)).equals(true)
59
- // expect(deepEqual(obj1, obj3)).equals(false)
60
- // },
61
- //
62
- // async "circularity is forbidden"() {
63
- // const obj1 = {alpha: 1} as any
64
- // const obj2 = {alpha: 1} as any
65
- // obj1.bravo = obj1
66
- // obj2.bravo = obj2
67
- // expect(() => deepEqual(obj1, obj2)).throws()
68
- // },
69
- //
70
- // async "duplicate references are allowed"() {
71
- // const dupe = {a: 123}
72
- // const obj1 = {alpha: 1, dupe}
73
- // const obj2 = {alpha: 1, dupe}
74
- // const obj3 = {alpha: 1, dupe: {a: 0}}
75
- // expect(deepEqual(obj1, obj2)).equals(true)
76
- // expect(deepEqual(obj1, obj3)).equals(false)
77
- // },
78
- //
79
- // "maps and sets": {
80
- // async "compare maps"() {
81
- // const map1 = new Map([['key1', 'value1'], ['key2', 'value2']])
82
- // const map2 = new Map([['key1', 'value1'], ['key2', 'value2']])
83
- // const map3 = new Map([['key1', 'value1'], ['key2', 'value3']])
84
- // expect(deepEqual(map1, map2)).equals(true)
85
- // expect(deepEqual(map1, map3)).equals(false)
86
- // },
87
- //
88
- // async "compare sets"() {
89
- // const set1 = new Set([1, 2, 3])
90
- // const set2 = new Set([1, 2, 3])
91
- // const set3 = new Set([1, 2, 4])
92
- // expect(deepEqual(set1, set2)).equals(true)
93
- // expect(deepEqual(set1, set3)).equals(false)
94
- // },
95
- //
96
- // async "compare nested maps and sets"() {
97
- // const obj1 = { map: new Map([['key', new Set([1, 2, 3])]]) }
98
- // const obj2 = { map: new Map([['key', new Set([1, 2, 3])]]) }
99
- // const obj3 = { map: new Map([['key', new Set([1, 2, 4])]]) }
100
- // expect(deepEqual(obj1, obj2)).equals(true)
101
- // expect(deepEqual(obj1, obj3)).equals(false)
102
- // },
103
- //
104
- // async "compare complex structures"() {
105
- // const map1 = new Map([['set', new Set([{ a: 1 }, { b: 2 }])]])
106
- // const map2 = new Map([['set', new Set([{ a: 1 }, { b: 2 }])]])
107
- // const map3 = new Map([['set', new Set([{ a: 1 }, { b: 3 }])]])
108
- // expect(deepEqual(map1, map2)).equals(true)
109
- // expect(deepEqual(map1, map3)).equals(false)
110
- // },
111
- //
112
- // async "compare edge cases"() {
113
- // const emptyMap1 = new Map()
114
- // const emptyMap2 = new Map()
115
- // const emptySet1 = new Set()
116
- // const emptySet2 = new Set()
117
- // const mixedMap1 = new Map([['b', 2], ['a', 1]])
118
- // const mixedMap2 = new Map([['a', 1], ['b', 2]])
119
- // expect(deepEqual(emptyMap1, emptyMap2)).equals(true)
120
- // expect(deepEqual(emptySet1, emptySet2)).equals(true)
121
- // expect(deepEqual(mixedMap1, mixedMap2)).equals(true)
122
- // },
123
- // },
124
- // }
125
- //
1
+ import { deepEqual } from "./equal.js";
2
+ import { Science, expect } from "@e280/science";
3
+ export default Science.suite({
4
+ async "compare primitive types"() {
5
+ expect(deepEqual(123, 123)).is(true);
6
+ expect(deepEqual("abc", "abc")).is(true);
7
+ expect(deepEqual(true, true)).is(true);
8
+ expect(deepEqual(123, "123")).is(false);
9
+ expect(deepEqual(true, 1)).is(false);
10
+ },
11
+ async "compare arrays"() {
12
+ const array1 = [1, 2, 3];
13
+ const array2 = [1, 2, 3];
14
+ const array3 = [1, 2, 4];
15
+ expect(deepEqual(array1, array2)).is(true);
16
+ expect(deepEqual(array1, array3)).is(false);
17
+ },
18
+ async "compare plain objects"() {
19
+ const obj1 = { foo: "bar", baz: 123 };
20
+ const obj2 = { foo: "bar", baz: 123 };
21
+ const obj3 = { foo: "bar", baz: 124 };
22
+ expect(deepEqual(obj1, obj2)).is(true);
23
+ expect(deepEqual(obj1, obj3)).is(false);
24
+ },
25
+ async "compare nested objects"() {
26
+ const obj1 = { foo: "bar", inner: { baz: 123, deeper: { qux: true } } };
27
+ const obj2 = { foo: "bar", inner: { baz: 123, deeper: { qux: true } } };
28
+ const obj3 = { foo: "bar", inner: { baz: 124, deeper: { qux: true } } };
29
+ expect(deepEqual(obj1, obj2)).is(true);
30
+ expect(deepEqual(obj1, obj3)).is(false);
31
+ },
32
+ async "compare array of objects"() {
33
+ const arr1 = [{ foo: "bar" }, { baz: 123 }, { qux: true }];
34
+ const arr2 = [{ foo: "bar" }, { baz: 123 }, { qux: true }];
35
+ const arr3 = [{ foo: "bar" }, { baz: 123 }, { qux: false }];
36
+ expect(deepEqual(arr1, arr2)).is(true);
37
+ expect(deepEqual(arr1, arr3)).is(false);
38
+ },
39
+ async "compare null and undefined"() {
40
+ expect(deepEqual(null, null)).is(true);
41
+ expect(deepEqual(undefined, undefined)).is(true);
42
+ expect(deepEqual(null, undefined)).is(false);
43
+ },
44
+ async "compare with nested arrays"() {
45
+ const obj1 = { foo: "bar", array: [1, 2, [3, 4]] };
46
+ const obj2 = { foo: "bar", array: [1, 2, [3, 4]] };
47
+ const obj3 = { foo: "bar", array: [1, 2, [3, 5]] };
48
+ expect(deepEqual(obj1, obj2)).is(true);
49
+ expect(deepEqual(obj1, obj3)).is(false);
50
+ },
51
+ async "circularity is forbidden"() {
52
+ const obj1 = { alpha: 1 };
53
+ const obj2 = { alpha: 1 };
54
+ obj1.bravo = obj1;
55
+ obj2.bravo = obj2;
56
+ expect(() => deepEqual(obj1, obj2)).throws();
57
+ },
58
+ async "duplicate references are allowed"() {
59
+ const dupe = { a: 123 };
60
+ const obj1 = { alpha: 1, dupe };
61
+ const obj2 = { alpha: 1, dupe };
62
+ const obj3 = { alpha: 1, dupe: { a: 0 } };
63
+ expect(deepEqual(obj1, obj2)).is(true);
64
+ expect(deepEqual(obj1, obj3)).is(false);
65
+ },
66
+ "maps and sets": {
67
+ async "compare maps"() {
68
+ const map1 = new Map([['key1', 'value1'], ['key2', 'value2']]);
69
+ const map2 = new Map([['key1', 'value1'], ['key2', 'value2']]);
70
+ const map3 = new Map([['key1', 'value1'], ['key2', 'value3']]);
71
+ expect(deepEqual(map1, map2)).is(true);
72
+ expect(deepEqual(map1, map3)).is(false);
73
+ },
74
+ async "compare sets"() {
75
+ const set1 = new Set([1, 2, 3]);
76
+ const set2 = new Set([1, 2, 3]);
77
+ const set3 = new Set([1, 2, 4]);
78
+ expect(deepEqual(set1, set2)).is(true);
79
+ expect(deepEqual(set1, set3)).is(false);
80
+ },
81
+ async "compare nested maps and sets"() {
82
+ const obj1 = { map: new Map([['key', new Set([1, 2, 3])]]) };
83
+ const obj2 = { map: new Map([['key', new Set([1, 2, 3])]]) };
84
+ const obj3 = { map: new Map([['key', new Set([1, 2, 4])]]) };
85
+ expect(deepEqual(obj1, obj2)).is(true);
86
+ expect(deepEqual(obj1, obj3)).is(false);
87
+ },
88
+ async "compare complex structures"() {
89
+ const map1 = new Map([['set', new Set([{ a: 1 }, { b: 2 }])]]);
90
+ const map2 = new Map([['set', new Set([{ a: 1 }, { b: 2 }])]]);
91
+ const map3 = new Map([['set', new Set([{ a: 1 }, { b: 3 }])]]);
92
+ expect(deepEqual(map1, map2)).is(true);
93
+ expect(deepEqual(map1, map3)).is(false);
94
+ },
95
+ async "compare edge cases"() {
96
+ const emptyMap1 = new Map();
97
+ const emptyMap2 = new Map();
98
+ const emptySet1 = new Set();
99
+ const emptySet2 = new Set();
100
+ const mixedMap1 = new Map([['b', 2], ['a', 1]]);
101
+ const mixedMap2 = new Map([['a', 1], ['b', 2]]);
102
+ expect(deepEqual(emptyMap1, emptyMap2)).is(true);
103
+ expect(deepEqual(emptySet1, emptySet2)).is(true);
104
+ expect(deepEqual(mixedMap1, mixedMap2)).is(true);
105
+ },
106
+ },
107
+ });
126
108
  //# sourceMappingURL=equal.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"equal.test.js","sourceRoot":"","sources":["../../../s/deep/parts/equal.test.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,sCAAsC;AACtC,uCAAuC;AACvC,EAAE;AACF,0BAA0B;AAC1B,EAAE;AACF,uCAAuC;AACvC,6CAA6C;AAC7C,iDAAiD;AACjD,+CAA+C;AAC/C,gDAAgD;AAChD,6CAA6C;AAC7C,MAAM;AACN,EAAE;AACF,8BAA8B;AAC9B,6BAA6B;AAC7B,6BAA6B;AAC7B,6BAA6B;AAC7B,mDAAmD;AACnD,oDAAoD;AACpD,MAAM;AACN,EAAE;AACF,qCAAqC;AACrC,0CAA0C;AAC1C,0CAA0C;AAC1C,0CAA0C;AAC1C,+CAA+C;AAC/C,gDAAgD;AAChD,MAAM;AACN,EAAE;AACF,sCAAsC;AACtC,0EAA0E;AAC1E,0EAA0E;AAC1E,0EAA0E;AAC1E,+CAA+C;AAC/C,gDAAgD;AAChD,MAAM;AACN,EAAE;AACF,wCAAwC;AACxC,+DAA+D;AAC/D,+DAA+D;AAC/D,gEAAgE;AAChE,+CAA+C;AAC/C,gDAAgD;AAChD,MAAM;AACN,EAAE;AACF,0CAA0C;AAC1C,+CAA+C;AAC/C,yDAAyD;AACzD,qDAAqD;AACrD,MAAM;AACN,EAAE;AACF,0CAA0C;AAC1C,uDAAuD;AACvD,uDAAuD;AACvD,uDAAuD;AACvD,+CAA+C;AAC/C,gDAAgD;AAChD,MAAM;AACN,EAAE;AACF,wCAAwC;AACxC,mCAAmC;AACnC,mCAAmC;AACnC,sBAAsB;AACtB,sBAAsB;AACtB,iDAAiD;AACjD,MAAM;AACN,EAAE;AACF,gDAAgD;AAChD,0BAA0B;AAC1B,kCAAkC;AAClC,kCAAkC;AAClC,0CAA0C;AAC1C,+CAA+C;AAC/C,gDAAgD;AAChD,MAAM;AACN,EAAE;AACF,sBAAsB;AACtB,6BAA6B;AAC7B,oEAAoE;AACpE,oEAAoE;AACpE,oEAAoE;AACpE,gDAAgD;AAChD,iDAAiD;AACjD,OAAO;AACP,EAAE;AACF,6BAA6B;AAC7B,qCAAqC;AACrC,qCAAqC;AACrC,qCAAqC;AACrC,gDAAgD;AAChD,iDAAiD;AACjD,OAAO;AACP,EAAE;AACF,6CAA6C;AAC7C,kEAAkE;AAClE,kEAAkE;AAClE,kEAAkE;AAClE,gDAAgD;AAChD,iDAAiD;AACjD,OAAO;AACP,EAAE;AACF,2CAA2C;AAC3C,oEAAoE;AACpE,oEAAoE;AACpE,oEAAoE;AACpE,gDAAgD;AAChD,iDAAiD;AACjD,OAAO;AACP,EAAE;AACF,mCAAmC;AACnC,iCAAiC;AACjC,iCAAiC;AACjC,iCAAiC;AACjC,iCAAiC;AACjC,qDAAqD;AACrD,qDAAqD;AACrD,0DAA0D;AAC1D,0DAA0D;AAC1D,0DAA0D;AAC1D,OAAO;AACP,MAAM;AACN,IAAI;AACJ,EAAE"}
1
+ {"version":3,"file":"equal.test.js","sourceRoot":"","sources":["../../../s/deep/parts/equal.test.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /** a promise which can be resolved from the outside */
2
- export type DeferredPromise<R> = {
2
+ export type Deferred<R = void> = {
3
3
  promise: Promise<R>;
4
4
  resolve: (result: R) => void;
5
5
  reject: (reason: any) => void;
@@ -7,4 +7,4 @@ export type DeferredPromise<R> = {
7
7
  entangle: (outsidePromise: Promise<R>) => Promise<R>;
8
8
  };
9
9
  /** returns a deferred promise with exposed resolve and reject fns */
10
- export declare function deferPromise<R>(): DeferredPromise<R>;
10
+ export declare function defer<R = void>(): Deferred<R>;
@@ -1,5 +1,5 @@
1
1
  /** returns a deferred promise with exposed resolve and reject fns */
2
- export function deferPromise() {
2
+ export function defer() {
3
3
  let resolve;
4
4
  let reject;
5
5
  const promise = new Promise((res, rej) => {
@@ -12,4 +12,4 @@ export function deferPromise() {
12
12
  }
13
13
  return { promise, resolve, reject, entangle };
14
14
  }
15
- //# sourceMappingURL=defer-promise.js.map
15
+ //# sourceMappingURL=defer.js.map
package/x/defer.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defer.js","sourceRoot":"","sources":["../s/defer.ts"],"names":[],"mappings":"AAWA,qEAAqE;AACrE,MAAM,UAAU,KAAK;IACpB,IAAI,OAA6B,CAAA;IACjC,IAAI,MAA8B,CAAA;IAElC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QAC3C,OAAO,GAAG,GAAG,CAAA;QACb,MAAM,GAAG,GAAG,CAAA;IACb,CAAC,CAAC,CAAA;IAEF,SAAS,QAAQ,CAAC,OAAmB;QACpC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QACnC,OAAO,OAAO,CAAA;IACf,CAAC;IAED,OAAO,EAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAC,CAAA;AAC5C,CAAC"}
package/x/drill.d.ts CHANGED
@@ -1,6 +1,4 @@
1
- /**
2
- * return a value within an object tree, found at the given path.
3
- */
1
+ /** return a value within an object tree, found at the given path. */
4
2
  export declare function drill<xResult>(object: {
5
3
  [key: string]: any;
6
4
  }, path: string[]): xResult;
package/x/drill.js CHANGED
@@ -1,12 +1,10 @@
1
1
  import { is } from "./is.js";
2
- /**
3
- * return a value within an object tree, found at the given path.
4
- */
2
+ /** return a value within an object tree, found at the given path. */
5
3
  export function drill(object, path) {
6
4
  let current = object;
7
5
  for (const key of path) {
8
6
  current = current[key];
9
- if (is.unavailable(current))
7
+ if (is.unset(current))
10
8
  break;
11
9
  }
12
10
  return current;
package/x/drill.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"drill.js","sourceRoot":"","sources":["../s/drill.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,EAAE,EAAC,MAAM,SAAS,CAAA;AAE1B;;GAEG;AACH,MAAM,UAAU,KAAK,CACnB,MAA4B,EAC5B,IAAc;IAGf,IAAI,OAAO,GAAQ,MAAM,CAAA;IAEzB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACxB,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;QACtB,IAAI,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC;YAC1B,MAAK;IACP,CAAC;IAED,OAAO,OAAO,CAAA;AACf,CAAC"}
1
+ {"version":3,"file":"drill.js","sourceRoot":"","sources":["../s/drill.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,EAAE,EAAC,MAAM,SAAS,CAAA;AAE1B,qEAAqE;AACrE,MAAM,UAAU,KAAK,CACnB,MAA4B,EAC5B,IAAc;IAGf,IAAI,OAAO,GAAQ,MAAM,CAAA;IAEzB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACxB,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;QACtB,IAAI,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC;YACpB,MAAK;IACP,CAAC;IAED,OAAO,OAAO,CAAA;AACf,CAAC"}
package/x/ev.d.ts ADDED
@@ -0,0 +1,6 @@
1
+ export type EvFn = (...a: any[]) => void;
2
+ export type EvTarget<N extends string> = {
3
+ addEventListener(name: N, fn: EvFn): void;
4
+ removeEventListener(name: N, fn: EvFn): void;
5
+ };
6
+ export declare function ev<N extends string>(target: EvTarget<N>, fns: Record<N, EvFn>): () => void;
package/x/ev.js ADDED
@@ -0,0 +1,10 @@
1
+ export function ev(target, fns) {
2
+ const entries = Object.entries(fns);
3
+ for (const [name, fn] of entries)
4
+ target.addEventListener(name, fn);
5
+ return () => {
6
+ for (const [name, fn] of entries)
7
+ target.removeEventListener(name, fn);
8
+ };
9
+ }
10
+ //# sourceMappingURL=ev.js.map
package/x/ev.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ev.js","sourceRoot":"","sources":["../s/ev.ts"],"names":[],"mappings":"AAQA,MAAM,UAAU,EAAE,CAAmB,MAAmB,EAAE,GAAoB;IAC7E,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAgB,CAAA;IAElD,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,OAAO;QAC/B,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;IAElC,OAAO,GAAG,EAAE;QACX,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,OAAO;YAC/B,MAAM,CAAC,mBAAmB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;IACtC,CAAC,CAAA;AACF,CAAC"}
@@ -0,0 +1,5 @@
1
+ export declare class IdCounter {
2
+ count: number;
3
+ constructor(count?: number);
4
+ next(): number;
5
+ }
@@ -0,0 +1,10 @@
1
+ export class IdCounter {
2
+ count;
3
+ constructor(count = 0) {
4
+ this.count = count;
5
+ }
6
+ next() {
7
+ return this.count++;
8
+ }
9
+ }
10
+ //# sourceMappingURL=id-counter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"id-counter.js","sourceRoot":"","sources":["../s/id-counter.ts"],"names":[],"mappings":"AACA,MAAM,OAAO,SAAS;IACF;IAAnB,YAAmB,QAAQ,CAAC;QAAT,UAAK,GAAL,KAAK,CAAI;IAAG,CAAC;IAEhC,IAAI;QACH,OAAO,IAAI,CAAC,KAAK,EAAE,CAAA;IACpB,CAAC;CACD"}
package/x/index.d.ts CHANGED
@@ -1,22 +1,33 @@
1
- export * from "./data/barname/index.js";
1
+ export * from "./data/bytename/index.js";
2
+ export * from "./data/base-x.js";
2
3
  export * from "./data/base58.js";
3
4
  export * from "./data/base64.js";
4
5
  export * from "./data/base64url.js";
5
6
  export * from "./data/bytes.js";
6
7
  export * from "./data/hex.js";
7
8
  export * from "./data/txt.js";
9
+ export * from "./debounce/debounce.js";
10
+ export * from "./debounce/types.js";
11
+ export * from "./deep/deep.js";
12
+ export * from "./queue/queue.js";
8
13
  export * from "./coalesce.js";
9
14
  export * from "./concurrent.js";
10
15
  export * from "./deadline.js";
11
16
  export * from "./dedupe.js";
12
- export * from "./defer-promise.js";
17
+ export * from "./defer.js";
13
18
  export * from "./drill.js";
14
19
  export * from "./escape-regex.js";
20
+ export * from "./ev.js";
15
21
  export * from "./hat.js";
22
+ export * from "./id-counter.js";
16
23
  export * from "./is.js";
24
+ export * from "./loopy.js";
17
25
  export * from "./map-g.js";
18
26
  export * from "./nap.js";
19
27
  export * from "./ob.js";
28
+ export * from "./once.js";
20
29
  export * from "./pipe.js";
30
+ export * from "./repeat.js";
21
31
  export * from "./pubsub.js";
32
+ export * from "./time.js";
22
33
  export * from "./trash.js";
package/x/index.js CHANGED
@@ -1,23 +1,34 @@
1
- export * from "./data/barname/index.js";
1
+ export * from "./data/bytename/index.js";
2
+ export * from "./data/base-x.js";
2
3
  export * from "./data/base58.js";
3
4
  export * from "./data/base64.js";
4
5
  export * from "./data/base64url.js";
5
6
  export * from "./data/bytes.js";
6
7
  export * from "./data/hex.js";
7
8
  export * from "./data/txt.js";
9
+ export * from "./debounce/debounce.js";
10
+ export * from "./debounce/types.js";
11
+ export * from "./deep/deep.js";
12
+ export * from "./queue/queue.js";
8
13
  export * from "./coalesce.js";
9
14
  export * from "./concurrent.js";
10
15
  export * from "./deadline.js";
11
16
  export * from "./dedupe.js";
12
- export * from "./defer-promise.js";
17
+ export * from "./defer.js";
13
18
  export * from "./drill.js";
14
19
  export * from "./escape-regex.js";
20
+ export * from "./ev.js";
15
21
  export * from "./hat.js";
22
+ export * from "./id-counter.js";
16
23
  export * from "./is.js";
24
+ export * from "./loopy.js";
17
25
  export * from "./map-g.js";
18
26
  export * from "./nap.js";
19
27
  export * from "./ob.js";
28
+ export * from "./once.js";
20
29
  export * from "./pipe.js";
30
+ export * from "./repeat.js";
21
31
  export * from "./pubsub.js";
32
+ export * from "./time.js";
22
33
  export * from "./trash.js";
23
34
  //# sourceMappingURL=index.js.map
package/x/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../s/index.ts"],"names":[],"mappings":"AACA,cAAc,yBAAyB,CAAA;AACvC,cAAc,kBAAkB,CAAA;AAChC,cAAc,kBAAkB,CAAA;AAChC,cAAc,qBAAqB,CAAA;AACnC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA;AAE7B,cAAc,eAAe,CAAA;AAC7B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,aAAa,CAAA;AAC3B,cAAc,oBAAoB,CAAA;AAClC,cAAc,YAAY,CAAA;AAC1B,cAAc,mBAAmB,CAAA;AACjC,cAAc,UAAU,CAAA;AACxB,cAAc,SAAS,CAAA;AACvB,cAAc,YAAY,CAAA;AAC1B,cAAc,UAAU,CAAA;AACxB,cAAc,SAAS,CAAA;AACvB,cAAc,WAAW,CAAA;AACzB,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../s/index.ts"],"names":[],"mappings":"AACA,cAAc,0BAA0B,CAAA;AACxC,cAAc,kBAAkB,CAAA;AAChC,cAAc,kBAAkB,CAAA;AAChC,cAAc,kBAAkB,CAAA;AAChC,cAAc,qBAAqB,CAAA;AACnC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA;AAE7B,cAAc,wBAAwB,CAAA;AACtC,cAAc,qBAAqB,CAAA;AAEnC,cAAc,gBAAgB,CAAA;AAE9B,cAAc,kBAAkB,CAAA;AAEhC,cAAc,eAAe,CAAA;AAC7B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,mBAAmB,CAAA;AACjC,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAA;AACxB,cAAc,iBAAiB,CAAA;AAC/B,cAAc,SAAS,CAAA;AACvB,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,UAAU,CAAA;AACxB,cAAc,SAAS,CAAA;AACvB,cAAc,WAAW,CAAA;AACzB,cAAc,WAAW,CAAA;AACzB,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA"}
package/x/is.d.ts CHANGED
@@ -1,10 +1,12 @@
1
- export declare const is: {
2
- available: <X>(x: X) => x is NonNullable<X>;
3
- unavailable: (x: any) => x is (undefined | null);
1
+ export declare const is: Readonly<{
2
+ set: <X>(x: X) => x is NonNullable<X>;
3
+ unset: (x: any) => x is (undefined | null);
4
4
  boolean: (x: any) => x is boolean;
5
5
  number: (x: any) => x is number;
6
6
  string: (x: any) => x is string;
7
7
  bigint: (x: any) => x is bigint;
8
8
  object: <X>(x: X) => x is object & NonNullable<X>;
9
9
  array: (x: any | any[]) => x is any[];
10
- };
10
+ fn: (x: any) => x is (...a: any[]) => any;
11
+ symbol: (x: any) => x is symbol;
12
+ }>;
package/x/is.js CHANGED
@@ -1,11 +1,13 @@
1
- export const is = {
2
- available: (x) => x !== undefined && x !== null,
3
- unavailable: (x) => x === undefined || x === null,
1
+ export const is = Object.freeze({
2
+ set: (x) => x !== undefined && x !== null,
3
+ unset: (x) => x === undefined || x === null,
4
4
  boolean: (x) => typeof x === "boolean",
5
5
  number: (x) => typeof x === "number",
6
6
  string: (x) => typeof x === "string",
7
7
  bigint: (x) => typeof x === "bigint",
8
8
  object: (x) => typeof x === "object" && x !== null,
9
9
  array: (x) => Array.isArray(x),
10
- };
10
+ fn: (x) => typeof x === "function",
11
+ symbol: (x) => typeof x === "symbol",
12
+ });
11
13
  //# sourceMappingURL=is.js.map
package/x/is.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"is.js","sourceRoot":"","sources":["../s/is.ts"],"names":[],"mappings":"AACA,MAAM,CAAC,MAAM,EAAE,GAAG;IACjB,SAAS,EAAE,CAAI,CAAI,EAAuB,EAAE,CAC3C,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,IAAI;IAE9B,WAAW,EAAE,CAAC,CAAM,EAA2B,EAAE,CAChD,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,IAAI;IAE9B,OAAO,EAAE,CAAC,CAAM,EAAgB,EAAE,CACjC,OAAO,CAAC,KAAK,SAAS;IAEvB,MAAM,EAAE,CAAC,CAAM,EAAe,EAAE,CAC/B,OAAO,CAAC,KAAK,QAAQ;IAEtB,MAAM,EAAE,CAAC,CAAM,EAAe,EAAE,CAC/B,OAAO,CAAC,KAAK,QAAQ;IAEtB,MAAM,EAAE,CAAC,CAAM,EAAe,EAAE,CAC/B,OAAO,CAAC,KAAK,QAAQ;IAEtB,MAAM,EAAE,CAAI,CAAI,EAAgC,EAAE,CACjD,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI;IAEpC,KAAK,EAAE,CAAC,CAAc,EAAc,EAAE,CACrC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;CACjB,CAAA"}
1
+ {"version":3,"file":"is.js","sourceRoot":"","sources":["../s/is.ts"],"names":[],"mappings":"AACA,MAAM,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC;IAC/B,GAAG,EAAE,CAAI,CAAI,EAAuB,EAAE,CACrC,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,IAAI;IAE9B,KAAK,EAAE,CAAC,CAAM,EAA2B,EAAE,CAC1C,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,IAAI;IAE9B,OAAO,EAAE,CAAC,CAAM,EAAgB,EAAE,CACjC,OAAO,CAAC,KAAK,SAAS;IAEvB,MAAM,EAAE,CAAC,CAAM,EAAe,EAAE,CAC/B,OAAO,CAAC,KAAK,QAAQ;IAEtB,MAAM,EAAE,CAAC,CAAM,EAAe,EAAE,CAC/B,OAAO,CAAC,KAAK,QAAQ;IAEtB,MAAM,EAAE,CAAC,CAAM,EAAe,EAAE,CAC/B,OAAO,CAAC,KAAK,QAAQ;IAEtB,MAAM,EAAE,CAAI,CAAI,EAAgC,EAAE,CACjD,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI;IAEpC,KAAK,EAAE,CAAC,CAAc,EAAc,EAAE,CACrC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IAEjB,EAAE,EAAE,CAAC,CAAM,EAA6B,EAAE,CACzC,OAAO,CAAC,KAAK,UAAU;IAExB,MAAM,EAAE,CAAC,CAAM,EAAe,EAAE,CAC/B,OAAO,CAAC,KAAK,QAAQ;CACtB,CAAC,CAAA"}
package/x/loopy.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ export declare function loop(n: number): Generator<number, void, unknown>;
2
+ export declare function loop2d([columns, rows]: [number, number]): Generator<[number, number], void, unknown>;
package/x/loopy.js ADDED
@@ -0,0 +1,10 @@
1
+ export function* loop(n) {
2
+ for (let i = 0; i < n; i++)
3
+ yield i;
4
+ }
5
+ export function* loop2d([columns, rows]) {
6
+ for (let y = 0; y < rows; y++)
7
+ for (let x = 0; x < columns; x++)
8
+ yield [x, y];
9
+ }
10
+ //# sourceMappingURL=loopy.js.map
package/x/loopy.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loopy.js","sourceRoot":"","sources":["../s/loopy.ts"],"names":[],"mappings":"AACA,MAAM,SAAS,CAAC,CAAC,IAAI,CAAC,CAAS;IAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;QACzB,MAAM,CAAC,CAAA;AACT,CAAC;AAED,MAAM,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,IAAI,CAAmB;IACxD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE;QAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,EAAE;YAC/B,MAAM,CAAC,CAAC,EAAE,CAAC,CAAqB,CAAA;AACnC,CAAC"}
package/x/map-g.d.ts CHANGED
@@ -1,9 +1,9 @@
1
- /** js map, but with handy methods like `require` and `guarantee` */
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 & ({} | null);
3
+ static require<K, V>(map: Map<K, V>, key: K): 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 & ({} | null);
6
+ require(key: K): 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,4 +1,4 @@
1
- /** js map, but with handy methods like `require` and `guarantee` */
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
4
  const value = map.get(key);
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,oEAAoE;AACpE,MAAM,OAAO,IAAW,SAAQ,GAAS;IACxC,MAAM,CAAC,OAAO,CAAO,GAAc,EAAE,GAAM;QAC1C,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAC1B,IAAI,KAAK,KAAK,SAAS;YACtB,MAAM,IAAI,KAAK,CAAC,4BAA4B,GAAG,GAAG,CAAC,CAAA;QACpD,OAAO,KAAK,CAAA;IACb,CAAC;IAED,MAAM,CAAC,SAAS,CAAO,GAAc,EAAE,GAAM,EAAE,IAAa;QAC3D,IAAI,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAExB,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACzB,KAAK,GAAG,IAAI,EAAE,CAAA;YACd,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QACpB,CAAC;QAED,OAAO,KAAK,CAAA;IACb,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"}
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,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAC1B,IAAI,KAAK,KAAK,SAAS;YACtB,MAAM,IAAI,KAAK,CAAC,4BAA4B,GAAG,GAAG,CAAC,CAAA;QACpD,OAAO,KAAU,CAAA;IAClB,CAAC;IAED,MAAM,CAAC,SAAS,CAAO,GAAc,EAAE,GAAM,EAAE,IAAa;QAC3D,IAAI,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAExB,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACzB,KAAK,GAAG,IAAI,EAAE,CAAA;YACd,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QACpB,CAAC;QAED,OAAO,KAAK,CAAA;IACb,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"}
package/x/nap.d.ts CHANGED
@@ -1 +1,2 @@
1
+ /** create a promise that waits for a number of milliseconds. */
1
2
  export declare const nap: (milliseconds?: number) => Promise<void>;
package/x/nap.js CHANGED
@@ -1,2 +1,3 @@
1
+ /** create a promise that waits for a number of milliseconds. */
1
2
  export const nap = (milliseconds = 0) => (new Promise(resolve => setTimeout(resolve, milliseconds)));
2
3
  //# sourceMappingURL=nap.js.map
package/x/nap.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"nap.js","sourceRoot":"","sources":["../s/nap.ts"],"names":[],"mappings":"AACA,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,eAAuB,CAAC,EAAE,EAAE,CAAC,CAChD,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAC/D,CAAA"}
1
+ {"version":3,"file":"nap.js","sourceRoot":"","sources":["../s/nap.ts"],"names":[],"mappings":"AACA,gEAAgE;AAChE,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,eAAuB,CAAC,EAAE,EAAE,CAAC,CAChD,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAC/D,CAAA"}
package/x/once.d.ts ADDED
@@ -0,0 +1 @@
1
+ export declare function once<Fn extends (...a: any[]) => any>(fn: Fn): Fn;
package/x/once.js ADDED
@@ -0,0 +1,12 @@
1
+ export function once(fn) {
2
+ let done = false;
3
+ let ret;
4
+ return ((...a) => {
5
+ if (!done) {
6
+ done = true;
7
+ ret = fn(...a);
8
+ }
9
+ return ret;
10
+ });
11
+ }
12
+ //# sourceMappingURL=once.js.map
package/x/once.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"once.js","sourceRoot":"","sources":["../s/once.ts"],"names":[],"mappings":"AACA,MAAM,UAAU,IAAI,CAAkC,EAAM;IAC3D,IAAI,IAAI,GAAG,KAAK,CAAA;IAChB,IAAI,GAAQ,CAAA;IAEZ,OAAO,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE;QAChB,IAAI,CAAC,IAAI,EAAE,CAAC;YACX,IAAI,GAAG,IAAI,CAAA;YACX,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAA;QACf,CAAC;QACD,OAAO,GAAG,CAAA;IACX,CAAC,CAAO,CAAA;AACT,CAAC"}