@opra/common 1.28.2 → 1.28.4
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/browser.js +3 -3
- package/document/data-type/api-field.js +1 -1
- package/document/data-type/complex-type-base.js +6 -2
- package/document/data-type/data-type.d.ts +1 -0
- package/document/decorators/http-operation-entity-update-many.decorator.js +1 -0
- package/document/decorators/http-operation-entity-update.decorator.js +1 -0
- package/document/decorators/http-operation-entity.decorator.d.ts +2 -0
- package/document/factory/http-api.factory.js +1 -0
- package/document/http/http-operation.d.ts +3 -2
- package/document/http/http-request-body.d.ts +3 -0
- package/document/http/http-request-body.js +2 -0
- package/package.json +3 -3
- package/schema/http/http-request-body.interface.d.ts +4 -0
|
@@ -114,7 +114,7 @@ class ApiFieldClass extends DocumentElement {
|
|
|
114
114
|
}
|
|
115
115
|
generateCodec(codec, options, properties) {
|
|
116
116
|
if (this.fixed)
|
|
117
|
-
return vg.
|
|
117
|
+
return vg.fixed(this.fixed);
|
|
118
118
|
let fn = this.type?.generateCodec(codec, options, {
|
|
119
119
|
...properties,
|
|
120
120
|
designType: this.designType,
|
|
@@ -297,7 +297,9 @@ class ComplexTypeBaseClass extends DataType {
|
|
|
297
297
|
fn = cacheItem[cacheKey];
|
|
298
298
|
schema[fieldName] =
|
|
299
299
|
context.partial || !field.required
|
|
300
|
-
?
|
|
300
|
+
? context.allowNullOptionals
|
|
301
|
+
? vg.nullable(fn)
|
|
302
|
+
: vg.optional(fn)
|
|
301
303
|
: vg.required(fn);
|
|
302
304
|
});
|
|
303
305
|
}
|
|
@@ -321,7 +323,9 @@ class ComplexTypeBaseClass extends DataType {
|
|
|
321
323
|
}
|
|
322
324
|
schema[fieldName] =
|
|
323
325
|
context.partial || !(field.required || fn.id === 'required')
|
|
324
|
-
?
|
|
326
|
+
? context.allowNullOptionals
|
|
327
|
+
? vg.nullable(fn)
|
|
328
|
+
: vg.optional(fn)
|
|
325
329
|
: fn.id === 'required'
|
|
326
330
|
? fn
|
|
327
331
|
: vg.required(fn);
|
|
@@ -31,6 +31,7 @@ export declare namespace DataType {
|
|
|
31
31
|
ignoreReadonlyFields?: boolean;
|
|
32
32
|
ignoreWriteonlyFields?: boolean;
|
|
33
33
|
allowPatchOperators?: boolean;
|
|
34
|
+
allowNullOptionals?: boolean;
|
|
34
35
|
fieldHook?: (field: ApiField, currentPath: string, defaultGenerator: () => Validator) => Validator;
|
|
35
36
|
}
|
|
36
37
|
}
|
|
@@ -96,6 +96,7 @@ declare module '../http/http-operation.js' {
|
|
|
96
96
|
type?: Type | string;
|
|
97
97
|
immediateFetch?: boolean;
|
|
98
98
|
allowPatchOperators?: boolean;
|
|
99
|
+
allowNullOptionals?: boolean;
|
|
99
100
|
};
|
|
100
101
|
}
|
|
101
102
|
interface UpdateManyDecorator extends HttpOperationDecorator {
|
|
@@ -108,6 +109,7 @@ declare module '../http/http-operation.js' {
|
|
|
108
109
|
type?: Type | string;
|
|
109
110
|
immediateFetch?: boolean;
|
|
110
111
|
allowPatchOperators?: boolean;
|
|
112
|
+
allowNullOptionals?: boolean;
|
|
111
113
|
};
|
|
112
114
|
}
|
|
113
115
|
}
|
|
@@ -283,6 +283,7 @@ export class HttpApiFactory {
|
|
|
283
283
|
target.immediateFetch = metadata.immediateFetch;
|
|
284
284
|
target.partial = metadata.partial;
|
|
285
285
|
target.allowPatchOperators = metadata.allowPatchOperators;
|
|
286
|
+
target.allowNullOptionals = metadata.allowNullOptionals;
|
|
286
287
|
target.keepKeyFields = metadata.keepKeyFields;
|
|
287
288
|
if (metadata.content) {
|
|
288
289
|
await context.enterAsync('.content', async () => {
|
|
@@ -21,14 +21,15 @@ export declare namespace HttpOperation {
|
|
|
21
21
|
requestBody?: HttpRequestBody.Metadata;
|
|
22
22
|
immediateFetch?: boolean;
|
|
23
23
|
allowPatchOperators?: boolean;
|
|
24
|
+
allowNullOptionals?: boolean;
|
|
24
25
|
}
|
|
25
|
-
interface Options extends Partial<Pick<Metadata, 'path' | 'mergePath' | 'description' | 'method' | 'immediateFetch' | 'allowPatchOperators'>> {
|
|
26
|
+
interface Options extends Partial<Pick<Metadata, 'path' | 'mergePath' | 'description' | 'method' | 'immediateFetch' | 'allowPatchOperators' | 'allowNullOptionals'>> {
|
|
26
27
|
requestBody?: HttpRequestBody.Options;
|
|
27
28
|
}
|
|
28
29
|
interface InitArguments extends Combine<{
|
|
29
30
|
name: string;
|
|
30
31
|
types?: DataType[];
|
|
31
|
-
}, Pick<Metadata, 'description' | 'method' | 'path' | 'mergePath' | 'composition' | 'compositionOptions' | 'immediateFetch' | 'allowPatchOperators'>> {
|
|
32
|
+
}, Pick<Metadata, 'description' | 'method' | 'path' | 'mergePath' | 'composition' | 'compositionOptions' | 'immediateFetch' | 'allowPatchOperators' | 'allowNullOptionals'>> {
|
|
32
33
|
}
|
|
33
34
|
}
|
|
34
35
|
/**
|
|
@@ -12,11 +12,13 @@ export declare namespace HttpRequestBody {
|
|
|
12
12
|
content: HttpMediaType.Metadata[];
|
|
13
13
|
immediateFetch?: boolean;
|
|
14
14
|
allowPatchOperators?: boolean;
|
|
15
|
+
allowNullOptionals?: boolean;
|
|
15
16
|
keepKeyFields?: boolean;
|
|
16
17
|
}
|
|
17
18
|
interface Options extends Partial<StrictOmit<OpraSchema.HttpRequestBody, 'content'>> {
|
|
18
19
|
immediateFetch?: boolean;
|
|
19
20
|
allowPatchOperators?: boolean;
|
|
21
|
+
allowNullOptionals?: boolean;
|
|
20
22
|
keepKeyFields?: boolean;
|
|
21
23
|
}
|
|
22
24
|
}
|
|
@@ -33,6 +35,7 @@ export declare class HttpRequestBody extends DocumentElement {
|
|
|
33
35
|
partial?: boolean | 'deep';
|
|
34
36
|
allowPatchOperators?: boolean;
|
|
35
37
|
keepKeyFields?: boolean;
|
|
38
|
+
allowNullOptionals?: boolean;
|
|
36
39
|
constructor(owner: HttpOperation);
|
|
37
40
|
toJSON(options?: ApiDocument.ExportOptions): OpraSchema.HttpRequestBody;
|
|
38
41
|
}
|
|
@@ -14,6 +14,7 @@ export class HttpRequestBody extends DocumentElement {
|
|
|
14
14
|
partial;
|
|
15
15
|
allowPatchOperators;
|
|
16
16
|
keepKeyFields;
|
|
17
|
+
allowNullOptionals;
|
|
17
18
|
constructor(owner) {
|
|
18
19
|
super(owner);
|
|
19
20
|
}
|
|
@@ -27,6 +28,7 @@ export class HttpRequestBody extends DocumentElement {
|
|
|
27
28
|
: [],
|
|
28
29
|
partial: this.partial,
|
|
29
30
|
allowPatchOperators: this.allowPatchOperators,
|
|
31
|
+
allowNullOptionals: this.allowNullOptionals,
|
|
30
32
|
});
|
|
31
33
|
}
|
|
32
34
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@opra/common",
|
|
3
|
-
"version": "1.28.
|
|
3
|
+
"version": "1.28.4",
|
|
4
4
|
"description": "Opra common package",
|
|
5
5
|
"author": "Panates",
|
|
6
6
|
"license": "MIT",
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
"@browsery/http-parser": "^0.5.10-r3",
|
|
11
11
|
"@browsery/i18next": "^25.6.0",
|
|
12
12
|
"@browsery/type-is": "^2.0.2-r1",
|
|
13
|
-
"@jsopen/objects": "^2.2.
|
|
13
|
+
"@jsopen/objects": "^2.2.2",
|
|
14
14
|
"fast-tokenizer": "^1.9.0",
|
|
15
15
|
"object-hash": "^3.0.0",
|
|
16
16
|
"putil-promisify": "^1.10.1",
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
"super-fast-md5": "^1.0.3",
|
|
20
20
|
"tslib": "^2.8.1",
|
|
21
21
|
"uid": "^2.0.2",
|
|
22
|
-
"valgen": "^6.
|
|
22
|
+
"valgen": "^6.2.0"
|
|
23
23
|
},
|
|
24
24
|
"type": "module",
|
|
25
25
|
"module": "./index.js",
|