mirror of
				https://scm.univ-tours.fr/22107988t/rappaurio-sae501_502.git
				synced 2025-11-04 05:15:23 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			53 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			53 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
'use strict';
 | 
						|
 | 
						|
import utils from './../utils.js';
 | 
						|
import platform from '../platform/index.js';
 | 
						|
 | 
						|
export default platform.isStandardBrowserEnv ?
 | 
						|
 | 
						|
// Standard browser envs support document.cookie
 | 
						|
  (function standardBrowserEnv() {
 | 
						|
    return {
 | 
						|
      write: function write(name, value, expires, path, domain, secure) {
 | 
						|
        const cookie = [];
 | 
						|
        cookie.push(name + '=' + encodeURIComponent(value));
 | 
						|
 | 
						|
        if (utils.isNumber(expires)) {
 | 
						|
          cookie.push('expires=' + new Date(expires).toGMTString());
 | 
						|
        }
 | 
						|
 | 
						|
        if (utils.isString(path)) {
 | 
						|
          cookie.push('path=' + path);
 | 
						|
        }
 | 
						|
 | 
						|
        if (utils.isString(domain)) {
 | 
						|
          cookie.push('domain=' + domain);
 | 
						|
        }
 | 
						|
 | 
						|
        if (secure === true) {
 | 
						|
          cookie.push('secure');
 | 
						|
        }
 | 
						|
 | 
						|
        document.cookie = cookie.join('; ');
 | 
						|
      },
 | 
						|
 | 
						|
      read: function read(name) {
 | 
						|
        const match = document.cookie.match(new RegExp('(^|;\\s*)(' + name + ')=([^;]*)'));
 | 
						|
        return (match ? decodeURIComponent(match[3]) : null);
 | 
						|
      },
 | 
						|
 | 
						|
      remove: function remove(name) {
 | 
						|
        this.write(name, '', Date.now() - 86400000);
 | 
						|
      }
 | 
						|
    };
 | 
						|
  })() :
 | 
						|
 | 
						|
// Non standard browser env (web workers, react-native) lack needed support.
 | 
						|
  (function nonStandardBrowserEnv() {
 | 
						|
    return {
 | 
						|
      write: function write() {},
 | 
						|
      read: function read() { return null; },
 | 
						|
      remove: function remove() {}
 | 
						|
    };
 | 
						|
  })();
 |