data-structure-typed 2.5.0 → 2.5.1
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/.vitepress/cache/deps_temp_51f5f1b0/chunk-7OIKW5WK.js +12984 -0
- package/.vitepress/cache/deps_temp_51f5f1b0/package.json +3 -0
- package/.vitepress/cache/deps_temp_51f5f1b0/vitepress___@vue_devtools-api.js +4505 -0
- package/.vitepress/cache/deps_temp_51f5f1b0/vitepress___@vueuse_core.js +9731 -0
- package/.vitepress/cache/deps_temp_51f5f1b0/vue.js +347 -0
- package/CHANGELOG.md +3 -1
- package/README.md +63 -26
- package/dist/cjs/binary-tree.cjs +23698 -0
- package/dist/cjs/graph.cjs +5236 -0
- package/dist/cjs/hash.cjs +1262 -0
- package/dist/cjs/heap.cjs +1540 -0
- package/dist/cjs/index.cjs +28244 -14795
- package/dist/cjs/linked-list.cjs +4370 -0
- package/dist/cjs/matrix.cjs +1042 -0
- package/dist/cjs/priority-queue.cjs +1314 -0
- package/dist/cjs/queue.cjs +4090 -0
- package/dist/cjs/stack.cjs +861 -0
- package/dist/cjs/trie.cjs +1173 -0
- package/dist/cjs-legacy/binary-tree.cjs +23730 -0
- package/dist/cjs-legacy/graph.cjs +5234 -0
- package/dist/cjs-legacy/hash.cjs +1262 -0
- package/dist/cjs-legacy/heap.cjs +1537 -0
- package/dist/cjs-legacy/index.cjs +28239 -14790
- package/dist/cjs-legacy/linked-list.cjs +4376 -0
- package/dist/cjs-legacy/matrix.cjs +1045 -0
- package/dist/cjs-legacy/priority-queue.cjs +1312 -0
- package/dist/cjs-legacy/queue.cjs +4088 -0
- package/dist/cjs-legacy/stack.cjs +861 -0
- package/dist/cjs-legacy/trie.cjs +1172 -0
- package/dist/esm/binary-tree.mjs +23683 -0
- package/dist/esm/graph.mjs +5223 -0
- package/dist/esm/hash.mjs +1259 -0
- package/dist/esm/heap.mjs +1534 -0
- package/dist/esm/index.mjs +28242 -14796
- package/dist/esm/linked-list.mjs +4363 -0
- package/dist/esm/matrix.mjs +1038 -0
- package/dist/esm/priority-queue.mjs +1310 -0
- package/dist/esm/queue.mjs +4086 -0
- package/dist/esm/stack.mjs +859 -0
- package/dist/esm/trie.mjs +1170 -0
- package/dist/esm-legacy/binary-tree.mjs +23715 -0
- package/dist/esm-legacy/graph.mjs +5221 -0
- package/dist/esm-legacy/hash.mjs +1259 -0
- package/dist/esm-legacy/heap.mjs +1531 -0
- package/dist/esm-legacy/index.mjs +28237 -14791
- package/dist/esm-legacy/linked-list.mjs +4369 -0
- package/dist/esm-legacy/matrix.mjs +1041 -0
- package/dist/esm-legacy/priority-queue.mjs +1308 -0
- package/dist/esm-legacy/queue.mjs +4084 -0
- package/dist/esm-legacy/stack.mjs +859 -0
- package/dist/esm-legacy/trie.mjs +1169 -0
- package/dist/types/data-structures/base/index.d.ts +1 -0
- package/dist/types/data-structures/base/iterable-entry-base.d.ts +8 -8
- package/dist/types/data-structures/base/linear-base.d.ts +3 -3
- package/dist/types/data-structures/binary-tree/avl-tree.d.ts +240 -0
- package/dist/types/data-structures/binary-tree/binary-indexed-tree.d.ts +280 -0
- package/dist/types/data-structures/binary-tree/binary-tree.d.ts +502 -2
- package/dist/types/data-structures/binary-tree/bst.d.ts +481 -1
- package/dist/types/data-structures/binary-tree/red-black-tree.d.ts +380 -0
- package/dist/types/data-structures/binary-tree/segment-tree.d.ts +120 -1
- package/dist/types/data-structures/binary-tree/tree-map.d.ts +2764 -384
- package/dist/types/data-structures/binary-tree/tree-multi-map.d.ts +2753 -353
- package/dist/types/data-structures/binary-tree/tree-multi-set.d.ts +2241 -321
- package/dist/types/data-structures/binary-tree/tree-set.d.ts +2554 -274
- package/dist/types/data-structures/graph/abstract-graph.d.ts +4 -4
- package/dist/types/data-structures/graph/directed-graph.d.ts +200 -0
- package/dist/types/data-structures/graph/undirected-graph.d.ts +180 -0
- package/dist/types/data-structures/hash/hash-map.d.ts +230 -10
- package/dist/types/data-structures/heap/heap.d.ts +280 -0
- package/dist/types/data-structures/linked-list/doubly-linked-list.d.ts +343 -3
- package/dist/types/data-structures/linked-list/singly-linked-list.d.ts +303 -3
- package/dist/types/data-structures/linked-list/skip-linked-list.d.ts +362 -2
- package/dist/types/data-structures/matrix/matrix.d.ts +160 -0
- package/dist/types/data-structures/queue/deque.d.ts +304 -4
- package/dist/types/data-structures/queue/queue.d.ts +240 -0
- package/dist/types/data-structures/stack/stack.d.ts +200 -0
- package/dist/types/data-structures/trie/trie.d.ts +244 -4
- package/dist/types/interfaces/graph.d.ts +1 -1
- package/dist/types/types/common.d.ts +2 -2
- package/dist/types/types/data-structures/heap/heap.d.ts +1 -0
- package/dist/types/types/data-structures/priority-queue/priority-queue.d.ts +1 -0
- package/dist/types/types/utils/validate-type.d.ts +4 -4
- package/dist/umd/data-structure-typed.js +28022 -14573
- package/dist/umd/data-structure-typed.min.js +9 -3
- package/docs-site-docusaurus/README.md +41 -0
- package/docs-site-docusaurus/docs/api/README.md +52 -0
- package/docs-site-docusaurus/docs/api/classes/AVLTree.md +6130 -0
- package/docs-site-docusaurus/docs/api/classes/AVLTreeNode.md +282 -0
- package/docs-site-docusaurus/docs/api/classes/AbstractGraph.md +2266 -0
- package/docs-site-docusaurus/docs/api/classes/BST.md +5831 -0
- package/docs-site-docusaurus/docs/api/classes/BSTNode.md +333 -0
- package/docs-site-docusaurus/docs/api/classes/BinaryIndexedTree.md +455 -0
- package/docs-site-docusaurus/docs/api/classes/BinaryTree.md +4647 -0
- package/docs-site-docusaurus/docs/api/classes/BinaryTreeNode.md +331 -0
- package/docs-site-docusaurus/docs/api/classes/Deque.md +2767 -0
- package/docs-site-docusaurus/docs/api/classes/DirectedGraph.md +2999 -0
- package/docs-site-docusaurus/docs/api/classes/DoublyLinkedList.md +2685 -0
- package/docs-site-docusaurus/docs/api/classes/DoublyLinkedListNode.md +221 -0
- package/docs-site-docusaurus/docs/api/classes/FibonacciHeap.md +253 -0
- package/docs-site-docusaurus/docs/api/classes/FibonacciHeapNode.md +21 -0
- package/docs-site-docusaurus/docs/api/classes/HashMap.md +1333 -0
- package/docs-site-docusaurus/docs/api/classes/Heap.md +1881 -0
- package/docs-site-docusaurus/docs/api/classes/IterableElementBase.md +800 -0
- package/docs-site-docusaurus/docs/api/classes/IterableEntryBase.md +644 -0
- package/docs-site-docusaurus/docs/api/classes/LinearBase.md +1632 -0
- package/docs-site-docusaurus/docs/api/classes/LinearLinkedBase.md +1853 -0
- package/docs-site-docusaurus/docs/api/classes/LinkedHashMap.md +1108 -0
- package/docs-site-docusaurus/docs/api/classes/LinkedListNode.md +156 -0
- package/docs-site-docusaurus/docs/api/classes/LinkedListQueue.md +2824 -0
- package/docs-site-docusaurus/docs/api/classes/MapGraph.md +2929 -0
- package/docs-site-docusaurus/docs/api/classes/Matrix.md +1026 -0
- package/docs-site-docusaurus/docs/api/classes/MaxHeap.md +1866 -0
- package/docs-site-docusaurus/docs/api/classes/MaxPriorityQueue.md +1883 -0
- package/docs-site-docusaurus/docs/api/classes/MinHeap.md +1879 -0
- package/docs-site-docusaurus/docs/api/classes/MinPriorityQueue.md +1882 -0
- package/docs-site-docusaurus/docs/api/classes/Navigator.md +109 -0
- package/docs-site-docusaurus/docs/api/classes/PriorityQueue.md +1839 -0
- package/docs-site-docusaurus/docs/api/classes/Queue.md +2244 -0
- package/docs-site-docusaurus/docs/api/classes/RedBlackTree.md +6374 -0
- package/docs-site-docusaurus/docs/api/classes/SegmentTree.md +372 -0
- package/docs-site-docusaurus/docs/api/classes/SinglyLinkedList.md +2897 -0
- package/docs-site-docusaurus/docs/api/classes/SinglyLinkedListNode.md +169 -0
- package/docs-site-docusaurus/docs/api/classes/SkipList.md +1229 -0
- package/docs-site-docusaurus/docs/api/classes/Stack.md +1573 -0
- package/docs-site-docusaurus/docs/api/classes/TreeMap.md +1257 -0
- package/docs-site-docusaurus/docs/api/classes/TreeMultiMap.md +1475 -0
- package/docs-site-docusaurus/docs/api/classes/TreeSet.md +1117 -0
- package/docs-site-docusaurus/docs/api/classes/Trie.md +1708 -0
- package/docs-site-docusaurus/docs/api/classes/TrieNode.md +199 -0
- package/docs-site-docusaurus/docs/api/classes/UndirectedGraph.md +2979 -0
- package/docs-site-docusaurus/docs/guide/_category_.json +6 -0
- package/docs-site-docusaurus/docs/guide/architecture.md +613 -0
- package/docs-site-docusaurus/docs/guide/concepts.md +420 -0
- package/docs-site-docusaurus/docs/guide/guides.md +611 -0
- package/docs-site-docusaurus/docs/guide/installation.md +60 -0
- package/docs-site-docusaurus/docs/guide/integrations.md +823 -0
- package/docs-site-docusaurus/docs/guide/overview.md +638 -0
- package/docs-site-docusaurus/docs/guide/performance.md +833 -0
- package/docs-site-docusaurus/docs/guide/quick-start.md +73 -0
- package/docs-site-docusaurus/docusaurus.config.ts +159 -0
- package/docs-site-docusaurus/fix-mdx-generics.mjs +75 -0
- package/docs-site-docusaurus/package-lock.json +18667 -0
- package/docs-site-docusaurus/package.json +50 -0
- package/docs-site-docusaurus/prefix-class-to-methods.mjs +48 -0
- package/docs-site-docusaurus/sidebars.ts +23 -0
- package/docs-site-docusaurus/sort-protected.mjs +87 -0
- package/docs-site-docusaurus/src/css/custom.css +96 -0
- package/docs-site-docusaurus/src/pages/index.module.css +13 -0
- package/docs-site-docusaurus/src/pages/index.tsx +71 -0
- package/docs-site-docusaurus/src/pages/markdown-page.md +7 -0
- package/docs-site-docusaurus/src/theme/TOCItems/index.tsx +34 -0
- package/docs-site-docusaurus/static/.nojekyll +0 -0
- package/docs-site-docusaurus/static/img/docusaurus-social-card.jpg +0 -0
- package/docs-site-docusaurus/static/img/docusaurus.png +0 -0
- package/docs-site-docusaurus/static/img/favicon.ico +0 -0
- package/docs-site-docusaurus/static/img/favicon.png +0 -0
- package/docs-site-docusaurus/static/img/logo-180.png +0 -0
- package/docs-site-docusaurus/static/img/logo.jpg +0 -0
- package/docs-site-docusaurus/static/img/logo.png +0 -0
- package/docs-site-docusaurus/static/img/logo.svg +1 -0
- package/docs-site-docusaurus/static/img/og-image.png +0 -0
- package/docs-site-docusaurus/static/img/undraw_docusaurus_mountain.svg +171 -0
- package/docs-site-docusaurus/static/img/undraw_docusaurus_react.svg +170 -0
- package/docs-site-docusaurus/static/img/undraw_docusaurus_tree.svg +40 -0
- package/docs-site-docusaurus/static/robots.txt +4 -0
- package/docs-site-docusaurus/typedoc.json +23 -0
- package/package.json +106 -10
- package/src/data-structures/base/index.ts +1 -0
- package/src/data-structures/base/iterable-entry-base.ts +8 -8
- package/src/data-structures/base/linear-base.ts +3 -3
- package/src/data-structures/binary-tree/avl-tree.ts +240 -0
- package/src/data-structures/binary-tree/binary-indexed-tree.ts +281 -1
- package/src/data-structures/binary-tree/binary-tree.ts +502 -2
- package/src/data-structures/binary-tree/bst.ts +481 -1
- package/src/data-structures/binary-tree/red-black-tree.ts +380 -0
- package/src/data-structures/binary-tree/segment-tree.ts +121 -2
- package/src/data-structures/binary-tree/tree-map.ts +2862 -482
- package/src/data-structures/binary-tree/tree-multi-map.ts +2963 -563
- package/src/data-structures/binary-tree/tree-multi-set.ts +2399 -479
- package/src/data-structures/binary-tree/tree-set.ts +2685 -405
- package/src/data-structures/graph/abstract-graph.ts +4 -4
- package/src/data-structures/graph/directed-graph.ts +200 -0
- package/src/data-structures/graph/undirected-graph.ts +180 -0
- package/src/data-structures/hash/hash-map.ts +235 -15
- package/src/data-structures/heap/heap.ts +280 -0
- package/src/data-structures/linked-list/doubly-linked-list.ts +343 -3
- package/src/data-structures/linked-list/singly-linked-list.ts +303 -3
- package/src/data-structures/linked-list/skip-linked-list.ts +362 -2
- package/src/data-structures/matrix/matrix.ts +161 -1
- package/src/data-structures/queue/deque.ts +305 -5
- package/src/data-structures/queue/queue.ts +240 -0
- package/src/data-structures/stack/stack.ts +200 -0
- package/src/data-structures/trie/trie.ts +245 -5
- package/src/interfaces/graph.ts +1 -1
- package/src/types/common.ts +2 -2
- package/src/types/data-structures/heap/heap.ts +1 -0
- package/src/types/data-structures/priority-queue/priority-queue.ts +1 -0
- package/src/types/utils/validate-type.ts +4 -4
- package/vercel.json +6 -0
- package/dist/leetcode/avl-tree-counter.mjs +0 -2957
- package/dist/leetcode/avl-tree-multi-map.mjs +0 -2889
- package/dist/leetcode/avl-tree.mjs +0 -2720
- package/dist/leetcode/binary-tree.mjs +0 -1594
- package/dist/leetcode/bst.mjs +0 -2398
- package/dist/leetcode/deque.mjs +0 -683
- package/dist/leetcode/directed-graph.mjs +0 -1733
- package/dist/leetcode/doubly-linked-list.mjs +0 -709
- package/dist/leetcode/hash-map.mjs +0 -493
- package/dist/leetcode/heap.mjs +0 -542
- package/dist/leetcode/max-heap.mjs +0 -375
- package/dist/leetcode/max-priority-queue.mjs +0 -383
- package/dist/leetcode/min-heap.mjs +0 -363
- package/dist/leetcode/min-priority-queue.mjs +0 -371
- package/dist/leetcode/priority-queue.mjs +0 -363
- package/dist/leetcode/queue.mjs +0 -943
- package/dist/leetcode/red-black-tree.mjs +0 -2765
- package/dist/leetcode/singly-linked-list.mjs +0 -754
- package/dist/leetcode/stack.mjs +0 -217
- package/dist/leetcode/tree-counter.mjs +0 -3039
- package/dist/leetcode/tree-multi-map.mjs +0 -2913
- package/dist/leetcode/trie.mjs +0 -413
- package/dist/leetcode/undirected-graph.mjs +0 -1650
|
@@ -0,0 +1,800 @@
|
|
|
1
|
+
[**data-structure-typed**](../README.md)
|
|
2
|
+
|
|
3
|
+
***
|
|
4
|
+
|
|
5
|
+
[data-structure-typed](../README.md) / IterableElementBase
|
|
6
|
+
|
|
7
|
+
# Abstract Class: IterableElementBase\<E, R\>
|
|
8
|
+
|
|
9
|
+
Defined in: [data-structures/base/iterable-element-base.ts:14](https://github.com/zrwusa/data-structure-typed/blob/2f6ceb3aee852228efc88b111e19c0809753e805/src/data-structures/base/iterable-element-base.ts#L14)
|
|
10
|
+
|
|
11
|
+
Base class that makes a data structure iterable and provides common
|
|
12
|
+
element-wise utilities (e.g., map/filter/reduce/find).
|
|
13
|
+
|
|
14
|
+
## Remarks
|
|
15
|
+
|
|
16
|
+
This class implements the JavaScript iteration protocol (via `Symbol.iterator`)
|
|
17
|
+
and offers array-like helpers with predictable time/space complexity.
|
|
18
|
+
|
|
19
|
+
## Extended by
|
|
20
|
+
|
|
21
|
+
- [`Stack`](Stack.md)
|
|
22
|
+
- [`Heap`](Heap.md)
|
|
23
|
+
- [`Trie`](Trie.md)
|
|
24
|
+
- [`LinearBase`](LinearBase.md)
|
|
25
|
+
|
|
26
|
+
## Type Parameters
|
|
27
|
+
|
|
28
|
+
### E
|
|
29
|
+
|
|
30
|
+
`E`
|
|
31
|
+
|
|
32
|
+
The public element type yielded by the structure.
|
|
33
|
+
|
|
34
|
+
### R
|
|
35
|
+
|
|
36
|
+
`R`
|
|
37
|
+
|
|
38
|
+
The underlying "raw" element type used internally or by converters.
|
|
39
|
+
|
|
40
|
+
## Implements
|
|
41
|
+
|
|
42
|
+
- `Iterable`\<`E`\>
|
|
43
|
+
|
|
44
|
+
## Constructors
|
|
45
|
+
|
|
46
|
+
### toElementFn
|
|
47
|
+
|
|
48
|
+
#### Get Signature
|
|
49
|
+
|
|
50
|
+
```ts
|
|
51
|
+
get toElementFn(): ((rawElement) => E) | undefined;
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
Defined in: [data-structures/base/iterable-element-base.ts:47](https://github.com/zrwusa/data-structure-typed/blob/2f6ceb3aee852228efc88b111e19c0809753e805/src/data-structures/base/iterable-element-base.ts#L47)
|
|
55
|
+
|
|
56
|
+
Exposes the current `toElementFn`, if configured.
|
|
57
|
+
|
|
58
|
+
##### Remarks
|
|
59
|
+
|
|
60
|
+
Time O(1), Space O(1).
|
|
61
|
+
|
|
62
|
+
##### Returns
|
|
63
|
+
|
|
64
|
+
((`rawElement`) => `E`) \| `undefined`
|
|
65
|
+
|
|
66
|
+
The converter function or `undefined` when not set.
|
|
67
|
+
|
|
68
|
+
## Methods
|
|
69
|
+
|
|
70
|
+
### \[iterator\]()
|
|
71
|
+
|
|
72
|
+
```ts
|
|
73
|
+
iterator: IterableIterator<E>;
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
Defined in: [data-structures/base/iterable-element-base.ts:60](https://github.com/zrwusa/data-structure-typed/blob/2f6ceb3aee852228efc88b111e19c0809753e805/src/data-structures/base/iterable-element-base.ts#L60)
|
|
77
|
+
|
|
78
|
+
Returns an iterator over the structure's elements.
|
|
79
|
+
|
|
80
|
+
#### Parameters
|
|
81
|
+
|
|
82
|
+
##### args
|
|
83
|
+
|
|
84
|
+
...`unknown`[]
|
|
85
|
+
|
|
86
|
+
Optional iterator arguments forwarded to the internal iterator.
|
|
87
|
+
|
|
88
|
+
#### Returns
|
|
89
|
+
|
|
90
|
+
`IterableIterator`\<`E`\>
|
|
91
|
+
|
|
92
|
+
An `IterableIterator<E>` that yields the elements in traversal order.
|
|
93
|
+
|
|
94
|
+
#### Remarks
|
|
95
|
+
|
|
96
|
+
Producing the iterator is O(1); consuming the entire iterator is Time O(n) with O(1) extra space.
|
|
97
|
+
|
|
98
|
+
#### Implementation of
|
|
99
|
+
|
|
100
|
+
```ts
|
|
101
|
+
Iterable.[iterator]
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
***
|
|
105
|
+
|
|
106
|
+
### clear()
|
|
107
|
+
|
|
108
|
+
```ts
|
|
109
|
+
abstract clear(): void;
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
Defined in: [data-structures/base/iterable-element-base.ts:288](https://github.com/zrwusa/data-structure-typed/blob/2f6ceb3aee852228efc88b111e19c0809753e805/src/data-structures/base/iterable-element-base.ts#L288)
|
|
113
|
+
|
|
114
|
+
Removes all elements from the structure.
|
|
115
|
+
|
|
116
|
+
#### Returns
|
|
117
|
+
|
|
118
|
+
`void`
|
|
119
|
+
|
|
120
|
+
`void`.
|
|
121
|
+
|
|
122
|
+
#### Remarks
|
|
123
|
+
|
|
124
|
+
Expected Time O(1) or O(n) depending on the implementation; Space O(1).
|
|
125
|
+
|
|
126
|
+
***
|
|
127
|
+
|
|
128
|
+
### clone()
|
|
129
|
+
|
|
130
|
+
```ts
|
|
131
|
+
abstract clone(): this;
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
Defined in: [data-structures/base/iterable-element-base.ts:297](https://github.com/zrwusa/data-structure-typed/blob/2f6ceb3aee852228efc88b111e19c0809753e805/src/data-structures/base/iterable-element-base.ts#L297)
|
|
135
|
+
|
|
136
|
+
Creates a structural copy with the same element values and configuration.
|
|
137
|
+
|
|
138
|
+
#### Returns
|
|
139
|
+
|
|
140
|
+
`this`
|
|
141
|
+
|
|
142
|
+
A clone of the current instance (same concrete type).
|
|
143
|
+
|
|
144
|
+
#### Remarks
|
|
145
|
+
|
|
146
|
+
Expected Time O(n) to copy elements; Space O(n).
|
|
147
|
+
|
|
148
|
+
***
|
|
149
|
+
|
|
150
|
+
### every()
|
|
151
|
+
|
|
152
|
+
```ts
|
|
153
|
+
every(predicate, thisArg?): boolean;
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
Defined in: [data-structures/base/iterable-element-base.ts:86](https://github.com/zrwusa/data-structure-typed/blob/2f6ceb3aee852228efc88b111e19c0809753e805/src/data-structures/base/iterable-element-base.ts#L86)
|
|
157
|
+
|
|
158
|
+
Tests whether all elements satisfy the predicate.
|
|
159
|
+
|
|
160
|
+
#### Parameters
|
|
161
|
+
|
|
162
|
+
##### predicate
|
|
163
|
+
|
|
164
|
+
`ElementCallback`\<`E`, `R`, `boolean`\>
|
|
165
|
+
|
|
166
|
+
Function invoked for each element with signature `(value, index, self)`.
|
|
167
|
+
|
|
168
|
+
##### thisArg?
|
|
169
|
+
|
|
170
|
+
`unknown`
|
|
171
|
+
|
|
172
|
+
Optional `this` binding for the predicate.
|
|
173
|
+
|
|
174
|
+
#### Returns
|
|
175
|
+
|
|
176
|
+
`boolean`
|
|
177
|
+
|
|
178
|
+
`true` if every element passes; otherwise `false`.
|
|
179
|
+
|
|
180
|
+
#### Remarks
|
|
181
|
+
|
|
182
|
+
Time O(n) in the worst case; may exit early when the first failure is found. Space O(1).
|
|
183
|
+
|
|
184
|
+
***
|
|
185
|
+
|
|
186
|
+
### filter()
|
|
187
|
+
|
|
188
|
+
```ts
|
|
189
|
+
abstract filter(predicate, thisArg?): this;
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
Defined in: [data-structures/base/iterable-element-base.ts:340](https://github.com/zrwusa/data-structure-typed/blob/2f6ceb3aee852228efc88b111e19c0809753e805/src/data-structures/base/iterable-element-base.ts#L340)
|
|
193
|
+
|
|
194
|
+
Filters elements using the provided predicate and returns the same concrete structure type.
|
|
195
|
+
|
|
196
|
+
#### Parameters
|
|
197
|
+
|
|
198
|
+
##### predicate
|
|
199
|
+
|
|
200
|
+
`ElementCallback`\<`E`, `R`, `boolean`\>
|
|
201
|
+
|
|
202
|
+
Function with signature `(value, index, self) => boolean`.
|
|
203
|
+
|
|
204
|
+
##### thisArg?
|
|
205
|
+
|
|
206
|
+
`unknown`
|
|
207
|
+
|
|
208
|
+
Optional `this` binding for the predicate.
|
|
209
|
+
|
|
210
|
+
#### Returns
|
|
211
|
+
|
|
212
|
+
`this`
|
|
213
|
+
|
|
214
|
+
A new instance of the same concrete type containing only elements that pass the predicate.
|
|
215
|
+
|
|
216
|
+
#### Remarks
|
|
217
|
+
|
|
218
|
+
Time O(n), Space O(k) where `k` is the number of kept elements.
|
|
219
|
+
|
|
220
|
+
***
|
|
221
|
+
|
|
222
|
+
### find()
|
|
223
|
+
|
|
224
|
+
#### Call Signature
|
|
225
|
+
|
|
226
|
+
```ts
|
|
227
|
+
find<S>(predicate, thisArg?): S | undefined;
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
Defined in: [data-structures/base/iterable-element-base.ts:162](https://github.com/zrwusa/data-structure-typed/blob/2f6ceb3aee852228efc88b111e19c0809753e805/src/data-structures/base/iterable-element-base.ts#L162)
|
|
231
|
+
|
|
232
|
+
Finds the first element that satisfies the predicate and returns it.
|
|
233
|
+
|
|
234
|
+
Finds the first element of type `S` (a subtype of `E`) that satisfies the predicate and returns it.
|
|
235
|
+
|
|
236
|
+
##### Type Parameters
|
|
237
|
+
|
|
238
|
+
###### S
|
|
239
|
+
|
|
240
|
+
`S`
|
|
241
|
+
|
|
242
|
+
##### Parameters
|
|
243
|
+
|
|
244
|
+
###### predicate
|
|
245
|
+
|
|
246
|
+
`ElementCallback`\<`E`, `R`, `S`\>
|
|
247
|
+
|
|
248
|
+
Type-guard predicate: `(value, index, self) => value is S`.
|
|
249
|
+
|
|
250
|
+
###### thisArg?
|
|
251
|
+
|
|
252
|
+
`unknown`
|
|
253
|
+
|
|
254
|
+
Optional `this` binding for the predicate.
|
|
255
|
+
|
|
256
|
+
##### Returns
|
|
257
|
+
|
|
258
|
+
`S` \| `undefined`
|
|
259
|
+
|
|
260
|
+
The matched element typed as `S`, or `undefined` if not found.
|
|
261
|
+
|
|
262
|
+
##### Remarks
|
|
263
|
+
|
|
264
|
+
Time O(n) in the worst case; may exit early on the first match. Space O(1).
|
|
265
|
+
|
|
266
|
+
#### Call Signature
|
|
267
|
+
|
|
268
|
+
```ts
|
|
269
|
+
find(predicate, thisArg?): E | undefined;
|
|
270
|
+
```
|
|
271
|
+
|
|
272
|
+
Defined in: [data-structures/base/iterable-element-base.ts:163](https://github.com/zrwusa/data-structure-typed/blob/2f6ceb3aee852228efc88b111e19c0809753e805/src/data-structures/base/iterable-element-base.ts#L163)
|
|
273
|
+
|
|
274
|
+
Finds the first element that satisfies the predicate and returns it.
|
|
275
|
+
|
|
276
|
+
Finds the first element of type `S` (a subtype of `E`) that satisfies the predicate and returns it.
|
|
277
|
+
|
|
278
|
+
##### Parameters
|
|
279
|
+
|
|
280
|
+
###### predicate
|
|
281
|
+
|
|
282
|
+
`ElementCallback`\<`E`, `R`, `unknown`\>
|
|
283
|
+
|
|
284
|
+
Type-guard predicate: `(value, index, self) => value is S`.
|
|
285
|
+
|
|
286
|
+
###### thisArg?
|
|
287
|
+
|
|
288
|
+
`unknown`
|
|
289
|
+
|
|
290
|
+
Optional `this` binding for the predicate.
|
|
291
|
+
|
|
292
|
+
##### Returns
|
|
293
|
+
|
|
294
|
+
`E` \| `undefined`
|
|
295
|
+
|
|
296
|
+
The matched element typed as `S`, or `undefined` if not found.
|
|
297
|
+
|
|
298
|
+
##### Remarks
|
|
299
|
+
|
|
300
|
+
Time O(n) in the worst case; may exit early on the first match. Space O(1).
|
|
301
|
+
|
|
302
|
+
***
|
|
303
|
+
|
|
304
|
+
### forEach()
|
|
305
|
+
|
|
306
|
+
```ts
|
|
307
|
+
forEach(callbackfn, thisArg?): void;
|
|
308
|
+
```
|
|
309
|
+
|
|
310
|
+
Defined in: [data-structures/base/iterable-element-base.ts:132](https://github.com/zrwusa/data-structure-typed/blob/2f6ceb3aee852228efc88b111e19c0809753e805/src/data-structures/base/iterable-element-base.ts#L132)
|
|
311
|
+
|
|
312
|
+
Invokes a callback for each element in iteration order.
|
|
313
|
+
|
|
314
|
+
#### Parameters
|
|
315
|
+
|
|
316
|
+
##### callbackfn
|
|
317
|
+
|
|
318
|
+
`ElementCallback`\<`E`, `R`, `void`\>
|
|
319
|
+
|
|
320
|
+
Function invoked per element with signature `(value, index, self)`.
|
|
321
|
+
|
|
322
|
+
##### thisArg?
|
|
323
|
+
|
|
324
|
+
`unknown`
|
|
325
|
+
|
|
326
|
+
Optional `this` binding for the callback.
|
|
327
|
+
|
|
328
|
+
#### Returns
|
|
329
|
+
|
|
330
|
+
`void`
|
|
331
|
+
|
|
332
|
+
`void`.
|
|
333
|
+
|
|
334
|
+
#### Remarks
|
|
335
|
+
|
|
336
|
+
Time O(n), Space O(1).
|
|
337
|
+
|
|
338
|
+
***
|
|
339
|
+
|
|
340
|
+
### has()
|
|
341
|
+
|
|
342
|
+
```ts
|
|
343
|
+
has(element): boolean;
|
|
344
|
+
```
|
|
345
|
+
|
|
346
|
+
Defined in: [data-structures/base/iterable-element-base.ts:188](https://github.com/zrwusa/data-structure-typed/blob/2f6ceb3aee852228efc88b111e19c0809753e805/src/data-structures/base/iterable-element-base.ts#L188)
|
|
347
|
+
|
|
348
|
+
Checks whether a strictly-equal element exists in the structure.
|
|
349
|
+
|
|
350
|
+
#### Parameters
|
|
351
|
+
|
|
352
|
+
##### element
|
|
353
|
+
|
|
354
|
+
`E`
|
|
355
|
+
|
|
356
|
+
The element to test with `===` equality.
|
|
357
|
+
|
|
358
|
+
#### Returns
|
|
359
|
+
|
|
360
|
+
`boolean`
|
|
361
|
+
|
|
362
|
+
`true` if an equal element is found; otherwise `false`.
|
|
363
|
+
|
|
364
|
+
#### Remarks
|
|
365
|
+
|
|
366
|
+
Time O(n) in the worst case. Space O(1).
|
|
367
|
+
|
|
368
|
+
***
|
|
369
|
+
|
|
370
|
+
### isEmpty()
|
|
371
|
+
|
|
372
|
+
```ts
|
|
373
|
+
abstract isEmpty(): boolean;
|
|
374
|
+
```
|
|
375
|
+
|
|
376
|
+
Defined in: [data-structures/base/iterable-element-base.ts:279](https://github.com/zrwusa/data-structure-typed/blob/2f6ceb3aee852228efc88b111e19c0809753e805/src/data-structures/base/iterable-element-base.ts#L279)
|
|
377
|
+
|
|
378
|
+
Indicates whether the structure currently contains no elements.
|
|
379
|
+
|
|
380
|
+
#### Returns
|
|
381
|
+
|
|
382
|
+
`boolean`
|
|
383
|
+
|
|
384
|
+
`true` if empty; otherwise `false`.
|
|
385
|
+
|
|
386
|
+
#### Remarks
|
|
387
|
+
|
|
388
|
+
Expected Time O(1), Space O(1) for most implementations.
|
|
389
|
+
|
|
390
|
+
***
|
|
391
|
+
|
|
392
|
+
### map()
|
|
393
|
+
|
|
394
|
+
```ts
|
|
395
|
+
abstract map<EM, RM>(
|
|
396
|
+
callback,
|
|
397
|
+
options?,
|
|
398
|
+
thisArg?): IterableElementBase<EM, RM>;
|
|
399
|
+
```
|
|
400
|
+
|
|
401
|
+
Defined in: [data-structures/base/iterable-element-base.ts:312](https://github.com/zrwusa/data-structure-typed/blob/2f6ceb3aee852228efc88b111e19c0809753e805/src/data-structures/base/iterable-element-base.ts#L312)
|
|
402
|
+
|
|
403
|
+
Maps each element to a new element and returns a new iterable structure.
|
|
404
|
+
|
|
405
|
+
#### Type Parameters
|
|
406
|
+
|
|
407
|
+
##### EM
|
|
408
|
+
|
|
409
|
+
`EM`
|
|
410
|
+
|
|
411
|
+
The mapped element type.
|
|
412
|
+
|
|
413
|
+
##### RM
|
|
414
|
+
|
|
415
|
+
`RM`
|
|
416
|
+
|
|
417
|
+
The mapped raw element type used internally by the target structure.
|
|
418
|
+
|
|
419
|
+
#### Parameters
|
|
420
|
+
|
|
421
|
+
##### callback
|
|
422
|
+
|
|
423
|
+
`ElementCallback`\<`E`, `R`, `EM`\>
|
|
424
|
+
|
|
425
|
+
Function with signature `(value, index, self) => mapped`.
|
|
426
|
+
|
|
427
|
+
##### options?
|
|
428
|
+
|
|
429
|
+
`IterableElementBaseOptions`\<`EM`, `RM`\>
|
|
430
|
+
|
|
431
|
+
Optional options for the returned structure, including its `toElementFn`.
|
|
432
|
+
|
|
433
|
+
##### thisArg?
|
|
434
|
+
|
|
435
|
+
`unknown`
|
|
436
|
+
|
|
437
|
+
Optional `this` binding for the callback.
|
|
438
|
+
|
|
439
|
+
#### Returns
|
|
440
|
+
|
|
441
|
+
`IterableElementBase`\<`EM`, `RM`\>
|
|
442
|
+
|
|
443
|
+
A new `IterableElementBase<EM, RM>` containing mapped elements.
|
|
444
|
+
|
|
445
|
+
#### Remarks
|
|
446
|
+
|
|
447
|
+
Time O(n), Space O(n).
|
|
448
|
+
|
|
449
|
+
***
|
|
450
|
+
|
|
451
|
+
### mapSame()
|
|
452
|
+
|
|
453
|
+
```ts
|
|
454
|
+
abstract mapSame(callback, thisArg?): this;
|
|
455
|
+
```
|
|
456
|
+
|
|
457
|
+
Defined in: [data-structures/base/iterable-element-base.ts:328](https://github.com/zrwusa/data-structure-typed/blob/2f6ceb3aee852228efc88b111e19c0809753e805/src/data-structures/base/iterable-element-base.ts#L328)
|
|
458
|
+
|
|
459
|
+
Maps each element to the same element type and returns the same concrete structure type.
|
|
460
|
+
|
|
461
|
+
#### Parameters
|
|
462
|
+
|
|
463
|
+
##### callback
|
|
464
|
+
|
|
465
|
+
`ElementCallback`\<`E`, `R`, `E`\>
|
|
466
|
+
|
|
467
|
+
Function with signature `(value, index, self) => mappedValue`.
|
|
468
|
+
|
|
469
|
+
##### thisArg?
|
|
470
|
+
|
|
471
|
+
`unknown`
|
|
472
|
+
|
|
473
|
+
Optional `this` binding for the callback.
|
|
474
|
+
|
|
475
|
+
#### Returns
|
|
476
|
+
|
|
477
|
+
`this`
|
|
478
|
+
|
|
479
|
+
A new instance of the same concrete type with mapped elements.
|
|
480
|
+
|
|
481
|
+
#### Remarks
|
|
482
|
+
|
|
483
|
+
Time O(n), Space O(n).
|
|
484
|
+
|
|
485
|
+
***
|
|
486
|
+
|
|
487
|
+
### print()
|
|
488
|
+
|
|
489
|
+
```ts
|
|
490
|
+
print(): void;
|
|
491
|
+
```
|
|
492
|
+
|
|
493
|
+
Defined in: [data-structures/base/iterable-element-base.ts:268](https://github.com/zrwusa/data-structure-typed/blob/2f6ceb3aee852228efc88b111e19c0809753e805/src/data-structures/base/iterable-element-base.ts#L268)
|
|
494
|
+
|
|
495
|
+
Prints `toVisual()` to the console. Intended for quick debugging.
|
|
496
|
+
|
|
497
|
+
#### Returns
|
|
498
|
+
|
|
499
|
+
`void`
|
|
500
|
+
|
|
501
|
+
`void`.
|
|
502
|
+
|
|
503
|
+
#### Remarks
|
|
504
|
+
|
|
505
|
+
Time O(n) due to materialization, Space O(n) for the intermediate representation.
|
|
506
|
+
|
|
507
|
+
***
|
|
508
|
+
|
|
509
|
+
### reduce()
|
|
510
|
+
|
|
511
|
+
Reduces all elements to a single accumulated value.
|
|
512
|
+
|
|
513
|
+
#### Param
|
|
514
|
+
|
|
515
|
+
Reducer of signature `(acc, value, index, self) => nextAcc`. The first element is used as the initial accumulator.
|
|
516
|
+
|
|
517
|
+
#### Param
|
|
518
|
+
|
|
519
|
+
Reducer of signature `(acc, value, index, self) => nextAcc`.
|
|
520
|
+
|
|
521
|
+
#### Param
|
|
522
|
+
|
|
523
|
+
The initial accumulator value of type `E`.
|
|
524
|
+
|
|
525
|
+
#### Template
|
|
526
|
+
|
|
527
|
+
The accumulator type when it differs from `E`.
|
|
528
|
+
|
|
529
|
+
#### Param
|
|
530
|
+
|
|
531
|
+
Reducer of signature `(acc: U, value, index, self) => U`.
|
|
532
|
+
|
|
533
|
+
#### Param
|
|
534
|
+
|
|
535
|
+
The initial accumulator value of type `U`.
|
|
536
|
+
|
|
537
|
+
#### Remarks
|
|
538
|
+
|
|
539
|
+
Time O(n), Space O(1). Throws if called on an empty structure without `initialValue`.
|
|
540
|
+
|
|
541
|
+
#### Call Signature
|
|
542
|
+
|
|
543
|
+
```ts
|
|
544
|
+
reduce(callbackfn): E;
|
|
545
|
+
```
|
|
546
|
+
|
|
547
|
+
Defined in: [data-structures/base/iterable-element-base.ts:193](https://github.com/zrwusa/data-structure-typed/blob/2f6ceb3aee852228efc88b111e19c0809753e805/src/data-structures/base/iterable-element-base.ts#L193)
|
|
548
|
+
|
|
549
|
+
##### Parameters
|
|
550
|
+
|
|
551
|
+
###### callbackfn
|
|
552
|
+
|
|
553
|
+
`ReduceElementCallback`\<`E`, `R`\>
|
|
554
|
+
|
|
555
|
+
##### Returns
|
|
556
|
+
|
|
557
|
+
`E`
|
|
558
|
+
|
|
559
|
+
#### Call Signature
|
|
560
|
+
|
|
561
|
+
```ts
|
|
562
|
+
reduce(callbackfn, initialValue): E;
|
|
563
|
+
```
|
|
564
|
+
|
|
565
|
+
Defined in: [data-structures/base/iterable-element-base.ts:194](https://github.com/zrwusa/data-structure-typed/blob/2f6ceb3aee852228efc88b111e19c0809753e805/src/data-structures/base/iterable-element-base.ts#L194)
|
|
566
|
+
|
|
567
|
+
##### Parameters
|
|
568
|
+
|
|
569
|
+
###### callbackfn
|
|
570
|
+
|
|
571
|
+
`ReduceElementCallback`\<`E`, `R`\>
|
|
572
|
+
|
|
573
|
+
###### initialValue
|
|
574
|
+
|
|
575
|
+
`E`
|
|
576
|
+
|
|
577
|
+
##### Returns
|
|
578
|
+
|
|
579
|
+
`E`
|
|
580
|
+
|
|
581
|
+
#### Call Signature
|
|
582
|
+
|
|
583
|
+
```ts
|
|
584
|
+
reduce<U>(callbackfn, initialValue): U;
|
|
585
|
+
```
|
|
586
|
+
|
|
587
|
+
Defined in: [data-structures/base/iterable-element-base.ts:195](https://github.com/zrwusa/data-structure-typed/blob/2f6ceb3aee852228efc88b111e19c0809753e805/src/data-structures/base/iterable-element-base.ts#L195)
|
|
588
|
+
|
|
589
|
+
##### Type Parameters
|
|
590
|
+
|
|
591
|
+
###### U
|
|
592
|
+
|
|
593
|
+
`U`
|
|
594
|
+
|
|
595
|
+
##### Parameters
|
|
596
|
+
|
|
597
|
+
###### callbackfn
|
|
598
|
+
|
|
599
|
+
`ReduceElementCallback`\<`E`, `R`, `U`\>
|
|
600
|
+
|
|
601
|
+
###### initialValue
|
|
602
|
+
|
|
603
|
+
`U`
|
|
604
|
+
|
|
605
|
+
##### Returns
|
|
606
|
+
|
|
607
|
+
`U`
|
|
608
|
+
|
|
609
|
+
***
|
|
610
|
+
|
|
611
|
+
### some()
|
|
612
|
+
|
|
613
|
+
```ts
|
|
614
|
+
some(predicate, thisArg?): boolean;
|
|
615
|
+
```
|
|
616
|
+
|
|
617
|
+
Defined in: [data-structures/base/iterable-element-base.ts:109](https://github.com/zrwusa/data-structure-typed/blob/2f6ceb3aee852228efc88b111e19c0809753e805/src/data-structures/base/iterable-element-base.ts#L109)
|
|
618
|
+
|
|
619
|
+
Tests whether at least one element satisfies the predicate.
|
|
620
|
+
|
|
621
|
+
#### Parameters
|
|
622
|
+
|
|
623
|
+
##### predicate
|
|
624
|
+
|
|
625
|
+
`ElementCallback`\<`E`, `R`, `boolean`\>
|
|
626
|
+
|
|
627
|
+
Function invoked for each element with signature `(value, index, self)`.
|
|
628
|
+
|
|
629
|
+
##### thisArg?
|
|
630
|
+
|
|
631
|
+
`unknown`
|
|
632
|
+
|
|
633
|
+
Optional `this` binding for the predicate.
|
|
634
|
+
|
|
635
|
+
#### Returns
|
|
636
|
+
|
|
637
|
+
`boolean`
|
|
638
|
+
|
|
639
|
+
`true` if any element passes; otherwise `false`.
|
|
640
|
+
|
|
641
|
+
#### Remarks
|
|
642
|
+
|
|
643
|
+
Time O(n) in the worst case; may exit early on first success. Space O(1).
|
|
644
|
+
|
|
645
|
+
***
|
|
646
|
+
|
|
647
|
+
### toArray()
|
|
648
|
+
|
|
649
|
+
```ts
|
|
650
|
+
toArray(): E[];
|
|
651
|
+
```
|
|
652
|
+
|
|
653
|
+
Defined in: [data-structures/base/iterable-element-base.ts:245](https://github.com/zrwusa/data-structure-typed/blob/2f6ceb3aee852228efc88b111e19c0809753e805/src/data-structures/base/iterable-element-base.ts#L245)
|
|
654
|
+
|
|
655
|
+
Materializes the elements into a new array.
|
|
656
|
+
|
|
657
|
+
#### Returns
|
|
658
|
+
|
|
659
|
+
`E`[]
|
|
660
|
+
|
|
661
|
+
A shallow array copy of the iteration order.
|
|
662
|
+
|
|
663
|
+
#### Remarks
|
|
664
|
+
|
|
665
|
+
Time O(n), Space O(n).
|
|
666
|
+
|
|
667
|
+
***
|
|
668
|
+
|
|
669
|
+
### toVisual()
|
|
670
|
+
|
|
671
|
+
```ts
|
|
672
|
+
toVisual(): E[];
|
|
673
|
+
```
|
|
674
|
+
|
|
675
|
+
Defined in: [data-structures/base/iterable-element-base.ts:257](https://github.com/zrwusa/data-structure-typed/blob/2f6ceb3aee852228efc88b111e19c0809753e805/src/data-structures/base/iterable-element-base.ts#L257)
|
|
676
|
+
|
|
677
|
+
Returns a representation of the structure suitable for quick visualization.
|
|
678
|
+
Defaults to an array of elements; subclasses may override to provide richer visuals.
|
|
679
|
+
|
|
680
|
+
#### Returns
|
|
681
|
+
|
|
682
|
+
`E`[]
|
|
683
|
+
|
|
684
|
+
A visual representation (array by default).
|
|
685
|
+
|
|
686
|
+
#### Remarks
|
|
687
|
+
|
|
688
|
+
Time O(n), Space O(n).
|
|
689
|
+
|
|
690
|
+
***
|
|
691
|
+
|
|
692
|
+
### values()
|
|
693
|
+
|
|
694
|
+
```ts
|
|
695
|
+
values(): IterableIterator<E>;
|
|
696
|
+
```
|
|
697
|
+
|
|
698
|
+
Defined in: [data-structures/base/iterable-element-base.ts:71](https://github.com/zrwusa/data-structure-typed/blob/2f6ceb3aee852228efc88b111e19c0809753e805/src/data-structures/base/iterable-element-base.ts#L71)
|
|
699
|
+
|
|
700
|
+
Returns an iterator over the values (alias of the default iterator).
|
|
701
|
+
|
|
702
|
+
#### Returns
|
|
703
|
+
|
|
704
|
+
`IterableIterator`\<`E`\>
|
|
705
|
+
|
|
706
|
+
An `IterableIterator<E>` over all elements.
|
|
707
|
+
|
|
708
|
+
#### Remarks
|
|
709
|
+
|
|
710
|
+
Creating the iterator is O(1); full iteration is Time O(n), Space O(1).
|
|
711
|
+
|
|
712
|
+
|
|
713
|
+
---
|
|
714
|
+
|
|
715
|
+
## Protected Members
|
|
716
|
+
|
|
717
|
+
### Constructor
|
|
718
|
+
|
|
719
|
+
```ts
|
|
720
|
+
protected new IterableElementBase<E, R>(options?): IterableElementBase<E, R>;
|
|
721
|
+
```
|
|
722
|
+
|
|
723
|
+
Defined in: [data-structures/base/iterable-element-base.ts:24](https://github.com/zrwusa/data-structure-typed/blob/2f6ceb3aee852228efc88b111e19c0809753e805/src/data-structures/base/iterable-element-base.ts#L24)
|
|
724
|
+
|
|
725
|
+
Create a new iterable base.
|
|
726
|
+
|
|
727
|
+
#### Parameters
|
|
728
|
+
|
|
729
|
+
##### options?
|
|
730
|
+
|
|
731
|
+
`IterableElementBaseOptions`\<`E`, `R`\>
|
|
732
|
+
|
|
733
|
+
Optional behavior overrides. When provided, a `toElementFn`
|
|
734
|
+
is used to convert a raw element (`R`) into a public element (`E`).
|
|
735
|
+
|
|
736
|
+
#### Returns
|
|
737
|
+
|
|
738
|
+
`IterableElementBase`\<`E`, `R`\>
|
|
739
|
+
|
|
740
|
+
#### Remarks
|
|
741
|
+
|
|
742
|
+
Time O(1), Space O(1).
|
|
743
|
+
|
|
744
|
+
## Properties
|
|
745
|
+
|
|
746
|
+
### \_toElementFn?
|
|
747
|
+
|
|
748
|
+
```ts
|
|
749
|
+
protected optional _toElementFn?: (rawElement) => E;
|
|
750
|
+
```
|
|
751
|
+
|
|
752
|
+
Defined in: [data-structures/base/iterable-element-base.ts:38](https://github.com/zrwusa/data-structure-typed/blob/2f6ceb3aee852228efc88b111e19c0809753e805/src/data-structures/base/iterable-element-base.ts#L38)
|
|
753
|
+
|
|
754
|
+
The converter used to transform a raw element (`R`) into a public element (`E`).
|
|
755
|
+
|
|
756
|
+
#### Parameters
|
|
757
|
+
|
|
758
|
+
##### rawElement
|
|
759
|
+
|
|
760
|
+
`R`
|
|
761
|
+
|
|
762
|
+
#### Returns
|
|
763
|
+
|
|
764
|
+
`E`
|
|
765
|
+
|
|
766
|
+
#### Remarks
|
|
767
|
+
|
|
768
|
+
Time O(1), Space O(1).
|
|
769
|
+
|
|
770
|
+
## Accessors
|
|
771
|
+
|
|
772
|
+
### \_getIterator()
|
|
773
|
+
|
|
774
|
+
```ts
|
|
775
|
+
abstract protected _getIterator(...args): IterableIterator<E>;
|
|
776
|
+
```
|
|
777
|
+
|
|
778
|
+
Defined in: [data-structures/base/iterable-element-base.ts:351](https://github.com/zrwusa/data-structure-typed/blob/2f6ceb3aee852228efc88b111e19c0809753e805/src/data-structures/base/iterable-element-base.ts#L351)
|
|
779
|
+
|
|
780
|
+
Internal iterator factory used by the default iterator.
|
|
781
|
+
|
|
782
|
+
#### Parameters
|
|
783
|
+
|
|
784
|
+
##### args
|
|
785
|
+
|
|
786
|
+
...`unknown`[]
|
|
787
|
+
|
|
788
|
+
Optional iterator arguments.
|
|
789
|
+
|
|
790
|
+
#### Returns
|
|
791
|
+
|
|
792
|
+
`IterableIterator`\<`E`\>
|
|
793
|
+
|
|
794
|
+
An iterator over elements.
|
|
795
|
+
|
|
796
|
+
#### Remarks
|
|
797
|
+
|
|
798
|
+
Implementations should yield in O(1) per element with O(1) extra space when possible.
|
|
799
|
+
|
|
800
|
+
***
|