Hyperlinkv0.8.0-beta.28

QueueHyperlink

QueueHyperlink.storefunctionsrc/QueueHyperlink.ts:1567
<const Tag extends QueueStoreTag>(tag: Tag): ReturnType<
  typeof facetStoreRegistration<Tag, QueueStoreAnalyticsContract<Tag>>
>
<const Tag extends QueueStoreTag, const Shapes extends StoreShapes>(
  tag: Tag,
  extended: Shapes
): ReturnType<
  typeof facetStoreRegistration<
    Tag,
    QueueStoreAnalyticsContract<Tag>,
    Shapes
  >
>

Register this queue on an app Store.Service — built-in analytics spec with the tag's itemSchema injected. Pass a bare spec object to add app-specific methods (merged with built-in):

QueueHyperlink.store(Mail)
QueueHyperlink.store(Mail, {
  campaignAudit: campaignAuditSchema,
}, ({ campaignAudit, entry }) => ({
  appendCampaignAudit: campaignAudit.append,
}))
layers & servingStore.Service
export function store<const Tag extends QueueStoreTag>(tag: Tag): ReturnType<
  typeof facetStoreRegistration<Tag, QueueStoreAnalyticsContract<Tag>>
>;
export function store<
  const Tag extends QueueStoreTag,
  const Shapes extends StoreShapes,
>(tag: Tag, extended: Shapes): ReturnType<
  typeof facetStoreRegistration<Tag, QueueStoreAnalyticsContract<Tag>, Shapes>
>;
export function store(tag: QueueStoreTag, extended?: StoreShapes) {
  const contract = makeQueueStoreAnalyticsContract(tag);
  return extended === undefined
    ? facetStoreRegistration(tag, contract)
    : facetStoreRegistration(tag, contract, extended);
}