tinybase 9.0.0 → 9.1.0-beta.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.
Files changed (111) hide show
  1. package/@types/common/index.d.ts +17 -2
  2. package/@types/common/with-schemas/index.d.ts +18 -2
  3. package/@types/store/index.d.ts +37 -7
  4. package/@types/store/with-schemas/index.d.ts +38 -7
  5. package/@types/ui-react/index.d.ts +6 -2
  6. package/@types/ui-react/with-schemas/index.d.ts +7 -2
  7. package/@types/ui-react-dom/index.d.ts +10 -10
  8. package/@types/ui-react-dom/with-schemas/index.d.ts +10 -10
  9. package/@types/ui-react-dom-charts/index.d.ts +7 -7
  10. package/@types/ui-react-dom-charts/with-schemas/index.d.ts +7 -7
  11. package/@types/ui-react-inspector/index.d.ts +1 -1
  12. package/@types/ui-react-inspector/with-schemas/index.d.ts +1 -1
  13. package/@types/ui-solid/index.d.ts +9 -2
  14. package/@types/ui-solid/with-schemas/index.d.ts +10 -2
  15. package/@types/ui-solid-dom/index.d.ts +10 -10
  16. package/@types/ui-solid-dom/with-schemas/index.d.ts +10 -10
  17. package/@types/ui-solid-inspector/index.d.ts +1 -1
  18. package/@types/ui-solid-inspector/with-schemas/index.d.ts +1 -1
  19. package/@types/ui-svelte/index.d.ts +50 -2
  20. package/@types/ui-svelte/with-schemas/index.d.ts +88 -25
  21. package/@types/ui-svelte-dom/index.d.ts +10 -10
  22. package/@types/ui-svelte-dom/with-schemas/index.d.ts +10 -10
  23. package/@types/ui-svelte-inspector/index.d.ts +1 -1
  24. package/@types/ui-svelte-inspector/with-schemas/index.d.ts +1 -1
  25. package/index.js +34 -6
  26. package/mergeable-store/index.js +34 -6
  27. package/mergeable-store/with-schemas/index.js +34 -6
  28. package/min/index.js +1 -1
  29. package/min/index.js.gz +0 -0
  30. package/min/mergeable-store/index.js +1 -1
  31. package/min/mergeable-store/index.js.gz +0 -0
  32. package/min/mergeable-store/with-schemas/index.js +1 -1
  33. package/min/mergeable-store/with-schemas/index.js.gz +0 -0
  34. package/min/omni/index.js +1 -1
  35. package/min/omni/index.js.gz +0 -0
  36. package/min/omni/with-schemas/index.js +1 -1
  37. package/min/omni/with-schemas/index.js.gz +0 -0
  38. package/min/store/index.js +1 -1
  39. package/min/store/index.js.gz +0 -0
  40. package/min/store/with-schemas/index.js +1 -1
  41. package/min/store/with-schemas/index.js.gz +0 -0
  42. package/min/ui-react/index.js +1 -1
  43. package/min/ui-react/index.js.gz +0 -0
  44. package/min/ui-react/with-schemas/index.js +1 -1
  45. package/min/ui-react/with-schemas/index.js.gz +0 -0
  46. package/min/ui-react-dom/index.js +1 -1
  47. package/min/ui-react-dom/index.js.gz +0 -0
  48. package/min/ui-react-dom/with-schemas/index.js +1 -1
  49. package/min/ui-react-dom/with-schemas/index.js.gz +0 -0
  50. package/min/ui-react-dom-charts/index.js +1 -1
  51. package/min/ui-react-dom-charts/index.js.gz +0 -0
  52. package/min/ui-react-dom-charts/with-schemas/index.js +1 -1
  53. package/min/ui-react-dom-charts/with-schemas/index.js.gz +0 -0
  54. package/min/ui-react-inspector/index.js +1 -1
  55. package/min/ui-react-inspector/index.js.gz +0 -0
  56. package/min/ui-react-inspector/with-schemas/index.js +1 -1
  57. package/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
  58. package/min/ui-solid/index.js +1 -1
  59. package/min/ui-solid/index.js.gz +0 -0
  60. package/min/ui-solid/with-schemas/index.js +1 -1
  61. package/min/ui-solid/with-schemas/index.js.gz +0 -0
  62. package/min/ui-solid-dom/index.js +1 -1
  63. package/min/ui-solid-dom/index.js.gz +0 -0
  64. package/min/ui-solid-dom/with-schemas/index.js +1 -1
  65. package/min/ui-solid-dom/with-schemas/index.js.gz +0 -0
  66. package/min/ui-solid-inspector/index.js +1 -1
  67. package/min/ui-solid-inspector/index.js.gz +0 -0
  68. package/min/ui-solid-inspector/with-schemas/index.js +1 -1
  69. package/min/ui-solid-inspector/with-schemas/index.js.gz +0 -0
  70. package/min/ui-svelte/index.js +1 -1
  71. package/min/ui-svelte/index.js.gz +0 -0
  72. package/min/ui-svelte/with-schemas/index.js +1 -1
  73. package/min/ui-svelte/with-schemas/index.js.gz +0 -0
  74. package/min/ui-svelte-dom/index.js +1 -1
  75. package/min/ui-svelte-dom/index.js.gz +0 -0
  76. package/min/ui-svelte-dom/with-schemas/index.js +1 -1
  77. package/min/ui-svelte-dom/with-schemas/index.js.gz +0 -0
  78. package/min/ui-svelte-inspector/index.js +1 -1
  79. package/min/ui-svelte-inspector/index.js.gz +0 -0
  80. package/min/ui-svelte-inspector/with-schemas/index.js +1 -1
  81. package/min/ui-svelte-inspector/with-schemas/index.js.gz +0 -0
  82. package/min/with-schemas/index.js +1 -1
  83. package/min/with-schemas/index.js.gz +0 -0
  84. package/omni/index.js +34 -6
  85. package/omni/with-schemas/index.js +34 -6
  86. package/package.json +3 -3
  87. package/readme.md +14 -14
  88. package/releases.md +59 -59
  89. package/store/index.js +34 -6
  90. package/store/with-schemas/index.js +34 -6
  91. package/ui-react/index.js +36 -6
  92. package/ui-react/with-schemas/index.js +36 -6
  93. package/ui-react-dom/index.js +24 -4
  94. package/ui-react-dom/with-schemas/index.js +24 -4
  95. package/ui-react-dom-charts/index.js +24 -4
  96. package/ui-react-dom-charts/with-schemas/index.js +24 -4
  97. package/ui-react-inspector/index.js +58 -10
  98. package/ui-react-inspector/with-schemas/index.js +58 -10
  99. package/ui-solid/index.js +32 -2
  100. package/ui-solid/with-schemas/index.js +32 -2
  101. package/ui-solid-dom/index.js +17 -1
  102. package/ui-solid-dom/with-schemas/index.js +17 -1
  103. package/ui-solid-inspector/index.js +51 -7
  104. package/ui-solid-inspector/with-schemas/index.js +51 -7
  105. package/ui-svelte/index.js +73 -31
  106. package/ui-svelte/with-schemas/index.js +73 -31
  107. package/ui-svelte-dom/index.js +35 -14
  108. package/ui-svelte-dom/with-schemas/index.js +35 -14
  109. package/ui-svelte-inspector/index.js +69 -20
  110. package/ui-svelte-inspector/with-schemas/index.js +69 -20
  111. package/with-schemas/index.js +34 -6
