►
From YouTube: 2022-02-04-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
So
welcome
to
the
node
api
team
meeting
for
february
4th
2022.
We
will
follow
our
standard
approach
of
looking
at
the
issues.
We've
tagged
for
milestone
11.
before
we
kick
that
off.
Does
anybody
have
any
announcements
they'd
like
to
make.
A
I
guess
maybe
it's
just
a
good
opportunity.
Remind
people
call
for
papers
is
open
for
openjs
world,
and
maybe
we
should
even
talk
about
that
ourselves
here
once
we
kick
once
we
get
through
the
agenda.
So
if
I
forget
to
get
back
to
that
remind
me
okay.
So
if
there's
nothing
else
to
announce,
I'm
going
to
share
screen
here
make
sure
I
get
the
right
one.
A
So
I
guess
we're
at
the
top
of
stale
issues
here.
So
let's
take
a
quick
look
in
there.
No
new
scale
issues
this
one.
I
don't
think
we
have
anything
new
to
discuss.
I
know
legend
of
cass
was
maybe
going
to
take
a
look
but
he's
off
this
week
anything
anything
that
people
know
that
we
should
talk
about
on
that.
One.
A
A
A
B
A
B
So
I
I
would
I
would
I
would
I'm
inclined
to
say
yes,
please
classify
those
as
well.
A
Okay
yeah,
I
can't
think
under
our
current
thing,
that,
like
the
freeze
and
seal
is
basically
having
happening
in
the
javascript
level
right
so
yep,
okay,
so
I
guess
you
know:
we've
we've
answered
that
question.
They'll,
probably
add
those
two
in
and
then,
if
we
can
just
get
like
another
review
or
two
we
can
get
that
landed
and
then,
if
people
have
time
we
might
take
more
like
another
look
through,
we
think
more
things
could
be
cost
or
whatever,
but
I
wouldn't
hold
that
up
on
getting
this
landed
agreed.
A
A
C
Sure
so
I
was
talking
to
the
janet
cass
about
this
backboard.
C
So
his
idea
was,
we
should
cherry
pick
the
files
in
like
that
pr
onto
the
staging
on
v14
the
x,
when
I
did
that
I
got
a
few
compilation
errors,
as
you
can
see
here,
and
one
of
them
is
this
low
property
from
dictionary
class
and
after
doing
more
digging,
looks
like
it
was
introduced
by
like
another
pr
in
v8
elsewhere,
because,
like
that
original
backboarding
commit
that
we're
trying
to
back
for
is
quite
a
ahead
from
the
v8
in
v14
staging
and
like
that
looks
like
it
depends
on
the
swiss
name,
dictionary
class,
which
have
like
a
bunch
of
implementations
that
we
don't
have
in
v14
staging.
C
B
From
from
from
my
previous
experience
back
porting
stuff,
it's
true
that
usually
you
need
to
backboard.
You
need
to
work
your
way
up
towards
the
the
new
version
of
v8
by
reporting
all
the
things
that
touch
what
you
want,
and
and
yes
it
if
the
v8
folks
were
were
not
careful
or
if
they
were,
they
were
just
unable
to
create
like
like
a
chain
of
orthogonal
commits.
Then
it
may
well
end
up
being
too
big
of
a
change
to
backboard
and
that's
a
call,
that's
a
call.
B
The
the
release
folks
are
going
to
have
to
make
right.
However,
you
can
still
provide
them
with
with
the
proposal.
You
know.
B
C
D
C
A
A
Okay,
if
not,
let's
go
back
and
look
at
the
next
one,
thanks
for
thanks
jack
for
digging
into
that.
Thank
you,
and
I
think
that
was
some
point.
We
might
want
to
open
a
new
issue,
although
it's
not
too
bad
yet
so
so
that
was
that
one.
So
I
think
we're
through
all
of
the
stale
issues.
That's
good
tracking
issue
for
modules.
B
Oops,
let's
also
look
at
our
dependents
when,
when
we
look
at
sure
yeah
okay,
that's
a
good
idea.
A
Yeah,
I
don't
know
what
it
was
the
last
time
we
looked,
but
this
doesn't
necessarily
give
us
a
a
timeline.
B
A
And
yeah,
I
I
I
don't
know
what
this
this
up
and
down
this,
but
I've
seen
some
of
it
in
other
modules
as
well,
but
it
still
seems
like
we're.
Tracking
tracking
in
the
right
direction
looks
like
more
use
rather
than
less
so
it's
good.
F
I
I
I
think
that
there
are
some
native
models
that.
F
For
example,
note
sas
that
is
now
is
deprecated
because
they
now
use
another
kind
of
api,
so
they
don't
use
the
c
api
anymore.
Okay,
they
created
a
new
kind
of
api
to
use
node
the
the
sas
on
order
runtime
like
dart,
so
yeah.
F
Today
are
not
are
not
using
the
the
the
c,
a
or
c
plus
plus
abi,
so
maybe
this
could
be
the
reason
for
these
up
and
down
so.
F
I
think
that
nonsense,
never
translated
in
in
in
in
an
nfi
but
yeah
if
we
have
some
kind
of
model
that
today
so
had
the
same
story
yeah.
F
This
could
be
one
reason,
and
I
know
that
there
are
some
developers
and
companies
that
now
are
trying
to
use
lappy
dash
rs
to
yeah
to
create
the
binding.
And
then
I
use
this
kind
of
of
a
wrapper.
So.
B
Yeah,
so
so
I'm
wondering
you
know
if
there
are
other
intermediate
packages
that
have
served.
The
same
purposes
know
that
on
api,
like,
for
example,
you
just
said
an
api
rs
right
yeah
is
there
a
way
to?
Is
there
a
way
to
track
the
usage
of
those
packages
like
do
they
have
an
equivalent
page
to
this
npm
page?
I
wonder,
then
that
would
that
would
give
us
sort
of
a
cumulative
view
of
everybody
who
uses
know
that
on
api
and
everybody
who
uses
an
api
rs.
B
F
Yeah
yeah
there
are
yeah
also
of
all
binding
yeah,
something
that
already
exists
in
in.
In
the
know,
the
ecosystem
and.
F
Yeah
there
are
other
other
bindings
that
are
not
tracked
in
in.
F
In
in
npr,
because
they
simply
use
nappy
dash
rs
from
rust
story
in
in
in
they
essentially
download
the
nappy
dash
rs
from
cargo,
that
is,
the
package
manager
for
rust,
build
the
the
the
native
add-on
and
then
they
publish
from
from
2
to
10
p.m.
So
I
I
need
to
to
to
study
a
way
to
to
track
this
essentially.
F
But
yeah,
I
I
don't
know
if
the
the
exact
name
today
of
yeah,
I
think
that
he's
not,
but
not
now.
A
F
Yeah
yeah
and
it's
all
yeah
it's.
This
is
the.
B
It
looks
like
it
looks
like
an
api.
Rs
got
renamed.
G
Yeah,
because
this
seems
to
be
the
active
version.
F
It
uses
the
internal
in
parser
in
sw
r,
that
is
a
typescript
compiler.
If
I
will
remember-
and
yeah
has
a
good
head
track
for
now,.
F
Start
to
track
all
these
sunday
six,
it
could
be
interesting,
yeah
yeah,
because.
F
G
B
It
make
sense
if
we
haven't
already
to
drop
a
drop,
a
link
in
our
readme
md
to
this
an
api,
an
api
package
in
crates
io.
So
if
folks
are
writing
rust,
then
they
get
they
get
sent
there.
F
F
Our
reference
to
not
be
dot
dash
rs
in
other
bindings.
I
I
think
it
is
a
section.
B
So
then
we
need
to
change
that
to
an
api,
because
it's
a
it
seems
an
api
dash.
Rs
is
now
deprecated
in
favor
of
an
api
right.
B
A
F
To
see
what
what's
up.
B
Sounds
good
for
what
it's
worth
the
the
the
the
napi
page
on
crates
io
has
like
a
recent
download
count
and
that's
like
in
the
000
I
think,
or
something
like
that
for
25
thousands.
But
the
point
is
that
it's
not
as
good
as
a
timeline
from
from
what's
its
face
from
npm,
but
it
is
what
it
is
now.
Where
was
it
again?
B
B
A
B
F
They
ship
the
new
api,
the
synchronous,
api,
so
yeah.
I
think
that
there
are
a
lot
of
and
some
bugs
so
yeah.
I
think
that
to.
F
It
has
a
long
story
if
I
will
remember
all
the
world
started
to
two
years
ago
about
two
years
ago,
but
then
these
across
the
move
has
moved
to
another
people
that
yeah,
who
should
all
have
to
be
what
these
krater
is
today
and
yeah,
and
it's
about
six
months
that
yeah
I
I
can
see
some
some
tracking
some
interesting
news
on
twitter,
so
yeah.
F
If
you
search,
for
example,
on
twitter
and
api,
you
you
can
find
some
saw
news
about
about
na
pi
dash
rs,
for
example,.
F
Brooklyn
is
the
creator
so
right
yeah,
but
if
you
go
on
search
yeah,
search
bar
or
on
twitter
yeah,
you
can
just
pass
an
api
and
I.
G
For
what
it's
worth,
I
think,
even
though.
F
And
that
should
be
I
or
no
okay.
B
C
A
Okay,
so
yeah,
if
we
crack
that
info
too,
that
sounds
sounds
interesting.
If
there's
significant
usage
in
other
places
but
seems
to
be
percolating
along
the
next
one
is
drive
towards
full
coverage.
So
I
know
jack.
Is
there
anything
you
want
to
update
on
that
front?.
C
Yeah,
I
didn't
get
a
chance
to
look
at
this,
but
actually
I
was
last
thinking.
I
know
we
have
that
open
gs
like
the
slack
channel
and
there
was
like
the
no
jazz
mentorship
channel,
there's
quite
a
bit,
there's
quite
a
bit
of
people
in
there.
I
was
wondering
if
I
can
like
maybe
ask
if
any
of
them
wants
to
take
on
another
task-
and
you
know
I'll
be
happy
to
like
give
them
some
help
or
pointers
to
get
started.
I'm
not
sure
if
that's
something
we
can
look
into.
A
F
I
I
I
think
that
you
could
post
the
blog
post,
that
you
wrote
yeah
and
yeah
and
say,
for
example,
okay.
You
can
start
from
from
here
to
yeah
to
see
how
to
contribute
to.
A
The
next
one
enabled
debug
testing
that
I
haven't
done
anything
to
progress,
so
I
don't
have
any
updates,
but
still
worthwhile,
so
I'll
leave
it
on
there
burning
down
the
list
of
module
owners,
actually
that
that
issue
we
can
probably
clean
up,
but
anyway,
we'll
just
go
over
and
look
at
add
on
api,
see
if
there's
any
any
issues
or
pr's
that
people
want
to
call
out.
B
A
A
B
And
I
I
think,
yeah
okay,
I
think
I
think
this
person
is
trying
to
implement
the
convention
in
javascript
of
you
know:
constructing
an
object
by
just
calling
the
constructor
or
versus
constructing
an
object
by
calling
you
and
then
the
constructor,
and
this,
and
I
think
the
solution
seeks
to
reinforce
the
the
behavior
where
you
say
new
and
then
the
constructor.
But
we
can
do
that
without
introducing
a
new
method.
But
let
me
just
double
check
that.
A
F
When
you
port
old
add-on.
F
V8
or
allow
you
to
use
these,
this
is
a
kind
of
api
and
yeah.
You
cannot
yeah.
F
Keep
the
the
javascript
like
the
same.
B
B
If
you,
if
you
call
the
function
intending
to
construct
a
new
object
inside
the
function
you
would
have
to,
you
would
have
something
like
if,
if
not
this
instance
of
the
function
then
return
new
function,
otherwise
construct
the
object,
and
so
so
it
used
to
be
possible
to
construct
to
construct
an
object
by
calling
the
constructor
without
the
keyword
new
and
then
and
then
that
fell
out
of
favor,
because
you
know
we
have
things
like
classes
now
and
and
so
classes
should
be
used
with
the
keyword
new
to
instantiate
the
new,
to
create
a
new
instance
of
the
class,
and
so-
and
I
think,
if
I
remember
correctly,
with
classes
you
have
to,
you
cannot
call
the
constructor
without
the
keyword
new,
and
so
this
would
this.
B
Would
you
know
this
would
make
people
who
use
old
javascript.
You
know
basically
update
the
syntax
to
the
new
syntax
if
that
javascript
also
happens
to
be
calling
into
native
object
constructors.
B
So
I
think
I
know
what
is
going
on.
Okay,
so
our
so
the
way
we've
the
way
we've
done
object,
wrap
is
a
constructor
to
the
object.
Wrap
class
is
the
constructor
to
the
javascript
object
and
in
there
we
we
call.
B
B
I
think,
and
when
we
call
when
our
constructor
executes
it
calls
an
api
wrap,
and
so
I
think
the
idea
here
is
that
our
constructor
should
throw
if,
if,
if
it's,
not
an
invocation
via
new
right,
but
it's
not
a
good
idea
to
throw
in
a
constructor,
and
so
therefore
we
should
have
a
method
that
that
does
the
throwing
so
that
it's
not
a
constructor.
B
A
B
Depends
on
well,
I
mean,
but
if
it's
it's
customizable
right,
so
oh
wait
a
second!
So
the
way.
B
F
B
A
A
B
D
It's
interesting
and
tesco's,
he
uses
term
factory.
I
wonder
if
a
factory
return
will
be
better.
I
don't
know,
is
it
it's.
Can
we
look
on
maybe
like
a
mdn
reference
about,
for
example,
you
have
data
object,
data
object
can
be
called
with
mu
and
without
near.
But
what
terms
are
you
using
if
it's
called
without
me.
B
Yeah
here
we
go:
no,
no
just
go
to
go
to
date,
bracket
bracket,
a
little
higher
up.
I
think,
there's
a
date
bracket
bracket
see
when
called
as
a
function
returns
a
string
representation
of
the
current
date
and
time
exactly
as
new
day.
Two
string
does
so
so
when
okay
so
and
the
message
is
referred
to
as
a
constructor,
even
though
it
doesn't
construct
anything
so
so,
if
you
say
new
date,
then
you
get
a
date
object.
If
you
just
say
date,
you
get
a
string.
D
B
Yeah,
basically
yeah,
I
mean,
I
think
the
idea
is
that
the
with
this
change,
the
maintainer
of
the
of
the
add-on,
gets
to
decide
what
to
do.
If,
if,
if
it's
called
as
a
function
right
and
then
they
can
still
return
a
new
instance
if
they
so
wish,
or
they
can,
you
know,
do
something
else
like
the
way
date
does
or
they
can.
B
D
Right
by
default
pros
except
exactly
same
error
as
before,
but
it
gives
opportunity
with
a
type
t,
to
implement
this
method
differently.
Yeah.
B
Yeah,
I
I
just
realized
if
it
is
called
as
a
function.
B
Oh,
I
see
so
the
default
implementation
of
non-constructor,
okay,
okay,
okay,
so
this
is
this
is
sort
of
a
what
is
that
called?
It's
like
an
overrideable
thing
right,
so
the
default
implementation
of
non-constructor
does
whatever
whatever
object.
Rep
does
today
right
right.
But
if
this
method
is
overwritten,
then
then
you
can
do
something
else.
A
A
A
B
Yeah
yeah
exactly
yeah,
so
I
mean
it's
it
is.
It
is
a
big
deal
in
the
sense
that
this
is
public
api,
because
the
the
the
extension
point
that
this
introduces,
the
name
of
the
extension
point,
is
non-constructor
right.
So
we
may
we
we
may
bike
shed
on
the
name
of
the
extension
point,
but
I
think
the
concept
of
providing
an
extension
point
to
handle
this
kind
of
situation
is
valid.
A
B
Saying
that
class
constructors
cannot
be
invoked
without
you.
B
B
A
B
F
F
We
don't
we
didn't
do
this
before
is
because
maybe
it's
not
possible-
or
it's
not
easy
to
do
the
same
thing
with
other
javascript
engine.
B
No,
no,
I
don't
think
this
is
I
I.
I
don't
think
this.
This
is
in
any
way
engine
specific
right,
because,
because
in
core
right
yeah,
when
you
say
an
api
defined
class
in
core
it,
it
asks
for
a
function
pointer
for
the
constructor
right
and
inside
the
inside
the
the
implementation
of
that
function.
Pointer.
B
You
can
make
this
determination
without
using
know
that
on
api
right,
so
so
the
the
javascript
engine
should
fundamentally
support
the
concept
of
calling
with
the
new
keyword
versus
calling
without
the
new
keyword,
because
we
have
a
way
of
checking
with
existing
node
api.
Whether
this
is
a
construct
call
or
not,
and
so
presumably-
and
we've
had
this
since
I
think
like
this
was
like
version
three,
I
think,
of
the
api.
B
I
think
the
difference
is
that,
basically,
if
you
don't
have
this
check,
then
then
you
have
to
you
have
to
check
what
your
this
value
is
right,
and
if
your
this
value
is
an
instance
of
the
object
wrap
subclass,
then
you
have
an
object
that
javascript
has
created
for
you,
and
now
you
have
to
flesh
it
out
to
be
an
instance
of
this
object,
rep
class.
B
But
if
the,
if
the
this
value
is
something
else,
then
you
don't,
then
then
you
have
to
create
a
new
object.
So
you
have
to
call
like
an
api
new
instance
for
for
you
to
correctly
behave
like
a
constructor,
so
you're
basically
mirroring
the
old
javascript
behavior
of
you
know,
if,
if
not
this
instance,
of
whatever
the
name
of
the
constructor,
then
return
the
new,
whatever
the
name
of
the
constructor
else.
B
Flesh
out
this
and
and
the
old
javascript
will
do
that,
because,
before
the
introduction
of
the
class
keyword,
that
was
the
only
way
to
create
classes
in
javascript,
and
so
what
I
suspect
is
what
happened
was
that
that
an
api
has
percolated
down
to
some
old
javascript
projects
where
things
get
called
without
the
constructor,
and
they
ran
into
this
problem,
where
it
gets
called
without
the
constructor
and
lo
and
behold
it
throws,
whereas,
whereas
before
with
say
nan,
it
didn't
throw
so
so.
B
In
in
man
to
be
able
to
do
the
right
thing,
they
just
want
to
play:
that's
right,
yeah,
so,
basically
in
retrospect,
I
think
we
expressed
an
opinion
here
that
we
do
not
allow
a
calls
without
the
new
keyword
and
so
now
the
opinion
remains
expressed.
However,
we
have
an
extension
point
where
people
can
have
a
different
opinion.
A
B
Yeah
and
yeah
I
mean
people
have
to
make
an
effort
to
get
this
behavior,
so
we
presumably
it
works
for
most
people
right,
and
you
know
I
mean
philosophically
we
could
argue
that
we
should.
We
should
not
encourage
old
javascript
to
stick
around,
but
I
don't
know
if
we
need
to
necessarily
be
harsh
about
that.
A
I'm
more
on
the
yeah.
I
don't
think
that's
our
role
right
like
if
we
thought
it
was.
You
know,
there's
really
a
reason
why
it's
bad
okay,
but
I
think
otherwise
it's
more
like
we
didn't
do
it,
probably
because
we
didn't
think
too
many
people
would
need
it.
But
if
it's
easier
for
people
to
report
existing
code,
then
why
not?
You
know,
I'm
thinking.
B
This,
what
what
would
this
being
sort
of
a
a
language
decision?
Might
it
make
sense
to
to
to
ask
to
ask
like
a
wider
ring
of
people
for
their
opinions?
Like
I'm
thinking
like,
maybe
ask
the
tsc,
because
they
they
are
more?
They.
They
may
have
a
broader
perspective
on
on
on
where
javascript
is
headed
and
what
the
possible
magnitude
of
use
cases
is
where
the
new
keyword
is
undesired
and
then
maybe
maybe
get
sort
of
a
wider
perspective
on
this,
so
that
we
can
make
a
better
informed
decision.
A
A
A
B
A
B
D
My
question
will
be:
what
do
we
have
any
policy
about
documenting
such
extension
points
or
something?
How
does
this
work
today.
B
A
It
seems
like
we
agreed
giving
developers.
The
opt-in
often
makes
sense.
We
would
like
the
pr2
to
include
updating
the
documentation
documentation
as
well,
and
are
we
okay
with
that
non-constructor
name
or
is.
B
B
B
B
B
No,
it's
it's
treats
the
constructor
as
a
function.
Call.
B
B
B
A
B
Well
yeah:
this
is
this
is,
but
this
is
just
our
implementation
right
from
the
from
the
from
the
add-on
maintainers
perspective,
the
constructor
of
the
subclass
to
object,
wrap
that
they
have
created
is
the
constructor
of
the
javascript
object.
B
Oh,
no,
no,
no!
No!
No!
No!
No!
It's
it's
important
that
it
be
done
in
the
constructor,
because,
if
it
isn't,
if
it,
if
the
new
keyword
was
used,
then
a
new
javascript
object
would
not
have
to
be
created.
So
so,
basically,
basically
you
see
that
wait.
A
second
something!
Oh
yeah
return.
Okay,
so
look
at
look
at
the
change
that
was
made.
B
It
says,
return
details,
colon,
calling
rap
callback,
t
colon
colon
non-constructor
right,
so
so
so
this
returns
a
value
right,
whereas
if
you,
if,
if
this
is
a
construct
callback,
so
if
the
new
keyword
was
used
and
there
is-
then
you
then
you
don't
need
to-
then
you
return
the
value
that
that
is
the
this
value,
whereas
if
if
if,
if
the
keyword
was
not
used,
then
you
return
a
completely
new
value
that
that
the
c
plus
implementation
created
itself.
So
it
behaves
differently.
A
B
A
B
Yes,
yes,
that
could
be
done
and
the
default
implementation.
A
It
would
be
flexible
because
then
you
could
now
override
the
default
of
the
implementation
if
it
is
called
into
the
constructor.
If
that
made
sense.
B
Yeah
yeah
yeah.
I
I
think
it's
cleared
cleaner
this
way,
because
because
then
the
the
the
case
where
the
case
where
the
new
keyword
was
used
is
handled
in
the
constructor,
which
makes
it
identical
to
what
javascript
does
and
so,
like.
Logically,
it's
more
consistent
and
the
case
where
the
new
keyword
was
not
used
is
deferred
to
this
hook
and
that's
it
so,
yes,
we
could
move
it.
B
I
mean,
there's
nothing
preventing
us
from
doing
it,
but,
logically,
I
think
it's
best
if
we,
if
we
kept
the
two
separate
and
then
the
method
that
deals
with
what
happens
if
the
new
keyword
was
not
used
is
elsewhere,
then
the
method
that
that
doesn't
that's
all
but
there's
no
technical
reason
not
to
move
it
to
to
to
the
new
hook.
A
B
Yeah
yeah
see
that's
that's.
Why
I'm?
I
don't
like
create
instance,
because,
because
create
instance
how
right
the
the
constructor
creates
instance,
the
quote-unquote
right
way,
the
new
way,
the
modern
way
right
and
and
the
the
this
new
hook,
whether
we
call
it
non-constructor
as
function
called
create
instance
or
as
constructor,
creates
objects.
The
old-fashioned
way.
A
B
Wait
a
minute,
there's
there's
a
problem,
so
it
would
have
to
chain
up
right
because
so
so
so
the
user's
implementation
would
have
to
chain
up
right.
They
would
have
to
call
like
object,
wrap
bracket,
my
class
name,
colon,
colon,
create
instance,
because
otherwise
we
create
nothing
because
we
do
like
we
do
call
the
the
users
implementation
right
or
don't
wait.
Wait!
A
second
yeah.
That's
a
good
point
like.
D
If
you
look
on
their
kind
of
test
test
code
test
code
effectively,
just
calls
the
same
constructor
like
javascript
constructor,
so
think
about
re-entering
this
method
and
going
different
paths.
D
B
B
Okay:
okay,
okay,
I
got
it
now.
Okay,
I
got
the
reason
why
we
shouldn't
move
it.
Okay,
so
look
open
test,
object,
wrap
cc
and
look
on
line
26,
oh,
not
in
the
pr
yeah,
not
the
pr
like
rr
repo,
so
go
to
test.
B
Object
wrap
dot
cc;
okay,
oh
oh.
B
B
Yeah
object,
wrap
cc,
yep
towards
the
middle
of
the
screen
slightly
above
yeah,
okay,
okay,
so
now
look
at
line
26,
okay!
So
oh
what
that
means?
Oh
yeah!
Okay,
oh
sorry,
sorry
24.!
So
you
see
class
test.
Colon
public
and
api
object.
Wrap
test
right
class
test
is
a
subclass
of
an
api
object,
wrap
test
so
c
plus
forces
you
to
construct
the
superclass
before
constructing
the
subclass
right.
If
you,
if
you
omit?
Oh
sorry,
no,
no,
it
was
927.
Sorry,
my
mistake!
B
So
so
you
have
test
the
constructor
for
test
is
call
an
api
object
right
task
test
info
right.
If
you
omit
the
colon
and
api
object,
wrap
test
info,
your
code
will
not
compile
because
you
have
to
construct
a
super
class
before
you
construct
a
subclass
right,
but
with
a
regular
method.
Nobody
is
forcing
you
to
chain
up,
you
may
or
may
not
chain
up
right
with
the
constructor.
You
have
no
choice
but
to
chain
up.
B
So
so,
if
the
so,
if
we
move
everything
to
a
non
to
a
method
that
is
not
a
constructor,
then
we
may
never
get
a
chance
to
do
the
napi
wrap,
because
the
the
the
add-on
maintainer
has
chosen
not
to
chain
up.
So
we
and
we
have
to
do
an
api
wrap
for
things
to
work
correctly.
So,
therefore,
the
the
napi
wrap
call
has
to
be
in
a
constructor.
It
cannot
be
in
the
hook.
D
So
the
method
we're
looking
and
it's
basically
been
called
by
node
api
right,
like
it's
callback
itself
and
inside.
B
Yeah,
so
we
call,
let
me
see
so
yeah
we
call
an
api
wrap
inside
the
object,
wrap
constructor,
and
so,
if
we
move
that
wait
a
minute
where
do
we
have
this
enforcement,
though,
because
here's
the
constructor.
D
This
callback,
this
callback,
will
be
called
from
from
the
class
definition
itself,
so
we
will
provide
a
new
technique.
D
Then,
from
from
javascript
new,
this
callback
will
be
called
first
and
after
if
you,
if
you
look
inside,
if
it's
called
the
code
at
some
point,
we're
calling
our
native
native
class
new.
B
Yeah,
okay,
okay,
so
this
is
before
we
even
before
we
even
say:
oh
yeah,
mu,
t.
Okay,
I
see
so
this
happens
before
we
even
call
mu
t.
Yes,
oh
good,
good,
that's
great,
because
we
don't
want
to
have
okay
yeah.
So
this
is
the
perfect
way
to
to
to
do
the
hook,
because
we
never
we
don't
want
to
do
new
teeth
right
before
yeah
before
we
do
this
hook.
B
B
Then
it
is
no.
B
Yeah,
I
don't
so
okay,
so,
let's
see
okay,
the
the
default
implementation
does
new.
Does
like
a
new
t
callback
info
right.
B
This
determination
is
construct
called
yes
or
no,
and
if
yes,
then
they'd
have
to
chain
up
right
and
if
no
then
well,
they
could
chain
up
either
way
if
they
don't
want
the
override.
But
if
they
do
want
the
override,
then
it
is
a
construct
call.
Then
they
have
to
chain
up
right.
So
so,
basically.
B
So
basically,
if
they
don't
do
anything,
then
they
get
this
behavior,
so
we're
safe
there,
but
if
they
do
want
to
construct,
if
they
do
want
the
the
the
non-construct
behavior
and
it
and
the
new
keyword
was
used,
then
they
have
to
chain
up
okay.
So
so,
if
we
move
the
code,
as
you
said,
michael
then
in
the
case
where
the
new
keyword
was
not
used
it
well
in
in
the
default
case,
if,
if
users
don't.
B
Work
as
expected
right
so
it
will
continue
to
work
as
it
is.
It
does
today
yeah
if,
if
the,
if
the,
if
they
do
choose
to
override,
then
if
the
new
keyword
was
not
used
now
they
have
the
opportunity
to
to
do
something
else.
So
that's
good
right,
yep,
but
with
if
we
move
the
implementation
and
the
new
keyword
was
used
now
they
cannot
simply
proceed
as
they
wish
they
have
to
chain
up
in
order
for
the
object
to
be
constructed.
Using
new
t
callback
info
by
our
implementation.
A
B
Yeah,
they
could
say
they
could
say,
object,
wrap
angle
brackets
my
class
name,
colon
colon,
create
instance,
but
they
would
have
to
do
that
yeah,
whereas
with
the
implementation
as
it
is
now,
they
only
have
to
do
something
if
the
the
new
keyword
was
not
used.
E
B
So
so
I
think
this
this
makes
the
add-on
maintainers
write
less
code
because
they
only
have
to
handle
the
case
that
they
wish
to
handle
right,
whereas
if
we
move
the
implementation
they
would
have
to
handle
both
cases
themselves,
we
can.
We
can
no
longer
handle
the
case
where
the
new
keyword
was
used
for
them.
B
Exactly
yeah
yeah,
so
I
think
I
think
it's
it's
it's
it's
it's
better
to
leave
it
as
is,
and
just
give
them
the
hook.
B
B
B
A
D
May
I
ask
you:
just
I
submitted
yesterday
a
couple
of
proposals
instead
of
no
dodgers
node.
If
you
guys
can
look
next
week,
it's
one
of
them.
We
already
kind
of
talked
before
we
start
recording
about
using
features
for
versioning,
and
second
one
is
about
this
strong
pointers
and
weak
pointers.
A
Thanks
for
the
heads
up,
we'll
try
and
do
that:
okay!
Well
then
everybody
thanks
for
taking
the
time
and
for
people
on
the
live
stream
as
well.
Otherwise
see
you
in
github
and
next
week.