quickjs-emscripten • quickjs-emscripten-core • Readme | Exports
quickjs-emscripten / quickjs-emscripten-core / Lifetime
A lifetime prevents access to a value after the lifetime has been disposeed.
Typically, quickjs-emscripten uses Lifetimes to protect C memory pointers.
• T
• TCopy = never
• Owner = never
new Lifetime<
T
,TCopy
,Owner
>(_value
,copier
?,disposer
?,_owner
?):Lifetime
<T
,TCopy
,Owner
>
When the Lifetime is disposed, it will call disposer(_value)
. Use the
disposer function to implement whatever cleanup needs to happen at the end
of value
's lifetime.
_owner
is not used or controlled by the lifetime. It's just metadata for
the creator.
• _value: T
• copier?: (value
) => TCopy
• disposer?: (value
) => void
• _owner?: Owner
Lifetime
<T
, TCopy
, Owner
>
quickjs-emscripten-core.UsingDisposable.constructor
packages/quickjs-emscripten-core/src/lifetime.ts:83
protected
_alive:boolean
=true
packages/quickjs-emscripten-core/src/lifetime.ts:72
protected
_constructorStack:undefined
|string
packages/quickjs-emscripten-core/src/lifetime.ts:73
protected
readonly
_owner?:Owner
packages/quickjs-emscripten-core/src/lifetime.ts:87
protected
readonly
_value:T
packages/quickjs-emscripten-core/src/lifetime.ts:84
protected
readonly
copier?: (value
) =>TCopy
• value: T
| TCopy
TCopy
packages/quickjs-emscripten-core/src/lifetime.ts:85
protected
readonly
disposer?: (value
) =>void
• value: T
| TCopy
void
packages/quickjs-emscripten-core/src/lifetime.ts:86
get
alive():boolean
boolean
true if the object is alive
false after the object has been disposed
packages/quickjs-emscripten-core/src/lifetime.ts:92
get
dupable():boolean
boolean
packages/quickjs-emscripten-core/src/lifetime.ts:111
get
owner():undefined
|Owner
undefined
| Owner
packages/quickjs-emscripten-core/src/lifetime.ts:107
get
value():T
The value this Lifetime protects. You must never retain the value - it may become invalid, leading to memory errors.
If the lifetime has been disposed already.
T
packages/quickjs-emscripten-core/src/lifetime.ts:102
[dispose]():
void
Just calls the standard .dispose() method of this class.
void
quickjs-emscripten-core.Disposable.[dispose]
quickjs-emscripten-core.UsingDisposable.[dispose]
packages/quickjs-emscripten-core/src/lifetime.ts:47
consume<
O
>(map
):O
Call map
with this lifetime, then dispose the lifetime.
• O
• map: (lifetime
) => O
O
the result of map(this)
.
packages/quickjs-emscripten-core/src/lifetime.ts:135
consume<
O
>(map
):O
• O
• map: (lifetime
) => O
O
packages/quickjs-emscripten-core/src/lifetime.ts:138
dispose():
void
Dispose of value and perform cleanup.
void
quickjs-emscripten-core.Disposable.dispose
quickjs-emscripten-core.UsingDisposable.dispose
packages/quickjs-emscripten-core/src/lifetime.ts:174
dup():
Lifetime
<TCopy
,TCopy
,Owner
>
Create a new handle pointing to the same value.
Lifetime
<TCopy
, TCopy
, Owner
>
packages/quickjs-emscripten-core/src/lifetime.ts:118
map<
O
>(map
):O
Call map
with this lifetime, returning the result.
Does not dispose the lifetime.
• O
• map: (lifetime
) => O
O
the result of map(this)
.
packages/quickjs-emscripten-core/src/lifetime.ts:151
map<
O
>(map
):O
• O
• map: (lifetime
) => O
O
packages/quickjs-emscripten-core/src/lifetime.ts:152
tap(
fn
):Lifetime
<T
,TCopy
,Owner
>
Call fn
with this lifetime, then return this
. Does not dispose the
lifetime. Useful for imperative operations within an expression, like when
you're building up objects, or to add logging in the middle of a call chain.
• fn: (lifetime
) => void
Lifetime
<T
, TCopy
, Owner
>
this
packages/quickjs-emscripten-core/src/lifetime.ts:164
tap(
fn
):QuickJSHandle
• fn: (lifetime
) => void
packages/quickjs-emscripten-core/src/lifetime.ts:165
Generated using typedoc-plugin-markdown and TypeDoc