open-index/open-npm huggingface dataset:
npm package: @rdcz/schematics
Description: This repository folder contains Radium schematics than can be used to simplify development process.
Latest version: 218.2.422

# Radium Schematics

This repository folder contains Radium schematics than can be used to simplify development process.

## Building
Skip this step if you're using these schematics from NPM package.
Run
```bash
npm run schematics
```
This will build all schematics for the current repository making them possible to use.

## Schematics Reference
To retrieve information about parameters for exact schematics run them with `--help` parameter.
### nx-boilerplate
Works in NX environments.

Creates a standard skeleton application which uses standard Radium skin, layout, core components and controls. The generated application shows examples of creating typical use-cases.

Parameters information
```bash
ng g ./dist/tools/schematics/collection.json:nx-boilerplate --help
```

Creating a boilerplate
```bash
ng g ./dist/tools/schematics/collection.json:nx-boilerplate <application-name> --debug=false --force=true
```

Note that `<application-name>` is a required parameter.
Boilerplate will be created in your `apps` folder and added to your `angular.json`/`nx.json` to be properly wired with all the NG/NX features.
By default the boilerplate will be created with a standard API URL address.

When using this schematic from NPM simply run:
```bash
ng g @rdcz/schematics:nx-boilerplate
```

### ng-boilerplate
Works for standard Angular applications created with `ng new`.
Generates a standard skeleton application which uses standard Radium skin, layout, core components and controls. The generated application shows examples of creating typical use-cases.

To use this schematic make sure to create an empty angular application with `ng new`. Then run:
```bash
npm install --save-dev @rdcz/schematics
ng g @rdcz/schematics:ng-boilerplate
```

### ng-add
Adds main Radium libraries (`core-services` and `core-components`) to any Angular application. Also necessary configurations are done in angular.json and tsconfig.json.

This schematic adds custom webpack config in order to wire-up Radium localization files.

To use this schematic, from your angular project run:
```bash
ng add @rdcz/schematics
```

## Creating New Schematics
* A super detailed guide on schematics (also covers NPM publishing): https://medium.com/@tomastrajan/total-guide-to-custom-angular-schematics-5c50cf90cdb4
* Another helpful guide: https://javascript-conference.com/blog/how-to-create-your-own-angular-schematics/
npm package: @rde-pro/vue-starter-rdt
Description: rdt-vue-starter rede-template
Latest version: 0.0.2-beta.2

# {{ProjectName}}

## Project setup
```
npm install
```

### Compiles and hot-reloads for development
```
npm run serve
```

### Compiles and minifies for production
```
npm run build
```

### Run your tests
```
npm run test
```

### Lints and fixes files
```
npm run lint
```

