@feathersjs/typebox 5.0.0-pre.32 → 5.0.0-pre.33
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 +6 -0
- package/lib/index.d.ts +6 -0
- package/lib/index.js +10 -1
- package/lib/index.js.map +1 -1
- package/package.json +6 -6
- package/src/index.ts +9 -0
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,12 @@
|
|
|
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.0-pre.33](https://github.com/feathersjs/feathers/compare/v5.0.0-pre.32...v5.0.0-pre.33) (2022-11-08)
|
|
7
|
+
|
|
8
|
+
### Features
|
|
9
|
+
|
|
10
|
+
- **schema:** Add StringEnum to TypeBox module ([#2827](https://github.com/feathersjs/feathers/issues/2827)) ([65d3665](https://github.com/feathersjs/feathers/commit/65d36656f50a48f633fa3fcabaea10521d04bf1c))
|
|
11
|
+
|
|
6
12
|
# [5.0.0-pre.32](https://github.com/feathersjs/feathers/compare/v5.0.0-pre.31...v5.0.0-pre.32) (2022-10-26)
|
|
7
13
|
|
|
8
14
|
**Note:** Version bump only for package @feathersjs/typebox
|
package/lib/index.d.ts
CHANGED
|
@@ -26,6 +26,12 @@ export declare const getValidator: <T = any, R = T>(schema: TObject, validator:
|
|
|
26
26
|
* @returns A map of validator functions
|
|
27
27
|
*/
|
|
28
28
|
export declare const getDataValidator: (def: TObject | TDataSchemaMap, validator: Ajv) => DataValidatorMap;
|
|
29
|
+
/**
|
|
30
|
+
* A TypeBox utility that converts an array of provided strings into a string enum.
|
|
31
|
+
* @param allowedValues array of strings for the enum
|
|
32
|
+
* @returns TypeBox.Type
|
|
33
|
+
*/
|
|
34
|
+
export declare function StringEnum<T extends string[]>(allowedValues: [...T]): import("@sinclair/typebox").TUnsafe<T[number]>;
|
|
29
35
|
export declare function sortDefinition<T extends TObject>(schema: T): TObject<T["properties"] extends infer T_1 ? { [K in keyof T_1]: TOptional<TInteger>; } : never>;
|
|
30
36
|
export declare const queryProperty: <T extends TSchema>(def: T) => TOptional<import("@sinclair/typebox").TUnion<[T, TObject<{
|
|
31
37
|
$gt: TOptional<T>;
|
package/lib/index.js
CHANGED
|
@@ -14,7 +14,7 @@ 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.querySyntax = exports.queryProperties = exports.queryProperty = exports.sortDefinition = exports.getDataValidator = exports.getValidator = void 0;
|
|
17
|
+
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);
|
|
@@ -44,6 +44,15 @@ const arrayOfKeys = (type) => {
|
|
|
44
44
|
const keys = Object.keys(type.properties);
|
|
45
45
|
return typebox_1.Type.Unsafe({ type: 'array', items: { type: 'string', enum: keys } });
|
|
46
46
|
};
|
|
47
|
+
/**
|
|
48
|
+
* A TypeBox utility that converts an array of provided strings into a string enum.
|
|
49
|
+
* @param allowedValues array of strings for the enum
|
|
50
|
+
* @returns TypeBox.Type
|
|
51
|
+
*/
|
|
52
|
+
function StringEnum(allowedValues) {
|
|
53
|
+
return typebox_1.Type.Unsafe({ type: 'string', enum: allowedValues });
|
|
54
|
+
}
|
|
55
|
+
exports.StringEnum = StringEnum;
|
|
47
56
|
function sortDefinition(schema) {
|
|
48
57
|
const properties = Object.keys(schema.properties).reduce((res, key) => {
|
|
49
58
|
const result = res;
|
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.0-pre.
|
|
4
|
+
"version": "5.0.0-pre.33",
|
|
5
5
|
"homepage": "https://feathersjs.com",
|
|
6
6
|
"main": "lib/",
|
|
7
7
|
"types": "lib/",
|
|
@@ -54,15 +54,15 @@
|
|
|
54
54
|
"access": "public"
|
|
55
55
|
},
|
|
56
56
|
"dependencies": {
|
|
57
|
-
"@feathersjs/schema": "^5.0.0-pre.
|
|
58
|
-
"@sinclair/typebox": "^0.
|
|
57
|
+
"@feathersjs/schema": "^5.0.0-pre.33",
|
|
58
|
+
"@sinclair/typebox": "^0.25.2"
|
|
59
59
|
},
|
|
60
60
|
"devDependencies": {
|
|
61
61
|
"@types/mocha": "^10.0.0",
|
|
62
|
-
"@types/node": "^18.
|
|
63
|
-
"mocha": "^10.
|
|
62
|
+
"@types/node": "^18.11.9",
|
|
63
|
+
"mocha": "^10.1.0",
|
|
64
64
|
"shx": "^0.3.4",
|
|
65
65
|
"typescript": "^4.8.4"
|
|
66
66
|
},
|
|
67
|
-
"gitHead": "
|
|
67
|
+
"gitHead": "89f516bcb1457e23a02c6212e9cd8bacc4d267d4"
|
|
68
68
|
}
|
package/src/index.ts
CHANGED
|
@@ -38,6 +38,15 @@ const arrayOfKeys = <T extends TObject>(type: T) => {
|
|
|
38
38
|
return Type.Unsafe<(keyof T['properties'])[]>({ type: 'array', items: { type: 'string', enum: keys } })
|
|
39
39
|
}
|
|
40
40
|
|
|
41
|
+
/**
|
|
42
|
+
* A TypeBox utility that converts an array of provided strings into a string enum.
|
|
43
|
+
* @param allowedValues array of strings for the enum
|
|
44
|
+
* @returns TypeBox.Type
|
|
45
|
+
*/
|
|
46
|
+
export function StringEnum<T extends string[]>(allowedValues: [...T]) {
|
|
47
|
+
return Type.Unsafe<T[number]>({ type: 'string', enum: allowedValues })
|
|
48
|
+
}
|
|
49
|
+
|
|
41
50
|
export function sortDefinition<T extends TObject>(schema: T) {
|
|
42
51
|
const properties = Object.keys(schema.properties).reduce((res, key) => {
|
|
43
52
|
const result = res as any
|