New:Introducing Socket Scanning for VS Code Marketplace Extensions.Learn more →
Get Started

@unblockneteasemusic/rust-napi

Package Overview
Dependencies
Maintainers
2
Versions
9
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@unblockneteasemusic/rust-napi

[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2FUnblockNeteaseMusic%2Fserver-rust.svg?type=shield)](https://app.fossa.com/projects/git%2Bgithub.com%2FUnblockNeteaseMusic%2Fserver-rust?ref=badge_shield)

Source
npmnpm
Version
0.2.0-pre.2
Version published
Maintainers
2
Created
Source

UnblockNeteaseMusic/server-rust 的 N-API binding

FOSSA Status

目前使用者文件及開發文件 仍在撰寫,在此之前有任何問題,歡迎開 Discussion 詢問。

使用

您可以直接從 https://www.npmjs.com 引用 @unblockneteasemusic/rust-napi 函式庫。 這個函式庫會協助您取回符合系統架構的套件。

就如〈架構〉所說,rust-napi 函式庫的引擎和類型定義,現階段內建在函式庫, 因此可以省去註冊引擎的步驟。但與舊版 JS 不同,UNM 輸往 console 的 logging 需手動開啟:

const UNM = require("@unblockneteasemusic/rust-napi");

// 啟用後,可以使用 `RUST_LOG` 環境變數調整 log 的詳細程度
UNM.enableLogging(UNM.LoggingType.ConsoleEnv);

然後我們可以建立一個 executor 實體,並定義想要的 context:

const executor = new UNM.Executor();
const ctx = {}; // 假如不需要任何設定
/* const ctx = { enableFlac: true }; // 每個欄位的說明資訊,現階段可參考函式庫中 `index.d.ts` 的定義。 */

接下來的使用方式與 Rust 函式庫相似:

const searchResult = await executor.search(
  // UNM.Engine 是一個 enumeration,
  // 因此可以用 `Object.values(UNM.Engine)` 取用所有來源。
  [UNM.Engine.Bilibili, UNM.Engine.Kuwo, UNM.Engine.YtDl]
  {
    id: "12345",
    name: "青花瓷",
    artists: [
      {
        id: "114514",
        name: "周杰伦",
      },
    ],
  },
  ctx
);

const retrieveResult = await executor.retrieve(searchResult, ctx);

授權條款

This project is licensed under LGPL-3.0-only.

FOSSA Status

FAQs

Package last updated on 15 Apr 2022

Related posts