MCPcopy
hub / github.com/github/docs / loadUnversionedTree

Function loadUnversionedTree

lib/page-data.js:38–67  ·  view source on GitHub ↗
(languagesOnly = null)

Source from the content-addressed store, hash-verified

36 * as the basis for the siteTree after we do some versioning. We can also use it to derive the pageList.
37 */
38export async function loadUnversionedTree(languagesOnly = null) {
39 if (languagesOnly && !Array.isArray(languagesOnly)) {
40 throw new Error("'languagesOnly' has to be an array")
41 }
42 const unversionedTree = {}
43 unversionedTree.en = await createTree(path.join(languages.en.dir, 'content'))
44
45 const languagesValues = Object.entries(languages)
46 .filter(([language]) => {
47 return !languagesOnly || languagesOnly.includes(language)
48 })
49 .map(([, data]) => {
50 return data
51 })
52
53 await Promise.all(
54 languagesValues
55 .filter((langObj) => langObj.code !== 'en')
56 .map(async (langObj) => {
57 const localizedContentPath = path.join(langObj.dir, 'content')
58 unversionedTree[langObj.code] = await translateTree(
59 localizedContentPath,
60 langObj,
61 unversionedTree.en
62 )
63 })
64 )
65
66 return unversionedTree
67}
68
69async function translateTree(dir, langObj, enTree) {
70 const item = {}

Callers 2

loadSiteTreeFunction · 0.85
loadPageListFunction · 0.85

Calls 2

createTreeFunction · 0.85
translateTreeFunction · 0.85

Tested by

no test coverage detected