Makes and returns an assert function object that shares the
per-module-instance bookkeeping state defined by this module with other
assert function objects made by makeAssert. We refer to assert as a
"function object" because it can be called directly as a function, but also
has callable methods of its own.
If raise is provided, the returned assert function object will call
raise(reason) before throwing an assertion-failure error. This enables
raise to engage in even more violent termination behavior, like process
termination, that prevents execution from reaching the following throw.
However, if raise(reason) returns normally, which would be unusual, that
throw still happens.
Makes and returns an
assertfunction object that shares the per-module-instance bookkeeping state defined by this module with otherassertfunction objects made bymakeAssert. We refer toassertas a "function object" because it can be called directly as a function, but also has callable methods of its own.If
raiseis provided, the returnedassertfunction object will callraise(reason)before throwing an assertion-failure error. This enablesraiseto engage in even more violent termination behavior, like process termination, that prevents execution from reaching the following throw. However, ifraise(reason)returns normally, which would be unusual, that throw still happens.