1 | 'use strict';
|
2 |
|
3 | Object.defineProperty(exports, "__esModule", {
|
4 | value: true
|
5 | });
|
6 | exports.setPath = setPath;
|
7 | exports.defaults = defaults;
|
8 | exports.extend = extend;
|
9 | exports.removeLngFromUrl = removeLngFromUrl;
|
10 | function setPath(object, path, newValue) {
|
11 | var stack = void 0;
|
12 | if (typeof path !== 'string') stack = [].concat(path);
|
13 | if (typeof path === 'string') stack = path.split('.');
|
14 |
|
15 | while (stack.length > 1) {
|
16 | var _key = stack.shift();
|
17 | if (_key.indexOf('###') > -1) _key = _key.replace(/###/g, '.');
|
18 | if (!object[_key]) object[_key] = {};
|
19 | object = object[_key];
|
20 | }
|
21 |
|
22 | var key = stack.shift();
|
23 | if (key.indexOf('###') > -1) key = key.replace(/###/g, '.');
|
24 | object[key] = newValue;
|
25 | }
|
26 |
|
27 | var arr = [];
|
28 | var each = arr.forEach;
|
29 | var slice = arr.slice;
|
30 |
|
31 | function defaults(obj) {
|
32 | each.call(slice.call(arguments, 1), function (source) {
|
33 | if (source) {
|
34 | for (var prop in source) {
|
35 | if (obj[prop] === undefined) obj[prop] = source[prop];
|
36 | }
|
37 | }
|
38 | });
|
39 | return obj;
|
40 | }
|
41 |
|
42 | function extend(obj) {
|
43 | each.call(slice.call(arguments, 1), function (source) {
|
44 | if (source) {
|
45 | for (var prop in source) {
|
46 | obj[prop] = source[prop];
|
47 | }
|
48 | }
|
49 | });
|
50 | return obj;
|
51 | }
|
52 |
|
53 | function removeLngFromUrl(url, lookupFromPathIndex) {
|
54 | var first = '';
|
55 | var pos = lookupFromPathIndex;
|
56 |
|
57 | if (url[0] === '/') {
|
58 | pos++;
|
59 | first = '/';
|
60 | }
|
61 |
|
62 |
|
63 | var parts = url.split('/');
|
64 | parts.splice(pos, 1);
|
65 | url = parts.join('/');
|
66 | if (url[0] !== '/') url = first + url;
|
67 |
|
68 | return url;
|
69 | } |
\ | No newline at end of file |