24 if (allowMinimalEscaping)
132 : this(settings, allowMinimalJsonEscaping: false)
138 if (settings ==
null)
143 if (allowMinimalJsonEscaping)
147 Span<char> span = stackalloc
char[2] {
'"',
'\\' };
148 innerEncoder =
new OptimizedInboxTextEncoder(singletonMinimallyEscaped, in allowedCodePointsBitmap, forbidHtmlSensitiveCharacters:
false, span);
154 Span<char> span = stackalloc
char[2] {
'\\',
'`' };
155 innerEncoder =
new OptimizedInboxTextEncoder(singleton, in allowedCodePointsBitmap2, forbidHtmlSensitiveCharacters:
true, span);
167 return _innerEncoder.
EncodeUtf8(utf8Source, utf8Destination, out bytesConsumed, out bytesWritten, isFinalBlock);
static void ToCharsBuffer(byte value, Span< char > buffer, int startingIndex=0, Casing casing=Casing.Upper)
static void ToBytesBuffer(byte value, Span< byte > buffer, int startingIndex=0, Casing casing=Casing.Upper)
static readonly EscaperImplementation Singleton
override int EncodeUtf16(Rune value, Span< char > destination)
readonly AsciiByteMap _preescapedMap
static readonly EscaperImplementation SingletonMinimallyEscaped
EscaperImplementation(bool allowMinimalEscaping)
override int EncodeUtf8(Rune value, Span< byte > destination)
readonly OptimizedInboxTextEncoder _innerEncoder
override int FindFirstCharacterToEncodeUtf8(ReadOnlySpan< byte > utf8Text)
override int FindFirstCharacterToEncode(ReadOnlySpan< char > text)
DefaultJavaScriptEncoder(TextEncoderSettings settings, bool allowMinimalJsonEscaping)
override OperationStatus EncodeCore(ReadOnlySpan< char > source, Span< char > destination, out int charsConsumed, out int charsWritten, bool isFinalBlock)
override int MaxOutputCharactersPerInputCharacter
DefaultJavaScriptEncoder(TextEncoderSettings settings)
static readonly DefaultJavaScriptEncoder BasicLatinSingleton
unsafe override bool TryEncodeUnicodeScalar(int unicodeScalar, char *buffer, int bufferLength, out int numberOfCharactersWritten)
unsafe override int FindFirstCharacterToEncode(char *text, int textLength)
static readonly DefaultJavaScriptEncoder UnsafeRelaxedEscapingSingleton
override bool WillEncode(int unicodeScalar)
override OperationStatus EncodeUtf8Core(ReadOnlySpan< byte > utf8Source, Span< byte > utf8Destination, out int bytesConsumed, out int bytesWritten, bool isFinalBlock)
OperationStatus Encode(ReadOnlySpan< char > source, Span< char > destination, out int charsConsumed, out int charsWritten, bool isFinalBlock)
unsafe bool TryEncodeUnicodeScalar(int unicodeScalar, char *buffer, int bufferLength, out int numberOfCharactersWritten)
unsafe int GetIndexOfFirstByteToEncode(ReadOnlySpan< byte > data)
unsafe int GetIndexOfFirstCharToEncode(ReadOnlySpan< char > data)
unsafe int FindFirstCharacterToEncode(char *text, int textLength)
OperationStatus EncodeUtf8(ReadOnlySpan< byte > source, Span< byte > destination, out int bytesConsumed, out int bytesWritten, bool isFinalBlock)
bool IsScalarValueAllowed(Rune value)
ref readonly AllowedBmpCodePointsBitmap GetAllowedCodePointsBitmap()
static void GetUtf16SurrogatePairFromAstralScalarValue(uint scalar, out char highSurrogate, out char lowSurrogate)
static UnicodeRange BasicLatin
unsafe void InsertAsciiChar(char key, byte value)
unsafe readonly bool TryLookup(Rune key, out byte value)