@efffrida/vitest-pool 0.0.20 → 0.0.22

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.
@@ -40,7 +40,8 @@ export declare class FridaPoolWorker implements VitestNode.PoolWorker {
40
40
  readonly name = "frida-pool";
41
41
  private static initQueue;
42
42
  private readonly scope;
43
- private readonly scriptContext;
43
+ private scriptContext;
44
+ private readonly scriptContextPromise;
44
45
  private readonly cancelables;
45
46
  private sends;
46
47
  constructor(poolOptions: VitestNode.PoolOptions, customOptions: Schema.Schema.Type<typeof ConfigSchema>);
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAKxC,OAAO,KAAK,KAAK,UAAU,MAAM,aAAa,CAAC;AAmD/C,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAKhB,CAAC;AAEH;;;GAGG;AACH,qBAAa,eAAgB,YAAW,UAAU,CAAC,UAAU;IACzD,SAAgB,IAAI,gBAAgB;IACpC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAoC;IAE5D,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAkB;IACxC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAoD;IAClF,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAsE;IAElG,OAAO,CAAC,KAAK,CAA+B;gBAEhC,WAAW,EAAE,UAAU,CAAC,WAAW,EAAE,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,YAAY,CAAC;IAwIjG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAItB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAOrB,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAe5D,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,GAAG,IAAI;IA8DrD,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,GAAG,IAAI;IAQvD,WAAW,CAAC,IAAI,EAAE,OAAO;IAKzB,SAAS,CAAC,IAAI,EAAE,OAAO;CAG1B;AAED;;;GAGG;AACH,eAAO,MAAM,eAAe,GACxB,eAAe,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,YAAY,CAAC,KACzD,UAAU,CAAC,qBAMb,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAOxC,OAAO,KAAK,KAAK,UAAU,MAAM,aAAa,CAAC;AAmD/C,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAKhB,CAAC;AAEH;;;GAGG;AACH,qBAAa,eAAgB,YAAW,UAAU,CAAC,UAAU;IACzD,SAAgB,IAAI,gBAAgB;IACpC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAoC;IAE5D,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAkB;IACxC,OAAO,CAAC,aAAa,CAAwD;IAC7E,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAQnC;IAEF,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAsE;IAClG,OAAO,CAAC,KAAK,CAA+B;gBAEhC,WAAW,EAAE,UAAU,CAAC,WAAW,EAAE,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,YAAY,CAAC;IAwIjG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAMtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAOrB,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAc5D,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,GAAG,IAAI;IAoDrD,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,GAAG,IAAI;IAQvD,WAAW,CAAC,IAAI,EAAE,OAAO;IAKzB,SAAS,CAAC,IAAI,EAAE,OAAO;CAG1B;AAED;;;GAGG;AACH,eAAO,MAAM,eAAe,GACxB,eAAe,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,YAAY,CAAC,KACzD,UAAU,CAAC,qBAMb,CAAC"}
package/dist/src/index.js CHANGED
@@ -64,7 +64,8 @@ export class FridaPoolWorker {
64
64
  name = "frida-pool";
65
65
  static initQueue = /*#__PURE__*/Promise.resolve();
66
66
  scope;
67
- scriptContext;
67
+ scriptContext = undefined;
68
+ scriptContextPromise;
68
69
  cancelables = /*#__PURE__*/new Map();
69
70
  sends = [];
70
71
  constructor(poolOptions, customOptions) {
@@ -171,12 +172,13 @@ export class FridaPoolWorker {
171
172
  })), Layer.unwrap, Layer.provide(FridaLive), Layer.provide(NodeServices.layer), Layer.satisfiesSuccessType());
172
173
  this.scope = Scope.makeUnsafe();
173
174
  const prev = FridaPoolWorker.initQueue;
174
- const runInit = () => ScriptLive.pipe(Layer.buildWithScope(this.scope), Effect.runPromise);
175
- this.scriptContext = prev.then(runInit, runInit);
176
- FridaPoolWorker.initQueue = this.scriptContext.then(() => undefined, () => undefined);
175
+ const runInit = () => ScriptLive.pipe(Layer.buildWithScope(this.scope), Effect.runPromiseExit);
176
+ this.scriptContextPromise = prev.then(runInit, runInit);
177
+ FridaPoolWorker.initQueue = this.scriptContextPromise.then(() => undefined, () => undefined);
177
178
  }
178
179
  async start() {
179
- await this.scriptContext;
180
+ const exit = await this.scriptContextPromise;
181
+ if (Exit.isSuccess(exit)) this.scriptContext = exit.value;else throw Cause.prettyErrors(exit.cause)[0];
180
182
  }
