diff options
Diffstat (limited to 'src/new_fields/DateField.ts')
| -rw-r--r-- | src/new_fields/DateField.ts | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/new_fields/DateField.ts b/src/new_fields/DateField.ts new file mode 100644 index 000000000..fc8abb9d9 --- /dev/null +++ b/src/new_fields/DateField.ts @@ -0,0 +1,23 @@ +import { Deserializable } from "../client/util/SerializationHelper"; +import { serializable, date } from "serializr"; +import { ObjectField } from "./ObjectField"; +import { Copy, ToScriptString } from "./FieldSymbols"; + +@Deserializable("date") +export class DateField extends ObjectField { + @serializable(date()) + readonly date: Date; + + constructor(date: Date = new Date()) { + super(); + this.date = date; + } + + [Copy]() { + return new DateField(this.date); + } + + [ToScriptString]() { + return `new DateField(new Date(${this.date.toISOString()}))`; + } +} |
