open-index/open-npm huggingface dataset:
npm package: @shout-sdk/common-models
Description: Shout common TypeScript models.
Author: Shout Platform Ltd
Latest version: 1.0.0


# @shout-sdk/common-models

Shout common TypeScript models.

## Install

```
npm install @shout-sdk/common-models
```

## Example Usage

```typescript
import { BooleanResponse } from '@shout-sdk/common-models';

const response = new BooleanResponse(false, ["error1", "error2"]);
```
npm package: @shout-sdk/constants
Description: Shout constants for use across Shout TypeScript applications.
Author: Shout Platform Ltd
Latest version: 1.0.2


# @shout-sdk/constants

Shout constants for use across Shout TypeScript applications.

## Install

```
npm install @shout-sdk/constants
```

## Example Usage

```typescript
import { PublicUrls } from '@shout-sdk/constants';

const url = PublicUrls.Rs.ServiceInformation;
```
npm package: @shout-sdk/cryptography
Description: Shout cryptography utilities including SHA3 hashing and salting.
Author: Shout Platform Ltd
Latest version: 1.0.0


# @shout-sdk/cryptography

Shout cryptography utilities including SHA3 hashing and salting.

## Install

```
npm i @shout-sdk/cryptography
```

## Example Usage

```typescript
import { CryptographyUtilities } from '@shout-sdk/cryptography';

const hashedPassword = CryptographyUtilities.hash('supersecretpassword');

const hashedAndSaltedPassword = CryptographyUtilities.saltAndRehash(hashedPassword, saltString);

const answer = CryptographyUtilities.calculateAnswer(question, hashedAndSaltedPassword);
```
npm package: @shout-sdk/http-request
Description: Shout HttpRequest helper class for reducing the amount of required boilerplate code when making HTTP requests with fetch.
Author: Shout Platform Ltd
Latest version: 1.0.1


# @shout-sdk/http-request

shout-http-request is a package to help reduce the amount of boilerplate code when making HTTP requests with fetch.

It contains sensible defaults and handles the conversion of any JavaScript object into a JSON string during POST requests.

## Install

```
npm i @shout-sdk/http-request
```

## Example Usage

```typescript
// Import the class from the npm package
import { HttpRequest } from '@shout-sdk/http-request';

const getRequest = HttpRequest.get('http://google.com', { 
    'Accept': 'application/json'
});

const postRequest = HttpRequest.post('http://google.com', HttpRequest.DefaultPostHeaders, {
    userId: 1000001,
    email: "email@address.com"
});

// Both methods produce a request ready to pass straight into a fetch call

const getResponse = await fetch(getRequest);

const postResponse = await fetch(postRequest);
```
npm package: @shout-sdk/service-client
Description: Shout service client.
Author: Shout Platform Ltd
Latest version: 1.0.2


# @shout-sdk/service-client

A small client that interacts with the Shout Routing Service to retrieve information about all of Shout's services.

## Install

```shell
npm install @shout-sdk/service-client
```

## Example Usage

```typescript
import { 
    ClientSoftwareInformation,
    ServiceUrlContainer, 
    ServiceInformation, 
    ServiceClient } from '@shout-sdk/service-client';

let serviceInfo : ServiceInformation;
serviceInfo = await ServiceClient.getServiceInformation('http://rs1.shout.loc:43202');

let serviceUrls : ServiceUrlContainer;
serviceUrls = serviceInfo.serviceUrls;

let softwareInfo : ClientSoftwareInformation;
softwareInfo = serviceInfo.softwareInformation;
```
npm package: @shout-sdk/session-client
Description: Shout Session Client.
Author: Shout Platform Ltd
Latest version: 1.0.1


# @shout-sdk/session-client

Shout Session Client. Used to create and terminate sessions with the Shout API.

## Install

```
npm install @shout-sdk/session-client
```

## Example Usage

```typescript
import { SessionClient } from '@shout-sdk/session-client';

const session = await SessionClient.startNew(uasUrl, userCredentials);

const terminationResult = await SessionClient.terminate(uasUrl, session.cookie);
```
npm package: @shout-sdk/shout-client
Description: Shout Client.
Author: Shout Platform Ltd
Latest version: 1.0.7


# @shout-sdk/shout-client

Client for interacting Shout's various services. Provides automatic handling of service routing and session refreshing as well as generic serialization/deserialization of TypeScript classes.

## Install

```
npm install @shout-sdk/shout-client
```

## Example Usage

```typescript
import { ShoutClient, AuthorizedShoutClient, Service } from '@shout-sdk/shout-client';

const deserializedResult = await ShoutClient.post<GetCountriesResponse>(
    Service.Uas, 
    PublicUrls.Uas.PhoneNumber.GetCountries);

// Now usable with GetCountriesResponse typings
console.log(getCountriesResponse.countries)
```
npm package: @shout-sdk/test-utilities
Description: Shout test utilities.
Author: Shout Platform Ltd
Latest version: 1.0.1


# @shout-sdk/test-utilities

Shout test utilities.

## Install

```
npm install @shout-sdk/test-utilities
```

## Example Usage

```typescript
import * as TestUtilities from '@shout-sdk/test-utilities';

TestUtilities.mockFetch(mockFn);

const testPassword = TestUtilities.PlainTextPassword;
const mockUrls = TestUtilities.MockUrls
```
npm package: @shoutem/api-sdk
Description: Javascript SDK for Shoutem API using fetch
Author: Shoutem
Latest version: 1.1.16

# README #

Official SDK for Shoutem API. Can be used as npm package or by importing script.

Install as npm package:
`npm i @shoutem/api-sdk`

Include as a script:
`<script src="https://static.shoutem.com/libs/api-sdk/0.1.7/api-sdk.min.js"></script>`