open-index/open-npm huggingface dataset:
npm package: @kriya/vue-json-view
Description: Interactive viewer for JS objects.
Latest version: 1.0.0

# Vue JSON View

A Vue component to visualize JS objects as an interactive tree.

Forked from [soc221b/object-visualizer](https://github.com/soc221b/object-visualizer):

- adds support for rendering Date objects (as ISO strings)
- ESM-only build
- improved rendering of empty arrays (as `[]`) and empty objects (as `{}`)
- improved colors for booleans

## Features

- **Customizable Keys**: Use `getKeys` to control which keys are displayed for nested objects.
- **Auto-Expansion**: Use `expandOnCreatedAndUpdated` to determine which nodes should be expanded by default.
- **Recursive Expansion**: `Meta+Click` on an expander to recursively expand all child nodes.
- **Recursive Collapse**: `Meta+Shift+Click` on an expander to recursively collapse all child nodes.
- **Dark Mode Support**: Automatically adapts to light/dark mode based on `prefers-color-scheme`.

## Props

| Prop                        | Type                                    | Default       | Description                                                                   |
| :-------------------------- | :-------------------------------------- | :------------ | :---------------------------------------------------------------------------- |
| `data`                      | `unknown`                               | **Required**  | The data to visualize (object, array, primitive, etc.).                       |
| `rootName`                  | `string`                                | `''`          | The name displayed for the root node.                                         |
| `expandOnCreatedAndUpdated` | `(path: Path) => boolean`               | `() => false` | Function to determine initial expansion state. Receives the path of the node. |
| `getKeys`                   | `(object: any, path: Path) => string[]` | `Object.keys` | Function to filter or sort keys. Receives the object and its path.            |

## Installation

### NPM

```bash
npm install vue-json-view
```

```ts
import { VueJsonView } from 'vue-json-view'
import 'vue-json-view/dist/vue-json-view.css'
```

## Usage

```vue
<script setup lang="ts">
import { VueJsonView } from 'vue-json-view'
import 'vue-json-view/dist/vue-json-view.css'

const data = {
  foo: 'bar',
  baz: [1, 2, 3],
  nested: {
    a: 1,
    b: 2,
  },
}
</script>

<template>
  <VueJsonView
    :data="data"
    root-name="Data"
    :expand-on-created-and-updated="(path) => path.length < 2"
  />
</template>
```
npm package: @krizpoon/hangseng-statement-extractor
Description: Extract transaction history from Hang Seng Bank statement PDFs
Latest version: 0.1.3

# Hang Seng Statement Extractor

Extract transaction history from Hang Seng Bank statement PDFs using a small TypeScript library and a CLI. The core extractor is importable for use in other projects, and the CLI is a thin wrapper around it.

## Features
- Extracts transactions from statement PDFs with position-aware parsing.
- Works as both a library and a CLI.
- Outputs CSV with statement date and account type included.

## Requirements
- Node.js 18+ (ESM).
- Python 3 with `pdfminer.six` installed:
  - `pip install pdfminer.six`

## Install
```bash
npm install @krizpoon/hangseng-statement-extractor
```

## CLI

Run directly with `npx` (no install needed):
```bash
npx @krizpoon/hangseng-statement-extractor \
  --input /path/to/statement.pdf \
  --account savings \
  --output /path/to/output.csv
```

Process a directory of PDFs:
```bash
npx @krizpoon/hangseng-statement-extractor \
  --input /path/to/statements/ \
  --account savings \
  --output /path/to/output.csv
```

Options:
- `--input` (required) — PDF file or directory containing PDFs.
- `--account` — `savings` (default) or `current`.
- `--output` — Output CSV file. If omitted, CSV is printed to stdout.
- `--python` — Path to Python executable. Auto-detected if not specified.
- `--verbose` — Enable verbose logging.

## Library Usage
```ts
import { extractStatement, formatTransactionsAsCsv } from "@krizpoon/hangseng-statement-extractor"

const result = await extractStatement({
  pdfPath: "/path/to/statement.pdf",
  scriptPath: "/path/to/pdf-extract-positions.py",
  pythonPath: "python3",
  accountType: "savings",
})

const csv = formatTransactionsAsCsv([result])
console.log(csv)
```

### API
- `extractStatement(options)` — Returns `Promise<StatementResult>`
  - `options.pdfPath` (string)
  - `options.scriptPath` (string)
  - `options.pythonPath` (string)
  - `options.accountType` ("savings" | "current")
  - `options.logger` (optional)
  - Returns `{ statementDate, accountType, transactions }`

- `formatTransactionsAsCsv(results)`
  - Accepts an array of statement results and returns CSV text.

## CSV Output
Columns:
```
Date,Details,Deposit,Withdrawal,Balance,Account Type,Statement Date
```

## Development
```bash
npm install
npm run build
```

## License
MIT
npm package: @krknet/lowmodel
Description: BaseModel for LowDB
Author: KRK
Latest version: 1.2.2

# LowModel

BaseModel for LowDB

## Installing

```shell
npm i @krknet/lowmodel
```

# Usage

```js
const BaseModel = require('@krknet/lowmodel')

// the name of the LowDB Collection
const dbrep = 'accounts'
// Object Schema
const schema = {
  id: null,
  mail: null,
  name: null,
  role: null,
  passphrase: null
}

module.exports = class Account extends BaseModel {

  static get dbrep () { return db.get(dbrep) }

  static get _modelSchema () { return schema }
}
```

## Developing

Issue List: [https://gitlab.com/KRKnetwork/lowmodel/issues](https://gitlab.com/KRKnetwork/lowmodel/issues)

[![js-standard-style](https://cdn.rawgit.com/standard/standard/master/badge.svg)](http://standardjs.com)