@feathersjs/typebox 5.0.3 → 5.0.5

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/CHANGELOG.md CHANGED
@@ -3,6 +3,19 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [5.0.5](https://github.com/feathersjs/feathers/compare/v5.0.4...v5.0.5) (2023-04-28)
7
+
8
+ ### Bug Fixes
9
+
10
+ - **typebox:** Revert to TypeBox 0.25 ([#3183](https://github.com/feathersjs/feathers/issues/3183)) ([cacedf5](https://github.com/feathersjs/feathers/commit/cacedf59e3d2df836777f0cd06ab1b2484ed87c5))
11
+
12
+ ## [5.0.4](https://github.com/feathersjs/feathers/compare/v5.0.3...v5.0.4) (2023-04-12)
13
+
14
+ ### Bug Fixes
15
+
16
+ - Make sure all Readme files are up to date ([#3154](https://github.com/feathersjs/feathers/issues/3154)) ([a5f0b38](https://github.com/feathersjs/feathers/commit/a5f0b38bbf2a11486415a39533bcc6c67fb51e3e))
17
+ - **typebox:** Implement custom TypeBuilder for backwards compatibility ([#3150](https://github.com/feathersjs/feathers/issues/3150)) ([962bd87](https://github.com/feathersjs/feathers/commit/962bd87217212320b1a68f6556a16b8a6b8f757c))
18
+
6
19
  ## [5.0.3](https://github.com/feathersjs/feathers/compare/v5.0.2...v5.0.3) (2023-04-05)
7
20
 
8
21
  ### Bug Fixes
package/README.md CHANGED
@@ -14,7 +14,7 @@ npm install @feathersjs/typebox --save
14
14
 
15
15
  ## Documentation
16
16
 
17
- Refer to the [Feathers documentation](https://docs.feathersjs.com) for more details.
17
+ Refer to the [Feathers TypeBox documentation](https://feathersjs.com/api/schema/typebox.html) for more details.
18
18
 
19
19
  ## License
20
20
 
@@ -30,13 +30,13 @@ export declare const authenticationSettingsSchema: import("@sinclair/typebox").T
30
30
  }>;
31
31
  export declare const sqlSettingsSchema: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
32
32
  client: import("@sinclair/typebox").TString<string>;
33
- connection: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString<string>, import("@sinclair/typebox").TObject<{
34
- host: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString<string>>;
35
- port: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
36
- user: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString<string>>;
37
- password: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString<string>>;
38
- database: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString<string>>;
39
- }>]>;
33
+ connection: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString<string>, import("@sinclair/typebox").TPartial<import("@sinclair/typebox").TObject<{
34
+ host: import("@sinclair/typebox").TString<string>;
35
+ port: import("@sinclair/typebox").TNumber;
36
+ user: import("@sinclair/typebox").TString<string>;
37
+ password: import("@sinclair/typebox").TString<string>;
38
+ database: import("@sinclair/typebox").TString<string>;
39
+ }>>]>;
40
40
  pool: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
41
41
  min: import("@sinclair/typebox").TNumber;
42
42
  max: import("@sinclair/typebox").TNumber;
@@ -80,13 +80,13 @@ export declare const defaultAppConfiguration: import("@sinclair/typebox").TObjec
80
80
  mongodb: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString<string>>;
81
81
  mysql: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
82
82
  client: import("@sinclair/typebox").TString<string>;
83
- connection: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString<string>, import("@sinclair/typebox").TObject<{
84
- host: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString<string>>;
85
- port: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
86
- user: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString<string>>;
87
- password: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString<string>>;
88
- database: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString<string>>;
89
- }>]>;
83
+ connection: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString<string>, import("@sinclair/typebox").TPartial<import("@sinclair/typebox").TObject<{
84
+ host: import("@sinclair/typebox").TString<string>;
85
+ port: import("@sinclair/typebox").TNumber;
86
+ user: import("@sinclair/typebox").TString<string>;
87
+ password: import("@sinclair/typebox").TString<string>;
88
+ database: import("@sinclair/typebox").TString<string>;
89
+ }>>]>;
90
90
  pool: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
91
91
  min: import("@sinclair/typebox").TNumber;
92
92
  max: import("@sinclair/typebox").TNumber;
@@ -94,13 +94,13 @@ export declare const defaultAppConfiguration: import("@sinclair/typebox").TObjec
94
94
  }>>;
95
95
  postgresql: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
96
96
  client: import("@sinclair/typebox").TString<string>;
97
- connection: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString<string>, import("@sinclair/typebox").TObject<{
98
- host: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString<string>>;
99
- port: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
100
- user: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString<string>>;
101
- password: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString<string>>;
102
- database: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString<string>>;
103
- }>]>;
97
+ connection: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString<string>, import("@sinclair/typebox").TPartial<import("@sinclair/typebox").TObject<{
98
+ host: import("@sinclair/typebox").TString<string>;
99
+ port: import("@sinclair/typebox").TNumber;
100
+ user: import("@sinclair/typebox").TString<string>;
101
+ password: import("@sinclair/typebox").TString<string>;
102
+ database: import("@sinclair/typebox").TString<string>;
103
+ }>>]>;
104
104
  pool: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
105
105
  min: import("@sinclair/typebox").TNumber;
106
106
  max: import("@sinclair/typebox").TNumber;
@@ -108,13 +108,13 @@ export declare const defaultAppConfiguration: import("@sinclair/typebox").TObjec
108
108
  }>>;
109
109
  sqlite: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
110
110
  client: import("@sinclair/typebox").TString<string>;
