How to make firebase accept a key that could be a null or a string ? and yet the field is optional, since in security rules you canot ceck if (is) is null ?
function dataCheckCreate(requestData) {
return (
// requestData.count required
requestData.count is number &&
// requestData.src required
requestData.src is string &&
// requestData.date optional !!
// if available it could be a null or a string
(requestData.date == null || requestData.date is string)
);
}
The last rule will be true
when date
is either equal to null
or is a string. If you want that field to be optional then try:
function dataCheckCreate(requestData) {
return (
requestData.count is number &&
requestData.src is string &&
// [date not present in data keys] [date is string]
(!('date' in requestData.keys()) || requestData.date is string)
);
}