@skmtc/core 0.0.806 → 0.0.808

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.
Files changed (55) hide show
  1. package/esm/helpers/toResolvedArtifactPath.d.ts +64 -0
  2. package/esm/helpers/toResolvedArtifactPath.d.ts.map +1 -1
  3. package/esm/helpers/toResolvedArtifactPath.js +61 -0
  4. package/esm/types/EnrichmentRequest.d.ts +62 -0
  5. package/esm/types/EnrichmentRequest.d.ts.map +1 -1
  6. package/esm/types/EnrichmentRequest.js +53 -0
  7. package/esm/types/GeneratorKeys.d.ts +64 -0
  8. package/esm/types/GeneratorKeys.d.ts.map +1 -1
  9. package/esm/types/GeneratorKeys.js +64 -0
  10. package/esm/types/Manifest.d.ts +72 -0
  11. package/esm/types/Manifest.d.ts.map +1 -1
  12. package/esm/types/Manifest.js +72 -0
  13. package/esm/types/Method.d.ts +68 -0
  14. package/esm/types/Method.d.ts.map +1 -1
  15. package/esm/types/Method.js +68 -0
  16. package/esm/types/PrettierConfig.d.ts +74 -0
  17. package/esm/types/PrettierConfig.d.ts.map +1 -1
  18. package/esm/types/PrettierConfig.js +74 -0
  19. package/esm/types/Preview.d.ts +75 -0
  20. package/esm/types/Preview.d.ts.map +1 -1
  21. package/esm/types/Preview.js +75 -0
  22. package/esm/types/RefName.d.ts +70 -0
  23. package/esm/types/RefName.d.ts.map +1 -1
  24. package/esm/types/RefName.js +70 -0
  25. package/esm/types/Results.d.ts +97 -0
  26. package/esm/types/Results.d.ts.map +1 -1
  27. package/esm/types/Results.js +97 -0
  28. package/package.json +1 -1
  29. package/script/helpers/toResolvedArtifactPath.d.ts +64 -0
  30. package/script/helpers/toResolvedArtifactPath.d.ts.map +1 -1
  31. package/script/helpers/toResolvedArtifactPath.js +61 -0
  32. package/script/types/EnrichmentRequest.d.ts +62 -0
  33. package/script/types/EnrichmentRequest.d.ts.map +1 -1
  34. package/script/types/EnrichmentRequest.js +53 -0
  35. package/script/types/GeneratorKeys.d.ts +64 -0
  36. package/script/types/GeneratorKeys.d.ts.map +1 -1
  37. package/script/types/GeneratorKeys.js +64 -0
  38. package/script/types/Manifest.d.ts +72 -0
  39. package/script/types/Manifest.d.ts.map +1 -1
  40. package/script/types/Manifest.js +72 -0
  41. package/script/types/Method.d.ts +68 -0
  42. package/script/types/Method.d.ts.map +1 -1
  43. package/script/types/Method.js +68 -0
  44. package/script/types/PrettierConfig.d.ts +74 -0
  45. package/script/types/PrettierConfig.d.ts.map +1 -1
  46. package/script/types/PrettierConfig.js +74 -0
  47. package/script/types/Preview.d.ts +75 -0
  48. package/script/types/Preview.d.ts.map +1 -1
  49. package/script/types/Preview.js +75 -0
  50. package/script/types/RefName.d.ts +70 -0
  51. package/script/types/RefName.d.ts.map +1 -1
  52. package/script/types/RefName.js +70 -0
  53. package/script/types/Results.d.ts +97 -0
  54. package/script/types/Results.d.ts.map +1 -1
  55. package/script/types/Results.js +97 -0
