@nsnanocat/util

@nsnanocat/util 用于统一 Quantumult X、Loon、Shadowrocket、Egern、Surge、Stash、Worker 与 Node.js 的常用脚本接口,尽量减少业务脚本中的平台判断。

安装

从 npm registry 安装:

npm
yarn
pnpm
bun
deno
npm add @nsnanocat/util

从 GitHub Packages 安装时,先配置作用域和具有 read:packages 权限的 Token:

.npmrc
@nsnanocat:registry=https://npm.pkg.github.com
//npm.pkg.github.com/:_authToken=${NODE_AUTH_TOKEN}

配置完成后,仍使用上面的安装命令。

快速开始

import {
  $app,
  $argument,
  Console,
  Lodash as _,
  Storage,
  done,
  fetch,
  notification,
  qs,
  time,
  wait,
} from "@nsnanocat/util";

Console.log(`当前平台:${$app}`);

const settings = qs.parse("enabled=true&region=US");
await Storage.setItem("example.settings", settings);

const response = await fetch("https://example.com/data.json");
notification("请求完成", "", `状态码:${response.status}`);

done({});

主要能力

模块用途
$app / $argument识别运行平台并标准化模块参数
fetch统一宿主提供的 HTTP 请求接口
Storage统一持久化存储接口
notification / done统一通知与脚本结束行为
Console提供带日志级别的统一日志接口
Lodash / qs提供项目常用的对象与查询字符串操作
time / wait提供时间格式化与异步等待工具
Tip

Node.js、JavaScriptCore 与 CommonJS 会命中不同的条件导出。请优先从包主入口导入,除非你明确需要某个子路径。