muya 2.5.4 → 2.5.6

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 (123) hide show
  1. package/{src/__tests__ → __tests__}/bench.test.tsx +4 -4
  2. package/{src/__tests__ → __tests__}/compare.test.tsx +8 -6
  3. package/{src/__tests__ → __tests__}/create.test.tsx +2 -2
  4. package/{src/utils/__tests__ → __tests__}/is.test.ts +3 -3
  5. package/{src/__tests__ → __tests__}/scheduler.test.tsx +1 -1
  6. package/{src/__tests__ → __tests__}/select.test.tsx +5 -5
  7. package/{src/utils/__tests__ → __tests__}/shallow.test.ts +1 -1
  8. package/{src/__tests__ → __tests__}/use-value-loadable.test.tsx +3 -3
  9. package/{src/__tests__ → __tests__}/use-value.test.tsx +8 -8
  10. package/build.ts +67 -0
  11. package/dist/cjs/index.js +14 -0
  12. package/dist/esm/create.js +1 -0
  13. package/dist/esm/debug/development-tools.js +1 -0
  14. package/dist/esm/index.js +1 -0
  15. package/dist/esm/scheduler.js +1 -0
  16. package/dist/esm/select.js +1 -0
  17. package/{types → dist/types}/create-state.d.ts +1 -0
  18. package/dist/types/create-state.d.ts.map +1 -0
  19. package/{types → dist/types}/create.d.ts +2 -4
  20. package/dist/types/create.d.ts.map +1 -0
  21. package/dist/types/debug/development-tools.d.ts +13 -0
  22. package/dist/types/debug/development-tools.d.ts.map +1 -0
  23. package/{types → dist/types}/index.d.ts +3 -1
  24. package/dist/types/index.d.ts.map +1 -0
  25. package/dist/types/scheduler.d.ts +25 -0
  26. package/dist/types/scheduler.d.ts.map +1 -0
  27. package/{types → dist/types}/select.d.ts +1 -0
  28. package/dist/types/select.d.ts.map +1 -0
  29. package/{types → dist/types}/types.d.ts +1 -0
  30. package/dist/types/types.d.ts.map +1 -0
  31. package/{types → dist/types}/use-value-loadable.d.ts +1 -0
  32. package/dist/types/use-value-loadable.d.ts.map +1 -0
  33. package/{types → dist/types}/use-value.d.ts +2 -1
  34. package/dist/types/use-value.d.ts.map +1 -0
  35. package/{types → dist/types}/utils/common.d.ts +1 -0
  36. package/dist/types/utils/common.d.ts.map +1 -0
  37. package/{types → dist/types}/utils/create-emitter.d.ts +1 -0
  38. package/dist/types/utils/create-emitter.d.ts.map +1 -0
  39. package/{types → dist/types}/utils/id.d.ts +1 -0
  40. package/dist/types/utils/id.d.ts.map +1 -0
  41. package/{types → dist/types}/utils/is.d.ts +1 -0
  42. package/dist/types/utils/is.d.ts.map +1 -0
  43. package/{types → dist/types}/utils/shallow.d.ts +1 -0
  44. package/dist/types/utils/shallow.d.ts.map +1 -0
  45. package/package.json +31 -8
  46. package/src/create.ts +7 -2
  47. package/src/debug/development-tools.ts +5 -40
  48. package/src/index.ts +2 -1
  49. package/src/scheduler.ts +77 -71
  50. package/src/select.ts +7 -2
  51. package/src/use-value.ts +1 -1
  52. package/tsconfig.build.json +12 -0
  53. package/cjs/index.js +0 -1
  54. package/esm/__tests__/test-utils.js +0 -1
  55. package/esm/create.js +0 -1
  56. package/esm/debug/development-tools.js +0 -1
  57. package/esm/index.js +0 -1
  58. package/esm/scheduler.js +0 -1
  59. package/esm/select.js +0 -1
  60. package/esm/sqlite/__tests__/create-sqlite.test.js +0 -1
  61. package/esm/sqlite/__tests__/map-deque.test.js +0 -1
  62. package/esm/sqlite/__tests__/table.test.js +0 -1
  63. package/esm/sqlite/__tests__/tokenizer.test.js +0 -1
  64. package/esm/sqlite/__tests__/where.test.js +0 -1
  65. package/esm/sqlite/create-sqlite.js +0 -1
  66. package/esm/sqlite/index.js +0 -1
  67. package/esm/sqlite/table/backend.js +0 -1
  68. package/esm/sqlite/table/bun-backend.js +0 -1
  69. package/esm/sqlite/table/index.js +0 -1
  70. package/esm/sqlite/table/map-deque.js +0 -1
  71. package/esm/sqlite/table/table.js +0 -43
  72. package/esm/sqlite/table/table.types.js +0 -0
  73. package/esm/sqlite/table/tokenizer.js +0 -1
  74. package/esm/sqlite/table/where.js +0 -1
  75. package/esm/sqlite/use-sqlite-count.js +0 -1
  76. package/esm/sqlite/use-sqlite.js +0 -1
  77. package/esm/utils/__tests__/is.test.js +0 -1
  78. package/esm/utils/__tests__/shallow.test.js +0 -1
  79. package/src/sqlite/__tests__/create-sqlite.test.ts +0 -264
  80. package/src/sqlite/__tests__/map-deque.test.ts +0 -61
  81. package/src/sqlite/__tests__/table.test.ts +0 -351
  82. package/src/sqlite/__tests__/tokenizer.test.ts +0 -43
  83. package/src/sqlite/__tests__/use-slite-count.test.tsx +0 -96
  84. package/src/sqlite/__tests__/use-sqlite.more.test.tsx +0 -637
  85. package/src/sqlite/__tests__/use-sqlite.test.tsx +0 -1008
  86. package/src/sqlite/__tests__/where.test.ts +0 -234
  87. package/src/sqlite/create-sqlite.ts +0 -164
  88. package/src/sqlite/index.ts +0 -4
  89. package/src/sqlite/table/backend.ts +0 -21
  90. package/src/sqlite/table/bun-backend.ts +0 -47
  91. package/src/sqlite/table/index.ts +0 -6
  92. package/src/sqlite/table/map-deque.ts +0 -29
  93. package/src/sqlite/table/table.ts +0 -353
  94. package/src/sqlite/table/table.types.ts +0 -129
  95. package/src/sqlite/table/tokenizer.ts +0 -35
  96. package/src/sqlite/table/where.ts +0 -207
  97. package/src/sqlite/use-sqlite-count.ts +0 -69
  98. package/src/sqlite/use-sqlite.ts +0 -250
  99. package/types/__tests__/test-utils.d.ts +0 -25
  100. package/types/debug/development-tools.d.ts +0 -8
  101. package/types/scheduler.d.ts +0 -20
  102. package/types/sqlite/create-sqlite.d.ts +0 -31
  103. package/types/sqlite/index.d.ts +0 -4
  104. package/types/sqlite/table/backend.d.ts +0 -20
  105. package/types/sqlite/table/bun-backend.d.ts +0 -6
  106. package/types/sqlite/table/index.d.ts +0 -6
  107. package/types/sqlite/table/map-deque.d.ts +0 -5
  108. package/types/sqlite/table/table.d.ts +0 -21
  109. package/types/sqlite/table/table.types.d.ts +0 -91
  110. package/types/sqlite/table/tokenizer.d.ts +0 -11
  111. package/types/sqlite/table/where.d.ts +0 -37
  112. package/types/sqlite/use-sqlite-count.d.ts +0 -17
  113. package/types/sqlite/use-sqlite.d.ts +0 -39
  114. /package/{src/__tests__ → __tests__}/test-utils.ts +0 -0
  115. /package/{esm → dist/esm}/create-state.js +0 -0
  116. /package/{esm → dist/esm}/types.js +0 -0
  117. /package/{esm → dist/esm}/use-value-loadable.js +0 -0
  118. /package/{esm → dist/esm}/use-value.js +0 -0
  119. /package/{esm → dist/esm}/utils/common.js +0 -0
  120. /package/{esm → dist/esm}/utils/create-emitter.js +0 -0
  121. /package/{esm → dist/esm}/utils/id.js +0 -0
  122. /package/{esm → dist/esm}/utils/is.js +0 -0
  123. /package/{esm → dist/esm}/utils/shallow.js +0 -0
