|
| 1 | +import*asfakerfrom'faker' |
| 2 | + |
| 3 | +constapi=asyncurl=>{ |
| 4 | +// sign up for a developer twitter account to get real tweets |
| 5 | +// examples at https://api.twitter.com/1.1/search/tweets.json |
| 6 | + |
| 7 | +// fake api delay |
| 8 | +awaitnewPromise((resolve,reject)=>{ |
| 9 | +setTimeout(resolve,1500) |
| 10 | +}) |
| 11 | + |
| 12 | +// fake api |
| 13 | +switch(url){ |
| 14 | +case'messages': |
| 15 | +// generate fake data |
| 16 | +constfakeMessages=[1,2,3,4,5,6].map(()=>({ |
| 17 | +id_str:faker.random.uuid(), |
| 18 | +created_at:faker.date.recent().toISOString(), |
| 19 | +text:faker.lorem.paragraph(), |
| 20 | +retweet_count:faker.random.number(50), |
| 21 | +retweeted:false, |
| 22 | +favorite_count:faker.random.number(50), |
| 23 | +favorited:false, |
| 24 | +user:{ |
| 25 | +id_str:faker.random.uuid(), |
| 26 | +name:faker.internet.userName(), |
| 27 | +screen_name:faker.internet.userName(), |
| 28 | +profile_image_url_https:faker.image.avatar(), |
| 29 | +}, |
| 30 | +})) |
| 31 | + |
| 32 | +returnfakeMessages |
| 33 | +default: |
| 34 | +thrownewError('Unknown API endpoint') |
| 35 | +} |
| 36 | +} |
| 37 | + |
| 38 | +exportdefaultapi |