mirror of
https://github.com/denoland/deno.git
synced 2024-11-01 09:24:20 -04:00
36 lines
758 B
JavaScript
36 lines
758 B
JavaScript
|
// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license.
|
||
|
|
||
|
// deno-lint-ignore-file
|
||
|
|
||
|
const { createDictionaryConverter, converters } = globalThis.__bootstrap.webidl;
|
||
|
|
||
|
const TextDecodeOptions = createDictionaryConverter(
|
||
|
"TextDecodeOptions",
|
||
|
[
|
||
|
{
|
||
|
key: "stream",
|
||
|
converter: converters.boolean,
|
||
|
defaultValue: false,
|
||
|
},
|
||
|
],
|
||
|
);
|
||
|
|
||
|
// Sanity check
|
||
|
{
|
||
|
const o = TextDecodeOptions(undefined);
|
||
|
if (o.stream !== false) {
|
||
|
throw new Error("Unexpected stream value");
|
||
|
}
|
||
|
}
|
||
|
|
||
|
function handwrittenConverter(V) {
|
||
|
const defaultValue = { stream: false };
|
||
|
if (V === undefined || V === null) {
|
||
|
return defaultValue;
|
||
|
}
|
||
|
if (V.stream !== undefined) {
|
||
|
defaultValue.stream = !!V.stream;
|
||
|
}
|
||
|
return defaultValue;
|
||
|
}
|