type StringBool = "true"|"false";
interface AnyNumber { prev?: any, isZero: StringBool };
interface PositiveNumber { prev: any, isZero: "false" };
type IsZero<TNumber extends AnyNumber> = TNumber["isZero"];
type Next<TNumber extends AnyNumber> = { prev: TNumber, isZero: "false" };
type Prev = TNumber["prev"];
View peano.ts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
type Nat = ["S", Nat] | ["Z"]; | |
type Succ<N extends Nat> = ["S", N] | |
type S<N extends Nat> = Succ<N> | |
type Prev<N extends Nat> = N[1] | |
type Z = ["Z"] | |
type Zero = Z | |
type One = S<Z> | |
type Two = S<S<Z>> |
View log.ts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
type FieldType<Field> = | |
's' extends Field ? string : | |
'f' extends Field ? number : | |
'i' extends Field ? number : | |
'd' extends Field ? number : | |
'o' extends Field ? HTMLElement : | |
'O' extends Field ? object : | |
'c' extends Field ? string : | |
never; |
View main.md
View reactive2016_lightning_talk.md
This is a proposal for a
Introduction to BDSM
Every day we work with multiple teams to build our products, communication and sync are key factors to deliver your product on time without compromising quality.
In this talk I will introduce BDSM a new mocking tool that will change the way you coordinate between client and server teams minimizing friction allowing each team to work at its own pace while keeping in sync.
View how-to-publish-to-npm.md
Getting Started with NPM (as a developer)
If you haven't already set your NPM author info, now you should:
npm config set init.author.name "Your Name"
npm config set init.author.email "you@example.com"
npm config set init.author.url "https:/yourblog.com"
npm config set init.version "1.0.0"