1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2025-01-11 08:33:43 -05:00

refactor: cleanup assert() & AssertionError definitions (#13859)

This commit is contained in:
Leo Kettmeir 2022-03-19 13:57:37 +01:00 committed by GitHub
parent ad8e238348
commit e55dee7fd8
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 30 additions and 60 deletions

View file

@ -11,6 +11,7 @@
((window) => {
const core = Deno.core;
const {
Error,
RegExp,
ArrayPrototypeMap,
StringPrototypeCharCodeAt,
@ -275,6 +276,24 @@
return StringPrototypeMatch(s, HTTP_BETWEEN_WHITESPACE)?.[1] ?? "";
}
class AssertionError extends Error {
constructor(msg) {
super(msg);
this.name = "AssertionError";
}
}
/**
* @param {unknown} cond
* @param {string=} msg
* @returns {asserts cond}
*/
function assert(cond, msg = "Assertion failed.") {
if (!cond) {
throw new AssertionError(msg);
}
}
window.__bootstrap.infra = {
collectSequenceOfCodepoints,
ASCII_DIGIT,
@ -299,5 +318,7 @@
collectHttpQuotedString,
forgivingBase64Encode,
forgivingBase64Decode,
AssertionError,
assert,
};
})(globalThis);

View file

@ -6,7 +6,6 @@
const {
ArrayPrototypePush,
ArrayPrototypeShift,
Error,
FunctionPrototypeCall,
Map,
MapPrototypeDelete,
@ -22,25 +21,7 @@
TypeError,
} = window.__bootstrap.primordials;
const { webidl } = window.__bootstrap;
// Shamelessly cribbed from extensions/fetch/11_streams.js
class AssertionError extends Error {
constructor(msg) {
super(msg);
this.name = "AssertionError";
}
}
/**
* @param {unknown} cond
* @param {string=} msg
* @returns {asserts cond}
*/
function assert(cond, msg = "Assertion failed.") {
if (!cond) {
throw new AssertionError(msg);
}
}
const { assert } = window.__bootstrap.infra;
function opNow() {
return core.opSync("op_now");

View file

@ -21,7 +21,6 @@
BigInt64ArrayPrototype,
BigUint64ArrayPrototype,
DataView,
Error,
Int8ArrayPrototype,
Int16ArrayPrototype,
Int32ArrayPrototype,
@ -58,24 +57,7 @@
WeakMapPrototypeSet,
} = globalThis.__bootstrap.primordials;
const consoleInternal = window.__bootstrap.console;
class AssertionError extends Error {
constructor(msg) {
super(msg);
this.name = "AssertionError";
}
}
/**
* @param {unknown} cond
* @param {string=} msg
* @returns {asserts cond}
*/
function assert(cond, msg = "Assertion failed.") {
if (!cond) {
throw new AssertionError(msg);
}
}
const { AssertionError, assert } = window.__bootstrap.infra;
/** @template T */
class Deferred {

View file

@ -4,7 +4,6 @@
((window) => {
const {
decodeURIComponent,
Error,
ObjectPrototypeIsPrototypeOf,
Promise,
SafeArrayIterator,
@ -34,19 +33,6 @@
}
}
class AssertionError extends Error {
constructor(msg) {
super(msg);
this.name = "AssertionError";
}
}
function assert(cond, msg = "Assertion failed.") {
if (!cond) {
throw new AssertionError(msg);
}
}
function createResolvable() {
let resolve;
let reject;
@ -154,8 +140,6 @@
log,
setLogDebug,
createResolvable,
assert,
AssertionError,
pathFromURL,
writable,
nonEnumerable,

View file

@ -6,7 +6,7 @@
"use strict";
((window) => {
const { assert } = window.__bootstrap.util;
const { assert } = window.__bootstrap.infra;
const {
TypedArrayPrototypeSubarray,
TypedArrayPrototypeSlice,

View file

@ -5,7 +5,8 @@
const core = window.Deno.core;
const { FsFile } = window.__bootstrap.files;
const { readAll } = window.__bootstrap.io;
const { assert, pathFromURL } = window.__bootstrap.util;
const { pathFromURL } = window.__bootstrap.util;
const { assert } = window.__bootstrap.infra;
const {
ArrayPrototypeMap,
TypeError,

View file

@ -6,7 +6,7 @@
const { setExitHandler } = window.__bootstrap.os;
const { Console, inspectArgs } = window.__bootstrap.console;
const { serializePermissions } = window.__bootstrap.permissions;
const { assert } = window.__bootstrap.util;
const { assert } = window.__bootstrap.infra;
const {
AggregateErrorPrototype,
ArrayPrototypeFilter,
@ -82,7 +82,7 @@
"op_fdatasync_async": ["flush pending data operations for a file to disk", "awaiting the result of a `Deno.fdatasync` call"],
"op_fetch_send": ["send a HTTP request", "awaiting the result of a `fetch` call"],
"op_ffi_call_nonblocking": ["do a non blocking ffi call", "awaiting the returned promise"] ,
"op_ffi_call_ptr_nonblocking": ["do a non blocking ffi call", "awaiting the returned promise"],
"op_ffi_call_ptr_nonblocking": ["do a non blocking ffi call", "awaiting the returned promise"],
"op_flock_async": ["lock a file", "awaiting the result of a `Deno.flock` call"],
"op_fs_events_poll": ["get the next file system event", "breaking out of a for await loop looping over `Deno.FsEvents`"],
"op_fstat_async": ["get file metadata", "awaiting the result of a `Deno.File#fstat` call"],

View file

@ -25,6 +25,7 @@ delete Object.prototype.__proto__;
PromisePrototypeThen,
TypeError,
} = window.__bootstrap.primordials;
const infra = window.__bootstrap.infra;
const util = window.__bootstrap.util;
const eventTarget = window.__bootstrap.eventTarget;
const globalInterfaces = window.__bootstrap.globalInterfaces;
@ -705,7 +706,7 @@ delete Object.prototype.__proto__;
ObjectFreeze(globalThis.Deno.core);
} else {
delete globalThis.Deno;
util.assert(globalThis.Deno === undefined);
infra.assert(globalThis.Deno === undefined);
}
}