open-index/open-npm huggingface dataset:
npm package: @capawesome/capacitor-android-dark-mode-support
Description: Capacitor plugin to support dark mode on Android.
Author: Robin Genz
Latest version: 8.0.1

# @capawesome/capacitor-android-dark-mode-support

Capacitor plugin for seamless Android dark mode support. Enhance user experience with `prefers-color-scheme` CSS media feature compatibility.

<div class="capawesome-z29o10a">
  <a href="https://cloud.capawesome.io/" target="_blank">
    <img alt="Deliver Live Updates to your Capacitor app with Capawesome Cloud" src="https://cloud.capawesome.io/assets/banners/cloud-build-and-deploy-capacitor-apps.png?t=1" />
  </a>
</div>

## Compatibility

| Plugin Version | Capacitor Version | Status         |
| -------------- | ----------------- | -------------- |
| 8.x.x          | >=8.x.x           | Active support |

## Installation

```bash
npm install @capawesome/capacitor-android-dark-mode-support
npx cap sync
```

### Android

#### Variables

If needed, you can define the following project variable in your app’s `variables.gradle` file to change the default version of the dependency:

- `$androidxWebkitVersion` version of `androidx.webkit:webkit` (default: `1.9.0`)

This can be useful if you encounter dependency conflicts with other plugins in your project.

## Configuration

No configuration required for this plugin.

## Demo

A working example can be found here: [robingenz/capacitor-plugin-demo](https://github.com/robingenz/capacitor-plugin-demo)

## Usage

The plugin only needs to be installed.

It enables the correct behavior of the [`prefers-color-scheme`](https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-color-scheme) CSS media feature.

## Changelog

See [CHANGELOG.md](https://github.com/capawesome-team/capacitor-plugins/blob/main/packages/android-dark-mode-support/CHANGELOG.md).

## License

See [LICENSE](https://github.com/capawesome-team/capacitor-plugins/blob/main/packages/android-dark-mode-support/LICENSE).
npm package: @capawesome/create-capacitor-plugin
Description: Generate a new Capacitor plugin
Author: Ionic Team
Latest version: 0.1.1

# Create Capacitor Plugin

Generate a new Capacitor plugin for Capawesome.

## Usage

```
npm init @capawesome/capacitor-plugin@latest [<path>] [options]
```

### Example Apps

Example apps for testing are included when initializing a new plugin. To use these templates, you can open the `npx cap open android` or `npx cap open ios` command for Android and iOS respectively. Anything in the `example` folder will be excluded when publishing to npm.

### Options

```
--name <name> ............. npm package name (e.g. "capacitor-plugin-example")
--package-id <id> ......... Unique plugin ID in reverse-DNS notation (e.g. "com.mycompany.plugins.example")
--class-name <name> ....... Plugin class name (e.g. "Example")
--repo <url> .............. URL to git repository (e.g. "https://github.com/example/repo")
--author <author> ......... Author name and email (e.g. "Name <name@example.com>")
--license <id> ............ SPDX License ID (e.g. "MIT")
--description <text> ...... Short description of plugin features
```
npm package: @capibar/core
Description: CapibarJS - это фреймворк для создания различных сервисов на основе `Node.js >= 18`,
Author: CapibarJS
Latest version: 0.1.22

# <img src="README/favicon.png" alt="" width="32px" /> Capibar JS

CapibarJS - это фреймворк для создания различных сервисов на основе `Node.js >= 18`,

### Принципы:
- `DDD`
- `transport-protocol-agnostic`
- `GRASP`
- `Low Coupling`
- `High Cohesion`

Он также предоставляет свою систему модульности, которая обеспечивает Низкую связанность `Low Coupling` и Высокое зацепление `High Cohesion`.



---

### Demo: http://chotko-reklama.ru:5500
### Example: https://github.com/CapibarJS/example

---

## Install

```shell
npm install @capibar/core
# or yarn
yarn add @capibar/core
```

> Node.js версия должна выше 18.x

## Usage

Сначала импортируйте `Server` из `@capibar/core` и создайте экземпляр сервера:

```js
const { Server } = require('@capibar/core');
const server = new Server();
server.start();
```
> По умолчанию запускаются Статический сервер из папки `app/static` и транспортные слои `http` и `ws`

Затем создайте файл `list.js` по пути `app/ship/list.js` и добавьте следующее содержимое:
```js
defineApi({
    params: ['name:string', 'speed:!int', 'description:?string'],
    returns: ['id'],
    method: async ({name, speed, description}) => {
        const id = Math.floor(Math.random() * 99)
        const newObj = {id, name, speed, description}
        newObj.description = newObj?.description ?? 'New description'
        return newObj;
    }
})
```

> ***defineApi*** - Удобная обертка для описания файл-функции.
> 
> ***params***    - Входные параметры функции, которые валидируются и трансформируются с помощью класса Schema. `string[] | ISchemaDefine`
> 
> ***returns***   - Выходные данные из функции. `string[] | ISchemaDefine`
> 
> ***method***    - Бизнес-логика функции `api.ship.add(...)`. `(...args) => Promise<any> | any`

### Пример вызова

> Пример вызова функции из другой функции `api.ship.add({ name: 'first ship', speed: 11 })`.

Каждая такая функция является контроллером транспортов.

Например, функцию `ship.add` можно получить по транспорту HTTP, выполнив запрос: 
`POST http://localhost:3000/api/ship/add` 
> body:`{ "name": "ship", "method": "add", args: [{ name:'ship', speed:11 }] }` 

или по транспорту WebSockets:

> `{ "name": "ship", "method": "add", "args": [{"name": 123,"speed": 1}] }`


### Получение структуры API

Для получения структуры API можно вызвать ручку с параметрами:

```json 
{
  "name": "_",
  "method": "introspect",
  "args": {}
}
```


---

# Лицензия
MIT. Подробнее см. в файле LICENSE.