
Security News
Rspack Introduces Rslint, a TypeScript-First Linter Written in Go
Rspack launches Rslint, a fast TypeScript-first linter built on typescript-go, joining in on the trend of toolchains creating their own linters.
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
Rspack launches Rslint, a fast TypeScript-first linter built on typescript-go, joining in on the trend of toolchains creating their own linters.
Security News
Hacker Demonstrates How Easy It Is To Steal Data From Popular Password Managers
Security News
Oxlint’s new preview brings type-aware linting powered by typescript-go, combining advanced TypeScript rules with native-speed performance.