5 #ifndef V8_INTL_SUPPORT 6 #error Internationalization is expected to be enabled. 7 #endif // V8_INTL_SUPPORT 9 #ifndef V8_OBJECTS_JS_DATE_TIME_FORMAT_H_ 10 #define V8_OBJECTS_JS_DATE_TIME_FORMAT_H_ 15 #include "src/isolate.h" 16 #include "src/objects/intl-objects.h" 17 #include "src/objects/managed.h" 18 #include "unicode/uversion.h" 21 #include "src/objects/object-macros.h" 25 class SimpleDateFormat;
50 static std::string CanonicalizeTimeZoneID(
Isolate* isolate,
51 const std::string& input);
64 enum class RequiredOption { kDate, kTime, kAny };
65 enum class DefaultsOption { kDate, kTime, kAll };
68 DefaultsOption defaults);
72 Handle<Object> options, RequiredOption required, DefaultsOption defaults);
74 static std::set<std::string> GetAvailableLocales();
79 #define JS_DATE_TIME_FORMAT_FIELDS(V) \ 80 V(kICULocaleOffset, kTaggedSize) \ 81 V(kICUSimpleDateFormatOffset, kTaggedSize) \ 82 V(kBoundFormatOffset, kTaggedSize) \ 86 DEFINE_FIELD_OFFSET_CONSTANTS(JSObject::kHeaderSize,
87 JS_DATE_TIME_FORMAT_FIELDS)
88 #undef JS_DATE_TIME_FORMAT_FIELDS 92 DECL_ACCESSORS(bound_format,
Object)
104 #include "src/objects/object-macros-undef.h" 106 #endif // V8_OBJECTS_JS_DATE_TIME_FORMAT_H_