diff options
Diffstat (limited to 'date-fns/src/locale/_lib/buildMatchPatternFn/index.js')
-rw-r--r-- | date-fns/src/locale/_lib/buildMatchPatternFn/index.js | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/date-fns/src/locale/_lib/buildMatchPatternFn/index.js b/date-fns/src/locale/_lib/buildMatchPatternFn/index.js new file mode 100644 index 0000000..faaabed --- /dev/null +++ b/date-fns/src/locale/_lib/buildMatchPatternFn/index.js @@ -0,0 +1,24 @@ +export default function buildMatchPatternFn (args) { + return function (dirtyString, dirtyOptions) { + var string = String(dirtyString) + var options = dirtyOptions || {} + + var matchResult = string.match(args.matchPattern) + if (!matchResult) { + return null + } + var matchedString = matchResult[0] + + var parseResult = string.match(args.parsePattern) + if (!parseResult) { + return null + } + var value = args.valueCallback ? args.valueCallback(parseResult[0]) : parseResult[0] + value = options.valueCallback ? options.valueCallback(value) : value + + return { + value: value, + rest: string.slice(matchedString.length) + } + } +} |