@tiledev/sdk-apptile-live-selling 0.1.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.
Files changed (149) hide show
  1. package/README.md +322 -0
  2. package/android/build.gradle +33 -0
  3. package/android/src/main/AndroidManifest.xml +7 -0
  4. package/android/src/main/java/expo/modules/livepip/LivePipModule.kt +310 -0
  5. package/app.plugin.js +3 -0
  6. package/dist/auctions.d.ts +3 -0
  7. package/dist/auctions.d.ts.map +1 -0
  8. package/dist/auctions.js +152 -0
  9. package/dist/auctions.js.map +1 -0
  10. package/dist/client.d.ts +63 -0
  11. package/dist/client.d.ts.map +1 -0
  12. package/dist/client.js +154 -0
  13. package/dist/client.js.map +1 -0
  14. package/dist/clips.d.ts +3 -0
  15. package/dist/clips.d.ts.map +1 -0
  16. package/dist/clips.js +53 -0
  17. package/dist/clips.js.map +1 -0
  18. package/dist/commentLinks.d.ts +46 -0
  19. package/dist/commentLinks.d.ts.map +1 -0
  20. package/dist/commentLinks.js +120 -0
  21. package/dist/commentLinks.js.map +1 -0
  22. package/dist/engine.d.ts +13 -0
  23. package/dist/engine.d.ts.map +1 -0
  24. package/dist/engine.js +40 -0
  25. package/dist/engine.js.map +1 -0
  26. package/dist/engine.native.d.ts +3 -0
  27. package/dist/engine.native.d.ts.map +1 -0
  28. package/dist/engine.native.js +815 -0
  29. package/dist/engine.native.js.map +1 -0
  30. package/dist/flags.d.ts +5 -0
  31. package/dist/flags.d.ts.map +1 -0
  32. package/dist/flags.js +61 -0
  33. package/dist/flags.js.map +1 -0
  34. package/dist/guest.d.ts +5 -0
  35. package/dist/guest.d.ts.map +1 -0
  36. package/dist/guest.js +89 -0
  37. package/dist/guest.js.map +1 -0
  38. package/dist/index.d.ts +31 -0
  39. package/dist/index.d.ts.map +1 -0
  40. package/dist/index.js +80 -0
  41. package/dist/index.js.map +1 -0
  42. package/dist/liveSelling.d.ts +3 -0
  43. package/dist/liveSelling.d.ts.map +1 -0
  44. package/dist/liveSelling.js +44 -0
  45. package/dist/liveSelling.js.map +1 -0
  46. package/dist/nativeViewTag.d.ts +15 -0
  47. package/dist/nativeViewTag.d.ts.map +1 -0
  48. package/dist/nativeViewTag.js +23 -0
  49. package/dist/nativeViewTag.js.map +1 -0
  50. package/dist/pip.d.ts +14 -0
  51. package/dist/pip.d.ts.map +1 -0
  52. package/dist/pip.js +15 -0
  53. package/dist/pip.js.map +1 -0
  54. package/dist/pip.native.d.ts +11 -0
  55. package/dist/pip.native.d.ts.map +1 -0
  56. package/dist/pip.native.js +47 -0
  57. package/dist/pip.native.js.map +1 -0
  58. package/dist/polls.d.ts +11 -0
  59. package/dist/polls.d.ts.map +1 -0
  60. package/dist/polls.js +135 -0
  61. package/dist/polls.js.map +1 -0
  62. package/dist/react/LiveSellingProvider.d.ts +16 -0
  63. package/dist/react/LiveSellingProvider.d.ts.map +1 -0
  64. package/dist/react/LiveSellingProvider.js +49 -0
  65. package/dist/react/LiveSellingProvider.js.map +1 -0
  66. package/dist/react/LiveVideoTarget.d.ts +22 -0
  67. package/dist/react/LiveVideoTarget.d.ts.map +1 -0
  68. package/dist/react/LiveVideoTarget.js +73 -0
  69. package/dist/react/LiveVideoTarget.js.map +1 -0
  70. package/dist/react/index.d.ts +19 -0
  71. package/dist/react/index.d.ts.map +1 -0
  72. package/dist/react/index.js +43 -0
  73. package/dist/react/index.js.map +1 -0
  74. package/dist/react/useAuction.d.ts +28 -0
  75. package/dist/react/useAuction.d.ts.map +1 -0
  76. package/dist/react/useAuction.js +66 -0
  77. package/dist/react/useAuction.js.map +1 -0
  78. package/dist/react/useAuctionBidGate.d.ts +48 -0
  79. package/dist/react/useAuctionBidGate.d.ts.map +1 -0
  80. package/dist/react/useAuctionBidGate.js +144 -0
  81. package/dist/react/useAuctionBidGate.js.map +1 -0
  82. package/dist/react/useAuctionWins.d.ts +51 -0
  83. package/dist/react/useAuctionWins.d.ts.map +1 -0
  84. package/dist/react/useAuctionWins.js +268 -0
  85. package/dist/react/useAuctionWins.js.map +1 -0
  86. package/dist/react/useClips.d.ts +9 -0
  87. package/dist/react/useClips.d.ts.map +1 -0
  88. package/dist/react/useClips.js +37 -0
  89. package/dist/react/useClips.js.map +1 -0
  90. package/dist/react/useLiveSession.d.ts +34 -0
  91. package/dist/react/useLiveSession.d.ts.map +1 -0
  92. package/dist/react/useLiveSession.js +876 -0
  93. package/dist/react/useLiveSession.js.map +1 -0
  94. package/dist/react/useLiveStreams.d.ts +9 -0
  95. package/dist/react/useLiveStreams.d.ts.map +1 -0
  96. package/dist/react/useLiveStreams.js +35 -0
  97. package/dist/react/useLiveStreams.js.map +1 -0
  98. package/dist/react/useOngoingLive.d.ts +13 -0
  99. package/dist/react/useOngoingLive.d.ts.map +1 -0
  100. package/dist/react/useOngoingLive.js +45 -0
  101. package/dist/react/useOngoingLive.js.map +1 -0
  102. package/dist/react/useReplays.d.ts +15 -0
  103. package/dist/react/useReplays.d.ts.map +1 -0
  104. package/dist/react/useReplays.js +66 -0
  105. package/dist/react/useReplays.js.map +1 -0
  106. package/dist/react/useStreamInfo.d.ts +21 -0
  107. package/dist/react/useStreamInfo.d.ts.map +1 -0
  108. package/dist/react/useStreamInfo.js +125 -0
  109. package/dist/react/useStreamInfo.js.map +1 -0
  110. package/dist/replays.d.ts +3 -0
  111. package/dist/replays.d.ts.map +1 -0
  112. package/dist/replays.js +114 -0
  113. package/dist/replays.js.map +1 -0
  114. package/dist/session.d.ts +23 -0
  115. package/dist/session.d.ts.map +1 -0
  116. package/dist/session.js +464 -0
  117. package/dist/session.js.map +1 -0
  118. package/dist/sessionTypes.d.ts +462 -0
  119. package/dist/sessionTypes.d.ts.map +1 -0
  120. package/dist/sessionTypes.js +55 -0
  121. package/dist/sessionTypes.js.map +1 -0
  122. package/dist/streams.d.ts +67 -0
  123. package/dist/streams.d.ts.map +1 -0
  124. package/dist/streams.js +170 -0
  125. package/dist/streams.js.map +1 -0
  126. package/dist/types.d.ts +591 -0
  127. package/dist/types.d.ts.map +1 -0
  128. package/dist/types.js +17 -0
  129. package/dist/types.js.map +1 -0
  130. package/dist/viewer.d.ts +5 -0
  131. package/dist/viewer.d.ts.map +1 -0
  132. package/dist/viewer.js +66 -0
  133. package/dist/viewer.js.map +1 -0
  134. package/dist/wire.d.ts +155 -0
  135. package/dist/wire.d.ts.map +1 -0
  136. package/dist/wire.js +73 -0
  137. package/dist/wire.js.map +1 -0
  138. package/dist/zego.d.ts +83 -0
  139. package/dist/zego.d.ts.map +1 -0
  140. package/dist/zego.js +13 -0
  141. package/dist/zego.js.map +1 -0
  142. package/expo-module.config.json +9 -0
  143. package/ios/LivePip.podspec +20 -0
  144. package/ios/LivePipController.swift +327 -0
  145. package/ios/LivePipModule.swift +35 -0
  146. package/package.json +91 -0
  147. package/plugin/build/index.d.ts +29 -0
  148. package/plugin/build/index.js +101 -0
  149. package/react/package.json +6 -0
