Implement QuotaExceededError as a DOMException-derived interface per the WebIDL specification update. QuotaExceededError is now a proper constructor exposed as a global [Exposed=*] interface that extends DOMException with optional `quota` and `requested` attributes (both nullable doubles, defaulting to null). The constructor validates that quota and requested are finite, non-negative, and that requested is not less than quota when both are provided. QuotaExceededError is [Serializable] and supports structuredClone, preserving the quota and requested values across the serialization boundary. Callers updated: - crypto.getRandomValues() now throws a QuotaExceededError instance - WebStorage (C++) now constructs QuotaExceededError directly Refs: https://redirect.github.com/whatwg/webidl/pull/1465 Fixes: https://github.com/nodejs/node/issues/58987 PR-URL: https://github.com/nodejs/node/pull/62293 Reviewed-By: Mattias Buelens <mattias@buelens.com> Reviewed-By: Chengzhong Wu <legendecas@gmail.com> Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
8 lines
251 B
JavaScript
8 lines
251 B
JavaScript
'use strict';
|
|
|
|
// Delegate to the actual DOMException/QuotaExceededError implementation.
|
|
const messaging = internalBinding('messaging');
|
|
module.exports = {
|
|
DOMException: messaging.DOMException,
|
|
QuotaExceededError: messaging.QuotaExceededError,
|
|
};
|