@@ -1347,6 +1347,10 @@ export function TemporalObjectToFields(
1347
1347
return ISODateToFields ( calendar , isoDate , type ) ;
1348
1348
}
1349
1349
1350
+ function calendarImplForID ( calendar : BuiltinCalendarId ) {
1351
+ return GetIntrinsic ( '%calendarImpl%' ) ( calendar ) ;
1352
+ }
1353
+
1350
1354
export function calendarImplForObj (
1351
1355
temporalObj :
1352
1356
| Temporal . PlainDate
@@ -1372,7 +1376,7 @@ export function ISODateToFields<T extends ISODateToFieldsType>(
1372
1376
) : ISODateToFieldsReturn < T > ;
1373
1377
export function ISODateToFields ( calendar : BuiltinCalendarId , isoDate : ISODate , type = 'date' ) {
1374
1378
const fields = ObjectCreate ( null ) ;
1375
- const calendarImpl = GetIntrinsic ( '%calendarImpl%' ) ( calendar ) ;
1379
+ const calendarImpl = calendarImplForID ( calendar ) ;
1376
1380
const calendarDate = calendarImpl . isoToDate ( isoDate , { year : true , monthCode : true , day : true } ) ;
1377
1381
1378
1382
fields . monthCode = calendarDate . monthCode ;
@@ -1416,7 +1420,7 @@ export function PrepareCalendarFields<
1416
1420
nonCalendarFieldNames : Array < FieldKeys > ,
1417
1421
requiredFields : RequiredFields
1418
1422
) : PrepareCalendarFieldsReturn < FieldKeys , RequiredFields > {
1419
- const extraFieldNames = GetIntrinsic ( '%calendarImpl%' ) ( calendar ) . extraFields ( ) ;
1423
+ const extraFieldNames = calendarImplForID ( calendar ) . extraFields ( ) ;
1420
1424
const fields : FieldKeys [ ] = Call ( ArrayPrototypeConcat , calendarFieldNames , [ nonCalendarFieldNames , extraFieldNames ] ) ;
1421
1425
const result : Partial < Record < AnyTemporalKey , unknown > > = ObjectCreate ( null ) ;
1422
1426
let any = false ;
@@ -2255,7 +2259,7 @@ export function CalendarMergeFields<Base extends Record<string, unknown>, ToAdd
2255
2259
additionalFields : ToAdd
2256
2260
) {
2257
2261
const additionalKeys = CalendarFieldKeysPresent ( additionalFields ) ;
2258
- const overriddenKeys = GetIntrinsic ( '%calendarImpl%' ) ( calendar ) . fieldKeysToIgnore ( additionalKeys ) ;
2262
+ const overriddenKeys = calendarImplForID ( calendar ) . fieldKeysToIgnore ( additionalKeys ) ;
2259
2263
const merged = ObjectCreate ( null ) ;
2260
2264
const fieldsKeys = CalendarFieldKeysPresent ( fields ) ;
2261
2265
for ( let ix = 0 ; ix < CALENDAR_FIELD_KEYS . length ; ix ++ ) {
@@ -2278,7 +2282,7 @@ export function CalendarDateAdd(
2278
2282
dateDuration : Partial < DateDuration > ,
2279
2283
overflow : Overflow
2280
2284
) {
2281
- const result = GetIntrinsic ( '%calendarImpl%' ) ( calendar ) . dateAdd ( isoDate , dateDuration , overflow ) ;
2285
+ const result = calendarImplForID ( calendar ) . dateAdd ( isoDate , dateDuration , overflow ) ;
2282
2286
RejectDateRange ( result . year , result . month , result . day ) ;
2283
2287
return result ;
2284
2288
}
@@ -2289,7 +2293,7 @@ function CalendarDateUntil(
2289
2293
isoOtherDate : ISODate ,
2290
2294
largestUnit : Temporal . DateUnit
2291
2295
) {
2292
- return GetIntrinsic ( '%calendarImpl%' ) ( calendar ) . dateUntil ( isoDate , isoOtherDate , largestUnit ) ;
2296
+ return calendarImplForID ( calendar ) . dateUntil ( isoDate , isoOtherDate , largestUnit ) ;
2293
2297
}
2294
2298
2295
2299
export function ToTemporalCalendarIdentifier ( calendarLike : Temporal . CalendarLike ) : BuiltinCalendarId {
@@ -2329,7 +2333,7 @@ export function CalendarEquals(one: BuiltinCalendarId, two: BuiltinCalendarId) {
2329
2333
}
2330
2334
2331
2335
export function CalendarDateFromFields ( calendar : BuiltinCalendarId , fields : CalendarFieldsRecord , overflow : Overflow ) {
2332
- const calendarImpl : CalendarImpl = GetIntrinsic ( '%calendarImpl%' ) ( calendar ) ;
2336
+ const calendarImpl : CalendarImpl = calendarImplForID ( calendar ) ;
2333
2337
calendarImpl . resolveFields ( fields , 'date' ) ;
2334
2338
const result = calendarImpl . dateToISO ( fields , overflow ) ;
2335
2339
RejectDateRange ( result . year , result . month , result . day ) ;
@@ -2341,7 +2345,7 @@ export function CalendarYearMonthFromFields(
2341
2345
fields : CalendarFieldsRecord ,
2342
2346
overflow : Overflow
2343
2347
) {
2344
- const calendarImpl : CalendarImpl = GetIntrinsic ( '%calendarImpl%' ) ( calendar ) ;
2348
+ const calendarImpl : CalendarImpl = calendarImplForID ( calendar ) ;
2345
2349
calendarImpl . resolveFields ( fields , 'year-month' ) ;
2346
2350
fields . day = 1 ;
2347
2351
const result = calendarImpl . dateToISO ( fields , overflow ) ;
@@ -2354,7 +2358,7 @@ export function CalendarMonthDayFromFields(
2354
2358
fields : MonthDayFromFieldsObject ,
2355
2359
overflow : Overflow
2356
2360
) {
2357
- const calendarImpl : CalendarImpl = GetIntrinsic ( '%calendarImpl%' ) ( calendar ) ;
2361
+ const calendarImpl : CalendarImpl = calendarImplForID ( calendar ) ;
2358
2362
calendarImpl . resolveFields ( fields , 'month-day' ) ;
2359
2363
return calendarImpl . monthDayToISOReferenceDate ( fields , overflow ) ;
2360
2364
}
0 commit comments