111
- connection: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString<string>, import("@sinclair/typebox").TObject<{
112
- host: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString<string>>;
113
- port: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
114
- user: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString<string>>;
115
- password: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString<string>>;
116
- database: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString<string>>;
117
- }>]>;
111
+ connection: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString<string>, import("@sinclair/typebox").TPartial<import("@sinclair/typebox").TObject<{
112
+ host: import("@sinclair/typebox").TString<string>;
113
+ port: import("@sinclair/typebox").TNumber;
114
+ user: import("@sinclair/typebox").TString<string>;
115
+ password: import("@sinclair/typebox").TString<string>;
116
+ database: import("@sinclair/typebox").TString<string>;
117
+ }>>]>;
118
118
  pool: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
119
119
  min: import("@sinclair/typebox").TNumber;
120
120
  max: import("@sinclair/typebox").TNumber;
@@ -122,13 +122,13 @@ export declare const defaultAppConfiguration: import("@sinclair/typebox").TObjec
122
122
  }>>;
123
123
  mssql: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
124
124
  client: import("@sinclair/typebox").TString<string>;
125
- connection: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString<string>, import("@sinclair/typebox").TObject<{
126
- host: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString<string>>;
127
- port: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
128
- user: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString<string>>;
129
- password: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString<string>>;
130
- database: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString<string>>;
131
- }>]>;
125
+ connection: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString<string>, import("@sinclair/typebox").TPartial<import("@sinclair/typebox").TObject<{
126
+ host: import("@sinclair/typebox").TString<string>;
127
+ port: import("@sinclair/typebox").TNumber;
128
+ user: import("@sinclair/typebox").TString<string>;
129
+ password: import("@sinclair/typebox").TString<string>;
130
+ database: import("@sinclair/typebox").TString<string>;
131
+ }>>]>;
132
132
  pool: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
133
133
  min: import("@sinclair/typebox").TNumber;
134
134
  max: import("@sinclair/typebox").TNumber;
package/lib/index.d.ts CHANGED
@@ -1,12 +1,7 @@
1
- import { TObject, TInteger, TOptional, TSchema, TIntersect, ObjectOptions } from '@sinclair/typebox';
1
+ import { TObject, TInteger, TOptional, TSchema, ObjectOptions } from '@sinclair/typebox';
2
2
  import { Validator, DataValidatorMap, Ajv } from '@feathersjs/schema';
3
3
  export * from '@sinclair/typebox';
4
4
  export * from './default-schemas';
