open-index/open-npm huggingface dataset:
npm package: @ncthbrt/re-secure-random-string
Description: BuckleScript/ReasonML Bindings for secure-random-string
Latest version: 2.0.0

# re-secure-random-string
This is a simple wrapper around node's `secure-random-string` for BuckleScript and Reason. Safely generating a random string for cryptographic purposes is difficult using Node's build in crypto library. The `secure-random-string` library aims to make this easier.

## Getting Started

Install using npm:
```
npm install --save @ncthbrt/re-secure-random-string
```
Then add `@ncthbrt/re-secure-random-string` as a dependency in `bsconfig.json`.

## Usage
### Synchronous usage
```reason
let randomString = SecureRandomString.gen(~length=64, ());
```
### Asynchronous usage
```reason
SecureRandomString.gen(~length=64, ())
|> Js.Promise.then_(randomString => {
      Js.log2("Random string is", randomString);
      Js.Promise.resolve();
});
```
npm package: @ncthbrt/rebcrypt
Description:  Bindings for bcrypt in Reason
Latest version: 3.0.0

# Rebcrypt

This is a simple wrapper around [node bcrypt](https://github.com/kelektiv/node.bcrypt.js) for BuckleScript and Reason.


# Getting Started

Install `rebcrypt` using npm:

```npm install --save @ncthbrt/rebcrypt```

Then add `@ncthbrt/rebcrypt` as a dependency in `bsconfig.json`.


## Examples

Bcrypt is a widely used adaptive password hashing function which also includes a mechanism to correctly salt a password. It is adaptive in that the number of rounds used to hash the password can be increased in response to an increase in computing power.

This library offers two ways of hashing a password. You can generate the salt separately and then hash the password by including the generated salt, or you can hash and salt the password at the same time. 

The library provides both synchronous and asynchronous promise returning methods.

### Generating the Salt then Hashing
```reason
/* gen() returns a promise instead */
let salt = Bcrypt.Salt.genSync(~rounds=15, ());
let hash = Bcrypt.Hash.makeSync("REALLY SECURE PASSWORD", salt);
```

### Simultaneously Salting and Hashing
```reason
let hash = hashAndSaltSync(~rounds=15, "REALLY SECURE PASSWORD");
```
npm package: @ncuhomeclub/jsi-bridge
Description: React Native JSI library for communicate between js and native code via jsi
Author: ncuhome
Latest version: 0.9.3

# @ncuhomeclub/jsi-birdge

React Native JSI library for communicate between js and native code via jsi skipping the react-native bridge which improve performance and skips data serialization/deserialization.

## Installation

```sh
yarn add @ncuhomeclub/jsi-birdge
# and npx pod-install
```

## Usage JS

on js side just import `import { JsiBridge } from '@ncuhomeclub/jsi-birdge'`
and subscribe on events which will be fired from native code.
```typescript
import { JsiBridge } from '@ncuhomeclub/jsi-birdge';

// for subscribe
JsiBridge.on('eventNameInJsCode', (data: any) => {

})

// for unsubscribe
JsiBridge.off('eventNameInJsCode')
```

For send event to native code
```typescript
// send event to native code
JsiBridge.emit('eventNameInNativeCode', { user: "your name" })
```

## Usage Native Java

On native side (Java/Kotlin)
```java

// for subscribe
JsiBridge.on('eventNameInNativeCode', data -> {

})

// for unsubscribe
JsiBridge.off('eventNameInNativeCode')

// send event to js code
JsiBridge.emit('eventNameInJsCode', data)
```

## Usage Native Objective-c

On native side
```
#import "JsiBridgeEmitter.h"

// for subscribe
[[JsiBridgeEmitter shared] on:@"eventNameInNativeCode" with:^(id data) {
  // some logic
}];

// for unsubscribe
[[JsiBridgeEmitter shared] off:@"eventNameInNativeCode"];

// send event to js code
[[JsiBridgeEmitter shared] emit:@"eventNameInJsCode" with:@"data"];
```

## License

MIT
npm package: @ncuhomeclub/react-native-heatmap
Description: A Components of heatmap for react-native ios and android
Author: yemomo
Latest version: 0.2.0

# react-native-heatmap

A Components of heatmap for react-native ios and android

## Installation

```sh
npm install @ncuhomeclub/react-native-heatmap
```

## Usage

example
![alt text](./markdown/image.png)

```jsx
import * as React from 'react';

import { StyleSheet, View } from 'react-native';
import HeatMap from '@ncuhomeclub/react-native-heatmap';

export default function App() {
  const data = [
    12, 423, 42, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 34, 35, 34, 23, 23, 35, 34, 10,
    2, 4, 6, 2, 5, 0, 0,
  ];
  return (
    <View style={styles.container}>
      <HeatMap data={data} />
    </View>
  );
}

const styles = StyleSheet.create({
  container: {
    flex: 1,
    alignItems: 'center',
    justifyContent: 'center',
  },
  box: {
    width: 60,
    height: 60,
    marginVertical: 20,
  },
});
```
## Custom
 ### ColorTheme,
 theme is set to the darkest color, and you can set limit and number to set the color for each quantity
 ``` jsx
  import type { ColorProps } from '@ncuhomeclub/react-native-heatmap';

  const color:ColorProps = {
  theme: 'blue',
  opacitys: [
      {
        opacity: 0.2,
        limit: 5,
      },
      {
        opacity: 0.4,
        limit: 10,
      },
      {
        opacity: 0.6,
        limit: 15,
      },
      {
        opacity: 0.8,
        limit: 20,
      },
      {
        opacity: 1,
        limit: 25,
    },
    ],
  }
//...
  <HeatMap data={data} color={color} />
 ```
  ### xNumber & yNumber
  you can pass xNumber and yNumber for set this chart's width and height
  ``` jsx
  <HeatMap data={data} color={color} xNumber={30} yNumber={8}/>

  ```

  ### direction 
  you can set direction to decide the data flow
  ``` jsx
  <HeatMap data={data} color={color} direction='horizontal' />
  ```

  ### shape
  ``` jsx
  //set circle shape
  <HeatMap data={data} color={color} direction='horizontal' shape='circle'/>
  ```
  ![alt text](./markdown/circle.png)
## Contributing

See the [contributing guide](CONTRIBUTING.md) to learn how to contribute to the repository and the development workflow.

## License

MIT

---

Made with [create-react-native-library](https://github.com/callstack/react-native-builder-bob)
npm package: @ncukondo/event-maker
Description: One event per one event.
Author: azu
Latest version: 1.0.4

# event-maker

Very simple event emitter.

## Feature

- A single event object per an event
- Tiny code base - less 1kb
- Written by TypeScript

## Install

Install with [npm](https://www.npmjs.com/):

    npm i @ncukondo/event-maker

Requirement: ECMAScript 2015 because this library use [`Map`](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Map).

## Usage

Create an event object and register handler and invoke handlers.

```ts
import { makeEvent } from "@ncukondo/event-maker";

const onEvent1 = makeEvent();
// Register a handler
onEvent1(() => {
  console.log(1);
});
// Register an once only handler
onEvent1.once(() => {
  console.log(2);
});
// Invoke handler
onEvent1.emit(); // 1,2
onEvent1.emit(); // 1
// Unregister handler
onEvent1.clear();
```

You can pass payload to the event.

```ts
const onEvent2 = makeEvent<{ payload: string }>();
// Register handler
onEvent2((value) => {
  console.log(1, value.payload);
});
onEvent2((value) => {
  console.log(2, value.payload);
});
// Invoke handler
onEvent2.emit({
  payload: "value"  //1 value, 2 value
});
// Unregister handler
onEvent2.clear();
```

You also can pass multiple paramaters to the event.

```ts
const onEvent3 = makeEvent<[type:string,message:string]>();
// Register handler
onEvent3((type,message) => {
  console.log(1, `eventType:${type} message:${message}`);
});
// Invoke handler
onEvent3.emit("customEvent1","some message"); // eventType:customEvent1 message:some message
// Unregister handler
onEvent3.clear();
```

## API

```ts
declare type ToArgsType<T> = T extends Array<unknown> ? T : readonly [T];
declare type EventHandler<T> = (...args: ToArgsType<T>) => unknown;
declare type Eventemitter<T> = {
    /**
     * Register an event handler
     */
    (handler: EventHandler<T>): void;
    /**
     * Register an once only event handler
     */
    once: (handler: EventHandler<T>) => void;
    /**
     * Remove an event handler
     */
    remove: (handler: EventHandler<T>) => void;
    /**
     * Remove all event handlers
     */
    clear: () => void;
    /**
     * Invoke all handlers
     */
    emit: (...value: ToArgsType<T>) => void;
};
declare const makeEvent: <T extends unknown = []>() => Eventemitter<T>;
export { makeEvent };
export type { EventHandler, Eventemitter };
```

## Changelog

See [Releases page](https://github.com/ncukondo/event-maker/releases).

## Running tests

Install devDependencies and Run `npm test`:

    npm test


## Author

- [github/ncukondo](https://github.com/ncukondo)

## License

MIT

## Related

- [eventmit: A single event object per the event.](https://github.com/azu/eventmit)
- [developit/mitt: 🥊 Tiny 200 byte functional event emitter / pubsub.](https://github.com/developit/mitt)
    - Support multiple event type
npm package: @ncukondo/ical-parser-light
Description: ## Prerequisites
Author: ncukondo
Latest version: 0.1.8

# @ncukondo/ical-parser-light

## Prerequisites

- [Node.js](https://nodejs.org/)

## Getting Started

```
yarn add @ncukondo/ical-parser-light
```

```
npm install --save @ncukondo/ical-parser-light
```

## Usage

```typescript
import parser, { ICalendarEvent } from 'ical-parser-light';

let sampleICS = "....";  // some iCalendar Data string

events.forEach(event => {
  let date = event.startDate;
  console.log(`${date.getFullYear()}-${date.getMonth() + 1}-${date.getDate()}: ${event.summary}`;
});
```

## About ical

- [web kanzaki](https://www.kanzaki.com/docs/ical/)
- [iCalendar.org](https://icalendar.org/)
- [rfc2445](https://www.ietf.org/rfc/rfc2445.txt)

## License

This software is released under the MIT License.
npm package: @ncukondo/japan-holiday
Description: ## Install
Author: ncukondo
Latest version: 0.1.3

# japan-holiday.ts

## Install

```
yarn add @ncukondo/japan-holiday
```

or

```
npm  install --save @ncukondo/japan-holiday
```

## Usage

```Typescript
import getHolidayName from '@ncukondo/japan-holiday';

const result = await getHolidayName(2018, 3, 21);
console.log(result); // 春分の日
```

## License

This software is released under the MIT License.
npm package: @ncukondo/parser-ts
Description: ## Tech Stack
Author: ncukondo
Latest version: 0.1.4

# typescript-module-starter

## Tech Stack

- [webpack](https://webpack.js.org/)
- [TypeScript](http://www.typescriptlang.org/)
- [TSLint](https://palantir.github.io/tslint/)
- [Prettier](https://prettier.io/)
- [Jest](https://facebook.github.io/jest/)

## Getting Started

### Clone the repository

```
git clone --depth=1 git@github.com:ncukondo/typescript-module-starter.git <project_name>
```

or

```
hub clone ncukondo/typescript-module-starter <project_name>
```

### Install dependencies

```
cd <project_name>
```

```
npm install
```

or

```
yarn install
```

### Install dependencies

```
cd <project_name>
npm install
```

### Build development project

```
npm run build-dev
```

### Start dev server

```
npm run start
```

### Build production

```
npm run build
```

### Build module

```
npm run build-module
```

### lint

```
npm run lit
```

### (memo git)

```
git init
git add *
git commit -a -m "comment"
git push origin master  //master
```

### (memo hub)

```
# URLが大幅短縮なclone
$ hub clone USER_NAME/REPO_NAME

# カレントディレクトリの名前でリポジトリ作成
$ hub create

# 指定した名前でリポジトリ作成
$ hub create REPO_NAME

# 現在のリポジトリをブラウザで開く
$ hub browse

# masterとDiff
$ hub compare BRANCH

# Pull Request
$ git pull-request
```

## License

This software is released under the MIT License, see LICENSE.txt.
npm package: @ncukondo/pubmed-parser
Description: ## Getting Started
Author: ncukondo
Latest version: 0.1.19

# pubmed-parser

## Getting Started

```
yarn add @ncukondo/pubmed-parser
```

or

```
npm install --save @ncukondo/pubmed-parser
```

## usage

```typescript
import { PubmedParser } from "@ncukondo/pubmed-parser";

const parser = await PubmedParser.fromPmid("26314775");

console.log(parser.get("authors6"));

const long_format =
  '{authors}. {title}. {year} {month};{vol}{ issue ? "("+issue+")" : ""}:{page}{ pmid ? " Cited in PubMed; PMID:"+pmid : ""}.';
const short_format =
  '{journal_short}. {year}{month ? " "+ month : ""};{vol}{ issue ? "("+issue+")" : ""}:{page}{ pmid ? " pmid:" + pmid : ""}.';
const result = parser.format(long_format);
const short_result = parser.format(short_format);
console.log("format:" + result);
console.log("short_format:" + short_result);
```

you can also use DOI

```typescript
import { PubmedParser } from "@ncukondo/pubmed-parser";

const doi = "doi: 10.3109/00365540903384158 ";
const short_format =
  '{journal_short}. {year}{month ? " "+ month : ""};{vol}{ issue ? "("+issue+")" : ""}:{page}{ pmid ? " pmid:" + pmid : ""}.';

const parser = await PubmedParser.from(doi);
const short_result = parser.format(short_format);
console.log(`fromDOI('${doisearch_word1}'):  ${short_result}`);
```

you can also use searchword

```typescript
import { PubmedParser } from "@ncukondo/pubmed-parser";

const search_word1 = "Br. J. Haematol. 1995;89(1):24-33";
const doi = "doi: 10.3109/00365540903384158 ";
const short_format =
  '{journal_short}. {year}{month ? " "+ month : ""};{vol}{ issue ? "("+issue+")" : ""}:{page}{ pmid ? " pmid:" + pmid : ""}.';

const parser = await PubmedParser.from(search_word1);
const short_result = parser.format(short_format);
console.log(`fromsearchword('${search_word1}'):  ${short_result}`);
```

## License

This software is released under the MIT License.
npm package: @ncviewer/ace-editor-module
Description: Ace Editor module for Nuxt.js
Latest version: 0.3.0

# @ncviewer/ace-editor-module
[![npm (scoped with tag)](https://img.shields.io/npm/v/@ncviewer/ace-editor-module/latest.svg?style=flat-square)](https://npmjs.com/package/ace-editor-module)
[![npm](https://img.shields.io/npm/dt/@ncviewer/ace-editor-module.svg?style=flat-square)](https://npmjs.com/package/ace-editor-module)
[![CircleCI](https://img.shields.io/circleci/project/github/NCViewer/ace-editor-module.svg?style=flat-square)](https://circleci.com/gh/NCViewer/ace-editor-module)
[![Codecov](https://img.shields.io/codecov/c/github/NCViewer/ace-editor-module.svg?style=flat-square)](https://codecov.io/gh/NCViewer/ace-editor-module)
[![Dependencies](https://david-dm.org/NCViewer/ace-editor-module/status.svg?style=flat-square)](https://david-dm.org/NCViewer/ace-editor-module)
[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square)](https://github.com/prettier/prettier)

> Ace Editor module for Nuxt.js

[📖 **Release Notes**](./CHANGELOG.md)

## Features

The module features

## Setup
- Add `@ncviewer/ace-editor-module` dependency using yarn or npm to your project
- Add `@ncviewer/ace-editor-module` to `modules` section of `nuxt.config.js`

```js
{
  modules: [
    // Simple usage
    '@ncviewer/ace-editor-module',

    // With options
    ['@ncviewer/ace-editor-module', { /* module options */ }],
 ]
}
```

## Usage

Module Description

## Development

- Clone this repository
- Install dependencies using `yarn install` or `npm install`
- Start development server using `npm run dev`

## License

[MIT License](./LICENSE)

Copyright (c) Xander Luciano
npm package: @ncwade01/makr-backend-shared
Description: The shared utility code across the Makr microservice backends.
Author: Matt Gowie
Latest version: 2.1.6

## Makr Backend Shared

Makr Backend Shared (`@makr/makr-backend-shared`) is a private npm module used for shared code across the various backend Node microservices. It provides a way for us to share utils, middleware, constants, and modules across the different microservices in a DRY way.

[Wiki Documentation](https://github.com/HappyStudio/makr-platform/wiki/Backend-Shared)
npm package: @ncwidgets/id
Description: Netlify custom widget id
Author: Derek Nguyen
Latest version: 0.9.0

<h1 align="center">ID Widget for NetlifyCMS</h1>

<p align="center">A widget for <a href="https://www.netlifycms.org/" target="_blank">netlify-cms</a> to generate ID for items in a list, or entries of a folder collection.</p>

---

<p align="center">⚠ Unstable: Under active development</p>

## Installation
```
npm i @ncwidgets/id
```

---

## Demo

In the demo below, the `categories` field is loaded from a file collection.

<a href="https://custom-widgets.netlify.com/#/collections/posts/entries/hej" target="_blank">Live demo</a>

### Register
```js
import cms from 'netlify-cms-app'
import { Widget as IdWidget } from '@ncwidgets/id'

cms.registerWidget(IdWidget)

cms.init()
```

## How to use
### Example config

```yml
collections:
  - label: Posts
    label_singular: Post
    name: posts
    folder: _posts
    create: true
    fields:
      - label: ID
        name: id

        # Default widget name
        widget: ncw-id
        
        # <Optional> If specified, add a prefix, i.e post-dnfuHvOhP
        prefix: post

        # <Optional> If `true`, add timestamp, i.e post-1588747959991-dnfuHvOhP
        # This can be used to sort collection by creation time
        timestamp: false

        # <Optional> Hide the widget from UI
        # Beware: We literally add `display: none` to the DOM node wrapping the input. It will break if netlifyCMS's editor pane structure changes.
        hidden: false
```

## Contribute

Found a bug or a missing feature? Please feel free to send over a PR, or open an issue with the `bug` or `enhancement` tag.
npm package: @ncwidgets/reorder
Description: Netlify custom widget reorder
Author: Derek Nguyen
Latest version: 0.9.0

<h1 align="center">Reorder Widget for NetlifyCMS</h1>

<p align="center">A widget for <a href="https://www.netlifycms.org/" target="_blank">netlify-cms</a> to handle custom ordering of a referenced collection. Powered by <a href="https://github.com/atlassian/react-beautiful-dnd">react-beautiful-dnd</a></p>

---

<p align="center">⚠ Unstable: Under active development</p>

## Installation
```
npm i @ncwidgets/reorder
```

## Demo

<a href="https://custom-widgets.netlify.com/#/collections/pages/entries/home" target="_blank">Live demo</a>

## Example use
* Order items in a grid from another collection (using custom reorder-component).
  <img src="../../assets/demo.gif" width=50%>
* Setup a custom order for any collection.

## How to use
### Example config
Assuming that `posts` are a separate collection that contains fields `id` and `title`.

```yml
- label: Featured Posts
  name: featured
  widget: ncw-reorder
  collection: posts
  id_field: id
  display_template: '{{id}} | {{title}}'
```
#### Widget specific fields
* `collection` (**required**) is the name of the referenced collection.
* `id_field` (**required**) is a field in the referenced collection which has to be an unique identifier.
* `display_template` A string template with fields of the target entry. Use dot notation for nested fields & bracket for array: `{{address.zipCode}} | {{categories[0]}}`


<p>Read more about configuration options on <a href='https://www.netlifycms.org/docs/configuration-options/'  target="_blank">netlifyCMS</a>.</p>

### Register default reorder-component
```js
import cms from 'netlify-cms-app'
import { Widget as ReorderWidget } from '@ncwidgets/reorder'

cms.registerWidget(ReorderWidget)

cms.init()
```

### Register custom reorder-component

```js
import cms from 'netlify-cms-app'
import { createWidget } from '@ncwidgets/reorder'

const ListComponent = ({ item }) => (
  <>
    <strong>{item.title}</strong>
    <p style={{ margin: 0, color: '#798291', fontSize: '0.8rem' }}>{item.id}</p>
  </>
)

const CustomReorderPreview = ({ items }) => (
  <section>
    <hr />
    <p>Custom Widget Preview</p>
    {items.map((item, i) => <p key={i}>{item.title}</p>)}
  </section>
)

const customReorderWidget = createWidget({
  renderControl: ({ value }) => <ListComponent item={value} />,
  renderPreview: ({ value }) => <CustomReorderPreview items={value}/>,
})

cms.registerWidget({
  name: 'custom-reorder',
  ...customReorderWidget,
})

cms.init()
```

## Contribute

Found a bug or a missing feature? Please feel free to send over a PR, or open an issue with the `bug` or `enhancement` tag.
npm package: @nd-460/file-utils
Description: A lightweight service utility for files conversions
Author: ND-460
Latest version: 1.0.0

# File Utility

A lightweight file utility library for developers 🚀

 JSON ↔ CSV conversion  
 File download in browser  
 File size formatter  
 Easy expand for Excel, PDF, encryption  

## Installation
```bash
npm install @nd-460/file-utils
```