/**Mocked data */ export default function({faker, url, options, login = faker.internet.userName()}) { //Twitter api if (/^https:..api.twitter.com.*$/.test(url)) { //Get user profile if ((/users.by.username/.test(url)) && (options?.headers?.Authorization === "Bearer MOCKED_TOKEN")) { console.debug(`metrics/compute/mocks > mocking twitter api result > ${url}`) const username = url.match(/username[/](?.*?)[?]/)?.groups?.username ?? faker.internet.userName() return ({ status:200, data:{ data:{ profile_image_url:faker.image.people(), name:faker.name.findName(), verified:faker.datatype.boolean(), id:faker.datatype.number(1000000).toString(), username, }, }, }) } //Get recent tweets if ((/tweets.search.recent/.test(url)) && (options?.headers?.Authorization === "Bearer MOCKED_TOKEN")) { console.debug(`metrics/compute/mocks > mocking twitter api result > ${url}`) return ({ status:200, data:{ data:[ { id:faker.datatype.number(100000000000000).toString(), created_at:`${faker.date.recent()}`, entities:{ mentions:[ {start:22, end:33, username:"lowlighter"}, ], }, text:"Checkout metrics from @lowlighter ! #GitHub", }, { id:faker.datatype.number(100000000000000).toString(), created_at:`${faker.date.recent()}`, text:faker.lorem.paragraph(), }, ], includes:{ users:[ { id:faker.datatype.number(100000000000000).toString(), name:"lowlighter", username:"lowlighter", }, ], }, meta:{ newest_id:faker.datatype.number(100000000000000).toString(), oldest_id:faker.datatype.number(100000000000000).toString(), result_count:2, next_token:"MOCKED_CURSOR", }, }, }) } } }