react-native-sdk-pianoio 0.1.0 → 0.2.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/README.md CHANGED
@@ -6,6 +6,34 @@ Il progetto è ancora in **work in progress**.
6
6
 
7
7
  ## Installazione
8
8
 
9
+ ### Expo
10
+
11
+ #### Installazione di Expo
12
+
13
+ Seguendo la guida presente al link https://docs.expo.dev/get-started/create-a-project/ è possibile effettuare la creazione di un progetto in expo.
14
+
15
+ Una volta effettuato questo è possibile installare questo pacchetto all'interno del progetto.
16
+
17
+ Per installare il pacchetto all'interno del progetto, bisogna fare come prima cosa, l'installazione del pacchetto npm:
18
+
19
+ ```sh
20
+ npm install react-native-sdk-pianoio
21
+ ```
22
+
23
+ In seguito effettuare la dev build così da permettere l'utilizzo dell'SDK
24
+
25
+ ```sh
26
+ npx expo run:ios
27
+ ```
28
+
29
+ Con il comando verrà creata la cartella relativa di ios, che **non** sarà necessario toccare in nessun modo.
30
+
31
+ In seguito si può far partire il progetto, tramite il comando:
32
+
33
+ ```sh
34
+ npx expo start
35
+ ```
36
+
9
37
  ### React native
10
38
 
11
39
  Nel progetto di react native eseguire:
@@ -14,7 +42,7 @@ Nel progetto di react native eseguire:
14
42
  npm install react-native-sdk-pianoio
15
43
  ```
16
44
 
17
- ### iOS
45
+ #### iOS
18
46
 
19
47
  Nel progetto di react native entrare nella cartella per ios ed installare le dipendenze:
20
48
 
@@ -22,7 +50,7 @@ Nel progetto di react native entrare nella cartella per ios ed installare le dip
22
50
  pod install
23
51
  ```
24
52
 
25
- ### Android
53
+ #### Android
26
54
 
27
55
  Nel progetto di react native entrare nella cartella per android e [...]
28
56
 
@@ -30,23 +58,165 @@ Nel progetto di react native entrare nella cartella per android e [...]
30
58
  work in progress
31
59
  ```
32
60
 
33
-
34
61
  ## Utilizzo
35
62
 
36
- Importare i metodi messi a disposizione all'interno di react native.
63
+ ⚠️ Questa libreria al momento è progettata per funzionare con il modulo nativo iOS (NativeSdkPianoio), uno dei prossimi passi sarà renderla compatibile anche per Android.
64
+
65
+ ### Importazione
66
+
67
+ ```ts
68
+ import PianoComposer from './PianoComposer';
69
+ ```
70
+
71
+ ### Creazione del Composer
72
+
73
+ ```ts
74
+ const composer = await PianoComposer.create('your_aid');
75
+ ```
76
+
77
+ ## ✨ API del Composer
78
+
79
+ ### `addTag(tag: string)`
80
+
81
+ Aggiunge un singolo tag all’istanza del composer.
82
+
83
+ ```ts
84
+ await composer.addTag('homepage');
85
+ ```
86
+
87
+ ---
88
+
89
+ ### `addTags(tags: string[])`
90
+
91
+ Aggiunge più tag in una sola chiamata.
92
+
93
+ ```ts
94
+ await composer.addTags(['homepage', 'subscriber']);
95
+ ```
96
+
97
+ ---
98
+
99
+ ### `setZoneId(zoneId: string)`
100
+
101
+ Imposta la zona del Composer.
102
+
103
+ ```ts
104
+ await composer.setZoneId('zone-123');
105
+ ```
106
+
107
+ ---
108
+
109
+ ### `setReferrer(referrer: string)`
37
110
 
38
- ### Inizializzazione del composer
39
- ```js
40
- import { addComposerTag, initializeComposer, getComposer } from 'react-native-sdk-pianoio';
111
+ Imposta l’URL del referrer.
41
112
 
42
- initializeComposer(aidPianoCode);
43
- addComposerTag('tag1');
113
+ ```ts
114
+ await composer.setReferrer('https://example.com/article');
115
+ ```
116
+
117
+ ---
118
+
119
+ ### `setUrl(url: string)`
120
+
121
+ Imposta l’URL del contenuto su cui il Composer è eseguito.
122
+
123
+ ```ts
124
+ await composer.setUrl('https://example.com/page');
125
+ ```
126
+
127
+ ---
128
+
129
+ ### `setCustomVariable(name: string, value: string)`
130
+
131
+ Imposta una variabile personalizzata.
132
+
133
+ ```ts
134
+ await composer.setCustomVariable('userType', 'subscriber');
135
+ ```
136
+
137
+ ---
138
+
139
+ ### `setUserToken(token: string)`
140
+
141
+ Imposta il token utente per identificazione e personalizzazione.
142
+
143
+ ```ts
144
+ await composer.setUserToken('token123');
145
+ ```
146
+
147
+ ---
148
+
149
+ ### `toString()`
150
+
151
+ Restituisce una rappresentazione leggibile dello stato del Composer.
44
152
 
45
- let composer = await getComposer();
46
- console.log(composer);
153
+ ```ts
154
+ console.log(await composer.toString());
47
155
  ```
48
156
 
157
+ Esempio:
49
158
 
