ts-extended-types
Set of complementary basic types related to the ones provided by TypeScript to make your application even more type-safe
Install
Install with npm:
$ npm install --save ts-extended-types
Basic usage
import {int, stringInt, double, stringDouble, LocalDate, LocalTime, LocalDateTime, uuid } from 'ts-extended-types';
var intNumber: int;
var veryBigInt: stringInt
var doubleNumber: double;
var veryBigDoubleNumber: stringDouble
var localDate: LocalDate;
var localTime: LocalTime;
var localDateTime: LocalDateTime;
var uuidString: uuid;
Type definitions
int
: type that represents a integer number. It can be assigned to a number, but it cannot be assigned from a number.stringInt
: type that represents a integer number. It can be assigned to a number, but it cannot be assigned from a number: it can be so long that can be represented using a string instead of a number.double
: type that represents a floating point number with double precision. It can be assigned to a number, but it cannot be assigned from a number.stringDouble
: type that represents a floating point number with double precision; it can be so long that can be represented using a string instead of a number.LocalDate
: type that represents a local date without time (without timezone). Provided methods:
getFullYear(): int
: Gets the yeargetMonth(): int
: Gets the month (value between 0 to 11)getDate(): int
: Gets the day-of-the-monthgetDay(): int
: Gets the day of the week (0 represents Sunday)
LocalTime
: type that represents a local time without date (without timezone). Provided methods:
getHours(): int
: Gets the hoursgetMinutes(): int
: Gets the minutesgetSeconds(): int
: Gets the secondsgetMilliseconds(): int
: Gets the milliseconds
LocalDateTime
: type that represents a local date with time (without timezone). Provided methods: all methods provided by LocalDate
and LocalTime
plus:
getTime(): int
: Gets the time value in milliseconds
uuid
: type that represents an uuid string. It can be assigned to a string, but it cannot be assigned from a string.
Note:
- In JavaScript
int
or double
don't exists, all of these values are represented using a number
. - In JavaScript
stringInt
or stringDouble
don't exists, all of these values are represented using a number
or a string
. - In JavaScript
LocalDate
, LocalTime
or LocalDateTime
don't exists, all of these values are represented using the Date
object. - In JavaScript
uuid
don't exists, this value is represented using a string
.
Provided functions
Provided int functions
isInt(value: any) => value is int
: Returns true
if the value is a int
number, otherwise returns false
.asInt(value: number) => int
: Cast the number provided by argument as int
, throws an error if the provided number is not an integer.roundToInt(value: number) => int
: Round the provided number to an integer and then cast it to int
.truncateToInt(value: number) => int
: Truncate the provided number to an integer and then cast it to int
.floorToInt(value: number) => int
: Floor the provided number to an integer and then cast it to int
.ceilToInt(value: number) => int
: Ceil the provided number to an integer and then cast it to int
.
Provided stringInt functions
isStringInt(value: any) => value is stringInt
: Returns true
if the value is a stringInt
number, otherwise returns false
.asStringInt(value: number|string) => stringInt
: Cast the number provided by argument as stringInt
, throws an error if the provided number is not an integer.roundToStringInt(value: number) => stringInt
: Round the provided number to an integer and then cast it to stringInt
.truncateToStringInt(value: number) => stringInt
: Truncate the provided number to an integer and then cast it to stringInt
.floorToStringInt(value: number) => stringInt
: Floor the provided number to an integer and then cast it to stringInt
.ceilToStringInt(value: number) => stringInt
: Ceil the provided number to an integer and then cast it to stringInt
.
Provided double functions
isDouble(value: any) => value is double
: Returns true
if the value is a double
precision number, otherwise returns false
.asDouble(value: number) => double
: Cast the number provided by argument as double
.
Provided stringDouble functions
isStringDouble(value: any) => value is stringDouble
: Returns true
if the value is a stringDouble
precision number, otherwise returns false
.asStringDouble(value: number|string) => double
: Cast the number provided by argument as stringDouble
, throws an error if the provided number is not a double.
Provided LocalDate functions
createLocalDate() => LocalDate
: create a new LocalDate
with the current date.createLocalDate(date: Date) => LocalDate
: create a new LocalDate
with the same date provided by argument.createLocalDate(year: number, month: number, date: number) => LocalDate
: create a new LocalDate
with the year, month and date (day of the month) provided by arguments.isLocalDate(value: any) => value is LocalDate
: Returns true
if the value is a LocalDate
, otherwise returns false
Provided LocalTime functions
createLocalTime() => LocalTime
: create a new LocalTime
with the current time.createLocalTime(date: Date) => LocalTime
: create a new LocalTime
with the same time provided by argument.createLocalTime(hours: number, minutes?: number, seconds?: number, milliseconds?: number) => LocalTime
: create a new LocalTime
with the hours, minutes, seconds and milliseconds provided by arguments.isLocalTime(value: any) => value is LocalTime
: Returns true
if the value is a LocalTime
, otherwise returns false
Provided LocalDateTime functions
createLocalDateTime() => LocalDateTime
: create a new LocalDate
with the current date and time.createLocalDateTime(date: Date) => LocalDateTime
: create a new LocalDateTime
with the same date and time provided by argument.createLocalDateTime(year: number, month: number, date: number, hours?: number, minutes?: number, seconds?: number, milliseconds?: number) => LocalDateTime
: create a new LocalDateTime
with the year, month, date (day of the month), hours, minutes, seconds and milliseconds provided by arguments.isLocalDate(value: any) => value is LocalDate
: Returns true
if the value is a LocalDate
, otherwise returns false
Provided uuid functions
isUuid(value: any) => value is uuid
: Returns true
if the value is an uuid
string, otherwise returns false
.asUuid(value: string) => uuid
: Cast the string provided by argument as uuid
, throws an error if the provided string is not an uuid.
License
MIT