Best JavaScript code snippet using argos
BaseService.ts
Source:BaseService.ts
1import axios, { AxiosInstance, AxiosResponse } from "axios";2import { CURRENT_ENV } from "@core/configs/env";3import { Object } from "@core/interfaces";4interface Axios extends AxiosInstance {5 [key: string]: any;6}7const axiosBase: Axios = axios.create({ baseURL: CURRENT_ENV.API_URL });8const authAxios: Axios = axios.create({ baseURL: CURRENT_ENV.API_URL });9authAxios.interceptors.request.use(10 (config) => {11 const token = localStorage.getItem("token");12 if (token) {13 config.headers["Authorization"] = token;14 }15 return config;16 },17 (error) => {18 Promise.reject(error);19 }20);21authAxios.interceptors.response.use(22 (config) => config,23 (error) => {24 const { response } = error;25 if (response && response.status === 401) {26 window.location.reload();27 }28 return error;29 }30);31type CallWithParamsMethod = (32 method: "get" | "delete",33 url: string,34 body?: Object<string>,35 options?: Object<any>,36 useAuth?: boolean,37 usePrefix?: boolean38) => Promise<any>;39type CallWithBodyMethod = (40 method: "post" | "put" | "patch",41 url: string,42 body?: Object<string>,43 options?: Object<any>,44 useAuth?: boolean,45 usePrefix?: boolean46) => Promise<any>;47type VerbMethod = (48 url: string,49 body?: Object<string>,50 options?: Object<any>,51 useAuth?: boolean,52 usePrefix?: boolean53) => Promise<any>;54class BaseService {55 public constructor(private prefix: string, private useAuth = true) {}56 callWithParams: CallWithParamsMethod = (57 method,58 url,59 params,60 options,61 useAuth,62 usePrefix = true63 ) => {64 if (useAuth && this.useAuth) {65 return authAxios[method](usePrefix ? `${this.prefix}${url}` : url, {66 params,67 ...options,68 }).then(({ data }: AxiosResponse) => data);69 }70 return axiosBase[method](usePrefix ? `${this.prefix}${url}` : url, {71 params,72 ...options,73 }).then(({ data }: AxiosResponse) => data);74 };75 callWithBody: CallWithBodyMethod = (76 method,77 url,78 body,79 options,80 useAuth,81 usePrefix = true82 ) => {83 if (useAuth && this.useAuth) {84 return authAxios[method](85 usePrefix ? `${this.prefix}${url}` : url,86 body,87 options88 ).then(({ data }: AxiosResponse) => data);89 }90 return axiosBase[method](91 usePrefix ? `${this.prefix}${url}` : url,92 body,93 options94 ).then(({ data }: AxiosResponse) => data);95 };96 get: VerbMethod = (url, params, options, useAuth, usePrefix = true) => {97 return this.callWithParams("get", url, params, options, useAuth, usePrefix);98 };99 post: VerbMethod = (url, body, options, useAuth, usePrefix = true) => {100 return this.callWithBody("post", url, body, options, useAuth, usePrefix);101 };102 put: VerbMethod = (url, body, options, useAuth, usePrefix = true) => {103 return this.callWithBody("put", url, body, options, useAuth, usePrefix);104 };105 patch: VerbMethod = (url, body, options, useAuth, usePrefix = true) => {106 return this.callWithBody("patch", url, body, options, useAuth, usePrefix);107 };108 delete: VerbMethod = (url, params, options, useAuth, usePrefix = true) => {109 return this.callWithParams(110 "delete",111 url,112 params,113 options,114 useAuth,115 usePrefix116 );117 };118}...
baseService.js
Source:baseService.js
1import { CURRENT_ENV } from "../configs/env";2import a from "axios";3import auth from "../../../utils/helpers/auth";4const axios = a.create({ baseURL: CURRENT_ENV.API_URL });5const authAxios = a.create({ baseURL: CURRENT_ENV.API_URL });6authAxios.interceptors.request.use(7 (config) => {8 const token = localStorage.getItem("token");9 console.log(token);10 if (token) {11 config.headers["Authorization"] = token;12 }13 return config;14 },15 (error) => {16 Promise.reject(error);17 }18);19authAxios.interceptors.response.use(20 (config) => config,21 (error) => {22 const { response } = error;23 if (response && response.status === 401) {24 auth.clearAuthInfo();25 window.location.reload();26 }27 return error;28 }29);30export default class BaseService {31 init(prefix, useAuth = true) {32 this.prefix = prefix;33 this.useAuth = useAuth;34 return this;35 }36 callWithParams(method, url, params, options, useAuth, usePrefix = true) {37 if (useAuth || this.useAuth) {38 return authAxios[method](usePrefix ? `${this.prefix}${url}` : url, {39 params,40 ...options,41 }).then(({ data }) => data);42 }43 return axios44 .get(url, {45 params,46 ...options,47 })48 .then(({ data }) => data);49 }50 callWithBody(method, url, body, options, useAuth, usePrefix = true) {51 if (useAuth || this.useAuth) {52 return authAxios[method](53 usePrefix ? `${this.prefix}${url}` : url,54 body,55 options56 ).then(({ data }) => data);57 }58 return axios[method](59 usePrefix ? `${this.prefix}${url}` : url,60 body,61 options62 ).then(({ data }) => data);63 }64 get(url, params, useAuth, options, usePrefix = true) {65 return this.callWithParams("get", url, params, options, useAuth, usePrefix);66 }67 post(url, body, useAuth, options, usePrefix = true) {68 return this.callWithBody("post", url, body, options, useAuth, usePrefix);69 }70 put(url, body, useAuth, options, usePrefix = true) {71 return this.callWithBody("put", url, body, options, useAuth, usePrefix);72 }73 patch(url, body, useAuth, options, usePrefix = true) {74 return this.callWithBody("patch", url, body, options, useAuth, usePrefix);75 }76 delete(url, params, useAuth, options, usePrefix = true) {77 return this.callWithParams(78 "delete",79 url,80 params,81 options,82 useAuth,83 usePrefix84 );85 }...
Using AI Code Generation
1const auth = require('argos-sdk').useAuth();2const auth = require('argos-sdk').useAuth();3const auth = require('argos-sdk').useAuth();4const auth = require('argos-sdk').useAuth();5const auth = require('argos-sdk').useAuth();6const auth = require('argos-sdk').useAuth();7const auth = require('argos-sdk').useAuth();8const auth = require('argos-sdk').useAuth();9const auth = require('argos-sdk').useAuth();10const auth = require('argos-sdk').useAuth();11const auth = require('argos-sdk').useAuth();12const auth = require('argos-sdk').useAuth();13const auth = require('argos-sdk').useAuth();14const auth = require('argos-sdk').useAuth();15const auth = require('argos-sdk').useAuth();16const auth = require('argos-sdk').useAuth();17const auth = require('argos-sdk').useAuth();18const auth = require('argos-sdk').useAuth();19const auth = require('argos-sdk').useAuth
Using AI Code Generation
1const argos = require('argos-sdk');2const auth = argos.auth;3const useAuth = auth.useAuth;4const argos = require('argos-sdk');5const auth = argos.auth;6const useAuth = auth.useAuth;7const argos = require('argos-sdk');8const auth = argos.auth;9const useAuth = auth.useAuth;10const argos = require('argos-sdk');11const auth = argos.auth;12const useAuth = auth.useAuth;13const argos = require('argos-sdk');14const auth = argos.auth;15const useAuth = auth.useAuth;16const argos = require('argos-sdk');17const auth = argos.auth;18const useAuth = auth.useAuth;19const argos = require('argos-sdk');20const auth = argos.auth;21const useAuth = auth.useAuth;22const argos = require('argos-sdk');23const auth = argos.auth;24const useAuth = auth.useAuth;25const argos = require('argos-sdk');26const auth = argos.auth;27const useAuth = auth.useAuth;28const argos = require('argos-sdk');29const auth = argos.auth;30const useAuth = auth.useAuth;31const argos = require('argos-sdk');32const auth = argos.auth;33const useAuth = auth.useAuth;34const argos = require('argos-sdk');35const auth = argos.auth;36const useAuth = auth.useAuth;37const argos = require('argos-sdk');38const auth = argos.auth;39const useAuth = auth.useAuth;40const argos = require('argos-sdk');41const auth = argos.auth;42const useAuth = auth.useAuth;
Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!