1.0.1 โข Published 25 days ago
mapping-data v1.0.1
๐ Description :
This package is made for those of you who want the key and value to have the same type of type, because using new Map()
and defining the type to the map then only the key works while the value does not, I give an example below:
Using Map
type TypeStateAs = {
name: string
age: number
human: boolean
}
const state = new Map<keyof TypeStateAs, TypeStateAs[keyof TypeStateAs]>()
state.set(`name`, true) // is not an error, even though the value type is not boolean. expect this to be an error
Using Package
import { MappingMap } from "mapping-data"
type TypeStateAs = {
name: string
age: number
human: boolean
}
const state = new MappingMap<keyof TypeStateAs, TypeStateAs[keyof TypeStateAs], TypeStateAs>()
state.set(`name`, true) // this is will throw error in editor code, because value type `name` is string
๐ฎ Cheatsheet
If you only need types for the .set()
and .get()
functions without having to use classes from the package you can import and define them as below :
import type { MappingMap } from "mapping-data"
type TypeStateAs = {
name: string
age: number
human: boolean
}
const state: MappingMap<keyof TypeStateAs, TypeStateAs[keyof TypeStateAs], TypeStateAs> = new Map() as any
state.set(`name`, true) // this is will throw error in editor code, because value type `name` is string
๐ป Step to install :
npm install mapping-data
โ๏ธ Example :
see full here
import { MappingMap, MappingObj } from "mapping-data"
type TypeStateAs = {
name: string
age: number
human: boolean
}
const state = new MappingMap<keyof TypeStateAs, TypeStateAs[keyof TypeStateAs], TypeStateAs>()
state.set(`name`, `damar`)
state.get(`name`) // damar
state.jsonObject() // {name:"damar"}
state.jsonString() // "{"name":"damar"}"
๐งพ Pre-Requisistes :
node.js
๐ License :
Licensed under the MIT License.