nodejs-insta-private-api-mqtt 1.0.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 (210) hide show
  1. package/README.md +1650 -0
  2. package/dist/constants/constants.js +280 -0
  3. package/dist/constants/index.js +41 -0
  4. package/dist/core/client.js +243 -0
  5. package/dist/core/repository.js +7 -0
  6. package/dist/core/request.js +212 -0
  7. package/dist/core/state.js +1456 -0
  8. package/dist/core/utils.js +786 -0
  9. package/dist/downloadMedia.js +381 -0
  10. package/dist/errors/index.d.ts +16 -0
  11. package/dist/errors/index.js +30 -0
  12. package/dist/errors/index.js.map +1 -0
  13. package/dist/fbns/fbns.client.d.ts +32 -0
  14. package/dist/fbns/fbns.client.events.d.ts +41 -0
  15. package/dist/fbns/fbns.client.events.js +3 -0
  16. package/dist/fbns/fbns.client.events.js.map +1 -0
  17. package/dist/fbns/fbns.client.js +179 -0
  18. package/dist/fbns/fbns.client.js.map +1 -0
  19. package/dist/fbns/fbns.device-auth.d.ts +17 -0
  20. package/dist/fbns/fbns.device-auth.js +54 -0
  21. package/dist/fbns/fbns.device-auth.js.map +1 -0
  22. package/dist/fbns/fbns.types.d.ts +83 -0
  23. package/dist/fbns/fbns.types.js +3 -0
  24. package/dist/fbns/fbns.types.js.map +1 -0
  25. package/dist/fbns/fbns.utilities.d.ts +2 -0
  26. package/dist/fbns/fbns.utilities.js +79 -0
  27. package/dist/fbns/fbns.utilities.js.map +1 -0
  28. package/dist/fbns/index.d.ts +4 -0
  29. package/dist/fbns/index.js +21 -0
  30. package/dist/fbns/index.js.map +1 -0
  31. package/dist/index.js +39 -0
  32. package/dist/mqttot/index.d.ts +4 -0
  33. package/dist/mqttot/index.js +21 -0
  34. package/dist/mqttot/index.js.map +1 -0
  35. package/dist/mqttot/mqttot.client.d.ts +39 -0
  36. package/dist/mqttot/mqttot.client.js +120 -0
  37. package/dist/mqttot/mqttot.client.js.map +1 -0
  38. package/dist/mqttot/mqttot.connect.request.packet.d.ts +7 -0
  39. package/dist/mqttot/mqttot.connect.request.packet.js +9 -0
  40. package/dist/mqttot/mqttot.connect.request.packet.js.map +1 -0
  41. package/dist/mqttot/mqttot.connect.response.packet.d.ts +7 -0
  42. package/dist/mqttot/mqttot.connect.response.packet.js +24 -0
  43. package/dist/mqttot/mqttot.connect.response.packet.js.map +1 -0
  44. package/dist/mqttot/mqttot.connection.d.ts +57 -0
  45. package/dist/mqttot/mqttot.connection.js +56 -0
  46. package/dist/mqttot/mqttot.connection.js.map +1 -0
  47. package/dist/package.json +59 -0
  48. package/dist/realtime/commands/commands.d.ts +15 -0
  49. package/dist/realtime/commands/commands.js +21 -0
  50. package/dist/realtime/commands/commands.js.map +1 -0
  51. package/dist/realtime/commands/direct.commands.d.ts +75 -0
  52. package/dist/realtime/commands/direct.commands.js +186 -0
  53. package/dist/realtime/commands/direct.commands.js.map +1 -0
  54. package/dist/realtime/commands/enhanced.direct.commands.js +987 -0
  55. package/dist/realtime/commands/index.d.ts +2 -0
  56. package/dist/realtime/commands/index.js +19 -0
  57. package/dist/realtime/commands/index.js.map +1 -0
  58. package/dist/realtime/delta-sync.manager.js +293 -0
  59. package/dist/realtime/features/dm-sender.js +88 -0
  60. package/dist/realtime/features/error-handler.js +73 -0
  61. package/dist/realtime/features/gap-handler.js +61 -0
  62. package/dist/realtime/features/presence.manager.js +66 -0
  63. package/dist/realtime/index.js +30 -0
  64. package/dist/realtime/messages/app-presence.event.d.ts +9 -0
  65. package/dist/realtime/messages/app-presence.event.js +3 -0
  66. package/dist/realtime/messages/app-presence.event.js.map +1 -0
  67. package/dist/realtime/messages/index.d.ts +3 -0
  68. package/dist/realtime/messages/index.js +20 -0
  69. package/dist/realtime/messages/index.js.map +1 -0
  70. package/dist/realtime/messages/message-sync.message.d.ts +222 -0
  71. package/dist/realtime/messages/message-sync.message.js +43 -0
  72. package/dist/realtime/messages/message-sync.message.js.map +1 -0
  73. package/dist/realtime/messages/realtime-sub.direct.data.d.ts +11 -0
  74. package/dist/realtime/messages/realtime-sub.direct.data.js +3 -0
  75. package/dist/realtime/messages/realtime-sub.direct.data.js.map +1 -0
  76. package/dist/realtime/messages/thread-update.message.d.ts +68 -0
  77. package/dist/realtime/messages/thread-update.message.js +3 -0
  78. package/dist/realtime/messages/thread-update.message.js.map +1 -0
  79. package/dist/realtime/mixins/index.d.ts +3 -0
  80. package/dist/realtime/mixins/index.js +20 -0
  81. package/dist/realtime/mixins/index.js.map +1 -0
  82. package/dist/realtime/mixins/message-sync.mixin.d.ts +8 -0
  83. package/dist/realtime/mixins/message-sync.mixin.js +381 -0
  84. package/dist/realtime/mixins/message-sync.mixin.js.map +1 -0
  85. package/dist/realtime/mixins/mixin.d.ts +19 -0
  86. package/dist/realtime/mixins/mixin.js +41 -0
  87. package/dist/realtime/mixins/mixin.js.map +1 -0
  88. package/dist/realtime/mixins/presence-typing.mixin.js +33 -0
  89. package/dist/realtime/mixins/realtime-sub.mixin.d.ts +8 -0
  90. package/dist/realtime/mixins/realtime-sub.mixin.js +55 -0
  91. package/dist/realtime/mixins/realtime-sub.mixin.js.map +1 -0
  92. package/dist/realtime/parsers/graphql-parser.js +43 -0
  93. package/dist/realtime/parsers/graphql.parser.d.ts +15 -0
  94. package/dist/realtime/parsers/graphql.parser.js +22 -0
  95. package/dist/realtime/parsers/graphql.parser.js.map +1 -0
  96. package/dist/realtime/parsers/index.d.ts +6 -0
  97. package/dist/realtime/parsers/index.js +23 -0
  98. package/dist/realtime/parsers/index.js.map +1 -0
  99. package/dist/realtime/parsers/iris-parser.js +43 -0
  100. package/dist/realtime/parsers/iris.parser.d.ts +17 -0
  101. package/dist/realtime/parsers/iris.parser.js +10 -0
  102. package/dist/realtime/parsers/iris.parser.js.map +1 -0
  103. package/dist/realtime/parsers/json-parser.js +43 -0
  104. package/dist/realtime/parsers/json.parser.d.ts +6 -0
  105. package/dist/realtime/parsers/json.parser.js +10 -0
  106. package/dist/realtime/parsers/json.parser.js.map +1 -0
  107. package/dist/realtime/parsers/parser.d.ts +9 -0
  108. package/dist/realtime/parsers/parser.js +3 -0
  109. package/dist/realtime/parsers/parser.js.map +1 -0
  110. package/dist/realtime/parsers/region-hint-parser.js +43 -0
  111. package/dist/realtime/parsers/region-hint.parser.d.ts +12 -0
  112. package/dist/realtime/parsers/region-hint.parser.js +15 -0
  113. package/dist/realtime/parsers/region-hint.parser.js.map +1 -0
  114. package/dist/realtime/parsers/skywalker-parser.js +43 -0
  115. package/dist/realtime/parsers/skywalker.parser.d.ts +12 -0
  116. package/dist/realtime/parsers/skywalker.parser.js +15 -0
  117. package/dist/realtime/parsers/skywalker.parser.js.map +1 -0
  118. package/dist/realtime/parsers-advanced.js +158 -0
  119. package/dist/realtime/proto/common.proto +38 -0
  120. package/dist/realtime/proto/direct.proto +65 -0
  121. package/dist/realtime/proto/ig-messages.proto +83 -0
  122. package/dist/realtime/proto/iris.proto +188 -0
  123. package/dist/realtime/proto-parser.js +195 -0
  124. package/dist/realtime/protocols/iris.handshake.js +74 -0
  125. package/dist/realtime/protocols/proto-definitions.js +80 -0
  126. package/dist/realtime/protocols/skywalker.protocol.js +91 -0
  127. package/dist/realtime/realtime.client.events.js +3 -0
  128. package/dist/realtime/realtime.client.js +449 -0
  129. package/dist/realtime/realtime.service.js +462 -0
  130. package/dist/realtime/reconnect.manager.js +94 -0
  131. package/dist/realtime/session.manager.js +121 -0
  132. package/dist/realtime/subscriptions/graphql.subscription.d.ts +47 -0
  133. package/dist/realtime/subscriptions/graphql.subscription.js +99 -0
  134. package/dist/realtime/subscriptions/graphql.subscription.js.map +1 -0
  135. package/dist/realtime/subscriptions/index.d.ts +2 -0
  136. package/dist/realtime/subscriptions/index.js +19 -0
  137. package/dist/realtime/subscriptions/index.js.map +1 -0
  138. package/dist/realtime/subscriptions/skywalker.subscription.d.ts +4 -0
  139. package/dist/realtime/subscriptions/skywalker.subscription.js +13 -0
  140. package/dist/realtime/subscriptions/skywalker.subscription.js.map +1 -0
  141. package/dist/realtime/topic-map.js +71 -0
  142. package/dist/realtime/topic.js +80 -0
  143. package/dist/repositories/account.repository.js +261 -0
  144. package/dist/repositories/direct-thread.repository.js +247 -0
  145. package/dist/repositories/direct.repository.js +153 -0
  146. package/dist/repositories/feed.repository.js +233 -0
  147. package/dist/repositories/friendship.repository.js +190 -0
  148. package/dist/repositories/hashtag.repository.js +101 -0
  149. package/dist/repositories/highlights.repository.js +127 -0
  150. package/dist/repositories/location.repository.js +84 -0
  151. package/dist/repositories/media.repository.js +165 -0
  152. package/dist/repositories/story.repository.js +156 -0
  153. package/dist/repositories/upload.repository.js +167 -0
  154. package/dist/repositories/user.repository.js +94 -0
  155. package/dist/sendmedia/index.js +11 -0
  156. package/dist/sendmedia/sendFile.js +154 -0
  157. package/dist/sendmedia/sendPhoto.js +145 -0
  158. package/dist/sendmedia/uploadPhoto.js +175 -0
  159. package/dist/sendmedia/uploadfFile.js +264 -0
  160. package/dist/services/live.service.js +147 -0
  161. package/dist/services/search.service.js +116 -0
  162. package/dist/shared/index.js +35 -0
  163. package/dist/shared/shared.js +86 -0
  164. package/dist/thrift/index.d.ts +3 -0
  165. package/dist/thrift/index.js +20 -0
  166. package/dist/thrift/index.js.map +1 -0
  167. package/dist/thrift/thrift.d.ts +59 -0
  168. package/dist/thrift/thrift.js +101 -0
  169. package/dist/thrift/thrift.js.map +1 -0
  170. package/dist/thrift/thrift.reading.d.ts +41 -0
  171. package/dist/thrift/thrift.reading.js +327 -0
  172. package/dist/thrift/thrift.reading.js.map +1 -0
  173. package/dist/thrift/thrift.writing.d.ts +44 -0
  174. package/dist/thrift/thrift.writing.js +342 -0
  175. package/dist/thrift/thrift.writing.js.map +1 -0
  176. package/dist/types/index.js +285 -0
  177. package/dist/useMultiFileAuthState.js +437 -0
  178. package/dist/utils/helper-1.js +1 -0
  179. package/dist/utils/helper-10.js +1 -0
  180. package/dist/utils/helper-11.js +1 -0
  181. package/dist/utils/helper-12.js +1 -0
  182. package/dist/utils/helper-13.js +1 -0
  183. package/dist/utils/helper-14.js +1 -0
  184. package/dist/utils/helper-15.js +1 -0
  185. package/dist/utils/helper-16.js +1 -0
  186. package/dist/utils/helper-17.js +1 -0
  187. package/dist/utils/helper-18.js +1 -0
  188. package/dist/utils/helper-19.js +1 -0
  189. package/dist/utils/helper-2.js +1 -0
  190. package/dist/utils/helper-20.js +1 -0
  191. package/dist/utils/helper-21.js +1 -0
  192. package/dist/utils/helper-22.js +1 -0
  193. package/dist/utils/helper-23.js +1 -0
  194. package/dist/utils/helper-24.js +1 -0
  195. package/dist/utils/helper-25.js +1 -0
  196. package/dist/utils/helper-26.js +1 -0
  197. package/dist/utils/helper-27.js +1 -0
  198. package/dist/utils/helper-28.js +1 -0
  199. package/dist/utils/helper-29.js +1 -0
  200. package/dist/utils/helper-3.js +1 -0
  201. package/dist/utils/helper-30.js +1 -0
  202. package/dist/utils/helper-4.js +1 -0
  203. package/dist/utils/helper-5.js +1 -0
  204. package/dist/utils/helper-6.js +1 -0
  205. package/dist/utils/helper-7.js +1 -0
  206. package/dist/utils/helper-8.js +1 -0
  207. package/dist/utils/helper-9.js +1 -0
  208. package/dist/utils/index.js +280 -0
  209. package/examples/listen-to-messages.js +86 -0
  210. package/package.json +79 -0
