Bundle / foldkit-bundle

Declared

interface · packages/bundle/src/declare.ts:44

interface Declared<B extends AnyBundle, Field extends string> {
  readonly field: Field
  readonly wrapper: Wrapper<WrapperTag<Field>, BundleParts<B>['Message']>
  readonly fields: {
    readonly [K in Field]: Schema.Codec<BundleParts<B>['Model'], unknown>
  }
  readonly cases: Wrapper<WrapperTag<Field>, BundleParts<B>['Message']>['cases']
  readonly at: <
    Parent extends {
      readonly [K in Field]: BundleParts<B>['Model']
    },
  >() => <OutStepMessage = never, R2 = never>(
    ...config: PlaceConfigParam<
      BundleParts<B>['Args'],
      Parent,
      Wrapped<WrapperTag<Field>, BundleParts<B>['Message']>,
      BundleParts<B>['Message'],
      BundleParts<B>['OutMessage'],
      OutStepMessage,
      R2,
      Omit<Parent, Field>
    >
  ) => Placed<
    BundleParts<B>['Name'],
    Parent,
    Wrapped<WrapperTag<Field>, BundleParts<B>['Message']> | OutStepMessage,
    BundleParts<B>['Model'],
    BundleParts<B>['Message'],
    BundleParts<B>['R'] | R2,
    BundleParts<B>['S'],
    BundleParts<B>['ViewInputs'],
    BundleParts<B>['Resources'],
    BundleParts<B>['Helpers'],
    Field,
    WrapperTag<Field>
  >
}

Members

Declared.field

property · packages/bundle/src/declare.ts:45

readonly field: Field

Declared.wrapper

property · packages/bundle/src/declare.ts:46

readonly wrapper: Wrapper<WrapperTag<Field>, BundleParts<B>['Message']>

Declared.fields

property · packages/bundle/src/declare.ts:48

readonly fields: {
  readonly [K in Field]: Schema.Codec<BundleParts<B>['Model'], unknown>
}

Spread into the parent's Schema.Struct.

Declared.cases

property · packages/bundle/src/declare.ts:50

readonly cases: Wrapper<WrapperTag<Field>, BundleParts<B>['Message']>['cases']

Spread into the parent's defineMessageUnion.

Declared.at

property · packages/bundle/src/declare.ts:52

readonly at: <
  Parent extends {
    readonly [K in Field]: BundleParts<B>['Model']
  },
>() => <OutStepMessage = never, R2 = never>(
  ...config: PlaceConfigParam<
    BundleParts<B>['Args'],
    Parent,
    Wrapped<WrapperTag<Field>, BundleParts<B>['Message']>,
    BundleParts<B>['Message'],
    BundleParts<B>['OutMessage'],
    OutStepMessage,
    R2,
    Omit<Parent, Field>
  >
) => Placed<
  BundleParts<B>['Name'],
  Parent,
  Wrapped<WrapperTag<Field>, BundleParts<B>['Message']> | OutStepMessage,
  BundleParts<B>['Model'],
  BundleParts<B>['Message'],
  BundleParts<B>['R'] | R2,
  BundleParts<B>['S'],
  BundleParts<B>['ViewInputs'],
  BundleParts<B>['Resources'],
  BundleParts<B>['Helpers'],
  Field,
  WrapperTag<Field>
>

Places the bundle in a parent whose Field holds the bundle's Model.