Skip to content

Commit

Permalink
fix nested objects cause parent object not to be quine cheatable #146
Browse files Browse the repository at this point in the history
  • Loading branch information
samualtnorman committed Apr 22, 2024
1 parent 07fc9cb commit 29fcf72
Showing 1 changed file with 4 additions and 4 deletions.
8 changes: 4 additions & 4 deletions src/processScript/minify.ts
Original file line number Diff line number Diff line change
Expand Up @@ -521,14 +521,14 @@ function parseObjectExpression(node: babel.types.ObjectExpression, o: Record<str
if (property.value.type == `ArrayExpression`) {
const childArray: unknown[] = []

if (!parseArrayExpression(property.value, childArray))
if (property.value.elements.length && !parseArrayExpression(property.value, childArray))
return false

o[property.key.type == `Identifier` ? property.key.name : property.key.value] = childArray
} else if (property.value.type == `ObjectExpression`) {
const childObject: Record<string, unknown> = {}

if (!parseObjectExpression(property.value, childObject))
if (property.value.properties.length && !parseObjectExpression(property.value, childObject))
return false

o[property.key.type == `Identifier` ? property.key.name : property.key.value] = childObject
Expand Down Expand Up @@ -560,14 +560,14 @@ function parseArrayExpression(node: babel.types.ArrayExpression, o: unknown[]) {
if (element.type == `ArrayExpression`) {
const childArray: unknown[] = []

if (!parseArrayExpression(element, childArray))
if (!element.elements.length && parseArrayExpression(element, childArray))
return false

o.push(childArray)
} else if (element.type == `ObjectExpression`) {
const childObject: Record<string, unknown> = {}

if (!parseObjectExpression(element, childObject))
if (element.properties.length && !parseObjectExpression(element, childObject))
return false

o.push(childObject)
Expand Down

0 comments on commit 29fcf72

Please sign in to comment.