diff options
Diffstat (limited to 'src/fields')
| -rw-r--r-- | src/fields/DateField.ts | 4 | ||||
| -rw-r--r-- | src/fields/HtmlField.ts | 4 | ||||
| -rw-r--r-- | src/fields/IconField.ts | 2 | ||||
| -rw-r--r-- | src/fields/List.ts | 4 | ||||
| -rw-r--r-- | src/fields/Schema.ts | 17 | ||||
| -rw-r--r-- | src/fields/URLField.ts | 18 |
6 files changed, 29 insertions, 20 deletions
diff --git a/src/fields/DateField.ts b/src/fields/DateField.ts index 56a3177f8..f0a851ce6 100644 --- a/src/fields/DateField.ts +++ b/src/fields/DateField.ts @@ -1,4 +1,4 @@ -import { serializable, date } from 'serializr'; +import { serializable, date as serializrDate } from 'serializr'; import { Deserializable } from '../client/util/SerializationHelper'; import { ObjectField } from './ObjectField'; import { Copy, ToJavascriptString, ToScriptString, ToString } from './FieldSymbols'; @@ -7,7 +7,7 @@ import { scriptingGlobal, ScriptingGlobals } from '../client/util/ScriptingGloba @scriptingGlobal @Deserializable('date') export class DateField extends ObjectField { - @serializable(date()) + @serializable(serializrDate()) readonly date: Date; constructor(date: Date = new Date()) { diff --git a/src/fields/HtmlField.ts b/src/fields/HtmlField.ts index b67f0f7e9..536f5ce4c 100644 --- a/src/fields/HtmlField.ts +++ b/src/fields/HtmlField.ts @@ -1,7 +1,7 @@ +import { primitive, serializable } from 'serializr'; import { Deserializable } from '../client/util/SerializationHelper'; -import { serializable, primitive } from 'serializr'; -import { ObjectField } from './ObjectField'; import { Copy, ToJavascriptString, ToScriptString, ToString } from './FieldSymbols'; +import { ObjectField } from './ObjectField'; @Deserializable('html') export class HtmlField extends ObjectField { diff --git a/src/fields/IconField.ts b/src/fields/IconField.ts index 4d2badb68..33e5be7af 100644 --- a/src/fields/IconField.ts +++ b/src/fields/IconField.ts @@ -1,5 +1,5 @@ -import { Deserializable } from '../client/util/SerializationHelper'; import { serializable, primitive } from 'serializr'; +import { Deserializable } from '../client/util/SerializationHelper'; import { ObjectField } from './ObjectField'; import { Copy, ToJavascriptString, ToScriptString, ToString } from './FieldSymbols'; diff --git a/src/fields/List.ts b/src/fields/List.ts index f97f208fe..852b05bc6 100644 --- a/src/fields/List.ts +++ b/src/fields/List.ts @@ -1,5 +1,5 @@ import { action, computed, makeObservable, observable } from 'mobx'; -import { alias, list, serializable } from 'serializr'; +import { alias, list as serializrList, serializable } from 'serializr'; import { ScriptingGlobals } from '../client/util/ScriptingGlobals'; import { Deserializable, afterDocDeserialize, autoObject } from '../client/util/SerializationHelper'; import { Field, FieldType, StrListCast } from './Doc'; @@ -279,7 +279,7 @@ class ListImpl<T extends FieldType> extends ObjectField { return this[FieldTuples].map(toRealField); } - @serializable(alias(ListFieldName, list(autoObject(), { afterDeserialize: afterDocDeserialize }))) + @serializable(alias(ListFieldName, serializrList(autoObject(), { afterDeserialize: afterDocDeserialize }))) private get __fieldTuples() { return this[FieldTuples]; } diff --git a/src/fields/Schema.ts b/src/fields/Schema.ts index ed603e5de..7217bec37 100644 --- a/src/fields/Schema.ts +++ b/src/fields/Schema.ts @@ -1,3 +1,7 @@ +/* eslint-disable guard-for-in */ +/* eslint-disable no-restricted-syntax */ +/* eslint-disable no-redeclare */ +/* eslint-disable no-use-before-define */ import { Interface, ToInterface, Cast, ToConstructor, HasTail, Head, Tail, ListSpec, ToType, DefaultFieldConstructor } from './Types'; import { Doc, FieldType } from './Doc'; import { ObjectField } from './ObjectField'; @@ -12,6 +16,7 @@ type AllToInterface<T extends Interface[]> = { export const emptySchema = createSchema({}); export const Document = makeInterface(emptySchema); +// eslint-disable-next-line no-redeclare export type Document = makeInterface<[typeof emptySchema]>; export interface InterfaceFunc<T extends Interface[]> { @@ -39,6 +44,7 @@ export function makeInterface<T extends Interface[]>(...schemas: T): InterfaceFu // defaultSpec return Cast(field, desc.type, desc.defaultVal); } + // eslint-disable-next-line no-prototype-builtins if (typeof desc === 'function' && !ObjectField.isPrototypeOf(desc) && !RefField.isPrototypeOf(desc)) { const doc = Cast(field, Doc); if (doc === undefined) { @@ -73,8 +79,8 @@ export function makeStrictInterface<T extends Interface>(schema: T): (doc: Doc) get() { return Cast(this.__doc[key], type as any); }, - set(value) { - value = Cast(value, type as any); + set(setValue) { + const value = Cast(setValue, type as any); if (value !== undefined) { this.__doc[key] = value; return; @@ -93,14 +99,15 @@ export function makeStrictInterface<T extends Interface>(schema: T): (doc: Doc) }; } +// eslint-disable-next-line @typescript-eslint/no-unused-vars export function createSchema<T extends Interface>(schema: T): T & { proto: ToConstructor<Doc> } { return undefined as any; - (schema as any).proto = Doc; - return schema as any; + // (schema as any).proto = Doc; + // return schema as any; } export function listSpec<U extends ToConstructor<FieldType>>(type: U): ListSpec<ToType<U>> { - return { List: type as any }; //TODO Types + return { List: type as any }; // TODO Types } export function defaultSpec<T extends ToConstructor<FieldType>>(type: T, defaultVal: ToType<T>): DefaultFieldConstructor<ToType<T>> { diff --git a/src/fields/URLField.ts b/src/fields/URLField.ts index c6c51957d..3a83e7ca0 100644 --- a/src/fields/URLField.ts +++ b/src/fields/URLField.ts @@ -16,16 +16,18 @@ export abstract class URLField extends ObjectField { @serializable(url()) readonly url: URL; - constructor(url: string); - constructor(url: URL); - constructor(url: URL | string) { + constructor(urlVal: string); + // eslint-disable-next-line @typescript-eslint/no-shadow + constructor(urlVal: URL); + // eslint-disable-next-line @typescript-eslint/no-shadow + constructor(urlVal: URL | string) { super(); this.url = - typeof url !== 'string' - ? url // it's an URL - : url.startsWith('http') - ? new URL(url) - : new URL(url, window.location.origin); + typeof urlVal !== 'string' + ? urlVal // it's an URL + : urlVal.startsWith('http') + ? new URL(urlVal) + : new URL(urlVal, window.location.origin); } [ToScriptString]() { |
