@fluwa-tool/sdk 1.0.49 → 1.0.50

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.
@@ -160,76 +160,60 @@ class XMLHttpRequestInterceptor {
160
160
  catch (e) {
161
161
  self.logger.debug('❌ Erro ao injetar propriedades mock:', e);
162
162
  }
163
- // Agora simular readyState progression com dispatchEvent (suporta addEventListener)
164
- const fireEvent = (state, delayMs) => {
163
+ // Simular readyState progression - apenas chamar callbacks diretos
164
+ // (dispatchEvent pode não funcionar em React Native)
165
+ const fireCallback = (state, delayMs) => {
165
166
  setTimeout(() => {
166
167
  setReadyState(state);
167
- // 1. Tentar chamar onreadystatechange direto se existir
168
+ self.logger.debug(`📞 [XMLHttpRequestInterceptor] readyState=${state} - Tentando chamar onreadystatechange`);
168
169
  if (xhr.onreadystatechange && typeof xhr.onreadystatechange === 'function') {
169
170
  try {
170
- self.logger.debug(`📞 [XMLHttpRequestInterceptor] Chamando onreadystatechange para readyState=${state}`);
171
171
  xhr.onreadystatechange();
172
+ self.logger.debug(`✅ [XMLHttpRequestInterceptor] onreadystatechange chamado com sucesso`);
172
173
  }
173
174
  catch (e) {
174
175
  self.logger.debug(`❌ Erro ao chamar onreadystatechange(${state}):`, e);
175
176
  }
176
177
  }
177
- // 2. Disparar eventos (para listeners adicionados com addEventListener)
178
- try {
179
- // Usar objeto simples em vez de ProgressEvent (não existe em React Native)
180
- const event = { type: 'readystatechange', target: xhr };
181
- self.logger.debug(`📤 [XMLHttpRequestInterceptor] Disparando evento readystatechange em readyState=${state}`);
182
- xhr.dispatchEvent(event);
183
- }
184
- catch (e) {
185
- self.logger.debug(`⚠️ [XMLHttpRequestInterceptor] Não conseguiu disparar evento readystatechange:`, e);
178
+ else {
179
+ self.logger.debug(`⚠️ [XMLHttpRequestInterceptor] onreadystatechange não é função:`, typeof xhr.onreadystatechange);
186
180
  }
187
181
  }, delayMs);
188
182
  };
189
- // Aumentar delays para garantir que axios anexe seus handlers
190
- fireEvent(1, 50); // readyState = 1 em 50ms
191
- fireEvent(2, 100); // readyState = 2 em 100ms
192
- fireEvent(3, 150); // readyState = 3 em 150ms
193
- // Final: readyState = 4 com eventos e callbacks
183
+ // Disparar callbacks para cada readyState
184
+ fireCallback(1, 50); // readyState = 1 em 50ms
185
+ fireCallback(2, 100); // readyState = 2 em 100ms
186
+ fireCallback(3, 150); // readyState = 3 em 150ms
187
+ // Final: readyState = 4 com callbacks
194
188
  setTimeout(() => {
195
189
  setReadyState(4);
196
- // 1. Chamar onreadystatechange se existir
190
+ self.logger.debug(`📞 [XMLHttpRequestInterceptor] readyState=4 - Tentando chamar onreadystatechange`);
191
+ // Chamar onreadystatechange
197
192
  if (xhr.onreadystatechange && typeof xhr.onreadystatechange === 'function') {
198
193
  try {
199
- self.logger.debug(`📞 [XMLHttpRequestInterceptor] Chamando onreadystatechange para readyState=4`);
200
194
  xhr.onreadystatechange();
195
+ self.logger.debug(`✅ [XMLHttpRequestInterceptor] onreadystatechange(4) chamado com sucesso`);
201
196
  }
202
197
  catch (e) {
203
198
  self.logger.debug(`❌ Erro ao chamar onreadystatechange(4):`, e);
204
199
  }
205
200
  }
206
- // 2. Disparar evento readystatechange
207
- try {
208
- const event = { type: 'readystatechange', target: xhr };
209
- self.logger.debug(`📤 [XMLHttpRequestInterceptor] Disparando evento readystatechange em readyState=4`);
210
- xhr.dispatchEvent(event);
201
+ else {
202
+ self.logger.debug(`⚠️ [XMLHttpRequestInterceptor] onreadystatechange não é função em readyState=4`);
211
203
  }
212
- catch (e) {
213
- self.logger.debug(`⚠️ [XMLHttpRequestInterceptor] Não conseguiu disparar evento readystatechange:`, e);
214
- }
215
- // 3. Chamar onload se existir
204
+ // Chamar onload
205
+ self.logger.debug(`📞 [XMLHttpRequestInterceptor] Tentando chamar onload`);
216
206
  if (xhr.onload && typeof xhr.onload === 'function') {
217
207
  try {
218
- self.logger.debug(`📞 [XMLHttpRequestInterceptor] Chamando onload`);
219
208
  xhr.onload();
209
+ self.logger.debug(`✅ [XMLHttpRequestInterceptor] onload chamado com sucesso`);
220
210
  }
221
211
  catch (e) {
222
212
  self.logger.debug(`❌ Erro ao chamar onload:`, e);
223
213
  }
224
214
  }
225
- // 4. Disparar evento load
226
- try {
227
- const loadEvent = { type: 'load', target: xhr };
228
- self.logger.debug(`📤 [XMLHttpRequestInterceptor] Disparando evento load`);
229
- xhr.dispatchEvent(loadEvent);
230
- }
231
- catch (e) {
232
- self.logger.debug(`⚠️ [XMLHttpRequestInterceptor] Não conseguiu disparar evento load:`, e);
215
+ else {
216
+ self.logger.debug(`⚠️ [XMLHttpRequestInterceptor] onload não é função`);
233
217
  }
234
218
  self.logger.debug(`✅ [XMLHttpRequestInterceptor] Simulação de resposta COMPLETA`);
235
219
  }, 200);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fluwa-tool/sdk",
3
- "version": "1.0.49",
3
+ "version": "1.0.50",
4
4
  "description": "Fluwa DevTools SDK for network interception and mocking",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",