/* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
/** * A PropertyIteratorFront provides a way to access to property names and * values of an object efficiently, slice by slice. * Note that the properties can be sorted in the backend, * this is controled while creating the PropertyIteratorFront * from ObjectFront.enumProperties.
*/ class PropertyIteratorFront extends FrontClassWithSpec(propertyIteratorSpec) {
form(data) { this.actorID = data.actor; this.count = data.count;
}
async all() { const result = await super.all(); returnthis._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;
}
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.