summaryrefslogtreecommitdiff
path: root/node_modules/locutus/php/strings/nl_langinfo.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/locutus/php/strings/nl_langinfo.js')
-rw-r--r--node_modules/locutus/php/strings/nl_langinfo.js108
1 files changed, 108 insertions, 0 deletions
diff --git a/node_modules/locutus/php/strings/nl_langinfo.js b/node_modules/locutus/php/strings/nl_langinfo.js
new file mode 100644
index 0000000..5acb293
--- /dev/null
+++ b/node_modules/locutus/php/strings/nl_langinfo.js
@@ -0,0 +1,108 @@
+'use strict';
+
+module.exports = function nl_langinfo(item) {
+ // eslint-disable-line camelcase
+ // discuss at: http://locutus.io/php/nl_langinfo/
+ // original by: Brett Zamir (http://brett-zamir.me)
+ // example 1: nl_langinfo('DAY_1')
+ // returns 1: 'Sunday'
+
+ var setlocale = require('../strings/setlocale');
+
+ setlocale('LC_ALL', 0); // Ensure locale data is available
+
+ var $global = typeof window !== 'undefined' ? window : global;
+ $global.$locutus = $global.$locutus || {};
+ var $locutus = $global.$locutus;
+ $locutus.php = $locutus.php || {};
+
+ var loc = $locutus.php.locales[$locutus.php.localeCategories.LC_TIME];
+ if (item.indexOf('ABDAY_') === 0) {
+ return loc.LC_TIME.a[parseInt(item.replace(/^ABDAY_/, ''), 10) - 1];
+ } else if (item.indexOf('DAY_') === 0) {
+ return loc.LC_TIME.A[parseInt(item.replace(/^DAY_/, ''), 10) - 1];
+ } else if (item.indexOf('ABMON_') === 0) {
+ return loc.LC_TIME.b[parseInt(item.replace(/^ABMON_/, ''), 10) - 1];
+ } else if (item.indexOf('MON_') === 0) {
+ return loc.LC_TIME.B[parseInt(item.replace(/^MON_/, ''), 10) - 1];
+ } else {
+ switch (item) {
+ // More LC_TIME
+ case 'AM_STR':
+ return loc.LC_TIME.p[0];
+ case 'PM_STR':
+ return loc.LC_TIME.p[1];
+ case 'D_T_FMT':
+ return loc.LC_TIME.c;
+ case 'D_FMT':
+ return loc.LC_TIME.x;
+ case 'T_FMT':
+ return loc.LC_TIME.X;
+ case 'T_FMT_AMPM':
+ return loc.LC_TIME.r;
+ case 'ERA':
+ case 'ERA_YEAR':
+ case 'ERA_D_T_FMT':
+ case 'ERA_D_FMT':
+ case 'ERA_T_FMT':
+ // all fall-throughs
+ return loc.LC_TIME[item];
+ }
+ loc = $locutus.php.locales[$locutus.php.localeCategories.LC_MONETARY];
+ if (item === 'CRNCYSTR') {
+ // alias
+ item = 'CURRENCY_SYMBOL';
+ }
+ switch (item) {
+ case 'INT_CURR_SYMBOL':
+ case 'CURRENCY_SYMBOL':
+ case 'MON_DECIMAL_POINT':
+ case 'MON_THOUSANDS_SEP':
+ case 'POSITIVE_SIGN':
+ case 'NEGATIVE_SIGN':
+ case 'INT_FRAC_DIGITS':
+ case 'FRAC_DIGITS':
+ case 'P_CS_PRECEDES':
+ case 'P_SEP_BY_SPACE':
+ case 'N_CS_PRECEDES':
+ case 'N_SEP_BY_SPACE':
+ case 'P_SIGN_POSN':
+ case 'N_SIGN_POSN':
+ // all fall-throughs
+ return loc.LC_MONETARY[item.toLowerCase()];
+ case 'MON_GROUPING':
+ // Same as above, or return something different since this returns an array?
+ return loc.LC_MONETARY[item.toLowerCase()];
+ }
+ loc = $locutus.php.locales[$locutus.php.localeCategories.LC_NUMERIC];
+ switch (item) {
+ case 'RADIXCHAR':
+ case 'DECIMAL_POINT':
+ // Fall-through
+ return loc.LC_NUMERIC[item.toLowerCase()];
+ case 'THOUSEP':
+ case 'THOUSANDS_SEP':
+ // Fall-through
+ return loc.LC_NUMERIC[item.toLowerCase()];
+ case 'GROUPING':
+ // Same as above, or return something different since this returns an array?
+ return loc.LC_NUMERIC[item.toLowerCase()];
+ }
+ loc = $locutus.php.locales[$locutus.php.localeCategories.LC_MESSAGES];
+ switch (item) {
+ case 'YESEXPR':
+ case 'NOEXPR':
+ case 'YESSTR':
+ case 'NOSTR':
+ // all fall-throughs
+ return loc.LC_MESSAGES[item];
+ }
+ loc = $locutus.php.locales[$locutus.php.localeCategories.LC_CTYPE];
+ if (item === 'CODESET') {
+ return loc.LC_CTYPE[item];
+ }
+
+ return false;
+ }
+};
+//# sourceMappingURL=nl_langinfo.js.map \ No newline at end of file