functionalscript 0.1.594 → 0.1.597

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 (167) hide show
  1. package/.github/workflows/npm-publish.yml +2 -1
  2. package/com/cpp/module.f.d.mts +8 -0
  3. package/com/cpp/module.f.mjs +18 -18
  4. package/com/cpp/test.f.d.mts +2 -0
  5. package/com/cpp/testlib.f.d.mts +2 -0
  6. package/com/cs/module.f.d.mts +8 -0
  7. package/com/cs/module.f.mjs +1 -1
  8. package/com/cs/test.f.d.mts +2 -0
  9. package/com/cs/testlib.f.d.mts +2 -0
  10. package/com/rust/module.f.d.mts +28 -0
  11. package/com/rust/module.f.mjs +30 -30
  12. package/com/rust/test.f.d.mts +2 -0
  13. package/com/rust/testlib.f.d.mts +2 -0
  14. package/com/test/build.d.mts +1 -0
  15. package/com/test/build.f.d.mts +26 -0
  16. package/com/test/build.mjs +2 -2
  17. package/com/types/module.f.d.mts +28 -0
  18. package/com/types/module.f.mjs +1 -1
  19. package/com/types/testlib.f.d.mts +44 -0
  20. package/commonjs/build/module.f.d.mts +24 -0
  21. package/commonjs/build/test.f.d.mts +3 -0
  22. package/commonjs/module/function/module.f.d.mts +7 -0
  23. package/commonjs/module/module.f.d.mts +57 -0
  24. package/commonjs/module/module.f.mjs +1 -1
  25. package/commonjs/module.d.mts +7 -0
  26. package/commonjs/module.f.d.mts +4 -0
  27. package/commonjs/package/dependencies/module.f.d.mts +10 -0
  28. package/commonjs/package/dependencies/module.f.mjs +3 -3
  29. package/commonjs/package/dependencies/test.f.d.mts +2 -0
  30. package/commonjs/package/module.f.d.mts +27 -0
  31. package/commonjs/package/module.f.mjs +4 -4
  32. package/commonjs/package/test.f.d.mts +2 -0
  33. package/commonjs/path/module.f.d.mts +67 -0
  34. package/commonjs/path/module.f.mjs +5 -5
  35. package/commonjs/path/test.f.d.mts +25 -0
  36. package/commonjs/path/test.f.mjs +7 -7
  37. package/commonjs/test.d.mts +8 -0
  38. package/commonjs/test.mjs +2 -2
  39. package/dev/index.d.mts +1 -0
  40. package/dev/module.d.mts +26 -0
  41. package/dev/module.f.d.mts +4 -0
  42. package/dev/test/module.f.d.mts +26 -0
  43. package/dev/test.d.mts +3 -0
  44. package/dev/test.f.d.mts +9 -0
  45. package/djs/module.f.d.mts +25 -0
  46. package/djs/module.f.mjs +1 -1
  47. package/djs/parser/module.f.d.mts +40 -0
  48. package/djs/parser/test.f.d.mts +8 -0
  49. package/djs/test.f.d.mts +12 -0
  50. package/djs/tokenizer/module.f.d.mts +17 -0
  51. package/djs/tokenizer/module.f.mjs +1 -1
  52. package/djs/tokenizer/test.f.d.mts +6 -0
  53. package/djs/tokenizer/test.f.mjs +1 -1
  54. package/fsc/module.f.d.mts +12 -0
  55. package/fsc/test.f.d.mts +4 -0
  56. package/fsm/module.f.d.mts +21 -0
  57. package/fsm/test.f.d.mts +5 -0
  58. package/html/module.f.d.mts +20 -0
  59. package/html/module.f.mjs +1 -1
  60. package/html/test.f.d.mts +10 -0
  61. package/index.f.d.mts +83 -0
  62. package/js/tokenizer/module.f.d.mts +150 -0
  63. package/js/tokenizer/test.f.d.mts +8 -0
  64. package/js/tokenizer/test.f.mjs +3 -3
  65. package/json/module.f.d.mts +41 -0
  66. package/json/parser/module.f.d.mts +36 -0
  67. package/json/parser/module.f.mjs +12 -12
  68. package/json/parser/test.f.d.mts +5 -0
  69. package/json/parser/test.f.mjs +2 -2
  70. package/json/serializer/module.f.d.mts +45 -0
  71. package/json/serializer/module.f.mjs +2 -2
  72. package/json/serializer/test.f.d.mts +8 -0
  73. package/json/test.f.d.mts +8 -0
  74. package/json/tokenizer/module.f.d.mts +17 -0
  75. package/json/tokenizer/module.f.mjs +7 -7
  76. package/json/tokenizer/test.f.d.mts +6 -0
  77. package/json/tokenizer/test.f.mjs +3 -3
  78. package/jsr.json +1 -1
  79. package/nodejs/version/main.d.mts +1 -0
  80. package/nodejs/version/module.f.d.mts +18 -0
  81. package/nodejs/version/test.f.d.mts +2 -0
  82. package/package.json +2 -1
  83. package/prime_field/module.f.d.mts +44 -0
  84. package/prime_field/test.f.d.mts +12 -0
  85. package/secp/module.f.d.mts +49 -0
  86. package/secp/module.f.mjs +6 -6
  87. package/secp/test.f.d.mts +4 -0
  88. package/secp/test.f.mjs +5 -5
  89. package/sha2/module.f.d.mts +23 -0
  90. package/sha2/module.f.mjs +1 -1
  91. package/sha2/test.f.d.mts +10 -0
  92. package/sha2/test.f.mjs +0 -1
  93. package/text/ascii/module.f.d.mts +73 -0
  94. package/text/ascii/test.f.d.mts +4 -0
  95. package/text/module.f.d.mts +18 -0
  96. package/text/sgr/module.f.d.mts +14 -0
  97. package/text/test.f.d.mts +2 -0
  98. package/text/utf16/module.f.d.mts +19 -0
  99. package/text/utf16/test.f.d.mts +6 -0
  100. package/text/utf16/test.f.mjs +2 -2
  101. package/text/utf8/module.f.d.mts +15 -0
  102. package/text/utf8/module.f.mjs +2 -2
  103. package/text/utf8/test.f.d.mts +6 -0
  104. package/types/array/module.f.d.mts +41 -0
  105. package/types/array/test.f.d.mts +10 -0
  106. package/types/bigfloat/module.f.d.mts +11 -0
  107. package/types/bigfloat/test.f.d.mts +6 -0
  108. package/types/bigint/module.f.d.mts +77 -0
  109. package/types/bigint/module.f.mjs +5 -5
  110. package/types/bigint/test.f.d.mts +16 -0
  111. package/types/btree/find/module.f.d.mts +42 -0
  112. package/types/btree/find/module.f.mjs +4 -4
  113. package/types/btree/find/test.f.d.mts +2 -0
  114. package/types/btree/find/test.f.mjs +2 -2
  115. package/types/btree/module.f.d.mts +9 -0
  116. package/types/btree/remove/module.f.d.mts +19 -0
  117. package/types/btree/remove/module.f.mjs +12 -12
  118. package/types/btree/remove/test.f.d.mts +7 -0
  119. package/types/btree/remove/test.f.mjs +5 -5
  120. package/types/btree/set/module.f.d.mts +9 -0
  121. package/types/btree/set/module.f.mjs +6 -6
  122. package/types/btree/set/test.f.d.mts +2 -0
  123. package/types/btree/set/test.f.mjs +32 -32
  124. package/types/btree/test.f.d.mts +13 -0
  125. package/types/btree/test.f.mjs +7 -11
  126. package/types/btree/types/module.f.d.mts +16 -0
  127. package/types/byte_set/module.f.d.mts +38 -0
  128. package/types/byte_set/module.f.mjs +2 -2
  129. package/types/byte_set/test.f.d.mts +13 -0
  130. package/types/byte_set/test.f.mjs +3 -3
  131. package/types/function/compare/module.f.d.mts +29 -0
  132. package/types/function/compare/module.f.mjs +4 -4
  133. package/types/function/compare/test.f.d.mts +2 -0
  134. package/types/function/module.f.d.mts +36 -0
  135. package/types/function/operator/module.f.d.mts +75 -0
  136. package/types/function/test.f.d.mts +2 -0
  137. package/types/list/module.f.d.mts +117 -0
  138. package/types/list/test.f.d.mts +38 -0
  139. package/types/map/module.f.d.mts +30 -0
  140. package/types/map/module.f.mjs +4 -4
  141. package/types/map/test.f.d.mts +5 -0
  142. package/types/nibble_set/module.f.d.mts +26 -0
  143. package/types/nibble_set/test.f.d.mts +13 -0
  144. package/types/nullable/module.f.d.mts +14 -0
  145. package/types/nullable/test.f.d.mts +2 -0
  146. package/types/number/module.f.d.mts +13 -0
  147. package/types/number/test.f.d.mts +11 -0
  148. package/types/object/module.f.d.mts +29 -0
  149. package/types/object/test.f.d.mts +5 -0
  150. package/types/range/module.f.d.mts +11 -0
  151. package/types/range/test.f.d.mts +2 -0
  152. package/types/range_map/module.f.d.mts +25 -0
  153. package/types/range_map/module.f.mjs +5 -5
  154. package/types/range_map/test.f.d.mts +6 -0
  155. package/types/range_map/test.f.mjs +2 -2
  156. package/types/result/module.d.mts +7 -0
  157. package/types/result/module.f.d.mts +28 -0
  158. package/types/sorted_list/module.f.d.mts +59 -0
  159. package/types/sorted_list/test.f.d.mts +5 -0
  160. package/types/sorted_list/test.f.mjs +2 -2
  161. package/types/sorted_set/module.f.d.mts +25 -0
  162. package/types/sorted_set/test.f.d.mts +6 -0
  163. package/types/sorted_set/test.f.mjs +1 -1
  164. package/types/string/module.f.d.mts +15 -0
  165. package/types/string/test.f.d.mts +15 -0
  166. package/types/string_set/module.f.d.mts +21 -0
  167. package/types/string_set/test.f.d.mts +5 -0
