Sha256: 2bd58844313c2906c8c5f786d672ef0eb93217c5287fd0de6854edc73e0ccf8e
Contents?: true
Size: 740 Bytes
Versions: 19
Compression:
Stored size: 740 Bytes
Contents
Theme = require './_theme' module.exports = class Theme.TreeBuilder @build: (collection, resolver) -> (new @ collection, resolver).tree constructor: (@collection, @resolver) -> @tree = [] for entry in @collection do (entry) => storage = @tree [name, path] = @resolver(entry) for segment in path when segment.length > 0 storage = @situate(storage, segment) @situate(storage, name, entry) situate: (storage, name, entity) -> for entry in storage if entry.name == name entry.entity = entry.entity || entity return entry.children storage.push entry = name: name children: [] entity: entity entry.children
Version data entries
19 entries across 19 versions & 1 rubygems