@cutls/megalodon
Version:
Mastodon, Pleroma, Misskey API client for node.js and browser
49 lines (48 loc) • 1.43 kB
JavaScript
import Pleroma from './pleroma.js';
import Mastodon from './mastodon.js';
import Misskey from './misskey.js';
export class NotImplementedError extends Error {
constructor(err) {
super(err);
this.name = new.target.name;
Object.setPrototypeOf(this, new.target.prototype);
}
}
export class ArgumentError extends Error {
constructor(err) {
super(err);
this.name = new.target.name;
Object.setPrototypeOf(this, new.target.prototype);
}
}
export class UnexpectedError extends Error {
constructor(err) {
super(err);
this.name = new.target.name;
Object.setPrototypeOf(this, new.target.prototype);
}
}
export class NodeinfoError extends Error {
constructor(err) {
super(err);
this.name = new.target.name;
Object.setPrototypeOf(this, new.target.prototype);
}
}
const generator = (sns, baseUrl, accessToken = null, userAgent = null) => {
switch (sns) {
case 'pleroma': {
const pleroma = new Pleroma(baseUrl, accessToken, userAgent);
return pleroma;
}
case 'mastodon': {
const mastodon = new Mastodon(baseUrl, accessToken, userAgent);
return mastodon;
}
case 'misskey': {
const misskey = new Misskey(baseUrl, accessToken, userAgent);
return misskey;
}
}
};
export default generator;