Files
ppc_amnet/amnet-shared/dist/index.js
T
2024-09-03 14:15:43 +01:00

162 lines
4.7 KiB
JavaScript

"use strict";
var __defProp = Object.defineProperty;
var __defProps = Object.defineProperties;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __propIsEnum = Object.prototype.propertyIsEnumerable;
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
var __spreadValues = (a, b) => {
for (var prop in b || (b = {}))
if (__hasOwnProp.call(b, prop))
__defNormalProp(a, prop, b[prop]);
if (__getOwnPropSymbols)
for (var prop of __getOwnPropSymbols(b)) {
if (__propIsEnum.call(b, prop))
__defNormalProp(a, prop, b[prop]);
}
return a;
};
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
var __async = (__this, __arguments, generator) => {
return new Promise((resolve, reject) => {
var fulfilled = (value) => {
try {
step(generator.next(value));
} catch (e) {
reject(e);
}
};
var rejected = (value) => {
try {
step(generator.throw(value));
} catch (e) {
reject(e);
}
};
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
step((generator = generator.apply(__this, __arguments)).next());
});
};
// src/index.ts
var src_exports = {};
__export(src_exports, {
AMNET_API_VERSION: () => AMNET_API_VERSION,
CARD_ID_REGEX: () => CARD_ID_REGEX,
GameId: () => GameId,
fetchServerInfo: () => fetchServerInfo,
generateCardNumber: () => generateCardNumber,
getGameName: () => getGameName,
performCardIn: () => performCardIn,
validateCardId: () => validateCardId
});
module.exports = __toCommonJS(src_exports);
// src/api.ts
var AMNET_API_VERSION = 1;
function performCardIn(server, request, signal) {
return __async(this, null, function* () {
try {
const response = yield fetch(`${new URL(server.serverAddress).origin}/amnet/signin`, {
method: "POST",
headers: {
"Content-Type": "application/json"
},
body: JSON.stringify(request),
signal
});
return response.ok;
} catch (e) {
return false;
}
});
}
function fetchServerInfo(serverAddress, abort) {
return __async(this, null, function* () {
try {
const response = yield fetch(`${new URL(serverAddress).origin}/amnet/info`, {
signal: abort
});
return __spreadProps(__spreadValues({}, yield response.json()), {
serverAddress
});
} catch (e) {
return null;
}
});
}
// src/card.ts
var CARD_ID_REGEX = /^(?:[0-9]{4} ?){5}$/i;
function generateCardNumber() {
let cardId = "";
while (true) {
const firstDigit = Math.floor(Math.random() * 10);
if (firstDigit !== 3) {
cardId = firstDigit.toString();
break;
}
}
for (let i = 0; i < 19; i++) {
cardId += Math.floor(Math.random() * 10).toString();
}
return cardId;
}
function validateCardId(id) {
return id[0] !== "3" && CARD_ID_REGEX.test(id);
}
// src/gameIds.ts
var GameId = /* @__PURE__ */ ((GameId2) => {
GameId2["IDAC"] = "SDGT";
GameId2["Chuni"] = "SDBT";
GameId2["Chusan"] = "SDHD";
GameId2["ONGEKI"] = "SDDT";
GameId2["maimaiDX"] = "SDEZ";
GameId2["DivaFT"] = "SBZV";
return GameId2;
})(GameId || {});
function getGameName(id) {
switch (id) {
case "SDGT" /* IDAC */:
return "Initial D The Arcade";
case "SDBT" /* Chuni */:
return "CHUNITHM";
case "SDHD" /* Chusan */:
return "CHUNITHM (Paradise Lost)";
case "SDDT" /* ONGEKI */:
return "O.N.G.E.K.I";
case "SDEZ" /* maimaiDX */:
return "maimai DX";
case "SBZV" /* DivaFT */:
return "Project DIVA Future Tone";
}
}
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {
AMNET_API_VERSION,
CARD_ID_REGEX,
GameId,
fetchServerInfo,
generateCardNumber,
getGameName,
performCardIn,
validateCardId
});
//# sourceMappingURL=index.js.map