Saxonberg Server API
    Preparing search index...
    • Type Parameters

      Parameters

      Returns {
          _mixinName: string;
          fieldMarshallers: { mass: string };
          persistentFields: string[];
          prototype: __type<any>;
          subscribableFields: SubscribableFieldDescriptor[];
          new (...args: any[]): __type;
      } & TBase

        • new (...args: any[]): __type
        • Parameters

          • ...args: any[]

          Returns __type

      • _mixinName: string
      • fieldMarshallers: { mass: string }

        Field-marshaller binding. mass round-trips via the kg-bound QuantityMarshaller; the runtime accessor pair stays strict on Quantity<'kg'>. Authoring-shape coercion (mass: heavy, mass: "12000 g", bare numeric) lives in the marshaller's fromStored and only runs on the persistence path.

      • persistentFields: string[]
      • prototype: __type<any>
      • subscribableFields: SubscribableFieldDescriptor[]

        Live-query subscribable fields.

        • bulkMaterial — flat. The bulk default Material as a MaterialSummary wire shape, or null when no bulk material is set. dependsOnFields defaults to ['bulkMaterial'] (descriptor name = source field name).
        • mass — flat. Quantity in kg as { value, unit: 'kg' }. dependsOnFields defaults to ['mass'].
        • detailMaterial — focused-detail only (no flat read). Descriptor name (detailMaterial) does NOT match the setter's discriminator (detailMaterials, plural), so we declare dependsOnFields explicitly.

        Shadow lifecycle entries cover future material shadows that change the rendered value without firing a field change.