// Removing fields from shared nodes not supported. -- in.cue -- import "strings" // TODO: this would be okay to normalize. Consider whether // this makes sense, though. a: { service: [ID=_]: name: "a" service: foo: shared service: bar: shared shared: name: "a" } issue760: { service: [ID=_]: { name: ID } service: foo: _shared service: bar: _shared _shared: { name: "foo" // Do not remove! } } issue760: { service: [ID=_]: { _service_name: *strings.TrimSuffix(ID, "-suffix") | string } service: "a-suffix": _shared service: "b-suffix": _shared _shared: { _service_name: "a" // Do not remove! } } -- out/trim -- == in.cue import "strings" // TODO: this would be okay to normalize. Consider whether // this makes sense, though. a: { service: [ID=_]: name: "a" service: foo: shared service: bar: shared shared: name: "a" } issue760: { service: [ID=_]: { name: ID } service: foo: _shared service: bar: _shared _shared: { name: "foo" // Do not remove! } } issue760: { service: [ID=_]: { _service_name: *strings.TrimSuffix(ID, "-suffix") | string } service: "a-suffix": _shared service: "b-suffix": _shared _shared: { _service_name: "a" // Do not remove! } }