|
- /**
- * 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;
- });
|