json-schema-org / json-schema-org/referencing
proposal: reserve `$$` or `$-` for non-JRI keywords
Nobody has claimed this yet.
- Dominant language
- Makefile
- Stars
- 9
- Forks
- 1
- PR merge metrics
- No merged PRs in 30d
Description
The proposal says:
JRI keywords MUST start with a "$" character. Context specifications MAY define their own "$"-prefixed keywords, however this is NOT RECOMMENDED as future specifications that extend JRI as discussed in {{extending}} will use that prefix.
I propose that the proposal extend to allow $$ as a safe prefix that will never be used by JRI.
For example, I may choose to define an object with "$ref": , "$$ref-prod": , "$$ref-qa":, in source to allow specifying alternates URIs , where preprocessing tools on the source can hot-swap $ref and $$ref-prod or $$ref-qa alternatives within a build/deploy pipeline. This could be used where static template or other token substitution does not work well.
Context specifications MAY safely use the
"$$"prefix sequence for context keywords. Future JRI keywords MUST NOT start with the"$$"prefix sequence.
(Given that, the proposal could tighten this and say that Context specifications MAY NOT define their own "$"-prefixed keyword unless they use the "$$" prefix.)
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the JRI keyword rule and the extending-JRI discussion referenced in the proposal, then check how context specifications are documented in this repository. Define whether the $$ reservation should be adopted and update the relevant proposal text and examples; done means the prefix rule and its interaction with future JRI keywords are unambiguous.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- json
- Domain
- documentation
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100