Best JavaScript code snippet using storybook-root
contents.controller.unit.test.ts
Source:contents.controller.unit.test.ts
...52 });53 });54 describe("Infer type", () => {55 it("Should return IMAGE if URI points to an image", () => {56 expect(controller.inferType("http://localhost/test.jpg")).toEqual(ContentType.IMAGE);57 expect(controller.inferType("http://localhost/test.jpeg")).toEqual(ContentType.IMAGE);58 expect(controller.inferType("http://localhost/test.png")).toEqual(ContentType.IMAGE);59 expect(controller.inferType("http://localhost/test.gif")).toEqual(ContentType.IMAGE);60 expect(controller.inferType("http://localhost/test.bmp")).toEqual(ContentType.IMAGE);61 expect(controller.inferType("/home/user/images/test.jpg")).toEqual(ContentType.IMAGE);62 expect(controller.inferType("/home/user/images/test.jpeg")).toEqual(ContentType.IMAGE);63 expect(controller.inferType("/home/user/images/test.png")).toEqual(ContentType.IMAGE);64 expect(controller.inferType("/home/user/images/test.gif")).toEqual(ContentType.IMAGE);65 expect(controller.inferType("/home/user/images/test.bmp")).toEqual(ContentType.IMAGE);66 });67 it("Should return VIDEO if URI points to a video", () => {68 expect(controller.inferType("http://localhost/test.mp4")).toEqual(ContentType.VIDEO);69 expect(controller.inferType("http://localhost/test.webm")).toEqual(ContentType.VIDEO);70 expect(controller.inferType("http://localhost/test.avi")).toEqual(ContentType.VIDEO);71 expect(controller.inferType("http://localhost/test.mkv")).toEqual(ContentType.VIDEO);72 expect(controller.inferType("http://localhost/test.mov")).toEqual(ContentType.VIDEO);73 expect(controller.inferType("http://localhost/test.wmv")).toEqual(ContentType.VIDEO);74 expect(controller.inferType("/home/user/images/test.mp4")).toEqual(ContentType.VIDEO);75 expect(controller.inferType("/home/user/images/test.webm")).toEqual(ContentType.VIDEO);76 expect(controller.inferType("/home/user/images/test.avi")).toEqual(ContentType.VIDEO);77 expect(controller.inferType("/home/user/images/test.mkv")).toEqual(ContentType.VIDEO);78 expect(controller.inferType("/home/user/images/test.mov")).toEqual(ContentType.VIDEO);79 expect(controller.inferType("/home/user/images/test.wmv")).toEqual(ContentType.VIDEO);80 });81 it("Should return WEBPAGE if URI points to a webpage", () => {82 expect(controller.inferType("http://localhost/index.html")).toEqual(ContentType.WEBPAGE);83 expect(controller.inferType("http://localhost/index.php")).toEqual(ContentType.WEBPAGE);84 expect(controller.inferType("/home/user/index.html")).toEqual(ContentType.WEBPAGE);85 expect(controller.inferType("/home/user/index.php")).toEqual(ContentType.WEBPAGE);86 expect(controller.inferType("http://google.fr")).toEqual(ContentType.WEBPAGE);87 expect(controller.inferType("http://localhost/test")).toEqual(ContentType.WEBPAGE);88 });89 it("Should return YOUTUBE is URI points to a YouTube video", () => {90 // This is based on the extractYoutubeID method, so no need to91 // test further92 expect(controller.inferType("https://www.youtube.com/watch?v=HXNhEYqFo0o")).toEqual(ContentType.YOUTUBE);93 });94 it("Should defaults to TEXT for unknown URI", () => {95 expect(controller.inferType("some_text")).toEqual(ContentType.TEXT);96 });97 });98 describe("Prepare URI for display", () => {99 // it("Should wrap IMAGE content", () => {100 // const content: any = {101 // type: ContentType.IMAGE,102 // uri: "http://localhost/image.jpg"103 // };104 // const copy = controller.prepareContentForDisplay(content);105 // expect(copy.uri).not.toEqual(content.uri);106 // });107 // it("Should wrap VIDEO content", () => {108 // const content: any = {109 // type: ContentType.VIDEO,...
infer-walkthrough.js
Source:infer-walkthrough.js
1import inferAssets from '../assets/inferQuestions';2import getAllDefaults from '../default-values/infer-defaults';3import regionMapper from '../assets/regionMapping';4import { ResourceAlreadyExistsError, ResourceDoesNotExistError, exitOnNextTick, open } from 'amplify-cli-core';5const inquirer = require('inquirer');6const path = require('path');7const fs = require('fs-extra');8import { enableGuestAuth } from './enable-guest-auth';9// Predictions Info10const category = 'predictions';11const parametersFileName = 'parameters.json';12const templateFilename = 'infer-template.json.ejs';13const inferTypes = ['inferModel'];14const service = 'SageMaker';15async function addWalkthrough(context) {16 while (!checkIfAuthExists(context)) {17 if (18 await context.amplify.confirmPrompt(19 'You need to add auth (Amazon Cognito) to your project in order to add storage for user files. Do you want to add auth now?',20 )21 ) {22 await context.amplify.invokePluginMethod(context, 'auth', undefined, 'add', [context]);23 break;24 } else {25 context.usageData.emitSuccess();26 exitOnNextTick(0);27 }28 }29 return await configure(context);30}31async function updateWalkthrough(context) {32 const { amplify } = context;33 const { amplifyMeta } = amplify.getProjectDetails();34 const predictionsResources = [];35 Object.keys(amplifyMeta[category]).forEach(resourceName => {36 if (inferTypes.includes(amplifyMeta[category][resourceName].inferType)) {37 predictionsResources.push({38 name: resourceName,39 value: { name: resourceName, inferType: amplifyMeta[category][resourceName].inferType },40 });41 }42 });43 if (predictionsResources.length === 0) {44 const errMessage = 'No resources to update. You need to add a resource.';45 context.print.error(errMessage);46 context.usageData.emitError(new ResourceDoesNotExistError(errMessage));47 exitOnNextTick(0);48 return;49 }50 let resourceObj = predictionsResources[0].value;51 if (predictionsResources > 1) {52 const resourceAnswer = await inquirer.prompt({53 type: 'list',54 name: 'resource',55 messages: 'Which infer resource would you like to update?',56 choices: predictionsResources,57 });58 resourceObj = resourceAnswer.resource;59 }60 return configure(context, resourceObj);61}62async function configure(context, resourceObj) {63 const { amplify } = context;64 const defaultValues = getAllDefaults(amplify.getProjectDetails());65 const projectBackendDirPath = context.amplify.pathManager.getBackendDirPath();66 let parameters = {};67 let inferType;68 if (resourceObj) {69 const resourceDirPath = path.join(projectBackendDirPath, category, resourceObj.name);70 const parametersFilePath = path.join(resourceDirPath, parametersFileName);71 try {72 parameters = amplify.readJsonFile(parametersFilePath);73 } catch (e) {74 parameters = {};75 }76 inferType = resourceObj.inferType;77 parameters.resourceName = resourceObj.name;78 Object.assign(defaultValues, parameters);79 }80 let answers = {};81 if (!parameters.resourceName) {82 answers = await inquirer.prompt(inferAssets.setup.type());83 // check if that type is already created84 const resourceType = resourceAlreadyExists(context, answers.inferType);85 if (resourceType) {86 const errMessage = `${resourceType} has already been added to this project.`;87 context.print.warning(errMessage);88 context.usageData.emitError(new ResourceAlreadyExistsError(errMessage));89 exitOnNextTick(0);90 }91 Object.assign(answers, await inquirer.prompt(inferAssets.setup.name(`${answers.inferType}${defaultValues.resourceName}`)));92 inferType = answers.inferType;93 if (inferType === 'modelInfer') {94 defaultValues.region = regionMapper.getAvailableRegion(context, 'SageMaker', defaultValues.region);95 }96 }97 Object.assign(answers, await followUpQuestions(context, inferAssets[inferType], inferType, defaultValues, parameters));98 answers = { ...answers, service };99 Object.assign(defaultValues, answers);100 // auth permissions101 if (answers.access === 'authAndGuest') {102 await enableGuestAuth(context, defaultValues.resourceName, true);103 }104 const { resourceName } = defaultValues;105 delete defaultValues.service;106 delete defaultValues.region;107 defaultValues.inferType = inferType;108 const resourceDirPath = path.join(projectBackendDirPath, category, resourceName);109 const amplifyMetaValues = {110 resourceName,111 service,112 inferType,113 };114 // write to file115 fs.ensureDirSync(resourceDirPath);116 const parametersFilePath = path.join(resourceDirPath, parametersFileName);117 const jsonString = JSON.stringify(defaultValues, null, 4);118 fs.writeFileSync(parametersFilePath, jsonString, 'utf8');119 if (!parameters.resourceName) {120 await copyCfnTemplate(context, category, resourceName, defaultValues);121 }122 addRegionMapping(context, resourceName, inferType);123 return amplifyMetaValues;124}125function addRegionMapping(context, resourceName, inferType) {126 const regionMapping = regionMapper.getRegionMapping(context, service, inferType);127 const projectBackendDirPath = context.amplify.pathManager.getBackendDirPath();128 const identifyCFNFilePath = path.join(projectBackendDirPath, category, resourceName, `${resourceName}-template.json`);129 const identifyCFNFile = context.amplify.readJsonFile(identifyCFNFilePath);130 identifyCFNFile.Mappings = regionMapping;131 const identifyCFNJSON = JSON.stringify(identifyCFNFile, null, 4);132 fs.writeFileSync(identifyCFNFilePath, identifyCFNJSON, 'utf8');133}134async function copyCfnTemplate(context, categoryName, resourceName, options) {135 const { amplify } = context;136 const targetDir = amplify.pathManager.getBackendDirPath();137 const pluginDir = __dirname;138 const copyJobs = [139 {140 dir: pluginDir,141 template: `../cloudformation-templates/${templateFilename}`,142 target: `${targetDir}/${categoryName}/${resourceName}/${resourceName}-template.json`,143 },144 ];145 // copy over the files146 return await context.amplify.copyBatch(context, copyJobs, options);147}148async function followUpQuestions(context, questionObj, inferType, defaultValues, parameters) {149 const answers = await inquirer.prompt(questionObj.endpointPrompt(parameters));150 if (answers.endpointConfig === 'import') {151 // attempt to get existing endpoints152 Object.assign(answers, await getEndpoints(context, questionObj, parameters));153 }154 if (answers.endpointConfig === 'create') {155 // create endpoint in console156 await createEndpoint(context, defaultValues);157 // import existing endpoint158 Object.assign(answers, await getEndpoints(context, questionObj, parameters));159 }160 Object.assign(answers, await inquirer.prompt(questionObj.authAccess.prompt(parameters)));161 return answers;162}163function checkIfAuthExists(context) {164 const { amplify } = context;165 const { amplifyMeta } = amplify.getProjectDetails();166 let authExists = false;167 const authServiceName = 'Cognito';168 const authCategory = 'auth';169 if (amplifyMeta[authCategory] && Object.keys(amplifyMeta[authCategory]).length > 0) {170 const categoryResources = amplifyMeta[authCategory];171 Object.keys(categoryResources).forEach(resource => {172 if (categoryResources[resource].service === authServiceName) {173 authExists = true;174 }175 });176 }177 return authExists;178}179function resourceAlreadyExists(context, inferType) {180 const { amplify } = context;181 const { amplifyMeta } = amplify.getProjectDetails();182 let type;183 if (amplifyMeta[category] && context.commandName !== 'update') {184 const categoryResources = amplifyMeta[category];185 Object.keys(categoryResources).forEach(resource => {186 if (categoryResources[resource].inferType === inferType) {187 type = inferType;188 }189 });190 }191 return type;192}193async function getEndpoints(context, questionObj, params) {194 const sagemaker = await context.amplify.executeProviderUtils(context, 'awscloudformation', 'getEndpoints');195 const endpoints = [];196 const endpointMap = {};197 sagemaker.Endpoints.forEach(endpoint => {198 endpoints.push({ name: `${endpoint.EndpointName}` });199 endpointMap[endpoint.EndpointName] = { endpointName: endpoint.EndpointName, endpointARN: endpoint.EndpointArn };200 });201 if (endpoints.length < 1) {202 const errMessage = 'No existing endpoints!';203 context.print.error(errMessage);204 context.usageData.emitError(new ResourceDoesNotExistError(errMessage));205 exitOnNextTick(0);206 }207 const { endpoint } = await inquirer.prompt(questionObj.importPrompt({ ...params, endpoints }));208 return endpointMap[endpoint];209}210async function createEndpoint(context, defaultValues) {211 const endpointConsoleUrl = `https://${defaultValues.region}.console.aws.amazon.com/sagemaker/home?region=${defaultValues.region}#/endpoints/create`;212 await open(endpointConsoleUrl, { wait: false });213 context.print.info('SageMaker Console:');214 context.print.success(endpointConsoleUrl);215 await inquirer.prompt({216 type: 'input',217 name: 'pressKey',218 message: 'Press enter to continue',219 });220}...
type-test.js
Source:type-test.js
...24 d: 'date',25 e: 'number'26};27tape('inferType should infer booleans', function(test) {28 test.equal(inferType(['true', 'false', NaN, null]), 'boolean');29 test.equal(inferType([true, false, null]), 'boolean');30 test.end();31});32tape('inferType should infer integers', function(test) {33 test.equal(inferType(['0', '1', null, '3', NaN, undefined, '-5']), 'integer');34 test.equal(inferType([1, 2, 3]), 'integer');35 test.end();36});37tape('inferType should infer numbers', function(test) {38 test.equal(inferType(['0', '1', null, '3.1415', NaN, 'Infinity', '1e-5']), 'number');39 test.equal(inferType([1, 2.2, 3]), 'number');40 test.end();41});42tape('inferType should infer dates', function(test) {43 test.equal(inferType(['1/1/2001', null, NaN, 'Jan 5, 2001']), 'date');44 test.equal(inferType([new Date('1/1/2001'), null, new Date('Jan 5, 2001')]), 'date');45 test.end();46});47tape('inferType should infer strings when all else fails', function(test) {48 test.equal(inferType(['hello', '', '1', 'true', null]), 'string');49 test.end();50});51tape('inferType should handle fields', function(test) {52 var data = [53 {a:'1', b:'true'},54 {a:'2', b:'false'},55 {a:'3', b:null}56 ];57 test.equal(inferType(data, 'a'), 'integer');58 test.equal(inferType(data, 'b'), 'boolean');59 test.end();60});61tape('inferTypes should infer types for all fields', function(test) {62 test.deepEqual(inferTypes(data, fields), types);63 test.deepEqual(inferTypes(strings, fields), types);64 test.end();65});66tape('type parsers should parse booleans', function(test) {67 test.equal(typeParsers.boolean('true'), true);68 test.equal(typeParsers.boolean('false'), false);69 test.equal(typeParsers.boolean(null), null);70 test.end();71});72tape('type parsers should parse numbers', function(test) {...
Using AI Code Generation
1import { inferType } from 'storybook-root';2inferType('string');3{4 "dependencies": {5 }6}
Using AI Code Generation
1import { inferType } from 'storybook-root';2export const test = inferType('test');3import { inferType } from 'storybook-root';4export const test2 = inferType('test2');5import { inferType } from 'storybook-root';6export const test3 = inferType('test3');7import { inferType } from 'storybook-root';8export const test4 = inferType('test4');9import { inferType } from 'storybook-root';10export const test5 = inferType('test5');11import { inferType } from 'storybook-root';12export const test6 = inferType('test6');13import { inferType } from 'storybook-root';14export const test7 = inferType('test7');15import { inferType } from 'storybook-root';16export const test8 = inferType('test8');17import { inferType } from 'storybook-root';18export const test9 = inferType('test9');19import { inferType } from 'storybook-root';20export const test10 = inferType('test10');21import { inferType } from 'storybook-root';22export const test11 = inferType('test11');23import { inferType } from 'storybook-root';24export const test12 = inferType('test12');25import { inferType } from 'storybook-root';26export const test13 = inferType('test13');
Using AI Code Generation
1import { inferType } from 'storybook-root';2import { storiesOf } from '@storybook/react';3import React from 'react';4storiesOf('inferType', module)5 .add('inferType', () => <div>{inferType()}</div>);6import inferType from './inferType';7export default inferType;8export default function inferType() {9 return 'inferType';10}11import { addDecorator } from '@storybook/react';12import { withInfo } from '@storybook/addon-info';13addDecorator(14 withInfo({15 styles: {16 infoBody: {17 },18 },19 }),20);
Using AI Code Generation
1const { inferType } = require('storybook-root');2const inferredType = inferType('some string');3console.log(inferredType);4const { inferType } = require('storybook-root');5const inferredType = inferType('some string');6console.log(inferredType);7const { inferType } = require('storybook-root');8const inferredType = inferType('some string');9console.log(inferredType);10const { inferType } = require('storybook-root');11const inferredType = inferType('some string');12console.log(inferredType);13const { inferType } = require('storybook-root');14const inferredType = inferType('some string');15console.log(inferredType);16const { inferType } = require('storybook-root');17const inferredType = inferType('some string');18console.log(inferredType);19const { inferType } = require('storybook-root');20const inferredType = inferType('some string');21console.log(inferredType);22const { inferType } = require('storybook-root');23const inferredType = inferType('some string');24console.log(inferredType);25const { inferType } = require('storybook-root');26const inferredType = inferType('some string');27console.log(inferredType);28const { inferType } = require('storybook-root');29const inferredType = inferType('some string');30console.log(inferredType);31const { inferType } = require('storybook-root');32const inferredType = inferType('some string');33console.log(inferredType);34const { inferType } = require('storybook-root
Using AI Code Generation
1import { inferType } from 'storybook-root';2const inferred = inferType('some string');3import { inferType } from 'storybook-root';4const inferred = inferType('some string');5import { inferType } from 'storybook-root';6const inferred = inferType('some string', 'string');7import { inferType } from 'storybook-root';8function add(x: number, y: number): number {9 return x + y;10}11const inferred = inferType(add(1, 2));12import { inferType } from 'storybook-root';13function add(x: number, y: number): number {14 return x + y;15}16const inferred = inferType(add(1, 2), 'number');
Using AI Code Generation
1const { inferType } = require('storybook-root-cause');2const { assert } = require('chai');3const inferredType = inferType(1, 2, 3);4assert.equal(inferredType, 'number');5const inferredType = inferType('foo', 'bar', 'baz');6assert.equal(inferredType, 'string');7const inferredType = inferType(true, false, false);8assert.equal(inferredType, 'boolean');9const inferredType = inferType(null, null, null);10assert.equal(inferredType, 'null');11const inferredType = inferType(undefined, undefined, undefined);12assert.equal(inferredType, 'undefined');13const inferredType = inferType([], [], []);14assert.equal(inferredType, 'array');15const inferredType = inferType({}, {}, {});16assert.equal(inferredType, 'object');17const inferredType = inferType(Symbol('foo'), Symbol('bar'), Symbol('baz'));18assert.equal(inferredType, 'symbol');19const inferredType = inferType(new Date(), new Date(), new Date());20assert.equal(inferredType, 'date');21const inferredType = inferType(new Set(), new Set(), new Set());22assert.equal(inferredType, 'set');23const inferredType = inferType(new Map(), new Map(), new Map());24assert.equal(inferredType, 'map');25const inferredType = inferType(new WeakSet(), new WeakSet(), new WeakSet());26assert.equal(inferredType, 'weakset');27const inferredType = inferType(new WeakMap(), new WeakMap(), new WeakMap());28assert.equal(inferredType, 'weakmap');29const inferredType = inferType(new Error(), new Error(), new Error());30assert.equal(inferredType, 'error');31const inferredType = inferType(new Promise(), new Promise(), new Promise());32assert.equal(inferredType, 'promise');33const inferredType = inferType(new RegExp(), new RegExp(), new RegExp());34assert.equal(inferredType, 'regexp');35const inferredType = inferType(new ArrayBuffer(), new ArrayBuffer(), new ArrayBuffer());36assert.equal(inferredType, 'arraybuffer');37const inferredType = inferType(new DataView(), new DataView(), new DataView());38assert.equal(inferredType, 'dataview');39const inferredType = inferType(new Int8Array(), new Int8Array(), new Int8Array());40assert.equal(inferredType, 'int8array');41const inferredType = inferType(new Uint8Array(), new Uint8Array(), new Uint
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!!