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