@@ -29,74 +29,15 @@ export function substituteDirective(
29
29
validateObject ( value , [ ...parentKeys , key ] ) ;
30
30
if ( Array . isArray ( value ) ) throw new AppConfigError ( '$substitute was given an array' ) ;
31
31
32
- if ( value . $name ) {
33
- logger . warn (
34
- `Detected deprecated use of $name in a $substitute directive. Use 'name' instead.` ,
35
- ) ;
36
- }
37
-
38
- const name = ( await parse ( selectDefined ( value . name , value . $name ) ) ) . toJSON ( ) ;
32
+ const name = ( await parse ( value . name ) ) . toJSON ( ) ;
39
33
40
34
validateString ( name , [ ...parentKeys , key , [ InObject , 'name' ] ] ) ;
41
35
42
36
const parseValue = async ( strValue : string | null ) => {
43
- const parseBool = ( await parse ( selectDefined ( value . parseBool , value . $parseBool ) ) ) . toJSON ( ) ;
44
-
45
- if ( value . $parseBool ) {
46
- logger . warn (
47
- `Detected deprecated use of $parseBool in a $substitute directive - use $parseBool directive instead` ,
48
- ) ;
49
- }
50
-
51
- if ( parseBool ) {
52
- const parsed =
53
- strValue !== null && ( strValue . toLowerCase ( ) === 'true' || strValue === '1' ) ;
54
-
55
- return parse ( parsed , { shouldFlatten : true } ) ;
56
- }
57
-
58
37
if ( strValue === null ) {
59
38
return parse ( null , { shouldFlatten : true } ) ;
60
39
}
61
40
62
- const parseInt = ( await parse ( selectDefined ( value . parseInt , value . $parseInt ) ) ) . toJSON ( ) ;
63
-
64
- if ( value . $parseInt ) {
65
- logger . warn (
66
- `Detected deprecated use of $parseInt in a $substitute directive - use $parseInt directive instead` ,
67
- ) ;
68
- }
69
-
70
- if ( parseInt ) {
71
- const parsed = Number . parseInt ( strValue , 10 ) ;
72
-
73
- if ( Number . isNaN ( parsed ) ) {
74
- throw new AppConfigError ( `Failed to parseInt(${ strValue } )` ) ;
75
- }
76
-
77
- return parse ( parsed , { shouldFlatten : true } ) ;
78
- }
79
-
80
- if ( value . $parseFloat ) {
81
- logger . warn (
82
- `Detected deprecated use of $parseFloat in a $substitute directive - use $parseFloat directive instead` ,
83
- ) ;
84
- }
85
-
86
- const parseFloat = (
87
- await parse ( selectDefined ( value . parseFloat , value . $parseFloat ) )
88
- ) . toJSON ( ) ;
89
-
90
- if ( parseFloat ) {
91
- const parsed = Number . parseFloat ( strValue ) ;
92
-
93
- if ( Number . isNaN ( parsed ) ) {
94
- throw new AppConfigError ( `Failed to parseFloat(${ strValue } )` ) ;
95
- }
96
-
97
- return parse ( parsed , { shouldFlatten : true } ) ;
98
- }
99
-
100
41
return parse ( strValue , { shouldFlatten : true } ) ;
101
42
} ;
102
43
@@ -110,21 +51,9 @@ export function substituteDirective(
110
51
return parseValue ( resolvedValue ) ;
111
52
}
112
53
113
- if ( value . fallback !== undefined || value . $fallback !== undefined ) {
114
- const fallback = ( await parse ( selectDefined ( value . fallback , value . $fallback ) ) ) . toJSON ( ) ;
115
- const allowNull = ( await parse ( selectDefined ( value . allowNull , value . $allowNull ) ) ) . toJSON ( ) ;
116
-
117
- if ( value . $fallback ) {
118
- logger . warn (
119
- `Detected deprecated use of $fallback in a $substitute directive. Use 'fallback' instead.` ,
120
- ) ;
121
- }
122
-
123
- if ( value . $allowNull ) {
124
- logger . warn (
125
- `Detected deprecated use of $allowNull in a $substitute directive. Use 'allowNull' instead.` ,
126
- ) ;
127
- }
54
+ if ( value . fallback !== undefined ) {
55
+ const fallback = ( await parse ( value . fallback ) ) . toJSON ( ) ;
56
+ const allowNull = ( await parse ( value . allowNull ) ) . toJSON ( ) ;
128
57
129
58
if ( allowNull ) {
130
59
validateStringOrNull ( fallback , [ ...parentKeys , key , [ InObject , 'fallback' ] ] ) ;
@@ -188,14 +117,6 @@ function performAllSubstitutions(text: string, envType?: string): string {
188
117
return output ;
189
118
}
190
119
191
- function selectDefined < T > ( ...args : ( T | null | undefined ) [ ] ) : T | null {
192
- for ( const a of args ) {
193
- if ( a !== undefined ) return a ;
194
- }
195
-
196
- return ( undefined as any ) as T ;
197
- }
198
-
199
120
const validateObject : ValidationFunction <
200
121
Record < string , any >
201
122
> = validationFunction ( ( { emptySchema } ) => emptySchema ( ) . addAdditionalProperties ( ) ) ;
0 commit comments