open-index/open-npm huggingface dataset:
npm package: @promises/while-parallel
Description: While Parallel is package from Promises library
Author: Yisrael Eliev
Latest version: 0.5.0



# @promises/while-parallel
[![Source Code](https://img.shields.io/badge/%3C%2F%3E-source_code-blue.svg)](https://github.com/yisraelx/promises/blob/master/modules/while-parallel)
[![Version](https://img.shields.io/npm/v/@promises/while-parallel.svg)](https://www.npmjs.com/package/@promises/while-parallel)
[![MIT License](https://img.shields.io/npm/l/@promises/while-parallel.svg)](https://github.com/yisraelx/promises/blob/master/LICENSE)
[![Bundle Size](https://img.shields.io/bundlephobia/min/@promises/while-parallel.svg)](https://bundlephobia.com/result?p=@promises/while-parallel)

**While Parallel is package from Promises library**

## Use

**Module**
```sh
$ npm install --save @promises/while-parallel
```
```typescript
import {
 default as whileParallel
} from '@promises/while-parallel';
```

**Browser**
```html
<script src="https://unpkg.com/@promises/while-parallel/bundle.umd.min.js"></script>
```
```typescript
let {
 whileParallel
} = P;
```


**Examples**
```typescript
 let index: number = 0;

 whileParallel(() => {
  console.log(`test ${index}`);
  return index++ < 3;
 }, () => {
  let thisIndex = index;
  return timeout((resolve) => {
   console.log(`iteratee ${thisIndex}`);
   resolve();
  }, 4 - index);
 }).then(() => {
  console.log('completed');
 });

 // => 'test 0'
 // => 'test 1'
 // => 'test 2'
 // => 'test 3'
 // => 'iteratee 3'
 // => 'iteratee 2'
 // => 'iteratee 1'
 // => 'completed'
```



### Wrapper

**Module**
```sh
$ npm install --save @promises/while-parallel
```
```typescript
import Promises from '@promises/core';
import '@promises/while-parallel/add';
```
*Or*
```typescript
import Promises from '@promises/while-parallel/add';
```

**Browser**
```html
<script src="https://unpkg.com/@promises/core/bundle.umd.min.js"></script>
<script src="https://unpkg.com/@promises/while-parallel/add/bundle.umd.min.js"></script>
```
```typescript
let {
 Promises
} = P;
```


**Examples**
```typescript
let index: number = 0;
Promises.whileParallel(() => {
 console.log(`test ${index}`);
 return index++ < 3;
}, () => {
 let thisIndex = index;
 return Promises.timeout((resolve) => {
  console.log(`iteratee ${thisIndex}`);
  resolve();
 }, 4 - index);
}).then(() => {
 console.log('completed');
});
// => 'test 0'
// => 'test 1'
// => 'test 2'
// => 'test 3'
// => 'iteratee 3'
// => 'iteratee 2'
// => 'iteratee 1'
// => 'completed'
```


## Compatibility
These modules are written in typescript and available in ES5 and ES6 standard, the requirements are a global __Promise__ (native or polyfill).

## License
Copyright © 2017 [Yisrael Eliav](https://github.com/yisraelx),
Licensed under the [MIT license](https://github.com/yisraelx/promises/blob/master/LICENSE).
npm package: @promises/while-series
Description: While Series is package from Promises library
Author: Yisrael Eliev
Latest version: 0.5.0



# @promises/while-series
[![Source Code](https://img.shields.io/badge/%3C%2F%3E-source_code-blue.svg)](https://github.com/yisraelx/promises/blob/master/modules/while-series)
[![Version](https://img.shields.io/npm/v/@promises/while-series.svg)](https://www.npmjs.com/package/@promises/while-series)
[![MIT License](https://img.shields.io/npm/l/@promises/while-series.svg)](https://github.com/yisraelx/promises/blob/master/LICENSE)
[![Bundle Size](https://img.shields.io/bundlephobia/min/@promises/while-series.svg)](https://bundlephobia.com/result?p=@promises/while-series)

**While Series is package from Promises library**

## Use

**Module**
```sh
$ npm install --save @promises/while-series
```
```typescript
import {
 default as whileSeries
} from '@promises/while-series';
```

**Browser**
```html
<script src="https://unpkg.com/@promises/while-series/bundle.umd.min.js"></script>
```
```typescript
let {
 whileSeries
} = P;
```


**Examples**
```typescript
 let index: number = 0;

 whileSeries(() => {
   console.log(`test ${index}`);
   return index++ < 3;
 }, () => timeout((resolve) => {
   console.log(`iteratee ${index}`);
   resolve();
 }, 4 - index)).then(() => {
   console.log('completed');
 });

 // => 'test 0'
 // => 'iteratee 1'
 // => 'test 1'
 // => 'iteratee 2'
 // => 'test 2'
 // => 'iteratee 3'
 // => 'test 3'
 // => 'completed'
```



### Wrapper

**Module**
```sh
$ npm install --save @promises/while-series
```
```typescript
import Promises from '@promises/core';
import '@promises/while-series/add';
```
*Or*
```typescript
import Promises from '@promises/while-series/add';
```

**Browser**
```html
<script src="https://unpkg.com/@promises/core/bundle.umd.min.js"></script>
<script src="https://unpkg.com/@promises/while-series/add/bundle.umd.min.js"></script>
```
```typescript
let {
 Promises
} = P;
```


**Examples**
```typescript
let index: number = 0;
Promises.whileSeries(() => {
 console.log(`test ${index}`);
 return index++ < 3;
}, () => Promises.timeout((resolve) => {
 console.log(`iteratee ${index}`);
 resolve();
}, 4 - index)).then(() => {
 console.log('completed');
});
// => 'test 0'
// => 'iteratee 1'
// => 'test 1'
// => 'iteratee 2'
// => 'test 2'
// => 'iteratee 3'
// => 'test 3'
// => 'completed'
```


## Compatibility
These modules are written in typescript and available in ES5 and ES6 standard, the requirements are a global __Promise__ (native or polyfill).

## License
Copyright © 2017 [Yisrael Eliav](https://github.com/yisraelx),
Licensed under the [MIT license](https://github.com/yisraelx/promises/blob/master/LICENSE).
npm package: @promises/wrap
Description: Wrap is package from Promises library
Author: Yisrael Eliev
Latest version: 0.5.0



# @promises/wrap
[![Source Code](https://img.shields.io/badge/%3C%2F%3E-source_code-blue.svg)](https://github.com/yisraelx/promises/blob/master/modules/wrap)
[![Version](https://img.shields.io/npm/v/@promises/wrap.svg)](https://www.npmjs.com/package/@promises/wrap)
[![MIT License](https://img.shields.io/npm/l/@promises/wrap.svg)](https://github.com/yisraelx/promises/blob/master/LICENSE)
[![Bundle Size](https://img.shields.io/bundlephobia/min/@promises/wrap.svg)](https://bundlephobia.com/result?p=@promises/wrap)

**Wrap is package from Promises library**

## Use

**Module**
```sh
$ npm install --save @promises/wrap
```
```typescript
import {
 default as wrap
} from '@promises/wrap';
```

**Browser**
```html
<script src="https://unpkg.com/@promises/wrap/bundle.umd.min.js"></script>
```
```typescript
let {
 wrap
} = P;
```


**Examples**
```typescript
 function multiply(a: number, b: number){
     return a * b;
 }

 let multiplyWrap: (a: number, b: number) => Promise<number> = wrap(multiply);
 let promise: Promise<number> = multiplyWrap(2, 3);

 promise.then((result: number) => {
     console.log(result); // result => 6
 });
```



### Wrapper

**Module**
```sh
$ npm install --save @promises/wrap
```
```typescript
import Promises from '@promises/core';
import '@promises/wrap/add';
```
*Or*
```typescript
import Promises from '@promises/wrap/add';
```

**Browser**
```html
<script src="https://unpkg.com/@promises/core/bundle.umd.min.js"></script>
<script src="https://unpkg.com/@promises/wrap/add/bundle.umd.min.js"></script>
```
```typescript
let {
 Promises
} = P;
```


**Examples**
```typescript
 function multiply(a: number, b: number){
     return a * b;
 }

 let multiplyWrap: (a: number, b: number) => Promises<number> = Promises.wrap(multiply);
 let promises: Promises<number> = multiplyWrap(2, 3);

 promises.then((result: number) => {
     console.log(result); // result => 6
 });
```


## Compatibility
These modules are written in typescript and available in ES5 and ES6 standard, the requirements are a global __Promise__ (native or polyfill).

## License
Copyright © 2017 [Yisrael Eliav](https://github.com/yisraelx),
Licensed under the [MIT license](https://github.com/yisraelx/promises/blob/master/LICENSE).
npm package: @prommoto/execution-trace-logger
Description: <h2>install</h2> <p>npm i @prommoto/execution-trace-logger</p>
Latest version: 0.1.6

<h2>install</h2>
<p>npm i @prommoto/execution-trace-logger</p>

<h2>configure</h2>

1. import LoggerModule into app module and provide winston transport instance in LoggerModule configuration using forRootAsync method to add LoggerService into nest IoC system.

```ts
import * as CloudWatchTransport from 'winston-cloudwatch';
import { CloudWatchLogs } from 'aws-sdk';
import { LoggerModule } from '../logger';

import { AppController } from './app.controller';
import { AppService } from './app.service';

@Module({
  imports: [
    LoggerModule.forRootAsync({
      inject: [],
      imports: [],
      useFactory: () => {
        return new CloudWatchTransport({
          cloudWatchLogs: new CloudWatchLogs({
            apiVersion: '2014-03-28',
            region: 'aws-region',
            credentials: {
              accessKeyId: 'aws-access-key-id',
              secretAccessKey: 'aws-secret-key-id',
            },
          }),
          logGroupName: 'myLoggerGroup',
          logStreamName: 'myLoggerStream',
        });
      },
    }),
  ],
  controllers: [AppController],
  providers: [AppService],
})
export class AppModule {}
```

2. connect traceMiddleware to application module for request tracing.

```ts
export class AppModule implements NestModule {
  configure(consumer: MiddlewareConsumer) {
    consumer.apply(traceMiddleware).forRoutes('*');
  }
}
```

<h2>usage</h2>

use LogFunctionIO decorator on class methods where you want to log function arguments and return values.

```ts
import { Controller, Post } from '@nestjs/common';
import { ApiResponse } from '@nestjs/swagger';

import { AppService } from './app.service';

import { LogFunctionIO } from '../logger';
import { CreateResourceDto } from './dto/create-resource.dto';

@Controller()
export class AppController {
  constructor(private readonly appService: AppService) {}

  @LogFunctionIO()
  @Post()
  @ApiResponse({ type: CreateResourceDto })
  public async getHello(): Promise<CreateResourceDto> {
    return new CreateResourceDto();
  }
}
```

<h2>useful resources</h2>
nestJS customer providers: https://docs.nestjs.com/fundamentals/custom-providers<br>
nestJS dynamic modules: https://docs.nestjs.com/fundamentals/dynamic-modules<br>
nestJS middleware: https://docs.nestjs.com/middleware#applying-middleware<br>
request tracing: https://opentracing.io/docs/overview/what-is-tracing<br>
winston: https://www.npmjs.com/package/winston<br>
npm package: @promo-com/eslint-config
Description: ESLint shareable config for the Promo.com JS style guide
Latest version: 0.3.0

## Promo.com eslint config
[ESLint shareable config](http://eslint.org/docs/developer-guide/shareable-configs) for the [Promo.com](https://promo.com) JS style guide

### Style
We started this styleguide extending airbnb's style, invested time reading through all rules, discussing and changing some, most of the time to be less strict. We hope you'll find this useful.

### Setup
ESlint and its plugins must run from your projects dependencies, so install by running this ([on npm 5+](https://www.npmjs.com/package/eslint-config-airbnb)):

```
$ npx install-peerdeps --dev @promo-com/eslint-config
```

In your `.eslintrc.js` file, make sure to extend this package:
```
extends: [
  '@promo-com',
]
```

Obviously, you may still want to override `rules`, add `globals` etc. to exactly fit your style and needs.
npm package: @promoboxx/generate-release-notes
Description: Generates a `RELEASE_NOTES.md` file from a `CHANGELOG.md` file. Scans pull requests for any linked issues, release notes, and previews.
Latest version: 1.0.8

# @promoboxx/generate-release-notes

Generates a `RELEASE_NOTES.md` file from a `CHANGELOG.md` file. Scans pull
requests for any linked issues, release notes, and previews.

## Why

In a pull request workflow, those pull requests are a central unit of work. They
drive your commits, which in turn drive your changelog, deploys, releases,
closing linked issues, and more.

They're also a place that allows the developer, aka the one most familiar with
the changes, write a breakdown of the changes. They even allow for attaching
media.

This means they're a great fit for a more formal `RELEASE_NOTES.md` file, one
that can explain the changes in a little more detail, even providing screenshots
and videos.

## How to use

Typically you use this in your CI pipeline, after `standard-version` or whatever
tool generates your `CHANGELOG.md` file:

```shell
npx standard-version
npx @promoboxx/generate-release-notes
git push
```

### Extras

Any found pull request will be scanned for what are called "extras". Any of the
following will be inserted into the `RELEASE_NOTES.md` file underneath the
change with the pull request.

#### Related Issues

The pull request title, branch name, and body will be scanned for related
issues.

#### Previews

If you have a markdown section named `Preview`, the contents of it will be
copied.

#### Release Notes

If you have a markdown section named `Release Notes`, the contents of it will be
copied.

## Configuration

Any options are set via environment variables.

| Variable                          | Default               | Description                                                           |
| --------------------------------- | --------------------- | --------------------------------------------------------------------- |
| `RELEASE_NOTES_GITHUB_TOKEN`      |                       | Token used to load pull requests when scanning for extras.            |
| `RELEASE_NOTES_JIRA_BASE_URL`     |                       | Base URL to your JIRA issues.                                         |
| `RELEASE_NOTES_SKIP_COMMIT`       | `false`               | Whether the tool should commit the generated `RELEASE_NOTES.md` file. |
| `RELEASE_NOTES_CHANGE_TYPE_ORDER` | `Features, Bug Fixes` | Order of sections in the generated `RELEASE_NOTES.md` file.           |