github.com/joomcode/cue@v0.4.4-0.20221111115225-539fe3512047/tools/trim/testdata/shared.txtar (about)

     1  // Removing fields from shared nodes not supported.
     2  -- in.cue --
     3  import "strings"
     4  
     5  // TODO: this would be okay to normalize. Consider whether
     6  // this makes sense, though.
     7  a: {
     8  	service: [ID=_]: name: "a"
     9  
    10  	service: foo: shared
    11  	service: bar: shared
    12  
    13  	shared: name: "a"
    14  }
    15  
    16  issue760: {
    17  
    18  	service: [ID=_]: {
    19  		name: ID
    20  	}
    21  	service: foo: _shared
    22  	service: bar: _shared
    23  	_shared: {
    24  		name: "foo" // Do not remove!
    25  	}
    26  }
    27  
    28  issue760: {
    29  	service: [ID=_]: {
    30  		_service_name: *strings.TrimSuffix(ID, "-suffix") | string
    31  	}
    32  	service: "a-suffix": _shared
    33  	service: "b-suffix": _shared
    34  	_shared: {
    35  		_service_name: "a" // Do not remove!
    36  	}
    37  }
    38  -- out/trim --
    39  == in.cue
    40  import "strings"
    41  
    42  // TODO: this would be okay to normalize. Consider whether
    43  // this makes sense, though.
    44  a: {
    45  	service: [ID=_]: name: "a"
    46  
    47  	service: foo: shared
    48  	service: bar: shared
    49  
    50  	shared: name: "a"
    51  }
    52  
    53  issue760: {
    54  
    55  	service: [ID=_]: {
    56  		name: ID
    57  	}
    58  	service: foo: _shared
    59  	service: bar: _shared
    60  	_shared: {
    61  		name: "foo" // Do not remove!
    62  	}
    63  }
    64  
    65  issue760: {
    66  	service: [ID=_]: {
    67  		_service_name: *strings.TrimSuffix(ID, "-suffix") | string
    68  	}
    69  	service: "a-suffix": _shared
    70  	service: "b-suffix": _shared
    71  	_shared: {
    72  		_service_name: "a" // Do not remove!
    73  	}
    74  }