/**
 * @template T
 */
export class FieldDescriptor {
    constructor() {
        /**
         *
         * @type {string}
         */
        this.name = "";

        /**
         * typeof field
         * @type {Class<T>}
         */
        this.type = null;

        /**
         *
         * @type {FieldValueAdapter|null}
         */
        this.adapter = null;

        /**
         *
         * @type {{}|undefined}
         */
        this.schema = undefined;
    }

    toString() {
        return `FieldDescriptor[name='${this.name}']`;
    }
}