5
- export declare const Intersect: {
6
- (allOf: [], options?: import("@sinclair/typebox").SchemaOptions): import("@sinclair/typebox").TNever;
7
- <T extends [TSchema]>(allOf: [...T], options?: import("@sinclair/typebox").SchemaOptions): T[0];
8
- <T_1 extends TSchema[]>(allOf: [...T_1], options?: import("@sinclair/typebox").IntersectOptions): TIntersect<T_1>;
9
- };
10
5
  export type TDataSchemaMap = {
11
6
  create: TObject;
12
7
  update?: TObject;
@@ -19,7 +14,7 @@ export type TDataSchemaMap = {
19
14
  * @param validator The AJV validation instance
20
15
  * @returns A compiled validation function
21
16
  */
22
- export declare const getValidator: <T = any, R = T>(schema: TObject | TIntersect, validator: Ajv) => Validator<T, R>;
17
+ export declare const getValidator: <T = any, R = T>(schema: TObject, validator: Ajv) => Validator<T, R>;
23
18
  /**
24
19
  * Returns compiled validation functions to validate data for the `create`, `update` and `patch`
25
20
  * service methods. If not passed explicitly, the `update` validator will be the same as the `create`
@@ -43,7 +38,7 @@ export declare function StringEnum<T extends string[]>(allowedValues: [...T]): i
43
38
  * @param schema The TypeBox object schema
44
39
  * @returns The `$sort` syntax schema
45
40
  */
46
- export declare function sortDefinition<T extends TObject | TIntersect>(schema: T): TObject<T["properties"] extends infer T_1 ? { [K in keyof T_1]: TOptional<TInteger>; } : never>;
41
+ export declare function sortDefinition<T extends TObject>(schema: T): TObject<T["properties"] extends infer T_1 ? { [K in keyof T_1]: TOptional<TInteger>; } : never>;
47
42
  /**
48
43
  * Returns the standard Feathers query syntax for a property schema,
49
44
  * including operators like `$gt`, `$lt` etc. for a single property
@@ -54,15 +49,15 @@ export declare function sortDefinition<T extends TObject | TIntersect>(schema: T
54
49
  */
55
50
  export declare const queryProperty: <T extends TSchema, X extends {
56
51
  [key: string]: TSchema;
57
- }>(def: T, extension?: X) => TOptional<import("@sinclair/typebox").TUnion<[T, TIntersect<[TObject<import("@sinclair/typebox").Evaluate<import("@sinclair/typebox").Assert<{
58
- $gt: T extends import("@sinclair/typebox").TReadonlyOptional<infer U extends TSchema> ? import("@sinclair/typebox").TReadonlyOptional<U> : T extends import("@sinclair/typebox").TReadonly<infer U_1 extends TSchema> ? import("@sinclair/typebox").TReadonlyOptional<U_1> : T extends TOptional<infer U_2 extends TSchema> ? TOptional<U_2> : TOptional<T>;
59
- $gte: T extends import("@sinclair/typebox").TReadonlyOptional<infer U extends TSchema> ? import("@sinclair/typebox").TReadonlyOptional<U> : T extends import("@sinclair/typebox").TReadonly<infer U_1 extends TSchema> ? import("@sinclair/typebox").TReadonlyOptional<U_1> : T extends TOptional<infer U_2 extends TSchema> ? TOptional<U_2> : TOptional<T>;
60
- $lt: T extends import("@sinclair/typebox").TReadonlyOptional<infer U extends TSchema> ? import("@sinclair/typebox").TReadonlyOptional<U> : T extends import("@sinclair/typebox").TReadonly<infer U_1 extends TSchema> ? import("@sinclair/typebox").TReadonlyOptional<U_1> : T extends TOptional<infer U_2 extends TSchema> ? TOptional<U_2> : TOptional<T>;
61
- $lte: T extends import("@sinclair/typebox").TReadonlyOptional<infer U extends TSchema> ? import("@sinclair/typebox").TReadonlyOptional<U> : T extends import("@sinclair/typebox").TReadonly<infer U_1 extends TSchema> ? import("@sinclair/typebox").TReadonlyOptional<U_1> : T extends TOptional<infer U_2 extends TSchema> ? TOptional<U_2> : TOptional<T>;
62
- $ne: T extends import("@sinclair/typebox").TReadonlyOptional<infer U extends TSchema> ? import("@sinclair/typebox").TReadonlyOptional<U> : T extends import("@sinclair/typebox").TReadonly<infer U_1 extends TSchema> ? import("@sinclair/typebox").TReadonlyOptional<U_1> : T extends TOptional<infer U_2 extends TSchema> ? TOptional<U_2> : TOptional<T>;
63
- $in: TOptional<import("@sinclair/typebox").TArray<T>>;
64
- $nin: TOptional<import("@sinclair/typebox").TArray<T>>;
65
- }, import("@sinclair/typebox").TProperties>>>, TObject<import("@sinclair/typebox").Evaluate<import("@sinclair/typebox").Assert<{ [K in keyof X]: X[K] extends import("@sinclair/typebox").TReadonlyOptional<infer U extends TSchema> ? import("@sinclair/typebox").TReadonlyOptional<U> : X[K] extends import("@sinclair/typebox").TReadonly<infer U_1 extends TSchema> ? import("@sinclair/typebox").TReadonlyOptional<U_1> : X[K] extends TOptional<infer U_2 extends TSchema> ? TOptional<U_2> : TOptional<X[K]>; }, import("@sinclair/typebox").TProperties>>>]>]>>;
52
+ }>(def: T, extension?: X) => TOptional<import("@sinclair/typebox").TUnion<[T, import("@sinclair/typebox").TPartial<import("@sinclair/typebox").TIntersect<[TObject<{
53
+ $gt: T;
54
+ $gte: T;
55
+ $lt: T;
56
+ $lte: T;
57
+ $ne: T;
58
+ $in: import("@sinclair/typebox").TArray<T>;
59
+ $nin: import("@sinclair/typebox").TArray<T>;
60
+ }>, TObject<X>]>>]>>;
66
61
  /**
67
62
  * Creates a Feathers query syntax schema for the properties defined in `definition`.
68
63
  *
@@ -70,17 +65,17 @@ export declare const queryProperty: <T extends TSchema, X extends {
70
65
  * @param extensions Additional properties to add to a property query
71
66
  * @returns The Feathers query syntax schema
72
67
  */
73
- export declare const queryProperties: <T extends TObject<import("@sinclair/typebox").TProperties> | TIntersect<TSchema[]>, X extends T["properties"] extends infer T_1 ? { [K in keyof T_1]?: {
68
+ export declare const queryProperties: <T extends TObject<import("@sinclair/typebox").TProperties>, X extends T["properties"] extends infer T_1 ? { [K in keyof T_1]?: {
74
69
  [key: string]: TSchema;
75
- }; } : never>(definition: T, extensions?: X) => TOptional<TObject<T["properties"] extends infer T_2 ? { [K_1 in keyof T_2]: TOptional<import("@sinclair/typebox").TUnion<[T["properties"][K_1], TIntersect<[TObject<import("@sinclair/typebox").Evaluate<import("@sinclair/typebox").Assert<{
76
- $gt: T["properties"][K_1] extends import("@sinclair/typebox").TReadonlyOptional<infer U extends TSchema> ? import("@sinclair/typebox").TReadonlyOptional<U> : T["properties"][K_1] extends import("@sinclair/typebox").TReadonly<infer U_1 extends TSchema> ? import("@sinclair/typebox").TReadonlyOptional<U_1> : T["properties"][K_1] extends TOptional<infer U_2 extends TSchema> ? TOptional<U_2> : TOptional<T["properties"][K_1]>;
77
- $gte: T["properties"][K_1] extends import("@sinclair/typebox").TReadonlyOptional<infer U extends TSchema> ? import("@sinclair/typebox").TReadonlyOptional<U> : T["properties"][K_1] extends import("@sinclair/typebox").TReadonly<infer U_1 extends TSchema> ? import("@sinclair/typebox").TReadonlyOptional<U_1> : T["properties"][K_1] extends TOptional<infer U_2 extends TSchema> ? TOptional<U_2> : TOptional<T["properties"][K_1]>;
78
- $lt: T["properties"][K_1] extends import("@sinclair/typebox").TReadonlyOptional<infer U extends TSchema> ? import("@sinclair/typebox").TReadonlyOptional<U> : T["properties"][K_1] extends import("@sinclair/typebox").TReadonly<infer U_1 extends TSchema> ? import("@sinclair/typebox").TReadonlyOptional<U_1> : T["properties"][K_1] extends TOptional<infer U_2 extends TSchema> ? TOptional<U_2> : TOptional<T["properties"][K_1]>;
79
- $lte: T["properties"][K_1] extends import("@sinclair/typebox").TReadonlyOptional<infer U extends TSchema> ? import("@sinclair/typebox").TReadonlyOptional<U> : T["properties"][K_1] extends import("@sinclair/typebox").TReadonly<infer U_1 extends TSchema> ? import("@sinclair/typebox").TReadonlyOptional<U_1> : T["properties"][K_1] extends TOptional<infer U_2 extends TSchema> ? TOptional<U_2> : TOptional<T["properties"][K_1]>;
80
- $ne: T["properties"][K_1] extends import("@sinclair/typebox").TReadonlyOptional<infer U extends TSchema> ? import("@sinclair/typebox").TReadonlyOptional<U> : T["properties"][K_1] extends import("@sinclair/typebox").TReadonly<infer U_1 extends TSchema> ? import("@sinclair/typebox").TReadonlyOptional<U_1> : T["properties"][K_1] extends TOptional<infer U_2 extends TSchema> ? TOptional<U_2> : TOptional<T["properties"][K_1]>;
81
- $in: TOptional<import("@sinclair/typebox").TArray<T["properties"][K_1]>>;
82
- $nin: TOptional<import("@sinclair/typebox").TArray<T["properties"][K_1]>>;
83
- }, import("@sinclair/typebox").TProperties>>>, TObject<import("@sinclair/typebox").Evaluate<import("@sinclair/typebox").Assert<X[K_1] extends infer T_3 extends import("@sinclair/typebox").TProperties ? { [K_2 in keyof T_3]: X[K_1][K_2] extends import("@sinclair/typebox").TReadonlyOptional<infer U extends TSchema> ? import("@sinclair/typebox").TReadonlyOptional<U> : X[K_1][K_2] extends import("@sinclair/typebox").TReadonly<infer U_1 extends TSchema> ? import("@sinclair/typebox").TReadonlyOptional<U_1> : X[K_1][K_2] extends TOptional<infer U_2 extends TSchema> ? TOptional<U_2> : TOptional<X[K_1][K_2]>; } : never, import("@sinclair/typebox").TProperties>>>]>]>>; } : never>>;
70
+ }; } : never>(definition: T, extensions?: X) => TOptional<TObject<T["properties"] extends infer T_2 ? { [K_1 in keyof T_2]: TOptional<import("@sinclair/typebox").TUnion<[T["properties"][K_1], import("@sinclair/typebox").TPartial<import("@sinclair/typebox").TIntersect<[TObject<{
71
+ $gt: T["properties"][K_1];
72
+ $gte: T["properties"][K_1];
73
+ $lt: T["properties"][K_1];
74
+ $lte: T["properties"][K_1];
75
+ $ne: T["properties"][K_1];
76
+ $in: import("@sinclair/typebox").TArray<T["properties"][K_1]>;
77
+ $nin: import("@sinclair/typebox").TArray<T["properties"][K_1]>;
78
+ }>, TObject<X[K_1]>]>>]>>; } : never>>;
84
79
  /**
85
80
  * Creates a TypeBox schema for the complete Feathers query syntax including `$limit`, $skip`, `$or`
86
81
  * and `$sort` and `$select` for the allowed properties.
@@ -90,48 +85,48 @@ export declare const queryProperties: <T extends TObject<import("@sinclair/typeb
90
85
  * @param options Options for the TypeBox object schema
91
86
  * @returns A TypeBox object representing the complete Feathers query syntax for the given properties
92
87
  */
93
- export declare const querySyntax: <T extends TObject<import("@sinclair/typebox").TProperties> | TIntersect<TSchema[]>, X extends T["properties"] extends infer T_1 ? { [K in keyof T_1]?: {
88
+ export declare const querySyntax: <T extends TObject<import("@sinclair/typebox").TProperties>, X extends T["properties"] extends infer T_1 ? { [K in keyof T_1]?: {
94
89
  [key: string]: TSchema;
95
- }; } : never>(type: T, extensions?: X, options?: ObjectOptions) => TIntersect<[TObject<{
96
- $limit: TOptional<import("@sinclair/typebox").TNumber>;
97
- $skip: TOptional<import("@sinclair/typebox").TNumber>;
98
- $sort: TOptional<TObject<T["properties"] extends infer T_2 ? { [K_1 in keyof T_2]: TOptional<TInteger>; } : never>>;
99
- $select: TOptional<import("@sinclair/typebox").TUnsafe<(keyof T["properties"])[]>>;
100
- $and: TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnion<[TOptional<TObject<T["properties"] extends infer T_3 ? { [K_2 in keyof T_3]: TOptional<import("@sinclair/typebox").TUnion<[T["properties"][K_2], TIntersect<[TObject<import("@sinclair/typebox").Evaluate<import("@sinclair/typebox").Assert<{
101
- $gt: T["properties"][K_2] extends import("@sinclair/typebox").TReadonlyOptional<infer U extends TSchema> ? import("@sinclair/typebox").TReadonlyOptional<U> : T["properties"][K_2] extends import("@sinclair/typebox").TReadonly<infer U_1 extends TSchema> ? import("@sinclair/typebox").TReadonlyOptional<U_1> : T["properties"][K_2] extends TOptional<infer U_2 extends TSchema> ? TOptional<U_2> : TOptional<T["properties"][K_2]>;
102
- $gte: T["properties"][K_2] extends import("@sinclair/typebox").TReadonlyOptional<infer U extends TSchema> ? import("@sinclair/typebox").TReadonlyOptional<U> : T["properties"][K_2] extends import("@sinclair/typebox").TReadonly<infer U_1 extends TSchema> ? import("@sinclair/typebox").TReadonlyOptional<U_1> : T["properties"][K_2] extends TOptional<infer U_2 extends TSchema> ? TOptional<U_2> : TOptional<T["properties"][K_2]>;
103
- $lt: T["properties"][K_2] extends import("@sinclair/typebox").TReadonlyOptional<infer U extends TSchema> ? import("@sinclair/typebox").TReadonlyOptional<U> : T["properties"][K_2] extends import("@sinclair/typebox").TReadonly<infer U_1 extends TSchema> ? import("@sinclair/typebox").TReadonlyOptional<U_1> : T["properties"][K_2] extends TOptional<infer U_2 extends TSchema> ? TOptional<U_2> : TOptional<T["properties"][K_2]>;
104
- $lte: T["properties"][K_2] extends import("@sinclair/typebox").TReadonlyOptional<infer U extends TSchema> ? import("@sinclair/typebox").TReadonlyOptional<U> : T["properties"][K_2] extends import("@sinclair/typebox").TReadonly<infer U_1 extends TSchema> ? import("@sinclair/typebox").TReadonlyOptional<U_1> : T["properties"][K_2] extends TOptional<infer U_2 extends TSchema> ? TOptional<U_2> : TOptional<T["properties"][K_2]>;
105
- $ne: T["properties"][K_2] extends import("@sinclair/typebox").TReadonlyOptional<infer U extends TSchema> ? import("@sinclair/typebox").TReadonlyOptional<U> : T["properties"][K_2] extends import("@sinclair/typebox").TReadonly<infer U_1 extends TSchema> ? import("@sinclair/typebox").TReadonlyOptional<U_1> : T["properties"][K_2] extends TOptional<infer U_2 extends TSchema> ? TOptional<U_2> : TOptional<T["properties"][K_2]>;
106
- $in: TOptional<import("@sinclair/typebox").TArray<T["properties"][K_2]>>;
107
- $nin: TOptional<import("@sinclair/typebox").TArray<T["properties"][K_2]>>;
108
- }, import("@sinclair/typebox").TProperties>>>, TObject<import("@sinclair/typebox").Evaluate<import("@sinclair/typebox").Assert<X[K_2] extends infer T_4 extends import("@sinclair/typebox").TProperties ? { [K_3 in keyof T_4]: X[K_2][K_3] extends import("@sinclair/typebox").TReadonlyOptional<infer U extends TSchema> ? import("@sinclair/typebox").TReadonlyOptional<U> : X[K_2][K_3] extends import("@sinclair/typebox").TReadonly<infer U_1 extends TSchema> ? import("@sinclair/typebox").TReadonlyOptional<U_1> : X[K_2][K_3] extends TOptional<infer U_2 extends TSchema> ? TOptional<U_2> : TOptional<X[K_2][K_3]>; } : never, import("@sinclair/typebox").TProperties>>>]>]>>; } : never>>, TObject<{
109
- $or: import("@sinclair/typebox").TArray<TOptional<TObject<T["properties"] extends infer T_3 ? { [K_2 in keyof T_3]: TOptional<import("@sinclair/typebox").TUnion<[T["properties"][K_2], TIntersect<[TObject<import("@sinclair/typebox").Evaluate<import("@sinclair/typebox").Assert<{
110
- $gt: T["properties"][K_2] extends import("@sinclair/typebox").TReadonlyOptional<infer U extends TSchema> ? import("@sinclair/typebox").TReadonlyOptional<U> : T["properties"][K_2] extends import("@sinclair/typebox").TReadonly<infer U_1 extends TSchema> ? import("@sinclair/typebox").TReadonlyOptional<U_1> : T["properties"][K_2] extends TOptional<infer U_2 extends TSchema> ? TOptional<U_2> : TOptional<T["properties"][K_2]>;
111
- $gte: T["properties"][K_2] extends import("@sinclair/typebox").TReadonlyOptional<infer U extends TSchema> ? import("@sinclair/typebox").TReadonlyOptional<U> : T["properties"][K_2] extends import("@sinclair/typebox").TReadonly<infer U_1 extends TSchema> ? import("@sinclair/typebox").TReadonlyOptional<U_1> : T["properties"][K_2] extends TOptional<infer U_2 extends TSchema> ? TOptional<U_2> : TOptional<T["properties"][K_2]>;
112
- $lt: T["properties"][K_2] extends import("@sinclair/typebox").TReadonlyOptional<infer U extends TSchema> ? import("@sinclair/typebox").TReadonlyOptional<U> : T["properties"][K_2] extends import("@sinclair/typebox").TReadonly<infer U_1 extends TSchema> ? import("@sinclair/typebox").TReadonlyOptional<U_1> : T["properties"][K_2] extends TOptional<infer U_2 extends TSchema> ? TOptional<U_2> : TOptional<T["properties"][K_2]>;
113
- $lte: T["properties"][K_2] extends import("@sinclair/typebox").TReadonlyOptional<infer U extends TSchema> ? import("@sinclair/typebox").TReadonlyOptional<U> : T["properties"][K_2] extends import("@sinclair/typebox").TReadonly<infer U_1 extends TSchema> ? import("@sinclair/typebox").TReadonlyOptional<U_1> : T["properties"][K_2] extends TOptional<infer U_2 extends TSchema> ? TOptional<U_2> : TOptional<T["properties"][K_2]>;
114
- $ne: T["properties"][K_2] extends import("@sinclair/typebox").TReadonlyOptional<infer U extends TSchema> ? import("@sinclair/typebox").TReadonlyOptional<U> : T["properties"][K_2] extends import("@sinclair/typebox").TReadonly<infer U_1 extends TSchema> ? import("@sinclair/typebox").TReadonlyOptional<U_1> : T["properties"][K_2] extends TOptional<infer U_2 extends TSchema> ? TOptional<U_2> : TOptional<T["properties"][K_2]>;
115
- $in: TOptional<import("@sinclair/typebox").TArray<T["properties"][K_2]>>;
116
- $nin: TOptional<import("@sinclair/typebox").TArray<T["properties"][K_2]>>;
117
- }, import("@sinclair/typebox").TProperties>>>, TObject<import("@sinclair/typebox").Evaluate<import("@sinclair/typebox").Assert<X[K_2] extends infer T_4 extends import("@sinclair/typebox").TProperties ? { [K_3 in keyof T_4]: X[K_2][K_3] extends import("@sinclair/typebox").TReadonlyOptional<infer U extends TSchema> ? import("@sinclair/typebox").TReadonlyOptional<U> : X[K_2][K_3] extends import("@sinclair/typebox").TReadonly<infer U_1 extends TSchema> ? import("@sinclair/typebox").TReadonlyOptional<U_1> : X[K_2][K_3] extends TOptional<infer U_2 extends TSchema> ? TOptional<U_2> : TOptional<X[K_2][K_3]>; } : never, import("@sinclair/typebox").TProperties>>>]>]>>; } : never>>>;
118
- }>]>>>;
119
- $or: TOptional<import("@sinclair/typebox").TArray<TOptional<TObject<T["properties"] extends infer T_3 ? { [K_2 in keyof T_3]: TOptional<import("@sinclair/typebox").TUnion<[T["properties"][K_2], TIntersect<[TObject<import("@sinclair/typebox").Evaluate<import("@sinclair/typebox").Assert<{
120
- $gt: T["properties"][K_2] extends import("@sinclair/typebox").TReadonlyOptional<infer U extends TSchema> ? import("@sinclair/typebox").TReadonlyOptional<U> : T["properties"][K_2] extends import("@sinclair/typebox").TReadonly<infer U_1 extends TSchema> ? import("@sinclair/typebox").TReadonlyOptional<U_1> : T["properties"][K_2] extends TOptional<infer U_2 extends TSchema> ? TOptional<U_2> : TOptional<T["properties"][K_2]>;
121
- $gte: T["properties"][K_2] extends import("@sinclair/typebox").TReadonlyOptional<infer U extends TSchema> ? import("@sinclair/typebox").TReadonlyOptional<U> : T["properties"][K_2] extends import("@sinclair/typebox").TReadonly<infer U_1 extends TSchema> ? import("@sinclair/typebox").TReadonlyOptional<U_1> : T["properties"][K_2] extends TOptional<infer U_2 extends TSchema> ? TOptional<U_2> : TOptional<T["properties"][K_2]>;
122
- $lt: T["properties"][K_2] extends import("@sinclair/typebox").TReadonlyOptional<infer U extends TSchema> ? import("@sinclair/typebox").TReadonlyOptional<U> : T["properties"][K_2] extends import("@sinclair/typebox").TReadonly<infer U_1 extends TSchema> ? import("@sinclair/typebox").TReadonlyOptional<U_1> : T["properties"][K_2] extends TOptional<infer U_2 extends TSchema> ? TOptional<U_2> : TOptional<T["properties"][K_2]>;
123
- $lte: T["properties"][K_2] extends import("@sinclair/typebox").TReadonlyOptional<infer U extends TSchema> ? import("@sinclair/typebox").TReadonlyOptional<U> : T["properties"][K_2] extends import("@sinclair/typebox").TReadonly<infer U_1 extends TSchema> ? import("@sinclair/typebox").TReadonlyOptional<U_1> : T["properties"][K_2] extends TOptional<infer U_2 extends TSchema> ? TOptional<U_2> : TOptional<T["properties"][K_2]>;
124
- $ne: T["properties"][K_2] extends import("@sinclair/typebox").TReadonlyOptional<infer U extends TSchema> ? import("@sinclair/typebox").TReadonlyOptional<U> : T["properties"][K_2] extends import("@sinclair/typebox").TReadonly<infer U_1 extends TSchema> ? import("@sinclair/typebox").TReadonlyOptional<U_1> : T["properties"][K_2] extends TOptional<infer U_2 extends TSchema> ? TOptional<U_2> : TOptional<T["properties"][K_2]>;
125
- $in: TOptional<import("@sinclair/typebox").TArray<T["properties"][K_2]>>;
126
- $nin: TOptional<import("@sinclair/typebox").TArray<T["properties"][K_2]>>;
127
- }, import("@sinclair/typebox").TProperties>>>, TObject<import("@sinclair/typebox").Evaluate<import("@sinclair/typebox").Assert<X[K_2] extends infer T_4 extends import("@sinclair/typebox").TProperties ? { [K_3 in keyof T_4]: X[K_2][K_3] extends import("@sinclair/typebox").TReadonlyOptional<infer U extends TSchema> ? import("@sinclair/typebox").TReadonlyOptional<U> : X[K_2][K_3] extends import("@sinclair/typebox").TReadonly<infer U_1 extends TSchema> ? import("@sinclair/typebox").TReadonlyOptional<U_1> : X[K_2][K_3] extends TOptional<infer U_2 extends TSchema> ? TOptional<U_2> : TOptional<X[K_2][K_3]>; } : never, import("@sinclair/typebox").TProperties>>>]>]>>; } : never>>>>;
128
- }>, TOptional<TObject<T["properties"] extends infer T_5 ? { [K_2 in keyof T_5]: TOptional<import("@sinclair/typebox").TUnion<[T["properties"][K_2], TIntersect<[TObject<import("@sinclair/typebox").Evaluate<import("@sinclair/typebox").Assert<{
129
- $gt: T["properties"][K_2] extends import("@sinclair/typebox").TReadonlyOptional<infer U extends TSchema> ? import("@sinclair/typebox").TReadonlyOptional<U> : T["properties"][K_2] extends import("@sinclair/typebox").TReadonly<infer U_1 extends TSchema> ? import("@sinclair/typebox").TReadonlyOptional<U_1> : T["properties"][K_2] extends TOptional<infer U_2 extends TSchema> ? TOptional<U_2> : TOptional<T["properties"][K_2]>;
130
- $gte: T["properties"][K_2] extends import("@sinclair/typebox").TReadonlyOptional<infer U extends TSchema> ? import("@sinclair/typebox").TReadonlyOptional<U> : T["properties"][K_2] extends import("@sinclair/typebox").TReadonly<infer U_1 extends TSchema> ? import("@sinclair/typebox").TReadonlyOptional<U_1> : T["properties"][K_2] extends TOptional<infer U_2 extends TSchema> ? TOptional<U_2> : TOptional<T["properties"][K_2]>;
131
- $lt: T["properties"][K_2] extends import("@sinclair/typebox").TReadonlyOptional<infer U extends TSchema> ? import("@sinclair/typebox").TReadonlyOptional<U> : T["properties"][K_2] extends import("@sinclair/typebox").TReadonly<infer U_1 extends TSchema> ? import("@sinclair/typebox").TReadonlyOptional<U_1> : T["properties"][K_2] extends TOptional<infer U_2 extends TSchema> ? TOptional<U_2> : TOptional<T["properties"][K_2]>;
132
- $lte: T["properties"][K_2] extends import("@sinclair/typebox").TReadonlyOptional<infer U extends TSchema> ? import("@sinclair/typebox").TReadonlyOptional<U> : T["properties"][K_2] extends import("@sinclair/typebox").TReadonly<infer U_1 extends TSchema> ? import("@sinclair/typebox").TReadonlyOptional<U_1> : T["properties"][K_2] extends TOptional<infer U_2 extends TSchema> ? TOptional<U_2> : TOptional<T["properties"][K_2]>;
133
- $ne: T["properties"][K_2] extends import("@sinclair/typebox").TReadonlyOptional<infer U extends TSchema> ? import("@sinclair/typebox").TReadonlyOptional<U> : T["properties"][K_2] extends import("@sinclair/typebox").TReadonly<infer U_1 extends TSchema> ? import("@sinclair/typebox").TReadonlyOptional<U_1> : T["properties"][K_2] extends TOptional<infer U_2 extends TSchema> ? TOptional<U_2> : TOptional<T["properties"][K_2]>;
134
- $in: TOptional<import("@sinclair/typebox").TArray<T["properties"][K_2]>>;
135
- $nin: TOptional<import("@sinclair/typebox").TArray<T["properties"][K_2]>>;
136
- }, import("@sinclair/typebox").TProperties>>>, TObject<import("@sinclair/typebox").Evaluate<import("@sinclair/typebox").Assert<X[K_2] extends infer T_6 extends import("@sinclair/typebox").TProperties ? { [K_3 in keyof T_6]: X[K_2][K_3] extends import("@sinclair/typebox").TReadonlyOptional<infer U extends TSchema> ? import("@sinclair/typebox").TReadonlyOptional<U> : X[K_2][K_3] extends import("@sinclair/typebox").TReadonly<infer U_1 extends TSchema> ? import("@sinclair/typebox").TReadonlyOptional<U_1> : X[K_2][K_3] extends TOptional<infer U_2 extends TSchema> ? TOptional<U_2> : TOptional<X[K_2][K_3]>; } : never, import("@sinclair/typebox").TProperties>>>]>]>>; } : never>>]>;
90
+ }; } : never>(type: T, extensions?: X, options?: ObjectOptions) => import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TPartial<TObject<{
91
+ $limit: import("@sinclair/typebox").TNumber;
92
+ $skip: import("@sinclair/typebox").TNumber;
93
+ $sort: TObject<T["properties"] extends infer T_2 ? { [K_1 in keyof T_2]: TOptional<TInteger>; } : never>;
94
+ $select: import("@sinclair/typebox").TUnsafe<(keyof T["properties"])[]>;
95
+ $and: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnion<[TOptional<TObject<T["properties"] extends infer T_3 ? { [K_2 in keyof T_3]: TOptional<import("@sinclair/typebox").TUnion<[T["properties"][K_2], import("@sinclair/typebox").TPartial<import("@sinclair/typebox").TIntersect<[TObject<{
96
+ $gt: T["properties"][K_2];
97
+ $gte: T["properties"][K_2];
98
+ $lt: T["properties"][K_2];
99
+ $lte: T["properties"][K_2];
100
+ $ne: T["properties"][K_2];
101
+ $in: import("@sinclair/typebox").TArray<T["properties"][K_2]>;
102
+ $nin: import("@sinclair/typebox").TArray<T["properties"][K_2]>;
103
+ }>, TObject<X[K_2]>]>>]>>; } : never>>, TObject<{
104
+ $or: import("@sinclair/typebox").TArray<TOptional<TObject<T["properties"] extends infer T_4 ? { [K_2 in keyof T_4]: TOptional<import("@sinclair/typebox").TUnion<[T["properties"][K_2], import("@sinclair/typebox").TPartial<import("@sinclair/typebox").TIntersect<[TObject<{
105
+ $gt: T["properties"][K_2];
106
+ $gte: T["properties"][K_2];
107
+ $lt: T["properties"][K_2];
108
+ $lte: T["properties"][K_2];
109
+ $ne: T["properties"][K_2];
110
+ $in: import("@sinclair/typebox").TArray<T["properties"][K_2]>;
111
+ $nin: import("@sinclair/typebox").TArray<T["properties"][K_2]>;
112
+ }>, TObject<X[K_2]>]>>]>>; } : never>>>;
113
+ }>]>>;
114
+ $or: import("@sinclair/typebox").TArray<TOptional<TObject<T["properties"] extends infer T_5 ? { [K_2 in keyof T_5]: TOptional<import("@sinclair/typebox").TUnion<[T["properties"][K_2], import("@sinclair/typebox").TPartial<import("@sinclair/typebox").TIntersect<[TObject<{
115
+ $gt: T["properties"][K_2];
116
+ $gte: T["properties"][K_2];
117
+ $lt: T["properties"][K_2];
118
+ $lte: T["properties"][K_2];
119
+ $ne: T["properties"][K_2];
120
+ $in: import("@sinclair/typebox").TArray<T["properties"][K_2]>;
121
+ $nin: import("@sinclair/typebox").TArray<T["properties"][K_2]>;
122
+ }>, TObject<X[K_2]>]>>]>>; } : never>>>;
123
+ }>>, TOptional<TObject<T["properties"] extends infer T_6 ? { [K_2 in keyof T_6]: TOptional<import("@sinclair/typebox").TUnion<[T["properties"][K_2], import("@sinclair/typebox").TPartial<import("@sinclair/typebox").TIntersect<[TObject<{
124
+ $gt: T["properties"][K_2];
125
+ $gte: T["properties"][K_2];
126
+ $lt: T["properties"][K_2];
127
+ $lte: T["properties"][K_2];
128
+ $ne: T["properties"][K_2];
129
+ $in: import("@sinclair/typebox").TArray<T["properties"][K_2]>;
130
+ $nin: import("@sinclair/typebox").TArray<T["properties"][K_2]>;
131
+ }>, TObject<X[K_2]>]>>]>>; } : never>>]>;
137
132
  export declare const ObjectIdSchema: () => import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString<string>, TObject<{}>]>;
