76 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			JavaScript
		
	
	
		
			Executable File
		
	
	
			
		
		
	
	
			76 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			JavaScript
		
	
	
		
			Executable File
		
	
	
| /**
 | |
|  * 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;
 | |
| });
 |