@@ -240,19 +240,14 @@ module Ast =
240240 | SynTypeDefnRepr.Simple( SynTypeDefnSimpleRepr.Union _, _) -> true
241241 | _ -> false
242242
243+ let private filterTypes predicate types =
244+ types |> List.map ( fun ( ns , types ) -> ns, types |> List.filter predicate)
245+
243246 let extractRecords ( ast : ParsedInput ) =
244- let types = extractTypeDefn ast
245- let onlyRecords =
246- types
247- |> List.map ( fun ( ns , types ) -> ns, types |> List.filter isRecord )
248- onlyRecords
247+ extractTypeDefn ast |> filterTypes isRecord
249248
250249 let extractDU ( ast : ParsedInput ) =
251- let types = extractTypeDefn ast
252- let onlyDus =
253- types
254- |> List.map ( fun ( ns , types ) -> ns, types |> List.filter isDu )
255- onlyDus
250+ extractTypeDefn ast |> filterTypes isDu
256251
257252
258253 module ModuleOrNamespace =
@@ -286,31 +281,13 @@ module Ast =
286281 extractTypes moduleDecls namespaceId
287282
288283 let records ( nsOrModule : SynModuleOrNamespace ) =
289- let types = getTypeDefns nsOrModule
290-
291- let onlyRecords =
292- types
293- |> List.map ( fun ( ns , types ) -> ns, types |> List.filter isRecord)
294-
295- onlyRecords
284+ getTypeDefns nsOrModule |> filterTypes isRecord
296285
297286 let dus ( nsOrModule : SynModuleOrNamespace ) =
298- let types = getTypeDefns nsOrModule
299-
300- let onlyDus =
301- types
302- |> List.map ( fun ( ns , types ) -> ns, types |> List.filter isDu)
303-
304- onlyDus
287+ getTypeDefns nsOrModule |> filterTypes isDu
305288
306289 let recordsOrDus ( nsOrModule : SynModuleOrNamespace ) =
307- let types = getTypeDefns nsOrModule
308-
309- let recordsOrDus =
310- types
311- |> List.map ( fun ( ns , types ) -> ns, types |> List.filter ( fun t -> t |> isDu || t |> isRecord))
312-
313- recordsOrDus
290+ getTypeDefns nsOrModule |> filterTypes ( fun t -> isDu t || isRecord t)
314291
315292 module Ident =
316293 let asCamelCase ( ident : Ident ) =
0 commit comments