Variable: DISPLAY_NAME_PATTERN
constDISPLAY_NAME_PATTERN:string
Defined in: packages/contracts/src/primitives.ts:155
The rules on the characters of a display name (PO-QA3), as one pattern so that they
stay visible in the published JSON Schema. Under Ajv's u flag it is matched per
code point. In order:
- not beginning or ending with U+061C (Arabic letter mark), U+200E or U+200F (the direction marks are legitimate inside mixed-direction text, and an edge is where they hide a spoof);
- none of: U+0000 to U+001F, U+007F to U+009F (C0, DEL and C1 controls), U+200B
(zero-width space), U+2028 and U+2029 (line and paragraph separators), U+202A to
U+202E and U+2066 to U+2069 (bidirectional overrides, embeddings and isolates),
U+2060 (word joiner), U+FEFF (byte order mark), or a lone surrogate. A lone
surrogate has no UTF-8 encoding and
jsonbcannot hold it; a valid pair (an emoji) still passes. U+200C and U+200D stay allowed: Arabic and Persian need the non-joiner, and emoji sequences need the joiner; - at least one character that is neither
White_SpacenorDefault_Ignorable_Code_Point, so a name of spaces or of invisible characters is blank; - no run of more than DISPLAY_NAME_MAX_STACKED_MARKS combining marks or joiners.
Normalisation to NFC is not expressible here; see DisplayName.