Skip to content

Commit a263084

Browse files
committed
fix: export type definitions like JSONQuery and JSONQueryOptions
1 parent 04322e2 commit a263084

File tree

2 files changed

+33
-14
lines changed

2 files changed

+33
-14
lines changed

src/jsonquery.test.ts

Lines changed: 31 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,45 +1,62 @@
11
import { describe, expect, test } from 'vitest'
2-
import { buildFunction, compile, jsonquery, parse, stringify } from './jsonquery'
2+
import {
3+
type JSONQuery,
4+
type JSONQueryOptions,
5+
buildFunction,
6+
compile,
7+
jsonquery,
8+
parse,
9+
stringify
10+
} from './jsonquery'
311

412
describe('jsonquery', () => {
513
test('should execute a JSON query', () => {
6-
expect(jsonquery({ name: 'Joe' }, ['get', 'name'])).toEqual('Joe')
14+
const query: JSONQuery = ['get', 'name']
15+
expect(jsonquery({ name: 'Joe' }, query)).toEqual('Joe')
716
})
817

918
test('should execute a text query', () => {
1019
expect(jsonquery({ name: 'Joe' }, '.name')).toEqual('Joe')
1120
})
1221

1322
test('should execute a JSON query with custom functions', () => {
14-
const functions = {
15-
customFn: () => (_data: unknown) => 42
23+
const options: JSONQueryOptions = {
24+
functions: {
25+
customFn: () => (_data: unknown) => 42
26+
}
1627
}
1728

18-
expect(jsonquery({}, ['customFn'], { functions })).toEqual(42)
29+
expect(jsonquery({}, ['customFn'], options)).toEqual(42)
1930
})
2031

2132
test('should execute a text query with custom functions', () => {
22-
const functions = {
23-
customFn: () => (_data: unknown) => 42
33+
const options: JSONQueryOptions = {
34+
functions: {
35+
customFn: () => (_data: unknown) => 42
36+
}
2437
}
2538

26-
expect(jsonquery({ name: 'Joe' }, '.name', { functions })).toEqual('Joe')
39+
expect(jsonquery({ name: 'Joe' }, '.name', options)).toEqual('Joe')
2740
})
2841

2942
test('should execute a JSON query with custom operators', () => {
30-
const operators = {
31-
aboutEq: '~='
43+
const options: JSONQueryOptions = {
44+
operators: {
45+
aboutEq: '~='
46+
}
3247
}
3348

34-
expect(jsonquery({ name: 'Joe' }, ['get', 'name'], { operators })).toEqual('Joe')
49+
expect(jsonquery({ name: 'Joe' }, ['get', 'name'], options)).toEqual('Joe')
3550
})
3651

3752
test('should execute a text query with custom operators', () => {
38-
const operators = {
39-
aboutEq: '~='
53+
const options: JSONQueryOptions = {
54+
operators: {
55+
aboutEq: '~='
56+
}
4057
}
4158

42-
expect(jsonquery({ name: 'Joe' }, '.name', { operators })).toEqual('Joe')
59+
expect(jsonquery({ name: 'Joe' }, '.name', options)).toEqual('Joe')
4360
})
4461

4562
test('have exported all documented functions', () => {

src/jsonquery.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,3 +15,5 @@ export { compile } from './compile'
1515
export { stringify } from './stringify'
1616
export { parse } from './parse'
1717
export { buildFunction } from './functions'
18+
19+
export * from './types'

0 commit comments

Comments
 (0)