gotiny
Version:
SDK for GoTiny: A lightweight link shortener API
49 lines (48 loc) • 1.97 kB
JavaScript
;
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const axios_1 = __importDefault(require("axios"));
const set = (input) => __awaiter(void 0, void 0, void 0, function* () {
// Throw error if no input is provided
if (!input) {
throw {
source: "sdk",
code: "missing-argument",
message: "No input provided",
};
}
// Convert input to object if necessary
const payload = typeof input === "string" ? { input } : input;
// Make request to API
const res = yield axios_1.default.post("https://gotiny.cc/api", payload);
const { data } = res;
if (data.error) {
// Send back error if found
throw data.error;
}
else {
const output = [];
// Loop through API response and create array with GoTiny objects
data.forEach((doc) => {
output.push({
long: doc.long,
code: doc.code,
tiny: `gotiny.cc/${doc.code}`,
link: `https://gotiny.cc/${doc.code}`,
});
});
return output;
}
});
exports.default = set;