11import { StringIndexedObject } from 'codify-schemas' ;
2+
3+ import { ParameterOptions } from './plan-types.js' ;
4+ import { ResourceParameterOptions } from './resource-types.js' ;
25import { StatefulParameter } from './stateful-parameter.js' ;
36import { TransformParameter } from './transform-parameter.js' ;
4- import { ResourceParameterOptions } from './resource-types.js' ;
5- import { ParameterOptions } from './plan-types.js' ;
67
78export interface ResourceOptions < T extends StringIndexedObject > {
89
9- /**
10- * The id of the resource.
11- */
12- type : string ;
13-
14- /**
15- * Schema to validate user configs with. Must be in the format JSON Schema 2020-12
16- */
17- schema ?: unknown
18-
1910 /**
2011 * If true, statefulParameter.applyRemove() will be called before resource destruction.
2112 * Defaults to false.
@@ -36,16 +27,26 @@ export interface ResourceOptions<T extends StringIndexedObject> {
3627 | ResourceStatefulParameterOptions < T >
3728 | ResourceTransformParameterOptions < T >
3829 > >
30+
31+ /**
32+ * Schema to validate user configs with. Must be in the format JSON Schema draft07
33+ */
34+ schema ?: unknown
35+
36+ /**
37+ * The id of the resource.
38+ */
39+ type : string ;
3940}
4041
4142export interface ResourceStatefulParameterOptions < T extends StringIndexedObject > {
42- statefulParameter : StatefulParameter < T , T [ keyof T ] > ;
4343 order ?: number ;
44+ statefulParameter : StatefulParameter < T , T [ keyof T ] > ;
4445}
4546
4647export interface ResourceTransformParameterOptions < T extends StringIndexedObject > {
47- transformParameter : TransformParameter < T > ;
4848 order ?: number ;
49+ transformParameter : TransformParameter < T > ;
4950}
5051
5152export class ResourceOptionsParser < T extends StringIndexedObject > {
@@ -90,15 +91,13 @@ export class ResourceOptionsParser<T extends StringIndexedObject> {
9091 ) ;
9192
9293 const statefulParameters = [ ...this . statefulParameters . entries ( ) ]
93- ?. reduce ( ( obj , sp ) => {
94- return {
94+ ?. reduce ( ( obj , sp ) => ( {
9595 ...obj ,
9696 [ sp [ 0 ] ] : {
9797 ...sp [ 1 ] . options ,
9898 isStatefulParameter : true ,
9999 }
100- }
101- } , { } as Record < keyof T , ParameterOptions > )
100+ } ) , { } as Record < keyof T , ParameterOptions > )
102101
103102 return {
104103 ...resourceParameters ,
0 commit comments