You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Assignments using asterisks can be combined with the literal pseudo-value `delete`.
491
-
Assignments and additions using asterisks can be combined with the literal pseudo-values `temporary` and `permanent`.
492
490
493
491
494
492
## References
@@ -602,19 +600,22 @@ baz = (foo.(bar))
602
600
}
603
601
```
604
602
605
-
When referencing values marked as [temporary](#temporary) the copied value will not be marked as temporary, however any sub-values will retain their temporary status.
603
+
When referencing values marked as [temporary](Member-Extensions.md#temporary) the copied value will not be marked as temporary, however any sub-values will retain their temporary status.
606
604
Similarly schema definitions will be retained only for sub-values of the referenced value (TODO: Is this really what we want?)
607
605
608
606
#### Example taoCONFIG Input File
609
607
610
608
```
611
-
foo = temporary +
609
+
(temporary foo)
610
+
(temporary foo.baz)
611
+
612
+
foo
612
613
{
613
614
bar
614
615
{
615
616
a = 1
616
617
}
617
-
baz = temporary +
618
+
baz
618
619
{
619
620
b = 2
620
621
}
@@ -680,71 +681,6 @@ Member extensions can similarly contain nested value extensions.
680
681
```
681
682
682
683
683
-
## Temporary
684
-
685
-
The literal pseudo-value `temporary` (and its counterpart, `permanent`) can occur anywhere one of the literal values `null`, `true` and `false` can occur, however it does not itself carry a value.
686
-
Instead it marks the sub-tree of the JSON result to which it is "added" as temporary, meaning that while it is available to references it will be removed from the final resulting JSON value.
687
-
688
-
#### Example taoCONFIG Input File
689
-
690
-
```
691
-
template = temporary +
692
-
{
693
-
host = "127.0.0.1"
694
-
port = 6000
695
-
version = 42
696
-
}
697
-
698
-
foo = (template) +
699
-
{
700
-
host = "127.0.0.2"
701
-
}
702
-
703
-
bar = (template) +
704
-
{
705
-
port = 6001
706
-
}
707
-
708
-
template += temporary // Can also be "added" later.
709
-
710
-
```
711
-
712
-
#### Resulting JAXN Config Data
713
-
714
-
```javascript
715
-
{
716
-
bar: {
717
-
host:"127.0.0.1",
718
-
port:6001,
719
-
version:42
720
-
},
721
-
foo: {
722
-
host:"127.0.0.2",
723
-
port:6000,
724
-
version:42
725
-
}
726
-
}
727
-
```
728
-
729
-
Similarly, `permanent` allows removing the marking as temporary.
730
-
Arbitrary many `temporary` and `permanent` pseudo-values can be "added" to a value with the last one "winning".
0 commit comments