open-index/open-npm huggingface dataset:
npm package: @pasarprotocol/pasar-sdk-development
Description: PasarProtocol NFT Marketplace SDK
Author: PasarProtocol
Latest version: 0.0.298
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

Pasar SDK
==========

Pasar is open-sourced, community-centric, and one of the first truly **Web3.0 decentralized** marketplace (***DeMKT***) for exchanging data and Non-fungible Tokens (NFTs) on Elastos ESC.  **Pasar SDK** is the set of service APIs provided from Pasar platform and can be integrated into any NFT project website. 

### Components

`Pasar SDK` contains a package of libraries to be integrated into third-party applications, which would be made up of three layers:

- List NFT for selling on Pasar marketplace

- List the `owned` / `listed`/ `created`/ `sold` NFTs of any user

- List the `owned` collection of specific user 

  

## Build

Prepared that `nodejs`need to be installed on your local device, then clone  the repository with the commands:

```
$ git clone https://github.com/pasarprotocol/PasarSDK
$ cd PasarSDK
```

Then run the commands below to build sdk

```
$ npm install
$ npm build
```



## Contribution

Any contributions  to this project would be highly appreciated, including

- building docs
- report bug and bugfix
- Suggestion or advices

The contribution acitivities can be either by creating an issue or pushing a pull request.

##

## License