181
183
  async stop() {
182
184
  await Promise.allSettled(this.sends);
@@ -185,10 +187,9 @@ export class FridaPoolWorker {
185
187
  this.cancelables.clear();
186
188
  }
187
189
  async send(message) {
188
- const context = await this.scriptContext;
189
190
  let sendPromise = undefined;
190
191
  try {
191
- sendPromise = Effect.flatMap(FridaScript.FridaScript, fridaScript => fridaScript.callExport("onMessage")(message)).pipe(Effect.runPromiseWith(context));
192
+ sendPromise = Effect.flatMap(FridaScript.FridaScript, fridaScript => fridaScript.callExport("onMessage")(message)).pipe(Effect.runPromiseWith(this.scriptContext));
192
193
  this.sends.push(sendPromise);
193
194
  await sendPromise;
194
195
  } finally {
@@ -199,30 +200,24 @@ export class FridaPoolWorker {
199
200
  switch (event) {
200
201
  case "message":
201
202
  {
202
- this.scriptContext.then(ctx => {
203
- this.cancelables.set(callback, Effect.runCallbackWith(ctx)(Effect.flatMap(FridaScript.FridaScript, fridaScript => Stream.runForEach(fridaScript.stream, input => Effect.sync(() => callback(input.message))))));
204
- });
203
+ this.cancelables.set(callback, Effect.runCallbackWith(this.scriptContext)(Effect.flatMap(FridaScript.FridaScript, fridaScript => Stream.runForEach(fridaScript.stream, input => Effect.sync(() => callback(input.message))))));
205
204
  break;
206
205
  }
207
206
  case "error":
208
- this.scriptContext.then(ctx => {
209
- this.cancelables.set(callback, Effect.runCallbackWith(ctx)(Effect.flatMap(FridaScript.FridaScript, fridaScript => Deferred.await(fridaScript.scriptError)), {
210
- onExit: exit => {
211
- if (Exit.isSuccess(exit)) {
212
- callback(exit.value);
213
- } else if (!Cause.hasInterruptsOnly(exit.cause)) {
214
- callback(exit.cause);
215
- }
207
+ this.cancelables.set(callback, Effect.runCallbackWith(this.scriptContext)(Effect.flatMap(FridaScript.FridaScript, fridaScript => Deferred.await(fridaScript.scriptError)), {
208
+ onExit: exit => {
209
+ if (Exit.isSuccess(exit)) {
210
+ callback(exit.value);
211
+ } else if (!Cause.hasInterruptsOnly(exit.cause)) {
212
+ callback(exit.cause);
216
213
  }
217
- }));
218
- });
214
+ }
215
+ }));
219
216
  break;
220
217
  case "exit":
221
- this.scriptContext.then(ctx => {
222
- this.cancelables.set(callback, Effect.runCallbackWith(ctx)(Effect.flatMap(FridaScript.FridaScript, fridaScript => Deferred.await(fridaScript.destroyed)), {
223
- onExit: () => callback(void 0)
224
- }));
225
- });
218
+ this.cancelables.set(callback, Effect.runCallbackWith(this.scriptContext)(Effect.flatMap(FridaScript.FridaScript, fridaScript => Deferred.await(fridaScript.destroyed)), {
219
+ onExit: () => callback(void 0)
220
+ }));
226
221
  break;
227
222
  default:
228
223
  throw new Error(`Event ${event} not supported in FridaPoolWorker`);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["Array","Cause","Deferred","Duration","Effect","Exit","FileSystem","Function","Layer","Match","Path","Schema","Scope","Stream","ChildProcess","NodeServices","FridaDevice","FridaScript","FridaSession","Flatted","Frida","DeviceSchema","Union","Struct","connection","Literal","timeout","optional","DurationFromMillis","address","String","token","origin","keepaliveInterval","emulatorName","hidden","Boolean","adbExecutable","fridaExecutable","emulatorExecutable","AttachSchema","pid","Number","spawn","NonEmptyArray","preSpawn","attachFrontmost","frontmostScope","Literals","ConfigSchema","device","attach","runtime","platform","FridaPoolWorker","name","initQueue","Promise","resolve","scope","scriptContext","cancelables","Map","sends","constructor","poolOptions","customOptions","FridaRuntime","value","pipe","when","undefined","ScriptRuntime","V8","QJS","Default","exhaustive","FridaPlatform","JsPlatform","Gum","Browser","Neutral","DeviceLive","layerLocalDevice","layerUsbDevice","toMillis","layerRemoteDevice","layerAndroidEmulatorDevice","SessionLive","number","layer","layerFrontmost","Minimal","Metadata","Full","unwrap","gen","command","args","handle","make","orElse","FridaLive","provide","ScriptLive","path","fs","tempDir","join","project","config","root","makeDirectory","recursive","agentUrl","fromFileUrl","URL","import","meta","url","baseAgent","readFileString","tempFile","makeTempFileScoped","directory","prefix","suffix","setupFiles","testFiles","map","promise","globTestFiles","globalSetupFiles","isArray","globalSetup","marker","allFiles","flatten","newContent","file","writeFileString","replace","toFileUrl","satisfiesSuccessType","makeUnsafe","prev","runInit","buildWithScope","runPromise","then","start","stop","allSettled","cancelable","values","close","void","clear","send","message","context","sendPromise","flatMap","fridaScript","callExport","runPromiseWith","push","filter","p","on","event","callback","ctx","set","runCallbackWith","runForEach","stream","input","sync","await","scriptError","onExit","exit","isSuccess","hasInterruptsOnly","cause","destroyed","Error","off","_event","get","delete","deserialize","data","parse","serialize","createFridaPool","createPoolWorker","options","decodeUnknownSync"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAEA,OAAO,KAAKA,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,QAAQ,MAAM,iBAAiB;AAC3C,OAAO,KAAKC,QAAQ,MAAM,iBAAiB;AAC3C,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,IAAI,MAAM,aAAa;AACnC,OAAO,KAAKC,UAAU,MAAM,mBAAmB;AAC/C,OAAO,KAAKC,QAAQ,MAAM,iBAAiB;AAC3C,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,IAAI,MAAM,aAAa;AACnC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,YAAY,MAAM,sCAAsC;AAIpE,OAAO,KAAKC,YAAY,MAAM,oCAAoC;AAClE,OAAO,KAAKC,WAAW,MAAM,mCAAmC;AAChE,OAAO,KAAKC,WAAW,MAAM,mCAAmC;AAChE,OAAO,KAAKC,YAAY,MAAM,oCAAoC;AAClE,OAAO,KAAKC,OAAO,MAAM,SAAS;AAClC,OAAO,KAAKC,KAAK,MAAM,OAAO;AAE9B;AACA,MAAMC,YAAY,gBAAGV,MAAM,CAACW,KAAK,CAAC,cAC9BX,MAAM,CAACY,MAAM,CAAC;EACVC,UAAU,eAAEb,MAAM,CAACc,OAAO,CAAC,OAAO;CACrC,CAAC,eACFd,MAAM,CAACY,MAAM,CAAC;EACVC,UAAU,eAAEb,MAAM,CAACc,OAAO,CAAC,KAAK,CAAC;EACjCC,OAAO,eAAEf,MAAM,CAACgB,QAAQ,CAAChB,MAAM,CAACiB,kBAAkB;CACrD,CAAC,eACFjB,MAAM,CAACY,MAAM,CAAC;EACVM,OAAO,EAAElB,MAAM,CAACmB,MAAM;EACtBN,UAAU,eAAEb,MAAM,CAACc,OAAO,CAAC,QAAQ,CAAC;EACpCM,KAAK,eAAEpB,MAAM,CAACgB,QAAQ,CAAChB,MAAM,CAACmB,MAAM,CAAC;EACrCE,MAAM,eAAErB,MAAM,CAACgB,QAAQ,CAAChB,MAAM,CAACmB,MAAM,CAAC;EACtCG,iBAAiB,eAAEtB,MAAM,CAACgB,QAAQ,CAAChB,MAAM,CAACiB,kBAAkB;CAC/D,CAAC,eACFjB,MAAM,CAACY,MAAM,CAAC;EACVW,YAAY,EAAEvB,MAAM,CAACmB,MAAM;EAC3BK,MAAM,eAAExB,MAAM,CAACgB,QAAQ,CAAChB,MAAM,CAACyB,OAAO,CAAC;EACvCC,aAAa,eAAE1B,MAAM,CAACgB,QAAQ,CAAChB,MAAM,CAACmB,MAAM,CAAC;EAC7CN,UAAU,eAAEb,MAAM,CAACc,OAAO,CAAC,kBAAkB,CAAC;EAC9Ca,eAAe,eAAE3B,MAAM,CAACgB,QAAQ,CAAChB,MAAM,CAACmB,MAAM,CAAC;EAC/CS,kBAAkB,eAAE5B,MAAM,CAACgB,QAAQ,CAAChB,MAAM,CAACmB,MAAM;CACpD,CAAC,CACL,CAAC;AAEF;AACA,MAAMU,YAAY,gBAAG7B,MAAM,CAACW,KAAK,CAAC,cAC9BX,MAAM,CAACY,MAAM,CAAC;EACVkB,GAAG,EAAE9B,MAAM,CAAC+B;CACf,CAAC,eACF/B,MAAM,CAACY,MAAM,CAAC;EACVoB,KAAK,eAAEhC,MAAM,CAACiC,aAAa,CAACjC,MAAM,CAACmB,MAAM,CAAC;EAC1Ce,QAAQ,eAAElC,MAAM,CAACgB,QAAQ,CAAChB,MAAM,CAACyB,OAAO;CAC3C,CAAC,eACFzB,MAAM,CAACY,MAAM,CAAC;EACVuB,eAAe,eAAEnC,MAAM,CAACc,OAAO,CAAC,IAAI,CAAC;EACrCsB,cAAc,eAAEpC,MAAM,CAACgB,QAAQ,cAAChB,MAAM,CAACqC,QAAQ,CAAC,CAAC,SAAS,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;CACnF,CAAC,CACL,CAAC;AAEF;AACA,MAAMC,YAAY,gBAAGtC,MAAM,CAACY,MAAM,CAAC;EAC/B2B,MAAM,EAAE7B,YAAY;EACpB8B,MAAM,EAAEX,YAAY;EACpBY,OAAO,eAAEzC,MAAM,CAACgB,QAAQ,cAAChB,MAAM,CAACqC,QAAQ,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;EACnEK,QAAQ,eAAE1C,MAAM,CAACgB,QAAQ,cAAChB,MAAM,CAACqC,QAAQ,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;CAC3E,CAAC;AAEF;;;;AAIA,OAAM,MAAOM,eAAe;EACRC,IAAI,GAAG,YAAY;EAC3B,OAAOC,SAAS,gBAAkBC,OAAO,CAACC,OAAO,EAAE;EAE1CC,KAAK;EACLC,aAAa;EACbC,WAAW,gBAA4D,IAAIC,GAAG,EAAE;EAEzFC,KAAK,GAA4B,EAAE;EAE3CC,YAAYC,WAAmC,EAAEC,aAAsD;IACnG,MAAMC,YAAY,GAAG1D,KAAK,CAAC2D,KAAK,CAACF,aAAa,CAACd,OAAO,CAAC,CAACiB,IAAI,CACxD5D,KAAK,CAAC6D,IAAI,CAACC,SAAS,EAAE,MAAMA,SAAS,CAAC,EACtC9D,KAAK,CAAC6D,IAAI,CAAC,IAAI,EAAE,MAAMlD,KAAK,CAACoD,aAAa,CAACC,EAAE,CAAC,EAC9ChE,KAAK,CAAC6D,IAAI,CAAC,KAAK,EAAE,MAAMlD,KAAK,CAACoD,aAAa,CAACE,GAAG,CAAC,EAChDjE,KAAK,CAAC6D,IAAI,CAAC,SAAS,EAAE,MAAMlD,KAAK,CAACoD,aAAa,CAACG,OAAO,CAAC,EACxDlE,KAAK,CAACmE,UAAU,CACnB;IAED,MAAMC,aAAa,GAAGpE,KAAK,CAAC2D,KAAK,CAACF,aAAa,CAACb,QAAQ,CAAC,CAACgB,IAAI,CAC1D5D,KAAK,CAAC6D,IAAI,CAACC,SAAS,EAAE,MAAMA,SAAS,CAAC,EACtC9D,KAAK,CAAC6D,IAAI,CAAC,KAAK,EAAE,MAAMlD,KAAK,CAAC0D,UAAU,CAACC,GAAG,CAAC,EAC7CtE,KAAK,CAAC6D,IAAI,CAAC,SAAS,EAAE,MAAMlD,KAAK,CAAC0D,UAAU,CAACE,OAAO,CAAC,EACrDvE,KAAK,CAAC6D,IAAI,CAAC,SAAS,EAAE,MAAMlD,KAAK,CAAC0D,UAAU,CAACG,OAAO,CAAC,EACrDxE,KAAK,CAACmE,UAAU,CACnB;IAED,MAAMM,UAAU,GAAGzE,KAAK,CAAC2D,KAAK,CAACF,aAAa,CAAChB,MAAM,CAAC,CAACmB,IAAI,CACrD5D,KAAK,CAAC6D,IAAI,CAAC;MAAE9C,UAAU,EAAE;IAAO,CAAE,EAAE,MAAMR,WAAW,CAACmE,gBAAgB,CAAC,EACvE1E,KAAK,CAAC6D,IAAI,CAAC;MAAE9C,UAAU,EAAE;IAAK,CAAE,EAAE,CAAC;MAAEE;IAAO,CAAE,KAC1CV,WAAW,CAACoE,cAAc,CAAC1D,OAAO,KAAK6C,SAAS,GAAG;MAAE7C,OAAO,EAAEvB,QAAQ,CAACkF,QAAQ,CAAC3D,OAAO;IAAC,CAAE,GAAG,EAAE,CAAC,CACnG,EACDjB,KAAK,CAAC6D,IAAI,CAAC;MAAE9C,UAAU,EAAE;IAAQ,CAAE,EAAE,CAAC;MAAEK,OAAO;MAAEI,iBAAiB;MAAED,MAAM;MAAED;IAAK,CAAE,KAC/Ef,WAAW,CAACsE,iBAAiB,CAACzD,OAAO,EAAE;MACnC,IAAIE,KAAK,KAAKwC,SAAS,GAAG;QAAExC;MAAK,CAAE,GAAG,EAAE,CAAC;MACzC,IAAIC,MAAM,KAAKuC,SAAS,GAAG;QAAEvC;MAAM,CAAE,GAAG,EAAE,CAAC;MAC3C,IAAIC,iBAAiB,KAAKsC,SAAS,GAC7B;QAAEtC,iBAAiB,EAAE9B,QAAQ,CAACkF,QAAQ,CAACpD,iBAAiB;MAAC,CAAE,GAC3D,EAAE;KACX,CAAC,CACL,EACDxB,KAAK,CAAC6D,IAAI,CACN;MAAE9C,UAAU,EAAE;IAAkB,CAAE,EAClC,CAAC;MAAEa,aAAa;MAAEE,kBAAkB;MAAEL,YAAY;MAAEI,eAAe;MAAEH;IAAM,CAAE,KACzEnB,WAAW,CAACuE,0BAA0B,CAACrD,YAAY,EAAE;MACjDC,MAAM,EAAEA,MAAM,IAAIoC,SAAS;MAC3BlC,aAAa,EAAEA,aAAa,IAAIkC,SAAS;MACzCjC,eAAe,EAAEA,eAAe,IAAIiC,SAAS;MAC7ChC,kBAAkB,EAAEA,kBAAkB,IAAIgC;KAC7C,CAAC,CACT,EACD9D,KAAK,CAACmE,UAAU,CACnB;IAED,MAAMY,WAAW,GAAG/E,KAAK,CAAC2D,KAAK,CAACF,aAAa,CAACf,MAAM,CAAC,CAACkB,IAAI,CACtD5D,KAAK,CAAC6D,IAAI,CAAC;MAAE7B,GAAG,EAAEhC,KAAK,CAACgF;IAAM,CAAE,EAAE,CAAC;MAAEhD;IAAG,CAAE,KAAKvB,YAAY,CAACwE,KAAK,CAACjD,GAAG,CAAC,CAAC,EACvEhC,KAAK,CAAC6D,IAAI,CAAC;MAAExB,eAAe,EAAE;IAAI,CAAE,EAAE,CAAC;MAAEC;IAAc,CAAE,KAAI;MACzD,OAAO7B,YAAY,CAACyE,cAAc,CAC9B5C,cAAc,KAAKwB,SAAS,GACtB;QACIZ,KAAK,EAAElD,KAAK,CAAC2D,KAAK,CAACrB,cAAc,CAAC,CAACsB,IAAI,CACnC5D,KAAK,CAAC6D,IAAI,CAAC,SAAS,EAAE,MAAMlD,KAAK,CAACR,KAAK,CAACgF,OAAO,CAAC,EAChDnF,KAAK,CAAC6D,IAAI,CAAC,UAAU,EAAE,MAAMlD,KAAK,CAACR,KAAK,CAACiF,QAAQ,CAAC,EAClDpF,KAAK,CAAC6D,IAAI,CAAC,MAAM,EAAE,MAAMlD,KAAK,CAACR,KAAK,CAACkF,IAAI,CAAC,EAC1CrF,KAAK,CAACmE,UAAU;OAEvB,GACD,EAAE,CACX;IACL,CAAC,CAAC,EACFnE,KAAK,CAAC6D,IAAI,CAAC;MAAEzB,QAAQ,EAAE;IAAI,CAAE,EAAE,CAAC;MAAEF;IAAK,CAAE,KACrCnC,KAAK,CAACuF,MAAM,CACR3F,MAAM,CAAC4F,GAAG,CAAC,aAAS;MAChB,MAAM,CAACC,OAAO,EAAE,GAAGC,IAAI,CAAC,GAAGvD,KAAK;MAChC,MAAMwD,MAAM,GAAG,OAAOrF,YAAY,CAACsF,IAAI,CAACH,OAAO,EAAEC,IAAI,CAAC;MACtD,OAAOhF,YAAY,CAACwE,KAAK,CAACS,MAAM,CAAC1D,GAAG,CAAC;IACzC,CAAC,CAAC,CACL,CACJ,EACDhC,KAAK,CAAC4F,MAAM,CAAC,CAAC;MAAE1D;IAAK,CAAE,KAAKzB,YAAY,CAACwE,KAAK,CAAC/C,KAAK,CAAC,CAAC,CACzD;IAED,MAAM2D,SAAS,GAAG9F,KAAK,CAAC+F,OAAO,CAACf,WAAW,EAAEN,UAAU,CAAC;IACxD,MAAMsB,UAAU,GAAGpG,MAAM,CAAC4F,GAAG,CAAC,aAAS;MACnC,MAAMS,IAAI,GAAG,OAAO/F,IAAI,CAACA,IAAI;MAC7B,MAAMgG,EAAE,GAAG,OAAOpG,UAAU,CAACA,UAAU;MAEvC,MAAMqG,OAAO,GAAGF,IAAI,CAACG,IAAI,CAAC3C,WAAW,CAAC4C,OAAO,CAACC,MAAM,CAACC,IAAI,EAAE,MAAM,CAAC;MAClE,OAAOL,EAAE,CAACM,aAAa,CAACL,OAAO,EAAE;QAAEM,SAAS,EAAE;MAAI,CAAE,CAAC;MAErD,MAAMC,QAAQ,GAAG,OAAOT,IAAI,CAACU,WAAW,CAAC,IAAIC,GAAG,CAAC,mBAAmB,EAAEC,MAAM,CAACC,IAAI,CAACC,GAAG,CAAC,CAAC;MACvF,MAAMC,SAAS,GAAG,OAAOd,EAAE,CAACe,cAAc,CAACP,QAAQ,CAAC;MACpD,MAAMQ,QAAQ,GAAG,OAAOhB,EAAE,CAACiB,kBAAkB,CAAC;QAC1CC,SAAS,EAAEjB,OAAO;QAClBkB,MAAM,EAAE,2BAA2B;QACnCC,MAAM,EAAE;OACX,CAAC;MAEF,MAAMC,UAAU,GAAG9D,WAAW,CAAC4C,OAAO,CAACC,MAAM,CAACiB,UAAU;MACxD,MAAMC,SAAS,GAAG,OAAO5H,MAAM,CAAC6H,GAAG,CAC/B7H,MAAM,CAAC8H,OAAO,CAAC,MAAMjE,WAAW,CAAC4C,OAAO,CAACsB,aAAa,EAAE,CAAC,EACzD,CAAC;QAAEH;MAAS,CAAE,KAAKA,SAAS,CAC/B;MACD,MAAMI,gBAAgB,GAAGpI,KAAK,CAACqI,OAAO,CAACpE,WAAW,CAAC4C,OAAO,CAACC,MAAM,CAACwB,WAAW,CAAC,GACxErE,WAAW,CAAC4C,OAAO,CAACC,MAAM,CAACwB,WAAW,GACtCtI,KAAK,CAACoG,IAAI,CAACnC,WAAW,CAAC4C,OAAO,CAACC,MAAM,CAACwB,WAAW,CAAC;MAExD,MAAMC,MAAM,GAAG,yCAAyC;MACxD,MAAMC,QAAQ,GAAGxI,KAAK,CAACyI,OAAO,CAAC,CAACV,UAAU,EAAEC,SAAS,EAAEI,gBAAgB,CAAC,CAAC;MACzE,MAAMM,UAAU,GAAGnI,QAAQ,CAAC8D,IAAI,CAC5BmE,QAAQ,EACRxI,KAAK,CAACiI,GAAG,CACJU,IAAI,IAAK;yCACWA,IAAI;;mDAEMA,IAAI;0BAC7B,CACT,EACD3I,KAAK,CAAC4G,IAAI,CAAC,IAAI,CAAC,CACnB;MAED,OAAOF,EAAE,CAACkC,eAAe,CAAClB,QAAQ,EAAEF,SAAS,CAACqB,OAAO,CAACN,MAAM,EAAEG,UAAU,CAAC,CAAC;MAC1E,OAAO,OAAOjC,IAAI,CAACqC,SAAS,CAACpB,QAAQ,CAAC;IAC1C,CAAC,CAAC,CAACrD,IAAI,CACHjE,MAAM,CAAC6H,GAAG,CACNhH,WAAW,CAACyE,KAAK,CAAC;MACd,IAAIvB,YAAY,KAAKI,SAAS,GAAG;QAAEnB,OAAO,EAAEe;MAAY,CAAE,GAAG,EAAE,CAAC;MAChE,IAAIU,aAAa,KAAKN,SAAS,GAAG;QAAElB,QAAQ,EAAEwB;MAAa,CAAE,GAAG,EAAE;KACrE,CAAC,CACL,EACDrE,KAAK,CAACuF,MAAM,EACZvF,KAAK,CAAC+F,OAAO,CAACD,SAAS,CAAC,EACxB9F,KAAK,CAAC+F,OAAO,CAACxF,YAAY,CAAC2E,KAAK,CAAC,EACjClF,KAAK,CAACuI,oBAAoB,EAA2B,CACxD;IAED,IAAI,CAACpF,KAAK,GAAG/C,KAAK,CAACoI,UAAU,EAAE;IAC/B,MAAMC,IAAI,GAAG3F,eAAe,CAACE,SAAS;IACtC,MAAM0F,OAAO,GAAGA,CAAA,KAAM1C,UAAU,CAACnC,IAAI,CAAC7D,KAAK,CAAC2I,cAAc,CAAC,IAAI,CAACxF,KAAK,CAAC,EAAEvD,MAAM,CAACgJ,UAAU,CAAC;IAC1F,IAAI,CAACxF,aAAa,GAAGqF,IAAI,CAACI,IAAI,CAACH,OAAO,EAAEA,OAAO,CAAC;IAChD5F,eAAe,CAACE,SAAS,GAAG,IAAI,CAACI,aAAa,CAACyF,IAAI,CAC/C,MAAM9E,SAAS,EACf,MAAMA,SAAS,CAClB;EACL;EAEA,MAAM+E,KAAKA,CAAA;IACP,MAAM,IAAI,CAAC1F,aAAa;EAC5B;EAEA,MAAM2F,IAAIA,CAAA;IACN,MAAM9F,OAAO,CAAC+F,UAAU,CAAC,IAAI,CAACzF,KAAK,CAAC;IACpC,KAAK,MAAM0F,UAAU,IAAI,IAAI,CAAC5F,WAAW,CAAC6F,MAAM,EAAE,EAAED,UAAU,EAAE;IAChE,MAAM7I,KAAK,CAAC+I,KAAK,CAAC,IAAI,CAAChG,KAAK,EAAEtD,IAAI,CAACuJ,IAAI,CAAC,CAACvF,IAAI,CAACjE,MAAM,CAACgJ,UAAU,CAAC;IAChE,IAAI,CAACvF,WAAW,CAACgG,KAAK,EAAE;EAC5B;EAEA,MAAMC,IAAIA,CAACC,OAAiC;IACxC,MAAMC,OAAO,GAAG,MAAM,IAAI,CAACpG,aAAa;IACxC,IAAIqG,WAAW,GAAqB1F,SAAU;IAE9C,IAAI;MACA0F,WAAW,GAAG7J,MAAM,CAAC8J,OAAO,CAACjJ,WAAW,CAACA,WAAW,EAAGkJ,WAAW,IAC9DA,WAAW,CAACC,UAAU,CAAC,WAAW,CAAC,CAACL,OAAO,CAAC,CAC/C,CAAC1F,IAAI,CAACjE,MAAM,CAACiK,cAAc,CAACL,OAAO,CAAC,CAAC;MACtC,IAAI,CAACjG,KAAK,CAACuG,IAAI,CAACL,WAAW,CAAC;MAC5B,MAAMA,WAAW;IACrB,CAAC,SAAS;MACN,IAAI,CAAClG,KAAK,GAAG,IAAI,CAACA,KAAK,CAACwG,MAAM,CAAEC,CAAC,IAAKA,CAAC,KAAKP,WAAW,CAAC;IAC5D;EACJ;EAEAQ,EAAEA,CAACC,KAAa,EAAEC,QAA4B;IAC1C,QAAQD,KAAK;MACT,KAAK,SAAS;QAAE;UACZ,IAAI,CAAC9G,aAAa,CAACyF,IAAI,CAAEuB,GAAG,IAAI;YAC5B,IAAI,CAAC/G,WAAW,CAACgH,GAAG,CAChBF,QAAQ,EACRvK,MAAM,CAAC0K,eAAe,CAACF,GAAG,CAAC,CACvBxK,MAAM,CAAC8J,OAAO,CAACjJ,WAAW,CAACA,WAAW,EAAGkJ,WAAW,IAChDtJ,MAAM,CAACkK,UAAU,CAACZ,WAAW,CAACa,MAAM,EAAGC,KAAK,IACxC7K,MAAM,CAAC8K,IAAI,CAAC,MAAMP,QAAQ,CAACM,KAAK,CAAClB,OAAO,CAAC,CAAC,CAC7C,CACJ,CACJ,CACJ;UACL,CAAC,CAAC;UAEF;QACJ;MAEA,KAAK,OAAO;QACR,IAAI,CAACnG,aAAa,CAACyF,IAAI,CAAEuB,GAAG,IAAI;UAC5B,IAAI,CAAC/G,WAAW,CAACgH,GAAG,CAChBF,QAAQ,EACRvK,MAAM,CAAC0K,eAAe,CAACF,GAAG,CAAC,CACvBxK,MAAM,CAAC8J,OAAO,CAACjJ,WAAW,CAACA,WAAW,EAAGkJ,WAAW,IAChDjK,QAAQ,CAACiL,KAAK,CAAChB,WAAW,CAACiB,WAAW,CAAC,CAC1C,EACD;YACIC,MAAM,EAAGC,IAAI,IAAI;cACb,IAAIjL,IAAI,CAACkL,SAAS,CAACD,IAAI,CAAC,EAAE;gBACtBX,QAAQ,CAACW,IAAI,CAAClH,KAAK,CAAC;cACxB,CAAC,MAAM,IAAI,CAACnE,KAAK,CAACuL,iBAAiB,CAACF,IAAI,CAACG,KAAK,CAAC,EAAE;gBAC7Cd,QAAQ,CAACW,IAAI,CAACG,KAAK,CAAC;cACxB;YACJ;WACH,CACJ,CACJ;QACL,CAAC,CAAC;QAEF;MAEJ,KAAK,MAAM;QACP,IAAI,CAAC7H,aAAa,CAACyF,IAAI,CAAEuB,GAAG,IAAI;UAC5B,IAAI,CAAC/G,WAAW,CAACgH,GAAG,CAChBF,QAAQ,EACRvK,MAAM,CAAC0K,eAAe,CAACF,GAAG,CAAC,CACvBxK,MAAM,CAAC8J,OAAO,CAACjJ,WAAW,CAACA,WAAW,EAAGkJ,WAAW,IAChDjK,QAAQ,CAACiL,KAAK,CAAChB,WAAW,CAACuB,SAAS,CAAC,CACxC,EACD;YAAEL,MAAM,EAAEA,CAAA,KAAMV,QAAQ,CAAC,KAAK,CAAC;UAAC,CAAE,CACrC,CACJ;QACL,CAAC,CAAC;QAEF;MAEJ;QACI,MAAM,IAAIgB,KAAK,CAAC,SAASjB,KAAK,mCAAmC,CAAC;IAC1E;EACJ;EAEAkB,GAAGA,CAACC,MAAc,EAAElB,QAA4B;IAC5C,MAAMlB,UAAU,GAAG,IAAI,CAAC5F,WAAW,CAACiI,GAAG,CAACnB,QAAQ,CAAC;IACjD,IAAIlB,UAAU,KAAKlF,SAAS,EAAE;MAC1B,IAAI,CAACV,WAAW,CAACkI,MAAM,CAACpB,QAAQ,CAAC;MACjClB,UAAU,EAAE;IAChB;EACJ;EAEAuC,WAAWA,CAACC,IAAa;IACrB,IAAI,OAAOA,IAAI,KAAK,QAAQ,EAAE,OAAOA,IAAI,CAAC,KACrC,OAAO9K,OAAO,CAAC+K,KAAK,CAACD,IAAI,CAAC;EACnC;EAEAE,SAASA,CAACF,IAAa;IACnB,OAAOA,IAAI;EACf;;AAGJ;;;;AAIA,OAAO,MAAMG,eAAe,GACxBlI,aAAwD,IACtB;EAClC,OAAO;IACHX,IAAI,EAAE,YAAY;IAClB8I,gBAAgB,EAAGC,OAA+B,IAC9C,IAAIhJ,eAAe,CAACgJ,OAAO,EAAE3L,MAAM,CAAC4L,iBAAiB,CAACtJ,YAAY,CAAC,CAACiB,aAAa,CAAC;GACzF;AACL,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["Array","Cause","Deferred","Duration","Effect","Exit","FileSystem","Function","Layer","Match","Path","Schema","Scope","Stream","ChildProcess","NodeServices","FridaDevice","FridaScript","FridaSession","Flatted","Frida","DeviceSchema","Union","Struct","connection","Literal","timeout","optional","DurationFromMillis","address","String","token","origin","keepaliveInterval","emulatorName","hidden","Boolean","adbExecutable","fridaExecutable","emulatorExecutable","AttachSchema","pid","Number","spawn","NonEmptyArray","preSpawn","attachFrontmost","frontmostScope","Literals","ConfigSchema","device","attach","runtime","platform","FridaPoolWorker","name","initQueue","Promise","resolve","scope","scriptContext","undefined","scriptContextPromise","cancelables","Map","sends","constructor","poolOptions","customOptions","FridaRuntime","value","pipe","when","ScriptRuntime","V8","QJS","Default","exhaustive","FridaPlatform","JsPlatform","Gum","Browser","Neutral","DeviceLive","layerLocalDevice","layerUsbDevice","toMillis","layerRemoteDevice","layerAndroidEmulatorDevice","SessionLive","number","layer","layerFrontmost","Minimal","Metadata","Full","unwrap","gen","command","args","handle","make","orElse","FridaLive","provide","ScriptLive","path","fs","tempDir","join","project","config","root","makeDirectory","recursive","agentUrl","fromFileUrl","URL","import","meta","url","baseAgent","readFileString","tempFile","makeTempFileScoped","directory","prefix","suffix","setupFiles","testFiles","map","promise","globTestFiles","globalSetupFiles","isArray","globalSetup","marker","allFiles","flatten","newContent","file","writeFileString","replace","toFileUrl","satisfiesSuccessType","makeUnsafe","prev","runInit","buildWithScope","runPromiseExit","then","start","exit","isSuccess","prettyErrors","cause","stop","allSettled","cancelable","values","close","void","runPromise","clear","send","message","sendPromise","flatMap","fridaScript","callExport","runPromiseWith","push","filter","p","on","event","callback","set","runCallbackWith","runForEach","stream","input","sync","await","scriptError","onExit","hasInterruptsOnly","destroyed","Error","off","_event","get","delete","deserialize","data","parse","serialize","createFridaPool","createPoolWorker","options","decodeUnknownSync"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@efffrida/vitest-pool",
3
- "version": "0.0.20",
3
+ "version": "0.0.22",
4
4
  "description": "effect frida vitest-pool",
5
5
  "keywords": [
6
6
  "effect-ts",
@@ -36,10 +36,9 @@
36
36
  "provenance": true
37
37
  },
38
38
  "dependencies": {
39
- "flatted": "3.4.2",
40
39
  "frida": "17.9.11",
41
40
  "ioredis": "5.11.0",
42
- "@efffrida/frida-tools": "0.0.31"
41
+ "@efffrida/frida-tools": "0.0.32"
43
42
  },
44
43
  "devDependencies": {
45
44
  "@effect/platform-node": "4.0.0-beta.69",
@@ -49,6 +48,7 @@
49
48
  "@vitest/utils": "4.1.7",
50
49
  "birpc": "4.0.0",
51
50
  "effect": "4.0.0-beta.69",
51
+ "flatted": "3.4.2",
52
52
  "vite": "8.0.14",
53
53
  "vitest": "4.1.7",
54
54
  "@efffrida/polyfills": "0.0.10"
package/src/index.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import type * as Context from "effect/Context";
2
+ import type * as PlatformError from "effect/PlatformError";
2
3
 
3
4
  import * as Array from "effect/Array";
4
5
  import * as Cause from "effect/Cause";
@@ -16,6 +17,8 @@ import * as Scope from "effect/Scope";
16
17
  import * as Stream from "effect/Stream";
17
18
  import * as ChildProcess from "effect/unstable/process/ChildProcess";
18
19
 
20
+ import type * as FridaDeviceAcquisitionError from "@efffrida/frida-tools/FridaDeviceAcquisitionError";
21
+ import type * as FridaSessionError from "@efffrida/frida-tools/FridaSessionError";
19
22
  import type * as VitestNode from "vitest/node";
20
23
 
21
24
  import * as NodeServices from "@effect/platform-node/NodeServices";
@@ -83,9 +86,18 @@ export class FridaPoolWorker implements VitestNode.PoolWorker {
83
86
  private static initQueue: Promise<void> = Promise.resolve();
84
87
 
85
88
  private readonly scope: Scope.Closeable;
86
- private readonly scriptContext: Promise<Context.Context<FridaScript.FridaScript>>;
87
- private readonly cancelables: Map<(arg: any) => void, (interrupter?: number) => void> = new Map();
89
+ private scriptContext: Context.Context<FridaScript.FridaScript> = undefined!;
90
+ private readonly scriptContextPromise: Promise<
91
+ Exit.Exit<
92
+ Context.Context<FridaScript.FridaScript>,
93
+ | FridaDeviceAcquisitionError.FridaDeviceAcquisitionError
94
+ | FridaSessionError.FridaSessionError
95
+ | PlatformError.PlatformError
96
+ | PlatformError.BadArgument
97
+ >
98
+ >;
88
99
 
100
+ private readonly cancelables: Map<(arg: any) => void, (interrupter?: number) => void> = new Map();
89
101
  private sends: Array<Promise<unknown>> = [];
90
102
 
91
103
  constructor(poolOptions: VitestNode.PoolOptions, customOptions: Schema.Schema.Type<typeof ConfigSchema>) {
@@ -216,16 +228,18 @@ export class FridaPoolWorker implements VitestNode.PoolWorker {
216
228
 
217
229
  this.scope = Scope.makeUnsafe();
218
230
  const prev = FridaPoolWorker.initQueue;
219
- const runInit = () => ScriptLive.pipe(Layer.buildWithScope(this.scope), Effect.runPromise);
220
- this.scriptContext = prev.then(runInit, runInit);
221
- FridaPoolWorker.initQueue = this.scriptContext.then(
231
+ const runInit = () => ScriptLive.pipe(Layer.buildWithScope(this.scope), Effect.runPromiseExit);
232
+ this.scriptContextPromise = prev.then(runInit, runInit);
233
+ FridaPoolWorker.initQueue = this.scriptContextPromise.then(
222
234
  () => undefined,
223
235
  () => undefined
224
236
  );
225
237
  }
226
238
 
227
239
  async start(): Promise<void> {
228
- await this.scriptContext;
240
+ const exit = await this.scriptContextPromise;
241
+ if (Exit.isSuccess(exit)) this.scriptContext = exit.value;
242
+ else throw Cause.prettyErrors(exit.cause)[0];
229
243
  }
230
244
 
231
245
  async stop(): Promise<void> {
@@ -236,13 +250,12 @@ export class FridaPoolWorker implements VitestNode.PoolWorker {
236
250
  }
237
251
 
238
252
  async send(message: VitestNode.WorkerRequest): Promise<void> {
239
- const context = await this.scriptContext;
240
253
  let sendPromise: Promise<unknown> = undefined!;
241
254
 
242
255
  try {
243
256
  sendPromise = Effect.flatMap(FridaScript.FridaScript, (fridaScript) =>
244
257
  fridaScript.callExport("onMessage")(message)
245
- ).pipe(Effect.runPromiseWith(context));
258
+ ).pipe(Effect.runPromiseWith(this.scriptContext));
246
259
  this.sends.push(sendPromise);
247
260
  await sendPromise;
248
261
  } finally {
@@ -253,57 +266,47 @@ export class FridaPoolWorker implements VitestNode.PoolWorker {
253
266
  on(event: string, callback: (arg: any) => void): void {
254
267
  switch (event) {
255
268
  case "message": {
256
- this.scriptContext.then((ctx) => {
257
- this.cancelables.set(
258
- callback,
259
- Effect.runCallbackWith(ctx)(
260
- Effect.flatMap(FridaScript.FridaScript, (fridaScript) =>
261
- Stream.runForEach(fridaScript.stream, (input) =>
262
- Effect.sync(() => callback(input.message))
263
- )
264
- )
269
+ this.cancelables.set(
270
+ callback,
271
+ Effect.runCallbackWith(this.scriptContext)(
272
+ Effect.flatMap(FridaScript.FridaScript, (fridaScript) =>
273
+ Stream.runForEach(fridaScript.stream, (input) => Effect.sync(() => callback(input.message)))
265
274
  )
266
- );
267
- });
275
+ )
276
+ );
268
277
 
269
278
  break;
270
279
  }
271
280
 
272
281
  case "error":
273
- this.scriptContext.then((ctx) => {
274
- this.cancelables.set(
275
- callback,
276
- Effect.runCallbackWith(ctx)(
277
- Effect.flatMap(FridaScript.FridaScript, (fridaScript) =>
278
- Deferred.await(fridaScript.scriptError)
279
- ),
280
- {
281
- onExit: (exit) => {
282
- if (Exit.isSuccess(exit)) {
283
- callback(exit.value);
284
- } else if (!Cause.hasInterruptsOnly(exit.cause)) {
285
- callback(exit.cause);
286
- }
287
- },
288
- }
289
- )
290
- );
291
- });
282
+ this.cancelables.set(
283
+ callback,
284
+ Effect.runCallbackWith(this.scriptContext)(
285
+ Effect.flatMap(FridaScript.FridaScript, (fridaScript) =>
286
+ Deferred.await(fridaScript.scriptError)
287
+ ),
288
+ {
289
+ onExit: (exit) => {
290
+ if (Exit.isSuccess(exit)) {
291
+ callback(exit.value);
292
+ } else if (!Cause.hasInterruptsOnly(exit.cause)) {
293
+ callback(exit.cause);
294
+ }
295
+ },
296
+ }
297
+ )
298
+ );
292
299
 
293
300
  break;
294
301
 
295
302
  case "exit":
296
- this.scriptContext.then((ctx) => {
297
- this.cancelables.set(
298
- callback,
299
- Effect.runCallbackWith(ctx)(
300
- Effect.flatMap(FridaScript.FridaScript, (fridaScript) =>
301
- Deferred.await(fridaScript.destroyed)
302
- ),
303
- { onExit: () => callback(void 0) }
304
- )
305
- );
306
- });
303
+ this.cancelables.set(
304
+ callback,
305
+ Effect.runCallbackWith(this.scriptContext)(
306
+ Effect.flatMap(FridaScript.FridaScript, (fridaScript) => Deferred.await(fridaScript.destroyed)),
307
+ { onExit: () => callback(void 0) }
308
+ )
309
+ );
307
310
 
308
311
  break;
309
312