i18next-xhr-backend
Advanced tools
Comparing version 1.0.1 to 1.1.0
@@ -0,5 +1,6 @@ | ||
### 1.1.0 | ||
- allows loadPath to be a function [PR236](https://github.com/i18next/i18next-xhr-backend/pull/236) | ||
### 1.0.1 | ||
- change amd export to unnamed | ||
### 1.0.0 | ||
- initial v1 |
@@ -113,4 +113,9 @@ 'use strict'; | ||
value: function readMulti(languages, namespaces, callback) { | ||
var url = this.services.interpolator.interpolate(this.options.loadPath, { lng: languages.join('+'), ns: namespaces.join('+') }); | ||
var loadPath = this.options.loadPath; | ||
if (typeof this.options.loadPath === 'function') { | ||
loadPath = this.options.loadPath(languages, namespaces); | ||
} | ||
var url = this.services.interpolator.interpolate(loadPath, { lng: languages.join('+'), ns: namespaces.join('+') }); | ||
this.loadUrl(url, callback); | ||
@@ -121,4 +126,9 @@ } | ||
value: function read(language, namespace, callback) { | ||
var url = this.services.interpolator.interpolate(this.options.loadPath, { lng: language, ns: namespace }); | ||
var loadPath = this.options.loadPath; | ||
if (typeof this.options.loadPath === 'function') { | ||
loadPath = this.options.loadPath([language], [namespace]); | ||
} | ||
var url = this.services.interpolator.interpolate(loadPath, { lng: language, ns: namespace }); | ||
this.loadUrl(url, callback); | ||
@@ -125,0 +135,0 @@ } |
@@ -0,1 +1,7 @@ | ||
'use strict'; | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); | ||
@@ -5,6 +11,10 @@ | ||
var _utils = require('./utils'); | ||
var utils = _interopRequireWildcard(_utils); | ||
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } | ||
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } | ||
import * as utils from './utils'; | ||
// https://gist.github.com/Xeoncross/7663273 | ||
@@ -104,4 +114,9 @@ function ajax(url, options, callback, data, cache) { | ||
value: function readMulti(languages, namespaces, callback) { | ||
var url = this.services.interpolator.interpolate(this.options.loadPath, { lng: languages.join('+'), ns: namespaces.join('+') }); | ||
var loadPath = this.options.loadPath; | ||
if (typeof this.options.loadPath === 'function') { | ||
loadPath = this.options.loadPath(languages, namespaces); | ||
} | ||
var url = this.services.interpolator.interpolate(loadPath, { lng: languages.join('+'), ns: namespaces.join('+') }); | ||
this.loadUrl(url, callback); | ||
@@ -112,4 +127,9 @@ } | ||
value: function read(language, namespace, callback) { | ||
var url = this.services.interpolator.interpolate(this.options.loadPath, { lng: language, ns: namespace }); | ||
var loadPath = this.options.loadPath; | ||
if (typeof this.options.loadPath === 'function') { | ||
loadPath = this.options.loadPath([language], [namespace]); | ||
} | ||
var url = this.services.interpolator.interpolate(loadPath, { lng: language, ns: namespace }); | ||
this.loadUrl(url, callback); | ||
@@ -163,2 +183,2 @@ } | ||
export default Backend; | ||
exports.default = Backend; |
@@ -0,1 +1,8 @@ | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
exports.defaults = defaults; | ||
exports.extend = extend; | ||
var arr = []; | ||
@@ -5,3 +12,3 @@ var each = arr.forEach; | ||
export function defaults(obj) { | ||
function defaults(obj) { | ||
each.call(slice.call(arguments, 1), function (source) { | ||
@@ -17,3 +24,3 @@ if (source) { | ||
export function extend(obj) { | ||
function extend(obj) { | ||
each.call(slice.call(arguments, 1), function (source) { | ||
@@ -20,0 +27,0 @@ if (source) { |
@@ -145,4 +145,9 @@ (function (global, factory) { | ||
value: function readMulti(languages, namespaces, callback) { | ||
var url = this.services.interpolator.interpolate(this.options.loadPath, { lng: languages.join('+'), ns: namespaces.join('+') }); | ||
var loadPath = this.options.loadPath; | ||
if (typeof this.options.loadPath === 'function') { | ||
loadPath = this.options.loadPath(languages, namespaces); | ||
} | ||
var url = this.services.interpolator.interpolate(loadPath, { lng: languages.join('+'), ns: namespaces.join('+') }); | ||
this.loadUrl(url, callback); | ||
@@ -153,4 +158,9 @@ } | ||
value: function read(language, namespace, callback) { | ||
var url = this.services.interpolator.interpolate(this.options.loadPath, { lng: language, ns: namespace }); | ||
var loadPath = this.options.loadPath; | ||
if (typeof this.options.loadPath === 'function') { | ||
loadPath = this.options.loadPath([language], [namespace]); | ||
} | ||
var url = this.services.interpolator.interpolate(loadPath, { lng: language, ns: namespace }); | ||
this.loadUrl(url, callback); | ||
@@ -157,0 +167,0 @@ } |
@@ -1,1 +0,1 @@ | ||
!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define(n):t.i18nextXHRBackend=n()}(this,function(){"use strict";function t(t){return i.call(a.call(arguments,1),function(n){if(n)for(var e in n)void 0===t[e]&&(t[e]=n[e])}),t}function n(t,n,e,o,i){if(o&&"object"===("undefined"==typeof o?"undefined":r(o))){var a="",s=encodeURIComponent;for(var l in o)a+="&"+s(l)+"="+s(o[l]);o=a.slice(1)+(i?"":"&_t="+new Date)}try{var c=new(XMLHttpRequest||ActiveXObject)("MSXML2.XMLHTTP.3.0");c.open(o?"POST":"GET",t,1),n.crossDomain||c.setRequestHeader("X-Requested-With","XMLHttpRequest"),o&&c.setRequestHeader("Content-type","application/x-www-form-urlencoded"),c.onreadystatechange=function(){c.readyState>3&&e&&e(c.responseText,c)},c.send(o)}catch(t){window.console&&console.log(t)}}function e(){return{loadPath:"/locales/{{lng}}/{{ns}}.json",addPath:"locales/add/{{lng}}/{{ns}}",allowMultiLoading:!1,parse:JSON.parse,crossDomain:!1,ajax:n}}var o=[],i=o.forEach,a=o.slice,r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol?"symbol":typeof t},s=function(t,n){if(!(t instanceof n))throw new TypeError("Cannot call a class as a function")},l=function(){function t(t,n){for(var e=0;e<n.length;e++){var o=n[e];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(n,e,o){return e&&t(n.prototype,e),o&&t(n,o),n}}(),c=function(){function n(t){var e=arguments.length<=1||void 0===arguments[1]?{}:arguments[1];s(this,n),this.init(t,e),this.type="backend"}return l(n,[{key:"init",value:function(n){var o=arguments.length<=1||void 0===arguments[1]?{}:arguments[1];this.services=n,this.options=t(o,this.options||{},e())}},{key:"readMulti",value:function(t,n,e){var o=this.services.interpolator.interpolate(this.options.loadPath,{lng:t.join("+"),ns:n.join("+")});this.loadUrl(o,e)}},{key:"read",value:function(t,n,e){var o=this.services.interpolator.interpolate(this.options.loadPath,{lng:t,ns:n});this.loadUrl(o,e)}},{key:"loadUrl",value:function(t,n){var e=this;this.options.ajax(t,this.options,function(o,i){if(i.status>=500&&i.status<600)return n("failed loading "+t,!0);if(i.status>=400&&i.status<500)return n("failed loading "+t,!1);var a=void 0,r=void 0;try{a=e.options.parse(o,t)}catch(n){r="failed parsing "+t+" to json"}return r?n(r,!1):void n(null,a)})}},{key:"create",value:function(t,n,e,o){var i=this;"string"==typeof t&&(t=[t]);var a={};a[e]=o||"",t.forEach(function(t){var e=i.services.interpolator.interpolate(i.options.addPath,{lng:t,ns:n});i.options.ajax(e,i.options,function(t,n){},a)})}}]),n}();return c.type="backend",c}); | ||
!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define(n):t.i18nextXHRBackend=n()}(this,function(){"use strict";function t(t){return i.call(a.call(arguments,1),function(n){if(n)for(var o in n)void 0===t[o]&&(t[o]=n[o])}),t}function n(t,n,o,e,i){if(e&&"object"===("undefined"==typeof e?"undefined":r(e))){var a="",s=encodeURIComponent;for(var l in e)a+="&"+s(l)+"="+s(e[l]);e=a.slice(1)+(i?"":"&_t="+new Date)}try{var c=new(XMLHttpRequest||ActiveXObject)("MSXML2.XMLHTTP.3.0");c.open(e?"POST":"GET",t,1),n.crossDomain||c.setRequestHeader("X-Requested-With","XMLHttpRequest"),e&&c.setRequestHeader("Content-type","application/x-www-form-urlencoded"),c.onreadystatechange=function(){c.readyState>3&&o&&o(c.responseText,c)},c.send(e)}catch(t){window.console&&console.log(t)}}function o(){return{loadPath:"/locales/{{lng}}/{{ns}}.json",addPath:"locales/add/{{lng}}/{{ns}}",allowMultiLoading:!1,parse:JSON.parse,crossDomain:!1,ajax:n}}var e=[],i=e.forEach,a=e.slice,r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol?"symbol":typeof t},s=function(t,n){if(!(t instanceof n))throw new TypeError("Cannot call a class as a function")},l=function(){function t(t,n){for(var o=0;o<n.length;o++){var e=n[o];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(t,e.key,e)}}return function(n,o,e){return o&&t(n.prototype,o),e&&t(n,e),n}}(),c=function(){function n(t){var o=arguments.length<=1||void 0===arguments[1]?{}:arguments[1];s(this,n),this.init(t,o),this.type="backend"}return l(n,[{key:"init",value:function(n){var e=arguments.length<=1||void 0===arguments[1]?{}:arguments[1];this.services=n,this.options=t(e,this.options||{},o())}},{key:"readMulti",value:function(t,n,o){var e=this.options.loadPath;"function"==typeof this.options.loadPath&&(e=this.options.loadPath(t,n));var i=this.services.interpolator.interpolate(e,{lng:t.join("+"),ns:n.join("+")});this.loadUrl(i,o)}},{key:"read",value:function(t,n,o){var e=this.options.loadPath;"function"==typeof this.options.loadPath&&(e=this.options.loadPath([t],[n]));var i=this.services.interpolator.interpolate(e,{lng:t,ns:n});this.loadUrl(i,o)}},{key:"loadUrl",value:function(t,n){var o=this;this.options.ajax(t,this.options,function(e,i){if(i.status>=500&&i.status<600)return n("failed loading "+t,!0);if(i.status>=400&&i.status<500)return n("failed loading "+t,!1);var a=void 0,r=void 0;try{a=o.options.parse(e,t)}catch(n){r="failed parsing "+t+" to json"}return r?n(r,!1):void n(null,a)})}},{key:"create",value:function(t,n,o,e){var i=this;"string"==typeof t&&(t=[t]);var a={};a[o]=e||"",t.forEach(function(t){var o=i.services.interpolator.interpolate(i.options.addPath,{lng:t,ns:n});i.options.ajax(o,i.options,function(t,n){},a)})}}]),n}();return c.type="backend",c}); |
@@ -145,4 +145,9 @@ (function (global, factory) { | ||
value: function readMulti(languages, namespaces, callback) { | ||
var url = this.services.interpolator.interpolate(this.options.loadPath, { lng: languages.join('+'), ns: namespaces.join('+') }); | ||
var loadPath = this.options.loadPath; | ||
if (typeof this.options.loadPath === 'function') { | ||
loadPath = this.options.loadPath(languages, namespaces); | ||
} | ||
var url = this.services.interpolator.interpolate(loadPath, { lng: languages.join('+'), ns: namespaces.join('+') }); | ||
this.loadUrl(url, callback); | ||
@@ -153,4 +158,9 @@ } | ||
value: function read(language, namespace, callback) { | ||
var url = this.services.interpolator.interpolate(this.options.loadPath, { lng: language, ns: namespace }); | ||
var loadPath = this.options.loadPath; | ||
if (typeof this.options.loadPath === 'function') { | ||
loadPath = this.options.loadPath([language], [namespace]); | ||
} | ||
var url = this.services.interpolator.interpolate(loadPath, { lng: language, ns: namespace }); | ||
this.loadUrl(url, callback); | ||
@@ -157,0 +167,0 @@ } |
@@ -1,1 +0,1 @@ | ||
!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define(n):t.i18nextXHRBackend=n()}(this,function(){"use strict";function t(t){return i.call(a.call(arguments,1),function(n){if(n)for(var e in n)void 0===t[e]&&(t[e]=n[e])}),t}function n(t,n,e,o,i){if(o&&"object"===("undefined"==typeof o?"undefined":r(o))){var a="",s=encodeURIComponent;for(var l in o)a+="&"+s(l)+"="+s(o[l]);o=a.slice(1)+(i?"":"&_t="+new Date)}try{var c=new(XMLHttpRequest||ActiveXObject)("MSXML2.XMLHTTP.3.0");c.open(o?"POST":"GET",t,1),n.crossDomain||c.setRequestHeader("X-Requested-With","XMLHttpRequest"),o&&c.setRequestHeader("Content-type","application/x-www-form-urlencoded"),c.onreadystatechange=function(){c.readyState>3&&e&&e(c.responseText,c)},c.send(o)}catch(t){window.console&&console.log(t)}}function e(){return{loadPath:"/locales/{{lng}}/{{ns}}.json",addPath:"locales/add/{{lng}}/{{ns}}",allowMultiLoading:!1,parse:JSON.parse,crossDomain:!1,ajax:n}}var o=[],i=o.forEach,a=o.slice,r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol?"symbol":typeof t},s=function(t,n){if(!(t instanceof n))throw new TypeError("Cannot call a class as a function")},l=function(){function t(t,n){for(var e=0;e<n.length;e++){var o=n[e];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(n,e,o){return e&&t(n.prototype,e),o&&t(n,o),n}}(),c=function(){function n(t){var e=arguments.length<=1||void 0===arguments[1]?{}:arguments[1];s(this,n),this.init(t,e),this.type="backend"}return l(n,[{key:"init",value:function(n){var o=arguments.length<=1||void 0===arguments[1]?{}:arguments[1];this.services=n,this.options=t(o,this.options||{},e())}},{key:"readMulti",value:function(t,n,e){var o=this.services.interpolator.interpolate(this.options.loadPath,{lng:t.join("+"),ns:n.join("+")});this.loadUrl(o,e)}},{key:"read",value:function(t,n,e){var o=this.services.interpolator.interpolate(this.options.loadPath,{lng:t,ns:n});this.loadUrl(o,e)}},{key:"loadUrl",value:function(t,n){var e=this;this.options.ajax(t,this.options,function(o,i){if(i.status>=500&&i.status<600)return n("failed loading "+t,!0);if(i.status>=400&&i.status<500)return n("failed loading "+t,!1);var a=void 0,r=void 0;try{a=e.options.parse(o,t)}catch(n){r="failed parsing "+t+" to json"}return r?n(r,!1):void n(null,a)})}},{key:"create",value:function(t,n,e,o){var i=this;"string"==typeof t&&(t=[t]);var a={};a[e]=o||"",t.forEach(function(t){var e=i.services.interpolator.interpolate(i.options.addPath,{lng:t,ns:n});i.options.ajax(e,i.options,function(t,n){},a)})}}]),n}();return c.type="backend",c}); | ||
!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define(n):t.i18nextXHRBackend=n()}(this,function(){"use strict";function t(t){return i.call(a.call(arguments,1),function(n){if(n)for(var o in n)void 0===t[o]&&(t[o]=n[o])}),t}function n(t,n,o,e,i){if(e&&"object"===("undefined"==typeof e?"undefined":r(e))){var a="",s=encodeURIComponent;for(var l in e)a+="&"+s(l)+"="+s(e[l]);e=a.slice(1)+(i?"":"&_t="+new Date)}try{var c=new(XMLHttpRequest||ActiveXObject)("MSXML2.XMLHTTP.3.0");c.open(e?"POST":"GET",t,1),n.crossDomain||c.setRequestHeader("X-Requested-With","XMLHttpRequest"),e&&c.setRequestHeader("Content-type","application/x-www-form-urlencoded"),c.onreadystatechange=function(){c.readyState>3&&o&&o(c.responseText,c)},c.send(e)}catch(t){window.console&&console.log(t)}}function o(){return{loadPath:"/locales/{{lng}}/{{ns}}.json",addPath:"locales/add/{{lng}}/{{ns}}",allowMultiLoading:!1,parse:JSON.parse,crossDomain:!1,ajax:n}}var e=[],i=e.forEach,a=e.slice,r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol?"symbol":typeof t},s=function(t,n){if(!(t instanceof n))throw new TypeError("Cannot call a class as a function")},l=function(){function t(t,n){for(var o=0;o<n.length;o++){var e=n[o];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(t,e.key,e)}}return function(n,o,e){return o&&t(n.prototype,o),e&&t(n,e),n}}(),c=function(){function n(t){var o=arguments.length<=1||void 0===arguments[1]?{}:arguments[1];s(this,n),this.init(t,o),this.type="backend"}return l(n,[{key:"init",value:function(n){var e=arguments.length<=1||void 0===arguments[1]?{}:arguments[1];this.services=n,this.options=t(e,this.options||{},o())}},{key:"readMulti",value:function(t,n,o){var e=this.options.loadPath;"function"==typeof this.options.loadPath&&(e=this.options.loadPath(t,n));var i=this.services.interpolator.interpolate(e,{lng:t.join("+"),ns:n.join("+")});this.loadUrl(i,o)}},{key:"read",value:function(t,n,o){var e=this.options.loadPath;"function"==typeof this.options.loadPath&&(e=this.options.loadPath([t],[n]));var i=this.services.interpolator.interpolate(e,{lng:t,ns:n});this.loadUrl(i,o)}},{key:"loadUrl",value:function(t,n){var o=this;this.options.ajax(t,this.options,function(e,i){if(i.status>=500&&i.status<600)return n("failed loading "+t,!0);if(i.status>=400&&i.status<500)return n("failed loading "+t,!1);var a=void 0,r=void 0;try{a=o.options.parse(e,t)}catch(n){r="failed parsing "+t+" to json"}return r?n(r,!1):void n(null,a)})}},{key:"create",value:function(t,n,o,e){var i=this;"string"==typeof t&&(t=[t]);var a={};a[o]=e||"",t.forEach(function(t){var o=i.services.interpolator.interpolate(i.options.addPath,{lng:t,ns:n});i.options.ajax(o,i.options,function(t,n){},a)})}}]),n}();return c.type="backend",c}); |
{ | ||
"name": "i18next-xhr-backend", | ||
"version": "1.0.1", | ||
"version": "1.1.0", | ||
"description": "backend layer for i18next using browsers xhr", | ||
@@ -16,6 +16,6 @@ "main": "./index.js", | ||
"babel-cli": "6.11.4", | ||
"babel-core": "6.11.4", | ||
"babel-core": "6.13.2", | ||
"babel-eslint": "6.1.2", | ||
"babel-preset-es2015": "6.9.0", | ||
"babel-preset-es2015-native-modules": "6.9.2", | ||
"babel-preset-es2015-native-modules": "6.9.3", | ||
"babel-preset-es2015-rollup": "1.1.1", | ||
@@ -32,3 +32,3 @@ "babel-preset-stage-0": "6.5.0", | ||
"istanbul": "gotwarlost/istanbul#source-map", | ||
"json5": "^0.5.0", | ||
"json5": "0.5.0", | ||
"karma": "1.1.1", | ||
@@ -49,4 +49,3 @@ "karma-browserify": "5.1.0", | ||
"mocha": "2.5.3", | ||
"phantomjs": "2.1.7", | ||
"phantomjs-prebuilt": "^2.1.7", | ||
"phantomjs-prebuilt": "2.1.7", | ||
"rimraf": "2.5.4", | ||
@@ -53,0 +52,0 @@ "rollup": "0.34.1", |
@@ -41,3 +41,6 @@ # Introduction | ||
{ | ||
// path where resources get loaded from | ||
// path where resources get loaded from, or a function | ||
// returning a path: | ||
// function(lngs, namespaces) { return customPath; } | ||
// the returned path will interpolate lng, ns if provided like giving a static path | ||
loadPath: '/locales/{{lng}}/{{ns}}.json', | ||
@@ -138,2 +141,2 @@ | ||
//...some configuration code | ||
``` | ||
``` |
@@ -23,2 +23,3 @@ // declare module 'i18next-xhr-backend' { | ||
} | ||
export default class Backend { | ||
@@ -28,3 +29,3 @@ type: 'backend'; | ||
options: { | ||
loadPath: string, | ||
loadPath: string | Function, | ||
addPath: string, | ||
@@ -31,0 +32,0 @@ allowMultiLoading: boolean, |
Sorry, the diff of this file is not supported yet
43795
40
792
141