cps-org / cps-org/cps

special casing fallback behavior when attribute is set to null will make it more difficult to tool against

Open
#56 5 comments 0 reactions 0 assignees View on GitHub
help wanted scheduled
Dominant language
Python
Stars
191
Forks
14
PR merge metrics
No merged PRs in 30d

Description

```
Note that a value of null satisfies the condition of having the attribute. A value of null
has the usual meaning where null is an acceptable value for the attribute; otherwise, a value
of null shall be treated as the attribute being unset (and shall suppress falling back to the
non-configuration-specific value).
```

In JSON parsers, where you specify a structure of types and the parser tries to fill out those types, typically an unset attribute and an attribute set to null both results in a None value in an optional. In cases where you must tell the difference between an unset value and a null value, you'll end up with a nested option type. This makes it much more challenging to tool around this spec.

It would be much easier if `tag: null` meant the same as the tag not being specified. If you want to unset the values and not allow a fallback, set the value to an empty string or array. For example `tag: []` or `tag: ""` would cause an overriding to an empty value.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.