Skip to content

juanluispaz/ts-extended-types

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ts-extended-types

npm minified size minified & gziped size

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 year
    • getMonth(): int: Gets the month (value between 0 to 11)
    • getDate(): int: Gets the day-of-the-month
    • getDay(): 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 hours
    • getMinutes(): int: Gets the minutes
    • getSeconds(): int: Gets the seconds
    • getMilliseconds(): 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

About

Set of complementary basic types related to the ones provided by TypeScript to make your application even more type-safe

Resources

License

Stars

Watchers

Forks

Packages

No packages published