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.
- package/{src/__tests__ → __tests__}/bench.test.tsx +4 -4
- package/{src/__tests__ → __tests__}/compare.test.tsx +8 -6
- package/{src/__tests__ → __tests__}/create.test.tsx +2 -2
- package/{src/utils/__tests__ → __tests__}/is.test.ts +3 -3
- package/{src/__tests__ → __tests__}/scheduler.test.tsx +1 -1
- package/{src/__tests__ → __tests__}/select.test.tsx +5 -5
- package/{src/utils/__tests__ → __tests__}/shallow.test.ts +1 -1
- package/{src/__tests__ → __tests__}/use-value-loadable.test.tsx +3 -3
- package/{src/__tests__ → __tests__}/use-value.test.tsx +8 -8
- package/build.ts +67 -0
- package/dist/cjs/index.js +14 -0
- package/dist/esm/create.js +1 -0
- package/dist/esm/debug/development-tools.js +1 -0
- package/dist/esm/index.js +1 -0
- package/dist/esm/scheduler.js +1 -0
- package/dist/esm/select.js +1 -0
- package/{types → dist/types}/create-state.d.ts +1 -0
- package/dist/types/create-state.d.ts.map +1 -0
- package/{types → dist/types}/create.d.ts +2 -4
- package/dist/types/create.d.ts.map +1 -0
- package/dist/types/debug/development-tools.d.ts +13 -0
- package/dist/types/debug/development-tools.d.ts.map +1 -0
- package/{types → dist/types}/index.d.ts +3 -1
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/scheduler.d.ts +25 -0
- package/dist/types/scheduler.d.ts.map +1 -0
- package/{types → dist/types}/select.d.ts +1 -0
- package/dist/types/select.d.ts.map +1 -0
- package/{types → dist/types}/types.d.ts +1 -0
- package/dist/types/types.d.ts.map +1 -0
- package/{types → dist/types}/use-value-loadable.d.ts +1 -0
- package/dist/types/use-value-loadable.d.ts.map +1 -0
- package/{types → dist/types}/use-value.d.ts +2 -1
- package/dist/types/use-value.d.ts.map +1 -0
- package/{types → dist/types}/utils/common.d.ts +1 -0
- package/dist/types/utils/common.d.ts.map +1 -0
- package/{types → dist/types}/utils/create-emitter.d.ts +1 -0
- package/dist/types/utils/create-emitter.d.ts.map +1 -0
- package/{types → dist/types}/utils/id.d.ts +1 -0
- package/dist/types/utils/id.d.ts.map +1 -0
- package/{types → dist/types}/utils/is.d.ts +1 -0
- package/dist/types/utils/is.d.ts.map +1 -0
- package/{types → dist/types}/utils/shallow.d.ts +1 -0
- package/dist/types/utils/shallow.d.ts.map +1 -0
- package/package.json +31 -8
- package/src/create.ts +7 -2
- package/src/debug/development-tools.ts +5 -40
- package/src/index.ts +2 -1
- package/src/scheduler.ts +77 -71
- package/src/select.ts +7 -2
- package/src/use-value.ts +1 -1
- package/tsconfig.build.json +12 -0
- package/cjs/index.js +0 -1
- package/esm/__tests__/test-utils.js +0 -1
- package/esm/create.js +0 -1
- package/esm/debug/development-tools.js +0 -1
- package/esm/index.js +0 -1
- package/esm/scheduler.js +0 -1
- package/esm/select.js +0 -1
- package/esm/sqlite/__tests__/create-sqlite.test.js +0 -1
- package/esm/sqlite/__tests__/map-deque.test.js +0 -1
- package/esm/sqlite/__tests__/table.test.js +0 -1
- package/esm/sqlite/__tests__/tokenizer.test.js +0 -1
- package/esm/sqlite/__tests__/where.test.js +0 -1
- package/esm/sqlite/create-sqlite.js +0 -1
- package/esm/sqlite/index.js +0 -1
- package/esm/sqlite/table/backend.js +0 -1
- package/esm/sqlite/table/bun-backend.js +0 -1
- package/esm/sqlite/table/index.js +0 -1
- package/esm/sqlite/table/map-deque.js +0 -1
- package/esm/sqlite/table/table.js +0 -43
- package/esm/sqlite/table/table.types.js +0 -0
- package/esm/sqlite/table/tokenizer.js +0 -1
- package/esm/sqlite/table/where.js +0 -1
- package/esm/sqlite/use-sqlite-count.js +0 -1
- package/esm/sqlite/use-sqlite.js +0 -1
- package/esm/utils/__tests__/is.test.js +0 -1
- package/esm/utils/__tests__/shallow.test.js +0 -1
- package/src/sqlite/__tests__/create-sqlite.test.ts +0 -264
- package/src/sqlite/__tests__/map-deque.test.ts +0 -61
- package/src/sqlite/__tests__/table.test.ts +0 -351
- package/src/sqlite/__tests__/tokenizer.test.ts +0 -43
- package/src/sqlite/__tests__/use-slite-count.test.tsx +0 -96
- package/src/sqlite/__tests__/use-sqlite.more.test.tsx +0 -637
- package/src/sqlite/__tests__/use-sqlite.test.tsx +0 -1008
- package/src/sqlite/__tests__/where.test.ts +0 -234
- package/src/sqlite/create-sqlite.ts +0 -164
- package/src/sqlite/index.ts +0 -4
- package/src/sqlite/table/backend.ts +0 -21
- package/src/sqlite/table/bun-backend.ts +0 -47
- package/src/sqlite/table/index.ts +0 -6
- package/src/sqlite/table/map-deque.ts +0 -29
- package/src/sqlite/table/table.ts +0 -353
- package/src/sqlite/table/table.types.ts +0 -129
- package/src/sqlite/table/tokenizer.ts +0 -35
- package/src/sqlite/table/where.ts +0 -207
- package/src/sqlite/use-sqlite-count.ts +0 -69
- package/src/sqlite/use-sqlite.ts +0 -250
- package/types/__tests__/test-utils.d.ts +0 -25
- package/types/debug/development-tools.d.ts +0 -8
- package/types/scheduler.d.ts +0 -20
- package/types/sqlite/create-sqlite.d.ts +0 -31
- package/types/sqlite/index.d.ts +0 -4
- package/types/sqlite/table/backend.d.ts +0 -20
- package/types/sqlite/table/bun-backend.d.ts +0 -6
- package/types/sqlite/table/index.d.ts +0 -6
- package/types/sqlite/table/map-deque.d.ts +0 -5
- package/types/sqlite/table/table.d.ts +0 -21
- package/types/sqlite/table/table.types.d.ts +0 -91
- package/types/sqlite/table/tokenizer.d.ts +0 -11
- package/types/sqlite/table/where.d.ts +0 -37
- package/types/sqlite/use-sqlite-count.d.ts +0 -17
- package/types/sqlite/use-sqlite.d.ts +0 -39
- /package/{src/__tests__ → __tests__}/test-utils.ts +0 -0
- /package/{esm → dist/esm}/create-state.js +0 -0
- /package/{esm → dist/esm}/types.js +0 -0
- /package/{esm → dist/esm}/use-value-loadable.js +0 -0
- /package/{esm → dist/esm}/use-value.js +0 -0
- /package/{esm → dist/esm}/utils/common.js +0 -0
- /package/{esm → dist/esm}/utils/create-emitter.js +0 -0
- /package/{esm → dist/esm}/utils/id.js +0 -0
- /package/{esm → dist/esm}/utils/is.js +0 -0
- /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
|
-
})
|