open-index/open-npm huggingface dataset:
npm package: @learngamedevelopment/oloo
Description: Polyfill to allow you to use OLOO pattern properly in project. Check out VSC extensions by LearnGameDevelopment to have syntax highlighting for these polyfills.
Author: Learn Game Development
Latest version: 2.1.3
Deprecated: WARNING: This project has been renamed to @mavega/oloo. Install using @mavega/oloo instead.

# LGD
Use OLOO pattern. Check out VSC extensions by LearnGameDevelopment to have syntax highlighting.

# Why to use this module.
[Objects Linked to Other Objects Article](https://www.learngamedevelopment.net/blog/oloo(objectslinkingtootherobjects))

# Examples

## Using Oloo.assign
``` js
const { setup } = require('@learngamedevelopment/oloo');
setup();

const Object1 = {
  create() {
    const object1 = Object.create(Object1);

    object1.var = 0;
    object1.var2 = 'hi';

    return object1;
  },

  virtualMethod() {
    console.log('Base Class!');
  }
}

const Object2 = {
  create() {
    const object2 = Oloo.assign(Object1.create(), Object2);
    return object2;
  },

  virtualMethod() {
    Oloo.base(this, this.virtualMethod);
    console.log('Inherited Class!');
  }
}

const object2Instance = Object2.create();
object2Instance.virtualMethod();
// Base Class!
// Inherited Class!
```

## Using Oloo.assignSlow + Oloo.createSlow
``` js
const { setup } = require('@learngamedevelopment/oloo');
setup();

const Object1 = {
  create() {
    // must use createSlow in the first object of the chain.
    const object1 = Object.createSlow(Object1);

    object1.var = 0;
    object1.var2 = 'hi';

    return object1;
  },

  virtualMethod() {
    console.log('Base Class!');
  }
}

const Object2 = {
  create() {
    const object2 = Oloo.assignSlow(Object1.create(), Object2);
    return object2;
  },

  virtualMethod() {
    Oloo.base(this, this.virtualMethod);
    console.log('Inherited Class!');
  }
}

const object2Instance = Object2.create();
object2Instance.virtualMethod();
// Base Class!
// Inherited Class!
```

# Release Notes

## 2.1.0 

- Improved speed tremendously. Kept older assign as assignSlow for creating classes that don't get created often.
npm package: @learnifier/react-scripts-lfapp
Description: Learnifier Configuration and scripts for Create React App.
Latest version: 1.0.4

# react-scripts

This package includes scripts and configuration used by [Create React App](https://github.com/facebook/create-react-app).<br>
Please refer to its documentation:

- [Getting Started](https://facebook.github.io/create-react-app/docs/getting-started) – How to create a new app.
- [User Guide](https://facebook.github.io/create-react-app/) – How to develop apps bootstrapped with Create React App.
npm package: @learning-together/react-native-mathjax
Description: Render Mathjax content in React Native Webview
Author: Calvin Kei
Latest version: 2.0.1

# react-native-mathjax
Render Mathjax content in React Native Webview with auto height adjustment.

# Showcase
TODO

# Installation
1. `yarn add react-native-mathjax` or `npm install react-native-mathjax --save`

# Usage
```javascript
<MathJax
  // HTML content with MathJax support
  html={'$\sum_{i=0}^n i^2 = \frac{(n^2+n)(2n+1)}{6}$<br><p>This is an equation</p>'}
  // MathJax config option
  mathJaxOptions={{
    messageStyle: 'none',
    extensions: [ 'tex2jax.js' ],
    jax: [ 'input/TeX', 'output/HTML-CSS' ],
    tex2jax: {
      inlineMath: [ ['$','$'], ['\\(','\\)'] ],
      displayMath: [ ['$$','$$'], ['\\[','\\]'] ],
      processEscapes: true,
    },
    TeX: {
      extensions: ['AMSmath.js','AMSsymbols.js','noErrors.js','noUndefined.js']
    }
  }}
  {...WebView props}
/>

```
npm package: @learning-ui/terminal
Description: React component that renders a terminal
Author: alick.shi
Latest version: 1.1.3-bate

没有找到符合要求的 terminal 插件所以只能自己写一个

### 支持类型

1. log 日志类型 自动匹配 日期(YYYY-MM-DD) 时间(HH:FF:MM) 字符串("xxx")('xxx')
2. 未增加



使用方法
1. 下面是示例
```javascript
    import Editor from "@learning-ui/terminal"
    import { Log } from "@learning-ui/terminal"
    // content?: string[]  // | JSX.Element[] | React.ReactNode[];
    // className?:CSSProperties;
    // type?: "log" | "editor" | "terminal"
    <Editor.Log
        contents={{
            content: [], // 所有的数据组合
            className: "", // 每一组的 className 
            type: "log", // 指定 editor 为 log
        }}
    />
    // 或者
    <Log
        content={[]} // 所有的数据组合
        className={""} // 每一组的 className 
    />
```
> command 的使用示例 以及定义的 ts 类型
npm package: @learninglocker/xapi-validation
Description: Validation library for the xAPI.
Latest version: 4.0.0

# xapi-validation

![Build Status](https://github.com/LearningLocker/xapi-validation/actions/workflows/integration.yml/badge.svg?branch=master)
[![Renovate badge](https://img.shields.io/badge/Renovate-enabled-brightgreen.svg)](https://renovateapp.com/)
[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)
[![Join the chat at https://gitter.im/LearningLocker/learninglocker](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/LearningLocker/learninglocker?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)


This is Learning Locker's package for validating xAPI Statements. The package aims to return all of the problems with an xAPI statement in one function call. Since this package is part of Learning Locker, it has been conformance tested. You can [try this package out on RunKit](https://runkit.com/58834fa5d14b5b0013806bde/5883507a9faa130014213d6a).

*Learning Locker is a trademark of [HT2 Inc.](http://ht2labs.com)*

### Installation
To install all of Learning Locker, see the [installation documentation](http://docs.learninglocker.net/guides-installing/). To install just the xAPI validation package, you can follow the instructions below.

```js
npm i xapi-validation
```

### Development
1. Download the code by either:
    - Cloning the repository (authorised collaborators only) `git clone git@github.com:LearningLocker/xapi-validation.git`.
    - [Forking the repository](https://help.github.com/articles/fork-a-repo/) and cloning the fork.
1. Change to the directory of the cloned code `cd xapi-validation`.
1. Install dependencies `npm install`.
1. Make your changes to the "src" directory.
1. Build the code `npm run build`.
1. Test the code `npm test`.
1. Commit and push your changes `npm run acp`.
1. [Create a pull request](https://help.github.com/articles/about-pull-requests/).
npm package: @learningmap/learningmap
Description: A web component for editing learning maps/roadmaps with drag-and-drop nodes, customizable settings, and visual editing capabilities.
Author: Mike Barkmin
Latest version: 0.6.0

# @hyperbook/web-component-learningmap-editor

A web component for editing learning maps/roadmaps with drag-and-drop nodes, customizable settings, and visual editing capabilities.

## Features

- **Visual Editor**: Drag-and-drop interface for creating and positioning nodes
- **Node Types**: Support for Task and Topic nodes
- **Node Settings**: Edit labels, descriptions, resources, durations, and more
- **Unlock Rules**: Configure password, date, and dependency-based unlocking
- **Completion Rules**: Set completion needs and optional dependencies
- **Background Customization**: Configure background color and images
- **Auto-Layout**: Automatic node positioning using ELK algorithm
- **Edge Management**: Connect nodes with customizable edges

## Usage

```html
<hyperbook-learningmap-editor
  roadmap-data='{"nodes": [], "edges": []}'
  language="en"
></hyperbook-learningmap-editor>
```

## Events

The component fires a `change` event when the Save button is pressed:

```javascript
const editor = document.querySelector('hyperbook-learningmap-editor');
editor.addEventListener('change', (event) => {
  const roadmapData = event.detail;
  console.log('Roadmap data:', roadmapData);
});
```

## Roadmap Data Format

```json
{
  "nodes": [
    {
      "id": "node1",
      "type": "task",
      "position": { "x": 0, "y": 0 },
      "data": {
        "label": "Introduction",
        "description": "Learn the basics",
        "resources": [
          { "label": "Documentation", "url": "https://example.com" }
        ],
        "unlock": {
          "password": "secret",
          "date": "2024-01-01",
          "after": ["node0"]
        },
        "completion": {
          "needs": [{ "id": "node0" }],
          "optional": [{ "id": "node2" }]
        }
      }
    }
  ],
  "edges": [],
  "background": {
    "color": "#ffffff",
    "image": {
      "src": "bg.png",
      "x": 0,
      "y": 0
    }
  }
}
```
npm package: @learningmap/web-component
Description: A web component for editing learning maps/roadmaps with drag-and-drop nodes, customizable settings, and visual editing capabilities.
Author: Mike Barkmin
Latest version: 0.3.8

# @hyperbook/web-component-learningmap-editor

A web component for editing learning maps/roadmaps with drag-and-drop nodes, customizable settings, and visual editing capabilities.

## Features

- **Visual Editor**: Drag-and-drop interface for creating and positioning nodes
- **Node Types**: Support for Task and Topic nodes
- **Node Settings**: Edit labels, descriptions, resources, durations, and more
- **Unlock Rules**: Configure password, date, and dependency-based unlocking
- **Completion Rules**: Set completion needs and optional dependencies
- **Background Customization**: Configure background color and images
- **Auto-Layout**: Automatic node positioning using ELK algorithm
- **Edge Management**: Connect nodes with customizable edges

## Usage

```html
<hyperbook-learningmap-editor
  roadmap-data='{"nodes": [], "edges": []}'
  language="en"
></hyperbook-learningmap-editor>
```

## Events

The component fires a `change` event when the Save button is pressed:

```javascript
const editor = document.querySelector('hyperbook-learningmap-editor');
editor.addEventListener('change', (event) => {
  const roadmapData = event.detail;
  console.log('Roadmap data:', roadmapData);
});
```

## Roadmap Data Format

```json
{
  "nodes": [
    {
      "id": "node1",
      "type": "task",
      "position": { "x": 0, "y": 0 },
      "data": {
        "label": "Introduction",
        "description": "Learn the basics",
        "resources": [
          { "label": "Documentation", "url": "https://example.com" }
        ],
        "unlock": {
          "password": "secret",
          "date": "2024-01-01",
          "after": ["node0"]
        },
        "completion": {
          "needs": [{ "id": "node0" }],
          "optional": [{ "id": "node2" }]
        }
      }
    }
  ],
  "edges": [],
  "background": {
    "color": "#ffffff",
    "image": {
      "src": "bg.png",
      "x": 0,
      "y": 0
    }
  }
}
```
npm package: @learningv3/lib
Description: A library demo for learning-vue3.
Author: test
Latest version: 1.0.0

# 项目名称

写上项目用途的一句话简介。

## 功能介绍

1. 功能 1 一句话介绍
2. 功能 2 一句话介绍
3. 功能 3 一句话介绍

## 在线演示

如果有部署在线 demo ，可放上 demo 的访问地址。

## 安装方法

使用 npm ： `npm install package-name`

使用 CDN ： `https://example.com/package-name`

## 用法

告诉使用者如何使用 npm 包。

## 插件选项

如果 npm 包是一个插件，并支持传递插件选项，在这里可以使用表格介绍选项的作用。

| 选项名称 |  类型  |    作用    |
| :------: | :----: | :--------: |
|   foo    | string | 一句话介绍 |
|   bar    | number | 一句话介绍 |

更多内容请根据实际情况补充。
npm package: @learningvue3/lib
Description: A library demo for learning-vue3.
Author: chengpeiquan
Latest version: 1.0.0

# 项目名称

写上项目用途的一句话简介。

## 功能介绍

1. 功能 1 一句话介绍
2. 功能 2 一句话介绍
3. 功能 3 一句话介绍

## 在线演示

如果有部署在线 demo ，可放上 demo 的访问地址。

## 安装方法

使用 npm ： `npm install package-name`

使用 CDN ： `https://example.com/package-name`

## 用法

告诉使用者如何使用 npm 包。

## 插件选项

如果 npm 包是一个插件，并支持传递插件选项，在这里可以使用表格介绍选项的作用。

| 选项名称 |  类型  |    作用    |
| :------: | :----: | :--------: |
|   foo    | string | 一句话介绍 |
|   bar    | number | 一句话介绍 |

更多内容请根据实际情况补充。
npm package: @learnlink/firestore-toolbox
Description: NPM package for easier cleaning and management of Firestore data. Backup, copy, convert, migrate, sort and move data between different accounts.
Author: Learnlink
Latest version: 1.3.0

# firestore-toolbox
NPM package for easier cleaning and management of Firestore data. Backup, copy, convert, migrate, sort and move data between different accounts.