open-index/open-npm huggingface dataset:
npm package: @kdcloudjs/kwc-wire-service
Description: @wire service
Latest version: 1.0.1

# Wire Service

This code is the implementation of the Kingdee Web Component wire service. The wire service enables declarative binding of data providers called _wire adapters_ to a Kingdee Web Component using the `@wire` decorator.

## Summary

Wire adapters simply provide data. A wire adapter doesn't know anything about the components that it provides data to.

In a component, declare its data needs by using the `@wire` decorator to connect (or wire) it to a wire adapter. In this example, the component is wired to the `getBook` wire adapter. This declarative technique makes component code easy to read and reason about.

```js
// bookItem.js
import { KingdeeElement } from '@kdcloudjs/kwc';

export default class WireExample extends {
    @api bookId;

    @wire(getBook, { id: '$bookId'})
    book;
}
```

Wire adapters are part of KWC's reactivity system. An `@wire` takes the name of a wire adapter and an optional configuration object, which is specific to the wire adapter. You can use a `$` to mark the property of a configuration object as reactive. When a reactive property’s value changes, the wire adapter's `update` method executes with the new value. When the wire adapter provisions new data, the component rerenders if necessary.

```js
// wire-adapter.js
import { bookEndpoint } from './server';

export class getBook {
    connected = false;
    bookId;

    constructor(dataCallback) {
        this.dataCallback = dataCallback;
    }

    connect() {
        this.connected = true;
        this.provideBookWithId(this.bookId);
    }

    disconnect() {
        this.connected = false;
    }

    update(config) {
        if (this.bookId !== config.id) {
            this.bookId = config.id;
            this.provideBookWithId(this.bookId);
        }
    }

    provideBookWithId(id) {
        if (this.connected && this.bookId !== undefined) {
            const book = bookEndpoint.getById(id);

            if (book) {
                this.dataCallback(Object.assign({}, book));
            } else {
                this.dataCallback(null);
            }
        }
    }
}
```

## Implementation Example

The RCast App is a PWA podcast player written with Kingdee Web Components.

https://github.com/pmdartus/rcast
npm package: @kdcloudjs/shoelace
Description: A forward-thinking library of web components.
Latest version: 1.0.47

# Introducing Web Awesome

