@atomic-ehr/codegen 0.0.1-canary.20250830224431.6d211a5 → 0.0.1-canary.20250831211734.bb1536b

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.
@@ -1,185 +0,0 @@
1
- /**
2
- * Search Parameter Enhancer
3
- *
4
- * Generates enhanced search parameter types and interfaces for FHIR resources.
5
- * Provides better type safety, validation, and developer experience for search operations.
6
- */
7
- import type { TypeSchema } from "../../typeschema/type-schema.types";
8
- import type { CodegenLogger } from "../../utils/codegen-logger.js";
9
- /**
10
- * Search parameter modifier types for enhanced type safety
11
- */
12
- export interface SearchModifiers {
13
- /** String search modifiers */
14
- StringModifier: {
15
- exact: string;
16
- } | {
17
- contains: string;
18
- } | {
19
- missing: boolean;
20
- };
21
- /** Date parameter with prefix support */
22
- DateParameter: string | {
23
- gt: string;
24
- } | {
25
- lt: string;
26
- } | {
27
- ge: string;
28
- } | {
29
- le: string;
30
- } | {
31
- eq: string;
32
- } | {
33
- ne: string;
34
- } | {
35
- missing: boolean;
36
- };
37
- /** Token parameter for coded values */
38
- TokenParameter: string | {
39
- system: string;
40
- code: string;
41
- } | {
42
- code: string;
43
- } | {
44
- system: string;
45
- } | {
46
- missing: boolean;
47
- };
48
- /** Token search options (for better autocomplete when enum values exist) */
49
- TokenSearchOptions: {
50
- system: string;
51
- code: string;
52
- } | {
53
- code: string;
54
- } | {
55
- system: string;
56
- } | {
57
- missing: boolean;
58
- };
59
- /** Reference parameter for resource references */
60
- ReferenceParameter: string | {
61
- reference: string;
62
- } | {
63
- identifier: string;
64
- } | {
65
- missing: boolean;
66
- };
67
- /** Number parameter with range support */
68
- NumberParameter: number | {
69
- gt: number;
70
- } | {
71
- lt: number;
72
- } | {
73
- ge: number;
74
- } | {
75
- le: number;
76
- } | {
77
- eq: number;
78
- } | {
79
- ne: number;
80
- } | {
81
- missing: boolean;
82
- };
83
- /** Quantity parameter for measurements */
84
- QuantityParameter: number | string | {
85
- value: number;
86
- unit?: string;
87
- system?: string;
88
- code?: string;
89
- } | {
90
- missing: boolean;
91
- };
92
- }
93
- /**
94
- * Base search parameters available for all resources
95
- */
96
- export interface BaseEnhancedSearchParams {
97
- /** Number of results to return */
98
- _count?: number;
99
- /** Pagination offset */
100
- _offset?: number;
101
- /** Sort order */
102
- _sort?: string | string[];
103
- /** Summary mode */
104
- _summary?: "true" | "false" | "text" | "data" | "count";
105
- /** Elements to include */
106
- _elements?: string | string[];
107
- /** Filter by last updated */
108
- _lastUpdated?: SearchModifiers["DateParameter"];
109
- /** Profile filter */
110
- _profile?: string | string[];
111
- /** Security label filter */
112
- _security?: string | string[];
113
- /** Tag filter */
114
- _tag?: SearchModifiers["TokenParameter"] | SearchModifiers["TokenParameter"][];
115
- /** Filter by ID */
116
- _id?: string | string[];
117
- /** Text search */
118
- _text?: string;
119
- /** Content search */
120
- _content?: string;
121
- }
122
- /**
123
- * Search Parameter Enhancer class
124
- *
125
- * Generates enhanced type-safe search parameters and validation helpers
126
- * for FHIR REST client operations.
127
- */
128
- export declare class SearchParameterEnhancer {
129
- private resourceTypes;
130
- private resourceSearchParams;
131
- private autocompleteEnabled;
132
- private valueSetEnumsEnabled;
133
- private logger;
134
- private availableEnumTypes;
135
- private static readonly BASE_PARAM_NAMES;
136
- constructor(options?: {
137
- autocomplete?: boolean;
138
- valueSetEnums?: boolean;
139
- logger?: CodegenLogger;
140
- });
141
- /**
142
- * Generate per-resource SearchParamName unions (for IDE autocomplete)
143
- */
144
- private generateSearchParamNameUnions;
145
- /**
146
- * Collect resource types and their search parameters from schemas
147
- */
148
- collectResourceData(schemas: TypeSchema[]): void;
149
- /**
150
- * Collect search parameters for a specific resource type
151
- */
152
- private collectSearchParameters;
153
- /**
154
- * Add common search parameters based on resource type
155
- */
156
- private addCommonSearchParameters;
157
- /**
158
- * Pre-populate enum types by processing all search parameters
159
- */
160
- private preprocessEnumTypes;
161
- /**
162
- * Convert string to PascalCase
163
- */
164
- private toPascalCase;
165
- /**
166
- * Generate enhanced search parameter types
167
- */
168
- generateEnhancedSearchTypes(): string;
169
- /**
170
- * Generate resource-specific search parameter interfaces
171
- */
172
- private generateResourceSpecificSearchInterfaces;
173
- /**
174
- * Generate search interface for a specific resource type
175
- */
176
- private generateResourceSearchInterface;
177
- /**
178
- * Map FHIR search parameter types to TypeScript enhanced types
179
- */
180
- private getTypeScriptTypeForSearchParameter;
181
- /**
182
- * Get collected resource types
183
- */
184
- getResourceTypes(): Set<string>;
185
- }