open-index/open-npm huggingface dataset:
npm package: @jackemcpherson/rds-js
Description: Parse R RDS files in JavaScript/TypeScript — zero dependencies, web-standard APIs only
Latest version: 0.2.0

# rds-js

Parse R [RDS files](https://cran.r-project.org/doc/manuals/r-release/R-ints.html#Serialization-Formats) in JavaScript/TypeScript. Zero dependencies, web-standard APIs only.

- Data frames become column-major `DataFrame` objects for memory efficiency
- Factors resolve to strings
- Dates become ISO 8601 strings
- NA values become `null`

## Install

```sh
npm install @jackemcpherson/rds-js
```

## Usage

```ts
import { parseRds, isDataFrame, toRows } from "@jackemcpherson/rds-js";

const response = await fetch("https://example.com/data.rds");
const buffer = new Uint8Array(await response.arrayBuffer());
const result = await parseRds(buffer);

// Data frames return column-major DataFrame objects
if (isDataFrame(result)) {
  console.log(result.names);    // ["name", "score"]
  console.log(result.columns);  // [["Alice", "Bob"], [95.5, 87.3]]

  // Convert to row objects for small datasets
  const rows = toRows(result);
  // => [{ name: "Alice", score: 95.5 }, { name: "Bob", score: 87.3 }]
}
```

`parseRds` accepts a `Uint8Array` and returns `Promise<unknown>`. Data frames are returned as `DataFrame` objects (`{ names: string[], columns: unknown[][] }`). Use `toRows()` to convert to row objects when needed. Gzip-compressed files are decompressed automatically.

## Supported types

| R type | JS output |
|--------|-----------|
| Data frame | `DataFrame` (`{ names: string[], columns: unknown[][] }`) |
| Integer/real vector | `number[]` |
| Character vector | `string[]` |
| Logical vector | `boolean[]` |
| Factor | `string[]` (resolved from levels) |
| Date | `string` (ISO 8601, e.g. `"2024-03-15"`) |
| POSIXct | `string` (ISO 8601, e.g. `"2024-03-15T10:30:00.000Z"`) |
| NA | `null` |
| NULL | `null` |
| Named list | `Record<string, unknown>` |
| Raw vector | `Uint8Array` |

Unsupported types (closures, environments, byte-code, etc.) throw `UnsupportedTypeError`.

## Errors

```ts
import { parseRds, RdsError, UnsupportedTypeError } from "@jackemcpherson/rds-js";

try {
  const data = await parseRds(buffer);
} catch (e) {
  if (e instanceof RdsError) {
    // Malformed file, unsupported compression, etc.
  }
  if (e instanceof UnsupportedTypeError) {
    // File contains an R type this library doesn't handle
    console.log(e.sexpType);
  }
}
```

## Runtime compatibility

Works in any environment with `DecompressionStream`, `DataView`, and `TextDecoder`:

- Node.js 20+
- Bun
- Deno
- Cloudflare Workers
- Modern browsers

## Contributing

```sh
bun install
bun run test        # run tests
bun run check       # lint & format
bun run typecheck   # type check
bun run build       # build
```

## License

MIT
npm package: @jacker_tao/vue-scroll-view
Description: A Vue.js component
Author: jacker
Latest version: 1.0.2

# vue-scroll-view

> 一个基于 Vue2.0 和meScroll 的滚动组件，支持下拉刷新，上滑加载更多，滚动使用的是原生滚动，给你带来丝滑的体验。

## 安装

``` bash
 npm install @jacker_tao/vue-scroll-view --save
```

## 全局注册

```javascript
 import Vue from 'vue';
 import * as ScrollView from '@jacker_tao/vue-scroll-view';  
 Vue.use(ScrollView);
```

## 局部注册

```javascript
 import ScrollView from '@jacker_tao/vue-scroll-view';  
 export default {
    components:{
      ScrollView
    }
 }
```

## 使用方法
```vue
<template>
  <div id="app">
    <ScrollView
      :limit="12"
      :lazy-load="true"
      :enabled-up="true"
      :enabled-down="true"
      @refresh="onRefresh"
      @loadMore="onLoadMore"
      @init="scrollInit"
      @scroll="onScroll"
    >
      <div v-for="(item,i) in list" :key="i">
        <img img-url="http://static.yutao2012.com/4e68544292e72254f831c7e8e7a9de5a.jpg?w=5000&h=2830"/>
      </div>
    </ScrollView>
  </div>
</template>

<script>
  import ScrollView from '@jacker_tao/vue-scroll-view';

  export default {
    name: 'app',
    components: {
      ScrollView
    },
    data() {
      return {
        list: []
      }
    },
    created() {
      this.instance = null;
    },
    methods: {
      scrollInit(instance) {
        this.instance = instance;
      },
      onLoadMore(done) {
        setTimeout(() => {
          const list = Array.from({
            length: 13
          });
          done(list);
          this.list = this.list.concat(list);
        }, 2000)
      },
      onRefresh(done) {
        setTimeout(() => {
          done();
          this.list = [1, 2, 3];
        }, 2000)
      },
      onScroll(y) {
         console.log(y)
      }
    }
  }
</script>

<style lang="scss">
  body {
    margin: 0;
    padding: 0;
  }

  #app {
    height: 100%;

    img {
      width: 100%;
    }
  }
</style>

```
npm package: @jackeyzhou9/dashboard
Description: 通用 Dashboard 组件库 - 可复用的仪表盘组件，包含完整的 GridLayout 和 ChartConfig
Author: FusquareTeam
Latest version: 1.1.2

# @com-project/dashboard

通用 Dashboard 组件库 - 可复用的仪表盘组件，包含完整的 GridLayout 和 ChartConfig。

## 📦 安装

```bash
npm install @com-project/dashboard
# 或
yarn add @com-project/dashboard
# 或
pnpm add @com-project/dashboard
```

## 🚀 核心组件

### DashboardPreview - 仪表盘预览组件

用于展示仪表盘，支持全屏、导出等功能。

```vue
<template>
  <DashboardPreview
    :dashboard-id="currentId"
    :dashboard-list="dashboardList"
    @change="onDashboardChange"
    @export="onExport"
  />
</template>

<script setup>
import { DashboardPreview } from '@com-project/dashboard'
import '@com-project/dashboard/style.css'
</script>
```

**Props:**

| 属性 | 类型 | 默认值 | 说明 |
|------|------|--------|------|
| dashboardId | string \| number | - | 仪表盘ID |
| dashboardList | Array | [] | 仪表盘列表 |
| showToolbar | boolean | true | 是否显示工具栏 |
| responsive | boolean | true | 是否响应式 |
| exportText | string | '导出' | 导出按钮文本 |

**Events:**

| 事件 | 参数 | 说明 |
|------|------|------|
| change | id | 仪表盘切换 |
| fullscreen | isFullScreen | 全屏状态变化 |
| export | - | 导出触发 |

---

### DashboardEditor - 仪表盘编辑组件

用于编辑仪表盘，支持拖拽布局、添加/删除/配置面板等功能。

```vue
<template>
  <DashboardEditor
    :dashboard-id="dashboardId"
    :auth-header="authHeader"
    @back="onBack"
    @save="onSave"
    @edit="onEditPanel"
  />
</template>

<script setup>
import { DashboardEditor } from '@com-project/dashboard'
import '@com-project/dashboard/style.css'
</script>
```

**Props:**

| 属性 | 类型 | 默认值 | 说明 |
|------|------|--------|------|
| dashboardId | string \| number | - | 仪表盘ID |
| authHeader | string | '' | 认证头信息 |
| showToolbar | boolean | true | 是否显示工具栏 |
| showLayerList | boolean | true | 是否显示图层列表 |
| showConfigPanel | boolean | true | 是否显示配置面板 |

**Events:**

| 事件 | 参数 | 说明 |
|------|------|------|
| back | - | 返回 |
| save | - | 保存 |
| delete | - | 删除 |
| edit | id, item | 编辑面板 |
| add-panel | - | 添加面板 |
| remove-panel | id | 删除面板 |

---

## 📋 完整导出列表

```typescript
// 主要组件
export { DashboardPreview } from '@com-project/dashboard'
export { DashboardEditor } from '@com-project/dashboard'

// 基础组件
export { Dashboard } from '@com-project/dashboard'
export { GridLayout, GridItem } from '@com-project/dashboard'
export { ItemBox } from '@com-project/dashboard'
export { WcVueChartConfig } from '@com-project/dashboard'
export { GridStyleSider } from '@com-project/dashboard'

// Hooks
export { useDashboardStore, initDashboard } from '@com-project/dashboard'
export { useStyleConfig } from '@com-project/dashboard'
export { useExport } from '@com-project/dashboard'
export { useEmitter, emitter } from '@com-project/dashboard'

// Types
export * from '@com-project/dashboard'
```

## 🔧 Peer Dependencies

确保项目中已安装以下依赖：

```json
{
  "peerDependencies": {
    "vue": "^3.3.0",
    "pinia": "^2.0.0"
  }
}
```

## 📝 License

MIT