Class StructBase<Fields>

Type Parameters

  • Fields extends Field[] = []

Hierarchy (View Summary)

Implements

Constructors

Accessors

Methods

Constructors

Accessors

Methods

  • Parameters

    Returns {
        [K in string | number | symbol]: UnionToIntersection<
            TupleToUnion<
                {
                    [K in string
                    | number
                    | symbol]: Fields[K<K>] extends { builder: Builder; name: Name }
                        ? Name extends string
                            ? Builder extends ReadonlyValueBuilder<T>
                                ? RecursiveReadonly<{ [P in string]: T }>
                                : Builder extends WritableValueBuilder<T>
                                    ? { [P in string]: Readonly<(...)> }
                                    : Builder extends ProxyValueBuilder<(...)>
                                        ? { [P in (...)]: (...) }
                                        : never
                            : never
                        : never
                },
            >,
        >[K]
    }

  • Parameters

    Returns RecursiveReadonly<
        {
            [K in string
            | number
            | symbol]: UnionToIntersection<
                TupleToUnion<
                    {
                        [K in string
                        | number
                        | symbol]: Fields[K<K>] extends { builder: Builder; name: Name }
                            ? Name extends string
                                ? Builder extends ReadonlyValueBuilder<T>
                                    ? RecursiveReadonly<{ [P in (...)]: (...) }>
                                    : Builder extends WritableValueBuilder<(...)>
                                        ? { [P in (...)]: (...) }
                                        : (...) extends (...) ? (...) : (...)
                                : never
                            : never
                    },
                >,
            >[K]
        },
    >

  • Parameters

    • value: {
          [K in string | number | symbol]: UnionToIntersection<
              TupleToUnion<
                  {
                      [K in string
                      | number
                      | symbol]: Fields[K<K>] extends { builder: Builder; name: Name }
                          ? Name extends string
                              ? Builder extends ReadonlyValueBuilder<T>
                                  ? RecursiveReadonly<{ [P in string]: T }>
                                  : Builder extends WritableValueBuilder<T>
                                      ? { [P in string]: Readonly<(...)> }
                                      : Builder extends ProxyValueBuilder<(...)>
                                          ? { [P in (...)]: (...) }
                                          : never
                              : never
                          : never
                  },
              >,
          >[K]
      }
    • opts: ValueBuilderOptions

    Returns void