package/lib/index.js CHANGED
@@ -14,15 +14,11 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.ObjectIdSchema = exports.querySyntax = exports.queryProperties = exports.queryProperty = exports.sortDefinition = exports.StringEnum = exports.getDataValidator = exports.getValidator = exports.Intersect = void 0;
17
+ exports.ObjectIdSchema = exports.querySyntax = exports.queryProperties = exports.queryProperty = exports.sortDefinition = exports.StringEnum = exports.getDataValidator = exports.getValidator = void 0;
18
18
  const typebox_1 = require("@sinclair/typebox");
19
19
  const schema_1 = require("@feathersjs/schema");
20
20
  __exportStar(require("@sinclair/typebox"), exports);
21
21
  __exportStar(require("./default-schemas"), exports);
22
- // Export new intersect
23
- exports.Intersect = typebox_1.Type.Intersect;
24
- // This is necessary to maintain backwards compatibility between 0.25 and 0.26
25
- typebox_1.Type.Intersect = typebox_1.Type.Composite;
26
22
  /**
27
23
  * Returns a compiled validation function for a TypeBox object and AJV validator instance.
28
24
  *
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@feathersjs/typebox",
3
3
  "description": "TypeBox integration for @feathersjs/schema",
4
- "version": "5.0.3",
4
+ "version": "5.0.5",
5
5
  "homepage": "https://feathersjs.com",
6
6
  "main": "lib/",
7
7
  "types": "lib/",
@@ -54,8 +54,8 @@
54
54
  "access": "public"
55
55
  },
56
56
  "dependencies": {
57
- "@feathersjs/schema": "^5.0.3",
58
- "@sinclair/typebox": "^0.26.8"
57
+ "@feathersjs/schema": "^5.0.5",
58
+ "@sinclair/typebox": "^0.25.0"
59
59
  },
60
60
  "devDependencies": {
61
61
  "@types/mocha": "^10.0.1",
@@ -64,5 +64,5 @@
64
64
  "shx": "^0.3.4",
65
65
  "typescript": "^5.0.3"
66
66
  },
67
- "gitHead": "a6ba4dfd08f537a7d4778bed4c45091cbe3802aa"
67
+ "gitHead": "42bd5e40ec73b10939b9a008ae8e49c39a191009"
68
68
  }
package/src/index.ts CHANGED
@@ -1,15 +1,9 @@
1
- import { Type, TObject, TInteger, TOptional, TSchema, TIntersect, ObjectOptions } from '@sinclair/typebox'
1
+ import { Type, TObject, TInteger, TOptional, TSchema, ObjectOptions } from '@sinclair/typebox'
2
2
  import { jsonSchema, Validator, DataValidatorMap, Ajv } from '@feathersjs/schema'
3
3
 
4
4
  export * from '@sinclair/typebox'
5
5
  export * from './default-schemas'
6
6
 
7
- // Export new intersect
8
- export const Intersect = Type.Intersect
9
-
10
- // This is necessary to maintain backwards compatibility between 0.25 and 0.26
11
- Type.Intersect = Type.Composite as any
12
-
13
7
  export type TDataSchemaMap = {
14
8
  create: TObject
15
9
  update?: TObject
@@ -23,7 +17,7 @@ export type TDataSchemaMap = {
23
17
  * @param validator The AJV validation instance
24
18
  * @returns A compiled validation function
25
19
  */
