Skip to content

Conversation

@johnbartholomew
Copy link
Collaborator

The Go Jsonnet implementation already implements objectRemoveKey as a builtin and retains hidden fields, this brings the C++ Jsonnet into alignment. This implementation is a little tricky because lazy evaluation means that objects are not simple structures but form an inheritance tree. However, it's not too bad as the code is generally happy to strictly enumerate the object's field list without necessarily evaluating field values, and for std.objectRemoveKey all we need is the field list. Arguably we could even do without that by just storing the set of fields to be removed, but I'd prefer to keep things 'simpler' with a flat field list.

See google/go-jsonnet#830

The Go Jsonnet implementation already implements objectRemoveKey as
a builtin and retains hidden fields, this brings the C++ Jsonnet into
alignment.

See google/go-jsonnet#830
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant