1
0
Fork 1
mirror of https://example.com synced 2024-11-22 21:26:38 +09:00
firefish/neko/index.js
naskya 93b7396990
refactor: make database models accesible to napi
Co-authored-by: sup39 <dev@sup39.dev>
2024-01-20 05:57:00 +09:00

337 lines
8.8 KiB
JavaScript

/* tslint:disable */
/* eslint-disable */
/* prettier-ignore */
/* auto-generated by NAPI-RS */
const { existsSync, readFileSync } = require("fs");
const { join } = require("path");
const { platform, arch } = process;
let nativeBinding = null;
let localFileExisted = false;
let loadError = null;
function isMusl() {
// For Node 10
if (!process.report || typeof process.report.getReport !== "function") {
try {
const lddPath = require("child_process")
.execSync("which ldd")
.toString()
.trim();
return readFileSync(lddPath, "utf8").includes("musl");
} catch (e) {
return true;
}
} else {
const { glibcVersionRuntime } = process.report.getReport().header;
return !glibcVersionRuntime;
}
}
switch (platform) {
case "android":
switch (arch) {
case "arm64":
localFileExisted = existsSync(
join(__dirname, "native-utils.android-arm64.node"),
);
try {
if (localFileExisted) {
nativeBinding = require("./native-utils.android-arm64.node");
} else {
nativeBinding = require("native-utils-android-arm64");
}
} catch (e) {
loadError = e;
}
break;
case "arm":
localFileExisted = existsSync(
join(__dirname, "native-utils.android-arm-eabi.node"),
);
try {
if (localFileExisted) {
nativeBinding = require("./native-utils.android-arm-eabi.node");
} else {
nativeBinding = require("native-utils-android-arm-eabi");
}
} catch (e) {
loadError = e;
}
break;
default:
throw new Error(`Unsupported architecture on Android ${arch}`);
}
break;
case "win32":
switch (arch) {
case "x64":
localFileExisted = existsSync(
join(__dirname, "native-utils.win32-x64-msvc.node"),
);
try {
if (localFileExisted) {
nativeBinding = require("./native-utils.win32-x64-msvc.node");
} else {
nativeBinding = require("native-utils-win32-x64-msvc");
}
} catch (e) {
loadError = e;
}
break;
case "ia32":
localFileExisted = existsSync(
join(__dirname, "native-utils.win32-ia32-msvc.node"),
);
try {
if (localFileExisted) {
nativeBinding = require("./native-utils.win32-ia32-msvc.node");
} else {
nativeBinding = require("native-utils-win32-ia32-msvc");
}
} catch (e) {
loadError = e;
}
break;
case "arm64":
localFileExisted = existsSync(
join(__dirname, "native-utils.win32-arm64-msvc.node"),
);
try {
if (localFileExisted) {
nativeBinding = require("./native-utils.win32-arm64-msvc.node");
} else {
nativeBinding = require("native-utils-win32-arm64-msvc");
}
} catch (e) {
loadError = e;
}
break;
default:
throw new Error(`Unsupported architecture on Windows: ${arch}`);
}
break;
case "darwin":
localFileExisted = existsSync(
join(__dirname, "native-utils.darwin-universal.node"),
);
try {
if (localFileExisted) {
nativeBinding = require("./native-utils.darwin-universal.node");
} else {
nativeBinding = require("native-utils-darwin-universal");
}
break;
} catch {}
switch (arch) {
case "x64":
localFileExisted = existsSync(
join(__dirname, "native-utils.darwin-x64.node"),
);
try {
if (localFileExisted) {
nativeBinding = require("./native-utils.darwin-x64.node");
} else {
nativeBinding = require("native-utils-darwin-x64");
}
} catch (e) {
loadError = e;
}
break;
case "arm64":
localFileExisted = existsSync(
join(__dirname, "native-utils.darwin-arm64.node"),
);
try {
if (localFileExisted) {
nativeBinding = require("./native-utils.darwin-arm64.node");
} else {
nativeBinding = require("native-utils-darwin-arm64");
}
} catch (e) {
loadError = e;
}
break;
default:
throw new Error(`Unsupported architecture on macOS: ${arch}`);
}
break;
case "freebsd":
if (arch !== "x64") {
throw new Error(`Unsupported architecture on FreeBSD: ${arch}`);
}
localFileExisted = existsSync(
join(__dirname, "native-utils.freebsd-x64.node"),
);
try {
if (localFileExisted) {
nativeBinding = require("./native-utils.freebsd-x64.node");
} else {
nativeBinding = require("native-utils-freebsd-x64");
}
} catch (e) {
loadError = e;
}
break;
case "linux":
switch (arch) {
case "x64":
if (isMusl()) {
localFileExisted = existsSync(
join(__dirname, "native-utils.linux-x64-musl.node"),
);
try {
if (localFileExisted) {
nativeBinding = require("./native-utils.linux-x64-musl.node");
} else {
nativeBinding = require("native-utils-linux-x64-musl");
}
} catch (e) {
loadError = e;
}
} else {
localFileExisted = existsSync(
join(__dirname, "native-utils.linux-x64-gnu.node"),
);
try {
if (localFileExisted) {
nativeBinding = require("./native-utils.linux-x64-gnu.node");
} else {
nativeBinding = require("native-utils-linux-x64-gnu");
}
} catch (e) {
loadError = e;
}
}
break;
case "arm64":
if (isMusl()) {
localFileExisted = existsSync(
join(__dirname, "native-utils.linux-arm64-musl.node"),
);
try {
if (localFileExisted) {
nativeBinding = require("./native-utils.linux-arm64-musl.node");
} else {
nativeBinding = require("native-utils-linux-arm64-musl");
}
} catch (e) {
loadError = e;
}
} else {
localFileExisted = existsSync(
join(__dirname, "native-utils.linux-arm64-gnu.node"),
);
try {
if (localFileExisted) {
nativeBinding = require("./native-utils.linux-arm64-gnu.node");
} else {
nativeBinding = require("native-utils-linux-arm64-gnu");
}
} catch (e) {
loadError = e;
}
}
break;
case "arm":
localFileExisted = existsSync(
join(__dirname, "native-utils.linux-arm-gnueabihf.node"),
);
try {
if (localFileExisted) {
nativeBinding = require("./native-utils.linux-arm-gnueabihf.node");
} else {
nativeBinding = require("native-utils-linux-arm-gnueabihf");
}
} catch (e) {
loadError = e;
}
break;
default:
throw new Error(`Unsupported architecture on Linux: ${arch}`);
}
break;
default:
throw new Error(`Unsupported OS: ${platform}, architecture: ${arch}`);
}
if (!nativeBinding) {
if (loadError) {
throw loadError;
}
throw new Error(`Failed to load native binding`);
}
const {
EnvConfig,
readEnvironmentConfig,
readServerConfig,
AntennaSrcEnum,
MetaSensitivemediadetectionEnum,
MetaSensitivemediadetectionsensitivityEnum,
MutedNoteReasonEnum,
NoteVisibilityEnum,
NotificationTypeEnum,
PageVisibilityEnum,
PollNotevisibilityEnum,
RelayStatusEnum,
UserEmojimodpermEnum,
UserProfileFfvisibilityEnum,
UserProfileMutingnotificationtypesEnum,
stringToAcct,
acctToString,
getFullApAccount,
isSelfHost,
extractHost,
toPuny,
toPunyOptional,
convertToHiddenPost,
sqlLikeEscape,
safeForSql,
formatMilliseconds,
nativeInitIdGenerator,
nativeCreateId,
nativeGetTimestamp,
genString,
IdConvertType,
convertId,
} = nativeBinding;
module.exports.EnvConfig = EnvConfig;
module.exports.readEnvironmentConfig = readEnvironmentConfig;
module.exports.readServerConfig = readServerConfig;
module.exports.AntennaSrcEnum = AntennaSrcEnum;
module.exports.MetaSensitivemediadetectionEnum =
MetaSensitivemediadetectionEnum;
module.exports.MetaSensitivemediadetectionsensitivityEnum =
MetaSensitivemediadetectionsensitivityEnum;
module.exports.MutedNoteReasonEnum = MutedNoteReasonEnum;
module.exports.NoteVisibilityEnum = NoteVisibilityEnum;
module.exports.NotificationTypeEnum = NotificationTypeEnum;
module.exports.PageVisibilityEnum = PageVisibilityEnum;
module.exports.PollNotevisibilityEnum = PollNotevisibilityEnum;
module.exports.RelayStatusEnum = RelayStatusEnum;
module.exports.UserEmojimodpermEnum = UserEmojimodpermEnum;
module.exports.UserProfileFfvisibilityEnum = UserProfileFfvisibilityEnum;
module.exports.UserProfileMutingnotificationtypesEnum =
UserProfileMutingnotificationtypesEnum;
module.exports.stringToAcct = stringToAcct;
module.exports.acctToString = acctToString;
module.exports.getFullApAccount = getFullApAccount;
module.exports.isSelfHost = isSelfHost;
module.exports.extractHost = extractHost;
module.exports.toPuny = toPuny;
module.exports.toPunyOptional = toPunyOptional;
module.exports.convertToHiddenPost = convertToHiddenPost;
module.exports.sqlLikeEscape = sqlLikeEscape;
module.exports.safeForSql = safeForSql;
module.exports.formatMilliseconds = formatMilliseconds;
module.exports.nativeInitIdGenerator = nativeInitIdGenerator;
module.exports.nativeCreateId = nativeCreateId;
module.exports.nativeGetTimestamp = nativeGetTimestamp;
module.exports.genString = genString;
module.exports.IdConvertType = IdConvertType;
module.exports.convertId = convertId;