fix: masks shouldn't override node's properties

Massimo Melina committed Feb 20, 2023 at 17:10 UTC 562fde0d8598065155c48073c3428c0184e04398
1 file changed +2 -2
src/vfs.ts
+2 -2
@@ -203,10 +203,10 @@ export async function* walkNode(parent:VfsNode, ctx?: Koa.Context, depth:number=
203 function applyMasks(item: VfsNode, parent: VfsNode, virtualBasename: string) {
204 const { masks } = parent
205 if (!masks) return
206 - for (const k in masks)
206 + for (const [k,v] of Object.entries(masks))
207 if (k.startsWith('**/') && isMatch(virtualBasename, k.slice(3))
208 || !k.includes('/') && isMatch(virtualBasename, k))
209 - Object.assign(item, masks[k])
209 + _.defaults(item, v)
210 }
211
212 function inheritMasks(item: VfsNode, parent: VfsNode, virtualBasename:string) {