Files
boris/node_modules/applesauce-factory/dist/operations/stream-chat.js
Gigi 5d53a827e0 feat: initialize markr nostr bookmark client
- Add project structure with TypeScript, React, and Vite
- Implement nostr authentication using browser extension (NIP-07)
- Add NIP-51 compliant bookmark fetching and display
- Create minimal UI with login and bookmark components
- Integrate applesauce-core and applesauce-react libraries
- Add responsive styling with dark/light mode support
- Include comprehensive README with setup instructions

This is a minimal MVP for a nostr bookmark client that allows users to
view their bookmarks according to NIP-51 specification.
2025-10-02 07:17:07 +02:00

28 lines
1.2 KiB
JavaScript

import { getAddressPointerForEvent, isAddressPointer } from "applesauce-core/helpers";
import { ensureAddressPointerTag } from "../helpers/common-tags.js";
import { eventPipe, skip } from "../helpers/pipeline.js";
import { includeEmojis, includeQuoteTags, repairNostrLinks, setContent, setContentWarning, tagPubkeyMentions, } from "./content.js";
import { modifyPublicTags } from "./tags.js";
/** Sets the message content for a stream chat event */
export function setMessage(content, options) {
return eventPipe(
// set text content
setContent(content),
// fix @ mentions
repairNostrLinks(),
// include "p" tags for pubkeys mentioned
tagPubkeyMentions(),
// include event "q" tags
includeQuoteTags(),
// include "emoji" tags
options?.emojis ? includeEmojis(options.emojis) : skip(),
// set "content-warning" tag
options?.contentWarning !== undefined ? setContentWarning(options.contentWarning) : skip());
}
/** Sets the stream for a stream chat event */
export function setStream(stream) {
if (!isAddressPointer(stream))
stream = getAddressPointerForEvent(stream);
return modifyPublicTags((tags) => ensureAddressPointerTag(tags, stream));
}