0
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2025-03-03 09:31:22 -05:00
deno/ext/webidl/benches/dict.js
Leo Kettmeir b4aa153097
refactor: Use ES modules for internal runtime code (#17648)
This PR refactors all internal js files (except core) to be written as
ES modules.
`__bootstrap`has been mostly replaced with static imports in form in
`internal:[path to file from repo root]`.
To specify if files are ESM, an `esm` method has been added to
`Extension`, similar to the `js` method.
A new ModuleLoader called `InternalModuleLoader` has been added to
enable the loading of internal specifiers, which is used in all
situations except when a snapshot is only loaded, and not a new one is
created from it.

---------

Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2023-02-07 20:22:46 +01:00

40 lines
878 B
JavaScript

// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license.
// deno-lint-ignore-file
import {
converters,
createDictionaryConverter,
} from "internal:ext/webidl/00_webidl.js";
const TextDecodeOptions = createDictionaryConverter(
"TextDecodeOptions",
[
{
key: "stream",
converter: converters.boolean,
defaultValue: false,
},
],
);
globalThis.TextDecodeOptions = TextDecodeOptions;
// 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;
}
globalThis.handwrittenConverter = handwrittenConverter;