open-index/open-npm huggingface dataset:
npm package: @fltwk/grunt-po2mo
Description: Compiles .po files into binary .mo files with msgfmt
Latest version: 0.2.1
Deprecated: The organization has been renamed. Please run `npm i @floatwork/grunt-po2mo` instead!

# grunt-po2mo

[![npm](https://flat.badgen.net/npm/license/@fltwrk/grunt-po2mo)](https://www.npmjs.org/package/@fltwrk/grunt-po2mo)
[![npm](https://flat.badgen.net/npm/v/@fltwrk/grunt-po2mo)](https://www.npmjs.org/package/@fltwrk/grunt-po2mo)
[![CircleCI](https://flat.badgen.net/circleci/github/fltwrk/grunt-po2mo)](https://circleci.com/gh/fltwrk/grunt-po2mo)
[![David](https://flat.badgen.net/david/dev/fltwrk/grunt-po2mo)](https://david-dm.org/fltwrk/grunt-po2mo?type=dev)

Compiles `.po` files into binary `.mo` files with `msgfmt`

This plugin is largely based on Michele Bertoli's [`grunt-po2mo`](https://www.npmjs.com/package/grunt-po2mo), with some minor differences:

- uses no third-party dependencies
- supports additional options
- code base is linted with `eslint`

## Prerequisites

You will need `msgfmt` installed in order for this task to work

### macOS

```sh
$ brew install gettext
$ brew link --force gettext
```

### Linux

```sh
# Debian
$ sudo apt-get install gettext

# Fedora
$ dnf install gettext-devel
```

## Installation

```sh
$ npm install @fltwrk/grunt-po2mo --save-dev
```

## Usage

```js
grunt.loadNpmTasks('@fltwrk/grunt-po2mo');

grunt.initConfig({
  po2mo: {
    files: {
      src: 'languages/de_AT.po',
      dest: 'languages/de_AT.mo',
    }
  }
});

grunt.registerTask('default', ['po2mo']);
```

### Options

#### `options.alignment`

Type: `int`  
Default: `1`  

Align strings to NUMBER bytes

#### `options.checkAccelerators`

Type: `string|null`  
Default: `null`  

Check presence of keyboard accelerators for menu items

#### `options.checkCompatibility`

Type: `bool`  
Default: `false`  

Check that GNU `msgfmt` behaves like X/Open `msgfmt`

#### `options.checkDomain`

Type: `bool`  
Default: `false`  

Check for conflicts between domain directives and the `--output-file` option

#### `options.checkFormat`

Type: `bool`  
Default: `false`  

Check language dependent format strings

#### `options.checkHeader`

Type: `bool`  
Default: `false`  

Verify presence and contents of the header entry

#### `options.endianness`

Type: `string|null`  
Default: `null`  

Write out 32-bit numbers in the given byte order (big or little, default depends on platform)

#### `options.noHash`

Type: `bool`  
Default: `false`  

Binary file will not include the hash table 

#### `options.useFuzzy`

Type: `bool`  
Default: `false`.  

Use fuzzy entries in output

#### `options.deleteSrc`

Type: `bool`  
Default: `false`  

Will delete the source `.po` file after conversion

## Authors

- [MicheleBertoli](https://github.com/MicheleBertoli/)
- [floatwork_](https://github.com/fltwrk/)

## License

This work is licensed under [The MIT License](LICENSE)
npm package: @flua/clean
Description: Wrap 'del' for gulp use
Author: Hoyeung Wong
Latest version: 0.3.7

# @flua/vinylize

[![npm version][badge-npm-version]][url-npm]
[![npm download monthly][badge-npm-download-monthly]][url-npm]
[![npm download total][badge-npm-download-total]][url-npm]
[![npm dependents][badge-npm-dependents]][url-github]
[![npm license][badge-npm-license]][url-npm]
[![pp install size][badge-pp-install-size]][url-pp]
[![github commit last][badge-github-last-commit]][url-github]
[![github commit total][badge-github-commit-count]][url-github]

[//]: <> (Shields)
[badge-npm-version]: https://flat.badgen.net/npm/v/@flua/vinylize
[badge-npm-download-monthly]: https://flat.badgen.net/npm/dm/@flua/vinylize
[badge-npm-download-total]:https://flat.badgen.net/npm/dt/@flua/vinylize
[badge-npm-dependents]: https://flat.badgen.net/npm/dependents/@flua/vinylize
[badge-npm-license]: https://flat.badgen.net/npm/license/@flua/vinylize
[badge-pp-install-size]: https://flat.badgen.net/packagephobia/install/@flua/vinylize
[badge-github-last-commit]: https://flat.badgen.net/github/last-commit/hoyeungw/flua
[badge-github-commit-count]: https://flat.badgen.net/github/commits/hoyeungw/flua

[//]: <> (Link)
[url-npm]: https://npmjs.org/package/@flua/vinylize
[url-pp]: https://packagephobia.now.sh/result?p=@flua/vinylize
[url-github]: https://github.com/hoyeungw/flua

##### Swap 2 elements of array by input indexes

#### Features
- Swap elements of array at a pair of given index

#### Install
```console
$ npm install @flua/vinylize
```

#### Usage
```js
```

#### Meta
[LICENSE (MIT)](LICENSE)
npm package: @flua/dynamic-import
Description: Dynamic import things
Author: Hoyeung Wong
Latest version: 0.3.7

# @flua/gulp-init

[![npm version][badge-npm-version]][url-npm]
[![npm download monthly][badge-npm-download-monthly]][url-npm]
[![npm download total][badge-npm-download-total]][url-npm]
[![npm dependents][badge-npm-dependents]][url-github]
[![npm license][badge-npm-license]][url-npm]
[![pp install size][badge-pp-install-size]][url-pp]
[![github commit last][badge-github-last-commit]][url-github]
[![github commit total][badge-github-commit-count]][url-github]

[//]: <> (Shields)
[badge-npm-version]: https://flat.badgen.net/npm/v/@flua/gulp-init
[badge-npm-download-monthly]: https://flat.badgen.net/npm/dm/@flua/gulp-init
[badge-npm-download-total]:https://flat.badgen.net/npm/dt/@flua/gulp-init
[badge-npm-dependents]: https://flat.badgen.net/npm/dependents/@flua/gulp-init
[badge-npm-license]: https://flat.badgen.net/npm/license/@flua/gulp-init
[badge-pp-install-size]: https://flat.badgen.net/packagephobia/install/@flua/gulp-init
[badge-github-last-commit]: https://flat.badgen.net/github/last-commit/hoyeungw/flua
[badge-github-commit-count]: https://flat.badgen.net/github/commits/hoyeungw/flua

[//]: <> (Link)
[url-npm]: https://npmjs.org/package/@flua/gulp-init
[url-pp]: https://packagephobia.now.sh/result?p=@flua/gulp-init
[url-github]: https://github.com/hoyeungw/flua

##### Swap 2 elements of array by input indexes

#### Features
- Swap elements of array at a pair of given index

#### Install
```console
$ npm install @flua/gulp-init
```

#### Usage
```js
```

#### Meta
[LICENSE (MIT)](LICENSE)
npm package: @flua/enum-prompt-types
Description: Enums for prompt types
Author: Hoyeung Wong
Latest version: 0.3.7

# @flua/enum-prompt-types

[![npm version][badge-npm-version]][url-npm]
[![npm download monthly][badge-npm-download-monthly]][url-npm]
[![npm download total][badge-npm-download-total]][url-npm]
[![npm dependents][badge-npm-dependents]][url-github]
[![npm license][badge-npm-license]][url-npm]
[![pp install size][badge-pp-install-size]][url-pp]
[![github commit last][badge-github-last-commit]][url-github]
[![github commit total][badge-github-commit-count]][url-github]

[//]: <> (Shields)
[badge-npm-version]: https://flat.badgen.net/npm/v/@flua/enum-prompt-types
[badge-npm-download-monthly]: https://flat.badgen.net/npm/dm/@flua/enum-prompt-types
[badge-npm-download-total]:https://flat.badgen.net/npm/dt/@flua/enum-prompt-types
[badge-npm-dependents]: https://flat.badgen.net/npm/dependents/@flua/enum-prompt-types
[badge-npm-license]: https://flat.badgen.net/npm/license/@flua/enum-prompt-types
[badge-pp-install-size]: https://flat.badgen.net/packagephobia/install/@flua/enum-prompt-types
[badge-github-last-commit]: https://flat.badgen.net/github/last-commit/hoyeungw/flua
[badge-github-commit-count]: https://flat.badgen.net/github/commits/hoyeungw/flua

[//]: <> (Link)
[url-npm]: https://npmjs.org/package/@flua/enum-prompt-types
[url-pp]: https://packagephobia.now.sh/result?p=@flua/enum-prompt-types
[url-github]: https://github.com/hoyeungw/flua

##### Swap 2 elements of array by input indexes

#### Features
- Swap elements of array at a pair of given index

#### Install
```console
$ npm install @flua/enum-prompt-types
```

#### Usage
```js
```

#### Meta
[LICENSE (MIT)](LICENSE)
npm package: @flua/json-reader
Description: Async load object from file
Author: Hoyeung Wong
Latest version: 0.3.7

# @flua/json-reader

[![npm version][badge-npm-version]][url-npm]
[![npm download monthly][badge-npm-download-monthly]][url-npm]
[![npm download total][badge-npm-download-total]][url-npm]
[![npm dependents][badge-npm-dependents]][url-github]
[![npm license][badge-npm-license]][url-npm]
[![pp install size][badge-pp-install-size]][url-pp]
[![github commit last][badge-github-last-commit]][url-github]
[![github commit total][badge-github-commit-count]][url-github]

[//]: <> (Shields)
[badge-npm-version]: https://flat.badgen.net/npm/v/@flua/json-reader
[badge-npm-download-monthly]: https://flat.badgen.net/npm/dm/@flua/json-reader
[badge-npm-download-total]:https://flat.badgen.net/npm/dt/@flua/json-reader
[badge-npm-dependents]: https://flat.badgen.net/npm/dependents/@flua/json-reader
[badge-npm-license]: https://flat.badgen.net/npm/license/@flua/json-reader
[badge-pp-install-size]: https://flat.badgen.net/packagephobia/install/@flua/json-reader
[badge-github-last-commit]: https://flat.badgen.net/github/last-commit/hoyeungw/flua
[badge-github-commit-count]: https://flat.badgen.net/github/commits/hoyeungw/flua

[//]: <> (Link)
[url-npm]: https://npmjs.org/package/@flua/json-reader
[url-pp]: https://packagephobia.now.sh/result?p=@flua/json-reader
[url-github]: https://github.com/hoyeungw/flua

##### Swap 2 elements of array by input indexes

#### Features
- Swap elements of array at a pair of given index

#### Install
```console
$ npm install @flua/json-reader
```

#### Usage
```js
```

#### Meta
[LICENSE (MIT)](LICENSE)
npm package: @flua/table-gulp
Description: Swap values at a pair of indexes
Author: Hoyeung Wong
Latest version: 0.3.7

# @flua/target-gulp

[![npm version][badge-npm-version]][url-npm]
[![npm download monthly][badge-npm-download-monthly]][url-npm]
[![npm download total][badge-npm-download-total]][url-npm]
[![npm dependents][badge-npm-dependents]][url-github]
[![npm license][badge-npm-license]][url-npm]
[![pp install size][badge-pp-install-size]][url-pp]
[![github commit last][badge-github-last-commit]][url-github]
[![github commit total][badge-github-commit-count]][url-github]

[//]: <> (Shields)
[badge-npm-version]: https://flat.badgen.net/npm/v/@flua/target-gulp
[badge-npm-download-monthly]: https://flat.badgen.net/npm/dm/@flua/target-gulp
[badge-npm-download-total]:https://flat.badgen.net/npm/dt/@flua/target-gulp
[badge-npm-dependents]: https://flat.badgen.net/npm/dependents/@flua/target-gulp
[badge-npm-license]: https://flat.badgen.net/npm/license/@flua/target-gulp
[badge-pp-install-size]: https://flat.badgen.net/packagephobia/install/@flua/target-gulp
[badge-github-last-commit]: https://flat.badgen.net/github/last-commit/hoyeungw/flua
[badge-github-commit-count]: https://flat.badgen.net/github/commits/hoyeungw/flua

[//]: <> (Link)
[url-npm]: https://npmjs.org/package/@flua/target-gulp
[url-pp]: https://packagephobia.now.sh/result?p=@flua/target-gulp
[url-github]: https://github.com/hoyeungw/flua

##### Easy manipulate table on gulp

#### Features
- Swap elements of array at a pair of given index

#### Install
```console
$ npm install @flua/target-gulp
```

#### Usage
```js
```

#### Meta
[LICENSE (MIT)](LICENSE)
npm package: @flua/utils
Description: fs/stream utils
Author: Hoyeung Wong
Latest version: 0.3.7

# @flua/vinyl-init

[![npm version][badge-npm-version]][url-npm]
[![npm download monthly][badge-npm-download-monthly]][url-npm]
[![npm download total][badge-npm-download-total]][url-npm]
[![npm dependents][badge-npm-dependents]][url-github]
[![npm license][badge-npm-license]][url-npm]
[![pp install size][badge-pp-install-size]][url-pp]
[![github commit last][badge-github-last-commit]][url-github]
[![github commit total][badge-github-commit-count]][url-github]

[//]: <> (Shields)
[badge-npm-version]: https://flat.badgen.net/npm/v/@flua/vinyl-init
[badge-npm-download-monthly]: https://flat.badgen.net/npm/dm/@flua/vinyl-init
[badge-npm-download-total]:https://flat.badgen.net/npm/dt/@flua/vinyl-init
[badge-npm-dependents]: https://flat.badgen.net/npm/dependents/@flua/vinyl-init
[badge-npm-license]: https://flat.badgen.net/npm/license/@flua/vinyl-init
[badge-pp-install-size]: https://flat.badgen.net/packagephobia/install/@flua/vinyl-init
[badge-github-last-commit]: https://flat.badgen.net/github/last-commit/hoyeungw/flua
[badge-github-commit-count]: https://flat.badgen.net/github/commits/hoyeungw/flua

[//]: <> (Link)
[url-npm]: https://npmjs.org/package/@flua/vinyl-init
[url-pp]: https://packagephobia.now.sh/result?p=@flua/vinyl-init
[url-github]: https://github.com/hoyeungw/flua

##### Gulp utils

#### Features
- Gulp utils

#### Install
```console
$ npm install @flua/vinyl-init
```

#### Usage
```js
```

#### Meta
[LICENSE (MIT)](LICENSE)
npm package: @flua/vinylize
Description: Swap values at a pair of indexes
Author: Hoyeung Wong
Latest version: 0.3.7

# @flua/vinylize

[![npm version][badge-npm-version]][url-npm]
[![npm download monthly][badge-npm-download-monthly]][url-npm]
[![npm download total][badge-npm-download-total]][url-npm]
[![npm dependents][badge-npm-dependents]][url-github]
[![npm license][badge-npm-license]][url-npm]
[![pp install size][badge-pp-install-size]][url-pp]
[![github commit last][badge-github-last-commit]][url-github]
[![github commit total][badge-github-commit-count]][url-github]

[//]: <> (Shields)
[badge-npm-version]: https://flat.badgen.net/npm/v/@flua/vinylize
[badge-npm-download-monthly]: https://flat.badgen.net/npm/dm/@flua/vinylize
[badge-npm-download-total]:https://flat.badgen.net/npm/dt/@flua/vinylize
[badge-npm-dependents]: https://flat.badgen.net/npm/dependents/@flua/vinylize
[badge-npm-license]: https://flat.badgen.net/npm/license/@flua/vinylize
[badge-pp-install-size]: https://flat.badgen.net/packagephobia/install/@flua/vinylize
[badge-github-last-commit]: https://flat.badgen.net/github/last-commit/hoyeungw/flua
[badge-github-commit-count]: https://flat.badgen.net/github/commits/hoyeungw/flua

[//]: <> (Link)
[url-npm]: https://npmjs.org/package/@flua/vinylize
[url-pp]: https://packagephobia.now.sh/result?p=@flua/vinylize
[url-github]: https://github.com/hoyeungw/flua

##### Swap 2 elements of array by input indexes

#### Features
- Swap elements of array at a pair of given index

#### Install
```console
$ npm install @flua/vinylize
```

#### Usage
```js
```

#### Meta
[LICENSE (MIT)](LICENSE)
npm package: @flub71/checkcentral
Description: A robust and intuitive Node.js client for interacting with the CheckCentral API. Seamlessly fetch overviews, checks, activities, dashboards, and more with minimal setup.
Author: Jack Harvard
Latest version: 1.0.3

# CheckCentral-Node

A robust and intuitive Node.js client for interacting with the CheckCentral API. Seamlessly fetch overviews, checks, activities, dashboards, and more with minimal setup.

## Installation

Install the package via npm:

```bash
npm i @flub71/checkcentral
```

## Configuration

Before using the CheckCentral API client, you need to configure your environment:

1. Create a `.env` file in the root directory of your project.
2. Add the following line to the `.env` file:
   ```env
   CHECK_CENTRAL_READONLY_API_KEY=YOUR_API_KEY_HERE
   ```
   Replace `YOUR_API_KEY_HERE` with your actual CheckCentral API key.

## Usage

After installation, you can use the `CheckCentralAPI` class in your project. First, you need to instantiate the class with your API key:

```typescript
import CheckCentralAPI from '@flub71/checkcentral';

const api = new CheckCentralAPI(process.env.CHECK_CENTRAL_READONLY_API_KEY);

async function fetchAllChecks() {
    const checks = await api.getAllChecks();
    console.log(checks);
}

fetchAllChecks();
```

## API Methods

Here are the available methods in the `CheckCentralAPI` class:

- `getOverview()`: Fetches an overview.
- `getAllChecks(params: AllChecksParams)`: Fetches all checks based on the provided parameters.
- `getActivities(params: ActivitiesParams)`: Fetches activities based on the provided parameters.
- `getCheckGroups(params: CheckGroupsParams)`: Fetches check groups based on the provided parameters.
- `getDashboards(params: DashboardsParams)`: Fetches dashboards based on the provided parameters.
- `getIssues()`: Fetches all issues.
- `getPermissions(params: PermissionsParams)`: Fetches permissions based on the provided parameters.
- `generateReport(params: ReportParams)`: Generates a report based on the provided parameters.
- `getReports(params: ReportParams)`: Fetches reports based on the provided parameters.
- `getUsers(params: UsersParams)`: Fetches users based on the provided parameters.
- `getUserGroups(params: UserGroupsParams)`: Fetches user groups based on the provided parameters.

## Contributing

If you'd like to contribute or have any issues/suggestions, please submit an issue or pull request on the GitHub repository.

## License

This project is licensed under the MIT License.
npm package: @flubpub/flub-sdk
Description: The client side SDK for utilizing the Flub API.
Author: Wil Neeley
Latest version: 0.2.1

# flub-sdk

The client side SDK for utilizing the Flub API.

## Features

- [x] Convenient methods for interacting with Flub API
- [x] Cross-platform support (browser, node, react)

## Installation

Start by installing the package from npm:

```bash
npm install @flubpub/flub-sdk
```

## Development

In node you can use the package like so:

```typescript
import FlubSDK from '@flubpub/flub-sdk'

const FlubClient = new FlubSDK.Client({
    baseUrl: 'http://127.0.0.1:8787'
})
```

In the browser you can include the file in a `<script>` tag but more ideally you can use a bundler like webpack to include the package.

## Deployment

Make sure you have `gh` installed globally. Ideally install it with your systems package manager (such as via `brew`). Otherwise you can install it via `npm install -g gh`.

Then follow these steps to publish a new version of the package to npm and create a new release on GitHub.

1. Login to the `@flubpub` NPM account with `npm login`
2. Build the package by running `npm run build`
3. Increment the release version in `package.json` using SEMVER (major, minor, patch)
4. When you're ready to publish, run `npm run release` to publish the package to npm.
5. Last, run `npm run release:git` to create and push a tag and then create a release.
npm package: @flubs/ngx-phone-spinner
Description: README.md
Author: Jeremy Quick
Latest version: 1.2.0

# @flubs/ngx-phone-spinner

[![npm](https://img.shields.io/npm/l/@flubs/ngx-phone-spinner.svg)](https://www.npmjs.com/package/@flubs/ngx-phone-spinner/)
[![npm](https://img.shields.io/npm/dt/@flubs/ngx-phone-spinner.svg)](https://www.npmjs.com/package/@flubs/ngx-phone-spinner)
[![npm](https://img.shields.io/npm/dm/@flubs/ngx-phone-spinner.svg)](https://www.npmjs.com/package/@flubs/ngx-phone-spinner)

![](example.gif)

## Index ##

* [About](#about)
* [Setup](#setup)
* [Documentation](#documentation)
* [Issues](#issues)
* [Contributing](#contributing)

## About ## 

This is a bad phone number picker for Angular 2+. 

* Try out [the demo](https://@flubs/ngx-phone-spinner.jrquick.com) to see it in action!
* Checkout my other Ionic/Angular projects: [ionic4-tooltips](https://github.com/jrquick17/ionic4-tooltips) and [ionic4-auto-complete](https://github.com/jrquick17/ionic4-auto-complete)!
* Visit [my website](https://jrquick.com) for other cool projects!

## Setup ##

To install this library (component), run:
```bash
$ npm i @flubs/ngx-phone-spinner --save
```

## Documentation ##
Add NumberPickerModule to `AppModule`

```typescript
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';

import { AppComponent } from './app.component';

// Import this library
import { NgxBadPhoneSpinnerModule } from '@flubs/ngx-phone-spinner';

@NgModule({
  declarations: [
    AppComponent
  ],
  imports: [
    BrowserModule,
    
    // Specify this library as an import
    NgxBadPhoneSpinnerModule,
  ],
  providers: [],
  bootstrap: [AppComponent]
})
export class AppModule { }
```

Once this library is imported, you can use this component in your Angular application:
### Standalone Examples

```typescript
export class AppComponent {
    change(value: number): void {
        console.log(value);
    }
}
```

```html
<@flubs/ngx-phone-spinner
    [number]="mobile"
    (change)="change($event)">
</@flubs/ngx-phone-spinner>
```

--------------------------------------------------------------------------------------------
### Component Inputs and Outputs
| Attribute        | Type           | Required  | Default | Description |
| :------------- |:-------------| :-----:| :----| :-----|
| number | [input] string | No | 0000000000 | initial value for the spinner |
| (change) | (output) number | no | - | emits the value of the current number, every time the user clicks the - or + button |


-------------------------------------------------------------------------------------------------------

## Issues ##

If you find any issues feel free to open a request in [the Issues tab](https://github.com/jrquick17/@flubs/ngx-phone-spinner/issues). If I have the time I will try to solve any issues but cannot make any guarantees. Feel free to contribute yourself.

### Demo ###

Run `npm install` to get packages required for the demo and then run `ionic serve` to run locally.

### Thanks ###

* [mandhu](https://github.com/mandhu)
* [jrquick17](https://github.com/jrquick17)
npm package: @flucoma/tf-kmeans
Description: A Library for Calculating K-Means using Tensorflow
Author: Pratik Chowdhury
Latest version: 0.0.3

# [TF-KMeans](https://github.com/pratikpc/TF-KMeans)

## Description

A Simple JavaScript Library to make it easy for people to use KMeans algorithms with Tensorflow JS.

The library was born out of another project in which except KMeans, our code completely depended on TF.JS

As such, moving to TF.JS helped standardise our code base substantially and reduce dependency on other libraries

## [Sample Code](samples/index.js)

~~~javascript
	const KMeans = require("tf-kmeans");
	const tf = require("@tensorflow/tfjs");
	const kmeans = new KMeans.default({
		k: 2,
		maxIter: 30,
		distanceFunction: KMeans.default.EuclideanDistance
	});
	const dataset = tf.tensor([[2, 2, 2], [5, 5, 5], [3, 3, 3], [4, 4, 4], [7, 8, 7]]);
	const predictions = kmeans.Train(
		dataset
	);

	console.log("Assigned To ", predictions.arraySync());
	console.log("Centroids Used are ", kmeans.Centroids().arraySync());
	console.log("Prediction for Given Value is");
	kmeans.Predict(tf.tensor([2, 3, 2])).print();
~~~

You can use the Asynchronous TrainAsync if you want to use an asynchronous callback function

~~~javascript
	const kmeans = new KMeans.default({
		k: 3,
		maxIter: 30,
		distanceFunction: KMeans.default.EuclideanDistance
	});
	const dataset = tf.tensor([[2, 2, 2], [5, 5, 5], [3, 3, 3], [4, 4, 4], [7, 8, 7]]);

	console.log("\n\nAsync Test");
	const predictions = await kmeans.TrainAsync(
		dataset,
		// Called At End of Every Iteration
		// This function is Asynchronous
		async(iter, centroid, preds)=>{
			console.log("===");
			console.log("Iteration Count", iter);
			console.log("Centroid ", await centroid.array());
			console.log("Prediction ", await preds.array());
			console.log("===");
			// You could instead use TFVIS for Plotting Here
		}
	);
~~~

## Functions

1. ***`Constructor`***

    Takes 3 Optional parameters
    1. k:-                Number of Clusters
    2. maxIter:-          Max Iterations
    3. distanceFunction:- The Distance function Used
	                      Currently only Eucledian Distance Provided

2. ***`Train`***

    Takes Dataset as Parameter

	Performs Training on This Dataset

	Sync callback function is _optional_

3. ***`TrainAsync`***

    Takes Dataset as Parameter

	Performs Training on This Dataset

	Also takes _async_ callback function called at the end of every iteration

4. ***`Centroids`***

	Returns the Centroids found for the dataset on which KMeans was Trained

5. ***`Predict`***

	Performs Predictions on the data Provided as Input

## PEER DEPENDENCIES
1. [TensorFlow.JS](https://www.tensorflow.org/js "tfjs")

## Typings
As the code is originally written in TypeScript, Type Support is provided out of the box

## Contact Me
You could contact me [via LinkedIn](https://www.linkedin.com/in/pratik-chowdhury-889bb2183/ "via LinkedIn")
You could file issues or add features via Pull Requests on GitHub