@adapty/capacitor
Version:
Official Adapty SDK for Capacitor
75 lines • 3.22 kB
JavaScript
var __rest = (this && this.__rest) || function (s, e) {
var t = {};
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
t[p] = s[p];
if (s != null && typeof Object.getOwnPropertySymbols === "function")
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
t[p[i]] = s[p[i]];
}
return t;
};
import { ProductReferenceCoder } from './product-reference';
import { ArrayCoder } from './array';
import { Coder } from './coder';
import { AdaptyRemoteConfigCoder } from './adapty-remote-config';
import { AdaptyPaywallBuilderCoder } from './adapty-paywall-builder';
import { AdaptyPlacementCoder } from './adapty-placement';
export class AdaptyPaywallCoder extends Coder {
constructor() {
super(...arguments);
this.properties = {
placement: {
key: 'placement',
required: true,
type: 'object',
converter: new AdaptyPlacementCoder(),
},
id: { key: 'paywall_id', required: true, type: 'string' },
name: { key: 'paywall_name', required: true, type: 'string' },
products: {
key: 'products',
required: true,
type: 'array',
converter: new ArrayCoder(ProductReferenceCoder),
},
remoteConfig: {
key: 'remote_config',
required: false,
type: 'object',
converter: new AdaptyRemoteConfigCoder(),
},
variationId: { key: 'variation_id', required: true, type: 'string' },
version: { key: 'response_created_at', required: false, type: 'number' },
paywallBuilder: {
key: 'paywall_builder',
required: false,
type: 'object',
converter: new AdaptyPaywallBuilderCoder(),
},
webPurchaseUrl: {
key: 'web_purchase_url',
required: false,
type: 'string',
},
payloadData: { key: 'payload_data', required: false, type: 'string' },
requestLocale: { key: 'request_locale', required: true, type: 'string' },
};
}
decode(data) {
const codablePart = super.decode(data);
return Object.assign(Object.assign({}, codablePart), { hasViewConfiguration: codablePart.paywallBuilder !== undefined, productIdentifiers: codablePart.products.map(product => {
var _a;
return ({
vendorProductId: product.vendorId,
adaptyProductId: product.adaptyId,
basePlanId: (_a = product.android) === null || _a === void 0 ? void 0 : _a.basePlanId,
});
}) });
}
encode(data) {
const { hasViewConfiguration, productIdentifiers } = data, codablePart = __rest(data, ["hasViewConfiguration", "productIdentifiers"]);
return super.encode(codablePart);
}
}
//# sourceMappingURL=adapty-paywall.js.map