/projects/htmlunit-2.8/src/test/resources/libraries/dojo/1.0.2/dojo/cookie.js
https://gitlab.com/essere.lab.public/qualitas.class-corpus · JavaScript · 77 lines · 29 code · 4 blank · 44 comment · 10 complexity · 386b83077e6f9328e274b2992fe2756f MD5 · raw file
- if(!dojo._hasResource["dojo.cookie"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
- dojo._hasResource["dojo.cookie"] = true;
- dojo.provide("dojo.cookie");
- /*=====
- dojo.__cookieProps = function(kwArgs){
- // expires: Date|Number?
- // If a number, seen as the number of days from today. If a date, the
- // date past which the cookie is invalid. If expires is in the past,
- // the cookie will be deleted If expires is left out or is 0, the
- // cookie will expire when the browser closes.
- // path: String?
- // The path to use for the cookie.
- // domain: String?
- // The domain to use for the cookie.
- // secure: Boolean?
- // Whether to only send the cookie on secure connections
- }
- =====*/
- dojo.cookie = function(/*String*/name, /*String?*/value, /*dojo.__cookieProps?*/props){
- // summary:
- // Get or set a cookie.
- // description:
- // If you pass in one argument, the the value of the cookie is returned
- //
- // If you pass in two arguments, the cookie value is set to the second
- // argument.
- //
- // If you pass in three arguments, the cookie value is set to the
- // second argument, and the options on the third argument are used for
- // extended properties on the cookie
- // name:
- // The name of the cookie
- // value:
- // Optional. The value for the cookie.
- // props:
- // Optional additional properties for the cookie
- // example:
- // set a cookie with the JSON-serialized contents of an object which
- // will expire 5 days from now:
- // | dojo.cookie("configObj", dojo.toJson(config), { expires: 5 });
- //
- // example:
- // de-serialize a cookie back into a JavaScript object:
- // | var config = dojo.fromJson(dojo.cookie("configObj"));
- //
- // example:
- // delete a cookie:
- // | dojo.cookie("configObj", null);
- var c = document.cookie;
- if(arguments.length == 1){
- var idx = c.lastIndexOf(name+'=');
- if(idx == -1){ return null; }
- var start = idx+name.length+1;
- var end = c.indexOf(';', idx+name.length+1);
- if(end == -1){ end = c.length; }
- return decodeURIComponent(c.substring(start, end));
- }else{
- props = props || {};
- value = encodeURIComponent(value);
- if(typeof(props.expires) == "number"){
- var d = new Date();
- d.setTime(d.getTime()+(props.expires*24*60*60*1000));
- props.expires = d;
- }
- document.cookie = name + "=" + value
- + (props.expires ? "; expires=" + props.expires.toUTCString() : "")
- + (props.path ? "; path=" + props.path : "")
- + (props.domain ? "; domain=" + props.domain : "")
- + (props.secure ? "; secure" : "");
- return null;
- }
- };
- }