When I started with three.js, I implemented my first addon ( Addon. Produces almost infinite many time-varying geometries with functions) with the old geometry. After being told that this geometry will not last forever, I ported to both indexed and non-indexed BufferGeometry.
Maybe the direct comparison of the variants helps, although I didn’t use the requested line. It is very nested. You may have to break it down into its parts in the old variant first.
Code at https://github.com/hofk/THREEf.js/blob/cc28a353fe8e3a6e98956dc299d1762b178ad452/THREEf_90/THREEf.js
This is the grouping of variants, folded in my editor. The line numbers match.