MCPcopy
hub / github.com/liuzi6612/nav / setWebs

Function setWebs

scripts/utils.ts:191–321  ·  view source on GitHub ↗
(
  nav: INavProps[],
  settings: ISettings,
  tags: ITagPropValues[] = [],
)

Source from the content-addressed store, hash-verified

189}
190
191export function setWebs(
192 nav: INavProps[],
193 settings: ISettings,
194 tags: ITagPropValues[] = [],
195): INavProps[] {
196 if (!Array.isArray(nav)) return []
197
198 const tagMap = new Map<number, ITagPropValues>()
199 for (const tag of tags) {
200 if (tag.id) {
201 tagMap.set(tag.id, tag)
202 }
203 }
204
205 function handleAdapter(item: any): void {
206 delete item.collapsed
207 delete item.createdAt
208 if (!item.ownVisible) {
209 delete item.ownVisible
210 }
211 item.id = incrementClassId(item.id)
212 if (item.rId < 0) {
213 item.rId = incrementWebRId(item.rId)
214 }
215 item.icon = replaceJsdelivrCDN(item.icon, settings)
216 item.nav ||= []
217 }
218
219 getMaxWebId(nav)
220
221 for (let i = 0; i < nav.length; i++) {
222 const item = nav[i]
223 handleAdapter(item)
224 if (item.nav) {
225 for (let j = 0; j < item.nav.length; j++) {
226 const navItem = item.nav[j]
227 handleAdapter(navItem)
228 if (navItem.nav) {
229 for (let k = 0; k < navItem.nav.length; k++) {
230 const navItemItem = navItem.nav[k]
231 handleAdapter(navItemItem)
232
233 if (navItemItem.nav) {
234 for (let l = 0; l < navItemItem.nav.length; l++) {
235 const webItem = navItemItem.nav[l] as IWebProps
236 webItem.id = incrementWebId(webItem.id)
237 if (webItem.rId) {
238 webItem.rId = incrementWebRId(webItem.rId)
239 }
240 webItem.tags ||= []
241 webItem.rate ??= 5
242 webItem.top ??= false
243 webItem.ownVisible ??= false
244 webItem.url ||= ''
245 webItem.name ||= ''
246 webItem.desc ||= ''
247 webItem.icon ||= ''
248 webItem.icon = replaceJsdelivrCDN(webItem.icon, settings)

Callers 1

mainFunction · 0.90

Calls 7

replaceJsdelivrCDNFunction · 0.90
removeTrailingSlashesFunction · 0.90
isNumberFunction · 0.90
getMaxWebIdFunction · 0.85
handleAdapterFunction · 0.85
incrementWebIdFunction · 0.85
incrementWebRIdFunction · 0.85

Tested by

no test coverage detected