started mongo stuff, but it's a PITA. fuck mongo
This commit is contained in:
parent
4cd36ea3fc
commit
0f1bc5dff3
937 changed files with 205043 additions and 0 deletions
35
parts/3/phonebookBackend/node_modules/bson/src/parse_utf8.ts
generated
vendored
Normal file
35
parts/3/phonebookBackend/node_modules/bson/src/parse_utf8.ts
generated
vendored
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
import { BSONError } from './error';
|
||||
|
||||
type TextDecoder = {
|
||||
readonly encoding: string;
|
||||
readonly fatal: boolean;
|
||||
readonly ignoreBOM: boolean;
|
||||
decode(input?: Uint8Array): string;
|
||||
};
|
||||
type TextDecoderConstructor = {
|
||||
new (label: 'utf8', options: { fatal: boolean; ignoreBOM?: boolean }): TextDecoder;
|
||||
};
|
||||
|
||||
// parse utf8 globals
|
||||
declare const TextDecoder: TextDecoderConstructor;
|
||||
let TextDecoderFatal: TextDecoder;
|
||||
let TextDecoderNonFatal: TextDecoder;
|
||||
|
||||
/**
|
||||
* Determines if the passed in bytes are valid utf8
|
||||
* @param bytes - An array of 8-bit bytes. Must be indexable and have length property
|
||||
* @param start - The index to start validating
|
||||
* @param end - The index to end validating
|
||||
*/
|
||||
export function parseUtf8(buffer: Uint8Array, start: number, end: number, fatal: boolean): string {
|
||||
if (fatal) {
|
||||
TextDecoderFatal ??= new TextDecoder('utf8', { fatal: true });
|
||||
try {
|
||||
return TextDecoderFatal.decode(buffer.subarray(start, end));
|
||||
} catch (cause) {
|
||||
throw new BSONError('Invalid UTF-8 string in BSON document', { cause });
|
||||
}
|
||||
}
|
||||
TextDecoderNonFatal ??= new TextDecoder('utf8', { fatal: false });
|
||||
return TextDecoderNonFatal.decode(buffer.subarray(start, end));
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue