open-index/open-npm huggingface dataset:
npm package: @rebelcode/plugin-injectable
Description: Adds injection markers and parameters list to instances marked as injectable
Author: RebelCode
Latest version: 0.0.1

# Babel Plugin Injectable
Adds ability to mark objects as `injectable` so the DI container can automatically create instances and resolve dependencies. This plugin also adds the list of function (or constructor params) to the marked object. So the DI container shouldn't do in runtime.
## Install
Run:
```
$ npm install --save-dev @rebelcode/plugin-injectable
```

And add `@rebelcode/plugin-injectable` plugin to your `.babelrc`
## Details

After applying the plugin this code:
```js
/**
 * @injectable
 */
export default function makeAdder (addService) {
  return (a, b) => addService.add(a, b)
}
```

Becomes this during transpilation:
```js
/**
 * @injectable
 */
const makeAdder = function makeAdder(addService) {
  return (a, b) => addService.add(a, b);
};
makeAdder.$injectParams = ["addService"];
makeAdder.$injectable = true;
export default makeAdder;
```

After that the DI container can see the `$injectable` property on the class or function. So it can automaticaly create the service and resolve it's dependencies (parameters listed in `$injectParams` property).

### Injectable classes
Using `@injectable` with classes to create new class instance with automatically resolved constructor dependencies.

To redefine the created instance name, set it after `@injectable` word in the comment block. Factory function preferred name can be also rewritten. 
```js
/**
 * @injectable fooService
 */
class FooCoolService {
  constructor (moment) {
    // ...
  }
}
```
The plugin will add these fields:
 ```js 
FooCoolService.$injectable = true;
FooCoolService.$injectParams = ["moment"];
FooCoolService.$injectAs = "fooService";
FooCoolService.$injectNewInstance = true;
```
 So the DI container can:
 1. Use that name `fooService` to create new instance of the service.
 2. Create new instance of `FooCoolService` in container with automaticaly resolved dependencies.
npm package: @rebelcode/vc-datetime-picker
Description: Datetime picker component
Author: RebelCode
Latest version: 0.1.0

