open-index/open-npm huggingface dataset:
npm package: @kwiwk/base-utils
Description: Iterator/Iterable utilities.
Author: Russley Shaw
Latest version: 1.6.0

# [it-utils](https://github.com/kwiwk/it-utils)

Iterator/Iterable utilities.

[![Build Status](https://travis-ci.com/kwiwk/it-utils.svg?branch=master)](https://travis-ci.com/kwiwk/it-utils)
[![Coveralls github](https://img.shields.io/coveralls/github/kwiwk/it-utils.svg?style=flat-square)](https://coveralls.io/github/kwiwk/it-utils)
[![npm](https://img.shields.io/npm/v/@kwiwk/it-utils.svg?style=flat-square)](https://www.npmjs.com/package/@kwiwk/it-utils)
[![npm](https://img.shields.io/npm/dt/@kwiwk/it-utils.svg?style=flat-square)](https://www.npmjs.com/package/@kwiwk/it-utils)

![Kwiwk Logo](https://github.com/kwiwk/kwiwk.github.io/raw/master/logo64.png)

## Table Of Contents

*   [Description](#description)
*   [Getting Started](#getting-started)
*   [Documentation](#documentation)
*   [License](#license)
*   [Changelog](#changelog)

## Description

Utilities for Iterators and Iterables. 

## Getting Started

*   Install Node v8 LTS [here](https://nodejs.org/en/download/).

## Documentation

View the API docs [here](https://kwiwk.github.io/it-utils).

View the coverage report [here](https://kwiwk.github.io/it-utils/coverage).

## License

View the license [here](https://github.com/kwiwk/it-utils/blob/master/LICENSE.md).

## Changelog

View the changelog [here](https://github.com/kwiwk/it-utils/blob/master/CHANGELOG.md).
npm package: @kwiwk/bench
Description: Benchmarking utilities.
Author: Russley Shaw
Latest version: 1.0.0

# [bench](https://github.com/kwiwk/bench)

A simple benchmarking utility.

[![Build Status](https://travis-ci.com/kwiwk/bench.svg?branch=master)](https://travis-ci.com/kwiwk/bench)
[![Coveralls github](https://img.shields.io/coveralls/github/kwiwk/bench.svg?style=flat-square)](https://coveralls.io/github/kwiwk/bench)
[![npm](https://img.shields.io/npm/v/@kwiwk/bench.svg?style=flat-square)](https://www.npmjs.com/package/@kwiwk/bench)
[![npm](https://img.shields.io/npm/dt/@kwiwk/bench.svg?style=flat-square)](https://www.npmjs.com/package/@kwiwk/bench)

![Kwiwk Logo](https://github.com/kwiwk/kwiwk.github.io/raw/master/logo64.png)

## Table Of Contents

*   [Description](#description)
*   [Getting Started](#getting-started)
*   [Documentation](#documentation)
*   [License](#license)
*   [Changelog](#changelog)

## Description

View examples [here](https://github.com/kwiwk/bench/tree/master/dev/example)

## Getting Started

*   Install Node v8 LTS [here](https://nodejs.org/en/download/).

## Documentation

Example: Testing promisified setTimeout.

```typescript
// Import Benchmarking utility
import { Bench } from "@kwiwk/bench";

// Some iterable helper utilities
import { itMap, itRange, itStutter } from "./it_utils";

// Create a new Bench utility.
const bench = new Bench({
    inputs: itMap(itRange(0, 100), i => ({ label: `${i}`, value: i }))
});

// Time our test function
bench.addTestAsync("delayMs", async input => delayMs(input));

// Output difference between result and expected result.
bench.addRaw("diff", (input, results) => {
    return (results["delayMs"] - input).toString();
});

// Run the benchmarking.
bench.run("./delay.csv");

// Function under test
async function delayMs(ms: number): Promise<void> {
    return new Promise<void>((resolve, reject) => setTimeout(resolve, ms));
}
```

View the API docs [here](https://kwiwk.github.io/benchmark).

View the coverage report [here](https://kwiwk.github.io/benchmark/coverage).

## License

View the license [here](https://github.com/kwiwk/bench/blob/master/LICENSE.md).

## Changelog

View the changelog [here](https://github.com/kwiwk/bench/blob/master/CHANGELOG.md).
npm package: @kwiwk/it-utils
Description: Iterator/Iterable utilities.
Author: Russley Shaw
Latest version: 2.2.0

# [it-utils](https://github.com/kwiwk/it-utils)

Iterator/Iterable utilities.

[![Build Status](https://travis-ci.com/kwiwk/it-utils.svg?branch=master)](https://travis-ci.com/kwiwk/it-utils)
[![Coveralls github](https://img.shields.io/coveralls/github/kwiwk/it-utils.svg?style=flat-square)](https://coveralls.io/github/kwiwk/it-utils)
[![npm](https://img.shields.io/npm/v/@kwiwk/it-utils.svg?style=flat-square)](https://www.npmjs.com/package/@kwiwk/it-utils)
[![npm](https://img.shields.io/npm/dt/@kwiwk/it-utils.svg?style=flat-square)](https://www.npmjs.com/package/@kwiwk/it-utils)

![Kwiwk Logo](https://github.com/kwiwk/kwiwk.github.io/raw/master/logo64.png)

## Table Of Contents

*   [Description](#description)
*   [Getting Started](#getting-started)
*   [Documentation](#documentation)
*   [License](#license)
*   [Changelog](#changelog)

## Description

Utilities for Iterators and Iterables. 

## Getting Started

*   Install Node v8 LTS [here](https://nodejs.org/en/download/).

## Documentation

View the API docs [here](https://kwiwk.github.io/it-utils).

View the coverage report [here](https://kwiwk.github.io/it-utils/coverage).

## License

View the license [here](https://github.com/kwiwk/it-utils/blob/master/LICENSE.md).

## Changelog

View the changelog [here](https://github.com/kwiwk/it-utils/blob/master/CHANGELOG.md).
npm package: @kwiwk/lru-cache
Description: LRU Cached asynchronous data getter.
Author: Russley Shaw
Latest version: 2.0.1

# [lru-cache](https://github.com/kwiwk/lru-cache)

A cache for asychnronous data.

[![Travis](https://img.shields.io/travis/kwiwk/lru-cache.svg?style=flat-square)](https://travis-ci.org/kwiwk/lru-cache)
[![Coveralls github](https://img.shields.io/coveralls/github/kwiwk/lru-cache.svg?style=flat-square)](https://coveralls.io/github/kwiwk/lru-cache)
[![npm](https://img.shields.io/npm/v/@kwiwk/lru-cache.svg?style=flat-square)](https://www.npmjs.com/package/@kwiwk/lru-cache)
[![npm](https://img.shields.io/npm/dt/@kwiwk/lru-cache.svg?style=flat-square)](https://www.npmjs.com/package/@kwiwk/lru-cache)

![Kwiwk Logo](https://github.com/kwiwk/kwiwk.github.io/raw/master/logo64.png)

## Table Of Contents

*   [Description](#description)
*   [Getting Started](#getting-started)
*   [Documentation](#documentation)
*   [License](#license)
*   [Changelog](#changelog)

## Description

LRUCache will cache data and throw away old or expired values.

Features:

*   First class TypeScript support!
*   Configurable expiration time
*   Configurable LRU cache size

## Getting Started

*   Install Node v8 LTS [here](https://nodejs.org/en/download/).

## Documentation

```typescript
import { LRUCachedGetter } from "@kwiwk/lru-cache";

async function getPersonById(id: number): Promise<Person> {
    // Get get a person by their ID asynchronously
}

async function personIdToString(id: number): string {
    return id.toString();
}

// Create a new LRU cache
const lru = new LRUCached<string, number>(
    hasher: name => name.toLowercase(),

    // Maximum size of LRU cache (defaults to 10000).
    maxSize: 10,

    // Milliseconds until the cached entry expires (defaults to Infinity).
    expiresMs: 1000 * 60 * 60 * 24
});

lru.set("Russley", 24);

lru.get("russley"); // 24
lru.get("Alice"); // undefined
lru.getOrDefault("Bob", 0); // 0
```

View the API docs [here](https://kwiwk.github.io/lru-cache).

View the coverage report [here](https://kwiwk.github.io/lru-cache/coverage).

## License

View the license [here](https://github.com/kwiwk/lru-cache/blob/master/LICENSE.md).

## Changelog

View the changelog [here](https://github.com/kwiwk/lru-cache/blob/master/CHANGELOG.md).
npm package: @kwiwk/lru-cached-getter
Description: LRU Cached asynchronous data getter.
Author: Russley Shaw
Latest version: 1.1.0

# [lru-cached-getter](https://github.com/kwiwk/lru-cached-getter)

A cache for asychnronous data.

[![Travis](https://img.shields.io/travis/kwiwk/lru-cached-getter.svg?style=flat-square)](https://travis-ci.org/kwiwk/lru-cached-getter)
[![Coveralls github](https://img.shields.io/coveralls/github/kwiwk/lru-cached-getter.svg?style=flat-square)](https://coveralls.io/github/kwiwk/lru-cached-getter)
[![npm](https://img.shields.io/npm/v/@kwiwk/lru-cached-getter.svg?style=flat-square)](https://www.npmjs.com/package/@kwiwk/lru-cached-getter)
[![npm](https://img.shields.io/npm/dt/@kwiwk/lru-cached-getter.svg?style=flat-square)](https://www.npmjs.com/package/@kwiwk/lru-cached-getter)

![Kwiwk Logo](https://github.com/kwiwk/kwiwk.github.io/raw/master/logo64.png)

## Table Of Contents
- [Description](#description)
- [Getting Started](#getting-started)
- [Documentation](#documentation)
- [License](#license)
- [Changelog](#changelog)

## Description

LRUCachedGetter will cache results retrieved through its getter function for faster access on subsequent calls. 

Features:
- First class TypeScript support!
- Configurable expiration time
- Configurable LRU cache size
- Force updating

## Getting Started

- Install Node v8 LTS [here](https://nodejs.org/en/download/).

## Documentation

```typescript
import { LRUCachedGetter } from "@kwiwk/lru-cached-getter";

// Create a new LRU cache
const lru = new LRUCachedGetter({
    getter: ([first, last]) => getPersonAsync(first, last), 
    hasher: (name) => JSON.stringify(name), 
    maxSize: 10,
    expiresMs: 1000 * 60 * 60 * 24
});

// Result cached for future retrievals.
let person = await lru.get(["Russley", "Shaw"]);
```

View the API docs [here](https://kwiwk.github.io/lru-cached-getter).

View the coverage report [here](https://kwiwk.github.io/lru-cached-getter/coverage).

## License

View the license [here](https://github.com/kwiwk/lru-cached-getter/blob/master/LICENSE.md).

## Changelog

View the changelog [here](https://github.com/kwiwk/lru-cached-getter/blob/master/CHANGELOG.md).
npm package: @kwiwk/promise-utils
Description: Utilities for promises.
Author: Russley Shaw
Latest version: 1.0.1

# [promise-utils](https://github.com/kwiwk/promise-utils)

A cache for asychnronous data.

[![Build Status](https://travis-ci.com/kwiwk/promise-utils.svg?branch=master)](https://travis-ci.com/kwiwk/promise-utils)
[![Coveralls github](https://img.shields.io/coveralls/github/kwiwk/promise-utils.svg?style=flat-square)](https://coveralls.io/github/kwiwk/promise-utils)
[![npm](https://img.shields.io/npm/v/@kwiwk/promise-utils.svg?style=flat-square)](https://www.npmjs.com/package/@kwiwk/promise-utils)
[![npm](https://img.shields.io/npm/dt/@kwiwk/promise-utils.svg?style=flat-square)](https://www.npmjs.com/package/@kwiwk/promise-utils)

![Kwiwk Logo](https://github.com/kwiwk/kwiwk.github.io/raw/master/logo64.png)

## Table Of Contents

*   [Description](#description)
*   [Getting Started](#getting-started)
*   [Documentation](#documentation)
*   [License](#license)
*   [Changelog](#changelog)

## Description

## Getting Started

*   Install Node v8 LTS [here](https://nodejs.org/en/download/).

## Documentation

View the API docs [here](https://kwiwk.github.io/promise-utils).

View the coverage report [here](https://kwiwk.github.io/promise-utils/coverage).

## License

View the license [here](https://github.com/kwiwk/promise-utils/blob/master/LICENSE.md).

## Changelog

View the changelog [here](https://github.com/kwiwk/promise-utils/blob/master/CHANGELOG.md).
npm package: @kwiwk/tslint
Description: Kwiwk TSLint configuration.
Author: Russley Shaw
Latest version: 2.0.3

# [tslint](https://github.com/kwiwk/tslint)

Kwiwk TSLint configuration

[![npm](https://img.shields.io/npm/v/@kwiwk/tslint.svg?style=flat-square)](https://www.npmjs.com/package/@kwiwk/tslint)
[![npm](https://img.shields.io/npm/dt/@kwiwk/tslint.svg?style=flat-square)](https://www.npmjs.com/package/@kwiwk/tslint)

![Kwiwk Logo](https://github.com/kwiwk/kwiwk.github.io/raw/master/logo64.png)

## Table Of Contents

*   [Usage](#usage)
*   [License](#license)

## Usage

Install tslint and the config as development dependencies:

```bash
yarn add -D tslint @kwiwk/tslint
```

Create a `tslint.json` file and add the following:

```json5
{
    "extends": "@kwiwk/tslint/tslint.json"
}
```

Add the following as a script to your `package.json`:

```json5
{
    // ...
    "scripts": {
        // ...
        "tslint": "tslint --project ./tsconfig.json --fix"
    }
}
```

Execute with the linter with the command:

```bash
yarn tslint
```

## License

View the license [here](https://github.com/kwiwk/tslint/blob/master/LICENSE.md).
npm package: @kwiz/common
Description: KWIZ common utilities and helpers for M365 platform
Author: Shai Petel
Latest version: 1.0.237

# KWIZ Common Repo

A collection of common helpers and utilities used across KWIZ projects

To get started, configure our modules to your project by calling config:

you must call this from every entry point of your project, best to mark it as sideEffects if using webpack or wrap in an "initConfig" function

```
import { config } from "@kwiz/common";
export const { GetLogger,configInfo } = config({
    BuildNumber: BuildNumber,
    //send true to have verbose logs and turn on debug mode
    IsLocalDev: IsLocalDev,
    ReleaseStatus: ReleaseStatus,
    //prefix logger with your project name
    ProjectName: "[cms]"
});
```
npm package: @kwiz/fluentui
Description: KWIZ common controls for FluentUI
Author: Shai Petel
Latest version: 1.0.195

# fluentui

For local debugging, if you plan to use `npm link` - there is a known issue with react that will potentially break your application.

To fix that, you must mark react and fluentui imports as external.
The best way of doing it is using webpack to build your app, and adding this:
```json
resolve: {
    ...
    modules: [path.resolve(__dirname, 'node_modules'), 'node_modules']//important! needed for @kwiz/fluentui to work correctly when linked
}
```

Otherwise during dev, you'll have to link the react package in this project to load the react from node_modules in your caller application. For example:

```
npm link ..\\test-project\\node_modules\\react\\  ..\\..test-project\\node_modules\\@types\\react\\
```

To successfully use these controls you should create a context, and wrapt it in a drag/drop provider.

We recommend using the provider control:

```ts
<KWIZFluentProvider ctx={{ buttonShape: "rounded" }}>
    <FluentProvider theme={webLightTheme}>
      {content}
    </FluentProvider>
</KWIZFluentProvider>

```

Or you can use the following code:

```ts
// it is no longer needed to send in a root node const root = React.useRef<HTMLDivElement>(null);
const { KWIZFluentContext, value: kwizFluentContext } =
  useKWIZFluentContextProvider({
    ctx: {
      buttonShape: "rounded",
    },
    //root,
  });

//...
<KWIZFluentContext.Provider value={kwizFluentContext}>
  <DragDropContextProvider>
    <FluentProvider theme={webLightTheme} /*ref={root}*/>
      {content}
    </FluentProvider>
  </DragDropContextProvider>
</KWIZFluentContext.Provider>;
```
npm package: @kwizzn/node-nicehash
Description: > [nicehash.com](https://www.nicehash.com/docs) nodejs api client
Author: 4tj
Latest version: 1.0.1

# node-nicehash
> [nicehash.com](https://www.nicehash.com/docs) nodejs api client

### Installation
```bash
npm install node-nicehash
```

### Getting started
```javascript
import Nicehash from 'node-nicehash'

const client = Nicehash()

const client2 = Nicehash({
  timeout: 5000 // http request timeout
})

client.account().then(data => console.log(data))
```