159
+ ```
160
+ PianoComposer {
161
+ aid: your_aid,
162
+ tags: homepage,sports,
163
+ zoneId: zone-123,
164
+ referrer: https://example.com,
165
+ customVariables: {"userType":"subscriber"},
166
+ userToken: token123,
167
+ url: https://example.com/article
168
+ }
169
+ ```
170
+
171
+ ---
172
+
173
+ ## 🔍 Metodi statici
174
+
175
+ ### `PianoComposer.create(aid: string): Promise<PianoComposer>`
176
+
177
+ Crea e inizializza una nuova istanza di `PianoComposer`.
178
+
179
+
180
+ ### `PianoComposer.isInitialized(): Promise<boolean>`
181
+
182
+ Verifica se il composer è stato inizializzato correttamente a livello nativo.
183
+
184
+ ```ts
185
+ const initialized = await PianoComposer.isInitialized();
186
+ ```
187
+
188
+ ### `PianoComposer.getComposerFromSdkIOS(): Promise<Object>`
189
+
190
+ Recupera i dati correnti dal modulo nativo iOS. Questo oggetto include:
191
+
192
+ ```ts
193
+ {
194
+ aid: string,
195
+ tags: string[],
196
+ zoneId: string,
197
+ referrer: string,
198
+ url: string,
199
+ userToken: string,
200
+ customVariables: { [key: string]: string }
201
+ }
202
+ ```
203
+
204
+ ## 📋 Esempio completo
205
+
206
+ ```ts
207
+ const composer = await PianoComposer.create('YOUR_AID');
208
+
209
+ await composer.addTags(['homepage', 'premium']);
210
+ await composer.setZoneId('zone-abc');
211
+ await composer.setReferrer('https://my.site');
212
+ await composer.setUrl('https://my.site/article');
213
+ await composer.setUserToken('jwt-token');
214
+ await composer.setCustomVariable('device', 'mobile');
215
+
216
+ await composer.execute();
217
+
218
+ console.log(await composer.toString());
219
+ ```
50
220
 
51
221
  ## Contributing
52
222
 
@@ -25,12 +25,8 @@ import PianoTemplate
25
25
  return composer?.tag(tag);
26
26
  }
27
27
 
28
- @objc public func getComposer() -> PianoComposer? {
29
- print("GET COMPOSER");
30
- return composer;
31
- }
32
-
33
28
  @objc public func addTags(_ tags: [String]) -> PianoComposer? {
29
+ print("ASSIGN TAGS");
34
30
  return composer?.tags(tags);
35
31
  }
36
32
 
@@ -69,11 +65,33 @@ import PianoTemplate
69
65
  }
70
66
  }
71
67
 
72
- @objc public func getTags() -> Set<String> {
73
- if(composer != nil){
74
- return composer?.tags ?? Set<String>();
75
- } else {
76
- return Set<String>();
77
- }
68
+ @objc public func getTags() -> [String] {
69
+ if let tags = composer?.tags, !tags.isEmpty {
70
+ return Array(tags) // Restituisce l'array dei tag se presenti e non vuoti
71
+ } else {
72
+ return [] // Restituisce un array vuoto se non ci sono tag
73
+ }
74
+ }
75
+
76
+ @objc public func getComposer() -> PianoComposer? {
77
+ print("GET COMPOSER");
78
+ return composer;
79
+ }
80
+
81
+ @objc public func getZoneId() -> String {
82
+ return composer?.zoneId ?? ""
83
+ }
84
+
85
+ @objc public func getReferrer() -> String {
86
+ return composer?.referrer ?? ""
78
87
  }
88
+
89
+ @objc public func getUrl() -> String {
90
+ return composer?.url ?? ""
91
+ }
92
+
93
+ @objc public func getUserToken() -> String {
94
+ return composer?.userToken ?? ""
95
+ }
96
+
79
97
  }
package/ios/SdkPianoio.mm CHANGED
@@ -34,13 +34,18 @@ RCT_EXPORT_MODULE()
34
34
 
35
35
  // get composer
36
36
  - (void) getComposer:(nonnull RCTPromiseResolveBlock)resolve
