@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.
- package/dist/api/builder.d.ts +1 -9
- package/dist/api/builder.js +1 -41
- package/dist/api/generators/typescript.d.ts +12 -0
- package/dist/api/generators/typescript.js +46 -3
- package/dist/api/index.d.ts +0 -2
- package/dist/api/index.js +0 -1
- package/dist/cli/commands/generate.js +2 -12
- package/dist/cli/index.js +57 -1217
- package/dist/cli/utils/prompts.js +0 -22
- package/dist/config.d.ts +0 -39
- package/dist/config.js +0 -108
- package/package.json +1 -1
- package/dist/api/generators/rest-client.d.ts +0 -117
- package/dist/api/generators/rest-client.js +0 -847
- package/dist/api/generators/search-parameter-enhancer.d.ts +0 -185
- package/dist/api/generators/search-parameter-enhancer.js +0 -801
- package/dist/api/generators/validation-generator.d.ts +0 -126
- package/dist/api/generators/validation-generator.js +0 -632
|
@@ -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
|
-
}
|