mirror of
https://github.com/PR0M3TH3AN/bitvid.git
synced 2026-11-04 03:42:26 +00:00
108 lines
3.1 KiB
JavaScript
108 lines
3.1 KiB
JavaScript
// js/nostr.js
|
|
|
|
import {
|
|
NostrClient,
|
|
getActiveSigner,
|
|
setActiveSigner,
|
|
clearActiveSigner,
|
|
resolveActiveSigner,
|
|
shouldRequestExtensionPermissions,
|
|
} from "./nostr/client.js";
|
|
import {
|
|
DEFAULT_NIP07_ENCRYPTION_METHODS,
|
|
DEFAULT_NIP07_PERMISSION_METHODS,
|
|
} from "./nostr/nip07Permissions.js";
|
|
import {
|
|
updateWatchHistoryList as updateWatchHistoryListWithManager,
|
|
removeWatchHistoryItem as removeWatchHistoryItemWithManager,
|
|
} from "./nostr/watchHistory.js";
|
|
import {
|
|
registerNostrClient,
|
|
requestDefaultExtensionPermissions as requestRegisteredPermissions,
|
|
} from "./nostrClientRegistry.js";
|
|
|
|
export const nostrClient = new NostrClient();
|
|
|
|
registerNostrClient(nostrClient, {
|
|
requestPermissions: (
|
|
methods = DEFAULT_NIP07_PERMISSION_METHODS,
|
|
) => nostrClient.ensureExtensionPermissions(methods),
|
|
});
|
|
|
|
export function requestDefaultExtensionPermissions(
|
|
methods = DEFAULT_NIP07_PERMISSION_METHODS,
|
|
) {
|
|
return requestRegisteredPermissions(methods);
|
|
}
|
|
|
|
export const recordVideoView = (...args) =>
|
|
nostrClient.recordVideoView(...args);
|
|
|
|
export const updateWatchHistoryList = (...args) =>
|
|
updateWatchHistoryListWithManager(nostrClient.watchHistory, ...args);
|
|
|
|
export const removeWatchHistoryItem = (...args) =>
|
|
removeWatchHistoryItemWithManager(nostrClient.watchHistory, ...args);
|
|
|
|
export const listVideoViewEvents = (...args) => {
|
|
if (typeof nostrClient.listVideoViewEvents !== "function") {
|
|
throw new Error("Video view listing is unavailable in this build.");
|
|
}
|
|
return nostrClient.listVideoViewEvents(...args);
|
|
};
|
|
|
|
export const subscribeVideoViewEvents = (...args) => {
|
|
if (typeof nostrClient.subscribeVideoViewEvents !== "function") {
|
|
throw new Error("Video view subscriptions are unavailable in this build.");
|
|
}
|
|
return nostrClient.subscribeVideoViewEvents(...args);
|
|
};
|
|
|
|
export const countVideoViewEvents = (...args) => {
|
|
if (typeof nostrClient.countVideoViewEvents !== "function") {
|
|
throw new Error("Video view counting is unavailable in this build.");
|
|
}
|
|
return nostrClient.countVideoViewEvents(...args);
|
|
};
|
|
|
|
export {
|
|
__testExports,
|
|
NostrClient,
|
|
getActiveSigner,
|
|
setActiveSigner,
|
|
clearActiveSigner,
|
|
resolveActiveSigner,
|
|
shouldRequestExtensionPermissions,
|
|
} from "./nostr/client.js";
|
|
export { DEFAULT_NIP07_ENCRYPTION_METHODS, DEFAULT_NIP07_PERMISSION_METHODS } from "./nostr/nip07Permissions.js";
|
|
export {
|
|
buildNip71MetadataTags,
|
|
buildNip71VideoEvent,
|
|
collectNip71PointerRequests,
|
|
extractNip71MetadataFromTags,
|
|
getDTagValueFromTags,
|
|
mergeNip71MetadataIntoVideo,
|
|
populateNip71MetadataForVideos,
|
|
processNip71Events,
|
|
buildVideoPointerValue,
|
|
stringFromInput,
|
|
} from "./nostr/nip71.js";
|
|
export {
|
|
normalizePointerInput,
|
|
pointerKey,
|
|
chunkWatchHistoryPayloadItems,
|
|
normalizeActorKey,
|
|
parseWatchHistoryContentWithFallback,
|
|
isNip04EncryptedWatchHistoryEvent,
|
|
watchHistoryHelpers,
|
|
} from "./nostr/watchHistory.js";
|
|
export {
|
|
deriveViewEventBucketIndex,
|
|
deriveViewEventPointerScope,
|
|
hasRecentViewPublish,
|
|
rememberViewPublish,
|
|
createVideoViewEventFilters,
|
|
getViewEventGuardWindowMs,
|
|
} from "./nostr/viewEvents.js";
|
|
export { convertEventToVideo } from "./nostr/nip71.js";
|