open-index/open-npm huggingface dataset:
npm package: @russo-programmisto/easy-storage
Description: Convenient wrapper that solves known localStorage issues
Author: Igor Matyushkin
Latest version: 2.1.8

<p align="center">
    <a href="https://nodejs.org">
        <img src="https://img.shields.io/badge/Created for-Node.js-teal.svg?style=flat">
    </a>
    <a href="https://www.typescriptlang.org">
        <img src="https://img.shields.io/badge/Written in-TypeScript-purple.svg?style=flat">
    </a>
    <a href="https://tldrlegal.com/license/mit-license">
        <img src="https://img.shields.io/badge/License-MIT-blue.svg?style=flat">
    </a>
</p>

## At a Glance

**easyStorage** is a library that solves known issues of JavaScript's `localStorage` and `sessionStorage`.

When you use `localStorage`, you can read and write only string values. With this library, you can use any type of data including numbers, boolean values, JSON objects, etc. Sounds amazing, right? :)

## How to Get Started

Type in Terminal:

```
npm install --save @russo-programmisto/easy-storage
```

or, if you prefer **yarn** over **npm**, type:

```
yarn add @russo-programmisto/easy-storage
```

Then add import instruction to your code:

```typescript
import { S } from '@russo-programmisto/easy-storage'
```

## Requirements

Basic knowledge of TypeScript and NPM.

## Usage

**easyStorage** uses both `localStorage` and `sessionStorage` under the hood. The main idea is to keep everything simple yet functional.

### How to Read

From local storage:

```typescript
const firstName = S.local.get("first-name")
```

From session storage:

```typescript
const firstName = S.session.get("first-name")
```

### How to Write

To local storage:

```typescript
S.local.set("first-name", "John")
```

To session storage:

```typescript
S.session.set("first-name", "John")
```

Unlike the traditional `localStorage` and `sessionStorage` that accept only string values, you can set value of any type here:

```typescript
// JSON
S.local.set("profile", {
    firstName: "John",
    lastName: "Appleseed",
    social: {
        reddit: "http://reddit.com/..."
    }
})

// number
S.local.set("click-count", 20)

// boolean
S.local.set("is-verified", true)
```

### Timing

You can get the timestamp of the last change:

```typescript
const timestamp = S.local.updatedOn("profile")
```

Then you can easily convert this timestamp to `Date` object:

```typescript
const date = new Date(timestamp)
```

## License

**easyStorage** is available under the MIT license. See the [LICENSE](./LICENSE) file for more info.
npm package: @russo-programmisto/easy-types
Description: Better way of working with types in TypeScript
Author: Igor Matyushkin
Latest version: 1.0.0

<p align="center">
    <a href="https://nodejs.org">
        <img src="https://img.shields.io/badge/Created for-Node.js-teal.svg?style=flat">
    </a>
    <a href="https://www.typescriptlang.org">
        <img src="https://img.shields.io/badge/Written in-TypeScript-purple.svg?style=flat">
    </a>
    <a href="https://tldrlegal.com/license/mit-license">
        <img src="https://img.shields.io/badge/License-MIT-blue.svg?style=flat">
    </a>
</p>

## At a Glance

**easy-types** is a better way of working with types in TypeScript. Much better than the normal approach suggested by JavaScript. If you are tired of using `typeof`, `Array.isArray`, `=== null` and other annoying things, then this library is a solution.

## How to Get Started

Type in Terminal:

```
npm install --save @russo-programmisto/easy-types
```

or, if you prefer **yarn** over **npm**, type:

```
yarn add @russo-programmisto/easy-types
```

Then add import instruction to your code:

```typescript
import { getType, Type } from '@russo-programmisto/easy-types'
```

## Requirements

Basic knowledge of TypeScript and NPM.

## Usage

```typescript
const obj = {};
const type = getType(obj);
type === Type.object // true
type === Type.null // false

// get type easily
getType("") === Type.string // true
getType(undefined) === Type.undefined // true

// or even easier
isType("", Type.string) // true

// check whether it's array or object
isType(obj, Type.array, Type.object)

// check missing values
isNullOrUndefined(obj)

// check empty values
isEmptyString("") // true
isEmptyArray([]) // true
isEmptyObject({}) // true

// or you can simply use `isEmpty` method that works for strings, arrays, and non-array objects:
isEmpty("") // true
isEmpty([]) // true
isEmpty({}) // true

// combine checks
isEmpty(obj.field) || isNullOrUndefined(obj.field)
```

## License

**types** is available under the MIT license. See the [LICENSE](./LICENSE) file for more info.
npm package: @russo-programmisto/invert
Description: <p align="center">     <a href="https://nodejs.org">         <img src="https://img.shields.io/badge/Created for-Node.js-teal.svg?style=flat">     </a>     <a href="https://www.typescriptlang.org">         <img src="https://img.shields.io/badge/Written in-
Author: Igor Matyushkin
Latest version: 1.3.0

<p align="center">
    <a href="https://nodejs.org">
        <img src="https://img.shields.io/badge/Created for-Node.js-teal.svg?style=flat">
    </a>
    <a href="https://www.typescriptlang.org">
        <img src="https://img.shields.io/badge/Written in-TypeScript-purple.svg?style=flat">
    </a>
    <a href="https://tldrlegal.com/license/mit-license">
        <img src="https://img.shields.io/badge/License-MIT-blue.svg?style=flat">
    </a>
</p>

## At a Glance

`invert.js` makes it super easy to switch your website from light color scheme to dark and back.

## How to Get Started

Type in Terminal:

`npm install --save @russo-programmisto/invert`

or, if you prefer `yarn` over `npm`, type:

`yarn add @russo-programmisto/invert`

## Requirements

TypeScript.

## Usage

Import library:

```typescript
import { invert } from "@russo-programmisto/invert"
```

Then simply call:

```typescript
invert({
    defaultColorScheme: "light",
    watchForSchemeChange: true
})
```

## License

`invert.js` is available under the MIT license. See the [LICENSE](./LICENSE) file for more info.