@7pmlabs/design-system 0.4.16 → 0.4.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +47 -47
- package/dist/design-system100.js +5 -1
- package/dist/design-system100.js.map +1 -1
- package/dist/design-system100.mjs +10 -6
- package/dist/design-system100.mjs.map +1 -1
- package/dist/design-system101.js +1 -1
- package/dist/design-system101.js.map +1 -1
- package/dist/design-system101.mjs +16 -3
- package/dist/design-system101.mjs.map +1 -1
- package/dist/design-system102.js +1 -1
- package/dist/design-system102.js.map +1 -1
- package/dist/design-system102.mjs +2172 -2
- package/dist/design-system102.mjs.map +1 -1
- package/dist/design-system103.js +1 -1
- package/dist/design-system103.js.map +1 -1
- package/dist/design-system103.mjs +1103 -17
- package/dist/design-system103.mjs.map +1 -1
- package/dist/design-system104.js +1 -1
- package/dist/design-system104.js.map +1 -1
- package/dist/design-system104.mjs +63 -62
- package/dist/design-system104.mjs.map +1 -1
- package/dist/design-system105.js +1 -1
- package/dist/design-system105.js.map +1 -1
- package/dist/design-system105.mjs +6 -1103
- package/dist/design-system105.mjs.map +1 -1
- package/dist/design-system106.js +1 -1
- package/dist/design-system106.js.map +1 -1
- package/dist/design-system106.mjs +67 -25
- package/dist/design-system106.mjs.map +1 -1
- package/dist/design-system107.js +1 -1
- package/dist/design-system107.js.map +1 -1
- package/dist/design-system107.mjs +25 -68
- package/dist/design-system107.mjs.map +1 -1
- package/dist/design-system108.js +1 -1
- package/dist/design-system108.js.map +1 -1
- package/dist/design-system108.mjs +2 -6
- package/dist/design-system108.mjs.map +1 -1
- package/dist/design-system109.js +1 -1
- package/dist/design-system109.js.map +1 -1
- package/dist/design-system109.mjs +6 -2172
- package/dist/design-system109.mjs.map +1 -1
- package/dist/design-system11.js.map +1 -1
- package/dist/design-system11.mjs.map +1 -1
- package/dist/design-system110.js +1 -1
- package/dist/design-system110.mjs +3 -17
- package/dist/design-system110.mjs.map +1 -1
- package/dist/design-system111.js +1 -1
- package/dist/design-system111.mjs +2 -2
- package/dist/design-system112.js +1 -1
- package/dist/design-system112.mjs +1 -1
- package/dist/design-system113.js +1 -1
- package/dist/design-system113.js.map +1 -1
- package/dist/design-system113.mjs +2 -4
- package/dist/design-system113.mjs.map +1 -1
- package/dist/design-system114.js +1 -1
- package/dist/design-system114.js.map +1 -1
- package/dist/design-system114.mjs +4 -8
- package/dist/design-system114.mjs.map +1 -1
- package/dist/design-system115.js +1 -1
- package/dist/design-system115.js.map +1 -1
- package/dist/design-system115.mjs +7 -6
- package/dist/design-system115.mjs.map +1 -1
- package/dist/design-system116.js +1 -1
- package/dist/design-system116.js.map +1 -1
- package/dist/design-system116.mjs +6 -62
- package/dist/design-system116.mjs.map +1 -1
- package/dist/design-system117.js +1 -1
- package/dist/design-system117.js.map +1 -1
- package/dist/design-system117.mjs +17 -3
- package/dist/design-system117.mjs.map +1 -1
- package/dist/design-system118.js +1 -1
- package/dist/design-system118.js.map +1 -1
- package/dist/design-system118.mjs +2 -9
- package/dist/design-system118.mjs.map +1 -1
- package/dist/design-system119.js +1 -1
- package/dist/design-system119.js.map +1 -1
- package/dist/design-system119.mjs +62 -6
- package/dist/design-system119.mjs.map +1 -1
- package/dist/design-system12.js +1 -1
- package/dist/design-system12.js.map +1 -1
- package/dist/design-system12.mjs +8 -8
- package/dist/design-system12.mjs.map +1 -1
- package/dist/design-system120.js +1 -1
- package/dist/design-system120.js.map +1 -1
- package/dist/design-system120.mjs +3 -3
- package/dist/design-system120.mjs.map +1 -1
- package/dist/design-system121.js +1 -1
- package/dist/design-system121.js.map +1 -1
- package/dist/design-system121.mjs +9 -3
- package/dist/design-system121.mjs.map +1 -1
- package/dist/design-system122.js +1 -1
- package/dist/design-system122.js.map +1 -1
- package/dist/design-system122.mjs +6 -5
- package/dist/design-system122.mjs.map +1 -1
- package/dist/design-system123.js +1 -1
- package/dist/design-system123.js.map +1 -1
- package/dist/design-system123.mjs +3 -9
- package/dist/design-system123.mjs.map +1 -1
- package/dist/design-system124.js +1 -1
- package/dist/design-system124.js.map +1 -1
- package/dist/design-system124.mjs +3 -5
- package/dist/design-system124.mjs.map +1 -1
- package/dist/design-system125.js +1 -1
- package/dist/design-system125.js.map +1 -1
- package/dist/design-system125.mjs +6 -5
- package/dist/design-system125.mjs.map +1 -1
- package/dist/design-system126.js +1 -1
- package/dist/design-system126.js.map +1 -1
- package/dist/design-system126.mjs +10 -4
- package/dist/design-system126.mjs.map +1 -1
- package/dist/design-system127.js +1 -1
- package/dist/design-system127.js.map +1 -1
- package/dist/design-system127.mjs +4 -3
- package/dist/design-system127.mjs.map +1 -1
- package/dist/design-system128.js +1 -1
- package/dist/design-system128.js.map +1 -1
- package/dist/design-system128.mjs +5 -12
- package/dist/design-system128.mjs.map +1 -1
- package/dist/design-system129.js +1 -1
- package/dist/design-system129.js.map +1 -1
- package/dist/design-system129.mjs +4 -27
- package/dist/design-system129.mjs.map +1 -1
- package/dist/design-system13.js +2 -2
- package/dist/design-system13.js.map +1 -1
- package/dist/design-system13.mjs +53 -53
- package/dist/design-system13.mjs.map +1 -1
- package/dist/design-system130.js +1 -1
- package/dist/design-system130.js.map +1 -1
- package/dist/design-system130.mjs +2 -4
- package/dist/design-system130.mjs.map +1 -1
- package/dist/design-system131.js +1 -1
- package/dist/design-system131.js.map +1 -1
- package/dist/design-system131.mjs +12 -6
- package/dist/design-system131.mjs.map +1 -1
- package/dist/design-system132.js +1 -1
- package/dist/design-system132.js.map +1 -1
- package/dist/design-system132.mjs +27 -8
- package/dist/design-system132.mjs.map +1 -1
- package/dist/design-system133.js +1 -1
- package/dist/design-system133.js.map +1 -1
- package/dist/design-system133.mjs +5 -4
- package/dist/design-system133.mjs.map +1 -1
- package/dist/design-system134.js +1 -1
- package/dist/design-system134.js.map +1 -1
- package/dist/design-system134.mjs +6 -6
- package/dist/design-system134.mjs.map +1 -1
- package/dist/design-system135.js +1 -1
- package/dist/design-system135.js.map +1 -1
- package/dist/design-system135.mjs +7 -6
- package/dist/design-system135.mjs.map +1 -1
- package/dist/design-system136.js +1 -1
- package/dist/design-system136.js.map +1 -1
- package/dist/design-system136.mjs +4 -5
- package/dist/design-system136.mjs.map +1 -1
- package/dist/design-system137.js +1 -1
- package/dist/design-system137.js.map +1 -1
- package/dist/design-system137.mjs +6 -10
- package/dist/design-system137.mjs.map +1 -1
- package/dist/design-system138.js +1 -1
- package/dist/design-system138.js.map +1 -1
- package/dist/design-system138.mjs +7 -6
- package/dist/design-system138.mjs.map +1 -1
- package/dist/design-system139.js +1 -1
- package/dist/design-system139.js.map +1 -1
- package/dist/design-system139.mjs +5 -6
- package/dist/design-system139.mjs.map +1 -1
- package/dist/design-system140.js +1 -1
- package/dist/design-system140.js.map +1 -1
- package/dist/design-system140.mjs +10 -10
- package/dist/design-system140.mjs.map +1 -1
- package/dist/design-system141.js +1 -1
- package/dist/design-system141.js.map +1 -1
- package/dist/design-system141.mjs +6 -7
- package/dist/design-system141.mjs.map +1 -1
- package/dist/design-system142.js +1 -1
- package/dist/design-system142.js.map +1 -1
- package/dist/design-system142.mjs +6 -17
- package/dist/design-system142.mjs.map +1 -1
- package/dist/design-system143.js +1 -1
- package/dist/design-system143.js.map +1 -1
- package/dist/design-system143.mjs +9 -6
- package/dist/design-system143.mjs.map +1 -1
- package/dist/design-system144.js +1 -1
- package/dist/design-system144.js.map +1 -1
- package/dist/design-system144.mjs +6 -12
- package/dist/design-system144.mjs.map +1 -1
- package/dist/design-system145.js +1 -1
- package/dist/design-system145.js.map +1 -1
- package/dist/design-system145.mjs +17 -3
- package/dist/design-system145.mjs.map +1 -1
- package/dist/design-system146.js +1 -1
- package/dist/design-system146.js.map +1 -1
- package/dist/design-system146.mjs +7 -2
- package/dist/design-system146.mjs.map +1 -1
- package/dist/design-system147.js +1 -1
- package/dist/design-system147.js.map +1 -1
- package/dist/design-system147.mjs +13 -2
- package/dist/design-system147.mjs.map +1 -1
- package/dist/design-system148.js +1 -1
- package/dist/design-system148.js.map +1 -1
- package/dist/design-system148.mjs +3 -7
- package/dist/design-system148.mjs.map +1 -1
- package/dist/design-system149.js +1 -1
- package/dist/design-system149.js.map +1 -1
- package/dist/design-system149.mjs +7 -9
- package/dist/design-system149.mjs.map +1 -1
- package/dist/design-system15.js +2 -2
- package/dist/design-system15.js.map +1 -1
- package/dist/design-system15.mjs +51 -51
- package/dist/design-system15.mjs.map +1 -1
- package/dist/design-system150.js +1 -1
- package/dist/design-system150.js.map +1 -1
- package/dist/design-system150.mjs +9 -11
- package/dist/design-system150.mjs.map +1 -1
- package/dist/design-system151.js +1 -1
- package/dist/design-system151.js.map +1 -1
- package/dist/design-system151.mjs +11 -5
- package/dist/design-system151.mjs.map +1 -1
- package/dist/design-system152.js +1 -1
- package/dist/design-system152.js.map +1 -1
- package/dist/design-system152.mjs +6 -10
- package/dist/design-system152.mjs.map +1 -1
- package/dist/design-system153.js +1 -1
- package/dist/design-system153.js.map +1 -1
- package/dist/design-system153.mjs +9 -15
- package/dist/design-system153.mjs.map +1 -1
- package/dist/design-system154.js +1 -1
- package/dist/design-system154.js.map +1 -1
- package/dist/design-system154.mjs +15 -5
- package/dist/design-system154.mjs.map +1 -1
- package/dist/design-system155.js +1 -1
- package/dist/design-system155.js.map +1 -1
- package/dist/design-system155.mjs +5 -5
- package/dist/design-system155.mjs.map +1 -1
- package/dist/design-system156.js +1 -1
- package/dist/design-system156.js.map +1 -1
- package/dist/design-system156.mjs +5 -8
- package/dist/design-system156.mjs.map +1 -1
- package/dist/design-system157.js +1 -1
- package/dist/design-system157.js.map +1 -1
- package/dist/design-system157.mjs +8 -6
- package/dist/design-system157.mjs.map +1 -1
- package/dist/design-system158.js +1 -1
- package/dist/design-system158.js.map +1 -1
- package/dist/design-system158.mjs +6 -5
- package/dist/design-system158.mjs.map +1 -1
- package/dist/design-system159.js +1 -1
- package/dist/design-system159.js.map +1 -1
- package/dist/design-system159.mjs +4 -4
- package/dist/design-system159.mjs.map +1 -1
- package/dist/design-system16.js +1 -1
- package/dist/design-system16.js.map +1 -1
- package/dist/design-system16.mjs +24 -24
- package/dist/design-system16.mjs.map +1 -1
- package/dist/design-system160.js +1 -1
- package/dist/design-system160.js.map +1 -1
- package/dist/design-system160.mjs +5 -6
- package/dist/design-system160.mjs.map +1 -1
- package/dist/design-system161.js +1 -1
- package/dist/design-system161.js.map +1 -1
- package/dist/design-system161.mjs +5 -5
- package/dist/design-system161.mjs.map +1 -1
- package/dist/design-system162.js +1 -1
- package/dist/design-system162.js.map +1 -1
- package/dist/design-system162.mjs +6 -5
- package/dist/design-system162.mjs.map +1 -1
- package/dist/design-system163.js +1 -1
- package/dist/design-system163.js.map +1 -1
- package/dist/design-system163.mjs +5 -39
- package/dist/design-system163.mjs.map +1 -1
- package/dist/design-system164.js +1 -1
- package/dist/design-system164.js.map +1 -1
- package/dist/design-system164.mjs +39 -6
- package/dist/design-system164.mjs.map +1 -1
- package/dist/design-system165.js +1 -1
- package/dist/design-system165.js.map +1 -1
- package/dist/design-system165.mjs +6 -5
- package/dist/design-system165.mjs.map +1 -1
- package/dist/design-system166.js +1 -1
- package/dist/design-system166.js.map +1 -1
- package/dist/design-system166.mjs +6 -16
- package/dist/design-system166.mjs.map +1 -1
- package/dist/design-system167.js +1 -1
- package/dist/design-system167.js.map +1 -1
- package/dist/design-system167.mjs +15 -7
- package/dist/design-system167.mjs.map +1 -1
- package/dist/design-system168.js +1 -1
- package/dist/design-system168.js.map +1 -1
- package/dist/design-system168.mjs +8 -3
- package/dist/design-system168.mjs.map +1 -1
- package/dist/design-system169.js +1 -1
- package/dist/design-system169.js.map +1 -1
- package/dist/design-system169.mjs +3 -4
- package/dist/design-system169.mjs.map +1 -1
- package/dist/design-system17.js.map +1 -1
- package/dist/design-system17.mjs.map +1 -1
- package/dist/design-system170.js +1 -1
- package/dist/design-system170.js.map +1 -1
- package/dist/design-system170.mjs +4 -13
- package/dist/design-system170.mjs.map +1 -1
- package/dist/design-system171.js +1 -1
- package/dist/design-system171.js.map +1 -1
- package/dist/design-system171.mjs +12 -4
- package/dist/design-system171.mjs.map +1 -1
- package/dist/design-system172.js +1 -1
- package/dist/design-system172.js.map +1 -1
- package/dist/design-system172.mjs +5 -4
- package/dist/design-system172.mjs.map +1 -1
- package/dist/design-system173.js +1 -1
- package/dist/design-system173.js.map +1 -1
- package/dist/design-system173.mjs +4 -5
- package/dist/design-system173.mjs.map +1 -1
- package/dist/design-system174.js +1 -1
- package/dist/design-system174.js.map +1 -1
- package/dist/design-system174.mjs +5 -5
- package/dist/design-system174.mjs.map +1 -1
- package/dist/design-system175.js +1 -1
- package/dist/design-system175.js.map +1 -1
- package/dist/design-system175.mjs +5 -5
- package/dist/design-system175.mjs.map +1 -1
- package/dist/design-system176.js +1 -1
- package/dist/design-system176.js.map +1 -1
- package/dist/design-system176.mjs +5 -5
- package/dist/design-system176.mjs.map +1 -1
- package/dist/design-system177.js +1 -1
- package/dist/design-system177.js.map +1 -1
- package/dist/design-system177.mjs +5 -5
- package/dist/design-system177.mjs.map +1 -1
- package/dist/design-system178.js +1 -1
- package/dist/design-system178.js.map +1 -1
- package/dist/design-system178.mjs +5 -15
- package/dist/design-system178.mjs.map +1 -1
- package/dist/design-system179.js +1 -1
- package/dist/design-system179.js.map +1 -1
- package/dist/design-system179.mjs +14 -13
- package/dist/design-system179.mjs.map +1 -1
- package/dist/design-system18.js +1 -1
- package/dist/design-system18.js.map +1 -1
- package/dist/design-system18.mjs +20 -20
- package/dist/design-system18.mjs.map +1 -1
- package/dist/design-system180.js +1 -1
- package/dist/design-system180.js.map +1 -1
- package/dist/design-system180.mjs +13 -8
- package/dist/design-system180.mjs.map +1 -1
- package/dist/design-system181.js +1 -1
- package/dist/design-system181.js.map +1 -1
- package/dist/design-system181.mjs +9 -4
- package/dist/design-system181.mjs.map +1 -1
- package/dist/design-system182.js +1 -1
- package/dist/design-system182.js.map +1 -1
- package/dist/design-system182.mjs +4 -6
- package/dist/design-system182.mjs.map +1 -1
- package/dist/design-system183.js +1 -1
- package/dist/design-system183.js.map +1 -1
- package/dist/design-system183.mjs +5 -5
- package/dist/design-system183.mjs.map +1 -1
- package/dist/design-system184.js +1 -1
- package/dist/design-system184.js.map +1 -1
- package/dist/design-system184.mjs +5 -5
- package/dist/design-system184.mjs.map +1 -1
- package/dist/design-system185.js +1 -1
- package/dist/design-system185.js.map +1 -1
- package/dist/design-system185.mjs +5 -7
- package/dist/design-system185.mjs.map +1 -1
- package/dist/design-system186.js +1 -1
- package/dist/design-system186.js.map +1 -1
- package/dist/design-system186.mjs +7 -17
- package/dist/design-system186.mjs.map +1 -1
- package/dist/design-system187.js +1 -1
- package/dist/design-system187.js.map +1 -1
- package/dist/design-system187.mjs +17 -10
- package/dist/design-system187.mjs.map +1 -1
- package/dist/design-system188.js +1 -1
- package/dist/design-system188.js.map +1 -1
- package/dist/design-system188.mjs +9 -4
- package/dist/design-system188.mjs.map +1 -1
- package/dist/design-system189.js +1 -1
- package/dist/design-system189.js.map +1 -1
- package/dist/design-system189.mjs +5 -4
- package/dist/design-system189.mjs.map +1 -1
- package/dist/design-system19.js +1 -1
- package/dist/design-system19.js.map +1 -1
- package/dist/design-system19.mjs +73 -73
- package/dist/design-system19.mjs.map +1 -1
- package/dist/design-system190.js +1 -1
- package/dist/design-system190.js.map +1 -1
- package/dist/design-system190.mjs +4 -4
- package/dist/design-system190.mjs.map +1 -1
- package/dist/design-system191.js +1 -1
- package/dist/design-system191.js.map +1 -1
- package/dist/design-system191.mjs +4 -5
- package/dist/design-system191.mjs.map +1 -1
- package/dist/design-system192.js +1 -1
- package/dist/design-system192.js.map +1 -1
- package/dist/design-system192.mjs +5 -6
- package/dist/design-system192.mjs.map +1 -1
- package/dist/design-system193.js +1 -1
- package/dist/design-system193.js.map +1 -1
- package/dist/design-system193.mjs +7 -11
- package/dist/design-system193.mjs.map +1 -1
- package/dist/design-system194.js +1 -1
- package/dist/design-system194.js.map +1 -1
- package/dist/design-system194.mjs +10 -6
- package/dist/design-system194.mjs.map +1 -1
- package/dist/design-system195.js +1 -1
- package/dist/design-system195.js.map +1 -1
- package/dist/design-system195.mjs +6 -17
- package/dist/design-system195.mjs.map +1 -1
- package/dist/design-system196.js +1 -1
- package/dist/design-system196.js.map +1 -1
- package/dist/design-system196.mjs +17 -4
- package/dist/design-system196.mjs.map +1 -1
- package/dist/design-system197.js +1 -1
- package/dist/design-system197.js.map +1 -1
- package/dist/design-system197.mjs +4 -4
- package/dist/design-system197.mjs.map +1 -1
- package/dist/design-system198.js +1 -1
- package/dist/design-system198.js.map +1 -1
- package/dist/design-system198.mjs +4 -3
- package/dist/design-system198.mjs.map +1 -1
- package/dist/design-system199.js +1 -1
- package/dist/design-system199.js.map +1 -1
- package/dist/design-system199.mjs +3 -3
- package/dist/design-system199.mjs.map +1 -1
- package/dist/design-system20.js +1 -1
- package/dist/design-system20.js.map +1 -1
- package/dist/design-system20.mjs +57 -57
- package/dist/design-system20.mjs.map +1 -1
- package/dist/design-system200.js +1 -1
- package/dist/design-system200.js.map +1 -1
- package/dist/design-system200.mjs +3 -14
- package/dist/design-system200.mjs.map +1 -1
- package/dist/design-system201.js +1 -1
- package/dist/design-system201.js.map +1 -1
- package/dist/design-system201.mjs +15 -9
- package/dist/design-system201.mjs.map +1 -1
- package/dist/design-system202.js +1 -1
- package/dist/design-system202.js.map +1 -1
- package/dist/design-system202.mjs +9 -6
- package/dist/design-system202.mjs.map +1 -1
- package/dist/design-system203.js +1 -1
- package/dist/design-system203.js.map +1 -1
- package/dist/design-system203.mjs +5 -5
- package/dist/design-system203.mjs.map +1 -1
- package/dist/design-system204.js +1 -1
- package/dist/design-system204.js.map +1 -1
- package/dist/design-system204.mjs +5 -5
- package/dist/design-system204.mjs.map +1 -1
- package/dist/design-system205.js +1 -1
- package/dist/design-system205.js.map +1 -1
- package/dist/design-system205.mjs +5 -5
- package/dist/design-system205.mjs.map +1 -1
- package/dist/design-system206.js +1 -1
- package/dist/design-system206.js.map +1 -1
- package/dist/design-system206.mjs +5 -5
- package/dist/design-system206.mjs.map +1 -1
- package/dist/design-system207.js +1 -1
- package/dist/design-system207.js.map +1 -1
- package/dist/design-system207.mjs +6 -4
- package/dist/design-system207.mjs.map +1 -1
- package/dist/design-system208.js +1 -1
- package/dist/design-system208.js.map +1 -1
- package/dist/design-system208.mjs +3 -17
- package/dist/design-system208.mjs.map +1 -1
- package/dist/design-system209.js +1 -1
- package/dist/design-system209.js.map +1 -1
- package/dist/design-system209.mjs +17 -5
- package/dist/design-system209.mjs.map +1 -1
- package/dist/design-system21.js +2 -2
- package/dist/design-system21.js.map +1 -1
- package/dist/design-system21.mjs +32 -32
- package/dist/design-system21.mjs.map +1 -1
- package/dist/design-system210.js +1 -1
- package/dist/design-system210.js.map +1 -1
- package/dist/design-system210.mjs +5 -3
- package/dist/design-system210.mjs.map +1 -1
- package/dist/design-system211.js +1 -1
- package/dist/design-system211.js.map +1 -1
- package/dist/design-system211.mjs +3 -3
- package/dist/design-system211.mjs.map +1 -1
- package/dist/design-system212.js +1 -1
- package/dist/design-system212.js.map +1 -1
- package/dist/design-system212.mjs +3 -9
- package/dist/design-system212.mjs.map +1 -1
- package/dist/design-system213.js +1 -1
- package/dist/design-system213.js.map +1 -1
- package/dist/design-system213.mjs +9 -5
- package/dist/design-system213.mjs.map +1 -1
- package/dist/design-system214.js +1 -1
- package/dist/design-system214.js.map +1 -1
- package/dist/design-system214.mjs +5 -4
- package/dist/design-system214.mjs.map +1 -1
- package/dist/design-system215.js +1 -1
- package/dist/design-system215.js.map +1 -1
- package/dist/design-system215.mjs +4 -5
- package/dist/design-system215.mjs.map +1 -1
- package/dist/design-system216.js +1 -1
- package/dist/design-system216.js.map +1 -1
- package/dist/design-system216.mjs +6 -4
- package/dist/design-system216.mjs.map +1 -1
- package/dist/design-system217.js +1 -1
- package/dist/design-system217.js.map +1 -1
- package/dist/design-system217.mjs +4 -5
- package/dist/design-system217.mjs.map +1 -1
- package/dist/design-system218.js +1 -1
- package/dist/design-system218.js.map +1 -1
- package/dist/design-system218.mjs +4 -4
- package/dist/design-system218.mjs.map +1 -1
- package/dist/design-system219.js +1 -1
- package/dist/design-system219.js.map +1 -1
- package/dist/design-system219.mjs +4 -10
- package/dist/design-system219.mjs.map +1 -1
- package/dist/design-system22.js +1 -1
- package/dist/design-system22.js.map +1 -1
- package/dist/design-system22.mjs +60 -60
- package/dist/design-system22.mjs.map +1 -1
- package/dist/design-system220.js +1 -1
- package/dist/design-system220.js.map +1 -1
- package/dist/design-system220.mjs +10 -6
- package/dist/design-system220.mjs.map +1 -1
- package/dist/design-system221.js +1 -1
- package/dist/design-system221.js.map +1 -1
- package/dist/design-system221.mjs +6 -6
- package/dist/design-system221.mjs.map +1 -1
- package/dist/design-system222.js +1 -1
- package/dist/design-system222.js.map +1 -1
- package/dist/design-system222.mjs +6 -4
- package/dist/design-system222.mjs.map +1 -1
- package/dist/design-system223.js +1 -1
- package/dist/design-system223.js.map +1 -1
- package/dist/design-system223.mjs +4 -7
- package/dist/design-system223.mjs.map +1 -1
- package/dist/design-system224.js +1 -1
- package/dist/design-system224.js.map +1 -1
- package/dist/design-system224.mjs +8 -4
- package/dist/design-system224.mjs.map +1 -1
- package/dist/design-system225.js +2 -0
- package/dist/design-system225.js.map +1 -0
- package/dist/design-system225.mjs +7 -0
- package/dist/design-system225.mjs.map +1 -0
- package/dist/design-system23.js +1 -1
- package/dist/design-system23.js.map +1 -1
- package/dist/design-system23.mjs +26 -26
- package/dist/design-system23.mjs.map +1 -1
- package/dist/design-system24.js +1 -1
- package/dist/design-system24.js.map +1 -1
- package/dist/design-system24.mjs +14 -14
- package/dist/design-system24.mjs.map +1 -1
- package/dist/design-system25.js +1 -1
- package/dist/design-system25.js.map +1 -1
- package/dist/design-system25.mjs +17 -17
- package/dist/design-system25.mjs.map +1 -1
- package/dist/design-system26.js +1 -1
- package/dist/design-system26.mjs +3 -3
- package/dist/design-system27.js +1 -1
- package/dist/design-system27.mjs +2 -2
- package/dist/design-system28.js +1 -1
- package/dist/design-system28.mjs +5 -5
- package/dist/design-system29.js +1 -1
- package/dist/design-system29.mjs +1 -1
- package/dist/design-system30.js.map +1 -1
- package/dist/design-system30.mjs.map +1 -1
- package/dist/design-system31.js.map +1 -1
- package/dist/design-system31.mjs.map +1 -1
- package/dist/design-system32.js +1 -1
- package/dist/design-system32.mjs +3 -3
- package/dist/design-system33.js +1 -1
- package/dist/design-system33.mjs +3 -3
- package/dist/design-system34.js +1 -1
- package/dist/design-system34.mjs +1 -1
- package/dist/design-system35.js +1 -1
- package/dist/design-system35.mjs +1 -1
- package/dist/design-system36.js +1 -1
- package/dist/design-system36.mjs +1 -1
- package/dist/design-system37.js +1 -1
- package/dist/design-system37.mjs +1 -1
- package/dist/design-system38.js +1 -1
- package/dist/design-system38.mjs +5 -5
- package/dist/design-system39.js +1 -1
- package/dist/design-system39.mjs +2 -2
- package/dist/design-system40.js +1 -1
- package/dist/design-system40.mjs +3 -3
- package/dist/design-system41.js +1 -1
- package/dist/design-system41.mjs +3 -3
- package/dist/design-system42.js +1 -1
- package/dist/design-system42.js.map +1 -1
- package/dist/design-system42.mjs +23 -23
- package/dist/design-system42.mjs.map +1 -1
- package/dist/design-system43.js +1 -1
- package/dist/design-system43.mjs +3 -3
- package/dist/design-system44.js +1 -1
- package/dist/design-system44.mjs +1 -1
- package/dist/design-system45.js +1 -1
- package/dist/design-system45.mjs +1 -1
- package/dist/design-system46.js +1 -1
- package/dist/design-system46.mjs +3 -3
- package/dist/design-system47.js +1 -1
- package/dist/design-system47.js.map +1 -1
- package/dist/design-system47.mjs +28 -28
- package/dist/design-system47.mjs.map +1 -1
- package/dist/design-system48.js +1 -1
- package/dist/design-system48.mjs +3 -3
- package/dist/design-system49.js +1 -1
- package/dist/design-system49.mjs +5 -5
- package/dist/design-system50.js +1 -1
- package/dist/design-system50.mjs +1 -1
- package/dist/design-system51.js +4 -4
- package/dist/design-system51.js.map +1 -1
- package/dist/design-system51.mjs +516 -531
- package/dist/design-system51.mjs.map +1 -1
- package/dist/design-system52.js +4 -4
- package/dist/design-system52.js.map +1 -1
- package/dist/design-system52.mjs +80 -113
- package/dist/design-system52.mjs.map +1 -1
- package/dist/design-system53.js +5 -5
- package/dist/design-system53.js.map +1 -1
- package/dist/design-system53.mjs +543 -677
- package/dist/design-system53.mjs.map +1 -1
- package/dist/design-system54.js +6 -6
- package/dist/design-system54.js.map +1 -1
- package/dist/design-system54.mjs +537 -624
- package/dist/design-system54.mjs.map +1 -1
- package/dist/design-system55.js +1 -4
- package/dist/design-system55.js.map +1 -1
- package/dist/design-system55.mjs +2 -1364
- package/dist/design-system55.mjs.map +1 -1
- package/dist/design-system56.js +1 -1
- package/dist/design-system56.js.map +1 -1
- package/dist/design-system56.mjs +132 -2
- package/dist/design-system56.mjs.map +1 -1
- package/dist/design-system57.js +1 -1
- package/dist/design-system57.js.map +1 -1
- package/dist/design-system57.mjs +2 -132
- package/dist/design-system57.mjs.map +1 -1
- package/dist/design-system58.js +1 -1
- package/dist/design-system58.mjs +7 -2
- package/dist/design-system58.mjs.map +1 -1
- package/dist/design-system59.js +1 -1
- package/dist/design-system59.mjs +2 -7
- package/dist/design-system59.mjs.map +1 -1
- package/dist/design-system61.js +1 -1
- package/dist/design-system61.js.map +1 -1
- package/dist/design-system61.mjs +65 -2
- package/dist/design-system61.mjs.map +1 -1
- package/dist/design-system62.js +1 -1
- package/dist/design-system62.js.map +1 -1
- package/dist/design-system62.mjs +2 -65
- package/dist/design-system62.mjs.map +1 -1
- package/dist/design-system63.js +1 -1
- package/dist/design-system63.mjs +2 -2
- package/dist/design-system64.js +1 -1
- package/dist/design-system64.mjs +3 -2
- package/dist/design-system64.mjs.map +1 -1
- package/dist/design-system65.js +1 -1
- package/dist/design-system65.mjs +2 -3
- package/dist/design-system65.mjs.map +1 -1
- package/dist/design-system66.js +1 -1
- package/dist/design-system66.mjs +1 -1
- package/dist/design-system67.js +1 -1
- package/dist/design-system67.mjs +1 -1
- package/dist/design-system68.js +1 -1
- package/dist/design-system68.mjs +1 -1
- package/dist/design-system69.js +1 -1
- package/dist/design-system69.mjs +1 -1
- package/dist/design-system70.js +1 -1
- package/dist/design-system70.js.map +1 -1
- package/dist/design-system70.mjs +28 -2
- package/dist/design-system70.mjs.map +1 -1
- package/dist/design-system71.js +1 -1
- package/dist/design-system71.js.map +1 -1
- package/dist/design-system71.mjs +2 -28
- package/dist/design-system71.mjs.map +1 -1
- package/dist/design-system72.js +1 -1
- package/dist/design-system72.js.map +1 -1
- package/dist/design-system72.mjs +58 -2
- package/dist/design-system72.mjs.map +1 -1
- package/dist/design-system73.js +1 -1
- package/dist/design-system73.js.map +1 -1
- package/dist/design-system73.mjs +2 -58
- package/dist/design-system73.mjs.map +1 -1
- package/dist/design-system74.js +1 -1
- package/dist/design-system74.mjs +2 -2
- package/dist/design-system75.js +1 -1
- package/dist/design-system75.mjs +1 -1
- package/dist/design-system76.js +1 -1
- package/dist/design-system76.mjs +1 -1
- package/dist/design-system77.js +1 -1
- package/dist/design-system77.mjs +1 -1
- package/dist/design-system78.js +1 -1
- package/dist/design-system78.js.map +1 -1
- package/dist/design-system78.mjs +79 -2
- package/dist/design-system78.mjs.map +1 -1
- package/dist/design-system79.js +1 -1
- package/dist/design-system79.js.map +1 -1
- package/dist/design-system79.mjs +2 -79
- package/dist/design-system79.mjs.map +1 -1
- package/dist/design-system80.js +1 -1
- package/dist/design-system80.mjs +2 -2
- package/dist/design-system81.js +1 -1
- package/dist/design-system81.mjs +2 -2
- package/dist/design-system82.js +1 -1
- package/dist/design-system82.js.map +1 -1
- package/dist/design-system82.mjs +81 -2
- package/dist/design-system82.mjs.map +1 -1
- package/dist/design-system83.js +1 -1
- package/dist/design-system83.js.map +1 -1
- package/dist/design-system83.mjs +2 -81
- package/dist/design-system83.mjs.map +1 -1
- package/dist/design-system84.js +1 -1
- package/dist/design-system84.mjs +2 -2
- package/dist/design-system85.js +1 -1
- package/dist/design-system85.js.map +1 -1
- package/dist/design-system85.mjs +119 -2
- package/dist/design-system85.mjs.map +1 -1
- package/dist/design-system86.js +1 -1
- package/dist/design-system86.js.map +1 -1
- package/dist/design-system86.mjs +2 -119
- package/dist/design-system86.mjs.map +1 -1
- package/dist/design-system87.js +1 -1
- package/dist/design-system87.mjs +2 -2
- package/dist/design-system88.js +1 -1
- package/dist/design-system88.mjs +1 -1
- package/dist/design-system89.js +1 -1
- package/dist/design-system89.js.map +1 -1
- package/dist/design-system89.mjs +102 -2
- package/dist/design-system89.mjs.map +1 -1
- package/dist/design-system90.js +1 -1
- package/dist/design-system90.js.map +1 -1
- package/dist/design-system90.mjs +2 -102
- package/dist/design-system90.mjs.map +1 -1
- package/dist/design-system91.js +1 -1
- package/dist/design-system91.js.map +1 -1
- package/dist/design-system91.mjs +190 -2
- package/dist/design-system91.mjs.map +1 -1
- package/dist/design-system92.js +1 -1
- package/dist/design-system92.js.map +1 -1
- package/dist/design-system92.mjs +2 -190
- package/dist/design-system92.mjs.map +1 -1
- package/dist/design-system93.js +1 -1
- package/dist/design-system93.mjs +2 -2
- package/dist/design-system94.js +1 -1
- package/dist/design-system94.js.map +1 -1
- package/dist/design-system94.mjs +142 -2
- package/dist/design-system94.mjs.map +1 -1
- package/dist/design-system95.js +1 -1
- package/dist/design-system95.js.map +1 -1
- package/dist/design-system95.mjs +2 -142
- package/dist/design-system95.mjs.map +1 -1
- package/dist/design-system96.js +1 -1
- package/dist/design-system96.js.map +1 -1
- package/dist/design-system96.mjs +49 -2
- package/dist/design-system96.mjs.map +1 -1
- package/dist/design-system97.js +1 -1
- package/dist/design-system97.js.map +1 -1
- package/dist/design-system97.mjs +2 -49
- package/dist/design-system97.mjs.map +1 -1
- package/dist/design-system98.js +1 -1
- package/dist/design-system98.mjs +2 -2
- package/dist/design-system99.js +4 -1
- package/dist/design-system99.js.map +1 -1
- package/dist/design-system99.mjs +1364 -2
- package/dist/design-system99.mjs.map +1 -1
- package/dist/style.css +1 -1
- package/dist/types/components/BButton.vue.d.ts +53 -52
- package/dist/types/components/BCarousel/BCarousel.vue.d.ts +70 -77
- package/dist/types/components/BCarousel/BCarouselItem.vue.d.ts +9 -9
- package/dist/types/components/BCheckbox.vue.d.ts +84 -63
- package/dist/types/components/BCollapse.vue.d.ts +26 -25
- package/dist/types/components/BCurrencyField.vue.d.ts +164 -101
- package/dist/types/components/BDatePicker.vue.d.ts +186 -111
- package/dist/types/components/BDateRangePicker.vue.d.ts +173 -104
- package/dist/types/components/BDropdown/BDropdown.vue.d.ts +118 -87
- package/dist/types/components/BDropdown/BDropdownContent.vue.d.ts +9 -9
- package/dist/types/components/BDropdown/BDropdownItem.vue.d.ts +24 -35
- package/dist/types/components/BErrorMessage.vue.d.ts +28 -39
- package/dist/types/components/BImagePicker/BImagePicker.vue.d.ts +115 -76
- package/dist/types/components/BImagePicker/BImagePickerCloseButton.vue.d.ts +2 -2
- package/dist/types/components/BImagePicker/BImagePreview.vue.d.ts +28 -27
- package/dist/types/components/BLabel.vue.d.ts +47 -46
- package/dist/types/components/BLoadingBar.vue.d.ts +46 -37
- package/dist/types/components/BLoadingOverlay.vue.d.ts +37 -34
- package/dist/types/components/BModal/BModal.vue.d.ts +70 -61
- package/dist/types/components/BModal/BModalBody.vue.d.ts +9 -9
- package/dist/types/components/BModal/BModalContainer.vue.d.ts +49 -48
- package/dist/types/components/BModal/BModalFooter.vue.d.ts +9 -9
- package/dist/types/components/BModal/BModalHeader.vue.d.ts +9 -9
- package/dist/types/components/BMultiSelect.vue.d.ts +177 -106
- package/dist/types/components/BOtpField/BOtpField.vue.d.ts +138 -93
- package/dist/types/components/BOtpField/BOtpFieldBox.vue.d.ts +53 -52
- package/dist/types/components/BOverlay.vue.d.ts +9 -9
- package/dist/types/components/BPagination.vue.d.ts +71 -54
- package/dist/types/components/BRadio.vue.d.ts +145 -94
- package/dist/types/components/BSelect.vue.d.ts +164 -99
- package/dist/types/components/BStepper.vue.d.ts +32 -41
- package/dist/types/components/BSwitch.vue.d.ts +73 -58
- package/dist/types/components/BTabs/BTab.vue.d.ts +9 -9
- package/dist/types/components/BTabs/BTabs.vue.d.ts +59 -56
- package/dist/types/components/BTextField.vue.d.ts +197 -122
- package/dist/types/components/BTextarea.vue.d.ts +155 -92
- package/dist/types/components/BTimeline/BTimeline.vue.d.ts +9 -9
- package/dist/types/components/BTimeline/BTimelineItem.vue.d.ts +9 -9
- package/dist/types/components/BToast/BToast.vue.d.ts +20 -27
- package/dist/types/components/BToast/BToastItem.vue.d.ts +49 -48
- package/dist/types/components/BTooltip.vue.d.ts +56 -55
- package/dist/types/components/index.d.ts +38 -38
- package/dist/types/composables/Date.d.ts +7 -7
- package/dist/types/composables/Validation.d.ts +41 -41
- package/dist/types/constants/Common.d.ts +9 -9
- package/dist/types/constants/Enums.d.ts +110 -110
- package/dist/types/helpers/ComponentHelper.d.ts +7 -7
- package/dist/types/helpers/DateHelper.d.ts +2 -2
- package/dist/types/index.d.ts +11 -11
- package/dist/types/playground/PlaygroundView.vue.d.ts +2 -2
- package/dist/types/plugin.d.ts +8 -8
- package/dist/types/types/Common.d.ts +5 -5
- package/dist/types/types/components/BErrorMessage.d.ts +1 -1
- package/dist/types/types/components/BImagePicker.d.ts +6 -6
- package/dist/types/types/components/BStepper.d.ts +5 -5
- package/dist/types/types/components/BTabs.d.ts +4 -4
- package/dist/types/types/components/BToast.d.ts +8 -8
- package/dist/types/types/index.d.ts +6 -7
- package/package.json +111 -111
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"design-system54.mjs","sources":["../node_modules/@intlify/message-compiler/dist/message-compiler.esm-browser.js"],"sourcesContent":["/*!\n * message-compiler v9.9.1\n * (c) 2024 kazuya kawaguchi\n * Released under the MIT License.\n */\nconst LOCATION_STUB = {\n start: { line: 1, column: 1, offset: 0 },\n end: { line: 1, column: 1, offset: 0 }\n};\nfunction createPosition(line, column, offset) {\n return { line, column, offset };\n}\nfunction createLocation(start, end, source) {\n const loc = { start, end };\n if (source != null) {\n loc.source = source;\n }\n return loc;\n}\n\n/**\n * Original Utilities\n * written by kazuya kawaguchi\n */\nconst RE_ARGS = /\\{([0-9a-zA-Z]+)\\}/g;\n/* eslint-disable */\nfunction format(message, ...args) {\n if (args.length === 1 && isObject(args[0])) {\n args = args[0];\n }\n if (!args || !args.hasOwnProperty) {\n args = {};\n }\n return message.replace(RE_ARGS, (match, identifier) => {\n return args.hasOwnProperty(identifier) ? args[identifier] : '';\n });\n}\nconst assign = Object.assign;\nconst isString = (val) => typeof val === 'string';\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst isObject = (val) => val !== null && typeof val === 'object';\nfunction join(items, separator = '') {\n return items.reduce((str, item, index) => (index === 0 ? str + item : str + separator + item), '');\n}\n\nconst CompileErrorCodes = {\n // tokenizer error codes\n EXPECTED_TOKEN: 1,\n INVALID_TOKEN_IN_PLACEHOLDER: 2,\n UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER: 3,\n UNKNOWN_ESCAPE_SEQUENCE: 4,\n INVALID_UNICODE_ESCAPE_SEQUENCE: 5,\n UNBALANCED_CLOSING_BRACE: 6,\n UNTERMINATED_CLOSING_BRACE: 7,\n EMPTY_PLACEHOLDER: 8,\n NOT_ALLOW_NEST_PLACEHOLDER: 9,\n INVALID_LINKED_FORMAT: 10,\n // parser error codes\n MUST_HAVE_MESSAGES_IN_PLURAL: 11,\n UNEXPECTED_EMPTY_LINKED_MODIFIER: 12,\n UNEXPECTED_EMPTY_LINKED_KEY: 13,\n UNEXPECTED_LEXICAL_ANALYSIS: 14,\n // generator error codes\n UNHANDLED_CODEGEN_NODE_TYPE: 15,\n // minifier error codes\n UNHANDLED_MINIFIER_NODE_TYPE: 16,\n // Special value for higher-order compilers to pick up the last code\n // to avoid collision of error codes. This should always be kept as the last\n // item.\n __EXTEND_POINT__: 17\n};\n/** @internal */\nconst errorMessages = {\n // tokenizer error messages\n [CompileErrorCodes.EXPECTED_TOKEN]: `Expected token: '{0}'`,\n [CompileErrorCodes.INVALID_TOKEN_IN_PLACEHOLDER]: `Invalid token in placeholder: '{0}'`,\n [CompileErrorCodes.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]: `Unterminated single quote in placeholder`,\n [CompileErrorCodes.UNKNOWN_ESCAPE_SEQUENCE]: `Unknown escape sequence: \\\\{0}`,\n [CompileErrorCodes.INVALID_UNICODE_ESCAPE_SEQUENCE]: `Invalid unicode escape sequence: {0}`,\n [CompileErrorCodes.UNBALANCED_CLOSING_BRACE]: `Unbalanced closing brace`,\n [CompileErrorCodes.UNTERMINATED_CLOSING_BRACE]: `Unterminated closing brace`,\n [CompileErrorCodes.EMPTY_PLACEHOLDER]: `Empty placeholder`,\n [CompileErrorCodes.NOT_ALLOW_NEST_PLACEHOLDER]: `Not allowed nest placeholder`,\n [CompileErrorCodes.INVALID_LINKED_FORMAT]: `Invalid linked format`,\n // parser error messages\n [CompileErrorCodes.MUST_HAVE_MESSAGES_IN_PLURAL]: `Plural must have messages`,\n [CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_MODIFIER]: `Unexpected empty linked modifier`,\n [CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_KEY]: `Unexpected empty linked key`,\n [CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS]: `Unexpected lexical analysis in token: '{0}'`,\n // generator error messages\n [CompileErrorCodes.UNHANDLED_CODEGEN_NODE_TYPE]: `unhandled codegen node type: '{0}'`,\n // minimizer error messages\n [CompileErrorCodes.UNHANDLED_MINIFIER_NODE_TYPE]: `unhandled mimifier node type: '{0}'`\n};\nfunction createCompileError(code, loc, options = {}) {\n const { domain, messages, args } = options;\n const msg = format((messages || errorMessages)[code] || '', ...(args || []))\n ;\n const error = new SyntaxError(String(msg));\n error.code = code;\n if (loc) {\n error.location = loc;\n }\n error.domain = domain;\n return error;\n}\n/** @internal */\nfunction defaultOnError(error) {\n throw error;\n}\n\nconst RE_HTML_TAG = /<\\/?[\\w\\s=\"/.':;#-\\/]+>/;\nconst detectHtmlTag = (source) => RE_HTML_TAG.test(source);\n\nconst CHAR_SP = ' ';\nconst CHAR_CR = '\\r';\nconst CHAR_LF = '\\n';\nconst CHAR_LS = String.fromCharCode(0x2028);\nconst CHAR_PS = String.fromCharCode(0x2029);\nfunction createScanner(str) {\n const _buf = str;\n let _index = 0;\n let _line = 1;\n let _column = 1;\n let _peekOffset = 0;\n const isCRLF = (index) => _buf[index] === CHAR_CR && _buf[index + 1] === CHAR_LF;\n const isLF = (index) => _buf[index] === CHAR_LF;\n const isPS = (index) => _buf[index] === CHAR_PS;\n const isLS = (index) => _buf[index] === CHAR_LS;\n const isLineEnd = (index) => isCRLF(index) || isLF(index) || isPS(index) || isLS(index);\n const index = () => _index;\n const line = () => _line;\n const column = () => _column;\n const peekOffset = () => _peekOffset;\n const charAt = (offset) => isCRLF(offset) || isPS(offset) || isLS(offset) ? CHAR_LF : _buf[offset];\n const currentChar = () => charAt(_index);\n const currentPeek = () => charAt(_index + _peekOffset);\n function next() {\n _peekOffset = 0;\n if (isLineEnd(_index)) {\n _line++;\n _column = 0;\n }\n if (isCRLF(_index)) {\n _index++;\n }\n _index++;\n _column++;\n return _buf[_index];\n }\n function peek() {\n if (isCRLF(_index + _peekOffset)) {\n _peekOffset++;\n }\n _peekOffset++;\n return _buf[_index + _peekOffset];\n }\n function reset() {\n _index = 0;\n _line = 1;\n _column = 1;\n _peekOffset = 0;\n }\n function resetPeek(offset = 0) {\n _peekOffset = offset;\n }\n function skipToPeek() {\n const target = _index + _peekOffset;\n // eslint-disable-next-line no-unmodified-loop-condition\n while (target !== _index) {\n next();\n }\n _peekOffset = 0;\n }\n return {\n index,\n line,\n column,\n peekOffset,\n charAt,\n currentChar,\n currentPeek,\n next,\n peek,\n reset,\n resetPeek,\n skipToPeek\n };\n}\n\nconst EOF = undefined;\nconst DOT = '.';\nconst LITERAL_DELIMITER = \"'\";\nconst ERROR_DOMAIN$3 = 'tokenizer';\nfunction createTokenizer(source, options = {}) {\n const location = options.location !== false;\n const _scnr = createScanner(source);\n const currentOffset = () => _scnr.index();\n const currentPosition = () => createPosition(_scnr.line(), _scnr.column(), _scnr.index());\n const _initLoc = currentPosition();\n const _initOffset = currentOffset();\n const _context = {\n currentType: 14 /* TokenTypes.EOF */,\n offset: _initOffset,\n startLoc: _initLoc,\n endLoc: _initLoc,\n lastType: 14 /* TokenTypes.EOF */,\n lastOffset: _initOffset,\n lastStartLoc: _initLoc,\n lastEndLoc: _initLoc,\n braceNest: 0,\n inLinked: false,\n text: ''\n };\n const context = () => _context;\n const { onError } = options;\n function emitError(code, pos, offset, ...args) {\n const ctx = context();\n pos.column += offset;\n pos.offset += offset;\n if (onError) {\n const loc = location ? createLocation(ctx.startLoc, pos) : null;\n const err = createCompileError(code, loc, {\n domain: ERROR_DOMAIN$3,\n args\n });\n onError(err);\n }\n }\n function getToken(context, type, value) {\n context.endLoc = currentPosition();\n context.currentType = type;\n const token = { type };\n if (location) {\n token.loc = createLocation(context.startLoc, context.endLoc);\n }\n if (value != null) {\n token.value = value;\n }\n return token;\n }\n const getEndToken = (context) => getToken(context, 14 /* TokenTypes.EOF */);\n function eat(scnr, ch) {\n if (scnr.currentChar() === ch) {\n scnr.next();\n return ch;\n }\n else {\n emitError(CompileErrorCodes.EXPECTED_TOKEN, currentPosition(), 0, ch);\n return '';\n }\n }\n function peekSpaces(scnr) {\n let buf = '';\n while (scnr.currentPeek() === CHAR_SP || scnr.currentPeek() === CHAR_LF) {\n buf += scnr.currentPeek();\n scnr.peek();\n }\n return buf;\n }\n function skipSpaces(scnr) {\n const buf = peekSpaces(scnr);\n scnr.skipToPeek();\n return buf;\n }\n function isIdentifierStart(ch) {\n if (ch === EOF) {\n return false;\n }\n const cc = ch.charCodeAt(0);\n return ((cc >= 97 && cc <= 122) || // a-z\n (cc >= 65 && cc <= 90) || // A-Z\n cc === 95 // _\n );\n }\n function isNumberStart(ch) {\n if (ch === EOF) {\n return false;\n }\n const cc = ch.charCodeAt(0);\n return cc >= 48 && cc <= 57; // 0-9\n }\n function isNamedIdentifierStart(scnr, context) {\n const { currentType } = context;\n if (currentType !== 2 /* TokenTypes.BraceLeft */) {\n return false;\n }\n peekSpaces(scnr);\n const ret = isIdentifierStart(scnr.currentPeek());\n scnr.resetPeek();\n return ret;\n }\n function isListIdentifierStart(scnr, context) {\n const { currentType } = context;\n if (currentType !== 2 /* TokenTypes.BraceLeft */) {\n return false;\n }\n peekSpaces(scnr);\n const ch = scnr.currentPeek() === '-' ? scnr.peek() : scnr.currentPeek();\n const ret = isNumberStart(ch);\n scnr.resetPeek();\n return ret;\n }\n function isLiteralStart(scnr, context) {\n const { currentType } = context;\n if (currentType !== 2 /* TokenTypes.BraceLeft */) {\n return false;\n }\n peekSpaces(scnr);\n const ret = scnr.currentPeek() === LITERAL_DELIMITER;\n scnr.resetPeek();\n return ret;\n }\n function isLinkedDotStart(scnr, context) {\n const { currentType } = context;\n if (currentType !== 8 /* TokenTypes.LinkedAlias */) {\n return false;\n }\n peekSpaces(scnr);\n const ret = scnr.currentPeek() === \".\" /* TokenChars.LinkedDot */;\n scnr.resetPeek();\n return ret;\n }\n function isLinkedModifierStart(scnr, context) {\n const { currentType } = context;\n if (currentType !== 9 /* TokenTypes.LinkedDot */) {\n return false;\n }\n peekSpaces(scnr);\n const ret = isIdentifierStart(scnr.currentPeek());\n scnr.resetPeek();\n return ret;\n }\n function isLinkedDelimiterStart(scnr, context) {\n const { currentType } = context;\n if (!(currentType === 8 /* TokenTypes.LinkedAlias */ ||\n currentType === 12 /* TokenTypes.LinkedModifier */)) {\n return false;\n }\n peekSpaces(scnr);\n const ret = scnr.currentPeek() === \":\" /* TokenChars.LinkedDelimiter */;\n scnr.resetPeek();\n return ret;\n }\n function isLinkedReferStart(scnr, context) {\n const { currentType } = context;\n if (currentType !== 10 /* TokenTypes.LinkedDelimiter */) {\n return false;\n }\n const fn = () => {\n const ch = scnr.currentPeek();\n if (ch === \"{\" /* TokenChars.BraceLeft */) {\n return isIdentifierStart(scnr.peek());\n }\n else if (ch === \"@\" /* TokenChars.LinkedAlias */ ||\n ch === \"%\" /* TokenChars.Modulo */ ||\n ch === \"|\" /* TokenChars.Pipe */ ||\n ch === \":\" /* TokenChars.LinkedDelimiter */ ||\n ch === \".\" /* TokenChars.LinkedDot */ ||\n ch === CHAR_SP ||\n !ch) {\n return false;\n }\n else if (ch === CHAR_LF) {\n scnr.peek();\n return fn();\n }\n else {\n // other characters\n return isIdentifierStart(ch);\n }\n };\n const ret = fn();\n scnr.resetPeek();\n return ret;\n }\n function isPluralStart(scnr) {\n peekSpaces(scnr);\n const ret = scnr.currentPeek() === \"|\" /* TokenChars.Pipe */;\n scnr.resetPeek();\n return ret;\n }\n function detectModuloStart(scnr) {\n const spaces = peekSpaces(scnr);\n const ret = scnr.currentPeek() === \"%\" /* TokenChars.Modulo */ &&\n scnr.peek() === \"{\" /* TokenChars.BraceLeft */;\n scnr.resetPeek();\n return {\n isModulo: ret,\n hasSpace: spaces.length > 0\n };\n }\n function isTextStart(scnr, reset = true) {\n const fn = (hasSpace = false, prev = '', detectModulo = false) => {\n const ch = scnr.currentPeek();\n if (ch === \"{\" /* TokenChars.BraceLeft */) {\n return prev === \"%\" /* TokenChars.Modulo */ ? false : hasSpace;\n }\n else if (ch === \"@\" /* TokenChars.LinkedAlias */ || !ch) {\n return prev === \"%\" /* TokenChars.Modulo */ ? true : hasSpace;\n }\n else if (ch === \"%\" /* TokenChars.Modulo */) {\n scnr.peek();\n return fn(hasSpace, \"%\" /* TokenChars.Modulo */, true);\n }\n else if (ch === \"|\" /* TokenChars.Pipe */) {\n return prev === \"%\" /* TokenChars.Modulo */ || detectModulo\n ? true\n : !(prev === CHAR_SP || prev === CHAR_LF);\n }\n else if (ch === CHAR_SP) {\n scnr.peek();\n return fn(true, CHAR_SP, detectModulo);\n }\n else if (ch === CHAR_LF) {\n scnr.peek();\n return fn(true, CHAR_LF, detectModulo);\n }\n else {\n return true;\n }\n };\n const ret = fn();\n reset && scnr.resetPeek();\n return ret;\n }\n function takeChar(scnr, fn) {\n const ch = scnr.currentChar();\n if (ch === EOF) {\n return EOF;\n }\n if (fn(ch)) {\n scnr.next();\n return ch;\n }\n return null;\n }\n function takeIdentifierChar(scnr) {\n const closure = (ch) => {\n const cc = ch.charCodeAt(0);\n return ((cc >= 97 && cc <= 122) || // a-z\n (cc >= 65 && cc <= 90) || // A-Z\n (cc >= 48 && cc <= 57) || // 0-9\n cc === 95 || // _\n cc === 36 // $\n );\n };\n return takeChar(scnr, closure);\n }\n function takeDigit(scnr) {\n const closure = (ch) => {\n const cc = ch.charCodeAt(0);\n return cc >= 48 && cc <= 57; // 0-9\n };\n return takeChar(scnr, closure);\n }\n function takeHexDigit(scnr) {\n const closure = (ch) => {\n const cc = ch.charCodeAt(0);\n return ((cc >= 48 && cc <= 57) || // 0-9\n (cc >= 65 && cc <= 70) || // A-F\n (cc >= 97 && cc <= 102)); // a-f\n };\n return takeChar(scnr, closure);\n }\n function getDigits(scnr) {\n let ch = '';\n let num = '';\n while ((ch = takeDigit(scnr))) {\n num += ch;\n }\n return num;\n }\n function readModulo(scnr) {\n skipSpaces(scnr);\n const ch = scnr.currentChar();\n if (ch !== \"%\" /* TokenChars.Modulo */) {\n emitError(CompileErrorCodes.EXPECTED_TOKEN, currentPosition(), 0, ch);\n }\n scnr.next();\n return \"%\" /* TokenChars.Modulo */;\n }\n function readText(scnr) {\n let buf = '';\n while (true) {\n const ch = scnr.currentChar();\n if (ch === \"{\" /* TokenChars.BraceLeft */ ||\n ch === \"}\" /* TokenChars.BraceRight */ ||\n ch === \"@\" /* TokenChars.LinkedAlias */ ||\n ch === \"|\" /* TokenChars.Pipe */ ||\n !ch) {\n break;\n }\n else if (ch === \"%\" /* TokenChars.Modulo */) {\n if (isTextStart(scnr)) {\n buf += ch;\n scnr.next();\n }\n else {\n break;\n }\n }\n else if (ch === CHAR_SP || ch === CHAR_LF) {\n if (isTextStart(scnr)) {\n buf += ch;\n scnr.next();\n }\n else if (isPluralStart(scnr)) {\n break;\n }\n else {\n buf += ch;\n scnr.next();\n }\n }\n else {\n buf += ch;\n scnr.next();\n }\n }\n return buf;\n }\n function readNamedIdentifier(scnr) {\n skipSpaces(scnr);\n let ch = '';\n let name = '';\n while ((ch = takeIdentifierChar(scnr))) {\n name += ch;\n }\n if (scnr.currentChar() === EOF) {\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\n }\n return name;\n }\n function readListIdentifier(scnr) {\n skipSpaces(scnr);\n let value = '';\n if (scnr.currentChar() === '-') {\n scnr.next();\n value += `-${getDigits(scnr)}`;\n }\n else {\n value += getDigits(scnr);\n }\n if (scnr.currentChar() === EOF) {\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\n }\n return value;\n }\n function readLiteral(scnr) {\n skipSpaces(scnr);\n eat(scnr, `\\'`);\n let ch = '';\n let literal = '';\n const fn = (x) => x !== LITERAL_DELIMITER && x !== CHAR_LF;\n while ((ch = takeChar(scnr, fn))) {\n if (ch === '\\\\') {\n literal += readEscapeSequence(scnr);\n }\n else {\n literal += ch;\n }\n }\n const current = scnr.currentChar();\n if (current === CHAR_LF || current === EOF) {\n emitError(CompileErrorCodes.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER, currentPosition(), 0);\n // TODO: Is it correct really?\n if (current === CHAR_LF) {\n scnr.next();\n eat(scnr, `\\'`);\n }\n return literal;\n }\n eat(scnr, `\\'`);\n return literal;\n }\n function readEscapeSequence(scnr) {\n const ch = scnr.currentChar();\n switch (ch) {\n case '\\\\':\n case `\\'`:\n scnr.next();\n return `\\\\${ch}`;\n case 'u':\n return readUnicodeEscapeSequence(scnr, ch, 4);\n case 'U':\n return readUnicodeEscapeSequence(scnr, ch, 6);\n default:\n emitError(CompileErrorCodes.UNKNOWN_ESCAPE_SEQUENCE, currentPosition(), 0, ch);\n return '';\n }\n }\n function readUnicodeEscapeSequence(scnr, unicode, digits) {\n eat(scnr, unicode);\n let sequence = '';\n for (let i = 0; i < digits; i++) {\n const ch = takeHexDigit(scnr);\n if (!ch) {\n emitError(CompileErrorCodes.INVALID_UNICODE_ESCAPE_SEQUENCE, currentPosition(), 0, `\\\\${unicode}${sequence}${scnr.currentChar()}`);\n break;\n }\n sequence += ch;\n }\n return `\\\\${unicode}${sequence}`;\n }\n function readInvalidIdentifier(scnr) {\n skipSpaces(scnr);\n let ch = '';\n let identifiers = '';\n const closure = (ch) => ch !== \"{\" /* TokenChars.BraceLeft */ &&\n ch !== \"}\" /* TokenChars.BraceRight */ &&\n ch !== CHAR_SP &&\n ch !== CHAR_LF;\n while ((ch = takeChar(scnr, closure))) {\n identifiers += ch;\n }\n return identifiers;\n }\n function readLinkedModifier(scnr) {\n let ch = '';\n let name = '';\n while ((ch = takeIdentifierChar(scnr))) {\n name += ch;\n }\n return name;\n }\n function readLinkedRefer(scnr) {\n const fn = (detect = false, buf) => {\n const ch = scnr.currentChar();\n if (ch === \"{\" /* TokenChars.BraceLeft */ ||\n ch === \"%\" /* TokenChars.Modulo */ ||\n ch === \"@\" /* TokenChars.LinkedAlias */ ||\n ch === \"|\" /* TokenChars.Pipe */ ||\n ch === \"(\" /* TokenChars.ParenLeft */ ||\n ch === \")\" /* TokenChars.ParenRight */ ||\n !ch) {\n return buf;\n }\n else if (ch === CHAR_SP) {\n return buf;\n }\n else if (ch === CHAR_LF || ch === DOT) {\n buf += ch;\n scnr.next();\n return fn(detect, buf);\n }\n else {\n buf += ch;\n scnr.next();\n return fn(true, buf);\n }\n };\n return fn(false, '');\n }\n function readPlural(scnr) {\n skipSpaces(scnr);\n const plural = eat(scnr, \"|\" /* TokenChars.Pipe */);\n skipSpaces(scnr);\n return plural;\n }\n // TODO: We need refactoring of token parsing ...\n function readTokenInPlaceholder(scnr, context) {\n let token = null;\n const ch = scnr.currentChar();\n switch (ch) {\n case \"{\" /* TokenChars.BraceLeft */:\n if (context.braceNest >= 1) {\n emitError(CompileErrorCodes.NOT_ALLOW_NEST_PLACEHOLDER, currentPosition(), 0);\n }\n scnr.next();\n token = getToken(context, 2 /* TokenTypes.BraceLeft */, \"{\" /* TokenChars.BraceLeft */);\n skipSpaces(scnr);\n context.braceNest++;\n return token;\n case \"}\" /* TokenChars.BraceRight */:\n if (context.braceNest > 0 &&\n context.currentType === 2 /* TokenTypes.BraceLeft */) {\n emitError(CompileErrorCodes.EMPTY_PLACEHOLDER, currentPosition(), 0);\n }\n scnr.next();\n token = getToken(context, 3 /* TokenTypes.BraceRight */, \"}\" /* TokenChars.BraceRight */);\n context.braceNest--;\n context.braceNest > 0 && skipSpaces(scnr);\n if (context.inLinked && context.braceNest === 0) {\n context.inLinked = false;\n }\n return token;\n case \"@\" /* TokenChars.LinkedAlias */:\n if (context.braceNest > 0) {\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\n }\n token = readTokenInLinked(scnr, context) || getEndToken(context);\n context.braceNest = 0;\n return token;\n default:\n let validNamedIdentifier = true;\n let validListIdentifier = true;\n let validLiteral = true;\n if (isPluralStart(scnr)) {\n if (context.braceNest > 0) {\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\n }\n token = getToken(context, 1 /* TokenTypes.Pipe */, readPlural(scnr));\n // reset\n context.braceNest = 0;\n context.inLinked = false;\n return token;\n }\n if (context.braceNest > 0 &&\n (context.currentType === 5 /* TokenTypes.Named */ ||\n context.currentType === 6 /* TokenTypes.List */ ||\n context.currentType === 7 /* TokenTypes.Literal */)) {\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\n context.braceNest = 0;\n return readToken(scnr, context);\n }\n if ((validNamedIdentifier = isNamedIdentifierStart(scnr, context))) {\n token = getToken(context, 5 /* TokenTypes.Named */, readNamedIdentifier(scnr));\n skipSpaces(scnr);\n return token;\n }\n if ((validListIdentifier = isListIdentifierStart(scnr, context))) {\n token = getToken(context, 6 /* TokenTypes.List */, readListIdentifier(scnr));\n skipSpaces(scnr);\n return token;\n }\n if ((validLiteral = isLiteralStart(scnr, context))) {\n token = getToken(context, 7 /* TokenTypes.Literal */, readLiteral(scnr));\n skipSpaces(scnr);\n return token;\n }\n if (!validNamedIdentifier && !validListIdentifier && !validLiteral) {\n // TODO: we should be re-designed invalid cases, when we will extend message syntax near the future ...\n token = getToken(context, 13 /* TokenTypes.InvalidPlace */, readInvalidIdentifier(scnr));\n emitError(CompileErrorCodes.INVALID_TOKEN_IN_PLACEHOLDER, currentPosition(), 0, token.value);\n skipSpaces(scnr);\n return token;\n }\n break;\n }\n return token;\n }\n // TODO: We need refactoring of token parsing ...\n function readTokenInLinked(scnr, context) {\n const { currentType } = context;\n let token = null;\n const ch = scnr.currentChar();\n if ((currentType === 8 /* TokenTypes.LinkedAlias */ ||\n currentType === 9 /* TokenTypes.LinkedDot */ ||\n currentType === 12 /* TokenTypes.LinkedModifier */ ||\n currentType === 10 /* TokenTypes.LinkedDelimiter */) &&\n (ch === CHAR_LF || ch === CHAR_SP)) {\n emitError(CompileErrorCodes.INVALID_LINKED_FORMAT, currentPosition(), 0);\n }\n switch (ch) {\n case \"@\" /* TokenChars.LinkedAlias */:\n scnr.next();\n token = getToken(context, 8 /* TokenTypes.LinkedAlias */, \"@\" /* TokenChars.LinkedAlias */);\n context.inLinked = true;\n return token;\n case \".\" /* TokenChars.LinkedDot */:\n skipSpaces(scnr);\n scnr.next();\n return getToken(context, 9 /* TokenTypes.LinkedDot */, \".\" /* TokenChars.LinkedDot */);\n case \":\" /* TokenChars.LinkedDelimiter */:\n skipSpaces(scnr);\n scnr.next();\n return getToken(context, 10 /* TokenTypes.LinkedDelimiter */, \":\" /* TokenChars.LinkedDelimiter */);\n default:\n if (isPluralStart(scnr)) {\n token = getToken(context, 1 /* TokenTypes.Pipe */, readPlural(scnr));\n // reset\n context.braceNest = 0;\n context.inLinked = false;\n return token;\n }\n if (isLinkedDotStart(scnr, context) ||\n isLinkedDelimiterStart(scnr, context)) {\n skipSpaces(scnr);\n return readTokenInLinked(scnr, context);\n }\n if (isLinkedModifierStart(scnr, context)) {\n skipSpaces(scnr);\n return getToken(context, 12 /* TokenTypes.LinkedModifier */, readLinkedModifier(scnr));\n }\n if (isLinkedReferStart(scnr, context)) {\n skipSpaces(scnr);\n if (ch === \"{\" /* TokenChars.BraceLeft */) {\n // scan the placeholder\n return readTokenInPlaceholder(scnr, context) || token;\n }\n else {\n return getToken(context, 11 /* TokenTypes.LinkedKey */, readLinkedRefer(scnr));\n }\n }\n if (currentType === 8 /* TokenTypes.LinkedAlias */) {\n emitError(CompileErrorCodes.INVALID_LINKED_FORMAT, currentPosition(), 0);\n }\n context.braceNest = 0;\n context.inLinked = false;\n return readToken(scnr, context);\n }\n }\n // TODO: We need refactoring of token parsing ...\n function readToken(scnr, context) {\n let token = { type: 14 /* TokenTypes.EOF */ };\n if (context.braceNest > 0) {\n return readTokenInPlaceholder(scnr, context) || getEndToken(context);\n }\n if (context.inLinked) {\n return readTokenInLinked(scnr, context) || getEndToken(context);\n }\n const ch = scnr.currentChar();\n switch (ch) {\n case \"{\" /* TokenChars.BraceLeft */:\n return readTokenInPlaceholder(scnr, context) || getEndToken(context);\n case \"}\" /* TokenChars.BraceRight */:\n emitError(CompileErrorCodes.UNBALANCED_CLOSING_BRACE, currentPosition(), 0);\n scnr.next();\n return getToken(context, 3 /* TokenTypes.BraceRight */, \"}\" /* TokenChars.BraceRight */);\n case \"@\" /* TokenChars.LinkedAlias */:\n return readTokenInLinked(scnr, context) || getEndToken(context);\n default:\n if (isPluralStart(scnr)) {\n token = getToken(context, 1 /* TokenTypes.Pipe */, readPlural(scnr));\n // reset\n context.braceNest = 0;\n context.inLinked = false;\n return token;\n }\n const { isModulo, hasSpace } = detectModuloStart(scnr);\n if (isModulo) {\n return hasSpace\n ? getToken(context, 0 /* TokenTypes.Text */, readText(scnr))\n : getToken(context, 4 /* TokenTypes.Modulo */, readModulo(scnr));\n }\n if (isTextStart(scnr)) {\n return getToken(context, 0 /* TokenTypes.Text */, readText(scnr));\n }\n break;\n }\n return token;\n }\n function nextToken() {\n const { currentType, offset, startLoc, endLoc } = _context;\n _context.lastType = currentType;\n _context.lastOffset = offset;\n _context.lastStartLoc = startLoc;\n _context.lastEndLoc = endLoc;\n _context.offset = currentOffset();\n _context.startLoc = currentPosition();\n if (_scnr.currentChar() === EOF) {\n return getToken(_context, 14 /* TokenTypes.EOF */);\n }\n return readToken(_scnr, _context);\n }\n return {\n nextToken,\n currentOffset,\n currentPosition,\n context\n };\n}\n\nconst ERROR_DOMAIN$2 = 'parser';\n// Backslash backslash, backslash quote, uHHHH, UHHHHHH.\nconst KNOWN_ESCAPES = /(?:\\\\\\\\|\\\\'|\\\\u([0-9a-fA-F]{4})|\\\\U([0-9a-fA-F]{6}))/g;\nfunction fromEscapeSequence(match, codePoint4, codePoint6) {\n switch (match) {\n case `\\\\\\\\`:\n return `\\\\`;\n case `\\\\\\'`:\n return `\\'`;\n default: {\n const codePoint = parseInt(codePoint4 || codePoint6, 16);\n if (codePoint <= 0xd7ff || codePoint >= 0xe000) {\n return String.fromCodePoint(codePoint);\n }\n // invalid ...\n // Replace them with U+FFFD REPLACEMENT CHARACTER.\n return '�';\n }\n }\n}\nfunction createParser(options = {}) {\n const location = options.location !== false;\n const { onError } = options;\n function emitError(tokenzer, code, start, offset, ...args) {\n const end = tokenzer.currentPosition();\n end.offset += offset;\n end.column += offset;\n if (onError) {\n const loc = location ? createLocation(start, end) : null;\n const err = createCompileError(code, loc, {\n domain: ERROR_DOMAIN$2,\n args\n });\n onError(err);\n }\n }\n function startNode(type, offset, loc) {\n const node = { type };\n if (location) {\n node.start = offset;\n node.end = offset;\n node.loc = { start: loc, end: loc };\n }\n return node;\n }\n function endNode(node, offset, pos, type) {\n if (type) {\n node.type = type;\n }\n if (location) {\n node.end = offset;\n if (node.loc) {\n node.loc.end = pos;\n }\n }\n }\n function parseText(tokenizer, value) {\n const context = tokenizer.context();\n const node = startNode(3 /* NodeTypes.Text */, context.offset, context.startLoc);\n node.value = value;\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n function parseList(tokenizer, index) {\n const context = tokenizer.context();\n const { lastOffset: offset, lastStartLoc: loc } = context; // get brace left loc\n const node = startNode(5 /* NodeTypes.List */, offset, loc);\n node.index = parseInt(index, 10);\n tokenizer.nextToken(); // skip brach right\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n function parseNamed(tokenizer, key) {\n const context = tokenizer.context();\n const { lastOffset: offset, lastStartLoc: loc } = context; // get brace left loc\n const node = startNode(4 /* NodeTypes.Named */, offset, loc);\n node.key = key;\n tokenizer.nextToken(); // skip brach right\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n function parseLiteral(tokenizer, value) {\n const context = tokenizer.context();\n const { lastOffset: offset, lastStartLoc: loc } = context; // get brace left loc\n const node = startNode(9 /* NodeTypes.Literal */, offset, loc);\n node.value = value.replace(KNOWN_ESCAPES, fromEscapeSequence);\n tokenizer.nextToken(); // skip brach right\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n function parseLinkedModifier(tokenizer) {\n const token = tokenizer.nextToken();\n const context = tokenizer.context();\n const { lastOffset: offset, lastStartLoc: loc } = context; // get linked dot loc\n const node = startNode(8 /* NodeTypes.LinkedModifier */, offset, loc);\n if (token.type !== 12 /* TokenTypes.LinkedModifier */) {\n // empty modifier\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_MODIFIER, context.lastStartLoc, 0);\n node.value = '';\n endNode(node, offset, loc);\n return {\n nextConsumeToken: token,\n node\n };\n }\n // check token\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n node.value = token.value || '';\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return {\n node\n };\n }\n function parseLinkedKey(tokenizer, value) {\n const context = tokenizer.context();\n const node = startNode(7 /* NodeTypes.LinkedKey */, context.offset, context.startLoc);\n node.value = value;\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n function parseLinked(tokenizer) {\n const context = tokenizer.context();\n const linkedNode = startNode(6 /* NodeTypes.Linked */, context.offset, context.startLoc);\n let token = tokenizer.nextToken();\n if (token.type === 9 /* TokenTypes.LinkedDot */) {\n const parsed = parseLinkedModifier(tokenizer);\n linkedNode.modifier = parsed.node;\n token = parsed.nextConsumeToken || tokenizer.nextToken();\n }\n // asset check token\n if (token.type !== 10 /* TokenTypes.LinkedDelimiter */) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n token = tokenizer.nextToken();\n // skip brace left\n if (token.type === 2 /* TokenTypes.BraceLeft */) {\n token = tokenizer.nextToken();\n }\n switch (token.type) {\n case 11 /* TokenTypes.LinkedKey */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n linkedNode.key = parseLinkedKey(tokenizer, token.value || '');\n break;\n case 5 /* TokenTypes.Named */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n linkedNode.key = parseNamed(tokenizer, token.value || '');\n break;\n case 6 /* TokenTypes.List */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n linkedNode.key = parseList(tokenizer, token.value || '');\n break;\n case 7 /* TokenTypes.Literal */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n linkedNode.key = parseLiteral(tokenizer, token.value || '');\n break;\n default:\n // empty key\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_KEY, context.lastStartLoc, 0);\n const nextContext = tokenizer.context();\n const emptyLinkedKeyNode = startNode(7 /* NodeTypes.LinkedKey */, nextContext.offset, nextContext.startLoc);\n emptyLinkedKeyNode.value = '';\n endNode(emptyLinkedKeyNode, nextContext.offset, nextContext.startLoc);\n linkedNode.key = emptyLinkedKeyNode;\n endNode(linkedNode, nextContext.offset, nextContext.startLoc);\n return {\n nextConsumeToken: token,\n node: linkedNode\n };\n }\n endNode(linkedNode, tokenizer.currentOffset(), tokenizer.currentPosition());\n return {\n node: linkedNode\n };\n }\n function parseMessage(tokenizer) {\n const context = tokenizer.context();\n const startOffset = context.currentType === 1 /* TokenTypes.Pipe */\n ? tokenizer.currentOffset()\n : context.offset;\n const startLoc = context.currentType === 1 /* TokenTypes.Pipe */\n ? context.endLoc\n : context.startLoc;\n const node = startNode(2 /* NodeTypes.Message */, startOffset, startLoc);\n node.items = [];\n let nextToken = null;\n do {\n const token = nextToken || tokenizer.nextToken();\n nextToken = null;\n switch (token.type) {\n case 0 /* TokenTypes.Text */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n node.items.push(parseText(tokenizer, token.value || ''));\n break;\n case 6 /* TokenTypes.List */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n node.items.push(parseList(tokenizer, token.value || ''));\n break;\n case 5 /* TokenTypes.Named */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n node.items.push(parseNamed(tokenizer, token.value || ''));\n break;\n case 7 /* TokenTypes.Literal */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n node.items.push(parseLiteral(tokenizer, token.value || ''));\n break;\n case 8 /* TokenTypes.LinkedAlias */:\n const parsed = parseLinked(tokenizer);\n node.items.push(parsed.node);\n nextToken = parsed.nextConsumeToken || null;\n break;\n }\n } while (context.currentType !== 14 /* TokenTypes.EOF */ &&\n context.currentType !== 1 /* TokenTypes.Pipe */);\n // adjust message node loc\n const endOffset = context.currentType === 1 /* TokenTypes.Pipe */\n ? context.lastOffset\n : tokenizer.currentOffset();\n const endLoc = context.currentType === 1 /* TokenTypes.Pipe */\n ? context.lastEndLoc\n : tokenizer.currentPosition();\n endNode(node, endOffset, endLoc);\n return node;\n }\n function parsePlural(tokenizer, offset, loc, msgNode) {\n const context = tokenizer.context();\n let hasEmptyMessage = msgNode.items.length === 0;\n const node = startNode(1 /* NodeTypes.Plural */, offset, loc);\n node.cases = [];\n node.cases.push(msgNode);\n do {\n const msg = parseMessage(tokenizer);\n if (!hasEmptyMessage) {\n hasEmptyMessage = msg.items.length === 0;\n }\n node.cases.push(msg);\n } while (context.currentType !== 14 /* TokenTypes.EOF */);\n if (hasEmptyMessage) {\n emitError(tokenizer, CompileErrorCodes.MUST_HAVE_MESSAGES_IN_PLURAL, loc, 0);\n }\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n function parseResource(tokenizer) {\n const context = tokenizer.context();\n const { offset, startLoc } = context;\n const msgNode = parseMessage(tokenizer);\n if (context.currentType === 14 /* TokenTypes.EOF */) {\n return msgNode;\n }\n else {\n return parsePlural(tokenizer, offset, startLoc, msgNode);\n }\n }\n function parse(source) {\n const tokenizer = createTokenizer(source, assign({}, options));\n const context = tokenizer.context();\n const node = startNode(0 /* NodeTypes.Resource */, context.offset, context.startLoc);\n if (location && node.loc) {\n node.loc.source = source;\n }\n node.body = parseResource(tokenizer);\n if (options.onCacheKey) {\n node.cacheKey = options.onCacheKey(source);\n }\n // assert whether achieved to EOF\n if (context.currentType !== 14 /* TokenTypes.EOF */) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, source[context.offset] || '');\n }\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n return { parse };\n}\nfunction getTokenCaption(token) {\n if (token.type === 14 /* TokenTypes.EOF */) {\n return 'EOF';\n }\n const name = (token.value || '').replace(/\\r?\\n/gu, '\\\\n');\n return name.length > 10 ? name.slice(0, 9) + '…' : name;\n}\n\nfunction createTransformer(ast, options = {} // eslint-disable-line\n) {\n const _context = {\n ast,\n helpers: new Set()\n };\n const context = () => _context;\n const helper = (name) => {\n _context.helpers.add(name);\n return name;\n };\n return { context, helper };\n}\nfunction traverseNodes(nodes, transformer) {\n for (let i = 0; i < nodes.length; i++) {\n traverseNode(nodes[i], transformer);\n }\n}\nfunction traverseNode(node, transformer) {\n // TODO: if we need pre-hook of transform, should be implemented to here\n switch (node.type) {\n case 1 /* NodeTypes.Plural */:\n traverseNodes(node.cases, transformer);\n transformer.helper(\"plural\" /* HelperNameMap.PLURAL */);\n break;\n case 2 /* NodeTypes.Message */:\n traverseNodes(node.items, transformer);\n break;\n case 6 /* NodeTypes.Linked */:\n const linked = node;\n traverseNode(linked.key, transformer);\n transformer.helper(\"linked\" /* HelperNameMap.LINKED */);\n transformer.helper(\"type\" /* HelperNameMap.TYPE */);\n break;\n case 5 /* NodeTypes.List */:\n transformer.helper(\"interpolate\" /* HelperNameMap.INTERPOLATE */);\n transformer.helper(\"list\" /* HelperNameMap.LIST */);\n break;\n case 4 /* NodeTypes.Named */:\n transformer.helper(\"interpolate\" /* HelperNameMap.INTERPOLATE */);\n transformer.helper(\"named\" /* HelperNameMap.NAMED */);\n break;\n }\n // TODO: if we need post-hook of transform, should be implemented to here\n}\n// transform AST\nfunction transform(ast, options = {} // eslint-disable-line\n) {\n const transformer = createTransformer(ast);\n transformer.helper(\"normalize\" /* HelperNameMap.NORMALIZE */);\n // traverse\n ast.body && traverseNode(ast.body, transformer);\n // set meta information\n const context = transformer.context();\n ast.helpers = Array.from(context.helpers);\n}\n\nfunction optimize(ast) {\n const body = ast.body;\n if (body.type === 2 /* NodeTypes.Message */) {\n optimizeMessageNode(body);\n }\n else {\n body.cases.forEach(c => optimizeMessageNode(c));\n }\n return ast;\n}\nfunction optimizeMessageNode(message) {\n if (message.items.length === 1) {\n const item = message.items[0];\n if (item.type === 3 /* NodeTypes.Text */ || item.type === 9 /* NodeTypes.Literal */) {\n message.static = item.value;\n delete item.value; // optimization for size\n }\n }\n else {\n const values = [];\n for (let i = 0; i < message.items.length; i++) {\n const item = message.items[i];\n if (!(item.type === 3 /* NodeTypes.Text */ || item.type === 9 /* NodeTypes.Literal */)) {\n break;\n }\n if (item.value == null) {\n break;\n }\n values.push(item.value);\n }\n if (values.length === message.items.length) {\n message.static = join(values);\n for (let i = 0; i < message.items.length; i++) {\n const item = message.items[i];\n if (item.type === 3 /* NodeTypes.Text */ || item.type === 9 /* NodeTypes.Literal */) {\n delete item.value; // optimization for size\n }\n }\n }\n }\n}\n\nconst ERROR_DOMAIN$1 = 'minifier';\n/* eslint-disable @typescript-eslint/no-explicit-any */\nfunction minify(node) {\n node.t = node.type;\n switch (node.type) {\n case 0 /* NodeTypes.Resource */:\n const resource = node;\n minify(resource.body);\n resource.b = resource.body;\n delete resource.body;\n break;\n case 1 /* NodeTypes.Plural */:\n const plural = node;\n const cases = plural.cases;\n for (let i = 0; i < cases.length; i++) {\n minify(cases[i]);\n }\n plural.c = cases;\n delete plural.cases;\n break;\n case 2 /* NodeTypes.Message */:\n const message = node;\n const items = message.items;\n for (let i = 0; i < items.length; i++) {\n minify(items[i]);\n }\n message.i = items;\n delete message.items;\n if (message.static) {\n message.s = message.static;\n delete message.static;\n }\n break;\n case 3 /* NodeTypes.Text */:\n case 9 /* NodeTypes.Literal */:\n case 8 /* NodeTypes.LinkedModifier */:\n case 7 /* NodeTypes.LinkedKey */:\n const valueNode = node;\n if (valueNode.value) {\n valueNode.v = valueNode.value;\n delete valueNode.value;\n }\n break;\n case 6 /* NodeTypes.Linked */:\n const linked = node;\n minify(linked.key);\n linked.k = linked.key;\n delete linked.key;\n if (linked.modifier) {\n minify(linked.modifier);\n linked.m = linked.modifier;\n delete linked.modifier;\n }\n break;\n case 5 /* NodeTypes.List */:\n const list = node;\n list.i = list.index;\n delete list.index;\n break;\n case 4 /* NodeTypes.Named */:\n const named = node;\n named.k = named.key;\n delete named.key;\n break;\n default:\n {\n throw createCompileError(CompileErrorCodes.UNHANDLED_MINIFIER_NODE_TYPE, null, {\n domain: ERROR_DOMAIN$1,\n args: [node.type]\n });\n }\n }\n delete node.type;\n}\n/* eslint-enable @typescript-eslint/no-explicit-any */\n\nconst ERROR_DOMAIN = 'parser';\nfunction createCodeGenerator(ast, options) {\n const { sourceMap, filename, breakLineCode, needIndent: _needIndent } = options;\n const location = options.location !== false;\n const _context = {\n filename,\n code: '',\n column: 1,\n line: 1,\n offset: 0,\n map: undefined,\n breakLineCode,\n needIndent: _needIndent,\n indentLevel: 0\n };\n if (location && ast.loc) {\n _context.source = ast.loc.source;\n }\n const context = () => _context;\n function push(code, node) {\n _context.code += code;\n }\n function _newline(n, withBreakLine = true) {\n const _breakLineCode = withBreakLine ? breakLineCode : '';\n push(_needIndent ? _breakLineCode + ` `.repeat(n) : _breakLineCode);\n }\n function indent(withNewLine = true) {\n const level = ++_context.indentLevel;\n withNewLine && _newline(level);\n }\n function deindent(withNewLine = true) {\n const level = --_context.indentLevel;\n withNewLine && _newline(level);\n }\n function newline() {\n _newline(_context.indentLevel);\n }\n const helper = (key) => `_${key}`;\n const needIndent = () => _context.needIndent;\n return {\n context,\n push,\n indent,\n deindent,\n newline,\n helper,\n needIndent\n };\n}\nfunction generateLinkedNode(generator, node) {\n const { helper } = generator;\n generator.push(`${helper(\"linked\" /* HelperNameMap.LINKED */)}(`);\n generateNode(generator, node.key);\n if (node.modifier) {\n generator.push(`, `);\n generateNode(generator, node.modifier);\n generator.push(`, _type`);\n }\n else {\n generator.push(`, undefined, _type`);\n }\n generator.push(`)`);\n}\nfunction generateMessageNode(generator, node) {\n const { helper, needIndent } = generator;\n generator.push(`${helper(\"normalize\" /* HelperNameMap.NORMALIZE */)}([`);\n generator.indent(needIndent());\n const length = node.items.length;\n for (let i = 0; i < length; i++) {\n generateNode(generator, node.items[i]);\n if (i === length - 1) {\n break;\n }\n generator.push(', ');\n }\n generator.deindent(needIndent());\n generator.push('])');\n}\nfunction generatePluralNode(generator, node) {\n const { helper, needIndent } = generator;\n if (node.cases.length > 1) {\n generator.push(`${helper(\"plural\" /* HelperNameMap.PLURAL */)}([`);\n generator.indent(needIndent());\n const length = node.cases.length;\n for (let i = 0; i < length; i++) {\n generateNode(generator, node.cases[i]);\n if (i === length - 1) {\n break;\n }\n generator.push(', ');\n }\n generator.deindent(needIndent());\n generator.push(`])`);\n }\n}\nfunction generateResource(generator, node) {\n if (node.body) {\n generateNode(generator, node.body);\n }\n else {\n generator.push('null');\n }\n}\nfunction generateNode(generator, node) {\n const { helper } = generator;\n switch (node.type) {\n case 0 /* NodeTypes.Resource */:\n generateResource(generator, node);\n break;\n case 1 /* NodeTypes.Plural */:\n generatePluralNode(generator, node);\n break;\n case 2 /* NodeTypes.Message */:\n generateMessageNode(generator, node);\n break;\n case 6 /* NodeTypes.Linked */:\n generateLinkedNode(generator, node);\n break;\n case 8 /* NodeTypes.LinkedModifier */:\n generator.push(JSON.stringify(node.value), node);\n break;\n case 7 /* NodeTypes.LinkedKey */:\n generator.push(JSON.stringify(node.value), node);\n break;\n case 5 /* NodeTypes.List */:\n generator.push(`${helper(\"interpolate\" /* HelperNameMap.INTERPOLATE */)}(${helper(\"list\" /* HelperNameMap.LIST */)}(${node.index}))`, node);\n break;\n case 4 /* NodeTypes.Named */:\n generator.push(`${helper(\"interpolate\" /* HelperNameMap.INTERPOLATE */)}(${helper(\"named\" /* HelperNameMap.NAMED */)}(${JSON.stringify(node.key)}))`, node);\n break;\n case 9 /* NodeTypes.Literal */:\n generator.push(JSON.stringify(node.value), node);\n break;\n case 3 /* NodeTypes.Text */:\n generator.push(JSON.stringify(node.value), node);\n break;\n default:\n {\n throw createCompileError(CompileErrorCodes.UNHANDLED_CODEGEN_NODE_TYPE, null, {\n domain: ERROR_DOMAIN,\n args: [node.type]\n });\n }\n }\n}\n// generate code from AST\nconst generate = (ast, options = {} // eslint-disable-line\n) => {\n const mode = isString(options.mode) ? options.mode : 'normal';\n const filename = isString(options.filename)\n ? options.filename\n : 'message.intl';\n const sourceMap = !!options.sourceMap;\n // prettier-ignore\n const breakLineCode = options.breakLineCode != null\n ? options.breakLineCode\n : mode === 'arrow'\n ? ';'\n : '\\n';\n const needIndent = options.needIndent ? options.needIndent : mode !== 'arrow';\n const helpers = ast.helpers || [];\n const generator = createCodeGenerator(ast, {\n mode,\n filename,\n sourceMap,\n breakLineCode,\n needIndent\n });\n generator.push(mode === 'normal' ? `function __msg__ (ctx) {` : `(ctx) => {`);\n generator.indent(needIndent);\n if (helpers.length > 0) {\n generator.push(`const { ${join(helpers.map(s => `${s}: _${s}`), ', ')} } = ctx`);\n generator.newline();\n }\n generator.push(`return `);\n generateNode(generator, ast);\n generator.deindent(needIndent);\n generator.push(`}`);\n delete ast.helpers;\n const { code, map } = generator.context();\n return {\n ast,\n code,\n map: map ? map.toJSON() : undefined // eslint-disable-line @typescript-eslint/no-explicit-any\n };\n};\n\nfunction baseCompile(source, options = {}) {\n const assignedOptions = assign({}, options);\n const jit = !!assignedOptions.jit;\n const enalbeMinify = !!assignedOptions.minify;\n const enambeOptimize = assignedOptions.optimize == null ? true : assignedOptions.optimize;\n // parse source codes\n const parser = createParser(assignedOptions);\n const ast = parser.parse(source);\n if (!jit) {\n // transform ASTs\n transform(ast, assignedOptions);\n // generate javascript codes\n return generate(ast, assignedOptions);\n }\n else {\n // optimize ASTs\n enambeOptimize && optimize(ast);\n // minimize ASTs\n enalbeMinify && minify(ast);\n // In JIT mode, no ast transform, no code generation.\n return { ast, code: '' };\n }\n}\n\nexport { CompileErrorCodes, ERROR_DOMAIN$2 as ERROR_DOMAIN, LOCATION_STUB, baseCompile, createCompileError, createLocation, createParser, createPosition, defaultOnError, detectHtmlTag, errorMessages };\n"],"names":["createPosition","line","column","offset","createLocation","start","end","source","loc","RE_ARGS","format","message","args","isObject","match","identifier","assign","isString","val","join","items","separator","str","item","index","CompileErrorCodes","errorMessages","createCompileError","code","options","domain","messages","msg","error","defaultOnError","RE_HTML_TAG","detectHtmlTag","CHAR_SP","CHAR_CR","CHAR_LF","CHAR_LS","CHAR_PS","createScanner","_buf","_index","_line","_column","_peekOffset","isCRLF","isLF","isPS","isLS","isLineEnd","peekOffset","charAt","currentChar","currentPeek","next","peek","reset","resetPeek","skipToPeek","target","EOF","DOT","LITERAL_DELIMITER","ERROR_DOMAIN$3","createTokenizer","location","_scnr","currentOffset","currentPosition","_initLoc","_initOffset","_context","context","onError","emitError","pos","ctx","err","getToken","type","value","token","getEndToken","eat","scnr","ch","peekSpaces","buf","skipSpaces","isIdentifierStart","cc","isNumberStart","isNamedIdentifierStart","currentType","ret","isListIdentifierStart","isLiteralStart","isLinkedDotStart","isLinkedModifierStart","isLinkedDelimiterStart","isLinkedReferStart","fn","isPluralStart","detectModuloStart","spaces","isTextStart","hasSpace","prev","detectModulo","takeChar","takeIdentifierChar","takeDigit","takeHexDigit","getDigits","num","readModulo","readText","readNamedIdentifier","name","readListIdentifier","readLiteral","literal","x","readEscapeSequence","current","readUnicodeEscapeSequence","unicode","digits","sequence","i","readInvalidIdentifier","identifiers","closure","readLinkedModifier","readLinkedRefer","detect","readPlural","plural","readTokenInPlaceholder","readTokenInLinked","validNamedIdentifier","validListIdentifier","validLiteral","readToken","isModulo","nextToken","startLoc","endLoc","ERROR_DOMAIN$2","KNOWN_ESCAPES","fromEscapeSequence","codePoint4","codePoint6","codePoint","createParser","tokenzer","startNode","node","endNode","parseText","tokenizer","parseList","parseNamed","key","parseLiteral","parseLinkedModifier","getTokenCaption","parseLinkedKey","parseLinked","linkedNode","parsed","nextContext","emptyLinkedKeyNode","parseMessage","startOffset","endOffset","parsePlural","msgNode","hasEmptyMessage","parseResource","parse","createTransformer","ast","traverseNodes","nodes","transformer","traverseNode","transform","optimize","body","optimizeMessageNode","c","values","ERROR_DOMAIN$1","minify","resource","cases","valueNode","linked","list","named","ERROR_DOMAIN","createCodeGenerator","sourceMap","filename","breakLineCode","_needIndent","push","_newline","n","withBreakLine","_breakLineCode","indent","withNewLine","level","deindent","newline","generateLinkedNode","generator","helper","generateNode","generateMessageNode","needIndent","length","generatePluralNode","generateResource","generate","mode","helpers","s","map","baseCompile","assignedOptions","jit","enalbeMinify","enambeOptimize"],"mappings":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"design-system54.mjs","sources":["../node_modules/@intlify/message-compiler/dist/message-compiler.esm-bundler.js"],"sourcesContent":["/*!\n * message-compiler v9.2.2\n * (c) 2022 kazuya kawaguchi\n * Released under the MIT License.\n */\nimport { format, assign, isString } from '@intlify/shared';\n\nconst CompileErrorCodes = {\r\n // tokenizer error codes\r\n EXPECTED_TOKEN: 1,\r\n INVALID_TOKEN_IN_PLACEHOLDER: 2,\r\n UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER: 3,\r\n UNKNOWN_ESCAPE_SEQUENCE: 4,\r\n INVALID_UNICODE_ESCAPE_SEQUENCE: 5,\r\n UNBALANCED_CLOSING_BRACE: 6,\r\n UNTERMINATED_CLOSING_BRACE: 7,\r\n EMPTY_PLACEHOLDER: 8,\r\n NOT_ALLOW_NEST_PLACEHOLDER: 9,\r\n INVALID_LINKED_FORMAT: 10,\r\n // parser error codes\r\n MUST_HAVE_MESSAGES_IN_PLURAL: 11,\r\n UNEXPECTED_EMPTY_LINKED_MODIFIER: 12,\r\n UNEXPECTED_EMPTY_LINKED_KEY: 13,\r\n UNEXPECTED_LEXICAL_ANALYSIS: 14,\r\n // Special value for higher-order compilers to pick up the last code\r\n // to avoid collision of error codes. This should always be kept as the last\r\n // item.\r\n __EXTEND_POINT__: 15\r\n};\r\n/** @internal */\r\nconst errorMessages = {\r\n // tokenizer error messages\r\n [CompileErrorCodes.EXPECTED_TOKEN]: `Expected token: '{0}'`,\r\n [CompileErrorCodes.INVALID_TOKEN_IN_PLACEHOLDER]: `Invalid token in placeholder: '{0}'`,\r\n [CompileErrorCodes.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]: `Unterminated single quote in placeholder`,\r\n [CompileErrorCodes.UNKNOWN_ESCAPE_SEQUENCE]: `Unknown escape sequence: \\\\{0}`,\r\n [CompileErrorCodes.INVALID_UNICODE_ESCAPE_SEQUENCE]: `Invalid unicode escape sequence: {0}`,\r\n [CompileErrorCodes.UNBALANCED_CLOSING_BRACE]: `Unbalanced closing brace`,\r\n [CompileErrorCodes.UNTERMINATED_CLOSING_BRACE]: `Unterminated closing brace`,\r\n [CompileErrorCodes.EMPTY_PLACEHOLDER]: `Empty placeholder`,\r\n [CompileErrorCodes.NOT_ALLOW_NEST_PLACEHOLDER]: `Not allowed nest placeholder`,\r\n [CompileErrorCodes.INVALID_LINKED_FORMAT]: `Invalid linked format`,\r\n // parser error messages\r\n [CompileErrorCodes.MUST_HAVE_MESSAGES_IN_PLURAL]: `Plural must have messages`,\r\n [CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_MODIFIER]: `Unexpected empty linked modifier`,\r\n [CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_KEY]: `Unexpected empty linked key`,\r\n [CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS]: `Unexpected lexical analysis in token: '{0}'`\r\n};\r\nfunction createCompileError(code, loc, options = {}) {\r\n const { domain, messages, args } = options;\r\n const msg = (process.env.NODE_ENV !== 'production')\r\n ? format((messages || errorMessages)[code] || '', ...(args || []))\r\n : code;\r\n const error = new SyntaxError(String(msg));\r\n error.code = code;\r\n if (loc) {\r\n error.location = loc;\r\n }\r\n error.domain = domain;\r\n return error;\r\n}\r\n/** @internal */\r\nfunction defaultOnError(error) {\r\n throw error;\r\n}\n\nconst LocationStub = {\r\n start: { line: 1, column: 1, offset: 0 },\r\n end: { line: 1, column: 1, offset: 0 }\r\n};\r\nfunction createPosition(line, column, offset) {\r\n return { line, column, offset };\r\n}\r\nfunction createLocation(start, end, source) {\r\n const loc = { start, end };\r\n if (source != null) {\r\n loc.source = source;\r\n }\r\n return loc;\r\n}\n\nconst CHAR_SP = ' ';\r\nconst CHAR_CR = '\\r';\r\nconst CHAR_LF = '\\n';\r\nconst CHAR_LS = String.fromCharCode(0x2028);\r\nconst CHAR_PS = String.fromCharCode(0x2029);\r\nfunction createScanner(str) {\r\n const _buf = str;\r\n let _index = 0;\r\n let _line = 1;\r\n let _column = 1;\r\n let _peekOffset = 0;\r\n const isCRLF = (index) => _buf[index] === CHAR_CR && _buf[index + 1] === CHAR_LF;\r\n const isLF = (index) => _buf[index] === CHAR_LF;\r\n const isPS = (index) => _buf[index] === CHAR_PS;\r\n const isLS = (index) => _buf[index] === CHAR_LS;\r\n const isLineEnd = (index) => isCRLF(index) || isLF(index) || isPS(index) || isLS(index);\r\n const index = () => _index;\r\n const line = () => _line;\r\n const column = () => _column;\r\n const peekOffset = () => _peekOffset;\r\n const charAt = (offset) => isCRLF(offset) || isPS(offset) || isLS(offset) ? CHAR_LF : _buf[offset];\r\n const currentChar = () => charAt(_index);\r\n const currentPeek = () => charAt(_index + _peekOffset);\r\n function next() {\r\n _peekOffset = 0;\r\n if (isLineEnd(_index)) {\r\n _line++;\r\n _column = 0;\r\n }\r\n if (isCRLF(_index)) {\r\n _index++;\r\n }\r\n _index++;\r\n _column++;\r\n return _buf[_index];\r\n }\r\n function peek() {\r\n if (isCRLF(_index + _peekOffset)) {\r\n _peekOffset++;\r\n }\r\n _peekOffset++;\r\n return _buf[_index + _peekOffset];\r\n }\r\n function reset() {\r\n _index = 0;\r\n _line = 1;\r\n _column = 1;\r\n _peekOffset = 0;\r\n }\r\n function resetPeek(offset = 0) {\r\n _peekOffset = offset;\r\n }\r\n function skipToPeek() {\r\n const target = _index + _peekOffset;\r\n // eslint-disable-next-line no-unmodified-loop-condition\r\n while (target !== _index) {\r\n next();\r\n }\r\n _peekOffset = 0;\r\n }\r\n return {\r\n index,\r\n line,\r\n column,\r\n peekOffset,\r\n charAt,\r\n currentChar,\r\n currentPeek,\r\n next,\r\n peek,\r\n reset,\r\n resetPeek,\r\n skipToPeek\r\n };\r\n}\n\nconst EOF = undefined;\r\nconst LITERAL_DELIMITER = \"'\";\r\nconst ERROR_DOMAIN$1 = 'tokenizer';\r\nfunction createTokenizer(source, options = {}) {\r\n const location = options.location !== false;\r\n const _scnr = createScanner(source);\r\n const currentOffset = () => _scnr.index();\r\n const currentPosition = () => createPosition(_scnr.line(), _scnr.column(), _scnr.index());\r\n const _initLoc = currentPosition();\r\n const _initOffset = currentOffset();\r\n const _context = {\r\n currentType: 14 /* EOF */,\r\n offset: _initOffset,\r\n startLoc: _initLoc,\r\n endLoc: _initLoc,\r\n lastType: 14 /* EOF */,\r\n lastOffset: _initOffset,\r\n lastStartLoc: _initLoc,\r\n lastEndLoc: _initLoc,\r\n braceNest: 0,\r\n inLinked: false,\r\n text: ''\r\n };\r\n const context = () => _context;\r\n const { onError } = options;\r\n function emitError(code, pos, offset, ...args) {\r\n const ctx = context();\r\n pos.column += offset;\r\n pos.offset += offset;\r\n if (onError) {\r\n const loc = createLocation(ctx.startLoc, pos);\r\n const err = createCompileError(code, loc, {\r\n domain: ERROR_DOMAIN$1,\r\n args\r\n });\r\n onError(err);\r\n }\r\n }\r\n function getToken(context, type, value) {\r\n context.endLoc = currentPosition();\r\n context.currentType = type;\r\n const token = { type };\r\n if (location) {\r\n token.loc = createLocation(context.startLoc, context.endLoc);\r\n }\r\n if (value != null) {\r\n token.value = value;\r\n }\r\n return token;\r\n }\r\n const getEndToken = (context) => getToken(context, 14 /* EOF */);\r\n function eat(scnr, ch) {\r\n if (scnr.currentChar() === ch) {\r\n scnr.next();\r\n return ch;\r\n }\r\n else {\r\n emitError(CompileErrorCodes.EXPECTED_TOKEN, currentPosition(), 0, ch);\r\n return '';\r\n }\r\n }\r\n function peekSpaces(scnr) {\r\n let buf = '';\r\n while (scnr.currentPeek() === CHAR_SP || scnr.currentPeek() === CHAR_LF) {\r\n buf += scnr.currentPeek();\r\n scnr.peek();\r\n }\r\n return buf;\r\n }\r\n function skipSpaces(scnr) {\r\n const buf = peekSpaces(scnr);\r\n scnr.skipToPeek();\r\n return buf;\r\n }\r\n function isIdentifierStart(ch) {\r\n if (ch === EOF) {\r\n return false;\r\n }\r\n const cc = ch.charCodeAt(0);\r\n return ((cc >= 97 && cc <= 122) || // a-z\r\n (cc >= 65 && cc <= 90) || // A-Z\r\n cc === 95 // _\r\n );\r\n }\r\n function isNumberStart(ch) {\r\n if (ch === EOF) {\r\n return false;\r\n }\r\n const cc = ch.charCodeAt(0);\r\n return cc >= 48 && cc <= 57; // 0-9\r\n }\r\n function isNamedIdentifierStart(scnr, context) {\r\n const { currentType } = context;\r\n if (currentType !== 2 /* BraceLeft */) {\r\n return false;\r\n }\r\n peekSpaces(scnr);\r\n const ret = isIdentifierStart(scnr.currentPeek());\r\n scnr.resetPeek();\r\n return ret;\r\n }\r\n function isListIdentifierStart(scnr, context) {\r\n const { currentType } = context;\r\n if (currentType !== 2 /* BraceLeft */) {\r\n return false;\r\n }\r\n peekSpaces(scnr);\r\n const ch = scnr.currentPeek() === '-' ? scnr.peek() : scnr.currentPeek();\r\n const ret = isNumberStart(ch);\r\n scnr.resetPeek();\r\n return ret;\r\n }\r\n function isLiteralStart(scnr, context) {\r\n const { currentType } = context;\r\n if (currentType !== 2 /* BraceLeft */) {\r\n return false;\r\n }\r\n peekSpaces(scnr);\r\n const ret = scnr.currentPeek() === LITERAL_DELIMITER;\r\n scnr.resetPeek();\r\n return ret;\r\n }\r\n function isLinkedDotStart(scnr, context) {\r\n const { currentType } = context;\r\n if (currentType !== 8 /* LinkedAlias */) {\r\n return false;\r\n }\r\n peekSpaces(scnr);\r\n const ret = scnr.currentPeek() === \".\" /* LinkedDot */;\r\n scnr.resetPeek();\r\n return ret;\r\n }\r\n function isLinkedModifierStart(scnr, context) {\r\n const { currentType } = context;\r\n if (currentType !== 9 /* LinkedDot */) {\r\n return false;\r\n }\r\n peekSpaces(scnr);\r\n const ret = isIdentifierStart(scnr.currentPeek());\r\n scnr.resetPeek();\r\n return ret;\r\n }\r\n function isLinkedDelimiterStart(scnr, context) {\r\n const { currentType } = context;\r\n if (!(currentType === 8 /* LinkedAlias */ ||\r\n currentType === 12 /* LinkedModifier */)) {\r\n return false;\r\n }\r\n peekSpaces(scnr);\r\n const ret = scnr.currentPeek() === \":\" /* LinkedDelimiter */;\r\n scnr.resetPeek();\r\n return ret;\r\n }\r\n function isLinkedReferStart(scnr, context) {\r\n const { currentType } = context;\r\n if (currentType !== 10 /* LinkedDelimiter */) {\r\n return false;\r\n }\r\n const fn = () => {\r\n const ch = scnr.currentPeek();\r\n if (ch === \"{\" /* BraceLeft */) {\r\n return isIdentifierStart(scnr.peek());\r\n }\r\n else if (ch === \"@\" /* LinkedAlias */ ||\r\n ch === \"%\" /* Modulo */ ||\r\n ch === \"|\" /* Pipe */ ||\r\n ch === \":\" /* LinkedDelimiter */ ||\r\n ch === \".\" /* LinkedDot */ ||\r\n ch === CHAR_SP ||\r\n !ch) {\r\n return false;\r\n }\r\n else if (ch === CHAR_LF) {\r\n scnr.peek();\r\n return fn();\r\n }\r\n else {\r\n // other characters\r\n return isIdentifierStart(ch);\r\n }\r\n };\r\n const ret = fn();\r\n scnr.resetPeek();\r\n return ret;\r\n }\r\n function isPluralStart(scnr) {\r\n peekSpaces(scnr);\r\n const ret = scnr.currentPeek() === \"|\" /* Pipe */;\r\n scnr.resetPeek();\r\n return ret;\r\n }\r\n function detectModuloStart(scnr) {\r\n const spaces = peekSpaces(scnr);\r\n const ret = scnr.currentPeek() === \"%\" /* Modulo */ &&\r\n scnr.peek() === \"{\" /* BraceLeft */;\r\n scnr.resetPeek();\r\n return {\r\n isModulo: ret,\r\n hasSpace: spaces.length > 0\r\n };\r\n }\r\n function isTextStart(scnr, reset = true) {\r\n const fn = (hasSpace = false, prev = '', detectModulo = false) => {\r\n const ch = scnr.currentPeek();\r\n if (ch === \"{\" /* BraceLeft */) {\r\n return prev === \"%\" /* Modulo */ ? false : hasSpace;\r\n }\r\n else if (ch === \"@\" /* LinkedAlias */ || !ch) {\r\n return prev === \"%\" /* Modulo */ ? true : hasSpace;\r\n }\r\n else if (ch === \"%\" /* Modulo */) {\r\n scnr.peek();\r\n return fn(hasSpace, \"%\" /* Modulo */, true);\r\n }\r\n else if (ch === \"|\" /* Pipe */) {\r\n return prev === \"%\" /* Modulo */ || detectModulo\r\n ? true\r\n : !(prev === CHAR_SP || prev === CHAR_LF);\r\n }\r\n else if (ch === CHAR_SP) {\r\n scnr.peek();\r\n return fn(true, CHAR_SP, detectModulo);\r\n }\r\n else if (ch === CHAR_LF) {\r\n scnr.peek();\r\n return fn(true, CHAR_LF, detectModulo);\r\n }\r\n else {\r\n return true;\r\n }\r\n };\r\n const ret = fn();\r\n reset && scnr.resetPeek();\r\n return ret;\r\n }\r\n function takeChar(scnr, fn) {\r\n const ch = scnr.currentChar();\r\n if (ch === EOF) {\r\n return EOF;\r\n }\r\n if (fn(ch)) {\r\n scnr.next();\r\n return ch;\r\n }\r\n return null;\r\n }\r\n function takeIdentifierChar(scnr) {\r\n const closure = (ch) => {\r\n const cc = ch.charCodeAt(0);\r\n return ((cc >= 97 && cc <= 122) || // a-z\r\n (cc >= 65 && cc <= 90) || // A-Z\r\n (cc >= 48 && cc <= 57) || // 0-9\r\n cc === 95 || // _\r\n cc === 36 // $\r\n );\r\n };\r\n return takeChar(scnr, closure);\r\n }\r\n function takeDigit(scnr) {\r\n const closure = (ch) => {\r\n const cc = ch.charCodeAt(0);\r\n return cc >= 48 && cc <= 57; // 0-9\r\n };\r\n return takeChar(scnr, closure);\r\n }\r\n function takeHexDigit(scnr) {\r\n const closure = (ch) => {\r\n const cc = ch.charCodeAt(0);\r\n return ((cc >= 48 && cc <= 57) || // 0-9\r\n (cc >= 65 && cc <= 70) || // A-F\r\n (cc >= 97 && cc <= 102)); // a-f\r\n };\r\n return takeChar(scnr, closure);\r\n }\r\n function getDigits(scnr) {\r\n let ch = '';\r\n let num = '';\r\n while ((ch = takeDigit(scnr))) {\r\n num += ch;\r\n }\r\n return num;\r\n }\r\n function readModulo(scnr) {\r\n skipSpaces(scnr);\r\n const ch = scnr.currentChar();\r\n if (ch !== \"%\" /* Modulo */) {\r\n emitError(CompileErrorCodes.EXPECTED_TOKEN, currentPosition(), 0, ch);\r\n }\r\n scnr.next();\r\n return \"%\" /* Modulo */;\r\n }\r\n function readText(scnr) {\r\n let buf = '';\r\n while (true) {\r\n const ch = scnr.currentChar();\r\n if (ch === \"{\" /* BraceLeft */ ||\r\n ch === \"}\" /* BraceRight */ ||\r\n ch === \"@\" /* LinkedAlias */ ||\r\n ch === \"|\" /* Pipe */ ||\r\n !ch) {\r\n break;\r\n }\r\n else if (ch === \"%\" /* Modulo */) {\r\n if (isTextStart(scnr)) {\r\n buf += ch;\r\n scnr.next();\r\n }\r\n else {\r\n break;\r\n }\r\n }\r\n else if (ch === CHAR_SP || ch === CHAR_LF) {\r\n if (isTextStart(scnr)) {\r\n buf += ch;\r\n scnr.next();\r\n }\r\n else if (isPluralStart(scnr)) {\r\n break;\r\n }\r\n else {\r\n buf += ch;\r\n scnr.next();\r\n }\r\n }\r\n else {\r\n buf += ch;\r\n scnr.next();\r\n }\r\n }\r\n return buf;\r\n }\r\n function readNamedIdentifier(scnr) {\r\n skipSpaces(scnr);\r\n let ch = '';\r\n let name = '';\r\n while ((ch = takeIdentifierChar(scnr))) {\r\n name += ch;\r\n }\r\n if (scnr.currentChar() === EOF) {\r\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\r\n }\r\n return name;\r\n }\r\n function readListIdentifier(scnr) {\r\n skipSpaces(scnr);\r\n let value = '';\r\n if (scnr.currentChar() === '-') {\r\n scnr.next();\r\n value += `-${getDigits(scnr)}`;\r\n }\r\n else {\r\n value += getDigits(scnr);\r\n }\r\n if (scnr.currentChar() === EOF) {\r\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\r\n }\r\n return value;\r\n }\r\n function readLiteral(scnr) {\r\n skipSpaces(scnr);\r\n eat(scnr, `\\'`);\r\n let ch = '';\r\n let literal = '';\r\n const fn = (x) => x !== LITERAL_DELIMITER && x !== CHAR_LF;\r\n while ((ch = takeChar(scnr, fn))) {\r\n if (ch === '\\\\') {\r\n literal += readEscapeSequence(scnr);\r\n }\r\n else {\r\n literal += ch;\r\n }\r\n }\r\n const current = scnr.currentChar();\r\n if (current === CHAR_LF || current === EOF) {\r\n emitError(CompileErrorCodes.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER, currentPosition(), 0);\r\n // TODO: Is it correct really?\r\n if (current === CHAR_LF) {\r\n scnr.next();\r\n eat(scnr, `\\'`);\r\n }\r\n return literal;\r\n }\r\n eat(scnr, `\\'`);\r\n return literal;\r\n }\r\n function readEscapeSequence(scnr) {\r\n const ch = scnr.currentChar();\r\n switch (ch) {\r\n case '\\\\':\r\n case `\\'`:\r\n scnr.next();\r\n return `\\\\${ch}`;\r\n case 'u':\r\n return readUnicodeEscapeSequence(scnr, ch, 4);\r\n case 'U':\r\n return readUnicodeEscapeSequence(scnr, ch, 6);\r\n default:\r\n emitError(CompileErrorCodes.UNKNOWN_ESCAPE_SEQUENCE, currentPosition(), 0, ch);\r\n return '';\r\n }\r\n }\r\n function readUnicodeEscapeSequence(scnr, unicode, digits) {\r\n eat(scnr, unicode);\r\n let sequence = '';\r\n for (let i = 0; i < digits; i++) {\r\n const ch = takeHexDigit(scnr);\r\n if (!ch) {\r\n emitError(CompileErrorCodes.INVALID_UNICODE_ESCAPE_SEQUENCE, currentPosition(), 0, `\\\\${unicode}${sequence}${scnr.currentChar()}`);\r\n break;\r\n }\r\n sequence += ch;\r\n }\r\n return `\\\\${unicode}${sequence}`;\r\n }\r\n function readInvalidIdentifier(scnr) {\r\n skipSpaces(scnr);\r\n let ch = '';\r\n let identifiers = '';\r\n const closure = (ch) => ch !== \"{\" /* BraceLeft */ &&\r\n ch !== \"}\" /* BraceRight */ &&\r\n ch !== CHAR_SP &&\r\n ch !== CHAR_LF;\r\n while ((ch = takeChar(scnr, closure))) {\r\n identifiers += ch;\r\n }\r\n return identifiers;\r\n }\r\n function readLinkedModifier(scnr) {\r\n let ch = '';\r\n let name = '';\r\n while ((ch = takeIdentifierChar(scnr))) {\r\n name += ch;\r\n }\r\n return name;\r\n }\r\n function readLinkedRefer(scnr) {\r\n const fn = (detect = false, buf) => {\r\n const ch = scnr.currentChar();\r\n if (ch === \"{\" /* BraceLeft */ ||\r\n ch === \"%\" /* Modulo */ ||\r\n ch === \"@\" /* LinkedAlias */ ||\r\n ch === \"|\" /* Pipe */ ||\r\n !ch) {\r\n return buf;\r\n }\r\n else if (ch === CHAR_SP) {\r\n return buf;\r\n }\r\n else if (ch === CHAR_LF) {\r\n buf += ch;\r\n scnr.next();\r\n return fn(detect, buf);\r\n }\r\n else {\r\n buf += ch;\r\n scnr.next();\r\n return fn(true, buf);\r\n }\r\n };\r\n return fn(false, '');\r\n }\r\n function readPlural(scnr) {\r\n skipSpaces(scnr);\r\n const plural = eat(scnr, \"|\" /* Pipe */);\r\n skipSpaces(scnr);\r\n return plural;\r\n }\r\n // TODO: We need refactoring of token parsing ...\r\n function readTokenInPlaceholder(scnr, context) {\r\n let token = null;\r\n const ch = scnr.currentChar();\r\n switch (ch) {\r\n case \"{\" /* BraceLeft */:\r\n if (context.braceNest >= 1) {\r\n emitError(CompileErrorCodes.NOT_ALLOW_NEST_PLACEHOLDER, currentPosition(), 0);\r\n }\r\n scnr.next();\r\n token = getToken(context, 2 /* BraceLeft */, \"{\" /* BraceLeft */);\r\n skipSpaces(scnr);\r\n context.braceNest++;\r\n return token;\r\n case \"}\" /* BraceRight */:\r\n if (context.braceNest > 0 &&\r\n context.currentType === 2 /* BraceLeft */) {\r\n emitError(CompileErrorCodes.EMPTY_PLACEHOLDER, currentPosition(), 0);\r\n }\r\n scnr.next();\r\n token = getToken(context, 3 /* BraceRight */, \"}\" /* BraceRight */);\r\n context.braceNest--;\r\n context.braceNest > 0 && skipSpaces(scnr);\r\n if (context.inLinked && context.braceNest === 0) {\r\n context.inLinked = false;\r\n }\r\n return token;\r\n case \"@\" /* LinkedAlias */:\r\n if (context.braceNest > 0) {\r\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\r\n }\r\n token = readTokenInLinked(scnr, context) || getEndToken(context);\r\n context.braceNest = 0;\r\n return token;\r\n default:\r\n let validNamedIdentifier = true;\r\n let validListIdentifier = true;\r\n let validLiteral = true;\r\n if (isPluralStart(scnr)) {\r\n if (context.braceNest > 0) {\r\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\r\n }\r\n token = getToken(context, 1 /* Pipe */, readPlural(scnr));\r\n // reset\r\n context.braceNest = 0;\r\n context.inLinked = false;\r\n return token;\r\n }\r\n if (context.braceNest > 0 &&\r\n (context.currentType === 5 /* Named */ ||\r\n context.currentType === 6 /* List */ ||\r\n context.currentType === 7 /* Literal */)) {\r\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\r\n context.braceNest = 0;\r\n return readToken(scnr, context);\r\n }\r\n if ((validNamedIdentifier = isNamedIdentifierStart(scnr, context))) {\r\n token = getToken(context, 5 /* Named */, readNamedIdentifier(scnr));\r\n skipSpaces(scnr);\r\n return token;\r\n }\r\n if ((validListIdentifier = isListIdentifierStart(scnr, context))) {\r\n token = getToken(context, 6 /* List */, readListIdentifier(scnr));\r\n skipSpaces(scnr);\r\n return token;\r\n }\r\n if ((validLiteral = isLiteralStart(scnr, context))) {\r\n token = getToken(context, 7 /* Literal */, readLiteral(scnr));\r\n skipSpaces(scnr);\r\n return token;\r\n }\r\n if (!validNamedIdentifier && !validListIdentifier && !validLiteral) {\r\n // TODO: we should be re-designed invalid cases, when we will extend message syntax near the future ...\r\n token = getToken(context, 13 /* InvalidPlace */, readInvalidIdentifier(scnr));\r\n emitError(CompileErrorCodes.INVALID_TOKEN_IN_PLACEHOLDER, currentPosition(), 0, token.value);\r\n skipSpaces(scnr);\r\n return token;\r\n }\r\n break;\r\n }\r\n return token;\r\n }\r\n // TODO: We need refactoring of token parsing ...\r\n function readTokenInLinked(scnr, context) {\r\n const { currentType } = context;\r\n let token = null;\r\n const ch = scnr.currentChar();\r\n if ((currentType === 8 /* LinkedAlias */ ||\r\n currentType === 9 /* LinkedDot */ ||\r\n currentType === 12 /* LinkedModifier */ ||\r\n currentType === 10 /* LinkedDelimiter */) &&\r\n (ch === CHAR_LF || ch === CHAR_SP)) {\r\n emitError(CompileErrorCodes.INVALID_LINKED_FORMAT, currentPosition(), 0);\r\n }\r\n switch (ch) {\r\n case \"@\" /* LinkedAlias */:\r\n scnr.next();\r\n token = getToken(context, 8 /* LinkedAlias */, \"@\" /* LinkedAlias */);\r\n context.inLinked = true;\r\n return token;\r\n case \".\" /* LinkedDot */:\r\n skipSpaces(scnr);\r\n scnr.next();\r\n return getToken(context, 9 /* LinkedDot */, \".\" /* LinkedDot */);\r\n case \":\" /* LinkedDelimiter */:\r\n skipSpaces(scnr);\r\n scnr.next();\r\n return getToken(context, 10 /* LinkedDelimiter */, \":\" /* LinkedDelimiter */);\r\n default:\r\n if (isPluralStart(scnr)) {\r\n token = getToken(context, 1 /* Pipe */, readPlural(scnr));\r\n // reset\r\n context.braceNest = 0;\r\n context.inLinked = false;\r\n return token;\r\n }\r\n if (isLinkedDotStart(scnr, context) ||\r\n isLinkedDelimiterStart(scnr, context)) {\r\n skipSpaces(scnr);\r\n return readTokenInLinked(scnr, context);\r\n }\r\n if (isLinkedModifierStart(scnr, context)) {\r\n skipSpaces(scnr);\r\n return getToken(context, 12 /* LinkedModifier */, readLinkedModifier(scnr));\r\n }\r\n if (isLinkedReferStart(scnr, context)) {\r\n skipSpaces(scnr);\r\n if (ch === \"{\" /* BraceLeft */) {\r\n // scan the placeholder\r\n return readTokenInPlaceholder(scnr, context) || token;\r\n }\r\n else {\r\n return getToken(context, 11 /* LinkedKey */, readLinkedRefer(scnr));\r\n }\r\n }\r\n if (currentType === 8 /* LinkedAlias */) {\r\n emitError(CompileErrorCodes.INVALID_LINKED_FORMAT, currentPosition(), 0);\r\n }\r\n context.braceNest = 0;\r\n context.inLinked = false;\r\n return readToken(scnr, context);\r\n }\r\n }\r\n // TODO: We need refactoring of token parsing ...\r\n function readToken(scnr, context) {\r\n let token = { type: 14 /* EOF */ };\r\n if (context.braceNest > 0) {\r\n return readTokenInPlaceholder(scnr, context) || getEndToken(context);\r\n }\r\n if (context.inLinked) {\r\n return readTokenInLinked(scnr, context) || getEndToken(context);\r\n }\r\n const ch = scnr.currentChar();\r\n switch (ch) {\r\n case \"{\" /* BraceLeft */:\r\n return readTokenInPlaceholder(scnr, context) || getEndToken(context);\r\n case \"}\" /* BraceRight */:\r\n emitError(CompileErrorCodes.UNBALANCED_CLOSING_BRACE, currentPosition(), 0);\r\n scnr.next();\r\n return getToken(context, 3 /* BraceRight */, \"}\" /* BraceRight */);\r\n case \"@\" /* LinkedAlias */:\r\n return readTokenInLinked(scnr, context) || getEndToken(context);\r\n default:\r\n if (isPluralStart(scnr)) {\r\n token = getToken(context, 1 /* Pipe */, readPlural(scnr));\r\n // reset\r\n context.braceNest = 0;\r\n context.inLinked = false;\r\n return token;\r\n }\r\n const { isModulo, hasSpace } = detectModuloStart(scnr);\r\n if (isModulo) {\r\n return hasSpace\r\n ? getToken(context, 0 /* Text */, readText(scnr))\r\n : getToken(context, 4 /* Modulo */, readModulo(scnr));\r\n }\r\n if (isTextStart(scnr)) {\r\n return getToken(context, 0 /* Text */, readText(scnr));\r\n }\r\n break;\r\n }\r\n return token;\r\n }\r\n function nextToken() {\r\n const { currentType, offset, startLoc, endLoc } = _context;\r\n _context.lastType = currentType;\r\n _context.lastOffset = offset;\r\n _context.lastStartLoc = startLoc;\r\n _context.lastEndLoc = endLoc;\r\n _context.offset = currentOffset();\r\n _context.startLoc = currentPosition();\r\n if (_scnr.currentChar() === EOF) {\r\n return getToken(_context, 14 /* EOF */);\r\n }\r\n return readToken(_scnr, _context);\r\n }\r\n return {\r\n nextToken,\r\n currentOffset,\r\n currentPosition,\r\n context\r\n };\r\n}\n\nconst ERROR_DOMAIN = 'parser';\r\n// Backslash backslash, backslash quote, uHHHH, UHHHHHH.\r\nconst KNOWN_ESCAPES = /(?:\\\\\\\\|\\\\'|\\\\u([0-9a-fA-F]{4})|\\\\U([0-9a-fA-F]{6}))/g;\r\nfunction fromEscapeSequence(match, codePoint4, codePoint6) {\r\n switch (match) {\r\n case `\\\\\\\\`:\r\n return `\\\\`;\r\n case `\\\\\\'`:\r\n return `\\'`;\r\n default: {\r\n const codePoint = parseInt(codePoint4 || codePoint6, 16);\r\n if (codePoint <= 0xd7ff || codePoint >= 0xe000) {\r\n return String.fromCodePoint(codePoint);\r\n }\r\n // invalid ...\r\n // Replace them with U+FFFD REPLACEMENT CHARACTER.\r\n return '�';\r\n }\r\n }\r\n}\r\nfunction createParser(options = {}) {\r\n const location = options.location !== false;\r\n const { onError } = options;\r\n function emitError(tokenzer, code, start, offset, ...args) {\r\n const end = tokenzer.currentPosition();\r\n end.offset += offset;\r\n end.column += offset;\r\n if (onError) {\r\n const loc = createLocation(start, end);\r\n const err = createCompileError(code, loc, {\r\n domain: ERROR_DOMAIN,\r\n args\r\n });\r\n onError(err);\r\n }\r\n }\r\n function startNode(type, offset, loc) {\r\n const node = {\r\n type,\r\n start: offset,\r\n end: offset\r\n };\r\n if (location) {\r\n node.loc = { start: loc, end: loc };\r\n }\r\n return node;\r\n }\r\n function endNode(node, offset, pos, type) {\r\n node.end = offset;\r\n if (type) {\r\n node.type = type;\r\n }\r\n if (location && node.loc) {\r\n node.loc.end = pos;\r\n }\r\n }\r\n function parseText(tokenizer, value) {\r\n const context = tokenizer.context();\r\n const node = startNode(3 /* Text */, context.offset, context.startLoc);\r\n node.value = value;\r\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\r\n return node;\r\n }\r\n function parseList(tokenizer, index) {\r\n const context = tokenizer.context();\r\n const { lastOffset: offset, lastStartLoc: loc } = context; // get brace left loc\r\n const node = startNode(5 /* List */, offset, loc);\r\n node.index = parseInt(index, 10);\r\n tokenizer.nextToken(); // skip brach right\r\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\r\n return node;\r\n }\r\n function parseNamed(tokenizer, key) {\r\n const context = tokenizer.context();\r\n const { lastOffset: offset, lastStartLoc: loc } = context; // get brace left loc\r\n const node = startNode(4 /* Named */, offset, loc);\r\n node.key = key;\r\n tokenizer.nextToken(); // skip brach right\r\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\r\n return node;\r\n }\r\n function parseLiteral(tokenizer, value) {\r\n const context = tokenizer.context();\r\n const { lastOffset: offset, lastStartLoc: loc } = context; // get brace left loc\r\n const node = startNode(9 /* Literal */, offset, loc);\r\n node.value = value.replace(KNOWN_ESCAPES, fromEscapeSequence);\r\n tokenizer.nextToken(); // skip brach right\r\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\r\n return node;\r\n }\r\n function parseLinkedModifier(tokenizer) {\r\n const token = tokenizer.nextToken();\r\n const context = tokenizer.context();\r\n const { lastOffset: offset, lastStartLoc: loc } = context; // get linked dot loc\r\n const node = startNode(8 /* LinkedModifier */, offset, loc);\r\n if (token.type !== 12 /* LinkedModifier */) {\r\n // empty modifier\r\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_MODIFIER, context.lastStartLoc, 0);\r\n node.value = '';\r\n endNode(node, offset, loc);\r\n return {\r\n nextConsumeToken: token,\r\n node\r\n };\r\n }\r\n // check token\r\n if (token.value == null) {\r\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\r\n }\r\n node.value = token.value || '';\r\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\r\n return {\r\n node\r\n };\r\n }\r\n function parseLinkedKey(tokenizer, value) {\r\n const context = tokenizer.context();\r\n const node = startNode(7 /* LinkedKey */, context.offset, context.startLoc);\r\n node.value = value;\r\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\r\n return node;\r\n }\r\n function parseLinked(tokenizer) {\r\n const context = tokenizer.context();\r\n const linkedNode = startNode(6 /* Linked */, context.offset, context.startLoc);\r\n let token = tokenizer.nextToken();\r\n if (token.type === 9 /* LinkedDot */) {\r\n const parsed = parseLinkedModifier(tokenizer);\r\n linkedNode.modifier = parsed.node;\r\n token = parsed.nextConsumeToken || tokenizer.nextToken();\r\n }\r\n // asset check token\r\n if (token.type !== 10 /* LinkedDelimiter */) {\r\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\r\n }\r\n token = tokenizer.nextToken();\r\n // skip brace left\r\n if (token.type === 2 /* BraceLeft */) {\r\n token = tokenizer.nextToken();\r\n }\r\n switch (token.type) {\r\n case 11 /* LinkedKey */:\r\n if (token.value == null) {\r\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\r\n }\r\n linkedNode.key = parseLinkedKey(tokenizer, token.value || '');\r\n break;\r\n case 5 /* Named */:\r\n if (token.value == null) {\r\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\r\n }\r\n linkedNode.key = parseNamed(tokenizer, token.value || '');\r\n break;\r\n case 6 /* List */:\r\n if (token.value == null) {\r\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\r\n }\r\n linkedNode.key = parseList(tokenizer, token.value || '');\r\n break;\r\n case 7 /* Literal */:\r\n if (token.value == null) {\r\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\r\n }\r\n linkedNode.key = parseLiteral(tokenizer, token.value || '');\r\n break;\r\n default:\r\n // empty key\r\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_KEY, context.lastStartLoc, 0);\r\n const nextContext = tokenizer.context();\r\n const emptyLinkedKeyNode = startNode(7 /* LinkedKey */, nextContext.offset, nextContext.startLoc);\r\n emptyLinkedKeyNode.value = '';\r\n endNode(emptyLinkedKeyNode, nextContext.offset, nextContext.startLoc);\r\n linkedNode.key = emptyLinkedKeyNode;\r\n endNode(linkedNode, nextContext.offset, nextContext.startLoc);\r\n return {\r\n nextConsumeToken: token,\r\n node: linkedNode\r\n };\r\n }\r\n endNode(linkedNode, tokenizer.currentOffset(), tokenizer.currentPosition());\r\n return {\r\n node: linkedNode\r\n };\r\n }\r\n function parseMessage(tokenizer) {\r\n const context = tokenizer.context();\r\n const startOffset = context.currentType === 1 /* Pipe */\r\n ? tokenizer.currentOffset()\r\n : context.offset;\r\n const startLoc = context.currentType === 1 /* Pipe */\r\n ? context.endLoc\r\n : context.startLoc;\r\n const node = startNode(2 /* Message */, startOffset, startLoc);\r\n node.items = [];\r\n let nextToken = null;\r\n do {\r\n const token = nextToken || tokenizer.nextToken();\r\n nextToken = null;\r\n switch (token.type) {\r\n case 0 /* Text */:\r\n if (token.value == null) {\r\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\r\n }\r\n node.items.push(parseText(tokenizer, token.value || ''));\r\n break;\r\n case 6 /* List */:\r\n if (token.value == null) {\r\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\r\n }\r\n node.items.push(parseList(tokenizer, token.value || ''));\r\n break;\r\n case 5 /* Named */:\r\n if (token.value == null) {\r\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\r\n }\r\n node.items.push(parseNamed(tokenizer, token.value || ''));\r\n break;\r\n case 7 /* Literal */:\r\n if (token.value == null) {\r\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\r\n }\r\n node.items.push(parseLiteral(tokenizer, token.value || ''));\r\n break;\r\n case 8 /* LinkedAlias */:\r\n const parsed = parseLinked(tokenizer);\r\n node.items.push(parsed.node);\r\n nextToken = parsed.nextConsumeToken || null;\r\n break;\r\n }\r\n } while (context.currentType !== 14 /* EOF */ &&\r\n context.currentType !== 1 /* Pipe */);\r\n // adjust message node loc\r\n const endOffset = context.currentType === 1 /* Pipe */\r\n ? context.lastOffset\r\n : tokenizer.currentOffset();\r\n const endLoc = context.currentType === 1 /* Pipe */\r\n ? context.lastEndLoc\r\n : tokenizer.currentPosition();\r\n endNode(node, endOffset, endLoc);\r\n return node;\r\n }\r\n function parsePlural(tokenizer, offset, loc, msgNode) {\r\n const context = tokenizer.context();\r\n let hasEmptyMessage = msgNode.items.length === 0;\r\n const node = startNode(1 /* Plural */, offset, loc);\r\n node.cases = [];\r\n node.cases.push(msgNode);\r\n do {\r\n const msg = parseMessage(tokenizer);\r\n if (!hasEmptyMessage) {\r\n hasEmptyMessage = msg.items.length === 0;\r\n }\r\n node.cases.push(msg);\r\n } while (context.currentType !== 14 /* EOF */);\r\n if (hasEmptyMessage) {\r\n emitError(tokenizer, CompileErrorCodes.MUST_HAVE_MESSAGES_IN_PLURAL, loc, 0);\r\n }\r\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\r\n return node;\r\n }\r\n function parseResource(tokenizer) {\r\n const context = tokenizer.context();\r\n const { offset, startLoc } = context;\r\n const msgNode = parseMessage(tokenizer);\r\n if (context.currentType === 14 /* EOF */) {\r\n return msgNode;\r\n }\r\n else {\r\n return parsePlural(tokenizer, offset, startLoc, msgNode);\r\n }\r\n }\r\n function parse(source) {\r\n const tokenizer = createTokenizer(source, assign({}, options));\r\n const context = tokenizer.context();\r\n const node = startNode(0 /* Resource */, context.offset, context.startLoc);\r\n if (location && node.loc) {\r\n node.loc.source = source;\r\n }\r\n node.body = parseResource(tokenizer);\r\n // assert whether achieved to EOF\r\n if (context.currentType !== 14 /* EOF */) {\r\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, source[context.offset] || '');\r\n }\r\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\r\n return node;\r\n }\r\n return { parse };\r\n}\r\nfunction getTokenCaption(token) {\r\n if (token.type === 14 /* EOF */) {\r\n return 'EOF';\r\n }\r\n const name = (token.value || '').replace(/\\r?\\n/gu, '\\\\n');\r\n return name.length > 10 ? name.slice(0, 9) + '…' : name;\r\n}\n\nfunction createTransformer(ast, options = {} // eslint-disable-line\r\n) {\r\n const _context = {\r\n ast,\r\n helpers: new Set()\r\n };\r\n const context = () => _context;\r\n const helper = (name) => {\r\n _context.helpers.add(name);\r\n return name;\r\n };\r\n return { context, helper };\r\n}\r\nfunction traverseNodes(nodes, transformer) {\r\n for (let i = 0; i < nodes.length; i++) {\r\n traverseNode(nodes[i], transformer);\r\n }\r\n}\r\nfunction traverseNode(node, transformer) {\r\n // TODO: if we need pre-hook of transform, should be implemented to here\r\n switch (node.type) {\r\n case 1 /* Plural */:\r\n traverseNodes(node.cases, transformer);\r\n transformer.helper(\"plural\" /* PLURAL */);\r\n break;\r\n case 2 /* Message */:\r\n traverseNodes(node.items, transformer);\r\n break;\r\n case 6 /* Linked */:\r\n const linked = node;\r\n traverseNode(linked.key, transformer);\r\n transformer.helper(\"linked\" /* LINKED */);\r\n transformer.helper(\"type\" /* TYPE */);\r\n break;\r\n case 5 /* List */:\r\n transformer.helper(\"interpolate\" /* INTERPOLATE */);\r\n transformer.helper(\"list\" /* LIST */);\r\n break;\r\n case 4 /* Named */:\r\n transformer.helper(\"interpolate\" /* INTERPOLATE */);\r\n transformer.helper(\"named\" /* NAMED */);\r\n break;\r\n }\r\n // TODO: if we need post-hook of transform, should be implemented to here\r\n}\r\n// transform AST\r\nfunction transform(ast, options = {} // eslint-disable-line\r\n) {\r\n const transformer = createTransformer(ast);\r\n transformer.helper(\"normalize\" /* NORMALIZE */);\r\n // traverse\r\n ast.body && traverseNode(ast.body, transformer);\r\n // set meta information\r\n const context = transformer.context();\r\n ast.helpers = Array.from(context.helpers);\r\n}\n\nfunction createCodeGenerator(ast, options) {\r\n const { sourceMap, filename, breakLineCode, needIndent: _needIndent } = options;\r\n const _context = {\r\n source: ast.loc.source,\r\n filename,\r\n code: '',\r\n column: 1,\r\n line: 1,\r\n offset: 0,\r\n map: undefined,\r\n breakLineCode,\r\n needIndent: _needIndent,\r\n indentLevel: 0\r\n };\r\n const context = () => _context;\r\n function push(code, node) {\r\n _context.code += code;\r\n }\r\n function _newline(n, withBreakLine = true) {\r\n const _breakLineCode = withBreakLine ? breakLineCode : '';\r\n push(_needIndent ? _breakLineCode + ` `.repeat(n) : _breakLineCode);\r\n }\r\n function indent(withNewLine = true) {\r\n const level = ++_context.indentLevel;\r\n withNewLine && _newline(level);\r\n }\r\n function deindent(withNewLine = true) {\r\n const level = --_context.indentLevel;\r\n withNewLine && _newline(level);\r\n }\r\n function newline() {\r\n _newline(_context.indentLevel);\r\n }\r\n const helper = (key) => `_${key}`;\r\n const needIndent = () => _context.needIndent;\r\n return {\r\n context,\r\n push,\r\n indent,\r\n deindent,\r\n newline,\r\n helper,\r\n needIndent\r\n };\r\n}\r\nfunction generateLinkedNode(generator, node) {\r\n const { helper } = generator;\r\n generator.push(`${helper(\"linked\" /* LINKED */)}(`);\r\n generateNode(generator, node.key);\r\n if (node.modifier) {\r\n generator.push(`, `);\r\n generateNode(generator, node.modifier);\r\n generator.push(`, _type`);\r\n }\r\n else {\r\n generator.push(`, undefined, _type`);\r\n }\r\n generator.push(`)`);\r\n}\r\nfunction generateMessageNode(generator, node) {\r\n const { helper, needIndent } = generator;\r\n generator.push(`${helper(\"normalize\" /* NORMALIZE */)}([`);\r\n generator.indent(needIndent());\r\n const length = node.items.length;\r\n for (let i = 0; i < length; i++) {\r\n generateNode(generator, node.items[i]);\r\n if (i === length - 1) {\r\n break;\r\n }\r\n generator.push(', ');\r\n }\r\n generator.deindent(needIndent());\r\n generator.push('])');\r\n}\r\nfunction generatePluralNode(generator, node) {\r\n const { helper, needIndent } = generator;\r\n if (node.cases.length > 1) {\r\n generator.push(`${helper(\"plural\" /* PLURAL */)}([`);\r\n generator.indent(needIndent());\r\n const length = node.cases.length;\r\n for (let i = 0; i < length; i++) {\r\n generateNode(generator, node.cases[i]);\r\n if (i === length - 1) {\r\n break;\r\n }\r\n generator.push(', ');\r\n }\r\n generator.deindent(needIndent());\r\n generator.push(`])`);\r\n }\r\n}\r\nfunction generateResource(generator, node) {\r\n if (node.body) {\r\n generateNode(generator, node.body);\r\n }\r\n else {\r\n generator.push('null');\r\n }\r\n}\r\nfunction generateNode(generator, node) {\r\n const { helper } = generator;\r\n switch (node.type) {\r\n case 0 /* Resource */:\r\n generateResource(generator, node);\r\n break;\r\n case 1 /* Plural */:\r\n generatePluralNode(generator, node);\r\n break;\r\n case 2 /* Message */:\r\n generateMessageNode(generator, node);\r\n break;\r\n case 6 /* Linked */:\r\n generateLinkedNode(generator, node);\r\n break;\r\n case 8 /* LinkedModifier */:\r\n generator.push(JSON.stringify(node.value), node);\r\n break;\r\n case 7 /* LinkedKey */:\r\n generator.push(JSON.stringify(node.value), node);\r\n break;\r\n case 5 /* List */:\r\n generator.push(`${helper(\"interpolate\" /* INTERPOLATE */)}(${helper(\"list\" /* LIST */)}(${node.index}))`, node);\r\n break;\r\n case 4 /* Named */:\r\n generator.push(`${helper(\"interpolate\" /* INTERPOLATE */)}(${helper(\"named\" /* NAMED */)}(${JSON.stringify(node.key)}))`, node);\r\n break;\r\n case 9 /* Literal */:\r\n generator.push(JSON.stringify(node.value), node);\r\n break;\r\n case 3 /* Text */:\r\n generator.push(JSON.stringify(node.value), node);\r\n break;\r\n default:\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n throw new Error(`unhandled codegen node type: ${node.type}`);\r\n }\r\n }\r\n}\r\n// generate code from AST\r\nconst generate = (ast, options = {} // eslint-disable-line\r\n) => {\r\n const mode = isString(options.mode) ? options.mode : 'normal';\r\n const filename = isString(options.filename)\r\n ? options.filename\r\n : 'message.intl';\r\n const sourceMap = !!options.sourceMap;\r\n // prettier-ignore\r\n const breakLineCode = options.breakLineCode != null\r\n ? options.breakLineCode\r\n : mode === 'arrow'\r\n ? ';'\r\n : '\\n';\r\n const needIndent = options.needIndent ? options.needIndent : mode !== 'arrow';\r\n const helpers = ast.helpers || [];\r\n const generator = createCodeGenerator(ast, {\r\n mode,\r\n filename,\r\n sourceMap,\r\n breakLineCode,\r\n needIndent\r\n });\r\n generator.push(mode === 'normal' ? `function __msg__ (ctx) {` : `(ctx) => {`);\r\n generator.indent(needIndent);\r\n if (helpers.length > 0) {\r\n generator.push(`const { ${helpers.map(s => `${s}: _${s}`).join(', ')} } = ctx`);\r\n generator.newline();\r\n }\r\n generator.push(`return `);\r\n generateNode(generator, ast);\r\n generator.deindent(needIndent);\r\n generator.push(`}`);\r\n const { code, map } = generator.context();\r\n return {\r\n ast,\r\n code,\r\n map: map ? map.toJSON() : undefined // eslint-disable-line @typescript-eslint/no-explicit-any\r\n };\r\n};\n\nfunction baseCompile(source, options = {}) {\r\n const assignedOptions = assign({}, options);\r\n // parse source codes\r\n const parser = createParser(assignedOptions);\r\n const ast = parser.parse(source);\r\n // transform ASTs\r\n transform(ast, assignedOptions);\r\n // generate javascript codes\r\n return generate(ast, assignedOptions);\r\n}\n\nexport { CompileErrorCodes, ERROR_DOMAIN, LocationStub, baseCompile, createCompileError, createLocation, createParser, createPosition, defaultOnError, errorMessages };\n"],"names":["CompileErrorCodes","errorMessages","createCompileError","code","loc","options","domain","messages","args","msg","format","error","defaultOnError","createPosition","line","column","offset","createLocation","start","end","source","CHAR_SP","CHAR_CR","CHAR_LF","CHAR_LS","CHAR_PS","createScanner","str","_buf","_index","_line","_column","_peekOffset","isCRLF","index","isLF","isPS","isLS","isLineEnd","peekOffset","charAt","currentChar","currentPeek","next","peek","reset","resetPeek","skipToPeek","target","EOF","LITERAL_DELIMITER","ERROR_DOMAIN$1","createTokenizer","location","_scnr","currentOffset","currentPosition","_initLoc","_initOffset","_context","context","onError","emitError","pos","ctx","err","getToken","type","value","token","getEndToken","eat","scnr","ch","peekSpaces","buf","skipSpaces","isIdentifierStart","cc","isNumberStart","isNamedIdentifierStart","currentType","ret","isListIdentifierStart","isLiteralStart","isLinkedDotStart","isLinkedModifierStart","isLinkedDelimiterStart","isLinkedReferStart","fn","isPluralStart","detectModuloStart","spaces","isTextStart","hasSpace","prev","detectModulo","takeChar","takeIdentifierChar","takeDigit","takeHexDigit","getDigits","num","readModulo","readText","readNamedIdentifier","name","readListIdentifier","readLiteral","literal","x","readEscapeSequence","current","readUnicodeEscapeSequence","unicode","digits","sequence","i","readInvalidIdentifier","identifiers","closure","readLinkedModifier","readLinkedRefer","detect","readPlural","plural","readTokenInPlaceholder","readTokenInLinked","validNamedIdentifier","validListIdentifier","validLiteral","readToken","isModulo","nextToken","startLoc","endLoc","ERROR_DOMAIN","KNOWN_ESCAPES","fromEscapeSequence","match","codePoint4","codePoint6","codePoint","createParser","tokenzer","startNode","node","endNode","parseText","tokenizer","parseList","parseNamed","key","parseLiteral","parseLinkedModifier","getTokenCaption","parseLinkedKey","parseLinked","linkedNode","parsed","nextContext","emptyLinkedKeyNode","parseMessage","startOffset","endOffset","parsePlural","msgNode","hasEmptyMessage","parseResource","parse","assign","createTransformer","ast","traverseNodes","nodes","transformer","traverseNode","transform","createCodeGenerator","sourceMap","filename","breakLineCode","_needIndent","push","_newline","n","withBreakLine","_breakLineCode","indent","withNewLine","level","deindent","newline","generateLinkedNode","generator","helper","generateNode","generateMessageNode","needIndent","length","generatePluralNode","generateResource","generate","mode","isString","helpers","s","map","baseCompile","assignedOptions"],"mappings":"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","x_google_ignoreList":[0]}
|