@@ -206,25 +206,45 @@ const getRowIds = (tableId, storeOrStoreId) =>
206
206
  ]);
207
207
 
208
208
  const getSortedRowIds = (
209
- tableId,
210
- cellId,
209
+ tableIdOrArgs,
210
+ cellIdOrStoreOrStoreId,
211
211
  descending = false,
212
212
  offset = 0,
213
213
  limit,
214
+ sorter,
214
215
  storeOrStoreId,
215
216
  ) =>
216
- createListenable(
217
- resolveStore(storeOrStoreId),
218
- SORTED_ROW_IDS,
219
- EMPTY_ARR,
220
- () => [
221
- maybeGet(tableId),
222
- maybeGet(cellId),
223
- maybeGet(descending),
224
- maybeGet(offset),
225
- maybeGet(limit),
226
- ],
227
- );
217
+ isObject(tableIdOrArgs)
218
+ ? createListenable(
219
+ resolveStore(cellIdOrStoreOrStoreId),
220
+ SORTED_ROW_IDS,
221
+ EMPTY_ARR,
222
+ () => [tableIdOrArgs],
223
+ )
224
+ : createListenable(
225
+ resolveStore(storeOrStoreId),
226
+ SORTED_ROW_IDS,
227
+ EMPTY_ARR,
228
+ () =>
229
+ isUndefined(sorter)
230
+ ? [
231
+ maybeGet(tableIdOrArgs),
232
+ maybeGet(cellIdOrStoreOrStoreId),
233
+ maybeGet(descending),
234
+ maybeGet(offset),
235
+ maybeGet(limit),
236
+ ]
237
+ : [
238
+ {
239
+ tableId: maybeGet(tableIdOrArgs),
240
+ cellId: maybeGet(cellIdOrStoreOrStoreId),
241
+ descending: maybeGet(descending) ?? false,
242
+ offset: maybeGet(offset) ?? 0,
243
+ limit: maybeGet(limit),
244
+ sorter,
245
+ },
246
+ ],
247
+ );
228
248
 
