react-native-adapty
Version:
Adapty React Native SDK
58 lines • 2.66 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.AdaptyPaywallCoder = void 0;
const tslib_1 = require("tslib");
const product_reference_1 = require("./product-reference");
const array_1 = require("./array");
const coder_1 = require("./coder");
const adapty_remote_config_1 = require("./adapty-remote-config");
const adapty_paywall_builder_1 = require("./adapty-paywall-builder");
class AdaptyPaywallCoder extends coder_1.Coder {
constructor() {
super(...arguments);
this.properties = {
abTestName: { key: 'ab_test_name', required: true, type: 'string' },
audienceName: { key: 'audience_name', required: true, type: 'string' },
placementId: { key: 'developer_id', required: true, type: 'string' },
instanceIdentity: { key: 'paywall_id', required: true, type: 'string' },
name: { key: 'paywall_name', required: true, type: 'string' },
products: {
key: 'products',
required: true,
type: 'array',
converter: new array_1.ArrayCoder(product_reference_1.ProductReferenceCoder),
},
remoteConfig: {
key: 'remote_config',
required: false,
type: 'object',
converter: new adapty_remote_config_1.AdaptyRemoteConfigCoder(),
},
revision: { key: 'revision', required: true, type: 'number' },
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 adapty_paywall_builder_1.AdaptyPaywallBuilderCoder(),
},
webPurchaseUrl: {
key: 'web_purchase_url',
required: false,
type: 'string',
},
payloadData: { key: 'payload_data', required: false, type: 'string' },
};
}
decode(data) {
const codablePart = super.decode(data);
return Object.assign(Object.assign({}, codablePart), { hasViewConfiguration: codablePart.paywallBuilder !== undefined });
}
encode(data) {
const { hasViewConfiguration } = data, codablePart = tslib_1.__rest(data, ["hasViewConfiguration"]);
return super.encode(codablePart);
}
}
exports.AdaptyPaywallCoder = AdaptyPaywallCoder;
//# sourceMappingURL=adapty-paywall.js.map
;