Files
ppc_amnet/amnet-shared/dist/index.mjs
T

130 lines
3.5 KiB
JavaScript

var __defProp = Object.defineProperty;
var __defProps = Object.defineProperties;
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
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 __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/api.ts
var AMNET_API_VERSION = 1;
var MIN_AMNET_API_VERSION = 1;
function performCardIn(server, request, signal) {
return __async(this, null, function* () {
if (server.apiVersion < MIN_AMNET_API_VERSION || server.apiVersion > AMNET_API_VERSION) {
throw new Error("Unsupported server API version");
}
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
});
if (!response.ok) {
return null;
}
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
function getGameName(id) {
switch (id == null ? void 0 : id.toUpperCase()) {
case "SDGT":
return "Initial D The Arcade";
case "SDHD":
case "SDBT":
return "CHUNITHM";
case "SDDT":
return "O.N.G.E.K.I.";
case "SDEZ":
return "maimai DX";
case "SBZV":
return "Project DIVA Future Tone";
default:
return null;
}
}
export {
AMNET_API_VERSION,
CARD_ID_REGEX,
MIN_AMNET_API_VERSION,
fetchServerInfo,
generateCardNumber,
getGameName,
performCardIn,
validateCardId
};
//# sourceMappingURL=index.mjs.map