26
- export const getValidator = <T = any, R = T>(schema: TObject | TIntersect, validator: Ajv): Validator<T, R> =>
20
+ export const getValidator = <T = any, R = T>(schema: TObject, validator: Ajv): Validator<T, R> =>
27
21
  jsonSchema.getValidator(schema as any, validator)
28
22
 
29
23
  /**
@@ -48,7 +42,7 @@ export function StringEnum<T extends string[]>(allowedValues: [...T]) {
48
42
  return Type.Unsafe<T[number]>({ type: 'string', enum: allowedValues })
49
43
  }
50
44
 
51
- const arrayOfKeys = <T extends TObject | TIntersect>(type: T) => {
45
+ const arrayOfKeys = <T extends TObject>(type: T) => {
52
46
  const keys = Object.keys(type.properties)
53
47
  return Type.Unsafe<(keyof T['properties'])[]>({
54
48
  type: 'array',
@@ -66,7 +60,7 @@ const arrayOfKeys = <T extends TObject | TIntersect>(type: T) => {
66
60
  * @param schema The TypeBox object schema
67
61
  * @returns The `$sort` syntax schema
68
62
  */
69
- export function sortDefinition<T extends TObject | TIntersect>(schema: T) {
63
+ export function sortDefinition<T extends TObject>(schema: T) {
70
64
  const properties = Object.keys(schema.properties).reduce((res, key) => {
71
65
  const result = res as any
72
66
 
@@ -125,7 +119,7 @@ type QueryProperty<T extends TSchema, X extends { [key: string]: TSchema }> = Re
125
119
  * @returns The Feathers query syntax schema
126
120
  */
127
121
  export const queryProperties = <
128
- T extends TObject | TIntersect,
122
+ T extends TObject,
129
123
  X extends { [K in keyof T['properties']]?: { [key: string]: TSchema } }
130
124
  >(
131
125
  definition: T,
@@ -153,7 +147,7 @@ export const queryProperties = <
153
147
  * @returns A TypeBox object representing the complete Feathers query syntax for the given properties
154
148
  */
155
149
  export const querySyntax = <
156
- T extends TObject | TIntersect,
150
+ T extends TObject,
157
151
  X extends { [K in keyof T['properties']]?: { [key: string]: TSchema } }
158
152
  >(
159
153
  type: T,