Uses atcute to show how you can do upserts with atproto records
at main 778 B view raw
1import * as TID from '@atcute/tid'; 2 3const rightMeow = new Date(); 4console.log(`It's ${rightMeow.toLocaleString()} or ${rightMeow.getTime()}`); 5 6//TIDs timestamps are in microseconds. Padding it a bit since we don't need that precision. 7const rightNowMicroSeconds = rightMeow * 1000; 8//Every TID needs a clock id, can be your favorite number even. 9const clockId = 23; 10 11const rightMeowTid = TID.create(rightNowMicroSeconds, clockId); 12console.log(`TID: ${rightMeowTid}`); 13const { timestamp} = TID.parse(rightMeowTid); 14 15//remove the padding 16const backToMilliSeconds = timestamp / 1000; 17//Get a readable timestamp for demo 18const rightNowConvertedBack = new Date(backToMilliSeconds); 19console.log(`Converted back: ${rightNowConvertedBack.toLocaleString()} or ${backToMilliSeconds}`);