UNPKG

941 BJavaScriptView Raw
1import path from 'path'
2
3export default function getViewRelativeToView({
4 id,
5 view,
6 viewsById,
7 viewsToFiles,
8}) {
9 let importCandidates = viewsById.get(id)
10 if (!importCandidates) {
11 // TODO add better error message
12 console.log('No import candidates for ', id, 'from', view.file)
13 importCandidates = new Set()
14 }
15 let importViewFile = [...importCandidates][0]
16 if (importCandidates.size > 1) {
17 let pathToView = path.dirname(view.file)
18
19 let maybeFileViewInside = path
20 .join(pathToView, id, 'view.blocks')
21 .replace(/\\/g, '/')
22 let maybeFileViewCustomInside = path
23 .join(pathToView, id, 'react.js')
24 .replace(/\\/g, '/')
25 if (importCandidates.has(maybeFileViewInside)) {
26 importViewFile = maybeFileViewInside
27 } else if (importCandidates.has(maybeFileViewCustomInside)) {
28 importViewFile = maybeFileViewCustomInside
29 }
30 }
31
32 return viewsToFiles.get(importViewFile)
33}