Initial Dever 0.0.1
This commit is contained in:
commit
81233d098c
1479 files changed
+163782
No files matched your search
@@ -0,0 +1,74 @@
|
||||
scalarText(source: Text) (answer: Text) {
|
||||
answer = dever.json.toText(dever.json.encode(source))
|
||||
}
|
||||
|
||||
decodeList(value: Json) (items: List<Text>) {
|
||||
decoded: List<Text> = dever.json.decode(value)
|
||||
items = decoded
|
||||
}
|
||||
|
||||
type DecodeResult { Decoded(values: List<Text>)
|
||||
error Invalid(cause: dever.json.JsonResult) }
|
||||
|
||||
decodeCaptured(value: Json) (answer: Int) {
|
||||
decoded: DecodeResult = result(dever.json.decode(value))
|
||||
answer = capturedLength(decoded)
|
||||
}
|
||||
|
||||
capturedLength(value: DecodeResult.Decoded(values)) (answer: Int) recover("无效输入返回负数") { answer = length(values) }
|
||||
capturedLength(value: DecodeResult.Invalid(cause)) (answer: Int) recover("无效输入返回负数") { answer = -1 }
|
||||
|
||||
type State { Ready
|
||||
Busy }
|
||||
|
||||
decodeState(value: Json) (ready: Bool) {
|
||||
state: State = dever.json.decode(value)
|
||||
ready = state == State.Ready
|
||||
}
|
||||
|
||||
scalarFloat(source: Float) (answer: Text) {
|
||||
answer = dever.json.toText(dever.json.encode(source))
|
||||
}
|
||||
|
||||
type Payload { values: List<Int> }
|
||||
|
||||
encode(values: List<Int>) (answer: Text) {
|
||||
payload = Payload { values = values }
|
||||
answer = dever.json.toText(dever.json.encode(payload))
|
||||
}
|
||||
|
||||
type Nested { value: Json }
|
||||
|
||||
nested(value: Json) (answer: Text) {
|
||||
payload = Nested { value = value }
|
||||
answer = dever.json.toText(dever.json.encode(payload))
|
||||
}
|
||||
|
||||
lookup(source: Text) (answer: Int) {
|
||||
value = dever.json.fromText(source)
|
||||
answer = number(dever.json.propertyValue(value, "count"))
|
||||
}
|
||||
|
||||
number(value: null) (answer: Int) { answer = -1 }
|
||||
number(value: Json) (answer: Int) { answer = dever.json.asInteger(value) }
|
||||
|
||||
update(source: Text) (answer: Text) {
|
||||
value = dever.json.fromText(source)
|
||||
answer = dever.json.toText(dever.json.setProperty(value, "count", dever.json.integer(43)))
|
||||
}
|
||||
|
||||
document(source: Text) (answer: Text) {
|
||||
value = dever.json.parse(source)
|
||||
answer = dever.json.stringify(value)
|
||||
}
|
||||
|
||||
type Fixed { text: Text, amount: Int, ratio: Float }
|
||||
|
||||
fixedRecord(source: Text, ratio: Float) (answer: Text) {
|
||||
value = Fixed { text = source, amount = 7, ratio = ratio }
|
||||
answer = dever.json.toText(dever.json.encode(value))
|
||||
}
|
||||
|
||||
arrayText(values: List<Json>) (answer: Text) {
|
||||
answer = dever.json.toText(dever.json.array(values))
|
||||
}
|
||||
Reference in new issue
Block a user