37
- reject:(nonnull RCTPromiseRejectBlock)reject {
37
+ reject:(nonnull RCTPromiseRejectBlock)reject {
38
38
  PianoComposer *composer = [moduleImpl getComposer];
39
39
  if (composer) {
40
- resolve(@{
41
- @"aid": [moduleImpl getAid],
42
- @"hasTags": @([moduleImpl getTags].count > 0)
43
- });
40
+ NSMutableDictionary *response = [NSMutableDictionary new];
41
+ [response setObject:[moduleImpl getAid] forKey:@"aid"];
42
+ [response setObject:[moduleImpl getTags] forKey:@"tags"];
43
+ [response setObject:[moduleImpl getZoneId] forKey:@"zoneId"];
44
+ [response setObject:[moduleImpl getReferrer] forKey:@"referrer"];
45
+ [response setObject:[moduleImpl getUrl] forKey:@"url"];
46
+ [response setObject:[moduleImpl getUserToken] forKey:@"userToken"];
47
+
48
+ resolve(response);
44
49
  } else {
45
50
  reject(@"composer_error", @"Impossibile aggiungere il tag", nil);
46
51
  }
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _NativeSdkPianoio = _interopRequireDefault(require("./NativeSdkPianoio"));
8
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
9
+ class PianoComposer {
10
+ tags = [];
11
+ zoneId = null;
12
+ referrer = null;
13
+ customVariables = {};
14
+ userToken = null;
15
+ url = null;
16
+ constructor(aid) {
17
+ this.aid = aid;
18
+ }
19
+ static async create(aid) {
20
+ await _NativeSdkPianoio.default.initializeComposer(aid);
21
+ return new PianoComposer(aid);
22
+ }
23
+ async addTag(tag) {
24
+ this.tags.push(tag);
25
+ return _NativeSdkPianoio.default.addComposerTag(tag);
26
+ }
27
+ async addTags(tags) {
28
+ this.tags.push(...tags);
29
+ return _NativeSdkPianoio.default.addComposerTags(tags);
30
+ }
31
+ async setZoneId(zoneId) {
32
+ this.zoneId = zoneId;
33
+ return _NativeSdkPianoio.default.setComposerZoneId(zoneId);
34
+ }
35
+ async setReferrer(referrer) {
36
+ this.referrer = referrer;
37
+ return _NativeSdkPianoio.default.setComposerReferrer(referrer);
38
+ }
39
+ async setCustomVariable(name, value) {
40
+ this.customVariables[name] = value;
41
+ return _NativeSdkPianoio.default.setComposerCustomVariable(name, value);
42
+ }
43
+ async setUserToken(token) {
44
+ this.userToken = token;
45
+ return _NativeSdkPianoio.default.setComposerUserToken(token);
46
+ }
47
+ async setUrl(url) {
48
+ this.url = url;
49
+ return _NativeSdkPianoio.default.setComposerUrl(url);
50
+ }
51
+ async execute() {
52
+ return _NativeSdkPianoio.default.executeComposer();
53
+ }
54
+ static async isInitialized() {
55
+ try {
56
+ const result = await _NativeSdkPianoio.default.getComposer();
57
+ return result !== null;
58
+ } catch (e) {
59
+ return false;
60
+ }
61
+ }
62
+ static async getComposerFromSdkIOS() {
63
+ const result = await _NativeSdkPianoio.default.getComposer();
64
+ return result;
65
+ }
66
+ async toString() {
67
+ return `PianoComposer {
68
+ aid: ${this.aid},
69
+ tags: ${this.tags},
70
+ zoneId: ${this.zoneId},
71
+ referrer: ${this.referrer},
72
+ customVariables: ${JSON.stringify(this.customVariables)},
73
+ userToken: ${this.userToken},
74
+ url: ${this.url}
75
+ }`;
76
+ }
77
+ }
78
+ var _default = exports.default = PianoComposer;
79
+ //# sourceMappingURL=PianoComposer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_NativeSdkPianoio","_interopRequireDefault","require","e","__esModule","default","PianoComposer","tags","zoneId","referrer","customVariables","userToken","url","constructor","aid","create","SdkPianoio","initializeComposer","addTag","tag","push","addComposerTag","addTags","addComposerTags","setZoneId","setComposerZoneId","setReferrer","setComposerReferrer","setCustomVariable","name","value","setComposerCustomVariable","setUserToken","token","setComposerUserToken","setUrl","setComposerUrl","execute","executeComposer","isInitialized","result","getComposer","getComposerFromSdkIOS","toString","JSON","stringify","_default","exports"],"sourceRoot":"../../src","sources":["PianoComposer.tsx"],"mappings":";;;;;;AAAA,IAAAA,iBAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA4C,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE5C,MAAMG,aAAa,CAAC;EAEhBC,IAAI,GAAa,EAAE;EACnBC,MAAM,GAAkB,IAAI;EAC5BC,QAAQ,GAAkB,IAAI;EAC9BC,eAAe,GAA8B,CAAC,CAAC;EAC/CC,SAAS,GAAkB,IAAI;EAC/BC,GAAG,GAAkB,IAAI;EAGjBC,WAAWA,CAACC,GAAW,EAAE;IAC/B,IAAI,CAACA,GAAG,GAAGA,GAAG;EAChB;EAEA,aAAaC,MAAMA,CAACD,GAAW,EAA0B;IACvD,MAAME,yBAAU,CAACC,kBAAkB,CAACH,GAAG,CAAC;IACxC,OAAO,IAAIR,aAAa,CAACQ,GAAG,CAAC;EAC/B;EAEA,MAAMI,MAAMA,CAACC,GAAW,EAAE;IACtB,IAAI,CAACZ,IAAI,CAACa,IAAI,CAACD,GAAG,CAAC;IACnB,OAAOH,yBAAU,CAACK,cAAc,CAACF,GAAG,CAAC;EACzC;EAEA,MAAMG,OAAOA,CAACf,IAAc,EAAE;IAC1B,IAAI,CAACA,IAAI,CAACa,IAAI,CAAC,GAAGb,IAAI,CAAC;IACvB,OAAOS,yBAAU,CAACO,eAAe,CAAChB,IAAI,CAAC;EAC3C;EAEA,MAAMiB,SAASA,CAAChB,MAAc,EAAE;IAC5B,IAAI,CAACA,MAAM,GAAGA,MAAM;IACpB,OAAOQ,yBAAU,CAACS,iBAAiB,CAACjB,MAAM,CAAC;EAC/C;EAEA,MAAMkB,WAAWA,CAACjB,QAAgB,EAAE;IAChC,IAAI,CAACA,QAAQ,GAAGA,QAAQ;IACxB,OAAOO,yBAAU,CAACW,mBAAmB,CAAClB,QAAQ,CAAC;EACnD;EAEA,MAAMmB,iBAAiBA,CAACC,IAAY,EAAEC,KAAa,EAAE;IACjD,IAAI,CAACpB,eAAe,CAACmB,IAAI,CAAC,GAAGC,KAAK;IAElC,OAAOd,yBAAU,CAACe,yBAAyB,CAACF,IAAI,EAAEC,KAAK,CAAC;EAC5D;EAEA,MAAME,YAAYA,CAACC,KAAa,EAAE;IAC9B,IAAI,CAACtB,SAAS,GAAGsB,KAAK;IACtB,OAAOjB,yBAAU,CAACkB,oBAAoB,CAACD,KAAK,CAAC;EACjD;EAEA,MAAME,MAAMA,CAACvB,GAAW,EAAE;IACtB,IAAI,CAACA,GAAG,GAAGA,GAAG;IACd,OAAOI,yBAAU,CAACoB,cAAc,CAACxB,GAAG,CAAC;EACzC;EAEA,MAAMyB,OAAOA,CAAA,EAAG;IACd,OAAOrB,yBAAU,CAACsB,eAAe,CAAC,CAAC;EACrC;EAEA,aAAaC,aAAaA,CAAA,EAAqB;IAC7C,IAAI;MACF,MAAMC,MAAM,GAAG,MAAMxB,yBAAU,CAACyB,WAAW,CAAC,CAAC;MAC7C,OAAOD,MAAM,KAAK,IAAI;IACxB,CAAC,CAAC,OAAOrC,CAAC,EAAE;MACV,OAAO,KAAK;IACd;EACF;EAEA,aAAauC,qBAAqBA,CAAA,EAAG;IACjC,MAAMF,MAAM,GAAG,MAAMxB,yBAAU,CAACyB,WAAW,CAAC,CAAC;IAE7C,OAAOD,MAAM;EACjB;EAEA,MAAMG,QAAQA,CAAA,EAAE;IACZ,OAAO;AACf,mBAAmB,IAAI,CAAC7B,GAAG;AAC3B,oBAAoB,IAAI,CAACP,IAAI;AAC7B,sBAAsB,IAAI,CAACC,MAAM;AACjC,wBAAwB,IAAI,CAACC,QAAQ;AACrC,+BAA+BmC,IAAI,CAACC,SAAS,CAAC,IAAI,CAACnC,eAAe,CAAC;AACnE,yBAAyB,IAAI,CAACC,SAAS;AACvC,mBAAmB,IAAI,CAACC,GAAG;AAC3B,UAAU;EACN;AACJ;AAAC,IAAAkC,QAAA,GAAAC,OAAA,CAAA1C,OAAA,GAEcC,aAAa","ignoreList":[]}
@@ -3,29 +3,12 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.setComposerZoneId = exports.setComposerUserToken = exports.setComposerUrl = exports.setComposerReferrer = exports.setComposerCustomVariable = exports.initializeComposer = exports.getComposer = exports.executeComposer = exports.addComposerTags = exports.addComposerTag = void 0;
7
- var _NativeSdkPianoio = _interopRequireDefault(require("./NativeSdkPianoio"));
6
+ Object.defineProperty(exports, "PianoComposer", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _PianoComposer.default;
10
+ }
11
+ });
12
+ var _PianoComposer = _interopRequireDefault(require("./PianoComposer.js"));
8
13
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
9
- const {
10
- initializeComposer,
11
- addComposerTag,
12
- addComposerTags,
13
- setComposerZoneId,
14
- setComposerReferrer,
15
- setComposerUrl,
16
- setComposerCustomVariable,
17
- setComposerUserToken,
18
- executeComposer,
19
- getComposer
20
- } = _NativeSdkPianoio.default;
21
- exports.getComposer = getComposer;
22
- exports.executeComposer = executeComposer;
23
- exports.setComposerUserToken = setComposerUserToken;
24
- exports.setComposerCustomVariable = setComposerCustomVariable;
25
- exports.setComposerUrl = setComposerUrl;
26
- exports.setComposerReferrer = setComposerReferrer;
27
- exports.setComposerZoneId = setComposerZoneId;
28
- exports.addComposerTags = addComposerTags;
29
- exports.addComposerTag = addComposerTag;
30
- exports.initializeComposer = initializeComposer;
31
14
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_NativeSdkPianoio","_interopRequireDefault","require","e","__esModule","default","initializeComposer","addComposerTag","addComposerTags","setComposerZoneId","setComposerReferrer","setComposerUrl","setComposerCustomVariable","setComposerUserToken","executeComposer","getComposer","SdkPianoio","exports"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;AAAA,IAAAA,iBAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA4C,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAErC,MAAM;EACXG,kBAAkB;EAClBC,cAAc;EACdC,eAAe;EACfC,iBAAiB;EACjBC,mBAAmB;EACnBC,cAAc;EACdC,yBAAyB;EACzBC,oBAAoB;EACpBC,eAAe;EACfC;AACF,CAAC,GAAGC,yBAAU;AAACC,OAAA,CAAAF,WAAA,GAAAA,WAAA;AAAAE,OAAA,CAAAH,eAAA,GAAAA,eAAA;AAAAG,OAAA,CAAAJ,oBAAA,GAAAA,oBAAA;AAAAI,OAAA,CAAAL,yBAAA,GAAAA,yBAAA;AAAAK,OAAA,CAAAN,cAAA,GAAAA,cAAA;AAAAM,OAAA,CAAAP,mBAAA,GAAAA,mBAAA;AAAAO,OAAA,CAAAR,iBAAA,GAAAA,iBAAA;AAAAQ,OAAA,CAAAT,eAAA,GAAAA,eAAA;AAAAS,OAAA,CAAAV,cAAA,GAAAA,cAAA;AAAAU,OAAA,CAAAX,kBAAA,GAAAA,kBAAA","ignoreList":[]}
1
+ {"version":3,"names":["_PianoComposer","_interopRequireDefault","require","e","__esModule","default"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;;;;;;AACA,IAAAA,cAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA2D,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA","ignoreList":[]}
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+
3
+ import SdkPianoio from './NativeSdkPianoio';
4
+ class PianoComposer {
5
+ tags = [];
6
+ zoneId = null;
7
+ referrer = null;
8
+ customVariables = {};
9
+ userToken = null;
10
+ url = null;
11
+ constructor(aid) {
12
+ this.aid = aid;
13
+ }
14
+ static async create(aid) {
15
+ await SdkPianoio.initializeComposer(aid);
16
+ return new PianoComposer(aid);
17
+ }
18
+ async addTag(tag) {
19
+ this.tags.push(tag);
20
+ return SdkPianoio.addComposerTag(tag);
21
+ }
22
+ async addTags(tags) {
23
+ this.tags.push(...tags);
24
+ return SdkPianoio.addComposerTags(tags);
25
+ }
26
+ async setZoneId(zoneId) {
27
+ this.zoneId = zoneId;
28
+ return SdkPianoio.setComposerZoneId(zoneId);
29
+ }
30
+ async setReferrer(referrer) {
31
+ this.referrer = referrer;
32
+ return SdkPianoio.setComposerReferrer(referrer);
33
+ }
34
+ async setCustomVariable(name, value) {
35
+ this.customVariables[name] = value;
36
+ return SdkPianoio.setComposerCustomVariable(name, value);
37
+ }
38
+ async setUserToken(token) {
39
+ this.userToken = token;
40
+ return SdkPianoio.setComposerUserToken(token);
41
+ }
42
+ async setUrl(url) {
43
+ this.url = url;
44
+ return SdkPianoio.setComposerUrl(url);
45
+ }
46
+ async execute() {
47
+ return SdkPianoio.executeComposer();
48
+ }
49
+ static async isInitialized() {
50
+ try {
51
+ const result = await SdkPianoio.getComposer();
52
+ return result !== null;
53
+ } catch (e) {
54
+ return false;
55
+ }
56
+ }
57
+ static async getComposerFromSdkIOS() {
58
+ const result = await SdkPianoio.getComposer();
59
+ return result;
60
+ }
61
+ async toString() {
62
+ return `PianoComposer {
63
+ aid: ${this.aid},
64
+ tags: ${this.tags},
65
+ zoneId: ${this.zoneId},
66
+ referrer: ${this.referrer},
67
+ customVariables: ${JSON.stringify(this.customVariables)},
68
+ userToken: ${this.userToken},
69
+ url: ${this.url}
70
+ }`;
71
+ }
72
+ }
73
+ export default PianoComposer;
74
+ //# sourceMappingURL=PianoComposer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["SdkPianoio","PianoComposer","tags","zoneId","referrer","customVariables","userToken","url","constructor","aid","create","initializeComposer","addTag","tag","push","addComposerTag","addTags","addComposerTags","setZoneId","setComposerZoneId","setReferrer","setComposerReferrer","setCustomVariable","name","value","setComposerCustomVariable","setUserToken","token","setComposerUserToken","setUrl","setComposerUrl","execute","executeComposer","isInitialized","result","getComposer","e","getComposerFromSdkIOS","toString","JSON","stringify"],"sourceRoot":"../../src","sources":["PianoComposer.tsx"],"mappings":";;AAAA,OAAOA,UAAU,MAAM,oBAAoB;AAE3C,MAAMC,aAAa,CAAC;EAEhBC,IAAI,GAAa,EAAE;EACnBC,MAAM,GAAkB,IAAI;EAC5BC,QAAQ,GAAkB,IAAI;EAC9BC,eAAe,GAA8B,CAAC,CAAC;EAC/CC,SAAS,GAAkB,IAAI;EAC/BC,GAAG,GAAkB,IAAI;EAGjBC,WAAWA,CAACC,GAAW,EAAE;IAC/B,IAAI,CAACA,GAAG,GAAGA,GAAG;EAChB;EAEA,aAAaC,MAAMA,CAACD,GAAW,EAA0B;IACvD,MAAMT,UAAU,CAACW,kBAAkB,CAACF,GAAG,CAAC;IACxC,OAAO,IAAIR,aAAa,CAACQ,GAAG,CAAC;EAC/B;EAEA,MAAMG,MAAMA,CAACC,GAAW,EAAE;IACtB,IAAI,CAACX,IAAI,CAACY,IAAI,CAACD,GAAG,CAAC;IACnB,OAAOb,UAAU,CAACe,cAAc,CAACF,GAAG,CAAC;EACzC;EAEA,MAAMG,OAAOA,CAACd,IAAc,EAAE;IAC1B,IAAI,CAACA,IAAI,CAACY,IAAI,CAAC,GAAGZ,IAAI,CAAC;IACvB,OAAOF,UAAU,CAACiB,eAAe,CAACf,IAAI,CAAC;EAC3C;EAEA,MAAMgB,SAASA,CAACf,MAAc,EAAE;IAC5B,IAAI,CAACA,MAAM,GAAGA,MAAM;IACpB,OAAOH,UAAU,CAACmB,iBAAiB,CAAChB,MAAM,CAAC;EAC/C;EAEA,MAAMiB,WAAWA,CAAChB,QAAgB,EAAE;IAChC,IAAI,CAACA,QAAQ,GAAGA,QAAQ;IACxB,OAAOJ,UAAU,CAACqB,mBAAmB,CAACjB,QAAQ,CAAC;EACnD;EAEA,MAAMkB,iBAAiBA,CAACC,IAAY,EAAEC,KAAa,EAAE;IACjD,IAAI,CAACnB,eAAe,CAACkB,IAAI,CAAC,GAAGC,KAAK;IAElC,OAAOxB,UAAU,CAACyB,yBAAyB,CAACF,IAAI,EAAEC,KAAK,CAAC;EAC5D;EAEA,MAAME,YAAYA,CAACC,KAAa,EAAE;IAC9B,IAAI,CAACrB,SAAS,GAAGqB,KAAK;IACtB,OAAO3B,UAAU,CAAC4B,oBAAoB,CAACD,KAAK,CAAC;EACjD;EAEA,MAAME,MAAMA,CAACtB,GAAW,EAAE;IACtB,IAAI,CAACA,GAAG,GAAGA,GAAG;IACd,OAAOP,UAAU,CAAC8B,cAAc,CAACvB,GAAG,CAAC;EACzC;EAEA,MAAMwB,OAAOA,CAAA,EAAG;IACd,OAAO/B,UAAU,CAACgC,eAAe,CAAC,CAAC;EACrC;EAEA,aAAaC,aAAaA,CAAA,EAAqB;IAC7C,IAAI;MACF,MAAMC,MAAM,GAAG,MAAMlC,UAAU,CAACmC,WAAW,CAAC,CAAC;MAC7C,OAAOD,MAAM,KAAK,IAAI;IACxB,CAAC,CAAC,OAAOE,CAAC,EAAE;MACV,OAAO,KAAK;IACd;EACF;EAEA,aAAaC,qBAAqBA,CAAA,EAAG;IACjC,MAAMH,MAAM,GAAG,MAAMlC,UAAU,CAACmC,WAAW,CAAC,CAAC;IAE7C,OAAOD,MAAM;EACjB;EAEA,MAAMI,QAAQA,CAAA,EAAE;IACZ,OAAO;AACf,mBAAmB,IAAI,CAAC7B,GAAG;AAC3B,oBAAoB,IAAI,CAACP,IAAI;AAC7B,sBAAsB,IAAI,CAACC,MAAM;AACjC,wBAAwB,IAAI,CAACC,QAAQ;AACrC,+BAA+BmC,IAAI,CAACC,SAAS,CAAC,IAAI,CAACnC,eAAe,CAAC;AACnE,yBAAyB,IAAI,CAACC,SAAS;AACvC,mBAAmB,IAAI,CAACC,GAAG;AAC3B,UAAU;EACN;AACJ;AAEA,eAAeN,aAAa","ignoreList":[]}
@@ -1,16 +1,18 @@
1
1
  "use strict";
2
2
 
3
- import SdkPianoio from './NativeSdkPianoio';
4
- export const {
5
- initializeComposer,
6
- addComposerTag,
7
- addComposerTags,
8
- setComposerZoneId,
9
- setComposerReferrer,
10
- setComposerUrl,
11
- setComposerCustomVariable,
12
- setComposerUserToken,
13
- executeComposer,
14
- getComposer
15
- } = SdkPianoio;
3
+ // import SdkPianoio from './NativeSdkPianoio';
4
+ export { default as PianoComposer } from "./PianoComposer.js";
5
+
6
+ // export const {
7
+ // initializeComposer,
8
+ // getComposer,
9
+ // addComposerTag,
10
+ // addComposerTags,
11
+ // setComposerZoneId,
12
+ // setComposerReferrer,
13
+ // setComposerUrl,
14
+ // setComposerCustomVariable,
15
+ // setComposerUserToken,
16
+ // executeComposer
17
+ // } = SdkPianoio;
16
18
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["SdkPianoio","initializeComposer","addComposerTag","addComposerTags","setComposerZoneId","setComposerReferrer","setComposerUrl","setComposerCustomVariable","setComposerUserToken","executeComposer","getComposer"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA,OAAOA,UAAU,MAAM,oBAAoB;AAE3C,OAAO,MAAM;EACXC,kBAAkB;EAClBC,cAAc;EACdC,eAAe;EACfC,iBAAiB;EACjBC,mBAAmB;EACnBC,cAAc;EACdC,yBAAyB;EACzBC,oBAAoB;EACpBC,eAAe;EACfC;AACF,CAAC,GAAGV,UAAU","ignoreList":[]}
1
+ {"version":3,"names":["default","PianoComposer"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA;AACA,SAASA,OAAO,IAAIC,aAAa,QAAQ,oBAAiB;;AAE1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","ignoreList":[]}
@@ -0,0 +1,26 @@
1
+ declare class PianoComposer {
2
+ aid: string;
3
+ tags: string[];
4
+ zoneId: string | null;
5
+ referrer: string | null;
6
+ customVariables: {
7
+ [key: string]: string;
8
+ };
9
+ userToken: string | null;
10
+ url: string | null;
11
+ private constructor();
12
+ static create(aid: string): Promise<PianoComposer>;
13
+ addTag(tag: string): Promise<string>;
14
+ addTags(tags: string[]): Promise<string>;
15
+ setZoneId(zoneId: string): Promise<string>;
16
+ setReferrer(referrer: string): Promise<string>;
17
+ setCustomVariable(name: string, value: string): Promise<string>;
18
+ setUserToken(token: string): Promise<string>;
19
+ setUrl(url: string): Promise<string>;
20
+ execute(): Promise<string>;
21
+ static isInitialized(): Promise<boolean>;
22
+ static getComposerFromSdkIOS(): Promise<string>;
23
+ toString(): Promise<string>;
24
+ }
25
+ export default PianoComposer;
26
+ //# sourceMappingURL=PianoComposer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PianoComposer.d.ts","sourceRoot":"","sources":["../../../../src/PianoComposer.tsx"],"names":[],"mappings":"AAEA,cAAM,aAAa;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,EAAE,CAAM;IACpB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAQ;IAC7B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAQ;IAC/B,eAAe,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAM;IAChD,SAAS,EAAE,MAAM,GAAG,IAAI,CAAQ;IAChC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAQ;IAG1B,OAAO;WAIM,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAKlD,MAAM,CAAC,GAAG,EAAE,MAAM;IAKlB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE;IAKtB,SAAS,CAAC,MAAM,EAAE,MAAM;IAKxB,WAAW,CAAC,QAAQ,EAAE,MAAM;IAK5B,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAM7C,YAAY,CAAC,KAAK,EAAE,MAAM;IAK1B,MAAM,CAAC,GAAG,EAAE,MAAM;IAKlB,OAAO;WAIA,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC;WASjC,qBAAqB;IAM5B,QAAQ;CAWjB;AAED,eAAe,aAAa,CAAC"}
@@ -1,2 +1,2 @@
1
- export declare const initializeComposer: (aid: string) => Promise<string>, addComposerTag: (tag: string) => Promise<string>, addComposerTags: (tags: string[]) => Promise<string>, setComposerZoneId: (zoneId: string) => Promise<string>, setComposerReferrer: (referrer: string) => Promise<string>, setComposerUrl: (url: string) => Promise<string>, setComposerCustomVariable: (name: string, value: string) => Promise<string>, setComposerUserToken: (token: string) => Promise<string>, executeComposer: () => Promise<string>, getComposer: () => Promise<string>;
1
+ export { default as PianoComposer } from './PianoComposer';
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.tsx"],"names":[],"mappings":"AAEA,eAAO,MACL,kBAAkB,oCAClB,cAAc,oCACd,eAAe,uCACf,iBAAiB,uCACjB,mBAAmB,yCACnB,cAAc,oCACd,yBAAyB,oDACzB,oBAAoB,sCACpB,eAAe,yBACf,WAAW,uBACC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,26 @@
1
+ declare class PianoComposer {
2
+ aid: string;
3
+ tags: string[];
4
+ zoneId: string | null;
5
+ referrer: string | null;
6
+ customVariables: {
7
+ [key: string]: string;
8
+ };
9
+ userToken: string | null;
10
+ url: string | null;
11
+ private constructor();
12
+ static create(aid: string): Promise<PianoComposer>;
13
+ addTag(tag: string): Promise<string>;
14
+ addTags(tags: string[]): Promise<string>;
15
+ setZoneId(zoneId: string): Promise<string>;
16
+ setReferrer(referrer: string): Promise<string>;
17
+ setCustomVariable(name: string, value: string): Promise<string>;
18
+ setUserToken(token: string): Promise<string>;
19
+ setUrl(url: string): Promise<string>;
20
+ execute(): Promise<string>;
21
+ static isInitialized(): Promise<boolean>;
22
+ static getComposerFromSdkIOS(): Promise<string>;
23
+ toString(): Promise<string>;
24
+ }
25
+ export default PianoComposer;
26
+ //# sourceMappingURL=PianoComposer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PianoComposer.d.ts","sourceRoot":"","sources":["../../../../src/PianoComposer.tsx"],"names":[],"mappings":"AAEA,cAAM,aAAa;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,EAAE,CAAM;IACpB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAQ;IAC7B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAQ;IAC/B,eAAe,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAM;IAChD,SAAS,EAAE,MAAM,GAAG,IAAI,CAAQ;IAChC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAQ;IAG1B,OAAO;WAIM,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAKlD,MAAM,CAAC,GAAG,EAAE,MAAM;IAKlB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE;IAKtB,SAAS,CAAC,MAAM,EAAE,MAAM;IAKxB,WAAW,CAAC,QAAQ,EAAE,MAAM;IAK5B,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAM7C,YAAY,CAAC,KAAK,EAAE,MAAM;IAK1B,MAAM,CAAC,GAAG,EAAE,MAAM;IAKlB,OAAO;WAIA,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC;WASjC,qBAAqB;IAM5B,QAAQ;CAWjB;AAED,eAAe,aAAa,CAAC"}
@@ -1,2 +1,2 @@
1
- export declare const initializeComposer: (aid: string) => Promise<string>, addComposerTag: (tag: string) => Promise<string>, addComposerTags: (tags: string[]) => Promise<string>, setComposerZoneId: (zoneId: string) => Promise<string>, setComposerReferrer: (referrer: string) => Promise<string>, setComposerUrl: (url: string) => Promise<string>, setComposerCustomVariable: (name: string, value: string) => Promise<string>, setComposerUserToken: (token: string) => Promise<string>, executeComposer: () => Promise<string>, getComposer: () => Promise<string>;
1
+ export { default as PianoComposer } from './PianoComposer';
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.tsx"],"names":[],"mappings":"AAEA,eAAO,MACL,kBAAkB,oCAClB,cAAc,oCACd,eAAe,uCACf,iBAAiB,uCACjB,mBAAmB,yCACnB,cAAc,oCACd,yBAAyB,oDACzB,oBAAoB,sCACpB,eAAe,yBACf,WAAW,uBACC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC"}
package/package.json CHANGED
@@ -1,10 +1,11 @@
1
1
  {
2
2
  "name": "react-native-sdk-pianoio",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "description": "Piano io sdk integration",
5
5
  "source": "./src/index.tsx",
6
6
  "main": "./lib/commonjs/index.js",
7
7
  "module": "./lib/module/index.js",
8
+ "types": "lib/typescript/module/src/index.d.ts",
8
9
  "exports": {
9
10
  ".": {
10
11
  "import": {
@@ -0,0 +1,90 @@
1
+ import SdkPianoio from './NativeSdkPianoio';
2
+
3
+ class PianoComposer {
4
+ aid: string;
5
+ tags: string[] = [];
6
+ zoneId: string | null = null;
7
+ referrer: string | null = null;
8
+ customVariables: { [key: string]: string } = {};
9
+ userToken: string | null = null;
10
+ url: string | null = null;
11
+
12
+
13
+ private constructor(aid: string) {
14
+ this.aid = aid;
15
+ }
16
+
17
+ static async create(aid: string): Promise<PianoComposer> {
18
+ await SdkPianoio.initializeComposer(aid);
19
+ return new PianoComposer(aid);
20
+ }
21
+
22
+ async addTag(tag: string) {
23
+ this.tags.push(tag);
24
+ return SdkPianoio.addComposerTag(tag);
25
+ }
26
+
27
+ async addTags(tags: string[]) {
28
+ this.tags.push(...tags);
29
+ return SdkPianoio.addComposerTags(tags);
30
+ }
31
+
32
+ async setZoneId(zoneId: string) {
33
+ this.zoneId = zoneId;
34
+ return SdkPianoio.setComposerZoneId(zoneId);
35
+ }
36
+
37
+ async setReferrer(referrer: string) {
38
+ this.referrer = referrer;
39
+ return SdkPianoio.setComposerReferrer(referrer);
40
+ }
41
+
42
+ async setCustomVariable(name: string, value: string) {
43
+ this.customVariables[name] = value;
44
+
45
+ return SdkPianoio.setComposerCustomVariable(name, value);
46
+ }
47
+
48
+ async setUserToken(token: string) {
49
+ this.userToken = token;
50
+ return SdkPianoio.setComposerUserToken(token);
51
+ }
52
+
53
+ async setUrl(url: string) {
54
+ this.url = url;
55
+ return SdkPianoio.setComposerUrl(url);
56
+ }
57
+
58
+ async execute() {
59
+ return SdkPianoio.executeComposer();
60
+ }
61
+
62
+ static async isInitialized(): Promise<boolean> {
63
+ try {
64
+ const result = await SdkPianoio.getComposer();
65
+ return result !== null;
66
+ } catch (e) {
67
+ return false;
68
+ }
69
+ }
70
+
71
+ static async getComposerFromSdkIOS() {
72
+ const result = await SdkPianoio.getComposer();
73
+
74
+ return result;
75
+ }
76
+
77
+ async toString(){
78
+ return `PianoComposer {
79
+ aid: ${this.aid},
80
+ tags: ${this.tags},
81
+ zoneId: ${this.zoneId},
82
+ referrer: ${this.referrer},
83
+ customVariables: ${JSON.stringify(this.customVariables)},
84
+ userToken: ${this.userToken},
85
+ url: ${this.url}
86
+ }`;
87
+ }
88
+ }
89
+
90
+ export default PianoComposer;
package/src/index.tsx CHANGED
@@ -1,14 +1,17 @@
1
- import SdkPianoio from './NativeSdkPianoio';
1
+ // import SdkPianoio from './NativeSdkPianoio';
2
+ export { default as PianoComposer } from './PianoComposer';
3
+
4
+ // export const {
5
+ // initializeComposer,
6
+ // getComposer,
7
+ // addComposerTag,
8
+ // addComposerTags,
9
+ // setComposerZoneId,
10
+ // setComposerReferrer,
11
+ // setComposerUrl,
12
+ // setComposerCustomVariable,
13
+ // setComposerUserToken,
14
+ // executeComposer
15
+ // } = SdkPianoio;
16
+
2
17
 
3
- export const {
4
- initializeComposer,
5
- addComposerTag,
6
- addComposerTags,
7
- setComposerZoneId,
8
- setComposerReferrer,
9
- setComposerUrl,
10
- setComposerCustomVariable,
11
- setComposerUserToken,
12
- executeComposer,
13
- getComposer
14
- } = SdkPianoio;