mirror of
https://gitcode.com/gh_mirrors/hy/Hydro.git
synced 2026-10-20 01:38:19 +08:00
remove server.log setting item
This commit is contained in:
1 parent
e62e7b49a3
commit
ee78271a84
27 files changed
+159
-114
No files matched your search
@@ -27,7 +27,6 @@ function decodeJWT(idToken: string) {
|
||||
}
|
||||
}
|
||||
|
||||
// eslint-disable-next-line import/prefer-default-export
|
||||
export function decode(idToken: string) {
|
||||
const decodedJWT = decodeJWT(idToken);
|
||||
return decodedJWT.payload;
|
||||
|
||||
@@ -6,12 +6,6 @@ function wrap(func: Function, type: string) {
|
||||
func(...args);
|
||||
if (global.Hydro.model.message) {
|
||||
try {
|
||||
for (let i = 0; i <= args.length; i++) {
|
||||
if (args[i] instanceof Error) {
|
||||
// js-yaml cannot dump [object Error]
|
||||
args[i] = `${args[i].message}\n${args[i].stack}`;
|
||||
}
|
||||
}
|
||||
global.Hydro.model.message.send(1, 1, serialize({ time, type, args }), 0);
|
||||
} catch (e) {
|
||||
func(e.message);
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
import nodemailer from 'nodemailer';
|
||||
import { SendMailError } from '../error';
|
||||
|
||||
// eslint-disable-next-line import/prefer-default-export
|
||||
export async function sendMail(to: string, subject: string, text: string, html: string) {
|
||||
let t: unknown;
|
||||
try {
|
||||
|
||||
+12
-11
@@ -1,19 +1,20 @@
|
||||
import AnsiUp from 'ansi_up';
|
||||
import { ObjectID } from 'mongodb';
|
||||
import md5 from './md5';
|
||||
|
||||
const AU = new AnsiUp();
|
||||
|
||||
export function ansiToHtml(str) {
|
||||
export function ansiToHtml(str: string) {
|
||||
return AU.ansi_to_html(str);
|
||||
}
|
||||
|
||||
export function gravatar(email, s = 32) {
|
||||
export function gravatar(email: string, s = 32) {
|
||||
return `//gravatar.loli.net/avatar/${md5((email || '').toString().trim().toLowerCase())}?d=mm&s=${s}`;
|
||||
}
|
||||
|
||||
export function datetimeSpan(dt, relative = true, format = '%Y-%m-%d %H:%M:%S') {
|
||||
export function datetimeSpan(dt: Date | ObjectID, relative = true, format = '%Y-%m-%d %H:%M:%S') {
|
||||
if (!dt) return 'DATETIME_SPAN_ERROR';
|
||||
if (dt.generationTime) dt = new Date(dt.generationTime * 1000);
|
||||
if (dt instanceof ObjectID) dt = new Date(dt.generationTime * 1000);
|
||||
else if (typeof dt === 'number' || typeof dt === 'string') dt = new Date(dt);
|
||||
return '<span class="time{0}" data-timestamp="{1}">{2}</span>'.format(
|
||||
relative ? ' relative' : '',
|
||||
@@ -22,9 +23,10 @@ export function datetimeSpan(dt, relative = true, format = '%Y-%m-%d %H:%M:%S')
|
||||
);
|
||||
}
|
||||
|
||||
export function* paginate(page, numPages) {
|
||||
const radius = 2; let first; let
|
||||
last;
|
||||
export function* paginate(page: number, numPages: number) {
|
||||
const radius = 2;
|
||||
let first: number;
|
||||
let last: number;
|
||||
if (page > 1) {
|
||||
yield ['first', 1];
|
||||
yield ['previous', page - 1];
|
||||
@@ -45,7 +47,7 @@ export function* paginate(page, numPages) {
|
||||
yield ['last', numPages];
|
||||
}
|
||||
|
||||
export function size(s, base = 1) {
|
||||
export function size(s: number, base = 1) {
|
||||
s *= base;
|
||||
const unit = 1024;
|
||||
const unitNames = ['Bytes', 'KiB', 'MiB', 'GiB', 'TiB', 'PiB', 'EiB', 'ZiB', 'YiB'];
|
||||
@@ -53,12 +55,11 @@ export function size(s, base = 1) {
|
||||
if (s < unit) return '{0} {1}'.format(Math.round(s * 10) / 10, unitName);
|
||||
s /= unit;
|
||||
}
|
||||
return '{0} {1}'.format(Math.round(s * unit), unitNames[unitNames.length - 1]);
|
||||
return `${Math.round(s * unit)} ${unitNames[unitNames.length - 1]}`;
|
||||
}
|
||||
|
||||
function _digit2(number: number) {
|
||||
if (number < 10) return `0${number}`;
|
||||
return number.toString();
|
||||
return number < 10 ? `0${number}` : number.toString();
|
||||
}
|
||||
|
||||
export function formatSeconds(_seconds = '0') {
|
||||
|
||||
+1
-1
@@ -12,7 +12,7 @@ const Checker = (perm: bigint, priv: number, checker: Function = trueChecker) =>
|
||||
|
||||
const Item = (
|
||||
name: string, args: any, prefix: string,
|
||||
...permPrivChecker: Array<number | bigint | Function | Array<bigint | string>>
|
||||
...permPrivChecker: Array<number | bigint | Function>
|
||||
) => {
|
||||
let _priv: number;
|
||||
let _perm: bigint;
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
import { Cursor } from 'mongodb';
|
||||
import { ValidationError } from '../error';
|
||||
|
||||
async function paginate(cursor: import('mongodb').Cursor, page: number, pageSize: number): Promise<[any[], number, number]> {
|
||||
export default async function paginate(
|
||||
cursor: Cursor, page: number, pageSize: number,
|
||||
): Promise<[any[], number, number]> {
|
||||
if (page <= 0) throw new ValidationError('page');
|
||||
const [count, pageDocs] = await Promise.all([
|
||||
cursor.count(),
|
||||
@@ -11,4 +14,3 @@ async function paginate(cursor: import('mongodb').Cursor, page: number, pageSize
|
||||
}
|
||||
|
||||
global.Hydro.lib.paginate = paginate;
|
||||
export default paginate;
|
||||
+11
-8
@@ -1,12 +1,16 @@
|
||||
class User {
|
||||
rank: any;
|
||||
rank: number;
|
||||
|
||||
old: any;
|
||||
old: number;
|
||||
|
||||
seed: number;
|
||||
|
||||
uid: number;
|
||||
|
||||
delta?: number;
|
||||
|
||||
new: number;
|
||||
|
||||
constructor(rank: number, old: number, uid = 0) {
|
||||
this.rank = rank;
|
||||
this.old = old;
|
||||
@@ -16,7 +20,7 @@ class User {
|
||||
}
|
||||
|
||||
class RatingCalculator {
|
||||
users: any;
|
||||
users: User[];
|
||||
|
||||
constructor(users) {
|
||||
this.users = [];
|
||||
@@ -26,11 +30,11 @@ class RatingCalculator {
|
||||
}
|
||||
|
||||
// eslint-disable-next-line class-methods-use-this
|
||||
calP(a, b) {
|
||||
calP(a: User, b: User) {
|
||||
return 1 / (1 + 10 ** ((b.old - a.old) / 400));
|
||||
}
|
||||
|
||||
getExSeed(rating, ownUser) {
|
||||
getExSeed(rating: number, ownUser: User) {
|
||||
const exUser = new User(0.0, rating);
|
||||
let result = 1;
|
||||
for (const user of this.users) {
|
||||
@@ -39,7 +43,7 @@ class RatingCalculator {
|
||||
return result;
|
||||
}
|
||||
|
||||
calRating(rank, user) {
|
||||
calRating(rank: number, user: User) {
|
||||
let left = 1;
|
||||
let right = 8000;
|
||||
while (right - left > 1) {
|
||||
@@ -101,10 +105,9 @@ interface RatingOutputUser {
|
||||
uid: number,
|
||||
}
|
||||
|
||||
function calculate(users: RatingInputUser[]): RatingOutputUser[] {
|
||||
export default function calculate(users: RatingInputUser[]): RatingOutputUser[] {
|
||||
const calculator = new RatingCalculator(users);
|
||||
return calculator.calculate();
|
||||
}
|
||||
|
||||
global.Hydro.lib.rating = calculate;
|
||||
export default calculate;
|
||||
+2
-16
@@ -67,22 +67,8 @@ function _validate(scheme: any, arg: any, base: string): void {
|
||||
}
|
||||
}
|
||||
|
||||
function descriptor(scheme: any): Function {
|
||||
return function desc(target: any, name: string, obj: any) {
|
||||
const originalMethod = obj.value;
|
||||
obj.value = function func(...args: any[]) {
|
||||
_validate(scheme, args[0], '');
|
||||
return originalMethod.call(this, ...args);
|
||||
};
|
||||
return obj;
|
||||
};
|
||||
}
|
||||
|
||||
export function validate(scheme: any): Function;
|
||||
export function validate(scheme: any, arg: any): void;
|
||||
export function validate(...args: any[]): any {
|
||||
if (args.length === 1) return descriptor(args[0]);
|
||||
return _validate(args[0], args[1], '');
|
||||
export function validate(scheme: any, arg: any) {
|
||||
return _validate(scheme, arg, '');
|
||||
}
|
||||
|
||||
export const isTitle = (s) => s && s.length < 64;
|
||||
|
||||
Reference in new issue
Block a user