AbstractOperations.h 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. /*
  2. * Copyright (c) 2021, Idan Horowitz <idan.horowitz@serenityos.org>
  3. *
  4. * SPDX-License-Identifier: BSD-2-Clause
  5. */
  6. #pragma once
  7. #include <AK/Forward.h>
  8. #include <AK/String.h>
  9. #include <LibJS/Runtime/GlobalObject.h>
  10. namespace JS::Temporal {
  11. struct ISODateTime {
  12. i32 year;
  13. i32 month;
  14. i32 day;
  15. i32 hour;
  16. i32 minute;
  17. i32 second;
  18. i32 millisecond;
  19. i32 microsecond;
  20. i32 nanosecond;
  21. Optional<String> calendar;
  22. };
  23. Optional<ISODateTime> parse_iso_date_time(GlobalObject&, String const& iso_string);
  24. struct TemporalInstant {
  25. i32 year;
  26. i32 month;
  27. i32 day;
  28. i32 hour;
  29. i32 minute;
  30. i32 second;
  31. i32 millisecond;
  32. i32 microsecond;
  33. i32 nanosecond;
  34. Optional<String> time_zone_offset;
  35. };
  36. Optional<TemporalInstant> parse_temporal_instant_string(GlobalObject&, String const& iso_string);
  37. struct TemporalTimeZone {
  38. bool z;
  39. Optional<String> offset;
  40. Optional<String> name;
  41. };
  42. Optional<TemporalTimeZone> parse_temporal_time_zone_string(GlobalObject&, String const& iso_string);
  43. }