►
From YouTube: 20 May 2022 Node.js Node-API Team meeting
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).
A
All
right,
hello,
everyone
and
welcome
to
this
week's
meeting
for
the
node
api
working
group
today,
we'll
be
going
over
our
normal
agenda
of
going
through
the
milestones
and
looking
at
issues
and
whatnot.
But
before
we
proceed
with
that,
does
anybody
have
any
public
announcements
they
would
like
to
make.
A
All
right
and
then,
if
anybody
else
joins
in
into
the
participants,
just
let
me
know
and
then
I'll
be
able
to
promote
them.
It's
a
panelist.
A
All
right
so
first
issue,
we
have
is
stale
issues.
Let's
see
we
have
this
thread.
Safe
function
should
handle
async
called
async
errors.
This
was
going
to
be
fixed
by
this
pr
in
core
and
I
believe
agenda
cash.
You've
been
working
on
this
one.
Do
you
have
any
updates.
B
A
Right
because
gabe
had
this
a
couple
of
comments
here-
and
I
guess
you
did
some
fix-
ups
of
them
and
michael
pinged
him
again,
so
this
looks
good
to
me.
We'll
just
continue
waiting
for
his
his
review.
A
A
This
week,
okay,
no
worries-
I
was
also
thinking,
maybe,
instead
of
it
going
in
being
in
core.
Maybe
it
would
be
better
as
a
inside
the
our
example
repo,
which
is
no
examples.
A
Yes,
since
it's
not
necessarily
testing
new
features
or
anything
or
it's
like
a
new
feature
request,
I
was
just
thinking
it
might
be
better
as
putting
it
inside
of
the
examples,
repo
that
we
have
whenever
you
have
time.
Of
course,
yeah.
A
Yes,
the
way
that
it's
structured
is,
we
have
the
the
name
of
the
example
and
then
the
various
implementations,
whether
it's
in
the
c
plus
plus
node
add-on
api
or
the
underlying
c-based
node
api.
Yes,
I
guess
we
also
have
some
nan
examples
as
well.
C
Actually,
really
like
it
so
yeah,
it's
a
great
idea.
Let
me
close
this
pull
request,
which
I
started
in
in
a
core
and
actually
create
instead
create
mood
here.
A
It
will
be
much
better
kind
of
forget
that
we
have
this
one,
but
it
is
a
sort
of
the
best
place
to
put
larger
structures
and
larger
examples.
A
I
did
want
to
bring
up
with
michael
for
some
reason,
the
build
and
deploy
website
task
is
failing,
but
michael's
out
this
week
so
I'll
bring
that
up
over
over
on
the
online
communication,
and
maybe
he
can
take
a
look
at
it
before
next
week's
meeting.
I'm
not
exactly
sure
where
the
website
even
goes.
A
I
guess
maybe
it's
this.
No.
This
is
a
explanation,
so
yeah
well
I'll,
just
ping
him
about
that,
and
hopefully
you
can
fix
that.
A
Then
moving
on,
then
I
think
this
is
the
one
that
nick
actually
has
to
close
out.
This
was
for
the
the
fixing
core
and
we
already
discussed
this
last
week,
so
we
can
go
ahead
and
continue
all
right.
Then
that
is
it
for
stale
issues.
A
A
I
don't
think
we
necessarily
need
to
go
through
this.
Well,
it's
small
enough.
So
let's
see
typed
array
element,
size,
byte
length
and
byte
offset.
So
let's
take
a
look.
What
they're
doing
here?
A
A
A
A
This
last
element
that
he
added
that
makes
sense,
get
typed
array
by
offset
to
be
zero.
A
Okay,
that
looks
fine
to
me.
Get
type
array
size
of
t.
A
I'm
wondering
what
this
section
is
here:
aha,
okay,
so
here
is
one
when
we
actually
use
the
offset
that
makes
sense.
So
then
we
can
actually
check
the
offset
there
all
right,
because
my
original
concern
was
that
we
maybe
it
would
always
just
return
zero,
but
then,
since
we
actually
have
one
that
uses
offset
okay,
this
one
looks
good
to
me.
A
A
So
that
is
it.
Then,
let's
see
we
can
move
on
enable
debug
testing.
I
don't
think
michael
has
added
anything
different
to
that.
Let's
just
see
yep
nothing
new.
There
then
burn
down
list
of
issues
raised,
so
we
can
go
through
any
new
issues
or
any
new
pr's.
A
Your
prs
here
this
one,
this
one
looked
good
to
me.
I
didn't
really
have
any
questions
about
this,
so
I
guess
I
should
make
some
comments.
Were
you
able
to
do
this
experimental
notice
for
the
documentation.
A
C
Kind
of
ref
types,
like
my
iteration,
what
you
see
here,
it's
using
like
one
of
them
called
strong,
can
I
zone
called
strong
or
weak.
B
C
Changing
them
right
now
to
object
and
value
like
ref
type
object
and
ref
type
value,
so
I
think
the
idea
will
be
one
of
them
like
whatever
using
currently
is
only
for
objects
and
another
one
which,
but
for
any
type
of
values
right,
okay,
so
it's
kind
of
so
I'm
basically
updating
documentation
right
now
and
and
other
stuff,
so
yeah.
I
thought
okay,
initially
yeah!
I
just
need
to
rebase
it
and
stuff,
but
look
in
the
factory
in
this
change.
C
A
One
of
the
concerns
that
I
would
have
with
object
is
that
you
would
still
be
able
to
do
them
with
functions
right
because
it's,
I
know
what
you
mean
by
like
object
and
value.
You
know.
Maybe
it's
like
primitive
would
be
better
or
something
versus,
but
I
guess
you
know
what
I'm
saying
because
like
you
would
be
able
to
use,
you
can
use
this
ref
type,
strong
or
weak
on
thing,
because
you
would
rename
this
one
to
object.
A
Correct
yes
right,
but
you
could
use
the
stronger
weak
on
functions
as
well,
so
it
may
be
a
little
bit
of
a
misnomer
if
you
were
to
name
it
object,
but
I
think
we
can
sort
of
think
about
that.
A
little
offline
because,
like
I
said
the
naming
part,
is
always
the
the
most
tricky.
C
But
let
me
start
offline
discussion
and
because
I
I
need
to
better
name
it,
I
don't
like
what
whatever
I
have
right
now
and
it
sounds
like
whatever
I
want
to
change
to.
It's
also,
not
not
good.
So
before
we
kind
of
merge
this
stuff,
we
really
need
to
have
good.
A
Right
so
I'll
just
add
a
comment
to
here
and
see
that
we
discussed
in
this
meeting
that
we're
interested
in
changing
the
name
and
we'll
be
taking
suggestions.
If
anyone
has
it.
C
All
right,
okay,
I'll,
add
some
some
variants
on
this
kind
of
twist
pr
as
a
response
to
this
request,
and
we
can,
we
can
kind
of
maybe
brainstorm
there.
A
Right,
okay
and
then
I
also
was
trying
to
take
a
look
at
your
finalizer
one.
But
to
be
honest,
I'm
not
very
well
versed
in
the
in
how
all
of
the
finalizers.
A
A
So
I
don't
think
I'm
really
that
that
strong
in
being
able
to
make
a
good
assessment
on
this
pr,
legenda
cass,
if
you
have
any
additional
free
time,
it'd
be
great.
If
you
could
take
a
look
into
this
and
see
if
there's
anything,
that's
needed.
A
Yeah
is
the
pr
ready
for
review
I'm
seeing
now
that
there
are
a
couple
of
merge
conflicts.
It's
not
ready
and.
A
C
It
because
it
was
recently
it
was
merged.
One
of
my
changes,
if
I
remember
with
sadeko
calling
conventions
right.
So
thank
you
all
these
existing
prs
and
somehow
it
needs
to
be
rebased
and
changed,
especially
if
they
interviewed
new
functions.
A
C
And
let
me
replace
it
today
this
pr
and
actually,
if
you
could
have
a
look
so
at
this
point
I
still
didn't
write
a
documentation
for
this
code,
so
still
kind
of
in
some
sense,
like
drafty
state,
okay,.
A
C
Was
curious,
curious
feels
like
about
overall
approach,
but
it
sounds
like
overall
approach
cash,
so
I
probably
will
go
ahead
and.
A
Yeah
right
and
just
to
reiterate
a
little
bit
the
the
thought
is
that
we'd
be
able
to
split
the
finalizers
into
those
that
need
javascript
context
and
ones
that
do
not
right.
Think.
C
My
understanding
that
then
we
discussed
a
few
weeks
ago,
we
will
factory,
will
have
this
additional
flag
for
finalizer
and
say
if
it's
needs
to
have
access
to
javascript
or
not
and
effectively
default
would
be
that
we
don't
access
javascript,
so
think
about
like
you,
want
to
just
simply
wrap
simple
c
plus
plus
object
everything.
C
What
you
want
to
call
infinilizer
is
just
c
plus
plus
destructor,
so
so
majority
cases,
people
don't
need
to
call
javascript
right,
but
people
can
specify
non-default
value,
which
say
I
do
need
to
run
javascript
in
this
case.
Instead
of
running
these
finalizers
as
a
kind
of
gc
pass,
we'll
do
it
as
we
do
today
as
part
of
set
media.
A
A
A
Yeah
I
mean,
I
guess
I
guess
we
can
really
pick
the
default,
because
you
know
like
the
existing
implementation.
There
is
no
choice
so
once
we
do
have
a
choice,
we
can
pick
the
default
and
then,
as
long
as
it's
documented,
you
know,
then
it
should
should
be
fine,
okay,
anything
else
to
discuss
on
this
one.
C
A
A
So
you
would
say
that
this
one
is
dependent
upon
legendary
cases-
pr,
yes,
okay,
so
we
can,
because
the
effects
effect
is
the
same
same
area.
If
you
like
all
right,
let's
then
put
a
comment
saying
that.
A
A
Yes,
since
okay,
since
since
both
pr's
touch
all
right
I'll
put
that
anything
else
to
discuss
on
this
one.
Thank
you
all
right.
Then
I
have
some.
I
have
a
pr
that
I
actually
added
on
the
note.
A
Async
iterators-
and
this
is
because
there
was
a
comment
or
an
issue
for,
can
you
make
an
example
of
async
iterators
on
plane
c?
Oh
I'm
just
now
seeing
this
because
the
example
that
I
made
was
using
no
doubt
on
api,
which
obviously
is
the
c
plus
wrapper,
but
I
think
it
provides
a
good
enough
starting
base
for.
A
For
the
poster,
I've
got
two
examples:
one
is
kind
of
trivial.
It
is
this
async
iterator
one
and
it's
a
c
plus
plus
equivalent
of
something
like
this.
A
Where
you
have
an
iterator,
that's
from
and
two
and
then,
when
you
iterate
over
it,
it
has
the
async
iterator
function
that
has
a
next
value.
Next
function
returns
a
promise
that
resolves
after
a
certain
after
set
timeout,
and
then
you
can
loop
over
it
using
something
similar
like
what
the
poster
was
requesting.
A
After
I
wrote,
and
I
guess
we
can
quickly
look
at
the
iterator
here-
let's
throw
this
here
and
we
can
just
take
a
look
at
it
after
I
wrote
this
one,
I
sort
of
figured
that
it
may
not
be
a
worthwhile
example,
because
it's
just
really
using
you
know
like
a
set
timeout
and
and
whatnot
in
order,
and
it's
still
sort
of
all
using
the
node
thread
and
whatnot.
A
A
You
know
some
sanity
checks,
but
then
it
creates
your
thread
say
function
here
and
it
creates
the
thread
and
then
it
returns
an
iterator
that
has
or
iterable
that
has
that
next
value,
which
is
a
function
and
it
uses
that
mutex
to
for
locking
and
whatnot,
and
then
it
will
set
the
deferred
on
this
this
instance
and
then
it
notifies
all
of
the
watchers
and
then
it
will
return
the
promise
for
that
deferred.
A
A
So
we
do
some
simulate
intensive
work
here
and
then
it
makes
a
call
to
the
threadsafe
function
and
this
data
type
is
a.
Where
do
we
say
that
in
the
private
using
okay,
the
context
of
this
type
say
function?
That's
a
function
is
the
this
example
class
itself,
the
data
that
we're
passing
so
you
need
pointer
to
the
deferred
if
it's
done
and
then
the
value.
A
So
we
move
that
and
depending
on,
if
it's
done
or
not
true
or
false,
and
if
it's
not
done,
we
pass
the
value.
Otherwise
we
pass
no
value
and
then
inside
the
call
js,
which
is
responsible
for
converting
the
native
data
to
javascript
data.
We
basically
return.
We
return
we
resolve,
rather
that
promise
with
the
structure
that
iterables
need,
whether
done
or
not,
and
then
the
value.
A
I
noticed
that
I
guess
I
couldn't
add
you
as
a
reviewer.
I
guess
it's
because
you're
not
part
of
the
team,
but
I
did
put
the
the
non
team
members
and
cc
here.
So
if
you
guys
take
a
look,
that'd
be
great.
A
And
that's
all
that
I
have
so
let
us
then
go
to
any.
Let's
see
if
there
are
any
new
issues
created.
This
one
was
not
new,
but
I
can't
remember
yes,
this
is
what
we
discussed
in
the
meeting
using
such
a
refresh.
A
They
wanted
to
be
able
to
have
some
way
to
easily
use
this
buffer's
value
inside
a
standard
type
like
array
invector,
and
then
we
had
suggested
using
the
buffer's
data
and
length
in
the
std
vector,
constructor
or
using
span
or
using
array
buffer
new
and
giving
it
its
own
data
and
length
all
right
and
let's
see
what
they
said
here,
I'm
able
to
fetch
the
day
using
data.
However,
when
converting
the
fetch
data
back
using
new,
I'm
getting
unusual
error
in
the
node
function.
Call
okay
compiles
fine!
A
C
This
will
happen
like
I
remember
that
we
discussed
this
issue
that
we
were
pointing
to.
There
are
multiple
constructor
overloads
and
we
need
to
use
one
which
can
take
ownership
right.
Michael,
put,
pointers
to
the
one
which
does
not
have
his
overload,
which
does
not
take
its
ownership,
is
what
this
developer
used
is.
Maybe
a.
A
Source
of
the
issue
right,
that's
sort
of
what
I
was
thinking
is
that
if
this
underlying
buffer,
that
he's
grabbing
it
from
the
arguments,
gets,
goes
out
of
scope
or
gets
cleared
and
cleaned
up
or
whatever,
then
this
new
buffer,
that
he's
creating,
would
end
up
becoming
invalid,
and
he
says
if
I
replace
the
return
in
from
the
new
buffer
to
the
original
buffer
value,
it
returns
fine,
okay,
which
makes
sense
because
he's
just
returning
the
argument
that
was
already
got.
It
was
received
by
the
function.
A
So
then
it
still
would
have
a
valid
reference
in
whichever
he's
in
inside
of
some
data
right.
Whereas
if
he's
doing
this,
it
would
end
up
creating
the
buffer,
but
then
it's
possible
that
as
soon
as
this
is
removed
as
soon
as
this
executes,
this
buffer
is
no
longer
valid
because
it
doesn't
have
any
references
to
it.
A
A
Okay.
So,
when
he's
using
new
like
this,
it's
not
actually
creating
any
new
space
for
data
right.
It's
just
sort
of
creating
this
little,
this
buffer
wrapper,
which
just
points
to
the
which
uses
rather
the
pointer
and
the
length
that
he
provides
correct.
C
Right
but
I
don't
understand
code
which
you
know
like
I
thought
initial
question
was
about
how
to
use
student
vector
right
or.
A
Something
like
this
right:
it
doesn't
seem
to
be
matching
up
with
what
I
was
expecting
that
he
wanted
to
do,
because
he
says
that
he
wants
to
be
able
to
use
the
the
typed
array
and
convert
it
to
a
c
plus
data
type,
which
is
not
really.
What
he's
doing
in
his
example,.
C
Okay,
so
let
me
let
me
try
to
play
this
code,
and
let
me
post
kind
of
suggested
solution
sounds
like
our
hints
how
to
do.
It
was
not
enough,
like
maybe
it's
worth,
to
put
some
actual
sample.
A
Right,
okay,
because
I
guess
like
in
your
example,
if
you
end
up
creating
your
your
own
vector
and
then
making
your
own
and
making
sure
that
vector
is
valid
in
the
light
in
the
correct
lifespan
of
the
the
underlying
buffer
you'd,
be
able
to
use
this
data
in
length
and
whatnot.
A
C
A
Okay,
then,
I
think
there
was
another
update.
A
On
this
one,
I
think
yes,
so
this
is,
let
me
make
sure
yes,
okay,
so
this
is
an
issue
where
the
poster
was
saying
that
after
a
bunch
of
objects
are
created,
he's
getting
this
this
crash
with
creating
new
handles,
and
then
we
had
asked
if
he
can
provide
a
repository
and
he
made
a
branch
that
demonstrates
it.
A
A
Right,
I
wasn't
experienced
like
the
same
day.
Almost
add
your
example
repository
and
get
back
to.
B
A
All
right
does
anyone
else
have
anything
that
they
would
like
to
bring
up
or
discuss.
C
Well,
I
think
legend
casts.
He
said
he
needs
to
go.
He
already
disconnected
it's
only
two
of
us
all
right.
C
No,
I
don't
I
I
just
curious,
like
did
you
already
kind
of
able
to
merge
with
kind
of
formatting
code.
A
Yes,
we
merged
that
one.
Let's
see
pull
requests
close.
A
A
Obviously
after
we
already
had
a
pretty
large
code
base
and
then
we
had
discussed
in
the
past.
You
know
like
a
couple
months
ago
doing
a
basically
doing
this
just
formatting
everything,
but
then
there
was
some
concerns
that
that
it
would
be
possible
to
like
break
something
or
something
could
be
snuck
in
to
the
implementation
or
whatnot,
and
that's
probably
why
whoever
this
person
put
a
thumbs
down.
A
I
mean
I
don't
I
don't
really
know,
but
we
did
break
this
pr
into
three
separate
commits
two
of
them
being
automatic
and
then
one
being
the
manual
one.
And
you
know
it's
mainly
just
it's
changing
like
the
the
test
code.
I
really
don't
think
there
were
that
many,
the
change
that
was
done
for
the
actual
implementation,
I
think,
was
just
white
spacing.
A
If
I
can
recall
correctly,
I
mean
it
was
a
long
time
ago,
but
let's
see
oh,
maybe
it's
just
large,
because
it's
a
lot
of
lines.
C
A
Right
so
now,
I'm
also
wondering
I
mean
I
guess,
because
right
now,
our
the
task
that
we
have
on
pre-commit
still
just
formats
your
like
your
changes,
which
I
guess
should
be
fine
now
because
you
know
like
since
every
like.
Maybe
there
is
no
need
to
format
everything
again,
even
though
it
really
doesn't
take
that
long.
But
you
know
we
can
see
if
people
have
issues
or
complaints
running
the
running
the
running
the
tool
on
pre-commit.
A
I
think
the
most
recent
was
just
some
cross-platform
issues
with
with
windows
and
unix-based
systems,
but
I
think
that
was
something
that
you
addressed
with
one
of
your
like
it
was
having
problems
finding
python
or
something
right,
yeah.
Some
issue
on
windows
for
some
reason
didn't
work.
A
Okay,
well,
I
guess
that's
it
then,
for
this
week's
meeting
and
we
will
give
you
back
12
minutes
of
time
all
right.
Thank
you
so
much
and
I
will
catch
you
online
and
see
you
next
week.
Yeah
see
you
have
a
good
weekend.
You
too
bye,
bye.