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 +181 -11
- package/ios/ComposerPiano.swift +29 -11
- package/ios/SdkPianoio.mm +10 -5
- package/lib/commonjs/PianoComposer.js +79 -0
- package/lib/commonjs/PianoComposer.js.map +1 -0
- package/lib/commonjs/index.js +7 -24
- package/lib/commonjs/index.js.map +1 -1
- package/lib/module/PianoComposer.js +74 -0
- package/lib/module/PianoComposer.js.map +1 -0
- package/lib/module/index.js +15 -13
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/commonjs/src/PianoComposer.d.ts +26 -0
- package/lib/typescript/commonjs/src/PianoComposer.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/index.d.ts +1 -1
- package/lib/typescript/commonjs/src/index.d.ts.map +1 -1
- package/lib/typescript/module/src/PianoComposer.d.ts +26 -0
- package/lib/typescript/module/src/PianoComposer.d.ts.map +1 -0
- package/lib/typescript/module/src/index.d.ts +1 -1
- package/lib/typescript/module/src/index.d.ts.map +1 -1
- package/package.json +2 -1
- package/src/PianoComposer.tsx +90 -0
- package/src/index.tsx +16 -13
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
39
|
-
```js
|
40
|
-
import { addComposerTag, initializeComposer, getComposer } from 'react-native-sdk-pianoio';
|
111
|
+
Imposta l’URL del referrer.
|
41
112
|
|
42
|
-
|
43
|
-
|
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
|
-
|
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
|
|
package/ios/ComposerPiano.swift
CHANGED
@@ -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() ->
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
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
|
-
|
37
|
+
reject:(nonnull RCTPromiseRejectBlock)reject {
|
38
38
|
PianoComposer *composer = [moduleImpl getComposer];
|
39
39
|
if (composer) {
|
40
|
-
|
41
|
-
|
42
|
-
|
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":"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","ignoreList":[]}
|
package/lib/commonjs/index.js
CHANGED
@@ -3,29 +3,12 @@
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
4
4
|
value: true
|
5
5
|
});
|
6
|
-
|
7
|
-
|
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":["
|
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":[]}
|
package/lib/module/index.js
CHANGED
@@ -1,16 +1,18 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
|
-
import SdkPianoio from './NativeSdkPianoio';
|
4
|
-
export
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
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
|
package/lib/module/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["
|
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
|
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":"
|
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
|
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":"
|
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.
|
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;
|