►
From YouTube: Lisbon Hack Week // Flow Types for IPFS - Volker Mische
Description
Originally recorded during the Lisbon Hack Week from May 21-25, 2018.
A
I
will
quickly
talk
about
the
flow
typing
stuff.
It's
based
on
the
work
that
who
is
doing
because
there's
the
pipeline
improved.
We
can
do
fancier
things
and
I
will
be
quick
and
I
hope
there
will
be
discussion
and
I
hope
there
will
be
some
boos
or
lose
or
we'll
see.
So
for
those
who
don't
know
flow
so
flow
at
static
types
to
JavaScript,
and
then
you
can
do
type
checking
obviously,
and
so
many
people
use
it
for
smarter
auto-completion,
because
then
you
already
know
the
type
and
you
get
errors.
A
If
something
is
wrong
and
the
motivation
to
introduce
flow
types
was
one
thing:
is
we
have
the
chance
to
revisit
our
API?
Is
we,
of
course,
can
also
do
it
without
adding
flow?
But
this
is
like
a
nice
side
effect.
Just
then
the
IP
API
is
make
it
better,
because
if
you
find
out
that
the
types
you
can
pass
in
a
super
complex
and
it's
hard
to
model
in
your
type
system,
your
IP
aim.
Api
might
not
be
that
good.
So
we
can
fix
those
and
we
can
find
bugs.
There's.
A
Also
my
experience
with
steady
typing
and
the
code
might
get
simpler
because,
like
often
in
JavaScript,
you
need
to
check
like
so
the
basics
amplify
P
faces
you
put
in
a
CID
and
almost
every
function.
It
takes
a
CID
checks.
Is
it
a
string?
Is
it
a
buffer
or
is
it
as
CID
class?
But
if
you
then
change
the
API
to
just
be
able
to
take
the
CID
type,
you
don't
need
those
checks
anymore,
because
the
type
checker
will
check
it
for
you.
A
If
it's
wrong,
it
will
fail
so
make
the
code
simpler,
and
one
person
told
me
that
you
looked
into
the
code
and
was
totally
confusing
because
it
can
take
so
many
different
things.
If
it
would
have
types,
it
would
be
easy
to
understand
and
the
goals
is
that
we
change
things
as
little
as
possible,
so
it
just
run
a
test
and
so
on,
as
you
used
to
it,
and
the
module
still
need
to
be
used
outside
of
the
flow
ecosystem.
So
it
can
be
integrated
into
your
flow
stuff.
A
But,
of
course,
if
you
don't
use
flow,
it's
just
work
and
one
important
thing
is,
as
we
have
so
many
small
modules
and
dependencies.
The
linking
still
needs
to
work
because
you
do
update
one
dependency
and
you
want
to
link
to
another
one
you're
working
on
it
still
needs
to
work,
and
the
challenges
are
flow
of
is
our
es6
modules
and,
as
you're
known
like
no
I,
think
we'll
get
is
getting,
has
six
modules,
but
not
the
older
versions.
So
you
need
a
build
step.
There
is
no
way
around
it.
A
A
It's
a
problem
because
flow
also
wants
to
run
it,
but
it
needs
to
be
a
six
modules
which
I
have
no
clue
how
they
came
to
this
idea
because,
like
that's
specific
code,
so
the
solution
normally
is
you
have
a
copy
of
the
same
file
with
the
dot
flow
extension
and
then
it
works.
But
that's
I
think
it's
super
ugly,
but
yeah.
A
So
the
outcome
of
it
is
what
we've
spent
the
past
two
days
on
is
the
way
we
do
it
now
is
you
can
change
the
code
and
run
the
test
without
a
build
step,
it's
just
in
the
source
directory.
So
this
is
the
part
where
the
whoohoo
comes:
yeah,
yeah,
so
yeah,
that's
pretty
cool,
and
but
what
we
still
have
I
said
you
need
a
build
step.
A
Because
if
you
require
something,
if
you
required
from
the
dist
directory
and
that's
a
smaller
thing,
but
well
that's
that's
so
basically,
so
you
link
the
mod,
you
run
the
watcher
and
then,
if
you
edit,
the
source
files,
it
will
show
up
I'm,
actually
not
that
quick
as
I
want
it
to
be
so
I
need
be
faster,
so
they
need
to
be.
A
to-do
list.
Is
better
integration
with
age
here
and
the
documentation.
So
people
can
just
say,
read
this
and
say:
ok
I
want
to
put
my
module
to
flow.
A
B
A
Yes,
but
of
course
we
could
improve
the
truth
and
say
like
we
have
basically
a
global
washer
that
watches
all
the
modules
that
are
linked
kind
of
but
like
it
is
totally
because,
like
you,
you,
basically,
we
would
need
10
tower
windows.
You
need
its
the
especi
to
type
in
you,
go
into
the
module
and
type
in
NPM
link
and
they
arrive
right
afterwards.
We're
add
you
use
type
in
age.
Your
watch
you
put
the
next
time,
I'll
go
into
it
to
an
NPM
link.
That's
how
you.
A
Well,
I,
guess
if
you
have
changed
it
take
so
many
things
you
need
to
think
about.
If
you
do
something
wrong,
I
guess
its
own
question,
but
even
if
you
know
like
it's
like,
but
but
I
guess,
the
problem
is
that
yeah
yeah,
no
but
but
I
said
you
could
implement
a
global
watch
which
just
basically
watches
all
like
it
takes.
If
it's
assuming
oh,
there
must
be
a
better
way
like
them.
A
A
A
C
C
A
The
thing
work
on
your
dependency
are
both
flow.
Then
you
don't
need
to
watch
those
pcs.
It's
especially
to
the
watching
is
for
the
whole
require
thing.
This
is
just
sort
works
with
so
okay,
so
one
point
was
also
basically
have
a
smooth
transition
between
flow
and
the
old
stuff.
So
you
don't
need
to
change
all
modules
to
flow
at
one
point,
but
if
everything
is
flow,
that's
not
an
issue
anymore.
What.