open-index/open-npm huggingface dataset:
npm package: @stevenleep/mapstore
Description: ## 安装 ```bash  pnpm add @stevenleep/mapstore ```
Latest version: 0.0.1

# @stevenleep/mapstore

## 安装
```bash 
pnpm add @stevenleep/mapstore
```

## 使用
#### BaseStoreMap
```typescript
import { BaseStoreMap } from '@stevenleep/mapstore';
const store = new BaseStoreMap();
store.add('key', 'value');
store.getStore("key"); // value
```

#### CollectionStoreMap
```typescript
import { CollectionStoreMap } from '@stevenleep/mapstore';
const store = new CollectionStoreMap();
store.add('key', 'value');
store.getStore("key"); // [value]
```
npm package: @stevenleep/wasm-loader
Description: ## 安装 ```bash pnpm add @stevenleep/wasm-loader ```
Latest version: 0.0.9

# @stevenleep/wasm-loader

## 安装
```bash
pnpm add @stevenleep/wasm-loader
```

如果你需要在dokant的其他包中安装wasm-loader作为依赖，你可以使用以下命令:
```
pnpm add -F <package> @stevenleep/wasm-loader
```

## 使用

```typescript
// loadWasm在为未检测到缓存的情况下，默认使用instantiateStreaming加载wasm文件
import { loadWasm } from '@stevenleep/wasm-loader';

/**
 * 此案例通过golang构建的wasm文件，使用wasm_exec.js作为wasm的执行环境
 * 导入后将会在 Window 对象上挂载 Go 对象, 通过 new Go.run() 方法执行wasm文件
 * 也可参考这个仓库案例：https://e.gitee.com/doactionpro/repos/doactionpro/gowasm-simple-demo/blob/main/site/index.html
 * 
 * ##为什么需要这个？
 * - 参考：https://developer.mozilla.org/en-US/docs/WebAssembly/JavaScript_interface/instantiateStreaming_static#importobject
 */
import "./path/to/wasm/wasm_exec";

const loadwasmOption = new globalThis.Go();
const onProgress = (progress: ProgressResult) => {
  console.log('progress:', progress);
  console.log('progress:', progress.loaded, progress.total);
  console.log('progress:', progress.progress, progress.done);
};

const cacheOptions = {
    enable: true, // 开启wasm缓存
    set(value: Promise<ArrayBuffer>): void {
        // 自定义缓存wasm文件的方法
    },
    // 自定义获取缓存wasm文件的方法
    get(): ArrayBuffer | Promise<ArrayBuffer> | null | Promise<null> {},
}

loadWasm('path/to/wasm/file.wasm', loadwasmOption, onProgress, cacheOptions)
    .then((result) => {
        console.log('wasm loaded:', result);
        // result.add(1, 2); // 调用你的wasm函数
    })
    .catch((error) => {
        console.error('wasm load error:', error);
    });
```

## API
loadWasm(path: string, wasmLoadOption: LoadwasmOption, onProgress?: (progress: number) => void, cacheOptions?: CacheOptions): Promise<WebAssembly.ResultObject>
- path: string wasm文件路径
- wasmLoadOption: LoadwasmOption, wasm加载配置, 包含以下属性, 默认 {}
  - importObject?: WebAssembly.Imports; 
  - run?: Run;
- onProgress: onProgress(progress: ProgressResult): void 加载进度回调函数
- cacheOptions CacheOptions: wasm缓存配置, 包含以下属性, 默认 {}
  - enable: boolean; // 是否开启wasm缓存
  - set(value: Promise<ArrayBuffer>): void; // 自定义缓存wasm文件的方法
  - get(): ArrayBuffer | Promise<ArrayBuffer> | null | Promise<null>; // 自定义获取缓存wasm文件的方法