import { Field, FIELD_ID } from "./Field"; import { BasicField } from "./BasicField"; import { Types } from "../server/Message"; import { ObjectId } from "bson"; export class ListField extends BasicField { constructor(data: T[] = [], id: FIELD_ID = undefined) { super(data.slice(), id); } ToScriptString(): string { return "new ListField([" + this.Data.map(field => field.ToScriptString()).join(", ") + "])"; } Copy(): Field { return new ListField(this.Data); } ToJson(): { type: Types, data: T[], _id: ObjectId } { return { type: Types.List, data: this.Data, _id: new ObjectId(this.Id) } } }