/** * @module SKMTC Core * * SKMTC (Schema Kit Mapping & Type Conversion) is a powerful TypeScript/Deno library * for processing OpenAPI v3 documents and generating code artifacts. It provides a * comprehensive three-phase pipeline for parsing, generating, and rendering OpenAPI * schemas into various output formats. * * ## Quick Start * * ```typescript * import { toArtifacts } from '@skmtc/core'; * * const result = await toArtifacts({ * traceId: 'my-trace', * spanId: 'my-span', * documentObject: openApiDoc, * settings: clientSettings, * toGeneratorConfigMap: () => generatorMap, * startAt: Date.now(), * silent: false * }); * * console.log(result.artifacts); // Generated code files * console.log(result.manifest); // Generation metadata * ``` * * ## Architecture * * The library follows a three-phase pipeline: * - **Parse Phase**: Converts OpenAPI v3 JSON into internal OAS objects * - **Generate Phase**: Transforms OAS objects into generator artifacts * - **Render Phase**: Renders artifacts to formatted files * * ## Key Components * * - {@link CoreContext} - Main orchestration class for the pipeline * - {@link toArtifacts} - Primary transformation function * - {@link ContentBase} - Base class for creating generators * - {@link ModelBase} and {@link OperationBase} - DSL building blocks * - {@link List} - Powerful string manipulation and code generation utility * * ## Type System * * The library provides comprehensive TypeScript types for OpenAPI schemas, * generator configurations, and output artifacts. All major types are * validated using Valibot schemas for runtime safety. * * @example Basic Usage * ```typescript * import { CoreContext } from '@skmtc/core'; * * const context = new CoreContext({ * spanId: 'my-span', * silent: false * }); * * const result = await context.toArtifacts({ * documentObject: myOpenApiDoc, * settings: mySettings, * toGeneratorConfigMap: () => myGenerators, * prettier: prettierConfig, * silent: false * }); * ``` */ export * from './app/validate.js'; export * from './context/CoreContext.js'; export * from './context/GenerateContext.js'; export * from './context/ParseContext.js'; export * from './context/RenderContext.js'; export * from './context/types.js'; export * from './dsl/constants.js'; export * from './dsl/ContentBase.js'; export * from './dsl/ContentSettings.js'; export * from './dsl/Definition.js'; export * from './dsl/EntityType.js'; export * from './dsl/File.js'; export * from './dsl/JsonFile.js'; export * from './dsl/GeneratedValueList.js'; export * from './dsl/Identifier.js'; export * from './dsl/Import.js'; export * from './dsl/Inserted.js'; export * from './dsl/model/ModelBase.js'; export * from './dsl/model/ModelDriver.js'; export * from './dsl/model/toModelBase.js'; export * from './dsl/model/toModelEntry.js'; export * from './dsl/model/types.js'; export * from './dsl/operation/OperationBase.js'; export * from './dsl/operation/OperationDriver.js'; export * from './dsl/operation/toOperationBase.js'; export * from './dsl/operation/toOperationEntry.js'; export * from './dsl/operation/types.js'; export * from './dsl/Stringable.js'; export * from './helpers/collateExamples.js'; export * from './helpers/formatNumber.js'; export * from './helpers/generationStats.js'; export * from './helpers/isEmpty.js'; export * from './helpers/isImported.js'; export * from './helpers/isGeneratorName.js'; export * from './helpers/naming.js'; export * from './helpers/refFns.js'; export * from './helpers/strings.js'; export * from './helpers/parseModuleName.js'; export * from './helpers/toResolvedArtifactPath.js'; export * from './context/StackTrail.js'; export * from './oas/array/Array.js'; export * from './oas/array/array-types.js'; export * from './oas/array/toArray.js'; export * from './oas/boolean/Boolean.js'; export * from './oas/boolean/boolean-types.js'; export * from './oas/boolean/toBoolean.js'; export * from './oas/components/Components.js'; export * from './oas/components/components-types.js'; export * from './oas/contact/Contact.js'; export * from './oas/contact/contact-types.js'; export * from './oas/discriminator/Discriminator.js'; export * from './oas/discriminator/discriminator-types.js'; export * from './oas/document/Document.js'; export * from './oas/document/document-types.js'; export * from './oas/example/Example.js'; export * from './oas/example/example-types.js'; export * from './oas/header/Header.js'; export * from './oas/header/header-types.js'; export * from './oas/info/Info.js'; export * from './oas/info/info-types.js'; export * from './oas/license/License.js'; export * from './oas/license/license-types.js'; export * from './oas/mediaType/MediaType.js'; export * from './oas/mediaType/mediaType-types.js'; export * from './oas/integer/Integer.js'; export * from './oas/integer/integer-types.js'; export * from './oas/integer/toInteger.js'; export * from './oas/number/Number.js'; export * from './oas/number/number-types.js'; export * from './oas/number/toNumber.js'; export * from './oas/object/Object.js'; export * from './oas/object/object-types.js'; export * from './oas/object/toObject.js'; export * from './oas/operation/Operation.js'; export * from './oas/operation/operation-types.js'; export * from './oas/parameter/Parameter.js'; export * from './oas/parameter/parameter-types.js'; export * from './oas/pathItem/PathItem.js'; export * from './oas/pathItem/pathItem-types.js'; export * from './oas/ref/Ref.js'; export * from './oas/ref/ref-types.js'; export * from './oas/ref/toRefV31.js'; export * from './oas/requestBody/RequestBody.js'; export * from './oas/requestBody/requestBody-types.js'; export * from './oas/response/Response.js'; export * from './oas/response/response-types.js'; export * from './oas/schema/Schema.js'; export * from './oas/schema/schema-types.js'; export * from './oas/schema/toSchemasV3.js'; export * from './oas/securityRequirement/SecurityRequirement.js'; export * from './oas/securitySchemes/SecurityScheme.js'; export * from './oas/server/Server.js'; export * from './oas/serverVariable/ServerVariable.js'; export * from './oas/string/String.js'; export * from './oas/string/string-types.js'; export * from './oas/string/toString.js'; export * from './oas/tag/Tag.js'; export * from './oas/tag/tag-types.js'; export * from './oas/union/Union.js'; export * from './oas/union/union-types.js'; export * from './oas/union/toUnion.js'; export * from './oas/unknown/Unknown.js'; export * from './oas/unknown/unknown-types.js'; export * from './oas/unknown/toUnknown.js'; export * from './oas/void/Void.js'; export * from './run/toArtifacts.js'; export * from './run/toV3JsonDocument.js'; export * from './types/CustomValue.js'; export * from './types/DenoJson.js'; export * from './types/EnrichmentRequest.js'; export * from './types/Enrichments.js'; export * from './types/GeneratedValue.js'; export * from './types/GeneratorKeys.js'; export * from './types/GeneratorType.js'; export * from './types/Logger.js'; export * from './types/Manifest.js'; export * from './types/Method.js'; export * from './types/Modifiers.js'; export * from './types/ModuleExport.js'; export * from './types/PrettierConfig.js'; export * from './types/Preview.js'; export * from './types/RefName.js'; export * from './types/Results.js'; export * from './types/Settings.js'; export * from './types/TypeSystem.js'; export * from './typescript/FunctionParameter.js'; export * from './typescript/identifiers.js'; export * from './typescript/keyValues.js'; export * from './typescript/List.js'; export * from './typescript/PathParams.js'; export * from './typescript/ReactRouterPathParams.js'; export * from './typescript/toPathTemplate.js'; export * from './typescript/toPathParams.js'; export * from './typescript/withDescription.js'; //# sourceMappingURL=mod.d.ts.map