@@ -0,0 +1,342 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BufferWriter = exports.thriftWriteFromObject = void 0;
4
+ const thrift_1 = require("./thrift");
5
+ const errors_1 = require("../errors");
6
+ function thriftWriteFromObject(obj, descriptors) {
7
+ const writer = BufferWriter.empty();
8
+ thriftWriteSingleLayerFromObject(obj, descriptors, writer);
9
+ writer.writeStop();
10
+ return writer.buffer;
11
+ }
12
+ exports.thriftWriteFromObject = thriftWriteFromObject;
13
+ function thriftWriteSingleLayerFromObject(obj, descriptors, writer) {
14
+ const entries = Object.entries(obj);
15
+ for (const entry of entries) {
16
+ const name = entry[0];
17
+ const value = entry[1];
18
+ if (typeof value === 'undefined')
19
+ continue;
20
+ const descriptor = descriptors.find(d => d.fieldName === name);
21
+ if (!descriptor)
22
+ throw new errors_1.IllegalArgumentError(`Descriptor for ${name} not found`);
23
+ switch (descriptor.type & 0xff) {
24
+ case thrift_1.ThriftTypes.BOOLEAN:
25
+ case thrift_1.ThriftTypes.TRUE:
26
+ case thrift_1.ThriftTypes.FALSE: {
27
+ writer.writeBoolean(descriptor.field, !!value);
28
+ break;
29
+ }
30
+ case thrift_1.ThriftTypes.BYTE: {
31
+ if (typeof value === 'number') {
32
+ writer.writeInt8(descriptor.field, value);
33
+ }
34
+ else {
35
+ throw new errors_1.IllegalArgumentError(`Value of ${name} is not a number`);
36
+ }
37
+ break;
38
+ }
39
+ case thrift_1.ThriftTypes.INT_16: {
40
+ if (typeof value === 'number') {
41
+ writer.writeInt16(descriptor.field, value);
42
+ }
43
+ else {
44
+ throw new errors_1.IllegalArgumentError(`Value of ${name} is not a number`);
45
+ }
46
+ break;
47
+ }
48
+ case thrift_1.ThriftTypes.INT_32: {
49
+ if (typeof value === 'number') {
50
+ writer.writeInt32(descriptor.field, value);
51
+ }
52
+ else {
53
+ throw new errors_1.IllegalArgumentError(`Value of ${name} is not a number`);
54
+ }
55
+ break;
56
+ }
57
+ case thrift_1.ThriftTypes.INT_64: {
58
+ if (typeof value === 'number') {
59
+ writer.writeInt64Buffer(descriptor.field, BigInt(value));
60
+ }
61
+ else if (typeof value === 'bigint') {
62
+ writer.writeInt64Buffer(descriptor.field, value);
63
+ }
64
+ else {
65
+ throw new errors_1.IllegalArgumentError(`Value of ${name} is neither a bigint nor a number`);
66
+ }
67
+ break;
68
+ }
69
+ case thrift_1.ThriftTypes.LIST: {
70
+ // @ts-ignore
71
+ writer.writeList(descriptor.field, descriptor.type >> 8, value);
72
+ break;
73
+ }
74
+ case thrift_1.ThriftTypes.STRUCT: {
75
+ writer.writeStruct(descriptor.field);
76
+ thriftWriteSingleLayerFromObject(value, descriptor.structDescriptors ?? [], writer);
77
+ writer.writeStop();
78
+ break;
79
+ }
80
+ case thrift_1.ThriftTypes.BINARY: {
81
+ if (typeof value === 'string') {
82
+ writer.writeString(descriptor.field, value);
83
+ }
84
+ else {
85
+ throw new errors_1.IllegalArgumentError(`Value of ${name} is not a string`);
86
+ }
87
+ break;
88
+ }
89
+ case thrift_1.ThriftTypes.MAP: {
90
+ if (descriptor.type === thrift_1.ThriftTypes.MAP_BINARY_BINARY) {
91
+ let pairs;
92
+ if (Array.isArray(value)) {
93
+ //[{key: 'a', value: 'b'}]
94
+ pairs = value.map((x) => [x.key, x.value]);
95
+ }
96
+ else {
97
+ // {a: 'b'}
98
+ pairs = Object.entries(value);
99
+ }
100
+ writer.writeMapHeader(descriptor.field, pairs.length, thrift_1.ThriftTypes.BINARY, thrift_1.ThriftTypes.BINARY);
101
+ if (pairs.length !== 0) {
102
+ for (const pair of pairs) {
103
+ writer.writeStringDirect(pair[0]).writeStringDirect(pair[1]);
104
+ }
105
+ }
106
+ }
107
+ else {
108
+ throw new errors_1.ThriftError(`Map of type ${descriptor.type} not impl.`);
109
+ }
110
+ break;
111
+ }
112
+ default: {
113
+ throw new errors_1.ThriftError(`Could not find type ${descriptor.type} for ${name}`);
114
+ }
115
+ }
116
+ }
117
+ }
118
+ class BufferWriter {
119
+ get buffer() {
120
+ return this._buffer;
121
+ }
122
+ get position() {
123
+ return this._position;
124
+ }
125
+ get length() {
126
+ return this._buffer.length;
127
+ }
128
+ get field() {
129
+ return this._field;
130
+ }
131
+ get stack() {
132
+ return this._stack;
133
+ }
134
+ constructor(data, length, buffer) {
135
+ this._position = 0;
136
+ this._field = 0;
137
+ this._stack = [];
138
+ this._buffer = data ? Buffer.from(data) : length ? Buffer.alloc(length) : buffer ? buffer : Buffer.from([]);
139
+ this._position = 0;
140
+ }
141
+ static fromLength(len) {
142
+ return new BufferWriter(undefined, len, undefined);
143
+ }
144
+ static fromBuffer(buf) {
145
+ return new BufferWriter(undefined, undefined, buf);
146
+ }
147
+ static fromString(data) {
148
+ return new BufferWriter(data, undefined, undefined);
149
+ }
150
+ static empty() {
151
+ return new BufferWriter(undefined, undefined, undefined);
152
+ }
153
+ move(bytes) {
154
+ this._position = this._position + bytes;
155
+ return this._position - bytes;
156
+ }
157
+ writeVarInt(num) {
158
+ while (true) {
159
+ let byte = num & ~0x7f;
160
+ if (byte === 0) {
161
+ this.writeByte(num);
162
+ break;
163
+ }
164
+ else if (byte === -128) {
165
+ // -128 = 0b1000_0000 but it's the last an no other bytes will follow
166
+ this.writeByte(0);
167
+ break;
168
+ }
169
+ else {
170
+ byte = (num & 0xff) | 0x80;
171
+ this.writeByte(byte);
172
+ num = num >> 7;
173
+ }
174
+ }
175
+ return this;
176
+ }
177
+ writeField(field, type) {
178
+ const delta = field - this.field;
179
+ if (delta > 0 && delta <= 15) {
180
+ this.writeByte((delta << 4) | type);
181
+ }
182
+ else {
183
+ this.writeByte(type);
184
+ this.writeWord(field);
185
+ }
186
+ this._field = field;
187
+ return this;
188
+ }
189
+ writeBuffer(buf) {
190
+ this._buffer = Buffer.concat([this._buffer, buf]);
191
+ this.move(buf.length);
192
+ return this;
193
+ }
194
+ writeByte(byte) {
195
+ const buf = Buffer.alloc(1);
196
+ buf.writeUInt8(byte, 0);
197
+ this.writeBuffer(buf);
198
+ return this;
199
+ }
200
+ writeWord(num) {
201
+ return this.writeVarInt(BufferWriter.toZigZag(num, 0x10));
202
+ }
203
+ writeInt(num) {
204
+ return this.writeVarInt(BufferWriter.toZigZag(num, 0x20));
205
+ }
206
+ writeLong(num) {
207
+ if (typeof num === 'object') {
208
+ num = num.int;
209
+ }
210
+ if (typeof num !== 'bigint') {
211
+ num = BigInt(num);
212
+ }
213
+ this.writeBigint(BufferWriter.bigintToZigZag(num));
214
+ return this;
215
+ }
216
+ writeBigint(n) {
217
+ while (true) {
218
+ if ((n & ~BigInt(0x7f)) === BigInt(0)) {
219
+ this.writeByte(Number(n));
220
+ break;
221
+ }
222
+ else {
223
+ this.writeByte(Number((n & BigInt(0x7f)) | BigInt(0x80)));
224
+ n = n >> BigInt(7);
225
+ }
226
+ }
227
+ }
228
+ writeMapHeader(field, size, keyType, valueType) {
229
+ this.writeField(field, thrift_1.ThriftTypes.MAP);
230
+ if (size === 0) {
231
+ this.writeByte(0);
232
+ }
233
+ else {
234
+ this.writeVarInt(size);
235
+ this.writeByte(((keyType & 0xf) << 4) | (valueType & 0xf));
236
+ }
237
+ return this;
238
+ }
239
+ writeBoolean(field, bool) {
240
+ return this.writeField(field, bool ? thrift_1.ThriftTypes.TRUE : thrift_1.ThriftTypes.FALSE);
241
+ }
242
+ writeString(field, s) {
243
+ this.writeField(field, thrift_1.ThriftTypes.BINARY);
244
+ return this.writeStringDirect(s);
245
+ }
246
+ writeStringDirect(s) {
247
+ const buf = Buffer.from(s, 'utf8');
248
+ this.writeVarInt(buf.length);
249
+ this.writeBuffer(buf);
250
+ return this;
251
+ }
252
+ writeStop() {
253
+ this.writeByte(thrift_1.ThriftTypes.STOP);
254
+ if (this.stack.length > 0) {
255
+ this.popStack();
256
+ }
257
+ return this;
258
+ }
259
+ writeInt8(field, num) {
260
+ this.writeField(field, thrift_1.ThriftTypes.BYTE);
261
+ return this.writeByte(num);
262
+ }
263
+ writeInt16(field, num) {
264
+ this.writeField(field, thrift_1.ThriftTypes.INT_16);
265
+ return this.writeWord(num);
266
+ }
267
+ writeInt32(field, num) {
268
+ this.writeField(field, thrift_1.ThriftTypes.INT_32);
269
+ return this.writeInt(num);
270
+ }
271
+ writeInt64Buffer(field, num) {
272
+ this.writeField(field, thrift_1.ThriftTypes.INT_64);
273
+ return this.writeLong(num);
274
+ }
275
+ writeList(field, type, list) {
276
+ this.writeField(field, thrift_1.ThriftTypes.LIST);
277
+ const size = list.length;
278
+ if (size < 0x0f) {
279
+ this.writeByte((size << 4) | type);
280
+ }
281
+ else {
282
+ this.writeByte(0xf0 | type);
283
+ this.writeVarInt(size);
284
+ }
285
+ switch (type) {
286
+ case thrift_1.ThriftTypes.TRUE:
287
+ case thrift_1.ThriftTypes.FALSE: {
288
+ list.forEach(el => this.writeByte(el ? thrift_1.ThriftTypes.TRUE : thrift_1.ThriftTypes.FALSE));
289
+ break;
290
+ }
291
+ case thrift_1.ThriftTypes.BYTE: {
292
+ list.forEach(el => this.writeByte(el));
293
+ break;
294
+ }
295
+ case thrift_1.ThriftTypes.INT_16: {
296
+ list.forEach(el => this.writeWord(el));
297
+ break;
298
+ }
299
+ case thrift_1.ThriftTypes.INT_32: {
300
+ list.forEach(el => this.writeInt(el));
301
+ break;
302
+ }
303
+ case thrift_1.ThriftTypes.INT_64: {
304
+ list.forEach(el => this.writeLong(BigInt(el)));
305
+ break;
306
+ }
307
+ case thrift_1.ThriftTypes.BINARY: {
308
+ list.forEach(el => {
309
+ const buf = Buffer.from(el, 'utf8');
310
+ this.writeVarInt(buf.length);
311
+ this.writeBuffer(buf);
312
+ });
313
+ break;
314
+ }
315
+ default: {
316
+ throw new errors_1.ThriftError('not impl');
317
+ }
318
+ }
319
+ return this;
320
+ }
321
+ writeStruct(field) {
322
+ this.writeField(field, thrift_1.ThriftTypes.STRUCT);
323
+ this.pushStack();
324
+ return this;
325
+ }
326
+ pushStack() {
327
+ this._stack.push(this.field);
328
+ this._field = 0;
329
+ }
330
+ popStack() {
331
+ this._field = this._stack.pop() ?? -1;
332
+ }
333
+ toString() {
334
+ return this._buffer.toString('ascii');
335
+ }
336
+ static bigintToZigZag(n) {
337
+ return (n << BigInt(1)) ^ (n >> BigInt(63));
338
+ }
339
+ }
340
+ exports.BufferWriter = BufferWriter;
341
+ BufferWriter.toZigZag = (n, bits) => (n << 1) ^ (n >> (bits - 1));
342
+ //# sourceMappingURL=thrift.writing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"thrift.writing.js","sourceRoot":"","sources":["../../src/thrift/thrift.writing.ts"],"names":[],"mappings":";;;AAAA,qCAA0F;AAC1F,sCAA8D;AAE9D,SAAgB,qBAAqB,CAAC,GAAuB,EAAE,WAAqC;IACjG,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,EAAE,CAAC;IACpC,gCAAgC,CAAC,GAAG,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;IAC3D,MAAM,CAAC,SAAS,EAAE,CAAC;IACnB,OAAO,MAAM,CAAC,MAAM,CAAC;AACxB,CAAC;AALD,sDAKC;AAED,SAAS,gCAAgC,CACtC,GAAuB,EACvB,WAAqC,EACrC,MAAoB;IAEpB,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAEpC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC3B,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACvB,IAAI,OAAO,KAAK,KAAK,WAAW;YAAE,SAAS;QAE3C,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC;QAC/D,IAAI,CAAC,UAAU;YAAE,MAAM,IAAI,6BAAoB,CAAC,kBAAkB,IAAI,YAAY,CAAC,CAAC;QAEpF,QAAQ,UAAU,CAAC,IAAI,GAAG,IAAI,EAAE,CAAC;YAC9B,KAAK,oBAAW,CAAC,OAAO,CAAC;YACzB,KAAK,oBAAW,CAAC,IAAI,CAAC;YACtB,KAAK,oBAAW,CAAC,KAAK,CAAC,CAAC,CAAC;gBACtB,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;gBAC/C,MAAM;YACT,CAAC;YACD,KAAK,oBAAW,CAAC,IAAI,CAAC,CAAC,CAAC;gBACrB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;oBAC7B,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;gBAC7C,CAAC;qBAAM,CAAC;oBACL,MAAM,IAAI,6BAAoB,CAAC,YAAY,IAAI,kBAAkB,CAAC,CAAC;gBACtE,CAAC;gBACD,MAAM;YACT,CAAC;YACD,KAAK,oBAAW,CAAC,MAAM,CAAC,CAAC,CAAC;gBACvB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;oBAC7B,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;gBAC9C,CAAC;qBAAM,CAAC;oBACL,MAAM,IAAI,6BAAoB,CAAC,YAAY,IAAI,kBAAkB,CAAC,CAAC;gBACtE,CAAC;gBACD,MAAM;YACT,CAAC;YACD,KAAK,oBAAW,CAAC,MAAM,CAAC,CAAC,CAAC;gBACvB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;oBAC7B,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;gBAC9C,CAAC;qBAAM,CAAC;oBACL,MAAM,IAAI,6BAAoB,CAAC,YAAY,IAAI,kBAAkB,CAAC,CAAC;gBACtE,CAAC;gBACD,MAAM;YACT,CAAC;YACD,KAAK,oBAAW,CAAC,MAAM,CAAC,CAAC,CAAC;gBACvB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;oBAC7B,MAAM,CAAC,gBAAgB,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;gBAC5D,CAAC;qBAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;oBACpC,MAAM,CAAC,gBAAgB,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;gBACpD,CAAC;qBAAM,CAAC;oBACL,MAAM,IAAI,6BAAoB,CAAC,YAAY,IAAI,mCAAmC,CAAC,CAAC;gBACvF,CAAC;gBACD,MAAM;YACT,CAAC;YACD,KAAK,oBAAW,CAAC,IAAI,CAAC,CAAC,CAAC;gBACrB,aAAa;gBACb,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,EAAE,UAAU,CAAC,IAAI,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;gBAChE,MAAM;YACT,CAAC;YACD,KAAK,oBAAW,CAAC,MAAM,CAAC,CAAC,CAAC;gBACvB,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;gBACrC,gCAAgC,CAAC,KAAK,EAAE,UAAU,CAAC,iBAAiB,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC;gBACpF,MAAM,CAAC,SAAS,EAAE,CAAC;gBACnB,MAAM;YACT,CAAC;YACD,KAAK,oBAAW,CAAC,MAAM,CAAC,CAAC,CAAC;gBACvB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;oBAC7B,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;gBAC/C,CAAC;qBAAM,CAAC;oBACL,MAAM,IAAI,6BAAoB,CAAC,YAAY,IAAI,kBAAkB,CAAC,CAAC;gBACtE,CAAC;gBACD,MAAM;YACT,CAAC;YACD,KAAK,oBAAW,CAAC,GAAG,CAAC,CAAC,CAAC;gBACpB,IAAI,UAAU,CAAC,IAAI,KAAK,oBAAW,CAAC,iBAAiB,EAAE,CAAC;oBACrD,IAAI,KAAyB,CAAC;oBAC9B,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;wBACxB,0BAA0B;wBAC1B,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAiC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;oBAC9E,CAAC;yBAAM,CAAC;wBACL,WAAW;wBACX,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;oBACjC,CAAC;oBACD,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,oBAAW,CAAC,MAAM,EAAE,oBAAW,CAAC,MAAM,CAAC,CAAC;oBAC9F,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBACtB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;4BACxB,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;wBAChE,CAAC;oBACJ,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACL,MAAM,IAAI,oBAAW,CAAC,eAAe,UAAU,CAAC,IAAI,YAAY,CAAC,CAAC;gBACrE,CAAC;gBACD,MAAM;YACT,CAAC;YACD,OAAO,CAAC,CAAC,CAAC;gBACP,MAAM,IAAI,oBAAW,CAAC,uBAAuB,UAAU,CAAC,IAAI,QAAQ,IAAI,EAAE,CAAC,CAAC;YAC/E,CAAC;QACJ,CAAC;IACJ,CAAC;AACJ,CAAC;AAED,MAAa,YAAY;IACtB,IAAW,MAAM;QACd,OAAO,IAAI,CAAC,OAAO,CAAC;IACvB,CAAC;IAKD,IAAW,QAAQ;QAChB,OAAO,IAAI,CAAC,SAAS,CAAC;IACzB,CAAC;IAED,IAAW,MAAM;QACd,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;IAC9B,CAAC;IAGD,IAAW,KAAK;QACb,OAAO,IAAI,CAAC,MAAM,CAAC;IACtB,CAAC;IAGD,IAAW,KAAK;QACb,OAAO,IAAI,CAAC,MAAM,CAAC;IACtB,CAAC;IAED,YAAoB,IAAa,EAAE,MAAe,EAAE,MAAe;QAnB3D,cAAS,GAAG,CAAC,CAAC;QASd,WAAM,GAAG,CAAC,CAAC;QAKX,WAAM,GAAa,EAAE,CAAC;QAM3B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5G,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;IACtB,CAAC;IAEM,MAAM,CAAC,UAAU,CAAC,GAAW;QACjC,OAAO,IAAI,YAAY,CAAC,SAAS,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;IACtD,CAAC;IAEM,MAAM,CAAC,UAAU,CAAC,GAAW;QACjC,OAAO,IAAI,YAAY,CAAC,SAAS,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;IACtD,CAAC;IAEM,MAAM,CAAC,UAAU,CAAC,IAAY;QAClC,OAAO,IAAI,YAAY,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IACvD,CAAC;IAEM,MAAM,CAAC,KAAK;QAChB,OAAO,IAAI,YAAY,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IAC5D,CAAC;IAEM,IAAI,CAAC,KAAa;QACtB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACxC,OAAO,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;IACjC,CAAC;IAEO,WAAW,CAAC,GAAW;QAC5B,OAAO,IAAI,EAAE,CAAC;YACX,IAAI,IAAI,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC;YACvB,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;gBACd,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;gBACpB,MAAM;YACT,CAAC;iBAAM,IAAI,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC;gBACxB,qEAAqE;gBACrE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBAClB,MAAM;YACT,CAAC;iBAAM,CAAC;gBACL,IAAI,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;gBAC3B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBACrB,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC;YAClB,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC;IACf,CAAC;IAEO,UAAU,CAAC,KAAa,EAAE,IAAY;QAC3C,MAAM,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACjC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,IAAI,EAAE,EAAE,CAAC;YAC5B,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;QACvC,CAAC;aAAM,CAAC;YACL,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACrB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QAEpB,OAAO,IAAI,CAAC;IACf,CAAC;IAEO,WAAW,CAAC,GAAW;QAC5B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;QAClD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACtB,OAAO,IAAI,CAAC;IACf,CAAC;IAEO,SAAS,CAAC,IAAY;QAC3B,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC5B,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACxB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACtB,OAAO,IAAI,CAAC;IACf,CAAC;IAEO,SAAS,CAAC,GAAW;QAC1B,OAAO,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;IAC7D,CAAC;IAEO,QAAQ,CAAC,GAAW;QACzB,OAAO,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;IAC7D,CAAC;IAEO,SAAS,CAAC,GAAwC;QACvD,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC3B,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;QACjB,CAAC;QACD,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC3B,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;QACD,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC;QACnD,OAAO,IAAI,CAAC;IACf,CAAC;IAEO,WAAW,CAAC,CAAS;QAC1B,OAAO,IAAI,EAAE,CAAC;YACX,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC1B,MAAM;YACT,CAAC;iBAAM,CAAC;gBACL,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC1D,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;YACtB,CAAC;QACJ,CAAC;IACJ,CAAC;IAEM,cAAc,CAAC,KAAa,EAAE,IAAY,EAAE,OAAe,EAAE,SAAiB;QAClF,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,oBAAW,CAAC,GAAG,CAAC,CAAC;QACxC,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;YACd,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACrB,CAAC;aAAM,CAAC;YACL,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YACvB,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC;QAC9D,CAAC;QACD,OAAO,IAAI,CAAC;IACf,CAAC;IAEM,YAAY,CAAC,KAAa,EAAE,IAAa;QAC7C,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,oBAAW,CAAC,IAAI,CAAC,CAAC,CAAC,oBAAW,CAAC,KAAK,CAAC,CAAC;IAC9E,CAAC;IAEM,WAAW,CAAC,KAAa,EAAE,CAAS;QACxC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,oBAAW,CAAC,MAAM,CAAC,CAAC;QAC3C,OAAO,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC;IAEM,iBAAiB,CAAC,CAAS;QAC/B,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QACnC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC7B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACtB,OAAO,IAAI,CAAC;IACf,CAAC;IAEM,SAAS;QACb,IAAI,CAAC,SAAS,CAAC,oBAAW,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,IAAI,CAAC,QAAQ,EAAE,CAAC;QACnB,CAAC;QACD,OAAO,IAAI,CAAC;IACf,CAAC;IAEM,SAAS,CAAC,KAAa,EAAE,GAAW;QACxC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,oBAAW,CAAC,IAAI,CAAC,CAAC;QACzC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IAEM,UAAU,CAAC,KAAa,EAAE,GAAW;QACzC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,oBAAW,CAAC,MAAM,CAAC,CAAC;QAC3C,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IAEM,UAAU,CAAC,KAAa,EAAE,GAAW;QACzC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,oBAAW,CAAC,MAAM,CAAC,CAAC;QAC3C,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;IAEM,gBAAgB,CAAC,KAAa,EAAE,GAAU;QAC9C,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,oBAAW,CAAC,MAAM,CAAC,CAAC;QAC3C,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IAEM,SAAS,CAAC,KAAa,EAAE,IAAY,EAAE,IAAQ;QACnD,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,oBAAW,CAAC,IAAI,CAAC,CAAC;QACzC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;QAEzB,IAAI,IAAI,GAAG,IAAI,EAAE,CAAC;YACf,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;QACtC,CAAC;aAAM,CAAC;YACL,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;YAC5B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,QAAQ,IAAI,EAAE,CAAC;YACZ,KAAK,oBAAW,CAAC,IAAI,CAAC;YACtB,KAAK,oBAAW,CAAC,KAAK,CAAC,CAAC,CAAC;gBACtB,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,oBAAW,CAAC,IAAI,CAAC,CAAC,CAAC,oBAAW,CAAC,KAAK,CAAC,CAAC,CAAC;gBAC9E,MAAM;YACT,CAAC;YACD,KAAK,oBAAW,CAAC,IAAI,CAAC,CAAC,CAAC;gBACrB,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;gBACvC,MAAM;YACT,CAAC;YACD,KAAK,oBAAW,CAAC,MAAM,CAAC,CAAC,CAAC;gBACvB,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;gBACvC,MAAM;YACT,CAAC;YACD,KAAK,oBAAW,CAAC,MAAM,CAAC,CAAC,CAAC;gBACvB,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;gBACtC,MAAM;YACT,CAAC;YACD,KAAK,oBAAW,CAAC,MAAM,CAAC,CAAC,CAAC;gBACvB,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC/C,MAAM;YACT,CAAC;YACD,KAAK,oBAAW,CAAC,MAAM,CAAC,CAAC,CAAC;gBACvB,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;oBACf,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;oBACpC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;oBAC7B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;gBACzB,CAAC,CAAC,CAAC;gBACH,MAAM;YACT,CAAC;YACD,OAAO,CAAC,CAAC,CAAC;gBACP,MAAM,IAAI,oBAAW,CAAC,UAAU,CAAC,CAAC;YACrC,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC;IACf,CAAC;IAEM,WAAW,CAAC,KAAa;QAC7B,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,oBAAW,CAAC,MAAM,CAAC,CAAC;QAC3C,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,OAAO,IAAI,CAAC;IACf,CAAC;IAEM,SAAS;QACb,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IACnB,CAAC;IAEM,QAAQ;QACZ,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;IACzC,CAAC;IAEM,QAAQ;QACZ,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;IAEM,MAAM,CAAC,cAAc,CAAC,CAAS;QACnC,OAAO,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/C,CAAC;;AA5PJ,oCA+PC;AADgB,qBAAQ,GAAG,CAAC,CAAS,EAAE,IAAY,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,AAA5D,CAA6D"}
@@ -0,0 +1,285 @@
1
+ /**
2
+ * Type definitions for nodejs-insta-private-api
3
+ * These are JavaScript representations of common data structures
4
+ */
5
+
6
+ class IgUser {
7
+ constructor(data = {}) {
8
+ this.pk = data.pk;
9
+ this.username = data.username;
10
+ this.full_name = data.full_name;
11
+ this.is_private = data.is_private;
12
+ this.profile_pic_url = data.profile_pic_url;
13
+ this.profile_pic_id = data.profile_pic_id;
14
+ this.is_verified = data.is_verified;
15
+ this.has_anonymous_profile_picture = data.has_anonymous_profile_picture;
16
+ this.can_boost_post = data.can_boost_post;
17
+ this.can_see_organic_insights = data.can_see_organic_insights;
18
+ this.show_insights_terms = data.show_insights_terms;
19
+ this.reel_auto_archive = data.reel_auto_archive;
20
+ this.is_unpublished = data.is_unpublished;
21
+ this.is_favorite = data.is_favorite;
22
+ this.is_favorite_for_stories = data.is_favorite_for_stories;
23
+ this.is_favorite_for_highlights = data.is_favorite_for_highlights;
24
+ this.live_subscription_status = data.live_subscription_status;
25
+ this.subscription_status = data.subscription_status;
26
+ this.usertags_count = data.usertags_count;
27
+ this.total_igtv_videos = data.total_igtv_videos;
28
+ this.total_clips_count = data.total_clips_count;
29
+ this.has_videos = data.has_videos;
30
+ this.has_music = data.has_music;
31
+ this.can_be_reported_as_fraud = data.can_be_reported_as_fraud;
32
+ this.can_follow_hashtag = data.can_follow_hashtag;
33
+ this.is_business = data.is_business;
34
+ this.account_type = data.account_type;
35
+ this.is_call_to_action_enabled = data.is_call_to_action_enabled;
36
+ this.include_direct_blacklist_status = data.include_direct_blacklist_status;
37
+ this.can_boost_post = data.can_boost_post;
38
+ this.can_see_organic_insights = data.can_see_organic_insights;
39
+ this.show_insights_terms = data.show_insights_terms;
40
+ this.can_convert_to_business = data.can_convert_to_business;
41
+ this.can_create_sponsor_tags = data.can_create_sponsor_tags;
42
+ this.can_be_tagged_as_sponsor = data.can_be_tagged_as_sponsor;
43
+ this.fan_club_info = data.fan_club_info;
44
+ this.fbid_v2 = data.fbid_v2;
45
+ this.nametag = data.nametag;
46
+ this.allow_contacts_sync = data.allow_contacts_sync;
47
+ this.phone_number = data.phone_number;
48
+ this.country_code = data.country_code;
49
+ this.national_number = data.national_number;
50
+ this.category = data.category;
51
+ this.category_id = data.category_id;
52
+ this.public_email = data.public_email;
53
+ this.contact_phone_number = data.contact_phone_number;
54
+ this.public_phone_number = data.public_phone_number;
55
+ this.public_phone_country_code = data.public_phone_country_code;
56
+ this.city_id = data.city_id;
57
+ this.city_name = data.city_name;
58
+ this.address_street = data.address_street;
59
+ this.direct_messaging = data.direct_messaging;
60
+ this.latitude = data.latitude;
61
+ this.longitude = data.longitude;
62
+ this.zip = data.zip;
63
+ this.instagram_location_id = data.instagram_location_id;
64
+ this.interop_messaging_user_fbid = data.interop_messaging_user_fbid;
65
+ this.biography = data.biography;
66
+ this.biography_with_entities = data.biography_with_entities;
67
+ this.external_url = data.external_url;
68
+ this.external_lynx_url = data.external_lynx_url;
69
+ this.follower_count = data.follower_count;
70
+ this.following_count = data.following_count;
71
+ this.following_tag_count = data.following_tag_count;
72
+ this.media_count = data.media_count;
73
+ this.geo_media_count = data.geo_media_count;
74
+ }
75
+ }
76
+
77
+ class IgMedia {
78
+ constructor(data = {}) {
79
+ this.taken_at = data.taken_at;
80
+ this.pk = data.pk;
81
+ this.id = data.id;
82
+ this.device_timestamp = data.device_timestamp;
83
+ this.media_type = data.media_type;
84
+ this.code = data.code;
85
+ this.client_cache_key = data.client_cache_key;
86
+ this.filter_type = data.filter_type;
87
+ this.is_unified_video = data.is_unified_video;
88
+ this.user = data.user ? new IgUser(data.user) : null;
89
+ this.can_viewer_reshare = data.can_viewer_reshare;
90
+ this.caption_is_edited = data.caption_is_edited;
91
+ this.like_and_view_counts_disabled = data.like_and_view_counts_disabled;
92
+ this.commerciality_status = data.commerciality_status;
93
+ this.is_paid_partnership = data.is_paid_partnership;
94
+ this.is_visual_reply_commenter_notice_enabled = data.is_visual_reply_commenter_notice_enabled;
95
+ this.original_media_has_visual_reply_media = data.original_media_has_visual_reply_media;
96
+ this.comment_likes_enabled = data.comment_likes_enabled;
97
+ this.comment_threading_enabled = data.comment_threading_enabled;
98
+ this.has_more_comments = data.has_more_comments;
99
+ this.max_num_visible_preview_comments = data.max_num_visible_preview_comments;
100
+ this.preview_comments = data.preview_comments;
101
+ this.comments = data.comments;
102
+ this.comment_count = data.comment_count;
103
+ this.inline_composer_display_condition = data.inline_composer_display_condition;
104
+ this.inline_composer_imp_trigger_time = data.inline_composer_imp_trigger_time;
105
+ this.image_versions2 = data.image_versions2;
106
+ this.original_width = data.original_width;
107
+ this.original_height = data.original_height;
108
+ this.is_reshare_of_text_post_app_media_in_ig = data.is_reshare_of_text_post_app_media_in_ig;
109
+ this.caption = data.caption;
110
+ this.can_viewer_save = data.can_viewer_save;
111
+ this.organic_tracking_token = data.organic_tracking_token;
112
+ this.has_liked = data.has_liked;
113
+ this.like_count = data.like_count;
114
+ this.play_count = data.play_count;
115
+ this.fb_play_count = data.fb_play_count;
116
+ this.can_see_insights_as_brand = data.can_see_insights_as_brand;
117
+ this.top_likers = data.top_likers;
118
+ this.likers = data.likers;
119
+ this.photo_of_you = data.photo_of_you;
120
+ this.can_viewer_reshare = data.can_viewer_reshare;
121
+ this.can_reshare = data.can_reshare;
122
+ this.can_reply = data.can_reply;
123
+ this.is_comments_gif_composer_enabled = data.is_comments_gif_composer_enabled;
124
+ this.comment_inform_treatment = data.comment_inform_treatment;
125
+ this.sharing_friction_info = data.sharing_friction_info;
126
+ this.product_type = data.product_type;
127
+ this.is_in_profile_grid = data.is_in_profile_grid;
128
+ this.profile_grid_control_enabled = data.profile_grid_control_enabled;
129
+ this.deleted_reason = data.deleted_reason;
130
+ this.integrity_review_decision = data.integrity_review_decision;
131
+ this.music_metadata = data.music_metadata;
132
+ this.is_artist_pick = data.is_artist_pick;
133
+ }
134
+ }
135
+
136
+ class IgThread {
137
+ constructor(data = {}) {
138
+ this.thread_id = data.thread_id;
139
+ this.thread_v2_id = data.thread_v2_id;
140
+ this.users = data.users ? data.users.map(user => new IgUser(user)) : [];
141
+ this.left_users = data.left_users ? data.left_users.map(user => new IgUser(user)) : [];
142
+ this.admin_user_ids = data.admin_user_ids || [];
143
+ this.items = data.items || [];
144
+ this.last_activity_at = data.last_activity_at;
145
+ this.muted = data.muted;
146
+ this.is_pin = data.is_pin;
147
+ this.named = data.named;
148
+ this.canonical = data.canonical;
149
+ this.pending = data.pending;
150
+ this.archived = data.archived;
151
+ this.thread_type = data.thread_type;
152
+ this.viewer_id = data.viewer_id;
153
+ this.thread_title = data.thread_title;
154
+ this.pending_score = data.pending_score;
155
+ this.folder = data.folder;
156
+ this.vc_muted = data.vc_muted;
157
+ this.is_group = data.is_group;
158
+ this.mentions_muted = data.mentions_muted;
159
+ this.approval_required_for_new_members = data.approval_required_for_new_members;
160
+ this.input_mode = data.input_mode;
161
+ this.business_thread_folder = data.business_thread_folder;
162
+ this.read_state = data.read_state;
163
+ this.last_seen_at = data.last_seen_at;
164
+ this.oldest_cursor = data.oldest_cursor;
165
+ this.newest_cursor = data.newest_cursor;
166
+ this.next_cursor = data.next_cursor;
167
+ this.prev_cursor = data.prev_cursor;
168
+ this.has_older = data.has_older;
169
+ this.has_newer = data.has_newer;
170
+ this.last_permanent_item = data.last_permanent_item;
171
+ }
172
+ }
173
+
174
+ class IgStory {
175
+ constructor(data = {}) {
176
+ this.taken_at = data.taken_at;
177
+ this.pk = data.pk;
178
+ this.id = data.id;
179
+ this.device_timestamp = data.device_timestamp;
180
+ this.media_type = data.media_type;
181
+ this.code = data.code;
182
+ this.client_cache_key = data.client_cache_key;
183
+ this.filter_type = data.filter_type;
184
+ this.is_unified_video = data.is_unified_video;
185
+ this.user = data.user ? new IgUser(data.user) : null;
186
+ this.can_viewer_reshare = data.can_viewer_reshare;
187
+ this.caption_is_edited = data.caption_is_edited;
188
+ this.like_and_view_counts_disabled = data.like_and_view_counts_disabled;
189
+ this.is_reel_media = data.is_reel_media;
190
+ this.timezone_offset = data.timezone_offset;
191
+ this.story_locations = data.story_locations;
192
+ this.story_events = data.story_events;
193
+ this.story_hashtags = data.story_hashtags;
194
+ this.story_polls = data.story_polls;
195
+ this.story_feed_media = data.story_feed_media;
196
+ this.story_sound_on = data.story_sound_on;
197
+ this.creative_config = data.creative_config;
198
+ this.story_static_models = data.story_static_models;
199
+ this.supports_reel_reactions = data.supports_reel_reactions;
200
+ this.show_one_tap_fb_share_tooltip = data.show_one_tap_fb_share_tooltip;
201
+ this.has_shared_to_fb = data.has_shared_to_fb;
202
+ this.image_versions2 = data.image_versions2;
203
+ this.original_width = data.original_width;
204
+ this.original_height = data.original_height;
205
+ this.imported_taken_at = data.imported_taken_at;
206
+ this.caption = data.caption;
207
+ this.can_viewer_save = data.can_viewer_save;
208
+ this.organic_tracking_token = data.organic_tracking_token;
209
+ this.expiring_at = data.expiring_at;
210
+ this.is_pride_media = data.is_pride_media;
211
+ this.can_reshare = data.can_reshare;
212
+ this.can_reply = data.can_reply;
213
+ this.reel_mentions = data.reel_mentions;
214
+ this.story_app_attribution = data.story_app_attribution;
215
+ this.story_bloks_stickers = data.story_bloks_stickers;
216
+ this.can_viewer_save = data.can_viewer_save;
217
+ this.is_dash_eligible = data.is_dash_eligible;
218
+ this.video_dash_manifest = data.video_dash_manifest;
219
+ this.video_codec = data.video_codec;
220
+ this.number_of_qualities = data.number_of_qualities;
221
+ this.video_versions = data.video_versions;
222
+ this.has_audio = data.has_audio;
223
+ this.video_duration = data.video_duration;
224
+ this.view_count = data.view_count;
225
+ this.viewers = data.viewers;
226
+ this.viewer_count = data.viewer_count;
227
+ this.viewer_cursor = data.viewer_cursor;
228
+ this.total_viewer_count = data.total_viewer_count;
229
+ this.multi_author_reel_names = data.multi_author_reel_names;
230
+ this.is_pride_media = data.is_pride_media;
231
+ this.can_see_insights_as_brand = data.can_see_insights_as_brand;
232
+ }
233
+ }
234
+
235
+ // Options interfaces
236
+ class LoginOptions {
237
+ constructor(options = {}) {
238
+ this.username = options.username;
239
+ this.password = options.password;
240
+ this.email = options.email;
241
+ }
242
+ }
243
+
244
+ class DMOptions {
245
+ constructor(options = {}) {
246
+ this.to = options.to;
247
+ this.message = options.message;
248
+ this.threadId = options.threadId;
249
+ this.imagePath = options.imagePath;
250
+ this.videoPath = options.videoPath;
251
+ }
252
+ }
253
+
254
+ class UploadOptions {
255
+ constructor(options = {}) {
256
+ this.imagePath = options.imagePath;
257
+ this.videoPath = options.videoPath;
258
+ this.caption = options.caption;
259
+ this.width = options.width;
260
+ this.height = options.height;
261
+ this.duration_ms = options.duration_ms;
262
+ this.uploadId = options.uploadId;
263
+ }
264
+ }
265
+
266
+ class StoryOptions {
267
+ constructor(options = {}) {
268
+ this.storyId = options.storyId;
269
+ this.reaction = options.reaction;
270
+ this.imagePath = options.imagePath;
271
+ this.videoPath = options.videoPath;
272
+ this.caption = options.caption;
273
+ }
274
+ }
275
+
276
+ module.exports = {
277
+ IgUser,
278
+ IgMedia,
279
+ IgThread,
280
+ IgStory,
281
+ LoginOptions,
282
+ DMOptions,
283
+ UploadOptions,
284
+ StoryOptions
285
+ };