rt, count }); return this._onResult(result); } async all() { const result = await super.all(); return this._onResult(result); } _onResult(result) { if (!result.ownProperties) { return result; } // The result packet can have multiple properties that hold grips which we may need // to turn into fronts. const gripKeys = ["value", "getterValue", "get", "set"]; Object.entries(result.ownProperties).forEach(([key, descriptor]) => { if (descriptor) { for (const gripKey of gripKeys) { if (descriptor.hasOwnProperty(gripKey)) { result.ownProperties[key][gripKey] = getAdHocFrontOrPrimitiveGrip( descriptor[gripKey], this ); } } } }); return result; } } registerFront(PropertyIteratorFront); PK