@feathersjs/schema 5.0.24 → 5.0.26
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 +10 -0
- package/lib/resolver.d.ts +5 -3
- package/lib/resolver.js.map +1 -1
- package/package.json +13 -13
- package/src/resolver.ts +5 -3
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,16 @@
|
|
|
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.26](https://github.com/feathersjs/feathers/compare/v5.0.25...v5.0.26) (2024-06-09)
|
|
7
|
+
|
|
8
|
+
### Bug Fixes
|
|
9
|
+
|
|
10
|
+
- **schema:** Allow regular functions in resolvers ([#3487](https://github.com/feathersjs/feathers/issues/3487)) ([187868e](https://github.com/feathersjs/feathers/commit/187868edd9c0c9d885c482b85be7a90655c86ca2))
|
|
11
|
+
|
|
12
|
+
## [5.0.25](https://github.com/feathersjs/feathers/compare/v5.0.24...v5.0.25) (2024-05-03)
|
|
13
|
+
|
|
14
|
+
**Note:** Version bump only for package @feathersjs/schema
|
|
15
|
+
|
|
6
16
|
## [5.0.24](https://github.com/feathersjs/feathers/compare/v5.0.23...v5.0.24) (2024-03-13)
|
|
7
17
|
|
|
8
18
|
**Note:** Version bump only for package @feathersjs/schema
|
package/lib/resolver.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { Schema } from './schema';
|
|
2
|
-
|
|
2
|
+
type PromiseOrLiteral<V> = Promise<V> | V;
|
|
3
|
+
export type PropertyResolver<T, V, C> = ((value: V | undefined, obj: T, context: C, status: ResolverStatus<T, C>) => PromiseOrLiteral<V | undefined>) & {
|
|
3
4
|
[IS_VIRTUAL]?: boolean;
|
|
4
5
|
};
|
|
5
|
-
export type VirtualResolver<T, V, C> = (obj: T, context: C, status: ResolverStatus<T, C>) =>
|
|
6
|
+
export type VirtualResolver<T, V, C> = (obj: T, context: C, status: ResolverStatus<T, C>) => PromiseOrLiteral<V | undefined>;
|
|
6
7
|
export declare const IS_VIRTUAL: unique symbol;
|
|
7
8
|
/**
|
|
8
9
|
* Create a resolver for a virtual property. A virtual property is a property that
|
|
@@ -15,7 +16,7 @@ export declare const virtual: <T, V, C>(virtualResolver: VirtualResolver<T, V, C
|
|
|
15
16
|
export type PropertyResolverMap<T, C> = {
|
|
16
17
|
[key in keyof T]?: PropertyResolver<T, T[key], C> | ReturnType<typeof virtual<T, T[key], C>>;
|
|
17
18
|
};
|
|
18
|
-
export type ResolverConverter<T, C> = (obj: any, context: C, status: ResolverStatus<T, C>) =>
|
|
19
|
+
export type ResolverConverter<T, C> = (obj: any, context: C, status: ResolverStatus<T, C>) => PromiseOrLiteral<T | undefined>;
|
|
19
20
|
export interface ResolverOptions<T, C> {
|
|
20
21
|
schema?: Schema<T>;
|
|
21
22
|
/**
|
|
@@ -67,3 +68,4 @@ export declare class Resolver<T, C> {
|
|
|
67
68
|
*/
|
|
68
69
|
export declare function resolve<T, C>(properties: PropertyResolverMap<T, C>, options?: ResolverOptions<T, C>): Resolver<T, C>;
|
|
69
70
|
export declare function resolve<T, C>(options: ResolverConfig<T, C>): Resolver<T, C>;
|
|
71
|
+
export {};
|
package/lib/resolver.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolver.js","sourceRoot":"","sources":["../src/resolver.ts"],"names":[],"mappings":";;;AAAA,+CAA+C;
|
|
1
|
+
{"version":3,"file":"resolver.js","sourceRoot":"","sources":["../src/resolver.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@feathersjs/schema",
|
|
3
3
|
"description": "A common data schema definition format",
|
|
4
|
-
"version": "5.0.
|
|
4
|
+
"version": "5.0.26",
|
|
5
5
|
"homepage": "https://feathersjs.com",
|
|
6
6
|
"main": "lib/",
|
|
7
7
|
"types": "lib/",
|
|
@@ -54,27 +54,27 @@
|
|
|
54
54
|
"access": "public"
|
|
55
55
|
},
|
|
56
56
|
"dependencies": {
|
|
57
|
-
"@feathersjs/adapter-commons": "^5.0.
|
|
58
|
-
"@feathersjs/commons": "^5.0.
|
|
59
|
-
"@feathersjs/errors": "^5.0.
|
|
60
|
-
"@feathersjs/feathers": "^5.0.
|
|
57
|
+
"@feathersjs/adapter-commons": "^5.0.26",
|
|
58
|
+
"@feathersjs/commons": "^5.0.26",
|
|
59
|
+
"@feathersjs/errors": "^5.0.26",
|
|
60
|
+
"@feathersjs/feathers": "^5.0.26",
|
|
61
61
|
"@feathersjs/hooks": "^0.9.0",
|
|
62
62
|
"@types/json-schema": "^7.0.15",
|
|
63
|
-
"ajv": "^8.
|
|
64
|
-
"ajv-formats": "^
|
|
63
|
+
"ajv": "^8.13.0",
|
|
64
|
+
"ajv-formats": "^3.0.1",
|
|
65
65
|
"json-schema-to-ts": "^3.0.1"
|
|
66
66
|
},
|
|
67
67
|
"devDependencies": {
|
|
68
|
-
"@feathersjs/memory": "^5.0.
|
|
68
|
+
"@feathersjs/memory": "^5.0.26",
|
|
69
69
|
"@types/mocha": "^10.0.6",
|
|
70
|
-
"@types/node": "^20.
|
|
71
|
-
"ajv-formats": "^
|
|
72
|
-
"mocha": "^10.
|
|
70
|
+
"@types/node": "^20.12.8",
|
|
71
|
+
"ajv-formats": "^3.0.1",
|
|
72
|
+
"mocha": "^10.4.0",
|
|
73
73
|
"shx": "^0.3.4",
|
|
74
|
-
"typescript": "^5.3
|
|
74
|
+
"typescript": "^5.4.3"
|
|
75
75
|
},
|
|
76
76
|
"peerDependencies": {
|
|
77
77
|
"typescript": ">=5.4"
|
|
78
78
|
},
|
|
79
|
-
"gitHead": "
|
|
79
|
+
"gitHead": "3fe6843c1a478a2887ca91b6f79eda3b61d35ef3"
|
|
80
80
|
}
|
package/src/resolver.ts
CHANGED
|
@@ -1,18 +1,20 @@
|
|
|
1
1
|
import { BadRequest } from '@feathersjs/errors'
|
|
2
2
|
import { Schema } from './schema'
|
|
3
3
|
|
|
4
|
+
type PromiseOrLiteral<V> = Promise<V> | V
|
|
5
|
+
|
|
4
6
|
export type PropertyResolver<T, V, C> = ((
|
|
5
7
|
value: V | undefined,
|
|
6
8
|
obj: T,
|
|
7
9
|
context: C,
|
|
8
10
|
status: ResolverStatus<T, C>
|
|
9
|
-
) =>
|
|
11
|
+
) => PromiseOrLiteral<V | undefined>) & { [IS_VIRTUAL]?: boolean }
|
|
10
12
|
|
|
11
13
|
export type VirtualResolver<T, V, C> = (
|
|
12
14
|
obj: T,
|
|
13
15
|
context: C,
|
|
14
16
|
status: ResolverStatus<T, C>
|
|
15
|
-
) =>
|
|
17
|
+
) => PromiseOrLiteral<V | undefined>
|
|
16
18
|
|
|
17
19
|
export const IS_VIRTUAL = Symbol.for('@feathersjs/schema/virtual')
|
|
18
20
|
|
|
@@ -40,7 +42,7 @@ export type ResolverConverter<T, C> = (
|
|
|
40
42
|
obj: any,
|
|
41
43
|
context: C,
|
|
42
44
|
status: ResolverStatus<T, C>
|
|
43
|
-
) =>
|
|
45
|
+
) => PromiseOrLiteral<T | undefined>
|
|
44
46
|
|
|
45
47
|
export interface ResolverOptions<T, C> {
|
|
46
48
|
schema?: Schema<T>
|