@@ -0,0 +1,42 @@
1
+ declare namespace _default {
2
+ export { find };
3
+ export { value };
4
+ export { isFound };
5
+ }
6
+ export default _default;
7
+ export type FirstLeaf1<T> = readonly [cmpT.Index3, _.Leaf1<T>];
8
+ export type FirstBranch3<T> = readonly [1, _.Branch3<T>];
9
+ export type FirstLeaf2<T> = readonly [cmpT.Index5, _.Leaf2<T>];
10
+ export type FirstBranch5<T> = readonly [1 | 3, _.Branch5<T>];
11
+ export type First<T> = FirstLeaf1<T> | FirstBranch3<T> | FirstLeaf2<T> | FirstBranch5<T>;
12
+ export type PathItem3<T> = readonly [0 | 2, _.Branch3<T>];
13
+ export type PathItem5<T> = readonly [0 | 2 | 4, _.Branch5<T>];
14
+ export type PathItem<T> = PathItem3<T> | PathItem5<T>;
15
+ export type Path<T> = List.List<PathItem<T>>;
16
+ /**
17
+ * <T>
18
+ */
19
+ export type Result<T> = {
20
+ readonly first: First<T>;
21
+ readonly tail: Path<T>;
22
+ };
23
+ /**
24
+ * @template T
25
+ * @typedef {List.List<PathItem<T>>} Path
26
+ */
27
+ /**
28
+ * @template T
29
+ * @typedef {{
30
+ * readonly first: First<T>,
31
+ * readonly tail: Path<T>
32
+ * }} Result<T>
33
+ */
34
+ /** @type {<T>(c: cmpT.Compare<T>) => (node: _.Node<T>) => Result<T>} */
35
+ declare const find: <T>(c: cmpT.Compare<T>) => (node: _.Node<T>) => Result<T>;
36
+ /** @type {<T>(first: First<T>) => T | null} */
37
+ declare const value: <T>(first: First<T>) => T | null;
38
+ /** @type {<T>(first: First<T>) => boolean} */
39
+ declare const isFound: <T>(first: First<T>) => boolean;
40
+ import * as cmpT from '../../function/compare/module.f.mjs';
41
+ import * as _ from '../types/module.f.mjs';
42
+ import * as List from '../../list/module.f.mjs';
@@ -1,8 +1,8 @@
1
1
  import * as _ from '../types/module.f.mjs'
