UNPKG

gpx-builder

Version:
75 lines (72 loc) 1.23 kB
class Track { /** * @see http://www.topografix.com/gpx/1/1/#type_trkType */ constructor(trkseg, { name, cmt, desc, src, link, number, type, extensions } = {}) { this.name = name; this.cmt = cmt; this.desc = desc; this.src = src; this.link = link; this.number = number; this.type = type; this.extensions = extensions; this.trkseg = trkseg; } setSegments(trkseg) { this.trkseg = trkseg; return this; } toObject() { const { name, cmt, desc, src, link, number, type, extensions, trkseg } = this; return { ...(name ? { name } : {}), ...(cmt ? { cmt } : {}), ...(desc ? { desc } : {}), ...(src ? { src } : {}), ...(link ? { link: link.toObject() } : {}), ...(typeof number === 'number' ? { number } : {}), ...(type ? { type } : {}), ...(extensions ? { extensions } : {}), ...(trkseg ? { trkseg: trkseg.map(segment => segment.toObject()) } : {}) }; } } export { Track as default };