Skip to content
This repository was archived by the owner on Feb 14, 2025. It is now read-only.

Commit cdd002c

Browse files
authored
Merge pull request #32 from publicodes/fix-getrawnodes
fix: resolved 'avec' mechanism are now removed
2 parents 2a0f14b + 0477910 commit cdd002c

File tree

2 files changed

+35
-2
lines changed

2 files changed

+35
-2
lines changed

source/commons.ts

+10-1
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,16 @@ export function getRawNodes(parsedRules: ParsedRules<RuleName>): RawRules {
8585
return Object.fromEntries(
8686
Object.values(parsedRules).reduce((acc, rule) => {
8787
const { nom, ...rawNode } = rule.rawNode
88-
acc.push([nom, rawNode])
88+
// We don't want to keep the `avec` attribute in the raw node
89+
// as they are already resolved in the [parsedRules] object.
90+
delete rawNode['avec']
91+
92+
acc.push([
93+
rule.dottedName,
94+
// If the rule only contained the 'nom' attribute, we don't want to
95+
// keep an empty object in the raw node.
96+
Object.keys(rawNode).length === 0 ? null : rawNode,
97+
])
8998
return acc
9099
}, []),
91100
) as RawRules

test/getRawRules.test.ts

+25-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ describe('getRawRules', () => {
1313
})
1414
it('Single null rule', () => {
1515
expect(getRawNodesWith({ test1: null })).toStrictEqual({
16-
test1: {},
16+
test1: null,
1717
})
1818
})
1919
it('Simple single rule', () => {
@@ -42,4 +42,28 @@ describe('getRawRules', () => {
4242
}
4343
expect(getRawNodesWith(rawRules)).toStrictEqual(rawRules)
4444
})
45+
it('Mechansim [avec] should not create empty objects', () => {
46+
const rawRules = {
47+
ruleA: {
48+
avec: {
49+
bus: null,
50+
},
51+
titre: 'Rule A',
52+
formule: 'B . C * 3',
53+
},
54+
'ruleA . B . C': {
55+
valeur: '10',
56+
},
57+
}
58+
expect(getRawNodesWith(rawRules)).toStrictEqual({
59+
ruleA: {
60+
titre: 'Rule A',
61+
formule: 'B . C * 3',
62+
},
63+
'ruleA . B . C': {
64+
valeur: '10',
65+
},
66+
'ruleA . bus': null,
67+
})
68+
})
4569
})

0 commit comments

Comments
 (0)