@skmtc/core 0.0.800 → 0.0.803
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/esm/context/CoreContext.d.ts +2 -2
- package/esm/context/CoreContext.d.ts.map +1 -1
- package/esm/context/GenerateContext.d.ts +16 -3
- package/esm/context/GenerateContext.d.ts.map +1 -1
- package/esm/context/ParseContext.d.ts +3 -3
- package/esm/context/ParseContext.d.ts.map +1 -1
- package/esm/context/RenderContext.d.ts +153 -1
- package/esm/context/RenderContext.d.ts.map +1 -1
- package/esm/context/RenderContext.js +179 -0
- package/esm/context/types.d.ts +30 -0
- package/esm/context/types.d.ts.map +1 -1
- package/esm/dsl/model/ModelBase.d.ts +1 -1
- package/esm/dsl/model/ModelBase.d.ts.map +1 -1
- package/esm/dsl/model/ModelDriver.d.ts +62 -0
- package/esm/dsl/model/ModelDriver.d.ts.map +1 -1
- package/esm/dsl/model/ModelDriver.js +63 -1
- package/esm/dsl/model/toModelBase.d.ts +66 -0
- package/esm/dsl/model/toModelBase.d.ts.map +1 -1
- package/esm/dsl/model/toModelBase.js +46 -0
- package/esm/dsl/model/toModelEntry.d.ts +63 -0
- package/esm/dsl/model/toModelEntry.d.ts.map +1 -1
- package/esm/dsl/model/toModelEntry.js +63 -0
- package/esm/dsl/operation/OperationBase.d.ts +3 -3
- package/esm/dsl/operation/OperationBase.d.ts.map +1 -1
- package/esm/dsl/operation/OperationDriver.d.ts +84 -0
- package/esm/dsl/operation/OperationDriver.d.ts.map +1 -1
- package/esm/dsl/operation/OperationDriver.js +85 -1
- package/esm/dsl/operation/toOperationBase.d.ts +58 -0
- package/esm/dsl/operation/toOperationBase.d.ts.map +1 -1
- package/esm/dsl/operation/toOperationBase.js +46 -0
- package/esm/dsl/operation/toOperationEntry.d.ts +37 -0
- package/esm/dsl/operation/toOperationEntry.d.ts.map +1 -1
- package/esm/dsl/operation/toOperationEntry.js +28 -0
- package/esm/helpers/isEmpty.d.ts +1 -1
- package/esm/helpers/isEmpty.d.ts.map +1 -1
- package/esm/helpers/tracer.d.ts +1 -1
- package/esm/helpers/tracer.d.ts.map +1 -1
- package/esm/helpers/tracer.js +1 -1
- package/esm/mod.d.ts +52 -0
- package/esm/mod.d.ts.map +1 -1
- package/esm/mod.js +52 -0
- package/esm/oas/array/Array.d.ts +26 -0
- package/esm/oas/array/Array.d.ts.map +1 -1
- package/esm/oas/array/Array.js +26 -0
- package/esm/oas/array/array-types.d.ts +32 -11
- package/esm/oas/array/array-types.d.ts.map +1 -1
- package/esm/oas/array/array-types.js +16 -0
- package/esm/oas/array/toArray.d.ts +111 -0
- package/esm/oas/array/toArray.d.ts.map +1 -1
- package/esm/oas/array/toArray.js +115 -3
- package/esm/oas/boolean/Boolean.d.ts +26 -0
- package/esm/oas/boolean/Boolean.d.ts.map +1 -1
- package/esm/oas/boolean/Boolean.js +26 -0
- package/esm/oas/boolean/boolean-types.d.ts +1 -7
- package/esm/oas/boolean/boolean-types.d.ts.map +1 -1
- package/esm/oas/boolean/toBoolean.d.ts +57 -0
- package/esm/oas/boolean/toBoolean.d.ts.map +1 -1
- package/esm/oas/boolean/toBoolean.js +57 -0
- package/esm/oas/components/components-types.d.ts +19 -0
- package/esm/oas/components/components-types.d.ts.map +1 -0
- package/esm/oas/components/components-types.js +21 -0
- package/esm/oas/contact/contact-types.d.ts +9 -0
- package/esm/oas/contact/contact-types.d.ts.map +1 -0
- package/esm/oas/contact/contact-types.js +7 -0
- package/esm/oas/discriminator/discriminator-types.d.ts +1 -5
- package/esm/oas/discriminator/discriminator-types.d.ts.map +1 -1
- package/esm/oas/document/document-types.d.ts +16 -0
- package/esm/oas/document/document-types.d.ts.map +1 -0
- package/esm/oas/document/document-types.js +18 -0
- package/esm/oas/example/example-types.d.ts +1 -6
- package/esm/oas/example/example-types.d.ts.map +1 -1
- package/esm/oas/header/header-types.d.ts +50 -0
- package/esm/oas/header/header-types.d.ts.map +1 -0
- package/esm/oas/header/header-types.js +30 -0
- package/esm/oas/info/info-types.d.ts +14 -0
- package/esm/oas/info/info-types.d.ts.map +1 -0
- package/esm/oas/info/info-types.js +13 -0
- package/esm/oas/integer/integer-types.d.ts +3 -17
- package/esm/oas/integer/integer-types.d.ts.map +1 -1
- package/esm/oas/license/license-types.d.ts +9 -0
- package/esm/oas/license/license-types.d.ts.map +1 -0
- package/esm/oas/license/license-types.js +7 -0
- package/esm/oas/mediaType/mediaType-types.d.ts +1 -11
- package/esm/oas/mediaType/mediaType-types.d.ts.map +1 -1
- package/esm/oas/number/number-types.d.ts +2 -16
- package/esm/oas/number/number-types.d.ts.map +1 -1
- package/esm/oas/number/toNumber.d.ts +62 -0
- package/esm/oas/number/toNumber.d.ts.map +1 -1
- package/esm/oas/number/toNumber.js +62 -0
- package/esm/oas/operation/operation-types.d.ts +22 -0
- package/esm/oas/operation/operation-types.d.ts.map +1 -0
- package/esm/oas/operation/operation-types.js +35 -0
- package/esm/oas/parameter/Parameter.d.ts +47 -0
- package/esm/oas/parameter/Parameter.d.ts.map +1 -1
- package/esm/oas/parameter/Parameter.js +47 -0
- package/esm/oas/parameter/parameter-types.d.ts +3 -58
- package/esm/oas/parameter/parameter-types.d.ts.map +1 -1
- package/esm/oas/pathItem/pathItem-types.d.ts +12 -0
- package/esm/oas/pathItem/pathItem-types.d.ts.map +1 -0
- package/esm/oas/pathItem/pathItem-types.js +12 -0
- package/esm/oas/requestBody/requestBody-types.d.ts +10 -0
- package/esm/oas/requestBody/requestBody-types.d.ts.map +1 -0
- package/esm/oas/requestBody/requestBody-types.js +9 -0
- package/esm/oas/response/response-types.d.ts +12 -0
- package/esm/oas/response/response-types.d.ts.map +1 -0
- package/esm/oas/response/response-types.js +11 -0
- package/esm/oas/schema/toSchemasV3.js +2 -2
- package/esm/oas/server/toServerV3.d.ts.map +1 -1
- package/esm/oas/string/string-types.d.ts +2 -29
- package/esm/oas/string/string-types.d.ts.map +1 -1
- package/esm/oas/string/toString.d.ts +125 -1
- package/esm/oas/string/toString.d.ts.map +1 -1
- package/esm/oas/string/toString.js +119 -0
- package/esm/oas/tag/tag-types.d.ts +8 -0
- package/esm/oas/tag/tag-types.d.ts.map +1 -0
- package/esm/oas/tag/tag-types.js +8 -0
- package/esm/oas/union/union-types.d.ts +1 -12
- package/esm/oas/union/union-types.d.ts.map +1 -1
- package/esm/oas/unknown/unknown-types.d.ts +1 -7
- package/esm/oas/unknown/unknown-types.d.ts.map +1 -1
- package/esm/types/CustomValue.d.ts +58 -0
- package/esm/types/CustomValue.d.ts.map +1 -1
- package/esm/types/CustomValue.js +58 -0
- package/esm/types/DenoJson.d.ts +24 -0
- package/esm/types/DenoJson.d.ts.map +1 -1
- package/esm/types/DenoJson.js +12 -0
- package/esm/types/Enrichments.d.ts +103 -0
- package/esm/types/Enrichments.d.ts.map +1 -1
- package/esm/types/Enrichments.js +52 -0
- package/esm/types/GeneratedValue.d.ts +17 -0
- package/esm/types/GeneratedValue.d.ts.map +1 -1
- package/esm/types/Logger.d.ts +9 -0
- package/esm/types/Logger.d.ts.map +1 -0
- package/esm/types/Logger.js +1 -0
- package/esm/types/Preview.d.ts +37 -0
- package/esm/types/Preview.d.ts.map +1 -1
- package/esm/types/Preview.js +37 -0
- package/esm/types/Settings.d.ts +35 -0
- package/esm/types/Settings.d.ts.map +1 -1
- package/esm/types/Settings.js +27 -0
- package/esm/typescript/FunctionParameter.d.ts +4 -4
- package/esm/typescript/FunctionParameter.d.ts.map +1 -1
- package/esm/typescript/List.d.ts +40 -2
- package/esm/typescript/List.d.ts.map +1 -1
- package/esm/typescript/List.js +32 -0
- package/package.json +1 -1
- package/script/context/CoreContext.d.ts +2 -2
- package/script/context/CoreContext.d.ts.map +1 -1
- package/script/context/GenerateContext.d.ts +16 -3
- package/script/context/GenerateContext.d.ts.map +1 -1
- package/script/context/ParseContext.d.ts +3 -3
- package/script/context/ParseContext.d.ts.map +1 -1
- package/script/context/RenderContext.d.ts +153 -1
- package/script/context/RenderContext.d.ts.map +1 -1
- package/script/context/RenderContext.js +179 -0
- package/script/context/types.d.ts +30 -0
- package/script/context/types.d.ts.map +1 -1
- package/script/dsl/model/ModelBase.d.ts +1 -1
- package/script/dsl/model/ModelBase.d.ts.map +1 -1
- package/script/dsl/model/ModelDriver.d.ts +62 -0
- package/script/dsl/model/ModelDriver.d.ts.map +1 -1
- package/script/dsl/model/ModelDriver.js +63 -1
- package/script/dsl/model/toModelBase.d.ts +66 -0
- package/script/dsl/model/toModelBase.d.ts.map +1 -1
- package/script/dsl/model/toModelBase.js +46 -0
- package/script/dsl/model/toModelEntry.d.ts +63 -0
- package/script/dsl/model/toModelEntry.d.ts.map +1 -1
- package/script/dsl/model/toModelEntry.js +63 -0
- package/script/dsl/operation/OperationBase.d.ts +3 -3
- package/script/dsl/operation/OperationBase.d.ts.map +1 -1
- package/script/dsl/operation/OperationDriver.d.ts +84 -0
- package/script/dsl/operation/OperationDriver.d.ts.map +1 -1
- package/script/dsl/operation/OperationDriver.js +85 -1
- package/script/dsl/operation/toOperationBase.d.ts +58 -0
- package/script/dsl/operation/toOperationBase.d.ts.map +1 -1
- package/script/dsl/operation/toOperationBase.js +46 -0
- package/script/dsl/operation/toOperationEntry.d.ts +37 -0
- package/script/dsl/operation/toOperationEntry.d.ts.map +1 -1
- package/script/dsl/operation/toOperationEntry.js +28 -0
- package/script/helpers/isEmpty.d.ts +1 -1
- package/script/helpers/isEmpty.d.ts.map +1 -1
- package/script/helpers/tracer.d.ts +1 -1
- package/script/helpers/tracer.d.ts.map +1 -1
- package/script/helpers/tracer.js +1 -1
- package/script/mod.d.ts +52 -0
- package/script/mod.d.ts.map +1 -1
- package/script/mod.js +52 -0
- package/script/oas/array/Array.d.ts +26 -0
- package/script/oas/array/Array.d.ts.map +1 -1
- package/script/oas/array/Array.js +26 -0
- package/script/oas/array/array-types.d.ts +32 -11
- package/script/oas/array/array-types.d.ts.map +1 -1
- package/script/oas/array/array-types.js +17 -1
- package/script/oas/array/toArray.d.ts +111 -0
- package/script/oas/array/toArray.d.ts.map +1 -1
- package/script/oas/array/toArray.js +114 -2
- package/script/oas/boolean/Boolean.d.ts +26 -0
- package/script/oas/boolean/Boolean.d.ts.map +1 -1
- package/script/oas/boolean/Boolean.js +26 -0
- package/script/oas/boolean/boolean-types.d.ts +1 -7
- package/script/oas/boolean/boolean-types.d.ts.map +1 -1
- package/script/oas/boolean/toBoolean.d.ts +57 -0
- package/script/oas/boolean/toBoolean.d.ts.map +1 -1
- package/script/oas/boolean/toBoolean.js +57 -0
- package/script/oas/components/components-types.d.ts +19 -0
- package/script/oas/components/components-types.d.ts.map +1 -0
- package/script/oas/components/components-types.js +57 -0
- package/script/oas/contact/contact-types.d.ts +9 -0
- package/script/oas/contact/contact-types.d.ts.map +1 -0
- package/script/oas/contact/contact-types.js +43 -0
- package/script/oas/discriminator/discriminator-types.d.ts +1 -5
- package/script/oas/discriminator/discriminator-types.d.ts.map +1 -1
- package/script/oas/document/document-types.d.ts +16 -0
- package/script/oas/document/document-types.d.ts.map +1 -0
- package/script/oas/document/document-types.js +54 -0
- package/script/oas/example/example-types.d.ts +1 -6
- package/script/oas/example/example-types.d.ts.map +1 -1
- package/script/oas/header/header-types.d.ts +50 -0
- package/script/oas/header/header-types.d.ts.map +1 -0
- package/script/oas/header/header-types.js +66 -0
- package/script/oas/info/info-types.d.ts +14 -0
- package/script/oas/info/info-types.d.ts.map +1 -0
- package/script/oas/info/info-types.js +49 -0
- package/script/oas/integer/integer-types.d.ts +3 -17
- package/script/oas/integer/integer-types.d.ts.map +1 -1
- package/script/oas/license/license-types.d.ts +9 -0
- package/script/oas/license/license-types.d.ts.map +1 -0
- package/script/oas/license/license-types.js +43 -0
- package/script/oas/mediaType/mediaType-types.d.ts +1 -11
- package/script/oas/mediaType/mediaType-types.d.ts.map +1 -1
- package/script/oas/number/number-types.d.ts +2 -16
- package/script/oas/number/number-types.d.ts.map +1 -1
- package/script/oas/number/toNumber.d.ts +62 -0
- package/script/oas/number/toNumber.d.ts.map +1 -1
- package/script/oas/number/toNumber.js +62 -0
- package/script/oas/operation/operation-types.d.ts +22 -0
- package/script/oas/operation/operation-types.d.ts.map +1 -0
- package/script/oas/operation/operation-types.js +71 -0
- package/script/oas/parameter/Parameter.d.ts +47 -0
- package/script/oas/parameter/Parameter.d.ts.map +1 -1
- package/script/oas/parameter/Parameter.js +47 -0
- package/script/oas/parameter/parameter-types.d.ts +3 -58
- package/script/oas/parameter/parameter-types.d.ts.map +1 -1
- package/script/oas/pathItem/pathItem-types.d.ts +12 -0
- package/script/oas/pathItem/pathItem-types.d.ts.map +1 -0
- package/script/oas/pathItem/pathItem-types.js +48 -0
- package/script/oas/requestBody/requestBody-types.d.ts +10 -0
- package/script/oas/requestBody/requestBody-types.d.ts.map +1 -0
- package/script/oas/requestBody/requestBody-types.js +45 -0
- package/script/oas/response/response-types.d.ts +12 -0
- package/script/oas/response/response-types.d.ts.map +1 -0
- package/script/oas/response/response-types.js +47 -0
- package/script/oas/schema/toSchemasV3.js +2 -2
- package/script/oas/server/toServerV3.d.ts.map +1 -1
- package/script/oas/string/string-types.d.ts +2 -29
- package/script/oas/string/string-types.d.ts.map +1 -1
- package/script/oas/string/toString.d.ts +125 -1
- package/script/oas/string/toString.d.ts.map +1 -1
- package/script/oas/string/toString.js +119 -0
- package/script/oas/tag/tag-types.d.ts +8 -0
- package/script/oas/tag/tag-types.d.ts.map +1 -0
- package/script/oas/tag/tag-types.js +44 -0
- package/script/oas/union/union-types.d.ts +1 -12
- package/script/oas/union/union-types.d.ts.map +1 -1
- package/script/oas/unknown/unknown-types.d.ts +1 -7
- package/script/oas/unknown/unknown-types.d.ts.map +1 -1
- package/script/types/CustomValue.d.ts +58 -0
- package/script/types/CustomValue.d.ts.map +1 -1
- package/script/types/CustomValue.js +58 -0
- package/script/types/DenoJson.d.ts +24 -0
- package/script/types/DenoJson.d.ts.map +1 -1
- package/script/types/DenoJson.js +12 -0
- package/script/types/Enrichments.d.ts +103 -0
- package/script/types/Enrichments.d.ts.map +1 -1
- package/script/types/Enrichments.js +52 -0
- package/script/types/GeneratedValue.d.ts +17 -0
- package/script/types/GeneratedValue.d.ts.map +1 -1
- package/script/types/Logger.d.ts +9 -0
- package/script/types/Logger.d.ts.map +1 -0
- package/script/types/Logger.js +2 -0
- package/script/types/Preview.d.ts +37 -0
- package/script/types/Preview.d.ts.map +1 -1
- package/script/types/Preview.js +37 -0
- package/script/types/Settings.d.ts +35 -0
- package/script/types/Settings.d.ts.map +1 -1
- package/script/types/Settings.js +27 -0
- package/script/typescript/FunctionParameter.d.ts +4 -4
- package/script/typescript/FunctionParameter.d.ts.map +1 -1
- package/script/typescript/List.d.ts +40 -2
- package/script/typescript/List.d.ts.map +1 -1
- package/script/typescript/List.js +32 -0
|
@@ -5,13 +5,7 @@ import * as v from 'valibot';
|
|
|
5
5
|
* Validates boolean schemas including default values and enumeration
|
|
6
6
|
* constraints. Boolean enums typically contain [true, false] or single values.
|
|
7
7
|
*/
|
|
8
|
-
export declare const oasBooleanData: v.
|
|
9
|
-
readonly type: v.LiteralSchema<"boolean", undefined>;
|
|
10
|
-
readonly title: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
11
|
-
readonly description: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
12
|
-
readonly default: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
|
|
13
|
-
readonly enum: v.OptionalSchema<v.ArraySchema<v.BooleanSchema<undefined>, undefined>, undefined>;
|
|
14
|
-
}, undefined>;
|
|
8
|
+
export declare const oasBooleanData: v.GenericSchema<OasBooleanData>;
|
|
15
9
|
/**
|
|
16
10
|
* Data type for OpenAPI boolean schema objects.
|
|
17
11
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"boolean-types.d.ts","sourceRoot":"","sources":["../../../src/oas/boolean/boolean-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAE5B;;;;;GAKG;AACH,eAAO,MAAM,cAAc
|
|
1
|
+
{"version":3,"file":"boolean-types.d.ts","sourceRoot":"","sources":["../../../src/oas/boolean/boolean-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAE5B;;;;;GAKG;AACH,eAAO,MAAM,cAAc,EAAE,CAAC,CAAC,aAAa,CAAC,cAAc,CAMzD,CAAA;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,yCAAyC;IACzC,IAAI,EAAE,SAAS,CAAA;IACf,2CAA2C;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,oDAAoD;IACpD,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,oCAAoC;IACpC,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,kFAAkF;IAClF,IAAI,CAAC,EAAE,OAAO,EAAE,CAAA;CACjB,CAAA"}
|
|
@@ -5,6 +5,63 @@ type ToBooleanArgs = {
|
|
|
5
5
|
value: OpenAPIV3.SchemaObject;
|
|
6
6
|
context: ParseContext;
|
|
7
7
|
};
|
|
8
|
+
/**
|
|
9
|
+
* Transforms an OpenAPI v3 boolean schema object into an internal OAS boolean representation.
|
|
10
|
+
*
|
|
11
|
+
* This function processes OpenAPI boolean schemas by extracting and parsing nullable values,
|
|
12
|
+
* examples, enumerations, and default values. It handles the complete transformation from
|
|
13
|
+
* raw OpenAPI JSON to the SKMTC internal boolean representation with proper validation.
|
|
14
|
+
*
|
|
15
|
+
* The transformation follows a pipeline approach:
|
|
16
|
+
* 1. Parse nullable flag and extract base value
|
|
17
|
+
* 2. Parse example values with nullable support
|
|
18
|
+
* 3. Parse enumeration constraints (typically [true], [false], or [true, false])
|
|
19
|
+
* 4. Parse default values
|
|
20
|
+
* 5. Create final OasBoolean instance
|
|
21
|
+
*
|
|
22
|
+
* @param args - Transformation arguments
|
|
23
|
+
* @param args.value - The OpenAPI v3 boolean schema object to transform
|
|
24
|
+
* @param args.context - Parse context providing utilities and tracing
|
|
25
|
+
* @returns Transformed OAS boolean object with parsed properties
|
|
26
|
+
*
|
|
27
|
+
* @example Basic boolean transformation
|
|
28
|
+
* ```typescript
|
|
29
|
+
* import { toBoolean } from '@skmtc/core';
|
|
30
|
+
*
|
|
31
|
+
* const openApiBoolean = {
|
|
32
|
+
* type: 'boolean',
|
|
33
|
+
* default: false
|
|
34
|
+
* };
|
|
35
|
+
*
|
|
36
|
+
* const oasBoolean = toBoolean({
|
|
37
|
+
* value: openApiBoolean,
|
|
38
|
+
* context: parseContext
|
|
39
|
+
* });
|
|
40
|
+
*
|
|
41
|
+
* console.log(oasBoolean.default); // false
|
|
42
|
+
* ```
|
|
43
|
+
*
|
|
44
|
+
* @example Boolean with nullable and enum
|
|
45
|
+
* ```typescript
|
|
46
|
+
* const flagBoolean = {
|
|
47
|
+
* type: 'boolean',
|
|
48
|
+
* nullable: true,
|
|
49
|
+
* enum: [true, null],
|
|
50
|
+
* default: null,
|
|
51
|
+
* example: true,
|
|
52
|
+
* title: 'Feature Flag',
|
|
53
|
+
* description: 'Whether the feature is enabled'
|
|
54
|
+
* };
|
|
55
|
+
*
|
|
56
|
+
* const oasBoolean = toBoolean({
|
|
57
|
+
* value: flagBoolean,
|
|
58
|
+
* context: parseContext
|
|
59
|
+
* });
|
|
60
|
+
*
|
|
61
|
+
* console.log(oasBoolean.nullable); // true
|
|
62
|
+
* console.log(oasBoolean.enums); // [true, null]
|
|
63
|
+
* ```
|
|
64
|
+
*/
|
|
8
65
|
export declare const toBoolean: ({ value, context }: ToBooleanArgs) => OasBoolean;
|
|
9
66
|
type ToParsedBooleanArgs<Nullable extends boolean | undefined> = {
|
|
10
67
|
value: Omit<OpenAPIV3.SchemaObject, 'nullable' | 'example' | 'enums'>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toBoolean.d.ts","sourceRoot":"","sources":["../../../src/oas/boolean/toBoolean.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAA;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AASzC,KAAK,aAAa,GAAG;IACnB,KAAK,EAAE,SAAS,CAAC,YAAY,CAAA;IAC7B,OAAO,EAAE,YAAY,CAAA;CACtB,CAAA;AAED,eAAO,MAAM,SAAS,GAAI,oBAAoB,aAAa,KAAG,UAmC7D,CAAA;AAED,KAAK,mBAAmB,CAAC,QAAQ,SAAS,OAAO,GAAG,SAAS,IAAI;IAC/D,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,UAAU,GAAG,SAAS,GAAG,OAAO,CAAC,CAAA;IACrE,OAAO,EAAE,YAAY,CAAA;IACrB,QAAQ,EAAE,QAAQ,CAAA;IAClB,OAAO,EAAE,QAAQ,SAAS,IAAI,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,CAAA;IACjF,KAAK,EAAE,QAAQ,SAAS,IAAI,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,EAAE,GAAG,SAAS,GAAG,OAAO,EAAE,GAAG,SAAS,CAAA;IACrF,YAAY,EAAE,QAAQ,SAAS,IAAI,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,CAAA;CACvF,CAAA;AAED,eAAO,MAAM,eAAe,GAAI,QAAQ,SAAS,OAAO,GAAG,SAAS,EAAE,4DAOnE,mBAAmB,CAAC,QAAQ,CAAC,KAAG,UAAU,CAAC,QAAQ,CAmBrD,CAAA"}
|
|
1
|
+
{"version":3,"file":"toBoolean.d.ts","sourceRoot":"","sources":["../../../src/oas/boolean/toBoolean.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAA;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AASzC,KAAK,aAAa,GAAG;IACnB,KAAK,EAAE,SAAS,CAAC,YAAY,CAAA;IAC7B,OAAO,EAAE,YAAY,CAAA;CACtB,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwDG;AACH,eAAO,MAAM,SAAS,GAAI,oBAAoB,aAAa,KAAG,UAmC7D,CAAA;AAED,KAAK,mBAAmB,CAAC,QAAQ,SAAS,OAAO,GAAG,SAAS,IAAI;IAC/D,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,UAAU,GAAG,SAAS,GAAG,OAAO,CAAC,CAAA;IACrE,OAAO,EAAE,YAAY,CAAA;IACrB,QAAQ,EAAE,QAAQ,CAAA;IAClB,OAAO,EAAE,QAAQ,SAAS,IAAI,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,CAAA;IACjF,KAAK,EAAE,QAAQ,SAAS,IAAI,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,EAAE,GAAG,SAAS,GAAG,OAAO,EAAE,GAAG,SAAS,CAAA;IACrF,YAAY,EAAE,QAAQ,SAAS,IAAI,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,CAAA;CACvF,CAAA;AAED,eAAO,MAAM,eAAe,GAAI,QAAQ,SAAS,OAAO,GAAG,SAAS,EAAE,4DAOnE,mBAAmB,CAAC,QAAQ,CAAC,KAAG,UAAU,CAAC,QAAQ,CAmBrD,CAAA"}
|
|
@@ -6,6 +6,63 @@ import { parseNullable } from '../_helpers/parseNullable.js';
|
|
|
6
6
|
import { parseExample } from '../_helpers/parseExample.js';
|
|
7
7
|
import { parseEnum } from '../_helpers/parseEnum.js';
|
|
8
8
|
import { parseDefault } from '../_helpers/parseDefault.js';
|
|
9
|
+
/**
|
|
10
|
+
* Transforms an OpenAPI v3 boolean schema object into an internal OAS boolean representation.
|
|
11
|
+
*
|
|
12
|
+
* This function processes OpenAPI boolean schemas by extracting and parsing nullable values,
|
|
13
|
+
* examples, enumerations, and default values. It handles the complete transformation from
|
|
14
|
+
* raw OpenAPI JSON to the SKMTC internal boolean representation with proper validation.
|
|
15
|
+
*
|
|
16
|
+
* The transformation follows a pipeline approach:
|
|
17
|
+
* 1. Parse nullable flag and extract base value
|
|
18
|
+
* 2. Parse example values with nullable support
|
|
19
|
+
* 3. Parse enumeration constraints (typically [true], [false], or [true, false])
|
|
20
|
+
* 4. Parse default values
|
|
21
|
+
* 5. Create final OasBoolean instance
|
|
22
|
+
*
|
|
23
|
+
* @param args - Transformation arguments
|
|
24
|
+
* @param args.value - The OpenAPI v3 boolean schema object to transform
|
|
25
|
+
* @param args.context - Parse context providing utilities and tracing
|
|
26
|
+
* @returns Transformed OAS boolean object with parsed properties
|
|
27
|
+
*
|
|
28
|
+
* @example Basic boolean transformation
|
|
29
|
+
* ```typescript
|
|
30
|
+
* import { toBoolean } from '@skmtc/core';
|
|
31
|
+
*
|
|
32
|
+
* const openApiBoolean = {
|
|
33
|
+
* type: 'boolean',
|
|
34
|
+
* default: false
|
|
35
|
+
* };
|
|
36
|
+
*
|
|
37
|
+
* const oasBoolean = toBoolean({
|
|
38
|
+
* value: openApiBoolean,
|
|
39
|
+
* context: parseContext
|
|
40
|
+
* });
|
|
41
|
+
*
|
|
42
|
+
* console.log(oasBoolean.default); // false
|
|
43
|
+
* ```
|
|
44
|
+
*
|
|
45
|
+
* @example Boolean with nullable and enum
|
|
46
|
+
* ```typescript
|
|
47
|
+
* const flagBoolean = {
|
|
48
|
+
* type: 'boolean',
|
|
49
|
+
* nullable: true,
|
|
50
|
+
* enum: [true, null],
|
|
51
|
+
* default: null,
|
|
52
|
+
* example: true,
|
|
53
|
+
* title: 'Feature Flag',
|
|
54
|
+
* description: 'Whether the feature is enabled'
|
|
55
|
+
* };
|
|
56
|
+
*
|
|
57
|
+
* const oasBoolean = toBoolean({
|
|
58
|
+
* value: flagBoolean,
|
|
59
|
+
* context: parseContext
|
|
60
|
+
* });
|
|
61
|
+
*
|
|
62
|
+
* console.log(oasBoolean.nullable); // true
|
|
63
|
+
* console.log(oasBoolean.enums); // [true, null]
|
|
64
|
+
* ```
|
|
65
|
+
*/
|
|
9
66
|
export const toBoolean = ({ value, context }) => {
|
|
10
67
|
const { nullable, value: valueWithoutNullable } = parseNullable({
|
|
11
68
|
value,
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { type OasExampleData } from '../example/example-types.js';
|
|
2
|
+
import { type OasHeaderData } from '../header/header-types.js';
|
|
3
|
+
import { type OasParameterData } from '../parameter/parameter-types.js';
|
|
4
|
+
import type { OasExampleRefData, OasHeaderRefData, OasParameterRefData, OasRequestBodyRefData, OasResponseRefData, OasSchemaRefData } from '../ref/ref-types.js';
|
|
5
|
+
import { type OasRequestBodyData } from '../requestBody/requestBody-types.js';
|
|
6
|
+
import { type OasResponseData } from '../response/response-types.js';
|
|
7
|
+
import { type OasSchemaData } from '../schema/schema-types.js';
|
|
8
|
+
import * as v from 'valibot';
|
|
9
|
+
export type OasComponentsData = {
|
|
10
|
+
oasType: 'components';
|
|
11
|
+
schemas?: Record<string, OasSchemaData | OasSchemaRefData>;
|
|
12
|
+
responses?: Record<string, OasResponseData | OasResponseRefData>;
|
|
13
|
+
parameters?: Record<string, OasParameterData | OasParameterRefData>;
|
|
14
|
+
examples?: Record<string, OasExampleData | OasExampleRefData>;
|
|
15
|
+
requestBodies?: Record<string, OasRequestBodyData | OasRequestBodyRefData>;
|
|
16
|
+
headers?: Record<string, OasHeaderData | OasHeaderRefData>;
|
|
17
|
+
};
|
|
18
|
+
export declare const oasComponentsData: v.GenericSchema<OasComponentsData>;
|
|
19
|
+
//# sourceMappingURL=components-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"components-types.d.ts","sourceRoot":"","sources":["../../../src/oas/components/components-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAkB,MAAM,6BAA6B,CAAA;AACjF,OAAO,EAAE,KAAK,aAAa,EAAiB,MAAM,2BAA2B,CAAA;AAC7E,OAAO,EAAE,KAAK,gBAAgB,EAAoB,MAAM,iCAAiC,CAAA;AACzF,OAAO,KAAK,EACV,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,EACnB,qBAAqB,EACrB,kBAAkB,EAClB,gBAAgB,EACjB,MAAM,qBAAqB,CAAA;AAS5B,OAAO,EAAE,KAAK,kBAAkB,EAAsB,MAAM,qCAAqC,CAAA;AACjG,OAAO,EAAE,KAAK,eAAe,EAAmB,MAAM,+BAA+B,CAAA;AACrF,OAAO,EAAE,KAAK,aAAa,EAAiB,MAAM,2BAA2B,CAAA;AAC7E,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAE5B,MAAM,MAAM,iBAAiB,GAAG;IAC9B,OAAO,EAAE,YAAY,CAAA;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,GAAG,gBAAgB,CAAC,CAAA;IAC1D,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,GAAG,kBAAkB,CAAC,CAAA;IAChE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,GAAG,mBAAmB,CAAC,CAAA;IACnE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,GAAG,iBAAiB,CAAC,CAAA;IAC7D,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,GAAG,qBAAqB,CAAC,CAAA;IAC1E,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,GAAG,gBAAgB,CAAC,CAAA;CAC3D,CAAA;AAED,eAAO,MAAM,iBAAiB,EAAE,CAAC,CAAC,aAAa,CAAC,iBAAiB,CAc/D,CAAA"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { oasExampleData } from '../example/example-types.js';
|
|
2
|
+
import { oasHeaderData } from '../header/header-types.js';
|
|
3
|
+
import { oasParameterData } from '../parameter/parameter-types.js';
|
|
4
|
+
import { oasExampleRefData, oasHeaderRefData, oasParameterRefData, oasRequestBodyRefData, oasResponseRefData, oasSchemaRefData } from '../ref/ref-types.js';
|
|
5
|
+
import { oasRequestBodyData } from '../requestBody/requestBody-types.js';
|
|
6
|
+
import { oasResponseData } from '../response/response-types.js';
|
|
7
|
+
import { oasSchemaData } from '../schema/schema-types.js';
|
|
8
|
+
import * as v from 'valibot';
|
|
9
|
+
export const oasComponentsData = v.object({
|
|
10
|
+
oasType: v.literal('components'),
|
|
11
|
+
schemas: v.optional(v.record(v.string(), v.union([oasSchemaData, oasSchemaRefData]))),
|
|
12
|
+
responses: v.optional(v.record(v.string(), v.union([oasResponseData, oasResponseRefData]))),
|
|
13
|
+
parameters: v.optional(v.record(v.string(), v.union([oasParameterData, oasParameterRefData]))),
|
|
14
|
+
examples: v.optional(v.record(v.string(), v.union([oasExampleData, oasExampleRefData]))),
|
|
15
|
+
requestBodies: v.optional(v.record(v.string(), v.union([oasRequestBodyData, oasRequestBodyRefData]))),
|
|
16
|
+
headers: v.optional(v.record(v.string(), v.union([oasHeaderData, oasHeaderRefData])))
|
|
17
|
+
// securitySchemes: z.record(z.union([securityScheme, ref])),
|
|
18
|
+
// links: z.record(z.union([link, ref])),
|
|
19
|
+
// callbacks: z.never(),
|
|
20
|
+
// pathItems: z.record(z.union([oasPathItemData, oasPathItemRefData])).optional()
|
|
21
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contact-types.d.ts","sourceRoot":"","sources":["../../../src/oas/contact/contact-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAE5B,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,EAAE,SAAS,CAAA;IAClB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED,eAAO,MAAM,cAAc,EAAE,CAAC,CAAC,aAAa,CAAC,cAAc,CAKzD,CAAA"}
|
|
@@ -21,9 +21,5 @@ export type OasDiscriminatorData = {
|
|
|
21
21
|
* and optional value-to-schema mappings. Used to ensure discriminator
|
|
22
22
|
* objects conform to OpenAPI specification requirements.
|
|
23
23
|
*/
|
|
24
|
-
export declare const oasDiscriminatorData: v.
|
|
25
|
-
readonly oasType: v.LiteralSchema<"discriminator", undefined>;
|
|
26
|
-
readonly propertyName: v.StringSchema<undefined>;
|
|
27
|
-
readonly mapping: v.OptionalSchema<v.RecordSchema<v.StringSchema<undefined>, v.StringSchema<undefined>, undefined>, undefined>;
|
|
28
|
-
}, undefined>;
|
|
24
|
+
export declare const oasDiscriminatorData: v.GenericSchema<OasDiscriminatorData>;
|
|
29
25
|
//# sourceMappingURL=discriminator-types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discriminator-types.d.ts","sourceRoot":"","sources":["../../../src/oas/discriminator/discriminator-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAE5B;;;;;;GAMG;AACH,MAAM,MAAM,oBAAoB,GAAG;IACjC,yDAAyD;IACzD,OAAO,EAAE,eAAe,CAAA;IACxB,iEAAiE;IACjE,YAAY,EAAE,MAAM,CAAA;IACpB,4DAA4D;IAC5D,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACjC,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB
|
|
1
|
+
{"version":3,"file":"discriminator-types.d.ts","sourceRoot":"","sources":["../../../src/oas/discriminator/discriminator-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAE5B;;;;;;GAMG;AACH,MAAM,MAAM,oBAAoB,GAAG;IACjC,yDAAyD;IACzD,OAAO,EAAE,eAAe,CAAA;IACxB,iEAAiE;IACjE,YAAY,EAAE,MAAM,CAAA;IACpB,4DAA4D;IAC5D,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACjC,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,EAAE,CAAC,CAAC,aAAa,CAAC,oBAAoB,CAIrE,CAAA"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { type OasTagData } from '../tag/tag-types.js';
|
|
2
|
+
import { type OasOperationData } from '../operation/operation-types.js';
|
|
3
|
+
import * as v from 'valibot';
|
|
4
|
+
import { type OasComponentsData } from '../components/components-types.js';
|
|
5
|
+
import { type OasInfoData } from '../info/info-types.js';
|
|
6
|
+
export type OasDocumentData = {
|
|
7
|
+
oasType: 'openapi';
|
|
8
|
+
openapi: string;
|
|
9
|
+
info: OasInfoData;
|
|
10
|
+
jsonSchemaDialect?: string;
|
|
11
|
+
operations: OasOperationData[];
|
|
12
|
+
components?: OasComponentsData;
|
|
13
|
+
tags?: OasTagData[];
|
|
14
|
+
};
|
|
15
|
+
export declare const oasDocumentData: v.GenericSchema<OasDocumentData>;
|
|
16
|
+
//# sourceMappingURL=document-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"document-types.d.ts","sourceRoot":"","sources":["../../../src/oas/document/document-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAc,MAAM,qBAAqB,CAAA;AACjE,OAAO,EAAE,KAAK,gBAAgB,EAAoB,MAAM,iCAAiC,CAAA;AACzF,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAC5B,OAAO,EAAE,KAAK,iBAAiB,EAAqB,MAAM,mCAAmC,CAAA;AAC7F,OAAO,EAAE,KAAK,WAAW,EAAe,MAAM,uBAAuB,CAAA;AAErE,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,EAAE,SAAS,CAAA;IAClB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,WAAW,CAAA;IACjB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAE1B,UAAU,EAAE,gBAAgB,EAAE,CAAA;IAE9B,UAAU,CAAC,EAAE,iBAAiB,CAAA;IAE9B,IAAI,CAAC,EAAE,UAAU,EAAE,CAAA;CACpB,CAAA;AAED,eAAO,MAAM,eAAe,EAAE,CAAC,CAAC,aAAa,CAAC,eAAe,CAY3D,CAAA"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { oasTagData } from '../tag/tag-types.js';
|
|
2
|
+
import { oasOperationData } from '../operation/operation-types.js';
|
|
3
|
+
import * as v from 'valibot';
|
|
4
|
+
import { oasComponentsData } from '../components/components-types.js';
|
|
5
|
+
import { oasInfoData } from '../info/info-types.js';
|
|
6
|
+
export const oasDocumentData = v.object({
|
|
7
|
+
oasType: v.literal('openapi'),
|
|
8
|
+
openapi: v.string(),
|
|
9
|
+
info: oasInfoData,
|
|
10
|
+
jsonSchemaDialect: v.optional(v.string()),
|
|
11
|
+
// servers: z.array(server).optional(),
|
|
12
|
+
operations: v.array(oasOperationData),
|
|
13
|
+
// webhooks: z.record(z.union([pathItem, ref])).optional(),
|
|
14
|
+
components: v.optional(oasComponentsData),
|
|
15
|
+
// security: z.never(),
|
|
16
|
+
tags: v.optional(v.array(oasTagData))
|
|
17
|
+
// externalDocs: externalDocs.optional()
|
|
18
|
+
});
|
|
@@ -5,10 +5,5 @@ export type OasExampleData = {
|
|
|
5
5
|
description?: string;
|
|
6
6
|
value?: unknown;
|
|
7
7
|
};
|
|
8
|
-
export declare const oasExampleData: v.
|
|
9
|
-
readonly oasType: v.LiteralSchema<"example", undefined>;
|
|
10
|
-
readonly summary: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
11
|
-
readonly description: v.OptionalSchema<v.GenericSchema<string>, undefined>;
|
|
12
|
-
readonly value: v.OptionalSchema<v.UnknownSchema, undefined>;
|
|
13
|
-
}, undefined>;
|
|
8
|
+
export declare const oasExampleData: v.GenericSchema<OasExampleData>;
|
|
14
9
|
//# sourceMappingURL=example-types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"example-types.d.ts","sourceRoot":"","sources":["../../../src/oas/example/example-types.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAE5B,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,EAAE,SAAS,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,KAAK,CAAC,EAAE,OAAO,CAAA;CAEhB,CAAA;AAED,eAAO,MAAM,cAAc
|
|
1
|
+
{"version":3,"file":"example-types.d.ts","sourceRoot":"","sources":["../../../src/oas/example/example-types.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAE5B,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,EAAE,SAAS,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,KAAK,CAAC,EAAE,OAAO,CAAA;CAEhB,CAAA;AAED,eAAO,MAAM,cAAc,EAAE,CAAC,CAAC,aAAa,CAAC,cAAc,CAMzD,CAAA"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { type OasExampleData } from '../example/example-types.js';
|
|
2
|
+
import { type OasMediaTypeData } from '../mediaType/mediaType-types.js';
|
|
3
|
+
import { type OasExampleRefData, type OasSchemaRefData } from '../ref/ref-types.js';
|
|
4
|
+
import { type OasSchemaData } from '../schema/schema-types.js';
|
|
5
|
+
import * as v from 'valibot';
|
|
6
|
+
/**
|
|
7
|
+
* Data type for OpenAPI header objects in the SKMTC internal representation.
|
|
8
|
+
*
|
|
9
|
+
* Represents HTTP headers in OpenAPI specifications, including validation
|
|
10
|
+
* rules, examples, and serialization parameters. Headers are used in
|
|
11
|
+
* responses and can include complex schemas and multiple examples.
|
|
12
|
+
*/
|
|
13
|
+
export type OasHeaderData = {
|
|
14
|
+
/** Type identifier for OAS header objects */
|
|
15
|
+
oasType: 'header';
|
|
16
|
+
/** Human-readable description of the header */
|
|
17
|
+
description?: string;
|
|
18
|
+
/** Whether the header is required */
|
|
19
|
+
required?: boolean;
|
|
20
|
+
/** Whether the header is deprecated */
|
|
21
|
+
deprecated?: boolean;
|
|
22
|
+
/** Whether empty values are allowed for the header */
|
|
23
|
+
allowEmptyValue?: boolean;
|
|
24
|
+
/** Schema definition for the header value */
|
|
25
|
+
schema?: OasSchemaData | OasSchemaRefData;
|
|
26
|
+
/** Named examples for the header value */
|
|
27
|
+
examples?: Record<string, OasExampleData | OasExampleRefData>;
|
|
28
|
+
/** Media type definitions for complex header content */
|
|
29
|
+
content?: Record<string, OasMediaTypeData>;
|
|
30
|
+
/** Serialization style (always 'simple' for headers) */
|
|
31
|
+
style?: OasHeaderStyle;
|
|
32
|
+
/** Whether to explode parameter values */
|
|
33
|
+
explode?: boolean;
|
|
34
|
+
};
|
|
35
|
+
/**
|
|
36
|
+
* Valid serialization styles for OpenAPI headers.
|
|
37
|
+
*
|
|
38
|
+
* Headers can only use the 'simple' serialization style according to
|
|
39
|
+
* the OpenAPI specification.
|
|
40
|
+
*/
|
|
41
|
+
export type OasHeaderStyle = 'simple';
|
|
42
|
+
/**
|
|
43
|
+
* Valibot schema for validating OAS header data structures.
|
|
44
|
+
*
|
|
45
|
+
* Validates the structure and content of OpenAPI header objects,
|
|
46
|
+
* ensuring proper types for all fields including nested schemas,
|
|
47
|
+
* examples, and content definitions.
|
|
48
|
+
*/
|
|
49
|
+
export declare const oasHeaderData: v.GenericSchema<OasHeaderData>;
|
|
50
|
+
//# sourceMappingURL=header-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"header-types.d.ts","sourceRoot":"","sources":["../../../src/oas/header/header-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAkB,MAAM,6BAA6B,CAAA;AAEjF,OAAO,EAAE,KAAK,gBAAgB,EAAoB,MAAM,iCAAiC,CAAA;AACzF,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EAGtB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,KAAK,aAAa,EAAiB,MAAM,2BAA2B,CAAA;AAC7E,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAE5B;;;;;;GAMG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,6CAA6C;IAC7C,OAAO,EAAE,QAAQ,CAAA;IACjB,+CAA+C;IAC/C,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,qCAAqC;IACrC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,uCAAuC;IACvC,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,sDAAsD;IACtD,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,6CAA6C;IAC7C,MAAM,CAAC,EAAE,aAAa,GAAG,gBAAgB,CAAA;IACzC,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,GAAG,iBAAiB,CAAC,CAAA;IAC7D,wDAAwD;IACxD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;IAC1C,wDAAwD;IACxD,KAAK,CAAC,EAAE,cAAc,CAAA;IACtB,0CAA0C;IAC1C,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,CAAA;AAID;;;;;GAKG;AACH,MAAM,MAAM,cAAc,GAAG,QAAQ,CAAA;AAErC;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,EAAE,CAAC,CAAC,aAAa,CAAC,aAAa,CAcvD,CAAA"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { oasExampleData } from '../example/example-types.js';
|
|
2
|
+
import { markdown } from '../markdown/markdown-types.js';
|
|
3
|
+
import { oasMediaTypeData } from '../mediaType/mediaType-types.js';
|
|
4
|
+
import { oasExampleRefData, oasSchemaRefData } from '../ref/ref-types.js';
|
|
5
|
+
import { oasSchemaData } from '../schema/schema-types.js';
|
|
6
|
+
import * as v from 'valibot';
|
|
7
|
+
const oasHeaderStyle = v.literal('simple');
|
|
8
|
+
/**
|
|
9
|
+
* Valibot schema for validating OAS header data structures.
|
|
10
|
+
*
|
|
11
|
+
* Validates the structure and content of OpenAPI header objects,
|
|
12
|
+
* ensuring proper types for all fields including nested schemas,
|
|
13
|
+
* examples, and content definitions.
|
|
14
|
+
*/
|
|
15
|
+
export const oasHeaderData = v.object({
|
|
16
|
+
oasType: v.literal('header'),
|
|
17
|
+
description: v.optional(markdown),
|
|
18
|
+
required: v.optional(v.boolean()),
|
|
19
|
+
deprecated: v.optional(v.boolean()),
|
|
20
|
+
allowEmptyValue: v.optional(v.boolean()),
|
|
21
|
+
// Default values (based on value of in): for query - form; for path - simple; for header - simple; for cookie - form.
|
|
22
|
+
style: v.optional(oasHeaderStyle),
|
|
23
|
+
explode: v.optional(v.boolean()),
|
|
24
|
+
// allowReserved: v.boolean().optional(),
|
|
25
|
+
schema: v.optional(v.union([oasSchemaData, oasSchemaRefData])),
|
|
26
|
+
// example: z.any().optional(),
|
|
27
|
+
examples: v.optional(v.record(v.string(), v.union([oasExampleData, oasExampleRefData]))),
|
|
28
|
+
content: v.optional(v.record(v.string(), oasMediaTypeData))
|
|
29
|
+
});
|
|
30
|
+
// export type OasHeaders = Record<string, OasHeader | OasHeaderRef>
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { type OasLicenseData } from '../license/license-types.js';
|
|
2
|
+
import { type OasContactData } from '../contact/contact-types.js';
|
|
3
|
+
import * as v from 'valibot';
|
|
4
|
+
export type OasInfoData = {
|
|
5
|
+
oasType: 'info';
|
|
6
|
+
title: string;
|
|
7
|
+
description?: string;
|
|
8
|
+
termsOfService?: string;
|
|
9
|
+
contact?: OasContactData;
|
|
10
|
+
license?: OasLicenseData;
|
|
11
|
+
version: string;
|
|
12
|
+
};
|
|
13
|
+
export declare const oasInfoData: v.GenericSchema<OasInfoData>;
|
|
14
|
+
//# sourceMappingURL=info-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"info-types.d.ts","sourceRoot":"","sources":["../../../src/oas/info/info-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAkB,MAAM,6BAA6B,CAAA;AACjF,OAAO,EAAE,KAAK,cAAc,EAAkB,MAAM,6BAA6B,CAAA;AAEjF,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAE5B,MAAM,MAAM,WAAW,GAAG;IACxB,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,OAAO,CAAC,EAAE,cAAc,CAAA;IACxB,OAAO,CAAC,EAAE,cAAc,CAAA;IACxB,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,eAAO,MAAM,WAAW,EAAE,CAAC,CAAC,aAAa,CAAC,WAAW,CAQnD,CAAA"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { oasLicenseData } from '../license/license-types.js';
|
|
2
|
+
import { oasContactData } from '../contact/contact-types.js';
|
|
3
|
+
import { markdown } from '../markdown/markdown-types.js';
|
|
4
|
+
import * as v from 'valibot';
|
|
5
|
+
export const oasInfoData = v.object({
|
|
6
|
+
oasType: v.literal('info'),
|
|
7
|
+
title: v.string(),
|
|
8
|
+
description: v.optional(markdown),
|
|
9
|
+
termsOfService: v.optional(v.string()),
|
|
10
|
+
contact: v.optional(oasContactData),
|
|
11
|
+
license: v.optional(oasLicenseData),
|
|
12
|
+
version: v.string()
|
|
13
|
+
});
|
|
@@ -5,35 +5,21 @@ import * as v from 'valibot';
|
|
|
5
5
|
* Ensures values are numbers and specifically integers,
|
|
6
6
|
* used for integer validation throughout OAS processing.
|
|
7
7
|
*/
|
|
8
|
-
export declare const integerSchema: v.
|
|
8
|
+
export declare const integerSchema: v.GenericSchema<number>;
|
|
9
9
|
/**
|
|
10
10
|
* Valibot schema for valid integer format values.
|
|
11
11
|
*
|
|
12
12
|
* Defines the size formats for integer types: int32 for 32-bit signed
|
|
13
13
|
* integers and int64 for 64-bit signed integers.
|
|
14
14
|
*/
|
|
15
|
-
export declare const integerFormat: v.
|
|
15
|
+
export declare const integerFormat: v.GenericSchema<'int32' | 'int64'>;
|
|
16
16
|
/**
|
|
17
17
|
* Valibot schema for validating OpenAPI integer data objects.
|
|
18
18
|
*
|
|
19
19
|
* Validates integer schemas including size formats (int32/int64),
|
|
20
20
|
* range constraints, multiple validation, and enumeration values.
|
|
21
21
|
*/
|
|
22
|
-
export declare const oasIntegerData: v.
|
|
23
|
-
readonly type: v.LiteralSchema<"integer", undefined>;
|
|
24
|
-
readonly title: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
25
|
-
readonly description: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
26
|
-
readonly default: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>]>, undefined>;
|
|
27
|
-
readonly format: v.OptionalSchema<v.UnionSchema<[v.LiteralSchema<"int32", undefined>, v.LiteralSchema<"int64", undefined>], undefined>, undefined>;
|
|
28
|
-
readonly enum: v.OptionalSchema<v.ArraySchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>]>, undefined>, undefined>;
|
|
29
|
-
readonly nullable: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
|
|
30
|
-
readonly example: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>]>, undefined>;
|
|
31
|
-
readonly multipleOf: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>]>, undefined>;
|
|
32
|
-
readonly maximum: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>]>, undefined>;
|
|
33
|
-
readonly exclusiveMaximum: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
|
|
34
|
-
readonly minimum: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>]>, undefined>;
|
|
35
|
-
readonly exclusiveMinimum: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
|
|
36
|
-
}, undefined>;
|
|
22
|
+
export declare const oasIntegerData: v.GenericSchema<OasIntegerData>;
|
|
37
23
|
export type OasIntegerData = {
|
|
38
24
|
type: 'integer';
|
|
39
25
|
title?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"integer-types.d.ts","sourceRoot":"","sources":["../../../src/oas/integer/integer-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAE5B;;;;;GAKG;AACH,eAAO,MAAM,aAAa,
|
|
1
|
+
{"version":3,"file":"integer-types.d.ts","sourceRoot":"","sources":["../../../src/oas/integer/integer-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAE5B;;;;;GAKG;AACH,eAAO,MAAM,aAAa,EAAE,CAAC,CAAC,aAAa,CAAC,MAAM,CAAmC,CAAA;AAErF;;;;;GAKG;AACH,eAAO,MAAM,aAAa,EAAE,CAAC,CAAC,aAAa,CAAC,OAAO,GAAG,OAAO,CAAqD,CAAA;AAElH;;;;;GAKG;AACH,eAAO,MAAM,cAAc,EAAE,CAAC,CAAC,aAAa,CAAC,cAAc,CAczD,CAAA;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,SAAS,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAA;IAC1B,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;IACf,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"license-types.d.ts","sourceRoot":"","sources":["../../../src/oas/license/license-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAE5B,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,EAAE,SAAS,CAAA;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,eAAO,MAAM,cAAc,EAAE,CAAC,CAAC,aAAa,CAAC,cAAc,CAKzD,CAAA"}
|
|
@@ -25,15 +25,5 @@ export type OasMediaTypeData = {
|
|
|
25
25
|
* Validates the structure of media type objects including content type
|
|
26
26
|
* identifiers, schema definitions, and example collections.
|
|
27
27
|
*/
|
|
28
|
-
export declare const oasMediaTypeData: v.
|
|
29
|
-
readonly oasType: v.LiteralSchema<"mediaType", undefined>;
|
|
30
|
-
readonly mediaType: v.StringSchema<undefined>;
|
|
31
|
-
readonly schema: v.OptionalSchema<v.UnionSchema<[v.GenericSchema<OasSchemaData>, v.GenericSchema<OasSchemaRefData>], undefined>, undefined>;
|
|
32
|
-
readonly examples: v.OptionalSchema<v.RecordSchema<v.StringSchema<undefined>, v.UnionSchema<[v.ObjectSchema<{
|
|
33
|
-
readonly oasType: v.LiteralSchema<"example", undefined>;
|
|
34
|
-
readonly summary: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
35
|
-
readonly description: v.OptionalSchema<v.GenericSchema<string>, undefined>;
|
|
36
|
-
readonly value: v.OptionalSchema<v.UnknownSchema, undefined>;
|
|
37
|
-
}, undefined>, v.GenericSchema<OasExampleRefData>], undefined>, undefined>, undefined>;
|
|
38
|
-
}, undefined>;
|
|
28
|
+
export declare const oasMediaTypeData: v.GenericSchema<OasMediaTypeData>;
|
|
39
29
|
//# sourceMappingURL=mediaType-types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mediaType-types.d.ts","sourceRoot":"","sources":["../../../src/oas/mediaType/mediaType-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAkB,MAAM,6BAA6B,CAAA;AACjF,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EAGtB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,KAAK,aAAa,EAAiB,MAAM,2BAA2B,CAAA;AAC7E,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAE5B;;;;;;GAMG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,iDAAiD;IACjD,OAAO,EAAE,WAAW,CAAA;IACpB,yEAAyE;IACzE,SAAS,EAAE,MAAM,CAAA;IACjB,mDAAmD;IACnD,MAAM,CAAC,EAAE,aAAa,GAAG,gBAAgB,CAAA;IAEzC,gDAAgD;IAChD,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,GAAG,iBAAiB,CAAC,CAAA;CAE9D,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB
|
|
1
|
+
{"version":3,"file":"mediaType-types.d.ts","sourceRoot":"","sources":["../../../src/oas/mediaType/mediaType-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAkB,MAAM,6BAA6B,CAAA;AACjF,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EAGtB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,KAAK,aAAa,EAAiB,MAAM,2BAA2B,CAAA;AAC7E,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAE5B;;;;;;GAMG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,iDAAiD;IACjD,OAAO,EAAE,WAAW,CAAA;IACpB,yEAAyE;IACzE,SAAS,EAAE,MAAM,CAAA;IACjB,mDAAmD;IACnD,MAAM,CAAC,EAAE,aAAa,GAAG,gBAAgB,CAAA;IAEzC,gDAAgD;IAChD,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,GAAG,iBAAiB,CAAC,CAAA;CAE9D,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,EAAE,CAAC,CAAC,aAAa,CAAC,gBAAgB,CAO7D,CAAA"}
|
|
@@ -5,28 +5,14 @@ import * as v from 'valibot';
|
|
|
5
5
|
* Defines the precision formats for number types: float for single-precision
|
|
6
6
|
* and double for double-precision floating-point numbers.
|
|
7
7
|
*/
|
|
8
|
-
export declare const numberFormat: v.
|
|
8
|
+
export declare const numberFormat: v.GenericSchema<'float' | 'double'>;
|
|
9
9
|
/**
|
|
10
10
|
* Valibot schema for validating OpenAPI number data objects.
|
|
11
11
|
*
|
|
12
12
|
* Validates number schemas including precision formats, range constraints,
|
|
13
13
|
* multiple validation, and enumeration values.
|
|
14
14
|
*/
|
|
15
|
-
export declare const oasNumberData: v.
|
|
16
|
-
readonly type: v.LiteralSchema<"number", undefined>;
|
|
17
|
-
readonly title: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
18
|
-
readonly description: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
19
|
-
readonly default: v.OptionalSchema<v.NumberSchema<undefined>, undefined>;
|
|
20
|
-
readonly format: v.OptionalSchema<v.UnionSchema<[v.LiteralSchema<"float", undefined>, v.LiteralSchema<"double", undefined>], undefined>, undefined>;
|
|
21
|
-
readonly enum: v.OptionalSchema<v.ArraySchema<v.NumberSchema<undefined>, undefined>, undefined>;
|
|
22
|
-
readonly nullable: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
|
|
23
|
-
readonly example: v.OptionalSchema<v.NumberSchema<undefined>, undefined>;
|
|
24
|
-
readonly multipleOf: v.OptionalSchema<v.NumberSchema<undefined>, undefined>;
|
|
25
|
-
readonly maximum: v.OptionalSchema<v.NumberSchema<undefined>, undefined>;
|
|
26
|
-
readonly exclusiveMaximum: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
|
|
27
|
-
readonly minimum: v.OptionalSchema<v.NumberSchema<undefined>, undefined>;
|
|
28
|
-
readonly exclusiveMinimum: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
|
|
29
|
-
}, undefined>;
|
|
15
|
+
export declare const oasNumberData: v.GenericSchema<OasNumberData>;
|
|
30
16
|
export type OasNumberData = {
|
|
31
17
|
type: 'number';
|
|
32
18
|
title?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"number-types.d.ts","sourceRoot":"","sources":["../../../src/oas/number/number-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAE5B;;;;;GAKG;AACH,eAAO,MAAM,YAAY,
|
|
1
|
+
{"version":3,"file":"number-types.d.ts","sourceRoot":"","sources":["../../../src/oas/number/number-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAE5B;;;;;GAKG;AACH,eAAO,MAAM,YAAY,EAAE,CAAC,CAAC,aAAa,CAAC,OAAO,GAAG,QAAQ,CAAsD,CAAA;AAEnH;;;;;GAKG;AACH,eAAO,MAAM,aAAa,EAAE,CAAC,CAAC,aAAa,CAAC,aAAa,CAcvD,CAAA;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,QAAQ,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAA;IAC3B,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;IACf,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B,CAAA"}
|
|
@@ -5,6 +5,68 @@ type ToNumberArgs = {
|
|
|
5
5
|
value: OpenAPIV3.SchemaObject;
|
|
6
6
|
context: ParseContext;
|
|
7
7
|
};
|
|
8
|
+
/**
|
|
9
|
+
* Transforms an OpenAPI v3 number schema object into an internal OAS number representation.
|
|
10
|
+
*
|
|
11
|
+
* This function processes OpenAPI number schemas by extracting and parsing nullable values,
|
|
12
|
+
* examples, enumerations, and default values. It handles the complete transformation from
|
|
13
|
+
* raw OpenAPI JSON to the SKMTC internal number representation with proper validation
|
|
14
|
+
* of number formats and constraints.
|
|
15
|
+
*
|
|
16
|
+
* The transformation follows a pipeline approach:
|
|
17
|
+
* 1. Parse nullable flag and extract base value
|
|
18
|
+
* 2. Parse example values with nullable support
|
|
19
|
+
* 3. Parse enumeration constraints
|
|
20
|
+
* 4. Parse default values
|
|
21
|
+
* 5. Create final OasNumber instance with format validation
|
|
22
|
+
*
|
|
23
|
+
* @param args - Transformation arguments
|
|
24
|
+
* @param args.context - Parse context providing utilities and tracing
|
|
25
|
+
* @param args.value - The OpenAPI v3 number schema object to transform
|
|
26
|
+
* @returns Transformed OAS number object with parsed properties
|
|
27
|
+
*
|
|
28
|
+
* @example Basic number transformation
|
|
29
|
+
* ```typescript
|
|
30
|
+
* import { toNumber } from '@skmtc/core';
|
|
31
|
+
*
|
|
32
|
+
* const openApiNumber = {
|
|
33
|
+
* type: 'number',
|
|
34
|
+
* format: 'double',
|
|
35
|
+
* minimum: 0,
|
|
36
|
+
* maximum: 100
|
|
37
|
+
* };
|
|
38
|
+
*
|
|
39
|
+
* const oasNumber = toNumber({
|
|
40
|
+
* context: parseContext,
|
|
41
|
+
* value: openApiNumber
|
|
42
|
+
* });
|
|
43
|
+
*
|
|
44
|
+
* console.log(oasNumber.format); // 'double'
|
|
45
|
+
* console.log(oasNumber.minimum); // 0
|
|
46
|
+
* ```
|
|
47
|
+
*
|
|
48
|
+
* @example Number with nullable and constraints
|
|
49
|
+
* ```typescript
|
|
50
|
+
* const priceNumber = {
|
|
51
|
+
* type: 'number',
|
|
52
|
+
* format: 'float',
|
|
53
|
+
* nullable: true,
|
|
54
|
+
* minimum: 0.01,
|
|
55
|
+
* maximum: 9999.99,
|
|
56
|
+
* exclusiveMaximum: true,
|
|
57
|
+
* default: null,
|
|
58
|
+
* example: 19.99
|
|
59
|
+
* };
|
|
60
|
+
*
|
|
61
|
+
* const oasNumber = toNumber({
|
|
62
|
+
* context: parseContext,
|
|
63
|
+
* value: priceNumber
|
|
64
|
+
* });
|
|
65
|
+
*
|
|
66
|
+
* console.log(oasNumber.nullable); // true
|
|
67
|
+
* console.log(oasNumber.exclusiveMaximum); // true
|
|
68
|
+
* ```
|
|
69
|
+
*/
|
|
8
70
|
export declare const toNumber: ({ context, value }: ToNumberArgs) => OasNumber;
|
|
9
71
|
export {};
|
|
10
72
|
//# sourceMappingURL=toNumber.d.ts.map
|