@thealteroffice/react-native-adgeist 0.0.13 → 0.0.15

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.
Files changed (25) hide show
  1. package/README.md +378 -127
  2. package/ios/generated/RNAdgeistSpec/RNAdgeistSpec-generated.mm +81 -0
  3. package/ios/generated/RNAdgeistSpec/RNAdgeistSpec.h +86 -0
  4. package/{android/app/build/generated/source/codegen/jni/react/renderer/components/RNAdgeistSpec → ios/generated}/RNAdgeistSpecJSI.h +1 -118
  5. package/lib/module/cdpclient/index.js +60 -4
  6. package/lib/module/cdpclient/index.js.map +1 -1
  7. package/lib/module/components/AdgeistProvider.js +57 -17
  8. package/lib/module/components/AdgeistProvider.js.map +1 -1
  9. package/lib/module/components/BannerAd.js +131 -58
  10. package/lib/module/components/BannerAd.js.map +1 -1
  11. package/lib/typescript/src/cdpclient/index.d.ts +20 -0
  12. package/lib/typescript/src/cdpclient/index.d.ts.map +1 -1
  13. package/lib/typescript/src/components/AdgeistProvider.d.ts +32 -3
  14. package/lib/typescript/src/components/AdgeistProvider.d.ts.map +1 -1
  15. package/lib/typescript/src/components/BannerAd.d.ts +56 -4
  16. package/lib/typescript/src/components/BannerAd.d.ts.map +1 -1
  17. package/package.json +1 -1
  18. package/src/cdpclient/index.ts +71 -8
  19. package/src/components/AdgeistProvider.tsx +77 -23
  20. package/src/components/BannerAd.tsx +176 -81
  21. package/android/app/build/generated/source/codegen/java/com/facebook/fbreact/specs/NativeAdgeistSpec.java +0 -63
  22. package/android/app/build/generated/source/codegen/jni/CMakeLists.txt +0 -36
  23. package/android/app/build/generated/source/codegen/jni/RNAdgeistSpec-generated.cpp +0 -68
  24. package/android/app/build/generated/source/codegen/jni/RNAdgeistSpec.h +0 -31
  25. /package/{android/app/build/generated/source/codegen/jni/react/renderer/components/RNAdgeistSpec → ios/generated}/RNAdgeistSpecJSI-generated.cpp +0 -0
