0.1.1 • Published 2 years ago

@trkm/types v0.1.1

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

@trkm/types

Defines types shared between @trkm organization packages.

Features

  • ObjectKeyStrValueStr - an object interface with a string for keys and string values.
  • 100% typescript.

Usage

ObjectKeyStrValueStr

ObjectKeyStrValueStr defines an object interface with a string for keys and string values. Enables dynamically building an object instance: adding properties ad hoc. Intended to be used for key/value pairs where the key is a string and the value is a string.

const dynamicObject: ObjectKeyStrValueStr = {};
dynamicObject['id'] = '3';

Explanation

In typescript, for cases where an object's shape is unknown, we must define the type of key supported by the object.

The following typescript:

const dynamicObject = {};
dynamicObject['id'] = 3;

Returns the error:

Element implicitly has an 'any' type because expression of type 'string' can't be used to index type '{}'. No index signature with a parameter of type 'string' was found on type '{}'.ts(7053)

Defining a key type on the object enables us to interface with the object's properties using a key of that type.

DataToObjectSignature

DataToObjectSignature defines a function signature. The intent of the function is to take a string embedded with multiple key/value pairs of strings and convert it to an object. Examples would be url search parameters or web page document cookies.

Example key/value pairs:

  • cookie: name01=value01;name02=value02...;
  • url params: ?keyName01=keyValue01&keyName02=keyValue02...;

Intent

  • No Emitted Javascript - The intent is to import this typescript library into a typescript project: compiling to Javascript occurring within the project.

Development

See the monorepo readme.

License

Licensed under MIT.