@rudderstack/analytics-js-cookies
Advanced tools
Comparing version 0.3.1 to 0.3.2
@@ -5,2 +5,12 @@ # Changelog | ||
## [0.3.2](https://github.com/rudderlabs/rudder-sdk-js/compare/@rudderstack/analytics-js-cookies@0.3.1...@rudderstack/analytics-js-cookies@0.3.2) (2024-07-05) | ||
### Dependency Updates | ||
* `@rudderstack/analytics-js-common` updated to version `0.3.1` | ||
### Bug Fixes | ||
* package lint issues ([#1773](https://github.com/rudderlabs/rudder-sdk-js/issues/1773)) ([8e45d05](https://github.com/rudderlabs/rudder-sdk-js/commit/8e45d052bd6366d647d06226aa89b1fa2e512f9d)) | ||
## [0.3.1](https://github.com/rudderlabs/rudder-sdk-js/compare/@rudderstack/analytics-js-cookies@0.3.0...@rudderstack/analytics-js-cookies@0.3.1) (2024-07-04) | ||
@@ -7,0 +17,0 @@ |
@@ -61,46 +61,2 @@ (function (global, factory) { | ||
function _defineProperty(e, r, t) { | ||
return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { | ||
value: t, | ||
enumerable: !0, | ||
configurable: !0, | ||
writable: !0 | ||
}) : e[r] = t, e; | ||
} | ||
function ownKeys(e, r) { | ||
var t = Object.keys(e); | ||
if (Object.getOwnPropertySymbols) { | ||
var o = Object.getOwnPropertySymbols(e); | ||
r && (o = o.filter(function (r) { | ||
return Object.getOwnPropertyDescriptor(e, r).enumerable; | ||
})), t.push.apply(t, o); | ||
} | ||
return t; | ||
} | ||
function _objectSpread2(e) { | ||
for (var r = 1; r < arguments.length; r++) { | ||
var t = null != arguments[r] ? arguments[r] : {}; | ||
r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { | ||
_defineProperty(e, r, t[r]); | ||
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { | ||
Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); | ||
}); | ||
} | ||
return e; | ||
} | ||
function _toPrimitive(t, r) { | ||
if ("object" != typeof t || !t) return t; | ||
var e = t[Symbol.toPrimitive]; | ||
if (void 0 !== e) { | ||
var i = e.call(t, r || "default"); | ||
if ("object" != typeof i) return i; | ||
throw new TypeError("@@toPrimitive must return a primitive value."); | ||
} | ||
return ("string" === r ? String : Number)(t); | ||
} | ||
function _toPropertyKey(t) { | ||
var i = _toPrimitive(t, "string"); | ||
return "symbol" == typeof i ? i : i + ""; | ||
} | ||
/** | ||
@@ -116,3 +72,3 @@ * Encode. | ||
* Set cookie `name` to `value` | ||
*/const set=(name,value,optionsConfig,logger)=>{const options=_objectSpread2({},{});let cookieString=`${encode(name)}=${encode(value)}`;if(isNull(value)){options.maxage=-1;}if(options.maxage){options.expires=new Date(+new Date()+options.maxage);}if(options.path){cookieString+=`; path=${options.path}`;}if(options.domain){cookieString+=`; domain=${options.domain}`;}if(options.expires){cookieString+=`; expires=${options.expires.toUTCString()}`;}if(options.samesite){cookieString+=`; samesite=${options.samesite}`;}if(options.secure){cookieString+=`; secure`;}globalThis.document.cookie=cookieString;};/** | ||
*/const set=(name,value,optionsConfig,logger)=>{const options={...({})};let cookieString=`${encode(name)}=${encode(value)}`;if(isNull(value)){options.maxage=-1;}if(options.maxage){options.expires=new Date(+new Date()+options.maxage);}if(options.path){cookieString+=`; path=${options.path}`;}if(options.domain){cookieString+=`; domain=${options.domain}`;}if(options.expires){cookieString+=`; expires=${options.expires.toUTCString()}`;}if(options.samesite){cookieString+=`; samesite=${options.samesite}`;}if(options.secure){cookieString+=`; secure`;}globalThis.document.cookie=cookieString;};/** | ||
* Return all cookies | ||
@@ -126,3 +82,3 @@ */const all=()=>{const cookieStringValue=globalThis.document.cookie;return parse(cookieStringValue);};/** | ||
const getEncryptedValueInternal=(value,encryptFn,debug)=>{const fallbackValue=null;try{const strValue=stringifyWithoutCircular(value,false);if(isNull(strValue)){return null;}return encryptFn(strValue);}catch(err){if(debug){console.error('Error occurred during encryption: ',err);}return fallbackValue;}};const getDecryptedValueInternal=(value,decryptFn,debug)=>{const fallbackValue=null;try{const decryptedVal=decryptFn(value);if(isNullOrUndefined(decryptedVal)){return fallbackValue;}return JSON.parse(decryptedVal);}catch(err){if(debug){console.error('Error occurred during decryption: ',err);}return fallbackValue;}};const encryptBrowser=value=>`${ENCRYPTION_PREFIX_V3}${toBase64(value)}`;const decryptBrowser=value=>{if(value!==null&&value!==void 0&&value.startsWith(ENCRYPTION_PREFIX_V3)){return fromBase64(value.substring(ENCRYPTION_PREFIX_V3.length));}return value;};const getEncryptedValueBrowser=(value,debug=false)=>getEncryptedValueInternal(value,encryptBrowser,debug);const getDecryptedValueBrowser=(value,debug=false)=>getDecryptedValueInternal(value,decryptBrowser,debug);const getDecryptedCookieBrowser=(cookieKey,debug=false)=>{if(Object.values(COOKIE_KEYS).includes(cookieKey)){return getDecryptedValueBrowser(cookie(cookieKey),debug);}return null;};const encrypt=value=>`${ENCRYPTION_PREFIX_V3}${Buffer.from(value,'utf-8').toString('base64')}`;const decrypt=value=>{if(value!==null&&value!==void 0&&value.startsWith(ENCRYPTION_PREFIX_V3)){return Buffer.from(value.substring(ENCRYPTION_PREFIX_V3.length),'base64').toString('utf-8');}return value;};const getDecryptedValue=(value,debug=false)=>getDecryptedValueInternal(value,decrypt,debug);const getEncryptedValue=(value,debug=false)=>getEncryptedValueInternal(value,encrypt,debug); | ||
const getEncryptedValueInternal=(value,encryptFn,debug)=>{const fallbackValue=null;try{const strValue=stringifyWithoutCircular(value,false);if(isNull(strValue)){return null;}return encryptFn(strValue);}catch(err){if(debug){console.error('Error occurred during encryption: ',err);}return fallbackValue;}};const getDecryptedValueInternal=(value,decryptFn,debug)=>{const fallbackValue=null;try{const decryptedVal=decryptFn(value);if(isNullOrUndefined(decryptedVal)){return fallbackValue;}return JSON.parse(decryptedVal);}catch(err){if(debug){console.error('Error occurred during decryption: ',err);}return fallbackValue;}};const encryptBrowser=value=>`${ENCRYPTION_PREFIX_V3}${toBase64(value)}`;const decryptBrowser=value=>{if(value?.startsWith(ENCRYPTION_PREFIX_V3)){return fromBase64(value.substring(ENCRYPTION_PREFIX_V3.length));}return value;};const getEncryptedValueBrowser=(value,debug=false)=>getEncryptedValueInternal(value,encryptBrowser,debug);const getDecryptedValueBrowser=(value,debug=false)=>getDecryptedValueInternal(value,decryptBrowser,debug);const getDecryptedCookieBrowser=(cookieKey,debug=false)=>{if(Object.values(COOKIE_KEYS).includes(cookieKey)){return getDecryptedValueBrowser(cookie(cookieKey),debug);}return null;};const encrypt=value=>`${ENCRYPTION_PREFIX_V3}${Buffer.from(value,'utf-8').toString('base64')}`;const decrypt=value=>{if(value?.startsWith(ENCRYPTION_PREFIX_V3)){return Buffer.from(value.substring(ENCRYPTION_PREFIX_V3.length),'base64').toString('utf-8');}return value;};const getDecryptedValue=(value,debug=false)=>getDecryptedValueInternal(value,decrypt,debug);const getEncryptedValue=(value,debug=false)=>getEncryptedValueInternal(value,encrypt,debug); | ||
@@ -129,0 +85,0 @@ exports.anonymousUserIdKey = anonymousUserIdKey; |
{ | ||
"name": "@rudderstack/analytics-js-cookies", | ||
"version": "0.3.1", | ||
"version": "0.3.2", | ||
"description": "RudderStack JavaScript SDK Cookies Utilities", | ||
"main": "dist/npm/modern/cjs/index.js", | ||
"module": "dist/npm/modern/esm/index.js", | ||
"main": "dist/npm/modern/cjs/index.cjs", | ||
"module": "dist/npm/modern/esm/index.mjs", | ||
"type": "module", | ||
"exports": { | ||
".": { | ||
"types": "./dist/npm/index.d.ts", | ||
"require": "./dist/npm/modern/cjs/index.js", | ||
"import": "./dist/npm/modern/esm/index.js" | ||
"types": "./dist/npm/index.d.mts", | ||
"require": { | ||
"types": "./dist/npm/index.d.cts", | ||
"default": "./dist/npm/modern/cjs/index.cjs" | ||
}, | ||
"import": { | ||
"types": "./dist/npm/index.d.mts", | ||
"default": "./dist/npm/modern/esm/index.mjs" | ||
} | ||
}, | ||
"./legacy": { | ||
"types": "./dist/npm/index.d.ts", | ||
"require": "./dist/npm/legacy/cjs/index.js", | ||
"import": "./dist/npm/legacy/esm/index.js" | ||
"types": "./dist/npm/index.d.mts", | ||
"require": { | ||
"types": "./dist/npm/index.d.cts", | ||
"default": "./dist/npm/legacy/cjs/index.cjs" | ||
}, | ||
"import": { | ||
"types": "./dist/npm/index.d.mts", | ||
"default": "./dist/npm/legacy/esm/index.mjs" | ||
} | ||
} | ||
}, | ||
"types": "./dist/npm/index.d.ts", | ||
"types": "./dist/npm/index.d.mts", | ||
"typesVersions": { | ||
"*": { | ||
"*": [ | ||
"./dist/npm/index.d.ts" | ||
"./dist/npm/index.d.mts" | ||
] | ||
@@ -32,3 +45,3 @@ } | ||
"dist/npm", | ||
"LICENSE", | ||
"LICENSE.md", | ||
"README.md", | ||
@@ -42,3 +55,3 @@ "CHANGELOG.md" | ||
"author": "RudderStack", | ||
"license": "MIT", | ||
"license": "Elastic-2.0", | ||
"repository": { | ||
@@ -45,0 +58,0 @@ "type": "git", |
@@ -34,3 +34,3 @@ ## [![TypeScript](https://img.shields.io/badge/%3C%2F%3E-TypeScript-%230074c1.svg)](https://www.typescriptlang.org/) | ||
> The encrypted value should be a string starting with `RS_ENC_v3_`. | ||
> If the provided value is either not encrypted or not properly encrypted, the function returns `null`. | ||
@@ -60,6 +60,6 @@ > :warning: Any errors during decryption are swallowed by the function, returning `null`. | ||
```javascript | ||
import { decrypt } from '@rudderstack/analytics-js-cookies'; | ||
import { getDecryptedValue } from '@rudderstack/analytics-js-cookies'; | ||
const encryptedCookieValue = 'RS_ENC_v3_InRlc3QtZGF0YSI='; | ||
const decryptedCookieValue = decrypt(encryptedCookieValue); | ||
const decryptedCookieValue = getDecryptedValue(encryptedCookieValue); | ||
console.log('Decrypted Cookie Value: ', decryptedCookieValue); | ||
@@ -74,3 +74,3 @@ // Output: | ||
This function decrypts and returns the RudderStack JavaScript SDK cookie values. | ||
This function takes the name of the RudderStack JavaScript SDK cookie and returns the decrypted value. | ||
@@ -142,2 +142,44 @@ The return type is either a `string` or an `object` as some cookies like user ID, anonymous user ID have string values while user traits are objects. | ||
> For detailed documentation on the RudderStack JavaScript SDK, click [**here**](https://www.rudderstack.com/docs/sources/event-streams/sdks/rudderstack-javascript-sdk/). | ||
## License | ||
This project is licensed under the Elastic License 2.0. See the [LICENSE.md](LICENSE.md) file for details. Review the license terms to understand your permissions and restrictions. | ||
If you have any questions about licensing, please [contact us](#contact-us) or refer to the [official Elastic licensing](https://www.elastic.co/licensing/elastic-license) page. | ||
## Contribute | ||
We invite you to contribute to this project. For more information on how to contribute, please see [**here**](../../CONTRIBUTING.md). | ||
## Contact us | ||
For more information on any of the sections covered in this readme, you can [**contact us**](mailto:%20docs@rudderstack.com) or start a conversation on our [**Slack**](https://resources.rudderstack.com/join-rudderstack-slack) channel. | ||
## Follow Us | ||
- [RudderStack Blog][rudderstack-blog] | ||
- [Slack][slack] | ||
- [Twitter][twitter] | ||
- [LinkedIn][linkedin] | ||
- [dev.to][devto] | ||
- [Medium][medium] | ||
- [YouTube][youtube] | ||
- [HackerNews][hackernews] | ||
- [Product Hunt][producthunt] | ||
## :clap: Our Supporters | ||
[![Stargazers repo roster for @rudderlabs/rudder-sdk-js](https://reporoster.com/stars/rudderlabs/rudder-sdk-js)](https://github.com/rudderlabs/rudder-sdk-js/stargazers) | ||
[![Forkers repo roster for @rudderlabs/rudder-sdk-js](https://reporoster.com/forks/rudderlabs/rudder-sdk-js)](https://github.com/rudderlabs/rudder-sdk-js/network/members) | ||
<!----variables----> | ||
[rudderstack-blog]: https://rudderstack.com/blog/ | ||
[slack]: https://resources.rudderstack.com/join-rudderstack-slack | ||
[twitter]: https://twitter.com/rudderstack | ||
[linkedin]: https://www.linkedin.com/company/rudderlabs/ | ||
[devto]: https://dev.to/rudderstack | ||
[medium]: https://rudderstack.medium.com/ | ||
[youtube]: https://www.youtube.com/channel/UCgV-B77bV_-LOmKYHw8jvBw | ||
[hackernews]: https://news.ycombinator.com/item?id=21081756 | ||
[producthunt]: https://www.producthunt.com/posts/rudderstack |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
Non-permissive License
License(Experimental) A license not known to be considered permissive was found.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
72159
12
182
Yes
1
90
712
1