1/* 2 * Copyright (c) 2021 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16#ifndef ECMASCRIPT_BUILTINS_BUILTINS_RELATIVE_TIME_FORMAT_H 17#define ECMASCRIPT_BUILTINS_BUILTINS_RELATIVE_TIME_FORMAT_H 18 19#include "ecmascript/base/builtins_base.h" 20#include "ecmascript/ecma_runtime_call_info.h" 21#include "ecmascript/ecma_vm.h" 22#include "ecmascript/global_env.h" 23#include "ecmascript/js_array.h" 24#include "ecmascript/js_date.h" 25#include "ecmascript/js_hclass.h" 26#include "ecmascript/js_intl.h" 27#include "ecmascript/js_locale.h" 28#include "ecmascript/js_object.h" 29#include "ecmascript/js_relative_time_format.h" 30#include "ecmascript/object_factory.h" 31 32namespace panda::ecmascript::builtins { 33class BuiltinsRelativeTimeFormat : public base::BuiltinsBase { 34public: 35 // 14.2.1 Intl.RelativeTimeFormat ([ locales [ , options ]]) 36 static JSTaggedValue RelativeTimeFormatConstructor(EcmaRuntimeCallInfo *argv); 37 38 // 14.3.1 Intl.RelativeTimeFormat.supportedLocalesOf ( locales [ , options ] ) 39 static JSTaggedValue SupportedLocalesOf(EcmaRuntimeCallInfo *argv); 40 41 // 14.4.3 Intl.RelativeTimeFormat.prototype.format( value, unit ) 42 static JSTaggedValue Format(EcmaRuntimeCallInfo *argv); 43 44 // 14.4.4 Intl.RelativeTimeFormat.prototype.formatToParts( value, unit ) 45 static JSTaggedValue FormatToParts(EcmaRuntimeCallInfo *argv); 46 47 // 14.4.5 Intl.RelativeTimeFormat.prototype.resolvedOptions () 48 static JSTaggedValue ResolvedOptions(EcmaRuntimeCallInfo *argv); 49}; 50} // namespace panda::ecmascript::builtins 51 52#endif // ECMASCRIPT_BUILTINS_BUILTINS_RELATIVE_TIME_FORMAT_H