@scalar/workspace-store 0.64.0 → 0.66.0
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 +121 -0
- package/README.md +45 -10
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +109 -10
- package/dist/entities/auth/schema.d.ts +351 -20
- package/dist/entities/auth/schema.d.ts.map +1 -1
- package/dist/entities/auth/schema.js +3 -1
- package/dist/events/definitions/auth.d.ts +1 -2
- package/dist/events/definitions/auth.d.ts.map +1 -1
- package/dist/events/definitions/operation.d.ts +3 -4
- package/dist/events/definitions/operation.d.ts.map +1 -1
- package/dist/events/definitions/server.d.ts +1 -2
- package/dist/events/definitions/server.d.ts.map +1 -1
- package/dist/events/definitions/ui.d.ts +3 -4
- package/dist/events/definitions/ui.d.ts.map +1 -1
- package/dist/events/old-definitions.d.ts +1 -2
- package/dist/events/old-definitions.d.ts.map +1 -1
- package/dist/helpers/chunk-index.d.ts +20 -2
- package/dist/helpers/chunk-index.d.ts.map +1 -1
- package/dist/helpers/chunk-index.js +14 -1
- package/dist/helpers/external-examples.d.ts +2 -0
- package/dist/helpers/external-examples.d.ts.map +1 -1
- package/dist/helpers/external-examples.js +1 -0
- package/dist/helpers/for-each-path-item-operation.d.ts +6 -5
- package/dist/helpers/for-each-path-item-operation.d.ts.map +1 -1
- package/dist/helpers/for-each-path-item-operation.js +40 -14
- package/dist/helpers/get-example-value.d.ts +15 -0
- package/dist/helpers/get-example-value.d.ts.map +1 -0
- package/dist/helpers/get-example-value.js +28 -0
- package/dist/helpers/get-parameter-example.d.ts +14 -0
- package/dist/helpers/get-parameter-example.d.ts.map +1 -0
- package/dist/helpers/get-parameter-example.js +19 -0
- package/dist/helpers/get-resolved-ref.d.ts.map +1 -1
- package/dist/helpers/get-resolved-ref.js +12 -1
- package/dist/helpers/normalize-boolean-schemas.d.ts +10 -0
- package/dist/helpers/normalize-boolean-schemas.d.ts.map +1 -0
- package/dist/helpers/normalize-boolean-schemas.js +193 -0
- package/dist/helpers/operation-examples.d.ts.map +1 -1
- package/dist/helpers/operation-examples.js +5 -2
- package/dist/helpers/querystring-parameter.d.ts +21 -0
- package/dist/helpers/querystring-parameter.d.ts.map +1 -0
- package/dist/helpers/querystring-parameter.js +108 -0
- package/dist/helpers/serialize-stream-example.d.ts +8 -0
- package/dist/helpers/serialize-stream-example.d.ts.map +1 -0
- package/dist/helpers/serialize-stream-example.js +52 -0
- package/dist/helpers/use-external-examples.d.ts.map +1 -1
- package/dist/helpers/use-external-examples.js +8 -1
- package/dist/mutators/index.d.ts +3 -3
- package/dist/mutators/operation/body.d.ts.map +1 -1
- package/dist/mutators/operation/body.js +9 -2
- package/dist/mutators/operation/operation.d.ts.map +1 -1
- package/dist/mutators/operation/operation.js +4 -7
- package/dist/mutators/operation/parameters.d.ts.map +1 -1
- package/dist/mutators/operation/parameters.js +43 -3
- package/dist/navigation/get-navigation-options.d.ts.map +1 -1
- package/dist/navigation/get-navigation-options.js +19 -4
- package/dist/navigation/helpers/traverse-paths.d.ts.map +1 -1
- package/dist/navigation/helpers/traverse-paths.js +2 -2
- package/dist/navigation/helpers/traverse-webhooks.d.ts.map +1 -1
- package/dist/navigation/helpers/traverse-webhooks.js +2 -2
- package/dist/navigation/helpers/update-order-ids.d.ts +1 -2
- package/dist/navigation/helpers/update-order-ids.d.ts.map +1 -1
- package/dist/plugins/bundler/index.d.ts +1 -0
- package/dist/plugins/bundler/index.d.ts.map +1 -1
- package/dist/plugins/bundler/index.js +11 -3
- package/dist/plugins/bundler/openapi-document.d.ts +6 -0
- package/dist/plugins/bundler/openapi-document.d.ts.map +1 -0
- package/dist/plugins/bundler/openapi-document.js +57 -0
- package/dist/request-example/builder/body/build-multipart.d.ts +29 -0
- package/dist/request-example/builder/body/build-multipart.d.ts.map +1 -0
- package/dist/request-example/builder/body/build-multipart.js +191 -0
- package/dist/request-example/builder/body/build-request-body.d.ts +6 -1
- package/dist/request-example/builder/body/build-request-body.d.ts.map +1 -1
- package/dist/request-example/builder/body/build-request-body.js +80 -23
- package/dist/request-example/builder/body/encode-multipart-body.d.ts +8 -8
- package/dist/request-example/builder/body/encode-multipart-body.d.ts.map +1 -1
- package/dist/request-example/builder/body/encode-multipart-body.js +56 -18
- package/dist/request-example/builder/body/get-request-body-example.d.ts.map +1 -1
- package/dist/request-example/builder/body/get-request-body-example.js +20 -6
- package/dist/request-example/builder/body/multipart-limits.d.ts +3 -0
- package/dist/request-example/builder/body/multipart-limits.d.ts.map +1 -0
- package/dist/request-example/builder/body/multipart-limits.js +2 -0
- package/dist/request-example/builder/body/serialize-form-property.d.ts +2 -0
- package/dist/request-example/builder/body/serialize-form-property.d.ts.map +1 -1
- package/dist/request-example/builder/body/serialize-form-property.js +3 -2
- package/dist/request-example/builder/body/serialize-multipart-array.d.ts +1 -1
- package/dist/request-example/builder/build-request.d.ts.map +1 -1
- package/dist/request-example/builder/build-request.js +7 -1
- package/dist/request-example/builder/header/build-request-parameters.d.ts +2 -0
- package/dist/request-example/builder/header/build-request-parameters.d.ts.map +1 -1
- package/dist/request-example/builder/header/build-request-parameters.js +54 -11
- package/dist/request-example/builder/header/is-param-disabled.d.ts.map +1 -1
- package/dist/request-example/builder/header/is-param-disabled.js +3 -1
- package/dist/request-example/builder/header/serialize-parameter.d.ts +11 -0
- package/dist/request-example/builder/header/serialize-parameter.d.ts.map +1 -1
- package/dist/request-example/builder/header/serialize-parameter.js +22 -0
- package/dist/request-example/builder/helpers/get-example-from-schema.d.ts.map +1 -1
- package/dist/request-example/builder/helpers/get-example-from-schema.js +42 -3
- package/dist/request-example/builder/helpers/get-example.d.ts.map +1 -1
- package/dist/request-example/builder/helpers/get-example.js +5 -2
- package/dist/request-example/builder/index.d.ts +2 -2
- package/dist/request-example/builder/index.d.ts.map +1 -1
- package/dist/request-example/builder/index.js +1 -1
- package/dist/request-example/builder/request-factory.d.ts +7 -0
- package/dist/request-example/builder/request-factory.d.ts.map +1 -1
- package/dist/request-example/builder/request-factory.js +10 -1
- package/dist/request-example/builder/resolve-request-factory-url.d.ts.map +1 -1
- package/dist/request-example/builder/resolve-request-factory-url.js +18 -2
- package/dist/request-example/builder/security/secret-types.d.ts +4 -1
- package/dist/request-example/builder/security/secret-types.d.ts.map +1 -1
- package/dist/request-example/context/headers.d.ts +1 -2
- package/dist/request-example/context/headers.d.ts.map +1 -1
- package/dist/request-example/context/security/extract-security-scheme-secrets.d.ts.map +1 -1
- package/dist/request-example/context/security/extract-security-scheme-secrets.js +15 -0
- package/dist/request-example/index.d.ts +5 -2
- package/dist/request-example/index.d.ts.map +1 -1
- package/dist/request-example/index.js +4 -1
- package/dist/request-example/types.d.ts +1 -2
- package/dist/request-example/types.d.ts.map +1 -1
- package/dist/request-example/xml/serialize-xml-part.d.ts +9 -0
- package/dist/request-example/xml/serialize-xml-part.d.ts.map +1 -0
- package/dist/request-example/xml/serialize-xml-part.js +12 -0
- package/dist/schemas/extensions/operation/x-code-samples.d.ts +22 -0
- package/dist/schemas/extensions/operation/x-code-samples.d.ts.map +1 -1
- package/dist/schemas/extensions/operation/x-code-samples.js +4 -0
- package/dist/schemas/extensions.d.ts +9 -0
- package/dist/schemas/extensions.d.ts.map +1 -1
- package/dist/schemas/extensions.js +9 -0
- package/dist/schemas/navigation.d.ts +40 -34
- package/dist/schemas/navigation.d.ts.map +1 -1
- package/dist/schemas/navigation.js +2 -3
- package/dist/schemas/reference-config/index.d.ts +24 -4
- package/dist/schemas/reference-config/index.d.ts.map +1 -1
- package/dist/schemas/reference-config/settings.d.ts +24 -4
- package/dist/schemas/reference-config/settings.d.ts.map +1 -1
- package/dist/schemas/v3.1/strict/oauthflows.d.ts +26 -0
- package/dist/schemas/v3.1/strict/oauthflows.d.ts.map +1 -1
- package/dist/schemas/v3.1/strict/oauthflows.js +3 -0
- package/dist/schemas/v3.1/strict/openapi-document.d.ts +1582 -147
- package/dist/schemas/v3.1/strict/openapi-document.d.ts.map +1 -1
- package/dist/schemas/v3.1/strict/operation.d.ts +8 -0
- package/dist/schemas/v3.1/strict/operation.d.ts.map +1 -1
- package/dist/schemas/v3.1/strict/path-item.d.ts +19 -0
- package/dist/schemas/v3.1/strict/path-item.d.ts.map +1 -1
- package/dist/schemas/v3.1/strict/path-item.js +5 -0
- package/dist/schemas/v3.2/openapi/index.d.ts +5 -0
- package/dist/schemas/v3.2/openapi/index.d.ts.map +1 -1
- package/dist/schemas/v3.2/openapi/index.js +48 -12
- package/dist/schemas/v3.2/openapi/reference.d.ts.map +1 -1
- package/dist/schemas/v3.2/openapi/reference.js +11 -3
- package/dist/schemas/v3.2/strict/openapi-document.d.ts +842 -140
- package/dist/schemas/v3.2/strict/openapi-document.d.ts.map +1 -1
- package/dist/schemas/v3.2/strict/openapi-document.js +6 -14
- package/dist/schemas/v3.2/strict/operation.d.ts +8 -0
- package/dist/schemas/v3.2/strict/operation.d.ts.map +1 -1
- package/dist/schemas/v3.2/strict/parameter.d.ts +14 -0
- package/dist/schemas/v3.2/strict/parameter.d.ts.map +1 -1
- package/dist/schemas/v3.2/strict/parameter.js +2 -0
- package/dist/server.d.ts +10 -6
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +67 -45
- package/package.json +19 -9
- package/dist/schemas/v3.1/openapi/index.d.ts +0 -149
- package/dist/schemas/v3.1/openapi/index.d.ts.map +0 -1
- package/dist/schemas/v3.1/openapi/index.js +0 -732
- package/dist/schemas/v3.1/openapi/reference.d.ts +0 -4
- package/dist/schemas/v3.1/openapi/reference.d.ts.map +0 -1
- package/dist/schemas/v3.1/openapi/reference.js +0 -29
|
@@ -308,6 +308,15 @@ const getCompositionSelectionIndex = (schemaPath, composition, options, length)
|
|
|
308
308
|
}
|
|
309
309
|
return Math.max(0, Math.min(rawIndex, length - 1));
|
|
310
310
|
};
|
|
311
|
+
/** A choice applies once at its path; a union inside the chosen branch makes its own choice. */
|
|
312
|
+
const consumeCompositionSelection = (options, schemaPath, composition) => {
|
|
313
|
+
const key = getCompositionSelectionKey(schemaPath, composition);
|
|
314
|
+
if (options?.compositionSelection?.[key] === undefined) {
|
|
315
|
+
return options;
|
|
316
|
+
}
|
|
317
|
+
const { [key]: _selection, ...compositionSelection } = options.compositionSelection;
|
|
318
|
+
return { ...options, compositionSelection };
|
|
319
|
+
};
|
|
311
320
|
/**
|
|
312
321
|
* Use the discriminator as a generation hint. Only referenced variants have
|
|
313
322
|
* implicit names; inline titles are display labels, not discriminator mappings.
|
|
@@ -465,7 +474,7 @@ const handleObjectSchema = (schema, options, level, seen, cacheKey, schemaPath,
|
|
|
465
474
|
0;
|
|
466
475
|
const chosen = resolve.schema(oneOfAnyOf[index]);
|
|
467
476
|
if (chosen) {
|
|
468
|
-
Object.assign(response, getExampleFromSchema(chosen, options, {
|
|
477
|
+
Object.assign(response, getExampleFromSchema(chosen, consumeCompositionSelection(options, schemaPath, compositionKeyword), {
|
|
469
478
|
level: level + 1,
|
|
470
479
|
schemaPath,
|
|
471
480
|
seen,
|
|
@@ -561,7 +570,7 @@ const handleArraySchema = (schema, options, level, seen, cacheKey, schemaPath, d
|
|
|
561
570
|
getDiscriminatorSelectionIndex(items, union, options) ??
|
|
562
571
|
0;
|
|
563
572
|
const selected = union[selectedIndex];
|
|
564
|
-
const ex = getExampleFromSchema(resolve.schema(selected), options, {
|
|
573
|
+
const ex = getExampleFromSchema(resolve.schema(selected), consumeCompositionSelection(options, itemsSchemaPath, compositionKeyword), {
|
|
565
574
|
level: level + 1,
|
|
566
575
|
parentSchema: schema,
|
|
567
576
|
schemaPath: itemsSchemaPath,
|
|
@@ -948,6 +957,36 @@ export const getExampleFromSchema = (schema, options, { level = 0, parentSchema,
|
|
|
948
957
|
// Deliberately not cached: the value holds only at this level, and the cache key carries none.
|
|
949
958
|
return getMaxDepthValue(_schema, options, schemaPath);
|
|
950
959
|
}
|
|
960
|
+
// Resolve non-object unions before type dispatch so shared root keywords do not
|
|
961
|
+
// hide the selected member. Use the same selection and discriminator rules as other unions.
|
|
962
|
+
const selectedComposition = _schema.oneOf ? 'oneOf' : _schema.anyOf ? 'anyOf' : undefined;
|
|
963
|
+
const selectedVariant = getSelectedVariant(_schema, options, schemaPath);
|
|
964
|
+
if (selectedComposition && selectedVariant) {
|
|
965
|
+
const rootType = 'type' in _schema ? _schema.type : undefined;
|
|
966
|
+
const variantType = 'type' in selectedVariant ? selectedVariant.type : undefined;
|
|
967
|
+
const selectedType = variantType ?? rootType ?? ('items' in _schema && !('properties' in _schema) ? 'array' : undefined);
|
|
968
|
+
if (selectedType !== undefined && selectedType !== 'object') {
|
|
969
|
+
const { oneOf: _oneOf, anyOf: _anyOf, ...base } = _schema;
|
|
970
|
+
const selectedSchema = { ...base, ...selectedVariant };
|
|
971
|
+
// These keywords only constrain their own types, but also drive our type inference.
|
|
972
|
+
if ('properties' in selectedSchema) {
|
|
973
|
+
delete selectedSchema.properties;
|
|
974
|
+
}
|
|
975
|
+
if (selectedType !== 'array' && 'items' in selectedSchema) {
|
|
976
|
+
delete selectedSchema.items;
|
|
977
|
+
}
|
|
978
|
+
const result = getExampleFromSchema(selectedSchema, consumeCompositionSelection(options, schemaPath, selectedComposition), {
|
|
979
|
+
level: level + 1,
|
|
980
|
+
parentSchema,
|
|
981
|
+
name,
|
|
982
|
+
schemaPath,
|
|
983
|
+
seen,
|
|
984
|
+
dynamicScope: childScope,
|
|
985
|
+
});
|
|
986
|
+
seen.delete(targetValue);
|
|
987
|
+
return cache(_schema, result, cacheKey, skipCache);
|
|
988
|
+
}
|
|
989
|
+
}
|
|
951
990
|
// Handle object types - check for properties to identify objects
|
|
952
991
|
if ('properties' in _schema || ('type' in _schema && _schema.type === 'object')) {
|
|
953
992
|
const result = handleObjectSchema(_schema, options, level, seen, cacheKey, schemaPath, dynamicScope);
|
|
@@ -982,7 +1021,7 @@ export const getExampleFromSchema = (schema, options, { level = 0, parentSchema,
|
|
|
982
1021
|
const resolved = resolve.schema(candidate);
|
|
983
1022
|
if (resolved) {
|
|
984
1023
|
seen.delete(targetValue);
|
|
985
|
-
return cache(_schema, getExampleFromSchema(resolved, options, {
|
|
1024
|
+
return cache(_schema, getExampleFromSchema(resolved, consumeCompositionSelection(options, schemaPath, compositionKeyword), {
|
|
986
1025
|
level: level + 1,
|
|
987
1026
|
schemaPath,
|
|
988
1027
|
seen,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-example.d.ts","sourceRoot":"","sources":["../../../../src/request-example/builder/helpers/get-example.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,eAAe,EACf,eAAe,EACf,iBAAiB,EAClB,MAAM,8DAA8D,CAAA;AAgCrE;;;;;;;;GAQG;AACH,eAAO,MAAM,UAAU,GACrB,OAAO,eAAe,GAAG,iBAAiB,GAAG,eAAe,EAC5D,aAAa,MAAM,GAAG,SAAS,EAC/B,aAAa,MAAM,GAAG,SAAS,KAC9B,aAAa,GAAG,
|
|
1
|
+
{"version":3,"file":"get-example.d.ts","sourceRoot":"","sources":["../../../../src/request-example/builder/helpers/get-example.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,eAAe,EACf,eAAe,EACf,iBAAiB,EAClB,MAAM,8DAA8D,CAAA;AAgCrE;;;;;;;;GAQG;AACH,eAAO,MAAM,UAAU,GACrB,OAAO,eAAe,GAAG,iBAAiB,GAAG,eAAe,EAC5D,aAAa,MAAM,GAAG,SAAS,EAC/B,aAAa,MAAM,GAAG,SAAS,KAC9B,aAAa,GAAG,SAgDlB,CAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { getResolvedRef } from '../../../helpers/get-resolved-ref.js';
|
|
1
|
+
import { getResolvedRef, mergeSiblingReferences } from '../../../helpers/get-resolved-ref.js';
|
|
2
2
|
/** Helper to get example from examples object with fallback to example field */
|
|
3
3
|
const getExampleFromExamples = (examples, exampleField, exampleName) => {
|
|
4
4
|
if (!examples && exampleField === undefined) {
|
|
@@ -46,7 +46,10 @@ export const getExample = (param, exampleName, contentType) => {
|
|
|
46
46
|
// Derive value from the schema
|
|
47
47
|
const resolvedParam = getResolvedRef(param);
|
|
48
48
|
if (resolvedParam && 'schema' in resolvedParam && resolvedParam.schema) {
|
|
49
|
-
const schema = resolvedParam.schema;
|
|
49
|
+
const schema = getResolvedRef(resolvedParam.schema, mergeSiblingReferences);
|
|
50
|
+
if (!schema) {
|
|
51
|
+
return undefined;
|
|
52
|
+
}
|
|
50
53
|
// Default value
|
|
51
54
|
if ('default' in schema && schema.default !== undefined) {
|
|
52
55
|
return { value: schema.default };
|
|
@@ -7,7 +7,7 @@ export { BUILD_REQUEST_FAILED, type BuildRequestData, type BuildRequestFailureCo
|
|
|
7
7
|
export { deSerializeParameter, deSerializeSchemaValue } from './header/de-serialize-parameter.js';
|
|
8
8
|
export { filterGlobalCookie } from './header/filter-global-cookies.js';
|
|
9
9
|
export { isParamDisabled } from './header/is-param-disabled.js';
|
|
10
|
-
export { serializeContentValue, serializeDeepObjectStyle, serializeFormStyle, serializeFormStyleForCookies, serializePipeDelimitedStyle, serializeSimpleStyle, serializeSpaceDelimitedStyle, } from './header/serialize-parameter.js';
|
|
10
|
+
export { serializeContentValue, serializeCookieStyle, serializeDeepObjectStyle, serializeFormStyle, serializeFormStyleForCookies, serializePipeDelimitedStyle, serializeSimpleStyle, serializeSpaceDelimitedStyle, } from './header/serialize-parameter.js';
|
|
11
11
|
export { getEnvironmentVariables } from './helpers/get-environment-variables.js';
|
|
12
12
|
export { getExample } from './helpers/get-example.js';
|
|
13
13
|
export { getExampleFromSchema } from './helpers/get-example-from-schema.js';
|
|
@@ -18,5 +18,5 @@ export { requestFactory } from './request-factory.js';
|
|
|
18
18
|
export { INVALID_REQUEST_FACTORY_URL, MISSING_REQUEST_SERVER_BASE, type ResolveRequestFactoryUrlError, type ResolveRequestFactoryUrlResult, resolveRequestFactoryUrl, } from './resolve-request-factory-url.js';
|
|
19
19
|
export { isEncryptionSchemeType, isSaslSchemeType } from './security/broker-scheme-types.js';
|
|
20
20
|
export { buildRequestSecurity } from './security/build-request-security.js';
|
|
21
|
-
export type { ApiKeyObjectSecret, EncryptionObjectSecret, GssapiObjectSecret, HttpObjectSecret, OAuth2ObjectSecret, OAuthFlowAuthorizationCodeSecret, OAuthFlowClientCredentialsSecret, OAuthFlowImplicitSecret, OAuthFlowPasswordSecret, OAuthFlowsObjectSecret, OpenIdConnectObjectSecret, SaslObjectSecret, SecuritySchemeObjectSecret, X509ObjectSecret, } from './security/secret-types.js';
|
|
21
|
+
export type { ApiKeyObjectSecret, EncryptionObjectSecret, GssapiObjectSecret, HttpObjectSecret, OAuth2ObjectSecret, OAuthFlowAuthorizationCodeSecret, OAuthFlowClientCredentialsSecret, OAuthFlowDeviceAuthorizationSecret, OAuthFlowImplicitSecret, OAuthFlowPasswordSecret, OAuthFlowsObjectSecret, OpenIdConnectObjectSecret, SaslObjectSecret, SecuritySchemeObjectSecret, X509ObjectSecret, } from './security/secret-types.js';
|
|
22
22
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/request-example/builder/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAA;AAC9F,OAAO,EAAE,0BAA0B,EAAE,MAAM,uCAAuC,CAAA;AAClF,OAAO,EACL,6BAA6B,EAC7B,2BAA2B,EAC3B,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,8BAA8B,CAAA;AACrC,OAAO,EAAE,KAAK,sBAAsB,EAAE,iCAAiC,EAAE,MAAM,gCAAgC,CAAA;AAC/G,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAA;AAC1E,OAAO,EACL,oBAAoB,EACpB,KAAK,gBAAgB,EACrB,KAAK,uBAAuB,EAC5B,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,YAAY,EACZ,2BAA2B,GAC5B,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAA;AAC9F,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAA;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EACL,qBAAqB,EACrB,wBAAwB,EACxB,kBAAkB,EAClB,4BAA4B,EAC5B,2BAA2B,EAC3B,oBAAoB,EACpB,4BAA4B,GAC7B,MAAM,8BAA8B,CAAA;AACrC,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAA;AAC7E,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAA;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAA;AACnE,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EACL,2BAA2B,EAC3B,2BAA2B,EAC3B,KAAK,6BAA6B,EAClC,KAAK,8BAA8B,EACnC,wBAAwB,GACzB,MAAM,+BAA+B,CAAA;AACtC,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AACzF,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAA;AACxE,YAAY,EACV,kBAAkB,EAClB,sBAAsB,EACtB,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,gCAAgC,EAChC,gCAAgC,EAChC,uBAAuB,EACvB,uBAAuB,EACvB,sBAAsB,EACtB,yBAAyB,EACzB,gBAAgB,EAChB,0BAA0B,EAC1B,gBAAgB,GACjB,MAAM,yBAAyB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/request-example/builder/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAA;AAC9F,OAAO,EAAE,0BAA0B,EAAE,MAAM,uCAAuC,CAAA;AAClF,OAAO,EACL,6BAA6B,EAC7B,2BAA2B,EAC3B,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,8BAA8B,CAAA;AACrC,OAAO,EAAE,KAAK,sBAAsB,EAAE,iCAAiC,EAAE,MAAM,gCAAgC,CAAA;AAC/G,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAA;AAC1E,OAAO,EACL,oBAAoB,EACpB,KAAK,gBAAgB,EACrB,KAAK,uBAAuB,EAC5B,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,YAAY,EACZ,2BAA2B,GAC5B,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAA;AAC9F,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAA;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,wBAAwB,EACxB,kBAAkB,EAClB,4BAA4B,EAC5B,2BAA2B,EAC3B,oBAAoB,EACpB,4BAA4B,GAC7B,MAAM,8BAA8B,CAAA;AACrC,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAA;AAC7E,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAA;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAA;AACnE,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EACL,2BAA2B,EAC3B,2BAA2B,EAC3B,KAAK,6BAA6B,EAClC,KAAK,8BAA8B,EACnC,wBAAwB,GACzB,MAAM,+BAA+B,CAAA;AACtC,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AACzF,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAA;AACxE,YAAY,EACV,kBAAkB,EAClB,sBAAsB,EACtB,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,gCAAgC,EAChC,gCAAgC,EAChC,kCAAkC,EAClC,uBAAuB,EACvB,uBAAuB,EACvB,sBAAsB,EACtB,yBAAyB,EACzB,gBAAgB,EAChB,0BAA0B,EAC1B,gBAAgB,GACjB,MAAM,yBAAyB,CAAA"}
|
|
@@ -7,7 +7,7 @@ export { BUILD_REQUEST_FAILED, buildRequest, resolveExecutableRequestUrl, } from
|
|
|
7
7
|
export { deSerializeParameter, deSerializeSchemaValue } from './header/de-serialize-parameter.js';
|
|
8
8
|
export { filterGlobalCookie } from './header/filter-global-cookies.js';
|
|
9
9
|
export { isParamDisabled } from './header/is-param-disabled.js';
|
|
10
|
-
export { serializeContentValue, serializeDeepObjectStyle, serializeFormStyle, serializeFormStyleForCookies, serializePipeDelimitedStyle, serializeSimpleStyle, serializeSpaceDelimitedStyle, } from './header/serialize-parameter.js';
|
|
10
|
+
export { serializeContentValue, serializeCookieStyle, serializeDeepObjectStyle, serializeFormStyle, serializeFormStyleForCookies, serializePipeDelimitedStyle, serializeSimpleStyle, serializeSpaceDelimitedStyle, } from './header/serialize-parameter.js';
|
|
11
11
|
export { getEnvironmentVariables } from './helpers/get-environment-variables.js';
|
|
12
12
|
export { getExample } from './helpers/get-example.js';
|
|
13
13
|
export { getExampleFromSchema } from './helpers/get-example-from-schema.js';
|
|
@@ -2,6 +2,7 @@ import type { XScalarEnvironment } from '@scalar/workspace-store/schemas/extensi
|
|
|
2
2
|
import type { XScalarCookie } from '@scalar/workspace-store/schemas/extensions/general/x-scalar-cookies';
|
|
3
3
|
import type { ServerObject } from '@scalar/workspace-store/schemas/v3.2/strict/openapi-document';
|
|
4
4
|
import type { OperationObject } from '@scalar/workspace-store/schemas/v3.2/strict/operation';
|
|
5
|
+
import { type QuerystringParameter } from '../../helpers/querystring-parameter.js';
|
|
5
6
|
import { type BuildRequestSecurityResult } from '../../request-example/builder/security/build-request-security.js';
|
|
6
7
|
import type { SecuritySchemeObjectSecret } from '../../request-example/builder/security/secret-types.js';
|
|
7
8
|
import type { RequestExampleMeta } from '../../request-example/types.js';
|
|
@@ -91,6 +92,8 @@ export type RequestFactory = {
|
|
|
91
92
|
* @example { "userId": "{env.USER_ID}" }
|
|
92
93
|
*/
|
|
93
94
|
variables: Record<string, string>;
|
|
95
|
+
/** Names whose example is already URI-encoded. */
|
|
96
|
+
serializedParameters?: Set<string>;
|
|
94
97
|
/**
|
|
95
98
|
* The raw request path string, as entered by the user or read from the OpenAPI schema.
|
|
96
99
|
* Placeholders are not yet substituted.
|
|
@@ -119,6 +122,10 @@ export type RequestFactory = {
|
|
|
119
122
|
* The actual query string is assembled later, after variable and environment expansion.
|
|
120
123
|
*/
|
|
121
124
|
query: URLSearchParams;
|
|
125
|
+
/** URI-ready named-parameter examples, appended without re-encoding. */
|
|
126
|
+
serializedQuery?: string[];
|
|
127
|
+
/** OpenAPI 3.2 whole-query parameter, serialized after environment substitution. */
|
|
128
|
+
querystring?: QuerystringParameter;
|
|
122
129
|
/**
|
|
123
130
|
* Headers to be sent with this request, combining spec-provided defaults, user overrides,
|
|
124
131
|
* and (potentially) security-related fields. All header values are unsubstituted at this stage.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request-factory.d.ts","sourceRoot":"","sources":["../../../src/request-example/builder/request-factory.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"request-factory.d.ts","sourceRoot":"","sources":["../../../src/request-example/builder/request-factory.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2EAA2E,CAAA;AACnH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qEAAqE,CAAA;AACxG,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8DAA8D,CAAA;AAChG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uDAAuD,CAAA;AAE5F,OAAO,EAAE,KAAK,oBAAoB,EAA2B,MAAM,iCAAiC,CAAA;AAEpG,OAAO,EACL,KAAK,0BAA0B,EAEhC,MAAM,2DAA2D,CAAA;AAClE,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,iDAAiD,CAAA;AACjG,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAGjE,OAAO,EAAE,KAAK,WAAW,EAAoB,MAAM,2BAA2B,CAAA;AAG9E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiEG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B;;;;;OAKG;IACH,OAAO,EAAE,MAAM,CAAA;IAEf;;OAEG;IACH,IAAI,EAAE;QACJ;;;;;WAKG;QACH,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QACjC,kDAAkD;QAClD,oBAAoB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;QAClC;;;;;WAKG;QACH,GAAG,EAAE,MAAM,CAAA;KACZ,CAAA;IAED;;;;OAIG;IACH,MAAM,EAAE,MAAM,CAAA;IAEd;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB;;;OAGG;IACH,KAAK,EAAE,eAAe,CAAA;IAEtB,wEAAwE;IACxE,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;IAE1B,oFAAoF;IACpF,WAAW,CAAC,EAAE,oBAAoB,CAAA;IAElC;;;OAGG;IACH,OAAO,EAAE,OAAO,CAAA;IAEhB;;;;OAIG;IACH,IAAI,EAAE,WAAW,GAAG,IAAI,CAAA;IAExB;;;;OAIG;IACH,OAAO,EAAE,aAAa,EAAE,CAAA;IAExB;;;OAGG;IACH,KAAK,EAAE,YAAY,CAAA;IAEnB;;;;OAIG;IACH,QAAQ,EAAE,0BAA0B,EAAE,CAAA;IAEtC;;;OAGG;IACH,8BAA8B,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAE5C;;;OAGG;IACH,OAAO,EAAE,OAAO,CAAC;QACf;;;WAGG;QACH,UAAU,EAAE,OAAO,CAAA;QACnB;;;WAGG;QACH,eAAe,EAAE,OAAO,CAAA;KACzB,CAAC,CAAA;CACH,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,cAAc,GAAI,kKAY5B,kBAAkB,GAAG;IACtB,2BAA2B;IAC3B,SAAS,EAAE,eAAe,CAAA;IAC1B,8CAA8C;IAC9C,WAAW,EAAE,kBAAkB,CAAA;IAC/B,mCAAmC;IACnC,aAAa,EAAE,aAAa,EAAE,CAAA;IAC9B,oDAAoD;IACpD,QAAQ,EAAE,MAAM,CAAA;IAChB,wBAAwB;IACxB,MAAM,EAAE,YAAY,GAAG,IAAI,CAAA;IAC3B,sBAAsB;IACtB,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACtC,qEAAqE;IACrE,UAAU,EAAE,OAAO,CAAA;IACnB,8DAA8D;IAC9D,uBAAuB,EAAE,0BAA0B,EAAE,CAAA;IACrD,sEAAsE;IACtE,+BAA+B,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACzD,KAAG;IACF,OAAO,EAAE,cAAc,CAAA;CA4ExB,CAAA"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { canMethodHaveBody } from '@scalar/helpers/http/can-method-have-body';
|
|
2
|
+
import { isHttpMethod } from '@scalar/helpers/http/is-http-method';
|
|
2
3
|
import { replacePathVariables } from '@scalar/helpers/regex/replace-variables';
|
|
3
4
|
import { getResolvedRef } from '@scalar/workspace-store/helpers/get-resolved-ref';
|
|
5
|
+
import { getQuerystringParameter } from '../../helpers/querystring-parameter.js';
|
|
4
6
|
import { getServerVariables } from '../../request-example/builder/helpers/get-server-variables.js';
|
|
5
7
|
import { buildRequestSecurity, } from '../../request-example/builder/security/build-request-security.js';
|
|
6
8
|
import { filterDisabledDefaultHeaders } from '../context/headers.js';
|
|
@@ -14,6 +16,10 @@ export const requestFactory = ({ exampleName, globalCookies, method, operation,
|
|
|
14
16
|
const requestBody = getResolvedRef(operation.requestBody);
|
|
15
17
|
/** Build out the request parameters */
|
|
16
18
|
const params = buildRequestParameters(operation.parameters ?? [], exampleName);
|
|
19
|
+
const querystringParameter = operation.parameters
|
|
20
|
+
?.map((parameter) => getResolvedRef(parameter))
|
|
21
|
+
.find((parameter) => parameter?.in === 'querystring');
|
|
22
|
+
const querystring = querystringParameter ? getQuerystringParameter(querystringParameter, exampleName) : undefined;
|
|
17
23
|
const security = buildRequestSecurity(selectedSecuritySchemes);
|
|
18
24
|
const headers = new Headers({
|
|
19
25
|
...filterDisabledDefaultHeaders(operation, exampleName, defaultHeaders),
|
|
@@ -50,10 +56,13 @@ export const requestFactory = ({ exampleName, globalCookies, method, operation,
|
|
|
50
56
|
proxyUrl,
|
|
51
57
|
path: {
|
|
52
58
|
variables: params.pathVariables,
|
|
59
|
+
...(params.serializedPathParameters ? { serializedParameters: params.serializedPathParameters } : {}),
|
|
53
60
|
raw: path,
|
|
54
61
|
},
|
|
55
62
|
query: params.urlParams,
|
|
56
|
-
|
|
63
|
+
...(params.serializedQuery ? { serializedQuery: params.serializedQuery } : {}),
|
|
64
|
+
...(querystring ? { querystring } : {}),
|
|
65
|
+
method: isHttpMethod(method) && method === method.toLowerCase() ? method.toUpperCase() : method,
|
|
57
66
|
headers,
|
|
58
67
|
body,
|
|
59
68
|
cookies: cookiesList,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve-request-factory-url.d.ts","sourceRoot":"","sources":["../../../src/request-example/builder/resolve-request-factory-url.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,MAAM,EAAW,MAAM,8BAA8B,CAAA;
|
|
1
|
+
{"version":3,"file":"resolve-request-factory-url.d.ts","sourceRoot":"","sources":["../../../src/request-example/builder/resolve-request-factory-url.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,MAAM,EAAW,MAAM,8BAA8B,CAAA;AAMnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAA;AAE/E;;;GAGG;AACH,eAAO,MAAM,2BAA2B,EAAG,6BAAsC,CAAA;AAEjF;;GAEG;AACH,eAAO,MAAM,2BAA2B,EAAG,6BAAsC,CAAA;AAEjF,MAAM,MAAM,6BAA6B,GAAG,OAAO,2BAA2B,GAAG,OAAO,2BAA2B,CAAA;AAEnH,MAAM,MAAM,8BAA8B,GAAG,MAAM,CAAC,MAAM,EAAE,6BAA6B,CAAC,CAAA;AAK1F;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,GACnC,SAAS,cAAc,EACvB,SAAS;IACP,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC,CAAA;IACzE,mBAAmB,EAAE,eAAe,CAAA;IACpC;;;OAGG;IACH,6BAA6B,CAAC,EAAE,OAAO,CAAA;CACxC,KACA,8BAoEF,CAAA"}
|
|
@@ -3,6 +3,7 @@ import { err, ok } from '@scalar/helpers/types/result';
|
|
|
3
3
|
import { safeRun } from '@scalar/helpers/types/safe-run';
|
|
4
4
|
import { isRelativePath } from '@scalar/helpers/url/is-relative-path';
|
|
5
5
|
import { mergeSearchParams, mergeUrls } from '@scalar/helpers/url/merge-urls';
|
|
6
|
+
import { serializeQuerystringParameter } from '../../helpers/querystring-parameter.js';
|
|
6
7
|
/**
|
|
7
8
|
* Discriminated error code when the merged request URL is not a complete absolute target
|
|
8
9
|
* (for example no OpenAPI server, or unresolved `{{environment}}` segments left in the merged URL).
|
|
@@ -22,7 +23,9 @@ export const resolveRequestFactoryUrl = (request, options) => {
|
|
|
22
23
|
const variables = options.envVariables;
|
|
23
24
|
const pathVariablesEncoded = safeRun(() => Object.fromEntries(Object.entries(request.path.variables).map(([key, value]) => [
|
|
24
25
|
key,
|
|
25
|
-
|
|
26
|
+
request.path.serializedParameters?.has(key)
|
|
27
|
+
? replaceEnvVariables(value, variables)
|
|
28
|
+
: encodeURIComponent(replaceEnvVariables(value, variables)),
|
|
26
29
|
])));
|
|
27
30
|
if (!pathVariablesEncoded.ok) {
|
|
28
31
|
return err(INVALID_REQUEST_FACTORY_URL, 'The request URL contains invalid characters in path parameters.');
|
|
@@ -54,6 +57,19 @@ export const resolveRequestFactoryUrl = (request, options) => {
|
|
|
54
57
|
for (const [key, value] of options.securityQueryParams.entries()) {
|
|
55
58
|
securityQueryParams.append(key, value);
|
|
56
59
|
}
|
|
57
|
-
|
|
60
|
+
if (request.querystring) {
|
|
61
|
+
// A whole-query value replaces the server/path query and must never pass through
|
|
62
|
+
// URLSearchParams, which would add '=' and change existing percent encodings.
|
|
63
|
+
const query = serializeQuerystringParameter(request.querystring, variables);
|
|
64
|
+
const extra = mergeSearchParams(operationQueryParams, securityQueryParams).toString();
|
|
65
|
+
url.search = [query, extra].filter(Boolean).join('&');
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
url.search = mergeSearchParams(url.searchParams, operationQueryParams, securityQueryParams).toString();
|
|
69
|
+
}
|
|
70
|
+
if (request.serializedQuery?.length) {
|
|
71
|
+
const query = request.serializedQuery.map((value) => replaceEnvVariables(value, variables)).join('&');
|
|
72
|
+
url.search = [url.search.slice(1), query].filter(Boolean).join('&');
|
|
73
|
+
}
|
|
58
74
|
return ok(url.toString());
|
|
59
75
|
};
|
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
import type { EncryptionSchemeType, SaslSchemeType } from '../../../request-example/builder/security/broker-scheme-types.js';
|
|
2
2
|
import type { XScalarAuthUrl, XScalarCredentialsLocation, XScalarSecretClientCertificate, XScalarSecretClientId, XScalarSecretClientSecret, XScalarSecretHTTP, XScalarSecretPrivateKey, XScalarSecretRedirectUri, XScalarSecretRefreshToken, XScalarSecretServiceName, XScalarSecretToken, XScalarTokenUrl } from '../../../schemas/extensions/security/index.js';
|
|
3
|
-
import type { OAuthFlowAuthorizationCode, OAuthFlowClientCredentials, OAuthFlowImplicit, OAuthFlowPassword } from '../../../schemas/v3.2/strict/oauth-flow.js';
|
|
3
|
+
import type { OAuthFlowAuthorizationCode, OAuthFlowClientCredentials, OAuthFlowDeviceAuthorization, OAuthFlowImplicit, OAuthFlowPassword } from '../../../schemas/v3.2/strict/oauth-flow.js';
|
|
4
4
|
import type { ApiKeyObject, HttpObject, MutualTlsObject, OAuth2Object, OpenIdConnectObject } from '../../../schemas/v3.2/strict/security-scheme.js';
|
|
5
5
|
type OAuthFlowCommonSecret = XScalarSecretClientId & XScalarSecretToken & XScalarSecretRefreshToken & XScalarAuthUrl & XScalarTokenUrl;
|
|
6
6
|
export type OAuthFlowImplicitSecret = OAuthFlowImplicit & OAuthFlowCommonSecret & XScalarSecretRedirectUri;
|
|
7
7
|
export type OAuthFlowPasswordSecret = OAuthFlowPassword & OAuthFlowCommonSecret & XScalarSecretHTTP & XScalarSecretClientSecret & XScalarCredentialsLocation;
|
|
8
8
|
export type OAuthFlowClientCredentialsSecret = OAuthFlowClientCredentials & OAuthFlowCommonSecret & XScalarSecretClientSecret & XScalarCredentialsLocation;
|
|
9
9
|
export type OAuthFlowAuthorizationCodeSecret = OAuthFlowAuthorizationCode & OAuthFlowCommonSecret & XScalarSecretClientSecret & XScalarSecretRedirectUri & XScalarCredentialsLocation;
|
|
10
|
+
/** Device authorization credentials and tokens shared by the auth UI and request builder. */
|
|
11
|
+
export type OAuthFlowDeviceAuthorizationSecret = OAuthFlowDeviceAuthorization & OAuthFlowCommonSecret & XScalarSecretClientSecret;
|
|
10
12
|
export type OAuthFlowsObjectSecret = {
|
|
13
|
+
deviceAuthorization?: OAuthFlowDeviceAuthorizationSecret;
|
|
11
14
|
implicit?: OAuthFlowImplicitSecret;
|
|
12
15
|
password?: OAuthFlowPasswordSecret;
|
|
13
16
|
clientCredentials?: OAuthFlowClientCredentialsSecret;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"secret-types.d.ts","sourceRoot":"","sources":["../../../../src/request-example/builder/security/secret-types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"secret-types.d.ts","sourceRoot":"","sources":["../../../../src/request-example/builder/security/secret-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import type { HttpMethod } from '@scalar/helpers/http/http-methods';
|
|
2
1
|
import type { OperationObject } from '@scalar/workspace-store/schemas/v3.2/strict/openapi-document';
|
|
3
2
|
/**
|
|
4
3
|
* Restores conventional casing for well-known default headers.
|
|
@@ -35,7 +34,7 @@ export declare const filterDisabledDefaultHeaders: (operation: OperationObject,
|
|
|
35
34
|
* operation parameter with `in: header` (disabled optional header parameters do not shadow defaults).
|
|
36
35
|
*/
|
|
37
36
|
export declare const getDefaultHeaders: ({ method, operation, exampleName, hideDisabledHeaders, hideOverriddenHeaders, options, }: {
|
|
38
|
-
method:
|
|
37
|
+
method: string;
|
|
39
38
|
operation: OperationObject;
|
|
40
39
|
exampleName: string;
|
|
41
40
|
hideDisabledHeaders?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"headers.d.ts","sourceRoot":"","sources":["../../../src/request-example/context/headers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"headers.d.ts","sourceRoot":"","sources":["../../../src/request-example/context/headers.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8DAA8D,CAAA;AAcnG;;;;;GAKG;AACH,eAAO,MAAM,6BAA6B,GAAI,YAAY,MAAM,KAAG,MACQ,CAAA;AAE3E;;GAEG;AACH,eAAO,MAAM,qCAAqC,GAAI,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CACK,CAAA;AAgDlH;;;;;;GAMG;AACH,eAAO,MAAM,4BAA4B,GACvC,WAAW,eAAe,EAC1B,aAAa,MAAM,EACnB,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAC9B,MAAM,CAAC,MAAM,EAAE,MAAM,CAIpB,CAAA;AAEJ;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,iBAAiB,GAAI,0FAU/B;IACD,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,eAAe,CAAA;IAC1B,WAAW,EAAE,MAAM,CAAA;IACnB,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,qBAAqB,CAAC,EAAE,OAAO,CAAA;IAC/B,OAAO,CAAC,EAAE;QACR,UAAU,EAAE,MAAM,CAAA;QAClB,UAAU,EAAE,OAAO,CAAA;KACpB,CAAA;CACF,KAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAuCxB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extract-security-scheme-secrets.d.ts","sourceRoot":"","sources":["../../../../src/request-example/context/security/extract-security-scheme-secrets.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,KAAK,EAAE,SAAS,EAA2C,MAAM,uCAAuC,CAAA;AAC/G,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iDAAiD,CAAA;AAQlF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8DAA8D,CAAA;AAExG,OAAO,KAAK,EAEV,kBAAkB,EAClB,sBAAsB,
|
|
1
|
+
{"version":3,"file":"extract-security-scheme-secrets.d.ts","sourceRoot":"","sources":["../../../../src/request-example/context/security/extract-security-scheme-secrets.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,KAAK,EAAE,SAAS,EAA2C,MAAM,uCAAuC,CAAA;AAC/G,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iDAAiD,CAAA;AAQlF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8DAA8D,CAAA;AAExG,OAAO,KAAK,EAEV,kBAAkB,EAClB,sBAAsB,EAUtB,gBAAgB,EAChB,0BAA0B,EAE3B,MAAM,iDAAiD,CAAA;AAGxD,wGAAwG;AACxG,MAAM,MAAM,gBAAgB,GAAG,oBAAoB,GAAG,WAAW,CAAC,cAAc,CAAC,CAAA;AAEjF,KAAK,gBAAgB,GAAG,gBAAgB,CAAC,MAAM,CAAC,GAAG,sBAAsB,CAAC,MAAM,CAAC,GAAG,MAAM,GAAG,QAAQ,CAAA;AACrG,KAAK,gBAAgB,GAAG;KACrB,CAAC,IAAI,gBAAgB,GAAG;QACvB,IAAI,EAAE,CAAC,CAAA;QACP,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,KAAK,CAAC,EAAE,MAAM,CAAA;KACf;CACF,CAAC,gBAAgB,CAAC,CAAA;AAmNnB,6DAA6D;AAC7D,eAAO,MAAM,4BAA4B,GAEvC,QAAQ,gBAAgB,GAAG,gBAAgB,GAAG,CAAC,kBAAkB,GAAG;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,EACvF,WAAW,SAAS,EACpB,MAAM,MAAM,EACZ,cAAc,MAAM,EACpB,oBAAoB,MAAM,KACzB,0BA6HF,CAAA"}
|
|
@@ -107,6 +107,20 @@ const extractOAuthFlowSecrets = (flows, storeSecrets, oauth2RedirectUri) => {
|
|
|
107
107
|
...extractRefreshTokenSecret(storeSecrets?.clientCredentials),
|
|
108
108
|
};
|
|
109
109
|
}
|
|
110
|
+
// Device authorization flow
|
|
111
|
+
if (key === 'deviceAuthorization') {
|
|
112
|
+
acc[key] = {
|
|
113
|
+
...flow,
|
|
114
|
+
...mergeFlowSecrets([
|
|
115
|
+
'x-scalar-secret-client-id',
|
|
116
|
+
'x-scalar-secret-client-secret',
|
|
117
|
+
'x-scalar-secret-token',
|
|
118
|
+
'x-scalar-secret-token-url',
|
|
119
|
+
], flow, storeSecrets?.deviceAuthorization),
|
|
120
|
+
...extractCredentialsLocation(flow, storeSecrets?.deviceAuthorization),
|
|
121
|
+
...extractRefreshTokenSecret(storeSecrets?.deviceAuthorization),
|
|
122
|
+
};
|
|
123
|
+
}
|
|
110
124
|
// Authorization code flow
|
|
111
125
|
if (key === 'authorizationCode') {
|
|
112
126
|
acc[key] = {
|
|
@@ -184,6 +198,7 @@ scheme, authStore, name, documentSlug, oauth2RedirectUri) => {
|
|
|
184
198
|
password: storeSecrets?.password,
|
|
185
199
|
clientCredentials: storeSecrets?.clientCredentials,
|
|
186
200
|
authorizationCode: storeSecrets?.authorizationCode,
|
|
201
|
+
deviceAuthorization: storeSecrets?.deviceAuthorization,
|
|
187
202
|
}, storeSecrets, oauth2RedirectUri);
|
|
188
203
|
return {
|
|
189
204
|
...scheme,
|
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
export type { ApiKeyObjectSecret, BuildRequestData, BuildRequestFailureCode, BuildRequestResult, EncryptionObjectSecret, GssapiObjectSecret, HttpObjectSecret, OAuth2ObjectSecret, OAuthFlowAuthorizationCodeSecret, OAuthFlowClientCredentialsSecret, OAuthFlowImplicitSecret, OAuthFlowPasswordSecret, OAuthFlowsObjectSecret, OpenIdConnectObjectSecret, RequestPayload, ResolveRequestFactoryUrlError, ResolveRequestFactoryUrlResult, SaslObjectSecret, SecuritySchemeObjectSecret, X509ObjectSecret, } from './builder/index.js';
|
|
2
|
-
export { BUILD_REQUEST_FAILED, INVALID_REQUEST_FACTORY_URL, MISSING_REQUEST_SERVER_BASE, type RequestFactory, type SerializedFormProperty, buildDottedNestedRowPredicate, buildRequest, buildRequestSecurity, coerceLeafValueToSchemaType, coerceUntypedValue, deSerializeParameter, deSerializeSchemaValue, filterGlobalCookie, getEnvironmentVariables, getExample, getExampleFromBody, getExampleFromSchema, getResolvedUrl, getSchemaExampleFromBody, getSelectedBodyContentType, getServerVariables, isEncryptionSchemeType, isParamDisabled, isSaslSchemeType, requestFactory, resolveExecutableRequestUrl, resolveLeafSchema, resolveRequestFactoryUrl, serializeContentValue, serializeDeepObjectStyle, serializeFormPropertyWithEncoding, serializeFormStyle, serializeFormStyleForCookies, serializeMultipartArray, serializePipeDelimitedStyle, serializeSimpleStyle, serializeSpaceDelimitedStyle, } from './builder/index.js';
|
|
1
|
+
export type { ApiKeyObjectSecret, BuildRequestData, BuildRequestFailureCode, BuildRequestResult, EncryptionObjectSecret, GssapiObjectSecret, HttpObjectSecret, OAuth2ObjectSecret, OAuthFlowAuthorizationCodeSecret, OAuthFlowClientCredentialsSecret, OAuthFlowDeviceAuthorizationSecret, OAuthFlowImplicitSecret, OAuthFlowPasswordSecret, OAuthFlowsObjectSecret, OpenIdConnectObjectSecret, RequestPayload, ResolveRequestFactoryUrlError, ResolveRequestFactoryUrlResult, SaslObjectSecret, SecuritySchemeObjectSecret, X509ObjectSecret, } from './builder/index.js';
|
|
2
|
+
export { BUILD_REQUEST_FAILED, INVALID_REQUEST_FACTORY_URL, MISSING_REQUEST_SERVER_BASE, type RequestFactory, type SerializedFormProperty, buildDottedNestedRowPredicate, buildRequest, buildRequestSecurity, coerceLeafValueToSchemaType, coerceUntypedValue, deSerializeParameter, deSerializeSchemaValue, filterGlobalCookie, getEnvironmentVariables, getExample, getExampleFromBody, getExampleFromSchema, getResolvedUrl, getSchemaExampleFromBody, getSelectedBodyContentType, getServerVariables, isEncryptionSchemeType, isParamDisabled, isSaslSchemeType, requestFactory, resolveExecutableRequestUrl, resolveLeafSchema, resolveRequestFactoryUrl, serializeContentValue, serializeCookieStyle, serializeDeepObjectStyle, serializeFormPropertyWithEncoding, serializeFormStyle, serializeFormStyleForCookies, serializeMultipartArray, serializePipeDelimitedStyle, serializeSimpleStyle, serializeSpaceDelimitedStyle, } from './builder/index.js';
|
|
3
|
+
export { needsMultipartEncoding } from './builder/body/build-multipart.js';
|
|
4
|
+
export { buildRequestBody } from './builder/body/build-request-body.js';
|
|
5
|
+
export { serializeMultipartBody } from './builder/body/encode-multipart-body.js';
|
|
3
6
|
export type { MergedSecuritySchemes } from './context/index.js';
|
|
4
7
|
export { type BuildRequestExampleContext, combineParams, filterDisabledDefaultHeaders, getActiveEnvironment, getActiveProxyUrl, getDefaultHeaders, getRequestExampleContext, getSecurityRequirements, getSecuritySchemes, getSelectedSecurity, getSelectedServer, getServers, isAuthOptional, mergeSecurity, restoreConventionalDefaultHeaderNames, restoreConventionalHeaderName, } from './context/index.js';
|
|
5
8
|
export { CONTEXT_FUNCTION_NAMES, type ContextFunctionEntry, type ContextFunctionName, POPULAR_CONTEXT_FUNCTION_KEYS, contextFunctions, getContextFunctionComment, isContextFunctionName, } from './functions.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/request-example/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,kBAAkB,EAClB,gBAAgB,EAChB,uBAAuB,EACvB,kBAAkB,EAClB,sBAAsB,EACtB,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,gCAAgC,EAChC,gCAAgC,EAChC,uBAAuB,EACvB,uBAAuB,EACvB,sBAAsB,EACtB,yBAAyB,EACzB,cAAc,EACd,6BAA6B,EAC7B,8BAA8B,EAC9B,gBAAgB,EAChB,0BAA0B,EAC1B,gBAAgB,GACjB,MAAM,WAAW,CAAA;AAClB,OAAO,EACL,oBAAoB,EACpB,2BAA2B,EAC3B,2BAA2B,EAC3B,KAAK,cAAc,EACnB,KAAK,sBAAsB,EAC3B,6BAA6B,EAC7B,YAAY,EACZ,oBAAoB,EACpB,2BAA2B,EAC3B,kBAAkB,EAClB,oBAAoB,EACpB,sBAAsB,EACtB,kBAAkB,EAClB,uBAAuB,EACvB,UAAU,EACV,kBAAkB,EAClB,oBAAoB,EACpB,cAAc,EACd,wBAAwB,EACxB,0BAA0B,EAC1B,kBAAkB,EAClB,sBAAsB,EACtB,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,2BAA2B,EAC3B,iBAAiB,EACjB,wBAAwB,EACxB,qBAAqB,EACrB,wBAAwB,EACxB,iCAAiC,EACjC,kBAAkB,EAClB,4BAA4B,EAC5B,uBAAuB,EACvB,2BAA2B,EAC3B,oBAAoB,EACpB,4BAA4B,GAC7B,MAAM,WAAW,CAAA;AAClB,YAAY,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAA;AACtD,OAAO,EACL,KAAK,0BAA0B,EAC/B,aAAa,EACb,4BAA4B,EAC5B,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,wBAAwB,EACxB,uBAAuB,EACvB,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,UAAU,EACV,cAAc,EACd,aAAa,EACb,qCAAqC,EACrC,6BAA6B,GAC9B,MAAM,WAAW,CAAA;AAClB,OAAO,EACL,sBAAsB,EACtB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,6BAA6B,EAC7B,gBAAgB,EAChB,yBAAyB,EACzB,qBAAqB,GACtB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,8BAA8B,EAAE,MAAM,kBAAkB,CAAA;AACjE,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/request-example/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,kBAAkB,EAClB,gBAAgB,EAChB,uBAAuB,EACvB,kBAAkB,EAClB,sBAAsB,EACtB,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,gCAAgC,EAChC,gCAAgC,EAChC,kCAAkC,EAClC,uBAAuB,EACvB,uBAAuB,EACvB,sBAAsB,EACtB,yBAAyB,EACzB,cAAc,EACd,6BAA6B,EAC7B,8BAA8B,EAC9B,gBAAgB,EAChB,0BAA0B,EAC1B,gBAAgB,GACjB,MAAM,WAAW,CAAA;AAClB,OAAO,EACL,oBAAoB,EACpB,2BAA2B,EAC3B,2BAA2B,EAC3B,KAAK,cAAc,EACnB,KAAK,sBAAsB,EAC3B,6BAA6B,EAC7B,YAAY,EACZ,oBAAoB,EACpB,2BAA2B,EAC3B,kBAAkB,EAClB,oBAAoB,EACpB,sBAAsB,EACtB,kBAAkB,EAClB,uBAAuB,EACvB,UAAU,EACV,kBAAkB,EAClB,oBAAoB,EACpB,cAAc,EACd,wBAAwB,EACxB,0BAA0B,EAC1B,kBAAkB,EAClB,sBAAsB,EACtB,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,2BAA2B,EAC3B,iBAAiB,EACjB,wBAAwB,EACxB,qBAAqB,EACrB,oBAAoB,EACpB,wBAAwB,EACxB,iCAAiC,EACjC,kBAAkB,EAClB,4BAA4B,EAC5B,uBAAuB,EACvB,2BAA2B,EAC3B,oBAAoB,EACpB,4BAA4B,GAC7B,MAAM,WAAW,CAAA;AAClB,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAA;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAA;AACpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAA;AAC7E,YAAY,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAA;AACtD,OAAO,EACL,KAAK,0BAA0B,EAC/B,aAAa,EACb,4BAA4B,EAC5B,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,wBAAwB,EACxB,uBAAuB,EACvB,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,UAAU,EACV,cAAc,EACd,aAAa,EACb,qCAAqC,EACrC,6BAA6B,GAC9B,MAAM,WAAW,CAAA;AAClB,OAAO,EACL,sBAAsB,EACtB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,6BAA6B,EAC7B,gBAAgB,EAChB,yBAAyB,EACzB,qBAAqB,GACtB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,8BAA8B,EAAE,MAAM,kBAAkB,CAAA;AACjE,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA"}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
export { BUILD_REQUEST_FAILED, INVALID_REQUEST_FACTORY_URL, MISSING_REQUEST_SERVER_BASE, buildDottedNestedRowPredicate, buildRequest, buildRequestSecurity, coerceLeafValueToSchemaType, coerceUntypedValue, deSerializeParameter, deSerializeSchemaValue, filterGlobalCookie, getEnvironmentVariables, getExample, getExampleFromBody, getExampleFromSchema, getResolvedUrl, getSchemaExampleFromBody, getSelectedBodyContentType, getServerVariables, isEncryptionSchemeType, isParamDisabled, isSaslSchemeType, requestFactory, resolveExecutableRequestUrl, resolveLeafSchema, resolveRequestFactoryUrl, serializeContentValue, serializeDeepObjectStyle, serializeFormPropertyWithEncoding, serializeFormStyle, serializeFormStyleForCookies, serializeMultipartArray, serializePipeDelimitedStyle, serializeSimpleStyle, serializeSpaceDelimitedStyle, } from './builder/index.js';
|
|
1
|
+
export { BUILD_REQUEST_FAILED, INVALID_REQUEST_FACTORY_URL, MISSING_REQUEST_SERVER_BASE, buildDottedNestedRowPredicate, buildRequest, buildRequestSecurity, coerceLeafValueToSchemaType, coerceUntypedValue, deSerializeParameter, deSerializeSchemaValue, filterGlobalCookie, getEnvironmentVariables, getExample, getExampleFromBody, getExampleFromSchema, getResolvedUrl, getSchemaExampleFromBody, getSelectedBodyContentType, getServerVariables, isEncryptionSchemeType, isParamDisabled, isSaslSchemeType, requestFactory, resolveExecutableRequestUrl, resolveLeafSchema, resolveRequestFactoryUrl, serializeContentValue, serializeCookieStyle, serializeDeepObjectStyle, serializeFormPropertyWithEncoding, serializeFormStyle, serializeFormStyleForCookies, serializeMultipartArray, serializePipeDelimitedStyle, serializeSimpleStyle, serializeSpaceDelimitedStyle, } from './builder/index.js';
|
|
2
|
+
export { needsMultipartEncoding } from './builder/body/build-multipart.js';
|
|
3
|
+
export { buildRequestBody } from './builder/body/build-request-body.js';
|
|
4
|
+
export { serializeMultipartBody } from './builder/body/encode-multipart-body.js';
|
|
2
5
|
export { combineParams, filterDisabledDefaultHeaders, getActiveEnvironment, getActiveProxyUrl, getDefaultHeaders, getRequestExampleContext, getSecurityRequirements, getSecuritySchemes, getSelectedSecurity, getSelectedServer, getServers, isAuthOptional, mergeSecurity, restoreConventionalDefaultHeaderNames, restoreConventionalHeaderName, } from './context/index.js';
|
|
3
6
|
export { CONTEXT_FUNCTION_NAMES, POPULAR_CONTEXT_FUNCTION_KEYS, contextFunctions, getContextFunctionComment, isContextFunctionName, } from './functions.js';
|
|
4
7
|
export { createVariablesStoreForRequest } from './variable-store/index.js';
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import type { HttpMethod } from '@scalar/helpers/http/http-methods';
|
|
2
1
|
/**
|
|
3
2
|
* Re-exported from `@scalar/helpers/types/result` so the rest of the
|
|
4
3
|
* workspace-store codebase keeps importing `Result` from a colocated
|
|
@@ -8,7 +7,7 @@ export type { Result } from '@scalar/helpers/types/result';
|
|
|
8
7
|
export type RequestExampleMeta = {
|
|
9
8
|
/** API path, or webhook name when `isWebhook` is true. */
|
|
10
9
|
path: string;
|
|
11
|
-
method:
|
|
10
|
+
method: string;
|
|
12
11
|
exampleName: string;
|
|
13
12
|
/** Resolve the operation from `document.webhooks` instead of `document.paths`. */
|
|
14
13
|
isWebhook?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/request-example/types.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/request-example/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,YAAY,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAA;AAE1D,MAAM,MAAM,kBAAkB,GAAG;IAC/B,0DAA0D;IAC1D,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,EAAE,MAAM,CAAA;IACnB,kFAAkF;IAClF,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB,CAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { SchemaObject } from '../../schemas/v3.2/strict/openapi-document.js';
|
|
2
|
+
/**
|
|
3
|
+
* Serialize structured XML part data through a single request boundary.
|
|
4
|
+
* TODO: Delegate to the schema-aware XML serializer when it is integrated.
|
|
5
|
+
* Preserve the legacy root-name contract at this boundary.
|
|
6
|
+
* Already serialized XML strings bypass this adapter in the multipart builder.
|
|
7
|
+
*/
|
|
8
|
+
export declare const serializeXmlPart: (value: Record<string, unknown>, schema?: SchemaObject) => string;
|
|
9
|
+
//# sourceMappingURL=serialize-xml-part.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serialize-xml-part.d.ts","sourceRoot":"","sources":["../../../src/request-example/xml/serialize-xml-part.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAA;AAE1E;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,GAAI,OAAO,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS,YAAY,KAAG,MAGxF,CAAA"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { json2xml } from '@scalar/helpers/file/json2xml';
|
|
2
|
+
import { unpackProxyObject } from '../../helpers/unpack-proxy.js';
|
|
3
|
+
/**
|
|
4
|
+
* Serialize structured XML part data through a single request boundary.
|
|
5
|
+
* TODO: Delegate to the schema-aware XML serializer when it is integrated.
|
|
6
|
+
* Preserve the legacy root-name contract at this boundary.
|
|
7
|
+
* Already serialized XML strings bypass this adapter in the multipart builder.
|
|
8
|
+
*/
|
|
9
|
+
export const serializeXmlPart = (value, schema) => {
|
|
10
|
+
const rootName = schema?.xml?.name ?? 'root';
|
|
11
|
+
return json2xml({ [rootName]: unpackProxyObject(value) });
|
|
12
|
+
};
|
|
@@ -3,16 +3,22 @@ export declare const XCodeSamplesSchema: import("@scalar/typebox").TObject<{
|
|
|
3
3
|
lang: import("@scalar/typebox").TOptional<import("@scalar/typebox").TString>;
|
|
4
4
|
label: import("@scalar/typebox").TOptional<import("@scalar/typebox").TString>;
|
|
5
5
|
source: import("@scalar/typebox").TString;
|
|
6
|
+
example: import("@scalar/typebox").TOptional<import("@scalar/typebox").TString>;
|
|
7
|
+
contentType: import("@scalar/typebox").TOptional<import("@scalar/typebox").TString>;
|
|
6
8
|
}>>>;
|
|
7
9
|
'x-code-samples': import("@scalar/typebox").TOptional<import("@scalar/typebox").TArray<import("@scalar/typebox").TObject<{
|
|
8
10
|
lang: import("@scalar/typebox").TOptional<import("@scalar/typebox").TString>;
|
|
9
11
|
label: import("@scalar/typebox").TOptional<import("@scalar/typebox").TString>;
|
|
10
12
|
source: import("@scalar/typebox").TString;
|
|
13
|
+
example: import("@scalar/typebox").TOptional<import("@scalar/typebox").TString>;
|
|
14
|
+
contentType: import("@scalar/typebox").TOptional<import("@scalar/typebox").TString>;
|
|
11
15
|
}>>>;
|
|
12
16
|
'x-custom-examples': import("@scalar/typebox").TOptional<import("@scalar/typebox").TArray<import("@scalar/typebox").TObject<{
|
|
13
17
|
lang: import("@scalar/typebox").TOptional<import("@scalar/typebox").TString>;
|
|
14
18
|
label: import("@scalar/typebox").TOptional<import("@scalar/typebox").TString>;
|
|
15
19
|
source: import("@scalar/typebox").TString;
|
|
20
|
+
example: import("@scalar/typebox").TOptional<import("@scalar/typebox").TString>;
|
|
21
|
+
contentType: import("@scalar/typebox").TOptional<import("@scalar/typebox").TString>;
|
|
16
22
|
}>>>;
|
|
17
23
|
'x-readme': import("@scalar/typebox").TOptional<import("@scalar/typebox").TObject<{
|
|
18
24
|
'code-samples': import("@scalar/typebox").TOptional<import("@scalar/typebox").TArray<import("@scalar/typebox").TObject<{
|
|
@@ -38,12 +44,18 @@ export declare const XCodeSamplesSchema: import("@scalar/typebox").TObject<{
|
|
|
38
44
|
lang: import("@scalar/typebox").TOptional<import("@scalar/typebox").TString>;
|
|
39
45
|
label: import("@scalar/typebox").TOptional<import("@scalar/typebox").TString>;
|
|
40
46
|
source: import("@scalar/typebox").TString;
|
|
47
|
+
example: import("@scalar/typebox").TOptional<import("@scalar/typebox").TString>;
|
|
48
|
+
contentType: import("@scalar/typebox").TOptional<import("@scalar/typebox").TString>;
|
|
41
49
|
}>>>;
|
|
42
50
|
}>;
|
|
43
51
|
export type XCodeSample = {
|
|
44
52
|
lang?: string;
|
|
45
53
|
label?: string;
|
|
46
54
|
source: string;
|
|
55
|
+
/** Request body example key used by this sample. */
|
|
56
|
+
example?: string;
|
|
57
|
+
/** Request body media type used by this sample. */
|
|
58
|
+
contentType?: string;
|
|
47
59
|
};
|
|
48
60
|
/** A single ReadMe custom code sample. */
|
|
49
61
|
export type XReadmeCodeSample = {
|
|
@@ -63,6 +75,8 @@ export declare const XCodeSample: import("@scalar/validation").ObjectSchema<{
|
|
|
63
75
|
lang: import("@scalar/validation").OptionalSchema<import("@scalar/validation").StringSchema>;
|
|
64
76
|
label: import("@scalar/validation").OptionalSchema<import("@scalar/validation").StringSchema>;
|
|
65
77
|
source: import("@scalar/validation").StringSchema;
|
|
78
|
+
example: import("@scalar/validation").OptionalSchema<import("@scalar/validation").StringSchema>;
|
|
79
|
+
contentType: import("@scalar/validation").OptionalSchema<import("@scalar/validation").StringSchema>;
|
|
66
80
|
}>;
|
|
67
81
|
export type XCodeSamples = {
|
|
68
82
|
'x-codeSamples'?: XCodeSample[];
|
|
@@ -81,16 +95,22 @@ export declare const XCodeSamples: import("@scalar/validation").ObjectSchema<{
|
|
|
81
95
|
lang: import("@scalar/validation").OptionalSchema<import("@scalar/validation").StringSchema>;
|
|
82
96
|
label: import("@scalar/validation").OptionalSchema<import("@scalar/validation").StringSchema>;
|
|
83
97
|
source: import("@scalar/validation").StringSchema;
|
|
98
|
+
example: import("@scalar/validation").OptionalSchema<import("@scalar/validation").StringSchema>;
|
|
99
|
+
contentType: import("@scalar/validation").OptionalSchema<import("@scalar/validation").StringSchema>;
|
|
84
100
|
}>>>;
|
|
85
101
|
'x-code-samples': import("@scalar/validation").OptionalSchema<import("@scalar/validation").ArraySchema<import("@scalar/validation").ObjectSchema<{
|
|
86
102
|
lang: import("@scalar/validation").OptionalSchema<import("@scalar/validation").StringSchema>;
|
|
87
103
|
label: import("@scalar/validation").OptionalSchema<import("@scalar/validation").StringSchema>;
|
|
88
104
|
source: import("@scalar/validation").StringSchema;
|
|
105
|
+
example: import("@scalar/validation").OptionalSchema<import("@scalar/validation").StringSchema>;
|
|
106
|
+
contentType: import("@scalar/validation").OptionalSchema<import("@scalar/validation").StringSchema>;
|
|
89
107
|
}>>>;
|
|
90
108
|
'x-custom-examples': import("@scalar/validation").OptionalSchema<import("@scalar/validation").ArraySchema<import("@scalar/validation").ObjectSchema<{
|
|
91
109
|
lang: import("@scalar/validation").OptionalSchema<import("@scalar/validation").StringSchema>;
|
|
92
110
|
label: import("@scalar/validation").OptionalSchema<import("@scalar/validation").StringSchema>;
|
|
93
111
|
source: import("@scalar/validation").StringSchema;
|
|
112
|
+
example: import("@scalar/validation").OptionalSchema<import("@scalar/validation").StringSchema>;
|
|
113
|
+
contentType: import("@scalar/validation").OptionalSchema<import("@scalar/validation").StringSchema>;
|
|
94
114
|
}>>>;
|
|
95
115
|
'x-readme': import("@scalar/validation").OptionalSchema<import("@scalar/validation").ObjectSchema<{
|
|
96
116
|
'code-samples': import("@scalar/validation").OptionalSchema<import("@scalar/validation").ArraySchema<import("@scalar/validation").ObjectSchema<{
|
|
@@ -116,6 +136,8 @@ export declare const XCodeSamples: import("@scalar/validation").ObjectSchema<{
|
|
|
116
136
|
lang: import("@scalar/validation").OptionalSchema<import("@scalar/validation").StringSchema>;
|
|
117
137
|
label: import("@scalar/validation").OptionalSchema<import("@scalar/validation").StringSchema>;
|
|
118
138
|
source: import("@scalar/validation").StringSchema;
|
|
139
|
+
example: import("@scalar/validation").OptionalSchema<import("@scalar/validation").StringSchema>;
|
|
140
|
+
contentType: import("@scalar/validation").OptionalSchema<import("@scalar/validation").StringSchema>;
|
|
119
141
|
}>>>;
|
|
120
142
|
}>;
|
|
121
143
|
//# sourceMappingURL=x-code-samples.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"x-code-samples.d.ts","sourceRoot":"","sources":["../../../../src/schemas/extensions/operation/x-code-samples.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"x-code-samples.d.ts","sourceRoot":"","sources":["../../../../src/schemas/extensions/operation/x-code-samples.ts"],"names":[],"mappings":"AAuCA,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQ7B,CAAA;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,oDAAoD;IACpD,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,mDAAmD;IACnD,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB,CAAA;AAED,0CAA0C;AAC1C,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,oBAAoB,CAAC,EAAE,MAAM,CAAA;CAC9B,CAAA;AAED,yEAAyE;AACzE,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAChC,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAED,eAAO,MAAM,WAAW;;;;;;EAMtB,CAAA;AAuBF,MAAM,MAAM,YAAY,GAAG;IACzB,eAAe,CAAC,EAAE,WAAW,EAAE,CAAA;IAC/B,gBAAgB,CAAC,EAAE,WAAW,EAAE,CAAA;IAChC,mBAAmB,CAAC,EAAE,WAAW,EAAE,CAAA;IACnC,UAAU,CAAC,EAAE;QACX,cAAc,CAAC,EAAE,iBAAiB,EAAE,CAAA;QACpC,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAA;KAC/B,CAAA;IACD,sBAAsB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC/C,sBAAsB,CAAC,EAAE,gBAAgB,GAAG,gBAAgB,EAAE,CAAA;IAC9D,mBAAmB,CAAC,EAAE,WAAW,EAAE,CAAA;CACpC,CAAA;AAED,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQvB,CAAA"}
|
|
@@ -4,6 +4,8 @@ const XCodeSampleSchema = Type.Object({
|
|
|
4
4
|
lang: Type.Optional(Type.String()),
|
|
5
5
|
label: Type.Optional(Type.String()),
|
|
6
6
|
source: Type.String(),
|
|
7
|
+
example: Type.Optional(Type.String()),
|
|
8
|
+
contentType: Type.Optional(Type.String()),
|
|
7
9
|
});
|
|
8
10
|
/** A single ReadMe custom code sample (`x-readme.code-samples`). */
|
|
9
11
|
const XReadmeCodeSampleSchema = Type.Object({
|
|
@@ -42,6 +44,8 @@ export const XCodeSample = object({
|
|
|
42
44
|
lang: optional(string()),
|
|
43
45
|
label: optional(string()),
|
|
44
46
|
source: string(),
|
|
47
|
+
example: optional(string()),
|
|
48
|
+
contentType: optional(string()),
|
|
45
49
|
});
|
|
46
50
|
const XReadmeCodeSample = object({
|
|
47
51
|
language: optional(string()),
|
|
@@ -1,6 +1,15 @@
|
|
|
1
1
|
export declare const extensions: {
|
|
2
2
|
readonly document: {
|
|
3
3
|
readonly navigation: "x-scalar-navigation";
|
|
4
|
+
/**
|
|
5
|
+
* Where a compact document's navigation children are, until they are loaded.
|
|
6
|
+
*
|
|
7
|
+
* Only a compact server workspace sets it, and `resolve(['x-scalar-navigation'])` removes it once
|
|
8
|
+
* the children are on the document. Its presence is what "not loaded yet" means, so it has to
|
|
9
|
+
* travel with the document: `exportWorkspace` carries it, and a store the workspace is loaded
|
|
10
|
+
* into resolves from it.
|
|
11
|
+
*/
|
|
12
|
+
readonly navigationChunk: "x-scalar-navigation-chunk";
|
|
4
13
|
};
|
|
5
14
|
readonly workspace: {
|
|
6
15
|
readonly colorMode: "x-scalar-color-mode";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extensions.d.ts","sourceRoot":"","sources":["../../src/schemas/extensions.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU
|
|
1
|
+
{"version":3,"file":"extensions.d.ts","sourceRoot":"","sources":["../../src/schemas/extensions.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU;;;QAGnB;;;;;;;WAOG;;;;;;;;;;;CAWG,CAAA"}
|