UNPKG

react-native-qonversion

Version:

Qonversion provides full in-app purchases infrastructure, so you do not need to build your own server for receipt validation. Implement in-app subscriptions, validate user receipts, check subscription status, and provide access to your app features and co

70 lines 2.71 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const enums_1 = require("./enums"); class UserProperties { /** * List of all user properties. */ properties; /** * List of user properties, set for the Qonversion defined keys. * This is a subset of all {@link properties} list. * See {@link QonversionApi.setUserProperty}. */ definedProperties; /** * List of user properties, set for custom keys. * This is a subset of all {@link properties} list. * See {@link QonversionApi.setCustomUserProperty}. */ customProperties; /** * Map of all user properties. * This is a flattened version of the {@link properties} list as a key-value map. */ flatPropertiesMap; /** * Map of user properties, set for the Qonversion defined keys. * This is a flattened version of the {@link definedProperties} list as a key-value map. * See {@link QonversionApi.setUserProperty}. */ flatDefinedPropertiesMap; /** * Map of user properties, set for custom keys. * This is a flattened version of the {@link customProperties} list as a key-value map. * See {@link QonversionApi.setCustomUserProperty}. */ flatCustomPropertiesMap; constructor(properties) { this.properties = properties; this.definedProperties = properties.filter(property => property.definedKey !== enums_1.UserPropertyKey.CUSTOM); this.customProperties = properties.filter(property => property.definedKey === enums_1.UserPropertyKey.CUSTOM); this.flatPropertiesMap = new Map(); this.flatDefinedPropertiesMap = new Map(); this.flatCustomPropertiesMap = new Map(); properties.forEach(property => { this.flatPropertiesMap.set(property.key, property.value); if (property.definedKey == enums_1.UserPropertyKey.CUSTOM) { this.flatCustomPropertiesMap.set(property.key, property.value); } else { this.flatDefinedPropertiesMap.set(property.definedKey, property.value); } }); } /** * Searches for a property with the given property {@link key} in all properties list. */ getProperty(key) { return this.properties.find(userProperty => userProperty.key == key); } /** * Searches for a property with the given Qonversion defined property {@link key} * in defined properties list. */ getDefinedProperty(key) { return this.definedProperties.find(userProperty => userProperty.definedKey == key); } } exports.default = UserProperties; //# sourceMappingURL=UserProperties.js.map