From d826b392ded6989a1cbedc3e150a541b9e658816 Mon Sep 17 00:00:00 2001 From: Pranjal Walia Date: Wed, 6 Jul 2022 16:33:36 +0530 Subject: [PATCH 01/19] chore: update formatter conf and apply formatter --- .prettierignore | 2 + generator/generators/aws/generator.ts | 220 +- generator/generators/azure/generator.ts | 272 +- generator/generators/do/generator.ts | 212 +- generator/generators/googleCloud/generator.ts | 725 +- generator/generators/lib/aws/awsHelper.ts | 52 +- generator/generators/lib/azure/azureHelper.ts | 108 +- .../generators/lib/googleCloud/gcpHelper.ts | 116 +- generator/generators/lib/helper.ts | 62 +- generator/main.ts | 42 +- generator/package.json | 78 +- generator/parsers/aws/parser.ts | 69 +- generator/parsers/azure/parser.ts | 68 +- generator/parsers/do/parser.ts | 70 +- generator/parsers/googleCloud/parser.ts | 98 +- .../invalidDataset_1/serviceClass.json | 18 +- .../invalidDataset_2/serviceClass.json | 18 +- .../dummyData/validDataset/serviceClass.json | 18 +- .../test/generators/aws/generator.test.ts | 162 +- .../dummyData/invalidDataset_1/files.json | 26 +- .../dummyData/invalidDataset_1/methods.json | 90 +- .../azure/dummyData/validDataset/files.json | 26 +- .../azure/dummyData/validDataset/methods.json | 90 +- .../test/generators/azure/generator.test.ts | 127 +- .../invalidDataset_1/serviceClass.json | 12 +- .../invalidDataset_2/serviceClass.json | 12 +- .../dummyData/validDataset/serviceClass.json | 12 +- .../test/generators/do/generator.test.ts | 156 +- .../dummyData/invalidDataset_1/files.json | 26 +- .../dummyData/invalidDataset_1/methods.json | 90 +- .../dummyData/invalidDataset_2/files.json | 16 +- .../dummyData/invalidDataset_2/methods.json | 66 +- .../dummyData/validDataset_1/files.json | 48 +- .../dummyData/validDataset_1/methods.json | 44 +- .../dummyData/validDataset_2/files.json | 16 +- .../dummyData/validDataset_2/methods.json | 66 +- .../generators/googleCloud/generator.test.ts | 312 +- generator/test/generators/lib/helper.ts | 58 +- generator/test/parsers/aws/parser.test.ts | 58 +- generator/test/parsers/azure/parser.test.ts | 69 +- generator/test/parsers/do/parser.test.ts | 58 +- .../test/parsers/googleCloud/parser.test.ts | 114 +- .../aws/dummyData/invalidDataset_1/data.json | 204 +- .../aws/dummyData/invalidDataset_2/data.json | 26 +- .../aws/dummyData/validDataset/data.json | 204 +- .../test/transformers/aws/transformer.test.ts | 118 +- .../dummyData/invalidDataset_1/data.json | 244 +- .../azure/dummyData/validDataset/data.json | 244 +- .../transformers/azure/transformer.test.ts | 118 +- .../do/dummyData/invalidDataset_1/data.json | 200 +- .../do/dummyData/invalidDataset_2/data.json | 26 +- .../do/dummyData/validDataset/data.json | 200 +- .../test/transformers/do/transformer.test.ts | 118 +- .../googleCloud/classBasedTransformer.test.ts | 160 +- .../clientBasedTransformer.test.ts | 160 +- .../invalidDataset_1/data.json | 7990 ++++++++--------- .../validDataset/data.json | 7990 ++++++++--------- .../invalidDataset_1/data.json | 244 +- .../validDataset/data.json | 246 +- generator/test/transformers/lib/helper.ts | 58 +- generator/transformers/aws/transformer.ts | 433 +- generator/transformers/azure/transformer.ts | 435 +- generator/transformers/do/transformer.ts | 481 +- .../googleCloud/classBasedTransformer.ts | 586 +- .../googleCloud/clientBasedTransformer.ts | 493 +- generator/tsconfig.json | 10 +- jsdoc.json | 38 +- lerna.json | 8 +- package.json | 120 +- packages/aws-plugin/package.json | 32 +- packages/azure-plugin/package.json | 54 +- packages/common/package.json | 34 +- packages/do-plugin/package.json | 32 +- packages/gcp-plugin/package.json | 52 +- 74 files changed, 12753 insertions(+), 12607 deletions(-) diff --git a/.prettierignore b/.prettierignore index 0e75fe55..a4a9265e 100644 --- a/.prettierignore +++ b/.prettierignore @@ -1,3 +1,5 @@ node_modules dist coverage +generator/**/*.yml +*.yml \ No newline at end of file diff --git a/generator/generators/aws/generator.ts b/generator/generators/aws/generator.ts index b46e1e31..a73f98b8 100644 --- a/generator/generators/aws/generator.ts +++ b/generator/generators/aws/generator.ts @@ -1,125 +1,133 @@ -import * as fs from "fs"; -import { createSourceFile, ScriptTarget, SyntaxKind } from "typescript"; +import * as fs from 'fs'; +import { createSourceFile, ScriptTarget, SyntaxKind } from 'typescript'; -import { getAST } from "../../parsers/aws/parser"; -import { transform } from "../../transformers/aws/transformer"; -import { filters, getDir,groupers, printFile } from "../lib/helper"; +import { getAST } from '../../parsers/aws/parser'; +import { transform } from '../../transformers/aws/transformer'; +import { filters, getDir, groupers, printFile } from '../lib/helper'; interface FunctionData { - functionName: string; - SDKFunctionName: string; - params: param[]; + functionName: string; + SDKFunctionName: string; + params: param[]; } interface param { - name: string; - type: string; - typeName: string; + name: string; + type: string; + typeName: string; } interface ClassData { - className: string; - functions: FunctionData[]; - serviceName: string; + className: string; + functions: FunctionData[]; + serviceName: string; } -const dummyFile = process.cwd() + "/dummyClasses/aws.js"; +const dummyFile = process.cwd() + '/dummyClasses/aws.js'; const dummyAst = createSourceFile( - dummyFile, - fs.readFileSync(dummyFile).toString(), - ScriptTarget.Latest, - true + dummyFile, + fs.readFileSync(dummyFile).toString(), + ScriptTarget.Latest, + true ); export function extractSDKData(sdkClassAst, serviceClass) { - let methods: FunctionData[] = []; - const functions = []; - - Object.keys(serviceClass).map((key, index) => { - functions.push(serviceClass[key].split(" ")[1]); - }); - - sdkClassAst.members.map(method => { - if (method.name && functions.includes(method.name.text)) { - let name; - Object.keys(serviceClass).map((key, index) => { - if (serviceClass[key].split(" ")[1] === method.name.text) { - name = key; - } - }); - - const parameters = []; - method.parameters.map(param => { - if (param.name.text !== "callback") { - const parameter = { - name: param.name.text, - optional: param.questionToken ? true : false, - type: SyntaxKind[param.type.kind], - typeName: null - }; - - if (parameter.type === "TypeReference" && param.type.typeName) { - parameter.typeName = param.type.typeName.right.text; - } - - parameters.push(parameter); - } - }); - - methods.push({ - functionName: name.toString(), - SDKFunctionName: method.name.text.toString(), - params: parameters - }); - } - }); - - const groupedMethods = groupers.aws(methods); - methods = filters.aws(groupedMethods); - - const classData: ClassData = { - className: sdkClassAst.name.text, - functions: methods, - serviceName: null - }; - - return classData; + let methods: FunctionData[] = []; + const functions = []; + + Object.keys(serviceClass).map((key, index) => { + functions.push(serviceClass[key].split(' ')[1]); + }); + + sdkClassAst.members.map(method => { + if (method.name && functions.includes(method.name.text)) { + let name; + Object.keys(serviceClass).map((key, index) => { + if (serviceClass[key].split(' ')[1] === method.name.text) { + name = key; + } + }); + + const parameters = []; + method.parameters.map(param => { + if (param.name.text !== 'callback') { + const parameter = { + name: param.name.text, + optional: param.questionToken ? true : false, + type: SyntaxKind[param.type.kind], + typeName: null, + }; + + if ( + parameter.type === 'TypeReference' && + param.type.typeName + ) { + parameter.typeName = param.type.typeName.right.text; + } + + parameters.push(parameter); + } + }); + + methods.push({ + functionName: name.toString(), + SDKFunctionName: method.name.text.toString(), + params: parameters, + }); + } + }); + + const groupedMethods = groupers.aws(methods); + methods = filters.aws(groupedMethods); + + const classData: ClassData = { + className: sdkClassAst.name.text, + functions: methods, + serviceName: null, + }; + + return classData; } export function generateAWSClass(serviceClass, serviceName) { - const sdkFile = serviceClass[Object.keys(serviceClass)[0]].split(" ")[0]; - getAST(sdkFile).then(async result => { - const sdkClassAst = result; - try { - const classData: ClassData = extractSDKData(sdkClassAst, serviceClass); - classData.serviceName = serviceName; - const output = await transform(dummyAst, classData); - let filePath; - const dir = getDir(serviceName); - if (!fs.existsSync(process.cwd() + "/generatedClasses/AWS/" + dir)) { - fs.mkdirSync(process.cwd() + "/generatedClasses/AWS/" + dir); - } - if (/^[A-Z]*$/.test(serviceName)) { - filePath = - process.cwd() + - "/generatedClasses/AWS/" + - dir + - "/aws-" + - serviceName + - ".js"; - } else { - filePath = - process.cwd() + - "/generatedClasses/AWS/" + - dir + - "/aws-" + - serviceName.charAt(0).toLowerCase() + - serviceName.slice(1) + - ".js"; - } - printFile(filePath, output); - } catch (e) { - console.error(e); - } - }); + const sdkFile = serviceClass[Object.keys(serviceClass)[0]].split(' ')[0]; + getAST(sdkFile).then(async result => { + const sdkClassAst = result; + try { + const classData: ClassData = extractSDKData( + sdkClassAst, + serviceClass + ); + classData.serviceName = serviceName; + const output = await transform(dummyAst, classData); + let filePath; + const dir = getDir(serviceName); + if ( + !fs.existsSync(process.cwd() + '/generatedClasses/AWS/' + dir) + ) { + fs.mkdirSync(process.cwd() + '/generatedClasses/AWS/' + dir); + } + if (/^[A-Z]*$/.test(serviceName)) { + filePath = + process.cwd() + + '/generatedClasses/AWS/' + + dir + + '/aws-' + + serviceName + + '.js'; + } else { + filePath = + process.cwd() + + '/generatedClasses/AWS/' + + dir + + '/aws-' + + serviceName.charAt(0).toLowerCase() + + serviceName.slice(1) + + '.js'; + } + printFile(filePath, output); + } catch (e) { + console.error(e); + } + }); } diff --git a/generator/generators/azure/generator.ts b/generator/generators/azure/generator.ts index 2aa27b60..982337f3 100644 --- a/generator/generators/azure/generator.ts +++ b/generator/generators/azure/generator.ts @@ -1,152 +1,152 @@ -import * as fs from "fs"; -import { createSourceFile, ScriptTarget,SyntaxKind } from "typescript"; +import * as fs from 'fs'; +import { createSourceFile, ScriptTarget, SyntaxKind } from 'typescript'; -import { getAST } from "../../parsers/azure/parser"; -import { transform } from "../../transformers/azure/transformer"; -import { filters, getDir,groupers, printFile } from "../lib/helper"; +import { getAST } from '../../parsers/azure/parser'; +import { transform } from '../../transformers/azure/transformer'; +import { filters, getDir, groupers, printFile } from '../lib/helper'; interface FunctionData { - pkgName: string; - fileName: string; - functionName: string; - SDKFunctionName: string; - params: param[]; - returnType: string; - client: string; + pkgName: string; + fileName: string; + functionName: string; + SDKFunctionName: string; + params: param[]; + returnType: string; + client: string; } interface param { - name: string; - type: string; + name: string; + type: string; } -const dummyFile = process.cwd() + "/dummyClasses/azure.js"; +const dummyFile = process.cwd() + '/dummyClasses/azure.js'; const dummyAst = createSourceFile( - dummyFile, - fs.readFileSync(dummyFile).toString(), - ScriptTarget.Latest, - true + dummyFile, + fs.readFileSync(dummyFile).toString(), + ScriptTarget.Latest, + true ); export function extractSDKData(sdkFiles, methods) { - const specifiedMethods = JSON.parse(JSON.stringify(methods)); - sdkFiles.map(sdkFile => { - sdkFile.ast.members.map(member => { - if (SyntaxKind[member.kind] === "Constructor") { - member.parameters.map(param => { - const tempStr = param.type.typeName.text.split(/(?=[A-Z])/); - tempStr.pop(); - sdkFile.client = tempStr.join(""); - }); - } - - if ( - SyntaxKind[member.kind] === "MethodDeclaration" && - sdkFile.sdkFunctionNames.includes(member.name.text) - ) { - const method = methods.find( - methd => - methd.SDKFunctionName === member.name.text && - methd.fileName === sdkFile.fileName - ); - const parameters = member.parameters.map(param => { - return { - name: param.name.text, - optional: param.questionToken ? true : false, - type: SyntaxKind[param.type.kind] - }; - }); - - const returnType = SyntaxKind[member.type.kind]; - if (!method.returnType) { - method.params = parameters; - method.returnType = returnType; - method.client = sdkFile.client; - } else { - const clone = JSON.parse(JSON.stringify(method)); - clone.params = parameters; - clone.returnType = returnType; - clone.client = sdkFile.client; - methods.push(clone); - } - } - }); - }); - - if (JSON.stringify(methods) === JSON.stringify(specifiedMethods)) { - throw new Error("Data extraction unsuccessful"); - } - - const groupedMethods = groupers.azure(methods); - methods = filters.azure(groupedMethods); - - const classData = { - functions: methods - }; - - return classData; + const specifiedMethods = JSON.parse(JSON.stringify(methods)); + sdkFiles.map(sdkFile => { + sdkFile.ast.members.map(member => { + if (SyntaxKind[member.kind] === 'Constructor') { + member.parameters.map(param => { + const tempStr = param.type.typeName.text.split(/(?=[A-Z])/); + tempStr.pop(); + sdkFile.client = tempStr.join(''); + }); + } + + if ( + SyntaxKind[member.kind] === 'MethodDeclaration' && + sdkFile.sdkFunctionNames.includes(member.name.text) + ) { + const method = methods.find( + methd => + methd.SDKFunctionName === member.name.text && + methd.fileName === sdkFile.fileName + ); + const parameters = member.parameters.map(param => { + return { + name: param.name.text, + optional: param.questionToken ? true : false, + type: SyntaxKind[param.type.kind], + }; + }); + + const returnType = SyntaxKind[member.type.kind]; + if (!method.returnType) { + method.params = parameters; + method.returnType = returnType; + method.client = sdkFile.client; + } else { + const clone = JSON.parse(JSON.stringify(method)); + clone.params = parameters; + clone.returnType = returnType; + clone.client = sdkFile.client; + methods.push(clone); + } + } + }); + }); + + if (JSON.stringify(methods) === JSON.stringify(specifiedMethods)) { + throw new Error('Data extraction unsuccessful'); + } + + const groupedMethods = groupers.azure(methods); + methods = filters.azure(groupedMethods); + + const classData = { + functions: methods, + }; + + return classData; } export async function generateAzureClass(serviceClass, serviceName) { - let methods: FunctionData[] = []; - - Object.keys(serviceClass).map((key, index) => { - methods.push({ - pkgName: serviceClass[key].split(" ")[0], - fileName: serviceClass[key].split(" ")[1], - functionName: key, - SDKFunctionName: serviceClass[key].split(" ")[2], - params: [], - returnType: null, - client: null - }); - }); - - const files = Array.from(new Set(methods.map(method => method.fileName))); - - const sdkFiles = files.map(file => { - return { - fileName: file, - pkgName: methods[0].pkgName, - ast: null, - client: null, - sdkFunctionNames: methods - .filter(method => method.fileName === file) - .map(method => method.SDKFunctionName) - }; - }); - - await Promise.all( - sdkFiles.map(async file => { - file.ast = await getAST(file); - }) - ); - - const classData: any = extractSDKData(sdkFiles, methods); - classData.serviceName = serviceName; - const output = await transform(dummyAst, classData); - let filePath; - const dir = getDir(serviceName); - if (!fs.existsSync(process.cwd() + "/generatedClasses/Azure/" + dir)) { - fs.mkdirSync(process.cwd() + "/generatedClasses/Azure/" + dir); - } - if (/^[A-Z]*$/.test(serviceName)) { - filePath = - process.cwd() + - "/generatedClasses/Azure/" + - dir + - "/azure-" + - serviceName + - ".js"; - } else { - filePath = - process.cwd() + - "/generatedClasses/Azure/" + - dir + - "/azure-" + - serviceName.charAt(0).toLowerCase() + - serviceName.slice(1) + - ".js"; - } - printFile(filePath, output); + let methods: FunctionData[] = []; + + Object.keys(serviceClass).map((key, index) => { + methods.push({ + pkgName: serviceClass[key].split(' ')[0], + fileName: serviceClass[key].split(' ')[1], + functionName: key, + SDKFunctionName: serviceClass[key].split(' ')[2], + params: [], + returnType: null, + client: null, + }); + }); + + const files = Array.from(new Set(methods.map(method => method.fileName))); + + const sdkFiles = files.map(file => { + return { + fileName: file, + pkgName: methods[0].pkgName, + ast: null, + client: null, + sdkFunctionNames: methods + .filter(method => method.fileName === file) + .map(method => method.SDKFunctionName), + }; + }); + + await Promise.all( + sdkFiles.map(async file => { + file.ast = await getAST(file); + }) + ); + + const classData: any = extractSDKData(sdkFiles, methods); + classData.serviceName = serviceName; + const output = await transform(dummyAst, classData); + let filePath; + const dir = getDir(serviceName); + if (!fs.existsSync(process.cwd() + '/generatedClasses/Azure/' + dir)) { + fs.mkdirSync(process.cwd() + '/generatedClasses/Azure/' + dir); + } + if (/^[A-Z]*$/.test(serviceName)) { + filePath = + process.cwd() + + '/generatedClasses/Azure/' + + dir + + '/azure-' + + serviceName + + '.js'; + } else { + filePath = + process.cwd() + + '/generatedClasses/Azure/' + + dir + + '/azure-' + + serviceName.charAt(0).toLowerCase() + + serviceName.slice(1) + + '.js'; + } + printFile(filePath, output); } diff --git a/generator/generators/do/generator.ts b/generator/generators/do/generator.ts index 052b13e0..80f1c798 100644 --- a/generator/generators/do/generator.ts +++ b/generator/generators/do/generator.ts @@ -1,123 +1,129 @@ -import * as fs from "fs"; -import { createSourceFile, ScriptTarget, SyntaxKind } from "typescript"; +import * as fs from 'fs'; +import { createSourceFile, ScriptTarget, SyntaxKind } from 'typescript'; -import { getAST } from "../../parsers/do/parser"; -import { transform } from "../../transformers/do/transformer"; -import { getDir,printFile } from "../lib/helper"; +import { getAST } from '../../parsers/do/parser'; +import { transform } from '../../transformers/do/transformer'; +import { getDir, printFile } from '../lib/helper'; interface FunctionData { - functionName: string; - SDKFunctionName: string; - params: param[]; + functionName: string; + SDKFunctionName: string; + params: param[]; } interface param { - name: string; - type: string; - typeName: string; + name: string; + type: string; + typeName: string; } interface ClassData { - className: string; - functions: FunctionData[]; - serviceName: string; + className: string; + functions: FunctionData[]; + serviceName: string; } -const dummyFile = process.cwd() + "/dummyClasses/do.js"; +const dummyFile = process.cwd() + '/dummyClasses/do.js'; const dummyAst = createSourceFile( - dummyFile, - fs.readFileSync(dummyFile).toString(), - ScriptTarget.Latest, - true + dummyFile, + fs.readFileSync(dummyFile).toString(), + ScriptTarget.Latest, + true ); export function extractSDKData(sdkClassAst, serviceClass) { - let methods: FunctionData[] = []; - const functions = []; - - Object.keys(serviceClass).map((key, index) => { - functions.push(serviceClass[key].split(" ")[1]); - }); - - sdkClassAst.members.map(method => { - if (method.name && functions.includes(method.name.text)) { - let name; - Object.keys(serviceClass).map((key, index) => { - if (serviceClass[key].split(" ")[1] === method.name.text) { - name = key; - } - }); - - const parameters = []; - method.parameters.map(param => { - if (param.name.text !== "callback") { - const parameter = { - name: param.name.text, - optional: param.questionToken ? true : false, - type: SyntaxKind[param.type.kind], - typeName: null - }; - - if (parameter.type === "TypeReference" && param.type.typeName) { - parameter.typeName = param.type.typeName.text; - } - - parameters.push(parameter); - } - }); - - methods.push({ - functionName: name.toString(), - SDKFunctionName: method.name.text.toString(), - params: parameters - }); - } - }); - - const classData: ClassData = { - className: sdkClassAst.name.text, - functions: methods, - serviceName: null - }; - - return classData; + let methods: FunctionData[] = []; + const functions = []; + + Object.keys(serviceClass).map((key, index) => { + functions.push(serviceClass[key].split(' ')[1]); + }); + + sdkClassAst.members.map(method => { + if (method.name && functions.includes(method.name.text)) { + let name; + Object.keys(serviceClass).map((key, index) => { + if (serviceClass[key].split(' ')[1] === method.name.text) { + name = key; + } + }); + + const parameters = []; + method.parameters.map(param => { + if (param.name.text !== 'callback') { + const parameter = { + name: param.name.text, + optional: param.questionToken ? true : false, + type: SyntaxKind[param.type.kind], + typeName: null, + }; + + if ( + parameter.type === 'TypeReference' && + param.type.typeName + ) { + parameter.typeName = param.type.typeName.text; + } + + parameters.push(parameter); + } + }); + + methods.push({ + functionName: name.toString(), + SDKFunctionName: method.name.text.toString(), + params: parameters, + }); + } + }); + + const classData: ClassData = { + className: sdkClassAst.name.text, + functions: methods, + serviceName: null, + }; + + return classData; } export function generateDOClass(serviceClass, serviceName) { - const sdkFile = serviceClass[Object.keys(serviceClass)[0]].split(" ")[0]; - getAST(sdkFile).then(async result => { - const sdkClassAst = result; - try { - const classData: ClassData = extractSDKData(sdkClassAst, serviceClass); - classData.serviceName = serviceName; - const output = await transform(dummyAst, classData); - let filePath; - const dir = getDir(serviceName); - if (!fs.existsSync(process.cwd() + "/generatedClasses/DO/" + dir)) { - fs.mkdirSync(process.cwd() + "/generatedClasses/DO/" + dir); - } - if (/^[A-Z]*$/.test(serviceName)) { - filePath = - process.cwd() + - "/generatedClasses/DO/" + - dir + - "/do-" + - serviceName + - ".js"; - } else { - filePath = - process.cwd() + - "/generatedClasses/DO/" + - dir + - "/do-" + - serviceName.charAt(0).toLowerCase() + - serviceName.slice(1) + - ".js"; - } - printFile(filePath, output); - } catch (e) { - console.error(e); - } - }); + const sdkFile = serviceClass[Object.keys(serviceClass)[0]].split(' ')[0]; + getAST(sdkFile).then(async result => { + const sdkClassAst = result; + try { + const classData: ClassData = extractSDKData( + sdkClassAst, + serviceClass + ); + classData.serviceName = serviceName; + const output = await transform(dummyAst, classData); + let filePath; + const dir = getDir(serviceName); + if (!fs.existsSync(process.cwd() + '/generatedClasses/DO/' + dir)) { + fs.mkdirSync(process.cwd() + '/generatedClasses/DO/' + dir); + } + if (/^[A-Z]*$/.test(serviceName)) { + filePath = + process.cwd() + + '/generatedClasses/DO/' + + dir + + '/do-' + + serviceName + + '.js'; + } else { + filePath = + process.cwd() + + '/generatedClasses/DO/' + + dir + + '/do-' + + serviceName.charAt(0).toLowerCase() + + serviceName.slice(1) + + '.js'; + } + printFile(filePath, output); + } catch (e) { + console.error(e); + } + }); } diff --git a/generator/generators/googleCloud/generator.ts b/generator/generators/googleCloud/generator.ts index 9a2702cf..d22e8bc1 100644 --- a/generator/generators/googleCloud/generator.ts +++ b/generator/generators/googleCloud/generator.ts @@ -1,388 +1,405 @@ -import * as fs from "fs"; -import * as path from "path"; -import { createSourceFile, ScriptTarget,SyntaxKind } from "typescript"; +import * as fs from 'fs'; +import * as path from 'path'; +import { createSourceFile, ScriptTarget, SyntaxKind } from 'typescript'; -import { getAST } from "../../parsers/googleCloud/parser"; -import { classBasedTransform } from "../../transformers/googleCloud/classBasedTransformer"; -import { clientBasedTransform } from "../../transformers/googleCloud/clientBasedTransformer"; -import { filters, getDir,groupers, printFile } from "../lib/helper"; +import { getAST } from '../../parsers/googleCloud/parser'; +import { classBasedTransform } from '../../transformers/googleCloud/classBasedTransformer'; +import { clientBasedTransform } from '../../transformers/googleCloud/clientBasedTransformer'; +import { filters, getDir, groupers, printFile } from '../lib/helper'; interface ClassData { - name: string; - methods: FunctionData[]; - constructor: constructorData; - properties: propertyData[]; + name: string; + methods: FunctionData[]; + constructor: constructorData; + properties: propertyData[]; } interface FunctionData { - pkgName: string; - version: string; - fileName: string; - functionName: string; - SDKFunctionName: string; - params: param[]; - returnType: string; - returnTypeName: string; - client: string; + pkgName: string; + version: string; + fileName: string; + functionName: string; + SDKFunctionName: string; + params: param[]; + returnType: string; + returnTypeName: string; + client: string; } interface propertyData { - name: string; - type: string; + name: string; + type: string; } interface constructorData { - parameters: param[]; + parameters: param[]; } interface param { - name: string; - type: string; - optional: boolean; + name: string; + type: string; + optional: boolean; } -const dummyFile = process.cwd() + "/dummyClasses/gcp.js"; +const dummyFile = process.cwd() + '/dummyClasses/gcp.js'; const dummyAst = createSourceFile( - dummyFile, - fs.readFileSync(dummyFile).toString(), - ScriptTarget.Latest, - true + dummyFile, + fs.readFileSync(dummyFile).toString(), + ScriptTarget.Latest, + true ); export function extractClassBasedSDKData(methods, sdkFiles): any { - const specifiedMethods = JSON.parse(JSON.stringify(methods)); - return new Promise(async (resolve, reject) => { - try { - let classes: ClassData[] = []; - - sdkFiles.map(file => { - file.classes.map(classAst => { - const classInfo: ClassData = { - name: classAst.name.text, - methods: [], - properties: [], - constructor: null - }; - - classAst.members.map(member => { - if (SyntaxKind[member.kind] === "MethodDeclaration") { - const returnType = SyntaxKind[member.type.kind]; - - const parameters = member.parameters.map(param => { - return { - name: param.name.text, - optional: param.questionToken ? true : false, - type: SyntaxKind[param.type.kind] - }; - }); - const method: FunctionData = { - pkgName: file.pkgName, - version: null, - fileName: file.fileName, - functionName: null, - SDKFunctionName: member.name.text, - params: parameters, - returnType: returnType, - returnTypeName: null, - client: classAst.name.text // Class name - }; - - if (returnType === "TypeReference") { - method.returnTypeName = member.type.typeName.text; - } - - const meth = methods.find( - meth => - meth.SDKFunctionName === method.SDKFunctionName && - meth.fileName === method.fileName - ); - method.functionName = meth ? meth.functionName : null; - classInfo.methods.push(method); - } - - if (SyntaxKind[member.kind] === "Constructor") { - const parameters = member.parameters.map(param => { - return { - name: param.name.text, - optional: param.questionToken ? true : false, - type: SyntaxKind[param.type.kind], - typeRefName: param.type.typeName - ? param.type.typeName.text - : null - }; - }); - - classInfo.constructor = { - parameters - }; - } - - if (SyntaxKind[member.kind] === "PropertyDeclaration") { - const isPrivateProp = - member.modifiers && - member.modifiers.some( - modifier => SyntaxKind[modifier.kind] === "PrivateKeyword" - ); - if (!isPrivateProp) { - const prop = { - name: member.name.text, - type: SyntaxKind[member.type.kind], - typeRefName: member.type.typeName - ? member.type.typeName.text - : null - }; - classInfo.properties.push(prop); - } - } - }); - classes.push(classInfo); - }); - }); - - methods = []; - - classes.map(classData => { - let filteredMethods: any = classData.methods.filter( - meth => meth.functionName !== null - ); - filteredMethods.map(filMeth => { - filMeth.classConstructorData = classData.constructor; - }); - - methods = methods.concat(filteredMethods); - }); - - const extractedData = { - classes, - methods - }; - if (JSON.stringify(methods) === JSON.stringify(specifiedMethods)) { - reject(new Error("Data extraction unsuccessful")); - } else { - resolve(extractedData); - } - } catch (error) { - reject(error); - } - }); + const specifiedMethods = JSON.parse(JSON.stringify(methods)); + return new Promise(async (resolve, reject) => { + try { + let classes: ClassData[] = []; + + sdkFiles.map(file => { + file.classes.map(classAst => { + const classInfo: ClassData = { + name: classAst.name.text, + methods: [], + properties: [], + constructor: null, + }; + + classAst.members.map(member => { + if (SyntaxKind[member.kind] === 'MethodDeclaration') { + const returnType = SyntaxKind[member.type.kind]; + + const parameters = member.parameters.map(param => { + return { + name: param.name.text, + optional: param.questionToken + ? true + : false, + type: SyntaxKind[param.type.kind], + }; + }); + const method: FunctionData = { + pkgName: file.pkgName, + version: null, + fileName: file.fileName, + functionName: null, + SDKFunctionName: member.name.text, + params: parameters, + returnType: returnType, + returnTypeName: null, + client: classAst.name.text, // Class name + }; + + if (returnType === 'TypeReference') { + method.returnTypeName = + member.type.typeName.text; + } + + const meth = methods.find( + meth => + meth.SDKFunctionName === + method.SDKFunctionName && + meth.fileName === method.fileName + ); + method.functionName = meth + ? meth.functionName + : null; + classInfo.methods.push(method); + } + + if (SyntaxKind[member.kind] === 'Constructor') { + const parameters = member.parameters.map(param => { + return { + name: param.name.text, + optional: param.questionToken + ? true + : false, + type: SyntaxKind[param.type.kind], + typeRefName: param.type.typeName + ? param.type.typeName.text + : null, + }; + }); + + classInfo.constructor = { + parameters, + }; + } + + if (SyntaxKind[member.kind] === 'PropertyDeclaration') { + const isPrivateProp = + member.modifiers && + member.modifiers.some( + modifier => + SyntaxKind[modifier.kind] === + 'PrivateKeyword' + ); + if (!isPrivateProp) { + const prop = { + name: member.name.text, + type: SyntaxKind[member.type.kind], + typeRefName: member.type.typeName + ? member.type.typeName.text + : null, + }; + classInfo.properties.push(prop); + } + } + }); + classes.push(classInfo); + }); + }); + + methods = []; + + classes.map(classData => { + let filteredMethods: any = classData.methods.filter( + meth => meth.functionName !== null + ); + filteredMethods.map(filMeth => { + filMeth.classConstructorData = classData.constructor; + }); + + methods = methods.concat(filteredMethods); + }); + + const extractedData = { + classes, + methods, + }; + if (JSON.stringify(methods) === JSON.stringify(specifiedMethods)) { + reject(new Error('Data extraction unsuccessful')); + } else { + resolve(extractedData); + } + } catch (error) { + reject(error); + } + }); } export function extractClientBasedSDKdata(methods, sdkFiles): any { - const specifiedMethods = JSON.parse(JSON.stringify(methods)); - return new Promise(async (resolve, reject) => { - try { - sdkFiles.map(sdkFile => { - sdkFile.client = sdkFile.ast.name.text; - sdkFile.ast.members.map(member => { - if ( - SyntaxKind[member.kind] === "MethodDeclaration" && - sdkFile.sdkFunctionNames.includes(member.name.text) - ) { - const method = methods.find( - methd => methd.SDKFunctionName === member.name.text - ); - - const parameters = member.parameters.map(param => { - return { - name: param.name.text, - optional: param.questionToken ? true : false, - type: SyntaxKind[param.type.kind] - }; - }); - - const returnType = SyntaxKind[member.type.kind]; - if (returnType === "TypeReference") { - method.returnTypeName = member.type.typeName.text; - } - - if (!method.returnType) { - method.params = parameters; - method.returnType = returnType; - method.client = sdkFile.client; - } else { - const clone = JSON.parse(JSON.stringify(method)); - clone.params = parameters; - clone.returnType = returnType; - clone.client = sdkFile.client; - methods.push(clone); - } - } - }); - }); - - if (JSON.stringify(methods) === JSON.stringify(specifiedMethods)) { - reject(new Error("Data extraction unsuccessful")); - } else { - resolve(methods); - } - } catch (error) { - reject(error); - } - }); + const specifiedMethods = JSON.parse(JSON.stringify(methods)); + return new Promise(async (resolve, reject) => { + try { + sdkFiles.map(sdkFile => { + sdkFile.client = sdkFile.ast.name.text; + sdkFile.ast.members.map(member => { + if ( + SyntaxKind[member.kind] === 'MethodDeclaration' && + sdkFile.sdkFunctionNames.includes(member.name.text) + ) { + const method = methods.find( + methd => methd.SDKFunctionName === member.name.text + ); + + const parameters = member.parameters.map(param => { + return { + name: param.name.text, + optional: param.questionToken ? true : false, + type: SyntaxKind[param.type.kind], + }; + }); + + const returnType = SyntaxKind[member.type.kind]; + if (returnType === 'TypeReference') { + method.returnTypeName = member.type.typeName.text; + } + + if (!method.returnType) { + method.params = parameters; + method.returnType = returnType; + method.client = sdkFile.client; + } else { + const clone = JSON.parse(JSON.stringify(method)); + clone.params = parameters; + clone.returnType = returnType; + clone.client = sdkFile.client; + methods.push(clone); + } + } + }); + }); + + if (JSON.stringify(methods) === JSON.stringify(specifiedMethods)) { + reject(new Error('Data extraction unsuccessful')); + } else { + resolve(methods); + } + } catch (error) { + reject(error); + } + }); } async function generateClassBasedCode(methods, data, serviceName) { - const dirPath = `../../../node_modules/@google-cloud/${methods[0].pkgName}/build/src/`; - let files = fs.readdirSync(path.join(__dirname, dirPath)); - files = files.filter( - fileName => - fileName.split(".")[1] === "d" && fileName.split(".")[2] === "ts" - ); - - const sdkFiles = files.map(fileName => { - return { - fileName: fileName, - pkgName: methods[0].pkgName, - classes: null, - sdkFunctionNames: methods - .filter(method => method.fileName === fileName) - .map(method => method.SDKFunctionName) - }; - }); - - await Promise.all( - sdkFiles.map(async file => { - file.classes = await getAST(file, true); - }) - ); - - const extractedData = await extractClassBasedSDKData(methods, sdkFiles).then( - result => result - ); - const groupedMethods = groupers.gcp(extractedData.methods); - methods = filters.gcp(groupedMethods); - data.functions = methods; - data.classData = extractedData.classes; - data.serviceName = serviceName; - - const output = await classBasedTransform(dummyAst, data); - let filePath; - const dir = getDir(serviceName); - if (!fs.existsSync(process.cwd() + "/generatedClasses/googleCloud/" + dir)) { - fs.mkdirSync(process.cwd() + "/generatedClasses/googleCloud/" + dir); - } - if (/^[A-Z]*$/.test(serviceName)) { - filePath = - process.cwd() + - "/generatedClasses/googleCloud/" + - dir + - "/gcp-" + - serviceName + - ".js"; - } else { - filePath = - process.cwd() + - "/generatedClasses/googleCloud/" + - dir + - "/gcp-" + - serviceName.charAt(0).toLowerCase() + - serviceName.slice(1) + - ".js"; - } - printFile(filePath, output); + const dirPath = `../../../node_modules/@google-cloud/${methods[0].pkgName}/build/src/`; + let files = fs.readdirSync(path.join(__dirname, dirPath)); + files = files.filter( + fileName => + fileName.split('.')[1] === 'd' && fileName.split('.')[2] === 'ts' + ); + + const sdkFiles = files.map(fileName => { + return { + fileName: fileName, + pkgName: methods[0].pkgName, + classes: null, + sdkFunctionNames: methods + .filter(method => method.fileName === fileName) + .map(method => method.SDKFunctionName), + }; + }); + + await Promise.all( + sdkFiles.map(async file => { + file.classes = await getAST(file, true); + }) + ); + + const extractedData = await extractClassBasedSDKData( + methods, + sdkFiles + ).then(result => result); + const groupedMethods = groupers.gcp(extractedData.methods); + methods = filters.gcp(groupedMethods); + data.functions = methods; + data.classData = extractedData.classes; + data.serviceName = serviceName; + + const output = await classBasedTransform(dummyAst, data); + let filePath; + const dir = getDir(serviceName); + if ( + !fs.existsSync(process.cwd() + '/generatedClasses/googleCloud/' + dir) + ) { + fs.mkdirSync(process.cwd() + '/generatedClasses/googleCloud/' + dir); + } + if (/^[A-Z]*$/.test(serviceName)) { + filePath = + process.cwd() + + '/generatedClasses/googleCloud/' + + dir + + '/gcp-' + + serviceName + + '.js'; + } else { + filePath = + process.cwd() + + '/generatedClasses/googleCloud/' + + dir + + '/gcp-' + + serviceName.charAt(0).toLowerCase() + + serviceName.slice(1) + + '.js'; + } + printFile(filePath, output); } async function generateClientBasedCode(methods, serviceName) { - const files = Array.from( - new Set(methods.map(method => method.fileName + " " + method.version)) - ); - const sdkFiles = files.map(file => { - return { - fileName: (file).split(" ")[0], - version: (file).split(" ")[1], - pkgName: methods[0].pkgName, - ast: null, - client: null, - sdkFunctionNames: methods - .filter(method => method.fileName === (file).split(" ")[0]) - .map(method => method.SDKFunctionName) - }; - }); - - await Promise.all( - sdkFiles.map(async file => { - file.ast = await getAST(file); - }) - ); - - methods = await extractClientBasedSDKdata(methods, sdkFiles).then( - result => result - ); - const groupedMethods = groupers.gcp(methods); - methods = filters.gcp(groupedMethods); - - const classData = { - functions: methods, - serviceName - }; - - const output = await clientBasedTransform(dummyAst, classData); - let filePath; - const dir = getDir(serviceName); - if (!fs.existsSync(process.cwd() + "/generatedClasses/googleCloud/" + dir)) { - fs.mkdirSync(process.cwd() + "/generatedClasses/googleCloud/" + dir); - } - if (/^[A-Z]*$/.test(serviceName)) { - filePath = - process.cwd() + - "/generatedClasses/googleCloud/" + - dir + - "/gcp-" + - serviceName + - ".js"; - } else { - filePath = - process.cwd() + - "/generatedClasses/googleCloud/" + - dir + - "/gcp-" + - serviceName.charAt(0).toLowerCase() + - serviceName.slice(1) + - ".js"; - } - printFile(filePath, output); + const files = Array.from( + new Set(methods.map(method => method.fileName + ' ' + method.version)) + ); + const sdkFiles = files.map(file => { + return { + fileName: (file).split(' ')[0], + version: (file).split(' ')[1], + pkgName: methods[0].pkgName, + ast: null, + client: null, + sdkFunctionNames: methods + .filter( + method => method.fileName === (file).split(' ')[0] + ) + .map(method => method.SDKFunctionName), + }; + }); + + await Promise.all( + sdkFiles.map(async file => { + file.ast = await getAST(file); + }) + ); + + methods = await extractClientBasedSDKdata(methods, sdkFiles).then( + result => result + ); + const groupedMethods = groupers.gcp(methods); + methods = filters.gcp(groupedMethods); + + const classData = { + functions: methods, + serviceName, + }; + + const output = await clientBasedTransform(dummyAst, classData); + let filePath; + const dir = getDir(serviceName); + if ( + !fs.existsSync(process.cwd() + '/generatedClasses/googleCloud/' + dir) + ) { + fs.mkdirSync(process.cwd() + '/generatedClasses/googleCloud/' + dir); + } + if (/^[A-Z]*$/.test(serviceName)) { + filePath = + process.cwd() + + '/generatedClasses/googleCloud/' + + dir + + '/gcp-' + + serviceName + + '.js'; + } else { + filePath = + process.cwd() + + '/generatedClasses/googleCloud/' + + dir + + '/gcp-' + + serviceName.charAt(0).toLowerCase() + + serviceName.slice(1) + + '.js'; + } + printFile(filePath, output); } export async function generateGCPClass(serviceClass, serviceName) { - let methods: FunctionData[] = []; - const data: any = {}; - - Object.keys(serviceClass).map((key, index) => { - if (key === "mainClass") { - data.mainClass = serviceClass[key]; - } else if ( - serviceClass[key].split(" ")[1].length === 2 && - serviceClass[key].split(" ")[1].charAt(0) === "v" - ) { - methods.push({ - pkgName: serviceClass[key].split(" ")[0], - version: serviceClass[key].split(" ")[1], - fileName: serviceClass[key].split(" ")[2], - functionName: key, - SDKFunctionName: serviceClass[key].split(" ")[3], - params: [], - returnType: null, - returnTypeName: null, - client: null - }); - } else { - methods.push({ - pkgName: serviceClass[key].split(" ")[0], - version: null, - fileName: serviceClass[key].split(" ")[1], - functionName: key, - SDKFunctionName: serviceClass[key].split(" ")[2], - params: [], - returnType: null, - returnTypeName: null, - client: null - }); - } - }); - - if (methods[0].version) { - generateClientBasedCode(methods, serviceName); - } else { - generateClassBasedCode(methods, data, serviceName); - } + let methods: FunctionData[] = []; + const data: any = {}; + + Object.keys(serviceClass).map((key, index) => { + if (key === 'mainClass') { + data.mainClass = serviceClass[key]; + } else if ( + serviceClass[key].split(' ')[1].length === 2 && + serviceClass[key].split(' ')[1].charAt(0) === 'v' + ) { + methods.push({ + pkgName: serviceClass[key].split(' ')[0], + version: serviceClass[key].split(' ')[1], + fileName: serviceClass[key].split(' ')[2], + functionName: key, + SDKFunctionName: serviceClass[key].split(' ')[3], + params: [], + returnType: null, + returnTypeName: null, + client: null, + }); + } else { + methods.push({ + pkgName: serviceClass[key].split(' ')[0], + version: null, + fileName: serviceClass[key].split(' ')[1], + functionName: key, + SDKFunctionName: serviceClass[key].split(' ')[2], + params: [], + returnType: null, + returnTypeName: null, + client: null, + }); + } + }); + + if (methods[0].version) { + generateClientBasedCode(methods, serviceName); + } else { + generateClassBasedCode(methods, data, serviceName); + } } diff --git a/generator/generators/lib/aws/awsHelper.ts b/generator/generators/lib/aws/awsHelper.ts index 7cfe04de..101328de 100644 --- a/generator/generators/lib/aws/awsHelper.ts +++ b/generator/generators/lib/aws/awsHelper.ts @@ -1,32 +1,32 @@ export function groupAWSMethods(methods): any { - const methodArr = Object.values( - methods.reduce((result, { functionName, SDKFunctionName, params }) => { - // Create new group - if (!result[functionName]) - result[functionName] = { - functionName, - array: [] - }; - // Append to group - result[functionName].array.push({ - functionName, - SDKFunctionName, - params - }); - return result; - }, {}) - ); + const methodArr = Object.values( + methods.reduce((result, { functionName, SDKFunctionName, params }) => { + // Create new group + if (!result[functionName]) + result[functionName] = { + functionName, + array: [], + }; + // Append to group + result[functionName].array.push({ + functionName, + SDKFunctionName, + params, + }); + return result; + }, {}) + ); - return methodArr; + return methodArr; } export function filterAWSMethods(groupedMethods): any { - let methods = []; - groupedMethods.map(group => { - group.array.sort(function(a, b) { - return a.params.length - b.params.length; - }); - methods.push(group.array.slice(-1)[0]); - }); - return methods; + let methods = []; + groupedMethods.map(group => { + group.array.sort(function(a, b) { + return a.params.length - b.params.length; + }); + methods.push(group.array.slice(-1)[0]); + }); + return methods; } diff --git a/generator/generators/lib/azure/azureHelper.ts b/generator/generators/lib/azure/azureHelper.ts index dc066724..26887406 100644 --- a/generator/generators/lib/azure/azureHelper.ts +++ b/generator/generators/lib/azure/azureHelper.ts @@ -1,60 +1,60 @@ export function groupAzureMethods(methods): any { - const methodArr = Object.values( - methods.reduce( - ( - result, - { - functionName, - SDKFunctionName, - params, - pkgName, - fileName, - client, - returnType - } - ) => { - // Create new group - if (!result[functionName]) - result[functionName] = { - functionName, - array: [] - }; - // Append to group - result[functionName].array.push({ - functionName, - SDKFunctionName, - params, - pkgName, - fileName, - client, - returnType - }); - return result; - }, - {} - ) - ); + const methodArr = Object.values( + methods.reduce( + ( + result, + { + functionName, + SDKFunctionName, + params, + pkgName, + fileName, + client, + returnType, + } + ) => { + // Create new group + if (!result[functionName]) + result[functionName] = { + functionName, + array: [], + }; + // Append to group + result[functionName].array.push({ + functionName, + SDKFunctionName, + params, + pkgName, + fileName, + client, + returnType, + }); + return result; + }, + {} + ) + ); - return methodArr; + return methodArr; } export function filterAzureMethods(groupedMethods): any { - let methods = []; - groupedMethods.map(group => { - if (group.array.length === 1) { - methods.push(group.array[0]); - } else { - let methodPushed = false; - group.array.map(method => { - if (!method.params.find(param => param.name === "callback")) { - methods.push(method); - methodPushed = true; - } - }); - if (!methodPushed) { - methods.push(group.array[0]); - } - } - }); - return methods; + let methods = []; + groupedMethods.map(group => { + if (group.array.length === 1) { + methods.push(group.array[0]); + } else { + let methodPushed = false; + group.array.map(method => { + if (!method.params.find(param => param.name === 'callback')) { + methods.push(method); + methodPushed = true; + } + }); + if (!methodPushed) { + methods.push(group.array[0]); + } + } + }); + return methods; } diff --git a/generator/generators/lib/googleCloud/gcpHelper.ts b/generator/generators/lib/googleCloud/gcpHelper.ts index 2b93f726..6bc41a3e 100644 --- a/generator/generators/lib/googleCloud/gcpHelper.ts +++ b/generator/generators/lib/googleCloud/gcpHelper.ts @@ -1,64 +1,64 @@ export function groupGCPMethods(methods): any { - const methodArr = Object.values( - methods.reduce( - ( - result, - { - functionName, - SDKFunctionName, - params, - pkgName, - fileName, - client, - returnType, - returnTypeName, - classConstructorData - } - ) => { - // Create new group - if (!result[functionName]) - result[functionName] = { - functionName, - array: [] - }; - // Append to group - result[functionName].array.push({ - functionName, - SDKFunctionName, - params, - pkgName, - fileName, - client, - returnType, - returnTypeName, - classConstructorData - }); - return result; - }, - {} - ) - ); + const methodArr = Object.values( + methods.reduce( + ( + result, + { + functionName, + SDKFunctionName, + params, + pkgName, + fileName, + client, + returnType, + returnTypeName, + classConstructorData, + } + ) => { + // Create new group + if (!result[functionName]) + result[functionName] = { + functionName, + array: [], + }; + // Append to group + result[functionName].array.push({ + functionName, + SDKFunctionName, + params, + pkgName, + fileName, + client, + returnType, + returnTypeName, + classConstructorData, + }); + return result; + }, + {} + ) + ); - return methodArr; + return methodArr; } export function filterGCPMethods(groupedMethods): any { - let methods = []; - groupedMethods.map(group => { - if (group.array.length === 1) { - methods.push(group.array[0]); - } else { - let methodPushed = false; - group.array.map(method => { - if (!method.params.find(param => param.name === "callback")) { - methods.push(method); - methodPushed = true; - } - }); - if (!methodPushed) { - methods.push(group.array[0]); - } - } - }); - return methods; + let methods = []; + groupedMethods.map(group => { + if (group.array.length === 1) { + methods.push(group.array[0]); + } else { + let methodPushed = false; + group.array.map(method => { + if (!method.params.find(param => param.name === 'callback')) { + methods.push(method); + methodPushed = true; + } + }); + if (!methodPushed) { + methods.push(group.array[0]); + } + } + }); + return methods; } diff --git a/generator/generators/lib/helper.ts b/generator/generators/lib/helper.ts index 31c67b7c..7af889ea 100644 --- a/generator/generators/lib/helper.ts +++ b/generator/generators/lib/helper.ts @@ -1,48 +1,48 @@ -import * as fs from "fs"; +import * as fs from 'fs'; -import { groupAWSMethods } from "../lib/aws/awsHelper"; -import { filterAWSMethods } from "../lib/aws/awsHelper"; -import { groupAzureMethods } from "../lib/azure/azureHelper"; -import { filterAzureMethods } from "../lib/azure/azureHelper"; -import { groupGCPMethods } from "../lib/googleCloud/gcpHelper"; -import { filterGCPMethods } from "../lib/googleCloud/gcpHelper"; +import { groupAWSMethods } from '../lib/aws/awsHelper'; +import { filterAWSMethods } from '../lib/aws/awsHelper'; +import { groupAzureMethods } from '../lib/azure/azureHelper'; +import { filterAzureMethods } from '../lib/azure/azureHelper'; +import { groupGCPMethods } from '../lib/googleCloud/gcpHelper'; +import { filterGCPMethods } from '../lib/googleCloud/gcpHelper'; const dirMap = { - appServices: ["PaaS"], - compute: ["ComputeInstance", "Kubernetes", "Container"], - database: ["NoSqlIndexed", "RDBMS", "NoSql"], - management: ["Monitoring", "KeyManagement", "NotificationService"], - network: ["DNS", "LoadBalancer"], - security: ["IAM"], - storage: ["StorageBucket", "BlockStorage", "ArchivalStorage"], - artificialinteligence: ["Translation"] + appServices: ['PaaS'], + compute: ['ComputeInstance', 'Kubernetes', 'Container'], + database: ['NoSqlIndexed', 'RDBMS', 'NoSql'], + management: ['Monitoring', 'KeyManagement', 'NotificationService'], + network: ['DNS', 'LoadBalancer'], + security: ['IAM'], + storage: ['StorageBucket', 'BlockStorage', 'ArchivalStorage'], + artificialinteligence: ['Translation'], }; export function printFile(fileName, data) { - fs.writeFile(fileName, data, function(err) { - if (err) throw err; - }); + fs.writeFile(fileName, data, function(err) { + if (err) throw err; + }); } const groupers = { - aws: groupAWSMethods, - gcp: groupGCPMethods, - azure: groupAzureMethods + aws: groupAWSMethods, + gcp: groupGCPMethods, + azure: groupAzureMethods, }; const filters = { - aws: filterAWSMethods, - gcp: filterGCPMethods, - azure: filterAzureMethods + aws: filterAWSMethods, + gcp: filterGCPMethods, + azure: filterAzureMethods, }; const getDir = (service: string): string => { - for (let dir in dirMap) { - if (dirMap[dir].includes(service)) { - return dir; - } - } - throw new Error("Not a valid service: " + service); + for (let dir in dirMap) { + if (dirMap[dir].includes(service)) { + return dir; + } + } + throw new Error('Not a valid service: ' + service); }; -export { filters, getDir,groupers }; +export { filters, getDir, groupers }; diff --git a/generator/main.ts b/generator/main.ts index 5374718c..3fea134e 100644 --- a/generator/main.ts +++ b/generator/main.ts @@ -1,26 +1,26 @@ -import * as fs from "fs"; -import * as yaml from "js-yaml"; +import * as fs from 'fs'; +import * as yaml from 'js-yaml'; -import { generateAWSClass } from "./generators/aws/generator"; -import { generateAzureClass } from "./generators/azure/generator"; -import { generateDOClass } from "./generators/do/generator"; -import { generateGCPClass } from "./generators/googleCloud/generator"; +import { generateAWSClass } from './generators/aws/generator'; +import { generateAzureClass } from './generators/azure/generator'; +import { generateDOClass } from './generators/do/generator'; +import { generateGCPClass } from './generators/googleCloud/generator'; try { - const services = yaml.safeLoad(fs.readFileSync("node-cloud.yml", "utf8")); - Object.keys(services).map((service, index) => { - Object.keys(services[service]).map((provider, index1) => { - if (provider === "Azure") { - generateAzureClass(services[service][provider], service); - } else if (provider === "AWS") { - generateAWSClass(services[service][provider], service); - } else if (provider === "GCP") { - generateGCPClass(services[service][provider], service); - } else if (provider == "DO") { - generateDOClass(services[service][provider], service); - } - }); - }); + const services = yaml.safeLoad(fs.readFileSync('node-cloud.yml', 'utf8')); + Object.keys(services).map((service, index) => { + Object.keys(services[service]).map((provider, index1) => { + if (provider === 'Azure') { + generateAzureClass(services[service][provider], service); + } else if (provider === 'AWS') { + generateAWSClass(services[service][provider], service); + } else if (provider === 'GCP') { + generateGCPClass(services[service][provider], service); + } else if (provider == 'DO') { + generateDOClass(services[service][provider], service); + } + }); + }); } catch (error) { - console.error("Error : ", error); + console.error('Error : ', error); } diff --git a/generator/package.json b/generator/package.json index 9ac31b84..8a30d4e4 100644 --- a/generator/package.json +++ b/generator/package.json @@ -1,42 +1,42 @@ { - "name": "class-generator", - "version": "1.0.0", - "main": "main.js", - "author": "Scorelab", - "description": "NodeCloud code generation tool", - "license": "Apache-2.0", - "keywords": [ - "nodecloud", - "code-generation" - ], - "scripts": { - "test": "cross-env TS_NODE_FILES=true mocha --exit --require ts-node/register --colors test/**/*.ts", - "tool": "tsc main && node main", - "lint": "eslint .", + "name": "class-generator", + "version": "1.0.0", + "main": "main.js", + "author": "Scorelab", + "description": "NodeCloud code generation tool", + "license": "Apache-2.0", + "keywords": [ + "nodecloud", + "code-generation" + ], + "scripts": { + "test": "cross-env TS_NODE_FILES=true mocha --exit --require ts-node/register --colors test/**/*.ts", + "tool": "tsc main && node main", + "lint": "eslint .", "lint-fix": "eslint --fix ." - }, - "dependencies": { - "@azure/arm-appservice": "^6.0.0", - "@azure/arm-compute": "^14.0.0", - "@azure/arm-containerservice": "^11.0.0", - "@azure/arm-cosmosdb": "^8.0.0", - "@azure/arm-keyvault": "^1.2.1", - "@azure/arm-monitor": "^6.0.0", - "@azure/arm-sql": "^7.0.0", - "@azure/arm-storage": "^15.0.0", - "@google-cloud/compute": "^2.0.0", - "@google-cloud/container": "^2.1.0", - "@google-cloud/dns": "^2.0.1", - "@google-cloud/monitoring": "^2.0.0", - "@google-cloud/pubsub": "^2.1.0", - "@google-cloud/storage": "^5.1.1", - "@google-cloud/translate": "^6.0.0", - "aws-sdk": "^2.686.0", - "config": "^1.26.1", - "do-wrapper": "^4.5.1", - "js-yaml": "^3.14.0", - "key-mirror": "^1.0.1", - "lodash": "^4.17.19", - "typescript": "^3.9.3" - } + }, + "dependencies": { + "@azure/arm-appservice": "^6.0.0", + "@azure/arm-compute": "^14.0.0", + "@azure/arm-containerservice": "^11.0.0", + "@azure/arm-cosmosdb": "^8.0.0", + "@azure/arm-keyvault": "^1.2.1", + "@azure/arm-monitor": "^6.0.0", + "@azure/arm-sql": "^7.0.0", + "@azure/arm-storage": "^15.0.0", + "@google-cloud/compute": "^2.0.0", + "@google-cloud/container": "^2.1.0", + "@google-cloud/dns": "^2.0.1", + "@google-cloud/monitoring": "^2.0.0", + "@google-cloud/pubsub": "^2.1.0", + "@google-cloud/storage": "^5.1.1", + "@google-cloud/translate": "^6.0.0", + "aws-sdk": "^2.686.0", + "config": "^1.26.1", + "do-wrapper": "^4.5.1", + "js-yaml": "^3.14.0", + "key-mirror": "^1.0.1", + "lodash": "^4.17.19", + "typescript": "^3.9.3" + } } diff --git a/generator/parsers/aws/parser.ts b/generator/parsers/aws/parser.ts index ed85b453..d1e1f4e7 100644 --- a/generator/parsers/aws/parser.ts +++ b/generator/parsers/aws/parser.ts @@ -1,39 +1,40 @@ -import * as fs from "fs"; -import * as path from "path"; -import { createSourceFile, ScriptTarget, SyntaxKind } from "typescript"; +import * as fs from 'fs'; +import * as path from 'path'; +import { createSourceFile, ScriptTarget, SyntaxKind } from 'typescript'; export function getAST(sdkFileName) { - return new Promise(async (resolve, reject) => { - try { - const file = path.join( - __dirname, - "../../../node_modules/aws-sdk/clients/" + sdkFileName.toLowerCase() - ); - const ast = createSourceFile( - file, - fs.readFileSync(file).toString(), - ScriptTarget.Latest, - true - ); + return new Promise(async (resolve, reject) => { + try { + const file = path.join( + __dirname, + '../../../node_modules/aws-sdk/clients/' + + sdkFileName.toLowerCase() + ); + const ast = createSourceFile( + file, + fs.readFileSync(file).toString(), + ScriptTarget.Latest, + true + ); - let cloned = null; - await ast.forEachChild(child => { - if (SyntaxKind[child.kind] === "ClassDeclaration") { - cloned = Object.assign({}, child); - } - }); + let cloned = null; + await ast.forEachChild(child => { + if (SyntaxKind[child.kind] === 'ClassDeclaration') { + cloned = Object.assign({}, child); + } + }); - if (!cloned) { - reject(new Error("Class not found!")); - } else { - resolve(cloned); - } - } catch (error) { - if (error.code === "ENOENT") { - reject(new Error("File not found!")); - } else { - reject(error); - } - } - }); + if (!cloned) { + reject(new Error('Class not found!')); + } else { + resolve(cloned); + } + } catch (error) { + if (error.code === 'ENOENT') { + reject(new Error('File not found!')); + } else { + reject(error); + } + } + }); } diff --git a/generator/parsers/azure/parser.ts b/generator/parsers/azure/parser.ts index a8d30c21..45b82cdc 100644 --- a/generator/parsers/azure/parser.ts +++ b/generator/parsers/azure/parser.ts @@ -1,39 +1,39 @@ -import * as fs from "fs"; -import * as path from "path"; -import { createSourceFile, ScriptTarget, SyntaxKind } from "typescript"; +import * as fs from 'fs'; +import * as path from 'path'; +import { createSourceFile, ScriptTarget, SyntaxKind } from 'typescript'; export function getAST(sdkFileInfo) { - return new Promise(async (resolve, reject) => { - try { - const file = path.join( - __dirname, - `../../../node_modules/@azure/${sdkFileInfo.pkgName}/esm/operations/${sdkFileInfo.fileName}` - ); - const ast = createSourceFile( - file, - fs.readFileSync(file).toString(), - ScriptTarget.Latest, - true - ); + return new Promise(async (resolve, reject) => { + try { + const file = path.join( + __dirname, + `../../../node_modules/@azure/${sdkFileInfo.pkgName}/esm/operations/${sdkFileInfo.fileName}` + ); + const ast = createSourceFile( + file, + fs.readFileSync(file).toString(), + ScriptTarget.Latest, + true + ); - let cloned = null; - await ast.forEachChild(child => { - if (SyntaxKind[child.kind] === "ClassDeclaration") { - cloned = Object.assign({}, child); - } - }); + let cloned = null; + await ast.forEachChild(child => { + if (SyntaxKind[child.kind] === 'ClassDeclaration') { + cloned = Object.assign({}, child); + } + }); - if (!cloned) { - reject(new Error("Class not found!")); - } else { - resolve(cloned); - } - } catch (error) { - if (error.code === "ENOENT") { - reject(new Error("File not found!")); - } else { - reject(error); - } - } - }); + if (!cloned) { + reject(new Error('Class not found!')); + } else { + resolve(cloned); + } + } catch (error) { + if (error.code === 'ENOENT') { + reject(new Error('File not found!')); + } else { + reject(error); + } + } + }); } diff --git a/generator/parsers/do/parser.ts b/generator/parsers/do/parser.ts index 093f24a7..6b1013bc 100644 --- a/generator/parsers/do/parser.ts +++ b/generator/parsers/do/parser.ts @@ -1,41 +1,41 @@ -import * as fs from "fs"; -import * as path from "path"; -import { createSourceFile, ScriptTarget, SyntaxKind } from "typescript"; +import * as fs from 'fs'; +import * as path from 'path'; +import { createSourceFile, ScriptTarget, SyntaxKind } from 'typescript'; export function getAST(sdkFileName) { - return new Promise(async (resolve, reject) => { - try { - const file = path.join( - __dirname, - "../../../node_modules/do-wrapper/dist/modules/" + - sdkFileName.toLowerCase() - ); - const ast = createSourceFile( - file, - fs.readFileSync(file).toString(), - ScriptTarget.Latest, - true - ); + return new Promise(async (resolve, reject) => { + try { + const file = path.join( + __dirname, + '../../../node_modules/do-wrapper/dist/modules/' + + sdkFileName.toLowerCase() + ); + const ast = createSourceFile( + file, + fs.readFileSync(file).toString(), + ScriptTarget.Latest, + true + ); - let cloned = null; + let cloned = null; - await ast.forEachChild(child => { - if (SyntaxKind[child.kind] === "ClassDeclaration") { - cloned = Object.assign({}, child); - } - }); + await ast.forEachChild(child => { + if (SyntaxKind[child.kind] === 'ClassDeclaration') { + cloned = Object.assign({}, child); + } + }); - if (!cloned) { - reject(new Error("Class not found!")); - } else { - resolve(cloned); - } - } catch (error) { - if (error.code === "ENOENT") { - reject(new Error("File not found!")); - } else { - reject(error); - } - } - }); + if (!cloned) { + reject(new Error('Class not found!')); + } else { + resolve(cloned); + } + } catch (error) { + if (error.code === 'ENOENT') { + reject(new Error('File not found!')); + } else { + reject(error); + } + } + }); } diff --git a/generator/parsers/googleCloud/parser.ts b/generator/parsers/googleCloud/parser.ts index b8701074..b4b3f69a 100644 --- a/generator/parsers/googleCloud/parser.ts +++ b/generator/parsers/googleCloud/parser.ts @@ -1,55 +1,55 @@ -import * as fs from "fs"; -import * as path from "path"; -import { createSourceFile, ScriptTarget, SyntaxKind } from "typescript"; +import * as fs from 'fs'; +import * as path from 'path'; +import { createSourceFile, ScriptTarget, SyntaxKind } from 'typescript'; export function getAST(sdkFileInfo, multi?: boolean) { - let filePath; - if (sdkFileInfo.version) { - filePath = `../../../node_modules/@google-cloud/${sdkFileInfo.pkgName}/build/src/${sdkFileInfo.version}/${sdkFileInfo.fileName}`; - } else { - filePath = `../../../node_modules/@google-cloud/${sdkFileInfo.pkgName}/build/src/${sdkFileInfo.fileName}`; - } + let filePath; + if (sdkFileInfo.version) { + filePath = `../../../node_modules/@google-cloud/${sdkFileInfo.pkgName}/build/src/${sdkFileInfo.version}/${sdkFileInfo.fileName}`; + } else { + filePath = `../../../node_modules/@google-cloud/${sdkFileInfo.pkgName}/build/src/${sdkFileInfo.fileName}`; + } - return new Promise(async (resolve, reject) => { - try { - const file = path.join(__dirname, filePath); - const ast = createSourceFile( - file, - fs.readFileSync(file).toString(), - ScriptTarget.Latest, - true - ); + return new Promise(async (resolve, reject) => { + try { + const file = path.join(__dirname, filePath); + const ast = createSourceFile( + file, + fs.readFileSync(file).toString(), + ScriptTarget.Latest, + true + ); - if (multi === true) { - let classes = []; - ast.forEachChild(child => { - if (SyntaxKind[child.kind] === "ClassDeclaration") { - let cloned = Object.assign({}, child); - classes.push(cloned); - } - }); - resolve(classes); - } else { - let cloned = null; - await ast.forEachChild(child => { - if (SyntaxKind[child.kind] === "ClassDeclaration") { - let cloned = Object.assign({}, child); - return resolve(cloned); - } - }); + if (multi === true) { + let classes = []; + ast.forEachChild(child => { + if (SyntaxKind[child.kind] === 'ClassDeclaration') { + let cloned = Object.assign({}, child); + classes.push(cloned); + } + }); + resolve(classes); + } else { + let cloned = null; + await ast.forEachChild(child => { + if (SyntaxKind[child.kind] === 'ClassDeclaration') { + let cloned = Object.assign({}, child); + return resolve(cloned); + } + }); - if (!cloned) { - return reject(new Error("Class not found!")); - } else { - return resolve(cloned); - } - } - } catch (error) { - if (error.code === "ENOENT") { - reject(new Error("File not found!")); - } else { - reject(error); - } - } - }); + if (!cloned) { + return reject(new Error('Class not found!')); + } else { + return resolve(cloned); + } + } + } catch (error) { + if (error.code === 'ENOENT') { + reject(new Error('File not found!')); + } else { + reject(error); + } + } + }); } diff --git a/generator/test/generators/aws/dummyData/invalidDataset_1/serviceClass.json b/generator/test/generators/aws/dummyData/invalidDataset_1/serviceClass.json index 1d7e96a8..4074fce7 100644 --- a/generator/test/generators/aws/dummyData/invalidDataset_1/serviceClass.json +++ b/generator/test/generators/aws/dummyData/invalidDataset_1/serviceClass.json @@ -1,11 +1,11 @@ { - "createCollection": "SimpleDB.d.ts createDomain", - "deleteCollection": "SimpleDB.d.ts", - "listCollections": "SimpleDB.d.ts listDomains", - "batchDelete": "SimpleDB.d.ts batchDeleteAttributes", - "batchWrite": "SimpleDB.d.ts batchPutAttributes", - "query": "SimpleDB.d.ts select", - "setAttribute": "SimpleDB.d.ts putAttributes", - "deleteAttribute": "SimpleDB.d.ts deleteAttributes", - "getAttributes": "SimpleDB.d.ts getAttributes" + "createCollection": "SimpleDB.d.ts createDomain", + "deleteCollection": "SimpleDB.d.ts", + "listCollections": "SimpleDB.d.ts listDomains", + "batchDelete": "SimpleDB.d.ts batchDeleteAttributes", + "batchWrite": "SimpleDB.d.ts batchPutAttributes", + "query": "SimpleDB.d.ts select", + "setAttribute": "SimpleDB.d.ts putAttributes", + "deleteAttribute": "SimpleDB.d.ts deleteAttributes", + "getAttributes": "SimpleDB.d.ts getAttributes" } diff --git a/generator/test/generators/aws/dummyData/invalidDataset_2/serviceClass.json b/generator/test/generators/aws/dummyData/invalidDataset_2/serviceClass.json index fe1eb852..b2f9b149 100644 --- a/generator/test/generators/aws/dummyData/invalidDataset_2/serviceClass.json +++ b/generator/test/generators/aws/dummyData/invalidDataset_2/serviceClass.json @@ -1,11 +1,11 @@ { - "createCollection": "SimpleDB.d.ts createDomain", - "deleteCollection": "SimpleDB.d.ts deleteDomain", - "listCollections": "SimpleDB.d.ts listDomains", - "batchDelete": "SimpleDB.d.ts batchDeleteAttributes", - "batchWrite": "SimpleDB.d.ts batchPutAttributes", - "query": "SimpleDB.d.ts select", - "setAttribute": "SimpleDB.d.ts putAttributes", - "deleteAttribute": "SimpleDB.d.ts deleteAttributes", - "getAttributes": "SimpleDB.d.ts getAttributes" + "createCollection": "SimpleDB.d.ts createDomain", + "deleteCollection": "SimpleDB.d.ts deleteDomain", + "listCollections": "SimpleDB.d.ts listDomains", + "batchDelete": "SimpleDB.d.ts batchDeleteAttributes", + "batchWrite": "SimpleDB.d.ts batchPutAttributes", + "query": "SimpleDB.d.ts select", + "setAttribute": "SimpleDB.d.ts putAttributes", + "deleteAttribute": "SimpleDB.d.ts deleteAttributes", + "getAttributes": "SimpleDB.d.ts getAttributes" } diff --git a/generator/test/generators/aws/dummyData/validDataset/serviceClass.json b/generator/test/generators/aws/dummyData/validDataset/serviceClass.json index fe1eb852..b2f9b149 100644 --- a/generator/test/generators/aws/dummyData/validDataset/serviceClass.json +++ b/generator/test/generators/aws/dummyData/validDataset/serviceClass.json @@ -1,11 +1,11 @@ { - "createCollection": "SimpleDB.d.ts createDomain", - "deleteCollection": "SimpleDB.d.ts deleteDomain", - "listCollections": "SimpleDB.d.ts listDomains", - "batchDelete": "SimpleDB.d.ts batchDeleteAttributes", - "batchWrite": "SimpleDB.d.ts batchPutAttributes", - "query": "SimpleDB.d.ts select", - "setAttribute": "SimpleDB.d.ts putAttributes", - "deleteAttribute": "SimpleDB.d.ts deleteAttributes", - "getAttributes": "SimpleDB.d.ts getAttributes" + "createCollection": "SimpleDB.d.ts createDomain", + "deleteCollection": "SimpleDB.d.ts deleteDomain", + "listCollections": "SimpleDB.d.ts listDomains", + "batchDelete": "SimpleDB.d.ts batchDeleteAttributes", + "batchWrite": "SimpleDB.d.ts batchPutAttributes", + "query": "SimpleDB.d.ts select", + "setAttribute": "SimpleDB.d.ts putAttributes", + "deleteAttribute": "SimpleDB.d.ts deleteAttributes", + "getAttributes": "SimpleDB.d.ts getAttributes" } diff --git a/generator/test/generators/aws/generator.test.ts b/generator/test/generators/aws/generator.test.ts index 965b9fe0..777bc4c9 100644 --- a/generator/test/generators/aws/generator.test.ts +++ b/generator/test/generators/aws/generator.test.ts @@ -1,86 +1,92 @@ -import { expect } from "chai"; -import { SyntaxKind } from "typescript"; +import { expect } from 'chai'; +import { SyntaxKind } from 'typescript'; -import { extractSDKData } from "../../../generators/aws/generator"; -import { readJsonData,readSourceFile } from "../lib/helper"; +import { extractSDKData } from '../../../generators/aws/generator'; +import { readJsonData, readSourceFile } from '../lib/helper'; -describe("AWS generator extractSDKData", () => { - context("with valid methods and valid AST", () => { - it("should return extracted class data", async () => { - const sdkFile: any = await readSourceFile("validDataset", "aws"); - const data: any = await readJsonData( - "validDataset", - "aws", - "serviceClass" - ); - let cloned = null; - sdkFile.forEachChild(child => { - if (SyntaxKind[child.kind] === "ClassDeclaration") { - cloned = Object.assign({}, child); - } - }); +describe('AWS generator extractSDKData', () => { + context('with valid methods and valid AST', () => { + it('should return extracted class data', async () => { + const sdkFile: any = await readSourceFile('validDataset', 'aws'); + const data: any = await readJsonData( + 'validDataset', + 'aws', + 'serviceClass' + ); + let cloned = null; + sdkFile.forEachChild(child => { + if (SyntaxKind[child.kind] === 'ClassDeclaration') { + cloned = Object.assign({}, child); + } + }); - if (cloned) { - const result = extractSDKData(cloned, data); - expect(result).to.be.an("object"); - expect(result.functions).to.be.an("array"); - expect(result.className).to.be.string; - } else { - console.error("Error in cloning class"); - } - }); - }); + if (cloned) { + const result = extractSDKData(cloned, data); + expect(result).to.be.an('object'); + expect(result.functions).to.be.an('array'); + expect(result.className).to.be.string; + } else { + console.error('Error in cloning class'); + } + }); + }); - context("with invalid method data:missing method name", () => { - it("should drop invalid method", async () => { - const sdkFile: any = await readSourceFile("invalidDataset_1", "aws"); - const data: any = await readJsonData( - "invalidDataset_1", - "aws", - "serviceClass" - ); - let cloned = null; - sdkFile.forEachChild(child => { - if (SyntaxKind[child.kind] === "ClassDeclaration") { - cloned = Object.assign({}, child); - } - }); + context('with invalid method data:missing method name', () => { + it('should drop invalid method', async () => { + const sdkFile: any = await readSourceFile( + 'invalidDataset_1', + 'aws' + ); + const data: any = await readJsonData( + 'invalidDataset_1', + 'aws', + 'serviceClass' + ); + let cloned = null; + sdkFile.forEachChild(child => { + if (SyntaxKind[child.kind] === 'ClassDeclaration') { + cloned = Object.assign({}, child); + } + }); - if (cloned) { - expect( - extractSDKData(cloned, data).functions.length < - Object.keys(data).length - ).to.be.true; - } else { - console.error("Error in cloning class"); - } - }); - }); + if (cloned) { + expect( + extractSDKData(cloned, data).functions.length < + Object.keys(data).length + ).to.be.true; + } else { + console.error('Error in cloning class'); + } + }); + }); - context("AST with no functions", () => { - it("should return empty array of methods", async () => { - const sdkFile: any = await readSourceFile("invalidDataset_2", "aws"); - const data: any = await readJsonData( - "invalidDataset_2", - "aws", - "serviceClass" - ); - let cloned = null; - sdkFile.forEachChild(child => { - if (SyntaxKind[child.kind] === "ClassDeclaration") { - cloned = Object.assign({}, child); - } - }); + context('AST with no functions', () => { + it('should return empty array of methods', async () => { + const sdkFile: any = await readSourceFile( + 'invalidDataset_2', + 'aws' + ); + const data: any = await readJsonData( + 'invalidDataset_2', + 'aws', + 'serviceClass' + ); + let cloned = null; + sdkFile.forEachChild(child => { + if (SyntaxKind[child.kind] === 'ClassDeclaration') { + cloned = Object.assign({}, child); + } + }); - if (cloned) { - const result = extractSDKData(cloned, data); - expect(result).to.be.an("object"); - expect(result.functions).to.be.an("array"); - expect(result.className).to.be.string; - expect(result.functions.length).to.eql(0); - } else { - console.error("Error in cloning class"); - } - }); - }); + if (cloned) { + const result = extractSDKData(cloned, data); + expect(result).to.be.an('object'); + expect(result.functions).to.be.an('array'); + expect(result.className).to.be.string; + expect(result.functions.length).to.eql(0); + } else { + console.error('Error in cloning class'); + } + }); + }); }); diff --git a/generator/test/generators/azure/dummyData/invalidDataset_1/files.json b/generator/test/generators/azure/dummyData/invalidDataset_1/files.json index 54accb30..c54dde28 100644 --- a/generator/test/generators/azure/dummyData/invalidDataset_1/files.json +++ b/generator/test/generators/azure/dummyData/invalidDataset_1/files.json @@ -1,15 +1,15 @@ [ - { - "fileName": "managedClusters.d.ts", - "pkgName": "arm-containerservice", - "ast": null, - "client": null, - "sdkFunctionNames": [ - "createOrUpdate", - "deleteMethod", - "updateTags", - "listByResourceGroup", - "list" - ] - } + { + "fileName": "managedClusters.d.ts", + "pkgName": "arm-containerservice", + "ast": null, + "client": null, + "sdkFunctionNames": [ + "createOrUpdate", + "deleteMethod", + "updateTags", + "listByResourceGroup", + "list" + ] + } ] diff --git a/generator/test/generators/azure/dummyData/invalidDataset_1/methods.json b/generator/test/generators/azure/dummyData/invalidDataset_1/methods.json index e0448883..dac4cb3a 100644 --- a/generator/test/generators/azure/dummyData/invalidDataset_1/methods.json +++ b/generator/test/generators/azure/dummyData/invalidDataset_1/methods.json @@ -1,47 +1,47 @@ [ - { - "pkgName": "arm-containerservice", - "fileName": "managedClusters.d.ts", - "functionName": "create", - "SDKFunctionName": "createOrUpdate", - "params": [], - "returnType": null, - "client": null - }, - { - "pkgName": "arm-containerservice", - "fileName": "managedClusters.d.ts", - "functionName": "delete", - "SDKFunctionName": "deleteMethod", - "params": [], - "returnType": null, - "client": null - }, - { - "pkgName": "arm-containerservice", - "fileName": "managedClusters.d.ts", - "functionName": "updateTags", - "SDKFunctionName": "updateTags", - "params": [], - "returnType": null, - "client": null - }, - { - "pkgName": "arm-containerservice", - "fileName": "managedClusters.d.ts", - "functionName": "listByResourceGroup", - "SDKFunctionName": "listByResourceGroup", - "params": [], - "returnType": null, - "client": null - }, - { - "pkgName": "arm-containerservice", - "fileName": "managedClusters.d.ts", - "functionName": "listClusters", - "SDKFunctionName": "list", - "params": [], - "returnType": null, - "client": null - } + { + "pkgName": "arm-containerservice", + "fileName": "managedClusters.d.ts", + "functionName": "create", + "SDKFunctionName": "createOrUpdate", + "params": [], + "returnType": null, + "client": null + }, + { + "pkgName": "arm-containerservice", + "fileName": "managedClusters.d.ts", + "functionName": "delete", + "SDKFunctionName": "deleteMethod", + "params": [], + "returnType": null, + "client": null + }, + { + "pkgName": "arm-containerservice", + "fileName": "managedClusters.d.ts", + "functionName": "updateTags", + "SDKFunctionName": "updateTags", + "params": [], + "returnType": null, + "client": null + }, + { + "pkgName": "arm-containerservice", + "fileName": "managedClusters.d.ts", + "functionName": "listByResourceGroup", + "SDKFunctionName": "listByResourceGroup", + "params": [], + "returnType": null, + "client": null + }, + { + "pkgName": "arm-containerservice", + "fileName": "managedClusters.d.ts", + "functionName": "listClusters", + "SDKFunctionName": "list", + "params": [], + "returnType": null, + "client": null + } ] diff --git a/generator/test/generators/azure/dummyData/validDataset/files.json b/generator/test/generators/azure/dummyData/validDataset/files.json index 54accb30..c54dde28 100644 --- a/generator/test/generators/azure/dummyData/validDataset/files.json +++ b/generator/test/generators/azure/dummyData/validDataset/files.json @@ -1,15 +1,15 @@ [ - { - "fileName": "managedClusters.d.ts", - "pkgName": "arm-containerservice", - "ast": null, - "client": null, - "sdkFunctionNames": [ - "createOrUpdate", - "deleteMethod", - "updateTags", - "listByResourceGroup", - "list" - ] - } + { + "fileName": "managedClusters.d.ts", + "pkgName": "arm-containerservice", + "ast": null, + "client": null, + "sdkFunctionNames": [ + "createOrUpdate", + "deleteMethod", + "updateTags", + "listByResourceGroup", + "list" + ] + } ] diff --git a/generator/test/generators/azure/dummyData/validDataset/methods.json b/generator/test/generators/azure/dummyData/validDataset/methods.json index e0448883..dac4cb3a 100644 --- a/generator/test/generators/azure/dummyData/validDataset/methods.json +++ b/generator/test/generators/azure/dummyData/validDataset/methods.json @@ -1,47 +1,47 @@ [ - { - "pkgName": "arm-containerservice", - "fileName": "managedClusters.d.ts", - "functionName": "create", - "SDKFunctionName": "createOrUpdate", - "params": [], - "returnType": null, - "client": null - }, - { - "pkgName": "arm-containerservice", - "fileName": "managedClusters.d.ts", - "functionName": "delete", - "SDKFunctionName": "deleteMethod", - "params": [], - "returnType": null, - "client": null - }, - { - "pkgName": "arm-containerservice", - "fileName": "managedClusters.d.ts", - "functionName": "updateTags", - "SDKFunctionName": "updateTags", - "params": [], - "returnType": null, - "client": null - }, - { - "pkgName": "arm-containerservice", - "fileName": "managedClusters.d.ts", - "functionName": "listByResourceGroup", - "SDKFunctionName": "listByResourceGroup", - "params": [], - "returnType": null, - "client": null - }, - { - "pkgName": "arm-containerservice", - "fileName": "managedClusters.d.ts", - "functionName": "listClusters", - "SDKFunctionName": "list", - "params": [], - "returnType": null, - "client": null - } + { + "pkgName": "arm-containerservice", + "fileName": "managedClusters.d.ts", + "functionName": "create", + "SDKFunctionName": "createOrUpdate", + "params": [], + "returnType": null, + "client": null + }, + { + "pkgName": "arm-containerservice", + "fileName": "managedClusters.d.ts", + "functionName": "delete", + "SDKFunctionName": "deleteMethod", + "params": [], + "returnType": null, + "client": null + }, + { + "pkgName": "arm-containerservice", + "fileName": "managedClusters.d.ts", + "functionName": "updateTags", + "SDKFunctionName": "updateTags", + "params": [], + "returnType": null, + "client": null + }, + { + "pkgName": "arm-containerservice", + "fileName": "managedClusters.d.ts", + "functionName": "listByResourceGroup", + "SDKFunctionName": "listByResourceGroup", + "params": [], + "returnType": null, + "client": null + }, + { + "pkgName": "arm-containerservice", + "fileName": "managedClusters.d.ts", + "functionName": "listClusters", + "SDKFunctionName": "list", + "params": [], + "returnType": null, + "client": null + } ] diff --git a/generator/test/generators/azure/generator.test.ts b/generator/test/generators/azure/generator.test.ts index e14197b9..4299f351 100644 --- a/generator/test/generators/azure/generator.test.ts +++ b/generator/test/generators/azure/generator.test.ts @@ -1,72 +1,75 @@ -import { expect } from "chai"; -import { SyntaxKind } from "typescript"; +import { expect } from 'chai'; +import { SyntaxKind } from 'typescript'; -import { extractSDKData } from "../../../generators/azure/generator"; -import { readJsonData,readSourceFile } from "../lib/helper"; +import { extractSDKData } from '../../../generators/azure/generator'; +import { readJsonData, readSourceFile } from '../lib/helper'; -describe("Azure generator extractSDKData", () => { - context("with valid methods and valid AST", () => { - it("should return class data", async () => { - const methods: any = await readJsonData( - "validDataset", - "azure", - "methods" - ); +describe('Azure generator extractSDKData', () => { + context('with valid methods and valid AST', () => { + it('should return class data', async () => { + const methods: any = await readJsonData( + 'validDataset', + 'azure', + 'methods' + ); - const sdkFiles: any = await readJsonData( - "validDataset", - "azure", - "files" - ); + const sdkFiles: any = await readJsonData( + 'validDataset', + 'azure', + 'files' + ); - await Promise.all( - sdkFiles.map(async file => { - const sdkFile: any = await readSourceFile("validDataset", "azure"); - sdkFile.forEachChild(child => { - if (SyntaxKind[child.kind] === "ClassDeclaration") { - file.ast = Object.assign({}, child); - } - }); - }) - ); + await Promise.all( + sdkFiles.map(async file => { + const sdkFile: any = await readSourceFile( + 'validDataset', + 'azure' + ); + sdkFile.forEachChild(child => { + if (SyntaxKind[child.kind] === 'ClassDeclaration') { + file.ast = Object.assign({}, child); + } + }); + }) + ); - const result = extractSDKData(sdkFiles, methods); - expect(result).to.be.an("object"); - expect(result.functions).to.be.an("array"); - }); - }); + const result = extractSDKData(sdkFiles, methods); + expect(result).to.be.an('object'); + expect(result.functions).to.be.an('array'); + }); + }); - context("AST with no functions", () => { - it("should throw error", async () => { - const methods: any = await readJsonData( - "invalidDataset_1", - "azure", - "methods" - ); + context('AST with no functions', () => { + it('should throw error', async () => { + const methods: any = await readJsonData( + 'invalidDataset_1', + 'azure', + 'methods' + ); - const sdkFiles: any = await readJsonData( - "invalidDataset_1", - "azure", - "files" - ); + const sdkFiles: any = await readJsonData( + 'invalidDataset_1', + 'azure', + 'files' + ); - await Promise.all( - sdkFiles.map(async file => { - const sdkFile: any = await readSourceFile( - "invalidDataset_1", - "azure" - ); - sdkFile.forEachChild(child => { - if (SyntaxKind[child.kind] === "ClassDeclaration") { - file.ast = Object.assign({}, child); - } - }); - }) - ); + await Promise.all( + sdkFiles.map(async file => { + const sdkFile: any = await readSourceFile( + 'invalidDataset_1', + 'azure' + ); + sdkFile.forEachChild(child => { + if (SyntaxKind[child.kind] === 'ClassDeclaration') { + file.ast = Object.assign({}, child); + } + }); + }) + ); - expect(function() { - extractSDKData(sdkFiles, methods); - }).to.throw("Data extraction unsuccessful"); - }); - }); + expect(function() { + extractSDKData(sdkFiles, methods); + }).to.throw('Data extraction unsuccessful'); + }); + }); }); diff --git a/generator/test/generators/do/dummyData/invalidDataset_1/serviceClass.json b/generator/test/generators/do/dummyData/invalidDataset_1/serviceClass.json index c7f48a36..d7038176 100644 --- a/generator/test/generators/do/dummyData/invalidDataset_1/serviceClass.json +++ b/generator/test/generators/do/dummyData/invalidDataset_1/serviceClass.json @@ -1,8 +1,8 @@ { - "create": "kubernetes.d.ts create", - "delete": "kubernetes.d.ts", - "listClusters": "kubernetes.d.ts getClusters", - "createNodeGroup": "kubernetes.d.ts addNodePool", - "deleteNodegroup": " kubernetes.d.ts deleteNodePool", - "listNodegroups": "kubernetes.d.ts getNodePools" + "create": "kubernetes.d.ts create", + "delete": "kubernetes.d.ts", + "listClusters": "kubernetes.d.ts getClusters", + "createNodeGroup": "kubernetes.d.ts addNodePool", + "deleteNodegroup": " kubernetes.d.ts deleteNodePool", + "listNodegroups": "kubernetes.d.ts getNodePools" } diff --git a/generator/test/generators/do/dummyData/invalidDataset_2/serviceClass.json b/generator/test/generators/do/dummyData/invalidDataset_2/serviceClass.json index 5f225dc8..e5e68365 100644 --- a/generator/test/generators/do/dummyData/invalidDataset_2/serviceClass.json +++ b/generator/test/generators/do/dummyData/invalidDataset_2/serviceClass.json @@ -1,8 +1,8 @@ { - "create": "kubernetes.d.ts create", - "delete": "kubernetes.d.ts delete", - "listClusters": "kubernetes.d.ts getClusters", - "createNodeGroup": "kubernetes.d.ts addNodePool", - "deleteNodegroup": " kubernetes.d.ts deleteNodePool", - "listNodegroups": "kubernetes.d.ts getNodePools" + "create": "kubernetes.d.ts create", + "delete": "kubernetes.d.ts delete", + "listClusters": "kubernetes.d.ts getClusters", + "createNodeGroup": "kubernetes.d.ts addNodePool", + "deleteNodegroup": " kubernetes.d.ts deleteNodePool", + "listNodegroups": "kubernetes.d.ts getNodePools" } diff --git a/generator/test/generators/do/dummyData/validDataset/serviceClass.json b/generator/test/generators/do/dummyData/validDataset/serviceClass.json index 5f225dc8..e5e68365 100644 --- a/generator/test/generators/do/dummyData/validDataset/serviceClass.json +++ b/generator/test/generators/do/dummyData/validDataset/serviceClass.json @@ -1,8 +1,8 @@ { - "create": "kubernetes.d.ts create", - "delete": "kubernetes.d.ts delete", - "listClusters": "kubernetes.d.ts getClusters", - "createNodeGroup": "kubernetes.d.ts addNodePool", - "deleteNodegroup": " kubernetes.d.ts deleteNodePool", - "listNodegroups": "kubernetes.d.ts getNodePools" + "create": "kubernetes.d.ts create", + "delete": "kubernetes.d.ts delete", + "listClusters": "kubernetes.d.ts getClusters", + "createNodeGroup": "kubernetes.d.ts addNodePool", + "deleteNodegroup": " kubernetes.d.ts deleteNodePool", + "listNodegroups": "kubernetes.d.ts getNodePools" } diff --git a/generator/test/generators/do/generator.test.ts b/generator/test/generators/do/generator.test.ts index ce9de66d..3f6abffa 100644 --- a/generator/test/generators/do/generator.test.ts +++ b/generator/test/generators/do/generator.test.ts @@ -1,86 +1,86 @@ -import { expect } from "chai"; -import { SyntaxKind } from "typescript"; +import { expect } from 'chai'; +import { SyntaxKind } from 'typescript'; -import { extractSDKData } from "../../../generators/do/generator"; -import { readJsonData,readSourceFile } from "../lib/helper"; +import { extractSDKData } from '../../../generators/do/generator'; +import { readJsonData, readSourceFile } from '../lib/helper'; -describe("Digital Ocean generator extractSDKData", () => { - context("with valid methods and valid AST", () => { - it("should return extracted class data", async () => { - const sdkFile: any = await readSourceFile("validDataset", "do"); - const data: any = await readJsonData( - "validDataset", - "do", - "serviceClass" - ); - let cloned = null; - sdkFile.forEachChild(child => { - if (SyntaxKind[child.kind] === "ClassDeclaration") { - cloned = Object.assign({}, child); - } - }); +describe('Digital Ocean generator extractSDKData', () => { + context('with valid methods and valid AST', () => { + it('should return extracted class data', async () => { + const sdkFile: any = await readSourceFile('validDataset', 'do'); + const data: any = await readJsonData( + 'validDataset', + 'do', + 'serviceClass' + ); + let cloned = null; + sdkFile.forEachChild(child => { + if (SyntaxKind[child.kind] === 'ClassDeclaration') { + cloned = Object.assign({}, child); + } + }); - if (cloned) { - const result = extractSDKData(cloned, data); - expect(result).to.be.an("object"); - expect(result.functions).to.be.an("array"); - expect(result.className).to.be.string; - } else { - console.error("Error in cloning class"); - } - }); - }); + if (cloned) { + const result = extractSDKData(cloned, data); + expect(result).to.be.an('object'); + expect(result.functions).to.be.an('array'); + expect(result.className).to.be.string; + } else { + console.error('Error in cloning class'); + } + }); + }); - context("with invalid method data:missing method name", () => { - it("should drop invalid method", async () => { - const sdkFile: any = await readSourceFile("invalidDataset_1", "do"); - const data: any = await readJsonData( - "invalidDataset_1", - "do", - "serviceClass" - ); - let cloned = null; - sdkFile.forEachChild(child => { - if (SyntaxKind[child.kind] === "ClassDeclaration") { - cloned = Object.assign({}, child); - } - }); + context('with invalid method data:missing method name', () => { + it('should drop invalid method', async () => { + const sdkFile: any = await readSourceFile('invalidDataset_1', 'do'); + const data: any = await readJsonData( + 'invalidDataset_1', + 'do', + 'serviceClass' + ); + let cloned = null; + sdkFile.forEachChild(child => { + if (SyntaxKind[child.kind] === 'ClassDeclaration') { + cloned = Object.assign({}, child); + } + }); - if (cloned) { - expect( - extractSDKData(cloned, data).functions.length < - Object.keys(data).length - ).to.be.true; - } else { - console.error("Error in cloning class"); - } - }); - }); + if (cloned) { + expect( + extractSDKData(cloned, data).functions.length < + Object.keys(data).length + ).to.be.true; + } else { + console.error('Error in cloning class'); + } + }); + }); - context("Digital Ocean with no functions", () => { - it("should return empty array of methods", async () => { - const sdkFile: any = await readSourceFile("invalidDataset_2", "do"); - const data: any = await readJsonData( - "invalidDataset_2", - "do", - "serviceClass" - ); - let cloned = null; - sdkFile.forEachChild(child => { - if (SyntaxKind[child.kind] === "ClassDeclaration") { - cloned = Object.assign({}, child); - } - }); + context('Digital Ocean with no functions', () => { + it('should return empty array of methods', async () => { + const sdkFile: any = await readSourceFile('invalidDataset_2', 'do'); + const data: any = await readJsonData( + 'invalidDataset_2', + 'do', + 'serviceClass' + ); + let cloned = null; + sdkFile.forEachChild(child => { + if (SyntaxKind[child.kind] === 'ClassDeclaration') { + cloned = Object.assign({}, child); + } + }); - if (cloned) { - const result = extractSDKData(cloned, data); - expect(result).to.be.an("object"); - expect(result.functions).to.be.an("array"); - expect(result.className).to.be.string; - expect(result.functions.length).to.eql(0); - } else { - console.error("Error in cloning class"); - } - }); - }); + if (cloned) { + const result = extractSDKData(cloned, data); + expect(result).to.be.an('object'); + expect(result.functions).to.be.an('array'); + expect(result.className).to.be.string; + expect(result.functions.length).to.eql(0); + } else { + console.error('Error in cloning class'); + } + }); + }); }); diff --git a/generator/test/generators/googleCloud/dummyData/invalidDataset_1/files.json b/generator/test/generators/googleCloud/dummyData/invalidDataset_1/files.json index 54accb30..c54dde28 100644 --- a/generator/test/generators/googleCloud/dummyData/invalidDataset_1/files.json +++ b/generator/test/generators/googleCloud/dummyData/invalidDataset_1/files.json @@ -1,15 +1,15 @@ [ - { - "fileName": "managedClusters.d.ts", - "pkgName": "arm-containerservice", - "ast": null, - "client": null, - "sdkFunctionNames": [ - "createOrUpdate", - "deleteMethod", - "updateTags", - "listByResourceGroup", - "list" - ] - } + { + "fileName": "managedClusters.d.ts", + "pkgName": "arm-containerservice", + "ast": null, + "client": null, + "sdkFunctionNames": [ + "createOrUpdate", + "deleteMethod", + "updateTags", + "listByResourceGroup", + "list" + ] + } ] diff --git a/generator/test/generators/googleCloud/dummyData/invalidDataset_1/methods.json b/generator/test/generators/googleCloud/dummyData/invalidDataset_1/methods.json index e0448883..dac4cb3a 100644 --- a/generator/test/generators/googleCloud/dummyData/invalidDataset_1/methods.json +++ b/generator/test/generators/googleCloud/dummyData/invalidDataset_1/methods.json @@ -1,47 +1,47 @@ [ - { - "pkgName": "arm-containerservice", - "fileName": "managedClusters.d.ts", - "functionName": "create", - "SDKFunctionName": "createOrUpdate", - "params": [], - "returnType": null, - "client": null - }, - { - "pkgName": "arm-containerservice", - "fileName": "managedClusters.d.ts", - "functionName": "delete", - "SDKFunctionName": "deleteMethod", - "params": [], - "returnType": null, - "client": null - }, - { - "pkgName": "arm-containerservice", - "fileName": "managedClusters.d.ts", - "functionName": "updateTags", - "SDKFunctionName": "updateTags", - "params": [], - "returnType": null, - "client": null - }, - { - "pkgName": "arm-containerservice", - "fileName": "managedClusters.d.ts", - "functionName": "listByResourceGroup", - "SDKFunctionName": "listByResourceGroup", - "params": [], - "returnType": null, - "client": null - }, - { - "pkgName": "arm-containerservice", - "fileName": "managedClusters.d.ts", - "functionName": "listClusters", - "SDKFunctionName": "list", - "params": [], - "returnType": null, - "client": null - } + { + "pkgName": "arm-containerservice", + "fileName": "managedClusters.d.ts", + "functionName": "create", + "SDKFunctionName": "createOrUpdate", + "params": [], + "returnType": null, + "client": null + }, + { + "pkgName": "arm-containerservice", + "fileName": "managedClusters.d.ts", + "functionName": "delete", + "SDKFunctionName": "deleteMethod", + "params": [], + "returnType": null, + "client": null + }, + { + "pkgName": "arm-containerservice", + "fileName": "managedClusters.d.ts", + "functionName": "updateTags", + "SDKFunctionName": "updateTags", + "params": [], + "returnType": null, + "client": null + }, + { + "pkgName": "arm-containerservice", + "fileName": "managedClusters.d.ts", + "functionName": "listByResourceGroup", + "SDKFunctionName": "listByResourceGroup", + "params": [], + "returnType": null, + "client": null + }, + { + "pkgName": "arm-containerservice", + "fileName": "managedClusters.d.ts", + "functionName": "listClusters", + "SDKFunctionName": "list", + "params": [], + "returnType": null, + "client": null + } ] diff --git a/generator/test/generators/googleCloud/dummyData/invalidDataset_2/files.json b/generator/test/generators/googleCloud/dummyData/invalidDataset_2/files.json index 48f59100..205faebb 100644 --- a/generator/test/generators/googleCloud/dummyData/invalidDataset_2/files.json +++ b/generator/test/generators/googleCloud/dummyData/invalidDataset_2/files.json @@ -1,10 +1,10 @@ [ - { - "fileName": "cluster_manager_client.d.ts", - "version": "v1", - "pkgName": "container", - "ast": null, - "client": null, - "sdkFunctionNames": ["createCluster", "deleteCluster", "listClusters"] - } + { + "fileName": "cluster_manager_client.d.ts", + "version": "v1", + "pkgName": "container", + "ast": null, + "client": null, + "sdkFunctionNames": ["createCluster", "deleteCluster", "listClusters"] + } ] diff --git a/generator/test/generators/googleCloud/dummyData/invalidDataset_2/methods.json b/generator/test/generators/googleCloud/dummyData/invalidDataset_2/methods.json index eaaef52c..3a65e533 100644 --- a/generator/test/generators/googleCloud/dummyData/invalidDataset_2/methods.json +++ b/generator/test/generators/googleCloud/dummyData/invalidDataset_2/methods.json @@ -1,35 +1,35 @@ [ - { - "pkgName": "container", - "version": "v1", - "fileName": "cluster_manager_client.d.ts", - "functionName": "create", - "SDKFunctionName": "createCluster", - "params": [], - "returnType": null, - "returnTypeName": null, - "client": null - }, - { - "pkgName": "container", - "version": "v1", - "fileName": "cluster_manager_client.d.ts", - "functionName": "delete", - "SDKFunctionName": "deleteCluster", - "params": [], - "returnType": null, - "returnTypeName": null, - "client": null - }, - { - "pkgName": "container", - "version": "v1", - "fileName": "cluster_manager_client.d.ts", - "functionName": "listClusters", - "SDKFunctionName": "listClusters", - "params": [], - "returnType": null, - "returnTypeName": null, - "client": null - } + { + "pkgName": "container", + "version": "v1", + "fileName": "cluster_manager_client.d.ts", + "functionName": "create", + "SDKFunctionName": "createCluster", + "params": [], + "returnType": null, + "returnTypeName": null, + "client": null + }, + { + "pkgName": "container", + "version": "v1", + "fileName": "cluster_manager_client.d.ts", + "functionName": "delete", + "SDKFunctionName": "deleteCluster", + "params": [], + "returnType": null, + "returnTypeName": null, + "client": null + }, + { + "pkgName": "container", + "version": "v1", + "fileName": "cluster_manager_client.d.ts", + "functionName": "listClusters", + "SDKFunctionName": "listClusters", + "params": [], + "returnType": null, + "returnTypeName": null, + "client": null + } ] diff --git a/generator/test/generators/googleCloud/dummyData/validDataset_1/files.json b/generator/test/generators/googleCloud/dummyData/validDataset_1/files.json index e9a37f8b..0d523ac0 100644 --- a/generator/test/generators/googleCloud/dummyData/validDataset_1/files.json +++ b/generator/test/generators/googleCloud/dummyData/validDataset_1/files.json @@ -1,26 +1,26 @@ [ - { - "fileName": "change.d.ts", - "pkgName": "dns", - "classes": null, - "sdkFunctionNames": [] - }, - { - "fileName": "index.d.ts", - "pkgName": "dns", - "classes": null, - "sdkFunctionNames": ["getZones"] - }, - { - "fileName": "record.d.ts", - "pkgName": "dns", - "classes": null, - "sdkFunctionNames": [] - }, - { - "fileName": "zone.d.ts", - "pkgName": "dns", - "classes": null, - "sdkFunctionNames": ["create"] - } + { + "fileName": "change.d.ts", + "pkgName": "dns", + "classes": null, + "sdkFunctionNames": [] + }, + { + "fileName": "index.d.ts", + "pkgName": "dns", + "classes": null, + "sdkFunctionNames": ["getZones"] + }, + { + "fileName": "record.d.ts", + "pkgName": "dns", + "classes": null, + "sdkFunctionNames": [] + }, + { + "fileName": "zone.d.ts", + "pkgName": "dns", + "classes": null, + "sdkFunctionNames": ["create"] + } ] diff --git a/generator/test/generators/googleCloud/dummyData/validDataset_1/methods.json b/generator/test/generators/googleCloud/dummyData/validDataset_1/methods.json index b6a2f213..aac550e0 100644 --- a/generator/test/generators/googleCloud/dummyData/validDataset_1/methods.json +++ b/generator/test/generators/googleCloud/dummyData/validDataset_1/methods.json @@ -1,24 +1,24 @@ [ - { - "pkgName": "dns", - "version": null, - "fileName": "index.d.ts", - "functionName": "listZones", - "SDKFunctionName": "getZones", - "params": [], - "returnType": null, - "returnTypeName": null, - "client": null - }, - { - "pkgName": "dns", - "version": null, - "fileName": "zone.d.ts", - "functionName": "createZone", - "SDKFunctionName": "create", - "params": [], - "returnType": null, - "returnTypeName": null, - "client": null - } + { + "pkgName": "dns", + "version": null, + "fileName": "index.d.ts", + "functionName": "listZones", + "SDKFunctionName": "getZones", + "params": [], + "returnType": null, + "returnTypeName": null, + "client": null + }, + { + "pkgName": "dns", + "version": null, + "fileName": "zone.d.ts", + "functionName": "createZone", + "SDKFunctionName": "create", + "params": [], + "returnType": null, + "returnTypeName": null, + "client": null + } ] diff --git a/generator/test/generators/googleCloud/dummyData/validDataset_2/files.json b/generator/test/generators/googleCloud/dummyData/validDataset_2/files.json index 48f59100..205faebb 100644 --- a/generator/test/generators/googleCloud/dummyData/validDataset_2/files.json +++ b/generator/test/generators/googleCloud/dummyData/validDataset_2/files.json @@ -1,10 +1,10 @@ [ - { - "fileName": "cluster_manager_client.d.ts", - "version": "v1", - "pkgName": "container", - "ast": null, - "client": null, - "sdkFunctionNames": ["createCluster", "deleteCluster", "listClusters"] - } + { + "fileName": "cluster_manager_client.d.ts", + "version": "v1", + "pkgName": "container", + "ast": null, + "client": null, + "sdkFunctionNames": ["createCluster", "deleteCluster", "listClusters"] + } ] diff --git a/generator/test/generators/googleCloud/dummyData/validDataset_2/methods.json b/generator/test/generators/googleCloud/dummyData/validDataset_2/methods.json index eaaef52c..3a65e533 100644 --- a/generator/test/generators/googleCloud/dummyData/validDataset_2/methods.json +++ b/generator/test/generators/googleCloud/dummyData/validDataset_2/methods.json @@ -1,35 +1,35 @@ [ - { - "pkgName": "container", - "version": "v1", - "fileName": "cluster_manager_client.d.ts", - "functionName": "create", - "SDKFunctionName": "createCluster", - "params": [], - "returnType": null, - "returnTypeName": null, - "client": null - }, - { - "pkgName": "container", - "version": "v1", - "fileName": "cluster_manager_client.d.ts", - "functionName": "delete", - "SDKFunctionName": "deleteCluster", - "params": [], - "returnType": null, - "returnTypeName": null, - "client": null - }, - { - "pkgName": "container", - "version": "v1", - "fileName": "cluster_manager_client.d.ts", - "functionName": "listClusters", - "SDKFunctionName": "listClusters", - "params": [], - "returnType": null, - "returnTypeName": null, - "client": null - } + { + "pkgName": "container", + "version": "v1", + "fileName": "cluster_manager_client.d.ts", + "functionName": "create", + "SDKFunctionName": "createCluster", + "params": [], + "returnType": null, + "returnTypeName": null, + "client": null + }, + { + "pkgName": "container", + "version": "v1", + "fileName": "cluster_manager_client.d.ts", + "functionName": "delete", + "SDKFunctionName": "deleteCluster", + "params": [], + "returnType": null, + "returnTypeName": null, + "client": null + }, + { + "pkgName": "container", + "version": "v1", + "fileName": "cluster_manager_client.d.ts", + "functionName": "listClusters", + "SDKFunctionName": "listClusters", + "params": [], + "returnType": null, + "returnTypeName": null, + "client": null + } ] diff --git a/generator/test/generators/googleCloud/generator.test.ts b/generator/test/generators/googleCloud/generator.test.ts index 3b339d3c..c85ea8e2 100644 --- a/generator/test/generators/googleCloud/generator.test.ts +++ b/generator/test/generators/googleCloud/generator.test.ts @@ -1,159 +1,163 @@ -import { expect } from "chai"; -import { SyntaxKind } from "typescript"; +import { expect } from 'chai'; +import { SyntaxKind } from 'typescript'; import { - extractClassBasedSDKData, - extractClientBasedSDKdata -} from "../../../generators/googleCloud/generator"; -import { readJsonData, readSourceFile } from "../lib/helper"; - -describe("GCP generator extractClassBasedSDKData", () => { - context("with valid methods and valid AST", () => { - it("should return class data", async () => { - const methods: any = await readJsonData( - "validDataset_1", - "googleCloud", - "methods" - ); - - const sdkFiles: any = await readJsonData( - "validDataset_1", - "googleCloud", - "files" - ); - - await Promise.all( - sdkFiles.map(async file => { - file.classes = []; - const sdkFile: any = await readSourceFile( - "validDataset_1", - "googleCloud" - ); - sdkFile.forEachChild(child => { - if (SyntaxKind[child.kind] === "ClassDeclaration") { - let cloned = Object.assign({}, child); - file.classes.push(cloned); - } - }); - }) - ); - - extractClassBasedSDKData(methods, sdkFiles).then(result => { - expect(result).to.be.an("object"); - expect(result.methods).to.be.an("array"); - }); - }); - }); - - context("with invalid AST", () => { - it("should return Error", async () => { - const methods: any = await readJsonData( - "invalidDataset_1", - "googleCloud", - "methods" - ); - - const sdkFiles: any = await readJsonData( - "invalidDataset_1", - "googleCloud", - "files" - ); - - await Promise.all( - sdkFiles.map(async file => { - file.classes = []; - const sdkFile: any = await readSourceFile( - "invalidDataset_1", - "googleCloud" - ); - sdkFile.forEachChild(child => { - if (SyntaxKind[child.kind] === "ClassDeclaration") { - let cloned = Object.assign({}, child); - file.classes.push(cloned); - } - }); - }) - ); - - extractClassBasedSDKData(methods, sdkFiles).then( - result => {}, - error => { - expect(error.message).to.eql("Data extraction unsuccessful"); - } - ); - }); - }); + extractClassBasedSDKData, + extractClientBasedSDKdata, +} from '../../../generators/googleCloud/generator'; +import { readJsonData, readSourceFile } from '../lib/helper'; + +describe('GCP generator extractClassBasedSDKData', () => { + context('with valid methods and valid AST', () => { + it('should return class data', async () => { + const methods: any = await readJsonData( + 'validDataset_1', + 'googleCloud', + 'methods' + ); + + const sdkFiles: any = await readJsonData( + 'validDataset_1', + 'googleCloud', + 'files' + ); + + await Promise.all( + sdkFiles.map(async file => { + file.classes = []; + const sdkFile: any = await readSourceFile( + 'validDataset_1', + 'googleCloud' + ); + sdkFile.forEachChild(child => { + if (SyntaxKind[child.kind] === 'ClassDeclaration') { + let cloned = Object.assign({}, child); + file.classes.push(cloned); + } + }); + }) + ); + + extractClassBasedSDKData(methods, sdkFiles).then(result => { + expect(result).to.be.an('object'); + expect(result.methods).to.be.an('array'); + }); + }); + }); + + context('with invalid AST', () => { + it('should return Error', async () => { + const methods: any = await readJsonData( + 'invalidDataset_1', + 'googleCloud', + 'methods' + ); + + const sdkFiles: any = await readJsonData( + 'invalidDataset_1', + 'googleCloud', + 'files' + ); + + await Promise.all( + sdkFiles.map(async file => { + file.classes = []; + const sdkFile: any = await readSourceFile( + 'invalidDataset_1', + 'googleCloud' + ); + sdkFile.forEachChild(child => { + if (SyntaxKind[child.kind] === 'ClassDeclaration') { + let cloned = Object.assign({}, child); + file.classes.push(cloned); + } + }); + }) + ); + + extractClassBasedSDKData(methods, sdkFiles).then( + result => {}, + error => { + expect(error.message).to.eql( + 'Data extraction unsuccessful' + ); + } + ); + }); + }); }); -describe("GCP generator extractClientBasedSDKdata", () => { - context("with valid methods and valid AST", () => { - it("should return class data", async () => { - const methods: any = await readJsonData( - "validDataset_2", - "googleCloud", - "methods" - ); - - const sdkFiles: any = await readJsonData( - "validDataset_2", - "googleCloud", - "files" - ); - - await Promise.all( - sdkFiles.map(async file => { - const sdkFile: any = await readSourceFile( - "validDataset_2", - "googleCloud" - ); - sdkFile.forEachChild(child => { - if (SyntaxKind[child.kind] === "ClassDeclaration") { - file.ast = Object.assign({}, child); - } - }); - }) - ); - - extractClientBasedSDKdata(methods, sdkFiles).then(result => { - expect(result).to.be.an("array"); - }); - }); - }); - - context("with invalid AST", () => { - it("should return Error", async () => { - const methods: any = await readJsonData( - "invalidDataset_2", - "googleCloud", - "methods" - ); - - const sdkFiles: any = await readJsonData( - "invalidDataset_2", - "googleCloud", - "files" - ); - - await Promise.all( - sdkFiles.map(async file => { - const sdkFile: any = await readSourceFile( - "invalidDataset_2", - "googleCloud" - ); - sdkFile.forEachChild(child => { - if (SyntaxKind[child.kind] === "ClassDeclaration") { - file.ast = Object.assign({}, child); - } - }); - }) - ); - - extractClientBasedSDKdata(methods, sdkFiles).then( - result => {}, - error => { - expect(error.message).to.eql("Data extraction unsuccessful"); - } - ); - }); - }); +describe('GCP generator extractClientBasedSDKdata', () => { + context('with valid methods and valid AST', () => { + it('should return class data', async () => { + const methods: any = await readJsonData( + 'validDataset_2', + 'googleCloud', + 'methods' + ); + + const sdkFiles: any = await readJsonData( + 'validDataset_2', + 'googleCloud', + 'files' + ); + + await Promise.all( + sdkFiles.map(async file => { + const sdkFile: any = await readSourceFile( + 'validDataset_2', + 'googleCloud' + ); + sdkFile.forEachChild(child => { + if (SyntaxKind[child.kind] === 'ClassDeclaration') { + file.ast = Object.assign({}, child); + } + }); + }) + ); + + extractClientBasedSDKdata(methods, sdkFiles).then(result => { + expect(result).to.be.an('array'); + }); + }); + }); + + context('with invalid AST', () => { + it('should return Error', async () => { + const methods: any = await readJsonData( + 'invalidDataset_2', + 'googleCloud', + 'methods' + ); + + const sdkFiles: any = await readJsonData( + 'invalidDataset_2', + 'googleCloud', + 'files' + ); + + await Promise.all( + sdkFiles.map(async file => { + const sdkFile: any = await readSourceFile( + 'invalidDataset_2', + 'googleCloud' + ); + sdkFile.forEachChild(child => { + if (SyntaxKind[child.kind] === 'ClassDeclaration') { + file.ast = Object.assign({}, child); + } + }); + }) + ); + + extractClientBasedSDKdata(methods, sdkFiles).then( + result => {}, + error => { + expect(error.message).to.eql( + 'Data extraction unsuccessful' + ); + } + ); + }); + }); }); diff --git a/generator/test/generators/lib/helper.ts b/generator/test/generators/lib/helper.ts index deecb432..da314bb7 100644 --- a/generator/test/generators/lib/helper.ts +++ b/generator/test/generators/lib/helper.ts @@ -1,35 +1,35 @@ -import * as fs from "fs"; -import { createSourceFile,ScriptTarget } from "typescript"; +import * as fs from 'fs'; +import { createSourceFile, ScriptTarget } from 'typescript'; export function readSourceFile(datasetName, provider) { - return new Promise((resolve, reject) => { - try { - const testFile = - process.cwd() + - `/test/generators/${provider}/dummyData/${datasetName}/sdkFile.txt`; - const testAST = createSourceFile( - testFile, - fs.readFileSync(testFile).toString(), - ScriptTarget.Latest, - true - ); - resolve(testAST); - } catch (error) { - console.error(error); - } - }); + return new Promise((resolve, reject) => { + try { + const testFile = + process.cwd() + + `/test/generators/${provider}/dummyData/${datasetName}/sdkFile.txt`; + const testAST = createSourceFile( + testFile, + fs.readFileSync(testFile).toString(), + ScriptTarget.Latest, + true + ); + resolve(testAST); + } catch (error) { + console.error(error); + } + }); } export function readJsonData(datasetName, provider, fileName) { - return new Promise((resolve, reject) => { - try { - const testFile = - process.cwd() + - `/test/generators/${provider}/dummyData/${datasetName}/${fileName}.json`; - const testData = JSON.parse(fs.readFileSync(testFile, "utf8")); - resolve(testData); - } catch (error) { - console.error(error); - } - }); + return new Promise((resolve, reject) => { + try { + const testFile = + process.cwd() + + `/test/generators/${provider}/dummyData/${datasetName}/${fileName}.json`; + const testData = JSON.parse(fs.readFileSync(testFile, 'utf8')); + resolve(testData); + } catch (error) { + console.error(error); + } + }); } diff --git a/generator/test/parsers/aws/parser.test.ts b/generator/test/parsers/aws/parser.test.ts index 0c27cc5c..be577611 100644 --- a/generator/test/parsers/aws/parser.test.ts +++ b/generator/test/parsers/aws/parser.test.ts @@ -1,34 +1,34 @@ -import { expect } from "chai"; -import { SyntaxKind } from "typescript"; +import { expect } from 'chai'; +import { SyntaxKind } from 'typescript'; -import { getAST } from "../../../parsers/aws/parser"; +import { getAST } from '../../../parsers/aws/parser'; -describe("AWS parser getAST", () => { - context("with existing file", () => { - it("should return Abstract syntax tree of the class", async () => { - const ast: any = await getAST("amplify.d.ts"); - expect(ast).to.be.an("object"); - expect(SyntaxKind[ast.kind] === "ClassDeclaration").to.be.true; - }); - }); +describe('AWS parser getAST', () => { + context('with existing file', () => { + it('should return Abstract syntax tree of the class', async () => { + const ast: any = await getAST('amplify.d.ts'); + expect(ast).to.be.an('object'); + expect(SyntaxKind[ast.kind] === 'ClassDeclaration').to.be.true; + }); + }); - context("with non-existing file", () => { - it("should return File not found Error", async () => { - try { - await getAST("unknown.d.ts"); - } catch (error) { - expect(error.message).to.eql("File not found!"); - } - }); - }); + context('with non-existing file', () => { + it('should return File not found Error', async () => { + try { + await getAST('unknown.d.ts'); + } catch (error) { + expect(error.message).to.eql('File not found!'); + } + }); + }); - context("with wrong format file", () => { - it("should return class not found Error", async () => { - try { - await getAST("browser_default.d.ts"); - } catch (error) { - expect(error.message).to.eql("Class not found!"); - } - }); - }); + context('with wrong format file', () => { + it('should return class not found Error', async () => { + try { + await getAST('browser_default.d.ts'); + } catch (error) { + expect(error.message).to.eql('Class not found!'); + } + }); + }); }); diff --git a/generator/test/parsers/azure/parser.test.ts b/generator/test/parsers/azure/parser.test.ts index 308694be..85482aff 100644 --- a/generator/test/parsers/azure/parser.test.ts +++ b/generator/test/parsers/azure/parser.test.ts @@ -1,38 +1,41 @@ -import { expect } from "chai"; -import { SyntaxKind } from "typescript"; +import { expect } from 'chai'; +import { SyntaxKind } from 'typescript'; -import { getAST } from "../../../parsers/azure/parser"; +import { getAST } from '../../../parsers/azure/parser'; -describe("Azure parser getAST", () => { - context("with existing file", () => { - it("should return Abstract syntax tree of the class", async () => { - const ast: any = await getAST({ - pkgName: "arm-containerservice", - fileName: "managedClusters.d.ts" - }); - expect(ast).to.be.an("object"); - expect(SyntaxKind[ast.kind] === "ClassDeclaration").to.be.true; - }); - }); +describe('Azure parser getAST', () => { + context('with existing file', () => { + it('should return Abstract syntax tree of the class', async () => { + const ast: any = await getAST({ + pkgName: 'arm-containerservice', + fileName: 'managedClusters.d.ts', + }); + expect(ast).to.be.an('object'); + expect(SyntaxKind[ast.kind] === 'ClassDeclaration').to.be.true; + }); + }); - context("with non-existing file", () => { - it("should return File not found Error", async () => { - try { - await getAST("unknown.d.ts"); - } catch (error) { - expect(error.message).to.eql("File not found!"); - } - }); - }); + context('with non-existing file', () => { + it('should return File not found Error', async () => { + try { + await getAST('unknown.d.ts'); + } catch (error) { + expect(error.message).to.eql('File not found!'); + } + }); + }); - context("with wrong format file", () => { - it("should return class not found Error", async () => { - try { - const fileInfo = { pkgName: "arm-storage", fileName: "index.d.ts" }; - await getAST(fileInfo); - } catch (error) { - expect(error.message).to.eql("Class not found!"); - } - }); - }); + context('with wrong format file', () => { + it('should return class not found Error', async () => { + try { + const fileInfo = { + pkgName: 'arm-storage', + fileName: 'index.d.ts', + }; + await getAST(fileInfo); + } catch (error) { + expect(error.message).to.eql('Class not found!'); + } + }); + }); }); diff --git a/generator/test/parsers/do/parser.test.ts b/generator/test/parsers/do/parser.test.ts index d686eb4e..457b0ef0 100644 --- a/generator/test/parsers/do/parser.test.ts +++ b/generator/test/parsers/do/parser.test.ts @@ -1,34 +1,34 @@ -import { expect } from "chai"; -import { SyntaxKind } from "typescript"; +import { expect } from 'chai'; +import { SyntaxKind } from 'typescript'; -import { getAST } from "../../../parsers/do/parser"; +import { getAST } from '../../../parsers/do/parser'; -describe("Digital Ocean parser getAST", () => { - context("With existing file", () => { - it("Should return Abstract syntax tree of the class", async () => { - const ast: any = await getAST("droplets.d.ts"); - expect(ast).to.be.an("object"); - expect(SyntaxKind[ast.kind] === "ClassDeclaration").to.be.true; - }); - }); +describe('Digital Ocean parser getAST', () => { + context('With existing file', () => { + it('Should return Abstract syntax tree of the class', async () => { + const ast: any = await getAST('droplets.d.ts'); + expect(ast).to.be.an('object'); + expect(SyntaxKind[ast.kind] === 'ClassDeclaration').to.be.true; + }); + }); - context("With non-existing file", () => { - it("should return File not found Error", async () => { - try { - await getAST("unknown.d.ts"); - } catch (error) { - expect(error.message).to.eql("File not found!"); - } - }); - }); + context('With non-existing file', () => { + it('should return File not found Error', async () => { + try { + await getAST('unknown.d.ts'); + } catch (error) { + expect(error.message).to.eql('File not found!'); + } + }); + }); - context("With wrong format file", () => { - it("Should return class not found Error", async () => { - try { - await getAST("../types/common.d.ts"); - } catch (error) { - expect(error.message).to.eql("Class not found!"); - } - }); - }); + context('With wrong format file', () => { + it('Should return class not found Error', async () => { + try { + await getAST('../types/common.d.ts'); + } catch (error) { + expect(error.message).to.eql('Class not found!'); + } + }); + }); }); diff --git a/generator/test/parsers/googleCloud/parser.test.ts b/generator/test/parsers/googleCloud/parser.test.ts index ea49e99e..4f8a99cf 100644 --- a/generator/test/parsers/googleCloud/parser.test.ts +++ b/generator/test/parsers/googleCloud/parser.test.ts @@ -1,64 +1,64 @@ -import { expect } from "chai"; -import { SyntaxKind } from "typescript"; +import { expect } from 'chai'; +import { SyntaxKind } from 'typescript'; -import { getAST } from "../../../parsers/googleCloud/parser"; +import { getAST } from '../../../parsers/googleCloud/parser'; -describe("Google cloud parser getAST", () => { - context("with existing file, multi:false", () => { - it("should return Abstract syntax tree of the class", async () => { - const fileInfo = { - pkgName: "monitoring", - version: "v3", - fileName: "alert_policy_service_client.d.ts" - }; - const ast: any = await getAST(fileInfo); - expect(ast).to.be.an("object"); - expect(SyntaxKind[ast.kind] === "ClassDeclaration").to.be.true; - }); - }); +describe('Google cloud parser getAST', () => { + context('with existing file, multi:false', () => { + it('should return Abstract syntax tree of the class', async () => { + const fileInfo = { + pkgName: 'monitoring', + version: 'v3', + fileName: 'alert_policy_service_client.d.ts', + }; + const ast: any = await getAST(fileInfo); + expect(ast).to.be.an('object'); + expect(SyntaxKind[ast.kind] === 'ClassDeclaration').to.be.true; + }); + }); - context("with existing file, multi:true", () => { - it("should return an array of Abstract syntax tree classes", async () => { - const fileInfo = { pkgName: "dns", fileName: "zone.d.ts" }; - const classes: any = await getAST(fileInfo, true); - expect(classes).to.be.an("array"); - classes.forEach((elt, index) => { - expect(SyntaxKind[elt.kind] === "ClassDeclaration").to.be.true; - }); - }); - }); + context('with existing file, multi:true', () => { + it('should return an array of Abstract syntax tree classes', async () => { + const fileInfo = { pkgName: 'dns', fileName: 'zone.d.ts' }; + const classes: any = await getAST(fileInfo, true); + expect(classes).to.be.an('array'); + classes.forEach((elt, index) => { + expect(SyntaxKind[elt.kind] === 'ClassDeclaration').to.be.true; + }); + }); + }); - context("with non-existing file", () => { - it("should return File not found Error", async () => { - try { - await getAST("unknown.d.ts"); - } catch (error) { - expect(error.message).to.eql("File not found!"); - } - }); - }); + context('with non-existing file', () => { + it('should return File not found Error', async () => { + try { + await getAST('unknown.d.ts'); + } catch (error) { + expect(error.message).to.eql('File not found!'); + } + }); + }); - context("with wrong format file, multi:true", () => { - it("should return an empty array", async () => { - const fileInfo = { pkgName: "storage", fileName: "index.d.ts" }; - const classes: any = await getAST(fileInfo, true); - expect(classes).to.be.an("array"); - expect(classes.length).to.be.equal(0); - }); - }); + context('with wrong format file, multi:true', () => { + it('should return an empty array', async () => { + const fileInfo = { pkgName: 'storage', fileName: 'index.d.ts' }; + const classes: any = await getAST(fileInfo, true); + expect(classes).to.be.an('array'); + expect(classes.length).to.be.equal(0); + }); + }); - context("with wrong format file", () => { - it("should return a Class not found Error", async () => { - const fileInfo = { - pkgName: "monitoring", - version: "v3", - fileName: "index.d.ts" - }; - try { - const ast: any = await getAST(fileInfo); - } catch (error) { - expect(error.message).to.eql("Class not found!"); - } - }); - }); + context('with wrong format file', () => { + it('should return a Class not found Error', async () => { + const fileInfo = { + pkgName: 'monitoring', + version: 'v3', + fileName: 'index.d.ts', + }; + try { + const ast: any = await getAST(fileInfo); + } catch (error) { + expect(error.message).to.eql('Class not found!'); + } + }); + }); }); diff --git a/generator/test/transformers/aws/dummyData/invalidDataset_1/data.json b/generator/test/transformers/aws/dummyData/invalidDataset_1/data.json index 7e37eb84..b83d92da 100644 --- a/generator/test/transformers/aws/dummyData/invalidDataset_1/data.json +++ b/generator/test/transformers/aws/dummyData/invalidDataset_1/data.json @@ -1,104 +1,104 @@ { - "className": "SimpleDB", - "functions": [ - { - "functionName": "batchDelete", - "SDKFunctionName": "batchDeleteAttributes", - "params": [ - { - "name": "params", - "optional": false, - "type": "TypeReference" - } - ] - }, - { - "functionName": "batchWrite", - "SDKFunctionName": "batchPutAttributes", - "params": [ - { - "name": "params", - "optional": false, - "type": "TypeReference" - } - ] - }, - { - "functionName": "createCollection", - "SDKFunctionName": "createDomain", - "params": [ - { - "name": "params", - "optional": false, - "type": "TypeReference" - } - ] - }, - { - "functionName": "deleteAttribute", - "SDKFunctionName": "deleteAttributes", - "params": [ - { - "name": "params", - "optional": false, - "type": "TypeReference" - } - ] - }, - { - "functionName": "deleteCollection", - "SDKFunctionName": "deleteDomain", - "params": [ - { - "name": "params", - "optional": false, - "type": "TypeReference" - } - ] - }, - { - "functionName": "getAttributes", - "SDKFunctionName": "getAttributes", - "params": [ - { - "name": "params", - "optional": false, - "type": "TypeReference" - } - ] - }, - { - "functionName": "listCollections", - "SDKFunctionName": "listDomains", - "params": [ - { - "name": "params", - "optional": false, - "type": "TypeReference" - } - ] - }, - { - "functionName": "setAttribute", - "SDKFunctionName": "putAttributes", - "params": [ - { - "name": "params", - "optional": false, - "type": "TypeReference" - } - ] - }, - { - "functionName": "query", - "SDKFunctionName": "select", - "params": [ - { - "name": "params", - "optional": false, - "type": "TypeReference" - } - ] - } - ] + "className": "SimpleDB", + "functions": [ + { + "functionName": "batchDelete", + "SDKFunctionName": "batchDeleteAttributes", + "params": [ + { + "name": "params", + "optional": false, + "type": "TypeReference" + } + ] + }, + { + "functionName": "batchWrite", + "SDKFunctionName": "batchPutAttributes", + "params": [ + { + "name": "params", + "optional": false, + "type": "TypeReference" + } + ] + }, + { + "functionName": "createCollection", + "SDKFunctionName": "createDomain", + "params": [ + { + "name": "params", + "optional": false, + "type": "TypeReference" + } + ] + }, + { + "functionName": "deleteAttribute", + "SDKFunctionName": "deleteAttributes", + "params": [ + { + "name": "params", + "optional": false, + "type": "TypeReference" + } + ] + }, + { + "functionName": "deleteCollection", + "SDKFunctionName": "deleteDomain", + "params": [ + { + "name": "params", + "optional": false, + "type": "TypeReference" + } + ] + }, + { + "functionName": "getAttributes", + "SDKFunctionName": "getAttributes", + "params": [ + { + "name": "params", + "optional": false, + "type": "TypeReference" + } + ] + }, + { + "functionName": "listCollections", + "SDKFunctionName": "listDomains", + "params": [ + { + "name": "params", + "optional": false, + "type": "TypeReference" + } + ] + }, + { + "functionName": "setAttribute", + "SDKFunctionName": "putAttributes", + "params": [ + { + "name": "params", + "optional": false, + "type": "TypeReference" + } + ] + }, + { + "functionName": "query", + "SDKFunctionName": "select", + "params": [ + { + "name": "params", + "optional": false, + "type": "TypeReference" + } + ] + } + ] } diff --git a/generator/test/transformers/aws/dummyData/invalidDataset_2/data.json b/generator/test/transformers/aws/dummyData/invalidDataset_2/data.json index 9106754e..2f3a0ae6 100644 --- a/generator/test/transformers/aws/dummyData/invalidDataset_2/data.json +++ b/generator/test/transformers/aws/dummyData/invalidDataset_2/data.json @@ -1,15 +1,15 @@ { - "functions": [ - { - "SDKFunctionName": "batchDeleteAttributes", - "params": [ - { - "name": "params", - "optional": false, - "type": "TypeReference", - "invalid": true - } - ] - } - ] + "functions": [ + { + "SDKFunctionName": "batchDeleteAttributes", + "params": [ + { + "name": "params", + "optional": false, + "type": "TypeReference", + "invalid": true + } + ] + } + ] } diff --git a/generator/test/transformers/aws/dummyData/validDataset/data.json b/generator/test/transformers/aws/dummyData/validDataset/data.json index 7e37eb84..b83d92da 100644 --- a/generator/test/transformers/aws/dummyData/validDataset/data.json +++ b/generator/test/transformers/aws/dummyData/validDataset/data.json @@ -1,104 +1,104 @@ { - "className": "SimpleDB", - "functions": [ - { - "functionName": "batchDelete", - "SDKFunctionName": "batchDeleteAttributes", - "params": [ - { - "name": "params", - "optional": false, - "type": "TypeReference" - } - ] - }, - { - "functionName": "batchWrite", - "SDKFunctionName": "batchPutAttributes", - "params": [ - { - "name": "params", - "optional": false, - "type": "TypeReference" - } - ] - }, - { - "functionName": "createCollection", - "SDKFunctionName": "createDomain", - "params": [ - { - "name": "params", - "optional": false, - "type": "TypeReference" - } - ] - }, - { - "functionName": "deleteAttribute", - "SDKFunctionName": "deleteAttributes", - "params": [ - { - "name": "params", - "optional": false, - "type": "TypeReference" - } - ] - }, - { - "functionName": "deleteCollection", - "SDKFunctionName": "deleteDomain", - "params": [ - { - "name": "params", - "optional": false, - "type": "TypeReference" - } - ] - }, - { - "functionName": "getAttributes", - "SDKFunctionName": "getAttributes", - "params": [ - { - "name": "params", - "optional": false, - "type": "TypeReference" - } - ] - }, - { - "functionName": "listCollections", - "SDKFunctionName": "listDomains", - "params": [ - { - "name": "params", - "optional": false, - "type": "TypeReference" - } - ] - }, - { - "functionName": "setAttribute", - "SDKFunctionName": "putAttributes", - "params": [ - { - "name": "params", - "optional": false, - "type": "TypeReference" - } - ] - }, - { - "functionName": "query", - "SDKFunctionName": "select", - "params": [ - { - "name": "params", - "optional": false, - "type": "TypeReference" - } - ] - } - ] + "className": "SimpleDB", + "functions": [ + { + "functionName": "batchDelete", + "SDKFunctionName": "batchDeleteAttributes", + "params": [ + { + "name": "params", + "optional": false, + "type": "TypeReference" + } + ] + }, + { + "functionName": "batchWrite", + "SDKFunctionName": "batchPutAttributes", + "params": [ + { + "name": "params", + "optional": false, + "type": "TypeReference" + } + ] + }, + { + "functionName": "createCollection", + "SDKFunctionName": "createDomain", + "params": [ + { + "name": "params", + "optional": false, + "type": "TypeReference" + } + ] + }, + { + "functionName": "deleteAttribute", + "SDKFunctionName": "deleteAttributes", + "params": [ + { + "name": "params", + "optional": false, + "type": "TypeReference" + } + ] + }, + { + "functionName": "deleteCollection", + "SDKFunctionName": "deleteDomain", + "params": [ + { + "name": "params", + "optional": false, + "type": "TypeReference" + } + ] + }, + { + "functionName": "getAttributes", + "SDKFunctionName": "getAttributes", + "params": [ + { + "name": "params", + "optional": false, + "type": "TypeReference" + } + ] + }, + { + "functionName": "listCollections", + "SDKFunctionName": "listDomains", + "params": [ + { + "name": "params", + "optional": false, + "type": "TypeReference" + } + ] + }, + { + "functionName": "setAttribute", + "SDKFunctionName": "putAttributes", + "params": [ + { + "name": "params", + "optional": false, + "type": "TypeReference" + } + ] + }, + { + "functionName": "query", + "SDKFunctionName": "select", + "params": [ + { + "name": "params", + "optional": false, + "type": "TypeReference" + } + ] + } + ] } diff --git a/generator/test/transformers/aws/transformer.test.ts b/generator/test/transformers/aws/transformer.test.ts index c98366ba..14089f03 100644 --- a/generator/test/transformers/aws/transformer.test.ts +++ b/generator/test/transformers/aws/transformer.test.ts @@ -1,71 +1,71 @@ -import { expect } from "chai"; -import { createSourceFile, isSourceFile,ScriptTarget } from "typescript"; +import { expect } from 'chai'; +import { createSourceFile, isSourceFile, ScriptTarget } from 'typescript'; -import { transform } from "../../../transformers/aws/transformer"; -import { readJsonData, readSourceFile } from "../lib/helper"; +import { transform } from '../../../transformers/aws/transformer'; +import { readJsonData, readSourceFile } from '../lib/helper'; interface TestData { - AST: any; - data: any; + AST: any; + data: any; } -describe("AWS transformer transform", () => { - context("Valid source code and valid data", () => { - const testData: TestData = { AST: null, data: null }; - before(async () => { - testData.AST = await readSourceFile("validDataset", "aws"); - testData.data = await readJsonData("validDataset", "aws"); - }); +describe('AWS transformer transform', () => { + context('Valid source code and valid data', () => { + const testData: TestData = { AST: null, data: null }; + before(async () => { + testData.AST = await readSourceFile('validDataset', 'aws'); + testData.data = await readJsonData('validDataset', 'aws'); + }); - it("Should return a String", async () => { - const result = await transform(testData.AST, testData.data); - expect(result).to.be.string; - }); + it('Should return a String', async () => { + const result = await transform(testData.AST, testData.data); + expect(result).to.be.string; + }); - it("Should return a Javascript code in String format", async () => { - const result = await transform(testData.AST, testData.data); - try { - const sourceCode = createSourceFile( - "someClass.js", - result, - ScriptTarget.Latest - ); - expect(isSourceFile(sourceCode)).to.be.true; - } catch (error) { - console.log(error); - } - }); - }); + it('Should return a Javascript code in String format', async () => { + const result = await transform(testData.AST, testData.data); + try { + const sourceCode = createSourceFile( + 'someClass.js', + result, + ScriptTarget.Latest + ); + expect(isSourceFile(sourceCode)).to.be.true; + } catch (error) { + console.log(error); + } + }); + }); - context("Invalid source code and valid data", () => { - const testData: TestData = { AST: null, data: null }; - before(async () => { - testData.AST = await readSourceFile("invalidDataset_1", "aws"); - testData.data = await readJsonData("invalidDataset_1", "aws"); - }); + context('Invalid source code and valid data', () => { + const testData: TestData = { AST: null, data: null }; + before(async () => { + testData.AST = await readSourceFile('invalidDataset_1', 'aws'); + testData.data = await readJsonData('invalidDataset_1', 'aws'); + }); - it("Should return a validation Error", async () => { - try { - await transform(testData.AST, testData.data); - } catch (error) { - expect(error.message).to.eql("Code is invalid"); - } - }); - }); + it('Should return a validation Error', async () => { + try { + await transform(testData.AST, testData.data); + } catch (error) { + expect(error.message).to.eql('Code is invalid'); + } + }); + }); - context("Valid source code and invalid data", () => { - const testData: TestData = { AST: null, data: null }; - before(async () => { - testData.AST = await readSourceFile("invalidDataset_2", "aws"); - testData.data = await readJsonData("invalidDataset_2", "aws"); - }); + context('Valid source code and invalid data', () => { + const testData: TestData = { AST: null, data: null }; + before(async () => { + testData.AST = await readSourceFile('invalidDataset_2', 'aws'); + testData.data = await readJsonData('invalidDataset_2', 'aws'); + }); - it("Should return a validation Error", async () => { - try { - await transform(testData.AST, testData.data); - } catch (error) { - expect(error.message).to.eql("Input is invalid"); - } - }); - }); + it('Should return a validation Error', async () => { + try { + await transform(testData.AST, testData.data); + } catch (error) { + expect(error.message).to.eql('Input is invalid'); + } + }); + }); }); diff --git a/generator/test/transformers/azure/dummyData/invalidDataset_1/data.json b/generator/test/transformers/azure/dummyData/invalidDataset_1/data.json index 993c47fc..07611ed9 100644 --- a/generator/test/transformers/azure/dummyData/invalidDataset_1/data.json +++ b/generator/test/transformers/azure/dummyData/invalidDataset_1/data.json @@ -1,124 +1,124 @@ { - "functions": [ - { - "functionName": "create", - "SDKFunctionName": "createOrUpdate", - "params": [ - { - "name": "resourceGroupName", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "resourceName", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "parameters", - "optional": false, - "type": "TypeReference" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "pkgName": "arm-containerservice", - "fileName": "managedClusters.d.ts", - "client": "ContainerServiceClient", - "returnType": "TypeReference" - }, - { - "functionName": "delete", - "SDKFunctionName": "deleteMethod", - "params": [ - { - "name": "resourceGroupName", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "resourceName", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "pkgName": "arm-containerservice", - "fileName": "managedClusters.d.ts", - "client": "ContainerServiceClient", - "returnType": "TypeReference" - }, - { - "functionName": "updateTags", - "SDKFunctionName": "updateTags", - "params": [ - { - "name": "resourceGroupName", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "resourceName", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "parameters", - "optional": false, - "type": "TypeReference" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "pkgName": "arm-containerservice", - "fileName": "managedClusters.d.ts", - "client": "ContainerServiceClient", - "returnType": "TypeReference" - }, - { - "functionName": "listByResourceGroup", - "SDKFunctionName": "listByResourceGroup", - "params": [ - { - "name": "resourceGroupName", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "pkgName": "arm-containerservice", - "fileName": "managedClusters.d.ts", - "client": "ContainerServiceClient", - "returnType": "TypeReference" - }, - { - "functionName": "listClusters", - "SDKFunctionName": "list", - "params": [ - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "pkgName": "arm-containerservice", - "fileName": "managedClusters.d.ts", - "client": "ContainerServiceClient", - "returnType": "TypeReference" - } - ] + "functions": [ + { + "functionName": "create", + "SDKFunctionName": "createOrUpdate", + "params": [ + { + "name": "resourceGroupName", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "resourceName", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "parameters", + "optional": false, + "type": "TypeReference" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "pkgName": "arm-containerservice", + "fileName": "managedClusters.d.ts", + "client": "ContainerServiceClient", + "returnType": "TypeReference" + }, + { + "functionName": "delete", + "SDKFunctionName": "deleteMethod", + "params": [ + { + "name": "resourceGroupName", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "resourceName", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "pkgName": "arm-containerservice", + "fileName": "managedClusters.d.ts", + "client": "ContainerServiceClient", + "returnType": "TypeReference" + }, + { + "functionName": "updateTags", + "SDKFunctionName": "updateTags", + "params": [ + { + "name": "resourceGroupName", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "resourceName", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "parameters", + "optional": false, + "type": "TypeReference" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "pkgName": "arm-containerservice", + "fileName": "managedClusters.d.ts", + "client": "ContainerServiceClient", + "returnType": "TypeReference" + }, + { + "functionName": "listByResourceGroup", + "SDKFunctionName": "listByResourceGroup", + "params": [ + { + "name": "resourceGroupName", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "pkgName": "arm-containerservice", + "fileName": "managedClusters.d.ts", + "client": "ContainerServiceClient", + "returnType": "TypeReference" + }, + { + "functionName": "listClusters", + "SDKFunctionName": "list", + "params": [ + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "pkgName": "arm-containerservice", + "fileName": "managedClusters.d.ts", + "client": "ContainerServiceClient", + "returnType": "TypeReference" + } + ] } diff --git a/generator/test/transformers/azure/dummyData/validDataset/data.json b/generator/test/transformers/azure/dummyData/validDataset/data.json index 993c47fc..07611ed9 100644 --- a/generator/test/transformers/azure/dummyData/validDataset/data.json +++ b/generator/test/transformers/azure/dummyData/validDataset/data.json @@ -1,124 +1,124 @@ { - "functions": [ - { - "functionName": "create", - "SDKFunctionName": "createOrUpdate", - "params": [ - { - "name": "resourceGroupName", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "resourceName", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "parameters", - "optional": false, - "type": "TypeReference" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "pkgName": "arm-containerservice", - "fileName": "managedClusters.d.ts", - "client": "ContainerServiceClient", - "returnType": "TypeReference" - }, - { - "functionName": "delete", - "SDKFunctionName": "deleteMethod", - "params": [ - { - "name": "resourceGroupName", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "resourceName", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "pkgName": "arm-containerservice", - "fileName": "managedClusters.d.ts", - "client": "ContainerServiceClient", - "returnType": "TypeReference" - }, - { - "functionName": "updateTags", - "SDKFunctionName": "updateTags", - "params": [ - { - "name": "resourceGroupName", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "resourceName", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "parameters", - "optional": false, - "type": "TypeReference" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "pkgName": "arm-containerservice", - "fileName": "managedClusters.d.ts", - "client": "ContainerServiceClient", - "returnType": "TypeReference" - }, - { - "functionName": "listByResourceGroup", - "SDKFunctionName": "listByResourceGroup", - "params": [ - { - "name": "resourceGroupName", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "pkgName": "arm-containerservice", - "fileName": "managedClusters.d.ts", - "client": "ContainerServiceClient", - "returnType": "TypeReference" - }, - { - "functionName": "listClusters", - "SDKFunctionName": "list", - "params": [ - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "pkgName": "arm-containerservice", - "fileName": "managedClusters.d.ts", - "client": "ContainerServiceClient", - "returnType": "TypeReference" - } - ] + "functions": [ + { + "functionName": "create", + "SDKFunctionName": "createOrUpdate", + "params": [ + { + "name": "resourceGroupName", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "resourceName", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "parameters", + "optional": false, + "type": "TypeReference" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "pkgName": "arm-containerservice", + "fileName": "managedClusters.d.ts", + "client": "ContainerServiceClient", + "returnType": "TypeReference" + }, + { + "functionName": "delete", + "SDKFunctionName": "deleteMethod", + "params": [ + { + "name": "resourceGroupName", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "resourceName", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "pkgName": "arm-containerservice", + "fileName": "managedClusters.d.ts", + "client": "ContainerServiceClient", + "returnType": "TypeReference" + }, + { + "functionName": "updateTags", + "SDKFunctionName": "updateTags", + "params": [ + { + "name": "resourceGroupName", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "resourceName", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "parameters", + "optional": false, + "type": "TypeReference" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "pkgName": "arm-containerservice", + "fileName": "managedClusters.d.ts", + "client": "ContainerServiceClient", + "returnType": "TypeReference" + }, + { + "functionName": "listByResourceGroup", + "SDKFunctionName": "listByResourceGroup", + "params": [ + { + "name": "resourceGroupName", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "pkgName": "arm-containerservice", + "fileName": "managedClusters.d.ts", + "client": "ContainerServiceClient", + "returnType": "TypeReference" + }, + { + "functionName": "listClusters", + "SDKFunctionName": "list", + "params": [ + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "pkgName": "arm-containerservice", + "fileName": "managedClusters.d.ts", + "client": "ContainerServiceClient", + "returnType": "TypeReference" + } + ] } diff --git a/generator/test/transformers/azure/transformer.test.ts b/generator/test/transformers/azure/transformer.test.ts index 02143394..75dd7a1d 100644 --- a/generator/test/transformers/azure/transformer.test.ts +++ b/generator/test/transformers/azure/transformer.test.ts @@ -1,71 +1,71 @@ -import { expect } from "chai"; -import { createSourceFile, isSourceFile,ScriptTarget } from "typescript"; +import { expect } from 'chai'; +import { createSourceFile, isSourceFile, ScriptTarget } from 'typescript'; -import { transform } from "../../../transformers/azure/transformer"; -import { readJsonData, readSourceFile } from "../lib/helper"; +import { transform } from '../../../transformers/azure/transformer'; +import { readJsonData, readSourceFile } from '../lib/helper'; interface TestData { - AST: any; - data: any; + AST: any; + data: any; } -describe("Azure transformer transform", () => { - context("Valid source code and valid data", () => { - const testData: TestData = { AST: null, data: null }; - before(async () => { - testData.AST = await readSourceFile("validDataset", "azure"); - testData.data = await readJsonData("validDataset", "azure"); - }); +describe('Azure transformer transform', () => { + context('Valid source code and valid data', () => { + const testData: TestData = { AST: null, data: null }; + before(async () => { + testData.AST = await readSourceFile('validDataset', 'azure'); + testData.data = await readJsonData('validDataset', 'azure'); + }); - it("Should return a String", async () => { - const result = await transform(testData.AST, testData.data); - expect(result).to.be.string; - }); + it('Should return a String', async () => { + const result = await transform(testData.AST, testData.data); + expect(result).to.be.string; + }); - it("Should return a Javascript code in String format", async () => { - const result = await transform(testData.AST, testData.data); - try { - const sourceCode = createSourceFile( - "someClass.js", - result, - ScriptTarget.Latest - ); - expect(isSourceFile(sourceCode)).to.be.true; - } catch (error) { - console.log(error); - } - }); - }); + it('Should return a Javascript code in String format', async () => { + const result = await transform(testData.AST, testData.data); + try { + const sourceCode = createSourceFile( + 'someClass.js', + result, + ScriptTarget.Latest + ); + expect(isSourceFile(sourceCode)).to.be.true; + } catch (error) { + console.log(error); + } + }); + }); - context("Invalid source code and valid data", () => { - const testData: TestData = { AST: null, data: null }; - before(async () => { - testData.AST = await readSourceFile("invalidDataset_1", "azure"); - testData.data = await readJsonData("invalidDataset_1", "azure"); - }); + context('Invalid source code and valid data', () => { + const testData: TestData = { AST: null, data: null }; + before(async () => { + testData.AST = await readSourceFile('invalidDataset_1', 'azure'); + testData.data = await readJsonData('invalidDataset_1', 'azure'); + }); - it("Should return a validation Error", async () => { - try { - await transform(testData.AST, testData.data); - } catch (error) { - expect(error.message).to.eql("Code is invalid"); - } - }); - }); + it('Should return a validation Error', async () => { + try { + await transform(testData.AST, testData.data); + } catch (error) { + expect(error.message).to.eql('Code is invalid'); + } + }); + }); - context("Valid source code and invalid data", () => { - const testData: TestData = { AST: null, data: null }; - before(async () => { - testData.AST = await readSourceFile("invalidDataset_2", "azure"); - testData.data = await readJsonData("invalidDataset_2", "azure"); - }); + context('Valid source code and invalid data', () => { + const testData: TestData = { AST: null, data: null }; + before(async () => { + testData.AST = await readSourceFile('invalidDataset_2', 'azure'); + testData.data = await readJsonData('invalidDataset_2', 'azure'); + }); - it("Should return a validation Error", async () => { - try { - await transform(testData.AST, testData.data); - } catch (error) { - expect(error.message).to.eql("Input is invalid"); - } - }); - }); + it('Should return a validation Error', async () => { + try { + await transform(testData.AST, testData.data); + } catch (error) { + expect(error.message).to.eql('Input is invalid'); + } + }); + }); }); diff --git a/generator/test/transformers/do/dummyData/invalidDataset_1/data.json b/generator/test/transformers/do/dummyData/invalidDataset_1/data.json index 3ffb12f3..d1c95b66 100644 --- a/generator/test/transformers/do/dummyData/invalidDataset_1/data.json +++ b/generator/test/transformers/do/dummyData/invalidDataset_1/data.json @@ -1,102 +1,102 @@ { - "className": "Kubernetes", - "functions": [ - { - "functionName": "listClusters", - "SDKFunctionName": "getClusters", - "params": [ - { - "name": "includeAll", - "optional": true, - "type": "BooleanKeyword", - "typeName": null - }, - { - "name": "page", - "optional": true, - "type": "NumberKeyword", - "typeName": null - }, - { - "name": "pageSize", - "optional": true, - "type": "NumberKeyword", - "typeName": null - } - ] - }, - { - "functionName": "create", - "SDKFunctionName": "create", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference", - "typeName": "NewClusterRequest" - } - ] - }, - { - "functionName": "delete", - "SDKFunctionName": "delete", - "params": [ - { - "name": "clusterId", - "optional": false, - "type": "StringKeyword", - "typeName": null - } - ] - }, - { - "functionName": "listNodegroups", - "SDKFunctionName": "getNodePools", - "params": [ - { - "name": "clusterId", - "optional": false, - "type": "StringKeyword", - "typeName": null - }, - { - "name": "includeAll", - "optional": true, - "type": "BooleanKeyword", - "typeName": null - }, - { - "name": "page", - "optional": true, - "type": "NumberKeyword", - "typeName": null - }, - { - "name": "pageSize", - "optional": true, - "type": "NumberKeyword", - "typeName": null - } - ] - }, - { - "functionName": "createNodeGroup", - "SDKFunctionName": "addNodePool", - "params": [ - { - "name": "clusterId", - "optional": false, - "type": "StringKeyword", - "typeName": null - }, - { - "name": "nodePool", - "optional": false, - "type": "TypeReference", - "typeName": "ClusterNodePool" - } - ] - } - ], - "serviceName": "Kubernetes" + "className": "Kubernetes", + "functions": [ + { + "functionName": "listClusters", + "SDKFunctionName": "getClusters", + "params": [ + { + "name": "includeAll", + "optional": true, + "type": "BooleanKeyword", + "typeName": null + }, + { + "name": "page", + "optional": true, + "type": "NumberKeyword", + "typeName": null + }, + { + "name": "pageSize", + "optional": true, + "type": "NumberKeyword", + "typeName": null + } + ] + }, + { + "functionName": "create", + "SDKFunctionName": "create", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference", + "typeName": "NewClusterRequest" + } + ] + }, + { + "functionName": "delete", + "SDKFunctionName": "delete", + "params": [ + { + "name": "clusterId", + "optional": false, + "type": "StringKeyword", + "typeName": null + } + ] + }, + { + "functionName": "listNodegroups", + "SDKFunctionName": "getNodePools", + "params": [ + { + "name": "clusterId", + "optional": false, + "type": "StringKeyword", + "typeName": null + }, + { + "name": "includeAll", + "optional": true, + "type": "BooleanKeyword", + "typeName": null + }, + { + "name": "page", + "optional": true, + "type": "NumberKeyword", + "typeName": null + }, + { + "name": "pageSize", + "optional": true, + "type": "NumberKeyword", + "typeName": null + } + ] + }, + { + "functionName": "createNodeGroup", + "SDKFunctionName": "addNodePool", + "params": [ + { + "name": "clusterId", + "optional": false, + "type": "StringKeyword", + "typeName": null + }, + { + "name": "nodePool", + "optional": false, + "type": "TypeReference", + "typeName": "ClusterNodePool" + } + ] + } + ], + "serviceName": "Kubernetes" } diff --git a/generator/test/transformers/do/dummyData/invalidDataset_2/data.json b/generator/test/transformers/do/dummyData/invalidDataset_2/data.json index ab217e60..4cfbb29e 100644 --- a/generator/test/transformers/do/dummyData/invalidDataset_2/data.json +++ b/generator/test/transformers/do/dummyData/invalidDataset_2/data.json @@ -1,15 +1,15 @@ { - "functions": [ - { - "SDKFunctionName": "getClusters", - "params": [ - { - "name": "includeAll", - "optional": false, - "type": "TypeReference", - "invalid": true - } - ] - } - ] + "functions": [ + { + "SDKFunctionName": "getClusters", + "params": [ + { + "name": "includeAll", + "optional": false, + "type": "TypeReference", + "invalid": true + } + ] + } + ] } diff --git a/generator/test/transformers/do/dummyData/validDataset/data.json b/generator/test/transformers/do/dummyData/validDataset/data.json index 3ffb12f3..d1c95b66 100644 --- a/generator/test/transformers/do/dummyData/validDataset/data.json +++ b/generator/test/transformers/do/dummyData/validDataset/data.json @@ -1,102 +1,102 @@ { - "className": "Kubernetes", - "functions": [ - { - "functionName": "listClusters", - "SDKFunctionName": "getClusters", - "params": [ - { - "name": "includeAll", - "optional": true, - "type": "BooleanKeyword", - "typeName": null - }, - { - "name": "page", - "optional": true, - "type": "NumberKeyword", - "typeName": null - }, - { - "name": "pageSize", - "optional": true, - "type": "NumberKeyword", - "typeName": null - } - ] - }, - { - "functionName": "create", - "SDKFunctionName": "create", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference", - "typeName": "NewClusterRequest" - } - ] - }, - { - "functionName": "delete", - "SDKFunctionName": "delete", - "params": [ - { - "name": "clusterId", - "optional": false, - "type": "StringKeyword", - "typeName": null - } - ] - }, - { - "functionName": "listNodegroups", - "SDKFunctionName": "getNodePools", - "params": [ - { - "name": "clusterId", - "optional": false, - "type": "StringKeyword", - "typeName": null - }, - { - "name": "includeAll", - "optional": true, - "type": "BooleanKeyword", - "typeName": null - }, - { - "name": "page", - "optional": true, - "type": "NumberKeyword", - "typeName": null - }, - { - "name": "pageSize", - "optional": true, - "type": "NumberKeyword", - "typeName": null - } - ] - }, - { - "functionName": "createNodeGroup", - "SDKFunctionName": "addNodePool", - "params": [ - { - "name": "clusterId", - "optional": false, - "type": "StringKeyword", - "typeName": null - }, - { - "name": "nodePool", - "optional": false, - "type": "TypeReference", - "typeName": "ClusterNodePool" - } - ] - } - ], - "serviceName": "Kubernetes" + "className": "Kubernetes", + "functions": [ + { + "functionName": "listClusters", + "SDKFunctionName": "getClusters", + "params": [ + { + "name": "includeAll", + "optional": true, + "type": "BooleanKeyword", + "typeName": null + }, + { + "name": "page", + "optional": true, + "type": "NumberKeyword", + "typeName": null + }, + { + "name": "pageSize", + "optional": true, + "type": "NumberKeyword", + "typeName": null + } + ] + }, + { + "functionName": "create", + "SDKFunctionName": "create", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference", + "typeName": "NewClusterRequest" + } + ] + }, + { + "functionName": "delete", + "SDKFunctionName": "delete", + "params": [ + { + "name": "clusterId", + "optional": false, + "type": "StringKeyword", + "typeName": null + } + ] + }, + { + "functionName": "listNodegroups", + "SDKFunctionName": "getNodePools", + "params": [ + { + "name": "clusterId", + "optional": false, + "type": "StringKeyword", + "typeName": null + }, + { + "name": "includeAll", + "optional": true, + "type": "BooleanKeyword", + "typeName": null + }, + { + "name": "page", + "optional": true, + "type": "NumberKeyword", + "typeName": null + }, + { + "name": "pageSize", + "optional": true, + "type": "NumberKeyword", + "typeName": null + } + ] + }, + { + "functionName": "createNodeGroup", + "SDKFunctionName": "addNodePool", + "params": [ + { + "name": "clusterId", + "optional": false, + "type": "StringKeyword", + "typeName": null + }, + { + "name": "nodePool", + "optional": false, + "type": "TypeReference", + "typeName": "ClusterNodePool" + } + ] + } + ], + "serviceName": "Kubernetes" } diff --git a/generator/test/transformers/do/transformer.test.ts b/generator/test/transformers/do/transformer.test.ts index 6a1b333b..c4bb5359 100644 --- a/generator/test/transformers/do/transformer.test.ts +++ b/generator/test/transformers/do/transformer.test.ts @@ -1,71 +1,71 @@ -import { expect } from "chai"; -import { createSourceFile, isSourceFile,ScriptTarget } from "typescript"; +import { expect } from 'chai'; +import { createSourceFile, isSourceFile, ScriptTarget } from 'typescript'; -import { transform } from "../../../transformers/do/transformer"; -import { readJsonData, readSourceFile } from "../lib/helper"; +import { transform } from '../../../transformers/do/transformer'; +import { readJsonData, readSourceFile } from '../lib/helper'; interface TestData { - AST: any; - data: any; + AST: any; + data: any; } -describe("Digital Ocean transformer transform", () => { - context("Valid source code and valid data", () => { - const testData: TestData = { AST: null, data: null }; - before(async () => { - testData.AST = await readSourceFile("validDataset", "do"); - testData.data = await readJsonData("validDataset", "do"); - }); +describe('Digital Ocean transformer transform', () => { + context('Valid source code and valid data', () => { + const testData: TestData = { AST: null, data: null }; + before(async () => { + testData.AST = await readSourceFile('validDataset', 'do'); + testData.data = await readJsonData('validDataset', 'do'); + }); - it("Should return a String", async () => { - const result = await transform(testData.AST, testData.data); - expect(result).to.be.string; - }); + it('Should return a String', async () => { + const result = await transform(testData.AST, testData.data); + expect(result).to.be.string; + }); - it("Should return a Javascript code in String format", async () => { - const result = await transform(testData.AST, testData.data); - try { - const sourceCode = createSourceFile( - "someClass.js", - result, - ScriptTarget.Latest - ); - expect(isSourceFile(sourceCode)).to.be.true; - } catch (error) { - console.log(error); - } - }); - }); + it('Should return a Javascript code in String format', async () => { + const result = await transform(testData.AST, testData.data); + try { + const sourceCode = createSourceFile( + 'someClass.js', + result, + ScriptTarget.Latest + ); + expect(isSourceFile(sourceCode)).to.be.true; + } catch (error) { + console.log(error); + } + }); + }); - context("Invalid source code and valid data", () => { - const testData: TestData = { AST: null, data: null }; - before(async () => { - testData.AST = await readSourceFile("invalidDataset_1", "do"); - testData.data = await readJsonData("invalidDataset_1", "do"); - }); + context('Invalid source code and valid data', () => { + const testData: TestData = { AST: null, data: null }; + before(async () => { + testData.AST = await readSourceFile('invalidDataset_1', 'do'); + testData.data = await readJsonData('invalidDataset_1', 'do'); + }); - it("Should return a validation Error", async () => { - try { - await transform(testData.AST, testData.data); - } catch (error) { - expect(error.message).to.eql("Code is invalid"); - } - }); - }); + it('Should return a validation Error', async () => { + try { + await transform(testData.AST, testData.data); + } catch (error) { + expect(error.message).to.eql('Code is invalid'); + } + }); + }); - context("Valid source code and invalid data", () => { - const testData: TestData = { AST: null, data: null }; - before(async () => { - testData.AST = await readSourceFile("invalidDataset_2", "do"); - testData.data = await readJsonData("invalidDataset_2", "do"); - }); + context('Valid source code and invalid data', () => { + const testData: TestData = { AST: null, data: null }; + before(async () => { + testData.AST = await readSourceFile('invalidDataset_2', 'do'); + testData.data = await readJsonData('invalidDataset_2', 'do'); + }); - it("Should return a validation Error", async () => { - try { - await transform(testData.AST, testData.data); - } catch (error) { - expect(error.message).to.eql("Input is invalid"); - } - }); - }); + it('Should return a validation Error', async () => { + try { + await transform(testData.AST, testData.data); + } catch (error) { + expect(error.message).to.eql('Input is invalid'); + } + }); + }); }); diff --git a/generator/test/transformers/googleCloud/classBasedTransformer.test.ts b/generator/test/transformers/googleCloud/classBasedTransformer.test.ts index 9724e629..d5b04fea 100644 --- a/generator/test/transformers/googleCloud/classBasedTransformer.test.ts +++ b/generator/test/transformers/googleCloud/classBasedTransformer.test.ts @@ -1,89 +1,95 @@ -import { expect } from "chai"; -import { createSourceFile, isSourceFile,ScriptTarget } from "typescript"; +import { expect } from 'chai'; +import { createSourceFile, isSourceFile, ScriptTarget } from 'typescript'; -import { classBasedTransform } from "../../../transformers/googleCloud/classBasedTransformer"; -import { readJsonData, readSourceFile } from "../lib/helper"; +import { classBasedTransform } from '../../../transformers/googleCloud/classBasedTransformer'; +import { readJsonData, readSourceFile } from '../lib/helper'; interface TestData { - AST: any; - data: any; + AST: any; + data: any; } -describe("Google Cloud transformer classBasedTransform", () => { - context("Valid source code and valid data", () => { - const testData: TestData = { AST: null, data: null }; - before(async () => { - testData.AST = await readSourceFile( - "classBasedTransformer/validDataset", - "googleCloud" - ); - testData.data = await readJsonData( - "classBasedTransformer/validDataset", - "googleCloud" - ); - }); +describe('Google Cloud transformer classBasedTransform', () => { + context('Valid source code and valid data', () => { + const testData: TestData = { AST: null, data: null }; + before(async () => { + testData.AST = await readSourceFile( + 'classBasedTransformer/validDataset', + 'googleCloud' + ); + testData.data = await readJsonData( + 'classBasedTransformer/validDataset', + 'googleCloud' + ); + }); - it("Should return a String", async () => { - const result = await classBasedTransform(testData.AST, testData.data); - expect(result).to.be.string; - }); + it('Should return a String', async () => { + const result = await classBasedTransform( + testData.AST, + testData.data + ); + expect(result).to.be.string; + }); - it("Should return a Javascript code in String format", async () => { - const result = await classBasedTransform(testData.AST, testData.data); - try { - const sourceCode = createSourceFile( - "someClass.js", - result, - ScriptTarget.Latest - ); - expect(isSourceFile(sourceCode)).to.be.true; - } catch (error) { - console.log(error); - } - }); - }); + it('Should return a Javascript code in String format', async () => { + const result = await classBasedTransform( + testData.AST, + testData.data + ); + try { + const sourceCode = createSourceFile( + 'someClass.js', + result, + ScriptTarget.Latest + ); + expect(isSourceFile(sourceCode)).to.be.true; + } catch (error) { + console.log(error); + } + }); + }); - context("Invalid source code and valid data", () => { - const testData: TestData = { AST: null, data: null }; - before(async () => { - testData.AST = await readSourceFile( - "classBasedTransformer/invalidDataset_1", - "googleCloud" - ); - testData.data = await readJsonData( - "classBasedTransformer/invalidDataset_1", - "googleCloud" - ); - }); + context('Invalid source code and valid data', () => { + const testData: TestData = { AST: null, data: null }; + before(async () => { + testData.AST = await readSourceFile( + 'classBasedTransformer/invalidDataset_1', + 'googleCloud' + ); + testData.data = await readJsonData( + 'classBasedTransformer/invalidDataset_1', + 'googleCloud' + ); + }); - it("Should return a validation Error", async () => { - try { - await classBasedTransform(testData.AST, testData.data); - } catch (error) { - expect(error.message).to.eql("Code is invalid"); - } - }); - }); + it('Should return a validation Error', async () => { + try { + await classBasedTransform(testData.AST, testData.data); + } catch (error) { + expect(error.message).to.eql('Code is invalid'); + } + }); + }); - context("Valid source code and invalid data", async () => { - const testData: TestData = { AST: null, data: null }; - before(async () => { - testData.AST = await readSourceFile( - "classBasedTransformer/invalidDataset_2", - "googleCloud" - ); - testData.data = await readJsonData( - "classBasedTransformer/invalidDataset_2", - "googleCloud" - ); - }); + context('Valid source code and invalid data', async () => { + const testData: TestData = { AST: null, data: null }; + before(async () => { + testData.AST = await readSourceFile( + 'classBasedTransformer/invalidDataset_2', + 'googleCloud' + ); + testData.data = await readJsonData( + 'classBasedTransformer/invalidDataset_2', + 'googleCloud' + ); + }); - it("Should return a validation Error", async () => { - try { - await classBasedTransform(testData.AST, testData.data); - } catch (error) { - expect(error.message).to.eql("Input is invalid"); - } - }); - }); + it('Should return a validation Error', async () => { + try { + await classBasedTransform(testData.AST, testData.data); + } catch (error) { + expect(error.message).to.eql('Input is invalid'); + } + }); + }); }); diff --git a/generator/test/transformers/googleCloud/clientBasedTransformer.test.ts b/generator/test/transformers/googleCloud/clientBasedTransformer.test.ts index c54d3ac5..fb3a0e5f 100644 --- a/generator/test/transformers/googleCloud/clientBasedTransformer.test.ts +++ b/generator/test/transformers/googleCloud/clientBasedTransformer.test.ts @@ -1,89 +1,95 @@ -import { expect } from "chai"; -import { createSourceFile, isSourceFile,ScriptTarget } from "typescript"; +import { expect } from 'chai'; +import { createSourceFile, isSourceFile, ScriptTarget } from 'typescript'; -import { clientBasedTransform } from "../../../transformers/googleCloud/clientBasedTransformer"; -import { readJsonData, readSourceFile } from "../lib/helper"; +import { clientBasedTransform } from '../../../transformers/googleCloud/clientBasedTransformer'; +import { readJsonData, readSourceFile } from '../lib/helper'; interface TestData { - AST: any; - data: any; + AST: any; + data: any; } -describe("Google Cloud transformer clientBasedTransform", () => { - context("Valid source code and valid data", () => { - const testData: TestData = { AST: null, data: null }; - before(async () => { - testData.AST = await readSourceFile( - "clientBasedTransformer/validDataset", - "googleCloud" - ); - testData.data = await readJsonData( - "clientBasedTransformer/validDataset", - "googleCloud" - ); - }); +describe('Google Cloud transformer clientBasedTransform', () => { + context('Valid source code and valid data', () => { + const testData: TestData = { AST: null, data: null }; + before(async () => { + testData.AST = await readSourceFile( + 'clientBasedTransformer/validDataset', + 'googleCloud' + ); + testData.data = await readJsonData( + 'clientBasedTransformer/validDataset', + 'googleCloud' + ); + }); - it("Should return a String", async () => { - const result = await clientBasedTransform(testData.AST, testData.data); - expect(result).to.be.string; - }); + it('Should return a String', async () => { + const result = await clientBasedTransform( + testData.AST, + testData.data + ); + expect(result).to.be.string; + }); - it("Should return a Javascript code in String format", async () => { - const result = await clientBasedTransform(testData.AST, testData.data); - try { - const sourceCode = createSourceFile( - "someClass.js", - result, - ScriptTarget.Latest - ); - expect(isSourceFile(sourceCode)).to.be.true; - } catch (error) { - console.log(error); - } - }); - }); + it('Should return a Javascript code in String format', async () => { + const result = await clientBasedTransform( + testData.AST, + testData.data + ); + try { + const sourceCode = createSourceFile( + 'someClass.js', + result, + ScriptTarget.Latest + ); + expect(isSourceFile(sourceCode)).to.be.true; + } catch (error) { + console.log(error); + } + }); + }); - context("Invalid source code and valid data", () => { - const testData: TestData = { AST: null, data: null }; - before(async () => { - testData.AST = await readSourceFile( - "clientBasedTransformer/invalidDataset_1", - "googleCloud" - ); - testData.data = await readJsonData( - "clientBasedTransformer/invalidDataset_1", - "googleCloud" - ); - }); + context('Invalid source code and valid data', () => { + const testData: TestData = { AST: null, data: null }; + before(async () => { + testData.AST = await readSourceFile( + 'clientBasedTransformer/invalidDataset_1', + 'googleCloud' + ); + testData.data = await readJsonData( + 'clientBasedTransformer/invalidDataset_1', + 'googleCloud' + ); + }); - it("Should return a validation Error", async () => { - try { - await clientBasedTransform(testData.AST, testData.data); - } catch (error) { - expect(error.message).to.eql("Code is invalid"); - } - }); - }); + it('Should return a validation Error', async () => { + try { + await clientBasedTransform(testData.AST, testData.data); + } catch (error) { + expect(error.message).to.eql('Code is invalid'); + } + }); + }); - context("Valid source code and invalid data", () => { - const testData: TestData = { AST: null, data: null }; - before(async () => { - testData.AST = await readSourceFile( - "clientBasedTransformer/invalidDataset_2", - "googleCloud" - ); - testData.data = await readJsonData( - "clientBasedTransformer/invalidDataset_2", - "googleCloud" - ); - }); + context('Valid source code and invalid data', () => { + const testData: TestData = { AST: null, data: null }; + before(async () => { + testData.AST = await readSourceFile( + 'clientBasedTransformer/invalidDataset_2', + 'googleCloud' + ); + testData.data = await readJsonData( + 'clientBasedTransformer/invalidDataset_2', + 'googleCloud' + ); + }); - it("Should return a validation Error", async () => { - try { - await clientBasedTransform(testData.AST, testData.data); - } catch (error) { - expect(error.message).to.eql("Input is invalid"); - } - }); - }); + it('Should return a validation Error', async () => { + try { + await clientBasedTransform(testData.AST, testData.data); + } catch (error) { + expect(error.message).to.eql('Input is invalid'); + } + }); + }); }); diff --git a/generator/test/transformers/googleCloud/dummyData/classBasedTransformer/invalidDataset_1/data.json b/generator/test/transformers/googleCloud/dummyData/classBasedTransformer/invalidDataset_1/data.json index 867b34a9..efe53f9e 100644 --- a/generator/test/transformers/googleCloud/dummyData/classBasedTransformer/invalidDataset_1/data.json +++ b/generator/test/transformers/googleCloud/dummyData/classBasedTransformer/invalidDataset_1/data.json @@ -1,3997 +1,3997 @@ { - "mainClass": "Storage", - "functions": [ - { - "functionName": "makePublic", - "SDKFunctionName": "makePublic", - "params": [], - "pkgName": "storage", - "fileName": "file.d.ts", - "client": "File", - "returnType": "TypeReference", - "returnTypeName": "Promise", - "classConstructorData": { - "parameters": [ - { - "name": "bucket", - "optional": false, - "type": "TypeReference", - "typeRefName": "Bucket" - }, - { - "name": "name", - "optional": false, - "type": "StringKeyword", - "typeRefName": null - }, - { - "name": "options", - "optional": true, - "type": "TypeReference", - "typeRefName": "FileOptions" - } - ] - } - } - ], - "classData": [ - { - "name": "AclRoleAccessorMethods", - "methods": [ - { - "pkgName": "storage", - "version": null, - "fileName": "acl.d.ts", - "functionName": null, - "SDKFunctionName": "_assignAccessMethods", - "params": [ - { - "name": "role", - "optional": false, - "type": "StringKeyword" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "AclRoleAccessorMethods" - } - ], - "properties": [ - { - "name": "owners", - "type": "TypeLiteral", - "typeRefName": null - }, - { - "name": "readers", - "type": "TypeLiteral", - "typeRefName": null - }, - { - "name": "writers", - "type": "TypeLiteral", - "typeRefName": null - } - ], - "constructor": { - "parameters": [] - } - }, - { - "name": "Acl", - "methods": [ - { - "pkgName": "storage", - "version": null, - "fileName": "acl.d.ts", - "functionName": null, - "SDKFunctionName": "add", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Acl" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "acl.d.ts", - "functionName": null, - "SDKFunctionName": "add", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Acl" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "acl.d.ts", - "functionName": null, - "SDKFunctionName": "delete", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Acl" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "acl.d.ts", - "functionName": null, - "SDKFunctionName": "delete", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Acl" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "acl.d.ts", - "functionName": null, - "SDKFunctionName": "get", - "params": [ - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Acl" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "acl.d.ts", - "functionName": null, - "SDKFunctionName": "get", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Acl" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "acl.d.ts", - "functionName": null, - "SDKFunctionName": "get", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Acl" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "acl.d.ts", - "functionName": null, - "SDKFunctionName": "update", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Acl" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "acl.d.ts", - "functionName": null, - "SDKFunctionName": "update", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Acl" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "acl.d.ts", - "functionName": null, - "SDKFunctionName": "makeAclObject_", - "params": [ - { - "name": "accessControlObject", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "AccessControlObject", - "client": "Acl" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "acl.d.ts", - "functionName": null, - "SDKFunctionName": "request", - "params": [ - { - "name": "reqOpts", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Acl" - } - ], - "properties": [ - { - "name": "default", - "type": "TypeReference", - "typeRefName": "Acl" - }, - { - "name": "pathPrefix", - "type": "StringKeyword", - "typeRefName": null - }, - { - "name": "request_", - "type": "FunctionType", - "typeRefName": null - } - ], - "constructor": { - "parameters": [ - { - "name": "options", - "optional": false, - "type": "TypeReference", - "typeRefName": "AclOptions" - } - ] - } - }, - { - "name": "Bucket", - "methods": [ - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "addLifecycleRule", - "params": [ - { - "name": "rule", - "optional": false, - "type": "TypeReference" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "addLifecycleRule", - "params": [ - { - "name": "rule", - "optional": false, - "type": "TypeReference" - }, - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "addLifecycleRule", - "params": [ - { - "name": "rule", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "combine", - "params": [ - { - "name": "sources", - "optional": false, - "type": "UnionType" - }, - { - "name": "destination", - "optional": false, - "type": "UnionType" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "combine", - "params": [ - { - "name": "sources", - "optional": false, - "type": "UnionType" - }, - { - "name": "destination", - "optional": false, - "type": "UnionType" - }, - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "combine", - "params": [ - { - "name": "sources", - "optional": false, - "type": "UnionType" - }, - { - "name": "destination", - "optional": false, - "type": "UnionType" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "createChannel", - "params": [ - { - "name": "id", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "config", - "optional": false, - "type": "TypeReference" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "createChannel", - "params": [ - { - "name": "id", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "config", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "createChannel", - "params": [ - { - "name": "id", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "config", - "optional": false, - "type": "TypeReference" - }, - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "createNotification", - "params": [ - { - "name": "topic", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "createNotification", - "params": [ - { - "name": "topic", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "createNotification", - "params": [ - { - "name": "topic", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "deleteFiles", - "params": [ - { - "name": "query", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "deleteFiles", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "deleteFiles", - "params": [ - { - "name": "query", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "deleteLabels", - "params": [ - { - "name": "labels", - "optional": true, - "type": "UnionType" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "deleteLabels", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "deleteLabels", - "params": [ - { - "name": "labels", - "optional": false, - "type": "UnionType" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "disableRequesterPays", - "params": [], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "disableRequesterPays", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "enableLogging", - "params": [ - { - "name": "config", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "enableLogging", - "params": [ - { - "name": "config", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "enableRequesterPays", - "params": [], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "enableRequesterPays", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "file", - "params": [ - { - "name": "name", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "File", - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "getFiles", - "params": [ - { - "name": "query", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "getFiles", - "params": [ - { - "name": "query", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "getFiles", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "getLabels", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "getLabels", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "getLabels", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "getNotifications", - "params": [ - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "getNotifications", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "getNotifications", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "getSignedUrl", - "params": [ - { - "name": "cfg", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "getSignedUrl", - "params": [ - { - "name": "cfg", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "lock", - "params": [ - { - "name": "metageneration", - "optional": false, - "type": "UnionType" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "lock", - "params": [ - { - "name": "metageneration", - "optional": false, - "type": "UnionType" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "makePrivate", - "params": [ - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "makePrivate", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "makePrivate", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "makePublic", - "params": [ - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "makePublic", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "makePublic", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "notification", - "params": [ - { - "name": "id", - "optional": false, - "type": "StringKeyword" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Notification", - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "removeRetentionPeriod", - "params": [], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "removeRetentionPeriod", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "request", - "params": [ - { - "name": "reqOpts", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "request", - "params": [ - { - "name": "reqOpts", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "setLabels", - "params": [ - { - "name": "labels", - "optional": false, - "type": "TypeReference" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "setLabels", - "params": [ - { - "name": "labels", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "setLabels", - "params": [ - { - "name": "labels", - "optional": false, - "type": "TypeReference" - }, - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "setRetentionPeriod", - "params": [ - { - "name": "duration", - "optional": false, - "type": "NumberKeyword" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "setRetentionPeriod", - "params": [ - { - "name": "duration", - "optional": false, - "type": "NumberKeyword" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "setCorsConfiguration", - "params": [ - { - "name": "corsConfiguration", - "optional": false, - "type": "ArrayType" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "setCorsConfiguration", - "params": [ - { - "name": "corsConfiguration", - "optional": false, - "type": "ArrayType" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "setStorageClass", - "params": [ - { - "name": "storageClass", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "setStorageClass", - "params": [ - { - "name": "storageClass", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "setStorageClass", - "params": [ - { - "name": "storageClass", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "setUserProject", - "params": [ - { - "name": "userProject", - "optional": false, - "type": "StringKeyword" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "upload", - "params": [ - { - "name": "pathString", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "upload", - "params": [ - { - "name": "pathString", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "upload", - "params": [ - { - "name": "pathString", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "makeAllFilesPublicPrivate_", - "params": [ - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "makeAllFilesPublicPrivate_", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "makeAllFilesPublicPrivate_", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "getId", - "params": [], - "returnType": "StringKeyword", - "returnTypeName": null, - "client": "Bucket" - } - ], - "properties": [ - { - "name": "name", - "type": "StringKeyword", - "typeRefName": null - }, - { - "name": "storage", - "type": "TypeReference", - "typeRefName": "Storage" - }, - { - "name": "userProject", - "type": "StringKeyword", - "typeRefName": null - }, - { - "name": "acl", - "type": "TypeReference", - "typeRefName": "Acl" - }, - { - "name": "iam", - "type": "TypeReference", - "typeRefName": "Iam" - }, - { - "name": "getFilesStream", - "type": "TypeReference", - "typeRefName": "Function" - }, - { - "name": "signer", - "type": "TypeReference", - "typeRefName": "URLSigner" - } - ], - "constructor": { - "parameters": [ - { - "name": "storage", - "optional": false, - "type": "TypeReference", - "typeRefName": "Storage" - }, - { - "name": "name", - "optional": false, - "type": "StringKeyword", - "typeRefName": null - }, - { - "name": "options", - "optional": true, - "type": "TypeReference", - "typeRefName": "BucketOptions" - } - ] - } - }, - { - "name": "Channel", - "methods": [ - { - "pkgName": "storage", - "version": null, - "fileName": "channel.d.ts", - "functionName": null, - "SDKFunctionName": "stop", - "params": [], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Channel" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "channel.d.ts", - "functionName": null, - "SDKFunctionName": "stop", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Channel" - } - ], - "properties": [], - "constructor": { - "parameters": [ - { - "name": "storage", - "optional": false, - "type": "TypeReference", - "typeRefName": "Storage" - }, - { - "name": "id", - "optional": false, - "type": "StringKeyword", - "typeRefName": null - }, - { - "name": "resourceId", - "optional": false, - "type": "StringKeyword", - "typeRefName": null - } - ] - } - }, - { - "name": "RequestError", - "methods": [], - "properties": [ - { - "name": "code", - "type": "StringKeyword", - "typeRefName": null - }, - { - "name": "errors", - "type": "ArrayType", - "typeRefName": null - } - ], - "constructor": null - }, - { - "name": "File", - "methods": [ - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "copy", - "params": [ - { - "name": "destination", - "optional": false, - "type": "UnionType" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "copy", - "params": [ - { - "name": "destination", - "optional": false, - "type": "UnionType" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "copy", - "params": [ - { - "name": "destination", - "optional": false, - "type": "UnionType" - }, - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "createReadStream", - "params": [ - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Readable", - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "createResumableUpload", - "params": [ - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "createResumableUpload", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "createResumableUpload", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "createWriteStream", - "params": [ - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Writable", - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "deleteResumableCache", - "params": [], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "download", - "params": [ - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "download", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "download", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "setEncryptionKey", - "params": [ - { - "name": "encryptionKey", - "optional": false, - "type": "UnionType" - } - ], - "returnType": "ThisType", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "getExpirationDate", - "params": [], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "getExpirationDate", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "getSignedPolicy", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "getSignedPolicy", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "getSignedPolicy", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "generateSignedPostPolicyV2", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "generateSignedPostPolicyV2", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "generateSignedPostPolicyV2", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "generateSignedPostPolicyV4", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "generateSignedPostPolicyV4", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "generateSignedPostPolicyV4", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "getSignedUrl", - "params": [ - { - "name": "cfg", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "getSignedUrl", - "params": [ - { - "name": "cfg", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "isPublic", - "params": [], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "isPublic", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "makePrivate", - "params": [ - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "makePrivate", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "makePrivate", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": "makePublic", - "SDKFunctionName": "makePublic", - "params": [], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "File", - "classConstructorData": { - "parameters": [ - { - "name": "bucket", - "optional": false, - "type": "TypeReference", - "typeRefName": "Bucket" - }, - { - "name": "name", - "optional": false, - "type": "StringKeyword", - "typeRefName": null - }, - { - "name": "options", - "optional": true, - "type": "TypeReference", - "typeRefName": "FileOptions" - } - ] - } - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": "makePublic", - "SDKFunctionName": "makePublic", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File", - "classConstructorData": { - "parameters": [ - { - "name": "bucket", - "optional": false, - "type": "TypeReference", - "typeRefName": "Bucket" - }, - { - "name": "name", - "optional": false, - "type": "StringKeyword", - "typeRefName": null - }, - { - "name": "options", - "optional": true, - "type": "TypeReference", - "typeRefName": "FileOptions" - } - ] - } - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "move", - "params": [ - { - "name": "destination", - "optional": false, - "type": "UnionType" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "move", - "params": [ - { - "name": "destination", - "optional": false, - "type": "UnionType" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "move", - "params": [ - { - "name": "destination", - "optional": false, - "type": "UnionType" - }, - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "request", - "params": [ - { - "name": "reqOpts", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "request", - "params": [ - { - "name": "reqOpts", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "rotateEncryptionKey", - "params": [ - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "rotateEncryptionKey", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "rotateEncryptionKey", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "save", - "params": [ - { - "name": "data", - "optional": false, - "type": "AnyKeyword" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "save", - "params": [ - { - "name": "data", - "optional": false, - "type": "AnyKeyword" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "save", - "params": [ - { - "name": "data", - "optional": false, - "type": "AnyKeyword" - }, - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "setStorageClass", - "params": [ - { - "name": "storageClass", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "setStorageClass", - "params": [ - { - "name": "storageClass", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "setStorageClass", - "params": [ - { - "name": "storageClass", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "callback", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "setUserProject", - "params": [ - { - "name": "userProject", - "optional": false, - "type": "StringKeyword" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "startResumableUpload_", - "params": [ - { - "name": "dup", - "optional": false, - "type": "TypeReference" - }, - { - "name": "options", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "startSimpleUpload_", - "params": [ - { - "name": "dup", - "optional": false, - "type": "TypeReference" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - } - ], - "properties": [ - { - "name": "acl", - "type": "TypeReference", - "typeRefName": "Acl" - }, - { - "name": "bucket", - "type": "TypeReference", - "typeRefName": "Bucket" - }, - { - "name": "storage", - "type": "TypeReference", - "typeRefName": "Storage" - }, - { - "name": "kmsKeyName", - "type": "StringKeyword", - "typeRefName": null - }, - { - "name": "userProject", - "type": "StringKeyword", - "typeRefName": null - }, - { - "name": "signer", - "type": "TypeReference", - "typeRefName": "URLSigner" - }, - { - "name": "name", - "type": "StringKeyword", - "typeRefName": null - }, - { - "name": "generation", - "type": "NumberKeyword", - "typeRefName": null - }, - { - "name": "parent", - "type": "TypeReference", - "typeRefName": "Bucket" - } - ], - "constructor": { - "parameters": [ - { - "name": "bucket", - "optional": false, - "type": "TypeReference", - "typeRefName": "Bucket" - }, - { - "name": "name", - "optional": false, - "type": "StringKeyword", - "typeRefName": null - }, - { - "name": "options", - "optional": true, - "type": "TypeReference", - "typeRefName": "FileOptions" - } - ] - } - }, - { - "name": "HmacKey", - "methods": [], - "properties": [ - { - "name": "metadata", - "type": "UnionType", - "typeRefName": null - } - ], - "constructor": { - "parameters": [ - { - "name": "storage", - "optional": false, - "type": "TypeReference", - "typeRefName": "Storage" - }, - { - "name": "accessId", - "optional": false, - "type": "StringKeyword", - "typeRefName": null - }, - { - "name": "options", - "optional": true, - "type": "TypeReference", - "typeRefName": "HmacKeyOptions" - } - ] - } - }, - { - "name": "Iam", - "methods": [ - { - "pkgName": "storage", - "version": null, - "fileName": "iam.d.ts", - "functionName": null, - "SDKFunctionName": "getPolicy", - "params": [ - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Iam" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "iam.d.ts", - "functionName": null, - "SDKFunctionName": "getPolicy", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Iam" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "iam.d.ts", - "functionName": null, - "SDKFunctionName": "getPolicy", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Iam" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "iam.d.ts", - "functionName": null, - "SDKFunctionName": "setPolicy", - "params": [ - { - "name": "policy", - "optional": false, - "type": "TypeReference" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Iam" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "iam.d.ts", - "functionName": null, - "SDKFunctionName": "setPolicy", - "params": [ - { - "name": "policy", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Iam" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "iam.d.ts", - "functionName": null, - "SDKFunctionName": "setPolicy", - "params": [ - { - "name": "policy", - "optional": false, - "type": "TypeReference" - }, - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Iam" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "iam.d.ts", - "functionName": null, - "SDKFunctionName": "testPermissions", - "params": [ - { - "name": "permissions", - "optional": false, - "type": "UnionType" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Iam" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "iam.d.ts", - "functionName": null, - "SDKFunctionName": "testPermissions", - "params": [ - { - "name": "permissions", - "optional": false, - "type": "UnionType" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Iam" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "iam.d.ts", - "functionName": null, - "SDKFunctionName": "testPermissions", - "params": [ - { - "name": "permissions", - "optional": false, - "type": "UnionType" - }, - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Iam" - } - ], - "properties": [], - "constructor": { - "parameters": [ - { - "name": "bucket", - "optional": false, - "type": "TypeReference", - "typeRefName": "Bucket" - } - ] - } - }, - { - "name": "Notification", - "methods": [ - { - "pkgName": "storage", - "version": null, - "fileName": "notification.d.ts", - "functionName": null, - "SDKFunctionName": "delete", - "params": [ - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Notification" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "notification.d.ts", - "functionName": null, - "SDKFunctionName": "delete", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Notification" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "notification.d.ts", - "functionName": null, - "SDKFunctionName": "delete", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Notification" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "notification.d.ts", - "functionName": null, - "SDKFunctionName": "get", - "params": [ - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Notification" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "notification.d.ts", - "functionName": null, - "SDKFunctionName": "get", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Notification" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "notification.d.ts", - "functionName": null, - "SDKFunctionName": "get", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Notification" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "notification.d.ts", - "functionName": null, - "SDKFunctionName": "getMetadata", - "params": [ - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Notification" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "notification.d.ts", - "functionName": null, - "SDKFunctionName": "getMetadata", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Notification" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "notification.d.ts", - "functionName": null, - "SDKFunctionName": "getMetadata", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Notification" - } - ], - "properties": [], - "constructor": { - "parameters": [ - { - "name": "bucket", - "optional": false, - "type": "TypeReference", - "typeRefName": "Bucket" - }, - { - "name": "id", - "optional": false, - "type": "StringKeyword", - "typeRefName": null - } - ] - } - }, - { - "name": "URLSigner", - "methods": [ - { - "pkgName": "storage", - "version": null, - "fileName": "signer.d.ts", - "functionName": null, - "SDKFunctionName": "getSignedUrl", - "params": [ - { - "name": "cfg", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "URLSigner" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "signer.d.ts", - "functionName": null, - "SDKFunctionName": "getCanonicalHeaders", - "params": [ - { - "name": "headers", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "StringKeyword", - "returnTypeName": null, - "client": "URLSigner" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "signer.d.ts", - "functionName": null, - "SDKFunctionName": "getCanonicalRequest", - "params": [ - { - "name": "method", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "path", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "query", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "headers", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "signedHeaders", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "contentSha256", - "optional": true, - "type": "StringKeyword" - } - ], - "returnType": "StringKeyword", - "returnTypeName": null, - "client": "URLSigner" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "signer.d.ts", - "functionName": null, - "SDKFunctionName": "getCanonicalQueryParams", - "params": [ - { - "name": "query", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "StringKeyword", - "returnTypeName": null, - "client": "URLSigner" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "signer.d.ts", - "functionName": null, - "SDKFunctionName": "getResourcePath", - "params": [ - { - "name": "cname", - "optional": false, - "type": "BooleanKeyword" - }, - { - "name": "bucket", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "file", - "optional": true, - "type": "StringKeyword" - } - ], - "returnType": "StringKeyword", - "returnTypeName": null, - "client": "URLSigner" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "signer.d.ts", - "functionName": null, - "SDKFunctionName": "parseExpires", - "params": [ - { - "name": "expires", - "optional": false, - "type": "UnionType" - }, - { - "name": "current", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "NumberKeyword", - "returnTypeName": null, - "client": "URLSigner" - } - ], - "properties": [], - "constructor": { - "parameters": [ - { - "name": "authClient", - "optional": false, - "type": "TypeReference", - "typeRefName": "AuthClient" - }, - { - "name": "bucket", - "optional": false, - "type": "TypeReference", - "typeRefName": "BucketI" - }, - { - "name": "file", - "optional": true, - "type": "TypeReference", - "typeRefName": "FileI" - } - ] - } - }, - { - "name": "SigningError", - "methods": [], - "properties": [ - { - "name": "name", - "type": "StringKeyword", - "typeRefName": null - } - ], - "constructor": null - }, - { - "name": "Storage", - "methods": [ - { - "pkgName": "storage", - "version": null, - "fileName": "storage.d.ts", - "functionName": null, - "SDKFunctionName": "bucket", - "params": [ - { - "name": "name", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Bucket", - "client": "Storage" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "storage.d.ts", - "functionName": null, - "SDKFunctionName": "channel", - "params": [ - { - "name": "id", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "resourceId", - "optional": false, - "type": "StringKeyword" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Channel", - "client": "Storage" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "storage.d.ts", - "functionName": null, - "SDKFunctionName": "createBucket", - "params": [ - { - "name": "name", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "metadata", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Storage" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "storage.d.ts", - "functionName": null, - "SDKFunctionName": "createBucket", - "params": [ - { - "name": "name", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Storage" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "storage.d.ts", - "functionName": null, - "SDKFunctionName": "createBucket", - "params": [ - { - "name": "name", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "metadata", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Storage" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "storage.d.ts", - "functionName": null, - "SDKFunctionName": "createBucket", - "params": [ - { - "name": "name", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "metadata", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Storage" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "storage.d.ts", - "functionName": null, - "SDKFunctionName": "createHmacKey", - "params": [ - { - "name": "serviceAccountEmail", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Storage" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "storage.d.ts", - "functionName": null, - "SDKFunctionName": "createHmacKey", - "params": [ - { - "name": "serviceAccountEmail", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Storage" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "storage.d.ts", - "functionName": null, - "SDKFunctionName": "createHmacKey", - "params": [ - { - "name": "serviceAccountEmail", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Storage" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "storage.d.ts", - "functionName": null, - "SDKFunctionName": "getBuckets", - "params": [ - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Storage" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "storage.d.ts", - "functionName": null, - "SDKFunctionName": "getBuckets", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Storage" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "storage.d.ts", - "functionName": null, - "SDKFunctionName": "getBuckets", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Storage" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "storage.d.ts", - "functionName": null, - "SDKFunctionName": "getHmacKeys", - "params": [ - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Storage" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "storage.d.ts", - "functionName": null, - "SDKFunctionName": "getHmacKeys", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Storage" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "storage.d.ts", - "functionName": null, - "SDKFunctionName": "getHmacKeys", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Storage" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "storage.d.ts", - "functionName": null, - "SDKFunctionName": "getServiceAccount", - "params": [ - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Storage" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "storage.d.ts", - "functionName": null, - "SDKFunctionName": "getServiceAccount", - "params": [ - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Storage" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "storage.d.ts", - "functionName": null, - "SDKFunctionName": "getServiceAccount", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Storage" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "storage.d.ts", - "functionName": null, - "SDKFunctionName": "getServiceAccount", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Storage" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "storage.d.ts", - "functionName": null, - "SDKFunctionName": "hmacKey", - "params": [ - { - "name": "accessId", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "HmacKey", - "client": "Storage" - } - ], - "properties": [ - { - "name": "Bucket", - "type": "TypeQuery", - "typeRefName": null - }, - { - "name": "Channel", - "type": "TypeQuery", - "typeRefName": null - }, - { - "name": "File", - "type": "TypeQuery", - "typeRefName": null - }, - { - "name": "HmacKey", - "type": "TypeQuery", - "typeRefName": null - }, - { - "name": "acl", - "type": "TypeLiteral", - "typeRefName": null - }, - { - "name": "acl", - "type": "TypeQuery", - "typeRefName": null - }, - { - "name": "getBucketsStream", - "type": "FunctionType", - "typeRefName": null - }, - { - "name": "getHmacKeysStream", - "type": "FunctionType", - "typeRefName": null - } - ], - "constructor": { - "parameters": [ - { - "name": "options", - "optional": true, - "type": "TypeReference", - "typeRefName": "StorageOptions" - } - ] - } - } - ] + "mainClass": "Storage", + "functions": [ + { + "functionName": "makePublic", + "SDKFunctionName": "makePublic", + "params": [], + "pkgName": "storage", + "fileName": "file.d.ts", + "client": "File", + "returnType": "TypeReference", + "returnTypeName": "Promise", + "classConstructorData": { + "parameters": [ + { + "name": "bucket", + "optional": false, + "type": "TypeReference", + "typeRefName": "Bucket" + }, + { + "name": "name", + "optional": false, + "type": "StringKeyword", + "typeRefName": null + }, + { + "name": "options", + "optional": true, + "type": "TypeReference", + "typeRefName": "FileOptions" + } + ] + } + } + ], + "classData": [ + { + "name": "AclRoleAccessorMethods", + "methods": [ + { + "pkgName": "storage", + "version": null, + "fileName": "acl.d.ts", + "functionName": null, + "SDKFunctionName": "_assignAccessMethods", + "params": [ + { + "name": "role", + "optional": false, + "type": "StringKeyword" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "AclRoleAccessorMethods" + } + ], + "properties": [ + { + "name": "owners", + "type": "TypeLiteral", + "typeRefName": null + }, + { + "name": "readers", + "type": "TypeLiteral", + "typeRefName": null + }, + { + "name": "writers", + "type": "TypeLiteral", + "typeRefName": null + } + ], + "constructor": { + "parameters": [] + } + }, + { + "name": "Acl", + "methods": [ + { + "pkgName": "storage", + "version": null, + "fileName": "acl.d.ts", + "functionName": null, + "SDKFunctionName": "add", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Acl" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "acl.d.ts", + "functionName": null, + "SDKFunctionName": "add", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Acl" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "acl.d.ts", + "functionName": null, + "SDKFunctionName": "delete", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Acl" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "acl.d.ts", + "functionName": null, + "SDKFunctionName": "delete", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Acl" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "acl.d.ts", + "functionName": null, + "SDKFunctionName": "get", + "params": [ + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Acl" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "acl.d.ts", + "functionName": null, + "SDKFunctionName": "get", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Acl" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "acl.d.ts", + "functionName": null, + "SDKFunctionName": "get", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Acl" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "acl.d.ts", + "functionName": null, + "SDKFunctionName": "update", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Acl" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "acl.d.ts", + "functionName": null, + "SDKFunctionName": "update", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Acl" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "acl.d.ts", + "functionName": null, + "SDKFunctionName": "makeAclObject_", + "params": [ + { + "name": "accessControlObject", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "AccessControlObject", + "client": "Acl" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "acl.d.ts", + "functionName": null, + "SDKFunctionName": "request", + "params": [ + { + "name": "reqOpts", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Acl" + } + ], + "properties": [ + { + "name": "default", + "type": "TypeReference", + "typeRefName": "Acl" + }, + { + "name": "pathPrefix", + "type": "StringKeyword", + "typeRefName": null + }, + { + "name": "request_", + "type": "FunctionType", + "typeRefName": null + } + ], + "constructor": { + "parameters": [ + { + "name": "options", + "optional": false, + "type": "TypeReference", + "typeRefName": "AclOptions" + } + ] + } + }, + { + "name": "Bucket", + "methods": [ + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "addLifecycleRule", + "params": [ + { + "name": "rule", + "optional": false, + "type": "TypeReference" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "addLifecycleRule", + "params": [ + { + "name": "rule", + "optional": false, + "type": "TypeReference" + }, + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "addLifecycleRule", + "params": [ + { + "name": "rule", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "combine", + "params": [ + { + "name": "sources", + "optional": false, + "type": "UnionType" + }, + { + "name": "destination", + "optional": false, + "type": "UnionType" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "combine", + "params": [ + { + "name": "sources", + "optional": false, + "type": "UnionType" + }, + { + "name": "destination", + "optional": false, + "type": "UnionType" + }, + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "combine", + "params": [ + { + "name": "sources", + "optional": false, + "type": "UnionType" + }, + { + "name": "destination", + "optional": false, + "type": "UnionType" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "createChannel", + "params": [ + { + "name": "id", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "config", + "optional": false, + "type": "TypeReference" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "createChannel", + "params": [ + { + "name": "id", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "config", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "createChannel", + "params": [ + { + "name": "id", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "config", + "optional": false, + "type": "TypeReference" + }, + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "createNotification", + "params": [ + { + "name": "topic", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "createNotification", + "params": [ + { + "name": "topic", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "createNotification", + "params": [ + { + "name": "topic", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "deleteFiles", + "params": [ + { + "name": "query", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "deleteFiles", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "deleteFiles", + "params": [ + { + "name": "query", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "deleteLabels", + "params": [ + { + "name": "labels", + "optional": true, + "type": "UnionType" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "deleteLabels", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "deleteLabels", + "params": [ + { + "name": "labels", + "optional": false, + "type": "UnionType" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "disableRequesterPays", + "params": [], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "disableRequesterPays", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "enableLogging", + "params": [ + { + "name": "config", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "enableLogging", + "params": [ + { + "name": "config", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "enableRequesterPays", + "params": [], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "enableRequesterPays", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "file", + "params": [ + { + "name": "name", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "File", + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "getFiles", + "params": [ + { + "name": "query", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "getFiles", + "params": [ + { + "name": "query", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "getFiles", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "getLabels", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "getLabels", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "getLabels", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "getNotifications", + "params": [ + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "getNotifications", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "getNotifications", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "getSignedUrl", + "params": [ + { + "name": "cfg", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "getSignedUrl", + "params": [ + { + "name": "cfg", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "lock", + "params": [ + { + "name": "metageneration", + "optional": false, + "type": "UnionType" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "lock", + "params": [ + { + "name": "metageneration", + "optional": false, + "type": "UnionType" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "makePrivate", + "params": [ + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "makePrivate", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "makePrivate", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "makePublic", + "params": [ + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "makePublic", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "makePublic", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "notification", + "params": [ + { + "name": "id", + "optional": false, + "type": "StringKeyword" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Notification", + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "removeRetentionPeriod", + "params": [], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "removeRetentionPeriod", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "request", + "params": [ + { + "name": "reqOpts", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "request", + "params": [ + { + "name": "reqOpts", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "setLabels", + "params": [ + { + "name": "labels", + "optional": false, + "type": "TypeReference" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "setLabels", + "params": [ + { + "name": "labels", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "setLabels", + "params": [ + { + "name": "labels", + "optional": false, + "type": "TypeReference" + }, + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "setRetentionPeriod", + "params": [ + { + "name": "duration", + "optional": false, + "type": "NumberKeyword" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "setRetentionPeriod", + "params": [ + { + "name": "duration", + "optional": false, + "type": "NumberKeyword" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "setCorsConfiguration", + "params": [ + { + "name": "corsConfiguration", + "optional": false, + "type": "ArrayType" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "setCorsConfiguration", + "params": [ + { + "name": "corsConfiguration", + "optional": false, + "type": "ArrayType" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "setStorageClass", + "params": [ + { + "name": "storageClass", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "setStorageClass", + "params": [ + { + "name": "storageClass", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "setStorageClass", + "params": [ + { + "name": "storageClass", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "setUserProject", + "params": [ + { + "name": "userProject", + "optional": false, + "type": "StringKeyword" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "upload", + "params": [ + { + "name": "pathString", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "upload", + "params": [ + { + "name": "pathString", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "upload", + "params": [ + { + "name": "pathString", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "makeAllFilesPublicPrivate_", + "params": [ + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "makeAllFilesPublicPrivate_", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "makeAllFilesPublicPrivate_", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "getId", + "params": [], + "returnType": "StringKeyword", + "returnTypeName": null, + "client": "Bucket" + } + ], + "properties": [ + { + "name": "name", + "type": "StringKeyword", + "typeRefName": null + }, + { + "name": "storage", + "type": "TypeReference", + "typeRefName": "Storage" + }, + { + "name": "userProject", + "type": "StringKeyword", + "typeRefName": null + }, + { + "name": "acl", + "type": "TypeReference", + "typeRefName": "Acl" + }, + { + "name": "iam", + "type": "TypeReference", + "typeRefName": "Iam" + }, + { + "name": "getFilesStream", + "type": "TypeReference", + "typeRefName": "Function" + }, + { + "name": "signer", + "type": "TypeReference", + "typeRefName": "URLSigner" + } + ], + "constructor": { + "parameters": [ + { + "name": "storage", + "optional": false, + "type": "TypeReference", + "typeRefName": "Storage" + }, + { + "name": "name", + "optional": false, + "type": "StringKeyword", + "typeRefName": null + }, + { + "name": "options", + "optional": true, + "type": "TypeReference", + "typeRefName": "BucketOptions" + } + ] + } + }, + { + "name": "Channel", + "methods": [ + { + "pkgName": "storage", + "version": null, + "fileName": "channel.d.ts", + "functionName": null, + "SDKFunctionName": "stop", + "params": [], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Channel" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "channel.d.ts", + "functionName": null, + "SDKFunctionName": "stop", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Channel" + } + ], + "properties": [], + "constructor": { + "parameters": [ + { + "name": "storage", + "optional": false, + "type": "TypeReference", + "typeRefName": "Storage" + }, + { + "name": "id", + "optional": false, + "type": "StringKeyword", + "typeRefName": null + }, + { + "name": "resourceId", + "optional": false, + "type": "StringKeyword", + "typeRefName": null + } + ] + } + }, + { + "name": "RequestError", + "methods": [], + "properties": [ + { + "name": "code", + "type": "StringKeyword", + "typeRefName": null + }, + { + "name": "errors", + "type": "ArrayType", + "typeRefName": null + } + ], + "constructor": null + }, + { + "name": "File", + "methods": [ + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "copy", + "params": [ + { + "name": "destination", + "optional": false, + "type": "UnionType" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "copy", + "params": [ + { + "name": "destination", + "optional": false, + "type": "UnionType" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "copy", + "params": [ + { + "name": "destination", + "optional": false, + "type": "UnionType" + }, + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "createReadStream", + "params": [ + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Readable", + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "createResumableUpload", + "params": [ + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "createResumableUpload", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "createResumableUpload", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "createWriteStream", + "params": [ + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Writable", + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "deleteResumableCache", + "params": [], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "download", + "params": [ + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "download", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "download", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "setEncryptionKey", + "params": [ + { + "name": "encryptionKey", + "optional": false, + "type": "UnionType" + } + ], + "returnType": "ThisType", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "getExpirationDate", + "params": [], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "getExpirationDate", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "getSignedPolicy", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "getSignedPolicy", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "getSignedPolicy", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "generateSignedPostPolicyV2", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "generateSignedPostPolicyV2", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "generateSignedPostPolicyV2", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "generateSignedPostPolicyV4", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "generateSignedPostPolicyV4", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "generateSignedPostPolicyV4", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "getSignedUrl", + "params": [ + { + "name": "cfg", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "getSignedUrl", + "params": [ + { + "name": "cfg", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "isPublic", + "params": [], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "isPublic", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "makePrivate", + "params": [ + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "makePrivate", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "makePrivate", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": "makePublic", + "SDKFunctionName": "makePublic", + "params": [], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "File", + "classConstructorData": { + "parameters": [ + { + "name": "bucket", + "optional": false, + "type": "TypeReference", + "typeRefName": "Bucket" + }, + { + "name": "name", + "optional": false, + "type": "StringKeyword", + "typeRefName": null + }, + { + "name": "options", + "optional": true, + "type": "TypeReference", + "typeRefName": "FileOptions" + } + ] + } + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": "makePublic", + "SDKFunctionName": "makePublic", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File", + "classConstructorData": { + "parameters": [ + { + "name": "bucket", + "optional": false, + "type": "TypeReference", + "typeRefName": "Bucket" + }, + { + "name": "name", + "optional": false, + "type": "StringKeyword", + "typeRefName": null + }, + { + "name": "options", + "optional": true, + "type": "TypeReference", + "typeRefName": "FileOptions" + } + ] + } + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "move", + "params": [ + { + "name": "destination", + "optional": false, + "type": "UnionType" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "move", + "params": [ + { + "name": "destination", + "optional": false, + "type": "UnionType" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "move", + "params": [ + { + "name": "destination", + "optional": false, + "type": "UnionType" + }, + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "request", + "params": [ + { + "name": "reqOpts", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "request", + "params": [ + { + "name": "reqOpts", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "rotateEncryptionKey", + "params": [ + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "rotateEncryptionKey", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "rotateEncryptionKey", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "save", + "params": [ + { + "name": "data", + "optional": false, + "type": "AnyKeyword" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "save", + "params": [ + { + "name": "data", + "optional": false, + "type": "AnyKeyword" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "save", + "params": [ + { + "name": "data", + "optional": false, + "type": "AnyKeyword" + }, + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "setStorageClass", + "params": [ + { + "name": "storageClass", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "setStorageClass", + "params": [ + { + "name": "storageClass", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "setStorageClass", + "params": [ + { + "name": "storageClass", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "callback", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "setUserProject", + "params": [ + { + "name": "userProject", + "optional": false, + "type": "StringKeyword" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "startResumableUpload_", + "params": [ + { + "name": "dup", + "optional": false, + "type": "TypeReference" + }, + { + "name": "options", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "startSimpleUpload_", + "params": [ + { + "name": "dup", + "optional": false, + "type": "TypeReference" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + } + ], + "properties": [ + { + "name": "acl", + "type": "TypeReference", + "typeRefName": "Acl" + }, + { + "name": "bucket", + "type": "TypeReference", + "typeRefName": "Bucket" + }, + { + "name": "storage", + "type": "TypeReference", + "typeRefName": "Storage" + }, + { + "name": "kmsKeyName", + "type": "StringKeyword", + "typeRefName": null + }, + { + "name": "userProject", + "type": "StringKeyword", + "typeRefName": null + }, + { + "name": "signer", + "type": "TypeReference", + "typeRefName": "URLSigner" + }, + { + "name": "name", + "type": "StringKeyword", + "typeRefName": null + }, + { + "name": "generation", + "type": "NumberKeyword", + "typeRefName": null + }, + { + "name": "parent", + "type": "TypeReference", + "typeRefName": "Bucket" + } + ], + "constructor": { + "parameters": [ + { + "name": "bucket", + "optional": false, + "type": "TypeReference", + "typeRefName": "Bucket" + }, + { + "name": "name", + "optional": false, + "type": "StringKeyword", + "typeRefName": null + }, + { + "name": "options", + "optional": true, + "type": "TypeReference", + "typeRefName": "FileOptions" + } + ] + } + }, + { + "name": "HmacKey", + "methods": [], + "properties": [ + { + "name": "metadata", + "type": "UnionType", + "typeRefName": null + } + ], + "constructor": { + "parameters": [ + { + "name": "storage", + "optional": false, + "type": "TypeReference", + "typeRefName": "Storage" + }, + { + "name": "accessId", + "optional": false, + "type": "StringKeyword", + "typeRefName": null + }, + { + "name": "options", + "optional": true, + "type": "TypeReference", + "typeRefName": "HmacKeyOptions" + } + ] + } + }, + { + "name": "Iam", + "methods": [ + { + "pkgName": "storage", + "version": null, + "fileName": "iam.d.ts", + "functionName": null, + "SDKFunctionName": "getPolicy", + "params": [ + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Iam" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "iam.d.ts", + "functionName": null, + "SDKFunctionName": "getPolicy", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Iam" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "iam.d.ts", + "functionName": null, + "SDKFunctionName": "getPolicy", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Iam" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "iam.d.ts", + "functionName": null, + "SDKFunctionName": "setPolicy", + "params": [ + { + "name": "policy", + "optional": false, + "type": "TypeReference" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Iam" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "iam.d.ts", + "functionName": null, + "SDKFunctionName": "setPolicy", + "params": [ + { + "name": "policy", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Iam" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "iam.d.ts", + "functionName": null, + "SDKFunctionName": "setPolicy", + "params": [ + { + "name": "policy", + "optional": false, + "type": "TypeReference" + }, + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Iam" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "iam.d.ts", + "functionName": null, + "SDKFunctionName": "testPermissions", + "params": [ + { + "name": "permissions", + "optional": false, + "type": "UnionType" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Iam" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "iam.d.ts", + "functionName": null, + "SDKFunctionName": "testPermissions", + "params": [ + { + "name": "permissions", + "optional": false, + "type": "UnionType" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Iam" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "iam.d.ts", + "functionName": null, + "SDKFunctionName": "testPermissions", + "params": [ + { + "name": "permissions", + "optional": false, + "type": "UnionType" + }, + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Iam" + } + ], + "properties": [], + "constructor": { + "parameters": [ + { + "name": "bucket", + "optional": false, + "type": "TypeReference", + "typeRefName": "Bucket" + } + ] + } + }, + { + "name": "Notification", + "methods": [ + { + "pkgName": "storage", + "version": null, + "fileName": "notification.d.ts", + "functionName": null, + "SDKFunctionName": "delete", + "params": [ + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Notification" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "notification.d.ts", + "functionName": null, + "SDKFunctionName": "delete", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Notification" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "notification.d.ts", + "functionName": null, + "SDKFunctionName": "delete", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Notification" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "notification.d.ts", + "functionName": null, + "SDKFunctionName": "get", + "params": [ + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Notification" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "notification.d.ts", + "functionName": null, + "SDKFunctionName": "get", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Notification" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "notification.d.ts", + "functionName": null, + "SDKFunctionName": "get", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Notification" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "notification.d.ts", + "functionName": null, + "SDKFunctionName": "getMetadata", + "params": [ + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Notification" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "notification.d.ts", + "functionName": null, + "SDKFunctionName": "getMetadata", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Notification" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "notification.d.ts", + "functionName": null, + "SDKFunctionName": "getMetadata", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Notification" + } + ], + "properties": [], + "constructor": { + "parameters": [ + { + "name": "bucket", + "optional": false, + "type": "TypeReference", + "typeRefName": "Bucket" + }, + { + "name": "id", + "optional": false, + "type": "StringKeyword", + "typeRefName": null + } + ] + } + }, + { + "name": "URLSigner", + "methods": [ + { + "pkgName": "storage", + "version": null, + "fileName": "signer.d.ts", + "functionName": null, + "SDKFunctionName": "getSignedUrl", + "params": [ + { + "name": "cfg", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "URLSigner" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "signer.d.ts", + "functionName": null, + "SDKFunctionName": "getCanonicalHeaders", + "params": [ + { + "name": "headers", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "StringKeyword", + "returnTypeName": null, + "client": "URLSigner" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "signer.d.ts", + "functionName": null, + "SDKFunctionName": "getCanonicalRequest", + "params": [ + { + "name": "method", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "path", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "query", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "headers", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "signedHeaders", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "contentSha256", + "optional": true, + "type": "StringKeyword" + } + ], + "returnType": "StringKeyword", + "returnTypeName": null, + "client": "URLSigner" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "signer.d.ts", + "functionName": null, + "SDKFunctionName": "getCanonicalQueryParams", + "params": [ + { + "name": "query", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "StringKeyword", + "returnTypeName": null, + "client": "URLSigner" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "signer.d.ts", + "functionName": null, + "SDKFunctionName": "getResourcePath", + "params": [ + { + "name": "cname", + "optional": false, + "type": "BooleanKeyword" + }, + { + "name": "bucket", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "file", + "optional": true, + "type": "StringKeyword" + } + ], + "returnType": "StringKeyword", + "returnTypeName": null, + "client": "URLSigner" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "signer.d.ts", + "functionName": null, + "SDKFunctionName": "parseExpires", + "params": [ + { + "name": "expires", + "optional": false, + "type": "UnionType" + }, + { + "name": "current", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "NumberKeyword", + "returnTypeName": null, + "client": "URLSigner" + } + ], + "properties": [], + "constructor": { + "parameters": [ + { + "name": "authClient", + "optional": false, + "type": "TypeReference", + "typeRefName": "AuthClient" + }, + { + "name": "bucket", + "optional": false, + "type": "TypeReference", + "typeRefName": "BucketI" + }, + { + "name": "file", + "optional": true, + "type": "TypeReference", + "typeRefName": "FileI" + } + ] + } + }, + { + "name": "SigningError", + "methods": [], + "properties": [ + { + "name": "name", + "type": "StringKeyword", + "typeRefName": null + } + ], + "constructor": null + }, + { + "name": "Storage", + "methods": [ + { + "pkgName": "storage", + "version": null, + "fileName": "storage.d.ts", + "functionName": null, + "SDKFunctionName": "bucket", + "params": [ + { + "name": "name", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Bucket", + "client": "Storage" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "storage.d.ts", + "functionName": null, + "SDKFunctionName": "channel", + "params": [ + { + "name": "id", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "resourceId", + "optional": false, + "type": "StringKeyword" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Channel", + "client": "Storage" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "storage.d.ts", + "functionName": null, + "SDKFunctionName": "createBucket", + "params": [ + { + "name": "name", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "metadata", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Storage" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "storage.d.ts", + "functionName": null, + "SDKFunctionName": "createBucket", + "params": [ + { + "name": "name", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Storage" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "storage.d.ts", + "functionName": null, + "SDKFunctionName": "createBucket", + "params": [ + { + "name": "name", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "metadata", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Storage" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "storage.d.ts", + "functionName": null, + "SDKFunctionName": "createBucket", + "params": [ + { + "name": "name", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "metadata", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Storage" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "storage.d.ts", + "functionName": null, + "SDKFunctionName": "createHmacKey", + "params": [ + { + "name": "serviceAccountEmail", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Storage" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "storage.d.ts", + "functionName": null, + "SDKFunctionName": "createHmacKey", + "params": [ + { + "name": "serviceAccountEmail", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Storage" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "storage.d.ts", + "functionName": null, + "SDKFunctionName": "createHmacKey", + "params": [ + { + "name": "serviceAccountEmail", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Storage" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "storage.d.ts", + "functionName": null, + "SDKFunctionName": "getBuckets", + "params": [ + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Storage" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "storage.d.ts", + "functionName": null, + "SDKFunctionName": "getBuckets", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Storage" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "storage.d.ts", + "functionName": null, + "SDKFunctionName": "getBuckets", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Storage" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "storage.d.ts", + "functionName": null, + "SDKFunctionName": "getHmacKeys", + "params": [ + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Storage" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "storage.d.ts", + "functionName": null, + "SDKFunctionName": "getHmacKeys", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Storage" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "storage.d.ts", + "functionName": null, + "SDKFunctionName": "getHmacKeys", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Storage" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "storage.d.ts", + "functionName": null, + "SDKFunctionName": "getServiceAccount", + "params": [ + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Storage" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "storage.d.ts", + "functionName": null, + "SDKFunctionName": "getServiceAccount", + "params": [ + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Storage" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "storage.d.ts", + "functionName": null, + "SDKFunctionName": "getServiceAccount", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Storage" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "storage.d.ts", + "functionName": null, + "SDKFunctionName": "getServiceAccount", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Storage" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "storage.d.ts", + "functionName": null, + "SDKFunctionName": "hmacKey", + "params": [ + { + "name": "accessId", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "HmacKey", + "client": "Storage" + } + ], + "properties": [ + { + "name": "Bucket", + "type": "TypeQuery", + "typeRefName": null + }, + { + "name": "Channel", + "type": "TypeQuery", + "typeRefName": null + }, + { + "name": "File", + "type": "TypeQuery", + "typeRefName": null + }, + { + "name": "HmacKey", + "type": "TypeQuery", + "typeRefName": null + }, + { + "name": "acl", + "type": "TypeLiteral", + "typeRefName": null + }, + { + "name": "acl", + "type": "TypeQuery", + "typeRefName": null + }, + { + "name": "getBucketsStream", + "type": "FunctionType", + "typeRefName": null + }, + { + "name": "getHmacKeysStream", + "type": "FunctionType", + "typeRefName": null + } + ], + "constructor": { + "parameters": [ + { + "name": "options", + "optional": true, + "type": "TypeReference", + "typeRefName": "StorageOptions" + } + ] + } + } + ] } diff --git a/generator/test/transformers/googleCloud/dummyData/classBasedTransformer/validDataset/data.json b/generator/test/transformers/googleCloud/dummyData/classBasedTransformer/validDataset/data.json index 867b34a9..efe53f9e 100644 --- a/generator/test/transformers/googleCloud/dummyData/classBasedTransformer/validDataset/data.json +++ b/generator/test/transformers/googleCloud/dummyData/classBasedTransformer/validDataset/data.json @@ -1,3997 +1,3997 @@ { - "mainClass": "Storage", - "functions": [ - { - "functionName": "makePublic", - "SDKFunctionName": "makePublic", - "params": [], - "pkgName": "storage", - "fileName": "file.d.ts", - "client": "File", - "returnType": "TypeReference", - "returnTypeName": "Promise", - "classConstructorData": { - "parameters": [ - { - "name": "bucket", - "optional": false, - "type": "TypeReference", - "typeRefName": "Bucket" - }, - { - "name": "name", - "optional": false, - "type": "StringKeyword", - "typeRefName": null - }, - { - "name": "options", - "optional": true, - "type": "TypeReference", - "typeRefName": "FileOptions" - } - ] - } - } - ], - "classData": [ - { - "name": "AclRoleAccessorMethods", - "methods": [ - { - "pkgName": "storage", - "version": null, - "fileName": "acl.d.ts", - "functionName": null, - "SDKFunctionName": "_assignAccessMethods", - "params": [ - { - "name": "role", - "optional": false, - "type": "StringKeyword" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "AclRoleAccessorMethods" - } - ], - "properties": [ - { - "name": "owners", - "type": "TypeLiteral", - "typeRefName": null - }, - { - "name": "readers", - "type": "TypeLiteral", - "typeRefName": null - }, - { - "name": "writers", - "type": "TypeLiteral", - "typeRefName": null - } - ], - "constructor": { - "parameters": [] - } - }, - { - "name": "Acl", - "methods": [ - { - "pkgName": "storage", - "version": null, - "fileName": "acl.d.ts", - "functionName": null, - "SDKFunctionName": "add", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Acl" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "acl.d.ts", - "functionName": null, - "SDKFunctionName": "add", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Acl" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "acl.d.ts", - "functionName": null, - "SDKFunctionName": "delete", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Acl" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "acl.d.ts", - "functionName": null, - "SDKFunctionName": "delete", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Acl" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "acl.d.ts", - "functionName": null, - "SDKFunctionName": "get", - "params": [ - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Acl" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "acl.d.ts", - "functionName": null, - "SDKFunctionName": "get", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Acl" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "acl.d.ts", - "functionName": null, - "SDKFunctionName": "get", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Acl" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "acl.d.ts", - "functionName": null, - "SDKFunctionName": "update", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Acl" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "acl.d.ts", - "functionName": null, - "SDKFunctionName": "update", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Acl" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "acl.d.ts", - "functionName": null, - "SDKFunctionName": "makeAclObject_", - "params": [ - { - "name": "accessControlObject", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "AccessControlObject", - "client": "Acl" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "acl.d.ts", - "functionName": null, - "SDKFunctionName": "request", - "params": [ - { - "name": "reqOpts", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Acl" - } - ], - "properties": [ - { - "name": "default", - "type": "TypeReference", - "typeRefName": "Acl" - }, - { - "name": "pathPrefix", - "type": "StringKeyword", - "typeRefName": null - }, - { - "name": "request_", - "type": "FunctionType", - "typeRefName": null - } - ], - "constructor": { - "parameters": [ - { - "name": "options", - "optional": false, - "type": "TypeReference", - "typeRefName": "AclOptions" - } - ] - } - }, - { - "name": "Bucket", - "methods": [ - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "addLifecycleRule", - "params": [ - { - "name": "rule", - "optional": false, - "type": "TypeReference" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "addLifecycleRule", - "params": [ - { - "name": "rule", - "optional": false, - "type": "TypeReference" - }, - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "addLifecycleRule", - "params": [ - { - "name": "rule", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "combine", - "params": [ - { - "name": "sources", - "optional": false, - "type": "UnionType" - }, - { - "name": "destination", - "optional": false, - "type": "UnionType" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "combine", - "params": [ - { - "name": "sources", - "optional": false, - "type": "UnionType" - }, - { - "name": "destination", - "optional": false, - "type": "UnionType" - }, - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "combine", - "params": [ - { - "name": "sources", - "optional": false, - "type": "UnionType" - }, - { - "name": "destination", - "optional": false, - "type": "UnionType" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "createChannel", - "params": [ - { - "name": "id", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "config", - "optional": false, - "type": "TypeReference" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "createChannel", - "params": [ - { - "name": "id", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "config", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "createChannel", - "params": [ - { - "name": "id", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "config", - "optional": false, - "type": "TypeReference" - }, - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "createNotification", - "params": [ - { - "name": "topic", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "createNotification", - "params": [ - { - "name": "topic", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "createNotification", - "params": [ - { - "name": "topic", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "deleteFiles", - "params": [ - { - "name": "query", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "deleteFiles", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "deleteFiles", - "params": [ - { - "name": "query", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "deleteLabels", - "params": [ - { - "name": "labels", - "optional": true, - "type": "UnionType" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "deleteLabels", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "deleteLabels", - "params": [ - { - "name": "labels", - "optional": false, - "type": "UnionType" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "disableRequesterPays", - "params": [], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "disableRequesterPays", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "enableLogging", - "params": [ - { - "name": "config", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "enableLogging", - "params": [ - { - "name": "config", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "enableRequesterPays", - "params": [], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "enableRequesterPays", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "file", - "params": [ - { - "name": "name", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "File", - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "getFiles", - "params": [ - { - "name": "query", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "getFiles", - "params": [ - { - "name": "query", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "getFiles", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "getLabels", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "getLabels", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "getLabels", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "getNotifications", - "params": [ - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "getNotifications", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "getNotifications", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "getSignedUrl", - "params": [ - { - "name": "cfg", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "getSignedUrl", - "params": [ - { - "name": "cfg", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "lock", - "params": [ - { - "name": "metageneration", - "optional": false, - "type": "UnionType" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "lock", - "params": [ - { - "name": "metageneration", - "optional": false, - "type": "UnionType" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "makePrivate", - "params": [ - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "makePrivate", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "makePrivate", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "makePublic", - "params": [ - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "makePublic", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "makePublic", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "notification", - "params": [ - { - "name": "id", - "optional": false, - "type": "StringKeyword" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Notification", - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "removeRetentionPeriod", - "params": [], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "removeRetentionPeriod", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "request", - "params": [ - { - "name": "reqOpts", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "request", - "params": [ - { - "name": "reqOpts", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "setLabels", - "params": [ - { - "name": "labels", - "optional": false, - "type": "TypeReference" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "setLabels", - "params": [ - { - "name": "labels", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "setLabels", - "params": [ - { - "name": "labels", - "optional": false, - "type": "TypeReference" - }, - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "setRetentionPeriod", - "params": [ - { - "name": "duration", - "optional": false, - "type": "NumberKeyword" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "setRetentionPeriod", - "params": [ - { - "name": "duration", - "optional": false, - "type": "NumberKeyword" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "setCorsConfiguration", - "params": [ - { - "name": "corsConfiguration", - "optional": false, - "type": "ArrayType" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "setCorsConfiguration", - "params": [ - { - "name": "corsConfiguration", - "optional": false, - "type": "ArrayType" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "setStorageClass", - "params": [ - { - "name": "storageClass", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "setStorageClass", - "params": [ - { - "name": "storageClass", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "setStorageClass", - "params": [ - { - "name": "storageClass", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "setUserProject", - "params": [ - { - "name": "userProject", - "optional": false, - "type": "StringKeyword" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "upload", - "params": [ - { - "name": "pathString", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "upload", - "params": [ - { - "name": "pathString", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "upload", - "params": [ - { - "name": "pathString", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "makeAllFilesPublicPrivate_", - "params": [ - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "makeAllFilesPublicPrivate_", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "makeAllFilesPublicPrivate_", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "getId", - "params": [], - "returnType": "StringKeyword", - "returnTypeName": null, - "client": "Bucket" - } - ], - "properties": [ - { - "name": "name", - "type": "StringKeyword", - "typeRefName": null - }, - { - "name": "storage", - "type": "TypeReference", - "typeRefName": "Storage" - }, - { - "name": "userProject", - "type": "StringKeyword", - "typeRefName": null - }, - { - "name": "acl", - "type": "TypeReference", - "typeRefName": "Acl" - }, - { - "name": "iam", - "type": "TypeReference", - "typeRefName": "Iam" - }, - { - "name": "getFilesStream", - "type": "TypeReference", - "typeRefName": "Function" - }, - { - "name": "signer", - "type": "TypeReference", - "typeRefName": "URLSigner" - } - ], - "constructor": { - "parameters": [ - { - "name": "storage", - "optional": false, - "type": "TypeReference", - "typeRefName": "Storage" - }, - { - "name": "name", - "optional": false, - "type": "StringKeyword", - "typeRefName": null - }, - { - "name": "options", - "optional": true, - "type": "TypeReference", - "typeRefName": "BucketOptions" - } - ] - } - }, - { - "name": "Channel", - "methods": [ - { - "pkgName": "storage", - "version": null, - "fileName": "channel.d.ts", - "functionName": null, - "SDKFunctionName": "stop", - "params": [], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Channel" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "channel.d.ts", - "functionName": null, - "SDKFunctionName": "stop", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Channel" - } - ], - "properties": [], - "constructor": { - "parameters": [ - { - "name": "storage", - "optional": false, - "type": "TypeReference", - "typeRefName": "Storage" - }, - { - "name": "id", - "optional": false, - "type": "StringKeyword", - "typeRefName": null - }, - { - "name": "resourceId", - "optional": false, - "type": "StringKeyword", - "typeRefName": null - } - ] - } - }, - { - "name": "RequestError", - "methods": [], - "properties": [ - { - "name": "code", - "type": "StringKeyword", - "typeRefName": null - }, - { - "name": "errors", - "type": "ArrayType", - "typeRefName": null - } - ], - "constructor": null - }, - { - "name": "File", - "methods": [ - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "copy", - "params": [ - { - "name": "destination", - "optional": false, - "type": "UnionType" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "copy", - "params": [ - { - "name": "destination", - "optional": false, - "type": "UnionType" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "copy", - "params": [ - { - "name": "destination", - "optional": false, - "type": "UnionType" - }, - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "createReadStream", - "params": [ - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Readable", - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "createResumableUpload", - "params": [ - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "createResumableUpload", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "createResumableUpload", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "createWriteStream", - "params": [ - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Writable", - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "deleteResumableCache", - "params": [], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "download", - "params": [ - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "download", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "download", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "setEncryptionKey", - "params": [ - { - "name": "encryptionKey", - "optional": false, - "type": "UnionType" - } - ], - "returnType": "ThisType", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "getExpirationDate", - "params": [], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "getExpirationDate", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "getSignedPolicy", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "getSignedPolicy", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "getSignedPolicy", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "generateSignedPostPolicyV2", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "generateSignedPostPolicyV2", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "generateSignedPostPolicyV2", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "generateSignedPostPolicyV4", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "generateSignedPostPolicyV4", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "generateSignedPostPolicyV4", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "getSignedUrl", - "params": [ - { - "name": "cfg", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "getSignedUrl", - "params": [ - { - "name": "cfg", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "isPublic", - "params": [], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "isPublic", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "makePrivate", - "params": [ - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "makePrivate", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "makePrivate", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": "makePublic", - "SDKFunctionName": "makePublic", - "params": [], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "File", - "classConstructorData": { - "parameters": [ - { - "name": "bucket", - "optional": false, - "type": "TypeReference", - "typeRefName": "Bucket" - }, - { - "name": "name", - "optional": false, - "type": "StringKeyword", - "typeRefName": null - }, - { - "name": "options", - "optional": true, - "type": "TypeReference", - "typeRefName": "FileOptions" - } - ] - } - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": "makePublic", - "SDKFunctionName": "makePublic", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File", - "classConstructorData": { - "parameters": [ - { - "name": "bucket", - "optional": false, - "type": "TypeReference", - "typeRefName": "Bucket" - }, - { - "name": "name", - "optional": false, - "type": "StringKeyword", - "typeRefName": null - }, - { - "name": "options", - "optional": true, - "type": "TypeReference", - "typeRefName": "FileOptions" - } - ] - } - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "move", - "params": [ - { - "name": "destination", - "optional": false, - "type": "UnionType" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "move", - "params": [ - { - "name": "destination", - "optional": false, - "type": "UnionType" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "move", - "params": [ - { - "name": "destination", - "optional": false, - "type": "UnionType" - }, - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "request", - "params": [ - { - "name": "reqOpts", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "request", - "params": [ - { - "name": "reqOpts", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "rotateEncryptionKey", - "params": [ - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "rotateEncryptionKey", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "rotateEncryptionKey", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "save", - "params": [ - { - "name": "data", - "optional": false, - "type": "AnyKeyword" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "save", - "params": [ - { - "name": "data", - "optional": false, - "type": "AnyKeyword" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "save", - "params": [ - { - "name": "data", - "optional": false, - "type": "AnyKeyword" - }, - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "setStorageClass", - "params": [ - { - "name": "storageClass", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "setStorageClass", - "params": [ - { - "name": "storageClass", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "setStorageClass", - "params": [ - { - "name": "storageClass", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "callback", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "setUserProject", - "params": [ - { - "name": "userProject", - "optional": false, - "type": "StringKeyword" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "startResumableUpload_", - "params": [ - { - "name": "dup", - "optional": false, - "type": "TypeReference" - }, - { - "name": "options", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "startSimpleUpload_", - "params": [ - { - "name": "dup", - "optional": false, - "type": "TypeReference" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - } - ], - "properties": [ - { - "name": "acl", - "type": "TypeReference", - "typeRefName": "Acl" - }, - { - "name": "bucket", - "type": "TypeReference", - "typeRefName": "Bucket" - }, - { - "name": "storage", - "type": "TypeReference", - "typeRefName": "Storage" - }, - { - "name": "kmsKeyName", - "type": "StringKeyword", - "typeRefName": null - }, - { - "name": "userProject", - "type": "StringKeyword", - "typeRefName": null - }, - { - "name": "signer", - "type": "TypeReference", - "typeRefName": "URLSigner" - }, - { - "name": "name", - "type": "StringKeyword", - "typeRefName": null - }, - { - "name": "generation", - "type": "NumberKeyword", - "typeRefName": null - }, - { - "name": "parent", - "type": "TypeReference", - "typeRefName": "Bucket" - } - ], - "constructor": { - "parameters": [ - { - "name": "bucket", - "optional": false, - "type": "TypeReference", - "typeRefName": "Bucket" - }, - { - "name": "name", - "optional": false, - "type": "StringKeyword", - "typeRefName": null - }, - { - "name": "options", - "optional": true, - "type": "TypeReference", - "typeRefName": "FileOptions" - } - ] - } - }, - { - "name": "HmacKey", - "methods": [], - "properties": [ - { - "name": "metadata", - "type": "UnionType", - "typeRefName": null - } - ], - "constructor": { - "parameters": [ - { - "name": "storage", - "optional": false, - "type": "TypeReference", - "typeRefName": "Storage" - }, - { - "name": "accessId", - "optional": false, - "type": "StringKeyword", - "typeRefName": null - }, - { - "name": "options", - "optional": true, - "type": "TypeReference", - "typeRefName": "HmacKeyOptions" - } - ] - } - }, - { - "name": "Iam", - "methods": [ - { - "pkgName": "storage", - "version": null, - "fileName": "iam.d.ts", - "functionName": null, - "SDKFunctionName": "getPolicy", - "params": [ - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Iam" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "iam.d.ts", - "functionName": null, - "SDKFunctionName": "getPolicy", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Iam" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "iam.d.ts", - "functionName": null, - "SDKFunctionName": "getPolicy", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Iam" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "iam.d.ts", - "functionName": null, - "SDKFunctionName": "setPolicy", - "params": [ - { - "name": "policy", - "optional": false, - "type": "TypeReference" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Iam" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "iam.d.ts", - "functionName": null, - "SDKFunctionName": "setPolicy", - "params": [ - { - "name": "policy", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Iam" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "iam.d.ts", - "functionName": null, - "SDKFunctionName": "setPolicy", - "params": [ - { - "name": "policy", - "optional": false, - "type": "TypeReference" - }, - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Iam" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "iam.d.ts", - "functionName": null, - "SDKFunctionName": "testPermissions", - "params": [ - { - "name": "permissions", - "optional": false, - "type": "UnionType" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Iam" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "iam.d.ts", - "functionName": null, - "SDKFunctionName": "testPermissions", - "params": [ - { - "name": "permissions", - "optional": false, - "type": "UnionType" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Iam" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "iam.d.ts", - "functionName": null, - "SDKFunctionName": "testPermissions", - "params": [ - { - "name": "permissions", - "optional": false, - "type": "UnionType" - }, - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Iam" - } - ], - "properties": [], - "constructor": { - "parameters": [ - { - "name": "bucket", - "optional": false, - "type": "TypeReference", - "typeRefName": "Bucket" - } - ] - } - }, - { - "name": "Notification", - "methods": [ - { - "pkgName": "storage", - "version": null, - "fileName": "notification.d.ts", - "functionName": null, - "SDKFunctionName": "delete", - "params": [ - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Notification" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "notification.d.ts", - "functionName": null, - "SDKFunctionName": "delete", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Notification" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "notification.d.ts", - "functionName": null, - "SDKFunctionName": "delete", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Notification" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "notification.d.ts", - "functionName": null, - "SDKFunctionName": "get", - "params": [ - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Notification" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "notification.d.ts", - "functionName": null, - "SDKFunctionName": "get", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Notification" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "notification.d.ts", - "functionName": null, - "SDKFunctionName": "get", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Notification" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "notification.d.ts", - "functionName": null, - "SDKFunctionName": "getMetadata", - "params": [ - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Notification" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "notification.d.ts", - "functionName": null, - "SDKFunctionName": "getMetadata", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Notification" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "notification.d.ts", - "functionName": null, - "SDKFunctionName": "getMetadata", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Notification" - } - ], - "properties": [], - "constructor": { - "parameters": [ - { - "name": "bucket", - "optional": false, - "type": "TypeReference", - "typeRefName": "Bucket" - }, - { - "name": "id", - "optional": false, - "type": "StringKeyword", - "typeRefName": null - } - ] - } - }, - { - "name": "URLSigner", - "methods": [ - { - "pkgName": "storage", - "version": null, - "fileName": "signer.d.ts", - "functionName": null, - "SDKFunctionName": "getSignedUrl", - "params": [ - { - "name": "cfg", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "URLSigner" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "signer.d.ts", - "functionName": null, - "SDKFunctionName": "getCanonicalHeaders", - "params": [ - { - "name": "headers", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "StringKeyword", - "returnTypeName": null, - "client": "URLSigner" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "signer.d.ts", - "functionName": null, - "SDKFunctionName": "getCanonicalRequest", - "params": [ - { - "name": "method", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "path", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "query", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "headers", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "signedHeaders", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "contentSha256", - "optional": true, - "type": "StringKeyword" - } - ], - "returnType": "StringKeyword", - "returnTypeName": null, - "client": "URLSigner" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "signer.d.ts", - "functionName": null, - "SDKFunctionName": "getCanonicalQueryParams", - "params": [ - { - "name": "query", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "StringKeyword", - "returnTypeName": null, - "client": "URLSigner" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "signer.d.ts", - "functionName": null, - "SDKFunctionName": "getResourcePath", - "params": [ - { - "name": "cname", - "optional": false, - "type": "BooleanKeyword" - }, - { - "name": "bucket", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "file", - "optional": true, - "type": "StringKeyword" - } - ], - "returnType": "StringKeyword", - "returnTypeName": null, - "client": "URLSigner" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "signer.d.ts", - "functionName": null, - "SDKFunctionName": "parseExpires", - "params": [ - { - "name": "expires", - "optional": false, - "type": "UnionType" - }, - { - "name": "current", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "NumberKeyword", - "returnTypeName": null, - "client": "URLSigner" - } - ], - "properties": [], - "constructor": { - "parameters": [ - { - "name": "authClient", - "optional": false, - "type": "TypeReference", - "typeRefName": "AuthClient" - }, - { - "name": "bucket", - "optional": false, - "type": "TypeReference", - "typeRefName": "BucketI" - }, - { - "name": "file", - "optional": true, - "type": "TypeReference", - "typeRefName": "FileI" - } - ] - } - }, - { - "name": "SigningError", - "methods": [], - "properties": [ - { - "name": "name", - "type": "StringKeyword", - "typeRefName": null - } - ], - "constructor": null - }, - { - "name": "Storage", - "methods": [ - { - "pkgName": "storage", - "version": null, - "fileName": "storage.d.ts", - "functionName": null, - "SDKFunctionName": "bucket", - "params": [ - { - "name": "name", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Bucket", - "client": "Storage" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "storage.d.ts", - "functionName": null, - "SDKFunctionName": "channel", - "params": [ - { - "name": "id", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "resourceId", - "optional": false, - "type": "StringKeyword" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Channel", - "client": "Storage" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "storage.d.ts", - "functionName": null, - "SDKFunctionName": "createBucket", - "params": [ - { - "name": "name", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "metadata", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Storage" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "storage.d.ts", - "functionName": null, - "SDKFunctionName": "createBucket", - "params": [ - { - "name": "name", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Storage" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "storage.d.ts", - "functionName": null, - "SDKFunctionName": "createBucket", - "params": [ - { - "name": "name", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "metadata", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Storage" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "storage.d.ts", - "functionName": null, - "SDKFunctionName": "createBucket", - "params": [ - { - "name": "name", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "metadata", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Storage" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "storage.d.ts", - "functionName": null, - "SDKFunctionName": "createHmacKey", - "params": [ - { - "name": "serviceAccountEmail", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Storage" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "storage.d.ts", - "functionName": null, - "SDKFunctionName": "createHmacKey", - "params": [ - { - "name": "serviceAccountEmail", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Storage" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "storage.d.ts", - "functionName": null, - "SDKFunctionName": "createHmacKey", - "params": [ - { - "name": "serviceAccountEmail", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Storage" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "storage.d.ts", - "functionName": null, - "SDKFunctionName": "getBuckets", - "params": [ - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Storage" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "storage.d.ts", - "functionName": null, - "SDKFunctionName": "getBuckets", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Storage" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "storage.d.ts", - "functionName": null, - "SDKFunctionName": "getBuckets", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Storage" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "storage.d.ts", - "functionName": null, - "SDKFunctionName": "getHmacKeys", - "params": [ - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Storage" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "storage.d.ts", - "functionName": null, - "SDKFunctionName": "getHmacKeys", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Storage" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "storage.d.ts", - "functionName": null, - "SDKFunctionName": "getHmacKeys", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Storage" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "storage.d.ts", - "functionName": null, - "SDKFunctionName": "getServiceAccount", - "params": [ - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Storage" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "storage.d.ts", - "functionName": null, - "SDKFunctionName": "getServiceAccount", - "params": [ - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Storage" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "storage.d.ts", - "functionName": null, - "SDKFunctionName": "getServiceAccount", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Storage" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "storage.d.ts", - "functionName": null, - "SDKFunctionName": "getServiceAccount", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Storage" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "storage.d.ts", - "functionName": null, - "SDKFunctionName": "hmacKey", - "params": [ - { - "name": "accessId", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "HmacKey", - "client": "Storage" - } - ], - "properties": [ - { - "name": "Bucket", - "type": "TypeQuery", - "typeRefName": null - }, - { - "name": "Channel", - "type": "TypeQuery", - "typeRefName": null - }, - { - "name": "File", - "type": "TypeQuery", - "typeRefName": null - }, - { - "name": "HmacKey", - "type": "TypeQuery", - "typeRefName": null - }, - { - "name": "acl", - "type": "TypeLiteral", - "typeRefName": null - }, - { - "name": "acl", - "type": "TypeQuery", - "typeRefName": null - }, - { - "name": "getBucketsStream", - "type": "FunctionType", - "typeRefName": null - }, - { - "name": "getHmacKeysStream", - "type": "FunctionType", - "typeRefName": null - } - ], - "constructor": { - "parameters": [ - { - "name": "options", - "optional": true, - "type": "TypeReference", - "typeRefName": "StorageOptions" - } - ] - } - } - ] + "mainClass": "Storage", + "functions": [ + { + "functionName": "makePublic", + "SDKFunctionName": "makePublic", + "params": [], + "pkgName": "storage", + "fileName": "file.d.ts", + "client": "File", + "returnType": "TypeReference", + "returnTypeName": "Promise", + "classConstructorData": { + "parameters": [ + { + "name": "bucket", + "optional": false, + "type": "TypeReference", + "typeRefName": "Bucket" + }, + { + "name": "name", + "optional": false, + "type": "StringKeyword", + "typeRefName": null + }, + { + "name": "options", + "optional": true, + "type": "TypeReference", + "typeRefName": "FileOptions" + } + ] + } + } + ], + "classData": [ + { + "name": "AclRoleAccessorMethods", + "methods": [ + { + "pkgName": "storage", + "version": null, + "fileName": "acl.d.ts", + "functionName": null, + "SDKFunctionName": "_assignAccessMethods", + "params": [ + { + "name": "role", + "optional": false, + "type": "StringKeyword" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "AclRoleAccessorMethods" + } + ], + "properties": [ + { + "name": "owners", + "type": "TypeLiteral", + "typeRefName": null + }, + { + "name": "readers", + "type": "TypeLiteral", + "typeRefName": null + }, + { + "name": "writers", + "type": "TypeLiteral", + "typeRefName": null + } + ], + "constructor": { + "parameters": [] + } + }, + { + "name": "Acl", + "methods": [ + { + "pkgName": "storage", + "version": null, + "fileName": "acl.d.ts", + "functionName": null, + "SDKFunctionName": "add", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Acl" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "acl.d.ts", + "functionName": null, + "SDKFunctionName": "add", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Acl" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "acl.d.ts", + "functionName": null, + "SDKFunctionName": "delete", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Acl" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "acl.d.ts", + "functionName": null, + "SDKFunctionName": "delete", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Acl" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "acl.d.ts", + "functionName": null, + "SDKFunctionName": "get", + "params": [ + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Acl" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "acl.d.ts", + "functionName": null, + "SDKFunctionName": "get", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Acl" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "acl.d.ts", + "functionName": null, + "SDKFunctionName": "get", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Acl" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "acl.d.ts", + "functionName": null, + "SDKFunctionName": "update", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Acl" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "acl.d.ts", + "functionName": null, + "SDKFunctionName": "update", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Acl" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "acl.d.ts", + "functionName": null, + "SDKFunctionName": "makeAclObject_", + "params": [ + { + "name": "accessControlObject", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "AccessControlObject", + "client": "Acl" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "acl.d.ts", + "functionName": null, + "SDKFunctionName": "request", + "params": [ + { + "name": "reqOpts", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Acl" + } + ], + "properties": [ + { + "name": "default", + "type": "TypeReference", + "typeRefName": "Acl" + }, + { + "name": "pathPrefix", + "type": "StringKeyword", + "typeRefName": null + }, + { + "name": "request_", + "type": "FunctionType", + "typeRefName": null + } + ], + "constructor": { + "parameters": [ + { + "name": "options", + "optional": false, + "type": "TypeReference", + "typeRefName": "AclOptions" + } + ] + } + }, + { + "name": "Bucket", + "methods": [ + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "addLifecycleRule", + "params": [ + { + "name": "rule", + "optional": false, + "type": "TypeReference" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "addLifecycleRule", + "params": [ + { + "name": "rule", + "optional": false, + "type": "TypeReference" + }, + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "addLifecycleRule", + "params": [ + { + "name": "rule", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "combine", + "params": [ + { + "name": "sources", + "optional": false, + "type": "UnionType" + }, + { + "name": "destination", + "optional": false, + "type": "UnionType" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "combine", + "params": [ + { + "name": "sources", + "optional": false, + "type": "UnionType" + }, + { + "name": "destination", + "optional": false, + "type": "UnionType" + }, + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "combine", + "params": [ + { + "name": "sources", + "optional": false, + "type": "UnionType" + }, + { + "name": "destination", + "optional": false, + "type": "UnionType" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "createChannel", + "params": [ + { + "name": "id", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "config", + "optional": false, + "type": "TypeReference" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "createChannel", + "params": [ + { + "name": "id", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "config", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "createChannel", + "params": [ + { + "name": "id", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "config", + "optional": false, + "type": "TypeReference" + }, + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "createNotification", + "params": [ + { + "name": "topic", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "createNotification", + "params": [ + { + "name": "topic", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "createNotification", + "params": [ + { + "name": "topic", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "deleteFiles", + "params": [ + { + "name": "query", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "deleteFiles", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "deleteFiles", + "params": [ + { + "name": "query", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "deleteLabels", + "params": [ + { + "name": "labels", + "optional": true, + "type": "UnionType" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "deleteLabels", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "deleteLabels", + "params": [ + { + "name": "labels", + "optional": false, + "type": "UnionType" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "disableRequesterPays", + "params": [], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "disableRequesterPays", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "enableLogging", + "params": [ + { + "name": "config", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "enableLogging", + "params": [ + { + "name": "config", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "enableRequesterPays", + "params": [], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "enableRequesterPays", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "file", + "params": [ + { + "name": "name", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "File", + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "getFiles", + "params": [ + { + "name": "query", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "getFiles", + "params": [ + { + "name": "query", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "getFiles", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "getLabels", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "getLabels", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "getLabels", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "getNotifications", + "params": [ + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "getNotifications", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "getNotifications", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "getSignedUrl", + "params": [ + { + "name": "cfg", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "getSignedUrl", + "params": [ + { + "name": "cfg", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "lock", + "params": [ + { + "name": "metageneration", + "optional": false, + "type": "UnionType" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "lock", + "params": [ + { + "name": "metageneration", + "optional": false, + "type": "UnionType" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "makePrivate", + "params": [ + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "makePrivate", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "makePrivate", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "makePublic", + "params": [ + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "makePublic", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "makePublic", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "notification", + "params": [ + { + "name": "id", + "optional": false, + "type": "StringKeyword" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Notification", + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "removeRetentionPeriod", + "params": [], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "removeRetentionPeriod", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "request", + "params": [ + { + "name": "reqOpts", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "request", + "params": [ + { + "name": "reqOpts", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "setLabels", + "params": [ + { + "name": "labels", + "optional": false, + "type": "TypeReference" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "setLabels", + "params": [ + { + "name": "labels", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "setLabels", + "params": [ + { + "name": "labels", + "optional": false, + "type": "TypeReference" + }, + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "setRetentionPeriod", + "params": [ + { + "name": "duration", + "optional": false, + "type": "NumberKeyword" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "setRetentionPeriod", + "params": [ + { + "name": "duration", + "optional": false, + "type": "NumberKeyword" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "setCorsConfiguration", + "params": [ + { + "name": "corsConfiguration", + "optional": false, + "type": "ArrayType" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "setCorsConfiguration", + "params": [ + { + "name": "corsConfiguration", + "optional": false, + "type": "ArrayType" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "setStorageClass", + "params": [ + { + "name": "storageClass", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "setStorageClass", + "params": [ + { + "name": "storageClass", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "setStorageClass", + "params": [ + { + "name": "storageClass", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "setUserProject", + "params": [ + { + "name": "userProject", + "optional": false, + "type": "StringKeyword" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "upload", + "params": [ + { + "name": "pathString", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "upload", + "params": [ + { + "name": "pathString", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "upload", + "params": [ + { + "name": "pathString", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "makeAllFilesPublicPrivate_", + "params": [ + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "makeAllFilesPublicPrivate_", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "makeAllFilesPublicPrivate_", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "getId", + "params": [], + "returnType": "StringKeyword", + "returnTypeName": null, + "client": "Bucket" + } + ], + "properties": [ + { + "name": "name", + "type": "StringKeyword", + "typeRefName": null + }, + { + "name": "storage", + "type": "TypeReference", + "typeRefName": "Storage" + }, + { + "name": "userProject", + "type": "StringKeyword", + "typeRefName": null + }, + { + "name": "acl", + "type": "TypeReference", + "typeRefName": "Acl" + }, + { + "name": "iam", + "type": "TypeReference", + "typeRefName": "Iam" + }, + { + "name": "getFilesStream", + "type": "TypeReference", + "typeRefName": "Function" + }, + { + "name": "signer", + "type": "TypeReference", + "typeRefName": "URLSigner" + } + ], + "constructor": { + "parameters": [ + { + "name": "storage", + "optional": false, + "type": "TypeReference", + "typeRefName": "Storage" + }, + { + "name": "name", + "optional": false, + "type": "StringKeyword", + "typeRefName": null + }, + { + "name": "options", + "optional": true, + "type": "TypeReference", + "typeRefName": "BucketOptions" + } + ] + } + }, + { + "name": "Channel", + "methods": [ + { + "pkgName": "storage", + "version": null, + "fileName": "channel.d.ts", + "functionName": null, + "SDKFunctionName": "stop", + "params": [], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Channel" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "channel.d.ts", + "functionName": null, + "SDKFunctionName": "stop", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Channel" + } + ], + "properties": [], + "constructor": { + "parameters": [ + { + "name": "storage", + "optional": false, + "type": "TypeReference", + "typeRefName": "Storage" + }, + { + "name": "id", + "optional": false, + "type": "StringKeyword", + "typeRefName": null + }, + { + "name": "resourceId", + "optional": false, + "type": "StringKeyword", + "typeRefName": null + } + ] + } + }, + { + "name": "RequestError", + "methods": [], + "properties": [ + { + "name": "code", + "type": "StringKeyword", + "typeRefName": null + }, + { + "name": "errors", + "type": "ArrayType", + "typeRefName": null + } + ], + "constructor": null + }, + { + "name": "File", + "methods": [ + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "copy", + "params": [ + { + "name": "destination", + "optional": false, + "type": "UnionType" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "copy", + "params": [ + { + "name": "destination", + "optional": false, + "type": "UnionType" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "copy", + "params": [ + { + "name": "destination", + "optional": false, + "type": "UnionType" + }, + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "createReadStream", + "params": [ + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Readable", + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "createResumableUpload", + "params": [ + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "createResumableUpload", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "createResumableUpload", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "createWriteStream", + "params": [ + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Writable", + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "deleteResumableCache", + "params": [], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "download", + "params": [ + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "download", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "download", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "setEncryptionKey", + "params": [ + { + "name": "encryptionKey", + "optional": false, + "type": "UnionType" + } + ], + "returnType": "ThisType", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "getExpirationDate", + "params": [], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "getExpirationDate", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "getSignedPolicy", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "getSignedPolicy", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "getSignedPolicy", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "generateSignedPostPolicyV2", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "generateSignedPostPolicyV2", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "generateSignedPostPolicyV2", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "generateSignedPostPolicyV4", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "generateSignedPostPolicyV4", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "generateSignedPostPolicyV4", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "getSignedUrl", + "params": [ + { + "name": "cfg", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "getSignedUrl", + "params": [ + { + "name": "cfg", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "isPublic", + "params": [], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "isPublic", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "makePrivate", + "params": [ + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "makePrivate", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "makePrivate", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": "makePublic", + "SDKFunctionName": "makePublic", + "params": [], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "File", + "classConstructorData": { + "parameters": [ + { + "name": "bucket", + "optional": false, + "type": "TypeReference", + "typeRefName": "Bucket" + }, + { + "name": "name", + "optional": false, + "type": "StringKeyword", + "typeRefName": null + }, + { + "name": "options", + "optional": true, + "type": "TypeReference", + "typeRefName": "FileOptions" + } + ] + } + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": "makePublic", + "SDKFunctionName": "makePublic", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File", + "classConstructorData": { + "parameters": [ + { + "name": "bucket", + "optional": false, + "type": "TypeReference", + "typeRefName": "Bucket" + }, + { + "name": "name", + "optional": false, + "type": "StringKeyword", + "typeRefName": null + }, + { + "name": "options", + "optional": true, + "type": "TypeReference", + "typeRefName": "FileOptions" + } + ] + } + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "move", + "params": [ + { + "name": "destination", + "optional": false, + "type": "UnionType" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "move", + "params": [ + { + "name": "destination", + "optional": false, + "type": "UnionType" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "move", + "params": [ + { + "name": "destination", + "optional": false, + "type": "UnionType" + }, + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "request", + "params": [ + { + "name": "reqOpts", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "request", + "params": [ + { + "name": "reqOpts", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "rotateEncryptionKey", + "params": [ + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "rotateEncryptionKey", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "rotateEncryptionKey", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "save", + "params": [ + { + "name": "data", + "optional": false, + "type": "AnyKeyword" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "save", + "params": [ + { + "name": "data", + "optional": false, + "type": "AnyKeyword" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "save", + "params": [ + { + "name": "data", + "optional": false, + "type": "AnyKeyword" + }, + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "setStorageClass", + "params": [ + { + "name": "storageClass", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "setStorageClass", + "params": [ + { + "name": "storageClass", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "setStorageClass", + "params": [ + { + "name": "storageClass", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "callback", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "setUserProject", + "params": [ + { + "name": "userProject", + "optional": false, + "type": "StringKeyword" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "startResumableUpload_", + "params": [ + { + "name": "dup", + "optional": false, + "type": "TypeReference" + }, + { + "name": "options", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "startSimpleUpload_", + "params": [ + { + "name": "dup", + "optional": false, + "type": "TypeReference" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + } + ], + "properties": [ + { + "name": "acl", + "type": "TypeReference", + "typeRefName": "Acl" + }, + { + "name": "bucket", + "type": "TypeReference", + "typeRefName": "Bucket" + }, + { + "name": "storage", + "type": "TypeReference", + "typeRefName": "Storage" + }, + { + "name": "kmsKeyName", + "type": "StringKeyword", + "typeRefName": null + }, + { + "name": "userProject", + "type": "StringKeyword", + "typeRefName": null + }, + { + "name": "signer", + "type": "TypeReference", + "typeRefName": "URLSigner" + }, + { + "name": "name", + "type": "StringKeyword", + "typeRefName": null + }, + { + "name": "generation", + "type": "NumberKeyword", + "typeRefName": null + }, + { + "name": "parent", + "type": "TypeReference", + "typeRefName": "Bucket" + } + ], + "constructor": { + "parameters": [ + { + "name": "bucket", + "optional": false, + "type": "TypeReference", + "typeRefName": "Bucket" + }, + { + "name": "name", + "optional": false, + "type": "StringKeyword", + "typeRefName": null + }, + { + "name": "options", + "optional": true, + "type": "TypeReference", + "typeRefName": "FileOptions" + } + ] + } + }, + { + "name": "HmacKey", + "methods": [], + "properties": [ + { + "name": "metadata", + "type": "UnionType", + "typeRefName": null + } + ], + "constructor": { + "parameters": [ + { + "name": "storage", + "optional": false, + "type": "TypeReference", + "typeRefName": "Storage" + }, + { + "name": "accessId", + "optional": false, + "type": "StringKeyword", + "typeRefName": null + }, + { + "name": "options", + "optional": true, + "type": "TypeReference", + "typeRefName": "HmacKeyOptions" + } + ] + } + }, + { + "name": "Iam", + "methods": [ + { + "pkgName": "storage", + "version": null, + "fileName": "iam.d.ts", + "functionName": null, + "SDKFunctionName": "getPolicy", + "params": [ + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Iam" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "iam.d.ts", + "functionName": null, + "SDKFunctionName": "getPolicy", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Iam" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "iam.d.ts", + "functionName": null, + "SDKFunctionName": "getPolicy", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Iam" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "iam.d.ts", + "functionName": null, + "SDKFunctionName": "setPolicy", + "params": [ + { + "name": "policy", + "optional": false, + "type": "TypeReference" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Iam" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "iam.d.ts", + "functionName": null, + "SDKFunctionName": "setPolicy", + "params": [ + { + "name": "policy", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Iam" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "iam.d.ts", + "functionName": null, + "SDKFunctionName": "setPolicy", + "params": [ + { + "name": "policy", + "optional": false, + "type": "TypeReference" + }, + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Iam" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "iam.d.ts", + "functionName": null, + "SDKFunctionName": "testPermissions", + "params": [ + { + "name": "permissions", + "optional": false, + "type": "UnionType" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Iam" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "iam.d.ts", + "functionName": null, + "SDKFunctionName": "testPermissions", + "params": [ + { + "name": "permissions", + "optional": false, + "type": "UnionType" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Iam" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "iam.d.ts", + "functionName": null, + "SDKFunctionName": "testPermissions", + "params": [ + { + "name": "permissions", + "optional": false, + "type": "UnionType" + }, + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Iam" + } + ], + "properties": [], + "constructor": { + "parameters": [ + { + "name": "bucket", + "optional": false, + "type": "TypeReference", + "typeRefName": "Bucket" + } + ] + } + }, + { + "name": "Notification", + "methods": [ + { + "pkgName": "storage", + "version": null, + "fileName": "notification.d.ts", + "functionName": null, + "SDKFunctionName": "delete", + "params": [ + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Notification" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "notification.d.ts", + "functionName": null, + "SDKFunctionName": "delete", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Notification" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "notification.d.ts", + "functionName": null, + "SDKFunctionName": "delete", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Notification" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "notification.d.ts", + "functionName": null, + "SDKFunctionName": "get", + "params": [ + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Notification" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "notification.d.ts", + "functionName": null, + "SDKFunctionName": "get", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Notification" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "notification.d.ts", + "functionName": null, + "SDKFunctionName": "get", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Notification" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "notification.d.ts", + "functionName": null, + "SDKFunctionName": "getMetadata", + "params": [ + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Notification" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "notification.d.ts", + "functionName": null, + "SDKFunctionName": "getMetadata", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Notification" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "notification.d.ts", + "functionName": null, + "SDKFunctionName": "getMetadata", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Notification" + } + ], + "properties": [], + "constructor": { + "parameters": [ + { + "name": "bucket", + "optional": false, + "type": "TypeReference", + "typeRefName": "Bucket" + }, + { + "name": "id", + "optional": false, + "type": "StringKeyword", + "typeRefName": null + } + ] + } + }, + { + "name": "URLSigner", + "methods": [ + { + "pkgName": "storage", + "version": null, + "fileName": "signer.d.ts", + "functionName": null, + "SDKFunctionName": "getSignedUrl", + "params": [ + { + "name": "cfg", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "URLSigner" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "signer.d.ts", + "functionName": null, + "SDKFunctionName": "getCanonicalHeaders", + "params": [ + { + "name": "headers", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "StringKeyword", + "returnTypeName": null, + "client": "URLSigner" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "signer.d.ts", + "functionName": null, + "SDKFunctionName": "getCanonicalRequest", + "params": [ + { + "name": "method", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "path", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "query", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "headers", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "signedHeaders", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "contentSha256", + "optional": true, + "type": "StringKeyword" + } + ], + "returnType": "StringKeyword", + "returnTypeName": null, + "client": "URLSigner" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "signer.d.ts", + "functionName": null, + "SDKFunctionName": "getCanonicalQueryParams", + "params": [ + { + "name": "query", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "StringKeyword", + "returnTypeName": null, + "client": "URLSigner" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "signer.d.ts", + "functionName": null, + "SDKFunctionName": "getResourcePath", + "params": [ + { + "name": "cname", + "optional": false, + "type": "BooleanKeyword" + }, + { + "name": "bucket", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "file", + "optional": true, + "type": "StringKeyword" + } + ], + "returnType": "StringKeyword", + "returnTypeName": null, + "client": "URLSigner" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "signer.d.ts", + "functionName": null, + "SDKFunctionName": "parseExpires", + "params": [ + { + "name": "expires", + "optional": false, + "type": "UnionType" + }, + { + "name": "current", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "NumberKeyword", + "returnTypeName": null, + "client": "URLSigner" + } + ], + "properties": [], + "constructor": { + "parameters": [ + { + "name": "authClient", + "optional": false, + "type": "TypeReference", + "typeRefName": "AuthClient" + }, + { + "name": "bucket", + "optional": false, + "type": "TypeReference", + "typeRefName": "BucketI" + }, + { + "name": "file", + "optional": true, + "type": "TypeReference", + "typeRefName": "FileI" + } + ] + } + }, + { + "name": "SigningError", + "methods": [], + "properties": [ + { + "name": "name", + "type": "StringKeyword", + "typeRefName": null + } + ], + "constructor": null + }, + { + "name": "Storage", + "methods": [ + { + "pkgName": "storage", + "version": null, + "fileName": "storage.d.ts", + "functionName": null, + "SDKFunctionName": "bucket", + "params": [ + { + "name": "name", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Bucket", + "client": "Storage" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "storage.d.ts", + "functionName": null, + "SDKFunctionName": "channel", + "params": [ + { + "name": "id", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "resourceId", + "optional": false, + "type": "StringKeyword" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Channel", + "client": "Storage" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "storage.d.ts", + "functionName": null, + "SDKFunctionName": "createBucket", + "params": [ + { + "name": "name", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "metadata", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Storage" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "storage.d.ts", + "functionName": null, + "SDKFunctionName": "createBucket", + "params": [ + { + "name": "name", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Storage" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "storage.d.ts", + "functionName": null, + "SDKFunctionName": "createBucket", + "params": [ + { + "name": "name", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "metadata", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Storage" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "storage.d.ts", + "functionName": null, + "SDKFunctionName": "createBucket", + "params": [ + { + "name": "name", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "metadata", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Storage" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "storage.d.ts", + "functionName": null, + "SDKFunctionName": "createHmacKey", + "params": [ + { + "name": "serviceAccountEmail", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Storage" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "storage.d.ts", + "functionName": null, + "SDKFunctionName": "createHmacKey", + "params": [ + { + "name": "serviceAccountEmail", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Storage" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "storage.d.ts", + "functionName": null, + "SDKFunctionName": "createHmacKey", + "params": [ + { + "name": "serviceAccountEmail", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Storage" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "storage.d.ts", + "functionName": null, + "SDKFunctionName": "getBuckets", + "params": [ + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Storage" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "storage.d.ts", + "functionName": null, + "SDKFunctionName": "getBuckets", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Storage" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "storage.d.ts", + "functionName": null, + "SDKFunctionName": "getBuckets", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Storage" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "storage.d.ts", + "functionName": null, + "SDKFunctionName": "getHmacKeys", + "params": [ + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Storage" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "storage.d.ts", + "functionName": null, + "SDKFunctionName": "getHmacKeys", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Storage" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "storage.d.ts", + "functionName": null, + "SDKFunctionName": "getHmacKeys", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Storage" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "storage.d.ts", + "functionName": null, + "SDKFunctionName": "getServiceAccount", + "params": [ + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Storage" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "storage.d.ts", + "functionName": null, + "SDKFunctionName": "getServiceAccount", + "params": [ + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Storage" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "storage.d.ts", + "functionName": null, + "SDKFunctionName": "getServiceAccount", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Storage" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "storage.d.ts", + "functionName": null, + "SDKFunctionName": "getServiceAccount", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Storage" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "storage.d.ts", + "functionName": null, + "SDKFunctionName": "hmacKey", + "params": [ + { + "name": "accessId", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "HmacKey", + "client": "Storage" + } + ], + "properties": [ + { + "name": "Bucket", + "type": "TypeQuery", + "typeRefName": null + }, + { + "name": "Channel", + "type": "TypeQuery", + "typeRefName": null + }, + { + "name": "File", + "type": "TypeQuery", + "typeRefName": null + }, + { + "name": "HmacKey", + "type": "TypeQuery", + "typeRefName": null + }, + { + "name": "acl", + "type": "TypeLiteral", + "typeRefName": null + }, + { + "name": "acl", + "type": "TypeQuery", + "typeRefName": null + }, + { + "name": "getBucketsStream", + "type": "FunctionType", + "typeRefName": null + }, + { + "name": "getHmacKeysStream", + "type": "FunctionType", + "typeRefName": null + } + ], + "constructor": { + "parameters": [ + { + "name": "options", + "optional": true, + "type": "TypeReference", + "typeRefName": "StorageOptions" + } + ] + } + } + ] } diff --git a/generator/test/transformers/googleCloud/dummyData/clientBasedTransformer/invalidDataset_1/data.json b/generator/test/transformers/googleCloud/dummyData/clientBasedTransformer/invalidDataset_1/data.json index 993c47fc..07611ed9 100644 --- a/generator/test/transformers/googleCloud/dummyData/clientBasedTransformer/invalidDataset_1/data.json +++ b/generator/test/transformers/googleCloud/dummyData/clientBasedTransformer/invalidDataset_1/data.json @@ -1,124 +1,124 @@ { - "functions": [ - { - "functionName": "create", - "SDKFunctionName": "createOrUpdate", - "params": [ - { - "name": "resourceGroupName", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "resourceName", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "parameters", - "optional": false, - "type": "TypeReference" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "pkgName": "arm-containerservice", - "fileName": "managedClusters.d.ts", - "client": "ContainerServiceClient", - "returnType": "TypeReference" - }, - { - "functionName": "delete", - "SDKFunctionName": "deleteMethod", - "params": [ - { - "name": "resourceGroupName", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "resourceName", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "pkgName": "arm-containerservice", - "fileName": "managedClusters.d.ts", - "client": "ContainerServiceClient", - "returnType": "TypeReference" - }, - { - "functionName": "updateTags", - "SDKFunctionName": "updateTags", - "params": [ - { - "name": "resourceGroupName", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "resourceName", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "parameters", - "optional": false, - "type": "TypeReference" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "pkgName": "arm-containerservice", - "fileName": "managedClusters.d.ts", - "client": "ContainerServiceClient", - "returnType": "TypeReference" - }, - { - "functionName": "listByResourceGroup", - "SDKFunctionName": "listByResourceGroup", - "params": [ - { - "name": "resourceGroupName", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "pkgName": "arm-containerservice", - "fileName": "managedClusters.d.ts", - "client": "ContainerServiceClient", - "returnType": "TypeReference" - }, - { - "functionName": "listClusters", - "SDKFunctionName": "list", - "params": [ - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "pkgName": "arm-containerservice", - "fileName": "managedClusters.d.ts", - "client": "ContainerServiceClient", - "returnType": "TypeReference" - } - ] + "functions": [ + { + "functionName": "create", + "SDKFunctionName": "createOrUpdate", + "params": [ + { + "name": "resourceGroupName", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "resourceName", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "parameters", + "optional": false, + "type": "TypeReference" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "pkgName": "arm-containerservice", + "fileName": "managedClusters.d.ts", + "client": "ContainerServiceClient", + "returnType": "TypeReference" + }, + { + "functionName": "delete", + "SDKFunctionName": "deleteMethod", + "params": [ + { + "name": "resourceGroupName", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "resourceName", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "pkgName": "arm-containerservice", + "fileName": "managedClusters.d.ts", + "client": "ContainerServiceClient", + "returnType": "TypeReference" + }, + { + "functionName": "updateTags", + "SDKFunctionName": "updateTags", + "params": [ + { + "name": "resourceGroupName", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "resourceName", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "parameters", + "optional": false, + "type": "TypeReference" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "pkgName": "arm-containerservice", + "fileName": "managedClusters.d.ts", + "client": "ContainerServiceClient", + "returnType": "TypeReference" + }, + { + "functionName": "listByResourceGroup", + "SDKFunctionName": "listByResourceGroup", + "params": [ + { + "name": "resourceGroupName", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "pkgName": "arm-containerservice", + "fileName": "managedClusters.d.ts", + "client": "ContainerServiceClient", + "returnType": "TypeReference" + }, + { + "functionName": "listClusters", + "SDKFunctionName": "list", + "params": [ + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "pkgName": "arm-containerservice", + "fileName": "managedClusters.d.ts", + "client": "ContainerServiceClient", + "returnType": "TypeReference" + } + ] } diff --git a/generator/test/transformers/googleCloud/dummyData/clientBasedTransformer/validDataset/data.json b/generator/test/transformers/googleCloud/dummyData/clientBasedTransformer/validDataset/data.json index 1a162f72..4d675398 100644 --- a/generator/test/transformers/googleCloud/dummyData/clientBasedTransformer/validDataset/data.json +++ b/generator/test/transformers/googleCloud/dummyData/clientBasedTransformer/validDataset/data.json @@ -1,125 +1,125 @@ { - "functions": [ - { - "functionName": "createAlarm", - "SDKFunctionName": "createAlertPolicy", - "params": [ - { - "name": "request", - "optional": false, - "type": "TypeReference" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "pkgName": "monitoring", - "fileName": "alert_policy_service_client.d.ts", - "client": "AlertPolicyServiceClient", - "returnType": "TypeReference", - "returnTypeName": "Promise" - }, - { - "functionName": "deleteAlarm", - "SDKFunctionName": "deleteAlertPolicy", - "params": [ - { - "name": "request", - "optional": false, - "type": "TypeReference" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "pkgName": "monitoring", - "fileName": "alert_policy_service_client.d.ts", - "client": "AlertPolicyServiceClient", - "returnType": "TypeReference", - "returnTypeName": "Promise" - }, - { - "functionName": "updateAlarm", - "SDKFunctionName": "updateAlertPolicy", - "params": [ - { - "name": "request", - "optional": false, - "type": "TypeReference" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "pkgName": "monitoring", - "fileName": "alert_policy_service_client.d.ts", - "client": "AlertPolicyServiceClient", - "returnType": "TypeReference", - "returnTypeName": "Promise" - }, - { - "functionName": "listAlarms", - "SDKFunctionName": "listAlertPolicies", - "params": [ - { - "name": "request", - "optional": false, - "type": "TypeReference" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "pkgName": "monitoring", - "fileName": "alert_policy_service_client.d.ts", - "client": "AlertPolicyServiceClient", - "returnType": "TypeReference", - "returnTypeName": "Promise" - }, - { - "functionName": "getMetricDescriptor", - "SDKFunctionName": "getMetricDescriptor", - "params": [ - { - "name": "request", - "optional": false, - "type": "TypeReference" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "pkgName": "monitoring", - "fileName": "metric_service_client.d.ts", - "client": "MetricServiceClient", - "returnType": "TypeReference", - "returnTypeName": "Promise" - }, - { - "functionName": "projectPath", - "SDKFunctionName": "projectPath", - "params": [ - { - "name": "project", - "optional": false, - "type": "StringKeyword" - } - ], - "pkgName": "monitoring", - "fileName": "alert_policy_service_client.d.ts", - "client": "AlertPolicyServiceClient", - "returnType": "StringKeyword", - "returnTypeName": null - } - ] + "functions": [ + { + "functionName": "createAlarm", + "SDKFunctionName": "createAlertPolicy", + "params": [ + { + "name": "request", + "optional": false, + "type": "TypeReference" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "pkgName": "monitoring", + "fileName": "alert_policy_service_client.d.ts", + "client": "AlertPolicyServiceClient", + "returnType": "TypeReference", + "returnTypeName": "Promise" + }, + { + "functionName": "deleteAlarm", + "SDKFunctionName": "deleteAlertPolicy", + "params": [ + { + "name": "request", + "optional": false, + "type": "TypeReference" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "pkgName": "monitoring", + "fileName": "alert_policy_service_client.d.ts", + "client": "AlertPolicyServiceClient", + "returnType": "TypeReference", + "returnTypeName": "Promise" + }, + { + "functionName": "updateAlarm", + "SDKFunctionName": "updateAlertPolicy", + "params": [ + { + "name": "request", + "optional": false, + "type": "TypeReference" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "pkgName": "monitoring", + "fileName": "alert_policy_service_client.d.ts", + "client": "AlertPolicyServiceClient", + "returnType": "TypeReference", + "returnTypeName": "Promise" + }, + { + "functionName": "listAlarms", + "SDKFunctionName": "listAlertPolicies", + "params": [ + { + "name": "request", + "optional": false, + "type": "TypeReference" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "pkgName": "monitoring", + "fileName": "alert_policy_service_client.d.ts", + "client": "AlertPolicyServiceClient", + "returnType": "TypeReference", + "returnTypeName": "Promise" + }, + { + "functionName": "getMetricDescriptor", + "SDKFunctionName": "getMetricDescriptor", + "params": [ + { + "name": "request", + "optional": false, + "type": "TypeReference" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "pkgName": "monitoring", + "fileName": "metric_service_client.d.ts", + "client": "MetricServiceClient", + "returnType": "TypeReference", + "returnTypeName": "Promise" + }, + { + "functionName": "projectPath", + "SDKFunctionName": "projectPath", + "params": [ + { + "name": "project", + "optional": false, + "type": "StringKeyword" + } + ], + "pkgName": "monitoring", + "fileName": "alert_policy_service_client.d.ts", + "client": "AlertPolicyServiceClient", + "returnType": "StringKeyword", + "returnTypeName": null + } + ] } diff --git a/generator/test/transformers/lib/helper.ts b/generator/test/transformers/lib/helper.ts index 886124d5..9774466c 100644 --- a/generator/test/transformers/lib/helper.ts +++ b/generator/test/transformers/lib/helper.ts @@ -1,35 +1,35 @@ -import * as fs from "fs"; -import { createSourceFile,ScriptTarget } from "typescript"; +import * as fs from 'fs'; +import { createSourceFile, ScriptTarget } from 'typescript'; export function readSourceFile(datasetName, provider) { - return new Promise((resolve, reject) => { - try { - const testFile = - process.cwd() + - `/test/transformers/${provider}/dummyData/${datasetName}/sourceFile.js`; - const testAST = createSourceFile( - testFile, - fs.readFileSync(testFile).toString(), - ScriptTarget.Latest, - true - ); - resolve(testAST); - } catch (error) { - console.error(error); - } - }); + return new Promise((resolve, reject) => { + try { + const testFile = + process.cwd() + + `/test/transformers/${provider}/dummyData/${datasetName}/sourceFile.js`; + const testAST = createSourceFile( + testFile, + fs.readFileSync(testFile).toString(), + ScriptTarget.Latest, + true + ); + resolve(testAST); + } catch (error) { + console.error(error); + } + }); } export function readJsonData(datasetName, provider) { - return new Promise((resolve, reject) => { - try { - const testFile = - process.cwd() + - `/test/transformers/${provider}/dummyData/${datasetName}/data.json`; - const testData = JSON.parse(fs.readFileSync(testFile, "utf8")); - resolve(testData); - } catch (error) { - console.error(error); - } - }); + return new Promise((resolve, reject) => { + try { + const testFile = + process.cwd() + + `/test/transformers/${provider}/dummyData/${datasetName}/data.json`; + const testData = JSON.parse(fs.readFileSync(testFile, 'utf8')); + resolve(testData); + } catch (error) { + console.error(error); + } + }); } diff --git a/generator/transformers/aws/transformer.ts b/generator/transformers/aws/transformer.ts index 31230633..19e9dfd7 100644 --- a/generator/transformers/aws/transformer.ts +++ b/generator/transformers/aws/transformer.ts @@ -1,239 +1,252 @@ -import { cloneDeep } from "lodash"; -import * as ts from "typescript"; +import { cloneDeep } from 'lodash'; +import * as ts from 'typescript'; const dummyIdentifiers = [ - "ClassName", - "_sdkClassName", - "SDKClassName", - "SDKFunctionName" + 'ClassName', + '_sdkClassName', + 'SDKClassName', + 'SDKFunctionName', ]; const printer: ts.Printer = ts.createPrinter({ - newLine: ts.NewLineKind.LineFeed, - removeComments: false + newLine: ts.NewLineKind.LineFeed, + removeComments: false, }); function addMultiLineComment(node, comment: string) { - ts.addSyntheticLeadingComment( - node, - ts.SyntaxKind.MultiLineCommentTrivia, - comment, - true - ); + ts.addSyntheticLeadingComment( + node, + ts.SyntaxKind.MultiLineCommentTrivia, + comment, + true + ); } function runTransformation(sourceCode, transformMethod): Promise { - return new Promise((resolve, reject) => { - try { - const result = ts.transform(sourceCode, [transformMethod]); - const transformedNodes = result.transformed[0]; - const output = printer.printNode( - ts.EmitHint.SourceFile, - transformedNodes, - sourceCode - ); - resolve(output); - } catch (error) { - reject(error); - } - }); + return new Promise((resolve, reject) => { + try { + const result = ts.transform(sourceCode, [transformMethod]); + const transformedNodes = result.transformed[0]; + const output = printer.printNode( + ts.EmitHint.SourceFile, + transformedNodes, + sourceCode + ); + resolve(output); + } catch (error) { + reject(error); + } + }); } function toSourceFile(sourceCode: string): ts.SourceFile { - return ts.createSourceFile( - "dummyClass.js", - sourceCode, - ts.ScriptTarget.Latest, - true - ); + return ts.createSourceFile( + 'dummyClass.js', + sourceCode, + ts.ScriptTarget.Latest, + true + ); } export async function transform( - code: ts.SourceFile, - classData: any + code: ts.SourceFile, + classData: any ): Promise { - const addFunctions = ( - context: ts.TransformationContext - ) => (rootNode: T) => { - function visit(node: ts.Node): ts.Node { - if (ts.isClassDeclaration(node)) { - let functions: any = []; - classData.functions.map(method => { - const clonedNode = Object.assign({}, node.members[1]); - clonedNode.name = ts.createIdentifier(method.functionName); - functions.push(clonedNode); - }); - - const updatedClass = ts.updateClassDeclaration( - node, - node.decorators, - node.modifiers, - node.name, - node.typeParameters, - node.heritageClauses, - ts.createNodeArray([node.members[0]].concat(functions)) - ); - - return updatedClass; - } - return ts.visitEachChild(node, visit, context); - } - return ts.visitNode(rootNode, visit); - }; - - const addIdentifiers = ( - context: ts.TransformationContext - ) => (rootNode: T) => { - let count = 0; - function visit(node: ts.Node): ts.Node { - if (ts.isMethodDeclaration(node)) { - const parameters = classData.functions[count].params.map(param => { - const paramNode = ts.createParameter( - undefined, - undefined, - undefined, - param.name - ); - - if (param.optional) { - paramNode.initializer = ts.createIdentifier("undefined"); - } - - return paramNode; - }); - - node.parameters = parameters; - } - - if (ts.isIdentifier(node) && dummyIdentifiers.includes(node.text)) { - let updatedIdentifier; - - switch (node.text) { - case "ClassName": - updatedIdentifier = ts.updateIdentifier( - ts.createIdentifier("AWS_" + classData.serviceName) - ); - break; - case "_sdkClassName": - updatedIdentifier = ts.updateIdentifier( - ts.createIdentifier( - "_" + - classData.className.charAt(0).toLowerCase() + - classData.className.substr(1) - ) - ); - break; - case "SDKClassName": - updatedIdentifier = ts.updateIdentifier( - ts.createIdentifier(classData.className) - ); - break; - case "SDKFunctionName": - updatedIdentifier = ts.updateIdentifier( - ts.createIdentifier(classData.functions[count].SDKFunctionName) - ); - count++; - } - - return updatedIdentifier; - } - - if (ts.isCallExpression(node)) { - node.expression.forEachChild(childNode => { - if ( - ts.isIdentifier(childNode) && - childNode.text === "SDKFunctionName" - ) { - const args = classData.functions[count].params.map(param => - ts.createIdentifier(param.name) - ); - node.arguments = args.concat(node.arguments); - } - }); - } - - return ts.visitEachChild(node, visit, context); - } - return ts.visitNode(rootNode, visit); - }; - - const addComments = ( - context: ts.TransformationContext - ) => (rootNode: T) => { - let count = 0; - - function visit(node: ts.Node): ts.Node { - if (ts.isClassDeclaration(node)) { - addMultiLineComment( - node, - "This is an auto generated class, please do not change." - ); - const comment = `* + const addFunctions = ( + context: ts.TransformationContext + ) => (rootNode: T) => { + function visit(node: ts.Node): ts.Node { + if (ts.isClassDeclaration(node)) { + let functions: any = []; + classData.functions.map(method => { + const clonedNode = Object.assign({}, node.members[1]); + clonedNode.name = ts.createIdentifier(method.functionName); + functions.push(clonedNode); + }); + + const updatedClass = ts.updateClassDeclaration( + node, + node.decorators, + node.modifiers, + node.name, + node.typeParameters, + node.heritageClauses, + ts.createNodeArray([node.members[0]].concat(functions)) + ); + + return updatedClass; + } + return ts.visitEachChild(node, visit, context); + } + return ts.visitNode(rootNode, visit); + }; + + const addIdentifiers = ( + context: ts.TransformationContext + ) => (rootNode: T) => { + let count = 0; + function visit(node: ts.Node): ts.Node { + if (ts.isMethodDeclaration(node)) { + const parameters = classData.functions[count].params.map( + param => { + const paramNode = ts.createParameter( + undefined, + undefined, + undefined, + param.name + ); + + if (param.optional) { + paramNode.initializer = ts.createIdentifier( + 'undefined' + ); + } + + return paramNode; + } + ); + + node.parameters = parameters; + } + + if (ts.isIdentifier(node) && dummyIdentifiers.includes(node.text)) { + let updatedIdentifier; + + switch (node.text) { + case 'ClassName': + updatedIdentifier = ts.updateIdentifier( + ts.createIdentifier('AWS_' + classData.serviceName) + ); + break; + case '_sdkClassName': + updatedIdentifier = ts.updateIdentifier( + ts.createIdentifier( + '_' + + classData.className + .charAt(0) + .toLowerCase() + + classData.className.substr(1) + ) + ); + break; + case 'SDKClassName': + updatedIdentifier = ts.updateIdentifier( + ts.createIdentifier(classData.className) + ); + break; + case 'SDKFunctionName': + updatedIdentifier = ts.updateIdentifier( + ts.createIdentifier( + classData.functions[count].SDKFunctionName + ) + ); + count++; + } + + return updatedIdentifier; + } + + if (ts.isCallExpression(node)) { + node.expression.forEachChild(childNode => { + if ( + ts.isIdentifier(childNode) && + childNode.text === 'SDKFunctionName' + ) { + const args = classData.functions[count].params.map( + param => ts.createIdentifier(param.name) + ); + node.arguments = args.concat(node.arguments); + } + }); + } + + return ts.visitEachChild(node, visit, context); + } + return ts.visitNode(rootNode, visit); + }; + + const addComments = ( + context: ts.TransformationContext + ) => (rootNode: T) => { + let count = 0; + + function visit(node: ts.Node): ts.Node { + if (ts.isClassDeclaration(node)) { + addMultiLineComment( + node, + 'This is an auto generated class, please do not change.' + ); + const comment = `* * Class to create a ${classData.className} object * @category AWS `; - addMultiLineComment(node, comment); - } - - if (ts.isMethodDeclaration(node)) { - let parameters = classData.functions[count].params.map(param => { - let statment; - - if (param.optional) { - statment = `* @param {${param.typeName}} [${param.name}] - Data required for ${classData.functions[count].SDKFunctionName}`; - } else { - statment = `* @param {${param.typeName}} ${param.name} - Data required for ${classData.functions[count].SDKFunctionName}`; - } - return statment; - }); - - let comment; - if (parameters.length > 0) { - let paramStatments: string = ""; - parameters.map(param => { - paramStatments = paramStatments.concat( - paramStatments === "" ? `${param}` : `\n ${param}` - ); - }); - - comment = `* + addMultiLineComment(node, comment); + } + + if (ts.isMethodDeclaration(node)) { + let parameters = classData.functions[count].params.map( + param => { + let statment; + + if (param.optional) { + statment = `* @param {${param.typeName}} [${param.name}] - Data required for ${classData.functions[count].SDKFunctionName}`; + } else { + statment = `* @param {${param.typeName}} ${param.name} - Data required for ${classData.functions[count].SDKFunctionName}`; + } + return statment; + } + ); + + let comment; + if (parameters.length > 0) { + let paramStatments: string = ''; + parameters.map(param => { + paramStatments = paramStatments.concat( + paramStatments === '' ? `${param}` : `\n ${param}` + ); + }); + + comment = `* * Trigers the ${classData.functions[count].SDKFunctionName} function of ${classData.className} ${paramStatments} * @returns {Promise<${classData.functions[count].SDKFunctionName}Response>} `; - } else { - comment = `* + } else { + comment = `* * Trigers the ${classData.functions[count].SDKFunctionName} function of ${classData.className} * @returns {Promise<${classData.functions[count].SDKFunctionName}Response>} `; - } - - addMultiLineComment(node, comment); - count++; - } - - return ts.visitEachChild(node, visit, context); - } - return ts.visitNode(rootNode, visit); - }; - - const node: any = code.statements.find(stm => ts.isClassDeclaration(stm)); - - if (!classData.className || !classData.functions) { - throw new Error("Input is invalid"); - } - - if (!node || !node.members.some(member => ts.isMethodDeclaration(member))) { - throw new Error("Code is invalid"); - } - - code = cloneDeep(code); - - const result_1 = await runTransformation(code, addFunctions); - const result_2 = await runTransformation( - toSourceFile(result_1), - addIdentifiers - ); - const result_3 = await runTransformation(toSourceFile(result_2), addComments); - return result_3; + } + + addMultiLineComment(node, comment); + count++; + } + + return ts.visitEachChild(node, visit, context); + } + return ts.visitNode(rootNode, visit); + }; + + const node: any = code.statements.find(stm => ts.isClassDeclaration(stm)); + + if (!classData.className || !classData.functions) { + throw new Error('Input is invalid'); + } + + if (!node || !node.members.some(member => ts.isMethodDeclaration(member))) { + throw new Error('Code is invalid'); + } + + code = cloneDeep(code); + + const result_1 = await runTransformation(code, addFunctions); + const result_2 = await runTransformation( + toSourceFile(result_1), + addIdentifiers + ); + const result_3 = await runTransformation( + toSourceFile(result_2), + addComments + ); + return result_3; } diff --git a/generator/transformers/azure/transformer.ts b/generator/transformers/azure/transformer.ts index 1c9fd106..34f0a8dd 100644 --- a/generator/transformers/azure/transformer.ts +++ b/generator/transformers/azure/transformer.ts @@ -1,262 +1,279 @@ -import { cloneDeep } from "lodash"; -import * as ts from "typescript"; +import { cloneDeep } from 'lodash'; +import * as ts from 'typescript'; const dummyIdentifiers = [ - "ClassName", - "SDKClassName", - "SDKFunctionName", - "ClientName", - "functionClient" + 'ClassName', + 'SDKClassName', + 'SDKFunctionName', + 'ClientName', + 'functionClient', ]; const printer: ts.Printer = ts.createPrinter({ - newLine: ts.NewLineKind.LineFeed, - removeComments: false + newLine: ts.NewLineKind.LineFeed, + removeComments: false, }); function addMultiLineComment(node, comment: string) { - ts.addSyntheticLeadingComment( - node, - ts.SyntaxKind.MultiLineCommentTrivia, - comment, - true - ); + ts.addSyntheticLeadingComment( + node, + ts.SyntaxKind.MultiLineCommentTrivia, + comment, + true + ); } function runTransformation(sourceCode, transformMethod): Promise { - return new Promise((resolve, reject) => { - try { - const result = ts.transform(sourceCode, [transformMethod]); - const transformedNodes = result.transformed[0]; - const output = printer.printNode( - ts.EmitHint.SourceFile, - transformedNodes, - sourceCode - ); - resolve(output); - } catch (error) { - reject(error); - } - }); + return new Promise((resolve, reject) => { + try { + const result = ts.transform(sourceCode, [transformMethod]); + const transformedNodes = result.transformed[0]; + const output = printer.printNode( + ts.EmitHint.SourceFile, + transformedNodes, + sourceCode + ); + resolve(output); + } catch (error) { + reject(error); + } + }); } function toSourceFile(sourceCode: string): ts.SourceFile { - return ts.createSourceFile( - "dummyClass.js", - sourceCode, - ts.ScriptTarget.Latest, - true - ); + return ts.createSourceFile( + 'dummyClass.js', + sourceCode, + ts.ScriptTarget.Latest, + true + ); } export async function transform( - code: ts.SourceFile, - classData: any + code: ts.SourceFile, + classData: any ): Promise { - const node: any = code.statements.find(stm => ts.isClassDeclaration(stm)); + const node: any = code.statements.find(stm => ts.isClassDeclaration(stm)); - if (!classData.functions) { - throw new Error("Input is invalid"); - } + if (!classData.functions) { + throw new Error('Input is invalid'); + } - if (!node || !node.members.some(member => ts.isMethodDeclaration(member))) { - throw new Error("Code is invalid"); - } + if (!node || !node.members.some(member => ts.isMethodDeclaration(member))) { + throw new Error('Code is invalid'); + } - code = cloneDeep(code); + code = cloneDeep(code); - // import related - classData.clients = Array.from( - new Set(classData.functions.map(method => method.client)) - ); - const importStatments: any = new Array(classData.clients.length); - importStatments.fill(Object.assign({}, code.statements[0])); - code.statements = importStatments.concat(code.statements.slice(1)); - // import related + // import related + classData.clients = Array.from( + new Set(classData.functions.map(method => method.client)) + ); + const importStatments: any = new Array(classData.clients.length); + importStatments.fill(Object.assign({}, code.statements[0])); + code.statements = importStatments.concat(code.statements.slice(1)); + // import related - const addFunctions = ( - context: ts.TransformationContext - ) => (rootNode: T) => { - function visit(node: ts.Node): ts.Node { - if (ts.isClassDeclaration(node)) { - let functions: any = []; - classData.functions.map(method => { - const clonedNode = Object.assign({}, node.members[1]); - clonedNode.name = ts.createIdentifier(method.functionName); - functions.push(clonedNode); - }); + const addFunctions = ( + context: ts.TransformationContext + ) => (rootNode: T) => { + function visit(node: ts.Node): ts.Node { + if (ts.isClassDeclaration(node)) { + let functions: any = []; + classData.functions.map(method => { + const clonedNode = Object.assign({}, node.members[1]); + clonedNode.name = ts.createIdentifier(method.functionName); + functions.push(clonedNode); + }); - const updatedClass = ts.updateClassDeclaration( - node, - node.decorators, - node.modifiers, - node.name, - node.typeParameters, - node.heritageClauses, - ts.createNodeArray([node.members[0]].concat(functions)) - ); + const updatedClass = ts.updateClassDeclaration( + node, + node.decorators, + node.modifiers, + node.name, + node.typeParameters, + node.heritageClauses, + ts.createNodeArray([node.members[0]].concat(functions)) + ); - return updatedClass; - } - return ts.visitEachChild(node, visit, context); - } - return ts.visitNode(rootNode, visit); - }; + return updatedClass; + } + return ts.visitEachChild(node, visit, context); + } + return ts.visitNode(rootNode, visit); + }; - const addIdentifiers = ( - context: ts.TransformationContext - ) => (rootNode: T) => { - let count = 0; - let clientCount = 0; - function visit(node: ts.Node): ts.Node { - if (ts.isMethodDeclaration(node)) { - const parameters = classData.functions[count].params.map(param => { - const paramNode = ts.createParameter( - undefined, - undefined, - undefined, - param.name - ); + const addIdentifiers = ( + context: ts.TransformationContext + ) => (rootNode: T) => { + let count = 0; + let clientCount = 0; + function visit(node: ts.Node): ts.Node { + if (ts.isMethodDeclaration(node)) { + const parameters = classData.functions[count].params.map( + param => { + const paramNode = ts.createParameter( + undefined, + undefined, + undefined, + param.name + ); - if (param.optional) { - paramNode.initializer = ts.createIdentifier("undefined"); - } + if (param.optional) { + paramNode.initializer = ts.createIdentifier( + 'undefined' + ); + } - return paramNode; - }); + return paramNode; + } + ); - node.parameters = parameters; - } + node.parameters = parameters; + } - if (ts.isStringLiteral(node) && node.text === "pkgName") { - return ts.createStringLiteral( - "@azure/" + classData.functions[0].pkgName - ); - } + if (ts.isStringLiteral(node) && node.text === 'pkgName') { + return ts.createStringLiteral( + '@azure/' + classData.functions[0].pkgName + ); + } - if (ts.isIdentifier(node) && dummyIdentifiers.includes(node.text)) { - let updatedIdentifier; - switch (node.text) { - case "ClassName": - updatedIdentifier = ts.updateIdentifier( - ts.createIdentifier("Azure_" + classData.serviceName) - ); - break; - case "SDKClassName": - updatedIdentifier = ts.updateIdentifier( - ts.createIdentifier( - classData.functions[count].fileName.split(".")[0] - ) - ); - break; - case "functionClient": - updatedIdentifier = ts.updateIdentifier( - ts.createIdentifier(classData.functions[count].client) - ); - break; - case "ClientName": - updatedIdentifier = ts.updateIdentifier( - ts.createIdentifier(classData.clients[clientCount]) - ); - clientCount++; - break; - case "SDKFunctionName": - updatedIdentifier = ts.updateIdentifier( - ts.createIdentifier(classData.functions[count].SDKFunctionName) - ); - count++; - } - return updatedIdentifier; - } + if (ts.isIdentifier(node) && dummyIdentifiers.includes(node.text)) { + let updatedIdentifier; + switch (node.text) { + case 'ClassName': + updatedIdentifier = ts.updateIdentifier( + ts.createIdentifier( + 'Azure_' + classData.serviceName + ) + ); + break; + case 'SDKClassName': + updatedIdentifier = ts.updateIdentifier( + ts.createIdentifier( + classData.functions[count].fileName.split( + '.' + )[0] + ) + ); + break; + case 'functionClient': + updatedIdentifier = ts.updateIdentifier( + ts.createIdentifier( + classData.functions[count].client + ) + ); + break; + case 'ClientName': + updatedIdentifier = ts.updateIdentifier( + ts.createIdentifier(classData.clients[clientCount]) + ); + clientCount++; + break; + case 'SDKFunctionName': + updatedIdentifier = ts.updateIdentifier( + ts.createIdentifier( + classData.functions[count].SDKFunctionName + ) + ); + count++; + } + return updatedIdentifier; + } - if (ts.isCallExpression(node)) { - node.expression.forEachChild(childNode => { - if ( - ts.isIdentifier(childNode) && - childNode.text === "SDKFunctionName" - ) { - const args = classData.functions[count].params.map(param => - ts.createIdentifier(param.name) - ); - node.arguments = args; - } - }); - } + if (ts.isCallExpression(node)) { + node.expression.forEachChild(childNode => { + if ( + ts.isIdentifier(childNode) && + childNode.text === 'SDKFunctionName' + ) { + const args = classData.functions[count].params.map( + param => ts.createIdentifier(param.name) + ); + node.arguments = args; + } + }); + } - return ts.visitEachChild(node, visit, context); - } - return ts.visitNode(rootNode, visit); - }; + return ts.visitEachChild(node, visit, context); + } + return ts.visitNode(rootNode, visit); + }; - const addComments = ( - context: ts.TransformationContext - ) => (rootNode: T) => { - let count = 0; + const addComments = ( + context: ts.TransformationContext + ) => (rootNode: T) => { + let count = 0; - function visit(node: ts.Node): ts.Node { - if (ts.isClassDeclaration(node)) { - addMultiLineComment( - node, - "This is an auto generated class, please do not change." - ); - const comment = `* + function visit(node: ts.Node): ts.Node { + if (ts.isClassDeclaration(node)) { + addMultiLineComment( + node, + 'This is an auto generated class, please do not change.' + ); + const comment = `* * Class to create a ${classData.serviceName} object * @category Azure `; - addMultiLineComment(node, comment); - } + addMultiLineComment(node, comment); + } - if (ts.isMethodDeclaration(node)) { - let parameters = classData.functions[count].params.map(param => { - let statment; + if (ts.isMethodDeclaration(node)) { + let parameters = classData.functions[count].params.map( + param => { + let statment; - if (param.optional) { - statment = `* @param {${param.type}} [${param.name}] - Optional parameter`; - } else { - statment = `* @param {${param.type}} ${param.name} - Mandatory parameter`; - } - return statment; - }); + if (param.optional) { + statment = `* @param {${param.type}} [${param.name}] - Optional parameter`; + } else { + statment = `* @param {${param.type}} ${param.name} - Mandatory parameter`; + } + return statment; + } + ); - let comment; - if (parameters.length > 0) { - let paramStatments: string = ""; - parameters.map(param => { - paramStatments = paramStatments.concat( - paramStatments === "" ? `${param}` : `\n ${param}` - ); - }); + let comment; + if (parameters.length > 0) { + let paramStatments: string = ''; + parameters.map(param => { + paramStatments = paramStatments.concat( + paramStatments === '' ? `${param}` : `\n ${param}` + ); + }); - comment = `* + comment = `* * Trigers the ${classData.functions[count].SDKFunctionName} function of ${ - classData.functions[0].pkgName.split("-")[1] - } + classData.functions[0].pkgName.split('-')[1] + } ${paramStatments} * @returns {Promise<${classData.functions[count].SDKFunctionName}Response>} `; - } else { - comment = `* + } else { + comment = `* * Trigers the ${classData.functions[count].SDKFunctionName} function of ${ - classData.functions[0].pkgName.split("-")[1] - } + classData.functions[0].pkgName.split('-')[1] + } * @returns {Promise<${classData.functions[count].SDKFunctionName}Response>} `; - } + } - addMultiLineComment(node, comment); - count++; - } + addMultiLineComment(node, comment); + count++; + } - return ts.visitEachChild(node, visit, context); - } - return ts.visitNode(rootNode, visit); - }; + return ts.visitEachChild(node, visit, context); + } + return ts.visitNode(rootNode, visit); + }; - const result_1 = await runTransformation(code, addFunctions); - const result_2 = await runTransformation( - toSourceFile(result_1), - addIdentifiers - ); - const result_3 = await runTransformation(toSourceFile(result_2), addComments); - return result_3; + const result_1 = await runTransformation(code, addFunctions); + const result_2 = await runTransformation( + toSourceFile(result_1), + addIdentifiers + ); + const result_3 = await runTransformation( + toSourceFile(result_2), + addComments + ); + return result_3; } diff --git a/generator/transformers/do/transformer.ts b/generator/transformers/do/transformer.ts index 3f063962..0f8d24c3 100644 --- a/generator/transformers/do/transformer.ts +++ b/generator/transformers/do/transformer.ts @@ -1,51 +1,51 @@ -import { cloneDeep } from "lodash"; -import * as ts from "typescript"; +import { cloneDeep } from 'lodash'; +import * as ts from 'typescript'; const dummyIdentifiers = [ - "ClassName", - "_sdkClassName", - "SDKClassName", - "SDKFunctionName" + 'ClassName', + '_sdkClassName', + 'SDKClassName', + 'SDKFunctionName', ]; const printer: ts.Printer = ts.createPrinter({ - newLine: ts.NewLineKind.LineFeed, - removeComments: false + newLine: ts.NewLineKind.LineFeed, + removeComments: false, }); function addMultiLineComment(node, comment: string) { - ts.addSyntheticLeadingComment( - node, - ts.SyntaxKind.MultiLineCommentTrivia, - comment, - true - ); + ts.addSyntheticLeadingComment( + node, + ts.SyntaxKind.MultiLineCommentTrivia, + comment, + true + ); } function runTransformation(sourceCode, transformMethod): Promise { - return new Promise((resolve, reject) => { - try { - const result = ts.transform(sourceCode, [transformMethod]); - const transformedNodes = result.transformed[0]; - const output = printer.printNode( - ts.EmitHint.SourceFile, - transformedNodes, - sourceCode - ); - resolve(output); - } catch (error) { - reject(error); - } - }); + return new Promise((resolve, reject) => { + try { + const result = ts.transform(sourceCode, [transformMethod]); + const transformedNodes = result.transformed[0]; + const output = printer.printNode( + ts.EmitHint.SourceFile, + transformedNodes, + sourceCode + ); + resolve(output); + } catch (error) { + reject(error); + } + }); } function toSourceFile(sourceCode: string): ts.SourceFile { - return ts.createSourceFile( - "dummyClass.js", - sourceCode, - ts.ScriptTarget.Latest, - true - ); + return ts.createSourceFile( + 'dummyClass.js', + sourceCode, + ts.ScriptTarget.Latest, + true + ); } /* @@ -53,215 +53,228 @@ function toSourceFile(sourceCode: string): ts.SourceFile { */ export async function transform( - code: ts.SourceFile, - classData: any + code: ts.SourceFile, + classData: any ): Promise { - /* - * Transformation function for adding Functions - */ - const addFunctions = ( - context: ts.TransformationContext - ) => (rootNode: T) => { - function visit(node: ts.Node): ts.Node { - if (ts.isClassDeclaration(node)) { - let functions: any = []; - classData.functions.map(method => { - const clonedNode = Object.assign({}, node.members[1]); - // console.log("Cloned Node..........\n");//sdadas - // console.log(clonedNode);//asdasdasdasd - clonedNode.name = ts.createIdentifier(method.functionName); - functions.push(clonedNode); - }); - - const updatedClass = ts.updateClassDeclaration( - node, - node.decorators, - node.modifiers, - node.name, - node.typeParameters, - node.heritageClauses, - ts.createNodeArray([node.members[0]].concat(functions)) - ); - - return updatedClass; - } - return ts.visitEachChild(node, visit, context); - } - return ts.visitNode(rootNode, visit); - }; - - /* - * Transformation function for adding Identifiers/Parameters - */ - const addIdentifiers = ( - context: ts.TransformationContext - ) => (rootNode: T) => { - let count = 0; - function visit(node: ts.Node): ts.Node { - if (ts.isMethodDeclaration(node)) { - const parameters = classData.functions[count].params.map(param => { - const paramNode = ts.createParameter( - undefined, - undefined, - undefined, - param.name - ); - - if (param.optional) { - paramNode.initializer = ts.createIdentifier("undefined"); - } - - return paramNode; - }); - - node.parameters = parameters; - } - - if (ts.isIdentifier(node) && dummyIdentifiers.includes(node.text)) { - let updatedIdentifier; - - switch (node.text) { - case "ClassName": - updatedIdentifier = ts.updateIdentifier( - ts.createIdentifier("DO_" + classData.serviceName) - ); - break; - case "_sdkClassName": - updatedIdentifier = ts.updateIdentifier( - ts.createIdentifier( - "_" + - classData.className.charAt(0).toLowerCase() + - classData.className.substr(1) - ) - ); - break; - case "SDKClassName": - updatedIdentifier = ts.updateIdentifier( - ts.createIdentifier( - classData.className.charAt(0).toLowerCase() + - classData.className.substr(1) - ) - ); - break; - case "SDKFunctionName": - updatedIdentifier = ts.updateIdentifier( - ts.createIdentifier(classData.functions[count].SDKFunctionName) - ); - count++; - } - - return updatedIdentifier; - } - - if (ts.isCallExpression(node)) { - node.expression.forEachChild(childNode => { - if ( - ts.isIdentifier(childNode) && - childNode.text === "SDKFunctionName" - ) { - const args = classData.functions[count].params.map(param => - ts.createIdentifier(param.name) - ); - node.arguments = args.concat(node.arguments); - } - }); - } - - return ts.visitEachChild(node, visit, context); - } - return ts.visitNode(rootNode, visit); - }; - - /* - *Transformation function for adding comments - */ - - const addComments = ( - context: ts.TransformationContext - ) => (rootNode: T) => { - let count = 0; - - function visit(node: ts.Node): ts.Node { - if (ts.isClassDeclaration(node)) { - addMultiLineComment( - node, - "This is an auto generated class, please do not change." - ); - const comment = `* + /* + * Transformation function for adding Functions + */ + const addFunctions = ( + context: ts.TransformationContext + ) => (rootNode: T) => { + function visit(node: ts.Node): ts.Node { + if (ts.isClassDeclaration(node)) { + let functions: any = []; + classData.functions.map(method => { + const clonedNode = Object.assign({}, node.members[1]); + // console.log("Cloned Node..........\n");//sdadas + // console.log(clonedNode);//asdasdasdasd + clonedNode.name = ts.createIdentifier(method.functionName); + functions.push(clonedNode); + }); + + const updatedClass = ts.updateClassDeclaration( + node, + node.decorators, + node.modifiers, + node.name, + node.typeParameters, + node.heritageClauses, + ts.createNodeArray([node.members[0]].concat(functions)) + ); + + return updatedClass; + } + return ts.visitEachChild(node, visit, context); + } + return ts.visitNode(rootNode, visit); + }; + + /* + * Transformation function for adding Identifiers/Parameters + */ + const addIdentifiers = ( + context: ts.TransformationContext + ) => (rootNode: T) => { + let count = 0; + function visit(node: ts.Node): ts.Node { + if (ts.isMethodDeclaration(node)) { + const parameters = classData.functions[count].params.map( + param => { + const paramNode = ts.createParameter( + undefined, + undefined, + undefined, + param.name + ); + + if (param.optional) { + paramNode.initializer = ts.createIdentifier( + 'undefined' + ); + } + + return paramNode; + } + ); + + node.parameters = parameters; + } + + if (ts.isIdentifier(node) && dummyIdentifiers.includes(node.text)) { + let updatedIdentifier; + + switch (node.text) { + case 'ClassName': + updatedIdentifier = ts.updateIdentifier( + ts.createIdentifier('DO_' + classData.serviceName) + ); + break; + case '_sdkClassName': + updatedIdentifier = ts.updateIdentifier( + ts.createIdentifier( + '_' + + classData.className + .charAt(0) + .toLowerCase() + + classData.className.substr(1) + ) + ); + break; + case 'SDKClassName': + updatedIdentifier = ts.updateIdentifier( + ts.createIdentifier( + classData.className.charAt(0).toLowerCase() + + classData.className.substr(1) + ) + ); + break; + case 'SDKFunctionName': + updatedIdentifier = ts.updateIdentifier( + ts.createIdentifier( + classData.functions[count].SDKFunctionName + ) + ); + count++; + } + + return updatedIdentifier; + } + + if (ts.isCallExpression(node)) { + node.expression.forEachChild(childNode => { + if ( + ts.isIdentifier(childNode) && + childNode.text === 'SDKFunctionName' + ) { + const args = classData.functions[count].params.map( + param => ts.createIdentifier(param.name) + ); + node.arguments = args.concat(node.arguments); + } + }); + } + + return ts.visitEachChild(node, visit, context); + } + return ts.visitNode(rootNode, visit); + }; + + /* + *Transformation function for adding comments + */ + + const addComments = ( + context: ts.TransformationContext + ) => (rootNode: T) => { + let count = 0; + + function visit(node: ts.Node): ts.Node { + if (ts.isClassDeclaration(node)) { + addMultiLineComment( + node, + 'This is an auto generated class, please do not change.' + ); + const comment = `* * Class to create a ${classData.className} object * @category Digital Ocean `; - addMultiLineComment(node, comment); - } - - if (ts.isMethodDeclaration(node)) { - let parameters = classData.functions[count].params.map(param => { - let statment; - - if (param.optional) { - if (param.type == "TypeReference") - statment = `* @param {${param.typeName}} ${param.name} - Data required for ${classData.functions[count].SDKFunctionName}`; - else - statment = `* @param {${param.type}} ${param.name} - Data required for ${classData.functions[count].SDKFunctionName}`; - } else { - if (param.type == "TypeReference") - statment = `* @param {${param.typeName}} ${param.name} - Data required for ${classData.functions[count].SDKFunctionName}`; - else - statment = `* @param {${param.type}} ${param.name} - Data required for ${classData.functions[count].SDKFunctionName}`; - } - return statment; - }); - - let comment; - if (parameters.length > 0) { - let paramStatments: string = ""; - parameters.map(param => { - paramStatments = paramStatments.concat( - paramStatments === "" ? `${param}` : `\n${param}` - ); - }); - - comment = `* + addMultiLineComment(node, comment); + } + + if (ts.isMethodDeclaration(node)) { + let parameters = classData.functions[count].params.map( + param => { + let statment; + + if (param.optional) { + if (param.type == 'TypeReference') + statment = `* @param {${param.typeName}} ${param.name} - Data required for ${classData.functions[count].SDKFunctionName}`; + else + statment = `* @param {${param.type}} ${param.name} - Data required for ${classData.functions[count].SDKFunctionName}`; + } else { + if (param.type == 'TypeReference') + statment = `* @param {${param.typeName}} ${param.name} - Data required for ${classData.functions[count].SDKFunctionName}`; + else + statment = `* @param {${param.type}} ${param.name} - Data required for ${classData.functions[count].SDKFunctionName}`; + } + return statment; + } + ); + + let comment; + if (parameters.length > 0) { + let paramStatments: string = ''; + parameters.map(param => { + paramStatments = paramStatments.concat( + paramStatments === '' ? `${param}` : `\n${param}` + ); + }); + + comment = `* * Trigers the ${classData.functions[count].SDKFunctionName} function of ${classData.className} ${paramStatments} * @returns {Promise<${classData.functions[count].SDKFunctionName}Response>} `; - } else { - comment = `* + } else { + comment = `* * Trigers the ${classData.functions[count].SDKFunctionName} function of ${classData.className} * @returns {Promise<${classData.functions[count].SDKFunctionName}Response>} `; - } - - addMultiLineComment(node, comment); - count++; - } - - return ts.visitEachChild(node, visit, context); - } - return ts.visitNode(rootNode, visit); - }; - - /* - * Code to get node and run tranformations - */ - const node: any = code.statements.find(stm => ts.isClassDeclaration(stm)); - - if (!classData.className || !classData.functions) { - throw new Error("Input is invalid"); - } - - if (!node || !node.members.some(member => ts.isMethodDeclaration(member))) { - throw new Error("Code is invalid"); - } - - code = cloneDeep(code); - - const result_1 = await runTransformation(code, addFunctions); - const result_2 = await runTransformation( - toSourceFile(result_1), - addIdentifiers - ); - const result_3 = await runTransformation(toSourceFile(result_2), addComments); - return result_3; + } + + addMultiLineComment(node, comment); + count++; + } + + return ts.visitEachChild(node, visit, context); + } + return ts.visitNode(rootNode, visit); + }; + + /* + * Code to get node and run tranformations + */ + const node: any = code.statements.find(stm => ts.isClassDeclaration(stm)); + + if (!classData.className || !classData.functions) { + throw new Error('Input is invalid'); + } + + if (!node || !node.members.some(member => ts.isMethodDeclaration(member))) { + throw new Error('Code is invalid'); + } + + code = cloneDeep(code); + + const result_1 = await runTransformation(code, addFunctions); + const result_2 = await runTransformation( + toSourceFile(result_1), + addIdentifiers + ); + const result_3 = await runTransformation( + toSourceFile(result_2), + addComments + ); + return result_3; } diff --git a/generator/transformers/googleCloud/classBasedTransformer.ts b/generator/transformers/googleCloud/classBasedTransformer.ts index a68f9365..99746fe1 100644 --- a/generator/transformers/googleCloud/classBasedTransformer.ts +++ b/generator/transformers/googleCloud/classBasedTransformer.ts @@ -1,310 +1,334 @@ -import { cloneDeep } from "lodash"; -import * as ts from "typescript"; +import { cloneDeep } from 'lodash'; +import * as ts from 'typescript'; const dummyIdentifiers = [ - "ClassName", - "SDKFunctionName", - "ClientName", - "_client", - "_clientObj", - "Client", - "_className" + 'ClassName', + 'SDKFunctionName', + 'ClientName', + '_client', + '_clientObj', + 'Client', + '_className', ]; const printer: ts.Printer = ts.createPrinter({ - newLine: ts.NewLineKind.LineFeed, - removeComments: false + newLine: ts.NewLineKind.LineFeed, + removeComments: false, }); function addMultiLineComment(node, comment: string) { - ts.addSyntheticLeadingComment( - node, - ts.SyntaxKind.MultiLineCommentTrivia, - comment, - true - ); + ts.addSyntheticLeadingComment( + node, + ts.SyntaxKind.MultiLineCommentTrivia, + comment, + true + ); } function runTransformation(sourceCode, transformMethod): Promise { - return new Promise((resolve, reject) => { - try { - const result = ts.transform(sourceCode, [transformMethod]); - const transformedNodes = result.transformed[0]; - const output = printer.printNode( - ts.EmitHint.SourceFile, - transformedNodes, - sourceCode - ); - resolve(output); - } catch (error) { - reject(error); - } - }); + return new Promise((resolve, reject) => { + try { + const result = ts.transform(sourceCode, [transformMethod]); + const transformedNodes = result.transformed[0]; + const output = printer.printNode( + ts.EmitHint.SourceFile, + transformedNodes, + sourceCode + ); + resolve(output); + } catch (error) { + reject(error); + } + }); } function toSourceFile(sourceCode: string): ts.SourceFile { - return ts.createSourceFile( - "dummyClass.js", - sourceCode, - ts.ScriptTarget.Latest, - true - ); + return ts.createSourceFile( + 'dummyClass.js', + sourceCode, + ts.ScriptTarget.Latest, + true + ); } export async function classBasedTransform( - code: ts.SourceFile, - data: any + code: ts.SourceFile, + data: any ): Promise { - const node: any = code.statements.find(stm => ts.isClassDeclaration(stm)); - - if (!data.functions || !data.classData) { - throw new Error("Input is invalid"); - } - - if (!node || !node.members.some(member => ts.isMethodDeclaration(member))) { - throw new Error("Code is invalid"); - } - - code = cloneDeep(code); - - const addFunctions = ( - context: ts.TransformationContext - ) => (rootNode: T) => { - function visit(node: ts.Node): ts.Node { - if (ts.isClassDeclaration(node)) { - let functions: any = []; - data.functions.map(method => { - let clonedNode; - if (method.returnTypeName === "Promise") { - if ( - (method.classConstructorData.parameters[0].type = - "TypeReference" && - !method.classConstructorData.parameters[0].optional) - ) { - clonedNode = Object.assign({}, node.members[3]); - } else { - clonedNode = Object.assign({}, node.members[1]); - } - } else { - clonedNode = Object.assign({}, node.members[2]); - } - clonedNode.name = ts.createIdentifier(method.functionName); - functions.push(clonedNode); - }); - - const updatedClass = ts.updateClassDeclaration( - node, - node.decorators, - node.modifiers, - node.name, - node.typeParameters, - node.heritageClauses, - ts.createNodeArray([node.members[0]].concat(functions)) - ); - - return updatedClass; - } - return ts.visitEachChild(node, visit, context); - } - return ts.visitNode(rootNode, visit); - }; - - const addIdentifiers = ( - context: ts.TransformationContext - ) => (rootNode: T) => { - let count = 0; - function visit(node: ts.Node): ts.Node { - if (ts.isMethodDeclaration(node)) { - data.functions[count].allParams = []; - - let params = []; - if ( - (data.functions[count].classConstructorData.parameters[0].type = - "TypeReference" && - !data.functions[count].classConstructorData.parameters[0].optional) - ) { - params.push(data.functions[count].classConstructorData.parameters[0]); - - data.functions[count].allParams.push({ - name: "identifier", - optional: true, - type: "string" - }); - } - - params = params.concat(data.functions[count].params); - data.functions[count].allParams = data.functions[ - count - ].allParams.concat(params); - - const parameters: any = params.map(param => { - const paramNode = ts.createParameter( - undefined, - undefined, - undefined, - param.name - ); - - if (param.optional) { - paramNode.initializer = ts.createIdentifier("undefined"); - } - - return paramNode; - }); - - node.parameters = parameters.concat(node.parameters); - } - - if (ts.isStringLiteral(node) && node.text === "pkgName") { - return ts.createStringLiteral( - "@google-cloud/" + data.functions[0].pkgName - ); - } - - if (ts.isIdentifier(node) && dummyIdentifiers.includes(node.text)) { - let updatedIdentifier; - switch (node.text) { - case "ClassName": - updatedIdentifier = ts.updateIdentifier( - ts.createIdentifier("GCP_" + data.functions[0].pkgName) - ); - break; - case "ClientName": - updatedIdentifier = ts.updateIdentifier( - ts.createIdentifier(data.mainClass) - ); - break; - case "SDKFunctionName": - updatedIdentifier = ts.updateIdentifier( - ts.createIdentifier(data.functions[count].SDKFunctionName) - ); - count++; - break; - case "_className": - updatedIdentifier = ts.updateIdentifier( - ts.createIdentifier(data.functions[count].client.toLowerCase()) - ); - break; - case "_client": - if ( - (data.functions[count].classConstructorData.parameters[0].type = - "TypeReference" && - !data.functions[count].classConstructorData.parameters[0] - .optional) - ) { - updatedIdentifier = ts.updateIdentifier( - ts.createIdentifier( - data.functions[count].classConstructorData.parameters[0].name - ) - ); - } else { - updatedIdentifier = ts.updateIdentifier( - ts.createIdentifier("_" + data.mainClass.toLowerCase()) - ); - } - break; - case "_clientObj": - updatedIdentifier = ts.updateIdentifier( - ts.createIdentifier("_" + data.mainClass.toLowerCase()) - ); - break; - case "Client": - updatedIdentifier = ts.updateIdentifier( - ts.createIdentifier(data.mainClass) - ); - break; - } - return updatedIdentifier; - } - - if (ts.isCallExpression(node)) { - node.expression.forEachChild(childNode => { - if ( - ts.isIdentifier(childNode) && - childNode.text === "SDKFunctionName" - ) { - const args = data.functions[count].params.map(param => - ts.createIdentifier(param.name) - ); - node.arguments = args; - } - }); - } - - return ts.visitEachChild(node, visit, context); - } - return ts.visitNode(rootNode, visit); - }; - - const addComments = ( - context: ts.TransformationContext - ) => (rootNode: T) => { - let count = 0; - - function visit(node: ts.Node): ts.Node { - if (ts.isClassDeclaration(node)) { - addMultiLineComment( - node, - "This is an auto generated class, please do not change." - ); - const comment = `* + const node: any = code.statements.find(stm => ts.isClassDeclaration(stm)); + + if (!data.functions || !data.classData) { + throw new Error('Input is invalid'); + } + + if (!node || !node.members.some(member => ts.isMethodDeclaration(member))) { + throw new Error('Code is invalid'); + } + + code = cloneDeep(code); + + const addFunctions = ( + context: ts.TransformationContext + ) => (rootNode: T) => { + function visit(node: ts.Node): ts.Node { + if (ts.isClassDeclaration(node)) { + let functions: any = []; + data.functions.map(method => { + let clonedNode; + if (method.returnTypeName === 'Promise') { + if ( + (method.classConstructorData.parameters[0].type = + 'TypeReference' && + !method.classConstructorData.parameters[0] + .optional) + ) { + clonedNode = Object.assign({}, node.members[3]); + } else { + clonedNode = Object.assign({}, node.members[1]); + } + } else { + clonedNode = Object.assign({}, node.members[2]); + } + clonedNode.name = ts.createIdentifier(method.functionName); + functions.push(clonedNode); + }); + + const updatedClass = ts.updateClassDeclaration( + node, + node.decorators, + node.modifiers, + node.name, + node.typeParameters, + node.heritageClauses, + ts.createNodeArray([node.members[0]].concat(functions)) + ); + + return updatedClass; + } + return ts.visitEachChild(node, visit, context); + } + return ts.visitNode(rootNode, visit); + }; + + const addIdentifiers = ( + context: ts.TransformationContext + ) => (rootNode: T) => { + let count = 0; + function visit(node: ts.Node): ts.Node { + if (ts.isMethodDeclaration(node)) { + data.functions[count].allParams = []; + + let params = []; + if ( + (data.functions[ + count + ].classConstructorData.parameters[0].type = + 'TypeReference' && + !data.functions[count].classConstructorData + .parameters[0].optional) + ) { + params.push( + data.functions[count].classConstructorData.parameters[0] + ); + + data.functions[count].allParams.push({ + name: 'identifier', + optional: true, + type: 'string', + }); + } + + params = params.concat(data.functions[count].params); + data.functions[count].allParams = data.functions[ + count + ].allParams.concat(params); + + const parameters: any = params.map(param => { + const paramNode = ts.createParameter( + undefined, + undefined, + undefined, + param.name + ); + + if (param.optional) { + paramNode.initializer = ts.createIdentifier( + 'undefined' + ); + } + + return paramNode; + }); + + node.parameters = parameters.concat(node.parameters); + } + + if (ts.isStringLiteral(node) && node.text === 'pkgName') { + return ts.createStringLiteral( + '@google-cloud/' + data.functions[0].pkgName + ); + } + + if (ts.isIdentifier(node) && dummyIdentifiers.includes(node.text)) { + let updatedIdentifier; + switch (node.text) { + case 'ClassName': + updatedIdentifier = ts.updateIdentifier( + ts.createIdentifier( + 'GCP_' + data.functions[0].pkgName + ) + ); + break; + case 'ClientName': + updatedIdentifier = ts.updateIdentifier( + ts.createIdentifier(data.mainClass) + ); + break; + case 'SDKFunctionName': + updatedIdentifier = ts.updateIdentifier( + ts.createIdentifier( + data.functions[count].SDKFunctionName + ) + ); + count++; + break; + case '_className': + updatedIdentifier = ts.updateIdentifier( + ts.createIdentifier( + data.functions[count].client.toLowerCase() + ) + ); + break; + case '_client': + if ( + (data.functions[ + count + ].classConstructorData.parameters[0].type = + 'TypeReference' && + !data.functions[count].classConstructorData + .parameters[0].optional) + ) { + updatedIdentifier = ts.updateIdentifier( + ts.createIdentifier( + data.functions[count].classConstructorData + .parameters[0].name + ) + ); + } else { + updatedIdentifier = ts.updateIdentifier( + ts.createIdentifier( + '_' + data.mainClass.toLowerCase() + ) + ); + } + break; + case '_clientObj': + updatedIdentifier = ts.updateIdentifier( + ts.createIdentifier( + '_' + data.mainClass.toLowerCase() + ) + ); + break; + case 'Client': + updatedIdentifier = ts.updateIdentifier( + ts.createIdentifier(data.mainClass) + ); + break; + } + return updatedIdentifier; + } + + if (ts.isCallExpression(node)) { + node.expression.forEachChild(childNode => { + if ( + ts.isIdentifier(childNode) && + childNode.text === 'SDKFunctionName' + ) { + const args = data.functions[count].params.map(param => + ts.createIdentifier(param.name) + ); + node.arguments = args; + } + }); + } + + return ts.visitEachChild(node, visit, context); + } + return ts.visitNode(rootNode, visit); + }; + + const addComments = ( + context: ts.TransformationContext + ) => (rootNode: T) => { + let count = 0; + + function visit(node: ts.Node): ts.Node { + if (ts.isClassDeclaration(node)) { + addMultiLineComment( + node, + 'This is an auto generated class, please do not change.' + ); + const comment = `* * Class to create a ${data.functions[0].pkgName} object * @category Google Cloud `; - addMultiLineComment(node, comment); - } - - if (ts.isMethodDeclaration(node)) { - let parameters = data.functions[count].allParams.map(param => { - let statment; - - if (param.optional) { - statment = `* @param {${ - param.typeRefName ? param.typeRefName : param.type - }} [${param.name}] - Optional parameter`; - } else { - statment = `* @param {${ - param.typeRefName ? param.typeRefName : param.type - }} ${param.name} - Mandatory parameter`; - } - return statment; - }); - - let comment; - if (parameters.length > 0) { - let paramStatments: string = ""; - parameters.map(param => { - paramStatments = paramStatments.concat( - paramStatments === "" ? `${param}` : `\n ${param}` - ); - }); - - comment = `* + addMultiLineComment(node, comment); + } + + if (ts.isMethodDeclaration(node)) { + let parameters = data.functions[count].allParams.map(param => { + let statment; + + if (param.optional) { + statment = `* @param {${ + param.typeRefName ? param.typeRefName : param.type + }} [${param.name}] - Optional parameter`; + } else { + statment = `* @param {${ + param.typeRefName ? param.typeRefName : param.type + }} ${param.name} - Mandatory parameter`; + } + return statment; + }); + + let comment; + if (parameters.length > 0) { + let paramStatments: string = ''; + parameters.map(param => { + paramStatments = paramStatments.concat( + paramStatments === '' ? `${param}` : `\n ${param}` + ); + }); + + comment = `* * Trigers the ${data.functions[count].SDKFunctionName} function of ${data.functions[0].pkgName} ${paramStatments} * @returns {Promise<${data.functions[count].SDKFunctionName}Response>} `; - } else { - comment = `* + } else { + comment = `* * Trigers the ${data.functions[count].SDKFunctionName} function of ${data.functions[0].pkgName} * @returns {Promise<${data.functions[count].SDKFunctionName}Response>} `; - } - - addMultiLineComment(node, comment); - count++; - } - - return ts.visitEachChild(node, visit, context); - } - return ts.visitNode(rootNode, visit); - }; - - const result_1 = await runTransformation(code, addFunctions); - const result_2 = await runTransformation( - toSourceFile(result_1), - addIdentifiers - ); - const result_3 = await runTransformation(toSourceFile(result_2), addComments); - return result_3; + } + + addMultiLineComment(node, comment); + count++; + } + + return ts.visitEachChild(node, visit, context); + } + return ts.visitNode(rootNode, visit); + }; + + const result_1 = await runTransformation(code, addFunctions); + const result_2 = await runTransformation( + toSourceFile(result_1), + addIdentifiers + ); + const result_3 = await runTransformation( + toSourceFile(result_2), + addComments + ); + return result_3; } diff --git a/generator/transformers/googleCloud/clientBasedTransformer.ts b/generator/transformers/googleCloud/clientBasedTransformer.ts index 525086dd..d7a120f9 100644 --- a/generator/transformers/googleCloud/clientBasedTransformer.ts +++ b/generator/transformers/googleCloud/clientBasedTransformer.ts @@ -1,292 +1,309 @@ -import { cloneDeep } from "lodash"; -import * as ts from "typescript"; +import { cloneDeep } from 'lodash'; +import * as ts from 'typescript'; const dummyIdentifiers = [ - "ClassName", - "SDKFunctionName", - "ClientName", - "_client", - "_clientObj", - "Client" + 'ClassName', + 'SDKFunctionName', + 'ClientName', + '_client', + '_clientObj', + 'Client', ]; const printer: ts.Printer = ts.createPrinter({ - newLine: ts.NewLineKind.LineFeed, - removeComments: false + newLine: ts.NewLineKind.LineFeed, + removeComments: false, }); function addMultiLineComment(node, comment: string) { - ts.addSyntheticLeadingComment( - node, - ts.SyntaxKind.MultiLineCommentTrivia, - comment, - true - ); + ts.addSyntheticLeadingComment( + node, + ts.SyntaxKind.MultiLineCommentTrivia, + comment, + true + ); } function runTransformation(sourceCode, transformMethod): Promise { - return new Promise((resolve, reject) => { - try { - const result = ts.transform(sourceCode, [transformMethod]); - const transformedNodes = result.transformed[0]; - const output = printer.printNode( - ts.EmitHint.SourceFile, - transformedNodes, - sourceCode - ); - resolve(output); - } catch (error) { - reject(error); - } - }); + return new Promise((resolve, reject) => { + try { + const result = ts.transform(sourceCode, [transformMethod]); + const transformedNodes = result.transformed[0]; + const output = printer.printNode( + ts.EmitHint.SourceFile, + transformedNodes, + sourceCode + ); + resolve(output); + } catch (error) { + reject(error); + } + }); } function toSourceFile(sourceCode: string): ts.SourceFile { - return ts.createSourceFile( - "dummyClass.js", - sourceCode, - ts.ScriptTarget.Latest, - true - ); + return ts.createSourceFile( + 'dummyClass.js', + sourceCode, + ts.ScriptTarget.Latest, + true + ); } export async function clientBasedTransform( - code: ts.SourceFile, - classData: any + code: ts.SourceFile, + classData: any ): Promise { - const node: any = code.statements.find(stm => ts.isClassDeclaration(stm)); + const node: any = code.statements.find(stm => ts.isClassDeclaration(stm)); - if (!classData.functions) { - throw new Error("Input is invalid"); - } + if (!classData.functions) { + throw new Error('Input is invalid'); + } - if (!node || !node.members.some(member => ts.isMethodDeclaration(member))) { - throw new Error("Code is invalid"); - } + if (!node || !node.members.some(member => ts.isMethodDeclaration(member))) { + throw new Error('Code is invalid'); + } - code = cloneDeep(code); + code = cloneDeep(code); - // import related - classData.clients = Array.from( - new Set(classData.functions.map(method => method.client)) - ); - const importStatments: any = new Array(classData.clients.length); - importStatments.fill(Object.assign({}, code.statements[0])); - code.statements = importStatments.concat(code.statements.slice(1)); + // import related + classData.clients = Array.from( + new Set(classData.functions.map(method => method.client)) + ); + const importStatments: any = new Array(classData.clients.length); + importStatments.fill(Object.assign({}, code.statements[0])); + code.statements = importStatments.concat(code.statements.slice(1)); - let classDeclarationNode: any = code.statements.find(node => - ts.isClassDeclaration(node) - ); - let constructorNode: any = classDeclarationNode.members.find( - node => ts.SyntaxKind[node.kind] === "Constructor" - ); - const clientObjects: any = new Array(classData.clients.length); - clientObjects.fill(Object.assign({}, constructorNode.body.statements[0])); - constructorNode.body.statements = clientObjects; - // import related + let classDeclarationNode: any = code.statements.find(node => + ts.isClassDeclaration(node) + ); + let constructorNode: any = classDeclarationNode.members.find( + node => ts.SyntaxKind[node.kind] === 'Constructor' + ); + const clientObjects: any = new Array(classData.clients.length); + clientObjects.fill(Object.assign({}, constructorNode.body.statements[0])); + constructorNode.body.statements = clientObjects; + // import related - const addFunctions = ( - context: ts.TransformationContext - ) => (rootNode: T) => { - function visit(node: ts.Node): ts.Node { - if (ts.isClassDeclaration(node)) { - let functions: any = []; - classData.functions.map(method => { - let clonedNode; - if (method.returnTypeName === "Promise") { - clonedNode = Object.assign({}, node.members[1]); - } else { - clonedNode = Object.assign({}, node.members[2]); - } - clonedNode.name = ts.createIdentifier(method.functionName); - functions.push(clonedNode); - }); + const addFunctions = ( + context: ts.TransformationContext + ) => (rootNode: T) => { + function visit(node: ts.Node): ts.Node { + if (ts.isClassDeclaration(node)) { + let functions: any = []; + classData.functions.map(method => { + let clonedNode; + if (method.returnTypeName === 'Promise') { + clonedNode = Object.assign({}, node.members[1]); + } else { + clonedNode = Object.assign({}, node.members[2]); + } + clonedNode.name = ts.createIdentifier(method.functionName); + functions.push(clonedNode); + }); - const updatedClass = ts.updateClassDeclaration( - node, - node.decorators, - node.modifiers, - node.name, - node.typeParameters, - node.heritageClauses, - ts.createNodeArray([node.members[0]].concat(functions)) - ); + const updatedClass = ts.updateClassDeclaration( + node, + node.decorators, + node.modifiers, + node.name, + node.typeParameters, + node.heritageClauses, + ts.createNodeArray([node.members[0]].concat(functions)) + ); - return updatedClass; - } - return ts.visitEachChild(node, visit, context); - } - return ts.visitNode(rootNode, visit); - }; + return updatedClass; + } + return ts.visitEachChild(node, visit, context); + } + return ts.visitNode(rootNode, visit); + }; - const addIdentifiers = ( - context: ts.TransformationContext - ) => (rootNode: T) => { - let count = 0; - let clientCount = 0; - let clientObjCount = 0; - function visit(node: ts.Node): ts.Node { - if (ts.isMethodDeclaration(node)) { - const parameters = classData.functions[count].params.map(param => { - const paramNode = ts.createParameter( - undefined, - undefined, - undefined, - param.name - ); + const addIdentifiers = ( + context: ts.TransformationContext + ) => (rootNode: T) => { + let count = 0; + let clientCount = 0; + let clientObjCount = 0; + function visit(node: ts.Node): ts.Node { + if (ts.isMethodDeclaration(node)) { + const parameters = classData.functions[count].params.map( + param => { + const paramNode = ts.createParameter( + undefined, + undefined, + undefined, + param.name + ); - if (param.optional) { - paramNode.initializer = ts.createIdentifier("undefined"); - } + if (param.optional) { + paramNode.initializer = ts.createIdentifier( + 'undefined' + ); + } - return paramNode; - }); + return paramNode; + } + ); - node.parameters = parameters; - } + node.parameters = parameters; + } - if (ts.isStringLiteral(node) && node.text === "pkgName") { - return ts.createStringLiteral( - "@google-cloud/" + classData.functions[0].pkgName - ); - } + if (ts.isStringLiteral(node) && node.text === 'pkgName') { + return ts.createStringLiteral( + '@google-cloud/' + classData.functions[0].pkgName + ); + } - if (ts.isIdentifier(node) && dummyIdentifiers.includes(node.text)) { - let updatedIdentifier; - switch (node.text) { - case "ClassName": - updatedIdentifier = ts.updateIdentifier( - ts.createIdentifier("GCP_" + classData.serviceName) - ); - break; - case "ClientName": - updatedIdentifier = ts.updateIdentifier( - ts.createIdentifier(classData.clients[clientCount]) - ); - clientCount++; - break; - case "SDKFunctionName": - updatedIdentifier = ts.updateIdentifier( - ts.createIdentifier(classData.functions[count].SDKFunctionName) - ); - count++; - break; - case "_client": - updatedIdentifier = ts.updateIdentifier( - ts.createIdentifier( - "_" + - classData.functions[count].client.toLowerCase().charAt(0) + - classData.functions[count].client.substr(1) - ) - ); - break; - case "_clientObj": - updatedIdentifier = ts.updateIdentifier( - ts.createIdentifier( - "_" + - classData.clients[clientObjCount].toLowerCase().charAt(0) + - classData.clients[clientObjCount].substr(1) - ) - ); - break; - case "Client": - updatedIdentifier = ts.updateIdentifier( - ts.createIdentifier(classData.clients[clientObjCount]) - ); - clientObjCount++; - break; - } - return updatedIdentifier; - } + if (ts.isIdentifier(node) && dummyIdentifiers.includes(node.text)) { + let updatedIdentifier; + switch (node.text) { + case 'ClassName': + updatedIdentifier = ts.updateIdentifier( + ts.createIdentifier('GCP_' + classData.serviceName) + ); + break; + case 'ClientName': + updatedIdentifier = ts.updateIdentifier( + ts.createIdentifier(classData.clients[clientCount]) + ); + clientCount++; + break; + case 'SDKFunctionName': + updatedIdentifier = ts.updateIdentifier( + ts.createIdentifier( + classData.functions[count].SDKFunctionName + ) + ); + count++; + break; + case '_client': + updatedIdentifier = ts.updateIdentifier( + ts.createIdentifier( + '_' + + classData.functions[count].client + .toLowerCase() + .charAt(0) + + classData.functions[count].client.substr(1) + ) + ); + break; + case '_clientObj': + updatedIdentifier = ts.updateIdentifier( + ts.createIdentifier( + '_' + + classData.clients[clientObjCount] + .toLowerCase() + .charAt(0) + + classData.clients[clientObjCount].substr(1) + ) + ); + break; + case 'Client': + updatedIdentifier = ts.updateIdentifier( + ts.createIdentifier( + classData.clients[clientObjCount] + ) + ); + clientObjCount++; + break; + } + return updatedIdentifier; + } - if (ts.isCallExpression(node)) { - node.expression.forEachChild(childNode => { - if ( - ts.isIdentifier(childNode) && - childNode.text === "SDKFunctionName" - ) { - const args = classData.functions[count].params.map(param => - ts.createIdentifier(param.name) - ); - node.arguments = args; - } - }); - } + if (ts.isCallExpression(node)) { + node.expression.forEachChild(childNode => { + if ( + ts.isIdentifier(childNode) && + childNode.text === 'SDKFunctionName' + ) { + const args = classData.functions[count].params.map( + param => ts.createIdentifier(param.name) + ); + node.arguments = args; + } + }); + } - return ts.visitEachChild(node, visit, context); - } - return ts.visitNode(rootNode, visit); - }; + return ts.visitEachChild(node, visit, context); + } + return ts.visitNode(rootNode, visit); + }; - const addComments = ( - context: ts.TransformationContext - ) => (rootNode: T) => { - let count = 0; + const addComments = ( + context: ts.TransformationContext + ) => (rootNode: T) => { + let count = 0; - function visit(node: ts.Node): ts.Node { - if (ts.isClassDeclaration(node)) { - addMultiLineComment( - node, - "This is an auto generated class, please do not change." - ); - const comment = `* + function visit(node: ts.Node): ts.Node { + if (ts.isClassDeclaration(node)) { + addMultiLineComment( + node, + 'This is an auto generated class, please do not change.' + ); + const comment = `* * Class to create a ${classData.serviceName} object * @category Google Cloud `; - addMultiLineComment(node, comment); - } + addMultiLineComment(node, comment); + } - if (ts.isMethodDeclaration(node)) { - let parameters = classData.functions[count].params.map(param => { - let statment; + if (ts.isMethodDeclaration(node)) { + let parameters = classData.functions[count].params.map( + param => { + let statment; - if (param.optional) { - statment = `* @param {${param.type}} [${param.name}] - Data required for ${classData.functions[count].SDKFunctionName}`; - } else { - statment = `* @param {${param.type}} ${param.name} - Data required for ${classData.functions[count].SDKFunctionName}`; - } - return statment; - }); + if (param.optional) { + statment = `* @param {${param.type}} [${param.name}] - Data required for ${classData.functions[count].SDKFunctionName}`; + } else { + statment = `* @param {${param.type}} ${param.name} - Data required for ${classData.functions[count].SDKFunctionName}`; + } + return statment; + } + ); - let comment; - if (parameters.length > 0) { - let paramStatments: string = ""; - parameters.map(param => { - paramStatments = paramStatments.concat( - paramStatments === "" ? `${param}` : `\n ${param}` - ); - }); + let comment; + if (parameters.length > 0) { + let paramStatments: string = ''; + parameters.map(param => { + paramStatments = paramStatments.concat( + paramStatments === '' ? `${param}` : `\n ${param}` + ); + }); - comment = `* + comment = `* * Trigers the ${classData.functions[count].SDKFunctionName} function of ${ - classData.functions[0].pkgName.split("-")[1] - } + classData.functions[0].pkgName.split('-')[1] + } ${paramStatments} * @returns {Promise<${classData.functions[count].SDKFunctionName}Response>} `; - } else { - comment = `* + } else { + comment = `* * Trigers the ${classData.functions[count].SDKFunctionName} function of ${ - classData.functions[0].pkgName.split("-")[1] - } + classData.functions[0].pkgName.split('-')[1] + } * @returns {Promise<${classData.functions[count].SDKFunctionName}Response>} `; - } + } - addMultiLineComment(node, comment); - count++; - } + addMultiLineComment(node, comment); + count++; + } - return ts.visitEachChild(node, visit, context); - } - return ts.visitNode(rootNode, visit); - }; + return ts.visitEachChild(node, visit, context); + } + return ts.visitNode(rootNode, visit); + }; - const result_1 = await runTransformation(code, addFunctions); - const result_2 = await runTransformation( - toSourceFile(result_1), - addIdentifiers - ); - const result_3 = await runTransformation(toSourceFile(result_2), addComments); - return result_3; + const result_1 = await runTransformation(code, addFunctions); + const result_2 = await runTransformation( + toSourceFile(result_1), + addIdentifiers + ); + const result_3 = await runTransformation( + toSourceFile(result_2), + addComments + ); + return result_3; } diff --git a/generator/tsconfig.json b/generator/tsconfig.json index 7881b9a0..5910b5fb 100644 --- a/generator/tsconfig.json +++ b/generator/tsconfig.json @@ -1,7 +1,7 @@ { - "compilerOptions": { - "module": "commonjs", - "sourceMap": true, - "target": "es2018" - } + "compilerOptions": { + "module": "commonjs", + "sourceMap": true, + "target": "es2018" + } } diff --git a/jsdoc.json b/jsdoc.json index 9d2c4ccb..8463eacc 100644 --- a/jsdoc.json +++ b/jsdoc.json @@ -1,21 +1,21 @@ { - "source": { - "include": ["generator/generatedClasses/"], - "includePattern": ".js$", - "excludePattern": "(node_modules/|docs)" - }, - "plugins": ["plugins/markdown", "node_modules/better-docs/category"], - "templates": { - "cleverLinks": true, - "monospaceLinks": true - }, - "opts": { - "template": "node_modules/better-docs", - "recurse": true, - "destination": "./docs/", - "readme": "README.md" - }, - "tags": { - "allowUnknownTags": ["category"] - } + "source": { + "include": ["generator/generatedClasses/"], + "includePattern": ".js$", + "excludePattern": "(node_modules/|docs)" + }, + "plugins": ["plugins/markdown", "node_modules/better-docs/category"], + "templates": { + "cleverLinks": true, + "monospaceLinks": true + }, + "opts": { + "template": "node_modules/better-docs", + "recurse": true, + "destination": "./docs/", + "readme": "README.md" + }, + "tags": { + "allowUnknownTags": ["category"] + } } diff --git a/lerna.json b/lerna.json index 8f89cb96..ada6baa9 100644 --- a/lerna.json +++ b/lerna.json @@ -1,6 +1,6 @@ { - "packages": ["packages/*"], - "version": "independent", - "npmClient": "yarn", - "useWorkspaces": true + "packages": ["packages/*"], + "version": "independent", + "npmClient": "yarn", + "useWorkspaces": true } diff --git a/package.json b/package.json index e50b5b8b..a8188ee4 100644 --- a/package.json +++ b/package.json @@ -1,62 +1,62 @@ { - "name": "nodecloud", - "private": "true", - "workspaces": [ - "packages/*", - "generator" - ], - "description": "⚡️ The Node.js API for open cloud", - "scripts": { - "test": "lerna run test", - "lint": "lerna run lint", - "prettier": "lerna run prettier", - "format": "prettier --write", - "doc": "jsdoc -c jsdoc.json", - "generator": " cd generator && tsc main.ts && node main.js" - }, - "repository": { - "type": "git", - "url": "git+https://github.com/cloudlibz/nodecloud.git" - }, - "keywords": [ - "nodecloud", - "nodejs", - "node", - "node-cloud", - "node-aws", - "node-azure" - ], - "author": "scorelab", - "license": "Apache-2.0", - "bugs": { - "url": "https://github.com/cloudlibz/nodecloud/issues" - }, - "homepage": "https://github.com/cloudlibz/nodecloud#readme", - "devDependencies": { - "@types/chai": "^4.2.12", - "@types/lodash": "^4.14.158", - "@types/mocha": "^8.0.0", - "@types/node": "^14.0.6", - "@typescript-eslint/eslint-plugin": "^5.19.0", - "@typescript-eslint/parser": "^5.19.0", - "better-docs": "^2.3.0", - "chai": "^4.2.0", - "cross-env": "^7.0.2", - "eslint": "^8.13.0", - "eslint-plugin-simple-import-sort": "^7.0.0", - "husky": "^4.3.0", - "jsdoc": "^3.6.5", - "lerna": "^3.22.1", - "mocha": "^8.0.1", - "nock": "^9.6.1", - "prettier": "^1.15.3", - "pretty-quick": "^1.8.0", - "ts-node": "^8.10.2" - }, - "husky": { - "hooks": { - "pre-commit": "lerna run test && lerna run prettier && lerna run lint", - "pre-push": "lerna run test" - } - } + "name": "nodecloud", + "private": "true", + "workspaces": [ + "packages/*", + "generator" + ], + "description": "⚡️ The Node.js API for open cloud", + "scripts": { + "test": "lerna run test", + "lint": "lerna run lint", + "prettier": "lerna run prettier", + "format": "prettier --write {,*/**/}*.{ts,json}", + "doc": "jsdoc -c jsdoc.json", + "generator": " cd generator && tsc main.ts && node main.js" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/cloudlibz/nodecloud.git" + }, + "keywords": [ + "nodecloud", + "nodejs", + "node", + "node-cloud", + "node-aws", + "node-azure" + ], + "author": "scorelab", + "license": "Apache-2.0", + "bugs": { + "url": "https://github.com/cloudlibz/nodecloud/issues" + }, + "homepage": "https://github.com/cloudlibz/nodecloud#readme", + "devDependencies": { + "@types/chai": "^4.2.12", + "@types/lodash": "^4.14.158", + "@types/mocha": "^8.0.0", + "@types/node": "^14.0.6", + "@typescript-eslint/eslint-plugin": "^5.19.0", + "@typescript-eslint/parser": "^5.19.0", + "better-docs": "^2.3.0", + "chai": "^4.2.0", + "cross-env": "^7.0.2", + "eslint": "^8.13.0", + "eslint-plugin-simple-import-sort": "^7.0.0", + "husky": "^4.3.0", + "jsdoc": "^3.6.5", + "lerna": "^3.22.1", + "mocha": "^8.0.1", + "nock": "^9.6.1", + "prettier": "^1.15.3", + "pretty-quick": "^1.8.0", + "ts-node": "^8.10.2" + }, + "husky": { + "hooks": { + "pre-commit": "lerna run test && lerna run prettier && lerna run lint", + "pre-push": "lerna run test" + } + } } diff --git a/packages/aws-plugin/package.json b/packages/aws-plugin/package.json index 3fa75029..df1b28d3 100644 --- a/packages/aws-plugin/package.json +++ b/packages/aws-plugin/package.json @@ -1,18 +1,18 @@ { - "name": "@nodecloud/aws-plugin", - "version": "2.0.0", - "description": "NodeCloud AWS plugin", - "main": "index.js", - "scripts": { - "prettier": "yarn pretty-quick" - }, - "keywords": [ - "nodecloud", - "nodecloud-aws" - ], - "author": "Scorelab", - "license": "Apache-2.0", - "dependencies": { - "aws-sdk": "^2.686.0" - } + "name": "@nodecloud/aws-plugin", + "version": "2.0.0", + "description": "NodeCloud AWS plugin", + "main": "index.js", + "scripts": { + "prettier": "yarn pretty-quick" + }, + "keywords": [ + "nodecloud", + "nodecloud-aws" + ], + "author": "Scorelab", + "license": "Apache-2.0", + "dependencies": { + "aws-sdk": "^2.686.0" + } } diff --git a/packages/azure-plugin/package.json b/packages/azure-plugin/package.json index b8713b91..1800e8e5 100644 --- a/packages/azure-plugin/package.json +++ b/packages/azure-plugin/package.json @@ -1,29 +1,29 @@ { - "name": "@nodecloud/azure-plugin", - "version": "2.0.0", - "description": "NodeCloud Azure plugin", - "main": "index.js", - "scripts": { - "prettier": "yarn pretty-quick" - }, - "keywords": [ - "nodecloud", - "nodecloud-azure" - ], - "author": "Scorelab", - "license": "Apache-2.0", - "dependencies": { - "@azure/arm-appservice": "^6.0.0", - "@azure/arm-compute": "^14.0.0", - "@azure/arm-containerservice": "^11.0.0", - "@azure/arm-cosmosdb": "^9.1.0", - "@azure/arm-dns": "^4.0.0", - "@azure/arm-keyvault": "^1.2.1", - "@azure/arm-monitor": "^6.0.0", - "@azure/arm-network": "^22.0.0", - "@azure/arm-sql": "^7.0.2", - "@azure/arm-storage": "^15.1.0", - "@azure/ms-rest-js": "^2.0.7", - "@azure/ms-rest-nodeauth": "^3.0.5" - } + "name": "@nodecloud/azure-plugin", + "version": "2.0.0", + "description": "NodeCloud Azure plugin", + "main": "index.js", + "scripts": { + "prettier": "yarn pretty-quick" + }, + "keywords": [ + "nodecloud", + "nodecloud-azure" + ], + "author": "Scorelab", + "license": "Apache-2.0", + "dependencies": { + "@azure/arm-appservice": "^6.0.0", + "@azure/arm-compute": "^14.0.0", + "@azure/arm-containerservice": "^11.0.0", + "@azure/arm-cosmosdb": "^9.1.0", + "@azure/arm-dns": "^4.0.0", + "@azure/arm-keyvault": "^1.2.1", + "@azure/arm-monitor": "^6.0.0", + "@azure/arm-network": "^22.0.0", + "@azure/arm-sql": "^7.0.2", + "@azure/arm-storage": "^15.1.0", + "@azure/ms-rest-js": "^2.0.7", + "@azure/ms-rest-nodeauth": "^3.0.5" + } } diff --git a/packages/common/package.json b/packages/common/package.json index 83d213ec..fa170de9 100644 --- a/packages/common/package.json +++ b/packages/common/package.json @@ -1,19 +1,19 @@ { - "name": "@nodecloud/common", - "version": "2.0.0", - "description": "NodeCloud core", - "main": "index.js", - "scripts": { - "test": "mocha \"./**/*.test.js\"", - "prettier": "yarn pretty-quick" - }, - "keywords": [ - "nodecloud" - ], - "author": "Scorelab", - "license": "Apache-2.0", - "dependencies": { - "config": "^1.26.1", - "key-mirror": "^1.0.1" - } + "name": "@nodecloud/common", + "version": "2.0.0", + "description": "NodeCloud core", + "main": "index.js", + "scripts": { + "test": "mocha \"./**/*.test.js\"", + "prettier": "yarn pretty-quick" + }, + "keywords": [ + "nodecloud" + ], + "author": "Scorelab", + "license": "Apache-2.0", + "dependencies": { + "config": "^1.26.1", + "key-mirror": "^1.0.1" + } } diff --git a/packages/do-plugin/package.json b/packages/do-plugin/package.json index 782aa297..f5d9924e 100644 --- a/packages/do-plugin/package.json +++ b/packages/do-plugin/package.json @@ -1,18 +1,18 @@ { - "name": "@nodecloud/do-plugin", - "version": "2.0.0", - "description": "NodeCloud Digital Ocean plugin", - "main": "index.js", - "scripts": { - "prettier": "yarn pretty-quick" - }, - "keywords": [ - "nodecloud", - "nodecloud-Digital-Ocean" - ], - "author": "Scorelab", - "license": "Apache-2.0", - "dependencies": { - "do-wrapper": "^4.5.1" - } + "name": "@nodecloud/do-plugin", + "version": "2.0.0", + "description": "NodeCloud Digital Ocean plugin", + "main": "index.js", + "scripts": { + "prettier": "yarn pretty-quick" + }, + "keywords": [ + "nodecloud", + "nodecloud-Digital-Ocean" + ], + "author": "Scorelab", + "license": "Apache-2.0", + "dependencies": { + "do-wrapper": "^4.5.1" + } } diff --git a/packages/gcp-plugin/package.json b/packages/gcp-plugin/package.json index 2a7ca1d6..0a8d147b 100644 --- a/packages/gcp-plugin/package.json +++ b/packages/gcp-plugin/package.json @@ -1,28 +1,28 @@ { - "name": "@nodecloud/gcp-plugin", - "version": "2.0.0", - "description": "NodeCloud GCP plugin", - "main": "index.js", - "scripts": { - "prettier": "yarn pretty-quick" - }, - "keywords": [ - "nodecloud", - "nodecloud-gcp" - ], - "author": "Scorelab", - "license": "Apache-2.0", - "dependencies": { - "@google-cloud/automl": "^2.2.0", - "@google-cloud/compute": "^2.0.1", - "@google-cloud/container": "^2.1.1", - "@google-cloud/dns": "^2.0.1", - "@google-cloud/firestore": "^4.2.0", - "@google-cloud/kms": "^2.1.2", - "@google-cloud/monitoring": "^2.1.1", - "@google-cloud/pubsub": "^2.5.0", - "@google-cloud/spanner": "^5.2.1", - "@google-cloud/storage": "^5.1.1", - "@google-cloud/translate": "^6.0.2" - } + "name": "@nodecloud/gcp-plugin", + "version": "2.0.0", + "description": "NodeCloud GCP plugin", + "main": "index.js", + "scripts": { + "prettier": "yarn pretty-quick" + }, + "keywords": [ + "nodecloud", + "nodecloud-gcp" + ], + "author": "Scorelab", + "license": "Apache-2.0", + "dependencies": { + "@google-cloud/automl": "^2.2.0", + "@google-cloud/compute": "^2.0.1", + "@google-cloud/container": "^2.1.1", + "@google-cloud/dns": "^2.0.1", + "@google-cloud/firestore": "^4.2.0", + "@google-cloud/kms": "^2.1.2", + "@google-cloud/monitoring": "^2.1.1", + "@google-cloud/pubsub": "^2.5.0", + "@google-cloud/spanner": "^5.2.1", + "@google-cloud/storage": "^5.1.1", + "@google-cloud/translate": "^6.0.2" + } } From 0d172c8f6fbccd893d018a091189f2b44ee2d952 Mon Sep 17 00:00:00 2001 From: Pranjal Walia Date: Wed, 6 Jul 2022 17:16:51 +0530 Subject: [PATCH 02/19] chore: update nodecloud conf --- generator/node-cloud.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/generator/node-cloud.yml b/generator/node-cloud.yml index 88d97d24..14202b60 100644 --- a/generator/node-cloud.yml +++ b/generator/node-cloud.yml @@ -43,6 +43,14 @@ StorageBucket: list: storage storage.d.ts getBuckets upload: storage bucket.d.ts upload makePublic: storage file.d.ts makePublic + Ali: + setRegion: oss index.d.ts setRegion + create: oss index.d.ts create + listBuckets: oss index.d.ts listBuckets + delete: oss index.d.ts delete + describeBucket: oss index.d.ts describeBucket + listBucketObjects: oss index.d.ts listBucketObjects + uploadLocalObject: oss index.d.ts uploadLocalObject PaaS: AWS: From 6e40593a29ad045cccef3a164aa3c83ba359f326 Mon Sep 17 00:00:00 2001 From: Pranjal Walia Date: Wed, 6 Jul 2022 17:18:12 +0530 Subject: [PATCH 03/19] feat: add SDK in workspace generator --- generator/package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/generator/package.json b/generator/package.json index 9ac31b84..2f66dccd 100644 --- a/generator/package.json +++ b/generator/package.json @@ -31,6 +31,7 @@ "@google-cloud/pubsub": "^2.1.0", "@google-cloud/storage": "^5.1.1", "@google-cloud/translate": "^6.0.0", + "aliyun-v2-typescript-sdk": "^0.1.1", "aws-sdk": "^2.686.0", "config": "^1.26.1", "do-wrapper": "^4.5.1", From 260bd55ce6c833d22650a08b88d804eb29dbbc65 Mon Sep 17 00:00:00 2001 From: Pranjal Walia Date: Wed, 6 Jul 2022 17:19:11 +0530 Subject: [PATCH 04/19] feat: add parser for service aliyun --- generator/parsers/aliyun/parser.ts | 117 +++++++++++++++++++++++++++++ 1 file changed, 117 insertions(+) create mode 100644 generator/parsers/aliyun/parser.ts diff --git a/generator/parsers/aliyun/parser.ts b/generator/parsers/aliyun/parser.ts new file mode 100644 index 00000000..878cd88e --- /dev/null +++ b/generator/parsers/aliyun/parser.ts @@ -0,0 +1,117 @@ +import * as fs from 'fs'; +import * as path from 'path'; +import { createSourceFile, ScriptTarget, SyntaxKind } from 'typescript'; + +export const getAST = (sdkFilePath: string) => { + return new Promise(async (resolve, reject) => { + const [module, rootFile, service] = sdkFilePath.split(' '); + try { + const file = path.join( + __dirname, + '../../../node_modules/aliyun-v2-typescript-sdk/dist/modules/', + module.toLowerCase(), + rootFile + ); + + const ast = createSourceFile( + file, + fs.readFileSync(file).toString(), + ScriptTarget.Latest, + true + ); + + let cloned = null; + + await ast.forEachChild(child => { + if (SyntaxKind[child.kind] === 'ClassDeclaration') { + cloned = Object.assign({}, child); + } + }); + + if (!cloned) { + reject(new Error('Class not found!')); + } else { + resolve(cloned); + } + } catch (error) { + if (error.code === 'ENOENT') { + reject(new Error('File not found!')); + } else { + reject(error); + } + } + }); +}; + +export const extractSDKData = (sdkClassAst, serviceClass): ClassData => { + const methods: FunctionData[] = []; + const functions = []; + + Object.keys(serviceClass).forEach((key: string) => { + functions.push(serviceClass[key].split(' ')[2]); + }); + + sdkClassAst.members.forEach(method => { + if (method.name && functions.includes(method.name.text)) { + let name; + Object.keys(serviceClass).forEach((key: string) => { + if (serviceClass[key].split(' ')[2] === method.name.text) { + name = key; + } + }); + + const parameters = []; + method.parameters.forEach(param => { + if (param.name.text !== 'callback') { + const parameter = { + name: param.name.text, + optional: param.questionToken ? true : false, + type: SyntaxKind[param.type.kind], + typeName: null, + }; + + if ( + parameter.type === 'TypeReference' && + param.type.typeName + ) { + parameter.typeName = param.type.typeName.text; + } + + parameters.push(parameter); + } + }); + + methods.push({ + functionName: name.toString(), + SDKFunctionName: method.name.text.toString(), + params: parameters, + }); + } + }); + + const classData: ClassData = { + className: sdkClassAst.name.text, + functions: methods, + serviceName: null, + }; + + return classData; +}; + +export interface ClassData { + className: string; + functions: FunctionData[]; + serviceName: string; +} + +interface FunctionData { + functionName: string; + SDKFunctionName: string; + params: param[]; +} + +interface param { + name: string; + type: string; + typeName: string; +} \ No newline at end of file From 0e6e998b19a0590c3ec335b182bef843e1b9c61f Mon Sep 17 00:00:00 2001 From: Pranjal Walia Date: Wed, 6 Jul 2022 17:19:54 +0530 Subject: [PATCH 05/19] feat: update parser consumption --- generator/generators/aliyun/generator.ts | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 generator/generators/aliyun/generator.ts diff --git a/generator/generators/aliyun/generator.ts b/generator/generators/aliyun/generator.ts new file mode 100644 index 00000000..79f15166 --- /dev/null +++ b/generator/generators/aliyun/generator.ts @@ -0,0 +1,24 @@ +import { ClassData, extractSDKData, getAST } from '../../parsers/aliyun/parser'; + +export const generateAliyunClass = ( + serviceClass: unknown, + serviceName: string +) => { + const sdkfile = serviceClass[Object.keys(serviceClass)[0]]; + getAST(sdkfile) + .then(async result => { + const sdkClassAst = result; + try { + const classData: ClassData = extractSDKData( + sdkClassAst, + serviceClass + ); + classData.serviceName = serviceName; + } catch (err) { + console.error('Error : ', err); + } + }) + .catch(error => { + console.error('Error : ', error); + }); +}; \ No newline at end of file From 83d0048eb81e1656531117951941fe482ecbf518 Mon Sep 17 00:00:00 2001 From: Pranjal Walia Date: Wed, 6 Jul 2022 17:20:21 +0530 Subject: [PATCH 06/19] tests: add tests for the aliyun parser --- generator/test/parsers/aliyun/parser.test.ts | 26 ++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 generator/test/parsers/aliyun/parser.test.ts diff --git a/generator/test/parsers/aliyun/parser.test.ts b/generator/test/parsers/aliyun/parser.test.ts new file mode 100644 index 00000000..771fa901 --- /dev/null +++ b/generator/test/parsers/aliyun/parser.test.ts @@ -0,0 +1,26 @@ +import { expect } from 'chai'; +import { SyntaxKind } from 'typescript'; + +import { getAST } from '../../../parsers/aliyun/parser'; + +describe('Aliyun getAST Implementation', () => { + const sdkFilePath = 'oss index.d.ts setRegion'; + const invalidPath = 'oss unknown.d.ts setRegion'; + context('With existing file', () => { + it('Should return Abstract syntax tree of the class', async () => { + const ast: any = await getAST(sdkFilePath); + expect(ast).to.be.an('object'); + expect(SyntaxKind[ast.kind] === 'ClassDeclaration').to.be.true; + }); + }); + + context('With non-existing file', () => { + it('should return File not found Error', async () => { + try { + await getAST(invalidPath); + } catch (error) { + expect(error.message).to.eql('File not found!'); + } + }); + }); +}); \ No newline at end of file From 11fa9bcaea1e14f47fd6b12b29f7437fe14a6633 Mon Sep 17 00:00:00 2001 From: Pranjal Walia Date: Wed, 6 Jul 2022 17:20:50 +0530 Subject: [PATCH 07/19] chore: update main file --- generator/main.ts | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/generator/main.ts b/generator/main.ts index 5374718c..719bb434 100644 --- a/generator/main.ts +++ b/generator/main.ts @@ -1,10 +1,11 @@ import * as fs from "fs"; import * as yaml from "js-yaml"; -import { generateAWSClass } from "./generators/aws/generator"; -import { generateAzureClass } from "./generators/azure/generator"; -import { generateDOClass } from "./generators/do/generator"; -import { generateGCPClass } from "./generators/googleCloud/generator"; +import { generateAliyunClass } from './generators/aliyun/generator'; +import { generateAWSClass } from './generators/aws/generator'; +import { generateAzureClass } from './generators/azure/generator'; +import { generateDOClass } from './generators/do/generator'; +import { generateGCPClass } from './generators/googleCloud/generator'; try { const services = yaml.safeLoad(fs.readFileSync("node-cloud.yml", "utf8")); @@ -18,7 +19,9 @@ try { generateGCPClass(services[service][provider], service); } else if (provider == "DO") { generateDOClass(services[service][provider], service); - } + } else if (provider === 'Ali') { + generateAliyunClass(services[service][provider], service); + } }); }); } catch (error) { From eed5587b5597f77cf97c6448205925f11991a278 Mon Sep 17 00:00:00 2001 From: Pranjal Walia Date: Sat, 9 Jul 2022 09:23:47 +0530 Subject: [PATCH 08/19] chore: update formatter spacing and apply --- .prettierrc | 12 +- generator/generators/aws/generator.ts | 208 +- generator/generators/azure/generator.ts | 260 +- generator/generators/do/generator.ts | 200 +- generator/generators/googleCloud/generator.ts | 709 +- generator/generators/lib/aws/awsHelper.ts | 52 +- generator/generators/lib/azure/azureHelper.ts | 108 +- .../generators/lib/googleCloud/gcpHelper.ts | 116 +- generator/generators/lib/helper.ts | 46 +- generator/main.ts | 30 +- generator/package.json | 80 +- generator/parsers/aws/parser.ts | 63 +- generator/parsers/azure/parser.ts | 62 +- generator/parsers/do/parser.ts | 64 +- generator/parsers/googleCloud/parser.ts | 92 +- .../invalidDataset_1/serviceClass.json | 18 +- .../invalidDataset_2/serviceClass.json | 18 +- .../dummyData/validDataset/serviceClass.json | 18 +- .../test/generators/aws/generator.test.ts | 152 +- .../dummyData/invalidDataset_1/files.json | 26 +- .../dummyData/invalidDataset_1/methods.json | 90 +- .../azure/dummyData/validDataset/files.json | 26 +- .../azure/dummyData/validDataset/methods.json | 90 +- .../test/generators/azure/generator.test.ts | 117 +- .../invalidDataset_1/serviceClass.json | 12 +- .../invalidDataset_2/serviceClass.json | 12 +- .../dummyData/validDataset/serviceClass.json | 12 +- .../test/generators/do/generator.test.ts | 146 +- .../dummyData/invalidDataset_1/files.json | 26 +- .../dummyData/invalidDataset_1/methods.json | 90 +- .../dummyData/invalidDataset_2/files.json | 16 +- .../dummyData/invalidDataset_2/methods.json | 66 +- .../dummyData/validDataset_1/files.json | 48 +- .../dummyData/validDataset_1/methods.json | 44 +- .../dummyData/validDataset_2/files.json | 16 +- .../dummyData/validDataset_2/methods.json | 66 +- .../generators/googleCloud/generator.test.ts | 298 +- generator/test/generators/lib/helper.ts | 54 +- generator/test/parsers/aws/parser.test.ts | 50 +- generator/test/parsers/azure/parser.test.ts | 64 +- generator/test/parsers/do/parser.test.ts | 50 +- .../test/parsers/googleCloud/parser.test.ts | 106 +- .../aws/dummyData/invalidDataset_1/data.json | 204 +- .../aws/dummyData/invalidDataset_2/data.json | 26 +- .../aws/dummyData/validDataset/data.json | 204 +- .../test/transformers/aws/transformer.test.ts | 108 +- .../dummyData/invalidDataset_1/data.json | 244 +- .../azure/dummyData/validDataset/data.json | 244 +- .../transformers/azure/transformer.test.ts | 108 +- .../do/dummyData/invalidDataset_1/data.json | 200 +- .../do/dummyData/invalidDataset_2/data.json | 26 +- .../do/dummyData/validDataset/data.json | 200 +- .../test/transformers/do/transformer.test.ts | 108 +- .../googleCloud/classBasedTransformer.test.ts | 150 +- .../clientBasedTransformer.test.ts | 150 +- .../invalidDataset_1/data.json | 7990 ++++++++--------- .../validDataset/data.json | 7990 ++++++++--------- .../invalidDataset_1/data.json | 244 +- .../validDataset/data.json | 246 +- generator/test/transformers/lib/helper.ts | 54 +- generator/transformers/aws/transformer.ts | 429 +- generator/transformers/azure/transformer.ts | 431 +- generator/transformers/do/transformer.ts | 477 +- .../googleCloud/classBasedTransformer.ts | 582 +- .../googleCloud/clientBasedTransformer.ts | 489 +- generator/tsconfig.json | 10 +- jsdoc.json | 38 +- lerna.json | 8 +- package.json | 120 +- packages/aws-plugin/package.json | 32 +- packages/azure-plugin/package.json | 54 +- packages/common/package.json | 34 +- packages/do-plugin/package.json | 32 +- packages/gcp-plugin/package.json | 52 +- 74 files changed, 12488 insertions(+), 12629 deletions(-) diff --git a/.prettierrc b/.prettierrc index 20d4a48a..606f45f5 100644 --- a/.prettierrc +++ b/.prettierrc @@ -1,7 +1,7 @@ -{ - "tabWidth": 4, - "singleQuote": true, - "printWidth": 80, - "useTabs": true, - "trailingComma": "es5" +{ + "tabWidth": 2, + "singleQuote": true, + "printWidth": 80, + "useTabs": false, + "trailingComma": "es5" } diff --git a/generator/generators/aws/generator.ts b/generator/generators/aws/generator.ts index a73f98b8..a905e499 100644 --- a/generator/generators/aws/generator.ts +++ b/generator/generators/aws/generator.ts @@ -6,128 +6,120 @@ import { transform } from '../../transformers/aws/transformer'; import { filters, getDir, groupers, printFile } from '../lib/helper'; interface FunctionData { - functionName: string; - SDKFunctionName: string; - params: param[]; + functionName: string; + SDKFunctionName: string; + params: param[]; } interface param { - name: string; - type: string; - typeName: string; + name: string; + type: string; + typeName: string; } interface ClassData { - className: string; - functions: FunctionData[]; - serviceName: string; + className: string; + functions: FunctionData[]; + serviceName: string; } const dummyFile = process.cwd() + '/dummyClasses/aws.js'; const dummyAst = createSourceFile( - dummyFile, - fs.readFileSync(dummyFile).toString(), - ScriptTarget.Latest, - true + dummyFile, + fs.readFileSync(dummyFile).toString(), + ScriptTarget.Latest, + true ); export function extractSDKData(sdkClassAst, serviceClass) { - let methods: FunctionData[] = []; - const functions = []; - - Object.keys(serviceClass).map((key, index) => { - functions.push(serviceClass[key].split(' ')[1]); - }); - - sdkClassAst.members.map(method => { - if (method.name && functions.includes(method.name.text)) { - let name; - Object.keys(serviceClass).map((key, index) => { - if (serviceClass[key].split(' ')[1] === method.name.text) { - name = key; - } - }); - - const parameters = []; - method.parameters.map(param => { - if (param.name.text !== 'callback') { - const parameter = { - name: param.name.text, - optional: param.questionToken ? true : false, - type: SyntaxKind[param.type.kind], - typeName: null, - }; - - if ( - parameter.type === 'TypeReference' && - param.type.typeName - ) { - parameter.typeName = param.type.typeName.right.text; - } - - parameters.push(parameter); - } - }); - - methods.push({ - functionName: name.toString(), - SDKFunctionName: method.name.text.toString(), - params: parameters, - }); - } - }); - - const groupedMethods = groupers.aws(methods); - methods = filters.aws(groupedMethods); - - const classData: ClassData = { - className: sdkClassAst.name.text, - functions: methods, - serviceName: null, - }; - - return classData; + let methods: FunctionData[] = []; + const functions = []; + + Object.keys(serviceClass).map((key, index) => { + functions.push(serviceClass[key].split(' ')[1]); + }); + + sdkClassAst.members.map(method => { + if (method.name && functions.includes(method.name.text)) { + let name; + Object.keys(serviceClass).map((key, index) => { + if (serviceClass[key].split(' ')[1] === method.name.text) { + name = key; + } + }); + + const parameters = []; + method.parameters.map(param => { + if (param.name.text !== 'callback') { + const parameter = { + name: param.name.text, + optional: param.questionToken ? true : false, + type: SyntaxKind[param.type.kind], + typeName: null, + }; + + if (parameter.type === 'TypeReference' && param.type.typeName) { + parameter.typeName = param.type.typeName.right.text; + } + + parameters.push(parameter); + } + }); + + methods.push({ + functionName: name.toString(), + SDKFunctionName: method.name.text.toString(), + params: parameters, + }); + } + }); + + const groupedMethods = groupers.aws(methods); + methods = filters.aws(groupedMethods); + + const classData: ClassData = { + className: sdkClassAst.name.text, + functions: methods, + serviceName: null, + }; + + return classData; } export function generateAWSClass(serviceClass, serviceName) { - const sdkFile = serviceClass[Object.keys(serviceClass)[0]].split(' ')[0]; - getAST(sdkFile).then(async result => { - const sdkClassAst = result; - try { - const classData: ClassData = extractSDKData( - sdkClassAst, - serviceClass - ); - classData.serviceName = serviceName; - const output = await transform(dummyAst, classData); - let filePath; - const dir = getDir(serviceName); - if ( - !fs.existsSync(process.cwd() + '/generatedClasses/AWS/' + dir) - ) { - fs.mkdirSync(process.cwd() + '/generatedClasses/AWS/' + dir); - } - if (/^[A-Z]*$/.test(serviceName)) { - filePath = - process.cwd() + - '/generatedClasses/AWS/' + - dir + - '/aws-' + - serviceName + - '.js'; - } else { - filePath = - process.cwd() + - '/generatedClasses/AWS/' + - dir + - '/aws-' + - serviceName.charAt(0).toLowerCase() + - serviceName.slice(1) + - '.js'; - } - printFile(filePath, output); - } catch (e) { - console.error(e); - } - }); + const sdkFile = serviceClass[Object.keys(serviceClass)[0]].split(' ')[0]; + getAST(sdkFile).then(async result => { + const sdkClassAst = result; + try { + const classData: ClassData = extractSDKData(sdkClassAst, serviceClass); + classData.serviceName = serviceName; + const output = await transform(dummyAst, classData); + let filePath; + const dir = getDir(serviceName); + if (!fs.existsSync(process.cwd() + '/generatedClasses/AWS/' + dir)) { + fs.mkdirSync(process.cwd() + '/generatedClasses/AWS/' + dir); + } + if (/^[A-Z]*$/.test(serviceName)) { + filePath = + process.cwd() + + '/generatedClasses/AWS/' + + dir + + '/aws-' + + serviceName + + '.js'; + } else { + filePath = + process.cwd() + + '/generatedClasses/AWS/' + + dir + + '/aws-' + + serviceName.charAt(0).toLowerCase() + + serviceName.slice(1) + + '.js'; + } + printFile(filePath, output); + } catch (e) { + console.error(e); + } + }); } diff --git a/generator/generators/azure/generator.ts b/generator/generators/azure/generator.ts index 982337f3..183d1526 100644 --- a/generator/generators/azure/generator.ts +++ b/generator/generators/azure/generator.ts @@ -6,147 +6,147 @@ import { transform } from '../../transformers/azure/transformer'; import { filters, getDir, groupers, printFile } from '../lib/helper'; interface FunctionData { - pkgName: string; - fileName: string; - functionName: string; - SDKFunctionName: string; - params: param[]; - returnType: string; - client: string; + pkgName: string; + fileName: string; + functionName: string; + SDKFunctionName: string; + params: param[]; + returnType: string; + client: string; } interface param { - name: string; - type: string; + name: string; + type: string; } const dummyFile = process.cwd() + '/dummyClasses/azure.js'; const dummyAst = createSourceFile( - dummyFile, - fs.readFileSync(dummyFile).toString(), - ScriptTarget.Latest, - true + dummyFile, + fs.readFileSync(dummyFile).toString(), + ScriptTarget.Latest, + true ); export function extractSDKData(sdkFiles, methods) { - const specifiedMethods = JSON.parse(JSON.stringify(methods)); - sdkFiles.map(sdkFile => { - sdkFile.ast.members.map(member => { - if (SyntaxKind[member.kind] === 'Constructor') { - member.parameters.map(param => { - const tempStr = param.type.typeName.text.split(/(?=[A-Z])/); - tempStr.pop(); - sdkFile.client = tempStr.join(''); - }); - } - - if ( - SyntaxKind[member.kind] === 'MethodDeclaration' && - sdkFile.sdkFunctionNames.includes(member.name.text) - ) { - const method = methods.find( - methd => - methd.SDKFunctionName === member.name.text && - methd.fileName === sdkFile.fileName - ); - const parameters = member.parameters.map(param => { - return { - name: param.name.text, - optional: param.questionToken ? true : false, - type: SyntaxKind[param.type.kind], - }; - }); - - const returnType = SyntaxKind[member.type.kind]; - if (!method.returnType) { - method.params = parameters; - method.returnType = returnType; - method.client = sdkFile.client; - } else { - const clone = JSON.parse(JSON.stringify(method)); - clone.params = parameters; - clone.returnType = returnType; - clone.client = sdkFile.client; - methods.push(clone); - } - } - }); - }); - - if (JSON.stringify(methods) === JSON.stringify(specifiedMethods)) { - throw new Error('Data extraction unsuccessful'); - } - - const groupedMethods = groupers.azure(methods); - methods = filters.azure(groupedMethods); - - const classData = { - functions: methods, - }; - - return classData; + const specifiedMethods = JSON.parse(JSON.stringify(methods)); + sdkFiles.map(sdkFile => { + sdkFile.ast.members.map(member => { + if (SyntaxKind[member.kind] === 'Constructor') { + member.parameters.map(param => { + const tempStr = param.type.typeName.text.split(/(?=[A-Z])/); + tempStr.pop(); + sdkFile.client = tempStr.join(''); + }); + } + + if ( + SyntaxKind[member.kind] === 'MethodDeclaration' && + sdkFile.sdkFunctionNames.includes(member.name.text) + ) { + const method = methods.find( + methd => + methd.SDKFunctionName === member.name.text && + methd.fileName === sdkFile.fileName + ); + const parameters = member.parameters.map(param => { + return { + name: param.name.text, + optional: param.questionToken ? true : false, + type: SyntaxKind[param.type.kind], + }; + }); + + const returnType = SyntaxKind[member.type.kind]; + if (!method.returnType) { + method.params = parameters; + method.returnType = returnType; + method.client = sdkFile.client; + } else { + const clone = JSON.parse(JSON.stringify(method)); + clone.params = parameters; + clone.returnType = returnType; + clone.client = sdkFile.client; + methods.push(clone); + } + } + }); + }); + + if (JSON.stringify(methods) === JSON.stringify(specifiedMethods)) { + throw new Error('Data extraction unsuccessful'); + } + + const groupedMethods = groupers.azure(methods); + methods = filters.azure(groupedMethods); + + const classData = { + functions: methods, + }; + + return classData; } export async function generateAzureClass(serviceClass, serviceName) { - let methods: FunctionData[] = []; - - Object.keys(serviceClass).map((key, index) => { - methods.push({ - pkgName: serviceClass[key].split(' ')[0], - fileName: serviceClass[key].split(' ')[1], - functionName: key, - SDKFunctionName: serviceClass[key].split(' ')[2], - params: [], - returnType: null, - client: null, - }); - }); - - const files = Array.from(new Set(methods.map(method => method.fileName))); - - const sdkFiles = files.map(file => { - return { - fileName: file, - pkgName: methods[0].pkgName, - ast: null, - client: null, - sdkFunctionNames: methods - .filter(method => method.fileName === file) - .map(method => method.SDKFunctionName), - }; - }); - - await Promise.all( - sdkFiles.map(async file => { - file.ast = await getAST(file); - }) - ); - - const classData: any = extractSDKData(sdkFiles, methods); - classData.serviceName = serviceName; - const output = await transform(dummyAst, classData); - let filePath; - const dir = getDir(serviceName); - if (!fs.existsSync(process.cwd() + '/generatedClasses/Azure/' + dir)) { - fs.mkdirSync(process.cwd() + '/generatedClasses/Azure/' + dir); - } - if (/^[A-Z]*$/.test(serviceName)) { - filePath = - process.cwd() + - '/generatedClasses/Azure/' + - dir + - '/azure-' + - serviceName + - '.js'; - } else { - filePath = - process.cwd() + - '/generatedClasses/Azure/' + - dir + - '/azure-' + - serviceName.charAt(0).toLowerCase() + - serviceName.slice(1) + - '.js'; - } - printFile(filePath, output); + let methods: FunctionData[] = []; + + Object.keys(serviceClass).map((key, index) => { + methods.push({ + pkgName: serviceClass[key].split(' ')[0], + fileName: serviceClass[key].split(' ')[1], + functionName: key, + SDKFunctionName: serviceClass[key].split(' ')[2], + params: [], + returnType: null, + client: null, + }); + }); + + const files = Array.from(new Set(methods.map(method => method.fileName))); + + const sdkFiles = files.map(file => { + return { + fileName: file, + pkgName: methods[0].pkgName, + ast: null, + client: null, + sdkFunctionNames: methods + .filter(method => method.fileName === file) + .map(method => method.SDKFunctionName), + }; + }); + + await Promise.all( + sdkFiles.map(async file => { + file.ast = await getAST(file); + }) + ); + + const classData: any = extractSDKData(sdkFiles, methods); + classData.serviceName = serviceName; + const output = await transform(dummyAst, classData); + let filePath; + const dir = getDir(serviceName); + if (!fs.existsSync(process.cwd() + '/generatedClasses/Azure/' + dir)) { + fs.mkdirSync(process.cwd() + '/generatedClasses/Azure/' + dir); + } + if (/^[A-Z]*$/.test(serviceName)) { + filePath = + process.cwd() + + '/generatedClasses/Azure/' + + dir + + '/azure-' + + serviceName + + '.js'; + } else { + filePath = + process.cwd() + + '/generatedClasses/Azure/' + + dir + + '/azure-' + + serviceName.charAt(0).toLowerCase() + + serviceName.slice(1) + + '.js'; + } + printFile(filePath, output); } diff --git a/generator/generators/do/generator.ts b/generator/generators/do/generator.ts index 80f1c798..518b9d4b 100644 --- a/generator/generators/do/generator.ts +++ b/generator/generators/do/generator.ts @@ -6,124 +6,118 @@ import { transform } from '../../transformers/do/transformer'; import { getDir, printFile } from '../lib/helper'; interface FunctionData { - functionName: string; - SDKFunctionName: string; - params: param[]; + functionName: string; + SDKFunctionName: string; + params: param[]; } interface param { - name: string; - type: string; - typeName: string; + name: string; + type: string; + typeName: string; } interface ClassData { - className: string; - functions: FunctionData[]; - serviceName: string; + className: string; + functions: FunctionData[]; + serviceName: string; } const dummyFile = process.cwd() + '/dummyClasses/do.js'; const dummyAst = createSourceFile( - dummyFile, - fs.readFileSync(dummyFile).toString(), - ScriptTarget.Latest, - true + dummyFile, + fs.readFileSync(dummyFile).toString(), + ScriptTarget.Latest, + true ); export function extractSDKData(sdkClassAst, serviceClass) { - let methods: FunctionData[] = []; - const functions = []; - - Object.keys(serviceClass).map((key, index) => { - functions.push(serviceClass[key].split(' ')[1]); - }); - - sdkClassAst.members.map(method => { - if (method.name && functions.includes(method.name.text)) { - let name; - Object.keys(serviceClass).map((key, index) => { - if (serviceClass[key].split(' ')[1] === method.name.text) { - name = key; - } - }); - - const parameters = []; - method.parameters.map(param => { - if (param.name.text !== 'callback') { - const parameter = { - name: param.name.text, - optional: param.questionToken ? true : false, - type: SyntaxKind[param.type.kind], - typeName: null, - }; - - if ( - parameter.type === 'TypeReference' && - param.type.typeName - ) { - parameter.typeName = param.type.typeName.text; - } - - parameters.push(parameter); - } - }); - - methods.push({ - functionName: name.toString(), - SDKFunctionName: method.name.text.toString(), - params: parameters, - }); - } - }); - - const classData: ClassData = { - className: sdkClassAst.name.text, - functions: methods, - serviceName: null, - }; - - return classData; + let methods: FunctionData[] = []; + const functions = []; + + Object.keys(serviceClass).map((key, index) => { + functions.push(serviceClass[key].split(' ')[1]); + }); + + sdkClassAst.members.map(method => { + if (method.name && functions.includes(method.name.text)) { + let name; + Object.keys(serviceClass).map((key, index) => { + if (serviceClass[key].split(' ')[1] === method.name.text) { + name = key; + } + }); + + const parameters = []; + method.parameters.map(param => { + if (param.name.text !== 'callback') { + const parameter = { + name: param.name.text, + optional: param.questionToken ? true : false, + type: SyntaxKind[param.type.kind], + typeName: null, + }; + + if (parameter.type === 'TypeReference' && param.type.typeName) { + parameter.typeName = param.type.typeName.text; + } + + parameters.push(parameter); + } + }); + + methods.push({ + functionName: name.toString(), + SDKFunctionName: method.name.text.toString(), + params: parameters, + }); + } + }); + + const classData: ClassData = { + className: sdkClassAst.name.text, + functions: methods, + serviceName: null, + }; + + return classData; } export function generateDOClass(serviceClass, serviceName) { - const sdkFile = serviceClass[Object.keys(serviceClass)[0]].split(' ')[0]; - getAST(sdkFile).then(async result => { - const sdkClassAst = result; - try { - const classData: ClassData = extractSDKData( - sdkClassAst, - serviceClass - ); - classData.serviceName = serviceName; - const output = await transform(dummyAst, classData); - let filePath; - const dir = getDir(serviceName); - if (!fs.existsSync(process.cwd() + '/generatedClasses/DO/' + dir)) { - fs.mkdirSync(process.cwd() + '/generatedClasses/DO/' + dir); - } - if (/^[A-Z]*$/.test(serviceName)) { - filePath = - process.cwd() + - '/generatedClasses/DO/' + - dir + - '/do-' + - serviceName + - '.js'; - } else { - filePath = - process.cwd() + - '/generatedClasses/DO/' + - dir + - '/do-' + - serviceName.charAt(0).toLowerCase() + - serviceName.slice(1) + - '.js'; - } - printFile(filePath, output); - } catch (e) { - console.error(e); - } - }); + const sdkFile = serviceClass[Object.keys(serviceClass)[0]].split(' ')[0]; + getAST(sdkFile).then(async result => { + const sdkClassAst = result; + try { + const classData: ClassData = extractSDKData(sdkClassAst, serviceClass); + classData.serviceName = serviceName; + const output = await transform(dummyAst, classData); + let filePath; + const dir = getDir(serviceName); + if (!fs.existsSync(process.cwd() + '/generatedClasses/DO/' + dir)) { + fs.mkdirSync(process.cwd() + '/generatedClasses/DO/' + dir); + } + if (/^[A-Z]*$/.test(serviceName)) { + filePath = + process.cwd() + + '/generatedClasses/DO/' + + dir + + '/do-' + + serviceName + + '.js'; + } else { + filePath = + process.cwd() + + '/generatedClasses/DO/' + + dir + + '/do-' + + serviceName.charAt(0).toLowerCase() + + serviceName.slice(1) + + '.js'; + } + printFile(filePath, output); + } catch (e) { + console.error(e); + } + }); } diff --git a/generator/generators/googleCloud/generator.ts b/generator/generators/googleCloud/generator.ts index d22e8bc1..246e5edb 100644 --- a/generator/generators/googleCloud/generator.ts +++ b/generator/generators/googleCloud/generator.ts @@ -8,398 +8,381 @@ import { clientBasedTransform } from '../../transformers/googleCloud/clientBased import { filters, getDir, groupers, printFile } from '../lib/helper'; interface ClassData { - name: string; - methods: FunctionData[]; - constructor: constructorData; - properties: propertyData[]; + name: string; + methods: FunctionData[]; + constructor: constructorData; + properties: propertyData[]; } interface FunctionData { - pkgName: string; - version: string; - fileName: string; - functionName: string; - SDKFunctionName: string; - params: param[]; - returnType: string; - returnTypeName: string; - client: string; + pkgName: string; + version: string; + fileName: string; + functionName: string; + SDKFunctionName: string; + params: param[]; + returnType: string; + returnTypeName: string; + client: string; } interface propertyData { - name: string; - type: string; + name: string; + type: string; } interface constructorData { - parameters: param[]; + parameters: param[]; } interface param { - name: string; - type: string; - optional: boolean; + name: string; + type: string; + optional: boolean; } const dummyFile = process.cwd() + '/dummyClasses/gcp.js'; const dummyAst = createSourceFile( - dummyFile, - fs.readFileSync(dummyFile).toString(), - ScriptTarget.Latest, - true + dummyFile, + fs.readFileSync(dummyFile).toString(), + ScriptTarget.Latest, + true ); export function extractClassBasedSDKData(methods, sdkFiles): any { - const specifiedMethods = JSON.parse(JSON.stringify(methods)); - return new Promise(async (resolve, reject) => { - try { - let classes: ClassData[] = []; - - sdkFiles.map(file => { - file.classes.map(classAst => { - const classInfo: ClassData = { - name: classAst.name.text, - methods: [], - properties: [], - constructor: null, - }; - - classAst.members.map(member => { - if (SyntaxKind[member.kind] === 'MethodDeclaration') { - const returnType = SyntaxKind[member.type.kind]; - - const parameters = member.parameters.map(param => { - return { - name: param.name.text, - optional: param.questionToken - ? true - : false, - type: SyntaxKind[param.type.kind], - }; - }); - const method: FunctionData = { - pkgName: file.pkgName, - version: null, - fileName: file.fileName, - functionName: null, - SDKFunctionName: member.name.text, - params: parameters, - returnType: returnType, - returnTypeName: null, - client: classAst.name.text, // Class name - }; - - if (returnType === 'TypeReference') { - method.returnTypeName = - member.type.typeName.text; - } - - const meth = methods.find( - meth => - meth.SDKFunctionName === - method.SDKFunctionName && - meth.fileName === method.fileName - ); - method.functionName = meth - ? meth.functionName - : null; - classInfo.methods.push(method); - } - - if (SyntaxKind[member.kind] === 'Constructor') { - const parameters = member.parameters.map(param => { - return { - name: param.name.text, - optional: param.questionToken - ? true - : false, - type: SyntaxKind[param.type.kind], - typeRefName: param.type.typeName - ? param.type.typeName.text - : null, - }; - }); - - classInfo.constructor = { - parameters, - }; - } - - if (SyntaxKind[member.kind] === 'PropertyDeclaration') { - const isPrivateProp = - member.modifiers && - member.modifiers.some( - modifier => - SyntaxKind[modifier.kind] === - 'PrivateKeyword' - ); - if (!isPrivateProp) { - const prop = { - name: member.name.text, - type: SyntaxKind[member.type.kind], - typeRefName: member.type.typeName - ? member.type.typeName.text - : null, - }; - classInfo.properties.push(prop); - } - } - }); - classes.push(classInfo); - }); - }); - - methods = []; - - classes.map(classData => { - let filteredMethods: any = classData.methods.filter( - meth => meth.functionName !== null - ); - filteredMethods.map(filMeth => { - filMeth.classConstructorData = classData.constructor; - }); - - methods = methods.concat(filteredMethods); - }); - - const extractedData = { - classes, - methods, - }; - if (JSON.stringify(methods) === JSON.stringify(specifiedMethods)) { - reject(new Error('Data extraction unsuccessful')); - } else { - resolve(extractedData); - } - } catch (error) { - reject(error); - } - }); + const specifiedMethods = JSON.parse(JSON.stringify(methods)); + return new Promise(async (resolve, reject) => { + try { + let classes: ClassData[] = []; + + sdkFiles.map(file => { + file.classes.map(classAst => { + const classInfo: ClassData = { + name: classAst.name.text, + methods: [], + properties: [], + constructor: null, + }; + + classAst.members.map(member => { + if (SyntaxKind[member.kind] === 'MethodDeclaration') { + const returnType = SyntaxKind[member.type.kind]; + + const parameters = member.parameters.map(param => { + return { + name: param.name.text, + optional: param.questionToken ? true : false, + type: SyntaxKind[param.type.kind], + }; + }); + const method: FunctionData = { + pkgName: file.pkgName, + version: null, + fileName: file.fileName, + functionName: null, + SDKFunctionName: member.name.text, + params: parameters, + returnType: returnType, + returnTypeName: null, + client: classAst.name.text, // Class name + }; + + if (returnType === 'TypeReference') { + method.returnTypeName = member.type.typeName.text; + } + + const meth = methods.find( + meth => + meth.SDKFunctionName === method.SDKFunctionName && + meth.fileName === method.fileName + ); + method.functionName = meth ? meth.functionName : null; + classInfo.methods.push(method); + } + + if (SyntaxKind[member.kind] === 'Constructor') { + const parameters = member.parameters.map(param => { + return { + name: param.name.text, + optional: param.questionToken ? true : false, + type: SyntaxKind[param.type.kind], + typeRefName: param.type.typeName + ? param.type.typeName.text + : null, + }; + }); + + classInfo.constructor = { + parameters, + }; + } + + if (SyntaxKind[member.kind] === 'PropertyDeclaration') { + const isPrivateProp = + member.modifiers && + member.modifiers.some( + modifier => SyntaxKind[modifier.kind] === 'PrivateKeyword' + ); + if (!isPrivateProp) { + const prop = { + name: member.name.text, + type: SyntaxKind[member.type.kind], + typeRefName: member.type.typeName + ? member.type.typeName.text + : null, + }; + classInfo.properties.push(prop); + } + } + }); + classes.push(classInfo); + }); + }); + + methods = []; + + classes.map(classData => { + let filteredMethods: any = classData.methods.filter( + meth => meth.functionName !== null + ); + filteredMethods.map(filMeth => { + filMeth.classConstructorData = classData.constructor; + }); + + methods = methods.concat(filteredMethods); + }); + + const extractedData = { + classes, + methods, + }; + if (JSON.stringify(methods) === JSON.stringify(specifiedMethods)) { + reject(new Error('Data extraction unsuccessful')); + } else { + resolve(extractedData); + } + } catch (error) { + reject(error); + } + }); } export function extractClientBasedSDKdata(methods, sdkFiles): any { - const specifiedMethods = JSON.parse(JSON.stringify(methods)); - return new Promise(async (resolve, reject) => { - try { - sdkFiles.map(sdkFile => { - sdkFile.client = sdkFile.ast.name.text; - sdkFile.ast.members.map(member => { - if ( - SyntaxKind[member.kind] === 'MethodDeclaration' && - sdkFile.sdkFunctionNames.includes(member.name.text) - ) { - const method = methods.find( - methd => methd.SDKFunctionName === member.name.text - ); - - const parameters = member.parameters.map(param => { - return { - name: param.name.text, - optional: param.questionToken ? true : false, - type: SyntaxKind[param.type.kind], - }; - }); - - const returnType = SyntaxKind[member.type.kind]; - if (returnType === 'TypeReference') { - method.returnTypeName = member.type.typeName.text; - } - - if (!method.returnType) { - method.params = parameters; - method.returnType = returnType; - method.client = sdkFile.client; - } else { - const clone = JSON.parse(JSON.stringify(method)); - clone.params = parameters; - clone.returnType = returnType; - clone.client = sdkFile.client; - methods.push(clone); - } - } - }); - }); - - if (JSON.stringify(methods) === JSON.stringify(specifiedMethods)) { - reject(new Error('Data extraction unsuccessful')); - } else { - resolve(methods); - } - } catch (error) { - reject(error); - } - }); + const specifiedMethods = JSON.parse(JSON.stringify(methods)); + return new Promise(async (resolve, reject) => { + try { + sdkFiles.map(sdkFile => { + sdkFile.client = sdkFile.ast.name.text; + sdkFile.ast.members.map(member => { + if ( + SyntaxKind[member.kind] === 'MethodDeclaration' && + sdkFile.sdkFunctionNames.includes(member.name.text) + ) { + const method = methods.find( + methd => methd.SDKFunctionName === member.name.text + ); + + const parameters = member.parameters.map(param => { + return { + name: param.name.text, + optional: param.questionToken ? true : false, + type: SyntaxKind[param.type.kind], + }; + }); + + const returnType = SyntaxKind[member.type.kind]; + if (returnType === 'TypeReference') { + method.returnTypeName = member.type.typeName.text; + } + + if (!method.returnType) { + method.params = parameters; + method.returnType = returnType; + method.client = sdkFile.client; + } else { + const clone = JSON.parse(JSON.stringify(method)); + clone.params = parameters; + clone.returnType = returnType; + clone.client = sdkFile.client; + methods.push(clone); + } + } + }); + }); + + if (JSON.stringify(methods) === JSON.stringify(specifiedMethods)) { + reject(new Error('Data extraction unsuccessful')); + } else { + resolve(methods); + } + } catch (error) { + reject(error); + } + }); } async function generateClassBasedCode(methods, data, serviceName) { - const dirPath = `../../../node_modules/@google-cloud/${methods[0].pkgName}/build/src/`; - let files = fs.readdirSync(path.join(__dirname, dirPath)); - files = files.filter( - fileName => - fileName.split('.')[1] === 'd' && fileName.split('.')[2] === 'ts' - ); - - const sdkFiles = files.map(fileName => { - return { - fileName: fileName, - pkgName: methods[0].pkgName, - classes: null, - sdkFunctionNames: methods - .filter(method => method.fileName === fileName) - .map(method => method.SDKFunctionName), - }; - }); - - await Promise.all( - sdkFiles.map(async file => { - file.classes = await getAST(file, true); - }) - ); - - const extractedData = await extractClassBasedSDKData( - methods, - sdkFiles - ).then(result => result); - const groupedMethods = groupers.gcp(extractedData.methods); - methods = filters.gcp(groupedMethods); - data.functions = methods; - data.classData = extractedData.classes; - data.serviceName = serviceName; - - const output = await classBasedTransform(dummyAst, data); - let filePath; - const dir = getDir(serviceName); - if ( - !fs.existsSync(process.cwd() + '/generatedClasses/googleCloud/' + dir) - ) { - fs.mkdirSync(process.cwd() + '/generatedClasses/googleCloud/' + dir); - } - if (/^[A-Z]*$/.test(serviceName)) { - filePath = - process.cwd() + - '/generatedClasses/googleCloud/' + - dir + - '/gcp-' + - serviceName + - '.js'; - } else { - filePath = - process.cwd() + - '/generatedClasses/googleCloud/' + - dir + - '/gcp-' + - serviceName.charAt(0).toLowerCase() + - serviceName.slice(1) + - '.js'; - } - printFile(filePath, output); + const dirPath = `../../../node_modules/@google-cloud/${methods[0].pkgName}/build/src/`; + let files = fs.readdirSync(path.join(__dirname, dirPath)); + files = files.filter( + fileName => + fileName.split('.')[1] === 'd' && fileName.split('.')[2] === 'ts' + ); + + const sdkFiles = files.map(fileName => { + return { + fileName: fileName, + pkgName: methods[0].pkgName, + classes: null, + sdkFunctionNames: methods + .filter(method => method.fileName === fileName) + .map(method => method.SDKFunctionName), + }; + }); + + await Promise.all( + sdkFiles.map(async file => { + file.classes = await getAST(file, true); + }) + ); + + const extractedData = await extractClassBasedSDKData(methods, sdkFiles).then( + result => result + ); + const groupedMethods = groupers.gcp(extractedData.methods); + methods = filters.gcp(groupedMethods); + data.functions = methods; + data.classData = extractedData.classes; + data.serviceName = serviceName; + + const output = await classBasedTransform(dummyAst, data); + let filePath; + const dir = getDir(serviceName); + if (!fs.existsSync(process.cwd() + '/generatedClasses/googleCloud/' + dir)) { + fs.mkdirSync(process.cwd() + '/generatedClasses/googleCloud/' + dir); + } + if (/^[A-Z]*$/.test(serviceName)) { + filePath = + process.cwd() + + '/generatedClasses/googleCloud/' + + dir + + '/gcp-' + + serviceName + + '.js'; + } else { + filePath = + process.cwd() + + '/generatedClasses/googleCloud/' + + dir + + '/gcp-' + + serviceName.charAt(0).toLowerCase() + + serviceName.slice(1) + + '.js'; + } + printFile(filePath, output); } async function generateClientBasedCode(methods, serviceName) { - const files = Array.from( - new Set(methods.map(method => method.fileName + ' ' + method.version)) - ); - const sdkFiles = files.map(file => { - return { - fileName: (file).split(' ')[0], - version: (file).split(' ')[1], - pkgName: methods[0].pkgName, - ast: null, - client: null, - sdkFunctionNames: methods - .filter( - method => method.fileName === (file).split(' ')[0] - ) - .map(method => method.SDKFunctionName), - }; - }); - - await Promise.all( - sdkFiles.map(async file => { - file.ast = await getAST(file); - }) - ); - - methods = await extractClientBasedSDKdata(methods, sdkFiles).then( - result => result - ); - const groupedMethods = groupers.gcp(methods); - methods = filters.gcp(groupedMethods); - - const classData = { - functions: methods, - serviceName, - }; - - const output = await clientBasedTransform(dummyAst, classData); - let filePath; - const dir = getDir(serviceName); - if ( - !fs.existsSync(process.cwd() + '/generatedClasses/googleCloud/' + dir) - ) { - fs.mkdirSync(process.cwd() + '/generatedClasses/googleCloud/' + dir); - } - if (/^[A-Z]*$/.test(serviceName)) { - filePath = - process.cwd() + - '/generatedClasses/googleCloud/' + - dir + - '/gcp-' + - serviceName + - '.js'; - } else { - filePath = - process.cwd() + - '/generatedClasses/googleCloud/' + - dir + - '/gcp-' + - serviceName.charAt(0).toLowerCase() + - serviceName.slice(1) + - '.js'; - } - printFile(filePath, output); + const files = Array.from( + new Set(methods.map(method => method.fileName + ' ' + method.version)) + ); + const sdkFiles = files.map(file => { + return { + fileName: (file).split(' ')[0], + version: (file).split(' ')[1], + pkgName: methods[0].pkgName, + ast: null, + client: null, + sdkFunctionNames: methods + .filter(method => method.fileName === (file).split(' ')[0]) + .map(method => method.SDKFunctionName), + }; + }); + + await Promise.all( + sdkFiles.map(async file => { + file.ast = await getAST(file); + }) + ); + + methods = await extractClientBasedSDKdata(methods, sdkFiles).then( + result => result + ); + const groupedMethods = groupers.gcp(methods); + methods = filters.gcp(groupedMethods); + + const classData = { + functions: methods, + serviceName, + }; + + const output = await clientBasedTransform(dummyAst, classData); + let filePath; + const dir = getDir(serviceName); + if (!fs.existsSync(process.cwd() + '/generatedClasses/googleCloud/' + dir)) { + fs.mkdirSync(process.cwd() + '/generatedClasses/googleCloud/' + dir); + } + if (/^[A-Z]*$/.test(serviceName)) { + filePath = + process.cwd() + + '/generatedClasses/googleCloud/' + + dir + + '/gcp-' + + serviceName + + '.js'; + } else { + filePath = + process.cwd() + + '/generatedClasses/googleCloud/' + + dir + + '/gcp-' + + serviceName.charAt(0).toLowerCase() + + serviceName.slice(1) + + '.js'; + } + printFile(filePath, output); } export async function generateGCPClass(serviceClass, serviceName) { - let methods: FunctionData[] = []; - const data: any = {}; - - Object.keys(serviceClass).map((key, index) => { - if (key === 'mainClass') { - data.mainClass = serviceClass[key]; - } else if ( - serviceClass[key].split(' ')[1].length === 2 && - serviceClass[key].split(' ')[1].charAt(0) === 'v' - ) { - methods.push({ - pkgName: serviceClass[key].split(' ')[0], - version: serviceClass[key].split(' ')[1], - fileName: serviceClass[key].split(' ')[2], - functionName: key, - SDKFunctionName: serviceClass[key].split(' ')[3], - params: [], - returnType: null, - returnTypeName: null, - client: null, - }); - } else { - methods.push({ - pkgName: serviceClass[key].split(' ')[0], - version: null, - fileName: serviceClass[key].split(' ')[1], - functionName: key, - SDKFunctionName: serviceClass[key].split(' ')[2], - params: [], - returnType: null, - returnTypeName: null, - client: null, - }); - } - }); - - if (methods[0].version) { - generateClientBasedCode(methods, serviceName); - } else { - generateClassBasedCode(methods, data, serviceName); - } + let methods: FunctionData[] = []; + const data: any = {}; + + Object.keys(serviceClass).map((key, index) => { + if (key === 'mainClass') { + data.mainClass = serviceClass[key]; + } else if ( + serviceClass[key].split(' ')[1].length === 2 && + serviceClass[key].split(' ')[1].charAt(0) === 'v' + ) { + methods.push({ + pkgName: serviceClass[key].split(' ')[0], + version: serviceClass[key].split(' ')[1], + fileName: serviceClass[key].split(' ')[2], + functionName: key, + SDKFunctionName: serviceClass[key].split(' ')[3], + params: [], + returnType: null, + returnTypeName: null, + client: null, + }); + } else { + methods.push({ + pkgName: serviceClass[key].split(' ')[0], + version: null, + fileName: serviceClass[key].split(' ')[1], + functionName: key, + SDKFunctionName: serviceClass[key].split(' ')[2], + params: [], + returnType: null, + returnTypeName: null, + client: null, + }); + } + }); + + if (methods[0].version) { + generateClientBasedCode(methods, serviceName); + } else { + generateClassBasedCode(methods, data, serviceName); + } } diff --git a/generator/generators/lib/aws/awsHelper.ts b/generator/generators/lib/aws/awsHelper.ts index 101328de..c01119ec 100644 --- a/generator/generators/lib/aws/awsHelper.ts +++ b/generator/generators/lib/aws/awsHelper.ts @@ -1,32 +1,32 @@ export function groupAWSMethods(methods): any { - const methodArr = Object.values( - methods.reduce((result, { functionName, SDKFunctionName, params }) => { - // Create new group - if (!result[functionName]) - result[functionName] = { - functionName, - array: [], - }; - // Append to group - result[functionName].array.push({ - functionName, - SDKFunctionName, - params, - }); - return result; - }, {}) - ); + const methodArr = Object.values( + methods.reduce((result, { functionName, SDKFunctionName, params }) => { + // Create new group + if (!result[functionName]) + result[functionName] = { + functionName, + array: [], + }; + // Append to group + result[functionName].array.push({ + functionName, + SDKFunctionName, + params, + }); + return result; + }, {}) + ); - return methodArr; + return methodArr; } export function filterAWSMethods(groupedMethods): any { - let methods = []; - groupedMethods.map(group => { - group.array.sort(function(a, b) { - return a.params.length - b.params.length; - }); - methods.push(group.array.slice(-1)[0]); - }); - return methods; + let methods = []; + groupedMethods.map(group => { + group.array.sort(function(a, b) { + return a.params.length - b.params.length; + }); + methods.push(group.array.slice(-1)[0]); + }); + return methods; } diff --git a/generator/generators/lib/azure/azureHelper.ts b/generator/generators/lib/azure/azureHelper.ts index 26887406..dc126e66 100644 --- a/generator/generators/lib/azure/azureHelper.ts +++ b/generator/generators/lib/azure/azureHelper.ts @@ -1,60 +1,60 @@ export function groupAzureMethods(methods): any { - const methodArr = Object.values( - methods.reduce( - ( - result, - { - functionName, - SDKFunctionName, - params, - pkgName, - fileName, - client, - returnType, - } - ) => { - // Create new group - if (!result[functionName]) - result[functionName] = { - functionName, - array: [], - }; - // Append to group - result[functionName].array.push({ - functionName, - SDKFunctionName, - params, - pkgName, - fileName, - client, - returnType, - }); - return result; - }, - {} - ) - ); + const methodArr = Object.values( + methods.reduce( + ( + result, + { + functionName, + SDKFunctionName, + params, + pkgName, + fileName, + client, + returnType, + } + ) => { + // Create new group + if (!result[functionName]) + result[functionName] = { + functionName, + array: [], + }; + // Append to group + result[functionName].array.push({ + functionName, + SDKFunctionName, + params, + pkgName, + fileName, + client, + returnType, + }); + return result; + }, + {} + ) + ); - return methodArr; + return methodArr; } export function filterAzureMethods(groupedMethods): any { - let methods = []; - groupedMethods.map(group => { - if (group.array.length === 1) { - methods.push(group.array[0]); - } else { - let methodPushed = false; - group.array.map(method => { - if (!method.params.find(param => param.name === 'callback')) { - methods.push(method); - methodPushed = true; - } - }); - if (!methodPushed) { - methods.push(group.array[0]); - } - } - }); - return methods; + let methods = []; + groupedMethods.map(group => { + if (group.array.length === 1) { + methods.push(group.array[0]); + } else { + let methodPushed = false; + group.array.map(method => { + if (!method.params.find(param => param.name === 'callback')) { + methods.push(method); + methodPushed = true; + } + }); + if (!methodPushed) { + methods.push(group.array[0]); + } + } + }); + return methods; } diff --git a/generator/generators/lib/googleCloud/gcpHelper.ts b/generator/generators/lib/googleCloud/gcpHelper.ts index 6bc41a3e..50d023b3 100644 --- a/generator/generators/lib/googleCloud/gcpHelper.ts +++ b/generator/generators/lib/googleCloud/gcpHelper.ts @@ -1,64 +1,64 @@ export function groupGCPMethods(methods): any { - const methodArr = Object.values( - methods.reduce( - ( - result, - { - functionName, - SDKFunctionName, - params, - pkgName, - fileName, - client, - returnType, - returnTypeName, - classConstructorData, - } - ) => { - // Create new group - if (!result[functionName]) - result[functionName] = { - functionName, - array: [], - }; - // Append to group - result[functionName].array.push({ - functionName, - SDKFunctionName, - params, - pkgName, - fileName, - client, - returnType, - returnTypeName, - classConstructorData, - }); - return result; - }, - {} - ) - ); + const methodArr = Object.values( + methods.reduce( + ( + result, + { + functionName, + SDKFunctionName, + params, + pkgName, + fileName, + client, + returnType, + returnTypeName, + classConstructorData, + } + ) => { + // Create new group + if (!result[functionName]) + result[functionName] = { + functionName, + array: [], + }; + // Append to group + result[functionName].array.push({ + functionName, + SDKFunctionName, + params, + pkgName, + fileName, + client, + returnType, + returnTypeName, + classConstructorData, + }); + return result; + }, + {} + ) + ); - return methodArr; + return methodArr; } export function filterGCPMethods(groupedMethods): any { - let methods = []; - groupedMethods.map(group => { - if (group.array.length === 1) { - methods.push(group.array[0]); - } else { - let methodPushed = false; - group.array.map(method => { - if (!method.params.find(param => param.name === 'callback')) { - methods.push(method); - methodPushed = true; - } - }); - if (!methodPushed) { - methods.push(group.array[0]); - } - } - }); - return methods; + let methods = []; + groupedMethods.map(group => { + if (group.array.length === 1) { + methods.push(group.array[0]); + } else { + let methodPushed = false; + group.array.map(method => { + if (!method.params.find(param => param.name === 'callback')) { + methods.push(method); + methodPushed = true; + } + }); + if (!methodPushed) { + methods.push(group.array[0]); + } + } + }); + return methods; } diff --git a/generator/generators/lib/helper.ts b/generator/generators/lib/helper.ts index 7af889ea..9f1759ac 100644 --- a/generator/generators/lib/helper.ts +++ b/generator/generators/lib/helper.ts @@ -8,41 +8,41 @@ import { groupGCPMethods } from '../lib/googleCloud/gcpHelper'; import { filterGCPMethods } from '../lib/googleCloud/gcpHelper'; const dirMap = { - appServices: ['PaaS'], - compute: ['ComputeInstance', 'Kubernetes', 'Container'], - database: ['NoSqlIndexed', 'RDBMS', 'NoSql'], - management: ['Monitoring', 'KeyManagement', 'NotificationService'], - network: ['DNS', 'LoadBalancer'], - security: ['IAM'], - storage: ['StorageBucket', 'BlockStorage', 'ArchivalStorage'], - artificialinteligence: ['Translation'], + appServices: ['PaaS'], + compute: ['ComputeInstance', 'Kubernetes', 'Container'], + database: ['NoSqlIndexed', 'RDBMS', 'NoSql'], + management: ['Monitoring', 'KeyManagement', 'NotificationService'], + network: ['DNS', 'LoadBalancer'], + security: ['IAM'], + storage: ['StorageBucket', 'BlockStorage', 'ArchivalStorage'], + artificialinteligence: ['Translation'], }; export function printFile(fileName, data) { - fs.writeFile(fileName, data, function(err) { - if (err) throw err; - }); + fs.writeFile(fileName, data, function(err) { + if (err) throw err; + }); } const groupers = { - aws: groupAWSMethods, - gcp: groupGCPMethods, - azure: groupAzureMethods, + aws: groupAWSMethods, + gcp: groupGCPMethods, + azure: groupAzureMethods, }; const filters = { - aws: filterAWSMethods, - gcp: filterGCPMethods, - azure: filterAzureMethods, + aws: filterAWSMethods, + gcp: filterGCPMethods, + azure: filterAzureMethods, }; const getDir = (service: string): string => { - for (let dir in dirMap) { - if (dirMap[dir].includes(service)) { - return dir; - } - } - throw new Error('Not a valid service: ' + service); + for (let dir in dirMap) { + if (dirMap[dir].includes(service)) { + return dir; + } + } + throw new Error('Not a valid service: ' + service); }; export { filters, getDir, groupers }; diff --git a/generator/main.ts b/generator/main.ts index 3fea134e..5c567bcb 100644 --- a/generator/main.ts +++ b/generator/main.ts @@ -7,20 +7,20 @@ import { generateDOClass } from './generators/do/generator'; import { generateGCPClass } from './generators/googleCloud/generator'; try { - const services = yaml.safeLoad(fs.readFileSync('node-cloud.yml', 'utf8')); - Object.keys(services).map((service, index) => { - Object.keys(services[service]).map((provider, index1) => { - if (provider === 'Azure') { - generateAzureClass(services[service][provider], service); - } else if (provider === 'AWS') { - generateAWSClass(services[service][provider], service); - } else if (provider === 'GCP') { - generateGCPClass(services[service][provider], service); - } else if (provider == 'DO') { - generateDOClass(services[service][provider], service); - } - }); - }); + const services = yaml.safeLoad(fs.readFileSync('node-cloud.yml', 'utf8')); + Object.keys(services).map((service, index) => { + Object.keys(services[service]).map((provider, index1) => { + if (provider === 'Azure') { + generateAzureClass(services[service][provider], service); + } else if (provider === 'AWS') { + generateAWSClass(services[service][provider], service); + } else if (provider === 'GCP') { + generateGCPClass(services[service][provider], service); + } else if (provider == 'DO') { + generateDOClass(services[service][provider], service); + } + }); + }); } catch (error) { - console.error('Error : ', error); + console.error('Error : ', error); } diff --git a/generator/package.json b/generator/package.json index 8a30d4e4..bc3fca71 100644 --- a/generator/package.json +++ b/generator/package.json @@ -1,42 +1,42 @@ { - "name": "class-generator", - "version": "1.0.0", - "main": "main.js", - "author": "Scorelab", - "description": "NodeCloud code generation tool", - "license": "Apache-2.0", - "keywords": [ - "nodecloud", - "code-generation" - ], - "scripts": { - "test": "cross-env TS_NODE_FILES=true mocha --exit --require ts-node/register --colors test/**/*.ts", - "tool": "tsc main && node main", - "lint": "eslint .", - "lint-fix": "eslint --fix ." - }, - "dependencies": { - "@azure/arm-appservice": "^6.0.0", - "@azure/arm-compute": "^14.0.0", - "@azure/arm-containerservice": "^11.0.0", - "@azure/arm-cosmosdb": "^8.0.0", - "@azure/arm-keyvault": "^1.2.1", - "@azure/arm-monitor": "^6.0.0", - "@azure/arm-sql": "^7.0.0", - "@azure/arm-storage": "^15.0.0", - "@google-cloud/compute": "^2.0.0", - "@google-cloud/container": "^2.1.0", - "@google-cloud/dns": "^2.0.1", - "@google-cloud/monitoring": "^2.0.0", - "@google-cloud/pubsub": "^2.1.0", - "@google-cloud/storage": "^5.1.1", - "@google-cloud/translate": "^6.0.0", - "aws-sdk": "^2.686.0", - "config": "^1.26.1", - "do-wrapper": "^4.5.1", - "js-yaml": "^3.14.0", - "key-mirror": "^1.0.1", - "lodash": "^4.17.19", - "typescript": "^3.9.3" - } + "name": "class-generator", + "version": "1.0.0", + "main": "main.js", + "author": "Scorelab", + "description": "NodeCloud code generation tool", + "license": "Apache-2.0", + "keywords": [ + "nodecloud", + "code-generation" + ], + "scripts": { + "test": "cross-env TS_NODE_FILES=true mocha --exit --require ts-node/register --colors test/**/*.ts", + "tool": "tsc main && node main", + "lint": "eslint .", + "lint-fix": "eslint --fix ." + }, + "dependencies": { + "@azure/arm-appservice": "^6.0.0", + "@azure/arm-compute": "^14.0.0", + "@azure/arm-containerservice": "^11.0.0", + "@azure/arm-cosmosdb": "^8.0.0", + "@azure/arm-keyvault": "^1.2.1", + "@azure/arm-monitor": "^6.0.0", + "@azure/arm-sql": "^7.0.0", + "@azure/arm-storage": "^15.0.0", + "@google-cloud/compute": "^2.0.0", + "@google-cloud/container": "^2.1.0", + "@google-cloud/dns": "^2.0.1", + "@google-cloud/monitoring": "^2.0.0", + "@google-cloud/pubsub": "^2.1.0", + "@google-cloud/storage": "^5.1.1", + "@google-cloud/translate": "^6.0.0", + "aws-sdk": "^2.686.0", + "config": "^1.26.1", + "do-wrapper": "^4.5.1", + "js-yaml": "^3.14.0", + "key-mirror": "^1.0.1", + "lodash": "^4.17.19", + "typescript": "^3.9.3" + } } diff --git a/generator/parsers/aws/parser.ts b/generator/parsers/aws/parser.ts index d1e1f4e7..25515020 100644 --- a/generator/parsers/aws/parser.ts +++ b/generator/parsers/aws/parser.ts @@ -3,38 +3,37 @@ import * as path from 'path'; import { createSourceFile, ScriptTarget, SyntaxKind } from 'typescript'; export function getAST(sdkFileName) { - return new Promise(async (resolve, reject) => { - try { - const file = path.join( - __dirname, - '../../../node_modules/aws-sdk/clients/' + - sdkFileName.toLowerCase() - ); - const ast = createSourceFile( - file, - fs.readFileSync(file).toString(), - ScriptTarget.Latest, - true - ); + return new Promise(async (resolve, reject) => { + try { + const file = path.join( + __dirname, + '../../../node_modules/aws-sdk/clients/' + sdkFileName.toLowerCase() + ); + const ast = createSourceFile( + file, + fs.readFileSync(file).toString(), + ScriptTarget.Latest, + true + ); - let cloned = null; - await ast.forEachChild(child => { - if (SyntaxKind[child.kind] === 'ClassDeclaration') { - cloned = Object.assign({}, child); - } - }); + let cloned = null; + await ast.forEachChild(child => { + if (SyntaxKind[child.kind] === 'ClassDeclaration') { + cloned = Object.assign({}, child); + } + }); - if (!cloned) { - reject(new Error('Class not found!')); - } else { - resolve(cloned); - } - } catch (error) { - if (error.code === 'ENOENT') { - reject(new Error('File not found!')); - } else { - reject(error); - } - } - }); + if (!cloned) { + reject(new Error('Class not found!')); + } else { + resolve(cloned); + } + } catch (error) { + if (error.code === 'ENOENT') { + reject(new Error('File not found!')); + } else { + reject(error); + } + } + }); } diff --git a/generator/parsers/azure/parser.ts b/generator/parsers/azure/parser.ts index 45b82cdc..e8965f89 100644 --- a/generator/parsers/azure/parser.ts +++ b/generator/parsers/azure/parser.ts @@ -3,37 +3,37 @@ import * as path from 'path'; import { createSourceFile, ScriptTarget, SyntaxKind } from 'typescript'; export function getAST(sdkFileInfo) { - return new Promise(async (resolve, reject) => { - try { - const file = path.join( - __dirname, - `../../../node_modules/@azure/${sdkFileInfo.pkgName}/esm/operations/${sdkFileInfo.fileName}` - ); - const ast = createSourceFile( - file, - fs.readFileSync(file).toString(), - ScriptTarget.Latest, - true - ); + return new Promise(async (resolve, reject) => { + try { + const file = path.join( + __dirname, + `../../../node_modules/@azure/${sdkFileInfo.pkgName}/esm/operations/${sdkFileInfo.fileName}` + ); + const ast = createSourceFile( + file, + fs.readFileSync(file).toString(), + ScriptTarget.Latest, + true + ); - let cloned = null; - await ast.forEachChild(child => { - if (SyntaxKind[child.kind] === 'ClassDeclaration') { - cloned = Object.assign({}, child); - } - }); + let cloned = null; + await ast.forEachChild(child => { + if (SyntaxKind[child.kind] === 'ClassDeclaration') { + cloned = Object.assign({}, child); + } + }); - if (!cloned) { - reject(new Error('Class not found!')); - } else { - resolve(cloned); - } - } catch (error) { - if (error.code === 'ENOENT') { - reject(new Error('File not found!')); - } else { - reject(error); - } - } - }); + if (!cloned) { + reject(new Error('Class not found!')); + } else { + resolve(cloned); + } + } catch (error) { + if (error.code === 'ENOENT') { + reject(new Error('File not found!')); + } else { + reject(error); + } + } + }); } diff --git a/generator/parsers/do/parser.ts b/generator/parsers/do/parser.ts index 6b1013bc..a56c6fb9 100644 --- a/generator/parsers/do/parser.ts +++ b/generator/parsers/do/parser.ts @@ -3,39 +3,39 @@ import * as path from 'path'; import { createSourceFile, ScriptTarget, SyntaxKind } from 'typescript'; export function getAST(sdkFileName) { - return new Promise(async (resolve, reject) => { - try { - const file = path.join( - __dirname, - '../../../node_modules/do-wrapper/dist/modules/' + - sdkFileName.toLowerCase() - ); - const ast = createSourceFile( - file, - fs.readFileSync(file).toString(), - ScriptTarget.Latest, - true - ); + return new Promise(async (resolve, reject) => { + try { + const file = path.join( + __dirname, + '../../../node_modules/do-wrapper/dist/modules/' + + sdkFileName.toLowerCase() + ); + const ast = createSourceFile( + file, + fs.readFileSync(file).toString(), + ScriptTarget.Latest, + true + ); - let cloned = null; + let cloned = null; - await ast.forEachChild(child => { - if (SyntaxKind[child.kind] === 'ClassDeclaration') { - cloned = Object.assign({}, child); - } - }); + await ast.forEachChild(child => { + if (SyntaxKind[child.kind] === 'ClassDeclaration') { + cloned = Object.assign({}, child); + } + }); - if (!cloned) { - reject(new Error('Class not found!')); - } else { - resolve(cloned); - } - } catch (error) { - if (error.code === 'ENOENT') { - reject(new Error('File not found!')); - } else { - reject(error); - } - } - }); + if (!cloned) { + reject(new Error('Class not found!')); + } else { + resolve(cloned); + } + } catch (error) { + if (error.code === 'ENOENT') { + reject(new Error('File not found!')); + } else { + reject(error); + } + } + }); } diff --git a/generator/parsers/googleCloud/parser.ts b/generator/parsers/googleCloud/parser.ts index b4b3f69a..85ae37a0 100644 --- a/generator/parsers/googleCloud/parser.ts +++ b/generator/parsers/googleCloud/parser.ts @@ -3,53 +3,53 @@ import * as path from 'path'; import { createSourceFile, ScriptTarget, SyntaxKind } from 'typescript'; export function getAST(sdkFileInfo, multi?: boolean) { - let filePath; - if (sdkFileInfo.version) { - filePath = `../../../node_modules/@google-cloud/${sdkFileInfo.pkgName}/build/src/${sdkFileInfo.version}/${sdkFileInfo.fileName}`; - } else { - filePath = `../../../node_modules/@google-cloud/${sdkFileInfo.pkgName}/build/src/${sdkFileInfo.fileName}`; - } + let filePath; + if (sdkFileInfo.version) { + filePath = `../../../node_modules/@google-cloud/${sdkFileInfo.pkgName}/build/src/${sdkFileInfo.version}/${sdkFileInfo.fileName}`; + } else { + filePath = `../../../node_modules/@google-cloud/${sdkFileInfo.pkgName}/build/src/${sdkFileInfo.fileName}`; + } - return new Promise(async (resolve, reject) => { - try { - const file = path.join(__dirname, filePath); - const ast = createSourceFile( - file, - fs.readFileSync(file).toString(), - ScriptTarget.Latest, - true - ); + return new Promise(async (resolve, reject) => { + try { + const file = path.join(__dirname, filePath); + const ast = createSourceFile( + file, + fs.readFileSync(file).toString(), + ScriptTarget.Latest, + true + ); - if (multi === true) { - let classes = []; - ast.forEachChild(child => { - if (SyntaxKind[child.kind] === 'ClassDeclaration') { - let cloned = Object.assign({}, child); - classes.push(cloned); - } - }); - resolve(classes); - } else { - let cloned = null; - await ast.forEachChild(child => { - if (SyntaxKind[child.kind] === 'ClassDeclaration') { - let cloned = Object.assign({}, child); - return resolve(cloned); - } - }); + if (multi === true) { + let classes = []; + ast.forEachChild(child => { + if (SyntaxKind[child.kind] === 'ClassDeclaration') { + let cloned = Object.assign({}, child); + classes.push(cloned); + } + }); + resolve(classes); + } else { + let cloned = null; + await ast.forEachChild(child => { + if (SyntaxKind[child.kind] === 'ClassDeclaration') { + let cloned = Object.assign({}, child); + return resolve(cloned); + } + }); - if (!cloned) { - return reject(new Error('Class not found!')); - } else { - return resolve(cloned); - } - } - } catch (error) { - if (error.code === 'ENOENT') { - reject(new Error('File not found!')); - } else { - reject(error); - } - } - }); + if (!cloned) { + return reject(new Error('Class not found!')); + } else { + return resolve(cloned); + } + } + } catch (error) { + if (error.code === 'ENOENT') { + reject(new Error('File not found!')); + } else { + reject(error); + } + } + }); } diff --git a/generator/test/generators/aws/dummyData/invalidDataset_1/serviceClass.json b/generator/test/generators/aws/dummyData/invalidDataset_1/serviceClass.json index 4074fce7..1d7e96a8 100644 --- a/generator/test/generators/aws/dummyData/invalidDataset_1/serviceClass.json +++ b/generator/test/generators/aws/dummyData/invalidDataset_1/serviceClass.json @@ -1,11 +1,11 @@ { - "createCollection": "SimpleDB.d.ts createDomain", - "deleteCollection": "SimpleDB.d.ts", - "listCollections": "SimpleDB.d.ts listDomains", - "batchDelete": "SimpleDB.d.ts batchDeleteAttributes", - "batchWrite": "SimpleDB.d.ts batchPutAttributes", - "query": "SimpleDB.d.ts select", - "setAttribute": "SimpleDB.d.ts putAttributes", - "deleteAttribute": "SimpleDB.d.ts deleteAttributes", - "getAttributes": "SimpleDB.d.ts getAttributes" + "createCollection": "SimpleDB.d.ts createDomain", + "deleteCollection": "SimpleDB.d.ts", + "listCollections": "SimpleDB.d.ts listDomains", + "batchDelete": "SimpleDB.d.ts batchDeleteAttributes", + "batchWrite": "SimpleDB.d.ts batchPutAttributes", + "query": "SimpleDB.d.ts select", + "setAttribute": "SimpleDB.d.ts putAttributes", + "deleteAttribute": "SimpleDB.d.ts deleteAttributes", + "getAttributes": "SimpleDB.d.ts getAttributes" } diff --git a/generator/test/generators/aws/dummyData/invalidDataset_2/serviceClass.json b/generator/test/generators/aws/dummyData/invalidDataset_2/serviceClass.json index b2f9b149..fe1eb852 100644 --- a/generator/test/generators/aws/dummyData/invalidDataset_2/serviceClass.json +++ b/generator/test/generators/aws/dummyData/invalidDataset_2/serviceClass.json @@ -1,11 +1,11 @@ { - "createCollection": "SimpleDB.d.ts createDomain", - "deleteCollection": "SimpleDB.d.ts deleteDomain", - "listCollections": "SimpleDB.d.ts listDomains", - "batchDelete": "SimpleDB.d.ts batchDeleteAttributes", - "batchWrite": "SimpleDB.d.ts batchPutAttributes", - "query": "SimpleDB.d.ts select", - "setAttribute": "SimpleDB.d.ts putAttributes", - "deleteAttribute": "SimpleDB.d.ts deleteAttributes", - "getAttributes": "SimpleDB.d.ts getAttributes" + "createCollection": "SimpleDB.d.ts createDomain", + "deleteCollection": "SimpleDB.d.ts deleteDomain", + "listCollections": "SimpleDB.d.ts listDomains", + "batchDelete": "SimpleDB.d.ts batchDeleteAttributes", + "batchWrite": "SimpleDB.d.ts batchPutAttributes", + "query": "SimpleDB.d.ts select", + "setAttribute": "SimpleDB.d.ts putAttributes", + "deleteAttribute": "SimpleDB.d.ts deleteAttributes", + "getAttributes": "SimpleDB.d.ts getAttributes" } diff --git a/generator/test/generators/aws/dummyData/validDataset/serviceClass.json b/generator/test/generators/aws/dummyData/validDataset/serviceClass.json index b2f9b149..fe1eb852 100644 --- a/generator/test/generators/aws/dummyData/validDataset/serviceClass.json +++ b/generator/test/generators/aws/dummyData/validDataset/serviceClass.json @@ -1,11 +1,11 @@ { - "createCollection": "SimpleDB.d.ts createDomain", - "deleteCollection": "SimpleDB.d.ts deleteDomain", - "listCollections": "SimpleDB.d.ts listDomains", - "batchDelete": "SimpleDB.d.ts batchDeleteAttributes", - "batchWrite": "SimpleDB.d.ts batchPutAttributes", - "query": "SimpleDB.d.ts select", - "setAttribute": "SimpleDB.d.ts putAttributes", - "deleteAttribute": "SimpleDB.d.ts deleteAttributes", - "getAttributes": "SimpleDB.d.ts getAttributes" + "createCollection": "SimpleDB.d.ts createDomain", + "deleteCollection": "SimpleDB.d.ts deleteDomain", + "listCollections": "SimpleDB.d.ts listDomains", + "batchDelete": "SimpleDB.d.ts batchDeleteAttributes", + "batchWrite": "SimpleDB.d.ts batchPutAttributes", + "query": "SimpleDB.d.ts select", + "setAttribute": "SimpleDB.d.ts putAttributes", + "deleteAttribute": "SimpleDB.d.ts deleteAttributes", + "getAttributes": "SimpleDB.d.ts getAttributes" } diff --git a/generator/test/generators/aws/generator.test.ts b/generator/test/generators/aws/generator.test.ts index 777bc4c9..20745003 100644 --- a/generator/test/generators/aws/generator.test.ts +++ b/generator/test/generators/aws/generator.test.ts @@ -5,88 +5,82 @@ import { extractSDKData } from '../../../generators/aws/generator'; import { readJsonData, readSourceFile } from '../lib/helper'; describe('AWS generator extractSDKData', () => { - context('with valid methods and valid AST', () => { - it('should return extracted class data', async () => { - const sdkFile: any = await readSourceFile('validDataset', 'aws'); - const data: any = await readJsonData( - 'validDataset', - 'aws', - 'serviceClass' - ); - let cloned = null; - sdkFile.forEachChild(child => { - if (SyntaxKind[child.kind] === 'ClassDeclaration') { - cloned = Object.assign({}, child); - } - }); + context('with valid methods and valid AST', () => { + it('should return extracted class data', async () => { + const sdkFile: any = await readSourceFile('validDataset', 'aws'); + const data: any = await readJsonData( + 'validDataset', + 'aws', + 'serviceClass' + ); + let cloned = null; + sdkFile.forEachChild(child => { + if (SyntaxKind[child.kind] === 'ClassDeclaration') { + cloned = Object.assign({}, child); + } + }); - if (cloned) { - const result = extractSDKData(cloned, data); - expect(result).to.be.an('object'); - expect(result.functions).to.be.an('array'); - expect(result.className).to.be.string; - } else { - console.error('Error in cloning class'); - } - }); - }); + if (cloned) { + const result = extractSDKData(cloned, data); + expect(result).to.be.an('object'); + expect(result.functions).to.be.an('array'); + expect(result.className).to.be.string; + } else { + console.error('Error in cloning class'); + } + }); + }); - context('with invalid method data:missing method name', () => { - it('should drop invalid method', async () => { - const sdkFile: any = await readSourceFile( - 'invalidDataset_1', - 'aws' - ); - const data: any = await readJsonData( - 'invalidDataset_1', - 'aws', - 'serviceClass' - ); - let cloned = null; - sdkFile.forEachChild(child => { - if (SyntaxKind[child.kind] === 'ClassDeclaration') { - cloned = Object.assign({}, child); - } - }); + context('with invalid method data:missing method name', () => { + it('should drop invalid method', async () => { + const sdkFile: any = await readSourceFile('invalidDataset_1', 'aws'); + const data: any = await readJsonData( + 'invalidDataset_1', + 'aws', + 'serviceClass' + ); + let cloned = null; + sdkFile.forEachChild(child => { + if (SyntaxKind[child.kind] === 'ClassDeclaration') { + cloned = Object.assign({}, child); + } + }); - if (cloned) { - expect( - extractSDKData(cloned, data).functions.length < - Object.keys(data).length - ).to.be.true; - } else { - console.error('Error in cloning class'); - } - }); - }); + if (cloned) { + expect( + extractSDKData(cloned, data).functions.length < + Object.keys(data).length + ).to.be.true; + } else { + console.error('Error in cloning class'); + } + }); + }); - context('AST with no functions', () => { - it('should return empty array of methods', async () => { - const sdkFile: any = await readSourceFile( - 'invalidDataset_2', - 'aws' - ); - const data: any = await readJsonData( - 'invalidDataset_2', - 'aws', - 'serviceClass' - ); - let cloned = null; - sdkFile.forEachChild(child => { - if (SyntaxKind[child.kind] === 'ClassDeclaration') { - cloned = Object.assign({}, child); - } - }); + context('AST with no functions', () => { + it('should return empty array of methods', async () => { + const sdkFile: any = await readSourceFile('invalidDataset_2', 'aws'); + const data: any = await readJsonData( + 'invalidDataset_2', + 'aws', + 'serviceClass' + ); + let cloned = null; + sdkFile.forEachChild(child => { + if (SyntaxKind[child.kind] === 'ClassDeclaration') { + cloned = Object.assign({}, child); + } + }); - if (cloned) { - const result = extractSDKData(cloned, data); - expect(result).to.be.an('object'); - expect(result.functions).to.be.an('array'); - expect(result.className).to.be.string; - expect(result.functions.length).to.eql(0); - } else { - console.error('Error in cloning class'); - } - }); - }); + if (cloned) { + const result = extractSDKData(cloned, data); + expect(result).to.be.an('object'); + expect(result.functions).to.be.an('array'); + expect(result.className).to.be.string; + expect(result.functions.length).to.eql(0); + } else { + console.error('Error in cloning class'); + } + }); + }); }); diff --git a/generator/test/generators/azure/dummyData/invalidDataset_1/files.json b/generator/test/generators/azure/dummyData/invalidDataset_1/files.json index c54dde28..54accb30 100644 --- a/generator/test/generators/azure/dummyData/invalidDataset_1/files.json +++ b/generator/test/generators/azure/dummyData/invalidDataset_1/files.json @@ -1,15 +1,15 @@ [ - { - "fileName": "managedClusters.d.ts", - "pkgName": "arm-containerservice", - "ast": null, - "client": null, - "sdkFunctionNames": [ - "createOrUpdate", - "deleteMethod", - "updateTags", - "listByResourceGroup", - "list" - ] - } + { + "fileName": "managedClusters.d.ts", + "pkgName": "arm-containerservice", + "ast": null, + "client": null, + "sdkFunctionNames": [ + "createOrUpdate", + "deleteMethod", + "updateTags", + "listByResourceGroup", + "list" + ] + } ] diff --git a/generator/test/generators/azure/dummyData/invalidDataset_1/methods.json b/generator/test/generators/azure/dummyData/invalidDataset_1/methods.json index dac4cb3a..e0448883 100644 --- a/generator/test/generators/azure/dummyData/invalidDataset_1/methods.json +++ b/generator/test/generators/azure/dummyData/invalidDataset_1/methods.json @@ -1,47 +1,47 @@ [ - { - "pkgName": "arm-containerservice", - "fileName": "managedClusters.d.ts", - "functionName": "create", - "SDKFunctionName": "createOrUpdate", - "params": [], - "returnType": null, - "client": null - }, - { - "pkgName": "arm-containerservice", - "fileName": "managedClusters.d.ts", - "functionName": "delete", - "SDKFunctionName": "deleteMethod", - "params": [], - "returnType": null, - "client": null - }, - { - "pkgName": "arm-containerservice", - "fileName": "managedClusters.d.ts", - "functionName": "updateTags", - "SDKFunctionName": "updateTags", - "params": [], - "returnType": null, - "client": null - }, - { - "pkgName": "arm-containerservice", - "fileName": "managedClusters.d.ts", - "functionName": "listByResourceGroup", - "SDKFunctionName": "listByResourceGroup", - "params": [], - "returnType": null, - "client": null - }, - { - "pkgName": "arm-containerservice", - "fileName": "managedClusters.d.ts", - "functionName": "listClusters", - "SDKFunctionName": "list", - "params": [], - "returnType": null, - "client": null - } + { + "pkgName": "arm-containerservice", + "fileName": "managedClusters.d.ts", + "functionName": "create", + "SDKFunctionName": "createOrUpdate", + "params": [], + "returnType": null, + "client": null + }, + { + "pkgName": "arm-containerservice", + "fileName": "managedClusters.d.ts", + "functionName": "delete", + "SDKFunctionName": "deleteMethod", + "params": [], + "returnType": null, + "client": null + }, + { + "pkgName": "arm-containerservice", + "fileName": "managedClusters.d.ts", + "functionName": "updateTags", + "SDKFunctionName": "updateTags", + "params": [], + "returnType": null, + "client": null + }, + { + "pkgName": "arm-containerservice", + "fileName": "managedClusters.d.ts", + "functionName": "listByResourceGroup", + "SDKFunctionName": "listByResourceGroup", + "params": [], + "returnType": null, + "client": null + }, + { + "pkgName": "arm-containerservice", + "fileName": "managedClusters.d.ts", + "functionName": "listClusters", + "SDKFunctionName": "list", + "params": [], + "returnType": null, + "client": null + } ] diff --git a/generator/test/generators/azure/dummyData/validDataset/files.json b/generator/test/generators/azure/dummyData/validDataset/files.json index c54dde28..54accb30 100644 --- a/generator/test/generators/azure/dummyData/validDataset/files.json +++ b/generator/test/generators/azure/dummyData/validDataset/files.json @@ -1,15 +1,15 @@ [ - { - "fileName": "managedClusters.d.ts", - "pkgName": "arm-containerservice", - "ast": null, - "client": null, - "sdkFunctionNames": [ - "createOrUpdate", - "deleteMethod", - "updateTags", - "listByResourceGroup", - "list" - ] - } + { + "fileName": "managedClusters.d.ts", + "pkgName": "arm-containerservice", + "ast": null, + "client": null, + "sdkFunctionNames": [ + "createOrUpdate", + "deleteMethod", + "updateTags", + "listByResourceGroup", + "list" + ] + } ] diff --git a/generator/test/generators/azure/dummyData/validDataset/methods.json b/generator/test/generators/azure/dummyData/validDataset/methods.json index dac4cb3a..e0448883 100644 --- a/generator/test/generators/azure/dummyData/validDataset/methods.json +++ b/generator/test/generators/azure/dummyData/validDataset/methods.json @@ -1,47 +1,47 @@ [ - { - "pkgName": "arm-containerservice", - "fileName": "managedClusters.d.ts", - "functionName": "create", - "SDKFunctionName": "createOrUpdate", - "params": [], - "returnType": null, - "client": null - }, - { - "pkgName": "arm-containerservice", - "fileName": "managedClusters.d.ts", - "functionName": "delete", - "SDKFunctionName": "deleteMethod", - "params": [], - "returnType": null, - "client": null - }, - { - "pkgName": "arm-containerservice", - "fileName": "managedClusters.d.ts", - "functionName": "updateTags", - "SDKFunctionName": "updateTags", - "params": [], - "returnType": null, - "client": null - }, - { - "pkgName": "arm-containerservice", - "fileName": "managedClusters.d.ts", - "functionName": "listByResourceGroup", - "SDKFunctionName": "listByResourceGroup", - "params": [], - "returnType": null, - "client": null - }, - { - "pkgName": "arm-containerservice", - "fileName": "managedClusters.d.ts", - "functionName": "listClusters", - "SDKFunctionName": "list", - "params": [], - "returnType": null, - "client": null - } + { + "pkgName": "arm-containerservice", + "fileName": "managedClusters.d.ts", + "functionName": "create", + "SDKFunctionName": "createOrUpdate", + "params": [], + "returnType": null, + "client": null + }, + { + "pkgName": "arm-containerservice", + "fileName": "managedClusters.d.ts", + "functionName": "delete", + "SDKFunctionName": "deleteMethod", + "params": [], + "returnType": null, + "client": null + }, + { + "pkgName": "arm-containerservice", + "fileName": "managedClusters.d.ts", + "functionName": "updateTags", + "SDKFunctionName": "updateTags", + "params": [], + "returnType": null, + "client": null + }, + { + "pkgName": "arm-containerservice", + "fileName": "managedClusters.d.ts", + "functionName": "listByResourceGroup", + "SDKFunctionName": "listByResourceGroup", + "params": [], + "returnType": null, + "client": null + }, + { + "pkgName": "arm-containerservice", + "fileName": "managedClusters.d.ts", + "functionName": "listClusters", + "SDKFunctionName": "list", + "params": [], + "returnType": null, + "client": null + } ] diff --git a/generator/test/generators/azure/generator.test.ts b/generator/test/generators/azure/generator.test.ts index 4299f351..61b95fdf 100644 --- a/generator/test/generators/azure/generator.test.ts +++ b/generator/test/generators/azure/generator.test.ts @@ -5,71 +5,68 @@ import { extractSDKData } from '../../../generators/azure/generator'; import { readJsonData, readSourceFile } from '../lib/helper'; describe('Azure generator extractSDKData', () => { - context('with valid methods and valid AST', () => { - it('should return class data', async () => { - const methods: any = await readJsonData( - 'validDataset', - 'azure', - 'methods' - ); + context('with valid methods and valid AST', () => { + it('should return class data', async () => { + const methods: any = await readJsonData( + 'validDataset', + 'azure', + 'methods' + ); - const sdkFiles: any = await readJsonData( - 'validDataset', - 'azure', - 'files' - ); + const sdkFiles: any = await readJsonData( + 'validDataset', + 'azure', + 'files' + ); - await Promise.all( - sdkFiles.map(async file => { - const sdkFile: any = await readSourceFile( - 'validDataset', - 'azure' - ); - sdkFile.forEachChild(child => { - if (SyntaxKind[child.kind] === 'ClassDeclaration') { - file.ast = Object.assign({}, child); - } - }); - }) - ); + await Promise.all( + sdkFiles.map(async file => { + const sdkFile: any = await readSourceFile('validDataset', 'azure'); + sdkFile.forEachChild(child => { + if (SyntaxKind[child.kind] === 'ClassDeclaration') { + file.ast = Object.assign({}, child); + } + }); + }) + ); - const result = extractSDKData(sdkFiles, methods); - expect(result).to.be.an('object'); - expect(result.functions).to.be.an('array'); - }); - }); + const result = extractSDKData(sdkFiles, methods); + expect(result).to.be.an('object'); + expect(result.functions).to.be.an('array'); + }); + }); - context('AST with no functions', () => { - it('should throw error', async () => { - const methods: any = await readJsonData( - 'invalidDataset_1', - 'azure', - 'methods' - ); + context('AST with no functions', () => { + it('should throw error', async () => { + const methods: any = await readJsonData( + 'invalidDataset_1', + 'azure', + 'methods' + ); - const sdkFiles: any = await readJsonData( - 'invalidDataset_1', - 'azure', - 'files' - ); + const sdkFiles: any = await readJsonData( + 'invalidDataset_1', + 'azure', + 'files' + ); - await Promise.all( - sdkFiles.map(async file => { - const sdkFile: any = await readSourceFile( - 'invalidDataset_1', - 'azure' - ); - sdkFile.forEachChild(child => { - if (SyntaxKind[child.kind] === 'ClassDeclaration') { - file.ast = Object.assign({}, child); - } - }); - }) - ); + await Promise.all( + sdkFiles.map(async file => { + const sdkFile: any = await readSourceFile( + 'invalidDataset_1', + 'azure' + ); + sdkFile.forEachChild(child => { + if (SyntaxKind[child.kind] === 'ClassDeclaration') { + file.ast = Object.assign({}, child); + } + }); + }) + ); - expect(function() { - extractSDKData(sdkFiles, methods); - }).to.throw('Data extraction unsuccessful'); - }); - }); + expect(function() { + extractSDKData(sdkFiles, methods); + }).to.throw('Data extraction unsuccessful'); + }); + }); }); diff --git a/generator/test/generators/do/dummyData/invalidDataset_1/serviceClass.json b/generator/test/generators/do/dummyData/invalidDataset_1/serviceClass.json index d7038176..c7f48a36 100644 --- a/generator/test/generators/do/dummyData/invalidDataset_1/serviceClass.json +++ b/generator/test/generators/do/dummyData/invalidDataset_1/serviceClass.json @@ -1,8 +1,8 @@ { - "create": "kubernetes.d.ts create", - "delete": "kubernetes.d.ts", - "listClusters": "kubernetes.d.ts getClusters", - "createNodeGroup": "kubernetes.d.ts addNodePool", - "deleteNodegroup": " kubernetes.d.ts deleteNodePool", - "listNodegroups": "kubernetes.d.ts getNodePools" + "create": "kubernetes.d.ts create", + "delete": "kubernetes.d.ts", + "listClusters": "kubernetes.d.ts getClusters", + "createNodeGroup": "kubernetes.d.ts addNodePool", + "deleteNodegroup": " kubernetes.d.ts deleteNodePool", + "listNodegroups": "kubernetes.d.ts getNodePools" } diff --git a/generator/test/generators/do/dummyData/invalidDataset_2/serviceClass.json b/generator/test/generators/do/dummyData/invalidDataset_2/serviceClass.json index e5e68365..5f225dc8 100644 --- a/generator/test/generators/do/dummyData/invalidDataset_2/serviceClass.json +++ b/generator/test/generators/do/dummyData/invalidDataset_2/serviceClass.json @@ -1,8 +1,8 @@ { - "create": "kubernetes.d.ts create", - "delete": "kubernetes.d.ts delete", - "listClusters": "kubernetes.d.ts getClusters", - "createNodeGroup": "kubernetes.d.ts addNodePool", - "deleteNodegroup": " kubernetes.d.ts deleteNodePool", - "listNodegroups": "kubernetes.d.ts getNodePools" + "create": "kubernetes.d.ts create", + "delete": "kubernetes.d.ts delete", + "listClusters": "kubernetes.d.ts getClusters", + "createNodeGroup": "kubernetes.d.ts addNodePool", + "deleteNodegroup": " kubernetes.d.ts deleteNodePool", + "listNodegroups": "kubernetes.d.ts getNodePools" } diff --git a/generator/test/generators/do/dummyData/validDataset/serviceClass.json b/generator/test/generators/do/dummyData/validDataset/serviceClass.json index e5e68365..5f225dc8 100644 --- a/generator/test/generators/do/dummyData/validDataset/serviceClass.json +++ b/generator/test/generators/do/dummyData/validDataset/serviceClass.json @@ -1,8 +1,8 @@ { - "create": "kubernetes.d.ts create", - "delete": "kubernetes.d.ts delete", - "listClusters": "kubernetes.d.ts getClusters", - "createNodeGroup": "kubernetes.d.ts addNodePool", - "deleteNodegroup": " kubernetes.d.ts deleteNodePool", - "listNodegroups": "kubernetes.d.ts getNodePools" + "create": "kubernetes.d.ts create", + "delete": "kubernetes.d.ts delete", + "listClusters": "kubernetes.d.ts getClusters", + "createNodeGroup": "kubernetes.d.ts addNodePool", + "deleteNodegroup": " kubernetes.d.ts deleteNodePool", + "listNodegroups": "kubernetes.d.ts getNodePools" } diff --git a/generator/test/generators/do/generator.test.ts b/generator/test/generators/do/generator.test.ts index 3f6abffa..bd1d7d2e 100644 --- a/generator/test/generators/do/generator.test.ts +++ b/generator/test/generators/do/generator.test.ts @@ -5,82 +5,82 @@ import { extractSDKData } from '../../../generators/do/generator'; import { readJsonData, readSourceFile } from '../lib/helper'; describe('Digital Ocean generator extractSDKData', () => { - context('with valid methods and valid AST', () => { - it('should return extracted class data', async () => { - const sdkFile: any = await readSourceFile('validDataset', 'do'); - const data: any = await readJsonData( - 'validDataset', - 'do', - 'serviceClass' - ); - let cloned = null; - sdkFile.forEachChild(child => { - if (SyntaxKind[child.kind] === 'ClassDeclaration') { - cloned = Object.assign({}, child); - } - }); + context('with valid methods and valid AST', () => { + it('should return extracted class data', async () => { + const sdkFile: any = await readSourceFile('validDataset', 'do'); + const data: any = await readJsonData( + 'validDataset', + 'do', + 'serviceClass' + ); + let cloned = null; + sdkFile.forEachChild(child => { + if (SyntaxKind[child.kind] === 'ClassDeclaration') { + cloned = Object.assign({}, child); + } + }); - if (cloned) { - const result = extractSDKData(cloned, data); - expect(result).to.be.an('object'); - expect(result.functions).to.be.an('array'); - expect(result.className).to.be.string; - } else { - console.error('Error in cloning class'); - } - }); - }); + if (cloned) { + const result = extractSDKData(cloned, data); + expect(result).to.be.an('object'); + expect(result.functions).to.be.an('array'); + expect(result.className).to.be.string; + } else { + console.error('Error in cloning class'); + } + }); + }); - context('with invalid method data:missing method name', () => { - it('should drop invalid method', async () => { - const sdkFile: any = await readSourceFile('invalidDataset_1', 'do'); - const data: any = await readJsonData( - 'invalidDataset_1', - 'do', - 'serviceClass' - ); - let cloned = null; - sdkFile.forEachChild(child => { - if (SyntaxKind[child.kind] === 'ClassDeclaration') { - cloned = Object.assign({}, child); - } - }); + context('with invalid method data:missing method name', () => { + it('should drop invalid method', async () => { + const sdkFile: any = await readSourceFile('invalidDataset_1', 'do'); + const data: any = await readJsonData( + 'invalidDataset_1', + 'do', + 'serviceClass' + ); + let cloned = null; + sdkFile.forEachChild(child => { + if (SyntaxKind[child.kind] === 'ClassDeclaration') { + cloned = Object.assign({}, child); + } + }); - if (cloned) { - expect( - extractSDKData(cloned, data).functions.length < - Object.keys(data).length - ).to.be.true; - } else { - console.error('Error in cloning class'); - } - }); - }); + if (cloned) { + expect( + extractSDKData(cloned, data).functions.length < + Object.keys(data).length + ).to.be.true; + } else { + console.error('Error in cloning class'); + } + }); + }); - context('Digital Ocean with no functions', () => { - it('should return empty array of methods', async () => { - const sdkFile: any = await readSourceFile('invalidDataset_2', 'do'); - const data: any = await readJsonData( - 'invalidDataset_2', - 'do', - 'serviceClass' - ); - let cloned = null; - sdkFile.forEachChild(child => { - if (SyntaxKind[child.kind] === 'ClassDeclaration') { - cloned = Object.assign({}, child); - } - }); + context('Digital Ocean with no functions', () => { + it('should return empty array of methods', async () => { + const sdkFile: any = await readSourceFile('invalidDataset_2', 'do'); + const data: any = await readJsonData( + 'invalidDataset_2', + 'do', + 'serviceClass' + ); + let cloned = null; + sdkFile.forEachChild(child => { + if (SyntaxKind[child.kind] === 'ClassDeclaration') { + cloned = Object.assign({}, child); + } + }); - if (cloned) { - const result = extractSDKData(cloned, data); - expect(result).to.be.an('object'); - expect(result.functions).to.be.an('array'); - expect(result.className).to.be.string; - expect(result.functions.length).to.eql(0); - } else { - console.error('Error in cloning class'); - } - }); - }); + if (cloned) { + const result = extractSDKData(cloned, data); + expect(result).to.be.an('object'); + expect(result.functions).to.be.an('array'); + expect(result.className).to.be.string; + expect(result.functions.length).to.eql(0); + } else { + console.error('Error in cloning class'); + } + }); + }); }); diff --git a/generator/test/generators/googleCloud/dummyData/invalidDataset_1/files.json b/generator/test/generators/googleCloud/dummyData/invalidDataset_1/files.json index c54dde28..54accb30 100644 --- a/generator/test/generators/googleCloud/dummyData/invalidDataset_1/files.json +++ b/generator/test/generators/googleCloud/dummyData/invalidDataset_1/files.json @@ -1,15 +1,15 @@ [ - { - "fileName": "managedClusters.d.ts", - "pkgName": "arm-containerservice", - "ast": null, - "client": null, - "sdkFunctionNames": [ - "createOrUpdate", - "deleteMethod", - "updateTags", - "listByResourceGroup", - "list" - ] - } + { + "fileName": "managedClusters.d.ts", + "pkgName": "arm-containerservice", + "ast": null, + "client": null, + "sdkFunctionNames": [ + "createOrUpdate", + "deleteMethod", + "updateTags", + "listByResourceGroup", + "list" + ] + } ] diff --git a/generator/test/generators/googleCloud/dummyData/invalidDataset_1/methods.json b/generator/test/generators/googleCloud/dummyData/invalidDataset_1/methods.json index dac4cb3a..e0448883 100644 --- a/generator/test/generators/googleCloud/dummyData/invalidDataset_1/methods.json +++ b/generator/test/generators/googleCloud/dummyData/invalidDataset_1/methods.json @@ -1,47 +1,47 @@ [ - { - "pkgName": "arm-containerservice", - "fileName": "managedClusters.d.ts", - "functionName": "create", - "SDKFunctionName": "createOrUpdate", - "params": [], - "returnType": null, - "client": null - }, - { - "pkgName": "arm-containerservice", - "fileName": "managedClusters.d.ts", - "functionName": "delete", - "SDKFunctionName": "deleteMethod", - "params": [], - "returnType": null, - "client": null - }, - { - "pkgName": "arm-containerservice", - "fileName": "managedClusters.d.ts", - "functionName": "updateTags", - "SDKFunctionName": "updateTags", - "params": [], - "returnType": null, - "client": null - }, - { - "pkgName": "arm-containerservice", - "fileName": "managedClusters.d.ts", - "functionName": "listByResourceGroup", - "SDKFunctionName": "listByResourceGroup", - "params": [], - "returnType": null, - "client": null - }, - { - "pkgName": "arm-containerservice", - "fileName": "managedClusters.d.ts", - "functionName": "listClusters", - "SDKFunctionName": "list", - "params": [], - "returnType": null, - "client": null - } + { + "pkgName": "arm-containerservice", + "fileName": "managedClusters.d.ts", + "functionName": "create", + "SDKFunctionName": "createOrUpdate", + "params": [], + "returnType": null, + "client": null + }, + { + "pkgName": "arm-containerservice", + "fileName": "managedClusters.d.ts", + "functionName": "delete", + "SDKFunctionName": "deleteMethod", + "params": [], + "returnType": null, + "client": null + }, + { + "pkgName": "arm-containerservice", + "fileName": "managedClusters.d.ts", + "functionName": "updateTags", + "SDKFunctionName": "updateTags", + "params": [], + "returnType": null, + "client": null + }, + { + "pkgName": "arm-containerservice", + "fileName": "managedClusters.d.ts", + "functionName": "listByResourceGroup", + "SDKFunctionName": "listByResourceGroup", + "params": [], + "returnType": null, + "client": null + }, + { + "pkgName": "arm-containerservice", + "fileName": "managedClusters.d.ts", + "functionName": "listClusters", + "SDKFunctionName": "list", + "params": [], + "returnType": null, + "client": null + } ] diff --git a/generator/test/generators/googleCloud/dummyData/invalidDataset_2/files.json b/generator/test/generators/googleCloud/dummyData/invalidDataset_2/files.json index 205faebb..48f59100 100644 --- a/generator/test/generators/googleCloud/dummyData/invalidDataset_2/files.json +++ b/generator/test/generators/googleCloud/dummyData/invalidDataset_2/files.json @@ -1,10 +1,10 @@ [ - { - "fileName": "cluster_manager_client.d.ts", - "version": "v1", - "pkgName": "container", - "ast": null, - "client": null, - "sdkFunctionNames": ["createCluster", "deleteCluster", "listClusters"] - } + { + "fileName": "cluster_manager_client.d.ts", + "version": "v1", + "pkgName": "container", + "ast": null, + "client": null, + "sdkFunctionNames": ["createCluster", "deleteCluster", "listClusters"] + } ] diff --git a/generator/test/generators/googleCloud/dummyData/invalidDataset_2/methods.json b/generator/test/generators/googleCloud/dummyData/invalidDataset_2/methods.json index 3a65e533..eaaef52c 100644 --- a/generator/test/generators/googleCloud/dummyData/invalidDataset_2/methods.json +++ b/generator/test/generators/googleCloud/dummyData/invalidDataset_2/methods.json @@ -1,35 +1,35 @@ [ - { - "pkgName": "container", - "version": "v1", - "fileName": "cluster_manager_client.d.ts", - "functionName": "create", - "SDKFunctionName": "createCluster", - "params": [], - "returnType": null, - "returnTypeName": null, - "client": null - }, - { - "pkgName": "container", - "version": "v1", - "fileName": "cluster_manager_client.d.ts", - "functionName": "delete", - "SDKFunctionName": "deleteCluster", - "params": [], - "returnType": null, - "returnTypeName": null, - "client": null - }, - { - "pkgName": "container", - "version": "v1", - "fileName": "cluster_manager_client.d.ts", - "functionName": "listClusters", - "SDKFunctionName": "listClusters", - "params": [], - "returnType": null, - "returnTypeName": null, - "client": null - } + { + "pkgName": "container", + "version": "v1", + "fileName": "cluster_manager_client.d.ts", + "functionName": "create", + "SDKFunctionName": "createCluster", + "params": [], + "returnType": null, + "returnTypeName": null, + "client": null + }, + { + "pkgName": "container", + "version": "v1", + "fileName": "cluster_manager_client.d.ts", + "functionName": "delete", + "SDKFunctionName": "deleteCluster", + "params": [], + "returnType": null, + "returnTypeName": null, + "client": null + }, + { + "pkgName": "container", + "version": "v1", + "fileName": "cluster_manager_client.d.ts", + "functionName": "listClusters", + "SDKFunctionName": "listClusters", + "params": [], + "returnType": null, + "returnTypeName": null, + "client": null + } ] diff --git a/generator/test/generators/googleCloud/dummyData/validDataset_1/files.json b/generator/test/generators/googleCloud/dummyData/validDataset_1/files.json index 0d523ac0..e9a37f8b 100644 --- a/generator/test/generators/googleCloud/dummyData/validDataset_1/files.json +++ b/generator/test/generators/googleCloud/dummyData/validDataset_1/files.json @@ -1,26 +1,26 @@ [ - { - "fileName": "change.d.ts", - "pkgName": "dns", - "classes": null, - "sdkFunctionNames": [] - }, - { - "fileName": "index.d.ts", - "pkgName": "dns", - "classes": null, - "sdkFunctionNames": ["getZones"] - }, - { - "fileName": "record.d.ts", - "pkgName": "dns", - "classes": null, - "sdkFunctionNames": [] - }, - { - "fileName": "zone.d.ts", - "pkgName": "dns", - "classes": null, - "sdkFunctionNames": ["create"] - } + { + "fileName": "change.d.ts", + "pkgName": "dns", + "classes": null, + "sdkFunctionNames": [] + }, + { + "fileName": "index.d.ts", + "pkgName": "dns", + "classes": null, + "sdkFunctionNames": ["getZones"] + }, + { + "fileName": "record.d.ts", + "pkgName": "dns", + "classes": null, + "sdkFunctionNames": [] + }, + { + "fileName": "zone.d.ts", + "pkgName": "dns", + "classes": null, + "sdkFunctionNames": ["create"] + } ] diff --git a/generator/test/generators/googleCloud/dummyData/validDataset_1/methods.json b/generator/test/generators/googleCloud/dummyData/validDataset_1/methods.json index aac550e0..b6a2f213 100644 --- a/generator/test/generators/googleCloud/dummyData/validDataset_1/methods.json +++ b/generator/test/generators/googleCloud/dummyData/validDataset_1/methods.json @@ -1,24 +1,24 @@ [ - { - "pkgName": "dns", - "version": null, - "fileName": "index.d.ts", - "functionName": "listZones", - "SDKFunctionName": "getZones", - "params": [], - "returnType": null, - "returnTypeName": null, - "client": null - }, - { - "pkgName": "dns", - "version": null, - "fileName": "zone.d.ts", - "functionName": "createZone", - "SDKFunctionName": "create", - "params": [], - "returnType": null, - "returnTypeName": null, - "client": null - } + { + "pkgName": "dns", + "version": null, + "fileName": "index.d.ts", + "functionName": "listZones", + "SDKFunctionName": "getZones", + "params": [], + "returnType": null, + "returnTypeName": null, + "client": null + }, + { + "pkgName": "dns", + "version": null, + "fileName": "zone.d.ts", + "functionName": "createZone", + "SDKFunctionName": "create", + "params": [], + "returnType": null, + "returnTypeName": null, + "client": null + } ] diff --git a/generator/test/generators/googleCloud/dummyData/validDataset_2/files.json b/generator/test/generators/googleCloud/dummyData/validDataset_2/files.json index 205faebb..48f59100 100644 --- a/generator/test/generators/googleCloud/dummyData/validDataset_2/files.json +++ b/generator/test/generators/googleCloud/dummyData/validDataset_2/files.json @@ -1,10 +1,10 @@ [ - { - "fileName": "cluster_manager_client.d.ts", - "version": "v1", - "pkgName": "container", - "ast": null, - "client": null, - "sdkFunctionNames": ["createCluster", "deleteCluster", "listClusters"] - } + { + "fileName": "cluster_manager_client.d.ts", + "version": "v1", + "pkgName": "container", + "ast": null, + "client": null, + "sdkFunctionNames": ["createCluster", "deleteCluster", "listClusters"] + } ] diff --git a/generator/test/generators/googleCloud/dummyData/validDataset_2/methods.json b/generator/test/generators/googleCloud/dummyData/validDataset_2/methods.json index 3a65e533..eaaef52c 100644 --- a/generator/test/generators/googleCloud/dummyData/validDataset_2/methods.json +++ b/generator/test/generators/googleCloud/dummyData/validDataset_2/methods.json @@ -1,35 +1,35 @@ [ - { - "pkgName": "container", - "version": "v1", - "fileName": "cluster_manager_client.d.ts", - "functionName": "create", - "SDKFunctionName": "createCluster", - "params": [], - "returnType": null, - "returnTypeName": null, - "client": null - }, - { - "pkgName": "container", - "version": "v1", - "fileName": "cluster_manager_client.d.ts", - "functionName": "delete", - "SDKFunctionName": "deleteCluster", - "params": [], - "returnType": null, - "returnTypeName": null, - "client": null - }, - { - "pkgName": "container", - "version": "v1", - "fileName": "cluster_manager_client.d.ts", - "functionName": "listClusters", - "SDKFunctionName": "listClusters", - "params": [], - "returnType": null, - "returnTypeName": null, - "client": null - } + { + "pkgName": "container", + "version": "v1", + "fileName": "cluster_manager_client.d.ts", + "functionName": "create", + "SDKFunctionName": "createCluster", + "params": [], + "returnType": null, + "returnTypeName": null, + "client": null + }, + { + "pkgName": "container", + "version": "v1", + "fileName": "cluster_manager_client.d.ts", + "functionName": "delete", + "SDKFunctionName": "deleteCluster", + "params": [], + "returnType": null, + "returnTypeName": null, + "client": null + }, + { + "pkgName": "container", + "version": "v1", + "fileName": "cluster_manager_client.d.ts", + "functionName": "listClusters", + "SDKFunctionName": "listClusters", + "params": [], + "returnType": null, + "returnTypeName": null, + "client": null + } ] diff --git a/generator/test/generators/googleCloud/generator.test.ts b/generator/test/generators/googleCloud/generator.test.ts index c85ea8e2..d34f65f0 100644 --- a/generator/test/generators/googleCloud/generator.test.ts +++ b/generator/test/generators/googleCloud/generator.test.ts @@ -2,162 +2,158 @@ import { expect } from 'chai'; import { SyntaxKind } from 'typescript'; import { - extractClassBasedSDKData, - extractClientBasedSDKdata, + extractClassBasedSDKData, + extractClientBasedSDKdata, } from '../../../generators/googleCloud/generator'; import { readJsonData, readSourceFile } from '../lib/helper'; describe('GCP generator extractClassBasedSDKData', () => { - context('with valid methods and valid AST', () => { - it('should return class data', async () => { - const methods: any = await readJsonData( - 'validDataset_1', - 'googleCloud', - 'methods' - ); - - const sdkFiles: any = await readJsonData( - 'validDataset_1', - 'googleCloud', - 'files' - ); - - await Promise.all( - sdkFiles.map(async file => { - file.classes = []; - const sdkFile: any = await readSourceFile( - 'validDataset_1', - 'googleCloud' - ); - sdkFile.forEachChild(child => { - if (SyntaxKind[child.kind] === 'ClassDeclaration') { - let cloned = Object.assign({}, child); - file.classes.push(cloned); - } - }); - }) - ); - - extractClassBasedSDKData(methods, sdkFiles).then(result => { - expect(result).to.be.an('object'); - expect(result.methods).to.be.an('array'); - }); - }); - }); - - context('with invalid AST', () => { - it('should return Error', async () => { - const methods: any = await readJsonData( - 'invalidDataset_1', - 'googleCloud', - 'methods' - ); - - const sdkFiles: any = await readJsonData( - 'invalidDataset_1', - 'googleCloud', - 'files' - ); - - await Promise.all( - sdkFiles.map(async file => { - file.classes = []; - const sdkFile: any = await readSourceFile( - 'invalidDataset_1', - 'googleCloud' - ); - sdkFile.forEachChild(child => { - if (SyntaxKind[child.kind] === 'ClassDeclaration') { - let cloned = Object.assign({}, child); - file.classes.push(cloned); - } - }); - }) - ); - - extractClassBasedSDKData(methods, sdkFiles).then( - result => {}, - error => { - expect(error.message).to.eql( - 'Data extraction unsuccessful' - ); - } - ); - }); - }); + context('with valid methods and valid AST', () => { + it('should return class data', async () => { + const methods: any = await readJsonData( + 'validDataset_1', + 'googleCloud', + 'methods' + ); + + const sdkFiles: any = await readJsonData( + 'validDataset_1', + 'googleCloud', + 'files' + ); + + await Promise.all( + sdkFiles.map(async file => { + file.classes = []; + const sdkFile: any = await readSourceFile( + 'validDataset_1', + 'googleCloud' + ); + sdkFile.forEachChild(child => { + if (SyntaxKind[child.kind] === 'ClassDeclaration') { + let cloned = Object.assign({}, child); + file.classes.push(cloned); + } + }); + }) + ); + + extractClassBasedSDKData(methods, sdkFiles).then(result => { + expect(result).to.be.an('object'); + expect(result.methods).to.be.an('array'); + }); + }); + }); + + context('with invalid AST', () => { + it('should return Error', async () => { + const methods: any = await readJsonData( + 'invalidDataset_1', + 'googleCloud', + 'methods' + ); + + const sdkFiles: any = await readJsonData( + 'invalidDataset_1', + 'googleCloud', + 'files' + ); + + await Promise.all( + sdkFiles.map(async file => { + file.classes = []; + const sdkFile: any = await readSourceFile( + 'invalidDataset_1', + 'googleCloud' + ); + sdkFile.forEachChild(child => { + if (SyntaxKind[child.kind] === 'ClassDeclaration') { + let cloned = Object.assign({}, child); + file.classes.push(cloned); + } + }); + }) + ); + + extractClassBasedSDKData(methods, sdkFiles).then( + result => {}, + error => { + expect(error.message).to.eql('Data extraction unsuccessful'); + } + ); + }); + }); }); describe('GCP generator extractClientBasedSDKdata', () => { - context('with valid methods and valid AST', () => { - it('should return class data', async () => { - const methods: any = await readJsonData( - 'validDataset_2', - 'googleCloud', - 'methods' - ); - - const sdkFiles: any = await readJsonData( - 'validDataset_2', - 'googleCloud', - 'files' - ); - - await Promise.all( - sdkFiles.map(async file => { - const sdkFile: any = await readSourceFile( - 'validDataset_2', - 'googleCloud' - ); - sdkFile.forEachChild(child => { - if (SyntaxKind[child.kind] === 'ClassDeclaration') { - file.ast = Object.assign({}, child); - } - }); - }) - ); - - extractClientBasedSDKdata(methods, sdkFiles).then(result => { - expect(result).to.be.an('array'); - }); - }); - }); - - context('with invalid AST', () => { - it('should return Error', async () => { - const methods: any = await readJsonData( - 'invalidDataset_2', - 'googleCloud', - 'methods' - ); - - const sdkFiles: any = await readJsonData( - 'invalidDataset_2', - 'googleCloud', - 'files' - ); - - await Promise.all( - sdkFiles.map(async file => { - const sdkFile: any = await readSourceFile( - 'invalidDataset_2', - 'googleCloud' - ); - sdkFile.forEachChild(child => { - if (SyntaxKind[child.kind] === 'ClassDeclaration') { - file.ast = Object.assign({}, child); - } - }); - }) - ); - - extractClientBasedSDKdata(methods, sdkFiles).then( - result => {}, - error => { - expect(error.message).to.eql( - 'Data extraction unsuccessful' - ); - } - ); - }); - }); + context('with valid methods and valid AST', () => { + it('should return class data', async () => { + const methods: any = await readJsonData( + 'validDataset_2', + 'googleCloud', + 'methods' + ); + + const sdkFiles: any = await readJsonData( + 'validDataset_2', + 'googleCloud', + 'files' + ); + + await Promise.all( + sdkFiles.map(async file => { + const sdkFile: any = await readSourceFile( + 'validDataset_2', + 'googleCloud' + ); + sdkFile.forEachChild(child => { + if (SyntaxKind[child.kind] === 'ClassDeclaration') { + file.ast = Object.assign({}, child); + } + }); + }) + ); + + extractClientBasedSDKdata(methods, sdkFiles).then(result => { + expect(result).to.be.an('array'); + }); + }); + }); + + context('with invalid AST', () => { + it('should return Error', async () => { + const methods: any = await readJsonData( + 'invalidDataset_2', + 'googleCloud', + 'methods' + ); + + const sdkFiles: any = await readJsonData( + 'invalidDataset_2', + 'googleCloud', + 'files' + ); + + await Promise.all( + sdkFiles.map(async file => { + const sdkFile: any = await readSourceFile( + 'invalidDataset_2', + 'googleCloud' + ); + sdkFile.forEachChild(child => { + if (SyntaxKind[child.kind] === 'ClassDeclaration') { + file.ast = Object.assign({}, child); + } + }); + }) + ); + + extractClientBasedSDKdata(methods, sdkFiles).then( + result => {}, + error => { + expect(error.message).to.eql('Data extraction unsuccessful'); + } + ); + }); + }); }); diff --git a/generator/test/generators/lib/helper.ts b/generator/test/generators/lib/helper.ts index da314bb7..6a13334d 100644 --- a/generator/test/generators/lib/helper.ts +++ b/generator/test/generators/lib/helper.ts @@ -2,34 +2,34 @@ import * as fs from 'fs'; import { createSourceFile, ScriptTarget } from 'typescript'; export function readSourceFile(datasetName, provider) { - return new Promise((resolve, reject) => { - try { - const testFile = - process.cwd() + - `/test/generators/${provider}/dummyData/${datasetName}/sdkFile.txt`; - const testAST = createSourceFile( - testFile, - fs.readFileSync(testFile).toString(), - ScriptTarget.Latest, - true - ); - resolve(testAST); - } catch (error) { - console.error(error); - } - }); + return new Promise((resolve, reject) => { + try { + const testFile = + process.cwd() + + `/test/generators/${provider}/dummyData/${datasetName}/sdkFile.txt`; + const testAST = createSourceFile( + testFile, + fs.readFileSync(testFile).toString(), + ScriptTarget.Latest, + true + ); + resolve(testAST); + } catch (error) { + console.error(error); + } + }); } export function readJsonData(datasetName, provider, fileName) { - return new Promise((resolve, reject) => { - try { - const testFile = - process.cwd() + - `/test/generators/${provider}/dummyData/${datasetName}/${fileName}.json`; - const testData = JSON.parse(fs.readFileSync(testFile, 'utf8')); - resolve(testData); - } catch (error) { - console.error(error); - } - }); + return new Promise((resolve, reject) => { + try { + const testFile = + process.cwd() + + `/test/generators/${provider}/dummyData/${datasetName}/${fileName}.json`; + const testData = JSON.parse(fs.readFileSync(testFile, 'utf8')); + resolve(testData); + } catch (error) { + console.error(error); + } + }); } diff --git a/generator/test/parsers/aws/parser.test.ts b/generator/test/parsers/aws/parser.test.ts index be577611..61326b51 100644 --- a/generator/test/parsers/aws/parser.test.ts +++ b/generator/test/parsers/aws/parser.test.ts @@ -4,31 +4,31 @@ import { SyntaxKind } from 'typescript'; import { getAST } from '../../../parsers/aws/parser'; describe('AWS parser getAST', () => { - context('with existing file', () => { - it('should return Abstract syntax tree of the class', async () => { - const ast: any = await getAST('amplify.d.ts'); - expect(ast).to.be.an('object'); - expect(SyntaxKind[ast.kind] === 'ClassDeclaration').to.be.true; - }); - }); + context('with existing file', () => { + it('should return Abstract syntax tree of the class', async () => { + const ast: any = await getAST('amplify.d.ts'); + expect(ast).to.be.an('object'); + expect(SyntaxKind[ast.kind] === 'ClassDeclaration').to.be.true; + }); + }); - context('with non-existing file', () => { - it('should return File not found Error', async () => { - try { - await getAST('unknown.d.ts'); - } catch (error) { - expect(error.message).to.eql('File not found!'); - } - }); - }); + context('with non-existing file', () => { + it('should return File not found Error', async () => { + try { + await getAST('unknown.d.ts'); + } catch (error) { + expect(error.message).to.eql('File not found!'); + } + }); + }); - context('with wrong format file', () => { - it('should return class not found Error', async () => { - try { - await getAST('browser_default.d.ts'); - } catch (error) { - expect(error.message).to.eql('Class not found!'); - } - }); - }); + context('with wrong format file', () => { + it('should return class not found Error', async () => { + try { + await getAST('browser_default.d.ts'); + } catch (error) { + expect(error.message).to.eql('Class not found!'); + } + }); + }); }); diff --git a/generator/test/parsers/azure/parser.test.ts b/generator/test/parsers/azure/parser.test.ts index 85482aff..3633f01a 100644 --- a/generator/test/parsers/azure/parser.test.ts +++ b/generator/test/parsers/azure/parser.test.ts @@ -4,38 +4,38 @@ import { SyntaxKind } from 'typescript'; import { getAST } from '../../../parsers/azure/parser'; describe('Azure parser getAST', () => { - context('with existing file', () => { - it('should return Abstract syntax tree of the class', async () => { - const ast: any = await getAST({ - pkgName: 'arm-containerservice', - fileName: 'managedClusters.d.ts', - }); - expect(ast).to.be.an('object'); - expect(SyntaxKind[ast.kind] === 'ClassDeclaration').to.be.true; - }); - }); + context('with existing file', () => { + it('should return Abstract syntax tree of the class', async () => { + const ast: any = await getAST({ + pkgName: 'arm-containerservice', + fileName: 'managedClusters.d.ts', + }); + expect(ast).to.be.an('object'); + expect(SyntaxKind[ast.kind] === 'ClassDeclaration').to.be.true; + }); + }); - context('with non-existing file', () => { - it('should return File not found Error', async () => { - try { - await getAST('unknown.d.ts'); - } catch (error) { - expect(error.message).to.eql('File not found!'); - } - }); - }); + context('with non-existing file', () => { + it('should return File not found Error', async () => { + try { + await getAST('unknown.d.ts'); + } catch (error) { + expect(error.message).to.eql('File not found!'); + } + }); + }); - context('with wrong format file', () => { - it('should return class not found Error', async () => { - try { - const fileInfo = { - pkgName: 'arm-storage', - fileName: 'index.d.ts', - }; - await getAST(fileInfo); - } catch (error) { - expect(error.message).to.eql('Class not found!'); - } - }); - }); + context('with wrong format file', () => { + it('should return class not found Error', async () => { + try { + const fileInfo = { + pkgName: 'arm-storage', + fileName: 'index.d.ts', + }; + await getAST(fileInfo); + } catch (error) { + expect(error.message).to.eql('Class not found!'); + } + }); + }); }); diff --git a/generator/test/parsers/do/parser.test.ts b/generator/test/parsers/do/parser.test.ts index 457b0ef0..95aefd68 100644 --- a/generator/test/parsers/do/parser.test.ts +++ b/generator/test/parsers/do/parser.test.ts @@ -4,31 +4,31 @@ import { SyntaxKind } from 'typescript'; import { getAST } from '../../../parsers/do/parser'; describe('Digital Ocean parser getAST', () => { - context('With existing file', () => { - it('Should return Abstract syntax tree of the class', async () => { - const ast: any = await getAST('droplets.d.ts'); - expect(ast).to.be.an('object'); - expect(SyntaxKind[ast.kind] === 'ClassDeclaration').to.be.true; - }); - }); + context('With existing file', () => { + it('Should return Abstract syntax tree of the class', async () => { + const ast: any = await getAST('droplets.d.ts'); + expect(ast).to.be.an('object'); + expect(SyntaxKind[ast.kind] === 'ClassDeclaration').to.be.true; + }); + }); - context('With non-existing file', () => { - it('should return File not found Error', async () => { - try { - await getAST('unknown.d.ts'); - } catch (error) { - expect(error.message).to.eql('File not found!'); - } - }); - }); + context('With non-existing file', () => { + it('should return File not found Error', async () => { + try { + await getAST('unknown.d.ts'); + } catch (error) { + expect(error.message).to.eql('File not found!'); + } + }); + }); - context('With wrong format file', () => { - it('Should return class not found Error', async () => { - try { - await getAST('../types/common.d.ts'); - } catch (error) { - expect(error.message).to.eql('Class not found!'); - } - }); - }); + context('With wrong format file', () => { + it('Should return class not found Error', async () => { + try { + await getAST('../types/common.d.ts'); + } catch (error) { + expect(error.message).to.eql('Class not found!'); + } + }); + }); }); diff --git a/generator/test/parsers/googleCloud/parser.test.ts b/generator/test/parsers/googleCloud/parser.test.ts index 4f8a99cf..1a8fddd3 100644 --- a/generator/test/parsers/googleCloud/parser.test.ts +++ b/generator/test/parsers/googleCloud/parser.test.ts @@ -4,61 +4,61 @@ import { SyntaxKind } from 'typescript'; import { getAST } from '../../../parsers/googleCloud/parser'; describe('Google cloud parser getAST', () => { - context('with existing file, multi:false', () => { - it('should return Abstract syntax tree of the class', async () => { - const fileInfo = { - pkgName: 'monitoring', - version: 'v3', - fileName: 'alert_policy_service_client.d.ts', - }; - const ast: any = await getAST(fileInfo); - expect(ast).to.be.an('object'); - expect(SyntaxKind[ast.kind] === 'ClassDeclaration').to.be.true; - }); - }); + context('with existing file, multi:false', () => { + it('should return Abstract syntax tree of the class', async () => { + const fileInfo = { + pkgName: 'monitoring', + version: 'v3', + fileName: 'alert_policy_service_client.d.ts', + }; + const ast: any = await getAST(fileInfo); + expect(ast).to.be.an('object'); + expect(SyntaxKind[ast.kind] === 'ClassDeclaration').to.be.true; + }); + }); - context('with existing file, multi:true', () => { - it('should return an array of Abstract syntax tree classes', async () => { - const fileInfo = { pkgName: 'dns', fileName: 'zone.d.ts' }; - const classes: any = await getAST(fileInfo, true); - expect(classes).to.be.an('array'); - classes.forEach((elt, index) => { - expect(SyntaxKind[elt.kind] === 'ClassDeclaration').to.be.true; - }); - }); - }); + context('with existing file, multi:true', () => { + it('should return an array of Abstract syntax tree classes', async () => { + const fileInfo = { pkgName: 'dns', fileName: 'zone.d.ts' }; + const classes: any = await getAST(fileInfo, true); + expect(classes).to.be.an('array'); + classes.forEach((elt, index) => { + expect(SyntaxKind[elt.kind] === 'ClassDeclaration').to.be.true; + }); + }); + }); - context('with non-existing file', () => { - it('should return File not found Error', async () => { - try { - await getAST('unknown.d.ts'); - } catch (error) { - expect(error.message).to.eql('File not found!'); - } - }); - }); + context('with non-existing file', () => { + it('should return File not found Error', async () => { + try { + await getAST('unknown.d.ts'); + } catch (error) { + expect(error.message).to.eql('File not found!'); + } + }); + }); - context('with wrong format file, multi:true', () => { - it('should return an empty array', async () => { - const fileInfo = { pkgName: 'storage', fileName: 'index.d.ts' }; - const classes: any = await getAST(fileInfo, true); - expect(classes).to.be.an('array'); - expect(classes.length).to.be.equal(0); - }); - }); + context('with wrong format file, multi:true', () => { + it('should return an empty array', async () => { + const fileInfo = { pkgName: 'storage', fileName: 'index.d.ts' }; + const classes: any = await getAST(fileInfo, true); + expect(classes).to.be.an('array'); + expect(classes.length).to.be.equal(0); + }); + }); - context('with wrong format file', () => { - it('should return a Class not found Error', async () => { - const fileInfo = { - pkgName: 'monitoring', - version: 'v3', - fileName: 'index.d.ts', - }; - try { - const ast: any = await getAST(fileInfo); - } catch (error) { - expect(error.message).to.eql('Class not found!'); - } - }); - }); + context('with wrong format file', () => { + it('should return a Class not found Error', async () => { + const fileInfo = { + pkgName: 'monitoring', + version: 'v3', + fileName: 'index.d.ts', + }; + try { + const ast: any = await getAST(fileInfo); + } catch (error) { + expect(error.message).to.eql('Class not found!'); + } + }); + }); }); diff --git a/generator/test/transformers/aws/dummyData/invalidDataset_1/data.json b/generator/test/transformers/aws/dummyData/invalidDataset_1/data.json index b83d92da..7e37eb84 100644 --- a/generator/test/transformers/aws/dummyData/invalidDataset_1/data.json +++ b/generator/test/transformers/aws/dummyData/invalidDataset_1/data.json @@ -1,104 +1,104 @@ { - "className": "SimpleDB", - "functions": [ - { - "functionName": "batchDelete", - "SDKFunctionName": "batchDeleteAttributes", - "params": [ - { - "name": "params", - "optional": false, - "type": "TypeReference" - } - ] - }, - { - "functionName": "batchWrite", - "SDKFunctionName": "batchPutAttributes", - "params": [ - { - "name": "params", - "optional": false, - "type": "TypeReference" - } - ] - }, - { - "functionName": "createCollection", - "SDKFunctionName": "createDomain", - "params": [ - { - "name": "params", - "optional": false, - "type": "TypeReference" - } - ] - }, - { - "functionName": "deleteAttribute", - "SDKFunctionName": "deleteAttributes", - "params": [ - { - "name": "params", - "optional": false, - "type": "TypeReference" - } - ] - }, - { - "functionName": "deleteCollection", - "SDKFunctionName": "deleteDomain", - "params": [ - { - "name": "params", - "optional": false, - "type": "TypeReference" - } - ] - }, - { - "functionName": "getAttributes", - "SDKFunctionName": "getAttributes", - "params": [ - { - "name": "params", - "optional": false, - "type": "TypeReference" - } - ] - }, - { - "functionName": "listCollections", - "SDKFunctionName": "listDomains", - "params": [ - { - "name": "params", - "optional": false, - "type": "TypeReference" - } - ] - }, - { - "functionName": "setAttribute", - "SDKFunctionName": "putAttributes", - "params": [ - { - "name": "params", - "optional": false, - "type": "TypeReference" - } - ] - }, - { - "functionName": "query", - "SDKFunctionName": "select", - "params": [ - { - "name": "params", - "optional": false, - "type": "TypeReference" - } - ] - } - ] + "className": "SimpleDB", + "functions": [ + { + "functionName": "batchDelete", + "SDKFunctionName": "batchDeleteAttributes", + "params": [ + { + "name": "params", + "optional": false, + "type": "TypeReference" + } + ] + }, + { + "functionName": "batchWrite", + "SDKFunctionName": "batchPutAttributes", + "params": [ + { + "name": "params", + "optional": false, + "type": "TypeReference" + } + ] + }, + { + "functionName": "createCollection", + "SDKFunctionName": "createDomain", + "params": [ + { + "name": "params", + "optional": false, + "type": "TypeReference" + } + ] + }, + { + "functionName": "deleteAttribute", + "SDKFunctionName": "deleteAttributes", + "params": [ + { + "name": "params", + "optional": false, + "type": "TypeReference" + } + ] + }, + { + "functionName": "deleteCollection", + "SDKFunctionName": "deleteDomain", + "params": [ + { + "name": "params", + "optional": false, + "type": "TypeReference" + } + ] + }, + { + "functionName": "getAttributes", + "SDKFunctionName": "getAttributes", + "params": [ + { + "name": "params", + "optional": false, + "type": "TypeReference" + } + ] + }, + { + "functionName": "listCollections", + "SDKFunctionName": "listDomains", + "params": [ + { + "name": "params", + "optional": false, + "type": "TypeReference" + } + ] + }, + { + "functionName": "setAttribute", + "SDKFunctionName": "putAttributes", + "params": [ + { + "name": "params", + "optional": false, + "type": "TypeReference" + } + ] + }, + { + "functionName": "query", + "SDKFunctionName": "select", + "params": [ + { + "name": "params", + "optional": false, + "type": "TypeReference" + } + ] + } + ] } diff --git a/generator/test/transformers/aws/dummyData/invalidDataset_2/data.json b/generator/test/transformers/aws/dummyData/invalidDataset_2/data.json index 2f3a0ae6..9106754e 100644 --- a/generator/test/transformers/aws/dummyData/invalidDataset_2/data.json +++ b/generator/test/transformers/aws/dummyData/invalidDataset_2/data.json @@ -1,15 +1,15 @@ { - "functions": [ - { - "SDKFunctionName": "batchDeleteAttributes", - "params": [ - { - "name": "params", - "optional": false, - "type": "TypeReference", - "invalid": true - } - ] - } - ] + "functions": [ + { + "SDKFunctionName": "batchDeleteAttributes", + "params": [ + { + "name": "params", + "optional": false, + "type": "TypeReference", + "invalid": true + } + ] + } + ] } diff --git a/generator/test/transformers/aws/dummyData/validDataset/data.json b/generator/test/transformers/aws/dummyData/validDataset/data.json index b83d92da..7e37eb84 100644 --- a/generator/test/transformers/aws/dummyData/validDataset/data.json +++ b/generator/test/transformers/aws/dummyData/validDataset/data.json @@ -1,104 +1,104 @@ { - "className": "SimpleDB", - "functions": [ - { - "functionName": "batchDelete", - "SDKFunctionName": "batchDeleteAttributes", - "params": [ - { - "name": "params", - "optional": false, - "type": "TypeReference" - } - ] - }, - { - "functionName": "batchWrite", - "SDKFunctionName": "batchPutAttributes", - "params": [ - { - "name": "params", - "optional": false, - "type": "TypeReference" - } - ] - }, - { - "functionName": "createCollection", - "SDKFunctionName": "createDomain", - "params": [ - { - "name": "params", - "optional": false, - "type": "TypeReference" - } - ] - }, - { - "functionName": "deleteAttribute", - "SDKFunctionName": "deleteAttributes", - "params": [ - { - "name": "params", - "optional": false, - "type": "TypeReference" - } - ] - }, - { - "functionName": "deleteCollection", - "SDKFunctionName": "deleteDomain", - "params": [ - { - "name": "params", - "optional": false, - "type": "TypeReference" - } - ] - }, - { - "functionName": "getAttributes", - "SDKFunctionName": "getAttributes", - "params": [ - { - "name": "params", - "optional": false, - "type": "TypeReference" - } - ] - }, - { - "functionName": "listCollections", - "SDKFunctionName": "listDomains", - "params": [ - { - "name": "params", - "optional": false, - "type": "TypeReference" - } - ] - }, - { - "functionName": "setAttribute", - "SDKFunctionName": "putAttributes", - "params": [ - { - "name": "params", - "optional": false, - "type": "TypeReference" - } - ] - }, - { - "functionName": "query", - "SDKFunctionName": "select", - "params": [ - { - "name": "params", - "optional": false, - "type": "TypeReference" - } - ] - } - ] + "className": "SimpleDB", + "functions": [ + { + "functionName": "batchDelete", + "SDKFunctionName": "batchDeleteAttributes", + "params": [ + { + "name": "params", + "optional": false, + "type": "TypeReference" + } + ] + }, + { + "functionName": "batchWrite", + "SDKFunctionName": "batchPutAttributes", + "params": [ + { + "name": "params", + "optional": false, + "type": "TypeReference" + } + ] + }, + { + "functionName": "createCollection", + "SDKFunctionName": "createDomain", + "params": [ + { + "name": "params", + "optional": false, + "type": "TypeReference" + } + ] + }, + { + "functionName": "deleteAttribute", + "SDKFunctionName": "deleteAttributes", + "params": [ + { + "name": "params", + "optional": false, + "type": "TypeReference" + } + ] + }, + { + "functionName": "deleteCollection", + "SDKFunctionName": "deleteDomain", + "params": [ + { + "name": "params", + "optional": false, + "type": "TypeReference" + } + ] + }, + { + "functionName": "getAttributes", + "SDKFunctionName": "getAttributes", + "params": [ + { + "name": "params", + "optional": false, + "type": "TypeReference" + } + ] + }, + { + "functionName": "listCollections", + "SDKFunctionName": "listDomains", + "params": [ + { + "name": "params", + "optional": false, + "type": "TypeReference" + } + ] + }, + { + "functionName": "setAttribute", + "SDKFunctionName": "putAttributes", + "params": [ + { + "name": "params", + "optional": false, + "type": "TypeReference" + } + ] + }, + { + "functionName": "query", + "SDKFunctionName": "select", + "params": [ + { + "name": "params", + "optional": false, + "type": "TypeReference" + } + ] + } + ] } diff --git a/generator/test/transformers/aws/transformer.test.ts b/generator/test/transformers/aws/transformer.test.ts index 14089f03..c21b1493 100644 --- a/generator/test/transformers/aws/transformer.test.ts +++ b/generator/test/transformers/aws/transformer.test.ts @@ -5,67 +5,67 @@ import { transform } from '../../../transformers/aws/transformer'; import { readJsonData, readSourceFile } from '../lib/helper'; interface TestData { - AST: any; - data: any; + AST: any; + data: any; } describe('AWS transformer transform', () => { - context('Valid source code and valid data', () => { - const testData: TestData = { AST: null, data: null }; - before(async () => { - testData.AST = await readSourceFile('validDataset', 'aws'); - testData.data = await readJsonData('validDataset', 'aws'); - }); + context('Valid source code and valid data', () => { + const testData: TestData = { AST: null, data: null }; + before(async () => { + testData.AST = await readSourceFile('validDataset', 'aws'); + testData.data = await readJsonData('validDataset', 'aws'); + }); - it('Should return a String', async () => { - const result = await transform(testData.AST, testData.data); - expect(result).to.be.string; - }); + it('Should return a String', async () => { + const result = await transform(testData.AST, testData.data); + expect(result).to.be.string; + }); - it('Should return a Javascript code in String format', async () => { - const result = await transform(testData.AST, testData.data); - try { - const sourceCode = createSourceFile( - 'someClass.js', - result, - ScriptTarget.Latest - ); - expect(isSourceFile(sourceCode)).to.be.true; - } catch (error) { - console.log(error); - } - }); - }); + it('Should return a Javascript code in String format', async () => { + const result = await transform(testData.AST, testData.data); + try { + const sourceCode = createSourceFile( + 'someClass.js', + result, + ScriptTarget.Latest + ); + expect(isSourceFile(sourceCode)).to.be.true; + } catch (error) { + console.log(error); + } + }); + }); - context('Invalid source code and valid data', () => { - const testData: TestData = { AST: null, data: null }; - before(async () => { - testData.AST = await readSourceFile('invalidDataset_1', 'aws'); - testData.data = await readJsonData('invalidDataset_1', 'aws'); - }); + context('Invalid source code and valid data', () => { + const testData: TestData = { AST: null, data: null }; + before(async () => { + testData.AST = await readSourceFile('invalidDataset_1', 'aws'); + testData.data = await readJsonData('invalidDataset_1', 'aws'); + }); - it('Should return a validation Error', async () => { - try { - await transform(testData.AST, testData.data); - } catch (error) { - expect(error.message).to.eql('Code is invalid'); - } - }); - }); + it('Should return a validation Error', async () => { + try { + await transform(testData.AST, testData.data); + } catch (error) { + expect(error.message).to.eql('Code is invalid'); + } + }); + }); - context('Valid source code and invalid data', () => { - const testData: TestData = { AST: null, data: null }; - before(async () => { - testData.AST = await readSourceFile('invalidDataset_2', 'aws'); - testData.data = await readJsonData('invalidDataset_2', 'aws'); - }); + context('Valid source code and invalid data', () => { + const testData: TestData = { AST: null, data: null }; + before(async () => { + testData.AST = await readSourceFile('invalidDataset_2', 'aws'); + testData.data = await readJsonData('invalidDataset_2', 'aws'); + }); - it('Should return a validation Error', async () => { - try { - await transform(testData.AST, testData.data); - } catch (error) { - expect(error.message).to.eql('Input is invalid'); - } - }); - }); + it('Should return a validation Error', async () => { + try { + await transform(testData.AST, testData.data); + } catch (error) { + expect(error.message).to.eql('Input is invalid'); + } + }); + }); }); diff --git a/generator/test/transformers/azure/dummyData/invalidDataset_1/data.json b/generator/test/transformers/azure/dummyData/invalidDataset_1/data.json index 07611ed9..993c47fc 100644 --- a/generator/test/transformers/azure/dummyData/invalidDataset_1/data.json +++ b/generator/test/transformers/azure/dummyData/invalidDataset_1/data.json @@ -1,124 +1,124 @@ { - "functions": [ - { - "functionName": "create", - "SDKFunctionName": "createOrUpdate", - "params": [ - { - "name": "resourceGroupName", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "resourceName", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "parameters", - "optional": false, - "type": "TypeReference" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "pkgName": "arm-containerservice", - "fileName": "managedClusters.d.ts", - "client": "ContainerServiceClient", - "returnType": "TypeReference" - }, - { - "functionName": "delete", - "SDKFunctionName": "deleteMethod", - "params": [ - { - "name": "resourceGroupName", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "resourceName", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "pkgName": "arm-containerservice", - "fileName": "managedClusters.d.ts", - "client": "ContainerServiceClient", - "returnType": "TypeReference" - }, - { - "functionName": "updateTags", - "SDKFunctionName": "updateTags", - "params": [ - { - "name": "resourceGroupName", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "resourceName", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "parameters", - "optional": false, - "type": "TypeReference" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "pkgName": "arm-containerservice", - "fileName": "managedClusters.d.ts", - "client": "ContainerServiceClient", - "returnType": "TypeReference" - }, - { - "functionName": "listByResourceGroup", - "SDKFunctionName": "listByResourceGroup", - "params": [ - { - "name": "resourceGroupName", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "pkgName": "arm-containerservice", - "fileName": "managedClusters.d.ts", - "client": "ContainerServiceClient", - "returnType": "TypeReference" - }, - { - "functionName": "listClusters", - "SDKFunctionName": "list", - "params": [ - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "pkgName": "arm-containerservice", - "fileName": "managedClusters.d.ts", - "client": "ContainerServiceClient", - "returnType": "TypeReference" - } - ] + "functions": [ + { + "functionName": "create", + "SDKFunctionName": "createOrUpdate", + "params": [ + { + "name": "resourceGroupName", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "resourceName", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "parameters", + "optional": false, + "type": "TypeReference" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "pkgName": "arm-containerservice", + "fileName": "managedClusters.d.ts", + "client": "ContainerServiceClient", + "returnType": "TypeReference" + }, + { + "functionName": "delete", + "SDKFunctionName": "deleteMethod", + "params": [ + { + "name": "resourceGroupName", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "resourceName", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "pkgName": "arm-containerservice", + "fileName": "managedClusters.d.ts", + "client": "ContainerServiceClient", + "returnType": "TypeReference" + }, + { + "functionName": "updateTags", + "SDKFunctionName": "updateTags", + "params": [ + { + "name": "resourceGroupName", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "resourceName", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "parameters", + "optional": false, + "type": "TypeReference" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "pkgName": "arm-containerservice", + "fileName": "managedClusters.d.ts", + "client": "ContainerServiceClient", + "returnType": "TypeReference" + }, + { + "functionName": "listByResourceGroup", + "SDKFunctionName": "listByResourceGroup", + "params": [ + { + "name": "resourceGroupName", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "pkgName": "arm-containerservice", + "fileName": "managedClusters.d.ts", + "client": "ContainerServiceClient", + "returnType": "TypeReference" + }, + { + "functionName": "listClusters", + "SDKFunctionName": "list", + "params": [ + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "pkgName": "arm-containerservice", + "fileName": "managedClusters.d.ts", + "client": "ContainerServiceClient", + "returnType": "TypeReference" + } + ] } diff --git a/generator/test/transformers/azure/dummyData/validDataset/data.json b/generator/test/transformers/azure/dummyData/validDataset/data.json index 07611ed9..993c47fc 100644 --- a/generator/test/transformers/azure/dummyData/validDataset/data.json +++ b/generator/test/transformers/azure/dummyData/validDataset/data.json @@ -1,124 +1,124 @@ { - "functions": [ - { - "functionName": "create", - "SDKFunctionName": "createOrUpdate", - "params": [ - { - "name": "resourceGroupName", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "resourceName", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "parameters", - "optional": false, - "type": "TypeReference" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "pkgName": "arm-containerservice", - "fileName": "managedClusters.d.ts", - "client": "ContainerServiceClient", - "returnType": "TypeReference" - }, - { - "functionName": "delete", - "SDKFunctionName": "deleteMethod", - "params": [ - { - "name": "resourceGroupName", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "resourceName", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "pkgName": "arm-containerservice", - "fileName": "managedClusters.d.ts", - "client": "ContainerServiceClient", - "returnType": "TypeReference" - }, - { - "functionName": "updateTags", - "SDKFunctionName": "updateTags", - "params": [ - { - "name": "resourceGroupName", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "resourceName", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "parameters", - "optional": false, - "type": "TypeReference" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "pkgName": "arm-containerservice", - "fileName": "managedClusters.d.ts", - "client": "ContainerServiceClient", - "returnType": "TypeReference" - }, - { - "functionName": "listByResourceGroup", - "SDKFunctionName": "listByResourceGroup", - "params": [ - { - "name": "resourceGroupName", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "pkgName": "arm-containerservice", - "fileName": "managedClusters.d.ts", - "client": "ContainerServiceClient", - "returnType": "TypeReference" - }, - { - "functionName": "listClusters", - "SDKFunctionName": "list", - "params": [ - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "pkgName": "arm-containerservice", - "fileName": "managedClusters.d.ts", - "client": "ContainerServiceClient", - "returnType": "TypeReference" - } - ] + "functions": [ + { + "functionName": "create", + "SDKFunctionName": "createOrUpdate", + "params": [ + { + "name": "resourceGroupName", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "resourceName", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "parameters", + "optional": false, + "type": "TypeReference" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "pkgName": "arm-containerservice", + "fileName": "managedClusters.d.ts", + "client": "ContainerServiceClient", + "returnType": "TypeReference" + }, + { + "functionName": "delete", + "SDKFunctionName": "deleteMethod", + "params": [ + { + "name": "resourceGroupName", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "resourceName", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "pkgName": "arm-containerservice", + "fileName": "managedClusters.d.ts", + "client": "ContainerServiceClient", + "returnType": "TypeReference" + }, + { + "functionName": "updateTags", + "SDKFunctionName": "updateTags", + "params": [ + { + "name": "resourceGroupName", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "resourceName", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "parameters", + "optional": false, + "type": "TypeReference" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "pkgName": "arm-containerservice", + "fileName": "managedClusters.d.ts", + "client": "ContainerServiceClient", + "returnType": "TypeReference" + }, + { + "functionName": "listByResourceGroup", + "SDKFunctionName": "listByResourceGroup", + "params": [ + { + "name": "resourceGroupName", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "pkgName": "arm-containerservice", + "fileName": "managedClusters.d.ts", + "client": "ContainerServiceClient", + "returnType": "TypeReference" + }, + { + "functionName": "listClusters", + "SDKFunctionName": "list", + "params": [ + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "pkgName": "arm-containerservice", + "fileName": "managedClusters.d.ts", + "client": "ContainerServiceClient", + "returnType": "TypeReference" + } + ] } diff --git a/generator/test/transformers/azure/transformer.test.ts b/generator/test/transformers/azure/transformer.test.ts index 75dd7a1d..6a0b217a 100644 --- a/generator/test/transformers/azure/transformer.test.ts +++ b/generator/test/transformers/azure/transformer.test.ts @@ -5,67 +5,67 @@ import { transform } from '../../../transformers/azure/transformer'; import { readJsonData, readSourceFile } from '../lib/helper'; interface TestData { - AST: any; - data: any; + AST: any; + data: any; } describe('Azure transformer transform', () => { - context('Valid source code and valid data', () => { - const testData: TestData = { AST: null, data: null }; - before(async () => { - testData.AST = await readSourceFile('validDataset', 'azure'); - testData.data = await readJsonData('validDataset', 'azure'); - }); + context('Valid source code and valid data', () => { + const testData: TestData = { AST: null, data: null }; + before(async () => { + testData.AST = await readSourceFile('validDataset', 'azure'); + testData.data = await readJsonData('validDataset', 'azure'); + }); - it('Should return a String', async () => { - const result = await transform(testData.AST, testData.data); - expect(result).to.be.string; - }); + it('Should return a String', async () => { + const result = await transform(testData.AST, testData.data); + expect(result).to.be.string; + }); - it('Should return a Javascript code in String format', async () => { - const result = await transform(testData.AST, testData.data); - try { - const sourceCode = createSourceFile( - 'someClass.js', - result, - ScriptTarget.Latest - ); - expect(isSourceFile(sourceCode)).to.be.true; - } catch (error) { - console.log(error); - } - }); - }); + it('Should return a Javascript code in String format', async () => { + const result = await transform(testData.AST, testData.data); + try { + const sourceCode = createSourceFile( + 'someClass.js', + result, + ScriptTarget.Latest + ); + expect(isSourceFile(sourceCode)).to.be.true; + } catch (error) { + console.log(error); + } + }); + }); - context('Invalid source code and valid data', () => { - const testData: TestData = { AST: null, data: null }; - before(async () => { - testData.AST = await readSourceFile('invalidDataset_1', 'azure'); - testData.data = await readJsonData('invalidDataset_1', 'azure'); - }); + context('Invalid source code and valid data', () => { + const testData: TestData = { AST: null, data: null }; + before(async () => { + testData.AST = await readSourceFile('invalidDataset_1', 'azure'); + testData.data = await readJsonData('invalidDataset_1', 'azure'); + }); - it('Should return a validation Error', async () => { - try { - await transform(testData.AST, testData.data); - } catch (error) { - expect(error.message).to.eql('Code is invalid'); - } - }); - }); + it('Should return a validation Error', async () => { + try { + await transform(testData.AST, testData.data); + } catch (error) { + expect(error.message).to.eql('Code is invalid'); + } + }); + }); - context('Valid source code and invalid data', () => { - const testData: TestData = { AST: null, data: null }; - before(async () => { - testData.AST = await readSourceFile('invalidDataset_2', 'azure'); - testData.data = await readJsonData('invalidDataset_2', 'azure'); - }); + context('Valid source code and invalid data', () => { + const testData: TestData = { AST: null, data: null }; + before(async () => { + testData.AST = await readSourceFile('invalidDataset_2', 'azure'); + testData.data = await readJsonData('invalidDataset_2', 'azure'); + }); - it('Should return a validation Error', async () => { - try { - await transform(testData.AST, testData.data); - } catch (error) { - expect(error.message).to.eql('Input is invalid'); - } - }); - }); + it('Should return a validation Error', async () => { + try { + await transform(testData.AST, testData.data); + } catch (error) { + expect(error.message).to.eql('Input is invalid'); + } + }); + }); }); diff --git a/generator/test/transformers/do/dummyData/invalidDataset_1/data.json b/generator/test/transformers/do/dummyData/invalidDataset_1/data.json index d1c95b66..3ffb12f3 100644 --- a/generator/test/transformers/do/dummyData/invalidDataset_1/data.json +++ b/generator/test/transformers/do/dummyData/invalidDataset_1/data.json @@ -1,102 +1,102 @@ { - "className": "Kubernetes", - "functions": [ - { - "functionName": "listClusters", - "SDKFunctionName": "getClusters", - "params": [ - { - "name": "includeAll", - "optional": true, - "type": "BooleanKeyword", - "typeName": null - }, - { - "name": "page", - "optional": true, - "type": "NumberKeyword", - "typeName": null - }, - { - "name": "pageSize", - "optional": true, - "type": "NumberKeyword", - "typeName": null - } - ] - }, - { - "functionName": "create", - "SDKFunctionName": "create", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference", - "typeName": "NewClusterRequest" - } - ] - }, - { - "functionName": "delete", - "SDKFunctionName": "delete", - "params": [ - { - "name": "clusterId", - "optional": false, - "type": "StringKeyword", - "typeName": null - } - ] - }, - { - "functionName": "listNodegroups", - "SDKFunctionName": "getNodePools", - "params": [ - { - "name": "clusterId", - "optional": false, - "type": "StringKeyword", - "typeName": null - }, - { - "name": "includeAll", - "optional": true, - "type": "BooleanKeyword", - "typeName": null - }, - { - "name": "page", - "optional": true, - "type": "NumberKeyword", - "typeName": null - }, - { - "name": "pageSize", - "optional": true, - "type": "NumberKeyword", - "typeName": null - } - ] - }, - { - "functionName": "createNodeGroup", - "SDKFunctionName": "addNodePool", - "params": [ - { - "name": "clusterId", - "optional": false, - "type": "StringKeyword", - "typeName": null - }, - { - "name": "nodePool", - "optional": false, - "type": "TypeReference", - "typeName": "ClusterNodePool" - } - ] - } - ], - "serviceName": "Kubernetes" + "className": "Kubernetes", + "functions": [ + { + "functionName": "listClusters", + "SDKFunctionName": "getClusters", + "params": [ + { + "name": "includeAll", + "optional": true, + "type": "BooleanKeyword", + "typeName": null + }, + { + "name": "page", + "optional": true, + "type": "NumberKeyword", + "typeName": null + }, + { + "name": "pageSize", + "optional": true, + "type": "NumberKeyword", + "typeName": null + } + ] + }, + { + "functionName": "create", + "SDKFunctionName": "create", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference", + "typeName": "NewClusterRequest" + } + ] + }, + { + "functionName": "delete", + "SDKFunctionName": "delete", + "params": [ + { + "name": "clusterId", + "optional": false, + "type": "StringKeyword", + "typeName": null + } + ] + }, + { + "functionName": "listNodegroups", + "SDKFunctionName": "getNodePools", + "params": [ + { + "name": "clusterId", + "optional": false, + "type": "StringKeyword", + "typeName": null + }, + { + "name": "includeAll", + "optional": true, + "type": "BooleanKeyword", + "typeName": null + }, + { + "name": "page", + "optional": true, + "type": "NumberKeyword", + "typeName": null + }, + { + "name": "pageSize", + "optional": true, + "type": "NumberKeyword", + "typeName": null + } + ] + }, + { + "functionName": "createNodeGroup", + "SDKFunctionName": "addNodePool", + "params": [ + { + "name": "clusterId", + "optional": false, + "type": "StringKeyword", + "typeName": null + }, + { + "name": "nodePool", + "optional": false, + "type": "TypeReference", + "typeName": "ClusterNodePool" + } + ] + } + ], + "serviceName": "Kubernetes" } diff --git a/generator/test/transformers/do/dummyData/invalidDataset_2/data.json b/generator/test/transformers/do/dummyData/invalidDataset_2/data.json index 4cfbb29e..ab217e60 100644 --- a/generator/test/transformers/do/dummyData/invalidDataset_2/data.json +++ b/generator/test/transformers/do/dummyData/invalidDataset_2/data.json @@ -1,15 +1,15 @@ { - "functions": [ - { - "SDKFunctionName": "getClusters", - "params": [ - { - "name": "includeAll", - "optional": false, - "type": "TypeReference", - "invalid": true - } - ] - } - ] + "functions": [ + { + "SDKFunctionName": "getClusters", + "params": [ + { + "name": "includeAll", + "optional": false, + "type": "TypeReference", + "invalid": true + } + ] + } + ] } diff --git a/generator/test/transformers/do/dummyData/validDataset/data.json b/generator/test/transformers/do/dummyData/validDataset/data.json index d1c95b66..3ffb12f3 100644 --- a/generator/test/transformers/do/dummyData/validDataset/data.json +++ b/generator/test/transformers/do/dummyData/validDataset/data.json @@ -1,102 +1,102 @@ { - "className": "Kubernetes", - "functions": [ - { - "functionName": "listClusters", - "SDKFunctionName": "getClusters", - "params": [ - { - "name": "includeAll", - "optional": true, - "type": "BooleanKeyword", - "typeName": null - }, - { - "name": "page", - "optional": true, - "type": "NumberKeyword", - "typeName": null - }, - { - "name": "pageSize", - "optional": true, - "type": "NumberKeyword", - "typeName": null - } - ] - }, - { - "functionName": "create", - "SDKFunctionName": "create", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference", - "typeName": "NewClusterRequest" - } - ] - }, - { - "functionName": "delete", - "SDKFunctionName": "delete", - "params": [ - { - "name": "clusterId", - "optional": false, - "type": "StringKeyword", - "typeName": null - } - ] - }, - { - "functionName": "listNodegroups", - "SDKFunctionName": "getNodePools", - "params": [ - { - "name": "clusterId", - "optional": false, - "type": "StringKeyword", - "typeName": null - }, - { - "name": "includeAll", - "optional": true, - "type": "BooleanKeyword", - "typeName": null - }, - { - "name": "page", - "optional": true, - "type": "NumberKeyword", - "typeName": null - }, - { - "name": "pageSize", - "optional": true, - "type": "NumberKeyword", - "typeName": null - } - ] - }, - { - "functionName": "createNodeGroup", - "SDKFunctionName": "addNodePool", - "params": [ - { - "name": "clusterId", - "optional": false, - "type": "StringKeyword", - "typeName": null - }, - { - "name": "nodePool", - "optional": false, - "type": "TypeReference", - "typeName": "ClusterNodePool" - } - ] - } - ], - "serviceName": "Kubernetes" + "className": "Kubernetes", + "functions": [ + { + "functionName": "listClusters", + "SDKFunctionName": "getClusters", + "params": [ + { + "name": "includeAll", + "optional": true, + "type": "BooleanKeyword", + "typeName": null + }, + { + "name": "page", + "optional": true, + "type": "NumberKeyword", + "typeName": null + }, + { + "name": "pageSize", + "optional": true, + "type": "NumberKeyword", + "typeName": null + } + ] + }, + { + "functionName": "create", + "SDKFunctionName": "create", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference", + "typeName": "NewClusterRequest" + } + ] + }, + { + "functionName": "delete", + "SDKFunctionName": "delete", + "params": [ + { + "name": "clusterId", + "optional": false, + "type": "StringKeyword", + "typeName": null + } + ] + }, + { + "functionName": "listNodegroups", + "SDKFunctionName": "getNodePools", + "params": [ + { + "name": "clusterId", + "optional": false, + "type": "StringKeyword", + "typeName": null + }, + { + "name": "includeAll", + "optional": true, + "type": "BooleanKeyword", + "typeName": null + }, + { + "name": "page", + "optional": true, + "type": "NumberKeyword", + "typeName": null + }, + { + "name": "pageSize", + "optional": true, + "type": "NumberKeyword", + "typeName": null + } + ] + }, + { + "functionName": "createNodeGroup", + "SDKFunctionName": "addNodePool", + "params": [ + { + "name": "clusterId", + "optional": false, + "type": "StringKeyword", + "typeName": null + }, + { + "name": "nodePool", + "optional": false, + "type": "TypeReference", + "typeName": "ClusterNodePool" + } + ] + } + ], + "serviceName": "Kubernetes" } diff --git a/generator/test/transformers/do/transformer.test.ts b/generator/test/transformers/do/transformer.test.ts index c4bb5359..5089e178 100644 --- a/generator/test/transformers/do/transformer.test.ts +++ b/generator/test/transformers/do/transformer.test.ts @@ -5,67 +5,67 @@ import { transform } from '../../../transformers/do/transformer'; import { readJsonData, readSourceFile } from '../lib/helper'; interface TestData { - AST: any; - data: any; + AST: any; + data: any; } describe('Digital Ocean transformer transform', () => { - context('Valid source code and valid data', () => { - const testData: TestData = { AST: null, data: null }; - before(async () => { - testData.AST = await readSourceFile('validDataset', 'do'); - testData.data = await readJsonData('validDataset', 'do'); - }); + context('Valid source code and valid data', () => { + const testData: TestData = { AST: null, data: null }; + before(async () => { + testData.AST = await readSourceFile('validDataset', 'do'); + testData.data = await readJsonData('validDataset', 'do'); + }); - it('Should return a String', async () => { - const result = await transform(testData.AST, testData.data); - expect(result).to.be.string; - }); + it('Should return a String', async () => { + const result = await transform(testData.AST, testData.data); + expect(result).to.be.string; + }); - it('Should return a Javascript code in String format', async () => { - const result = await transform(testData.AST, testData.data); - try { - const sourceCode = createSourceFile( - 'someClass.js', - result, - ScriptTarget.Latest - ); - expect(isSourceFile(sourceCode)).to.be.true; - } catch (error) { - console.log(error); - } - }); - }); + it('Should return a Javascript code in String format', async () => { + const result = await transform(testData.AST, testData.data); + try { + const sourceCode = createSourceFile( + 'someClass.js', + result, + ScriptTarget.Latest + ); + expect(isSourceFile(sourceCode)).to.be.true; + } catch (error) { + console.log(error); + } + }); + }); - context('Invalid source code and valid data', () => { - const testData: TestData = { AST: null, data: null }; - before(async () => { - testData.AST = await readSourceFile('invalidDataset_1', 'do'); - testData.data = await readJsonData('invalidDataset_1', 'do'); - }); + context('Invalid source code and valid data', () => { + const testData: TestData = { AST: null, data: null }; + before(async () => { + testData.AST = await readSourceFile('invalidDataset_1', 'do'); + testData.data = await readJsonData('invalidDataset_1', 'do'); + }); - it('Should return a validation Error', async () => { - try { - await transform(testData.AST, testData.data); - } catch (error) { - expect(error.message).to.eql('Code is invalid'); - } - }); - }); + it('Should return a validation Error', async () => { + try { + await transform(testData.AST, testData.data); + } catch (error) { + expect(error.message).to.eql('Code is invalid'); + } + }); + }); - context('Valid source code and invalid data', () => { - const testData: TestData = { AST: null, data: null }; - before(async () => { - testData.AST = await readSourceFile('invalidDataset_2', 'do'); - testData.data = await readJsonData('invalidDataset_2', 'do'); - }); + context('Valid source code and invalid data', () => { + const testData: TestData = { AST: null, data: null }; + before(async () => { + testData.AST = await readSourceFile('invalidDataset_2', 'do'); + testData.data = await readJsonData('invalidDataset_2', 'do'); + }); - it('Should return a validation Error', async () => { - try { - await transform(testData.AST, testData.data); - } catch (error) { - expect(error.message).to.eql('Input is invalid'); - } - }); - }); + it('Should return a validation Error', async () => { + try { + await transform(testData.AST, testData.data); + } catch (error) { + expect(error.message).to.eql('Input is invalid'); + } + }); + }); }); diff --git a/generator/test/transformers/googleCloud/classBasedTransformer.test.ts b/generator/test/transformers/googleCloud/classBasedTransformer.test.ts index d5b04fea..e5c6a164 100644 --- a/generator/test/transformers/googleCloud/classBasedTransformer.test.ts +++ b/generator/test/transformers/googleCloud/classBasedTransformer.test.ts @@ -5,91 +5,85 @@ import { classBasedTransform } from '../../../transformers/googleCloud/classBase import { readJsonData, readSourceFile } from '../lib/helper'; interface TestData { - AST: any; - data: any; + AST: any; + data: any; } describe('Google Cloud transformer classBasedTransform', () => { - context('Valid source code and valid data', () => { - const testData: TestData = { AST: null, data: null }; - before(async () => { - testData.AST = await readSourceFile( - 'classBasedTransformer/validDataset', - 'googleCloud' - ); - testData.data = await readJsonData( - 'classBasedTransformer/validDataset', - 'googleCloud' - ); - }); + context('Valid source code and valid data', () => { + const testData: TestData = { AST: null, data: null }; + before(async () => { + testData.AST = await readSourceFile( + 'classBasedTransformer/validDataset', + 'googleCloud' + ); + testData.data = await readJsonData( + 'classBasedTransformer/validDataset', + 'googleCloud' + ); + }); - it('Should return a String', async () => { - const result = await classBasedTransform( - testData.AST, - testData.data - ); - expect(result).to.be.string; - }); + it('Should return a String', async () => { + const result = await classBasedTransform(testData.AST, testData.data); + expect(result).to.be.string; + }); - it('Should return a Javascript code in String format', async () => { - const result = await classBasedTransform( - testData.AST, - testData.data - ); - try { - const sourceCode = createSourceFile( - 'someClass.js', - result, - ScriptTarget.Latest - ); - expect(isSourceFile(sourceCode)).to.be.true; - } catch (error) { - console.log(error); - } - }); - }); + it('Should return a Javascript code in String format', async () => { + const result = await classBasedTransform(testData.AST, testData.data); + try { + const sourceCode = createSourceFile( + 'someClass.js', + result, + ScriptTarget.Latest + ); + expect(isSourceFile(sourceCode)).to.be.true; + } catch (error) { + console.log(error); + } + }); + }); - context('Invalid source code and valid data', () => { - const testData: TestData = { AST: null, data: null }; - before(async () => { - testData.AST = await readSourceFile( - 'classBasedTransformer/invalidDataset_1', - 'googleCloud' - ); - testData.data = await readJsonData( - 'classBasedTransformer/invalidDataset_1', - 'googleCloud' - ); - }); + context('Invalid source code and valid data', () => { + const testData: TestData = { AST: null, data: null }; + before(async () => { + testData.AST = await readSourceFile( + 'classBasedTransformer/invalidDataset_1', + 'googleCloud' + ); + testData.data = await readJsonData( + 'classBasedTransformer/invalidDataset_1', + 'googleCloud' + ); + }); - it('Should return a validation Error', async () => { - try { - await classBasedTransform(testData.AST, testData.data); - } catch (error) { - expect(error.message).to.eql('Code is invalid'); - } - }); - }); + it('Should return a validation Error', async () => { + try { + await classBasedTransform(testData.AST, testData.data); + } catch (error) { + expect(error.message).to.eql('Code is invalid'); + } + }); + }); - context('Valid source code and invalid data', async () => { - const testData: TestData = { AST: null, data: null }; - before(async () => { - testData.AST = await readSourceFile( - 'classBasedTransformer/invalidDataset_2', - 'googleCloud' - ); - testData.data = await readJsonData( - 'classBasedTransformer/invalidDataset_2', - 'googleCloud' - ); - }); + context('Valid source code and invalid data', async () => { + const testData: TestData = { AST: null, data: null }; + before(async () => { + testData.AST = await readSourceFile( + 'classBasedTransformer/invalidDataset_2', + 'googleCloud' + ); + testData.data = await readJsonData( + 'classBasedTransformer/invalidDataset_2', + 'googleCloud' + ); + }); - it('Should return a validation Error', async () => { - try { - await classBasedTransform(testData.AST, testData.data); - } catch (error) { - expect(error.message).to.eql('Input is invalid'); - } - }); - }); + it('Should return a validation Error', async () => { + try { + await classBasedTransform(testData.AST, testData.data); + } catch (error) { + expect(error.message).to.eql('Input is invalid'); + } + }); + }); }); diff --git a/generator/test/transformers/googleCloud/clientBasedTransformer.test.ts b/generator/test/transformers/googleCloud/clientBasedTransformer.test.ts index fb3a0e5f..31e203bd 100644 --- a/generator/test/transformers/googleCloud/clientBasedTransformer.test.ts +++ b/generator/test/transformers/googleCloud/clientBasedTransformer.test.ts @@ -5,91 +5,85 @@ import { clientBasedTransform } from '../../../transformers/googleCloud/clientBa import { readJsonData, readSourceFile } from '../lib/helper'; interface TestData { - AST: any; - data: any; + AST: any; + data: any; } describe('Google Cloud transformer clientBasedTransform', () => { - context('Valid source code and valid data', () => { - const testData: TestData = { AST: null, data: null }; - before(async () => { - testData.AST = await readSourceFile( - 'clientBasedTransformer/validDataset', - 'googleCloud' - ); - testData.data = await readJsonData( - 'clientBasedTransformer/validDataset', - 'googleCloud' - ); - }); + context('Valid source code and valid data', () => { + const testData: TestData = { AST: null, data: null }; + before(async () => { + testData.AST = await readSourceFile( + 'clientBasedTransformer/validDataset', + 'googleCloud' + ); + testData.data = await readJsonData( + 'clientBasedTransformer/validDataset', + 'googleCloud' + ); + }); - it('Should return a String', async () => { - const result = await clientBasedTransform( - testData.AST, - testData.data - ); - expect(result).to.be.string; - }); + it('Should return a String', async () => { + const result = await clientBasedTransform(testData.AST, testData.data); + expect(result).to.be.string; + }); - it('Should return a Javascript code in String format', async () => { - const result = await clientBasedTransform( - testData.AST, - testData.data - ); - try { - const sourceCode = createSourceFile( - 'someClass.js', - result, - ScriptTarget.Latest - ); - expect(isSourceFile(sourceCode)).to.be.true; - } catch (error) { - console.log(error); - } - }); - }); + it('Should return a Javascript code in String format', async () => { + const result = await clientBasedTransform(testData.AST, testData.data); + try { + const sourceCode = createSourceFile( + 'someClass.js', + result, + ScriptTarget.Latest + ); + expect(isSourceFile(sourceCode)).to.be.true; + } catch (error) { + console.log(error); + } + }); + }); - context('Invalid source code and valid data', () => { - const testData: TestData = { AST: null, data: null }; - before(async () => { - testData.AST = await readSourceFile( - 'clientBasedTransformer/invalidDataset_1', - 'googleCloud' - ); - testData.data = await readJsonData( - 'clientBasedTransformer/invalidDataset_1', - 'googleCloud' - ); - }); + context('Invalid source code and valid data', () => { + const testData: TestData = { AST: null, data: null }; + before(async () => { + testData.AST = await readSourceFile( + 'clientBasedTransformer/invalidDataset_1', + 'googleCloud' + ); + testData.data = await readJsonData( + 'clientBasedTransformer/invalidDataset_1', + 'googleCloud' + ); + }); - it('Should return a validation Error', async () => { - try { - await clientBasedTransform(testData.AST, testData.data); - } catch (error) { - expect(error.message).to.eql('Code is invalid'); - } - }); - }); + it('Should return a validation Error', async () => { + try { + await clientBasedTransform(testData.AST, testData.data); + } catch (error) { + expect(error.message).to.eql('Code is invalid'); + } + }); + }); - context('Valid source code and invalid data', () => { - const testData: TestData = { AST: null, data: null }; - before(async () => { - testData.AST = await readSourceFile( - 'clientBasedTransformer/invalidDataset_2', - 'googleCloud' - ); - testData.data = await readJsonData( - 'clientBasedTransformer/invalidDataset_2', - 'googleCloud' - ); - }); + context('Valid source code and invalid data', () => { + const testData: TestData = { AST: null, data: null }; + before(async () => { + testData.AST = await readSourceFile( + 'clientBasedTransformer/invalidDataset_2', + 'googleCloud' + ); + testData.data = await readJsonData( + 'clientBasedTransformer/invalidDataset_2', + 'googleCloud' + ); + }); - it('Should return a validation Error', async () => { - try { - await clientBasedTransform(testData.AST, testData.data); - } catch (error) { - expect(error.message).to.eql('Input is invalid'); - } - }); - }); + it('Should return a validation Error', async () => { + try { + await clientBasedTransform(testData.AST, testData.data); + } catch (error) { + expect(error.message).to.eql('Input is invalid'); + } + }); + }); }); diff --git a/generator/test/transformers/googleCloud/dummyData/classBasedTransformer/invalidDataset_1/data.json b/generator/test/transformers/googleCloud/dummyData/classBasedTransformer/invalidDataset_1/data.json index efe53f9e..867b34a9 100644 --- a/generator/test/transformers/googleCloud/dummyData/classBasedTransformer/invalidDataset_1/data.json +++ b/generator/test/transformers/googleCloud/dummyData/classBasedTransformer/invalidDataset_1/data.json @@ -1,3997 +1,3997 @@ { - "mainClass": "Storage", - "functions": [ - { - "functionName": "makePublic", - "SDKFunctionName": "makePublic", - "params": [], - "pkgName": "storage", - "fileName": "file.d.ts", - "client": "File", - "returnType": "TypeReference", - "returnTypeName": "Promise", - "classConstructorData": { - "parameters": [ - { - "name": "bucket", - "optional": false, - "type": "TypeReference", - "typeRefName": "Bucket" - }, - { - "name": "name", - "optional": false, - "type": "StringKeyword", - "typeRefName": null - }, - { - "name": "options", - "optional": true, - "type": "TypeReference", - "typeRefName": "FileOptions" - } - ] - } - } - ], - "classData": [ - { - "name": "AclRoleAccessorMethods", - "methods": [ - { - "pkgName": "storage", - "version": null, - "fileName": "acl.d.ts", - "functionName": null, - "SDKFunctionName": "_assignAccessMethods", - "params": [ - { - "name": "role", - "optional": false, - "type": "StringKeyword" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "AclRoleAccessorMethods" - } - ], - "properties": [ - { - "name": "owners", - "type": "TypeLiteral", - "typeRefName": null - }, - { - "name": "readers", - "type": "TypeLiteral", - "typeRefName": null - }, - { - "name": "writers", - "type": "TypeLiteral", - "typeRefName": null - } - ], - "constructor": { - "parameters": [] - } - }, - { - "name": "Acl", - "methods": [ - { - "pkgName": "storage", - "version": null, - "fileName": "acl.d.ts", - "functionName": null, - "SDKFunctionName": "add", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Acl" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "acl.d.ts", - "functionName": null, - "SDKFunctionName": "add", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Acl" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "acl.d.ts", - "functionName": null, - "SDKFunctionName": "delete", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Acl" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "acl.d.ts", - "functionName": null, - "SDKFunctionName": "delete", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Acl" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "acl.d.ts", - "functionName": null, - "SDKFunctionName": "get", - "params": [ - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Acl" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "acl.d.ts", - "functionName": null, - "SDKFunctionName": "get", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Acl" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "acl.d.ts", - "functionName": null, - "SDKFunctionName": "get", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Acl" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "acl.d.ts", - "functionName": null, - "SDKFunctionName": "update", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Acl" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "acl.d.ts", - "functionName": null, - "SDKFunctionName": "update", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Acl" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "acl.d.ts", - "functionName": null, - "SDKFunctionName": "makeAclObject_", - "params": [ - { - "name": "accessControlObject", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "AccessControlObject", - "client": "Acl" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "acl.d.ts", - "functionName": null, - "SDKFunctionName": "request", - "params": [ - { - "name": "reqOpts", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Acl" - } - ], - "properties": [ - { - "name": "default", - "type": "TypeReference", - "typeRefName": "Acl" - }, - { - "name": "pathPrefix", - "type": "StringKeyword", - "typeRefName": null - }, - { - "name": "request_", - "type": "FunctionType", - "typeRefName": null - } - ], - "constructor": { - "parameters": [ - { - "name": "options", - "optional": false, - "type": "TypeReference", - "typeRefName": "AclOptions" - } - ] - } - }, - { - "name": "Bucket", - "methods": [ - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "addLifecycleRule", - "params": [ - { - "name": "rule", - "optional": false, - "type": "TypeReference" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "addLifecycleRule", - "params": [ - { - "name": "rule", - "optional": false, - "type": "TypeReference" - }, - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "addLifecycleRule", - "params": [ - { - "name": "rule", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "combine", - "params": [ - { - "name": "sources", - "optional": false, - "type": "UnionType" - }, - { - "name": "destination", - "optional": false, - "type": "UnionType" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "combine", - "params": [ - { - "name": "sources", - "optional": false, - "type": "UnionType" - }, - { - "name": "destination", - "optional": false, - "type": "UnionType" - }, - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "combine", - "params": [ - { - "name": "sources", - "optional": false, - "type": "UnionType" - }, - { - "name": "destination", - "optional": false, - "type": "UnionType" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "createChannel", - "params": [ - { - "name": "id", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "config", - "optional": false, - "type": "TypeReference" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "createChannel", - "params": [ - { - "name": "id", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "config", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "createChannel", - "params": [ - { - "name": "id", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "config", - "optional": false, - "type": "TypeReference" - }, - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "createNotification", - "params": [ - { - "name": "topic", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "createNotification", - "params": [ - { - "name": "topic", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "createNotification", - "params": [ - { - "name": "topic", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "deleteFiles", - "params": [ - { - "name": "query", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "deleteFiles", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "deleteFiles", - "params": [ - { - "name": "query", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "deleteLabels", - "params": [ - { - "name": "labels", - "optional": true, - "type": "UnionType" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "deleteLabels", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "deleteLabels", - "params": [ - { - "name": "labels", - "optional": false, - "type": "UnionType" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "disableRequesterPays", - "params": [], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "disableRequesterPays", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "enableLogging", - "params": [ - { - "name": "config", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "enableLogging", - "params": [ - { - "name": "config", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "enableRequesterPays", - "params": [], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "enableRequesterPays", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "file", - "params": [ - { - "name": "name", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "File", - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "getFiles", - "params": [ - { - "name": "query", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "getFiles", - "params": [ - { - "name": "query", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "getFiles", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "getLabels", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "getLabels", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "getLabels", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "getNotifications", - "params": [ - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "getNotifications", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "getNotifications", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "getSignedUrl", - "params": [ - { - "name": "cfg", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "getSignedUrl", - "params": [ - { - "name": "cfg", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "lock", - "params": [ - { - "name": "metageneration", - "optional": false, - "type": "UnionType" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "lock", - "params": [ - { - "name": "metageneration", - "optional": false, - "type": "UnionType" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "makePrivate", - "params": [ - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "makePrivate", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "makePrivate", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "makePublic", - "params": [ - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "makePublic", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "makePublic", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "notification", - "params": [ - { - "name": "id", - "optional": false, - "type": "StringKeyword" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Notification", - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "removeRetentionPeriod", - "params": [], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "removeRetentionPeriod", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "request", - "params": [ - { - "name": "reqOpts", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "request", - "params": [ - { - "name": "reqOpts", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "setLabels", - "params": [ - { - "name": "labels", - "optional": false, - "type": "TypeReference" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "setLabels", - "params": [ - { - "name": "labels", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "setLabels", - "params": [ - { - "name": "labels", - "optional": false, - "type": "TypeReference" - }, - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "setRetentionPeriod", - "params": [ - { - "name": "duration", - "optional": false, - "type": "NumberKeyword" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "setRetentionPeriod", - "params": [ - { - "name": "duration", - "optional": false, - "type": "NumberKeyword" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "setCorsConfiguration", - "params": [ - { - "name": "corsConfiguration", - "optional": false, - "type": "ArrayType" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "setCorsConfiguration", - "params": [ - { - "name": "corsConfiguration", - "optional": false, - "type": "ArrayType" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "setStorageClass", - "params": [ - { - "name": "storageClass", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "setStorageClass", - "params": [ - { - "name": "storageClass", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "setStorageClass", - "params": [ - { - "name": "storageClass", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "setUserProject", - "params": [ - { - "name": "userProject", - "optional": false, - "type": "StringKeyword" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "upload", - "params": [ - { - "name": "pathString", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "upload", - "params": [ - { - "name": "pathString", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "upload", - "params": [ - { - "name": "pathString", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "makeAllFilesPublicPrivate_", - "params": [ - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "makeAllFilesPublicPrivate_", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "makeAllFilesPublicPrivate_", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "getId", - "params": [], - "returnType": "StringKeyword", - "returnTypeName": null, - "client": "Bucket" - } - ], - "properties": [ - { - "name": "name", - "type": "StringKeyword", - "typeRefName": null - }, - { - "name": "storage", - "type": "TypeReference", - "typeRefName": "Storage" - }, - { - "name": "userProject", - "type": "StringKeyword", - "typeRefName": null - }, - { - "name": "acl", - "type": "TypeReference", - "typeRefName": "Acl" - }, - { - "name": "iam", - "type": "TypeReference", - "typeRefName": "Iam" - }, - { - "name": "getFilesStream", - "type": "TypeReference", - "typeRefName": "Function" - }, - { - "name": "signer", - "type": "TypeReference", - "typeRefName": "URLSigner" - } - ], - "constructor": { - "parameters": [ - { - "name": "storage", - "optional": false, - "type": "TypeReference", - "typeRefName": "Storage" - }, - { - "name": "name", - "optional": false, - "type": "StringKeyword", - "typeRefName": null - }, - { - "name": "options", - "optional": true, - "type": "TypeReference", - "typeRefName": "BucketOptions" - } - ] - } - }, - { - "name": "Channel", - "methods": [ - { - "pkgName": "storage", - "version": null, - "fileName": "channel.d.ts", - "functionName": null, - "SDKFunctionName": "stop", - "params": [], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Channel" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "channel.d.ts", - "functionName": null, - "SDKFunctionName": "stop", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Channel" - } - ], - "properties": [], - "constructor": { - "parameters": [ - { - "name": "storage", - "optional": false, - "type": "TypeReference", - "typeRefName": "Storage" - }, - { - "name": "id", - "optional": false, - "type": "StringKeyword", - "typeRefName": null - }, - { - "name": "resourceId", - "optional": false, - "type": "StringKeyword", - "typeRefName": null - } - ] - } - }, - { - "name": "RequestError", - "methods": [], - "properties": [ - { - "name": "code", - "type": "StringKeyword", - "typeRefName": null - }, - { - "name": "errors", - "type": "ArrayType", - "typeRefName": null - } - ], - "constructor": null - }, - { - "name": "File", - "methods": [ - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "copy", - "params": [ - { - "name": "destination", - "optional": false, - "type": "UnionType" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "copy", - "params": [ - { - "name": "destination", - "optional": false, - "type": "UnionType" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "copy", - "params": [ - { - "name": "destination", - "optional": false, - "type": "UnionType" - }, - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "createReadStream", - "params": [ - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Readable", - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "createResumableUpload", - "params": [ - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "createResumableUpload", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "createResumableUpload", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "createWriteStream", - "params": [ - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Writable", - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "deleteResumableCache", - "params": [], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "download", - "params": [ - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "download", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "download", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "setEncryptionKey", - "params": [ - { - "name": "encryptionKey", - "optional": false, - "type": "UnionType" - } - ], - "returnType": "ThisType", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "getExpirationDate", - "params": [], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "getExpirationDate", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "getSignedPolicy", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "getSignedPolicy", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "getSignedPolicy", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "generateSignedPostPolicyV2", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "generateSignedPostPolicyV2", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "generateSignedPostPolicyV2", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "generateSignedPostPolicyV4", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "generateSignedPostPolicyV4", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "generateSignedPostPolicyV4", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "getSignedUrl", - "params": [ - { - "name": "cfg", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "getSignedUrl", - "params": [ - { - "name": "cfg", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "isPublic", - "params": [], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "isPublic", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "makePrivate", - "params": [ - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "makePrivate", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "makePrivate", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": "makePublic", - "SDKFunctionName": "makePublic", - "params": [], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "File", - "classConstructorData": { - "parameters": [ - { - "name": "bucket", - "optional": false, - "type": "TypeReference", - "typeRefName": "Bucket" - }, - { - "name": "name", - "optional": false, - "type": "StringKeyword", - "typeRefName": null - }, - { - "name": "options", - "optional": true, - "type": "TypeReference", - "typeRefName": "FileOptions" - } - ] - } - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": "makePublic", - "SDKFunctionName": "makePublic", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File", - "classConstructorData": { - "parameters": [ - { - "name": "bucket", - "optional": false, - "type": "TypeReference", - "typeRefName": "Bucket" - }, - { - "name": "name", - "optional": false, - "type": "StringKeyword", - "typeRefName": null - }, - { - "name": "options", - "optional": true, - "type": "TypeReference", - "typeRefName": "FileOptions" - } - ] - } - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "move", - "params": [ - { - "name": "destination", - "optional": false, - "type": "UnionType" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "move", - "params": [ - { - "name": "destination", - "optional": false, - "type": "UnionType" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "move", - "params": [ - { - "name": "destination", - "optional": false, - "type": "UnionType" - }, - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "request", - "params": [ - { - "name": "reqOpts", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "request", - "params": [ - { - "name": "reqOpts", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "rotateEncryptionKey", - "params": [ - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "rotateEncryptionKey", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "rotateEncryptionKey", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "save", - "params": [ - { - "name": "data", - "optional": false, - "type": "AnyKeyword" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "save", - "params": [ - { - "name": "data", - "optional": false, - "type": "AnyKeyword" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "save", - "params": [ - { - "name": "data", - "optional": false, - "type": "AnyKeyword" - }, - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "setStorageClass", - "params": [ - { - "name": "storageClass", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "setStorageClass", - "params": [ - { - "name": "storageClass", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "setStorageClass", - "params": [ - { - "name": "storageClass", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "callback", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "setUserProject", - "params": [ - { - "name": "userProject", - "optional": false, - "type": "StringKeyword" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "startResumableUpload_", - "params": [ - { - "name": "dup", - "optional": false, - "type": "TypeReference" - }, - { - "name": "options", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "startSimpleUpload_", - "params": [ - { - "name": "dup", - "optional": false, - "type": "TypeReference" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - } - ], - "properties": [ - { - "name": "acl", - "type": "TypeReference", - "typeRefName": "Acl" - }, - { - "name": "bucket", - "type": "TypeReference", - "typeRefName": "Bucket" - }, - { - "name": "storage", - "type": "TypeReference", - "typeRefName": "Storage" - }, - { - "name": "kmsKeyName", - "type": "StringKeyword", - "typeRefName": null - }, - { - "name": "userProject", - "type": "StringKeyword", - "typeRefName": null - }, - { - "name": "signer", - "type": "TypeReference", - "typeRefName": "URLSigner" - }, - { - "name": "name", - "type": "StringKeyword", - "typeRefName": null - }, - { - "name": "generation", - "type": "NumberKeyword", - "typeRefName": null - }, - { - "name": "parent", - "type": "TypeReference", - "typeRefName": "Bucket" - } - ], - "constructor": { - "parameters": [ - { - "name": "bucket", - "optional": false, - "type": "TypeReference", - "typeRefName": "Bucket" - }, - { - "name": "name", - "optional": false, - "type": "StringKeyword", - "typeRefName": null - }, - { - "name": "options", - "optional": true, - "type": "TypeReference", - "typeRefName": "FileOptions" - } - ] - } - }, - { - "name": "HmacKey", - "methods": [], - "properties": [ - { - "name": "metadata", - "type": "UnionType", - "typeRefName": null - } - ], - "constructor": { - "parameters": [ - { - "name": "storage", - "optional": false, - "type": "TypeReference", - "typeRefName": "Storage" - }, - { - "name": "accessId", - "optional": false, - "type": "StringKeyword", - "typeRefName": null - }, - { - "name": "options", - "optional": true, - "type": "TypeReference", - "typeRefName": "HmacKeyOptions" - } - ] - } - }, - { - "name": "Iam", - "methods": [ - { - "pkgName": "storage", - "version": null, - "fileName": "iam.d.ts", - "functionName": null, - "SDKFunctionName": "getPolicy", - "params": [ - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Iam" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "iam.d.ts", - "functionName": null, - "SDKFunctionName": "getPolicy", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Iam" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "iam.d.ts", - "functionName": null, - "SDKFunctionName": "getPolicy", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Iam" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "iam.d.ts", - "functionName": null, - "SDKFunctionName": "setPolicy", - "params": [ - { - "name": "policy", - "optional": false, - "type": "TypeReference" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Iam" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "iam.d.ts", - "functionName": null, - "SDKFunctionName": "setPolicy", - "params": [ - { - "name": "policy", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Iam" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "iam.d.ts", - "functionName": null, - "SDKFunctionName": "setPolicy", - "params": [ - { - "name": "policy", - "optional": false, - "type": "TypeReference" - }, - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Iam" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "iam.d.ts", - "functionName": null, - "SDKFunctionName": "testPermissions", - "params": [ - { - "name": "permissions", - "optional": false, - "type": "UnionType" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Iam" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "iam.d.ts", - "functionName": null, - "SDKFunctionName": "testPermissions", - "params": [ - { - "name": "permissions", - "optional": false, - "type": "UnionType" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Iam" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "iam.d.ts", - "functionName": null, - "SDKFunctionName": "testPermissions", - "params": [ - { - "name": "permissions", - "optional": false, - "type": "UnionType" - }, - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Iam" - } - ], - "properties": [], - "constructor": { - "parameters": [ - { - "name": "bucket", - "optional": false, - "type": "TypeReference", - "typeRefName": "Bucket" - } - ] - } - }, - { - "name": "Notification", - "methods": [ - { - "pkgName": "storage", - "version": null, - "fileName": "notification.d.ts", - "functionName": null, - "SDKFunctionName": "delete", - "params": [ - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Notification" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "notification.d.ts", - "functionName": null, - "SDKFunctionName": "delete", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Notification" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "notification.d.ts", - "functionName": null, - "SDKFunctionName": "delete", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Notification" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "notification.d.ts", - "functionName": null, - "SDKFunctionName": "get", - "params": [ - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Notification" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "notification.d.ts", - "functionName": null, - "SDKFunctionName": "get", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Notification" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "notification.d.ts", - "functionName": null, - "SDKFunctionName": "get", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Notification" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "notification.d.ts", - "functionName": null, - "SDKFunctionName": "getMetadata", - "params": [ - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Notification" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "notification.d.ts", - "functionName": null, - "SDKFunctionName": "getMetadata", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Notification" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "notification.d.ts", - "functionName": null, - "SDKFunctionName": "getMetadata", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Notification" - } - ], - "properties": [], - "constructor": { - "parameters": [ - { - "name": "bucket", - "optional": false, - "type": "TypeReference", - "typeRefName": "Bucket" - }, - { - "name": "id", - "optional": false, - "type": "StringKeyword", - "typeRefName": null - } - ] - } - }, - { - "name": "URLSigner", - "methods": [ - { - "pkgName": "storage", - "version": null, - "fileName": "signer.d.ts", - "functionName": null, - "SDKFunctionName": "getSignedUrl", - "params": [ - { - "name": "cfg", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "URLSigner" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "signer.d.ts", - "functionName": null, - "SDKFunctionName": "getCanonicalHeaders", - "params": [ - { - "name": "headers", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "StringKeyword", - "returnTypeName": null, - "client": "URLSigner" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "signer.d.ts", - "functionName": null, - "SDKFunctionName": "getCanonicalRequest", - "params": [ - { - "name": "method", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "path", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "query", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "headers", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "signedHeaders", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "contentSha256", - "optional": true, - "type": "StringKeyword" - } - ], - "returnType": "StringKeyword", - "returnTypeName": null, - "client": "URLSigner" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "signer.d.ts", - "functionName": null, - "SDKFunctionName": "getCanonicalQueryParams", - "params": [ - { - "name": "query", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "StringKeyword", - "returnTypeName": null, - "client": "URLSigner" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "signer.d.ts", - "functionName": null, - "SDKFunctionName": "getResourcePath", - "params": [ - { - "name": "cname", - "optional": false, - "type": "BooleanKeyword" - }, - { - "name": "bucket", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "file", - "optional": true, - "type": "StringKeyword" - } - ], - "returnType": "StringKeyword", - "returnTypeName": null, - "client": "URLSigner" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "signer.d.ts", - "functionName": null, - "SDKFunctionName": "parseExpires", - "params": [ - { - "name": "expires", - "optional": false, - "type": "UnionType" - }, - { - "name": "current", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "NumberKeyword", - "returnTypeName": null, - "client": "URLSigner" - } - ], - "properties": [], - "constructor": { - "parameters": [ - { - "name": "authClient", - "optional": false, - "type": "TypeReference", - "typeRefName": "AuthClient" - }, - { - "name": "bucket", - "optional": false, - "type": "TypeReference", - "typeRefName": "BucketI" - }, - { - "name": "file", - "optional": true, - "type": "TypeReference", - "typeRefName": "FileI" - } - ] - } - }, - { - "name": "SigningError", - "methods": [], - "properties": [ - { - "name": "name", - "type": "StringKeyword", - "typeRefName": null - } - ], - "constructor": null - }, - { - "name": "Storage", - "methods": [ - { - "pkgName": "storage", - "version": null, - "fileName": "storage.d.ts", - "functionName": null, - "SDKFunctionName": "bucket", - "params": [ - { - "name": "name", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Bucket", - "client": "Storage" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "storage.d.ts", - "functionName": null, - "SDKFunctionName": "channel", - "params": [ - { - "name": "id", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "resourceId", - "optional": false, - "type": "StringKeyword" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Channel", - "client": "Storage" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "storage.d.ts", - "functionName": null, - "SDKFunctionName": "createBucket", - "params": [ - { - "name": "name", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "metadata", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Storage" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "storage.d.ts", - "functionName": null, - "SDKFunctionName": "createBucket", - "params": [ - { - "name": "name", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Storage" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "storage.d.ts", - "functionName": null, - "SDKFunctionName": "createBucket", - "params": [ - { - "name": "name", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "metadata", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Storage" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "storage.d.ts", - "functionName": null, - "SDKFunctionName": "createBucket", - "params": [ - { - "name": "name", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "metadata", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Storage" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "storage.d.ts", - "functionName": null, - "SDKFunctionName": "createHmacKey", - "params": [ - { - "name": "serviceAccountEmail", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Storage" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "storage.d.ts", - "functionName": null, - "SDKFunctionName": "createHmacKey", - "params": [ - { - "name": "serviceAccountEmail", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Storage" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "storage.d.ts", - "functionName": null, - "SDKFunctionName": "createHmacKey", - "params": [ - { - "name": "serviceAccountEmail", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Storage" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "storage.d.ts", - "functionName": null, - "SDKFunctionName": "getBuckets", - "params": [ - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Storage" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "storage.d.ts", - "functionName": null, - "SDKFunctionName": "getBuckets", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Storage" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "storage.d.ts", - "functionName": null, - "SDKFunctionName": "getBuckets", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Storage" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "storage.d.ts", - "functionName": null, - "SDKFunctionName": "getHmacKeys", - "params": [ - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Storage" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "storage.d.ts", - "functionName": null, - "SDKFunctionName": "getHmacKeys", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Storage" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "storage.d.ts", - "functionName": null, - "SDKFunctionName": "getHmacKeys", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Storage" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "storage.d.ts", - "functionName": null, - "SDKFunctionName": "getServiceAccount", - "params": [ - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Storage" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "storage.d.ts", - "functionName": null, - "SDKFunctionName": "getServiceAccount", - "params": [ - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Storage" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "storage.d.ts", - "functionName": null, - "SDKFunctionName": "getServiceAccount", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Storage" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "storage.d.ts", - "functionName": null, - "SDKFunctionName": "getServiceAccount", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Storage" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "storage.d.ts", - "functionName": null, - "SDKFunctionName": "hmacKey", - "params": [ - { - "name": "accessId", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "HmacKey", - "client": "Storage" - } - ], - "properties": [ - { - "name": "Bucket", - "type": "TypeQuery", - "typeRefName": null - }, - { - "name": "Channel", - "type": "TypeQuery", - "typeRefName": null - }, - { - "name": "File", - "type": "TypeQuery", - "typeRefName": null - }, - { - "name": "HmacKey", - "type": "TypeQuery", - "typeRefName": null - }, - { - "name": "acl", - "type": "TypeLiteral", - "typeRefName": null - }, - { - "name": "acl", - "type": "TypeQuery", - "typeRefName": null - }, - { - "name": "getBucketsStream", - "type": "FunctionType", - "typeRefName": null - }, - { - "name": "getHmacKeysStream", - "type": "FunctionType", - "typeRefName": null - } - ], - "constructor": { - "parameters": [ - { - "name": "options", - "optional": true, - "type": "TypeReference", - "typeRefName": "StorageOptions" - } - ] - } - } - ] + "mainClass": "Storage", + "functions": [ + { + "functionName": "makePublic", + "SDKFunctionName": "makePublic", + "params": [], + "pkgName": "storage", + "fileName": "file.d.ts", + "client": "File", + "returnType": "TypeReference", + "returnTypeName": "Promise", + "classConstructorData": { + "parameters": [ + { + "name": "bucket", + "optional": false, + "type": "TypeReference", + "typeRefName": "Bucket" + }, + { + "name": "name", + "optional": false, + "type": "StringKeyword", + "typeRefName": null + }, + { + "name": "options", + "optional": true, + "type": "TypeReference", + "typeRefName": "FileOptions" + } + ] + } + } + ], + "classData": [ + { + "name": "AclRoleAccessorMethods", + "methods": [ + { + "pkgName": "storage", + "version": null, + "fileName": "acl.d.ts", + "functionName": null, + "SDKFunctionName": "_assignAccessMethods", + "params": [ + { + "name": "role", + "optional": false, + "type": "StringKeyword" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "AclRoleAccessorMethods" + } + ], + "properties": [ + { + "name": "owners", + "type": "TypeLiteral", + "typeRefName": null + }, + { + "name": "readers", + "type": "TypeLiteral", + "typeRefName": null + }, + { + "name": "writers", + "type": "TypeLiteral", + "typeRefName": null + } + ], + "constructor": { + "parameters": [] + } + }, + { + "name": "Acl", + "methods": [ + { + "pkgName": "storage", + "version": null, + "fileName": "acl.d.ts", + "functionName": null, + "SDKFunctionName": "add", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Acl" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "acl.d.ts", + "functionName": null, + "SDKFunctionName": "add", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Acl" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "acl.d.ts", + "functionName": null, + "SDKFunctionName": "delete", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Acl" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "acl.d.ts", + "functionName": null, + "SDKFunctionName": "delete", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Acl" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "acl.d.ts", + "functionName": null, + "SDKFunctionName": "get", + "params": [ + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Acl" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "acl.d.ts", + "functionName": null, + "SDKFunctionName": "get", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Acl" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "acl.d.ts", + "functionName": null, + "SDKFunctionName": "get", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Acl" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "acl.d.ts", + "functionName": null, + "SDKFunctionName": "update", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Acl" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "acl.d.ts", + "functionName": null, + "SDKFunctionName": "update", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Acl" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "acl.d.ts", + "functionName": null, + "SDKFunctionName": "makeAclObject_", + "params": [ + { + "name": "accessControlObject", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "AccessControlObject", + "client": "Acl" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "acl.d.ts", + "functionName": null, + "SDKFunctionName": "request", + "params": [ + { + "name": "reqOpts", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Acl" + } + ], + "properties": [ + { + "name": "default", + "type": "TypeReference", + "typeRefName": "Acl" + }, + { + "name": "pathPrefix", + "type": "StringKeyword", + "typeRefName": null + }, + { + "name": "request_", + "type": "FunctionType", + "typeRefName": null + } + ], + "constructor": { + "parameters": [ + { + "name": "options", + "optional": false, + "type": "TypeReference", + "typeRefName": "AclOptions" + } + ] + } + }, + { + "name": "Bucket", + "methods": [ + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "addLifecycleRule", + "params": [ + { + "name": "rule", + "optional": false, + "type": "TypeReference" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "addLifecycleRule", + "params": [ + { + "name": "rule", + "optional": false, + "type": "TypeReference" + }, + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "addLifecycleRule", + "params": [ + { + "name": "rule", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "combine", + "params": [ + { + "name": "sources", + "optional": false, + "type": "UnionType" + }, + { + "name": "destination", + "optional": false, + "type": "UnionType" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "combine", + "params": [ + { + "name": "sources", + "optional": false, + "type": "UnionType" + }, + { + "name": "destination", + "optional": false, + "type": "UnionType" + }, + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "combine", + "params": [ + { + "name": "sources", + "optional": false, + "type": "UnionType" + }, + { + "name": "destination", + "optional": false, + "type": "UnionType" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "createChannel", + "params": [ + { + "name": "id", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "config", + "optional": false, + "type": "TypeReference" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "createChannel", + "params": [ + { + "name": "id", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "config", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "createChannel", + "params": [ + { + "name": "id", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "config", + "optional": false, + "type": "TypeReference" + }, + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "createNotification", + "params": [ + { + "name": "topic", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "createNotification", + "params": [ + { + "name": "topic", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "createNotification", + "params": [ + { + "name": "topic", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "deleteFiles", + "params": [ + { + "name": "query", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "deleteFiles", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "deleteFiles", + "params": [ + { + "name": "query", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "deleteLabels", + "params": [ + { + "name": "labels", + "optional": true, + "type": "UnionType" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "deleteLabels", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "deleteLabels", + "params": [ + { + "name": "labels", + "optional": false, + "type": "UnionType" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "disableRequesterPays", + "params": [], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "disableRequesterPays", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "enableLogging", + "params": [ + { + "name": "config", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "enableLogging", + "params": [ + { + "name": "config", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "enableRequesterPays", + "params": [], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "enableRequesterPays", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "file", + "params": [ + { + "name": "name", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "File", + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "getFiles", + "params": [ + { + "name": "query", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "getFiles", + "params": [ + { + "name": "query", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "getFiles", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "getLabels", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "getLabels", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "getLabels", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "getNotifications", + "params": [ + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "getNotifications", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "getNotifications", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "getSignedUrl", + "params": [ + { + "name": "cfg", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "getSignedUrl", + "params": [ + { + "name": "cfg", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "lock", + "params": [ + { + "name": "metageneration", + "optional": false, + "type": "UnionType" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "lock", + "params": [ + { + "name": "metageneration", + "optional": false, + "type": "UnionType" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "makePrivate", + "params": [ + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "makePrivate", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "makePrivate", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "makePublic", + "params": [ + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "makePublic", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "makePublic", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "notification", + "params": [ + { + "name": "id", + "optional": false, + "type": "StringKeyword" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Notification", + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "removeRetentionPeriod", + "params": [], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "removeRetentionPeriod", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "request", + "params": [ + { + "name": "reqOpts", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "request", + "params": [ + { + "name": "reqOpts", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "setLabels", + "params": [ + { + "name": "labels", + "optional": false, + "type": "TypeReference" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "setLabels", + "params": [ + { + "name": "labels", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "setLabels", + "params": [ + { + "name": "labels", + "optional": false, + "type": "TypeReference" + }, + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "setRetentionPeriod", + "params": [ + { + "name": "duration", + "optional": false, + "type": "NumberKeyword" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "setRetentionPeriod", + "params": [ + { + "name": "duration", + "optional": false, + "type": "NumberKeyword" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "setCorsConfiguration", + "params": [ + { + "name": "corsConfiguration", + "optional": false, + "type": "ArrayType" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "setCorsConfiguration", + "params": [ + { + "name": "corsConfiguration", + "optional": false, + "type": "ArrayType" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "setStorageClass", + "params": [ + { + "name": "storageClass", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "setStorageClass", + "params": [ + { + "name": "storageClass", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "setStorageClass", + "params": [ + { + "name": "storageClass", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "setUserProject", + "params": [ + { + "name": "userProject", + "optional": false, + "type": "StringKeyword" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "upload", + "params": [ + { + "name": "pathString", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "upload", + "params": [ + { + "name": "pathString", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "upload", + "params": [ + { + "name": "pathString", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "makeAllFilesPublicPrivate_", + "params": [ + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "makeAllFilesPublicPrivate_", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "makeAllFilesPublicPrivate_", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "getId", + "params": [], + "returnType": "StringKeyword", + "returnTypeName": null, + "client": "Bucket" + } + ], + "properties": [ + { + "name": "name", + "type": "StringKeyword", + "typeRefName": null + }, + { + "name": "storage", + "type": "TypeReference", + "typeRefName": "Storage" + }, + { + "name": "userProject", + "type": "StringKeyword", + "typeRefName": null + }, + { + "name": "acl", + "type": "TypeReference", + "typeRefName": "Acl" + }, + { + "name": "iam", + "type": "TypeReference", + "typeRefName": "Iam" + }, + { + "name": "getFilesStream", + "type": "TypeReference", + "typeRefName": "Function" + }, + { + "name": "signer", + "type": "TypeReference", + "typeRefName": "URLSigner" + } + ], + "constructor": { + "parameters": [ + { + "name": "storage", + "optional": false, + "type": "TypeReference", + "typeRefName": "Storage" + }, + { + "name": "name", + "optional": false, + "type": "StringKeyword", + "typeRefName": null + }, + { + "name": "options", + "optional": true, + "type": "TypeReference", + "typeRefName": "BucketOptions" + } + ] + } + }, + { + "name": "Channel", + "methods": [ + { + "pkgName": "storage", + "version": null, + "fileName": "channel.d.ts", + "functionName": null, + "SDKFunctionName": "stop", + "params": [], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Channel" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "channel.d.ts", + "functionName": null, + "SDKFunctionName": "stop", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Channel" + } + ], + "properties": [], + "constructor": { + "parameters": [ + { + "name": "storage", + "optional": false, + "type": "TypeReference", + "typeRefName": "Storage" + }, + { + "name": "id", + "optional": false, + "type": "StringKeyword", + "typeRefName": null + }, + { + "name": "resourceId", + "optional": false, + "type": "StringKeyword", + "typeRefName": null + } + ] + } + }, + { + "name": "RequestError", + "methods": [], + "properties": [ + { + "name": "code", + "type": "StringKeyword", + "typeRefName": null + }, + { + "name": "errors", + "type": "ArrayType", + "typeRefName": null + } + ], + "constructor": null + }, + { + "name": "File", + "methods": [ + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "copy", + "params": [ + { + "name": "destination", + "optional": false, + "type": "UnionType" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "copy", + "params": [ + { + "name": "destination", + "optional": false, + "type": "UnionType" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "copy", + "params": [ + { + "name": "destination", + "optional": false, + "type": "UnionType" + }, + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "createReadStream", + "params": [ + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Readable", + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "createResumableUpload", + "params": [ + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "createResumableUpload", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "createResumableUpload", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "createWriteStream", + "params": [ + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Writable", + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "deleteResumableCache", + "params": [], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "download", + "params": [ + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "download", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "download", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "setEncryptionKey", + "params": [ + { + "name": "encryptionKey", + "optional": false, + "type": "UnionType" + } + ], + "returnType": "ThisType", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "getExpirationDate", + "params": [], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "getExpirationDate", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "getSignedPolicy", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "getSignedPolicy", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "getSignedPolicy", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "generateSignedPostPolicyV2", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "generateSignedPostPolicyV2", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "generateSignedPostPolicyV2", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "generateSignedPostPolicyV4", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "generateSignedPostPolicyV4", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "generateSignedPostPolicyV4", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "getSignedUrl", + "params": [ + { + "name": "cfg", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "getSignedUrl", + "params": [ + { + "name": "cfg", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "isPublic", + "params": [], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "isPublic", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "makePrivate", + "params": [ + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "makePrivate", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "makePrivate", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": "makePublic", + "SDKFunctionName": "makePublic", + "params": [], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "File", + "classConstructorData": { + "parameters": [ + { + "name": "bucket", + "optional": false, + "type": "TypeReference", + "typeRefName": "Bucket" + }, + { + "name": "name", + "optional": false, + "type": "StringKeyword", + "typeRefName": null + }, + { + "name": "options", + "optional": true, + "type": "TypeReference", + "typeRefName": "FileOptions" + } + ] + } + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": "makePublic", + "SDKFunctionName": "makePublic", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File", + "classConstructorData": { + "parameters": [ + { + "name": "bucket", + "optional": false, + "type": "TypeReference", + "typeRefName": "Bucket" + }, + { + "name": "name", + "optional": false, + "type": "StringKeyword", + "typeRefName": null + }, + { + "name": "options", + "optional": true, + "type": "TypeReference", + "typeRefName": "FileOptions" + } + ] + } + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "move", + "params": [ + { + "name": "destination", + "optional": false, + "type": "UnionType" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "move", + "params": [ + { + "name": "destination", + "optional": false, + "type": "UnionType" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "move", + "params": [ + { + "name": "destination", + "optional": false, + "type": "UnionType" + }, + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "request", + "params": [ + { + "name": "reqOpts", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "request", + "params": [ + { + "name": "reqOpts", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "rotateEncryptionKey", + "params": [ + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "rotateEncryptionKey", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "rotateEncryptionKey", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "save", + "params": [ + { + "name": "data", + "optional": false, + "type": "AnyKeyword" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "save", + "params": [ + { + "name": "data", + "optional": false, + "type": "AnyKeyword" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "save", + "params": [ + { + "name": "data", + "optional": false, + "type": "AnyKeyword" + }, + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "setStorageClass", + "params": [ + { + "name": "storageClass", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "setStorageClass", + "params": [ + { + "name": "storageClass", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "setStorageClass", + "params": [ + { + "name": "storageClass", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "callback", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "setUserProject", + "params": [ + { + "name": "userProject", + "optional": false, + "type": "StringKeyword" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "startResumableUpload_", + "params": [ + { + "name": "dup", + "optional": false, + "type": "TypeReference" + }, + { + "name": "options", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "startSimpleUpload_", + "params": [ + { + "name": "dup", + "optional": false, + "type": "TypeReference" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + } + ], + "properties": [ + { + "name": "acl", + "type": "TypeReference", + "typeRefName": "Acl" + }, + { + "name": "bucket", + "type": "TypeReference", + "typeRefName": "Bucket" + }, + { + "name": "storage", + "type": "TypeReference", + "typeRefName": "Storage" + }, + { + "name": "kmsKeyName", + "type": "StringKeyword", + "typeRefName": null + }, + { + "name": "userProject", + "type": "StringKeyword", + "typeRefName": null + }, + { + "name": "signer", + "type": "TypeReference", + "typeRefName": "URLSigner" + }, + { + "name": "name", + "type": "StringKeyword", + "typeRefName": null + }, + { + "name": "generation", + "type": "NumberKeyword", + "typeRefName": null + }, + { + "name": "parent", + "type": "TypeReference", + "typeRefName": "Bucket" + } + ], + "constructor": { + "parameters": [ + { + "name": "bucket", + "optional": false, + "type": "TypeReference", + "typeRefName": "Bucket" + }, + { + "name": "name", + "optional": false, + "type": "StringKeyword", + "typeRefName": null + }, + { + "name": "options", + "optional": true, + "type": "TypeReference", + "typeRefName": "FileOptions" + } + ] + } + }, + { + "name": "HmacKey", + "methods": [], + "properties": [ + { + "name": "metadata", + "type": "UnionType", + "typeRefName": null + } + ], + "constructor": { + "parameters": [ + { + "name": "storage", + "optional": false, + "type": "TypeReference", + "typeRefName": "Storage" + }, + { + "name": "accessId", + "optional": false, + "type": "StringKeyword", + "typeRefName": null + }, + { + "name": "options", + "optional": true, + "type": "TypeReference", + "typeRefName": "HmacKeyOptions" + } + ] + } + }, + { + "name": "Iam", + "methods": [ + { + "pkgName": "storage", + "version": null, + "fileName": "iam.d.ts", + "functionName": null, + "SDKFunctionName": "getPolicy", + "params": [ + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Iam" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "iam.d.ts", + "functionName": null, + "SDKFunctionName": "getPolicy", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Iam" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "iam.d.ts", + "functionName": null, + "SDKFunctionName": "getPolicy", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Iam" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "iam.d.ts", + "functionName": null, + "SDKFunctionName": "setPolicy", + "params": [ + { + "name": "policy", + "optional": false, + "type": "TypeReference" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Iam" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "iam.d.ts", + "functionName": null, + "SDKFunctionName": "setPolicy", + "params": [ + { + "name": "policy", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Iam" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "iam.d.ts", + "functionName": null, + "SDKFunctionName": "setPolicy", + "params": [ + { + "name": "policy", + "optional": false, + "type": "TypeReference" + }, + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Iam" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "iam.d.ts", + "functionName": null, + "SDKFunctionName": "testPermissions", + "params": [ + { + "name": "permissions", + "optional": false, + "type": "UnionType" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Iam" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "iam.d.ts", + "functionName": null, + "SDKFunctionName": "testPermissions", + "params": [ + { + "name": "permissions", + "optional": false, + "type": "UnionType" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Iam" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "iam.d.ts", + "functionName": null, + "SDKFunctionName": "testPermissions", + "params": [ + { + "name": "permissions", + "optional": false, + "type": "UnionType" + }, + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Iam" + } + ], + "properties": [], + "constructor": { + "parameters": [ + { + "name": "bucket", + "optional": false, + "type": "TypeReference", + "typeRefName": "Bucket" + } + ] + } + }, + { + "name": "Notification", + "methods": [ + { + "pkgName": "storage", + "version": null, + "fileName": "notification.d.ts", + "functionName": null, + "SDKFunctionName": "delete", + "params": [ + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Notification" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "notification.d.ts", + "functionName": null, + "SDKFunctionName": "delete", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Notification" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "notification.d.ts", + "functionName": null, + "SDKFunctionName": "delete", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Notification" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "notification.d.ts", + "functionName": null, + "SDKFunctionName": "get", + "params": [ + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Notification" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "notification.d.ts", + "functionName": null, + "SDKFunctionName": "get", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Notification" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "notification.d.ts", + "functionName": null, + "SDKFunctionName": "get", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Notification" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "notification.d.ts", + "functionName": null, + "SDKFunctionName": "getMetadata", + "params": [ + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Notification" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "notification.d.ts", + "functionName": null, + "SDKFunctionName": "getMetadata", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Notification" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "notification.d.ts", + "functionName": null, + "SDKFunctionName": "getMetadata", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Notification" + } + ], + "properties": [], + "constructor": { + "parameters": [ + { + "name": "bucket", + "optional": false, + "type": "TypeReference", + "typeRefName": "Bucket" + }, + { + "name": "id", + "optional": false, + "type": "StringKeyword", + "typeRefName": null + } + ] + } + }, + { + "name": "URLSigner", + "methods": [ + { + "pkgName": "storage", + "version": null, + "fileName": "signer.d.ts", + "functionName": null, + "SDKFunctionName": "getSignedUrl", + "params": [ + { + "name": "cfg", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "URLSigner" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "signer.d.ts", + "functionName": null, + "SDKFunctionName": "getCanonicalHeaders", + "params": [ + { + "name": "headers", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "StringKeyword", + "returnTypeName": null, + "client": "URLSigner" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "signer.d.ts", + "functionName": null, + "SDKFunctionName": "getCanonicalRequest", + "params": [ + { + "name": "method", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "path", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "query", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "headers", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "signedHeaders", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "contentSha256", + "optional": true, + "type": "StringKeyword" + } + ], + "returnType": "StringKeyword", + "returnTypeName": null, + "client": "URLSigner" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "signer.d.ts", + "functionName": null, + "SDKFunctionName": "getCanonicalQueryParams", + "params": [ + { + "name": "query", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "StringKeyword", + "returnTypeName": null, + "client": "URLSigner" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "signer.d.ts", + "functionName": null, + "SDKFunctionName": "getResourcePath", + "params": [ + { + "name": "cname", + "optional": false, + "type": "BooleanKeyword" + }, + { + "name": "bucket", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "file", + "optional": true, + "type": "StringKeyword" + } + ], + "returnType": "StringKeyword", + "returnTypeName": null, + "client": "URLSigner" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "signer.d.ts", + "functionName": null, + "SDKFunctionName": "parseExpires", + "params": [ + { + "name": "expires", + "optional": false, + "type": "UnionType" + }, + { + "name": "current", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "NumberKeyword", + "returnTypeName": null, + "client": "URLSigner" + } + ], + "properties": [], + "constructor": { + "parameters": [ + { + "name": "authClient", + "optional": false, + "type": "TypeReference", + "typeRefName": "AuthClient" + }, + { + "name": "bucket", + "optional": false, + "type": "TypeReference", + "typeRefName": "BucketI" + }, + { + "name": "file", + "optional": true, + "type": "TypeReference", + "typeRefName": "FileI" + } + ] + } + }, + { + "name": "SigningError", + "methods": [], + "properties": [ + { + "name": "name", + "type": "StringKeyword", + "typeRefName": null + } + ], + "constructor": null + }, + { + "name": "Storage", + "methods": [ + { + "pkgName": "storage", + "version": null, + "fileName": "storage.d.ts", + "functionName": null, + "SDKFunctionName": "bucket", + "params": [ + { + "name": "name", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Bucket", + "client": "Storage" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "storage.d.ts", + "functionName": null, + "SDKFunctionName": "channel", + "params": [ + { + "name": "id", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "resourceId", + "optional": false, + "type": "StringKeyword" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Channel", + "client": "Storage" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "storage.d.ts", + "functionName": null, + "SDKFunctionName": "createBucket", + "params": [ + { + "name": "name", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "metadata", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Storage" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "storage.d.ts", + "functionName": null, + "SDKFunctionName": "createBucket", + "params": [ + { + "name": "name", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Storage" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "storage.d.ts", + "functionName": null, + "SDKFunctionName": "createBucket", + "params": [ + { + "name": "name", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "metadata", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Storage" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "storage.d.ts", + "functionName": null, + "SDKFunctionName": "createBucket", + "params": [ + { + "name": "name", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "metadata", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Storage" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "storage.d.ts", + "functionName": null, + "SDKFunctionName": "createHmacKey", + "params": [ + { + "name": "serviceAccountEmail", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Storage" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "storage.d.ts", + "functionName": null, + "SDKFunctionName": "createHmacKey", + "params": [ + { + "name": "serviceAccountEmail", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Storage" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "storage.d.ts", + "functionName": null, + "SDKFunctionName": "createHmacKey", + "params": [ + { + "name": "serviceAccountEmail", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Storage" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "storage.d.ts", + "functionName": null, + "SDKFunctionName": "getBuckets", + "params": [ + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Storage" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "storage.d.ts", + "functionName": null, + "SDKFunctionName": "getBuckets", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Storage" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "storage.d.ts", + "functionName": null, + "SDKFunctionName": "getBuckets", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Storage" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "storage.d.ts", + "functionName": null, + "SDKFunctionName": "getHmacKeys", + "params": [ + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Storage" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "storage.d.ts", + "functionName": null, + "SDKFunctionName": "getHmacKeys", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Storage" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "storage.d.ts", + "functionName": null, + "SDKFunctionName": "getHmacKeys", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Storage" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "storage.d.ts", + "functionName": null, + "SDKFunctionName": "getServiceAccount", + "params": [ + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Storage" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "storage.d.ts", + "functionName": null, + "SDKFunctionName": "getServiceAccount", + "params": [ + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Storage" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "storage.d.ts", + "functionName": null, + "SDKFunctionName": "getServiceAccount", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Storage" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "storage.d.ts", + "functionName": null, + "SDKFunctionName": "getServiceAccount", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Storage" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "storage.d.ts", + "functionName": null, + "SDKFunctionName": "hmacKey", + "params": [ + { + "name": "accessId", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "HmacKey", + "client": "Storage" + } + ], + "properties": [ + { + "name": "Bucket", + "type": "TypeQuery", + "typeRefName": null + }, + { + "name": "Channel", + "type": "TypeQuery", + "typeRefName": null + }, + { + "name": "File", + "type": "TypeQuery", + "typeRefName": null + }, + { + "name": "HmacKey", + "type": "TypeQuery", + "typeRefName": null + }, + { + "name": "acl", + "type": "TypeLiteral", + "typeRefName": null + }, + { + "name": "acl", + "type": "TypeQuery", + "typeRefName": null + }, + { + "name": "getBucketsStream", + "type": "FunctionType", + "typeRefName": null + }, + { + "name": "getHmacKeysStream", + "type": "FunctionType", + "typeRefName": null + } + ], + "constructor": { + "parameters": [ + { + "name": "options", + "optional": true, + "type": "TypeReference", + "typeRefName": "StorageOptions" + } + ] + } + } + ] } diff --git a/generator/test/transformers/googleCloud/dummyData/classBasedTransformer/validDataset/data.json b/generator/test/transformers/googleCloud/dummyData/classBasedTransformer/validDataset/data.json index efe53f9e..867b34a9 100644 --- a/generator/test/transformers/googleCloud/dummyData/classBasedTransformer/validDataset/data.json +++ b/generator/test/transformers/googleCloud/dummyData/classBasedTransformer/validDataset/data.json @@ -1,3997 +1,3997 @@ { - "mainClass": "Storage", - "functions": [ - { - "functionName": "makePublic", - "SDKFunctionName": "makePublic", - "params": [], - "pkgName": "storage", - "fileName": "file.d.ts", - "client": "File", - "returnType": "TypeReference", - "returnTypeName": "Promise", - "classConstructorData": { - "parameters": [ - { - "name": "bucket", - "optional": false, - "type": "TypeReference", - "typeRefName": "Bucket" - }, - { - "name": "name", - "optional": false, - "type": "StringKeyword", - "typeRefName": null - }, - { - "name": "options", - "optional": true, - "type": "TypeReference", - "typeRefName": "FileOptions" - } - ] - } - } - ], - "classData": [ - { - "name": "AclRoleAccessorMethods", - "methods": [ - { - "pkgName": "storage", - "version": null, - "fileName": "acl.d.ts", - "functionName": null, - "SDKFunctionName": "_assignAccessMethods", - "params": [ - { - "name": "role", - "optional": false, - "type": "StringKeyword" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "AclRoleAccessorMethods" - } - ], - "properties": [ - { - "name": "owners", - "type": "TypeLiteral", - "typeRefName": null - }, - { - "name": "readers", - "type": "TypeLiteral", - "typeRefName": null - }, - { - "name": "writers", - "type": "TypeLiteral", - "typeRefName": null - } - ], - "constructor": { - "parameters": [] - } - }, - { - "name": "Acl", - "methods": [ - { - "pkgName": "storage", - "version": null, - "fileName": "acl.d.ts", - "functionName": null, - "SDKFunctionName": "add", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Acl" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "acl.d.ts", - "functionName": null, - "SDKFunctionName": "add", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Acl" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "acl.d.ts", - "functionName": null, - "SDKFunctionName": "delete", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Acl" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "acl.d.ts", - "functionName": null, - "SDKFunctionName": "delete", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Acl" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "acl.d.ts", - "functionName": null, - "SDKFunctionName": "get", - "params": [ - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Acl" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "acl.d.ts", - "functionName": null, - "SDKFunctionName": "get", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Acl" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "acl.d.ts", - "functionName": null, - "SDKFunctionName": "get", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Acl" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "acl.d.ts", - "functionName": null, - "SDKFunctionName": "update", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Acl" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "acl.d.ts", - "functionName": null, - "SDKFunctionName": "update", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Acl" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "acl.d.ts", - "functionName": null, - "SDKFunctionName": "makeAclObject_", - "params": [ - { - "name": "accessControlObject", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "AccessControlObject", - "client": "Acl" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "acl.d.ts", - "functionName": null, - "SDKFunctionName": "request", - "params": [ - { - "name": "reqOpts", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Acl" - } - ], - "properties": [ - { - "name": "default", - "type": "TypeReference", - "typeRefName": "Acl" - }, - { - "name": "pathPrefix", - "type": "StringKeyword", - "typeRefName": null - }, - { - "name": "request_", - "type": "FunctionType", - "typeRefName": null - } - ], - "constructor": { - "parameters": [ - { - "name": "options", - "optional": false, - "type": "TypeReference", - "typeRefName": "AclOptions" - } - ] - } - }, - { - "name": "Bucket", - "methods": [ - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "addLifecycleRule", - "params": [ - { - "name": "rule", - "optional": false, - "type": "TypeReference" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "addLifecycleRule", - "params": [ - { - "name": "rule", - "optional": false, - "type": "TypeReference" - }, - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "addLifecycleRule", - "params": [ - { - "name": "rule", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "combine", - "params": [ - { - "name": "sources", - "optional": false, - "type": "UnionType" - }, - { - "name": "destination", - "optional": false, - "type": "UnionType" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "combine", - "params": [ - { - "name": "sources", - "optional": false, - "type": "UnionType" - }, - { - "name": "destination", - "optional": false, - "type": "UnionType" - }, - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "combine", - "params": [ - { - "name": "sources", - "optional": false, - "type": "UnionType" - }, - { - "name": "destination", - "optional": false, - "type": "UnionType" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "createChannel", - "params": [ - { - "name": "id", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "config", - "optional": false, - "type": "TypeReference" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "createChannel", - "params": [ - { - "name": "id", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "config", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "createChannel", - "params": [ - { - "name": "id", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "config", - "optional": false, - "type": "TypeReference" - }, - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "createNotification", - "params": [ - { - "name": "topic", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "createNotification", - "params": [ - { - "name": "topic", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "createNotification", - "params": [ - { - "name": "topic", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "deleteFiles", - "params": [ - { - "name": "query", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "deleteFiles", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "deleteFiles", - "params": [ - { - "name": "query", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "deleteLabels", - "params": [ - { - "name": "labels", - "optional": true, - "type": "UnionType" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "deleteLabels", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "deleteLabels", - "params": [ - { - "name": "labels", - "optional": false, - "type": "UnionType" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "disableRequesterPays", - "params": [], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "disableRequesterPays", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "enableLogging", - "params": [ - { - "name": "config", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "enableLogging", - "params": [ - { - "name": "config", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "enableRequesterPays", - "params": [], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "enableRequesterPays", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "file", - "params": [ - { - "name": "name", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "File", - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "getFiles", - "params": [ - { - "name": "query", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "getFiles", - "params": [ - { - "name": "query", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "getFiles", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "getLabels", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "getLabels", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "getLabels", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "getNotifications", - "params": [ - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "getNotifications", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "getNotifications", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "getSignedUrl", - "params": [ - { - "name": "cfg", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "getSignedUrl", - "params": [ - { - "name": "cfg", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "lock", - "params": [ - { - "name": "metageneration", - "optional": false, - "type": "UnionType" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "lock", - "params": [ - { - "name": "metageneration", - "optional": false, - "type": "UnionType" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "makePrivate", - "params": [ - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "makePrivate", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "makePrivate", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "makePublic", - "params": [ - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "makePublic", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "makePublic", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "notification", - "params": [ - { - "name": "id", - "optional": false, - "type": "StringKeyword" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Notification", - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "removeRetentionPeriod", - "params": [], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "removeRetentionPeriod", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "request", - "params": [ - { - "name": "reqOpts", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "request", - "params": [ - { - "name": "reqOpts", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "setLabels", - "params": [ - { - "name": "labels", - "optional": false, - "type": "TypeReference" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "setLabels", - "params": [ - { - "name": "labels", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "setLabels", - "params": [ - { - "name": "labels", - "optional": false, - "type": "TypeReference" - }, - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "setRetentionPeriod", - "params": [ - { - "name": "duration", - "optional": false, - "type": "NumberKeyword" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "setRetentionPeriod", - "params": [ - { - "name": "duration", - "optional": false, - "type": "NumberKeyword" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "setCorsConfiguration", - "params": [ - { - "name": "corsConfiguration", - "optional": false, - "type": "ArrayType" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "setCorsConfiguration", - "params": [ - { - "name": "corsConfiguration", - "optional": false, - "type": "ArrayType" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "setStorageClass", - "params": [ - { - "name": "storageClass", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "setStorageClass", - "params": [ - { - "name": "storageClass", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "setStorageClass", - "params": [ - { - "name": "storageClass", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "setUserProject", - "params": [ - { - "name": "userProject", - "optional": false, - "type": "StringKeyword" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "upload", - "params": [ - { - "name": "pathString", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "upload", - "params": [ - { - "name": "pathString", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "upload", - "params": [ - { - "name": "pathString", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "makeAllFilesPublicPrivate_", - "params": [ - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "makeAllFilesPublicPrivate_", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "makeAllFilesPublicPrivate_", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Bucket" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "bucket.d.ts", - "functionName": null, - "SDKFunctionName": "getId", - "params": [], - "returnType": "StringKeyword", - "returnTypeName": null, - "client": "Bucket" - } - ], - "properties": [ - { - "name": "name", - "type": "StringKeyword", - "typeRefName": null - }, - { - "name": "storage", - "type": "TypeReference", - "typeRefName": "Storage" - }, - { - "name": "userProject", - "type": "StringKeyword", - "typeRefName": null - }, - { - "name": "acl", - "type": "TypeReference", - "typeRefName": "Acl" - }, - { - "name": "iam", - "type": "TypeReference", - "typeRefName": "Iam" - }, - { - "name": "getFilesStream", - "type": "TypeReference", - "typeRefName": "Function" - }, - { - "name": "signer", - "type": "TypeReference", - "typeRefName": "URLSigner" - } - ], - "constructor": { - "parameters": [ - { - "name": "storage", - "optional": false, - "type": "TypeReference", - "typeRefName": "Storage" - }, - { - "name": "name", - "optional": false, - "type": "StringKeyword", - "typeRefName": null - }, - { - "name": "options", - "optional": true, - "type": "TypeReference", - "typeRefName": "BucketOptions" - } - ] - } - }, - { - "name": "Channel", - "methods": [ - { - "pkgName": "storage", - "version": null, - "fileName": "channel.d.ts", - "functionName": null, - "SDKFunctionName": "stop", - "params": [], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Channel" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "channel.d.ts", - "functionName": null, - "SDKFunctionName": "stop", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Channel" - } - ], - "properties": [], - "constructor": { - "parameters": [ - { - "name": "storage", - "optional": false, - "type": "TypeReference", - "typeRefName": "Storage" - }, - { - "name": "id", - "optional": false, - "type": "StringKeyword", - "typeRefName": null - }, - { - "name": "resourceId", - "optional": false, - "type": "StringKeyword", - "typeRefName": null - } - ] - } - }, - { - "name": "RequestError", - "methods": [], - "properties": [ - { - "name": "code", - "type": "StringKeyword", - "typeRefName": null - }, - { - "name": "errors", - "type": "ArrayType", - "typeRefName": null - } - ], - "constructor": null - }, - { - "name": "File", - "methods": [ - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "copy", - "params": [ - { - "name": "destination", - "optional": false, - "type": "UnionType" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "copy", - "params": [ - { - "name": "destination", - "optional": false, - "type": "UnionType" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "copy", - "params": [ - { - "name": "destination", - "optional": false, - "type": "UnionType" - }, - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "createReadStream", - "params": [ - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Readable", - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "createResumableUpload", - "params": [ - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "createResumableUpload", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "createResumableUpload", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "createWriteStream", - "params": [ - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Writable", - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "deleteResumableCache", - "params": [], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "download", - "params": [ - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "download", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "download", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "setEncryptionKey", - "params": [ - { - "name": "encryptionKey", - "optional": false, - "type": "UnionType" - } - ], - "returnType": "ThisType", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "getExpirationDate", - "params": [], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "getExpirationDate", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "getSignedPolicy", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "getSignedPolicy", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "getSignedPolicy", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "generateSignedPostPolicyV2", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "generateSignedPostPolicyV2", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "generateSignedPostPolicyV2", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "generateSignedPostPolicyV4", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "generateSignedPostPolicyV4", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "generateSignedPostPolicyV4", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "getSignedUrl", - "params": [ - { - "name": "cfg", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "getSignedUrl", - "params": [ - { - "name": "cfg", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "isPublic", - "params": [], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "isPublic", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "makePrivate", - "params": [ - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "makePrivate", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "makePrivate", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": "makePublic", - "SDKFunctionName": "makePublic", - "params": [], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "File", - "classConstructorData": { - "parameters": [ - { - "name": "bucket", - "optional": false, - "type": "TypeReference", - "typeRefName": "Bucket" - }, - { - "name": "name", - "optional": false, - "type": "StringKeyword", - "typeRefName": null - }, - { - "name": "options", - "optional": true, - "type": "TypeReference", - "typeRefName": "FileOptions" - } - ] - } - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": "makePublic", - "SDKFunctionName": "makePublic", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File", - "classConstructorData": { - "parameters": [ - { - "name": "bucket", - "optional": false, - "type": "TypeReference", - "typeRefName": "Bucket" - }, - { - "name": "name", - "optional": false, - "type": "StringKeyword", - "typeRefName": null - }, - { - "name": "options", - "optional": true, - "type": "TypeReference", - "typeRefName": "FileOptions" - } - ] - } - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "move", - "params": [ - { - "name": "destination", - "optional": false, - "type": "UnionType" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "move", - "params": [ - { - "name": "destination", - "optional": false, - "type": "UnionType" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "move", - "params": [ - { - "name": "destination", - "optional": false, - "type": "UnionType" - }, - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "request", - "params": [ - { - "name": "reqOpts", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "request", - "params": [ - { - "name": "reqOpts", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "rotateEncryptionKey", - "params": [ - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "rotateEncryptionKey", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "rotateEncryptionKey", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "save", - "params": [ - { - "name": "data", - "optional": false, - "type": "AnyKeyword" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "save", - "params": [ - { - "name": "data", - "optional": false, - "type": "AnyKeyword" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "save", - "params": [ - { - "name": "data", - "optional": false, - "type": "AnyKeyword" - }, - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "setStorageClass", - "params": [ - { - "name": "storageClass", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "setStorageClass", - "params": [ - { - "name": "storageClass", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "setStorageClass", - "params": [ - { - "name": "storageClass", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "callback", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "setUserProject", - "params": [ - { - "name": "userProject", - "optional": false, - "type": "StringKeyword" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "startResumableUpload_", - "params": [ - { - "name": "dup", - "optional": false, - "type": "TypeReference" - }, - { - "name": "options", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "file.d.ts", - "functionName": null, - "SDKFunctionName": "startSimpleUpload_", - "params": [ - { - "name": "dup", - "optional": false, - "type": "TypeReference" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "File" - } - ], - "properties": [ - { - "name": "acl", - "type": "TypeReference", - "typeRefName": "Acl" - }, - { - "name": "bucket", - "type": "TypeReference", - "typeRefName": "Bucket" - }, - { - "name": "storage", - "type": "TypeReference", - "typeRefName": "Storage" - }, - { - "name": "kmsKeyName", - "type": "StringKeyword", - "typeRefName": null - }, - { - "name": "userProject", - "type": "StringKeyword", - "typeRefName": null - }, - { - "name": "signer", - "type": "TypeReference", - "typeRefName": "URLSigner" - }, - { - "name": "name", - "type": "StringKeyword", - "typeRefName": null - }, - { - "name": "generation", - "type": "NumberKeyword", - "typeRefName": null - }, - { - "name": "parent", - "type": "TypeReference", - "typeRefName": "Bucket" - } - ], - "constructor": { - "parameters": [ - { - "name": "bucket", - "optional": false, - "type": "TypeReference", - "typeRefName": "Bucket" - }, - { - "name": "name", - "optional": false, - "type": "StringKeyword", - "typeRefName": null - }, - { - "name": "options", - "optional": true, - "type": "TypeReference", - "typeRefName": "FileOptions" - } - ] - } - }, - { - "name": "HmacKey", - "methods": [], - "properties": [ - { - "name": "metadata", - "type": "UnionType", - "typeRefName": null - } - ], - "constructor": { - "parameters": [ - { - "name": "storage", - "optional": false, - "type": "TypeReference", - "typeRefName": "Storage" - }, - { - "name": "accessId", - "optional": false, - "type": "StringKeyword", - "typeRefName": null - }, - { - "name": "options", - "optional": true, - "type": "TypeReference", - "typeRefName": "HmacKeyOptions" - } - ] - } - }, - { - "name": "Iam", - "methods": [ - { - "pkgName": "storage", - "version": null, - "fileName": "iam.d.ts", - "functionName": null, - "SDKFunctionName": "getPolicy", - "params": [ - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Iam" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "iam.d.ts", - "functionName": null, - "SDKFunctionName": "getPolicy", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Iam" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "iam.d.ts", - "functionName": null, - "SDKFunctionName": "getPolicy", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Iam" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "iam.d.ts", - "functionName": null, - "SDKFunctionName": "setPolicy", - "params": [ - { - "name": "policy", - "optional": false, - "type": "TypeReference" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Iam" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "iam.d.ts", - "functionName": null, - "SDKFunctionName": "setPolicy", - "params": [ - { - "name": "policy", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Iam" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "iam.d.ts", - "functionName": null, - "SDKFunctionName": "setPolicy", - "params": [ - { - "name": "policy", - "optional": false, - "type": "TypeReference" - }, - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Iam" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "iam.d.ts", - "functionName": null, - "SDKFunctionName": "testPermissions", - "params": [ - { - "name": "permissions", - "optional": false, - "type": "UnionType" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Iam" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "iam.d.ts", - "functionName": null, - "SDKFunctionName": "testPermissions", - "params": [ - { - "name": "permissions", - "optional": false, - "type": "UnionType" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Iam" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "iam.d.ts", - "functionName": null, - "SDKFunctionName": "testPermissions", - "params": [ - { - "name": "permissions", - "optional": false, - "type": "UnionType" - }, - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Iam" - } - ], - "properties": [], - "constructor": { - "parameters": [ - { - "name": "bucket", - "optional": false, - "type": "TypeReference", - "typeRefName": "Bucket" - } - ] - } - }, - { - "name": "Notification", - "methods": [ - { - "pkgName": "storage", - "version": null, - "fileName": "notification.d.ts", - "functionName": null, - "SDKFunctionName": "delete", - "params": [ - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Notification" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "notification.d.ts", - "functionName": null, - "SDKFunctionName": "delete", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Notification" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "notification.d.ts", - "functionName": null, - "SDKFunctionName": "delete", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Notification" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "notification.d.ts", - "functionName": null, - "SDKFunctionName": "get", - "params": [ - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Notification" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "notification.d.ts", - "functionName": null, - "SDKFunctionName": "get", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Notification" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "notification.d.ts", - "functionName": null, - "SDKFunctionName": "get", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Notification" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "notification.d.ts", - "functionName": null, - "SDKFunctionName": "getMetadata", - "params": [ - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Notification" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "notification.d.ts", - "functionName": null, - "SDKFunctionName": "getMetadata", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Notification" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "notification.d.ts", - "functionName": null, - "SDKFunctionName": "getMetadata", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Notification" - } - ], - "properties": [], - "constructor": { - "parameters": [ - { - "name": "bucket", - "optional": false, - "type": "TypeReference", - "typeRefName": "Bucket" - }, - { - "name": "id", - "optional": false, - "type": "StringKeyword", - "typeRefName": null - } - ] - } - }, - { - "name": "URLSigner", - "methods": [ - { - "pkgName": "storage", - "version": null, - "fileName": "signer.d.ts", - "functionName": null, - "SDKFunctionName": "getSignedUrl", - "params": [ - { - "name": "cfg", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "URLSigner" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "signer.d.ts", - "functionName": null, - "SDKFunctionName": "getCanonicalHeaders", - "params": [ - { - "name": "headers", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "StringKeyword", - "returnTypeName": null, - "client": "URLSigner" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "signer.d.ts", - "functionName": null, - "SDKFunctionName": "getCanonicalRequest", - "params": [ - { - "name": "method", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "path", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "query", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "headers", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "signedHeaders", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "contentSha256", - "optional": true, - "type": "StringKeyword" - } - ], - "returnType": "StringKeyword", - "returnTypeName": null, - "client": "URLSigner" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "signer.d.ts", - "functionName": null, - "SDKFunctionName": "getCanonicalQueryParams", - "params": [ - { - "name": "query", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "StringKeyword", - "returnTypeName": null, - "client": "URLSigner" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "signer.d.ts", - "functionName": null, - "SDKFunctionName": "getResourcePath", - "params": [ - { - "name": "cname", - "optional": false, - "type": "BooleanKeyword" - }, - { - "name": "bucket", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "file", - "optional": true, - "type": "StringKeyword" - } - ], - "returnType": "StringKeyword", - "returnTypeName": null, - "client": "URLSigner" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "signer.d.ts", - "functionName": null, - "SDKFunctionName": "parseExpires", - "params": [ - { - "name": "expires", - "optional": false, - "type": "UnionType" - }, - { - "name": "current", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "NumberKeyword", - "returnTypeName": null, - "client": "URLSigner" - } - ], - "properties": [], - "constructor": { - "parameters": [ - { - "name": "authClient", - "optional": false, - "type": "TypeReference", - "typeRefName": "AuthClient" - }, - { - "name": "bucket", - "optional": false, - "type": "TypeReference", - "typeRefName": "BucketI" - }, - { - "name": "file", - "optional": true, - "type": "TypeReference", - "typeRefName": "FileI" - } - ] - } - }, - { - "name": "SigningError", - "methods": [], - "properties": [ - { - "name": "name", - "type": "StringKeyword", - "typeRefName": null - } - ], - "constructor": null - }, - { - "name": "Storage", - "methods": [ - { - "pkgName": "storage", - "version": null, - "fileName": "storage.d.ts", - "functionName": null, - "SDKFunctionName": "bucket", - "params": [ - { - "name": "name", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Bucket", - "client": "Storage" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "storage.d.ts", - "functionName": null, - "SDKFunctionName": "channel", - "params": [ - { - "name": "id", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "resourceId", - "optional": false, - "type": "StringKeyword" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Channel", - "client": "Storage" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "storage.d.ts", - "functionName": null, - "SDKFunctionName": "createBucket", - "params": [ - { - "name": "name", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "metadata", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Storage" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "storage.d.ts", - "functionName": null, - "SDKFunctionName": "createBucket", - "params": [ - { - "name": "name", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Storage" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "storage.d.ts", - "functionName": null, - "SDKFunctionName": "createBucket", - "params": [ - { - "name": "name", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "metadata", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Storage" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "storage.d.ts", - "functionName": null, - "SDKFunctionName": "createBucket", - "params": [ - { - "name": "name", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "metadata", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Storage" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "storage.d.ts", - "functionName": null, - "SDKFunctionName": "createHmacKey", - "params": [ - { - "name": "serviceAccountEmail", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Storage" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "storage.d.ts", - "functionName": null, - "SDKFunctionName": "createHmacKey", - "params": [ - { - "name": "serviceAccountEmail", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Storage" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "storage.d.ts", - "functionName": null, - "SDKFunctionName": "createHmacKey", - "params": [ - { - "name": "serviceAccountEmail", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Storage" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "storage.d.ts", - "functionName": null, - "SDKFunctionName": "getBuckets", - "params": [ - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Storage" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "storage.d.ts", - "functionName": null, - "SDKFunctionName": "getBuckets", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Storage" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "storage.d.ts", - "functionName": null, - "SDKFunctionName": "getBuckets", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Storage" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "storage.d.ts", - "functionName": null, - "SDKFunctionName": "getHmacKeys", - "params": [ - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Storage" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "storage.d.ts", - "functionName": null, - "SDKFunctionName": "getHmacKeys", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Storage" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "storage.d.ts", - "functionName": null, - "SDKFunctionName": "getHmacKeys", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Storage" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "storage.d.ts", - "functionName": null, - "SDKFunctionName": "getServiceAccount", - "params": [ - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Storage" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "storage.d.ts", - "functionName": null, - "SDKFunctionName": "getServiceAccount", - "params": [ - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "Promise", - "client": "Storage" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "storage.d.ts", - "functionName": null, - "SDKFunctionName": "getServiceAccount", - "params": [ - { - "name": "options", - "optional": false, - "type": "TypeReference" - }, - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Storage" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "storage.d.ts", - "functionName": null, - "SDKFunctionName": "getServiceAccount", - "params": [ - { - "name": "callback", - "optional": false, - "type": "TypeReference" - } - ], - "returnType": "VoidKeyword", - "returnTypeName": null, - "client": "Storage" - }, - { - "pkgName": "storage", - "version": null, - "fileName": "storage.d.ts", - "functionName": null, - "SDKFunctionName": "hmacKey", - "params": [ - { - "name": "accessId", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "returnType": "TypeReference", - "returnTypeName": "HmacKey", - "client": "Storage" - } - ], - "properties": [ - { - "name": "Bucket", - "type": "TypeQuery", - "typeRefName": null - }, - { - "name": "Channel", - "type": "TypeQuery", - "typeRefName": null - }, - { - "name": "File", - "type": "TypeQuery", - "typeRefName": null - }, - { - "name": "HmacKey", - "type": "TypeQuery", - "typeRefName": null - }, - { - "name": "acl", - "type": "TypeLiteral", - "typeRefName": null - }, - { - "name": "acl", - "type": "TypeQuery", - "typeRefName": null - }, - { - "name": "getBucketsStream", - "type": "FunctionType", - "typeRefName": null - }, - { - "name": "getHmacKeysStream", - "type": "FunctionType", - "typeRefName": null - } - ], - "constructor": { - "parameters": [ - { - "name": "options", - "optional": true, - "type": "TypeReference", - "typeRefName": "StorageOptions" - } - ] - } - } - ] + "mainClass": "Storage", + "functions": [ + { + "functionName": "makePublic", + "SDKFunctionName": "makePublic", + "params": [], + "pkgName": "storage", + "fileName": "file.d.ts", + "client": "File", + "returnType": "TypeReference", + "returnTypeName": "Promise", + "classConstructorData": { + "parameters": [ + { + "name": "bucket", + "optional": false, + "type": "TypeReference", + "typeRefName": "Bucket" + }, + { + "name": "name", + "optional": false, + "type": "StringKeyword", + "typeRefName": null + }, + { + "name": "options", + "optional": true, + "type": "TypeReference", + "typeRefName": "FileOptions" + } + ] + } + } + ], + "classData": [ + { + "name": "AclRoleAccessorMethods", + "methods": [ + { + "pkgName": "storage", + "version": null, + "fileName": "acl.d.ts", + "functionName": null, + "SDKFunctionName": "_assignAccessMethods", + "params": [ + { + "name": "role", + "optional": false, + "type": "StringKeyword" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "AclRoleAccessorMethods" + } + ], + "properties": [ + { + "name": "owners", + "type": "TypeLiteral", + "typeRefName": null + }, + { + "name": "readers", + "type": "TypeLiteral", + "typeRefName": null + }, + { + "name": "writers", + "type": "TypeLiteral", + "typeRefName": null + } + ], + "constructor": { + "parameters": [] + } + }, + { + "name": "Acl", + "methods": [ + { + "pkgName": "storage", + "version": null, + "fileName": "acl.d.ts", + "functionName": null, + "SDKFunctionName": "add", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Acl" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "acl.d.ts", + "functionName": null, + "SDKFunctionName": "add", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Acl" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "acl.d.ts", + "functionName": null, + "SDKFunctionName": "delete", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Acl" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "acl.d.ts", + "functionName": null, + "SDKFunctionName": "delete", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Acl" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "acl.d.ts", + "functionName": null, + "SDKFunctionName": "get", + "params": [ + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Acl" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "acl.d.ts", + "functionName": null, + "SDKFunctionName": "get", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Acl" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "acl.d.ts", + "functionName": null, + "SDKFunctionName": "get", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Acl" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "acl.d.ts", + "functionName": null, + "SDKFunctionName": "update", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Acl" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "acl.d.ts", + "functionName": null, + "SDKFunctionName": "update", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Acl" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "acl.d.ts", + "functionName": null, + "SDKFunctionName": "makeAclObject_", + "params": [ + { + "name": "accessControlObject", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "AccessControlObject", + "client": "Acl" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "acl.d.ts", + "functionName": null, + "SDKFunctionName": "request", + "params": [ + { + "name": "reqOpts", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Acl" + } + ], + "properties": [ + { + "name": "default", + "type": "TypeReference", + "typeRefName": "Acl" + }, + { + "name": "pathPrefix", + "type": "StringKeyword", + "typeRefName": null + }, + { + "name": "request_", + "type": "FunctionType", + "typeRefName": null + } + ], + "constructor": { + "parameters": [ + { + "name": "options", + "optional": false, + "type": "TypeReference", + "typeRefName": "AclOptions" + } + ] + } + }, + { + "name": "Bucket", + "methods": [ + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "addLifecycleRule", + "params": [ + { + "name": "rule", + "optional": false, + "type": "TypeReference" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "addLifecycleRule", + "params": [ + { + "name": "rule", + "optional": false, + "type": "TypeReference" + }, + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "addLifecycleRule", + "params": [ + { + "name": "rule", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "combine", + "params": [ + { + "name": "sources", + "optional": false, + "type": "UnionType" + }, + { + "name": "destination", + "optional": false, + "type": "UnionType" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "combine", + "params": [ + { + "name": "sources", + "optional": false, + "type": "UnionType" + }, + { + "name": "destination", + "optional": false, + "type": "UnionType" + }, + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "combine", + "params": [ + { + "name": "sources", + "optional": false, + "type": "UnionType" + }, + { + "name": "destination", + "optional": false, + "type": "UnionType" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "createChannel", + "params": [ + { + "name": "id", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "config", + "optional": false, + "type": "TypeReference" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "createChannel", + "params": [ + { + "name": "id", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "config", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "createChannel", + "params": [ + { + "name": "id", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "config", + "optional": false, + "type": "TypeReference" + }, + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "createNotification", + "params": [ + { + "name": "topic", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "createNotification", + "params": [ + { + "name": "topic", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "createNotification", + "params": [ + { + "name": "topic", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "deleteFiles", + "params": [ + { + "name": "query", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "deleteFiles", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "deleteFiles", + "params": [ + { + "name": "query", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "deleteLabels", + "params": [ + { + "name": "labels", + "optional": true, + "type": "UnionType" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "deleteLabels", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "deleteLabels", + "params": [ + { + "name": "labels", + "optional": false, + "type": "UnionType" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "disableRequesterPays", + "params": [], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "disableRequesterPays", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "enableLogging", + "params": [ + { + "name": "config", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "enableLogging", + "params": [ + { + "name": "config", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "enableRequesterPays", + "params": [], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "enableRequesterPays", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "file", + "params": [ + { + "name": "name", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "File", + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "getFiles", + "params": [ + { + "name": "query", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "getFiles", + "params": [ + { + "name": "query", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "getFiles", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "getLabels", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "getLabels", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "getLabels", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "getNotifications", + "params": [ + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "getNotifications", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "getNotifications", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "getSignedUrl", + "params": [ + { + "name": "cfg", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "getSignedUrl", + "params": [ + { + "name": "cfg", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "lock", + "params": [ + { + "name": "metageneration", + "optional": false, + "type": "UnionType" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "lock", + "params": [ + { + "name": "metageneration", + "optional": false, + "type": "UnionType" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "makePrivate", + "params": [ + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "makePrivate", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "makePrivate", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "makePublic", + "params": [ + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "makePublic", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "makePublic", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "notification", + "params": [ + { + "name": "id", + "optional": false, + "type": "StringKeyword" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Notification", + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "removeRetentionPeriod", + "params": [], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "removeRetentionPeriod", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "request", + "params": [ + { + "name": "reqOpts", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "request", + "params": [ + { + "name": "reqOpts", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "setLabels", + "params": [ + { + "name": "labels", + "optional": false, + "type": "TypeReference" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "setLabels", + "params": [ + { + "name": "labels", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "setLabels", + "params": [ + { + "name": "labels", + "optional": false, + "type": "TypeReference" + }, + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "setRetentionPeriod", + "params": [ + { + "name": "duration", + "optional": false, + "type": "NumberKeyword" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "setRetentionPeriod", + "params": [ + { + "name": "duration", + "optional": false, + "type": "NumberKeyword" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "setCorsConfiguration", + "params": [ + { + "name": "corsConfiguration", + "optional": false, + "type": "ArrayType" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "setCorsConfiguration", + "params": [ + { + "name": "corsConfiguration", + "optional": false, + "type": "ArrayType" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "setStorageClass", + "params": [ + { + "name": "storageClass", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "setStorageClass", + "params": [ + { + "name": "storageClass", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "setStorageClass", + "params": [ + { + "name": "storageClass", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "setUserProject", + "params": [ + { + "name": "userProject", + "optional": false, + "type": "StringKeyword" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "upload", + "params": [ + { + "name": "pathString", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "upload", + "params": [ + { + "name": "pathString", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "upload", + "params": [ + { + "name": "pathString", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "makeAllFilesPublicPrivate_", + "params": [ + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "makeAllFilesPublicPrivate_", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "makeAllFilesPublicPrivate_", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Bucket" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "bucket.d.ts", + "functionName": null, + "SDKFunctionName": "getId", + "params": [], + "returnType": "StringKeyword", + "returnTypeName": null, + "client": "Bucket" + } + ], + "properties": [ + { + "name": "name", + "type": "StringKeyword", + "typeRefName": null + }, + { + "name": "storage", + "type": "TypeReference", + "typeRefName": "Storage" + }, + { + "name": "userProject", + "type": "StringKeyword", + "typeRefName": null + }, + { + "name": "acl", + "type": "TypeReference", + "typeRefName": "Acl" + }, + { + "name": "iam", + "type": "TypeReference", + "typeRefName": "Iam" + }, + { + "name": "getFilesStream", + "type": "TypeReference", + "typeRefName": "Function" + }, + { + "name": "signer", + "type": "TypeReference", + "typeRefName": "URLSigner" + } + ], + "constructor": { + "parameters": [ + { + "name": "storage", + "optional": false, + "type": "TypeReference", + "typeRefName": "Storage" + }, + { + "name": "name", + "optional": false, + "type": "StringKeyword", + "typeRefName": null + }, + { + "name": "options", + "optional": true, + "type": "TypeReference", + "typeRefName": "BucketOptions" + } + ] + } + }, + { + "name": "Channel", + "methods": [ + { + "pkgName": "storage", + "version": null, + "fileName": "channel.d.ts", + "functionName": null, + "SDKFunctionName": "stop", + "params": [], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Channel" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "channel.d.ts", + "functionName": null, + "SDKFunctionName": "stop", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Channel" + } + ], + "properties": [], + "constructor": { + "parameters": [ + { + "name": "storage", + "optional": false, + "type": "TypeReference", + "typeRefName": "Storage" + }, + { + "name": "id", + "optional": false, + "type": "StringKeyword", + "typeRefName": null + }, + { + "name": "resourceId", + "optional": false, + "type": "StringKeyword", + "typeRefName": null + } + ] + } + }, + { + "name": "RequestError", + "methods": [], + "properties": [ + { + "name": "code", + "type": "StringKeyword", + "typeRefName": null + }, + { + "name": "errors", + "type": "ArrayType", + "typeRefName": null + } + ], + "constructor": null + }, + { + "name": "File", + "methods": [ + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "copy", + "params": [ + { + "name": "destination", + "optional": false, + "type": "UnionType" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "copy", + "params": [ + { + "name": "destination", + "optional": false, + "type": "UnionType" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "copy", + "params": [ + { + "name": "destination", + "optional": false, + "type": "UnionType" + }, + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "createReadStream", + "params": [ + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Readable", + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "createResumableUpload", + "params": [ + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "createResumableUpload", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "createResumableUpload", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "createWriteStream", + "params": [ + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Writable", + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "deleteResumableCache", + "params": [], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "download", + "params": [ + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "download", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "download", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "setEncryptionKey", + "params": [ + { + "name": "encryptionKey", + "optional": false, + "type": "UnionType" + } + ], + "returnType": "ThisType", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "getExpirationDate", + "params": [], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "getExpirationDate", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "getSignedPolicy", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "getSignedPolicy", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "getSignedPolicy", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "generateSignedPostPolicyV2", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "generateSignedPostPolicyV2", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "generateSignedPostPolicyV2", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "generateSignedPostPolicyV4", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "generateSignedPostPolicyV4", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "generateSignedPostPolicyV4", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "getSignedUrl", + "params": [ + { + "name": "cfg", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "getSignedUrl", + "params": [ + { + "name": "cfg", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "isPublic", + "params": [], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "isPublic", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "makePrivate", + "params": [ + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "makePrivate", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "makePrivate", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": "makePublic", + "SDKFunctionName": "makePublic", + "params": [], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "File", + "classConstructorData": { + "parameters": [ + { + "name": "bucket", + "optional": false, + "type": "TypeReference", + "typeRefName": "Bucket" + }, + { + "name": "name", + "optional": false, + "type": "StringKeyword", + "typeRefName": null + }, + { + "name": "options", + "optional": true, + "type": "TypeReference", + "typeRefName": "FileOptions" + } + ] + } + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": "makePublic", + "SDKFunctionName": "makePublic", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File", + "classConstructorData": { + "parameters": [ + { + "name": "bucket", + "optional": false, + "type": "TypeReference", + "typeRefName": "Bucket" + }, + { + "name": "name", + "optional": false, + "type": "StringKeyword", + "typeRefName": null + }, + { + "name": "options", + "optional": true, + "type": "TypeReference", + "typeRefName": "FileOptions" + } + ] + } + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "move", + "params": [ + { + "name": "destination", + "optional": false, + "type": "UnionType" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "move", + "params": [ + { + "name": "destination", + "optional": false, + "type": "UnionType" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "move", + "params": [ + { + "name": "destination", + "optional": false, + "type": "UnionType" + }, + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "request", + "params": [ + { + "name": "reqOpts", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "request", + "params": [ + { + "name": "reqOpts", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "rotateEncryptionKey", + "params": [ + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "rotateEncryptionKey", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "rotateEncryptionKey", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "save", + "params": [ + { + "name": "data", + "optional": false, + "type": "AnyKeyword" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "save", + "params": [ + { + "name": "data", + "optional": false, + "type": "AnyKeyword" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "save", + "params": [ + { + "name": "data", + "optional": false, + "type": "AnyKeyword" + }, + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "setStorageClass", + "params": [ + { + "name": "storageClass", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "setStorageClass", + "params": [ + { + "name": "storageClass", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "setStorageClass", + "params": [ + { + "name": "storageClass", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "callback", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "setUserProject", + "params": [ + { + "name": "userProject", + "optional": false, + "type": "StringKeyword" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "startResumableUpload_", + "params": [ + { + "name": "dup", + "optional": false, + "type": "TypeReference" + }, + { + "name": "options", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "file.d.ts", + "functionName": null, + "SDKFunctionName": "startSimpleUpload_", + "params": [ + { + "name": "dup", + "optional": false, + "type": "TypeReference" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "File" + } + ], + "properties": [ + { + "name": "acl", + "type": "TypeReference", + "typeRefName": "Acl" + }, + { + "name": "bucket", + "type": "TypeReference", + "typeRefName": "Bucket" + }, + { + "name": "storage", + "type": "TypeReference", + "typeRefName": "Storage" + }, + { + "name": "kmsKeyName", + "type": "StringKeyword", + "typeRefName": null + }, + { + "name": "userProject", + "type": "StringKeyword", + "typeRefName": null + }, + { + "name": "signer", + "type": "TypeReference", + "typeRefName": "URLSigner" + }, + { + "name": "name", + "type": "StringKeyword", + "typeRefName": null + }, + { + "name": "generation", + "type": "NumberKeyword", + "typeRefName": null + }, + { + "name": "parent", + "type": "TypeReference", + "typeRefName": "Bucket" + } + ], + "constructor": { + "parameters": [ + { + "name": "bucket", + "optional": false, + "type": "TypeReference", + "typeRefName": "Bucket" + }, + { + "name": "name", + "optional": false, + "type": "StringKeyword", + "typeRefName": null + }, + { + "name": "options", + "optional": true, + "type": "TypeReference", + "typeRefName": "FileOptions" + } + ] + } + }, + { + "name": "HmacKey", + "methods": [], + "properties": [ + { + "name": "metadata", + "type": "UnionType", + "typeRefName": null + } + ], + "constructor": { + "parameters": [ + { + "name": "storage", + "optional": false, + "type": "TypeReference", + "typeRefName": "Storage" + }, + { + "name": "accessId", + "optional": false, + "type": "StringKeyword", + "typeRefName": null + }, + { + "name": "options", + "optional": true, + "type": "TypeReference", + "typeRefName": "HmacKeyOptions" + } + ] + } + }, + { + "name": "Iam", + "methods": [ + { + "pkgName": "storage", + "version": null, + "fileName": "iam.d.ts", + "functionName": null, + "SDKFunctionName": "getPolicy", + "params": [ + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Iam" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "iam.d.ts", + "functionName": null, + "SDKFunctionName": "getPolicy", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Iam" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "iam.d.ts", + "functionName": null, + "SDKFunctionName": "getPolicy", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Iam" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "iam.d.ts", + "functionName": null, + "SDKFunctionName": "setPolicy", + "params": [ + { + "name": "policy", + "optional": false, + "type": "TypeReference" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Iam" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "iam.d.ts", + "functionName": null, + "SDKFunctionName": "setPolicy", + "params": [ + { + "name": "policy", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Iam" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "iam.d.ts", + "functionName": null, + "SDKFunctionName": "setPolicy", + "params": [ + { + "name": "policy", + "optional": false, + "type": "TypeReference" + }, + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Iam" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "iam.d.ts", + "functionName": null, + "SDKFunctionName": "testPermissions", + "params": [ + { + "name": "permissions", + "optional": false, + "type": "UnionType" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Iam" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "iam.d.ts", + "functionName": null, + "SDKFunctionName": "testPermissions", + "params": [ + { + "name": "permissions", + "optional": false, + "type": "UnionType" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Iam" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "iam.d.ts", + "functionName": null, + "SDKFunctionName": "testPermissions", + "params": [ + { + "name": "permissions", + "optional": false, + "type": "UnionType" + }, + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Iam" + } + ], + "properties": [], + "constructor": { + "parameters": [ + { + "name": "bucket", + "optional": false, + "type": "TypeReference", + "typeRefName": "Bucket" + } + ] + } + }, + { + "name": "Notification", + "methods": [ + { + "pkgName": "storage", + "version": null, + "fileName": "notification.d.ts", + "functionName": null, + "SDKFunctionName": "delete", + "params": [ + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Notification" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "notification.d.ts", + "functionName": null, + "SDKFunctionName": "delete", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Notification" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "notification.d.ts", + "functionName": null, + "SDKFunctionName": "delete", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Notification" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "notification.d.ts", + "functionName": null, + "SDKFunctionName": "get", + "params": [ + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Notification" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "notification.d.ts", + "functionName": null, + "SDKFunctionName": "get", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Notification" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "notification.d.ts", + "functionName": null, + "SDKFunctionName": "get", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Notification" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "notification.d.ts", + "functionName": null, + "SDKFunctionName": "getMetadata", + "params": [ + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Notification" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "notification.d.ts", + "functionName": null, + "SDKFunctionName": "getMetadata", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Notification" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "notification.d.ts", + "functionName": null, + "SDKFunctionName": "getMetadata", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Notification" + } + ], + "properties": [], + "constructor": { + "parameters": [ + { + "name": "bucket", + "optional": false, + "type": "TypeReference", + "typeRefName": "Bucket" + }, + { + "name": "id", + "optional": false, + "type": "StringKeyword", + "typeRefName": null + } + ] + } + }, + { + "name": "URLSigner", + "methods": [ + { + "pkgName": "storage", + "version": null, + "fileName": "signer.d.ts", + "functionName": null, + "SDKFunctionName": "getSignedUrl", + "params": [ + { + "name": "cfg", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "URLSigner" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "signer.d.ts", + "functionName": null, + "SDKFunctionName": "getCanonicalHeaders", + "params": [ + { + "name": "headers", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "StringKeyword", + "returnTypeName": null, + "client": "URLSigner" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "signer.d.ts", + "functionName": null, + "SDKFunctionName": "getCanonicalRequest", + "params": [ + { + "name": "method", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "path", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "query", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "headers", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "signedHeaders", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "contentSha256", + "optional": true, + "type": "StringKeyword" + } + ], + "returnType": "StringKeyword", + "returnTypeName": null, + "client": "URLSigner" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "signer.d.ts", + "functionName": null, + "SDKFunctionName": "getCanonicalQueryParams", + "params": [ + { + "name": "query", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "StringKeyword", + "returnTypeName": null, + "client": "URLSigner" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "signer.d.ts", + "functionName": null, + "SDKFunctionName": "getResourcePath", + "params": [ + { + "name": "cname", + "optional": false, + "type": "BooleanKeyword" + }, + { + "name": "bucket", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "file", + "optional": true, + "type": "StringKeyword" + } + ], + "returnType": "StringKeyword", + "returnTypeName": null, + "client": "URLSigner" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "signer.d.ts", + "functionName": null, + "SDKFunctionName": "parseExpires", + "params": [ + { + "name": "expires", + "optional": false, + "type": "UnionType" + }, + { + "name": "current", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "NumberKeyword", + "returnTypeName": null, + "client": "URLSigner" + } + ], + "properties": [], + "constructor": { + "parameters": [ + { + "name": "authClient", + "optional": false, + "type": "TypeReference", + "typeRefName": "AuthClient" + }, + { + "name": "bucket", + "optional": false, + "type": "TypeReference", + "typeRefName": "BucketI" + }, + { + "name": "file", + "optional": true, + "type": "TypeReference", + "typeRefName": "FileI" + } + ] + } + }, + { + "name": "SigningError", + "methods": [], + "properties": [ + { + "name": "name", + "type": "StringKeyword", + "typeRefName": null + } + ], + "constructor": null + }, + { + "name": "Storage", + "methods": [ + { + "pkgName": "storage", + "version": null, + "fileName": "storage.d.ts", + "functionName": null, + "SDKFunctionName": "bucket", + "params": [ + { + "name": "name", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Bucket", + "client": "Storage" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "storage.d.ts", + "functionName": null, + "SDKFunctionName": "channel", + "params": [ + { + "name": "id", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "resourceId", + "optional": false, + "type": "StringKeyword" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Channel", + "client": "Storage" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "storage.d.ts", + "functionName": null, + "SDKFunctionName": "createBucket", + "params": [ + { + "name": "name", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "metadata", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Storage" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "storage.d.ts", + "functionName": null, + "SDKFunctionName": "createBucket", + "params": [ + { + "name": "name", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Storage" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "storage.d.ts", + "functionName": null, + "SDKFunctionName": "createBucket", + "params": [ + { + "name": "name", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "metadata", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Storage" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "storage.d.ts", + "functionName": null, + "SDKFunctionName": "createBucket", + "params": [ + { + "name": "name", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "metadata", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Storage" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "storage.d.ts", + "functionName": null, + "SDKFunctionName": "createHmacKey", + "params": [ + { + "name": "serviceAccountEmail", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Storage" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "storage.d.ts", + "functionName": null, + "SDKFunctionName": "createHmacKey", + "params": [ + { + "name": "serviceAccountEmail", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Storage" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "storage.d.ts", + "functionName": null, + "SDKFunctionName": "createHmacKey", + "params": [ + { + "name": "serviceAccountEmail", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Storage" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "storage.d.ts", + "functionName": null, + "SDKFunctionName": "getBuckets", + "params": [ + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Storage" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "storage.d.ts", + "functionName": null, + "SDKFunctionName": "getBuckets", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Storage" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "storage.d.ts", + "functionName": null, + "SDKFunctionName": "getBuckets", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Storage" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "storage.d.ts", + "functionName": null, + "SDKFunctionName": "getHmacKeys", + "params": [ + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Storage" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "storage.d.ts", + "functionName": null, + "SDKFunctionName": "getHmacKeys", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Storage" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "storage.d.ts", + "functionName": null, + "SDKFunctionName": "getHmacKeys", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Storage" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "storage.d.ts", + "functionName": null, + "SDKFunctionName": "getServiceAccount", + "params": [ + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Storage" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "storage.d.ts", + "functionName": null, + "SDKFunctionName": "getServiceAccount", + "params": [ + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "Promise", + "client": "Storage" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "storage.d.ts", + "functionName": null, + "SDKFunctionName": "getServiceAccount", + "params": [ + { + "name": "options", + "optional": false, + "type": "TypeReference" + }, + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Storage" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "storage.d.ts", + "functionName": null, + "SDKFunctionName": "getServiceAccount", + "params": [ + { + "name": "callback", + "optional": false, + "type": "TypeReference" + } + ], + "returnType": "VoidKeyword", + "returnTypeName": null, + "client": "Storage" + }, + { + "pkgName": "storage", + "version": null, + "fileName": "storage.d.ts", + "functionName": null, + "SDKFunctionName": "hmacKey", + "params": [ + { + "name": "accessId", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "returnType": "TypeReference", + "returnTypeName": "HmacKey", + "client": "Storage" + } + ], + "properties": [ + { + "name": "Bucket", + "type": "TypeQuery", + "typeRefName": null + }, + { + "name": "Channel", + "type": "TypeQuery", + "typeRefName": null + }, + { + "name": "File", + "type": "TypeQuery", + "typeRefName": null + }, + { + "name": "HmacKey", + "type": "TypeQuery", + "typeRefName": null + }, + { + "name": "acl", + "type": "TypeLiteral", + "typeRefName": null + }, + { + "name": "acl", + "type": "TypeQuery", + "typeRefName": null + }, + { + "name": "getBucketsStream", + "type": "FunctionType", + "typeRefName": null + }, + { + "name": "getHmacKeysStream", + "type": "FunctionType", + "typeRefName": null + } + ], + "constructor": { + "parameters": [ + { + "name": "options", + "optional": true, + "type": "TypeReference", + "typeRefName": "StorageOptions" + } + ] + } + } + ] } diff --git a/generator/test/transformers/googleCloud/dummyData/clientBasedTransformer/invalidDataset_1/data.json b/generator/test/transformers/googleCloud/dummyData/clientBasedTransformer/invalidDataset_1/data.json index 07611ed9..993c47fc 100644 --- a/generator/test/transformers/googleCloud/dummyData/clientBasedTransformer/invalidDataset_1/data.json +++ b/generator/test/transformers/googleCloud/dummyData/clientBasedTransformer/invalidDataset_1/data.json @@ -1,124 +1,124 @@ { - "functions": [ - { - "functionName": "create", - "SDKFunctionName": "createOrUpdate", - "params": [ - { - "name": "resourceGroupName", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "resourceName", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "parameters", - "optional": false, - "type": "TypeReference" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "pkgName": "arm-containerservice", - "fileName": "managedClusters.d.ts", - "client": "ContainerServiceClient", - "returnType": "TypeReference" - }, - { - "functionName": "delete", - "SDKFunctionName": "deleteMethod", - "params": [ - { - "name": "resourceGroupName", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "resourceName", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "pkgName": "arm-containerservice", - "fileName": "managedClusters.d.ts", - "client": "ContainerServiceClient", - "returnType": "TypeReference" - }, - { - "functionName": "updateTags", - "SDKFunctionName": "updateTags", - "params": [ - { - "name": "resourceGroupName", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "resourceName", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "parameters", - "optional": false, - "type": "TypeReference" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "pkgName": "arm-containerservice", - "fileName": "managedClusters.d.ts", - "client": "ContainerServiceClient", - "returnType": "TypeReference" - }, - { - "functionName": "listByResourceGroup", - "SDKFunctionName": "listByResourceGroup", - "params": [ - { - "name": "resourceGroupName", - "optional": false, - "type": "StringKeyword" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "pkgName": "arm-containerservice", - "fileName": "managedClusters.d.ts", - "client": "ContainerServiceClient", - "returnType": "TypeReference" - }, - { - "functionName": "listClusters", - "SDKFunctionName": "list", - "params": [ - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "pkgName": "arm-containerservice", - "fileName": "managedClusters.d.ts", - "client": "ContainerServiceClient", - "returnType": "TypeReference" - } - ] + "functions": [ + { + "functionName": "create", + "SDKFunctionName": "createOrUpdate", + "params": [ + { + "name": "resourceGroupName", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "resourceName", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "parameters", + "optional": false, + "type": "TypeReference" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "pkgName": "arm-containerservice", + "fileName": "managedClusters.d.ts", + "client": "ContainerServiceClient", + "returnType": "TypeReference" + }, + { + "functionName": "delete", + "SDKFunctionName": "deleteMethod", + "params": [ + { + "name": "resourceGroupName", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "resourceName", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "pkgName": "arm-containerservice", + "fileName": "managedClusters.d.ts", + "client": "ContainerServiceClient", + "returnType": "TypeReference" + }, + { + "functionName": "updateTags", + "SDKFunctionName": "updateTags", + "params": [ + { + "name": "resourceGroupName", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "resourceName", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "parameters", + "optional": false, + "type": "TypeReference" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "pkgName": "arm-containerservice", + "fileName": "managedClusters.d.ts", + "client": "ContainerServiceClient", + "returnType": "TypeReference" + }, + { + "functionName": "listByResourceGroup", + "SDKFunctionName": "listByResourceGroup", + "params": [ + { + "name": "resourceGroupName", + "optional": false, + "type": "StringKeyword" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "pkgName": "arm-containerservice", + "fileName": "managedClusters.d.ts", + "client": "ContainerServiceClient", + "returnType": "TypeReference" + }, + { + "functionName": "listClusters", + "SDKFunctionName": "list", + "params": [ + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "pkgName": "arm-containerservice", + "fileName": "managedClusters.d.ts", + "client": "ContainerServiceClient", + "returnType": "TypeReference" + } + ] } diff --git a/generator/test/transformers/googleCloud/dummyData/clientBasedTransformer/validDataset/data.json b/generator/test/transformers/googleCloud/dummyData/clientBasedTransformer/validDataset/data.json index 4d675398..1a162f72 100644 --- a/generator/test/transformers/googleCloud/dummyData/clientBasedTransformer/validDataset/data.json +++ b/generator/test/transformers/googleCloud/dummyData/clientBasedTransformer/validDataset/data.json @@ -1,125 +1,125 @@ { - "functions": [ - { - "functionName": "createAlarm", - "SDKFunctionName": "createAlertPolicy", - "params": [ - { - "name": "request", - "optional": false, - "type": "TypeReference" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "pkgName": "monitoring", - "fileName": "alert_policy_service_client.d.ts", - "client": "AlertPolicyServiceClient", - "returnType": "TypeReference", - "returnTypeName": "Promise" - }, - { - "functionName": "deleteAlarm", - "SDKFunctionName": "deleteAlertPolicy", - "params": [ - { - "name": "request", - "optional": false, - "type": "TypeReference" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "pkgName": "monitoring", - "fileName": "alert_policy_service_client.d.ts", - "client": "AlertPolicyServiceClient", - "returnType": "TypeReference", - "returnTypeName": "Promise" - }, - { - "functionName": "updateAlarm", - "SDKFunctionName": "updateAlertPolicy", - "params": [ - { - "name": "request", - "optional": false, - "type": "TypeReference" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "pkgName": "monitoring", - "fileName": "alert_policy_service_client.d.ts", - "client": "AlertPolicyServiceClient", - "returnType": "TypeReference", - "returnTypeName": "Promise" - }, - { - "functionName": "listAlarms", - "SDKFunctionName": "listAlertPolicies", - "params": [ - { - "name": "request", - "optional": false, - "type": "TypeReference" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "pkgName": "monitoring", - "fileName": "alert_policy_service_client.d.ts", - "client": "AlertPolicyServiceClient", - "returnType": "TypeReference", - "returnTypeName": "Promise" - }, - { - "functionName": "getMetricDescriptor", - "SDKFunctionName": "getMetricDescriptor", - "params": [ - { - "name": "request", - "optional": false, - "type": "TypeReference" - }, - { - "name": "options", - "optional": true, - "type": "TypeReference" - } - ], - "pkgName": "monitoring", - "fileName": "metric_service_client.d.ts", - "client": "MetricServiceClient", - "returnType": "TypeReference", - "returnTypeName": "Promise" - }, - { - "functionName": "projectPath", - "SDKFunctionName": "projectPath", - "params": [ - { - "name": "project", - "optional": false, - "type": "StringKeyword" - } - ], - "pkgName": "monitoring", - "fileName": "alert_policy_service_client.d.ts", - "client": "AlertPolicyServiceClient", - "returnType": "StringKeyword", - "returnTypeName": null - } - ] + "functions": [ + { + "functionName": "createAlarm", + "SDKFunctionName": "createAlertPolicy", + "params": [ + { + "name": "request", + "optional": false, + "type": "TypeReference" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "pkgName": "monitoring", + "fileName": "alert_policy_service_client.d.ts", + "client": "AlertPolicyServiceClient", + "returnType": "TypeReference", + "returnTypeName": "Promise" + }, + { + "functionName": "deleteAlarm", + "SDKFunctionName": "deleteAlertPolicy", + "params": [ + { + "name": "request", + "optional": false, + "type": "TypeReference" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "pkgName": "monitoring", + "fileName": "alert_policy_service_client.d.ts", + "client": "AlertPolicyServiceClient", + "returnType": "TypeReference", + "returnTypeName": "Promise" + }, + { + "functionName": "updateAlarm", + "SDKFunctionName": "updateAlertPolicy", + "params": [ + { + "name": "request", + "optional": false, + "type": "TypeReference" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "pkgName": "monitoring", + "fileName": "alert_policy_service_client.d.ts", + "client": "AlertPolicyServiceClient", + "returnType": "TypeReference", + "returnTypeName": "Promise" + }, + { + "functionName": "listAlarms", + "SDKFunctionName": "listAlertPolicies", + "params": [ + { + "name": "request", + "optional": false, + "type": "TypeReference" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "pkgName": "monitoring", + "fileName": "alert_policy_service_client.d.ts", + "client": "AlertPolicyServiceClient", + "returnType": "TypeReference", + "returnTypeName": "Promise" + }, + { + "functionName": "getMetricDescriptor", + "SDKFunctionName": "getMetricDescriptor", + "params": [ + { + "name": "request", + "optional": false, + "type": "TypeReference" + }, + { + "name": "options", + "optional": true, + "type": "TypeReference" + } + ], + "pkgName": "monitoring", + "fileName": "metric_service_client.d.ts", + "client": "MetricServiceClient", + "returnType": "TypeReference", + "returnTypeName": "Promise" + }, + { + "functionName": "projectPath", + "SDKFunctionName": "projectPath", + "params": [ + { + "name": "project", + "optional": false, + "type": "StringKeyword" + } + ], + "pkgName": "monitoring", + "fileName": "alert_policy_service_client.d.ts", + "client": "AlertPolicyServiceClient", + "returnType": "StringKeyword", + "returnTypeName": null + } + ] } diff --git a/generator/test/transformers/lib/helper.ts b/generator/test/transformers/lib/helper.ts index 9774466c..5186fbaa 100644 --- a/generator/test/transformers/lib/helper.ts +++ b/generator/test/transformers/lib/helper.ts @@ -2,34 +2,34 @@ import * as fs from 'fs'; import { createSourceFile, ScriptTarget } from 'typescript'; export function readSourceFile(datasetName, provider) { - return new Promise((resolve, reject) => { - try { - const testFile = - process.cwd() + - `/test/transformers/${provider}/dummyData/${datasetName}/sourceFile.js`; - const testAST = createSourceFile( - testFile, - fs.readFileSync(testFile).toString(), - ScriptTarget.Latest, - true - ); - resolve(testAST); - } catch (error) { - console.error(error); - } - }); + return new Promise((resolve, reject) => { + try { + const testFile = + process.cwd() + + `/test/transformers/${provider}/dummyData/${datasetName}/sourceFile.js`; + const testAST = createSourceFile( + testFile, + fs.readFileSync(testFile).toString(), + ScriptTarget.Latest, + true + ); + resolve(testAST); + } catch (error) { + console.error(error); + } + }); } export function readJsonData(datasetName, provider) { - return new Promise((resolve, reject) => { - try { - const testFile = - process.cwd() + - `/test/transformers/${provider}/dummyData/${datasetName}/data.json`; - const testData = JSON.parse(fs.readFileSync(testFile, 'utf8')); - resolve(testData); - } catch (error) { - console.error(error); - } - }); + return new Promise((resolve, reject) => { + try { + const testFile = + process.cwd() + + `/test/transformers/${provider}/dummyData/${datasetName}/data.json`; + const testData = JSON.parse(fs.readFileSync(testFile, 'utf8')); + resolve(testData); + } catch (error) { + console.error(error); + } + }); } diff --git a/generator/transformers/aws/transformer.ts b/generator/transformers/aws/transformer.ts index 19e9dfd7..24ffeac7 100644 --- a/generator/transformers/aws/transformer.ts +++ b/generator/transformers/aws/transformer.ts @@ -2,251 +2,238 @@ import { cloneDeep } from 'lodash'; import * as ts from 'typescript'; const dummyIdentifiers = [ - 'ClassName', - '_sdkClassName', - 'SDKClassName', - 'SDKFunctionName', + 'ClassName', + '_sdkClassName', + 'SDKClassName', + 'SDKFunctionName', ]; const printer: ts.Printer = ts.createPrinter({ - newLine: ts.NewLineKind.LineFeed, - removeComments: false, + newLine: ts.NewLineKind.LineFeed, + removeComments: false, }); function addMultiLineComment(node, comment: string) { - ts.addSyntheticLeadingComment( - node, - ts.SyntaxKind.MultiLineCommentTrivia, - comment, - true - ); + ts.addSyntheticLeadingComment( + node, + ts.SyntaxKind.MultiLineCommentTrivia, + comment, + true + ); } function runTransformation(sourceCode, transformMethod): Promise { - return new Promise((resolve, reject) => { - try { - const result = ts.transform(sourceCode, [transformMethod]); - const transformedNodes = result.transformed[0]; - const output = printer.printNode( - ts.EmitHint.SourceFile, - transformedNodes, - sourceCode - ); - resolve(output); - } catch (error) { - reject(error); - } - }); + return new Promise((resolve, reject) => { + try { + const result = ts.transform(sourceCode, [transformMethod]); + const transformedNodes = result.transformed[0]; + const output = printer.printNode( + ts.EmitHint.SourceFile, + transformedNodes, + sourceCode + ); + resolve(output); + } catch (error) { + reject(error); + } + }); } function toSourceFile(sourceCode: string): ts.SourceFile { - return ts.createSourceFile( - 'dummyClass.js', - sourceCode, - ts.ScriptTarget.Latest, - true - ); + return ts.createSourceFile( + 'dummyClass.js', + sourceCode, + ts.ScriptTarget.Latest, + true + ); } export async function transform( - code: ts.SourceFile, - classData: any + code: ts.SourceFile, + classData: any ): Promise { - const addFunctions = ( - context: ts.TransformationContext - ) => (rootNode: T) => { - function visit(node: ts.Node): ts.Node { - if (ts.isClassDeclaration(node)) { - let functions: any = []; - classData.functions.map(method => { - const clonedNode = Object.assign({}, node.members[1]); - clonedNode.name = ts.createIdentifier(method.functionName); - functions.push(clonedNode); - }); - - const updatedClass = ts.updateClassDeclaration( - node, - node.decorators, - node.modifiers, - node.name, - node.typeParameters, - node.heritageClauses, - ts.createNodeArray([node.members[0]].concat(functions)) - ); - - return updatedClass; - } - return ts.visitEachChild(node, visit, context); - } - return ts.visitNode(rootNode, visit); - }; - - const addIdentifiers = ( - context: ts.TransformationContext - ) => (rootNode: T) => { - let count = 0; - function visit(node: ts.Node): ts.Node { - if (ts.isMethodDeclaration(node)) { - const parameters = classData.functions[count].params.map( - param => { - const paramNode = ts.createParameter( - undefined, - undefined, - undefined, - param.name - ); - - if (param.optional) { - paramNode.initializer = ts.createIdentifier( - 'undefined' - ); - } - - return paramNode; - } - ); - - node.parameters = parameters; - } - - if (ts.isIdentifier(node) && dummyIdentifiers.includes(node.text)) { - let updatedIdentifier; - - switch (node.text) { - case 'ClassName': - updatedIdentifier = ts.updateIdentifier( - ts.createIdentifier('AWS_' + classData.serviceName) - ); - break; - case '_sdkClassName': - updatedIdentifier = ts.updateIdentifier( - ts.createIdentifier( - '_' + - classData.className - .charAt(0) - .toLowerCase() + - classData.className.substr(1) - ) - ); - break; - case 'SDKClassName': - updatedIdentifier = ts.updateIdentifier( - ts.createIdentifier(classData.className) - ); - break; - case 'SDKFunctionName': - updatedIdentifier = ts.updateIdentifier( - ts.createIdentifier( - classData.functions[count].SDKFunctionName - ) - ); - count++; - } - - return updatedIdentifier; - } - - if (ts.isCallExpression(node)) { - node.expression.forEachChild(childNode => { - if ( - ts.isIdentifier(childNode) && - childNode.text === 'SDKFunctionName' - ) { - const args = classData.functions[count].params.map( - param => ts.createIdentifier(param.name) - ); - node.arguments = args.concat(node.arguments); - } - }); - } - - return ts.visitEachChild(node, visit, context); - } - return ts.visitNode(rootNode, visit); - }; - - const addComments = ( - context: ts.TransformationContext - ) => (rootNode: T) => { - let count = 0; - - function visit(node: ts.Node): ts.Node { - if (ts.isClassDeclaration(node)) { - addMultiLineComment( - node, - 'This is an auto generated class, please do not change.' - ); - const comment = `* + const addFunctions = ( + context: ts.TransformationContext + ) => (rootNode: T) => { + function visit(node: ts.Node): ts.Node { + if (ts.isClassDeclaration(node)) { + let functions: any = []; + classData.functions.map(method => { + const clonedNode = Object.assign({}, node.members[1]); + clonedNode.name = ts.createIdentifier(method.functionName); + functions.push(clonedNode); + }); + + const updatedClass = ts.updateClassDeclaration( + node, + node.decorators, + node.modifiers, + node.name, + node.typeParameters, + node.heritageClauses, + ts.createNodeArray([node.members[0]].concat(functions)) + ); + + return updatedClass; + } + return ts.visitEachChild(node, visit, context); + } + return ts.visitNode(rootNode, visit); + }; + + const addIdentifiers = ( + context: ts.TransformationContext + ) => (rootNode: T) => { + let count = 0; + function visit(node: ts.Node): ts.Node { + if (ts.isMethodDeclaration(node)) { + const parameters = classData.functions[count].params.map(param => { + const paramNode = ts.createParameter( + undefined, + undefined, + undefined, + param.name + ); + + if (param.optional) { + paramNode.initializer = ts.createIdentifier('undefined'); + } + + return paramNode; + }); + + node.parameters = parameters; + } + + if (ts.isIdentifier(node) && dummyIdentifiers.includes(node.text)) { + let updatedIdentifier; + + switch (node.text) { + case 'ClassName': + updatedIdentifier = ts.updateIdentifier( + ts.createIdentifier('AWS_' + classData.serviceName) + ); + break; + case '_sdkClassName': + updatedIdentifier = ts.updateIdentifier( + ts.createIdentifier( + '_' + + classData.className.charAt(0).toLowerCase() + + classData.className.substr(1) + ) + ); + break; + case 'SDKClassName': + updatedIdentifier = ts.updateIdentifier( + ts.createIdentifier(classData.className) + ); + break; + case 'SDKFunctionName': + updatedIdentifier = ts.updateIdentifier( + ts.createIdentifier(classData.functions[count].SDKFunctionName) + ); + count++; + } + + return updatedIdentifier; + } + + if (ts.isCallExpression(node)) { + node.expression.forEachChild(childNode => { + if ( + ts.isIdentifier(childNode) && + childNode.text === 'SDKFunctionName' + ) { + const args = classData.functions[count].params.map(param => + ts.createIdentifier(param.name) + ); + node.arguments = args.concat(node.arguments); + } + }); + } + + return ts.visitEachChild(node, visit, context); + } + return ts.visitNode(rootNode, visit); + }; + + const addComments = ( + context: ts.TransformationContext + ) => (rootNode: T) => { + let count = 0; + + function visit(node: ts.Node): ts.Node { + if (ts.isClassDeclaration(node)) { + addMultiLineComment( + node, + 'This is an auto generated class, please do not change.' + ); + const comment = `* * Class to create a ${classData.className} object * @category AWS `; - addMultiLineComment(node, comment); - } - - if (ts.isMethodDeclaration(node)) { - let parameters = classData.functions[count].params.map( - param => { - let statment; - - if (param.optional) { - statment = `* @param {${param.typeName}} [${param.name}] - Data required for ${classData.functions[count].SDKFunctionName}`; - } else { - statment = `* @param {${param.typeName}} ${param.name} - Data required for ${classData.functions[count].SDKFunctionName}`; - } - return statment; - } - ); - - let comment; - if (parameters.length > 0) { - let paramStatments: string = ''; - parameters.map(param => { - paramStatments = paramStatments.concat( - paramStatments === '' ? `${param}` : `\n ${param}` - ); - }); - - comment = `* + addMultiLineComment(node, comment); + } + + if (ts.isMethodDeclaration(node)) { + let parameters = classData.functions[count].params.map(param => { + let statment; + + if (param.optional) { + statment = `* @param {${param.typeName}} [${param.name}] - Data required for ${classData.functions[count].SDKFunctionName}`; + } else { + statment = `* @param {${param.typeName}} ${param.name} - Data required for ${classData.functions[count].SDKFunctionName}`; + } + return statment; + }); + + let comment; + if (parameters.length > 0) { + let paramStatments: string = ''; + parameters.map(param => { + paramStatments = paramStatments.concat( + paramStatments === '' ? `${param}` : `\n ${param}` + ); + }); + + comment = `* * Trigers the ${classData.functions[count].SDKFunctionName} function of ${classData.className} ${paramStatments} * @returns {Promise<${classData.functions[count].SDKFunctionName}Response>} `; - } else { - comment = `* + } else { + comment = `* * Trigers the ${classData.functions[count].SDKFunctionName} function of ${classData.className} * @returns {Promise<${classData.functions[count].SDKFunctionName}Response>} `; - } - - addMultiLineComment(node, comment); - count++; - } - - return ts.visitEachChild(node, visit, context); - } - return ts.visitNode(rootNode, visit); - }; - - const node: any = code.statements.find(stm => ts.isClassDeclaration(stm)); - - if (!classData.className || !classData.functions) { - throw new Error('Input is invalid'); - } - - if (!node || !node.members.some(member => ts.isMethodDeclaration(member))) { - throw new Error('Code is invalid'); - } - - code = cloneDeep(code); - - const result_1 = await runTransformation(code, addFunctions); - const result_2 = await runTransformation( - toSourceFile(result_1), - addIdentifiers - ); - const result_3 = await runTransformation( - toSourceFile(result_2), - addComments - ); - return result_3; + } + + addMultiLineComment(node, comment); + count++; + } + + return ts.visitEachChild(node, visit, context); + } + return ts.visitNode(rootNode, visit); + }; + + const node: any = code.statements.find(stm => ts.isClassDeclaration(stm)); + + if (!classData.className || !classData.functions) { + throw new Error('Input is invalid'); + } + + if (!node || !node.members.some(member => ts.isMethodDeclaration(member))) { + throw new Error('Code is invalid'); + } + + code = cloneDeep(code); + + const result_1 = await runTransformation(code, addFunctions); + const result_2 = await runTransformation( + toSourceFile(result_1), + addIdentifiers + ); + const result_3 = await runTransformation(toSourceFile(result_2), addComments); + return result_3; } diff --git a/generator/transformers/azure/transformer.ts b/generator/transformers/azure/transformer.ts index 34f0a8dd..86457dcb 100644 --- a/generator/transformers/azure/transformer.ts +++ b/generator/transformers/azure/transformer.ts @@ -2,278 +2,261 @@ import { cloneDeep } from 'lodash'; import * as ts from 'typescript'; const dummyIdentifiers = [ - 'ClassName', - 'SDKClassName', - 'SDKFunctionName', - 'ClientName', - 'functionClient', + 'ClassName', + 'SDKClassName', + 'SDKFunctionName', + 'ClientName', + 'functionClient', ]; const printer: ts.Printer = ts.createPrinter({ - newLine: ts.NewLineKind.LineFeed, - removeComments: false, + newLine: ts.NewLineKind.LineFeed, + removeComments: false, }); function addMultiLineComment(node, comment: string) { - ts.addSyntheticLeadingComment( - node, - ts.SyntaxKind.MultiLineCommentTrivia, - comment, - true - ); + ts.addSyntheticLeadingComment( + node, + ts.SyntaxKind.MultiLineCommentTrivia, + comment, + true + ); } function runTransformation(sourceCode, transformMethod): Promise { - return new Promise((resolve, reject) => { - try { - const result = ts.transform(sourceCode, [transformMethod]); - const transformedNodes = result.transformed[0]; - const output = printer.printNode( - ts.EmitHint.SourceFile, - transformedNodes, - sourceCode - ); - resolve(output); - } catch (error) { - reject(error); - } - }); + return new Promise((resolve, reject) => { + try { + const result = ts.transform(sourceCode, [transformMethod]); + const transformedNodes = result.transformed[0]; + const output = printer.printNode( + ts.EmitHint.SourceFile, + transformedNodes, + sourceCode + ); + resolve(output); + } catch (error) { + reject(error); + } + }); } function toSourceFile(sourceCode: string): ts.SourceFile { - return ts.createSourceFile( - 'dummyClass.js', - sourceCode, - ts.ScriptTarget.Latest, - true - ); + return ts.createSourceFile( + 'dummyClass.js', + sourceCode, + ts.ScriptTarget.Latest, + true + ); } export async function transform( - code: ts.SourceFile, - classData: any + code: ts.SourceFile, + classData: any ): Promise { - const node: any = code.statements.find(stm => ts.isClassDeclaration(stm)); + const node: any = code.statements.find(stm => ts.isClassDeclaration(stm)); - if (!classData.functions) { - throw new Error('Input is invalid'); - } + if (!classData.functions) { + throw new Error('Input is invalid'); + } - if (!node || !node.members.some(member => ts.isMethodDeclaration(member))) { - throw new Error('Code is invalid'); - } + if (!node || !node.members.some(member => ts.isMethodDeclaration(member))) { + throw new Error('Code is invalid'); + } - code = cloneDeep(code); + code = cloneDeep(code); - // import related - classData.clients = Array.from( - new Set(classData.functions.map(method => method.client)) - ); - const importStatments: any = new Array(classData.clients.length); - importStatments.fill(Object.assign({}, code.statements[0])); - code.statements = importStatments.concat(code.statements.slice(1)); - // import related + // import related + classData.clients = Array.from( + new Set(classData.functions.map(method => method.client)) + ); + const importStatments: any = new Array(classData.clients.length); + importStatments.fill(Object.assign({}, code.statements[0])); + code.statements = importStatments.concat(code.statements.slice(1)); + // import related - const addFunctions = ( - context: ts.TransformationContext - ) => (rootNode: T) => { - function visit(node: ts.Node): ts.Node { - if (ts.isClassDeclaration(node)) { - let functions: any = []; - classData.functions.map(method => { - const clonedNode = Object.assign({}, node.members[1]); - clonedNode.name = ts.createIdentifier(method.functionName); - functions.push(clonedNode); - }); + const addFunctions = ( + context: ts.TransformationContext + ) => (rootNode: T) => { + function visit(node: ts.Node): ts.Node { + if (ts.isClassDeclaration(node)) { + let functions: any = []; + classData.functions.map(method => { + const clonedNode = Object.assign({}, node.members[1]); + clonedNode.name = ts.createIdentifier(method.functionName); + functions.push(clonedNode); + }); - const updatedClass = ts.updateClassDeclaration( - node, - node.decorators, - node.modifiers, - node.name, - node.typeParameters, - node.heritageClauses, - ts.createNodeArray([node.members[0]].concat(functions)) - ); + const updatedClass = ts.updateClassDeclaration( + node, + node.decorators, + node.modifiers, + node.name, + node.typeParameters, + node.heritageClauses, + ts.createNodeArray([node.members[0]].concat(functions)) + ); - return updatedClass; - } - return ts.visitEachChild(node, visit, context); - } - return ts.visitNode(rootNode, visit); - }; + return updatedClass; + } + return ts.visitEachChild(node, visit, context); + } + return ts.visitNode(rootNode, visit); + }; - const addIdentifiers = ( - context: ts.TransformationContext - ) => (rootNode: T) => { - let count = 0; - let clientCount = 0; - function visit(node: ts.Node): ts.Node { - if (ts.isMethodDeclaration(node)) { - const parameters = classData.functions[count].params.map( - param => { - const paramNode = ts.createParameter( - undefined, - undefined, - undefined, - param.name - ); + const addIdentifiers = ( + context: ts.TransformationContext + ) => (rootNode: T) => { + let count = 0; + let clientCount = 0; + function visit(node: ts.Node): ts.Node { + if (ts.isMethodDeclaration(node)) { + const parameters = classData.functions[count].params.map(param => { + const paramNode = ts.createParameter( + undefined, + undefined, + undefined, + param.name + ); - if (param.optional) { - paramNode.initializer = ts.createIdentifier( - 'undefined' - ); - } + if (param.optional) { + paramNode.initializer = ts.createIdentifier('undefined'); + } - return paramNode; - } - ); + return paramNode; + }); - node.parameters = parameters; - } + node.parameters = parameters; + } - if (ts.isStringLiteral(node) && node.text === 'pkgName') { - return ts.createStringLiteral( - '@azure/' + classData.functions[0].pkgName - ); - } + if (ts.isStringLiteral(node) && node.text === 'pkgName') { + return ts.createStringLiteral( + '@azure/' + classData.functions[0].pkgName + ); + } - if (ts.isIdentifier(node) && dummyIdentifiers.includes(node.text)) { - let updatedIdentifier; - switch (node.text) { - case 'ClassName': - updatedIdentifier = ts.updateIdentifier( - ts.createIdentifier( - 'Azure_' + classData.serviceName - ) - ); - break; - case 'SDKClassName': - updatedIdentifier = ts.updateIdentifier( - ts.createIdentifier( - classData.functions[count].fileName.split( - '.' - )[0] - ) - ); - break; - case 'functionClient': - updatedIdentifier = ts.updateIdentifier( - ts.createIdentifier( - classData.functions[count].client - ) - ); - break; - case 'ClientName': - updatedIdentifier = ts.updateIdentifier( - ts.createIdentifier(classData.clients[clientCount]) - ); - clientCount++; - break; - case 'SDKFunctionName': - updatedIdentifier = ts.updateIdentifier( - ts.createIdentifier( - classData.functions[count].SDKFunctionName - ) - ); - count++; - } - return updatedIdentifier; - } + if (ts.isIdentifier(node) && dummyIdentifiers.includes(node.text)) { + let updatedIdentifier; + switch (node.text) { + case 'ClassName': + updatedIdentifier = ts.updateIdentifier( + ts.createIdentifier('Azure_' + classData.serviceName) + ); + break; + case 'SDKClassName': + updatedIdentifier = ts.updateIdentifier( + ts.createIdentifier( + classData.functions[count].fileName.split('.')[0] + ) + ); + break; + case 'functionClient': + updatedIdentifier = ts.updateIdentifier( + ts.createIdentifier(classData.functions[count].client) + ); + break; + case 'ClientName': + updatedIdentifier = ts.updateIdentifier( + ts.createIdentifier(classData.clients[clientCount]) + ); + clientCount++; + break; + case 'SDKFunctionName': + updatedIdentifier = ts.updateIdentifier( + ts.createIdentifier(classData.functions[count].SDKFunctionName) + ); + count++; + } + return updatedIdentifier; + } - if (ts.isCallExpression(node)) { - node.expression.forEachChild(childNode => { - if ( - ts.isIdentifier(childNode) && - childNode.text === 'SDKFunctionName' - ) { - const args = classData.functions[count].params.map( - param => ts.createIdentifier(param.name) - ); - node.arguments = args; - } - }); - } + if (ts.isCallExpression(node)) { + node.expression.forEachChild(childNode => { + if ( + ts.isIdentifier(childNode) && + childNode.text === 'SDKFunctionName' + ) { + const args = classData.functions[count].params.map(param => + ts.createIdentifier(param.name) + ); + node.arguments = args; + } + }); + } - return ts.visitEachChild(node, visit, context); - } - return ts.visitNode(rootNode, visit); - }; + return ts.visitEachChild(node, visit, context); + } + return ts.visitNode(rootNode, visit); + }; - const addComments = ( - context: ts.TransformationContext - ) => (rootNode: T) => { - let count = 0; + const addComments = ( + context: ts.TransformationContext + ) => (rootNode: T) => { + let count = 0; - function visit(node: ts.Node): ts.Node { - if (ts.isClassDeclaration(node)) { - addMultiLineComment( - node, - 'This is an auto generated class, please do not change.' - ); - const comment = `* + function visit(node: ts.Node): ts.Node { + if (ts.isClassDeclaration(node)) { + addMultiLineComment( + node, + 'This is an auto generated class, please do not change.' + ); + const comment = `* * Class to create a ${classData.serviceName} object * @category Azure `; - addMultiLineComment(node, comment); - } + addMultiLineComment(node, comment); + } - if (ts.isMethodDeclaration(node)) { - let parameters = classData.functions[count].params.map( - param => { - let statment; + if (ts.isMethodDeclaration(node)) { + let parameters = classData.functions[count].params.map(param => { + let statment; - if (param.optional) { - statment = `* @param {${param.type}} [${param.name}] - Optional parameter`; - } else { - statment = `* @param {${param.type}} ${param.name} - Mandatory parameter`; - } - return statment; - } - ); + if (param.optional) { + statment = `* @param {${param.type}} [${param.name}] - Optional parameter`; + } else { + statment = `* @param {${param.type}} ${param.name} - Mandatory parameter`; + } + return statment; + }); - let comment; - if (parameters.length > 0) { - let paramStatments: string = ''; - parameters.map(param => { - paramStatments = paramStatments.concat( - paramStatments === '' ? `${param}` : `\n ${param}` - ); - }); + let comment; + if (parameters.length > 0) { + let paramStatments: string = ''; + parameters.map(param => { + paramStatments = paramStatments.concat( + paramStatments === '' ? `${param}` : `\n ${param}` + ); + }); - comment = `* + comment = `* * Trigers the ${classData.functions[count].SDKFunctionName} function of ${ - classData.functions[0].pkgName.split('-')[1] - } + classData.functions[0].pkgName.split('-')[1] + } ${paramStatments} * @returns {Promise<${classData.functions[count].SDKFunctionName}Response>} `; - } else { - comment = `* + } else { + comment = `* * Trigers the ${classData.functions[count].SDKFunctionName} function of ${ - classData.functions[0].pkgName.split('-')[1] - } + classData.functions[0].pkgName.split('-')[1] + } * @returns {Promise<${classData.functions[count].SDKFunctionName}Response>} `; - } + } - addMultiLineComment(node, comment); - count++; - } + addMultiLineComment(node, comment); + count++; + } - return ts.visitEachChild(node, visit, context); - } - return ts.visitNode(rootNode, visit); - }; + return ts.visitEachChild(node, visit, context); + } + return ts.visitNode(rootNode, visit); + }; - const result_1 = await runTransformation(code, addFunctions); - const result_2 = await runTransformation( - toSourceFile(result_1), - addIdentifiers - ); - const result_3 = await runTransformation( - toSourceFile(result_2), - addComments - ); - return result_3; + const result_1 = await runTransformation(code, addFunctions); + const result_2 = await runTransformation( + toSourceFile(result_1), + addIdentifiers + ); + const result_3 = await runTransformation(toSourceFile(result_2), addComments); + return result_3; } diff --git a/generator/transformers/do/transformer.ts b/generator/transformers/do/transformer.ts index 0f8d24c3..a5b90929 100644 --- a/generator/transformers/do/transformer.ts +++ b/generator/transformers/do/transformer.ts @@ -2,50 +2,50 @@ import { cloneDeep } from 'lodash'; import * as ts from 'typescript'; const dummyIdentifiers = [ - 'ClassName', - '_sdkClassName', - 'SDKClassName', - 'SDKFunctionName', + 'ClassName', + '_sdkClassName', + 'SDKClassName', + 'SDKFunctionName', ]; const printer: ts.Printer = ts.createPrinter({ - newLine: ts.NewLineKind.LineFeed, - removeComments: false, + newLine: ts.NewLineKind.LineFeed, + removeComments: false, }); function addMultiLineComment(node, comment: string) { - ts.addSyntheticLeadingComment( - node, - ts.SyntaxKind.MultiLineCommentTrivia, - comment, - true - ); + ts.addSyntheticLeadingComment( + node, + ts.SyntaxKind.MultiLineCommentTrivia, + comment, + true + ); } function runTransformation(sourceCode, transformMethod): Promise { - return new Promise((resolve, reject) => { - try { - const result = ts.transform(sourceCode, [transformMethod]); - const transformedNodes = result.transformed[0]; - const output = printer.printNode( - ts.EmitHint.SourceFile, - transformedNodes, - sourceCode - ); - resolve(output); - } catch (error) { - reject(error); - } - }); + return new Promise((resolve, reject) => { + try { + const result = ts.transform(sourceCode, [transformMethod]); + const transformedNodes = result.transformed[0]; + const output = printer.printNode( + ts.EmitHint.SourceFile, + transformedNodes, + sourceCode + ); + resolve(output); + } catch (error) { + reject(error); + } + }); } function toSourceFile(sourceCode: string): ts.SourceFile { - return ts.createSourceFile( - 'dummyClass.js', - sourceCode, - ts.ScriptTarget.Latest, - true - ); + return ts.createSourceFile( + 'dummyClass.js', + sourceCode, + ts.ScriptTarget.Latest, + true + ); } /* @@ -53,228 +53,215 @@ function toSourceFile(sourceCode: string): ts.SourceFile { */ export async function transform( - code: ts.SourceFile, - classData: any + code: ts.SourceFile, + classData: any ): Promise { - /* - * Transformation function for adding Functions - */ - const addFunctions = ( - context: ts.TransformationContext - ) => (rootNode: T) => { - function visit(node: ts.Node): ts.Node { - if (ts.isClassDeclaration(node)) { - let functions: any = []; - classData.functions.map(method => { - const clonedNode = Object.assign({}, node.members[1]); - // console.log("Cloned Node..........\n");//sdadas - // console.log(clonedNode);//asdasdasdasd - clonedNode.name = ts.createIdentifier(method.functionName); - functions.push(clonedNode); - }); - - const updatedClass = ts.updateClassDeclaration( - node, - node.decorators, - node.modifiers, - node.name, - node.typeParameters, - node.heritageClauses, - ts.createNodeArray([node.members[0]].concat(functions)) - ); - - return updatedClass; - } - return ts.visitEachChild(node, visit, context); - } - return ts.visitNode(rootNode, visit); - }; - - /* - * Transformation function for adding Identifiers/Parameters - */ - const addIdentifiers = ( - context: ts.TransformationContext - ) => (rootNode: T) => { - let count = 0; - function visit(node: ts.Node): ts.Node { - if (ts.isMethodDeclaration(node)) { - const parameters = classData.functions[count].params.map( - param => { - const paramNode = ts.createParameter( - undefined, - undefined, - undefined, - param.name - ); - - if (param.optional) { - paramNode.initializer = ts.createIdentifier( - 'undefined' - ); - } - - return paramNode; - } - ); - - node.parameters = parameters; - } - - if (ts.isIdentifier(node) && dummyIdentifiers.includes(node.text)) { - let updatedIdentifier; - - switch (node.text) { - case 'ClassName': - updatedIdentifier = ts.updateIdentifier( - ts.createIdentifier('DO_' + classData.serviceName) - ); - break; - case '_sdkClassName': - updatedIdentifier = ts.updateIdentifier( - ts.createIdentifier( - '_' + - classData.className - .charAt(0) - .toLowerCase() + - classData.className.substr(1) - ) - ); - break; - case 'SDKClassName': - updatedIdentifier = ts.updateIdentifier( - ts.createIdentifier( - classData.className.charAt(0).toLowerCase() + - classData.className.substr(1) - ) - ); - break; - case 'SDKFunctionName': - updatedIdentifier = ts.updateIdentifier( - ts.createIdentifier( - classData.functions[count].SDKFunctionName - ) - ); - count++; - } - - return updatedIdentifier; - } - - if (ts.isCallExpression(node)) { - node.expression.forEachChild(childNode => { - if ( - ts.isIdentifier(childNode) && - childNode.text === 'SDKFunctionName' - ) { - const args = classData.functions[count].params.map( - param => ts.createIdentifier(param.name) - ); - node.arguments = args.concat(node.arguments); - } - }); - } - - return ts.visitEachChild(node, visit, context); - } - return ts.visitNode(rootNode, visit); - }; - - /* - *Transformation function for adding comments - */ - - const addComments = ( - context: ts.TransformationContext - ) => (rootNode: T) => { - let count = 0; - - function visit(node: ts.Node): ts.Node { - if (ts.isClassDeclaration(node)) { - addMultiLineComment( - node, - 'This is an auto generated class, please do not change.' - ); - const comment = `* + /* + * Transformation function for adding Functions + */ + const addFunctions = ( + context: ts.TransformationContext + ) => (rootNode: T) => { + function visit(node: ts.Node): ts.Node { + if (ts.isClassDeclaration(node)) { + let functions: any = []; + classData.functions.map(method => { + const clonedNode = Object.assign({}, node.members[1]); + // console.log("Cloned Node..........\n");//sdadas + // console.log(clonedNode);//asdasdasdasd + clonedNode.name = ts.createIdentifier(method.functionName); + functions.push(clonedNode); + }); + + const updatedClass = ts.updateClassDeclaration( + node, + node.decorators, + node.modifiers, + node.name, + node.typeParameters, + node.heritageClauses, + ts.createNodeArray([node.members[0]].concat(functions)) + ); + + return updatedClass; + } + return ts.visitEachChild(node, visit, context); + } + return ts.visitNode(rootNode, visit); + }; + + /* + * Transformation function for adding Identifiers/Parameters + */ + const addIdentifiers = ( + context: ts.TransformationContext + ) => (rootNode: T) => { + let count = 0; + function visit(node: ts.Node): ts.Node { + if (ts.isMethodDeclaration(node)) { + const parameters = classData.functions[count].params.map(param => { + const paramNode = ts.createParameter( + undefined, + undefined, + undefined, + param.name + ); + + if (param.optional) { + paramNode.initializer = ts.createIdentifier('undefined'); + } + + return paramNode; + }); + + node.parameters = parameters; + } + + if (ts.isIdentifier(node) && dummyIdentifiers.includes(node.text)) { + let updatedIdentifier; + + switch (node.text) { + case 'ClassName': + updatedIdentifier = ts.updateIdentifier( + ts.createIdentifier('DO_' + classData.serviceName) + ); + break; + case '_sdkClassName': + updatedIdentifier = ts.updateIdentifier( + ts.createIdentifier( + '_' + + classData.className.charAt(0).toLowerCase() + + classData.className.substr(1) + ) + ); + break; + case 'SDKClassName': + updatedIdentifier = ts.updateIdentifier( + ts.createIdentifier( + classData.className.charAt(0).toLowerCase() + + classData.className.substr(1) + ) + ); + break; + case 'SDKFunctionName': + updatedIdentifier = ts.updateIdentifier( + ts.createIdentifier(classData.functions[count].SDKFunctionName) + ); + count++; + } + + return updatedIdentifier; + } + + if (ts.isCallExpression(node)) { + node.expression.forEachChild(childNode => { + if ( + ts.isIdentifier(childNode) && + childNode.text === 'SDKFunctionName' + ) { + const args = classData.functions[count].params.map(param => + ts.createIdentifier(param.name) + ); + node.arguments = args.concat(node.arguments); + } + }); + } + + return ts.visitEachChild(node, visit, context); + } + return ts.visitNode(rootNode, visit); + }; + + /* + *Transformation function for adding comments + */ + + const addComments = ( + context: ts.TransformationContext + ) => (rootNode: T) => { + let count = 0; + + function visit(node: ts.Node): ts.Node { + if (ts.isClassDeclaration(node)) { + addMultiLineComment( + node, + 'This is an auto generated class, please do not change.' + ); + const comment = `* * Class to create a ${classData.className} object * @category Digital Ocean `; - addMultiLineComment(node, comment); - } - - if (ts.isMethodDeclaration(node)) { - let parameters = classData.functions[count].params.map( - param => { - let statment; - - if (param.optional) { - if (param.type == 'TypeReference') - statment = `* @param {${param.typeName}} ${param.name} - Data required for ${classData.functions[count].SDKFunctionName}`; - else - statment = `* @param {${param.type}} ${param.name} - Data required for ${classData.functions[count].SDKFunctionName}`; - } else { - if (param.type == 'TypeReference') - statment = `* @param {${param.typeName}} ${param.name} - Data required for ${classData.functions[count].SDKFunctionName}`; - else - statment = `* @param {${param.type}} ${param.name} - Data required for ${classData.functions[count].SDKFunctionName}`; - } - return statment; - } - ); - - let comment; - if (parameters.length > 0) { - let paramStatments: string = ''; - parameters.map(param => { - paramStatments = paramStatments.concat( - paramStatments === '' ? `${param}` : `\n${param}` - ); - }); - - comment = `* + addMultiLineComment(node, comment); + } + + if (ts.isMethodDeclaration(node)) { + let parameters = classData.functions[count].params.map(param => { + let statment; + + if (param.optional) { + if (param.type == 'TypeReference') + statment = `* @param {${param.typeName}} ${param.name} - Data required for ${classData.functions[count].SDKFunctionName}`; + else + statment = `* @param {${param.type}} ${param.name} - Data required for ${classData.functions[count].SDKFunctionName}`; + } else { + if (param.type == 'TypeReference') + statment = `* @param {${param.typeName}} ${param.name} - Data required for ${classData.functions[count].SDKFunctionName}`; + else + statment = `* @param {${param.type}} ${param.name} - Data required for ${classData.functions[count].SDKFunctionName}`; + } + return statment; + }); + + let comment; + if (parameters.length > 0) { + let paramStatments: string = ''; + parameters.map(param => { + paramStatments = paramStatments.concat( + paramStatments === '' ? `${param}` : `\n${param}` + ); + }); + + comment = `* * Trigers the ${classData.functions[count].SDKFunctionName} function of ${classData.className} ${paramStatments} * @returns {Promise<${classData.functions[count].SDKFunctionName}Response>} `; - } else { - comment = `* + } else { + comment = `* * Trigers the ${classData.functions[count].SDKFunctionName} function of ${classData.className} * @returns {Promise<${classData.functions[count].SDKFunctionName}Response>} `; - } - - addMultiLineComment(node, comment); - count++; - } - - return ts.visitEachChild(node, visit, context); - } - return ts.visitNode(rootNode, visit); - }; - - /* - * Code to get node and run tranformations - */ - const node: any = code.statements.find(stm => ts.isClassDeclaration(stm)); - - if (!classData.className || !classData.functions) { - throw new Error('Input is invalid'); - } - - if (!node || !node.members.some(member => ts.isMethodDeclaration(member))) { - throw new Error('Code is invalid'); - } - - code = cloneDeep(code); - - const result_1 = await runTransformation(code, addFunctions); - const result_2 = await runTransformation( - toSourceFile(result_1), - addIdentifiers - ); - const result_3 = await runTransformation( - toSourceFile(result_2), - addComments - ); - return result_3; + } + + addMultiLineComment(node, comment); + count++; + } + + return ts.visitEachChild(node, visit, context); + } + return ts.visitNode(rootNode, visit); + }; + + /* + * Code to get node and run tranformations + */ + const node: any = code.statements.find(stm => ts.isClassDeclaration(stm)); + + if (!classData.className || !classData.functions) { + throw new Error('Input is invalid'); + } + + if (!node || !node.members.some(member => ts.isMethodDeclaration(member))) { + throw new Error('Code is invalid'); + } + + code = cloneDeep(code); + + const result_1 = await runTransformation(code, addFunctions); + const result_2 = await runTransformation( + toSourceFile(result_1), + addIdentifiers + ); + const result_3 = await runTransformation(toSourceFile(result_2), addComments); + return result_3; } diff --git a/generator/transformers/googleCloud/classBasedTransformer.ts b/generator/transformers/googleCloud/classBasedTransformer.ts index 99746fe1..256339e7 100644 --- a/generator/transformers/googleCloud/classBasedTransformer.ts +++ b/generator/transformers/googleCloud/classBasedTransformer.ts @@ -2,333 +2,309 @@ import { cloneDeep } from 'lodash'; import * as ts from 'typescript'; const dummyIdentifiers = [ - 'ClassName', - 'SDKFunctionName', - 'ClientName', - '_client', - '_clientObj', - 'Client', - '_className', + 'ClassName', + 'SDKFunctionName', + 'ClientName', + '_client', + '_clientObj', + 'Client', + '_className', ]; const printer: ts.Printer = ts.createPrinter({ - newLine: ts.NewLineKind.LineFeed, - removeComments: false, + newLine: ts.NewLineKind.LineFeed, + removeComments: false, }); function addMultiLineComment(node, comment: string) { - ts.addSyntheticLeadingComment( - node, - ts.SyntaxKind.MultiLineCommentTrivia, - comment, - true - ); + ts.addSyntheticLeadingComment( + node, + ts.SyntaxKind.MultiLineCommentTrivia, + comment, + true + ); } function runTransformation(sourceCode, transformMethod): Promise { - return new Promise((resolve, reject) => { - try { - const result = ts.transform(sourceCode, [transformMethod]); - const transformedNodes = result.transformed[0]; - const output = printer.printNode( - ts.EmitHint.SourceFile, - transformedNodes, - sourceCode - ); - resolve(output); - } catch (error) { - reject(error); - } - }); + return new Promise((resolve, reject) => { + try { + const result = ts.transform(sourceCode, [transformMethod]); + const transformedNodes = result.transformed[0]; + const output = printer.printNode( + ts.EmitHint.SourceFile, + transformedNodes, + sourceCode + ); + resolve(output); + } catch (error) { + reject(error); + } + }); } function toSourceFile(sourceCode: string): ts.SourceFile { - return ts.createSourceFile( - 'dummyClass.js', - sourceCode, - ts.ScriptTarget.Latest, - true - ); + return ts.createSourceFile( + 'dummyClass.js', + sourceCode, + ts.ScriptTarget.Latest, + true + ); } export async function classBasedTransform( - code: ts.SourceFile, - data: any + code: ts.SourceFile, + data: any ): Promise { - const node: any = code.statements.find(stm => ts.isClassDeclaration(stm)); - - if (!data.functions || !data.classData) { - throw new Error('Input is invalid'); - } - - if (!node || !node.members.some(member => ts.isMethodDeclaration(member))) { - throw new Error('Code is invalid'); - } - - code = cloneDeep(code); - - const addFunctions = ( - context: ts.TransformationContext - ) => (rootNode: T) => { - function visit(node: ts.Node): ts.Node { - if (ts.isClassDeclaration(node)) { - let functions: any = []; - data.functions.map(method => { - let clonedNode; - if (method.returnTypeName === 'Promise') { - if ( - (method.classConstructorData.parameters[0].type = - 'TypeReference' && - !method.classConstructorData.parameters[0] - .optional) - ) { - clonedNode = Object.assign({}, node.members[3]); - } else { - clonedNode = Object.assign({}, node.members[1]); - } - } else { - clonedNode = Object.assign({}, node.members[2]); - } - clonedNode.name = ts.createIdentifier(method.functionName); - functions.push(clonedNode); - }); - - const updatedClass = ts.updateClassDeclaration( - node, - node.decorators, - node.modifiers, - node.name, - node.typeParameters, - node.heritageClauses, - ts.createNodeArray([node.members[0]].concat(functions)) - ); - - return updatedClass; - } - return ts.visitEachChild(node, visit, context); - } - return ts.visitNode(rootNode, visit); - }; - - const addIdentifiers = ( - context: ts.TransformationContext - ) => (rootNode: T) => { - let count = 0; - function visit(node: ts.Node): ts.Node { - if (ts.isMethodDeclaration(node)) { - data.functions[count].allParams = []; - - let params = []; - if ( - (data.functions[ - count - ].classConstructorData.parameters[0].type = - 'TypeReference' && - !data.functions[count].classConstructorData - .parameters[0].optional) - ) { - params.push( - data.functions[count].classConstructorData.parameters[0] - ); - - data.functions[count].allParams.push({ - name: 'identifier', - optional: true, - type: 'string', - }); - } - - params = params.concat(data.functions[count].params); - data.functions[count].allParams = data.functions[ - count - ].allParams.concat(params); - - const parameters: any = params.map(param => { - const paramNode = ts.createParameter( - undefined, - undefined, - undefined, - param.name - ); - - if (param.optional) { - paramNode.initializer = ts.createIdentifier( - 'undefined' - ); - } - - return paramNode; - }); - - node.parameters = parameters.concat(node.parameters); - } - - if (ts.isStringLiteral(node) && node.text === 'pkgName') { - return ts.createStringLiteral( - '@google-cloud/' + data.functions[0].pkgName - ); - } - - if (ts.isIdentifier(node) && dummyIdentifiers.includes(node.text)) { - let updatedIdentifier; - switch (node.text) { - case 'ClassName': - updatedIdentifier = ts.updateIdentifier( - ts.createIdentifier( - 'GCP_' + data.functions[0].pkgName - ) - ); - break; - case 'ClientName': - updatedIdentifier = ts.updateIdentifier( - ts.createIdentifier(data.mainClass) - ); - break; - case 'SDKFunctionName': - updatedIdentifier = ts.updateIdentifier( - ts.createIdentifier( - data.functions[count].SDKFunctionName - ) - ); - count++; - break; - case '_className': - updatedIdentifier = ts.updateIdentifier( - ts.createIdentifier( - data.functions[count].client.toLowerCase() - ) - ); - break; - case '_client': - if ( - (data.functions[ - count - ].classConstructorData.parameters[0].type = - 'TypeReference' && - !data.functions[count].classConstructorData - .parameters[0].optional) - ) { - updatedIdentifier = ts.updateIdentifier( - ts.createIdentifier( - data.functions[count].classConstructorData - .parameters[0].name - ) - ); - } else { - updatedIdentifier = ts.updateIdentifier( - ts.createIdentifier( - '_' + data.mainClass.toLowerCase() - ) - ); - } - break; - case '_clientObj': - updatedIdentifier = ts.updateIdentifier( - ts.createIdentifier( - '_' + data.mainClass.toLowerCase() - ) - ); - break; - case 'Client': - updatedIdentifier = ts.updateIdentifier( - ts.createIdentifier(data.mainClass) - ); - break; - } - return updatedIdentifier; - } - - if (ts.isCallExpression(node)) { - node.expression.forEachChild(childNode => { - if ( - ts.isIdentifier(childNode) && - childNode.text === 'SDKFunctionName' - ) { - const args = data.functions[count].params.map(param => - ts.createIdentifier(param.name) - ); - node.arguments = args; - } - }); - } - - return ts.visitEachChild(node, visit, context); - } - return ts.visitNode(rootNode, visit); - }; - - const addComments = ( - context: ts.TransformationContext - ) => (rootNode: T) => { - let count = 0; - - function visit(node: ts.Node): ts.Node { - if (ts.isClassDeclaration(node)) { - addMultiLineComment( - node, - 'This is an auto generated class, please do not change.' - ); - const comment = `* + const node: any = code.statements.find(stm => ts.isClassDeclaration(stm)); + + if (!data.functions || !data.classData) { + throw new Error('Input is invalid'); + } + + if (!node || !node.members.some(member => ts.isMethodDeclaration(member))) { + throw new Error('Code is invalid'); + } + + code = cloneDeep(code); + + const addFunctions = ( + context: ts.TransformationContext + ) => (rootNode: T) => { + function visit(node: ts.Node): ts.Node { + if (ts.isClassDeclaration(node)) { + let functions: any = []; + data.functions.map(method => { + let clonedNode; + if (method.returnTypeName === 'Promise') { + if ( + (method.classConstructorData.parameters[0].type = + 'TypeReference' && + !method.classConstructorData.parameters[0].optional) + ) { + clonedNode = Object.assign({}, node.members[3]); + } else { + clonedNode = Object.assign({}, node.members[1]); + } + } else { + clonedNode = Object.assign({}, node.members[2]); + } + clonedNode.name = ts.createIdentifier(method.functionName); + functions.push(clonedNode); + }); + + const updatedClass = ts.updateClassDeclaration( + node, + node.decorators, + node.modifiers, + node.name, + node.typeParameters, + node.heritageClauses, + ts.createNodeArray([node.members[0]].concat(functions)) + ); + + return updatedClass; + } + return ts.visitEachChild(node, visit, context); + } + return ts.visitNode(rootNode, visit); + }; + + const addIdentifiers = ( + context: ts.TransformationContext + ) => (rootNode: T) => { + let count = 0; + function visit(node: ts.Node): ts.Node { + if (ts.isMethodDeclaration(node)) { + data.functions[count].allParams = []; + + let params = []; + if ( + (data.functions[count].classConstructorData.parameters[0].type = + 'TypeReference' && + !data.functions[count].classConstructorData.parameters[0].optional) + ) { + params.push(data.functions[count].classConstructorData.parameters[0]); + + data.functions[count].allParams.push({ + name: 'identifier', + optional: true, + type: 'string', + }); + } + + params = params.concat(data.functions[count].params); + data.functions[count].allParams = data.functions[ + count + ].allParams.concat(params); + + const parameters: any = params.map(param => { + const paramNode = ts.createParameter( + undefined, + undefined, + undefined, + param.name + ); + + if (param.optional) { + paramNode.initializer = ts.createIdentifier('undefined'); + } + + return paramNode; + }); + + node.parameters = parameters.concat(node.parameters); + } + + if (ts.isStringLiteral(node) && node.text === 'pkgName') { + return ts.createStringLiteral( + '@google-cloud/' + data.functions[0].pkgName + ); + } + + if (ts.isIdentifier(node) && dummyIdentifiers.includes(node.text)) { + let updatedIdentifier; + switch (node.text) { + case 'ClassName': + updatedIdentifier = ts.updateIdentifier( + ts.createIdentifier('GCP_' + data.functions[0].pkgName) + ); + break; + case 'ClientName': + updatedIdentifier = ts.updateIdentifier( + ts.createIdentifier(data.mainClass) + ); + break; + case 'SDKFunctionName': + updatedIdentifier = ts.updateIdentifier( + ts.createIdentifier(data.functions[count].SDKFunctionName) + ); + count++; + break; + case '_className': + updatedIdentifier = ts.updateIdentifier( + ts.createIdentifier(data.functions[count].client.toLowerCase()) + ); + break; + case '_client': + if ( + (data.functions[count].classConstructorData.parameters[0].type = + 'TypeReference' && + !data.functions[count].classConstructorData.parameters[0] + .optional) + ) { + updatedIdentifier = ts.updateIdentifier( + ts.createIdentifier( + data.functions[count].classConstructorData.parameters[0].name + ) + ); + } else { + updatedIdentifier = ts.updateIdentifier( + ts.createIdentifier('_' + data.mainClass.toLowerCase()) + ); + } + break; + case '_clientObj': + updatedIdentifier = ts.updateIdentifier( + ts.createIdentifier('_' + data.mainClass.toLowerCase()) + ); + break; + case 'Client': + updatedIdentifier = ts.updateIdentifier( + ts.createIdentifier(data.mainClass) + ); + break; + } + return updatedIdentifier; + } + + if (ts.isCallExpression(node)) { + node.expression.forEachChild(childNode => { + if ( + ts.isIdentifier(childNode) && + childNode.text === 'SDKFunctionName' + ) { + const args = data.functions[count].params.map(param => + ts.createIdentifier(param.name) + ); + node.arguments = args; + } + }); + } + + return ts.visitEachChild(node, visit, context); + } + return ts.visitNode(rootNode, visit); + }; + + const addComments = ( + context: ts.TransformationContext + ) => (rootNode: T) => { + let count = 0; + + function visit(node: ts.Node): ts.Node { + if (ts.isClassDeclaration(node)) { + addMultiLineComment( + node, + 'This is an auto generated class, please do not change.' + ); + const comment = `* * Class to create a ${data.functions[0].pkgName} object * @category Google Cloud `; - addMultiLineComment(node, comment); - } - - if (ts.isMethodDeclaration(node)) { - let parameters = data.functions[count].allParams.map(param => { - let statment; - - if (param.optional) { - statment = `* @param {${ - param.typeRefName ? param.typeRefName : param.type - }} [${param.name}] - Optional parameter`; - } else { - statment = `* @param {${ - param.typeRefName ? param.typeRefName : param.type - }} ${param.name} - Mandatory parameter`; - } - return statment; - }); - - let comment; - if (parameters.length > 0) { - let paramStatments: string = ''; - parameters.map(param => { - paramStatments = paramStatments.concat( - paramStatments === '' ? `${param}` : `\n ${param}` - ); - }); - - comment = `* + addMultiLineComment(node, comment); + } + + if (ts.isMethodDeclaration(node)) { + let parameters = data.functions[count].allParams.map(param => { + let statment; + + if (param.optional) { + statment = `* @param {${ + param.typeRefName ? param.typeRefName : param.type + }} [${param.name}] - Optional parameter`; + } else { + statment = `* @param {${ + param.typeRefName ? param.typeRefName : param.type + }} ${param.name} - Mandatory parameter`; + } + return statment; + }); + + let comment; + if (parameters.length > 0) { + let paramStatments: string = ''; + parameters.map(param => { + paramStatments = paramStatments.concat( + paramStatments === '' ? `${param}` : `\n ${param}` + ); + }); + + comment = `* * Trigers the ${data.functions[count].SDKFunctionName} function of ${data.functions[0].pkgName} ${paramStatments} * @returns {Promise<${data.functions[count].SDKFunctionName}Response>} `; - } else { - comment = `* + } else { + comment = `* * Trigers the ${data.functions[count].SDKFunctionName} function of ${data.functions[0].pkgName} * @returns {Promise<${data.functions[count].SDKFunctionName}Response>} `; - } - - addMultiLineComment(node, comment); - count++; - } - - return ts.visitEachChild(node, visit, context); - } - return ts.visitNode(rootNode, visit); - }; - - const result_1 = await runTransformation(code, addFunctions); - const result_2 = await runTransformation( - toSourceFile(result_1), - addIdentifiers - ); - const result_3 = await runTransformation( - toSourceFile(result_2), - addComments - ); - return result_3; + } + + addMultiLineComment(node, comment); + count++; + } + + return ts.visitEachChild(node, visit, context); + } + return ts.visitNode(rootNode, visit); + }; + + const result_1 = await runTransformation(code, addFunctions); + const result_2 = await runTransformation( + toSourceFile(result_1), + addIdentifiers + ); + const result_3 = await runTransformation(toSourceFile(result_2), addComments); + return result_3; } diff --git a/generator/transformers/googleCloud/clientBasedTransformer.ts b/generator/transformers/googleCloud/clientBasedTransformer.ts index d7a120f9..d2da42ba 100644 --- a/generator/transformers/googleCloud/clientBasedTransformer.ts +++ b/generator/transformers/googleCloud/clientBasedTransformer.ts @@ -2,308 +2,291 @@ import { cloneDeep } from 'lodash'; import * as ts from 'typescript'; const dummyIdentifiers = [ - 'ClassName', - 'SDKFunctionName', - 'ClientName', - '_client', - '_clientObj', - 'Client', + 'ClassName', + 'SDKFunctionName', + 'ClientName', + '_client', + '_clientObj', + 'Client', ]; const printer: ts.Printer = ts.createPrinter({ - newLine: ts.NewLineKind.LineFeed, - removeComments: false, + newLine: ts.NewLineKind.LineFeed, + removeComments: false, }); function addMultiLineComment(node, comment: string) { - ts.addSyntheticLeadingComment( - node, - ts.SyntaxKind.MultiLineCommentTrivia, - comment, - true - ); + ts.addSyntheticLeadingComment( + node, + ts.SyntaxKind.MultiLineCommentTrivia, + comment, + true + ); } function runTransformation(sourceCode, transformMethod): Promise { - return new Promise((resolve, reject) => { - try { - const result = ts.transform(sourceCode, [transformMethod]); - const transformedNodes = result.transformed[0]; - const output = printer.printNode( - ts.EmitHint.SourceFile, - transformedNodes, - sourceCode - ); - resolve(output); - } catch (error) { - reject(error); - } - }); + return new Promise((resolve, reject) => { + try { + const result = ts.transform(sourceCode, [transformMethod]); + const transformedNodes = result.transformed[0]; + const output = printer.printNode( + ts.EmitHint.SourceFile, + transformedNodes, + sourceCode + ); + resolve(output); + } catch (error) { + reject(error); + } + }); } function toSourceFile(sourceCode: string): ts.SourceFile { - return ts.createSourceFile( - 'dummyClass.js', - sourceCode, - ts.ScriptTarget.Latest, - true - ); + return ts.createSourceFile( + 'dummyClass.js', + sourceCode, + ts.ScriptTarget.Latest, + true + ); } export async function clientBasedTransform( - code: ts.SourceFile, - classData: any + code: ts.SourceFile, + classData: any ): Promise { - const node: any = code.statements.find(stm => ts.isClassDeclaration(stm)); + const node: any = code.statements.find(stm => ts.isClassDeclaration(stm)); - if (!classData.functions) { - throw new Error('Input is invalid'); - } + if (!classData.functions) { + throw new Error('Input is invalid'); + } - if (!node || !node.members.some(member => ts.isMethodDeclaration(member))) { - throw new Error('Code is invalid'); - } + if (!node || !node.members.some(member => ts.isMethodDeclaration(member))) { + throw new Error('Code is invalid'); + } - code = cloneDeep(code); + code = cloneDeep(code); - // import related - classData.clients = Array.from( - new Set(classData.functions.map(method => method.client)) - ); - const importStatments: any = new Array(classData.clients.length); - importStatments.fill(Object.assign({}, code.statements[0])); - code.statements = importStatments.concat(code.statements.slice(1)); + // import related + classData.clients = Array.from( + new Set(classData.functions.map(method => method.client)) + ); + const importStatments: any = new Array(classData.clients.length); + importStatments.fill(Object.assign({}, code.statements[0])); + code.statements = importStatments.concat(code.statements.slice(1)); - let classDeclarationNode: any = code.statements.find(node => - ts.isClassDeclaration(node) - ); - let constructorNode: any = classDeclarationNode.members.find( - node => ts.SyntaxKind[node.kind] === 'Constructor' - ); - const clientObjects: any = new Array(classData.clients.length); - clientObjects.fill(Object.assign({}, constructorNode.body.statements[0])); - constructorNode.body.statements = clientObjects; - // import related + let classDeclarationNode: any = code.statements.find(node => + ts.isClassDeclaration(node) + ); + let constructorNode: any = classDeclarationNode.members.find( + node => ts.SyntaxKind[node.kind] === 'Constructor' + ); + const clientObjects: any = new Array(classData.clients.length); + clientObjects.fill(Object.assign({}, constructorNode.body.statements[0])); + constructorNode.body.statements = clientObjects; + // import related - const addFunctions = ( - context: ts.TransformationContext - ) => (rootNode: T) => { - function visit(node: ts.Node): ts.Node { - if (ts.isClassDeclaration(node)) { - let functions: any = []; - classData.functions.map(method => { - let clonedNode; - if (method.returnTypeName === 'Promise') { - clonedNode = Object.assign({}, node.members[1]); - } else { - clonedNode = Object.assign({}, node.members[2]); - } - clonedNode.name = ts.createIdentifier(method.functionName); - functions.push(clonedNode); - }); + const addFunctions = ( + context: ts.TransformationContext + ) => (rootNode: T) => { + function visit(node: ts.Node): ts.Node { + if (ts.isClassDeclaration(node)) { + let functions: any = []; + classData.functions.map(method => { + let clonedNode; + if (method.returnTypeName === 'Promise') { + clonedNode = Object.assign({}, node.members[1]); + } else { + clonedNode = Object.assign({}, node.members[2]); + } + clonedNode.name = ts.createIdentifier(method.functionName); + functions.push(clonedNode); + }); - const updatedClass = ts.updateClassDeclaration( - node, - node.decorators, - node.modifiers, - node.name, - node.typeParameters, - node.heritageClauses, - ts.createNodeArray([node.members[0]].concat(functions)) - ); + const updatedClass = ts.updateClassDeclaration( + node, + node.decorators, + node.modifiers, + node.name, + node.typeParameters, + node.heritageClauses, + ts.createNodeArray([node.members[0]].concat(functions)) + ); - return updatedClass; - } - return ts.visitEachChild(node, visit, context); - } - return ts.visitNode(rootNode, visit); - }; + return updatedClass; + } + return ts.visitEachChild(node, visit, context); + } + return ts.visitNode(rootNode, visit); + }; - const addIdentifiers = ( - context: ts.TransformationContext - ) => (rootNode: T) => { - let count = 0; - let clientCount = 0; - let clientObjCount = 0; - function visit(node: ts.Node): ts.Node { - if (ts.isMethodDeclaration(node)) { - const parameters = classData.functions[count].params.map( - param => { - const paramNode = ts.createParameter( - undefined, - undefined, - undefined, - param.name - ); + const addIdentifiers = ( + context: ts.TransformationContext + ) => (rootNode: T) => { + let count = 0; + let clientCount = 0; + let clientObjCount = 0; + function visit(node: ts.Node): ts.Node { + if (ts.isMethodDeclaration(node)) { + const parameters = classData.functions[count].params.map(param => { + const paramNode = ts.createParameter( + undefined, + undefined, + undefined, + param.name + ); - if (param.optional) { - paramNode.initializer = ts.createIdentifier( - 'undefined' - ); - } + if (param.optional) { + paramNode.initializer = ts.createIdentifier('undefined'); + } - return paramNode; - } - ); + return paramNode; + }); - node.parameters = parameters; - } + node.parameters = parameters; + } - if (ts.isStringLiteral(node) && node.text === 'pkgName') { - return ts.createStringLiteral( - '@google-cloud/' + classData.functions[0].pkgName - ); - } + if (ts.isStringLiteral(node) && node.text === 'pkgName') { + return ts.createStringLiteral( + '@google-cloud/' + classData.functions[0].pkgName + ); + } - if (ts.isIdentifier(node) && dummyIdentifiers.includes(node.text)) { - let updatedIdentifier; - switch (node.text) { - case 'ClassName': - updatedIdentifier = ts.updateIdentifier( - ts.createIdentifier('GCP_' + classData.serviceName) - ); - break; - case 'ClientName': - updatedIdentifier = ts.updateIdentifier( - ts.createIdentifier(classData.clients[clientCount]) - ); - clientCount++; - break; - case 'SDKFunctionName': - updatedIdentifier = ts.updateIdentifier( - ts.createIdentifier( - classData.functions[count].SDKFunctionName - ) - ); - count++; - break; - case '_client': - updatedIdentifier = ts.updateIdentifier( - ts.createIdentifier( - '_' + - classData.functions[count].client - .toLowerCase() - .charAt(0) + - classData.functions[count].client.substr(1) - ) - ); - break; - case '_clientObj': - updatedIdentifier = ts.updateIdentifier( - ts.createIdentifier( - '_' + - classData.clients[clientObjCount] - .toLowerCase() - .charAt(0) + - classData.clients[clientObjCount].substr(1) - ) - ); - break; - case 'Client': - updatedIdentifier = ts.updateIdentifier( - ts.createIdentifier( - classData.clients[clientObjCount] - ) - ); - clientObjCount++; - break; - } - return updatedIdentifier; - } + if (ts.isIdentifier(node) && dummyIdentifiers.includes(node.text)) { + let updatedIdentifier; + switch (node.text) { + case 'ClassName': + updatedIdentifier = ts.updateIdentifier( + ts.createIdentifier('GCP_' + classData.serviceName) + ); + break; + case 'ClientName': + updatedIdentifier = ts.updateIdentifier( + ts.createIdentifier(classData.clients[clientCount]) + ); + clientCount++; + break; + case 'SDKFunctionName': + updatedIdentifier = ts.updateIdentifier( + ts.createIdentifier(classData.functions[count].SDKFunctionName) + ); + count++; + break; + case '_client': + updatedIdentifier = ts.updateIdentifier( + ts.createIdentifier( + '_' + + classData.functions[count].client.toLowerCase().charAt(0) + + classData.functions[count].client.substr(1) + ) + ); + break; + case '_clientObj': + updatedIdentifier = ts.updateIdentifier( + ts.createIdentifier( + '_' + + classData.clients[clientObjCount].toLowerCase().charAt(0) + + classData.clients[clientObjCount].substr(1) + ) + ); + break; + case 'Client': + updatedIdentifier = ts.updateIdentifier( + ts.createIdentifier(classData.clients[clientObjCount]) + ); + clientObjCount++; + break; + } + return updatedIdentifier; + } - if (ts.isCallExpression(node)) { - node.expression.forEachChild(childNode => { - if ( - ts.isIdentifier(childNode) && - childNode.text === 'SDKFunctionName' - ) { - const args = classData.functions[count].params.map( - param => ts.createIdentifier(param.name) - ); - node.arguments = args; - } - }); - } + if (ts.isCallExpression(node)) { + node.expression.forEachChild(childNode => { + if ( + ts.isIdentifier(childNode) && + childNode.text === 'SDKFunctionName' + ) { + const args = classData.functions[count].params.map(param => + ts.createIdentifier(param.name) + ); + node.arguments = args; + } + }); + } - return ts.visitEachChild(node, visit, context); - } - return ts.visitNode(rootNode, visit); - }; + return ts.visitEachChild(node, visit, context); + } + return ts.visitNode(rootNode, visit); + }; - const addComments = ( - context: ts.TransformationContext - ) => (rootNode: T) => { - let count = 0; + const addComments = ( + context: ts.TransformationContext + ) => (rootNode: T) => { + let count = 0; - function visit(node: ts.Node): ts.Node { - if (ts.isClassDeclaration(node)) { - addMultiLineComment( - node, - 'This is an auto generated class, please do not change.' - ); - const comment = `* + function visit(node: ts.Node): ts.Node { + if (ts.isClassDeclaration(node)) { + addMultiLineComment( + node, + 'This is an auto generated class, please do not change.' + ); + const comment = `* * Class to create a ${classData.serviceName} object * @category Google Cloud `; - addMultiLineComment(node, comment); - } + addMultiLineComment(node, comment); + } - if (ts.isMethodDeclaration(node)) { - let parameters = classData.functions[count].params.map( - param => { - let statment; + if (ts.isMethodDeclaration(node)) { + let parameters = classData.functions[count].params.map(param => { + let statment; - if (param.optional) { - statment = `* @param {${param.type}} [${param.name}] - Data required for ${classData.functions[count].SDKFunctionName}`; - } else { - statment = `* @param {${param.type}} ${param.name} - Data required for ${classData.functions[count].SDKFunctionName}`; - } - return statment; - } - ); + if (param.optional) { + statment = `* @param {${param.type}} [${param.name}] - Data required for ${classData.functions[count].SDKFunctionName}`; + } else { + statment = `* @param {${param.type}} ${param.name} - Data required for ${classData.functions[count].SDKFunctionName}`; + } + return statment; + }); - let comment; - if (parameters.length > 0) { - let paramStatments: string = ''; - parameters.map(param => { - paramStatments = paramStatments.concat( - paramStatments === '' ? `${param}` : `\n ${param}` - ); - }); + let comment; + if (parameters.length > 0) { + let paramStatments: string = ''; + parameters.map(param => { + paramStatments = paramStatments.concat( + paramStatments === '' ? `${param}` : `\n ${param}` + ); + }); - comment = `* + comment = `* * Trigers the ${classData.functions[count].SDKFunctionName} function of ${ - classData.functions[0].pkgName.split('-')[1] - } + classData.functions[0].pkgName.split('-')[1] + } ${paramStatments} * @returns {Promise<${classData.functions[count].SDKFunctionName}Response>} `; - } else { - comment = `* + } else { + comment = `* * Trigers the ${classData.functions[count].SDKFunctionName} function of ${ - classData.functions[0].pkgName.split('-')[1] - } + classData.functions[0].pkgName.split('-')[1] + } * @returns {Promise<${classData.functions[count].SDKFunctionName}Response>} `; - } + } - addMultiLineComment(node, comment); - count++; - } + addMultiLineComment(node, comment); + count++; + } - return ts.visitEachChild(node, visit, context); - } - return ts.visitNode(rootNode, visit); - }; + return ts.visitEachChild(node, visit, context); + } + return ts.visitNode(rootNode, visit); + }; - const result_1 = await runTransformation(code, addFunctions); - const result_2 = await runTransformation( - toSourceFile(result_1), - addIdentifiers - ); - const result_3 = await runTransformation( - toSourceFile(result_2), - addComments - ); - return result_3; + const result_1 = await runTransformation(code, addFunctions); + const result_2 = await runTransformation( + toSourceFile(result_1), + addIdentifiers + ); + const result_3 = await runTransformation(toSourceFile(result_2), addComments); + return result_3; } diff --git a/generator/tsconfig.json b/generator/tsconfig.json index 5910b5fb..7881b9a0 100644 --- a/generator/tsconfig.json +++ b/generator/tsconfig.json @@ -1,7 +1,7 @@ { - "compilerOptions": { - "module": "commonjs", - "sourceMap": true, - "target": "es2018" - } + "compilerOptions": { + "module": "commonjs", + "sourceMap": true, + "target": "es2018" + } } diff --git a/jsdoc.json b/jsdoc.json index 8463eacc..9d2c4ccb 100644 --- a/jsdoc.json +++ b/jsdoc.json @@ -1,21 +1,21 @@ { - "source": { - "include": ["generator/generatedClasses/"], - "includePattern": ".js$", - "excludePattern": "(node_modules/|docs)" - }, - "plugins": ["plugins/markdown", "node_modules/better-docs/category"], - "templates": { - "cleverLinks": true, - "monospaceLinks": true - }, - "opts": { - "template": "node_modules/better-docs", - "recurse": true, - "destination": "./docs/", - "readme": "README.md" - }, - "tags": { - "allowUnknownTags": ["category"] - } + "source": { + "include": ["generator/generatedClasses/"], + "includePattern": ".js$", + "excludePattern": "(node_modules/|docs)" + }, + "plugins": ["plugins/markdown", "node_modules/better-docs/category"], + "templates": { + "cleverLinks": true, + "monospaceLinks": true + }, + "opts": { + "template": "node_modules/better-docs", + "recurse": true, + "destination": "./docs/", + "readme": "README.md" + }, + "tags": { + "allowUnknownTags": ["category"] + } } diff --git a/lerna.json b/lerna.json index ada6baa9..8f89cb96 100644 --- a/lerna.json +++ b/lerna.json @@ -1,6 +1,6 @@ { - "packages": ["packages/*"], - "version": "independent", - "npmClient": "yarn", - "useWorkspaces": true + "packages": ["packages/*"], + "version": "independent", + "npmClient": "yarn", + "useWorkspaces": true } diff --git a/package.json b/package.json index a8188ee4..3e454f91 100644 --- a/package.json +++ b/package.json @@ -1,62 +1,62 @@ { - "name": "nodecloud", - "private": "true", - "workspaces": [ - "packages/*", - "generator" - ], - "description": "⚡️ The Node.js API for open cloud", - "scripts": { - "test": "lerna run test", - "lint": "lerna run lint", - "prettier": "lerna run prettier", - "format": "prettier --write {,*/**/}*.{ts,json}", - "doc": "jsdoc -c jsdoc.json", - "generator": " cd generator && tsc main.ts && node main.js" - }, - "repository": { - "type": "git", - "url": "git+https://github.com/cloudlibz/nodecloud.git" - }, - "keywords": [ - "nodecloud", - "nodejs", - "node", - "node-cloud", - "node-aws", - "node-azure" - ], - "author": "scorelab", - "license": "Apache-2.0", - "bugs": { - "url": "https://github.com/cloudlibz/nodecloud/issues" - }, - "homepage": "https://github.com/cloudlibz/nodecloud#readme", - "devDependencies": { - "@types/chai": "^4.2.12", - "@types/lodash": "^4.14.158", - "@types/mocha": "^8.0.0", - "@types/node": "^14.0.6", - "@typescript-eslint/eslint-plugin": "^5.19.0", - "@typescript-eslint/parser": "^5.19.0", - "better-docs": "^2.3.0", - "chai": "^4.2.0", - "cross-env": "^7.0.2", - "eslint": "^8.13.0", - "eslint-plugin-simple-import-sort": "^7.0.0", - "husky": "^4.3.0", - "jsdoc": "^3.6.5", - "lerna": "^3.22.1", - "mocha": "^8.0.1", - "nock": "^9.6.1", - "prettier": "^1.15.3", - "pretty-quick": "^1.8.0", - "ts-node": "^8.10.2" - }, - "husky": { - "hooks": { - "pre-commit": "lerna run test && lerna run prettier && lerna run lint", - "pre-push": "lerna run test" - } - } + "name": "nodecloud", + "private": "true", + "workspaces": [ + "packages/*", + "generator" + ], + "description": "⚡️ The Node.js API for open cloud", + "scripts": { + "test": "lerna run test", + "lint": "lerna run lint", + "prettier": "lerna run prettier", + "format": "prettier --write {,*/**/}*.{ts,json}", + "doc": "jsdoc -c jsdoc.json", + "generator": " cd generator && tsc main.ts && node main.js" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/cloudlibz/nodecloud.git" + }, + "keywords": [ + "nodecloud", + "nodejs", + "node", + "node-cloud", + "node-aws", + "node-azure" + ], + "author": "scorelab", + "license": "Apache-2.0", + "bugs": { + "url": "https://github.com/cloudlibz/nodecloud/issues" + }, + "homepage": "https://github.com/cloudlibz/nodecloud#readme", + "devDependencies": { + "@types/chai": "^4.2.12", + "@types/lodash": "^4.14.158", + "@types/mocha": "^8.0.0", + "@types/node": "^14.0.6", + "@typescript-eslint/eslint-plugin": "^5.19.0", + "@typescript-eslint/parser": "^5.19.0", + "better-docs": "^2.3.0", + "chai": "^4.2.0", + "cross-env": "^7.0.2", + "eslint": "^8.13.0", + "eslint-plugin-simple-import-sort": "^7.0.0", + "husky": "^4.3.0", + "jsdoc": "^3.6.5", + "lerna": "^3.22.1", + "mocha": "^8.0.1", + "nock": "^9.6.1", + "prettier": "^1.15.3", + "pretty-quick": "^1.8.0", + "ts-node": "^8.10.2" + }, + "husky": { + "hooks": { + "pre-commit": "lerna run test && lerna run prettier && lerna run lint", + "pre-push": "lerna run test" + } + } } diff --git a/packages/aws-plugin/package.json b/packages/aws-plugin/package.json index df1b28d3..3fa75029 100644 --- a/packages/aws-plugin/package.json +++ b/packages/aws-plugin/package.json @@ -1,18 +1,18 @@ { - "name": "@nodecloud/aws-plugin", - "version": "2.0.0", - "description": "NodeCloud AWS plugin", - "main": "index.js", - "scripts": { - "prettier": "yarn pretty-quick" - }, - "keywords": [ - "nodecloud", - "nodecloud-aws" - ], - "author": "Scorelab", - "license": "Apache-2.0", - "dependencies": { - "aws-sdk": "^2.686.0" - } + "name": "@nodecloud/aws-plugin", + "version": "2.0.0", + "description": "NodeCloud AWS plugin", + "main": "index.js", + "scripts": { + "prettier": "yarn pretty-quick" + }, + "keywords": [ + "nodecloud", + "nodecloud-aws" + ], + "author": "Scorelab", + "license": "Apache-2.0", + "dependencies": { + "aws-sdk": "^2.686.0" + } } diff --git a/packages/azure-plugin/package.json b/packages/azure-plugin/package.json index 1800e8e5..b8713b91 100644 --- a/packages/azure-plugin/package.json +++ b/packages/azure-plugin/package.json @@ -1,29 +1,29 @@ { - "name": "@nodecloud/azure-plugin", - "version": "2.0.0", - "description": "NodeCloud Azure plugin", - "main": "index.js", - "scripts": { - "prettier": "yarn pretty-quick" - }, - "keywords": [ - "nodecloud", - "nodecloud-azure" - ], - "author": "Scorelab", - "license": "Apache-2.0", - "dependencies": { - "@azure/arm-appservice": "^6.0.0", - "@azure/arm-compute": "^14.0.0", - "@azure/arm-containerservice": "^11.0.0", - "@azure/arm-cosmosdb": "^9.1.0", - "@azure/arm-dns": "^4.0.0", - "@azure/arm-keyvault": "^1.2.1", - "@azure/arm-monitor": "^6.0.0", - "@azure/arm-network": "^22.0.0", - "@azure/arm-sql": "^7.0.2", - "@azure/arm-storage": "^15.1.0", - "@azure/ms-rest-js": "^2.0.7", - "@azure/ms-rest-nodeauth": "^3.0.5" - } + "name": "@nodecloud/azure-plugin", + "version": "2.0.0", + "description": "NodeCloud Azure plugin", + "main": "index.js", + "scripts": { + "prettier": "yarn pretty-quick" + }, + "keywords": [ + "nodecloud", + "nodecloud-azure" + ], + "author": "Scorelab", + "license": "Apache-2.0", + "dependencies": { + "@azure/arm-appservice": "^6.0.0", + "@azure/arm-compute": "^14.0.0", + "@azure/arm-containerservice": "^11.0.0", + "@azure/arm-cosmosdb": "^9.1.0", + "@azure/arm-dns": "^4.0.0", + "@azure/arm-keyvault": "^1.2.1", + "@azure/arm-monitor": "^6.0.0", + "@azure/arm-network": "^22.0.0", + "@azure/arm-sql": "^7.0.2", + "@azure/arm-storage": "^15.1.0", + "@azure/ms-rest-js": "^2.0.7", + "@azure/ms-rest-nodeauth": "^3.0.5" + } } diff --git a/packages/common/package.json b/packages/common/package.json index fa170de9..83d213ec 100644 --- a/packages/common/package.json +++ b/packages/common/package.json @@ -1,19 +1,19 @@ { - "name": "@nodecloud/common", - "version": "2.0.0", - "description": "NodeCloud core", - "main": "index.js", - "scripts": { - "test": "mocha \"./**/*.test.js\"", - "prettier": "yarn pretty-quick" - }, - "keywords": [ - "nodecloud" - ], - "author": "Scorelab", - "license": "Apache-2.0", - "dependencies": { - "config": "^1.26.1", - "key-mirror": "^1.0.1" - } + "name": "@nodecloud/common", + "version": "2.0.0", + "description": "NodeCloud core", + "main": "index.js", + "scripts": { + "test": "mocha \"./**/*.test.js\"", + "prettier": "yarn pretty-quick" + }, + "keywords": [ + "nodecloud" + ], + "author": "Scorelab", + "license": "Apache-2.0", + "dependencies": { + "config": "^1.26.1", + "key-mirror": "^1.0.1" + } } diff --git a/packages/do-plugin/package.json b/packages/do-plugin/package.json index f5d9924e..782aa297 100644 --- a/packages/do-plugin/package.json +++ b/packages/do-plugin/package.json @@ -1,18 +1,18 @@ { - "name": "@nodecloud/do-plugin", - "version": "2.0.0", - "description": "NodeCloud Digital Ocean plugin", - "main": "index.js", - "scripts": { - "prettier": "yarn pretty-quick" - }, - "keywords": [ - "nodecloud", - "nodecloud-Digital-Ocean" - ], - "author": "Scorelab", - "license": "Apache-2.0", - "dependencies": { - "do-wrapper": "^4.5.1" - } + "name": "@nodecloud/do-plugin", + "version": "2.0.0", + "description": "NodeCloud Digital Ocean plugin", + "main": "index.js", + "scripts": { + "prettier": "yarn pretty-quick" + }, + "keywords": [ + "nodecloud", + "nodecloud-Digital-Ocean" + ], + "author": "Scorelab", + "license": "Apache-2.0", + "dependencies": { + "do-wrapper": "^4.5.1" + } } diff --git a/packages/gcp-plugin/package.json b/packages/gcp-plugin/package.json index 0a8d147b..2a7ca1d6 100644 --- a/packages/gcp-plugin/package.json +++ b/packages/gcp-plugin/package.json @@ -1,28 +1,28 @@ { - "name": "@nodecloud/gcp-plugin", - "version": "2.0.0", - "description": "NodeCloud GCP plugin", - "main": "index.js", - "scripts": { - "prettier": "yarn pretty-quick" - }, - "keywords": [ - "nodecloud", - "nodecloud-gcp" - ], - "author": "Scorelab", - "license": "Apache-2.0", - "dependencies": { - "@google-cloud/automl": "^2.2.0", - "@google-cloud/compute": "^2.0.1", - "@google-cloud/container": "^2.1.1", - "@google-cloud/dns": "^2.0.1", - "@google-cloud/firestore": "^4.2.0", - "@google-cloud/kms": "^2.1.2", - "@google-cloud/monitoring": "^2.1.1", - "@google-cloud/pubsub": "^2.5.0", - "@google-cloud/spanner": "^5.2.1", - "@google-cloud/storage": "^5.1.1", - "@google-cloud/translate": "^6.0.2" - } + "name": "@nodecloud/gcp-plugin", + "version": "2.0.0", + "description": "NodeCloud GCP plugin", + "main": "index.js", + "scripts": { + "prettier": "yarn pretty-quick" + }, + "keywords": [ + "nodecloud", + "nodecloud-gcp" + ], + "author": "Scorelab", + "license": "Apache-2.0", + "dependencies": { + "@google-cloud/automl": "^2.2.0", + "@google-cloud/compute": "^2.0.1", + "@google-cloud/container": "^2.1.1", + "@google-cloud/dns": "^2.0.1", + "@google-cloud/firestore": "^4.2.0", + "@google-cloud/kms": "^2.1.2", + "@google-cloud/monitoring": "^2.1.1", + "@google-cloud/pubsub": "^2.5.0", + "@google-cloud/spanner": "^5.2.1", + "@google-cloud/storage": "^5.1.1", + "@google-cloud/translate": "^6.0.2" + } } From 150374c8c858facd000b9bdb4e940f294c5f4cbd Mon Sep 17 00:00:00 2001 From: Pranjal Walia Date: Sun, 17 Jul 2022 01:01:40 +0530 Subject: [PATCH 09/19] chore: run formatter on remaining files --- generator/generators/aliyun/generator.ts | 37 ++-- generator/parsers/aliyun/parser.ts | 197 +++++++++---------- generator/test/parsers/aliyun/parser.test.ts | 38 ++-- 3 files changed, 133 insertions(+), 139 deletions(-) diff --git a/generator/generators/aliyun/generator.ts b/generator/generators/aliyun/generator.ts index 79f15166..d87ef857 100644 --- a/generator/generators/aliyun/generator.ts +++ b/generator/generators/aliyun/generator.ts @@ -1,24 +1,21 @@ import { ClassData, extractSDKData, getAST } from '../../parsers/aliyun/parser'; export const generateAliyunClass = ( - serviceClass: unknown, - serviceName: string + serviceClass: unknown, + serviceName: string ) => { - const sdkfile = serviceClass[Object.keys(serviceClass)[0]]; - getAST(sdkfile) - .then(async result => { - const sdkClassAst = result; - try { - const classData: ClassData = extractSDKData( - sdkClassAst, - serviceClass - ); - classData.serviceName = serviceName; - } catch (err) { - console.error('Error : ', err); - } - }) - .catch(error => { - console.error('Error : ', error); - }); -}; \ No newline at end of file + const sdkfile = serviceClass[Object.keys(serviceClass)[0]]; + getAST(sdkfile) + .then(async result => { + const sdkClassAst = result; + try { + const classData: ClassData = extractSDKData(sdkClassAst, serviceClass); + classData.serviceName = serviceName; + } catch (err) { + console.error('Error : ', err); + } + }) + .catch(error => { + console.error('Error : ', error); + }); +}; diff --git a/generator/parsers/aliyun/parser.ts b/generator/parsers/aliyun/parser.ts index 878cd88e..145bfc64 100644 --- a/generator/parsers/aliyun/parser.ts +++ b/generator/parsers/aliyun/parser.ts @@ -3,115 +3,112 @@ import * as path from 'path'; import { createSourceFile, ScriptTarget, SyntaxKind } from 'typescript'; export const getAST = (sdkFilePath: string) => { - return new Promise(async (resolve, reject) => { - const [module, rootFile, service] = sdkFilePath.split(' '); - try { - const file = path.join( - __dirname, - '../../../node_modules/aliyun-v2-typescript-sdk/dist/modules/', - module.toLowerCase(), - rootFile - ); - - const ast = createSourceFile( - file, - fs.readFileSync(file).toString(), - ScriptTarget.Latest, - true - ); - - let cloned = null; - - await ast.forEachChild(child => { - if (SyntaxKind[child.kind] === 'ClassDeclaration') { - cloned = Object.assign({}, child); - } - }); - - if (!cloned) { - reject(new Error('Class not found!')); - } else { - resolve(cloned); - } - } catch (error) { - if (error.code === 'ENOENT') { - reject(new Error('File not found!')); - } else { - reject(error); - } - } - }); + return new Promise(async (resolve, reject) => { + const [module, rootFile, service] = sdkFilePath.split(' '); + try { + const file = path.join( + __dirname, + '../../../node_modules/aliyun-v2-typescript-sdk/dist/modules/', + module.toLowerCase(), + rootFile + ); + + const ast = createSourceFile( + file, + fs.readFileSync(file).toString(), + ScriptTarget.Latest, + true + ); + + let cloned = null; + + await ast.forEachChild(child => { + if (SyntaxKind[child.kind] === 'ClassDeclaration') { + cloned = Object.assign({}, child); + } + }); + + if (!cloned) { + reject(new Error('Class not found!')); + } else { + resolve(cloned); + } + } catch (error) { + if (error.code === 'ENOENT') { + reject(new Error('File not found!')); + } else { + reject(error); + } + } + }); }; export const extractSDKData = (sdkClassAst, serviceClass): ClassData => { - const methods: FunctionData[] = []; - const functions = []; - - Object.keys(serviceClass).forEach((key: string) => { - functions.push(serviceClass[key].split(' ')[2]); - }); - - sdkClassAst.members.forEach(method => { - if (method.name && functions.includes(method.name.text)) { - let name; - Object.keys(serviceClass).forEach((key: string) => { - if (serviceClass[key].split(' ')[2] === method.name.text) { - name = key; - } - }); - - const parameters = []; - method.parameters.forEach(param => { - if (param.name.text !== 'callback') { - const parameter = { - name: param.name.text, - optional: param.questionToken ? true : false, - type: SyntaxKind[param.type.kind], - typeName: null, - }; - - if ( - parameter.type === 'TypeReference' && - param.type.typeName - ) { - parameter.typeName = param.type.typeName.text; - } - - parameters.push(parameter); - } - }); - - methods.push({ - functionName: name.toString(), - SDKFunctionName: method.name.text.toString(), - params: parameters, - }); - } - }); - - const classData: ClassData = { - className: sdkClassAst.name.text, - functions: methods, - serviceName: null, - }; - - return classData; + const methods: FunctionData[] = []; + const functions = []; + + Object.keys(serviceClass).forEach((key: string) => { + functions.push(serviceClass[key].split(' ')[2]); + }); + + sdkClassAst.members.forEach(method => { + if (method.name && functions.includes(method.name.text)) { + let name; + Object.keys(serviceClass).forEach((key: string) => { + if (serviceClass[key].split(' ')[2] === method.name.text) { + name = key; + } + }); + + const parameters = []; + method.parameters.forEach(param => { + if (param.name.text !== 'callback') { + const parameter = { + name: param.name.text, + optional: param.questionToken ? true : false, + type: SyntaxKind[param.type.kind], + typeName: null, + }; + + if (parameter.type === 'TypeReference' && param.type.typeName) { + parameter.typeName = param.type.typeName.text; + } + + parameters.push(parameter); + } + }); + + methods.push({ + functionName: name.toString(), + SDKFunctionName: method.name.text.toString(), + params: parameters, + }); + } + }); + + const classData: ClassData = { + className: sdkClassAst.name.text, + functions: methods, + serviceName: null, + }; + + return classData; }; export interface ClassData { - className: string; - functions: FunctionData[]; - serviceName: string; + className: string; + functions: FunctionData[]; + serviceName: string; } interface FunctionData { - functionName: string; - SDKFunctionName: string; - params: param[]; + functionName: string; + SDKFunctionName: string; + params: param[]; } interface param { - name: string; - type: string; - typeName: string; -} \ No newline at end of file + name: string; + type: string; + typeName: string; +} diff --git a/generator/test/parsers/aliyun/parser.test.ts b/generator/test/parsers/aliyun/parser.test.ts index 771fa901..7379815b 100644 --- a/generator/test/parsers/aliyun/parser.test.ts +++ b/generator/test/parsers/aliyun/parser.test.ts @@ -4,23 +4,23 @@ import { SyntaxKind } from 'typescript'; import { getAST } from '../../../parsers/aliyun/parser'; describe('Aliyun getAST Implementation', () => { - const sdkFilePath = 'oss index.d.ts setRegion'; - const invalidPath = 'oss unknown.d.ts setRegion'; - context('With existing file', () => { - it('Should return Abstract syntax tree of the class', async () => { - const ast: any = await getAST(sdkFilePath); - expect(ast).to.be.an('object'); - expect(SyntaxKind[ast.kind] === 'ClassDeclaration').to.be.true; - }); - }); + const sdkFilePath = 'oss index.d.ts setRegion'; + const invalidPath = 'oss unknown.d.ts setRegion'; + context('With existing file', () => { + it('Should return Abstract syntax tree of the class', async () => { + const ast: any = await getAST(sdkFilePath); + expect(ast).to.be.an('object'); + expect(SyntaxKind[ast.kind] === 'ClassDeclaration').to.be.true; + }); + }); - context('With non-existing file', () => { - it('should return File not found Error', async () => { - try { - await getAST(invalidPath); - } catch (error) { - expect(error.message).to.eql('File not found!'); - } - }); - }); -}); \ No newline at end of file + context('With non-existing file', () => { + it('should return File not found Error', async () => { + try { + await getAST(invalidPath); + } catch (error) { + expect(error.message).to.eql('File not found!'); + } + }); + }); +}); From afaa44913ed1e21d74d8484268c94d46fbfc7c6d Mon Sep 17 00:00:00 2001 From: Pranjal Walia Date: Sun, 17 Jul 2022 01:54:19 +0530 Subject: [PATCH 10/19] chore: addition of transformations to generator --- generator/generators/aliyun/generator.js | 103 +++++++ generator/generators/aliyun/generator.ts | 69 +++++ generator/transformers/aliyun/transformer.js | 229 ++++++++++++++++ generator/transformers/aliyun/transformer.ts | 267 +++++++++++++++++++ 4 files changed, 668 insertions(+) create mode 100644 generator/generators/aliyun/generator.js create mode 100644 generator/generators/aliyun/generator.ts create mode 100644 generator/transformers/aliyun/transformer.js create mode 100644 generator/transformers/aliyun/transformer.ts diff --git a/generator/generators/aliyun/generator.js b/generator/generators/aliyun/generator.js new file mode 100644 index 00000000..d1cf173c --- /dev/null +++ b/generator/generators/aliyun/generator.js @@ -0,0 +1,103 @@ +"use strict"; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +var __generator = (this && this.__generator) || function (thisArg, body) { + var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; + return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; + function verb(n) { return function (v) { return step([n, v]); }; } + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + while (_) try { + if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; + if (y = 0, t) op = [op[0] & 2, t.value]; + switch (op[0]) { + case 0: case 1: t = op; break; + case 4: _.label++; return { value: op[1], done: false }; + case 5: _.label++; y = op[1]; op = [0]; continue; + case 7: op = _.ops.pop(); _.trys.pop(); continue; + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } + if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } + if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } + if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } + if (t[2]) _.ops.pop(); + _.trys.pop(); continue; + } + op = body.call(thisArg, _); + } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } + if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; + } +}; +exports.__esModule = true; +exports.generateAliyunClass = exports.dummyAst = void 0; +var fs = require("fs"); +var typescript_1 = require("typescript"); +var parser_1 = require("../../parsers/aliyun/parser"); +var transformer_1 = require("../../transformers/aliyun/transformer"); +var helper_1 = require("../lib/helper"); +var dummyClassPath = '/dummyClasses/ali.js'; +var dummyFile = process.cwd() + dummyClassPath; +exports.dummyAst = typescript_1.createSourceFile(dummyFile, fs.readFileSync(dummyFile).toString(), typescript_1.ScriptTarget.Latest, true); +exports.generateAliyunClass = function (serviceClass, serviceName) { + var sdkfile = serviceClass[Object.keys(serviceClass)[0]]; + parser_1.getAST(sdkfile) + .then(function (result) { return __awaiter(void 0, void 0, void 0, function () { + var sdkClassAst, classData, output, filePath, dir, err_1; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + sdkClassAst = result; + _a.label = 1; + case 1: + _a.trys.push([1, 3, , 4]); + classData = parser_1.extractSDKData(sdkClassAst, serviceClass); + classData.serviceName = serviceName; + return [4 /*yield*/, transformer_1.transform(exports.dummyAst, classData)]; + case 2: + output = _a.sent(); + filePath = void 0; + dir = helper_1.getDir(serviceName); + if (!fs.existsSync(process.cwd() + '/generatedClasses/Aliyun/' + dir)) { + fs.mkdirSync(process.cwd() + '/generatedClasses/Aliyun/' + dir, { + recursive: true + }); + } + if (/^[A-Z]*$/.test(serviceName)) { + filePath = + process.cwd() + + '/generatedClasses/Aliyun/' + + dir + + '/ali-' + + serviceName + + '.js'; + } + else { + filePath = + process.cwd() + + '/generatedClasses/Aliyun/' + + dir + + '/ali-' + + serviceName.charAt(0).toLowerCase() + + serviceName.slice(1) + + '.js'; + } + helper_1.printFile(filePath, output); + return [3 /*break*/, 4]; + case 3: + err_1 = _a.sent(); + console.error('Error : ', err_1); + return [3 /*break*/, 4]; + case 4: return [2 /*return*/]; + } + }); + }); })["catch"](function (error) { + console.error('Error : ', error); + }); +}; diff --git a/generator/generators/aliyun/generator.ts b/generator/generators/aliyun/generator.ts new file mode 100644 index 00000000..32d161f5 --- /dev/null +++ b/generator/generators/aliyun/generator.ts @@ -0,0 +1,69 @@ +import * as fs from 'fs'; +import { createSourceFile, ScriptTarget } from 'typescript'; + +import { ClassData, extractSDKData, getAST } from '../../parsers/aliyun/parser'; +import { transform } from '../../transformers/aliyun/transformer'; +import { getDir, printFile } from '../lib/helper'; + +const dummyClassPath = '/dummyClasses/ali.js'; +const dummyFile = process.cwd() + dummyClassPath; + +export const dummyAst = createSourceFile( + dummyFile, + fs.readFileSync(dummyFile).toString(), + ScriptTarget.Latest, + true +); + +export const generateAliyunClass = ( + serviceClass: unknown, + serviceName: string +) => { + const sdkfile = serviceClass[Object.keys(serviceClass)[0]]; + getAST(sdkfile) + .then(async result => { + const sdkClassAst = result; + try { + const classData: ClassData = extractSDKData(sdkClassAst, serviceClass); + classData.serviceName = serviceName; + + // perform transformation + const output = await transform(dummyAst, classData); + + // print to file + let filePath; + const dir = getDir(serviceName); + + if (!fs.existsSync(process.cwd() + '/generatedClasses/Aliyun/' + dir)) { + fs.mkdirSync(process.cwd() + '/generatedClasses/Aliyun/' + dir, { + recursive: true, + }); + } + + if (/^[A-Z]*$/.test(serviceName)) { + filePath = + process.cwd() + + '/generatedClasses/Aliyun/' + + dir + + '/ali-' + + serviceName + + '.js'; + } else { + filePath = + process.cwd() + + '/generatedClasses/Aliyun/' + + dir + + '/ali-' + + serviceName.charAt(0).toLowerCase() + + serviceName.slice(1) + + '.js'; + } + printFile(filePath, output); + } catch (err) { + console.error('Error : ', err); + } + }) + .catch(error => { + console.error('Error : ', error); + }); +}; diff --git a/generator/transformers/aliyun/transformer.js b/generator/transformers/aliyun/transformer.js new file mode 100644 index 00000000..637d0ada --- /dev/null +++ b/generator/transformers/aliyun/transformer.js @@ -0,0 +1,229 @@ +"use strict"; +var __assign = (this && this.__assign) || function () { + __assign = Object.assign || function(t) { + for (var s, i = 1, n = arguments.length; i < n; i++) { + s = arguments[i]; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) + t[p] = s[p]; + } + return t; + }; + return __assign.apply(this, arguments); +}; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +var __generator = (this && this.__generator) || function (thisArg, body) { + var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; + return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; + function verb(n) { return function (v) { return step([n, v]); }; } + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + while (_) try { + if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; + if (y = 0, t) op = [op[0] & 2, t.value]; + switch (op[0]) { + case 0: case 1: t = op; break; + case 4: _.label++; return { value: op[1], done: false }; + case 5: _.label++; y = op[1]; op = [0]; continue; + case 7: op = _.ops.pop(); _.trys.pop(); continue; + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } + if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } + if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } + if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } + if (t[2]) _.ops.pop(); + _.trys.pop(); continue; + } + op = body.call(thisArg, _); + } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } + if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; + } +}; +exports.__esModule = true; +exports.transform = void 0; +var lodash_1 = require("lodash"); +var ts = require("typescript"); +var dummyIdentifiers = [ + 'ClassName', + '_sdkClassName', + 'SDKClassName', + 'SDKFunctionName', +]; +var printer = ts.createPrinter({ + newLine: ts.NewLineKind.LineFeed, + removeComments: false +}); +var addMultiLineComment = function (node, comment) { + ts.addSyntheticLeadingComment(node, ts.SyntaxKind.MultiLineCommentTrivia, comment, true); +}; +var runTransformation = function (sourceCode, transformMethod) { + return new Promise(function (resolve, reject) { + try { + var result = ts.transform(sourceCode, [transformMethod]); + var transformedNodes = result.transformed[0]; + var output = printer.printNode(ts.EmitHint.SourceFile, transformedNodes, sourceCode); + resolve(output); + } + catch (error) { + reject(error); + } + }); +}; +var toSourceFile = function (sourceCode) { + return ts.createSourceFile('dummyClass.js', sourceCode, ts.ScriptTarget.Latest, true); +}; +var extractParams = function (classData, identifierCount) { + var parameters = classData.functions[identifierCount].params.map(function (param) { + var paramNode = ts.createParameter(undefined, undefined, undefined, param.name); + if (param.optional) { + paramNode.initializer = ts.createIdentifier('undefined'); + } + return paramNode; + }); + return parameters; +}; +var extractArgs = function (classData, identifierCount) { + var args = classData.functions[identifierCount].params.map(function (param) { + return ts.createIdentifier(param.name); + }); + return args; +}; +exports.transform = function (code, classData) { return __awaiter(void 0, void 0, void 0, function () { + var addFunctions, addIdentifiers, addComments, node, result_1, result_2, result_3; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + addFunctions = function (context) { return function (rootNode) { + var visit = function (node) { + if (ts.isClassDeclaration(node)) { + var functions = classData.functions.map(function (method) { + // const clonedNode = Object.assign({}, node.members[1]); + var clonedNode = __assign({}, node.members[1]); + clonedNode.name = ts.createIdentifier(method.functionName); + return clonedNode; + }); + // console.log(functions); + var updatedClass = ts.updateClassDeclaration(node, node.decorators, node.modifiers, node.name, node.typeParameters, node.heritageClauses, ts.createNodeArray([node.members[0]].concat(functions))); + return updatedClass; + } + return ts.visitEachChild(node, visit, context); + }; + return ts.visitNode(rootNode, visit); + }; }; + addIdentifiers = function (context) { return function (rootNode) { + var count = 0; + var visit = function (node) { + if (ts.isMethodDeclaration(node)) { + var parameters = extractParams(classData, count); + node.parameters = parameters; + } + if (ts.isIdentifier(node) && dummyIdentifiers.includes(node.text)) { + var updatedIdentifier = void 0; + switch (node.text) { + case 'ClassName': + updatedIdentifier = ts.updateIdentifier(ts.createIdentifier('ALI_' + classData.serviceName)); + break; + case '_sdkClassName': + updatedIdentifier = ts.updateIdentifier(ts.createIdentifier('_' + + classData.className + .charAt(0) + .toLowerCase() + + classData.className.substr(1))); + break; + case 'SDKClassName': + updatedIdentifier = ts.updateIdentifier(ts.createIdentifier(classData.className.charAt(0).toLowerCase() + + classData.className.substr(1))); + break; + case 'SDKFunctionName': + updatedIdentifier = ts.updateIdentifier(ts.createIdentifier(classData.functions[count].SDKFunctionName)); + count++; + } + return updatedIdentifier; + } + if (ts.isCallExpression(node)) { + node.expression.forEachChild(function (childNode) { + if (ts.isIdentifier(childNode) && + childNode.text === 'SDKFunctionName') { + // const args = classData.functions[count].params.map( + // param => ts.createIdentifier(param.name) + // ); + var args = extractArgs(classData, count); + node.arguments = args.concat(node.arguments); + } + }); + } + return ts.visitEachChild(node, visit, context); + }; + return ts.visitNode(rootNode, visit); + }; }; + addComments = function (context) { return function (rootNode) { + var count = 0; + var visit = function (node) { + if (ts.isClassDeclaration(node)) { + addMultiLineComment(node, 'This is an auto generated class, please do not edit this file!'); + var comment = "*\n* Class to create a " + classData.className + " object\n* @category AliCloud \n"; + addMultiLineComment(node, comment); + } + if (ts.isMethodDeclaration(node)) { + var parameters = classData.functions[count].params.map(function (param) { + var statment; + if (param.optional) { + if (param.type == 'TypeReference') + statment = "* @param {" + param.typeName + "} " + param.name + " - Data required for " + classData.functions[count].SDKFunctionName; + else + statment = "* @param {" + param.type + "} " + param.name + " - Data required for " + classData.functions[count].SDKFunctionName; + } + else { + if (param.type == 'TypeReference') + statment = "* @param {" + param.typeName + "} " + param.name + " - Data required for " + classData.functions[count].SDKFunctionName; + else + statment = "* @param {" + param.type + "} " + param.name + " - Data required for " + classData.functions[count].SDKFunctionName; + } + return statment; + }); + var comment = void 0; + if (parameters.length > 0) { + var paramStatments_1 = ''; + parameters.forEach(function (param) { + paramStatments_1 = paramStatments_1.concat(paramStatments_1 === '' ? "" + param : "\n" + param); + }); + comment = "*\n* Trigers the " + classData.functions[count].SDKFunctionName + " function of " + classData.className + "\n" + paramStatments_1 + "\n* @returns {Promise<" + classData.functions[count].SDKFunctionName + "Response>}\n"; + } + else { + comment = "*\n* Trigers the " + classData.functions[count].SDKFunctionName + " function of " + classData.className + "\n* @returns {Promise<" + classData.functions[count].SDKFunctionName + "Response>}\n"; + } + addMultiLineComment(node, comment); + count++; + } + return ts.visitEachChild(node, visit, context); + }; + return ts.visitNode(rootNode, visit); + }; }; + node = code.statements.find(function (stm) { return ts.isClassDeclaration(stm); }); + if (!classData.className) { + throw new Error('Invalid Input, missing class declerations'); + } + if (!classData.functions) { + throw new Error('Invalid Input, missing class member functions'); + } + code = lodash_1.cloneDeep(code); + return [4 /*yield*/, runTransformation(code, addFunctions)]; + case 1: + result_1 = _a.sent(); + return [4 /*yield*/, runTransformation(toSourceFile(result_1), addIdentifiers)]; + case 2: + result_2 = _a.sent(); + return [4 /*yield*/, runTransformation(toSourceFile(result_2), addComments)]; + case 3: + result_3 = _a.sent(); + return [2 /*return*/, result_3]; + } + }); +}); }; diff --git a/generator/transformers/aliyun/transformer.ts b/generator/transformers/aliyun/transformer.ts new file mode 100644 index 00000000..263a6d3c --- /dev/null +++ b/generator/transformers/aliyun/transformer.ts @@ -0,0 +1,267 @@ +import { cloneDeep } from 'lodash'; +import * as ts from 'typescript'; + +const dummyIdentifiers = [ + 'ClassName', + '_sdkClassName', + 'SDKClassName', + 'SDKFunctionName', +]; + +const extractParams = (classData: any, identifierCount: number) => { + const parameters = classData.functions[identifierCount].params.map(param => { + const paramNode = ts.createParameter( + undefined, + undefined, + undefined, + param.name + ); + + if (param.optional) { + paramNode.initializer = ts.createIdentifier('undefined'); + } + + return paramNode; + }); + return parameters; +}; + +const extractArgs = (classData: any, identifierCount: number) => { + const args = classData.functions[identifierCount].params.map(param => + ts.createIdentifier(param.name) + ); + return args; +}; + +const printer: ts.Printer = ts.createPrinter({ + newLine: ts.NewLineKind.LineFeed, + removeComments: false, +}); + +const addMultiLineComment = (node: any, comment: string) => { + ts.addSyntheticLeadingComment( + node, + ts.SyntaxKind.MultiLineCommentTrivia, + comment, + true + ); +}; + +const runTransformation = ( + sourceCode: any, + transformMethod: ts.TransformerFactory +): Promise => { + return new Promise((resolve, reject) => { + try { + const result = ts.transform(sourceCode, [transformMethod]); + const transformedNodes = result.transformed[0]; + const output = printer.printNode( + ts.EmitHint.SourceFile, + transformedNodes, + sourceCode + ); + resolve(output); + } catch (error) { + reject(error); + } + }); +}; + +const toSourceFile = (sourceCode: string): ts.SourceFile => { + return ts.createSourceFile( + 'dummyClass.js', + sourceCode, + ts.ScriptTarget.Latest, + true + ); +}; + +export const transform = async ( + code: ts.SourceFile, + classData: any +): Promise => { + /* + * Transformation function for adding Functions + */ + const addFunctions = ( + context: ts.TransformationContext + ) => (rootNode: T) => { + const visit = (node: ts.Node): ts.Node => { + if (ts.isClassDeclaration(node)) { + const functions: Array = classData.functions.map(method => { + // const clonedNode = Object.assign({}, node.members[1]); + const clonedNode = { ...node.members[1] }; + clonedNode.name = ts.createIdentifier(method.functionName); + return clonedNode; + }); + // console.log(functions); + const updatedClass = ts.updateClassDeclaration( + node, + node.decorators, + node.modifiers, + node.name, + node.typeParameters, + node.heritageClauses, + ts.createNodeArray([node.members[0]].concat(functions)) + ); + + return updatedClass; + } + return ts.visitEachChild(node, visit, context); + }; + return ts.visitNode(rootNode, visit); + }; + + /* + * Transformation function for adding Identifiers/Parameters + */ + const addIdentifiers = ( + context: ts.TransformationContext + ) => (rootNode: T) => { + let count = 0; + const visit = (node: ts.Node): ts.Node => { + if (ts.isMethodDeclaration(node)) { + const parameters = extractParams(classData, count); + node.parameters = parameters; + } + + if (ts.isIdentifier(node) && dummyIdentifiers.includes(node.text)) { + let updatedIdentifier; + switch (node.text) { + case 'ClassName': + updatedIdentifier = ts.updateIdentifier( + ts.createIdentifier('ALI_' + classData.serviceName) + ); + break; + case '_sdkClassName': + updatedIdentifier = ts.updateIdentifier( + ts.createIdentifier( + '_' + + classData.className.charAt(0).toLowerCase() + + classData.className.substr(1) + ) + ); + break; + case 'SDKClassName': + updatedIdentifier = ts.updateIdentifier( + ts.createIdentifier( + classData.className.charAt(0).toLowerCase() + + classData.className.substr(1) + ) + ); + break; + case 'SDKFunctionName': + updatedIdentifier = ts.updateIdentifier( + ts.createIdentifier(classData.functions[count].SDKFunctionName) + ); + count++; + } + return updatedIdentifier; + } + + if (ts.isCallExpression(node)) { + node.expression.forEachChild(childNode => { + if ( + ts.isIdentifier(childNode) && + childNode.text === 'SDKFunctionName' + ) { + const args = extractArgs(classData, count); + node.arguments = args.concat(node.arguments); + } + }); + } + + return ts.visitEachChild(node, visit, context); + }; + return ts.visitNode(rootNode, visit); + }; + + /* + *Transformation function for adding comments + */ + const addComments = ( + context: ts.TransformationContext + ) => (rootNode: T) => { + let count = 0; + + const visit = (node: ts.Node): ts.Node => { + if (ts.isClassDeclaration(node)) { + addMultiLineComment( + node, + 'This is an auto generated class, please do not edit this file!' + ); + const comment = `* +* Class to create a ${classData.className} object +* @category AliCloud +`; + addMultiLineComment(node, comment); + } + + if (ts.isMethodDeclaration(node)) { + let parameters = classData.functions[count].params.map(param => { + let statment; + + if (param.optional) { + if (param.type == 'TypeReference') + statment = `* @param {${param.typeName}} ${param.name} - Data required for ${classData.functions[count].SDKFunctionName}`; + else + statment = `* @param {${param.type}} ${param.name} - Data required for ${classData.functions[count].SDKFunctionName}`; + } else { + if (param.type == 'TypeReference') + statment = `* @param {${param.typeName}} ${param.name} - Data required for ${classData.functions[count].SDKFunctionName}`; + else + statment = `* @param {${param.type}} ${param.name} - Data required for ${classData.functions[count].SDKFunctionName}`; + } + return statment; + }); + + let comment; + if (parameters.length > 0) { + let paramStatments: string = ''; + parameters.forEach(param => { + paramStatments = paramStatments.concat( + paramStatments === '' ? `${param}` : `\n${param}` + ); + }); + + comment = `* +* Trigers the ${classData.functions[count].SDKFunctionName} function of ${classData.className} +${paramStatments} +* @returns {Promise<${classData.functions[count].SDKFunctionName}Response>} +`; + } else { + comment = `* +* Trigers the ${classData.functions[count].SDKFunctionName} function of ${classData.className} +* @returns {Promise<${classData.functions[count].SDKFunctionName}Response>} +`; + } + + addMultiLineComment(node, comment); + count++; + } + + return ts.visitEachChild(node, visit, context); + }; + return ts.visitNode(rootNode, visit); + }; + + /* + * Code to get node and run tranformations + */ + const node: any = code.statements.find(stm => ts.isClassDeclaration(stm)); + if (!classData.className) { + throw new Error('Invalid Input, missing class declerations'); + } + if (!classData.functions) { + throw new Error('Invalid Input, missing class member functions'); + } + + code = cloneDeep(code); + const result_1 = await runTransformation(code, addFunctions); + const result_2 = await runTransformation( + toSourceFile(result_1), + addIdentifiers + ); + const result_3 = await runTransformation(toSourceFile(result_2), addComments); + return result_3; +}; From 856345ba944fe57e024bf718fb7a42f378473090 Mon Sep 17 00:00:00 2001 From: Pranjal Walia Date: Sun, 17 Jul 2022 01:59:38 +0530 Subject: [PATCH 11/19] chore: removal of redundant identifiers --- generator/transformers/aliyun/transformer.ts | 2 -- 1 file changed, 2 deletions(-) diff --git a/generator/transformers/aliyun/transformer.ts b/generator/transformers/aliyun/transformer.ts index 263a6d3c..fc731465 100644 --- a/generator/transformers/aliyun/transformer.ts +++ b/generator/transformers/aliyun/transformer.ts @@ -89,12 +89,10 @@ export const transform = async ( const visit = (node: ts.Node): ts.Node => { if (ts.isClassDeclaration(node)) { const functions: Array = classData.functions.map(method => { - // const clonedNode = Object.assign({}, node.members[1]); const clonedNode = { ...node.members[1] }; clonedNode.name = ts.createIdentifier(method.functionName); return clonedNode; }); - // console.log(functions); const updatedClass = ts.updateClassDeclaration( node, node.decorators, From cb492ea330d0a775fdc9e326261de22384ab1029 Mon Sep 17 00:00:00 2001 From: Pranjal Walia Date: Sun, 17 Jul 2022 02:43:59 +0530 Subject: [PATCH 12/19] chore: update tests transformer with dummy class --- generator/dummyClasses/ali.js | 26 ++++ .../dummyData/invalidDataset_1/data.json | 120 ++++++++++++++++++ .../dummyData/invalidDataset_1/sourceFile.js | 18 +++ .../dummyData/invalidDataset_2/data.json | 96 ++++++++++++++ .../dummyData/invalidDataset_2/sourceFile.js | 18 +++ .../aliyun/dummyData/validDataset/data.json | 120 ++++++++++++++++++ .../dummyData/validDataset/sourceFile.js | 18 +++ .../transformers/aliyun/transformer.test.ts | 73 +++++++++++ 8 files changed, 489 insertions(+) create mode 100644 generator/dummyClasses/ali.js create mode 100644 generator/test/transformers/aliyun/dummyData/invalidDataset_1/data.json create mode 100644 generator/test/transformers/aliyun/dummyData/invalidDataset_1/sourceFile.js create mode 100644 generator/test/transformers/aliyun/dummyData/invalidDataset_2/data.json create mode 100644 generator/test/transformers/aliyun/dummyData/invalidDataset_2/sourceFile.js create mode 100644 generator/test/transformers/aliyun/dummyData/validDataset/data.json create mode 100644 generator/test/transformers/aliyun/dummyData/validDataset/sourceFile.js create mode 100644 generator/test/transformers/aliyun/transformer.test.ts diff --git a/generator/dummyClasses/ali.js b/generator/dummyClasses/ali.js new file mode 100644 index 00000000..00a5f4f2 --- /dev/null +++ b/generator/dummyClasses/ali.js @@ -0,0 +1,26 @@ +class ClassName { + /** + * @param {module} alisdk ali SDK + * @param {object} options SDK options + */ + constructor(alisdk, accessKeyId, accessKeySecret) { + this._ali = alisdk; + this._instance = new this._ali(accessKeyId, accessKeySecret); + this._sdkClassName = this._instance.SDKClassName; + } + + function() { + return new Promise((resolve, reject) => { + this._sdkClassName + .SDKFunctionName() + .then(data => resolve(data)) + .catch(err => reject(err)); + }); + } + + // setRegion(regionId) { + // this._sdkClassName.setRegion(regionId); + // } +} + +module.exports = ClassName; diff --git a/generator/test/transformers/aliyun/dummyData/invalidDataset_1/data.json b/generator/test/transformers/aliyun/dummyData/invalidDataset_1/data.json new file mode 100644 index 00000000..23fb4fe2 --- /dev/null +++ b/generator/test/transformers/aliyun/dummyData/invalidDataset_1/data.json @@ -0,0 +1,120 @@ +{ + "className": "Oss", + "functions": [ + { + "functionName": "setRegion", + "SDKFunctionName": "setRegion", + "params": [ + { + "name": "region", + "optional": false, + "type": "StringKeyword", + "typeName": null + } + ] + }, + { + "functionName": "listBuckets", + "SDKFunctionName": "listBuckets", + "params": [ + { + "name": "params", + "optional": false, + "type": "TypeReference", + "typeName": "undefined" + } + ] + }, + { + "functionName": "create", + "SDKFunctionName": "create", + "params": [ + { + "name": "name", + "optional": false, + "type": "StringKeyword", + "typeName": null + }, + { + "name": "params", + "optional": true, + "type": "TypeReference", + "typeName": "undefined" + } + ] + }, + { + "functionName": "delete", + "SDKFunctionName": "delete", + "params": [ + { + "name": "name", + "optional": false, + "type": "StringKeyword", + "typeName": null + } + ] + }, + { + "functionName": "describeBucket", + "SDKFunctionName": "describeBucket", + "params": [ + { + "name": "name", + "optional": false, + "type": "StringKeyword", + "typeName": null + } + ] + }, + { + "functionName": "listBucketObjects", + "SDKFunctionName": "listBucketObjects", + "params": [ + { + "name": "name", + "optional": false, + "type": "StringKeyword", + "typeName": null + }, + { + "name": "params", + "optional": false, + "type": "TypeReference", + "typeName": "undefined" + } + ] + }, + { + "functionName": "uploadLocalObject", + "SDKFunctionName": "uploadLocalObject", + "params": [ + { + "name": "bucketName", + "optional": false, + "type": "StringKeyword", + "typeName": null + }, + { + "name": "objectName", + "optional": false, + "type": "StringKeyword", + "typeName": null + }, + { + "name": "file", + "optional": false, + "type": "AnyKeyword", + "typeName": null + }, + { + "name": "params", + "optional": true, + "type": "UnionType", + "typeName": null + } + ] + } + ], + "serviceName": "StorageBucket" +} diff --git a/generator/test/transformers/aliyun/dummyData/invalidDataset_1/sourceFile.js b/generator/test/transformers/aliyun/dummyData/invalidDataset_1/sourceFile.js new file mode 100644 index 00000000..85f1ebd3 --- /dev/null +++ b/generator/test/transformers/aliyun/dummyData/invalidDataset_1/sourceFile.js @@ -0,0 +1,18 @@ +class ClassName { + constructor(alisdk, accessKeyId, accessKeySecret) { + this._ali = alisdk; + this._instance = new this._ali(accessKeyId, accessKeySecret); + this._sdkClassName = this._instance.SDKClassName; + } + + function() { + return new Promise((resolve, reject) => { + this._sdkClassName + .SDKFunctionName() + .then(data => resolve(data)) + .catch(err => reject(err)); + }); + } +} + +module.exports = ClassName; diff --git a/generator/test/transformers/aliyun/dummyData/invalidDataset_2/data.json b/generator/test/transformers/aliyun/dummyData/invalidDataset_2/data.json new file mode 100644 index 00000000..d30b0bf4 --- /dev/null +++ b/generator/test/transformers/aliyun/dummyData/invalidDataset_2/data.json @@ -0,0 +1,96 @@ +{ + "className": "Oss", + "functions": [ + { + "functionName": "create", + "SDKFunctionName": "create", + "params": [ + { + "name": "name", + "optional": false, + "type": "StringKeyword", + "typeName": null + }, + { + "name": "params", + "optional": true, + "type": "TypeReference", + "typeName": "undefined" + } + ] + }, + { + "functionName": "delete", + "SDKFunctionName": "delete", + "params": [ + { + "name": "name", + "optional": false, + "type": "StringKeyword", + "typeName": null + } + ] + }, + { + "functionName": "describeBucket", + "SDKFunctionName": "describeBucket", + "params": [ + { + "name": "name", + "optional": false, + "type": "StringKeyword", + "typeName": null + } + ] + }, + { + "functionName": "listBucketObjects", + "SDKFunctionName": "listBucketObjects", + "params": [ + { + "name": "name", + "optional": false, + "type": "StringKeyword", + "typeName": null + }, + { + "name": "params", + "optional": false, + "type": "TypeReference", + "typeName": "undefined" + } + ] + }, + { + "functionName": "uploadLocalObject", + "SDKFunctionName": "uploadLocalObject", + "params": [ + { + "name": "bucketName", + "optional": false, + "type": "StringKeyword", + "typeName": null + }, + { + "name": "objectName", + "optional": false, + "type": "StringKeyword", + "typeName": null + }, + { + "name": "file", + "optional": false, + "type": "AnyKeyword", + "typeName": null + }, + { + "name": "params", + "optional": true, + "type": "UnionType", + "typeName": null + } + ] + } + ], + "serviceName": "StorageBucket" +} diff --git a/generator/test/transformers/aliyun/dummyData/invalidDataset_2/sourceFile.js b/generator/test/transformers/aliyun/dummyData/invalidDataset_2/sourceFile.js new file mode 100644 index 00000000..85f1ebd3 --- /dev/null +++ b/generator/test/transformers/aliyun/dummyData/invalidDataset_2/sourceFile.js @@ -0,0 +1,18 @@ +class ClassName { + constructor(alisdk, accessKeyId, accessKeySecret) { + this._ali = alisdk; + this._instance = new this._ali(accessKeyId, accessKeySecret); + this._sdkClassName = this._instance.SDKClassName; + } + + function() { + return new Promise((resolve, reject) => { + this._sdkClassName + .SDKFunctionName() + .then(data => resolve(data)) + .catch(err => reject(err)); + }); + } +} + +module.exports = ClassName; diff --git a/generator/test/transformers/aliyun/dummyData/validDataset/data.json b/generator/test/transformers/aliyun/dummyData/validDataset/data.json new file mode 100644 index 00000000..23fb4fe2 --- /dev/null +++ b/generator/test/transformers/aliyun/dummyData/validDataset/data.json @@ -0,0 +1,120 @@ +{ + "className": "Oss", + "functions": [ + { + "functionName": "setRegion", + "SDKFunctionName": "setRegion", + "params": [ + { + "name": "region", + "optional": false, + "type": "StringKeyword", + "typeName": null + } + ] + }, + { + "functionName": "listBuckets", + "SDKFunctionName": "listBuckets", + "params": [ + { + "name": "params", + "optional": false, + "type": "TypeReference", + "typeName": "undefined" + } + ] + }, + { + "functionName": "create", + "SDKFunctionName": "create", + "params": [ + { + "name": "name", + "optional": false, + "type": "StringKeyword", + "typeName": null + }, + { + "name": "params", + "optional": true, + "type": "TypeReference", + "typeName": "undefined" + } + ] + }, + { + "functionName": "delete", + "SDKFunctionName": "delete", + "params": [ + { + "name": "name", + "optional": false, + "type": "StringKeyword", + "typeName": null + } + ] + }, + { + "functionName": "describeBucket", + "SDKFunctionName": "describeBucket", + "params": [ + { + "name": "name", + "optional": false, + "type": "StringKeyword", + "typeName": null + } + ] + }, + { + "functionName": "listBucketObjects", + "SDKFunctionName": "listBucketObjects", + "params": [ + { + "name": "name", + "optional": false, + "type": "StringKeyword", + "typeName": null + }, + { + "name": "params", + "optional": false, + "type": "TypeReference", + "typeName": "undefined" + } + ] + }, + { + "functionName": "uploadLocalObject", + "SDKFunctionName": "uploadLocalObject", + "params": [ + { + "name": "bucketName", + "optional": false, + "type": "StringKeyword", + "typeName": null + }, + { + "name": "objectName", + "optional": false, + "type": "StringKeyword", + "typeName": null + }, + { + "name": "file", + "optional": false, + "type": "AnyKeyword", + "typeName": null + }, + { + "name": "params", + "optional": true, + "type": "UnionType", + "typeName": null + } + ] + } + ], + "serviceName": "StorageBucket" +} diff --git a/generator/test/transformers/aliyun/dummyData/validDataset/sourceFile.js b/generator/test/transformers/aliyun/dummyData/validDataset/sourceFile.js new file mode 100644 index 00000000..85f1ebd3 --- /dev/null +++ b/generator/test/transformers/aliyun/dummyData/validDataset/sourceFile.js @@ -0,0 +1,18 @@ +class ClassName { + constructor(alisdk, accessKeyId, accessKeySecret) { + this._ali = alisdk; + this._instance = new this._ali(accessKeyId, accessKeySecret); + this._sdkClassName = this._instance.SDKClassName; + } + + function() { + return new Promise((resolve, reject) => { + this._sdkClassName + .SDKFunctionName() + .then(data => resolve(data)) + .catch(err => reject(err)); + }); + } +} + +module.exports = ClassName; diff --git a/generator/test/transformers/aliyun/transformer.test.ts b/generator/test/transformers/aliyun/transformer.test.ts new file mode 100644 index 00000000..8c129aff --- /dev/null +++ b/generator/test/transformers/aliyun/transformer.test.ts @@ -0,0 +1,73 @@ +import { expect } from 'chai'; +import { createSourceFile, isSourceFile, ScriptTarget } from 'typescript'; + +import { transform } from '../../../transformers/aliyun/transformer'; +import { readJsonData, readSourceFile } from '../lib/helper'; + +interface TestData { + AST: any; + data: any; +} + +describe('Aliyun transformer transformations', () => { + context('Valid source code and valid data', () => { + const testData: TestData = { AST: null, data: null }; + before(async () => { + testData.AST = await readSourceFile('validDataset', 'aliyun'); + testData.data = await readJsonData('validDataset', 'aliyun'); + }); + + it('Should return a String', async () => { + const result = await transform(testData.AST, testData.data); + expect(result).to.be.string; + }); + + it('Should return a Javascript code in String format', async () => { + const result = await transform(testData.AST, testData.data); + try { + const sourceCode = createSourceFile( + 'someClass.js', + result, + ScriptTarget.Latest + ); + expect(isSourceFile(sourceCode)).to.be.true; + } catch (error) { + console.log(error); + } + }); + }); + + context('Invalid source code and valid data', () => { + const testData: TestData = { AST: null, data: null }; + before(async () => { + testData.AST = await readSourceFile('invalidDataset_1', 'aliyun'); + testData.data = await readJsonData('invalidDataset_1', 'aliyun'); + }); + + it('Should return a validation Error', async () => { + try { + await transform(testData.AST, testData.data); + } catch (error) { + expect(error.message).to.eql('Code is invalid'); + } + }); + }); + + context('Valid source code and invalid data', () => { + const testData: TestData = { AST: null, data: null }; + before(async () => { + testData.AST = await readSourceFile('invalidDataset_2', 'aliyun'); + testData.data = await readJsonData('invalidDataset_2', 'aliyun'); + }); + + it('Should return a validation Error', async () => { + try { + await transform(testData.AST, testData.data); + } catch (error) { + expect(error.message).to.eql( + 'Invalid Input, missing class declerations' + ); + } + }); + }); +}); From a9f6de88d5daae1349be689df26bf1ed05ac6fc8 Mon Sep 17 00:00:00 2001 From: Pranjal Walia Date: Fri, 22 Jul 2022 11:09:23 +0530 Subject: [PATCH 13/19] chore: update annotation for ali class dummyFile --- generator/dummyClasses/ali.js | 39 ++++++++++++++++------------------- 1 file changed, 18 insertions(+), 21 deletions(-) diff --git a/generator/dummyClasses/ali.js b/generator/dummyClasses/ali.js index 00a5f4f2..ea8fbd03 100644 --- a/generator/dummyClasses/ali.js +++ b/generator/dummyClasses/ali.js @@ -1,26 +1,23 @@ class ClassName { - /** - * @param {module} alisdk ali SDK - * @param {object} options SDK options - */ - constructor(alisdk, accessKeyId, accessKeySecret) { - this._ali = alisdk; - this._instance = new this._ali(accessKeyId, accessKeySecret); - this._sdkClassName = this._instance.SDKClassName; - } + /** + * @param {module} alisdk ali SDK + * @param {string} accessKeyId SDK secrets accessKeyId + * @param {string} accessKeySecret SDK secrets accessKeySecret + */ + constructor(alisdk, accessKeyId, accessKeySecret) { + this._ali = alisdk; + this._instance = new this._ali(accessKeyId, accessKeySecret); + this._sdkClassName = this._instance.SDKClassName; + } - function() { - return new Promise((resolve, reject) => { - this._sdkClassName - .SDKFunctionName() - .then(data => resolve(data)) - .catch(err => reject(err)); - }); - } - - // setRegion(regionId) { - // this._sdkClassName.setRegion(regionId); - // } + function() { + return new Promise((resolve, reject) => { + this._sdkClassName + .SDKFunctionName() + .then(data => resolve(data)) + .catch(err => reject(err)); + }); + } } module.exports = ClassName; From 20382ea0aa488a0b9ebf448bd3d90eeb879785fa Mon Sep 17 00:00:00 2001 From: Pranjal Walia Date: Fri, 22 Jul 2022 11:12:15 +0530 Subject: [PATCH 14/19] chore: generate transpiled output, format tests --- generator/generators/aliyun/generator.js | 300 ++++++--- .../dummyData/invalidDataset_1/data.json | 236 +++---- .../dummyData/invalidDataset_1/sourceFile.js | 26 +- .../dummyData/invalidDataset_2/data.json | 188 +++--- .../dummyData/invalidDataset_2/sourceFile.js | 26 +- .../aliyun/dummyData/validDataset/data.json | 236 +++---- .../dummyData/validDataset/sourceFile.js | 26 +- .../transformers/aliyun/transformer.test.ts | 112 ++-- generator/transformers/aliyun/transformer.js | 632 ++++++++++++------ 9 files changed, 1057 insertions(+), 725 deletions(-) diff --git a/generator/generators/aliyun/generator.js b/generator/generators/aliyun/generator.js index d1cf173c..6ae861f0 100644 --- a/generator/generators/aliyun/generator.js +++ b/generator/generators/aliyun/generator.js @@ -1,103 +1,219 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); +'use strict'; +var __awaiter = + (this && this.__awaiter) || + function(thisArg, _arguments, P, generator) { + function adopt(value) { + return value instanceof P + ? value + : new P(function(resolve) { + resolve(value); + }); + } + return new (P || (P = Promise))(function(resolve, reject) { + function fulfilled(value) { + try { + step(generator.next(value)); + } catch (e) { + reject(e); + } + } + function rejected(value) { + try { + step(generator['throw'](value)); + } catch (e) { + reject(e); + } + } + function step(result) { + result.done + ? resolve(result.value) + : adopt(result.value).then(fulfilled, rejected); + } + step((generator = generator.apply(thisArg, _arguments || [])).next()); }); -}; -var __generator = (this && this.__generator) || function (thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; - function verb(n) { return function (v) { return step([n, v]); }; } + }; +var __generator = + (this && this.__generator) || + function(thisArg, body) { + var _ = { + label: 0, + sent: function() { + if (t[0] & 1) throw t[1]; + return t[1]; + }, + trys: [], + ops: [], + }, + f, + y, + t, + g; + return ( + (g = { next: verb(0), throw: verb(1), return: verb(2) }), + typeof Symbol === 'function' && + (g[Symbol.iterator] = function() { + return this; + }), + g + ); + function verb(n) { + return function(v) { + return step([n, v]); + }; + } function step(op) { - if (f) throw new TypeError("Generator is already executing."); - while (_) try { - if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; - if (y = 0, t) op = [op[0] & 2, t.value]; - switch (op[0]) { - case 0: case 1: t = op; break; - case 4: _.label++; return { value: op[1], done: false }; - case 5: _.label++; y = op[1]; op = [0]; continue; - case 7: op = _.ops.pop(); _.trys.pop(); continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } - if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } - if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } - if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } - if (t[2]) _.ops.pop(); - _.trys.pop(); continue; - } - op = body.call(thisArg, _); - } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } - if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; + if (f) throw new TypeError('Generator is already executing.'); + while (_) + try { + if ( + ((f = 1), + y && + (t = + op[0] & 2 + ? y['return'] + : op[0] + ? y['throw'] || ((t = y['return']) && t.call(y), 0) + : y.next) && + !(t = t.call(y, op[1])).done) + ) + return t; + if (((y = 0), t)) op = [op[0] & 2, t.value]; + switch (op[0]) { + case 0: + case 1: + t = op; + break; + case 4: + _.label++; + return { value: op[1], done: false }; + case 5: + _.label++; + y = op[1]; + op = [0]; + continue; + case 7: + op = _.ops.pop(); + _.trys.pop(); + continue; + default: + if ( + !((t = _.trys), (t = t.length > 0 && t[t.length - 1])) && + (op[0] === 6 || op[0] === 2) + ) { + _ = 0; + continue; + } + if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { + _.label = op[1]; + break; + } + if (op[0] === 6 && _.label < t[1]) { + _.label = t[1]; + t = op; + break; + } + if (t && _.label < t[2]) { + _.label = t[2]; + _.ops.push(op); + break; + } + if (t[2]) _.ops.pop(); + _.trys.pop(); + continue; + } + op = body.call(thisArg, _); + } catch (e) { + op = [6, e]; + y = 0; + } finally { + f = t = 0; + } + if (op[0] & 5) throw op[1]; + return { value: op[0] ? op[1] : void 0, done: true }; } -}; + }; exports.__esModule = true; exports.generateAliyunClass = exports.dummyAst = void 0; -var fs = require("fs"); -var typescript_1 = require("typescript"); -var parser_1 = require("../../parsers/aliyun/parser"); -var transformer_1 = require("../../transformers/aliyun/transformer"); -var helper_1 = require("../lib/helper"); +var fs = require('fs'); +var typescript_1 = require('typescript'); +var parser_1 = require('../../parsers/aliyun/parser'); +var transformer_1 = require('../../transformers/aliyun/transformer'); +var helper_1 = require('../lib/helper'); var dummyClassPath = '/dummyClasses/ali.js'; var dummyFile = process.cwd() + dummyClassPath; -exports.dummyAst = typescript_1.createSourceFile(dummyFile, fs.readFileSync(dummyFile).toString(), typescript_1.ScriptTarget.Latest, true); -exports.generateAliyunClass = function (serviceClass, serviceName) { - var sdkfile = serviceClass[Object.keys(serviceClass)[0]]; - parser_1.getAST(sdkfile) - .then(function (result) { return __awaiter(void 0, void 0, void 0, function () { +exports.dummyAst = typescript_1.createSourceFile( + dummyFile, + fs.readFileSync(dummyFile).toString(), + typescript_1.ScriptTarget.Latest, + true +); +exports.generateAliyunClass = function(serviceClass, serviceName) { + var sdkfile = serviceClass[Object.keys(serviceClass)[0]]; + parser_1 + .getAST(sdkfile) + .then(function(result) { + return __awaiter(void 0, void 0, void 0, function() { var sdkClassAst, classData, output, filePath, dir, err_1; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - sdkClassAst = result; - _a.label = 1; - case 1: - _a.trys.push([1, 3, , 4]); - classData = parser_1.extractSDKData(sdkClassAst, serviceClass); - classData.serviceName = serviceName; - return [4 /*yield*/, transformer_1.transform(exports.dummyAst, classData)]; - case 2: - output = _a.sent(); - filePath = void 0; - dir = helper_1.getDir(serviceName); - if (!fs.existsSync(process.cwd() + '/generatedClasses/Aliyun/' + dir)) { - fs.mkdirSync(process.cwd() + '/generatedClasses/Aliyun/' + dir, { - recursive: true - }); - } - if (/^[A-Z]*$/.test(serviceName)) { - filePath = - process.cwd() + - '/generatedClasses/Aliyun/' + - dir + - '/ali-' + - serviceName + - '.js'; - } - else { - filePath = - process.cwd() + - '/generatedClasses/Aliyun/' + - dir + - '/ali-' + - serviceName.charAt(0).toLowerCase() + - serviceName.slice(1) + - '.js'; - } - helper_1.printFile(filePath, output); - return [3 /*break*/, 4]; - case 3: - err_1 = _a.sent(); - console.error('Error : ', err_1); - return [3 /*break*/, 4]; - case 4: return [2 /*return*/]; - } + return __generator(this, function(_a) { + switch (_a.label) { + case 0: + sdkClassAst = result; + _a.label = 1; + case 1: + _a.trys.push([1, 3, , 4]); + classData = parser_1.extractSDKData(sdkClassAst, serviceClass); + classData.serviceName = serviceName; + return [ + 4 /*yield*/, + transformer_1.transform(exports.dummyAst, classData), + ]; + case 2: + output = _a.sent(); + filePath = void 0; + dir = helper_1.getDir(serviceName); + if ( + !fs.existsSync( + process.cwd() + '/generatedClasses/Aliyun/' + dir + ) + ) { + fs.mkdirSync( + process.cwd() + '/generatedClasses/Aliyun/' + dir, + { + recursive: true, + } + ); + } + if (/^[A-Z]*$/.test(serviceName)) { + filePath = + process.cwd() + + '/generatedClasses/Aliyun/' + + dir + + '/ali-' + + serviceName + + '.js'; + } else { + filePath = + process.cwd() + + '/generatedClasses/Aliyun/' + + dir + + '/ali-' + + serviceName.charAt(0).toLowerCase() + + serviceName.slice(1) + + '.js'; + } + helper_1.printFile(filePath, output); + return [3 /*break*/, 4]; + case 3: + err_1 = _a.sent(); + console.error('Error : ', err_1); + return [3 /*break*/, 4]; + case 4: + return [2 /*return*/]; + } }); - }); })["catch"](function (error) { - console.error('Error : ', error); + }); + }) + ['catch'](function(error) { + console.error('Error : ', error); }); }; diff --git a/generator/test/transformers/aliyun/dummyData/invalidDataset_1/data.json b/generator/test/transformers/aliyun/dummyData/invalidDataset_1/data.json index 23fb4fe2..09642325 100644 --- a/generator/test/transformers/aliyun/dummyData/invalidDataset_1/data.json +++ b/generator/test/transformers/aliyun/dummyData/invalidDataset_1/data.json @@ -1,120 +1,120 @@ { - "className": "Oss", - "functions": [ - { - "functionName": "setRegion", - "SDKFunctionName": "setRegion", - "params": [ - { - "name": "region", - "optional": false, - "type": "StringKeyword", - "typeName": null - } - ] - }, - { - "functionName": "listBuckets", - "SDKFunctionName": "listBuckets", - "params": [ - { - "name": "params", - "optional": false, - "type": "TypeReference", - "typeName": "undefined" - } - ] - }, - { - "functionName": "create", - "SDKFunctionName": "create", - "params": [ - { - "name": "name", - "optional": false, - "type": "StringKeyword", - "typeName": null - }, - { - "name": "params", - "optional": true, - "type": "TypeReference", - "typeName": "undefined" - } - ] - }, - { - "functionName": "delete", - "SDKFunctionName": "delete", - "params": [ - { - "name": "name", - "optional": false, - "type": "StringKeyword", - "typeName": null - } - ] - }, - { - "functionName": "describeBucket", - "SDKFunctionName": "describeBucket", - "params": [ - { - "name": "name", - "optional": false, - "type": "StringKeyword", - "typeName": null - } - ] - }, - { - "functionName": "listBucketObjects", - "SDKFunctionName": "listBucketObjects", - "params": [ - { - "name": "name", - "optional": false, - "type": "StringKeyword", - "typeName": null - }, - { - "name": "params", - "optional": false, - "type": "TypeReference", - "typeName": "undefined" - } - ] - }, - { - "functionName": "uploadLocalObject", - "SDKFunctionName": "uploadLocalObject", - "params": [ - { - "name": "bucketName", - "optional": false, - "type": "StringKeyword", - "typeName": null - }, - { - "name": "objectName", - "optional": false, - "type": "StringKeyword", - "typeName": null - }, - { - "name": "file", - "optional": false, - "type": "AnyKeyword", - "typeName": null - }, - { - "name": "params", - "optional": true, - "type": "UnionType", - "typeName": null - } - ] - } - ], - "serviceName": "StorageBucket" + "className": "Oss", + "functions": [ + { + "functionName": "setRegion", + "SDKFunctionName": "setRegion", + "params": [ + { + "name": "region", + "optional": false, + "type": "StringKeyword", + "typeName": null + } + ] + }, + { + "functionName": "listBuckets", + "SDKFunctionName": "listBuckets", + "params": [ + { + "name": "params", + "optional": false, + "type": "TypeReference", + "typeName": "undefined" + } + ] + }, + { + "functionName": "create", + "SDKFunctionName": "create", + "params": [ + { + "name": "name", + "optional": false, + "type": "StringKeyword", + "typeName": null + }, + { + "name": "params", + "optional": true, + "type": "TypeReference", + "typeName": "undefined" + } + ] + }, + { + "functionName": "delete", + "SDKFunctionName": "delete", + "params": [ + { + "name": "name", + "optional": false, + "type": "StringKeyword", + "typeName": null + } + ] + }, + { + "functionName": "describeBucket", + "SDKFunctionName": "describeBucket", + "params": [ + { + "name": "name", + "optional": false, + "type": "StringKeyword", + "typeName": null + } + ] + }, + { + "functionName": "listBucketObjects", + "SDKFunctionName": "listBucketObjects", + "params": [ + { + "name": "name", + "optional": false, + "type": "StringKeyword", + "typeName": null + }, + { + "name": "params", + "optional": false, + "type": "TypeReference", + "typeName": "undefined" + } + ] + }, + { + "functionName": "uploadLocalObject", + "SDKFunctionName": "uploadLocalObject", + "params": [ + { + "name": "bucketName", + "optional": false, + "type": "StringKeyword", + "typeName": null + }, + { + "name": "objectName", + "optional": false, + "type": "StringKeyword", + "typeName": null + }, + { + "name": "file", + "optional": false, + "type": "AnyKeyword", + "typeName": null + }, + { + "name": "params", + "optional": true, + "type": "UnionType", + "typeName": null + } + ] + } + ], + "serviceName": "StorageBucket" } diff --git a/generator/test/transformers/aliyun/dummyData/invalidDataset_1/sourceFile.js b/generator/test/transformers/aliyun/dummyData/invalidDataset_1/sourceFile.js index 85f1ebd3..d56fed49 100644 --- a/generator/test/transformers/aliyun/dummyData/invalidDataset_1/sourceFile.js +++ b/generator/test/transformers/aliyun/dummyData/invalidDataset_1/sourceFile.js @@ -1,18 +1,18 @@ class ClassName { - constructor(alisdk, accessKeyId, accessKeySecret) { - this._ali = alisdk; - this._instance = new this._ali(accessKeyId, accessKeySecret); - this._sdkClassName = this._instance.SDKClassName; - } + constructor(alisdk, accessKeyId, accessKeySecret) { + this._ali = alisdk; + this._instance = new this._ali(accessKeyId, accessKeySecret); + this._sdkClassName = this._instance.SDKClassName; + } - function() { - return new Promise((resolve, reject) => { - this._sdkClassName - .SDKFunctionName() - .then(data => resolve(data)) - .catch(err => reject(err)); - }); - } + function() { + return new Promise((resolve, reject) => { + this._sdkClassName + .SDKFunctionName() + .then(data => resolve(data)) + .catch(err => reject(err)); + }); + } } module.exports = ClassName; diff --git a/generator/test/transformers/aliyun/dummyData/invalidDataset_2/data.json b/generator/test/transformers/aliyun/dummyData/invalidDataset_2/data.json index d30b0bf4..10ba6fa3 100644 --- a/generator/test/transformers/aliyun/dummyData/invalidDataset_2/data.json +++ b/generator/test/transformers/aliyun/dummyData/invalidDataset_2/data.json @@ -1,96 +1,96 @@ { - "className": "Oss", - "functions": [ - { - "functionName": "create", - "SDKFunctionName": "create", - "params": [ - { - "name": "name", - "optional": false, - "type": "StringKeyword", - "typeName": null - }, - { - "name": "params", - "optional": true, - "type": "TypeReference", - "typeName": "undefined" - } - ] - }, - { - "functionName": "delete", - "SDKFunctionName": "delete", - "params": [ - { - "name": "name", - "optional": false, - "type": "StringKeyword", - "typeName": null - } - ] - }, - { - "functionName": "describeBucket", - "SDKFunctionName": "describeBucket", - "params": [ - { - "name": "name", - "optional": false, - "type": "StringKeyword", - "typeName": null - } - ] - }, - { - "functionName": "listBucketObjects", - "SDKFunctionName": "listBucketObjects", - "params": [ - { - "name": "name", - "optional": false, - "type": "StringKeyword", - "typeName": null - }, - { - "name": "params", - "optional": false, - "type": "TypeReference", - "typeName": "undefined" - } - ] - }, - { - "functionName": "uploadLocalObject", - "SDKFunctionName": "uploadLocalObject", - "params": [ - { - "name": "bucketName", - "optional": false, - "type": "StringKeyword", - "typeName": null - }, - { - "name": "objectName", - "optional": false, - "type": "StringKeyword", - "typeName": null - }, - { - "name": "file", - "optional": false, - "type": "AnyKeyword", - "typeName": null - }, - { - "name": "params", - "optional": true, - "type": "UnionType", - "typeName": null - } - ] - } - ], - "serviceName": "StorageBucket" + "className": "Oss", + "functions": [ + { + "functionName": "create", + "SDKFunctionName": "create", + "params": [ + { + "name": "name", + "optional": false, + "type": "StringKeyword", + "typeName": null + }, + { + "name": "params", + "optional": true, + "type": "TypeReference", + "typeName": "undefined" + } + ] + }, + { + "functionName": "delete", + "SDKFunctionName": "delete", + "params": [ + { + "name": "name", + "optional": false, + "type": "StringKeyword", + "typeName": null + } + ] + }, + { + "functionName": "describeBucket", + "SDKFunctionName": "describeBucket", + "params": [ + { + "name": "name", + "optional": false, + "type": "StringKeyword", + "typeName": null + } + ] + }, + { + "functionName": "listBucketObjects", + "SDKFunctionName": "listBucketObjects", + "params": [ + { + "name": "name", + "optional": false, + "type": "StringKeyword", + "typeName": null + }, + { + "name": "params", + "optional": false, + "type": "TypeReference", + "typeName": "undefined" + } + ] + }, + { + "functionName": "uploadLocalObject", + "SDKFunctionName": "uploadLocalObject", + "params": [ + { + "name": "bucketName", + "optional": false, + "type": "StringKeyword", + "typeName": null + }, + { + "name": "objectName", + "optional": false, + "type": "StringKeyword", + "typeName": null + }, + { + "name": "file", + "optional": false, + "type": "AnyKeyword", + "typeName": null + }, + { + "name": "params", + "optional": true, + "type": "UnionType", + "typeName": null + } + ] + } + ], + "serviceName": "StorageBucket" } diff --git a/generator/test/transformers/aliyun/dummyData/invalidDataset_2/sourceFile.js b/generator/test/transformers/aliyun/dummyData/invalidDataset_2/sourceFile.js index 85f1ebd3..d56fed49 100644 --- a/generator/test/transformers/aliyun/dummyData/invalidDataset_2/sourceFile.js +++ b/generator/test/transformers/aliyun/dummyData/invalidDataset_2/sourceFile.js @@ -1,18 +1,18 @@ class ClassName { - constructor(alisdk, accessKeyId, accessKeySecret) { - this._ali = alisdk; - this._instance = new this._ali(accessKeyId, accessKeySecret); - this._sdkClassName = this._instance.SDKClassName; - } + constructor(alisdk, accessKeyId, accessKeySecret) { + this._ali = alisdk; + this._instance = new this._ali(accessKeyId, accessKeySecret); + this._sdkClassName = this._instance.SDKClassName; + } - function() { - return new Promise((resolve, reject) => { - this._sdkClassName - .SDKFunctionName() - .then(data => resolve(data)) - .catch(err => reject(err)); - }); - } + function() { + return new Promise((resolve, reject) => { + this._sdkClassName + .SDKFunctionName() + .then(data => resolve(data)) + .catch(err => reject(err)); + }); + } } module.exports = ClassName; diff --git a/generator/test/transformers/aliyun/dummyData/validDataset/data.json b/generator/test/transformers/aliyun/dummyData/validDataset/data.json index 23fb4fe2..09642325 100644 --- a/generator/test/transformers/aliyun/dummyData/validDataset/data.json +++ b/generator/test/transformers/aliyun/dummyData/validDataset/data.json @@ -1,120 +1,120 @@ { - "className": "Oss", - "functions": [ - { - "functionName": "setRegion", - "SDKFunctionName": "setRegion", - "params": [ - { - "name": "region", - "optional": false, - "type": "StringKeyword", - "typeName": null - } - ] - }, - { - "functionName": "listBuckets", - "SDKFunctionName": "listBuckets", - "params": [ - { - "name": "params", - "optional": false, - "type": "TypeReference", - "typeName": "undefined" - } - ] - }, - { - "functionName": "create", - "SDKFunctionName": "create", - "params": [ - { - "name": "name", - "optional": false, - "type": "StringKeyword", - "typeName": null - }, - { - "name": "params", - "optional": true, - "type": "TypeReference", - "typeName": "undefined" - } - ] - }, - { - "functionName": "delete", - "SDKFunctionName": "delete", - "params": [ - { - "name": "name", - "optional": false, - "type": "StringKeyword", - "typeName": null - } - ] - }, - { - "functionName": "describeBucket", - "SDKFunctionName": "describeBucket", - "params": [ - { - "name": "name", - "optional": false, - "type": "StringKeyword", - "typeName": null - } - ] - }, - { - "functionName": "listBucketObjects", - "SDKFunctionName": "listBucketObjects", - "params": [ - { - "name": "name", - "optional": false, - "type": "StringKeyword", - "typeName": null - }, - { - "name": "params", - "optional": false, - "type": "TypeReference", - "typeName": "undefined" - } - ] - }, - { - "functionName": "uploadLocalObject", - "SDKFunctionName": "uploadLocalObject", - "params": [ - { - "name": "bucketName", - "optional": false, - "type": "StringKeyword", - "typeName": null - }, - { - "name": "objectName", - "optional": false, - "type": "StringKeyword", - "typeName": null - }, - { - "name": "file", - "optional": false, - "type": "AnyKeyword", - "typeName": null - }, - { - "name": "params", - "optional": true, - "type": "UnionType", - "typeName": null - } - ] - } - ], - "serviceName": "StorageBucket" + "className": "Oss", + "functions": [ + { + "functionName": "setRegion", + "SDKFunctionName": "setRegion", + "params": [ + { + "name": "region", + "optional": false, + "type": "StringKeyword", + "typeName": null + } + ] + }, + { + "functionName": "listBuckets", + "SDKFunctionName": "listBuckets", + "params": [ + { + "name": "params", + "optional": false, + "type": "TypeReference", + "typeName": "undefined" + } + ] + }, + { + "functionName": "create", + "SDKFunctionName": "create", + "params": [ + { + "name": "name", + "optional": false, + "type": "StringKeyword", + "typeName": null + }, + { + "name": "params", + "optional": true, + "type": "TypeReference", + "typeName": "undefined" + } + ] + }, + { + "functionName": "delete", + "SDKFunctionName": "delete", + "params": [ + { + "name": "name", + "optional": false, + "type": "StringKeyword", + "typeName": null + } + ] + }, + { + "functionName": "describeBucket", + "SDKFunctionName": "describeBucket", + "params": [ + { + "name": "name", + "optional": false, + "type": "StringKeyword", + "typeName": null + } + ] + }, + { + "functionName": "listBucketObjects", + "SDKFunctionName": "listBucketObjects", + "params": [ + { + "name": "name", + "optional": false, + "type": "StringKeyword", + "typeName": null + }, + { + "name": "params", + "optional": false, + "type": "TypeReference", + "typeName": "undefined" + } + ] + }, + { + "functionName": "uploadLocalObject", + "SDKFunctionName": "uploadLocalObject", + "params": [ + { + "name": "bucketName", + "optional": false, + "type": "StringKeyword", + "typeName": null + }, + { + "name": "objectName", + "optional": false, + "type": "StringKeyword", + "typeName": null + }, + { + "name": "file", + "optional": false, + "type": "AnyKeyword", + "typeName": null + }, + { + "name": "params", + "optional": true, + "type": "UnionType", + "typeName": null + } + ] + } + ], + "serviceName": "StorageBucket" } diff --git a/generator/test/transformers/aliyun/dummyData/validDataset/sourceFile.js b/generator/test/transformers/aliyun/dummyData/validDataset/sourceFile.js index 85f1ebd3..d56fed49 100644 --- a/generator/test/transformers/aliyun/dummyData/validDataset/sourceFile.js +++ b/generator/test/transformers/aliyun/dummyData/validDataset/sourceFile.js @@ -1,18 +1,18 @@ class ClassName { - constructor(alisdk, accessKeyId, accessKeySecret) { - this._ali = alisdk; - this._instance = new this._ali(accessKeyId, accessKeySecret); - this._sdkClassName = this._instance.SDKClassName; - } + constructor(alisdk, accessKeyId, accessKeySecret) { + this._ali = alisdk; + this._instance = new this._ali(accessKeyId, accessKeySecret); + this._sdkClassName = this._instance.SDKClassName; + } - function() { - return new Promise((resolve, reject) => { - this._sdkClassName - .SDKFunctionName() - .then(data => resolve(data)) - .catch(err => reject(err)); - }); - } + function() { + return new Promise((resolve, reject) => { + this._sdkClassName + .SDKFunctionName() + .then(data => resolve(data)) + .catch(err => reject(err)); + }); + } } module.exports = ClassName; diff --git a/generator/test/transformers/aliyun/transformer.test.ts b/generator/test/transformers/aliyun/transformer.test.ts index 8c129aff..2cdbce65 100644 --- a/generator/test/transformers/aliyun/transformer.test.ts +++ b/generator/test/transformers/aliyun/transformer.test.ts @@ -5,69 +5,69 @@ import { transform } from '../../../transformers/aliyun/transformer'; import { readJsonData, readSourceFile } from '../lib/helper'; interface TestData { - AST: any; - data: any; + AST: any; + data: any; } describe('Aliyun transformer transformations', () => { - context('Valid source code and valid data', () => { - const testData: TestData = { AST: null, data: null }; - before(async () => { - testData.AST = await readSourceFile('validDataset', 'aliyun'); - testData.data = await readJsonData('validDataset', 'aliyun'); - }); + context('Valid source code and valid data', () => { + const testData: TestData = { AST: null, data: null }; + before(async () => { + testData.AST = await readSourceFile('validDataset', 'aliyun'); + testData.data = await readJsonData('validDataset', 'aliyun'); + }); - it('Should return a String', async () => { - const result = await transform(testData.AST, testData.data); - expect(result).to.be.string; - }); + it('Should return a String', async () => { + const result = await transform(testData.AST, testData.data); + expect(result).to.be.string; + }); - it('Should return a Javascript code in String format', async () => { - const result = await transform(testData.AST, testData.data); - try { - const sourceCode = createSourceFile( - 'someClass.js', - result, - ScriptTarget.Latest - ); - expect(isSourceFile(sourceCode)).to.be.true; - } catch (error) { - console.log(error); - } - }); - }); + it('Should return a Javascript code in String format', async () => { + const result = await transform(testData.AST, testData.data); + try { + const sourceCode = createSourceFile( + 'someClass.js', + result, + ScriptTarget.Latest + ); + expect(isSourceFile(sourceCode)).to.be.true; + } catch (error) { + console.log(error); + } + }); + }); - context('Invalid source code and valid data', () => { - const testData: TestData = { AST: null, data: null }; - before(async () => { - testData.AST = await readSourceFile('invalidDataset_1', 'aliyun'); - testData.data = await readJsonData('invalidDataset_1', 'aliyun'); - }); + context('Invalid source code and valid data', () => { + const testData: TestData = { AST: null, data: null }; + before(async () => { + testData.AST = await readSourceFile('invalidDataset_1', 'aliyun'); + testData.data = await readJsonData('invalidDataset_1', 'aliyun'); + }); - it('Should return a validation Error', async () => { - try { - await transform(testData.AST, testData.data); - } catch (error) { - expect(error.message).to.eql('Code is invalid'); - } - }); - }); + it('Should return a validation Error', async () => { + try { + await transform(testData.AST, testData.data); + } catch (error) { + expect(error.message).to.eql('Code is invalid'); + } + }); + }); - context('Valid source code and invalid data', () => { - const testData: TestData = { AST: null, data: null }; - before(async () => { - testData.AST = await readSourceFile('invalidDataset_2', 'aliyun'); - testData.data = await readJsonData('invalidDataset_2', 'aliyun'); - }); + context('Valid source code and invalid data', () => { + const testData: TestData = { AST: null, data: null }; + before(async () => { + testData.AST = await readSourceFile('invalidDataset_2', 'aliyun'); + testData.data = await readJsonData('invalidDataset_2', 'aliyun'); + }); - it('Should return a validation Error', async () => { - try { - await transform(testData.AST, testData.data); - } catch (error) { - expect(error.message).to.eql( - 'Invalid Input, missing class declerations' - ); - } - }); - }); + it('Should return a validation Error', async () => { + try { + await transform(testData.AST, testData.data); + } catch (error) { + expect(error.message).to.eql( + 'Invalid Input, missing class declerations' + ); + } + }); + }); }); diff --git a/generator/transformers/aliyun/transformer.js b/generator/transformers/aliyun/transformer.js index 637d0ada..90e1faad 100644 --- a/generator/transformers/aliyun/transformer.js +++ b/generator/transformers/aliyun/transformer.js @@ -1,229 +1,445 @@ -"use strict"; -var __assign = (this && this.__assign) || function () { - __assign = Object.assign || function(t) { +'use strict'; +var __assign = + (this && this.__assign) || + function() { + __assign = + Object.assign || + function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { - s = arguments[i]; - for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) - t[p] = s[p]; + s = arguments[i]; + for (var p in s) + if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; - }; + }; return __assign.apply(this, arguments); -}; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); + }; +var __awaiter = + (this && this.__awaiter) || + function(thisArg, _arguments, P, generator) { + function adopt(value) { + return value instanceof P + ? value + : new P(function(resolve) { + resolve(value); + }); + } + return new (P || (P = Promise))(function(resolve, reject) { + function fulfilled(value) { + try { + step(generator.next(value)); + } catch (e) { + reject(e); + } + } + function rejected(value) { + try { + step(generator['throw'](value)); + } catch (e) { + reject(e); + } + } + function step(result) { + result.done + ? resolve(result.value) + : adopt(result.value).then(fulfilled, rejected); + } + step((generator = generator.apply(thisArg, _arguments || [])).next()); }); -}; -var __generator = (this && this.__generator) || function (thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; - function verb(n) { return function (v) { return step([n, v]); }; } + }; +var __generator = + (this && this.__generator) || + function(thisArg, body) { + var _ = { + label: 0, + sent: function() { + if (t[0] & 1) throw t[1]; + return t[1]; + }, + trys: [], + ops: [], + }, + f, + y, + t, + g; + return ( + (g = { next: verb(0), throw: verb(1), return: verb(2) }), + typeof Symbol === 'function' && + (g[Symbol.iterator] = function() { + return this; + }), + g + ); + function verb(n) { + return function(v) { + return step([n, v]); + }; + } function step(op) { - if (f) throw new TypeError("Generator is already executing."); - while (_) try { - if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; - if (y = 0, t) op = [op[0] & 2, t.value]; - switch (op[0]) { - case 0: case 1: t = op; break; - case 4: _.label++; return { value: op[1], done: false }; - case 5: _.label++; y = op[1]; op = [0]; continue; - case 7: op = _.ops.pop(); _.trys.pop(); continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } - if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } - if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } - if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } - if (t[2]) _.ops.pop(); - _.trys.pop(); continue; - } - op = body.call(thisArg, _); - } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } - if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; + if (f) throw new TypeError('Generator is already executing.'); + while (_) + try { + if ( + ((f = 1), + y && + (t = + op[0] & 2 + ? y['return'] + : op[0] + ? y['throw'] || ((t = y['return']) && t.call(y), 0) + : y.next) && + !(t = t.call(y, op[1])).done) + ) + return t; + if (((y = 0), t)) op = [op[0] & 2, t.value]; + switch (op[0]) { + case 0: + case 1: + t = op; + break; + case 4: + _.label++; + return { value: op[1], done: false }; + case 5: + _.label++; + y = op[1]; + op = [0]; + continue; + case 7: + op = _.ops.pop(); + _.trys.pop(); + continue; + default: + if ( + !((t = _.trys), (t = t.length > 0 && t[t.length - 1])) && + (op[0] === 6 || op[0] === 2) + ) { + _ = 0; + continue; + } + if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { + _.label = op[1]; + break; + } + if (op[0] === 6 && _.label < t[1]) { + _.label = t[1]; + t = op; + break; + } + if (t && _.label < t[2]) { + _.label = t[2]; + _.ops.push(op); + break; + } + if (t[2]) _.ops.pop(); + _.trys.pop(); + continue; + } + op = body.call(thisArg, _); + } catch (e) { + op = [6, e]; + y = 0; + } finally { + f = t = 0; + } + if (op[0] & 5) throw op[1]; + return { value: op[0] ? op[1] : void 0, done: true }; } -}; + }; exports.__esModule = true; exports.transform = void 0; -var lodash_1 = require("lodash"); -var ts = require("typescript"); +var lodash_1 = require('lodash'); +var ts = require('typescript'); var dummyIdentifiers = [ - 'ClassName', - '_sdkClassName', - 'SDKClassName', - 'SDKFunctionName', + 'ClassName', + '_sdkClassName', + 'SDKClassName', + 'SDKFunctionName', ]; var printer = ts.createPrinter({ - newLine: ts.NewLineKind.LineFeed, - removeComments: false + newLine: ts.NewLineKind.LineFeed, + removeComments: false, }); -var addMultiLineComment = function (node, comment) { - ts.addSyntheticLeadingComment(node, ts.SyntaxKind.MultiLineCommentTrivia, comment, true); +var addMultiLineComment = function(node, comment) { + ts.addSyntheticLeadingComment( + node, + ts.SyntaxKind.MultiLineCommentTrivia, + comment, + true + ); }; -var runTransformation = function (sourceCode, transformMethod) { - return new Promise(function (resolve, reject) { - try { - var result = ts.transform(sourceCode, [transformMethod]); - var transformedNodes = result.transformed[0]; - var output = printer.printNode(ts.EmitHint.SourceFile, transformedNodes, sourceCode); - resolve(output); - } - catch (error) { - reject(error); - } - }); +var runTransformation = function(sourceCode, transformMethod) { + return new Promise(function(resolve, reject) { + try { + var result = ts.transform(sourceCode, [transformMethod]); + var transformedNodes = result.transformed[0]; + var output = printer.printNode( + ts.EmitHint.SourceFile, + transformedNodes, + sourceCode + ); + resolve(output); + } catch (error) { + reject(error); + } + }); }; -var toSourceFile = function (sourceCode) { - return ts.createSourceFile('dummyClass.js', sourceCode, ts.ScriptTarget.Latest, true); +var toSourceFile = function(sourceCode) { + return ts.createSourceFile( + 'dummyClass.js', + sourceCode, + ts.ScriptTarget.Latest, + true + ); }; -var extractParams = function (classData, identifierCount) { - var parameters = classData.functions[identifierCount].params.map(function (param) { - var paramNode = ts.createParameter(undefined, undefined, undefined, param.name); - if (param.optional) { - paramNode.initializer = ts.createIdentifier('undefined'); - } - return paramNode; - }); - return parameters; +var extractParams = function(classData, identifierCount) { + var parameters = classData.functions[identifierCount].params.map(function( + param + ) { + var paramNode = ts.createParameter( + undefined, + undefined, + undefined, + param.name + ); + if (param.optional) { + paramNode.initializer = ts.createIdentifier('undefined'); + } + return paramNode; + }); + return parameters; }; -var extractArgs = function (classData, identifierCount) { - var args = classData.functions[identifierCount].params.map(function (param) { - return ts.createIdentifier(param.name); - }); - return args; +var extractArgs = function(classData, identifierCount) { + var args = classData.functions[identifierCount].params.map(function(param) { + return ts.createIdentifier(param.name); + }); + return args; }; -exports.transform = function (code, classData) { return __awaiter(void 0, void 0, void 0, function () { - var addFunctions, addIdentifiers, addComments, node, result_1, result_2, result_3; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - addFunctions = function (context) { return function (rootNode) { - var visit = function (node) { - if (ts.isClassDeclaration(node)) { - var functions = classData.functions.map(function (method) { - // const clonedNode = Object.assign({}, node.members[1]); - var clonedNode = __assign({}, node.members[1]); - clonedNode.name = ts.createIdentifier(method.functionName); - return clonedNode; - }); - // console.log(functions); - var updatedClass = ts.updateClassDeclaration(node, node.decorators, node.modifiers, node.name, node.typeParameters, node.heritageClauses, ts.createNodeArray([node.members[0]].concat(functions))); - return updatedClass; - } - return ts.visitEachChild(node, visit, context); - }; - return ts.visitNode(rootNode, visit); - }; }; - addIdentifiers = function (context) { return function (rootNode) { - var count = 0; - var visit = function (node) { - if (ts.isMethodDeclaration(node)) { - var parameters = extractParams(classData, count); - node.parameters = parameters; - } - if (ts.isIdentifier(node) && dummyIdentifiers.includes(node.text)) { - var updatedIdentifier = void 0; - switch (node.text) { - case 'ClassName': - updatedIdentifier = ts.updateIdentifier(ts.createIdentifier('ALI_' + classData.serviceName)); - break; - case '_sdkClassName': - updatedIdentifier = ts.updateIdentifier(ts.createIdentifier('_' + - classData.className - .charAt(0) - .toLowerCase() + - classData.className.substr(1))); - break; - case 'SDKClassName': - updatedIdentifier = ts.updateIdentifier(ts.createIdentifier(classData.className.charAt(0).toLowerCase() + - classData.className.substr(1))); - break; - case 'SDKFunctionName': - updatedIdentifier = ts.updateIdentifier(ts.createIdentifier(classData.functions[count].SDKFunctionName)); - count++; - } - return updatedIdentifier; - } - if (ts.isCallExpression(node)) { - node.expression.forEachChild(function (childNode) { - if (ts.isIdentifier(childNode) && - childNode.text === 'SDKFunctionName') { - // const args = classData.functions[count].params.map( - // param => ts.createIdentifier(param.name) - // ); - var args = extractArgs(classData, count); - node.arguments = args.concat(node.arguments); - } - }); - } - return ts.visitEachChild(node, visit, context); - }; - return ts.visitNode(rootNode, visit); - }; }; - addComments = function (context) { return function (rootNode) { - var count = 0; - var visit = function (node) { - if (ts.isClassDeclaration(node)) { - addMultiLineComment(node, 'This is an auto generated class, please do not edit this file!'); - var comment = "*\n* Class to create a " + classData.className + " object\n* @category AliCloud \n"; - addMultiLineComment(node, comment); - } - if (ts.isMethodDeclaration(node)) { - var parameters = classData.functions[count].params.map(function (param) { - var statment; - if (param.optional) { - if (param.type == 'TypeReference') - statment = "* @param {" + param.typeName + "} " + param.name + " - Data required for " + classData.functions[count].SDKFunctionName; - else - statment = "* @param {" + param.type + "} " + param.name + " - Data required for " + classData.functions[count].SDKFunctionName; - } - else { - if (param.type == 'TypeReference') - statment = "* @param {" + param.typeName + "} " + param.name + " - Data required for " + classData.functions[count].SDKFunctionName; - else - statment = "* @param {" + param.type + "} " + param.name + " - Data required for " + classData.functions[count].SDKFunctionName; - } - return statment; - }); - var comment = void 0; - if (parameters.length > 0) { - var paramStatments_1 = ''; - parameters.forEach(function (param) { - paramStatments_1 = paramStatments_1.concat(paramStatments_1 === '' ? "" + param : "\n" + param); - }); - comment = "*\n* Trigers the " + classData.functions[count].SDKFunctionName + " function of " + classData.className + "\n" + paramStatments_1 + "\n* @returns {Promise<" + classData.functions[count].SDKFunctionName + "Response>}\n"; - } - else { - comment = "*\n* Trigers the " + classData.functions[count].SDKFunctionName + " function of " + classData.className + "\n* @returns {Promise<" + classData.functions[count].SDKFunctionName + "Response>}\n"; - } - addMultiLineComment(node, comment); - count++; - } - return ts.visitEachChild(node, visit, context); - }; - return ts.visitNode(rootNode, visit); - }; }; - node = code.statements.find(function (stm) { return ts.isClassDeclaration(stm); }); - if (!classData.className) { - throw new Error('Invalid Input, missing class declerations'); +exports.transform = function(code, classData) { + return __awaiter(void 0, void 0, void 0, function() { + var addFunctions, + addIdentifiers, + addComments, + node, + result_1, + result_2, + result_3; + return __generator(this, function(_a) { + switch (_a.label) { + case 0: + addFunctions = function(context) { + return function(rootNode) { + var visit = function(node) { + if (ts.isClassDeclaration(node)) { + var functions = classData.functions.map(function(method) { + // const clonedNode = Object.assign({}, node.members[1]); + var clonedNode = __assign({}, node.members[1]); + clonedNode.name = ts.createIdentifier(method.functionName); + return clonedNode; + }); + // console.log(functions); + var updatedClass = ts.updateClassDeclaration( + node, + node.decorators, + node.modifiers, + node.name, + node.typeParameters, + node.heritageClauses, + ts.createNodeArray([node.members[0]].concat(functions)) + ); + return updatedClass; } - if (!classData.functions) { - throw new Error('Invalid Input, missing class member functions'); + return ts.visitEachChild(node, visit, context); + }; + return ts.visitNode(rootNode, visit); + }; + }; + addIdentifiers = function(context) { + return function(rootNode) { + var count = 0; + var visit = function(node) { + if (ts.isMethodDeclaration(node)) { + var parameters = extractParams(classData, count); + node.parameters = parameters; } - code = lodash_1.cloneDeep(code); - return [4 /*yield*/, runTransformation(code, addFunctions)]; - case 1: - result_1 = _a.sent(); - return [4 /*yield*/, runTransformation(toSourceFile(result_1), addIdentifiers)]; - case 2: - result_2 = _a.sent(); - return [4 /*yield*/, runTransformation(toSourceFile(result_2), addComments)]; - case 3: - result_3 = _a.sent(); - return [2 /*return*/, result_3]; - } + if ( + ts.isIdentifier(node) && + dummyIdentifiers.includes(node.text) + ) { + var updatedIdentifier = void 0; + switch (node.text) { + case 'ClassName': + updatedIdentifier = ts.updateIdentifier( + ts.createIdentifier('ALI_' + classData.serviceName) + ); + break; + case '_sdkClassName': + updatedIdentifier = ts.updateIdentifier( + ts.createIdentifier( + '_' + + classData.className.charAt(0).toLowerCase() + + classData.className.substr(1) + ) + ); + break; + case 'SDKClassName': + updatedIdentifier = ts.updateIdentifier( + ts.createIdentifier( + classData.className.charAt(0).toLowerCase() + + classData.className.substr(1) + ) + ); + break; + case 'SDKFunctionName': + updatedIdentifier = ts.updateIdentifier( + ts.createIdentifier( + classData.functions[count].SDKFunctionName + ) + ); + count++; + } + return updatedIdentifier; + } + if (ts.isCallExpression(node)) { + node.expression.forEachChild(function(childNode) { + if ( + ts.isIdentifier(childNode) && + childNode.text === 'SDKFunctionName' + ) { + // const args = classData.functions[count].params.map( + // param => ts.createIdentifier(param.name) + // ); + var args = extractArgs(classData, count); + node.arguments = args.concat(node.arguments); + } + }); + } + return ts.visitEachChild(node, visit, context); + }; + return ts.visitNode(rootNode, visit); + }; + }; + addComments = function(context) { + return function(rootNode) { + var count = 0; + var visit = function(node) { + if (ts.isClassDeclaration(node)) { + addMultiLineComment( + node, + 'This is an auto generated class, please do not edit this file!' + ); + var comment = + '*\n* Class to create a ' + + classData.className + + ' object\n* @category AliCloud \n'; + addMultiLineComment(node, comment); + } + if (ts.isMethodDeclaration(node)) { + var parameters = classData.functions[count].params.map( + function(param) { + var statment; + if (param.optional) { + if (param.type == 'TypeReference') + statment = + '* @param {' + + param.typeName + + '} ' + + param.name + + ' - Data required for ' + + classData.functions[count].SDKFunctionName; + else + statment = + '* @param {' + + param.type + + '} ' + + param.name + + ' - Data required for ' + + classData.functions[count].SDKFunctionName; + } else { + if (param.type == 'TypeReference') + statment = + '* @param {' + + param.typeName + + '} ' + + param.name + + ' - Data required for ' + + classData.functions[count].SDKFunctionName; + else + statment = + '* @param {' + + param.type + + '} ' + + param.name + + ' - Data required for ' + + classData.functions[count].SDKFunctionName; + } + return statment; + } + ); + var comment = void 0; + if (parameters.length > 0) { + var paramStatments_1 = ''; + parameters.forEach(function(param) { + paramStatments_1 = paramStatments_1.concat( + paramStatments_1 === '' ? '' + param : '\n' + param + ); + }); + comment = + '*\n* Trigers the ' + + classData.functions[count].SDKFunctionName + + ' function of ' + + classData.className + + '\n' + + paramStatments_1 + + '\n* @returns {Promise<' + + classData.functions[count].SDKFunctionName + + 'Response>}\n'; + } else { + comment = + '*\n* Trigers the ' + + classData.functions[count].SDKFunctionName + + ' function of ' + + classData.className + + '\n* @returns {Promise<' + + classData.functions[count].SDKFunctionName + + 'Response>}\n'; + } + addMultiLineComment(node, comment); + count++; + } + return ts.visitEachChild(node, visit, context); + }; + return ts.visitNode(rootNode, visit); + }; + }; + node = code.statements.find(function(stm) { + return ts.isClassDeclaration(stm); + }); + if (!classData.className) { + throw new Error('Invalid Input, missing class declerations'); + } + if (!classData.functions) { + throw new Error('Invalid Input, missing class member functions'); + } + code = lodash_1.cloneDeep(code); + return [4 /*yield*/, runTransformation(code, addFunctions)]; + case 1: + result_1 = _a.sent(); + return [ + 4 /*yield*/, + runTransformation(toSourceFile(result_1), addIdentifiers), + ]; + case 2: + result_2 = _a.sent(); + return [ + 4 /*yield*/, + runTransformation(toSourceFile(result_2), addComments), + ]; + case 3: + result_3 = _a.sent(); + return [2 /*return*/, result_3]; + } }); -}); }; + }); +}; From b302e56fc10ac6dc345987fdd4342a680b889cf4 Mon Sep 17 00:00:00 2001 From: Pranjal Walia Date: Fri, 12 Aug 2022 23:34:05 +0530 Subject: [PATCH 15/19] feat: add nodecloud plugin starter for alicloud --- .eslintignore | 3 +- packages/ali-plugin/ali.js | 26 +++++ packages/ali-plugin/index.js | 8 ++ packages/ali-plugin/package.json | 18 ++++ packages/ali-plugin/storage/ali-storage.js | 115 +++++++++++++++++++++ 5 files changed, 169 insertions(+), 1 deletion(-) create mode 100644 packages/ali-plugin/ali.js create mode 100644 packages/ali-plugin/index.js create mode 100644 packages/ali-plugin/package.json create mode 100644 packages/ali-plugin/storage/ali-storage.js diff --git a/.eslintignore b/.eslintignore index 76add878..3f047cd5 100644 --- a/.eslintignore +++ b/.eslintignore @@ -1,2 +1,3 @@ node_modules -dist \ No newline at end of file +dist +*.js \ No newline at end of file diff --git a/packages/ali-plugin/ali.js b/packages/ali-plugin/ali.js new file mode 100644 index 00000000..76eaa1b2 --- /dev/null +++ b/packages/ali-plugin/ali.js @@ -0,0 +1,26 @@ +const bucketStorage = require('./storage/ali-storage'); + +class Ali { + constructor(sdk) { + this._alisdk = sdk; + + // if (!process.env.DO_TOKEN) { + // throw new Error("Provide credentials"); + // } + this.key = process.env.ALI_TOKEN || 'key'; + this.secret = process.env.ALI_SECRET || 'secret'; + + return { + getSDK: () => this._alisdk, + getKey: () => this.key, + getSecret: () => this.secret, + bucketStorage: this.bucketStorage, + }; + } + + bucketStorage() { + return new bucketStorage(this.getSDK(), this.getKey(), this.getSecret()); + } +} + +module.exports = Ali; diff --git a/packages/ali-plugin/index.js b/packages/ali-plugin/index.js new file mode 100644 index 00000000..bd6f09dc --- /dev/null +++ b/packages/ali-plugin/index.js @@ -0,0 +1,8 @@ +const aliSDK = require('aliyun-v2-typescript-sdk').default; +const aliPlugin = require('./ali'); + +const ncAliPlugin = () => { + return new aliPlugin(aliSDK); +}; + +module.exports = ncAliPlugin; diff --git a/packages/ali-plugin/package.json b/packages/ali-plugin/package.json new file mode 100644 index 00000000..372358fe --- /dev/null +++ b/packages/ali-plugin/package.json @@ -0,0 +1,18 @@ +{ + "name": "@nodecloud/ali-plugin", + "version": "0.0.0", + "description": "NodeCloud Alibaba Cloud plugin", + "main": "index.js", + "scripts": { + "prettier": "yarn pretty-quick" + }, + "keywords": [ + "nodecloud", + "nodecloud-Alibaba-Cloud" + ], + "author": "Scorelab", + "license": "Apache-2.0", + "dependencies": { + "aliyun-v2-typescript-sdk": "0.1.1" + } +} diff --git a/packages/ali-plugin/storage/ali-storage.js b/packages/ali-plugin/storage/ali-storage.js new file mode 100644 index 00000000..8418721c --- /dev/null +++ b/packages/ali-plugin/storage/ali-storage.js @@ -0,0 +1,115 @@ +/*This is an auto generated class, please do not edit this file!*/ +/** + * Class to create a Oss object + * @category AliCloud + */ +class ALI_StorageBucket { + /** + * @param {module} alisdk ali SDK + * @param {string} accessKeyId SDK secrets accessKeyId + * @param {string} accessKeySecret SDK secrets accessKeySecret + */ + constructor(alisdk, accessKeyId, accessKeySecret) { + this._ali = alisdk; + this._instance = new this._ali(accessKeyId, accessKeySecret); + this._oss = this._instance.oss; + } + /** + * Trigers the setRegion function of Oss + * @param {StringKeyword} region - Data required for setRegion + * @returns {Promise} + */ + setRegion(region) { + return new Promise((resolve, reject) => { + this._oss + .setRegion(region) + .then(data => resolve(data)) + .catch(err => reject(err)); + }); + } + /** + * Trigers the listBuckets function of Oss + * @param {AnyKeyword} params - Data required for listBuckets + * @returns {Promise} + */ + listBuckets(params) { + console.log('called listbuckets...'); + return new Promise((resolve, reject) => { + this._oss + .listBuckets(params) + .then(data => resolve(data)) + .catch(err => reject(err)); + }); + } + /** + * Trigers the create function of Oss + * @param {StringKeyword} name - Data required for create + * @param {AnyKeyword} params - Data required for create + * @returns {Promise} + */ + create(name, params = undefined) { + return new Promise((resolve, reject) => { + this._oss + .create(name, params) + .then(data => resolve(data)) + .catch(err => reject(err)); + }); + } + /** + * Trigers the delete function of Oss + * @param {StringKeyword} name - Data required for delete + * @returns {Promise} + */ + delete(name) { + return new Promise((resolve, reject) => { + this._oss + .delete(name) + .then(data => resolve(data)) + .catch(err => reject(err)); + }); + } + /** + * Trigers the describeBucket function of Oss + * @param {StringKeyword} name - Data required for describeBucket + * @returns {Promise} + */ + describeBucket(name) { + return new Promise((resolve, reject) => { + this._oss + .describeBucket(name) + .then(data => resolve(data)) + .catch(err => reject(err)); + }); + } + /** + * Trigers the listBucketObjects function of Oss + * @param {StringKeyword} name - Data required for listBucketObjects + * @param {AnyKeyword} params - Data required for listBucketObjects + * @returns {Promise} + */ + listBucketObjects(name, params) { + return new Promise((resolve, reject) => { + this._oss + .listBucketObjects(name, params) + .then(data => resolve(data)) + .catch(err => reject(err)); + }); + } + /** + * Trigers the uploadLocalObject function of Oss + * @param {StringKeyword} bucketName - Data required for uploadLocalObject + * @param {StringKeyword} objectName - Data required for uploadLocalObject + * @param {AnyKeyword} file - Data required for uploadLocalObject + * @param {UnionType} params - Data required for uploadLocalObject + * @returns {Promise} + */ + uploadLocalObject(bucketName, objectName, file, params = undefined) { + return new Promise((resolve, reject) => { + this._oss + .uploadLocalObject(bucketName, objectName, file, params) + .then(data => resolve(data)) + .catch(err => reject(err)); + }); + } +} +module.exports = ALI_StorageBucket; From 7830745ed84c3db09ee65395bf1df274eb8015d8 Mon Sep 17 00:00:00 2001 From: Pranjal Walia Date: Sat, 13 Aug 2022 00:17:20 +0530 Subject: [PATCH 16/19] chore: update env credential checks --- .../Aliyun/storage/ali-storageBucket.js | 211 +++++++++--------- packages/ali-plugin/ali.js | 10 +- packages/ali-plugin/storage/ali-storage.js | 1 - 3 files changed, 114 insertions(+), 108 deletions(-) diff --git a/generator/generatedClasses/Aliyun/storage/ali-storageBucket.js b/generator/generatedClasses/Aliyun/storage/ali-storageBucket.js index fbd3b2fe..032414b7 100644 --- a/generator/generatedClasses/Aliyun/storage/ali-storageBucket.js +++ b/generator/generatedClasses/Aliyun/storage/ali-storageBucket.js @@ -1,107 +1,114 @@ /*This is an auto generated class, please do not edit this file!*/ /** -* Class to create a Oss object -* @category AliCloud -*/ + * Class to create a Oss object + * @category AliCloud + */ class ALI_StorageBucket { - /** - * @param {module} alisdk ali SDK - * @param {string} accessKeyId SDK secrets accessKeyId - * @param {string} accessKeySecret SDK secrets accessKeySecret - */ - constructor(alisdk, accessKeyId, accessKeySecret) { - this._ali = alisdk; - this._instance = new this._ali(accessKeyId, accessKeySecret); - this._oss = this._instance.oss; - } - /** - * Trigers the setRegion function of Oss - * @param {StringKeyword} region - Data required for setRegion - * @returns {Promise} - */ - setRegion(region) { - return new Promise((resolve, reject) => { - this._oss.setRegion(region) - .then(data => resolve(data)) - .catch(err => reject(err)); - }); - } - /** - * Trigers the listBuckets function of Oss - * @param {AnyKeyword} params - Data required for listBuckets - * @returns {Promise} - */ - listBuckets(params) { - return new Promise((resolve, reject) => { - this._oss.listBuckets(params) - .then(data => resolve(data)) - .catch(err => reject(err)); - }); - } - /** - * Trigers the create function of Oss - * @param {StringKeyword} name - Data required for create - * @param {AnyKeyword} params - Data required for create - * @returns {Promise} - */ - create(name, params = undefined) { - return new Promise((resolve, reject) => { - this._oss.create(name, params) - .then(data => resolve(data)) - .catch(err => reject(err)); - }); - } - /** - * Trigers the delete function of Oss - * @param {StringKeyword} name - Data required for delete - * @returns {Promise} - */ - delete(name) { - return new Promise((resolve, reject) => { - this._oss.delete(name) - .then(data => resolve(data)) - .catch(err => reject(err)); - }); - } - /** - * Trigers the describeBucket function of Oss - * @param {StringKeyword} name - Data required for describeBucket - * @returns {Promise} - */ - describeBucket(name) { - return new Promise((resolve, reject) => { - this._oss.describeBucket(name) - .then(data => resolve(data)) - .catch(err => reject(err)); - }); - } - /** - * Trigers the listBucketObjects function of Oss - * @param {StringKeyword} name - Data required for listBucketObjects - * @param {AnyKeyword} params - Data required for listBucketObjects - * @returns {Promise} - */ - listBucketObjects(name, params) { - return new Promise((resolve, reject) => { - this._oss.listBucketObjects(name, params) - .then(data => resolve(data)) - .catch(err => reject(err)); - }); - } - /** - * Trigers the uploadLocalObject function of Oss - * @param {StringKeyword} bucketName - Data required for uploadLocalObject - * @param {StringKeyword} objectName - Data required for uploadLocalObject - * @param {AnyKeyword} file - Data required for uploadLocalObject - * @param {UnionType} params - Data required for uploadLocalObject - * @returns {Promise} - */ - uploadLocalObject(bucketName, objectName, file, params = undefined) { - return new Promise((resolve, reject) => { - this._oss.uploadLocalObject(bucketName, objectName, file, params) - .then(data => resolve(data)) - .catch(err => reject(err)); - }); - } + /** + * @param {module} alisdk ali SDK + * @param {string} accessKeyId SDK secrets accessKeyId + * @param {string} accessKeySecret SDK secrets accessKeySecret + */ + constructor(alisdk, accessKeyId, accessKeySecret) { + this._ali = alisdk; + this._instance = new this._ali(accessKeyId, accessKeySecret); + this._oss = this._instance.oss; + } + /** + * Trigers the setRegion function of Oss + * @param {StringKeyword} region - Data required for setRegion + * @returns {Promise} + */ + setRegion(region) { + return new Promise((resolve, reject) => { + this._oss + .setRegion(region) + .then(data => resolve(data)) + .catch(err => reject(err)); + }); + } + /** + * Trigers the listBuckets function of Oss + * @param {AnyKeyword} params - Data required for listBuckets + * @returns {Promise} + */ + listBuckets(params) { + return new Promise((resolve, reject) => { + this._oss + .listBuckets(params) + .then(data => resolve(data)) + .catch(err => reject(err)); + }); + } + /** + * Trigers the create function of Oss + * @param {StringKeyword} name - Data required for create + * @param {AnyKeyword} params - Data required for create + * @returns {Promise} + */ + create(name, params = undefined) { + return new Promise((resolve, reject) => { + this._oss + .create(name, params) + .then(data => resolve(data)) + .catch(err => reject(err)); + }); + } + /** + * Trigers the delete function of Oss + * @param {StringKeyword} name - Data required for delete + * @returns {Promise} + */ + delete(name) { + return new Promise((resolve, reject) => { + this._oss + .delete(name) + .then(data => resolve(data)) + .catch(err => reject(err)); + }); + } + /** + * Trigers the describeBucket function of Oss + * @param {StringKeyword} name - Data required for describeBucket + * @returns {Promise} + */ + describeBucket(name) { + return new Promise((resolve, reject) => { + this._oss + .describeBucket(name) + .then(data => resolve(data)) + .catch(err => reject(err)); + }); + } + /** + * Trigers the listBucketObjects function of Oss + * @param {StringKeyword} name - Data required for listBucketObjects + * @param {AnyKeyword} params - Data required for listBucketObjects + * @returns {Promise} + */ + listBucketObjects(name, params) { + return new Promise((resolve, reject) => { + this._oss + .listBucketObjects(name, params) + .then(data => resolve(data)) + .catch(err => reject(err)); + }); + } + /** + * Trigers the uploadLocalObject function of Oss + * @param {StringKeyword} bucketName - Data required for uploadLocalObject + * @param {StringKeyword} objectName - Data required for uploadLocalObject + * @param {AnyKeyword} file - Data required for uploadLocalObject + * @param {UnionType} params - Data required for uploadLocalObject + * @returns {Promise} + */ + uploadLocalObject(bucketName, objectName, file, params = undefined) { + return new Promise((resolve, reject) => { + this._oss + .uploadLocalObject(bucketName, objectName, file, params) + .then(data => resolve(data)) + .catch(err => reject(err)); + }); + } } module.exports = ALI_StorageBucket; diff --git a/packages/ali-plugin/ali.js b/packages/ali-plugin/ali.js index 76eaa1b2..ae1cf59d 100644 --- a/packages/ali-plugin/ali.js +++ b/packages/ali-plugin/ali.js @@ -4,11 +4,11 @@ class Ali { constructor(sdk) { this._alisdk = sdk; - // if (!process.env.DO_TOKEN) { - // throw new Error("Provide credentials"); - // } - this.key = process.env.ALI_TOKEN || 'key'; - this.secret = process.env.ALI_SECRET || 'secret'; + if (!process.env.ALI_KEY || !process.env.ALI_SECRET) { + throw new Error('Provide credentials'); + } + this.key = process.env.ALI_TOKEN; + this.secret = process.env.ALI_SECRET; return { getSDK: () => this._alisdk, diff --git a/packages/ali-plugin/storage/ali-storage.js b/packages/ali-plugin/storage/ali-storage.js index 8418721c..032414b7 100644 --- a/packages/ali-plugin/storage/ali-storage.js +++ b/packages/ali-plugin/storage/ali-storage.js @@ -33,7 +33,6 @@ class ALI_StorageBucket { * @returns {Promise} */ listBuckets(params) { - console.log('called listbuckets...'); return new Promise((resolve, reject) => { this._oss .listBuckets(params) From 14a45eaee4c8dcd12627d2e9e687ce76e51d71a9 Mon Sep 17 00:00:00 2001 From: Pranjal Walia Date: Tue, 30 Aug 2022 04:27:10 +0530 Subject: [PATCH 17/19] feat: update ali-cloud plugin --- .../Aliyun/compute/ali-computeInstance.js | 102 + .../Aliyun/compute/ali-container.js | 66 + .../Aliyun/database/ali-RDBMS.js | 78 + .../Aliyun/database/ali-noSql.js | 78 + .../Aliyun/network/ali-loadBalancer.js | 73 + .../Aliyun/storage/ali-storageBucket.js | 6 +- generator/node-cloud.yml | 31 + generator/package.json | 2 +- packages/ali-plugin/ali.js | 40 +- .../ali-plugin/compute/ali-computeInstance.js | 109 + packages/ali-plugin/compute/ali-container.js | 70 + packages/ali-plugin/database/ali-RDBMS.js | 83 + packages/ali-plugin/database/ali-noSql.js | 83 + .../ali-plugin/network/ali-loadBalancer.js | 82 + packages/ali-plugin/package.json | 2 +- yarn.lock | 5600 ++++++++++------- 16 files changed, 4263 insertions(+), 2242 deletions(-) create mode 100644 generator/generatedClasses/Aliyun/compute/ali-computeInstance.js create mode 100644 generator/generatedClasses/Aliyun/compute/ali-container.js create mode 100644 generator/generatedClasses/Aliyun/database/ali-RDBMS.js create mode 100644 generator/generatedClasses/Aliyun/database/ali-noSql.js create mode 100644 generator/generatedClasses/Aliyun/network/ali-loadBalancer.js create mode 100644 packages/ali-plugin/compute/ali-computeInstance.js create mode 100644 packages/ali-plugin/compute/ali-container.js create mode 100644 packages/ali-plugin/database/ali-RDBMS.js create mode 100644 packages/ali-plugin/database/ali-noSql.js create mode 100644 packages/ali-plugin/network/ali-loadBalancer.js diff --git a/generator/generatedClasses/Aliyun/compute/ali-computeInstance.js b/generator/generatedClasses/Aliyun/compute/ali-computeInstance.js new file mode 100644 index 00000000..c816a514 --- /dev/null +++ b/generator/generatedClasses/Aliyun/compute/ali-computeInstance.js @@ -0,0 +1,102 @@ +/*This is an auto generated class, please do not edit this file!*/ +/** +* Class to create a Ecs object +* @category AliCloud +*/ +class ALI_ComputeInstance { + /** + * @param {module} alisdk ali SDK + * @param {string} accessKeyId SDK secrets accessKeyId + * @param {string} accessKeySecret SDK secrets accessKeySecret + */ + constructor(alisdk, accessKeyId, accessKeySecret) { + this._ali = alisdk; + this._instance = new this._ali(accessKeyId, accessKeySecret); + this._ecs = this._instance.ecs; + } + /** + * Trigers the createInstance function of Ecs + * @param {ICreateInstanceParams} params - Data required for createInstance + * @returns {Promise} + */ + create(params) { + return new Promise((resolve, reject) => { + this._ecs.createInstance(params) + .then(data => resolve(data)) + .catch(err => reject(err)); + }); + } + /** + * Trigers the listInstances function of Ecs + * @param {IDescribeInstancesParams} params - Data required for listInstances + * @returns {Promise} + */ + list(params) { + return new Promise((resolve, reject) => { + this._ecs.listInstances(params) + .then(data => resolve(data)) + .catch(err => reject(err)); + }); + } + /** + * Trigers the startInstance function of Ecs + * @param {IStartInstanceParams} params - Data required for startInstance + * @returns {Promise} + */ + start(params) { + return new Promise((resolve, reject) => { + this._ecs.startInstance(params) + .then(data => resolve(data)) + .catch(err => reject(err)); + }); + } + /** + * Trigers the stopInstance function of Ecs + * @param {IStopInstanceParams} params - Data required for stopInstance + * @returns {Promise} + */ + stop(params) { + return new Promise((resolve, reject) => { + this._ecs.stopInstance(params) + .then(data => resolve(data)) + .catch(err => reject(err)); + }); + } + /** + * Trigers the listInstanceTypes function of Ecs + * @param {IListInstanceTypesParams} params - Data required for listInstanceTypes + * @returns {Promise} + */ + listInstanceTypes(params) { + return new Promise((resolve, reject) => { + this._ecs.listInstanceTypes(params) + .then(data => resolve(data)) + .catch(err => reject(err)); + }); + } + /** + * Trigers the deleteInstance function of Ecs + * @param {IDeleteInstanceParams} params - Data required for deleteInstance + * @returns {Promise} + */ + destroy(params) { + return new Promise((resolve, reject) => { + this._ecs.deleteInstance(params) + .then(data => resolve(data)) + .catch(err => reject(err)); + }); + } + /** + * Trigers the describeImages function of Ecs + * @param {IDescribeImagesParams} params - Data required for describeImages + * @returns {Promise} + */ + describeImages(params) { + return new Promise((resolve, reject) => { + this._ecs.describeImages(params) + .then(data => resolve(data)) + .catch(err => reject(err)); + }); + } +} +module.exports = ALI_ComputeInstance; diff --git a/generator/generatedClasses/Aliyun/compute/ali-container.js b/generator/generatedClasses/Aliyun/compute/ali-container.js new file mode 100644 index 00000000..d0b5c614 --- /dev/null +++ b/generator/generatedClasses/Aliyun/compute/ali-container.js @@ -0,0 +1,66 @@ +/*This is an auto generated class, please do not edit this file!*/ +/** +* Class to create a Eci object +* @category AliCloud +*/ +class ALI_Container { + /** + * @param {module} alisdk ali SDK + * @param {string} accessKeyId SDK secrets accessKeyId + * @param {string} accessKeySecret SDK secrets accessKeySecret + */ + constructor(alisdk, accessKeyId, accessKeySecret) { + this._ali = alisdk; + this._instance = new this._ali(accessKeyId, accessKeySecret); + this._eci = this._instance.eci; + } + /** + * Trigers the createContainerGroup function of Eci + * @param {ICreateContainerGroup} params - Data required for createContainerGroup + * @returns {Promise} + */ + create(params) { + return new Promise((resolve, reject) => { + this._eci.createContainerGroup(params) + .then(data => resolve(data)) + .catch(err => reject(err)); + }); + } + /** + * Trigers the deleteContainerGroup function of Eci + * @param {IDeleteContainerGroup} params - Data required for deleteContainerGroup + * @returns {Promise} + */ + delete(params) { + return new Promise((resolve, reject) => { + this._eci.deleteContainerGroup(params) + .then(data => resolve(data)) + .catch(err => reject(err)); + }); + } + /** + * Trigers the restartContainerGroup function of Eci + * @param {IRestartContainerGroup} params - Data required for restartContainerGroup + * @returns {Promise} + */ + restart(params) { + return new Promise((resolve, reject) => { + this._eci.restartContainerGroup(params) + .then(data => resolve(data)) + .catch(err => reject(err)); + }); + } + /** + * Trigers the describeContainerGroups function of Eci + * @param {IDescribeContainerGroup} params - Data required for describeContainerGroups + * @returns {Promise} + */ + list(params) { + return new Promise((resolve, reject) => { + this._eci.describeContainerGroups(params) + .then(data => resolve(data)) + .catch(err => reject(err)); + }); + } +} +module.exports = ALI_Container; diff --git a/generator/generatedClasses/Aliyun/database/ali-RDBMS.js b/generator/generatedClasses/Aliyun/database/ali-RDBMS.js new file mode 100644 index 00000000..7dacd555 --- /dev/null +++ b/generator/generatedClasses/Aliyun/database/ali-RDBMS.js @@ -0,0 +1,78 @@ +/*This is an auto generated class, please do not edit this file!*/ +/** +* Class to create a Rds object +* @category AliCloud +*/ +class ALI_RDBMS { + /** + * @param {module} alisdk ali SDK + * @param {string} accessKeyId SDK secrets accessKeyId + * @param {string} accessKeySecret SDK secrets accessKeySecret + */ + constructor(alisdk, accessKeyId, accessKeySecret) { + this._ali = alisdk; + this._instance = new this._ali(accessKeyId, accessKeySecret); + this._rds = this._instance.rds; + } + /** + * Trigers the createDBInstance function of Rds + * @param {ICreateDBInstance} params - Data required for createDBInstance + * @returns {Promise} + */ + createInstance(params) { + return new Promise((resolve, reject) => { + this._rds.createDBInstance(params) + .then(data => resolve(data)) + .catch(err => reject(err)); + }); + } + /** + * Trigers the listRDSInstances function of Rds + * @param {IDescribeDBInstances} params - Data required for listRDSInstances + * @returns {Promise} + */ + listInstances(params) { + return new Promise((resolve, reject) => { + this._rds.listRDSInstances(params) + .then(data => resolve(data)) + .catch(err => reject(err)); + }); + } + /** + * Trigers the restartRDSInstance function of Rds + * @param {IRestartRDSInstance} params - Data required for restartRDSInstance + * @returns {Promise} + */ + restartInstance(params) { + return new Promise((resolve, reject) => { + this._rds.restartRDSInstance(params) + .then(data => resolve(data)) + .catch(err => reject(err)); + }); + } + /** + * Trigers the deleteRDSInstance function of Rds + * @param {IDeleteRDSInstance} params - Data required for deleteRDSInstance + * @returns {Promise} + */ + deleteInstance(params) { + return new Promise((resolve, reject) => { + this._rds.deleteRDSInstance(params) + .then(data => resolve(data)) + .catch(err => reject(err)); + }); + } + /** + * Trigers the listDatabases function of Rds + * @param {IListDatabases} params - Data required for listDatabases + * @returns {Promise} + */ + listDatabases(params) { + return new Promise((resolve, reject) => { + this._rds.listDatabases(params) + .then(data => resolve(data)) + .catch(err => reject(err)); + }); + } +} +module.exports = ALI_RDBMS; diff --git a/generator/generatedClasses/Aliyun/database/ali-noSql.js b/generator/generatedClasses/Aliyun/database/ali-noSql.js new file mode 100644 index 00000000..6f39a880 --- /dev/null +++ b/generator/generatedClasses/Aliyun/database/ali-noSql.js @@ -0,0 +1,78 @@ +/*This is an auto generated class, please do not edit this file!*/ +/** +* Class to create a Nosql object +* @category AliCloud +*/ +class ALI_NoSql { + /** + * @param {module} alisdk ali SDK + * @param {string} accessKeyId SDK secrets accessKeyId + * @param {string} accessKeySecret SDK secrets accessKeySecret + */ + constructor(alisdk, accessKeyId, accessKeySecret) { + this._ali = alisdk; + this._instance = new this._ali(accessKeyId, accessKeySecret); + this._nosql = this._instance.nosql; + } + /** + * Trigers the createDBInstance function of Nosql + * @param {ICreateDBInstance} params - Data required for createDBInstance + * @returns {Promise} + */ + createInstance(params) { + return new Promise((resolve, reject) => { + this._nosql.createDBInstance(params) + .then(data => resolve(data)) + .catch(err => reject(err)); + }); + } + /** + * Trigers the listDBInstances function of Nosql + * @param {IDescribeDBInstances} params - Data required for listDBInstances + * @returns {Promise} + */ + listInstances(params) { + return new Promise((resolve, reject) => { + this._nosql.listDBInstances(params) + .then(data => resolve(data)) + .catch(err => reject(err)); + }); + } + /** + * Trigers the describeDBInstance function of Nosql + * @param {IDescribeDBInstanceAttribute} params - Data required for describeDBInstance + * @returns {Promise} + */ + describeInstance(params) { + return new Promise((resolve, reject) => { + this._nosql.describeDBInstance(params) + .then(data => resolve(data)) + .catch(err => reject(err)); + }); + } + /** + * Trigers the restartDBInstance function of Nosql + * @param {IRestartDBInstance} params - Data required for restartDBInstance + * @returns {Promise} + */ + restartInstance(params) { + return new Promise((resolve, reject) => { + this._nosql.restartDBInstance(params) + .then(data => resolve(data)) + .catch(err => reject(err)); + }); + } + /** + * Trigers the deleteDBInstance function of Nosql + * @param {IDeleteDBInstance} params - Data required for deleteDBInstance + * @returns {Promise} + */ + deleteInstance(params) { + return new Promise((resolve, reject) => { + this._nosql.deleteDBInstance(params) + .then(data => resolve(data)) + .catch(err => reject(err)); + }); + } +} +module.exports = ALI_NoSql; diff --git a/generator/generatedClasses/Aliyun/network/ali-loadBalancer.js b/generator/generatedClasses/Aliyun/network/ali-loadBalancer.js new file mode 100644 index 00000000..114039d5 --- /dev/null +++ b/generator/generatedClasses/Aliyun/network/ali-loadBalancer.js @@ -0,0 +1,73 @@ +/*This is an auto generated class, please do not edit this file!*/ +/** +* Class to create a Slb object +* @category AliCloud +*/ +class ALI_LoadBalancer { + /** + * @param {module} alisdk ali SDK + * @param {string} accessKeyId SDK secrets accessKeyId + * @param {string} accessKeySecret SDK secrets accessKeySecret + */ + constructor(alisdk, accessKeyId, accessKeySecret) { + this._ali = alisdk; + this._instance = new this._ali(accessKeyId, accessKeySecret); + this._slb = this._instance.slb; + } + /** + * Trigers the createLoadBalancerInstance function of Slb + * @param {StringKeyword} regionId - Data required for createLoadBalancerInstance + * @param {StringKeyword} loadBalancerName - Data required for createLoadBalancerInstance + * @param {StringKeyword} loadBalancerSpec - Data required for createLoadBalancerInstance + * @param {AnyKeyword} params - Data required for createLoadBalancerInstance + * @returns {Promise} + */ + create(regionId, loadBalancerName, loadBalancerSpec, params = undefined) { + return new Promise((resolve, reject) => { + this._slb.createLoadBalancerInstance(regionId, loadBalancerName, loadBalancerSpec, params) + .then(data => resolve(data)) + .catch(err => reject(err)); + }); + } + /** + * Trigers the describeLoadBalancers function of Slb + * @param {StringKeyword} regionId - Data required for describeLoadBalancers + * @param {AnyKeyword} params - Data required for describeLoadBalancers + * @returns {Promise} + */ + list(regionId, params = undefined) { + return new Promise((resolve, reject) => { + this._slb.describeLoadBalancers(regionId, params) + .then(data => resolve(data)) + .catch(err => reject(err)); + }); + } + /** + * Trigers the describeLoadBalancerAttribute function of Slb + * @param {StringKeyword} regionId - Data required for describeLoadBalancerAttribute + * @param {StringKeyword} loadBalancerId - Data required for describeLoadBalancerAttribute + * @param {AnyKeyword} params - Data required for describeLoadBalancerAttribute + * @returns {Promise} + */ + describe(regionId, loadBalancerId, params = undefined) { + return new Promise((resolve, reject) => { + this._slb.describeLoadBalancerAttribute(regionId, loadBalancerId, params) + .then(data => resolve(data)) + .catch(err => reject(err)); + }); + } + /** + * Trigers the deleteLoadBalancer function of Slb + * @param {StringKeyword} loadBalancerId - Data required for deleteLoadBalancer + * @param {AnyKeyword} params - Data required for deleteLoadBalancer + * @returns {Promise} + */ + delete(loadBalancerId, params = undefined) { + return new Promise((resolve, reject) => { + this._slb.deleteLoadBalancer(loadBalancerId, params) + .then(data => resolve(data)) + .catch(err => reject(err)); + }); + } +} +module.exports = ALI_LoadBalancer; diff --git a/generator/generatedClasses/Aliyun/storage/ali-storageBucket.js b/generator/generatedClasses/Aliyun/storage/ali-storageBucket.js index 032414b7..770425de 100644 --- a/generator/generatedClasses/Aliyun/storage/ali-storageBucket.js +++ b/generator/generatedClasses/Aliyun/storage/ali-storageBucket.js @@ -29,7 +29,7 @@ class ALI_StorageBucket { } /** * Trigers the listBuckets function of Oss - * @param {AnyKeyword} params - Data required for listBuckets + * @param {undefined} params - Data required for listBuckets * @returns {Promise} */ listBuckets(params) { @@ -43,7 +43,7 @@ class ALI_StorageBucket { /** * Trigers the create function of Oss * @param {StringKeyword} name - Data required for create - * @param {AnyKeyword} params - Data required for create + * @param {undefined} params - Data required for create * @returns {Promise} */ create(name, params = undefined) { @@ -83,7 +83,7 @@ class ALI_StorageBucket { /** * Trigers the listBucketObjects function of Oss * @param {StringKeyword} name - Data required for listBucketObjects - * @param {AnyKeyword} params - Data required for listBucketObjects + * @param {undefined} params - Data required for listBucketObjects * @returns {Promise} */ listBucketObjects(name, params) { diff --git a/generator/node-cloud.yml b/generator/node-cloud.yml index 14202b60..55a87048 100644 --- a/generator/node-cloud.yml +++ b/generator/node-cloud.yml @@ -24,6 +24,15 @@ ComputeInstance: start: droplets.d.ts requestAction stop: droplets.d.ts requestAction + Ali: + create: ecs index.d.ts createInstance + list: ecs index.d.ts listInstances + destroy: ecs index.d.ts deleteInstance + start: ecs index.d.ts startInstance + stop: ecs index.d.ts stopInstance + describeImages: ecs index.d.ts describeImages + listInstanceTypes: ecs index.d.ts listInstanceTypes + StorageBucket: AWS: create: s3.d.ts createBucket @@ -159,6 +168,11 @@ Container: delete: arm-containerservice containerServices.d.ts deleteMethod describe: arm-containerservice containerServices.d.ts get list: arm-containerservice containerServices.d.ts list + Ali: + create: eci index.d.ts createContainerGroup + delete: eci index.d.ts deleteContainerGroup + list: eci index.d.ts describeContainerGroups + restart: eci index.d.ts restartContainerGroup NoSqlIndexed: AWS: @@ -199,6 +213,12 @@ RDBMS: getClusters: databases.d.ts getAllClusters getCluster: databases.d.ts getClusterById updateCluster: databases.d.ts resizeCluster + Ali: + createInstance: rds index.d.ts createDBInstance + listInstances: rds index.d.ts listRDSInstances + deleteInstance: rds index.d.ts deleteRDSInstance + restartInstance: rds index.d.ts restartRDSInstance + listDatabases: rds index.d.ts listDatabases NoSql: AWS: @@ -224,6 +244,12 @@ NoSql: getClusters: databases.d.ts getAllClusters getCluster: databases.d.ts getClusterById updateCluster: databases.d.ts resizeCluster + Ali: + createInstance: nosql index.d.ts createDBInstance + listInstances: nosql index.d.ts listDBInstances + deleteInstance: nosql index.d.ts deleteDBInstance + describeInstance: nosql index.d.ts describeDBInstance + restartInstance: nosql index.d.ts restartDBInstance DNS: AWS: @@ -268,6 +294,11 @@ LoadBalancer: delete: load-balancers.d.ts delete list: load-balancers.d.ts getAll update: load-balancers.d.ts update + Ali: + create: slb index.d.ts createLoadBalancerInstance + list: slb index.d.ts describeLoadBalancers + describe: slb index.d.ts describeLoadBalancerAttribute + delete: slb index.d.ts deleteLoadBalancer IAM: AWS: diff --git a/generator/package.json b/generator/package.json index ed88d30e..c492de29 100644 --- a/generator/package.json +++ b/generator/package.json @@ -31,7 +31,7 @@ "@google-cloud/pubsub": "^2.1.0", "@google-cloud/storage": "^5.1.1", "@google-cloud/translate": "^6.0.0", - "aliyun-v2-typescript-sdk": "^0.1.1", + "aliyun-v2-typescript-sdk": "^3.0.2", "aws-sdk": "^2.686.0", "config": "^1.26.1", "do-wrapper": "^4.5.1", diff --git a/packages/ali-plugin/ali.js b/packages/ali-plugin/ali.js index ae1cf59d..e766e15d 100644 --- a/packages/ali-plugin/ali.js +++ b/packages/ali-plugin/ali.js @@ -1,26 +1,54 @@ +const computeInstance = require('./compute/ali-computeInstance'); +const containerInstance = require('./compute/ali-container'); const bucketStorage = require('./storage/ali-storage'); +const rdbms = require('./database/ali-RDBMS'); +const nosql = require('./database/ali-noSql'); +const loadbalancer = require('./network/ali-loadBalancer'); class Ali { constructor(sdk) { this._alisdk = sdk; - if (!process.env.ALI_KEY || !process.env.ALI_SECRET) { - throw new Error('Provide credentials'); - } - this.key = process.env.ALI_TOKEN; - this.secret = process.env.ALI_SECRET; + // if (!process.env.ALI_KEY || !process.env.ALI_SECRET) { + // throw new Error('Provide credentials'); + // } + this.key = process.env.ALI_TOKEN || 'key'; + this.secret = process.env.ALI_SECRET || 'secret'; return { getSDK: () => this._alisdk, getKey: () => this.key, getSecret: () => this.secret, + computeInstance: this.computeInstance, + containerInstance: this.containerInstance, bucketStorage: this.bucketStorage, + rdbms: this.rdbms, + nosql: this.nosql, + loadbalancer: this.loadbalancer, }; } - + computeInstance() { + return new computeInstance(this.getSDK(), this.getKey(), this.getSecret()); + } + containerInstance() { + return new containerInstance( + this.getSDK(), + this.getKey(), + this.getSecret() + ); + } bucketStorage() { return new bucketStorage(this.getSDK(), this.getKey(), this.getSecret()); } + rdbms() { + return new rdbms(this.getSDK(), this.getKey(), this.getSecret()); + } + nosql() { + return new nosql(this.getSDK(), this.getKey(), this.getSecret()); + } + loadbalancer() { + return new loadbalancer(this.getSDK(), this.getKey(), this.getSecret()); + } } module.exports = Ali; diff --git a/packages/ali-plugin/compute/ali-computeInstance.js b/packages/ali-plugin/compute/ali-computeInstance.js new file mode 100644 index 00000000..42c05d25 --- /dev/null +++ b/packages/ali-plugin/compute/ali-computeInstance.js @@ -0,0 +1,109 @@ +/*This is an auto generated class, please do not edit this file!*/ +/** + * Class to create a Ecs object + * @category AliCloud + */ +class ALI_ComputeInstance { + /** + * @param {module} alisdk ali SDK + * @param {string} accessKeyId SDK secrets accessKeyId + * @param {string} accessKeySecret SDK secrets accessKeySecret + */ + constructor(alisdk, accessKeyId, accessKeySecret) { + this._ali = alisdk; + this._instance = new this._ali(accessKeyId, accessKeySecret); + this._ecs = this._instance.ecs; + } + /** + * Trigers the createInstance function of Ecs + * @param {ICreateInstanceParams} params - Data required for createInstance + * @returns {Promise} + */ + create(params) { + return new Promise((resolve, reject) => { + this._ecs + .createInstance(params) + .then(data => resolve(data)) + .catch(err => reject(err)); + }); + } + /** + * Trigers the listInstances function of Ecs + * @param {IDescribeInstancesParams} params - Data required for listInstances + * @returns {Promise} + */ + list(params) { + return new Promise((resolve, reject) => { + this._ecs + .listInstances(params) + .then(data => resolve(data)) + .catch(err => reject(err)); + }); + } + /** + * Trigers the startInstance function of Ecs + * @param {IStartInstanceParams} params - Data required for startInstance + * @returns {Promise} + */ + start(params) { + return new Promise((resolve, reject) => { + this._ecs + .startInstance(params) + .then(data => resolve(data)) + .catch(err => reject(err)); + }); + } + /** + * Trigers the stopInstance function of Ecs + * @param {IStopInstanceParams} params - Data required for stopInstance + * @returns {Promise} + */ + stop(params) { + return new Promise((resolve, reject) => { + this._ecs + .stopInstance(params) + .then(data => resolve(data)) + .catch(err => reject(err)); + }); + } + /** + * Trigers the listInstanceTypes function of Ecs + * @param {IListInstanceTypesParams} params - Data required for listInstanceTypes + * @returns {Promise} + */ + listInstanceTypes(params) { + return new Promise((resolve, reject) => { + this._ecs + .listInstanceTypes(params) + .then(data => resolve(data)) + .catch(err => reject(err)); + }); + } + /** + * Trigers the deleteInstance function of Ecs + * @param {IDeleteInstanceParams} params - Data required for deleteInstance + * @returns {Promise} + */ + destroy(params) { + return new Promise((resolve, reject) => { + this._ecs + .deleteInstance(params) + .then(data => resolve(data)) + .catch(err => reject(err)); + }); + } + /** + * Trigers the describeImages function of Ecs + * @param {IDescribeImagesParams} params - Data required for describeImages + * @returns {Promise} + */ + describeImages(params) { + return new Promise((resolve, reject) => { + this._ecs + .describeImages(params) + .then(data => resolve(data)) + .catch(err => reject(err)); + }); + } +} +module.exports = ALI_ComputeInstance; diff --git a/packages/ali-plugin/compute/ali-container.js b/packages/ali-plugin/compute/ali-container.js new file mode 100644 index 00000000..726a540c --- /dev/null +++ b/packages/ali-plugin/compute/ali-container.js @@ -0,0 +1,70 @@ +/*This is an auto generated class, please do not edit this file!*/ +/** + * Class to create a Eci object + * @category AliCloud + */ +class ALI_Container { + /** + * @param {module} alisdk ali SDK + * @param {string} accessKeyId SDK secrets accessKeyId + * @param {string} accessKeySecret SDK secrets accessKeySecret + */ + constructor(alisdk, accessKeyId, accessKeySecret) { + this._ali = alisdk; + this._instance = new this._ali(accessKeyId, accessKeySecret); + this._eci = this._instance.eci; + } + /** + * Trigers the createContainerGroup function of Eci + * @param {ICreateContainerGroup} params - Data required for createContainerGroup + * @returns {Promise} + */ + create(params) { + return new Promise((resolve, reject) => { + this._eci + .createContainerGroup(params) + .then(data => resolve(data)) + .catch(err => reject(err)); + }); + } + /** + * Trigers the deleteContainerGroup function of Eci + * @param {IDeleteContainerGroup} params - Data required for deleteContainerGroup + * @returns {Promise} + */ + delete(params) { + return new Promise((resolve, reject) => { + this._eci + .deleteContainerGroup(params) + .then(data => resolve(data)) + .catch(err => reject(err)); + }); + } + /** + * Trigers the restartContainerGroup function of Eci + * @param {IRestartContainerGroup} params - Data required for restartContainerGroup + * @returns {Promise} + */ + restart(params) { + return new Promise((resolve, reject) => { + this._eci + .restartContainerGroup(params) + .then(data => resolve(data)) + .catch(err => reject(err)); + }); + } + /** + * Trigers the describeContainerGroups function of Eci + * @param {IDescribeContainerGroup} params - Data required for describeContainerGroups + * @returns {Promise} + */ + list(params) { + return new Promise((resolve, reject) => { + this._eci + .describeContainerGroups(params) + .then(data => resolve(data)) + .catch(err => reject(err)); + }); + } +} +module.exports = ALI_Container; diff --git a/packages/ali-plugin/database/ali-RDBMS.js b/packages/ali-plugin/database/ali-RDBMS.js new file mode 100644 index 00000000..a12e73e5 --- /dev/null +++ b/packages/ali-plugin/database/ali-RDBMS.js @@ -0,0 +1,83 @@ +/*This is an auto generated class, please do not edit this file!*/ +/** + * Class to create a Rds object + * @category AliCloud + */ +class ALI_RDBMS { + /** + * @param {module} alisdk ali SDK + * @param {string} accessKeyId SDK secrets accessKeyId + * @param {string} accessKeySecret SDK secrets accessKeySecret + */ + constructor(alisdk, accessKeyId, accessKeySecret) { + this._ali = alisdk; + this._instance = new this._ali(accessKeyId, accessKeySecret); + this._rds = this._instance.rds; + } + /** + * Trigers the createDBInstance function of Rds + * @param {ICreateDBInstance} params - Data required for createDBInstance + * @returns {Promise} + */ + createInstance(params) { + return new Promise((resolve, reject) => { + this._rds + .createDBInstance(params) + .then(data => resolve(data)) + .catch(err => reject(err)); + }); + } + /** + * Trigers the listRDSInstances function of Rds + * @param {IDescribeDBInstances} params - Data required for listRDSInstances + * @returns {Promise} + */ + listInstances(params) { + return new Promise((resolve, reject) => { + this._rds + .listRDSInstances(params) + .then(data => resolve(data)) + .catch(err => reject(err)); + }); + } + /** + * Trigers the restartRDSInstance function of Rds + * @param {IRestartRDSInstance} params - Data required for restartRDSInstance + * @returns {Promise} + */ + restartInstance(params) { + return new Promise((resolve, reject) => { + this._rds + .restartRDSInstance(params) + .then(data => resolve(data)) + .catch(err => reject(err)); + }); + } + /** + * Trigers the deleteRDSInstance function of Rds + * @param {IDeleteRDSInstance} params - Data required for deleteRDSInstance + * @returns {Promise} + */ + deleteInstance(params) { + return new Promise((resolve, reject) => { + this._rds + .deleteRDSInstance(params) + .then(data => resolve(data)) + .catch(err => reject(err)); + }); + } + /** + * Trigers the listDatabases function of Rds + * @param {IListDatabases} params - Data required for listDatabases + * @returns {Promise} + */ + listDatabases(params) { + return new Promise((resolve, reject) => { + this._rds + .listDatabases(params) + .then(data => resolve(data)) + .catch(err => reject(err)); + }); + } +} +module.exports = ALI_RDBMS; diff --git a/packages/ali-plugin/database/ali-noSql.js b/packages/ali-plugin/database/ali-noSql.js new file mode 100644 index 00000000..e6aaa5c8 --- /dev/null +++ b/packages/ali-plugin/database/ali-noSql.js @@ -0,0 +1,83 @@ +/*This is an auto generated class, please do not edit this file!*/ +/** + * Class to create a Nosql object + * @category AliCloud + */ +class ALI_NoSql { + /** + * @param {module} alisdk ali SDK + * @param {string} accessKeyId SDK secrets accessKeyId + * @param {string} accessKeySecret SDK secrets accessKeySecret + */ + constructor(alisdk, accessKeyId, accessKeySecret) { + this._ali = alisdk; + this._instance = new this._ali(accessKeyId, accessKeySecret); + this._nosql = this._instance.nosql; + } + /** + * Trigers the createDBInstance function of Nosql + * @param {ICreateDBInstance} params - Data required for createDBInstance + * @returns {Promise} + */ + createInstance(params) { + return new Promise((resolve, reject) => { + this._nosql + .createDBInstance(params) + .then(data => resolve(data)) + .catch(err => reject(err)); + }); + } + /** + * Trigers the listDBInstances function of Nosql + * @param {IDescribeDBInstances} params - Data required for listDBInstances + * @returns {Promise} + */ + listInstances(params) { + return new Promise((resolve, reject) => { + this._nosql + .listDBInstances(params) + .then(data => resolve(data)) + .catch(err => reject(err)); + }); + } + /** + * Trigers the describeDBInstance function of Nosql + * @param {IDescribeDBInstanceAttribute} params - Data required for describeDBInstance + * @returns {Promise} + */ + describeInstance(params) { + return new Promise((resolve, reject) => { + this._nosql + .describeDBInstance(params) + .then(data => resolve(data)) + .catch(err => reject(err)); + }); + } + /** + * Trigers the restartDBInstance function of Nosql + * @param {IRestartDBInstance} params - Data required for restartDBInstance + * @returns {Promise} + */ + restartInstance(params) { + return new Promise((resolve, reject) => { + this._nosql + .restartDBInstance(params) + .then(data => resolve(data)) + .catch(err => reject(err)); + }); + } + /** + * Trigers the deleteDBInstance function of Nosql + * @param {IDeleteDBInstance} params - Data required for deleteDBInstance + * @returns {Promise} + */ + deleteInstance(params) { + return new Promise((resolve, reject) => { + this._nosql + .deleteDBInstance(params) + .then(data => resolve(data)) + .catch(err => reject(err)); + }); + } +} +module.exports = ALI_NoSql; diff --git a/packages/ali-plugin/network/ali-loadBalancer.js b/packages/ali-plugin/network/ali-loadBalancer.js new file mode 100644 index 00000000..37cf3159 --- /dev/null +++ b/packages/ali-plugin/network/ali-loadBalancer.js @@ -0,0 +1,82 @@ +/*This is an auto generated class, please do not edit this file!*/ +/** + * Class to create a Slb object + * @category AliCloud + */ +class ALI_LoadBalancer { + /** + * @param {module} alisdk ali SDK + * @param {string} accessKeyId SDK secrets accessKeyId + * @param {string} accessKeySecret SDK secrets accessKeySecret + */ + constructor(alisdk, accessKeyId, accessKeySecret) { + this._ali = alisdk; + this._instance = new this._ali(accessKeyId, accessKeySecret); + this._slb = this._instance.slb; + } + /** + * Trigers the createLoadBalancerInstance function of Slb + * @param {StringKeyword} regionId - Data required for createLoadBalancerInstance + * @param {StringKeyword} loadBalancerName - Data required for createLoadBalancerInstance + * @param {StringKeyword} loadBalancerSpec - Data required for createLoadBalancerInstance + * @param {AnyKeyword} params - Data required for createLoadBalancerInstance + * @returns {Promise} + */ + create(regionId, loadBalancerName, loadBalancerSpec, params = undefined) { + return new Promise((resolve, reject) => { + this._slb + .createLoadBalancerInstance( + regionId, + loadBalancerName, + loadBalancerSpec, + params + ) + .then(data => resolve(data)) + .catch(err => reject(err)); + }); + } + /** + * Trigers the describeLoadBalancers function of Slb + * @param {StringKeyword} regionId - Data required for describeLoadBalancers + * @param {AnyKeyword} params - Data required for describeLoadBalancers + * @returns {Promise} + */ + list(regionId, params = undefined) { + return new Promise((resolve, reject) => { + this._slb + .describeLoadBalancers(regionId, params) + .then(data => resolve(data)) + .catch(err => reject(err)); + }); + } + /** + * Trigers the describeLoadBalancerAttribute function of Slb + * @param {StringKeyword} regionId - Data required for describeLoadBalancerAttribute + * @param {StringKeyword} loadBalancerId - Data required for describeLoadBalancerAttribute + * @param {AnyKeyword} params - Data required for describeLoadBalancerAttribute + * @returns {Promise} + */ + describe(regionId, loadBalancerId, params = undefined) { + return new Promise((resolve, reject) => { + this._slb + .describeLoadBalancerAttribute(regionId, loadBalancerId, params) + .then(data => resolve(data)) + .catch(err => reject(err)); + }); + } + /** + * Trigers the deleteLoadBalancer function of Slb + * @param {StringKeyword} loadBalancerId - Data required for deleteLoadBalancer + * @param {AnyKeyword} params - Data required for deleteLoadBalancer + * @returns {Promise} + */ + delete(loadBalancerId, params = undefined) { + return new Promise((resolve, reject) => { + this._slb + .deleteLoadBalancer(loadBalancerId, params) + .then(data => resolve(data)) + .catch(err => reject(err)); + }); + } +} +module.exports = ALI_LoadBalancer; diff --git a/packages/ali-plugin/package.json b/packages/ali-plugin/package.json index 372358fe..940bc121 100644 --- a/packages/ali-plugin/package.json +++ b/packages/ali-plugin/package.json @@ -13,6 +13,6 @@ "author": "Scorelab", "license": "Apache-2.0", "dependencies": { - "aliyun-v2-typescript-sdk": "0.1.1" + "aliyun-v2-typescript-sdk": "^3.0.2" } } diff --git a/yarn.lock b/yarn.lock index 1b4f35cb..42403d2b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,10 +2,173 @@ # yarn lockfile v1 +"@alicloud/credentials@^2": + version "2.2.3" + resolved "https://registry.yarnpkg.com/@alicloud/credentials/-/credentials-2.2.3.tgz#6c479082e3f627311e2537c0552e3e87a8ecd671" + integrity sha512-h98BZimKCQ5xKiFCdWa2OMYaenEP6g5Fndm/l0zp8iuYWOShnvEwBPFmHyHmwpb60KwEJp0LILl1WiBTS+5a1w== + dependencies: + "@alicloud/tea-typescript" "^1.5.3" + httpx "^2.2.0" + ini "^1.3.5" + kitx "^2.0.0" + +"@alicloud/dds20151201@1.0.3": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@alicloud/dds20151201/-/dds20151201-1.0.3.tgz#08cd76c76448d7734c136be4ba816663bba5d645" + integrity sha512-Cu33AvSp1UF2z87uHCSS0XMTbf1ZadLSUAPcZXhzaEfKzzBmB07DvFg5if4p6Ut54aIVwAhFMu5X1dbNqowF7w== + dependencies: + "@alicloud/endpoint-util" "^0.0.1" + "@alicloud/openapi-client" "^0.3.5" + "@alicloud/tea-typescript" "^1.7.1" + "@alicloud/tea-util" "^1.4.0" + +"@alicloud/eci20180808@2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@alicloud/eci20180808/-/eci20180808-2.0.1.tgz#ac68033459123985d15d7dbd21acd254138d7d03" + integrity sha512-ngRy6w0G/cMLwk6FWueKaNB1EsdvAGtJ3jpP9OPE2+8SKzTYWOdEzrCDqx8wH1zDuN0HPvEmr7An89vLeqwtAQ== + dependencies: + "@alicloud/endpoint-util" "^0.0.1" + "@alicloud/openapi-client" "^0.2.1" + "@alicloud/tea-typescript" latest + "@alicloud/tea-util" "^1.4.0" + +"@alicloud/ecs20140526@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@alicloud/ecs20140526/-/ecs20140526-2.1.0.tgz#817fad9ec22a34c50d42bb876916855ce331e699" + integrity sha512-wPdnAegNb7nOWtZKiRP9ECEXkSRxrIHbzcipNdcD7ciG+8L/dGdtQaJatPUdYB5G5y7EDEQrRuh1YWINT13GKw== + dependencies: + "@alicloud/endpoint-util" "^0.0.1" + "@alicloud/openapi-client" "^0.3.0" + "@alicloud/openapi-util" "^0.2.2" + "@alicloud/rpc-client" "^1.3.1" + "@alicloud/rpc-util" "^0.1.0" + "@alicloud/tea-typescript" latest + "@alicloud/tea-util" "^1.4.0" + +"@alicloud/endpoint-util@^0.0.1": + version "0.0.1" + resolved "https://registry.yarnpkg.com/@alicloud/endpoint-util/-/endpoint-util-0.0.1.tgz#b237f5e04e373abb54c42119377b30bd6afb1a7c" + integrity sha512-+pH7/KEXup84cHzIL6UJAaPqETvln4yXlD9JzlrqioyCSaWxbug5FUobsiI6fuUOpw5WwoB3fWAtGbFnJ1K3Yg== + dependencies: + "@alicloud/tea-typescript" "^1.5.1" + kitx "^2.0.0" + +"@alicloud/openapi-client@^0.2.1": + version "0.2.1" + resolved "https://registry.yarnpkg.com/@alicloud/openapi-client/-/openapi-client-0.2.1.tgz#ef72f42ab6fa0176c2359af9d136926b39815feb" + integrity sha512-QjtnXzjR+fK84rB55T36jHF2xbLYdBkXnsD2IYqYsx6vMeu08ViNNxRTu2N6S+2hUUJDJh2mSTUJ1lOd8Et8UA== + dependencies: + "@alicloud/credentials" "^2" + "@alicloud/openapi-util" "^0.1.3" + "@alicloud/tea-typescript" latest + "@alicloud/tea-util" "^1.4.0" + +"@alicloud/openapi-client@^0.3.0", "@alicloud/openapi-client@^0.3.4", "@alicloud/openapi-client@^0.3.5": + version "0.3.8" + resolved "https://registry.yarnpkg.com/@alicloud/openapi-client/-/openapi-client-0.3.8.tgz#61ef813722126cbcbb2938f44672d3c4bcc93915" + integrity sha512-QuvK6MJtQejSOfUnsEUtdM5AYA8Ww9kV79VO1st5sFPYQWV4R8NXm2yr40Jq4UQmKN2ydlRfbys3ACJDocVfqQ== + dependencies: + "@alicloud/credentials" "^2" + "@alicloud/openapi-util" "^0.2.4" + "@alicloud/tea-typescript" "^1.7.1" + "@alicloud/tea-util" "^1.4.0" + +"@alicloud/openapi-util@^0.1.3": + version "0.1.3" + resolved "https://registry.yarnpkg.com/@alicloud/openapi-util/-/openapi-util-0.1.3.tgz#b17dbd0d512895c180aa74d55f0fa0176760a36d" + integrity sha512-udoNZnjBizSWeHcize6HWPqfYdfHcEx5+G1xTpOPPTIzZaUjX2Qynun7MTLwlxPdY2gyzn5eBAI01p+rHU+bbg== + dependencies: + "@alicloud/tea-typescript" latest + "@alicloud/tea-util" "^1.3.0" + kitx "^2.1.0" + +"@alicloud/openapi-util@^0.2.2", "@alicloud/openapi-util@^0.2.4": + version "0.2.9" + resolved "https://registry.yarnpkg.com/@alicloud/openapi-util/-/openapi-util-0.2.9.tgz#2379cd81f993dcab32066a2b892ddcbdd266d51c" + integrity sha512-GUEYtX3lDv+WaZoDFCb0h9aZ8+IlajnSAxSHjiITbNtjCpZbA/vfd7Z/ST9YaPoT34nGqDNKiQTjqpLhaKtYBw== + dependencies: + "@alicloud/tea-typescript" "^1.7.1" + "@alicloud/tea-util" "^1.3.0" + kitx "^2.1.0" + sm3 "^1.0.3" + +"@alicloud/rds20140815@2.0.7": + version "2.0.7" + resolved "https://registry.yarnpkg.com/@alicloud/rds20140815/-/rds20140815-2.0.7.tgz#49b22607e28d4d5159d29bf0c97fe49092df9ee7" + integrity sha512-QkXHSRJA1hdN1N/FDM6iAWC2Td242qsK1flctAPxF4Tg5YR0xbZfbc72kNmokutDM+vwiSguNmZqi7Ku8wdAeg== + dependencies: + "@alicloud/endpoint-util" "^0.0.1" + "@alicloud/openapi-client" "^0.3.4" + "@alicloud/openapi-util" "^0.2.4" + "@alicloud/rpc-client" "^1.3.1" + "@alicloud/tea-typescript" "^1.7.1" + "@alicloud/tea-util" "^1.4.0" + +"@alicloud/rpc-client@^1.3.1": + version "1.3.2" + resolved "https://registry.yarnpkg.com/@alicloud/rpc-client/-/rpc-client-1.3.2.tgz#6684f008fd01b1848da810368cfbff163ad92779" + integrity sha512-PjgkPXtgDyb0m+BJMaEU/2rOvjUVBqhemqrMhNW0vYKYGlyfdEOVfrHVieqkLe8lxvFGy6gD1PpvAjeEMUXfsA== + dependencies: + "@alicloud/credentials" "^2" + "@alicloud/rpc-util" "^0.1.0" + "@alicloud/tea-typescript" "^1.6.0" + "@alicloud/tea-util" "^1.4.0" + +"@alicloud/rpc-util@^0.1.0": + version "0.1.0" + resolved "https://registry.yarnpkg.com/@alicloud/rpc-util/-/rpc-util-0.1.0.tgz#f6f431cf1906f1090a27d0b37d2696be2758daf9" + integrity sha512-0J+OcSycsfJvX1SpqaGqVHE7lbCFsk2PwdkZUOrWfbqMYcQjCe/Kp/DfwqcTMkYhWmiV48Esfog8XNLEB34zUg== + dependencies: + "@alicloud/tea-typescript" "^1" + "@types/xml2js" "^0.4.5" + kitx "^2.0.0" + xml2js "^0.4.22" + +"@alicloud/slb20140515@2.0.2": + version "2.0.2" + resolved "https://registry.yarnpkg.com/@alicloud/slb20140515/-/slb20140515-2.0.2.tgz#ba872dba2c19e5db614212d658358a1cd05deb56" + integrity sha512-hUvuKHxWfyHeJ4ElLS4zVm4bUHssj7wzGqcrbMx5ZmgrpoHWxLTP6jXJeXHQKIF8INahRsNyPcMrKk/9mE0OCA== + dependencies: + "@alicloud/endpoint-util" "^0.0.1" + "@alicloud/openapi-client" "^0.3.0" + "@alicloud/tea-typescript" latest + "@alicloud/tea-util" "^1.4.0" + +"@alicloud/tea-typescript@^1", "@alicloud/tea-typescript@^1.5.1", "@alicloud/tea-typescript@^1.5.3", "@alicloud/tea-typescript@^1.6.0", "@alicloud/tea-typescript@^1.7.1", "@alicloud/tea-typescript@latest": + version "1.7.5" + resolved "https://registry.yarnpkg.com/@alicloud/tea-typescript/-/tea-typescript-1.7.5.tgz#d8afa092f79e545ebe2aa89fd70acb0efad2aed1" + integrity sha512-YyRMQaR+zURKBYkA+ckzS/m/5FH6x5P2oihCXLNZ6y0zmeRZPBfl8Rmr+mfPdCQA8ujkRDUn0zvj8M5kd7T0MQ== + dependencies: + "@types/node" "^12.0.2" + httpx "^2.2.6" + +"@alicloud/tea-util@^1.3.0", "@alicloud/tea-util@^1.4.0": + version "1.4.4" + resolved "https://registry.yarnpkg.com/@alicloud/tea-util/-/tea-util-1.4.4.tgz#d70efe2d401bdd6e2fc2c5b69bbfff3db733e844" + integrity sha512-uD2lMmVMSdcmv2rHTzfp2eW4OkyFig/qwBClz3Vh65qd+j6d+bjwGI1M6AnqNg9gL0yhF1Kb2Um8ljA14w1SRw== + dependencies: + "@alicloud/tea-typescript" "^1.5.1" + kitx "^2.0.0" + +"@ampproject/remapping@^2.1.0": + version "2.2.0" + resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.0.tgz#56c133824780de3174aed5ab6834f3026790154d" + integrity sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w== + dependencies: + "@jridgewell/gen-mapping" "^0.1.0" + "@jridgewell/trace-mapping" "^0.3.9" + +"@azure/abort-controller@^1.0.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@azure/abort-controller/-/abort-controller-1.1.0.tgz#788ee78457a55af8a1ad342acb182383d2119249" + integrity sha512-TrRLIoSQVzfAJX9H1JeFjzAoDGcoK1IYX1UImfceTZpsyYfWr09Ss1aHW1y5TrrR3iq6RZLBwJ3E24uwPhwahw== + dependencies: + tslib "^2.2.0" + "@azure/arm-appservice@^6.0.0": - version "6.0.0" - resolved "https://registry.yarnpkg.com/@azure/arm-appservice/-/arm-appservice-6.0.0.tgz#208c27b79bdd8a296249a4ac2714a2246af3df88" - integrity sha512-kAr/Xjx5FQ+cFdSE21kHP4ZuQrc6kwCH21vI8ccYwZKG9IIgpoJ4arDnjucTWGpIOBgB5h06xT5nePN+qZNgoQ== + version "6.1.0" + resolved "https://registry.yarnpkg.com/@azure/arm-appservice/-/arm-appservice-6.1.0.tgz#c2c4c4d50bd9f0eccbd81a268e1f6ec649aa7caa" + integrity sha512-CST99Ht+ziZ42zlCpIqKZ2vIrDHBStk9ODIEue08LU+AFIbRuXqR7DFyLv9Q8NldCvzKAXFfCA6LJiJgCYoEWw== dependencies: "@azure/ms-rest-azure-js" "^2.0.1" "@azure/ms-rest-js" "^2.0.4" @@ -21,9 +184,9 @@ tslib "^1.10.0" "@azure/arm-containerservice@^11.0.0": - version "11.0.0" - resolved "https://registry.yarnpkg.com/@azure/arm-containerservice/-/arm-containerservice-11.0.0.tgz#d13d14451f44f3c605caf0e4bd5f66ca3683a679" - integrity sha512-njebKKSI67ydTDCzqYr/mu/ze7sjaW1ga9ssIhhGE2Jy5dkDJDoErzUGy7IrDw8pCSqPib5kKdlDIMFRfe9HRA== + version "11.2.0" + resolved "https://registry.yarnpkg.com/@azure/arm-containerservice/-/arm-containerservice-11.2.0.tgz#750870b498f1ffc53c306641150d04be5a2b18c1" + integrity sha512-C2TpC6SkUUYoWSpUgBavTP3EEKEmAhp40F2GhAWQCkPgEsiwaagNoL50wPefS/JT2FMBY6mALMsJtq37+BMNQg== dependencies: "@azure/ms-rest-azure-js" "^2.0.1" "@azure/ms-rest-js" "^2.0.4" @@ -48,30 +211,33 @@ tslib "^1.10.0" "@azure/arm-dns@^4.0.0": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@azure/arm-dns/-/arm-dns-4.0.0.tgz#d4f6c1b7ae8a5ca90fc1639c6140ff6d5d4749c1" - integrity sha512-VhI8NRd6hyHKxMSTqUWpozQ//D4S1CuxFMRDao/Bzs0ETUIUem4DNOJAk5Zn5+IWfDDpJnRlLqLCspfMD5/V8A== + version "4.1.1" + resolved "https://registry.yarnpkg.com/@azure/arm-dns/-/arm-dns-4.1.1.tgz#50ad92fd2b292da7753a7f39df2d3c5f3789ffb5" + integrity sha512-6AW0gy5v5hugLwtVM8F7Hx1yLmqbs2qmEoTwtbnG7X/6TYQtrWL4CwM7tQ+Ltu0PPYA/swDMH6vtOAUpmd3XFA== dependencies: - "@azure/ms-rest-azure-js" "^2.0.1" - "@azure/ms-rest-js" "^2.0.4" + "@azure/core-auth" "^1.1.4" + "@azure/ms-rest-azure-js" "^2.1.0" + "@azure/ms-rest-js" "^2.2.0" tslib "^1.10.0" "@azure/arm-keyvault@^1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@azure/arm-keyvault/-/arm-keyvault-1.2.1.tgz#0dfb3335bda59fa70549c728114de2dc9ef8be9e" - integrity sha512-R2ao/GkTPXgb+60He4XB1XI1Mc7QAnC12sq1xuKbE4aH2D8kTsbTwXH7KIu4yuzLvX+jSov+FVwkq1v9+JeHMQ== + version "1.3.2" + resolved "https://registry.yarnpkg.com/@azure/arm-keyvault/-/arm-keyvault-1.3.2.tgz#639a2f07eb5cea1bfd2e66eaf0044b1596d7fe3e" + integrity sha512-FmOlN9B1KLP4c8obJTiM0tDtVUZoldmwMiHN71lfs40Lu8hrGQgnzLOVuqp6MkIIdXnmTtVF8ZxLbN0pQ0Du8w== dependencies: - "@azure/ms-rest-azure-js" "^1.3.2" - "@azure/ms-rest-js" "^1.8.1" + "@azure/core-auth" "^1.1.4" + "@azure/ms-rest-azure-js" "^1.4.0" + "@azure/ms-rest-js" "^1.11.0" tslib "^1.9.3" "@azure/arm-monitor@^6.0.0": - version "6.0.0" - resolved "https://registry.yarnpkg.com/@azure/arm-monitor/-/arm-monitor-6.0.0.tgz#ed2d8b8e38ceb85757bf81d74aa9058bd73a5760" - integrity sha512-KcX9Hdejc71OdKH+GsLoJ4mQ8rpXCXgMRa0ivb/SH3NLjH0Qc0bvjthNFY74NXVKy5qwjBNYuUb/GrNLtwQQ/g== + version "6.1.1" + resolved "https://registry.yarnpkg.com/@azure/arm-monitor/-/arm-monitor-6.1.1.tgz#10ed7183194550833fef98c05c58d365aff671cd" + integrity sha512-CyCNEh0Y3pzjX3Bo4GN74YNN5dXSJfnGS0bqKNaQkBwIyUOIhjo3bUSu+H94aiJh2ux25GWSqh4kp6DK6p/K5g== dependencies: - "@azure/ms-rest-azure-js" "^2.0.1" - "@azure/ms-rest-js" "^2.0.4" + "@azure/core-auth" "^1.1.4" + "@azure/ms-rest-azure-js" "^2.1.0" + "@azure/ms-rest-js" "^2.2.0" tslib "^1.10.0" "@azure/arm-network@^22.0.0": @@ -83,70 +249,63 @@ "@azure/ms-rest-js" "^2.0.4" tslib "^1.10.0" -"@azure/arm-sql@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@azure/arm-sql/-/arm-sql-7.0.0.tgz#434c46635916a82309d43c13b764ea425ba69585" - integrity sha512-a//4WA/MJHgCISRda69QjOISHcCR2jHPL+askt9bh1mVUZVAEM+1MsHumpKYjVR17iXy//mVnDJJVz6j/FtnTg== - dependencies: - "@azure/ms-rest-azure-js" "^2.0.1" - "@azure/ms-rest-js" "^2.0.4" - tslib "^1.10.0" - -"@azure/arm-sql@^7.0.2": - version "7.0.2" - resolved "https://registry.yarnpkg.com/@azure/arm-sql/-/arm-sql-7.0.2.tgz#d4fbdef82cf86751d5010373f47b44d5d294bfec" - integrity sha512-4oNjPXnSDh+V86j5b4R88ftfj0O4RqtbAjSgb93lLkw9nfz8FPLLjlde/4OHH2tIK0CdB/0dPqb3mZrdhDhwBw== +"@azure/arm-sql@^7.0.0", "@azure/arm-sql@^7.0.2": + version "7.1.2" + resolved "https://registry.yarnpkg.com/@azure/arm-sql/-/arm-sql-7.1.2.tgz#d5c961b8ed9bfcd21dbac30792b3b5b5199a1b93" + integrity sha512-WAQSjhUobCv0qUrSj/lcAhaVolW3l1EEaokm1f+mhkFew2bej1zNaKhz8HUe5Ag3y7UaRuPuxyQgxmJbto7xPw== dependencies: - "@azure/ms-rest-azure-js" "^2.0.1" - "@azure/ms-rest-js" "^2.0.4" + "@azure/core-auth" "^1.1.4" + "@azure/ms-rest-azure-js" "^2.1.0" + "@azure/ms-rest-js" "^2.2.0" tslib "^1.10.0" -"@azure/arm-storage@^15.0.0": - version "15.0.0" - resolved "https://registry.yarnpkg.com/@azure/arm-storage/-/arm-storage-15.0.0.tgz#ba48f1991e2189cfee74931adb8e8f3389e6b932" - integrity sha512-aIx8IWxj5cmIBV0Mf0O2N70PboUIb3zSJ5w8UonlIZb2t0Y9uPYOut1DR251KBF4aQVP6TF1HEJoAALsxPtOUw== +"@azure/arm-storage@^15.0.0", "@azure/arm-storage@^15.1.0": + version "15.3.0" + resolved "https://registry.yarnpkg.com/@azure/arm-storage/-/arm-storage-15.3.0.tgz#417ebb7602aa5319023308f639ddb03cd790066c" + integrity sha512-djN2tmEzvC4lNEYrk3PAXkf5ZcebGDqPZSh/cYKOleumD4eop5EpMX8d5LcSO/9EcSfPpCzutRg0AleMaPQ9Mg== dependencies: "@azure/ms-rest-azure-js" "^2.0.1" "@azure/ms-rest-js" "^2.0.4" tslib "^1.10.0" -"@azure/arm-storage@^15.1.0": - version "15.1.0" - resolved "https://registry.yarnpkg.com/@azure/arm-storage/-/arm-storage-15.1.0.tgz#fa14b5e532babf39b47c5cffe89de5aa062e1f80" - integrity sha512-IWomHlT7eEnCSMDHH/z5/XyPHhGAIPmWYgHkIyYB2YQt+Af+hWvE1NIwI79Eeiu+Am4U8BKUsXWmWKqDYh0Srg== +"@azure/core-auth@^1.1.4": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@azure/core-auth/-/core-auth-1.4.0.tgz#6fa9661c1705857820dbc216df5ba5665ac36a9e" + integrity sha512-HFrcTgmuSuukRf/EdPmqBrc5l6Q5Uu+2TbuhaKbgaCpP2TfAeiNaQPAadxO+CYBRHGUzIDteMAjFspFLDLnKVQ== dependencies: - "@azure/ms-rest-azure-js" "^2.0.1" - "@azure/ms-rest-js" "^2.0.4" - tslib "^1.10.0" + "@azure/abort-controller" "^1.0.0" + tslib "^2.2.0" "@azure/ms-rest-azure-env@^2.0.0": version "2.0.0" resolved "https://registry.yarnpkg.com/@azure/ms-rest-azure-env/-/ms-rest-azure-env-2.0.0.tgz#45809f89763a480924e21d3c620cd40866771625" integrity sha512-dG76W7ElfLi+fbTjnZVGj+M9e0BIEJmRxU6fHaUQ12bZBe8EJKYb2GV50YWNaP2uJiVQ5+7nXEVj1VN1UQtaEw== -"@azure/ms-rest-azure-js@^1.3.2": - version "1.3.8" - resolved "https://registry.yarnpkg.com/@azure/ms-rest-azure-js/-/ms-rest-azure-js-1.3.8.tgz#96b518223d3baa2496b2981bc07288b3d887486e" - integrity sha512-AHLfDTCyIH6wBK6+CpImI6sc9mLZ17ZgUrTx3Rhwv+3Mb3Z73BxormkarfR6Stb6scrBYitxJ27FXyndXlGAYg== +"@azure/ms-rest-azure-js@^1.4.0": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@azure/ms-rest-azure-js/-/ms-rest-azure-js-1.4.0.tgz#a68a7f2e47786a26f2dc47fb4038a3ae2ce4a3fa" + integrity sha512-ul1wfkzwU9wYg6kFKD/AuQfVRJU4utEjDcfa0hvXqDS99yRuJqUrt/Ojv3duZMwskBIrD3CV5d9TjLBOV7/pQw== dependencies: - "@azure/ms-rest-js" "^1.8.10" + "@azure/core-auth" "^1.1.4" + "@azure/ms-rest-js" "^1.10.0" tslib "^1.9.3" -"@azure/ms-rest-azure-js@^2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@azure/ms-rest-azure-js/-/ms-rest-azure-js-2.0.1.tgz#fa1b38f039b3ee48a9e086a88c8a5b5b7776491c" - integrity sha512-5e+A710O7gRFISoV4KI/ZyLQbKmjXxQZ1L8Z/sx7jSUQqmswjTnN4yyIZxs5JzfLVkobU0rXxbi5/LVzaI8QXQ== +"@azure/ms-rest-azure-js@^2.0.1", "@azure/ms-rest-azure-js@^2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@azure/ms-rest-azure-js/-/ms-rest-azure-js-2.1.0.tgz#8c90b31468aeca3146b06c7144b386fd4827f64c" + integrity sha512-CjZjB8apvXl5h97Ck6SbeeCmU0sk56YPozPtTyGudPp1RGoHXNjFNtoOvwOG76EdpmMpxbK10DqcygI16Lu60Q== dependencies: - "@azure/ms-rest-js" "^2.0.4" + "@azure/core-auth" "^1.1.4" + "@azure/ms-rest-js" "^2.2.0" tslib "^1.10.0" -"@azure/ms-rest-js@^1.8.1", "@azure/ms-rest-js@^1.8.10": - version "1.8.15" - resolved "https://registry.yarnpkg.com/@azure/ms-rest-js/-/ms-rest-js-1.8.15.tgz#4267b6b8c00d85301791fe0cf347e0455a807338" - integrity sha512-kIB71V3DcrA4iysBbOsYcxd4WWlOE7OFtCUYNfflPODM0lbIR23A236QeTn5iAeYwcHmMjR/TAKp5KQQh/WqoQ== +"@azure/ms-rest-js@^1.10.0", "@azure/ms-rest-js@^1.11.0": + version "1.11.2" + resolved "https://registry.yarnpkg.com/@azure/ms-rest-js/-/ms-rest-js-1.11.2.tgz#e83d512b102c302425da5ff03a6d76adf2aa4ae6" + integrity sha512-2AyQ1IKmLGKW7DU3/x3TsTBzZLcbC9YRI+yuDPuXAQrv3zar340K9wsxU413kHFIDjkWNCo9T0w5VtwcyWxhbQ== dependencies: - "@types/tunnel" "0.0.0" - axios "^0.19.0" + "@azure/core-auth" "^1.1.4" + axios "^0.21.1" form-data "^2.3.2" tough-cookie "^2.4.3" tslib "^1.9.2" @@ -154,259 +313,234 @@ uuid "^3.2.1" xml2js "^0.4.19" -"@azure/ms-rest-js@^2.0.4", "@azure/ms-rest-js@^2.0.7": - version "2.0.7" - resolved "https://registry.yarnpkg.com/@azure/ms-rest-js/-/ms-rest-js-2.0.7.tgz#3165bb7068387bf36c4c43db85d3662c916fd581" - integrity sha512-rQpNxDhyOIyS4E+4sUCBMvjrtbNwB32wH06cC2SFoQM4TR29bIKaTlIC1tMe0K07w9c5tNk/2uUHs6/ld/Z3+A== +"@azure/ms-rest-js@^2.0.4", "@azure/ms-rest-js@^2.0.7", "@azure/ms-rest-js@^2.2.0": + version "2.6.2" + resolved "https://registry.yarnpkg.com/@azure/ms-rest-js/-/ms-rest-js-2.6.2.tgz#185a9d643ea55c696134af76a5c6026c94e26217" + integrity sha512-0/8rOxAoR9M3qKUdbGOIYtHtQkm4m5jdoDNdxTU0DkOr84KwyAdJuW/RfjJinGyig4h73DNF0rdCl6XowgCYcg== dependencies: - "@types/node-fetch" "^2.3.7" - "@types/tunnel" "0.0.1" + "@azure/core-auth" "^1.1.4" abort-controller "^3.0.0" form-data "^2.5.0" - node-fetch "^2.6.0" + node-fetch "^2.6.7" tough-cookie "^3.0.1" tslib "^1.10.0" tunnel "0.0.6" - uuid "^3.3.2" + uuid "^8.3.2" xml2js "^0.4.19" "@azure/ms-rest-nodeauth@^3.0.5": - version "3.0.5" - resolved "https://registry.yarnpkg.com/@azure/ms-rest-nodeauth/-/ms-rest-nodeauth-3.0.5.tgz#f277ec6e323178fd13c05ca82321ba99c767d4bc" - integrity sha512-GoP9tn4rFNHJqE00+ARtHmPKufC3h4j7xEuyveOueUrguLT/Q0c5aEPgS9bmXWiHGoreRn2hVGGwd3m8oDdV3g== + version "3.1.1" + resolved "https://registry.yarnpkg.com/@azure/ms-rest-nodeauth/-/ms-rest-nodeauth-3.1.1.tgz#2624222f0685ae580801d6f1abeab20923814693" + integrity sha512-UA/8dgLy3+ZiwJjAZHxL4MUB14fFQPkaAOZ94jsTW/Z6WmoOeny2+cLk0+dyIX/iH6qSrEWKwbStEeB970B9pA== dependencies: "@azure/ms-rest-azure-env" "^2.0.0" "@azure/ms-rest-js" "^2.0.4" - adal-node "^0.1.28" + adal-node "^0.2.2" -"@babel/code-frame@^7.0.0": - version "7.10.3" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.10.3.tgz#324bcfd8d35cd3d47dae18cde63d752086435e9a" - integrity sha512-fDx9eNW0qz0WkUeqL6tXEXzVlPh6Y5aCDEZesl0xBGA8ndRukX91Uk44ZqnkECp01NAZUdCAl+aiQNGi0k88Eg== +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.18.6.tgz#3b25d38c89600baa2dcc219edfa88a74eb2c427a" + integrity sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q== dependencies: - "@babel/highlight" "^7.10.3" + "@babel/highlight" "^7.18.6" -"@babel/code-frame@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.10.4.tgz#168da1a36e90da68ae8d49c0f1b48c7c6249213a" - integrity sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg== - dependencies: - "@babel/highlight" "^7.10.4" +"@babel/compat-data@^7.18.8": + version "7.18.13" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.18.13.tgz#6aff7b350a1e8c3e40b029e46cbe78e24a913483" + integrity sha512-5yUzC5LqyTFp2HLmDoxGQelcdYgSpP9xsnMWBphAscOdFrHSAVbLNzWiy32sVNDqJRDiJK6klfDnAgu6PAGSHw== "@babel/core@^7.7.5": - version "7.11.1" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.11.1.tgz#2c55b604e73a40dc21b0e52650b11c65cf276643" - integrity sha512-XqF7F6FWQdKGGWAzGELL+aCO1p+lRY5Tj5/tbT3St1G8NaH70jhhDIKknIZaDans0OQBG5wRAldROLHSt44BgQ== - dependencies: - "@babel/code-frame" "^7.10.4" - "@babel/generator" "^7.11.0" - "@babel/helper-module-transforms" "^7.11.0" - "@babel/helpers" "^7.10.4" - "@babel/parser" "^7.11.1" - "@babel/template" "^7.10.4" - "@babel/traverse" "^7.11.0" - "@babel/types" "^7.11.0" + version "7.18.13" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.18.13.tgz#9be8c44512751b05094a4d3ab05fc53a47ce00ac" + integrity sha512-ZisbOvRRusFktksHSG6pjj1CSvkPkcZq/KHD45LAkVP/oiHJkNBZWfpvlLmX8OtHDG8IuzsFlVRWo08w7Qxn0A== + dependencies: + "@ampproject/remapping" "^2.1.0" + "@babel/code-frame" "^7.18.6" + "@babel/generator" "^7.18.13" + "@babel/helper-compilation-targets" "^7.18.9" + "@babel/helper-module-transforms" "^7.18.9" + "@babel/helpers" "^7.18.9" + "@babel/parser" "^7.18.13" + "@babel/template" "^7.18.10" + "@babel/traverse" "^7.18.13" + "@babel/types" "^7.18.13" convert-source-map "^1.7.0" debug "^4.1.0" - gensync "^1.0.0-beta.1" - json5 "^2.1.2" - lodash "^4.17.19" - resolve "^1.3.2" - semver "^5.4.1" - source-map "^0.5.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.1" + semver "^6.3.0" -"@babel/generator@^7.11.0": - version "7.11.0" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.11.0.tgz#4b90c78d8c12825024568cbe83ee6c9af193585c" - integrity sha512-fEm3Uzw7Mc9Xi//qU20cBKatTfs2aOtKqmvy/Vm7RkJEGFQ4xc9myCfbXxqK//ZS8MR/ciOHw6meGASJuKmDfQ== +"@babel/generator@^7.12.11", "@babel/generator@^7.18.13": + version "7.18.13" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.18.13.tgz#59550cbb9ae79b8def15587bdfbaa388c4abf212" + integrity sha512-CkPg8ySSPuHTYPJYo7IRALdqyjM9HCbt/3uOBEFbzyGVP6Mn8bwFPB0jX6982JVNBlYzM1nnPkfjuXSOPtQeEQ== dependencies: - "@babel/types" "^7.11.0" + "@babel/types" "^7.18.13" + "@jridgewell/gen-mapping" "^0.3.2" jsesc "^2.5.1" - source-map "^0.5.0" - -"@babel/helper-function-name@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz#d2d3b20c59ad8c47112fa7d2a94bc09d5ef82f1a" - integrity sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ== - dependencies: - "@babel/helper-get-function-arity" "^7.10.4" - "@babel/template" "^7.10.4" - "@babel/types" "^7.10.4" - -"@babel/helper-get-function-arity@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz#98c1cbea0e2332f33f9a4661b8ce1505b2c19ba2" - integrity sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A== - dependencies: - "@babel/types" "^7.10.4" - -"@babel/helper-member-expression-to-functions@^7.10.4": - version "7.11.0" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.11.0.tgz#ae69c83d84ee82f4b42f96e2a09410935a8f26df" - integrity sha512-JbFlKHFntRV5qKw3YC0CvQnDZ4XMwgzzBbld7Ly4Mj4cbFy3KywcR8NtNctRToMWJOVvLINJv525Gd6wwVEx/Q== - dependencies: - "@babel/types" "^7.11.0" - -"@babel/helper-module-imports@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.10.4.tgz#4c5c54be04bd31670a7382797d75b9fa2e5b5620" - integrity sha512-nEQJHqYavI217oD9+s5MUBzk6x1IlvoS9WTPfgG43CbMEeStE0v+r+TucWdx8KFGowPGvyOkDT9+7DHedIDnVw== - dependencies: - "@babel/types" "^7.10.4" - -"@babel/helper-module-transforms@^7.11.0": - version "7.11.0" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.11.0.tgz#b16f250229e47211abdd84b34b64737c2ab2d359" - integrity sha512-02EVu8COMuTRO1TAzdMtpBPbe6aQ1w/8fePD2YgQmxZU4gpNWaL9gK3Jp7dxlkUlUCJOTaSeA+Hrm1BRQwqIhg== - dependencies: - "@babel/helper-module-imports" "^7.10.4" - "@babel/helper-replace-supers" "^7.10.4" - "@babel/helper-simple-access" "^7.10.4" - "@babel/helper-split-export-declaration" "^7.11.0" - "@babel/template" "^7.10.4" - "@babel/types" "^7.11.0" - lodash "^4.17.19" - -"@babel/helper-optimise-call-expression@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.4.tgz#50dc96413d594f995a77905905b05893cd779673" - integrity sha512-n3UGKY4VXwXThEiKrgRAoVPBMqeoPgHVqiHZOanAJCG9nQUL2pLRQirUzl0ioKclHGpGqRgIOkgcIJaIWLpygg== - dependencies: - "@babel/types" "^7.10.4" - -"@babel/helper-replace-supers@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.10.4.tgz#d585cd9388ea06e6031e4cd44b6713cbead9e6cf" - integrity sha512-sPxZfFXocEymYTdVK1UNmFPBN+Hv5mJkLPsYWwGBxZAxaWfFu+xqp7b6qWD0yjNuNL2VKc6L5M18tOXUP7NU0A== - dependencies: - "@babel/helper-member-expression-to-functions" "^7.10.4" - "@babel/helper-optimise-call-expression" "^7.10.4" - "@babel/traverse" "^7.10.4" - "@babel/types" "^7.10.4" - -"@babel/helper-simple-access@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.10.4.tgz#0f5ccda2945277a2a7a2d3a821e15395edcf3461" - integrity sha512-0fMy72ej/VEvF8ULmX6yb5MtHG4uH4Dbd6I/aHDb/JVg0bbivwt9Wg+h3uMvX+QSFtwr5MeItvazbrc4jtRAXw== - dependencies: - "@babel/template" "^7.10.4" - "@babel/types" "^7.10.4" - -"@babel/helper-split-export-declaration@^7.11.0": - version "7.11.0" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz#f8a491244acf6a676158ac42072911ba83ad099f" - integrity sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg== - dependencies: - "@babel/types" "^7.11.0" - -"@babel/helper-validator-identifier@^7.10.3": - version "7.10.3" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.3.tgz#60d9847f98c4cea1b279e005fdb7c28be5412d15" - integrity sha512-bU8JvtlYpJSBPuj1VUmKpFGaDZuLxASky3LhaKj3bmpSTY6VWooSM8msk+Z0CZoErFye2tlABF6yDkT3FOPAXw== - -"@babel/helper-validator-identifier@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz#a78c7a7251e01f616512d31b10adcf52ada5e0d2" - integrity sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw== - -"@babel/helpers@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.10.4.tgz#2abeb0d721aff7c0a97376b9e1f6f65d7a475044" - integrity sha512-L2gX/XeUONeEbI78dXSrJzGdz4GQ+ZTA/aazfUsFaWjSe95kiCuOZ5HsXvkiw3iwF+mFHSRUfJU8t6YavocdXA== - dependencies: - "@babel/template" "^7.10.4" - "@babel/traverse" "^7.10.4" - "@babel/types" "^7.10.4" - -"@babel/highlight@^7.10.3": - version "7.10.3" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.10.3.tgz#c633bb34adf07c5c13156692f5922c81ec53f28d" - integrity sha512-Ih9B/u7AtgEnySE2L2F0Xm0GaM729XqqLfHkalTsbjXGyqmf/6M0Cu0WpvqueUlW+xk88BHw9Nkpj49naU+vWw== - dependencies: - "@babel/helper-validator-identifier" "^7.10.3" - chalk "^2.0.0" - js-tokens "^4.0.0" -"@babel/highlight@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.10.4.tgz#7d1bdfd65753538fabe6c38596cdb76d9ac60143" - integrity sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA== - dependencies: - "@babel/helper-validator-identifier" "^7.10.4" +"@babel/helper-compilation-targets@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.18.9.tgz#69e64f57b524cde3e5ff6cc5a9f4a387ee5563bf" + integrity sha512-tzLCyVmqUiFlcFoAPLA/gL9TeYrF61VLNtb+hvkuVaB5SUjW7jcfrglBIX1vUIoT7CLP3bBlIMeyEsIl2eFQNg== + dependencies: + "@babel/compat-data" "^7.18.8" + "@babel/helper-validator-option" "^7.18.6" + browserslist "^4.20.2" + semver "^6.3.0" + +"@babel/helper-environment-visitor@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz#0c0cee9b35d2ca190478756865bb3528422f51be" + integrity sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg== + +"@babel/helper-function-name@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.18.9.tgz#940e6084a55dee867d33b4e487da2676365e86b0" + integrity sha512-fJgWlZt7nxGksJS9a0XdSaI4XvpExnNIgRP+rVefWh5U7BL8pPuir6SJUmFKRfjWQ51OtWSzwOxhaH/EBWWc0A== + dependencies: + "@babel/template" "^7.18.6" + "@babel/types" "^7.18.9" + +"@babel/helper-hoist-variables@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz#d4d2c8fb4baeaa5c68b99cc8245c56554f926678" + integrity sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q== + dependencies: + "@babel/types" "^7.18.6" + +"@babel/helper-module-imports@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz#1e3ebdbbd08aad1437b428c50204db13c5a3ca6e" + integrity sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA== + dependencies: + "@babel/types" "^7.18.6" + +"@babel/helper-module-transforms@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.18.9.tgz#5a1079c005135ed627442df31a42887e80fcb712" + integrity sha512-KYNqY0ICwfv19b31XzvmI/mfcylOzbLtowkw+mfvGPAQ3kfCnMLYbED3YecL5tPd8nAYFQFAd6JHp2LxZk/J1g== + dependencies: + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-module-imports" "^7.18.6" + "@babel/helper-simple-access" "^7.18.6" + "@babel/helper-split-export-declaration" "^7.18.6" + "@babel/helper-validator-identifier" "^7.18.6" + "@babel/template" "^7.18.6" + "@babel/traverse" "^7.18.9" + "@babel/types" "^7.18.9" + +"@babel/helper-simple-access@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz#d6d8f51f4ac2978068df934b569f08f29788c7ea" + integrity sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g== + dependencies: + "@babel/types" "^7.18.6" + +"@babel/helper-split-export-declaration@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz#7367949bc75b20c6d5a5d4a97bba2824ae8ef075" + integrity sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA== + dependencies: + "@babel/types" "^7.18.6" + +"@babel/helper-string-parser@^7.18.10": + version "7.18.10" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz#181f22d28ebe1b3857fa575f5c290b1aaf659b56" + integrity sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw== + +"@babel/helper-validator-identifier@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz#9c97e30d31b2b8c72a1d08984f2ca9b574d7a076" + integrity sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g== + +"@babel/helper-validator-option@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz#bf0d2b5a509b1f336099e4ff36e1a63aa5db4db8" + integrity sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw== + +"@babel/helpers@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.18.9.tgz#4bef3b893f253a1eced04516824ede94dcfe7ff9" + integrity sha512-Jf5a+rbrLoR4eNdUmnFu8cN5eNJT6qdTdOg5IHIzq87WwyRw9PwguLFOWYgktN/60IP4fgDUawJvs7PjQIzELQ== + dependencies: + "@babel/template" "^7.18.6" + "@babel/traverse" "^7.18.9" + "@babel/types" "^7.18.9" + +"@babel/highlight@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.18.6.tgz#81158601e93e2563795adcbfbdf5d64be3f2ecdf" + integrity sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g== + dependencies: + "@babel/helper-validator-identifier" "^7.18.6" chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.10.4", "@babel/parser@^7.11.0", "@babel/parser@^7.11.1", "@babel/parser@^7.2.3": - version "7.11.3" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.11.3.tgz#9e1eae46738bcd08e23e867bab43e7b95299a8f9" - integrity sha512-REo8xv7+sDxkKvoxEywIdsNFiZLybwdI7hcT5uEPyQrSMB4YQ973BfC9OOrD/81MaIjh6UxdulIQXkjmiH3PcA== - -"@babel/parser@^7.9.4": - version "7.11.2" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.11.2.tgz#0882ab8a455df3065ea2dcb4c753b2460a24bead" - integrity sha512-Vuj/+7vLo6l1Vi7uuO+1ngCDNeVmNbTngcJFKCR/oEtz8tKz0CJxZEGmPt9KcIloZhOZ3Zit6xbpXT2MDlS9Vw== - -"@babel/polyfill@^7.4.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/polyfill/-/polyfill-7.10.4.tgz#915e5bfe61490ac0199008e35ca9d7d151a8e45a" - integrity sha512-8BYcnVqQ5kMD2HXoHInBH7H1b/uP3KdnwCYXOqFnXqguOyuu443WXusbIUbWEfY3Z0Txk0M1uG/8YuAMhNl6zg== - dependencies: - core-js "^2.6.5" - regenerator-runtime "^0.13.4" +"@babel/parser@^7.18.10", "@babel/parser@^7.18.13", "@babel/parser@^7.2.3", "@babel/parser@^7.9.4": + version "7.18.13" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.18.13.tgz#5b2dd21cae4a2c5145f1fbd8ca103f9313d3b7e4" + integrity sha512-dgXcIfMuQ0kgzLB2b9tRZs7TTFFaGM2AbtA4fJgUUYukzGH4jwsS7hzQHEGs67jdehpm22vkgKwvbU+aEflgwg== "@babel/runtime@^7.7.6": - version "7.11.2" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.11.2.tgz#f549c13c754cc40b87644b9fa9f09a6a95fe0736" - integrity sha512-TeWkU52so0mPtDcaCTxNBI/IHiz0pZgr8VEFqXFtZWpYD08ZB6FaSwVAS8MKRQAP3bYKiVjwysOJgMFY28o6Tw== + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.18.9.tgz#b4fcfce55db3d2e5e080d2490f608a3b9f407f4a" + integrity sha512-lkqXDcvlFT5rvEjiu6+QYO+1GXrEHRo2LOtS7E4GtX5ESIZOgepqsZBVIj6Pv+a6zqsya9VCgiK1KAK4BvJDAw== dependencies: regenerator-runtime "^0.13.4" -"@babel/template@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.10.4.tgz#3251996c4200ebc71d1a8fc405fba940f36ba278" - integrity sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA== - dependencies: - "@babel/code-frame" "^7.10.4" - "@babel/parser" "^7.10.4" - "@babel/types" "^7.10.4" - -"@babel/traverse@^7.10.4", "@babel/traverse@^7.11.0": - version "7.11.0" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.11.0.tgz#9b996ce1b98f53f7c3e4175115605d56ed07dd24" - integrity sha512-ZB2V+LskoWKNpMq6E5UUCrjtDUh5IOTAyIl0dTjIEoXum/iKWkoIEKIRDnUucO6f+2FzNkE0oD4RLKoPIufDtg== - dependencies: - "@babel/code-frame" "^7.10.4" - "@babel/generator" "^7.11.0" - "@babel/helper-function-name" "^7.10.4" - "@babel/helper-split-export-declaration" "^7.11.0" - "@babel/parser" "^7.11.0" - "@babel/types" "^7.11.0" +"@babel/template@^7.18.10", "@babel/template@^7.18.6": + version "7.18.10" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.18.10.tgz#6f9134835970d1dbf0835c0d100c9f38de0c5e71" + integrity sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA== + dependencies: + "@babel/code-frame" "^7.18.6" + "@babel/parser" "^7.18.10" + "@babel/types" "^7.18.10" + +"@babel/traverse@^7.1.6", "@babel/traverse@^7.18.13", "@babel/traverse@^7.18.9": + version "7.18.13" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.18.13.tgz#5ab59ef51a997b3f10c4587d648b9696b6cb1a68" + integrity sha512-N6kt9X1jRMLPxxxPYWi7tgvJRH/rtoU+dbKAPDM44RFHiMH8igdsaSBgFeskhSl/kLWLDUvIh1RXCrTmg0/zvA== + dependencies: + "@babel/code-frame" "^7.18.6" + "@babel/generator" "^7.18.13" + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-function-name" "^7.18.9" + "@babel/helper-hoist-variables" "^7.18.6" + "@babel/helper-split-export-declaration" "^7.18.6" + "@babel/parser" "^7.18.13" + "@babel/types" "^7.18.13" debug "^4.1.0" globals "^11.1.0" - lodash "^4.17.19" -"@babel/types@^7.0.0", "@babel/types@^7.10.4", "@babel/types@^7.11.0": - version "7.11.0" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.11.0.tgz#2ae6bf1ba9ae8c3c43824e5861269871b206e90d" - integrity sha512-O53yME4ZZI0jO1EVGtF1ePGl0LHirG4P1ibcD80XyzZcKhcMFeCXmh4Xb1ifGBIV233Qg12x4rBfQgA+tmOukA== +"@babel/types@^7.0.0", "@babel/types@^7.18.10", "@babel/types@^7.18.13", "@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.2.0": + version "7.18.13" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.18.13.tgz#30aeb9e514f4100f7c1cb6e5ba472b30e48f519a" + integrity sha512-ePqfTihzW0W6XAU+aMw2ykilisStJfDnsejDCXRchCcMJ4O0+8DhPXf2YUbZ6wjBlsEmZwLK/sPweWtu8hcJYQ== dependencies: - "@babel/helper-validator-identifier" "^7.10.4" - lodash "^4.17.19" + "@babel/helper-string-parser" "^7.18.10" + "@babel/helper-validator-identifier" "^7.18.6" to-fast-properties "^2.0.0" -"@eslint/eslintrc@^1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.2.1.tgz#8b5e1c49f4077235516bc9ec7d41378c0f69b8c6" - integrity sha512-bxvbYnBPN1Gibwyp6NrpnFzA3YtRL3BBAyEAFVIpNTm2Rn4Vy87GA5M4aSn3InRrlsbX5N0GW7XIx+U4SAEKdQ== +"@bcoe/v8-coverage@^0.2.3": + version "0.2.3" + resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" + integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== + +"@eslint/eslintrc@^1.3.1": + version "1.3.1" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.3.1.tgz#de0807bfeffc37b964a7d0400e0c348ce5a2543d" + integrity sha512-OhSY22oQQdw3zgPOOwdoj01l/Dzl1Z+xyUP33tkSN+aqyEhymJCcPHyXt+ylW8FSe0TfRC2VG+ROQOapD0aZSQ== dependencies: ajv "^6.12.4" debug "^4.3.2" - espree "^9.3.1" - globals "^13.9.0" + espree "^9.4.0" + globals "^13.15.0" ignore "^5.2.0" import-fresh "^3.2.1" js-yaml "^4.1.0" - minimatch "^3.0.4" + minimatch "^3.1.2" strip-json-comments "^3.1.1" "@evocateur/libnpmaccess@^3.1.2": @@ -484,16 +618,16 @@ which "^1.3.1" "@google-cloud/automl@^2.2.0": - version "2.2.0" - resolved "https://registry.yarnpkg.com/@google-cloud/automl/-/automl-2.2.0.tgz#750c5ca5a642ecc169c47e2514ec491fbf2fae48" - integrity sha512-REbEVIF1S8Kcl2qvziIqe0Q0/6CirrV6Jm5tAXHtI6UVoOvlNDfgoinldTWLBNPnpdKFjtZKR6umYM0Ieqhwzg== + version "2.5.2" + resolved "https://registry.yarnpkg.com/@google-cloud/automl/-/automl-2.5.2.tgz#a816ff7f355762f57c56e51208a949e87602aca8" + integrity sha512-YirbQvbd2QWFQM4m2bYmflF7Z9P5DDO68ah/JHjl7cltjqKGpSzoJw05pBRf/+DsExkGOM69zNJWM7sWn8dYRg== dependencies: - google-gax "^2.1.0" + google-gax "^2.24.1" "@google-cloud/common@^3.0.0": - version "3.3.0" - resolved "https://registry.yarnpkg.com/@google-cloud/common/-/common-3.3.0.tgz#0e416b239d807e00ec55ef721793d8207476f5cf" - integrity sha512-S0QTWSIzcKZ3IK5Nx+exFVyzF8TP4MLq/FRJfP2dfQwP+xMLWcF8Dew+jdBMwDOJJBXXFIZcdmfL6kodhC6S7g== + version "3.10.0" + resolved "https://registry.yarnpkg.com/@google-cloud/common/-/common-3.10.0.tgz#454d1155bb512109cd83c6183aabbd39f9aabda7" + integrity sha512-XMbJYMh/ZSaZnbnrrOFfR/oQrb0SxG4qh6hDisWCoEbFcBHV0qHQo4uXfeMCzolx2Mfkh6VDaOGg+hyJsmxrlw== dependencies: "@google-cloud/projectify" "^2.0.0" "@google-cloud/promisify" "^2.0.0" @@ -501,30 +635,14 @@ duplexify "^4.1.1" ent "^2.2.0" extend "^3.0.2" - google-auth-library "^6.0.0" - retry-request "^4.1.1" + google-auth-library "^7.14.0" + retry-request "^4.2.2" teeny-request "^7.0.0" -"@google-cloud/compute@^2.0.0": - version "2.0.2" - resolved "https://registry.yarnpkg.com/@google-cloud/compute/-/compute-2.0.2.tgz#e973bdb183cb8e48bd890356c0355709fa79a4d6" - integrity sha512-v18xn9UwI5hcHAqEHg0yX9yOkOwMkFw+LQjU80+hykHY+bwJA5kCJ5ja03l0p1ocr7fOzUt0nrQk0IkbTRmDZw== - dependencies: - "@google-cloud/common" "^3.0.0" - "@google-cloud/paginator" "^3.0.0" - "@google-cloud/projectify" "^2.0.0" - "@google-cloud/promisify" "^2.0.0" - arrify "^2.0.0" - async "^3.0.0" - extend "^3.0.2" - gce-images "^3.0.0" - is "^3.2.1" - string-format-obj "^1.1.1" - -"@google-cloud/compute@^2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@google-cloud/compute/-/compute-2.0.1.tgz#6e4fca765a1e0c4a55d9bd6a1c9fcc8d6ba3a2bb" - integrity sha512-LfdhmkFtH8/BGcAnU/eOE+JNb1zy36AlBkNV4qcwesmiElQnkus7UYNpUhvifM9MEEryzVQGTPbSSdUhs+OVuw== +"@google-cloud/compute@^2.0.0", "@google-cloud/compute@^2.0.1": + version "2.6.0" + resolved "https://registry.yarnpkg.com/@google-cloud/compute/-/compute-2.6.0.tgz#8a390e74c8d0e147c107a80cf4528032adbc1cad" + integrity sha512-3q4lolL/tNMBq3bji4dDrv/YNJ0ykGplYJoVXt+NMZ6tDDH2qOGPkQ6afjHwcsxaBmiMg0v3DoMxOOKq55uLSg== dependencies: "@google-cloud/common" "^3.0.0" "@google-cloud/paginator" "^3.0.0" @@ -538,237 +656,274 @@ string-format-obj "^1.1.1" "@google-cloud/container@^2.1.0", "@google-cloud/container@^2.1.1": - version "2.1.1" - resolved "https://registry.yarnpkg.com/@google-cloud/container/-/container-2.1.1.tgz#edb6d7d69bf6930319aaff3ec8095cf02d4d22aa" - integrity sha512-LnGtawuL0EhAVQQwNKxOkSLBG+bAGx3Ko7G8qwG4gwJwshxD+ru0VQsMwCsULCtCmBH8pnu+sbXsoYcuZmnNiQ== + version "2.6.0" + resolved "https://registry.yarnpkg.com/@google-cloud/container/-/container-2.6.0.tgz#a35da386702a9499c64c2a070ec5ba8c2ba53709" + integrity sha512-B/noTkUW+URu3WIWlxuKcd/a3ndC4IHcRRSTdiX6CY6a3E8Q44oaoLIsD8f44/a1ac6o7KoFVBPBC0KmqChm0g== dependencies: - google-gax "^2.1.0" + google-gax "^2.24.1" "@google-cloud/dns@^2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@google-cloud/dns/-/dns-2.0.1.tgz#61183bff409de31a63b47874bdf05d043f8bf19e" - integrity sha512-2Z7YdtXyGmx+KvyVyiGT8DX+J7nqpd89BmZZaw2bHFhB3QkwM+99KN2fsNUP7w+Yu09OGJFOObaim4pVLGf9ug== + version "2.2.4" + resolved "https://registry.yarnpkg.com/@google-cloud/dns/-/dns-2.2.4.tgz#d77dabb93c0d32a305553dda304032d106742070" + integrity sha512-IzTifG4AVhHCbr6IO9cZ0J7Vp/2YtWTz+GMzr+cK1h4IR9xGpvaP58DOugje1yIyLRvdqCG5B5jSVYjPMvf76A== dependencies: "@google-cloud/common" "^3.0.0" "@google-cloud/paginator" "^3.0.0" "@google-cloud/promisify" "^2.0.0" arrify "^2.0.0" - dns-zonefile "0.2.6" + dns-zonefile "0.2.10" lodash.groupby "^4.6.0" string-format-obj "^1.1.1" "@google-cloud/firestore@^4.2.0": - version "4.2.0" - resolved "https://registry.yarnpkg.com/@google-cloud/firestore/-/firestore-4.2.0.tgz#5ff83838076972b86c16ae64d35429c190c69ea9" - integrity sha512-YCiKaTYCbXSoEvZ8cTmpgg4ebAvmFUOu3hj/aX+lHiOK7LsoFVi4jgNknogSqIiv04bxAysTBodpgn8XoZ4l5g== + version "4.15.1" + resolved "https://registry.yarnpkg.com/@google-cloud/firestore/-/firestore-4.15.1.tgz#ed764fc76823ce120e68fe8c27ef1edd0650cd93" + integrity sha512-2PWsCkEF1W02QbghSeRsNdYKN1qavrHBP3m72gPDMHQSYrGULOaTi7fSJquQmAtc4iPVB2/x6h80rdLHTATQtA== dependencies: fast-deep-equal "^3.1.1" functional-red-black-tree "^1.0.1" - google-gax "^2.2.0" + google-gax "^2.24.1" + protobufjs "^6.8.6" "@google-cloud/kms@^2.1.2": - version "2.1.2" - resolved "https://registry.yarnpkg.com/@google-cloud/kms/-/kms-2.1.2.tgz#681ef6fe4e968adb96a4ac8e76efb12e61af8dd8" - integrity sha512-sjqOPQNDnfW7lacd8QndR9REAcQKUK66nm6OpgraHItatLevyRbC5/V1p7vg7CVk4LtkzHjSJdDr+pEHdzOwSQ== + version "2.11.1" + resolved "https://registry.yarnpkg.com/@google-cloud/kms/-/kms-2.11.1.tgz#56a19957e11e2f560fa469c34aad932502a0db43" + integrity sha512-rmRQ9MVlEeKySlTP4QAwP9CY5UZqQ1Mpdeqe0N3FW+2HjJ2uH0oOSawv7UKa8+nQEx6R4SJI2u0A9Le5Wrd72A== dependencies: - google-gax "^2.1.0" + google-gax "^2.24.1" -"@google-cloud/monitoring@^2.0.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@google-cloud/monitoring/-/monitoring-2.1.0.tgz#99d5746914aa88b37d2106ac2128021d62c57307" - integrity sha512-4VInKJmh2g8JlZ35w3XvvcuN2Wvs6GNHXR6tmq84oia5DdM8TXJ2HoLXwZ7Ab3jU45NW6u11ZRLUYGHS61jNKw== - dependencies: - google-gax "^2.1.0" - -"@google-cloud/monitoring@^2.1.1": - version "2.1.1" - resolved "https://registry.yarnpkg.com/@google-cloud/monitoring/-/monitoring-2.1.1.tgz#950822cd8b2703feb6db3648140bb36f9477c200" - integrity sha512-whPwSse8a5+ILce31W1iiwaFtPGsZCHa0B7vhl60OKMjkOYhCsTBDl4ZFgyhhbCjAqxH3OwRvYRhPvV5wAB6SQ== +"@google-cloud/monitoring@^2.0.0", "@google-cloud/monitoring@^2.1.1": + version "2.3.5" + resolved "https://registry.yarnpkg.com/@google-cloud/monitoring/-/monitoring-2.3.5.tgz#3f2d0b23402d51cca338e5700244cfda820e55fe" + integrity sha512-91+gobJMXEibKxnPOY3Q+ccFifQyRUdFpQ8uQ8acqWesxVj9ZH1VRm3ZpoleYWbbMe32cymhpGRamZ6t31veRQ== dependencies: - google-gax "^2.1.0" + google-gax "^2.24.1" -"@google-cloud/paginator@^3.0.0": - version "3.0.1" - resolved "https://registry.yarnpkg.com/@google-cloud/paginator/-/paginator-3.0.1.tgz#401fa7d2bcd05f760e97942b0297e412bca2c800" - integrity sha512-ykqRmHRg6rcIZTE+JjUMNBKOQ8uvmbVrhY//lTxZgf5QBPbZW3PoN7VK+D43yCaRJJjRmmWsaG5YdxLR6h0n0A== +"@google-cloud/paginator@^3.0.0", "@google-cloud/paginator@^3.0.6", "@google-cloud/paginator@^3.0.7": + version "3.0.7" + resolved "https://registry.yarnpkg.com/@google-cloud/paginator/-/paginator-3.0.7.tgz#fb6f8e24ec841f99defaebf62c75c2e744dd419b" + integrity sha512-jJNutk0arIQhmpUUQJPJErsojqo834KcyB6X7a1mxuic8i1tKXxde8E69IZxNZawRIlZdIK2QY4WALvlK5MzYQ== dependencies: arrify "^2.0.0" extend "^3.0.2" "@google-cloud/precise-date@^2.0.0": - version "2.0.2" - resolved "https://registry.yarnpkg.com/@google-cloud/precise-date/-/precise-date-2.0.2.tgz#ac1d864b426f997e34ac466ce43d4f02eaeee286" - integrity sha512-eEnWN8vzy4Gji9dOlcr8rsX0Oz52eI6ZZZj0AIrUbqTXM8JFPqKzx53DpWIYuXW6c8AfiyY1txjOsg1cXvsoyQ== + version "2.0.4" + resolved "https://registry.yarnpkg.com/@google-cloud/precise-date/-/precise-date-2.0.4.tgz#930b0cbf557ef3a4bfeeb121cfc6da341212a2cb" + integrity sha512-nOB+mZdevI/1Si0QAfxWfzzIqFdc7wrO+DYePFvgbOoMtvX+XfFTINNt7e9Zg66AbDbWCPRnikU+6f5LTm9Wyg== "@google-cloud/projectify@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@google-cloud/projectify/-/projectify-2.0.0.tgz#0cf938ff97520c238e7279f8e3de3b04e63fff0b" - integrity sha512-7wZ+m4N3Imtb5afOPfqNFyj9cKrlfVQ+t5YRxLS7tUpn8Pn/i7QuVubZRTXllaWjO4T5t/gm/r2x7oy5ajjvFQ== + version "2.1.1" + resolved "https://registry.yarnpkg.com/@google-cloud/projectify/-/projectify-2.1.1.tgz#ae6af4fee02d78d044ae434699a630f8df0084ef" + integrity sha512-+rssMZHnlh0twl122gXY4/aCrk0G1acBqkHFfYddtsqpYXGxA29nj9V5V9SfC+GyOG00l650f6lG9KL+EpFEWQ== "@google-cloud/promisify@^2.0.0": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@google-cloud/promisify/-/promisify-2.0.1.tgz#79f722463a5779197267c6870362b1d7927081f7" - integrity sha512-82EQzwrNauw1fkbUSr3f+50Bcq7g4h0XvLOk8C5e9ABkXYHei7ZPi9tiMMD7Vh3SfcdH97d1ibJ3KBWp2o1J+w== - -"@google-cloud/pubsub@^2.1.0": - version "2.3.0" - resolved "https://registry.yarnpkg.com/@google-cloud/pubsub/-/pubsub-2.3.0.tgz#9d769c6f626c75876dd17cda401aefcceebf14ab" - integrity sha512-lWFwuzg+d7UN7YY6TGwIFPxiA2pFFHx1ApN0X5xIe0jtuUuF2iPaRNIJwZTOnvZ8xmOSpQqiaj/SwEDgr4b46A== - dependencies: - "@google-cloud/paginator" "^3.0.0" - "@google-cloud/precise-date" "^2.0.0" - "@google-cloud/projectify" "^2.0.0" - "@google-cloud/promisify" "^2.0.0" - "@types/duplexify" "^3.6.0" - "@types/long" "^4.0.0" - arrify "^2.0.0" - extend "^3.0.2" - google-auth-library "^6.0.0" - google-gax "^2.1.0" - is-stream-ended "^0.1.4" - lodash.snakecase "^4.1.1" - p-defer "^3.0.0" - protobufjs "^6.8.1" + version "2.0.4" + resolved "https://registry.yarnpkg.com/@google-cloud/promisify/-/promisify-2.0.4.tgz#9d8705ecb2baa41b6b2673f3a8e9b7b7e1abc52a" + integrity sha512-j8yRSSqswWi1QqUGKVEKOG03Q7qOoZP6/h2zN2YO+F5h2+DHU0bSrHCK9Y7lo2DI9fBd8qGAw795sf+3Jva4yA== -"@google-cloud/pubsub@^2.5.0": - version "2.5.0" - resolved "https://registry.yarnpkg.com/@google-cloud/pubsub/-/pubsub-2.5.0.tgz#6c696d9b448f2e1689be9a37ef0362ed173731fd" - integrity sha512-7bbbQqa+LSTopVjt20EZ8maO6rEpbO7v8EvDImHMsbRS30HJ5+kClbaQTRvhNzhc1qy221A1GbHPHMCQ/U5E3Q== +"@google-cloud/pubsub@^2.1.0", "@google-cloud/pubsub@^2.5.0": + version "2.19.4" + resolved "https://registry.yarnpkg.com/@google-cloud/pubsub/-/pubsub-2.19.4.tgz#6a52f2fe7458dc13064863024a4f9941567c0536" + integrity sha512-+aZxq6N5XGarQS3xGXjKSRFy4TB+3PMpI0CBmSrcC59g3TB5nmwps3pv/KkdLa0Cd+CPHDdfrEW1uSrGBMLICw== dependencies: - "@google-cloud/paginator" "^3.0.0" + "@google-cloud/paginator" "^3.0.6" "@google-cloud/precise-date" "^2.0.0" "@google-cloud/projectify" "^2.0.0" "@google-cloud/promisify" "^2.0.0" - "@opentelemetry/api" "^0.10.0" - "@opentelemetry/tracing" "^0.10.0" + "@opentelemetry/api" "^1.0.0" + "@opentelemetry/semantic-conventions" "^1.0.0" "@types/duplexify" "^3.6.0" "@types/long" "^4.0.0" arrify "^2.0.0" extend "^3.0.2" - google-auth-library "^6.0.0" - google-gax "^2.7.0" + google-auth-library "^7.0.0" + google-gax "2.30.3" is-stream-ended "^0.1.4" lodash.snakecase "^4.1.1" p-defer "^3.0.0" "@google-cloud/spanner@^5.2.1": - version "5.2.1" - resolved "https://registry.yarnpkg.com/@google-cloud/spanner/-/spanner-5.2.1.tgz#a974feb901934627b6ff5cd0f0f35d79b05d2acf" - integrity sha512-lgky4wCQf8KtTTE7wSOqkQ1VQPdgoStvXDL/GyfbYI8UlY9i5cXprP1AT1MW79IiuFtnLvIEmyrWP9JksQTYyA== + version "5.18.0" + resolved "https://registry.yarnpkg.com/@google-cloud/spanner/-/spanner-5.18.0.tgz#e33f0b055c835f920bfb894a4d07ffa7554178b9" + integrity sha512-KcfepoEuGsjqjeI8cVWfJ9yPdYJFPnpMzdZg3FX2W4MzNOzeNrJEB/EfD/epOOZ/fNhRlUTl+tLFN3WjVxcWlw== dependencies: "@google-cloud/common" "^3.0.0" "@google-cloud/precise-date" "^2.0.0" "@google-cloud/projectify" "^2.0.0" "@google-cloud/promisify" "^2.0.0" + "@types/big.js" "^6.0.0" "@types/stack-trace" "0.0.29" arrify "^2.0.0" + big.js "^6.0.0" checkpoint-stream "^0.1.1" events-intercept "^2.0.0" extend "^3.0.2" - google-auth-library "^6.0.0" - google-gax "^2.3.1" + google-auth-library "^7.0.0" + google-gax "^2.29.3" grpc-gcp "^0.3.2" is "^3.2.1" lodash.snakecase "^4.1.1" merge-stream "^2.0.0" p-queue "^6.0.2" - protobufjs "^6.8.6" + protobufjs "^6.10.1" split-array-stream "^2.0.0" stack-trace "0.0.10" stream-events "^1.0.4" through2 "^4.0.0" "@google-cloud/storage@^5.1.1": - version "5.1.1" - resolved "https://registry.yarnpkg.com/@google-cloud/storage/-/storage-5.1.1.tgz#2caaf4a25edbcde850df3931d62f3d0da69b0e99" - integrity sha512-w/64V+eJl+vpYUXT15sBcO8pX0KTmb9Ni2ZNuQQ8HmyhAbEA3//G8JFaLPCXGBWO2/b0OQZytUT6q2wII9a9aQ== + version "5.20.5" + resolved "https://registry.yarnpkg.com/@google-cloud/storage/-/storage-5.20.5.tgz#1de71fc88d37934a886bc815722c134b162d335d" + integrity sha512-lOs/dCyveVF8TkVFnFSF7IGd0CJrTm91qiK6JLu+Z8qiT+7Ag0RyVhxZIWkhiACqwABo7kSHDm8FdH8p2wxSSw== dependencies: - "@google-cloud/common" "^3.0.0" - "@google-cloud/paginator" "^3.0.0" + "@google-cloud/paginator" "^3.0.7" + "@google-cloud/projectify" "^2.0.0" "@google-cloud/promisify" "^2.0.0" + abort-controller "^3.0.0" arrify "^2.0.0" + async-retry "^1.3.3" compressible "^2.0.12" - concat-stream "^2.0.0" - date-and-time "^0.13.0" - duplexify "^3.5.0" + configstore "^5.0.0" + duplexify "^4.0.0" + ent "^2.2.0" extend "^3.0.2" - gaxios "^3.0.0" - gcs-resumable-upload "^3.0.0" + gaxios "^4.0.0" + google-auth-library "^7.14.1" hash-stream-validation "^0.2.2" - mime "^2.2.0" + mime "^3.0.0" mime-types "^2.0.8" - onetime "^5.1.0" p-limit "^3.0.1" pumpify "^2.0.0" - readable-stream "^3.4.0" - snakeize "^0.1.0" - stream-events "^1.0.1" - through2 "^3.0.0" + retry-request "^4.2.2" + stream-events "^1.0.4" + teeny-request "^7.1.3" + uuid "^8.0.0" xdg-basedir "^4.0.0" "@google-cloud/translate@^6.0.0", "@google-cloud/translate@^6.0.2": - version "6.0.2" - resolved "https://registry.yarnpkg.com/@google-cloud/translate/-/translate-6.0.2.tgz#609446658a41fa64b23f6db87fbf90da0503d8b6" - integrity sha512-gceg+GnUdTHKD/VH0hx69ZbQvaIqXPLPLUbEArXqIUpImWXJijcP1sL6whDG5a+Yo6FibmMlnYdNbwrrrGlCbg== + version "6.3.1" + resolved "https://registry.yarnpkg.com/@google-cloud/translate/-/translate-6.3.1.tgz#5777e6550f7d50c26dbf5bf15788912531054232" + integrity sha512-x6/NxMzhUA2ottO0RmRT5u/nhd9Yssond5b3RpgAe1Klb4TCuYep2lh9LUzpnWuCYhBCjh2/9lNkjTWj9kXLQg== dependencies: "@google-cloud/common" "^3.0.0" "@google-cloud/promisify" "^2.0.0" arrify "^2.0.0" extend "^3.0.2" - google-gax "^2.1.0" + google-gax "^2.24.1" is-html "^2.0.0" protobufjs "^6.8.8" -"@grpc/grpc-js@^1.1.1", "@grpc/grpc-js@~1.1.1": - version "1.1.5" - resolved "https://registry.yarnpkg.com/@grpc/grpc-js/-/grpc-js-1.1.5.tgz#2d0b261cd54a529f6b78ac0de9d6fd91a9a3129c" - integrity sha512-2huf5z85TdZI4nLmJQ9Zdfd+6vmIyBDs7B4L71bTaHKA9pRsGKAH24XaktMk/xneKJIqAgeIZtg1cyivVZtvrg== +"@grpc/grpc-js@^1.1.1", "@grpc/grpc-js@~1.6.0": + version "1.6.11" + resolved "https://registry.yarnpkg.com/@grpc/grpc-js/-/grpc-js-1.6.11.tgz#74c04cde0cde4e8a88ffc514bd9cd1bb307815b9" + integrity sha512-e/adiPjUxf5cKYiAlV4m+0jJS4k6g2w78X7WTZB3ISOBzcCwm+cwjB2dSRfBHbu46inGGzQMmWAmsgYLg8yT5g== dependencies: - "@grpc/proto-loader" "^0.6.0-pre14" - "@types/node" "^12.12.47" - google-auth-library "^6.0.0" - semver "^6.2.0" + "@grpc/proto-loader" "^0.7.0" + "@types/node" ">=12.12.47" -"@grpc/grpc-js@~1.0.0": - version "1.0.5" - resolved "https://registry.yarnpkg.com/@grpc/grpc-js/-/grpc-js-1.0.5.tgz#09948c0810e62828fdd61455b2eb13d7879888b0" - integrity sha512-Hm+xOiqAhcpT9RYM8lc15dbQD7aQurM7ZU8ulmulepiPlN7iwBXXwP3vSBUimoFoApRqz7pSIisXU8pZaCB4og== +"@grpc/proto-loader@0.6.9": + version "0.6.9" + resolved "https://registry.yarnpkg.com/@grpc/proto-loader/-/proto-loader-0.6.9.tgz#4014eef366da733f8e04a9ddd7376fe8a58547b7" + integrity sha512-UlcCS8VbsU9d3XTXGiEVFonN7hXk+oMXZtoHHG2oSA1/GcDP1q6OUgs20PzHDGizzyi8ufGSUDlk3O2NyY7leg== dependencies: - semver "^6.2.0" + "@types/long" "^4.0.1" + lodash.camelcase "^4.3.0" + long "^4.0.0" + protobufjs "^6.10.0" + yargs "^16.2.0" -"@grpc/proto-loader@^0.5.1": - version "0.5.4" - resolved "https://registry.yarnpkg.com/@grpc/proto-loader/-/proto-loader-0.5.4.tgz#038a3820540f621eeb1b05d81fbedfb045e14de0" - integrity sha512-HTM4QpI9B2XFkPz7pjwMyMgZchJ93TVkL3kWPW8GDMDKYxsMnmf4w2TNMJK7+KNiYHS5cJrCEAFlF+AwtXWVPA== +"@grpc/proto-loader@^0.6.12": + version "0.6.13" + resolved "https://registry.yarnpkg.com/@grpc/proto-loader/-/proto-loader-0.6.13.tgz#008f989b72a40c60c96cd4088522f09b05ac66bc" + integrity sha512-FjxPYDRTn6Ec3V0arm1FtSpmP6V50wuph2yILpyvTKzjc76oDdoihXqM1DzOW5ubvCC8GivfCnNtfaRE8myJ7g== dependencies: + "@types/long" "^4.0.1" lodash.camelcase "^4.3.0" - protobufjs "^6.8.6" + long "^4.0.0" + protobufjs "^6.11.3" + yargs "^16.2.0" -"@grpc/proto-loader@^0.6.0-pre14": - version "0.6.0-pre9" - resolved "https://registry.yarnpkg.com/@grpc/proto-loader/-/proto-loader-0.6.0-pre9.tgz#0c6fe42f6c5ef9ce1b3cef7be64d5b09d6fe4d6d" - integrity sha512-oM+LjpEjNzW5pNJjt4/hq1HYayNeQT+eGrOPABJnYHv7TyNPDNzkQ76rDYZF86X5swJOa4EujEMzQ9iiTdPgww== +"@grpc/proto-loader@^0.7.0": + version "0.7.2" + resolved "https://registry.yarnpkg.com/@grpc/proto-loader/-/proto-loader-0.7.2.tgz#fa63178853afe1473c50cff89fe572f7c8b20154" + integrity sha512-jCdyLIT/tdQ1zhrbTQnJNK5nbDf0GoBpy5jVNywBzzMDF+Vs6uEaHnfz46dMtDxkvwrF2hzk5Z67goliceH0sA== dependencies: "@types/long" "^4.0.1" lodash.camelcase "^4.3.0" long "^4.0.0" - protobufjs "^6.9.0" - yargs "^15.3.1" + protobufjs "^7.0.0" + yargs "^16.2.0" -"@humanwhocodes/config-array@^0.9.2": - version "0.9.5" - resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.9.5.tgz#2cbaf9a89460da24b5ca6531b8bbfc23e1df50c7" - integrity sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw== +"@humanwhocodes/config-array@^0.10.4": + version "0.10.4" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.10.4.tgz#01e7366e57d2ad104feea63e72248f22015c520c" + integrity sha512-mXAIHxZT3Vcpg83opl1wGlVZ9xydbfZO3r5YfRSH6Gpp2J/PfdBP0wbDa2sO6/qRbcalpoevVyW6A/fI6LfeMw== dependencies: "@humanwhocodes/object-schema" "^1.2.1" debug "^4.1.1" minimatch "^3.0.4" +"@humanwhocodes/gitignore-to-minimatch@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@humanwhocodes/gitignore-to-minimatch/-/gitignore-to-minimatch-1.0.2.tgz#316b0a63b91c10e53f242efb4ace5c3b34e8728d" + integrity sha512-rSqmMJDdLFUsyxR6FMtD00nfQKKLFb1kv+qBbOVKqErvloEIJLo5bDTJTQNTYgeyp78JsA7u/NPi5jT1GR/MuA== + +"@humanwhocodes/module-importer@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" + integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== + "@humanwhocodes/object-schema@^1.2.1": version "1.2.1" resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== +"@istanbuljs/schema@^0.1.2", "@istanbuljs/schema@^0.1.3": + version "0.1.3" + resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" + integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== + +"@jridgewell/gen-mapping@^0.1.0": + version "0.1.1" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz#e5d2e450306a9491e3bd77e323e38d7aff315996" + integrity sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w== + dependencies: + "@jridgewell/set-array" "^1.0.0" + "@jridgewell/sourcemap-codec" "^1.4.10" + +"@jridgewell/gen-mapping@^0.3.2": + version "0.3.2" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz#c1aedc61e853f2bb9f5dfe6d4442d3b565b253b9" + integrity sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A== + dependencies: + "@jridgewell/set-array" "^1.0.1" + "@jridgewell/sourcemap-codec" "^1.4.10" + "@jridgewell/trace-mapping" "^0.3.9" + +"@jridgewell/resolve-uri@^3.0.3": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78" + integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== + +"@jridgewell/set-array@^1.0.0", "@jridgewell/set-array@^1.0.1": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" + integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== + +"@jridgewell/sourcemap-codec@^1.4.10": + version "1.4.14" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24" + integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== + +"@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.9": + version "0.3.15" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.15.tgz#aba35c48a38d3fd84b37e66c9c0423f9744f9774" + integrity sha512-oWZNOULl+UbhsgB51uuZzglikfIKSUBO/M9W2OfEjn7cmqoAiCgmv9lyACTUacZwBz0ITnJ2NqjU8Tx0DHL88g== + dependencies: + "@jridgewell/resolve-uri" "^3.0.3" + "@jridgewell/sourcemap-codec" "^1.4.10" + "@lerna/add@3.21.0": version "3.21.0" resolved "https://registry.yarnpkg.com/@lerna/add/-/add-3.21.0.tgz#27007bde71cc7b0a2969ab3c2f0ae41578b4577b" @@ -1489,20 +1644,25 @@ fastq "^1.6.0" "@octokit/auth-token@^2.4.0": - version "2.4.2" - resolved "https://registry.yarnpkg.com/@octokit/auth-token/-/auth-token-2.4.2.tgz#10d0ae979b100fa6b72fa0e8e63e27e6d0dbff8a" - integrity sha512-jE/lE/IKIz2v1+/P0u4fJqv0kYwXOTujKemJMFr6FeopsxlIK3+wKDCJGnysg81XID5TgZQbIfuJ5J0lnTiuyQ== + version "2.5.0" + resolved "https://registry.yarnpkg.com/@octokit/auth-token/-/auth-token-2.5.0.tgz#27c37ea26c205f28443402477ffd261311f21e36" + integrity sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g== dependencies: - "@octokit/types" "^5.0.0" + "@octokit/types" "^6.0.3" "@octokit/endpoint@^6.0.1": - version "6.0.3" - resolved "https://registry.yarnpkg.com/@octokit/endpoint/-/endpoint-6.0.3.tgz#dd09b599662d7e1b66374a177ab620d8cdf73487" - integrity sha512-Y900+r0gIz+cWp6ytnkibbD95ucEzDSKzlEnaWS52hbCDNcCJYO5mRmWW7HRAnDc7am+N/5Lnd8MppSaTYx1Yg== + version "6.0.12" + resolved "https://registry.yarnpkg.com/@octokit/endpoint/-/endpoint-6.0.12.tgz#3b4d47a4b0e79b1027fb8d75d4221928b2d05658" + integrity sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA== dependencies: - "@octokit/types" "^5.0.0" - is-plain-object "^3.0.0" - universal-user-agent "^5.0.0" + "@octokit/types" "^6.0.3" + is-plain-object "^5.0.0" + universal-user-agent "^6.0.0" + +"@octokit/openapi-types@^12.11.0": + version "12.11.0" + resolved "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-12.11.0.tgz#da5638d64f2b919bca89ce6602d059f1b52d3ef0" + integrity sha512-VsXyi8peyRq9PqIz/tpqiL2w3w80OgVMwBHltTml3LmVvXiphgeqmY9mvBw9Wu7e0QWk/fqD37ux8yP5uVekyQ== "@octokit/plugin-enterprise-rest@^6.0.1": version "6.0.1" @@ -1517,9 +1677,9 @@ "@octokit/types" "^2.0.1" "@octokit/plugin-request-log@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@octokit/plugin-request-log/-/plugin-request-log-1.0.0.tgz#eef87a431300f6148c39a7f75f8cfeb218b2547e" - integrity sha512-ywoxP68aOT3zHCLgWZgwUJatiENeHE7xJzYjfz8WI0goynp96wETBF+d95b8g/uL4QmS6owPVlaxiz3wyMAzcw== + version "1.0.4" + resolved "https://registry.yarnpkg.com/@octokit/plugin-request-log/-/plugin-request-log-1.0.4.tgz#5e50ed7083a613816b1e4a28aeec5fb7f1462e85" + integrity sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA== "@octokit/plugin-rest-endpoint-methods@2.4.0": version "2.4.0" @@ -1538,28 +1698,26 @@ deprecation "^2.0.0" once "^1.4.0" -"@octokit/request-error@^2.0.0": - version "2.0.2" - resolved "https://registry.yarnpkg.com/@octokit/request-error/-/request-error-2.0.2.tgz#0e76b83f5d8fdda1db99027ea5f617c2e6ba9ed0" - integrity sha512-2BrmnvVSV1MXQvEkrb9zwzP0wXFNbPJij922kYBTLIlIafukrGOb+ABBT2+c6wZiuyWDH1K1zmjGQ0toN/wMWw== +"@octokit/request-error@^2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@octokit/request-error/-/request-error-2.1.0.tgz#9e150357831bfc788d13a4fd4b1913d60c74d677" + integrity sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg== dependencies: - "@octokit/types" "^5.0.1" + "@octokit/types" "^6.0.3" deprecation "^2.0.0" once "^1.4.0" "@octokit/request@^5.2.0": - version "5.4.5" - resolved "https://registry.yarnpkg.com/@octokit/request/-/request-5.4.5.tgz#8df65bd812047521f7e9db6ff118c06ba84ac10b" - integrity sha512-atAs5GAGbZedvJXXdjtKljin+e2SltEs48B3naJjqWupYl2IUBbB/CJisyjbNHcKpHzb3E+OYEZ46G8eakXgQg== + version "5.6.3" + resolved "https://registry.yarnpkg.com/@octokit/request/-/request-5.6.3.tgz#19a022515a5bba965ac06c9d1334514eb50c48b0" + integrity sha512-bFJl0I1KVc9jYTe9tdGGpAMPy32dLBXXo1dS/YwSCTL/2nd9XeHsY616RE3HPXDVk+a+dBuzyz5YdlXwcDTr2A== dependencies: "@octokit/endpoint" "^6.0.1" - "@octokit/request-error" "^2.0.0" - "@octokit/types" "^5.0.0" - deprecation "^2.0.0" - is-plain-object "^3.0.0" - node-fetch "^2.3.0" - once "^1.4.0" - universal-user-agent "^5.0.0" + "@octokit/request-error" "^2.1.0" + "@octokit/types" "^6.16.1" + is-plain-object "^5.0.0" + node-fetch "^2.6.7" + universal-user-agent "^6.0.0" "@octokit/rest@^16.28.4": version "16.43.2" @@ -1590,57 +1748,27 @@ dependencies: "@types/node" ">= 8" -"@octokit/types@^5.0.0", "@octokit/types@^5.0.1": - version "5.0.1" - resolved "https://registry.yarnpkg.com/@octokit/types/-/types-5.0.1.tgz#5459e9a5e9df8565dcc62c17a34491904d71971e" - integrity sha512-GorvORVwp244fGKEt3cgt/P+M0MGy4xEDbckw+K5ojEezxyMDgCaYPKVct+/eWQfZXOT7uq0xRpmrl/+hliabA== - dependencies: - "@types/node" ">= 8" - -"@opentelemetry/api@^0.10.0", "@opentelemetry/api@^0.10.2": - version "0.10.2" - resolved "https://registry.yarnpkg.com/@opentelemetry/api/-/api-0.10.2.tgz#9647b881f3e1654089ff7ea59d587b2d35060654" - integrity sha512-GtpMGd6vkzDMYcpu2t9LlhEgMy/SzBwRnz48EejlRArYqZzqSzAsKmegUK7zHgl+EOIaK9mKHhnRaQu3qw20cA== +"@octokit/types@^6.0.3", "@octokit/types@^6.16.1": + version "6.41.0" + resolved "https://registry.yarnpkg.com/@octokit/types/-/types-6.41.0.tgz#e58ef78d78596d2fb7df9c6259802464b5f84a04" + integrity sha512-eJ2jbzjdijiL3B4PrSQaSjuF2sPEQPVCPzBvTHJD9Nz+9dw2SGH4K4xeQJ77YfTq5bRQ+bD8wT11JbeDPmxmGg== dependencies: - "@opentelemetry/context-base" "^0.10.2" + "@octokit/openapi-types" "^12.11.0" -"@opentelemetry/context-base@^0.10.2": - version "0.10.2" - resolved "https://registry.yarnpkg.com/@opentelemetry/context-base/-/context-base-0.10.2.tgz#55bea904b2b91aa8a8675df9eaba5961bddb1def" - integrity sha512-hZNKjKOYsckoOEgBziGMnBcX0M7EtstnCmwz5jZUOUYwlZ+/xxX6z3jPu1XVO2Jivk0eLfuP9GP+vFD49CMetw== - -"@opentelemetry/core@^0.10.2": - version "0.10.2" - resolved "https://registry.yarnpkg.com/@opentelemetry/core/-/core-0.10.2.tgz#86b9e94bbcaf8e07bb86e8205aa1d53af854e7de" - integrity sha512-DhkiTp5eje2zTGd+HAIKWpGE6IR6lq7tUpYt4nnkhOi6Hq9WQAANVDCWEZEbYOw57LkdXbE50FZ/kMvHDm450Q== - dependencies: - "@opentelemetry/api" "^0.10.2" - "@opentelemetry/context-base" "^0.10.2" - semver "^7.1.3" - -"@opentelemetry/resources@^0.10.2": - version "0.10.2" - resolved "https://registry.yarnpkg.com/@opentelemetry/resources/-/resources-0.10.2.tgz#6e291d525450359c615aac013fd977047f2c26d7" - integrity sha512-5JGC2TPSAIHth615IURt+sSsTljY43zTfJD0JE9PHC6ipZPiQ0dpQDZOrLn8NAMfOHY1jeWwpIuLASjqbXUfuw== - dependencies: - "@opentelemetry/api" "^0.10.2" - "@opentelemetry/core" "^0.10.2" - gcp-metadata "^3.5.0" +"@opentelemetry/api@^1.0.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/api/-/api-1.1.0.tgz#563539048255bbe1a5f4f586a4a10a1bb737f44a" + integrity sha512-hf+3bwuBwtXsugA2ULBc95qxrOqP2pOekLz34BJhcAKawt94vfeNyUKpYc0lZQ/3sCP6LqRa7UAdHA7i5UODzQ== -"@opentelemetry/tracing@^0.10.0": - version "0.10.2" - resolved "https://registry.yarnpkg.com/@opentelemetry/tracing/-/tracing-0.10.2.tgz#384779a6e1be988200cc316a97030d95bd8f2129" - integrity sha512-mNAhARn4dEdOjTa9OdysjI4fRHMbvr4YSbPuH7jhkyPzgoa+DnvnbY3GGpEay6kpuYJsrW8Ef9OIKAV/GndhbQ== - dependencies: - "@opentelemetry/api" "^0.10.2" - "@opentelemetry/context-base" "^0.10.2" - "@opentelemetry/core" "^0.10.2" - "@opentelemetry/resources" "^0.10.2" +"@opentelemetry/semantic-conventions@^1.0.0": + version "1.6.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/semantic-conventions/-/semantic-conventions-1.6.0.tgz#ed410c9eb0070491cff9fe914246ce41f88d6f74" + integrity sha512-aPfcBeLErM/PPiAuAbNFLN5sNbZLc3KZlar27uohllN8Zs6jJbHyJU1y7cMA6W/zuq+thkaG8mujiS+3iD/FWQ== "@protobufjs/aspromise@^1.1.1", "@protobufjs/aspromise@^1.1.2": version "1.1.2" resolved "https://registry.yarnpkg.com/@protobufjs/aspromise/-/aspromise-1.1.2.tgz#9b8b0cc663d669a7d8f6f5d0893a14d348f30fbf" - integrity sha1-m4sMxmPWaafY9vXQiToU00jzD78= + integrity sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ== "@protobufjs/base64@^1.1.2": version "1.1.2" @@ -1655,12 +1783,12 @@ "@protobufjs/eventemitter@^1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz#355cbc98bafad5978f9ed095f397621f1d066b70" - integrity sha1-NVy8mLr61ZePntCV85diHx0Ga3A= + integrity sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q== "@protobufjs/fetch@^1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@protobufjs/fetch/-/fetch-1.1.0.tgz#ba99fb598614af65700c1619ff06d454b0d84c45" - integrity sha1-upn7WYYUr2VwDBYZ/wbUVLDYTEU= + integrity sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ== dependencies: "@protobufjs/aspromise" "^1.1.1" "@protobufjs/inquire" "^1.1.0" @@ -1668,37 +1796,37 @@ "@protobufjs/float@^1.0.2": version "1.0.2" resolved "https://registry.yarnpkg.com/@protobufjs/float/-/float-1.0.2.tgz#5e9e1abdcb73fc0a7cb8b291df78c8cbd97b87d1" - integrity sha1-Xp4avctz/Ap8uLKR33jIy9l7h9E= + integrity sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ== "@protobufjs/inquire@^1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@protobufjs/inquire/-/inquire-1.1.0.tgz#ff200e3e7cf2429e2dcafc1140828e8cc638f089" - integrity sha1-/yAOPnzyQp4tyvwRQIKOjMY48Ik= + integrity sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q== "@protobufjs/path@^1.1.2": version "1.1.2" resolved "https://registry.yarnpkg.com/@protobufjs/path/-/path-1.1.2.tgz#6cc2b20c5c9ad6ad0dccfd21ca7673d8d7fbf68d" - integrity sha1-bMKyDFya1q0NzP0hynZz2Nf79o0= + integrity sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA== "@protobufjs/pool@^1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@protobufjs/pool/-/pool-1.1.0.tgz#09fd15f2d6d3abfa9b65bc366506d6ad7846ff54" - integrity sha1-Cf0V8tbTq/qbZbw2ZQbWrXhG/1Q= + integrity sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw== "@protobufjs/utf8@^1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@protobufjs/utf8/-/utf8-1.1.0.tgz#a777360b5b39a1a2e5106f8e858f2fd2d060c570" - integrity sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA= + integrity sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw== "@sindresorhus/is@^4.0.0": - version "4.0.1" - resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-4.0.1.tgz#d26729db850fa327b7cacc5522252194404226f5" - integrity sha512-Qm9hBEBu18wt1PO2flE7LPb30BHMQt1eQgbV76YntdNk73XZGpn3izvGTYxbGgzXKgbCjiia0uxTd3aTNQrY/g== + version "4.6.0" + resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-4.6.0.tgz#3c7c9c46e678feefe7a2e5bb609d3dbd665ffb3f" + integrity sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw== "@szmarczak/http-timer@^4.0.5": - version "4.0.5" - resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-4.0.5.tgz#bfbd50211e9dfa51ba07da58a14cdfd333205152" - integrity sha512-PyRA9sm1Yayuj5OIoJ1hGt2YISX45w9WcFbh6ddT0Z/0yaFxOtGLInr4jUfU1EAFVs0Yfyfev4RNwBlUaHdlDQ== + version "4.0.6" + resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-4.0.6.tgz#b4a914bb62e7c272d4e5989fe4440f812ab1d807" + integrity sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w== dependencies: defer-to-connect "^2.0.0" @@ -1707,22 +1835,32 @@ resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw== +"@tootallnate/once@2": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-2.0.0.tgz#f544a148d3ab35801c1f633a7441fd87c2e484bf" + integrity sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A== + "@types/babel-types@*", "@types/babel-types@^7.0.0": - version "7.0.8" - resolved "https://registry.yarnpkg.com/@types/babel-types/-/babel-types-7.0.8.tgz#267f405bda841ffae731e7714166b88254cc3e19" - integrity sha512-jvu8g4LR7+p6ao30RhTREnEhHxmP4/R9D9/rOR/Kq14FztORty9SKgtOZUNZNMB9CXLxZ54EWu4dArUE8WdTsw== + version "7.0.11" + resolved "https://registry.yarnpkg.com/@types/babel-types/-/babel-types-7.0.11.tgz#263b113fa396fac4373188d73225297fb86f19a9" + integrity sha512-pkPtJUUY+Vwv6B1inAz55rQvivClHJxc9aVEPPmaq2cbyeMLCiDpbKpcKyX4LAwpNGi+SHBv0tHv6+0gXv0P2A== "@types/babylon@^6.16.2": - version "6.16.5" - resolved "https://registry.yarnpkg.com/@types/babylon/-/babylon-6.16.5.tgz#1c5641db69eb8cdf378edd25b4be7754beeb48b4" - integrity sha512-xH2e58elpj1X4ynnKp9qSnWlsRTIs6n3tgLGNfwAGHwePw0mulHQllV34n0T25uYSu1k0hRKkWXF890B1yS47w== + version "6.16.6" + resolved "https://registry.yarnpkg.com/@types/babylon/-/babylon-6.16.6.tgz#a1e7e01567b26a5ebad321a74d10299189d8d932" + integrity sha512-G4yqdVlhr6YhzLXFKy5F7HtRBU8Y23+iWy7UKthMq/OSQnL1hbsoeXESQ2LY8zEDlknipDG3nRGhUC9tkwvy/w== dependencies: "@types/babel-types" "*" +"@types/big.js@^6.0.0": + version "6.1.5" + resolved "https://registry.yarnpkg.com/@types/big.js/-/big.js-6.1.5.tgz#ff06b43a4c0c4002522e0fd7fc28bb963722ab01" + integrity sha512-UiWyJ6TLWoHeHZ8VUyngzCOwJDVxTsPnqfAMR/85X93rkRk5A4T2U42BCx0wCmZdtMHGHN/utJ8ft5xWu0V1bA== + "@types/cacheable-request@^6.0.1": - version "6.0.1" - resolved "https://registry.yarnpkg.com/@types/cacheable-request/-/cacheable-request-6.0.1.tgz#5d22f3dded1fd3a84c0bbeb5039a7419c2c91976" - integrity sha512-ykFq2zmBGOCbpIXtoVbz4SKY5QriWPh3AjyU4G74RYbtt5yOc5OfaY75ftjg7mikMOla1CTGpX3lLbuJh8DTrQ== + version "6.0.2" + resolved "https://registry.yarnpkg.com/@types/cacheable-request/-/cacheable-request-6.0.2.tgz#c324da0197de0a98a2312156536ae262429ff6b9" + integrity sha512-B3xVo+dlKM6nnKTcmm5ZtY/OL8bOAOd2Olee9M1zft65ox50OzjEHW91sDiU9j6cvW8Ejg1/Qkf4xd2kugApUA== dependencies: "@types/http-cache-semantics" "*" "@types/keyv" "*" @@ -1730,34 +1868,39 @@ "@types/responselike" "*" "@types/chai@^4.2.12": - version "4.2.12" - resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.2.12.tgz#6160ae454cd89dae05adc3bb97997f488b608201" - integrity sha512-aN5IAC8QNtSUdQzxu7lGBgYAOuU1tmRU4c9dIq5OKGf/SBVjXo+ffM2wEjudAWbgpOhy60nLoAGH1xm8fpCKFQ== - -"@types/color-name@^1.1.1": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0" - integrity sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ== + version "4.3.3" + resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.3.3.tgz#3c90752792660c4b562ad73b3fbd68bf3bc7ae07" + integrity sha512-hC7OMnszpxhZPduX+m+nrx+uFoLkWOMiR4oa/AZF3MuSETYTZmFfJAHqZEM8MVlvfG7BEUcgvtwoCTxBp6hm3g== "@types/duplexify@*", "@types/duplexify@^3.6.0": - version "3.6.0" - resolved "https://registry.yarnpkg.com/@types/duplexify/-/duplexify-3.6.0.tgz#dfc82b64bd3a2168f5bd26444af165bf0237dcd8" - integrity sha512-5zOA53RUlzN74bvrSGwjudssD9F3a797sDZQkiYpUOxW+WHaXTCPz4/d5Dgi6FKnOqZ2CpaTo0DhgIfsXAOE/A== + version "3.6.1" + resolved "https://registry.yarnpkg.com/@types/duplexify/-/duplexify-3.6.1.tgz#5685721cf7dc4a21b6f0e8a8efbec6b4d2fbafad" + integrity sha512-n0zoEj/fMdMOvqbHxmqnza/kXyoGgJmEpsXjpP+gEqE1Ye4yNqc7xWipKnUoMpWhMuzJQSfK2gMrwlElly7OGQ== dependencies: "@types/node" "*" "@types/glob@^7.1.1": - version "7.1.2" - resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.1.2.tgz#06ca26521353a545d94a0adc74f38a59d232c987" - integrity sha512-VgNIkxK+j7Nz5P7jvUZlRvhuPSmsEfS03b0alKcq5V/STUKAa3Plemsn5mrQUO7am6OErJ4rhGEGJbACclrtRA== + version "7.2.0" + resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.2.0.tgz#bc1b5bf3aa92f25bd5dd39f35c57361bdce5b2eb" + integrity sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA== dependencies: "@types/minimatch" "*" "@types/node" "*" "@types/http-cache-semantics@*": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@types/http-cache-semantics/-/http-cache-semantics-4.0.0.tgz#9140779736aa2655635ee756e2467d787cfe8a2a" - integrity sha512-c3Xy026kOF7QOTn00hbIllV1dLR9hG9NkSrLQgCVs8NF6sBU+VGWjD3wLPhmh1TYAc7ugCFsvHYMN4VcBN1U1A== + version "4.0.1" + resolved "https://registry.yarnpkg.com/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz#0ea7b61496902b95890dc4c3a116b60cb8dae812" + integrity sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ== + +"@types/istanbul-lib-coverage@^2.0.1": + version "2.0.4" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz#8467d4b3c087805d63580480890791277ce35c44" + integrity sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g== + +"@types/json-buffer@~3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@types/json-buffer/-/json-buffer-3.0.0.tgz#85c1ff0f0948fc159810d4b5be35bf8c20875f64" + integrity sha512-3YP80IxxFJB4b5tYC2SUPwkg0XQLiu0nWvhRgEatgjf+29IcWO9X1k8xRv5DGssJ/lCrjYTjQPcobJr2yWIVuQ== "@types/json-schema@^7.0.9": version "7.0.11" @@ -1765,69 +1908,74 @@ integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ== "@types/keyv@*": - version "3.1.1" - resolved "https://registry.yarnpkg.com/@types/keyv/-/keyv-3.1.1.tgz#e45a45324fca9dab716ab1230ee249c9fb52cfa7" - integrity sha512-MPtoySlAZQ37VoLaPcTHCu1RWJ4llDkULYZIzOYxlhxBqYPB0RsRlmMU0R6tahtFe27mIdkHV+551ZWV4PLmVw== + version "3.1.4" + resolved "https://registry.yarnpkg.com/@types/keyv/-/keyv-3.1.4.tgz#3ccdb1c6751b0c7e52300bcdacd5bcbf8faa75b6" + integrity sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg== dependencies: "@types/node" "*" +"@types/linkify-it@*": + version "3.0.2" + resolved "https://registry.yarnpkg.com/@types/linkify-it/-/linkify-it-3.0.2.tgz#fd2cd2edbaa7eaac7e7f3c1748b52a19143846c9" + integrity sha512-HZQYqbiFVWufzCwexrvh694SOim8z2d+xJl5UNamcvQFejLY/2YUtzXHYi3cHdI7PMlS8ejH2slRAOJQ32aNbA== + "@types/lodash@^4.14.158": - version "4.14.158" - resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.158.tgz#b38ea8b6fe799acd076d7a8d7ab71c26ef77f785" - integrity sha512-InCEXJNTv/59yO4VSfuvNrZHt7eeNtWQEgnieIA+mIC+MOWM9arOWG2eQ8Vhk6NbOre6/BidiXhkZYeDY9U35w== + version "4.14.184" + resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.184.tgz#23f96cd2a21a28e106dc24d825d4aa966de7a9fe" + integrity sha512-RoZphVtHbxPZizt4IcILciSWiC6dcn+eZ8oX9IWEYfDMcocdd42f7NPI6fQj+6zI8y4E0L7gu2pcZKLGTRaV9Q== "@types/long@^4.0.0", "@types/long@^4.0.1": - version "4.0.1" - resolved "https://registry.yarnpkg.com/@types/long/-/long-4.0.1.tgz#459c65fa1867dafe6a8f322c4c51695663cc55e9" - integrity sha512-5tXH6Bx/kNGd3MgffdmP4dy2Z+G4eaXw0SE81Tq3BNadtnMR5/ySMzX4SLEzHJzSmPNn4HIdpQsBvXMUykr58w== + version "4.0.2" + resolved "https://registry.yarnpkg.com/@types/long/-/long-4.0.2.tgz#b74129719fc8d11c01868010082d483b7545591a" + integrity sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA== + +"@types/markdown-it@^12.2.3": + version "12.2.3" + resolved "https://registry.yarnpkg.com/@types/markdown-it/-/markdown-it-12.2.3.tgz#0d6f6e5e413f8daaa26522904597be3d6cd93b51" + integrity sha512-GKMHFfv3458yYy+v/N8gjufHO6MSZKCOXpZc5GXIWWy8uldwfmPn98vp81gZ5f9SVw8YYBctgfJ22a2d7AOMeQ== + dependencies: + "@types/linkify-it" "*" + "@types/mdurl" "*" + +"@types/mdurl@*": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@types/mdurl/-/mdurl-1.0.2.tgz#e2ce9d83a613bacf284c7be7d491945e39e1f8e9" + integrity sha512-eC4U9MlIcu2q0KQmXszyn5Akca/0jrQmwDRgpAMJai7qBWq4amIQhZyNau4VYGtCeALvW1/NtjzJJ567aZxfKA== "@types/minimatch@*": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d" - integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA== + version "5.1.0" + resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-5.1.0.tgz#c3018161691376002f8a22ebb87f341e0dba3219" + integrity sha512-0RJHq5FqDWo17kdHe+SMDJLfxmLaqHbWnqZ6gNKzDvStUlrmx/eKIY17+ifLS1yybo7X86aUshQMlittDOVNnw== "@types/minimist@^1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.0.tgz#69a23a3ad29caf0097f06eda59b361ee2f0639f6" - integrity sha1-aaI6OtKcrwCX8G7aWbNh7i8GOfY= + version "1.2.2" + resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.2.tgz#ee771e2ba4b3dc5b372935d549fd9617bf345b8c" + integrity sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ== "@types/mocha@^8.0.0": - version "8.0.0" - resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-8.0.0.tgz#b0ba1c5b4cb3880c51a6b488ad007a657d1be888" - integrity sha512-jWeYcTo3sCH/rMgsdYXDTO85GNRyTCII5dayMIu/ZO4zbEot1E3iNGaOwpLReLUHjeNQFkgeNNVYlY4dX6azQQ== - -"@types/node-fetch@^2.3.7": - version "2.5.7" - resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.5.7.tgz#20a2afffa882ab04d44ca786449a276f9f6bbf3c" - integrity sha512-o2WVNf5UhWRkxlf6eq+jMZDu7kjgpgJfl4xVNlvryc95O/6F2ld8ztKX+qu+Rjyet93WAWm5LjeX9H5FGkODvw== - dependencies: - "@types/node" "*" - form-data "^3.0.0" - -"@types/node@*", "@types/node@>= 8", "@types/node@^14.0.6": - version "14.0.14" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.0.14.tgz#24a0b5959f16ac141aeb0c5b3cd7a15b7c64cbce" - integrity sha512-syUgf67ZQpaJj01/tRTknkMNoBBLWJOBODF0Zm4NrXmiSuxjymFrxnTu1QVYRubhVkRcZLYZG8STTwJRdVm/WQ== + version "8.2.3" + resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-8.2.3.tgz#bbeb55fbc73f28ea6de601fbfa4613f58d785323" + integrity sha512-ekGvFhFgrc2zYQoX4JeZPmVzZxw6Dtllga7iGHzfbYIYkAMUx/sAFP2GdFpLff+vdHXu5fl7WX9AT+TtqYcsyw== -"@types/node@^12.12.47": - version "12.12.54" - resolved "https://registry.yarnpkg.com/@types/node/-/node-12.12.54.tgz#a4b58d8df3a4677b6c08bfbc94b7ad7a7a5f82d1" - integrity sha512-ge4xZ3vSBornVYlDnk7yZ0gK6ChHf/CHB7Gl1I0Jhah8DDnEQqBzgohYG4FX4p81TNirSETOiSyn+y1r9/IR6w== +"@types/node@*", "@types/node@>= 8", "@types/node@>=12.12.47", "@types/node@>=13.7.0": + version "18.7.13" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.7.13.tgz#23e6c5168333480d454243378b69e861ab5c011a" + integrity sha512-46yIhxSe5xEaJZXWdIBP7GU4HDTG8/eo0qd9atdiL+lFpA03y8KS+lkTN834TWJj5767GbWv4n/P6efyTFt1Dw== -"@types/node@^13.7.0": - version "13.13.12" - resolved "https://registry.yarnpkg.com/@types/node/-/node-13.13.12.tgz#9c72e865380a7dc99999ea0ef20fc9635b503d20" - integrity sha512-zWz/8NEPxoXNT9YyF2osqyA9WjssZukYpgI4UYZpOjcyqwIUqWGkcCionaEb9Ki+FULyPyvNFpg/329Kd2/pbw== +"@types/node@^12.0.2": + version "12.20.55" + resolved "https://registry.yarnpkg.com/@types/node/-/node-12.20.55.tgz#c329cbd434c42164f846b909bd6f85b5537f6240" + integrity sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ== -"@types/node@^8.0.47": - version "8.10.61" - resolved "https://registry.yarnpkg.com/@types/node/-/node-8.10.61.tgz#d299136ce54bcaf1abaa4a487f9e4bedf6b0d393" - integrity sha512-l+zSbvT8TPRaCxL1l9cwHCb0tSqGAGcjPJFItGGYat5oCTiq1uQQKYg5m7AF1mgnEBzFXGLJ2LRmNjtreRX76Q== +"@types/node@^14", "@types/node@^14.0.6": + version "14.18.26" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.18.26.tgz#239e19f8b4ea1a9eb710528061c1d733dc561996" + integrity sha512-0b+utRBSYj8L7XAp0d+DX7lI4cSmowNaaTkk6/1SKzbKkG+doLuPusB9EOvzLJ8ahJSk03bTLIL6cWaEd4dBKA== "@types/normalize-package-data@^2.4.0": - version "2.4.0" - resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz#e486d0d97396d79beedd0a6e33f4534ff6b4973e" - integrity sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA== + version "2.4.1" + resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz#d3357479a0fdfdd5907fe67e17e0a85c906e1301" + integrity sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw== "@types/parse-json@^4.0.0": version "4.0.0" @@ -1854,99 +2002,102 @@ resolved "https://registry.yarnpkg.com/@types/stack-trace/-/stack-trace-0.0.29.tgz#eb7a7c60098edb35630ed900742a5ecb20cfcb4d" integrity sha512-TgfOX+mGY/NyNxJLIbDWrO9DjGoVSW9+aB8H2yy1fy32jsvxijhmyJI9fDFgvz3YP4lvJaq9DzdR/M1bOgVc9g== -"@types/tunnel@0.0.0": - version "0.0.0" - resolved "https://registry.yarnpkg.com/@types/tunnel/-/tunnel-0.0.0.tgz#c2a42943ee63c90652a5557b8c4e56cda77f944e" - integrity sha512-FGDp0iBRiBdPjOgjJmn1NH0KDLN+Z8fRmo+9J7XGBhubq1DPrGrbmG4UTlGzrpbCpesMqD0sWkzi27EYkOMHyg== - dependencies: - "@types/node" "*" - -"@types/tunnel@0.0.1": - version "0.0.1" - resolved "https://registry.yarnpkg.com/@types/tunnel/-/tunnel-0.0.1.tgz#0d72774768b73df26f25df9184273a42da72b19c" - integrity sha512-AOqu6bQu5MSWwYvehMXLukFHnupHrpZ8nvgae5Ggie9UwzDR1CCwoXgSSWNZJuyOlCdfdsWMA5F2LlmvyoTv8A== +"@types/xml2js@^0.4.5": + version "0.4.11" + resolved "https://registry.yarnpkg.com/@types/xml2js/-/xml2js-0.4.11.tgz#bf46a84ecc12c41159a7bd9cf51ae84129af0e79" + integrity sha512-JdigeAKmCyoJUiQljjr7tQG3if9NkqGUgwEUqBvV0N7LM4HyQk7UXCnusRa1lnvXAEYJ8mw8GtZWioagNztOwA== dependencies: "@types/node" "*" "@typescript-eslint/eslint-plugin@^5.19.0": - version "5.19.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.19.0.tgz#9608a4b6d0427104bccf132f058cba629a6553c0" - integrity sha512-w59GpFqDYGnWFim9p6TGJz7a3qWeENJuAKCqjGSx+Hq/bwq3RZwXYqy98KIfN85yDqz9mq6QXiY5h0FjGQLyEg== - dependencies: - "@typescript-eslint/scope-manager" "5.19.0" - "@typescript-eslint/type-utils" "5.19.0" - "@typescript-eslint/utils" "5.19.0" - debug "^4.3.2" + version "5.35.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.35.1.tgz#0d822bfea7469904dfc1bb8f13cabd362b967c93" + integrity sha512-RBZZXZlI4XCY4Wzgy64vB+0slT9+yAPQRjj/HSaRwUot33xbDjF1oN9BLwOLTewoOI0jothIltZRe9uJCHf8gg== + dependencies: + "@typescript-eslint/scope-manager" "5.35.1" + "@typescript-eslint/type-utils" "5.35.1" + "@typescript-eslint/utils" "5.35.1" + debug "^4.3.4" functional-red-black-tree "^1.0.1" - ignore "^5.1.8" + ignore "^5.2.0" regexpp "^3.2.0" - semver "^7.3.5" + semver "^7.3.7" tsutils "^3.21.0" "@typescript-eslint/parser@^5.19.0": - version "5.19.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.19.0.tgz#05e587c1492868929b931afa0cb5579b0f728e75" - integrity sha512-yhktJjMCJX8BSBczh1F/uY8wGRYrBeyn84kH6oyqdIJwTGKmzX5Qiq49LRQ0Jh0LXnWijEziSo6BRqny8nqLVQ== - dependencies: - "@typescript-eslint/scope-manager" "5.19.0" - "@typescript-eslint/types" "5.19.0" - "@typescript-eslint/typescript-estree" "5.19.0" - debug "^4.3.2" - -"@typescript-eslint/scope-manager@5.19.0": - version "5.19.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.19.0.tgz#97e59b0bcbcb54dbcdfba96fc103b9020bbe9cb4" - integrity sha512-Fz+VrjLmwq5fbQn5W7cIJZ066HxLMKvDEmf4eu1tZ8O956aoX45jAuBB76miAECMTODyUxH61AQM7q4/GOMQ5g== - dependencies: - "@typescript-eslint/types" "5.19.0" - "@typescript-eslint/visitor-keys" "5.19.0" - -"@typescript-eslint/type-utils@5.19.0": - version "5.19.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.19.0.tgz#80f2125b0dfe82494bbae1ea99f1c0186d420282" - integrity sha512-O6XQ4RI4rQcBGshTQAYBUIGsKqrKeuIOz9v8bckXZnSeXjn/1+BDZndHLe10UplQeJLXDNbaZYrAytKNQO2T4Q== - dependencies: - "@typescript-eslint/utils" "5.19.0" - debug "^4.3.2" + version "5.35.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.35.1.tgz#bf2ee2ebeaa0a0567213748243fb4eec2857f04f" + integrity sha512-XL2TBTSrh3yWAsMYpKseBYTVpvudNf69rPOWXWVBI08My2JVT5jR66eTt4IgQFHA/giiKJW5dUD4x/ZviCKyGg== + dependencies: + "@typescript-eslint/scope-manager" "5.35.1" + "@typescript-eslint/types" "5.35.1" + "@typescript-eslint/typescript-estree" "5.35.1" + debug "^4.3.4" + +"@typescript-eslint/scope-manager@5.35.1": + version "5.35.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.35.1.tgz#ccb69d54b7fd0f2d0226a11a75a8f311f525ff9e" + integrity sha512-kCYRSAzIW9ByEIzmzGHE50NGAvAP3wFTaZevgWva7GpquDyFPFcmvVkFJGWJJktg/hLwmys/FZwqM9EKr2u24Q== + dependencies: + "@typescript-eslint/types" "5.35.1" + "@typescript-eslint/visitor-keys" "5.35.1" + +"@typescript-eslint/type-utils@5.35.1": + version "5.35.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.35.1.tgz#d50903b56758c5c8fc3be52b3be40569f27f9c4a" + integrity sha512-8xT8ljvo43Mp7BiTn1vxLXkjpw8wS4oAc00hMSB4L1/jIiYbjjnc3Qp2GAUOG/v8zsNCd1qwcqfCQ0BuishHkw== + dependencies: + "@typescript-eslint/utils" "5.35.1" + debug "^4.3.4" tsutils "^3.21.0" -"@typescript-eslint/types@5.19.0": - version "5.19.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.19.0.tgz#12d3d600d754259da771806ee8b2c842d3be8d12" - integrity sha512-zR1ithF4Iyq1wLwkDcT+qFnhs8L5VUtjgac212ftiOP/ZZUOCuuF2DeGiZZGQXGoHA50OreZqLH5NjDcDqn34w== +"@typescript-eslint/types@5.35.1": + version "5.35.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.35.1.tgz#af355fe52a0cc88301e889bc4ada72f279b63d61" + integrity sha512-FDaujtsH07VHzG0gQ6NDkVVhi1+rhq0qEvzHdJAQjysN+LHDCKDKCBRlZFFE0ec0jKxiv0hN63SNfExy0KrbQQ== -"@typescript-eslint/typescript-estree@5.19.0": - version "5.19.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.19.0.tgz#fc987b8f62883f9ea6a5b488bdbcd20d33c0025f" - integrity sha512-dRPuD4ocXdaE1BM/dNR21elSEUPKaWgowCA0bqJ6YbYkvtrPVEvZ+zqcX5a8ECYn3q5iBSSUcBBD42ubaOp0Hw== +"@typescript-eslint/typescript-estree@5.35.1": + version "5.35.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.35.1.tgz#db878a39a0dbdc9bb133f11cdad451770bfba211" + integrity sha512-JUqE1+VRTGyoXlDWWjm6MdfpBYVq+hixytrv1oyjYIBEOZhBCwtpp5ZSvBt4wIA1MKWlnaC2UXl2XmYGC3BoQA== dependencies: - "@typescript-eslint/types" "5.19.0" - "@typescript-eslint/visitor-keys" "5.19.0" - debug "^4.3.2" - globby "^11.0.4" + "@typescript-eslint/types" "5.35.1" + "@typescript-eslint/visitor-keys" "5.35.1" + debug "^4.3.4" + globby "^11.1.0" is-glob "^4.0.3" - semver "^7.3.5" + semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/utils@5.19.0": - version "5.19.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.19.0.tgz#fe87f1e3003d9973ec361ed10d36b4342f1ded1e" - integrity sha512-ZuEckdupXpXamKvFz/Ql8YnePh2ZWcwz7APICzJL985Rp5C2AYcHO62oJzIqNhAMtMK6XvrlBTZeNG8n7gS3lQ== +"@typescript-eslint/utils@5.35.1": + version "5.35.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.35.1.tgz#ae1399afbfd6aa7d0ed1b7d941e9758d950250eb" + integrity sha512-v6F8JNXgeBWI4pzZn36hT2HXXzoBBBJuOYvoQiaQaEEjdi5STzux3Yj8v7ODIpx36i/5s8TdzuQ54TPc5AITQQ== dependencies: "@types/json-schema" "^7.0.9" - "@typescript-eslint/scope-manager" "5.19.0" - "@typescript-eslint/types" "5.19.0" - "@typescript-eslint/typescript-estree" "5.19.0" + "@typescript-eslint/scope-manager" "5.35.1" + "@typescript-eslint/types" "5.35.1" + "@typescript-eslint/typescript-estree" "5.35.1" eslint-scope "^5.1.1" eslint-utils "^3.0.0" -"@typescript-eslint/visitor-keys@5.19.0": - version "5.19.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.19.0.tgz#c84ebc7f6c744707a361ca5ec7f7f64cd85b8af6" - integrity sha512-Ym7zZoMDZcAKWsULi2s7UMLREdVQdScPQ/fKWMYefarCztWlHPFVJo8racf8R0Gc8FAEJ2eD4of8As1oFtnQlQ== +"@typescript-eslint/visitor-keys@5.35.1": + version "5.35.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.35.1.tgz#285e9e34aed7c876f16ff646a3984010035898e6" + integrity sha512-cEB1DvBVo1bxbW/S5axbGPE6b7FIMAbo3w+AGq6zNDA7+NYJOIkKj/sInfTv4edxd4PxJSgdN4t6/pbvgA+n5g== dependencies: - "@typescript-eslint/types" "5.19.0" - eslint-visitor-keys "^3.0.0" + "@typescript-eslint/types" "5.35.1" + eslint-visitor-keys "^3.3.0" + +"@ungap/promise-all-settled@1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz#aa58042711d6e3275dd37dc597e5d31e8c290a44" + integrity sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q== + +"@xmldom/xmldom@^0.7.0": + version "0.7.5" + resolved "https://registry.yarnpkg.com/@xmldom/xmldom/-/xmldom-0.7.5.tgz#09fa51e356d07d0be200642b0e4f91d8e6dd408d" + integrity sha512-V3BIhmY36fXZ1OtVcI9W+FxQqxVLsPKcNjWigIaa81dLC9IolJl5Mt4Cvhmr0flUnjSpTdrbMTSbXqYqV5dT6A== "@zkochan/cmd-shim@^3.1.0": version "3.1.0" @@ -1977,48 +2128,62 @@ abort-controller@^3.0.0: dependencies: event-target-shim "^5.0.0" +ace-builds@^1.4.13: + version "1.9.6" + resolved "https://registry.yarnpkg.com/ace-builds/-/ace-builds-1.9.6.tgz#2d3721f90f0664b79be9288f6319dd57576ff1e7" + integrity sha512-M/Li4hPruMSbkkg35LgdbsIBq0WuwrV4ztP2pKaww47rC/MvDc1bOrYxwJrfgxdlzyLKrja5bn+9KwwuzqB2xQ== + acorn-globals@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-3.1.0.tgz#fd8270f71fbb4996b004fa880ee5d46573a731bf" - integrity sha1-/YJw9x+7SZawBPqIDuXUZXOnMb8= + integrity sha512-uWttZCk96+7itPxK8xCzY86PnxKTMrReKDqrHzv42VQY0K30PUO8WY13WMOuI+cOdX4EIdzdvQ8k6jkuGRFMYw== dependencies: acorn "^4.0.4" -acorn-jsx@^5.3.1: +acorn-jsx@^5.3.2: version "5.3.2" resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== +acorn-walk@^8.2.0: + version "8.2.0" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1" + integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== + acorn@^3.1.0: version "3.3.0" resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a" - integrity sha1-ReN/s56No/JbruP/U2niu18iAXo= + integrity sha512-OLUyIIZ7mF5oaAUT1w0TFqQS81q3saT46x8t7ukpPjMNk+nbs4ZHhs7ToV8EWnLYLepjETXd4XaCE4uxkMeqUw== acorn@^4.0.4, acorn@~4.0.2: version "4.0.13" resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.13.tgz#105495ae5361d697bd195c825192e1ad7f253787" - integrity sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c= + integrity sha512-fu2ygVGuMmlzG8ZeRJ0bvR41nsAkxxhbyk8bZ1SS521Z7vmgJFTQQlfz/Mp/nJexGBz+v8sC9bM6+lNgskt4Ug== -acorn@^8.7.0: - version "8.7.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.0.tgz#90951fde0f8f09df93549481e5fc141445b791cf" - integrity sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ== +acorn@^8.7.0, acorn@^8.8.0: + version "8.8.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.0.tgz#88c0187620435c7f6015803f5539dae05a9dbea8" + integrity sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w== -adal-node@^0.1.28: - version "0.1.28" - resolved "https://registry.yarnpkg.com/adal-node/-/adal-node-0.1.28.tgz#468c4bb3ebbd96b1270669f4b9cba4e0065ea485" - integrity sha1-RoxLs+u9lrEnBmn0ucuk4AZepIU= +adal-node@^0.2.2: + version "0.2.3" + resolved "https://registry.yarnpkg.com/adal-node/-/adal-node-0.2.3.tgz#87ed3dbed344f6e114e36bf18fe1c4e7d3cc6069" + integrity sha512-gMKr8RuYEYvsj7jyfCv/4BfKToQThz20SP71N3AtFn3ia3yAR8Qt2T3aVQhuJzunWs2b38ZsQV0qsZPdwZr7VQ== dependencies: - "@types/node" "^8.0.47" - async ">=0.6.0" + "@xmldom/xmldom" "^0.7.0" + async "^2.6.3" + axios "^0.21.1" date-utils "*" jws "3.x.x" - request ">= 2.52.0" underscore ">= 1.3.1" uuid "^3.1.0" - xmldom ">= 0.1.x" xpath.js "~1.1.0" +address@>=0.0.1, address@^1.0.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/address/-/address-1.2.0.tgz#d352a62c92fee90f89a693eccd2a8b2139ab02d9" + integrity sha512-tNEZYz5G/zYunxFm7sfhAxkXEuLj3K6BKwv6ZURlsF6yiUQ65z0Q2wZW9L5cPUl9ocofGvXOdFYbFHp0+6MOig== + agent-base@4, agent-base@^4.3.0: version "4.3.0" resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-4.3.0.tgz#8165f01c436009bccad0b1d122f05ed770efc6ee" @@ -2026,10 +2191,10 @@ agent-base@4, agent-base@^4.3.0: dependencies: es6-promisify "^5.0.0" -agent-base@6: - version "6.0.1" - resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.1.tgz#808007e4e5867decb0ab6ab2f928fbdb5a596db4" - integrity sha512-01q25QQDwLSsyfhrKbn8yuur+JNw0H+0Y4JiGIKd3z9aYk/w/2kxD/Upc+t2ZBBSUNff50VjPsSW2YxM8QYKVg== +agent-base@6, agent-base@^6.0.0, agent-base@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" + integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== dependencies: debug "4" @@ -2047,7 +2212,7 @@ agentkeepalive@^3.4.1: dependencies: humanize-ms "^1.2.1" -ajv@^6.10.0, ajv@^6.12.4: +ajv@^6.10.0, ajv@^6.12.3, ajv@^6.12.4: version "6.12.6" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== @@ -2057,25 +2222,58 @@ ajv@^6.10.0, ajv@^6.12.4: json-schema-traverse "^0.4.1" uri-js "^4.2.2" -ajv@^6.5.5: - version "6.12.2" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.2.tgz#c629c5eced17baf314437918d2da88c99d5958cd" - integrity sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ== +ali-oss@^6.17.1: + version "6.17.1" + resolved "https://registry.yarnpkg.com/ali-oss/-/ali-oss-6.17.1.tgz#3e88738ec01111a26a2b967cf857d97050886156" + integrity sha512-v2oT3UhSJTH/LrsscVvi7iEGrnundydNaFzpYAKatqOl4JNcBV4UiwtlJU+ZHLys040JH2k+CutznA0GoE+P2w== dependencies: - fast-deep-equal "^3.1.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" + address "^1.0.0" + agentkeepalive "^3.4.1" + bowser "^1.6.0" + copy-to "^2.0.1" + dateformat "^2.0.0" + debug "^2.2.0" + destroy "^1.0.4" + end-or-error "^1.0.1" + get-ready "^1.0.0" + humanize-ms "^1.2.0" + is-type-of "^1.0.0" + js-base64 "^2.5.2" + jstoxml "^2.0.0" + merge-descriptors "^1.0.1" + mime "^2.4.5" + mz-modules "^2.1.0" + platform "^1.3.1" + pump "^3.0.0" + sdk-base "^2.0.1" + stream-http "2.8.2" + stream-wormhole "^1.0.4" + urllib "^2.33.1" + utility "^1.8.0" + xml2js "^0.4.16" align-text@^0.1.1, align-text@^0.1.3: version "0.1.4" resolved "https://registry.yarnpkg.com/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117" - integrity sha1-DNkKVhCT810KmSVsIrcGlDP60Rc= + integrity sha512-GrTZLRpmp6wIC2ztrWW9MjjTgSKccffgFagbNDOX95/dcjEcYZibYTeaOntySQLcdw1ztBoFkviiUvTMbb9MYg== dependencies: kind-of "^3.0.2" longest "^1.0.1" repeat-string "^1.5.2" +aliyun-v2-typescript-sdk@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/aliyun-v2-typescript-sdk/-/aliyun-v2-typescript-sdk-3.0.2.tgz#d6d430d8c1db57484e91ed866cd363e24851a40f" + integrity sha512-q8Qa2R5bw4vtNSAIqj5M2X3l3nmtH8nyzXVX0gzCd0acfNnanBsIhuDyMAkXGv59wNlN1ibUaQggz+LdqriNsA== + dependencies: + "@alicloud/dds20151201" "1.0.3" + "@alicloud/eci20180808" "2.0.1" + "@alicloud/ecs20140526" "2.1.0" + "@alicloud/rds20140815" "2.0.7" + "@alicloud/slb20140515" "2.0.2" + ali-oss "^6.17.1" + source-map-support "^0.5.21" + ansi-colors@4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" @@ -2089,22 +2287,17 @@ ansi-escapes@^3.2.0: ansi-regex@^2.0.0: version "2.1.1" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" - integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= + integrity sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA== ansi-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" - integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= + version "3.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.1.tgz#123d6479e92ad45ad897d4054e3c7ca7db4944e1" + integrity sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw== ansi-regex@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" - integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== - -ansi-regex@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" - integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== + version "4.1.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.1.tgz#164daac87ab2d6f6db3a29875e2d1766582dabed" + integrity sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g== ansi-regex@^5.0.1: version "5.0.1" @@ -2114,33 +2307,26 @@ ansi-regex@^5.0.1: ansi-styles@^3.2.0, ansi-styles@^3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== dependencies: color-convert "^1.9.0" -ansi-styles@^4.0.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.2.1.tgz#90ae75c424d008d2624c5bf29ead3177ebfcf359" - integrity sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA== - dependencies: - "@types/color-name" "^1.1.1" - color-convert "^2.0.1" - -ansi-styles@^4.1.0: +ansi-styles@^4.0.0, ansi-styles@^4.1.0: version "4.3.0" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== dependencies: color-convert "^2.0.1" -any-promise@^1.0.0: +any-promise@^1.0.0, any-promise@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f" - integrity sha1-q8av7tzqUugJzcA3au0845Y10X8= + integrity sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A== anymatch@~3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142" - integrity sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg== + version "3.1.2" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" + integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== dependencies: normalize-path "^3.0.0" picomatch "^2.0.4" @@ -2156,9 +2342,9 @@ aproba@^2.0.0: integrity sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ== are-we-there-yet@~1.1.2: - version "1.1.5" - resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz#4b35c2944f062a8bfcda66410760350fe9ddfc21" - integrity sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w== + version "1.1.7" + resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz#b15474a932adab4ff8a50d9adfa7e4e926f21146" + integrity sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g== dependencies: delegates "^1.0.0" readable-stream "^2.0.6" @@ -2171,6 +2357,7 @@ arg@^4.1.0: argparse@^1.0.7: version "1.0.10" resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" + integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== dependencies: sprintf-js "~1.0.2" @@ -2182,7 +2369,7 @@ argparse@^2.0.1: arr-diff@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" - integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= + integrity sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA== arr-flatten@^1.1.0: version "1.1.0" @@ -2192,25 +2379,27 @@ arr-flatten@^1.1.0: arr-union@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" - integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= + integrity sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q== array-differ@^2.0.3: version "2.1.0" resolved "https://registry.yarnpkg.com/array-differ/-/array-differ-2.1.0.tgz#4b9c1c3f14b906757082925769e8ab904f4801b1" + integrity sha512-KbUpJgx909ZscOc/7CLATBFam7P1Z1QRQInvgT0UztM9Q72aGKCunKASAl7WNW0tnPmPyEMeMhdsfWhfmW037w== array-find-index@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" - integrity sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E= + integrity sha512-M1HQyIXcBGtVywBt8WVdim+lrNaK7VHp99Qt5pSNziXznKHViIBbXWtfRTpEFpF/c4FdfxNAsCCwPp5phBYJtw== array-ify@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/array-ify/-/array-ify-1.0.0.tgz#9e528762b4a9066ad163a6962a364418e9626ece" - integrity sha1-nlKHYrSpBmrRY6aWKjZEGOlibs4= + integrity sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng== array-union@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" + integrity sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng== dependencies: array-uniq "^1.0.1" @@ -2222,25 +2411,28 @@ array-union@^2.1.0: array-uniq@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" + integrity sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q== array-unique@^0.3.2: version "0.3.2" resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" - integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= + integrity sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ== -array.prototype.map@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/array.prototype.map/-/array.prototype.map-1.0.2.tgz#9a4159f416458a23e9483078de1106b2ef68f8ec" - integrity sha512-Az3OYxgsa1g7xDYp86l0nnN4bcmuEITGe1rbdEBVkrqkzMgDcbdQ2R7r41pNzti+4NMces3H8gMmuioZUilLgw== +array.prototype.reduce@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/array.prototype.reduce/-/array.prototype.reduce-1.0.4.tgz#8167e80089f78bff70a99e20bd4201d4663b0a6f" + integrity sha512-WnM+AjG/DvLRLo4DDl+r+SvCzYtD2Jd9oeBYMcEaI7t3fFrHY9M53/wdLcTvmZNQ70IU6Htj0emFkZ5TS+lrdw== dependencies: + call-bind "^1.0.2" define-properties "^1.1.3" - es-abstract "^1.17.0-next.1" + es-abstract "^1.19.2" es-array-method-boxes-properly "^1.0.0" - is-string "^1.0.4" + is-string "^1.0.7" arrify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" + integrity sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA== arrify@^2.0.0, arrify@^2.0.1: version "2.0.1" @@ -2250,28 +2442,29 @@ arrify@^2.0.0, arrify@^2.0.1: asap@^2.0.0, asap@~2.0.3: version "2.0.6" resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" - integrity sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY= + integrity sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA== asn1@~0.2.3: - version "0.2.4" - resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" - integrity sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg== + version "0.2.6" + resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.6.tgz#0d3a7bb6e64e02a90c0303b31f292868ea09a08d" + integrity sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ== dependencies: safer-buffer "~2.1.0" assert-plus@1.0.0, assert-plus@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" - integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= + integrity sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw== assertion-error@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.1.0.tgz#e60b6b0e8f301bd97e5375215bda406c85118c0b" + integrity sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw== assign-symbols@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" - integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= + integrity sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw== ast-types@0.12.4, ast-types@^0.12.2: version "0.12.4" @@ -2279,73 +2472,95 @@ ast-types@0.12.4, ast-types@^0.12.2: integrity sha512-ky/YVYCbtVAS8TdMIaTiPFHwEpRB5z1hctepJplTr3UW5q8TDrpIMCILyk8pmLxGtn2KCtC/lSn7zOsaI7nzDw== ast-types@^0.13.2: - version "0.13.3" - resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.13.3.tgz#50da3f28d17bdbc7969a3a2d83a0e4a72ae755a7" - integrity sha512-XTZ7xGML849LkQP86sWdQzfhwbt3YwIO6MqbX9mUNYY98VKaaVZP7YNNm70IpwecbkkxmfC5IYAzOQ/2p29zRA== + version "0.13.4" + resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.13.4.tgz#ee0d77b343263965ecc3fb62da16e7222b2b6782" + integrity sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w== + dependencies: + tslib "^2.0.1" -async@>=0.6.0, async@^3.0.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/async/-/async-3.2.0.tgz#b3a2685c5ebb641d3de02d161002c60fc9f85720" - integrity sha512-TR2mEZFVOj2pLStYxLht7TyfuRzaydfpxr3k9RpHIzMgw7A64dzsdqCxH1WJyQdoe8T10nDXd9wnEigmiuHIZw== +ast-types@^0.14.2: + version "0.14.2" + resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.14.2.tgz#600b882df8583e3cd4f2df5fa20fa83759d4bdfd" + integrity sha512-O0yuUDnZeQDL+ncNGlJ78BiO4jnYI3bvMsD5prT0/nsgijG/LpNBIr63gTjVTNsiGkgQhiyCShTgxt8oXOrklA== + dependencies: + tslib "^2.0.1" -async@^2.4.0: - version "2.6.3" - resolved "https://registry.yarnpkg.com/async/-/async-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff" - integrity sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg== +async-retry@^1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/async-retry/-/async-retry-1.3.3.tgz#0e7f36c04d8478e7a58bdbed80cedf977785f280" + integrity sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw== + dependencies: + retry "0.13.1" + +async@^2.4.0, async@^2.6.3: + version "2.6.4" + resolved "https://registry.yarnpkg.com/async/-/async-2.6.4.tgz#706b7ff6084664cd7eae713f6f965433b5504221" + integrity sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA== dependencies: lodash "^4.17.14" +async@^3.0.0: + version "3.2.4" + resolved "https://registry.yarnpkg.com/async/-/async-3.2.4.tgz#2d22e00f8cddeb5fde5dd33522b56d1cf569a81c" + integrity sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ== + asynckit@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" - integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= + integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== atob-lite@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/atob-lite/-/atob-lite-2.0.0.tgz#0fef5ad46f1bd7a8502c65727f0367d5ee43d696" - integrity sha1-D+9a1G8b16hQLGVyfwNn1e5D1pY= + integrity sha512-LEeSAWeh2Gfa2FtlQE1shxQ8zi5F9GHarrGKz08TMdODD5T4eH6BMsvtnhbWZ+XQn+Gb6om/917ucvRu7l7ukw== atob@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== +available-typed-arrays@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7" + integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== + aws-sdk@^2.686.0: - version "2.709.0" - resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.709.0.tgz#33b0c0fe8b9420c65610545394be047ac2d93c8f" - integrity sha512-F3sKXsCiutj9RglVXdqb/XJ3Ko3G+pX081Nf1YjVJpLydwE2v16FGxrLqE5pqyWMDeUf5nZHnBoMuOYD8ip+Kw== + version "2.1205.0" + resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.1205.0.tgz#606d9317c57c7ec18ab3f89a5c856185fc107fd1" + integrity sha512-L/ndK2cwWfj1peFO1cMtXeey7rMrbE3bksiQjaa96TZi9C70qMYqhrBy4XKok1AC84dcTsHrEOjFTFWr8rvmdg== dependencies: buffer "4.9.2" events "1.1.1" ieee754 "1.1.13" - jmespath "0.15.0" + jmespath "0.16.0" querystring "0.2.0" sax "1.2.1" url "0.10.3" - uuid "3.3.2" + util "^0.12.4" + uuid "8.0.0" xml2js "0.4.19" aws-sign2@~0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" - integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= + integrity sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA== aws4@^1.8.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.10.0.tgz#a17b3a8ea811060e74d47d306122400ad4497ae2" - integrity sha512-3YDiu347mtVtjpyV3u5kVqQLP242c06zwDOgpeRnybmXlYYsLbtTrUBUm8i8srONt+FWobl5aibnU1030PeeuA== + version "1.11.0" + resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59" + integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA== -axios@^0.19.0: - version "0.19.2" - resolved "https://registry.yarnpkg.com/axios/-/axios-0.19.2.tgz#3ea36c5d8818d0d5f8a8a97a6d36b86cdc00cb27" - integrity sha512-fjgm5MvRHLhx+osE2xoekY70AhARk3a6hkN+3Io1jc00jtquGvxYlKlsFUhmUET0V5te6CcZI7lcv2Ym61mjHA== +axios@^0.21.1: + version "0.21.4" + resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.4.tgz#c67b90dc0568e5c1cf2b0b858c43ba28e2eda575" + integrity sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg== dependencies: - follow-redirects "1.5.10" + follow-redirects "^1.14.0" babel-runtime@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" - integrity sha1-llxwWGaOgrVde/4E/yM3vItWR/4= + integrity sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g== dependencies: core-js "^2.4.0" regenerator-runtime "^0.11.0" @@ -2353,7 +2568,7 @@ babel-runtime@^6.26.0: babel-types@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.26.0.tgz#a3b073f94ab49eb6fa55cd65227a334380632497" - integrity sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc= + integrity sha512-zhe3V/26rCWsEZK8kZN+HaQj5yQ1CilTObixFzKW1UWjqG7618Twz6YEsCnjfg5gBcJh02DrpCkS9h98ZqDY+g== dependencies: babel-runtime "^6.26.0" esutils "^2.0.2" @@ -2366,13 +2581,14 @@ babylon@^6.18.0: integrity sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ== balanced-match@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" + version "1.0.2" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== base64-js@^1.0.2, base64-js@^1.3.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.1.tgz#58ece8cb75dd07e71ed08c736abc5fac4dbf8df1" - integrity sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g== + version "1.5.1" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" + integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== base@^0.11.1: version "0.11.2" @@ -2390,47 +2606,58 @@ base@^0.11.1: bcrypt-pbkdf@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" - integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= + integrity sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w== dependencies: tweetnacl "^0.14.3" before-after-hook@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/before-after-hook/-/before-after-hook-2.1.0.tgz#b6c03487f44e24200dd30ca5e6a1979c5d2fb635" - integrity sha512-IWIbu7pMqyw3EAJHzzHbWa85b6oud/yfKYg5rqB5hNE8CeMi3nX+2C2sj0HswfblST86hpVEOAb9x34NZd6P7A== + version "2.2.2" + resolved "https://registry.yarnpkg.com/before-after-hook/-/before-after-hook-2.2.2.tgz#a6e8ca41028d90ee2c24222f201c90956091613e" + integrity sha512-3pZEU3NT5BFUo/AD5ERPWOgQOCZITni6iavr5AUw5AUwQjMlI0kzu5btnyD39AF0gUEsDPwJT+oY1ORBJijPjQ== better-docs@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/better-docs/-/better-docs-2.3.0.tgz#69bc2daafdef92e76bfb4c3092eb71243abf9724" - integrity sha512-s+lvppWKGs9CU3r9bxnKAGbsW/rzSEeaEtVZE9qc+14098MiWy4pAAsXtTifkzgUnvDfWhnmPXZEc+fCAA0cBA== + version "2.7.2" + resolved "https://registry.yarnpkg.com/better-docs/-/better-docs-2.7.2.tgz#fe0b54fca8a904fe050586aa819263195e5eb948" + integrity sha512-aIOsGhhcTIDAJfBTABIPDs3q98dfNF85yUwmKShXb3ZG6e7s+ojBePiDqvFwy/MpnjYwuSbuzkbEv4iPWcSuTQ== dependencies: brace "^0.11.1" - react-ace "^6.5.0" - react-docgen "^5.3.0" - react-frame-component "^4.1.1" - typescript "^3.7.5" - underscore "^1.9.1" - vue-docgen-api "^3.22.0" - vue2-ace-editor "^0.0.13" + react-ace "^9.5.0" + react-docgen "^5.4.0" + react-frame-component "^5.2.1" + typescript "^4.5.4" + underscore "^1.13.2" + vue-docgen-api "^3.26.0" + vue2-ace-editor "^0.0.15" + +big.js@^6.0.0: + version "6.2.1" + resolved "https://registry.yarnpkg.com/big.js/-/big.js-6.2.1.tgz#7205ce763efb17c2e41f26f121c420c6a7c2744f" + integrity sha512-bCtHMwL9LeDIozFn+oNhhFoq+yQ3BNdnsLSASUxLciOb1vgvpHsIO1dsENiGMgbb4SkP5TrzWzRiLddn8ahVOQ== bignumber.js@^9.0.0: - version "9.0.0" - resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-9.0.0.tgz#805880f84a329b5eac6e7cb6f8274b6d82bdf075" - integrity sha512-t/OYhhJ2SD+YGBQcjY8GzzDHEk9f3nerxjtfa6tlMXfe7frs/WozhvCNoGvpM0P3bNf3Gq5ZRMlGr5f3r4/N8A== + version "9.1.0" + resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-9.1.0.tgz#8d340146107fe3a6cb8d40699643c302e8773b62" + integrity sha512-4LwHK4nfDOraBCtst+wOWIHbu1vhvAPJK8g8nROd4iuc3PSEjWif/qwbkh8jwCJz6yDBvtU4KPynETgrfh7y3A== binary-extensions@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.1.0.tgz#30fa40c9e7fe07dbc895678cd287024dea241dd9" - integrity sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ== + version "2.2.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" + integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== bluebird@^3.5.1, bluebird@^3.5.3, bluebird@^3.5.5, bluebird@^3.7.2: version "3.7.2" resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== +bowser@^1.6.0: + version "1.9.4" + resolved "https://registry.yarnpkg.com/bowser/-/bowser-1.9.4.tgz#890c58a2813a9d3243704334fa81b96a5c150c9a" + integrity sha512-9IdMmj2KjigRq6oWhmwv1W36pDuA4STQZ8q6YO9um+x07xgYNCD3Oou+WP/3L1HNz7iqythGet3/p4wvc8AAwQ== + brace-expansion@^1.1.7: version "1.1.11" resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== dependencies: balanced-match "^1.0.0" concat-map "0.0.1" @@ -2438,7 +2665,7 @@ brace-expansion@^1.1.7: brace@^0.11.0, brace@^0.11.1: version "0.11.1" resolved "https://registry.yarnpkg.com/brace/-/brace-0.11.1.tgz#4896fcc9d544eef45f4bb7660db320d3b379fe58" - integrity sha1-SJb8ydVE7vRfS7dmDbMg07N5/lg= + integrity sha512-Fc8Ne62jJlKHiG/ajlonC4Sd66Pq68fFwK4ihJGNZpGqboc324SQk+lRvMzpPRuJOmfrJefdG8/7JdWX4bzJ2Q== braces@^2.3.1: version "2.3.2" @@ -2466,21 +2693,32 @@ braces@^3.0.2, braces@~3.0.2: browser-stdout@1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" + integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw== + +browserslist@^4.20.2: + version "4.21.3" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.3.tgz#5df277694eb3c48bc5c4b05af3e8b7e09c5a6d1a" + integrity sha512-898rgRXLAyRkM1GryrrBHGkqA5hlpkV5MhtZwg9QXeiyLUYs2k00Un05aX5l2/yJIOObYKOpS2JNo8nJDE7fWQ== + dependencies: + caniuse-lite "^1.0.30001370" + electron-to-chromium "^1.4.202" + node-releases "^2.0.6" + update-browserslist-db "^1.0.5" btoa-lite@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/btoa-lite/-/btoa-lite-1.0.0.tgz#337766da15801210fdd956c22e9c6891ab9d0337" - integrity sha1-M3dm2hWAEhD92VbCLpxokaudAzc= + integrity sha512-gvW7InbIyF8AicrqWoptdW08pUxuhq8BEgowNajy9RhiE86fmGAGl+bLKo6oB8QP0CkqHLowfN0oJdKC/J6LbA== buffer-equal-constant-time@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz#f8e71132f7ffe6e01a5c9697a4c6f3e48d5cc819" - integrity sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk= + integrity sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA== buffer-from@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" - integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== + version "1.1.2" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" + integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== buffer@4.9.2: version "4.9.2" @@ -2491,21 +2729,49 @@ buffer@4.9.2: ieee754 "^1.1.4" isarray "^1.0.0" +builtin-status-codes@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" + integrity sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ== + builtins@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/builtins/-/builtins-1.0.3.tgz#cb94faeb61c8696451db36534e1422f94f0aee88" - integrity sha1-y5T662HIaWRR2zZTThQi+U8K7og= + integrity sha512-uYBjakWipfaO/bXI7E8rq6kpwHRZK5cNYrUv2OzZSI/FvmdMyXJ2tG9dKcjEC5YHmHpUAwsargWIZNWdxb/bnQ== byline@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/byline/-/byline-5.0.0.tgz#741c5216468eadc457b03410118ad77de8c1ddb1" - integrity sha1-dBxSFkaOrcRXsDQQEYrXfejB3bE= + integrity sha512-s6webAy+R4SR8XVuJWt2V2rGvhnrhxN+9S15GNuTK3wKPOXFF6RNc+8ug2XhH+2s4f+uudG4kUVYmYOQWL2g0Q== byte-size@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/byte-size/-/byte-size-5.0.1.tgz#4b651039a5ecd96767e71a3d7ed380e48bed4191" integrity sha512-/XuKeqWocKsYa/cBY1YbSJSWWqTi4cFgr9S6OyM7PBaPbr9zvNGwWP33vt0uqGhwDdN+y3yhbXVILEUpnwEWGw== +bytes@3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" + integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== + +c8@^7.6.0: + version "7.12.0" + resolved "https://registry.yarnpkg.com/c8/-/c8-7.12.0.tgz#402db1c1af4af5249153535d1c84ad70c5c96b14" + integrity sha512-CtgQrHOkyxr5koX1wEUmN/5cfDa2ckbHRA4Gy5LAL0zaCFtVWJS5++n+w4/sr2GWGerBxgTjpKeDclk/Qk6W/A== + dependencies: + "@bcoe/v8-coverage" "^0.2.3" + "@istanbuljs/schema" "^0.1.3" + find-up "^5.0.0" + foreground-child "^2.0.0" + istanbul-lib-coverage "^3.2.0" + istanbul-lib-report "^3.0.0" + istanbul-reports "^3.1.4" + rimraf "^3.0.2" + test-exclude "^6.0.0" + v8-to-istanbul "^9.0.0" + yargs "^16.2.0" + yargs-parser "^20.2.9" + cacache@^12.0.0, cacache@^12.0.3: version "12.0.4" resolved "https://registry.yarnpkg.com/cacache/-/cacache-12.0.4.tgz#668bcbd105aeb5f1d92fe25570ec9525c8faa40c" @@ -2547,39 +2813,50 @@ cacheable-lookup@^5.0.3: resolved "https://registry.yarnpkg.com/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz#5a6b865b2c44357be3d5ebc2a467b032719a7005" integrity sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA== -cacheable-request@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-7.0.1.tgz#062031c2856232782ed694a257fa35da93942a58" - integrity sha512-lt0mJ6YAnsrBErpTMWeu5kl/tg9xMAWjavYTN6VQXM1A/teBITuNcccXsCxF0tDQQJf9DfAaX5O4e0zp0KlfZw== +cacheable-request@^7.0.2: + version "7.0.2" + resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-7.0.2.tgz#ea0d0b889364a25854757301ca12b2da77f91d27" + integrity sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew== dependencies: clone-response "^1.0.2" get-stream "^5.1.0" http-cache-semantics "^4.0.0" keyv "^4.0.0" lowercase-keys "^2.0.0" - normalize-url "^4.1.0" + normalize-url "^6.0.1" responselike "^2.0.0" +call-bind@^1.0.0, call-bind@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" + integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== + dependencies: + function-bind "^1.1.1" + get-intrinsic "^1.0.2" + call-me-maybe@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/call-me-maybe/-/call-me-maybe-1.0.1.tgz#26d208ea89e37b5cbde60250a15f031c16a4d66b" - integrity sha1-JtII6onje1y95gJQoV8DHBak1ms= + integrity sha512-wCyFsDQkKPwwF8BDwOiWNx/9K45L/hvggQiDbve+viMNMQnWhrlYIuBk09offfwCRtCO9P6XwUttufzU11WCVw== caller-callsite@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/caller-callsite/-/caller-callsite-2.0.0.tgz#847e0fce0a223750a9a027c54b33731ad3154134" + integrity sha512-JuG3qI4QOftFsZyOn1qq87fq5grLIyk1JYd5lJmdA+fG7aQ9pA/i3JIJGcO3q0MrRcHlOt1U+ZeHW8Dq9axALQ== dependencies: callsites "^2.0.0" caller-path@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-2.0.0.tgz#468f83044e369ab2010fac5f06ceee15bb2cb1f4" + integrity sha512-MCL3sf6nCSXOwCTzvPKhN18TU7AHTvdtam8DAogxcrJ8Rjfbbg7Lgng64H9Iy+vUV6VGFClN/TyxBkAebLRR4A== dependencies: caller-callsite "^2.0.0" callsites@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50" + integrity sha512-ksWePWBloaWPxJYQ8TL0JHvtci6G5QTKwQ95RcWAa/lzoAKuAOflGdAK92hpHXjkwb8zLxoLNUoNYZgVsaJzvQ== callsites@^3.0.0: version "3.1.0" @@ -2589,7 +2866,7 @@ callsites@^3.0.0: camelcase-keys@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7" - integrity sha1-MIvur/3ygRkFHvodkyITyRuPkuc= + integrity sha512-bA/Z/DERHKqoEOrp+qeGKw1QlvEQkGZSc0XaY6VnTxZr+Kv1G5zFwttpjv8qxZ/sBPT4nthwZaAcsAZTJlSKXQ== dependencies: camelcase "^2.0.0" map-obj "^1.0.0" @@ -2597,7 +2874,7 @@ camelcase-keys@^2.0.0: camelcase-keys@^4.0.0: version "4.2.0" resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-4.2.0.tgz#a2aa5fb1af688758259c32c141426d78923b9b77" - integrity sha1-oqpfsa9oh1glnDLBQUJteJI7m3c= + integrity sha512-Ej37YKYbFUI8QiYlvj9YHb6/Z60dZyPJW0Cs8sFilMbd2lP0bw3ylAq9yJkK4lcTA2dID5fG8LjmJYbO7kWb7Q== dependencies: camelcase "^4.1.0" map-obj "^2.0.0" @@ -2615,17 +2892,17 @@ camelcase-keys@^6.2.2: camelcase@^1.0.2: version "1.2.1" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39" - integrity sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk= + integrity sha512-wzLkDa4K/mzI1OSITC+DUyjgIl/ETNHE9QvYgy6J6Jvqyyz4C0Xfd+lQhb19sX2jMpZV4IssUn0VDVmglV+s4g== camelcase@^2.0.0: version "2.1.1" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" - integrity sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8= + integrity sha512-DLIsRzJVBQu72meAKPkWQOLcujdXT32hwdfnkI1frSiSRMK1MofjKHf+MEx0SB6fjEFXL8fBDv1dKymBlOp4Qw== camelcase@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" - integrity sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0= + integrity sha512-FxAv7HpHrXbh3aPo4o2qxHay2lkLY3x5Mw3KeE4KQE8ysVfziWeRZDwcjauvwBSGEC/nXUPzZy8zeh4HokqOnw== camelcase@^5.0.0, camelcase@^5.3.1: version "5.3.1" @@ -2633,39 +2910,46 @@ camelcase@^5.0.0, camelcase@^5.3.1: integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== camelcase@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.0.0.tgz#5259f7c30e35e278f1bdc2a4d91230b37cad981e" - integrity sha512-8KMDF1Vz2gzOq54ONPJS65IvTUaB1cHJ2DMM7MbPmLZljDH1qpzzLsWdiN9pHh6qvkRVDTi/07+eNGch/oLU4w== + version "6.3.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" + integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== + +caniuse-lite@^1.0.30001370: + version "1.0.30001384" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001384.tgz#029527c2d781a3cfef13fa63b3a78a6088e35973" + integrity sha512-BBWt57kqWbc0GYZXb47wTXpmAgqr5LSibPzNjk/AWMdmJMQhLqOl3c/Kd4OAU/tu4NLfYkMx8Tlq3RVBkOBolQ== caseless@~0.12.0: version "0.12.0" resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" - integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= + integrity sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw== -catharsis@^0.8.11: - version "0.8.11" - resolved "https://registry.yarnpkg.com/catharsis/-/catharsis-0.8.11.tgz#d0eb3d2b82b7da7a3ce2efb1a7b00becc6643468" - integrity sha512-a+xUyMV7hD1BrDQA/3iPV7oc+6W26BgVJO05PGEoatMyIuPScQKsde6i3YorWX1qs+AZjnJ18NqdKoCtKiNh1g== +catharsis@^0.9.0: + version "0.9.0" + resolved "https://registry.yarnpkg.com/catharsis/-/catharsis-0.9.0.tgz#40382a168be0e6da308c277d3a2b3eb40c7d2121" + integrity sha512-prMTQVpcns/tzFgFVkVp6ak6RykZyWb3gu8ckUpd6YkTlacOd3DXGJjIpD4Q6zJirizvaiAjSSHlOsA+6sNh2A== dependencies: - lodash "^4.17.14" + lodash "^4.17.15" center-align@^0.1.1: version "0.1.3" resolved "https://registry.yarnpkg.com/center-align/-/center-align-0.1.3.tgz#aa0d32629b6ee972200411cbd4461c907bc2b7ad" - integrity sha1-qg0yYptu6XIgBBHL1EYckHvCt60= + integrity sha512-Baz3aNe2gd2LP2qk5U+sDk/m4oSuwSDcBfayTCTBoWpfIGO5XFxPmjILQII4NGiZjD6DoDI6kf7gKaxkf7s3VQ== dependencies: align-text "^0.1.3" lazy-cache "^1.0.3" chai@^4.1.2, chai@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/chai/-/chai-4.2.0.tgz#760aa72cf20e3795e84b12877ce0e83737aa29e5" + version "4.3.6" + resolved "https://registry.yarnpkg.com/chai/-/chai-4.3.6.tgz#ffe4ba2d9fa9d6680cc0b370adae709ec9011e9c" + integrity sha512-bbcp3YfHCUzMOvKqsztczerVgBKSsEijCySNlHHbX3VG1nskvqjz5Rfso1gGwD6w6oOV3eI60pKuMOV5MV7p3Q== dependencies: assertion-error "^1.1.0" check-error "^1.0.2" deep-eql "^3.0.1" get-func-name "^2.0.0" - pathval "^1.1.0" + loupe "^2.3.1" + pathval "^1.1.1" type-detect "^4.0.5" chalk@^2.0.0, chalk@^2.3.0, chalk@^2.3.1, chalk@^2.4.2: @@ -2678,9 +2962,9 @@ chalk@^2.0.0, chalk@^2.3.0, chalk@^2.3.1, chalk@^2.4.2: supports-color "^5.3.0" chalk@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a" - integrity sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A== + version "4.1.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== dependencies: ansi-styles "^4.1.0" supports-color "^7.1.0" @@ -2688,7 +2972,7 @@ chalk@^4.0.0: character-parser@^2.1.1: version "2.2.0" resolved "https://registry.yarnpkg.com/character-parser/-/character-parser-2.2.0.tgz#c7ce28f36d4bcd9744e5ffc2c5fcde1c73261fc0" - integrity sha1-x84o821LzZdE5f/CxfzeHHMmH8A= + integrity sha512-+UqJQjFEFaTAs3bNsF2j2kEN1baG/zghZbdqoYEDxGZtJo9LBzl1A+m0D4n3qKx8N2FNv8/Xp6yV9mQmBuptaw== dependencies: is-regex "^1.0.3" @@ -2700,6 +2984,7 @@ chardet@^0.7.0: check-error@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.2.tgz#574d312edd88bb5dd8912e9286dd6c0aed4aac82" + integrity sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA== checkpoint-stream@^0.1.1: version "0.1.2" @@ -2712,10 +2997,10 @@ checkpoint-stream@^0.1.1: split-array-stream "^1.0.0" through2 "^2.0.3" -chokidar@3.3.1: - version "3.3.1" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.3.1.tgz#c84e5b3d18d9a4d77558fef466b1bf16bbeb3450" - integrity sha512-4QYCEWOcK3OJrxwvyyAOxFuhpvOVCYkr33LPfFNBjAD/w3sEzWsp2BUOkI4l9bHvWioAd0rc6NlHUOEaWkTeqg== +chokidar@3.5.1: + version "3.5.1" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.1.tgz#ee9ce7bbebd2b79f49f304799d5468e31e14e68a" + integrity sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw== dependencies: anymatch "~3.1.1" braces "~3.0.2" @@ -2723,11 +3008,11 @@ chokidar@3.3.1: is-binary-path "~2.1.0" is-glob "~4.0.1" normalize-path "~3.0.0" - readdirp "~3.3.0" + readdirp "~3.5.0" optionalDependencies: - fsevents "~2.1.2" + fsevents "~2.3.1" -chownr@^1.1.1, chownr@^1.1.2: +chownr@^1.1.1, chownr@^1.1.2, chownr@^1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== @@ -2735,6 +3020,7 @@ chownr@^1.1.1, chownr@^1.1.2: ci-info@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" + integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== class-utils@^0.3.5: version "0.3.6" @@ -2747,16 +3033,16 @@ class-utils@^0.3.5: static-extend "^0.1.1" clean-css@^4.1.11: - version "4.2.3" - resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.2.3.tgz#507b5de7d97b48ee53d84adb0160ff6216380f78" - integrity sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA== + version "4.2.4" + resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.2.4.tgz#733bf46eba4e607c6891ea57c24a989356831178" + integrity sha512-EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A== dependencies: source-map "~0.6.0" cli-cursor@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" - integrity sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU= + integrity sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw== dependencies: restore-cursor "^2.0.0" @@ -2768,7 +3054,7 @@ cli-width@^2.0.0: cliui@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/cliui/-/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1" - integrity sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE= + integrity sha512-GIOYRizG+TGoc7Wgc1LiOTLare95R3mzKgoln+Q/lE4ceiYH19gUpl0l0Ffq4lJDEf3FxujMe6IBfOCs7pfqNA== dependencies: center-align "^0.1.1" right-align "^0.1.1" @@ -2783,14 +3069,14 @@ cliui@^5.0.0: strip-ansi "^5.2.0" wrap-ansi "^5.1.0" -cliui@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1" - integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ== +cliui@^7.0.2: + version "7.0.4" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" + integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== dependencies: string-width "^4.2.0" strip-ansi "^6.0.0" - wrap-ansi "^6.2.0" + wrap-ansi "^7.0.0" clone-deep@^4.0.1: version "4.0.1" @@ -2802,26 +3088,26 @@ clone-deep@^4.0.1: shallow-clone "^3.0.0" clone-response@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.2.tgz#d1dc973920314df67fbeb94223b4ee350239e96b" - integrity sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws= + version "1.0.3" + resolved "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.3.tgz#af2032aa47816399cf5f0a1d0db902f517abb8c3" + integrity sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA== dependencies: mimic-response "^1.0.0" clone@^1.0.2: version "1.0.4" resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" - integrity sha1-2jCcwmPfFZlMaIypAheco8fNfH4= + integrity sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg== code-point-at@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" - integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= + integrity sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA== collection-visit@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" - integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= + integrity sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw== dependencies: map-visit "^1.0.0" object-visit "^1.0.0" @@ -2829,6 +3115,7 @@ collection-visit@^1.0.0: color-convert@^1.9.0: version "1.9.3" resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== dependencies: color-name "1.1.3" @@ -2842,6 +3129,7 @@ color-convert@^2.0.1: color-name@1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== color-name@~1.1.4: version "1.1.4" @@ -2849,14 +3137,14 @@ color-name@~1.1.4: integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== columnify@^1.5.4: - version "1.5.4" - resolved "https://registry.yarnpkg.com/columnify/-/columnify-1.5.4.tgz#4737ddf1c7b69a8a7c340570782e947eec8e78bb" - integrity sha1-Rzfd8ce2mop8NAVweC6UfuyOeLs= + version "1.6.0" + resolved "https://registry.yarnpkg.com/columnify/-/columnify-1.6.0.tgz#6989531713c9008bb29735e61e37acf5bd553cf3" + integrity sha512-lomjuFZKfM6MSAnV9aCZC9sc0qGbmZdfygNv+nCpqVkSKdCxCklLtd16O0EILGkImHw9ZpHkAnHaB+8Zxq5W6Q== dependencies: - strip-ansi "^3.0.0" + strip-ansi "^6.0.1" wcwidth "^1.0.0" -combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6: +combined-stream@^1.0.6, combined-stream@~1.0.6: version "1.0.8" resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== @@ -2868,13 +3156,13 @@ commander@^2.19.0: resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== -compare-func@^1.3.1: - version "1.3.4" - resolved "https://registry.yarnpkg.com/compare-func/-/compare-func-1.3.4.tgz#6b07c4c5e8341119baf44578085bda0f4a823516" - integrity sha512-sq2sWtrqKPkEXAC8tEJA1+BqAH9GbFkGBtUOqrUX57VSfwp8xyktctk+uLoRy5eccTdxzDcVIztlYDpKs3Jv1Q== +compare-func@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/compare-func/-/compare-func-2.0.0.tgz#fb65e75edbddfd2e568554e8b5b05fff7a51fcb3" + integrity sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA== dependencies: array-ify "^1.0.0" - dot-prop "^3.0.0" + dot-prop "^5.1.0" compare-versions@^3.6.0: version "3.6.0" @@ -2886,6 +3174,14 @@ component-emitter@^1.2.1: resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== +compress-brotli@^1.3.8: + version "1.3.8" + resolved "https://registry.yarnpkg.com/compress-brotli/-/compress-brotli-1.3.8.tgz#0c0a60c97a989145314ec381e84e26682e7b38db" + integrity sha512-lVcQsjhxhIXsuupfy9fmZUFtAIdBmXA7EGY6GBdgZ++qkM9zG4YFT8iU7FoBxzryNDMOpD1HIFHUSX4D87oqhQ== + dependencies: + "@types/json-buffer" "~3.0.0" + json-buffer "~3.0.1" + compressible@^2.0.12: version "2.0.18" resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.18.tgz#af53cca6b070d4c3c0750fbd77286a6d7cc46fba" @@ -2896,6 +3192,7 @@ compressible@^2.0.12: concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== concat-stream@^1.5.0: version "1.6.2" @@ -2918,9 +3215,9 @@ concat-stream@^2.0.0: typedarray "^0.0.6" config-chain@^1.1.11: - version "1.1.12" - resolved "https://registry.yarnpkg.com/config-chain/-/config-chain-1.1.12.tgz#0fde8d091200eb5e808caf25fe618c02f48e4efa" - integrity sha512-a1eOIcu8+7lUInge4Rpf/n4Krkf3Dd9lqhljRzII1/Zno/kRtUWnznPO3jOKBmTEktkt3fkxisUcivoj0ebzoA== + version "1.1.13" + resolved "https://registry.yarnpkg.com/config-chain/-/config-chain-1.1.13.tgz#fad0795aa6a6cdaff9ed1b68e9dff94372c232f4" + integrity sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ== dependencies: ini "^1.3.4" proto-list "~1.2.1" @@ -2928,6 +3225,7 @@ config-chain@^1.1.11: config@^1.26.1: version "1.31.0" resolved "https://registry.yarnpkg.com/config/-/config-1.31.0.tgz#ab08aeba6536015d220cd0afe14b3e0501082542" + integrity sha512-Ep/l9Rd1J9IPueztJfpbOqVzuKHQh4ZODMNt9xqTYdBBNRXbV4oTu34kCkkfdRVcDq0ohtpaeXGgb+c0LQxFRA== dependencies: json5 "^1.0.1" @@ -2946,7 +3244,7 @@ configstore@^5.0.0: console-control-strings@^1.0.0, console-control-strings@~1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" - integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4= + integrity sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ== constantinople@^3.0.1, constantinople@^3.1.2: version "3.1.2" @@ -2958,12 +3256,17 @@ constantinople@^3.0.1, constantinople@^3.1.2: babel-types "^6.26.0" babylon "^6.18.0" +content-type@^1.0.2: + version "1.0.4" + resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" + integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== + conventional-changelog-angular@^5.0.3: - version "5.0.10" - resolved "https://registry.yarnpkg.com/conventional-changelog-angular/-/conventional-changelog-angular-5.0.10.tgz#5cf7b00dd315b6a6a558223c80d5ef24ddb34205" - integrity sha512-k7RPPRs0vp8+BtPsM9uDxRl6KcgqtCJmzRD1wRtgqmhQ96g8ifBGo9O/TZBG23jqlXS/rg8BKRDELxfnQQGiaA== + version "5.0.13" + resolved "https://registry.yarnpkg.com/conventional-changelog-angular/-/conventional-changelog-angular-5.0.13.tgz#896885d63b914a70d4934b59d2fe7bde1832b28c" + integrity sha512-i/gipMxs7s8L/QeuavPF2hLnJgH6pEZAttySB6aiQLWcX3puWDL3ACVmvBhJGxnAy52Qc15ua26BufY6KpmrVA== dependencies: - compare-func "^1.3.1" + compare-func "^2.0.0" q "^1.5.1" conventional-changelog-core@^3.1.6: @@ -2991,41 +3294,40 @@ conventional-changelog-preset-loader@^2.1.1: integrity sha512-GEKRWkrSAZeTq5+YjUZOYxdHq+ci4dNwHvpaBC3+ENalzFWuCWa9EZXSuZBpkr72sMdKB+1fyDV4takK1Lf58g== conventional-changelog-writer@^4.0.6: - version "4.0.16" - resolved "https://registry.yarnpkg.com/conventional-changelog-writer/-/conventional-changelog-writer-4.0.16.tgz#ca10f2691a8ea6d3c2eb74bd35bcf40aa052dda5" - integrity sha512-jmU1sDJDZpm/dkuFxBeRXvyNcJQeKhGtVcFFkwTphUAzyYWcwz2j36Wcv+Mv2hU3tpvLMkysOPXJTLO55AUrYQ== + version "4.1.0" + resolved "https://registry.yarnpkg.com/conventional-changelog-writer/-/conventional-changelog-writer-4.1.0.tgz#1ca7880b75aa28695ad33312a1f2366f4b12659f" + integrity sha512-WwKcUp7WyXYGQmkLsX4QmU42AZ1lqlvRW9mqoyiQzdD+rJWbTepdWoKJuwXTS+yq79XKnQNa93/roViPQrAQgw== dependencies: - compare-func "^1.3.1" - conventional-commits-filter "^2.0.6" + compare-func "^2.0.0" + conventional-commits-filter "^2.0.7" dateformat "^3.0.0" handlebars "^4.7.6" json-stringify-safe "^5.0.1" lodash "^4.17.15" - meow "^7.0.0" + meow "^8.0.0" semver "^6.0.0" split "^1.0.0" - through2 "^3.0.0" + through2 "^4.0.0" -conventional-commits-filter@^2.0.2, conventional-commits-filter@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/conventional-commits-filter/-/conventional-commits-filter-2.0.6.tgz#0935e1240c5ca7698329affee1b6a46d33324c4c" - integrity sha512-4g+sw8+KA50/Qwzfr0hL5k5NWxqtrOVw4DDk3/h6L85a9Gz0/Eqp3oP+CWCNfesBvZZZEFHF7OTEbRe+yYSyKw== +conventional-commits-filter@^2.0.2, conventional-commits-filter@^2.0.7: + version "2.0.7" + resolved "https://registry.yarnpkg.com/conventional-commits-filter/-/conventional-commits-filter-2.0.7.tgz#f8d9b4f182fce00c9af7139da49365b136c8a0b3" + integrity sha512-ASS9SamOP4TbCClsRHxIHXRfcGCnIoQqkvAzCSbZzTFLfcTqJVugB0agRgsEELsqaeWgsXv513eS116wnlSSPA== dependencies: lodash.ismatch "^4.4.0" modify-values "^1.0.0" conventional-commits-parser@^3.0.3: - version "3.1.0" - resolved "https://registry.yarnpkg.com/conventional-commits-parser/-/conventional-commits-parser-3.1.0.tgz#10140673d5e7ef5572633791456c5d03b69e8be4" - integrity sha512-RSo5S0WIwXZiRxUGTPuYFbqvrR4vpJ1BDdTlthFgvHt5kEdnd1+pdvwWphWn57/oIl4V72NMmOocFqqJ8mFFhA== + version "3.2.4" + resolved "https://registry.yarnpkg.com/conventional-commits-parser/-/conventional-commits-parser-3.2.4.tgz#a7d3b77758a202a9b2293d2112a8d8052c740972" + integrity sha512-nK7sAtfi+QXbxHCYfhpZsfRtaitZLIA6889kFIouLvz6repszQDgxBu7wf2WbU+Dco7sAnNCJYERCwt54WPC2Q== dependencies: JSONStream "^1.0.4" is-text-path "^1.0.1" lodash "^4.17.15" - meow "^7.0.0" - split2 "^2.0.0" - through2 "^3.0.0" - trim-off-newlines "^1.0.0" + meow "^8.0.0" + split2 "^3.0.0" + through2 "^4.0.0" conventional-recommended-bump@^5.0.0: version "5.0.1" @@ -3041,10 +3343,10 @@ conventional-recommended-bump@^5.0.0: meow "^4.0.0" q "^1.5.1" -convert-source-map@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442" - integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA== +convert-source-map@^1.6.0, convert-source-map@^1.7.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.8.0.tgz#f3373c32d21b4d780dd8004514684fb791ca4369" + integrity sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA== dependencies: safe-buffer "~5.1.1" @@ -3063,21 +3365,32 @@ copy-concurrently@^1.0.0: copy-descriptor@^0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" - integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= + integrity sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw== + +copy-to@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/copy-to/-/copy-to-2.0.1.tgz#2680fbb8068a48d08656b6098092bdafc906f4a5" + integrity sha512-3DdaFaU/Zf1AnpLiFDeNCD4TOWe3Zl2RZaTzUvWiIk5ERzcCodOE20Vqq4fzCbNoHURFHT4/us/Lfq+S2zyY4w== -core-js@^2.4.0, core-js@^2.6.5: - version "2.6.11" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.11.tgz#38831469f9922bded8ee21c9dc46985e0399308c" - integrity sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg== +core-js@^2.4.0: + version "2.6.12" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.12.tgz#d9333dfa7b065e347cc5682219d6f690859cc2ec" + integrity sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ== -core-util-is@1.0.2, core-util-is@~1.0.0: +core-util-is@1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" - integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= + integrity sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ== + +core-util-is@^1.0.2, core-util-is@~1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" + integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== cosmiconfig@^5.1.0: version "5.2.1" resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.2.1.tgz#040f726809c591e77a17c0a3626ca45b4f168b1a" + integrity sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA== dependencies: import-fresh "^2.0.0" is-directory "^0.3.1" @@ -3085,9 +3398,9 @@ cosmiconfig@^5.1.0: parse-json "^4.0.0" cosmiconfig@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.0.tgz#ef9b44d773959cae63ddecd122de23853b60f8d3" - integrity sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA== + version "7.0.1" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.1.tgz#714d756522cace867867ccb4474c5d01bbae5d6d" + integrity sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ== dependencies: "@types/parse-json" "^4.0.0" import-fresh "^3.2.1" @@ -3096,15 +3409,16 @@ cosmiconfig@^7.0.0: yaml "^1.10.0" cross-env@^7.0.2: - version "7.0.2" - resolved "https://registry.yarnpkg.com/cross-env/-/cross-env-7.0.2.tgz#bd5ed31339a93a3418ac4f3ca9ca3403082ae5f9" - integrity sha512-KZP/bMEOJEDCkDQAyRhu3RL2ZO/SUVrxQVI0G3YEQ+OLbRA3c6zgixe8Mq8a/z7+HKlNEjo8oiLUs8iRijY2Rw== + version "7.0.3" + resolved "https://registry.yarnpkg.com/cross-env/-/cross-env-7.0.3.tgz#865264b29677dc015ba8418918965dd232fc54cf" + integrity sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw== dependencies: cross-spawn "^7.0.1" cross-spawn@^5.0.1: version "5.1.0" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" + integrity sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A== dependencies: lru-cache "^4.0.1" shebang-command "^1.2.0" @@ -3113,6 +3427,7 @@ cross-spawn@^5.0.1: cross-spawn@^6.0.0: version "6.0.5" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" + integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== dependencies: nice-try "^1.0.4" path-key "^2.0.1" @@ -3120,7 +3435,7 @@ cross-spawn@^6.0.0: shebang-command "^1.2.0" which "^1.2.9" -cross-spawn@^7.0.1, cross-spawn@^7.0.2: +cross-spawn@^7.0.0, cross-spawn@^7.0.1, cross-spawn@^7.0.2: version "7.0.3" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== @@ -3137,38 +3452,43 @@ crypto-random-string@^2.0.0: currently-unhandled@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" - integrity sha1-mI3zP+qxke95mmE2nddsF635V+o= + integrity sha512-/fITjgjGU50vjQ4FH6eUoYu+iUoUKIXws2hL15JJpIR+BbTxaXQsMuuyjtNh2WqsSBS5nsaZHFsFecyw5CCAng== dependencies: array-find-index "^1.0.1" cyclist@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-1.0.1.tgz#596e9698fd0c80e12038c2b82d6eb1b35b6224d9" - integrity sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk= + integrity sha512-NJGVKPS81XejHcLhaLJS7plab0fK3slPh11mESeeDq2W4ZI5kUKK/LRRdVDvjJseojbPB7ZwjnyOybg3Igea/A== dargs@^4.0.1: version "4.1.0" resolved "https://registry.yarnpkg.com/dargs/-/dargs-4.1.0.tgz#03a9dbb4b5c2f139bf14ae53f0b8a2a6a86f4e17" - integrity sha1-A6nbtLXC8Tm/FK5T8LiipqhvThc= + integrity sha512-jyweV/k0rbv2WK4r9KLayuBrSh2Py0tNmV7LBoSMH4hMQyrG8OPyIOWB2VEx4DJKXWmK4lopYMVvORlDt2S8Aw== dependencies: number-is-nan "^1.0.0" dashdash@^1.12.0: version "1.14.1" resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" - integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= + integrity sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g== dependencies: assert-plus "^1.0.0" -date-and-time@^0.13.0: - version "0.13.1" - resolved "https://registry.yarnpkg.com/date-and-time/-/date-and-time-0.13.1.tgz#d12ba07ac840d5b112dc4c83f8a03e8a51f78dd6" - integrity sha512-/Uge9DJAT+s+oAcDxtBhyR8+sKjUnZbYmyhbmWjTHNtX7B7oWD8YyYdeXcBRbwSj6hVvj+IQegJam7m7czhbFw== +data-uri-to-buffer@3: + version "3.0.1" + resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-3.0.1.tgz#594b8973938c5bc2c33046535785341abc4f3636" + integrity sha512-WboRycPNsVw3B3TL559F7kuBUM4d8CgMEvk6xEJlOp7OBPjt6G7z8WMWlD2rOFZLk6OYfFIUGsCOWzcQH9K2og== date-utils@*: version "1.2.21" resolved "https://registry.yarnpkg.com/date-utils/-/date-utils-1.2.21.tgz#61fb16cdc1274b3c9acaaffe9fc69df8720a2b64" - integrity sha1-YfsWzcEnSzyayq/+n8ad+HIKK2Q= + integrity sha512-wJMBjqlwXR0Iv0wUo/lFbhSQ7MmG1hl36iuxuE91kW+5b5sWbase73manEqNH9sOLFAMG83B4ffNKq9/Iq0FVA== + +dateformat@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-2.2.0.tgz#4065e2013cf9fb916ddfd82efb506ad4c6769062" + integrity sha512-GODcnWq3YGoTnygPfi02ygEiRxqUxpJwuRHjdhJYuxpcZmDq4rjBiXYmbCCzStxo176ixfLT6i4NPwQooRySnw== dateformat@^3.0.0: version "3.0.3" @@ -3178,51 +3498,52 @@ dateformat@^3.0.0: de-indent@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/de-indent/-/de-indent-1.0.2.tgz#b2038e846dc33baa5796128d0804b455b8c1e21d" - integrity sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0= + integrity sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg== -debug@3.1.0, debug@=3.1.0: +debug@3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g== dependencies: ms "2.0.0" -debug@3.2.6, debug@^3.1.0: - version "3.2.6" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" +debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.2, debug@^4.3.4: + version "4.3.4" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" + integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== dependencies: - ms "^2.1.1" + ms "2.1.2" -debug@4, debug@^4.1.0, debug@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" - integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw== +debug@4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee" + integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ== dependencies: - ms "^2.1.1" + ms "2.1.2" -debug@^2.2.0, debug@^2.3.3: +debug@^2.2.0, debug@^2.3.3, debug@^2.6.9: version "2.6.9" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== dependencies: ms "2.0.0" -debug@^4.3.2: - version "4.3.4" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" - integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== +debug@^3.1.0: + version "3.2.7" + resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" + integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== dependencies: - ms "2.1.2" + ms "^2.1.1" debuglog@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/debuglog/-/debuglog-1.0.1.tgz#aa24ffb9ac3df9a2351837cfb2d279360cd78492" - integrity sha1-qiT/uaw9+aI1GDfPstJ5NgzXhJI= + integrity sha512-syBZ+rnAK3EgMsH2aYEOLUW7mZSY9Gb+0wUMCFsZvcmiz+HigA0LOcq/HoQqVuGG+EKykunc7QG2bzrponfaSw== decamelize-keys@^1.0.0, decamelize-keys@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/decamelize-keys/-/decamelize-keys-1.1.0.tgz#d171a87933252807eb3cb61dc1c1445d078df2d9" - integrity sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk= + integrity sha512-ocLWuYzRPoS9bfiSdDd3cxvrzovVMZnRDVEzAs+hWIVXGDbHxWMECij2OBuyB/An0FFW/nLuq6Kv1i/YC5Qfzg== dependencies: decamelize "^1.1.0" map-obj "^1.0.0" @@ -3230,12 +3551,17 @@ decamelize-keys@^1.0.0, decamelize-keys@^1.1.0: decamelize@^1.0.0, decamelize@^1.1.0, decamelize@^1.1.2, decamelize@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" - integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= + integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== + +decamelize@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-4.0.0.tgz#aa472d7bf660eb15f3494efd531cab7f2a709837" + integrity sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ== decode-uri-component@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" - integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= + integrity sha512-hjf+xovcEn31w/EUYdTXQh/8smFL/dzYjohQGEIgjyNavaJfBY2p5F527Bo1VPATxv0VYTUC2bOcXvqFwk78Og== decompress-response@^6.0.0: version "6.0.0" @@ -3247,27 +3573,43 @@ decompress-response@^6.0.0: dedent@^0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" - integrity sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw= + integrity sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA== deep-eql@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-3.0.1.tgz#dfc9404400ad1c8fe023e7da1df1c147c4b444df" + integrity sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw== dependencies: type-detect "^4.0.0" deep-equal@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.0.1.tgz#f5d260292b660e084eff4cdbc9f08ad3247448b5" + version "1.1.1" + resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.1.1.tgz#b5c98c942ceffaf7cb051e24e1434a25a2e6076a" + integrity sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g== + dependencies: + is-arguments "^1.0.4" + is-date-object "^1.0.1" + is-regex "^1.0.4" + object-is "^1.0.1" + object-keys "^1.1.1" + regexp.prototype.flags "^1.2.0" -deep-is@^0.1.3: +deep-is@^0.1.3, deep-is@~0.1.3: version "0.1.4" resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== +default-user-agent@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/default-user-agent/-/default-user-agent-1.0.0.tgz#16c46efdcaba3edc45f24f2bd4868b01b7c2adc6" + integrity sha512-bDF7bg6OSNcSwFWPu4zYKpVkJZQYVrAANMYB8bc9Szem1D0yKdm4sa/rOCs2aC9+2GMqQ7KnwtZRvDhmLF0dXw== + dependencies: + os-name "~1.0.3" + defaults@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.3.tgz#c656051e9817d9ff08ed881477f3fe4019f3ef7d" - integrity sha1-xlYFHpgX2f8I7YgUd/P+QBnz730= + integrity sha512-s82itHOnYrN0Ib8r+z7laQz3sdE+4FP3d9Q7VLO7U+KRT+CR0GsWuyHxzdAY82I7cXv0G/twrqomTJLOssO5HA== dependencies: clone "^1.0.2" @@ -3276,24 +3618,25 @@ defer-to-connect@^2.0.0: resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-2.0.1.tgz#8016bdb4143e4632b77a3449c6236277de520587" integrity sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg== -define-properties@^1.1.2, define-properties@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" - integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== +define-properties@^1.1.3, define-properties@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.4.tgz#0b14d7bd7fbeb2f3572c3a7eda80ea5d57fb05b1" + integrity sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA== dependencies: - object-keys "^1.0.12" + has-property-descriptors "^1.0.0" + object-keys "^1.1.1" define-property@^0.2.5: version "0.2.5" resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" - integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= + integrity sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA== dependencies: is-descriptor "^0.1.0" define-property@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" - integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= + integrity sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA== dependencies: is-descriptor "^1.0.0" @@ -3305,44 +3648,76 @@ define-property@^2.0.2: is-descriptor "^1.0.2" isobject "^3.0.1" +degenerator@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/degenerator/-/degenerator-3.0.2.tgz#6a61fcc42a702d6e50ff6023fe17bff435f68235" + integrity sha512-c0mef3SNQo56t6urUU6tdQAs+ThoD0o9B9MJ8HEt7NQcGEILCRFqQb7ZbP9JAv+QF1Ky5plydhMR/IrqWDm+TQ== + dependencies: + ast-types "^0.13.2" + escodegen "^1.8.1" + esprima "^4.0.0" + vm2 "^3.9.8" + delayed-stream@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= + integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== delegates@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" - integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o= + integrity sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ== + +depd@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" + integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== deprecation@^2.0.0, deprecation@^2.3.1: version "2.3.1" resolved "https://registry.yarnpkg.com/deprecation/-/deprecation-2.3.1.tgz#6368cbdb40abf3373b525ac87e4a260c3a700919" integrity sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ== +destroy@^1.0.4: + version "1.2.0" + resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015" + integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== + detect-indent@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-5.0.0.tgz#3871cc0a6a002e8c3e5b3cf7f336264675f06b9d" - integrity sha1-OHHMCmoALow+Wzz38zYmRnXwa50= + integrity sha512-rlpvsxUtM0PQvy9iZe640/IWwWYyBsTApREbA1pHOpmOUIl9MkP/U4z7vTtg4Oaojvqhxt7sdufnT0EzGaR31g== dezalgo@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/dezalgo/-/dezalgo-1.0.3.tgz#7f742de066fc748bc8db820569dddce49bf0d456" - integrity sha1-f3Qt4Gb8dIvI24IFad3c5Jvw1FY= + version "1.0.4" + resolved "https://registry.yarnpkg.com/dezalgo/-/dezalgo-1.0.4.tgz#751235260469084c132157dfa857f386d4c33d81" + integrity sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig== dependencies: asap "^2.0.0" wrappy "1" -diff-match-patch@^1.0.4: +diff-match-patch@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/diff-match-patch/-/diff-match-patch-1.0.5.tgz#abb584d5f10cd1196dfc55aa03701592ae3f7b37" integrity sha512-IayShXAgj/QMXgB0IWmKx+rOPuGMhqm5w6jvFxmVenXKIzRqTAAsbBPT3kWQeGANj3jGgvcvv4yK6SxqYmikgw== -diff@4.0.2, diff@^4.0.1: +diff@5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/diff/-/diff-5.0.0.tgz#7ed6ad76d859d030787ec35855f5b1daf31d852b" + integrity sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w== + +diff@^4.0.1: version "4.0.2" resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== +digest-header@^0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/digest-header/-/digest-header-0.0.1.tgz#11ccf6deec5766ac379744d901c12cba49514be6" + integrity sha512-Qi0KOZgRnkQJuvMWbs1ZRRajEnbsMU8xlJI4rHIbPC+skHQ30heO5cIHpUFT4jAvAe+zPtdavLSAxASqoyZ3cg== + dependencies: + utility "0.1.11" + dir-glob@^2.2.2: version "2.2.2" resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-2.2.2.tgz#fa09f0694153c8918b18ba0deafae94769fc50c4" @@ -3357,10 +3732,10 @@ dir-glob@^3.0.1: dependencies: path-type "^4.0.0" -dns-zonefile@0.2.6: - version "0.2.6" - resolved "https://registry.yarnpkg.com/dns-zonefile/-/dns-zonefile-0.2.6.tgz#9daf46d9001bcba4b9133ac307ae1128e50d3c8a" - integrity sha512-8hkrtLbVNqCgnRQv8jjit8MnGzqYBouxoP/WMAObbN0aPr43hy/Ml+VxMXKC75lRz2DEwUFN2SNpVnrrQWobew== +dns-zonefile@0.2.10: + version "0.2.10" + resolved "https://registry.yarnpkg.com/dns-zonefile/-/dns-zonefile-0.2.10.tgz#c9c1c4e74ff9a1c99636ae77e1440f0642d4dddd" + integrity sha512-YXs0T8EjhwI3YFpL4l7n9Uy+g/ufmd3WyDSQsI4mrMNlrrdgK6aN0AbNjOkKoHyF59l/x4Y3/z64F3aJWCKWpg== do-wrapper@^4.5.1: version "4.5.1" @@ -3379,35 +3754,28 @@ doctrine@^3.0.0: doctypes@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/doctypes/-/doctypes-1.1.0.tgz#ea80b106a87538774e8a3a4a5afe293de489e0a9" - integrity sha1-6oCxBqh1OHdOijpKWv4pPeSJ4Kk= - -dot-prop@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-3.0.0.tgz#1b708af094a49c9a0e7dbcad790aba539dac1177" - integrity sha1-G3CK8JSknJoOfbyteQq6U52sEXc= - dependencies: - is-obj "^1.0.0" + integrity sha512-LLBi6pEqS6Do3EKQ3J0NqHWV5hhb78Pi8vvESYwyOy2c31ZEZVdtitdzsQsKb7878PEERhzUk0ftqGhG6Mz+pQ== dot-prop@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.2.0.tgz#1f19e0c2e1aa0e32797c49799f2837ac6af69c57" - integrity sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ== + version "4.2.1" + resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.2.1.tgz#45884194a71fc2cda71cbb4bceb3a4dd2f433ba4" + integrity sha512-l0p4+mIuJIua0mhxGoh4a+iNL9bmeK5DvnSVQa6T0OhrVmaEa1XScX5Etc673FePCJOArq/4Pa2cLGODUWTPOQ== dependencies: is-obj "^1.0.0" -dot-prop@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.2.0.tgz#c34ecc29556dc45f1f4c22697b6f4904e0cc4fcb" - integrity sha512-uEUyaDKoSQ1M4Oq8l45hSE26SnTxL6snNnqvK/VWx5wJhmff5z0FUVJDKDanor/6w3kzE3i7XZOk+7wC0EXr1A== +dot-prop@^5.1.0, dot-prop@^5.2.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88" + integrity sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q== dependencies: is-obj "^2.0.0" duplexer@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1" - integrity sha1-rOb/gIwc5mtX0ev5eXessCM0z8E= + version "0.1.2" + resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6" + integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg== -duplexify@^3.4.2, duplexify@^3.5.0, duplexify@^3.6.0: +duplexify@^3.4.2, duplexify@^3.6.0: version "3.7.1" resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309" integrity sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g== @@ -3417,10 +3785,10 @@ duplexify@^3.4.2, duplexify@^3.5.0, duplexify@^3.6.0: readable-stream "^2.0.0" stream-shift "^1.0.0" -duplexify@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-4.1.1.tgz#7027dc374f157b122a8ae08c2d3ea4d2d953aa61" - integrity sha512-DY3xVEmVHTv1wSzKNbwoU6nVjzI369Y6sPoqfYr0/xlx3IdX2n94xIszTcjPO8W8ZIv0Wb0PXNcjuZyT4wiICA== +duplexify@^4.0.0, duplexify@^4.1.1: + version "4.1.2" + resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-4.1.2.tgz#18b4f8d28289132fa0b9573c898d9f903f81c7b0" + integrity sha512-fz3OjcNCHmRP12MJoZMPglx8m4rrFP8rovnk4vT8Fs+aonZoCwGg10dSsQsfP/E62eZcPTMSMP6686fu9Qlqtw== dependencies: end-of-stream "^1.4.1" inherits "^2.0.3" @@ -3430,7 +3798,7 @@ duplexify@^4.1.1: ecc-jsbn@~0.1.1: version "0.1.2" resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" - integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= + integrity sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw== dependencies: jsbn "~0.1.0" safer-buffer "^2.1.0" @@ -3442,6 +3810,16 @@ ecdsa-sig-formatter@1.0.11, ecdsa-sig-formatter@^1.0.11: dependencies: safe-buffer "^5.0.1" +ee-first@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" + integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== + +electron-to-chromium@^1.4.202: + version "1.4.233" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.233.tgz#aa142e45468bda111b88abc9cc59d573b75d6a60" + integrity sha512-ejwIKXTg1wqbmkcRJh9Ur3hFGHFDZDw1POzdsVrB2WZjgRuRMHIQQKNpe64N/qh3ZtH2otEoRoS+s6arAAuAAw== + emoji-regex@^7.0.1: version "7.0.3" resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" @@ -3453,84 +3831,90 @@ emoji-regex@^8.0.0: integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== encoding@^0.1.11: - version "0.1.12" - resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.12.tgz#538b66f3ee62cd1ab51ec323829d1f9480c74beb" - integrity sha1-U4tm8+5izRq1HsMjgp0flIDHS+s= + version "0.1.13" + resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.13.tgz#56574afdd791f54a8e9b2785c0582a2d26210fa9" + integrity sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A== dependencies: - iconv-lite "~0.4.13" + iconv-lite "^0.6.2" end-of-stream@^1.0.0, end-of-stream@^1.1.0, end-of-stream@^1.4.1: version "1.4.4" resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" + integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== dependencies: once "^1.4.0" +end-or-error@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/end-or-error/-/end-or-error-1.0.1.tgz#dc7a6210fe78d372fee24a8b4899dbd155414dcb" + integrity sha512-OclLMSug+k2A0JKuf494im25ANRBVW8qsjmwbgX7lQ8P82H21PQ1PWkoYwb9y5yMBS69BPlwtzdIFClo3+7kOQ== + ent@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/ent/-/ent-2.2.0.tgz#e964219325a21d05f44466a2f686ed6ce5f5dd1d" - integrity sha1-6WQhkyWiHQX0RGai9obtbOX13R0= + integrity sha512-GHrMyVZQWvTIdDtpiEXdHZnFQKzeO09apj8Cbl4pKWy4i0Oprcq17usfDt5aO63swf0JOeMWjWQE/LzgSRuWpA== -entities@~2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/entities/-/entities-2.0.3.tgz#5c487e5742ab93c15abb5da22759b8590ec03b7f" - integrity sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ== +entities@~2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/entities/-/entities-2.1.0.tgz#992d3129cf7df6870b96c57858c249a120f8b8b5" + integrity sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w== env-paths@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.0.tgz#cdca557dc009152917d6166e2febe1f039685e43" - integrity sha512-6u0VYSCo/OW6IoD5WCLLy9JUGARbamfSavcNXry/eu8aHVFei6CD3Sw+VGX5alea1i9pgPHW0mbu6Xj0uBh7gA== + version "2.2.1" + resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.1.tgz#420399d416ce1fbe9bc0a07c62fa68d67fd0f8f2" + integrity sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A== envinfo@^7.3.1: - version "7.5.1" - resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.5.1.tgz#93c26897225a00457c75e734d354ea9106a72236" - integrity sha512-hQBkDf2iO4Nv0CNHpCuSBeaSrveU6nThVxFGTrq/eDlV716UQk09zChaJae4mZRsos1x4YLY2TaH3LHUae3ZmQ== + version "7.8.1" + resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.8.1.tgz#06377e3e5f4d379fea7ac592d5ad8927e0c4d475" + integrity sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw== err-code@^1.0.0: version "1.1.2" resolved "https://registry.yarnpkg.com/err-code/-/err-code-1.1.2.tgz#06e0116d3028f6aef4806849eb0ea6a748ae6960" - integrity sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA= + integrity sha512-CJAN+O0/yA1CKfRn9SXOGctSpEM7DCon/r/5r2eXFMY2zCCJBasFhcM5I+1kh3Ap11FsQCX+vGHceNPvpWKhoA== error-ex@^1.2.0, error-ex@^1.3.1: version "1.3.2" resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" + integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== dependencies: is-arrayish "^0.2.1" -es-abstract@^1.17.0-next.1, es-abstract@^1.17.4, es-abstract@^1.17.5: - version "1.17.6" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.17.6.tgz#9142071707857b2cacc7b89ecb670316c3e2d52a" - integrity sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw== +es-abstract@^1.19.0, es-abstract@^1.19.2, es-abstract@^1.19.5, es-abstract@^1.20.0, es-abstract@^1.20.1: + version "1.20.1" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.20.1.tgz#027292cd6ef44bd12b1913b828116f54787d1814" + integrity sha512-WEm2oBhfoI2sImeM4OF2zE2V3BYdSF+KnSi9Sidz51fQHd7+JuF8Xgcj9/0o+OWeIeIS/MiuNnlruQrJf16GQA== dependencies: + call-bind "^1.0.2" es-to-primitive "^1.2.1" function-bind "^1.1.1" + function.prototype.name "^1.1.5" + get-intrinsic "^1.1.1" + get-symbol-description "^1.0.0" has "^1.0.3" - has-symbols "^1.0.1" - is-callable "^1.2.0" - is-regex "^1.1.0" - object-inspect "^1.7.0" + has-property-descriptors "^1.0.0" + has-symbols "^1.0.3" + internal-slot "^1.0.3" + is-callable "^1.2.4" + is-negative-zero "^2.0.2" + is-regex "^1.1.4" + is-shared-array-buffer "^1.0.2" + is-string "^1.0.7" + is-weakref "^1.0.2" + object-inspect "^1.12.0" object-keys "^1.1.1" - object.assign "^4.1.0" - string.prototype.trimend "^1.0.1" - string.prototype.trimstart "^1.0.1" + object.assign "^4.1.2" + regexp.prototype.flags "^1.4.3" + string.prototype.trimend "^1.0.5" + string.prototype.trimstart "^1.0.5" + unbox-primitive "^1.0.2" es-array-method-boxes-properly@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz#873f3e84418de4ee19c5be752990b2e44718d09e" integrity sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA== -es-get-iterator@^1.0.2: - version "1.1.0" - resolved "https://registry.yarnpkg.com/es-get-iterator/-/es-get-iterator-1.1.0.tgz#bb98ad9d6d63b31aacdc8f89d5d0ee57bcb5b4c8" - integrity sha512-UfrmHuWQlNMTs35e1ypnvikg6jCz3SK8v8ImvmDsh36fCVUR1MqoFDiyn0/k52C8NqO3YsO8Oe0azeesNuqSsQ== - dependencies: - es-abstract "^1.17.4" - has-symbols "^1.0.1" - is-arguments "^1.0.4" - is-map "^2.0.1" - is-set "^2.0.1" - is-string "^1.0.5" - isarray "^2.0.5" - es-to-primitive@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" @@ -3548,23 +3932,46 @@ es6-promise@^4.0.3: es6-promisify@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/es6-promisify/-/es6-promisify-5.0.0.tgz#5109d62f3e56ea967c4b63505aef08291c8a5203" - integrity sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM= + integrity sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ== dependencies: es6-promise "^4.0.3" -escape-string-regexp@1.0.5, escape-string-regexp@^1.0.5: +escalade@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" + integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== + +escape-html@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" + integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== + +escape-string-regexp@4.0.0, escape-string-regexp@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" + integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== + +escape-string-regexp@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== escape-string-regexp@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== -escape-string-regexp@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" - integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== +escodegen@^1.8.1: + version "1.14.3" + resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.14.3.tgz#4e7b81fba61581dc97582ed78cab7f0e8d63f503" + integrity sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw== + dependencies: + esprima "^4.0.1" + estraverse "^4.2.0" + esutils "^2.0.2" + optionator "^0.8.1" + optionalDependencies: + source-map "~0.6.1" eslint-plugin-simple-import-sort@^7.0.0: version "7.0.0" @@ -3599,18 +4006,20 @@ eslint-visitor-keys@^2.0.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== -eslint-visitor-keys@^3.0.0, eslint-visitor-keys@^3.3.0: +eslint-visitor-keys@^3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826" integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== eslint@^8.13.0: - version "8.13.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.13.0.tgz#6fcea43b6811e655410f5626cfcf328016badcd7" - integrity sha512-D+Xei61eInqauAyTJ6C0q6x9mx7kTUC1KZ0m0LSEexR0V+e94K12LmWX076ZIsldwfQ2RONdaJe0re0TRGQbRQ== - dependencies: - "@eslint/eslintrc" "^1.2.1" - "@humanwhocodes/config-array" "^0.9.2" + version "8.23.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.23.0.tgz#a184918d288820179c6041bb3ddcc99ce6eea040" + integrity sha512-pBG/XOn0MsJcKcTRLr27S5HpzQo4kLr+HjLQIyK4EiCsijDl/TB+h5uEuJU6bQ8Edvwz1XWOjpaP2qgnXGpTcA== + dependencies: + "@eslint/eslintrc" "^1.3.1" + "@humanwhocodes/config-array" "^0.10.4" + "@humanwhocodes/gitignore-to-minimatch" "^1.0.2" + "@humanwhocodes/module-importer" "^1.0.1" ajv "^6.10.0" chalk "^4.0.0" cross-spawn "^7.0.2" @@ -3620,14 +4029,17 @@ eslint@^8.13.0: eslint-scope "^7.1.1" eslint-utils "^3.0.0" eslint-visitor-keys "^3.3.0" - espree "^9.3.1" + espree "^9.4.0" esquery "^1.4.0" esutils "^2.0.2" fast-deep-equal "^3.1.3" file-entry-cache "^6.0.1" + find-up "^5.0.0" functional-red-black-tree "^1.0.1" glob-parent "^6.0.1" - globals "^13.6.0" + globals "^13.15.0" + globby "^11.1.0" + grapheme-splitter "^1.0.4" ignore "^5.2.0" import-fresh "^3.0.0" imurmurhash "^0.1.4" @@ -3636,27 +4048,27 @@ eslint@^8.13.0: json-stable-stringify-without-jsonify "^1.0.1" levn "^0.4.1" lodash.merge "^4.6.2" - minimatch "^3.0.4" + minimatch "^3.1.2" natural-compare "^1.4.0" optionator "^0.9.1" regexpp "^3.2.0" strip-ansi "^6.0.1" strip-json-comments "^3.1.0" text-table "^0.2.0" - v8-compile-cache "^2.0.3" -espree@^9.3.1: - version "9.3.1" - resolved "https://registry.yarnpkg.com/espree/-/espree-9.3.1.tgz#8793b4bc27ea4c778c19908e0719e7b8f4115bcd" - integrity sha512-bvdyLmJMfwkV3NCRl5ZhJf22zBFo1y8bYh3VYb+bfzqNB4Je68P2sSuXyuFquzWLebHpNd2/d5uv7yoP9ISnGQ== +espree@^9.4.0: + version "9.4.0" + resolved "https://registry.yarnpkg.com/espree/-/espree-9.4.0.tgz#cd4bc3d6e9336c433265fc0aa016fc1aaf182f8a" + integrity sha512-DQmnRpLj7f6TgN/NYb0MTzJXL+vJF9h3pHy4JhCIs3zwcgez8xmGg3sXHcEO97BrmO2OSvCwMdfdlyl+E9KjOw== dependencies: - acorn "^8.7.0" - acorn-jsx "^5.3.1" + acorn "^8.8.0" + acorn-jsx "^5.3.2" eslint-visitor-keys "^3.3.0" -esprima@^4.0.0, esprima@~4.0.0: +esprima@^4.0.0, esprima@^4.0.1, esprima@~4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== esquery@^1.4.0: version "1.4.0" @@ -3672,7 +4084,7 @@ esrecurse@^4.3.0: dependencies: estraverse "^5.2.0" -estraverse@^4.1.1: +estraverse@^4.1.1, estraverse@^4.2.0: version "4.3.0" resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== @@ -3682,6 +4094,15 @@ estraverse@^5.1.0, estraverse@^5.2.0: resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== +estree-to-babel@^3.1.0: + version "3.2.1" + resolved "https://registry.yarnpkg.com/estree-to-babel/-/estree-to-babel-3.2.1.tgz#82e78315275c3ca74475fdc8ac1a5103c8a75bf5" + integrity sha512-YNF+mZ/Wu2FU/gvmzuWtYc8rloubL7wfXCTgouFrnjGVXPA/EeYYA7pupXWrb3Iv1cTBeSSxxJIbK23l4MRNqg== + dependencies: + "@babel/traverse" "^7.1.6" + "@babel/types" "^7.2.0" + c8 "^7.6.0" + esutils@^2.0.2: version "2.0.3" resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" @@ -3698,23 +4119,24 @@ eventemitter3@^3.1.0: integrity sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q== eventemitter3@^4.0.4: - version "4.0.5" - resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.5.tgz#51d81e4f1ccc8311a04f0c20121ea824377ea6d9" - integrity sha512-QR0rh0YiPuxuDQ6+T9GAO/xWTExXpxIes1Nl9RykNGTnE1HJmkuEfxJH9cubjIOQZ/GH4qNBR4u8VSHaKiWs4g== + version "4.0.7" + resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" + integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== events-intercept@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/events-intercept/-/events-intercept-2.0.0.tgz#adbf38681c5a4b2011c41ee41f61a34cba448897" - integrity sha1-rb84aBxaSyARxB7kH2GjTLpEiJc= + integrity sha512-blk1va0zol9QOrdZt0rFXo5KMkNPVSp92Eju/Qz8THwKWKRKeE0T8Br/1aW6+Edkyq9xHYgYxn2QtOnUKPUp+Q== events@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924" - integrity sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ= + integrity sha512-kEcvvCBByWXGnZy6JUlgAp2gBIUjfCAV6P6TgT1/aaQKcmuAEC4OZTV1I4EWQLz2gxZw76atuVyvHhTxvi0Flw== execa@^0.8.0: version "0.8.0" resolved "https://registry.yarnpkg.com/execa/-/execa-0.8.0.tgz#d8d76bbc1b55217ed190fd6dd49d3c774ecfc8da" + integrity sha512-zDWS+Rb1E8BlqqhALSt9kUhss8Qq4nN3iof3gsOdyINksElaPyNBtKUMTR62qhvgVWR0CqCX7sdnKe4MnUbFEA== dependencies: cross-spawn "^5.0.1" get-stream "^3.0.0" @@ -3727,6 +4149,7 @@ execa@^0.8.0: execa@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" + integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== dependencies: cross-spawn "^6.0.0" get-stream "^4.0.0" @@ -3739,7 +4162,7 @@ execa@^1.0.0: expand-brackets@^2.1.4: version "2.1.4" resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" - integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= + integrity sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA== dependencies: debug "^2.3.3" define-property "^0.2.5" @@ -3752,14 +4175,14 @@ expand-brackets@^2.1.4: extend-shallow@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" - integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= + integrity sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug== dependencies: is-extendable "^0.1.0" extend-shallow@^3.0.0, extend-shallow@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" - integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= + integrity sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q== dependencies: assign-symbols "^1.0.0" is-extendable "^1.0.1" @@ -3795,12 +4218,12 @@ extglob@^2.0.4: extsprintf@1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" - integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= + integrity sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g== extsprintf@^1.2.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" - integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= + version "1.4.1" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.1.tgz#8d172c064867f235c0c84a596806d279bf4bcc07" + integrity sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA== fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: version "3.1.3" @@ -3835,15 +4258,15 @@ fast-json-stable-stringify@^2.0.0: resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== -fast-levenshtein@^2.0.6: +fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" - integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= + integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== -fast-text-encoding@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/fast-text-encoding/-/fast-text-encoding-1.0.3.tgz#ec02ac8e01ab8a319af182dae2681213cfe9ce53" - integrity sha512-dtm4QZH9nZtcDt8qJiOH9fcQd1NAgi+K1O2DbE6GG1PPCK/BWfOH3idCTRQ4ImXRUOyopDEgDEnVEE7Y/2Wrig== +fast-text-encoding@^1.0.0, fast-text-encoding@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/fast-text-encoding/-/fast-text-encoding-1.0.4.tgz#bf1898ad800282a4e53c0ea9690704dd26e4298e" + integrity sha512-x6lDDm/tBAzX9kmsPcZsNbvDs3Zey3+scsxaZElS8xWLgUMAg/oFLeewfUz0mu1CblHhhsu15jGkraldkFh8KQ== fastq@^1.6.0: version "1.13.0" @@ -3860,7 +4283,7 @@ figgy-pudding@^3.4.1, figgy-pudding@^3.5.1: figures@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962" - integrity sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI= + integrity sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA== dependencies: escape-string-regexp "^1.0.5" @@ -3871,10 +4294,15 @@ file-entry-cache@^6.0.1: dependencies: flat-cache "^3.0.4" +file-uri-to-path@2: + version "2.0.0" + resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-2.0.0.tgz#7b415aeba227d575851e0a5b0c640d7656403fba" + integrity sha512-hjPFI8oE/2iQPVe4gbrJ73Pp+Xfub2+WI2LlXDbsaJBwT5wuMh35WNWVYYTpnz895shtwfyutMFLFywpQAFdLg== + fill-range@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" - integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= + integrity sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ== dependencies: extend-shallow "^2.0.1" is-number "^3.0.0" @@ -3888,18 +4316,23 @@ fill-range@^7.0.1: dependencies: to-regex-range "^5.0.1" -find-up@4.1.0, find-up@^4.0.0, find-up@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" - integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== +filter-obj@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/filter-obj/-/filter-obj-1.1.0.tgz#9b311112bc6c6127a16e016c6c5d7f19e0805c5b" + integrity sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ== + +find-up@5.0.0, find-up@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" + integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== dependencies: - locate-path "^5.0.0" + locate-path "^6.0.0" path-exists "^4.0.0" find-up@^1.0.0: version "1.1.2" resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" - integrity sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8= + integrity sha512-jvElSjyuo4EMQGoTwo1uJU5pQMwTW5lS1x05zzfJuTIyLR3zwO27LYrxNg+dlvKpGOuGy/MzBdXh80g0ve5+HA== dependencies: path-exists "^2.0.0" pinkie-promise "^2.0.0" @@ -3907,22 +4340,31 @@ find-up@^1.0.0: find-up@^2.0.0, find-up@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" - integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c= + integrity sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ== dependencies: locate-path "^2.0.0" find-up@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" + integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== dependencies: locate-path "^3.0.0" -find-versions@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/find-versions/-/find-versions-3.2.0.tgz#10297f98030a786829681690545ef659ed1d254e" - integrity sha512-P8WRou2S+oe222TOCHitLy8zj+SIsVJh52VP4lvXkaFVnOFFdoWv1H1Jjvel1aI6NCFOAaeAVm8qrI0odiLcww== +find-up@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" + integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== + dependencies: + locate-path "^5.0.0" + path-exists "^4.0.0" + +find-versions@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/find-versions/-/find-versions-4.0.0.tgz#3c57e573bf97769b8cb8df16934b627915da4965" + integrity sha512-wgpWy002tA+wgmO27buH/9KzyEOQnKsG/R0yrcjPT9BOFm0zRBVQbZ95nRGXWMywS8YR5knRbpohio0bcJABxQ== dependencies: - semver-regex "^2.0.0" + semver-regex "^3.1.2" flat-cache@^3.0.4: version "3.0.4" @@ -3932,17 +4374,15 @@ flat-cache@^3.0.4: flatted "^3.1.0" rimraf "^3.0.2" -flat@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/flat/-/flat-4.1.0.tgz#090bec8b05e39cba309747f1d588f04dbaf98db2" - integrity sha512-Px/TiLIznH7gEDlPXcUD4KnBusa6kR6ayRUVcnEAbreRIuhkqow/mun59BuRXwoYk7ZQOLW1ZM05ilIvK38hFw== - dependencies: - is-buffer "~2.0.3" +flat@^5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" + integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== flatted@^3.1.0: - version "3.2.5" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.5.tgz#76c8584f4fc843db64702a6bd04ab7a8bd666da3" - integrity sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg== + version "3.2.7" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.7.tgz#609f39207cb614b89d0765b477cb2d437fbf9787" + integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ== flush-write-stream@^1.0.0: version "1.1.1" @@ -3952,22 +4392,35 @@ flush-write-stream@^1.0.0: inherits "^2.0.3" readable-stream "^2.3.6" -follow-redirects@1.5.10: - version "1.5.10" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.5.10.tgz#7b7a9f9aea2fdff36786a94ff643ed07f4ff5e2a" - integrity sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ== +follow-redirects@^1.14.0: + version "1.15.1" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.1.tgz#0ca6a452306c9b276e4d3127483e29575e207ad5" + integrity sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA== + +for-each@^0.3.3: + version "0.3.3" + resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" + integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== dependencies: - debug "=3.1.0" + is-callable "^1.1.3" for-in@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" - integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= + integrity sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ== + +foreground-child@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-2.0.0.tgz#71b32800c9f15aa8f2f83f4a6bd9bff35d861a53" + integrity sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA== + dependencies: + cross-spawn "^7.0.0" + signal-exit "^3.0.2" forever-agent@~0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" - integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= + integrity sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw== form-data@^2.3.2, form-data@^2.5.0: version "2.5.1" @@ -3978,15 +4431,6 @@ form-data@^2.3.2, form-data@^2.5.0: combined-stream "^1.0.6" mime-types "^2.1.12" -form-data@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.0.tgz#31b7e39c85f1355b7139ee0c647cf0de7f83c682" - integrity sha512-CKMFDglpbMi6PyN+brwB9Q/GOw0eAnsrEZDgcsH5Krhz5Od/haKHAX0NmQfha2zPPz0JpWzA7GJHGSnvCRLWsg== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.8" - mime-types "^2.1.12" - form-data@~2.3.2: version "2.3.3" resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" @@ -3996,17 +4440,26 @@ form-data@~2.3.2: combined-stream "^1.0.6" mime-types "^2.1.12" +formstream@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/formstream/-/formstream-1.1.1.tgz#17259d2440c35ca9736db9f45fb3ba3f8669c750" + integrity sha512-yHRxt3qLFnhsKAfhReM4w17jP+U1OlhUjnKPPtonwKbIJO7oBP0MvoxkRUwb8AU9n0MIkYy5X5dK6pQnbj+R2Q== + dependencies: + destroy "^1.0.4" + mime "^2.5.2" + pause-stream "~0.0.11" + fragment-cache@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" - integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= + integrity sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA== dependencies: map-cache "^0.2.2" from2@^2.1.0: version "2.3.0" resolved "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af" - integrity sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8= + integrity sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g== dependencies: inherits "^2.0.1" readable-stream "^2.0.0" @@ -4020,7 +4473,7 @@ fs-extra@^8.1.0: jsonfile "^4.0.0" universalify "^0.1.0" -fs-minipass@^1.2.5: +fs-minipass@^1.2.7: version "1.2.7" resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.7.tgz#ccff8570841e7fe4265693da88936c55aed7f7c7" integrity sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA== @@ -4030,7 +4483,7 @@ fs-minipass@^1.2.5: fs-write-stream-atomic@^1.0.8: version "1.0.10" resolved "https://registry.yarnpkg.com/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz#b47df53493ef911df75731e70a9ded0189db40c9" - integrity sha1-tH31NJPvkR33VzHnCp3tAYnbQMk= + integrity sha512-gehEzmPn2nAwr39eay+x3X34Ra+M2QlVUTLhkXPjWdeO8RF9kszk116avgBJM3ZyNHgHXBNx+VmPaFC36k0PzA== dependencies: graceful-fs "^4.1.2" iferr "^0.1.5" @@ -4040,26 +4493,50 @@ fs-write-stream-atomic@^1.0.8: fs.realpath@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== -fsevents@~2.1.2: - version "2.1.3" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.3.tgz#fb738703ae8d2f9fe900c33836ddebee8b97f23e" - integrity sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ== +fsevents@~2.3.1: + version "2.3.2" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" + integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== + +ftp@^0.3.10: + version "0.3.10" + resolved "https://registry.yarnpkg.com/ftp/-/ftp-0.3.10.tgz#9197d861ad8142f3e63d5a83bfe4c59f7330885d" + integrity sha512-faFVML1aBx2UoDStmLwv2Wptt4vw5x03xxX172nhA5Y5HBshW5JweqQ2W4xL4dezQTG8inJsuYcpPHHU3X5OTQ== + dependencies: + readable-stream "1.1.x" + xregexp "2.0.0" function-bind@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== +function.prototype.name@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.5.tgz#cce0505fe1ffb80503e6f9e46cc64e46a12a9621" + integrity sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.0" + functions-have-names "^1.2.2" + functional-red-black-tree@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" - integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= + integrity sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g== + +functions-have-names@^1.2.2: + version "1.2.3" + resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" + integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== gauge@~2.7.3: version "2.7.4" resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" - integrity sha1-LANAXHU4w51+s3sxcCLjJfsBi/c= + integrity sha512-14x4kjc6lkD3ltw589k0NrPD6cCNTD6CWoVUNpB85+DrtONoZn+Rug6xZU5RvSC4+TZPxA5AnBibQYAvZn41Hg== dependencies: aproba "^1.0.3" console-control-strings "^1.0.0" @@ -4070,76 +4547,44 @@ gauge@~2.7.3: strip-ansi "^3.0.1" wide-align "^1.1.0" -gaxios@^2.1.0: - version "2.3.4" - resolved "https://registry.yarnpkg.com/gaxios/-/gaxios-2.3.4.tgz#eea99353f341c270c5f3c29fc46b8ead56f0a173" - integrity sha512-US8UMj8C5pRnao3Zykc4AAVr+cffoNKRTg9Rsf2GiuZCW69vgJj38VK2PzlPuQU73FZ/nTk9/Av6/JGcE1N9vA== - dependencies: - abort-controller "^3.0.0" - extend "^3.0.2" - https-proxy-agent "^5.0.0" - is-stream "^2.0.0" - node-fetch "^2.3.0" - -gaxios@^3.0.0: - version "3.0.3" - resolved "https://registry.yarnpkg.com/gaxios/-/gaxios-3.0.3.tgz#497730758f5b0d43a32ebdbebe5f1bd9f7db7aed" - integrity sha512-PkzQludeIFhd535/yucALT/Wxyj/y2zLyrMwPcJmnLHDugmV49NvAi/vb+VUq/eWztATZCNcb8ue+ywPG+oLuw== +gaxios@^4.0.0: + version "4.3.3" + resolved "https://registry.yarnpkg.com/gaxios/-/gaxios-4.3.3.tgz#d44bdefe52d34b6435cc41214fdb160b64abfc22" + integrity sha512-gSaYYIO1Y3wUtdfHmjDUZ8LWaxJQpiavzbF5Kq53akSzvmVg0RfyOcFDbO1KJ/KCGRFz2qG+lS81F0nkr7cRJA== dependencies: abort-controller "^3.0.0" extend "^3.0.2" https-proxy-agent "^5.0.0" is-stream "^2.0.0" - node-fetch "^2.3.0" + node-fetch "^2.6.7" gce-images@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/gce-images/-/gce-images-3.0.0.tgz#1fb5e6bf675c56517a0347e81115cb551c163f0a" - integrity sha512-MiqBZhDIJge+LHPE3fDME8/jc+G7UFg0YrFUPHzc/c6LlmS6s5xwWoV+cD4SGe8/BGgMhr34gQ5OtJFV9pZ9jg== + version "3.0.5" + resolved "https://registry.yarnpkg.com/gce-images/-/gce-images-3.0.5.tgz#cb3ea184c1587e8691635e259e65fcdf36486a34" + integrity sha512-ZREua+dI0QijvT/qj4LH1e2QaZLOFWuDApjoPI8Fdem3syXlJdo+Yor9IuLTv6AWFU6DlrRsldMPJSHkiZbffg== dependencies: arrify "^2.0.0" - google-auth-library "^6.0.0" - -gcp-metadata@^3.5.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/gcp-metadata/-/gcp-metadata-3.5.0.tgz#6d28343f65a6bbf8449886a0c0e4a71c77577055" - integrity sha512-ZQf+DLZ5aKcRpLzYUyBS3yo3N0JSa82lNDO8rj3nMSlovLcz2riKFBsYgDzeXcv75oo5eqB2lx+B14UvPoCRnA== - dependencies: - gaxios "^2.1.0" - json-bigint "^0.3.0" - -gcp-metadata@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/gcp-metadata/-/gcp-metadata-4.1.0.tgz#8b9b5903882076948554af471c838e7ea2f564b4" - integrity sha512-r57SV28+olVsflPlKyVig3Muo/VDlcsObMtvDGOEtEJXj+DDE8bEl0coIkXh//hbkSDTvo+f5lbihZOndYXQQQ== - dependencies: - gaxios "^3.0.0" - json-bigint "^0.3.0" + google-auth-library "^7.14.1" -gcs-resumable-upload@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/gcs-resumable-upload/-/gcs-resumable-upload-3.1.0.tgz#f86112b8002f4aa11bd6961d287a351451f10ac7" - integrity sha512-gB8xH6EjYCv9lfBEL4FK5+AMgTY0feYoNHAYOV5nCuOrDPhy5MOiyJE8WosgxhbKBPS361H7fkwv6CTufEh9bg== +gcp-metadata@^4.2.0: + version "4.3.1" + resolved "https://registry.yarnpkg.com/gcp-metadata/-/gcp-metadata-4.3.1.tgz#fb205fe6a90fef2fd9c85e6ba06e5559ee1eefa9" + integrity sha512-x850LS5N7V1F3UcV7PoupzGsyD6iVwTVvsh3tbXfkctZnBnjW5yu5z1/3k3SehF7TyoTIe78rJs02GMMy+LF+A== dependencies: - abort-controller "^3.0.0" - configstore "^5.0.0" - extend "^3.0.2" - gaxios "^3.0.0" - google-auth-library "^6.0.0" - pumpify "^2.0.0" - stream-events "^1.0.4" + gaxios "^4.0.0" + json-bigint "^1.0.0" genfun@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/genfun/-/genfun-5.0.0.tgz#9dd9710a06900a5c4a5bf57aca5da4e52fe76537" integrity sha512-KGDOARWVga7+rnB3z9Sd2Letx515owfk0hSxHGuqjANb1M+x2bGZGqHLiozPsYMdM2OubeMni/Hpwmjq6qIUhA== -gensync@^1.0.0-beta.1: - version "1.0.0-beta.1" - resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.1.tgz#58f4361ff987e5ff6e1e7a210827aa371eaac269" - integrity sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg== +gensync@^1.0.0-beta.2: + version "1.0.0-beta.2" + resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" + integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== -get-caller-file@^2.0.1: +get-caller-file@^2.0.1, get-caller-file@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== @@ -4147,11 +4592,21 @@ get-caller-file@^2.0.1: get-func-name@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.0.tgz#ead774abee72e20409433a066366023dd6887a41" + integrity sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig== + +get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.2.tgz#336975123e05ad0b7ba41f152ee4aadbea6cf598" + integrity sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA== + dependencies: + function-bind "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.3" get-pkg-repo@^1.0.0: version "1.4.0" resolved "https://registry.yarnpkg.com/get-pkg-repo/-/get-pkg-repo-1.4.0.tgz#c73b489c06d80cc5536c2c853f9e05232056972d" - integrity sha1-xztInAbYDMVTbCyFP54FIyBWly0= + integrity sha512-xPCyvcEOxCJDxhBfXDNH+zA7mIRGb2aY1gIUJWsZkpJbp1BLHl+/Sycg26Dv+ZbZAJkO61tzbBtqHUi30NGBvg== dependencies: hosted-git-info "^2.1.4" meow "^3.3.0" @@ -4164,18 +4619,25 @@ get-port@^4.2.0: resolved "https://registry.yarnpkg.com/get-port/-/get-port-4.2.0.tgz#e37368b1e863b7629c43c5a323625f95cf24b119" integrity sha512-/b3jarXkH8KJoOMQc3uVGHASwGLPq3gSFJ7tgJm2diza+bydJPTGOibin2steecKeOylE8oY2JERlVWkAJO6yw== +get-ready@^1.0.0, get-ready@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/get-ready/-/get-ready-1.0.0.tgz#f91817f1e9adecfea13a562adfc8de883ab34782" + integrity sha512-mFXCZPJIlcYcth+N8267+mghfYN9h3EhsDa6JSnbA3Wrhh/XFpuowviFcsDeYZtKspQyWyJqfs4O6P8CHeTwzw== + get-stdin@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" - integrity sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4= + integrity sha512-F5aQMywwJ2n85s4hJPTT9RPxGmubonuB10MNYo17/xph174n2MIR33HRguhzVag10O/npM7SPk73LMZNP+FaWw== get-stream@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" + integrity sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ== get-stream@^4.0.0, get-stream@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" + integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== dependencies: pump "^3.0.0" @@ -4186,15 +4648,35 @@ get-stream@^5.1.0: dependencies: pump "^3.0.0" +get-symbol-description@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" + integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.1" + +get-uri@3: + version "3.0.2" + resolved "https://registry.yarnpkg.com/get-uri/-/get-uri-3.0.2.tgz#f0ef1356faabc70e1f9404fa3b66b2ba9bfc725c" + integrity sha512-+5s0SJbGoyiJTZZ2JTpFPLMPSch72KEqGOTvQsBqg0RBWvwhWUSYZFAtz3TPW0GXJuLBJPts1E241iHg+VRfhg== + dependencies: + "@tootallnate/once" "1" + data-uri-to-buffer "3" + debug "4" + file-uri-to-path "2" + fs-extra "^8.1.0" + ftp "^0.3.10" + get-value@^2.0.3, get-value@^2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" - integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= + integrity sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA== getpass@^0.1.1: version "0.1.7" resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" - integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= + integrity sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng== dependencies: assert-plus "^1.0.0" @@ -4212,7 +4694,7 @@ git-raw-commits@2.0.0: git-remote-origin-url@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz#5282659dae2107145a11126112ad3216ec5fa65f" - integrity sha1-UoJlna4hBxRaERJhEq0yFuxfpl8= + integrity sha512-eU+GGrZgccNJcsDH5LkXR3PB9M958hxc7sbA8DFJjrv9j4L2P/eZfKhM+QD6wyzpiv+b1BpK0XrYCxkovtjSLw== dependencies: gitconfiglocal "^1.0.0" pify "^2.3.0" @@ -4226,43 +4708,36 @@ git-semver-tags@^2.0.3: semver "^6.0.0" git-up@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/git-up/-/git-up-4.0.1.tgz#cb2ef086653640e721d2042fe3104857d89007c0" - integrity sha512-LFTZZrBlrCrGCG07/dm1aCjjpL1z9L3+5aEeI9SBhAqSc+kiA9Or1bgZhQFNppJX6h/f5McrvJt1mQXTFm6Qrw== + version "4.0.5" + resolved "https://registry.yarnpkg.com/git-up/-/git-up-4.0.5.tgz#e7bb70981a37ea2fb8fe049669800a1f9a01d759" + integrity sha512-YUvVDg/vX3d0syBsk/CKUTib0srcQME0JyHkL5BaYdwLsiCslPWmDSi8PUMo9pXYjrryMcmsCoCgsTpSCJEQaA== dependencies: is-ssh "^1.3.0" - parse-url "^5.0.0" + parse-url "^6.0.0" git-url-parse@^11.1.2: - version "11.1.2" - resolved "https://registry.yarnpkg.com/git-url-parse/-/git-url-parse-11.1.2.tgz#aff1a897c36cc93699270587bea3dbcbbb95de67" - integrity sha512-gZeLVGY8QVKMIkckncX+iCq2/L8PlwncvDFKiWkBn9EtCfYDbliRTTp6qzyQ1VMdITUfq7293zDzfpjdiGASSQ== + version "11.6.0" + resolved "https://registry.yarnpkg.com/git-url-parse/-/git-url-parse-11.6.0.tgz#c634b8de7faa66498a2b88932df31702c67df605" + integrity sha512-WWUxvJs5HsyHL6L08wOusa/IXYtMuCAhrMmnTjQPpBU0TTHyDhnOATNH3xNQz7YOQUsqIIPTGr4xiVti1Hsk5g== dependencies: git-up "^4.0.0" gitconfiglocal@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz#41d045f3851a5ea88f03f24ca1c6178114464b9b" - integrity sha1-QdBF84UaXqiPA/JMocYXgRRGS5s= + integrity sha512-spLUXeTAVHxDtKsJc8FkFVgFtMdEN9qPGpL23VfSHx4fP4+Ds097IXLvymbnDH8FnmxX5Nr9bPw3A+AQ6mWEaQ== dependencies: ini "^1.3.2" glob-parent@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" - integrity sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4= + integrity sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA== dependencies: is-glob "^3.1.0" path-dirname "^1.0.0" -glob-parent@^5.0.0, glob-parent@~5.1.0: - version "5.1.1" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.1.tgz#b6c1ef417c4e5663ea498f1c45afac6916bbc229" - integrity sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ== - dependencies: - is-glob "^4.0.1" - -glob-parent@^5.1.2: +glob-parent@^5.0.0, glob-parent@^5.1.2, glob-parent@~5.1.0: version "5.1.2" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== @@ -4279,9 +4754,9 @@ glob-parent@^6.0.1: glob-to-regexp@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz#8c5a1494d2066c570cc3bfe4496175acc4d502ab" - integrity sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs= + integrity sha512-Iozmtbqv0noj0uDDqoL0zNq0VBEfK2YFoMAZoxJe4cwphvLR+JskfF30QhXHOR4m3KrE6NLRYw+U9MRXvifyig== -glob@7.1.6, glob@^7.1.1, glob@^7.1.3, glob@^7.1.4: +glob@7.1.6: version "7.1.6" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== @@ -4293,19 +4768,31 @@ glob@7.1.6, glob@^7.1.1, glob@^7.1.3, glob@^7.1.4: once "^1.3.0" path-is-absolute "^1.0.0" +glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4: + version "7.2.3" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" + integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.1.1" + once "^1.3.0" + path-is-absolute "^1.0.0" + globals@^11.1.0: version "11.12.0" resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== -globals@^13.6.0, globals@^13.9.0: - version "13.13.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-13.13.0.tgz#ac32261060d8070e2719dd6998406e27d2b5727b" - integrity sha512-EQ7Q18AJlPwp3vUDL4mKA0KXrXyNIQyWon6T6XQiBQF0XHvRsiCSrWmmeATpUzdJN2HhWZU6Pdl0a9zdep5p6A== +globals@^13.15.0: + version "13.17.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.17.0.tgz#902eb1e680a41da93945adbdcb5a9f361ba69bd4" + integrity sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw== dependencies: type-fest "^0.20.2" -globby@^11.0.4: +globby@^11.1.0: version "11.1.0" resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== @@ -4331,79 +4818,77 @@ globby@^9.2.0: pify "^4.0.1" slash "^2.0.0" -google-auth-library@^6.0.0: - version "6.0.2" - resolved "https://registry.yarnpkg.com/google-auth-library/-/google-auth-library-6.0.2.tgz#fd640387061e4d4b40ba063636f8ea8416b121cc" - integrity sha512-o/F/GiOPzDc49v5/6vfrEz3gRXvES49qGP84rrl3SO0efJA/M52hFwv2ozd1EC1TPrLj75Moj3iPgKGuGs6smA== +google-auth-library@^7.0.0, google-auth-library@^7.14.0, google-auth-library@^7.14.1: + version "7.14.1" + resolved "https://registry.yarnpkg.com/google-auth-library/-/google-auth-library-7.14.1.tgz#e3483034162f24cc71b95c8a55a210008826213c" + integrity sha512-5Rk7iLNDFhFeBYc3s8l1CqzbEBcdhwR193RlD4vSNFajIcINKI8W8P0JLmBpwymHqqWbX34pJDQu39cSy/6RsA== dependencies: arrify "^2.0.0" base64-js "^1.3.0" ecdsa-sig-formatter "^1.0.11" fast-text-encoding "^1.0.0" - gaxios "^3.0.0" - gcp-metadata "^4.1.0" - gtoken "^5.0.0" + gaxios "^4.0.0" + gcp-metadata "^4.2.0" + gtoken "^5.0.4" jws "^4.0.0" - lru-cache "^5.0.0" + lru-cache "^6.0.0" -google-gax@^2.1.0, google-gax@^2.2.0: - version "2.6.1" - resolved "https://registry.yarnpkg.com/google-gax/-/google-gax-2.6.1.tgz#ab09c4f94ccdd0a81a0f743f49fec83108587fbf" - integrity sha512-AKQKfaaXCJhMrP4nniz/ei7j+uyqG7nNrGmQxDBIBtDMUbZUMnH0Kw8asts35vmciEV5UeIWfclVcAU+VaJptw== +google-gax@2.30.3: + version "2.30.3" + resolved "https://registry.yarnpkg.com/google-gax/-/google-gax-2.30.3.tgz#5d2c227972d99d6a6cd77963c44d0575974e7b60" + integrity sha512-Zsd6hbJBMvAcJS3cYpAsmupvfsxygFR2meUZJcGeR7iUqYHCR/1Hf2aQNB9srrlXQMm91pNiUvW0Kz6Qld8QkA== dependencies: - "@grpc/grpc-js" "~1.0.0" - "@grpc/proto-loader" "^0.5.1" + "@grpc/grpc-js" "~1.6.0" + "@grpc/proto-loader" "0.6.9" "@types/long" "^4.0.0" abort-controller "^3.0.0" - duplexify "^3.6.0" - google-auth-library "^6.0.0" + duplexify "^4.0.0" + fast-text-encoding "^1.0.3" + google-auth-library "^7.14.0" is-stream-ended "^0.1.4" - lodash.at "^4.6.0" - lodash.has "^4.5.2" - node-fetch "^2.6.0" - protobufjs "^6.9.0" + node-fetch "^2.6.1" + object-hash "^3.0.0" + proto3-json-serializer "^0.1.8" + protobufjs "6.11.2" retry-request "^4.0.0" - semver "^6.0.0" - walkdir "^0.4.0" -google-gax@^2.3.1, google-gax@^2.7.0: - version "2.7.0" - resolved "https://registry.yarnpkg.com/google-gax/-/google-gax-2.7.0.tgz#5aaff7bdbe32730f975f416dd4897c558c89ab84" - integrity sha512-0dBATy8mMVlfOBrT85Q+NzBpZ4OJZUMrPI9wJULpiIDq2w1zlN30Duor+fQUcMEjanYEc72G58M4iUVve0jfXw== +google-gax@^2.24.1, google-gax@^2.29.3: + version "2.30.5" + resolved "https://registry.yarnpkg.com/google-gax/-/google-gax-2.30.5.tgz#e836f984f3228900a8336f608c83d75f9cb73eff" + integrity sha512-Jey13YrAN2hfpozHzbtrwEfEHdStJh1GwaQ2+Akh1k0Tv/EuNVSuBtHZoKSBm5wBMvNsxTsEIZ/152NrYyZgxQ== dependencies: - "@grpc/grpc-js" "~1.1.1" - "@grpc/proto-loader" "^0.5.1" + "@grpc/grpc-js" "~1.6.0" + "@grpc/proto-loader" "^0.6.12" "@types/long" "^4.0.0" abort-controller "^3.0.0" - duplexify "^3.6.0" - google-auth-library "^6.0.0" + duplexify "^4.0.0" + fast-text-encoding "^1.0.3" + google-auth-library "^7.14.0" is-stream-ended "^0.1.4" - lodash.at "^4.6.0" - lodash.has "^4.5.2" - node-fetch "^2.6.0" - protobufjs "^6.9.0" + node-fetch "^2.6.1" + object-hash "^3.0.0" + proto3-json-serializer "^0.1.8" + protobufjs "6.11.3" retry-request "^4.0.0" - semver "^6.0.0" - walkdir "^0.4.0" -google-p12-pem@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/google-p12-pem/-/google-p12-pem-3.0.1.tgz#a220c05a8d7ee9751dd133ee72ecfc855820d5ab" - integrity sha512-VlQgtozgNVVVcYTXS36eQz4PXPt9gIPqLOhHN0QiV6W6h4qSCNVKPtKC5INtJsaHHF2r7+nOIa26MJeJMTaZEQ== +google-p12-pem@^3.1.3: + version "3.1.4" + resolved "https://registry.yarnpkg.com/google-p12-pem/-/google-p12-pem-3.1.4.tgz#123f7b40da204de4ed1fbf2fd5be12c047fc8b3b" + integrity sha512-HHuHmkLgwjdmVRngf5+gSmpkyaRI6QmOg77J8tkNBHhNEI62sGHyw4/+UkgyZEI7h84NbWprXDJ+sa3xOYFvTg== dependencies: - node-forge "^0.9.0" + node-forge "^1.3.1" got@^11.8.2: - version "11.8.2" - resolved "https://registry.yarnpkg.com/got/-/got-11.8.2.tgz#7abb3959ea28c31f3576f1576c1effce23f33599" - integrity sha512-D0QywKgIe30ODs+fm8wMZiAcZjypcCodPNuMz5H9Mny7RJ+IjJ10BdmGW7OM7fHXP+O7r6ZwapQ/YQmMSvB0UQ== + version "11.8.5" + resolved "https://registry.yarnpkg.com/got/-/got-11.8.5.tgz#ce77d045136de56e8f024bebb82ea349bc730046" + integrity sha512-o0Je4NvQObAuZPHLFoRSkdG2lTgtcynqymzg2Vupdx6PorhaT5MCbIyXG6d4D94kk8ZG57QeosgdiqfJWhEhlQ== dependencies: "@sindresorhus/is" "^4.0.0" "@szmarczak/http-timer" "^4.0.5" "@types/cacheable-request" "^6.0.1" "@types/responselike" "^1.0.0" cacheable-lookup "^5.0.3" - cacheable-request "^7.0.1" + cacheable-request "^7.0.2" decompress-response "^6.0.0" http2-wrapper "^1.0.0-beta.5.2" lowercase-keys "^2.0.0" @@ -4411,13 +4896,19 @@ got@^11.8.2: responselike "^2.0.0" graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.1.9, graceful-fs@^4.2.0, graceful-fs@^4.2.2: - version "4.2.4" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" - integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== + version "4.2.10" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" + integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== + +grapheme-splitter@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz#9cf3a665c6247479896834af35cf1dbb4400767e" + integrity sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ== growl@1.10.5: version "1.10.5" resolved "https://registry.yarnpkg.com/growl/-/growl-1.10.5.tgz#f2735dc2283674fa67478b10181059355c369e5e" + integrity sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA== grpc-gcp@^0.3.2: version "0.3.3" @@ -4426,20 +4917,19 @@ grpc-gcp@^0.3.2: dependencies: "@grpc/grpc-js" "^1.1.1" -gtoken@^5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/gtoken/-/gtoken-5.0.1.tgz#b93f309d89adfe230bb0f24269b978284ba89e0f" - integrity sha512-33w4FNDkUcyIOq/TqyC+drnKdI4PdXmWp9lZzssyEQKuvu9ZFN3KttaSnDKo52U3E51oujVGop93mKxmqO8HHg== +gtoken@^5.0.4: + version "5.3.2" + resolved "https://registry.yarnpkg.com/gtoken/-/gtoken-5.3.2.tgz#deb7dc876abe002178e0515e383382ea9446d58f" + integrity sha512-gkvEKREW7dXWF8NV8pVrKfW7WqReAmjjkMBh6lNCCGOM4ucS0r0YyXXl0r/9Yj8wcW/32ISkfc8h5mPTDbtifQ== dependencies: - gaxios "^3.0.0" - google-p12-pem "^3.0.0" + gaxios "^4.0.0" + google-p12-pem "^3.1.3" jws "^4.0.0" - mime "^2.2.0" handlebars@^4.7.6: - version "4.7.6" - resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.6.tgz#d4c05c1baf90e9945f77aa68a7a219aa4a7df74e" - integrity sha512-1f2BACcBfiwAfStCKZNrUCgqNZkGsAT7UM3kkYtXuLo0KnaVfjKOyf7PRzB6++aK9STyT1Pd2ZCPe3EGOXleXA== + version "4.7.7" + resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.7.tgz#9ce33416aad02dbd6c8fafa8240d5d98004945a1" + integrity sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA== dependencies: minimist "^1.2.5" neo-async "^2.6.0" @@ -4451,14 +4941,14 @@ handlebars@^4.7.6: har-schema@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" - integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= + integrity sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q== har-validator@~5.1.3: - version "5.1.3" - resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.3.tgz#1ef89ebd3e4996557675eed9893110dc350fa080" - integrity sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g== + version "5.1.5" + resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.5.tgz#1f0803b9f8cb20c0fa13822df1ecddb36bde1efd" + integrity sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w== dependencies: - ajv "^6.5.5" + ajv "^6.12.3" har-schema "^2.0.0" hard-rejection@^2.1.0: @@ -4466,29 +4956,49 @@ hard-rejection@^2.1.0: resolved "https://registry.yarnpkg.com/hard-rejection/-/hard-rejection-2.1.0.tgz#1c6eda5c1685c63942766d79bb40ae773cecd883" integrity sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA== +has-bigints@^1.0.1, has-bigints@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa" + integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== + has-flag@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== has-flag@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== -has-symbols@^1.0.0, has-symbols@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8" - integrity sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg== +has-property-descriptors@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz#610708600606d36961ed04c196193b6a607fa861" + integrity sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ== + dependencies: + get-intrinsic "^1.1.1" + +has-symbols@^1.0.2, has-symbols@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" + integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== + +has-tostringtag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" + integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== + dependencies: + has-symbols "^1.0.2" has-unicode@^2.0.0, has-unicode@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" - integrity sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk= + integrity sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ== has-value@^0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" - integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= + integrity sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q== dependencies: get-value "^2.0.3" has-values "^0.1.4" @@ -4497,7 +5007,7 @@ has-value@^0.3.1: has-value@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" - integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= + integrity sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw== dependencies: get-value "^2.0.6" has-values "^1.0.0" @@ -4506,12 +5016,12 @@ has-value@^1.0.0: has-values@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" - integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= + integrity sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ== has-values@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" - integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= + integrity sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ== dependencies: is-number "^3.0.0" kind-of "^4.0.0" @@ -4524,35 +5034,41 @@ has@^1.0.3: function-bind "^1.1.1" hash-stream-validation@^0.2.2: - version "0.2.3" - resolved "https://registry.yarnpkg.com/hash-stream-validation/-/hash-stream-validation-0.2.3.tgz#44e3479d1767c4f1d6924cc2da61eca08ebba8af" - integrity sha512-OEohGLoUOh+bwsIpHpdvhIXFyRGjeLqJbT8Yc5QTZPbRM7LKywagTQxnX/6mghLDOrD9YGz88hy5mLN2eKflYQ== - dependencies: - through2 "^2.0.0" + version "0.2.4" + resolved "https://registry.yarnpkg.com/hash-stream-validation/-/hash-stream-validation-0.2.4.tgz#ee68b41bf822f7f44db1142ec28ba9ee7ccb7512" + integrity sha512-Gjzu0Xn7IagXVkSu9cSFuK1fqzwtLwFhNhVL8IFJijRNMgUttFbBSIAzKuSIrsFMO1+g1RlsoN49zPIbwPDMGQ== hash-sum@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/hash-sum/-/hash-sum-1.0.2.tgz#33b40777754c6432573c120cc3808bbd10d47f04" - integrity sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ= + integrity sha512-fUs4B4L+mlt8/XAtSOGMUO1TXmAelItBPtJG7CyHJfYTdDjwisntGO2JQz7oUsatOY9o68+57eziUVNw/mRHmA== -he@1.2.0, he@^1.1.0: +he@1.2.0, he@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== -hosted-git-info@^2.1.4: - version "2.8.5" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.5.tgz#759cfcf2c4d156ade59b0b2dfabddc42a6b9c70c" +hosted-git-info@^2.1.4, hosted-git-info@^2.7.1: + version "2.8.9" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" + integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== -hosted-git-info@^2.7.1: - version "2.8.8" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.8.tgz#7539bd4bc1e0e0a895815a2e0262420b12858488" - integrity sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg== +hosted-git-info@^4.0.1: + version "4.1.0" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-4.1.0.tgz#827b82867e9ff1c8d0c4d9d53880397d2c86d224" + integrity sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA== + dependencies: + lru-cache "^6.0.0" + +html-escaper@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" + integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== html-tags@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/html-tags/-/html-tags-3.1.0.tgz#7b5e6f7e665e9fb41f30007ed9e0d41e97fb2140" - integrity sha512-1qYz89hW3lFDEazhjW0yVAV87lw8lVkrJocr72XmBkMKsoSVJCQx3W8BXsC7hO2qAt8BoVjYjtAcZ9perqGnNg== + version "3.2.0" + resolved "https://registry.yarnpkg.com/html-tags/-/html-tags-3.2.0.tgz#dbb3518d20b726524e4dd43de397eb0a95726961" + integrity sha512-vy7ClnArOZwCnqZgvv+ddgHgJiAFXe3Ge9ML5/mBctVJoUoYPCdxVucOywjDARn6CVoh3dRSFdPHy2sX80L0Wg== http-cache-semantics@^3.8.1: version "3.8.1" @@ -4564,6 +5080,17 @@ http-cache-semantics@^4.0.0: resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz#49e91c5cbf36c9b94bcfcd71c23d5249ec74e390" integrity sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ== +http-errors@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3" + integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ== + dependencies: + depd "2.0.0" + inherits "2.0.4" + setprototypeof "1.2.0" + statuses "2.0.1" + toidentifier "1.0.1" + http-proxy-agent@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz#e4821beef5b2142a2026bd73926fe537631c5405" @@ -4572,7 +5099,7 @@ http-proxy-agent@^2.1.0: agent-base "4" debug "3.1.0" -http-proxy-agent@^4.0.0: +http-proxy-agent@^4.0.0, http-proxy-agent@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz#8a8c8ef7f5932ccf953c296ca8291b95aa74aa3a" integrity sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg== @@ -4581,10 +5108,19 @@ http-proxy-agent@^4.0.0: agent-base "6" debug "4" +http-proxy-agent@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz#5129800203520d434f142bc78ff3c170800f2b43" + integrity sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w== + dependencies: + "@tootallnate/once" "2" + agent-base "6" + debug "4" + http-signature@~1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" - integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= + integrity sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ== dependencies: assert-plus "^1.0.0" jsprim "^1.2.2" @@ -4598,6 +5134,14 @@ http2-wrapper@^1.0.0-beta.5.2: quick-lru "^5.1.1" resolve-alpn "^1.0.0" +https-proxy-agent@5, https-proxy-agent@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6" + integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== + dependencies: + agent-base "6" + debug "4" + https-proxy-agent@^2.2.3: version "2.2.4" resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz#4ee7a737abd92678a293d9b34a1af4d0d08c787b" @@ -4606,71 +5150,84 @@ https-proxy-agent@^2.2.3: agent-base "^4.3.0" debug "^3.1.0" -https-proxy-agent@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz#e2a90542abb68a762e0a0850f6c9edadfd8506b2" - integrity sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA== +httpx@^2.2.0, httpx@^2.2.6: + version "2.2.7" + resolved "https://registry.yarnpkg.com/httpx/-/httpx-2.2.7.tgz#1e34198146e32ca3305a66c11209559e1cbeba09" + integrity sha512-Wjh2JOAah0pdczfqL8NC5378G7jMt0Zcpn8U+yyxAiejjlagzSTQgJHuVvka2VNPQlKfoGehYRc79WKq9E4gDw== dependencies: - agent-base "6" - debug "4" + "@types/node" "^14" + debug "^4.1.1" -humanize-ms@^1.2.1: +humanize-ms@^1.2.0, humanize-ms@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/humanize-ms/-/humanize-ms-1.2.1.tgz#c46e3159a293f6b896da29316d8b6fe8bb79bbed" - integrity sha1-xG4xWaKT9riW2ikxbYtv6Lt5u+0= + integrity sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ== dependencies: ms "^2.0.0" husky@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/husky/-/husky-4.3.0.tgz#0b2ec1d66424e9219d359e26a51c58ec5278f0de" - integrity sha512-tTMeLCLqSBqnflBZnlVDhpaIMucSGaYyX6855jM4AguGeWCeSzNdb1mfyWduTZ3pe3SJVvVWGL0jO1iKZVPfTA== + version "4.3.8" + resolved "https://registry.yarnpkg.com/husky/-/husky-4.3.8.tgz#31144060be963fd6850e5cc8f019a1dfe194296d" + integrity sha512-LCqqsB0PzJQ/AlCgfrfzRe3e3+NvmefAdKQhRYpxS4u6clblBoDdzzvHi8fmxKRzvMxPY/1WZWzomPZww0Anow== dependencies: chalk "^4.0.0" ci-info "^2.0.0" compare-versions "^3.6.0" cosmiconfig "^7.0.0" - find-versions "^3.2.0" + find-versions "^4.0.0" opencollective-postinstall "^2.0.2" - pkg-dir "^4.2.0" + pkg-dir "^5.0.0" please-upgrade-node "^3.2.0" slash "^3.0.0" which-pm-runs "^1.0.0" -iconv-lite@^0.4.24, iconv-lite@~0.4.13: +iconv-lite@0.4.24, iconv-lite@^0.4.15, iconv-lite@^0.4.24: version "0.4.24" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== dependencies: safer-buffer ">= 2.1.2 < 3" -ieee754@1.1.13, ieee754@^1.1.4: +iconv-lite@^0.6.2: + version "0.6.3" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" + integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== + dependencies: + safer-buffer ">= 2.1.2 < 3.0.0" + +ieee754@1.1.13: version "1.1.13" resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84" integrity sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg== +ieee754@^1.1.4: + version "1.2.1" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" + integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== + iferr@^0.1.5: version "0.1.5" resolved "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501" - integrity sha1-xg7taebY/bazEEofy8ocGS3FtQE= + integrity sha512-DUNFN5j7Tln0D+TxzloUjKB+CtVu6myn0JEFak6dG18mNt9YkQ6lzGCdafwofISZ1lLF3xRHJ98VKy9ynkcFaA== ignore-walk@^3.0.1: - version "3.0.3" - resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.3.tgz#017e2447184bfeade7c238e4aefdd1e8f95b1e37" - integrity sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw== + version "3.0.4" + resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.4.tgz#c9a09f69b7c7b479a5d74ac1a3c0d4236d2a6335" + integrity sha512-PY6Ii8o1jMRA1z4F2hRkH/xN59ox43DavKvD3oDpfurRlOJyAHpifIwpbdv1n4jt4ov0jSpw3kQ4GhJnpBL6WQ== dependencies: minimatch "^3.0.4" ignore@^3.3.7: version "3.3.10" resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.10.tgz#0a97fb876986e8081c631160f8f9f389157f0043" + integrity sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug== ignore@^4.0.3: version "4.0.6" resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== -ignore@^5.1.8, ignore@^5.2.0: +ignore@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a" integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ== @@ -4678,11 +5235,12 @@ ignore@^5.1.8, ignore@^5.2.0: import-fresh@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-2.0.0.tgz#d81355c15612d386c61f9ddd3922d4304822a546" + integrity sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg== dependencies: caller-path "^2.0.0" resolve-from "^3.0.0" -import-fresh@^3.0.0: +import-fresh@^3.0.0, import-fresh@^3.2.1: version "3.3.0" resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== @@ -4690,14 +5248,6 @@ import-fresh@^3.0.0: parent-module "^1.0.0" resolve-from "^4.0.0" -import-fresh@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.2.1.tgz#633ff618506e793af5ac91bf48b72677e15cbe66" - integrity sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ== - dependencies: - parent-module "^1.0.0" - resolve-from "^4.0.0" - import-local@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/import-local/-/import-local-2.0.0.tgz#55070be38a5993cf18ef6db7e961f5bee5c5a09d" @@ -4709,19 +5259,19 @@ import-local@^2.0.0: imurmurhash@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" - integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= + integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== indent-string@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80" - integrity sha1-ji1INIdCEhtKghi3oTfppSBJ3IA= + integrity sha512-aqwDFWSgSgfRaEwao5lg5KEcVd/2a+D1rvoG7NdilmYz0NwRk6StWpWdz/Hpk34MKPpx7s8XxUqimfcQK6gGlg== dependencies: repeating "^2.0.0" indent-string@^3.0.0: version "3.2.0" resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-3.2.0.tgz#4a5fd6d27cc332f37e5419a504dbb837105c9289" - integrity sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok= + integrity sha512-BYqTHXTGUIvg7t1r4sJNKcbDZkL92nkXA8YtRpbjFHRHGDL/NtUeiBJMeE60kIFN/Mg8ESaWQvftaYMGJzQZCQ== indent-string@^4.0.0: version "4.0.0" @@ -4736,23 +5286,20 @@ infer-owner@^1.0.3, infer-owner@^1.0.4: inflight@^1.0.4: version "1.0.6" resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== dependencies: once "^1.3.0" wrappy "1" -inherits@2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" - -inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3: +inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, inherits@~2.0.3: version "2.0.4" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== -ini@^1.3.2, ini@^1.3.4: - version "1.3.5" - resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" - integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw== +ini@^1.3.2, ini@^1.3.4, ini@^1.3.5: + version "1.3.8" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" + integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== init-package-json@^1.10.3: version "1.10.3" @@ -4787,20 +5334,39 @@ inquirer@^6.2.0: strip-ansi "^5.1.0" through "^2.3.6" +internal-slot@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.3.tgz#7347e307deeea2faac2ac6205d4bc7d34967f59c" + integrity sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA== + dependencies: + get-intrinsic "^1.1.0" + has "^1.0.3" + side-channel "^1.0.4" + ip-regex@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" - integrity sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk= + integrity sha512-58yWmlHpp7VYfcdTwMTvwMmqx/Elfxjd9RXTDyMsbL7lLWmhMylLEqiYVLKuLzOZqVgiWXD9MfR62Vv89VRxkw== ip@1.1.5: version "1.1.5" resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a" - integrity sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo= + integrity sha512-rBtCAQAJm8A110nbwn6YdveUnuZH3WrC36IwkRXxDnq53JvXA2NVQvB7IHyKomxK1MJ4VDNw3UtFDdXQ+AvLYA== + +ip@^1.1.5: + version "1.1.8" + resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.8.tgz#ae05948f6b075435ed3307acce04629da8cdbf48" + integrity sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg== + +ip@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ip/-/ip-2.0.0.tgz#4cf4ab182fee2314c75ede1276f8c80b479936da" + integrity sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ== is-accessor-descriptor@^0.1.6: version "0.1.6" resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" - integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= + integrity sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A== dependencies: kind-of "^3.0.2" @@ -4812,13 +5378,24 @@ is-accessor-descriptor@^1.0.0: kind-of "^6.0.0" is-arguments@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.0.4.tgz#3faf966c7cba0ff437fb31f6250082fcf0448cf3" - integrity sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA== + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b" + integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" is-arrayish@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== + +is-bigint@^1.0.1: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" + integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== + dependencies: + has-bigints "^1.0.1" is-binary-path@~2.1.0: version "2.1.0" @@ -4827,31 +5404,47 @@ is-binary-path@~2.1.0: dependencies: binary-extensions "^2.0.0" +is-boolean-object@^1.1.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" + integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + is-buffer@^1.1.5: version "1.1.6" resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== -is-buffer@~2.0.3: - version "2.0.4" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.4.tgz#3e572f23c8411a5cfd9557c849e3665e0b290623" - integrity sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A== - -is-callable@^1.1.4, is-callable@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.0.tgz#83336560b54a38e35e3a2df7afd0454d691468bb" - integrity sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw== +is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945" + integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w== is-ci@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" + integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== dependencies: ci-info "^2.0.0" +is-class-hotfix@~0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/is-class-hotfix/-/is-class-hotfix-0.0.6.tgz#a527d31fb23279281dde5f385c77b5de70a72435" + integrity sha512-0n+pzCC6ICtVr/WXnN2f03TK/3BfXY7me4cjCAqT8TYXEl0+JBRoqBo94JJHXcyDSLUeWbNX8Fvy5g5RJdAstQ== + +is-core-module@^2.5.0, is-core-module@^2.9.0: + version "2.10.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.10.0.tgz#9012ede0a91c69587e647514e1d5277019e728ed" + integrity sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg== + dependencies: + has "^1.0.3" + is-data-descriptor@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" - integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= + integrity sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg== dependencies: kind-of "^3.0.2" @@ -4863,9 +5456,11 @@ is-data-descriptor@^1.0.0: kind-of "^6.0.0" is-date-object@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.2.tgz#bda736f2cd8fd06d32844e7743bfa7494c3bfd7e" - integrity sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g== + version "1.0.5" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" + integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== + dependencies: + has-tostringtag "^1.0.0" is-descriptor@^0.1.0: version "0.1.6" @@ -4888,11 +5483,12 @@ is-descriptor@^1.0.0, is-descriptor@^1.0.2: is-directory@^0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1" + integrity sha512-yVChGzahRFvbkscn2MlwGismPO12i9+znNruC5gVEntG3qu0xQMzsGg/JFbrsqDOHtHFPci+V5aP5T9I+yeKqw== is-expression@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/is-expression/-/is-expression-3.0.0.tgz#39acaa6be7fd1f3471dc42c7416e61c24317ac9f" - integrity sha1-Oayqa+f9HzRx3ELHQW5hwkMXrJ8= + integrity sha512-vyMeQMq+AiH5uUnoBfMTwf18tO3bM6k1QXBE9D6ueAAquEfCZe3AJPtud9g6qS0+4X8xA7ndpZiDyeb2l2qOBw== dependencies: acorn "~4.0.2" object-assign "^4.0.1" @@ -4900,7 +5496,7 @@ is-expression@^3.0.0: is-extendable@^0.1.0, is-extendable@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" - integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= + integrity sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw== is-extendable@^1.0.1: version "1.0.1" @@ -4912,7 +5508,7 @@ is-extendable@^1.0.1: is-extglob@^2.1.0, is-extglob@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" - integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= + integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== is-finite@^1.0.0: version "1.1.0" @@ -4922,35 +5518,35 @@ is-finite@^1.0.0: is-fullwidth-code-point@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" - integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs= + integrity sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw== dependencies: number-is-nan "^1.0.0" is-fullwidth-code-point@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" - integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= + integrity sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w== is-fullwidth-code-point@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== +is-generator-function@^1.0.7: + version "1.0.10" + resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.0.10.tgz#f1558baf1ac17e0deea7c0415c438351ff2b3c72" + integrity sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A== + dependencies: + has-tostringtag "^1.0.0" + is-glob@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" - integrity sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo= + integrity sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw== dependencies: is-extglob "^2.1.0" -is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" - integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== - dependencies: - is-extglob "^2.1.1" - -is-glob@^4.0.3: +is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: version "4.0.3" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== @@ -4964,15 +5560,22 @@ is-html@^2.0.0: dependencies: html-tags "^3.0.0" -is-map@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-map/-/is-map-2.0.1.tgz#520dafc4307bb8ebc33b813de5ce7c9400d644a1" - integrity sha512-T/S49scO8plUiAOA2DBTBG3JHpn1yiw0kRp6dgiZ0v2/6twi5eiB0rHtHFH9ZIrvlWc6+4O+m4zg5+Z833aXgw== +is-negative-zero@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150" + integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== + +is-number-object@^1.0.4: + version "1.0.7" + resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.7.tgz#59d50ada4c45251784e9904f5246c742f07a42fc" + integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ== + dependencies: + has-tostringtag "^1.0.0" is-number@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" - integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= + integrity sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg== dependencies: kind-of "^3.0.2" @@ -4984,7 +5587,7 @@ is-number@^7.0.0: is-obj@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" - integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8= + integrity sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg== is-obj@^2.0.0: version "2.0.0" @@ -4994,7 +5597,12 @@ is-obj@^2.0.0: is-plain-obj@^1.0.0, is-plain-obj@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" - integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4= + integrity sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg== + +is-plain-obj@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" + integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== is-plain-object@^2.0.3, is-plain-object@^2.0.4: version "2.0.4" @@ -5003,43 +5611,37 @@ is-plain-object@^2.0.3, is-plain-object@^2.0.4: dependencies: isobject "^3.0.1" -is-plain-object@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-3.0.0.tgz#47bfc5da1b5d50d64110806c199359482e75a928" - integrity sha512-tZIpofR+P05k8Aocp7UI/2UTa9lTJSebCXpFFoR9aibpokDj/uXBsJ8luUu0tTVYKkMU6URDUuOfJZ7koewXvg== - dependencies: - isobject "^4.0.0" +is-plain-object@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-5.0.0.tgz#4427f50ab3429e9025ea7d52e9043a9ef4159344" + integrity sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q== is-promise@^2.0.0: version "2.2.2" resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.2.2.tgz#39ab959ccbf9a774cf079f7b40c7a26f763135f1" integrity sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ== -is-regex@^1.0.3: - version "1.1.1" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.1.tgz#c6f98aacc546f6cec5468a07b7b153ab564a57b9" - integrity sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg== +is-regex@^1.0.3, is-regex@^1.0.4, is-regex@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" + integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== dependencies: - has-symbols "^1.0.1" + call-bind "^1.0.2" + has-tostringtag "^1.0.0" -is-regex@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.0.tgz#ece38e389e490df0dc21caea2bd596f987f767ff" - integrity sha512-iI97M8KTWID2la5uYXlkbSDQIg4F6o1sYboZKKTDpnDQMLtUL86zxhgDet3Q2SriaYsyGqZ6Mn2SjbRKeLHdqw== +is-shared-array-buffer@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz#8f259c573b60b6a32d4058a1a07430c0a7344c79" + integrity sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA== dependencies: - has-symbols "^1.0.1" - -is-set@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-set/-/is-set-2.0.1.tgz#d1604afdab1724986d30091575f54945da7e5f43" - integrity sha512-eJEzOtVyenDs1TMzSQ3kU3K+E0GUS9sno+F0OBT97xsgcJsF9nXMBtkT9/kut5JEpM7oL7X/0qxR17K3mcwIAA== + call-bind "^1.0.2" is-ssh@^1.3.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/is-ssh/-/is-ssh-1.3.1.tgz#f349a8cadd24e65298037a522cf7520f2e81a0f3" - integrity sha512-0eRIASHZt1E68/ixClI8bp2YK2wmBPVWEismTs6M+M099jKgrzl/3E976zIbImSIob48N2/XGe9y7ZiYdImSlg== + version "1.4.0" + resolved "https://registry.yarnpkg.com/is-ssh/-/is-ssh-1.4.0.tgz#4f8220601d2839d8fa624b3106f8e8884f01b8b2" + integrity sha512-x7+VxdxOdlV3CYpjvRLBv5Lo9OJerlYanjwFrPR9fuGPjCiNiCzFgAWpiLAohSbsnH4ZAys3SBh+hq5rJosxUQ== dependencies: - protocols "^1.1.0" + protocols "^2.0.1" is-stream-ended@^0.1.0, is-stream-ended@^0.1.4: version "0.1.4" @@ -5049,40 +5651,70 @@ is-stream-ended@^0.1.0, is-stream-ended@^0.1.4: is-stream@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" + integrity sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ== is-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3" - integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw== + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" + integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== -is-string@^1.0.4, is-string@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.5.tgz#40493ed198ef3ff477b8c7f92f644ec82a5cd3a6" - integrity sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ== +is-string@^1.0.5, is-string@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" + integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== + dependencies: + has-tostringtag "^1.0.0" -is-symbol@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.3.tgz#38e1014b9e6329be0de9d24a414fd7441ec61937" - integrity sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ== +is-symbol@^1.0.2, is-symbol@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" + integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== dependencies: - has-symbols "^1.0.1" + has-symbols "^1.0.2" is-text-path@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/is-text-path/-/is-text-path-1.0.1.tgz#4e1aa0fb51bfbcb3e92688001397202c1775b66e" - integrity sha1-Thqg+1G/vLPpJogAE5cgLBd1tm4= + integrity sha512-xFuJpne9oFz5qDaodwmmG08e3CawH/2ZV8Qqza1Ko7Sk8POWbkRdwIoAWVhqvq0XeUzANEhKo2n0IXUGBm7A/w== dependencies: text-extensions "^1.0.0" +is-type-of@^1.0.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/is-type-of/-/is-type-of-1.2.1.tgz#e263ec3857aceb4f28c47130ec78db09a920f8c5" + integrity sha512-uK0kyX9LZYhSDS7H2sVJQJop1UnWPWmo5RvR3q2kFH6AUHYs7sOrVg0b4nyBHw29kRRNFofYN/JbHZDlHiItTA== + dependencies: + core-util-is "^1.0.2" + is-class-hotfix "~0.0.6" + isstream "~0.1.2" + +is-typed-array@^1.1.3, is-typed-array@^1.1.9: + version "1.1.9" + resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.9.tgz#246d77d2871e7d9f5aeb1d54b9f52c71329ece67" + integrity sha512-kfrlnTTn8pZkfpJMUgYD7YZ3qzeJgWUn8XfVYBARc4wnmNOmLbmuuaAs3q5fvB0UJOn6yHAKaGTPM7d6ezoD/A== + dependencies: + available-typed-arrays "^1.0.5" + call-bind "^1.0.2" + es-abstract "^1.20.0" + for-each "^0.3.3" + has-tostringtag "^1.0.0" + is-typedarray@^1.0.0, is-typedarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" - integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= + integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA== is-utf8@^0.2.0: version "0.2.1" resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" - integrity sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI= + integrity sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q== + +is-weakref@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" + integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== + dependencies: + call-bind "^1.0.2" is-windows@^1.0.0, is-windows@^1.0.2: version "1.0.2" @@ -5094,81 +5726,91 @@ is@^3.2.1: resolved "https://registry.yarnpkg.com/is/-/is-3.3.0.tgz#61cff6dd3c4193db94a3d62582072b44e5645d79" integrity sha512-nW24QBoPcFGGHJGUwnfpI7Yc5CdqWNdsyHQszVE/z2pKHXzh7FZ5GWhJqSyaQ9wMkQnsTx+kAI8bHlCX4tKdbg== +isarray@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" + integrity sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ== + isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= - -isarray@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" - integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== + integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== isexe@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== isobject@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" - integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= + integrity sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA== dependencies: isarray "1.0.0" isobject@^3.0.0, isobject@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" - integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= - -isobject@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-4.0.0.tgz#3f1c9155e73b192022a80819bacd0343711697b0" - integrity sha512-S/2fF5wH8SJA/kmwr6HYhK/RI/OkhD84k8ntalo0iJjZikgq1XFvR5M8NPT1x5F7fBwCG3qHfnzeP/Vh/ZxCUA== + integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg== isstream@~0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" - integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= + integrity sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g== -iterate-iterator@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/iterate-iterator/-/iterate-iterator-1.0.1.tgz#1693a768c1ddd79c969051459453f082fe82e9f6" - integrity sha512-3Q6tudGN05kbkDQDI4CqjaBf4qf85w6W6GnuZDtUVYwKgtC1q8yxYX7CZed7N+tLzQqS6roujWvszf13T+n9aw== +istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz#189e7909d0a39fa5a3dfad5b03f71947770191d3" + integrity sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw== -iterate-value@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/iterate-value/-/iterate-value-1.0.2.tgz#935115bd37d006a52046535ebc8d07e9c9337f57" - integrity sha512-A6fMAio4D2ot2r/TYzr4yUWrmwNdsN5xL7+HUiyACE4DXm+q8HtPcnFTp+NnW3k4N05tZ7FVYFFb2CR13NxyHQ== +istanbul-lib-report@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6" + integrity sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw== + dependencies: + istanbul-lib-coverage "^3.0.0" + make-dir "^3.0.0" + supports-color "^7.1.0" + +istanbul-reports@^3.1.4: + version "3.1.5" + resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.5.tgz#cc9a6ab25cb25659810e4785ed9d9fb742578bae" + integrity sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w== dependencies: - es-get-iterator "^1.0.2" - iterate-iterator "^1.0.1" + html-escaper "^2.0.0" + istanbul-lib-report "^3.0.0" -jmespath@0.15.0: - version "0.15.0" - resolved "https://registry.yarnpkg.com/jmespath/-/jmespath-0.15.0.tgz#a3f222a9aae9f966f5d27c796510e28091764217" - integrity sha1-o/Iiqarp+Wb10nx5ZRDigJF2Qhc= +jmespath@0.16.0: + version "0.16.0" + resolved "https://registry.yarnpkg.com/jmespath/-/jmespath-0.16.0.tgz#b15b0a85dfd4d930d43e69ed605943c802785076" + integrity sha512-9FzQjJ7MATs1tSpnco1K6ayiYE3figslrXA72G2HQ/n76RzvYlofyi5QM+iX4YRs/pu3yzxlVQSST23+dMDknw== + +js-base64@^2.5.2: + version "2.6.4" + resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.6.4.tgz#f4e686c5de1ea1f867dbcad3d46d969428df98c4" + integrity sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ== js-stringify@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/js-stringify/-/js-stringify-1.0.2.tgz#1736fddfd9724f28a3682adc6230ae7e4e9679db" - integrity sha1-Fzb939lyTyijaCrcYjCufk6Weds= + integrity sha512-rtS5ATOo2Q5k1G+DADISilDA6lv79zIiwFd6CcjuIxGKLFm5C+RLImRscVap9k55i+MOZwgliw+NejvkLuGD5g== "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== -js-yaml@3.13.1, js-yaml@^3.13.1: - version "3.13.1" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847" +js-yaml@4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.0.0.tgz#f426bc0ff4b4051926cd588c71113183409a121f" + integrity sha512-pqon0s+4ScYUvX30wxQi3PogGFAlUyH0awepWvwkj4jD4v+ova3RiYw8bmA6x2rDrEaj8i/oWKoRxpVNW+Re8Q== dependencies: - argparse "^1.0.7" - esprima "^4.0.0" + argparse "^2.0.1" -js-yaml@^3.14.0: - version "3.14.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.0.tgz#a7a34170f26a21bb162424d8adacb4113a69e482" - integrity sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A== +js-yaml@^3.13.1, js-yaml@^3.14.0: + version "3.14.1" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" + integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== dependencies: argparse "^1.0.7" esprima "^4.0.0" @@ -5180,51 +5822,52 @@ js-yaml@^4.1.0: dependencies: argparse "^2.0.1" -js2xmlparser@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/js2xmlparser/-/js2xmlparser-4.0.1.tgz#670ef71bc5661f089cc90481b99a05a1227ae3bd" - integrity sha512-KrPTolcw6RocpYjdC7pL7v62e55q7qOMHvLX1UCLc5AAS8qeJ6nukarEJAF2KL2PZxlbGueEbINqZR2bDe/gUw== +js2xmlparser@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/js2xmlparser/-/js2xmlparser-4.0.2.tgz#2a1fdf01e90585ef2ae872a01bc169c6a8d5e60a" + integrity sha512-6n4D8gLlLf1n5mNLQPRfViYzu9RATblzPEtm1SthMX1Pjao0r9YI9nw7ZIfRxQMERS87mcswrg+r/OYrPRX6jA== dependencies: - xmlcreate "^2.0.3" + xmlcreate "^2.0.4" jsbn@~0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" - integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= + integrity sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg== jsdoc@^3.6.5: - version "3.6.5" - resolved "https://registry.yarnpkg.com/jsdoc/-/jsdoc-3.6.5.tgz#e004372ca6f2dcdf19b3d2ebcd7c725528485502" - integrity sha512-SbY+i9ONuxSK35cgVHaI8O9senTE4CDYAmGSDJ5l3+sfe62Ff4gy96osy6OW84t4K4A8iGnMrlRrsSItSNp3RQ== + version "3.6.11" + resolved "https://registry.yarnpkg.com/jsdoc/-/jsdoc-3.6.11.tgz#8bbb5747e6f579f141a5238cbad4e95e004458ce" + integrity sha512-8UCU0TYeIYD9KeLzEcAu2q8N/mx9O3phAGl32nmHlE0LpaJL71mMkP4d+QE5zWfNt50qheHtOZ0qoxVrsX5TUg== dependencies: "@babel/parser" "^7.9.4" + "@types/markdown-it" "^12.2.3" bluebird "^3.7.2" - catharsis "^0.8.11" + catharsis "^0.9.0" escape-string-regexp "^2.0.0" - js2xmlparser "^4.0.1" + js2xmlparser "^4.0.2" klaw "^3.0.0" - markdown-it "^10.0.0" - markdown-it-anchor "^5.2.7" - marked "^0.8.2" + markdown-it "^12.3.2" + markdown-it-anchor "^8.4.1" + marked "^4.0.10" mkdirp "^1.0.4" requizzle "^0.2.3" strip-json-comments "^3.1.0" taffydb "2.6.2" - underscore "~1.10.2" + underscore "~1.13.2" jsesc@^2.5.1: version "2.5.2" resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== -json-bigint@^0.3.0: - version "0.3.1" - resolved "https://registry.yarnpkg.com/json-bigint/-/json-bigint-0.3.1.tgz#0c1729d679f580d550899d6a2226c228564afe60" - integrity sha512-DGWnSzmusIreWlEupsUelHrhwmPPE+FiQvg+drKfk2p+bdEYa5mp4PJ8JsCWqae0M2jQNb0HPvnwvf1qOTThzQ== +json-bigint@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/json-bigint/-/json-bigint-1.0.0.tgz#ae547823ac0cad8398667f8cd9ef4730f5b01ff1" + integrity sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ== dependencies: bignumber.js "^9.0.0" -json-buffer@3.0.1: +json-buffer@3.0.1, json-buffer@~3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== @@ -5232,65 +5875,76 @@ json-buffer@3.0.1: json-parse-better-errors@^1.0.0, json-parse-better-errors@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" + integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== + +json-parse-even-better-errors@^2.3.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" + integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== json-schema-traverse@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== -json-schema@0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" - integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= +json-schema@0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.4.0.tgz#f7de4cf6efab838ebaeb3236474cbba5a1930ab5" + integrity sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA== json-stable-stringify-without-jsonify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" - integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= + integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== json-stringify-safe@^5.0.1, json-stringify-safe@~5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" + integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA== json5@^1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" + resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" + integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow== dependencies: minimist "^1.2.0" -json5@^2.1.2: - version "2.1.3" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.3.tgz#c9b0f7fa9233bfe5807fe66fcf3a5617ed597d43" - integrity sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA== - dependencies: - minimist "^1.2.5" +json5@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.1.tgz#655d50ed1e6f95ad1a3caababd2b0efda10b395c" + integrity sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA== jsonfile@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" - integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss= + integrity sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg== optionalDependencies: graceful-fs "^4.1.6" jsonparse@^1.2.0: version "1.3.1" resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" - integrity sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA= + integrity sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg== jsprim@^1.2.2: - version "1.4.1" - resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" - integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI= + version "1.4.2" + resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.2.tgz#712c65533a15c878ba59e9ed5f0e26d5b77c5feb" + integrity sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw== dependencies: assert-plus "1.0.0" extsprintf "1.3.0" - json-schema "0.2.3" + json-schema "0.4.0" verror "1.10.0" +jstoxml@^2.0.0: + version "2.2.9" + resolved "https://registry.yarnpkg.com/jstoxml/-/jstoxml-2.2.9.tgz#2eebd5e55383fe66a375022ca0aa88f77bc4fb84" + integrity sha512-OYWlK0j+roh+eyaMROlNbS5cd5R25Y+IUpdl7cNdB8HNrkgwQzIS7L9MegxOiWNBj9dQhA/yAxiMwCC5mwNoBw== + jstransformer@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/jstransformer/-/jstransformer-1.0.0.tgz#ed8bf0921e2f3f1ed4d5c1a44f68709ed24722c3" - integrity sha1-7Yvwkh4vPx7U1cGkT2hwntJHIsM= + integrity sha512-C9YK3Rf8q6VAPDCCU9fnqo3mAfOH6vUGnMcP4AQAYIEpWtfGLpwOTmZ+igtdK5y+VvI2n3CyYSzy4Qh34eq24A== dependencies: is-promise "^2.0.0" promise "^7.0.1" @@ -5332,25 +5986,27 @@ jws@^4.0.0: key-mirror@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/key-mirror/-/key-mirror-1.0.1.tgz#0a132d5c8a82a3a4fcd7df732ff9510d04ab366b" + integrity sha512-qRqYvj2S1VGEr+KnxwSX74xKCfnhZsLHUwvsGYC1OP0vaV/eYzS8jpEO/lFGPAJPmzwCm/JQmxabpoVMdOK76g== keyv@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.0.3.tgz#4f3aa98de254803cafcd2896734108daa35e4254" - integrity sha512-zdGa2TOpSZPq5mU6iowDARnMBZgtCqJ11dJROFi6tg6kTn4nuUdU09lFyLFSaHrWqpIJ+EBq4E8/Dc0Vx5vLdA== + version "4.4.1" + resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.4.1.tgz#5d97bae8dfbb6788ebc9330daf5eb6582e2d3d1c" + integrity sha512-PzByhNxfBLnSBW2MZi1DF+W5+qB/7BMpOokewqIvqS8GFtP7xHm2oeGU72Y1fhtfOv/FiEnI4+nyViYDmUChnw== dependencies: + compress-brotli "^1.3.8" json-buffer "3.0.1" kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: version "3.2.2" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" - integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= + integrity sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ== dependencies: is-buffer "^1.1.5" kind-of@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" - integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= + integrity sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw== dependencies: is-buffer "^1.1.5" @@ -5364,6 +6020,13 @@ kind-of@^6.0.0, kind-of@^6.0.2, kind-of@^6.0.3: resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== +kitx@^2.0.0, kitx@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/kitx/-/kitx-2.1.0.tgz#fc7fbf78eb6ed7a5a3fd2d7afb3011e29d0e44c8" + integrity sha512-C/5v9MtIX7aHGOjwn5BmrrbNkJSf7i0R5mRzmh13GSAdRqQ7bYQo/Su2pTYNylFicqKNTVX3HML9k1u8k51+pQ== + dependencies: + "@types/node" "^12.0.2" + klaw@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/klaw/-/klaw-3.0.0.tgz#b11bec9cf2492f06756d6e809ab73a2910259146" @@ -5371,10 +6034,17 @@ klaw@^3.0.0: dependencies: graceful-fs "^4.1.9" +ko-sleep@^1.0.3: + version "1.1.4" + resolved "https://registry.yarnpkg.com/ko-sleep/-/ko-sleep-1.1.4.tgz#56462fba835e07bb8c26cfa083f9893a3fde5469" + integrity sha512-s05WGpvvzyTuRlRE8fM7ru2Z3O+InbJuBcckTWKg2W+2c1k6SnFa3IfiSSt0/peFrlYAXgNoxuJWWVNmWh+K/A== + dependencies: + ms "*" + lazy-cache@^1.0.3: version "1.0.4" resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" - integrity sha1-odePw6UEdMuAhF07O24dpJpEbo4= + integrity sha512-RE2g0b5VGZsOCFOCgP7omTRYFqydmZkBwl5oNnQ1lDYC57uyO9KqNnNVxT7COSHTxrRCWVcAVOcbjk+tvh/rgQ== lerna@^3.22.1: version "3.22.1" @@ -5408,22 +6078,30 @@ levn@^0.4.1: prelude-ls "^1.2.1" type-check "~0.4.0" +levn@~0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" + integrity sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA== + dependencies: + prelude-ls "~1.1.2" + type-check "~0.3.2" + lines-and-columns@^1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" - integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= + version "1.2.4" + resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" + integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== -linkify-it@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/linkify-it/-/linkify-it-2.2.0.tgz#e3b54697e78bf915c70a38acd78fd09e0058b1cf" - integrity sha512-GnAl/knGn+i1U/wjBz3akz2stz+HrHLsxMwHQGofCDfPvlf+gDKN58UtfmUquTY4/MXeE2x7k19KQmeoZi94Iw== +linkify-it@^3.0.1: + version "3.0.3" + resolved "https://registry.yarnpkg.com/linkify-it/-/linkify-it-3.0.3.tgz#a98baf44ce45a550efb4d49c769d07524cc2fa2e" + integrity sha512-ynTsyrFSdE5oZ/O9GEf00kPngmOfVwazR5GKDq6EYfhlpFug3J2zybX56a2PRRpc9P+FuSoGNAwjlbDs9jJBPQ== dependencies: uc.micro "^1.0.1" load-json-file@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" - integrity sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA= + integrity sha512-cy7ZdNRXdablkXYNI049pthVeXFurRyb9+hA/dZzerZ0pGTx42z+y+ssxBaVV2l70t1muq5IdKhn4UtcoGUY9A== dependencies: graceful-fs "^4.1.2" parse-json "^2.2.0" @@ -5434,7 +6112,7 @@ load-json-file@^1.0.0: load-json-file@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" - integrity sha1-L19Fq5HjMhYjT9U62rZo607AmTs= + integrity sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw== dependencies: graceful-fs "^4.1.2" parse-json "^4.0.0" @@ -5455,6 +6133,7 @@ load-json-file@^5.3.0: locate-path@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" + integrity sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA== dependencies: p-locate "^2.0.0" path-exists "^3.0.0" @@ -5462,6 +6141,7 @@ locate-path@^2.0.0: locate-path@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" + integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== dependencies: p-locate "^3.0.0" path-exists "^3.0.0" @@ -5473,50 +6153,47 @@ locate-path@^5.0.0: dependencies: p-locate "^4.1.0" +locate-path@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" + integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== + dependencies: + p-locate "^5.0.0" + lodash._reinterpolate@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" - integrity sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0= - -lodash.at@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/lodash.at/-/lodash.at-4.6.0.tgz#93cdce664f0a1994ea33dd7cd40e23afd11b0ff8" - integrity sha1-k83OZk8KGZTqM9181A4jr9EbD/g= + integrity sha512-xYHt68QRoYGjeeM/XOE1uJtvXQAgvszfBhjV4yvsQH0u2i9I6cI6c6/eG4Hh3UAOVn0y/xAXwmTzEay49Q//HA== lodash.camelcase@^4.3.0: version "4.3.0" resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6" - integrity sha1-soqmKIorn8ZRA1x3EfZathkDMaY= + integrity sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA== lodash.clonedeep@^4.5.0: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" - integrity sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8= + integrity sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ== lodash.get@^4.4.2: version "4.4.2" resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99" - integrity sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk= + integrity sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ== lodash.groupby@^4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/lodash.groupby/-/lodash.groupby-4.6.0.tgz#0b08a1dcf68397c397855c3239783832df7403d1" - integrity sha1-Cwih3PaDl8OXhVwyOXg4Mt90A9E= - -lodash.has@^4.5.2: - version "4.5.2" - resolved "https://registry.yarnpkg.com/lodash.has/-/lodash.has-4.5.2.tgz#d19f4dc1095058cccbe2b0cdf4ee0fe4aa37c862" - integrity sha1-0Z9NwQlQWMzL4rDN9O4P5Ko3yGI= + integrity sha512-5dcWxm23+VAoz+awKmBaiBvzox8+RqMgFhi7UvX9DHZr2HdxHXM/Wrf8cfKpsW37RNrvtPn6hSwNqurSILbmJw== lodash.isequal@^4.5.0: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" - integrity sha1-QVxEePK8wwEgwizhDtMib30+GOA= + integrity sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ== lodash.ismatch@^4.4.0: version "4.4.0" resolved "https://registry.yarnpkg.com/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz#756cb5150ca3ba6f11085a78849645f188f85f37" - integrity sha1-dWy1FQyjum8RCFp4hJZF8Yj4Xzc= + integrity sha512-fPMfXjGQEV9Xsq/8MTSgUf255gawYRbjwMyDbcvDhXgV7enSZA0hynz6vMPnpAb5iONEzBHBPsT+0zes5Z301g== lodash.merge@^4.6.2: version "4.6.2" @@ -5526,17 +6203,17 @@ lodash.merge@^4.6.2: lodash.set@^4.3.2: version "4.3.2" resolved "https://registry.yarnpkg.com/lodash.set/-/lodash.set-4.3.2.tgz#d8757b1da807dde24816b0d6a84bea1a76230b23" - integrity sha1-2HV7HagH3eJIFrDWqEvqGnYjCyM= + integrity sha512-4hNPN5jlm/N/HLMCO43v8BXKq9Z7QdAGc/VGrRD61w8gN9g/6jF9A4L1pbUgBLCffi0w9VsXfTOij5x8iTyFvg== lodash.snakecase@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz#39d714a35357147837aefd64b5dcbb16becd8f8d" - integrity sha1-OdcUo1NXFHg3rv1ktdy7Fr7Nj40= + integrity sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw== lodash.sortby@^4.7.0: version "4.7.0" resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" - integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg= + integrity sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA== lodash.template@^4.0.2, lodash.template@^4.5.0: version "4.5.0" @@ -5556,39 +6233,34 @@ lodash.templatesettings@^4.0.0: lodash.uniq@^4.5.0: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" - integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= - -lodash@^4.17.12, lodash@^4.17.15, lodash@^4.17.5, lodash@^4.2.1: - version "4.17.15" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" - integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== + integrity sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ== -lodash@^4.17.14, lodash@^4.17.19: - version "4.17.19" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.19.tgz#e48ddedbe30b3321783c5b4301fbd353bc1e4a4b" - integrity sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ== +lodash@^4.17.12, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.2.1: + version "4.17.21" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== -lodash@^4.17.4: - version "4.17.20" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52" - integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA== - -log-symbols@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-3.0.0.tgz#f3a08516a5dea893336a7dee14d18a1cfdab77c4" - integrity sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ== +log-symbols@4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.0.0.tgz#69b3cc46d20f448eccdb75ea1fa733d9e821c920" + integrity sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA== dependencies: - chalk "^2.4.2" + chalk "^4.0.0" long@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/long/-/long-4.0.0.tgz#9a7b71cfb7d361a194ea555241c92f7468d5bf28" integrity sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA== +long@^5.0.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/long/-/long-5.2.0.tgz#2696dadf4b4da2ce3f6f6b89186085d94d52fd61" + integrity sha512-9RTUNjK60eJbx3uz+TEGF7fUr29ZDxR5QzXcyDpeSfeH28S9ycINflOgOlppit5U+4kNTe83KQnMEerw7GmE8w== + longest@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097" - integrity sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc= + integrity sha512-k+yt5n3l48JU4k8ftnKG6V7u32wyH2NfKzeMto9F/QRE0amxy/LayxwlvjjkZEIzqR+19IrtFO8p5kB9QaYUFg== loose-envify@^1.4.0: version "1.4.0" @@ -5600,11 +6272,18 @@ loose-envify@^1.4.0: loud-rejection@^1.0.0: version "1.6.0" resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" - integrity sha1-W0b4AUft7leIcPCG0Eghz5mOVR8= + integrity sha512-RPNliZOFkqFumDhvYqOaNY4Uz9oJM2K9tC6JWsJJsNdhuONW4LQHRBpb0qf4pJApVffI5N39SwzWZJuEhfd7eQ== dependencies: currently-unhandled "^0.4.1" signal-exit "^3.0.0" +loupe@^2.3.1: + version "2.3.4" + resolved "https://registry.yarnpkg.com/loupe/-/loupe-2.3.4.tgz#7e0b9bffc76f148f9be769cb1321d3dcf3cb25f3" + integrity sha512-OvKfgCC2Ndby6aSTREl5aCCPTNIzlDfQZvZxNUrBrihDhL3xcrYegTblhmEiCrg2kKQz4XsFIaemE5BF4ybSaQ== + dependencies: + get-func-name "^2.0.0" + lowercase-keys@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479" @@ -5613,11 +6292,12 @@ lowercase-keys@^2.0.0: lru-cache@^4.0.1, lru-cache@^4.1.5: version "4.1.5" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" + integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g== dependencies: pseudomap "^1.0.2" yallist "^2.1.2" -lru-cache@^5.0.0, lru-cache@^5.1.1: +lru-cache@^5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== @@ -5632,9 +6312,9 @@ lru-cache@^6.0.0: yallist "^4.0.0" macos-release@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/macos-release/-/macos-release-2.3.0.tgz#eb1930b036c0800adebccd5f17bc4c12de8bb71f" - integrity sha512-OHhSbtcviqMPt7yfw5ef5aghS2jzFVKEFyCJndQt2YpSQ9qRVSEv2axSJI1paVThEu+FFGs584h/1YhxjVqajA== + version "2.5.0" + resolved "https://registry.yarnpkg.com/macos-release/-/macos-release-2.5.0.tgz#067c2c88b5f3fb3c56a375b2ec93826220fa1ff2" + integrity sha512-EIgv+QZ9r+814gjJj0Bt5vSLJLzswGmSUbUpbi9AIr/fsN2IWFBl2NucV9PAiek+U1STK468tEkxmVYUtuAN3g== make-dir@^1.0.0: version "1.3.0" @@ -5683,60 +6363,60 @@ make-fetch-happen@^5.0.0: map-cache@^0.2.2: version "0.2.2" resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" - integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= + integrity sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg== map-obj@^1.0.0, map-obj@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" - integrity sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0= + integrity sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg== map-obj@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-2.0.0.tgz#a65cd29087a92598b8791257a523e021222ac1f9" - integrity sha1-plzSkIepJZi4eRJXpSPgISIqwfk= + integrity sha512-TzQSV2DiMYgoF5RycneKVUzIa9bQsj/B3tTgsE3dOGqlzHnGIDaC7XBE7grnA+8kZPnfqSGFe95VHc2oc0VFUQ== map-obj@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-4.1.0.tgz#b91221b542734b9f14256c0132c897c5d7256fd5" - integrity sha512-glc9y00wgtwcDmp7GaE/0b0OnxpNJsVf3ael/An6Fe2Q51LLwN1er6sdomLRzz5h0+yMpiYLhWYF5R7HeqVd4g== + version "4.3.0" + resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-4.3.0.tgz#9304f906e93faae70880da102a9f1df0ea8bb05a" + integrity sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ== map-visit@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" - integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= + integrity sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w== dependencies: object-visit "^1.0.0" -markdown-it-anchor@^5.2.7: - version "5.3.0" - resolved "https://registry.yarnpkg.com/markdown-it-anchor/-/markdown-it-anchor-5.3.0.tgz#d549acd64856a8ecd1bea58365ef385effbac744" - integrity sha512-/V1MnLL/rgJ3jkMWo84UR+K+jF1cxNG1a+KwqeXqTIJ+jtA8aWSHuigx8lTzauiIjBDbwF3NcWQMotd0Dm39jA== +markdown-it-anchor@^8.4.1: + version "8.6.4" + resolved "https://registry.yarnpkg.com/markdown-it-anchor/-/markdown-it-anchor-8.6.4.tgz#affb8aa0910a504c114e9fcad53ac3a5b907b0e6" + integrity sha512-Ul4YVYZNxMJYALpKtu+ZRdrryYt/GlQ5CK+4l1bp/gWXOG2QWElt6AqF3Mih/wfUKdZbNAZVXGR73/n6U/8img== -markdown-it@^10.0.0: - version "10.0.0" - resolved "https://registry.yarnpkg.com/markdown-it/-/markdown-it-10.0.0.tgz#abfc64f141b1722d663402044e43927f1f50a8dc" - integrity sha512-YWOP1j7UbDNz+TumYP1kpwnP0aEa711cJjrAQrzd0UXlbJfc5aAq0F/PZHjiioqDC1NKgvIMX+o+9Bk7yuM2dg== +markdown-it@^12.3.2: + version "12.3.2" + resolved "https://registry.yarnpkg.com/markdown-it/-/markdown-it-12.3.2.tgz#bf92ac92283fe983fe4de8ff8abfb5ad72cd0c90" + integrity sha512-TchMembfxfNVpHkbtriWltGWc+m3xszaRD0CZup7GFFhzIgQqxIfn3eGj1yZpfuflzPvfkt611B2Q/Bsk1YnGg== dependencies: - argparse "^1.0.7" - entities "~2.0.0" - linkify-it "^2.0.0" + argparse "^2.0.1" + entities "~2.1.0" + linkify-it "^3.0.1" mdurl "^1.0.1" uc.micro "^1.0.5" -marked@^0.8.2: - version "0.8.2" - resolved "https://registry.yarnpkg.com/marked/-/marked-0.8.2.tgz#4faad28d26ede351a7a1aaa5fec67915c869e355" - integrity sha512-EGwzEeCcLniFX51DhTpmTom+dSA/MG/OBUDjnWtHbEnjAH180VzUeAw+oE4+Zv+CoYBWyRlYOTR0N8SO9R1PVw== +marked@^4.0.10: + version "4.0.19" + resolved "https://registry.yarnpkg.com/marked/-/marked-4.0.19.tgz#d36198d1ac1255525153c351c68c75bc1d7aee46" + integrity sha512-rgQF/OxOiLcvgUAj1Q1tAf4Bgxn5h5JZTp04Fx4XUkVhs7B+7YA9JEWJhJpoO8eJt8MkZMwqLCNeNqj1bCREZQ== mdurl@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/mdurl/-/mdurl-1.0.1.tgz#fe85b2ec75a59037f2adfec100fd6c601761152e" - integrity sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4= + integrity sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g== meow@^3.3.0: version "3.7.0" resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" - integrity sha1-cstmi0JSKCkKu/qFaJJYcwioAfs= + integrity sha512-TNdwZs0skRlpPpCUK25StC4VH+tP5GgeY1HQOOGP+lQ2xtdkN2VtT/5tiX9k3IWpkBPV9b3LsAWXn4GGi/PrSA== dependencies: camelcase-keys "^2.0.0" decamelize "^1.1.2" @@ -5764,24 +6444,27 @@ meow@^4.0.0: redent "^2.0.0" trim-newlines "^2.0.0" -meow@^7.0.0: - version "7.0.1" - resolved "https://registry.yarnpkg.com/meow/-/meow-7.0.1.tgz#1ed4a0a50b3844b451369c48362eb0515f04c1dc" - integrity sha512-tBKIQqVrAHqwit0vfuFPY3LlzJYkEOFyKa3bPgxzNl6q/RtN8KQ+ALYEASYuFayzSAsjlhXj/JZ10rH85Q6TUw== +meow@^8.0.0: + version "8.1.2" + resolved "https://registry.yarnpkg.com/meow/-/meow-8.1.2.tgz#bcbe45bda0ee1729d350c03cffc8395a36c4e897" + integrity sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q== dependencies: "@types/minimist" "^1.2.0" - arrify "^2.0.1" - camelcase "^6.0.0" camelcase-keys "^6.2.2" decamelize-keys "^1.1.0" hard-rejection "^2.1.0" - minimist-options "^4.0.2" - normalize-package-data "^2.5.0" + minimist-options "4.1.0" + normalize-package-data "^3.0.0" read-pkg-up "^7.0.1" redent "^3.0.0" trim-newlines "^3.0.0" - type-fest "^0.13.1" - yargs-parser "^18.1.3" + type-fest "^0.18.0" + yargs-parser "^20.2.3" + +merge-descriptors@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" + integrity sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w== merge-stream@^2.0.0: version "2.0.0" @@ -5820,33 +6503,33 @@ micromatch@^4.0.4: braces "^3.0.2" picomatch "^2.3.1" -mime-db@1.44.0, "mime-db@>= 1.43.0 < 2": - version "1.44.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.44.0.tgz#fa11c5eb0aca1334b4233cb4d52f10c5a6272f92" - integrity sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg== +mime-db@1.52.0, "mime-db@>= 1.43.0 < 2": + version "1.52.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" + integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== mime-types@^2.0.8, mime-types@^2.1.12, mime-types@~2.1.19: - version "2.1.27" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.27.tgz#47949f98e279ea53119f5722e0f34e529bec009f" - integrity sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w== + version "2.1.35" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" + integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== dependencies: - mime-db "1.44.0" + mime-db "1.52.0" + +mime@^2.4.5, mime@^2.5.2: + version "2.6.0" + resolved "https://registry.yarnpkg.com/mime/-/mime-2.6.0.tgz#a2a682a95cd4d0cb1d6257e28f83da7e35800367" + integrity sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg== -mime@^2.2.0: - version "2.4.6" - resolved "https://registry.yarnpkg.com/mime/-/mime-2.4.6.tgz#e5b407c90db442f2beb5b162373d07b69affa4d1" - integrity sha512-RZKhC3EmpBchfTGBVb8fb+RL2cWyw/32lshnsETttkBAyAUXSGHxbEJWWRXc751DrIxG1q04b8QwMbAwkRPpUA== +mime@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/mime/-/mime-3.0.0.tgz#b374550dca3a0c18443b0c950a6a58f1931cf7a7" + integrity sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A== mimic-fn@^1.0.0: version "1.2.0" resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ== -mimic-fn@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" - integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== - mimic-response@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" @@ -5862,21 +6545,21 @@ min-indent@^1.0.0: resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== -minimatch@3.0.4, minimatch@^3.0.2, minimatch@^3.0.4: +minimatch@3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== dependencies: brace-expansion "^1.1.7" -minimist-options@^3.0.1: - version "3.0.2" - resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-3.0.2.tgz#fba4c8191339e13ecf4d61beb03f070103f3d954" - integrity sha512-FyBrT/d0d4+uiZRbqznPXqw3IpZZG3gl3wKWiX784FycUKVwBt0uLBFkQrtE4tZOrgo78nZp2jnKz3L65T5LdQ== +minimatch@^3.0.2, minimatch@^3.0.4, minimatch@^3.1.1, minimatch@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" + integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== dependencies: - arrify "^1.0.1" - is-plain-obj "^1.1.0" + brace-expansion "^1.1.7" -minimist-options@^4.0.2: +minimist-options@4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-4.1.0.tgz#c0655713c53a8a2ebd77ffa247d342c40f010619" integrity sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A== @@ -5885,20 +6568,20 @@ minimist-options@^4.0.2: is-plain-obj "^1.1.0" kind-of "^6.0.3" -minimist@0.0.8: - version "0.0.8" - resolved "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" - -minimist@^1.1.3, minimist@^1.2.5: - version "1.2.5" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" - integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== +minimist-options@^3.0.1: + version "3.0.2" + resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-3.0.2.tgz#fba4c8191339e13ecf4d61beb03f070103f3d954" + integrity sha512-FyBrT/d0d4+uiZRbqznPXqw3IpZZG3gl3wKWiX784FycUKVwBt0uLBFkQrtE4tZOrgo78nZp2jnKz3L65T5LdQ== + dependencies: + arrify "^1.0.1" + is-plain-obj "^1.1.0" -minimist@^1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" +minimist@^1.1.0, minimist@^1.1.3, minimist@^1.2.0, minimist@^1.2.5, minimist@^1.2.6: + version "1.2.6" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44" + integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q== -minipass@^2.3.5, minipass@^2.6.0, minipass@^2.8.6, minipass@^2.9.0: +minipass@^2.3.5, minipass@^2.6.0, minipass@^2.9.0: version "2.9.0" resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.9.0.tgz#e713762e7d3e32fed803115cf93e04bca9fcc9a6" integrity sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg== @@ -5906,7 +6589,7 @@ minipass@^2.3.5, minipass@^2.6.0, minipass@^2.8.6, minipass@^2.9.0: safe-buffer "^5.1.2" yallist "^3.0.0" -minizlib@^1.2.1: +minizlib@^1.3.3: version "1.3.3" resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.3.3.tgz#2290de96818a34c29551c8a8d301216bd65a861d" integrity sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q== @@ -5940,7 +6623,7 @@ mixin-deep@^1.2.0: mkdirp-promise@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/mkdirp-promise/-/mkdirp-promise-5.0.1.tgz#e9b8f68e552c68a9c1713b84883f7a1dd039b8a1" - integrity sha1-6bj2jlUsaKnBcTuEiD96HdA5uKE= + integrity sha512-Hepn5kb1lJPtVW84RFT40YG1OddBNTOVUZR2bzQUHc+Z03en8/3uX0+060JDhcEzyO08HmipsN9DcnFMxhIL9w== dependencies: mkdirp "*" @@ -5949,49 +6632,43 @@ mkdirp@*, mkdirp@^1.0.4: resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== -mkdirp@^0.5.0: - version "0.5.1" - resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" +mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@^0.5.5: + version "0.5.6" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6" + integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== dependencies: - minimist "0.0.8" - -mkdirp@^0.5.1: - version "0.5.5" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" - integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== - dependencies: - minimist "^1.2.5" + minimist "^1.2.6" mocha@^8.0.1: - version "8.0.1" - resolved "https://registry.yarnpkg.com/mocha/-/mocha-8.0.1.tgz#fe01f0530362df271aa8f99510447bc38b88d8ed" - integrity sha512-vefaXfdYI8+Yo8nPZQQi0QO2o+5q9UIMX1jZ1XMmK3+4+CQjc7+B0hPdUeglXiTlr8IHMVRo63IhO9Mzt6fxOg== + version "8.4.0" + resolved "https://registry.yarnpkg.com/mocha/-/mocha-8.4.0.tgz#677be88bf15980a3cae03a73e10a0fc3997f0cff" + integrity sha512-hJaO0mwDXmZS4ghXsvPVriOhsxQ7ofcpQdm8dE+jISUOKopitvnXFQmpRR7jd2K6VBG6E26gU3IAbXXGIbu4sQ== dependencies: + "@ungap/promise-all-settled" "1.1.2" ansi-colors "4.1.1" browser-stdout "1.3.1" - chokidar "3.3.1" - debug "3.2.6" - diff "4.0.2" - escape-string-regexp "1.0.5" - find-up "4.1.0" + chokidar "3.5.1" + debug "4.3.1" + diff "5.0.0" + escape-string-regexp "4.0.0" + find-up "5.0.0" glob "7.1.6" growl "1.10.5" he "1.2.0" - js-yaml "3.13.1" - log-symbols "3.0.0" + js-yaml "4.0.0" + log-symbols "4.0.0" minimatch "3.0.4" - ms "2.1.2" - object.assign "4.1.0" - promise.allsettled "1.0.2" - serialize-javascript "3.0.0" - strip-json-comments "3.0.1" - supports-color "7.1.0" + ms "2.1.3" + nanoid "3.1.20" + serialize-javascript "5.0.1" + strip-json-comments "3.1.1" + supports-color "8.1.1" which "2.0.2" wide-align "1.1.3" - workerpool "6.0.0" - yargs "13.3.2" - yargs-parser "13.1.2" - yargs-unparser "1.6.0" + workerpool "6.1.0" + yargs "16.2.0" + yargs-parser "20.2.4" + yargs-unparser "2.0.0" modify-values@^1.0.0: version "1.0.1" @@ -6001,7 +6678,7 @@ modify-values@^1.0.0: move-concurrently@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92" - integrity sha1-viwAX9oy4LKa8fBdfEszIUxwH5I= + integrity sha512-hdrFxZOycD/g6A6SoI2bB5NA/5NEqD0569+S47WZhPvm46sD50ZHdYaFmnua5lndde9rCHGjmfK7Z8BuCt/PcQ== dependencies: aproba "^1.1.1" copy-concurrently "^1.0.0" @@ -6011,25 +6688,29 @@ move-concurrently@^1.0.1: run-queue "^1.0.3" mri@^1.1.0: - version "1.1.4" - resolved "https://registry.yarnpkg.com/mri/-/mri-1.1.4.tgz#7cb1dd1b9b40905f1fac053abe25b6720f44744a" + version "1.2.0" + resolved "https://registry.yarnpkg.com/mri/-/mri-1.2.0.tgz#6721480fec2a11a4889861115a48b6cbe7cc8f0b" + integrity sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA== + +ms@*, ms@2.1.3, ms@^2.0.0, ms@^2.1.1: + version "2.1.3" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== ms@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== -ms@2.1.2, ms@^2.0.0: +ms@2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== -ms@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" - multimatch@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/multimatch/-/multimatch-3.0.0.tgz#0e2534cc6bc238d9ab67e1b9cd5fcd85a6dbf70b" + integrity sha512-22foS/gqQfANZ3o+W7ST2x25ueHDVNWl/b9OlGcLpy/iKxjCpvcNCM51YCenUi7Mt/jAjjqv8JwZRs8YP5sRjA== dependencies: array-differ "^2.0.3" array-union "^1.0.2" @@ -6039,14 +6720,25 @@ multimatch@^3.0.0: mute-stream@0.0.7: version "0.0.7" resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" - integrity sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s= + integrity sha512-r65nCZhrbXXb6dXOACihYApHw2Q6pV0M3V0PSxd74N0+D8nzAdEAITq2oAjA1jVnKI+tGvEBUpqiMh0+rW6zDQ== mute-stream@~0.0.4: version "0.0.8" resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== -mz@^2.5.0: +mz-modules@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/mz-modules/-/mz-modules-2.1.0.tgz#7f529877afd0d42f409a7463b96986d61cfbcf96" + integrity sha512-sjk8lcRW3vrVYnZ+W+67L/2rL+jbO5K/N6PFGIcLWTiYytNr22Ah9FDXFs+AQntTM1boZcoHi5qS+CV1seuPog== + dependencies: + glob "^7.1.2" + ko-sleep "^1.0.3" + mkdirp "^0.5.1" + pump "^3.0.0" + rimraf "^2.6.1" + +mz@^2.5.0, mz@^2.7.0: version "2.7.0" resolved "https://registry.yarnpkg.com/mz/-/mz-2.7.0.tgz#95008057a56cafadc2bc63dde7f9ff6955948e32" integrity sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q== @@ -6055,6 +6747,11 @@ mz@^2.5.0: object-assign "^4.0.1" thenify-all "^1.0.0" +nanoid@3.1.20: + version "3.1.20" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.20.tgz#badc263c6b1dcf14b71efaa85f6ab4c1d6cfc788" + integrity sha512-a1cQNyczgKbLX9jwbS/+d7W8fX/RfgYR7lVWwWOGIPNgK2m0MWvrGF6/m4kk6U3QcFMnZf3RIhL0v2Jgh/0Uxw== + nanomatch@^1.2.9: version "1.2.13" resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" @@ -6075,25 +6772,27 @@ nanomatch@^1.2.9: natural-compare@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" - integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= + integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== -neo-async@^2.6.0: - version "2.6.1" - resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.1.tgz#ac27ada66167fa8849a6addd837f6b189ad2081c" - integrity sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw== - -neo-async@^2.6.1: +neo-async@^2.6.0, neo-async@^2.6.1: version "2.6.2" resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== +netmask@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/netmask/-/netmask-2.0.2.tgz#8b01a07644065d536383835823bc52004ebac5e7" + integrity sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg== + nice-try@^1.0.4: version "1.0.5" resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" + integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== nock@^9.6.1: version "9.6.1" resolved "https://registry.yarnpkg.com/nock/-/nock-9.6.1.tgz#d96e099be9bc1d0189a77f4490bbbb265c381b49" + integrity sha512-EDgl/WgNQ0C1BZZlASOQkQdE6tAWXJi8QQlugqzN64JJkvZ7ILijZuG24r4vCC7yOfnm6HKpne5AGExLGCeBWg== dependencies: chai "^4.1.2" debug "^3.1.0" @@ -6108,7 +6807,7 @@ nock@^9.6.1: node-dir@^0.1.10: version "0.1.17" resolved "https://registry.yarnpkg.com/node-dir/-/node-dir-0.1.17.tgz#5f5665d93351335caabef8f1c554516cf5f1e4e5" - integrity sha1-X1Zl2TNRM1yqvvjxxVRRbPXx5OU= + integrity sha512-tmPX422rYgofd4epzrNoOXiE8XFZYOcCq1vD7MAXCDO+O+zndlA2ztdKKMa+EeuBG5tHETpr4ml4RGgpqDCCAg== dependencies: minimatch "^3.0.2" @@ -6121,15 +6820,17 @@ node-fetch-npm@^2.0.2: json-parse-better-errors "^1.0.0" safe-buffer "^5.1.1" -node-fetch@^2.2.0, node-fetch@^2.3.0, node-fetch@^2.5.0, node-fetch@^2.6.0: - version "2.6.0" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.0.tgz#e633456386d4aa55863f676a7ab0daa8fdecb0fd" - integrity sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA== +node-fetch@^2.5.0, node-fetch@^2.6.1, node-fetch@^2.6.7: + version "2.6.7" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad" + integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ== + dependencies: + whatwg-url "^5.0.0" -node-forge@^0.9.0: - version "0.9.1" - resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.9.1.tgz#775368e6846558ab6676858a4d8c6e8d16c677b5" - integrity sha512-G6RlQt5Sb4GMBzXvhfkeFmbqR6MzhtnT7VTHuLadjkii3rdYHNdw0m8zA4BTxVIh68FicCQ2NSUANpsqkr9jvQ== +node-forge@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-1.3.1.tgz#be8da2af243b2417d5f646a770663a92b7e9ded3" + integrity sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA== node-gyp@^5.0.2: version "5.1.1" @@ -6148,6 +6849,11 @@ node-gyp@^5.0.2: tar "^4.4.12" which "^1.3.1" +node-releases@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.6.tgz#8a7088c63a55e493845683ebf3c828d8c51c5503" + integrity sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg== + nopt@^4.0.1: version "4.0.3" resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.3.tgz#a375cad9d02fd921278d954c2254d5aa57e15e48" @@ -6159,31 +6865,37 @@ nopt@^4.0.1: normalize-package-data@^2.0.0, normalize-package-data@^2.3.0, normalize-package-data@^2.3.2, normalize-package-data@^2.3.4, normalize-package-data@^2.3.5, normalize-package-data@^2.4.0, normalize-package-data@^2.5.0: version "2.5.0" resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" + integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== dependencies: hosted-git-info "^2.1.4" resolve "^1.10.0" semver "2 || 3 || 4 || 5" validate-npm-package-license "^3.0.1" +normalize-package-data@^3.0.0: + version "3.0.3" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-3.0.3.tgz#dbcc3e2da59509a0983422884cd172eefdfa525e" + integrity sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA== + dependencies: + hosted-git-info "^4.0.1" + is-core-module "^2.5.0" + semver "^7.3.4" + validate-npm-package-license "^3.0.1" + normalize-path@^3.0.0, normalize-path@~3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== -normalize-url@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-3.3.0.tgz#b2e1c4dc4f7c6d57743df733a4f5978d18650559" - integrity sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg== - -normalize-url@^4.1.0: - version "4.5.1" - resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.5.1.tgz#0dd90cf1288ee1d1313b87081c9a5932ee48518a" - integrity sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA== +normalize-url@^6.0.1, normalize-url@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-6.1.0.tgz#40d0885b535deffe3f3147bec877d05fe4c5668a" + integrity sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A== npm-bundled@^1.0.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.1.1.tgz#1edd570865a94cdb1bc8220775e29466c9fb234b" - integrity sha512-gqkfgGePhTpAEgUsGEgcq1rqPXA+tv/aVBlgEzfXwA1yiUJF7xtEt3CtVwOjNYQOVknDk0F20w58Fnm3EtG0fA== + version "1.1.2" + resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.1.2.tgz#944c78789bd739035b70baa2ca5cc32b8d860bc1" + integrity sha512-x5DHup0SuyQcmL3s7Rx/YQ8sbw/Hzg0rj48eN0dV7hf5cmQq5PXIeioroH3raV1QC1yh3uTYuMThvEQF3iKgGQ== dependencies: npm-normalize-package-bin "^1.0.1" @@ -6237,6 +6949,7 @@ npm-pick-manifest@^3.0.0: npm-run-path@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" + integrity sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw== dependencies: path-key "^2.0.0" @@ -6253,7 +6966,7 @@ npmlog@^4.1.2: number-is-nan@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" - integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= + integrity sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ== oauth-sign@~0.9.0: version "0.9.0" @@ -6263,23 +6976,36 @@ oauth-sign@~0.9.0: object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" - integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= + integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== object-copy@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" - integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= + integrity sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ== dependencies: copy-descriptor "^0.1.0" define-property "^0.2.5" kind-of "^3.0.3" -object-inspect@^1.7.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.8.0.tgz#df807e5ecf53a609cc6bfe93eac3cc7be5b3a9d0" - integrity sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA== +object-hash@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-3.0.0.tgz#73f97f753e7baffc0e2cc9d6e079079744ac82e9" + integrity sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw== -object-keys@^1.0.11, object-keys@^1.0.12, object-keys@^1.1.1: +object-inspect@^1.12.0, object-inspect@^1.9.0: + version "1.12.2" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.2.tgz#c0641f26394532f28ab8d796ab954e43c009a8ea" + integrity sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ== + +object-is@^1.0.1: + version "1.1.5" + resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.5.tgz#b9deeaa5fc7f1846a0faecdceec138e5778f53ac" + integrity sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + +object-keys@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== @@ -6287,32 +7013,34 @@ object-keys@^1.0.11, object-keys@^1.0.12, object-keys@^1.1.1: object-visit@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" - integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= + integrity sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA== dependencies: isobject "^3.0.0" -object.assign@4.1.0, object.assign@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da" - integrity sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w== +object.assign@^4.1.2: + version "4.1.4" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.4.tgz#9673c7c7c351ab8c4d0b516f4343ebf4dfb7799f" + integrity sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ== dependencies: - define-properties "^1.1.2" - function-bind "^1.1.1" - has-symbols "^1.0.0" - object-keys "^1.0.11" + call-bind "^1.0.2" + define-properties "^1.1.4" + has-symbols "^1.0.3" + object-keys "^1.1.1" object.getownpropertydescriptors@^2.0.3: - version "2.1.0" - resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz#369bf1f9592d8ab89d712dced5cb81c7c5352649" - integrity sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg== + version "2.1.4" + resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.4.tgz#7965e6437a57278b587383831a9b829455a4bc37" + integrity sha512-sccv3L/pMModT6dJAYF3fzGMVcb38ysQ0tEE6ixv2yXJDtEIPph268OlAdJj5/qZMZDq2g/jqvwppt36uS/uQQ== dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.0-next.1" + array.prototype.reduce "^1.0.4" + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.1" object.pick@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" - integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= + integrity sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ== dependencies: isobject "^3.0.1" @@ -6324,28 +7052,34 @@ octokit-pagination-methods@^1.1.0: once@^1.3.0, once@^1.3.1, once@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== dependencies: wrappy "1" onetime@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" - integrity sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ= + integrity sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ== dependencies: mimic-fn "^1.0.0" -onetime@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.0.tgz#fff0f3c91617fe62bb50189636e99ac8a6df7be5" - integrity sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q== - dependencies: - mimic-fn "^2.1.0" - opencollective-postinstall@^2.0.2: version "2.0.3" resolved "https://registry.yarnpkg.com/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz#7a0fff978f6dbfa4d006238fbac98ed4198c3259" integrity sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q== +optionator@^0.8.1: + version "0.8.3" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" + integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== + dependencies: + deep-is "~0.1.3" + fast-levenshtein "~2.0.6" + levn "~0.3.0" + prelude-ls "~1.1.2" + type-check "~0.3.2" + word-wrap "~1.2.3" + optionator@^0.9.1: version "0.9.1" resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" @@ -6361,7 +7095,7 @@ optionator@^0.9.1: os-homedir@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" - integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M= + integrity sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ== os-name@^3.1.0: version "3.1.0" @@ -6371,10 +7105,18 @@ os-name@^3.1.0: macos-release "^2.2.0" windows-release "^3.1.0" +os-name@~1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/os-name/-/os-name-1.0.3.tgz#1b379f64835af7c5a7f498b357cb95215c159edf" + integrity sha512-f5estLO2KN8vgtTRaILIgEGBoBrMnZ3JQ7W9TMZCnOIGwHe8TRGSpcagnWDo+Dfhd/z08k9Xe75hvciJJ8Qaew== + dependencies: + osx-release "^1.0.0" + win-release "^1.0.0" + os-tmpdir@^1.0.0, os-tmpdir@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" - integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= + integrity sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g== osenv@^0.1.4, osenv@^0.1.5: version "0.1.5" @@ -6384,6 +7126,13 @@ osenv@^0.1.4, osenv@^0.1.5: os-homedir "^1.0.0" os-tmpdir "^1.0.0" +osx-release@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/osx-release/-/osx-release-1.1.0.tgz#f217911a28136949af1bf9308b241e2737d3cd6c" + integrity sha512-ixCMMwnVxyHFQLQnINhmIpWqXIfS2YOXchwQrk+OFzmo6nDjQ0E4KXAyyUh0T0MZgV4bUhkRrAbVqlE4yLVq4A== + dependencies: + minimist "^1.1.0" + p-cancelable@^2.0.0: version "2.1.1" resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-2.1.1.tgz#aab7fbd416582fa32a3db49859c122487c5ed2cf" @@ -6397,42 +7146,40 @@ p-defer@^3.0.0: p-finally@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" + integrity sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow== p-limit@^1.1.0: version "1.3.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" + integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== dependencies: p-try "^1.0.0" -p-limit@^2.0.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.2.1.tgz#aa07a788cc3151c939b5131f63570f0dd2009537" - dependencies: - p-try "^2.0.0" - -p-limit@^2.2.0: +p-limit@^2.0.0, p-limit@^2.2.0: version "2.3.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== dependencies: p-try "^2.0.0" -p-limit@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.0.1.tgz#584784ac0722d1aed09f19f90ed2999af6ce2839" - integrity sha512-mw/p92EyOzl2MhauKodw54Rx5ZK4624rNfgNaBguFZkHzyUG9WsDzFF5/yQVEJinbJDdP4jEfMN+uBquiGnaLg== +p-limit@^3.0.1, p-limit@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" + integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== dependencies: - p-try "^2.0.0" + yocto-queue "^0.1.0" p-locate@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" + integrity sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg== dependencies: p-limit "^1.1.0" p-locate@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" + integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== dependencies: p-limit "^2.0.0" @@ -6443,10 +7190,17 @@ p-locate@^4.1.0: dependencies: p-limit "^2.2.0" +p-locate@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" + integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== + dependencies: + p-limit "^3.0.2" + p-map-series@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-map-series/-/p-map-series-1.0.0.tgz#bf98fe575705658a9e1351befb85ae4c1f07bdca" - integrity sha1-v5j+V1cFZYqeE1G++4WuTB8Hvco= + integrity sha512-4k9LlvY6Bo/1FcIdV33wqZQES0Py+iKISU9Uc8p8AjWoZPnFKMpVIVD3s0EYn4jzLh1I+WeUZkJ0Yoa4Qfw3Kg== dependencies: p-reduce "^1.0.0" @@ -6458,7 +7212,7 @@ p-map@^2.1.0: p-pipe@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/p-pipe/-/p-pipe-1.2.0.tgz#4b1a11399a11520a67790ee5a0c1d5881d6befe9" - integrity sha1-SxoROZoRUgpneQ7loMHViB1r7+k= + integrity sha512-IA8SqjIGA8l9qOksXJvsvkeQ+VGb0TAzNCzvKvz9wt5wWLqfWbV6fXy43gpR2L4Te8sOq3S+Ql9biAaMKPdbtw== p-queue@^4.0.0: version "4.0.0" @@ -6468,19 +7222,19 @@ p-queue@^4.0.0: eventemitter3 "^3.1.0" p-queue@^6.0.2: - version "6.6.1" - resolved "https://registry.yarnpkg.com/p-queue/-/p-queue-6.6.1.tgz#578891ada028a61371ec2692b26614d1b7d2b10a" - integrity sha512-miQiSxLYPYBxGkrldecZC18OTLjdUqnlRebGzPRiVxB8mco7usCmm7hFuxiTvp93K18JnLtE4KMMycjAu/cQQg== + version "6.6.2" + resolved "https://registry.yarnpkg.com/p-queue/-/p-queue-6.6.2.tgz#2068a9dcf8e67dd0ec3e7a2bcb76810faa85e426" + integrity sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ== dependencies: eventemitter3 "^4.0.4" - p-timeout "^3.1.0" + p-timeout "^3.2.0" p-reduce@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-reduce/-/p-reduce-1.0.0.tgz#18c2b0dd936a4690a529f8231f58a0fdb6a47dfa" - integrity sha1-GMKw3ZNqRpClKfgjH1ig/bakffo= + integrity sha512-3Tx1T3oM1xO/Y8Gj0sWyE78EIJZ+t+aEmXUdvQgvGmSMri7aPTHoovbXEreWKkL5j21Er60XAWLTzKbAKYOujQ== -p-timeout@^3.1.0: +p-timeout@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/p-timeout/-/p-timeout-3.2.0.tgz#c7e17abc971d2a7962ef83626b35d635acf23dfe" integrity sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg== @@ -6490,18 +7244,44 @@ p-timeout@^3.1.0: p-try@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" + integrity sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww== p-try@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" + integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== p-waterfall@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-waterfall/-/p-waterfall-1.0.0.tgz#7ed94b3ceb3332782353af6aae11aa9fc235bb00" - integrity sha1-ftlLPOszMngjU69qrhGqn8I1uwA= + integrity sha512-KeXddIp6jBT8qzyxfQGOGzNYc/7ftxKtRc5Uggre02yvbZrSBHE2M2C842/WizMBFD4s0Ngwz3QFOit2A+Ezrg== dependencies: p-reduce "^1.0.0" +pac-proxy-agent@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/pac-proxy-agent/-/pac-proxy-agent-5.0.0.tgz#b718f76475a6a5415c2efbe256c1c971c84f635e" + integrity sha512-CcFG3ZtnxO8McDigozwE3AqAw15zDvGH+OjXO4kzf7IkEKkQ4gxQ+3sdF50WmhQ4P/bVusXcqNE2S3XrNURwzQ== + dependencies: + "@tootallnate/once" "1" + agent-base "6" + debug "4" + get-uri "3" + http-proxy-agent "^4.0.1" + https-proxy-agent "5" + pac-resolver "^5.0.0" + raw-body "^2.2.0" + socks-proxy-agent "5" + +pac-resolver@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/pac-resolver/-/pac-resolver-5.0.1.tgz#c91efa3a9af9f669104fa2f51102839d01cde8e7" + integrity sha512-cy7u00ko2KVgBAjuhevqpPeHIkCIqPe1v24cydhWjmeuzaBfmUWFCZJ1iAh5TuVzVZoUzXIW7K8sMYOZ84uZ9Q== + dependencies: + degenerator "^3.0.2" + ip "^1.1.5" + netmask "^2.0.2" + parallel-transform@^1.1.0: version "1.2.0" resolved "https://registry.yarnpkg.com/parallel-transform/-/parallel-transform-1.2.0.tgz#9049ca37d6cb2182c3b1d2c720be94d14a5814fc" @@ -6521,70 +7301,74 @@ parent-module@^1.0.0: parse-github-repo-url@^1.3.0: version "1.4.1" resolved "https://registry.yarnpkg.com/parse-github-repo-url/-/parse-github-repo-url-1.4.1.tgz#9e7d8bb252a6cb6ba42595060b7bf6df3dbc1f50" - integrity sha1-nn2LslKmy2ukJZUGC3v23z28H1A= + integrity sha512-bSWyzBKqcSL4RrncTpGsEKoJ7H8a4L3++ifTAbTFeMHyq2wRV+42DGmQcHIrJIvdcacjIOxEuKH/w4tthF17gg== parse-json@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" - integrity sha1-9ID0BDTvgHQfhGkJn43qGPVaTck= + integrity sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ== dependencies: error-ex "^1.2.0" parse-json@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" + integrity sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw== dependencies: error-ex "^1.3.1" json-parse-better-errors "^1.0.1" parse-json@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.0.0.tgz#73e5114c986d143efa3712d4ea24db9a4266f60f" - integrity sha512-OOY5b7PAEFV0E2Fir1KOkxchnZNCdowAJgQ5NuxjpBKTRP3pQhwkrkxqQjeoKJ+fO7bCpmIZaogI4eZGDMEGOw== + version "5.2.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" + integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== dependencies: "@babel/code-frame" "^7.0.0" error-ex "^1.3.1" - json-parse-better-errors "^1.0.1" + json-parse-even-better-errors "^2.3.0" lines-and-columns "^1.1.6" parse-path@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/parse-path/-/parse-path-4.0.1.tgz#0ec769704949778cb3b8eda5e994c32073a1adff" - integrity sha512-d7yhga0Oc+PwNXDvQ0Jv1BuWkLVPXcAoQ/WREgd6vNNoKYaW52KI+RdOFjI63wjkmps9yUE8VS4veP+AgpQ/hA== + version "4.0.4" + resolved "https://registry.yarnpkg.com/parse-path/-/parse-path-4.0.4.tgz#4bf424e6b743fb080831f03b536af9fc43f0ffea" + integrity sha512-Z2lWUis7jlmXC1jeOG9giRO2+FsuyNipeQ43HAjqAZjwSe3SEf+q/84FGPHoso3kyntbxa4c4i77t3m6fGf8cw== dependencies: is-ssh "^1.3.0" protocols "^1.4.0" + qs "^6.9.4" + query-string "^6.13.8" -parse-url@^5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/parse-url/-/parse-url-5.0.1.tgz#99c4084fc11be14141efa41b3d117a96fcb9527f" - integrity sha512-flNUPP27r3vJpROi0/R3/2efgKkyXqnXwyP1KQ2U0SfFRgdizOdWfvrrvJg1LuOoxs7GQhmxJlq23IpQ/BkByg== +parse-url@^6.0.0: + version "6.0.5" + resolved "https://registry.yarnpkg.com/parse-url/-/parse-url-6.0.5.tgz#4acab8982cef1846a0f8675fa686cef24b2f6f9b" + integrity sha512-e35AeLTSIlkw/5GFq70IN7po8fmDUjpDPY1rIK+VubRfsUvBonjQ+PBZG+vWMACnQSmNlvl524IucoDmcioMxA== dependencies: is-ssh "^1.3.0" - normalize-url "^3.3.0" + normalize-url "^6.1.0" parse-path "^4.0.0" protocols "^1.4.0" pascalcase@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" - integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= + integrity sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw== path-dirname@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" - integrity sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA= + integrity sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q== path-exists@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" - integrity sha1-D+tsZPD8UY2adU3V77YscCJ2H0s= + integrity sha512-yTltuKuhtNeFJKa1PiRzfLAU5182q1y4Eb4XCJ3PBqyzEDkAZRzBrKKBct682ls9reBVHf9udYLN5Nd+K1B9BQ== dependencies: pinkie-promise "^2.0.0" path-exists@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" + integrity sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ== path-exists@^4.0.0: version "4.0.0" @@ -6593,25 +7377,28 @@ path-exists@^4.0.0: path-is-absolute@^1.0.0: version "1.0.1" - resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== path-key@^2.0.0, path-key@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" + integrity sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw== path-key@^3.1.0: version "3.1.1" resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== -path-parse@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" +path-parse@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== path-type@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" - integrity sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE= + integrity sha512-S4eENJz1pkiQn9Znv33Q+deTOKmbl+jj1Fl+qiP/vYezj+S8x+J3Uo0ISrx/QoEvIlOaDWJhPaRd1flJ9HXZqg== dependencies: graceful-fs "^4.1.2" pify "^2.0.0" @@ -6629,21 +7416,29 @@ path-type@^4.0.0: resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== -pathval@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.0.tgz#b942e6d4bde653005ef6b71361def8727d0645e0" +pathval@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.1.tgz#8534e77a77ce7ac5a2512ea21e0fdb8fcf6c3d8d" + integrity sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ== + +pause-stream@~0.0.11: + version "0.0.11" + resolved "https://registry.yarnpkg.com/pause-stream/-/pause-stream-0.0.11.tgz#fe5a34b0cbce12b5aa6a2b403ee2e73b602f1445" + integrity sha512-e3FBlXLmN/D1S+zHzanP4E/4Z60oFAa3O051qt1pxa7DEJWKAyil6upYVXCWadEnuoqa4Pkc9oUx9zsxYeRv8A== + dependencies: + through "~2.3" performance-now@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" - integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= + integrity sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow== -picomatch@^2.0.4, picomatch@^2.0.7: - version "2.2.2" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" - integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg== +picocolors@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" + integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== -picomatch@^2.3.1: +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: version "2.3.1" resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== @@ -6651,11 +7446,12 @@ picomatch@^2.3.1: pify@^2.0.0, pify@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" - integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= + integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== pify@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" + integrity sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg== pify@^4.0.1: version "4.0.1" @@ -6665,27 +7461,33 @@ pify@^4.0.1: pinkie-promise@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" - integrity sha1-ITXW36ejWMBprJsXh3YogihFD/o= + integrity sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw== dependencies: pinkie "^2.0.0" pinkie@^2.0.0: version "2.0.4" resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" - integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA= + integrity sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg== pkg-dir@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3" + integrity sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw== dependencies: find-up "^3.0.0" -pkg-dir@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" - integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== +pkg-dir@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-5.0.0.tgz#a02d6aebe6ba133a928f74aec20bafdfe6b8e760" + integrity sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA== dependencies: - find-up "^4.0.0" + find-up "^5.0.0" + +platform@^1.3.1: + version "1.3.6" + resolved "https://registry.yarnpkg.com/platform/-/platform-1.3.6.tgz#48b4ce983164b209c2d45a107adb31f473a6e7a7" + integrity sha512-fnWVljUchTro6RiCFvCXBbNhJc2NijN7oIQxbwsyL0buWJPG85v81ehlHI9fXrJsMNgTofEoWIQeClKpgxFLrg== please-upgrade-node@^3.2.0: version "3.2.0" @@ -6697,20 +7499,27 @@ please-upgrade-node@^3.2.0: posix-character-classes@^0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" - integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= + integrity sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg== prelude-ls@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== +prelude-ls@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" + integrity sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w== + prettier@^1.15.3: - version "1.18.2" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.18.2.tgz#6823e7c5900017b4bd3acf46fe9ac4b4d7bda9ea" + version "1.19.1" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.19.1.tgz#f7d7f5ff8a9cd872a7be4ca142095956a60797cb" + integrity sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew== pretty-quick@^1.8.0: version "1.11.1" resolved "https://registry.yarnpkg.com/pretty-quick/-/pretty-quick-1.11.1.tgz#462ffa2b93d24c05b7a0c3a001e08601a0c55ee4" + integrity sha512-kSXCkcETfak7EQXz6WOkCeCqpbC4GIzrN/vaneTGMP/fAtD8NerA9bPhCUqHAks1geo7biZNl5uEMPceeneLuA== dependencies: chalk "^2.3.0" execa "^0.8.0" @@ -6732,27 +7541,16 @@ process-nextick-args@~2.0.0: promise-inflight@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" - integrity sha1-mEcocL8igTL8vdhoEputEsPAKeM= + integrity sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g== promise-retry@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/promise-retry/-/promise-retry-1.1.1.tgz#6739e968e3051da20ce6497fb2b50f6911df3d6d" - integrity sha1-ZznpaOMFHaIM5kl/srUPaRHfPW0= + integrity sha512-StEy2osPr28o17bIW776GtwO6+Q+M9zPiZkYfosciUUMYqjhU/ffwRAH0zN2+uvGyUsn8/YICIHRzLbPacpZGw== dependencies: err-code "^1.0.0" retry "^0.10.0" -promise.allsettled@1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/promise.allsettled/-/promise.allsettled-1.0.2.tgz#d66f78fbb600e83e863d893e98b3d4376a9c47c9" - integrity sha512-UpcYW5S1RaNKT6pd+s9jp9K9rlQge1UXKskec0j6Mmuq7UJCvlS2J2/s/yuPN8ehftf9HXMxWlKiPbGGUzpoRg== - dependencies: - array.prototype.map "^1.0.1" - define-properties "^1.1.3" - es-abstract "^1.17.0-next.1" - function-bind "^1.1.1" - iterate-value "^1.0.0" - promise@^7.0.1: version "7.3.1" resolved "https://registry.yarnpkg.com/promise/-/promise-7.3.1.tgz#064b72602b18f90f29192b8b1bc418ffd1ebd3bf" @@ -6763,32 +7561,40 @@ promise@^7.0.1: promzard@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/promzard/-/promzard-0.3.0.tgz#26a5d6ee8c7dee4cb12208305acfb93ba382a9ee" - integrity sha1-JqXW7ox97kyxIggwWs+5O6OCqe4= + integrity sha512-JZeYqd7UAcHCwI+sTOeUDYkvEU+1bQ7iE0UT1MgB/tERkAPkesW46MrpIySzODi+owTjZtiF8Ay5j9m60KmMBw== dependencies: read "1" prop-types@^15.7.2: - version "15.7.2" - resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5" - integrity sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ== + version "15.8.1" + resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" + integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== dependencies: loose-envify "^1.4.0" object-assign "^4.1.1" - react-is "^16.8.1" + react-is "^16.13.1" propagate@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/propagate/-/propagate-1.0.0.tgz#00c2daeedda20e87e3782b344adba1cddd6ad709" + integrity sha512-T/rqCJJaIPYObiLSmaDsIf4PGA7y+pkgYFHmwoXQyOHiDDSO1YCxcztNiRBmV4EZha4QIbID3vQIHkqKu5k0Xg== proto-list@~1.2.1: version "1.2.4" resolved "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849" - integrity sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk= + integrity sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA== + +proto3-json-serializer@^0.1.8: + version "0.1.9" + resolved "https://registry.yarnpkg.com/proto3-json-serializer/-/proto3-json-serializer-0.1.9.tgz#705ddb41b009dd3e6fcd8123edd72926abf65a34" + integrity sha512-A60IisqvnuI45qNRygJjrnNjX2TMdQGMY+57tR3nul3ZgO2zXkR9OGR8AXxJhkqx84g0FTnrfi3D5fWMSdANdQ== + dependencies: + protobufjs "^6.11.2" -protobufjs@^6.8.1, protobufjs@^6.8.8: - version "6.10.1" - resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-6.10.1.tgz#e6a484dd8f04b29629e9053344e3970cccf13cd2" - integrity sha512-pb8kTchL+1Ceg4lFd5XUpK8PdWacbvV5SK2ULH2ebrYtl4GjJmS24m6CKME67jzV53tbJxHlnNOSqQHbTsR9JQ== +protobufjs@6.11.2: + version "6.11.2" + resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-6.11.2.tgz#de39fabd4ed32beaa08e9bb1e30d08544c1edf8b" + integrity sha512-4BQJoPooKJl2G9j3XftkIXjoC9C0Av2NOrWmbLWT1vH32GcSUHjM0Arra6UfTsVyfMAuFzaLucXn1sadxJydAw== dependencies: "@protobufjs/aspromise" "^1.1.2" "@protobufjs/base64" "^1.1.2" @@ -6801,13 +7607,13 @@ protobufjs@^6.8.1, protobufjs@^6.8.8: "@protobufjs/pool" "^1.1.0" "@protobufjs/utf8" "^1.1.0" "@types/long" "^4.0.1" - "@types/node" "^13.7.0" + "@types/node" ">=13.7.0" long "^4.0.0" -protobufjs@^6.8.6, protobufjs@^6.9.0: - version "6.9.0" - resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-6.9.0.tgz#c08b2bf636682598e6fabbf0edb0b1256ff090bd" - integrity sha512-LlGVfEWDXoI/STstRDdZZKb/qusoAWUnmLg9R8OLSO473mBLWHowx8clbX5/+mKDEI+v7GzjoK9tRPZMMcoTrg== +protobufjs@6.11.3, protobufjs@^6.10.0, protobufjs@^6.10.1, protobufjs@^6.11.2, protobufjs@^6.11.3, protobufjs@^6.8.6, protobufjs@^6.8.8: + version "6.11.3" + resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-6.11.3.tgz#637a527205a35caa4f3e2a9a4a13ddffe0e7af74" + integrity sha512-xL96WDdCZYdU7Slin569tFX712BxsxslWwAfAhCYjQKGTq7dAU91Lomy6nLLhh/dyGhk/YH4TwTSRxTzhuHyZg== dependencies: "@protobufjs/aspromise" "^1.1.2" "@protobufjs/base64" "^1.1.2" @@ -6820,13 +7626,36 @@ protobufjs@^6.8.6, protobufjs@^6.9.0: "@protobufjs/pool" "^1.1.0" "@protobufjs/utf8" "^1.1.0" "@types/long" "^4.0.1" - "@types/node" "^13.7.0" + "@types/node" ">=13.7.0" long "^4.0.0" -protocols@^1.1.0, protocols@^1.4.0: - version "1.4.7" - resolved "https://registry.yarnpkg.com/protocols/-/protocols-1.4.7.tgz#95f788a4f0e979b291ffefcf5636ad113d037d32" - integrity sha512-Fx65lf9/YDn3hUX08XUc0J8rSux36rEsyiv21ZGUC1mOyeM3lTRpZLcrm8aAolzS4itwVfm7TAPyxC2E5zd6xg== +protobufjs@^7.0.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-7.1.0.tgz#5174b5f96fad4f7dea7dd4abd594042ac360e665" + integrity sha512-rCuxKlh0UQKSMjrpIcTLbR5TtGQ52cgs1a5nUoPBAKOccdPblN67BJtjrbtudUJK6HmBvUdsmymyYOzO7lxZEA== + dependencies: + "@protobufjs/aspromise" "^1.1.2" + "@protobufjs/base64" "^1.1.2" + "@protobufjs/codegen" "^2.0.4" + "@protobufjs/eventemitter" "^1.1.0" + "@protobufjs/fetch" "^1.1.0" + "@protobufjs/float" "^1.0.2" + "@protobufjs/inquire" "^1.1.0" + "@protobufjs/path" "^1.1.2" + "@protobufjs/pool" "^1.1.0" + "@protobufjs/utf8" "^1.1.0" + "@types/node" ">=13.7.0" + long "^5.0.0" + +protocols@^1.4.0: + version "1.4.8" + resolved "https://registry.yarnpkg.com/protocols/-/protocols-1.4.8.tgz#48eea2d8f58d9644a4a32caae5d5db290a075ce8" + integrity sha512-IgjKyaUSjsROSO8/D49Ab7hP8mJgTYcqApOqdPhLoPxAplXmkp+zRvsrSQjFn5by0rhm4VH0GAUELIPpx7B1yg== + +protocols@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/protocols/-/protocols-2.0.1.tgz#8f155da3fc0f32644e83c5782c8e8212ccf70a86" + integrity sha512-/XJ368cyBJ7fzLMwLKv1e4vLxOju2MNAIokcr7meSaNcVbWz/CPcW22cP04mwxOErdA5mwjA8Q6w/cdAQxVn7Q== protoduck@^5.0.1: version "5.0.1" @@ -6835,14 +7664,34 @@ protoduck@^5.0.1: dependencies: genfun "^5.0.0" +proxy-agent@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/proxy-agent/-/proxy-agent-5.0.0.tgz#d31405c10d6e8431fde96cba7a0c027ce01d633b" + integrity sha512-gkH7BkvLVkSfX9Dk27W6TyNOWWZWRilRfk1XxGNWOYJ2TuedAv1yFpCaU9QSBmBe716XOTNpYNOzhysyw8xn7g== + dependencies: + agent-base "^6.0.0" + debug "4" + http-proxy-agent "^4.0.0" + https-proxy-agent "^5.0.0" + lru-cache "^5.1.1" + pac-proxy-agent "^5.0.0" + proxy-from-env "^1.0.0" + socks-proxy-agent "^5.0.0" + +proxy-from-env@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" + integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== + pseudomap@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" + integrity sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ== psl@^1.1.28: - version "1.8.0" - resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" - integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== + version "1.9.0" + resolved "https://registry.yarnpkg.com/psl/-/psl-1.9.0.tgz#d0df2a137f00794565fcaf3b2c00cd09f8d5a5a7" + integrity sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag== pug-attrs@^2.0.4: version "2.0.4" @@ -6854,9 +7703,9 @@ pug-attrs@^2.0.4: pug-runtime "^2.0.5" pug-code-gen@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/pug-code-gen/-/pug-code-gen-2.0.2.tgz#ad0967162aea077dcf787838d94ed14acb0217c2" - integrity sha512-kROFWv/AHx/9CRgoGJeRSm+4mLWchbgpRzTEn8XCiwwOy6Vh0gAClS8Vh5TEJ9DBjaP8wCjS3J6HKsEsYdvaCw== + version "2.0.3" + resolved "https://registry.yarnpkg.com/pug-code-gen/-/pug-code-gen-2.0.3.tgz#122eb9ada9b5bf601705fe15aaa0a7d26bc134ab" + integrity sha512-r9sezXdDuZJfW9J91TN/2LFbiqDhmltTFmGpHTsGdrNGp3p4SxAjjXEfnuK2e4ywYsRIVP0NeLbSAMHUcaX1EA== dependencies: constantinople "^3.1.2" doctypes "^1.1.0" @@ -6960,6 +7809,7 @@ pump@^2.0.0: pump@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" + integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== dependencies: end-of-stream "^1.1.0" once "^1.3.1" @@ -6985,7 +7835,7 @@ pumpify@^2.0.0: punycode@1.3.2: version "1.3.2" resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" - integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0= + integrity sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw== punycode@^2.1.0, punycode@^2.1.1: version "2.1.1" @@ -6995,17 +7845,34 @@ punycode@^2.1.0, punycode@^2.1.1: q@^1.5.1: version "1.5.1" resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" - integrity sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc= + integrity sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw== -qs@^6.5.1, qs@~6.5.2: - version "6.5.2" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" - integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== +qs@^6.4.0, qs@^6.5.1, qs@^6.9.4: + version "6.11.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.0.tgz#fd0d963446f7a65e1367e01abd85429453f0c37a" + integrity sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q== + dependencies: + side-channel "^1.0.4" + +qs@~6.5.2: + version "6.5.3" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.3.tgz#3aeeffc91967ef6e35c0e488ef46fb296ab76aad" + integrity sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA== + +query-string@^6.13.8: + version "6.14.1" + resolved "https://registry.yarnpkg.com/query-string/-/query-string-6.14.1.tgz#7ac2dca46da7f309449ba0f86b1fd28255b0c86a" + integrity sha512-XDxAeVmpfu1/6IjyT/gXHOl+S0vQ9owggJ30hhWKdHAsNPOcasn5o9BW0eejZqL2e4vMjhAxoW3jVHcD6mbcYw== + dependencies: + decode-uri-component "^0.2.0" + filter-obj "^1.1.0" + split-on-first "^1.0.0" + strict-uri-encode "^2.0.0" querystring@0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" - integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA= + integrity sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g== queue-microtask@^1.2.2: version "1.2.3" @@ -7015,7 +7882,7 @@ queue-microtask@^1.2.2: quick-lru@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-1.1.0.tgz#4360b17c61136ad38078397ff11416e186dcfbb8" - integrity sha1-Q2CxfGETatOAeDl/8RQW4Ybc+7g= + integrity sha512-tRS7sTgyxMXtLum8L65daJnHUhfDUgboRdcWW2bR9vBfrj2+O5HSMbQOJfJJjIVSPFqbBCF37FpwWXGitDc5tA== quick-lru@^4.0.1: version "4.0.1" @@ -7027,38 +7894,56 @@ quick-lru@^5.1.1: resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932" integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== -react-ace@^6.5.0: - version "6.6.0" - resolved "https://registry.yarnpkg.com/react-ace/-/react-ace-6.6.0.tgz#a79457ef03c3b1f8d4fc598a003b1d6ad464f1a0" - integrity sha512-Jehhp8bxa8kqiXk07Jzy+uD5qZMBwo43O+raniGHjdX7Qk93xFkKaAz8LxtUVZPJGlRnV5ODMNj0qHwDSN+PBw== +randombytes@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" + integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== + dependencies: + safe-buffer "^5.1.0" + +raw-body@^2.2.0: + version "2.5.1" + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.1.tgz#fe1b1628b181b700215e5fd42389f98b71392857" + integrity sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig== dependencies: - "@babel/polyfill" "^7.4.4" - brace "^0.11.1" - diff-match-patch "^1.0.4" + bytes "3.1.2" + http-errors "2.0.0" + iconv-lite "0.4.24" + unpipe "1.0.0" + +react-ace@^9.5.0: + version "9.5.0" + resolved "https://registry.yarnpkg.com/react-ace/-/react-ace-9.5.0.tgz#b6c32b70d404dd821a7e01accc2d76da667ff1f7" + integrity sha512-4l5FgwGh6K7A0yWVMQlPIXDItM4Q9zzXRqOae8KkCl6MkOob7sC1CzHxZdOGvV+QioKWbX2p5HcdOVUv6cAdSg== + dependencies: + ace-builds "^1.4.13" + diff-match-patch "^1.0.5" lodash.get "^4.4.2" lodash.isequal "^4.5.0" prop-types "^15.7.2" -react-docgen@^5.3.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/react-docgen/-/react-docgen-5.3.0.tgz#9aabde5e69f1993c8ba839fd9a86696504654589" - integrity sha512-hUrv69k6nxazOuOmdGeOpC/ldiKy7Qj/UFpxaQi0eDMrUFUTIPGtY5HJu7BggSmiyAMfREaESbtBL9UzdQ+hyg== +react-docgen@^5.4.0: + version "5.4.3" + resolved "https://registry.yarnpkg.com/react-docgen/-/react-docgen-5.4.3.tgz#7d297f73b977d0c7611402e5fc2a168acf332b26" + integrity sha512-xlLJyOlnfr8lLEEeaDZ+X2J/KJoe6Nr9AzxnkdQWush5hz2ZSu66w6iLMOScMmxoSHWpWMn+k3v5ZiyCfcWsOA== dependencies: "@babel/core" "^7.7.5" + "@babel/generator" "^7.12.11" "@babel/runtime" "^7.7.6" - ast-types "^0.13.2" + ast-types "^0.14.2" commander "^2.19.0" doctrine "^3.0.0" + estree-to-babel "^3.1.0" neo-async "^2.6.1" node-dir "^0.1.10" strip-indent "^3.0.0" -react-frame-component@^4.1.1: - version "4.1.3" - resolved "https://registry.yarnpkg.com/react-frame-component/-/react-frame-component-4.1.3.tgz#64c09dd29574720879c5f43ee36c17d8ae74d4ec" - integrity sha512-4PurhctiqnmC1F5prPZ+LdsalH7pZ3SFA5xoc0HBe8mSHctdLLt4Cr2WXfXOoajHBYq/yiipp9zOgx+vy8GiEA== +react-frame-component@^5.2.1: + version "5.2.3" + resolved "https://registry.yarnpkg.com/react-frame-component/-/react-frame-component-5.2.3.tgz#2d5d1e29b23d5b915c839b44980d03bb9cafc453" + integrity sha512-r+h0o3r/uqOLNT724z4CRVkxQouKJvoi3OPfjqWACD30Y87rtEmeJrNZf1WYPGknn1Y8200HAjx7hY/dPUGgmA== -react-is@^16.8.1: +react-is@^16.13.1: version "16.13.1" resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== @@ -7071,16 +7956,14 @@ read-cmd-shim@^1.0.1: graceful-fs "^4.1.2" "read-package-json@1 || 2", read-package-json@^2.0.0, read-package-json@^2.0.13: - version "2.1.1" - resolved "https://registry.yarnpkg.com/read-package-json/-/read-package-json-2.1.1.tgz#16aa66c59e7d4dad6288f179dd9295fd59bb98f1" - integrity sha512-dAiqGtVc/q5doFz6096CcnXhpYk0ZN8dEKVkGLU0CsASt8SrgF6SF7OTKAYubfvFhWaqofl+Y8HK19GR8jwW+A== + version "2.1.2" + resolved "https://registry.yarnpkg.com/read-package-json/-/read-package-json-2.1.2.tgz#6992b2b66c7177259feb8eaac73c3acd28b9222a" + integrity sha512-D1KmuLQr6ZSJS0tW8hf3WGpRlwszJOXZ3E8Yd/DNRaM5d+1wVRZdHlpGBLAuovjr28LbWvjpWkBHMxpRGGjzNA== dependencies: glob "^7.1.1" - json-parse-better-errors "^1.0.1" + json-parse-even-better-errors "^2.3.0" normalize-package-data "^2.0.0" npm-normalize-package-bin "^1.0.0" - optionalDependencies: - graceful-fs "^4.1.2" read-package-tree@^5.1.6: version "5.3.1" @@ -7094,7 +7977,7 @@ read-package-tree@^5.1.6: read-pkg-up@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" - integrity sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI= + integrity sha512-WD9MTlNtI55IwYUS27iHh9tK3YoIVhxis8yKhLpTqWtml739uXc9NWTpxoHkfZf3+DkCCsXox94/VWZniuZm6A== dependencies: find-up "^1.0.0" read-pkg "^1.0.0" @@ -7102,7 +7985,7 @@ read-pkg-up@^1.0.1: read-pkg-up@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-3.0.0.tgz#3ed496685dba0f8fe118d0691dc51f4a1ff96f07" - integrity sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc= + integrity sha512-YFzFrVvpC6frF1sz8psoHDBGF7fLPc+llq/8NB43oagqWkx8ar5zYtsTORtOjw9W2RHLpWP+zTWwBvf1bCmcSw== dependencies: find-up "^2.0.0" read-pkg "^3.0.0" @@ -7119,7 +8002,7 @@ read-pkg-up@^7.0.1: read-pkg@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" - integrity sha1-9f+qXs0pyzHAR0vKfXVra7KePyg= + integrity sha512-7BGwRHqt4s/uVbuyoeejRn4YmFnYZiFl4AuaeXHlgZf3sONF0SOGlxs2Pw8g6hCKupo08RafIO5YXFNOKTfwsQ== dependencies: load-json-file "^1.0.0" normalize-package-data "^2.3.2" @@ -7128,7 +8011,7 @@ read-pkg@^1.0.0: read-pkg@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" - integrity sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k= + integrity sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA== dependencies: load-json-file "^4.0.0" normalize-package-data "^2.3.2" @@ -7147,7 +8030,7 @@ read-pkg@^5.2.0: read@1, read@~1.0.1: version "1.0.7" resolved "https://registry.yarnpkg.com/read/-/read-1.0.7.tgz#b3da19bd052431a97671d44a42634adf710b40c4" - integrity sha1-s9oZvQUkMal2cdRKQmNK33ELQMQ= + integrity sha512-rSOKNYUmaxy0om1BNjMN4ezNT6VKK+2xF4GBhc81mkH7L60i6dp8qPYrkndNLT3QPphoII3maL9PVC9XmhHwVQ== dependencies: mute-stream "~0.0.4" @@ -7164,7 +8047,17 @@ read@1, read@~1.0.1: string_decoder "~1.1.1" util-deprecate "~1.0.1" -"readable-stream@2 || 3", readable-stream@3, readable-stream@^3.0.2, readable-stream@^3.1.1, readable-stream@^3.4.0: +readable-stream@1.1.x: + version "1.1.14" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9" + integrity sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "0.0.1" + string_decoder "~0.10.x" + +"readable-stream@2 || 3", readable-stream@3, readable-stream@^3.0.0, readable-stream@^3.0.2, readable-stream@^3.1.1: version "3.6.0" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== @@ -7183,12 +8076,12 @@ readdir-scoped-modules@^1.0.0: graceful-fs "^4.1.2" once "^1.3.0" -readdirp@~3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.3.0.tgz#984458d13a1e42e2e9f5841b129e162f369aff17" - integrity sha512-zz0pAkSPOXXm1viEwygWIPSPkcBYjW1xU5j/JBh5t9bGCJwa6f9+BJa6VaB2g+b55yVrmXzqkyLf4xaWYM0IkQ== +readdirp@~3.5.0: + version "3.5.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.5.0.tgz#9ba74c019b15d365278d2e91bb8c48d7b4d42c9e" + integrity sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ== dependencies: - picomatch "^2.0.7" + picomatch "^2.2.1" recast@^0.17.3: version "0.17.6" @@ -7203,7 +8096,7 @@ recast@^0.17.3: redent@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde" - integrity sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94= + integrity sha512-qtW5hKzGQZqKoh6JNSD+4lfitfPKGz42e6QwiRmPM5mmKtR0N41AbJRYu0xJi7nhOJ4WDgRkKvAk6tw4WIwR4g== dependencies: indent-string "^2.1.0" strip-indent "^1.0.1" @@ -7211,7 +8104,7 @@ redent@^1.0.0: redent@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/redent/-/redent-2.0.0.tgz#c1b2007b42d57eb1389079b3c8333639d5e1ccaa" - integrity sha1-wbIAe0LVfrE4kHmzyDM2OdXhzKo= + integrity sha512-XNwrTx77JQCEMXTeb8movBKuK75MgH0RZkujNuDKCezemx/voapl9i2gCSi8WWm8+ox5ycJi1gxF22fR7c0Ciw== dependencies: indent-string "^3.0.0" strip-indent "^2.0.0" @@ -7230,9 +8123,9 @@ regenerator-runtime@^0.11.0: integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg== regenerator-runtime@^0.13.4: - version "0.13.7" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz#cac2dacc8a1ea675feaabaeb8ae833898ae46f55" - integrity sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew== + version "0.13.9" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52" + integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA== regex-not@^1.0.0, regex-not@^1.0.2: version "1.0.2" @@ -7242,29 +8135,38 @@ regex-not@^1.0.0, regex-not@^1.0.2: extend-shallow "^3.0.2" safe-regex "^1.1.0" +regexp.prototype.flags@^1.2.0, regexp.prototype.flags@^1.4.3: + version "1.4.3" + resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz#87cab30f80f66660181a3bb7bf5981a872b367ac" + integrity sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + functions-have-names "^1.2.2" + regexpp@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== repeat-element@^1.1.2: - version "1.1.3" - resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce" - integrity sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g== + version "1.1.4" + resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.4.tgz#be681520847ab58c7568ac75fbfad28ed42d39e9" + integrity sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ== repeat-string@^1.5.2, repeat-string@^1.6.1: version "1.6.1" resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" - integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= + integrity sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w== repeating@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" - integrity sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo= + integrity sha512-ZqtSMuVybkISo2OWvqvm7iHSWngvdaW3IpsT9/uP8v4gMi591LY6h35wdOfvQdWCKFWZWm2Y1Opp4kV7vQKT6A== dependencies: is-finite "^1.0.0" -"request@>= 2.52.0", request@^2.88.0: +request@^2.88.0: version "2.88.2" resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== @@ -7293,7 +8195,7 @@ repeating@^2.0.0: require-directory@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" - integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= + integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== require-main-filename@^2.0.0: version "2.0.0" @@ -7308,20 +8210,21 @@ requizzle@^0.2.3: lodash "^4.17.14" resolve-alpn@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/resolve-alpn/-/resolve-alpn-1.1.2.tgz#30b60cfbb0c0b8dc897940fe13fe255afcdd4d28" - integrity sha512-8OyfzhAtA32LVUsJSke3auIyINcwdh5l3cvYKdKO0nvsYSKuiLfTM5i78PJswFPT8y6cPW+L1v6/hE95chcpDA== + version "1.2.1" + resolved "https://registry.yarnpkg.com/resolve-alpn/-/resolve-alpn-1.2.1.tgz#b7adbdac3546aaaec20b45e7d8265927072726f9" + integrity sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g== resolve-cwd@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-2.0.0.tgz#00a9f7387556e27038eae232caa372a6a59b665a" - integrity sha1-AKn3OHVW4nA46uIyyqNypqWbZlo= + integrity sha512-ccu8zQTrzVr954472aUVPLEcB3YpKSYR3cg/3lo1okzobPBM+1INXBbBZlDbnI/hbEocnf8j0QVo43hQKrbchg== dependencies: resolve-from "^3.0.0" resolve-from@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" + integrity sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw== resolve-from@^4.0.0: version "4.0.0" @@ -7331,32 +8234,28 @@ resolve-from@^4.0.0: resolve-url@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" - integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= - -resolve@^1.1.6, resolve@^1.3.2: - version "1.17.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444" - integrity sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w== - dependencies: - path-parse "^1.0.6" + integrity sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg== -resolve@^1.10.0: - version "1.12.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.12.0.tgz#3fc644a35c84a48554609ff26ec52b66fa577df6" +resolve@^1.1.6, resolve@^1.10.0: + version "1.22.1" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" + integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== dependencies: - path-parse "^1.0.6" + is-core-module "^2.9.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" responselike@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/responselike/-/responselike-2.0.0.tgz#26391bcc3174f750f9a79eacc40a12a5c42d7723" - integrity sha512-xH48u3FTB9VsZw7R+vvgaKeLKzT6jOogbQhEe/jewwnZgzPcnyWui2Av6JpoYZF/91uueC+lqhWqeURw5/qhCw== + version "2.0.1" + resolved "https://registry.yarnpkg.com/responselike/-/responselike-2.0.1.tgz#9a0bc8fdc252f3fb1cca68b016591059ba1422bc" + integrity sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw== dependencies: lowercase-keys "^2.0.0" restore-cursor@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" - integrity sha1-n37ih/gv0ybU/RYpI9YhKe7g368= + integrity sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q== dependencies: onetime "^2.0.0" signal-exit "^3.0.2" @@ -7366,18 +8265,23 @@ ret@~0.1.10: resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== -retry-request@^4.0.0, retry-request@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/retry-request/-/retry-request-4.1.1.tgz#f676d0db0de7a6f122c048626ce7ce12101d2bd8" - integrity sha512-BINDzVtLI2BDukjWmjAIRZ0oglnCAkpP2vQjM3jdLhmT62h0xnQgciPwBRDAvHqpkPT2Wo1XuUyLyn6nbGrZQQ== +retry-request@^4.0.0, retry-request@^4.2.2: + version "4.2.2" + resolved "https://registry.yarnpkg.com/retry-request/-/retry-request-4.2.2.tgz#b7d82210b6d2651ed249ba3497f07ea602f1a903" + integrity sha512-xA93uxUD/rogV7BV59agW/JHPGXeREMWiZc9jhcwY4YdZ7QOtC7qbomYg0n4wyk2lJhggjvKvhNX8wln/Aldhg== dependencies: debug "^4.1.1" - through2 "^3.0.1" + extend "^3.0.2" + +retry@0.13.1: + version "0.13.1" + resolved "https://registry.yarnpkg.com/retry/-/retry-0.13.1.tgz#185b1587acf67919d63b357349e03537b2484658" + integrity sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg== retry@^0.10.0: version "0.10.1" resolved "https://registry.yarnpkg.com/retry/-/retry-0.10.1.tgz#e76388d217992c252750241d3d3956fed98d8ff4" - integrity sha1-52OI0heZLCUnUCQdPTlW/tmNj/Q= + integrity sha512-ZXUSQYTHdl3uS7IuCehYfMzKyIDBNoAuUblvy5oGO5UJSUTmStUUVPXbA9Qxd173Bgre53yCQczQuHgRWAdvJQ== reusify@^1.0.4: version "1.0.4" @@ -7387,11 +8291,11 @@ reusify@^1.0.4: right-align@^0.1.1: version "0.1.3" resolved "https://registry.yarnpkg.com/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef" - integrity sha1-YTObci/mo1FWiSENJOFMlhSGE+8= + integrity sha512-yqINtL/G7vs2v+dFIZmFUDbnVyFUJFKd6gK22Kgo6R4jfJGFtisKyncWDDULgjfqf4ASQuIQyjJ7XZ+3aWpsAg== dependencies: align-text "^0.1.1" -rimraf@^2.5.4, rimraf@^2.6.2, rimraf@^2.6.3: +rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.2, rimraf@^2.6.3: version "2.7.1" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== @@ -7420,18 +8324,18 @@ run-parallel@^1.1.9: run-queue@^1.0.0, run-queue@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/run-queue/-/run-queue-1.0.3.tgz#e848396f057d223f24386924618e25694161ec47" - integrity sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec= + integrity sha512-ntymy489o0/QQplUDnpYAYUsO50K9SBrIVaKCWDOJzYJts0f9WH9RFJkyagebkw5+y1oi00R7ynNW/d12GBumg== dependencies: aproba "^1.1.1" rxjs@^6.4.0: - version "6.5.5" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.5.tgz#c5c884e3094c8cfee31bf27eb87e54ccfc87f9ec" - integrity sha512-WfQI+1gohdf0Dai/Bbmk5L5ItH5tYqm3ki2c5GdWhKjalzjg93N3avFjVStyZZz+A2Em+ZxKH5bNghw9UeylGQ== + version "6.6.7" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.7.tgz#90ac018acabf491bf65044235d5863c4dab804c9" + integrity sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ== dependencies: tslib "^1.9.0" -safe-buffer@^5.0.1, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0: +safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@^5.2.1, safe-buffer@~5.2.0: version "5.2.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== @@ -7444,11 +8348,11 @@ safe-buffer@~5.1.0, safe-buffer@~5.1.1: safe-regex@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" - integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= + integrity sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg== dependencies: ret "~0.1.10" -"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: +"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: version "2.1.2" resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== @@ -7456,56 +8360,58 @@ safe-regex@^1.1.0: sax@1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.1.tgz#7b8e656190b228e81a66aea748480d828cd2d37a" - integrity sha1-e45lYZCyKOgaZq6nSEgNgozS03o= + integrity sha512-8I2a3LovHTOpm7NV5yOyO8IHqgVsfK4+UuySrXU8YXkSRX7k6hCV9b3HrkKCr3nMpgj+0bmocaJJWpvp1oc7ZA== sax@>=0.6.0: version "1.2.4" resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== +sdk-base@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/sdk-base/-/sdk-base-2.0.1.tgz#ba40289e8bdf272ed11dd9ea97eaf98e036d24c6" + integrity sha512-eeG26wRwhtwYuKGCDM3LixCaxY27Pa/5lK4rLKhQa7HBjJ3U3Y+f81MMZQRsDw/8SC2Dao/83yJTXJ8aULuN8Q== + dependencies: + get-ready "~1.0.0" + semver-compare@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc" + integrity sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow== -semver-regex@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/semver-regex/-/semver-regex-2.0.0.tgz#a93c2c5844539a770233379107b38c7b4ac9d338" - integrity sha512-mUdIBBvdn0PLOeP3TEkMH7HHeUP3GjsXCwKarjv/kGmUFOYg1VqEemKhoQpWMu6X2I8kHeuVdGibLGkVK+/5Qw== +semver-regex@^3.1.2: + version "3.1.4" + resolved "https://registry.yarnpkg.com/semver-regex/-/semver-regex-3.1.4.tgz#13053c0d4aa11d070a2f2872b6b1e3ae1e1971b4" + integrity sha512-6IiqeZNgq01qGf0TId0t3NvKzSvUsjcpdEO3AQNeIjR6A2+ckTnQlDpl4qu1bjRv0RzN3FP9hzFmws3lKqRWkA== -"semver@2 || 3 || 4 || 5", "semver@2.x || 3.x || 4 || 5", semver@^5.4.1, semver@^5.5.1, semver@^5.6.0, semver@^5.7.0, semver@^5.7.1: +"semver@2 || 3 || 4 || 5", "semver@2.x || 3.x || 4 || 5", semver@^5.0.1, semver@^5.4.1, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0, semver@^5.7.0, semver@^5.7.1: version "5.7.1" resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" + integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== -semver@^5.5.0: - version "5.6.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.6.0.tgz#7e74256fbaa49c75aa7c7a205cc22799cac80004" - -semver@^6.0.0, semver@^6.2.0: +semver@^6.0.0, semver@^6.2.0, semver@^6.3.0: version "6.3.0" resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== -semver@^7.1.3: - version "7.3.2" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938" - integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ== - -semver@^7.3.5: +semver@^7.3.4, semver@^7.3.7: version "7.3.7" resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.7.tgz#12c5b649afdbf9049707796e22a4028814ce523f" integrity sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g== dependencies: lru-cache "^6.0.0" -serialize-javascript@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-3.0.0.tgz#492e489a2d77b7b804ad391a5f5d97870952548e" - integrity sha512-skZcHYw2vEX4bw90nAr2iTTsz6x2SrHEnfxgKYmZlvJYBEZrvbKtobJWlQ20zczKb3bsHHXXTYt48zBA7ni9cw== +serialize-javascript@5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-5.0.1.tgz#7886ec848049a462467a97d3d918ebb2aaf934f4" + integrity sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA== + dependencies: + randombytes "^2.1.0" set-blocking@^2.0.0, set-blocking@~2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" - integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= + integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw== set-value@^2.0.0, set-value@^2.0.1: version "2.0.1" @@ -7517,6 +8423,11 @@ set-value@^2.0.0, set-value@^2.0.1: is-plain-object "^2.0.3" split-string "^3.0.1" +setprototypeof@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" + integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== + shallow-clone@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3" @@ -7527,6 +8438,7 @@ shallow-clone@^3.0.0: shebang-command@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" + integrity sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg== dependencies: shebang-regex "^1.0.0" @@ -7540,24 +8452,31 @@ shebang-command@^2.0.0: shebang-regex@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" + integrity sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ== shebang-regex@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== -signal-exit@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" +side-channel@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" + integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== + dependencies: + call-bind "^1.0.0" + get-intrinsic "^1.0.2" + object-inspect "^1.9.0" -signal-exit@^3.0.2: - version "3.0.3" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" - integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== +signal-exit@^3.0.0, signal-exit@^3.0.2: + version "3.0.7" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" + integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== slash@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/slash/-/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44" + integrity sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A== slash@^3.0.0: version "3.0.0" @@ -7567,17 +8486,17 @@ slash@^3.0.0: slide@^1.1.6: version "1.1.6" resolved "https://registry.yarnpkg.com/slide/-/slide-1.1.6.tgz#56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707" - integrity sha1-VusCfWW00tzmyy4tMsTUr8nh1wc= + integrity sha512-NwrtjCg+lZoqhFU8fOwl4ay2ei8PaqCBOUV3/ektPY9trO1yQ1oXEfmHAhKArUVUr/hOHvy5f6AdP17dCM0zMw== -smart-buffer@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.1.0.tgz#91605c25d91652f4661ea69ccf45f1b331ca21ba" - integrity sha512-iVICrxOzCynf/SNaBQCw34eM9jROU/s5rzIhpOvzhzuYHfJR/DhZfDkXiZSgKXfgv26HT3Yni3AV/DGw0cGnnw== +sm3@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/sm3/-/sm3-1.0.3.tgz#0051f0cc948c983944843136e7baa244eec5cd49" + integrity sha512-KyFkIfr8QBlFG3uc3NaljaXdYcsbRy1KrSfc4tsQV8jW68jAktGeOcifu530Vx/5LC+PULHT0Rv8LiI8Gw+c1g== -snakeize@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/snakeize/-/snakeize-0.1.0.tgz#10c088d8b58eb076b3229bb5a04e232ce126422d" - integrity sha1-EMCI2LWOsHazIpu1oE4jLOEmQi0= +smart-buffer@^4.1.0, smart-buffer@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.2.0.tgz#6e1d71fa4f18c05f7d0ff216dd16a481d0e8d9ae" + integrity sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg== snapdragon-node@^2.0.1: version "2.1.1" @@ -7609,6 +8528,15 @@ snapdragon@^0.8.1: source-map-resolve "^0.5.0" use "^3.1.0" +socks-proxy-agent@5, socks-proxy-agent@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-5.0.1.tgz#032fb583048a29ebffec2e6a73fca0761f48177e" + integrity sha512-vZdmnjb9a2Tz6WEQVIurybSwElwPxMZaIc7PzqbJTrezcKNznv6giT7J7tZDZ1BojVaa1jvO/UiUdhDVB0ACoQ== + dependencies: + agent-base "^6.0.2" + debug "4" + socks "^2.3.3" + socks-proxy-agent@^4.0.0: version "4.0.2" resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-4.0.2.tgz#3c8991f3145b2799e70e11bd5fbc8b1963116386" @@ -7617,6 +8545,14 @@ socks-proxy-agent@^4.0.0: agent-base "~4.2.1" socks "~2.3.2" +socks@^2.3.3: + version "2.7.0" + resolved "https://registry.yarnpkg.com/socks/-/socks-2.7.0.tgz#f9225acdb841e874dca25f870e9130990f3913d0" + integrity sha512-scnOe9y4VuiNUULJN72GrM26BNOjVsfPXI+j+98PkyEfsIXroa5ofyjT+FzGvn/xHs73U2JtoBYAVx9Hl4quSA== + dependencies: + ip "^2.0.0" + smart-buffer "^4.2.0" + socks@~2.3.2: version "2.3.3" resolved "https://registry.yarnpkg.com/socks/-/socks-2.3.3.tgz#01129f0a5d534d2b897712ed8aceab7ee65d78e3" @@ -7628,7 +8564,7 @@ socks@~2.3.2: sort-keys@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-2.0.0.tgz#658535584861ec97d730d6cf41822e1f56684128" - integrity sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg= + integrity sha512-/dPCrG1s3ePpWm6yBbxZq5Be1dXGLyLn9Z791chDC3NFrpkVbWGzkBwPN1knaciexFXgRJ7hzdnwZ4stHSDmjg== dependencies: is-plain-obj "^1.0.0" @@ -7643,23 +8579,23 @@ source-map-resolve@^0.5.0: source-map-url "^0.4.0" urix "^0.1.0" -source-map-support@^0.5.17: - version "0.5.19" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61" - integrity sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw== +source-map-support@^0.5.17, source-map-support@^0.5.21: + version "0.5.21" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" + integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== dependencies: buffer-from "^1.0.0" source-map "^0.6.0" source-map-url@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" - integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM= + version "0.4.1" + resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.1.tgz#0af66605a745a5a2f91cf1bbf8a7afbc283dec56" + integrity sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw== -source-map@^0.5.0, source-map@^0.5.6, source-map@~0.5.1: +source-map@^0.5.6, source-map@~0.5.1: version "0.5.7" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" - integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= + integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ== source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: version "0.6.1" @@ -7667,31 +8603,35 @@ source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== spdx-correct@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.0.tgz#fb83e504445268f154b074e218c87c003cd31df4" + version "3.1.1" + resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" + integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w== dependencies: spdx-expression-parse "^3.0.0" spdx-license-ids "^3.0.0" spdx-exceptions@^2.1.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz#2ea450aee74f2a89bfb94519c07fcd6f41322977" + version "2.3.0" + resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" + integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== spdx-expression-parse@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz#99e119b7a5da00e05491c9fa338b7904823b41d0" + version "3.0.1" + resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" + integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== dependencies: spdx-exceptions "^2.1.0" spdx-license-ids "^3.0.0" spdx-license-ids@^3.0.0: - version "3.0.5" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz#3694b5804567a458d3c8045842a6358632f62654" + version "3.0.12" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.12.tgz#69077835abe2710b65f03969898b6637b505a779" + integrity sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA== split-array-stream@^1.0.0: version "1.0.3" resolved "https://registry.yarnpkg.com/split-array-stream/-/split-array-stream-1.0.3.tgz#d2b75a8e5e0d824d52fdec8b8225839dc2e35dfa" - integrity sha1-0rdajl4Ngk1S/eyLgiWDncLjXfo= + integrity sha512-yGY35QmZFzZkWZ0eHE06RPBi63umym8m+pdtuC/dlO1ADhdKSfCj0uNn87BYCXBBDFxyTq4oTw0BgLYT0K5z/A== dependencies: async "^2.4.0" is-stream-ended "^0.1.0" @@ -7703,6 +8643,11 @@ split-array-stream@^2.0.0: dependencies: is-stream-ended "^0.1.4" +split-on-first@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/split-on-first/-/split-on-first-1.1.0.tgz#f610afeee3b12bce1d0c30425e76398b78249a5f" + integrity sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw== + split-string@^3.0.1, split-string@^3.0.2: version "3.1.0" resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" @@ -7717,6 +8662,13 @@ split2@^2.0.0: dependencies: through2 "^2.0.2" +split2@^3.0.0: + version "3.2.2" + resolved "https://registry.yarnpkg.com/split2/-/split2-3.2.2.tgz#bf2cf2a37d838312c249c89206fd7a17dd12365f" + integrity sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg== + dependencies: + readable-stream "^3.0.0" + split@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/split/-/split-1.0.1.tgz#605bd9be303aa59fb35f9229fbea0ddec9ea07d9" @@ -7727,11 +8679,12 @@ split@^1.0.0: sprintf-js@~1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== sshpk@^1.7.0: - version "1.16.1" - resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877" - integrity sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg== + version "1.17.0" + resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.17.0.tgz#578082d92d4fe612b13007496e543fa0fbcbe4c5" + integrity sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ== dependencies: asn1 "~0.2.3" assert-plus "^1.0.0" @@ -7744,25 +8697,35 @@ sshpk@^1.7.0: tweetnacl "~0.14.0" ssri@^6.0.0, ssri@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/ssri/-/ssri-6.0.1.tgz#2a3c41b28dd45b62b63676ecb74001265ae9edd8" - integrity sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA== + version "6.0.2" + resolved "https://registry.yarnpkg.com/ssri/-/ssri-6.0.2.tgz#157939134f20464e7301ddba3e90ffa8f7728ac5" + integrity sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q== dependencies: figgy-pudding "^3.5.1" stack-trace@0.0.10: version "0.0.10" resolved "https://registry.yarnpkg.com/stack-trace/-/stack-trace-0.0.10.tgz#547c70b347e8d32b4e108ea1a2a159e5fdde19c0" - integrity sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA= + integrity sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg== static-extend@^0.1.1: version "0.1.2" resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" - integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= + integrity sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g== dependencies: define-property "^0.2.5" object-copy "^0.1.0" +statuses@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" + integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== + +statuses@^1.3.1: + version "1.5.0" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" + integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA== + stream-each@^1.1.0: version "1.2.3" resolved "https://registry.yarnpkg.com/stream-each/-/stream-each-1.2.3.tgz#ebe27a0c389b04fbcc233642952e10731afa9bae" @@ -7771,18 +8734,39 @@ stream-each@^1.1.0: end-of-stream "^1.1.0" stream-shift "^1.0.0" -stream-events@^1.0.1, stream-events@^1.0.4, stream-events@^1.0.5: +stream-events@^1.0.4, stream-events@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/stream-events/-/stream-events-1.0.5.tgz#bbc898ec4df33a4902d892333d47da9bf1c406d5" integrity sha512-E1GUzBSgvct8Jsb3v2X15pjzN1tYebtbLaMg+eBOUOAxgbLoSbT2NS91ckc5lJD1KfLjId+jXJRgo0qnV5Nerg== dependencies: stubs "^3.0.0" +stream-http@2.8.2: + version "2.8.2" + resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.8.2.tgz#4126e8c6b107004465918aa2fc35549e77402c87" + integrity sha512-QllfrBhqF1DPcz46WxKTs6Mz1Bpc+8Qm6vbqOpVav5odAXwbyzwnEczoWqtxrsmlO+cJqtPrp/8gWKWjaKLLlA== + dependencies: + builtin-status-codes "^3.0.0" + inherits "^2.0.1" + readable-stream "^2.3.6" + to-arraybuffer "^1.0.0" + xtend "^4.0.0" + stream-shift@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.1.tgz#d7088281559ab2778424279b0877da3c392d5a3d" integrity sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ== +stream-wormhole@^1.0.4: + version "1.1.0" + resolved "https://registry.yarnpkg.com/stream-wormhole/-/stream-wormhole-1.1.0.tgz#300aff46ced553cfec642a05251885417693c33d" + integrity sha512-gHFfL3px0Kctd6Po0M8TzEvt3De/xu6cnRrjlfYNhwbhLPLwigI2t1nc6jrzNuaYg5C4YF78PPFuQPzRiqn9ew== + +strict-uri-encode@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz#b9c7330c7042862f6b142dc274bbcc5866ce3546" + integrity sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ== + string-format-obj@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/string-format-obj/-/string-format-obj-1.1.1.tgz#c7612ca4e2ad923812a81db192dc291850aa1f65" @@ -7791,7 +8775,7 @@ string-format-obj@^1.1.1: string-width@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" - integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= + integrity sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw== dependencies: code-point-at "^1.0.0" is-fullwidth-code-point "^1.0.0" @@ -7805,6 +8789,15 @@ string-width@^1.0.1: is-fullwidth-code-point "^2.0.0" strip-ansi "^4.0.0" +"string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.1.0, string-width@^4.2.0: + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + string-width@^3.0.0, string-width@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" @@ -7814,30 +8807,23 @@ string-width@^3.0.0, string-width@^3.1.0: is-fullwidth-code-point "^2.0.0" strip-ansi "^5.1.0" -string-width@^4.1.0, string-width@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5" - integrity sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.0" - -string.prototype.trimend@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz#85812a6b847ac002270f5808146064c995fb6913" - integrity sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g== +string.prototype.trimend@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz#914a65baaab25fbdd4ee291ca7dde57e869cb8d0" + integrity sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog== dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.5" + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.19.5" -string.prototype.trimstart@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz#14af6d9f34b053f7cfc89b72f8f2ee14b9039a54" - integrity sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw== +string.prototype.trimstart@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz#5466d93ba58cfa2134839f81d7f42437e8c01fef" + integrity sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg== dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.5" + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.19.5" string_decoder@^1.1.1: version "1.3.0" @@ -7846,6 +8832,11 @@ string_decoder@^1.1.1: dependencies: safe-buffer "~5.2.0" +string_decoder@~0.10.x: + version "0.10.31" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" + integrity sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ== + string_decoder@~1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" @@ -7856,14 +8847,14 @@ string_decoder@~1.1.1: strip-ansi@^3.0.0, strip-ansi@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" - integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= + integrity sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg== dependencies: ansi-regex "^2.0.0" strip-ansi@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" - integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= + integrity sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow== dependencies: ansi-regex "^3.0.0" @@ -7874,14 +8865,7 @@ strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: dependencies: ansi-regex "^4.1.0" -strip-ansi@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" - integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== - dependencies: - ansi-regex "^5.0.0" - -strip-ansi@^6.0.1: +strip-ansi@^6.0.0, strip-ansi@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== @@ -7891,30 +8875,31 @@ strip-ansi@^6.0.1: strip-bom@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" - integrity sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4= + integrity sha512-kwrX1y7czp1E69n2ajbG65mIo9dqvJ+8aBQXOGVxqwvNbsXdFM6Lq37dLAY3mknUwru8CfcCbfOLL/gMo+fi3g== dependencies: is-utf8 "^0.2.0" strip-bom@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" - integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= + integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== strip-eof@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" + integrity sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q== strip-indent@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2" - integrity sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI= + integrity sha512-I5iQq6aFMM62fBEAIB/hXzwJD6EEZ0xEGCX2t7oXqaKPIRgt4WruAQ285BISgdkP+HLGWyeGmNJcpIwFeRYRUA== dependencies: get-stdin "^4.0.1" strip-indent@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-2.0.0.tgz#5ef8db295d01e6ed6cbf7aab96998d7822527b68" - integrity sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g= + integrity sha512-RsSNPLpq6YUL7QYy44RnPVTn/lcVZtb48Uof3X5JLbF4zD/Gs7ZFDv2HWol+leoQN2mT86LAzSshGfkTlSOpsA== strip-indent@^3.0.0: version "3.0.0" @@ -7923,12 +8908,7 @@ strip-indent@^3.0.0: dependencies: min-indent "^1.0.0" -strip-json-comments@3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.0.1.tgz#85713975a91fb87bf1b305cca77395e40d2a64a7" - integrity sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw== - -strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: +strip-json-comments@3.1.1, strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== @@ -7945,18 +8925,19 @@ strong-log-transformer@^2.0.0: stubs@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/stubs/-/stubs-3.0.0.tgz#e8d2ba1fa9c90570303c030b6900f7d5f89abe5b" - integrity sha1-6NK6H6nJBXAwPAMLaQD31fiavls= + integrity sha512-PdHt7hHUJKxvTCgbKX9C1V/ftOcjJQgz8BZwNfV5c4B6dcGqlpelTbJ999jBGZ2jYiPAwcX5dP6oBwVlBlUbxw== -supports-color@7.1.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.1.0.tgz#68e32591df73e25ad1c4b49108a2ec507962bfd1" - integrity sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g== +supports-color@8.1.1: + version "8.1.1" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" + integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== dependencies: has-flag "^4.0.0" supports-color@^5.3.0: version "5.5.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== dependencies: has-flag "^3.0.0" @@ -7967,44 +8948,49 @@ supports-color@^7.1.0: dependencies: has-flag "^4.0.0" +supports-preserve-symlinks-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" + integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== + taffydb@2.6.2: version "2.6.2" resolved "https://registry.yarnpkg.com/taffydb/-/taffydb-2.6.2.tgz#7cbcb64b5a141b6a2efc2c5d2c67b4e150b2a268" - integrity sha1-fLy2S1oUG2ou/CxdLGe04VCyomg= + integrity sha512-y3JaeRSplks6NYQuCOj3ZFMO3j60rTwbuKCvZxsAraGYH2epusatvZ0baZYA01WsGqJBq/Dl6vOrMUJqyMj8kA== tar@^4.4.10, tar@^4.4.12, tar@^4.4.8: - version "4.4.13" - resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.13.tgz#43b364bc52888d555298637b10d60790254ab525" - integrity sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA== + version "4.4.19" + resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.19.tgz#2e4d7263df26f2b914dee10c825ab132123742f3" + integrity sha512-a20gEsvHnWe0ygBY8JbxoM4w3SJdhc7ZAuxkLqh+nvNQN2IOt0B5lLgM490X5Hl8FF0dl0tOf2ewFYAlIFgzVA== dependencies: - chownr "^1.1.1" - fs-minipass "^1.2.5" - minipass "^2.8.6" - minizlib "^1.2.1" - mkdirp "^0.5.0" - safe-buffer "^5.1.2" - yallist "^3.0.3" + chownr "^1.1.4" + fs-minipass "^1.2.7" + minipass "^2.9.0" + minizlib "^1.3.3" + mkdirp "^0.5.5" + safe-buffer "^5.2.1" + yallist "^3.1.1" -teeny-request@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/teeny-request/-/teeny-request-7.0.0.tgz#0e5c090bd9102ed559ffc8c9ddb00fbe1256db30" - integrity sha512-kWD3sdGmIix6w7c8ZdVKxWq+3YwVPGWz+Mq0wRZXayEKY/YHb63b8uphfBzcFDmyq8frD9+UTc3wLyOhltRbtg== +teeny-request@^7.0.0, teeny-request@^7.1.3: + version "7.2.0" + resolved "https://registry.yarnpkg.com/teeny-request/-/teeny-request-7.2.0.tgz#41347ece068f08d741e7b86df38a4498208b2633" + integrity sha512-SyY0pek1zWsi0LRVAALem+avzMLc33MKW/JLLakdP4s9+D7+jHcy5x6P+h94g2QNZsAqQNfX5lsbd3WSeJXrrw== dependencies: - http-proxy-agent "^4.0.0" + http-proxy-agent "^5.0.0" https-proxy-agent "^5.0.0" - node-fetch "^2.2.0" + node-fetch "^2.6.1" stream-events "^1.0.5" uuid "^8.0.0" temp-dir@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/temp-dir/-/temp-dir-1.0.0.tgz#0a7c0ea26d3a39afa7e0ebea9c1fc0bc4daa011d" - integrity sha1-CnwOom06Oa+n4OvqnB/AvE2qAR0= + integrity sha512-xZFXEGbG7SNC3itwBzI3RYjq/cEhBkx2hJuKGIUOcEULmkQExXiHat2z/qkISYsuR+IKumhEfKKbV5qXmhICFQ== temp-write@^3.4.0: version "3.4.0" resolved "https://registry.yarnpkg.com/temp-write/-/temp-write-3.4.0.tgz#8cff630fb7e9da05f047c74ce4ce4d685457d492" - integrity sha1-jP9jD7fp2gXwR8dM5M5NaFRX1JI= + integrity sha512-P8NK5aNqcGQBC37i/8pL/K9tFgx14CF2vdwluD/BA/dGWGD4T4E59TE7dAxPyb2wusts2FhMp36EiopBBsGJ2Q== dependencies: graceful-fs "^4.1.2" is-stream "^1.1.0" @@ -8013,6 +8999,15 @@ temp-write@^3.4.0: temp-dir "^1.0.0" uuid "^3.0.1" +test-exclude@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" + integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w== + dependencies: + "@istanbuljs/schema" "^0.1.2" + glob "^7.1.4" + minimatch "^3.0.4" + text-extensions@^1.0.0: version "1.9.0" resolved "https://registry.yarnpkg.com/text-extensions/-/text-extensions-1.9.0.tgz#1853e45fee39c945ce6f6c36b2d659b5aabc2a26" @@ -8021,12 +9016,12 @@ text-extensions@^1.0.0: text-table@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" - integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= + integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== thenify-all@^1.0.0: version "1.6.0" resolved "https://registry.yarnpkg.com/thenify-all/-/thenify-all-1.6.0.tgz#1a1918d402d8fc3f98fbf234db0bcc8cc10e9726" - integrity sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY= + integrity sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA== dependencies: thenify ">= 3.1.0 < 4" @@ -8045,7 +9040,7 @@ through2@^2.0.0, through2@^2.0.2, through2@^2.0.3: readable-stream "~2.3.6" xtend "~4.0.1" -through2@^3.0.0, through2@^3.0.1: +through2@^3.0.0: version "3.0.2" resolved "https://registry.yarnpkg.com/through2/-/through2-3.0.2.tgz#99f88931cfc761ec7678b41d5d7336b5b6a07bf4" integrity sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ== @@ -8060,10 +9055,10 @@ through2@^4.0.0: dependencies: readable-stream "3" -through@2, "through@>=2.2.7 <3", through@^2.3.4, through@^2.3.6: +through@2, "through@>=2.2.7 <3", through@^2.3.4, through@^2.3.6, through@~2.3: version "2.3.8" resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" - integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= + integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== tmp@^0.0.33: version "0.0.33" @@ -8072,27 +9067,32 @@ tmp@^0.0.33: dependencies: os-tmpdir "~1.0.2" +to-arraybuffer@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" + integrity sha512-okFlQcoGTi4LQBG/PgSYblw9VOyptsz2KJZqc6qtgGdes8VktzUQkj4BI2blit072iS8VODNcMA+tvnS9dnuMA== + to-fast-properties@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47" - integrity sha1-uDVx+k2MJbguIxsG46MFXeTKGkc= + integrity sha512-lxrWP8ejsq+7E3nNjwYmUBMAgjMTZoTI+sdBOpvNyijeDLa29LUn9QaoXAHv4+Z578hbmHHJKZknzxVtvo77og== to-fast-properties@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" - integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= + integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== to-object-path@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" - integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= + integrity sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg== dependencies: kind-of "^3.0.2" to-regex-range@^2.1.0: version "2.1.1" resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" - integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= + integrity sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg== dependencies: is-number "^3.0.0" repeat-string "^1.6.1" @@ -8114,10 +9114,15 @@ to-regex@^3.0.1, to-regex@^3.0.2: regex-not "^1.0.2" safe-regex "^1.1.0" +toidentifier@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" + integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== + token-stream@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/token-stream/-/token-stream-0.0.1.tgz#ceeefc717a76c4316f126d0b9dbaa55d7e7df01a" - integrity sha1-zu78cXp2xDFvEm0LnbqlXX598Bo= + integrity sha512-nfjOAu/zAWmX9tgwi5NRp7O7zTDUD1miHiB40klUnAh9qnL1iXdgzcz/i5dMaL5jahcBAaSfmNOBBJBLJW8TEg== tough-cookie@^2.4.3, tough-cookie@~2.5.0: version "2.5.0" @@ -8139,29 +9144,29 @@ tough-cookie@^3.0.1: tr46@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/tr46/-/tr46-1.0.1.tgz#a8b13fd6bfd2489519674ccde55ba3693b706d09" - integrity sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk= + integrity sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA== dependencies: punycode "^2.1.0" +tr46@~0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" + integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== + trim-newlines@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" - integrity sha1-WIeWa7WCpFA6QetST301ARgVphM= + integrity sha512-Nm4cF79FhSTzrLKGDMi3I4utBtFv8qKy4sq1enftf2gMdpqI8oVQTAfySkTz5r49giVzDj88SVZXP4CeYQwjaw== trim-newlines@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-2.0.0.tgz#b403d0b91be50c331dfc4b82eeceb22c3de16d20" - integrity sha1-tAPQuRvlDDMd/EuC7s6yLD3hbSA= + integrity sha512-MTBWv3jhVjTU7XR3IQHllbiJs8sc75a80OEhB6or/q7pLTWgQ0bMGQXXYQSrSuXe6WiKWDZ5txXY5P59a/coVA== trim-newlines@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-3.0.0.tgz#79726304a6a898aa8373427298d54c2ee8b1cb30" - integrity sha512-C4+gOpvmxaSMKuEf9Qc134F1ZuOHVXKRbtEflf4NTtuuJDEIJ9p5PXsalL8SkeRw+qit1Mo+yuvMPAKwWg/1hA== - -trim-off-newlines@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/trim-off-newlines/-/trim-off-newlines-1.0.1.tgz#9f9ba9d9efa8764c387698bcbfeb2c848f11adb3" - integrity sha1-n5up2e+odkw4dpi8v+sshI8RrbM= + version "3.0.1" + resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-3.0.1.tgz#260a5d962d8b752425b32f3a7db0dcacd176c144" + integrity sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw== ts-map@^1.0.3: version "1.0.3" @@ -8179,16 +9184,16 @@ ts-node@^8.10.2: source-map-support "^0.5.17" yn "3.1.1" -tslib@^1.10.0, tslib@^1.9.0, tslib@^1.9.2, tslib@^1.9.3: - version "1.13.0" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.13.0.tgz#c881e13cc7015894ed914862d276436fa9a47043" - integrity sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q== - -tslib@^1.8.1: +tslib@^1.10.0, tslib@^1.8.1, tslib@^1.9.0, tslib@^1.9.2, tslib@^1.9.3: version "1.14.1" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== +tslib@^2.0.1, tslib@^2.2.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3" + integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ== + tsutils@^3.21.0: version "3.21.0" resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" @@ -8199,7 +9204,7 @@ tsutils@^3.21.0: tunnel-agent@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" - integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= + integrity sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w== dependencies: safe-buffer "^5.0.1" @@ -8211,7 +9216,7 @@ tunnel@0.0.6: tweetnacl@^0.14.3, tweetnacl@~0.14.0: version "0.14.5" resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" - integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= + integrity sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA== type-check@^0.4.0, type-check@~0.4.0: version "0.4.0" @@ -8220,14 +9225,22 @@ type-check@^0.4.0, type-check@~0.4.0: dependencies: prelude-ls "^1.2.1" +type-check@~0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" + integrity sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg== + dependencies: + prelude-ls "~1.1.2" + type-detect@^4.0.0, type-detect@^4.0.5: version "4.0.8" resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" + integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== -type-fest@^0.13.1: - version "0.13.1" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.13.1.tgz#0172cb5bce80b0bd542ea348db50c7e21834d934" - integrity sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg== +type-fest@^0.18.0: + version "0.18.1" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.18.1.tgz#db4bc151a4a2cf4eebf9add5db75508db6cc841f" + integrity sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw== type-fest@^0.20.2: version "0.20.2" @@ -8259,17 +9272,17 @@ typedarray-to-buffer@^3.1.5: typedarray@^0.0.6: version "0.0.6" resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" - integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= + integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA== -typescript@^3.2.2, typescript@^3.7.5: - version "3.9.7" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.9.7.tgz#98d600a5ebdc38f40cb277522f12dc800e9e25fa" - integrity sha512-BLbiRkiBzAwsjut4x/dsibSTB6yWpwT5qWmC2OfuCg3GgVQCSgMs4vEctYPhsaGtd0AeuuHMkjZ2h2WG8MSzRw== +typescript@^3.2.2, typescript@^3.9.3: + version "3.9.10" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.9.10.tgz#70f3910ac7a51ed6bef79da7800690b19bf778b8" + integrity sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q== -typescript@^3.9.3: - version "3.9.6" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.9.6.tgz#8f3e0198a34c3ae17091b35571d3afd31999365a" - integrity sha512-Pspx3oKAPJtjNwE92YS05HQoY7z2SFyOpHo9MqJor3BXAGNaPUs83CuVp9VISFkSjyRfiTpmKuAYGJB7S7hOxw== +typescript@^4.5.4: + version "4.8.2" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.8.2.tgz#e3b33d5ccfb5914e4eeab6699cf208adee3fd790" + integrity sha512-C0I1UsrrDHo2fYI5oaCGbSejwX4ch+9Y5jTQELvovfmFkK3HHSZJB8MSJcWLmCUBzQBchCrZ9rMRV6GuNrvGtw== uc.micro@^1.0.1, uc.micro@^1.0.5: version "1.0.6" @@ -8279,7 +9292,7 @@ uc.micro@^1.0.1, uc.micro@^1.0.5: uglify-js@^2.6.1: version "2.8.29" resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.8.29.tgz#29c5733148057bb4e1f75df35b7a9cb72e6a59dd" - integrity sha1-KcVzMUgFe7Th913zW3qcty5qWd0= + integrity sha512-qLq/4y2pjcU3vhlhseXGGJ7VbFO4pBANu0kwl8VCa9KEI0V8VfZIx2Fy3w01iSTA/pGwKZSmu/+I4etLNDdt5w== dependencies: source-map "~0.5.1" yargs "~3.10.0" @@ -8287,29 +9300,46 @@ uglify-js@^2.6.1: uglify-to-browserify "~1.0.0" uglify-js@^3.1.4: - version "3.10.0" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.10.0.tgz#397a7e6e31ce820bfd1cb55b804ee140c587a9e7" - integrity sha512-Esj5HG5WAyrLIdYU74Z3JdG2PxdIusvj6IWHMtlyESxc7kcDz7zYlYjpnSokn1UbpV0d/QX9fan7gkCNd/9BQA== + version "3.17.0" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.17.0.tgz#55bd6e9d19ce5eef0d5ad17cd1f587d85b180a85" + integrity sha512-aTeNPVmgIMPpm1cxXr2Q/nEbvkmV8yq66F3om7X3P/cvOXQ0TMQ64Wk63iyT1gPlmdmGzjGpyLh1f3y8MZWXGg== uglify-to-browserify@~1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7" - integrity sha1-bgkk1r2mta/jSeOabWMoUKD4grc= + integrity sha512-vb2s1lYx2xBtUgy+ta+b2J/GLVUR+wmpINwHePmPRhOsIVCG2wDzKJ0n14GslH1BifsqVzSOwQhRaCAsZ/nI4Q== uid-number@0.0.6: version "0.0.6" resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81" - integrity sha1-DqEOgDXo61uOREnwbaHHMGY7qoE= + integrity sha512-c461FXIljswCuscZn67xq9PpszkPT6RjheWFQTgCyabJrTUozElanb0YEqv2UGgk247YpcJkFBuSGNvBlpXM9w== umask@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/umask/-/umask-1.1.0.tgz#f29cebf01df517912bb58ff9c4e50fde8e33320d" - integrity sha1-8pzr8B31F5ErtY/5xOUP3o4zMg0= + integrity sha512-lE/rxOhmiScJu9L6RTNVgB/zZbF+vGC0/p6D3xnkAePI2o0sMyFG966iR5Ki50OI/0mNi2yaRnxfLsPmEZF/JA== -"underscore@>= 1.3.1", underscore@^1.9.1, underscore@~1.10.2: - version "1.10.2" - resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.10.2.tgz#73d6aa3668f3188e4adb0f1943bd12cfd7efaaaf" - integrity sha512-N4P+Q/BuyuEKFJ43B9gYuOj4TQUHXX+j2FqguVOpjkssLUUrnJofCcBccJSCoeturDoZU6GorDTHSvUDlSQbTg== +unbox-primitive@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e" + integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== + dependencies: + call-bind "^1.0.2" + has-bigints "^1.0.2" + has-symbols "^1.0.3" + which-boxed-primitive "^1.0.2" + +"underscore@>= 1.3.1", underscore@^1.13.2, underscore@~1.13.2: + version "1.13.4" + resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.13.4.tgz#7886b46bbdf07f768e0052f1828e1dcab40c0dee" + integrity sha512-BQFnUDuAQ4Yf/cYY5LNrK9NCJFKriaRbD9uR1fTeXnBeoa97W0i41qkZfGO9pSo8I5KzjAcSY2XYtdf0oKd7KQ== + +unescape@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/unescape/-/unescape-1.0.1.tgz#956e430f61cad8a4d57d82c518f5e6cc5d0dda96" + integrity sha512-O0+af1Gs50lyH1nUu3ZyYS1cRh01Q/kUKatTOkSs7jukXE6/NebucDVxyiDsA9AQ4JC1V1jUH9EO8JX2nMDgGQ== + dependencies: + extend-shallow "^2.0.1" union-value@^1.0.0: version "1.0.1" @@ -8349,22 +9379,25 @@ universal-user-agent@^4.0.0: dependencies: os-name "^3.1.0" -universal-user-agent@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/universal-user-agent/-/universal-user-agent-5.0.0.tgz#a3182aa758069bf0e79952570ca757de3579c1d9" - integrity sha512-B5TPtzZleXyPrUMKCpEHFmVhMN6EhmJYjG5PQna9s7mXeSqGTLap4OpqLl5FCEFUI3UBmllkETwKf/db66Y54Q== - dependencies: - os-name "^3.1.0" +universal-user-agent@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/universal-user-agent/-/universal-user-agent-6.0.0.tgz#3381f8503b251c0d9cd21bc1de939ec9df5480ee" + integrity sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w== universalify@^0.1.0: version "0.1.2" resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== +unpipe@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" + integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== + unset-value@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" - integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= + integrity sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ== dependencies: has-value "^0.3.1" isobject "^3.0.0" @@ -8374,26 +9407,55 @@ upath@^1.2.0: resolved "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894" integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg== +update-browserslist-db@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.5.tgz#be06a5eedd62f107b7c19eb5bcefb194411abf38" + integrity sha512-dteFFpCyvuDdr9S/ff1ISkKt/9YZxKjI9WlRR99c180GaztJtRa/fn18FdxGVKVsnPY7/a/FDN68mcvUmP4U7Q== + dependencies: + escalade "^3.1.1" + picocolors "^1.0.0" + uri-js@^4.2.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0" - integrity sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ== + version "4.4.1" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" + integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== dependencies: punycode "^2.1.0" urix@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" - integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= + integrity sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg== url@0.10.3: version "0.10.3" resolved "https://registry.yarnpkg.com/url/-/url-0.10.3.tgz#021e4d9c7705f21bbf37d03ceb58767402774c64" - integrity sha1-Ah5NnHcF8hu/N9A861h2dAJ3TGQ= + integrity sha512-hzSUW2q06EqL1gKM/a+obYHLIO6ct2hwPuviqTTOcfFVc61UbfJ2Q32+uGL/HCPxKqrdGB5QUwIe7UqlDgwsOQ== dependencies: punycode "1.3.2" querystring "0.2.0" +urllib@^2.33.1: + version "2.38.1" + resolved "https://registry.yarnpkg.com/urllib/-/urllib-2.38.1.tgz#d5398c91a3b6a3a066f5beae7b90e959c13ef4c4" + integrity sha512-1tvjdL74oT9aV4X+SIjE1BXyes5PbfhHKhK4IlhoKhKqk4nD5/lXE90v10WZ02kELWIPI4w7ADneEQ4i7dPjiQ== + dependencies: + any-promise "^1.3.0" + content-type "^1.0.2" + debug "^2.6.9" + default-user-agent "^1.0.0" + digest-header "^0.0.1" + ee-first "~1.1.1" + formstream "^1.1.0" + humanize-ms "^1.2.0" + iconv-lite "^0.4.15" + ip "^1.1.5" + proxy-agent "^5.0.0" + pump "^3.0.0" + qs "^6.4.0" + statuses "^1.3.1" + utility "^1.16.1" + use@^3.1.0: version "3.1.1" resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" @@ -8402,38 +9464,73 @@ use@^3.1.0: util-deprecate@^1.0.1, util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" - integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= + integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== util-promisify@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/util-promisify/-/util-promisify-2.1.0.tgz#3c2236476c4d32c5ff3c47002add7c13b9a82a53" - integrity sha1-PCI2R2xNMsX/PEcAKt18E7moKlM= + integrity sha512-K+5eQPYs14b3+E+hmE2J6gCZ4JmMl9DbYS6BeP2CHq6WMuNxErxf5B/n0fz85L8zUuoO6rIzNNmIQDu/j+1OcA== dependencies: object.getownpropertydescriptors "^2.0.3" -uuid@3.3.2: - version "3.3.2" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131" - integrity sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA== +util@^0.12.4: + version "0.12.4" + resolved "https://registry.yarnpkg.com/util/-/util-0.12.4.tgz#66121a31420df8f01ca0c464be15dfa1d1850253" + integrity sha512-bxZ9qtSlGUWSOy9Qa9Xgk11kSslpuZwaxCg4sNIDj6FLucDab2JxnHwyNTCpHMtK1MjoQiWQ6DiUMZYbSrO+Sw== + dependencies: + inherits "^2.0.3" + is-arguments "^1.0.4" + is-generator-function "^1.0.7" + is-typed-array "^1.1.3" + safe-buffer "^5.1.2" + which-typed-array "^1.1.2" + +utility@0.1.11: + version "0.1.11" + resolved "https://registry.yarnpkg.com/utility/-/utility-0.1.11.tgz#fde60cf9b4e4751947a0cf5d104ce29367226715" + integrity sha512-epFsJ71+/yC7MKMX7CM9azP31QBIQhywkiBUj74i/T3Y2TXtEor26QBkat7lGamrrNTr5CBI1imd/8F0Bmqw4g== + dependencies: + address ">=0.0.1" + +utility@^1.16.1, utility@^1.8.0: + version "1.17.0" + resolved "https://registry.yarnpkg.com/utility/-/utility-1.17.0.tgz#60819f712a6e0ce774f52fb1d691992a5f59d362" + integrity sha512-KdVkF9An/0239BJ4+dqOa7NPrPIOeQE9AGfx0XS16O9DBiHNHRJMoeU5nL6pRGAkgJOqdOu8R4gBRcXnAocJKw== + dependencies: + copy-to "^2.0.1" + escape-html "^1.0.3" + mkdirp "^0.5.1" + mz "^2.7.0" + unescape "^1.0.1" + +uuid@8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.0.0.tgz#bc6ccf91b5ff0ac07bbcdbf1c7c4e150db4dbb6c" + integrity sha512-jOXGuXZAWdsTH7eZLtyXMqUb9EcWMGZNbL9YcGBJl4MH4nrxHmZJhEHvyLFrkxo+28uLb/NYRcStH48fnD0Vzw== uuid@^3.0.1, uuid@^3.1.0, uuid@^3.2.1, uuid@^3.3.2: version "3.4.0" resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== -uuid@^8.0.0: - version "8.2.0" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.2.0.tgz#cb10dd6b118e2dada7d0cd9730ba7417c93d920e" - integrity sha512-CYpGiFTUrmI6OBMkAdjSDM0k5h8SkkiTP4WAjQgDgNB1S3Ou9VBEvr6q0Kv2H1mMk7IWfxYGpMH5sd5AvcIV2Q== +uuid@^8.0.0, uuid@^8.3.2: + version "8.3.2" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" + integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== -v8-compile-cache@^2.0.3: - version "2.3.0" - resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" - integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== +v8-to-istanbul@^9.0.0: + version "9.0.1" + resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-9.0.1.tgz#b6f994b0b5d4ef255e17a0d17dc444a9f5132fa4" + integrity sha512-74Y4LqY74kLE6IFyIjPtkSTWzUZmj8tdHT9Ii/26dvQ6K9Dl2NbEfj0XgU2sHCtKgt5VupqhlO/5aWuqS+IY1w== + dependencies: + "@jridgewell/trace-mapping" "^0.3.12" + "@types/istanbul-lib-coverage" "^2.0.1" + convert-source-map "^1.6.0" validate-npm-package-license@^3.0.1, validate-npm-package-license@^3.0.3: version "3.0.4" resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" + integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== dependencies: spdx-correct "^3.0.0" spdx-expression-parse "^3.0.0" @@ -8441,25 +9538,33 @@ validate-npm-package-license@^3.0.1, validate-npm-package-license@^3.0.3: validate-npm-package-name@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz#5fa912d81eb7d0c74afc140de7317f0ca7df437e" - integrity sha1-X6kS2B630MdK/BQN5zF/DKffQ34= + integrity sha512-M6w37eVCMMouJ9V/sdPGnC5H4uDr73/+xdq0FBLO3TFFX1+7wiUY6Es328NN+y43tmY+doUdN9g9J21vqB7iLw== dependencies: builtins "^1.0.3" verror@1.10.0: version "1.10.0" resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" - integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= + integrity sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw== dependencies: assert-plus "^1.0.0" core-util-is "1.0.2" extsprintf "^1.2.0" +vm2@^3.9.8: + version "3.9.11" + resolved "https://registry.yarnpkg.com/vm2/-/vm2-3.9.11.tgz#a880f510a606481719ec3f9803b940c5805a06fe" + integrity sha512-PFG8iJRSjvvBdisowQ7iVF580DXb1uCIiGaXgm7tynMR1uTBlv7UJlB1zdv5KJ+Tmq1f0Upnj3fayoEOPpCBKg== + dependencies: + acorn "^8.7.0" + acorn-walk "^8.2.0" + void-elements@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/void-elements/-/void-elements-2.0.1.tgz#c066afb582bb1cb4128d60ea92392e94d5e9dbec" - integrity sha1-wGavtYK7HLQSjWDqkjkulNXp2+w= + integrity sha512-qZKX4RnBzH2ugr8Lxa7x+0V6XD9Sb/ouARtiasEQCHB1EVU4NXtmHsDDrx1dO4ne5fc3J6EW05BP1Dl0z0iung== -vue-docgen-api@^3.22.0: +vue-docgen-api@^3.26.0: version "3.26.0" resolved "https://registry.yarnpkg.com/vue-docgen-api/-/vue-docgen-api-3.26.0.tgz#2afc6a39e72862fbbc60ceb8510c681749f05460" integrity sha512-ujdg4i5ZI/wE46RZQMFzKnDGyhEuPCu+fMA86CAd9EIek/6+OqraSVBm5ZkLrbEd5f8xxdnqMU4yiSGHHeao/Q== @@ -8476,37 +9581,45 @@ vue-docgen-api@^3.22.0: vue-template-compiler "^2.0.0" vue-template-compiler@^2.0.0: - version "2.6.11" - resolved "https://registry.yarnpkg.com/vue-template-compiler/-/vue-template-compiler-2.6.11.tgz#c04704ef8f498b153130018993e56309d4698080" - integrity sha512-KIq15bvQDrcCjpGjrAhx4mUlyyHfdmTaoNfeoATHLAiWB+MU3cx4lOzMwrnUh9cCxy0Lt1T11hAFY6TQgroUAA== + version "2.7.10" + resolved "https://registry.yarnpkg.com/vue-template-compiler/-/vue-template-compiler-2.7.10.tgz#9e20f35b2fdccacacf732dd7dedb49bf65f4556b" + integrity sha512-QO+8R9YRq1Gudm8ZMdo/lImZLJVUIAM8c07Vp84ojdDAf8HmPJc7XB556PcXV218k2AkKznsRz6xB5uOjAC4EQ== dependencies: de-indent "^1.0.2" - he "^1.1.0" + he "^1.2.0" -vue2-ace-editor@^0.0.13: - version "0.0.13" - resolved "https://registry.yarnpkg.com/vue2-ace-editor/-/vue2-ace-editor-0.0.13.tgz#5528998ce2c13e8ed3a294f714298199fd107dc2" - integrity sha512-uQICyvJzYNix16xeYjNAINuNUQhPbqMR7UQsJeI+ycpEd2otsiNNU73jcZqHkpjuz0uaHDHnrpzQuI/RApsKXA== +vue2-ace-editor@^0.0.15: + version "0.0.15" + resolved "https://registry.yarnpkg.com/vue2-ace-editor/-/vue2-ace-editor-0.0.15.tgz#569b208e54ae771ae1edd3b8902ac42f0edc74e3" + integrity sha512-e3TR9OGXc71cGpvYcW068lNpRcFt3+OONCC81oxHL/0vwl/V3OgqnNMw2/RRolgQkO/CA5AjqVHWmANWKOtNnQ== dependencies: brace "^0.11.0" -walkdir@^0.4.0: - version "0.4.1" - resolved "https://registry.yarnpkg.com/walkdir/-/walkdir-0.4.1.tgz#dc119f83f4421df52e3061e514228a2db20afa39" - integrity sha512-3eBwRyEln6E1MSzcxcVpQIhRG8Q1jLvEqRmCZqS3dsfXEDR/AhOF4d+jHg1qvDCpYaVRZjENPQyrVxAkQqxPgQ== - wcwidth@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8" - integrity sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g= + integrity sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg== dependencies: defaults "^1.0.3" +webidl-conversions@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" + integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== + webidl-conversions@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" integrity sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg== +whatwg-url@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" + integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== + dependencies: + tr46 "~0.0.3" + webidl-conversions "^3.0.0" + whatwg-url@^7.0.0: version "7.1.0" resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-7.1.0.tgz#c2c492f1eca612988efd3d2266be1b9fc6170d06" @@ -8516,15 +9629,38 @@ whatwg-url@^7.0.0: tr46 "^1.0.1" webidl-conversions "^4.0.2" +which-boxed-primitive@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" + integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== + dependencies: + is-bigint "^1.0.1" + is-boolean-object "^1.1.0" + is-number-object "^1.0.4" + is-string "^1.0.5" + is-symbol "^1.0.3" + which-module@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" - integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= + integrity sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q== which-pm-runs@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/which-pm-runs/-/which-pm-runs-1.0.0.tgz#670b3afbc552e0b55df6b7780ca74615f23ad1cb" - integrity sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs= + version "1.1.0" + resolved "https://registry.yarnpkg.com/which-pm-runs/-/which-pm-runs-1.1.0.tgz#35ccf7b1a0fce87bd8b92a478c9d045785d3bf35" + integrity sha512-n1brCuqClxfFfq/Rb0ICg9giSZqCS+pLtccdag6C2HyufBrh3fBOiy9nb6ggRMvWOVH5GrdJskj5iGTZNxd7SA== + +which-typed-array@^1.1.2: + version "1.1.8" + resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.8.tgz#0cfd53401a6f334d90ed1125754a42ed663eb01f" + integrity sha512-Jn4e5PItbcAHyLoRDwvPj1ypu27DJbtdYXUa5zsinrUx77Uvfb0cXwwnGMTn7cjUfhhqgVQnVJCwF+7cgU7tpw== + dependencies: + available-typed-arrays "^1.0.5" + call-bind "^1.0.2" + es-abstract "^1.20.0" + for-each "^0.3.3" + has-tostringtag "^1.0.0" + is-typed-array "^1.1.9" which@2.0.2, which@^2.0.1: version "2.0.2" @@ -8536,37 +9672,52 @@ which@2.0.2, which@^2.0.1: which@^1.2.9, which@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" + integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== dependencies: isexe "^2.0.0" -wide-align@1.1.3, wide-align@^1.1.0: +wide-align@1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" integrity sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA== dependencies: string-width "^1.0.2 || 2" +wide-align@^1.1.0: + version "1.1.5" + resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.5.tgz#df1d4c206854369ecf3c9a4898f1b23fbd9d15d3" + integrity sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg== + dependencies: + string-width "^1.0.2 || 2 || 3 || 4" + +win-release@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/win-release/-/win-release-1.1.1.tgz#5fa55e02be7ca934edfc12665632e849b72e5209" + integrity sha512-iCRnKVvGxOQdsKhcQId2PXV1vV3J/sDPXKA4Oe9+Eti2nb2ESEsYHRYls/UjoUW3bIc5ZDO8dTH50A/5iVN+bw== + dependencies: + semver "^5.0.1" + window-size@0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d" - integrity sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0= + integrity sha512-1pTPQDKTdd61ozlKGNCjhNRd+KPmgLSGa3mZTHoOliaGcESD8G1PXhh7c1fgiPjVbNVfgy2Faw4BI8/m0cC8Mg== windows-release@^3.1.0: - version "3.3.1" - resolved "https://registry.yarnpkg.com/windows-release/-/windows-release-3.3.1.tgz#cb4e80385f8550f709727287bf71035e209c4ace" - integrity sha512-Pngk/RDCaI/DkuHPlGTdIkDiTAnAkyMjoQMZqRsxydNl1qGXNIoZrB7RK8g53F2tEgQBMqQJHQdYZuQEEAu54A== + version "3.3.3" + resolved "https://registry.yarnpkg.com/windows-release/-/windows-release-3.3.3.tgz#1c10027c7225743eec6b89df160d64c2e0293999" + integrity sha512-OSOGH1QYiW5yVor9TtmXKQvt2vjQqbYS+DqmsZw+r7xDwLXEeT3JGW0ZppFmHx4diyXmxt238KFR3N9jzevBRg== dependencies: execa "^1.0.0" with@^5.0.0: version "5.1.1" resolved "https://registry.yarnpkg.com/with/-/with-5.1.1.tgz#fa4daa92daf32c4ea94ed453c81f04686b575dfe" - integrity sha1-+k2qktrzLE6pTtRTyB8EaGtXXf4= + integrity sha512-uAnSsFGfSpF6DNhBXStvlZILfHJfJu4eUkfbRGk94kGO1Ta7bg6FwfvoOhhyHAJuFbCw+0xk4uJ3u57jLvlCJg== dependencies: acorn "^3.1.0" acorn-globals "^3.0.0" -word-wrap@^1.2.3: +word-wrap@^1.2.3, word-wrap@~1.2.3: version "1.2.3" resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== @@ -8574,17 +9725,17 @@ word-wrap@^1.2.3: wordwrap@0.0.2: version "0.0.2" resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f" - integrity sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8= + integrity sha512-xSBsCeh+g+dinoBv3GAOWM4LcVVO68wLXRanibtBSdUvkGWQRGeE9P7IwU9EmDDi4jA6L44lz15CGMwdw9N5+Q== wordwrap@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" - integrity sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus= + integrity sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q== -workerpool@6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.0.0.tgz#85aad67fa1a2c8ef9386a1b43539900f61d03d58" - integrity sha512-fU2OcNA/GVAJLLyKUoHkAgIhKb0JoCpSjLC/G2vYKxUjVmQwGbRVeoPJ1a8U4pnVofz4AQV5Y/NEw8oKqxEBtA== +workerpool@6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.1.0.tgz#a8e038b4c94569596852de7a8ea4228eefdeb37b" + integrity sha512-toV7q9rWNYha963Pl/qyeZ6wG+3nnsyvolaNUS8+R5Wtw6qJPTxIlOP1ZSvcGhEJw+l3HMMmtiNo9Gl61G4GVg== wrap-ansi@^5.1.0: version "5.1.0" @@ -8595,10 +9746,10 @@ wrap-ansi@^5.1.0: string-width "^3.0.0" strip-ansi "^5.0.0" -wrap-ansi@^6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" - integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== +wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== dependencies: ansi-styles "^4.0.0" string-width "^4.1.0" @@ -8607,6 +9758,7 @@ wrap-ansi@^6.2.0: wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== write-file-atomic@^2.0.0, write-file-atomic@^2.3.0, write-file-atomic@^2.4.2: version "2.4.3" @@ -8630,7 +9782,7 @@ write-file-atomic@^3.0.0: write-json-file@^2.2.0: version "2.3.0" resolved "https://registry.yarnpkg.com/write-json-file/-/write-json-file-2.3.0.tgz#2b64c8a33004d54b8698c76d585a77ceb61da32f" - integrity sha1-K2TIozAE1UuGmMdtWFp3zrYdoy8= + integrity sha512-84+F0igFp2dPD6UpAQjOUX3CdKUOqUzn6oE9sDBNzUXINR5VceJ1rauZltqQB/bcYsx3EpKys4C7/PivKUAiWQ== dependencies: detect-indent "^5.0.0" graceful-fs "^4.1.2" @@ -8672,7 +9824,7 @@ xml2js@0.4.19: sax ">=0.6.0" xmlbuilder "~9.0.1" -xml2js@^0.4.19: +xml2js@^0.4.16, xml2js@^0.4.19, xml2js@^0.4.22: version "0.4.23" resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.23.tgz#a0c69516752421eb2ac758ee4d4ccf58843eac66" integrity sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug== @@ -8688,38 +9840,44 @@ xmlbuilder@~11.0.0: xmlbuilder@~9.0.1: version "9.0.7" resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-9.0.7.tgz#132ee63d2ec5565c557e20f4c22df9aca686b10d" - integrity sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0= - -xmlcreate@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/xmlcreate/-/xmlcreate-2.0.3.tgz#df9ecd518fd3890ab3548e1b811d040614993497" - integrity sha512-HgS+X6zAztGa9zIK3Y3LXuJes33Lz9x+YyTxgrkIdabu2vqcGOWwdfCpf1hWLRrd553wd4QCDf6BBO6FfdsRiQ== + integrity sha512-7YXTQc3P2l9+0rjaUbLwMKRhtmwg1M1eDf6nag7urC7pIPYLD9W/jmzQ4ptRSUbodw5S0jfoGTflLemQibSpeQ== -"xmldom@>= 0.1.x": - version "0.3.0" - resolved "https://registry.yarnpkg.com/xmldom/-/xmldom-0.3.0.tgz#e625457f4300b5df9c2e1ecb776147ece47f3e5a" - integrity sha512-z9s6k3wxE+aZHgXYxSTpGDo7BYOUfJsIRyoZiX6HTjwpwfS2wpQBQKa2fD+ShLyPkqDYo5ud7KitmLZ2Cd6r0g== +xmlcreate@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/xmlcreate/-/xmlcreate-2.0.4.tgz#0c5ab0f99cdd02a81065fa9cd8f8ae87624889be" + integrity sha512-nquOebG4sngPmGPICTS5EnxqhKbCmz5Ox5hsszI2T6U5qdrJizBc+0ilYSEjTSzU0yZcmvppztXe/5Al5fUwdg== xpath.js@~1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/xpath.js/-/xpath.js-1.1.0.tgz#3816a44ed4bb352091083d002a383dd5104a5ff1" integrity sha512-jg+qkfS4K8E7965sqaUl8mRngXiKb3WZGfONgE18pr03FUQiuSV6G+Ej4tS55B+rIQSFEIw3phdVAQ4pPqNWfQ== -xtend@~4.0.1: +xregexp@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/xregexp/-/xregexp-2.0.0.tgz#52a63e56ca0b84a7f3a5f3d61872f126ad7a5943" + integrity sha512-xl/50/Cf32VsGq/1R8jJE5ajH1yMCQkpmoS10QbFZWl2Oor4H0Me64Pu2yxvsRWK3m6soJbmGfzSR7BYmDcWAA== + +xtend@^4.0.0, xtend@~4.0.1: version "4.0.2" resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== y18n@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" - integrity sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w== + version "4.0.3" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf" + integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ== + +y18n@^5.0.5: + version "5.0.8" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" + integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== yallist@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" + integrity sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A== -yallist@^3.0.0, yallist@^3.0.2, yallist@^3.0.3: +yallist@^3.0.0, yallist@^3.0.2, yallist@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== @@ -8730,58 +9888,50 @@ yallist@^4.0.0: integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== yaml@^1.10.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.0.tgz#3b593add944876077d4d683fee01081bd9fff31e" - integrity sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg== + version "1.10.2" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" + integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== -yargs-parser@13.1.2, yargs-parser@^13.1.2: - version "13.1.2" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38" - integrity sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg== - dependencies: - camelcase "^5.0.0" - decamelize "^1.2.0" +yargs-parser@20.2.4: + version "20.2.4" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.4.tgz#b42890f14566796f85ae8e3a25290d205f154a54" + integrity sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA== yargs-parser@^15.0.1: - version "15.0.1" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-15.0.1.tgz#54786af40b820dcb2fb8025b11b4d659d76323b3" - integrity sha512-0OAMV2mAZQrs3FkNpDQcBk1x5HXb8X4twADss4S0Iuk+2dGnLOE/fRHrsYm542GduMveyA77OF4wrNJuanRCWw== - dependencies: - camelcase "^5.0.0" - decamelize "^1.2.0" - -yargs-parser@^18.1.2, yargs-parser@^18.1.3: - version "18.1.3" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" - integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== + version "15.0.3" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-15.0.3.tgz#316e263d5febe8b38eef61ac092b33dfcc9b1115" + integrity sha512-/MVEVjTXy/cGAjdtQf8dW3V9b97bPN7rNn8ETj6BmAQL7ibC7O1Q9SPJbGjgh3SlwoBNXMzj/ZGIj8mBgl12YA== dependencies: camelcase "^5.0.0" decamelize "^1.2.0" -yargs-unparser@1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-1.6.0.tgz#ef25c2c769ff6bd09e4b0f9d7c605fb27846ea9f" - integrity sha512-W9tKgmSn0DpSatfri0nx52Joq5hVXgeLiqR/5G0sZNDoLZFOr/xjBUDcShCOGNsBnEMNo1KAMBkTej1Hm62HTw== - dependencies: - flat "^4.1.0" - lodash "^4.17.15" - yargs "^13.3.0" +yargs-parser@^20.2.2, yargs-parser@^20.2.3, yargs-parser@^20.2.9: + version "20.2.9" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" + integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== -yargs@13.3.2, yargs@^13.3.0: - version "13.3.2" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd" - integrity sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw== +yargs-unparser@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-2.0.0.tgz#f131f9226911ae5d9ad38c432fe809366c2325eb" + integrity sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA== dependencies: - cliui "^5.0.0" - find-up "^3.0.0" - get-caller-file "^2.0.1" + camelcase "^6.0.0" + decamelize "^4.0.0" + flat "^5.0.2" + is-plain-obj "^2.1.0" + +yargs@16.2.0, yargs@^16.2.0: + version "16.2.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" + integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== + dependencies: + cliui "^7.0.2" + escalade "^3.1.1" + get-caller-file "^2.0.5" require-directory "^2.1.1" - require-main-filename "^2.0.0" - set-blocking "^2.0.0" - string-width "^3.0.0" - which-module "^2.0.0" - y18n "^4.0.0" - yargs-parser "^13.1.2" + string-width "^4.2.0" + y18n "^5.0.5" + yargs-parser "^20.2.2" yargs@^14.2.2: version "14.2.3" @@ -8800,27 +9950,10 @@ yargs@^14.2.2: y18n "^4.0.0" yargs-parser "^15.0.1" -yargs@^15.3.1: - version "15.4.1" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" - integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A== - dependencies: - cliui "^6.0.0" - decamelize "^1.2.0" - find-up "^4.1.0" - get-caller-file "^2.0.1" - require-directory "^2.1.1" - require-main-filename "^2.0.0" - set-blocking "^2.0.0" - string-width "^4.2.0" - which-module "^2.0.0" - y18n "^4.0.0" - yargs-parser "^18.1.2" - yargs@~3.10.0: version "3.10.0" resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1" - integrity sha1-9+572FfdfB0tOMDnTvvWgdFDH9E= + integrity sha512-QFzUah88GAGy9lyDKGBqZdkYApt63rCXYBGYnEP4xDJPXNqXXnBDACnbrXnViV6jRSqAePwrATi2i8mfYm4L1A== dependencies: camelcase "^1.0.2" cliui "^2.1.0" @@ -8831,3 +9964,8 @@ yn@3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== + +yocto-queue@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" + integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== From 16d411beb71d50fd4580a0572ce5a4326e62ea0d Mon Sep 17 00:00:00 2001 From: Pranjal Walia Date: Sun, 4 Sep 2022 02:10:10 +0530 Subject: [PATCH 18/19] docs: update docs for nodecloud and generator --- README.md | 13 ++++++++++--- assets/generator/high_level_diagrams/ali.png | Bin 0 -> 14556 bytes .../high_level_diagrams/ali_diagram.png | Bin 0 -> 186830 bytes generator/README.md | 12 ++++++++++++ 4 files changed, 22 insertions(+), 3 deletions(-) create mode 100644 assets/generator/high_level_diagrams/ali.png create mode 100644 assets/generator/high_level_diagrams/ali_diagram.png diff --git a/README.md b/README.md index 34788296..d951ad6f 100644 --- a/README.md +++ b/README.md @@ -99,6 +99,7 @@ const nodeCloudAwsPlugin = require("@nodecloud/aws-plugin"); const nodeCloudGcpPlugin = require("@nodecloud/gcp-plugin"); const nodeCloudAzurePlugin = require("@nodecloud/azure-plugin"); const nodeCloudDoPlugin = require("@nodecloud/do-plugin"); +const nodeCloudAliPlugin = require("@nodecloud/ali-plugin"); const providers = [ { @@ -125,8 +126,14 @@ const providers = [ name: "digitalocean", tag: "do", plugin: nodeCloudDoPlugin - } + }, + { + name: "alicloud", + tag: "alicloud", + plugin: aliplugin, + }, ]; + module.exports = providers; ``` @@ -205,7 +212,7 @@ const ncProviders = nodeCloud.getProviders(options); | Compute | IaaS | EC2 | Compute Engine | Virtual Machine | Droplets | ECS | | | Faas | AWS Lambda\* | Cloud Functions\* | Azure Functions\* | - | Function Compute\* | | | Containers | ECS, EKS | Google Kubernetes Engine | AKS, Azure Service Fabric\* | DO Kubernetes | Container Service*, Container Service for Kubernetes* | -| | Containers (without infrastructure) | AWS Fargate\* | Cloud Run\* | - | - | ECI\* | +| | Containers (without infrastructure) | AWS Fargate\* | Cloud Run\* | - | - | ECI | | | Paas | AWS Elastic Beanstalk | App Engine\* | App Service | - | Simple Application Server\* | | Storage | Object Storage | S3 | Cloud Storage | Azure Blob Storage | Spaces\* | Bucket (OSS) | | | Block Storage | EBS | Persistent Disks | Disk Storage | Volumes | NAS\* | @@ -214,7 +221,7 @@ const ncProviders = nodeCloud.getProviders(options); | | DNS | Route53 | Google Domains, Cloud DNS | Azure DNS | DO DNS | Alibaba Cloud DNS\* | | Databases | RDBMS | RDS, Amazon Aurora*, Amazon Redshift* | Cloud SQL\*, Cloud Spanner | SQL Database, Azure Database for MySQL*, Azure Database for PostgreSQL* | Managed Databases(PostgreSQL\* and MySQL) | ApsaraDB (MySQL, MariaDB TX, SQL Server, PostgreSQL) | | | NoSQL: key-value | DynamoDB | Cloud Firestore, Cloud Bigtable\* | Table Storage | Managed Databases(Redis)\* | ApsaraDB for Redis\* | -| | NoSQL: indexed | Amazon SimpleDB\* | Cloud Firestore | Cosmos DB | - | ApsaraDB for MongoDB\* | +| | NoSQL: indexed | Amazon SimpleDB\* | Cloud Firestore | Cosmos DB | - | ApsaraDB for MongoDB | | Security/ Authorization | Identity Access Management | AWS IAM | Cloud IAM\* | Azure Active Directory*, Azure Role Based Access Control* | - | Resource Access Management\* | | Management | Key Management | AWS-KMS | - | - | Do-Keys | - | diff --git a/assets/generator/high_level_diagrams/ali.png b/assets/generator/high_level_diagrams/ali.png new file mode 100644 index 0000000000000000000000000000000000000000..dda0ec1b8dc16ce8f776c0826bc226e0c500423f GIT binary patch literal 14556 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 a?^MDEKZm$VmiOO@y{m7kSAEMR{{H~7*n&?0 literal 0 HcmV?d00001 diff --git a/assets/generator/high_level_diagrams/ali_diagram.png b/assets/generator/high_level_diagrams/ali_diagram.png new file mode 100644 index 0000000000000000000000000000000000000000..68ac020bce0a4be990fda23280c7d1088fccaac0 GIT binary patch literal 186830 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

rVRt`(9H1TsDnCUKfi`?9dz$zYyDYlzXOC#&_6 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

PCO~i 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 VH7`s@NA4m1

+- AliCloud + +``` +Ali: + create: ecs index.d.ts createInstance +``` + +

+ + +

+ ## Code parsers This is the simplest part of the code generation tool. The SDK files are read from the relevant SDKs as specified in the `node-cloud.yml` file. Afterwards, it is converted to an **Abstract Syntax Tree**. Finally, the class declaration Node of that **Abstract Syntax Tree** is returned. This retured Node is another **Abstract Syntax Tree** since a class declaration itself is another **Abstract Syntax Tree**. From ab516eb3674843e5b0411cef7fc9e6443226b517 Mon Sep 17 00:00:00 2001 From: Pranjal Walia Date: Sun, 4 Sep 2022 02:26:13 +0530 Subject: [PATCH 19/19] feat: add plugin usage examples --- examples/compute/ali-eci.js | 51 +++++++++++++++++++++ examples/compute/ali-ecs.js | 58 ++++++++++++++++++++++++ examples/database/ali-nosql.js | 55 ++++++++++++++++++++++ examples/database/ali-rdbms.js | 48 ++++++++++++++++++++ examples/network/ali-slb.js | 53 ++++++++++++++++++++++ examples/storage/ali-oss.js | 83 ++++++++++++++++++++++++++++++++++ 6 files changed, 348 insertions(+) create mode 100644 examples/compute/ali-eci.js create mode 100644 examples/compute/ali-ecs.js create mode 100644 examples/database/ali-nosql.js create mode 100644 examples/database/ali-rdbms.js create mode 100644 examples/network/ali-slb.js create mode 100644 examples/storage/ali-oss.js diff --git a/examples/compute/ali-eci.js b/examples/compute/ali-eci.js new file mode 100644 index 00000000..31fe5f97 --- /dev/null +++ b/examples/compute/ali-eci.js @@ -0,0 +1,51 @@ +const nodeCloud = require('../../lib/'); +const optionsProvider = { + overrideProviders: false, +}; +const ncProviders = nodeCloud.getProviders(optionsProvider); + +// get containerInstance object for AliCloud +const containers = ncProviders.alicloud.containerInstance(); + +async function createContainerGroup() { + const instanceParams = { + regionId: 'cn-hangzhou', + containerGroupName: 'test-group-1', + container: [ + { + command: ['/bin/sh', '-c', 'echo 1'], + cpu: 1, + memory: 512, + image: 'ubuntu', + name: 'test-container-1', + }, + ], + }; + try { + const res = await containers.create(instanceParams); + console.log('All done! ', res); + } catch (err) { + console.log(`Oops something happened ${err}`); + } +} + +async function listContainerGroup() { + try { + const res = await containers.list({ regionId: 'cn-hangzhou' }); + console.log('All done! ', res); + } catch (err) { + console.log(`Oops something happened ${err}`); + } +} + +async function deleteContainerGroup() { + try { + const res = await containers.delete({ + regionId: 'cn-hangzhou', + containerGroupId: 'eci-bp1ikor0s871wa5pahke', + }); + console.log('All done! ', res); + } catch (err) { + console.log(`Oops something happened ${err}`); + } +} diff --git a/examples/compute/ali-ecs.js b/examples/compute/ali-ecs.js new file mode 100644 index 00000000..78241b4a --- /dev/null +++ b/examples/compute/ali-ecs.js @@ -0,0 +1,58 @@ +const nodeCloud = require('../../lib/'); +const optionsProvider = { + overrideProviders: false, +}; +const ncProviders = nodeCloud.getProviders(optionsProvider); + +// get compute object for AliCloud +const compute = ncProviders.alicloud.computeInstance(); + +async function createInstance() { + const instanceParams = { + regionId: 'cn-hongkong', + imageId: 'ubuntu_20_04_x64_20G_alibase_20220215.vhd', + instanceType: 'ecs.n4.large', + }; + try { + const res = await compute.create(instanceParams); + console.log('All done! ', res); + } catch (err) { + console.log(`Oops something happened ${err}`); + } +} + +async function listInstances() { + try { + const res = await compute.list({ regionId: 'cn-hongkong' }); + console.log('All done! ', res); + } catch (err) { + console.log(`Oops something happened ${err}`); + } +} + +async function destroyInstance() { + try { + const res = await compute.destroy({ instanceId: 'i-2zmq8q8' }); + console.log('All done! ', res); + } catch (err) { + console.log(`Oops something happened ${err}`); + } +} + +async function describeInstanceTypes() { + try { + const res = await compute.listInstanceTypes({ maxResults: 10 }); + console.log('All done! ', res); + } catch (err) { + console.log(`Oops something happened ${err}`); + } +} + +async function describeImageTypes() { + try { + const res = await compute.describeImages({ regionId: 'cn-hongkong' }); + console.log('All done! ', res); + } catch (err) { + console.log(`Oops something happened ${err}`); + } +} diff --git a/examples/database/ali-nosql.js b/examples/database/ali-nosql.js new file mode 100644 index 00000000..eff7d9a9 --- /dev/null +++ b/examples/database/ali-nosql.js @@ -0,0 +1,55 @@ +const nodeCloud = require('../../lib/'); +const optionsProvider = { + overrideProviders: false, +}; +const ncProviders = nodeCloud.getProviders(optionsProvider); + +// get containerInstance object for AliCloud +const nosql = ncProviders.alicloud.nosql(); + +async function createInstance() { + const instanceParams = { + regionId: 'ap-southeast-1', + engine: 'MongoDB', + engineVersion: '4.2', + DBInstanceClass: 'dds.mongo.standard', + DBInstanceStorage: 10, // GB + }; + try { + const res = await nosql.createInstance(instanceParams); + console.log('All done! ', res); + } catch (err) { + console.log(`Oops something happened ${err}`); + } +} + +async function deleteInstance() { + try { + const res = await nosql.deleteInstance({ + DBInstanceId: 'dds-gs58537d0d9724c4', + }); + console.log('All done! ', res); + } catch (err) { + console.log(`Oops something happened ${err}`); + } +} + +async function listInstances() { + try { + const res = await nosql.listInstances({}); + console.log('All done! ', res); + } catch (err) { + console.log(`Oops something happened ${err}`); + } +} + +async function describeInstance() { + try { + const res = await nosql.describeInstance({ + DBInstanceId: 'dds-gs5581f86ac37b14', + }); + console.log('All done! ', res); + } catch (err) { + console.log(`Oops something happened ${err}`); + } +} diff --git a/examples/database/ali-rdbms.js b/examples/database/ali-rdbms.js new file mode 100644 index 00000000..02b4ade1 --- /dev/null +++ b/examples/database/ali-rdbms.js @@ -0,0 +1,48 @@ +const nodeCloud = require('../../lib/'); +const optionsProvider = { + overrideProviders: false, +}; +const ncProviders = nodeCloud.getProviders(optionsProvider); + +// get containerInstance object for AliCloud +const rdbms = ncProviders.alicloud.rdbms(); + +async function createInstance() { + const instanceParams = { + DBInstanceClass: 'rds.mysql.t1.small', + regionId: 'ap-southeast-1', + engine: 'MySQL', + engineVersion: '5.6', + DBInstanceStorage: 10, + DBInstanceNetType: 'Intranet', + securityIPList: '0.0.0.0/0', + payType: 'Postpaid', + DBInstanceStorageType: 'local_ssd', + }; + try { + const res = await rdbms.createInstance(instanceParams); + console.log('All done! ', res); + } catch (err) { + console.log(`Oops something happened ${err}`); + } +} + +async function deleteInstance() { + try { + const res = await rdbms.deleteInstance({ + DBInstanceId: 'rm-1udg1v5w25c8gmpx3', + }); + console.log('All done! ', res); + } catch (err) { + console.log(`Oops something happened ${err}`); + } +} + +async function listInstances() { + try { + const res = await rdbms.listInstances({ regionId: 'ap-southeast-1' }); + console.log('All done! ', res); + } catch (err) { + console.log(`Oops something happened ${err}`); + } +} diff --git a/examples/network/ali-slb.js b/examples/network/ali-slb.js new file mode 100644 index 00000000..ab53bc77 --- /dev/null +++ b/examples/network/ali-slb.js @@ -0,0 +1,53 @@ +const nodeCloud = require('../../lib/'); +const optionsProvider = { + overrideProviders: false, +}; +const ncProviders = nodeCloud.getProviders(optionsProvider); + +// get containerInstance object for AliCloud +const loadbalancer = ncProviders.alicloud.loadbalancer(); + +async function createInstance() { + try { + const res = await loadbalancer.create( + 'cn-hangzhou', + 'test-slb', + 'slb.s1.small', + {} + ); + console.log('All done! ', res); + } catch (err) { + console.log(`Oops something happened ${err}`); + } +} + +async function deleteInstance() { + try { + const res = await loadbalancer.delete('lb-1udjouk9sqkq5lvke5cd6', {}); + console.log('All done! ', res); + } catch (err) { + console.log(`Oops something happened ${err}`); + } +} + +async function listInstances() { + try { + const res = await loadbalancer.list('cn-hangzhou', {}); + console.log('All done! ', res); + } catch (err) { + console.log(`Oops something happened ${err}`); + } +} + +async function describeInstances() { + try { + const res = await loadbalancer.describe( + 'cn-hangzhou', + 'lb-1udjouk9sqkq5lvke5cd6', + {} + ); + console.log('All done! ', res); + } catch (err) { + console.log(`Oops something happened ${err}`); + } +} diff --git a/examples/storage/ali-oss.js b/examples/storage/ali-oss.js new file mode 100644 index 00000000..32a3f696 --- /dev/null +++ b/examples/storage/ali-oss.js @@ -0,0 +1,83 @@ +const nodeCloud = require('../../lib/'); +const path = require('path'); +const optionsProvider = { + overrideProviders: false, +}; +const ncProviders = nodeCloud.getProviders(optionsProvider); + +// get bucketStorage object for AliCloud +const bucketStorage = ncProviders.alicloud.bucketStorage(); + +async function createBucket() { + try { + const res = await bucketStorage.create('unique-test-bucket-1234', { + acl: 'public-read', + dataRedundancyType: 'LRS', + storageClass: 'Standard', + timeout: 30000, + }); + console.log('All done! ', res); + } catch (err) { + console.log(`Oops something happened ${err}`); + } +} + +async function listBuckets() { + try { + const res = await bucketStorage.listBuckets({}); + console.log('All done! ', res); + } catch (err) { + console.log(`Oops something happened ${err}`); + } +} + +async function listBucketObjects() { + try { + const res = await bucketStorage.listBucketObjects( + 'unique-test-bucket-1234', + { + 'max-keys': 100, + } + ); + console.log('All done! ', res); + } catch (err) { + console.log(`Oops something happened ${err}`); + } +} + +async function uploadLocalObject() { + try { + const headers = { + // Specify the caching behavior of the web page when the object is downloaded. + 'Cache-Control': 'no-cache', + // Specify the name of the object when the object is downloaded. + 'Content-Disposition': 'oss_download.txt', + // Specify the content encoding format of the object when the object is downloaded. + 'Content-Encoding': 'UTF-8', + // Specify the expiration time. + Expires: 'Wed, 08 Jul 2022 16:57:01 GMT', + // Specify the storage class of the object. + 'x-oss-storage-class': 'Standard', + // Specify the access control list (ACL) of the object. + 'x-oss-object-acl': 'private', + // Set tags for the object. You can set multiple tags at a time. + 'x-oss-tagging': 'Tag1=1&Tag2=2', + // Specify whether the CopyObject operation overwrites the object with the same name. In this example, this parameter is set to true, which indicates that the object with the same name cannot be overwritten. + 'x-oss-forbid-overwrite': 'true', + }; + + const res = await bucketStorage.uploadLocalObject( + 'unique-test-bucket-1234', + 'test.txt', + path.normalize('absolute-file-path'), + { + headers, //Optional, Specify the headers of the object on upload + mime: 'text/plain', //Optional, Specify the content type on upload + timeout: 30000, //Optional, Specify the timeout of the request on upload + } + ); + console.log('All done! ', res); + } catch (err) { + console.log(`Oops something happened ${err}`); + } +}