text-transform is one of the most basic style-rule out there. It was first introduced in CSS 1 back in 96' and it lets you determine a transform rule for a text from the following options: none|capitalize|uppercase|lowercase|initial|inherit;

For many years it was very helpful to us, the developers, to enforce rules such as capitalize or lowercase to text, Making it super easy to write grammar-correct English and saves as the hassle to write different translations for the same word or sentence.

Then if it such a useful rule why do I think it’s dumb?
Well, the internet and our codebase were very…


Welcome to the fourth and final chapter of this article series. In the previous articles, we learned about utility types and saw examples with explanations. In this chapter, we will cover the last utility types and add some wrapping words.

InstanceType<T>

Constructs a type consisting of the instance type of a constructor function in T.


We’re halfway through this article series, In the first and second parts we covered some useful Utility types and this will be no different. Without further ado, Let's begin.

NonNullable<T>

Constructs a type by excluding null and undefined from T.


In the last article, we explained what are Utility types and gave examples for Partial<T>, Required<T>, Readonly<T> and Record<J,T>. We’re going to cover 4 more useful Utilities. Are you excited like me? Great! Let's begin.

Just as in our previous article, All examples will be based on the same Student Interface.


In the next few articles, we’ll go over all TypeScript utility types one by one, talk about what are they, why do we need them, and see some code examples for usage.

Before we dive into it, let's talk in short about what are utility types.
Just like any other type we’re familiar with (string, number, boolean, etc…), TypeScript provides us with a set of Utility Types that can facilitate common type transformations. So instead of rewriting them and have different implementations TypeScript gives us a set of standards that we can and should follow.

For it to be easier to follow, All of the examples will be based on the same Student interface and object:


Generic type is a feature that let us to parametrized types. By doing so we’re protecting ourselves from making type related issues. In this article, I’m assuming that you have a basic knowledge about what are Generic types and what are they for. If you’re less familiar or would like to refresh your memory I recommend first read my last article about Generic types that explains the basic concepts of it.

Let’s say that we’re building an application for a computer store, and for that matter, we’re using a class called ‘Product’ and 2 classes that inherit from it —…


https://bit.ly/2CEl1x4

Typescript makes our life much easier. It brings OOP concepts into javascript and helps us to write better code. Among other features that Typescript offers us, there’s a less familiar one — Generic types.

What exactly are Generics types? When and why should I use it?

The problem:

The most common feature in Typescript is, well, to defined types. let us take this simple code for example:


We all have it somewhere in our project, It may be in the navigation bar, may be is some kind of data list filter, but how well are you familiar with your text input?

Lately I found my self thinking what is the best way to use text input field to search from API or filter data. In the following post I’ll present my approach for handling this kind of scenario.

First of all I want to tackle this issue from the events witch trigger the operation handling.

Most of modern application don’t use an action button to perform the…


Well, that’s not quite right..

Exactly mobx (Previously known as ‘ mobservable’) is around since 2015 and currently in it’s 5.x version. In the last few moth this library became very popular with more the 13000 start in github.com and rapidly growing community of developers.

So mobx it’s a nice new buzz word , But what is it?

Like the familiar Redux and Flux, its a state management solution for client side applications. I’ts very light wight and has a lot of useful features. …

Gili Yaniv

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store