1.0.0 • Published 8 months ago
@coursebuilder/utils-browser v1.0.0
@coursebuilder/utils-browser
Browser-specific utilities for the CourseBuilder monorepo.
Installation
pnpm add @coursebuilder/utils-browser
Usage
cookieUtil
Browser cookie utility for managing client-side cookies. Provides methods to get, set, and remove cookies with a consistent interface. Handles JSON serialization and deserialization automatically.
Methods
set(name, value, options)
Sets a cookie with the given name, value, and options.
name
- The name of the cookievalue
- The value to store (can be any JSON-serializable value)options
- Optional configuration for the cookie- Returns: The value that was set (after any transformation)
get(name)
Gets a cookie value by name. Automatically attempts to parse JSON values.
name
- The name of the cookie to retrieve- Returns: The cookie value (parsed from JSON if possible)
remove(name, options)
Removes a cookie.
name
- The name of the cookie to removeoptions
- Optional configuration for removal
Example
import cookieUtil from '@coursebuilder/utils-browser/cookies'
// Set a simple string cookie
cookieUtil.set('name', 'John')
// Set a complex object (automatically serialized to JSON)
cookieUtil.set('user', { id: 123, name: 'John' })
// Set with custom options
cookieUtil.set('preferences', { theme: 'dark' }, { expires: 7 })
// Get a string cookie
const name = cookieUtil.get('name') // 'John'
// Get a JSON cookie (automatically parsed)
const user = cookieUtil.get('user') // { id: 123, name: 'John' }
// Remove a cookie
cookieUtil.remove('name')
Contributing
To add a new utility to this package:
- Create a new file in the
src
directory - Implement your utility with proper TSDoc comments
- Export it from the package by updating
package.json
- Add tests in a corresponding
.test.ts
file - Build and test your changes:
cd packages/utils-browser
pnpm build
pnpm test
1.0.0
8 months ago