►
From YouTube: 2022-10-21-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.js
node
API
team
meeting
for
October
21st
2022.
we'll
follow
our
standard
approach
going
through
the
issues
tagged
with
Milestone
11..
Does
anybody
have
any
announcements
they'd
like
to
make
before
we
get
started
on
that.
A
Not
okay,
I
will
share
the
screen
with
that
and
we
can
get
started
so
the
first
one
is
drive,
support
towards
full
coverage.
I,
don't
know
Jack.
If
you
have
any
updates
for
comments
and
things
we
should
discuss
on
that
front.
Yep,
so
I
opened
two
uprs
and
know
that
on
API
report
and
it'd
be
great.
If
someone
can
take
a
look
at
it,
one
of
them
is
just
like.
It
was
one
of
the
PRS
that
already
got
accepted.
A
You
type
thrusted
functions
but
I'm
just
doing
it
for
the
one.
Without
the
typing
yeah.
B
A
One
right
here:
yeah,
that's
just
it's
like
a
mirror
PR
for
like
the
threats,
just
thoracity
functions,
okay,
so
it's
basically
the
same
changes
just
I
think
makes
lots
of
sense.
Okay
and
the
other
one
I
think
it's
I
think
Kevin
brought
us
some
changes
and
I
made
some
edits.
Okay,
so
basically
taking
a
look,
and
maybe
if
Kevin
joins
a
bit
later,
we
can
just
remind
him
that
it's
now
ready
for
another
look.
Yep.
B
A
You,
okay
sounds
good
this
one
okay,
so
I
see
lucian's
cast
just
since
we're
here.
You've
taken
a
few
made
a
few
questions
right.
B
Yeah,
if
Kevin's
here
I
can
discuss
with
him
so
that
the
primary
is
about
the
undocumented
behaviors
of
this.
This
signal,
Mass,
Effect
I,
found
out
that
we
didn't
have
documentation
on
the
second
method.
In
the
you
know,
the
I
don't
API
repository
Okay,
so
yeah
I
was
trying
to
like
say
even
even
though
we
are,
we
are
not
documenting
this
method.
B
I
think
progress,
workers
signal
Behavior,
so
until
it
will
be
best
to
to
achieve
a
similar
Behavior
with
the
next
next
one.
So
yeah,
that's
yeah.
A
A
Sounds
good
okay,
so,
okay!
Well
thanks
Jack
for
continuing
to
push
that
forward
and
keep
keeping
adding
adding
some
coverage.
That's
great!
Better
coverage
of
node
API
on
YouTube
I
know
we
discussed
a
little
bit
last
time
and
Nick's
taking
taking
a
look.
I,
don't
know
if
there's
anything
more
to
discuss
about
that
this
week,.
A
If
not
I
think
we
can
move
on
so
a
list
of
non-c
language
bindings.
This
one
I
do
know
that
okay,
there's
I,
see
some
comments
again.
I
think
you
know
Nick's
working
on
those
we've
discussed
it
I,
don't
know
if
there's
anything,
to
discuss
this
week
tracking
issues
for
modules
that
we've
been
ported.
A
A
There
we
go
okay,
thanks
right,
so
enable
debug
testing
haven't
done
anything
on
that,
but
still
list,
and
that
takes
us
to
the
stale
issue
review.
So,
let's
take
a
look.
There.
A
So
I
see
Kevin
you
added
this
one,
which
is
electron
API
right,
okay.
So
that's
a
good
one
to
have
some
discussion
on.
C
A
Yeah
last
time
we
had
had
some
discussion
about
it.
I
think
we
made
a
comment:
do
we
we
have
right,
so
we
made
some
good
discussion
had
some
discussion.
The
only
thing
we
had
in
mind
at
that
point
was
like
maybe
a
defined
that
could
be
used
to
not
use
nappy,
create
external
buffer,
so
maintainers
could
sort
of
opt
into
I
want
to
I
only
want
to
use
methods
that
will
be
supported
on
everything
or
I,
don't
know
what
it
would
be
called
but
like
with
pointer
cage
or
something
like
that.
A
There
has
been
some
more
interesting
discussion
in
the
electron
issue
itself,
I
think,
like
sharp
one
of
the
the
maintainer
there
was
mentioning
they'd
like
to
be
able
to
check
for
it
and
do
something
differently.
Potentially
right,
so
you
know
maybe
having
an
API
call
that
they
could
call
to
to
check.
A
The
other
thing
I
had
in
mind
is
Maybe.
Maybe
there's
a
way
for
that
method
to
to
just
return
a
specific
error
code.
If
it's
not
supported-
or
something
like
that
like
because
currently
he
calls
it
it
crashes,
that's
pretty
hard
to
work
around
right,
whereas
if
it
actually
returned
and
not
supported,
then
maybe
modules
could
do
something.
A
So
it's
kind
of
we
can
I
think
it'd
be
good
for
us
to
still
brainstorm
and
think
about
like
what
can
we
do
to
help
the
situation
and
what,
until
you
know
how
maintainers
can
cope
with
it?.
A
C
There
a
different
method
that
should
be
used
for
creating
these
external
buffers.
B
And
and
the
point:
okay,
just
argument:
you
have
to
copy
the
external
buffers
into
the
buffers
allocated
inside
the
ending,
so
when,
if
there
is
a
API
to
determine
if
the
external
buffer
is
supported,
then
people
can
like
say
they
can
write
code
both
supports
external
revolvers
and
the
engines
internal
one.
Well,
that's
the
endings
last
the
buffers
that
have
to
copy
it
into
the
memories.
B
There
comes
the
performance
cost,
so
the
behavior
should
be
similar,
I
have
to
say,
but
there
comes
the
performance
cost,
so
they
have
to
be
ex
and
the
API
ships
is
varying,
and
this
have
to
be
explicitly
obtained.
A
A
B
Yeah
the
networking
bits
cat
cage
it.
It
just
I
believe
it's
just
similar
to
the
current
allocating
buffers
with
the
existing
API
and
you
can
get
the
underlying
and
buffer
from
that
big
specific
paragraph
and
use
that
memory
as
the
metal
could
departford
medical
memory.
You
know.
A
I
mean
because,
like
with
this,
we
we
could
probably
like
create
a
nappy,
allocate,
you
know,
allocates
buffer
safe
for
external
or
something
right
and
free
buffer,
but
I'm
not
sure
that
that
would
really.
And
then
you
know,
every
the
default
implementation
is
just
like
any
Alec
works
right,
but
I'm
still
I'm
not
sure
that
that's
a
good
idea.
A
B
The
hard
problem
here
for
the
library
offers
is
that
if
the
library
is
managing
their
own,
their
own
memory
and
and
when
you
have
to
when
you
have
to
use
the
the
libraries
Library
management
memory,
so
you
can't
allocate
the
memory
yourself
here
and
right.
B
Yeah,
that's
I,
believe
that's
the
hardest
problem
for
that,
because
to
adopt
this
change,
they
either
have
to
copy
the
memory
and
they
can't
and
if
and
if
they
are
using
the
memory
as
a
bridge
between
the
JavaScript
land
and
the
third
party,
the
the
vendor,
the
library,
then
that
will
not
work
since
that
Library
will
cannot
access
the
if
the
memory
is
managing
their
own
as
you.
If
the
library
is
managing
their
own
memory
and
since
you
they
can't
use
the
JavaScript
and
memory
direct,
but
I
I
would
love
to
see.
B
B
A
D
A
Yeah,
we
can't
do
anything
to
help
on
that
front.
The
thing
we
might
be
able
to
do
is
figure
out
what
it
makes
sense
so
that
they
can
get
an
error
versus
like
they
can
figure
it
out
up
front
rather
than
having
to
and
do
something
about
it.
Like
okay,
yeah
I
know,
the
code
is
I'm
running
in
an
environment
where
this
isn't
going
to
be
supported,
so
I'm
going
to
run
some
different
slower
code
and
in
when
it
isn't
in
supported.
I'm
going
to
you
know,
do
the
fast
thing
right.
D
I
think
who's
who's,
question
I
think
it's!
It's
not
no.js
question
right
now.
It's
probably
electron
implementation
of
its
function.
Right
now,
question.
B
A
D
Recent
types,
JS
Native.
D
A
Right
here,
right
yeah,
so
you
know
it
could
be
like
a
external
buffer,
not
supported
right
yeah
and
basically
I
could
see
that
like
if
we
can
somehow
check
the
V
pointer,
cage
definition.
If
you,
if
you
happen
to
compile
that
way,
then
in
the
implementation,
it
would
just
check
that
right
up
front
and
say
nope
I'm.
You
know
you
call
external
I'm
just
going
to
return
that
error.
A
A
D
A
B
C
C
Are
we
going
to
provide
module
developers
a
way
to
create
these
buffers
with
a
different
allocation
mechanism
or
like,
like
I'm,
a
little
confused
as
to
how
this
whole
thing
should
work
like
I
kind
of
understand
this,
like
returning,
an
error
is
VA,
caging
is
used,
but
if
we
return,
if
we
were,
if
the
developer
receives
that
error,
then
they
have
to
go
through
a
different
path
to
create
an
external
buffer.
So
how
do
they
go
about
this
different
path?.
B
B
While
this
method
create
a
Revival
with
its
underlying
memory,
pointing
to
your
pointing
to
the
memory
blocks
you
provided
when
you
create
the
external
robot.
So
when
the
point
cage
is
enabled
you
cannot
and
create
external
buffer,
but
you
can
still
create
the
normal
one
which
is
allocated
by
V8.
B
B
I'm
can
I'm
I'm
not
sure
about
it,
because
in
in
some
versions
of
V8,
it
will
complain
about
creating
a
red
address
with
with
identical
memory
address,
but
in
the
latest
version
this
might
be
changed,
so
I'm
not
sure
about.
If
this
is
possible.
C
Let's
see
okay,
because
I
think
there
was
in
that
issue.
They
were
talking
about
this
Malik
and
VA
cage
and
free
from
VA
cage.
So
would
somebody
be
able
just
to
allocate
memory
using
those
methods
and
then
create
the
external
buffer
on
the
memory
that
was
created
from
Mallet
in
V8
cage,
see
if
that
makes
sense.
B
B
A
Yeah
I
I
was
thinking
the
same
thing
as
you
Kevin,
but
in
the
end,
like
a
position
to
test
point
is
really
good
that
you
can
you
can
you
can
effectively
do
with
the
existing
calls?
There's
no
point:
if
you
can,
if
you
can
control
the
allocation
then
and
give
the
pointer
back
to
other
stuff,
then
yeah,
you
could
already
do
it
with
the
existing
code.
A
B
B
Do
you
mean
for
add-ons
or
for
not
just
call,
no
means
to
determine
this
compile
time.
A
C
A
That's
right,
yeah,
okay,
and
so
the
way
they
the
the
it's.
It's
maybe
not
ideal
but
like
add-ons
basically
say
well:
okay,
I'm
gonna,
call
this
method
and
if
I
get
this
error,
I
know
and
so
like.
If
you
really
want
to
do
it
out
of
line,
you
could
just
try
and
create
like
a
one,
byte
external
buffer,
and
if
it
works,
you
know
you're
good.
If
it
doesn't
work,
you
know
that
you've
got
you
know.
So
it's
you
could
still
do
an
upfront
check
without
changing
your
existing
code.
I
think.
D
Just
a
little
bit
up
up
just
native
API,
okay.
A
A
Is
that
what
I've
written
up
there
makes
sense
to
everybody?
Any
other
good
questions
like
that
last
one.
D
And
what
you
just
discussed
like,
should
we
do
we
decide,
we
don't
add
any
kind
of
Macro
for
people
for.
A
D
A
A
So,
basically,
if
you,
if
you
define
the
Define,
then
these
two
methods
are
no
longer.
You
can't
compile
against
them
right
that
that
still
could
make
sense.
I
mean
what
do
people
think
that
still
kind
of
makes
sense
to
offer
that
it's,
it
doesn't
really
cost
us
very
much
and
I
could
see
some
people
wanting
to
use
that
versus
having
to
cope
with
the
two
cases
right.
D
Yeah
from
our
perspective,
we
just
instead
of
header
file.
We
just
need
to
check
some
definitions,
so
just
say
if
if,
therefore,
if
and
there,
if,
therefore,
if
somebody
defines
it
something
during
completion
of
their
module,
so
something
they
can
put
inside
of
the
Jeep
file
in
this
case,
people
simply
never
see
it.
A
A
A
Author
ex
removes.
C
A
D
Well,
they
choose
like
to
check
at
runtime.
It
will
be
up
to
author,
so
they'll
have
effectively
two
different
lobes
to
either
do
it
at
runtime
check
if
they
want
to
Target
a
different
scenarios.
A
D
A
A
Node
still
doesn't
have
been
enabled
it's
not
impossible
that
it
gets
enabled
at
some
point,
but
I,
don't
think
it's
anytime
soon
or
anything
and
and
some
other
I
guess
it
is
something
like
some
other
run
times
might
have
similar
constraints
due
to
security.
You
know
it's
driven
by
security
requirements
in
part
and
also
optimization
so
yeah.
D
There's
so
some
type
of
by
addon
author,
no
I
mean
you
misspelled,
author.
B
D
A
My
phone
I
usually
blame
the
the
autocomplete,
but
maybe
it's
not
maybe
it's
my
brain
and
not
the.
D
A
A
A
So
that's
someone
thanks
for
adding
that
for
sure.
So
this
one
then.
A
D
We
want
to
run
finalizers
immediately,
you're
right,
like
yeah,
we
discussed
last
time
so
I
don't
know
my
opinion.
We
just
need
to
adopt
this
features
and
we
can
implement
it
in
a
little
time
like
pretty
much.
A
C
Yeah,
okay,
so
the
question
that
I
have
so
async
progress
worker
signal
should
not
invalidate
send
progress
not
handled.
So
is
this
an
example
by
like
not
handled
if
the
developer
performs
a
send
progress
and
then
a
signal
we
want
both
of
those
to
be
triggered.
B
I
would
I
would
like
to
mention
mass
behavior
and
since
next
basic
progress
worker
is
based
on
UV
async,
which
means
and
the
signal
which
corresponds
to
a
simple
your
base.
Extent,
which
and
doesn't
and
send
any
data
to
the
user's
callback
and
which
just
and
it's
just
an
X
chat
to
trigger
the
execution.
B
Is
the
callbacks
where
the
executed
on
the
JavaScript
thread,
and
that
is
that
that
means,
if
you
have
a
send
a
program
I'll
handle
to
send
the
progress,
Center
progress,
then
the
signal
just
does
nothing,
and
if
you
have
you
didn't,
there
is
nothing
nothing
progressed
left
to
do
and
to
be
handled.
Then
the
sequence
signals
just
and
triggers
the
users
go
back
with
now
with
no
point
in
the
data.
C
Okay,
that
makes
sense
and
then
in,
if
you
go
to
that
link
that
you
sent
with
the
in
the
comment
there
rather
sorry.
C
B
Yep
yeah
I
can't
still
record
this
behavior
is
that
we,
the
the
directive
function,
has
a
different
Behavior
with
the
with
the
EV
async
send
because
it
just
cures
up
the
and
non-broken
code
or
blocking
code
and
I'm
just
unblocking.
It
kills
out
the
request
sent
by
the
number
of
inputs.
So
here
we
just.
B
I'm
yeah,
the
the
link
address,
link,
address
posting.
The
comment
is
that
it
just
sorry
and
I'm
in
need
to
reward
in
here
and
when
the,
when
the
progress
has
has
been
handled
and
the
remaining
number
and
code
request
will
be
just
will
be
suppressed
to
not
notify
users
go
back
since
their
request
has
already
been
handled,
but
for
but
by
accidentally
externally.
The
signals
that
the
also
sends
the
now
pointer
and
which,
when
their,
which
means
when
there
is
no
progress,
sent
or
progress
saved
here,
the
signals
suppressed
two.
B
So
that
invalidates
a
signal
method
and
we
need
to
chat
fix
here.
Is
that
to
distinguish
the
signal
signals
to
distinguish.
C
C
A
B
A
Just
like,
if
it's
not
public,
could
we
extend
it
so
that
it
like
would
have
something
that
says
this?
Is
this
a
signal
or
not?
Is
that
another
option
to
putting
some
like
State
data.
A
I'm,
just
thinking
like
other
other
ways
of
getting
the
data
you
need
in
is
like
is
it?
Is
it
possible
to
change
that
that
signature?
So
it's
as
simple
as
like
signal
equals
false
is
the
default
and
where
you
call
it
from
signal,
you
can
say
equals
true,
but
if
that
affects
the
external
API,
not
so
good,
but.
C
C
A
I
see
so
it's
not
in
the
sink.
It's
you
don't
need
to
check
and
to
send
progress
method,
but
somewhere
inside.
A
C
A
D
A
B
A
As
long
as
like
my
the
only
thing,
I
was
worrying
a
little
bit
about
is
like.
Can
we
get
a
send
progress
where
it's
not
a
signal
and
I
wanted
a
signal
somehow
at
the
same
time
and
like
by
having
set
one
set
of
state?
Would
that
end
up
doing
the
wrong
thing?
But
if
not,
then
it
all
sounds
sounds
good.
A
A
A
Okay,
so
I
think
that's
that
one
right
this
one.
B
And
yeah
I
build
this
exactly
the
problem
we
have.
We
have
text
in
the
PR,
but
that
for
the
add-on
authors
we
need
a
runtime
or
build
time
sex
position
to
just
just
to
switch
to
the
expected
Behavior
with
like
say,
feature
flag
feature
bit.
A
C
C
C
And
if
we
look
at
the
original
post,
the
the
top
comment
we
see
in
the
call
and
that's
sort
of
like
the
example
of
the
object
block.
If
we
look
at
the
stack
Trace
that
he
posted
a
little
lower,
we
see
that
there's
a
call
to
this
free
environment
and
then
the
finalize
of
the
object
object,
wrap
which
deletes
the
object,
and
then
they
try
to
do
a
release,
and
then
that
is
crashing
the
process.
So
what
we
have
were
thinking
was
that
it
may
be.
C
The
call
to
free
environment
is
releasing
the
threat
safe
functions
first,
so,
like
maybe
there's
some
sort
of
dependency
or
whatever
going
on
with
the
order
of
how
these
things
are
being
freed,
and
then
that's
I
think
as
far
as
we
got
was
sort
of
just
discussing
that
as
being
a
possibility.
C
Because
they're
they're
using
electron,
of
course,
more
electron
use
where
they
they're
reloading
the
the
environment.
C
A
A
C
Right
all
we
know
is
that
so
I
guess
he's
saying
that
he
uses
get
current
web
contents
reload
ignoring
cash.
C
Some
JavaScript
call
it's
listed
right
below
his
C
plus
code
staff
code,
paste
or
whatever,
but
it
is
doing
some
sort
of
reloading
of
the
environment
which
I
guess
the
reload
is
ending
up,
freeing
and
then
it
just
blows
up
and
I'm,
not
sure
if
there's
a
like,
if
there's
a
specific
order,
that's
being
done
where
the
threat
safes
are
being
released
first
and
then
the
objects
are
being
released
or
if
that's,
because
that's
really
the
only
thing
that
I
can
think
of
as
to
why
release
would
fail,
because.
A
Ask
if
they
could
run
with
Val
grind
or
even
that?
That's
why
I
was
just
wondering
like
taking
this
simple
thing
and
running
it
with
Val
like
under
node,
without
grind
it's
possible
that
like
we
would,
we
would
get
an
error,
even
though
it
doesn't
crash
right,
because
the
crashes
depend
on
whether
you've
overwritten
that
memory
or
whatever.
C
A
A
C
Okay,
should
we
ask
them
to
try
to
run
in
val
grind,
or
should
we
try
to
do
that
ourselves.
A
If
they're
still
around
I
guess
is
the
have
they
commented
or
discussed.
C
A
A
Okay,
that
was
this
one.
Was
it
right.
A
So
we
already
talked
about
this
one
in
the
stales
I
tagged
it
because
I
figured
it
would
be
good
to
have
it
show
up,
but
we've
already
covered
it.
This
one
I
think
we've
just
discussed
in
terms
of
like
hey
some
some
good
ways
to
help
people
with
this,
but
I
don't
know
that.
There's
anything
new
to
discuss
on
that
one.
This
week.
C
C
C
Where
there's
this
method
on
instance,
created
the
or
yeah
this
one
here,
there's
some
commented
code
where
Ace
Constructor
call
it's
returning
true
and
the
the
new
Target
is
returning
a
a
number
and
that's
what
he's
getting
in
his
JavaScript
side,
so
that
the
final
code
block
where
he
has
his
callback
Handler
and
is
trying
to
log
the
instance.
It's
returning
that
number
everything
looked
okay
to
me.
C
C
Yeah
I
guess
that
that
doesn't
hurt
to
ask.
Maybe
we
can
throw
that
in
before
I.
Try
creating
some
sort
of
example.
A
B
C
Nick's
working
on
that
one
as
well
as
I,
think
not
the
set
the
the
third
one
yeah
right
that
one
I
think
I
messaged
yeah.
Somebody
was
trying
to
use
execute
in
calling
JavaScript
in
the
async
worker
execute,
which
is
not
supposed
to
run
JavaScript
code
right.
A
C
Waiting
back
from
him
on
that
I
think
as
Nick
was
working
on
the
fourth
one,
this
fastest
way
to
create
huge
object
right
so
yeah
that
was
just
posted
today.
So
we
can
wait
to
see
what
the
poster
says
regarding
that
and
I
think
that's
all
of
the
new
issues,
then.
Okay,.
A
A
D
D
A
D
And
I
don't
know
what
is
sporadic
failure
of
this
a
sun.
It's
like
50
50.
It
works
so
that
works
yeah.
A
D
A
D
Do
some
documentation
more
documentation,
I
realized,
maybe
I
need
to
do
this.
An
API,
ref
changes,
documentation
or
something,
but
I
do
have
a
documentation
already
read
and
I
just
need
someone
to
look
through
so
technically
just
to
give
you
kind
of
a
quick
overview
about
those
feature
stuff.
So
thank
you
the
way
what
we
do
like.
Instead
of
then
we
register
modules.
D
We
have
right
now,
four
reserved
different
pointers,
so
I'm
reusing
one
of
them
right
now
to
pass
pointer
to
the
feature
bit
set,
why
it's
a
pointer
to
feature
bit
set.
So
if
we
ever
exceed
32
bits,
we
can
potentially
start
to
pass
array
of
bits
array
of
32
numbers
with
bits,
so
we
can
extend
it
in
future
if
we
ever
need
to
and
okay.
D
So
it's
just
bits
and
also
we
allow
people
to
so
what
I
propose
for
each
version
we're
going
to
have
some
predefined
set
of
bits
which
features
enabled
for
each
version
and
then
in
user
code
it
should
be
possible
for
us
to
say
or
kind
of
modify
it
with
this
bit
set.
D
If
you
look
inside
of
this
test
reference
test
reference.c
or
it's
fine.
D
If
you
look
on
this
one,
you
see,
this
is
where
I
kind
of
I
want
the
whole
test
to
test
against
all
Behavior.
So,
for
example,
here
I'm
removing
this
bit
so
technically
the
whole
test
works
against
old
code.
D
So,
if
add-on
author
wants
to
modify
bit
sets,
I
can
simply
do
it
like
this
in
their
code.
D
Actually,
this
one
plus
look
on
the
Jeep
file.
There
is
a
one
more
thing
they
need
to
say.
Instead
of
zip
files,
I
need
to
put
additional
Define
by
saying
that
I
do
want
to
provide
custom
features
so
effectively.
They
need
to
do
both
things
provide
this
macro
definition
and
then
they
can
redefine
this
variable.
D
It's
in
order
to
opt
in
to
specify
a
custom
set
of
features,
so
by
default
during
no
registration
will
use
default
set
of
features,
but
in
order
to
use
custom
set
of
features
pretty
much
by
setting
this
I
see.
A
A
A
Well,
should
it
be
something
where
you
could
set
them
at
runtime.
D
I
was
one
of
my
iterations
I
had
such
a
boom.
It
was
done,
but
I
decided
to
against
it,
because
some
features
really
be
safe
to
be
defined
during
module
orchestration
up
front,
because
so
then
I'll
be
creating
it's
actually.
We
defined
it
before
we
create
an
environment,
because
maybe
a
creation
of
environment
itself
may
may
kind
of
be
affected
by
a
lot
like
I
mentioned
we're
putting
something
in
some
penalizer
queue
or
something
like
this
right
yeah.
You
know
all
these
different
Flags
before
we
even
start
doing
it.
A
D
A
D
Thank
you
and
if
you
look
at
node
api.h,
it's
a
it's
kind
of
where
it's
the
whole
Machinery,
how
we
personally
know
the
api.h,
if
you
should
sorry
not
API
right.
A
D
So
it's
it's
very
simple,
so
yeah
and.
A
D
So,
let's
see
if
here
like,
if,
if
you
define
this
macro,
we
do
Define,
this
external
API
feature
right,
variable,
yep
and
then
we
pretty
much
using
so
pretty
much
was
the
whole,
especially
how
we
pass
it
during
registration
is
defined
here,
but
I
understand.
We
have
correctly
enough
wrong,
but
if
I'm
wrong,
but
can
we
have?
We
have
multiple
ways
to
register
modules
right
and.
A
D
And
I
still
have
a
question:
I
I
came
to
realizations
about
working
as
teachers.
We
have
very
weird
way
how
we
register
modules.
Inside
of
a
note,
so
we
actually
rely
on
some
logic
which
CRT
does
during
a
dll
loading.
So
technically
the
way
we
do
it
today
we
we've
got
a
experience
during
deal
or
load
time
we're
executing
some
code.
This
code
call
something
back
from
node.js
and
that's
a
lot
of
interesting
things
where
it's
like
I
think
in
the
past.
D
It
was
totally
a
different
way
to
do
it
it
exactly
then
dll
is
loaded.
It
will
be
up
to
node.js
to
cause
a
specific
function
to
do
all
this
initialization.
So
more
like
a
lazy
way.
If
you
like
I,
was
wondering
like
why
we
chose
to
go
to
this
more
invasive.
I
would
say
way
to
initialize.
A
D
Because
I
think
like
having
this
most
static
approach
would
be
a
little
bit
more
beneficial,
especially
if
you
do
something
like
say,
you
want
to
implement
your
module
inside
of
c-sharp.net,
so
I
was
playing
a
little
bit
with
in
apis
TS
and
they
do
use
their
old
method
to
do
it.
So,
instead
of
a
like
imagine,
if
your
module
is
not
written
in
COC
plus
plus,
they
may
actually
meet
with
the
logic
to
do
some
of
this
magical
ski
specific
handshake.
D
Instead,
they
would
effectively
prepare
some
some,
maybe
data
data,
whatever
like
module
definition
and
pass
it
to
function.
A
D
If
we
can
find
a
way
to
go
like
a
different
approach
would
be
resistant
to
do
it
I'm
just
curious.
D
Yeah
definitely
a
kind
of
results
affecting
the
existing
look
with
backward
compatibility
and
stuff,
but
I
think
it
will
potentially
improve
implementation
for
different
language
non-c
languages
but,
for
example,
with
features
I,
don't
see
them
how
if
they
can
be
done
inside
of
a
kind
of
an
apics,
they
seem
to
be
the
whole
kind
of
stuff
right
now
is
more
like
C,
specific.
D
No,
no,
it's
it's
I
still
want
to
do
during
registration,
but
imagine
if
you
have
registration
method
and
this
registration
method
needs
to
be
implemented
in
your
language,
say
you
implemented
the
C
sharp
right,
no,
the
obvious
loads
with
dll
and
then
close
to
this
method,
and
this
method
returns
back
some
kind
of
initialized
struct
with
all
these
different
parameters
and,
for
example,
if
we're
talking
about
all
these
different
feature,
bits
They
will
receive
it
so
effectively.
It
will
be
more
like
a
pool
Behavior
like
a
node.jsa.
A
Yeah
I
I
think
if
you
can
as
long
as
we're
not
breaking
anything,
if
we,
if
we're
going
to
improve
a
situation
where
like,
if
there's
a
gap
and
we
can
improve
that,
then
I
think
I,
don't
see
why
anybody
would
be
opposed
to
that.
But
I
think
it's
your
question
right,
but
we
probably
need
a
little
more
context
of
what's
there
and
all
that.
A
Sounds
good
any
others
we
should
chat
about
before
we
close
out
for
today.