@scalar/schemas 0.3.0 → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +9 -0
- package/dist/asyncapi/3.1/bindings.d.ts.map +1 -1
- package/dist/asyncapi/3.1/bindings.js +2 -1
- package/dist/asyncapi/3.1/index.d.ts +2 -1
- package/dist/asyncapi/3.1/index.d.ts.map +1 -1
- package/dist/asyncapi/3.1/index.js +2 -1
- package/dist/asyncapi/3.1/schema-payload.d.ts +2 -0
- package/dist/asyncapi/3.1/schema-payload.d.ts.map +1 -1
- package/dist/asyncapi/3.1/schema-payload.js +2 -0
- package/dist/asyncapi/3.1/ws-binding.d.ts +12 -0
- package/dist/asyncapi/3.1/ws-binding.d.ts.map +1 -0
- package/dist/asyncapi/3.1/ws-binding.js +24 -0
- package/package.json +4 -4
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
# @scalar/schemas
|
|
2
2
|
|
|
3
|
+
## 0.3.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#9311](https://github.com/scalar/scalar/pull/9311): feat: add typed AsyncAPI WebSocket binding schema
|
|
8
|
+
- Add `asyncApiWsBindingObject` for `bindings.ws` with `method`, `query`, `headers`, and `bindingVersion`
|
|
9
|
+
- Add `asyncApiSchemaObjectOrReference` (Schema Object | Reference Object) for WebSocket binding fields that exclude Multi Format Schema Object
|
|
10
|
+
- Regenerate `@scalar/types/asyncapi/3.1` types
|
|
11
|
+
|
|
3
12
|
## 0.3.0
|
|
4
13
|
|
|
5
14
|
### Minor Changes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bindings.d.ts","sourceRoot":"","sources":["../../../src/asyncapi/3.1/bindings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAA6B,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"bindings.d.ts","sourceRoot":"","sources":["../../../src/asyncapi/3.1/bindings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAA6B,MAAM,oBAAoB,CAAA;AAiD3E,eAAO,MAAM,4BAA4B,mEAGxC,CAAA;AAED,eAAO,MAAM,6BAA6B,mEAGzC,CAAA;AAED,eAAO,MAAM,+BAA+B,mEAG3C,CAAA;AAED,eAAO,MAAM,6BAA6B,mEAGzC,CAAA"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { object, optional, unknown } from '@scalar/validation';
|
|
2
|
+
import { asyncApiWsBindingObject } from './ws-binding.js';
|
|
2
3
|
/**
|
|
3
4
|
* Protocol keys listed for binding objects in AsyncAPI 3.1.0. Values are
|
|
4
5
|
* protocol-specific; we accept any JSON-compatible structure.
|
|
@@ -31,7 +32,7 @@ const optionalBindingPayload = () => optional(unknown({
|
|
|
31
32
|
const bindingObjectProperties = () => {
|
|
32
33
|
const properties = {};
|
|
33
34
|
for (const key of ASYNCAPI_3_1_BINDING_PROTOCOL_KEYS) {
|
|
34
|
-
properties[key] = optionalBindingPayload();
|
|
35
|
+
properties[key] = key === 'ws' ? optional(asyncApiWsBindingObject) : optionalBindingPayload();
|
|
35
36
|
}
|
|
36
37
|
return properties;
|
|
37
38
|
};
|
|
@@ -18,9 +18,10 @@ export { asyncApiOperationTraitObject } from './operation-trait.js';
|
|
|
18
18
|
export { asyncApiParameterObject } from './parameter.js';
|
|
19
19
|
export { asyncApiParametersObject } from './parameters.js';
|
|
20
20
|
export { type MaybeRefFn, asyncApiReferenceObject, asyncApiResolvedReference, recursiveRef, } from './reference.js';
|
|
21
|
-
export { asyncApiMultiFormatSchemaObject, asyncApiSchemaPayload } from './schema-payload.js';
|
|
21
|
+
export { asyncApiMultiFormatSchemaObject, asyncApiSchemaObjectOrReference, asyncApiSchemaPayload, } from './schema-payload.js';
|
|
22
22
|
export { asyncApiSecuritySchemeObject } from './security-scheme.js';
|
|
23
23
|
export { asyncApiServerObject, asyncApiServersObject } from './server.js';
|
|
24
24
|
export { asyncApiServerVariableObject } from './server-variable.js';
|
|
25
25
|
export { asyncApiTagObject, asyncApiTagsObject } from './tag.js';
|
|
26
|
+
export { asyncApiWsBindingObject } from './ws-binding.js';
|
|
26
27
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/asyncapi/3.1/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AACxD,OAAO,EACL,6BAA6B,EAC7B,6BAA6B,EAC7B,+BAA+B,EAC/B,4BAA4B,GAC7B,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAA;AACzE,OAAO,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAA;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAA;AACjD,OAAO,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAA;AAC9D,OAAO,EAAE,mCAAmC,EAAE,MAAM,0BAA0B,CAAA;AAC9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAA;AAC3C,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAA;AACjD,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAA;AACzE,OAAO,EAAE,4BAA4B,EAAE,MAAM,mBAAmB,CAAA;AAChE,OAAO,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAA;AAC5D,OAAO,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAA;AAC3E,OAAO,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAA;AAC/E,OAAO,EAAE,4BAA4B,EAAE,MAAM,mBAAmB,CAAA;AAChE,OAAO,EAAE,mCAAmC,EAAE,MAAM,2BAA2B,CAAA;AAC/E,OAAO,EAAE,4BAA4B,EAAE,MAAM,mBAAmB,CAAA;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAA;AACrD,OAAO,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAA;AACvD,OAAO,EACL,KAAK,UAAU,EACf,uBAAuB,EACvB,yBAAyB,EACzB,YAAY,GACb,MAAM,aAAa,CAAA;AACpB,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/asyncapi/3.1/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AACxD,OAAO,EACL,6BAA6B,EAC7B,6BAA6B,EAC7B,+BAA+B,EAC/B,4BAA4B,GAC7B,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAA;AACzE,OAAO,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAA;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAA;AACjD,OAAO,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAA;AAC9D,OAAO,EAAE,mCAAmC,EAAE,MAAM,0BAA0B,CAAA;AAC9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAA;AAC3C,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAA;AACjD,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAA;AACzE,OAAO,EAAE,4BAA4B,EAAE,MAAM,mBAAmB,CAAA;AAChE,OAAO,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAA;AAC5D,OAAO,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAA;AAC3E,OAAO,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAA;AAC/E,OAAO,EAAE,4BAA4B,EAAE,MAAM,mBAAmB,CAAA;AAChE,OAAO,EAAE,mCAAmC,EAAE,MAAM,2BAA2B,CAAA;AAC/E,OAAO,EAAE,4BAA4B,EAAE,MAAM,mBAAmB,CAAA;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAA;AACrD,OAAO,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAA;AACvD,OAAO,EACL,KAAK,UAAU,EACf,uBAAuB,EACvB,yBAAyB,EACzB,YAAY,GACb,MAAM,aAAa,CAAA;AACpB,OAAO,EACL,+BAA+B,EAC/B,+BAA+B,EAC/B,qBAAqB,GACtB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,4BAA4B,EAAE,MAAM,mBAAmB,CAAA;AAChE,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAA;AACtE,OAAO,EAAE,4BAA4B,EAAE,MAAM,mBAAmB,CAAA;AAChE,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,OAAO,CAAA;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAA"}
|
|
@@ -18,8 +18,9 @@ export { asyncApiOperationTraitObject } from './operation-trait.js';
|
|
|
18
18
|
export { asyncApiParameterObject } from './parameter.js';
|
|
19
19
|
export { asyncApiParametersObject } from './parameters.js';
|
|
20
20
|
export { asyncApiReferenceObject, asyncApiResolvedReference, recursiveRef, } from './reference.js';
|
|
21
|
-
export { asyncApiMultiFormatSchemaObject, asyncApiSchemaPayload } from './schema-payload.js';
|
|
21
|
+
export { asyncApiMultiFormatSchemaObject, asyncApiSchemaObjectOrReference, asyncApiSchemaPayload, } from './schema-payload.js';
|
|
22
22
|
export { asyncApiSecuritySchemeObject } from './security-scheme.js';
|
|
23
23
|
export { asyncApiServerObject, asyncApiServersObject } from './server.js';
|
|
24
24
|
export { asyncApiServerVariableObject } from './server-variable.js';
|
|
25
25
|
export { asyncApiTagObject, asyncApiTagsObject } from './tag.js';
|
|
26
|
+
export { asyncApiWsBindingObject } from './ws-binding.js';
|
|
@@ -2,6 +2,8 @@ export declare const asyncApiMultiFormatSchemaObject: import("@scalar/validation
|
|
|
2
2
|
schemaFormat: import("@scalar/validation").OptionalSchema<import("@scalar/validation").StringSchema>;
|
|
3
3
|
schema: import("@scalar/validation").UnknownSchema;
|
|
4
4
|
}>;
|
|
5
|
+
/** Schema Object | Reference Object */
|
|
6
|
+
export declare const asyncApiSchemaObjectOrReference: import("@scalar/validation").Schema;
|
|
5
7
|
/** Multi Format Schema Object | Schema Object | Reference Object */
|
|
6
8
|
export declare const asyncApiSchemaPayload: import("@scalar/validation").Schema;
|
|
7
9
|
//# sourceMappingURL=schema-payload.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema-payload.d.ts","sourceRoot":"","sources":["../../../src/asyncapi/3.1/schema-payload.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,+BAA+B;;;EAa3C,CAAA;AAcD,oEAAoE;AACpE,eAAO,MAAM,qBAAqB,qCAIjC,CAAA"}
|
|
1
|
+
{"version":3,"file":"schema-payload.d.ts","sourceRoot":"","sources":["../../../src/asyncapi/3.1/schema-payload.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,+BAA+B;;;EAa3C,CAAA;AAcD,uCAAuC;AACvC,eAAO,MAAM,+BAA+B,qCAAwC,CAAA;AAEpF,oEAAoE;AACpE,eAAO,MAAM,qBAAqB,qCAIjC,CAAA"}
|
|
@@ -16,6 +16,8 @@ const asyncApiSchemaJsonShape = union([
|
|
|
16
16
|
typeComment: 'JSON Schema Draft 07 compatible schema (boolean true/false or object); see AsyncAPI Schema Object.',
|
|
17
17
|
}),
|
|
18
18
|
], { typeName: 'AsyncApiSchemaJsonShape' });
|
|
19
|
+
/** Schema Object | Reference Object */
|
|
20
|
+
export const asyncApiSchemaObjectOrReference = recursiveRef(asyncApiSchemaJsonShape);
|
|
19
21
|
/** Multi Format Schema Object | Schema Object | Reference Object */
|
|
20
22
|
export const asyncApiSchemaPayload = recursiveRef(union([asyncApiMultiFormatSchemaObject, asyncApiSchemaJsonShape], {
|
|
21
23
|
typeName: 'AsyncApiMultiFormatSchemaOrSchemaObject',
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AsyncAPI WebSocket binding (channel / operation / server).
|
|
3
|
+
*
|
|
4
|
+
* @see https://github.com/asyncapi/bindings/tree/master/websockets
|
|
5
|
+
*/
|
|
6
|
+
export declare const asyncApiWsBindingObject: import("@scalar/validation").ObjectSchema<{
|
|
7
|
+
method: import("@scalar/validation").OptionalSchema<import("@scalar/validation").UnionSchema<readonly [import("@scalar/validation").LiteralSchema<"GET">, import("@scalar/validation").LiteralSchema<"POST">]>>;
|
|
8
|
+
query: import("@scalar/validation").OptionalSchema<import("@scalar/validation").Schema>;
|
|
9
|
+
headers: import("@scalar/validation").OptionalSchema<import("@scalar/validation").Schema>;
|
|
10
|
+
bindingVersion: import("@scalar/validation").OptionalSchema<import("@scalar/validation").StringSchema>;
|
|
11
|
+
}>;
|
|
12
|
+
//# sourceMappingURL=ws-binding.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ws-binding.d.ts","sourceRoot":"","sources":["../../../src/asyncapi/3.1/ws-binding.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AACH,eAAO,MAAM,uBAAuB;;;;;EAyBnC,CAAA"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { literal, object, optional, string, union } from '@scalar/validation';
|
|
2
|
+
import { asyncApiSchemaObjectOrReference } from './schema-payload.js';
|
|
3
|
+
/**
|
|
4
|
+
* AsyncAPI WebSocket binding (channel / operation / server).
|
|
5
|
+
*
|
|
6
|
+
* @see https://github.com/asyncapi/bindings/tree/master/websockets
|
|
7
|
+
*/
|
|
8
|
+
export const asyncApiWsBindingObject = object({
|
|
9
|
+
method: optional(union([literal('GET'), literal('POST')], {
|
|
10
|
+
typeComment: 'HTTP method used when establishing the WebSocket connection (typically GET).',
|
|
11
|
+
})),
|
|
12
|
+
query: optional(asyncApiSchemaObjectOrReference, {
|
|
13
|
+
typeComment: 'Schema Object describing WebSocket handshake query parameters (type object with properties). May be a Reference Object.',
|
|
14
|
+
}),
|
|
15
|
+
headers: optional(asyncApiSchemaObjectOrReference, {
|
|
16
|
+
typeComment: 'Schema Object describing HTTP headers sent during the WebSocket handshake (type object with properties). May be a Reference Object.',
|
|
17
|
+
}),
|
|
18
|
+
bindingVersion: optional(string({
|
|
19
|
+
typeComment: 'Version of the WebSocket binding. When omitted, "latest" is assumed per the binding spec.',
|
|
20
|
+
})),
|
|
21
|
+
}, {
|
|
22
|
+
typeName: 'AsyncApiWsBindingObject',
|
|
23
|
+
typeComment: 'AsyncAPI WebSocket binding for handshake method, query, and headers.',
|
|
24
|
+
});
|
package/package.json
CHANGED
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"schemas",
|
|
15
15
|
"scalar"
|
|
16
16
|
],
|
|
17
|
-
"version": "0.3.
|
|
17
|
+
"version": "0.3.1",
|
|
18
18
|
"engines": {
|
|
19
19
|
"node": ">=22"
|
|
20
20
|
},
|
|
@@ -41,12 +41,12 @@
|
|
|
41
41
|
"CHANGELOG.md"
|
|
42
42
|
],
|
|
43
43
|
"dependencies": {
|
|
44
|
-
"@scalar/
|
|
45
|
-
"@scalar/
|
|
44
|
+
"@scalar/helpers": "0.8.0",
|
|
45
|
+
"@scalar/validation": "0.6.0"
|
|
46
46
|
},
|
|
47
47
|
"devDependencies": {
|
|
48
48
|
"vitest": "4.1.0",
|
|
49
|
-
"@scalar/types": "0.12.
|
|
49
|
+
"@scalar/types": "0.12.1"
|
|
50
50
|
},
|
|
51
51
|
"scripts": {
|
|
52
52
|
"build": "tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json",
|