@@ -1,43 +0,0 @@
1
- import { unicodeTokenizer, type FtsTokenizerOptions } from '../table/tokenizer'
2
-
3
- describe('tokenizer', () => {
4
- const items: {
5
- options: FtsTokenizerOptions
6
- expected: string
7
- }[] = [
8
- { options: {}, expected: '"unicode61"' },
9
- {
10
- options: { removeDiacritics: 1 },
11
- expected: '"unicode61", "remove_diacritics=1"',
12
- },
13
- {
14
- options: { tokenChars: 'abc' },
15
- expected: '"unicode61", "tokenchars=\'abc\'"',
16
- },
17
- {
18
- options: { separators: 'xyz' },
19
- expected: '"unicode61", "separators=\'xyz\'"',
20
- },
21
- {
22
- options: { removeDiacritics: 2, tokenChars: 'a-b', separators: 'x,y' },
23
- expected: '"unicode61", "remove_diacritics=2", "tokenchars=\'a-b\'", "separators=\'x,y\'"',
24
- },
25
- {
26
- options: { tokenChars: "a'b", separators: "c'd" },
27
- expected: "\"unicode61\", \"tokenchars='a''b'\", \"separators='c''d'\"",
28
- },
29
- {
30
- options: { removeDiacritics: 0, tokenChars: '', separators: '' },
31
- expected: '"unicode61", "remove_diacritics=0"',
32
- },
33
- {
34
- options: { removeDiacritics: 1, tokenChars: 'abc', separators: 'xyz' },
35
- expected: '"unicode61", "remove_diacritics=1", "tokenchars=\'abc\'", "separators=\'xyz\'"',
36
- },
37
- ]
38
- for (const item of items) {
39
- it(`returns expected tokenizer string for options: ${JSON.stringify(item.options)}`, () => {
40
- expect(unicodeTokenizer(item.options)).toBe(item.expected)
41
- })
42
- }
43
- })
@@ -1,96 +0,0 @@
1
- import { act, renderHook } from '@testing-library/react-hooks'
2
- import { createSqliteState } from '../create-sqlite'
3
- import { useSqliteCount } from '../use-sqlite-count'
4
- import { bunMemoryBackend } from '../table/bun-backend'
5
- import { waitFor } from '@testing-library/react'
6
-
7
- const backend = bunMemoryBackend()
8
- interface Person {
9
- id: string
10
- name: string
11
- age: number
12
- }
13
-
14
- describe('useSqliteCount', () => {
15
- it('should count items in the table', async () => {
16
- const sql = createSqliteState<Person>({ backend, tableName: 'CountTest1', key: 'id' })
17
- const { result } = renderHook(() => useSqliteCount(sql))
18
-
19
- await waitFor(() => {
20
- expect(result.current).toBe(0)
21
- })
22
-
23
- act(() => {
24
- sql.set({ id: '1', name: 'Alice', age: 30 })
25
- sql.set({ id: '2', name: 'Bob', age: 25 })
26
- })
27
-
28
- await waitFor(() => {
29
- expect(result.current).toBe(2)
30
- })
31
-
32
- act(() => {
33
- sql.delete('1')
34
- })
35
-
36
- await waitFor(() => {
37
- expect(result.current).toBe(1)
38
- })
39
- })
40
-
41
- it('should support filtering with where clause', async () => {
42
- const sql = createSqliteState<Person>({ backend, tableName: 'CountTest2', key: 'id' })
43
- await sql.batchSet([
44
- { id: '1', name: 'Alice', age: 30 },
45
- { id: '2', name: 'Bob', age: 25 },
46
- { id: '3', name: 'Carol', age: 40 },
47
- ])
48
-
49
- const { result } = renderHook(() => useSqliteCount(sql, { where: { age: { gt: 30 } } }))
50
-
51
- await waitFor(() => {
52
- expect(result.current).toBe(1)
53
- })
54
-
55
- act(() => {
56
- sql.set({ id: '4', name: 'Dave', age: 35 })
57
- })
58
-
59
- await waitFor(() => {
60
- expect(result.current).toBe(2)
61
- })
62
-
63
- act(() => {
64
- sql.delete('3')
65
- })
66
-
67
- await waitFor(() => {
68
- expect(result.current).toBe(1)
69
- })
70
- })
71
-
72
- it('should react to dependency changes', async () => {
73
- const sql = createSqliteState<Person>({ backend, tableName: 'CountTest3', key: 'id' })
74
- await sql.batchSet([
75
- { id: '1', name: 'Alice', age: 30 },
76
- { id: '2', name: 'Bob', age: 25 },
77
- { id: '3', name: 'Carol', age: 40 },
78
- ])
79
-
80
- const { result, rerender } = renderHook(({ minAge }) => useSqliteCount(sql, { where: { age: { gt: minAge } } }, [minAge]), {
81
- initialProps: { minAge: 20 },
82
- })
83
-
84
- await waitFor(() => {
85
- expect(result.current).toBe(3)
86
- })
87
-
88
- act(() => {
89
- rerender({ minAge: 30 })
90
- })
91
-
92
- await waitFor(() => {
93
- expect(result.current).toBe(1)
94
- })
95
- })
96
- })