@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.
Files changed (291) hide show
  1. package/esm/context/CoreContext.d.ts +2 -2
  2. package/esm/context/CoreContext.d.ts.map +1 -1
  3. package/esm/context/GenerateContext.d.ts +16 -3
  4. package/esm/context/GenerateContext.d.ts.map +1 -1
  5. package/esm/context/ParseContext.d.ts +3 -3
  6. package/esm/context/ParseContext.d.ts.map +1 -1
  7. package/esm/context/RenderContext.d.ts +153 -1
  8. package/esm/context/RenderContext.d.ts.map +1 -1
  9. package/esm/context/RenderContext.js +179 -0
  10. package/esm/context/types.d.ts +30 -0
  11. package/esm/context/types.d.ts.map +1 -1
  12. package/esm/dsl/model/ModelBase.d.ts +1 -1
  13. package/esm/dsl/model/ModelBase.d.ts.map +1 -1
  14. package/esm/dsl/model/ModelDriver.d.ts +62 -0
  15. package/esm/dsl/model/ModelDriver.d.ts.map +1 -1
  16. package/esm/dsl/model/ModelDriver.js +63 -1
  17. package/esm/dsl/model/toModelBase.d.ts +66 -0
  18. package/esm/dsl/model/toModelBase.d.ts.map +1 -1
  19. package/esm/dsl/model/toModelBase.js +46 -0
  20. package/esm/dsl/model/toModelEntry.d.ts +63 -0
  21. package/esm/dsl/model/toModelEntry.d.ts.map +1 -1
  22. package/esm/dsl/model/toModelEntry.js +63 -0
  23. package/esm/dsl/operation/OperationBase.d.ts +3 -3
  24. package/esm/dsl/operation/OperationBase.d.ts.map +1 -1
  25. package/esm/dsl/operation/OperationDriver.d.ts +84 -0
  26. package/esm/dsl/operation/OperationDriver.d.ts.map +1 -1
  27. package/esm/dsl/operation/OperationDriver.js +85 -1
  28. package/esm/dsl/operation/toOperationBase.d.ts +58 -0
  29. package/esm/dsl/operation/toOperationBase.d.ts.map +1 -1
  30. package/esm/dsl/operation/toOperationBase.js +46 -0
  31. package/esm/dsl/operation/toOperationEntry.d.ts +37 -0
  32. package/esm/dsl/operation/toOperationEntry.d.ts.map +1 -1
  33. package/esm/dsl/operation/toOperationEntry.js +28 -0
  34. package/esm/helpers/isEmpty.d.ts +1 -1
  35. package/esm/helpers/isEmpty.d.ts.map +1 -1
  36. package/esm/helpers/tracer.d.ts +1 -1
  37. package/esm/helpers/tracer.d.ts.map +1 -1
  38. package/esm/helpers/tracer.js +1 -1
  39. package/esm/mod.d.ts +52 -0
  40. package/esm/mod.d.ts.map +1 -1
  41. package/esm/mod.js +52 -0
  42. package/esm/oas/array/Array.d.ts +26 -0
  43. package/esm/oas/array/Array.d.ts.map +1 -1
  44. package/esm/oas/array/Array.js +26 -0
  45. package/esm/oas/array/array-types.d.ts +32 -11
  46. package/esm/oas/array/array-types.d.ts.map +1 -1
  47. package/esm/oas/array/array-types.js +16 -0
  48. package/esm/oas/array/toArray.d.ts +111 -0
  49. package/esm/oas/array/toArray.d.ts.map +1 -1
  50. package/esm/oas/array/toArray.js +115 -3
  51. package/esm/oas/boolean/Boolean.d.ts +26 -0
  52. package/esm/oas/boolean/Boolean.d.ts.map +1 -1
  53. package/esm/oas/boolean/Boolean.js +26 -0
  54. package/esm/oas/boolean/boolean-types.d.ts +1 -7
  55. package/esm/oas/boolean/boolean-types.d.ts.map +1 -1
  56. package/esm/oas/boolean/toBoolean.d.ts +57 -0
  57. package/esm/oas/boolean/toBoolean.d.ts.map +1 -1
  58. package/esm/oas/boolean/toBoolean.js +57 -0
  59. package/esm/oas/components/components-types.d.ts +19 -0
  60. package/esm/oas/components/components-types.d.ts.map +1 -0
  61. package/esm/oas/components/components-types.js +21 -0
  62. package/esm/oas/contact/contact-types.d.ts +9 -0
  63. package/esm/oas/contact/contact-types.d.ts.map +1 -0
  64. package/esm/oas/contact/contact-types.js +7 -0
  65. package/esm/oas/discriminator/discriminator-types.d.ts +1 -5
  66. package/esm/oas/discriminator/discriminator-types.d.ts.map +1 -1
  67. package/esm/oas/document/document-types.d.ts +16 -0
  68. package/esm/oas/document/document-types.d.ts.map +1 -0
  69. package/esm/oas/document/document-types.js +18 -0
  70. package/esm/oas/example/example-types.d.ts +1 -6
  71. package/esm/oas/example/example-types.d.ts.map +1 -1
  72. package/esm/oas/header/header-types.d.ts +50 -0
  73. package/esm/oas/header/header-types.d.ts.map +1 -0
  74. package/esm/oas/header/header-types.js +30 -0
  75. package/esm/oas/info/info-types.d.ts +14 -0
  76. package/esm/oas/info/info-types.d.ts.map +1 -0
  77. package/esm/oas/info/info-types.js +13 -0
  78. package/esm/oas/integer/integer-types.d.ts +3 -17
  79. package/esm/oas/integer/integer-types.d.ts.map +1 -1
  80. package/esm/oas/license/license-types.d.ts +9 -0
  81. package/esm/oas/license/license-types.d.ts.map +1 -0
  82. package/esm/oas/license/license-types.js +7 -0
  83. package/esm/oas/mediaType/mediaType-types.d.ts +1 -11
  84. package/esm/oas/mediaType/mediaType-types.d.ts.map +1 -1
  85. package/esm/oas/number/number-types.d.ts +2 -16
  86. package/esm/oas/number/number-types.d.ts.map +1 -1
  87. package/esm/oas/number/toNumber.d.ts +62 -0
  88. package/esm/oas/number/toNumber.d.ts.map +1 -1
  89. package/esm/oas/number/toNumber.js +62 -0
  90. package/esm/oas/operation/operation-types.d.ts +22 -0
  91. package/esm/oas/operation/operation-types.d.ts.map +1 -0
  92. package/esm/oas/operation/operation-types.js +35 -0
  93. package/esm/oas/parameter/Parameter.d.ts +47 -0
  94. package/esm/oas/parameter/Parameter.d.ts.map +1 -1
  95. package/esm/oas/parameter/Parameter.js +47 -0
  96. package/esm/oas/parameter/parameter-types.d.ts +3 -58
  97. package/esm/oas/parameter/parameter-types.d.ts.map +1 -1
  98. package/esm/oas/pathItem/pathItem-types.d.ts +12 -0
  99. package/esm/oas/pathItem/pathItem-types.d.ts.map +1 -0
  100. package/esm/oas/pathItem/pathItem-types.js +12 -0
  101. package/esm/oas/requestBody/requestBody-types.d.ts +10 -0
  102. package/esm/oas/requestBody/requestBody-types.d.ts.map +1 -0
  103. package/esm/oas/requestBody/requestBody-types.js +9 -0
  104. package/esm/oas/response/response-types.d.ts +12 -0
  105. package/esm/oas/response/response-types.d.ts.map +1 -0
  106. package/esm/oas/response/response-types.js +11 -0
  107. package/esm/oas/schema/toSchemasV3.js +2 -2
  108. package/esm/oas/server/toServerV3.d.ts.map +1 -1
  109. package/esm/oas/string/string-types.d.ts +2 -29
  110. package/esm/oas/string/string-types.d.ts.map +1 -1
  111. package/esm/oas/string/toString.d.ts +125 -1
  112. package/esm/oas/string/toString.d.ts.map +1 -1
  113. package/esm/oas/string/toString.js +119 -0
  114. package/esm/oas/tag/tag-types.d.ts +8 -0
  115. package/esm/oas/tag/tag-types.d.ts.map +1 -0
  116. package/esm/oas/tag/tag-types.js +8 -0
  117. package/esm/oas/union/union-types.d.ts +1 -12
  118. package/esm/oas/union/union-types.d.ts.map +1 -1
  119. package/esm/oas/unknown/unknown-types.d.ts +1 -7
  120. package/esm/oas/unknown/unknown-types.d.ts.map +1 -1
  121. package/esm/types/CustomValue.d.ts +58 -0
  122. package/esm/types/CustomValue.d.ts.map +1 -1
  123. package/esm/types/CustomValue.js +58 -0
  124. package/esm/types/DenoJson.d.ts +24 -0
  125. package/esm/types/DenoJson.d.ts.map +1 -1
  126. package/esm/types/DenoJson.js +12 -0
  127. package/esm/types/Enrichments.d.ts +103 -0
  128. package/esm/types/Enrichments.d.ts.map +1 -1
  129. package/esm/types/Enrichments.js +52 -0
  130. package/esm/types/GeneratedValue.d.ts +17 -0
  131. package/esm/types/GeneratedValue.d.ts.map +1 -1
  132. package/esm/types/Logger.d.ts +9 -0
  133. package/esm/types/Logger.d.ts.map +1 -0
  134. package/esm/types/Logger.js +1 -0
  135. package/esm/types/Preview.d.ts +37 -0
  136. package/esm/types/Preview.d.ts.map +1 -1
  137. package/esm/types/Preview.js +37 -0
  138. package/esm/types/Settings.d.ts +35 -0
  139. package/esm/types/Settings.d.ts.map +1 -1
  140. package/esm/types/Settings.js +27 -0
  141. package/esm/typescript/FunctionParameter.d.ts +4 -4
  142. package/esm/typescript/FunctionParameter.d.ts.map +1 -1
  143. package/esm/typescript/List.d.ts +40 -2
  144. package/esm/typescript/List.d.ts.map +1 -1
  145. package/esm/typescript/List.js +32 -0
  146. package/package.json +1 -1
  147. package/script/context/CoreContext.d.ts +2 -2
  148. package/script/context/CoreContext.d.ts.map +1 -1
  149. package/script/context/GenerateContext.d.ts +16 -3
  150. package/script/context/GenerateContext.d.ts.map +1 -1
  151. package/script/context/ParseContext.d.ts +3 -3
  152. package/script/context/ParseContext.d.ts.map +1 -1
  153. package/script/context/RenderContext.d.ts +153 -1
  154. package/script/context/RenderContext.d.ts.map +1 -1
  155. package/script/context/RenderContext.js +179 -0
  156. package/script/context/types.d.ts +30 -0
  157. package/script/context/types.d.ts.map +1 -1
  158. package/script/dsl/model/ModelBase.d.ts +1 -1
  159. package/script/dsl/model/ModelBase.d.ts.map +1 -1
  160. package/script/dsl/model/ModelDriver.d.ts +62 -0
  161. package/script/dsl/model/ModelDriver.d.ts.map +1 -1
  162. package/script/dsl/model/ModelDriver.js +63 -1
  163. package/script/dsl/model/toModelBase.d.ts +66 -0
  164. package/script/dsl/model/toModelBase.d.ts.map +1 -1
  165. package/script/dsl/model/toModelBase.js +46 -0
  166. package/script/dsl/model/toModelEntry.d.ts +63 -0
  167. package/script/dsl/model/toModelEntry.d.ts.map +1 -1
  168. package/script/dsl/model/toModelEntry.js +63 -0
  169. package/script/dsl/operation/OperationBase.d.ts +3 -3
  170. package/script/dsl/operation/OperationBase.d.ts.map +1 -1
  171. package/script/dsl/operation/OperationDriver.d.ts +84 -0
  172. package/script/dsl/operation/OperationDriver.d.ts.map +1 -1
  173. package/script/dsl/operation/OperationDriver.js +85 -1
  174. package/script/dsl/operation/toOperationBase.d.ts +58 -0
  175. package/script/dsl/operation/toOperationBase.d.ts.map +1 -1
  176. package/script/dsl/operation/toOperationBase.js +46 -0
  177. package/script/dsl/operation/toOperationEntry.d.ts +37 -0
  178. package/script/dsl/operation/toOperationEntry.d.ts.map +1 -1
  179. package/script/dsl/operation/toOperationEntry.js +28 -0
  180. package/script/helpers/isEmpty.d.ts +1 -1
  181. package/script/helpers/isEmpty.d.ts.map +1 -1
  182. package/script/helpers/tracer.d.ts +1 -1
  183. package/script/helpers/tracer.d.ts.map +1 -1
  184. package/script/helpers/tracer.js +1 -1
  185. package/script/mod.d.ts +52 -0
  186. package/script/mod.d.ts.map +1 -1
  187. package/script/mod.js +52 -0
  188. package/script/oas/array/Array.d.ts +26 -0
  189. package/script/oas/array/Array.d.ts.map +1 -1
  190. package/script/oas/array/Array.js +26 -0
  191. package/script/oas/array/array-types.d.ts +32 -11
  192. package/script/oas/array/array-types.d.ts.map +1 -1
  193. package/script/oas/array/array-types.js +17 -1
  194. package/script/oas/array/toArray.d.ts +111 -0
  195. package/script/oas/array/toArray.d.ts.map +1 -1
  196. package/script/oas/array/toArray.js +114 -2
  197. package/script/oas/boolean/Boolean.d.ts +26 -0
  198. package/script/oas/boolean/Boolean.d.ts.map +1 -1
  199. package/script/oas/boolean/Boolean.js +26 -0
  200. package/script/oas/boolean/boolean-types.d.ts +1 -7
  201. package/script/oas/boolean/boolean-types.d.ts.map +1 -1
  202. package/script/oas/boolean/toBoolean.d.ts +57 -0
  203. package/script/oas/boolean/toBoolean.d.ts.map +1 -1
  204. package/script/oas/boolean/toBoolean.js +57 -0
  205. package/script/oas/components/components-types.d.ts +19 -0
  206. package/script/oas/components/components-types.d.ts.map +1 -0
  207. package/script/oas/components/components-types.js +57 -0
  208. package/script/oas/contact/contact-types.d.ts +9 -0
  209. package/script/oas/contact/contact-types.d.ts.map +1 -0
  210. package/script/oas/contact/contact-types.js +43 -0
  211. package/script/oas/discriminator/discriminator-types.d.ts +1 -5
  212. package/script/oas/discriminator/discriminator-types.d.ts.map +1 -1
  213. package/script/oas/document/document-types.d.ts +16 -0
  214. package/script/oas/document/document-types.d.ts.map +1 -0
  215. package/script/oas/document/document-types.js +54 -0
  216. package/script/oas/example/example-types.d.ts +1 -6
  217. package/script/oas/example/example-types.d.ts.map +1 -1
  218. package/script/oas/header/header-types.d.ts +50 -0
  219. package/script/oas/header/header-types.d.ts.map +1 -0
  220. package/script/oas/header/header-types.js +66 -0
  221. package/script/oas/info/info-types.d.ts +14 -0
  222. package/script/oas/info/info-types.d.ts.map +1 -0
  223. package/script/oas/info/info-types.js +49 -0
  224. package/script/oas/integer/integer-types.d.ts +3 -17
  225. package/script/oas/integer/integer-types.d.ts.map +1 -1
  226. package/script/oas/license/license-types.d.ts +9 -0
  227. package/script/oas/license/license-types.d.ts.map +1 -0
  228. package/script/oas/license/license-types.js +43 -0
  229. package/script/oas/mediaType/mediaType-types.d.ts +1 -11
  230. package/script/oas/mediaType/mediaType-types.d.ts.map +1 -1
  231. package/script/oas/number/number-types.d.ts +2 -16
  232. package/script/oas/number/number-types.d.ts.map +1 -1
  233. package/script/oas/number/toNumber.d.ts +62 -0
  234. package/script/oas/number/toNumber.d.ts.map +1 -1
  235. package/script/oas/number/toNumber.js +62 -0
  236. package/script/oas/operation/operation-types.d.ts +22 -0
  237. package/script/oas/operation/operation-types.d.ts.map +1 -0
  238. package/script/oas/operation/operation-types.js +71 -0
  239. package/script/oas/parameter/Parameter.d.ts +47 -0
  240. package/script/oas/parameter/Parameter.d.ts.map +1 -1
  241. package/script/oas/parameter/Parameter.js +47 -0
  242. package/script/oas/parameter/parameter-types.d.ts +3 -58
  243. package/script/oas/parameter/parameter-types.d.ts.map +1 -1
  244. package/script/oas/pathItem/pathItem-types.d.ts +12 -0
  245. package/script/oas/pathItem/pathItem-types.d.ts.map +1 -0
  246. package/script/oas/pathItem/pathItem-types.js +48 -0
  247. package/script/oas/requestBody/requestBody-types.d.ts +10 -0
  248. package/script/oas/requestBody/requestBody-types.d.ts.map +1 -0
  249. package/script/oas/requestBody/requestBody-types.js +45 -0
  250. package/script/oas/response/response-types.d.ts +12 -0
  251. package/script/oas/response/response-types.d.ts.map +1 -0
  252. package/script/oas/response/response-types.js +47 -0
  253. package/script/oas/schema/toSchemasV3.js +2 -2
  254. package/script/oas/server/toServerV3.d.ts.map +1 -1
  255. package/script/oas/string/string-types.d.ts +2 -29
  256. package/script/oas/string/string-types.d.ts.map +1 -1
  257. package/script/oas/string/toString.d.ts +125 -1
  258. package/script/oas/string/toString.d.ts.map +1 -1
  259. package/script/oas/string/toString.js +119 -0
  260. package/script/oas/tag/tag-types.d.ts +8 -0
  261. package/script/oas/tag/tag-types.d.ts.map +1 -0
  262. package/script/oas/tag/tag-types.js +44 -0
  263. package/script/oas/union/union-types.d.ts +1 -12
  264. package/script/oas/union/union-types.d.ts.map +1 -1
  265. package/script/oas/unknown/unknown-types.d.ts +1 -7
  266. package/script/oas/unknown/unknown-types.d.ts.map +1 -1
  267. package/script/types/CustomValue.d.ts +58 -0
  268. package/script/types/CustomValue.d.ts.map +1 -1
  269. package/script/types/CustomValue.js +58 -0
  270. package/script/types/DenoJson.d.ts +24 -0
  271. package/script/types/DenoJson.d.ts.map +1 -1
  272. package/script/types/DenoJson.js +12 -0
  273. package/script/types/Enrichments.d.ts +103 -0
  274. package/script/types/Enrichments.d.ts.map +1 -1
  275. package/script/types/Enrichments.js +52 -0
  276. package/script/types/GeneratedValue.d.ts +17 -0
  277. package/script/types/GeneratedValue.d.ts.map +1 -1
  278. package/script/types/Logger.d.ts +9 -0
  279. package/script/types/Logger.d.ts.map +1 -0
  280. package/script/types/Logger.js +2 -0
  281. package/script/types/Preview.d.ts +37 -0
  282. package/script/types/Preview.d.ts.map +1 -1
  283. package/script/types/Preview.js +37 -0
  284. package/script/types/Settings.d.ts +35 -0
  285. package/script/types/Settings.d.ts.map +1 -1
  286. package/script/types/Settings.js +27 -0
  287. package/script/typescript/FunctionParameter.d.ts +4 -4
  288. package/script/typescript/FunctionParameter.d.ts.map +1 -1
  289. package/script/typescript/List.d.ts +40 -2
  290. package/script/typescript/List.d.ts.map +1 -1
  291. 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.ObjectSchema<{
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;;;;;;aAMzB,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"}
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,9 @@
1
+ import * as v from 'valibot';
2
+ export type OasContactData = {
3
+ oasType: 'contact';
4
+ name?: string;
5
+ url?: string;
6
+ email?: string;
7
+ };
8
+ export declare const oasContactData: v.GenericSchema<OasContactData>;
9
+ //# sourceMappingURL=contact-types.d.ts.map
@@ -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"}
@@ -0,0 +1,7 @@
1
+ import * as v from 'valibot';
2
+ export const oasContactData = v.object({
3
+ oasType: v.literal('contact'),
4
+ name: v.optional(v.string()),
5
+ url: v.optional(v.string()),
6
+ email: v.optional(v.string())
7
+ });
@@ -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.ObjectSchema<{
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;;;;aAI/B,CAAA"}
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.ObjectSchema<{
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;;;;;aAMzB,CAAA"}
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.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>]>;
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.UnionSchema<[v.LiteralSchema<"int32", undefined>, v.LiteralSchema<"int64", undefined>], undefined>;
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.ObjectSchema<{
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,4FAAkC,CAAA;AAE5D;;;;;GAKG;AACH,eAAO,MAAM,aAAa,sGAAoD,CAAA;AAE9E;;;;;GAKG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;aAczB,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"}
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,9 @@
1
+ import * as v from 'valibot';
2
+ export type OasLicenseData = {
3
+ oasType: 'license';
4
+ name: string;
5
+ url?: string;
6
+ identifier?: string;
7
+ };
8
+ export declare const oasLicenseData: v.GenericSchema<OasLicenseData>;
9
+ //# sourceMappingURL=license-types.d.ts.map
@@ -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"}
@@ -0,0 +1,7 @@
1
+ import * as v from 'valibot';
2
+ export const oasLicenseData = v.object({
3
+ oasType: v.literal('license'),
4
+ name: v.string(),
5
+ url: v.optional(v.string()),
6
+ identifier: v.optional(v.string())
7
+ });
@@ -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.ObjectSchema<{
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;;;;;;;;;;aAO3B,CAAA"}
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.UnionSchema<[v.LiteralSchema<"float", undefined>, v.LiteralSchema<"double", undefined>], undefined>;
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.ObjectSchema<{
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,uGAAqD,CAAA;AAE9E;;;;;GAKG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;aAcxB,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"}
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