-
-
Notifications
You must be signed in to change notification settings - Fork 4.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
$inspect
rune
#9705
$inspect
rune
#9705
Conversation
Co-authored-by: Rich Harris <richard.a.harris@gmail.com>
Co-authored-by: Rich Harris <richard.a.harris@gmail.com>
Co-authored-by: Rich Harris <richard.a.harris@gmail.com>
Co-authored-by: Rich Harris <richard.a.harris@gmail.com>
🦋 Changeset detectedLatest commit: 4d7acbd The changes in this PR will be included in the next version bump. This PR includes changesets to release 1 package
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
sites/svelte-5-preview/src/routes/docs/content/01-api/02-runes.md
Outdated
Show resolved
Hide resolved
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
could this be used to create a logger that conditionally logged depending on the environment - I'm thinking of visionmedia's "debug" module here where you get fine grained logging depending on an environ variable (.e.g. localStorage.debug") |
This builds on the brilliant ideas in #9670 but makes things simpler and more flexible. Instead of a predetermined set of options —
$log
,$log.trace
,$log.break
and$log.table
— the$inspect
rune is unopinionated. You bring your own logic.This means that you can play
klaxon.mp3
when something changes that shouldn't, or integrate with a third party monitoring library of some sort, or whatever exotic use case we can't yet imagine. Or you can do more prosaic things likedebugger
orconsole.trace
, but without learning the Svelte idioms for doing so (and without the caveats around stack traces that$log
necessitates).In addition, the logging function is invoked when the signal is set, not when the effect runs after the signal is set. As a result, the call stack makes it easy to trace back through the sequence of function calls that culminated in the state change, rather than mostly through cryptic Svelte internals.
Note: Sourcemaps are currently a bit wonky. We're working on it!!
Before submitting the PR, please make sure you do the following
feat:
,fix:
,chore:
, ordocs:
.Tests and linting
pnpm test
and lint the project withpnpm lint