open-index/open-npm huggingface dataset:
npm package: @join-com/class-validator-ismoney
Description: @IsMoney decorator for class-validator
Author: JOIN team
Latest version: 2.0.0
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# IsMoney validator for `class-validator`

Custom validator for [class-validator](https://github.com/typestack/class-validator)

It validates correctness of money type. Money type is represented as:

```ts
interface IMoney {
  currency: string;
  amount: number;
}
```

## Installation

```
npm install @join-com/class-validator-ismoney --save
```

## Usage

You can use the validator as any other `class-validator`:

```ts
class GuineaPig {
  @IsMoney({ max: 1200 })
  public price: any;
}

class CustomGuineaPig {
  @IsMoney({
    allowNegative: true,
    min: -1100,
    currencies: ['EUR', 'USD', 'CHF'],
  })
  public price: any;
}

class DefaultGuineaPig {
  @IsMoney()
  public price: any;
}
```
npm package: @join-com/rc-phone-input
Description: React component for entering telephone numbers
Author: pitronalldak
Latest version: 1.5.4
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# rc-phone-input

[![npm version](https://img.shields.io/npm/v/rc-phone-input.svg?style=flat-square)](https://www.npmjs.com/package/rc-phone-input)
[![npm downloads](https://img.shields.io/npm/dm/rc-phone-input.svg?style=flat-square)](https://www.npmjs.com/package/rc-phone-input)

International phone number `<input/>` in React with Ip-lookup

[See Demo](http://pitronalldak.github.io/rc-phone-input/)

## Screenshots

<img src="https://raw.githubusercontent.com/pitronalldak/rc-phone-input/master/docs/images/Screen-Shot.png" width="493" height="341"/>

## Installation

```
npm install rc-phone-input --save
```

## Usage

```js
import RCPhoneInput from 'rc-phone-input'

return (
	<RCPhoneInput
		value="+79152881980"
		onChange={ value => console.log(value) } />
)
```
npm package: @join-com/request-limit
Description: Limits number of function call per time frame
Author: JOIN team
Latest version: 1.0.0
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

## request-limit

Limits number of executed requests made per time frame

### Usage
```ts
import { RequestLimit } from '@join-com/request-limit'

const REQUESTS_LIMIT = 5 // Max number of requests can be executed during specific time frame
const REQUESTS_LIMIT_TIMEOUT = 10000 // Time frame in ms for which number of requests can be executed is limited
const RETRY_TIMEOUT = 1000 // Timeout in ms after which not executed requests will be re-scheduled

// Create an instance
const requestLimit = new RequestLimit(REQUESTS_LIMIT, REQUESTS_LIMIT_TIMEOUT, RETRY_TIMEOUT)

// Function will be limited to 5 requests per 10 seconds
const request = requestLimit.setLimit(
  () => { // Do something }
)
```
npm package: @join-com/typeorm-class-validator-is-frozen-when-preset
Description: validator for typeorm and class-validator to check that value is never reassigned
Author: JOIN team
Latest version: 2.0.0
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# Is frozen when preset validator for `class-validator` and `typeorm`

Custom validator for [class-validator](https://github.com/typestack/class-validator) and [typeorm](https://typeorm.io)

It validates that a field can not be changed once it was set before.

## Installation

```
npm install @join-com/typeorm-class-validator-is-frozen-when-preset --save
```

## Usage

You can use the validator as any other `class-validator`:

```ts
@Entity()
class User {
  @PrimaryGeneratedColumn()
  public id: number;

  // Raises a validation error when the field is updated
  @IsFrozenWhenPreset()
  @Column({ type: 'int', nullable: true })
  public companyId?: number;
}
```
npm package: @join-com/typeorm-class-validator-is-uniq
Description: uniq validator for typeorm and class-validator
Author: JOIN team
Latest version: 2.0.0
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# IsUniq validator

Custom validator for [class-validator](https://github.com/typestack/class-validator) and [typeorm](https://typeorm.io)

It validates uniqueness of any value across all records in a database. The validation can be narrowed down to a scope based on another column.
It doesn't consider nulls as unique values to be compatible with SQL specification

## Installation

```
npm install @join-com/typeorm-class-validator-is-uniq --save
```

## Usage

You can use the validator as any other `class-validator`:

```ts
@Entity()
class User {
  @PrimaryGeneratedColumn()
  public id: string;

  // Validates uniqueness of an email across all records
  @IsUniq()
  @Column()
  public email: string;

  // Validates uniqueness of a department in scope of a company
  @IsUniq({ scope: ['company'] })
  @Column({ nullable: true })
  public department: string;

  @Column({ nullable: true })
  public company: string;
}
```
npm package: @join-stories/react-native-widgets
Description: Join Stories SDK implementation for React-Native
Author: Join Stories
Latest version: 2.7.0

# @join-stories/react-native-widgets

Join Stories SDK implementation for React-Native

### Add the package to your npm dependencies

```
npm install @join-stories/react-native-widgets
```

### Documentation

A complete documentation is available at : https://docs.join-stories.com/docs/react-native-initial-sdk-setup

### Example with a standalone player

```
...
import { Text, TouchableOpacity } from 'react-native';
import { JoinStories } from "join-stories-sdk-react-native";

const Component = () => {
    const startStandAlonePlayer = () => {
        JoinStories.startStandAlonePlayer({
        alias: "widget-test-sdk",
        requestTimeoutInterval: 15,
        playerBackgroundColor: "#00000030",
        playerStandaloneAnimationOrigin: "default",
        playerVerticalAnchor: "center",
        playerShowShareButton: false,
        playerHorizontalMargins: 10,
        playerCornerRadius: 30,
        playerProgressBarDefaultColor: "#FFFFFF",
        playerProgressBarFillColor: "#026EDA",
        playerProgressBarThickness: 4,
        playerProgressBarRadius: 8,
        });
    };

    return (<TouchableOpacity onPress={startStandAlonePlayer} style={styles.button}>
        <Text>StandaloneView</Text>
    </TouchableOpacity>)
}

```

### Example with a thumb view

```
...
import { View } from 'react-native';
import { JoinStoriesView } from "join-stories-sdk-react-native";

const Thumb() => {
  return (
    <View style={{ flex: 1, alignItems: "center", justifyContent: "center" }}>
      <JoinStoriesView
        alias="widget-test-sdk" // "demo-bulles",
        requestTimeoutInterval={15}
        fontName="HelveticaNeue-Bold"
        labelColor="#808080"
        thumbViewSpacing={32}
        withLabel
        loaderInnerViewWidth={2}
        loaderInnerViewColor={["#000000"]}
        loaderColors={["#FF0000", "#0000FF"]}
        loaderWidth={3}
        storyViewedIndicatorColor="#808080"
        storyViewedIndicatorAlpha={0.8}
        // thumbViewOverlayColor // UIColor(hex8: 0x4C4C4CBB)
        playerBackgroundColor="#00000030"
        playerVerticalAnchor="center"
        playerShowShareButton={false}
        playerHorizontalMargins={10}
        playerCornerRadius={30}
        playerProgressBarDefaultColor="#FFFFFF"
        playerProgressBarFillColor="#026EDA"
        playerProgressBarThickness={4}
        playerProgressBarRadius={8}
        containerDimension={150}
        style={styles.joinStoriesView}
      />
    </View>
  );
}


```

## Running the example Expo project

At the moment, you will need to use npm@9.5.0

To install the project dependencies, you will need to:

```bash
brew install cocoapods
npm install
cd example
npm install
```

To run the project, you will need to:

```bash
npm run ios
```

or 

```bash
npm run android
```
npm package: @join-stories/test-react-native-widgets
Description: Join Stories SDK implementation for React-Native
Author: Join Stories
Latest version: 1.0.1-beta1

# @join-stories/react-native-widgets

Join Stories SDK implementation for React-Native

### Add the package to your npm dependencies

```
npm install @join-stories/react-native-widgets
```

### Documentation

A documentation complete is available : https://developers.join-stories.com/react-native/

### Example with a standalone player
```
...
import { Text, TouchableOpacity } from 'react-native';
import { JoinStories } from "join-stories-sdk-react-native";

const Component = () => {
    const startStandAlonePlayer = () => {
        JoinStories.startStandAlonePlayer({
        alias: "widget-test-sdk",
        requestTimeoutInterval: 15,
        playerBackgroundColor: "#00000030",
        playerStandaloneAnimationOrigin: "default",
        playerVerticalAnchor: "center",
        playerShowShareButton: false,
        playerHorizontalMargins: 10,
        playerCornerRadius: 30,
        playerProgressBarDefaultColor: "#FFFFFF",
        playerProgressBarFillColor: "#026EDA",
        playerProgressBarThickness: 4,
        playerProgressBarRadius: 8,
        });
    };

    return (<TouchableOpacity onPress={startStandAlonePlayer} style={styles.button}>
        <Text>StandaloneView</Text>
    </TouchableOpacity>)
}

```

### Example with a thumb view
```
...
import { View } from 'react-native';
import { JoinStoriesView } from "join-stories-sdk-react-native";

const Thumb() => {
  return (
    <View style={{ flex: 1, alignItems: "center", justifyContent: "center" }}>
      <JoinStoriesView
        alias="widget-test-sdk" // "demo-bulles",
        requestTimeoutInterval={15}
        fontName="HelveticaNeue-Bold"
        labelColor="#808080"
        thumbViewSpacing={32}
        withLabel
        loaderInnerViewWidth={2}
        loaderInnerViewColor={["#000000"]}
        loaderColors={["#FF0000", "#0000FF"]}
        loaderWidth={3}
        storyViewedIndicatorColor="#808080"
        storyViewedIndicatorAlpha={0.8}
        // thumbViewOverlayColor // UIColor(hex8: 0x4C4C4CBB)
        playerBackgroundColor="#00000030"
        playerVerticalAnchor="center"
        playerShowShareButton={false}
        playerHorizontalMargins={10}
        playerCornerRadius={30}
        playerProgressBarDefaultColor="#FFFFFF"
        playerProgressBarFillColor="#026EDA"
        playerProgressBarThickness={4}
        playerProgressBarRadius={8}
        containerDimension={150}
        style={styles.joinStoriesView}
      />
    </View>
  );
}


```

## Running the example Expo project
At the moment, you will need to use pnpm@7.28.0
```
npm install -g pnpm
```

To run the project, you will need to:
```
pnpm install
cd example
pnpm reload:ios
or
pnpm reload:android
```