2
- import list, * as List from '../../list/module.f.mjs'
2
+ import * as List from '../../list/module.f.mjs'
3
3
  import cmp, * as cmpT from '../../function/compare/module.f.mjs'
4
4
  const { index3, index5 } = cmp
5
- import array, * as arrayT from '../../array/module.f.mjs'
5
+ import * as Array from '../../array/module.f.mjs'
6
6
 
7
7
  /**
8
8
  * @template T
@@ -68,12 +68,12 @@ const find = c => {
68
68
  /** @typedef {typeof c extends cmpT.Compare<infer T> ? T : never} T */
69
69
  /** @type {(prior: Path<T>) => (node: _.Node<T>) => Result<T>} */
70
70
  const f = tail => node => {
71
- /** @type {(index: arrayT.KeyOf<typeof node>) => Result<T>} */
71
+ /** @type {(index: Array.KeyOf<typeof node>) => Result<T>} */
72
72
  const append = index => {
73
73
  const first = /** @type {PathItem<T>} */([index, node])
74
74
  return f({ first, tail })(child(first))
75
75
  }
76
- /** @type {(index: arrayT.KeyOf<typeof node>) => Result<T>} */
76
+ /** @type {(index: Array.KeyOf<typeof node>) => Result<T>} */
77
77
  const done = index => ({ first: /** @type {First<T>} */([index, node]), tail })
78
78
  switch (node.length) {
79
79
  case 1: { return done(i3(node[0])) }
@@ -0,0 +1,2 @@
1
+ export default test;
2
+ declare function test(): void;
@@ -1,6 +1,6 @@
1
1
  import _, * as T from './module.f.mjs'
2
2
  import list from '../../list/module.f.mjs'
3
- import json, * as jsonT from '../../../json/module.f.mjs'
3
+ import json, * as Json from '../../../json/module.f.mjs'
4
4
  import o from '../../object/module.f.mjs'
5
5
  const { sort } = o
6
6
  import * as btree from '../types/module.f.mjs'
@@ -13,7 +13,7 @@ const jsonStr = json.stringify(sort)
13
13
  /** @type {(node: btree.Node<string>) => (value: string) => btree.Node<string>} */
14
14
  const set = node => value => s.set(cmp(value))(() => value)(node)
15
15
 
16
- /** @type {(r: T.Result<jsonT.Unknown>) => string} */
16
+ /** @type {(r: T.Result<Json.Unknown>) => string} */
17
17
  const str = r => jsonStr(list.toArray(list.map(x => x[0])(r)))
18
18
 
19
19
  /** @type {(i: string) => (m: btree.Node<string>) => string} */
@@ -0,0 +1,9 @@
1
+ declare namespace _default {
2
+ export let empty: null;
3
+ export { values };
4
+ }
5
+ export default _default;
6
+ /** @type {<T>(tree: _.Tree<T>) => List.List<T>} */
7
+ declare const values: <T>(tree: _.Tree<T>) => List.List<T>;
8
+ import * as _ from './types/module.f.mjs';
9
+ import * as List from '../list/module.f.mjs';
@@ -0,0 +1,19 @@
1
+ declare namespace _default {
2
+ export { nodeRemove };
3
+ export { remove };
4
+ }
5
+ export default _default;
6
+ export type Leaf01<T> = null | _.Leaf1<T>;
7
+ export type RemovePath<T> = {
8
+ readonly first: Leaf01<T>;
9
+ readonly tail: Find.Path<T>;
10
+ };
11
+ export type Branch<T> = _.Branch1<T> | _.Branch3<T> | _.Branch5<T>;
12
+ export type Merge<A, T> = (a: A) => (n: _.Branch3<T>) => _.Branch1<T> | _.Branch3<T>;
13
+ /** @type {<T>(c: Cmp.Compare<T>) => (node: _.Node<T>) => _.Tree<T>} */
14
+ declare const nodeRemove: <T>(c: Cmp.Compare<T>) => (node: _.Node<T>) => _.Tree<T>;
15
+ /** @type {<T>(c: Cmp.Compare<T>) => (tree: _.Tree<T>) => _.Tree<T>} */
16
+ declare const remove: <T>(c: Cmp.Compare<T>) => (tree: _.Tree<T>) => _.Tree<T>;
17
+ import * as _ from '../types/module.f.mjs';
18
+ import * as Find from '../find/module.f.mjs';
19
+ import * as Cmp from '../../function/compare/module.f.mjs';
@@ -1,9 +1,9 @@
1
1
  import * as _ from '../types/module.f.mjs'
2
- import cmp, * as cmpT from '../../function/compare/module.f.mjs'
3
- import find, * as findT from '../find/module.f.mjs'
2
+ import * as Cmp from '../../function/compare/module.f.mjs'
3
+ import find, * as Find from '../find/module.f.mjs'
4
4
  import list from '../../list/module.f.mjs'
5
5
  const { fold, concat, next } = list
6
- import array, * as arrayT from '../../array/module.f.mjs'
6
+ import * as Array from '../../array/module.f.mjs'
7
7
  import n from '../../nullable/module.f.mjs'
8
8
  const { map } = n
9
9
 
@@ -16,11 +16,11 @@ const { map } = n
16
16
  * @template T
17
17
  * @typedef {{
18
18
  * readonly first: Leaf01<T>,
19
- * readonly tail: findT.Path<T>
19
+ * readonly tail: Find.Path<T>
20
20
  * }} RemovePath
21
21
  */
22
22
 
23
- /** @type {<T>(tail: findT.Path<T>) => (n: _.Node<T>) => readonly[T, RemovePath<T>]} */
23
+ /** @type {<T>(tail: Find.Path<T>) => (n: _.Node<T>) => readonly[T, RemovePath<T>]} */
24
24
  const path = tail => n => {
25
25
  switch (n.length) {
26
26
  case 1: { return [n[0], { first: null, tail }] }
@@ -94,10 +94,10 @@ const initValue1 = a => n => {
94
94
  * @typedef {(a: A) => (n: _.Branch3<T>) => _.Branch1<T> | _.Branch3<T>} Merge
95
95
  */
96
96
 
97
- /** @type {<A, T>(ms: arrayT.Array2<Merge<A, T>>) => (i: findT.PathItem<T>) => (a: A) => Branch<T>} */
97
+ /** @type {<A, T>(ms: Array.Array2<Merge<A, T>>) => (i: Find.PathItem<T>) => (a: A) => Branch<T>} */
98
98
  const reduceX = ms => ([i, n]) => a => {
99
99
  const [m0, m2] = ms
100
- /** @typedef {typeof ms extends arrayT.Array2<Merge<infer A, infer T>> ? [A,T] : never} AT */
100
+ /** @typedef {typeof ms extends Array.Array2<Merge<infer A, infer T>> ? [A,T] : never} AT */
101
101
  /** @typedef {AT[0]} A */
102
102
  /** @typedef {AT[1]} T */
103
103
  /** @type {(m: Merge<A, T>) => Branch<T>} */
@@ -116,15 +116,15 @@ const reduce = fold(reduceX([reduceValue0, reduceValue2]))
116
116
 
117
117
  const initReduce = reduceX([initValue0, initValue1])
118
118
 
119
- /** @type {<T>(c: cmpT.Compare<T>) => (node: _.Node<T>) => _.Tree<T>} */
119
+ /** @type {<T>(c: Cmp.Compare<T>) => (node: _.Node<T>) => _.Tree<T>} */
120
120
  const nodeRemove = c => node => {
121
- /** @typedef {typeof c extends cmpT.Compare<infer T> ? T : never} T */
121
+ /** @typedef {typeof c extends Cmp.Compare<infer T> ? T : never} T */
122
122
  /** @type {() => null | RemovePath<T>} */
123
123
  const f = () => {
124
124
  const { first, tail } = find.find(c)(node)
125
- /** @type {(n: _.Node<T>) => (f: (v: T) => findT.PathItem<T>) => RemovePath<T>} */
125
+ /** @type {(n: _.Node<T>) => (f: (v: T) => Find.PathItem<T>) => RemovePath<T>} */
126
126
  const branch = n => f => {
127
- const [v, p] = path(/** @type {findT.Path<T>} */(null))(n)
127
+ const [v, p] = path(/** @type {Find.Path<T>} */(null))(n)
128
128
  return { first: p.first, tail: concat(p.tail)({ first: f(v), tail }) }
129
129
  }
130
130
  const [i, n] = first
@@ -156,7 +156,7 @@ const nodeRemove = c => node => {
156
156
  return result.length === 1 ? result[0] : result
157
157
  }
158
158
 
159
- /** @type {<T>(c: cmpT.Compare<T>) => (tree: _.Tree<T>) => _.Tree<T>} */
159
+ /** @type {<T>(c: Cmp.Compare<T>) => (tree: _.Tree<T>) => _.Tree<T>} */
160
160
  const remove = c => map(nodeRemove(c))
161
161
 
162
162
  export default {
@@ -0,0 +1,7 @@
1
+ declare namespace _default {
2
+ export { test };
3
+ export { test2 };
4
+ }
5
+ export default _default;
6
+ declare function test(): void;
7
+ declare function test2(): void;
@@ -1,5 +1,5 @@
1
1
  import _ from './module.f.mjs'
2
- import * as btree from '../types/module.f.mjs'
2
+ import * as BTree from '../types/module.f.mjs'
3
3
  import s from '../set/module.f.mjs'
4
4
  import str from '../../string/module.f.mjs'
5
5
  const { cmp } = str
@@ -7,16 +7,16 @@ import json from '../../../json/module.f.mjs'
7
7
  import o from '../../object/module.f.mjs'
8
8
  const { sort } = o
9
9
 
10
- /** @type {(node: btree.Node<string>) => (value: string) => btree.Node<string>} */
10
+ /** @type {(node: BTree.Node<string>) => (value: string) => BTree.Node<string>} */
11
11
  const set = node => value => s.set(cmp(value))(() => value)(node)
12
12
 
13
- /** @type {(node: btree.Node<string>) => (value: string) => btree.Node<string> | null} */
13
+ /** @type {(node: BTree.Node<string>) => (value: string) => BTree.Node<string> | null} */
14
14
  const remove = node => value => _.nodeRemove(cmp(value))(node)
15
15
 
16
16
  const jsonStr = json.stringify(sort)
17
17
 
18
18
  const test = () => {
19
- /** @type {btree.Node<string> | null} */
19
+ /** @type {BTree.Node<string> | null} */
20
20
  let _map = ['1']
21
21
  for (let i = 2; i <= 38; i++)
22
22
  _map = set(_map)((i * i).toString())
@@ -411,7 +411,7 @@ const test = () => {
411
411
  }
412
412
 
413
413
  const test2 = () => {
414
- /** @type {btree.Node<string>|null} */
414
+ /** @type {BTree.Node<string>|null} */
415
415
  let _map = ['1']
416
416
  for (let i = 2; i <= 10; i++)
417
417
  _map = set(_map)((i * i).toString())
@@ -0,0 +1,9 @@
1
+ declare namespace _default {
2
+ export { set };
3
+ }
4
+ export default _default;
5
+ export type Branch1To3<T> = _.Branch1<T> | _.Branch3<T>;
6
+ /** @type {<T>(c: Cmp.Compare<T>) => (f: (value: T|null) => T) => (tree: _.Tree<T>) => _.Node<T>} */
7
+ declare const set: <T>(c: Cmp.Compare<T>) => (f: (value: T | null) => T) => (tree: _.Tree<T>) => _.Node<T>;
8
+ import * as _ from '../types/module.f.mjs';
9
+ import * as Cmp from '../../function/compare/module.f.mjs';
@@ -1,7 +1,7 @@
1
1
  import * as _ from '../types/module.f.mjs'
2
- import btreeFind, * as btreeFindT from '../find/module.f.mjs'
2
+ import btreeFind, * as BtreeFind from '../find/module.f.mjs'
3
3
  const { find } = btreeFind
4
- import cmp, * as cmpT from '../../function/compare/module.f.mjs'
4
+ import * as Cmp from '../../function/compare/module.f.mjs'
5
5
  import list from '../../list/module.f.mjs'
6
6
  const { fold } = list
7
7
 
@@ -13,7 +13,7 @@ const { fold } = list
13
13
  /** @type {<T>(b: _.Branch5<T> | _.Branch7<T>) => Branch1To3<T>} */
14
14
  const b57 = b => b.length === 5 ? [b] : [[b[0], b[1], b[2]], b[3], [b[4], b[5], b[6]]]
15
15
 
16
- /** @type {<T>(i: btreeFindT.PathItem<T>) => (a: Branch1To3<T>) => Branch1To3<T>} */
16
+ /** @type {<T>(i: BtreeFind.PathItem<T>) => (a: Branch1To3<T>) => Branch1To3<T>} */
17
17
  const reduceOp = ([i, x]) => a => {
18
18
  switch (i) {
19
19
  case 0: {
@@ -36,11 +36,11 @@ const reduceOp = ([i, x]) => a => {
36
36
 
37
37
  const reduceBranch = fold(reduceOp)
38
38
 
39
- /** @type {<T>(c: cmpT.Compare<T>) => (g: (value: T | null) => T) => (node: _.Node<T>) => _.Node<T>} */
39
+ /** @type {<T>(c: Cmp.Compare<T>) => (g: (value: T | null) => T) => (node: _.Node<T>) => _.Node<T>} */
40
40
  const nodeSet = c => g => node => {
41
41
  const { first, tail } = find(c)(node)
42
42
  const [i, x] = first;
43
- /** @typedef {typeof c extends cmpT.Compare<infer T> ? T : never} T */
43
+ /** @typedef {typeof c extends Cmp.Compare<infer T> ? T : never} T */
44
44
  /** @type {() => Branch1To3<T>} */
45
45
  const f = () => {
46
46
  switch (i) {
@@ -87,7 +87,7 @@ const nodeSet = c => g => node => {
87
87
  return r.length === 1 ? r[0] : r
88
88
  }
89
89
 
90
- /** @type {<T>(c: cmpT.Compare<T>) => (f: (value: T|null) => T) => (tree: _.Tree<T>) => _.Node<T>} */
90
+ /** @type {<T>(c: Cmp.Compare<T>) => (f: (value: T|null) => T) => (tree: _.Tree<T>) => _.Node<T>} */
91
91
  const set = c => f => tree => tree === null ? [f(null)] : nodeSet(c)(f)(tree)
92
92
 
93
93
  export default {
@@ -0,0 +1,2 @@
1
+ export default test;
2
+ declare const test: (() => void)[];
@@ -1,19 +1,19 @@
1
1
  import _ from './module.f.mjs'
2
- import * as btree from '../types/module.f.mjs'
2
+ import * as BTree from '../types/module.f.mjs'
3
3
  import s from '../../string/module.f.mjs'
4
4
  const { cmp } = s
5
- import json, * as jsonT from '../../../json/module.f.mjs'
5
+ import json from '../../../json/module.f.mjs'
6
6
  import o from '../../object/module.f.mjs'
7
7
  const { sort } = o
8
8
 
9
- /** @type {(node: btree.Node<string>) => (value: string) => btree.Node<string>} */
9
+ /** @type {(node: BTree.Node<string>) => (value: string) => BTree.Node<string>} */
10
10
  const set = node => value => _.set(cmp(value))(() => value)(node)
11
11
 
12
12
  const jsonStr = json.stringify(sort)
13
13
 
14
14
  const test = [
15
15
  () => {
16
- /** @type {btree.Node<string>} */
16
+ /** @type {BTree.Node<string>} */
17
17
  let _map = ['1']
18
18
  for (let i = 2; i <= 10; i++)
19
19
  _map = set(_map)((i * i).toString())
@@ -22,7 +22,7 @@ const test = [
22
22
  },
23
23
 
24
24
  () => {
25
- /** @type {btree.Node<string>} */
25
+ /** @type {BTree.Node<string>} */
26
26
  let _map = ['1']
27
27
  for (let i = 2; i <= 11; i++)
28
28
  _map = set(_map)((i * i).toString())
@@ -31,7 +31,7 @@ const test = [
31
31
  },
32
32
 
33
33
  () => {
34
- /** @type {btree.Node<string>} */
34
+ /** @type {BTree.Node<string>} */
35
35
  let _map = ['1']
36
36
  for (let i = 2; i <= 12; i++)
37
37
  _map = set(_map)((i * i).toString())
@@ -40,7 +40,7 @@ const test = [
40
40
  },
41
41
 
42
42
  () => {
43
- /** @type {btree.Node<string>} */
43
+ /** @type {BTree.Node<string>} */
44
44
  let _map = ['1']
45
45
  for (let i = 2; i <= 13; i++)
46
46
  _map = set(_map)((i * i).toString())
@@ -49,7 +49,7 @@ const test = [
49
49
  },
50
50
 
51
51
  () => {
52
- /** @type {btree.Node<string>} */
52
+ /** @type {BTree.Node<string>} */
53
53
  let _map = ['1']
54
54
  for (let i = 2; i <= 14; i++)
55
55
  _map = set(_map)((i * i).toString())
@@ -58,7 +58,7 @@ const test = [
58
58
  },
59
59
 
60
60
  () => {
61
- /** @type {btree.Node<string>} */
61
+ /** @type {BTree.Node<string>} */
62
62
  let _map = ['1']
63
63
  for (let i = 2; i <= 15; i++)
64
64
  _map = set(_map)((i * i).toString())
@@ -67,7 +67,7 @@ const test = [
67
67
  },
68
68
 
69
69
  () => {
70
- /** @type {btree.Node<string>} */
70
+ /** @type {BTree.Node<string>} */
71
71
  let _map = ['1']
72
72
  for (let i = 2; i <= 16; i++)
73
73
  _map = set(_map)((i * i).toString())
@@ -76,7 +76,7 @@ const test = [
76
76
  },
77
77
 
78
78
  () => {
79
- /** @type {btree.Node<string>} */
79
+ /** @type {BTree.Node<string>} */
80
80
  let _map = ['1']
81
81
  for (let i = 2; i <= 17; i++)
82
82
  _map = set(_map)((i * i).toString())
@@ -85,7 +85,7 @@ const test = [
85
85
  },
86
86
 
87
87
  () => {
88
- /** @type {btree.Node<string>} */
88
+ /** @type {BTree.Node<string>} */
89
89
  let _map = ['1']
90
90
  for (let i = 2; i <= 18; i++)
91
91
  _map = set(_map)((i * i).toString())
@@ -96,7 +96,7 @@ const test = [
96
96
  },
97
97
 
98
98
  () => {
99
- /** @type {btree.Node<string>} */
99
+ /** @type {BTree.Node<string>} */
100
100
  let _map = ['1']
101
101
  for (let i = 2; i <= 19; i++)
102
102
  _map = set(_map)((i * i).toString())
@@ -107,7 +107,7 @@ const test = [
107
107
  },
108
108
 
109
109
  () => {
110
- /** @type {btree.Node<string>} */
110
+ /** @type {BTree.Node<string>} */
111
111
  let _map = ['1']
112
112
  for (let i = 2; i <= 20; i++)
113
113
  _map = set(_map)((i * i).toString())
@@ -120,7 +120,7 @@ const test = [
120
120
  },
121
121
 
122
122
  () => {
123
- /** @type {btree.Node<string>} */
123
+ /** @type {BTree.Node<string>} */
124
124
  let _map = ['1']
125
125
  for (let i = 2; i <= 21; i++)
126
126
  _map = set(_map)((i * i).toString())
@@ -133,7 +133,7 @@ const test = [
133
133
  },
134
134
 
135
135
  () => {
136
- /** @type {btree.Node<string>} */
136
+ /** @type {BTree.Node<string>} */
137
137
  let _map = ['1']
138
138
  for (let i = 2; i <= 22; i++)
139
139
  _map = set(_map)((i * i).toString())
@@ -146,7 +146,7 @@ const test = [
146
146
  },
147
147
 
148
148
  () => {
149
- /** @type {btree.Node<string>} */
149
+ /** @type {BTree.Node<string>} */
150
150
  let _map = ['1']
151
151
  for (let i = 2; i <= 23; i++)
152
152
  _map = set(_map)((i * i).toString())
@@ -159,7 +159,7 @@ const test = [
159
159
  },
160
160
 
161
161
  () => {
162
- /** @type {btree.Node<string>} */
162
+ /** @type {BTree.Node<string>} */
163
163
  let _map = ['1']
164
164
  for (let i = 2; i <= 24; i++)
165
165
  _map = set(_map)((i * i).toString())
@@ -172,7 +172,7 @@ const test = [
172
172
  },
173
173
 
174
174
  () => {
175
- /** @type {btree.Node<string>} */
175
+ /** @type {BTree.Node<string>} */
176
176
  let _map = ['1']
177
177
  for (let i = 2; i <= 25; i++)
178
178
  _map = set(_map)((i * i).toString())
@@ -185,7 +185,7 @@ const test = [
185
185
  },
186
186
 
187
187
  () => {
188
- /** @type {btree.Node<string>} */
188
+ /** @type {BTree.Node<string>} */
189
189
  let _map = ['1']
190
190
  for (let i = 2; i <= 26; i++)
191
191
  _map = set(_map)((i * i).toString())
@@ -200,7 +200,7 @@ const test = [
200
200
  },
201
201
 
202
202
  () => {
203
- /** @type {btree.Node<string>} */
203
+ /** @type {BTree.Node<string>} */
204
204
  let _map = ['1']
205
205
  for (let i = 2; i <= 27; i++)
206
206
  _map = set(_map)((i * i).toString())
@@ -215,7 +215,7 @@ const test = [
215
215
  },
216
216
 
217
217
  () => {
218
- /** @type {btree.Node<string>} */
218
+ /** @type {BTree.Node<string>} */
219
219
  let _map = ['1']
220
220
  for (let i = 2; i <= 28; i++)
221
221
  _map = set(_map)((i * i).toString())
@@ -230,7 +230,7 @@ const test = [
230
230
  },
231
231
 
232
232
  () => {
233
- /** @type {btree.Node<string>} */
233
+ /** @type {BTree.Node<string>} */
234
234
  let _map = ['1']
235
235
  for (let i = 2; i <= 29; i++)
236
236
  _map = set(_map)((i * i).toString())
@@ -245,7 +245,7 @@ const test = [
245
245
  },
246
246
 
247
247
  () => {
248
- /** @type {btree.Node<string>} */
248
+ /** @type {BTree.Node<string>} */
249
249
  let _map = ['1']
250
250
  for (let i = 2; i <= 30; i++)
251
251
  _map = set(_map)((i * i).toString())
@@ -260,7 +260,7 @@ const test = [
260
260
  },
261
261
 
262
262
  () => {
263
- /** @type {btree.Node<string>} */
263
+ /** @type {BTree.Node<string>} */
264
264
  let _map = ['1']
265
265
  for (let i = 2; i <= 31; i++)
266
266
  _map = set(_map)((i * i).toString())
@@ -275,7 +275,7 @@ const test = [
275
275
  },
276
276
 
277
277
  () => {
278
- /** @type {btree.Node<string>} */
278
+ /** @type {BTree.Node<string>} */
279
279
  let _map = ['1']
280
280
  for (let i = 2; i <= 32; i++)
281
281
  _map = set(_map)((i * i).toString())
@@ -290,7 +290,7 @@ const test = [
290
290
  },
291
291
 
292
292
  () => {
293
- /** @type {btree.Node<string>} */
293
+ /** @type {BTree.Node<string>} */
294
294
  let _map = ['1']
295
295
  for (let i = 2; i <= 33; i++)
296
296
  _map = set(_map)((i * i).toString())
@@ -305,7 +305,7 @@ const test = [
305
305
  },
306
306
 
307
307
  () => {
308
- /** @type {btree.Node<string>} */
308
+ /** @type {BTree.Node<string>} */
309
309
  let _map = ['1']
310
310
  for (let i = 2; i <= 34; i++)
311
311
  _map = set(_map)((i * i).toString())
@@ -320,7 +320,7 @@ const test = [
320
320
  },
321
321
 
322
322
  () => {
323
- /** @type {btree.Node<string>} */
323
+ /** @type {BTree.Node<string>} */
324
324
  let _map = ['1']
325
325
  for (let i = 2; i <= 35; i++)
326
326
  _map = set(_map)((i * i).toString())
@@ -335,7 +335,7 @@ const test = [
335
335
  },
336
336
 
337
337
  () => {
338
- /** @type {btree.Node<string>} */
338
+ /** @type {BTree.Node<string>} */
339
339
  let _map = ['1']
340
340
  for (let i = 2; i <= 36; i++)
341
341
  _map = set(_map)((i * i).toString())
@@ -350,7 +350,7 @@ const test = [
350
350
  },
351
351
 
352
352
  () => {
353
- /** @type {btree.Node<string>} */
353
+ /** @type {BTree.Node<string>} */
354
354
  let _map = ['1']
355
355
  for (let i = 2; i <= 37; i++)
356
356
  _map = set(_map)((i * i).toString())
@@ -365,7 +365,7 @@ const test = [
365
365
  },
366
366
 
367
367
  () => {
368
- /** @type {btree.Node<string>} */
368
+ /** @type {BTree.Node<string>} */
369
369
  let _map = ['1']
370
370
  for (let i = 2; i <= 38; i++)
371
371
  _map = set(_map)((i * i).toString())
@@ -0,0 +1,13 @@
1
+ declare namespace _default {
2
+ export { valueTest1 };
3
+ export { valuesTest2 };
4
+ export { findTrue };
5
+ export { find };
6
+ export { test };
7
+ }
8
+ export default _default;
9
+ declare function valueTest1(): void;
10
+ declare function valuesTest2(): void;
11
+ declare function findTrue(): void;
12
+ declare function find(): void;
13
+ declare function test(): void;
@@ -1,4 +1,4 @@
1
- import * as btreeT from './types/module.f.mjs'
1
+ import * as BTree from './types/module.f.mjs'
2
2
  import _ from './module.f.mjs'
3
3
  const { values } = _
4
4
  import json, * as jsonT from '../../json/module.f.mjs'
@@ -10,20 +10,16 @@ import list, * as List from '../list/module.f.mjs'
10
10
  import s from './set/module.f.mjs'
11
11
  import f from './find/module.f.mjs'
12
12
 
13
- // require('./find/test.f.mjs')
14
- // require('./set/test.f.mjs')
15
- // require('./remove/test.f.mjs')
16
-
17
13
  const jsonStr = json.stringify(sort)
18
14
 
19
15
  /** @type {(sequence: List.List<jsonT.Unknown>) => string} */
20
16
  const stringify = sequence => jsonStr(list.toArray(sequence))
21
17
 
22
- /** @type {(node: btreeT.Node<string>) => (value: string) => btreeT.Node<string>} */
18
+ /** @type {(node: BTree.Node<string>) => (value: string) => BTree.Node<string>} */
23
19
  const set = node => value => s.set(cmp(value))(() => value)(node)
24
20
 
25
21
  const valueTest1 = () => {
26
- /** @type {btreeT.Node<string>} */
22
+ /** @type {BTree.Node<string>} */
27
23
  let _map = ['a']
28
24
  _map = set(_map)('b')
29
25
  _map = set(_map)('c')
@@ -35,7 +31,7 @@ const valueTest1 = () => {
35
31
  }
36
32
 
37
33
  const valuesTest2 = () => {
38
- /** @type {btreeT.Node<string>} */
34
+ /** @type {BTree.Node<string>} */
39
35
  let _map = ['1']
40
36
  for(let i = 2; i <= 10; i++)
41
37
  _map = set(_map)((i*i).toString())
@@ -44,7 +40,7 @@ const valuesTest2 = () => {
44
40
  }
45
41
 
46
42
  const findTrue = () => {
47
- /** @type {btreeT.Node<string>} */
43
+ /** @type {BTree.Node<string>} */
48
44
  let _map = ['a']
49
45
  _map = set(_map)('b')
50
46
  _map = set(_map)('c')
@@ -53,7 +49,7 @@ const findTrue = () => {
53
49
  }
54
50
 
55
51
  const find = () => {
56
- /** @type {btreeT.Node<string>} */
52
+ /** @type {BTree.Node<string>} */
57
53
  let _map = ['a']
58
54
  _map = set(_map)('b')
59
55
  _map = set(_map)('c')
@@ -62,7 +58,7 @@ const find = () => {
62
58
  }
63
59
 
64
60
  const test = () => {
65
- /** @type {btreeT.Node<string>} */
61
+ /** @type {BTree.Node<string>} */
66
62
  let _map = ['a']
67
63
  _map = set(_map)('b')
68
64
  _map = set(_map)('c')
@@ -0,0 +1,16 @@
1
+ declare const _default: {};
2
+ export default _default;
3
+ export type Array1<T> = readonly [T];
4
+ export type Array2<T> = readonly [T, T];
5
+ export type Array3<T> = readonly [T, T, T];
6
+ export type Index2 = 0 | 1;
7
+ export type Index3 = 0 | 1 | 2;
8
+ export type Index5 = 0 | 1 | 2 | 3 | 4;
9
+ export type Leaf1<T> = Array1<T>;
10
+ export type Leaf2<T> = Array2<T>;
11
+ export type Branch3<T> = readonly [Node<T>, T, Node<T>];
12
+ export type Branch5<T> = readonly [Node<T>, T, Node<T>, T, Node<T>];
13
+ export type Node<T> = Leaf1<T> | Leaf2<T> | Branch3<T> | Branch5<T>;
14
+ export type Tree<T> = Node<T> | null;
15
+ export type Branch1<T> = readonly [Node<T>];
16
+ export type Branch7<T> = readonly [...Branch5<T>, T, Node<T>];