Ejemplo n.º 1
0
 class ConstDefaultTest(DataclassMixin):
     const_bytes: bytes = csfield(cs.Const(b"BMP"))
     const_int: int = csfield(cs.Const(5, cs.Int8ub))
     default_int: int = csfield(cs.Default(cs.Int8ub, 28))
     default_lambda: bytes = csfield(
         cs.Default(cs.Bytes(cs.this.const_int),
                    lambda ctx: bytes(ctx.const_int)))
Ejemplo n.º 2
0
 class Image(DataclassMixin):
     width: int = csfield(cs.Int8ub)
     height: int = csfield(cs.Int8ub)
     pixels: t.Optional[bytes] = csfield(
         cs.Default(
             cs.Bytes(cs.this.width * cs.this.height),
             lambda ctx: bytes(ctx.width * ctx.height),
         ))
Ejemplo n.º 3
0
    class TestContainer(DataclassMixin):
        @dataclasses.dataclass
        class InnerDataclass(DataclassMixin):
            b: int = csfield(cs.Byte)
            c: bytes = csfield(cs.Bytes(cs.this._.length))

        length: int = csfield(cs.Byte)
        a: InnerDataclass = csfield(DataclassStruct(InnerDataclass))
Ejemplo n.º 4
0
 class TestContainer(DataclassMixin):
     a: int = csfield(cs.Int16ub, "This is the documentation of a")
     b: int = csfield(
         cs.Int8ub,
         doc="This is the documentation of b\nwhich is multiline")
     c: int = csfield(
         cs.Int8ub,
         """
         This is the documentation of c
         which is also multiline
         """,
     )
Ejemplo n.º 5
0
 class Image(DataclassMixin):
     signature: t.Optional[bytes] = csfield(cs.Const(b"BMP"))
     width: int = csfield(cs.Int8ub)
     height: int = csfield(cs.Int8ub)
Ejemplo n.º 6
0
 class TestContainer(DataclassMixin):
     a: TestEnum = csfield(cst.TEnum(cs.Int8ub, TestEnum))
     b: int = csfield(cs.Int8ub)
Ejemplo n.º 7
0
 class TestContainer(DataclassMixin):
     a: int = csfield(cs.BitsInteger(7))
     b: int = csfield(cs.Bit)
     c: int = csfield(cs.BitsInteger(8))
Ejemplo n.º 8
0
 class TestTContainer(DataclassMixin):
     a: t.Optional[int] = csfield(cs.Const(1, cs.Byte))
     b: int = csfield(cs.Int8ub)
Ejemplo n.º 9
0
 class TestContainer:
     a: int = csfield(cs.Int16ub)
     b: int = csfield(cs.Int8ub)
Ejemplo n.º 10
0
 class InnerDataclass(DataclassMixin):
     b: int = csfield(cs.Byte)
     c: bytes = csfield(cs.Bytes(cs.this._.length))
Ejemplo n.º 11
0
 class TestContainer(DataclassMixin):
     _1: int = csfield(cs.Computed(7))
     _2: t.Optional[bytes] = csfield(cs.Const(b"JPEG"))
     _3: None = csfield(cs.Pass)
     _4: None = csfield(cs.Terminated)
Ejemplo n.º 12
0
 class TestContainer(DataclassMixin):
     _1: t.Optional[bytes] = csfield(cs.Const(b"\x00"))
     _2: None = csfield(cs.Padding(1))
     _3: None = csfield(cs.Pass)
     _4: None = csfield(cs.Terminated)
Ejemplo n.º 13
0
 class TestContainer(DataclassMixin):
     array_field: t.List[int] = csfield(cs.Array(5, cs.Int8ub))
Ejemplo n.º 14
0
 class TestContainer(DataclassMixin):
     const_field: t.Optional[bytes] = csfield(cs.Const(b"\x00"))
Ejemplo n.º 15
0
 class Image(DataclassMixin):
     width: int = csfield(cs.Int8ub)
     height: int = csfield(cs.Int8ub)
     pixels: bytes = csfield(cs.Bytes(cs.this.height * cs.this.width))
Ejemplo n.º 16
0
 class TestContainer(DataclassMixin):
     a: int = csfield(cs.Int16ub)
     b: int = csfield(cs.Int8ub)
Ejemplo n.º 17
0
 class TestContainer(DataclassMixin):
     clear: int = csfield(cs.Int8ul)
     copy: int = csfield(cs.Int8ul)
     fromkeys: int = csfield(cs.Int8ul)
     get: int = csfield(cs.Int8ul)
     items: int = csfield(cs.Int8ul)
     keys: int = csfield(cs.Int8ul)
     move_to_end: int = csfield(cs.Int8ul)
     pop: int = csfield(cs.Int8ul)
     popitem: int = csfield(cs.Int8ul)
     search: int = csfield(cs.Int8ul)
     search_all: int = csfield(cs.Int8ul)
     setdefault: int = csfield(cs.Int8ul)
     update: int = csfield(cs.Int8ul)
     values: int = csfield(cs.Int8ul)