Skip to content

Commit 57b9832

Browse files
authored
fix: don't use falsy check on cache (#124)
1 parent 1e5ca99 commit 57b9832

File tree

1 file changed

+21
-17
lines changed

1 file changed

+21
-17
lines changed

lib/utils.js

Lines changed: 21 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ const $visitedUp = Symbol('@cap-js/audit-logging:visitedUp')
99
const $visitedDown = Symbol('@cap-js/audit-logging:visitedDown')
1010

1111
const hasPersonalData = entity => {
12-
if (!entity.own($hasPersonalData)) {
12+
if (entity.own($hasPersonalData) == null) {
1313
if (!entity['@PersonalData.EntitySemantics']) entity.set($hasPersonalData, false)
1414
else {
1515
// default role to entity name
@@ -147,22 +147,24 @@ const _getDataSubjectIdQuery = ({ dataSubjectEntity, subs }, row, model) => {
147147
}
148148

149149
const _getUps = (entity, model) => {
150-
if (entity.own($parents)) return entity[$parents]
151-
const ups = []
152-
for (const def of Object.values(model.definitions)) {
153-
if (def.kind !== 'entity' || !def.associations) continue
154-
for (const element of Object.values(def.associations)) {
155-
if (element.target !== entity.name || element._isBacklink || element.name === 'SiblingEntity') continue
156-
ups.push(element)
150+
if (entity.own($parents) == null) {
151+
const ups = []
152+
for (const def of Object.values(model.definitions)) {
153+
if (def.kind !== 'entity' || !def.associations) continue
154+
for (const element of Object.values(def.associations)) {
155+
if (element.target !== entity.name || element._isBacklink || element.name === 'SiblingEntity') continue
156+
ups.push(element)
157+
}
157158
}
159+
entity.set($parents, ups)
158160
}
159-
return entity.set($parents, ups)
161+
return entity.own($parents)
160162
}
161163

162164
const _getDataSubjectUp = (root, model, entity, prev, next, result) => {
163165
for (const element of _getUps(entity, model)) {
164166
// cycle detection
165-
if (!element.own($visitedUp)) element.set($visitedUp, new Set())
167+
if (element.own($visitedUp) == null) element.set($visitedUp, new Set())
166168
if (element.own($visitedUp).has(root)) continue
167169
element.own($visitedUp).add(root)
168170

@@ -192,7 +194,7 @@ const _getDataSubjectDown = (root, entity, prev, next) => {
192194
}
193195
for (const element of associations) {
194196
// cycle detection
195-
if (!element.own($visitedDown)) element.set($visitedDown, new Set())
197+
if (element.own($visitedDown) == null) element.set($visitedDown, new Set())
196198
if (element.own($visitedDown).has(root)) continue
197199
element.own($visitedDown).add(root)
198200

@@ -204,12 +206,14 @@ const _getDataSubjectDown = (root, entity, prev, next) => {
204206
}
205207

206208
const getDataSubject = (entity, model) => {
207-
if (entity.own($dataSubject)) return entity[$dataSubject]
208-
// entities with EntitySemantics 'DataSubjectDetails' or 'Other' must not necessarily
209-
// be always below or always above 'DataSubject' entity in CSN tree
210-
let dataSubjectInfo = _getDataSubjectUp(entity.name, model, entity)
211-
if (!dataSubjectInfo) dataSubjectInfo = _getDataSubjectDown(entity.name, entity)
212-
return entity.set($dataSubject, dataSubjectInfo)
209+
if (entity.own($dataSubject) == null) {
210+
// entities with EntitySemantics 'DataSubjectDetails' or 'Other' must not necessarily
211+
// be always below or always above 'DataSubject' entity in CSN tree
212+
let dataSubjectInfo = _getDataSubjectUp(entity.name, model, entity)
213+
if (!dataSubjectInfo) dataSubjectInfo = _getDataSubjectDown(entity.name, entity)
214+
entity.set($dataSubject, dataSubjectInfo)
215+
}
216+
return entity.own($dataSubject)
213217
}
214218

215219
const _getDataSubjectsMap = req => {

0 commit comments

Comments
 (0)