137 {
138 if (settings == null)
139 {
140 throw new ArgumentNullException("settings");
141 }
142 OptimizedInboxTextEncoder innerEncoder;
143 if (allowMinimalJsonEscaping)
144 {
145 ScalarEscaperBase singletonMinimallyEscaped = EscaperImplementation.SingletonMinimallyEscaped;
146 ref readonly AllowedBmpCodePointsBitmap allowedCodePointsBitmap = ref settings.GetAllowedCodePointsBitmap();
147 Span<char> span = stackalloc char[2] { '"', '\\' };
148 innerEncoder = new OptimizedInboxTextEncoder(singletonMinimallyEscaped, in allowedCodePointsBitmap, forbidHtmlSensitiveCharacters: false, span);
149 }
150 else
151 {
152 ScalarEscaperBase singleton = EscaperImplementation.Singleton;
153 ref readonly AllowedBmpCodePointsBitmap allowedCodePointsBitmap2 = ref settings.GetAllowedCodePointsBitmap();
154 Span<char> span = stackalloc char[2] { '\\', '`' };
155 innerEncoder = new OptimizedInboxTextEncoder(singleton, in allowedCodePointsBitmap2, forbidHtmlSensitiveCharacters: true, span);
156 }
158 }
readonly OptimizedInboxTextEncoder _innerEncoder