An open API service indexing awesome lists of open source software.

https://github.com/damartripamungkas/mapping-data

๐Ÿ“‹ Mapping data with map or object in the same interface and support types Key and value in typescript
https://github.com/damartripamungkas/mapping-data

data-mapping fast-store-data js map mapping mapping-data nodejs object state store store-data typescript

Last synced: 2 months ago
JSON representation

๐Ÿ“‹ Mapping data with map or object in the same interface and support types Key and value in typescript

Awesome Lists containing this project

README

        


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

```typescript
type TypeStateAs = {
name: string
age: number
human: boolean
}
const state = new Map()
state.set(`name`, true) // is not an error, even though the value type is not boolean. expect this to be an error
```

#### Using Package

```typescript
import { MappingMap } from "mapping-data"

type TypeStateAs = {
name: string
age: number
human: boolean
}
const state = new MappingMap()
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 :

```typescript
import type { MappingMap } from "mapping-data"

type TypeStateAs = {
name: string
age: number
human: boolean
}
const state: MappingMap = 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](./test/test.js)

```typescript
import { MappingMap, MappingObj } from "mapping-data"

type TypeStateAs = {
name: string
age: number
human: boolean
}
const state = new MappingMap()
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](./LICENSE).