123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389(* Js_of_ocaml library
* http://www.ocsigen.org/js_of_ocaml/
* Copyright (C) 2018 Stéphane Legrand
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, with linking exception;
* either version 2.1 of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*)moduletypeShared=sigclasstypeobject_options=objectmethodlocaleMatcher:Js.js_stringJs.tJs.propendvalobject_options:unit->object_optionsJs.tclasstype_object=objectmethodsupportedLocalesOf:Js.js_stringJs.tJs.js_arrayJs.t->object_optionsJs.tJs.optdef->Js.js_stringJs.tJs.js_arrayJs.tJs.methendendmoduleShared:Shared=structclasstypeobject_options=objectmethodlocaleMatcher:Js.js_stringJs.tJs.propendletobject_options()=object%jsvalmutablelocaleMatcher=Js.string"best fit"endclasstype_object=objectmethodsupportedLocalesOf:Js.js_stringJs.tJs.js_arrayJs.t->object_optionsJs.tJs.optdef->Js.js_stringJs.tJs.js_arrayJs.tJs.methendendmoduleCollator=structincludeSharedclasstyperesolved_options=objectmethodlocale:Js.js_stringJs.tJs.readonly_propmethodusage:Js.js_stringJs.tJs.readonly_propmethodsensitivity:Js.js_stringJs.tJs.readonly_propmethodignorePunctuation:boolJs.tJs.readonly_propmethodcollation:Js.js_stringJs.tJs.readonly_propmethodnumeric:boolJs.tJs.readonly_propmethodcaseFirst:Js.js_stringJs.tJs.readonly_propendclasstypeoptions=objectmethodlocaleMatcher:Js.js_stringJs.tJs.propmethodusage:Js.js_stringJs.tJs.propmethodsensitivity:Js.js_stringJs.tJs.propmethodignorePunctuation:boolJs.tJs.propmethodnumeric:boolJs.tJs.propmethodcaseFirst:Js.js_stringJs.tJs.propendletoptions()=object%jsvalmutablelocaleMatcher=Js.string"best fit"valmutableusage=Js.string"sort"valmutablesensitivity=Js.string"variant"valmutableignorePunctuation=Js._falsevalmutablenumeric=Js._falsevalmutablecaseFirst=Js.string"false"endclasstypet=objectmethodcompare:(Js.js_stringJs.t->Js.js_stringJs.t->int)Js.readonly_propmethodresolvedOptions:unit->resolved_optionsJs.tJs.methendendmoduleDateTimeFormat=structincludeSharedclasstyperesolved_options=objectmethodlocale:Js.js_stringJs.tJs.readonly_propmethodcalendar:Js.js_stringJs.tJs.readonly_propmethodnumberingSystem:Js.js_stringJs.tJs.readonly_propmethodtimeZone:Js.js_stringJs.tJs.readonly_propmethodhour12:boolJs.tJs.readonly_propmethodweekday:Js.js_stringJs.tJs.optdef_propmethodera:Js.js_stringJs.tJs.optdef_propmethodyear:Js.js_stringJs.tJs.optdef_propmethodmonth:Js.js_stringJs.tJs.optdef_propmethodday:Js.js_stringJs.tJs.optdef_propmethodhour:Js.js_stringJs.tJs.optdef_propmethodminute:Js.js_stringJs.tJs.optdef_propmethodsecond:Js.js_stringJs.tJs.optdef_propmethodtimeZoneName:Js.js_stringJs.tJs.optdef_propendclasstypeoptions=objectmethodlocaleMatcher:Js.js_stringJs.tJs.propmethodtimeZone:Js.js_stringJs.tJs.optdefJs.propmethodhour12:boolJs.tJs.optdefJs.propmethodhourCycle:Js.js_stringJs.tJs.optdefJs.propmethodformatMatcher:Js.js_stringJs.tJs.propmethodweekday:Js.js_stringJs.tJs.optdefJs.propmethodera:Js.js_stringJs.tJs.optdefJs.propmethodyear:Js.js_stringJs.tJs.optdefJs.propmethodmonth:Js.js_stringJs.tJs.optdefJs.propmethodday:Js.js_stringJs.tJs.optdefJs.propmethodhour:Js.js_stringJs.tJs.optdefJs.propmethodminute:Js.js_stringJs.tJs.optdefJs.propmethodsecond:Js.js_stringJs.tJs.optdefJs.propmethodtimeZoneName:Js.js_stringJs.tJs.optdefJs.propendletoptions():optionsJs.t=object%jsvalmutablelocaleMatcher=Js.string"best fit"valmutabletimeZone=Js.undefinedvalmutablehour12=Js.undefinedvalmutablehourCycle=Js.undefinedvalmutableformatMatcher=Js.string"best fit"valmutableweekday=Js.undefinedvalmutableera=Js.undefinedvalmutableyear=Js.undefinedvalmutablemonth=Js.undefinedvalmutableday=Js.undefinedvalmutablehour=Js.undefinedvalmutableminute=Js.undefinedvalmutablesecond=Js.undefinedvalmutabletimeZoneName=Js.undefinedendclasstypeformat_part=objectmethod_type:Js.js_stringJs.tJs.readonly_propmethod_value:Js.js_stringJs.tJs.readonly_propendclasstypet=objectmethodformat:(Js.dateJs.t->Js.js_stringJs.t)Js.readonly_propmethodformatToParts:Js.dateJs.tJs.optdef->format_partJs.tJs.js_arrayJs.tJs.methmethodresolvedOptions:unit->resolved_optionsJs.tJs.methendendmoduleNumberFormat=structincludeSharedclasstyperesolved_options=objectmethodlocale:Js.js_stringJs.tJs.readonly_propmethodnumberingSystem:Js.js_stringJs.tJs.readonly_propmethodstyle:Js.js_stringJs.tJs.readonly_propmethodcurrency:Js.js_stringJs.tJs.optdef_propmethodcurrencyDisplay:Js.js_stringJs.tJs.optdef_propmethoduseGrouping:boolJs.tJs.readonly_propmethodminimumIntegerDigits:intJs.optdef_propmethodminimumFractionDigits:intJs.optdef_propmethodmaximumFractionDigits:intJs.optdef_propmethodminimumSignificantDigits:intJs.optdef_propmethodmaximumSignificantDigits:intJs.optdef_propendclasstypeoptions=objectmethodlocaleMatcher:Js.js_stringJs.tJs.propmethodstyle:Js.js_stringJs.tJs.propmethodcurrency:Js.js_stringJs.tJs.optdefJs.propmethodcurrencyDisplay:Js.js_stringJs.tJs.optdefJs.propmethoduseGrouping:boolJs.tJs.propmethodminimumIntegerDigits:intJs.optdefJs.propmethodminimumFractionDigits:intJs.optdefJs.propmethodmaximumFractionDigits:intJs.optdefJs.propmethodminimumSignificantDigits:intJs.optdefJs.propmethodmaximumSignificantDigits:intJs.optdefJs.propendletoptions():optionsJs.t=object%jsvalmutablelocaleMatcher=Js.string"best fit"valmutablestyle=Js.string"decimal"valmutablecurrency=Js.undefinedvalmutablecurrencyDisplay=Js.undefinedvalmutableuseGrouping=Js._truevalmutableminimumIntegerDigits=Js.undefinedvalmutableminimumFractionDigits=Js.undefinedvalmutablemaximumFractionDigits=Js.undefinedvalmutableminimumSignificantDigits=Js.undefinedvalmutablemaximumSignificantDigits=Js.undefinedendclasstypeformat_part=objectmethod_type:Js.js_stringJs.tJs.readonly_propmethod_value:Js.js_stringJs.tJs.readonly_propendclasstypet=objectmethodformat:(Js.numberJs.t->Js.js_stringJs.t)Js.readonly_propmethodformatToParts:Js.numberJs.tJs.optdef->format_partJs.tJs.js_arrayJs.tJs.methmethodresolvedOptions:unit->resolved_optionsJs.tJs.methendendmodulePluralRules=structincludeSharedclasstyperesolved_options=objectmethodlocale:Js.js_stringJs.tJs.readonly_propmethodpluralCategories:Js.js_stringJs.tJs.js_arrayJs.tJs.readonly_propmethod_type:Js.js_stringJs.tJs.readonly_propmethodminimumIntegerDigits:intJs.optdef_propmethodminimumFractionDigits:intJs.optdef_propmethodmaximumFractionDigits:intJs.optdef_propmethodminimumSignificantDigits:intJs.optdef_propmethodmaximumSignificantDigits:intJs.optdef_propendclasstypeoptions=objectmethodlocaleMatcher:Js.js_stringJs.tJs.propmethod_type:Js.js_stringJs.tJs.propendletoptions():optionsJs.t=object%jsvalmutablelocaleMatcher=Js.string"best fit"valmutable_type=Js.string"cardinal"endclasstypet=objectmethodselect:Js.numberJs.t->Js.js_stringJs.tJs.methmethodresolvedOptions:unit->resolved_optionsJs.tJs.methendendclasstypeintl=objectmethod_Collator:Collator._objectJs.tJs.readonly_propmethod_DateTimeFormat:DateTimeFormat._objectJs.tJs.readonly_propmethod_NumberFormat:NumberFormat._objectJs.tJs.readonly_propmethod_PluralRules:PluralRules._objectJs.tJs.readonly_propmethodgetCanonicalLocales:Js.js_stringJs.tJs.js_arrayJs.t->Js.js_stringJs.tJs.js_arrayJs.tJs.methendletintl=Js.Unsafe.global##._Intlletcollator_constr=Js.Unsafe.global##._Intl##._CollatorletdateTimeFormat_constr=Js.Unsafe.global##._Intl##._DateTimeFormatletnumberFormat_constr=Js.Unsafe.global##._Intl##._NumberFormatletpluralRules_constr=Js.Unsafe.global##._Intl##._PluralRulesletis_supported()=Js.Optdef.testintl