Source/Packages

Observe.Interchange

packages/observability/src/Observe/Interchange.alpha

684 lines44 declarations25.0 KiBSHA-256 3719d431a37a

def · lines 579–613

aosRecordCode

Full file
a parsed line's code: an object with the right format and a string type, then its type's rules (an unknown type is valid and skipped)
579def aosRecordCode =
580  (lambda unrestricted record : (family JSON) .
581    (let unrestricted kind =
582      (aosMemberBytes b"type" record)
583      in
584      (naturalSelect
585        (naturalIsZero (aosIsObject record))
586        4
587        (aosThen
588          (naturalSelect
589            (naturalAnd
590              (aosMemberIsString b"format" record)
591              (bytes-equal (aosMemberBytes b"format" record) b"AOS-JSON/1"))
592            0
593            5)
594          (aosThen
595            (naturalSelect (aosMemberIsString b"type" record) 0 6)
596            (aosThen
597              (naturalSelect
598                (bytes-equal kind b"header")
599                (aosHeaderCode record)
600                (naturalSelect
601                  (bytes-equal kind b"descriptor")
602                  (aosDescriptorCode record)
603                  (naturalSelect
604                    (bytes-equal kind b"event")
605                    (aosEventCode record)
606                    (naturalSelect
607                      (bytes-equal kind b"artifact")
608                      (aosArtifactCode record)
609                      (naturalSelect
610                        (bytes-equal kind b"coverage")
611                        (aosCoverageCode record)
612                        (naturalSelect (bytes-equal kind b"footer") (aosFooterCode record) 0))))))
613              (aosCriticalExtensionCode record)))))))

The compiler supplied declaration spans and resolved links from this source snapshot. This page does not assert that this file belongs to a checked closure.