@react-native-firebase/analytics 23.7.0 → 23.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commonjs/index.js +38 -0
- package/dist/commonjs/index.js.map +1 -0
- package/dist/commonjs/modular.js +613 -0
- package/dist/commonjs/modular.js.map +1 -0
- package/dist/commonjs/namespaced.js +441 -0
- package/dist/commonjs/namespaced.js.map +1 -0
- package/dist/commonjs/package.json +1 -0
- package/dist/commonjs/struct.js +54 -0
- package/dist/commonjs/struct.js.map +1 -0
- package/dist/commonjs/structs.js +214 -0
- package/dist/commonjs/structs.js.map +1 -0
- package/dist/commonjs/types/analytics.js +79 -0
- package/dist/commonjs/types/analytics.js.map +1 -0
- package/dist/commonjs/types/web.js +2 -0
- package/dist/commonjs/types/web.js.map +1 -0
- package/dist/commonjs/version.js +9 -0
- package/dist/commonjs/version.js.map +1 -0
- package/dist/commonjs/web/RNFBAnalyticsModule.android.js +9 -0
- package/dist/commonjs/web/RNFBAnalyticsModule.android.js.map +1 -0
- package/dist/commonjs/web/RNFBAnalyticsModule.ios.js +9 -0
- package/dist/commonjs/web/RNFBAnalyticsModule.ios.js.map +1 -0
- package/dist/commonjs/web/RNFBAnalyticsModule.js +119 -0
- package/dist/commonjs/web/RNFBAnalyticsModule.js.map +1 -0
- package/dist/commonjs/web/api.js +294 -0
- package/dist/commonjs/web/api.js.map +1 -0
- package/{ios/RNFBAnalytics/RNFBAnalyticsModule.h → dist/module/index.js} +10 -6
- package/dist/module/index.js.map +1 -0
- package/{lib/modular/index.js → dist/module/modular.js} +43 -161
- package/dist/module/modular.js.map +1 -0
- package/dist/module/namespaced.js +438 -0
- package/dist/module/namespaced.js.map +1 -0
- package/dist/module/package.json +1 -0
- package/{lib → dist/module}/struct.js +12 -14
- package/dist/module/struct.js.map +1 -0
- package/dist/module/structs.js +210 -0
- package/dist/module/structs.js.map +1 -0
- package/dist/module/types/analytics.js +75 -0
- package/dist/module/types/analytics.js.map +1 -0
- package/dist/module/types/web.js +2 -0
- package/dist/module/types/web.js.map +1 -0
- package/dist/module/version.js +5 -0
- package/dist/module/version.js.map +1 -0
- package/dist/module/web/RNFBAnalyticsModule.android.js +6 -0
- package/dist/module/web/RNFBAnalyticsModule.android.js.map +1 -0
- package/dist/module/web/RNFBAnalyticsModule.ios.js +6 -0
- package/dist/module/web/RNFBAnalyticsModule.ios.js.map +1 -0
- package/{lib → dist/module}/web/RNFBAnalyticsModule.js +17 -21
- package/dist/module/web/RNFBAnalyticsModule.js.map +1 -0
- package/{lib → dist/module}/web/api.js +34 -77
- package/dist/module/web/api.js.map +1 -0
- package/dist/typescript/commonjs/lib/index.d.ts +5 -0
- package/dist/typescript/commonjs/lib/index.d.ts.map +1 -0
- package/dist/typescript/commonjs/lib/modular.d.ts +476 -0
- package/dist/typescript/commonjs/lib/modular.d.ts.map +1 -0
- package/dist/typescript/commonjs/lib/namespaced.d.ts +12 -0
- package/dist/typescript/commonjs/lib/namespaced.d.ts.map +1 -0
- package/dist/typescript/commonjs/lib/struct.d.ts +3 -0
- package/dist/typescript/commonjs/lib/struct.d.ts.map +1 -0
- package/dist/typescript/commonjs/lib/structs.d.ts +1155 -0
- package/dist/typescript/commonjs/lib/structs.d.ts.map +1 -0
- package/dist/typescript/commonjs/lib/types/analytics.d.ts +944 -0
- package/dist/typescript/commonjs/lib/types/analytics.d.ts.map +1 -0
- package/dist/typescript/commonjs/lib/types/web.d.ts +36 -0
- package/dist/typescript/commonjs/lib/types/web.d.ts.map +1 -0
- package/dist/typescript/commonjs/lib/version.d.ts +2 -0
- package/dist/typescript/commonjs/lib/version.d.ts.map +1 -0
- package/dist/typescript/commonjs/lib/web/RNFBAnalyticsModule.android.d.ts +3 -0
- package/dist/typescript/commonjs/lib/web/RNFBAnalyticsModule.android.d.ts.map +1 -0
- package/dist/typescript/commonjs/lib/web/RNFBAnalyticsModule.d.ts +9 -0
- package/dist/typescript/commonjs/lib/web/RNFBAnalyticsModule.d.ts.map +1 -0
- package/dist/typescript/commonjs/lib/web/RNFBAnalyticsModule.ios.d.ts +3 -0
- package/dist/typescript/commonjs/lib/web/RNFBAnalyticsModule.ios.d.ts.map +1 -0
- package/dist/typescript/commonjs/lib/web/api.d.ts +37 -0
- package/dist/typescript/commonjs/lib/web/api.d.ts.map +1 -0
- package/dist/typescript/commonjs/package.json +1 -0
- package/dist/typescript/module/lib/index.d.ts +5 -0
- package/dist/typescript/module/lib/index.d.ts.map +1 -0
- package/dist/typescript/module/lib/modular.d.ts +476 -0
- package/dist/typescript/module/lib/modular.d.ts.map +1 -0
- package/dist/typescript/module/lib/namespaced.d.ts +12 -0
- package/dist/typescript/module/lib/namespaced.d.ts.map +1 -0
- package/dist/typescript/module/lib/struct.d.ts +3 -0
- package/dist/typescript/module/lib/struct.d.ts.map +1 -0
- package/dist/typescript/module/lib/structs.d.ts +1155 -0
- package/dist/typescript/module/lib/structs.d.ts.map +1 -0
- package/dist/typescript/module/lib/types/analytics.d.ts +944 -0
- package/dist/typescript/module/lib/types/analytics.d.ts.map +1 -0
- package/dist/typescript/module/lib/types/web.d.ts +36 -0
- package/dist/typescript/module/lib/types/web.d.ts.map +1 -0
- package/dist/typescript/module/lib/version.d.ts +2 -0
- package/dist/typescript/module/lib/version.d.ts.map +1 -0
- package/dist/typescript/module/lib/web/RNFBAnalyticsModule.android.d.ts +3 -0
- package/dist/typescript/module/lib/web/RNFBAnalyticsModule.android.d.ts.map +1 -0
- package/dist/typescript/module/lib/web/RNFBAnalyticsModule.d.ts +9 -0
- package/dist/typescript/module/lib/web/RNFBAnalyticsModule.d.ts.map +1 -0
- package/dist/typescript/module/lib/web/RNFBAnalyticsModule.ios.d.ts +3 -0
- package/dist/typescript/module/lib/web/RNFBAnalyticsModule.ios.d.ts.map +1 -0
- package/dist/typescript/module/lib/web/api.d.ts +37 -0
- package/dist/typescript/module/lib/web/api.d.ts.map +1 -0
- package/dist/typescript/module/package.json +1 -0
- package/lib/index.ts +73 -0
- package/lib/modular.ts +1026 -0
- package/lib/{index.js → namespaced.ts} +145 -72
- package/lib/struct.ts +61 -0
- package/lib/{structs.js → structs.ts} +3 -3
- package/lib/types/analytics.ts +1078 -0
- package/lib/types/web.ts +56 -0
- package/lib/version.ts +2 -0
- package/lib/web/RNFBAnalyticsModule.android.ts +3 -0
- package/lib/web/RNFBAnalyticsModule.ios.ts +3 -0
- package/lib/web/RNFBAnalyticsModule.ts +135 -0
- package/lib/web/api.ts +366 -0
- package/package.json +61 -7
- package/CHANGELOG.md +0 -1085
- package/RNFBAnalytics.podspec +0 -71
- package/android/.editorconfig +0 -10
- package/android/build.gradle +0 -177
- package/android/lint.xml +0 -5
- package/android/settings.gradle +0 -1
- package/android/src/main/AndroidManifest.xml +0 -21
- package/android/src/main/java/io/invertase/firebase/analytics/UniversalFirebaseAnalyticsModule.java +0 -141
- package/android/src/reactnative/AndroidManifest.xml +0 -2
- package/android/src/reactnative/java/io/invertase/firebase/analytics/ReactNativeFirebaseAnalyticsModule.java +0 -213
- package/android/src/reactnative/java/io/invertase/firebase/analytics/ReactNativeFirebaseAnalyticsPackage.java +0 -41
- package/ios/RNFBAnalytics/RNFBAnalyticsModule.m +0 -268
- package/ios/RNFBAnalytics.xcodeproj/project.pbxproj +0 -349
- package/ios/RNFBAnalytics.xcodeproj/xcshareddata/IDETemplateMacros.plist +0 -24
- package/lib/index.d.ts +0 -1903
- package/lib/modular/index.d.ts +0 -1267
- package/lib/version.js +0 -2
- package/lib/web/RNFBAnalyticsModule.android.js +0 -2
- package/lib/web/RNFBAnalyticsModule.ios.js +0 -2
|
@@ -0,0 +1,438 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/*
|
|
4
|
+
* Copyright (c) 2016-present Invertase Limited & Contributors
|
|
5
|
+
*
|
|
6
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
7
|
+
* you may not use this library except in compliance with the License.
|
|
8
|
+
* You may obtain a copy of the License at
|
|
9
|
+
*
|
|
10
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
+
*
|
|
12
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
13
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
14
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
15
|
+
* See the License for the specific language governing permissions and
|
|
16
|
+
* limitations under the License.
|
|
17
|
+
*
|
|
18
|
+
*/
|
|
19
|
+
import { isAlphaNumericUnderscore, isE164PhoneNumber, isIOS, isNull, isNumber, isObject, isOneOf, isString, isUndefined } from '@react-native-firebase/app/lib/common';
|
|
20
|
+
import { createModuleNamespace, FirebaseModule, getFirebaseRoot } from '@react-native-firebase/app/lib/internal';
|
|
21
|
+
|
|
22
|
+
// Internal types are now available through module declarations in app package
|
|
23
|
+
import { setReactNativeModule } from '@react-native-firebase/app/lib/internal/nativeModule';
|
|
24
|
+
import { isBoolean } from '@react-native-firebase/app/lib/common';
|
|
25
|
+
import { validateStruct, validateCompound } from "./struct.js";
|
|
26
|
+
import { RNFBAnalyticsModule } from './web/RNFBAnalyticsModule';
|
|
27
|
+
import { version } from "./version.js";
|
|
28
|
+
import * as structs from "./structs.js";
|
|
29
|
+
const ReservedEventNames = ['ad_activeview', 'ad_click', 'ad_exposure',
|
|
30
|
+
// 'ad_impression', // manual ad_impression logging is allowed, See #6307
|
|
31
|
+
'ad_query', 'ad_reward', 'adunit_exposure', 'app_background', 'app_clear_data',
|
|
32
|
+
// 'app_exception',
|
|
33
|
+
'app_remove', 'app_store_refund', 'app_store_subscription_cancel', 'app_store_subscription_convert', 'app_store_subscription_renew', 'app_update', 'app_upgrade', 'dynamic_link_app_open', 'dynamic_link_app_update', 'dynamic_link_first_open', 'error', 'first_open', 'first_visit', 'in_app_purchase', 'notification_dismiss', 'notification_foreground', 'notification_open', 'notification_receive', 'os_update', 'session_start', 'session_start_with_rollout', 'user_engagement'];
|
|
34
|
+
const statics = {};
|
|
35
|
+
const namespace = 'analytics';
|
|
36
|
+
const nativeModuleName = 'RNFBAnalyticsModule';
|
|
37
|
+
class FirebaseAnalyticsModule extends FirebaseModule {
|
|
38
|
+
logEvent(name, params = {}, options = {
|
|
39
|
+
global: false
|
|
40
|
+
}) {
|
|
41
|
+
if (!isString(name)) {
|
|
42
|
+
throw new Error("firebase.analytics().logEvent(*) 'name' expected a string value.");
|
|
43
|
+
}
|
|
44
|
+
if (!isUndefined(params) && !isObject(params)) {
|
|
45
|
+
throw new Error("firebase.analytics().logEvent(_, *) 'params' expected an object value.");
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
// check name is not a reserved event name
|
|
49
|
+
if (isOneOf(name, ReservedEventNames)) {
|
|
50
|
+
throw new Error(`firebase.analytics().logEvent(*) 'name' the event name '${name}' is reserved and can not be used.`);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
// name format validation
|
|
54
|
+
if (!isAlphaNumericUnderscore(name) || name.length > 40) {
|
|
55
|
+
throw new Error(`firebase.analytics().logEvent(*) 'name' invalid event name '${name}'. Names should contain 1 to 40 alphanumeric characters or underscores.`);
|
|
56
|
+
}
|
|
57
|
+
if (!isUndefined(options)) {
|
|
58
|
+
if (!isObject(options)) {
|
|
59
|
+
throw new Error("firebase.analytics().logEvent(_, _, *) 'options' expected an object value.");
|
|
60
|
+
}
|
|
61
|
+
if (!isUndefined(options.global) && !isBoolean(options.global)) {
|
|
62
|
+
throw new Error("'options.global' property expected a boolean.");
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
return this.native.logEvent(name, params);
|
|
66
|
+
}
|
|
67
|
+
setAnalyticsCollectionEnabled(enabled) {
|
|
68
|
+
if (!isBoolean(enabled)) {
|
|
69
|
+
throw new Error("firebase.analytics().setAnalyticsCollectionEnabled(*) 'enabled' expected a boolean value.");
|
|
70
|
+
}
|
|
71
|
+
return this.native.setAnalyticsCollectionEnabled(enabled);
|
|
72
|
+
}
|
|
73
|
+
setSessionTimeoutDuration(milliseconds = 1800000) {
|
|
74
|
+
if (!isNumber(milliseconds)) {
|
|
75
|
+
throw new Error("firebase.analytics().setSessionTimeoutDuration(*) 'milliseconds' expected a number value.");
|
|
76
|
+
}
|
|
77
|
+
if (milliseconds < 0) {
|
|
78
|
+
throw new Error("firebase.analytics().setSessionTimeoutDuration(*) 'milliseconds' expected a positive number value.");
|
|
79
|
+
}
|
|
80
|
+
return this.native.setSessionTimeoutDuration(milliseconds);
|
|
81
|
+
}
|
|
82
|
+
getAppInstanceId() {
|
|
83
|
+
return this.native.getAppInstanceId();
|
|
84
|
+
}
|
|
85
|
+
getSessionId() {
|
|
86
|
+
return this.native.getSessionId();
|
|
87
|
+
}
|
|
88
|
+
setUserId(id) {
|
|
89
|
+
if (!isNull(id) && !isString(id)) {
|
|
90
|
+
throw new Error("firebase.analytics().setUserId(*) 'id' expected a string value.");
|
|
91
|
+
}
|
|
92
|
+
return this.native.setUserId(id);
|
|
93
|
+
}
|
|
94
|
+
setUserProperty(name, value) {
|
|
95
|
+
if (!isString(name)) {
|
|
96
|
+
throw new Error("firebase.analytics().setUserProperty(*) 'name' expected a string value.");
|
|
97
|
+
}
|
|
98
|
+
if (value !== null && !isString(value)) {
|
|
99
|
+
throw new Error("firebase.analytics().setUserProperty(_, *) 'value' expected a string value.");
|
|
100
|
+
}
|
|
101
|
+
return this.native.setUserProperty(name, value);
|
|
102
|
+
}
|
|
103
|
+
setUserProperties(properties, options = {
|
|
104
|
+
global: false
|
|
105
|
+
}) {
|
|
106
|
+
if (!isObject(properties)) {
|
|
107
|
+
throw new Error("firebase.analytics().setUserProperties(*) 'properties' expected an object of key/value pairs.");
|
|
108
|
+
}
|
|
109
|
+
if (!isUndefined(options)) {
|
|
110
|
+
if (!isObject(options)) {
|
|
111
|
+
throw new Error("firebase.analytics().logEvent(_, _, *) 'options' expected an object value.");
|
|
112
|
+
}
|
|
113
|
+
if (!isUndefined(options.global) && !isBoolean(options.global)) {
|
|
114
|
+
throw new Error("'options.global' property expected a boolean.");
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
const entries = Object.entries(properties);
|
|
118
|
+
for (let i = 0; i < entries.length; i++) {
|
|
119
|
+
const entry = entries[i];
|
|
120
|
+
if (!entry) continue;
|
|
121
|
+
const [key, value] = entry;
|
|
122
|
+
if (!isNull(value) && !isString(value)) {
|
|
123
|
+
throw new Error(`firebase.analytics().setUserProperties(*) 'properties' value for parameter '${key}' is invalid, expected a string.`);
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
return this.native.setUserProperties(properties);
|
|
127
|
+
}
|
|
128
|
+
resetAnalyticsData() {
|
|
129
|
+
return this.native.resetAnalyticsData();
|
|
130
|
+
}
|
|
131
|
+
setConsent(consentSettings) {
|
|
132
|
+
if (!isObject(consentSettings)) {
|
|
133
|
+
throw new Error('firebase.analytics().setConsent(*): The supplied arg must be an object of key/values.');
|
|
134
|
+
}
|
|
135
|
+
const entries = Object.entries(consentSettings);
|
|
136
|
+
for (let i = 0; i < entries.length; i++) {
|
|
137
|
+
const entry = entries[i];
|
|
138
|
+
if (!entry) continue;
|
|
139
|
+
const [key, value] = entry;
|
|
140
|
+
if (!isBoolean(value)) {
|
|
141
|
+
throw new Error(`firebase.analytics().setConsent(*) 'consentSettings' value for parameter '${key}' is invalid, expected a boolean.`);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
return this.native.setConsent(consentSettings);
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
/** -------------------
|
|
148
|
+
* EVENTS
|
|
149
|
+
* -------------------- */
|
|
150
|
+
logAddPaymentInfo(object) {
|
|
151
|
+
if (!isObject(object)) {
|
|
152
|
+
throw new Error('firebase.analytics().logAddPaymentInfo(*): The supplied arg must be an object of key/values.');
|
|
153
|
+
}
|
|
154
|
+
validateCompound(object, 'value', 'currency', 'firebase.analytics().logAddPaymentInfo(*):');
|
|
155
|
+
return this.logEvent('add_payment_info', validateStruct(object, structs.AddPaymentInfo, 'firebase.analytics().logAddPaymentInfo(*):'));
|
|
156
|
+
}
|
|
157
|
+
logScreenView(object) {
|
|
158
|
+
if (!isObject(object)) {
|
|
159
|
+
throw new Error('firebase.analytics().logScreenView(*): The supplied arg must be an object of key/values.');
|
|
160
|
+
}
|
|
161
|
+
return this.logEvent('screen_view', validateStruct(object, structs.ScreenView, 'firebase.analytics().logScreenView(*):'));
|
|
162
|
+
}
|
|
163
|
+
logAddShippingInfo(object = {}) {
|
|
164
|
+
if (!isObject(object)) {
|
|
165
|
+
throw new Error('firebase.analytics().logAddShippingInfo(*): The supplied arg must be an object of key/values.');
|
|
166
|
+
}
|
|
167
|
+
validateCompound(object, 'value', 'currency', 'firebase.analytics().logAddShippingInfo(*):');
|
|
168
|
+
return this.logEvent('add_shipping_info', validateStruct(object, structs.AddShippingInfo, 'firebase.analytics().logAddShippingInfo(*):'));
|
|
169
|
+
}
|
|
170
|
+
logAddToCart(object = {}) {
|
|
171
|
+
if (!isObject(object)) {
|
|
172
|
+
throw new Error('firebase.analytics().logAddToCart(*): The supplied arg must be an object of key/values.');
|
|
173
|
+
}
|
|
174
|
+
validateCompound(object, 'value', 'currency', 'firebase.analytics().logAddToCart(*):');
|
|
175
|
+
return this.logEvent('add_to_cart', validateStruct(object, structs.AddToCart, 'firebase.analytics().logAddToCart(*):'));
|
|
176
|
+
}
|
|
177
|
+
logAddToWishlist(object = {}) {
|
|
178
|
+
if (!isObject(object)) {
|
|
179
|
+
throw new Error('firebase.analytics().logAddToWishlist(*): The supplied arg must be an object of key/values.');
|
|
180
|
+
}
|
|
181
|
+
validateCompound(object, 'value', 'currency', 'firebase.analytics().logAddToWishlist(*):');
|
|
182
|
+
return this.logEvent('add_to_wishlist', validateStruct(object, structs.AddToWishlist, 'firebase.analytics().logAddToWishlist(*):'));
|
|
183
|
+
}
|
|
184
|
+
logAppOpen() {
|
|
185
|
+
return this.logEvent('app_open');
|
|
186
|
+
}
|
|
187
|
+
logBeginCheckout(object = {}) {
|
|
188
|
+
if (!isObject(object)) {
|
|
189
|
+
throw new Error('firebase.analytics().logBeginCheckout(*): The supplied arg must be an object of key/values.');
|
|
190
|
+
}
|
|
191
|
+
validateCompound(object, 'value', 'currency', 'firebase.analytics().logBeginCheckout(*):');
|
|
192
|
+
return this.logEvent('begin_checkout', validateStruct(object, structs.BeginCheckout, 'firebase.analytics().logBeginCheckout(*):'));
|
|
193
|
+
}
|
|
194
|
+
logCampaignDetails(object) {
|
|
195
|
+
if (!isObject(object)) {
|
|
196
|
+
throw new Error('firebase.analytics().logCampaignDetails(*): The supplied arg must be an object of key/values.');
|
|
197
|
+
}
|
|
198
|
+
return this.logEvent('campaign_details', validateStruct(object, structs.CampaignDetails, 'firebase.analytics().logCampaignDetails(*):'));
|
|
199
|
+
}
|
|
200
|
+
logEarnVirtualCurrency(object) {
|
|
201
|
+
if (!isObject(object)) {
|
|
202
|
+
throw new Error('firebase.analytics().logEarnVirtualCurrency(*): The supplied arg must be an object of key/values.');
|
|
203
|
+
}
|
|
204
|
+
return this.logEvent('earn_virtual_currency', validateStruct(object, structs.EarnVirtualCurrency, 'firebase.analytics().logEarnVirtualCurrency(*):'));
|
|
205
|
+
}
|
|
206
|
+
logGenerateLead(object = {}) {
|
|
207
|
+
if (!isObject(object)) {
|
|
208
|
+
throw new Error('firebase.analytics().logGenerateLead(*): The supplied arg must be an object of key/values.');
|
|
209
|
+
}
|
|
210
|
+
validateCompound(object, 'value', 'currency', 'firebase.analytics().logGenerateLead(*):');
|
|
211
|
+
return this.logEvent('generate_lead', validateStruct(object, structs.GenerateLead, 'firebase.analytics().logGenerateLead(*):'));
|
|
212
|
+
}
|
|
213
|
+
logJoinGroup(object) {
|
|
214
|
+
if (!isObject(object)) {
|
|
215
|
+
throw new Error('firebase.analytics().logJoinGroup(*): The supplied arg must be an object of key/values.');
|
|
216
|
+
}
|
|
217
|
+
return this.logEvent('join_group', validateStruct(object, structs.JoinGroup, 'firebase.analytics().logJoinGroup(*):'));
|
|
218
|
+
}
|
|
219
|
+
logLevelEnd(object) {
|
|
220
|
+
if (!isObject(object)) {
|
|
221
|
+
throw new Error('firebase.analytics().logLevelEnd(*): The supplied arg must be an object of key/values.');
|
|
222
|
+
}
|
|
223
|
+
return this.logEvent('level_end', validateStruct(object, structs.LevelEnd, 'firebase.analytics().logLevelEnd(*):'));
|
|
224
|
+
}
|
|
225
|
+
logLevelStart(object) {
|
|
226
|
+
if (!isObject(object)) {
|
|
227
|
+
throw new Error('firebase.analytics().logLevelStart(*): The supplied arg must be an object of key/values.');
|
|
228
|
+
}
|
|
229
|
+
return this.logEvent('level_start', validateStruct(object, structs.LevelStart, 'firebase.analytics().logLevelStart(*):'));
|
|
230
|
+
}
|
|
231
|
+
logLevelUp(object) {
|
|
232
|
+
if (!isObject(object)) {
|
|
233
|
+
throw new Error('firebase.analytics().logLevelUp(*): The supplied arg must be an object of key/values.');
|
|
234
|
+
}
|
|
235
|
+
return this.logEvent('level_up', validateStruct(object, structs.LevelUp, 'firebase.analytics().logLevelUp(*):'));
|
|
236
|
+
}
|
|
237
|
+
logLogin(object) {
|
|
238
|
+
if (!isObject(object)) {
|
|
239
|
+
throw new Error('firebase.analytics().logLogin(*): The supplied arg must be an object of key/values.');
|
|
240
|
+
}
|
|
241
|
+
return this.logEvent('login', validateStruct(object, structs.Login, 'firebase.analytics().logLogin(*):'));
|
|
242
|
+
}
|
|
243
|
+
logPostScore(object) {
|
|
244
|
+
if (!isObject(object)) {
|
|
245
|
+
throw new Error('firebase.analytics().logPostScore(*): The supplied arg must be an object of key/values.');
|
|
246
|
+
}
|
|
247
|
+
return this.logEvent('post_score', validateStruct(object, structs.PostScore, 'firebase.analytics().logPostScore(*):'));
|
|
248
|
+
}
|
|
249
|
+
logSelectContent(object) {
|
|
250
|
+
if (!isObject(object)) {
|
|
251
|
+
throw new Error('firebase.analytics().logSelectContent(*): The supplied arg must be an object of key/values.');
|
|
252
|
+
}
|
|
253
|
+
return this.logEvent('select_content', validateStruct(object, structs.SelectContent, 'firebase.analytics().logSelectContent(*):'));
|
|
254
|
+
}
|
|
255
|
+
logPurchase(object = {}) {
|
|
256
|
+
if (!isObject(object)) {
|
|
257
|
+
throw new Error('firebase.analytics().logPurchase(*): The supplied arg must be an object of key/values.');
|
|
258
|
+
}
|
|
259
|
+
validateCompound(object, 'value', 'currency', 'firebase.analytics().logPurchase(*):');
|
|
260
|
+
return this.logEvent('purchase', validateStruct(object, structs.Purchase, 'firebase.analytics().logPurchaseEvent(*):'));
|
|
261
|
+
}
|
|
262
|
+
logRefund(object = {}) {
|
|
263
|
+
if (!isObject(object)) {
|
|
264
|
+
throw new Error('firebase.analytics().logRefund(*): The supplied arg must be an object of key/values.');
|
|
265
|
+
}
|
|
266
|
+
validateCompound(object, 'value', 'currency', 'firebase.analytics().logRefund(*):');
|
|
267
|
+
return this.logEvent('refund', validateStruct(object, structs.Refund, 'firebase.analytics().logRefund(*):'));
|
|
268
|
+
}
|
|
269
|
+
logRemoveFromCart(object = {}) {
|
|
270
|
+
if (!isObject(object)) {
|
|
271
|
+
throw new Error('firebase.analytics().logRemoveFromCart(*): The supplied arg must be an object of key/values.');
|
|
272
|
+
}
|
|
273
|
+
validateCompound(object, 'value', 'currency', 'firebase.analytics().logRemoveFromCart(*):');
|
|
274
|
+
return this.logEvent('remove_from_cart', validateStruct(object, structs.RemoveFromCart, 'firebase.analytics().logRemoveFromCart(*):'));
|
|
275
|
+
}
|
|
276
|
+
logSearch(object) {
|
|
277
|
+
if (!isObject(object)) {
|
|
278
|
+
throw new Error('firebase.analytics().logSearch(*): The supplied arg must be an object of key/values.');
|
|
279
|
+
}
|
|
280
|
+
return this.logEvent('search', validateStruct(object, structs.Search, 'firebase.analytics().logSearch(*):'));
|
|
281
|
+
}
|
|
282
|
+
logSelectItem(object) {
|
|
283
|
+
if (!isObject(object)) {
|
|
284
|
+
throw new Error('firebase.analytics().logSelectItem(*): The supplied arg must be an object of key/values.');
|
|
285
|
+
}
|
|
286
|
+
return this.logEvent('select_item', validateStruct(object, structs.SelectItem, 'firebase.analytics().logSelectItem(*):'));
|
|
287
|
+
}
|
|
288
|
+
logSetCheckoutOption(object) {
|
|
289
|
+
if (!isObject(object)) {
|
|
290
|
+
throw new Error('firebase.analytics().logSetCheckoutOption(*): The supplied arg must be an object of key/values.');
|
|
291
|
+
}
|
|
292
|
+
return this.logEvent('set_checkout_option', validateStruct(object, structs.SetCheckoutOption, 'firebase.analytics().logSetCheckoutOption(*):'));
|
|
293
|
+
}
|
|
294
|
+
logSelectPromotion(object) {
|
|
295
|
+
if (!isObject(object)) {
|
|
296
|
+
throw new Error('firebase.analytics().logSelectPromotion(*): The supplied arg must be an object of key/values.');
|
|
297
|
+
}
|
|
298
|
+
return this.logEvent('select_promotion', validateStruct(object, structs.SelectPromotion, 'firebase.analytics().logSelectPromotion(*):'));
|
|
299
|
+
}
|
|
300
|
+
logShare(object) {
|
|
301
|
+
if (!isObject(object)) {
|
|
302
|
+
throw new Error('firebase.analytics().logShare(*): The supplied arg must be an object of key/values.');
|
|
303
|
+
}
|
|
304
|
+
return this.logEvent('share', validateStruct(object, structs.Share, 'firebase.analytics().logShare(*):'));
|
|
305
|
+
}
|
|
306
|
+
logSignUp(object) {
|
|
307
|
+
if (!isObject(object)) {
|
|
308
|
+
throw new Error('firebase.analytics().logSignUp(*): The supplied arg must be an object of key/values.');
|
|
309
|
+
}
|
|
310
|
+
return this.logEvent('sign_up', validateStruct(object, structs.SignUp, 'firebase.analytics().logSignUp(*):'));
|
|
311
|
+
}
|
|
312
|
+
logSpendVirtualCurrency(object) {
|
|
313
|
+
if (!isObject(object)) {
|
|
314
|
+
throw new Error('firebase.analytics().logSpendVirtualCurrency(*): The supplied arg must be an object of key/values.');
|
|
315
|
+
}
|
|
316
|
+
return this.logEvent('spend_virtual_currency', validateStruct(object, structs.SpendVirtualCurrency, 'firebase.analytics().logSpendVirtualCurrency(*):'));
|
|
317
|
+
}
|
|
318
|
+
logTutorialBegin() {
|
|
319
|
+
return this.logEvent('tutorial_begin');
|
|
320
|
+
}
|
|
321
|
+
logTutorialComplete() {
|
|
322
|
+
return this.logEvent('tutorial_complete');
|
|
323
|
+
}
|
|
324
|
+
logUnlockAchievement(object) {
|
|
325
|
+
if (!isObject(object)) {
|
|
326
|
+
throw new Error('firebase.analytics().logUnlockAchievement(*): The supplied arg must be an object of key/values.');
|
|
327
|
+
}
|
|
328
|
+
return this.logEvent('unlock_achievement', validateStruct(object, structs.UnlockAchievement, 'firebase.analytics().logUnlockAchievement(*):'));
|
|
329
|
+
}
|
|
330
|
+
logViewCart(object = {}) {
|
|
331
|
+
if (!isObject(object)) {
|
|
332
|
+
throw new Error('firebase.analytics().logViewCart(*): The supplied arg must be an object of key/values.');
|
|
333
|
+
}
|
|
334
|
+
validateCompound(object, 'value', 'currency', 'firebase.analytics().logViewCart(*):');
|
|
335
|
+
return this.logEvent('view_cart', validateStruct(object, structs.ViewCart, 'firebase.analytics().logViewCart(*):'));
|
|
336
|
+
}
|
|
337
|
+
logViewItem(object = {}) {
|
|
338
|
+
if (!isObject(object)) {
|
|
339
|
+
throw new Error('firebase.analytics().logViewItem(*): The supplied arg must be an object of key/values.');
|
|
340
|
+
}
|
|
341
|
+
validateCompound(object, 'value', 'currency', 'firebase.analytics().logViewItem(*):');
|
|
342
|
+
return this.logEvent('view_item', validateStruct(object, structs.ViewItem, 'firebase.analytics().logViewItem(*):'));
|
|
343
|
+
}
|
|
344
|
+
logViewItemList(object = {}) {
|
|
345
|
+
if (!isObject(object)) {
|
|
346
|
+
throw new Error('firebase.analytics().logViewItemList(*): The supplied arg must be an object of key/values.');
|
|
347
|
+
}
|
|
348
|
+
return this.logEvent('view_item_list', validateStruct(object, structs.ViewItemList, 'firebase.analytics().logViewItemList(*):'));
|
|
349
|
+
}
|
|
350
|
+
logViewPromotion(object = {}) {
|
|
351
|
+
if (!isObject(object)) {
|
|
352
|
+
throw new Error('firebase.analytics().logViewPromotion(*): The supplied arg must be an object of key/values.');
|
|
353
|
+
}
|
|
354
|
+
return this.logEvent('view_promotion', validateStruct(object, structs.ViewPromotion, 'firebase.analytics().logViewPromotion(*):'));
|
|
355
|
+
}
|
|
356
|
+
/**
|
|
357
|
+
* Unsupported in "Enhanced Ecommerce reports":
|
|
358
|
+
* https://firebase.google.com/docs/reference/android/com/google/firebase/analytics/FirebaseAnalytics.Event#public-static-final-string-view_search_results
|
|
359
|
+
*/
|
|
360
|
+
logViewSearchResults(object) {
|
|
361
|
+
if (!isObject(object)) {
|
|
362
|
+
throw new Error('firebase.analytics().logViewSearchResults(*): The supplied arg must be an object of key/values.');
|
|
363
|
+
}
|
|
364
|
+
return this.logEvent('view_search_results', validateStruct(object, structs.ViewSearchResults, 'firebase.analytics().logViewSearchResults(*):'));
|
|
365
|
+
}
|
|
366
|
+
setDefaultEventParameters(params) {
|
|
367
|
+
if (!isObject(params) && !isNull(params) && !isUndefined(params)) {
|
|
368
|
+
throw new Error("firebase.analytics().setDefaultEventParameters(*) 'params' expected an object value when it is defined.");
|
|
369
|
+
}
|
|
370
|
+
return this.native.setDefaultEventParameters(params);
|
|
371
|
+
}
|
|
372
|
+
initiateOnDeviceConversionMeasurementWithEmailAddress(emailAddress) {
|
|
373
|
+
if (!isString(emailAddress)) {
|
|
374
|
+
throw new Error("firebase.analytics().initiateOnDeviceConversionMeasurementWithEmailAddress(*) 'emailAddress' expected a string value.");
|
|
375
|
+
}
|
|
376
|
+
if (!isIOS) {
|
|
377
|
+
return Promise.resolve();
|
|
378
|
+
}
|
|
379
|
+
return this.native.initiateOnDeviceConversionMeasurementWithEmailAddress(emailAddress);
|
|
380
|
+
}
|
|
381
|
+
initiateOnDeviceConversionMeasurementWithHashedEmailAddress(hashedEmailAddress) {
|
|
382
|
+
if (!isString(hashedEmailAddress)) {
|
|
383
|
+
throw new Error("firebase.analytics().initiateOnDeviceConversionMeasurementWithHashedEmailAddress(*) 'hashedEmailAddress' expected a string value.");
|
|
384
|
+
}
|
|
385
|
+
if (!isIOS) {
|
|
386
|
+
return Promise.resolve();
|
|
387
|
+
}
|
|
388
|
+
return this.native.initiateOnDeviceConversionMeasurementWithHashedEmailAddress(hashedEmailAddress);
|
|
389
|
+
}
|
|
390
|
+
initiateOnDeviceConversionMeasurementWithPhoneNumber(phoneNumber) {
|
|
391
|
+
if (!isE164PhoneNumber(phoneNumber)) {
|
|
392
|
+
throw new Error("firebase.analytics().initiateOnDeviceConversionMeasurementWithPhoneNumber(*) 'phoneNumber' expected a string value in E.164 format.");
|
|
393
|
+
}
|
|
394
|
+
if (!isIOS) {
|
|
395
|
+
return Promise.resolve();
|
|
396
|
+
}
|
|
397
|
+
return this.native.initiateOnDeviceConversionMeasurementWithPhoneNumber(phoneNumber);
|
|
398
|
+
}
|
|
399
|
+
initiateOnDeviceConversionMeasurementWithHashedPhoneNumber(hashedPhoneNumber) {
|
|
400
|
+
if (isE164PhoneNumber(hashedPhoneNumber)) {
|
|
401
|
+
throw new Error("firebase.analytics().initiateOnDeviceConversionMeasurementWithHashedPhoneNumber(*) 'hashedPhoneNumber' expected a sha256-hashed value of a phone number in E.164 format.");
|
|
402
|
+
}
|
|
403
|
+
if (!isString(hashedPhoneNumber)) {
|
|
404
|
+
throw new Error("firebase.analytics().initiateOnDeviceConversionMeasurementWithHashedPhoneNumber(*) 'hashedPhoneNumber' expected a string value.");
|
|
405
|
+
}
|
|
406
|
+
if (!isIOS) {
|
|
407
|
+
return Promise.resolve();
|
|
408
|
+
}
|
|
409
|
+
return this.native.initiateOnDeviceConversionMeasurementWithHashedPhoneNumber(hashedPhoneNumber);
|
|
410
|
+
}
|
|
411
|
+
}
|
|
412
|
+
|
|
413
|
+
// import { SDK_VERSION } from '@react-native-firebase/analytics';
|
|
414
|
+
export const SDK_VERSION = version;
|
|
415
|
+
|
|
416
|
+
// import analytics from '@react-native-firebase/analytics';
|
|
417
|
+
// analytics().logEvent(...);
|
|
418
|
+
|
|
419
|
+
// import analytics, { firebase } from '@react-native-firebase/analytics';
|
|
420
|
+
// analytics().logEvent(...);
|
|
421
|
+
// firebase.analytics().logEvent(...);
|
|
422
|
+
|
|
423
|
+
const analyticsNamespace = createModuleNamespace({
|
|
424
|
+
statics,
|
|
425
|
+
version,
|
|
426
|
+
namespace,
|
|
427
|
+
nativeModuleName,
|
|
428
|
+
nativeEvents: false,
|
|
429
|
+
hasMultiAppSupport: false,
|
|
430
|
+
hasCustomUrlOrRegionSupport: false,
|
|
431
|
+
ModuleClass: FirebaseAnalyticsModule
|
|
432
|
+
});
|
|
433
|
+
export default analyticsNamespace;
|
|
434
|
+
|
|
435
|
+
// Register the interop module for non-native platforms.
|
|
436
|
+
setReactNativeModule(nativeModuleName, RNFBAnalyticsModule);
|
|
437
|
+
export const firebase = getFirebaseRoot();
|
|
438
|
+
//# sourceMappingURL=namespaced.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["isAlphaNumericUnderscore","isE164PhoneNumber","isIOS","isNull","isNumber","isObject","isOneOf","isString","isUndefined","createModuleNamespace","FirebaseModule","getFirebaseRoot","setReactNativeModule","isBoolean","validateStruct","validateCompound","RNFBAnalyticsModule","version","structs","ReservedEventNames","statics","namespace","nativeModuleName","FirebaseAnalyticsModule","logEvent","name","params","options","global","Error","length","native","setAnalyticsCollectionEnabled","enabled","setSessionTimeoutDuration","milliseconds","getAppInstanceId","getSessionId","setUserId","id","setUserProperty","value","setUserProperties","properties","entries","Object","i","entry","key","resetAnalyticsData","setConsent","consentSettings","logAddPaymentInfo","object","AddPaymentInfo","logScreenView","ScreenView","logAddShippingInfo","AddShippingInfo","logAddToCart","AddToCart","logAddToWishlist","AddToWishlist","logAppOpen","logBeginCheckout","BeginCheckout","logCampaignDetails","CampaignDetails","logEarnVirtualCurrency","EarnVirtualCurrency","logGenerateLead","GenerateLead","logJoinGroup","JoinGroup","logLevelEnd","LevelEnd","logLevelStart","LevelStart","logLevelUp","LevelUp","logLogin","Login","logPostScore","PostScore","logSelectContent","SelectContent","logPurchase","Purchase","logRefund","Refund","logRemoveFromCart","RemoveFromCart","logSearch","Search","logSelectItem","SelectItem","logSetCheckoutOption","SetCheckoutOption","logSelectPromotion","SelectPromotion","logShare","Share","logSignUp","SignUp","logSpendVirtualCurrency","SpendVirtualCurrency","logTutorialBegin","logTutorialComplete","logUnlockAchievement","UnlockAchievement","logViewCart","ViewCart","logViewItem","ViewItem","logViewItemList","ViewItemList","logViewPromotion","ViewPromotion","logViewSearchResults","ViewSearchResults","setDefaultEventParameters","initiateOnDeviceConversionMeasurementWithEmailAddress","emailAddress","Promise","resolve","initiateOnDeviceConversionMeasurementWithHashedEmailAddress","hashedEmailAddress","initiateOnDeviceConversionMeasurementWithPhoneNumber","phoneNumber","initiateOnDeviceConversionMeasurementWithHashedPhoneNumber","hashedPhoneNumber","SDK_VERSION","analyticsNamespace","nativeEvents","hasMultiAppSupport","hasCustomUrlOrRegionSupport","ModuleClass","firebase"],"sourceRoot":"../../lib","sources":["namespaced.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SACEA,wBAAwB,EACxBC,iBAAiB,EACjBC,KAAK,EACLC,MAAM,EACNC,QAAQ,EACRC,QAAQ,EACRC,OAAO,EACPC,QAAQ,EACRC,WAAW,QACN,uCAAuC;AAI9C,SACEC,qBAAqB,EACrBC,cAAc,EACdC,eAAe,QACV,yCAAyC;;AAEhD;AACA,SAASC,oBAAoB,QAAQ,sDAAsD;AAC3F,SAASC,SAAS,QAAQ,uCAAuC;AAEjE,SAASC,cAAc,EAAEC,gBAAgB,QAAQ,aAAU;AAC3D,SAASC,mBAAmB,QAAQ,2BAA2B;AAC/D,SAASC,OAAO,QAAQ,cAAW;AACnC,OAAO,KAAKC,OAAO,MAAM,cAAW;AAwCpC,MAAMC,kBAAqC,GAAG,CAC5C,eAAe,EACf,UAAU,EACV,aAAa;AACb;AACA,UAAU,EACV,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB;AAChB;AACA,YAAY,EACZ,kBAAkB,EAClB,+BAA+B,EAC/B,gCAAgC,EAChC,8BAA8B,EAC9B,YAAY,EACZ,aAAa,EACb,uBAAuB,EACvB,yBAAyB,EACzB,yBAAyB,EACzB,OAAO,EACP,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,sBAAsB,EACtB,yBAAyB,EACzB,mBAAmB,EACnB,sBAAsB,EACtB,WAAW,EACX,eAAe,EACf,4BAA4B,EAC5B,iBAAiB,CACT;AAEV,MAAMC,OAAyB,GAAG,CAAC,CAAC;AAEpC,MAAMC,SAAS,GAAG,WAAW;AAE7B,MAAMC,gBAAgB,GAAG,qBAAqB;AAE9C,MAAMC,uBAAuB,SAASb,cAAc,CAAC;EACnDc,QAAQA,CACNC,IAAY,EACZC,MAA8B,GAAG,CAAC,CAAC,EACnCC,OAA6B,GAAG;IAAEC,MAAM,EAAE;EAAM,CAAC,EAClC;IACf,IAAI,CAACrB,QAAQ,CAACkB,IAAI,CAAC,EAAE;MACnB,MAAM,IAAII,KAAK,CAAC,kEAAkE,CAAC;IACrF;IAEA,IAAI,CAACrB,WAAW,CAACkB,MAAM,CAAC,IAAI,CAACrB,QAAQ,CAACqB,MAAM,CAAC,EAAE;MAC7C,MAAM,IAAIG,KAAK,CAAC,wEAAwE,CAAC;IAC3F;;IAEA;IACA,IAAIvB,OAAO,CAACmB,IAAI,EAAEN,kBAA2B,CAAC,EAAE;MAC9C,MAAM,IAAIU,KAAK,CACb,2DAA2DJ,IAAI,oCACjE,CAAC;IACH;;IAEA;IACA,IAAI,CAACzB,wBAAwB,CAACyB,IAAI,CAAC,IAAIA,IAAI,CAACK,MAAM,GAAG,EAAE,EAAE;MACvD,MAAM,IAAID,KAAK,CACb,+DAA+DJ,IAAI,yEACrE,CAAC;IACH;IAEA,IAAI,CAACjB,WAAW,CAACmB,OAAO,CAAC,EAAE;MACzB,IAAI,CAACtB,QAAQ,CAACsB,OAAO,CAAC,EAAE;QACtB,MAAM,IAAIE,KAAK,CACb,4EACF,CAAC;MACH;MAEA,IAAI,CAACrB,WAAW,CAACmB,OAAO,CAACC,MAAM,CAAC,IAAI,CAACf,SAAS,CAACc,OAAO,CAACC,MAAM,CAAC,EAAE;QAC9D,MAAM,IAAIC,KAAK,CAAC,+CAA+C,CAAC;MAClE;IACF;IAEA,OAAO,IAAI,CAACE,MAAM,CAACP,QAAQ,CAACC,IAAI,EAAEC,MAAM,CAAC;EAC3C;EAEAM,6BAA6BA,CAACC,OAAgB,EAAiB;IAC7D,IAAI,CAACpB,SAAS,CAACoB,OAAO,CAAC,EAAE;MACvB,MAAM,IAAIJ,KAAK,CACb,2FACF,CAAC;IACH;IAEA,OAAO,IAAI,CAACE,MAAM,CAACC,6BAA6B,CAACC,OAAO,CAAC;EAC3D;EAEAC,yBAAyBA,CAACC,YAAoB,GAAG,OAAO,EAAiB;IACvE,IAAI,CAAC/B,QAAQ,CAAC+B,YAAY,CAAC,EAAE;MAC3B,MAAM,IAAIN,KAAK,CACb,2FACF,CAAC;IACH;IAEA,IAAIM,YAAY,GAAG,CAAC,EAAE;MACpB,MAAM,IAAIN,KAAK,CACb,oGACF,CAAC;IACH;IAEA,OAAO,IAAI,CAACE,MAAM,CAACG,yBAAyB,CAACC,YAAY,CAAC;EAC5D;EAEAC,gBAAgBA,CAAA,EAA2B;IACzC,OAAO,IAAI,CAACL,MAAM,CAACK,gBAAgB,CAAC,CAAC;EACvC;EAEAC,YAAYA,CAAA,EAA2B;IACrC,OAAO,IAAI,CAACN,MAAM,CAACM,YAAY,CAAC,CAAC;EACnC;EAEAC,SAASA,CAACC,EAAiB,EAAiB;IAC1C,IAAI,CAACpC,MAAM,CAACoC,EAAE,CAAC,IAAI,CAAChC,QAAQ,CAACgC,EAAE,CAAC,EAAE;MAChC,MAAM,IAAIV,KAAK,CAAC,iEAAiE,CAAC;IACpF;IAEA,OAAO,IAAI,CAACE,MAAM,CAACO,SAAS,CAACC,EAAE,CAAC;EAClC;EAEAC,eAAeA,CAACf,IAAY,EAAEgB,KAAoB,EAAiB;IACjE,IAAI,CAAClC,QAAQ,CAACkB,IAAI,CAAC,EAAE;MACnB,MAAM,IAAII,KAAK,CAAC,yEAAyE,CAAC;IAC5F;IAEA,IAAIY,KAAK,KAAK,IAAI,IAAI,CAAClC,QAAQ,CAACkC,KAAK,CAAC,EAAE;MACtC,MAAM,IAAIZ,KAAK,CACb,6EACF,CAAC;IACH;IAEA,OAAO,IAAI,CAACE,MAAM,CAACS,eAAe,CAACf,IAAI,EAAEgB,KAAK,CAAC;EACjD;EAEAC,iBAAiBA,CACfC,UAA4C,EAC5ChB,OAA6B,GAAG;IAAEC,MAAM,EAAE;EAAM,CAAC,EAClC;IACf,IAAI,CAACvB,QAAQ,CAACsC,UAAU,CAAC,EAAE;MACzB,MAAM,IAAId,KAAK,CACb,+FACF,CAAC;IACH;IAEA,IAAI,CAACrB,WAAW,CAACmB,OAAO,CAAC,EAAE;MACzB,IAAI,CAACtB,QAAQ,CAACsB,OAAO,CAAC,EAAE;QACtB,MAAM,IAAIE,KAAK,CACb,4EACF,CAAC;MACH;MAEA,IAAI,CAACrB,WAAW,CAACmB,OAAO,CAACC,MAAM,CAAC,IAAI,CAACf,SAAS,CAACc,OAAO,CAACC,MAAM,CAAC,EAAE;QAC9D,MAAM,IAAIC,KAAK,CAAC,+CAA+C,CAAC;MAClE;IACF;IAEA,MAAMe,OAAO,GAAGC,MAAM,CAACD,OAAO,CAACD,UAAU,CAAC;IAC1C,KAAK,IAAIG,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGF,OAAO,CAACd,MAAM,EAAEgB,CAAC,EAAE,EAAE;MACvC,MAAMC,KAAK,GAAGH,OAAO,CAACE,CAAC,CAAC;MACxB,IAAI,CAACC,KAAK,EAAE;MACZ,MAAM,CAACC,GAAG,EAAEP,KAAK,CAAC,GAAGM,KAAK;MAC1B,IAAI,CAAC5C,MAAM,CAACsC,KAAK,CAAC,IAAI,CAAClC,QAAQ,CAACkC,KAAK,CAAC,EAAE;QACtC,MAAM,IAAIZ,KAAK,CACb,+EAA+EmB,GAAG,kCACpF,CAAC;MACH;IACF;IAEA,OAAO,IAAI,CAACjB,MAAM,CAACW,iBAAiB,CAACC,UAAU,CAAC;EAClD;EAEAM,kBAAkBA,CAAA,EAAkB;IAClC,OAAO,IAAI,CAAClB,MAAM,CAACkB,kBAAkB,CAAC,CAAC;EACzC;EAEAC,UAAUA,CAACC,eAAgC,EAAiB;IAC1D,IAAI,CAAC9C,QAAQ,CAAC8C,eAAe,CAAC,EAAE;MAC9B,MAAM,IAAItB,KAAK,CACb,uFACF,CAAC;IACH;IAEA,MAAMe,OAAO,GAAGC,MAAM,CAACD,OAAO,CAACO,eAAe,CAAC;IAC/C,KAAK,IAAIL,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGF,OAAO,CAACd,MAAM,EAAEgB,CAAC,EAAE,EAAE;MACvC,MAAMC,KAAK,GAAGH,OAAO,CAACE,CAAC,CAAC;MACxB,IAAI,CAACC,KAAK,EAAE;MACZ,MAAM,CAACC,GAAG,EAAEP,KAAK,CAAC,GAAGM,KAAK;MAC1B,IAAI,CAAClC,SAAS,CAAC4B,KAAK,CAAC,EAAE;QACrB,MAAM,IAAIZ,KAAK,CACb,6EAA6EmB,GAAG,mCAClF,CAAC;MACH;IACF;IAEA,OAAO,IAAI,CAACjB,MAAM,CAACmB,UAAU,CAACC,eAAe,CAAC;EAChD;;EAEA;AACF;AACA;EACEC,iBAAiBA,CAACC,MAAqC,EAAiB;IACtE,IAAI,CAAChD,QAAQ,CAACgD,MAAM,CAAC,EAAE;MACrB,MAAM,IAAIxB,KAAK,CACb,8FACF,CAAC;IACH;IAEAd,gBAAgB,CAACsC,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,4CAA4C,CAAC;IAE3F,OAAO,IAAI,CAAC7B,QAAQ,CAClB,kBAAkB,EAClBV,cAAc,CAACuC,MAAM,EAAEnC,OAAO,CAACoC,cAAc,EAAE,4CAA4C,CAC7F,CAAC;EACH;EAEAC,aAAaA,CAACF,MAA4B,EAAiB;IACzD,IAAI,CAAChD,QAAQ,CAACgD,MAAM,CAAC,EAAE;MACrB,MAAM,IAAIxB,KAAK,CACb,0FACF,CAAC;IACH;IAEA,OAAO,IAAI,CAACL,QAAQ,CAClB,aAAa,EACbV,cAAc,CAACuC,MAAM,EAAEnC,OAAO,CAACsC,UAAU,EAAE,wCAAwC,CACrF,CAAC;EACH;EAEAC,kBAAkBA,CAACJ,MAAiC,GAAG,CAAC,CAAC,EAAiB;IACxE,IAAI,CAAChD,QAAQ,CAACgD,MAAM,CAAC,EAAE;MACrB,MAAM,IAAIxB,KAAK,CACb,+FACF,CAAC;IACH;IAEAd,gBAAgB,CAACsC,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,6CAA6C,CAAC;IAE5F,OAAO,IAAI,CAAC7B,QAAQ,CAClB,mBAAmB,EACnBV,cAAc,CACZuC,MAAM,EACNnC,OAAO,CAACwC,eAAe,EACvB,6CACF,CACF,CAAC;EACH;EAEAC,YAAYA,CAACN,MAAgC,GAAG,CAAC,CAAC,EAAiB;IACjE,IAAI,CAAChD,QAAQ,CAACgD,MAAM,CAAC,EAAE;MACrB,MAAM,IAAIxB,KAAK,CACb,yFACF,CAAC;IACH;IAEAd,gBAAgB,CAACsC,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,uCAAuC,CAAC;IAEtF,OAAO,IAAI,CAAC7B,QAAQ,CAClB,aAAa,EACbV,cAAc,CAACuC,MAAM,EAAEnC,OAAO,CAAC0C,SAAS,EAAE,uCAAuC,CACnF,CAAC;EACH;EAEAC,gBAAgBA,CAACR,MAAoC,GAAG,CAAC,CAAC,EAAiB;IACzE,IAAI,CAAChD,QAAQ,CAACgD,MAAM,CAAC,EAAE;MACrB,MAAM,IAAIxB,KAAK,CACb,6FACF,CAAC;IACH;IAEAd,gBAAgB,CAACsC,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,2CAA2C,CAAC;IAE1F,OAAO,IAAI,CAAC7B,QAAQ,CAClB,iBAAiB,EACjBV,cAAc,CAACuC,MAAM,EAAEnC,OAAO,CAAC4C,aAAa,EAAE,2CAA2C,CAC3F,CAAC;EACH;EAEAC,UAAUA,CAAA,EAAkB;IAC1B,OAAO,IAAI,CAACvC,QAAQ,CAAC,UAAU,CAAC;EAClC;EAEAwC,gBAAgBA,CAACX,MAAoC,GAAG,CAAC,CAAC,EAAiB;IACzE,IAAI,CAAChD,QAAQ,CAACgD,MAAM,CAAC,EAAE;MACrB,MAAM,IAAIxB,KAAK,CACb,6FACF,CAAC;IACH;IAEAd,gBAAgB,CAACsC,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,2CAA2C,CAAC;IAE1F,OAAO,IAAI,CAAC7B,QAAQ,CAClB,gBAAgB,EAChBV,cAAc,CAACuC,MAAM,EAAEnC,OAAO,CAAC+C,aAAa,EAAE,2CAA2C,CAC3F,CAAC;EACH;EAEAC,kBAAkBA,CAACb,MAAsC,EAAiB;IACxE,IAAI,CAAChD,QAAQ,CAACgD,MAAM,CAAC,EAAE;MACrB,MAAM,IAAIxB,KAAK,CACb,+FACF,CAAC;IACH;IAEA,OAAO,IAAI,CAACL,QAAQ,CAClB,kBAAkB,EAClBV,cAAc,CACZuC,MAAM,EACNnC,OAAO,CAACiD,eAAe,EACvB,6CACF,CACF,CAAC;EACH;EAEAC,sBAAsBA,CAACf,MAA0C,EAAiB;IAChF,IAAI,CAAChD,QAAQ,CAACgD,MAAM,CAAC,EAAE;MACrB,MAAM,IAAIxB,KAAK,CACb,mGACF,CAAC;IACH;IAEA,OAAO,IAAI,CAACL,QAAQ,CAClB,uBAAuB,EACvBV,cAAc,CACZuC,MAAM,EACNnC,OAAO,CAACmD,mBAAmB,EAC3B,iDACF,CACF,CAAC;EACH;EAEAC,eAAeA,CAACjB,MAAmC,GAAG,CAAC,CAAC,EAAiB;IACvE,IAAI,CAAChD,QAAQ,CAACgD,MAAM,CAAC,EAAE;MACrB,MAAM,IAAIxB,KAAK,CACb,4FACF,CAAC;IACH;IAEAd,gBAAgB,CAACsC,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,0CAA0C,CAAC;IAEzF,OAAO,IAAI,CAAC7B,QAAQ,CAClB,eAAe,EACfV,cAAc,CAACuC,MAAM,EAAEnC,OAAO,CAACqD,YAAY,EAAE,0CAA0C,CACzF,CAAC;EACH;EAEAC,YAAYA,CAACnB,MAAgC,EAAiB;IAC5D,IAAI,CAAChD,QAAQ,CAACgD,MAAM,CAAC,EAAE;MACrB,MAAM,IAAIxB,KAAK,CACb,yFACF,CAAC;IACH;IAEA,OAAO,IAAI,CAACL,QAAQ,CAClB,YAAY,EACZV,cAAc,CAACuC,MAAM,EAAEnC,OAAO,CAACuD,SAAS,EAAE,uCAAuC,CACnF,CAAC;EACH;EAEAC,WAAWA,CAACrB,MAA+B,EAAiB;IAC1D,IAAI,CAAChD,QAAQ,CAACgD,MAAM,CAAC,EAAE;MACrB,MAAM,IAAIxB,KAAK,CACb,wFACF,CAAC;IACH;IAEA,OAAO,IAAI,CAACL,QAAQ,CAClB,WAAW,EACXV,cAAc,CAACuC,MAAM,EAAEnC,OAAO,CAACyD,QAAQ,EAAE,sCAAsC,CACjF,CAAC;EACH;EAEAC,aAAaA,CAACvB,MAAiC,EAAiB;IAC9D,IAAI,CAAChD,QAAQ,CAACgD,MAAM,CAAC,EAAE;MACrB,MAAM,IAAIxB,KAAK,CACb,0FACF,CAAC;IACH;IAEA,OAAO,IAAI,CAACL,QAAQ,CAClB,aAAa,EACbV,cAAc,CAACuC,MAAM,EAAEnC,OAAO,CAAC2D,UAAU,EAAE,wCAAwC,CACrF,CAAC;EACH;EAEAC,UAAUA,CAACzB,MAA8B,EAAiB;IACxD,IAAI,CAAChD,QAAQ,CAACgD,MAAM,CAAC,EAAE;MACrB,MAAM,IAAIxB,KAAK,CACb,uFACF,CAAC;IACH;IAEA,OAAO,IAAI,CAACL,QAAQ,CAClB,UAAU,EACVV,cAAc,CAACuC,MAAM,EAAEnC,OAAO,CAAC6D,OAAO,EAAE,qCAAqC,CAC/E,CAAC;EACH;EAEAC,QAAQA,CAAC3B,MAA4B,EAAiB;IACpD,IAAI,CAAChD,QAAQ,CAACgD,MAAM,CAAC,EAAE;MACrB,MAAM,IAAIxB,KAAK,CACb,qFACF,CAAC;IACH;IAEA,OAAO,IAAI,CAACL,QAAQ,CAClB,OAAO,EACPV,cAAc,CAACuC,MAAM,EAAEnC,OAAO,CAAC+D,KAAK,EAAE,mCAAmC,CAC3E,CAAC;EACH;EAEAC,YAAYA,CAAC7B,MAAgC,EAAiB;IAC5D,IAAI,CAAChD,QAAQ,CAACgD,MAAM,CAAC,EAAE;MACrB,MAAM,IAAIxB,KAAK,CACb,yFACF,CAAC;IACH;IAEA,OAAO,IAAI,CAACL,QAAQ,CAClB,YAAY,EACZV,cAAc,CAACuC,MAAM,EAAEnC,OAAO,CAACiE,SAAS,EAAE,uCAAuC,CACnF,CAAC;EACH;EAEAC,gBAAgBA,CAAC/B,MAAoC,EAAiB;IACpE,IAAI,CAAChD,QAAQ,CAACgD,MAAM,CAAC,EAAE;MACrB,MAAM,IAAIxB,KAAK,CACb,6FACF,CAAC;IACH;IAEA,OAAO,IAAI,CAACL,QAAQ,CAClB,gBAAgB,EAChBV,cAAc,CAACuC,MAAM,EAAEnC,OAAO,CAACmE,aAAa,EAAE,2CAA2C,CAC3F,CAAC;EACH;EAEAC,WAAWA,CAACjC,MAA+B,GAAG,CAAC,CAAC,EAAiB;IAC/D,IAAI,CAAChD,QAAQ,CAACgD,MAAM,CAAC,EAAE;MACrB,MAAM,IAAIxB,KAAK,CACb,wFACF,CAAC;IACH;IAEAd,gBAAgB,CAACsC,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,sCAAsC,CAAC;IAErF,OAAO,IAAI,CAAC7B,QAAQ,CAClB,UAAU,EACVV,cAAc,CAACuC,MAAM,EAAEnC,OAAO,CAACqE,QAAQ,EAAE,2CAA2C,CACtF,CAAC;EACH;EAEAC,SAASA,CAACnC,MAA6B,GAAG,CAAC,CAAC,EAAiB;IAC3D,IAAI,CAAChD,QAAQ,CAACgD,MAAM,CAAC,EAAE;MACrB,MAAM,IAAIxB,KAAK,CACb,sFACF,CAAC;IACH;IAEAd,gBAAgB,CAACsC,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,oCAAoC,CAAC;IAEnF,OAAO,IAAI,CAAC7B,QAAQ,CAClB,QAAQ,EACRV,cAAc,CAACuC,MAAM,EAAEnC,OAAO,CAACuE,MAAM,EAAE,oCAAoC,CAC7E,CAAC;EACH;EAEAC,iBAAiBA,CAACrC,MAAqC,GAAG,CAAC,CAAC,EAAiB;IAC3E,IAAI,CAAChD,QAAQ,CAACgD,MAAM,CAAC,EAAE;MACrB,MAAM,IAAIxB,KAAK,CACb,8FACF,CAAC;IACH;IAEAd,gBAAgB,CAACsC,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,4CAA4C,CAAC;IAE3F,OAAO,IAAI,CAAC7B,QAAQ,CAClB,kBAAkB,EAClBV,cAAc,CAACuC,MAAM,EAAEnC,OAAO,CAACyE,cAAc,EAAE,4CAA4C,CAC7F,CAAC;EACH;EAEAC,SAASA,CAACvC,MAA6B,EAAiB;IACtD,IAAI,CAAChD,QAAQ,CAACgD,MAAM,CAAC,EAAE;MACrB,MAAM,IAAIxB,KAAK,CACb,sFACF,CAAC;IACH;IAEA,OAAO,IAAI,CAACL,QAAQ,CAClB,QAAQ,EACRV,cAAc,CAACuC,MAAM,EAAEnC,OAAO,CAAC2E,MAAM,EAAE,oCAAoC,CAC7E,CAAC;EACH;EAEAC,aAAaA,CAACzC,MAAiC,EAAiB;IAC9D,IAAI,CAAChD,QAAQ,CAACgD,MAAM,CAAC,EAAE;MACrB,MAAM,IAAIxB,KAAK,CACb,0FACF,CAAC;IACH;IAEA,OAAO,IAAI,CAACL,QAAQ,CAClB,aAAa,EACbV,cAAc,CAACuC,MAAM,EAAEnC,OAAO,CAAC6E,UAAU,EAAE,wCAAwC,CACrF,CAAC;EACH;EAEAC,oBAAoBA,CAAC3C,MAAwC,EAAiB;IAC5E,IAAI,CAAChD,QAAQ,CAACgD,MAAM,CAAC,EAAE;MACrB,MAAM,IAAIxB,KAAK,CACb,iGACF,CAAC;IACH;IAEA,OAAO,IAAI,CAACL,QAAQ,CAClB,qBAAqB,EACrBV,cAAc,CACZuC,MAAM,EACNnC,OAAO,CAAC+E,iBAAiB,EACzB,+CACF,CACF,CAAC;EACH;EAEAC,kBAAkBA,CAAC7C,MAAsC,EAAiB;IACxE,IAAI,CAAChD,QAAQ,CAACgD,MAAM,CAAC,EAAE;MACrB,MAAM,IAAIxB,KAAK,CACb,+FACF,CAAC;IACH;IAEA,OAAO,IAAI,CAACL,QAAQ,CAClB,kBAAkB,EAClBV,cAAc,CACZuC,MAAM,EACNnC,OAAO,CAACiF,eAAe,EACvB,6CACF,CACF,CAAC;EACH;EAEAC,QAAQA,CAAC/C,MAA4B,EAAiB;IACpD,IAAI,CAAChD,QAAQ,CAACgD,MAAM,CAAC,EAAE;MACrB,MAAM,IAAIxB,KAAK,CACb,qFACF,CAAC;IACH;IAEA,OAAO,IAAI,CAACL,QAAQ,CAClB,OAAO,EACPV,cAAc,CAACuC,MAAM,EAAEnC,OAAO,CAACmF,KAAK,EAAE,mCAAmC,CAC3E,CAAC;EACH;EAEAC,SAASA,CAACjD,MAA6B,EAAiB;IACtD,IAAI,CAAChD,QAAQ,CAACgD,MAAM,CAAC,EAAE;MACrB,MAAM,IAAIxB,KAAK,CACb,sFACF,CAAC;IACH;IAEA,OAAO,IAAI,CAACL,QAAQ,CAClB,SAAS,EACTV,cAAc,CAACuC,MAAM,EAAEnC,OAAO,CAACqF,MAAM,EAAE,oCAAoC,CAC7E,CAAC;EACH;EAEAC,uBAAuBA,CAACnD,MAA2C,EAAiB;IAClF,IAAI,CAAChD,QAAQ,CAACgD,MAAM,CAAC,EAAE;MACrB,MAAM,IAAIxB,KAAK,CACb,oGACF,CAAC;IACH;IAEA,OAAO,IAAI,CAACL,QAAQ,CAClB,wBAAwB,EACxBV,cAAc,CACZuC,MAAM,EACNnC,OAAO,CAACuF,oBAAoB,EAC5B,kDACF,CACF,CAAC;EACH;EAEAC,gBAAgBA,CAAA,EAAkB;IAChC,OAAO,IAAI,CAAClF,QAAQ,CAAC,gBAAgB,CAAC;EACxC;EAEAmF,mBAAmBA,CAAA,EAAkB;IACnC,OAAO,IAAI,CAACnF,QAAQ,CAAC,mBAAmB,CAAC;EAC3C;EAEAoF,oBAAoBA,CAACvD,MAAwC,EAAiB;IAC5E,IAAI,CAAChD,QAAQ,CAACgD,MAAM,CAAC,EAAE;MACrB,MAAM,IAAIxB,KAAK,CACb,iGACF,CAAC;IACH;IAEA,OAAO,IAAI,CAACL,QAAQ,CAClB,oBAAoB,EACpBV,cAAc,CACZuC,MAAM,EACNnC,OAAO,CAAC2F,iBAAiB,EACzB,+CACF,CACF,CAAC;EACH;EAEAC,WAAWA,CAACzD,MAA+B,GAAG,CAAC,CAAC,EAAiB;IAC/D,IAAI,CAAChD,QAAQ,CAACgD,MAAM,CAAC,EAAE;MACrB,MAAM,IAAIxB,KAAK,CACb,wFACF,CAAC;IACH;IAEAd,gBAAgB,CAACsC,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,sCAAsC,CAAC;IAErF,OAAO,IAAI,CAAC7B,QAAQ,CAClB,WAAW,EACXV,cAAc,CAACuC,MAAM,EAAEnC,OAAO,CAAC6F,QAAQ,EAAE,sCAAsC,CACjF,CAAC;EACH;EAEAC,WAAWA,CAAC3D,MAA+B,GAAG,CAAC,CAAC,EAAiB;IAC/D,IAAI,CAAChD,QAAQ,CAACgD,MAAM,CAAC,EAAE;MACrB,MAAM,IAAIxB,KAAK,CACb,wFACF,CAAC;IACH;IACAd,gBAAgB,CAACsC,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,sCAAsC,CAAC;IAErF,OAAO,IAAI,CAAC7B,QAAQ,CAClB,WAAW,EACXV,cAAc,CAACuC,MAAM,EAAEnC,OAAO,CAAC+F,QAAQ,EAAE,sCAAsC,CACjF,CAAC;EACH;EAEAC,eAAeA,CAAC7D,MAAmC,GAAG,CAAC,CAAC,EAAiB;IACvE,IAAI,CAAChD,QAAQ,CAACgD,MAAM,CAAC,EAAE;MACrB,MAAM,IAAIxB,KAAK,CACb,4FACF,CAAC;IACH;IAEA,OAAO,IAAI,CAACL,QAAQ,CAClB,gBAAgB,EAChBV,cAAc,CAACuC,MAAM,EAAEnC,OAAO,CAACiG,YAAY,EAAE,0CAA0C,CACzF,CAAC;EACH;EAEAC,gBAAgBA,CAAC/D,MAAoC,GAAG,CAAC,CAAC,EAAiB;IACzE,IAAI,CAAChD,QAAQ,CAACgD,MAAM,CAAC,EAAE;MACrB,MAAM,IAAIxB,KAAK,CACb,6FACF,CAAC;IACH;IAEA,OAAO,IAAI,CAACL,QAAQ,CAClB,gBAAgB,EAChBV,cAAc,CAACuC,MAAM,EAAEnC,OAAO,CAACmG,aAAa,EAAE,2CAA2C,CAC3F,CAAC;EACH;EACA;AACF;AACA;AACA;EACEC,oBAAoBA,CAACjE,MAAmC,EAAiB;IACvE,IAAI,CAAChD,QAAQ,CAACgD,MAAM,CAAC,EAAE;MACrB,MAAM,IAAIxB,KAAK,CACb,iGACF,CAAC;IACH;IAEA,OAAO,IAAI,CAACL,QAAQ,CAClB,qBAAqB,EACrBV,cAAc,CACZuC,MAAM,EACNnC,OAAO,CAACqG,iBAAiB,EACzB,+CACF,CACF,CAAC;EACH;EAEAC,yBAAyBA,CAAC9F,MAA+B,EAAiB;IACxE,IAAI,CAACrB,QAAQ,CAACqB,MAAM,CAAC,IAAI,CAACvB,MAAM,CAACuB,MAAM,CAAC,IAAI,CAAClB,WAAW,CAACkB,MAAM,CAAC,EAAE;MAChE,MAAM,IAAIG,KAAK,CACb,yGACF,CAAC;IACH;IAEA,OAAO,IAAI,CAACE,MAAM,CAACyF,yBAAyB,CAAC9F,MAAM,CAAC;EACtD;EAEA+F,qDAAqDA,CAACC,YAAoB,EAAiB;IACzF,IAAI,CAACnH,QAAQ,CAACmH,YAAY,CAAC,EAAE;MAC3B,MAAM,IAAI7F,KAAK,CACb,uHACF,CAAC;IACH;IAEA,IAAI,CAAC3B,KAAK,EAAE;MACV,OAAOyH,OAAO,CAACC,OAAO,CAAC,CAAC;IAC1B;IAEA,OAAO,IAAI,CAAC7F,MAAM,CAAC0F,qDAAqD,CAACC,YAAY,CAAC;EACxF;EAEAG,2DAA2DA,CACzDC,kBAA0B,EACX;IACf,IAAI,CAACvH,QAAQ,CAACuH,kBAAkB,CAAC,EAAE;MACjC,MAAM,IAAIjG,KAAK,CACb,mIACF,CAAC;IACH;IAEA,IAAI,CAAC3B,KAAK,EAAE;MACV,OAAOyH,OAAO,CAACC,OAAO,CAAC,CAAC;IAC1B;IAEA,OAAO,IAAI,CAAC7F,MAAM,CAAC8F,2DAA2D,CAC5EC,kBACF,CAAC;EACH;EAEAC,oDAAoDA,CAACC,WAAmB,EAAiB;IACvF,IAAI,CAAC/H,iBAAiB,CAAC+H,WAAW,CAAC,EAAE;MACnC,MAAM,IAAInG,KAAK,CACb,qIACF,CAAC;IACH;IAEA,IAAI,CAAC3B,KAAK,EAAE;MACV,OAAOyH,OAAO,CAACC,OAAO,CAAC,CAAC;IAC1B;IAEA,OAAO,IAAI,CAAC7F,MAAM,CAACgG,oDAAoD,CAACC,WAAW,CAAC;EACtF;EAEAC,0DAA0DA,CACxDC,iBAAyB,EACV;IACf,IAAIjI,iBAAiB,CAACiI,iBAAiB,CAAC,EAAE;MACxC,MAAM,IAAIrG,KAAK,CACb,0KACF,CAAC;IACH;IAEA,IAAI,CAACtB,QAAQ,CAAC2H,iBAAiB,CAAC,EAAE;MAChC,MAAM,IAAIrG,KAAK,CACb,iIACF,CAAC;IACH;IAEA,IAAI,CAAC3B,KAAK,EAAE;MACV,OAAOyH,OAAO,CAACC,OAAO,CAAC,CAAC;IAC1B;IAEA,OAAO,IAAI,CAAC7F,MAAM,CAACkG,0DAA0D,CAC3EC,iBACF,CAAC;EACH;AACF;;AAEA;AACA,OAAO,MAAMC,WAAmB,GAAGlH,OAAO;;AAE1C;AACA;;AAEA;AACA;AACA;;AAEA,MAAMmH,kBAAkB,GAAG3H,qBAAqB,CAAC;EAC/CW,OAAO;EACPH,OAAO;EACPI,SAAS;EACTC,gBAAgB;EAChB+G,YAAY,EAAE,KAAK;EACnBC,kBAAkB,EAAE,KAAK;EACzBC,2BAA2B,EAAE,KAAK;EAClCC,WAAW,EAAEjH;AACf,CAAC,CAAC;AAWF,eAAe6G,kBAAkB;;AAEjC;AACAxH,oBAAoB,CAACU,gBAAgB,EAAEN,mBAAyD,CAAC;AAEjG,OAAO,MAAMyH,QAAQ,GACnB9H,eAAe,CAAC,CAKf","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"type":"module"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
1
3
|
/*
|
|
2
4
|
* Copyright (c) 2016-present Invertase Limited & Contributors
|
|
3
5
|
*
|
|
@@ -16,7 +18,6 @@
|
|
|
16
18
|
|
|
17
19
|
import { isUndefined } from '@react-native-firebase/app/lib/common/validate';
|
|
18
20
|
import { create } from 'superstruct';
|
|
19
|
-
|
|
20
21
|
export const validateStruct = (value = {}, struct, prefix = '') => {
|
|
21
22
|
// skip superstruct create in release for performance reasons
|
|
22
23
|
if (!__DEV__) {
|
|
@@ -25,26 +26,23 @@ export const validateStruct = (value = {}, struct, prefix = '') => {
|
|
|
25
26
|
try {
|
|
26
27
|
return create(value, struct);
|
|
27
28
|
} catch (e) {
|
|
28
|
-
const {
|
|
29
|
-
|
|
29
|
+
const {
|
|
30
|
+
path,
|
|
31
|
+
message
|
|
32
|
+
} = e;
|
|
30
33
|
const key = path[0];
|
|
31
|
-
|
|
32
34
|
if (message === undefined) {
|
|
33
35
|
throw new Error(`${prefix} unknown property '${key}'.`);
|
|
34
36
|
}
|
|
35
|
-
e.message = `${prefix} ${
|
|
36
|
-
|
|
37
|
+
e.message = `${prefix} ${message}`;
|
|
37
38
|
throw e;
|
|
38
39
|
}
|
|
39
40
|
};
|
|
40
|
-
|
|
41
41
|
export const validateCompound = (source = {}, a, b, prefix = '') => {
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
throw new Error(
|
|
47
|
-
`${prefix} if you supply the '${a}' parameter, you must also supply the '${b}' parameter.`,
|
|
48
|
-
);
|
|
42
|
+
const sourceA = source[a];
|
|
43
|
+
const sourceB = source[b];
|
|
44
|
+
if (isUndefined(sourceA) && !isUndefined(sourceB) || !isUndefined(sourceA) && isUndefined(sourceB)) {
|
|
45
|
+
throw new Error(`${prefix} if you supply the '${a}' parameter, you must also supply the '${b}' parameter.`);
|
|
49
46
|
}
|
|
50
47
|
};
|
|
48
|
+
//# sourceMappingURL=struct.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["isUndefined","create","validateStruct","value","struct","prefix","__DEV__","e","path","message","key","undefined","Error","validateCompound","source","a","b","sourceA","sourceB"],"sourceRoot":"../../lib","sources":["struct.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,WAAW,QAAQ,gDAAgD;AAC5E,SAASC,MAAM,QAAqB,aAAa;AAEjD,OAAO,MAAMC,cAAc,GAAGA,CAC5BC,KAA0B,GAAG,CAAC,CAAC,EAC/BC,MAAW,EACXC,MAAM,GAAG,EAAE,KACa;EACxB;EACA,IAAI,CAACC,OAAO,EAAE;IACZ,OAAOH,KAAK;EACd;EACA,IAAI;IACF,OAAOF,MAAM,CAACE,KAAK,EAAEC,MAAM,CAAC;EAC9B,CAAC,CAAC,OAAOG,CAAC,EAAE;IACV,MAAM;MAAEC,IAAI;MAAEC;IAAQ,CAAC,GAAGF,CAAgB;IAE1C,MAAMG,GAAG,GAAGF,IAAI,CAAC,CAAC,CAAC;IAEnB,IAAIC,OAAO,KAAKE,SAAS,EAAE;MACzB,MAAM,IAAIC,KAAK,CAAC,GAAGP,MAAM,sBAAsBK,GAAG,IAAI,CAAC;IACzD;IACCH,CAAC,CAAiBE,OAAO,GAAG,GAAGJ,MAAM,IAAII,OAAO,EAAE;IAEnD,MAAMF,CAAC;EACT;AACF,CAAC;AAED,OAAO,MAAMM,gBAAgB,GAAGA,CAC9BC,MAA2B,GAAG,CAAC,CAAC,EAChCC,CAAS,EACTC,CAAS,EACTX,MAAM,GAAG,EAAE,KACF;EACT,MAAMY,OAAO,GAAGH,MAAM,CAACC,CAAC,CAAC;EACzB,MAAMG,OAAO,GAAGJ,MAAM,CAACE,CAAC,CAAC;EACzB,IACGhB,WAAW,CAACiB,OAAO,CAAC,IAAI,CAACjB,WAAW,CAACkB,OAAO,CAAC,IAC7C,CAAClB,WAAW,CAACiB,OAAO,CAAC,IAAIjB,WAAW,CAACkB,OAAO,CAAE,EAC/C;IACA,MAAM,IAAIN,KAAK,CACb,GAAGP,MAAM,uBAAuBU,CAAC,0CAA0CC,CAAC,cAC9E,CAAC;EACH;AACF,CAAC","ignoreList":[]}
|