mirror of https://github.com/svaarala/duktape.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
34 lines
852 B
34 lines
852 B
=proto
|
|
void duk_set_finalizer(duk_context *ctx, duk_idx_t index);
|
|
|
|
=stack
|
|
[ ... val! ... finalizer! ] -> [ ... val! ... ]
|
|
|
|
=summary
|
|
<p>Set the finalizer of the value at <code>index</code> to the value at
|
|
stack top. If the target value is not an object an error is thrown. The
|
|
finalizer value can be an arbitrary one; non-function values are treated
|
|
as if no finalizer was set. To delete a finalizer from an object, set it
|
|
to <code>undefined</code>.</p>
|
|
|
|
=example
|
|
duk_ret_t my_finalizer(duk_context *ctx) {
|
|
/* Object being finalized is at stack index 0. */
|
|
printf("object being finalized\n");
|
|
return 0;
|
|
}
|
|
|
|
/* Create an object whose finalizer is my_finalizer(). */
|
|
duk_push_object(ctx);
|
|
duk_push_c_function(ctx, my_finalizer, 1 /*nargs*/);
|
|
duk_set_finalizer(ctx, -2);
|
|
|
|
=tags
|
|
object
|
|
finalizer
|
|
|
|
=seealso
|
|
duk_get_finalizer
|
|
|
|
=introduced
|
|
1.0.0
|
|
|