diff --git a/lib/internal/assert.js b/lib/internal/assert.js new file mode 100644 index 00000000000..b5eb88c93b6 --- /dev/null +++ b/lib/internal/assert.js @@ -0,0 +1,9 @@ +'use strict'; + +function assert(value, message) { + if (!value) { + require('assert')(value, message); + } +} + +module.exports = assert; diff --git a/node.gyp b/node.gyp index 5596c6e491c..3624a65eae9 100644 --- a/node.gyp +++ b/node.gyp @@ -85,6 +85,7 @@ 'lib/vm.js', 'lib/worker_threads.js', 'lib/zlib.js', + 'lib/internal/assert.js', 'lib/internal/assert/assertion_error.js', 'lib/internal/async_hooks.js', 'lib/internal/buffer.js', diff --git a/test/parallel/test-internal-assert.js b/test/parallel/test-internal-assert.js new file mode 100644 index 00000000000..b34657d3a67 --- /dev/null +++ b/test/parallel/test-internal-assert.js @@ -0,0 +1,15 @@ +// Flags: --expose-internals +'use strict'; + +require('../common'); + +const assert = require('assert'); +const internalAssert = require('internal/assert'); + +// Should not throw. +internalAssert(true); +internalAssert(true, 'fhqwhgads'); + +assert.throws(() => { internalAssert(false); }, assert.AssertionError); +assert.throws(() => { internalAssert(false, 'fhqwhgads'); }, + { code: 'ERR_ASSERTION', message: 'fhqwhgads' });