ts-extended-types
v1.1.0
Published
Set of complementary basic types related to the ones provided by TypeScript to make your application even more type-safe
Downloads
24,333
Maintainers
Readme
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 byLocalDate
andLocalTime
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
ordouble
don't exists, all of these values are represented using anumber
. - In JavaScript
stringInt
orstringDouble
don't exists, all of these values are represented using anumber
or astring
. - In JavaScript
LocalDate
,LocalTime
orLocalDateTime
don't exists, all of these values are represented using theDate
object. - In JavaScript
uuid
don't exists, this value is represented using astring
.
Provided functions
Provided int functions
isInt(value: any) => value is int
: Returnstrue
if the value is aint
number, otherwise returnsfalse
.asInt(value: number) => int
: Cast the number provided by argument asint
, 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 toint
.truncateToInt(value: number) => int
: Truncate the provided number to an integer and then cast it toint
.floorToInt(value: number) => int
: Floor the provided number to an integer and then cast it toint
.ceilToInt(value: number) => int
: Ceil the provided number to an integer and then cast it toint
.
Provided stringInt functions
isStringInt(value: any) => value is stringInt
: Returnstrue
if the value is astringInt
number, otherwise returnsfalse
.asStringInt(value: number|string) => stringInt
: Cast the number provided by argument asstringInt
, 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 tostringInt
.truncateToStringInt(value: number) => stringInt
: Truncate the provided number to an integer and then cast it tostringInt
.floorToStringInt(value: number) => stringInt
: Floor the provided number to an integer and then cast it tostringInt
.ceilToStringInt(value: number) => stringInt
: Ceil the provided number to an integer and then cast it tostringInt
.
Provided double functions
isDouble(value: any) => value is double
: Returnstrue
if the value is adouble
precision number, otherwise returnsfalse
.asDouble(value: number) => double
: Cast the number provided by argument asdouble
.
Provided stringDouble functions
isStringDouble(value: any) => value is stringDouble
: Returnstrue
if the value is astringDouble
precision number, otherwise returnsfalse
.asStringDouble(value: number|string) => double
: Cast the number provided by argument asstringDouble
, throws an error if the provided number is not a double.
Provided LocalDate functions
createLocalDate() => LocalDate
: create a newLocalDate
with the current date.createLocalDate(date: Date) => LocalDate
: create a newLocalDate
with the same date provided by argument.createLocalDate(year: number, month: number, date: number) => LocalDate
: create a newLocalDate
with the year, month and date (day of the month) provided by arguments.isLocalDate(value: any) => value is LocalDate
: Returnstrue
if the value is aLocalDate
, otherwise returnsfalse
Provided LocalTime functions
createLocalTime() => LocalTime
: create a newLocalTime
with the current time.createLocalTime(date: Date) => LocalTime
: create a newLocalTime
with the same time provided by argument.createLocalTime(hours: number, minutes?: number, seconds?: number, milliseconds?: number) => LocalTime
: create a newLocalTime
with the hours, minutes, seconds and milliseconds provided by arguments.isLocalTime(value: any) => value is LocalTime
: Returnstrue
if the value is aLocalTime
, otherwise returnsfalse
Provided LocalDateTime functions
createLocalDateTime() => LocalDateTime
: create a newLocalDate
with the current date and time.createLocalDateTime(date: Date) => LocalDateTime
: create a newLocalDateTime
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 newLocalDateTime
with the year, month, date (day of the month), hours, minutes, seconds and milliseconds provided by arguments.isLocalDate(value: any) => value is LocalDate
: Returnstrue
if the value is aLocalDate
, otherwise returnsfalse
Provided uuid functions
isUuid(value: any) => value is uuid
: Returnstrue
if the value is anuuid
string, otherwise returnsfalse
.asUuid(value: string) => uuid
: Cast the string provided by argument asuuid
, throws an error if the provided string is not an uuid.
License
MIT