Web Awesome is the new name for Shoelace, and version 3 is now in beta! [Come check it out!](https://webawesome.com/) 🧡

**Heads up!** Most of the project's activity is now happening [in the new repo](https://github.com/shoelace-style/webawesome).

---

# Shoelace

A forward-thinking library of web components.

- Works with all frameworks 🧩
- Works with CDNs 🚛
- Fully customizable with CSS 🎨
- Includes an official dark theme 🌛
- Built with accessibility in mind ♿️
- Open source 😸

---

Documentation: [shoelace.style](https://shoelace.style)

Source: [github.com/shoelace-style/shoelace](https://github.com/shoelace-style/shoelace)

Twitter: [@shoelace_style](https://twitter.com/shoelace_style)

---

## Shoemakers 🥾

Shoemakers, or "Shoelace developers," can use this documentation to learn how to build Shoelace from source. You will need Node >= 14.17 to build and run the project locally.

**You don't need to do any of this to use Shoelace!** This page is for people who want to contribute to the project, tinker with the source, or create a custom build of Shoelace.

If that's not what you're trying to do, the [documentation website](https://shoelace.style) is where you want to be.

### What are you using to build Shoelace?

Components are built with [LitElement](https://lit-element.polymer-project.org/), a custom elements base class that provides an intuitive API and reactive data binding. The build is a custom script with bundling powered by [esbuild](https://esbuild.github.io/).

### Forking the Repo

Start by [forking the repo](https://github.com/shoelace-style/shoelace/fork) on GitHub, then clone it locally and install dependencies.

```bash
git clone https://github.com/YOUR_GITHUB_USERNAME/shoelace
cd shoelace
npm install
```

### Developing

Once you've cloned the repo, run the following command.

```bash
npm start
```

This will spin up the dev server. After the initial build, a browser will open automatically. There is currently no hot module reloading (HMR), as browser's don't provide a way to reregister custom elements, but most changes to the source will reload the browser automatically.

### Building

To generate a production build, run the following command.

```bash
npm run build
```

### Creating New Components

To scaffold a new component, run the following command, replacing `sl-tag-name` with the desired tag name.

```bash
npm run create sl-tag-name
```

This will generate a source file, a stylesheet, and a docs page for you. When you start the dev server, you'll find the new component in the "Components" section of the sidebar.

### Contributing

Shoelace is an open source project and contributions are encouraged! If you're interesting in contributing, please review the [contribution guidelines](CONTRIBUTING.md) first.

## License

Shoelace is available under the terms of the MIT license.

Whether you're building Shoelace or building something _with_ Shoelace — have fun creating! 🥾
npm package: @kdcloudjs/shoelace-biz
Description: A forward-thinking library of web components.
Latest version: 0.0.1

# Introducing Web Awesome

Web Awesome is the new name for Shoelace, and version 3 is now in beta! [Come check it out!](https://webawesome.com/) 🧡

**Heads up!** Most of the project's activity is now happening [in the new repo](https://github.com/shoelace-style/webawesome).

---

# Shoelace

A forward-thinking library of web components.

- Works with all frameworks 🧩
- Works with CDNs 🚛
- Fully customizable with CSS 🎨
- Includes an official dark theme 🌛
- Built with accessibility in mind ♿️
- Open source 😸

---

Documentation: [shoelace.style](https://shoelace.style)

Source: [github.com/shoelace-style/shoelace](https://github.com/shoelace-style/shoelace)

Twitter: [@shoelace_style](https://twitter.com/shoelace_style)

---

## Shoemakers 🥾

Shoemakers, or "Shoelace developers," can use this documentation to learn how to build Shoelace from source. You will need Node >= 14.17 to build and run the project locally.

**You don't need to do any of this to use Shoelace!** This page is for people who want to contribute to the project, tinker with the source, or create a custom build of Shoelace.

If that's not what you're trying to do, the [documentation website](https://shoelace.style) is where you want to be.

### What are you using to build Shoelace?

Components are built with [LitElement](https://lit-element.polymer-project.org/), a custom elements base class that provides an intuitive API and reactive data binding. The build is a custom script with bundling powered by [esbuild](https://esbuild.github.io/).

### Forking the Repo

Start by [forking the repo](https://github.com/shoelace-style/shoelace/fork) on GitHub, then clone it locally and install dependencies.

```bash
git clone https://github.com/YOUR_GITHUB_USERNAME/shoelace
cd shoelace
npm install
```

### Developing

Once you've cloned the repo, run the following command.

```bash
npm start
```

This will spin up the dev server. After the initial build, a browser will open automatically. There is currently no hot module reloading (HMR), as browser's don't provide a way to reregister custom elements, but most changes to the source will reload the browser automatically.

### Building

To generate a production build, run the following command.

```bash
npm run build
```

### Creating New Components

To scaffold a new component, run the following command, replacing `sl-tag-name` with the desired tag name.

```bash
npm run create sl-tag-name
```

This will generate a source file, a stylesheet, and a docs page for you. When you start the dev server, you'll find the new component in the "Components" section of the sidebar.

### Contributing

Shoelace is an open source project and contributions are encouraged! If you're interesting in contributing, please review the [contribution guidelines](CONTRIBUTING.md) first.

## License

Shoelace is available under the terms of the MIT license.

Whether you're building Shoelace or building something _with_ Shoelace — have fun creating! 🥾
npm package: @kdcsoftware/aws-policy
Description: [![ver](https://img.shields.io/npm/v/@kdcsoftware/aws-policy?style=for-the-badge)](https://www.npmjs.com/package/@kdcsoftware/aws-policy) [![build](https://img.shields.io/github/workflow/status/kdcsoftware/aws-policy/build?style=for-the-badge)](https://gi
Author: Ian Dela Cruz
Latest version: 0.2.0

# AWS Policy Generator

[![ver](https://img.shields.io/npm/v/@kdcsoftware/aws-policy?style=for-the-badge)](https://www.npmjs.com/package/@kdcsoftware/aws-policy)
[![build](https://img.shields.io/github/workflow/status/kdcsoftware/aws-policy/build?style=for-the-badge)](https://github.com/kdcsoftware/aws-policy/actions?query=workflow%3Abuild)
[![codecov](https://img.shields.io/codecov/c/github/kdcsoftware/aws-policy?style=for-the-badge)](https://codecov.io/gh/kdcsoftware/aws-policy)
[![size](https://img.shields.io/bundlephobia/min/@kdcsoftware/aws-policy?style=for-the-badge)](https://bundlephobia.com/result?p=@kdcsoftware/aws-policy)
[![license](https://img.shields.io/github/license/kdcsoftware/aws-policy?style=for-the-badge)](https://github.com/kdcsoftware/aws-policy/blob/master/LICENSE)

This package will generate AWS auth policy for API Gateway lambda authorizer.

## Install

```terminal
npm i @kdcsoftware/aws-policy
```

## Usage

```javascript
const generatePolicy = require('@kdcsoftware/aws-policy');

exports.handler = function (event) {
  const user = {
    name: 'Ian',
    username: 'ian',
    role: 'admin',
  };
  const resources = [
    'GET/users',
    'POST/users',
    'GET/users/*',
    'PUT/users/*',
    'DELETE/users/*',
  ];

  return generatePolicy({
    context: { ...user },
    principalId: user.username,
    effect: 'Allow',
    methodArn: event.methodArn,
    resources,
  });
};
```
npm package: @kdcsoftware/create-nodejs
Description: NodeJs boilerplate
Author: Ian Dela Cruz
Latest version: 0.4.2

# Create NodeJs

[![ver](https://img.shields.io/npm/v/@kdcsoftware/create-nodejs?style=for-the-badge)](https://www.npmjs.com/package/@kdcsoftware/create-nodejs)
[![build](https://img.shields.io/github/workflow/status/kdcsoftware/create-nodejs/build?style=for-the-badge)](https://github.com/kdcsoftware/create-nodejs/actions?query=workflow%3Abuild)
[![codecov](https://img.shields.io/codecov/c/github/kdcsoftware/create-nodejs?style=for-the-badge)](https://codecov.io/gh/kdcsoftware/create-nodejs)
[![size](https://img.shields.io/bundlephobia/min/@kdcsoftware/create-nodejs?style=for-the-badge)](https://bundlephobia.com/result?p=@kdcsoftware/create-nodejs)
[![license](https://img.shields.io/github/license/kdcsoftware/create-nodejs?style=for-the-badge)](https://github.com/kdcsoftware/create-nodejs/blob/master/LICENSE)

Start your [NodeJs](https://nodejs.org/) project easily with the right tools and best practices.

## Usage

```terminal
  _  ______   ____ ____         __ _
 | |/ /  _ \ / ___/ ___|  ___  / _| |___      ____ _ _ __ ___
 | ' /| | | | |   \___ \ / _ \| |_| __\ \ /\ / / _` | '__/ _ \
 | . \| |_| | |___ ___) | (_) |  _| |_ \ V  V / (_| | | |  __/
 |_|\_\____/ \____|____/ \___/|_|  \__| \_/\_/ \__,_|_|  \___|

Usage: npx @kdcsoftware/create-nodejs package-name

Options:
  -V, --version                  output the version number
  --no-bundle                    do not bundle the build output
  -g, --git-origin <remote-url>  add git remote url as origin
  -i, --info                     print environment debug info
  -v, --verbose                  verbose output
  -h, --help                     display help for command

Example:
  npx @kdcsoftware/create-nodejs my-awesome-package

```

## What's included

### Packages Installed

- [babel](https://babeljs.io/)
- [eslint](https://eslint.org/)
- [prettier](https://prettier.io/)
- [jest](https://jestjs.io/)
- [husky](https://github.com/typicode/husky)
- [lint-staged](https://github.com/okonet/lint-staged)
- [parcel](https://parceljs.org/)

### Scripts

- Build script
- Bundler script
- Sample test script
- GitHub Actions for merging and publishing
- Initialize git and add remote url
- Add info in package.json
- Debug jest test scripts using VS Code
npm package: @kdcsoftware/ddb
Description: Lightweight DynamoDB ODM
Author: Ian Dela Cruz
Latest version: 0.8.5

# KDC DDB

A lightweight object modeling for [DynamoDB](https://aws.amazon.com/dynamodb/) inspired by [Mongoose](https://mongoosejs.com/).

The default database operations of this package assumes [single table design](https://www.alexdebrie.com/posts/dynamodb-single-table/) but all can be overridden by writing your own.

[![ver](https://img.shields.io/npm/v/@kdcsoftware/ddb?style=for-the-badge)](https://www.npmjs.com/package/@kdcsoftware/ddb)
[![build](https://img.shields.io/github/workflow/status/kdcsoftware/ddb/build?style=for-the-badge)](https://github.com/kdcsoftware/ddb/actions?query=workflow%3Abuild)
[![codecov](https://img.shields.io/codecov/c/github/kdcsoftware/ddb?style=for-the-badge)](https://codecov.io/gh/kdcsoftware/ddb)
[![size](https://img.shields.io/bundlephobia/min/@kdcsoftware/ddb?style=for-the-badge)](https://bundlephobia.com/result?p=@kdcsoftware/ddb)
[![license](https://img.shields.io/github/license/kdcsoftware/ddb?style=for-the-badge)](https://github.com/kdcsoftware/ddb/blob/master/LICENSE)

## Installation

```bash
npm i @kdcsoftware/ddb
```

## Quick Start

1. Define database table name in environment variable.

   In code:

   ```js
   process.env.DDB_TABLE = 'my-dynamodb-table';
   ```

   or in serverless.yml:

   ```yaml
   provider:
     environment:
       DDB_TABLE: 'my-dynamodb-table'
   ```

   or in package.json:

   ```json
   "scripts": {
      "start": "DDB_TABLE='my-dynamodb-table' node index.js"
   }
   ```

   Note that table creation needs to be done outside this package to allow flexibility.

2. Define the fields of the document.

   ```js
   const fields = {
     id: { required: true },
     name: { required: true },
     type: { required: true },
   };
   ```

3. Define primary and secondary keys

   ```js
   const pKey = { pk: '{type}#{id}', sk: 'ANIMAL#{type}' };
   const sKey = { pk2: 'ANIMAL', sk2: '{type}#{id}' };
   ```

4. Create schema

   ```js
   const schema = new DDB.Schema(fields, pKey, sKey);
   ```

5. Create class

   ```js
   const Animal = DDB.model('Animal', schema);
   ```

6. Create an instance document from data object

   ```js
   const dog = new Animal({ id: 1, name: 'sparkle', type: 'dog' });
   await dog.save();
   ```

7. Check the tests folder for more examples.

### Debugging

This package uses [debug](https://www.npmjs.com/package/debug).

To enable:

```bash
DEBUG=ddb:* node app.js
```
npm package: @kdcsoftware/password
Description: [![ver](https://img.shields.io/npm/v/@kdcsoftware/password?style=for-the-badge)](https://www.npmjs.com/package/@kdcsoftware/password) [![build](https://img.shields.io/github/workflow/status/kdcsoftware/password/build?style=for-the-badge)](https://github.c
Author: Ian Dela Cruz
Latest version: 0.3.0

# Password Hash and Salt Generator

[![ver](https://img.shields.io/npm/v/@kdcsoftware/password?style=for-the-badge)](https://www.npmjs.com/package/@kdcsoftware/password)
[![build](https://img.shields.io/github/workflow/status/kdcsoftware/password/build?style=for-the-badge)](https://github.com/kdcsoftware/password/actions?query=workflow%3Abuild)
[![codecov](https://img.shields.io/codecov/c/github/kdcsoftware/password?style=for-the-badge)](https://codecov.io/gh/kdcsoftware/password)
[![size](https://img.shields.io/bundlephobia/min/@kdcsoftware/password?style=for-the-badge)](https://bundlephobia.com/result?p=@kdcsoftware/password)
[![license](https://img.shields.io/github/license/kdcsoftware/password?style=for-the-badge)](https://github.com/kdcsoftware/password/blob/master/LICENSE)

[![Maintainability](https://img.shields.io/codeclimate/maintainability/kdcsoftware/password?style=for-the-badge)](https://api.codeclimate.com/v1/badges/1b3fb72854c0f527cd26/maintainability) [![Code Issues](https://img.shields.io/codeclimate/issues/kdcsoftware/password?style=for-the-badge)](https://codeclimate.com/github/kdcsoftware/password/issues)
[![Technical Debt](https://img.shields.io/codeclimate/tech-debt/kdcsoftware/password?style=for-the-badge)](https://codeclimate.com/github/kdcsoftware/password/trends/technical_debt)

This package will generate hash and salt given a password. It also has a function to validate a password input.

## Install

```terminal
npm i @kdcsoftware/password
```

## Usage

### On user registration

```javascript
const { getHashSalt } = require('@kdcsoftware/password');

const register = (password) => {
    ...
    const {hash, salt} = getHashSalt(password);
    ...
};
```

Store the hash and salt in your database.

### On user login

```javascript
const { isValidPassword } = require('@kdcsoftware/password');

const login = (username, password) => {
    ...
    const {hash, salt} = getFromDatabase(username);
    if(isValidPassword(password, hash, salt)) {
        console.log("Password is correct");
    } else {
        console.log("Password is wrong");
    }
    ...
};
```

## Configuration

Iterations, keylen and digest can be configured by defining environment variables.

- PW_ITERATIONS
- PW_KEYLEN
- PW_DIGEST

See algorithms in [NodeJs crypto](https://nodejs.org/api/crypto.html#crypto_crypto_createhmac_algorithm_key_options) docs for possible values for digest. More info on the link below.

## Reference

[https://nodejs.org/api/crypto.html#crypto_crypto_pbkdf2_password_salt_iterations_keylen_digest_callback](https://nodejs.org/api/crypto.html#crypto_crypto_pbkdf2_password_salt_iterations_keylen_digest_callback)
npm package: @kdctek/n8n-nodes-wacrapp
Description: n8n community node for WAcr App – WhatsApp CRM & messaging platform
Author: KDC
Latest version: 0.1.2

# n8n-nodes-wacrapp

An n8n community node for **[WAcr App](https://wa.cr)** — the WhatsApp CRM & messaging platform.

## Features

### Action Node: WAcr App

| Resource | Operations |
|----------|-----------|
| **Account** | Get Info, Get Usage, Get Plan Limits |
| **Comment** | Add, Get Many |
| **Contact** | Create, Get, Get Many, Update, Delete, Batch Create, Batch Delete |
| **Group** | Create, Get, Get Many, Update, Delete, Add Contacts, Remove Contacts |
| **Message** | Get, Get Many, Send Text, Send Template, Send Media, Send Interactive |
| **OTP / Authentication** | Send OTP, Verify OTP, Resend OTP, Check Status, List Auth Templates |
| **Source** | Create, Get, Get Many, Update, Delete |
| **Status** | Create, Get, Get Many, Update, Delete |
| **Template** | Get, Get Many, Sync |

### Trigger Node: WAcr App Trigger (Polling)

Starts a workflow when:
- **New Contact** is created
- **New Inbound Message** arrives
- **New Outbound Message** is sent
- **New Message (Any)** is recorded

## Credentials

Generate your API token from your WAcr App account settings at `https://app.wa.cr/settings/api`.

The token is sent as a Bearer token in the `Authorization` header.

## Installation

In your n8n instance:

1. Go to **Settings → Community Nodes**
2. Click **Install**
3. Enter `n8n-nodes-wacrapp`
4. Follow the prompts

Or via CLI:

```bash
npm install n8n-nodes-wacrapp
```

## Base URL

All API calls are made to `https://app.wa.cr/api/v2`.

## License

MIT
npm package: @kddy/auth
Description: Authentication module for Nuxt.js
Latest version: 5.0.0

<h1 align="center" >🔑 Auth Module</h1>
<p align="center">Zero-boilerplate authentication support for Nuxt.js!</p>

<p align="center">
<a href="https://david-dm.org/nuxt-community/auth-module">
    <img alt="" src="https://david-dm.org/nuxt-community/auth-module/status.svg?style=flat-square">
</a>
<a href="https://standardjs.com">
    <img alt="" src="https://img.shields.io/badge/code_style-standard-brightgreen.svg?style=flat-square">
</a>
<a href="https://circleci.com/gh/nuxt-community/auth-module">
    <img alt="" src="https://img.shields.io/circleci/project/github/nuxt-community/auth-module.svg?style=flat-square">
</a>
<a href="https://codecov.io/gh/nuxt-community/auth-module">
    <img alt="" src="https://img.shields.io/codecov/c/github/nuxt-community/auth-module.svg?style=flat-square">
</a>
<br>
<a href="https://npmjs.com/package/@nuxtjs/auth">
    <img alt="" src="https://img.shields.io/npm/v/@nuxtjs/auth/latest.svg?style=flat-square">
</a>
<a href="https://npmjs.com/package/@nuxtjs/auth">
    <img alt="" src="https://img.shields.io/npm/dt/@nuxtjs/auth.svg?style=flat-square">
</a>
</p>

<p align="center">
<a href="https://auth.nuxtjs.org">Read Documentation</a>
</p>


# 🚧 `v5` Development

`dev` branch is under heavy developmentt to prepare for `v5`. Dev docs (WIP) are deployed on https://dev.auth.nuxtjs.org

Meanwhile only important bug fixes are accepted for v4. Please base PRs on [master](https://github.com/nuxt-community/auth-module/tree/master) branch.

## Development

Running demo for development:

```bash
$ yarn install
$ yarn dev
```

## License

[MIT License](./LICENSE) - Copyright (c) Nuxt Community