This project is licensed under the terms of the [MIT license](https://github.com/pasarprotocol/PasarSDK/blob/master/LICENSE).
npm package: @pasc/scui
Description: PASC-SCUI Library
Author: pasc
Latest version: 1.1.8

# SCUI 组件库

## 目录结构

```bash
pasc-lib-scui/
├── lib/                 # 构建后文件输出目录
├── src/                 # 源码目录
    ├── components/      # 组件目录
        ├── foo/         # 每个文件夹是一个组件
            ├── modules/ # 当前组件拆分出来的一些模块
            ├── assets/  # 当前组件图片等资源文件存放目录
            ├── Foo.vue  # 当前组件主文件
            └── index.js # 当前组件入口文件
        ├── ...
    └── index.js         # 所有组件聚合文件
├── test                 # 单元测试目录
```

## 新增组件

1. 在 `pasc-lib-scui/src/components/` 目录下新增组件目录，初始化组件文件
2. 在 `pasc-lib-scui/src/components/index.js` 文件中增加导出代码
3. 在 `pasc-lib-scui/build/entry.js` 文件中增加组件入口文件配置

```js
// src/components/index.js
export * from './components/foo/index'      // 组件聚合文件增加导出代码

// build/entry.js
module.exports = {
    'index': './src/index.js',                    // 组件聚合文件入口
    'foo/index': './src/components/foo/index.js'  // foo组件入口文件
    ...                                           // 增加更多
  }
```

## 版本号

> 版本格式: 主版本号.次版本号.修订号，版本号递增;
> 带 -beta.1 后缀为开发版本;

## 业务工程使用安装

```bash
# 安装组件库
npm install --save @pasc/scui

# 安装依赖
npm install --save-dev babel-plugin-transform-import

# 业务工程 babel.config.js 配置（全部加载引用配置）
module.exports = {
  ...,
  plugins: [
    [
      'transform-import',
      {
        '@pasc/scui': {
          transform: '@pasc/scui/lib/index',
          style: '@pasc/scui/lib/index.css',
          skipDefaultConversion: true,
          kebabCase: true
        }
      }
    ]
  ]
};

# 业务工程 babel.config.js 配置（或者：按需加载引用配置）
module.exports = {
  ...,
  plugins: [
    [
      'transform-import',
      {
        '@pasc/scui': {
          transform: '@pasc/scui/lib/${member}/index.js',
          style: '@pasc/scui/lib/${member}/index.css',
          skipDefaultConversion: true,
          kebabCase: true,
          preventFullImport: true
        }
      }
    ]
  ]
};

# 更新组件库
npm update @pasc/scui 或指定版本号
npm update @pasc/scui@1.1.2 或者卸载再安装
npm uninstall @pasc/scui
npm install --save @pasc/scui
```

## 常见问题

- 安装 babel-plugin-transform-import 如果出现错误没有安装其依赖，请手动安装（babel-types ^6.6.0, lodash.camelcase ^4.3.0, lodash.kebabcase ^4.1.1, lodash.snakecase ^4.1.1）;

## License

MIT
npm package: @pascal-app/core
Description: Core library for Pascal 3D building editor
Latest version: 0.5.0

# @pascal-app/core

Core library for Pascal 3D building editor.

## Installation

```bash
npm install @pascal-app/core
```

## Peer Dependencies

```bash
npm install react three @react-three/fiber @react-three/drei
```

## What's Included

- **Node Schemas** - Zod schemas for all building primitives (walls, slabs, items, etc.)
- **Scene State** - Zustand store with IndexedDB persistence and undo/redo
- **Systems** - Geometry generation for walls, floors, ceilings, roofs
- **Scene Registry** - Fast lookup from node IDs to Three.js objects
- **Spatial Grid** - Collision detection and placement validation
- **Event Bus** - Typed event emitter for inter-component communication
- **Asset Storage** - IndexedDB-based file storage for user-uploaded assets

## Usage

```typescript
import { useScene, WallNode, ItemNode } from '@pascal-app/core'

// Create a wall
const wall = WallNode.parse({
  points: [[0, 0], [5, 0]],
  height: 3,
  thickness: 0.2,
})

useScene.getState().createNode(wall, parentLevelId)

// Subscribe to scene changes
function MyComponent() {
  const nodes = useScene((state) => state.nodes)
  const walls = Object.values(nodes).filter(n => n.type === 'wall')

  return <div>Total walls: {walls.length}</div>
}
```

## Node Types

- `SiteNode` - Root container
- `BuildingNode` - Building within a site
- `LevelNode` - Floor level
- `WallNode` - Vertical wall with optional openings
- `SlabNode` - Floor slab
- `CeilingNode` - Ceiling surface
- `RoofNode` - Roof geometry
- `ZoneNode` - Spatial zone/room
- `ItemNode` - Furniture, fixtures, appliances
- `ScanNode` - 3D scan reference
- `GuideNode` - 2D guide image reference

## Systems

Systems process dirty nodes each frame to update geometry:

- `WallSystem` - Wall geometry with mitering and CSG cutouts
- `SlabSystem` - Floor polygon generation
- `CeilingSystem` - Ceiling geometry
- `RoofSystem` - Roof generation
- `ItemSystem` - Item positioning on walls/ceilings/floors

## License

MIT
npm package: @pascal-app/viewer
Description: 3D viewer component for Pascal building editor
Latest version: 0.5.0

# @pascal-app/viewer

3D viewer component for Pascal building editor.

## Installation

```bash
npm install @pascal-app/viewer @pascal-app/core
```

## Peer Dependencies

```bash
npm install react three @react-three/fiber @react-three/drei
```

## What's Included

- **Viewer Component** - WebGPU-powered 3D viewer with camera controls
- **Node Renderers** - React Three Fiber components for all node types
- **Post-Processing** - SSGI (ambient occlusion + global illumination), TRAA (anti-aliasing), outline effects
- **Level System** - Level visibility and positioning (stacked/exploded/solo modes)
- **Wall Cutout System** - Dynamic wall hiding based on camera position
- **Asset URL Helpers** - CDN URL resolution for models and textures

## Usage

```typescript
import { Viewer, useViewer } from '@pascal-app/viewer'
import { useScene } from '@pascal-app/core'

function App() {
  return (
    <div style={{ width: '100vw', height: '100vh' }}>
      <Viewer />
    </div>
  )
}
```

## Custom Camera Controls

```typescript
import { Viewer } from '@pascal-app/viewer'
import { CameraControls } from '@react-three/drei'

function App() {
  return (
    <Viewer selectionManager="custom">
      <CameraControls />
    </Viewer>
  )
}
```

## Viewer State

```typescript
import { useViewer } from '@pascal-app/viewer'

function ViewerControls() {
  const levelMode = useViewer(s => s.levelMode)
  const setLevelMode = useViewer(s => s.setLevelMode)
  const wallMode = useViewer(s => s.wallMode)
  const setWallMode = useViewer(s => s.setWallMode)

  return (
    <div>
      <button onClick={() => setLevelMode('stacked')}>Stacked</button>
      <button onClick={() => setLevelMode('exploded')}>Exploded</button>
      <button onClick={() => setWallMode('cutaway')}>Cutaway</button>
      <button onClick={() => setWallMode('up')}>Full Height</button>
    </div>
  )
}
```

## Asset CDN Helpers

```typescript
import { resolveCdnUrl, ASSETS_CDN_URL } from '@pascal-app/viewer'

// Resolves relative paths to CDN URLs
const url = resolveCdnUrl('/items/chair/model.glb')
// → 'https://pascal-cdn.wawasensei.dev/items/chair/model.glb'

// Handles external URLs and asset:// protocol
const externalUrl = resolveCdnUrl('https://example.com/model.glb')
// → 'https://example.com/model.glb' (unchanged)
```

## Features

- **WebGPU Rendering** - Hardware-accelerated rendering via Three.js WebGPU
- **Post-Processing** - SSGI for realistic lighting, outline effects for selection
- **Level Modes** - Stacked, exploded, or solo level display
- **Wall Cutaway** - Automatic wall hiding for interior views
- **Camera Modes** - Perspective and orthographic projection
- **Scan/Guide Support** - 3D scans and 2D guide images

## License

MIT
npm package: @pascalcoin-sbx/common
Description: Core basics for the PascalCoin BlockChain project.
Author: Benjamin Ansbach
Latest version: 0.0.18-alpha.0

# PascalCoin Common library

A sub package of [sbx](http://www.github.com/techworker/sbx)

This is the core library of for the SBX family that contains common 
functionality related to the [PascalCoin](https://www.pascalcoin.org) BlockChain
project.

## Installation

`npm install @pascalcoin-sbx/common`

## Usage

This library consists of low level objects used in all other libraries. Please 
check the tests for proper usage beyond this documentation.

### BC (ByteCollection)

A wrapper around Buffer to work with byte arrays.
npm package: @pascalcoin-sbx/payload-split
Description: A package that can split pascalcoin payloads.
Author: Benjamin Ansbach
Latest version: 0.0.18

# SBX Payload library

A sub package of [sbx](http://www.github.com/techworker/sbx)

This package can split pascalcoin payloads to handle multi-operation payloads.

## Installation

`npm install @pascalcoin-sbx/payload-split`

## Usage

```js
const PayloadSplit = require('@pascalcoin-sbx/payload-split');
// call static methods
```

Also see tests for usage.

There are 4 methods available:

 - `splitAndEncrypt`
 Splits the given payload and then encrypts each value.
 - `decryptAndConcat`
Counterpart to `splitAndEncrypt`. Decrypts all values and returns the decrypted value.

The above solution takes up more space, but will keep a single operation
entity consistent.

 - `encryptAndSplit`
 Will encrypt the given payload first and split it afterwards.
 - `concatAndDecrypt`
Counterpart to `encryptAndSplit`. Concats all encrypted payloads and decrypts the value.

The above solution takes up less space, but it will not be possible to even decrypt parts
of the payload.


```js
const PayloadSplit = require('@pascalcoin-sbx/payload-split');
const AES = require('@pascalcoin-sbx/crypto').Encryption.Pascal.Password;
const ECIES = require('@pascalcoin-sbx/crypto').Encryption.Pascal.ECIES;

const BC = require('@pascalcoin-sbx/common').BC;

let keyPair256 = require('@pascalcoin-sbx/crypto').Keys.fromPrivateKey(
  require('@pascalcoin-sbx/crypto').Encryption.Pascal.PrivateKey.decrypt(
    '53616C7465645F5F7317EBF1F267E51B71C35B1F9B3E4EFD591A46F7F7E13154C509ED2CD7E58F0AC0FB1F54C99A7DF879E3584C0FF687D37B1A98D0181C84F3',
    {password: 'test123'}
  )
);

let payload = BC.fromString('techworker'.repeat(100));

// first split, then encrypt
let encPayloads1 = PayloadSplit.splitAndEncrypt(
  payload, AES, {password: 'test123'}
);
let decPayloads1 = PayloadSplit.decryptAndConcat(
  encPayloads1, AES, {password: 'test123'}
);

// first encrypt, then split
let encPayloads2 = PayloadSplit.encryptAndSplit(
  payload, AES, {password: 'test123'}
);
let decPayloads2 = PayloadSplit.concateAndDecrypt(
  encPayloads2, AES, {password: 'test123'}
);


// first split, then encrypt
let encEciesPayloads1 = PayloadSplit.splitAndEncrypt(
  payload, ECIES, {publicKey: keyPair256.publicKey}
);
let decPayloads1 = PayloadSplit.decryptAndConcat(
  encEciesPayloads1, ECIES, {keyPair: keyPair256}
);

// first encrypt, then split
let encEciesPayloads2 = PayloadSplit.encryptAndSplit(
  payload, ECIES, {publicKey: keyPair256.publicKey}
);
let encEciesPayloads2 = PayloadSplit.concateAndDecrypt(
  encEciesPayloads2, ECIES, {keyPair: keyPair256}
);
```
npm package: @pascalcoin-sbx/walletkeys.dat
Description: .
Author: Benjamin Ansbach
Latest version: 0.0.18-alpha.0

# PascalCoin WalletKeys.dat library

A sub package of [sbx](http://www.github.com/techworker/sbx)

This library can be used do encode and decode a WalletKeys.dat file from the
classic wallet.

## Installation

`npm install @pascalcoin-sbx/walletkeys.dat`

## Usage

```
var fs = require('fs');
const FileCoder = require('@pascalcoin-sbx/walletkeys.dat').FileCoder;

var data = fs.readFileSync('WalletKeys.dat');

let fileCoder = new FileCoder().decodeFromBytes(data);
let decoded = fileCoder.decodeFromBytes(data);

// output decoded
console.log(decoded);

// output walletkeys.dat as hex
console.log(fileCoder.encodeToBytes(decoded).toHex());

```
npm package: @pascalhonegger/ng-datatable
Description: DataTable component for Angular framework
Author: git@honegger.dev
Latest version: 21.0.0

# Table component with sorting and pagination for Angular

It is a forked version of [ng-datatable](https://github.com/cmglez10/ng-datatable) updated to Angular 21, Signals and Zoneless.

[![npm version](https://badge.fury.io/js/%40pascalhonegger%2Fng-datatable.svg)](https://badge.fury.io/js/%40pascalhonegger%2Fng-datatable)

## Installation

```
npm i @pascalhonegger/ng-datatable --save
```

## Usage example

AppComponent.html

```typescript
imports: [
    DataTable,
    DefaultSorter,
    BootstrapPaginator,
  ],
```

```html
<table class="table table-striped" [mfData]="data" #mf="mfDataTable" [mfRowsOnPage]="5">
  <thead>
    <tr>
      <th style="width: 20%">
        <mfDefaultSorter by="name">Name</mfDefaultSorter>
      </th>
      <th style="width: 50%">
        <mfDefaultSorter by="email">Email</mfDefaultSorter>
      </th>
      <th style="width: 10%">
        <mfDefaultSorter by="age">Age</mfDefaultSorter>
      </th>
      <th style="width: 20%">
        <mfDefaultSorter by="city">City</mfDefaultSorter>
      </th>
    </tr>
  </thead>
  <tbody>
    @for (item of mf.data(); track item) {
    <tr>
      <td>{{item.name}}</td>
      <td>{{item.email}}</td>
      <td class="text-right">{{item.age}}</td>
      <td>{{item.city | uppercase}}</td>
    </tr>
    }
  </tbody>
  <tfoot>
    <tr>
      <td colspan="4">
        <mfBootstrapPaginator [rowsOnPageSet]="[5,10,25]" />
      </td>
    </tr>
  </tfoot>
</table>
```

## API

### `mfData` directive

- selector: `table[mfData]`
- exportAs: `mfDataTable`
- inputs
  - `mfData: T[]` - Array of data to display in table (**required**)
  - `mfRowsOnPage: number` - Number of rows should be displayed on page (default: `1000`)
  - `mfActivePage: number` - Page number (default: `1`)
  - `mfSortBy: SortBy<T>` - Sort by parameter
  - `mfSortOrder: SortOrder` - Sort order parameter (either `asc` or `desc`, default: `asc`)
- outputs
  - `mfRowsOnPageChange: number`
  - `mfActivePageChange: number`
  - `mfSortByChange: SortBy<T>`
  - `mfSortOrderChange: SortOrder`

### `mfDefaultSorter` component

- selector: `mfDefaultSorter`
- inputs
  - `by: SortBy<T>` - Specify how to sort data (**required**, argument for lodash function [\_.sortBy ](https://lodash.com/docs#sortBy))

### `mfBootstrapPaginator` component

Displays buttons for changing current page and number of displayed rows using bootstrap template (css for bootstrap 5 is required). If array length is smaller than current displayed rows on page then it doesn't show button for changing page. If array length is smaller than min value rowsOnPage then it doesn't show any buttons.

- selector: `mfBootstrapPaginator`
- inputs
  - `rowsOnPageSet: number[]` - specify values for buttons to change number of diplayed rows, e.g. [5, 10, 15] (**required**)
  - `mfTable: DataTable` - explicitly specify reference data table, by default the parent `mfData` is injected
npm package: @pascaliske/bsproxy
Description: Command line utility for quickly proxying of a given url.
Author: Pascal Iske
Latest version: 3.0.1
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# `@pascaliske/bsproxy`

[![npm](https://img.shields.io/npm/v/@pascaliske/bsproxy.svg?style=flat)](https://www.npmjs.com/package/@pascaliske/bsproxy)
[![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg?style=flat)](https://github.com/pascaliske/bsproxy/blob/master/LICENSE.md)
[![Travis](https://img.shields.io/travis/pascaliske/bsproxy.svg?style=flat)](https://travis-ci.org/pascaliske/bsproxy)
[![Greenkeeper badge](https://badges.greenkeeper.io/pascaliske/bsproxy.svg)](https://greenkeeper.io/)

> Command line utility for quickly proxying a given url.

## Install

```bash
$ yarn global add @pascaliske/bsproxy
```

## CLI

Use the globally installed cli to quickly open up a bsproxy:

```bash
$ bsproxy <url> [<custom-port>]
```

## License

MIT © [Pascal Iske](https://pascal-iske.de)
npm package: @pascaliske/dynamic-components
Description: Easier dynamic component injections in Angular 6+.
Author: Pascal Iske
Latest version: 3.0.3

# `@pascaliske/dynamic-components`

[![npm (scoped)](https://img.shields.io/npm/v/@pascaliske/dynamic-components.svg?style=flat-square)](https://www.npmjs.com/package/@pascaliske/dynamic-components) [![GitHub Tag](https://img.shields.io/github/tag/pascaliske/dynamic-components.svg?style=flat-square)](https://github.com/pascaliske/dynamic-components) [![Build Status](https://img.shields.io/github/workflow/status/pascaliske/dynamic-components/Test%20package/master?label=test&style=flat-square)](https://github.com/pascaliske/dynamic-components/actions) [![Dependabot Status](https://api.dependabot.com/badges/status?host=github&repo=pascaliske/dynamic-components)](https://dependabot.com) [![Awesome Badges](https://img.shields.io/badge/badges-awesome-green.svg?style=flat-square)](https://github.com/Naereen/badges)

## Installation

To install the module use the following commands:

```bash
$ yarn add @pascaliske/dynamic-components
```

## Usage

##### 1. Import the module in your root module

```diff
 import { NgModule } from '@angular/core'
 import { DynamicComponentsModule } from '@pascaliske/dynamic-components'
 import { HeadlinesModule } from './headlines/headlines.module'
 import { HeadlineH1Component } from './headlines/headline-h1/headline-h1.component'
 import { HeadlineH2Component } from './headlines/headline-h2/headline-h2.component'

 @NgModule({
     imports: [
         HeadlinesModule,
+        DynamicComponentsModule,
     ],
 })
export class AppModule {}
```

##### 2. Define components to be dynamically created

```diff
 import { Component } from '@angular/core'
 import { ComponentManifest } from '@pascaliske/dynamic-components'

 @Component({
     selector: 'cmp-root',
     templateUrl: './app.component.html',
     styleUrls: ['./app.component.scss'],
 })
 export class AppComponent {
+    public components: Array<ComponentManifest> = [
+        {
+            importer: () => import('./headlines/headline-h1/headline-h1.component'),
+            componentName: 'cmp-headline-h1',
+            params: {
+                text: 'Headline H1',
+            },
+        },
+        {
+            importer: () => import('./headlines/headline-h2/headline-h2.component'),
+            componentName: 'cmp-headline-h2',
+            params: {
+                text: 'Headline H2',
+            },
+        },
+    ]
 }
```

3. Create a host element for injecting dynamically created components:

```diff
 <div class="cmp-root">
+    <cmp-dynamic-components [components]="components"></cmp-dynamic-components>
 </div>
```

## Demo

You can view a quick demo [here](https://stackblitz.com/github/pascaliske/dynamic-components).

## License

MIT © 2020 [Pascal Iske](https://pascaliske.dev)
npm package: @pascaliske/eslint-config
Description: Shared ESLint config for TypeScript projects.
Author: Pascal Iske
Latest version: 3.0.1

# Shared [ESLint config](src/rules.ts)

[![npm (scoped)](https://img.shields.io/npm/v/@pascaliske/eslint-config.svg?style=flat-square)](https://www.npmjs.com/package/@pascaliske/eslint-config) [![GitHub Tag](https://img.shields.io/github/tag/pascaliske/eslint-config.svg?style=flat-square)](https://github.com/pascaliske/eslint-config) [![Build Status](https://img.shields.io/github/workflow/status/pascaliske/eslint-config/Test%20package/master?label=test&style=flat-square)](https://github.com/pascaliske/eslint-config/actions) [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg?style=flat-square)](https://opensource.org/licenses/MIT) [![GitHub Last Commit](https://img.shields.io/github/last-commit/pascaliske/eslint-config?style=flat-square)](https://github.com/pascaliske/eslint-config) [![Awesome Badges](https://img.shields.io/badge/badges-awesome-green.svg?style=flat-square)](https://github.com/Naereen/badges)

## Installation

To install the config use the following command:

```bash
yarn add @pascaliske/eslint-config --dev
```

For TypeScript projects you will also need the following peer dependencies:

```bash
yarn add eslint @typescript-eslint/{parser,eslint-plugin} --dev
```

For Angular projects you will also need the following peer dependencies:

```bash
yarn add eslint @typescript-eslint/{parser,eslint-plugin} @angular-eslint/{template-parser,eslint-plugin,eslint-plugin-template} --dev
```

## Usage

There are three possible types of configurations available: `base` (only JS), `typescript` (JS + TS) and `angular` (JS + TS + Angular specifics). You can reference those by adding a suffix to the extends value in your config file (e.g. `@pascaliske/eslint-config/angular`). The `base` configuration will be used as default when the suffix is missing.

`.eslintrc`

```json
{
  "root": true,
  "extends": "@pascaliske/eslint-config/base", // or typescript / angular
  "env": {
    "browser": true
  }
}
```

For usage in Node.js projects you can also enable the Node.js environment instead:

`.eslintrc`

```json
{
  "root": true,
  "extends": "@pascaliske/eslint-config/base", // or typescript / angular
  "env": {
    "node": true
  }
}
```

For usage in TypeScript and Angular projects you have to use a JS based config file and explicitly set parser options with a `tsconfig.json`-file:

`.eslintrc.js`

```js
module.exports = {
    root: true,
    extends: "@pascaliske/eslint-config/typescript", // or angular
    parserOptions: {
        project: `${__dirname}/tsconfig.json`,
        createDefaultProgram: true,
    },
    env: {
        node: true,
    },
}
```

For more information on environments visit the [ESLint documentation](https://eslint.org/docs/user-guide/configuring#specifying-environments).

## License

MIT © 2022 [Pascal Iske](https://pascaliske.dev)
npm package: @pascaliske/form-elements
Description: Collection of form elements for Angular 6+ projects.
Author: Pascal Iske
Latest version: 5.0.1

# [`@pascaliske/form-elements`](https://pascaliske.github.io/form-elements)

[![Build Status](https://img.shields.io/github/workflow/status/pascaliske/form-elements/Test%20package/master?label=test&style=flat-square)](https://github.com/pascaliske/form-elements/actions) [![Dependabot Status](https://api.dependabot.com/badges/status?host=github&repo=pascaliske/form-elements)](https://dependabot.com)

## Installation

To install the module use the following command:

```bash
$ yarn add @pascaliske/form-elements
```

## Usage

Import the module in your Angular app:

```typescript
import { NgModule } from '@angular/core'
import { CommonModule } from '@angular/common'
import { BrowserModule } from '@angular/platform-browser'
import { FormElementsModule } from '@pascaliske/form-elements'
import { AppComponent } from './app.component'

@NgModule({
    bootstrap: [AppComponent],
    declarations: [AppComponent],
    imports: [CommonModule, BrowserModule, FormElementsModule],
})
export class AppModule {}
```

Then import the styles in your global scss styles:

```scss
@import '~@pascaliske/form-elements/styles';
```

> **Note:** If you want to use the `cmp-f-select`, `cmp-f-date` od `cmp-f-time` components you also need to add their 3rd-party library styles:
>
> ```scss
> @import '~choices.js/public/assets/styles/choices.min.css'; // cmp-f-select
> @import '~flatpickr/dist/flatpickr.min.css'; // cmp-f-date, cmp-f-time
> ```

Now you can use the components in your template:

```html
<cmp-f-form>
    <cmp-f-row>
        <cmp-f-column>
            <cmp-f-input [label]="'My text input'"></cmp-f-input>
        </cmp-f-column>
    </cmp-f-row>
</cmp-f-form>
```

## License

MIT © [Pascal Iske](https://pascaliske.dev)
npm package: @pascaliske/html-helpers
Description: Collection of helper functions for HTML.
Author: Pascal Iske
Latest version: 1.5.12

# Angular HTML Helpers

[![Build Status](https://img.shields.io/github/workflow/status/pascaliske/html-helpers/Test%20package/master?label=test&style=flat-square)](https://github.com/pascaliske/html-helpers/actions) [![codecov](https://codecov.io/gh/pascaliske/html-helpers/branch/develop/graph/badge.svg)](https://codecov.io/gh/pascaliske/html-helpers) [![Dependabot Status](https://api.dependabot.com/badges/status?host=github&repo=pascaliske/html-helpers)](https://dependabot.com)

## Installation

To install the module use the following commands:

```bash
$ yarn add @pascaliske/html-helpers
```

## Usage

### CSS modifier classes with namespace

In your `TS` code:

```typescript
import { modifiers } from '@pascaliske/html-helpers'

@Component({
    selector: 'cmp-section',
    templateUrl: './section.component.html',
    styleUrls: ['./section.component.scss'],
})
export class SectionComponent implements OnInit {
    public classes(namespace: string): string {
        return modifiers(namespace, {
            foo: true,
            bar: false,
            baz: true,
        })
    }
}
```

In your `HTML` code:

```html
<!-- className: "cmp-section cmp-section--foo cmp-section--baz" -->
<div [className]="classes('cmp-section')"></div>
```

### CSS modifier classes without namespace

In your `TS` code:

```typescript
import { modifiers } from '@pascaliske/html-helpers'

@Component({
    selector: 'cmp-section',
    templateUrl: './section.component.html',
    styleUrls: ['./section.component.scss'],
})
export class SectionComponent implements OnInit {
    public get classes(): string {
        return modifiers({
            foo: true,
            bar: false,
            baz: true,
        })
    }
}
```

In your `HTML` code:

```html
<!-- className: foo baz -->
<div [className]="classes"></div>
```

## License

MIT © [Pascal Iske](https://pascaliske.dev)
npm package: @pascaliske/mime-types
Description: Simple wrapper for node-mime package.
Author: Pascal Iske
Latest version: 1.2.14

# Simple wrapper for [`node-mime`](https://github.com/broofa/node-mime)

[![npm (scoped)](https://img.shields.io/npm/v/@pascaliske/mime-types.svg?style=flat-square)](https://www.npmjs.com/package/@pascaliske/mime-types) [![GitHub Tag](https://img.shields.io/github/tag/pascaliske/mime-types.svg?style=flat-square)](https://github.com/pascaliske/mime-types) [![Build Status](https://img.shields.io/github/workflow/status/pascaliske/mime-types/Test%20package/master?label=test&style=flat-square)](https://github.com/pascaliske/mime-types/actions) [![codecov](https://codecov.io/gh/pascaliske/mime-types/branch/develop/graph/badge.svg)](https://codecov.io/gh/pascaliske/mime-types) [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg?style=flat-square)](https://opensource.org/licenses/MIT) [![Dependabot Status](https://api.dependabot.com/badges/status?host=github&repo=pascaliske/mime-types)](https://dependabot.com) [![GitHub Last Commit](https://img.shields.io/github/last-commit/pascaliske/mime-types?style=flat-square)](https://github.com/pascaliske/mime-types) [![Awesome Badges](https://img.shields.io/badge/badges-awesome-green.svg?style=flat-square)](https://github.com/Naereen/badges)

## Installation

To install the module use the following commands:

```bash
$ yarn add @pascaliske/mime-types
```

## Usage

### tl:dr;

```typescript
import { getType, getExtension } from '@pascaliske/mime-types'

getType('text') // => 'text/plain'
getExtension('text/plain') // => 'txt'
```

For more information go to the [node-mime package](https://github.com/broofa/node-mime).

## License

MIT © [Pascal Iske](https://pascaliske.dev)
npm package: @pascaliske/ngx-notifications
Description: Notification module for Angular v17+.
Author: Pascal Iske
Latest version: 3.0.2

# `@pascaliske/ngx-notifications`

[![npm (scoped)](https://img.shields.io/npm/v/@pascaliske/ngx-notifications.svg?style=flat-square)](https://www.npmjs.com/package/@pascaliske/ngx-notifications) [![GitHub Tag](https://img.shields.io/github/tag/pascaliske/ngx-notifications.svg?style=flat-square)](https://github.com/pascaliske/ngx-notifications) [![Build Status](https://img.shields.io/github/workflow/status/pascaliske/ngx-notifications/Test%20package/master?label=test&style=flat-square)](https://github.com/pascaliske/ngx-notifications/actions) [![Awesome Badges](https://img.shields.io/badge/badges-awesome-green.svg?style=flat-square)](https://github.com/Naereen/badges)

## Installation

To install the module use the following command:

```bash
$ ng add @pascaliske/ngx-notifications
```

## Usage

1. Import the `provideNotifications()` function in your application configuration file.:

    ```typescript
    import type { ApplicationConfig } from '@angular/core'
    import { provideNotifications } from '@pascaliske/ngx-notifications'

    export const appConfig: ApplicationConfig = {
        providers: [
            provideExperimentalZonelessChangeDetection(),
            provideNotifications(),
        ],
    }
    ```

2. Add the following line to your app's template:

    ```html
    <cmp-notifications></cmp-notifications>
    ```

3. Access the `NotificationsService` in your components:

    ```typescript
    import { Component, OnInit } from '@angular/core'
    import { NotificationsService } from '@pascaliske/ngx-notifications'

    @Component({
        selector: 'cmp-root',
        templateUrl: './app.component.html',
        styleUrls: ['./app.component.scss'],
    })
    export class AppComponent implements OnInit {
        public constructor(private notificationService: NotificationsService) {}

        public ngOnInit(): void {
            this.notificationService.info('Hello World!')
        }
    }
    ```

4. Style the notifications with your own styles:

    ```scss
    .cmp-notifications {
        // the notifications list
    }

    .cmp-notification {
        // a single notification

        &--info {
            // info styles
        }

        &--success {
            // success styles
        }

        &--warning {
            // warning styles
        }

        &--error {
            // error styles
        }
    }
    ```

## License

MIT © [Pascal Iske](https://pascaliske.dev)
npm package: @pascaliske/ngx-prerenderer
Description: Angular Universal Prerenderer.
Author: Pascal Iske
Latest version: 2.0.8
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# Angular Universal Prerenderer

[![npm (scoped)](https://img.shields.io/npm/v/@pascaliske/ngx-prerenderer.svg?style=flat-square)](https://www.npmjs.com/package/@pascaliske/ngx-prerenderer) [![GitHub Tag](https://img.shields.io/github/tag/pascaliske/ngx-prerenderer.svg?style=flat-square)](https://github.com/pascaliske/ngx-prerenderer) [![Build Status](https://img.shields.io/github/workflow/status/pascaliske/ngx-prerenderer/Test%20package/master?label=test&style=flat-square)](https://github.com/pascaliske/ngx-prerenderer/actions) [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg?style=flat-square)](https://opensource.org/licenses/MIT) [![Dependabot Status](https://api.dependabot.com/badges/status?host=github&repo=pascaliske/ngx-prerenderer)](https://dependabot.com) [![GitHub Last Commit](https://img.shields.io/github/last-commit/pascaliske/ngx-prerenderer?style=flat-square)](https://github.com/pascaliske/ngx-prerenderer) [![Awesome Badges](https://img.shields.io/badge/badges-awesome-green.svg?style=flat-square)](https://github.com/Naereen/badges)

## Installation

To install the module use the following commands:

```bash
$ yarn add @pascaliske/ngx-prerenderer
```

## Usage

Create a `.ts`-File and place the following inside:

```typescript
import 'reflect-metadata'
import 'zone.js/dist/zone-node'
import { enableProdMode } from '@angular/core'
import { renderModuleFactory } from '@angular/platform-server'
import { provideModuleMap } from '@nguniversal/module-map-ngfactory-loader'
import { create } from '@pascaliske/ngx-prerenderer'
import { routes } from './app/app-routing.module'

enableProdMode()

// tslint:disable-next-line
const { AppServerModuleNgFactory, LAZY_MODULE_MAP } = require('../dist/server/main')
const prerender = create(renderModuleFactory, provideModuleMap)

prerender(routes, AppServerModuleNgFactory, LAZY_MODULE_MAP)
    .then(() => {
        console.log('==> done')
    })
    .catch(error => {
        console.log(error)
        process.exit(1)
    })

```

## License

MIT © [Pascal Iske](https://pascaliske.dev)
npm package: @pascaliske/prettier-config
Description: Shared prettier config file.
Author: Pascal Iske
Latest version: 1.3.0

# Shared [`.prettierrc`](.prettierrc)

[![Build Status](https://img.shields.io/github/workflow/status/pascaliske/prettier-config/Test%20package/master?label=test&style=flat-square)](https://github.com/pascaliske/prettier-config/actions)

## Installation

To install the module use the following commands:

```bash
$ yarn add @pascaliske/prettier-config
```

## Usage

`package.json`

```json
{
  "prettier": "@pascaliske/prettier-config"
}
```

## License

MIT © [Pascal Iske](https://pascaliske.dev)
npm package: @pascaliske/servejson
Description: Command line utility for quickly serving a given json file with correct http headers.
Author: Pascal Iske
Latest version: 1.0.3
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# `@pascaliske/servejson`

[![npm](https://img.shields.io/npm/v/@pascaliske/servejson.svg?style=flat)](https://www.npmjs.com/package/@pascaliske/servejson)
[![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg?style=flat)](https://github.com/pascaliske/servejson/blob/master/LICENSE.md)
[![Travis](https://img.shields.io/travis/pascaliske/servejson.svg?style=flat)](https://travis-ci.org/pascaliske/servejson)
[![Greenkeeper badge](https://badges.greenkeeper.io/pascaliske/servejson.svg)](https://greenkeeper.io/)

> Command line utility for quickly serving a given json file with correct http headers.

## Install

```bash
$ yarn global add @pascaliske/servejson
```

## CLI

Use the globally installed cli to quickly serve a json file:

```bash
$ servejson <path/to/file.json> [<custom-port>]
```

## License

MIT © [Pascal Iske](https://pascal-iske.de)
npm package: @pascaliske/storybook-helpers
Description: [![npm (scoped)](https://img.shields.io/npm/v/@pascaliske/storybook-helpers.svg?style=flat-square)](https://www.npmjs.com/package/@pascaliske/storybook-helpers) [![GitHub Tag](https://img.shields.io/github/tag/pascaliske/storybook-helpers.svg?style=flat-s
Author: Pascal Iske
Latest version: 1.1.5
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# Storybook Helpers

[![npm (scoped)](https://img.shields.io/npm/v/@pascaliske/storybook-helpers.svg?style=flat-square)](https://www.npmjs.com/package/@pascaliske/storybook-helpers) [![GitHub Tag](https://img.shields.io/github/tag/pascaliske/storybook-helpers.svg?style=flat-square)](https://github.com/pascaliske/storybook-helpers) [![Build Status](https://img.shields.io/github/workflow/status/pascaliske/storybook-helpers/Test%20package/master?label=test&style=flat-square)](https://github.com/pascaliske/storybook-helpers/actions) [![codecov](https://codecov.io/gh/pascaliske/storybook-helpers/branch/develop/graph/badge.svg)](https://codecov.io/gh/pascaliske/storybook-helpers) [![Dependabot Status](https://api.dependabot.com/badges/status?host=github&repo=pascaliske/storybook-helpers)](https://dependabot.com)

## Installation

To install the package use the following commands:

```bash
$ yarn add @pascaliske/storybook-helpers
```

## Usage

```typescript
import { createStory } from '@pascaliske/storybook-helpers'
import { FooComponent } from './foo.component'

export default {
    title: 'FooComponent',
}

export const Basic = createStory({
    parameters: {},
    factory: () => ({
        component: FooComponent,
        props: {},
    }),
})
```

## License

MIT © [Pascal Iske](https://pascaliske.dev)
npm package: @pascaliske/tsconfig
Description: Shared tsconfig file.
Author: Pascal Iske
Latest version: 1.0.7

# Shared [`tsconfig.json`](tsconfig.json)

[![npm (scoped)](https://img.shields.io/npm/v/@pascaliske/tsconfig.svg?style=flat-square)](https://www.npmjs.com/package/@pascaliske/tsconfig) [![GitHub Tag](https://img.shields.io/github/tag/pascaliske/tsconfig.svg?style=flat-square)](https://github.com/pascaliske/tsconfig) [![Build Status](https://img.shields.io/github/workflow/status/pascaliske/tsconfig/Test%20package/master?label=test&style=flat-square)](https://github.com/pascaliske/tsconfig/actions) [![Dependabot Status](https://api.dependabot.com/badges/status?host=github&repo=pascaliske/tsconfig)](https://dependabot.com) [![Awesome Badges](https://img.shields.io/badge/badges-awesome-green.svg?style=flat-square)](https://github.com/Naereen/badges)

## Installation

To install the module use the following commands:

```bash
$ yarn add @pascaliske/tsconfig
```

## Usage

`tsconfig.json`

```json
{
  "extends": "@pascaliske/tsconfig"
}
```

## License

MIT © [Pascal Iske](https://pascaliske.dev)
npm package: @pascalism/mimic-iv-eventlog-merger
Description: A microservice designed to merge the admissions and transfers eventlogs of the MIMIC-IV dataset.
Author: Pascalis Maschke
Latest version: 1.4.0

# MIMIC-IV-eventlog-merger

A script designed to merge the admissions and transfers eventlogs of the MIMIC-IV dataset.

## Setup

The following changes have to be performed manually to the datasets:

Transfers Eventlog:

-   switch column names of `concept:name` and `eventtype`

Admissions Eventlog:

-   rename `disch` to `discharge`
-   append one of the eventlogs onto the other

## Changes

Your eventlog's `subject_id` will be enriched in the following way:

-   admissions contain `eventtype` (if available) or `admission_location` (if available)
-   transfers contain `eventtype` (if available)
-   edreg/edout is deleted as the information is stored in the `ED` event
-   duplicate events will be removed within the specified timeframe

## Input

The script takes three inputs, namely:

-   `input_file`, your merged eventlogs
-   `time_frame`, the time frame in which you want duplicates removed
-   `output_file`, your output file, defaults to `merged_output_file.csv`

Example:

```
node eventlog-merger.js --input_file "./admission_merged.csv" --time_frame 3600000 --output_file "./merged_output_file.csv"
```
npm package: @pascaljp/soracom
Description: Soracom API with TypeScript support, auto-generated from OpenAPI yaml file.
Author: Koichi Suematsu
Latest version: 1.0.5

# @pascaljp/soracom

> A library to provide TypeScript / JavaScript API to access [Soracom APIs](https://developers.soracom.io/en/api/).
> Most of the code is auto generated from the openapi YAML file, so all APIs are supported.
> If there is any bug or if there is any API that is not supported by this library, please report the problem on [GitHub](https://github.com/pascaljp/soracom/issues).

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

## Install

```bash
npm i -S @pascaljp/soracom
```

## Usage example

```typescript
import * as Soracom from "@pascaljp/soracom";

async function main() {
  const configuration: Soracom.Configuration = await Soracom.GetSoracomConfiguration({
    email: process.env.SORACOM_EMAIL,
    password: process.env.SORACOM_PASSWORD,
  });

  try {
    const simApi = new Soracom.SimApi(configuration);
    const sims: Soracom.Sim[] = (await simApi.listSims()).data;
    console.log(sims);
  } catch (err) {
    console.error(err);
  }
}

main();
```

## License

[MIT](http://vjpr.mit-license.org)

[npm-image]: https://img.shields.io/npm/v/@pascaljp/soracom.svg
[npm-url]: https://npmjs.org/package/@pascaljp/soracom
npm package: @pascallaier/wct-test-result-converter-junit
Description: Web Component Tester Test Result Converter to JUnit
Author: Pascal Laier
Latest version: 1.0.1

Web Component Tester Test Result Converter to JUnit
====================================================

Generates junit reports.

## Installation

```sh
npm install wct-test-result-converter-junit --saveDev
```

## Basic Usage

Add the following configuration to web-component-tester's config file (wct.conf.json).

```json
{
  "plugins": {
    "wct-test-result-converter-junit": {
        "output": "./test-results/junit-testfile.xml"
    }
  }
}
```

## Result

    output -> ./test-results/junit-testfile.xml
npm package: @pascallieverse/list.js
Description: The perfect library for lists. Supports search, sort, filters and flexibility. Built to be invisible and work on existing HTML
Author: Jonny Strömberg
Latest version: 1.6.0
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# List.js

This is a fork of <a href="https://github.com/javve/list.js">javve/list.js</a> extended with Bootstrap 4 pagination support.

Perfect library for adding **search**, **sort**, **filters** and **flexibility** to
**tables**, **lists** and various HTML elements. Built to be invisible and work on existing HTML.
Really simple and easy to use!


### Core idea
- Simple and invisible
- Easy to apply to existing HTML
- No dependencies
- Fast
- Small
- Handle thousands of items

### Features
- Works both lists, tables and almost anything else. E.g. `<div>`,`<ul>`,`<table>`, etc.
- Search [Read more ›](http://listjs.com/docs/list-api#search)
- Sort [Read more ›](http://listjs.com/docs/list-api#sort)
- Filter [Read more ›](http://listjs.com/docs/list-api#filter)
- Simple templating system that adds possibility to add, edit, remove items [Read more ›](http://listjs.com/docs/list-api#add)
- Plugins [Read more ›](http://listjs.com/docs/plugins)
- Support for Chrome, Safari, Firefox, IE6+

### Download / Install
##### Via NPM
```
npm install @pascallieverse/list.js
```


### Questions / How to?
https://stackoverflow.com/questions/tagged/list.js

### Demo / Examples
- [Existing list](http://listjs.com/examples/existing-list)
- [Existing list + add](http://listjs.com/examples/existing-list-add)
- [New list](http://listjs.com/examples/new-list)
- [Add, get, remove](http://listjs.com/examples/add-get-remove)
- [Fuzzy search](http://listjs.com/examples/fuzzy-search)
- [Pagination](http://listjs.com/examples/pagination)
- [Search in specific column](http://codepen.io/javve/pen/GpZpow)
- [Filter in range](http://codepen.io/javve/pen/wKGKWL)
- [Show message filter/search results in 0 items](http://codepen.io/javve/pen/VvavzG)
- [Only show list after search/filter](http://codepen.io/javve/pen/YyqyRg)

## Documentation
- [Getting started](http://listjs.com/docs)
- [Options](http://listjs.com/docs/options)
- [List API](http://listjs.com/docs/list-api)
- [Item API](http://listjs.com/docs/item-api)
- [Changelog](http://listjs.com/overview/changelog)

### Plugins
- [Introduction](http://listjs.com/docs/plugins)
- [Pagination](http://listjs.com/docs/plugins/pagination)
- [Fuzzy search](http://listjs.com/docs/plugins/fuzzysearch)
- [Build your own](http://listjs.com/docs/plugins/build)


## License (MIT)

Copyright (c) 2011-2018 Jonny Strömberg <[jonny.stromberg@gmail.com](mailto:jonny.stromberg@gmail.com)>
[http://javve.com](http://javve.com)
npm package: @pascalmh/date-input-polyfill
Description: Automatically adds datepickers to input[type=date] on IE, Firefox, and OS X Safari.
Latest version: 2.15.2

# date-input-polyfill
Just include this simple script and IE, Firefox, and OS X Safari will support `<input type="date">`, without any dependencies, not even jQuery!

Support dynamically created inputs, so can be used in single page applications.

Forked from [nodep-date-input-polyfill](https://github.com/brianblakely/nodep-date-input-polyfilll). Continuing as a separate project.

## Install
`npm install --save date-input-polyfill`

Add to your project:

* **Webpack/Browserify:** `require('date-input-polyfill');`

    or alongside **Babel:** `import 'date-input-polyfill';`

* **Script Tag:** Copy `date-input-polyfill.dist.js` from `node_modules` and
include it anywhere in your HTML.

* This package also supports **AMD**.

## Features
* **Easily Stylable:** [These are the default styles](https://github.com/jcgertig/date-input-polyfill/blob/master/date-input-polyfill.scss),
which you may override with your own.

* **Polyfills `valueAsDate` and `valueAsNumber`:**
[Learn more about these properties.](https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement#property-valueasdate)
They behave as getters and setters.

* **Keyboard Shortcuts:** `Esc` will hide the datepicker. `Up/Down` will
increment/decrement the date by one day.

* **Localization:** Specify the datepicker's locale by setting the
`lang` attribute of the `input` element.  The default locale is `en`.

    `<input type="date" lang="en" />`

* **Formatting:** Specify the display format by setting either the
`date-format` or `data-date-format` attribute of the `input` element.  The default format is `yyyy-mm-dd`.
[Available options list.](https://github.com/felixge/node-dateformat#mask-options)

    `<input type="date" date-format="mm/dd/yyyy" />`
    
    `<input type="date" data-date-format="mm/dd/yyyy" />`


## Contributing

### Local Development
Run `npm start` or, for Cloud9 IDE users: `npm run start-c9`

### Build
Run `npm run build`