1 | import { promises as fs } from 'fs'
|
2 | import addToMapSet from './add-to-map-set.js'
|
3 | import getViewIdFromFile from './get-view-id-from-file.js'
|
4 | import path from 'path'
|
5 |
|
6 | export default async function processViewFiles({
|
7 | filesView,
|
8 | filesViewLogic,
|
9 | viewsById,
|
10 | viewsToFiles,
|
11 | }) {
|
12 | for await (let file of filesView) {
|
13 | let id = getViewIdFromFile(file)
|
14 |
|
15 | addToMapSet(viewsById, id, file)
|
16 |
|
17 | let view = viewsToFiles.has(file) ? viewsToFiles.get(file) : {}
|
18 | let logic = path.join(path.dirname(file), 'logic.js')
|
19 |
|
20 | viewsToFiles.set(file, {
|
21 | ...view,
|
22 | custom: false,
|
23 | file,
|
24 | id,
|
25 | logic: filesViewLogic.has(logic) && logic,
|
26 | source: await fs.readFile(file, 'utf8'),
|
27 | version: view.version ? view.version + 1 : 0,
|
28 | })
|
29 | }
|
30 | }
|