@@ -149,6 +149,8 @@ added: v0.1.21
149149  *  ` operator `  {string} The ` operator `  property on the error instance.
150150  *  ` stackStartFn `  {Function} If provided, the generated stack trace omits
151151    frames before this function.
152+   *  ` diff `  {string} If set to ` 'full' ` , shows the full diff in assertion errors. Defaults to ` 'simple' ` .
153+     Accepted values: ` 'simple' ` , ` 'full' ` .
152154
153155A subclass of {Error} that indicates the failure of an assertion.
154156
@@ -215,6 +217,51 @@ try {
215217}
216218``` 
217219
220+ ## Class: ` assert.Assert `   
221+ 
222+ <!--  YAML
223+ added: REPLACEME 
224+ --> 
225+ 
226+ The ` Assert `  class allows creating independent assertion instances with custom options.
227+ 
228+ ### ` new assert.Assert([options]) `  
229+ 
230+ *  ` options `  {Object}
231+   *  ` diff `  {string} If set to ` 'full' ` , shows the full diff in assertion errors. Defaults to ` 'simple' ` .
232+     Accepted values: ` 'simple' ` , ` 'full' ` .
233+   *  ` strict `  {boolean} If set to ` true ` , non-strict methods behave like their
234+     corresponding strict methods. Defaults to ` true ` .
235+ 
236+ Creates a new assertion instance. The ` diff `  option controls the verbosity of diffs in assertion error messages.
237+ 
238+ ``` js 
239+ const  { Assert  } =  require (' node:assert'  );
240+ const  assertInstance  =  new  Assert ({ diff:  ' full'   });
241+ assertInstance .deepStrictEqual ({ a:  1  }, { a:  2  });
242+ //  Shows a full diff in the error message.
243+ ``` 
244+ 
245+ ** Important** : When destructuring assertion methods from an ` Assert `  instance,
246+ the methods lose their connection to the instance's configuration options (such as ` diff `  and ` strict `  settings).
247+ The destructured methods will fall back to default behavior instead.
248+ 
249+ ``` js 
250+ const  myAssert  =  new  Assert ({ diff:  ' full'   });
251+ 
252+ //  This works as expected - uses 'full' diff
253+ myAssert .strictEqual ({ a:  1  }, { b:  { c:  1  } });
254+ 
255+ //  This loses the 'full' diff setting - falls back to default 'simple' diff
256+ const  { strictEqual  } =  myAssert;
257+ strictEqual ({ a:  1  }, { b:  { c:  1  } });
258+ ``` 
259+ 
260+ When destructured, methods lose access to the instance's ` this `  context and revert to default assertion behavior
261+ (diff: 'simple', non-strict mode).
262+ To maintain custom options when using destructured methods, avoid
263+ destructuring and call methods directly on the instance.
264+ 
218265## Class: ` assert.CallTracker `   
219266
220267<!--  YAML
0 commit comments