- Node/Express/TypeScript API under /api/v1 with JWT auth (login, refresh, logout, /me) - Prisma schema: vendors, users, roles, products, categories, taxes, transactions - SQLite for local dev; Postgres via docker-compose for production - Full CRUD routes for vendors, users, categories, taxes, products with Zod validation and RBAC - Paginated list endpoints scoped per vendor; refresh token rotation - React/TypeScript admin SPA (Vite): login, protected routing, sidebar layout - Pages: Dashboard, Catalog (tabbed Products/Categories/Taxes), Users, Vendor Settings - Shared UI: Table, Modal, FormField, Btn, PageHeader components - Multi-stage Dockerfile; docker-compose with Postgres healthcheck - Seed script with demo vendor and owner account - INSTRUCTIONS.md, ROADMAP.md, .claude/launch.json for dev server config Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
51 lines
1.1 KiB
Markdown
51 lines
1.1 KiB
Markdown
# buffer-equal-constant-time
|
|
|
|
Constant-time `Buffer` comparison for node.js. Should work with browserify too.
|
|
|
|
[](https://travis-ci.org/goinstant/buffer-equal-constant-time)
|
|
|
|
```sh
|
|
npm install buffer-equal-constant-time
|
|
```
|
|
|
|
# Usage
|
|
|
|
```js
|
|
var bufferEq = require('buffer-equal-constant-time');
|
|
|
|
var a = new Buffer('asdf');
|
|
var b = new Buffer('asdf');
|
|
if (bufferEq(a,b)) {
|
|
// the same!
|
|
} else {
|
|
// different in at least one byte!
|
|
}
|
|
```
|
|
|
|
If you'd like to install an `.equal()` method onto the node.js `Buffer` and
|
|
`SlowBuffer` prototypes:
|
|
|
|
```js
|
|
require('buffer-equal-constant-time').install();
|
|
|
|
var a = new Buffer('asdf');
|
|
var b = new Buffer('asdf');
|
|
if (a.equal(b)) {
|
|
// the same!
|
|
} else {
|
|
// different in at least one byte!
|
|
}
|
|
```
|
|
|
|
To get rid of the installed `.equal()` method, call `.restore()`:
|
|
|
|
```js
|
|
require('buffer-equal-constant-time').restore();
|
|
```
|
|
|
|
# Legal
|
|
|
|
© 2013 GoInstant Inc., a salesforce.com company
|
|
|
|
Licensed under the BSD 3-clause license.
|