Giter Club home page Giter Club logo

mapping-data's Introduction

MAPPING-DATA

GitHub top language Made by Repository size GitHub last commit

๐Ÿ“– 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.

mapping-data's People

Watchers

damartripamungkas avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.