1
0
mirror of https://github.com/uetchy/namae.git synced 2025-08-20 01:48:12 +09:00

style: prettier

This commit is contained in:
2020-08-20 00:57:33 +09:00
parent a31c13e725
commit c7bbe707a9
71 changed files with 1074 additions and 1089 deletions

View File

@@ -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)
}
}

View File

@@ -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)
}
}

View File

@@ -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)
}
}

View File

@@ -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)
}
}

View File

@@ -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)
}
}

View File

@@ -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)
}
}

View File

@@ -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)
}
}

View File

@@ -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)
}
}

View File

@@ -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)
}
}

View File

@@ -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)
}
}

View File

@@ -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)
}
}

View File

@@ -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)
}
}

View File

@@ -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)
}
}