1.98K subscribers
3.97K photos
157 videos
15 files
4.11K links
Блог со звёздочкой.

Много репостов, немножко программирования.

Небольшое прикольное комьюнити: @decltype_chat_ptr_t
Автор: @insert_reference_here
Download Telegram
👍10😁4💯3👎2
#prog #js #typescript

Banditypes — the mighty 400-byte validator

Check if data conforms to a TS type at runtime — much like zod, yup or superstruct, but in a tiny 400-byte package. Despite the small size, it's not a toy:

Passes the relevant superstruct test suite.
Rich built-in types: maps, sets, tuples, literals, and generic union types.
Mostly API-compatible with the established libraries.
Supports both deriving TS types from schema and declaring a schema for an existing TS type.
User-defined types, refinements, and conversions.
Decent performance — among the top libraries not using code generation.
🔥21🌚1
#prog #js #article

Speeding up the JavaScript ecosystem - one library at a time

Серия из десяти (на момент написания) статей о изменениях в библиотеках для JavaScript, которые ускоряют за счёт убирания лишней работы. Некоторые не привязаны конкретно к JavaScript.
👍6
Ещё один #prog квиз, на этот раз про конструктор Date в #js:

jsdate.wtf

(лично я набрал 9/28)
😁8👎1
#prog #js #typescript #article

The Code Review That Changed Everything

TL;DR: в отличие от прочих абстракций, enum в Typescript приводит к генерации нетрививального рантайм-кода, который не вычищается tree shaker-ами, а в случае численных enum ещё и не даёт type safety.

(thanks @al_tch)
😢16🤣2🤔1
#prog #js #abnormalprogramming #article

The Depths of JavaScript: Minesweeper in 247 Bytes

b=e=>document.body.innerHTML=m(73,e||[~9,..."1172711",~9].map(j=>m[i-=j]?++e:i).map(j=>b(b[i=j]^1|e),b[i]=!m[O--,i]*~e));b(m=t=>t--?`<a onmouseup=b(b[i=${t}]^=event.which)>${t%9?"*#F"[x=b[t]??=(O-=m[t]=Math.random()<.1,1)]??~x:"<p>"}`+m(t):O,O=64)
🔥13😱1