99} = primordials ;
1010
1111const {
12- codes : { ERR_AMBIGUOUS_ARGUMENT , ERR_INVALID_ARG_TYPE } ,
12+ codes : {
13+ ERR_AMBIGUOUS_ARGUMENT ,
14+ ERR_INVALID_ARG_TYPE ,
15+ } ,
1316 isErrorStackTraceLimitWritable,
1417} = require ( 'internal/errors' ) ;
1518const AssertionError = require ( 'internal/assert/assertion_error' ) ;
@@ -41,7 +44,6 @@ const escapeFn = (str) => meta[StringPrototypeCharCodeAt(str, 0)];
4144 * It is invoked only when the assertion fails.
4245 *
4346 * Other return values than a string are ignored.
44- *
4547 * @callback MessageFactory
4648 * @param {any } actual
4749 * @param {any } expected
@@ -59,20 +61,19 @@ const escapeFn = (str) => meta[StringPrototypeCharCodeAt(str, 0)];
5961 *
6062 * Additional elements after [Error] or [MessageFactory] are rejected with ERR_AMBIGUOUS_ARGUMENT.
6163 * A first element that is neither string, Error nor function is rejected with ERR_INVALID_ARG_TYPE.
62- *
6364 * @typedef {[] | [string] | [string, ...any[]] | [Error] | [MessageFactory] } MessageTuple
6465 */
6566
6667/**
6768 * Options consumed by innerFail to construct and throw the AssertionError.
6869 * @typedef {object } InnerFailOptions
69- * @property {any } actual
70- * @property {any } expected
71- * @property {MessageTuple } message
72- * @property {string } operator
73- * @property {Function } stackStartFn
74- * @property {'simple' | 'full' } [diff]
75- * @property {boolean } [generatedMessage]
70+ * @property {any } actual Actual value
71+ * @property {any } expected Expected value
72+ * @property {MessageTuple } message Message
73+ * @property {string } operator Operator
74+ * @property {Function } stackStartFn Stack start function
75+ * @property {'simple' | 'full' } [diff] Diff mode
76+ * @property {boolean } [generatedMessage] Generated message
7677 */
7778
7879function getErrMessage ( fn ) {
@@ -148,31 +149,25 @@ function innerFail(obj) {
148149/**
149150 * Internal ok handler delegating to innerFail for message handling.
150151 * @param {Function } fn
151- * @param {number } argLen
152- * @param {any } value
153- * @param {...any } message
152+ * @param {...any } args
154153 */
155- function innerOk ( fn , argLen , value , ...message ) {
156- if ( ! value ) {
154+ function innerOk ( fn , ...args ) {
155+ if ( ! args [ 0 ] ) {
157156 let generatedMessage = false ;
158- /** @type {any[] } */
159157 let messageArgs ;
160158
161- if ( argLen === 0 ) {
159+ if ( args . length === 0 ) {
162160 generatedMessage = true ;
163161 messageArgs = [ 'No value argument passed to `assert.ok()`' ] ;
164- } else if ( message . length === 0 || message [ 0 ] == null ) {
162+ } else if ( args . length === 1 || args [ 1 ] == null ) {
165163 generatedMessage = true ;
166164 messageArgs = [ getErrMessage ( fn ) ] ;
167- } else if ( typeof message [ 0 ] === 'string' || isError ( message [ 0 ] ) || typeof message [ 0 ] === 'function' ) {
168- messageArgs = message ;
169165 } else {
170- // Accept any other type as custom message for assert.ok()
171- messageArgs = [ String ( message [ 0 ] ) ] ;
166+ messageArgs = args . slice ( 1 ) ;
172167 }
173168
174169 innerFail ( {
175- actual : value ,
170+ actual : args [ 0 ] ,
176171 expected : true ,
177172 message : messageArgs ,
178173 operator : '==' ,
0 commit comments