@@ -1,3 +1,70 @@
1
+ /**
2
+ * @fileoverview HTTP Method System for SKMTC Core
3
+ *
4
+ * This module provides comprehensive HTTP method definitions and utilities for
5
+ * handling OpenAPI operations. It includes type-safe method definitions,
6
+ * validation utilities, and constants for all HTTP methods supported by
7
+ * the OpenAPI v3 specification.
8
+ *
9
+ * The module ensures type safety when working with HTTP methods throughout
10
+ * the SKMTC pipeline and provides utilities for method validation and processing.
11
+ *
12
+ * ## Key Features
13
+ *
14
+ * - **Complete Method Support**: All HTTP methods from OpenAPI v3 specification
15
+ * - **Type Safety**: Branded types and type guards for method handling
16
+ * - **Validation**: Runtime validation with Valibot integration
17
+ * - **Case Handling**: Proper case normalization for method strings
18
+ * - **Specification Compliance**: Full adherence to OpenAPI v3 method definitions
19
+ *
20
+ * @example Working with HTTP methods
21
+ * ```typescript
22
+ * import { Method, isMethod, methodValues } from '@skmtc/core/Method';
23
+ *
24
+ * // Type-safe method handling
25
+ * const method: Method = 'GET';
26
+ *
27
+ * // Validate unknown method strings
28
+ * const userInput = 'post';
29
+ * if (isMethod(userInput)) {
30
+ * console.log(`Valid method: ${userInput}`); // TypeScript knows it's a Method
31
+ * }
32
+ *
33
+ * // List all supported methods
34
+ * console.log('Supported methods:', methodValues);
35
+ * ```
36
+ *
37
+ * @example Method validation in generators
38
+ * ```typescript
39
+ * import { isMethod, Method } from '@skmtc/core/Method';
40
+ *
41
+ * function processOperation(path: string, method: string, operation: any) {
42
+ * if (!isMethod(method)) {
43
+ * throw new Error(`Unsupported HTTP method: ${method}`);
44
+ * }
45
+ *
46
+ * // TypeScript now knows method is of type Method
47
+ * return generateOperationCode(path, method, operation);
48
+ * }
49
+ * ```
50
+ *
51
+ * @example Case-insensitive method handling
52
+ * ```typescript
53
+ * import { normalizeMethod, isMethod } from '@skmtc/core/Method';
54
+ *
55
+ * function handleMethodString(methodStr: string) {
56
+ * const normalized = methodStr.toLowerCase();
57
+ *
58
+ * if (isMethod(normalized)) {
59
+ * return processValidMethod(normalized);
60
+ * } else {
61
+ * throw new Error(`Invalid method: ${methodStr}`);
62
+ * }
63
+ * }
64
+ * ```
65
+ *
66
+ * @module Method
67
+ */
1
68
  import "../_dnt.polyfills.js";
2
69
  import * as v from 'valibot';
3
70
  /**
@@ -5,6 +72,7 @@ import * as v from 'valibot';
5
72
  *
6
73
  * This constant array includes all HTTP methods that can be used
7
74
  * in OpenAPI path operations, as defined by the OpenAPI specification.
75
+ * All methods are in lowercase to match OpenAPI conventions.
8
76
  */