# Datetime Picker Component
[![npm (scoped)](https://img.shields.io/npm/v/@rebelcode/vc-datetime-picker.svg)]()

## Usage
```js
<datetime-picker v-model="datetime" inline-template>
    <div>
        <span>
            {{ nativeDate }}
        </span>
        <input type="text" placeholder="YYYY-MM-DD" v-model="dateValue" readonly/>
        <input type="text" placeholder="HH:ii:ss" v-model="timeValue" readonly/>
    </div>
</datetime-picker>
```
Any implementations of date picker and time picker can be used inside `datetime-picker`. In order to use them computed `dateValue` and `timeValue` must be implemented.

## Developing
Run `npm install` to install all dev dependencies.

Here is available npm commands.

Build library while developing
```sh
npm run dev
```

Build library for production
```sh
npm run production
```

Run e2e tests
```sh
npm run e2e
```
npm package: @rebelcode/vc-paged
Description: Paged component
Author: RebelCode
Latest version: 0.1.0

# Paged Component

## Usage
```js
<paged :items="items" :selected-keys="selectedItems"></paged>
```

Where `items` has type of `FunctionalCollection` and `selectedItems` has type of `FunctionalLimitedCollection` from [std-lib](https://github.com/RebelCode/std-lib).

## Developing
Run `npm install` to install all dev dependencies.

Here is available npm commands.

Build library while developing
```sh
npm run dev
```

Build library for production
```sh
npm run production
```

Run e2e tests
```sh
npm run e2e
```
npm package: @rebelcode/vc-repeater
Description: Repeater component
Author: RebelCode
Latest version: 0.1.0

# Repeater Component

## Usage
```js
<repeater :collection="items">
    <div class="repeater-item" slot-scope="r">
        <span>{{ r.item.title }}</span>
        <button @click="r.remove(r.item)">x</button>
    </div>
</repeater>
```
Where `collection` has type of `FunctionalCollection` from [std-lib](https://github.com/RebelCode/std-lib).

This example will iterate through all items in `collection` object and output each item using child `repeater` code (`<div slot-scope="r"...` in our case). Next options is available in item's code:

> `{scopeName}` is string you've passed to `slot-scope` attribute inside item's template. In our example is `r`. In that template you'll be able to access to exposed methods and variables using that scope.

`{scopeName}.remove(item)` - function for removing item from the collection. Usefull when you want to add controls to your items (like `x` button for removing).

`{scopeName}.item` - item that we iterating on from our collection.

## Developing
Run `npm install` to install all dev dependencies.

Here is available npm commands.

Build library while developing
```sh
npm run dev
```

Build library for production
```sh
npm run production
```

Run e2e tests
```sh
npm run e2e
```
npm package: @rebelcode/vc-selection-list
Description: Selection List component
Author: RebelCode
Latest version: 0.1.0

# Selection List Component
[![npm (scoped)](https://img.shields.io/npm/v/@rebelcode/vc-selection-list.svg)]()

Selection List is a Vue component that extend Repeater component from [here](https://github.com/RebelCode/vc-repeater) and used for creating components that can be used for selection item (or items) from the passed collection.

## Usage
```js
<selection-list :collection="items" v-model="selectedValue">
    <div :class="[r.isItemSelected(r.item) ? 'selected' : '']" @click="r.select(r.item)" slot-scope="r">
        <span>{{ r.item.title }}</span>
    </div>
</selection-list>
```
Where `collection` is type of `FunctionalCollection` from [here](https://github.com/RebelCode/std-lib). `v-model` var (`selectedValue` in our case) is type of `Array`. Also `selection-list` can be multiple, if `:multiple="true"` is set on `selection-list` component.

When rendering one item from the collection, all methods and objects from Repeater component and new ones available:

> `{scopeName}` is string you've passed to `slot-scope` attribute inside item's template. In our example is `r`. In that template you'll be able to access to exposed methods and variables using that scope.

`{scopeName}.isItemSelected(item)` - function for checking that item is selected.

`{scopeName}.select(item)` - function for selecting item (`@click="r.select(r.item)` in example above").

`{scopeName}.getKey(item)` - function for getting key from collection's item. This is useful when selection list wrapper is native `select`. In this case you use `getKey(item)` for provide `value` attribute for `option`. For example: `<option :value="r.getKey(r.item)>{{ r.item.title }}</option>`.

## Developing
Run `npm install` to install all dev dependencies.

Here is available npm commands.

Build library while developing
```sh
npm run dev
```

Build library for production
```sh
npm run production
```

Run e2e tests
```sh
npm run e2e
```
npm package: @rebelcode/vc-tabs
Description: Tabs component
Author: RebelCode
Latest version: 0.1.0

# Tabs Component

## Usage
```js
<tabs :options="tabsConfig" v-model="activeTab">
    <tab title="First Tab">
        First Tab Content
    </tab>
    <tab title="Second Tab">
        Secont Tab Content
    </tab>
    <tab title="Third Tab">
        Third Tab Content
    </tab>
</tabs>
```

## Development
Run `npm install` to install all dev dependencies.

Here is available npm commands.

Build library while developing
```sh
npm run dev
```

Build library for production
```sh
npm run production
```

Run e2e tests
```sh
npm run e2e
```
npm package: @rebelware/fb-sp-11-11
Description: Functions for working with the Fibonacci sequence and things
Author: Bryan Cross
Latest version: 6.1.0

| Linux | Windows | MacOS|
|-------|-------|-------|
| ![](https://github.com/rebelware/fibonacci-generator/workflows/node-ci/badge.svg)  | ![](https://github.com/rebelware/fibonacci-generator/workflows/node-ci/badge.svg) | ![](https://github.com/rebelware/fibonacci-generator/workflows/node-ci/badge.svg) |
# fib-tools

## Get the nth Number

```javascript
const {getNumber} = require('@bbq-beets/fib-tools')
assert.strictEqual(getNumber(8), 21)
```

## Get a List of Numbers

```javascript
const {getList} = require('@bbq-beets/fib-tools')
assert.strictDeepEqual(getList(8), [0, 1, 1, 2, 3, 5, 8, 13, 21])
```

## Get a Sequence of Numbers   

```javascript   
const {getSequence} = require('@bbq-beets/fib-tools')

const seq = getSequence()

for (const n of seq) {
  console.log(n) // The next Fibonacci number in the sequence
}
```
npm package: @rebelware/fib-gen-sennap
Description: Functions for working with the Fibonacci sequence and things
Author: GitHubber
Latest version: 6.1.15

| Linux | Windows | MacOS|
|-------|-------|-------|
| ![](https://github.com/rebelware/fibonacci-generator/workflows/node-ci/badge.svg)  | ![](https://github.com/rebelware/fibonacci-generator/workflows/node-ci/badge.svg) | ![](https://github.com/rebelware/fibonacci-generator/workflows/node-ci/badge.svg) |
# fib-tools

## Get the nth Number in the series

```javascript
const {getNumber} = require('@bbq-beets/fib-tools')
assert.strictEqual(getNumber(8), 21)
```

## Get a List of Numbers

```javascript
const {getList} = require('@bbq-beets/fib-tools')
assert.strictDeepEqual(getList(8), [0, 1, 1, 2, 3, 5, 8, 13, 21])
```

## Get a Sequence of Numbers   

```javascript   
const {getSequence} = require('@bbq-beets/fib-tools')

const seq = getSequence()

for (const n of seq) {
  console.log(n) // The next Fibonacci number in the sequence
}
```
## Code Scanning Demo

This repository demonstrates an instance of CWE-020: Improper Imput Validation. 

1. Run through the setup flow in the security tab to enable code scanning. Commit directly to master. 
2. Go to actions, and confirm that the analysis has run successfully.
3. Edit script.js and add this code snippet. Create a PR. Wait for validation. 

```js

function endsWith(x, y) {
  return x.lastIndexOf(y) === x.length - y.length;
}

```
npm package: @rebelware/fib-gen-sp-11-17
Description: Functions for working with the Fibonacci sequence and things
Author: GitHubber
Latest version: 1.0.0

| Linux | Windows | MacOS|
|-------|-------|-------|
| ![](https://github.com/rebelware/fibonacci-generator/workflows/node-ci/badge.svg)  | ![](https://github.com/rebelware/fibonacci-generator/workflows/node-ci/badge.svg) | ![](https://github.com/rebelware/fibonacci-generator/workflows/node-ci/badge.svg) |
# fib-tools

## Get the nth Number

```javascript
const {getNumber} = require('@bbq-beets/fib-tools')
assert.strictEqual(getNumber(8), 21)
```

## Get a List of Numbers

```javascript
const {getList} = require('@bbq-beets/fib-tools')
assert.strictDeepEqual(getList(8), [0, 1, 1, 2, 3, 5, 8, 13, 21])
```

## Get a Sequence of Numbers   

```javascript   
const {getSequence} = require('@bbq-beets/fib-tools')

const seq = getSequence()

for (const n of seq) {
  console.log(n) // The next Fibonacci number in the sequence
}
```
## Code Scanning Demo

This repository demonstrates an instance of CWE-020: Improper Imput Validation. 

1. Run through the setup flow in the security tab to enable code scanning. Commit directly to master. 
2. Go to actions, and confirm that the analysis has run successfully.
3. Edit script.js and add this code snippet. Create a PR. Wait for validation. 

```js

function endsWith(x, y) {
  return x.lastIndexOf(y) === x.length - y.length;
}

```
npm package: @rebelware/fibonacci-generator
Description: Functions for working with the Fibonacci sequence and things
Author: GitHubber
Latest version: 6.4.2

| Linux | Windows | MacOS|
|-------|-------|-------|
| ![](https://github.com/rebelware/fibonacci-generator/workflows/node-ci/badge.svg)  | ![](https://github.com/rebelware/fibonacci-generator/workflows/node-ci/badge.svg) | ![](https://github.com/rebelware/fibonacci-generator/workflows/node-ci/badge.svg) |
# fib-tools

## Get the nth Number in the series

```javascript
const {getNumber} = require('@bbq-beets/fib-tools')
assert.strictEqual(getNumber(8), 21)
```

## Get a List of Numbers

```javascript
const {getList} = require('@bbq-beets/fib-tools')
assert.strictDeepEqual(getList(8), [0, 1, 1, 2, 3, 5, 8, 13, 21])
```

## Get a Sequence of Numbers   

```javascript   
const {getSequence} = require('@bbq-beets/fib-tools')

const seq = getSequence()

for (const n of seq) {
  console.log(n) // The next Fibonacci number in the sequence
}
```
## Code Scanning Demo

This repository demonstrates an instance of CWE-020: Improper Imput Validation. 

1. Run through the setup flow in the security tab to enable code scanning. Commit directly to master. 
2. Go to actions, and confirm that the analysis has run successfully.
3. Edit script.js and add this code snippet. Create a PR. Wait for validation. 

```js

function endsWith(x, y) {
  return x.lastIndexOf(y) === x.length - y.length;
}

```
npm package: @rebelware/fibonacci-generator-sennap-11-12
Description: Functions for working with the Fibonacci sequence and things
Author: Bryan Cross
Latest version: 1.0.0

| Linux | Windows | MacOS|
|-------|-------|-------|
| ![](https://github.com/rebelware/fibonacci-generator/workflows/node-ci/badge.svg)  | ![](https://github.com/rebelware/fibonacci-generator/workflows/node-ci/badge.svg) | ![](https://github.com/rebelware/fibonacci-generator/workflows/node-ci/badge.svg) |
# fib-tools

## Get the nth Number

```javascript
const {getNumber} = require('@bbq-beets/fib-tools')
assert.strictEqual(getNumber(8), 21)
```

## Get a List of Numbers

```javascript
const {getList} = require('@bbq-beets/fib-tools')
assert.strictDeepEqual(getList(8), [0, 1, 1, 2, 3, 5, 8, 13, 21])
```

## Get a Sequence of Numbers   

```javascript   
const {getSequence} = require('@bbq-beets/fib-tools')

const seq = getSequence()

for (const n of seq) {
  console.log(n) // The next Fibonacci number in the sequence
}
```
npm package: @rebelware/fibonacci-generator-target
Description: Functions for working with the Fibonacci sequence and things
Author: Bryan Cross
Latest version: 1.0.0

| Linux | Windows | MacOS|
|-------|-------|-------|
| ![](https://github.com/rebelware/fibonacci-generator/workflows/Totally%20local%20CI%20Linux/badge.svg)  | ![](https://github.com/rebelware/fibonacci-generator/workflows/Totally%20local%20CI%20Windows/badge.svg) | ![](https://github.com/rebelware/fibonacci-generator/workflows/Totally%20local%20CI%20MacOS/badge.svg) |
# fib-tools
adsf
## Get the nth Number

```javascript
const {getNumber} = require('@bbq-beets/fib-tools')
assert.strictEqual(getNumber(8), 21)
```asdfasdfadsf

## Get a List of Numbers

```javascript
const {getList} = require('@bbq-beets/fib-tools')
assert.strictDeepEqual(getList(8), [0, 1, 1, 2, 3, 5, 8, 13, 21])
```

## Get a Sequence of Numbers   

```javascript   
const {getSequence} = require('@bbq-beets/fib-tools')

const seq = getSequence()

for (const n of seq) {
  console.log(n) // The next Fibonacci number in the sequence
}
```
npm package: @rebelware/repo-template
Description: Functions for working with the Fibonacci sequence and things
Author: GitHubber
Latest version: 6.3.5

| Linux | Windows | MacOS|
|-------|-------|-------|
| ![](https://github.com/rebelware/fibonacci-generator/workflows/node-ci/badge.svg)  | ![](https://github.com/rebelware/fibonacci-generator/workflows/node-ci/badge.svg) | ![](https://github.com/rebelware/fibonacci-generator/workflows/node-ci/badge.svg) |
# fib-tools

## Get the nth Number in the series

```javascript
const {getNumber} = require('@bbq-beets/fib-tools')
assert.strictEqual(getNumber(8), 21)
```

## Get a List of Numbers

```javascript
const {getList} = require('@bbq-beets/fib-tools')
assert.strictDeepEqual(getList(8), [0, 1, 1, 2, 3, 5, 8, 13, 21])
```

## Get a Sequence of Numbers   

```javascript   
const {getSequence} = require('@bbq-beets/fib-tools')

const seq = getSequence()

for (const n of seq) {
  console.log(n) // The next Fibonacci number in the sequence
}
```
## Code Scanning Demo

This repository demonstrates an instance of CWE-020: Improper Imput Validation. 

1. Run through the setup flow in the security tab to enable code scanning. Commit directly to master. 
2. Go to actions, and confirm that the analysis has run successfully.
3. Edit script.js and add this code snippet. Create a PR. Wait for validation. 

```js

function endsWith(x, y) {
  return x.lastIndexOf(y) === x.length - y.length;
}

```
npm package: @rebelware/test-sp
Description: Functions for working with the Fibonacci sequence and things
Author: Bryan Cross
Latest version: 5.9.0

| Linux | Windows | MacOS|
|-------|-------|-------|
| ![](https://github.com/rebelware/fibonacci-generator/workflows/node-ci/badge.svg)  | ![](https://github.com/rebelware/fibonacci-generator/workflows/node-ci/badge.svg) | ![](https://github.com/rebelware/fibonacci-generator/workflows/node-ci/badge.svg) |
# fib-tools

## Get the nth Number

```javascript
const {getNumber} = require('@bbq-beets/fib-tools')
assert.strictEqual(getNumber(8), 21)
```

## Get a List of Numbers

```javascript
const {getList} = require('@bbq-beets/fib-tools')
assert.strictDeepEqual(getList(8), [0, 1, 1, 2, 3, 5, 8, 13, 21])
```

## Get a Sequence of Numbers   

```javascript   
const {getSequence} = require('@bbq-beets/fib-tools')

const seq = getSequence()

for (const n of seq) {
  console.log(n) // The next Fibonacci number in the sequence
}
```