testIf static method
Implementation
static Future<bool> testIf(String str, NodeFractal reNode) async {
if (str.contains('in')) {
var [leftS, rightS] = str.split('in');
leftS = leftS.trim();
rightS = rightS.trim();
if (leftS.isEmpty && rightS.isEmpty) return false;
final hash = switch (leftS) {
'' => reNode.hash,
'owner' => reNode.owner?.hash,
'account' => UserFractal.active.value?.hash,
_ => reNode.sub[leftS]?.hash ?? reNode[leftS] as String?,
};
final rightF = (rightS.isEmpty)
? reNode
: (EventFractal.isHash(rightS)
? (await NetworkFractal.request(rightS))
: reNode.sub[rightS]);
final sorted = '${rightF?['sorted'] ?? ''}'.split(',');
if (!sorted.contains(hash)) return false;
} else if (!switch (str) {
'authenticated' => UserFractal.active.value != null,
'own' => (reNode.owner) == UserFractal.active.value,
_ => false,
}) {
return false;
}
return true;
}