|
7 | 7 | package org.scalajs.dom.experimental.intl
|
8 | 8 |
|
9 | 9 | import scala.scalajs.js
|
| 10 | +import scala.scalajs.js.| |
10 | 11 | import scala.scalajs.js.annotation._
|
11 |
| -import scala.scalajs.js.{UndefOr, |} |
12 | 12 |
|
13 | 13 | /**
|
14 | 14 | * The Intl.Collator object is a constructor for collators, objects that enable language
|
@@ -63,6 +63,7 @@ class NumberFormat(
|
63 | 63 | options: js.Any): js.Array[String] = js.native
|
64 | 64 | }
|
65 | 65 |
|
| 66 | +@js.native |
66 | 67 | trait CollatorOptions extends js.Object {
|
67 | 68 | val localeMatcher: js.UndefOr[String]
|
68 | 69 | val usage: js.UndefOr[String]
|
@@ -119,16 +120,21 @@ object CollatorOptions {
|
119 | 120 | ignorePunctuation: js.UndefOr[Boolean] = js.undefined,
|
120 | 121 | numeric: js.UndefOr[Boolean] = js.undefined,
|
121 | 122 | caseFirst: js.UndefOr[String] = js.undefined
|
122 |
| - ): CollatorOptions = new CollatorOptions { |
123 |
| - override val localeMatcher: UndefOr[String] = localeMatcher |
124 |
| - override val usage: UndefOr[String] = usage |
125 |
| - override val sensitivity: UndefOr[String] = sensitivity |
126 |
| - override val ignorePunctuation: UndefOr[Boolean] = ignorePunctuation |
127 |
| - override val numeric: UndefOr[Boolean] = numeric |
128 |
| - override val caseFirst: UndefOr[String] = caseFirst |
| 123 | + ): CollatorOptions = { |
| 124 | + js.Dynamic |
| 125 | + .literal( |
| 126 | + localeMatcher = localeMatcher.asInstanceOf[js.Any], |
| 127 | + usage = usage.asInstanceOf[js.Any], |
| 128 | + sensitivity = sensitivity.asInstanceOf[js.Any], |
| 129 | + ignorePunctuation = ignorePunctuation.asInstanceOf[js.Any], |
| 130 | + numeric = numeric.asInstanceOf[js.Any], |
| 131 | + caseFirst = caseFirst.asInstanceOf[js.Any] |
| 132 | + ) |
| 133 | + .asInstanceOf[CollatorOptions] |
129 | 134 | }
|
130 | 135 | }
|
131 | 136 |
|
| 137 | +@js.native |
132 | 138 | trait DateTimeFormatOptions extends js.Object {
|
133 | 139 | val localeMatcher: js.UndefOr[String]
|
134 | 140 | val timeZone: js.UndefOr[String]
|
@@ -191,25 +197,29 @@ object DateTimeFormatOptions {
|
191 | 197 | second: js.UndefOr[String] = js.undefined,
|
192 | 198 | timeZoneName: js.UndefOr[String] = js.undefined
|
193 | 199 | ): DateTimeFormatOptions = {
|
194 |
| - new DateTimeFormatOptions { |
195 |
| - override val localeMatcher: UndefOr[String] = localeMatcher |
196 |
| - override val timeZone: UndefOr[String] = timeZone |
197 |
| - override val hour12: UndefOr[Boolean] = hour12 |
198 |
| - override val formatMatcher: UndefOr[String] = formatMatcher |
199 |
| - override val weekday: UndefOr[String] = weekday |
200 |
| - override val era: UndefOr[String] = era |
201 |
| - override val year: UndefOr[String] = year |
202 |
| - override val month: UndefOr[String] = month |
203 |
| - override val day: UndefOr[String] = day |
204 |
| - override val hour: UndefOr[String] = hour |
205 |
| - override val minute: UndefOr[String] = minute |
206 |
| - override val second: UndefOr[String] = second |
207 |
| - override val timeZoneName: UndefOr[String] = timeZoneName |
208 |
| - } |
| 200 | + // format: off |
| 201 | + js.Dynamic |
| 202 | + .literal( |
| 203 | + localeMatcher = localeMatcher.asInstanceOf[js.Any], |
| 204 | + timeZone = timeZone.asInstanceOf[js.Any], |
| 205 | + hour12 = hour12.asInstanceOf[js.Any], |
| 206 | + formatMatcher = formatMatcher.asInstanceOf[js.Any], |
| 207 | + weekday = weekday.asInstanceOf[js.Any], |
| 208 | + era = era.asInstanceOf[js.Any], |
| 209 | + year = year.asInstanceOf[js.Any], |
| 210 | + month = month.asInstanceOf[js.Any], |
| 211 | + day = day.asInstanceOf[js.Any], |
| 212 | + hour = hour.asInstanceOf[js.Any], |
| 213 | + minute = minute.asInstanceOf[js.Any], |
| 214 | + second = second.asInstanceOf[js.Any], |
| 215 | + timeZoneName = timeZoneName.asInstanceOf[js.Any] |
| 216 | + ) |
| 217 | + .asInstanceOf[DateTimeFormatOptions] |
209 | 218 | // format: on
|
210 | 219 | }
|
211 | 220 | }
|
212 | 221 |
|
| 222 | +@js.native |
213 | 223 | trait NumberFormatOptions extends js.Object {
|
214 | 224 | val localeMatcher: js.UndefOr[String]
|
215 | 225 | val style: js.UndefOr[String]
|
@@ -287,18 +297,20 @@ object NumberFormatOptions {
|
287 | 297 | maximumFractionDigits: js.UndefOr[Double] = js.undefined,
|
288 | 298 | minimumSignificantDigits: js.UndefOr[Double] = js.undefined,
|
289 | 299 | maximumSignificantDigits: js.UndefOr[Double] = js.undefined
|
290 |
| - ): NumberFormatOptions = new NumberFormatOptions { |
291 |
| - override val localeMatcher: UndefOr[String] = localeMatcher |
292 |
| - override val style: UndefOr[String] = style |
293 |
| - override val currency: UndefOr[String] = currency |
294 |
| - override val currencyDisplay: UndefOr[String] = currencyDisplay |
295 |
| - override val useGrouping: UndefOr[Boolean] = useGrouping |
296 |
| - override val minimumIntegerDigits: UndefOr[Double] = minimumIntegerDigits |
297 |
| - override val minimumFractionDigits: UndefOr[Double] = minimumFractionDigits |
298 |
| - override val maximumFractionDigits: UndefOr[Double] = maximumFractionDigits |
299 |
| - override val minimumSignificantDigits: UndefOr[Double] = |
300 |
| - minimumSignificantDigits |
301 |
| - override val maximumSignificantDigits: UndefOr[Double] = |
302 |
| - maximumSignificantDigits |
| 300 | + ): NumberFormatOptions = { |
| 301 | + js.Dynamic |
| 302 | + .literal( |
| 303 | + localeMatcher = localeMatcher.asInstanceOf[js.Any], |
| 304 | + style = style.asInstanceOf[js.Any], |
| 305 | + currency = currency.asInstanceOf[js.Any], |
| 306 | + currencyDisplay = currencyDisplay.asInstanceOf[js.Any], |
| 307 | + useGrouping = useGrouping.asInstanceOf[js.Any], |
| 308 | + minimumIntegerDigits = minimumIntegerDigits.asInstanceOf[js.Any], |
| 309 | + minimumFractionDigits = minimumFractionDigits.asInstanceOf[js.Any], |
| 310 | + maximumFractionDigits = maximumFractionDigits.asInstanceOf[js.Any], |
| 311 | + minimumSignificantDigits = minimumSignificantDigits.asInstanceOf[js.Any], |
| 312 | + maximumSignificantDigits = maximumSignificantDigits.asInstanceOf[js.Any] |
| 313 | + ) |
| 314 | + .asInstanceOf[NumberFormatOptions] |
303 | 315 | }
|
304 | 316 | }
|
0 commit comments