open-index/open-npm huggingface dataset:
npm package: @kobayami/env-utils
Description: Utilities for multi-platform code that runs in Web and NodeJS environments.
Author: Marco Kaufmann
Latest version: 1.0.0

# @kobayami/env-utils

## Installation

```sh
npm install --save @kobayami/env-utils
```

## Version and License

- Latest version: 1.0.0
- License: [MIT](https://kobayami.github.io/env-utils/LICENSE.md)
- [Changes](https://kobayami.github.io/env-utils/CHANGES.md)

## Summary

Utilities for multi-platform code that runs in Web and NodeJS environments:

- Check for environment type (_NodeJS_ or _Web_)
- Enable dynamic NodeJS module loading during runtime (i.e., not via static `import` statements)
- WebPack compatibility

## Usage Example

Dynamically loads a NodeJS module during runtime.
Throws an exception if the code is not running in a NodeJS environment.
This can also be safely embedded into code running in a Web environment like this:

```ts
if (envType === EnvType.NODE) {
    const leModule = requireNodeModuleAtRuntime('leModule');
    leModule.foo();
    ...
}
```

This is a practical example from `@kobayami/threads`:

```ts
const WorkerClass = envType === EnvType.NODE?
    requireNodeModuleAtRuntime('worker_threads').Worker: Worker
```

For multi platform code, this approach is sometimes necessary,
because NodeJS specific modules must only be loaded after we have confirmed
that we are not running in a Web environment.
A simple `import` at the beginning of a file would therefore not work,
browsers would raise a 404 error.

Module loading via this function is also compatible with WebPack, which is
the actual reason why we need it as a wrapper for the NodeJS `require` function.
When your code is being bundled and packaged by WebPack, dynamic module loading
via this approach does not confuse WebPack. No additional configuration is necessary.

## See Also

- [API Documentation](https://kobayami.github.io/env-utils/docs/modules.html)
- [Project Homepage](https://kobayami.github.io/env-utils)
- [Project on GitHub](https://github.com/kobayami/env-utils)
- [Issues](https://github.com/kobayami/env-utils/issues)
npm package: @kobayami/guards
Description: Some standard guards and exceptions
Author: Marco Kaufmann
Latest version: 1.1.0

# @kobayami/guards

## Installation

```sh
npm install --save @kobayami/guards
```

## Version and License

- Latest version: 1.1.0
- License: [MIT](https://kobayami.github.io/guards/LICENSE.md)
- [Changes](https://kobayami.github.io/guards/CHANGES.md)

## Summary

Some standard guards and exceptions:

- Type erasure for `null` and `undefined`
- Array, index and range guards
- Standard exception declarations, such as _illegal state_, _illegal argument_ or _unsupported operation_

## Usage Example

```ts
import { assertPresent, assertEqualLength, illegalArgument } from "@kobayami/guards";

function first<T>(array: T[]): T {
    return assertPresent(array[0]);
}

function mergeMap<T, U>(a: T[], b: T[], operation: (elemA: T, elemB: T): U): U[] {
    const length = assertEqualLength(a, b);
    const result: U[] = [];
    for (let index = 0; index < length; index++) {
        result.push(operation(a[index], b[index]));
    }
    return result;
}

function assertInt16(value: number): number {
    if (value !== Math.round(value) || (value < -32768) || (value > 32767)) 
        throw illegalArgument();
}
```

## See Also

- [API Documentation](https://kobayami.github.io/guards/docs/modules.html)
- [Project Homepage](https://kobayami.github.io/guards)
- [Project on GitHub](https://github.com/kobayami/guards)
- [Issues](https://github.com/kobayami/guards/issues)
npm package: @kobayami/math-utils
Description: Some little math helper functions
Author: Marco Kaufmann
Latest version: 1.1.4

# @kobayami/math-utils

## Installation

```sh
npm install --save @kobayami/math-utils
```

## Version and License

- Latest version: 1.1.4
- License: [MIT](https://kobayami.github.io/math-utils/LICENSE.md)
- [Changes](https://kobayami.github.io/math-utils/CHANGES.md)

## Summary

Some little math helper functions that cover the following areas:

- Division and modulo
- Lerp functions (linear interpolation)
- Clamp functions
- Root and logarithm
- Sign and integer
- Rounding

## Usage Example

```ts
import { mod, divFloor, divTrunc } from "@kobayami/math-utils/lib";

const two = mod(-13, 5);
const minusThree = divFloor(-13, 5);
const minusTwo = divTrunc(-15, 5);
```

## See Also

- [API Documentation](https://kobayami.github.io/math-utils/docs/modules.html)
- [Project Homepage](https://kobayami.github.io/math-utils)
- [Project on GitHub](https://github.com/kobayami/math-utils)
- [Issues](https://github.com/kobayami/math-utils/issues)
npm package: @kobayami/number-types
Description: A minor package that provides type aliases int, long, float and double in TypeScript
Author: Marco Kaufmann
Latest version: 1.0.0

# @kobayami/number-types

## Installation

```sh
npm install --save @kobayami/number-types
```

## Version and License

- Latest version: 1.0.0
- License: [MIT](https://kobayami.github.io/number-types/LICENSE.md)
- [Changes](https://kobayami.github.io/number-types/CHANGES.md)

## Summary

A minor package that provides the type aliases `int`, `long`, `float` and `double` for number types in TypeScript.
The types `int`, `float` and `double` are aliases for `number`, `long` is an alias for `bigInt`.

While the TypeScript compiler cannot enforce the associated number ranges (e.g., restricting `int` to the 32 bit signed integer range),
these type aliases allow for a more precise notation of number types.
This serves documentation purposes and makes the code more readable.
For example, a variable that represents an index could be declared an `int`, 
while a variable used for computations could be declared a `double`.

Also, this may simplify things if code should later be ported from TypeScript to some other language.

## Usage Example

```ts
import { int, double } from "@kobayami/number-types";

function getElementAt<T>(array: T[], index: int): T {
    return array[index];
}

function getDistance(velocity: double, time: double): double {
    return velocity * time;
}
```

## See Also

- [API Documentation](https://kobayami.github.io/number-types/docs/modules.html)
- [Project Homepage](https://kobayami.github.io/number-types)
- [Project on GitHub](https://github.com/kobayami/number-types)
- [Issues](https://github.com/kobayami/number-types/issues)
npm package: @kobayami/random
Description: An LCG random number generator that resembles the behavior of java.util.random
Author: Marco Kaufmann
Latest version: 1.0.0

# @kobayami/random

## Installation

```sh
npm install --save @kobayami/random
```

## Version and License

- Latest version: 1.0.0
- License: [MIT](https://kobayami.github.io/random/LICENSE.md)
- [Changes](https://kobayami.github.io/random/CHANGES.md)

## Summary

An LCG random number generator that resembles the behavior of `java.util.Random`.
This means the `randomInt()` method of this generator will generate the same number sequence as
`java.util.Random.nextInt()` when both are initialized with the same seed.

The purpose of this package is to provide a random number generator
that can be initialized with seeds as to create reproducible random number sequences,
because JS `Math.random()` does not provide such a feature.

## Usage Example

```ts
import { Random } from "@kobayami/random";

const WIDTH = 640;
const HEIGHT = 480;

const rand = new Random(1923968746);

function getRandomPixelPosition(): {x: number; y: number} {
    return {
        x: rand.randomInt(WIDTH),
        y: rand.randomInt(HEIGHT)
    }
}
```

## See Also

- [API Documentation](https://kobayami.github.io/random/docs/modules.html)
- [Project Homepage](https://kobayami.github.io/random)
- [Project on GitHub](https://github.com/kobayami/random)
- [Issues](https://github.com/kobayami/random/issues)
npm package: @kobayami/threads
Description: Enables direct function calls from main thread into worker threads instead of manual message passing.
Author: Marco Kaufmann
Latest version: 1.0.1

# @kobayami/threads

## Installation

```sh
npm install --save @kobayami/threads
```

## Version and License

- Latest version: 1.0.0
- License: [MIT](https://kobayami.github.io/threads/LICENSE.md)
- [Changes](https://kobayami.github.io/threads/CHANGES.md)

## Summary

Enables direct function calls from main thread into worker threads instead of manual message passing.
This simplifies the usage of worker threads a lot!

This library works for both Web and NodeJS environments and provides a common adapter API
for the platform specific parts, so that the same application code can be run 
in both environments without modification.

Core features of this library include:

- Direct function calls from main thread into services run on worker threads
- Own very lightweight RMI protocol specifically for this purpose
- Automatic handling of transfer objects
- Support for synchronous and asynchronous service implementations 
- Compatible with Web and NodeJS environments

## Usage Example

Service interface:

```ts
interface RenderService {
    enable(surface: OffscreenCanvas): Promise<void>;
    getSurface(): Promise<OffscreenCanvas | null>;
    setMaxFps(value: number): Promise<void>;
    getCurrentFps(): Promise<number>;
}
```

Main thread (`main.js`), or client side:

```ts
const renderService = createServiceRmiProxy<RenderService>(
    startWorker('./render.worker')
);

renderService.enable(new OffscreenCanvas(640, 480));
const canvas = await renderService.getSurface();
renderservice.setMaxFps(60);
delay(10);
const currentFps = await renderService.getCurrentFps();
```

Worker thread (`render.worker.js`), or server side:

```ts
class RenderServiceImpl implements RenderService {

    surface: OffscreenCanvas | null = null;
  
    maxFps = 60;
    
    lastRenderCycleTimeMs = Number.MAX_VALUE;
    
    async enable(surface: OffscreenCanvas): Promise<void> {
        this.surface = surface;
        this.startRenderLoop();
    }

    async getSurface(): Promise<OffscreenCanvas | null> {
        return this.surface;
    }
    
    async setMaxFps(value: number): Promise<void> {
        this.maxFps = value;
    }

    async getCurrentFps(): Promise<number> {
        return 1000 / this.lastRenderCycleTimeMs;
    }
    
    private startRenderLoop() {
        ...
    }
}

dispatchRmiRequestsSync(new RenderServiceImpl());
```

## See Also

- [API Documentation](https://kobayami.github.io/threads/docs/modules.html)
- [Project Homepage](https://kobayami.github.io/threads)
- [Project on GitHub](https://github.com/kobayami/threads)
- [Issues](https://github.com/kobayami/threads/issues)
npm package: @kobe-brants/react-native-keep-awake
Description: Keep device screen awake for React Native
Author: Kobe Brants
Latest version: 1.1.1

# react-native-keep-awake

Keep device screen awake for React Native

## Installation

```sh
npm install @kobe-brants/react-native-keep-awake
```

## Usage


```js
import KeepAwake from '@kobe-brants/react-native-keep-awake';

useEffect(() => {
  KeepAwake.activate();

  return () => {
    KeepAwake.deactivate();
  };
}, []);
```


## 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: @kobedevi/sassdoc
Description: Release the docs!
Author: Kitty Giraudel
Latest version: 2.7.5

[![SassDoc](https://cdn.rawgit.com/SassDoc/sassdoc/master/assets/header.svg)](http://sassdoc.com)

[![Build Status][travis-image]][travis-url]
[![Coverage Status][coveralls-image]][coveralls-url]
[![Dependencies Status][depstat-image]][depstat-url]
[![License][license-image]][license-url]
[![Gitter][chat-image]][chat-url]

[![NPM][npm-image]][npm-url]

## Documentation

Head to the [site][SassDoc] for extensive documentation.

## Credits

* [Valérian Galliat](https://twitter.com/valeriangalliat)
* [Fabrice Weinberg](https://twitter.com/fweinb)
* [Pascal Duez](https://twitter.com/pascalduez)
* [Kitty Giraudel](http://twitter.com/KittyGiraudel)

[SassDoc]: http://sassdoc.com
[npm-url]: https://www.npmjs.com/package/sassdoc
[npm-image]: https://nodei.co/npm/sassdoc.png?downloads=true
[travis-url]: https://travis-ci.org/SassDoc/sassdoc?branch=master
[travis-image]: http://img.shields.io/travis/SassDoc/sassdoc.svg?style=flat-square
[coveralls-url]: https://coveralls.io/r/SassDoc/sassdoc?branch=master
[coveralls-image]: https://img.shields.io/coveralls/SassDoc/sassdoc.svg?style=flat-square
[depstat-url]: https://david-dm.org/SassDoc/sassdoc
[depstat-image]: https://david-dm.org/SassDoc/sassdoc.svg?style=flat-square
[license-image]: http://img.shields.io/npm/l/sassdoc.svg?style=flat-square
[license-url]: LICENSE.md
[chat-image]: https://img.shields.io/badge/gitter-join%20chat-blue.svg?style=flat-square
[chat-url]: https://gitter.im/SassDoc/sassdoc
npm package: @kobedevi/sassdoc-extras
Description: SassDoc's Toolbelt
Latest version: 3.0.1

# SassDoc Extras [![npm version][npm-image]][npm-url] [![Build Status][travis-image]][travis-url]

Extra tools for SassDoc theme authors. See [documentation](http://sassdoc.com/extra-tools/).

[npm-url]: https://www.npmjs.org/package/sassdoc-extras
[npm-image]: http://img.shields.io/npm/v/sassdoc-extras.svg?style=flat-square
[travis-url]: https://travis-ci.org/SassDoc/sassdoc-extras?branch=master
[travis-image]: http://img.shields.io/travis/SassDoc/sassdoc-extras.svg?style=flat-square
npm package: @kobedevi/sassdoc-theme-default
Description: SassDoc's default theme
Author: SassDoc team
Latest version: 2.8.6

# SassDoc Default Theme

This is [SassDoc](https://github.com/SassDoc/sassdoc)'s default theme which means this is the theme that will be used when running SassDoc without a custom theme.

This theme uses [Nunjucks](https://mozilla.github.io/nunjucks/) as a template engine.

Because this is likely to be the most used theme of all, it is not as simple as a theme can get. For instance, there is quite a bit of logic in both `index.js` and the templates. Fortunately, you don't have to deal with that at all.

## Customising the view

There are some possibilites to customise the theme's view. Essentially what's being displayed, what's not, and what are the project informations to be displayed in the header and footer.

To learn how to customise the theme's view, please read [the documentation on SassDoc's site](http://sassdoc.com/customising-the-view/). Fear not! It's all about creating a configuration file. No big deal.
npm package: @kober-basket/openclaw-rpa
Description: OpenClaw plugin for listing and running iFlyRPA workflows
Latest version: 0.1.0

# OpenClaw RPA Plugin

Minimal OpenClaw plugin for listing and running remote RPA workflows.

Package name: `@kober-basket/openclaw-rpa`

## Install

From npm:

```bash
openclaw plugins install @kober-basket/openclaw-rpa --pin
```

From a local checkout:

```bash
openclaw plugins install ./extensions/rpa
```

## Configure

Use the plugin CLI:

```bash
openclaw rpa setup --base-url https://newapi.iflyrpa.com/api/rpa-openapi --api-key YOUR_API_KEY
```

Or use generic config writes:

```bash
openclaw config set plugins.entries.rpa.enabled true --strict-json
openclaw config set plugins.entries.rpa.config.baseUrl "\"https://newapi.iflyrpa.com/api/rpa-openapi\"" --strict-json
openclaw config set plugins.entries.rpa.config.apiKey "\"YOUR_API_KEY\"" --strict-json
```

## Tool

This plugin registers an optional tool named `rpa_workflow`.

Suggested actions:

- `list_workflows`
- `run_workflow_sync`
- `run_workflow_async`
- `get_execution_result`

## Notes

- Default endpoint paths are inferred from the iFlyRPA OpenAPI docs and can be overridden under `plugins.entries.rpa.config.paths`.
- If the vendor docs use different field names for run payloads, adjust `src/client.ts` before publishing.
- Before publishing, replace the `@your-scope` placeholder with your real npm scope.
npm package: @kobevantreek/calendar-inject
Description: [![NPM version](https://img.shields.io/npm/v/pkg-name?color=a1b858&label=)](https://www.npmjs.com/package/pkg-name)
Author: Cloud7.js
Latest version: 0.0.27

# Inject publish

Change the version in the package.json

npm run build

npm publish (needs npm login first)
npm package: @kobil/create-miniapp
Description: An authentication & scaffolding tool for Kobil Ecosystem
Author: Kobil GmbH
Latest version: 1.0.3

<img src="./power_logo_blue.png" width="100" align="left" />

# KOBIL - MiniApp CLI

Bootstrap your MiniApp in a matter of **minutes**!

## Setup

NodeJS :
https://nodejs.org/en/

Yarn:
`npm i -g yarn`


You can either install the app globally using

`npm i -g @kobil/create-miniapp`

or run:

**NPM:**
`npx @kobil/create-miniapp`

**NPM:**
`yarn create @kobil/miniapp`