@@ -0,0 +1,81 @@
1
+ /**
2
+ * This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
3
+ *
4
+ * Do not edit this file as changes may cause incorrect behavior and will be lost
5
+ * once the code is regenerated.
6
+ *
7
+ * @generated by codegen project: GenerateModuleObjCpp
8
+ *
9
+ * We create an umbrella header (and corresponding implementation) here since
10
+ * Cxx compilation in BUCK has a limitation: source-code producing genrule()s
11
+ * must have a single output. More files => more genrule()s => slower builds.
12
+ */
13
+
14
+ #import "RNAdgeistSpec.h"
15
+
16
+
17
+ @implementation NativeAdgeistSpecBase
18
+
19
+
20
+ - (void)setEventEmitterCallback:(EventEmitterCallbackWrapper *)eventEmitterCallbackWrapper
21
+ {
22
+ _eventEmitterCallback = std::move(eventEmitterCallbackWrapper->_eventEmitterCallback);
23
+ }
24
+ @end
25
+
26
+
27
+ namespace facebook::react {
28
+
29
+ static facebook::jsi::Value __hostFunction_NativeAdgeistSpecJSI_initializeSdk(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
30
+ return static_cast<ObjCTurboModule&>(turboModule).invokeObjCMethod(rt, PromiseKind, "initializeSdk", @selector(initializeSdk:resolve:reject:), args, count);
31
+ }
32
+
33
+ static facebook::jsi::Value __hostFunction_NativeAdgeistSpecJSI_fetchCreative(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
34
+ return static_cast<ObjCTurboModule&>(turboModule).invokeObjCMethod(rt, PromiseKind, "fetchCreative", @selector(fetchCreative:origin:adSpaceId:publisherId:isTestEnvironment:resolve:reject:), args, count);
35
+ }
36
+
37
+ static facebook::jsi::Value __hostFunction_NativeAdgeistSpecJSI_sendCreativeAnalytic(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
38
+ return static_cast<ObjCTurboModule&>(turboModule).invokeObjCMethod(rt, PromiseKind, "sendCreativeAnalytic", @selector(sendCreativeAnalytic:adSpaceId:publisherId:eventType:origin:apiKey:bidId:isTestEnvironment:resolve:reject:), args, count);
39
+ }
40
+
41
+ static facebook::jsi::Value __hostFunction_NativeAdgeistSpecJSI_setUserDetails(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
42
+ return static_cast<ObjCTurboModule&>(turboModule).invokeObjCMethod(rt, VoidKind, "setUserDetails", @selector(setUserDetails:), args, count);
43
+ }
44
+
45
+ static facebook::jsi::Value __hostFunction_NativeAdgeistSpecJSI_logEvent(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
46
+ return static_cast<ObjCTurboModule&>(turboModule).invokeObjCMethod(rt, VoidKind, "logEvent", @selector(logEvent:), args, count);
47
+ }
48
+
49
+ static facebook::jsi::Value __hostFunction_NativeAdgeistSpecJSI_getConsentStatus(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
50
+ return static_cast<ObjCTurboModule&>(turboModule).invokeObjCMethod(rt, PromiseKind, "getConsentStatus", @selector(getConsentStatus:reject:), args, count);
51
+ }
52
+
53
+ static facebook::jsi::Value __hostFunction_NativeAdgeistSpecJSI_updateConsentStatus(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
54
+ return static_cast<ObjCTurboModule&>(turboModule).invokeObjCMethod(rt, VoidKind, "updateConsentStatus", @selector(updateConsentStatus:), args, count);
55
+ }
56
+
57
+ NativeAdgeistSpecJSI::NativeAdgeistSpecJSI(const ObjCTurboModule::InitParams &params)
58
+ : ObjCTurboModule(params) {
59
+
60
+ methodMap_["initializeSdk"] = MethodMetadata {1, __hostFunction_NativeAdgeistSpecJSI_initializeSdk};
61
+
62
+
63
+ methodMap_["fetchCreative"] = MethodMetadata {5, __hostFunction_NativeAdgeistSpecJSI_fetchCreative};
64
+
65
+
66
+ methodMap_["sendCreativeAnalytic"] = MethodMetadata {8, __hostFunction_NativeAdgeistSpecJSI_sendCreativeAnalytic};
67
+
68
+
69
+ methodMap_["setUserDetails"] = MethodMetadata {1, __hostFunction_NativeAdgeistSpecJSI_setUserDetails};
70
+
71
+
72
+ methodMap_["logEvent"] = MethodMetadata {1, __hostFunction_NativeAdgeistSpecJSI_logEvent};
73
+
74
+
75
+ methodMap_["getConsentStatus"] = MethodMetadata {0, __hostFunction_NativeAdgeistSpecJSI_getConsentStatus};
76
+
77
+
78
+ methodMap_["updateConsentStatus"] = MethodMetadata {1, __hostFunction_NativeAdgeistSpecJSI_updateConsentStatus};
79
+
80
+ }
81
+ } // namespace facebook::react
@@ -0,0 +1,86 @@
1
+ /**
2
+ * This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
3
+ *
4
+ * Do not edit this file as changes may cause incorrect behavior and will be lost
5
+ * once the code is regenerated.
6
+ *
7
+ * @generated by codegen project: GenerateModuleObjCpp
8
+ *
9
+ * We create an umbrella header (and corresponding implementation) here since
10
+ * Cxx compilation in BUCK has a limitation: source-code producing genrule()s
11
+ * must have a single output. More files => more genrule()s => slower builds.
12
+ */
13
+
14
+ #ifndef __cplusplus
15
+ #error This file must be compiled as Obj-C++. If you are importing it, you must change your file extension to .mm.
16
+ #endif
17
+
18
+ // Avoid multiple includes of RNAdgeistSpec symbols
19
+ #ifndef RNAdgeistSpec_H
20
+ #define RNAdgeistSpec_H
21
+
22
+ #import <Foundation/Foundation.h>
23
+ #import <RCTRequired/RCTRequired.h>
24
+ #import <RCTTypeSafety/RCTConvertHelpers.h>
25
+ #import <RCTTypeSafety/RCTTypedModuleConstants.h>
26
+ #import <React/RCTBridgeModule.h>
27
+ #import <React/RCTCxxConvert.h>
28
+ #import <React/RCTManagedPointer.h>
29
+ #import <ReactCommon/RCTTurboModule.h>
30
+ #import <optional>
31
+ #import <vector>
32
+
33
+
34
+ NS_ASSUME_NONNULL_BEGIN
35
+
36
+ @protocol NativeAdgeistSpec <RCTBridgeModule, RCTTurboModule>
37
+
38
+ - (void)initializeSdk:(NSString *)customDomain
39
+ resolve:(RCTPromiseResolveBlock)resolve
40
+ reject:(RCTPromiseRejectBlock)reject;
41
+ - (void)fetchCreative:(NSString *)apiKey
42
+ origin:(NSString *)origin
43
+ adSpaceId:(NSString *)adSpaceId
44
+ publisherId:(NSString *)publisherId
45
+ isTestEnvironment:(BOOL)isTestEnvironment
46
+ resolve:(RCTPromiseResolveBlock)resolve
47
+ reject:(RCTPromiseRejectBlock)reject;
48
+ - (void)sendCreativeAnalytic:(NSString *)campaignId
49
+ adSpaceId:(NSString *)adSpaceId
50
+ publisherId:(NSString *)publisherId
51
+ eventType:(NSString *)eventType
52
+ origin:(NSString *)origin
53
+ apiKey:(NSString *)apiKey
54
+ bidId:(NSString *)bidId
55
+ isTestEnvironment:(BOOL)isTestEnvironment
56
+ resolve:(RCTPromiseResolveBlock)resolve
57
+ reject:(RCTPromiseRejectBlock)reject;
58
+ - (void)setUserDetails:(NSDictionary *)user;
59
+ - (void)logEvent:(NSDictionary *)event;
60
+ - (void)getConsentStatus:(RCTPromiseResolveBlock)resolve
61
+ reject:(RCTPromiseRejectBlock)reject;
62
+ - (void)updateConsentStatus:(BOOL)consent;
63
+
64
+ @end
65
+
66
+ @interface NativeAdgeistSpecBase : NSObject {
67
+ @protected
68
+ facebook::react::EventEmitterCallback _eventEmitterCallback;
69
+ }
70
+ - (void)setEventEmitterCallback:(EventEmitterCallbackWrapper *)eventEmitterCallbackWrapper;
71
+
72
+
73
+ @end
74
+
75
+ namespace facebook::react {
76
+ /**
77
+ * ObjC++ class for module 'NativeAdgeist'
78
+ */
79
+ class JSI_EXPORT NativeAdgeistSpecJSI : public ObjCTurboModule {
80
+ public:
81
+ NativeAdgeistSpecJSI(const ObjCTurboModule::InitParams &params);
82
+ };
83
+ } // namespace facebook::react
84
+
85
+ NS_ASSUME_NONNULL_END
86
+ #endif // RNAdgeistSpec_H
@@ -15,124 +15,7 @@
15
15
  namespace facebook::react {
16
16
 
17
17
 
18
-
19
- #pragma mark - NativeAdgeistEvent
20
-
21
- template <typename P0, typename P1>
22
- struct NativeAdgeistEvent {
23
- P0 eventType;
24
- P1 eventProperties;
25
- bool operator==(const NativeAdgeistEvent &other) const {
26
- return eventType == other.eventType && eventProperties == other.eventProperties;
27
- }
28
- };
29
-
30
- template <typename T>
31
- struct NativeAdgeistEventBridging {
32
- static T types;
33
-
34
- static T fromJs(
35
- jsi::Runtime &rt,
36
- const jsi::Object &value,
37
- const std::shared_ptr<CallInvoker> &jsInvoker) {
38
- T result{
39
- bridging::fromJs<decltype(types.eventType)>(rt, value.getProperty(rt, "eventType"), jsInvoker),
40
- bridging::fromJs<decltype(types.eventProperties)>(rt, value.getProperty(rt, "eventProperties"), jsInvoker)};
41
- return result;
42
- }
43
-
44
- #ifdef DEBUG
45
- static jsi::String eventTypeToJs(jsi::Runtime &rt, decltype(types.eventType) value) {
46
- return bridging::toJs(rt, value);
47
- }
48
-
49
- static jsi::Object eventPropertiesToJs(jsi::Runtime &rt, decltype(types.eventProperties) value) {
50
- return bridging::toJs(rt, value);
51
- }
52
- #endif
53
-
54
- static jsi::Object toJs(
55
- jsi::Runtime &rt,
56
- const T &value,
57
- const std::shared_ptr<CallInvoker> &jsInvoker) {
58
- auto result = facebook::jsi::Object(rt);
59
- result.setProperty(rt, "eventType", bridging::toJs(rt, value.eventType, jsInvoker));
60
- result.setProperty(rt, "eventProperties", bridging::toJs(rt, value.eventProperties, jsInvoker));
61
- return result;
62
- }
63
- };
64
-
65
-
66
-
67
- #pragma mark - NativeAdgeistUserDetails
68
-
69
- template <typename P0, typename P1, typename P2, typename P3>
70
- struct NativeAdgeistUserDetails {
71
- P0 userId;
72
- P1 userName;
73
- P2 email;
74
- P3 phone;
75
- bool operator==(const NativeAdgeistUserDetails &other) const {
76
- return userId == other.userId && userName == other.userName && email == other.email && phone == other.phone;
77
- }
78
- };
79
-
80
- template <typename T>
81
- struct NativeAdgeistUserDetailsBridging {
82
- static T types;
83
-
84
- static T fromJs(
85
- jsi::Runtime &rt,
86
- const jsi::Object &value,
87
- const std::shared_ptr<CallInvoker> &jsInvoker) {
88
- T result{
89
- bridging::fromJs<decltype(types.userId)>(rt, value.getProperty(rt, "userId"), jsInvoker),
90
- bridging::fromJs<decltype(types.userName)>(rt, value.getProperty(rt, "userName"), jsInvoker),
91
- bridging::fromJs<decltype(types.email)>(rt, value.getProperty(rt, "email"), jsInvoker),
92
- bridging::fromJs<decltype(types.phone)>(rt, value.getProperty(rt, "phone"), jsInvoker)};
93
- return result;
94
- }
95
-
96
- #ifdef DEBUG
97
- static jsi::String userIdToJs(jsi::Runtime &rt, decltype(types.userId) value) {
98
- return bridging::toJs(rt, value);
99
- }
100
-
101
- static jsi::String userNameToJs(jsi::Runtime &rt, decltype(types.userName) value) {
102
- return bridging::toJs(rt, value);
103
- }
104
-
105
- static jsi::String emailToJs(jsi::Runtime &rt, decltype(types.email) value) {
106
- return bridging::toJs(rt, value);
107
- }
108
-
109
- static jsi::String phoneToJs(jsi::Runtime &rt, decltype(types.phone) value) {
110
- return bridging::toJs(rt, value);
111
- }
112
- #endif
113
-
114
- static jsi::Object toJs(
115
- jsi::Runtime &rt,
116
- const T &value,
117
- const std::shared_ptr<CallInvoker> &jsInvoker) {
118
- auto result = facebook::jsi::Object(rt);
119
- if (value.userId) {
120
- result.setProperty(rt, "userId", bridging::toJs(rt, value.userId.value(), jsInvoker));
121
- }
122
- if (value.userName) {
123
- result.setProperty(rt, "userName", bridging::toJs(rt, value.userName.value(), jsInvoker));
124
- }
125
- if (value.email) {
126
- result.setProperty(rt, "email", bridging::toJs(rt, value.email.value(), jsInvoker));
127
- }
128
- if (value.phone) {
129
- result.setProperty(rt, "phone", bridging::toJs(rt, value.phone.value(), jsInvoker));
130
- }
131
- return result;
132
- }
133
- };
134
-
135
- class JSI_EXPORT NativeAdgeistCxxSpecJSI : public TurboModule {
18
+ class JSI_EXPORT NativeAdgeistCxxSpecJSI : public TurboModule {
136
19
  protected:
137
20
  NativeAdgeistCxxSpecJSI(std::shared_ptr<CallInvoker> jsInvoker);
138
21
 
@@ -1,16 +1,72 @@
1
1
  "use strict";
2
2
 
3
3
  import Adgeist from "../NativeAdgeist.js";
4
+ class AdgeistError extends Error {
5
+ constructor(message, code) {
6
+ super(message);
7
+ this.name = 'AdgeistError';
8
+ this.code = code;
9
+ Object.setPrototypeOf(this, AdgeistError.prototype);
10
+ }
11
+ }
12
+
13
+ /**
14
+ * Sets user details in the Adgeist SDK
15
+ * @param userDetails - User details object
16
+ * @throws AdgeistError if the operation fails
17
+ */
4
18
  export const setUserDetails = userDetails => {
5
- Adgeist.setUserDetails(userDetails);
19
+ try {
20
+ Adgeist.setUserDetails(userDetails);
21
+ } catch (error) {
22
+ const err = error instanceof Error ? error : new Error('Failed to set user details');
23
+ throw new AdgeistError(err.message);
24
+ }
6
25
  };
26
+
27
+ /**
28
+ * Logs an event in the Adgeist SDK
29
+ * @param event - Event object to log
30
+ * @throws AdgeistError if the event is invalid or logging fails
31
+ */
7
32
  export const logEvent = event => {
8
- Adgeist.logEvent(event);
33
+ if (!event || typeof event !== 'object') {
34
+ throw new AdgeistError('Event must be a valid object');
35
+ }
36
+ try {
37
+ Adgeist.logEvent(event);
38
+ } catch (error) {
39
+ const err = error instanceof Error ? error : new Error('Failed to log event');
40
+ throw new AdgeistError(err.message);
41
+ }
9
42
  };
43
+
44
+ /**
45
+ * Retrieves the consent status from the Adgeist SDK
46
+ * @returns Promise resolving to 'ACCEPTED' or 'DENIED'
47
+ * @throws AdgeistError if the operation fails
48
+ */
10
49
  export const getConsentStatus = async () => {
11
- return (await Adgeist.getConsentStatus()) === true ? 'ACCEPTED' : 'DENIED';
50
+ try {
51
+ const status = await Adgeist.getConsentStatus();
52
+ return status === true ? 'ACCEPTED' : 'DENIED';
53
+ } catch (error) {
54
+ const err = error instanceof Error ? error : new Error('Failed to get consent status');
55
+ throw new AdgeistError(err.message);
56
+ }
12
57
  };
58
+
59
+ /**
60
+ * Updates the consent status in the Adgeist SDK
61
+ * @param consent - Boolean indicating user consent
62
+ * @throws AdgeistError if the operation fails
63
+ */
13
64
  export const updateConsentStatus = consent => {
14
- Adgeist.updateConsentStatus(consent);
65
+ try {
66
+ Adgeist.updateConsentStatus(consent);
67
+ } catch (error) {
68
+ const err = error instanceof Error ? error : new Error('Failed to update consent status');
69
+ throw new AdgeistError(err.message);
70
+ }
15
71
  };
16
72
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Adgeist","setUserDetails","userDetails","logEvent","event","getConsentStatus","updateConsentStatus","consent"],"sourceRoot":"../../../src","sources":["cdpclient/index.ts"],"mappings":";;AAAA,OAAOA,OAAO,MAAwC,qBAAkB;AAExE,OAAO,MAAMC,cAAc,GAAIC,WAAwB,IAAK;EAC1DF,OAAO,CAACC,cAAc,CAACC,WAAW,CAAC;AACrC,CAAC;AAED,OAAO,MAAMC,QAAQ,GAAIC,KAAY,IAAK;EACxCJ,OAAO,CAACG,QAAQ,CAACC,KAAK,CAAC;AACzB,CAAC;AAED,OAAO,MAAMC,gBAAgB,GAAG,MAAAA,CAAA,KAAY;EAC1C,OAAO,CAAC,MAAML,OAAO,CAACK,gBAAgB,CAAC,CAAC,MAAM,IAAI,GAAG,UAAU,GAAG,QAAQ;AAC5E,CAAC;AAED,OAAO,MAAMC,mBAAmB,GAAIC,OAAgB,IAAK;EACvDP,OAAO,CAACM,mBAAmB,CAACC,OAAO,CAAC;AACtC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["Adgeist","AdgeistError","Error","constructor","message","code","name","Object","setPrototypeOf","prototype","setUserDetails","userDetails","error","err","logEvent","event","getConsentStatus","status","updateConsentStatus","consent"],"sourceRoot":"../../../src","sources":["cdpclient/index.ts"],"mappings":";;AAAA,OAAOA,OAAO,MAAwC,qBAAkB;AAExE,MAAMC,YAAY,SAASC,KAAK,CAAC;EAG/BC,WAAWA,CAACC,OAAe,EAAEC,IAAa,EAAE;IAC1C,KAAK,CAACD,OAAO,CAAC;IACd,IAAI,CAACE,IAAI,GAAG,cAAc;IAC1B,IAAI,CAACD,IAAI,GAAGA,IAAI;IAChBE,MAAM,CAACC,cAAc,CAAC,IAAI,EAAEP,YAAY,CAACQ,SAAS,CAAC;EACrD;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,cAAc,GAAIC,WAAwB,IAAW;EAChE,IAAI;IACFX,OAAO,CAACU,cAAc,CAACC,WAAW,CAAC;EACrC,CAAC,CAAC,OAAOC,KAAc,EAAE;IACvB,MAAMC,GAAG,GACPD,KAAK,YAAYV,KAAK,GAAGU,KAAK,GAAG,IAAIV,KAAK,CAAC,4BAA4B,CAAC;IAC1E,MAAM,IAAID,YAAY,CAACY,GAAG,CAACT,OAAO,CAAC;EACrC;AACF,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMU,QAAQ,GAAIC,KAAY,IAAW;EAC9C,IAAI,CAACA,KAAK,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;IACvC,MAAM,IAAId,YAAY,CAAC,8BAA8B,CAAC;EACxD;EACA,IAAI;IACFD,OAAO,CAACc,QAAQ,CAACC,KAAK,CAAC;EACzB,CAAC,CAAC,OAAOH,KAAc,EAAE;IACvB,MAAMC,GAAG,GACPD,KAAK,YAAYV,KAAK,GAAGU,KAAK,GAAG,IAAIV,KAAK,CAAC,qBAAqB,CAAC;IACnE,MAAM,IAAID,YAAY,CAACY,GAAG,CAACT,OAAO,CAAC;EACrC;AACF,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMY,gBAAgB,GAAG,MAAAA,CAAA,KAA4C;EAC1E,IAAI;IACF,MAAMC,MAAM,GAAG,MAAMjB,OAAO,CAACgB,gBAAgB,CAAC,CAAC;IAC/C,OAAOC,MAAM,KAAK,IAAI,GAAG,UAAU,GAAG,QAAQ;EAChD,CAAC,CAAC,OAAOL,KAAc,EAAE;IACvB,MAAMC,GAAG,GACPD,KAAK,YAAYV,KAAK,GAClBU,KAAK,GACL,IAAIV,KAAK,CAAC,8BAA8B,CAAC;IAC/C,MAAM,IAAID,YAAY,CAACY,GAAG,CAACT,OAAO,CAAC;EACrC;AACF,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMc,mBAAmB,GAAIC,OAAgB,IAAW;EAC7D,IAAI;IACFnB,OAAO,CAACkB,mBAAmB,CAACC,OAAO,CAAC;EACtC,CAAC,CAAC,OAAOP,KAAc,EAAE;IACvB,MAAMC,GAAG,GACPD,KAAK,YAAYV,KAAK,GAClBU,KAAK,GACL,IAAIV,KAAK,CAAC,iCAAiC,CAAC;IAClD,MAAM,IAAID,YAAY,CAACY,GAAG,CAACT,OAAO,CAAC;EACrC;AACF,CAAC","ignoreList":[]}
@@ -1,8 +1,21 @@
1
1
  "use strict";
2
2
 
3
- import React, { createContext, useContext, useEffect, useState } from 'react';
3
+ /**
4
+ * @module AdgeistProvider
5
+ * @description Context provider for Adgeist ad-serving configuration and initialization
6
+ */
7
+
8
+ import React, { createContext, useContext, useEffect, useState, useCallback } from 'react';
4
9
  import Adgeist from "../NativeAdgeist.js";
5
10
  import { ConsentModal } from "./ConsentModal.js";
11
+
12
+ /**
13
+ * Interface for Adgeist context
14
+ */
15
+
16
+ /**
17
+ * Props for AdgeistProvider
18
+ */
6
19
  import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
7
20
  const AdgeistContext = /*#__PURE__*/createContext({
8
21
  publisherId: '',
@@ -12,31 +25,46 @@ const AdgeistContext = /*#__PURE__*/createContext({
12
25
  isInitialized: false,
13
26
  setAdgeistConsentModal: () => {}
14
27
  });
28
+
29
+ /**
30
+ * AdgeistProvider component for managing ad-serving configuration
31
+ * @param props - Component properties
32
+ * @returns JSX.Element
33
+ */
15
34
  export const AdgeistProvider = ({
16
35
  children,
17
36
  publisherId = '',
18
37
  apiKey = '',
19
38
  domain = '',
20
39
  customAdgeistApiOrigin = 'bg-services-qa-api.adgeist.ai',
21
- isTestEnvironment = true
40
+ isTestEnvironment = true,
41
+ onInitializationError,
42
+ onInitializationSuccess
22
43
  }) => {
23
44
  const [isInitialized, setIsInitialized] = useState(false);
45
+ const [initializationError, setInitializationError] = useState();
24
46
  const [adgeistConsentModal, setAdgeistConsentModal] = useState(false);
25
- const [isKotlinInitializationFailed, setIsKotlinInitializationFailed] = useState(false);
26
- useEffect(() => {
27
- const initializeAdgeist = async () => {
28
- setIsKotlinInitializationFailed(false);
47
+
48
+ /**
49
+ * Initializes Adgeist SDK
50
+ */
51
+ const initializeAdgeist = useCallback(async () => {
52
+ setInitializationError(undefined);
53
+ setIsInitialized(false);
54
+ try {
55
+ await Adgeist.initializeSdk(customAdgeistApiOrigin);
56
+ setIsInitialized(true);
57
+ onInitializationSuccess?.();
58
+ } catch (error) {
59
+ const err = error instanceof Error ? error : new Error('Unknown error occurred');
60
+ setInitializationError(err);
29
61
  setIsInitialized(false);
30
- try {
31
- await Adgeist.initializeSdk(customAdgeistApiOrigin);
32
- setIsInitialized(true);
33
- } catch {
34
- setIsKotlinInitializationFailed(true);
35
- setIsInitialized(false);
36
- }
37
- };
62
+ onInitializationError?.(err);
63
+ }
64
+ }, [customAdgeistApiOrigin, onInitializationError, onInitializationSuccess]);
65
+ useEffect(() => {
38
66
  initializeAdgeist();
39
- }, [customAdgeistApiOrigin]);
67
+ }, [initializeAdgeist]);
40
68
  return /*#__PURE__*/_jsxs(AdgeistContext.Provider, {
41
69
  value: {
42
70
  publisherId,
@@ -44,14 +72,26 @@ export const AdgeistProvider = ({
44
72
  domain,
45
73
  isTestEnvironment,
46
74
  isInitialized,
75
+ initializationError,
47
76
  setAdgeistConsentModal
48
77
  },
49
- children: [isKotlinInitializationFailed && /*#__PURE__*/_jsx(_Fragment, {
78
+ children: [initializationError && /*#__PURE__*/_jsx(_Fragment, {
50
79
  children: children
51
80
  }), isInitialized && /*#__PURE__*/_jsxs(_Fragment, {
52
81
  children: [adgeistConsentModal && /*#__PURE__*/_jsx(ConsentModal, {}), children]
53
82
  })]
54
83
  });
55
84
  };
56
- export const useAdgeistContext = () => useContext(AdgeistContext);
85
+
86
+ /**
87
+ * Hook to access Adgeist context
88
+ * @returns AdgeistContextType
89
+ */
90
+ export const useAdgeistContext = () => {
91
+ const context = useContext(AdgeistContext);
92
+ if (!context) {
93
+ throw new Error('useAdgeistContext must be used within an AdgeistProvider');
94
+ }
95
+ return context;
96
+ };
57
97
  //# sourceMappingURL=AdgeistProvider.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","createContext","useContext","useEffect","useState","Adgeist","ConsentModal","Fragment","_Fragment","jsx","_jsx","jsxs","_jsxs","AdgeistContext","publisherId","apiKey","domain","isTestEnvironment","isInitialized","setAdgeistConsentModal","AdgeistProvider","children","customAdgeistApiOrigin","setIsInitialized","adgeistConsentModal","isKotlinInitializationFailed","setIsKotlinInitializationFailed","initializeAdgeist","initializeSdk","Provider","value","useAdgeistContext"],"sourceRoot":"../../../src","sources":["components/AdgeistProvider.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,aAAa,EAAEC,UAAU,EAAEC,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAC7E,OAAOC,OAAO,MAAM,qBAAkB;AACtC,SAASC,YAAY,QAAQ,mBAAgB;AAAC,SAAAC,QAAA,IAAAC,SAAA,EAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAoB9C,MAAMC,cAAc,gBAAGZ,aAAa,CAAqB;EACvDa,WAAW,EAAE,EAAE;EACfC,MAAM,EAAE,EAAE;EACVC,MAAM,EAAE,EAAE;EACVC,iBAAiB,EAAE,IAAI;EACvBC,aAAa,EAAE,KAAK;EACpBC,sBAAsB,EAAEA,CAAA,KAAM,CAAC;AACjC,CAAC,CAAC;AAEF,OAAO,MAAMC,eAAmD,GAAGA,CAAC;EAClEC,QAAQ;EACRP,WAAW,GAAG,EAAE;EAChBC,MAAM,GAAG,EAAE;EACXC,MAAM,GAAG,EAAE;EACXM,sBAAsB,GAAG,+BAA+B;EACxDL,iBAAiB,GAAG;AACtB,CAAC,KAAK;EACJ,MAAM,CAACC,aAAa,EAAEK,gBAAgB,CAAC,GAAGnB,QAAQ,CAAC,KAAK,CAAC;EACzD,MAAM,CAACoB,mBAAmB,EAAEL,sBAAsB,CAAC,GAAGf,QAAQ,CAAC,KAAK,CAAC;EACrE,MAAM,CAACqB,4BAA4B,EAAEC,+BAA+B,CAAC,GACnEtB,QAAQ,CAAC,KAAK,CAAC;EAEjBD,SAAS,CAAC,MAAM;IACd,MAAMwB,iBAAiB,GAAG,MAAAA,CAAA,KAAY;MACpCD,+BAA+B,CAAC,KAAK,CAAC;MACtCH,gBAAgB,CAAC,KAAK,CAAC;MAEvB,IAAI;QACF,MAAMlB,OAAO,CAACuB,aAAa,CAACN,sBAAsB,CAAC;QACnDC,gBAAgB,CAAC,IAAI,CAAC;MACxB,CAAC,CAAC,MAAM;QACNG,+BAA+B,CAAC,IAAI,CAAC;QACrCH,gBAAgB,CAAC,KAAK,CAAC;MACzB;IACF,CAAC;IAEDI,iBAAiB,CAAC,CAAC;EACrB,CAAC,EAAE,CAACL,sBAAsB,CAAC,CAAC;EAE5B,oBACEV,KAAA,CAACC,cAAc,CAACgB,QAAQ;IACtBC,KAAK,EAAE;MACLhB,WAAW;MACXC,MAAM;MACNC,MAAM;MACNC,iBAAiB;MACjBC,aAAa;MACbC;IACF,CAAE;IAAAE,QAAA,GAEDI,4BAA4B,iBAAIf,IAAA,CAAAF,SAAA;MAAAa,QAAA,EAAGA;IAAQ,CAAG,CAAC,EAE/CH,aAAa,iBACZN,KAAA,CAAAJ,SAAA;MAAAa,QAAA,GACGG,mBAAmB,iBAAId,IAAA,CAACJ,YAAY,IAAE,CAAC,EACvCe,QAAQ;IAAA,CACT,CACH;EAAA,CACsB,CAAC;AAE9B,CAAC;AAED,OAAO,MAAMU,iBAAiB,GAAGA,CAAA,KAAM7B,UAAU,CAACW,cAAc,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","createContext","useContext","useEffect","useState","useCallback","Adgeist","ConsentModal","Fragment","_Fragment","jsx","_jsx","jsxs","_jsxs","AdgeistContext","publisherId","apiKey","domain","isTestEnvironment","isInitialized","setAdgeistConsentModal","AdgeistProvider","children","customAdgeistApiOrigin","onInitializationError","onInitializationSuccess","setIsInitialized","initializationError","setInitializationError","adgeistConsentModal","initializeAdgeist","undefined","initializeSdk","error","err","Error","Provider","value","useAdgeistContext","context"],"sourceRoot":"../../../src","sources":["components/AdgeistProvider.tsx"],"mappings":";;AAAA;AACA;AACA;AACA;;AAEA,OAAOA,KAAK,IACVC,aAAa,EACbC,UAAU,EACVC,SAAS,EACTC,QAAQ,EACRC,WAAW,QACN,OAAO;AACd,OAAOC,OAAO,MAAM,qBAAkB;AACtC,SAASC,YAAY,QAAQ,mBAAgB;;AAE7C;AACA;AACA;;AAWA;AACA;AACA;AAFA,SAAAC,QAAA,IAAAC,SAAA,EAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAqBA,MAAMC,cAAc,gBAAGb,aAAa,CAAqB;EACvDc,WAAW,EAAE,EAAE;EACfC,MAAM,EAAE,EAAE;EACVC,MAAM,EAAE,EAAE;EACVC,iBAAiB,EAAE,IAAI;EACvBC,aAAa,EAAE,KAAK;EACpBC,sBAAsB,EAAEA,CAAA,KAAM,CAAC;AACjC,CAAC,CAAC;;AAEF;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,eAA+C,GAAGA,CAAC;EAC9DC,QAAQ;EACRP,WAAW,GAAG,EAAE;EAChBC,MAAM,GAAG,EAAE;EACXC,MAAM,GAAG,EAAE;EACXM,sBAAsB,GAAG,+BAA+B;EACxDL,iBAAiB,GAAG,IAAI;EACxBM,qBAAqB;EACrBC;AACF,CAAC,KAAK;EACJ,MAAM,CAACN,aAAa,EAAEO,gBAAgB,CAAC,GAAGtB,QAAQ,CAAU,KAAK,CAAC;EAClE,MAAM,CAACuB,mBAAmB,EAAEC,sBAAsB,CAAC,GAAGxB,QAAQ,CAE5D,CAAC;EACH,MAAM,CAACyB,mBAAmB,EAAET,sBAAsB,CAAC,GACjDhB,QAAQ,CAAU,KAAK,CAAC;;EAE1B;AACF;AACA;EACE,MAAM0B,iBAAiB,GAAGzB,WAAW,CAAC,YAAY;IAChDuB,sBAAsB,CAACG,SAAS,CAAC;IACjCL,gBAAgB,CAAC,KAAK,CAAC;IAEvB,IAAI;MACF,MAAMpB,OAAO,CAAC0B,aAAa,CAACT,sBAAsB,CAAC;MACnDG,gBAAgB,CAAC,IAAI,CAAC;MACtBD,uBAAuB,GAAG,CAAC;IAC7B,CAAC,CAAC,OAAOQ,KAAc,EAAE;MACvB,MAAMC,GAAG,GACPD,KAAK,YAAYE,KAAK,GAAGF,KAAK,GAAG,IAAIE,KAAK,CAAC,wBAAwB,CAAC;MACtEP,sBAAsB,CAACM,GAAG,CAAC;MAC3BR,gBAAgB,CAAC,KAAK,CAAC;MACvBF,qBAAqB,GAAGU,GAAG,CAAC;IAC9B;EACF,CAAC,EAAE,CAACX,sBAAsB,EAAEC,qBAAqB,EAAEC,uBAAuB,CAAC,CAAC;EAE5EtB,SAAS,CAAC,MAAM;IACd2B,iBAAiB,CAAC,CAAC;EACrB,CAAC,EAAE,CAACA,iBAAiB,CAAC,CAAC;EAEvB,oBACEjB,KAAA,CAACC,cAAc,CAACsB,QAAQ;IACtBC,KAAK,EAAE;MACLtB,WAAW;MACXC,MAAM;MACNC,MAAM;MACNC,iBAAiB;MACjBC,aAAa;MACbQ,mBAAmB;MACnBP;IACF,CAAE;IAAAE,QAAA,GAEDK,mBAAmB,iBAAIhB,IAAA,CAAAF,SAAA;MAAAa,QAAA,EAAGA;IAAQ,CAAG,CAAC,EAEtCH,aAAa,iBACZN,KAAA,CAAAJ,SAAA;MAAAa,QAAA,GACGO,mBAAmB,iBAAIlB,IAAA,CAACJ,YAAY,IAAE,CAAC,EACvCe,QAAQ;IAAA,CACT,CACH;EAAA,CACsB,CAAC;AAE9B,CAAC;;AAED;AACA;AACA;AACA;AACA,OAAO,MAAMgB,iBAAiB,GAAGA,CAAA,KAAM;EACrC,MAAMC,OAAO,GAAGrC,UAAU,CAACY,cAAc,CAAC;EAC1C,IAAI,CAACyB,OAAO,EAAE;IACZ,MAAM,IAAIJ,KAAK,CAAC,0DAA0D,CAAC;EAC7E;EACA,OAAOI,OAAO;AAChB,CAAC","ignoreList":[]}