u/Humble-Shake-7472

Tired of typeof returning 'object' for everything, so I built this — would love some feedback.

فى الاساس كانت الفكره من البروجكت للدخول فى اعماق الـ JavaScript Data Types
لما كنت لسه بتعلمها و كذلك للسبب الى مكتوب فالـ Title
حابب اسمع كل اﻷراء و التقييمات من فضلكم الحلوه و المش حلوه
و لو حبيت فكرته مسي على اخوك بـ Star

Semantic type checking for JavaScript.

JavaScript's type-checking is a mess. typeof works fine for primitives, but hand it null, an array, or a regexp — you get 'object'. Every time. So you end up sprinkling Array.isArray(), instanceof, and custom string-parsing all over your codebase just to know what you're actually dealing with.

is.js is a semantic validator that gets this right. It handles the cases typeof drops the ball on, and goes further — it can look inside strings like '{"id": "xyz"}' or '[1, 2, 3]' and understand what the data actually means, not just what container it's sitting in. It runs in two modes: Smart Inference for when you want it to interpret string content, and Literal Mode for when you need strict, no-surprises checks. And if you prefer a chainable style, there's a fluent API for that too.

>Why not just use Zod or similar schema validators?

Schema validators are awesome — you define what you expect first, then validate against it. That's the whole point, it's schema-first: z.string().parse('hello') — you're telling it "I expect a string" before anything runs.

My library doesn't care what you expect. You hand it a value, it tells you what it actually is. No schema, no setup. Different tools, different jobs.

githubLink

u/Humble-Shake-7472 — 6 days ago
▲ 1 r/firefox+1 crossposts

An effortless, privacy-aware extension for intelligent text copying in your browser.
Just select what you need and it's instantly copied, or use a floating button if you prefer.
You control where it works — keep it out of password fields and text editors so you don't accidentally copy while typing.
Simple, configurable, and respectful of your workflow.

Features:
- Auto-Copy on Select — Text is copied automatically after selecting.

- Floating Copy Button — A small button appears near your cursor after selection.

- Granular Control — Enable or disable copying in inputs, password fields, textareas, and rich text editors individually.

- Lightweight — No bloat, no tracking, just copying.

Github: https://github.com/echo-64/omni-copy
Firefox Add-on: https://addons.mozilla.org/en-US/firefox/addon/omni-copy/

Made with ❤️ — if you found this helpful, a good review on Firefox Add-ons would mean a lot.

u/Humble-Shake-7472 — 15 days ago