@tanstack/table-core 8.0.0-alpha.65 → 8.0.0-alpha.69

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 (144) hide show
  1. package/build/cjs/aggregationFns.js +25 -37
  2. package/build/cjs/aggregationFns.js.map +1 -1
  3. package/build/cjs/core.js +167 -48
  4. package/build/cjs/core.js.map +1 -1
  5. package/build/cjs/createTable.js +24 -40
  6. package/build/cjs/createTable.js.map +1 -1
  7. package/build/cjs/features/Cells.js +28 -34
  8. package/build/cjs/features/Cells.js.map +1 -1
  9. package/build/cjs/features/ColumnSizing.js +136 -225
  10. package/build/cjs/features/ColumnSizing.js.map +1 -1
  11. package/build/cjs/features/Columns.js +57 -84
  12. package/build/cjs/features/Columns.js.map +1 -1
  13. package/build/cjs/features/Expanding.js +79 -126
  14. package/build/cjs/features/Expanding.js.map +1 -1
  15. package/build/cjs/features/Filters.js +137 -288
  16. package/build/cjs/features/Filters.js.map +1 -1
  17. package/build/cjs/features/Grouping.js +71 -117
  18. package/build/cjs/features/Grouping.js.map +1 -1
  19. package/build/cjs/features/Headers.js +125 -205
  20. package/build/cjs/features/Headers.js.map +1 -1
  21. package/build/cjs/features/Ordering.js +32 -44
  22. package/build/cjs/features/Ordering.js.map +1 -1
  23. package/build/cjs/features/Pagination.js +79 -82
  24. package/build/cjs/features/Pagination.js.map +1 -1
  25. package/build/cjs/features/Pinning.js +99 -178
  26. package/build/cjs/features/Pinning.js.map +1 -1
  27. package/build/cjs/features/RowSelection.js +133 -204
  28. package/build/cjs/features/RowSelection.js.map +1 -1
  29. package/build/cjs/features/Rows.js +32 -22
  30. package/build/cjs/features/Rows.js.map +1 -1
  31. package/build/cjs/features/Sorting.js +67 -136
  32. package/build/cjs/features/Sorting.js.map +1 -1
  33. package/build/cjs/features/Visibility.js +56 -118
  34. package/build/cjs/features/Visibility.js.map +1 -1
  35. package/build/cjs/filterFns.js +48 -72
  36. package/build/cjs/filterFns.js.map +1 -1
  37. package/build/cjs/index.js +13 -13
  38. package/build/cjs/sortingFns.js +21 -21
  39. package/build/cjs/sortingFns.js.map +1 -1
  40. package/build/cjs/utils/filterRowsUtils.js +49 -55
  41. package/build/cjs/utils/filterRowsUtils.js.map +1 -1
  42. package/build/cjs/utils/getCoreRowModel.js +98 -0
  43. package/build/cjs/utils/getCoreRowModel.js.map +1 -0
  44. package/build/cjs/utils/getExpandedRowModel.js +18 -22
  45. package/build/cjs/utils/getExpandedRowModel.js.map +1 -1
  46. package/build/cjs/utils/getFacetedMinMaxValues.js +48 -0
  47. package/build/cjs/utils/getFacetedMinMaxValues.js.map +1 -0
  48. package/build/cjs/utils/getFacetedRowModel.js +50 -0
  49. package/build/cjs/utils/getFacetedRowModel.js.map +1 -0
  50. package/build/cjs/utils/getFacetedUniqueValues.js +48 -0
  51. package/build/cjs/utils/getFacetedUniqueValues.js.map +1 -0
  52. package/build/cjs/utils/getFilteredRowModel.js +130 -0
  53. package/build/cjs/utils/getFilteredRowModel.js.map +1 -0
  54. package/build/cjs/utils/getGroupedRowModel.js +126 -136
  55. package/build/cjs/utils/getGroupedRowModel.js.map +1 -1
  56. package/build/cjs/utils/getPaginationRowModel.js +39 -39
  57. package/build/cjs/utils/getPaginationRowModel.js.map +1 -1
  58. package/build/cjs/utils/getSortedRowModel.js +112 -0
  59. package/build/cjs/utils/getSortedRowModel.js.map +1 -0
  60. package/build/cjs/utils.js +36 -207
  61. package/build/cjs/utils.js.map +1 -1
  62. package/build/esm/index.js +2024 -2971
  63. package/build/esm/index.js.map +1 -1
  64. package/build/stats-html.html +1 -1
  65. package/build/stats-react.json +421 -481
  66. package/build/types/core.d.ts +3 -5
  67. package/build/types/features/Cells.d.ts +1 -1
  68. package/build/types/features/ColumnSizing.d.ts +4 -15
  69. package/build/types/features/Columns.d.ts +1 -1
  70. package/build/types/features/Expanding.d.ts +2 -7
  71. package/build/types/features/Filters.d.ts +24 -21
  72. package/build/types/features/Grouping.d.ts +5 -11
  73. package/build/types/features/Ordering.d.ts +1 -1
  74. package/build/types/features/Pagination.d.ts +3 -3
  75. package/build/types/features/Pinning.d.ts +1 -5
  76. package/build/types/features/RowSelection.d.ts +2 -8
  77. package/build/types/features/Rows.d.ts +4 -3
  78. package/build/types/features/Sorting.d.ts +5 -15
  79. package/build/types/features/Visibility.d.ts +1 -4
  80. package/build/types/index.d.ts +6 -4
  81. package/build/types/types.d.ts +3 -15
  82. package/build/types/utils/filterRowsUtils.d.ts +3 -3
  83. package/build/types/utils/getCoreRowModel.d.ts +2 -0
  84. package/build/types/utils/getFacetedMinMaxValues.d.ts +2 -0
  85. package/build/types/utils/getFacetedRowModel.d.ts +2 -0
  86. package/build/types/utils/getFacetedUniqueValues.d.ts +2 -0
  87. package/build/types/utils/{getCoreRowModelSync.d.ts → getFilteredRowModel.d.ts} +1 -1
  88. package/build/types/utils/getGroupedRowModel.d.ts +1 -1
  89. package/build/types/utils/getSortedRowModel.d.ts +2 -0
  90. package/build/types/utils.d.ts +1 -17
  91. package/build/umd/index.development.js +2053 -3002
  92. package/build/umd/index.development.js.map +1 -1
  93. package/build/umd/index.production.js +1 -1
  94. package/build/umd/index.production.js.map +1 -1
  95. package/package.json +1 -1
  96. package/src/core.ts +197 -47
  97. package/src/features/Cells.ts +7 -11
  98. package/src/features/ColumnSizing.ts +89 -139
  99. package/src/features/Columns.ts +10 -13
  100. package/src/features/Expanding.ts +62 -107
  101. package/src/features/Filters.ts +201 -308
  102. package/src/features/Grouping.ts +55 -81
  103. package/src/features/Headers.ts +18 -40
  104. package/src/features/Ordering.ts +6 -4
  105. package/src/features/Pagination.ts +31 -17
  106. package/src/features/Pinning.ts +79 -96
  107. package/src/features/RowSelection.ts +68 -118
  108. package/src/features/Rows.ts +21 -6
  109. package/src/features/Sorting.ts +47 -103
  110. package/src/features/Visibility.ts +24 -47
  111. package/src/filterFns.ts +9 -9
  112. package/src/index.ts +12 -4
  113. package/src/sortingFns.ts +11 -11
  114. package/src/types.ts +3 -18
  115. package/src/utils/filterRowsUtils.ts +47 -68
  116. package/src/utils/{getCoreRowModelSync.ts → getCoreRowModel.ts} +3 -9
  117. package/src/utils/getExpandedRowModel.ts +2 -2
  118. package/src/utils/getFacetedMinMaxValues.ts +37 -0
  119. package/src/utils/getFacetedRowModel.ts +50 -0
  120. package/src/utils/getFacetedUniqueValues.ts +37 -0
  121. package/src/utils/getFilteredRowModel.ts +150 -0
  122. package/src/utils/getGroupedRowModel.ts +53 -62
  123. package/src/utils/getPaginationRowModel.ts +1 -1
  124. package/src/utils/{getSortedRowModelSync.ts → getSortedRowModel.ts} +7 -7
  125. package/src/utils.ts +28 -236
  126. package/build/cjs/_virtual/_rollupPluginBabelHelpers.js +0 -112
  127. package/build/cjs/_virtual/_rollupPluginBabelHelpers.js.map +0 -1
  128. package/build/cjs/utils/getCoreRowModelAsync.js +0 -125
  129. package/build/cjs/utils/getCoreRowModelAsync.js.map +0 -1
  130. package/build/cjs/utils/getCoreRowModelSync.js +0 -102
  131. package/build/cjs/utils/getCoreRowModelSync.js.map +0 -1
  132. package/build/cjs/utils/getFilteredRowModelSync.js +0 -130
  133. package/build/cjs/utils/getFilteredRowModelSync.js.map +0 -1
  134. package/build/cjs/utils/getSortedRowModelSync.js +0 -118
  135. package/build/cjs/utils/getSortedRowModelSync.js.map +0 -1
  136. package/build/types/utils/getCoreRowModelAsync.d.ts +0 -4
  137. package/build/types/utils/getFilteredRowModelAsync.d.ts +0 -4
  138. package/build/types/utils/getFilteredRowModelSync.d.ts +0 -2
  139. package/build/types/utils/getSortedRowModelAsync.d.ts +0 -13
  140. package/build/types/utils/getSortedRowModelSync.d.ts +0 -2
  141. package/src/utils/getCoreRowModelAsync.ts +0 -104
  142. package/src/utils/getFilteredRowModelAsync.ts +0 -49
  143. package/src/utils/getFilteredRowModelSync.ts +0 -150
  144. package/src/utils/getSortedRowModelAsync.ts +0 -200
