UNPKG

tell-me-when

Version:
2 lines (1 loc) 18.4 kB
{"version":3,"file":"ja-JP.mjs","names":["GrammarNode","EnglishGrammar","ParseRootNode","base","group","named","oneOf","longestOf","space","AmPmValue","kanjiNumberMap","Map","YearNode","FullYearNode","constructor","wrapped","year","input","yearText","substring","from","to","split","map","char","get","join","parseInt","JapaneseYear","parseAs","MonthNameNode","monthMap","month","monthText","substringOf","replace","Month","MonthNumNode","MonthName","DayOfMonthNode","DayOfMonthNumNode","dayOfMonth","dayText","DayOfMonth","DateNode","yearFns","_this$find","find","dateFns","monthFns","_ref","undefined","day","_this$find2","Date","maybe","HoursNode","hours","hoursText","Hours","MinutesNode","minutes","minutesText","Minutes","SecondsNode","seconds","secondsText","Seconds","TimeNode","_this$find3","_this$find4","_this$find5","amPm","_this$find6","AmPmNode","AM","PM","Error","AmPm","Time","DateTimeNode","date","_this$find7","time","_this$find8","DateTime","Range","RangeNode","RootNode","_ref2","Root","parse","grammar","tellMeWhen","when","options"],"sources":["src/ja-JP.ts"],"sourcesContent":["import { GrammarNode } from './util/GrammarNode'\nimport * as EnglishGrammar from './en-US'\nimport { ParseNode } from './util/ParseNode'\nimport type { DateFn } from './util/DateFn'\nimport { ParseRootNode } from './util/ParseRootNode'\nimport * as base from './util/parse'\n\nconst { group, named, oneOf, longestOf } = GrammarNode\nconst { space, AmPmValue } = EnglishGrammar\n\nconst kanjiNumberMap = new Map([\n ['〇', '0'],\n ['一', '1'],\n ['二', '2'],\n ['三', '3'],\n ['四', '4'],\n ['五', '5'],\n ['六', '6'],\n ['七', '7'],\n ['八', '8'],\n ['九', '9'],\n])\n\nclass YearNode extends EnglishGrammar.FullYearNode {\n constructor(public wrapped: ParseNode) {\n super(wrapped)\n }\n\n year(input: string) {\n const yearText = input\n .substring(this.from, this.to - 1)\n .split('')\n .map((char) => kanjiNumberMap.get(char) ?? char)\n .join('')\n return parseInt(yearText)\n }\n}\n\nconst JapaneseYear = named(\n 'JapaneseFullYear',\n /([0-9〇一二三四五六七八九]{1,4})年/\n).parseAs(YearNode)\n\nclass MonthNameNode extends EnglishGrammar.MonthNameNode {\n static monthMap = new Map([\n ['一月', 0],\n ['二月', 1],\n ['三月', 2],\n ['四月', 3],\n ['五月', 4],\n ['六月', 5],\n ['七月', 6],\n ['八月', 7],\n ['九月', 8],\n ['十月', 9],\n ['十一月', 10],\n ['十二月', 11],\n ['睦月', 0],\n ['如月', 1],\n ['弥生', 2],\n ['卯月', 3],\n ['皐月', 4],\n ['水無月', 5],\n ['文月', 6],\n ['葉月', 7],\n ['長月', 8],\n ['神無月', 9],\n ['神在月', 9],\n ['霜月', 10],\n ['師走', 11],\n ])\n\n month(input: string) {\n const monthText = this.substringOf(input).replace('〇', '')\n return MonthNameNode.monthMap.get(monthText)!\n }\n}\n\nconst Month = named('JapaneseMonth', /(1[0-2]|0?[1-9])月/).parseAs(\n EnglishGrammar.MonthNumNode\n)\n\nconst MonthName = named(\n 'JapaneseMonthName',\n /((?:〇?[一二三四五六七八九]|十[一二]?)月|睦月|如月|弥生|卯月|皐月|水無月|文月|葉月|長月|神[無在]月|霜月|師走)/\n).parseAs(MonthNameNode)\n\nclass DayOfMonthNode extends EnglishGrammar.DayOfMonthNumNode {\n constructor(public wrapped: ParseNode) {\n super(wrapped)\n }\n\n dayOfMonth(input: string) {\n const dayText = input.substring(this.from, this.to - 1)\n switch (dayText) {\n case '十':\n return 10\n default:\n return parseInt(\n dayText\n .replace(/^十/, '一')\n .replace(/十$/, '〇')\n .replace('十', '')\n .split('')\n .map((char) => kanjiNumberMap.get(char) ?? char)\n .join('')\n )\n }\n }\n}\n\nconst DayOfMonth = named(\n 'JapaneseDayOfMonth',\n /([12][0-9]|3[01]|0?[1-9]|[一二][〇一二三四五六七八九]|三[〇一]|[二三]?十[一二三四五六七八九]?|〇?[一二三四五六七八九])日/\n).parseAs(DayOfMonthNode)\n\nclass DateNode extends EnglishGrammar.DateNode {\n yearFns(input: string): DateFn[] | undefined {\n return this.find(YearNode)?.dateFns(input)\n }\n monthFns(input: string): DateFn[] | undefined {\n const month = (\n this.find(MonthNameNode) || this.find(EnglishGrammar.MonthNumNode)\n )?.month(input)\n return month != null ? [['setMonth', month]] : undefined\n }\n day(input: string) {\n return this.find(DayOfMonthNode)?.dayOfMonth(input)\n }\n}\n\nconst Date = named(\n 'JapaneseDate',\n longestOf(\n group(\n JapaneseYear,\n group(oneOf(Month, MonthName), DayOfMonth.maybe()).maybe()\n ),\n group(oneOf(Month, MonthName), DayOfMonth.maybe()),\n DayOfMonth\n )\n).parseAs(DateNode)\n\nclass HoursNode extends EnglishGrammar.HoursNode {\n hours(input: string): number {\n const hoursText = input.substring(this.from, this.to - 1)\n switch (hoursText) {\n case '零':\n return 0\n case '十':\n return 10\n default:\n return parseInt(\n hoursText\n .replace(/^十/, '一')\n .replace(/十$/, '〇')\n .replace('十', '')\n .split('')\n .map((char) => kanjiNumberMap.get(char) ?? char)\n .join('')\n )\n }\n }\n}\nconst Hours = named(\n 'JapaneseHours',\n /(2[0-3]|[01]?[0-9]|二?十[一二三]?|十?[一二三四五六七八九]|零)時/\n).parseAs(HoursNode)\n\nclass MinutesNode extends EnglishGrammar.MinutesNode {\n minutes(input: string) {\n const minutesText = input.substring(this.from, this.to - 1)\n switch (minutesText) {\n case '零':\n return 0\n case '十':\n return 10\n default:\n return parseInt(\n minutesText\n .replace(/^十/, '一')\n .replace(/十$/, '〇')\n .replace('十', '')\n .split('')\n .map((char) => kanjiNumberMap.get(char) ?? char)\n .join('')\n )\n }\n }\n}\nconst Minutes = named(\n 'JapaneseMinutes',\n /([0-5]?[0-9]|[二三四五]?十[一二三四五六七八九]?|[一二三四五六七八九]|零)分/\n).parseAs(MinutesNode)\n\nclass SecondsNode extends EnglishGrammar.SecondsNode {\n seconds(input: string): number {\n const secondsText = input.substring(this.from, this.to - 1)\n switch (secondsText) {\n case '零':\n return 0\n case '十':\n return 10\n default:\n return parseInt(\n secondsText\n .replace(/^十/, '一')\n .replace(/十$/, '〇')\n .replace('十', '')\n .split('')\n .map((char) => kanjiNumberMap.get(char) ?? char)\n .join('')\n )\n }\n }\n}\nconst Seconds = named(\n 'JapaneseSeconds',\n /([0-5]?[0-9]|[二三四五]?十[一二三四五六七八九]?|[一二三四五六七八九]|零)秒/\n).parseAs(SecondsNode)\n\nclass TimeNode extends EnglishGrammar.TimeNode {\n hours(input: string) {\n return this.find(HoursNode)?.hours(input)\n }\n minutes(input: string) {\n return this.find(MinutesNode)?.minutes(input)\n }\n seconds(input: string) {\n return this.find(SecondsNode)?.seconds(input)\n }\n amPm(input: string) {\n return this.find(AmPmNode)?.amPm(input)\n }\n}\n\nclass AmPmNode extends EnglishGrammar.AmPmNode {\n amPm(input: string) {\n switch (this.substringOf(input)) {\n case '午前':\n return AmPmValue.AM\n case '午後':\n return AmPmValue.PM\n default:\n throw new Error(`unexpected`)\n }\n }\n}\nconst AmPm = named('JapaneseAmPm', /午[前後]/).parseAs(AmPmNode)\n\nconst Time = named(\n 'Time',\n longestOf(\n group(AmPm.maybe(), Hours, group(Minutes, Seconds.maybe())),\n group(AmPm.maybe(), Hours, group(Minutes, Seconds.maybe()).maybe())\n )\n).parseAs(TimeNode)\n\nexport class DateTimeNode extends EnglishGrammar.DateTimeNode {\n date(input: string): DateFn[] | undefined {\n return this.find(DateNode)?.dateFns(input)\n }\n time(input: string): DateFn[] | undefined {\n return this.find(TimeNode)?.dateFns(input)\n }\n}\n\nexport const DateTime = named(\n 'JapaneseDateTime',\n longestOf(Date, Time, group(Date, group(space.maybe(), Time)))\n).parseAs(DateTimeNode)\n\nexport const Range = named(\n 'Range',\n group(\n named('RangeStart', DateTime),\n group(\n space.maybe(),\n oneOf('から', '~', '-', 'ー', '~', '-'),\n space.maybe()\n ),\n named('RangeEnd', DateTime),\n group(space.maybe(), 'まで').maybe()\n )\n).parseAs(EnglishGrammar.RangeNode)\n\nexport class RootNode extends ParseRootNode {\n dateFns(input: string): DateFn[] {\n return (\n (this.find(EnglishGrammar.RangeNode) || this.find(DateTimeNode))?.dateFns(\n input\n ) || []\n )\n }\n}\n\nexport const Root = group(\n space.maybe(),\n oneOf(Range, DateTime),\n space.maybe()\n).parseAs(RootNode)\n\nexport function parse(input: string) {\n return base.parse(input, { grammar: Root })\n}\n\nexport function tellMeWhen(when: string, options?: { now?: Date }) {\n return base.tellMeWhen(when, { ...options, grammar: Root })\n}\n"],"mappings":"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","ignoreList":[]}