summaryrefslogtreecommitdiff
path: root/date-fns/src/locale/_lib
diff options
context:
space:
mode:
authorSebastian <sebasjm@gmail.com>2021-08-23 16:46:06 -0300
committerSebastian <sebasjm@gmail.com>2021-08-23 16:48:30 -0300
commit38acabfa6089ab8ac469c12b5f55022fb96935e5 (patch)
tree453dbf70000cc5e338b06201af1eaca8343f8f73 /date-fns/src/locale/_lib
parentf26125e039143b92dc0d84e7775f508ab0cdcaa8 (diff)
downloadnode-vendor-38acabfa6089ab8ac469c12b5f55022fb96935e5.tar.gz
node-vendor-38acabfa6089ab8ac469c12b5f55022fb96935e5.tar.bz2
node-vendor-38acabfa6089ab8ac469c12b5f55022fb96935e5.zip
added web vendorsHEADmaster
Diffstat (limited to 'date-fns/src/locale/_lib')
-rw-r--r--date-fns/src/locale/_lib/buildFormatLongFn/index.js8
-rw-r--r--date-fns/src/locale/_lib/buildLocalizeFn/index.js23
-rw-r--r--date-fns/src/locale/_lib/buildMatchFn/index.js56
-rw-r--r--date-fns/src/locale/_lib/buildMatchPatternFn/index.js24
4 files changed, 111 insertions, 0 deletions
diff --git a/date-fns/src/locale/_lib/buildFormatLongFn/index.js b/date-fns/src/locale/_lib/buildFormatLongFn/index.js
new file mode 100644
index 0000000..44da3fc
--- /dev/null
+++ b/date-fns/src/locale/_lib/buildFormatLongFn/index.js
@@ -0,0 +1,8 @@
+export default function buildFormatLongFn (args) {
+ return function (dirtyOptions) {
+ var options = dirtyOptions || {}
+ var width = options.width ? String(options.width) : args.defaultWidth
+ var format = args.formats[width] || args.formats[args.defaultWidth]
+ return format
+ }
+}
diff --git a/date-fns/src/locale/_lib/buildLocalizeFn/index.js b/date-fns/src/locale/_lib/buildLocalizeFn/index.js
new file mode 100644
index 0000000..360d8a7
--- /dev/null
+++ b/date-fns/src/locale/_lib/buildLocalizeFn/index.js
@@ -0,0 +1,23 @@
+export default function buildLocalizeFn(args) {
+ return function(dirtyIndex, dirtyOptions) {
+ var options = dirtyOptions || {}
+
+ var context = options.context ? String(options.context) : 'standalone'
+
+ var valuesArray
+ if (context === 'formatting' && args.formattingValues) {
+ const defaultWidth = args.defaultFormattingWidth || args.defaultWidth
+ const width = options.width ? String(options.width) : defaultWidth
+ valuesArray =
+ args.formattingValues[width] || args.formattingValues[defaultWidth]
+ } else {
+ const defaultWidth = args.defaultWidth
+ const width = options.width ? String(options.width) : args.defaultWidth
+ valuesArray = args.values[width] || args.values[defaultWidth]
+ }
+ var index = args.argumentCallback
+ ? args.argumentCallback(dirtyIndex)
+ : dirtyIndex
+ return valuesArray[index]
+ }
+}
diff --git a/date-fns/src/locale/_lib/buildMatchFn/index.js b/date-fns/src/locale/_lib/buildMatchFn/index.js
new file mode 100644
index 0000000..a5bd529
--- /dev/null
+++ b/date-fns/src/locale/_lib/buildMatchFn/index.js
@@ -0,0 +1,56 @@
+export default function buildMatchFn(args) {
+ return function(dirtyString, dirtyOptions) {
+ var string = String(dirtyString)
+ var options = dirtyOptions || {}
+ var width = options.width
+
+ var matchPattern =
+ (width && args.matchPatterns[width]) ||
+ args.matchPatterns[args.defaultMatchWidth]
+ var matchResult = string.match(matchPattern)
+
+ if (!matchResult) {
+ return null
+ }
+ var matchedString = matchResult[0]
+
+ var parsePatterns =
+ (width && args.parsePatterns[width]) ||
+ args.parsePatterns[args.defaultParseWidth]
+
+ var value
+ if (Object.prototype.toString.call(parsePatterns) === '[object Array]') {
+ value = findIndex(parsePatterns, function(pattern) {
+ return pattern.test(matchedString)
+ })
+ } else {
+ value = findKey(parsePatterns, function(pattern) {
+ return pattern.test(matchedString)
+ })
+ }
+
+ value = args.valueCallback ? args.valueCallback(value) : value
+ value = options.valueCallback ? options.valueCallback(value) : value
+
+ return {
+ value: value,
+ rest: string.slice(matchedString.length)
+ }
+ }
+}
+
+function findKey(object, predicate) {
+ for (var key in object) {
+ if (object.hasOwnProperty(key) && predicate(object[key])) {
+ return key
+ }
+ }
+}
+
+function findIndex(array, predicate) {
+ for (var key = 0; key < array.length; key++) {
+ if (predicate(array[key])) {
+ return key
+ }
+ }
+}
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)
+ }
+ }
+}