@looker/sdk-codegen 21.8.2 → 21.9.2
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 +153 -167
- package/README.md +0 -1
- package/lib/codeGen.d.ts +15 -1
- package/lib/codeGen.js +23 -6
- package/lib/codeGen.js.map +1 -1
- package/lib/codeGenerators.d.ts +3 -3
- package/lib/codeGenerators.js +2 -4
- package/lib/codeGenerators.js.map +1 -1
- package/lib/csharp.gen.d.ts +1 -1
- package/lib/csharp.gen.js +2 -2
- package/lib/csharp.gen.js.map +1 -1
- package/lib/declarationInfo.d.ts +3 -3
- package/lib/declarationInfo.js +1 -2
- package/lib/declarationInfo.js.map +1 -1
- package/lib/esm/codeGen.js +33 -23
- package/lib/esm/codeGen.js.map +1 -1
- package/lib/esm/codeGenerators.js +17 -28
- package/lib/esm/codeGenerators.js.map +1 -1
- package/lib/esm/csharp.gen.js +11 -18
- package/lib/esm/csharp.gen.js.map +1 -1
- package/lib/esm/declarationInfo.js +3 -10
- package/lib/esm/declarationInfo.js.map +1 -1
- package/lib/esm/exampleInfo.js +9 -24
- package/lib/esm/exampleInfo.js.map +1 -1
- package/lib/esm/go.gen.js +11 -18
- package/lib/esm/go.gen.js.map +1 -1
- package/lib/esm/index.js +13 -148
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/kotlin.gen.js +11 -18
- package/lib/esm/kotlin.gen.js.map +1 -1
- package/lib/esm/pseudo.gen.js +6 -13
- package/lib/esm/pseudo.gen.js.map +1 -1
- package/lib/esm/python.gen.js +13 -20
- package/lib/esm/python.gen.js.map +1 -1
- package/lib/esm/sdkModels.js +431 -116
- package/lib/esm/sdkModels.js.map +1 -1
- package/lib/esm/specConverter.js +31 -59
- package/lib/esm/specConverter.js.map +1 -1
- package/lib/esm/specDiff.js +19 -36
- package/lib/esm/specDiff.js.map +1 -1
- package/lib/esm/swift.gen.js +17 -24
- package/lib/esm/swift.gen.js.map +1 -1
- package/lib/esm/typescript.gen.js +168 -31
- package/lib/esm/typescript.gen.js.map +1 -1
- package/lib/exampleInfo.d.ts +8 -20
- package/lib/exampleInfo.js +1 -2
- package/lib/exampleInfo.js.map +1 -1
- package/lib/go.gen.js +3 -3
- package/lib/go.gen.js.map +1 -1
- package/lib/index.js.map +1 -1
- package/lib/kotlin.gen.d.ts +1 -1
- package/lib/kotlin.gen.js +2 -2
- package/lib/kotlin.gen.js.map +1 -1
- package/lib/pseudo.gen.js +2 -2
- package/lib/pseudo.gen.js.map +1 -1
- package/lib/python.gen.js +4 -4
- package/lib/python.gen.js.map +1 -1
- package/lib/sdkModels.d.ts +33 -13
- package/lib/sdkModels.js +397 -46
- package/lib/sdkModels.js.map +1 -1
- package/lib/specConverter.d.ts +9 -12
- package/lib/specConverter.js +14 -22
- package/lib/specConverter.js.map +1 -1
- package/lib/specDiff.d.ts +4 -4
- package/lib/specDiff.js +6 -8
- package/lib/specDiff.js.map +1 -1
- package/lib/swift.gen.js +2 -2
- package/lib/swift.gen.js.map +1 -1
- package/lib/typescript.gen.d.ts +13 -0
- package/lib/typescript.gen.js +157 -13
- package/lib/typescript.gen.js.map +1 -1
- package/package.json +8 -7
- package/lib/esm/testUtils/index.js +0 -17
- package/lib/esm/testUtils/index.js.map +0 -1
- package/lib/esm/testUtils/testUtils.js +0 -66
- package/lib/esm/testUtils/testUtils.js.map +0 -1
- package/lib/testUtils/index.js +0 -17
- package/lib/testUtils/index.js.map +0 -1
- package/lib/testUtils/testUtils.js +0 -66
- package/lib/testUtils/testUtils.js.map +0 -1
package/lib/exampleInfo.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { KeyedCollection } from './sdkModels';
|
|
1
|
+
import type { ArgValues, KeyedCollection } from './sdkModels';
|
|
2
2
|
export interface ISDKCall {
|
|
3
3
|
sdk: string;
|
|
4
4
|
operationId: string;
|
|
@@ -11,24 +11,24 @@ export interface IExampleLink {
|
|
|
11
11
|
tooltip: string;
|
|
12
12
|
lineNumber: string;
|
|
13
13
|
}
|
|
14
|
-
export
|
|
14
|
+
export type SDKCalls = ISDKCall[];
|
|
15
15
|
export interface ISummary {
|
|
16
16
|
sourceFile: string;
|
|
17
17
|
summary: string;
|
|
18
18
|
}
|
|
19
|
-
export
|
|
19
|
+
export type Summaries = KeyedCollection<ISummary>;
|
|
20
20
|
export interface IFileCall {
|
|
21
21
|
sourceFile: string;
|
|
22
22
|
line: number;
|
|
23
23
|
column?: number;
|
|
24
24
|
}
|
|
25
|
-
export
|
|
26
|
-
export
|
|
25
|
+
export type FileCalls = IFileCall[];
|
|
26
|
+
export type LanguageCalls = KeyedCollection<FileCalls>;
|
|
27
27
|
export interface INugget {
|
|
28
28
|
operationId: string;
|
|
29
29
|
calls: LanguageCalls;
|
|
30
30
|
}
|
|
31
|
-
export
|
|
31
|
+
export type Nuggets = KeyedCollection<INugget>;
|
|
32
32
|
export interface IMine {
|
|
33
33
|
commitHash: string;
|
|
34
34
|
remoteOrigin: string;
|
|
@@ -37,25 +37,13 @@ export interface IExampleMine extends IMine {
|
|
|
37
37
|
summaries: Summaries;
|
|
38
38
|
nuggets: Nuggets;
|
|
39
39
|
}
|
|
40
|
-
export
|
|
40
|
+
export type SourceLink = (remote: string, hash: string, fileName: string, line: number) => string;
|
|
41
41
|
export declare const permaLink: SourceLink;
|
|
42
42
|
export declare const codeSearchLink: SourceLink;
|
|
43
43
|
export declare const ideLink: (parentPath: string, fileName: string, line: number) => string;
|
|
44
44
|
export declare const summarize: (lode: IExampleMine, call: IFileCall) => string;
|
|
45
45
|
export declare const exampleLink: (lode: IExampleMine, call: IFileCall) => IExampleLink;
|
|
46
|
-
export declare const extensionToLanguage:
|
|
47
|
-
'.py': string;
|
|
48
|
-
'.ts': string;
|
|
49
|
-
'.tsx': string;
|
|
50
|
-
'.cs': string;
|
|
51
|
-
'.kt': string;
|
|
52
|
-
'.swift': string;
|
|
53
|
-
'.rb': string;
|
|
54
|
-
'.dart': string;
|
|
55
|
-
'.go': string;
|
|
56
|
-
'.md': string;
|
|
57
|
-
'.java': string;
|
|
58
|
-
};
|
|
46
|
+
export declare const extensionToLanguage: ArgValues;
|
|
59
47
|
export declare const getLanguageExtensions: (language: string) => string[];
|
|
60
48
|
export declare const findExampleLanguages: (lode: IExampleMine, methodName: string) => string[];
|
|
61
49
|
export declare const findExamples: (lode: IExampleMine, language: string, operationId: string) => IExampleLink[];
|
package/lib/exampleInfo.js
CHANGED
|
@@ -30,7 +30,7 @@ var exampleLink = (lode, call) => {
|
|
|
30
30
|
};
|
|
31
31
|
};
|
|
32
32
|
exports.exampleLink = exampleLink;
|
|
33
|
-
var extensionToLanguage = {
|
|
33
|
+
var extensionToLanguage = exports.extensionToLanguage = {
|
|
34
34
|
'.py': 'Python',
|
|
35
35
|
'.ts': 'TypeScript',
|
|
36
36
|
'.tsx': 'TypeScript',
|
|
@@ -43,7 +43,6 @@ var extensionToLanguage = {
|
|
|
43
43
|
'.md': 'Markdown',
|
|
44
44
|
'.java': 'Java'
|
|
45
45
|
};
|
|
46
|
-
exports.extensionToLanguage = extensionToLanguage;
|
|
47
46
|
var getLanguageExtensions = language => {
|
|
48
47
|
switch (language.toLowerCase()) {
|
|
49
48
|
case 'ts':
|
package/lib/exampleInfo.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exampleInfo.js","names":["permaLink","remote","hash","fileName","line","concat","exports","codeSearchLink","ideLink","parentPath","vscode","summarize","lode","call","sourceFile","summaries","summary","exampleLink","link","remoteOrigin","commitHash","permalink","description","tooltip","lineNumber","toString","extensionToLanguage","getLanguageExtensions","language","toLowerCase","findExampleLanguages","methodName","all","nuggets","result","Set","keys","Object","forEach","key","calls","add","Array","from","findExamples","operationId","exts","links","length","ext","push","sort","a","b","localeCompare"],"sources":["../src/exampleInfo.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 { KeyedCollection } from './sdkModels'\n\nexport interface ISDKCall {\n /** SDK variable name for the call found */\n sdk: string\n\n /** Name of the method/operationId */\n operationId: string\n\n /** Source code line number */\n line: number\n\n /** Source code column number where method name was found */\n column: number\n}\n\nexport interface IExampleLink {\n /** Either summary from .md documentation or the name of the source file */\n description: string\n /** permalink to file and line number */\n permalink: string\n /** text to show on hover */\n tooltip: string\n /** line number text */\n lineNumber: string\n}\n\nexport type SDKCalls = ISDKCall[]\n\nexport interface ISummary {\n /** relative file name */\n sourceFile: string\n /** summary extracted from md, rst, or other doc file */\n summary: string\n}\n\nexport type Summaries = KeyedCollection<ISummary>\n\nexport interface IFileCall {\n /** relative file name */\n sourceFile: string\n /** line number for source code call */\n line: number\n /** Optional column number for source code call. Maybe we don't need this datum */\n column?: number\n}\n\n/**\n { \"me\": {\n \".ts\": {\n [\n {\n \"hash\": \"TODO\",\n \"sourceFile\": \"foo.ts\",\n \"line\": 1,\n \"column\": 5,\n }\n ]\n }\n }\n}\n */\n\nexport type FileCalls = IFileCall[]\n\nexport type LanguageCalls = KeyedCollection<FileCalls>\n\nexport interface INugget {\n operationId: string\n calls: LanguageCalls\n}\n\nexport type Nuggets = KeyedCollection<INugget>\n\nexport interface IMine {\n commitHash: string\n remoteOrigin: string\n}\n\n/** All mined example data */\nexport interface IExampleMine extends IMine {\n summaries: Summaries\n nuggets: Nuggets\n}\n\n/** function type for formatting source code links */\nexport type SourceLink = (\n remote: string,\n hash: string,\n fileName: string,\n line: number\n) => string\n\n/**\n * Create a permalink for a github file with line number\n * @param remote https url for repository\n * @param hash commit hash\n * @param fileName name of file\n * @param line line number in file\n */\nexport const permaLink: SourceLink = (\n // https://github.com/looker-open-source/sdk-codegen/blob/bfca52d2c8ba85018f76548158fd1dd90aa1f64a/examples/typescript/customConfigReader.ts#L53\n remote: string,\n hash: string,\n fileName: string,\n line: number\n) => `${remote}/blob/${hash}/${fileName}#L${line}`\n\n/**\n * Create a permalink for a code search with commit hash and line number\n * @param remote https url for repository\n * @param hash commit hash\n * @param fileName name of file\n * @param line line number in file\n */\nexport const codeSearchLink: SourceLink = (\n remote: string,\n hash: string,\n fileName: string,\n line: number\n) => `${remote}/${fileName}?l=${line}&rcl=${hash}`\n\n/**\n * Create an IDE file link with line number\n * @param parentPath to fully qualify the source file\n * @param fileName full name of file\n * @param line line number in file\n */\nexport const ideLink = (\n // https://plugins.jetbrains.com/plugin/6027-remote-call\n // https://github.com/microsoft/vscode/issues/4883#issuecomment-270141535\n // pattern:\n parentPath: string,\n fileName: string,\n line: number\n) => {\n // const idea = 'http//localhost:8091'\n const vscode = 'vscode://'\n\n return `${vscode}${parentPath}/${fileName}:L:${line}`\n}\n\n/**\n * Gets the summary for an example file, or defaults to the file and line number\n * @param lode all mined example data\n * @param call specific call to summarize\n */\nexport const summarize = (lode: IExampleMine, call: IFileCall): string => {\n if (call.sourceFile in lode.summaries) {\n return lode.summaries[call.sourceFile].summary\n }\n // Default to file name if no summary is found\n return call.sourceFile\n}\n\n/**\n * Provides permalink and description for an example file call\n * @param lode all mined example data\n * @param call specific all to link\n */\nexport const exampleLink = (\n lode: IExampleMine,\n call: IFileCall\n): IExampleLink => {\n const link = permaLink(\n lode.remoteOrigin,\n lode.commitHash,\n call.sourceFile,\n call.line\n )\n\n return {\n permalink: link,\n description: summarize(lode, call),\n tooltip: `${call.sourceFile} line ${call.line}`,\n lineNumber: call.line.toString(),\n }\n}\n\n// TODO create one data set for extensionToLanguage and getLanguageExtensions\n/** map file extension to language name */\nexport const extensionToLanguage = {\n '.py': 'Python',\n '.ts': 'TypeScript',\n '.tsx': 'TypeScript',\n '.cs': 'C#',\n '.kt': 'Kotlin',\n '.swift': 'Swift',\n '.rb': 'Ruby',\n '.dart': 'Dart',\n '.go': 'Go',\n '.md': 'Markdown',\n '.java': 'Java',\n}\n\n/**\n * Return the recognized file extensions for the requested language\n * @param language\n */\nexport const getLanguageExtensions = (language: string): string[] => {\n switch (language.toLowerCase()) {\n case 'ts':\n case 'typescript':\n return ['.ts', 'tsx']\n case 'csharp':\n case 'c#':\n return ['.cs']\n case 'ruby':\n return ['.rb']\n case 'python':\n return ['.py']\n case 'swift':\n return ['.swift']\n case 'kotlin':\n return ['.kt']\n case 'dart':\n return ['.dart']\n case 'go':\n return ['.go']\n case 'java':\n return ['.java']\n default:\n return []\n }\n}\n\nexport const findExampleLanguages = (\n lode: IExampleMine,\n methodName: string\n) => {\n const all = lode.nuggets[methodName]\n if (!all) return []\n const result = new Set<string>()\n const keys = Object.keys(extensionToLanguage)\n keys.forEach((key) => {\n if (all.calls[key]) result.add(extensionToLanguage[key])\n })\n return Array.from(result)\n}\n\n/**\n * Searches for examples containing operationId usages in the given language\n * @param lode All example data\n * @param language Language example should be in\n * @param operationId Method's operationId to search for\n */\nexport const findExamples = (\n lode: IExampleMine,\n language: string,\n operationId: string\n): IExampleLink[] => {\n const all = lode.nuggets[operationId]\n const exts = getLanguageExtensions(language)\n const links: IExampleLink[] = []\n\n if (all && exts.length > 0) {\n exts.forEach((ext) => {\n const calls = all.calls[ext]\n if (calls) {\n calls.forEach((call: IFileCall) => {\n const link = exampleLink(lode, call)\n if (link) {\n links.push(exampleLink(lode, call))\n }\n })\n }\n })\n }\n return links.sort((a, b) => a.permalink.localeCompare(b.permalink))\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"exampleInfo.js","names":["permaLink","remote","hash","fileName","line","concat","exports","codeSearchLink","ideLink","parentPath","vscode","summarize","lode","call","sourceFile","summaries","summary","exampleLink","link","remoteOrigin","commitHash","permalink","description","tooltip","lineNumber","toString","extensionToLanguage","getLanguageExtensions","language","toLowerCase","findExampleLanguages","methodName","all","nuggets","result","Set","keys","Object","forEach","key","calls","add","Array","from","findExamples","operationId","exts","links","length","ext","push","sort","a","b","localeCompare"],"sources":["../src/exampleInfo.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 { ArgValues, KeyedCollection } from './sdkModels';\n\nexport interface ISDKCall {\n /** SDK variable name for the call found */\n sdk: string;\n\n /** Name of the method/operationId */\n operationId: string;\n\n /** Source code line number */\n line: number;\n\n /** Source code column number where method name was found */\n column: number;\n}\n\nexport interface IExampleLink {\n /** Either summary from .md documentation or the name of the source file */\n description: string;\n /** permalink to file and line number */\n permalink: string;\n /** text to show on hover */\n tooltip: string;\n /** line number text */\n lineNumber: string;\n}\n\nexport type SDKCalls = ISDKCall[];\n\nexport interface ISummary {\n /** relative file name */\n sourceFile: string;\n /** summary extracted from md, rst, or other doc file */\n summary: string;\n}\n\nexport type Summaries = KeyedCollection<ISummary>;\n\nexport interface IFileCall {\n /** relative file name */\n sourceFile: string;\n /** line number for source code call */\n line: number;\n /** Optional column number for source code call. Maybe we don't need this datum */\n column?: number;\n}\n\n/**\n { \"me\": {\n \".ts\": {\n [\n {\n \"hash\": \"TODO\",\n \"sourceFile\": \"foo.ts\",\n \"line\": 1,\n \"column\": 5,\n }\n ]\n }\n }\n}\n */\n\nexport type FileCalls = IFileCall[];\n\nexport type LanguageCalls = KeyedCollection<FileCalls>;\n\nexport interface INugget {\n operationId: string;\n calls: LanguageCalls;\n}\n\nexport type Nuggets = KeyedCollection<INugget>;\n\nexport interface IMine {\n commitHash: string;\n remoteOrigin: string;\n}\n\n/** All mined example data */\nexport interface IExampleMine extends IMine {\n summaries: Summaries;\n nuggets: Nuggets;\n}\n\n/** function type for formatting source code links */\nexport type SourceLink = (\n remote: string,\n hash: string,\n fileName: string,\n line: number\n) => string;\n\n/**\n * Create a permalink for a github file with line number\n * @param remote https url for repository\n * @param hash commit hash\n * @param fileName name of file\n * @param line line number in file\n */\nexport const permaLink: SourceLink = (\n // https://github.com/looker-open-source/sdk-codegen/blob/bfca52d2c8ba85018f76548158fd1dd90aa1f64a/examples/typescript/customConfigReader.ts#L53\n remote: string,\n hash: string,\n fileName: string,\n line: number\n) => `${remote}/blob/${hash}/${fileName}#L${line}`;\n\n/**\n * Create a permalink for a code search with commit hash and line number\n * @param remote https url for repository\n * @param hash commit hash\n * @param fileName name of file\n * @param line line number in file\n */\nexport const codeSearchLink: SourceLink = (\n remote: string,\n hash: string,\n fileName: string,\n line: number\n) => `${remote}/${fileName}?l=${line}&rcl=${hash}`;\n\n/**\n * Create an IDE file link with line number\n * @param parentPath to fully qualify the source file\n * @param fileName full name of file\n * @param line line number in file\n */\nexport const ideLink = (\n // https://plugins.jetbrains.com/plugin/6027-remote-call\n // https://github.com/microsoft/vscode/issues/4883#issuecomment-270141535\n // pattern:\n parentPath: string,\n fileName: string,\n line: number\n) => {\n // const idea = 'http//localhost:8091'\n const vscode = 'vscode://';\n\n return `${vscode}${parentPath}/${fileName}:L:${line}`;\n};\n\n/**\n * Gets the summary for an example file, or defaults to the file and line number\n * @param lode all mined example data\n * @param call specific call to summarize\n */\nexport const summarize = (lode: IExampleMine, call: IFileCall): string => {\n if (call.sourceFile in lode.summaries) {\n return lode.summaries[call.sourceFile].summary;\n }\n // Default to file name if no summary is found\n return call.sourceFile;\n};\n\n/**\n * Provides permalink and description for an example file call\n * @param lode all mined example data\n * @param call specific all to link\n */\nexport const exampleLink = (\n lode: IExampleMine,\n call: IFileCall\n): IExampleLink => {\n const link = permaLink(\n lode.remoteOrigin,\n lode.commitHash,\n call.sourceFile,\n call.line\n );\n\n return {\n permalink: link,\n description: summarize(lode, call),\n tooltip: `${call.sourceFile} line ${call.line}`,\n lineNumber: call.line.toString(),\n };\n};\n\n// TODO create one data set for extensionToLanguage and getLanguageExtensions\n/** map file extension to language name */\nexport const extensionToLanguage: ArgValues = {\n '.py': 'Python',\n '.ts': 'TypeScript',\n '.tsx': 'TypeScript',\n '.cs': 'C#',\n '.kt': 'Kotlin',\n '.swift': 'Swift',\n '.rb': 'Ruby',\n '.dart': 'Dart',\n '.go': 'Go',\n '.md': 'Markdown',\n '.java': 'Java',\n};\n\n/**\n * Return the recognized file extensions for the requested language\n * @param language\n */\nexport const getLanguageExtensions = (language: string): string[] => {\n switch (language.toLowerCase()) {\n case 'ts':\n case 'typescript':\n return ['.ts', 'tsx'];\n case 'csharp':\n case 'c#':\n return ['.cs'];\n case 'ruby':\n return ['.rb'];\n case 'python':\n return ['.py'];\n case 'swift':\n return ['.swift'];\n case 'kotlin':\n return ['.kt'];\n case 'dart':\n return ['.dart'];\n case 'go':\n return ['.go'];\n case 'java':\n return ['.java'];\n default:\n return [];\n }\n};\n\nexport const findExampleLanguages = (\n lode: IExampleMine,\n methodName: string\n) => {\n const all = lode.nuggets[methodName];\n if (!all) return [];\n const result = new Set<string>();\n const keys = Object.keys(extensionToLanguage);\n keys.forEach(key => {\n if (all.calls[key]) result.add(extensionToLanguage[key]);\n });\n return Array.from(result);\n};\n\n/**\n * Searches for examples containing operationId usages in the given language\n * @param lode All example data\n * @param language Language example should be in\n * @param operationId Method's operationId to search for\n */\nexport const findExamples = (\n lode: IExampleMine,\n language: string,\n operationId: string\n): IExampleLink[] => {\n const all = lode.nuggets[operationId];\n const exts = getLanguageExtensions(language);\n const links: IExampleLink[] = [];\n\n if (all && exts.length > 0) {\n exts.forEach(ext => {\n const calls = all.calls[ext];\n if (calls) {\n calls.forEach((call: IFileCall) => {\n const link = exampleLink(lode, call);\n if (link) {\n links.push(exampleLink(lode, call));\n }\n });\n }\n });\n }\n return links.sort((a, b) => a.permalink.localeCompare(b.permalink));\n};\n"],"mappings":"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"}
|
package/lib/go.gen.js
CHANGED
|
@@ -7,8 +7,8 @@ exports.GoGen = void 0;
|
|
|
7
7
|
var _codeGen = require("./codeGen");
|
|
8
8
|
var _sdkModels = require("./sdkModels");
|
|
9
9
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
10
|
-
function _toPropertyKey(
|
|
11
|
-
function _toPrimitive(
|
|
10
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
|
|
11
|
+
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
12
12
|
var align = (str, size) => {
|
|
13
13
|
var num = size - str.length + 1;
|
|
14
14
|
return str + ' '.repeat(num);
|
|
@@ -193,7 +193,7 @@ class GoGen extends _codeGen.CodeGen {
|
|
|
193
193
|
return '';
|
|
194
194
|
}
|
|
195
195
|
methodsPrologue(_indent) {
|
|
196
|
-
return "\n// ".concat(this.warnEditing(), "\n\npackage ").concat(this.packageName, "\n\nimport (\n \"fmt\"\n \"github.com/looker-open-source/sdk-codegen/go/rtl\"\n \"net/url\"\n \"time\"\n)\n\ntype
|
|
196
|
+
return "\n// ".concat(this.warnEditing(), "\n\npackage ").concat(this.packageName, "\n\nimport (\n \"fmt\"\n \"github.com/looker-open-source/sdk-codegen/go/rtl\"\n \"net/url\"\n \"time\"\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 session authSessionDoer\n}\n\nfunc NewLookerSDK(session authSessionDoer) *LookerSDK {\n return &LookerSDK{\n session: session,\n }\n}\n");
|
|
197
197
|
}
|
|
198
198
|
modelsPrologue(_indent) {
|
|
199
199
|
var goImport = "\nimport (\n \"github.com/looker-open-source/sdk-codegen/go/rtl\"\n \"time\"\n)";
|
package/lib/go.gen.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"go.gen.js","names":["_codeGen","require","_sdkModels","_defineProperty","obj","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","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","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","argFill","bodyArg","nullStr","argGroup","queryArgs","_indent","hash","reserved","argDelimiter","path","vars","replace","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: Array<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.session.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 result = this.argFill('', 'options')\n // let result = this.argFill('', this.argGroup(indent, method.cookieArgs, request))\n // result = this.argFill(result, this.argGroup(indent, method.headerArgs, request))\n result = this.argFill(\n result,\n method.bodyArg ? this.accessor(method.bodyArg, request) : this.nullStr\n )\n result = this.argFill(\n result,\n this.argGroup(indent, method.queryArgs, request)\n )\n return result\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: Array<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 \"github.com/looker-open-source/sdk-codegen/go/rtl\"\n \"net/url\"\n \"time\"\n)\n\ntype LookerSDK struct {\n session *rtl.AuthSession\n}\n\nfunc NewLookerSDK(session *rtl.AuthSession) *LookerSDK {\n return &LookerSDK{\n session: 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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"}
|
|
1
|
+
{"version":3,"file":"go.gen.js","names":["_codeGen","require","_sdkModels","_defineProperty","obj","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","String","r","e","Symbol","toPrimitive","call","TypeError","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","argFill","bodyArg","nullStr","argGroup","queryArgs","_indent","hash","arg","reserved","argDelimiter","path","vars","replace","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.session.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 result = this.argFill('', 'options');\n // let result = this.argFill('', this.argGroup(indent, method.cookieArgs, request))\n // result = this.argFill(result, this.argGroup(indent, method.headerArgs, request))\n result = this.argFill(\n result,\n method.bodyArg ? this.accessor(method.bodyArg, request) : this.nullStr\n );\n result = this.argFill(\n result,\n this.argGroup(indent, method.queryArgs, request)\n );\n return result;\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 \"github.com/looker-open-source/sdk-codegen/go/rtl\"\n \"net/url\"\n \"time\"\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 session authSessionDoer\n}\n\nfunc NewLookerSDK(session authSessionDoer) *LookerSDK {\n return &LookerSDK{\n session: 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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"}
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_codeGen","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_sdkModels","_kotlin","_pseudo","_python","_swift","_typescript","_csharp","_codeGenerators","_exampleInfo","_declarationInfo","_specDiff","_specConverter"],"sources":["../src/index.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\nexport * from './codeGen'
|
|
1
|
+
{"version":3,"file":"index.js","names":["_codeGen","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_sdkModels","_kotlin","_pseudo","_python","_swift","_typescript","_csharp","_codeGenerators","_exampleInfo","_declarationInfo","_specDiff","_specConverter"],"sources":["../src/index.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\nexport * from './codeGen';\nexport * from './sdkModels';\nexport * from './kotlin.gen';\nexport * from './pseudo.gen';\nexport * from './python.gen';\nexport * from './swift.gen';\nexport * from './typescript.gen';\nexport * from './csharp.gen';\nexport * from './codeGenerators';\nexport * from './exampleInfo';\nexport * from './declarationInfo';\nexport * from './specDiff';\nexport * from './specConverter';\n"],"mappings":"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"}
|
package/lib/kotlin.gen.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Arg, EnumValueType, IMethod, IParameter, IProperty, IType
|
|
1
|
+
import type { Arg, ArgValues, EnumValueType, IMethod, IParameter, IProperty, IType } from './sdkModels';
|
|
2
2
|
import type { IMappedType } from './codeGen';
|
|
3
3
|
import { CodeGen } from './codeGen';
|
|
4
4
|
export declare class KotlinGen extends CodeGen {
|
package/lib/kotlin.gen.js
CHANGED
|
@@ -7,8 +7,8 @@ exports.KotlinGen = void 0;
|
|
|
7
7
|
var _sdkModels = require("./sdkModels");
|
|
8
8
|
var _codeGen = require("./codeGen");
|
|
9
9
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
10
|
-
function _toPropertyKey(
|
|
11
|
-
function _toPrimitive(
|
|
10
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
|
|
11
|
+
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
12
12
|
class KotlinGen extends _codeGen.CodeGen {
|
|
13
13
|
constructor() {
|
|
14
14
|
super(...arguments);
|