Browse Source

make git npm installable

main
parent
commit
bf127a2d89
5 changed files with 148 additions and 2 deletions
  1. +0
    -2
      .gitignore
  2. +44
    -0
      lib/index.d.ts
  3. +1
    -0
      lib/index.d.ts.map
  4. +102
    -0
      lib/index.js
  5. +1
    -0
      lib/index.js.map

+ 0
- 2
.gitignore View File

@ -115,5 +115,3 @@ dist
.yarn/build-state.yml
.yarn/install-state.gz
.pnp.*
/lib/

+ 44
- 0
lib/index.d.ts View File

@ -0,0 +1,44 @@
export declare function makeWanikani(apiKey?: string): import("axios-rate-limit").RateLimitedAxiosInstance & {
getKanji(): Promise<{
id: number;
level: number;
characters: string;
}[]>;
getVocab(): Promise<{
id: number;
level: number;
characters: string;
sentences: {
ja: string;
en: string;
}[];
}[]>;
getLearnt(): Promise<{
id: number;
srsLevel: number;
}[]>;
};
export declare type WaniKaniAxiosInstance = ReturnType<typeof makeWanikani>;
export interface IResource<T = any> {
id: number;
url: string;
data_updated_at: string;
data: T;
}
export interface ICollection<T = any> {
object: string;
url: string;
pages: {
next_url?: string;
previous_url?: string;
per_page: number;
};
total_count: number;
data_updated_at: string;
data: T[];
}
export interface IError {
error: string;
code: number;
}
//# sourceMappingURL=index.d.ts.map

+ 1
- 0
lib/index.d.ts.map View File

@ -0,0 +1 @@
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,wBAAgB,YAAY,CAAC,MAAM,SAAmC;;YA2B1D,MAAM;eACH,MAAM;oBACD,MAAM;;;YAsCd,MAAM;eACH,MAAM;oBACD,MAAM;mBACP;YACT,EAAE,EAAE,MAAM,CAAA;YACV,EAAE,EAAE,MAAM,CAAA;SACX,EAAE;;;YA2CC,MAAM;kBACA,MAAM;;EAoCvB;AAED,oBAAY,qBAAqB,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CAAA;AAEnE,MAAM,WAAW,SAAS,CAAC,CAAC,GAAG,GAAG;IAChC,EAAE,EAAE,MAAM,CAAA;IACV,GAAG,EAAE,MAAM,CAAA;IACX,eAAe,EAAE,MAAM,CAAA;IACvB,IAAI,EAAE,CAAC,CAAA;CACR;AAED,MAAM,WAAW,WAAW,CAAC,CAAC,GAAG,GAAG;IAClC,MAAM,EAAE,MAAM,CAAA;IACd,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE;QACL,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,YAAY,CAAC,EAAE,MAAM,CAAA;QACrB,QAAQ,EAAE,MAAM,CAAA;KACjB,CAAA;IACD,WAAW,EAAE,MAAM,CAAA;IACnB,eAAe,EAAE,MAAM,CAAA;IACvB,IAAI,EAAE,CAAC,EAAE,CAAA;CACV;AAED,MAAM,WAAW,MAAM;IACrB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;CACb"}

+ 102
- 0
lib/index.js View File

@ -0,0 +1,102 @@
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.makeWanikani = void 0;
const axios_1 = __importDefault(require("axios"));
const axios_rate_limit_1 = __importDefault(require("axios-rate-limit"));
function makeWanikani(apiKey = process.env['WANIKANI_API_KEY']) {
const wkApi = (0, axios_rate_limit_1.default)(axios_1.default.create({
baseURL: 'https://api.wanikani.com/v2/',
headers: {
Authorization: `Bearer ${apiKey}`,
},
validateStatus: function () {
return true;
},
}),
/**
* https://docs.api.wanikani.com/20170710/#rate-limit
* Requests per minute 60
*/
{
/**
* Per second
*/
maxRequests: 1,
perMilliseconds: 1000,
});
return Object.assign(wkApi, {
async getKanji() {
const allData = [];
let nextUrl = '/subjects';
while (true) {
const r = await wkApi.get(nextUrl, {
params: {
types: 'kanji',
},
});
allData.push(...r.data.data.map((d) => ({
id: d.id,
level: d.data.level,
characters: d.data.characters,
})));
console.error(r.data.url);
nextUrl = r.data.pages.next_url || '';
if (!nextUrl) {
break;
}
}
return allData;
},
async getVocab() {
const allData = [];
let nextUrl = '/subjects';
while (true) {
const r = await wkApi.get(nextUrl, {
params: {
types: 'vocabulary',
},
});
allData.push(...r.data.data.map((d) => ({
id: d.id,
level: d.data.level,
characters: d.data.characters,
sentences: d.data.context_sentences,
})));
console.error(r.data.url);
nextUrl = r.data.pages.next_url || '';
if (!nextUrl) {
break;
}
}
return allData;
},
async getLearnt() {
const allData = [];
let nextUrl = '/assignments';
while (true) {
const r = await wkApi.get(nextUrl, {
params: {
unlocked: 'true',
},
});
console.error(r.data.url);
r.data.data.map((d) => {
allData.push({
id: d.data.subject_id,
srsLevel: d.data.srs_stage,
});
});
nextUrl = r.data.pages.next_url || '';
if (!nextUrl) {
break;
}
}
return allData;
}
});
}
exports.makeWanikani = makeWanikani;
//# sourceMappingURL=index.js.map

+ 1
- 0
lib/index.js.map View File

@ -0,0 +1 @@
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}

Loading…
Cancel
Save