mirror of
https://github.com/uetchy/namae.git
synced 2025-08-20 01:48:12 +09:00
style: prettier
This commit is contained in:
@@ -1,39 +1,39 @@
|
||||
import {send, sendError, fetch} from '../../../util/http';
|
||||
import {NowRequest, NowResponse} from '@vercel/node';
|
||||
import { send, sendError, fetch } from '../../../util/http'
|
||||
import { NowRequest, NowResponse } from '@vercel/node'
|
||||
|
||||
interface App {
|
||||
trackId: string;
|
||||
trackName: string;
|
||||
kind: string;
|
||||
version: string;
|
||||
price: string;
|
||||
trackViewUrl: string;
|
||||
trackId: string
|
||||
trackName: string
|
||||
kind: string
|
||||
version: string
|
||||
price: string
|
||||
trackViewUrl: string
|
||||
}
|
||||
|
||||
interface AppStoreResponse {
|
||||
results: App[];
|
||||
results: App[]
|
||||
}
|
||||
|
||||
export default async function handler(
|
||||
req: NowRequest,
|
||||
res: NowResponse,
|
||||
res: NowResponse
|
||||
): Promise<void> {
|
||||
const {query, country} = req.query;
|
||||
const { query, country } = req.query
|
||||
|
||||
if (!query || typeof query !== 'string') {
|
||||
return sendError(res, new Error('No query given'));
|
||||
return sendError(res, new Error('No query given'))
|
||||
}
|
||||
|
||||
const term = encodeURIComponent(query);
|
||||
const countryCode = country || 'us';
|
||||
const limit = 10;
|
||||
const term = encodeURIComponent(query)
|
||||
const countryCode = country || 'us'
|
||||
const limit = 10
|
||||
|
||||
try {
|
||||
const response = await fetch(
|
||||
`https://itunes.apple.com/search?media=software&entity=software,iPadSoftware,macSoftware&country=${countryCode}&limit=${limit}&term=${term}`,
|
||||
'GET',
|
||||
);
|
||||
const body: AppStoreResponse = await response.json();
|
||||
'GET'
|
||||
)
|
||||
const body: AppStoreResponse = await response.json()
|
||||
const apps = body.results.map((app) => ({
|
||||
id: app.trackId,
|
||||
name: app.trackName,
|
||||
@@ -41,9 +41,9 @@ export default async function handler(
|
||||
version: app.version,
|
||||
price: app.price,
|
||||
viewURL: app.trackViewUrl,
|
||||
}));
|
||||
send(res, {result: apps || []});
|
||||
}))
|
||||
send(res, { result: apps || [] })
|
||||
} catch (err) {
|
||||
sendError(res, err);
|
||||
sendError(res, err)
|
||||
}
|
||||
}
|
||||
|
@@ -1,29 +1,29 @@
|
||||
import {send, sendError, fetch} from '../../../util/http';
|
||||
import {NowRequest, NowResponse} from '@vercel/node';
|
||||
import { send, sendError, fetch } from '../../../util/http'
|
||||
import { NowRequest, NowResponse } from '@vercel/node'
|
||||
|
||||
export default async function handler(
|
||||
req: NowRequest,
|
||||
res: NowResponse,
|
||||
res: NowResponse
|
||||
): Promise<void> {
|
||||
const {query} = req.query;
|
||||
const { query } = req.query
|
||||
|
||||
if (!query || typeof query !== 'string') {
|
||||
return sendError(res, new Error('No query given'));
|
||||
return sendError(res, new Error('No query given'))
|
||||
}
|
||||
|
||||
if (/[^a-zA-Z0-9_-]/.test(query)) {
|
||||
return sendError(res, new Error('Invalid characters'));
|
||||
return sendError(res, new Error('Invalid characters'))
|
||||
}
|
||||
|
||||
try {
|
||||
const response = await fetch(
|
||||
`https://packages.debian.org/buster/${encodeURIComponent(query)}`,
|
||||
'GET',
|
||||
);
|
||||
const body = await response.text();
|
||||
const availability = body.includes('No such package');
|
||||
send(res, {availability});
|
||||
'GET'
|
||||
)
|
||||
const body = await response.text()
|
||||
const availability = body.includes('No such package')
|
||||
send(res, { availability })
|
||||
} catch (err) {
|
||||
sendError(res, err);
|
||||
sendError(res, err)
|
||||
}
|
||||
}
|
||||
|
@@ -1,34 +1,34 @@
|
||||
import dns from 'dns';
|
||||
import {send, sendError} from '../../../util/http';
|
||||
import {NowRequest, NowResponse} from '@vercel/node';
|
||||
import dns from 'dns'
|
||||
import { send, sendError } from '../../../util/http'
|
||||
import { NowRequest, NowResponse } from '@vercel/node'
|
||||
|
||||
function resolvePromise(hostname: string): Promise<string[]> {
|
||||
return new Promise((resolve, reject) => {
|
||||
dns.resolve4(hostname, function (err, addresses) {
|
||||
if (err) return reject(err);
|
||||
resolve(addresses);
|
||||
});
|
||||
});
|
||||
if (err) return reject(err)
|
||||
resolve(addresses)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export default async function handler(
|
||||
req: NowRequest,
|
||||
res: NowResponse,
|
||||
res: NowResponse
|
||||
): Promise<void> {
|
||||
const {query} = req.query;
|
||||
const { query } = req.query
|
||||
|
||||
if (!query || typeof query !== 'string') {
|
||||
return sendError(res, new Error('No query given'));
|
||||
return sendError(res, new Error('No query given'))
|
||||
}
|
||||
|
||||
try {
|
||||
const response = await resolvePromise(query);
|
||||
const availability = response && response.length > 0 ? false : true;
|
||||
send(res, {availability});
|
||||
const response = await resolvePromise(query)
|
||||
const availability = response && response.length > 0 ? false : true
|
||||
send(res, { availability })
|
||||
} catch (err) {
|
||||
if (err.code === 'ENODATA' || err.code === 'ENOTFOUND') {
|
||||
return send(res, {availability: true});
|
||||
return send(res, { availability: true })
|
||||
}
|
||||
sendError(res, err);
|
||||
sendError(res, err)
|
||||
}
|
||||
}
|
||||
|
@@ -1,22 +1,22 @@
|
||||
import whois from 'whois-json';
|
||||
import {send, sendError} from '../../../util/http';
|
||||
import {NowRequest, NowResponse} from '@vercel/node';
|
||||
import whois from 'whois-json'
|
||||
import { send, sendError } from '../../../util/http'
|
||||
import { NowRequest, NowResponse } from '@vercel/node'
|
||||
|
||||
export default async function handler(
|
||||
req: NowRequest,
|
||||
res: NowResponse,
|
||||
res: NowResponse
|
||||
): Promise<void> {
|
||||
const {query} = req.query;
|
||||
const { query } = req.query
|
||||
|
||||
if (!query || typeof query !== 'string') {
|
||||
return sendError(res, new Error('No query given'));
|
||||
return sendError(res, new Error('No query given'))
|
||||
}
|
||||
|
||||
try {
|
||||
const response = await whois(query, {follow: 3, verbose: true});
|
||||
const availability = response[0].data.domainName ? false : true;
|
||||
send(res, {availability});
|
||||
const response = await whois(query, { follow: 3, verbose: true })
|
||||
const availability = response[0].data.domainName ? false : true
|
||||
send(res, { availability })
|
||||
} catch (err) {
|
||||
sendError(res, err);
|
||||
sendError(res, err)
|
||||
}
|
||||
}
|
||||
|
@@ -1,30 +1,30 @@
|
||||
import isURL from 'validator/lib/isURL';
|
||||
import {send, sendError, fetch} from '../../../util/http';
|
||||
import {NowRequest, NowResponse} from '@vercel/node';
|
||||
import isURL from 'validator/lib/isURL'
|
||||
import { send, sendError, fetch } from '../../../util/http'
|
||||
import { NowRequest, NowResponse } from '@vercel/node'
|
||||
|
||||
export default async function handler(
|
||||
req: NowRequest,
|
||||
res: NowResponse,
|
||||
res: NowResponse
|
||||
): Promise<void> {
|
||||
const {query} = req.query;
|
||||
const { query } = req.query
|
||||
|
||||
if (!query || typeof query !== 'string') {
|
||||
return sendError(res, new Error('no query given'));
|
||||
return sendError(res, new Error('no query given'))
|
||||
}
|
||||
|
||||
if (!isURL(query)) {
|
||||
return sendError(res, new Error('Invalid URL: ' + query));
|
||||
return sendError(res, new Error('Invalid URL: ' + query))
|
||||
}
|
||||
|
||||
try {
|
||||
const response = await fetch(`https://${query}`);
|
||||
const availability = response.status === 404;
|
||||
send(res, {availability});
|
||||
const response = await fetch(`https://${query}`)
|
||||
const availability = response.status === 404
|
||||
send(res, { availability })
|
||||
} catch (err) {
|
||||
console.log(err.code);
|
||||
console.log(err.code)
|
||||
if (err.code === 'ENOTFOUND') {
|
||||
return send(res, {availability: true});
|
||||
return send(res, { availability: true })
|
||||
}
|
||||
sendError(res, err);
|
||||
sendError(res, err)
|
||||
}
|
||||
}
|
||||
|
@@ -1,28 +1,28 @@
|
||||
import {send, sendError} from '../../../util/http';
|
||||
import {NowRequest, NowResponse} from '@vercel/node';
|
||||
import nodeFetch from 'node-fetch';
|
||||
import { send, sendError } from '../../../util/http'
|
||||
import { NowRequest, NowResponse } from '@vercel/node'
|
||||
import nodeFetch from 'node-fetch'
|
||||
|
||||
export default async function handler(
|
||||
req: NowRequest,
|
||||
res: NowResponse,
|
||||
res: NowResponse
|
||||
): Promise<void> {
|
||||
const {query} = req.query;
|
||||
const { query } = req.query
|
||||
|
||||
if (!query || typeof query !== 'string') {
|
||||
return sendError(res, new Error('No query given'));
|
||||
return sendError(res, new Error('No query given'))
|
||||
}
|
||||
|
||||
if (/[^a-zA-Z0-9_-]/.test(query)) {
|
||||
return sendError(res, new Error('Invalid characters'));
|
||||
return sendError(res, new Error('Invalid characters'))
|
||||
}
|
||||
|
||||
try {
|
||||
const response = await nodeFetch(`https://gitlab.com/${query}`, {
|
||||
redirect: 'manual',
|
||||
});
|
||||
const availability = response.status === 302;
|
||||
send(res, {availability});
|
||||
})
|
||||
const availability = response.status === 302
|
||||
send(res, { availability })
|
||||
} catch (err) {
|
||||
sendError(res, err);
|
||||
sendError(res, err)
|
||||
}
|
||||
}
|
||||
|
@@ -1,30 +1,30 @@
|
||||
import {send, sendError, fetch} from '../../../util/http';
|
||||
import {NowRequest, NowResponse} from '@vercel/node';
|
||||
import { send, sendError, fetch } from '../../../util/http'
|
||||
import { NowRequest, NowResponse } from '@vercel/node'
|
||||
|
||||
export default async function handler(
|
||||
req: NowRequest,
|
||||
res: NowResponse,
|
||||
res: NowResponse
|
||||
): Promise<void> {
|
||||
const {query} = req.query;
|
||||
const { query } = req.query
|
||||
|
||||
if (!query || typeof query !== 'string') {
|
||||
return sendError(res, new Error('No query given'));
|
||||
return sendError(res, new Error('No query given'))
|
||||
}
|
||||
|
||||
if (/[^a-zA-Z0-9_-]/.test(query)) {
|
||||
return sendError(res, new Error('Invalid characters'));
|
||||
return sendError(res, new Error('Invalid characters'))
|
||||
}
|
||||
|
||||
try {
|
||||
const response = await fetch(
|
||||
`https://api.launchpad.net/devel/ubuntu/+source/${encodeURIComponent(
|
||||
query,
|
||||
query
|
||||
)}`,
|
||||
'GET',
|
||||
);
|
||||
const availability = response.status !== 200;
|
||||
send(res, {availability});
|
||||
'GET'
|
||||
)
|
||||
const availability = response.status !== 200
|
||||
send(res, { availability })
|
||||
} catch (err) {
|
||||
sendError(res, err);
|
||||
sendError(res, err)
|
||||
}
|
||||
}
|
||||
|
@@ -1,24 +1,24 @@
|
||||
import npmName from 'npm-name';
|
||||
import {send, sendError} from '../../../util/http';
|
||||
import {NowRequest, NowResponse} from '@vercel/node';
|
||||
import npmName from 'npm-name'
|
||||
import { send, sendError } from '../../../util/http'
|
||||
import { NowRequest, NowResponse } from '@vercel/node'
|
||||
|
||||
export default async function handler(
|
||||
req: NowRequest,
|
||||
res: NowResponse,
|
||||
res: NowResponse
|
||||
): Promise<void> {
|
||||
const {query} = req.query;
|
||||
const { query } = req.query
|
||||
|
||||
if (!query || typeof query !== 'string') {
|
||||
return sendError(res, new Error('No query given'));
|
||||
return sendError(res, new Error('No query given'))
|
||||
}
|
||||
|
||||
try {
|
||||
const availability = await npmName(`@${query}`);
|
||||
send(res, {availability});
|
||||
const availability = await npmName(`@${query}`)
|
||||
send(res, { availability })
|
||||
} catch (err) {
|
||||
if (err.code === 'ENOTFOUND') {
|
||||
return send(res, {availability: true});
|
||||
return send(res, { availability: true })
|
||||
}
|
||||
sendError(res, err);
|
||||
sendError(res, err)
|
||||
}
|
||||
}
|
||||
|
@@ -1,21 +1,21 @@
|
||||
import npmName from 'npm-name';
|
||||
import {send, sendError} from '../../../util/http';
|
||||
import {NowRequest, NowResponse} from '@vercel/node';
|
||||
import npmName from 'npm-name'
|
||||
import { send, sendError } from '../../../util/http'
|
||||
import { NowRequest, NowResponse } from '@vercel/node'
|
||||
|
||||
export default async function handler(
|
||||
req: NowRequest,
|
||||
res: NowResponse,
|
||||
res: NowResponse
|
||||
): Promise<void> {
|
||||
const {query} = req.query;
|
||||
const { query } = req.query
|
||||
|
||||
if (!query || typeof query !== 'string') {
|
||||
return sendError(res, new Error('No query given'));
|
||||
return sendError(res, new Error('No query given'))
|
||||
}
|
||||
|
||||
try {
|
||||
const availability = await npmName(query);
|
||||
send(res, {availability});
|
||||
const availability = await npmName(query)
|
||||
send(res, { availability })
|
||||
} catch (err) {
|
||||
sendError(res, err);
|
||||
sendError(res, err)
|
||||
}
|
||||
}
|
||||
|
@@ -1,42 +1,42 @@
|
||||
import {send, sendError, fetch} from '../../../util/http';
|
||||
import {NowRequest, NowResponse} from '@vercel/node';
|
||||
import { send, sendError, fetch } from '../../../util/http'
|
||||
import { NowRequest, NowResponse } from '@vercel/node'
|
||||
|
||||
const APPLICATION_ID = process.env.NTA_APPLICATION_ID;
|
||||
const APPLICATION_ID = process.env.NTA_APPLICATION_ID
|
||||
|
||||
export default async function handler(
|
||||
req: NowRequest,
|
||||
res: NowResponse,
|
||||
res: NowResponse
|
||||
): Promise<void> {
|
||||
const {query} = req.query;
|
||||
const { query } = req.query
|
||||
|
||||
if (!query || typeof query !== 'string') {
|
||||
return sendError(res, new Error('No query given'));
|
||||
return sendError(res, new Error('No query given'))
|
||||
}
|
||||
|
||||
const encodedQuery = encodeURIComponent(
|
||||
query.replace(/[A-Za-z0-9]/g, (str) =>
|
||||
String.fromCharCode(str.charCodeAt(0) + 0xfee0),
|
||||
),
|
||||
);
|
||||
String.fromCharCode(str.charCodeAt(0) + 0xfee0)
|
||||
)
|
||||
)
|
||||
|
||||
try {
|
||||
const response = await fetch(
|
||||
`https://api.houjin-bangou.nta.go.jp/4/name?id=${APPLICATION_ID}&name=${encodedQuery}&mode=1&target=1&type=02`,
|
||||
'GET',
|
||||
);
|
||||
const body: string[] = (await response.text()).split('\n').slice(0, -1);
|
||||
'GET'
|
||||
)
|
||||
const body: string[] = (await response.text()).split('\n').slice(0, -1)
|
||||
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
||||
const header = body.shift()!.split(',');
|
||||
const header = body.shift()!.split(',')
|
||||
const result = body.map((csv) => {
|
||||
const entry = csv.split(',').map((item) =>
|
||||
item
|
||||
.replace(/(^"|"$)/g, '')
|
||||
.replace(/[A-Za-z0-9]/g, (str) =>
|
||||
String.fromCharCode(str.charCodeAt(0) - 0xfee0),
|
||||
String.fromCharCode(str.charCodeAt(0) - 0xfee0)
|
||||
)
|
||||
// eslint-disable-next-line no-irregular-whitespace
|
||||
.replace(/ /g, ' '),
|
||||
);
|
||||
.replace(/ /g, ' ')
|
||||
)
|
||||
|
||||
return {
|
||||
index: entry[0],
|
||||
@@ -73,8 +73,8 @@ export default async function handler(
|
||||
excluded: entry[29],
|
||||
processSection: entry[2],
|
||||
modifiedSection: entry[3],
|
||||
};
|
||||
});
|
||||
}
|
||||
})
|
||||
|
||||
send(res, {
|
||||
meta: {
|
||||
@@ -91,8 +91,8 @@ export default async function handler(
|
||||
englishName: entry.englishName,
|
||||
}))
|
||||
.slice(10) || [],
|
||||
});
|
||||
})
|
||||
} catch (err) {
|
||||
sendError(res, err);
|
||||
sendError(res, err)
|
||||
}
|
||||
}
|
||||
|
@@ -1,27 +1,27 @@
|
||||
import {send, sendError, fetch} from '../../../util/http';
|
||||
import {NowRequest, NowResponse} from '@vercel/node';
|
||||
import { send, sendError, fetch } from '../../../util/http'
|
||||
import { NowRequest, NowResponse } from '@vercel/node'
|
||||
|
||||
export default async function handler(
|
||||
req: NowRequest,
|
||||
res: NowResponse,
|
||||
res: NowResponse
|
||||
): Promise<void> {
|
||||
const {query} = req.query;
|
||||
const { query } = req.query
|
||||
|
||||
if (!query || typeof query !== 'string') {
|
||||
return sendError(res, new Error('No query given'));
|
||||
return sendError(res, new Error('No query given'))
|
||||
}
|
||||
|
||||
if (/[^a-zA-Z0-9_-]/.test(query)) {
|
||||
return sendError(res, new Error('Invalid characters'));
|
||||
return sendError(res, new Error('Invalid characters'))
|
||||
}
|
||||
|
||||
try {
|
||||
const response = await fetch(
|
||||
`https://${encodeURIComponent(query)}.slack.com`,
|
||||
);
|
||||
const availability = response.status !== 200;
|
||||
send(res, {availability});
|
||||
`https://${encodeURIComponent(query)}.slack.com`
|
||||
)
|
||||
const availability = response.status !== 200
|
||||
send(res, { availability })
|
||||
} catch (err) {
|
||||
sendError(res, err);
|
||||
sendError(res, err)
|
||||
}
|
||||
}
|
||||
|
@@ -1,31 +1,31 @@
|
||||
import {send, sendError, fetch} from '../../../util/http';
|
||||
import {NowRequest, NowResponse} from '@vercel/node';
|
||||
import { send, sendError, fetch } from '../../../util/http'
|
||||
import { NowRequest, NowResponse } from '@vercel/node'
|
||||
|
||||
export default async function handler(
|
||||
req: NowRequest,
|
||||
res: NowResponse,
|
||||
res: NowResponse
|
||||
): Promise<void> {
|
||||
const {query} = req.query;
|
||||
const { query } = req.query
|
||||
|
||||
if (!query || typeof query !== 'string') {
|
||||
return sendError(res, new Error('No query given'));
|
||||
return sendError(res, new Error('No query given'))
|
||||
}
|
||||
|
||||
if (/[^a-zA-Z0-9_-]/.test(query)) {
|
||||
return sendError(res, new Error('Invalid characters'));
|
||||
return sendError(res, new Error('Invalid characters'))
|
||||
}
|
||||
|
||||
try {
|
||||
const response = await fetch(
|
||||
`https://spectrum.chat/${encodeURIComponent(query)}`,
|
||||
'GET',
|
||||
);
|
||||
const body = await response.text();
|
||||
'GET'
|
||||
)
|
||||
const body = await response.text()
|
||||
const availability = body.includes(
|
||||
'You may be trying to view something that is deleted',
|
||||
);
|
||||
send(res, {availability});
|
||||
'You may be trying to view something that is deleted'
|
||||
)
|
||||
send(res, { availability })
|
||||
} catch (err) {
|
||||
sendError(res, err);
|
||||
sendError(res, err)
|
||||
}
|
||||
}
|
||||
|
@@ -1,28 +1,28 @@
|
||||
import { NowRequest, NowResponse } from '@vercel/node';
|
||||
import { fetch, send, sendError } from '../../../util/http';
|
||||
import { NowRequest, NowResponse } from '@vercel/node'
|
||||
import { fetch, send, sendError } from '../../../util/http'
|
||||
|
||||
export default async function handler(
|
||||
req: NowRequest,
|
||||
res: NowResponse,
|
||||
res: NowResponse
|
||||
): Promise<void> {
|
||||
const { query } = req.query;
|
||||
const { query } = req.query
|
||||
|
||||
if (!query || typeof query !== 'string') {
|
||||
return sendError(res, new Error('No query given'));
|
||||
return sendError(res, new Error('No query given'))
|
||||
}
|
||||
|
||||
if (/[^a-zA-Z0-9_]/.test(query)) {
|
||||
return sendError(res, new Error('Invalid characters'));
|
||||
return sendError(res, new Error('Invalid characters'))
|
||||
}
|
||||
|
||||
try {
|
||||
const response = await fetch(
|
||||
`https://api.twitter.com/i/users/username_available.json?username=${query}`,
|
||||
'GET',
|
||||
).then((res) => res.json());
|
||||
const availability = response.valid;
|
||||
send(res, { availability });
|
||||
'GET'
|
||||
).then((res) => res.json())
|
||||
const availability = response.valid
|
||||
send(res, { availability })
|
||||
} catch (err) {
|
||||
sendError(res, err);
|
||||
sendError(res, err)
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user