Source code for scippneutron.io.sqw._bytes

# SPDX-License-Identifier: BSD-3-Clause
# Copyright (c) 2024 Scipp contributors (https://github.com/scipp)

from __future__ import annotations

import enum
import sys
from typing import Literal


[docs] class Byteorder(enum.Enum): little = "little" big = "big" @classmethod def parse(cls, value: Byteorder | Literal["native", "little", "big"]) -> Byteorder: if isinstance(value, Byteorder): return value if isinstance(value, str): if value == "native": return cls.native() return cls(value) raise ValueError(f"Invalid Byteorder: {value}") @classmethod def native(cls) -> Byteorder: return cls(sys.byteorder) def get(self) -> Literal["little", "big"]: match self: case Byteorder.little: return "little" case Byteorder.big: return "big"