open-index/open-npm huggingface dataset:
npm package: @ickb/core
Description: iCKB Core utils built on top of CCC
Author: phroi
Latest version: 1000.0.82

# iCKB/Core

iCKB Core utils built on top of CCC

## Dependencies

```mermaid
graph TD;
    A["@ickb/utils"] --> B["@ckb-ccc/core"];
    C["@ickb/dao"] --> A;
    C --> B;
    D["@ickb/core"] --> A;
    D --> C;

    click A "https://github.com/ickb/utils" "Go to @ickb/utils"
    click B "https://github.com/ckb-devrel/ccc/tree/master/packages/core" "Go to @ckb-ccc/core"
    click C "https://github.com/ickb/dao" "Go to @ickb/dao"
    click D "https://github.com/ickb/core" "Go to @ickb/core"
```

## Epoch Semantic Versioning

This repository follows [Epoch Semantic Versioning](https://antfu.me/posts/epoch-semver). In short ESV aims to provide a more nuanced and effective way to communicate software changes, allowing for better user understanding and smoother upgrades.

## Licensing

This source code, crafted with care by [Phroi](https://phroi.com/), is freely available on [GitHub](https://github.com/ickb/core) and it is released under the [MIT License](./LICENSE).
npm package: @ickb/dao
Description: NervosDAO utilities built on top of CCC
Author: phroi
Latest version: 1000.0.82

# iCKB/DAO

NervosDAO utilities built on top of CCC

## Dependencies

```mermaid
graph TD;
    A["@ickb/utils"] --> B["@ckb-ccc/core"];
    C["@ickb/dao"] --> A;
    C --> B;

    click A "https://github.com/ickb/utils" "Go to @ickb/utils"
    click B "https://github.com/ckb-devrel/ccc/tree/master/packages/core" "Go to @ckb-ccc/core"
    click C "https://github.com/ickb/dao" "Go to @ickb/dao"
```

## Epoch Semantic Versioning

This repository follows [Epoch Semantic Versioning](https://antfu.me/posts/epoch-semver). In short ESV aims to provide a more nuanced and effective way to communicate software changes, allowing for better user understanding and smoother upgrades.

## Licensing

This source code, crafted with care by [Phroi](https://phroi.com/), is freely available on [GitHub](https://github.com/ickb/dao) and it is released under the [MIT License](./LICENSE).
npm package: @ickb/lumos-utils
Description: A small utility framework built on top of ckb-js/lumos
Author: phroi
Latest version: 1.4.2
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# Lumos Utils

A small utility framework that provides utilities for Lumos and CKB transactions.

## Warning

It's advised against building on top of this library outside iCKB and related Phroi's projects. The absence of docs, the unstable API and the future possibility of it becoming unmaintained make it suitable only as internal library.

## Licensing

The license for this repository is the MIT License, see the [`LICENSE`](./LICENSE).
npm package: @ickb/order
Description: UDT Limit Order utilities built on top of CCC
Author: phroi
Latest version: 1000.0.82

# iCKB/Order

UDT Limit Order utilities built on top of CCC.

## Dependencies

```mermaid
graph TD;
    A["@ickb/utils"] --> B["@ckb-ccc/core"];
    C["@ickb/order"] --> A;
    C --> B;

    click A "https://github.com/ickb/utils" "Go to @ickb/utils"
    click B "https://github.com/ckb-devrel/ccc/tree/master/packages/core" "Go to @ckb-ccc/core"
    click C "https://github.com/ickb/order" "Go to @ickb/order"
```

## Epoch Semantic Versioning

This repository follows [Epoch Semantic Versioning](https://antfu.me/posts/epoch-semver). In short ESV aims to provide a more nuanced and effective way to communicate software changes, allowing for better user understanding and smoother upgrades.

## Licensing

This source code, crafted with care by [Phroi](https://phroi.com/), is freely available on [GitHub](https://github.com/ickb/order) and it is released under the [MIT License](./LICENSE).
npm package: @ickb/sdk
Description: iCKB SDK built on top of CCC
Author: phroi
Latest version: 1000.0.82

# iCKB/SDK

iCKB SDK built on top of CCC

## Dependencies

```mermaid
graph TD;
    A["@ickb/utils"] --> B["@ckb-ccc/core"];
    C["@ickb/dao"] --> A;
    C --> B;
    D["@ickb/core"] --> A;
    D --> C;
    E["@ickb/order"] --> A;
    E --> B;
    F["@ickb/sdk"] --> A;
    F --> C;
    F --> D;
    F --> E;

    click A "https://github.com/ickb/utils" "Go to @ickb/utils"
    click B "https://github.com/ckb-devrel/ccc/tree/master/packages/core" "Go to @ckb-ccc/core"
    click C "https://github.com/ickb/dao" "Go to @ickb/dao"
    click D "https://github.com/ickb/core" "Go to @ickb/core"
    click E "https://github.com/ickb/order" "Go to @ickb/order"
    click F "https://github.com/ickb/sdk" "Go to @ickb/sdk"
```

## Epoch Semantic Versioning

This repository follows [Epoch Semantic Versioning](https://antfu.me/posts/epoch-semver). In short ESV aims to provide a more nuanced and effective way to communicate software changes, allowing for better user understanding and smoother upgrades.

## Licensing

This source code, crafted with care by [Phroi](https://phroi.com/), is freely available on [GitHub](https://github.com/ickb/sdk) and it is released under the [MIT License](./LICENSE).
npm package: @ickb/solver
Description: NervosDAO utilities built on top of CCC
Author: ivordir
Latest version: 0.5.6

# iCKB/Solver

A Linear Solver, a barebones fork of [Ivordir/YALPS](https://github.com/Ivordir/YALPS).

## Dependencies

```mermaid
graph TD;
    A["@ickb/solver"] --> B["@ickb/utils"];

    click A "https://github.com/ickb/solver" "Go to @ickb/solver"
    click B "https://github.com/ickb/utils" "Go to @ickb/utils"
```

## Epoch Semantic Versioning

This repository follows [Epoch Semantic Versioning](https://antfu.me/posts/epoch-semver). In short ESV aims to provide a more nuanced and effective way to communicate software changes, allowing for better user understanding and smoother upgrades.

## Licensing

This source code, crafted with care by [Ivordir](https://github.com/Ivordir) and slightly modified by [Phroi](https://phroi.com/), is freely available on [GitHub](https://github.com/ickb/solver) and it is released under the [MIT License](./LICENSE).
npm package: @ickb/utils
Description: General utilities built on top of CCC
Author: phroi
Latest version: 1000.0.82

# iCKB/Utils

General utilities built on top of CCC

## Dependencies

```mermaid
graph TD;
    A["@ickb/utils"] --> B["@ckb-ccc/core"];

    click A "https://github.com/ickb/utils" "Go to @ickb/utils"
    click B "https://github.com/ckb-devrel/ccc/tree/master/packages/core" "Go to @ckb-ccc/core"
```

## Epoch Semantic Versioning

This repository follows [Epoch Semantic Versioning](https://antfu.me/posts/epoch-semver). In short ESV aims to provide a more nuanced and effective way to communicate software changes, allowing for better user understanding and smoother upgrades.

## Licensing

This source code, crafted with care by [Phroi](https://phroi.com/), is freely available on [GitHub](https://github.com/ickb/utils) and it is released under the [MIT License](./LICENSE).
npm package: @ickb/v1-core
Description: iCKB scripts and utilities for interacting with them
Author: phroi
Latest version: 1.4.2
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# iCKB v1 core

This repository contains:

- The iCKB Nervos L1 scripts
- A small library that provides utilities for interacting with them.

## Warning

While the iCKB Nervos L1 scripts are stable and they are expected to live for a long time, not the same goes for the typescript utility library. It's advised against building on top of the typescript library outside iCKB and related Phroi's projects. The absence of docs, the unstable API and the future possibility of it becoming unmaintained make it suitable only as internal library.

## Licensing

The license is the MIT License, see the [`LICENSE`](./LICENSE).
npm package: @icke1983/node-red-contrib-ui-popup
Description: Node-RED UI Pupup collection
Author: Jens Rothe
Latest version: 0.9.9

# node-red-contrib-ui-popup Readme

node-red-contrib-ui-popup is a collection of popup-dialogues for the Node-RED
Dashboard

## Install

### Directly in Node-RED via palette manager

Start Node-RED

Select 'Manage palette' from menu top-right

Click on the Install tab

Search for ui-popup in the searchbar and find node-red-contrib-ui-popup

### Manual install

Run command on Node-RED installation directory.

    npm install @icke1983/node-red-contrib-ui-popup

## Usage

This is a collection of popup-dialogues for the node-red dashboard.

The following dialogues are available.

### timepicker node

![timepicker Example](https://raw.githubusercontent.com/icke1983/node-red-contrib-ui-popup/master/images/timepicker.PNG)

### colorpicker node

![colorpicker Example](https://raw.githubusercontent.com/icke1983/node-red-contrib-ui-popup/master/images/colorpicker.PNG)

### colortemp node

![colortemp Example](https://raw.githubusercontent.com/icke1983/node-red-contrib-ui-popup/master/images/colortemp.PNG)

### simpleslider node

![simpleslider Example](https://raw.githubusercontent.com/icke1983/node-red-contrib-ui-popup/master/images/simpleslider.PNG)

### dropdown node

![dropdown Example](https://raw.githubusercontent.com/icke1983/node-red-contrib-ui-popup/master/images/dropdown.PNG)

### iframe node

![iframe Example](https://raw.githubusercontent.com/icke1983/node-red-contrib-ui-popup/master/images/iframe.PNG)

## Inspiration and thanking

- the dropdown node is inspired by [node-red-contrib-ui-contextmenu](https://github.com/bartbutenaers/node-red-contrib-ui-contextmenu) - thank to [Bart Butenaers](https://github.com/bartbutenaers)

- the colortemp node contains calculating code of [Tanner Helland](https://tannerhelland.com/2012/09/18/convert-temperature-rgb-algorithm-code.html) and [Mike D Sutton](https://gist.github.com/EDais) - thank for sharing of your knowledge

## License

The MIT License
npm package: @iclae0/big-file-upload
Description: a big file upload tool
Latest version: 0.0.2

# big-file-upload

[![NPM version](https://img.shields.io/npm/v/@iclae0/big-file-upload.svg?style=flat)](https://npmjs.org/package/@iclae0/big-file-upload)
[![NPM downloads](http://img.shields.io/npm/dm/@iclae0/big-file-upload.svg?style=flat)](https://npmjs.org/package/@iclae0/big-file-upload)

## Install

```bash
$ npm install @iclae0/big-file-upload
```

## Use

最小可使用配置

Minimum Usable Configuration

```js
import { BigFileUpload } from 'big-file-upload'

const bigFileUpload = new BigFileUpload(targetBigFile, {
  chunkUploadUrl: 'chunkUploadUrl',
  createChunkUploadParam: [
    ['reqParamChunkHash', 'chunkHash'],
    ['reqParamChunkSize', 'chunkSize'],
    ['reqParamTotal', 'totalCount'],
    ['reqParamFileHash', 'fileHash'],
    ['reqParamFileSize', 'fileSize'],
    ['reqParamFileName', 'fileName'],
    ['reqParamBinary', 'chunk']
  ],
  queryFileUploadStatusUrl: 'queryFileUploadStatusUrl',
  queryFileUploadStatusChunkHashKey: 'chunkHash',
  completeUrl: 'completeUrl',
  createCompleteParam: [
    ['fileHash', 'fileHash'],
    ['fileSize', 'fileSize'],
    ['fileName', 'fileName'],
    ['sliceCount', 'totalCount']
  ],
  chunkThreshold: 200,
  chunkSize: 20,
  onProgress(percent) {
  },
  onSuccess({ filePath, fileHash }) {
  },
  onError() {
  }
 });
bigFileUpload.upload();
// bigFileUpload.cancelUpload()
```



## Options

#### chunkUploadUrl

分片上传url

#### chunkUploadSuccessCode

分片上传请求成功码 默认 200

#### chunkThreshold

分片阈值 单位 M 大于这个值才会上传

#### chunkSize

分片大小 M

#### queryFileUploadStatusUrl

 查询已上传文件的状态，已经上传了多少分片 根据已经上传的 chunkHash 来断点续传

#### queryFileUploadStatusChunkHashKey

查询已上传文件请求返回的 key来取值，例如返回的数据是这样的 [{chunkHash: '1', name:'xx'}, {chunkHash: '2', name: 'yy'}] queryFileUploadStatusChunkHashKey 就填 chunkHash，默认为 chunkHash，如果数据符合要求可不填

#### queryFileUploadStatusSuccessCode

查询已上传文件请求成功码 默认 200

#### queryFileUploadStatusDataField

查询已上传文件请求取哪个字段 eg: {code:200, data:{uploaded: []}} 可填uploaded 默认没有直接取 data 值，所以 data 最好是array

#### completeUrl

合并文件请求 url

#### completeMethod

合并请求 method    'GET' | 'POST'

#### completeBodyType

合并请求 method为POST 时，请求的方式 'formData' | 'json'

#### completeSuccessCode

合并请求成功码 默认 200

#### completeDataField

合并请求取值字段 默认filePath    eg: {code: 200, data:{filePath: 'xxxx'}}

#### uploadData

外部参数 配置后可在createChunkUploadParam和createCompleteParam中使用

#### createChunkUploadParam

分片上传参数, array 的第一个参数自己取, 第二个是固定的, 如果需要使用外部参数, 可在配置中增加 uploadData:{foo:1} 然后在这里增加一个['reqFoo', 'foo']

可用默认参数

 * fileHash: 文件 hash
 * fileName: 文件名
 * fileSize: 文件大小
 * totalCount: 总分片数
 * chunkSize: 分片大小
 * chunk: 分片文件
 * chunkIndex: 分片索引
 * chunkHash: 分片 hash

#### createCompleteParam

同createChunkUploadParam

可用默认参数

 * fileHash: 文件 hash
 * fileName: 文件名
 * fileSize: 文件大小
 * totalCount: 总分片数

### onSpliting

开始分片回调

#### onSplitEnd

分片结束，可拿到 fileHash， (fileHash:string) => void;

#### onProgress

可拿到进度 分片上传完毕是 99 合并文件成功后是 100

#### onComplete

合并文件成功

#### onSuccess

上传成功 (fileUrl: string) => void;

### onCancel

取消

#### onError

错误

## LICENSE

MIT
npm package: @iclare/ksync
Description: Install a .gitmodules to your repo
Author: Ian Clare
Latest version: 0.1.5

# ksync

[kitchen-_sync_](https://www.merriam-webster.com/dictionary/kitchen-sink)

Install a .gitmodules to your repo

```console
npx @iclare/ksync --h
npx: installed 31 in 3.119s

  Description
    Install a .gitmodules to your repo

  Usage
    $ ksync <filePath> <repoPath> [options]

  Options
    --nobackup       Do not backup the repo
    --force          Reuse existing submodules
    -v, --version    Displays current version
    -h, --help       Displays this message

  Examples
    $ ksync .gitmodules .
    $ ksync somefolder/.gitmodules anotherfolder

```
npm package: @iclasser-react-native/flash-cards
Description: iClasser React Native component
Latest version: 1.0.1

# iClasser Flash Cards

This component is used for flash cards, it flips

## Installation

Run `npm i @iclasser-react-native/flash-cards`

# Usage

```JSX
import react from 'react';
import FlashCards from '@iclasser-react-native/flash-cards'
const structureComponent = {
    type: compKey,
    props: {
      flashcards: [
        {
          id: "flashcard1",
          front: "flashcard1_front",
          front_image:
            "https://iclasser-cloud.s3.amazonaws.com/iclasser/logo_dark_no-label_cfxsrh.png",
          back: "flashcard1_back",
        },
      ],
    },
  }
const contents = {
    flashcard1_front: "Verbal Evaluation",
    flashcard1_back:
      "Your speech evaluator will deliver a verbal evaluation before the club meeting is finished. The verbal evaluation is in front of the club. ",
  }
const codingContents = [];
const compOptions = {
    componentIndex: 0,
    textData: ()=> {
        getText: (key)=> {
            return contents[key]
        }
    },
    codingContents,
    a11yScale: 1,
    structureComponent,
    colorTokens={
      brand: {
        primary: {
          main: {
            text: '#000',
            stroke: '#dedede',
          },
        },
      },
    }
}
function Example(){
    return <FlashCards {...compOptions} >
}
```

# Requirements


# Cross platform available

- React.js -- Yes, Public
- React Native - Yes, but used internally within iClasser App

# Screenshots or video
npm package: @iclasser-react/flash-cards
Description: iClasser React Library
Latest version: 1.0.1

# iClasser Flash Cards

This component is used for flash cards, it flips

## Installation

Run `npm i @iclasser-react/flash-cards`

# Usage

```JSX
import react from 'react';
import FlashCards from '@iclasser-react/flash-cards'
const structureComponent = {
    type: compKey,
    props: {
      flashcards: [
        {
          id: "flashcard1",
          front: "flashcard1_front",
          front_image:
            "https://iclasser-cloud.s3.amazonaws.com/iclasser/logo_dark_no-label_cfxsrh.png",
          back: "flashcard1_back",
        },
      ],
    },
  }
const contents = {
    flashcard1_front: "Verbal Evaluation",
    flashcard1_back:
      "Your speech evaluator will deliver a verbal evaluation before the club meeting is finished. The verbal evaluation is in front of the club. ",
  }
const codingContents = [];
const compOptions = {
    componentIndex: 0,
    textData: ()=> {
        getText: (key)=> {
            return contents[key]
        }
    },
    codingContents,
    structureComponent,
}
function Example(){
    return <FlashCards {...compOptions} >
}
```

# Requirements

Make sure `typescript`, `tailwindcss` is installed in your app.

# Cross platform available

- React.js -- Yes, Public
- React Native - Yes, but used internally within iClasser App

# Screenshots or video
npm package: @iclasser-react/lottie-block
Description: iClasser React Library
Latest version: 1.0.1

# iClasser Lottie Block

This component is used to run .lottie files

## Installation

Run `npm i @iclasser-react/lottie-block`

# Usage

```JSX
import react from 'react';
import LottieBlock from '@iclasser-react/lottie-block'
const structureComponent = {
    props: {
      url: "", // lottie block json url
      loop: false,
    },
  }
const contents = {
  }
const codingContents = [];
const compOptions = {
    componentIndex: 0,
    textData: ()=> {
        getText: (key)=> {
            return contents[key]
        }
    },
    codingContents,
    structureComponent,
}
function Example(){
    return <LottieBlock {...compOptions} >
}
```

# Requirements

Make sure `typescript`, `tailwindcss` is installed in your app.

# Cross platform available

- React.js -- Yes, Public
- React Native - Yes, but used internally within iClasser App

# Screenshots or video
npm package: @iclasser-react/matching-pairs
Description: iClasser React Library
Latest version: 1.0.0

# iClasser Matching Pairs

This component is used for matching pair experience.

## Installation

Run `npm i @iclasser-react/matching-pairs`

# Usage

```JSX
import react from 'react';
import MatchingPairs from '@iclasser-react/matching-pairs'
const structureComponent = {
    props: {
      pairs: [
        {
          id: "1",
          left: {
            text: 'left_pair_1',
            image: UPLOAD_URL1,
          },
          right: {
            text: 'right_pair_1',
          },
        }
      ],
      shuffleRight: true,
      shuffleLeft: true,
    },
}
const contents = {
    'left_pair_1': "Verbal Evaluation",
    'right_pair_1':
      "Your speech evaluator will deliver a verbal evaluation before the club meeting is finished. The verbal evaluation is in front of the club. ",
  }
const codingContents = [];
const compOptions = {
    componentIndex: 0,
    textData: ()=> {
        getText: (key)=> {
            return contents[key]
        }
    },
    codingContents,
    structureComponent,
}
function Example(){
    return <MatchingPairs {...compOptions} >
}
```

# Requirements

Make sure `typescript`, `tailwindcss` is installed in your app.

# Cross platform available

- React.js -- Yes, Public
- React Native - Yes, but used internally within iClasser App

# Screenshots or video
npm package: @iclasser/email-studio
Description: InkDes Email Studio client with render and deliver APIs
Latest version: 1.1.1

# @iclasser/email-studio

InkDes Email Studio client for rendering and delivering emails via InkDes.

## Install

```bash
npm install @iclasser/email-studio
```

## Setup

Required headers (sent automatically by the client):
- x-api-key
- x-domain

Optional:
- baseUrl (defaults to `https://render.inkdes.com`)
- defaultLocale (defaults to `en-US`)

## Usage

```ts
import InkDesEmailStudio from '@iclasser/email-studio';

const client = new InkDesEmailStudio({
  apiKey: process.env.INKDES_API_KEY!,
  domain: process.env.INKDES_DOMAIN!,
  // optional
  baseUrl: process.env.INKDES_BASE_URL, // e.g. http://localhost:3001
  defaultLocale: 'en-US',
  timeoutMs: 10000,
});

// Render an email template (no channel_data)
const rendered = await client.render({
  experienceId: 'auth',
  version: 1,
  locale: 'en-US',
  data: { /* your variables */ },
});

if (rendered.ok) {
  console.log(rendered.html, rendered.subject);
}

// Deliver an email (includes channel_data)
const delivered = await client.deliver({
  experienceId: 'auth',
  language: 'en-US',
  channelData: {
    toEmail: 'user@example.com',
    toEmailName: 'User Name',
    fromEmail: 'noreply@inkdes.com',
    fromEmailName: 'InkDes Team',
  },
  data: { /* your variables */ },
});

if (delivered.ok) {
  console.log(delivered.message);
}
```
npm package: @iclasser/ink-mailer
Description: Lightweight Ink-Des mailer client
Latest version: 1.0.0

# ink-mailer

Lightweight Ink-Des mailer client.

## Install

```bash
npm install @iclasser/ink-mailer
```

## Get your credentials

- Get your API URL, Auth Token, Auth Key, and Tenant from your Ink-Des workspace on [inkdes.com](https://inkdes.com).
- Provide these values when creating the client in your app.

## Usage

```ts
import InkDesMailer from '@iclasser/ink-mailer';

const mailer = new InkDesMailer({
  apiUrl: process.env.INK_DES_API_URL!,
  authToken: process.env.INK_DES_AUTH_TOKEN!,
  authKey: process.env.INK_DES_AUTH_KEY!,
  tenant: process.env.INK_DES_TENANT!,
  // optional
  defaultLanguage: 'en-US',
  defaultSensitive: false,
  timeoutMs: 10000,
});

await mailer.send({
  experienceId: 'CONFIRM_EMAIL',
  to: 'user@example.com',
  data: { nameTo: 'Jane', code: '123456' },
});
```

Repo: [GitHub](https://github.com/iClasser/ink-mailer)
npm package: @iclemens/gql-codegen
Description: Generate GraphQL resolver definitions for express-graphql.
Author: Ivar Clemens
Latest version: 0.9.3

# GraphQL Resolver Generator

This simple command line tool will generate TypeScript types for express-graphql resolvers.

Usage is extremely simple:

    npm install @iclemens/gql-codegen

    gql-codegen schema.graphql resolver-types.ts
npm package: @iclinic/calendar-challenge-client
Description: JavaScript client for iClinic Front-End Challenges
Latest version: 0.1.1

# JavaScript Events Client

JavaScript client for iClinic Front-End Challenges.

This clients simulates **api calls**, and a every method returns a `Promise` that **resolves** or **reject** after some time. All data is saved using `LocalStorage`.

## Get started

### Install
```
yarn add @iclinic/calendar-challenge-client
```

### How to use

```javascript
import events from '@iclinic/calendar-challenge-client';
```


#### `events.all()`

Returns a list with all events

```javascript
events.all().then(events => {
  console.log(events);
}).catch(error => {
  console.log(error);
});
```

#### `events.filter(<Function fn>)`

Returns a list with all events filtered by the provided function `fn`

```javascript
const fn = event => event.date === '10/05/2018';

events.filter(fn).then(events => {
  console.log(events);
}).catch(error => {
  console.log(error);
});
```

#### `events.get(<String id>)`

Return a specific event by id

```javascript
events.get('gh34g4').then(event => {
  console.log(event);
}).catch(error => {
  console.log(error);
});
```

#### `events.create(<Object payload>)`

Create a new event with the provided payload

```javascript
const payload = {
  title: 'Task 1',
  date: '10/05/2020',
  start_time: '10:00',
  end_time: '10:30',
};

events.create(payload).then(event => {
  console.log(event);
}).catch(error => {
  console.log(error);
});
```

#### `events.update(<Object payload>)`

Update event, **id** is **required**

```javascript
const payload = {
  id: 'gh34g4',
  title: 'Task 1',
};

events.update(payload).then(event => {
  console.log(event);
}).catch(error => {
  console.log(error);
});
```

#### `events.remove(<String id>)`

Delete event

```javascript
events.remove('gh34g4').then(event => {
  console.log(event);
}).catch(error => {
  console.log(error);
});
```
npm package: @icloudpd/darwin-arm64
Description: The macOS ARM 64-bit binary for icloudpd, a iCloud Photo Downloader.
Latest version: 1.32.2

# icloudpd

The macOS ARM 64-bit binary for icloudpd, a iCloud Photo Downloader. See https://github.com/icloud_photo_downloader/icloud_photo_downloader for details.
npm package: @icloudpd/darwin-x64
Description: The macOS 64-bit binary for icloudpd, a iCloud Photo Downloader.
Latest version: 1.32.2

# icloudpd

The macOS 64-bit binary for icloudpd, a iCloud Photo Downloader. See https://github.com/icloud_photo_downloader/icloud_photo_downloader for details.
npm package: @icloudpd/linux-arm
Description: The Linux ARM/v7 binary for icloudpd, a iCloud Photo Downloader.
Latest version: 1.32.2

# icloudpd

The Linux ARM/v7 binary for icloudpd, a iCloud Photo Downloader. See https://github.com/icloud_photo_downloader/icloud_photo_downloader for details.
npm package: @icloudpd/linux-arm64
Description: The Linux ARM 64-bit binary for icloudpd, a iCloud Photo Downloader.
Latest version: 1.32.2

# icloudpd

The Linux ARM 64-bit binary for icloudpd, a iCloud Photo Downloader. See https://github.com/icloud_photo_downloader/icloud_photo_downloader for details.
npm package: @icloudpd/linux-ia32
Description: The Linux i386 32-bit binary for icloudpd, a iCloud Photo Downloader.
Latest version: 1.22.0

# icloudpd

The Linux i386 32-bit binary for icloudpd, a iCloud Photo Downloader. See https://github.com/icloud_photo_downloader/icloud_photo_downloader for details.
npm package: @icloudpd/linux-x64
Description: The Linux 64-bit binary for icloudpd, a iCloud Photo Downloader.
Latest version: 1.32.2

# icloudpd

The Linux 64-bit binary for icloudpd, a iCloud Photo Downloader. See https://github.com/icloud_photo_downloader/icloud_photo_downloader for details.
npm package: @icloudpd/win32-x64
Description: The Windows 64-bit binary for icloudpd, a iCloud Photo Downloader.
Latest version: 1.32.2

# icloudpd

The Windows 64-bit binary for icloudpd, a iCloud Photo Downloader. See https://github.com/icloud_photo_downloader/icloud_photo_downloader for details.
npm package: @iclubs-packages/design-system
Description: Coren design-system
Latest version: 1.0.53

# Used Technologies

This project was built with:

- React

- Typescript

- Styled Components

- Storybook

- Vite

- Vitest

- React Testing Library

- ESLint

- Prettier

- Plop.js

# Usage

To use this design system library you must follow the following steps:


Install the dependencies

With yarn:

```
yarn add @iclubs-packages/design-system
```

With npm:

```
npm i @iclubs-packages/design-system
```

Next step you need implement the CoreProvider in your App.tsx:

```
export function App() {
  return (
      <CoreProvider>
        {/*Rest of your application*/}
      </CoreProvider>
  );
}
```

Import the components, containers and so on. And after, use it. For example:

```
import { Card } from "@iclubs-packages/design-system";

export function App() {
  return <Card>Hello README!</Card>;
}
```

# Start Storybook

To start our Storybook is just run the following command:

```
yarn storybook
```

A node script will run and our design system documentation will be opened in your browser.

# New component creation

We use [Plop.js](https://plopjs.com/) to padronize our component creation in the project.



To create a new component is just run the following command:

```
yarn new:component
```

That a node script with plop, again, will do all the job for you! 😉✨

# Library build

To build the library you must run:

```
yarn build
```

Then the Vite will build the application and create the `dist` folder, containing the project build.

# Library publishing

## Publishing itself

First, you will have to change the project version in the `package.json`:

```
{
  "version": "1.0.0", // change to 1.0.1 e.g
  ...
}
```



After, you have to build the application.



And, finally, run:

```
yarn publish
```

Following the indicated steps. With that, a new version will be published in [our npm](https://www.npmjs.com/org/iclubs-packages).



## Testing your publishable

After publishing a new version, you can test if your changes climb successfully to NPM. To do this, you can:



Go to the `package.json` of the lib itself and update the dev dependency "@iclubs-packages/design-system" to the version you just published.

```
{
  "devDependencies": {
    "@iclubs-packages/design-system": "^0.0.5", // change to 0.0.6 e.g
  },
  ...
}
```



After, you will run `yarn` to update the version of the library in the project.



With that, you be able to test your change on the `src/TestingComponents.tsx` page.



For example, if you added a new component in the design system you can import this component in this page and test if it appears on the screen.

# Tests

## Config

Our test coverage is 100% for:

- Statements

- Branches

- Functions

- And lines

Everything, basically.



## Running Unit tests

To run the tests you have two options:

`yarn test` that runs the tests silencing the console outputs from the run.

    yarn test



And `yarn test-visible` that runs the tests showing these console outputs.

```
yarn test-visible
```
npm package: @icncsx/generate-compliment
Description: Generate a random compliment
Author: DH Kim
Latest version: 1.0.3
Deprecated: false

# Need a compliment?

Life is hard - especially when you go weeks, months or even years without receiving a compliment. A single compliment can literally change your life.

## How to use...

It's dumb simple to use. I use it every morning to set the mood/attitude right.

First install.

```
npm install @icncsx/generate-compliment
```

Then import and run.

```js
import generateCompliment from "@icncsx/generate-compliment";

console.log(generateCompliment()); // Thank you for being you.
```

## Health benefits

You begin to frown less and smile more. Did you know that frowning can lead to wrinkles? More smiles, yay! 😊😊
npm package: @icncsx/kodash
Description: Lodash clone
Author: DH Kim
Latest version: 1.0.1
Deprecated: false

# Kodash

This is a Lodash clone I built to learn how to create a utility library such as Lodash and Underscore.

## Installation

Using npm:

```
npm install @icncsx/kodash
```

In Node.js:

```js
import _ from "@icncsx/kodash"
_.head([1,2,3,4]) // 1
```

## API

Functions mimic those which exist in [Lodash](https://lodash.com/) and [Underscore](https://underscorejs.org/).

Want to flatten an array? We got that. Want to remove an array of matching elements from an array. We also have that (✌️). 

## Production

No no no! Use Lodash or Underscore if you want a battle tested utility library. This library is purposely derivative and redundant because I'm using it mainly for learning purposes.
npm package: @icncsx/kquery
Description: jQuery clone
Author: DH Kim
Latest version: 1.0.0
Deprecated: false

# kquery

In this project, we are going to learn how to build our own lightweight version of jQuery.

## How to use

Just like how you would use jQuery! These are methods which are currently supported.

- [addClass](https://api.jquery.com/addClass/)
- [append](https://api.jquery.com/append/)
- [children](https://api.jquery.com/children/)
- [css](https://api.jquery.com/css/)
- [first](https://api.jquery.com/first/)
- [last](https://api.jquery.com/last/)
- [get](https://api.jquery.com/get/)
- [hide](https://api.jquery.com/hide/)
- [html](https://api.jquery.com/html/)
- [off](https://api.jquery.com/off/)
- [on](https://api.jquery.com/on/)
- [removeClass](https://api.jquery.com/removeClass/)
- [show](https://api.jquery.com/show/)

## Demo

```js
const $listElements = $("div");
$listElements.hide(); // POOF!
```
npm package: @icntower/telegraf-session-dynamodb
Description: Session dynamodb store adapter for Telegraf
Author: Stanislav Baturin
Latest version: 0.0.3

# `@icntower/telegraf-session-dynamodb`

This package provides dynamodb storage adapter for Telegraf v4.12+ sessions.

## DynamoDB

Install the official DynamoDB driver alongside this module.

```shell
npm i @icntower/telegraf-session-dynamodb @aws-sdk/client-dynamodb
```

Usage:

```TS
import { DynamoDB } from "@icntower/telegraf-session-dynamodb";

const store = DynamoDB({
  config: {
    region: process.env.AWS_DEFAULT_REGEON,
    endpoint: process.env.DOCUMENT_API_ENDPOINT,
    credentials: {
      accessKeyId: process.env.AWS_ACCESS_KEY_ID,
      secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY,
    },
  },
});

const bot = new Telegraf(token, opts);
bot.use(session({ store }));

// the rest of your bot
```

To reuse an existing DynamoDB client, use `DynamoDB({ client })` instead.
npm package: @ico-data/log-viewer
Description: 简单的日志信息展示组件
Author: baiziyu-fe
Latest version: 0.0.6

# Log-Viewer

简单的日志信息展示组件

<div align="center">
  <img src="https://s1.ax1x.com/2022/08/21/vylze1.png">
</div>

## 功能简介

- 支持大数据量的日志展示
- 支持主题的切换和样式的自定义

## 如何使用

```js
import {LogViewer} from '@ico-data/log-viewer';

function App () {
  return <LogViewer logData={[...]} />
}
```

`logData`支持三种类型，`string`、`string[]`,`JsonLogObject[]`。

其中`JsonLogObject`可支持的类型为：
```js
const messageType = ["WARNING", "ERROR", "SUCCESS", "GENERAL", "INFO"];

{
  time: Date(),
  message: "DevTools failed to load source map: Could not load content for https://github.githubassets.com/assets/light_tritanopia-ec62ec1d425f.css.map: Load canceled due to load timeout",
  ip: "132.3.4.33.231",
  port: "8000",
  type: messageType[Math.floor(Math.random() * 10) % 5] as LogJsonItemType,
  serviceName: "react-virtualized@9.22.",
}
```

除了LogData必传参数外，还支持：

  - rowHeight           配置行高
  - height              配置Viewer高度
  - width               配置Viewer宽度
  - hiddenThemeBtn      是否隐藏主题切换按钮
  - theme               设置Theme