►
From YouTube: Node.js Node-API Team meeting 2022/08/12
Description
No description was provided for this meeting.
If this is YOUR meeting, an easy way to fix this is to add a description to your video, wherever mtngs.io found it (probably YouTube).
B
A
I
believe
we
have
a
conversation
on
this
program
in
these
previous
meetings.
So
do
we
have
any
updates
on
this.
A
B
Yeah,
I'm
still
working
yeah,
so
I
think
we
have
basic
example
on
using
this
proxy,
but
now
I'm
trying
to
match
with
with
non
fps.
B
I'm
going
to
move
this
example
to
examples
folder,
so
I
just
it's
still
in
draft
here,
but
I'm
going
to
close
it
in
this
repo
and
the
whole
thing
will
be
just
as
simple.
Instead
of
our
examples.
A
B
B
Enchromis
that
don't
have
they
do
have
first
concept
of
host
object,
which
which
is
like
proxy
like,
but
they
don't
have
anything
which
looks
like
object,
template
inside
of
v8.
B
B
Yeah,
it
definitely
works
so
even
even
this
code,
if
you
look
on
files
changed,
it's
only
a
unit
test
is
added
here
and
having
what
we
do
just
using
normal
node
api
to
create,
create
proxy
and
and
do
the
rest
from
there.
So
I
think
it's.
This
approach
definitely
works.
B
B
Yeah
in
this
example,
we
do
have
we
see
like
if
you
stop
here.
Like
you
see,
we
have
a
get
proxy
handler,
so
at
this
point,
we're
just
simply
defining
four
different
proxy
traps
like
get
set
on
keys
and
get
on
property
descriptor.
B
A
B
B
Internally,
this
c
plus
plus
code
just
simply
wraps
up
javascript
proxy,
which
is
technically
a
javascript
standard.
So
this
approach
must
work
cross
engine
pretty
much
any
javascript
which
supports
proxy.
This
approach
would
work.
A
B
A
So
the
next
step
for
this
pro
for
this
issue
is
that
we
you
you
are
going
to
move
this
example
to
the
another
add-on
example
repository.
Is
that
right?
Yes,
yes,
that
sounds
great
and
properly,
we
can
add
another
wrap
class
in
the
no
diagonal
guy.
If
you
see
it's
beneficial
to
have.
B
A
B
Unfortunately,
we
can't
do
like
it's
not
possible
to
define
just
some
macro
and
people
who
using
none
just
automatically
works.
The
reason
is
actually
inside
of
none
they're
using
directly
some
v8
api,
so
none
is
not
at
least
from
what
I
see.
None
is
not
independent
api.
It
somehow
like
extends
v8
api.
A
9
is
great
for
compatibility
between
different
node
versions,
so
people
can
write
one
single
version
of
their
add-on
and
they
their
code
can
work
across
different
versions.
Different
variants
of
v8,
since
viet
api
is
constantly
changing,
so
they
don't
have
to
update
their
own
add-on
code
since
nan
is
going
to
and
nine
is
going
to
give
a
provider
a
macros
and
help
functions
to
alleviate
the
to
to
remove
the
changes
between
different
va
versions.
So
that's
the
purpose
of
them.
If
I,
if
I
understand
it
correctly,
so
that's
the
that's,
that's
it.
B
B
A
B
Because
I
want
to
have
it
for
say
in
react,
native
react,
native
windows:
we
want
to
have
modules
to
be
written
not
only
in
c
plus
plus,
but
also
in
c
sharp,
and
I
was
considering
to
have
a
wrapper
for
node,
api
and
c,
and
it
seems
like
this
one
is
not
complete.
At
least
it
will
not
able
to
fit
my
needs.
Our
needs
react
with
this
project.
B
B
A
A
B
Can
I
ask
you
a
little
bit
about
your
pull
requests
for
finalizers
yeah,
so
my
understanding
you,
you
do
implement
this
finalizer
queue
right.
A
A
A
A
So
that's
the
basic
design
of
the
panel
cancelable
panorama,
cancellable
finalize
the
second
particle
back,
since
we
can
remove
analyzers
from
the
queue
and
it's
defined
in
the
media.
We
can
remove
it
from
the
panelist
queue
if
it's
deleted
early
directly
by
user,
deleted
or
yeah.
It's
mainly
because
you
deleted
early
before
the
before
the
second
pass
go
back,
so
it
will
be
removed
from
the
queue
and
there
won't
need
any
wrapping
around
the
second
pascal
back
parameters
like
we
have
before,
which
is
quite
cumbersome
to
understand
it's
hard
to
understand.
A
B
Sounds
good!
It's!
Okay!
If
I
leave
some
comments,
I
have
I
looked
into
this
implementation
a
little
bit
and
I
do
have
some
questions
and
ideas
like,
for
example,
one
question:
I
have
like
your
choice
of
data
structure
for
finalizer
queue.
You
chose
another
to
set
and
I
wonder
why.
Why
not
queue
something.
A
I
choose
the
under
unordered
cell
because
we
need
to
remove
the
analyzer
from
the
queue
efficiently,
so
we
don't
have
to
look
into
the
queue
to
find
the
item.
We
need
to
remove
and
I'm
very
looking
forward
to
your
comments
to
your
questions.
You
I'm
very
welcome.
A
A
Here
we
are
removed,
it's
user
delete,
the
analyzer
delete
a
reference
before
we
before
we
run
the
panoramizer
in
the
second
pass
callback,
so
we
have
to
remove
it
from
the
queue.
A
B
It
might
distinguish
from
some
for
previous
meetings,
node
api,
that
and
so
we
we
did
call
finalizers
according
to
some
order
and
now
it's
an
ordered
like
I
just
wonder:
if
do
you
think
it's
may
affect
something
or
not.
A
So
I
can
verify
it,
but
with
my
preliminary
preliminary
test
around
the
order,
so
that's
that's
why
I
added
a
comment
here
that
the
invocation
order
of
the
analysis
is
not
determined
and
we
do
have
a
test
for
the
order
here.
If
I
recalculate,
I
just
got
a
problem
when
I
implement
this
pr.
B
Oh,
I
think
I
understand
what
you've
done.
You
pretty
much
said
like.
There
is
no
order
if
we
already
inside
of
this
finalizer
queue,
but
we
still
keep
order
on
environment
shutdown
right.
A
At
the
environment
chardonnay,
we
have
two
kinds
of
finalizers
and
we
will
yeah.
This
is
the.
This
is
the
two
list
of
the
finalizers.
The
first
list
is
that
the
rep
analyze
the
reference
that
don't
have
any
vandalizers
registered,
so
they
can
be.
A
Run
the
final
to
delete
the
panel
to
delete
the
rough
list
item
that
have
a
finalizer
first,
since
they
can
calling
into
they
can
delete
other
references
and
they
can
call
into
javascript
I'm
not.
No.
They
cannot
according
to
javascript
and
shut
down,
so
they
they
still
can
delete
other
references
that
don't
have
a
finalizer.
A
So
we
will
run
the
will
download
the
analyze,
the
ones
that
we
they
have
a
panel
registered
and
then
we'll
delete
the
the
references
or
any
items
that
don't
have
a
callback
register.
So
this
is
the
order
we
are
guaranteed
to
when
environment
is
children
and
we
don't
have
any
other
kind
of
analyzers
or
another
invocation
order.
A
B
A
B
Just
to
tell
you
that
one
place,
I
kind
of
think
this
finalizer
queue
could
be
useful,
is
remember.
B
I
had
this
pr
about
this
reference
counting
one
thing
I
need
out
of
this
reference,
counting
new
reference,
counting
that
it
must
be
able
to
work
from
any
thread,
and
if
we
have
a
penalizer
queue
I
would
be
able
to
even
then
the
ref
count
goes
to
zero
and
when
different
thread,
I
will
have
ability
not
delete,
object
immediately
reference
immediately,
but
rather
put
it
in
a
queue,
and
then
we
can
write
thread
only
at
this
point.
We
delete
it.
So
it's
some
kind
of
design.
I
have
in
mind
to
utilize
uq
in
the
future.
A
A
A
By
this
one,
I
didn't
have
any
time
to
look
into
this
in
the
last
week,
but
I
believe
it
was
worth
to
explore
if
we
can,
if
it's,
how
how
adam
authors
can
be
benefit
benefit
from
this
api
and
I'm
planning
to
look
into
this
in
the
next
weekend,
and
since
I
got
some
free
time,
and
so
I
have
nothing
new
to
report
here,
do
you
have
any
updates.
A
This
one-
and
I
have
noticed
several
updates
several
new
comments
on
this
pr,
but
I
didn't
have
much
time
to
take
a
look
on
it
and,
as
you
can
see,
that
ana
has
requested
changes
on
the
pr.
As
as
it's
about
the
earth
world.
B
A
B
No,
I
think
like
in
terms
of
embedding
node.js.
This
api
will
be
effectively.
B
B
It
should
be,
should
be
totally
different
if
you
like,
we
want
to
make
it
abi
safe
in
terms
of
kind
of
abi
compatibility
and
that
works
between
different
compilers
and
stuff,
because
c,
plus
plus,
is
not
abi
safe
between
compilers,
like,
for
example,
I
can't
use
compiled
dll
on
windows.
If
it's
compiled,
say
in
clank,
I
can't
use
it
really
from
msvc
if
it's
c,
plus
plus,
because
I
have
using
different
name
c,
plus
plus
name
bandwidth
scheme,
so
the
only
universal
one
should
be
c
based,
but.
A
B
I
don't
see
any
changes
here,
but
I
believe
one
one
kind
of
more
practical
way
to
achieve
this
inheritance
is
maybe
to
use
proxies.
I
don't
know
something,
but
I'm
curious
to
try.
You
know
we'll
see.
B
It
may
be
one
of
the
possible
ways
which
I
believe
I
know
I
didn't,
try
it
yet,
but
one
one
path
I
want
to
explore
if
we
can
use
proxies
for
that
reason,
because
this
this
pr,
if,
if
you
remember
it,
was
the
kind
of
the
developer
exposing
some
internal
guts
of
object,
template.
B
Yeah,
like
a
function,
template
yeah,
function,
template,
sorry
and
we
said
function.
Template
is
not
something
that
we
see
in
other
languages,
but
the
problem
probably
still
exists,
like
people
asking
how
we
can
inherit,
how
can
implement
inheritance
and-
and
I
believe
one
of
the
possibilities
will
be
using
proxies.
A
B
B
A
B
Right
and
the
only
thing
like
which
I
I
believe
might
happen:
if
we're
going
to
utilize
javascript
proxies,
so
it's
it
should
be
potentially
potentially
doable.
I
don't
know
it's.
I
really
need
to
try
it.
First,
let's
see
yeah.
A
B
And
if
you
see
like
our
last
comment
was
exactly
considering
all
the
different
scenarios
and
developers
say
like
some
of
them
is
not
achievable.
Oh.
B
Yeah,
like
this
finalizers
will
probably
proceeds
so
think,
first
one
with
about
finalizers,
so
I
to
build
on
top
of
your
pr
with
addition
of
this
feature
like
we
discussed
last
time,
so
I
have
found
this
feature
implementation
from
from
pr
remember.
We
have
this
issue
with
get
all
properties.
I
had
implemented
the
prototype
there,
so
I
pulled
it
on
top
put
it
on
top
of
your
code,
and
so
we
can
actually
run
finalizers
either
immediately.
B
B
So
it
will
be
changed
on
top
of
your
pr,
so
it
will
be
not
the
queue
is
the
queue
will
be
run,
not
necessarily
as
a
part
of
set
immediate,
but
I
think
that
some
of
these
finalizers
will
be
run
immediately.
A
Now
we
can
rename
the
enqueue
to
something
more
agnostic
about
the
enqueue
like
say.
A
Sorry,
I
didn't
come
up
with
any
name
immediately,
but
I
believe
we
can
rename
the
message.
If
you,
then
it's
not
describing
the
condition
very
well
right.
B
B
A
About
the
week,
references-
and
I
I
just
want
to
mention
that
there
is
a
not
api
implementation
on
the
edge
devices,
they
don't
support,
weak
references
and
as
now
since
they
their
engines
are
depends
on
the
reference
content
and
garbage
collection.
So
they
are
asserting.
A
B
Okay,
let
me
ask
a
question
so
think:
the
weak
reference,
I'm
I
have
in
mind
it's
something
which
is
like
part
of
a
javascript
language
standard.
It's
not
it's,
not
the
s6,
but
I
think
it's
upcoming
standard
they're
introducing
something
called
a
weak
reference.
I
believe.
A
A
I'm
not
sure
these
engines
are
exposing
it,
since,
if
I
recall
correctly
there,
you
know
any
weak
reference
api.
A
A
Yeah
they
do
have
a
big
reference,
but
I
need
to
take
a
look
and
but
I
mean
yeah,
there
is
no
api
to
create
a
reference
in
the
native
api.
You
have
to
create
in
the
javascript.
A
B
I'll
get
back
to
it
and
see
thanks
for
your
comment,
but
I
totally
agree
with
you.
I
don't
really
like
our
current
reference
at
all.
The
fact
that
the
name
of
the
account
kind
of
reference
count
goes
to
zero,
we're
becoming
some
kind
of
magically
some
weak
reference.
B
I
think
it's.
I
don't
really
like
this
design,
because
I
don't
understand
it
and
it's
very
difficult
to
explain
what
I
really
think
we
should
be
doing.
Instead,
if
actually
separate
this
problem
into
two
different
things,
one
of
them
say
from
c
plus
plus
they
want
to
reference
a
javascript
object.
B
So
simple
reference
counter
works,
just
fine
right
in
terms
of
if
reference
count
goes
to
zero,
we
just
kill
our
reference
and
automatically
in
earnings
file,
but
we
have
another
problem
which
I
believe,
what
caused
this
reference
to
be
more
complex
is
how
to
reference
from
javascript
how
to
reference
c,
plus
plus
objects,
and
in
this
this
scenario
we
have
two
things
to
consider:
one
of
them.
We
need
to
identify
c,
plus
plus
objects,
and
this
javascript
object
goes
out
the
scope,
so
we
can
actually
delete
this
resources
and
second
one.
B
A
I
believe
the
current
behavior
is
just
mimicking.
The
v8
persistent
behavior
since
feared
persistent
behavior
can
be
and
we
can
set
weak
and
set
the
position
to
a
weak,
persistent
and
we,
when
the
fundraiser
quebec
is
not
present,
then
we
just
depend
on
the
garbage
collection
to
see
if
we
can
still
reach
to
the
javascript
value.
B
A
A
But
so
the
next
step
for
the
pr
is
that
you
are
still
looking
into
the
I'm,
not
sure
if
you,
what
which,
which
which
approach
you
are
choosing
to
do
as
the
next
step.
B
Yeah
like
let
me
let
me
work
on
the
next
week
or
two
and
I'll
definitely.
B
A
B
A
A
A
A
A
A
I
don't
have
anything
else
to
discuss.
Do
you
have
anything
else
to
discuss
before
we
close.
B
No,
I
just
want
to
share
that
I'm
kind
of
looking
changes
in
hermes
engine
api
and
they
recently
added
a
big
implementation.
B
So
it
feels
like
we
should
be
able
to
have
more
complete
node
api
implementation
for
hermes
soon.
So.
B
And
also
I'm
going
to
have,
I
finally
been
approved
for
the
repo
which
implements
gsi
on
top
of
node
api
gsi
is
actually
in
c
plus
plus
based
interface
used
by
implemented
by
meta
inside
of
react
native,
and
it's
been
used
inside
of
react
native
community.
B
So
I
do
have
this
gsi
on
top
of
node
api
implemented
already,
but
it's
currently
in
2d
in
three
different
reapers.
So
I
don't
have
one
single
ripper
just
for
that
for
that
project.
A
Yeah
sounds
great:
is
there
any
let's
say
links
that
can
be
shared
publicly.
B
A
B
So
this
repo
is,
it's
not
public,
yet
it's
going
to
be
public
soon
as
soon
as
I
put
it
there.
But
if,
if
you
talk
about
code
itself,
code
can
be
found
today
inside
of
our
react
native
windows,
public
reaper.
A
Or
you
can
also
about
an
issue
in
the
api,
stable
node,
so
that
we
can
check
it
exit
in
this
repo
so
that
we
can
regularly
check
if
there
is
any
problem
or
there
is
anything
new.
We
need
to
discuss
on
your
implementation
in
the
jsi.
If
I
call
it
correctly,
so
you
can
regularly
check
the
implementation
and
to
see
if
there
is
anything
new
to
discuss
or
is
there
anything
behavior?
We
should
to
revisit.
B
Okay
sounds
good
yeah,
because
some
of
my
additions
like,
for
example,
serif,
counting
nodes
and
stuff
many
of
them
is
coming
from
requirement
to
implement
gsi
on
top
of
node
api,
because
gsi
had
some
requirements
to
api
and
so
on.
That's
why
I
needed
to
extend
node
api
and
some
of
these
extensions,
which
I
have.
I
want
them
to
be
part
of
the
core.
No
no
of
node
api.