appBskyRichtextFacet top-level constant
app.bsky.richtext.facet
Implementation
const appBskyRichtextFacet = <String, dynamic>{
"lexicon": 1,
"id": "app.bsky.richtext.facet",
"defs": {
"main": {
"type": "object",
"description": "Annotation of a sub-string within rich text.",
"required": ["index", "features"],
"properties": {
"index": {"type": "ref", "ref": "#byteSlice"},
"features": {
"type": "array",
"items": {
"type": "union",
"refs": ["#mention", "#link", "#tag"]
}
}
}
},
"mention": {
"type": "object",
"description":
"Facet feature for mention of another account. The text is usually a handle, including a '@' prefix, but the facet reference is a DID.",
"required": ["did"],
"properties": {
"did": {"type": "string", "format": "did"}
}
},
"link": {
"type": "object",
"description":
"Facet feature for a URL. The text URL may have been simplified or truncated, but the facet reference should be a complete URL.",
"required": ["uri"],
"properties": {
"uri": {"type": "string", "format": "uri"}
}
},
"tag": {
"type": "object",
"description":
"Facet feature for a hashtag. The text usually includes a '#' prefix, but the facet reference should not (except in the case of 'double hash tags').",
"required": ["tag"],
"properties": {
"tag": {"type": "string", "maxLength": 640, "maxGraphemes": 64}
}
},
"byteSlice": {
"type": "object",
"description":
"Specifies the sub-string range a facet feature applies to. Start index is inclusive, end index is exclusive. Indices are zero-indexed, counting bytes of the UTF-8 encoded text. NOTE: some languages, like Javascript, use UTF-16 or Unicode codepoints for string slice indexing; in these languages, convert to byte arrays before working with facets.",
"required": ["byteStart", "byteEnd"],
"properties": {
"byteStart": {"type": "integer", "minimum": 0},
"byteEnd": {"type": "integer", "minimum": 0}
}
}
}
};