React 19 + Vite + TanStack Router/Query + Tailwind. Gmail-exact UI: - ThreadRow: 40px density, hover action icons, unread stripe - Sidebar: compose button, folder list, labels - MessageCard: expandable headers, reply/forward - MessageReader: full Gmail toolbar - SearchBar: pill with filter icon - Production: nginx container with /api proxy to api.mail.kua.cl Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| .github | ||
| .nycrc | ||
| CHANGELOG.md | ||
| LICENSE | ||
| README.md | ||
| eslint.config.mjs | ||
| index.d.ts | ||
| index.js | ||
| package.json | ||
| tsconfig.json | ||
README.md
hasown 
A robust, ES3 compatible, "has own property" predicate.
Example
const assert = require('assert');
const hasOwn = require('hasown');
assert.equal(hasOwn({}, 'toString'), false);
assert.equal(hasOwn([], 'length'), true);
assert.equal(hasOwn({ a: 42 }, 'a'), true);
Tests
Simply clone the repo, npm install, and run npm test
