gplayapi-ts
Version:
Google Play API wrapper in TypeScript
82 lines • 3 kB
JavaScript
;
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __hasOwnProp = Object.prototype.hasOwnProperty;
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 library_exports = {};
__export(library_exports, {
LibraryEndpoint: () => LibraryEndpoint
});
module.exports = __toCommonJS(library_exports);
var import_errors = require("../../errors");
var import_constants = require("../constants");
class LibraryEndpoint {
constructor(doAuthedReq, getAppDetails) {
this.doAuthedReq = doAuthedReq;
this.getAppDetails = getAppDetails;
}
async getBuyResponse(packageName, version) {
const params = new URLSearchParams();
params.set("ot", "1");
params.set("doc", packageName);
params.set("vc", version.toString());
const payload = await this.doAuthedReq(`${import_constants.URL_PURCHASE}?${params.toString()}`, {
method: "POST"
});
if (!payload) {
throw new import_errors.GPNilPayloadError();
}
if (!payload.buyResponse) {
throw new import_errors.GPNilPayloadError("Buy response is missing");
}
return payload.buyResponse;
}
async getDeliveryResponse(packageName, version) {
const params = new URLSearchParams();
params.set("ot", "1");
params.set("doc", packageName);
params.set("vc", version.toString());
const payload = await this.doAuthedReq(`${import_constants.URL_DELIVERY}?${params.toString()}`, {
method: "GET"
});
if (!payload) {
throw new import_errors.GPNilPayloadError();
}
if (!payload.deliveryResponse) {
throw new import_errors.GPNilPayloadError("Delivery response is missing");
}
return payload.deliveryResponse;
}
async purchase(packageName, version) {
let actualVersion = version;
if (!actualVersion) {
const app = await this.getAppDetails(packageName);
actualVersion = app.versionCode;
}
await this.getBuyResponse(packageName, actualVersion);
const deliveryResponse = await this.getDeliveryResponse(packageName, actualVersion);
const appDeliveryData = deliveryResponse.appDeliveryData;
if (!appDeliveryData) {
throw new import_errors.GPMissingAppDeliveryDataError();
}
return appDeliveryData;
}
}
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {
LibraryEndpoint
});
//# sourceMappingURL=library.js.map