### Customize configuration
See [Configuration Reference](https://cli.vuejs.org/config/).
npm package: @rde.pro/rdt-vue-starter
Description: rdt-vue-starter rede-template
Latest version: 0.0.1-2

# {{ProjectName}}

## Project setup
```
npm install
```

### Compiles and hot-reloads for development
```
npm run serve
```

### Compiles and minifies for production
```
npm run build
```

### Run your tests
```
npm run test
```

### Lints and fixes files
```
npm run lint
```

### Customize configuration
See [Configuration Reference](https://cli.vuejs.org/config/).
npm package: @rdea/stacks-vue
Description: ## Project setup ``` yarn install ```
Latest version: 0.1.3

# my-vue-library

## Project setup
```
yarn install
```

### Compiles and hot-reloads for development
```
yarn run serve
```

### Compiles and minifies for production
```
yarn run build
```

### Run your tests
```
yarn run test
```

### Lints and fixes files
```
yarn run lint
```

### Customize configuration
See [Configuration Reference](https://cli.vuejs.org/config/).
npm package: @rdeak/jwe
Description: JWE with compression
Author: Robert Deak
Latest version: 2.0.2

# JWE

[![npm version](https://img.shields.io/npm/v/@rdeak/jwe/latest.svg)](https://www.npmjs.com/package/@rdeak/jwe)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

This repo exposes functions for encrypting JSON payloads, and decrypting JWE tokens into JSON from Node.js.

By default, `dir` algorithm is used for encryption of CEK, and `A128GCM` for encryption of a payload.

Underhood it uses [jose](https://github.com/panva/jose) library.

## Installation

```bash
npm install @rdeak/jwe
```

or

```bash
npm install https://github.com/rdeak/jwe
```

## Usage

```javascript
import { encrypt, decrypt } from "@rdeak/jwe";

const jwe = JWE("0123456789123456");

const jweToken = await jwe.encrypt({ name: "John Doe" });
console.log("JWE:", jweToken);

const payload = await jwe.decrypt(jweToken);
console.table(payload);
```

## API Documentation

### JWE

Create handler for encrypting and decrypting JWE tokens.

#### Parameters

| Name      | Type      |
| :-------- | :-------- |
| `secret`  | `string`  |
| `options` | `Options` |

```typescript
type Options = {
  /***
   * cryptographic algorithm used to encrypt CEK
   */
  alg?: string;
  /***
   * cryptographic algorithm used to encrypt payload
   */
  enc?: string;
  /***
   * default content is converted to JSON
   */
  transform?: Transform<PAYLOAD>;
  /***
   * @deprecated https://www.rfc-editor.org/rfc/rfc8725#name-avoid-compression-of-encryp
   */
  compression?: Compression;
};
```

### encrypt

▸ **encrypt**(`payload`): [`Promise`](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)\<`string`\>

Encrypts and resolves the value of the Compact JWE string.

#### Parameters

| Name      | Type                      |
| :-------- | :------------------------ |
| `payload` | `Record<string, unknown>` |

#### Returns

[`Promise`](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)<`string`>

### decrypt

```javascript
decrypt("jwe token....", "0123456789123456");
```

▸ **decrypt**(`jweToken`): [`Promise`](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)\<`string`\>

Decrypts a Compact JWE into object.

#### Parameters

| Name       | Type     |
| :--------- | :------- |
| `jweToken` | `string` |

#### Returns

[`Promise`](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)<`Record<string, unknown>`>

## License

This project is licensed under the terms of the MIT license.
npm package: @rdeak/semantic-release-config
Description: Configuration for semantic-release with conventional commit messages
Author: Robert Deak
Latest version: 1.2.1

# semantic-release-config

[![npm version](https://img.shields.io/npm/v/@rdeak/semantic-release-config/latest.svg)](https://www.npmjs.com/package/@rdeak/semantic-release-config)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

Configuration for semantic-release for GitHub with
[conventional commit messages](https://www.conventionalcommits.org/en/v1.0.0/), GitHub releases, changelog and npm publishing.

## Commit message rules

| Commit message type | Semver |
| ------------------- | ------ |
| perf                | patch  |
| refactor            | patch  |
| fix                 | patch  |
| feat                | minor  |
| BREAKING CHANGE     | major  |

## Installation

```bash
npm install --save-dev semantic-release @rdeak/semantic-release-config
```

## Usage

1. Create `.releaserc.json` file in repository root, and add this into it:

```json
{
  "extends": "@rdeak/semantic-release-config"
}
```

2. [Create NPM token](https://docs.npmjs.com/creating-and-viewing-access-tokens) and
   add it into [Github repository secret](https://docs.github.com/en/actions/security-guides/using-secrets-in-github-actions#creating-secrets-for-a-repository) as `NPM_TOKEN`.

   [Read more](https://github.com/jednano/semantic-release-npm-github-config#plugins) in documentation.

3. (optional) if you have scoped package add this into your `package.json`

```json
"publishConfig": {
    "access": "public"
  },
```

4. (optional) if you get [SemanticReleaseError: Invalid npm token](https://github.com/semantic-release/semantic-release/issues/2313) please create `.npmrc` in repository root, and add this:

```
registry=https://registry.npmjs.org/
```

5. (optional) Release is created from `main` branch. Please update `.releaserc.json` with preferred branch name:

```json
{
  "extends": "@rdeak/semantic-release-config",
  "branches": ["main"]
}
```

## Additional configurations

### Release only

```json
{
  "extends": "@rdeak/semantic-release-config/release-only",
  "branches": ["main"]
}
```

It creates just Github release with changelog and tag.

## License

This project is licensed under the terms of the MIT license.
npm package: @rdeak/use-search-state
Description: Store the state in the URL, share it, and easily recreate it.
Author: Robert Deak
Latest version: 1.0.0

# use-search-state

[![npm version](https://img.shields.io/npm/v/@rdeak/use-search-state/latest.svg)](https://www.npmjs.com/package/@rdeak/use-search-state)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

Store the state in the URL, share it, and easily recreate it.

## Installation

```bash
npm install react-router-dom @rdeak/use-search-state
```

or

```bash
npm install react-router-dom https://github.com/rdeak/use-search-state
```

## Usage

```javascript
import useSearchState from "@rdeak/use-search-state";

const [state, setState] = useSearchState();
// state = {}

// with initial values
const [withIntialState, setWithInitalState] = useSearchState({
  name: "Jane Doe",
});
// withIntialState = {"name": "Jane Doe"}

// set value
setState({ name: "John Doe", classes: ["G-1", "R-2"] });
// state = {"name":"John Doe", "classes": ["G-1","R-2"]}

// add just portion of state
setState({ address: "Main Road 8" });
// state = {"name":"John Doe", "classes": ["G-1","R-2"], "address": "Main Road 8"}

// numeric values are converted to string
setState({ height: 180 });
// state = {"name":"John Doe", "classes": ["G-1","R-2"], "address": "Main Road 8", "height": "180"}

// remove value
setState({ classes: null });
// state = {"name":"John Doe", "address": "Main Road 8"}

// clear all
setState(null);
// state = {}
```

## License

This project is licensed under the terms of the MIT license.
npm package: @rdecojs/core
Description: A frame-agnostic modular code base
Author: shihong
Latest version: 0.2.3

# @rdecojs

## 概念

rdecojs 是一个 JavaScript 代码封装库，通过 rdecojs 的 create api，你可以将你的 JavaScript 代码封装起来，并暴露供调用的一些 api 方法，然后通过任意的构建工具例如 webpack rollup vite 构建你的代码，然后将构建结果发布到任意的 cdn 平台，随后你就可以通过 imc api 来调用这些代码，实现 “one bundle，use anywhere”

## QuickStart

### 封装代码

```js
import { create } from '@rdecojs/core'
import React from 'react'

function HelloWorld() {
  return <div> hello world </div>
}

function income(num, resolve) {
  resolve(num + 1)
}

create('myFirstModule', () => ({
  getComponent(resolve) {
    resolve(HelloWorld)
  },
  income,
}))
```

将上述代码打包后得到一个 cdn 的入口地址例如 //cdn.com/myFirstModule/index.js，例如使用 surge.sh，我们可以很方便的将代码上传 cdn

### 使用代码

在入口 html 中加载 cdn 地址

```js
<html>
  <head>
    <script src="//my.surge.sh/myFirstModule/index.js"></script>
    <body>
      <script src="./index.js"></script>
    </body>
  </head>
</html>
```

然后在 index.js 中编写以下代码

```js
import { imc } from '@rdecojs/core'

const myFirstModule = imc('myFirstModule')

const Component = await myFirstModule.getComponent()

function App() {
  return <Component></Component> // display hello world
}

const incomeNumb = await myFirstModule.income(10) // 11
```
npm package: @rdelgado814/platzom
Description: Traductor de idioma curso platzi
Author: Roberto Delgado
Latest version: 0.1.0

# Platzom

Platzom es un idioma inventado para el [Curso de Fundamentos de Javascript de Platzi](https://platzi.com/js)

## Descripción del idioma

- Si la palabra termina con "ar" , se le quitan esas dos letras.
- Si la palabra inicia con Z, se le añade "pe" al final 
- Si la palabra traducida tiene 10 o más letras se debe partir en dos por la mitad y unir con un guión medio
- Por último, si la palabra original es un palíndromo, ninguna regla anterior cuenta y se devuelve la misma palabra pero intercalando letras mayusculas y minusculas.

## Instalación

```
nmp install platzom

```

## Uso 

```
import platzom from 'platzom'

platzom("Programar") // Program
platzom("Zorro") // Zorrope
platzom("Zarpar") // Zarppe
platzom("abecedeario") // abece-dario
platzom("sometemos") // SoMeTeMoS

```

## Creditos
-[Roberto Delgado](https://www.linkedin.com/in/robertoantoniodelgadonieves/)

## Licencia

[MIT](https://opensource.org/licenses/MIT)
npm package: @rdelhommer/ionic-utils
Description: Common services, directives, factories, etc. for apps built with the Ionic Framework
Author: Rick Delhommer
Latest version: 1.0.2

# ionic-utils
Common services, directives, factories, etc. for apps built with the Ionic Framework

THIS NEEDS TO BE TESTED.  PLEASE DONT USE IT... please...

## Installation
### NPM or Yarn
```
npm install @rdelhommer/ionic-utils --save
```
or
```
yarn add @rdelhommer/ionic-utils
```

### Include
```
<script src="node_modules/@rdelhommer/ng-core/dist/ng-core.js"></script>
<script src="node_modules/@rdelhommer/ionic-utils/dist/ionic-utils.js"></script>
```

### Inject
```
angular.module('myRockinApp', ['rdelhommer.ionic'];
```

## Components

### Directives

#### image-preview
Creates a small image that when tapped opens a modal whose content is the zoomable, full-screen image

### Providers

#### fcmWrapperProvider
Wraps the cordova-plugin-fcm plugin
* Injectable pub/sub functionality for consumption in controllers, services, etc.
* onTokenRefreshed
* onNotfication

#### loaderProvider
Wraps the $ionicLoading Service
* Show the loader and provide a promise to automatically hide it afterwards

### Services

#### appResumeMessenger
Wraps the app resume event
* Injectable pub/sub functionality for consumption in controllers, services, etc.
* onResume

#### geolocation
Wraps the cordova-plugin-geolocation getLocation() function in a promise
* Returns hardcoded lat/lng for browser testing
* Ensures $ionicPlatform is ready before requesting location

### TODO
* TEST
* Minification
* Improve documentation for each component
npm package: @rdelhommer/ng-utils
Description: Common services, directives, factories, etc. for an AngularJS app
Author: Rick Delhommer
Latest version: 1.0.8

# ng-utils
Common services, directives, factories, etc. for an AngularJS app

## Installation
### NPM or Yarn
```
npm install @rdelhommer/ng-utils --save
```
or
```
yarn add @rdelhommer/ng-utils
```

### Include
```
<script src="node_modules/@rdelhommer/ng-core/dist/ng-core.js"></script>
<script src="node_modules/@rdelhommer/ng/dist/ng.js"></script>
```

### Inject
```
angular.module('myRockinApp', ['rdelhommer.ng'];
```

## Components

### Directives

#### lowercase
Attribute directive for text inputs transforms value to lowercase.
#### uppercase
Attribute directive for text inputs transforms value to uppercase.
#### contenteditable
Attribute directive to provide ngModel backed contenteditable div
#### enter-as-tab
Attribute directive for inputs that selects the next input when the enter key is pressed

### Services

#### localNotifications
Service for tracking notification counts in local storage.
* Increment count for notification with unique id
* Clear notification counts when going to a particular state
* Subscribe to count changes by notification id

### TODO
* Minification
* Add documentation for each component
npm package: @rdementev/hhelp
Description: heaven-help
Author: Rdementev
Latest version: 1.0.2

# hhelp

> heaven-help

[![NPM](https://img.shields.io/npm/v/hhelp.svg)](https://www.npmjs.com/package/hhelp) [![JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://standardjs.com)

## Install

```bash
npm install --save hhelp
```

## Usage

```jsx
import React, { Component } from 'react'

import MyComponent from 'hhelp'
import 'hhelp/dist/index.css'

class Example extends Component {
  render() {
    return <MyComponent />
  }
}
```

## License

MIT © [Rdementev](https://github.com/Rdementev)
npm package: @rdementev/lib
Description: library
Author: Rdementev
Latest version: 3.2.6

# LibAR

1) breadcrumb
import {BreadCrumb} from ....

list = [{
  title: 'example',
  link: '/example'
}]

seporator = '/'

onClick - callback возвращающий link

styled = {
  container: {},
  item: {},
  seporator: {},
  lastItem:{},
}

______________________________________________________________________________________________________________________________________

2) input 
import {Input} from ....
styled={}

______________________________________________________________________________________________________________________________________

3) SelectSearch 
import {SelectSearch} from ....

компонент состоит из 2 частей 
div по клику который меняется на input + list 
displayValue отображается в dive
value input устанавливается внутри 
отображение списка устанавливается внутри 
есть возможность отрисовывать группами  - list [{id:1, type: 'group', name: 'example', items: [{id: 1, name : example, icon: <Icon/>}]}]
по id отслеживается активный элемент в выпадающем списке


other  | default null, вернется при callback onClick
search | dafault false, возможность поиска через инпут по списку
multi  | default false мульти выбор
placeholder | = 'Поиск'
onClick | callback при выборе item
displayValue |  значение которое отображается на кнопке
fill | hex
onClickClear | callback от него зависит отображение кнопки отчистить и вызывается по клику на нее
styled= {
  list: {},
  suggestion: {},
  group: {},
  itemGroup: {},
  blockInput: {},
  input: {},
  buttonSelect: {},
  styledContainer: {},
  blockIcon: {},
  blockIconInput: {},
  blockIconClear: {},
  itemBlock: {},
}

______________________________________________________________________________________________________________________________________

4) SearchBlock 

import {SearchBlock} from ....

value | default = ''
onChange | default null callback возвращает e.target.value
placeholder | default = 'Поиск'
onFocus | default null - callback возвращает true || false в зависимости где фокус
onClick | default null - callback вызывается по клику на clear или enter, возвращает 'clear' || 'enter' соответственно
fill | default = #000 цвет иконок
icon | default = null
onKeyPress | при нажатие enter ( which 13)
clear | default = true отображает кнопку отчистики внутри инпута
enter | default = true отображает кнопку enter внутри инпута
icon | default = null <Icon/> икнока поиска
closeIcon | default = null <Icon/> иконка очистки

styled = {
  container: {},
  blockIconSearch : {},
  input: {}
  blockClear : {},
  blockIconClear : {},
  blockEnter : {},
  blockEnterText : {},
  blockEnterIcon : {},
}

______________________________________________________________________________________________________________________________________


5) ActionButton 

import {ActionButton} from ....

onClick | callback вызывается при клике на кнопку возвращает action
action | default = ''
title | default = 'Action' значение для отображения в кнопке
icon | default = false <Icon/>
styled = {
  button: {},
  blockIcon : {},
}
npm package: @rdementev/react-day-picker
Description: Customizable Date Picker for React
Author: Giampaolo Bellavite
Latest version: 8.0.0-beta.36

# React DayPicker (beta)

DayPicker is a date picker component for [React](https://reactjs.org).

```bash
$ npm install react-day-picker@next
```

### Beta version ⚠️

The [**master branch**](https://github.com/gpbl/react-day-picker/tree/master) is for the next major version 8 – which is currently in development
and not ready for production. For the stable version see the [**v7 branch**](https://github.com/gpbl/react-day-picker/tree/v7).

## Main features

- ☀️ select days, ranges or whatever
- 🗓 create multiple calendars
- ♿️ complete [ARIA](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA) support
- ➡️ keyboard navigation
- 🌎 localizable in any language
- 🎨 easy to style and customize
- 🤖 native Typescript support
- 📄 easy integration with input elements
- 🧘‍♀️ using [date-fns](http://date-fns.org) as date library

## Documentation

- [v7 website (current version)](http://react-day-picker.js.org)
- [v8 website (beta)](http://react-day-picker-next.netlify.app)
npm package: @rdey/collapse-button
Description: A button indicating a collapse of e.g. an accordion
Author: ricsam
Latest version: 1.0.1

# collapse-button

> A button indicating a collapse of e.g. an accordion

[![NPM](https://img.shields.io/npm/v/collapse-button.svg)](https://www.npmjs.com/package/collapse-button) [![JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://standardjs.com)

## Install

```bash
npm install --save collapse-button
```

## Usage

```tsx
import * as React from 'react'

import CollapseButton from 'collapse-button'

class Example extends React.Component {
  render () {
    return (
      <>
        <CollapseButton active={active} />
        <CollapseButton
          active={active}
          size={320}
          borderWidth={6}
          colorRight="red"
        />
      </>
    )
  }
}
```

## License

MIT © [ricsam](https://github.com/ricsam)
npm package: @rdey/grid
Description: A grid component. Has multiple break points
Author: ricsam
Latest version: 2.0.2

# @rdey/grid

> A grid component. Has multiple break points

[![NPM](https://img.shields.io/npm/v/@rdey/grid.svg)](https://www.npmjs.com/package/@rdey/grid) [![JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://standardjs.com)

## Install

```bash
npm install --save @rdey/grid
```

## Usage

```tsx
import * as React from 'react'

import Grid from '@rdey/grid'

class Example extends React.Component {
  render () {
    const viewport = 1024;
    return (
      <Grid viewport={viewport} margins={{ 1024: 32 }} numberOfCols={{ 1024: 8 }} />
    )
  }
}
```

## License

MIT © [ricsam](https://github.com/ricsam)
npm package: @rdey/stock-insight
Description: the stock insight widgets
Author: rdey
Latest version: 1.0.29

# stock-insight

> the stock insight widgets

[![NPM](https://img.shields.io/npm/v/stock-insight.svg)](https://www.npmjs.com/package/stock-insight) [![JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://standardjs.com)

## Install

```bash
npm install --save stock-insight
```

## Usage

```tsx
import * as React from 'react'

import MyComponent from 'stock-insight'

class Example extends React.Component {
  render () {
    return (
      <MyComponent />
    )
  }
}
```

## License

MIT © [rdey](https://github.com/rdey)
npm package: @rdf-esm/clownface
Description: Simple but powerful graph traversing library
Author: Thomas Bergwinkl
Latest version: 1.0.2

# clownface

![Build Status](https://github.com/rdf-esm/clownface/workflows/ci/badge.svg)
[![NPM Version](https://img.shields.io/npm/v/@rdf-esm/clownface.svg?style=flat)](https://npm.im/@rdf-esm/clownface)

Simple but powerful graph traversing library

## Fork alert :exclamation:

This package is an ES Modules fork of [clownface](https://npm.im/@zazuko/clownface)

# Learn more

For documentation and examples see http://zazuko.github.io/clownface/.
npm package: @rdf-esm/data-model
Description: A basic implementation of the RDFJS Data Model
Author: Thomas Bergwinkl
Latest version: 0.5.4

# @rdf-esm/data-model

![](https://github.com/rdf-esm/data-model/workflows/Test/badge.svg)

[![npm version](https://img.shields.io/npm/v/@rdf-esm/data-model.svg)](https://www.npmjs.com/package/@rdf-esm/data-model)

A basic implementation of the [RDFJS Data Model](http://rdf.js.org/).
See [the specification](http://rdf.js.org/) for further details.

## Fork alert :exclamation:

This package is an ES Modules fork of [@rdfjs/data-model](https://npm.im/@rdfjs/data-model)
npm package: @rdf-esm/dataset
Description: A basic implementation of the RDFJS Dataset
Author: Thomas Bergwinkl
Latest version: 0.5.1

# @rdf-esm/dataset

[![Build Status](https://github.com/rdf-esm/dataset/workflows/Test/badge.svg)](https://github.com/rdf-esm/dataset/actions?query=workflow%3ATest)

[![npm version](https://img.shields.io/npm/v/@rdf-esm/dataset.svg)](https://www.npmjs.com/package/@rdf-esm/dataset)

A basic implementation of the [RDFJS Dataset](https://rdf.js.org/dataset-spec/).
See [the specification](https://rdf.js.org/dataset-spec/) for further details.

## Fork alert :exclamation:

This package is an ES Modules fork of [@rdf-esm/dataset](https://npm.im/@rdf-esm/dataset)

The original, commonjs version is used node environment.
npm package: @rdf-esm/formats-common
Description: Parsers and serializers for common RDF formats
Author: Thomas Bergwinkl
Latest version: 0.5.6

# @rdfjs/formats-common

![](https://github.com/rdf-esm/formats-common/workflows/Test/badge.svg)

[![npm version](https://img.shields.io/npm/v/@rdfjs/formats-common.svg)](https://www.npmjs.com/package/@rdfjs/formats-common)

This module bundles parsers and serializers for the most common RDF formats.
Instances of [SinkMap](https://github.com/rdfjs-base/sink-map) are used to handle different media types.

## Fork alert :exclamation:

This package is an ES Modules fork of [@rdfjs/formats-common](https://npm.im/@rdfjs/formats-common).

It uses a [lazy version of `SinkMap`](https://github.com/rdf-esm/sink-map) to dynamically load the sinks.

This way bundlers like webpack will create chunks for them and only load them when they are first needed.

## Usage

The formats object has a `parsers` and `serializers` property.
Each of it is an instance of `SinkMap` with the most common RDF media types as key.

## Example

```javascript
const formats = require('@rdfjs/formats-common')
const Readable = require('stream').Readable

const input = new Readable({
  read: () => {
    input.push(`
      PREFIX s: <http://schema.org/>

      [] a s:Person ;
        s:jobTitle "Professor" ;
        s:name "Jane Doe" ;
        s:telephone "(425) 123-4567" ;
        s:url <http://www.janedoe.com> .
    `)
    input.push(null)
  }
})

const output = formats.parsers.import('text/turtle', input)

output.on('data', quad => {
  console.log(`quad: ${quad.subject.value} - ${quad.predicate.value} - ${quad.object.value}`)
})

output.on('prefix', (prefix, ns) => {
  console.log(`prefix: ${prefix} ${ns.value}`)
})
```
npm package: @rdf-esm/namespace
Description: Named Node builder
Author: Thomas Bergwinkl
Latest version: 0.5.5

# @rdf-esm/namespace

[![Build Status](https://github.com/rdf-esm/namespace/workflows/Test/badge.svg)](https://github.com/rdf-esm/namespace/actions?query=workflow%3ATest)

[![npm version](https://img.shields.io/npm/v/@rdf-esm/namespace.svg)](https://www.npmjs.com/package/@rdf-esm/namespace)

[Named Node](http://rdf.js.org/) builder.

## Fork alert :exclamation:

This package is an ES Modules fork of [@rdfjs/namespace](https://npm.im/@rdfjs/namespace)

The original, commonjs version is used node environment.

## Usage

The package exports a factory to create builders for [Named Nodes](http://rdf.js.org/#namednode-interface).
The `baseIRI` given to the factory will be used together with the parameter given to the builder to create Named Nodes.

### Factory

The factory must be called with the `baseIRI` as a string:
```javascript
const builder = namespace('http://example.org/base-iri#')
```

An optional factory can be defined:
```javascript
const builder = namespace('http://example.org/base-iri#', { factory: customFactory })
```

By default `@rdf-esm/data-model` is used.

### Builder

The builder can be called in three different ways:

- function call: (`builder('property')`)
- tagged template string: (```builder`property` ```)
- property: (`builder.property`)

Calling the builder using the propery requires [Proxy](https://www.ecma-international.org/ecma-262/6.0/#sec-proxy-objects) support.
At the moment IE11 is the only [major platform](https://caniuse.com/#feat=proxy) which doesn't support Proxy.

### Example

This example shows how to create a builder and create Named Nodes using the three different ways.
The properties of the Named Nodes are written to the console.

```javascript
import namespace from '@rdf-esm/namespace'

const schema = namespace('http://schema.org/')

const hasPart = schema('hasPart')
console.log(hasPart.termType) // NamedNode
console.log(hasPart.value) // http://schema.org/hasPart

const person = schema`Person`
console.log(person.termType) // NamedNode
console.log(person.value) // http://schema.org/Person

const comment = schema.Comment
console.log(comment.termType) // NamedNode
console.log(comment.value) // http://schema.org/Comment
```
npm package: @rdf-esm/term-map
Description: Map for RDF/JS Terms keys
Author: Thomas Bergwinkl
Latest version: 0.6.0
Deprecated: Use @rdfjs/term-map v2

# @rdf-esm/term-map

This package has reached EOL and is now a proxy for v2 of  [@rdfjs/term-map](https://npm.im/@rdfjs/term-map)
npm package: @rdf-esm/term-set
Description: Set for RDFJS Terms
Author: Thomas Bergwinkl
Latest version: 0.6.0
Deprecated: Use @rdfjs/term-set v2

# @rdf-esm/term-set

This package has reached EOL and is now a proxy for v2 of   [@rdfjs/term-set](https://npm.im/@rdfjs/term-set)
npm package: @rdf-esm/to-ntriples
Description: Converts RDF/JS Terms, Quads and Datasets to N-Triple strings
Author: Thomas Bergwinkl
Latest version: 0.6.0
Deprecated: Use @rdfjs/to-ntriples

# @rdf-esm/to-ntriples

[![Build Status](https://github.com/rdf-esm/to-ntriples/workflows/Test/badge.svg)](https://github.com/rdf-esm/to-ntriples/actions?query=workflow%3ATest)

[![npm version](https://img.shields.io/npm/v/@rdf-esm/to-ntriples.svg)](https://www.npmjs.com/package/@rdf-esm/to-ntriples)

Converts [RDFJS](http://rdf.js.org/) Terms and Quads to N-Triple strings.

## Fork alert :exclamation:

This package is an ES Modules fork of [@rdfjs/to-ntriples](https://npm.im/@rdfjs/to-ntriples)

The original, commonjs version is used node environment.
npm package: @rdf-link/vocabulary
Description: RDF vocabularies
Latest version: 0.10.0

# RDF Vocabulary

[![CI](https://github.com/rdf-link/vocabulary/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/rdf-link/vocabulary/actions/workflows/ci.yml?query=workflow%3ACI+branch%3Amain)
[![MIT license](https://img.shields.io/npm/l/@rdf-link/vocabulary)](https://github.com/rdf-link/vocabulary/blob/main/LICENSE)
[![npm version](https://img.shields.io/npm/v/@rdf-link/vocabulary)](https://www.npmjs.com/package/@rdf-link/vocabulary)

The `@rdf-link/vocabulary` JavaScript library:
- gives access to well-known RDF vocabularies' terms as constants;
- defines namespaces' base IRIs and commonly used prefixes;
- bundles type declarations developed for convenient code completion.

## Vocabularies

The `core` module contains the RDF, RDFS, OWL and XSD vocabularies.

```ts
import { RDF, RDFS, OWL, XSD } from "@rdf-link/vocabulary/core";

// Logs: http://www.w3.org/1999/02/22-rdf-syntax-ns#type
console.log(RDF.type);
```

The `other` module contains the FOAF (stable) vocabulary.

```ts
import { FOAF } from "@rdf-link/vocabulary/other";

// Logs: http://xmlns.com/foaf/0.1/knows
console.log(FOAF.knows);
```

The `w3` module contains the EARL, SKOS, SKOSXL and VCARD vocabularies.

```ts
import { EARL, SKOS, SKOSXL, VCARD } from "@rdf-link/vocabulary/w3";

// Logs: http://www.w3.org/2004/02/skos/core#broader
console.log(SKOS.broader);
```

## Namespaces

The `ns` module contains all vocabularies available in this library each with associated base IRI, prefix and terms.

```ts
import * as NS from "@rdf-link/vocabulary/ns";

// Logs: http://www.w3.org/2000/01/rdf-schema#
console.log(NS.RDFS.iri);

// Logs: rdfs
console.log(NS.RDFS.prefix);

// Logs: http://www.w3.org/2000/01/rdf-schema#label
console.log(NS.RDFS.terms.label);
```

## Utils

The `DATATYPE` constant is a collection of [RDF datatypes](https://www.w3.org/TR/rdf11-concepts/#section-Datatypes) and the `DEFAULT_DATATYPE` constant is the default datatype for RDF literals.

```ts
import { DATATYPE, DEFAULT_DATATYPE } from "@rdf-link/vocabulary/utils";

// Logs: http://www.w3.org/1999/02/22-rdf-syntax-ns#langString
console.log(DATATYPE.RDF.langString)

// Logs: http://www.w3.org/2001/XMLSchema#string
console.log(DEFAULT_DATATYPE)
```

## Type definitions

A vocabulary is a Record where keys are strings and corresponding values are the key prefixed by the vocabulary's base IRI.

```ts
export type IVocabulary<BaseIri extends string> = {
    [K in string]: `${BaseIri}${K}`
}
```

A namespace has a base IRI, an associated prefix (by convention for [abbreviated IRI form](https://www.w3.org/TR/rdf11-concepts/#vocabularies)) and terms.

```ts
export interface INamespace<BaseIri extends string, Vocabulary extends IVocabulary<BaseIri>> {
    iri: BaseIri;
    prefix: string;
    terms: Vocabulary;
}
```
npm package: @rdfc/blank-to-named-node-identifiers-processor-ts
Description: rdf-connect processor to map entities with blank node identifiers to equivalents with named node identifiers
Author: Ieben Smessaert
Latest version: 1.0.1

# blank-to-named-node-identifiers-processor-ts

[![Build and tests with Node.js](https://github.com/rdf-connect/blank-to-named-node-identifiers-processor-ts/actions/workflows/build-test.yml/badge.svg)](https://github.com/rdf-connect/blank-to-named-node-identifiers-processor-ts/actions/workflows/build-test.yml)

This repository contains a rdf-connect processor to map entities with blank node identifiers to equivalents with named
node identifiers.
It will also replace the references to the blank node identifiers with the named node identifiers.
npm package: @rdfc/buffer-processor-ts
Description: A processor to buffer data for the RDF Connect framework.
Author: Ieben Smessaert
Latest version: 2.0.0

# buffer-processor-ts

[![Build and tests with Node.js](https://github.com/rdf-connect/buffer-processor-ts/actions/workflows/build-test.yml/badge.svg)](https://github.com/rdf-connect/buffer-processor-ts/actions/workflows/build-test.yml)

This repository contains a processor to buffer data for the RDF Connect framework.
At a certain interval, the processor will pipe through a given amount of data from the incoming stream to the outgoing
stream.


## Configuration

The processor can be configured using the following parameters:

* `incoming`: The incoming stream to buffer.
* `outgoing`: The outgoing stream to pipe the buffered data to.
* `interval`: The interval at which the processor should pipe through data from the incoming stream. The default value
  is `1000` milliseconds.
* `amount`: The amount of data that should be piped through from the incoming stream at each interval. Use `0` to pipe
  through all available data. The default value is `0`.
* `minAmount`: The minimum amount of data that should be piped through from the incoming stream at each interval. The
  default value is `1`.

## Installation

```
npm install
npm run build
```

Or install from NPM:

```
npm install @rdfc/buffer-processor-ts
```

## Example

An example configuration of the processor can be found in the `example` directory.

You can run this example by executing the following command:

```bash
cd example
npm i
npx rdfc pipeline.ttl
```

To enable all debug logs, add `DEBUG=*` before the command:

```bash
DEBUG=rdfc npx rdfc pipeline.ttl
```
npm package: @rdfc/log-processor-ts
Description: A simple processor to log an incoming stream to RDF-Connect logging system.
Author: Ieben Smessaert
Latest version: 2.0.3

# log-processor-ts

[![Build and tests with Node.js](https://github.com/rdf-connect/log-processor-ts/actions/workflows/build-test.yml/badge.svg)](https://github.com/rdf-connect/log-processor-ts/actions/workflows/build-test.yml) [![npm](https://img.shields.io/npm/v/@rdfc/log-processor-ts.svg?style=popout)](https://npmjs.com/package/@rdfc/log-processor-ts)

This repository contains a simple processor to log an incoming stream to the RDF-Connect logging system.

The processor accepts input from a stream, logs it to the console, and pipes it back into the outgoing stream.
Winston is used to log the incoming data, unless the `raw` option is set to `true`, in which case the data is logged
using `console.log`.

## Usage

To use the `rdfc:LogProcessorJs` or `rdfc:SendProcessorJs` in your RDF-Connect pipeline, you need to have a pipeline configuration that includes the [rdfc:NodeRunner](https://github.com/rdf-connect/js-runner) (check out their documentation to find out how to install and configure it).


### Installation

```
npm install
npm run build
```

Or install from NPM:

```
npm install @rdfc/log-processor-ts
```

Next, you can add the processors to your pipeline configuration as follows:

```turtle
@prefix rdfc: <https://w3id.org/rdf-connect#>.
@prefix owl: <http://www.w3.org/2002/07/owl#>.

### Import the processor
<> owl:imports <./node_modules/@rdfc/log-processor-ts/processor.ttl>.

### Define the channels your processor needs
<channel> a rdfc:Writer, rdfc:Reader.

### Attach the processor to the pipeline under the NodeRunner
# Add the `rdfc:processor <send>, <log>` statement under the `rdfc:consistsOf` statement of the `rdfc:NodeRunner`

### Define and configure the processors
<send> a rdfc:SendProcessorJs;
       rdfc:writer <channel>;
       rdfc:msg "Hello, World!", "Good afternoon, World!",
                "Good evening, World!", "Good night, World!".

<log> a rdfc:LogProcessorJs;
      rdfc:reader <channel>;
      rdfc:level "info";
      rdfc:label "test".
```


### Configuration

Parameters of `rdfc:SendProcessorJs`:
- `rdfc:writer`: The channel to which the processor will write messages.
- `rdfc:msg`: The messages to be sent by the processor.

Parameters of `rdfc:LogProcessorJs`:
- `rdfc:reader`: The channel from which the processor will read messages.
- `rdfc:writer`: The channel to which the processor will write log messages (optional).
- `rdfc:level`: The log level to use (e.g., "debug", "info", "warning", "error", "critical"). Defaults to "info".
- `rdfc:label`: A label for the log messages, which can be used to filter or categorize logs. Defaults to "log".
- `rdfc:raw`: If set to `true`, the processor will log raw messages to stdout without any formatting instead of to the RDF-Connect logging system. Defaults to `false`.
- `rdfc:readAsStream`: If set to `true` the processor will process the input as a stream.
npm package: @rdfc/replication-processor-ts
Description: A processor for the RDF-Connect framework that writes an incoming stream to disk and later reads it into the output stream.
Author: Ieben Smessaert
Latest version: 2.1.0

# replication-processor-ts

[![Build and tests with Node.js](https://github.com/rdf-connect/replication-processor-ts/actions/workflows/build-test.yml/badge.svg)](https://github.com/rdf-connect/replication-processor-ts/actions/workflows/build-test.yml)
[![npm](https://img.shields.io/npm/v/@rdfc/replication-processor-ts.svg?style=popout)](https://npmjs.com/package/@rdfc/replication-processor-ts)

A processor for the RDF Connect framework that writes an incoming stream to disk and later reads it into the output stream.

## Configuration

The `WriteReplication` processor can be configured using the following parameters:

- `incoming`: The data stream which must be written to the text file.
- `append`: Whether the data must be appended to the file or not. Default is false.
- `savePath`: The path to the text file which must be written.
- `max`: The maximum number of members to write to the file. If 0, all members are written. Default is 0.

The `ReadReplication` processor can be configured using the following parameters:

- `outgoing`: The data stream into which the data from the text file is written.
- `savePath`: The path to the text file which must be read.

## Installation

```
npm install
npm run build
```

Or install from NPM:

```bash
npm install @rdfc/replication-processor-ts
```

## Example

An example configuration of the processor can be found in the `example` directory.

You can run this example by executing the following command:

```bash
npx js-runner example/write-pipeline.ttl
npx js-runner example/read-pipeline.ttl
```

To enable all debug logs, add `DEBUG=*` before the command:

```bash
DEBUG=* npx js-runner example/write-pipeline.ttl
DEBUG=* npx js-runner example/read-pipeline.ttl
```
npm package: @rdfc/sensorthings-api-fetcher-ts
Description: Processor to fetch SensorThings API content.
Author: Ruben Dedecker
Latest version: 0.1.10

# sensorthings-api-fetcher-ts

Fetcher component to retrieve the observations from the datastreams found at the provided URL using the SensorThings API

## Usage

To use the processor in your RDF-Connect pipeline, you need to have a pipeline configuration that includes the [rdfc:NodeRunner](https://github.com/rdf-connect/js-runner) (check out their documentation to find out how to install and configure it).

Next, you can add the JS/TS TemplateProcessor to your pipeline configuration as follows:

```turtle
@prefix rdfc: <https://w3id.org/rdf-connect#>.
@prefix owl: <http://www.w3.org/2002/07/owl#>.

# Import the processor
<> owl:imports <./node_modules/@rdfc/sensorthings-api-fetcher-ts/processor.ttl>.

### Define the pipeline
<> a rdfc:Pipeline;
  rdfc:consistsOf [
    rdfc:instantiates rdfc:NodeRunner;
    rdfc:processor <fetcher>; 
  ].

# fetcher to get SensorThings API data
<fetcher> a rdfc:SensorThingsFetcher;
  rdfc:datastream "https://<endpoint>/Datastreams";
  rdfc:writer <writeChannel> .
```

## Data output

The output stream of the component provides the observation and all connected metadata as a JSON object using the following structure: 

```javascript
{
  observation: Observation,
  datastream: DataStream,
  thing: Thing,
  observedProperty: ObservedProperty,
  featureOfInterest: FeatureOfInterest,
  locations: Location[],
  sensor: Sensor,
}
```
npm package: @rdfc/shacl-processor-ts
Description: Validate data using SHACL.
Author: Jens Pots
Latest version: 1.0.1

# shacl-processor-ts

[![Build and tests with Node.js](https://github.com/rdf-connect/shacl-processor-ts/actions/workflows/build-test.yml/badge.svg)](https://github.com/rdf-connect/shacl-processor-ts/actions/workflows/build-test.yml) [![npm](https://img.shields.io/npm/v/@rdfc/shacl-processor-ts.svg?style=popout)](https://npmjs.com/package/@rdfc/shacl-processor-ts)

Validate RDF data streams using SHACL.

This processor validates an incoming RDF data stream against a SHACL shapes graph.  
If the incoming data is valid, it is forwarded unchanged to the outgoing channel.  
If invalid, the processor emits a SHACL validation report to an optional report channel.

---

## Usage

### Installation

```bash
npm install
npm run build
```

Or install from NPM:

```bash
npm install @rdfc/shacl-processor-ts
```

---

### Pipeline Configuration Example

```turtle
@prefix rdfc: <https://w3id.org/rdf-connect#>.
@prefix owl: <http://www.w3.org/2002/07/owl#>.

### Import the processor definitions
<> owl:imports <./node_modules/@rdfc/shacl-processor-ts/processors.ttl>.

### Define the channels your processor needs
<in> a rdfc:Reader.
<out> a rdfc:Writer.
<report> a rdfc:Writer.

### Attach the processor to the pipeline under the NodeRunner
# Add the `rdfc:processor <validator>` statement under the `rdfc:consistsOf` statement of the `rdfc:NodeRunner`

### Define and configure the processors
<validator> a rdfc:Validate;
    rdfc:shaclPath "./shapes/example-shapes.ttl";
    rdfc:incoming <in>;
    rdfc:outgoing <out>;
    rdfc:report <report>;
    rdfc:validationIsFatal false;
    rdfc:mime "text/turtle".
```

---

## Configuration

Parameters of `rdfc:Validate`:

- `rdfc:shaclPath` (**string**, required): Local file path to the SHACL shapes graph.
- `rdfc:incoming` (**rdfc:Reader**, required): The input channel with RDF data to validate.
- `rdfc:outgoing` (**rdfc:Writer**, required): The output channel for valid RDF data.
- `rdfc:report` (**rdfc:Writer**, optional): Output channel for SHACL validation reports. Defaults to none.
- `rdfc:validationIsFatal` (**boolean**, optional): If true, throws a fatal error when validation fails. Default: `false`.
- `rdfc:mime` (**string**, optional): MIME type of the incoming data (e.g., `text/turtle`, `application/ld+json`). Default: `text/turtle`.

---

## Limitations

- The file type of the incoming RDF data must be specified via the `mime` parameter to initialize the correct parser.
- SHACL validation reports are currently outputted in Turtle with fixed prefixes. Ideally, prefixes should reflect those used in the input data or be configurable.
- Additional output formats for validation reports may be supported in future releases.

---

## Example

```turtle
<validator> a rdfc:Validate;
    rdfc:shaclPath "./shapes/person-shapes.ttl";
    rdfc:incoming <in>;
    rdfc:outgoing <out>;
    rdfc:report <report>;
    rdfc:mime "text/turtle".
```
npm package: @rdfc/skolemization-processor-ts
Description: RDF-Connect processor to map entities with blank node identifiers to equivalents with named node identifiers
Author: Ieben Smessaert
Latest version: 1.0.0

# Skolemization Processor

[![Build and tests with Node.js](https://github.com/rdf-connect/blank-to-named-node-identifiers-processor-ts/actions/workflows/build-test.yml/badge.svg)](https://github.com/rdf-connect/blank-to-named-node-identifiers-processor-ts/actions/workflows/build-test.yml)

Install
```bash
npm install @rdfc/skolemization-processor-ts
```

Pipeline
```turtle
@prefix rdfc: <https://w3id.org/rdf-connect#>.
@prefix owl: <http://www.w3.org/2002/07/owl#>.

### Import the processor definitions
<> owl:imports <./node_modules/@rdfc/skolemization-processor-ts/processor.ttl>.

### Define the channels your processor needs
<in> a rdfc:Reader, rdfc:Writer.
<out> a rdfc:Reader, rdfc:Writer.

### Attach the processor to the pipeline under the NodeRunner
# Add the `rdfc:processor <skolemizer>` statement under the `rdfc:consistsOf` statement of the `rdfc:NodeRunner`

### Define and configure the processors
<skolemizer> a rdfc:SkolemizationProcessor;
    rdfc:incoming <in>;
    rdfc:outgoing <out>;
    rdfc:meme "text/turtle".
```

This repository contains a RDF-Connect processor to map entities with blank node identifiers to equivalents with named
node identifiers.
It will also replace the references to the blank node identifiers with the named node identifiers.