229
249
  const getCell = (tableId, rowId, cellId, storeOrStoreId) => {
230
250
  const getStore2 = resolveStore(storeOrStoreId);
@@ -2042,6 +2062,7 @@ function SortedTableInHtmlTable($$anchor, $$props) {
2042
2062
  () => sorting.sortAndOffset[1],
2043
2063
  () => sorting.sortAndOffset[2],
2044
2064
  () => $$props.limit,
2065
+ undefined,
2045
2066
  () => $$props.store,
2046
2067
  );
2047
2068
  const defaultCellComponent = $.derived(() =>
@@ -2094,13 +2094,36 @@ const createStore = () => {
2094
2094
  listener,
2095
2095
  mutator,
2096
2096
  ) => {
2097
- let sortedRowIds = getSortedRowIds(tableId, cellId, ...otherArgs);
2097
+ const [descending, offset, limit, sorter] = otherArgs;
2098
+ let sortedRowIds = getSortedRowIds(
2099
+ tableId,
2100
+ cellId,
2101
+ descending,
2102
+ offset,
2103
+ limit,
2104
+ sorter,
2105
+ );
2098
2106
  return addListener(
2099
2107
  () => {
2100
- const newSortedRowIds = getSortedRowIds(tableId, cellId, ...otherArgs);
2108
+ const newSortedRowIds = getSortedRowIds(
2109
+ tableId,
2110
+ cellId,
2111
+ descending,
2112
+ offset,
2113
+ limit,
2114
+ sorter,
2115
+ );
2101
2116
  if (!arrayIsEqual(newSortedRowIds, sortedRowIds)) {
2102
2117
  sortedRowIds = newSortedRowIds;
2103
- listener(store, tableId, cellId, ...otherArgs, sortedRowIds);
2118
+ listener(
2119
+ store,
2120
+ tableId,
2121
+ cellId,
2122
+ descending,
2123
+ offset,
2124
+ limit,
2125
+ sortedRowIds,
2126
+ );
2104
2127
  }
2105
2128
  },
2106
2129
  sortedRowIdsListeners[mutator ? 1 : 0],
@@ -2154,6 +2177,7 @@ const createStore = () => {
2154
2177
  descending,
2155
2178
  offset = 0,
2156
2179
  limit,
2180
+ sorter = defaultSorter,
2157
2181
  ) =>
2158
2182
  isObject(tableIdOrArgs)
2159
2183
  ? getSortedRowIds(
@@ -2162,16 +2186,19 @@ const createStore = () => {
2162
2186
  tableIdOrArgs.descending,
2163
2187
  tableIdOrArgs.offset,
2164
2188
  tableIdOrArgs.limit,
2189
+ tableIdOrArgs.sorter,
2165
2190
  )
2166
2191
  : arrayMap(
2167
2192
  slice(
2168
2193
  arraySort(
2169
2194
  mapMap(mapGet(tablesMap, id(tableIdOrArgs)), (row, rowId) => [
2170
- isUndefined(cellId) ? rowId : mapGet(row, id(cellId)),
2195
+ isUndefined(cellId)
2196
+ ? rowId
2197
+ : decodeIfJson(mapGet(row, id(cellId))),
2171
2198
  rowId,
2172
2199
  ]),
2173
2200
  ([cell1], [cell2]) =>
2174
- defaultSorter(cell1, cell2) * (descending ? -1 : 1),
2201
+ sorter(cell1, cell2) * (descending ? -1 : 1),
2175
2202
  ),
2176
2203
  offset,
2177
2204
  isUndefined(limit) ? limit : offset + limit,
@@ -2649,6 +2676,7 @@ const createStore = () => {
2649
2676
  tableIdOrArgs.descending ?? false,
2650
2677
  tableIdOrArgs.offset ?? 0,
2651
2678
  tableIdOrArgs.limit,
2679
+ tableIdOrArgs.sorter,
2652
2680
  ],
2653
2681
  cellIdOrListener,
2654
2682
  descendingOrMutator,
@@ -2656,7 +2684,7 @@ const createStore = () => {
2656
2684
  : addSortedRowIdsListenerImpl(
2657
2685
  tableIdOrArgs,
2658
2686
  cellIdOrListener,
2659
- [descendingOrMutator, offset, limit],
2687
+ [descendingOrMutator, offset, limit, void 0],
2660
2688
  listener,
2661
2689
  mutator,
2662
2690
  );
@@ -3037,25 +3065,45 @@ const getRowIds = (tableId, storeOrStoreId) =>
3037
3065
  ]);
3038
3066
 
3039
3067
  const getSortedRowIds = (
3040
- tableId,
3041
- cellId,
3068
+ tableIdOrArgs,
3069
+ cellIdOrStoreOrStoreId,
3042
3070
  descending = false,
3043
3071
  offset = 0,
3044
3072
  limit,
3073
+ sorter,
3045
3074
  storeOrStoreId,
3046
3075
  ) =>
3047
- createListenable(
3048
- resolveStore(storeOrStoreId),
3049
- SORTED_ROW_IDS,
3050
- EMPTY_ARR,
3051
- () => [
3052
- maybeGet$1(tableId),
3053
- maybeGet$1(cellId),
3054
- maybeGet$1(descending),
3055
- maybeGet$1(offset),
3056
- maybeGet$1(limit),
3057
- ],
3058
- );
3076
+ isObject(tableIdOrArgs)
3077
+ ? createListenable(
3078
+ resolveStore(cellIdOrStoreOrStoreId),
3079
+ SORTED_ROW_IDS,
3080
+ EMPTY_ARR,
3081
+ () => [tableIdOrArgs],
3082
+ )
3083
+ : createListenable(
3084
+ resolveStore(storeOrStoreId),
3085
+ SORTED_ROW_IDS,
3086
+ EMPTY_ARR,
3087
+ () =>
3088
+ isUndefined(sorter)
3089
+ ? [
3090
+ maybeGet$1(tableIdOrArgs),
3091
+ maybeGet$1(cellIdOrStoreOrStoreId),
3092
+ maybeGet$1(descending),
3093
+ maybeGet$1(offset),
3094
+ maybeGet$1(limit),
3095
+ ]
3096
+ : [
3097
+ {
3098
+ tableId: maybeGet$1(tableIdOrArgs),
3099
+ cellId: maybeGet$1(cellIdOrStoreOrStoreId),
3100
+ descending: maybeGet$1(descending) ?? false,
3101
+ offset: maybeGet$1(offset) ?? 0,
3102
+ limit: maybeGet$1(limit),
3103
+ sorter,
3104
+ },
3105
+ ],
3106
+ );
3059
3107
  const getCellIds = (tableId, rowId, storeOrStoreId) =>
3060
3108
  createListenable(resolveStore(storeOrStoreId), CELL_IDS, EMPTY_ARR, () => [
3061
3109
  maybeGet$1(tableId),
@@ -5045,6 +5093,7 @@ function SortedTableInHtmlTable($$anchor, $$props) {
5045
5093
  () => sorting.sortAndOffset[1],
5046
5094
  () => sorting.sortAndOffset[2],
5047
5095
  () => $$props.limit,
5096
+ undefined,
5048
5097
  () => $$props.store,
5049
5098
  );
5050
5099
  const defaultCellComponent = $.derived(() =>
@@ -2094,13 +2094,36 @@ const createStore = () => {
2094
2094
  listener,
2095
2095
  mutator,
2096
2096
  ) => {
2097
- let sortedRowIds = getSortedRowIds(tableId, cellId, ...otherArgs);
2097
+ const [descending, offset, limit, sorter] = otherArgs;
2098
+ let sortedRowIds = getSortedRowIds(
2099
+ tableId,
2100
+ cellId,
2101
+ descending,
2102
+ offset,
2103
+ limit,
2104
+ sorter,
2105
+ );
2098
2106
  return addListener(
2099
2107
  () => {
2100
- const newSortedRowIds = getSortedRowIds(tableId, cellId, ...otherArgs);
2108
+ const newSortedRowIds = getSortedRowIds(
2109
+ tableId,
2110
+ cellId,
2111
+ descending,
2112
+ offset,
2113
+ limit,
2114
+ sorter,
2115
+ );
2101
2116
  if (!arrayIsEqual(newSortedRowIds, sortedRowIds)) {
2102
2117
  sortedRowIds = newSortedRowIds;
2103
- listener(store, tableId, cellId, ...otherArgs, sortedRowIds);
2118
+ listener(
2119
+ store,
2120
+ tableId,
2121
+ cellId,
2122
+ descending,
2123
+ offset,
2124
+ limit,
2125
+ sortedRowIds,
2126
+ );
2104
2127
  }
2105
2128
  },
2106
2129
  sortedRowIdsListeners[mutator ? 1 : 0],
@@ -2154,6 +2177,7 @@ const createStore = () => {
2154
2177
  descending,
2155
2178
  offset = 0,
2156
2179
  limit,
2180
+ sorter = defaultSorter,
2157
2181
  ) =>
2158
2182
  isObject(tableIdOrArgs)
2159
2183
  ? getSortedRowIds(
@@ -2162,16 +2186,19 @@ const createStore = () => {
2162
2186
  tableIdOrArgs.descending,
2163
2187
  tableIdOrArgs.offset,
2164
2188
  tableIdOrArgs.limit,
2189
+ tableIdOrArgs.sorter,
2165
2190
  )
2166
2191
  : arrayMap(
2167
2192
  slice(
2168
2193
  arraySort(
2169
2194
  mapMap(mapGet(tablesMap, id(tableIdOrArgs)), (row, rowId) => [
2170
- isUndefined(cellId) ? rowId : mapGet(row, id(cellId)),
2195
+ isUndefined(cellId)
2196
+ ? rowId
2197
+ : decodeIfJson(mapGet(row, id(cellId))),
2171
2198
  rowId,
2172
2199
  ]),
2173
2200
  ([cell1], [cell2]) =>
2174
- defaultSorter(cell1, cell2) * (descending ? -1 : 1),
2201
+ sorter(cell1, cell2) * (descending ? -1 : 1),
2175
2202
  ),
2176
2203
  offset,
2177
2204
  isUndefined(limit) ? limit : offset + limit,
@@ -2649,6 +2676,7 @@ const createStore = () => {
2649
2676
  tableIdOrArgs.descending ?? false,
2650
2677
  tableIdOrArgs.offset ?? 0,
2651
2678
  tableIdOrArgs.limit,
2679
+ tableIdOrArgs.sorter,
2652
2680
  ],
2653
2681
  cellIdOrListener,
2654
2682
  descendingOrMutator,
@@ -2656,7 +2684,7 @@ const createStore = () => {
2656
2684
  : addSortedRowIdsListenerImpl(
2657
2685
  tableIdOrArgs,
2658
2686
  cellIdOrListener,
2659
- [descendingOrMutator, offset, limit],
2687
+ [descendingOrMutator, offset, limit, void 0],
2660
2688
  listener,
2661
2689
  mutator,
2662
2690
  );
@@ -3037,25 +3065,45 @@ const getRowIds = (tableId, storeOrStoreId) =>
3037
3065
  ]);
3038
3066
 
3039
3067
  const getSortedRowIds = (
3040
- tableId,
3041
- cellId,
3068
+ tableIdOrArgs,
3069
+ cellIdOrStoreOrStoreId,
3042
3070
  descending = false,
3043
3071
  offset = 0,
3044
3072
  limit,
3073
+ sorter,
3045
3074
  storeOrStoreId,
3046
3075
  ) =>
3047
- createListenable(
3048
- resolveStore(storeOrStoreId),
3049
- SORTED_ROW_IDS,
3050
- EMPTY_ARR,
3051
- () => [
3052
- maybeGet$1(tableId),
3053
- maybeGet$1(cellId),
3054
- maybeGet$1(descending),
3055
- maybeGet$1(offset),
3056
- maybeGet$1(limit),
3057
- ],
3058
- );
3076
+ isObject(tableIdOrArgs)
3077
+ ? createListenable(
3078
+ resolveStore(cellIdOrStoreOrStoreId),
3079
+ SORTED_ROW_IDS,
3080
+ EMPTY_ARR,
3081
+ () => [tableIdOrArgs],
3082
+ )
3083
+ : createListenable(
3084
+ resolveStore(storeOrStoreId),
3085
+ SORTED_ROW_IDS,
3086
+ EMPTY_ARR,
3087
+ () =>
3088
+ isUndefined(sorter)
3089
+ ? [
3090
+ maybeGet$1(tableIdOrArgs),
3091
+ maybeGet$1(cellIdOrStoreOrStoreId),
3092
+ maybeGet$1(descending),
3093
+ maybeGet$1(offset),
3094
+ maybeGet$1(limit),
3095
+ ]
3096
+ : [
3097
+ {
3098
+ tableId: maybeGet$1(tableIdOrArgs),
3099
+ cellId: maybeGet$1(cellIdOrStoreOrStoreId),
3100
+ descending: maybeGet$1(descending) ?? false,
3101
+ offset: maybeGet$1(offset) ?? 0,
3102
+ limit: maybeGet$1(limit),
3103
+ sorter,
3104
+ },
3105
+ ],
3106
+ );
3059
3107
  const getCellIds = (tableId, rowId, storeOrStoreId) =>
3060
3108
  createListenable(resolveStore(storeOrStoreId), CELL_IDS, EMPTY_ARR, () => [
3061
3109
  maybeGet$1(tableId),
@@ -5045,6 +5093,7 @@ function SortedTableInHtmlTable($$anchor, $$props) {
5045
5093
  () => sorting.sortAndOffset[1],
5046
5094
  () => sorting.sortAndOffset[2],
5047
5095
  () => $$props.limit,
5096
+ undefined,
5048
5097
  () => $$props.store,
5049
5098
  );
5050
5099
  const defaultCellComponent = $.derived(() =>
@@ -2153,13 +2153,36 @@ const createStore = () => {
2153
2153
  listener,
2154
2154
  mutator,
2155
2155
  ) => {
2156
- let sortedRowIds = getSortedRowIds(tableId, cellId, ...otherArgs);
2156
+ const [descending, offset, limit, sorter] = otherArgs;
2157
+ let sortedRowIds = getSortedRowIds(
2158
+ tableId,
2159
+ cellId,
2160
+ descending,
2161
+ offset,
2162
+ limit,
2163
+ sorter,
2164
+ );
2157
2165
  return addListener(
2158
2166
  () => {
2159
- const newSortedRowIds = getSortedRowIds(tableId, cellId, ...otherArgs);
2167
+ const newSortedRowIds = getSortedRowIds(
2168
+ tableId,
2169
+ cellId,
2170
+ descending,
2171
+ offset,
2172
+ limit,
2173
+ sorter,
2174
+ );
2160
2175
  if (!arrayIsEqual(newSortedRowIds, sortedRowIds)) {
2161
2176
  sortedRowIds = newSortedRowIds;
2162
- listener(store, tableId, cellId, ...otherArgs, sortedRowIds);
2177
+ listener(
2178
+ store,
2179
+ tableId,
2180
+ cellId,
2181
+ descending,
2182
+ offset,
2183
+ limit,
2184
+ sortedRowIds,
2185
+ );
2163
2186
  }
2164
2187
  },
2165
2188
  sortedRowIdsListeners[mutator ? 1 : 0],
@@ -2213,6 +2236,7 @@ const createStore = () => {
2213
2236
  descending,
2214
2237
  offset = 0,
2215
2238
  limit,
2239
+ sorter = defaultSorter,
2216
2240
  ) =>
2217
2241
  isObject(tableIdOrArgs)
2218
2242
  ? getSortedRowIds(
@@ -2221,16 +2245,19 @@ const createStore = () => {
2221
2245
  tableIdOrArgs.descending,
2222
2246
  tableIdOrArgs.offset,
2223
2247
  tableIdOrArgs.limit,
2248
+ tableIdOrArgs.sorter,
2224
2249
  )
2225
2250
  : arrayMap(
2226
2251
  slice(
2227
2252
  arraySort(
2228
2253
  mapMap(mapGet(tablesMap, id(tableIdOrArgs)), (row, rowId) => [
2229
- isUndefined(cellId) ? rowId : mapGet(row, id(cellId)),
2254
+ isUndefined(cellId)
2255
+ ? rowId
2256
+ : decodeIfJson(mapGet(row, id(cellId))),
2230
2257
  rowId,
2231
2258
  ]),
2232
2259
  ([cell1], [cell2]) =>
2233
- defaultSorter(cell1, cell2) * (descending ? -1 : 1),
2260
+ sorter(cell1, cell2) * (descending ? -1 : 1),
2234
2261
  ),
2235
2262
  offset,
2236
2263
  isUndefined(limit) ? limit : offset + limit,
@@ -2708,6 +2735,7 @@ const createStore = () => {
2708
2735
  tableIdOrArgs.descending ?? false,
2709
2736
  tableIdOrArgs.offset ?? 0,
2710
2737
  tableIdOrArgs.limit,
2738
+ tableIdOrArgs.sorter,
2711
2739
  ],
2712
2740
  cellIdOrListener,
2713
2741
  descendingOrMutator,
@@ -2715,7 +2743,7 @@ const createStore = () => {
2715
2743
  : addSortedRowIdsListenerImpl(
2716
2744
  tableIdOrArgs,
2717
2745
  cellIdOrListener,
2718
- [descendingOrMutator, offset, limit],
2746
+ [descendingOrMutator, offset, limit, void 0],
2719
2747
  listener,
2720
2748
  mutator,
2721
2749
  );