@looker/sdk-codegen 21.11.3 → 26.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -107,6 +107,26 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
107
107
  * devDependencies
108
108
  * @looker/sdk-codegen-utils bumped from 21.0.32 to 21.0.33
109
109
 
110
+ ### Dependencies
111
+
112
+ * The following workspace dependencies were updated
113
+ * devDependencies
114
+ * @looker/sdk-codegen-utils bumped from 21.0.33 to 21.0.34
115
+
116
+ ## [26.12.0](https://github.com/looker-open-source/sdk-codegen/compare/sdk-codegen-v21.11.4...sdk-codegen-v26.12.0) (2026-07-13)
117
+
118
+
119
+ ### Features
120
+
121
+ * generate SDKs for Looker 26.12 ([#1734](https://github.com/looker-open-source/sdk-codegen/issues/1734)) ([854bb4f](https://github.com/looker-open-source/sdk-codegen/commit/854bb4f16096758cae4a1616f96f46ec2fbb4140))
122
+
123
+
124
+ ### Dependencies
125
+
126
+ * The following workspace dependencies were updated
127
+ * devDependencies
128
+ * @looker/sdk-codegen-utils bumped from 21.0.34 to 21.0.35
129
+
110
130
  ## [21.11.2](https://github.com/looker-open-source/sdk-codegen/compare/sdk-codegen-v21.11.1...sdk-codegen-v21.11.2) (2026-03-25)
111
131
 
112
132
 
package/lib/esm/go.gen.js CHANGED
@@ -244,11 +244,11 @@ export class GoGen extends CodeGen {
244
244
  name: 'byte'
245
245
  },
246
246
  date: {
247
- default: mt,
247
+ default: '',
248
248
  name: 'time.Time'
249
249
  },
250
250
  datetime: {
251
- default: mt,
251
+ default: '',
252
252
  name: 'time.Time'
253
253
  },
254
254
  double: {
@@ -1 +1 @@
1
- {"version":3,"file":"go.gen.js","names":["CodeGen","commentBlock","EnumType","strBody","align","str","size","num","length","repeat","AlignColumnWriter","constructor","_defineProperty","writeRow","_len","arguments","cols","Array","_key","forEach","value","index","sizes","Math","max","rows","push","toString","result","row","rowSize","col","colIndex","trimRight","GoGen","api","versions","Set","packageName","concat","apiVersion","substring","indexOf","supportsMultiApi","reserve","name","keywords","has","commentHeader","indent","text","noComment","comment","description","commentStr","sdkFileName","baseFileName","fileName","sdkPath","methodSignature","method","methodHeaderDeclaration","_method$description","streamer","undefined","mapped","typeMap","type","head","trim","headComment","httpMethod","endpoint","fragment","requestType","requestTypeName","bump","indentStr","params","args","allParams","p","declareParameter","join","paramDelimiter","responseIsBoth","responseIsBinary","deprecated","callback","retType","header","toCamelCaseCap","declareMethod","bumper","encodePathParams","httpCall","param","location","writeableType","pOpt","required","default","toCamelCase","encodings","pathParams","prefix","useRequest","doEncode","accessor","request","httpArgs","resultDef","resultPointer","capitalize","toUpperCase","apiPath","httpPath","options","body","bodyArg","nullStr","query","argGroup","queryArgs","formArgs","assignFormArgs","argFill","isFormUrlEncoded","replace","_indent","hash","arg","reserved","argDelimiter","path","vars","group","allVars","methodsEpilogue","methodsPrologue","warnEditing","modelsPrologue","goImport","modelsEpilogue","summary","_text","typeSignature","beginRegion","endRegion","mt","ktTypes","any","boolean","byte","date","datetime","double","float","int32","int64","integer","number","object","password","string","uri","url","void","elementType","map","className","mapName","Error","JSON","stringify","declareType","writer","props","propertyValues","typeName","values","declareEnumValue","enumDelimiter","typeProperties","prop","declareProperty","_unused","construct","endTypeStr","typename","quote","codeQuote","property","doc","optionalJson","optionalPointer","charAt","slice"],"sources":["../../src/go.gen.ts"],"sourcesContent":["/*\n\n MIT License\n\n Copyright (c) 2021 Looker Data Sciences, Inc.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n\n */\n\nimport type { IMappedType, IVersionInfo } from './codeGen';\nimport { CodeGen, commentBlock } from './codeGen';\nimport type {\n ApiModel,\n Arg,\n EnumValueType,\n IMethod,\n IParameter,\n IProperty,\n IType,\n} from './sdkModels';\nimport { EnumType, strBody } from './sdkModels';\n\nconst align = (str: string, size: number): string => {\n const num = size - str.length + 1;\n return str + ' '.repeat(num);\n};\n\n/**\n * AlignColumnWriter writes text aligned by column width, it is used to keep the go struct formatting consistent.\n */\nclass AlignColumnWriter {\n private rows: string[][] = [];\n private sizes: number[] = [];\n\n writeRow(...cols: string[]) {\n cols.forEach((value, index) => {\n this.sizes[index] = Math.max(this.sizes[index] || 0, value.length);\n });\n this.rows.push(cols);\n }\n\n toString(): string {\n let result = '';\n this.rows.forEach(row => {\n const rowSize = row.length;\n row.forEach((col, colIndex) => {\n result +=\n rowSize - 1 === colIndex ? col : align(col, this.sizes[colIndex]);\n });\n result = result.trimRight() + '\\n';\n });\n return result;\n }\n}\n\n/**\n * Go generator\n */\nexport class GoGen extends CodeGen {\n codePath = './go';\n fileExtension = '.go';\n nullStr = 'nil';\n packagePath = '';\n commentStr = '// ';\n\n enumDelimiter = '\\n';\n indentStr = ' ';\n endTypeStr = '}';\n codeQuote = `\"`;\n\n useNamedParameters = false;\n needsRequestTypes = true;\n\n keywords = new Set<string>([\n 'break',\n 'default',\n 'func',\n 'interface',\n 'select',\n 'case',\n 'defer',\n 'go',\n 'map',\n 'struct',\n 'chan',\n 'else',\n 'goto',\n 'package',\n 'switch',\n 'const',\n 'fallthrough',\n 'if',\n 'range',\n 'type',\n 'continue',\n 'for',\n 'import',\n 'return',\n 'var',\n ]);\n\n constructor(public api: ApiModel, public versions?: IVersionInfo) {\n super(api, versions);\n this.packageName = `v${this.apiVersion.substring(\n 0,\n this.apiVersion.indexOf('.')\n )}`;\n this.apiVersion = this.packageName;\n }\n\n supportsMultiApi(): boolean {\n return false;\n }\n\n reserve(name: string) {\n if (this.keywords.has(name)) {\n return `${name}0`;\n }\n return name;\n }\n\n commentHeader(indent: string, text: string | undefined) {\n if (this.noComment) return '';\n return text\n ? `${indent}/*\\n\\n${commentBlock(text, indent, '')}\\n${indent}*/\\n`\n : '';\n }\n\n comment(indent: string, description: string) {\n if (this.noComment) return '';\n return commentBlock(description, indent, this.commentStr);\n }\n\n sdkFileName(baseFileName: string) {\n return this.fileName(`${this.sdkPath}/${this.packageName}/${baseFileName}`);\n }\n\n methodSignature(indent: string, method: IMethod): string {\n return this.methodHeaderDeclaration(indent, method, false);\n }\n\n methodHeaderDeclaration(indent: string, method: IMethod, streamer = false) {\n const mapped = this.typeMap(method.type);\n const head = method.description?.trim();\n let headComment =\n (head ? `${head}\\n\\n` : '') +\n `${method.httpMethod} ${method.endpoint} -> ${mapped.name}`;\n let fragment = '';\n const requestType = this.requestTypeName(method);\n const bump = indent + this.indentStr;\n\n if (requestType) {\n fragment = `request ${requestType}`;\n } else {\n const params: string[] = [];\n const args = method.allParams; // get the params in signature order\n if (args && args.length > 0)\n args.forEach(p => params.push(this.declareParameter(bump, method, p)));\n fragment =\n params.length > 0 ? `\\n${params.join(this.paramDelimiter)}` : '';\n }\n if (method.responseIsBoth()) {\n headComment += `\\n\\n**Note**: Binary content may be returned by this method.\\n`;\n } else if (method.responseIsBinary()) {\n headComment += `\\n\\n**Note**: Binary content is returned by this method.\\n`;\n }\n if (method.deprecated) {\n headComment += '\\n\\nDeprecated: This method is deprecated.\\n';\n }\n const callback = `callback: (readable: Readable) => Promise<${mapped.name}>,`;\n const retType = mapped.name === 'Void' ? '' : `${mapped.name}, `;\n const header =\n this.comment('', headComment) +\n '\\n' +\n `func (l *LookerSDK) ${this.toCamelCaseCap(method.name)}(` +\n (streamer ? `\\n${bump}${callback}` : '');\n\n return (\n header +\n fragment +\n `${\n fragment ? ',' : ''\n }\\n${bump}options *rtl.ApiSettings) (${retType}error) {\\n`\n );\n }\n\n declareMethod(indent: string, method: IMethod) {\n const bump = this.bumper(indent);\n return (\n this.methodSignature(indent, method) +\n this.encodePathParams(bump, method) +\n this.httpCall(bump, method) +\n `\\n}`\n );\n }\n\n declareParameter(indent: string, method: IMethod, param: IParameter) {\n const type =\n param.location === strBody\n ? this.writeableType(param.type, method) || param.type\n : param.type;\n const mapped = this.typeMap(type);\n let pOpt = '';\n if (param.location === strBody) {\n mapped.name = `${mapped.name}`;\n }\n if (!param.required) {\n pOpt = mapped.default ? '' : '*';\n }\n return (\n // so it turns out Go doesn't like parameter comments. Go figure https://stackoverflow.com/a/67878816\n // this.commentHeader(indent, this.paramComment(param, mapped)) +\n `${indent}${this.toCamelCase(this.reserve(param.name))} ${pOpt}${\n mapped.name\n }`\n );\n }\n\n encodePathParams(indent: string, method: IMethod) {\n let encodings = '';\n if (method.pathParams.length > 0) {\n const prefix = this.useRequest(method) ? 'request' : '';\n for (const param of method.pathParams) {\n if (param.doEncode()) {\n const name = this.accessor(param.name, prefix);\n\n encodings += `${indent}${name} = url.PathEscape(${name})\\n`;\n }\n }\n }\n return encodings;\n }\n\n httpCall(indent: string, method: IMethod) {\n const request = this.useRequest(method) ? 'request' : '';\n const mapped = this.typeMap(method.type);\n const bump = indent + this.indentStr;\n const args = this.httpArgs(bump, method);\n // const errors = this.errorResponses(indent, method)\n const resultDef =\n mapped.name === 'Void' ? '' : `${indent}var result ${mapped.name}\\n`;\n const resultPointer = mapped.name === 'Void' ? 'nil' : `&result`;\n const result = mapped.name === 'Void' ? '' : 'result, ';\n return (\n `` +\n resultDef +\n `${indent}err := l.AuthSession.Do(${resultPointer}, \"${this.capitalize(\n method.httpMethod.toUpperCase()\n )}\", \"${this.apiPath}\", ${this.httpPath(method.endpoint, request)}` +\n `${args ? ', ' + args : ''})` +\n '\\n' +\n `${indent}return ${result}err` +\n '\\n'\n );\n }\n\n // build the http argument list from back to front, so trailing undefined arguments\n // can be omitted. Path arguments are resolved as part of the path parameter to general\n // purpose API method call\n // e.g.\n // {queryArgs...}, bodyArg, {headerArgs...}, {cookieArgs...}\n // {queryArgs...}, null, null, {cookieArgs...}\n // null, bodyArg\n // {queryArgs...}\n httpArgs(indent: string, method: IMethod) {\n const request = this.useRequest(method) ? 'request' : '';\n // add options at the end of the request calls. this will cause all other arguments to be\n // filled in but there's no way to avoid this for passing in the last optional parameter.\n // Fortunately, this code bloat is minimal and also hidden from the consumer.\n let options = 'options';\n let body = method.bodyArg\n ? this.accessor(method.bodyArg, request)\n : this.nullStr;\n let query = this.argGroup(indent, method.queryArgs, request);\n const formArgs = this.assignFormArgs(method, body, query, options);\n body = formArgs.body;\n query = formArgs.query;\n options = formArgs.options;\n\n let result = this.argFill('', options);\n result = this.argFill(result, body);\n result = this.argFill(result, query);\n return result;\n }\n\n assignFormArgs(\n method: IMethod,\n body: string,\n query: string,\n options: string\n ): { body: string; query: string; options: string } {\n if (method.isFormUrlEncoded) {\n body = query.replace('map[string]interface{}', 'rtl.Values');\n query = this.nullStr;\n }\n return { body, query, options };\n }\n\n argGroup(_indent: string, args: Arg[], prefix?: string) {\n if (!args || args.length === 0) return this.nullStr;\n const hash: string[] = [];\n for (const arg of args) {\n const reserved = this.reserve(arg);\n if (prefix) {\n hash.push(`\"${reserved}\": ${this.accessor(arg, prefix)}`);\n } else {\n hash.push(`\"${reserved}\": ${this.toCamelCase(reserved)}`);\n }\n }\n return `map[string]interface{}{${hash.join(this.argDelimiter)}}`;\n }\n\n httpPath(path: string, prefix?: string) {\n prefix = prefix || '';\n if (path.indexOf('{') >= 0) {\n const vars: string[] = [];\n const str = path.replace(/({.*?})/g, group => {\n vars.push(\n this.accessor(group.replace('{', '').replace('}', ''), prefix)\n );\n return '%v';\n });\n const allVars = vars.join(', ');\n return allVars ? `fmt.Sprintf(\"${str}\", ${allVars})` : `\"${str}\"`;\n }\n return `\"${path}\"`;\n }\n\n /**\n * Determine the type of accessor needed for the symbol name\n *\n * If the prefix is defined:\n * If the name is special, use array accessor\n * If the name is simple, use dotted notation\n *\n * With no prefix, return the \"reserved\" version of the name, which may be the same as name\n *\n * @param name variable to access\n * @param prefix optional prefix for accessor\n * @returns one of 4 possible accessor patterns\n */\n accessor(name: string, prefix?: string) {\n const reserved = this.reserve(this.toCamelCase(name));\n if (!prefix) return reserved;\n return `${prefix}.${this.toCamelCaseCap(name)}`;\n // if (reserved === name) return `${prefix}.${name}`\n // return `${prefix}[${reserved}]`\n }\n\n methodsEpilogue(_indent: string): string {\n return '';\n }\n\n methodsPrologue(_indent: string): string {\n return `\n// ${this.warnEditing()}\n\npackage ${this.packageName}\n\nimport (\n \"fmt\"\n \"net/url\"\n \"time\"\n\n \"github.com/looker-open-source/sdk-codegen/go/rtl\"\n)\n\ntype AuthSessionDoer interface {\n Do(result interface{}, method, ver, path string, reqPars map[string]interface{}, body interface{}, options *rtl.ApiSettings) error\n}\n\ntype LookerSDK struct {\n AuthSession AuthSessionDoer\n}\n\nfunc NewLookerSDK(session AuthSessionDoer) *LookerSDK {\n return &LookerSDK{\n AuthSession: session,\n }\n}\n`;\n }\n\n modelsPrologue(_indent: string) {\n const goImport = `\nimport (\n \"github.com/looker-open-source/sdk-codegen/go/rtl\"\n \"time\"\n)`;\n\n return `\n// ${this.warnEditing()}\n\npackage ${this.packageName}\n${goImport}\n`;\n }\n\n modelsEpilogue(_indent: string): string {\n return '';\n }\n\n summary(_indent: string, _text: string | undefined): string {\n return '';\n }\n\n typeSignature(indent: string, type: IType): string {\n return (\n this.comment(indent, type.description) +\n '\\n' +\n `${indent}type ${type.name} struct {\\n`\n );\n }\n\n beginRegion(indent: string, description: string): string {\n return `${indent}// region ${description}`;\n }\n\n endRegion(indent: string, description: string): string {\n return `${indent}// endregion ${description}`;\n }\n\n typeMap(type: IType): IMappedType {\n super.typeMap(type);\n const mt = this.nullStr;\n const ktTypes: Record<string, IMappedType> = {\n any: { default: mt, name: 'interface{}' },\n boolean: { default: mt, name: 'bool' },\n byte: { default: mt, name: 'byte' },\n date: { default: mt, name: 'time.Time' },\n datetime: { default: mt, name: 'time.Time' },\n double: { default: mt, name: 'float64' },\n float: { default: mt, name: 'float32' },\n int32: { default: mt, name: 'int32' },\n int64: { default: mt, name: 'int64' },\n integer: { default: mt, name: 'int' },\n number: { default: mt, name: 'float64' },\n object: { default: mt, name: 'interface{}' },\n password: { default: mt, name: 'string' },\n string: { default: mt, name: 'string' },\n uri: { default: mt, name: 'url.URL' },\n url: { default: mt, name: 'url.URL' },\n void: { default: mt, name: 'Void' }, // todo: check how to handle Void\n };\n\n if (type.elementType) {\n // This is a structure with nested types\n const map = this.typeMap(type.elementType);\n switch (type.className) {\n case 'ArrayType':\n return { default: this.nullStr, name: `[]${map.name}` };\n case 'HashType': {\n const mapName =\n type.elementType.name === 'string' ? 'interface{}' : map.name; // TODO fix bad API spec, like MergeQuery vis_config\n // TODO figure out this bizarre string template error either in IntelliJ or TypeScript\n // return {name: `Map<String,${map.name}>`, default: '{}'}\n return {\n default: this.nullStr,\n name: 'map[string]' + `${mapName}`,\n };\n }\n case 'DelimArrayType':\n return {\n default: this.nullStr,\n name: `rtl.Delim${this.capitalize(map.name)}`,\n };\n case 'EnumType':\n return { default: '', name: this.capitalize(type.name) };\n }\n throw new Error(`Don't know how to handle: ${JSON.stringify(type)}`);\n }\n\n if (type.name) {\n return (\n ktTypes[type.name] || { default: this.nullStr, name: `${type.name}` }\n );\n } else {\n throw new Error('Cannot output a nameless type.');\n }\n }\n\n declareType(indent: string, type: IType) {\n const bump = this.bumper(indent);\n\n const writer = new AlignColumnWriter();\n\n try {\n if (type instanceof EnumType) {\n // enum has special handling\n const props: string[] = [];\n let propertyValues = '';\n const num = type as EnumType;\n const typeName = this.capitalize(type.name);\n props.push(`type ${typeName} string`); // todo: handle other types than string\n num.values.forEach(value => {\n // props.push(this.declareEnumValue(bump, value, typeName))\n this.declareEnumValue(bump, value, typeName, writer);\n });\n props.push(writer.toString());\n propertyValues = props.join(this.enumDelimiter);\n\n return propertyValues;\n } else {\n this.typeProperties(type).forEach(prop =>\n // props.push(this.declareProperty(bump, prop))\n this.declareProperty(bump, prop, writer)\n );\n // propertyValues = props.join(this.propDelimiter)\n }\n } catch {\n throw new Error(JSON.stringify(type, null, 2));\n }\n return (\n this.typeSignature(indent, type) +\n writer.toString() +\n this.construct(indent, type) +\n `${this.endTypeStr ? indent : ''}${this.endTypeStr}`\n );\n }\n\n declareEnumValue(\n _indent: string,\n value: EnumValueType,\n typename?: string,\n writer?: AlignColumnWriter\n ) {\n const quote = typeof value === 'string' ? this.codeQuote : '';\n const name = `${typename}_${this.toCamelCaseCap(value.toString())}`;\n if (writer) {\n writer.writeRow(\n 'const',\n name,\n typename || '',\n '=',\n `${quote}${value}${quote}`\n );\n }\n return `const ${name} ${typename} = ${quote}${value}${quote}`;\n }\n\n declareProperty(\n indent: string,\n property: IProperty,\n writer?: AlignColumnWriter\n ): string {\n const type = this.typeMap(property.type);\n const name = this.toCamelCaseCap(property.name);\n const typeName = type.name;\n\n const doc = property.description\n ? `${this.comment(' ', property.description)}`\n : '';\n\n const optionalJson = property.required ? '' : ',omitempty';\n const optionalPointer = property.required ? '' : '*';\n\n if (writer) {\n writer.writeRow(\n `${indent}${name}`,\n `${optionalPointer}${typeName}`,\n `\\`json:\"${property.name}${optionalJson}\"\\``,\n doc\n );\n }\n return ``;\n }\n\n capitalize(str: string): string {\n return str.charAt(0).toUpperCase() + str.slice(1);\n }\n\n toCamelCaseCap(str: string): string {\n return this.capitalize(\n str.replace(/([-_][a-z])/g, group =>\n group.toUpperCase().replace('-', '').replace('_', '')\n )\n );\n }\n\n toCamelCase(str: string): string {\n return str.replace(/([-_][a-z])/g, group =>\n group.toUpperCase().replace('-', '').replace('_', '')\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"go.gen.js","names":["CodeGen","commentBlock","EnumType","strBody","align","str","size","num","length","repeat","AlignColumnWriter","constructor","_defineProperty","writeRow","_len","arguments","cols","Array","_key","forEach","value","index","sizes","Math","max","rows","push","toString","result","row","rowSize","col","colIndex","trimRight","GoGen","api","versions","Set","packageName","concat","apiVersion","substring","indexOf","supportsMultiApi","reserve","name","keywords","has","commentHeader","indent","text","noComment","comment","description","commentStr","sdkFileName","baseFileName","fileName","sdkPath","methodSignature","method","methodHeaderDeclaration","_method$description","streamer","undefined","mapped","typeMap","type","head","trim","headComment","httpMethod","endpoint","fragment","requestType","requestTypeName","bump","indentStr","params","args","allParams","p","declareParameter","join","paramDelimiter","responseIsBoth","responseIsBinary","deprecated","callback","retType","header","toCamelCaseCap","declareMethod","bumper","encodePathParams","httpCall","param","location","writeableType","pOpt","required","default","toCamelCase","encodings","pathParams","prefix","useRequest","doEncode","accessor","request","httpArgs","resultDef","resultPointer","capitalize","toUpperCase","apiPath","httpPath","options","body","bodyArg","nullStr","query","argGroup","queryArgs","formArgs","assignFormArgs","argFill","isFormUrlEncoded","replace","_indent","hash","arg","reserved","argDelimiter","path","vars","group","allVars","methodsEpilogue","methodsPrologue","warnEditing","modelsPrologue","goImport","modelsEpilogue","summary","_text","typeSignature","beginRegion","endRegion","mt","ktTypes","any","boolean","byte","date","datetime","double","float","int32","int64","integer","number","object","password","string","uri","url","void","elementType","map","className","mapName","Error","JSON","stringify","declareType","writer","props","propertyValues","typeName","values","declareEnumValue","enumDelimiter","typeProperties","prop","declareProperty","_unused","construct","endTypeStr","typename","quote","codeQuote","property","doc","optionalJson","optionalPointer","charAt","slice"],"sources":["../../src/go.gen.ts"],"sourcesContent":["/*\n\n MIT License\n\n Copyright (c) 2021 Looker Data Sciences, Inc.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n\n */\n\nimport type { IMappedType, IVersionInfo } from './codeGen';\nimport { CodeGen, commentBlock } from './codeGen';\nimport type {\n ApiModel,\n Arg,\n EnumValueType,\n IMethod,\n IParameter,\n IProperty,\n IType,\n} from './sdkModels';\nimport { EnumType, strBody } from './sdkModels';\n\nconst align = (str: string, size: number): string => {\n const num = size - str.length + 1;\n return str + ' '.repeat(num);\n};\n\n/**\n * AlignColumnWriter writes text aligned by column width, it is used to keep the go struct formatting consistent.\n */\nclass AlignColumnWriter {\n private rows: string[][] = [];\n private sizes: number[] = [];\n\n writeRow(...cols: string[]) {\n cols.forEach((value, index) => {\n this.sizes[index] = Math.max(this.sizes[index] || 0, value.length);\n });\n this.rows.push(cols);\n }\n\n toString(): string {\n let result = '';\n this.rows.forEach(row => {\n const rowSize = row.length;\n row.forEach((col, colIndex) => {\n result +=\n rowSize - 1 === colIndex ? col : align(col, this.sizes[colIndex]);\n });\n result = result.trimRight() + '\\n';\n });\n return result;\n }\n}\n\n/**\n * Go generator\n */\nexport class GoGen extends CodeGen {\n codePath = './go';\n fileExtension = '.go';\n nullStr = 'nil';\n packagePath = '';\n commentStr = '// ';\n\n enumDelimiter = '\\n';\n indentStr = ' ';\n endTypeStr = '}';\n codeQuote = `\"`;\n\n useNamedParameters = false;\n needsRequestTypes = true;\n\n keywords = new Set<string>([\n 'break',\n 'default',\n 'func',\n 'interface',\n 'select',\n 'case',\n 'defer',\n 'go',\n 'map',\n 'struct',\n 'chan',\n 'else',\n 'goto',\n 'package',\n 'switch',\n 'const',\n 'fallthrough',\n 'if',\n 'range',\n 'type',\n 'continue',\n 'for',\n 'import',\n 'return',\n 'var',\n ]);\n\n constructor(public api: ApiModel, public versions?: IVersionInfo) {\n super(api, versions);\n this.packageName = `v${this.apiVersion.substring(\n 0,\n this.apiVersion.indexOf('.')\n )}`;\n this.apiVersion = this.packageName;\n }\n\n supportsMultiApi(): boolean {\n return false;\n }\n\n reserve(name: string) {\n if (this.keywords.has(name)) {\n return `${name}0`;\n }\n return name;\n }\n\n commentHeader(indent: string, text: string | undefined) {\n if (this.noComment) return '';\n return text\n ? `${indent}/*\\n\\n${commentBlock(text, indent, '')}\\n${indent}*/\\n`\n : '';\n }\n\n comment(indent: string, description: string) {\n if (this.noComment) return '';\n return commentBlock(description, indent, this.commentStr);\n }\n\n sdkFileName(baseFileName: string) {\n return this.fileName(`${this.sdkPath}/${this.packageName}/${baseFileName}`);\n }\n\n methodSignature(indent: string, method: IMethod): string {\n return this.methodHeaderDeclaration(indent, method, false);\n }\n\n methodHeaderDeclaration(indent: string, method: IMethod, streamer = false) {\n const mapped = this.typeMap(method.type);\n const head = method.description?.trim();\n let headComment =\n (head ? `${head}\\n\\n` : '') +\n `${method.httpMethod} ${method.endpoint} -> ${mapped.name}`;\n let fragment = '';\n const requestType = this.requestTypeName(method);\n const bump = indent + this.indentStr;\n\n if (requestType) {\n fragment = `request ${requestType}`;\n } else {\n const params: string[] = [];\n const args = method.allParams; // get the params in signature order\n if (args && args.length > 0)\n args.forEach(p => params.push(this.declareParameter(bump, method, p)));\n fragment =\n params.length > 0 ? `\\n${params.join(this.paramDelimiter)}` : '';\n }\n if (method.responseIsBoth()) {\n headComment += `\\n\\n**Note**: Binary content may be returned by this method.\\n`;\n } else if (method.responseIsBinary()) {\n headComment += `\\n\\n**Note**: Binary content is returned by this method.\\n`;\n }\n if (method.deprecated) {\n headComment += '\\n\\nDeprecated: This method is deprecated.\\n';\n }\n const callback = `callback: (readable: Readable) => Promise<${mapped.name}>,`;\n const retType = mapped.name === 'Void' ? '' : `${mapped.name}, `;\n const header =\n this.comment('', headComment) +\n '\\n' +\n `func (l *LookerSDK) ${this.toCamelCaseCap(method.name)}(` +\n (streamer ? `\\n${bump}${callback}` : '');\n\n return (\n header +\n fragment +\n `${\n fragment ? ',' : ''\n }\\n${bump}options *rtl.ApiSettings) (${retType}error) {\\n`\n );\n }\n\n declareMethod(indent: string, method: IMethod) {\n const bump = this.bumper(indent);\n return (\n this.methodSignature(indent, method) +\n this.encodePathParams(bump, method) +\n this.httpCall(bump, method) +\n `\\n}`\n );\n }\n\n declareParameter(indent: string, method: IMethod, param: IParameter) {\n const type =\n param.location === strBody\n ? this.writeableType(param.type, method) || param.type\n : param.type;\n const mapped = this.typeMap(type);\n let pOpt = '';\n if (param.location === strBody) {\n mapped.name = `${mapped.name}`;\n }\n if (!param.required) {\n pOpt = mapped.default ? '' : '*';\n }\n return (\n // so it turns out Go doesn't like parameter comments. Go figure https://stackoverflow.com/a/67878816\n // this.commentHeader(indent, this.paramComment(param, mapped)) +\n `${indent}${this.toCamelCase(this.reserve(param.name))} ${pOpt}${\n mapped.name\n }`\n );\n }\n\n encodePathParams(indent: string, method: IMethod) {\n let encodings = '';\n if (method.pathParams.length > 0) {\n const prefix = this.useRequest(method) ? 'request' : '';\n for (const param of method.pathParams) {\n if (param.doEncode()) {\n const name = this.accessor(param.name, prefix);\n\n encodings += `${indent}${name} = url.PathEscape(${name})\\n`;\n }\n }\n }\n return encodings;\n }\n\n httpCall(indent: string, method: IMethod) {\n const request = this.useRequest(method) ? 'request' : '';\n const mapped = this.typeMap(method.type);\n const bump = indent + this.indentStr;\n const args = this.httpArgs(bump, method);\n // const errors = this.errorResponses(indent, method)\n const resultDef =\n mapped.name === 'Void' ? '' : `${indent}var result ${mapped.name}\\n`;\n const resultPointer = mapped.name === 'Void' ? 'nil' : `&result`;\n const result = mapped.name === 'Void' ? '' : 'result, ';\n return (\n `` +\n resultDef +\n `${indent}err := l.AuthSession.Do(${resultPointer}, \"${this.capitalize(\n method.httpMethod.toUpperCase()\n )}\", \"${this.apiPath}\", ${this.httpPath(method.endpoint, request)}` +\n `${args ? ', ' + args : ''})` +\n '\\n' +\n `${indent}return ${result}err` +\n '\\n'\n );\n }\n\n // build the http argument list from back to front, so trailing undefined arguments\n // can be omitted. Path arguments are resolved as part of the path parameter to general\n // purpose API method call\n // e.g.\n // {queryArgs...}, bodyArg, {headerArgs...}, {cookieArgs...}\n // {queryArgs...}, null, null, {cookieArgs...}\n // null, bodyArg\n // {queryArgs...}\n httpArgs(indent: string, method: IMethod) {\n const request = this.useRequest(method) ? 'request' : '';\n // add options at the end of the request calls. this will cause all other arguments to be\n // filled in but there's no way to avoid this for passing in the last optional parameter.\n // Fortunately, this code bloat is minimal and also hidden from the consumer.\n let options = 'options';\n let body = method.bodyArg\n ? this.accessor(method.bodyArg, request)\n : this.nullStr;\n let query = this.argGroup(indent, method.queryArgs, request);\n const formArgs = this.assignFormArgs(method, body, query, options);\n body = formArgs.body;\n query = formArgs.query;\n options = formArgs.options;\n\n let result = this.argFill('', options);\n result = this.argFill(result, body);\n result = this.argFill(result, query);\n return result;\n }\n\n assignFormArgs(\n method: IMethod,\n body: string,\n query: string,\n options: string\n ): { body: string; query: string; options: string } {\n if (method.isFormUrlEncoded) {\n body = query.replace('map[string]interface{}', 'rtl.Values');\n query = this.nullStr;\n }\n return { body, query, options };\n }\n\n argGroup(_indent: string, args: Arg[], prefix?: string) {\n if (!args || args.length === 0) return this.nullStr;\n const hash: string[] = [];\n for (const arg of args) {\n const reserved = this.reserve(arg);\n if (prefix) {\n hash.push(`\"${reserved}\": ${this.accessor(arg, prefix)}`);\n } else {\n hash.push(`\"${reserved}\": ${this.toCamelCase(reserved)}`);\n }\n }\n return `map[string]interface{}{${hash.join(this.argDelimiter)}}`;\n }\n\n httpPath(path: string, prefix?: string) {\n prefix = prefix || '';\n if (path.indexOf('{') >= 0) {\n const vars: string[] = [];\n const str = path.replace(/({.*?})/g, group => {\n vars.push(\n this.accessor(group.replace('{', '').replace('}', ''), prefix)\n );\n return '%v';\n });\n const allVars = vars.join(', ');\n return allVars ? `fmt.Sprintf(\"${str}\", ${allVars})` : `\"${str}\"`;\n }\n return `\"${path}\"`;\n }\n\n /**\n * Determine the type of accessor needed for the symbol name\n *\n * If the prefix is defined:\n * If the name is special, use array accessor\n * If the name is simple, use dotted notation\n *\n * With no prefix, return the \"reserved\" version of the name, which may be the same as name\n *\n * @param name variable to access\n * @param prefix optional prefix for accessor\n * @returns one of 4 possible accessor patterns\n */\n accessor(name: string, prefix?: string) {\n const reserved = this.reserve(this.toCamelCase(name));\n if (!prefix) return reserved;\n return `${prefix}.${this.toCamelCaseCap(name)}`;\n // if (reserved === name) return `${prefix}.${name}`\n // return `${prefix}[${reserved}]`\n }\n\n methodsEpilogue(_indent: string): string {\n return '';\n }\n\n methodsPrologue(_indent: string): string {\n return `\n// ${this.warnEditing()}\n\npackage ${this.packageName}\n\nimport (\n \"fmt\"\n \"net/url\"\n \"time\"\n\n \"github.com/looker-open-source/sdk-codegen/go/rtl\"\n)\n\ntype AuthSessionDoer interface {\n Do(result interface{}, method, ver, path string, reqPars map[string]interface{}, body interface{}, options *rtl.ApiSettings) error\n}\n\ntype LookerSDK struct {\n AuthSession AuthSessionDoer\n}\n\nfunc NewLookerSDK(session AuthSessionDoer) *LookerSDK {\n return &LookerSDK{\n AuthSession: session,\n }\n}\n`;\n }\n\n modelsPrologue(_indent: string) {\n const goImport = `\nimport (\n \"github.com/looker-open-source/sdk-codegen/go/rtl\"\n \"time\"\n)`;\n\n return `\n// ${this.warnEditing()}\n\npackage ${this.packageName}\n${goImport}\n`;\n }\n\n modelsEpilogue(_indent: string): string {\n return '';\n }\n\n summary(_indent: string, _text: string | undefined): string {\n return '';\n }\n\n typeSignature(indent: string, type: IType): string {\n return (\n this.comment(indent, type.description) +\n '\\n' +\n `${indent}type ${type.name} struct {\\n`\n );\n }\n\n beginRegion(indent: string, description: string): string {\n return `${indent}// region ${description}`;\n }\n\n endRegion(indent: string, description: string): string {\n return `${indent}// endregion ${description}`;\n }\n\n typeMap(type: IType): IMappedType {\n super.typeMap(type);\n const mt = this.nullStr;\n const ktTypes: Record<string, IMappedType> = {\n any: { default: mt, name: 'interface{}' },\n boolean: { default: mt, name: 'bool' },\n byte: { default: mt, name: 'byte' },\n date: { default: '', name: 'time.Time' },\n datetime: { default: '', name: 'time.Time' },\n double: { default: mt, name: 'float64' },\n float: { default: mt, name: 'float32' },\n int32: { default: mt, name: 'int32' },\n int64: { default: mt, name: 'int64' },\n integer: { default: mt, name: 'int' },\n number: { default: mt, name: 'float64' },\n object: { default: mt, name: 'interface{}' },\n password: { default: mt, name: 'string' },\n string: { default: mt, name: 'string' },\n uri: { default: mt, name: 'url.URL' },\n url: { default: mt, name: 'url.URL' },\n void: { default: mt, name: 'Void' }, // todo: check how to handle Void\n };\n\n if (type.elementType) {\n // This is a structure with nested types\n const map = this.typeMap(type.elementType);\n switch (type.className) {\n case 'ArrayType':\n return { default: this.nullStr, name: `[]${map.name}` };\n case 'HashType': {\n const mapName =\n type.elementType.name === 'string' ? 'interface{}' : map.name; // TODO fix bad API spec, like MergeQuery vis_config\n // TODO figure out this bizarre string template error either in IntelliJ or TypeScript\n // return {name: `Map<String,${map.name}>`, default: '{}'}\n return {\n default: this.nullStr,\n name: 'map[string]' + `${mapName}`,\n };\n }\n case 'DelimArrayType':\n return {\n default: this.nullStr,\n name: `rtl.Delim${this.capitalize(map.name)}`,\n };\n case 'EnumType':\n return { default: '', name: this.capitalize(type.name) };\n }\n throw new Error(`Don't know how to handle: ${JSON.stringify(type)}`);\n }\n\n if (type.name) {\n return (\n ktTypes[type.name] || { default: this.nullStr, name: `${type.name}` }\n );\n } else {\n throw new Error('Cannot output a nameless type.');\n }\n }\n\n declareType(indent: string, type: IType) {\n const bump = this.bumper(indent);\n\n const writer = new AlignColumnWriter();\n\n try {\n if (type instanceof EnumType) {\n // enum has special handling\n const props: string[] = [];\n let propertyValues = '';\n const num = type as EnumType;\n const typeName = this.capitalize(type.name);\n props.push(`type ${typeName} string`); // todo: handle other types than string\n num.values.forEach(value => {\n // props.push(this.declareEnumValue(bump, value, typeName))\n this.declareEnumValue(bump, value, typeName, writer);\n });\n props.push(writer.toString());\n propertyValues = props.join(this.enumDelimiter);\n\n return propertyValues;\n } else {\n this.typeProperties(type).forEach(prop =>\n // props.push(this.declareProperty(bump, prop))\n this.declareProperty(bump, prop, writer)\n );\n // propertyValues = props.join(this.propDelimiter)\n }\n } catch {\n throw new Error(JSON.stringify(type, null, 2));\n }\n return (\n this.typeSignature(indent, type) +\n writer.toString() +\n this.construct(indent, type) +\n `${this.endTypeStr ? indent : ''}${this.endTypeStr}`\n );\n }\n\n declareEnumValue(\n _indent: string,\n value: EnumValueType,\n typename?: string,\n writer?: AlignColumnWriter\n ) {\n const quote = typeof value === 'string' ? this.codeQuote : '';\n const name = `${typename}_${this.toCamelCaseCap(value.toString())}`;\n if (writer) {\n writer.writeRow(\n 'const',\n name,\n typename || '',\n '=',\n `${quote}${value}${quote}`\n );\n }\n return `const ${name} ${typename} = ${quote}${value}${quote}`;\n }\n\n declareProperty(\n indent: string,\n property: IProperty,\n writer?: AlignColumnWriter\n ): string {\n const type = this.typeMap(property.type);\n const name = this.toCamelCaseCap(property.name);\n const typeName = type.name;\n\n const doc = property.description\n ? `${this.comment(' ', property.description)}`\n : '';\n\n const optionalJson = property.required ? '' : ',omitempty';\n const optionalPointer = property.required ? '' : '*';\n\n if (writer) {\n writer.writeRow(\n `${indent}${name}`,\n `${optionalPointer}${typeName}`,\n `\\`json:\"${property.name}${optionalJson}\"\\``,\n doc\n );\n }\n return ``;\n }\n\n capitalize(str: string): string {\n return str.charAt(0).toUpperCase() + str.slice(1);\n }\n\n toCamelCaseCap(str: string): string {\n return this.capitalize(\n str.replace(/([-_][a-z])/g, group =>\n group.toUpperCase().replace('-', '').replace('_', '')\n )\n );\n }\n\n toCamelCase(str: string): string {\n return str.replace(/([-_][a-z])/g, group =>\n group.toUpperCase().replace('-', '').replace('_', '')\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
package/lib/go.gen.js CHANGED
@@ -250,11 +250,11 @@ class GoGen extends _codeGen.CodeGen {
250
250
  name: 'byte'
251
251
  },
252
252
  date: {
253
- default: mt,
253
+ default: '',
254
254
  name: 'time.Time'
255
255
  },
256
256
  datetime: {
257
- default: mt,
257
+ default: '',
258
258
  name: 'time.Time'
259
259
  },
260
260
  double: {
package/lib/go.gen.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"go.gen.js","names":["_codeGen","require","_sdkModels","_defineProperty","e","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","align","str","size","num","length","repeat","AlignColumnWriter","constructor","writeRow","_len","arguments","cols","Array","_key","forEach","index","sizes","Math","max","rows","push","toString","result","row","rowSize","col","colIndex","trimRight","GoGen","CodeGen","api","versions","Set","packageName","concat","apiVersion","substring","indexOf","supportsMultiApi","reserve","name","keywords","has","commentHeader","indent","text","noComment","commentBlock","comment","description","commentStr","sdkFileName","baseFileName","fileName","sdkPath","methodSignature","method","methodHeaderDeclaration","_method$description","streamer","undefined","mapped","typeMap","type","head","trim","headComment","httpMethod","endpoint","fragment","requestType","requestTypeName","bump","indentStr","params","args","allParams","p","declareParameter","join","paramDelimiter","responseIsBoth","responseIsBinary","deprecated","callback","retType","header","toCamelCaseCap","declareMethod","bumper","encodePathParams","httpCall","param","location","strBody","writeableType","pOpt","required","default","toCamelCase","encodings","pathParams","prefix","useRequest","doEncode","accessor","request","httpArgs","resultDef","resultPointer","capitalize","toUpperCase","apiPath","httpPath","options","body","bodyArg","nullStr","query","argGroup","queryArgs","formArgs","assignFormArgs","argFill","isFormUrlEncoded","replace","_indent","hash","arg","reserved","argDelimiter","path","vars","group","allVars","methodsEpilogue","methodsPrologue","warnEditing","modelsPrologue","goImport","modelsEpilogue","summary","_text","typeSignature","beginRegion","endRegion","mt","ktTypes","any","boolean","byte","date","datetime","double","float","int32","int64","integer","number","object","password","string","uri","url","void","elementType","map","className","mapName","Error","JSON","stringify","declareType","writer","EnumType","props","propertyValues","typeName","values","declareEnumValue","enumDelimiter","typeProperties","prop","declareProperty","_unused","construct","endTypeStr","typename","quote","codeQuote","property","doc","optionalJson","optionalPointer","charAt","slice","exports"],"sources":["../src/go.gen.ts"],"sourcesContent":["/*\n\n MIT License\n\n Copyright (c) 2021 Looker Data Sciences, Inc.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n\n */\n\nimport type { IMappedType, IVersionInfo } from './codeGen';\nimport { CodeGen, commentBlock } from './codeGen';\nimport type {\n ApiModel,\n Arg,\n EnumValueType,\n IMethod,\n IParameter,\n IProperty,\n IType,\n} from './sdkModels';\nimport { EnumType, strBody } from './sdkModels';\n\nconst align = (str: string, size: number): string => {\n const num = size - str.length + 1;\n return str + ' '.repeat(num);\n};\n\n/**\n * AlignColumnWriter writes text aligned by column width, it is used to keep the go struct formatting consistent.\n */\nclass AlignColumnWriter {\n private rows: string[][] = [];\n private sizes: number[] = [];\n\n writeRow(...cols: string[]) {\n cols.forEach((value, index) => {\n this.sizes[index] = Math.max(this.sizes[index] || 0, value.length);\n });\n this.rows.push(cols);\n }\n\n toString(): string {\n let result = '';\n this.rows.forEach(row => {\n const rowSize = row.length;\n row.forEach((col, colIndex) => {\n result +=\n rowSize - 1 === colIndex ? col : align(col, this.sizes[colIndex]);\n });\n result = result.trimRight() + '\\n';\n });\n return result;\n }\n}\n\n/**\n * Go generator\n */\nexport class GoGen extends CodeGen {\n codePath = './go';\n fileExtension = '.go';\n nullStr = 'nil';\n packagePath = '';\n commentStr = '// ';\n\n enumDelimiter = '\\n';\n indentStr = ' ';\n endTypeStr = '}';\n codeQuote = `\"`;\n\n useNamedParameters = false;\n needsRequestTypes = true;\n\n keywords = new Set<string>([\n 'break',\n 'default',\n 'func',\n 'interface',\n 'select',\n 'case',\n 'defer',\n 'go',\n 'map',\n 'struct',\n 'chan',\n 'else',\n 'goto',\n 'package',\n 'switch',\n 'const',\n 'fallthrough',\n 'if',\n 'range',\n 'type',\n 'continue',\n 'for',\n 'import',\n 'return',\n 'var',\n ]);\n\n constructor(public api: ApiModel, public versions?: IVersionInfo) {\n super(api, versions);\n this.packageName = `v${this.apiVersion.substring(\n 0,\n this.apiVersion.indexOf('.')\n )}`;\n this.apiVersion = this.packageName;\n }\n\n supportsMultiApi(): boolean {\n return false;\n }\n\n reserve(name: string) {\n if (this.keywords.has(name)) {\n return `${name}0`;\n }\n return name;\n }\n\n commentHeader(indent: string, text: string | undefined) {\n if (this.noComment) return '';\n return text\n ? `${indent}/*\\n\\n${commentBlock(text, indent, '')}\\n${indent}*/\\n`\n : '';\n }\n\n comment(indent: string, description: string) {\n if (this.noComment) return '';\n return commentBlock(description, indent, this.commentStr);\n }\n\n sdkFileName(baseFileName: string) {\n return this.fileName(`${this.sdkPath}/${this.packageName}/${baseFileName}`);\n }\n\n methodSignature(indent: string, method: IMethod): string {\n return this.methodHeaderDeclaration(indent, method, false);\n }\n\n methodHeaderDeclaration(indent: string, method: IMethod, streamer = false) {\n const mapped = this.typeMap(method.type);\n const head = method.description?.trim();\n let headComment =\n (head ? `${head}\\n\\n` : '') +\n `${method.httpMethod} ${method.endpoint} -> ${mapped.name}`;\n let fragment = '';\n const requestType = this.requestTypeName(method);\n const bump = indent + this.indentStr;\n\n if (requestType) {\n fragment = `request ${requestType}`;\n } else {\n const params: string[] = [];\n const args = method.allParams; // get the params in signature order\n if (args && args.length > 0)\n args.forEach(p => params.push(this.declareParameter(bump, method, p)));\n fragment =\n params.length > 0 ? `\\n${params.join(this.paramDelimiter)}` : '';\n }\n if (method.responseIsBoth()) {\n headComment += `\\n\\n**Note**: Binary content may be returned by this method.\\n`;\n } else if (method.responseIsBinary()) {\n headComment += `\\n\\n**Note**: Binary content is returned by this method.\\n`;\n }\n if (method.deprecated) {\n headComment += '\\n\\nDeprecated: This method is deprecated.\\n';\n }\n const callback = `callback: (readable: Readable) => Promise<${mapped.name}>,`;\n const retType = mapped.name === 'Void' ? '' : `${mapped.name}, `;\n const header =\n this.comment('', headComment) +\n '\\n' +\n `func (l *LookerSDK) ${this.toCamelCaseCap(method.name)}(` +\n (streamer ? `\\n${bump}${callback}` : '');\n\n return (\n header +\n fragment +\n `${\n fragment ? ',' : ''\n }\\n${bump}options *rtl.ApiSettings) (${retType}error) {\\n`\n );\n }\n\n declareMethod(indent: string, method: IMethod) {\n const bump = this.bumper(indent);\n return (\n this.methodSignature(indent, method) +\n this.encodePathParams(bump, method) +\n this.httpCall(bump, method) +\n `\\n}`\n );\n }\n\n declareParameter(indent: string, method: IMethod, param: IParameter) {\n const type =\n param.location === strBody\n ? this.writeableType(param.type, method) || param.type\n : param.type;\n const mapped = this.typeMap(type);\n let pOpt = '';\n if (param.location === strBody) {\n mapped.name = `${mapped.name}`;\n }\n if (!param.required) {\n pOpt = mapped.default ? '' : '*';\n }\n return (\n // so it turns out Go doesn't like parameter comments. Go figure https://stackoverflow.com/a/67878816\n // this.commentHeader(indent, this.paramComment(param, mapped)) +\n `${indent}${this.toCamelCase(this.reserve(param.name))} ${pOpt}${\n mapped.name\n }`\n );\n }\n\n encodePathParams(indent: string, method: IMethod) {\n let encodings = '';\n if (method.pathParams.length > 0) {\n const prefix = this.useRequest(method) ? 'request' : '';\n for (const param of method.pathParams) {\n if (param.doEncode()) {\n const name = this.accessor(param.name, prefix);\n\n encodings += `${indent}${name} = url.PathEscape(${name})\\n`;\n }\n }\n }\n return encodings;\n }\n\n httpCall(indent: string, method: IMethod) {\n const request = this.useRequest(method) ? 'request' : '';\n const mapped = this.typeMap(method.type);\n const bump = indent + this.indentStr;\n const args = this.httpArgs(bump, method);\n // const errors = this.errorResponses(indent, method)\n const resultDef =\n mapped.name === 'Void' ? '' : `${indent}var result ${mapped.name}\\n`;\n const resultPointer = mapped.name === 'Void' ? 'nil' : `&result`;\n const result = mapped.name === 'Void' ? '' : 'result, ';\n return (\n `` +\n resultDef +\n `${indent}err := l.AuthSession.Do(${resultPointer}, \"${this.capitalize(\n method.httpMethod.toUpperCase()\n )}\", \"${this.apiPath}\", ${this.httpPath(method.endpoint, request)}` +\n `${args ? ', ' + args : ''})` +\n '\\n' +\n `${indent}return ${result}err` +\n '\\n'\n );\n }\n\n // build the http argument list from back to front, so trailing undefined arguments\n // can be omitted. Path arguments are resolved as part of the path parameter to general\n // purpose API method call\n // e.g.\n // {queryArgs...}, bodyArg, {headerArgs...}, {cookieArgs...}\n // {queryArgs...}, null, null, {cookieArgs...}\n // null, bodyArg\n // {queryArgs...}\n httpArgs(indent: string, method: IMethod) {\n const request = this.useRequest(method) ? 'request' : '';\n // add options at the end of the request calls. this will cause all other arguments to be\n // filled in but there's no way to avoid this for passing in the last optional parameter.\n // Fortunately, this code bloat is minimal and also hidden from the consumer.\n let options = 'options';\n let body = method.bodyArg\n ? this.accessor(method.bodyArg, request)\n : this.nullStr;\n let query = this.argGroup(indent, method.queryArgs, request);\n const formArgs = this.assignFormArgs(method, body, query, options);\n body = formArgs.body;\n query = formArgs.query;\n options = formArgs.options;\n\n let result = this.argFill('', options);\n result = this.argFill(result, body);\n result = this.argFill(result, query);\n return result;\n }\n\n assignFormArgs(\n method: IMethod,\n body: string,\n query: string,\n options: string\n ): { body: string; query: string; options: string } {\n if (method.isFormUrlEncoded) {\n body = query.replace('map[string]interface{}', 'rtl.Values');\n query = this.nullStr;\n }\n return { body, query, options };\n }\n\n argGroup(_indent: string, args: Arg[], prefix?: string) {\n if (!args || args.length === 0) return this.nullStr;\n const hash: string[] = [];\n for (const arg of args) {\n const reserved = this.reserve(arg);\n if (prefix) {\n hash.push(`\"${reserved}\": ${this.accessor(arg, prefix)}`);\n } else {\n hash.push(`\"${reserved}\": ${this.toCamelCase(reserved)}`);\n }\n }\n return `map[string]interface{}{${hash.join(this.argDelimiter)}}`;\n }\n\n httpPath(path: string, prefix?: string) {\n prefix = prefix || '';\n if (path.indexOf('{') >= 0) {\n const vars: string[] = [];\n const str = path.replace(/({.*?})/g, group => {\n vars.push(\n this.accessor(group.replace('{', '').replace('}', ''), prefix)\n );\n return '%v';\n });\n const allVars = vars.join(', ');\n return allVars ? `fmt.Sprintf(\"${str}\", ${allVars})` : `\"${str}\"`;\n }\n return `\"${path}\"`;\n }\n\n /**\n * Determine the type of accessor needed for the symbol name\n *\n * If the prefix is defined:\n * If the name is special, use array accessor\n * If the name is simple, use dotted notation\n *\n * With no prefix, return the \"reserved\" version of the name, which may be the same as name\n *\n * @param name variable to access\n * @param prefix optional prefix for accessor\n * @returns one of 4 possible accessor patterns\n */\n accessor(name: string, prefix?: string) {\n const reserved = this.reserve(this.toCamelCase(name));\n if (!prefix) return reserved;\n return `${prefix}.${this.toCamelCaseCap(name)}`;\n // if (reserved === name) return `${prefix}.${name}`\n // return `${prefix}[${reserved}]`\n }\n\n methodsEpilogue(_indent: string): string {\n return '';\n }\n\n methodsPrologue(_indent: string): string {\n return `\n// ${this.warnEditing()}\n\npackage ${this.packageName}\n\nimport (\n \"fmt\"\n \"net/url\"\n \"time\"\n\n \"github.com/looker-open-source/sdk-codegen/go/rtl\"\n)\n\ntype AuthSessionDoer interface {\n Do(result interface{}, method, ver, path string, reqPars map[string]interface{}, body interface{}, options *rtl.ApiSettings) error\n}\n\ntype LookerSDK struct {\n AuthSession AuthSessionDoer\n}\n\nfunc NewLookerSDK(session AuthSessionDoer) *LookerSDK {\n return &LookerSDK{\n AuthSession: session,\n }\n}\n`;\n }\n\n modelsPrologue(_indent: string) {\n const goImport = `\nimport (\n \"github.com/looker-open-source/sdk-codegen/go/rtl\"\n \"time\"\n)`;\n\n return `\n// ${this.warnEditing()}\n\npackage ${this.packageName}\n${goImport}\n`;\n }\n\n modelsEpilogue(_indent: string): string {\n return '';\n }\n\n summary(_indent: string, _text: string | undefined): string {\n return '';\n }\n\n typeSignature(indent: string, type: IType): string {\n return (\n this.comment(indent, type.description) +\n '\\n' +\n `${indent}type ${type.name} struct {\\n`\n );\n }\n\n beginRegion(indent: string, description: string): string {\n return `${indent}// region ${description}`;\n }\n\n endRegion(indent: string, description: string): string {\n return `${indent}// endregion ${description}`;\n }\n\n typeMap(type: IType): IMappedType {\n super.typeMap(type);\n const mt = this.nullStr;\n const ktTypes: Record<string, IMappedType> = {\n any: { default: mt, name: 'interface{}' },\n boolean: { default: mt, name: 'bool' },\n byte: { default: mt, name: 'byte' },\n date: { default: mt, name: 'time.Time' },\n datetime: { default: mt, name: 'time.Time' },\n double: { default: mt, name: 'float64' },\n float: { default: mt, name: 'float32' },\n int32: { default: mt, name: 'int32' },\n int64: { default: mt, name: 'int64' },\n integer: { default: mt, name: 'int' },\n number: { default: mt, name: 'float64' },\n object: { default: mt, name: 'interface{}' },\n password: { default: mt, name: 'string' },\n string: { default: mt, name: 'string' },\n uri: { default: mt, name: 'url.URL' },\n url: { default: mt, name: 'url.URL' },\n void: { default: mt, name: 'Void' }, // todo: check how to handle Void\n };\n\n if (type.elementType) {\n // This is a structure with nested types\n const map = this.typeMap(type.elementType);\n switch (type.className) {\n case 'ArrayType':\n return { default: this.nullStr, name: `[]${map.name}` };\n case 'HashType': {\n const mapName =\n type.elementType.name === 'string' ? 'interface{}' : map.name; // TODO fix bad API spec, like MergeQuery vis_config\n // TODO figure out this bizarre string template error either in IntelliJ or TypeScript\n // return {name: `Map<String,${map.name}>`, default: '{}'}\n return {\n default: this.nullStr,\n name: 'map[string]' + `${mapName}`,\n };\n }\n case 'DelimArrayType':\n return {\n default: this.nullStr,\n name: `rtl.Delim${this.capitalize(map.name)}`,\n };\n case 'EnumType':\n return { default: '', name: this.capitalize(type.name) };\n }\n throw new Error(`Don't know how to handle: ${JSON.stringify(type)}`);\n }\n\n if (type.name) {\n return (\n ktTypes[type.name] || { default: this.nullStr, name: `${type.name}` }\n );\n } else {\n throw new Error('Cannot output a nameless type.');\n }\n }\n\n declareType(indent: string, type: IType) {\n const bump = this.bumper(indent);\n\n const writer = new AlignColumnWriter();\n\n try {\n if (type instanceof EnumType) {\n // enum has special handling\n const props: string[] = [];\n let propertyValues = '';\n const num = type as EnumType;\n const typeName = this.capitalize(type.name);\n props.push(`type ${typeName} string`); // todo: handle other types than string\n num.values.forEach(value => {\n // props.push(this.declareEnumValue(bump, value, typeName))\n this.declareEnumValue(bump, value, typeName, writer);\n });\n props.push(writer.toString());\n propertyValues = props.join(this.enumDelimiter);\n\n return propertyValues;\n } else {\n this.typeProperties(type).forEach(prop =>\n // props.push(this.declareProperty(bump, prop))\n this.declareProperty(bump, prop, writer)\n );\n // propertyValues = props.join(this.propDelimiter)\n }\n } catch {\n throw new Error(JSON.stringify(type, null, 2));\n }\n return (\n this.typeSignature(indent, type) +\n writer.toString() +\n this.construct(indent, type) +\n `${this.endTypeStr ? indent : ''}${this.endTypeStr}`\n );\n }\n\n declareEnumValue(\n _indent: string,\n value: EnumValueType,\n typename?: string,\n writer?: AlignColumnWriter\n ) {\n const quote = typeof value === 'string' ? this.codeQuote : '';\n const name = `${typename}_${this.toCamelCaseCap(value.toString())}`;\n if (writer) {\n writer.writeRow(\n 'const',\n name,\n typename || '',\n '=',\n `${quote}${value}${quote}`\n );\n }\n return `const ${name} ${typename} = ${quote}${value}${quote}`;\n }\n\n declareProperty(\n indent: string,\n property: IProperty,\n writer?: AlignColumnWriter\n ): string {\n const type = this.typeMap(property.type);\n const name = this.toCamelCaseCap(property.name);\n const typeName = type.name;\n\n const doc = property.description\n ? `${this.comment(' ', property.description)}`\n : '';\n\n const optionalJson = property.required ? '' : ',omitempty';\n const optionalPointer = property.required ? '' : '*';\n\n if (writer) {\n writer.writeRow(\n `${indent}${name}`,\n `${optionalPointer}${typeName}`,\n `\\`json:\"${property.name}${optionalJson}\"\\``,\n doc\n );\n }\n return ``;\n }\n\n capitalize(str: string): string {\n return str.charAt(0).toUpperCase() + str.slice(1);\n }\n\n toCamelCaseCap(str: string): string {\n return this.capitalize(\n str.replace(/([-_][a-z])/g, group =>\n group.toUpperCase().replace('-', '').replace('_', '')\n )\n );\n }\n\n toCamelCase(str: string): string {\n return str.replace(/([-_][a-z])/g, group =>\n group.toUpperCase().replace('-', '').replace('_', '')\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"go.gen.js","names":["_codeGen","require","_sdkModels","_defineProperty","e","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","align","str","size","num","length","repeat","AlignColumnWriter","constructor","writeRow","_len","arguments","cols","Array","_key","forEach","index","sizes","Math","max","rows","push","toString","result","row","rowSize","col","colIndex","trimRight","GoGen","CodeGen","api","versions","Set","packageName","concat","apiVersion","substring","indexOf","supportsMultiApi","reserve","name","keywords","has","commentHeader","indent","text","noComment","commentBlock","comment","description","commentStr","sdkFileName","baseFileName","fileName","sdkPath","methodSignature","method","methodHeaderDeclaration","_method$description","streamer","undefined","mapped","typeMap","type","head","trim","headComment","httpMethod","endpoint","fragment","requestType","requestTypeName","bump","indentStr","params","args","allParams","p","declareParameter","join","paramDelimiter","responseIsBoth","responseIsBinary","deprecated","callback","retType","header","toCamelCaseCap","declareMethod","bumper","encodePathParams","httpCall","param","location","strBody","writeableType","pOpt","required","default","toCamelCase","encodings","pathParams","prefix","useRequest","doEncode","accessor","request","httpArgs","resultDef","resultPointer","capitalize","toUpperCase","apiPath","httpPath","options","body","bodyArg","nullStr","query","argGroup","queryArgs","formArgs","assignFormArgs","argFill","isFormUrlEncoded","replace","_indent","hash","arg","reserved","argDelimiter","path","vars","group","allVars","methodsEpilogue","methodsPrologue","warnEditing","modelsPrologue","goImport","modelsEpilogue","summary","_text","typeSignature","beginRegion","endRegion","mt","ktTypes","any","boolean","byte","date","datetime","double","float","int32","int64","integer","number","object","password","string","uri","url","void","elementType","map","className","mapName","Error","JSON","stringify","declareType","writer","EnumType","props","propertyValues","typeName","values","declareEnumValue","enumDelimiter","typeProperties","prop","declareProperty","_unused","construct","endTypeStr","typename","quote","codeQuote","property","doc","optionalJson","optionalPointer","charAt","slice","exports"],"sources":["../src/go.gen.ts"],"sourcesContent":["/*\n\n MIT License\n\n Copyright (c) 2021 Looker Data Sciences, Inc.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n\n */\n\nimport type { IMappedType, IVersionInfo } from './codeGen';\nimport { CodeGen, commentBlock } from './codeGen';\nimport type {\n ApiModel,\n Arg,\n EnumValueType,\n IMethod,\n IParameter,\n IProperty,\n IType,\n} from './sdkModels';\nimport { EnumType, strBody } from './sdkModels';\n\nconst align = (str: string, size: number): string => {\n const num = size - str.length + 1;\n return str + ' '.repeat(num);\n};\n\n/**\n * AlignColumnWriter writes text aligned by column width, it is used to keep the go struct formatting consistent.\n */\nclass AlignColumnWriter {\n private rows: string[][] = [];\n private sizes: number[] = [];\n\n writeRow(...cols: string[]) {\n cols.forEach((value, index) => {\n this.sizes[index] = Math.max(this.sizes[index] || 0, value.length);\n });\n this.rows.push(cols);\n }\n\n toString(): string {\n let result = '';\n this.rows.forEach(row => {\n const rowSize = row.length;\n row.forEach((col, colIndex) => {\n result +=\n rowSize - 1 === colIndex ? col : align(col, this.sizes[colIndex]);\n });\n result = result.trimRight() + '\\n';\n });\n return result;\n }\n}\n\n/**\n * Go generator\n */\nexport class GoGen extends CodeGen {\n codePath = './go';\n fileExtension = '.go';\n nullStr = 'nil';\n packagePath = '';\n commentStr = '// ';\n\n enumDelimiter = '\\n';\n indentStr = ' ';\n endTypeStr = '}';\n codeQuote = `\"`;\n\n useNamedParameters = false;\n needsRequestTypes = true;\n\n keywords = new Set<string>([\n 'break',\n 'default',\n 'func',\n 'interface',\n 'select',\n 'case',\n 'defer',\n 'go',\n 'map',\n 'struct',\n 'chan',\n 'else',\n 'goto',\n 'package',\n 'switch',\n 'const',\n 'fallthrough',\n 'if',\n 'range',\n 'type',\n 'continue',\n 'for',\n 'import',\n 'return',\n 'var',\n ]);\n\n constructor(public api: ApiModel, public versions?: IVersionInfo) {\n super(api, versions);\n this.packageName = `v${this.apiVersion.substring(\n 0,\n this.apiVersion.indexOf('.')\n )}`;\n this.apiVersion = this.packageName;\n }\n\n supportsMultiApi(): boolean {\n return false;\n }\n\n reserve(name: string) {\n if (this.keywords.has(name)) {\n return `${name}0`;\n }\n return name;\n }\n\n commentHeader(indent: string, text: string | undefined) {\n if (this.noComment) return '';\n return text\n ? `${indent}/*\\n\\n${commentBlock(text, indent, '')}\\n${indent}*/\\n`\n : '';\n }\n\n comment(indent: string, description: string) {\n if (this.noComment) return '';\n return commentBlock(description, indent, this.commentStr);\n }\n\n sdkFileName(baseFileName: string) {\n return this.fileName(`${this.sdkPath}/${this.packageName}/${baseFileName}`);\n }\n\n methodSignature(indent: string, method: IMethod): string {\n return this.methodHeaderDeclaration(indent, method, false);\n }\n\n methodHeaderDeclaration(indent: string, method: IMethod, streamer = false) {\n const mapped = this.typeMap(method.type);\n const head = method.description?.trim();\n let headComment =\n (head ? `${head}\\n\\n` : '') +\n `${method.httpMethod} ${method.endpoint} -> ${mapped.name}`;\n let fragment = '';\n const requestType = this.requestTypeName(method);\n const bump = indent + this.indentStr;\n\n if (requestType) {\n fragment = `request ${requestType}`;\n } else {\n const params: string[] = [];\n const args = method.allParams; // get the params in signature order\n if (args && args.length > 0)\n args.forEach(p => params.push(this.declareParameter(bump, method, p)));\n fragment =\n params.length > 0 ? `\\n${params.join(this.paramDelimiter)}` : '';\n }\n if (method.responseIsBoth()) {\n headComment += `\\n\\n**Note**: Binary content may be returned by this method.\\n`;\n } else if (method.responseIsBinary()) {\n headComment += `\\n\\n**Note**: Binary content is returned by this method.\\n`;\n }\n if (method.deprecated) {\n headComment += '\\n\\nDeprecated: This method is deprecated.\\n';\n }\n const callback = `callback: (readable: Readable) => Promise<${mapped.name}>,`;\n const retType = mapped.name === 'Void' ? '' : `${mapped.name}, `;\n const header =\n this.comment('', headComment) +\n '\\n' +\n `func (l *LookerSDK) ${this.toCamelCaseCap(method.name)}(` +\n (streamer ? `\\n${bump}${callback}` : '');\n\n return (\n header +\n fragment +\n `${\n fragment ? ',' : ''\n }\\n${bump}options *rtl.ApiSettings) (${retType}error) {\\n`\n );\n }\n\n declareMethod(indent: string, method: IMethod) {\n const bump = this.bumper(indent);\n return (\n this.methodSignature(indent, method) +\n this.encodePathParams(bump, method) +\n this.httpCall(bump, method) +\n `\\n}`\n );\n }\n\n declareParameter(indent: string, method: IMethod, param: IParameter) {\n const type =\n param.location === strBody\n ? this.writeableType(param.type, method) || param.type\n : param.type;\n const mapped = this.typeMap(type);\n let pOpt = '';\n if (param.location === strBody) {\n mapped.name = `${mapped.name}`;\n }\n if (!param.required) {\n pOpt = mapped.default ? '' : '*';\n }\n return (\n // so it turns out Go doesn't like parameter comments. Go figure https://stackoverflow.com/a/67878816\n // this.commentHeader(indent, this.paramComment(param, mapped)) +\n `${indent}${this.toCamelCase(this.reserve(param.name))} ${pOpt}${\n mapped.name\n }`\n );\n }\n\n encodePathParams(indent: string, method: IMethod) {\n let encodings = '';\n if (method.pathParams.length > 0) {\n const prefix = this.useRequest(method) ? 'request' : '';\n for (const param of method.pathParams) {\n if (param.doEncode()) {\n const name = this.accessor(param.name, prefix);\n\n encodings += `${indent}${name} = url.PathEscape(${name})\\n`;\n }\n }\n }\n return encodings;\n }\n\n httpCall(indent: string, method: IMethod) {\n const request = this.useRequest(method) ? 'request' : '';\n const mapped = this.typeMap(method.type);\n const bump = indent + this.indentStr;\n const args = this.httpArgs(bump, method);\n // const errors = this.errorResponses(indent, method)\n const resultDef =\n mapped.name === 'Void' ? '' : `${indent}var result ${mapped.name}\\n`;\n const resultPointer = mapped.name === 'Void' ? 'nil' : `&result`;\n const result = mapped.name === 'Void' ? '' : 'result, ';\n return (\n `` +\n resultDef +\n `${indent}err := l.AuthSession.Do(${resultPointer}, \"${this.capitalize(\n method.httpMethod.toUpperCase()\n )}\", \"${this.apiPath}\", ${this.httpPath(method.endpoint, request)}` +\n `${args ? ', ' + args : ''})` +\n '\\n' +\n `${indent}return ${result}err` +\n '\\n'\n );\n }\n\n // build the http argument list from back to front, so trailing undefined arguments\n // can be omitted. Path arguments are resolved as part of the path parameter to general\n // purpose API method call\n // e.g.\n // {queryArgs...}, bodyArg, {headerArgs...}, {cookieArgs...}\n // {queryArgs...}, null, null, {cookieArgs...}\n // null, bodyArg\n // {queryArgs...}\n httpArgs(indent: string, method: IMethod) {\n const request = this.useRequest(method) ? 'request' : '';\n // add options at the end of the request calls. this will cause all other arguments to be\n // filled in but there's no way to avoid this for passing in the last optional parameter.\n // Fortunately, this code bloat is minimal and also hidden from the consumer.\n let options = 'options';\n let body = method.bodyArg\n ? this.accessor(method.bodyArg, request)\n : this.nullStr;\n let query = this.argGroup(indent, method.queryArgs, request);\n const formArgs = this.assignFormArgs(method, body, query, options);\n body = formArgs.body;\n query = formArgs.query;\n options = formArgs.options;\n\n let result = this.argFill('', options);\n result = this.argFill(result, body);\n result = this.argFill(result, query);\n return result;\n }\n\n assignFormArgs(\n method: IMethod,\n body: string,\n query: string,\n options: string\n ): { body: string; query: string; options: string } {\n if (method.isFormUrlEncoded) {\n body = query.replace('map[string]interface{}', 'rtl.Values');\n query = this.nullStr;\n }\n return { body, query, options };\n }\n\n argGroup(_indent: string, args: Arg[], prefix?: string) {\n if (!args || args.length === 0) return this.nullStr;\n const hash: string[] = [];\n for (const arg of args) {\n const reserved = this.reserve(arg);\n if (prefix) {\n hash.push(`\"${reserved}\": ${this.accessor(arg, prefix)}`);\n } else {\n hash.push(`\"${reserved}\": ${this.toCamelCase(reserved)}`);\n }\n }\n return `map[string]interface{}{${hash.join(this.argDelimiter)}}`;\n }\n\n httpPath(path: string, prefix?: string) {\n prefix = prefix || '';\n if (path.indexOf('{') >= 0) {\n const vars: string[] = [];\n const str = path.replace(/({.*?})/g, group => {\n vars.push(\n this.accessor(group.replace('{', '').replace('}', ''), prefix)\n );\n return '%v';\n });\n const allVars = vars.join(', ');\n return allVars ? `fmt.Sprintf(\"${str}\", ${allVars})` : `\"${str}\"`;\n }\n return `\"${path}\"`;\n }\n\n /**\n * Determine the type of accessor needed for the symbol name\n *\n * If the prefix is defined:\n * If the name is special, use array accessor\n * If the name is simple, use dotted notation\n *\n * With no prefix, return the \"reserved\" version of the name, which may be the same as name\n *\n * @param name variable to access\n * @param prefix optional prefix for accessor\n * @returns one of 4 possible accessor patterns\n */\n accessor(name: string, prefix?: string) {\n const reserved = this.reserve(this.toCamelCase(name));\n if (!prefix) return reserved;\n return `${prefix}.${this.toCamelCaseCap(name)}`;\n // if (reserved === name) return `${prefix}.${name}`\n // return `${prefix}[${reserved}]`\n }\n\n methodsEpilogue(_indent: string): string {\n return '';\n }\n\n methodsPrologue(_indent: string): string {\n return `\n// ${this.warnEditing()}\n\npackage ${this.packageName}\n\nimport (\n \"fmt\"\n \"net/url\"\n \"time\"\n\n \"github.com/looker-open-source/sdk-codegen/go/rtl\"\n)\n\ntype AuthSessionDoer interface {\n Do(result interface{}, method, ver, path string, reqPars map[string]interface{}, body interface{}, options *rtl.ApiSettings) error\n}\n\ntype LookerSDK struct {\n AuthSession AuthSessionDoer\n}\n\nfunc NewLookerSDK(session AuthSessionDoer) *LookerSDK {\n return &LookerSDK{\n AuthSession: session,\n }\n}\n`;\n }\n\n modelsPrologue(_indent: string) {\n const goImport = `\nimport (\n \"github.com/looker-open-source/sdk-codegen/go/rtl\"\n \"time\"\n)`;\n\n return `\n// ${this.warnEditing()}\n\npackage ${this.packageName}\n${goImport}\n`;\n }\n\n modelsEpilogue(_indent: string): string {\n return '';\n }\n\n summary(_indent: string, _text: string | undefined): string {\n return '';\n }\n\n typeSignature(indent: string, type: IType): string {\n return (\n this.comment(indent, type.description) +\n '\\n' +\n `${indent}type ${type.name} struct {\\n`\n );\n }\n\n beginRegion(indent: string, description: string): string {\n return `${indent}// region ${description}`;\n }\n\n endRegion(indent: string, description: string): string {\n return `${indent}// endregion ${description}`;\n }\n\n typeMap(type: IType): IMappedType {\n super.typeMap(type);\n const mt = this.nullStr;\n const ktTypes: Record<string, IMappedType> = {\n any: { default: mt, name: 'interface{}' },\n boolean: { default: mt, name: 'bool' },\n byte: { default: mt, name: 'byte' },\n date: { default: '', name: 'time.Time' },\n datetime: { default: '', name: 'time.Time' },\n double: { default: mt, name: 'float64' },\n float: { default: mt, name: 'float32' },\n int32: { default: mt, name: 'int32' },\n int64: { default: mt, name: 'int64' },\n integer: { default: mt, name: 'int' },\n number: { default: mt, name: 'float64' },\n object: { default: mt, name: 'interface{}' },\n password: { default: mt, name: 'string' },\n string: { default: mt, name: 'string' },\n uri: { default: mt, name: 'url.URL' },\n url: { default: mt, name: 'url.URL' },\n void: { default: mt, name: 'Void' }, // todo: check how to handle Void\n };\n\n if (type.elementType) {\n // This is a structure with nested types\n const map = this.typeMap(type.elementType);\n switch (type.className) {\n case 'ArrayType':\n return { default: this.nullStr, name: `[]${map.name}` };\n case 'HashType': {\n const mapName =\n type.elementType.name === 'string' ? 'interface{}' : map.name; // TODO fix bad API spec, like MergeQuery vis_config\n // TODO figure out this bizarre string template error either in IntelliJ or TypeScript\n // return {name: `Map<String,${map.name}>`, default: '{}'}\n return {\n default: this.nullStr,\n name: 'map[string]' + `${mapName}`,\n };\n }\n case 'DelimArrayType':\n return {\n default: this.nullStr,\n name: `rtl.Delim${this.capitalize(map.name)}`,\n };\n case 'EnumType':\n return { default: '', name: this.capitalize(type.name) };\n }\n throw new Error(`Don't know how to handle: ${JSON.stringify(type)}`);\n }\n\n if (type.name) {\n return (\n ktTypes[type.name] || { default: this.nullStr, name: `${type.name}` }\n );\n } else {\n throw new Error('Cannot output a nameless type.');\n }\n }\n\n declareType(indent: string, type: IType) {\n const bump = this.bumper(indent);\n\n const writer = new AlignColumnWriter();\n\n try {\n if (type instanceof EnumType) {\n // enum has special handling\n const props: string[] = [];\n let propertyValues = '';\n const num = type as EnumType;\n const typeName = this.capitalize(type.name);\n props.push(`type ${typeName} string`); // todo: handle other types than string\n num.values.forEach(value => {\n // props.push(this.declareEnumValue(bump, value, typeName))\n this.declareEnumValue(bump, value, typeName, writer);\n });\n props.push(writer.toString());\n propertyValues = props.join(this.enumDelimiter);\n\n return propertyValues;\n } else {\n this.typeProperties(type).forEach(prop =>\n // props.push(this.declareProperty(bump, prop))\n this.declareProperty(bump, prop, writer)\n );\n // propertyValues = props.join(this.propDelimiter)\n }\n } catch {\n throw new Error(JSON.stringify(type, null, 2));\n }\n return (\n this.typeSignature(indent, type) +\n writer.toString() +\n this.construct(indent, type) +\n `${this.endTypeStr ? indent : ''}${this.endTypeStr}`\n );\n }\n\n declareEnumValue(\n _indent: string,\n value: EnumValueType,\n typename?: string,\n writer?: AlignColumnWriter\n ) {\n const quote = typeof value === 'string' ? this.codeQuote : '';\n const name = `${typename}_${this.toCamelCaseCap(value.toString())}`;\n if (writer) {\n writer.writeRow(\n 'const',\n name,\n typename || '',\n '=',\n `${quote}${value}${quote}`\n );\n }\n return `const ${name} ${typename} = ${quote}${value}${quote}`;\n }\n\n declareProperty(\n indent: string,\n property: IProperty,\n writer?: AlignColumnWriter\n ): string {\n const type = this.typeMap(property.type);\n const name = this.toCamelCaseCap(property.name);\n const typeName = type.name;\n\n const doc = property.description\n ? `${this.comment(' ', property.description)}`\n : '';\n\n const optionalJson = property.required ? '' : ',omitempty';\n const optionalPointer = property.required ? '' : '*';\n\n if (writer) {\n writer.writeRow(\n `${indent}${name}`,\n `${optionalPointer}${typeName}`,\n `\\`json:\"${property.name}${optionalJson}\"\\``,\n doc\n );\n }\n return ``;\n }\n\n capitalize(str: string): string {\n return str.charAt(0).toUpperCase() + str.slice(1);\n }\n\n toCamelCaseCap(str: string): string {\n return this.capitalize(\n str.replace(/([-_][a-z])/g, group =>\n group.toUpperCase().replace('-', '').replace('_', '')\n )\n );\n }\n\n toCamelCase(str: string): string {\n return str.replace(/([-_][a-z])/g, group =>\n group.toUpperCase().replace('-', '').replace('_', '')\n );\n }\n}\n"],"mappings":";;;;;;AA2BA,IAAAA,QAAA,GAAAC,OAAA;AAUA,IAAAC,UAAA,GAAAD,OAAA;AAAgD,SAAAE,gBAAAC,CAAA,EAAAC,CAAA,EAAAC,CAAA,YAAAD,CAAA,GAAAE,cAAA,CAAAF,CAAA,MAAAD,CAAA,GAAAI,MAAA,CAAAC,cAAA,CAAAL,CAAA,EAAAC,CAAA,IAAAK,KAAA,EAAAJ,CAAA,EAAAK,UAAA,MAAAC,YAAA,MAAAC,QAAA,UAAAT,CAAA,CAAAC,CAAA,IAAAC,CAAA,EAAAF,CAAA;AAAA,SAAAG,eAAAD,CAAA,QAAAQ,CAAA,GAAAC,YAAA,CAAAT,CAAA,uCAAAQ,CAAA,GAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAC,aAAAT,CAAA,EAAAD,CAAA,2BAAAC,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAF,CAAA,GAAAE,CAAA,CAAAU,MAAA,CAAAC,WAAA,kBAAAb,CAAA,QAAAU,CAAA,GAAAV,CAAA,CAAAc,IAAA,CAAAZ,CAAA,EAAAD,CAAA,uCAAAS,CAAA,SAAAA,CAAA,YAAAK,SAAA,yEAAAd,CAAA,GAAAe,MAAA,GAAAC,MAAA,EAAAf,CAAA;AAEhD,IAAMgB,KAAK,GAAGA,CAACC,GAAW,EAAEC,IAAY,KAAa;EACnD,IAAMC,GAAG,GAAGD,IAAI,GAAGD,GAAG,CAACG,MAAM,GAAG,CAAC;EACjC,OAAOH,GAAG,GAAG,GAAG,CAACI,MAAM,CAACF,GAAG,CAAC;AAC9B,CAAC;AAKD,MAAMG,iBAAiB,CAAC;EAAAC,YAAA;IAAA1B,eAAA,eACK,EAAE;IAAAA,eAAA,gBACH,EAAE;EAAA;EAE5B2B,QAAQA,CAAA,EAAoB;IAAA,SAAAC,IAAA,GAAAC,SAAA,CAAAN,MAAA,EAAhBO,IAAI,OAAAC,KAAA,CAAAH,IAAA,GAAAI,IAAA,MAAAA,IAAA,GAAAJ,IAAA,EAAAI,IAAA;MAAJF,IAAI,CAAAE,IAAA,IAAAH,SAAA,CAAAG,IAAA;IAAA;IACdF,IAAI,CAACG,OAAO,CAAC,CAAC1B,KAAK,EAAE2B,KAAK,KAAK;MAC7B,IAAI,CAACC,KAAK,CAACD,KAAK,CAAC,GAAGE,IAAI,CAACC,GAAG,CAAC,IAAI,CAACF,KAAK,CAACD,KAAK,CAAC,IAAI,CAAC,EAAE3B,KAAK,CAACgB,MAAM,CAAC;IACpE,CAAC,CAAC;IACF,IAAI,CAACe,IAAI,CAACC,IAAI,CAACT,IAAI,CAAC;EACtB;EAEAU,QAAQA,CAAA,EAAW;IACjB,IAAIC,MAAM,GAAG,EAAE;IACf,IAAI,CAACH,IAAI,CAACL,OAAO,CAACS,GAAG,IAAI;MACvB,IAAMC,OAAO,GAAGD,GAAG,CAACnB,MAAM;MAC1BmB,GAAG,CAACT,OAAO,CAAC,CAACW,GAAG,EAAEC,QAAQ,KAAK;QAC7BJ,MAAM,IACJE,OAAO,GAAG,CAAC,KAAKE,QAAQ,GAAGD,GAAG,GAAGzB,KAAK,CAACyB,GAAG,EAAE,IAAI,CAACT,KAAK,CAACU,QAAQ,CAAC,CAAC;MACrE,CAAC,CAAC;MACFJ,MAAM,GAAGA,MAAM,CAACK,SAAS,CAAC,CAAC,GAAG,IAAI;IACpC,CAAC,CAAC;IACF,OAAOL,MAAM;EACf;AACF;AAKO,MAAMM,KAAK,SAASC,gBAAO,CAAC;EA2CjCtB,WAAWA,CAAQuB,GAAa,EAASC,QAAuB,EAAE;IAChE,KAAK,CAACD,GAAG,EAAEC,QAAQ,CAAC;IAAC,KADJD,GAAa,GAAbA,GAAa;IAAA,KAASC,QAAuB,GAAvBA,QAAuB;IAAAlD,eAAA,mBA1CrD,MAAM;IAAAA,eAAA,wBACD,KAAK;IAAAA,eAAA,kBACX,KAAK;IAAAA,eAAA,sBACD,EAAE;IAAAA,eAAA,qBACH,KAAK;IAAAA,eAAA,wBAEF,IAAI;IAAAA,eAAA,oBACR,IAAI;IAAAA,eAAA,qBACH,GAAG;IAAAA,eAAA;IAAAA,eAAA,6BAGK,KAAK;IAAAA,eAAA,4BACN,IAAI;IAAAA,eAAA,mBAEb,IAAImD,GAAG,CAAS,CACzB,OAAO,EACP,SAAS,EACT,MAAM,EACN,WAAW,EACX,QAAQ,EACR,MAAM,EACN,OAAO,EACP,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,MAAM,EACN,MAAM,EACN,MAAM,EACN,SAAS,EACT,QAAQ,EACR,OAAO,EACP,aAAa,EACb,IAAI,EACJ,OAAO,EACP,MAAM,EACN,UAAU,EACV,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,KAAK,CACN,CAAC;IAIA,IAAI,CAACC,WAAW,OAAAC,MAAA,CAAO,IAAI,CAACC,UAAU,CAACC,SAAS,CAC9C,CAAC,EACD,IAAI,CAACD,UAAU,CAACE,OAAO,CAAC,GAAG,CAC7B,CAAC,CAAE;IACH,IAAI,CAACF,UAAU,GAAG,IAAI,CAACF,WAAW;EACpC;EAEAK,gBAAgBA,CAAA,EAAY;IAC1B,OAAO,KAAK;EACd;EAEAC,OAAOA,CAACC,IAAY,EAAE;IACpB,IAAI,IAAI,CAACC,QAAQ,CAACC,GAAG,CAACF,IAAI,CAAC,EAAE;MAC3B,UAAAN,MAAA,CAAUM,IAAI;IAChB;IACA,OAAOA,IAAI;EACb;EAEAG,aAAaA,CAACC,MAAc,EAAEC,IAAwB,EAAE;IACtD,IAAI,IAAI,CAACC,SAAS,EAAE,OAAO,EAAE;IAC7B,OAAOD,IAAI,MAAAX,MAAA,CACJU,MAAM,YAAAV,MAAA,CAAS,IAAAa,qBAAY,EAACF,IAAI,EAAED,MAAM,EAAE,EAAE,CAAC,QAAAV,MAAA,CAAKU,MAAM,YAC3D,EAAE;EACR;EAEAI,OAAOA,CAACJ,MAAc,EAAEK,WAAmB,EAAE;IAC3C,IAAI,IAAI,CAACH,SAAS,EAAE,OAAO,EAAE;IAC7B,OAAO,IAAAC,qBAAY,EAACE,WAAW,EAAEL,MAAM,EAAE,IAAI,CAACM,UAAU,CAAC;EAC3D;EAEAC,WAAWA,CAACC,YAAoB,EAAE;IAChC,OAAO,IAAI,CAACC,QAAQ,IAAAnB,MAAA,CAAI,IAAI,CAACoB,OAAO,OAAApB,MAAA,CAAI,IAAI,CAACD,WAAW,OAAAC,MAAA,CAAIkB,YAAY,CAAE,CAAC;EAC7E;EAEAG,eAAeA,CAACX,MAAc,EAAEY,MAAe,EAAU;IACvD,OAAO,IAAI,CAACC,uBAAuB,CAACb,MAAM,EAAEY,MAAM,EAAE,KAAK,CAAC;EAC5D;EAEAC,uBAAuBA,CAACb,MAAc,EAAEY,MAAe,EAAoB;IAAA,IAAAE,mBAAA;IAAA,IAAlBC,QAAQ,GAAAjD,SAAA,CAAAN,MAAA,QAAAM,SAAA,QAAAkD,SAAA,GAAAlD,SAAA,MAAG,KAAK;IACvE,IAAMmD,MAAM,GAAG,IAAI,CAACC,OAAO,CAACN,MAAM,CAACO,IAAI,CAAC;IACxC,IAAMC,IAAI,IAAAN,mBAAA,GAAGF,MAAM,CAACP,WAAW,cAAAS,mBAAA,uBAAlBA,mBAAA,CAAoBO,IAAI,CAAC,CAAC;IACvC,IAAIC,WAAW,GACb,CAACF,IAAI,MAAA9B,MAAA,CAAM8B,IAAI,YAAS,EAAE,OAAA9B,MAAA,CACvBsB,MAAM,CAACW,UAAU,OAAAjC,MAAA,CAAIsB,MAAM,CAACY,QAAQ,UAAAlC,MAAA,CAAO2B,MAAM,CAACrB,IAAI,CAAE;IAC7D,IAAI6B,QAAQ,GAAG,EAAE;IACjB,IAAMC,WAAW,GAAG,IAAI,CAACC,eAAe,CAACf,MAAM,CAAC;IAChD,IAAMgB,IAAI,GAAG5B,MAAM,GAAG,IAAI,CAAC6B,SAAS;IAEpC,IAAIH,WAAW,EAAE;MACfD,QAAQ,cAAAnC,MAAA,CAAcoC,WAAW,CAAE;IACrC,CAAC,MAAM;MACL,IAAMI,MAAgB,GAAG,EAAE;MAC3B,IAAMC,IAAI,GAAGnB,MAAM,CAACoB,SAAS;MAC7B,IAAID,IAAI,IAAIA,IAAI,CAACvE,MAAM,GAAG,CAAC,EACzBuE,IAAI,CAAC7D,OAAO,CAAC+D,CAAC,IAAIH,MAAM,CAACtD,IAAI,CAAC,IAAI,CAAC0D,gBAAgB,CAACN,IAAI,EAAEhB,MAAM,EAAEqB,CAAC,CAAC,CAAC,CAAC;MACxER,QAAQ,GACNK,MAAM,CAACtE,MAAM,GAAG,CAAC,QAAA8B,MAAA,CAAQwC,MAAM,CAACK,IAAI,CAAC,IAAI,CAACC,cAAc,CAAC,IAAK,EAAE;IACpE;IACA,IAAIxB,MAAM,CAACyB,cAAc,CAAC,CAAC,EAAE;MAC3Bf,WAAW,oEAAoE;IACjF,CAAC,MAAM,IAAIV,MAAM,CAAC0B,gBAAgB,CAAC,CAAC,EAAE;MACpChB,WAAW,gEAAgE;IAC7E;IACA,IAAIV,MAAM,CAAC2B,UAAU,EAAE;MACrBjB,WAAW,IAAI,8CAA8C;IAC/D;IACA,IAAMkB,QAAQ,gDAAAlD,MAAA,CAAgD2B,MAAM,CAACrB,IAAI,OAAI;IAC7E,IAAM6C,OAAO,GAAGxB,MAAM,CAACrB,IAAI,KAAK,MAAM,GAAG,EAAE,MAAAN,MAAA,CAAM2B,MAAM,CAACrB,IAAI,OAAI;IAChE,IAAM8C,MAAM,GACV,IAAI,CAACtC,OAAO,CAAC,EAAE,EAAEkB,WAAW,CAAC,GAC7B,IAAI,0BAAAhC,MAAA,CACmB,IAAI,CAACqD,cAAc,CAAC/B,MAAM,CAAChB,IAAI,CAAC,MAAG,IACzDmB,QAAQ,QAAAzB,MAAA,CAAQsC,IAAI,EAAAtC,MAAA,CAAGkD,QAAQ,IAAK,EAAE,CAAC;IAE1C,OACEE,MAAM,GACNjB,QAAQ,MAAAnC,MAAA,CAENmC,QAAQ,GAAG,GAAG,GAAG,EAAE,QAAAnC,MAAA,CAChBsC,IAAI,iCAAAtC,MAAA,CAA8BmD,OAAO,eAAY;EAE9D;EAEAG,aAAaA,CAAC5C,MAAc,EAAEY,MAAe,EAAE;IAC7C,IAAMgB,IAAI,GAAG,IAAI,CAACiB,MAAM,CAAC7C,MAAM,CAAC;IAChC,OACE,IAAI,CAACW,eAAe,CAACX,MAAM,EAAEY,MAAM,CAAC,GACpC,IAAI,CAACkC,gBAAgB,CAAClB,IAAI,EAAEhB,MAAM,CAAC,GACnC,IAAI,CAACmC,QAAQ,CAACnB,IAAI,EAAEhB,MAAM,CAAC,QACtB;EAET;EAEAsB,gBAAgBA,CAAClC,MAAc,EAAEY,MAAe,EAAEoC,KAAiB,EAAE;IACnE,IAAM7B,IAAI,GACR6B,KAAK,CAACC,QAAQ,KAAKC,kBAAO,GACtB,IAAI,CAACC,aAAa,CAACH,KAAK,CAAC7B,IAAI,EAAEP,MAAM,CAAC,IAAIoC,KAAK,CAAC7B,IAAI,GACpD6B,KAAK,CAAC7B,IAAI;IAChB,IAAMF,MAAM,GAAG,IAAI,CAACC,OAAO,CAACC,IAAI,CAAC;IACjC,IAAIiC,IAAI,GAAG,EAAE;IACb,IAAIJ,KAAK,CAACC,QAAQ,KAAKC,kBAAO,EAAE;MAC9BjC,MAAM,CAACrB,IAAI,MAAAN,MAAA,CAAM2B,MAAM,CAACrB,IAAI,CAAE;IAChC;IACA,IAAI,CAACoD,KAAK,CAACK,QAAQ,EAAE;MACnBD,IAAI,GAAGnC,MAAM,CAACqC,OAAO,GAAG,EAAE,GAAG,GAAG;IAClC;IACA,WAAAhE,MAAA,CAGKU,MAAM,EAAAV,MAAA,CAAG,IAAI,CAACiE,WAAW,CAAC,IAAI,CAAC5D,OAAO,CAACqD,KAAK,CAACpD,IAAI,CAAC,CAAC,OAAAN,MAAA,CAAI8D,IAAI,EAAA9D,MAAA,CAC5D2B,MAAM,CAACrB,IAAI;IAAA;EAGjB;EAEAkD,gBAAgBA,CAAC9C,MAAc,EAAEY,MAAe,EAAE;IAChD,IAAI4C,SAAS,GAAG,EAAE;IAClB,IAAI5C,MAAM,CAAC6C,UAAU,CAACjG,MAAM,GAAG,CAAC,EAAE;MAChC,IAAMkG,MAAM,GAAG,IAAI,CAACC,UAAU,CAAC/C,MAAM,CAAC,GAAG,SAAS,GAAG,EAAE;MACvD,KAAK,IAAMoC,KAAK,IAAIpC,MAAM,CAAC6C,UAAU,EAAE;QACrC,IAAIT,KAAK,CAACY,QAAQ,CAAC,CAAC,EAAE;UACpB,IAAMhE,IAAI,GAAG,IAAI,CAACiE,QAAQ,CAACb,KAAK,CAACpD,IAAI,EAAE8D,MAAM,CAAC;UAE9CF,SAAS,OAAAlE,MAAA,CAAOU,MAAM,EAAAV,MAAA,CAAGM,IAAI,wBAAAN,MAAA,CAAqBM,IAAI,QAAK;QAC7D;MACF;IACF;IACA,OAAO4D,SAAS;EAClB;EAEAT,QAAQA,CAAC/C,MAAc,EAAEY,MAAe,EAAE;IACxC,IAAMkD,OAAO,GAAG,IAAI,CAACH,UAAU,CAAC/C,MAAM,CAAC,GAAG,SAAS,GAAG,EAAE;IACxD,IAAMK,MAAM,GAAG,IAAI,CAACC,OAAO,CAACN,MAAM,CAACO,IAAI,CAAC;IACxC,IAAMS,IAAI,GAAG5B,MAAM,GAAG,IAAI,CAAC6B,SAAS;IACpC,IAAME,IAAI,GAAG,IAAI,CAACgC,QAAQ,CAACnC,IAAI,EAAEhB,MAAM,CAAC;IAExC,IAAMoD,SAAS,GACb/C,MAAM,CAACrB,IAAI,KAAK,MAAM,GAAG,EAAE,MAAAN,MAAA,CAAMU,MAAM,iBAAAV,MAAA,CAAc2B,MAAM,CAACrB,IAAI,OAAI;IACtE,IAAMqE,aAAa,GAAGhD,MAAM,CAACrB,IAAI,KAAK,MAAM,GAAG,KAAK,YAAY;IAChE,IAAMlB,MAAM,GAAGuC,MAAM,CAACrB,IAAI,KAAK,MAAM,GAAG,EAAE,GAAG,UAAU;IACvD,OACE,KACAoE,SAAS,MAAA1E,MAAA,CACNU,MAAM,8BAAAV,MAAA,CAA2B2E,aAAa,UAAA3E,MAAA,CAAM,IAAI,CAAC4E,UAAU,CACpEtD,MAAM,CAACW,UAAU,CAAC4C,WAAW,CAAC,CAChC,CAAC,YAAA7E,MAAA,CAAO,IAAI,CAAC8E,OAAO,UAAA9E,MAAA,CAAM,IAAI,CAAC+E,QAAQ,CAACzD,MAAM,CAACY,QAAQ,EAAEsC,OAAO,CAAC,CAAE,MAAAxE,MAAA,CAChEyC,IAAI,GAAG,IAAI,GAAGA,IAAI,GAAG,EAAE,MAAG,GAC7B,IAAI,MAAAzC,MAAA,CACDU,MAAM,aAAAV,MAAA,CAAUZ,MAAM,QAAK,GAC9B,IAAI;EAER;EAUAqF,QAAQA,CAAC/D,MAAc,EAAEY,MAAe,EAAE;IACxC,IAAMkD,OAAO,GAAG,IAAI,CAACH,UAAU,CAAC/C,MAAM,CAAC,GAAG,SAAS,GAAG,EAAE;IAIxD,IAAI0D,OAAO,GAAG,SAAS;IACvB,IAAIC,IAAI,GAAG3D,MAAM,CAAC4D,OAAO,GACrB,IAAI,CAACX,QAAQ,CAACjD,MAAM,CAAC4D,OAAO,EAAEV,OAAO,CAAC,GACtC,IAAI,CAACW,OAAO;IAChB,IAAIC,KAAK,GAAG,IAAI,CAACC,QAAQ,CAAC3E,MAAM,EAAEY,MAAM,CAACgE,SAAS,EAAEd,OAAO,CAAC;IAC5D,IAAMe,QAAQ,GAAG,IAAI,CAACC,cAAc,CAAClE,MAAM,EAAE2D,IAAI,EAAEG,KAAK,EAAEJ,OAAO,CAAC;IAClEC,IAAI,GAAGM,QAAQ,CAACN,IAAI;IACpBG,KAAK,GAAGG,QAAQ,CAACH,KAAK;IACtBJ,OAAO,GAAGO,QAAQ,CAACP,OAAO;IAE1B,IAAI5F,MAAM,GAAG,IAAI,CAACqG,OAAO,CAAC,EAAE,EAAET,OAAO,CAAC;IACtC5F,MAAM,GAAG,IAAI,CAACqG,OAAO,CAACrG,MAAM,EAAE6F,IAAI,CAAC;IACnC7F,MAAM,GAAG,IAAI,CAACqG,OAAO,CAACrG,MAAM,EAAEgG,KAAK,CAAC;IACpC,OAAOhG,MAAM;EACf;EAEAoG,cAAcA,CACZlE,MAAe,EACf2D,IAAY,EACZG,KAAa,EACbJ,OAAe,EACmC;IAClD,IAAI1D,MAAM,CAACoE,gBAAgB,EAAE;MAC3BT,IAAI,GAAGG,KAAK,CAACO,OAAO,CAAC,wBAAwB,EAAE,YAAY,CAAC;MAC5DP,KAAK,GAAG,IAAI,CAACD,OAAO;IACtB;IACA,OAAO;MAAEF,IAAI;MAAEG,KAAK;MAAEJ;IAAQ,CAAC;EACjC;EAEAK,QAAQA,CAACO,OAAe,EAAEnD,IAAW,EAAE2B,MAAe,EAAE;IACtD,IAAI,CAAC3B,IAAI,IAAIA,IAAI,CAACvE,MAAM,KAAK,CAAC,EAAE,OAAO,IAAI,CAACiH,OAAO;IACnD,IAAMU,IAAc,GAAG,EAAE;IACzB,KAAK,IAAMC,GAAG,IAAIrD,IAAI,EAAE;MACtB,IAAMsD,QAAQ,GAAG,IAAI,CAAC1F,OAAO,CAACyF,GAAG,CAAC;MAClC,IAAI1B,MAAM,EAAE;QACVyB,IAAI,CAAC3G,IAAI,MAAAc,MAAA,CAAK+F,QAAQ,UAAA/F,MAAA,CAAM,IAAI,CAACuE,QAAQ,CAACuB,GAAG,EAAE1B,MAAM,CAAC,CAAE,CAAC;MAC3D,CAAC,MAAM;QACLyB,IAAI,CAAC3G,IAAI,MAAAc,MAAA,CAAK+F,QAAQ,UAAA/F,MAAA,CAAM,IAAI,CAACiE,WAAW,CAAC8B,QAAQ,CAAC,CAAE,CAAC;MAC3D;IACF;IACA,iCAAA/F,MAAA,CAAiC6F,IAAI,CAAChD,IAAI,CAAC,IAAI,CAACmD,YAAY,CAAC;EAC/D;EAEAjB,QAAQA,CAACkB,IAAY,EAAE7B,MAAe,EAAE;IACtCA,MAAM,GAAGA,MAAM,IAAI,EAAE;IACrB,IAAI6B,IAAI,CAAC9F,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;MAC1B,IAAM+F,IAAc,GAAG,EAAE;MACzB,IAAMnI,GAAG,GAAGkI,IAAI,CAACN,OAAO,CAAC,UAAU,EAAEQ,KAAK,IAAI;QAC5CD,IAAI,CAAChH,IAAI,CACP,IAAI,CAACqF,QAAQ,CAAC4B,KAAK,CAACR,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAACA,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,EAAEvB,MAAM,CAC/D,CAAC;QACD,OAAO,IAAI;MACb,CAAC,CAAC;MACF,IAAMgC,OAAO,GAAGF,IAAI,CAACrD,IAAI,CAAC,IAAI,CAAC;MAC/B,OAAOuD,OAAO,oBAAApG,MAAA,CAAmBjC,GAAG,UAAAiC,MAAA,CAAMoG,OAAO,cAAApG,MAAA,CAAUjC,GAAG,OAAG;IACnE;IACA,YAAAiC,MAAA,CAAWiG,IAAI;EACjB;EAeA1B,QAAQA,CAACjE,IAAY,EAAE8D,MAAe,EAAE;IACtC,IAAM2B,QAAQ,GAAG,IAAI,CAAC1F,OAAO,CAAC,IAAI,CAAC4D,WAAW,CAAC3D,IAAI,CAAC,CAAC;IACrD,IAAI,CAAC8D,MAAM,EAAE,OAAO2B,QAAQ;IAC5B,UAAA/F,MAAA,CAAUoE,MAAM,OAAApE,MAAA,CAAI,IAAI,CAACqD,cAAc,CAAC/C,IAAI,CAAC;EAG/C;EAEA+F,eAAeA,CAACT,OAAe,EAAU;IACvC,OAAO,EAAE;EACX;EAEAU,eAAeA,CAACV,OAAe,EAAU;IACvC,eAAA5F,MAAA,CACC,IAAI,CAACuG,WAAW,CAAC,CAAC,kBAAAvG,MAAA,CAEb,IAAI,CAACD,WAAW;EAwBxB;EAEAyG,cAAcA,CAACZ,OAAe,EAAE;IAC9B,IAAMa,QAAQ,sFAIhB;IAEE,eAAAzG,MAAA,CACC,IAAI,CAACuG,WAAW,CAAC,CAAC,kBAAAvG,MAAA,CAEb,IAAI,CAACD,WAAW,QAAAC,MAAA,CACxByG,QAAQ;EAER;EAEAC,cAAcA,CAACd,OAAe,EAAU;IACtC,OAAO,EAAE;EACX;EAEAe,OAAOA,CAACf,OAAe,EAAEgB,KAAyB,EAAU;IAC1D,OAAO,EAAE;EACX;EAEAC,aAAaA,CAACnG,MAAc,EAAEmB,IAAW,EAAU;IACjD,OACE,IAAI,CAACf,OAAO,CAACJ,MAAM,EAAEmB,IAAI,CAACd,WAAW,CAAC,GACtC,IAAI,MAAAf,MAAA,CACDU,MAAM,WAAAV,MAAA,CAAQ6B,IAAI,CAACvB,IAAI,gBAAa;EAE3C;EAEAwG,WAAWA,CAACpG,MAAc,EAAEK,WAAmB,EAAU;IACvD,UAAAf,MAAA,CAAUU,MAAM,gBAAAV,MAAA,CAAae,WAAW;EAC1C;EAEAgG,SAASA,CAACrG,MAAc,EAAEK,WAAmB,EAAU;IACrD,UAAAf,MAAA,CAAUU,MAAM,mBAAAV,MAAA,CAAgBe,WAAW;EAC7C;EAEAa,OAAOA,CAACC,IAAW,EAAe;IAChC,KAAK,CAACD,OAAO,CAACC,IAAI,CAAC;IACnB,IAAMmF,EAAE,GAAG,IAAI,CAAC7B,OAAO;IACvB,IAAM8B,OAAoC,GAAG;MAC3CC,GAAG,EAAE;QAAElD,OAAO,EAAEgD,EAAE;QAAE1G,IAAI,EAAE;MAAc,CAAC;MACzC6G,OAAO,EAAE;QAAEnD,OAAO,EAAEgD,EAAE;QAAE1G,IAAI,EAAE;MAAO,CAAC;MACtC8G,IAAI,EAAE;QAAEpD,OAAO,EAAEgD,EAAE;QAAE1G,IAAI,EAAE;MAAO,CAAC;MACnC+G,IAAI,EAAE;QAAErD,OAAO,EAAE,EAAE;QAAE1D,IAAI,EAAE;MAAY,CAAC;MACxCgH,QAAQ,EAAE;QAAEtD,OAAO,EAAE,EAAE;QAAE1D,IAAI,EAAE;MAAY,CAAC;MAC5CiH,MAAM,EAAE;QAAEvD,OAAO,EAAEgD,EAAE;QAAE1G,IAAI,EAAE;MAAU,CAAC;MACxCkH,KAAK,EAAE;QAAExD,OAAO,EAAEgD,EAAE;QAAE1G,IAAI,EAAE;MAAU,CAAC;MACvCmH,KAAK,EAAE;QAAEzD,OAAO,EAAEgD,EAAE;QAAE1G,IAAI,EAAE;MAAQ,CAAC;MACrCoH,KAAK,EAAE;QAAE1D,OAAO,EAAEgD,EAAE;QAAE1G,IAAI,EAAE;MAAQ,CAAC;MACrCqH,OAAO,EAAE;QAAE3D,OAAO,EAAEgD,EAAE;QAAE1G,IAAI,EAAE;MAAM,CAAC;MACrCsH,MAAM,EAAE;QAAE5D,OAAO,EAAEgD,EAAE;QAAE1G,IAAI,EAAE;MAAU,CAAC;MACxCuH,MAAM,EAAE;QAAE7D,OAAO,EAAEgD,EAAE;QAAE1G,IAAI,EAAE;MAAc,CAAC;MAC5CwH,QAAQ,EAAE;QAAE9D,OAAO,EAAEgD,EAAE;QAAE1G,IAAI,EAAE;MAAS,CAAC;MACzCyH,MAAM,EAAE;QAAE/D,OAAO,EAAEgD,EAAE;QAAE1G,IAAI,EAAE;MAAS,CAAC;MACvC0H,GAAG,EAAE;QAAEhE,OAAO,EAAEgD,EAAE;QAAE1G,IAAI,EAAE;MAAU,CAAC;MACrC2H,GAAG,EAAE;QAAEjE,OAAO,EAAEgD,EAAE;QAAE1G,IAAI,EAAE;MAAU,CAAC;MACrC4H,IAAI,EAAE;QAAElE,OAAO,EAAEgD,EAAE;QAAE1G,IAAI,EAAE;MAAO;IACpC,CAAC;IAED,IAAIuB,IAAI,CAACsG,WAAW,EAAE;MAEpB,IAAMC,GAAG,GAAG,IAAI,CAACxG,OAAO,CAACC,IAAI,CAACsG,WAAW,CAAC;MAC1C,QAAQtG,IAAI,CAACwG,SAAS;QACpB,KAAK,WAAW;UACd,OAAO;YAAErE,OAAO,EAAE,IAAI,CAACmB,OAAO;YAAE7E,IAAI,OAAAN,MAAA,CAAOoI,GAAG,CAAC9H,IAAI;UAAG,CAAC;QACzD,KAAK,UAAU;UAAE;YACf,IAAMgI,OAAO,GACXzG,IAAI,CAACsG,WAAW,CAAC7H,IAAI,KAAK,QAAQ,GAAG,aAAa,GAAG8H,GAAG,CAAC9H,IAAI;YAG/D,OAAO;cACL0D,OAAO,EAAE,IAAI,CAACmB,OAAO;cACrB7E,IAAI,EAAE,aAAa,MAAAN,MAAA,CAAMsI,OAAO;YAClC,CAAC;UACH;QACA,KAAK,gBAAgB;UACnB,OAAO;YACLtE,OAAO,EAAE,IAAI,CAACmB,OAAO;YACrB7E,IAAI,cAAAN,MAAA,CAAc,IAAI,CAAC4E,UAAU,CAACwD,GAAG,CAAC9H,IAAI,CAAC;UAC7C,CAAC;QACH,KAAK,UAAU;UACb,OAAO;YAAE0D,OAAO,EAAE,EAAE;YAAE1D,IAAI,EAAE,IAAI,CAACsE,UAAU,CAAC/C,IAAI,CAACvB,IAAI;UAAE,CAAC;MAC5D;MACA,MAAM,IAAIiI,KAAK,8BAAAvI,MAAA,CAA8BwI,IAAI,CAACC,SAAS,CAAC5G,IAAI,CAAC,CAAE,CAAC;IACtE;IAEA,IAAIA,IAAI,CAACvB,IAAI,EAAE;MACb,OACE2G,OAAO,CAACpF,IAAI,CAACvB,IAAI,CAAC,IAAI;QAAE0D,OAAO,EAAE,IAAI,CAACmB,OAAO;QAAE7E,IAAI,KAAAN,MAAA,CAAK6B,IAAI,CAACvB,IAAI;MAAG,CAAC;IAEzE,CAAC,MAAM;MACL,MAAM,IAAIiI,KAAK,CAAC,gCAAgC,CAAC;IACnD;EACF;EAEAG,WAAWA,CAAChI,MAAc,EAAEmB,IAAW,EAAE;IACvC,IAAMS,IAAI,GAAG,IAAI,CAACiB,MAAM,CAAC7C,MAAM,CAAC;IAEhC,IAAMiI,MAAM,GAAG,IAAIvK,iBAAiB,CAAC,CAAC;IAEtC,IAAI;MACF,IAAIyD,IAAI,YAAY+G,mBAAQ,EAAE;QAE5B,IAAMC,KAAe,GAAG,EAAE;QAC1B,IAAIC,cAAc,GAAG,EAAE;QACvB,IAAM7K,GAAG,GAAG4D,IAAgB;QAC5B,IAAMkH,QAAQ,GAAG,IAAI,CAACnE,UAAU,CAAC/C,IAAI,CAACvB,IAAI,CAAC;QAC3CuI,KAAK,CAAC3J,IAAI,SAAAc,MAAA,CAAS+I,QAAQ,YAAS,CAAC;QACrC9K,GAAG,CAAC+K,MAAM,CAACpK,OAAO,CAAC1B,KAAK,IAAI;UAE1B,IAAI,CAAC+L,gBAAgB,CAAC3G,IAAI,EAAEpF,KAAK,EAAE6L,QAAQ,EAAEJ,MAAM,CAAC;QACtD,CAAC,CAAC;QACFE,KAAK,CAAC3J,IAAI,CAACyJ,MAAM,CAACxJ,QAAQ,CAAC,CAAC,CAAC;QAC7B2J,cAAc,GAAGD,KAAK,CAAChG,IAAI,CAAC,IAAI,CAACqG,aAAa,CAAC;QAE/C,OAAOJ,cAAc;MACvB,CAAC,MAAM;QACL,IAAI,CAACK,cAAc,CAACtH,IAAI,CAAC,CAACjD,OAAO,CAACwK,IAAI,IAEpC,IAAI,CAACC,eAAe,CAAC/G,IAAI,EAAE8G,IAAI,EAAET,MAAM,CACzC,CAAC;MAEH;IACF,CAAC,CAAC,OAAAW,OAAA,EAAM;MACN,MAAM,IAAIf,KAAK,CAACC,IAAI,CAACC,SAAS,CAAC5G,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAChD;IACA,OACE,IAAI,CAACgF,aAAa,CAACnG,MAAM,EAAEmB,IAAI,CAAC,GAChC8G,MAAM,CAACxJ,QAAQ,CAAC,CAAC,GACjB,IAAI,CAACoK,SAAS,CAAC7I,MAAM,EAAEmB,IAAI,CAAC,MAAA7B,MAAA,CACzB,IAAI,CAACwJ,UAAU,GAAG9I,MAAM,GAAG,EAAE,EAAAV,MAAA,CAAG,IAAI,CAACwJ,UAAU,CAAE;EAExD;EAEAP,gBAAgBA,CACdrD,OAAe,EACf1I,KAAoB,EACpBuM,QAAiB,EACjBd,MAA0B,EAC1B;IACA,IAAMe,KAAK,GAAG,OAAOxM,KAAK,KAAK,QAAQ,GAAG,IAAI,CAACyM,SAAS,GAAG,EAAE;IAC7D,IAAMrJ,IAAI,MAAAN,MAAA,CAAMyJ,QAAQ,OAAAzJ,MAAA,CAAI,IAAI,CAACqD,cAAc,CAACnG,KAAK,CAACiC,QAAQ,CAAC,CAAC,CAAC,CAAE;IACnE,IAAIwJ,MAAM,EAAE;MACVA,MAAM,CAACrK,QAAQ,CACb,OAAO,EACPgC,IAAI,EACJmJ,QAAQ,IAAI,EAAE,EACd,GAAG,KAAAzJ,MAAA,CACA0J,KAAK,EAAA1J,MAAA,CAAG9C,KAAK,EAAA8C,MAAA,CAAG0J,KAAK,CAC1B,CAAC;IACH;IACA,gBAAA1J,MAAA,CAAgBM,IAAI,OAAAN,MAAA,CAAIyJ,QAAQ,SAAAzJ,MAAA,CAAM0J,KAAK,EAAA1J,MAAA,CAAG9C,KAAK,EAAA8C,MAAA,CAAG0J,KAAK;EAC7D;EAEAL,eAAeA,CACb3I,MAAc,EACdkJ,QAAmB,EACnBjB,MAA0B,EAClB;IACR,IAAM9G,IAAI,GAAG,IAAI,CAACD,OAAO,CAACgI,QAAQ,CAAC/H,IAAI,CAAC;IACxC,IAAMvB,IAAI,GAAG,IAAI,CAAC+C,cAAc,CAACuG,QAAQ,CAACtJ,IAAI,CAAC;IAC/C,IAAMyI,QAAQ,GAAGlH,IAAI,CAACvB,IAAI;IAE1B,IAAMuJ,GAAG,GAAGD,QAAQ,CAAC7I,WAAW,MAAAf,MAAA,CACzB,IAAI,CAACc,OAAO,CAAC,GAAG,EAAE8I,QAAQ,CAAC7I,WAAW,CAAC,IAC1C,EAAE;IAEN,IAAM+I,YAAY,GAAGF,QAAQ,CAAC7F,QAAQ,GAAG,EAAE,GAAG,YAAY;IAC1D,IAAMgG,eAAe,GAAGH,QAAQ,CAAC7F,QAAQ,GAAG,EAAE,GAAG,GAAG;IAEpD,IAAI4E,MAAM,EAAE;MACVA,MAAM,CAACrK,QAAQ,IAAA0B,MAAA,CACVU,MAAM,EAAAV,MAAA,CAAGM,IAAI,MAAAN,MAAA,CACb+J,eAAe,EAAA/J,MAAA,CAAG+I,QAAQ,cAAA/I,MAAA,CAClB4J,QAAQ,CAACtJ,IAAI,EAAAN,MAAA,CAAG8J,YAAY,UACvCD,GACF,CAAC;IACH;IACA;EACF;EAEAjF,UAAUA,CAAC7G,GAAW,EAAU;IAC9B,OAAOA,GAAG,CAACiM,MAAM,CAAC,CAAC,CAAC,CAACnF,WAAW,CAAC,CAAC,GAAG9G,GAAG,CAACkM,KAAK,CAAC,CAAC,CAAC;EACnD;EAEA5G,cAAcA,CAACtF,GAAW,EAAU;IAClC,OAAO,IAAI,CAAC6G,UAAU,CACpB7G,GAAG,CAAC4H,OAAO,CAAC,cAAc,EAAEQ,KAAK,IAC/BA,KAAK,CAACtB,WAAW,CAAC,CAAC,CAACc,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAACA,OAAO,CAAC,GAAG,EAAE,EAAE,CACtD,CACF,CAAC;EACH;EAEA1B,WAAWA,CAAClG,GAAW,EAAU;IAC/B,OAAOA,GAAG,CAAC4H,OAAO,CAAC,cAAc,EAAEQ,KAAK,IACtCA,KAAK,CAACtB,WAAW,CAAC,CAAC,CAACc,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAACA,OAAO,CAAC,GAAG,EAAE,EAAE,CACtD,CAAC;EACH;AACF;AAACuE,OAAA,CAAAxK,KAAA,GAAAA,KAAA","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@looker/sdk-codegen",
3
- "version": "21.11.3",
3
+ "version": "26.12.0",
4
4
  "description": "Looker SDK Codegen core",
5
5
  "main": "lib/index.js",
6
6
  "module": "lib/esm/index.js",
@@ -39,9 +39,9 @@
39
39
  "blueimp-md5": "2.18.0",
40
40
  "openapi3-ts": "2.0.2"
41
41
  },
42
- "gitHead": "2eef678cbe8af38ea6070b08e80895df7c5f5ee0",
42
+ "gitHead": "c2bf549bdb6bf02117875712094195a7b48701fb",
43
43
  "devDependencies": {
44
- "@looker/sdk-codegen-utils": "21.0.33",
44
+ "@looker/sdk-codegen-utils": "21.0.35",
45
45
  "@types/blueimp-md5": "2.18.2",
46
46
  "lodash": "4.17.21"
47
47
  }