Australia Public Holiday Checker - Online by State & Year
Select a state and year to see all public holidays. Works offline with built-in data. Plan your long weekends. Simple reference tool.
UD5 Toolkit
Inspect, visualize & interact with JavaScript Promise states in real-time
resolve() or reject() are silently ignored. This guarantees that .then() and .catch() handlers are invoked at most once, making Promise behavior predictable and race-condition-free.
Promise.race() with a special sentinel value, or maintain a wrapper that tracks the state manually (as this tool does). In production, consider using state machines or libraries like p-state for explicit state inspection.
resolve(). However, if resolve() is called with another Promise, the original Promise follows that inner Promise — it hasn't fulfilled yet. So a Promise can be resolved but still pending if it's waiting for another Promise to settle.
async/await is syntactic sugar over Promises, making asynchronous code look synchronous and easier to read. Use Promises directly when you need fine-grained control (e.g., Promise.all, Promise.race, custom promise chains). Use async/await for cleaner sequential logic. They are fully interoperable — an async function always returns a Promise.
.catch() or use try/catch with await..then() chains — breaks the chain.new Promise().Promise.all() — use Promise.allSettled() instead.resolve(promiseB) is called inside promiseA, promiseA adopts the state of promiseB. It remains pending until promiseB settles, then fulfills or rejects with the same value or reason. This is called promise assimilation or unwrapping, and it's a core mechanism enabling Promise chaining.
Select a state and year to see all public holidays. Works offline with built-in data. Plan your long weekends. Simple reference tool.
Interactive cheatsheet for JavaScript regular expressions with live examples. Click any token to see its explanation and test it on sample text immediately.
Write a JavaScript snippet and get a ready‑to‑drag bookmarklet link. With minification and encoding. Easy browser tools.
Animate text that looks like it's being decoded or scrambled before settling on the final word. Copy the JS snippet.
Drop a PDF and extract any embedded JavaScript or form actions. Check for malicious code. Privacy‑friendly analysis.
Paste JavaScript and catch syntax errors instantly with line numbers. Lightweight pre‑commit check. Local.
A textarea that expands in height as you type. See the implementation and copy the code. No library needed.
Create errors with the cause option and see chained error objects. Learn error wrapping for better debugging.
Explore all Intl APIs: NumberFormat, DateTimeFormat, RelativeTimeFormat, ListFormat. See outputs for any locale. Powerful i18n.
Set up a Shared Worker that shares state across multiple browser tabs. Counter and messaging demo. Advanced web.
Create and dispatch custom events with detail. Listen on other elements. Understand pub/sub pattern in vanilla JS.
Watch a simulation of how the JavaScript event loop handles synchronous code, microtasks, and macrotasks. Learn async.
Write a generator function and step through it with next(). See values and done state. Understand iterators.
Apply a Proxy to an object and see the get/set traps log fired in real time. Understand metaprogramming. Local.
See the current AudioContext state (suspended, running). Resume it with a button. Understand autoplay policies.
Write JavaScript using element.animate() and see the result in a live preview. Compare with CSS keyframes. Debugger included.
Display used/total/limit JS heap size using performance.memory. Take snapshots and see growth. Simple memory leak detection.
Read, write, and delete cookies using the modern Cookie Store API. Monitor change events. No more document.cookie parsing.
Input any JavaScript object and see if structuredClone can deep‑copy it. Compare with JSON.parse/stringify. Learn transferables.
Test the Fullscreen API: request fullscreen on a colored div, detect changes, and copy the JavaScript boilerplate.
Choose Babel presets (env, React, TypeScript) and plugins. Get a clean babel.config.json to transpile your code. Local tool.
Press any key to see the complete KeyboardEvent properties: key, code, keyCode, modifiers. Indispensable for game & shortcut developers.
Write JavaScript code and see the output or console.log results immediately. Safe iframe sandbox. For quick experiments.
Paste any JavaScript snippet and get a ready‑to‑drag bookmarklet link. Minify and encode automatically. Pure client.
Convert any text into JavaScript‑style \uXXXX escape sequences and vice versa. Handles emojis. Useful for i18n development.
Paste any JavaScript expression and see its evaluated type and value. Understand JS coercion and type quirks. Educational.
Type any condition and see the result of the ternary operator. Understand truthy/falsy values. Quick learning tool.
Press any key to see the corresponding JavaScript event key, code, and keyCode. An essential debugging tool for front-end developers handling keyboard input.
Minify JavaScript and CSS code to reduce file size for production. Remove whitespace and comments instantly. Run locally, your code stays private.
Make your JavaScript code more readable with this online beautifier. Format and indent JS automatically. Works entirely in your browser, protecting your code privacy.