MCPcopy
hub / github.com/formatjs/formatjs / unpack

Function unpack

packages/intl-datetimeformat/unpack.ts:4–22  ·  view source on GitHub ↗
(data: PackedData)

Source from the content-addressed store, hash-verified

2import type {UnpackedZoneData} from '#packages/ecma402-abstract/types/date-time.js'
3
4export function unpack(data: PackedData): Record<string, UnpackedZoneData[]> {
5 const abbrvs = data.abbrvs.split('|')
6 const offsets = data.offsets.split('|').map(n => parseInt(n, 36))
7 const packedZones = data.zones
8 const zones: Record<string, UnpackedZoneData[]> = {}
9 for (const d of packedZones) {
10 const [zone, ...zoneData] = d.split('|')
11
12 zones[zone] = zoneData
13 .map(z => z.split(','))
14 .map(([ts, abbrvIndex, offsetIndex, dst]) => [
15 ts === '' ? -Infinity : parseInt(ts, 36),
16 abbrvs[+abbrvIndex],
17 offsets[+offsetIndex],
18 dst === '1',
19 ])
20 }
21 return zones
22}

Callers 1

core.tsFile · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected