@skmtc/core 0.0.789 → 0.0.790
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/RenderContext.d.ts +190 -0
- package/esm/context/RenderContext.d.ts.map +1 -1
- package/esm/context/RenderContext.js +179 -0
- package/esm/oas/boolean/Boolean.d.ts +142 -1
- package/esm/oas/boolean/Boolean.d.ts.map +1 -1
- package/esm/oas/boolean/Boolean.js +130 -1
- package/esm/oas/parameter/Parameter.d.ts +160 -0
- package/esm/oas/parameter/Parameter.d.ts.map +1 -1
- package/esm/oas/parameter/Parameter.js +144 -0
- package/package.json +1 -1
- package/script/context/RenderContext.d.ts +190 -0
- package/script/context/RenderContext.d.ts.map +1 -1
- package/script/context/RenderContext.js +179 -0
- package/script/oas/boolean/Boolean.d.ts +142 -1
- package/script/oas/boolean/Boolean.d.ts.map +1 -1
- package/script/oas/boolean/Boolean.js +130 -1
- package/script/oas/parameter/Parameter.d.ts +160 -0
- package/script/oas/parameter/Parameter.d.ts.map +1 -1
- package/script/oas/parameter/Parameter.js +144 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Parameter.d.ts","sourceRoot":"","sources":["../../../src/oas/parameter/Parameter.ts"],"names":[],"mappings":"AAAA,OAAO,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AACnF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAC7D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAK9C,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,oBAAoB,CAAA;IAC9B,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAChC,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAC9B,UAAU,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAChC,eAAe,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IACrC,aAAa,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IACnC,MAAM,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAA;IACjD,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,SAAS,CAAA;IACrE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,SAAS,CAAA;IAClD,KAAK,EAAE,iBAAiB,CAAA;IACxB,OAAO,EAAE,OAAO,CAAA;IAChB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC1C,CAAA;AAED,qBAAa,YAAY;IACvB,OAAO,EAAE,WAAW,CAAc;IAClC,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,oBAAoB,CAAA;IAC9B,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAChC,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAC9B,UAAU,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAChC,eAAe,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IACrC,aAAa,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IACnC,MAAM,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAA;IACjD,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,SAAS,CAAA;IACrE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,SAAS,CAAA;IAClD,KAAK,EAAE,iBAAiB,CAAA;IACxB,OAAO,EAAE,OAAO,CAAA;IAChB,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAA;gBACxC,MAAM,EAAE,eAAe;IAkBnC,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,WAAW,CAAC;IAIpC,OAAO,IAAI,YAAY;IAIvB,WAAW,IAAI,YAAY;IAI3B,QAAQ,CAAC,SAAS,GAAE,MAA2B,GAAG,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC;IAc9E,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,SAAS,CAAC,eAAe;CAuBtE"}
|
|
1
|
+
{"version":3,"file":"Parameter.d.ts","sourceRoot":"","sources":["../../../src/oas/parameter/Parameter.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,150 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.OasParameter = void 0;
|
|
4
4
|
require("../../_dnt.polyfills.js");
|
|
5
|
+
/**
|
|
6
|
+
* Represents a Parameter Object in the OpenAPI Specification.
|
|
7
|
+
*
|
|
8
|
+
* The `OasParameter` class encapsulates the definition of a single operation parameter,
|
|
9
|
+
* including its location, data type, validation rules, and serialization behavior.
|
|
10
|
+
* Parameters can be located in the path, query string, headers, or cookies.
|
|
11
|
+
*
|
|
12
|
+
* This class provides comprehensive support for parameter validation, serialization
|
|
13
|
+
* styles, and complex data types through schema definitions or content specifications.
|
|
14
|
+
*
|
|
15
|
+
* ## Key Features
|
|
16
|
+
*
|
|
17
|
+
* - **Location Support**: Path, query, header, and cookie parameters
|
|
18
|
+
* - **Schema Validation**: Comprehensive data type validation through schemas
|
|
19
|
+
* - **Serialization Styles**: Various parameter serialization formats
|
|
20
|
+
* - **Content Types**: Support for complex parameter content with media types
|
|
21
|
+
* - **Examples & Documentation**: Parameter examples and descriptive documentation
|
|
22
|
+
* - **Advanced Options**: Empty values, reserved characters, and explode behavior
|
|
23
|
+
*
|
|
24
|
+
* @example Basic path parameter
|
|
25
|
+
* ```typescript
|
|
26
|
+
* import { OasParameter, OasString } from '@skmtc/core';
|
|
27
|
+
*
|
|
28
|
+
* const userIdParam = new OasParameter({
|
|
29
|
+
* name: 'userId',
|
|
30
|
+
* location: 'path',
|
|
31
|
+
* description: 'Unique identifier for the user',
|
|
32
|
+
* required: true,
|
|
33
|
+
* schema: new OasString({
|
|
34
|
+
* pattern: '^[0-9a-f]{24}$',
|
|
35
|
+
* example: '507f1f77bcf86cd799439011'
|
|
36
|
+
* }),
|
|
37
|
+
* style: 'simple',
|
|
38
|
+
* explode: false
|
|
39
|
+
* });
|
|
40
|
+
*
|
|
41
|
+
* // Used in path: /users/{userId}
|
|
42
|
+
* ```
|
|
43
|
+
*
|
|
44
|
+
* @example Query parameter with validation
|
|
45
|
+
* ```typescript
|
|
46
|
+
* const pageSizeParam = new OasParameter({
|
|
47
|
+
* name: 'pageSize',
|
|
48
|
+
* location: 'query',
|
|
49
|
+
* description: 'Number of items to return per page',
|
|
50
|
+
* required: false,
|
|
51
|
+
* schema: new OasInteger({
|
|
52
|
+
* minimum: 1,
|
|
53
|
+
* maximum: 100,
|
|
54
|
+
* default: 20
|
|
55
|
+
* }),
|
|
56
|
+
* style: 'form',
|
|
57
|
+
* explode: true,
|
|
58
|
+
* examples: {
|
|
59
|
+
* small: new OasExample({ value: 10 }),
|
|
60
|
+
* medium: new OasExample({ value: 25 }),
|
|
61
|
+
* large: new OasExample({ value: 50 })
|
|
62
|
+
* }
|
|
63
|
+
* });
|
|
64
|
+
*
|
|
65
|
+
* // Used in query: ?pageSize=20
|
|
66
|
+
* ```
|
|
67
|
+
*
|
|
68
|
+
* @example Header parameter
|
|
69
|
+
* ```typescript
|
|
70
|
+
* const authHeaderParam = new OasParameter({
|
|
71
|
+
* name: 'Authorization',
|
|
72
|
+
* location: 'header',
|
|
73
|
+
* description: 'Bearer token for authentication',
|
|
74
|
+
* required: true,
|
|
75
|
+
* schema: new OasString({
|
|
76
|
+
* pattern: '^Bearer [A-Za-z0-9+/=]+$',
|
|
77
|
+
* example: 'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...'
|
|
78
|
+
* }),
|
|
79
|
+
* style: 'simple',
|
|
80
|
+
* explode: false
|
|
81
|
+
* });
|
|
82
|
+
* ```
|
|
83
|
+
*
|
|
84
|
+
* @example Complex parameter with content
|
|
85
|
+
* ```typescript
|
|
86
|
+
* const filterParam = new OasParameter({
|
|
87
|
+
* name: 'filter',
|
|
88
|
+
* location: 'query',
|
|
89
|
+
* description: 'Complex filter object',
|
|
90
|
+
* required: false,
|
|
91
|
+
* content: {
|
|
92
|
+
* 'application/json': new OasMediaType({
|
|
93
|
+
* schema: new OasObject({
|
|
94
|
+
* properties: {
|
|
95
|
+
* category: new OasString(),
|
|
96
|
+
* priceRange: new OasObject({
|
|
97
|
+
* properties: {
|
|
98
|
+
* min: new OasNumber(),
|
|
99
|
+
* max: new OasNumber()
|
|
100
|
+
* }
|
|
101
|
+
* })
|
|
102
|
+
* }
|
|
103
|
+
* })
|
|
104
|
+
* })
|
|
105
|
+
* },
|
|
106
|
+
* style: 'deepObject',
|
|
107
|
+
* explode: true
|
|
108
|
+
* });
|
|
109
|
+
*
|
|
110
|
+
* // Used as: ?filter[category]=electronics&filter[priceRange][min]=100
|
|
111
|
+
* ```
|
|
112
|
+
*
|
|
113
|
+
* @example Array parameter with explode
|
|
114
|
+
* ```typescript
|
|
115
|
+
* const tagsParam = new OasParameter({
|
|
116
|
+
* name: 'tags',
|
|
117
|
+
* location: 'query',
|
|
118
|
+
* description: 'Filter by multiple tags',
|
|
119
|
+
* required: false,
|
|
120
|
+
* schema: new OasArray({
|
|
121
|
+
* items: new OasString(),
|
|
122
|
+
* minItems: 1,
|
|
123
|
+
* maxItems: 10
|
|
124
|
+
* }),
|
|
125
|
+
* style: 'form',
|
|
126
|
+
* explode: true // Results in: ?tags=tech&tags=api&tags=rest
|
|
127
|
+
* });
|
|
128
|
+
*
|
|
129
|
+
* // Without explode: ?tags=tech,api,rest
|
|
130
|
+
* // With explode: ?tags=tech&tags=api&tags=rest
|
|
131
|
+
* ```
|
|
132
|
+
*
|
|
133
|
+
* @example Cookie parameter
|
|
134
|
+
* ```typescript
|
|
135
|
+
* const sessionParam = new OasParameter({
|
|
136
|
+
* name: 'sessionId',
|
|
137
|
+
* location: 'cookie',
|
|
138
|
+
* description: 'Session identifier cookie',
|
|
139
|
+
* required: false,
|
|
140
|
+
* schema: new OasString({
|
|
141
|
+
* minLength: 32,
|
|
142
|
+
* maxLength: 128
|
|
143
|
+
* }),
|
|
144
|
+
* style: 'form',
|
|
145
|
+
* explode: false
|
|
146
|
+
* });
|
|
147
|
+
* ```
|
|
148
|
+
*/
|
|
5
149
|
class OasParameter {
|
|
6
150
|
constructor(fields) {
|
|
7
151
|
Object.defineProperty(this, "oasType", {
|