Files
suaveplan/packages/api-stack/api/api-openapi-ui-scalar/src/index.ts
2026-05-27 23:29:53 +01:00

72 lines
1.7 KiB
TypeScript

// Side-effect import — surfaces the OPENAPI_UI_SCALAR error-code
// registry to consumers via `import "@suaveplan/api-openapi-ui-scalar"`.
import "./error-codes/error-codes.js";
// Assets
export {
type BundledAssetProbe,
defaultBundledAssetProbe,
fnv1a32,
hashedAssetPath,
listScalarAssetNames,
type ResolveAssetUrlInput,
type ResolvedAssetUrl,
resolveAsset,
resolveAssetUrl,
SCALAR_ASSETS,
type ScalarAsset,
} from "./assets/assets.js";
// Error codes
export {
OPENAPI_UI_SCALAR_CODES,
type OpenapiUiScalarCode,
OpenapiUiScalarError,
} from "./error-codes/error-codes.js";
// Handler
export {
type CreateScalarUiHandlerInput,
createScalarUiHandler,
type ScalarHttpRequest,
type ScalarHttpResponse,
type ScalarUiHandler,
type ScalarUiHandlerBundle,
} from "./handler/handler.js";
// Headers
export {
type BuildCspInput,
buildCspHeader,
CSP_HEADER_NAME,
cspAllowsInlineScripts,
originOf,
} from "./headers/csp.js";
// HTML
export {
escapeHtml,
type RenderShellInput,
renderShell,
} from "./html/render-shell.js";
// Instruments
export {
createScalarInstruments,
recordUiRequest,
type ScalarInstruments,
type ScalarInstrumentsConfig,
UI_LABEL_VALUE,
} from "./instruments/instruments.js";
// Options
export {
parseScalarUiOptions,
SCALAR_ASSET_MODES,
SCALAR_LAYOUTS,
SCALAR_THEMES,
type ScalarUiOptions,
type ScalarUiOptionsInput,
scalarUiOptionsSchema,
} from "./options/options.js";
// Per-plugin
export {
type CreatePerPluginScalarUiHandlerInput,
createPerPluginScalarUiHandler,
type PerPluginScalarUiHandlerBundle,
} from "./per-plugin/per-plugin.js";