Best JavaScript code snippet using ava
FunctionDetails.js
Source:FunctionDetails.js  
1import React from 'react';2import PropTypes from 'prop-types';3import clsx from 'clsx';4import * as Yup from 'yup';5import { Formik } from 'formik';6import {7  Box,8  Button,9  Grid,10  TextField,11  Typography,12  makeStyles13} from '@material-ui/core';14import Autocomplete from '@material-ui/lab/Autocomplete';15const useStyles = makeStyles((theme) => ({16  root: {}17}));18const FunctionDetails = ({19  className,20  payload,21  setPayload,22  secrets,23  images,24  onNext,25  ...rest26}) => {27  const classes = useStyles();28  const mountedSecrets = payload.secrets29  const setImage = payload.image;30  return (31    <Formik32      initialValues={{33        name: payload.name || '',34        minReplicas: payload.min_replicas || 0,35        maxReplicas: payload.max_replicas || 1,36        scalingFactor: payload.scaling_factor || 20,37        maxConcurrency: payload.max_concurrency || 0,38        readTimeout: payload.read_timeout || '10',39        writeTimeout: payload.write_timeout || '10',40        secrets: payload.secrets || [],41        image: payload.image || {},42        submit: null43      }}44      validationSchema={Yup.object().shape({45        name: Yup46          .string("Must be a string")47          .required("Required")48          .min(5, "Must be at least 5 characters long")49          .matches(/^(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])?$/, "Must match ^(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])?$"),50        image: Yup.object().shape({51          id: Yup.string().required()52        }),53        minReplicas: Yup54          .number()55          .typeError("Must be a number")56          .integer("Must be an integer")57          .required("Required")58          .min(0, "Must be greater than or equal to 0")59          .max(Yup.ref("maxReplicas"), "Cannot be great than Maximum Replicas"),60        maxReplicas: Yup61          .number()62          .typeError("Must be a number")63          .integer("Must be an integer")64          .required("Required")65          .min(1, "Must be greater than or equal to 1")66          .test('test-name', 'Must be greater than or equal to Mininum Replicas',67            function (value) {68              const mr = this.options.parent.minReplicas;69              return value >= mr;70            })71          .max(100, "Must be less than or equal to 100"),72        scalingFactor: Yup73          .number()74          .typeError("Must be a number")75          .integer("Must be an integer")76          .required("Required")77          .min(0, "Must be greater than or equal to 0")78          .max(100, "Must be less than or equal to 100"),79        maxConcurrency: Yup80          .number()81          .typeError("Must be a number")82          .integer("Must be an integer")83          .required("Required")84          .min(0, "Must be greater than or equal to 0"),85        readTimeout: Yup86          .number()87          .typeError("Must be a number")88          .integer("Must be an integer")89          .required("Required")90          .min(0, "Must be greater than or equal to 0"),91        writeTimeout: Yup92          .number()93          .typeError("Must be a number")94          .integer("Must be an integer")95          .required("Required")96          .min(0, "Must be greater than or equal to 0")97      })}98      onSubmit={async (values, {99        setErrors,100        setStatus,101        setSubmitting102      }) => {103        console.log(values)104        try {105          setPayload({106            ...payload,107            name: values.name,108            image: values.image,109            min_replicas: parseInt(values.minReplicas, 10),110            max_replicas: parseInt(values.maxReplicas, 10),111            scaling_factor: parseInt(values.scalingFactor, 10),112            max_concurrency: parseInt(values.maxConcurrency, 10),113            read_timeout: values.readTimeout,114            write_timeout: values.writeTimeout,115            secrets: values.secrets116          })117          setStatus({ success: true });118          setSubmitting(false);119          if (onNext) {120            onNext();121          }122        } catch (err) {123          console.error(err);124          setStatus({ success: false });125          setErrors({ submit: err.message });126          setSubmitting(false);127        }128      }}129    >130      {({131        errors,132        handleBlur,133        handleChange,134        handleSubmit,135        setFieldValue,136        isSubmitting,137        touched,138        values139      }) => (140        <form141          onSubmit={handleSubmit}142          className={clsx(classes.root, className)}143          {...rest}144        >145          <Box mb={3}>146            <Typography147              variant="h3"148              color="textPrimary"149            >150              Function Details151            </Typography>152          </Box>153          <Grid154            container155            spacing={3}156          >157            <Grid158              item159              md={12}160              xs={12}161            >162              <TextField163                error={Boolean(touched.name && errors.name)}164                fullWidth165                helperText={touched.name && errors.name}166                label="Function Name"167                name="name"168                onBlur={handleBlur}169                onChange={handleChange}170                required171                value={values.name}172                variant="outlined"173              />174            </Grid>175            <Grid176              item177              md={12}178              xs={12}179            >180              <Autocomplete181                name="image"182                options={images}183                getOptionLabel={(option) => `${option.name} (${option.runtime}) (${option.version})`}184                defaultValue={setImage}185                filterSelectedOptions186                required187                getOptionSelected={(option, value) => option.id === value.id}188                onChange={(_, value) => setFieldValue("image", value)}189                renderInput={(params) => (190                  <TextField191                    {...params}192                    variant="outlined"193                    label="Image"194                    placeholder="Image"195                    required196                  />197                )}198              />199            </Grid>200            <Grid201              item202              md={6}203              xs={12}204            >205              <TextField206                error={Boolean(touched.minReplicas && errors.minReplicas)}207                fullWidth208                helperText={touched.minReplicas && errors.minReplicas}209                label="Mininum Replicas"210                name="minReplicas"211                onBlur={handleBlur}212                onChange={handleChange}213                required214                value={values.minReplicas}215                variant="outlined"216              />217            </Grid>218            <Grid219              item220              md={6}221              xs={12}222            >223              <TextField224                error={Boolean(touched.maxReplicas && errors.maxReplicas)}225                fullWidth226                helperText={touched.maxReplicas && errors.maxReplicas}227                label="Maximum Replicas"228                name="maxReplicas"229                onBlur={handleBlur}230                onChange={handleChange}231                required232                value={values.maxReplicas}233                variant="outlined"234              />235            </Grid>236            <Grid237              item238              md={6}239              xs={12}240            >241              <TextField242                error={Boolean(touched.scalingFactor && errors.scalingFactor)}243                fullWidth244                helperText={touched.scalingFactor && errors.scalingFactor}245                label="Scaling Factor (%)"246                name="scalingFactor"247                onBlur={handleBlur}248                onChange={handleChange}249                value={values.scalingFactor}250                variant="outlined"251              />252            </Grid>253            <Grid254              item255              md={6}256              xs={12}257            >258              <TextField259                error={Boolean(touched.maxConcurrency && errors.maxConcurrency)}260                fullWidth261                helperText={touched.maxConcurrency && errors.maxConcurrency}262                label="Per Instance Concurrency"263                name="maxConcurrency"264                onBlur={handleBlur}265                onChange={handleChange}266                value={values.maxConcurrency}267                variant="outlined"268              />269            </Grid>270            <Grid271              item272              md={6}273              xs={12}274            >275              <TextField276                error={Boolean(touched.readTimeout && errors.readTimeout)}277                fullWidth278                helperText={touched.readTimeout && errors.readTimeout}279                label="Read Timeout (Seconds)"280                name="readTimeout"281                onBlur={handleBlur}282                onChange={handleChange}283                value={values.readTimeout}284                variant="outlined"285              />286            </Grid>287            <Grid288              item289              md={6}290              xs={12}291            >292              <TextField293                error={Boolean(touched.writeTimeout && errors.writeTimeout)}294                fullWidth295                helperText={touched.writeTimeout && errors.writeTimeout}296                label="Write Timeout (Seconds)"297                name="writeTimeout"298                onBlur={handleBlur}299                onChange={handleChange}300                value={values.writeTimeout}301                variant="outlined"302              />303            </Grid>304          </Grid>305          <Box mb={3} mt={3}>306            <Typography variant="h4" component="h4" gutterBottom>307              Mounted Secrets308            </Typography>309          </Box>310          <Grid container spacing={3}>311            <Grid312              item313              md={12}314              xs={12}315            >316              <Autocomplete317                multiple318                name="secrets"319                id="tags-outlined"320                options={secrets}321                getOptionLabel={(option) => option.name}322                defaultValue={mountedSecrets}323                filterSelectedOptions324                getOptionSelected={(option, value) => option.id === value.id}325                onChange={(_, value) => setFieldValue("secrets", value)}326                renderInput={(params) => (327                  <TextField328                    {...params}329                    variant="outlined"330                    label="Attached Secrets"331                    placeholder="Secrets"332                  />333                )}334              />335            </Grid>336          </Grid>337          <Box338            mt={6}339            display="flex"340            justifyContent="flex-end"341          >342            <Button343              color="secondary"344              disabled={isSubmitting}345              type="submit"346              variant="contained"347              size="large"348            >349              Next350            </Button>351          </Box>352        </form>353      )}354    </Formik>355  );356};357FunctionDetails.propTypes = {358  className: PropTypes.string,359  payload: PropTypes.object.isRequired,360  setPayload: PropTypes.func.isRequired,361  secrets: PropTypes.array.isRequired,362  images: PropTypes.array.isRequired,363  onNext: PropTypes.func.isRequired,364};...repository-client-config.js
Source:repository-client-config.js  
1const ClientConfig = require('../http/client-config');2const RDFMimeType = require('../http/rdf-mime-type');3const defaultTimeout = 10000;4/**5 * Configuration wrapper used for initialization of {@link BaseRepositoryClient}6 * implementations.7 *8 * @class9 * @extends ClientConfig10 * @author Mihail Radkov11 * @author Svilen Velikov12 * @author Teodossi Dossev13 */14class RepositoryClientConfig extends ClientConfig {15  /**16   * Repository client configuration constructor.17   * Initializes [endpoints]{@link RepositoryClientConfig#endpoints} and18   * sets configuration default values to19   * [defaultRDFMimeType]{@link RepositoryClientConfig#defaultRDFMimeType},20   * [readTimeout]{@link RepositoryClientConfig#readTimeout} and21   * [writeTimeout]{@link RepositoryClientConfig#writeTimeout}22   *23   * @param {string} endpoint server base URL that will be prepend24   * to all server requests25   */26  constructor(endpoint) {27    super(endpoint);28    this.setEndpoints([]);29    this.setHeaders({});30    this.setKeepAlive(true);31    this.setDefaultRDFMimeType(RDFMimeType.SPARQL_RESULTS_JSON);32    this.setReadTimeout(defaultTimeout);33    this.setWriteTimeout(defaultTimeout);34  }35  /**36   * Sets the repository endpoint URLs.37   *38   * @param {string[]} endpoints the endpoint URLs39   *40   * @return {this} current config for method chaining41   */42  setEndpoints(endpoints) {43    this.endpoints = endpoints;44    return this;45  }46  /**47   * Inserts a repository endpoint URL to the rest of the endpoints.48   *49   * @param {string} endpoint repository endpoint URL50   *51   * @return {this} current config for method chaining52   */53  addEndpoint(endpoint) {54    if (!this.endpoints) {55      this.endpoints = [];56    }57    this.endpoints.push(endpoint);58    return this;59  }60  /**61   * Gets the repository endpoint URLs.62   *63   * @return {string[]}64   */65  getEndpoints() {66    return this.endpoints;67  }68  /**69   * Sets the default RDF MIME type.70   *71   * @param {string} defaultRDFMimeType72   *73   * @return {this} current config for method chaining74   */75  setDefaultRDFMimeType(defaultRDFMimeType) {76    this.defaultRDFMimeType = defaultRDFMimeType;77    return this;78  }79  /**80   * Returns the default RDF MIME type.81   *82   * @return {string}83   */84  getDefaultRDFMimeType() {85    return this.defaultRDFMimeType;86  }87  /**88   * Sets the default read timeout for HTTP requests.89   *90   * @param {number} readTimeout the timeout in milliseconds91   *92   * @return {this} current config for method chaining93   */94  setReadTimeout(readTimeout) {95    this.readTimeout = readTimeout;96    return this;97  }98  /**99   * Returns the default read timeout for HTTP requests.100   *101   * @return {number}102   */103  getReadTimeout() {104    return this.readTimeout;105  }106  /**107   * Sets the default write timeout for HTTP requests.108   *109   * @param {number} writeTimeout the timeout in milliseconds110   *111   * @return {this} current config for method chaining112   */113  setWriteTimeout(writeTimeout) {114    this.writeTimeout = writeTimeout;115    return this;116  }117  /**118   * Returns the default write timeout for HTTP requests.119   *120   * @return {number}121   */122  getWriteTimeout() {123    return this.writeTimeout;124  }125}...uploadStateStorage.js
Source:uploadStateStorage.js  
1const uploadStorage = window.localStorage;2const key = 'uploadState';3class UploadStateStorage {4    cache;5    writeTimeout;6    getUpload(userId, fileUID) {7        const d = this.getData();8        if (!d[userId]) {9            return;10        }11        return d[userId][fileUID];12    }13    initUpload(userId, fileUID, uploadId, path) {14        const d = this.getData();15        d[userId] = d[userId] || {};16        d[userId][fileUID] = {17            u: uploadId,18            p: path,19            c: [],20        };21        this.setData(d);22    }23    updateUpload(userId, fileUID, chunkETag) {24        const d = this.getData();25        d[userId][fileUID].c.push(chunkETag);26        this.setData(d);27    }28    removeUpload(userId, fileUID) {29        const d = this.getData();30        delete d[userId][fileUID];31        this.setData(d);32    }33    getData() {34        if (this.cache) {35            return this.cache;36        }37        const item = uploadStorage.getItem(key);38        return this.cache = item ? JSON.parse(item) : {};39    }40    setData(data) {41        this.cache = data;42        if (this.writeTimeout) {43            clearTimeout(this.writeTimeout);44        }45        this.writeTimeout = setTimeout(() => {46            uploadStorage.setItem(key, JSON.stringify(data))47        }, 100);48    }49}50export function getUniqueFileId(file, fileChunkSize) {51    const relativePath = file.webkitRelativePath || file.relativePath || file.fileName || file.name;52    return `${file.size}-${fileChunkSize}-${relativePath}`;53}...Using AI Code Generation
1var fs = require('fs');2var data = 'Simply Easy Learning';3var writerStream = fs.createWriteStream('output.txt');4writerStream.write(data,'UTF8');5writerStream.end();6writerStream.on('finish', function() {7   console.log("Write completed.");8});9writerStream.on('error', function(err){10   console.log(err.stack);11});12console.log("Program Ended");13var fs = require('fs');14var data = 'Simply Easy Learning';15var writerStream = fs.createWriteStream('output.txt');16writerStream.write(data,'UTF8');17writerStream.end();18writerStream.on('finish', function() {19   console.log("Write completed.");20});21writerStream.on('error', function(err){22   console.log(err.stack);23});24console.log("Program Ended");25var fs = require('fs');26var data = 'Simply Easy Learning';27var writerStream = fs.createWriteStream('output.txt');28writerStream.write(data,'UTF8');29writerStream.end();30writerStream.on('finish', function() {31   console.log("Write completed.");32});33writerStream.on('error', function(err){34   console.log(err.stack);35});36console.log("Program Ended");37var fs = require('fs');38var data = 'Simply Easy Learning';39var writerStream = fs.createWriteStream('output.txt');40writerStream.write(data,'UTF8');41writerStream.end();42writerStream.on('finish', function() {43   console.log("Write completed.");44});45writerStream.on('error', function(errUsing AI Code Generation
1var fs = require('fs');2var data = 'This is the data to be written into the file';3var writerStream = fs.createWriteStream('output.txt');4writerStream.write(data,'UTF8');5writerStream.end();6writerStream.on('finish', function() {7   console.log("Write completed.");8});9writerStream.on('error', function(err){10   console.log(err.stack);11});12console.log("Program Ended");Using AI Code Generation
1import test from 'ava';2import delay from 'delay';3import m from '.';4test('main', async t => {5	t.plan(2);6	t.is(m(), 2);7	await delay(200);8	t.is(m(), 3);9});10  ✔ main (200ms)11  ✔ main (200ms)12### `test.cb([title], implementation)`13### `test.cb.serial([title], implementation)`14### `test.cb.only([title], implementation)`15### `test.cb.skip([title], implementation)`16Define a callback-style test. Callback-style tests must be explicitly ended with `t.end()`. These tests are useful for testing APIs that require a callback function, like [request](Using AI Code Generation
1let fs = require('fs');2let data = 'Hello World!';3let writeStream = fs.createWriteStream('output.txt');4writeStream.write(data,'UTF8');5writeStream.end();6writeStream.on('finish',function(){7    console.log("Write completed.");8});9writeStream.on('error',function(err){10    console.log(err.stack);11});12console.log("Program Ended");13The pipe() method takes the following parameters −14let fs = require('fs');15let readerStream = fs.createReadStream('input.txt');16let writerStream = fs.createWriteStream('output.txt');17readerStream.pipe(writerStream);18console.log("Program Ended");19let fs = require('fs');20let zlib = require('zlib');21fs.createReadStream('input.txt')22    .pipe(zlib.createGzip())23    .pipe(fs.createWriteStream('input.txt.gz'));24console.log("File Compressed.");Using AI Code Generation
1test.cb('writeTimeout', t => {2  t.plan(1);3  setTimeout(() => {4    t.pass();5    t.end();6  }, 1000);7});8test('writeTimeout', t => {9  t.plan(1);10  return new Promise(resolve => {11    setTimeout(() => {12      t.pass();13      resolve();14    }, 1000);15  });16});17test('writeTimeout', async t => {18  t.plan(1);19  await new Promise(resolve => {20    setTimeout(() => {21      t.pass();22      resolve();23    }, 1000);24  });25});26test('writeTimeout', async t => {27  t.plan(1);28  await new Promise(resolve => {29    setTimeout(() => {30      t.pass();31      resolve();32    }, 1000);33  });34});35MIT © [Fernando Lasso](Using AI Code Generation
1var net = require('net');2var socket = new net.Socket();3socket.connect(5000, 'localhost', function() {4    socket.write('Hello');5    socket.write('World');6    socket.write('!');7});8socket.on('data', function(data) {9    console.log('Received: ' + data);10});11socket.on('error', function(err) {12    console.log('Error: ' + err);13});14socket.on('timeout', function() {15    console.log('Timed out');16});17socket.on('close', function() {18    console.log('Connection closed');19});20var net = require('net');21var server = net.createServer(function(socket) {22    socket.on('data', function(data) {23        console.log('Received: ' + data);24        socket.write('Sending: ' + data);25    });26    socket.on('error', function(err) {27        console.log('Error: ' + err);28    });29    socket.on('timeout', function() {30        console.log('Timed out');31    });32    socket.on('close', function() {33        console.log('Connection closed');34    });35});36server.listen(5000, 'localhost');37var net = require('net');38var socket = new net.Socket();39socket.connect(5000, 'localhost', function() {40    socket.setEncoding('utf8');41    socket.write('Hello');42    socket.write('World');43    socket.write('!');44});45socket.on('data', function(data) {46    console.log('Received: ' + data);47});48socket.on('error', function(err) {49    console.log('Error: ' + err);50});51socket.on('timeout', function() {52    console.log('Timed out');53});54socket.on('close', function() {55    console.log('Connection closed');56});57var net = require('net');58var server = net.createServer(function(socket) {59    socket.on('data', function(data) {60        console.log('Received: ' + data);61        socket.write('Sending: ' + data);62    });63    socket.on('error', function(err) {64        console.log('Error: ' + err);65    });66    socket.on('timeout', function() {67        console.log('Timed out');68    });Using AI Code Generation
1var fs = require('fs');2fs.open('file.txt','w',function(err,fd){3    if(err){4        return console.error(err);5    }6    console.log("File open successfully");7    console.log("Going to write into existing file");8    fs.write(fd,'Simply Easy Learning!',function(err){9        if(err){10            return console.error(err);11        }12        console.log("Data written successfully!");13        console.log("Let's read newly written data");14        fs.read(fd,buf,0,buf.length,0,function(err,bytes){15            if(err){16                console.log(err);17            }18            console.log(bytes + " bytes read");19            if(bytes > 0){20                console.log(buf.slice(0,bytes).toString());21            }22            fs.close(fd,function(err){23                if(err){24                    console.log(err);25                }26                console.log("File closed successfully.");27            });28        });29    });30});31var fs = require('fs');32fs.writeFile('file.txt','Simply Easy Learning!',function(err){33    if(err){34        return console.error(err);35    }36    console.log("Data written successfully!");37    console.log("Let's read newly written data");38    fs.readFile('file.txt',function(err,data){39        if(err){40            return console.error(err);41        }42        console.log("Asynchronous read: " + data.toString());43    });44});45var fs = require('fs');46fs.writeFileSync('file.txt','Simply Easy Learning!');47console.log("Data written successfully!");48console.log("Let's read newly written data");49var data = fs.readFileSync('file.txt');50console.log("Synchronous read: " + data.toString());51console.log("Program Ended");52var fs = require('fs');53var buf = new Buffer(1024);54console.log("Going to open an existing file");55fs.open('file.txt','r+',function(err,fd){56    if(err){57        return console.error(err);58    }59    console.log("File opened successfully!");60    console.log("Going to read the file");61    fs.read(fd,buf,0,buf.length,0,function(err,bytes){62        if(err){63            console.log(errUsing AI Code Generation
1var fs = require('fs');2var data = 'Write this content in file.';3fs.writeFile('test.txt', data, (err) => {4  if (err) throw err;5  console.log('File is created successfully.');6});7fs.writeTimeout('test.txt', data, 1000, (err) => {8  if (err) throw err;9  console.log('File is created successfully.');10});Using AI Code Generation
1var fs = require('fs');2fs.writeFile('test.txt', 'Hello World', function(err) {3    if (err) {4        return console.error(err);5    }6    console.log('Data written successfully!');7    console.log('Let\'s read newly written data');8    fs.readFile('test.txt', function(err, data) {9        if (err) {10            return console.error(err);11        }12        console.log('Asynchronous read: ' + data.toString());13    });14});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!!
