Interface ModelProp<TPropValue, TPropCreationValue, TTransformedValue, TTransformedCreationValue, TIsRequired, TIsId, THasSetter, TFromSnapshotOverride, TToSnapshotOverride>

A model property.

interface ModelProp<TPropValue, TPropCreationValue, TTransformedValue, TTransformedCreationValue, TIsRequired, TIsId, THasSetter, TFromSnapshotOverride, TToSnapshotOverride> {
    $creationValueType: TPropCreationValue;
    $fromSnapshotOverride: TFromSnapshotOverride;
    $hasSetter: THasSetter;
    $isId: TIsId;
    $isRequired: TIsRequired;
    $toSnapshotOverride: TToSnapshotOverride;
    $transformedCreationValueType: TTransformedCreationValue;
    $transformedValueType: TTransformedValue;
    $valueType: TPropValue;
    _defaultFn: (() => TPropValue) | typeof noDefaultValue;
    _defaultValue: TPropValue | typeof noDefaultValue;
    _fromSnapshotProcessor?: ((sn) => unknown);
    _isId: boolean;
    _setter: boolean | "assign";
    _toSnapshotProcessor?: ((sn) => unknown);
    _transform: undefined | {
        transform: ((original, model, propName, setOriginalValue) => unknown);
        untransform: ((transformed, model, propName) => unknown);
    };
    _typeChecker: undefined | TypeChecker | LateTypeChecker;
    withSetter(): ModelProp<TPropValue, TPropCreationValue, TTransformedValue, TTransformedCreationValue, TIsRequired, TIsId, string, TFromSnapshotOverride, TToSnapshotOverride>;
    withSetter(mode): ModelProp<TPropValue, TPropCreationValue, TTransformedValue, TTransformedCreationValue, TIsRequired, TIsId, string, TFromSnapshotOverride, TToSnapshotOverride>;
    withSnapshotProcessor<FS, TS, This>(processor): ModelProp<TPropValue, TPropCreationValue, TTransformedValue, TTransformedCreationValue, TIsRequired, TIsId, THasSetter, FS, TS>;
    withTransform<TTV>(transform): ModelProp<TPropValue, TPropCreationValue, TTV | Extract<TPropValue, undefined | null>, TTV | Extract<TPropCreationValue, undefined | null>, TIsRequired, TIsId, THasSetter, TFromSnapshotOverride, TToSnapshotOverride>;
}

Type Parameters

  • TPropValue
  • TPropCreationValue
  • TTransformedValue
  • TTransformedCreationValue
  • TIsRequired
  • TIsId extends boolean = false
  • THasSetter = never
  • TFromSnapshotOverride = never
  • TToSnapshotOverride = never

Properties

$creationValueType: TPropCreationValue
$fromSnapshotOverride: TFromSnapshotOverride
$hasSetter: THasSetter
$isId: TIsId
$isRequired: TIsRequired
$toSnapshotOverride: TToSnapshotOverride
$transformedCreationValueType: TTransformedCreationValue
$transformedValueType: TTransformedValue
$valueType: TPropValue
_defaultFn: (() => TPropValue) | typeof noDefaultValue

Type declaration

_defaultValue: TPropValue | typeof noDefaultValue
_fromSnapshotProcessor?: ((sn) => unknown)

Type declaration

    • (sn): unknown
    • Parameters

      • sn: unknown

      Returns unknown

_isId: boolean
_setter: boolean | "assign"
_toSnapshotProcessor?: ((sn) => unknown)

Type declaration

    • (sn): unknown
    • Parameters

      • sn: unknown

      Returns unknown

_transform: undefined | {
    transform: ((original, model, propName, setOriginalValue) => unknown);
    untransform: ((transformed, model, propName) => unknown);
}

Type declaration

  • transform: ((original, model, propName, setOriginalValue) => unknown)
      • (original, model, propName, setOriginalValue): unknown
      • Parameters

        • original: unknown
        • model: object
        • propName: PropertyKey
        • setOriginalValue: ((newOriginalValue) => void)
            • (newOriginalValue): void
            • Parameters

              • newOriginalValue: unknown

              Returns void

        Returns unknown

  • untransform: ((transformed, model, propName) => unknown)
      • (transformed, model, propName): unknown
      • Parameters

        • transformed: unknown
        • model: object
        • propName: PropertyKey

        Returns unknown

_typeChecker: undefined | TypeChecker | LateTypeChecker

Methods