@@ -2,7 +2,7 @@ import { TableInstance, Row, RowModel, TableGenerics } from '../types'
2
2
  import { SortingFn } from '../features/Sorting'
3
3
  import { memo } from '../utils'
4
4
 
5
- export function getSortedRowModelSync<TGenerics extends TableGenerics>(): (
5
+ export function getSortedRowModel<TGenerics extends TableGenerics>(): (
6
6
  instance: TableInstance<TGenerics>
7
7
  ) => () => RowModel<TGenerics> {
8
8
  return instance =>
@@ -19,7 +19,7 @@ export function getSortedRowModelSync<TGenerics extends TableGenerics>(): (
19
19
 
20
20
  // Filter out sortings that correspond to non existing columns
21
21
  const availableSorting = sortingState.filter(sort =>
22
- instance.getColumnCanSort(sort.id)
22
+ instance.getColumn(sort.id).getCanSort()
23
23
  )
24
24
 
25
25
  const columnInfoById: Record<
@@ -32,12 +32,12 @@ export function getSortedRowModelSync<TGenerics extends TableGenerics>(): (
32
32
  > = {}
33
33
 
34
34
  availableSorting.forEach(sortEntry => {
35
- const column = instance.getColumn(sortEntry.id)!
35
+ const column = instance.getColumn(sortEntry.id)
36
36
 
37
37
  columnInfoById[sortEntry.id] = {
38
38
  sortUndefined: column.sortUndefined,
39
39
  invertSorting: column.invertSorting,
40
- sortingFn: instance.getColumnSortingFn(sortEntry.id)!,
40
+ sortingFn: column.getSortingFn(),
41
41
  }
42
42
  })
43
43
 
@@ -53,8 +53,8 @@ export function getSortedRowModelSync<TGenerics extends TableGenerics>(): (
53
53
  const isDesc = sortEntry?.desc ?? false
54
54
 
55
55
  if (columnInfo.sortUndefined) {
56
- const aValue = rowA.values[sortEntry.id]
57
- const bValue = rowB.values[sortEntry.id]
56
+ const aValue = rowA.getValue(sortEntry.id)
57
+ const bValue = rowB.getValue(sortEntry.id)
58
58
 
59
59
  const aUndefined = typeof aValue === 'undefined'
60
60
  const bUndefined = typeof bValue === 'undefined'
@@ -106,7 +106,7 @@ export function getSortedRowModelSync<TGenerics extends TableGenerics>(): (
106
106
  }
107
107
  },
108
108
  {
109
- key: process.env.NODE_ENV === 'production' && 'getSortedRowModel',
109
+ key: process.env.NODE_ENV === 'development' && 'getSortedRowModel',
110
110
  debug: () => instance.options.debugAll ?? instance.options.debugTable,
111
111
  onChange: () => {
112
112
  instance.queue(() => {
package/src/utils.ts CHANGED
@@ -21,35 +21,6 @@ export function noop() {
21
21
  //
22
22
  }
23
23
 
24
- export function getBatchGroups<T>(arr: T[], count: number) {
25
- const groups: { start: number; end: number; items: T[] }[] = [
26
- {
27
- start: 0,
28
- end: count - 1,
29
- items: [],
30
- },
31
- ]
32
-
33
- let groupIndex = 0
34
- let group = groups[groupIndex]
35
-
36
- for (let i = 0; i < arr.length; i++) {
37
- if (i > group.end) {
38
- groupIndex++
39
- groups[groupIndex] = {
40
- start: i,
41
- end: i + count - 1,
42
- items: [],
43
- }
44
- }
45
- group = groups[groupIndex]
46
- const item = arr[i]
47
- group.items.push(item)
48
- }
49
-
50
- return groups
51
- }
52
-
53
24
  export function makeStateUpdater(key: keyof TableState, instance: unknown) {
54
25
  return (updater: Updater<any>) => {
55
26
  ;(instance as any).setState(<TTableState>(old: TTableState) => {
@@ -94,7 +65,7 @@ export function memo<TDeps extends readonly any[], TResult>(
94
65
  opts: {
95
66
  key: any
96
67
  debug?: () => any
97
- onChange?: (result: TResult, previousResult?: TResult) => void
68
+ onChange?: (result: TResult) => void
98
69
  }
99
70
  ): () => TResult {
100
71
  let deps: any[] = []
@@ -110,225 +81,46 @@ export function memo<TDeps extends readonly any[], TResult>(
110
81
  newDeps.length !== deps.length ||
111
82
  newDeps.some((dep: any, index: number) => deps[index] !== dep)
112
83
 
113
- if (depsChanged) {
114
- let oldResult = result
115
- let resultTime: number
116
- if (opts.key && opts.debug) resultTime = Date.now()
117
- result = fn(...newDeps)
118
- deps = newDeps
119
- opts?.onChange?.(result, oldResult)
84
+ if (!depsChanged) {
85
+ return result!
86
+ }
87
+
88
+ deps = newDeps
89
+
90
+ let resultTime: number
91
+ if (opts.key && opts.debug) resultTime = Date.now()
92
+
93
+ result = fn(...newDeps)
94
+ opts?.onChange?.(result)
120
95
 
121
- if (opts.key && opts.debug) {
122
- if (opts?.debug()) {
123
- const depEndTime = Math.round((Date.now() - depTime!) * 100) / 100
124
- const resultEndTime =
125
- Math.round((Date.now() - resultTime!) * 100) / 100
126
- const resultFpsPercentage = resultEndTime / 16
96
+ if (opts.key && opts.debug) {
97
+ if (opts?.debug()) {
98
+ const depEndTime = Math.round((Date.now() - depTime!) * 100) / 100
99
+ const resultEndTime = Math.round((Date.now() - resultTime!) * 100) / 100
100
+ const resultFpsPercentage = resultEndTime / 16
127
101
 
128
- const pad = (str: number | string, num: number) => {
129
- str = String(str)
130
- while (str.length < num) {
131
- str = ' ' + str
132
- }
133
- return str
102
+ const pad = (str: number | string, num: number) => {
103
+ str = String(str)
104
+ while (str.length < num) {
105
+ str = ' ' + str
134
106
  }
107
+ return str
108
+ }
135
109
 
136
- console.info(
137
- `%c⏱ ${pad(resultEndTime, 5)} /${pad(depEndTime, 5)} ms`,
138
- `
110
+ console.info(
111
+ `%c⏱ ${pad(resultEndTime, 5)} /${pad(depEndTime, 5)} ms`,
112
+ `
139
113
  font-size: .6rem;
140
114
  font-weight: bold;
141
115
  color: hsl(${Math.max(
142
116
  0,
143
117
  Math.min(120 - 120 * resultFpsPercentage, 120)
144
118
  )}deg 100% 31%);`,
145
- opts?.key,
146
- {
147
- length: `${deps.length} -> ${newDeps.length}`,
148
- ...newDeps
149
- .map((_, index) => {
150
- if (deps[index] !== newDeps[index]) {
151
- return [index, deps[index], newDeps[index]]
152
- }
153
-
154
- return false
155
- })
156
- .filter(Boolean)
157
- .reduce(
158
- (accu, [a, b]: any) => ({
159
- ...accu,
160
- [a]: b,
161
- }),
162
- {}
163
- ),
164
- }
165
- )
166
- }
167
- }
168
-
169
- oldResult = undefined
170
- }
171
-
172
- return result!
173
- }
174
- }
175
-
176
- type WorkFn = () => void
177
-
178
- export function incrementalMemo<TDeps extends readonly any[], TResult>(
179
- getDeps: () => [...TDeps],
180
- getInitialValue: (...args: NoInfer<[...TDeps]>) => TResult,
181
- schedule: (
182
- ...args: NoInfer<[...TDeps]>
183
- ) => (resultRef: {
184
- current: TResult
185
- }) => (scheduler: (workFn: WorkFn) => void) => void,
186
- opts: {
187
- key: any
188
- onProgress: (
189
- progress: number,
190
- nextResult: TResult,
191
- result?: TResult
192
- ) => void
193
- onChange: (result: TResult, previousResult?: TResult) => void
194
- initialSync?: boolean
195
- timeout?: number
196
- debug?: () => any
197
- }
198
- ): () => TResult {
199
- let oldDeps: any[]
200
- let deps: any[]
201
- let result: TResult | undefined
202
- let nextResultRef: { current: TResult }
203
- let tasks: WorkFn[] = []
204
- let totalTaskCount = 0
205
- let resultStartTime: number
206
- let batchIndex = 0
207
- let progress = 0
208
- let working = false
209
- let callback: ReturnType<typeof requestIdleCallback>
210
-
211
- const timeout = opts.timeout ?? 100
212
-
213
- const onProgress = (latestResult: TResult, previousResult?: TResult) => {
214
- progress = 1 - tasks.length / totalTaskCount
215
- opts.onProgress(progress, latestResult, previousResult)
216
- }
217
-
218
- return () => {
219
- const scheduleFn = (workFn: WorkFn) => {
220
- totalTaskCount++
221
- tasks.push(workFn)
222
- }
223
-
224
- const newDeps = getDeps()
225
-
226
- let first = false
227
-
228
- if (!deps) {
229
- first = true
230
- deps = []
231
- result = getInitialValue(...newDeps)
232
- }
233
-
234
- const depsChanged =
235
- newDeps.length !== deps.length ||
236
- newDeps.some((dep: any, index: number) => deps[index] !== dep)
237
-
238
- if (depsChanged) {
239
- cancelIdleCallback(callback)
240
- oldDeps = deps
241
- deps = newDeps
242
- totalTaskCount = 0
243
- tasks = []
244
- nextResultRef = { current: getInitialValue(...newDeps) }
245
- resultStartTime = Date.now()
246
- schedule(...newDeps)(nextResultRef)(scheduleFn)
247
- }
248
-
249
- const commitResult = () => {
250
- cancelIdleCallback(callback)
251
-
252
- if (opts.key && opts.debug) {
253
- if (opts?.debug()) {
254
- const resultEndTime =
255
- Math.round((Date.now() - resultStartTime!) * 100) / 100
256
- const resultFpsPercentage = resultEndTime / batchIndex / 16
257
-
258
- console.info(
259
- `%c⏱ ${resultEndTime} ms / ${batchIndex} tasks = ${Math.round(
260
- resultEndTime / batchIndex
261
- )} ms/task`,
262
- `
263
- font-size: .6rem;
264
- font-weight: bold;
265
- color: hsl(${Math.max(
266
- 0,
267
- Math.min(120 - 120 * resultFpsPercentage, 120)
268
- )}deg 100% 31%);`,
269
- opts?.key,
270
- {
271
- length: `${oldDeps.length} -> ${deps.length}`,
272
- ...deps
273
- .map((_, index) => {
274
- if (oldDeps[index] !== deps[index]) {
275
- return [index, oldDeps[index], deps[index]]
276
- }
277
-
278
- return false
279
- })
280
- .filter(Boolean)
281
- .reduce(
282
- (accu, [a, b]: any) => ({
283
- ...accu,
284
- [a]: b,
285
- }),
286
- {}
287
- ),
288
- }
289
- )
290
- }
291
- }
292
-
293
- working = false
294
- let previousResult = result
295
- result = nextResultRef.current
296
- onProgress(result, previousResult)
297
- opts.onChange(result, previousResult)
298
- }
299
-
300
- if (opts.initialSync && first) {
301
- batchIndex = 1
302
- first = false
303
- for (let i = 0; i < tasks.length; i++) {
304
- tasks[i]()
305
- }
306
- tasks = []
307
- commitResult()
308
- } else if (!working && tasks.length) {
309
- cancelIdleCallback(callback)
310
- working = true
311
- batchIndex = 0
312
-
313
- const workLoop = (deadline: any) => {
314
- while (tasks.length && deadline.timeRemaining() > 0) {
315
- tasks.shift()!()
316
- }
317
-
318
- if (!tasks.length) {
319
- commitResult()
320
- } else {
321
- ++batchIndex
322
- onProgress(nextResultRef.current, result)
323
- callback = requestIdleCallback(workLoop, { timeout })
324
- }
119
+ opts?.key
120
+ )
325
121
  }
326
-
327
- callback = requestIdleCallback(workLoop, { timeout })
328
122
  }
329
123
 
330
124
  return result!
331
125
  }
332
126
  }
333
-
334
- // opts?.onChange?.(result, oldResult)
@@ -1,112 +0,0 @@
1
- /**
2
- * table-core
3
- *
4
- * Copyright (c) TanStack
5
- *
6
- * This source code is licensed under the MIT license found in the
7
- * LICENSE.md file in the root directory of this source tree.
8
- *
9
- * @license MIT
10
- */
11
- 'use strict';
12
-
13
- Object.defineProperty(exports, '__esModule', { value: true });
14
-
15
- function _extends() {
16
- _extends = Object.assign || function (target) {
17
- for (var i = 1; i < arguments.length; i++) {
18
- var source = arguments[i];
19
-
20
- for (var key in source) {
21
- if (Object.prototype.hasOwnProperty.call(source, key)) {
22
- target[key] = source[key];
23
- }
24
- }
25
- }
26
-
27
- return target;
28
- };
29
-
30
- return _extends.apply(this, arguments);
31
- }
32
-
33
- function _objectWithoutPropertiesLoose(source, excluded) {
34
- if (source == null) return {};
35
- var target = {};
36
- var sourceKeys = Object.keys(source);
37
- var key, i;
38
-
39
- for (i = 0; i < sourceKeys.length; i++) {
40
- key = sourceKeys[i];
41
- if (excluded.indexOf(key) >= 0) continue;
42
- target[key] = source[key];
43
- }
44
-
45
- return target;
46
- }
47
-
48
- function _unsupportedIterableToArray(o, minLen) {
49
- if (!o) return;
50
- if (typeof o === "string") return _arrayLikeToArray(o, minLen);
51
- var n = Object.prototype.toString.call(o).slice(8, -1);
52
- if (n === "Object" && o.constructor) n = o.constructor.name;
53
- if (n === "Map" || n === "Set") return Array.from(o);
54
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
55
- }
56
-
57
- function _arrayLikeToArray(arr, len) {
58
- if (len == null || len > arr.length) len = arr.length;
59
-
60
- for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
61
-
62
- return arr2;
63
- }
64
-
65
- function _createForOfIteratorHelperLoose(o, allowArrayLike) {
66
- var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
67
- if (it) return (it = it.call(o)).next.bind(it);
68
-
69
- if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") {
70
- if (it) o = it;
71
- var i = 0;
72
- return function () {
73
- if (i >= o.length) return {
74
- done: true
75
- };
76
- return {
77
- done: false,
78
- value: o[i++]
79
- };
80
- };
81
- }
82
-
83
- throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
84
- }
85
-
86
- function _toPrimitive(input, hint) {
87
- if (typeof input !== "object" || input === null) return input;
88
- var prim = input[Symbol.toPrimitive];
89
-
90
- if (prim !== undefined) {
91
- var res = prim.call(input, hint || "default");
92
- if (typeof res !== "object") return res;
93
- throw new TypeError("@@toPrimitive must return a primitive value.");
94
- }
95
-
96
- return (hint === "string" ? String : Number)(input);
97
- }
98
-
99
- function _toPropertyKey(arg) {
100
- var key = _toPrimitive(arg, "string");
101
-
102
- return typeof key === "symbol" ? key : String(key);
103
- }
104
-
105
- exports.arrayLikeToArray = _arrayLikeToArray;
106
- exports.createForOfIteratorHelperLoose = _createForOfIteratorHelperLoose;
107
- exports["extends"] = _extends;
108
- exports.objectWithoutPropertiesLoose = _objectWithoutPropertiesLoose;
109
- exports.toPrimitive = _toPrimitive;
110
- exports.toPropertyKey = _toPropertyKey;
111
- exports.unsupportedIterableToArray = _unsupportedIterableToArray;
112
- //# sourceMappingURL=_rollupPluginBabelHelpers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"_rollupPluginBabelHelpers.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,125 +0,0 @@
1
- /**
2
- * table-core
3
- *
4
- * Copyright (c) TanStack
5
- *
6
- * This source code is licensed under the MIT license found in the
7
- * LICENSE.md file in the root directory of this source tree.
8
- *
9
- * @license MIT
10
- */
11
- 'use strict';
12
-
13
- Object.defineProperty(exports, '__esModule', { value: true });
14
-
15
- var _rollupPluginBabelHelpers = require('../_virtual/_rollupPluginBabelHelpers.js');
16
- var utils = require('../utils.js');
17
-
18
- function getCoreRowModelAsync(opts) {
19
- return function (instance) {
20
- return utils.incrementalMemo(function () {
21
- return [instance.options.data, instance.getAllLeafColumns()];
22
- }, function () {
23
- var rows = [];
24
- var flatRows = [];
25
- var rowsById = {};
26
- return {
27
- rows: rows,
28
- flatRows: flatRows,
29
- rowsById: rowsById
30
- };
31
- }, function (data, leafColumns) {
32
- return function (rowModelRef) {
33
- return function (scheduleTask) {
34
- var accessRows = function accessRows(originalRows, depth, parent) {
35
- if (depth === void 0) {
36
- depth = 0;
37
- }
38
-
39
- var batchGroups = utils.getBatchGroups(originalRows, 2000);
40
-
41
- var _loop = function _loop(i) {
42
- var batchGroup = batchGroups[i];
43
- scheduleTask(function () {
44
- for (var _i = 0; _i < batchGroup.items.length; _i++) {
45
- var originalRow = batchGroup.items[_i];
46
- var rowIndex = batchGroup.start + _i;
47
- var id = instance.getRowId(originalRow, rowIndex, parent);
48
-
49
- if (!id) {
50
- if (process.env.NODE_ENV !== 'production') {
51
- throw new Error("getRowId expected an ID, but got " + id);
52
- }
53
- }
54
-
55
- var values = {};
56
-
57
- for (var _i2 = 0; _i2 < leafColumns.length; _i2++) {
58
- var column = leafColumns[_i2];
59
-
60
- if (column && column.accessorFn) {
61
- values[column.id] = column.accessorFn(originalRow, rowIndex);
62
- }
63
- } // Make the row
64
-
65
-
66
- var row = instance.createRow(id, originalRow, rowIndex, depth, values); // Push instance row into the parentRows array
67
-
68
- if (parent) {
69
- parent.subRows.push(row);
70
- } else {
71
- rowModelRef.current.rows.push(row);
72
- } // Keep track of every row in a flat array
73
-
74
-
75
- rowModelRef.current.flatRows.push(row); // Also keep track of every row by its ID
76
-
77
- rowModelRef.current.rowsById[id] = row; // Get the original subrows
78
-
79
- if (instance.options.getSubRows) {
80
- var originalSubRows = instance.options.getSubRows(originalRow, rowIndex); // Then recursively access them
81
-
82
- if (originalSubRows != null && originalSubRows.length) {
83
- row.originalSubRows = originalSubRows;
84
- row.subRows = [];
85
- accessRows(row.originalSubRows, depth + 1, row);
86
- }
87
- }
88
- }
89
- });
90
- };
91
-
92
- for (var i = 0; i < batchGroups.length; i++) {
93
- _loop(i);
94
- }
95
- };
96
-
97
- accessRows(data);
98
- };
99
- };
100
- }, {
101
- key: process.env.NODE_ENV === 'production' && 'getRowModel',
102
- initialSync: opts == null ? void 0 : opts.initialSync,
103
- onProgress: function onProgress(progress) {
104
- instance.setState(function (old) {
105
- return _rollupPluginBabelHelpers["extends"]({}, old, {
106
- coreProgress: progress
107
- });
108
- });
109
- },
110
- debug: function debug() {
111
- var _instance$options$deb;
112
-
113
- return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugTable;
114
- },
115
- onChange: function onChange() {
116
- instance.queue(function () {
117
- instance._autoResetPageIndex();
118
- });
119
- }
120
- });
121
- };
122
- }
123
-
124
- exports.getCoreRowModelAsync = getCoreRowModelAsync;
125
- //# sourceMappingURL=getCoreRowModelAsync.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getCoreRowModelAsync.js","sources":["../../../src/utils/getCoreRowModelAsync.ts"],"sourcesContent":["import { TableInstance, Row, RowModel, TableGenerics } from '../types'\nimport { getBatchGroups, incrementalMemo } from '../utils'\n\nexport function getCoreRowModelAsync<TGenerics extends TableGenerics>(opts?: {\n initialSync: boolean\n}): (instance: TableInstance<TGenerics>) => () => RowModel<TGenerics> {\n return instance =>\n incrementalMemo(\n () => [instance.options.data, instance.getAllLeafColumns()],\n () => {\n const rows: Row<TGenerics>[] = []\n const flatRows: Row<TGenerics>[] = []\n const rowsById: Record<string, Row<TGenerics>> = {}\n\n return { rows, flatRows, rowsById }\n },\n (data, leafColumns) => rowModelRef => scheduleTask => {\n const accessRows = (\n originalRows: TGenerics['Row'][],\n depth = 0,\n parent?: Row<TGenerics>\n ) => {\n const batchGroups = getBatchGroups(originalRows, 2000)\n\n for (let i = 0; i < batchGroups.length; i++) {\n const batchGroup = batchGroups[i]\n scheduleTask(() => {\n for (let i = 0; i < batchGroup.items.length; i++) {\n const originalRow = batchGroup.items[i]\n const rowIndex = batchGroup.start + i\n const id = instance.getRowId(originalRow, rowIndex, parent)\n\n if (!id) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(`getRowId expected an ID, but got ${id}`)\n }\n }\n\n const values: Record<string, any> = {}\n\n for (let i = 0; i < leafColumns.length; i++) {\n const column = leafColumns[i]\n if (column && column.accessorFn) {\n values[column.id] = column.accessorFn(originalRow, rowIndex)\n }\n }\n\n // Make the row\n const row = instance.createRow(\n id,\n originalRow,\n rowIndex,\n depth,\n values\n )\n\n // Push instance row into the parentRows array\n if (parent) {\n parent.subRows.push(row)\n } else {\n rowModelRef.current.rows.push(row)\n }\n // Keep track of every row in a flat array\n rowModelRef.current.flatRows.push(row)\n // Also keep track of every row by its ID\n rowModelRef.current.rowsById[id] = row\n\n // Get the original subrows\n if (instance.options.getSubRows) {\n const originalSubRows = instance.options.getSubRows(\n originalRow,\n rowIndex\n )\n\n // Then recursively access them\n if (originalSubRows?.length) {\n row.originalSubRows = originalSubRows\n row.subRows = []\n\n accessRows(row.originalSubRows, depth + 1, row)\n }\n }\n }\n })\n }\n }\n\n accessRows(data)\n },\n {\n key: process.env.NODE_ENV === 'production' && 'getRowModel',\n initialSync: opts?.initialSync,\n onProgress: progress => {\n instance.setState(old => ({ ...old, coreProgress: progress }))\n },\n debug: () => instance.options.debugAll ?? instance.options.debugTable,\n onChange: () => {\n instance.queue(() => {\n instance._autoResetPageIndex()\n })\n },\n }\n )\n}\n"],"names":["getCoreRowModelAsync","opts","instance","incrementalMemo","options","data","getAllLeafColumns","rows","flatRows","rowsById","leafColumns","rowModelRef","scheduleTask","accessRows","originalRows","depth","parent","batchGroups","getBatchGroups","i","batchGroup","items","length","originalRow","rowIndex","start","id","getRowId","process","env","NODE_ENV","Error","values","column","accessorFn","row","createRow","subRows","push","current","getSubRows","originalSubRows","key","initialSync","onProgress","progress","setState","old","_extends","coreProgress","debug","debugAll","debugTable","onChange","queue","_autoResetPageIndex"],"mappings":"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"}