Make mantra tags event references
This commit is contained in:
@@ -2,19 +2,38 @@ package press.mantra.compose.nostr.nip30303.tags
|
||||
|
||||
import com.vitorpamplona.quartz.nip01Core.core.HexKey
|
||||
import com.vitorpamplona.quartz.nip01Core.core.has
|
||||
import com.vitorpamplona.quartz.nip01Core.relay.normalizer.NormalizedRelayUrl
|
||||
import com.vitorpamplona.quartz.nip01Core.relay.normalizer.RelayUrlNormalizer
|
||||
import com.vitorpamplona.quartz.nip01Core.tags.events.EventReference
|
||||
import com.vitorpamplona.quartz.utils.arrayOfNotNull
|
||||
import com.vitorpamplona.quartz.utils.ensure
|
||||
|
||||
class ArtifactIdTag {
|
||||
data class ArtifactIdTag(
|
||||
val ref: EventReference,
|
||||
) {
|
||||
constructor(eventId: String, relayHint: NormalizedRelayUrl?, pubkey: String?) : this(
|
||||
EventReference(eventId, pubkey, relayHint)
|
||||
)
|
||||
|
||||
companion object {
|
||||
const val TAG_NAME = "artifactId"
|
||||
|
||||
fun parse(tag: Array<String>): HexKey? {
|
||||
fun parse(tag: Array<String>): ArtifactIdTag? {
|
||||
ensure(tag.has(1)) { return null }
|
||||
ensure(tag[0] == TAG_NAME) { return null }
|
||||
ensure(tag[1].isNotBlank()) { return null }
|
||||
return tag[1]
|
||||
ensure(tag[1].length == 64) { return null }
|
||||
|
||||
val relayHint = tag.getOrNull(2)?.let { RelayUrlNormalizer.normalizeOrNull(it) }
|
||||
|
||||
return ArtifactIdTag(tag[1], relayHint, tag.getOrNull(3))
|
||||
}
|
||||
|
||||
fun assemble(artifactId: HexKey) = arrayOf(TAG_NAME, artifactId)
|
||||
fun assemble(
|
||||
eventId: HexKey,
|
||||
relay: NormalizedRelayUrl?,
|
||||
pubkey: String?,
|
||||
) = arrayOfNotNull(TAG_NAME, eventId, relay?.url, pubkey)
|
||||
|
||||
fun assemble(ref: EventReference) = assemble(ref.eventId, ref.relayHint, ref.author)
|
||||
}
|
||||
}
|
||||
@@ -2,19 +2,38 @@ package press.mantra.compose.nostr.nip30303.tags
|
||||
|
||||
import com.vitorpamplona.quartz.nip01Core.core.HexKey
|
||||
import com.vitorpamplona.quartz.nip01Core.core.has
|
||||
import com.vitorpamplona.quartz.nip01Core.relay.normalizer.NormalizedRelayUrl
|
||||
import com.vitorpamplona.quartz.nip01Core.relay.normalizer.RelayUrlNormalizer
|
||||
import com.vitorpamplona.quartz.nip01Core.tags.events.EventReference
|
||||
import com.vitorpamplona.quartz.utils.arrayOfNotNull
|
||||
import com.vitorpamplona.quartz.utils.ensure
|
||||
|
||||
class ArtifactVersionIdTag {
|
||||
class ArtifactVersionIdTag(
|
||||
val ref: EventReference,
|
||||
) {
|
||||
constructor(eventId: String, relayHint: NormalizedRelayUrl?, pubkey: String?) : this(
|
||||
EventReference(eventId, pubkey, relayHint)
|
||||
)
|
||||
|
||||
companion object {
|
||||
const val TAG_NAME = "artifactVersionId"
|
||||
|
||||
fun parse(tag: Array<String>): HexKey? {
|
||||
fun parse(tag: Array<String>): ArtifactVersionIdTag? {
|
||||
ensure(tag.has(1)) { return null }
|
||||
ensure(tag[0] == TAG_NAME) { return null }
|
||||
ensure(tag[1].isNotBlank()) { return null }
|
||||
return tag[1]
|
||||
ensure(tag[1].length == 64) { return null }
|
||||
|
||||
val relayHint = tag.getOrNull(2)?.let { RelayUrlNormalizer.normalizeOrNull(it) }
|
||||
|
||||
return ArtifactVersionIdTag(tag[1], relayHint, tag.getOrNull(3))
|
||||
}
|
||||
|
||||
fun assemble(artifactVersionId: HexKey) = arrayOf(TAG_NAME, artifactVersionId)
|
||||
fun assemble(
|
||||
eventId: HexKey,
|
||||
relay: NormalizedRelayUrl?,
|
||||
pubkey: String?,
|
||||
) = arrayOfNotNull(TAG_NAME, eventId, relay?.url, pubkey)
|
||||
|
||||
fun assemble(ref: EventReference) = assemble(ref.eventId, ref.relayHint, ref.author)
|
||||
}
|
||||
}
|
||||
@@ -2,19 +2,38 @@ package press.mantra.compose.nostr.nip30303.tags
|
||||
|
||||
import com.vitorpamplona.quartz.nip01Core.core.HexKey
|
||||
import com.vitorpamplona.quartz.nip01Core.core.has
|
||||
import com.vitorpamplona.quartz.nip01Core.relay.normalizer.NormalizedRelayUrl
|
||||
import com.vitorpamplona.quartz.nip01Core.relay.normalizer.RelayUrlNormalizer
|
||||
import com.vitorpamplona.quartz.nip01Core.tags.events.EventReference
|
||||
import com.vitorpamplona.quartz.utils.arrayOfNotNull
|
||||
import com.vitorpamplona.quartz.utils.ensure
|
||||
|
||||
class ChapterIdTag {
|
||||
class ChapterIdTag(
|
||||
val ref: EventReference,
|
||||
) {
|
||||
constructor(eventId: String, relayHint: NormalizedRelayUrl?, pubkey: String?) : this(
|
||||
EventReference(eventId, pubkey, relayHint)
|
||||
)
|
||||
|
||||
companion object {
|
||||
const val TAG_NAME = "chapterIdTag"
|
||||
|
||||
fun parse(tag: Array<String>): HexKey? {
|
||||
fun parse(tag: Array<String>): ChapterIdTag? {
|
||||
ensure(tag.has(1)) { return null }
|
||||
ensure(tag[0] == TAG_NAME) { return null }
|
||||
ensure(tag[1].isNotBlank()) { return null }
|
||||
return tag[1]
|
||||
ensure(tag[1].length == 64) { return null }
|
||||
|
||||
val relayHint = tag.getOrNull(2)?.let { RelayUrlNormalizer.normalizeOrNull(it) }
|
||||
|
||||
return ChapterIdTag(tag[1], relayHint, tag.getOrNull(3))
|
||||
}
|
||||
|
||||
fun assemble(chapterIdTag: HexKey) = arrayOf(TAG_NAME, chapterIdTag)
|
||||
fun assemble(
|
||||
eventId: HexKey,
|
||||
relay: NormalizedRelayUrl?,
|
||||
pubkey: String?,
|
||||
) = arrayOfNotNull(TAG_NAME, eventId, relay?.url, pubkey)
|
||||
|
||||
fun assemble(ref: EventReference) = assemble(ref.eventId, ref.relayHint, ref.author)
|
||||
}
|
||||
}
|
||||
@@ -2,19 +2,38 @@ package press.mantra.compose.nostr.nip30303.tags
|
||||
|
||||
import com.vitorpamplona.quartz.nip01Core.core.HexKey
|
||||
import com.vitorpamplona.quartz.nip01Core.core.has
|
||||
import com.vitorpamplona.quartz.nip01Core.relay.normalizer.NormalizedRelayUrl
|
||||
import com.vitorpamplona.quartz.nip01Core.relay.normalizer.RelayUrlNormalizer
|
||||
import com.vitorpamplona.quartz.nip01Core.tags.events.EventReference
|
||||
import com.vitorpamplona.quartz.utils.arrayOfNotNull
|
||||
import com.vitorpamplona.quartz.utils.ensure
|
||||
|
||||
class ChunkIdTag {
|
||||
class ChunkIdTag(
|
||||
val ref: EventReference,
|
||||
) {
|
||||
constructor(eventId: String, relayHint: NormalizedRelayUrl?, pubkey: String?) : this(
|
||||
EventReference(eventId, pubkey, relayHint)
|
||||
)
|
||||
|
||||
companion object {
|
||||
const val TAG_NAME = "chunkIdTag"
|
||||
|
||||
fun parse(tag: Array<String>): HexKey? {
|
||||
fun parse(tag: Array<String>): ChunkIdTag? {
|
||||
ensure(tag.has(1)) { return null }
|
||||
ensure(tag[0] == TAG_NAME) { return null }
|
||||
ensure(tag[1].isNotBlank()) { return null }
|
||||
return tag[1]
|
||||
ensure(tag[1].length == 64) { return null }
|
||||
|
||||
val relayHint = tag.getOrNull(2)?.let { RelayUrlNormalizer.normalizeOrNull(it) }
|
||||
|
||||
return ChunkIdTag(tag[1], relayHint, tag.getOrNull(3))
|
||||
}
|
||||
|
||||
fun assemble(chunkIdTag: HexKey) = arrayOf(TAG_NAME, chunkIdTag)
|
||||
fun assemble(
|
||||
eventId: HexKey,
|
||||
relay: NormalizedRelayUrl?,
|
||||
pubkey: String?,
|
||||
) = arrayOfNotNull(TAG_NAME, eventId, relay?.url, pubkey)
|
||||
|
||||
fun assemble(ref: EventReference) = assemble(ref.eventId, ref.relayHint, ref.author)
|
||||
}
|
||||
}
|
||||
@@ -2,19 +2,38 @@ package press.mantra.compose.nostr.nip30303.tags
|
||||
|
||||
import com.vitorpamplona.quartz.nip01Core.core.HexKey
|
||||
import com.vitorpamplona.quartz.nip01Core.core.has
|
||||
import com.vitorpamplona.quartz.nip01Core.relay.normalizer.NormalizedRelayUrl
|
||||
import com.vitorpamplona.quartz.nip01Core.relay.normalizer.RelayUrlNormalizer
|
||||
import com.vitorpamplona.quartz.nip01Core.tags.events.EventReference
|
||||
import com.vitorpamplona.quartz.utils.arrayOfNotNull
|
||||
import com.vitorpamplona.quartz.utils.ensure
|
||||
|
||||
class DialectIdTag {
|
||||
class DialectIdTag(
|
||||
val ref: EventReference,
|
||||
) {
|
||||
constructor(eventId: String, relayHint: NormalizedRelayUrl?, pubkey: String?) : this(
|
||||
EventReference(eventId, pubkey, relayHint)
|
||||
)
|
||||
|
||||
companion object {
|
||||
const val TAG_NAME = "dialectIdTag"
|
||||
|
||||
fun parse(tag: Array<String>): HexKey? {
|
||||
fun parse(tag: Array<String>): DialectIdTag? {
|
||||
ensure(tag.has(1)) { return null }
|
||||
ensure(tag[0] == TAG_NAME) { return null }
|
||||
ensure(tag[1].isNotBlank()) { return null }
|
||||
return tag[1]
|
||||
ensure(tag[1].length == 64) { return null }
|
||||
|
||||
val relayHint = tag.getOrNull(2)?.let { RelayUrlNormalizer.normalizeOrNull(it) }
|
||||
|
||||
return DialectIdTag(tag[1], relayHint, tag.getOrNull(3))
|
||||
}
|
||||
|
||||
fun assemble(dialectIdTag: HexKey) = arrayOf(TAG_NAME, dialectIdTag)
|
||||
fun assemble(
|
||||
eventId: HexKey,
|
||||
relay: NormalizedRelayUrl?,
|
||||
pubkey: String?,
|
||||
) = arrayOfNotNull(TAG_NAME, eventId, relay?.url, pubkey)
|
||||
|
||||
fun assemble(ref: EventReference) = assemble(ref.eventId, ref.relayHint, ref.author)
|
||||
}
|
||||
}
|
||||
@@ -2,19 +2,38 @@ package press.mantra.compose.nostr.nip30303.tags
|
||||
|
||||
import com.vitorpamplona.quartz.nip01Core.core.HexKey
|
||||
import com.vitorpamplona.quartz.nip01Core.core.has
|
||||
import com.vitorpamplona.quartz.nip01Core.relay.normalizer.NormalizedRelayUrl
|
||||
import com.vitorpamplona.quartz.nip01Core.relay.normalizer.RelayUrlNormalizer
|
||||
import com.vitorpamplona.quartz.nip01Core.tags.events.EventReference
|
||||
import com.vitorpamplona.quartz.utils.arrayOfNotNull
|
||||
import com.vitorpamplona.quartz.utils.ensure
|
||||
|
||||
class TranslationArtifactVersionIdTag {
|
||||
class TranslationArtifactVersionIdTag(
|
||||
val ref: EventReference,
|
||||
) {
|
||||
constructor(eventId: String, relayHint: NormalizedRelayUrl?, pubkey: String?) : this(
|
||||
EventReference(eventId, pubkey, relayHint)
|
||||
)
|
||||
|
||||
companion object {
|
||||
const val TAG_NAME = "translationArtifactVersionId"
|
||||
|
||||
fun parse(tag: Array<String>): HexKey? {
|
||||
fun parse(tag: Array<String>): DialectIdTag? {
|
||||
ensure(tag.has(1)) { return null }
|
||||
ensure(tag[0] == TAG_NAME) { return null }
|
||||
ensure(tag[1].isNotBlank()) { return null }
|
||||
return tag[1]
|
||||
ensure(tag[1].length == 64) { return null }
|
||||
|
||||
val relayHint = tag.getOrNull(2)?.let { RelayUrlNormalizer.normalizeOrNull(it) }
|
||||
|
||||
return DialectIdTag(tag[1], relayHint, tag.getOrNull(3))
|
||||
}
|
||||
|
||||
fun assemble(translationArtifactVersionId: HexKey) = arrayOf(TAG_NAME, translationArtifactVersionId)
|
||||
fun assemble(
|
||||
eventId: HexKey,
|
||||
relay: NormalizedRelayUrl?,
|
||||
pubkey: String?,
|
||||
) = arrayOfNotNull(TAG_NAME, eventId, relay?.url, pubkey)
|
||||
|
||||
fun assemble(ref: EventReference) = assemble(ref.eventId, ref.relayHint, ref.author)
|
||||
}
|
||||
}
|
||||
@@ -2,19 +2,38 @@ package press.mantra.compose.nostr.nip30303.tags
|
||||
|
||||
import com.vitorpamplona.quartz.nip01Core.core.HexKey
|
||||
import com.vitorpamplona.quartz.nip01Core.core.has
|
||||
import com.vitorpamplona.quartz.nip01Core.relay.normalizer.NormalizedRelayUrl
|
||||
import com.vitorpamplona.quartz.nip01Core.relay.normalizer.RelayUrlNormalizer
|
||||
import com.vitorpamplona.quartz.nip01Core.tags.events.EventReference
|
||||
import com.vitorpamplona.quartz.utils.arrayOfNotNull
|
||||
import com.vitorpamplona.quartz.utils.ensure
|
||||
|
||||
class TranslationChapterIdTag {
|
||||
class TranslationChapterIdTag(
|
||||
val ref: EventReference,
|
||||
) {
|
||||
constructor(eventId: String, relayHint: NormalizedRelayUrl?, pubkey: String?) : this(
|
||||
EventReference(eventId, pubkey, relayHint)
|
||||
)
|
||||
|
||||
companion object {
|
||||
const val TAG_NAME = "translationChapterIdTag"
|
||||
|
||||
fun parse(tag: Array<String>): HexKey? {
|
||||
fun parse(tag: Array<String>): TranslationChapterIdTag? {
|
||||
ensure(tag.has(1)) { return null }
|
||||
ensure(tag[0] == TAG_NAME) { return null }
|
||||
ensure(tag[1].isNotBlank()) { return null }
|
||||
return tag[1]
|
||||
ensure(tag[1].length == 64) { return null }
|
||||
|
||||
val relayHint = tag.getOrNull(2)?.let { RelayUrlNormalizer.normalizeOrNull(it) }
|
||||
|
||||
return TranslationChapterIdTag(tag[1], relayHint, tag.getOrNull(3))
|
||||
}
|
||||
|
||||
fun assemble(translationChapterIdTag: HexKey) = arrayOf(TAG_NAME, translationChapterIdTag)
|
||||
fun assemble(
|
||||
eventId: HexKey,
|
||||
relay: NormalizedRelayUrl?,
|
||||
pubkey: String?,
|
||||
) = arrayOfNotNull(TAG_NAME, eventId, relay?.url, pubkey)
|
||||
|
||||
fun assemble(ref: EventReference) = assemble(ref.eventId, ref.relayHint, ref.author)
|
||||
}
|
||||
}
|
||||
@@ -2,19 +2,38 @@ package press.mantra.compose.nostr.nip30303.tags
|
||||
|
||||
import com.vitorpamplona.quartz.nip01Core.core.HexKey
|
||||
import com.vitorpamplona.quartz.nip01Core.core.has
|
||||
import com.vitorpamplona.quartz.nip01Core.relay.normalizer.NormalizedRelayUrl
|
||||
import com.vitorpamplona.quartz.nip01Core.relay.normalizer.RelayUrlNormalizer
|
||||
import com.vitorpamplona.quartz.nip01Core.tags.events.EventReference
|
||||
import com.vitorpamplona.quartz.utils.arrayOfNotNull
|
||||
import com.vitorpamplona.quartz.utils.ensure
|
||||
|
||||
class TranslationChunkIdTag {
|
||||
class TranslationChunkIdTag(
|
||||
val ref: EventReference,
|
||||
) {
|
||||
constructor(eventId: String, relayHint: NormalizedRelayUrl?, pubkey: String?) : this(
|
||||
EventReference(eventId, pubkey, relayHint)
|
||||
)
|
||||
|
||||
companion object {
|
||||
const val TAG_NAME = "translationChunkIdTag"
|
||||
|
||||
fun parse(tag: Array<String>): HexKey? {
|
||||
fun parse(tag: Array<String>): TranslationChunkIdTag? {
|
||||
ensure(tag.has(1)) { return null }
|
||||
ensure(tag[0] == TAG_NAME) { return null }
|
||||
ensure(tag[1].isNotBlank()) { return null }
|
||||
return tag[1]
|
||||
ensure(tag[1].length == 64) { return null }
|
||||
|
||||
val relayHint = tag.getOrNull(2)?.let { RelayUrlNormalizer.normalizeOrNull(it) }
|
||||
|
||||
return TranslationChunkIdTag(tag[1], relayHint, tag.getOrNull(3))
|
||||
}
|
||||
|
||||
fun assemble(translationChunkIdTag: HexKey) = arrayOf(TAG_NAME, translationChunkIdTag)
|
||||
fun assemble(
|
||||
eventId: HexKey,
|
||||
relay: NormalizedRelayUrl?,
|
||||
pubkey: String?,
|
||||
) = arrayOfNotNull(TAG_NAME, eventId, relay?.url, pubkey)
|
||||
|
||||
fun assemble(ref: EventReference) = assemble(ref.eventId, ref.relayHint, ref.author)
|
||||
}
|
||||
}
|
||||
@@ -2,19 +2,38 @@ package press.mantra.compose.nostr.nip30303.tags
|
||||
|
||||
import com.vitorpamplona.quartz.nip01Core.core.HexKey
|
||||
import com.vitorpamplona.quartz.nip01Core.core.has
|
||||
import com.vitorpamplona.quartz.nip01Core.relay.normalizer.NormalizedRelayUrl
|
||||
import com.vitorpamplona.quartz.nip01Core.relay.normalizer.RelayUrlNormalizer
|
||||
import com.vitorpamplona.quartz.nip01Core.tags.events.EventReference
|
||||
import com.vitorpamplona.quartz.utils.arrayOfNotNull
|
||||
import com.vitorpamplona.quartz.utils.ensure
|
||||
|
||||
class TranslationIdTag {
|
||||
class TranslationIdTag(
|
||||
val ref: EventReference,
|
||||
) {
|
||||
constructor(eventId: String, relayHint: NormalizedRelayUrl?, pubkey: String?) : this(
|
||||
EventReference(eventId, pubkey, relayHint)
|
||||
)
|
||||
|
||||
companion object {
|
||||
const val TAG_NAME = "translationIdTag"
|
||||
|
||||
fun parse(tag: Array<String>): HexKey? {
|
||||
fun parse(tag: Array<String>): TranslationIdTag? {
|
||||
ensure(tag.has(1)) { return null }
|
||||
ensure(tag[0] == TAG_NAME) { return null }
|
||||
ensure(tag[1].isNotBlank()) { return null }
|
||||
return tag[1]
|
||||
ensure(tag[1].length == 64) { return null }
|
||||
|
||||
val relayHint = tag.getOrNull(2)?.let { RelayUrlNormalizer.normalizeOrNull(it) }
|
||||
|
||||
return TranslationIdTag(tag[1], relayHint, tag.getOrNull(3))
|
||||
}
|
||||
|
||||
fun assemble(translationIdTag: HexKey) = arrayOf(TAG_NAME, translationIdTag)
|
||||
fun assemble(
|
||||
eventId: HexKey,
|
||||
relay: NormalizedRelayUrl?,
|
||||
pubkey: String?,
|
||||
) = arrayOfNotNull(TAG_NAME, eventId, relay?.url, pubkey)
|
||||
|
||||
fun assemble(ref: EventReference) = assemble(ref.eventId, ref.relayHint, ref.author)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user