forked from magento/magento2
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathstorage-wrapper.js
75 lines (63 loc) · 2.29 KB
/
storage-wrapper.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
define([
'jquery',
'js-storage/js.storage'
], function ($, storage) {
'use strict';
if (window.cookieStorage) {
var cookiesConfig = window.cookiesConfig || {};
$.extend(window.cookieStorage, {
_secure: !!cookiesConfig.secure,
_samesite: cookiesConfig.samesite ? cookiesConfig.samesite : 'lax',
/**
* Set value under name
* @param {String} name
* @param {String} value
* @param {Object} [options]
*/
setItem: function (name, value, options) {
var _default = {
expires: this._expires,
path: this._path,
domain: this._domain,
secure: this._secure,
samesite: this._samesite
};
$.cookie(this._prefix + name, value, $.extend(_default, options || {}));
},
/**
* Set default options
* @param {Object} c
* @returns {storage}
*/
setConf: function (c) {
if (c.path) {
this._path = c.path;
}
if (c.domain) {
this._domain = c.domain;
}
if (c.expires) {
this._expires = c.expires;
}
if (typeof c.secure !== 'undefined') {
this._secure = c.secure;
}
if (typeof c.samesite !== 'undefined') {
this._samesite = c.samesite;
}
return this;
}
});
}
$.alwaysUseJsonInStorage = $.alwaysUseJsonInStorage || storage.alwaysUseJsonInStorage;
$.cookieStorage = $.cookieStorage || storage.cookieStorage;
$.initNamespaceStorage = $.initNamespaceStorage || storage.initNamespaceStorage;
$.localStorage = $.localStorage || storage.localStorage;
$.namespaceStorages = $.namespaceStorages || storage.namespaceStorages;
$.removeAllStorages = $.removeAllStorages || storage.removeAllStorages;
$.sessionStorage = $.sessionStorage || storage.sessionStorage;
});