@@ -16,6 +16,7 @@ import {
16
16
isSdsLambda ,
17
17
isSdsModule ,
18
18
isSdsModuleMember ,
19
+ isSdsParameter ,
19
20
isSdsPlaceholder ,
20
21
isSdsSegment ,
21
22
isSdsTypeParameterList ,
@@ -85,28 +86,30 @@ export const isPositionalArgument = (node: SdsArgument): boolean => {
85
86
return ! node . parameter ;
86
87
} ;
87
88
88
- export const isNamedTypeArgument = ( node : SdsTypeArgument ) : boolean => {
89
- return Boolean ( node . typeParameter ) ;
90
- } ;
89
+ export namespace Parameter {
90
+ export const isConstant = ( node : SdsParameter | undefined ) : boolean => {
91
+ if ( ! node ) {
92
+ return false ;
93
+ }
91
94
92
- export const isConstantParameter = ( node : SdsParameter | undefined ) : boolean => {
93
- if ( ! node ) {
94
- return false ;
95
- }
95
+ const containingCallable = getContainerOfType ( node , isSdsCallable ) ;
96
96
97
- const containingCallable = getContainerOfType ( node , isSdsCallable ) ;
97
+ // In those cases, the const modifier is not applicable
98
+ if ( isSdsCallableType ( containingCallable ) || isSdsLambda ( containingCallable ) ) {
99
+ return false ;
100
+ }
98
101
99
- // In those cases, the const modifier is not applicable
100
- if ( isSdsCallableType ( containingCallable ) || isSdsLambda ( containingCallable ) ) {
101
- return false ;
102
- }
102
+ return isSdsAnnotation ( containingCallable ) || node . isConstant ;
103
+ } ;
103
104
104
- return isSdsAnnotation ( containingCallable ) || node . isConstant ;
105
- } ;
105
+ export const isOptional = ( node : SdsParameter | undefined ) : boolean => {
106
+ return Boolean ( node ?. defaultValue ) ;
107
+ } ;
106
108
107
- export const isRequiredParameter = ( node : SdsParameter ) : boolean => {
108
- return ! node . defaultValue ;
109
- } ;
109
+ export const isRequired = ( node : SdsParameter | undefined ) : boolean => {
110
+ return isSdsParameter ( node ) && ! node . defaultValue ;
111
+ } ;
112
+ }
110
113
111
114
export const isStatic = ( node : SdsClassMember ) : boolean => {
112
115
if ( isSdsClass ( node ) || isSdsEnum ( node ) ) {
@@ -121,6 +124,10 @@ export const isStatic = (node: SdsClassMember): boolean => {
121
124
}
122
125
} ;
123
126
127
+ export const isNamedTypeArgument = ( node : SdsTypeArgument ) : boolean => {
128
+ return Boolean ( node . typeParameter ) ;
129
+ } ;
130
+
124
131
// -------------------------------------------------------------------------------------------------
125
132
// Accessors for list elements
126
133
// -------------------------------------------------------------------------------------------------
@@ -190,11 +197,8 @@ export const streamBlockLambdaResults = (node: SdsBlockLambda | undefined): Stre
190
197
. filter ( isSdsBlockLambdaResult ) ;
191
198
} ;
192
199
193
- export const getMatchingClassMembers = (
194
- node : SdsClass | undefined ,
195
- filterFunction : ( member : SdsClassMember ) => boolean = ( ) => true ,
196
- ) : SdsClassMember [ ] => {
197
- return node ?. body ?. members ?. filter ( filterFunction ) ?? [ ] ;
200
+ export const getClassMembers = ( node : SdsClass | undefined ) : SdsClassMember [ ] => {
201
+ return node ?. body ?. members ?? [ ] ;
198
202
} ;
199
203
200
204
export const getColumns = ( node : SdsSchema | undefined ) : SdsColumn [ ] => {
0 commit comments