
Security News
npm Adopts OIDC for Trusted Publishing in CI/CD Workflows
npm now supports Trusted Publishing with OIDC, enabling secure package publishing directly from CI/CD workflows without relying on long-lived tokens.
vue-cookies-ts
Advanced tools
A simple Vue.js plugin for handling browser cookies
npm install vue-cookies-ts --save
import Vue from "vue"
import VueCookies from "vue-cookies-ts"
Vue.use(VueCookies)
syntax format: [this | Vue | window].$cookies.[method]
Set global config
(option: CookiesOption) => void
//example
this.$cookies.config({
expires?: string | number | Date,
path?: string,
}) // default: expireTimes = 1d , path=/
Set a cookie
(key: string, value: any, option: CookiesOption) => VueCookies
//example
this.$cookies.set(keyName: string, {
expires?: string | number | Date,
path?: string,
domain?: string,
secure?: boolean
})
Get a cookie
(key: string) => string | null | object
//example
this.$cookies.get(keyName: string)
Remove a cookie
(key: string, option: CookiesOption) => VueCookies | boolean
//example
this.$cookies.remove(keyName: string, {path: string, domain: string})
If exist a cookie name
(key: string) => boolean
//example
this.$cookies.isKey(keyName: string)
Get All cookie name
() => string[]
//example
this.$cookies.keys()
// 30 day after, expire
this.$cookies.config({ expires: "30d" })
this.$cookies.config({ expires: new Date(2019,03,13).toUTCString() })
// 30 day after, expire, '' current path , browser default
this.$cookies.config({ expires: 60 * 60 * 24 * 30, path: "" })
// window object
window.$cookies.config({ expires: "30d" })
var user = { id:1, name:'Journal', session:'25j_7Sl6xDq2Kc3ym0fmrSSk2xV2XkUkX' }
this.$cookies.set('user', user)
// print user name
console.log(this.$cookies.get('user').name)
Suppose the current time is : Sat, 11 Mar 2017 12:25:57 GMT
Following equivalence: 1 day after, expire
Support chaining sets together
// default expire time: 1 day
this.$cookies
.set("user_session", "25j_7Sl6xDq2Kc3ym0fmrSSk2xV2XkUkX")
// number + d , ignore case
.set("user_session", "25j_7Sl6xDq2Kc3ym0fmrSSk2xV2XkUkX", { expires: "1d" })
.set("user_session", "25j_7Sl6xDq2Kc3ym0fmrSSk2xV2XkUkX", { expires: "1D" })
// Base of second
.set("user_session", "25j_7Sl6xDq2Kc3ym0fmrSSk2xV2XkUkX", { expires: 60 * 60 * 24 })
// input a Date, + 1day
.set("user_session", "25j_7Sl6xDq2Kc3ym0fmrSSk2xV2XkUkX", { expires: new Date(2017, 03, 12) })
// input a date string, + 1day
.set("user_session", "25j_7Sl6xDq2Kc3ym0fmrSSk2xV2XkUkX", { expires: "Sat, 13 Mar 2017 12:25:57 GMT" })
// 1 second after, expire
this.$cookies.set("default_unit_second", "input_value", { expires: 1 })
// 1 minute 30 second after, expire
this.$cookies.set("default_unit_second", "input_value", { expires: 60 + 30 })
// 12 hour after, expire
this.$cookies.set("default_unit_second", "input_value", { expires: 60 * 60 * 12 })
// 1 month after, expire
this.$cookies.set("default_unit_second", "input_value", { expires: 60 * 60 * 24 * 30 })
// end of session - use string!
this.$cookies.set("default_unit_second", "input_value", { expires: "0" })
Unit | full name |
---|---|
y | year |
m | month |
d | day |
h | hour |
min | minute |
s | second |
✔ caseless for unit
❌ combination not supported
❌ double value not supported
// 60 second after, expire
this.$cookies.set("token","GH1.1.1689020474.1484362313", { expires: "60s" })
// 30 minute after, expire, ignore case
this.$cookies.set("token","GH1.1.1689020474.1484362313", { expires: "30min" })
// 24 day after, expire
this.$cookies.set("token","GH1.1.1689020474.1484362313", { expires: "24d" })
// 4 month after, expire
this.$cookies.set("token","GH1.1.1689020474.1484362313", { expires: "4m" })
// 16 hour after, expire
this.$cookies.set("token","GH1.1.1689020474.1484362313", { expires: "16h" })
// 3 year after, expire
this.$cookies.set("token","GH1.1.1689020474.1484362313", { expires: "3y" })
// input date string
this.$cookies.set('token',"GH1.1.1689020474.1484362313", { expires: new Date(2017,03,13).toUTCString() })
this.$cookies.set("token","GH1.1.1689020474.1484362313", { expires: "Sat, 13 Mar 2017 12:25:57 GMT " })
var date = new Date
date.setDate(date.getDate() + 1)
this.$cookies.set("token","GH1.1.1689020474.1484362313", { expires: date })
// never expire
this.$cookies.set("token","GH1.1.1689020474.1484362313", { expires: Infinity })
// never expire , only -1,Other negative Numbers are invalid
this.$cookies.set("token","GH1.1.1689020474.1484362313", { expires: -1 })
// set path
this.$cookies.set("use_path_argument","value", { expires: "1d", path: "/app" })
// set domain, default 1 day after,expire
this.$cookies.set("use_path_argument","value", { domain: "domain.com" })
// set secure
this.$cookies.set("use_path_argument","value", { secure: true })
// check a cookie exist
this.$cookies.isKey("token")
// get a cookie
this.$cookies.get("token")
// remove a cookie
this.$cookies.remove("token")
// get all cookie key names, line shows
this.$cookies.keys().join("\n")
// vue-cookies global
[this | Vue].$cookies.[method]
$cookies
key names Cannot be set to ['expires','max-age','path','domain','secure']
vue-cookies-ts is developed from vue-cookies, It can exist independently, Friendly to vuejs
MIT Copyright (c) 2016-present, ztytotoro
FAQs
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
npm now supports Trusted Publishing with OIDC, enabling secure package publishing directly from CI/CD workflows without relying on long-lived tokens.
Research
/Security News
A RubyGems malware campaign used 60 malicious packages posing as automation tools to steal credentials from social media and marketing tool users.
Security News
The CNA Scorecard ranks CVE issuers by data completeness, revealing major gaps in patch info and software identifiers across thousands of vulnerabilities.