9
77
  export const methodValues = [
10
78
  'get',
@@ -1,3 +1,77 @@
1
+ /**
2
+ * @fileoverview Prettier Configuration System for SKMTC Core
3
+ *
4
+ * This module provides comprehensive type definitions and validation schemas for
5
+ * Prettier code formatting configuration within the SKMTC code generation pipeline.
6
+ * It ensures that generated code is properly formatted according to specified
7
+ * formatting rules and style guidelines.
8
+ *
9
+ * The Prettier configuration system supports all standard Prettier options,
10
+ * enabling fine-tuned control over code formatting for different output targets
11
+ * and project requirements.
12
+ *
13
+ * ## Key Features
14
+ *
15
+ * - **Complete Option Coverage**: All Prettier configuration options supported
16
+ * - **Type Safety**: Full TypeScript typing and Valibot validation
17
+ * - **Flexible Configuration**: Optional settings with sensible defaults
18
+ * - **Multi-Language Support**: Formatting options for JavaScript, TypeScript, JSX, HTML, and more
19
+ * - **Integration Ready**: Direct integration with the SKMTC rendering pipeline
20
+ *
21
+ * @example Basic Prettier configuration
22
+ * ```typescript
23
+ * import type { PrettierConfigType } from '@skmtc/core/PrettierConfig';
24
+ *
25
+ * const config: PrettierConfigType = {
26
+ * printWidth: 100,
27
+ * tabWidth: 2,
28
+ * useTabs: false,
29
+ * semi: true,
30
+ * singleQuote: true,
31
+ * trailingComma: 'es5'
32
+ * };
33
+ * ```
34
+ *
35
+ * @example TypeScript and JSX formatting
36
+ * ```typescript
37
+ * import type { PrettierConfigType } from '@skmtc/core/PrettierConfig';
38
+ *
39
+ * const tsConfig: PrettierConfigType = {
40
+ * printWidth: 120,
41
+ * tabWidth: 2,
42
+ * semi: true,
43
+ * singleQuote: true,
44
+ * jsxSingleQuote: true,
45
+ * bracketSameLine: false,
46
+ * arrowParens: 'avoid'
47
+ * };
48
+ * ```
49
+ *
50
+ * @example Validation usage
51
+ * ```typescript
52
+ * import { prettierConfigType, PrettierConfigType } from '@skmtc/core/PrettierConfig';
53
+ * import * as v from 'valibot';
54
+ *
55
+ * function validatePrettierConfig(config: unknown): PrettierConfigType {
56
+ * return v.parse(prettierConfigType, config);
57
+ * }
58
+ *
59
+ * const userConfig = {
60
+ * printWidth: 80,
61
+ * singleQuote: true,
62
+ * invalidOption: 'test' // This would cause validation error
63
+ * };
64
+ *
65
+ * try {
66
+ * const validConfig = validatePrettierConfig(userConfig);
67
+ * console.log('Valid configuration:', validConfig);
68
+ * } catch (error) {
69
+ * console.error('Invalid Prettier configuration:', error);
70
+ * }
71
+ * ```
72
+ *
73
+ * @module PrettierConfig
74
+ */
1
75
  import "../_dnt.polyfills.js";
2
76
  import * as v from 'valibot';
3
77
  export type PrettierConfigType = {
@@ -1 +1 @@
1
- {"version":3,"file":"PrettierConfig.d.ts","sourceRoot":"","sources":["../../src/types/PrettierConfig.ts"],"names":[],"mappings":"AAAA,OAAO,sBAAsB,CAAC;AAC9B,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAE5B,MAAM,MAAM,kBAAkB,GAAG;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,UAAU,CAAC,EAAE,WAAW,GAAG,YAAY,GAAG,UAAU,CAAA;IACpD,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,aAAa,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,KAAK,CAAA;IACtC,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,WAAW,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAA;IAChC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,SAAS,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,UAAU,CAAA;IAC3C,yBAAyB,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,QAAQ,CAAA;IACvD,uBAAuB,CAAC,EAAE,OAAO,CAAA;IACjC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAAA;IACzC,0BAA0B,CAAC,EAAE,MAAM,GAAG,KAAK,CAAA;IAC3C,sBAAsB,CAAC,EAAE,OAAO,CAAA;CACjC,CAAA;AAED,eAAO,MAAM,kBAAkB,EAAE,CAAC,CAAC,aAAa,CAAC,kBAAkB,CA6BjE,CAAA"}
1
+ {"version":3,"file":"PrettierConfig.d.ts","sourceRoot":"","sources":["../../src/types/PrettierConfig.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyEG;AACH,OAAO,sBAAsB,CAAC;AAG9B,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAE5B,MAAM,MAAM,kBAAkB,GAAG;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,UAAU,CAAC,EAAE,WAAW,GAAG,YAAY,GAAG,UAAU,CAAA;IACpD,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,aAAa,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,KAAK,CAAA;IACtC,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,WAAW,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAA;IAChC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,SAAS,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,UAAU,CAAA;IAC3C,yBAAyB,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,QAAQ,CAAA;IACvD,uBAAuB,CAAC,EAAE,OAAO,CAAA;IACjC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAAA;IACzC,0BAA0B,CAAC,EAAE,MAAM,GAAG,KAAK,CAAA;IAC3C,sBAAsB,CAAC,EAAE,OAAO,CAAA;CACjC,CAAA;AAED,eAAO,MAAM,kBAAkB,EAAE,CAAC,CAAC,aAAa,CAAC,kBAAkB,CA6BjE,CAAA"}
@@ -1,3 +1,77 @@
1
+ /**
2
+ * @fileoverview Prettier Configuration System for SKMTC Core
3
+ *
4
+ * This module provides comprehensive type definitions and validation schemas for
5
+ * Prettier code formatting configuration within the SKMTC code generation pipeline.
6
+ * It ensures that generated code is properly formatted according to specified
7
+ * formatting rules and style guidelines.
8
+ *
9
+ * The Prettier configuration system supports all standard Prettier options,
10
+ * enabling fine-tuned control over code formatting for different output targets
11
+ * and project requirements.
12
+ *
13
+ * ## Key Features
14
+ *
15
+ * - **Complete Option Coverage**: All Prettier configuration options supported
16
+ * - **Type Safety**: Full TypeScript typing and Valibot validation
17
+ * - **Flexible Configuration**: Optional settings with sensible defaults
18
+ * - **Multi-Language Support**: Formatting options for JavaScript, TypeScript, JSX, HTML, and more
19
+ * - **Integration Ready**: Direct integration with the SKMTC rendering pipeline
20
+ *
21
+ * @example Basic Prettier configuration
22
+ * ```typescript
23
+ * import type { PrettierConfigType } from '@skmtc/core/PrettierConfig';
24
+ *
25
+ * const config: PrettierConfigType = {
26
+ * printWidth: 100,
27
+ * tabWidth: 2,
28
+ * useTabs: false,
29
+ * semi: true,
30
+ * singleQuote: true,
31
+ * trailingComma: 'es5'
32
+ * };
33
+ * ```
34
+ *
35
+ * @example TypeScript and JSX formatting
36
+ * ```typescript
37
+ * import type { PrettierConfigType } from '@skmtc/core/PrettierConfig';
38
+ *
39
+ * const tsConfig: PrettierConfigType = {
40
+ * printWidth: 120,
41
+ * tabWidth: 2,
42
+ * semi: true,
43
+ * singleQuote: true,
44
+ * jsxSingleQuote: true,
45
+ * bracketSameLine: false,
46
+ * arrowParens: 'avoid'
47
+ * };
48
+ * ```
49
+ *
50
+ * @example Validation usage
51
+ * ```typescript
52
+ * import { prettierConfigType, PrettierConfigType } from '@skmtc/core/PrettierConfig';
53
+ * import * as v from 'valibot';
54
+ *
55
+ * function validatePrettierConfig(config: unknown): PrettierConfigType {
56
+ * return v.parse(prettierConfigType, config);
57
+ * }
58
+ *
59
+ * const userConfig = {
60
+ * printWidth: 80,
61
+ * singleQuote: true,
62
+ * invalidOption: 'test' // This would cause validation error
63
+ * };
64
+ *
65
+ * try {
66
+ * const validConfig = validatePrettierConfig(userConfig);
67
+ * console.log('Valid configuration:', validConfig);
68
+ * } catch (error) {
69
+ * console.error('Invalid Prettier configuration:', error);
70
+ * }
71
+ * ```
72
+ *
73
+ * @module PrettierConfig
74
+ */
1
75
  import "../_dnt.polyfills.js";
2
76
  import * as v from 'valibot';
3
77
  export const prettierConfigType = v.object({
@@ -1,3 +1,78 @@
1
+ /**
2
+ * @fileoverview Preview and Mapping System for SKMTC Core
3
+ *
4
+ * This module provides comprehensive types and utilities for creating preview
5
+ * interfaces and mapping configurations for generated code. The preview system
6
+ * enables interactive demonstrations of generated APIs, forms, tables, and
7
+ * other UI components within development tools and documentation.
8
+ *
9
+ * The mapping system provides metadata about how OpenAPI operations and models
10
+ * translate to generated code, enabling rich tooling experiences and
11
+ * reverse-engineering capabilities.
12
+ *
13
+ * ## Key Features
14
+ *
15
+ * - **Interactive Previews**: Rich preview interfaces for generated components
16
+ * - **Source Mapping**: Traceability from generated code back to OpenAPI sources
17
+ * - **UI Grouping**: Organized grouping of related UI components (forms, tables, inputs)
18
+ * - **Generator Integration**: Deep integration with the generator pipeline
19
+ * - **Type Safety**: Comprehensive validation and type safety throughout
20
+ *
21
+ * @example Creating operation previews
22
+ * ```typescript
23
+ * import type { PreviewModule, OperationSource } from '@skmtc/core/Preview';
24
+ *
25
+ * const operationSource: OperationSource = {
26
+ * type: 'operation',
27
+ * generatorId: 'react-forms',
28
+ * operationPath: '/users',
29
+ * operationMethod: 'POST'
30
+ * };
31
+ *
32
+ * const preview: PreviewModule = {
33
+ * title: 'Create User Form',
34
+ * description: 'Interactive form for creating new users',
35
+ * group: 'forms',
36
+ * source: operationSource,
37
+ * moduleName: 'CreateUserForm',
38
+ * exportName: 'default'
39
+ * };
40
+ * ```
41
+ *
42
+ * @example Creating model previews
43
+ * ```typescript
44
+ * import type { PreviewModule, ModelSource } from '@skmtc/core/Preview';
45
+ *
46
+ * const modelSource: ModelSource = {
47
+ * type: 'model',
48
+ * generatorId: 'typescript-types',
49
+ * refName: 'User'
50
+ * };
51
+ *
52
+ * const preview: PreviewModule = {
53
+ * title: 'User Type Definition',
54
+ * description: 'TypeScript interface for User model',
55
+ * group: 'tables',
56
+ * source: modelSource,
57
+ * moduleName: 'UserTypes',
58
+ * exportName: 'User'
59
+ * };
60
+ * ```
61
+ *
62
+ * @example Working with mappings
63
+ * ```typescript
64
+ * import type { MappingModule } from '@skmtc/core/Preview';
65
+ *
66
+ * const mapping: MappingModule = {
67
+ * source: operationSource,
68
+ * moduleName: 'UserApi',
69
+ * exportName: 'createUser',
70
+ * generatedPath: './src/generated/UserApi.ts'
71
+ * };
72
+ * ```
73
+ *
74
+ * @module Preview
75
+ */
1
76
  import "../_dnt.polyfills.js";
2
77
  import { type Method } from './Method.js';
3
78
  import * as v from 'valibot';
@@ -1 +1 @@
1
- {"version":3,"file":"Preview.d.ts","sourceRoot":"","sources":["../../src/types/Preview.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Preview.d.ts","sourceRoot":"","sources":["../../src/types/Preview.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,78 @@
1
+ /**
2
+ * @fileoverview Preview and Mapping System for SKMTC Core
3
+ *
4
+ * This module provides comprehensive types and utilities for creating preview
5
+ * interfaces and mapping configurations for generated code. The preview system
6
+ * enables interactive demonstrations of generated APIs, forms, tables, and
7
+ * other UI components within development tools and documentation.
8
+ *
9
+ * The mapping system provides metadata about how OpenAPI operations and models
10
+ * translate to generated code, enabling rich tooling experiences and
11
+ * reverse-engineering capabilities.
12
+ *
13
+ * ## Key Features
14
+ *
15
+ * - **Interactive Previews**: Rich preview interfaces for generated components
16
+ * - **Source Mapping**: Traceability from generated code back to OpenAPI sources
17
+ * - **UI Grouping**: Organized grouping of related UI components (forms, tables, inputs)
18
+ * - **Generator Integration**: Deep integration with the generator pipeline
19
+ * - **Type Safety**: Comprehensive validation and type safety throughout
20
+ *
21
+ * @example Creating operation previews
22
+ * ```typescript
23
+ * import type { PreviewModule, OperationSource } from '@skmtc/core/Preview';
24
+ *
25
+ * const operationSource: OperationSource = {
26
+ * type: 'operation',
27
+ * generatorId: 'react-forms',
28
+ * operationPath: '/users',
29
+ * operationMethod: 'POST'
30
+ * };
31
+ *
32
+ * const preview: PreviewModule = {
33
+ * title: 'Create User Form',
34
+ * description: 'Interactive form for creating new users',
35
+ * group: 'forms',
36
+ * source: operationSource,
37
+ * moduleName: 'CreateUserForm',
38
+ * exportName: 'default'
39
+ * };
40
+ * ```
41
+ *
42
+ * @example Creating model previews
43
+ * ```typescript
44
+ * import type { PreviewModule, ModelSource } from '@skmtc/core/Preview';
45
+ *
46
+ * const modelSource: ModelSource = {
47
+ * type: 'model',
48
+ * generatorId: 'typescript-types',
49
+ * refName: 'User'
50
+ * };
51
+ *
52
+ * const preview: PreviewModule = {
53
+ * title: 'User Type Definition',
54
+ * description: 'TypeScript interface for User model',
55
+ * group: 'tables',
56
+ * source: modelSource,
57
+ * moduleName: 'UserTypes',
58
+ * exportName: 'User'
59
+ * };
60
+ * ```
61
+ *
62
+ * @example Working with mappings
63
+ * ```typescript
64
+ * import type { MappingModule } from '@skmtc/core/Preview';
65
+ *
66
+ * const mapping: MappingModule = {
67
+ * source: operationSource,
68
+ * moduleName: 'UserApi',
69
+ * exportName: 'createUser',
70
+ * generatedPath: './src/generated/UserApi.ts'
71
+ * };
72
+ * ```
73
+ *
74
+ * @module Preview
75
+ */
1
76
  import "../_dnt.polyfills.js";
2
77
  import { method } from './Method.js';
3
78
  import * as v from 'valibot';
@@ -1,3 +1,73 @@
1
+ /**
2
+ * @fileoverview Reference Name System for SKMTC Core
3
+ *
4
+ * This module provides a type-safe reference name system for identifying
5
+ * OpenAPI schema components throughout the SKMTC pipeline. Reference names
6
+ * are branded types that ensure schema identifiers are handled safely and
7
+ * prevent accidental mixing with regular strings.
8
+ *
9
+ * The reference name system is crucial for maintaining type safety when
10
+ * working with OpenAPI component references, schema lookups, and cross-references
11
+ * between different parts of the generated code.
12
+ *
13
+ * ## Key Features
14
+ *
15
+ * - **Type Safety**: Branded types prevent string confusion and improve code reliability
16
+ * - **Schema Integration**: Direct mapping to OpenAPI components.schemas keys
17
+ * - **Reference Tracking**: Safe handling of schema references throughout generation
18
+ * - **IDE Support**: Enhanced IntelliSense and error detection in development
19
+ * - **Validation**: Compile-time validation of schema reference usage
20
+ *
21
+ * @example Basic reference name usage
22
+ * ```typescript
23
+ * import type { RefName } from '@skmtc/core/RefName';
24
+ *
25
+ * // Create a reference name (typically done by the parser)
26
+ * const userRef: RefName = 'User' as RefName;
27
+ * const productRef: RefName = 'Product' as RefName;
28
+ *
29
+ * // TypeScript prevents mixing with regular strings
30
+ * const regularString = 'User';
31
+ * // const invalid: RefName = regularString; // Type error!
32
+ * ```
33
+ *
34
+ * @example Using reference names in generators
35
+ * ```typescript
36
+ * import type { RefName } from '@skmtc/core/RefName';
37
+ *
38
+ * function generateModelImport(refName: RefName): string {
39
+ * return `import type { ${refName} } from './models/${refName}';`;
40
+ * }
41
+ *
42
+ * function generateModelReference(refName: RefName): string {
43
+ * return `#/components/schemas/${refName}`;
44
+ * }
45
+ *
46
+ * // Usage with type safety
47
+ * const userRef: RefName = 'User' as RefName;
48
+ * const importStatement = generateModelImport(userRef);
49
+ * const schemaRef = generateModelReference(userRef);
50
+ * ```
51
+ *
52
+ * @example Reference name validation
53
+ * ```typescript
54
+ * import type { RefName } from '@skmtc/core/RefName';
55
+ *
56
+ * function isValidRefName(value: string): value is RefName {
57
+ * // Validate that the string is a valid schema reference name
58
+ * return /^[A-Za-z][A-Za-z0-9_]*$/.test(value) && value.length > 0;
59
+ * }
60
+ *
61
+ * function safeCreateRefName(value: string): RefName | null {
62
+ * if (isValidRefName(value)) {
63
+ * return value as RefName;
64
+ * }
65
+ * return null;
66
+ * }
67
+ * ```
68
+ *
69
+ * @module RefName
70
+ */
1
71
  import "../_dnt.polyfills.js";
2
72
  import type { Brand } from './Brand.js';
3
73
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"RefName.d.ts","sourceRoot":"","sources":["../../src/types/RefName.ts"],"names":[],"mappings":"AAAA,OAAO,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAEvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4DG;AACH,MAAM,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA"}
1
+ {"version":3,"file":"RefName.d.ts","sourceRoot":"","sources":["../../src/types/RefName.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqEG;AACH,OAAO,sBAAsB,CAAC;AAG9B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAEvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4DG;AACH,MAAM,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA"}
@@ -1 +1,71 @@
1
+ /**
2
+ * @fileoverview Reference Name System for SKMTC Core
3
+ *
4
+ * This module provides a type-safe reference name system for identifying
5
+ * OpenAPI schema components throughout the SKMTC pipeline. Reference names
6
+ * are branded types that ensure schema identifiers are handled safely and
7
+ * prevent accidental mixing with regular strings.
8
+ *
9
+ * The reference name system is crucial for maintaining type safety when
10
+ * working with OpenAPI component references, schema lookups, and cross-references
11
+ * between different parts of the generated code.
12
+ *
13
+ * ## Key Features
14
+ *
15
+ * - **Type Safety**: Branded types prevent string confusion and improve code reliability
16
+ * - **Schema Integration**: Direct mapping to OpenAPI components.schemas keys
17
+ * - **Reference Tracking**: Safe handling of schema references throughout generation
18
+ * - **IDE Support**: Enhanced IntelliSense and error detection in development
19
+ * - **Validation**: Compile-time validation of schema reference usage
20
+ *
21
+ * @example Basic reference name usage
22
+ * ```typescript
23
+ * import type { RefName } from '@skmtc/core/RefName';
24
+ *
25
+ * // Create a reference name (typically done by the parser)
26
+ * const userRef: RefName = 'User' as RefName;
27
+ * const productRef: RefName = 'Product' as RefName;
28
+ *
29
+ * // TypeScript prevents mixing with regular strings
30
+ * const regularString = 'User';
31
+ * // const invalid: RefName = regularString; // Type error!
32
+ * ```
33
+ *
34
+ * @example Using reference names in generators
35
+ * ```typescript
36
+ * import type { RefName } from '@skmtc/core/RefName';
37
+ *
38
+ * function generateModelImport(refName: RefName): string {
39
+ * return `import type { ${refName} } from './models/${refName}';`;
40
+ * }
41
+ *
42
+ * function generateModelReference(refName: RefName): string {
43
+ * return `#/components/schemas/${refName}`;
44
+ * }
45
+ *
46
+ * // Usage with type safety
47
+ * const userRef: RefName = 'User' as RefName;
48
+ * const importStatement = generateModelImport(userRef);
49
+ * const schemaRef = generateModelReference(userRef);
50
+ * ```
51
+ *
52
+ * @example Reference name validation
53
+ * ```typescript
54
+ * import type { RefName } from '@skmtc/core/RefName';
55
+ *
56
+ * function isValidRefName(value: string): value is RefName {
57
+ * // Validate that the string is a valid schema reference name
58
+ * return /^[A-Za-z][A-Za-z0-9_]*$/.test(value) && value.length > 0;
59
+ * }
60
+ *
61
+ * function safeCreateRefName(value: string): RefName | null {
62
+ * if (isValidRefName(value)) {
63
+ * return value as RefName;
64
+ * }
65
+ * return null;
66
+ * }
67
+ * ```
68
+ *
69
+ * @module RefName
70
+ */
1
71
  import "../_dnt.polyfills.js";
@@ -1,3 +1,100 @@
1
+ /**
2
+ * @fileoverview Results and Status Tracking System for SKMTC Core
3
+ *
4
+ * This module provides comprehensive result tracking and status management for
5
+ * the SKMTC code generation pipeline. It includes hierarchical result structures,
6
+ * type-safe status definitions, and validation schemas for tracking the outcomes
7
+ * of parsing, generation, and rendering operations.
8
+ *
9
+ * The results system enables detailed reporting and error handling throughout
10
+ * the pipeline, supporting nested result structures for complex operations
11
+ * and comprehensive status categorization.
12
+ *
13
+ * ## Key Features
14
+ *
15
+ * - **Hierarchical Results**: Nested result structures for complex operations
16
+ * - **Status Categories**: Complete coverage of operation outcomes (success, warning, error, etc.)
17
+ * - **Type Safety**: Full TypeScript typing with Valibot validation
18
+ * - **Recursive Support**: Lazy evaluation for deeply nested result structures
19
+ * - **Pipeline Integration**: Direct integration with SKMTC processing contexts
20
+ *
21
+ * @example Basic result tracking
22
+ * ```typescript
23
+ * import type { ResultType, ResultsItem } from '@skmtc/core/Results';
24
+ *
25
+ * const operationResult: ResultType = 'success';
26
+ * const errorResult: ResultType = 'error';
27
+ *
28
+ * const results: ResultsItem = {
29
+ * parsing: 'success',
30
+ * generation: 'warning',
31
+ * rendering: 'success'
32
+ * };
33
+ * ```
34
+ *
35
+ * @example Hierarchical result structures
36
+ * ```typescript
37
+ * import type { ResultsItem } from '@skmtc/core/Results';
38
+ *
39
+ * const complexResults: ResultsItem = {
40
+ * parsing: {
41
+ * schemas: 'success',
42
+ * operations: {
43
+ * userApi: 'success',
44
+ * productApi: 'warning',
45
+ * orderApi: 'error'
46
+ * }
47
+ * },
48
+ * generation: [
49
+ * { models: 'success' },
50
+ * { services: 'warning' },
51
+ * null // Skipped operation
52
+ * ]
53
+ * };
54
+ * ```
55
+ *
56
+ * @example Result validation
57
+ * ```typescript
58
+ * import { resultsItem, resultType, ResultsItem } from '@skmtc/core/Results';
59
+ * import * as v from 'valibot';
60
+ *
61
+ * function validateResults(data: unknown): ResultsItem {
62
+ * return v.parse(resultsItem, data);
63
+ * }
64
+ *
65
+ * function validateResultType(status: unknown): ResultType {
66
+ * return v.parse(resultType, status);
67
+ * }
68
+ *
69
+ * // Usage
70
+ * const results = validateResults({
71
+ * operation: 'success',
72
+ * nested: {
73
+ * subOperation: 'warning'
74
+ * }
75
+ * });
76
+ * ```
77
+ *
78
+ * @example Error filtering
79
+ * ```typescript
80
+ * import type { ResultType, WarningError } from '@skmtc/core/Results';
81
+ *
82
+ * function hasIssues(result: ResultType): result is WarningError {
83
+ * return result === 'warning' || result === 'error';
84
+ * }
85
+ *
86
+ * function processResults(results: Record<string, ResultType>) {
87
+ * const issues = Object.entries(results)
88
+ * .filter(([, status]) => hasIssues(status));
89
+ *
90
+ * if (issues.length > 0) {
91
+ * console.log('Operations with issues:', issues);
92
+ * }
93
+ * }
94
+ * ```
95
+ *
96
+ * @module Results
97
+ */
1
98
  import "../_dnt.polyfills.js";
2
99
  import * as v from 'valibot';
3
100
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"Results.d.ts","sourceRoot":"","sources":["../../src/types/Results.ts"],"names":[],"mappings":"AAAA,OAAO,sBAAsB,CAAC;AAC9B,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAE5B;;;;;GAKG;AACH,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,cAAc,CAAA;AAErF;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,OAAO,CAAA;AAE9C;;;;;GAKG;AACH,eAAO,MAAM,UAAU,EAAE,CAAC,CAAC,aAAa,CAAC,UAAU,CAMjD,CAAA;AAEF;;;;;;GAMG;AACH,MAAM,WAAW,WAAW;IAC1B,+DAA+D;IAC/D,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,GAAG,WAAW,GAAG,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,CAAA;CACpE;AAED;;;;;GAKG;AACH,eAAO,MAAM,WAAW,EAAE,CAAC,CAAC,aAAa,CAAC,WAAW,CAGpD,CAAA"}
1
+ {"version":3,"file":"Results.d.ts","sourceRoot":"","sources":["../../src/types/Results.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgGG;AACH,OAAO,sBAAsB,CAAC;AAG9B,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAE5B;;;;;GAKG;AACH,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,cAAc,CAAA;AAErF;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,OAAO,CAAA;AAE9C;;;;;GAKG;AACH,eAAO,MAAM,UAAU,EAAE,CAAC,CAAC,aAAa,CAAC,UAAU,CAMjD,CAAA;AAEF;;;;;;GAMG;AACH,MAAM,WAAW,WAAW;IAC1B,+DAA+D;IAC/D,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,GAAG,WAAW,GAAG,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,CAAA;CACpE;AAED;;;;;GAKG;AACH,eAAO,MAAM,WAAW,EAAE,CAAC,CAAC,aAAa,CAAC,WAAW,CAGpD,CAAA"}