import { class_type, TypeInfo } from "./Reflection.ts"; import { addRangeInPlace } from "./Array.ts"; import { toList } from "./Seq.ts"; import { FSharpList } from "./List.ts"; export class ListCollector$1 { readonly collector: T[]; constructor() { this.collector = []; } } export function ListCollector$1_$reflection(gen0: TypeInfo): TypeInfo { return class_type("Microsoft.FSharp.Core.CompilerServices.ListCollector`1", [gen0], ListCollector$1); } export function ListCollector$1_$ctor(): ListCollector$1 { return new ListCollector$1(); } export function ListCollector$1__Add_2B595(this$: ListCollector$1, value: T): void { void (this$.collector.push(value)); } export function ListCollector$1__AddMany_BB573A(this$: ListCollector$1, values: Iterable): void { addRangeInPlace(values, this$.collector); } export function ListCollector$1__AddManyAndClose_BB573A(this$: ListCollector$1, values: Iterable): FSharpList { addRangeInPlace(values, this$.collector); return toList(this$.collector); } export function ListCollector$1__Close(this$: ListCollector$1): FSharpList { return toList(this$.collector); }