'use strict';letfastProto=null;// Creates an object with permanently fast properties in V8. See Toon Verwaest's// post https://medium.com/@tverwaes/setting-up-prototypes-in-v8-ec9c9491dfe2#5f62// for more details. Use %HasFastProperties(object) and the Node.js flag// --allow-natives-syntax to check whether an object has fast properties.functionFastObject(o){// A prototype object will have "fast properties" enabled once it is checked// against the inline property cache of a function, e.g. fastProto.property:// https://github.com/v8/v8/blob/6.0.122/test/mjsunit/fast-prototype.js#L48-L63if(fastProto!==null&&typeoffastProto.property){constresult=fastProto;fastProto=FastObject.prototype=null;returnresult;}fastProto=FastObject.prototype=o==null?Object.create(null):o;returnnewFastObject;}// Initialize the inline property cache of FastObjectFastObject();module.exports=functiontoFastproperties(o){returnFastObject(o);};