MIRROR: javascript for ๐Ÿœ's, a tiny runtime with big ambitions
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

update README with new features

+154 -15
+154 -15
README.txt
··· 15 15 with Radix3 routing, parameter handling, and various response types. 16 16 17 17 MODULES: 18 - - Ant.serve() - HTTP server 19 - - import() - ESM module loading 20 - - Timers - setTimeout, setInterval, queueMicrotask 21 - - fetch() - HTTP client 22 - - crypto.* - Cryptography 23 - - JSON.* - JSON parsing 24 - - console.* - Logging 25 - - Atomics.* - Atomic operations (add, sub, and, or, xor, etc.) 26 - - SharedArrayBuffer - Shared memory buffers 27 - - TypedArrays - Int8Array, Uint8Array, Int32Array, etc. 18 + 19 + HTTP & Networking: 20 + - Ant.serve() - HTTP server with uv_tcp (TLS support via tlsuv) 21 + - fetch() - HTTP client with TLS support (GET, POST, etc.) 22 + 23 + Timers & Scheduling (built-in): 24 + - setTimeout() - Execute callback after delay 25 + - setInterval() - Execute callback repeatedly 26 + - setImmediate() - Execute callback on next event loop tick 27 + - clearTimeout() - Cancel scheduled timeout 28 + - clearInterval() - Cancel scheduled interval 29 + - queueMicrotask() - Queue microtask for execution 30 + 31 + File System (import from 'ant:fs'): 32 + Async: 33 + - readFile() - Read file asynchronously 34 + - writeFile() - Write file asynchronously 35 + - unlink() - Delete file asynchronously 36 + - mkdir() - Create directory asynchronously 37 + - rmdir() - Remove directory asynchronously 38 + - stat() - Get file statistics 39 + Sync: 40 + - readFileSync() - Read file synchronously 41 + - writeFileSync() - Write file synchronously 42 + - unlinkSync() - Delete file synchronously 43 + - mkdirSync() - Create directory synchronously 44 + - rmdirSync() - Remove directory synchronously 45 + - statSync() - Get file statistics synchronously 46 + 47 + Shell Commands (import { $ } from 'ant:shell'): 48 + - $`command` - Execute shell commands with tagged template literals 49 + - result.text() - Get stdout as string 50 + - result.lines() - Get stdout as array of lines 51 + - result.exitCode - Command exit code 52 + - result.stdout - Raw stdout 53 + - result.stderr - Raw stderr 54 + 55 + Cryptography (Ant.crypto): 56 + - random() - Cryptographically secure random number 57 + - randomBytes() - Generate random bytes 58 + - randomUUID() - Generate UUID v4 59 + - randomUUIDv7() - Generate UUID v7 (time-ordered) 60 + - getRandomValues() - Fill TypedArray with random values 61 + - btoa() - Base64 encoding (built-in) 62 + - atob() - Base64 decoding (built-in) 63 + 64 + Path Utilities (import from 'ant:path'): 65 + - basename() - Get filename from path 66 + - dirname() - Get directory from path 67 + - extname() - Get file extension 68 + - join() - Join path segments 69 + - resolve() - Resolve absolute path 70 + - normalize() - Normalize path 71 + - isAbsolute() - Check if path is absolute 72 + 73 + Process (Ant.process): 74 + - env - Environment variables (with .env file support) 75 + - pid - Process ID 76 + - exit() - Exit process with code 77 + 78 + JSON: 79 + - JSON.parse() - Parse JSON string (using yyjson) 80 + - JSON.stringify() - Stringify to JSON 81 + - console.log() - Log with colored JSON output 82 + - console.error() - Log errors 83 + - console.warn() - Log warnings 84 + - console.dir() - Log objects 85 + 86 + Foreign Function Interface (import from 'ant:ffi'): 87 + - dlopen() - Load dynamic library 88 + - define() - Define C function signature 89 + - alloc() - Allocate memory 90 + - free() - Free memory 91 + - read() - Read from pointer 92 + - write() - Write to pointer 93 + - callback() - Create C callback from JS function 94 + - freeCallback() - Free callback memory 95 + - pointer() - Get pointer from value 96 + - readPtr() - Read pointer value 97 + - suffix - Platform library suffix (.so, .dylib, .dll) 98 + - FFIType - Type constants for FFI 99 + 100 + Binary Data: 101 + - ArrayBuffer - Fixed-length binary data buffer 102 + - SharedArrayBuffer - Shared memory buffer for concurrency 103 + - TypedArrays: 104 + * Int8Array, Uint8Array, Uint8ClampedArray 105 + * Int16Array, Uint16Array 106 + * Int32Array, Uint32Array 107 + * Float32Array, Float64Array 108 + * BigInt64Array, BigUint64Array 109 + - DataView - Low-level interface to ArrayBuffer 110 + - Buffer - Node.js-compatible Buffer (Uint8Array subclass) 28 111 29 - FEATURES: 30 - - Async/await and Promises 31 - - ES6+ syntax (arrow functions, classes, template literals) 112 + Atomic Operations: 113 + - Atomics.add() - Atomic addition 114 + - Atomics.sub() - Atomic subtraction 115 + - Atomics.and() - Atomic bitwise AND 116 + - Atomics.or() - Atomic bitwise OR 117 + - Atomics.xor() - Atomic bitwise XOR 118 + - Atomics.load() - Atomic load 119 + - Atomics.store() - Atomic store 120 + - Atomics.exchange() - Atomic exchange 121 + - Atomics.compareExchange() - Atomic compare-and-exchange 122 + - Atomics.wait() - Wait for shared memory location 123 + - Atomics.notify() - Notify waiters on shared memory 124 + - Atomics.isLockFree() - Check if size is lock-free 125 + 126 + Events: 127 + - addEventListener() - Register event listener 128 + - removeEventListener() - Remove event listener 129 + - dispatchEvent() - Dispatch custom event 130 + 131 + Module System: 132 + - import() - Dynamic ESM module import 133 + - import.meta.url - Current module URL 134 + - import.meta.dirname - Current module directory 135 + - import.meta.resolve() - Resolve module specifier 136 + - export / import - Static ESM imports/exports 137 + - import 'ant:fs' - Import built-in fs module 138 + - import 'ant:path' - Import built-in path module 139 + - import 'ant:shell' - Import built-in shell module ($`...`) 140 + - import 'ant:ffi' - Import built-in FFI module 141 + 142 + JAVASCRIPT FEATURES: 143 + - Async/await and Promises (Promise.all, Promise.race, Promise.resolve, etc.) 144 + - ES6+ syntax (arrow functions, classes, template literals, destructuring) 145 + - Spread operator and rest parameters 146 + - Optional chaining (?.) 147 + - Nullish coalescing (??) 148 + - for...of and for...in loops 149 + - try/catch/finally error handling 150 + - BigInt support with arithmetic operations 32 151 - Number literals (binary 0b1010, octal 0o755, hex 0xFF) 33 - - Atomic operations for concurrent programming 152 + - Regular expressions with full pattern matching 153 + - Built-in collections: Map, Set, WeakMap, WeakSet 154 + - Object.defineProperty() with property descriptors 155 + - Strict mode support ("use strict") 156 + - Function.prototype.call/apply/bind 157 + - Array methods (map, filter, reduce, forEach, etc.) 158 + - String methods (split, replace, includes, startsWith, etc.) 159 + - Math object with all standard functions 160 + 161 + CONCURRENCY: 162 + - Minicoro-based coroutines for async/await 163 + - Event loop with microtask queue 164 + - Atomic operations for lock-free concurrent programming 165 + - SharedArrayBuffer for shared memory between workers 166 + - Atomics.wait/notify for thread synchronization 167 + 168 + SYSTEM: 34 169 - Signal handlers (SIGINT, SIGTERM, etc.) 35 - - Embedded garbage collector 170 + - Mark-and-sweep garbage collector with free list optimization 171 + - Property lookup caching for performance 172 + - Dynamic memory growth with configurable limits 173 + - Native library integration via FFI 174 + - libuv-based async I/O for files and networking