mirror of
https://github.com/mikefarah/yq.git
synced 2024-12-19 20:19:04 +00:00
Added type as an alias for tag #1195
This commit is contained in:
parent
3ad5355777
commit
90261a2fdd
@ -31,6 +31,29 @@ will output
|
|||||||
!!seq
|
!!seq
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## type is an alias for tag
|
||||||
|
Given a sample.yml file of:
|
||||||
|
```yaml
|
||||||
|
a: cat
|
||||||
|
b: 5
|
||||||
|
c: 3.2
|
||||||
|
e: true
|
||||||
|
f: []
|
||||||
|
```
|
||||||
|
then
|
||||||
|
```bash
|
||||||
|
yq '.. | type' sample.yml
|
||||||
|
```
|
||||||
|
will output
|
||||||
|
```yaml
|
||||||
|
!!map
|
||||||
|
!!str
|
||||||
|
!!int
|
||||||
|
!!float
|
||||||
|
!!bool
|
||||||
|
!!seq
|
||||||
|
```
|
||||||
|
|
||||||
## Set custom tag
|
## Set custom tag
|
||||||
Given a sample.yml file of:
|
Given a sample.yml file of:
|
||||||
```yaml
|
```yaml
|
||||||
|
@ -478,7 +478,8 @@ func initLexer() (*lex.Lexer, error) {
|
|||||||
|
|
||||||
lexer.Add([]byte(`style`), opAssignableToken(getStyleOpType, assignStyleOpType))
|
lexer.Add([]byte(`style`), opAssignableToken(getStyleOpType, assignStyleOpType))
|
||||||
|
|
||||||
lexer.Add([]byte(`tag`), opAssignableToken(getTagOpType, assignTagOpType))
|
lexer.Add([]byte(`tag|type`), opAssignableToken(getTagOpType, assignTagOpType))
|
||||||
|
|
||||||
lexer.Add([]byte(`anchor`), opAssignableToken(getAnchorOpType, assignAnchorOpType))
|
lexer.Add([]byte(`anchor`), opAssignableToken(getAnchorOpType, assignAnchorOpType))
|
||||||
lexer.Add([]byte(`alias`), opAssignableToken(getAliasOptype, assignAliasOpType))
|
lexer.Add([]byte(`alias`), opAssignableToken(getAliasOptype, assignAliasOpType))
|
||||||
lexer.Add([]byte(`filename`), opToken(getFilenameOpType))
|
lexer.Add([]byte(`filename`), opToken(getFilenameOpType))
|
||||||
|
@ -18,6 +18,19 @@ var tagOperatorScenarios = []expressionScenario{
|
|||||||
"D0, P[f], (!!str)::!!seq\n",
|
"D0, P[f], (!!str)::!!seq\n",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
description: "type is an alias for tag",
|
||||||
|
document: `{a: cat, b: 5, c: 3.2, e: true, f: []}`,
|
||||||
|
expression: `.. | type`,
|
||||||
|
expected: []string{
|
||||||
|
"D0, P[], (!!str)::!!map\n",
|
||||||
|
"D0, P[a], (!!str)::!!str\n",
|
||||||
|
"D0, P[b], (!!str)::!!int\n",
|
||||||
|
"D0, P[c], (!!str)::!!float\n",
|
||||||
|
"D0, P[e], (!!str)::!!bool\n",
|
||||||
|
"D0, P[f], (!!str)::!!seq\n",
|
||||||
|
},
|
||||||
|
},
|
||||||
{
|
{
|
||||||
skipDoc: true,
|
skipDoc: true,
|
||||||
document: `{a: cat, b: 5, c: 3.2, e: true, f: []}`,
|
document: `{a: cat, b: 5, c: 3.2, e: true, f: []}`,
|
||||||
@ -42,6 +55,15 @@ var tagOperatorScenarios = []expressionScenario{
|
|||||||
"D0, P[], (doc)::{a: !!mikefarah str}\n",
|
"D0, P[], (doc)::{a: !!mikefarah str}\n",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
skipDoc: true,
|
||||||
|
description: "Set custom type",
|
||||||
|
document: `{a: str}`,
|
||||||
|
expression: `.a type = "!!mikefarah"`,
|
||||||
|
expected: []string{
|
||||||
|
"D0, P[], (doc)::{a: !!mikefarah str}\n",
|
||||||
|
},
|
||||||
|
},
|
||||||
{
|
{
|
||||||
description: "Find numbers and convert them to strings",
|
description: "Find numbers and convert them to strings",
|
||||||
document: `{a: cat, b: 5, c: 3.2, e: true}`,
|
document: `{a: cat, b: 5, c: 3.2, e: true}`,
|
||||||
|
Loading…
Reference in New Issue
Block a user