Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

yuque/sdk

Repository files navigation

Node SDK for yuque

NPM version build status Test coverage David deps Known Vulnerabilities NPM download

Install

npm i @yuque/sdk --save

Usage

const SDK = require('@yuque/sdk');
const client = new SDK({
 token: '<YOUR TOKEN>',
 // other options
});
const result = await client.users.get();
console.log(result);
// apis
const { users, groups, repos, docs } = client;

Options

/**
 * @param {Object} options - opts
 * @param {String} options.token - yuque token, https://www.yuque.com/settings/tokens
 * @param {String} [options.endpoint] - yuque endpoint
 * @param {String} [options.userAgent] - request user-agent
 * @param {Object} [options.requestOpts] - default request options of [urllib](https://www.npmjs.com/package/urllib)
 * @param {Function} [options.handler] - special how to handler response
 */

by default, will return response.data.data, you can custom it by handler:

new SDK({
 handler(res) {
 // should handler error yourself
 if (res.status !== 200) {
 const err = new Error(res.data.message);
 /* istanbul ignore next */
 err.status = res.data.status || res.status;
 err.code = res.data.code;
 err.data = res;
 throw err;
 }
 // return whatever you want
 const { data, abilities } = res.data;
 return data;
 },
});

Debug

$ http_proxy=http://127.0.0.1:8888 TOKEN=<YOUR_TOKEN> npm test

API

see Yuque API Docs for more details.

users

see the source.

groups

see the source.

repos

see the source.

docs

see the source.

TODO

  • API docs
  • JSDocs definition for result info
  • add d.ts or refactor to TypeScript

Packages

No packages published

Contributors 2

AltStyle によって変換されたページ (->オリジナル) /