# Yahoo! UI Library

### cookie 3.0.0b1

Yahoo! UI Library > cookie > Cookie
Search:
Filters Show Private Show Protected Show Deprecated

## `static` Class Cookie

Cookie utility.

### Methods

#### _createCookieHashString

`private static String _createCookieHashString ( hash )`
Formats a cookie value for an object containing multiple values.

Parameters:
  `hash <Object>` An object of key-value pairs to create a string for.

Returns: `String`
  A string suitable for use as a cookie value.

#### _createCookieString

`private static String _createCookieString ( name , value , encodeValue , options )`
Creates a cookie string that can be assigned into document.cookie.

Parameters:
  `name <String>` The name of the cookie.
  `value <String>` The value of the cookie.
  `encodeValue <Boolean>` True to encode the value, false to leave as-is.
  `options <Object>` (Optional) Options for the cookie.

Returns: `String`
  The formatted cookie string.

#### _parseCookieHash

`private static Object _parseCookieHash ( text )`
Parses a cookie hash string into an object.

Parameters:
  `text <String>` The cookie hash string to parse (format: n1=v1&n2=v2).

Returns: `Object`
  An object containing entries for each cookie value.

#### _parseCookieString

`private static Object _parseCookieString ( text , shouldDecode )`
Parses a cookie string into an object representing all accessible cookies.

Parameters:
  `text <String>` The cookie string to parse.
  `shouldDecode <Boolean>` (Optional) Indicates if the cookie values should be decoded or not. Default is true.

Returns: `Object`
  An object containing entries for each accessible cookie.

#### exists

`static Boolean exists ( name )`
Determines if the cookie with the given name exists. This is useful for Boolean cookies (those that do not follow the name=value convention).

Parameters:
  `name <String>` The name of the cookie to check.

Returns: `Boolean`
  True if the cookie exists, false if not.

#### get

`static Variant get ( name , options )`
Returns the cookie value for the given name.

Parameters:
  `name <String>` The name of the cookie to retrieve.
  `options <Function|Object>` (Optional) An object containing one or more cookie options: raw (true/false) and converter (a function). The converter function is run on the value before returning it. The function is not used if the cookie doesn't exist. The function can be passed instead of the options object for backwards compatibility. When raw is set to true, the cookie value is not URI decoded.

Returns: `Variant`
  If no converter is specified, returns a string or null if the cookie doesn't exist. If the converter is specified, returns the value returned from the converter or null if the cookie doesn't exist.

#### getSub

`static Variant getSub ( name , subName , converter )`
Returns the value of a subcookie.

Parameters:
  `name <String>` The name of the cookie to retrieve.
  `subName <String>` The name of the subcookie to retrieve.
  `converter <Function>` (Optional) A function to run on the value before returning it. The function is not used if the cookie doesn't exist.

Returns: `Variant`
  If the cookie doesn't exist, null is returned. If the subcookie doesn't exist, null if also returned. If no converter is specified and the subcookie exists, a string is returned. If a converter is specified and the subcookie exists, the value returned from the converter is returned.

#### getSubs

`static Object getSubs ( name )`
Returns an object containing name-value pairs stored in the cookie with the given name.

Parameters:
  `name <String>` The name of the cookie to retrieve.

Returns: `Object`
  An object of name-value pairs if the cookie with the given name exists, null if it does not.

#### remove

`static String remove ( name , options )`
Removes a cookie from the machine by setting its expiration date to sometime in the past.

Parameters:
  `name <String>` The name of the cookie to remove.
  `options <Object>` (Optional) An object containing one or more cookie options: path (a string), domain (a string), and secure (true/false). The expires option will be overwritten by the method.

Returns: `String`
  The created cookie string.

#### removeSub

`static String removeSub ( name , subName , options )`
Removes a sub cookie with a given name.

Parameters:
  `name <String>` The name of the cookie in which the subcookie exists.
  `subName <String>` The name of the subcookie to remove.
  `options <Object>` (Optional) An object containing one or more cookie options: path (a string), domain (a string), expires (a Date object), removeIfEmpty (true/false), and secure (true/false). This must be the same settings as the original subcookie.

Returns: `String`
  The created cookie string.

#### set

`static String set ( name , value , options )`
Sets a cookie with a given name and value.

Parameters:
  `name <String>` The name of the cookie to set.
  `value <Variant>` The value to set for the cookie.
  `options <Object>` (Optional) An object containing one or more cookie options: path (a string), domain (a string), expires (a Date object), secure (true/false), and raw (true/false). Setting raw to true indicates that the cookie should not be URI encoded before being set.

Returns: `String`
  The created cookie string.

#### setSub

`static String setSub ( name , subName , value , options )`
Sets a sub cookie with a given name to a particular value.

Parameters:
  `name <String>` The name of the cookie to set.
  `subName <String>` The name of the subcookie to set.
  `value <Variant>` The value to set.
  `options <Object>` (Optional) An object containing one or more cookie options: path (a string), domain (a string), expires (a Date object), and secure (true/false).

Returns: `String`
  The created cookie string.

#### setSubs

`static String setSubs ( name , value , options )`
Sets a cookie with a given name to contain a hash of name-value pairs.

Parameters:
  `name <String>` The name of the cookie to set.
  `value <Object>` An object containing name-value pairs.
  `options <Object>` (Optional) An object containing one or more cookie options: path (a string), domain (a string), expires (a Date object), and secure (true/false).

Returns: `String`
  The created cookie string.

Copyright © 2009 Yahoo! Inc. All rights reserved.