chore: code formatting

This commit is contained in:
github-actions[bot]
2022-01-16 01:41:24 +00:00
parent 4fa62aad67
commit d3228a126a
94 changed files with 3875 additions and 3822 deletions

View File

@@ -1,5 +1,5 @@
/**Mocked data */
export default function({faker, url, options, login = faker.internet.userName()}) {
export default function({ faker, url, options, login = faker.internet.userName() }) {
//Last.fm api
if (/^https:..ws.audioscrobbler.com.*$/.test(url)) {
//Get recently played tracks
@@ -10,146 +10,146 @@ export default function({faker, url, options, login = faker.internet.userName()}
const track = faker.random.words(5)
const date = faker.date.recent()
return ({
status:200,
data:{
recenttracks:{
"@attr":{
page:"1",
perPage:"1",
user:"RJ",
total:"100",
pages:"100",
status: 200,
data: {
recenttracks: {
"@attr": {
page: "1",
perPage: "1",
user: "RJ",
total: "100",
pages: "100",
},
track:[
track: [
{
artist:{
mbid:"",
"#text":artist,
artist: {
mbid: "",
"#text": artist,
},
album:{
mbid:"",
"#text":album,
album: {
mbid: "",
"#text": album,
},
image:[
image: [
{
size:"small",
"#text":faker.image.abstract(),
size: "small",
"#text": faker.image.abstract(),
},
{
size:"medium",
"#text":faker.image.abstract(),
size: "medium",
"#text": faker.image.abstract(),
},
{
size:"large",
"#text":faker.image.abstract(),
size: "large",
"#text": faker.image.abstract(),
},
{
size:"extralarge",
"#text":faker.image.abstract(),
size: "extralarge",
"#text": faker.image.abstract(),
},
],
streamable:"0",
date:{
uts:Math.floor(date.getTime() / 1000),
"#text":date.toUTCString().slice(5, 22),
streamable: "0",
date: {
uts: Math.floor(date.getTime() / 1000),
"#text": date.toUTCString().slice(5, 22),
},
url:faker.internet.url(),
name:track,
mbid:"",
url: faker.internet.url(),
name: track,
mbid: "",
},
],
},
},
})
}
else if (/user.gettoptracks/.test(url)) {
else if (/user.gettoptracks/.test(url)) {
console.debug(`metrics/compute/mocks > mocking lastfm api result > ${url}`)
const artist = faker.random.word()
const track = faker.random.words(5)
return ({
status:200,
data:{
toptracks:{
"@attr":{
page:"1",
perPage:"1",
user:"RJ",
total:"100",
pages:"100",
status: 200,
data: {
toptracks: {
"@attr": {
page: "1",
perPage: "1",
user: "RJ",
total: "100",
pages: "100",
},
track:[
track: [
{
artist:{
mbid:"",
name:artist,
artist: {
mbid: "",
name: artist,
},
image:[
image: [
{
size:"small",
"#text":faker.image.abstract(),
size: "small",
"#text": faker.image.abstract(),
},
{
size:"medium",
"#text":faker.image.abstract(),
size: "medium",
"#text": faker.image.abstract(),
},
{
size:"large",
"#text":faker.image.abstract(),
size: "large",
"#text": faker.image.abstract(),
},
{
size:"extralarge",
"#text":faker.image.abstract(),
size: "extralarge",
"#text": faker.image.abstract(),
},
],
url:faker.internet.url(),
name:track,
mbid:"",
url: faker.internet.url(),
name: track,
mbid: "",
},
],
},
},
})
}
else if (/user.gettopartists/.test(url)) {
else if (/user.gettopartists/.test(url)) {
console.debug(`metrics/compute/mocks > mocking lastfm api result > ${url}`)
const artist = faker.random.word()
const playcount = faker.random.number()
return ({
status:200,
data:{
topartists:{
"@attr":{
page:"1",
perPage:"1",
user:"RJ",
total:"100",
pages:"100",
status: 200,
data: {
topartists: {
"@attr": {
page: "1",
perPage: "1",
user: "RJ",
total: "100",
pages: "100",
},
artist:[
artist: [
{
image:[
image: [
{
size:"small",
"#text":faker.image.abstract(),
size: "small",
"#text": faker.image.abstract(),
},
{
size:"medium",
"#text":faker.image.abstract(),
size: "medium",
"#text": faker.image.abstract(),
},
{
size:"large",
"#text":faker.image.abstract(),
size: "large",
"#text": faker.image.abstract(),
},
{
size:"extralarge",
"#text":faker.image.abstract(),
size: "extralarge",
"#text": faker.image.abstract(),
},
],
streamable:"0",
streamable: "0",
playcount,
url:faker.internet.url(),
name:artist,
mbid:"",
url: faker.internet.url(),
name: artist,
mbid: "",
},
],
},

View File

@@ -1,27 +1,27 @@
/**Mocked data */
export default function({faker, url}) {
export default function({ faker, url }) {
//Last.fm api
if (/^https:..testapp.herokuapp.com.*$/.test(url)) {
//Get Nightscout Data
console.debug(`metrics/compute/mocks > mocking nightscout api result > ${url}`)
const lastInterval = Math.floor(new Date() / 300000) * 300000
return ({
status:200,
data:new Array(12).fill(null).map(_ => ({
_id:faker.git.commitSha().substring(0, 23),
device:"xDrip-DexcomG5",
date:lastInterval,
dateString:new Date(lastInterval).toISOString(),
sgv:faker.datatype.number({min:40, max:400}),
delta:faker.datatype.number({min:-10, max:10}),
direction:faker.random.arrayElement(["SingleUp", "DoubleUp", "FortyFiveUp", "Flat", "FortyFiveDown", "SingleDown", "DoubleDown"]),
type:"sgv",
filtered:0,
unfiltered:0,
rssi:100,
noise:1,
sysTime:new Date(lastInterval).toISOString(),
utcOffset:faker.datatype.number({min:-12, max:14}) * 60,
status: 200,
data: new Array(12).fill(null).map(_ => ({
_id: faker.git.commitSha().substring(0, 23),
device: "xDrip-DexcomG5",
date: lastInterval,
dateString: new Date(lastInterval).toISOString(),
sgv: faker.datatype.number({ min: 40, max: 400 }),
delta: faker.datatype.number({ min: -10, max: 10 }),
direction: faker.random.arrayElement(["SingleUp", "DoubleUp", "FortyFiveUp", "Flat", "FortyFiveDown", "SingleDown", "DoubleDown"]),
type: "sgv",
filtered: 0,
unfiltered: 0,
rssi: 100,
noise: 1,
sysTime: new Date(lastInterval).toISOString(),
utcOffset: faker.datatype.number({ min: -12, max: 14 }) * 60,
})),
})
}

View File

@@ -1,5 +1,5 @@
/**Mocked data */
export default function({faker, url, options, login = faker.internet.userName()}) {
export default function({ faker, url, options, login = faker.internet.userName() }) {
//Tested url
const tested = url.match(/&url=(?<tested>.*?)(?:&|$)/)?.groups?.tested ?? faker.internet.url()
//Pagespeed api
@@ -8,96 +8,96 @@ export default function({faker, url, options, login = faker.internet.userName()}
if (/v5.runPagespeed.*&key=MOCKED_TOKEN/.test(url)) {
console.debug(`metrics/compute/mocks > mocking pagespeed api result > ${url}`)
return ({
status:200,
data:{
captchaResult:"CAPTCHA_NOT_NEEDED",
id:tested,
lighthouseResult:{
requestedUrl:tested,
finalUrl:tested,
lighthouseVersion:"6.3.0",
audits:{
"final-screenshot":{
id:"final-screenshot",
title:"Final Screenshot",
score:null,
details:{
data:null,
type:"screenshot",
timestamp:Date.now(),
status: 200,
data: {
captchaResult: "CAPTCHA_NOT_NEEDED",
id: tested,
lighthouseResult: {
requestedUrl: tested,
finalUrl: tested,
lighthouseVersion: "6.3.0",
audits: {
"final-screenshot": {
id: "final-screenshot",
title: "Final Screenshot",
score: null,
details: {
data: null,
type: "screenshot",
timestamp: Date.now(),
},
},
metrics:{
id:"metrics",
title:"Metrics",
score:null,
details:{
items:[
metrics: {
id: "metrics",
title: "Metrics",
score: null,
details: {
items: [
{
observedFirstContentfulPaint:faker.datatype.number(500),
observedFirstVisualChangeTs:faker.time.recent(),
observedFirstContentfulPaintTs:faker.time.recent(),
firstContentfulPaint:faker.datatype.number(500),
observedDomContentLoaded:faker.datatype.number(500),
observedFirstMeaningfulPaint:faker.datatype.number(1000),
maxPotentialFID:faker.datatype.number(500),
observedLoad:faker.datatype.number(500),
firstMeaningfulPaint:faker.datatype.number(500),
observedCumulativeLayoutShift:faker.datatype.float({max:1}),
observedSpeedIndex:faker.datatype.number(1000),
observedSpeedIndexTs:faker.time.recent(),
observedTimeOriginTs:faker.time.recent(),
observedLargestContentfulPaint:faker.datatype.number(1000),
cumulativeLayoutShift:faker.datatype.float({max:1}),
observedFirstPaintTs:faker.time.recent(),
observedTraceEndTs:faker.time.recent(),
largestContentfulPaint:faker.datatype.number(2000),
observedTimeOrigin:faker.datatype.number(10),
speedIndex:faker.datatype.number(1000),
observedTraceEnd:faker.datatype.number(2000),
observedDomContentLoadedTs:faker.time.recent(),
observedFirstPaint:faker.datatype.number(500),
totalBlockingTime:faker.datatype.number(500),
observedLastVisualChangeTs:faker.time.recent(),
observedFirstVisualChange:faker.datatype.number(500),
observedLargestContentfulPaintTs:faker.time.recent(),
estimatedInputLatency:faker.datatype.number(100),
observedLoadTs:faker.time.recent(),
observedLastVisualChange:faker.datatype.number(1000),
firstCPUIdle:faker.datatype.number(1000),
interactive:faker.datatype.number(1000),
observedNavigationStartTs:faker.time.recent(),
observedNavigationStart:faker.datatype.number(10),
observedFirstMeaningfulPaintTs:faker.time.recent(),
observedFirstContentfulPaint: faker.datatype.number(500),
observedFirstVisualChangeTs: faker.time.recent(),
observedFirstContentfulPaintTs: faker.time.recent(),
firstContentfulPaint: faker.datatype.number(500),
observedDomContentLoaded: faker.datatype.number(500),
observedFirstMeaningfulPaint: faker.datatype.number(1000),
maxPotentialFID: faker.datatype.number(500),
observedLoad: faker.datatype.number(500),
firstMeaningfulPaint: faker.datatype.number(500),
observedCumulativeLayoutShift: faker.datatype.float({ max: 1 }),
observedSpeedIndex: faker.datatype.number(1000),
observedSpeedIndexTs: faker.time.recent(),
observedTimeOriginTs: faker.time.recent(),
observedLargestContentfulPaint: faker.datatype.number(1000),
cumulativeLayoutShift: faker.datatype.float({ max: 1 }),
observedFirstPaintTs: faker.time.recent(),
observedTraceEndTs: faker.time.recent(),
largestContentfulPaint: faker.datatype.number(2000),
observedTimeOrigin: faker.datatype.number(10),
speedIndex: faker.datatype.number(1000),
observedTraceEnd: faker.datatype.number(2000),
observedDomContentLoadedTs: faker.time.recent(),
observedFirstPaint: faker.datatype.number(500),
totalBlockingTime: faker.datatype.number(500),
observedLastVisualChangeTs: faker.time.recent(),
observedFirstVisualChange: faker.datatype.number(500),
observedLargestContentfulPaintTs: faker.time.recent(),
estimatedInputLatency: faker.datatype.number(100),
observedLoadTs: faker.time.recent(),
observedLastVisualChange: faker.datatype.number(1000),
firstCPUIdle: faker.datatype.number(1000),
interactive: faker.datatype.number(1000),
observedNavigationStartTs: faker.time.recent(),
observedNavigationStart: faker.datatype.number(10),
observedFirstMeaningfulPaintTs: faker.time.recent(),
},
],
},
},
},
categories:{
"best-practices":{
id:"best-practices",
title:"Best Practices",
score:faker.datatype.float({max:1}),
categories: {
"best-practices": {
id: "best-practices",
title: "Best Practices",
score: faker.datatype.float({ max: 1 }),
},
seo:{
id:"seo",
title:"SEO",
score:faker.datatype.float({max:1}),
seo: {
id: "seo",
title: "SEO",
score: faker.datatype.float({ max: 1 }),
},
accessibility:{
id:"accessibility",
title:"Accessibility",
score:faker.datatype.float({max:1}),
accessibility: {
id: "accessibility",
title: "Accessibility",
score: faker.datatype.float({ max: 1 }),
},
performance:{
id:"performance",
title:"Performance",
score:faker.datatype.float({max:1}),
performance: {
id: "performance",
title: "Performance",
score: faker.datatype.float({ max: 1 }),
},
},
},
analysisUTCTimestamp:`${faker.date.recent()}`,
analysisUTCTimestamp: `${faker.date.recent()}`,
},
})
}

View File

@@ -1,24 +1,24 @@
/**Mocked data */
export default function({faker, url, options, login = faker.internet.userName()}) {
export default function({ faker, url, options, login = faker.internet.userName() }) {
//Wakatime api
if (/^https:..api.poopmap.net$/.test(url)) {
//Get user profile
if (/public_links\/MOCKED_TOKEN/.test(url)) {
console.debug(`metrics/compute/mocks > mocking poopmap api result > ${url}`)
return ({
status:200,
data:{
poops:new Array(12 + faker.datatype.number(6)).fill(null).map(_ => ({
id:79744699,
latitude:faker.address.latitude(),
longitude:faker.address.longitude(),
created_at:faker.date.past().toISOString(),
note:"",
place:"",
rating:faker.datatype.number(5),
followers_count:faker.datatype.number(100),
comments_count:faker.datatype.number(12)
}))
status: 200,
data: {
poops: new Array(12 + faker.datatype.number(6)).fill(null).map(_ => ({
id: 79744699,
latitude: faker.address.latitude(),
longitude: faker.address.longitude(),
created_at: faker.date.past().toISOString(),
note: "",
place: "",
rating: faker.datatype.number(5),
followers_count: faker.datatype.number(100),
comments_count: faker.datatype.number(12),
})),
},
})
}

View File

@@ -1,5 +1,5 @@
/**Mocked data */
export default function({faker, url, options, login = faker.internet.userName()}) {
export default function({ faker, url, options, login = faker.internet.userName() }) {
//Spotify api
if (/^https:..api.spotify.com.*$/.test(url)) {
//Get recently played tracks
@@ -8,140 +8,140 @@ export default function({faker, url, options, login = faker.internet.userName()}
const artist = faker.random.words()
const track = faker.random.words(5)
return ({
status:200,
data:{
items:[
status: 200,
data: {
items: [
{
track:{
album:{
album_type:"single",
artists:[
track: {
album: {
album_type: "single",
artists: [
{
name:artist,
type:"artist",
name: artist,
type: "artist",
},
],
images:[
images: [
{
height:640,
url:faker.image.abstract(),
width:640,
height: 640,
url: faker.image.abstract(),
width: 640,
},
{
height:300,
url:faker.image.abstract(),
width:300,
height: 300,
url: faker.image.abstract(),
width: 300,
},
{
height:64,
url:faker.image.abstract(),
width:64,
height: 64,
url: faker.image.abstract(),
width: 64,
},
],
name:track,
release_date:`${faker.date.past()}`.substring(0, 10),
type:"album",
name: track,
release_date: `${faker.date.past()}`.substring(0, 10),
type: "album",
},
artists:[
artists: [
{
name:artist,
type:"artist",
name: artist,
type: "artist",
},
],
name:track,
preview_url:faker.internet.url(),
type:"track",
name: track,
preview_url: faker.internet.url(),
type: "track",
},
played_at:`${faker.date.recent()}`,
context:{
type:"album",
played_at: `${faker.date.recent()}`,
context: {
type: "album",
},
},
],
},
})
}
else if (/me.top.tracks/.test(url) && (options?.headers?.Authorization === "Bearer MOCKED_TOKEN_ACCESS")) {
else if (/me.top.tracks/.test(url) && (options?.headers?.Authorization === "Bearer MOCKED_TOKEN_ACCESS")) {
console.debug(`metrics/compute/mocks > mocking spotify api result > ${url}`)
const artist = faker.random.words()
const track = faker.random.words(5)
return ({
status:200,
data:{
items:[
status: 200,
data: {
items: [
{
album:{
album_type:"single",
artists:[
album: {
album_type: "single",
artists: [
{
name:artist,
type:"artist",
name: artist,
type: "artist",
},
],
images:[
images: [
{
height:640,
url:faker.image.abstract(),
width:640,
height: 640,
url: faker.image.abstract(),
width: 640,
},
{
height:300,
url:faker.image.abstract(),
width:300,
height: 300,
url: faker.image.abstract(),
width: 300,
},
{
height:64,
url:faker.image.abstract(),
width:64,
height: 64,
url: faker.image.abstract(),
width: 64,
},
],
name:track,
release_date:`${faker.date.past()}`.substring(0, 10),
type:"album",
name: track,
release_date: `${faker.date.past()}`.substring(0, 10),
type: "album",
},
artists:[
artists: [
{
name:artist,
type:"artist",
name: artist,
type: "artist",
},
],
name:track,
preview_url:faker.internet.url(),
type:"track",
name: track,
preview_url: faker.internet.url(),
type: "track",
},
],
},
})
}
else if (/me.top.artists/.test(url) && (options?.headers?.Authorization === "Bearer MOCKED_TOKEN_ACCESS")) {
else if (/me.top.artists/.test(url) && (options?.headers?.Authorization === "Bearer MOCKED_TOKEN_ACCESS")) {
console.debug(`metrics/compute/mocks > mocking spotify api result > ${url}`)
const genre = faker.random.words()
const track = faker.random.words(5)
return ({
status:200,
data:{
items:[
status: 200,
data: {
items: [
{
genres: [genre],
images:[
images: [
{
height:640,
url:faker.image.abstract(),
width:640,
height: 640,
url: faker.image.abstract(),
width: 640,
},
{
height:300,
url:faker.image.abstract(),
width:300,
height: 300,
url: faker.image.abstract(),
width: 300,
},
{
height:64,
url:faker.image.abstract(),
width:64,
height: 64,
url: faker.image.abstract(),
width: 64,
},
],
name:track,
type:"artist",
name: track,
type: "artist",
},
],
},

View File

@@ -1,5 +1,5 @@
/**Mocked data */
export default function({faker, url, options, login = faker.internet.userName()}) {
export default function({ faker, url, options, login = faker.internet.userName() }) {
//Stackoverflow api
if (/^https:..api.stackexchange.com.2.2.*$/.test(url)) {
//Extract user id
@@ -9,24 +9,24 @@ export default function({faker, url, options, login = faker.internet.userName()}
if (/users[/]\d+[/][?]site=stackoverflow$/.test(url)) {
console.debug(`metrics/compute/mocks > mocking stackoverflow api result > ${url}`)
return ({
status:200,
data:{
items:[
status: 200,
data: {
items: [
{
badge_counts:{bronze:faker.datatype.number(500), silver:faker.datatype.number(300), gold:faker.datatype.number(100)},
accept_rate:faker.datatype.number(100),
answer_count:faker.datatype.number(1000),
question_count:faker.datatype.number(1000),
view_count:faker.datatype.number(10000),
creation_date:faker.date.past(),
display_name:faker.internet.userName(),
badge_counts: { bronze: faker.datatype.number(500), silver: faker.datatype.number(300), gold: faker.datatype.number(100) },
accept_rate: faker.datatype.number(100),
answer_count: faker.datatype.number(1000),
question_count: faker.datatype.number(1000),
view_count: faker.datatype.number(10000),
creation_date: faker.date.past(),
display_name: faker.internet.userName(),
user_id,
reputation:faker.datatype.number(100000),
reputation: faker.datatype.number(100000),
},
],
has_more:false,
quota_max:300,
quota_remaining:faker.datatype.number(300),
has_more: false,
quota_max: 300,
quota_remaining: faker.datatype.number(300),
},
})
}
@@ -34,9 +34,9 @@ export default function({faker, url, options, login = faker.internet.userName()}
if (/[?]site=stackoverflow&filter=total$/.test(url)) {
console.debug(`metrics/compute/mocks > mocking stackoverflow api result > ${url}`)
return ({
status:200,
data:{
total:faker.datatype.number(10000),
status: 200,
data: {
total: faker.datatype.number(10000),
},
})
}
@@ -44,29 +44,29 @@ export default function({faker, url, options, login = faker.internet.userName()}
if ((/questions[?]site=stackoverflow/.test(url)) || (/questions[/][\d;]+[?]site=stackoverflow/.test(url))) {
console.debug(`metrics/compute/mocks > mocking stackoverflow api result > ${url}`)
return ({
status:200,
data:{
items:new Array(pagesize).fill(null).map(_ => ({
tags:new Array(5).fill(null).map(_ => faker.lorem.slug()),
owner:{display_name:faker.internet.userName()},
is_answered:faker.datatype.boolean(),
view_count:faker.datatype.number(10000),
accepted_answer_id:faker.datatype.number(1000000),
answer_count:faker.datatype.number(100),
score:faker.datatype.number(1000),
creation_date:faker.time.recent(),
down_vote_count:faker.datatype.number(1000),
up_vote_count:faker.datatype.number(1000),
comment_count:faker.datatype.number(1000),
favorite_count:faker.datatype.number(1000),
title:faker.lorem.sentence(),
body_markdown:faker.lorem.paragraphs(),
link:faker.internet.url(),
question_id:faker.datatype.number(1000000),
status: 200,
data: {
items: new Array(pagesize).fill(null).map(_ => ({
tags: new Array(5).fill(null).map(_ => faker.lorem.slug()),
owner: { display_name: faker.internet.userName() },
is_answered: faker.datatype.boolean(),
view_count: faker.datatype.number(10000),
accepted_answer_id: faker.datatype.number(1000000),
answer_count: faker.datatype.number(100),
score: faker.datatype.number(1000),
creation_date: faker.time.recent(),
down_vote_count: faker.datatype.number(1000),
up_vote_count: faker.datatype.number(1000),
comment_count: faker.datatype.number(1000),
favorite_count: faker.datatype.number(1000),
title: faker.lorem.sentence(),
body_markdown: faker.lorem.paragraphs(),
link: faker.internet.url(),
question_id: faker.datatype.number(1000000),
})),
has_more:false,
quota_max:300,
quota_remaining:faker.datatype.number(300),
has_more: false,
quota_max: 300,
quota_remaining: faker.datatype.number(300),
},
})
}
@@ -74,24 +74,24 @@ export default function({faker, url, options, login = faker.internet.userName()}
if ((/answers[?]site=stackoverflow/.test(url)) || (/answers[/][\d;]+[?]site=stackoverflow/.test(url))) {
console.debug(`metrics/compute/mocks > mocking stackoverflow api result > ${url}`)
return ({
status:200,
data:{
items:new Array(pagesize).fill(null).map(_ => ({
owner:{display_name:faker.internet.userName()},
link:faker.internet.url(),
is_accepted:faker.datatype.boolean(),
score:faker.datatype.number(1000),
down_vote_count:faker.datatype.number(1000),
up_vote_count:faker.datatype.number(1000),
comment_count:faker.datatype.number(1000),
creation_date:faker.time.recent(),
question_id:faker.datatype.number(1000000),
body_markdown:faker.lorem.paragraphs(),
answer_id:faker.datatype.number(1000000),
status: 200,
data: {
items: new Array(pagesize).fill(null).map(_ => ({
owner: { display_name: faker.internet.userName() },
link: faker.internet.url(),
is_accepted: faker.datatype.boolean(),
score: faker.datatype.number(1000),
down_vote_count: faker.datatype.number(1000),
up_vote_count: faker.datatype.number(1000),
comment_count: faker.datatype.number(1000),
creation_date: faker.time.recent(),
question_id: faker.datatype.number(1000000),
body_markdown: faker.lorem.paragraphs(),
answer_id: faker.datatype.number(1000000),
})),
has_more:false,
quota_max:300,
quota_remaining:faker.datatype.number(300),
has_more: false,
quota_max: 300,
quota_remaining: faker.datatype.number(300),
},
})
}

View File

@@ -1,5 +1,5 @@
/**Mocked data */
export default function({faker, url, options, login = faker.internet.userName()}) {
export default function({ faker, url, options, login = faker.internet.userName() }) {
//Twitter api
if (/^https:..api.twitter.com.*$/.test(url)) {
//Get user profile
@@ -7,13 +7,13 @@ export default function({faker, url, options, login = faker.internet.userName()}
console.debug(`metrics/compute/mocks > mocking twitter api result > ${url}`)
const username = url.match(/username[/](?<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(),
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,
},
},
@@ -23,39 +23,39 @@ export default function({faker, url, options, login = faker.internet.userName()}
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:[
status: 200,
data: {
data: [
{
id:faker.datatype.number(100000000000000).toString(),
created_at:`${faker.date.recent()}`,
entities:{
mentions:[
{start:22, end:33, username:"lowlighter"},
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",
text: "Checkout metrics from @lowlighter ! #GitHub",
},
{
id:faker.datatype.number(100000000000000).toString(),
created_at:`${faker.date.recent()}`,
text:faker.lorem.paragraph(),
id: faker.datatype.number(100000000000000).toString(),
created_at: `${faker.date.recent()}`,
text: faker.lorem.paragraph(),
},
],
includes:{
users:[
includes: {
users: [
{
id:faker.datatype.number(100000000000000).toString(),
name:"lowlighter",
username:"lowlighter",
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",
meta: {
newest_id: faker.datatype.number(100000000000000).toString(),
oldest_id: faker.datatype.number(100000000000000).toString(),
result_count: 2,
next_token: "MOCKED_CURSOR",
},
},
})

View File

@@ -1,5 +1,5 @@
/**Mocked data */
export default function({faker, url, options, login = faker.internet.userName()}) {
export default function({ faker, url, options, login = faker.internet.userName() }) {
//Wakatime api
if (/^https:..wakatime.com.api.v1.users..*.stats.*$/.test(url)) {
//Get user profile
@@ -11,13 +11,13 @@ export default function({faker, url, options, login = faker.internet.userName()}
get digital() {
return `${this.hours}:${this.minutes}`
},
hours:faker.datatype.number(1000),
minutes:faker.datatype.number(1000),
name:array ? faker.random.arrayElement(array) : faker.random.words(2).replace(/ /g, "-").toLocaleLowerCase(),
percent:0,
total_seconds:faker.datatype.number(1000000),
hours: faker.datatype.number(1000),
minutes: faker.datatype.number(1000),
name: array ? faker.random.arrayElement(array) : faker.random.words(2).replace(/ /g, "-").toLocaleLowerCase(),
percent: 0,
total_seconds: faker.datatype.number(1000000),
}))
results = results.filter(({name}) => elements.includes(name) ? false : (elements.push(name), true))
results = results.filter(({ name }) => elements.includes(name) ? false : (elements.push(name), true))
let percents = 100
for (const result of results) {
result.percent = 1 + faker.datatype.number(percents - 1)
@@ -26,26 +26,26 @@ export default function({faker, url, options, login = faker.internet.userName()}
return results
}
return ({
status:200,
data:{
data:{
best_day:{
created_at:faker.date.recent(),
date:`${faker.date.recent()}`.substring(0, 10),
total_seconds:faker.datatype.number(1000000),
status: 200,
data: {
data: {
best_day: {
created_at: faker.date.recent(),
date: `${faker.date.recent()}`.substring(0, 10),
total_seconds: faker.datatype.number(1000000),
},
categories:stats(),
daily_average:faker.datatype.number(12 * 60 * 60),
daily_average_including_other_language:faker.datatype.number(12 * 60 * 60),
dependencies:stats(),
editors:stats(["VS Code", "Chrome", "IntelliJ", "PhpStorm", "WebStorm", "Android Studio", "Visual Studio", "Sublime Text", "PyCharm", "Vim", "Atom", "Xcode"]),
languages:stats(["JavaScript", "TypeScript", "PHP", "Java", "Python", "Vue.js", "HTML", "C#", "JSON", "Dart", "SCSS", "Kotlin", "JSX", "Go", "Ruby", "YAML"]),
machines:stats(),
operating_systems:stats(["Mac", "Windows", "Linux"]),
project:null,
projects:/api_key=MOCKED_TOKEN_NO_PROJECTS/.test(url) ? null : stats(),
total_seconds:faker.datatype.number(1000000000),
total_seconds_including_other_language:faker.datatype.number(1000000000),
categories: stats(),
daily_average: faker.datatype.number(12 * 60 * 60),
daily_average_including_other_language: faker.datatype.number(12 * 60 * 60),
dependencies: stats(),
editors: stats(["VS Code", "Chrome", "IntelliJ", "PhpStorm", "WebStorm", "Android Studio", "Visual Studio", "Sublime Text", "PyCharm", "Vim", "Atom", "Xcode"]),
languages: stats(["JavaScript", "TypeScript", "PHP", "Java", "Python", "Vue.js", "HTML", "C#", "JSON", "Dart", "SCSS", "Kotlin", "JSX", "Go", "Ruby", "YAML"]),
machines: stats(),
operating_systems: stats(["Mac", "Windows", "Linux"]),
project: null,
projects: /api_key=MOCKED_TOKEN_NO_PROJECTS/.test(url) ? null : stats(),
total_seconds: faker.datatype.number(1000000000),
total_seconds_including_other_language: faker.datatype.number(1000000000),
},
},
})

View File

@@ -1,32 +1,32 @@
/**Mocked data */
export default function({faker, url, options, login = faker.internet.userName()}) {
export default function({ faker, url, options, login = faker.internet.userName() }) {
//Wakatime api
if (/^https:..apidojo-yahoo-finance-v1.p.rapidapi.com.stock.v2.*$/.test(url)) {
//Get company profile
if (/get-profile/.test(url)) {
console.debug(`metrics/compute/mocks > mocking yahoo finance api result > ${url}`)
return ({
status:200,
data:{
price:{
marketCap:{
raw:faker.datatype.number(1000000000),
status: 200,
data: {
price: {
marketCap: {
raw: faker.datatype.number(1000000000),
},
symbol:"OCTO",
symbol: "OCTO",
},
quoteType:{
shortName:faker.company.companyName(),
longName:faker.company.companyName(),
exchangeTimezoneName:faker.address.timeZone(),
symbol:"OCTO",
quoteType: {
shortName: faker.company.companyName(),
longName: faker.company.companyName(),
exchangeTimezoneName: faker.address.timeZone(),
symbol: "OCTO",
},
calendarEvents:{},
summaryDetail:{},
symbol:"OCTO",
assetProfile:{
fullTimeEmployees:faker.datatype.number(10000),
city:faker.address.city(),
country:faker.address.country(),
calendarEvents: {},
summaryDetail: {},
symbol: "OCTO",
assetProfile: {
fullTimeEmployees: faker.datatype.number(10000),
city: faker.address.city(),
country: faker.address.country(),
},
},
})
@@ -35,23 +35,23 @@ export default function({faker, url, options, login = faker.internet.userName()}
if (/get-chart/.test(url)) {
console.debug(`metrics/compute/mocks > mocking yahoo finance api result > ${url}`)
return ({
status:200,
data:{
chart:{
result:[
status: 200,
data: {
chart: {
result: [
{
meta:{
currency:"USD",
symbol:"OCTO",
regularMarketPrice:faker.datatype.number(10000) / 100,
chartPreviousClose:faker.datatype.number(10000) / 100,
previousClose:faker.datatype.number(10000) / 100,
meta: {
currency: "USD",
symbol: "OCTO",
regularMarketPrice: faker.datatype.number(10000) / 100,
chartPreviousClose: faker.datatype.number(10000) / 100,
previousClose: faker.datatype.number(10000) / 100,
},
timestamp:new Array(1000).fill(Date.now()).map((x, i) => x + i * 60000),
indicators:{
quote:[
timestamp: new Array(1000).fill(Date.now()).map((x, i) => x + i * 60000),
indicators: {
quote: [
{
close:new Array(1000).fill(null).map(_ => faker.datatype.number(10000) / 100),
close: new Array(1000).fill(null).map(_ => faker.datatype.number(10000) / 100),
get low() {
return this.close
},
@@ -61,7 +61,7 @@ export default function({faker, url, options, login = faker.internet.userName()}
get open() {
return this.close
},
volume:[],
volume: [],
},
],
},

View File

@@ -1,45 +1,45 @@
/**Mocked data */
export default function({faker, url, body, login = faker.internet.userName()}) {
export default function({ faker, url, body, login = faker.internet.userName() }) {
if (/^https:..graphql.anilist.co.*$/.test(url)) {
//Initialization and media generator
const {query} = body
const media = ({type}) => ({
title:{romaji:faker.lorem.words(), english:faker.lorem.words(), native:faker.lorem.words()},
description:faker.lorem.paragraphs(),
const { query } = body
const media = ({ type }) => ({
title: { romaji: faker.lorem.words(), english: faker.lorem.words(), native: faker.lorem.words() },
description: faker.lorem.paragraphs(),
type,
status:faker.random.arrayElement(["FINISHED", "RELEASING", "NOT_YET_RELEASED", "CANCELLED", "HIATUS"]),
episodes:100 + faker.datatype.number(100),
volumes:faker.datatype.number(100),
chapters:100 + faker.datatype.number(1000),
averageScore:faker.datatype.number(100),
countryOfOrigin:"JP",
genres:new Array(6).fill(null).map(_ => faker.lorem.word()),
coverImage:{medium:null},
startDate:{year:faker.date.past(20).getFullYear()},
status: faker.random.arrayElement(["FINISHED", "RELEASING", "NOT_YET_RELEASED", "CANCELLED", "HIATUS"]),
episodes: 100 + faker.datatype.number(100),
volumes: faker.datatype.number(100),
chapters: 100 + faker.datatype.number(1000),
averageScore: faker.datatype.number(100),
countryOfOrigin: "JP",
genres: new Array(6).fill(null).map(_ => faker.lorem.word()),
coverImage: { medium: null },
startDate: { year: faker.date.past(20).getFullYear() },
})
//User statistics query
if (/^query Statistics /.test(query)) {
console.debug("metrics/compute/mocks > mocking anilist api result > Statistics")
return ({
status:200,
data:{
data:{
User:{
id:faker.datatype.number(100000),
name:faker.internet.userName(),
about:null,
statistics:{
anime:{
count:faker.datatype.number(1000),
minutesWatched:faker.datatype.number(100000),
episodesWatched:faker.datatype.number(10000),
genres:new Array(4).fill(null).map(_ => ({genre:faker.lorem.word()})),
status: 200,
data: {
data: {
User: {
id: faker.datatype.number(100000),
name: faker.internet.userName(),
about: null,
statistics: {
anime: {
count: faker.datatype.number(1000),
minutesWatched: faker.datatype.number(100000),
episodesWatched: faker.datatype.number(10000),
genres: new Array(4).fill(null).map(_ => ({ genre: faker.lorem.word() })),
},
manga:{
count:faker.datatype.number(1000),
chaptersRead:faker.datatype.number(100000),
volumesRead:faker.datatype.number(10000),
genres:new Array(4).fill(null).map(_ => ({genre:faker.lorem.word()})),
manga: {
count: faker.datatype.number(1000),
chaptersRead: faker.datatype.number(100000),
volumesRead: faker.datatype.number(10000),
genres: new Array(4).fill(null).map(_ => ({ genre: faker.lorem.word() })),
},
},
},
@@ -51,17 +51,17 @@ export default function({faker, url, body, login = faker.internet.userName()}) {
if (/^query FavoritesCharacters /.test(query)) {
console.debug("metrics/compute/mocks > mocking anilist api result > Favorites characters")
return ({
status:200,
data:{
data:{
User:{
favourites:{
characters:{
nodes:new Array(2 + faker.datatype.number(16)).fill(null).map(_ => ({
name:{full:faker.name.findName(), native:faker.name.findName()},
image:{medium:null},
status: 200,
data: {
data: {
User: {
favourites: {
characters: {
nodes: new Array(2 + faker.datatype.number(16)).fill(null).map(_ => ({
name: { full: faker.name.findName(), native: faker.name.findName() },
image: { medium: null },
})),
pageInfo:{currentPage:1, hasNextPage:false},
pageInfo: { currentPage: 1, hasNextPage: false },
},
},
},
@@ -74,14 +74,14 @@ export default function({faker, url, body, login = faker.internet.userName()}) {
console.debug("metrics/compute/mocks > mocking anilist api result > Favorites")
const type = /anime[(]/.test(query) ? "ANIME" : /manga[(]/.test(query) ? "MANGA" : "OTHER"
return ({
status:200,
data:{
data:{
User:{
favourites:{
[type.toLocaleLowerCase()]:{
nodes:new Array(16).fill(null).map(_ => media({type})),
pageInfo:{currentPage:1, hasNextPage:false},
status: 200,
data: {
data: {
User: {
favourites: {
[type.toLocaleLowerCase()]: {
nodes: new Array(16).fill(null).map(_ => media({ type })),
pageInfo: { currentPage: 1, hasNextPage: false },
},
},
},
@@ -92,24 +92,24 @@ export default function({faker, url, body, login = faker.internet.userName()}) {
//Medias query
if (/^query Medias /.test(query)) {
console.debug("metrics/compute/mocks > mocking anilist api result > Medias")
const {type} = body.variables
const { type } = body.variables
return ({
status:200,
data:{
data:{
MediaListCollection:{
lists:[
status: 200,
data: {
data: {
MediaListCollection: {
lists: [
{
name:{ANIME:"Watching", MANGA:"Reading", OTHER:"Completed"}[type],
isCustomList:false,
entries:new Array(16).fill(null).map(_ => ({
status:faker.random.arrayElement(["CURRENT", "PLANNING", "COMPLETED", "DROPPED", "PAUSED", "REPEATING"]),
progress:faker.datatype.number(100),
progressVolumes:null,
score:0,
startedAt:{year:null, month:null, day:null},
completedAt:{year:null, month:null, day:null},
media:media({type}),
name: { ANIME: "Watching", MANGA: "Reading", OTHER: "Completed" }[type],
isCustomList: false,
entries: new Array(16).fill(null).map(_ => ({
status: faker.random.arrayElement(["CURRENT", "PLANNING", "COMPLETED", "DROPPED", "PAUSED", "REPEATING"]),
progress: faker.datatype.number(100),
progressVolumes: null,
score: 0,
startedAt: { year: null, month: null, day: null },
completedAt: { year: null, month: null, day: null },
media: media({ type }),
})),
},
],

View File

@@ -1,18 +1,18 @@
/**Mocked data */
export default function({faker, url, body, login = faker.internet.userName()}) {
export default function({ faker, url, body, login = faker.internet.userName() }) {
if (/^https:..api.hashnode.com.*$/.test(url)) {
console.debug(`metrics/compute/mocks > mocking hashnode result > ${url}`)
return ({
status:200,
data:{
data:{
user:{
publication:{
posts:new Array(30).fill(null).map(_ => ({
title:faker.lorem.sentence(),
brief:faker.lorem.paragraph(),
coverImage:null,
dateAdded:faker.date.recent(),
status: 200,
data: {
data: {
user: {
publication: {
posts: new Array(30).fill(null).map(_ => ({
title: faker.lorem.sentence(),
brief: faker.lorem.paragraph(),
coverImage: null,
dateAdded: faker.date.recent(),
})),
},
},

View File

@@ -2,19 +2,19 @@
import urls from "url"
/**Mocked data */
export default function({faker, url, body, login = faker.internet.userName()}) {
export default function({ faker, url, body, login = faker.internet.userName() }) {
if (/^https:..accounts.spotify.com.api.token.*$/.test(url)) {
//Access token generator
const params = new urls.URLSearchParams(body)
if ((params.get("grant_type") === "refresh_token") && (params.get("client_id") === "MOCKED_CLIENT_ID") && (params.get("client_secret") === "MOCKED_CLIENT_SECRET") && (params.get("refresh_token") === "MOCKED_REFRESH_TOKEN")) {
console.debug(`metrics/compute/mocks > mocking spotify api result > ${url}`)
return ({
status:200,
data:{
access_token:"MOCKED_TOKEN_ACCESS",
token_type:"Bearer",
expires_in:3600,
scope:"user-read-recently-played user-read-private",
status: 200,
data: {
access_token: "MOCKED_TOKEN_ACCESS",
token_type: "Bearer",
expires_in: 3600,
scope: "user-read-recently-played user-read-private",
},
})
}

View File

@@ -1,59 +1,58 @@
/**Mocked data */
export default function({faker, url, options, login = faker.internet.userName()}) {
if (/^https:..music.youtube.com.youtubei.v1.*$/.test(url)) {
//Get recently played tracks
if (/browse/.test(url)) {
console.debug(`metrics/compute/mocks > mocking yt music api result > ${url}`)
const artist = faker.random.word()
const track = faker.random.words(5)
const artwork = faker.image.imageUrl()
return ({
contents:{
singleColumnBrowseResultsRenderer:{
tabs:[{
tabRenderer:{
content:{
sectionListRenderer:{
contents:[{
contents:[{
musicResponsiveListItemRenderer:{
thumbnail:{
musicThumbnailRenderer:{
thumbnail:{
thumbnails:[{
url:artwork,
}]
},
}
},
flexColumns:[{
musicResponsiveListItemFlexColumnRenderer:{
text:{
runs:[{
text:track,
}]
},
}
},
{
musicResponsiveListItemFlexColumnRenderer:{
text:{
runs:[{
text:artist,
}]
},
}
}],
}
}],
}],
},
export default function({ faker, url, options, login = faker.internet.userName() }) {
if (/^https:..music.youtube.com.youtubei.v1.*$/.test(url)) {
//Get recently played tracks
if (/browse/.test(url)) {
console.debug(`metrics/compute/mocks > mocking yt music api result > ${url}`)
const artist = faker.random.word()
const track = faker.random.words(5)
const artwork = faker.image.imageUrl()
return ({
contents: {
singleColumnBrowseResultsRenderer: {
tabs: [{
tabRenderer: {
content: {
sectionListRenderer: {
contents: [{
contents: [{
musicResponsiveListItemRenderer: {
thumbnail: {
musicThumbnailRenderer: {
thumbnail: {
thumbnails: [{
url: artwork,
}],
},
},
},
flexColumns: [{
musicResponsiveListItemFlexColumnRenderer: {
text: {
runs: [{
text: track,
}],
},
},
}, {
musicResponsiveListItemFlexColumnRenderer: {
text: {
runs: [{
text: artist,
}],
},
},
}],
},
}],
}],
},
},
},
})
}
}],
},
},
})
}
}
}
}