package/dist/viewer.js ADDED
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.viewer = exports.MAX_VIEWER_NAME = void 0;
4
+ /**
5
+ * Viewer identity and name.
6
+ *
7
+ * The viewer id is a stable per-install id reused across streams and launches — the durable key the
8
+ * service uses for poll votes, giveaway entries and moderator mutes. It is not the customer id; a
9
+ * viewer may be signed out. The name is what a signed-out shopper comments under, asked once and
10
+ * remembered so the same person never appears under two identities in one show.
11
+ */
12
+ const client_1 = require("./client");
13
+ const VIEWER_ID_KEY = 'live.viewerId';
14
+ const VIEWER_NAME_KEY = 'live.viewerName';
15
+ /** Long enough for a real name, short enough not to break a comment bubble's layout. */
16
+ exports.MAX_VIEWER_NAME = 24;
17
+ let cachedId = null;
18
+ let cachedName = null;
19
+ function normaliseName(raw) {
20
+ return raw.replace(/\s+/g, ' ').trim().slice(0, exports.MAX_VIEWER_NAME);
21
+ }
22
+ exports.viewer = {
23
+ async id() {
24
+ if (cachedId)
25
+ return cachedId;
26
+ const stored = await (0, client_1.storageGet)(VIEWER_ID_KEY);
27
+ if (stored) {
28
+ cachedId = stored;
29
+ return stored;
30
+ }
31
+ const created = (0, client_1.randomId)(16);
32
+ await (0, client_1.storageSet)(VIEWER_ID_KEY, created);
33
+ cachedId = created;
34
+ return created;
35
+ },
36
+ async loadName() {
37
+ if (cachedName)
38
+ return cachedName;
39
+ try {
40
+ const stored = await (0, client_1.storageGet)(VIEWER_NAME_KEY);
41
+ cachedName = stored ? normaliseName(stored) || null : null;
42
+ return cachedName;
43
+ }
44
+ catch {
45
+ return null;
46
+ }
47
+ },
48
+ cachedName() {
49
+ return cachedName;
50
+ },
51
+ async saveName(raw) {
52
+ const name = normaliseName(raw);
53
+ if (!name)
54
+ return null;
55
+ cachedName = name;
56
+ try {
57
+ await (0, client_1.storageSet)(VIEWER_NAME_KEY, name);
58
+ }
59
+ catch {
60
+ // Kept in memory regardless: the name still applies for this session.
61
+ }
62
+ return name;
63
+ },
64
+ normaliseName,
65
+ };
66
+ //# sourceMappingURL=viewer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"viewer.js","sourceRoot":"","sources":["../src/viewer.ts"],"names":[],"mappings":";;;AAAA;;;;;;;GAOG;AACH,qCAA4D;AAG5D,MAAM,aAAa,GAAG,eAAe,CAAC;AACtC,MAAM,eAAe,GAAG,iBAAiB,CAAC;AAE1C,wFAAwF;AAC3E,QAAA,eAAe,GAAG,EAAE,CAAC;AAElC,IAAI,QAAQ,GAAkB,IAAI,CAAC;AACnC,IAAI,UAAU,GAAkB,IAAI,CAAC;AAErC,SAAS,aAAa,CAAC,GAAW;IAChC,OAAO,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,uBAAe,CAAC,CAAC;AACnE,CAAC;AAEY,QAAA,MAAM,GAAc;IAC/B,KAAK,CAAC,EAAE;QACN,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC;QAC9B,MAAM,MAAM,GAAG,MAAM,IAAA,mBAAU,EAAC,aAAa,CAAC,CAAC;QAC/C,IAAI,MAAM,EAAE,CAAC;YACX,QAAQ,GAAG,MAAM,CAAC;YAClB,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,MAAM,OAAO,GAAG,IAAA,iBAAQ,EAAC,EAAE,CAAC,CAAC;QAC7B,MAAM,IAAA,mBAAU,EAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QACzC,QAAQ,GAAG,OAAO,CAAC;QACnB,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,IAAI,UAAU;YAAE,OAAO,UAAU,CAAC;QAClC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAA,mBAAU,EAAC,eAAe,CAAC,CAAC;YACjD,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;YAC3D,OAAO,UAAU,CAAC;QACpB,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,UAAU;QACR,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,GAAW;QACxB,MAAM,IAAI,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;QAChC,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QACvB,UAAU,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC;YACH,MAAM,IAAA,mBAAU,EAAC,eAAe,EAAE,IAAI,CAAC,CAAC;QAC1C,CAAC;QAAC,MAAM,CAAC;YACP,sEAAsE;QACxE,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,aAAa;CACd,CAAC"}
package/dist/wire.d.ts ADDED
@@ -0,0 +1,155 @@
1
+ /**
2
+ * The shapes that arrive over the wire, and the readers that narrow them.
3
+ *
4
+ * Everything here describes JSON written by the host dashboard, so every field is optional and
5
+ * nothing can be trusted: a payload is `unknown` until a reader has looked at it. That is the point —
6
+ * these types document the wire without pretending it is validated, and the readers below are the only
7
+ * place a value crosses from `unknown` into a domain type.
8
+ *
9
+ * Field names are the host's, misspellings included (`REACTION_ANNOUCEMENT`, `CART_ANNOUCEMENT`).
10
+ */
11
+ export type JsonRecord = Record<string, unknown>;
12
+ export declare function isRecord(value: unknown): value is JsonRecord;
13
+ /** A field as a non-empty string, or null. Numbers are stringified — ids arrive as both. */
14
+ export declare function str(value: unknown): string | null;
15
+ /** A field as a finite number, or null. Accepts the numeric strings the dashboard sends. */
16
+ export declare function num(value: unknown): number | null;
17
+ export declare function bool(value: unknown): boolean;
18
+ export declare function arr(value: unknown): unknown[];
19
+ /** Reads `key` off a value that may not be an object at all. */
20
+ export declare function get(value: unknown, key: string): unknown;
21
+ /** `a.b.c` without a chain of guards at every call site. */
22
+ export declare function path(value: unknown, ...keys: string[]): unknown;
23
+ /** Parses a JSON string, or null. Every Zego channel hands us a string. */
24
+ export declare function parseJson(raw: unknown): unknown;
25
+ /** One entry of `roomStreamUpdate` / `roomStreamExtraInfoUpdate`. */
26
+ export interface WireStreamEntry {
27
+ streamID?: unknown;
28
+ extraInfo?: unknown;
29
+ }
30
+ /** `playerQualityUpdate`. The only field read is the one that reveals a camera left off. */
31
+ export interface WirePlayQuality {
32
+ videoRecvFPS?: unknown;
33
+ }
34
+ /** One `IMRecvBarrageMessage` / `IMRecvBroadcastMessage` entry. */
35
+ export interface WireMessageEntry {
36
+ message?: unknown;
37
+ /** The host's clock — the only reference an auction deadline can be read against. */
38
+ sendTime?: unknown;
39
+ fromUser?: {
40
+ userID?: unknown;
41
+ userName?: unknown;
42
+ };
43
+ }
44
+ /** A comment, as the host publishes it on the barrage channel. */
45
+ export interface WireComment {
46
+ /** Wins over `fromUser.userName`: a bid announcement is relayed under the HOST's identity. */
47
+ name?: unknown;
48
+ comment?: unknown;
49
+ source?: unknown;
50
+ deviceId?: unknown;
51
+ /** The host mutes for everyone by flagging the message, not by dropping it. */
52
+ muted?: unknown;
53
+ isBanned?: unknown;
54
+ urlPreview?: unknown;
55
+ }
56
+ /** `roomStreamExtraInfoUpdate` — product and multiplier changes. */
57
+ export interface WireExtraInfo {
58
+ event?: unknown;
59
+ count?: unknown;
60
+ data?: {
61
+ store_product_id?: unknown;
62
+ product_id?: unknown;
63
+ };
64
+ }
65
+ /** One entry of the host's shadow-mute list. */
66
+ export interface WireMutedUser {
67
+ deviceId?: unknown;
68
+ }
69
+ /** `START_BIDDING` — opening a round. */
70
+ export interface WireBiddingStarted {
71
+ endTimeStamp?: unknown;
72
+ timeStamp?: unknown;
73
+ selectedProductId?: unknown;
74
+ /** A ZegoUser-shaped object on the wire; only its id is routable. See `moderatorIdFrom`. */
75
+ moderatorInCharge?: unknown;
76
+ }
77
+ /** `BROADCAST_BID_INFO` — the host's verdict on a bid. */
78
+ export interface WireBidInfo {
79
+ newHighestBid?: unknown;
80
+ nextBid?: unknown;
81
+ /** Present only when the bid moved the deadline — extended bidding. */
82
+ newEndTimeStamp?: unknown;
83
+ user?: {
84
+ userId?: unknown;
85
+ userName?: unknown;
86
+ };
87
+ }
88
+ /** `BID_WINNER_ANNOUNCEMENT`. */
89
+ export interface WireBidWinner {
90
+ bidWinner?: {
91
+ meta?: {
92
+ winningBid?: unknown;
93
+ user?: {
94
+ userName?: unknown;
95
+ };
96
+ };
97
+ };
98
+ auctionedProduct?: {
99
+ store_product_id?: unknown;
100
+ };
101
+ }
102
+ /** `giveaway_start` / `giveaway_end`. */
103
+ export interface WireGiveawayEvent {
104
+ productId?: unknown;
105
+ variantId?: unknown;
106
+ userCount?: unknown;
107
+ usersCount?: unknown;
108
+ /** The literal string `"null"` when a draw closes with nobody in it. */
109
+ winner?: unknown;
110
+ }
111
+ /** A poll, on either channel the host sends it over. */
112
+ export interface WirePoll {
113
+ poll_uuid?: unknown;
114
+ streaming_id?: unknown;
115
+ question?: unknown;
116
+ options?: unknown;
117
+ /** The tally riding along with the poll, for a viewer who joined mid-poll. */
118
+ pollResults?: unknown;
119
+ total_votes?: unknown;
120
+ }
121
+ /** One option, in a poll or a tally. Ids are numbers in one and strings in the other. */
122
+ export interface WirePollOption {
123
+ optionId?: unknown;
124
+ option_id?: unknown;
125
+ text?: unknown;
126
+ votes?: unknown;
127
+ }
128
+ /**
129
+ * A custom command or a room broadcast.
130
+ *
131
+ * One shape for both because the host sends several messages over each, and at different nesting
132
+ * depths — a poll is `payload.poll` on the command channel and `payload.data.poll` on the broadcast.
133
+ */
134
+ export interface WireEnvelope {
135
+ type?: unknown;
136
+ data?: unknown;
137
+ eventData?: unknown;
138
+ poll?: unknown;
139
+ serverSentTime?: unknown;
140
+ mutedUsers?: unknown;
141
+ active?: unknown;
142
+ slot?: unknown;
143
+ muted?: unknown;
144
+ off?: unknown;
145
+ mixerLayout?: unknown;
146
+ reactionUrl?: unknown;
147
+ userName?: unknown;
148
+ productTitle?: unknown;
149
+ productName?: unknown;
150
+ variantLabel?: unknown;
151
+ productImage?: unknown;
152
+ qty?: unknown;
153
+ donationAmount?: unknown;
154
+ }
155
+ //# sourceMappingURL=wire.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wire.d.ts","sourceRoot":"","sources":["../src/wire.ts"],"names":[],"mappings":"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"}
package/dist/wire.js ADDED
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ /**
3
+ * The shapes that arrive over the wire, and the readers that narrow them.
4
+ *
5
+ * Everything here describes JSON written by the host dashboard, so every field is optional and
6
+ * nothing can be trusted: a payload is `unknown` until a reader has looked at it. That is the point —
7
+ * these types document the wire without pretending it is validated, and the readers below are the only
8
+ * place a value crosses from `unknown` into a domain type.
9
+ *
10
+ * Field names are the host's, misspellings included (`REACTION_ANNOUCEMENT`, `CART_ANNOUCEMENT`).
11
+ */
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.isRecord = isRecord;
14
+ exports.str = str;
15
+ exports.num = num;
16
+ exports.bool = bool;
17
+ exports.arr = arr;
18
+ exports.get = get;
19
+ exports.path = path;
20
+ exports.parseJson = parseJson;
21
+ function isRecord(value) {
22
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
23
+ }
24
+ /** A field as a non-empty string, or null. Numbers are stringified — ids arrive as both. */
25
+ function str(value) {
26
+ if (typeof value === 'string')
27
+ return value || null;
28
+ if (typeof value === 'number' && Number.isFinite(value))
29
+ return String(value);
30
+ return null;
31
+ }
32
+ /** A field as a finite number, or null. Accepts the numeric strings the dashboard sends. */
33
+ function num(value) {
34
+ if (typeof value === 'number')
35
+ return Number.isFinite(value) ? value : null;
36
+ if (typeof value === 'string' && value.trim()) {
37
+ const parsed = Number(value);
38
+ return Number.isFinite(parsed) ? parsed : null;
39
+ }
40
+ return null;
41
+ }
42
+ function bool(value) {
43
+ return value === true;
44
+ }
45
+ function arr(value) {
46
+ return Array.isArray(value) ? value : [];
47
+ }
48
+ /** Reads `key` off a value that may not be an object at all. */
49
+ function get(value, key) {
50
+ return isRecord(value) ? value[key] : undefined;
51
+ }
52
+ /** `a.b.c` without a chain of guards at every call site. */
53
+ function path(value, ...keys) {
54
+ let current = value;
55
+ for (const key of keys) {
56
+ if (!isRecord(current))
57
+ return undefined;
58
+ current = current[key];
59
+ }
60
+ return current;
61
+ }
62
+ /** Parses a JSON string, or null. Every Zego channel hands us a string. */
63
+ function parseJson(raw) {
64
+ if (typeof raw !== 'string')
65
+ return null;
66
+ try {
67
+ return JSON.parse(raw);
68
+ }
69
+ catch {
70
+ return null;
71
+ }
72
+ }
73
+ //# sourceMappingURL=wire.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wire.js","sourceRoot":"","sources":["../src/wire.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;AAMH,4BAEC;AAGD,kBAIC;AAGD,kBAOC;AAED,oBAEC;AAED,kBAEC;AAGD,kBAEC;AAGD,oBAOC;AAGD,8BAOC;AApDD,SAAgB,QAAQ,CAAC,KAAc;IACrC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,4FAA4F;AAC5F,SAAgB,GAAG,CAAC,KAAc;IAChC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,IAAI,IAAI,CAAC;IACpD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9E,OAAO,IAAI,CAAC;AACd,CAAC;AAED,4FAA4F;AAC5F,SAAgB,GAAG,CAAC,KAAc;IAChC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IAC5E,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;QAC9C,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC7B,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;IACjD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAgB,IAAI,CAAC,KAAc;IACjC,OAAO,KAAK,KAAK,IAAI,CAAC;AACxB,CAAC;AAED,SAAgB,GAAG,CAAC,KAAc;IAChC,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;AAC3C,CAAC;AAED,gEAAgE;AAChE,SAAgB,GAAG,CAAC,KAAc,EAAE,GAAW;IAC7C,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAClD,CAAC;AAED,4DAA4D;AAC5D,SAAgB,IAAI,CAAC,KAAc,EAAE,GAAG,IAAc;IACpD,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;YAAE,OAAO,SAAS,CAAC;QACzC,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,2EAA2E;AAC3E,SAAgB,SAAS,CAAC,GAAY;IACpC,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACzC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAY,CAAC;IACpC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
package/dist/zego.d.ts ADDED
@@ -0,0 +1,83 @@
1
+ /**
2
+ * A structural type for the slice of `zego-express-engine-reactnative` this package uses.
3
+ *
4
+ * The SDK is an **optional** peer loaded with a lazy `require()` — a static import would pull the
5
+ * native module into every bundle and make `tsc` depend on it being installed. That leaves the import
6
+ * untyped, so the surface is declared here instead: narrow on purpose, covering only what
7
+ * `engine.native.ts` calls, and structural so the real module satisfies it without an import.
8
+ *
9
+ * If a call is added there and the SDK's own signature disagrees, this file is where it fails.
10
+ */
11
+ /** Zego's own enum values, kept as the numeric literals the SDK exports. */
12
+ export type ZegoScenarioValue = number;
13
+ export type ZegoPublishChannelValue = number;
14
+ export type ZegoOrientationValue = number;
15
+ export interface ZegoUserLike {
16
+ userID: string;
17
+ userName: string;
18
+ }
19
+ export interface ZegoRoomResult {
20
+ errorCode?: number;
21
+ }
22
+ /** Constructor shapes: the SDK exports classes, and the engine only ever news them up. */
23
+ export interface ZegoConstructors {
24
+ ZegoUser: new (userID: string, userName: string) => ZegoUserLike;
25
+ ZegoRoomConfig: new (maxMemberCount: number, isUserStatusNotify: boolean, token: string) => unknown;
26
+ ZegoView: new (reactTag: number, viewMode: number, backgroundColor: number) => unknown;
27
+ ZegoPlayerConfig: new () => unknown;
28
+ ZegoScenario: Record<'Default' | string, ZegoScenarioValue>;
29
+ ZegoPublishChannel: Record<'Main' | string, ZegoPublishChannelValue>;
30
+ ZegoOrientation: Record<'PortraitUp' | string, ZegoOrientationValue>;
31
+ ZegoUpdateType: Record<'Add' | 'Delete' | string, number>;
32
+ }
33
+ /**
34
+ * The engine instance.
35
+ *
36
+ * `on`/`off` are deliberately loose in their listener type: Zego's callbacks differ per channel and
37
+ * the engine narrows each one at its own call site, where the payload is read.
38
+ */
39
+ export interface ZegoEngineInstance {
40
+ on(event: string, listener: (...args: never[]) => void): void;
41
+ off(event: string, listener?: unknown): void;
42
+ loginRoom(roomId: string, user: ZegoUserLike, config: unknown): Promise<ZegoRoomResult | undefined>;
43
+ logoutRoom(roomId: string): Promise<unknown>;
44
+ startPlayingStream(streamId: string, view: unknown, config: unknown): Promise<unknown>;
45
+ stopPlayingStream(streamId: string): Promise<unknown>;
46
+ startPublishingStream(streamId: string, channel: ZegoPublishChannelValue, config: {
47
+ roomID: string;
48
+ }): Promise<unknown>;
49
+ stopPublishingStream(channel: ZegoPublishChannelValue): Promise<unknown>;
50
+ startPreview(view: unknown, channel: ZegoPublishChannelValue): Promise<unknown>;
51
+ stopPreview(channel: ZegoPublishChannelValue): Promise<unknown>;
52
+ muteMicrophone(mute: boolean): Promise<unknown>;
53
+ mutePublishStreamAudio(mute: boolean, channel: ZegoPublishChannelValue): Promise<unknown>;
54
+ enableCamera(enable: boolean, channel: ZegoPublishChannelValue): Promise<unknown>;
55
+ mutePublishStreamVideo(mute: boolean, channel: ZegoPublishChannelValue): Promise<unknown>;
56
+ useFrontCamera(front: boolean, channel: ZegoPublishChannelValue): Promise<unknown>;
57
+ muteSpeaker(mute: boolean): Promise<unknown>;
58
+ setAppOrientation(orientation: ZegoOrientationValue, channel: ZegoPublishChannelValue): Promise<unknown>;
59
+ sendBarrageMessage(roomId: string, message: string): Promise<unknown>;
60
+ sendCustomCommand(roomId: string, command: string, toUsers: ZegoUserLike[]): Promise<unknown>;
61
+ /** Undocumented outside the experimental API; carries the iOS background-video switch. */
62
+ callExperimentalAPI(params: string): Promise<unknown>;
63
+ }
64
+ /** The default export — the engine class, with its statics. */
65
+ export interface ZegoEngineClass {
66
+ instance(): ZegoEngineInstance;
67
+ createEngineWithProfile(profile: {
68
+ appID: number;
69
+ appSign: string;
70
+ scenario: ZegoScenarioValue;
71
+ }): Promise<unknown>;
72
+ destroyEngine(): void;
73
+ }
74
+ /**
75
+ * The module as `require()` returns it.
76
+ *
77
+ * The engine class is the default export and the enums/structs are named exports — but an interop
78
+ * build hands the class back directly, which is why the engine reads `mod.default ?? mod`.
79
+ */
80
+ export type ZegoModule = ZegoConstructors & {
81
+ default?: ZegoEngineClass;
82
+ } & Partial<ZegoEngineClass>;
83
+ //# sourceMappingURL=zego.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zego.d.ts","sourceRoot":"","sources":["../src/zego.ts"],"names":[],"mappings":"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"}
package/dist/zego.js ADDED
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ /**
3
+ * A structural type for the slice of `zego-express-engine-reactnative` this package uses.
4
+ *
5
+ * The SDK is an **optional** peer loaded with a lazy `require()` — a static import would pull the
6
+ * native module into every bundle and make `tsc` depend on it being installed. That leaves the import
7
+ * untyped, so the surface is declared here instead: narrow on purpose, covering only what
8
+ * `engine.native.ts` calls, and structural so the real module satisfies it without an import.
9
+ *
10
+ * If a call is added there and the SDK's own signature disagrees, this file is where it fails.
11
+ */
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ //# sourceMappingURL=zego.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zego.js","sourceRoot":"","sources":["../src/zego.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG"}
@@ -0,0 +1,9 @@
1
+ {
2
+ "platforms": ["apple", "android"],
3
+ "apple": {
4
+ "modules": ["LivePipModule"]
5
+ },
6
+ "android": {
7
+ "modules": ["expo.modules.livepip.LivePipModule"]
8
+ }
9
+ }
@@ -0,0 +1,20 @@
1
+ Pod::Spec.new do |s|
2
+ s.name = 'LivePip'
3
+ s.version = '1.0.0'
4
+ s.summary = 'System picture-in-picture for the Zego live stream'
5
+ s.description = 'Feeds Zego custom-render frames into an AVPictureInPictureController.'
6
+ s.author = 'Apptile'
7
+ s.homepage = 'https://apptile.io'
8
+ s.license = 'MIT'
9
+ # AVPictureInPictureController only accepts a sample-buffer content source from iOS 15.
10
+ s.platforms = { :ios => '15.1' }
11
+ s.source = { git: '' }
12
+ s.static_framework = true
13
+
14
+ s.dependency 'ExpoModulesCore'
15
+ # Same pod the React Native wrapper pulls in, so this resolves to the one installed engine
16
+ # rather than a second copy.
17
+ s.dependency 'ZegoExpressEngine'
18
+
19
+ s.source_files = "**/*.{h,m,mm,swift,hpp,cpp}"
20
+ end