@looker/sdk-codegen 21.11.1 → 21.11.3
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 +22 -0
- package/lib/codeGen.d.ts +2 -1
- package/lib/codeGen.js +14 -9
- package/lib/codeGen.js.map +1 -1
- package/lib/codeGenerators.js.map +1 -1
- package/lib/csharp.gen.d.ts +5 -0
- package/lib/csharp.gen.js +21 -4
- package/lib/csharp.gen.js.map +1 -1
- package/lib/declarationInfo.js.map +1 -1
- package/lib/esm/codeGen.js +15 -9
- package/lib/esm/codeGen.js.map +1 -1
- package/lib/esm/codeGenerators.js.map +1 -1
- package/lib/esm/csharp.gen.js +21 -4
- package/lib/esm/csharp.gen.js.map +1 -1
- package/lib/esm/declarationInfo.js.map +1 -1
- package/lib/esm/exampleInfo.js.map +1 -1
- package/lib/esm/go.gen.js +19 -5
- package/lib/esm/go.gen.js.map +1 -1
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/kotlin.gen.js +10 -5
- package/lib/esm/kotlin.gen.js.map +1 -1
- package/lib/esm/pseudo.gen.js +2 -2
- package/lib/esm/pseudo.gen.js.map +1 -1
- package/lib/esm/python.gen.js +17 -6
- package/lib/esm/python.gen.js.map +1 -1
- package/lib/esm/sdkModels.js +37 -36
- package/lib/esm/sdkModels.js.map +1 -1
- package/lib/esm/specConverter.js +10 -10
- package/lib/esm/specConverter.js.map +1 -1
- package/lib/esm/specDiff.js.map +1 -1
- package/lib/esm/swift.gen.js +13 -6
- package/lib/esm/swift.gen.js.map +1 -1
- package/lib/esm/typescript.gen.js +17 -4
- package/lib/esm/typescript.gen.js.map +1 -1
- package/lib/exampleInfo.js.map +1 -1
- package/lib/go.gen.d.ts +5 -0
- package/lib/go.gen.js +19 -5
- package/lib/go.gen.js.map +1 -1
- package/lib/index.js.map +1 -1
- package/lib/kotlin.gen.d.ts +2 -1
- package/lib/kotlin.gen.js +10 -5
- 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.d.ts +5 -0
- package/lib/python.gen.js +17 -6
- package/lib/python.gen.js.map +1 -1
- package/lib/sdkModels.js +38 -39
- package/lib/sdkModels.js.map +1 -1
- package/lib/specConverter.js +11 -11
- package/lib/specConverter.js.map +1 -1
- package/lib/specDiff.js.map +1 -1
- package/lib/swift.gen.js +13 -6
- package/lib/swift.gen.js.map +1 -1
- package/lib/typescript.gen.d.ts +5 -0
- package/lib/typescript.gen.js +17 -4
- package/lib/typescript.gen.js.map +1 -1
- package/package.json +4 -4
package/lib/python.gen.js
CHANGED
|
@@ -6,8 +6,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.PythonGen = void 0;
|
|
7
7
|
var _sdkModels = require("./sdkModels");
|
|
8
8
|
var _codeGen = require("./codeGen");
|
|
9
|
-
function _defineProperty(
|
|
10
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i :
|
|
9
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
10
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
11
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 PythonGen extends _codeGen.CodeGen {
|
|
13
13
|
constructor() {
|
|
@@ -35,7 +35,7 @@ class PythonGen extends _codeGen.CodeGen {
|
|
|
35
35
|
_defineProperty(this, "hooks", []);
|
|
36
36
|
_defineProperty(this, "structureHookTK", 'translate_keys_structure_hook');
|
|
37
37
|
_defineProperty(this, "pythonReservedKeywordClasses", new Set());
|
|
38
|
-
_defineProperty(this, "methodsPrologue", _indent => "\n# ".concat(this.warnEditing(), "\nimport datetime\nfrom typing import Any, MutableMapping, Optional, Sequence, Union, cast\nimport warnings\n\nfrom . import models as mdls\nfrom ").concat(this.packagePath, ".rtl import api_methods\nfrom ").concat(this.packagePath, ".rtl import transport\n\nclass ").concat(this.packageName, "(api_methods.APIMethods):\n"));
|
|
38
|
+
_defineProperty(this, "methodsPrologue", _indent => "\n# ".concat(this.warnEditing(), "\nimport datetime\nfrom typing import Any, MutableMapping, Optional, Sequence, Union, cast\nimport warnings\n\nfrom . import models as mdls\nfrom ").concat(this.packagePath, ".rtl import api_methods\nfrom ").concat(this.packagePath, ".rtl import model\nfrom ").concat(this.packagePath, ".rtl import transport\n\nclass ").concat(this.packageName, "(api_methods.APIMethods):\n"));
|
|
39
39
|
_defineProperty(this, "methodsEpilogue", _indent => this.apiVersion === '4.0' ? "LookerSDK = ".concat(this.packageName) : '');
|
|
40
40
|
_defineProperty(this, "modelsPrologue", _indent => "\n# ".concat(this.warnEditing(), "\nimport datetime\nimport enum\nfrom typing import Any, MutableMapping, Optional, Sequence\n\ntry:\n from typing import ForwardRef # type: ignore\nexcept ImportError:\n from typing import _ForwardRef as ForwardRef # type: ignore\n\nimport attr\n\nfrom ").concat(this.packagePath, ".rtl import model\nfrom ").concat(this.packagePath, ".rtl import serialize as sr\n\nEXPLICIT_NULL = model.EXPLICIT_NULL # type: ignore\nDelimSequence = model.DelimSequence\n"));
|
|
41
41
|
_defineProperty(this, "modelsEpilogue", _indent => "\nimport functools # noqa:E402\n\nforward_ref_structure_hook = functools.partial(\n sr.forward_ref_structure_hook, globals(), sr.converter".concat(this.apiRef, "\n)\nsr.converter").concat(this.apiRef, ".register_structure_hook_func(\n lambda t: t.__class__ is ForwardRef, forward_ref_structure_hook\n)\n").concat(this.structureHookTK, " = functools.partial(sr.translate_keys_structure_hook, sr.converter").concat(this.apiRef, ")\n").concat(this.hooks.join('\n'), "\n"));
|
|
@@ -197,11 +197,11 @@ class PythonGen extends _codeGen.CodeGen {
|
|
|
197
197
|
}
|
|
198
198
|
httpArgs(callerIndent, method) {
|
|
199
199
|
var currIndent = this.bumper(callerIndent);
|
|
200
|
-
var args = '';
|
|
201
|
-
args = this.argFill(args, "".concat(currIndent, "transport_options=transport_options"));
|
|
202
200
|
var body = method.bodyArg ? method.bodyArg : this.nullStr;
|
|
203
201
|
var query = method.queryArgs.length ? this.argGroup('', method.queryArgs) : this.nullStr;
|
|
204
|
-
var formArgs = this.assignFormArgs(method, body, query);
|
|
202
|
+
var formArgs = this.assignFormArgs(method, body, query, 'transport_options');
|
|
203
|
+
var args = '';
|
|
204
|
+
args = this.argFill(args, "".concat(currIndent, "transport_options=").concat(formArgs.options));
|
|
205
205
|
if (formArgs.body !== this.nullStr) {
|
|
206
206
|
args = this.argFill(args, "".concat(currIndent, "body=").concat(formArgs.body));
|
|
207
207
|
}
|
|
@@ -244,6 +244,17 @@ class PythonGen extends _codeGen.CodeGen {
|
|
|
244
244
|
}
|
|
245
245
|
return encodings;
|
|
246
246
|
}
|
|
247
|
+
assignFormArgs(method, body, query, options) {
|
|
248
|
+
if (method.isFormUrlEncoded) {
|
|
249
|
+
body = "model.URLSearchParams(".concat(query, ")");
|
|
250
|
+
query = this.nullStr;
|
|
251
|
+
}
|
|
252
|
+
return {
|
|
253
|
+
body,
|
|
254
|
+
query,
|
|
255
|
+
options
|
|
256
|
+
};
|
|
257
|
+
}
|
|
247
258
|
declareMethod(indent, method) {
|
|
248
259
|
var bump = this.bumper(indent);
|
|
249
260
|
return this.methodSignature(indent, method) + this.summary(bump, method.summary) + this.encodePathParams(bump, method) + this.httpCall(bump, method);
|
package/lib/python.gen.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"python.gen.js","names":["_sdkModels","require","_codeGen","_defineProperty","obj","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","String","r","e","Symbol","toPrimitive","call","TypeError","Number","PythonGen","CodeGen","constructor","arguments","concat","indentStr","repeat","Set","_indent","warnEditing","packagePath","packageName","apiVersion","apiRef","structureHookTK","hooks","join","prop","required","type","customType","EnumType","includes","className","sdkFileName","baseFileName","fileName","argGroup","args","length","nullStr","hash","arg","push","dataStructureDelimiter","beginRegion","indent","description","endRegion","_description","declareProperty","property","annotations","undefined","mappedType","typeMapModels","propName","name","pythonKeywords","has","propType","propDef","annotation","isBareForwardRef","bumper","methodReturnType","method","typeMapMethods","returnType","responseIsBoth","responseIsBinary","methodSignature","_method$description","bump","params","allParams","forEach","p","declareParameter","head","trim","httpMethod","endpoint","commentHeader","paramDelimiter","param","location","strBody","writeableType","mapped","paramType","describeParam","default","makeTheCall","inputs","origDelim","argDelimiter","resp","assignParams","match","initArg","declareType","decl","invalid","typeProperties","values","requiredProperties","optionalProperties","construct","inits","declareConstructorArg","result","properties","some","argFill","current","delimiter","replace","httpArgs","callerIndent","currIndent","body","bodyArg","query","queryArgs","formArgs","assignFormArgs","test","httpCall","deprecation","callOpener","it","toLowerCase","callArgs","callCloser","returnStmt","encodePathParams","encodings","pathParams","doEncode","declareMethod","summary","typeSignature","b2","attrs","isEnum","baseClass","usesReservedPythonKeyword","attr","text","prefixModelsNamespace","format","forwardRef","typeMap","asString","_","v","pythonTypes","any","boolean","byte","date","datetime","double","float","int32","int64","integer","number","password","asVal","string","object","uri","void","elementType","map","typeName","defaultValue","Error","JSON","stringify","mt","exports"],"sources":["../src/python.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 { ArgValues } from '@looker/sdk-rtl';\nimport type { Arg, IMethod, IParameter, IProperty, IType } from './sdkModels';\nimport { EnumType, describeParam, strBody } from './sdkModels';\nimport type { CodeAssignment, IMappedType } from './codeGen';\nimport { CodeGen } from './codeGen';\n\nexport class PythonGen extends CodeGen {\n codePath = './python/';\n packagePath = 'looker_sdk';\n itself = 'self';\n fileExtension = '.py';\n commentStr = '# ';\n nullStr = 'None';\n\n indentStr = ' ';\n argDelimiter = `,\\n${this.indentStr.repeat(3)}`;\n argSetSep = '=';\n paramDelimiter = ',\\n';\n propDelimiter = '\\n';\n dataStructureDelimiter = ', ';\n enumDelimiter = '\\n';\n codeQuote = '\"';\n typeOpen = '(';\n typeClose = ')';\n hashKeyQuote = '\"';\n useModelClassForTypes = true;\n\n endTypeStr = '';\n\n // keyword.kwlist\n pythonKeywords = new Set<string>([\n 'False',\n 'None',\n 'True',\n 'and',\n 'as',\n 'assert',\n 'async',\n 'await',\n 'break',\n 'class',\n 'continue',\n 'def',\n 'del',\n 'elif',\n 'else',\n 'except',\n 'finally',\n 'for',\n 'from',\n 'global',\n 'if',\n 'import',\n 'in',\n 'is',\n 'lambda',\n 'nonlocal',\n 'not',\n 'or',\n 'pass',\n 'raise',\n 'return',\n 'try',\n 'while',\n 'with',\n 'yield',\n ]);\n\n // cattrs [un]structure hooks for model [de]serialization\n hooks: string[] = [];\n structureHookTK = 'translate_keys_structure_hook';\n pythonReservedKeywordClasses: Set<string> = new Set();\n\n methodsPrologue = (_indent: string) => `\n# ${this.warnEditing()}\nimport datetime\nfrom typing import Any, MutableMapping, Optional, Sequence, Union, cast\nimport warnings\n\nfrom . import models as mdls\nfrom ${this.packagePath}.rtl import api_methods\nfrom ${this.packagePath}.rtl import transport\n\nclass ${this.packageName}(api_methods.APIMethods):\n`;\n\n methodsEpilogue = (_indent: string) =>\n this.apiVersion === '4.0' ? `LookerSDK = ${this.packageName}` : '';\n\n modelsPrologue = (_indent: string) => `\n# ${this.warnEditing()}\nimport datetime\nimport enum\nfrom typing import Any, MutableMapping, Optional, Sequence\n\ntry:\n from typing import ForwardRef # type: ignore\nexcept ImportError:\n from typing import _ForwardRef as ForwardRef # type: ignore\n\nimport attr\n\nfrom ${this.packagePath}.rtl import model\nfrom ${this.packagePath}.rtl import serialize as sr\n\nEXPLICIT_NULL = model.EXPLICIT_NULL # type: ignore\nDelimSequence = model.DelimSequence\n`;\n\n modelsEpilogue = (_indent: string) => `\nimport functools # noqa:E402\n\nforward_ref_structure_hook = functools.partial(\n sr.forward_ref_structure_hook, globals(), sr.converter${this.apiRef}\n)\nsr.converter${this.apiRef}.register_structure_hook_func(\n lambda t: t.__class__ is ForwardRef, forward_ref_structure_hook\n)\n${\n this.structureHookTK\n} = functools.partial(sr.translate_keys_structure_hook, sr.converter${\n this.apiRef\n })\n${this.hooks.join('\\n')}\n`;\n\n sdkFileName(baseFileName: string) {\n return this.fileName(`sdk/api${this.apiRef}/${baseFileName}`);\n }\n\n argGroup(_indent: string, args: Arg[]) {\n if (!args || args.length === 0) return this.nullStr;\n const hash: string[] = [];\n for (const arg of args) {\n hash.push(`\"${arg}\": ${arg}`);\n }\n return `{${hash.join(this.dataStructureDelimiter)}}`;\n }\n\n beginRegion(indent: string, description: string): string {\n // Sadly, Black reformats this to \"# region\" and IntelliJ doesn't recognize it either way\n return `${indent}#region ${description}`;\n }\n\n endRegion(indent: string, _description: string): string {\n // Sadly, Black reformats this to \"# endregion\" and IntelliJ doesn't recognize it either way\n return `${indent}#endregion`;\n }\n\n declareProperty(indent: string, property: IProperty, annotations = false) {\n const mappedType = this.typeMapModels(property.type);\n let propName = property.name;\n if (this.pythonKeywords.has(propName)) {\n propName = propName + '_';\n }\n let propType = mappedType.name;\n if (!property.required) {\n propType = `Optional[${mappedType.name}]`;\n }\n\n let propDef;\n if (annotations) {\n let annotation = propType;\n if (this.isBareForwardRef(property)) {\n annotation = `ForwardRef(${propType})`;\n }\n propDef = `${this.bumper(indent)}\"${propName}\": ${annotation}`;\n } else {\n if (!property.required) {\n propType += ` = ${this.nullStr}`;\n }\n propDef = `${indent}${propName}: ${propType}`;\n }\n return propDef;\n }\n\n private methodReturnType(method: IMethod) {\n const type = this.typeMapMethods(method.type);\n let returnType = type.name;\n if (method.responseIsBoth()) {\n returnType = `Union[${returnType}, bytes]`;\n } else if (method.responseIsBinary()) {\n returnType = 'bytes';\n }\n return returnType;\n }\n\n // because Python has named default parameters, Request types are not required like\n // they are for TypeScript\n methodSignature(indent: string, method: IMethod) {\n const returnType = this.methodReturnType(method);\n const bump = this.bumper(indent);\n const params: string[] = [];\n const args = method.allParams;\n if (args && args.length > 0) {\n method.allParams.forEach(p =>\n params.push(this.declareParameter(bump, method, p))\n );\n }\n let head = method.description?.trim();\n head =\n (head ? `${head}\\n\\n` : '') +\n `${method.httpMethod} ${method.endpoint} -> ${returnType}`;\n params.push(\n `${bump}transport_options: Optional[transport.TransportOptions] = None,`\n );\n return (\n this.commentHeader(indent, head) +\n `${indent}def ${method.name}(\\n` +\n `${bump}self${params.length > 0 ? ',\\n' : ''}` +\n `${params.join(this.paramDelimiter)}\\n` +\n `${indent}) -> ${returnType}:\\n`\n );\n }\n\n declareParameter(indent: string, method: IMethod, param: IParameter) {\n let type: IType;\n if (param.location === strBody) {\n type = this.writeableType(param.type, method) || param.type;\n } else {\n type = param.type;\n }\n const mapped = this.typeMapMethods(type);\n const paramType = param.required ? mapped.name : `Optional[${mapped.name}]`;\n return (\n this.commentHeader(indent, describeParam(param)) +\n `${indent}${param.name}: ${paramType}` +\n (param.required ? '' : ` = ${mapped.default}`)\n );\n }\n\n makeTheCall(method: IMethod, inputs: ArgValues): string {\n const origDelim = this.argDelimiter;\n this.argDelimiter = `,\\n${this.indentStr}`;\n let resp = `response = sdk.${method.name}(`;\n const args = this.assignParams(method, inputs);\n if (args.match(/\\bmdls\\b/)) {\n resp = 'from looker_sdk import models as mdls\\n\\n' + resp;\n }\n this.argDelimiter = origDelim;\n return `${resp}${args})`;\n }\n\n initArg(indent: string, property: IProperty) {\n let propName = property.name;\n if (this.pythonKeywords.has(propName)) {\n propName = propName + '_';\n }\n return `${indent}self.${propName} = ${propName}`;\n }\n\n declareType(indent: string, type: IType) {\n let decl = super.declareType(indent, type);\n if (type instanceof EnumType) {\n const invalid =\n 'invalid_api_enum_value = \"invalid_api_enum_value\"' +\n '\\n\\n\\n# https://github.com/python/mypy/issues/2427' +\n `\\n${type.name}.__new__ = model.safe_enum__new__ # type: ignore`;\n decl += `\\n${this.bumper(indent)}${invalid}`;\n }\n return decl;\n }\n\n typeProperties(type: IType) {\n return Object.values(type.requiredProperties).concat(\n Object.values(type.optionalProperties)\n );\n }\n\n private isBareForwardRef = (prop: IProperty) => {\n // contains a \"bare\" forward reference e.g. `result_format: \"ResultFormat\"`\n // so we need to emit the `__annotations__` property\n return (\n prop.required &&\n (prop.type.customType || prop.type instanceof EnumType) &&\n !['ArrayType', 'HashType', 'DelimArrayType'].includes(prop.type.className)\n );\n };\n\n /**\n * Ideally we'd rely on @attr.s to generate the constructor for us\n * However, neither Jedi (https://github.com/davidhalter/jedi-vim/issues/816)\n * nor microsoft/python-language-server\n * (https://github.com/microsoft/python-language-server/issues/399)\n * display good tooltips for these auto-generated __init__ methods. So for\n * now we'll generate them ourselves following the functionality of\n * @attr.s(kw_only=True) we'll only allow kw_args.\n */\n construct(indent: string, type: IType) {\n if (type instanceof EnumType) return '';\n indent = this.bumper(indent);\n const bump = this.bumper(indent);\n const annotations: string[] = [];\n const args: string[] = [];\n const inits: string[] = [];\n this.typeProperties(type).forEach(prop => {\n annotations.push(this.declareProperty(indent, prop, true));\n args.push(this.declareConstructorArg('', prop));\n inits.push(this.initArg(bump, prop));\n });\n let result = '';\n if (Object.values(type.properties).some(this.isBareForwardRef)) {\n result =\n `\\n${indent}__annotations__ = {\\n` +\n `${annotations.join(',\\n')}` +\n `\\n${indent}}`;\n }\n result +=\n `\\n\\n${indent}def __init__(self, *${this.argDelimiter}` +\n `${args.join(this.argDelimiter)}):\\n` +\n inits.join('\\n');\n return result;\n }\n\n declareConstructorArg(indent: string, property: IProperty) {\n const mappedType = this.typeMapModels(property.type);\n let propType: string;\n if (property.required) {\n propType = mappedType.name;\n } else {\n propType = `Optional[${mappedType.name}] = ${this.nullStr}`;\n }\n let propName = property.name;\n if (this.pythonKeywords.has(propName)) {\n propName = propName + '_';\n }\n return `${indent}${propName}: ${propType}`;\n }\n\n // this is a builder function to produce arguments with optional null place holders but no extra required optional arguments\n argFill(current: string, args: string): string {\n if (!current && args.trim() === this.nullStr) {\n // Don't append trailing optional arguments if none have been set yet\n return '';\n }\n let delimiter = ',\\n';\n if (!current) {\n delimiter = '';\n // Caller manually inserted delimiter followed by inline comment\n } else if (args.match(/, {2}#/)) {\n delimiter = delimiter.replace(',', '');\n }\n return `${args}${delimiter}${current}`;\n }\n\n httpArgs(callerIndent: string, method: IMethod): string {\n const currIndent = this.bumper(callerIndent);\n let args = '';\n args = this.argFill(\n args,\n `${currIndent}transport_options=transport_options`\n );\n const body = method.bodyArg ? method.bodyArg : this.nullStr;\n const query = method.queryArgs.length\n ? this.argGroup('', method.queryArgs)\n : this.nullStr;\n const formArgs = this.assignFormArgs(method, body, query);\n\n if (formArgs.body !== this.nullStr) {\n args = this.argFill(args, `${currIndent}body=${formArgs.body}`);\n }\n if (formArgs.query !== this.nullStr) {\n args = this.argFill(args, `${currIndent}query_params=${formArgs.query}`);\n }\n let returnType = this.methodReturnType(method);\n if (method.responseIsBoth()) {\n // cattrs needs the python object Union[<rt>, bytes] in order\n // to properly deserialize the response. However, this argument\n // is passed as a value so we get a mypy error that the argument\n // has type \"object\" instead of TStructure. Hence the # type: ignore\n returnType += ', # type: ignore';\n }\n args = this.argFill(args, `${currIndent}structure=${returnType}`);\n let endpoint = `\"${method.endpoint}\"`;\n if (/\\{\\w+\\}/.test(endpoint)) {\n // avoid flake8: f-string is missing placeholders\n endpoint = `f${endpoint}`;\n }\n args = this.argFill(args, `${currIndent}path=${endpoint}`);\n return args;\n }\n\n httpCall(callerIndent: string, method: IMethod): string {\n // callOpener itself is nested inside a cast()\n const currIndent = this.bumper(callerIndent);\n let deprecation = '';\n if (method.name === 'login_user') {\n deprecation =\n `${callerIndent}warnings.warn(\"login_user behavior changed significantly ` +\n `in 21.4.0. See https://git.io/JOtH1\")\\n`;\n }\n const callOpener =\n `${callerIndent}response = cast(\\n` +\n `${currIndent}${this.methodReturnType(method)},\\n` +\n `${currIndent}${this.it(method.httpMethod.toLowerCase())}(\\n`;\n const callArgs = `${this.httpArgs(currIndent, method)}\\n`;\n const callCloser = `${currIndent})\\n${callerIndent})\\n`;\n const returnStmt = `${callerIndent}return response`;\n return deprecation + callOpener + callArgs + callCloser + returnStmt;\n }\n\n encodePathParams(indent: string, method: IMethod) {\n let encodings = '';\n const pathParams = method.pathParams;\n if (pathParams.length > 0) {\n for (const param of pathParams) {\n if (param.doEncode()) {\n encodings += `${indent}${param.name} = self.encode_path_param(${param.name})\\n`;\n }\n }\n }\n return encodings;\n }\n\n declareMethod(indent: string, method: IMethod) {\n const bump = this.bumper(indent);\n\n return (\n this.methodSignature(indent, method) +\n this.summary(bump, method.summary) +\n this.encodePathParams(bump, method) +\n this.httpCall(bump, method)\n );\n }\n\n typeSignature(indent: string, type: IType) {\n const bump = this.bumper(indent);\n const b2 = this.bumper(bump);\n const attrs: string[] = [];\n const isEnum = type instanceof EnumType;\n const baseClass = isEnum ? 'enum.Enum' : 'model.Model';\n let usesReservedPythonKeyword = false;\n\n if (!isEnum) {\n for (const prop of this.typeProperties(type)) {\n let propName = prop.name;\n if (this.pythonKeywords.has(propName)) {\n propName = propName + '_';\n usesReservedPythonKeyword = true;\n }\n let attr = `${b2}${propName}:`;\n if (prop.description) {\n attr += ` ${prop.description}`;\n }\n attrs.push(attr);\n }\n }\n\n if (usesReservedPythonKeyword) {\n this.hooks.push(\n `sr.converter${this.apiRef}.register_structure_hook(\\n${bump}${type.name}, # type: ignore\\n${bump}${this.structureHookTK} # type:ignore\\n)`\n );\n }\n\n let result =\n `\\n` +\n (isEnum ? '' : `${indent}@attr.s(auto_attribs=True, init=False)\\n`) +\n `${indent}class ${type.name}(${baseClass}):\\n` +\n `${bump}\"\"\"\\n` +\n (type.description ? `${bump}${type.description}\\n\\n` : '');\n\n if (attrs.length > 0) {\n result += `${bump}Attributes:\\n` + `${attrs.join('\\n')}\\n`;\n }\n\n return result + `${bump}\"\"\"\\n`;\n }\n\n summary(indent: string, text: string | undefined) {\n return text ? `${indent}\"\"\"${text}\"\"\"\\n` : '';\n }\n\n // when format is \"methods\" that means we're in the methods.py module\n // and we need to reference the type by the `mdls.` package name\n prefixModelsNamespace(\n name: string,\n format: 'models' | 'methods',\n forwardRef = false\n ): string {\n if (format === 'models') {\n // need to quote this forwardRef\n name = forwardRef ? `\"${name}\"` : name;\n } else if (format === 'methods') {\n name = `mdls.${name}`;\n }\n return name;\n }\n\n // hack default format to 'methods' so that argValue() calls the right thing\n typeMap(type: IType, format: 'models' | 'methods' = 'methods'): IMappedType {\n const asString: CodeAssignment = (_, v) => `\"${v}\"`;\n const pythonTypes: Record<string, IMappedType> = {\n any: { default: this.nullStr, name: 'Any' },\n boolean: { default: this.nullStr, name: 'bool' },\n byte: { default: this.nullStr, name: 'bytes' },\n date: { default: this.nullStr, name: 'datetime.datetime' },\n datetime: { default: this.nullStr, name: 'datetime.datetime' },\n double: { default: this.nullStr, name: 'float' },\n float: { default: this.nullStr, name: 'float' },\n int32: { default: this.nullStr, name: 'int' },\n int64: { default: this.nullStr, name: 'int' },\n integer: { default: this.nullStr, name: 'int' },\n number: { default: this.nullStr, name: 'float' },\n password: { default: this.nullStr, name: 'str', asVal: asString },\n string: { default: this.nullStr, name: 'str', asVal: asString },\n object: { default: this.nullStr, name: 'str', asVal: asString },\n uri: { default: this.nullStr, name: 'str', asVal: asString },\n void: { default: this.nullStr, name: 'None' },\n };\n\n super.typeMap(type);\n if (type.elementType) {\n const map = this.typeMap(type.elementType, format);\n let typeName: string;\n let name: string;\n const defaultValue = this.nullStr;\n let asVal: CodeAssignment | undefined;\n switch (type.className) {\n case 'ArrayType':\n typeName = 'Sequence';\n name = `${typeName}[${map.name}]`;\n break;\n case 'HashType':\n typeName = 'MutableMapping';\n // TODO fix bad API spec, like MergeQuery vis_config\n name =\n typeName +\n '[str, ' +\n (type.elementType.name === 'string' ? 'Any' : map.name) +\n ']';\n break;\n case 'DelimArrayType':\n typeName = this.prefixModelsNamespace('DelimSequence', format);\n name = `${typeName}[${map.name}]`;\n asVal = (_, v) => `${typeName}([${v}])`;\n break;\n case 'EnumType':\n name = typeName = this.prefixModelsNamespace(type.name, format, true);\n asVal = (_, v) => `${typeName}.${v}`;\n break;\n default:\n throw new Error(`Don't know how to handle: ${JSON.stringify(type)}`);\n }\n const mt: IMappedType = { default: defaultValue, name };\n if (asVal) {\n mt.asVal = asVal;\n }\n return mt;\n }\n if (!type.name) {\n throw new Error('Cannot output a nameless type.');\n }\n const name = this.prefixModelsNamespace(\n type.name,\n format,\n !!type.customType\n );\n const result = pythonTypes[type.name];\n return result || { default: this.nullStr, name };\n }\n\n typeMapMethods(type: IType) {\n return this.typeMap(type, 'methods');\n }\n\n typeMapModels(type: IType) {\n return this.typeMap(type, 'models');\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"python.gen.js","names":["_sdkModels","require","_codeGen","_defineProperty","e","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","PythonGen","CodeGen","constructor","arguments","concat","indentStr","repeat","Set","_indent","warnEditing","packagePath","packageName","apiVersion","apiRef","structureHookTK","hooks","join","prop","required","type","customType","EnumType","includes","className","sdkFileName","baseFileName","fileName","argGroup","args","length","nullStr","hash","arg","push","dataStructureDelimiter","beginRegion","indent","description","endRegion","_description","declareProperty","property","annotations","undefined","mappedType","typeMapModels","propName","name","pythonKeywords","has","propType","propDef","annotation","isBareForwardRef","bumper","methodReturnType","method","typeMapMethods","returnType","responseIsBoth","responseIsBinary","methodSignature","_method$description","bump","params","allParams","forEach","p","declareParameter","head","trim","httpMethod","endpoint","commentHeader","paramDelimiter","param","location","strBody","writeableType","mapped","paramType","describeParam","default","makeTheCall","inputs","origDelim","argDelimiter","resp","assignParams","match","initArg","declareType","decl","invalid","typeProperties","values","requiredProperties","optionalProperties","construct","inits","declareConstructorArg","result","properties","some","argFill","current","delimiter","replace","httpArgs","callerIndent","currIndent","body","bodyArg","query","queryArgs","formArgs","assignFormArgs","options","test","httpCall","deprecation","callOpener","it","toLowerCase","callArgs","callCloser","returnStmt","encodePathParams","encodings","pathParams","doEncode","isFormUrlEncoded","declareMethod","summary","typeSignature","b2","attrs","isEnum","baseClass","usesReservedPythonKeyword","attr","text","prefixModelsNamespace","format","forwardRef","typeMap","asString","_","v","pythonTypes","any","boolean","byte","date","datetime","double","float","int32","int64","integer","number","password","asVal","string","object","uri","void","elementType","map","typeName","defaultValue","Error","JSON","stringify","mt","exports"],"sources":["../src/python.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 { ArgValues } from '@looker/sdk-rtl';\nimport type { Arg, IMethod, IParameter, IProperty, IType } from './sdkModels';\nimport { EnumType, describeParam, strBody } from './sdkModels';\nimport type { CodeAssignment, IMappedType } from './codeGen';\nimport { CodeGen } from './codeGen';\n\nexport class PythonGen extends CodeGen {\n codePath = './python/';\n packagePath = 'looker_sdk';\n itself = 'self';\n fileExtension = '.py';\n commentStr = '# ';\n nullStr = 'None';\n\n indentStr = ' ';\n argDelimiter = `,\\n${this.indentStr.repeat(3)}`;\n argSetSep = '=';\n paramDelimiter = ',\\n';\n propDelimiter = '\\n';\n dataStructureDelimiter = ', ';\n enumDelimiter = '\\n';\n codeQuote = '\"';\n typeOpen = '(';\n typeClose = ')';\n hashKeyQuote = '\"';\n useModelClassForTypes = true;\n\n endTypeStr = '';\n\n // keyword.kwlist\n pythonKeywords = new Set<string>([\n 'False',\n 'None',\n 'True',\n 'and',\n 'as',\n 'assert',\n 'async',\n 'await',\n 'break',\n 'class',\n 'continue',\n 'def',\n 'del',\n 'elif',\n 'else',\n 'except',\n 'finally',\n 'for',\n 'from',\n 'global',\n 'if',\n 'import',\n 'in',\n 'is',\n 'lambda',\n 'nonlocal',\n 'not',\n 'or',\n 'pass',\n 'raise',\n 'return',\n 'try',\n 'while',\n 'with',\n 'yield',\n ]);\n\n // cattrs [un]structure hooks for model [de]serialization\n hooks: string[] = [];\n structureHookTK = 'translate_keys_structure_hook';\n pythonReservedKeywordClasses: Set<string> = new Set();\n\n methodsPrologue = (_indent: string) => `\n# ${this.warnEditing()}\nimport datetime\nfrom typing import Any, MutableMapping, Optional, Sequence, Union, cast\nimport warnings\n\nfrom . import models as mdls\nfrom ${this.packagePath}.rtl import api_methods\nfrom ${this.packagePath}.rtl import model\nfrom ${this.packagePath}.rtl import transport\n\nclass ${this.packageName}(api_methods.APIMethods):\n`;\n\n methodsEpilogue = (_indent: string) =>\n this.apiVersion === '4.0' ? `LookerSDK = ${this.packageName}` : '';\n\n modelsPrologue = (_indent: string) => `\n# ${this.warnEditing()}\nimport datetime\nimport enum\nfrom typing import Any, MutableMapping, Optional, Sequence\n\ntry:\n from typing import ForwardRef # type: ignore\nexcept ImportError:\n from typing import _ForwardRef as ForwardRef # type: ignore\n\nimport attr\n\nfrom ${this.packagePath}.rtl import model\nfrom ${this.packagePath}.rtl import serialize as sr\n\nEXPLICIT_NULL = model.EXPLICIT_NULL # type: ignore\nDelimSequence = model.DelimSequence\n`;\n\n modelsEpilogue = (_indent: string) => `\nimport functools # noqa:E402\n\nforward_ref_structure_hook = functools.partial(\n sr.forward_ref_structure_hook, globals(), sr.converter${this.apiRef}\n)\nsr.converter${this.apiRef}.register_structure_hook_func(\n lambda t: t.__class__ is ForwardRef, forward_ref_structure_hook\n)\n${\n this.structureHookTK\n} = functools.partial(sr.translate_keys_structure_hook, sr.converter${\n this.apiRef\n })\n${this.hooks.join('\\n')}\n`;\n\n sdkFileName(baseFileName: string) {\n return this.fileName(`sdk/api${this.apiRef}/${baseFileName}`);\n }\n\n argGroup(_indent: string, args: Arg[]) {\n if (!args || args.length === 0) return this.nullStr;\n const hash: string[] = [];\n for (const arg of args) {\n hash.push(`\"${arg}\": ${arg}`);\n }\n return `{${hash.join(this.dataStructureDelimiter)}}`;\n }\n\n beginRegion(indent: string, description: string): string {\n // Sadly, Black reformats this to \"# region\" and IntelliJ doesn't recognize it either way\n return `${indent}#region ${description}`;\n }\n\n endRegion(indent: string, _description: string): string {\n // Sadly, Black reformats this to \"# endregion\" and IntelliJ doesn't recognize it either way\n return `${indent}#endregion`;\n }\n\n declareProperty(indent: string, property: IProperty, annotations = false) {\n const mappedType = this.typeMapModels(property.type);\n let propName = property.name;\n if (this.pythonKeywords.has(propName)) {\n propName = propName + '_';\n }\n let propType = mappedType.name;\n if (!property.required) {\n propType = `Optional[${mappedType.name}]`;\n }\n\n let propDef;\n if (annotations) {\n let annotation = propType;\n if (this.isBareForwardRef(property)) {\n annotation = `ForwardRef(${propType})`;\n }\n propDef = `${this.bumper(indent)}\"${propName}\": ${annotation}`;\n } else {\n if (!property.required) {\n propType += ` = ${this.nullStr}`;\n }\n propDef = `${indent}${propName}: ${propType}`;\n }\n return propDef;\n }\n\n private methodReturnType(method: IMethod) {\n const type = this.typeMapMethods(method.type);\n let returnType = type.name;\n if (method.responseIsBoth()) {\n returnType = `Union[${returnType}, bytes]`;\n } else if (method.responseIsBinary()) {\n returnType = 'bytes';\n }\n return returnType;\n }\n\n // because Python has named default parameters, Request types are not required like\n // they are for TypeScript\n methodSignature(indent: string, method: IMethod) {\n const returnType = this.methodReturnType(method);\n const bump = this.bumper(indent);\n const params: string[] = [];\n const args = method.allParams;\n if (args && args.length > 0) {\n method.allParams.forEach(p =>\n params.push(this.declareParameter(bump, method, p))\n );\n }\n let head = method.description?.trim();\n head =\n (head ? `${head}\\n\\n` : '') +\n `${method.httpMethod} ${method.endpoint} -> ${returnType}`;\n params.push(\n `${bump}transport_options: Optional[transport.TransportOptions] = None,`\n );\n return (\n this.commentHeader(indent, head) +\n `${indent}def ${method.name}(\\n` +\n `${bump}self${params.length > 0 ? ',\\n' : ''}` +\n `${params.join(this.paramDelimiter)}\\n` +\n `${indent}) -> ${returnType}:\\n`\n );\n }\n\n declareParameter(indent: string, method: IMethod, param: IParameter) {\n let type: IType;\n if (param.location === strBody) {\n type = this.writeableType(param.type, method) || param.type;\n } else {\n type = param.type;\n }\n const mapped = this.typeMapMethods(type);\n const paramType = param.required ? mapped.name : `Optional[${mapped.name}]`;\n return (\n this.commentHeader(indent, describeParam(param)) +\n `${indent}${param.name}: ${paramType}` +\n (param.required ? '' : ` = ${mapped.default}`)\n );\n }\n\n makeTheCall(method: IMethod, inputs: ArgValues): string {\n const origDelim = this.argDelimiter;\n this.argDelimiter = `,\\n${this.indentStr}`;\n let resp = `response = sdk.${method.name}(`;\n const args = this.assignParams(method, inputs);\n if (args.match(/\\bmdls\\b/)) {\n resp = 'from looker_sdk import models as mdls\\n\\n' + resp;\n }\n this.argDelimiter = origDelim;\n return `${resp}${args})`;\n }\n\n initArg(indent: string, property: IProperty) {\n let propName = property.name;\n if (this.pythonKeywords.has(propName)) {\n propName = propName + '_';\n }\n return `${indent}self.${propName} = ${propName}`;\n }\n\n declareType(indent: string, type: IType) {\n let decl = super.declareType(indent, type);\n if (type instanceof EnumType) {\n const invalid =\n 'invalid_api_enum_value = \"invalid_api_enum_value\"' +\n '\\n\\n\\n# https://github.com/python/mypy/issues/2427' +\n `\\n${type.name}.__new__ = model.safe_enum__new__ # type: ignore`;\n decl += `\\n${this.bumper(indent)}${invalid}`;\n }\n return decl;\n }\n\n typeProperties(type: IType) {\n return Object.values(type.requiredProperties).concat(\n Object.values(type.optionalProperties)\n );\n }\n\n private isBareForwardRef = (prop: IProperty) => {\n // contains a \"bare\" forward reference e.g. `result_format: \"ResultFormat\"`\n // so we need to emit the `__annotations__` property\n return (\n prop.required &&\n (prop.type.customType || prop.type instanceof EnumType) &&\n !['ArrayType', 'HashType', 'DelimArrayType'].includes(prop.type.className)\n );\n };\n\n /**\n * Ideally we'd rely on @attr.s to generate the constructor for us\n * However, neither Jedi (https://github.com/davidhalter/jedi-vim/issues/816)\n * nor microsoft/python-language-server\n * (https://github.com/microsoft/python-language-server/issues/399)\n * display good tooltips for these auto-generated __init__ methods. So for\n * now we'll generate them ourselves following the functionality of\n * @attr.s(kw_only=True) we'll only allow kw_args.\n */\n construct(indent: string, type: IType) {\n if (type instanceof EnumType) return '';\n indent = this.bumper(indent);\n const bump = this.bumper(indent);\n const annotations: string[] = [];\n const args: string[] = [];\n const inits: string[] = [];\n this.typeProperties(type).forEach(prop => {\n annotations.push(this.declareProperty(indent, prop, true));\n args.push(this.declareConstructorArg('', prop));\n inits.push(this.initArg(bump, prop));\n });\n let result = '';\n if (Object.values(type.properties).some(this.isBareForwardRef)) {\n result =\n `\\n${indent}__annotations__ = {\\n` +\n `${annotations.join(',\\n')}` +\n `\\n${indent}}`;\n }\n result +=\n `\\n\\n${indent}def __init__(self, *${this.argDelimiter}` +\n `${args.join(this.argDelimiter)}):\\n` +\n inits.join('\\n');\n return result;\n }\n\n declareConstructorArg(indent: string, property: IProperty) {\n const mappedType = this.typeMapModels(property.type);\n let propType: string;\n if (property.required) {\n propType = mappedType.name;\n } else {\n propType = `Optional[${mappedType.name}] = ${this.nullStr}`;\n }\n let propName = property.name;\n if (this.pythonKeywords.has(propName)) {\n propName = propName + '_';\n }\n return `${indent}${propName}: ${propType}`;\n }\n\n // this is a builder function to produce arguments with optional null place holders but no extra required optional arguments\n argFill(current: string, args: string): string {\n if (!current && args.trim() === this.nullStr) {\n // Don't append trailing optional arguments if none have been set yet\n return '';\n }\n let delimiter = ',\\n';\n if (!current) {\n delimiter = '';\n // Caller manually inserted delimiter followed by inline comment\n } else if (args.match(/, {2}#/)) {\n delimiter = delimiter.replace(',', '');\n }\n return `${args}${delimiter}${current}`;\n }\n\n httpArgs(callerIndent: string, method: IMethod): string {\n const currIndent = this.bumper(callerIndent);\n const body = method.bodyArg ? method.bodyArg : this.nullStr;\n const query = method.queryArgs.length\n ? this.argGroup('', method.queryArgs)\n : this.nullStr;\n const formArgs = this.assignFormArgs(\n method,\n body,\n query,\n 'transport_options'\n );\n\n let args = '';\n args = this.argFill(\n args,\n `${currIndent}transport_options=${formArgs.options}`\n );\n\n if (formArgs.body !== this.nullStr) {\n args = this.argFill(args, `${currIndent}body=${formArgs.body}`);\n }\n if (formArgs.query !== this.nullStr) {\n args = this.argFill(args, `${currIndent}query_params=${formArgs.query}`);\n }\n let returnType = this.methodReturnType(method);\n if (method.responseIsBoth()) {\n // cattrs needs the python object Union[<rt>, bytes] in order\n // to properly deserialize the response. However, this argument\n // is passed as a value so we get a mypy error that the argument\n // has type \"object\" instead of TStructure. Hence the # type: ignore\n returnType += ', # type: ignore';\n }\n args = this.argFill(args, `${currIndent}structure=${returnType}`);\n let endpoint = `\"${method.endpoint}\"`;\n if (/\\{\\w+\\}/.test(endpoint)) {\n // avoid flake8: f-string is missing placeholders\n endpoint = `f${endpoint}`;\n }\n args = this.argFill(args, `${currIndent}path=${endpoint}`);\n return args;\n }\n\n httpCall(callerIndent: string, method: IMethod): string {\n // callOpener itself is nested inside a cast()\n const currIndent = this.bumper(callerIndent);\n let deprecation = '';\n if (method.name === 'login_user') {\n deprecation =\n `${callerIndent}warnings.warn(\"login_user behavior changed significantly ` +\n `in 21.4.0. See https://git.io/JOtH1\")\\n`;\n }\n const callOpener =\n `${callerIndent}response = cast(\\n` +\n `${currIndent}${this.methodReturnType(method)},\\n` +\n `${currIndent}${this.it(method.httpMethod.toLowerCase())}(\\n`;\n const callArgs = `${this.httpArgs(currIndent, method)}\\n`;\n const callCloser = `${currIndent})\\n${callerIndent})\\n`;\n const returnStmt = `${callerIndent}return response`;\n return deprecation + callOpener + callArgs + callCloser + returnStmt;\n }\n\n encodePathParams(indent: string, method: IMethod) {\n let encodings = '';\n const pathParams = method.pathParams;\n if (pathParams.length > 0) {\n for (const param of pathParams) {\n if (param.doEncode()) {\n encodings += `${indent}${param.name} = self.encode_path_param(${param.name})\\n`;\n }\n }\n }\n return encodings;\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 = `model.URLSearchParams(${query})`;\n query = this.nullStr;\n }\n return { body, query, options };\n }\n\n declareMethod(indent: string, method: IMethod) {\n const bump = this.bumper(indent);\n\n return (\n this.methodSignature(indent, method) +\n this.summary(bump, method.summary) +\n this.encodePathParams(bump, method) +\n this.httpCall(bump, method)\n );\n }\n\n typeSignature(indent: string, type: IType) {\n const bump = this.bumper(indent);\n const b2 = this.bumper(bump);\n const attrs: string[] = [];\n const isEnum = type instanceof EnumType;\n const baseClass = isEnum ? 'enum.Enum' : 'model.Model';\n let usesReservedPythonKeyword = false;\n\n if (!isEnum) {\n for (const prop of this.typeProperties(type)) {\n let propName = prop.name;\n if (this.pythonKeywords.has(propName)) {\n propName = propName + '_';\n usesReservedPythonKeyword = true;\n }\n let attr = `${b2}${propName}:`;\n if (prop.description) {\n attr += ` ${prop.description}`;\n }\n attrs.push(attr);\n }\n }\n\n if (usesReservedPythonKeyword) {\n this.hooks.push(\n `sr.converter${this.apiRef}.register_structure_hook(\\n${bump}${type.name}, # type: ignore\\n${bump}${this.structureHookTK} # type:ignore\\n)`\n );\n }\n\n let result =\n `\\n` +\n (isEnum ? '' : `${indent}@attr.s(auto_attribs=True, init=False)\\n`) +\n `${indent}class ${type.name}(${baseClass}):\\n` +\n `${bump}\"\"\"\\n` +\n (type.description ? `${bump}${type.description}\\n\\n` : '');\n\n if (attrs.length > 0) {\n result += `${bump}Attributes:\\n` + `${attrs.join('\\n')}\\n`;\n }\n\n return result + `${bump}\"\"\"\\n`;\n }\n\n summary(indent: string, text: string | undefined) {\n return text ? `${indent}\"\"\"${text}\"\"\"\\n` : '';\n }\n\n // when format is \"methods\" that means we're in the methods.py module\n // and we need to reference the type by the `mdls.` package name\n prefixModelsNamespace(\n name: string,\n format: 'models' | 'methods',\n forwardRef = false\n ): string {\n if (format === 'models') {\n // need to quote this forwardRef\n name = forwardRef ? `\"${name}\"` : name;\n } else if (format === 'methods') {\n name = `mdls.${name}`;\n }\n return name;\n }\n\n // hack default format to 'methods' so that argValue() calls the right thing\n typeMap(type: IType, format: 'models' | 'methods' = 'methods'): IMappedType {\n const asString: CodeAssignment = (_, v) => `\"${v}\"`;\n const pythonTypes: Record<string, IMappedType> = {\n any: { default: this.nullStr, name: 'Any' },\n boolean: { default: this.nullStr, name: 'bool' },\n byte: { default: this.nullStr, name: 'bytes' },\n date: { default: this.nullStr, name: 'datetime.datetime' },\n datetime: { default: this.nullStr, name: 'datetime.datetime' },\n double: { default: this.nullStr, name: 'float' },\n float: { default: this.nullStr, name: 'float' },\n int32: { default: this.nullStr, name: 'int' },\n int64: { default: this.nullStr, name: 'int' },\n integer: { default: this.nullStr, name: 'int' },\n number: { default: this.nullStr, name: 'float' },\n password: { default: this.nullStr, name: 'str', asVal: asString },\n string: { default: this.nullStr, name: 'str', asVal: asString },\n object: { default: this.nullStr, name: 'str', asVal: asString },\n uri: { default: this.nullStr, name: 'str', asVal: asString },\n void: { default: this.nullStr, name: 'None' },\n };\n\n super.typeMap(type);\n if (type.elementType) {\n const map = this.typeMap(type.elementType, format);\n let typeName: string;\n let name: string;\n const defaultValue = this.nullStr;\n let asVal: CodeAssignment | undefined;\n switch (type.className) {\n case 'ArrayType':\n typeName = 'Sequence';\n name = `${typeName}[${map.name}]`;\n break;\n case 'HashType':\n typeName = 'MutableMapping';\n // TODO fix bad API spec, like MergeQuery vis_config\n name =\n typeName +\n '[str, ' +\n (type.elementType.name === 'string' ? 'Any' : map.name) +\n ']';\n break;\n case 'DelimArrayType':\n typeName = this.prefixModelsNamespace('DelimSequence', format);\n name = `${typeName}[${map.name}]`;\n asVal = (_, v) => `${typeName}([${v}])`;\n break;\n case 'EnumType':\n name = typeName = this.prefixModelsNamespace(type.name, format, true);\n asVal = (_, v) => `${typeName}.${v}`;\n break;\n default:\n throw new Error(`Don't know how to handle: ${JSON.stringify(type)}`);\n }\n const mt: IMappedType = { default: defaultValue, name };\n if (asVal) {\n mt.asVal = asVal;\n }\n return mt;\n }\n if (!type.name) {\n throw new Error('Cannot output a nameless type.');\n }\n const name = this.prefixModelsNamespace(\n type.name,\n format,\n !!type.customType\n );\n const result = pythonTypes[type.name];\n return result || { default: this.nullStr, name };\n }\n\n typeMapMethods(type: IType) {\n return this.typeMap(type, 'methods');\n }\n\n typeMapModels(type: IType) {\n return this.typeMap(type, 'models');\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
package/lib/sdkModels.js
CHANGED
|
@@ -9,13 +9,12 @@ var _blueimpMd = _interopRequireDefault(require("blueimp-md5"));
|
|
|
9
9
|
var _isEmpty = _interopRequireDefault(require("lodash/isEmpty"));
|
|
10
10
|
var _sdkRtl = require("@looker/sdk-rtl");
|
|
11
11
|
var _specConverter = require("./specConverter");
|
|
12
|
-
function _interopRequireDefault(
|
|
13
|
-
function
|
|
14
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
12
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
13
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
15
14
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
16
15
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
17
|
-
function _defineProperty(
|
|
18
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i :
|
|
16
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
17
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
19
18
|
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); }
|
|
20
19
|
var strBody = exports.strBody = 'body';
|
|
21
20
|
var strRequest = exports.strRequest = 'Request';
|
|
@@ -195,7 +194,7 @@ var typeRefs = (api, refs) => {
|
|
|
195
194
|
return result;
|
|
196
195
|
};
|
|
197
196
|
exports.typeRefs = typeRefs;
|
|
198
|
-
var
|
|
197
|
+
var _firstMethodRef = exports.firstMethodRef = function firstMethodRef(api, type) {
|
|
199
198
|
var stack = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : new Set();
|
|
200
199
|
stack.add(type.name);
|
|
201
200
|
var method = methodRefs(api, type.methodRefs)[0];
|
|
@@ -203,14 +202,14 @@ var firstMethodRef = exports.firstMethodRef = function firstMethodRef(api, type)
|
|
|
203
202
|
var parents = typeRefs(api, type.parentTypes);
|
|
204
203
|
for (var parent of parents) {
|
|
205
204
|
if (!stack.has(parent.name)) {
|
|
206
|
-
method =
|
|
205
|
+
method = _firstMethodRef(api, parent, stack);
|
|
207
206
|
}
|
|
208
207
|
if (method) break;
|
|
209
208
|
}
|
|
210
209
|
}
|
|
211
210
|
return method;
|
|
212
211
|
};
|
|
213
|
-
var
|
|
212
|
+
var _anyWriter = function anyWriter(api, type) {
|
|
214
213
|
var stack = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : new Set();
|
|
215
214
|
var result;
|
|
216
215
|
if (stack.has(type.name)) return undefined;
|
|
@@ -227,7 +226,7 @@ var anyWriter = function anyWriter(api, type) {
|
|
|
227
226
|
allTypes.delete(type.name);
|
|
228
227
|
var refs = typeRefs(api, allTypes);
|
|
229
228
|
for (var ref of refs) {
|
|
230
|
-
result =
|
|
229
|
+
result = _anyWriter(api, ref, stack);
|
|
231
230
|
if (result) {
|
|
232
231
|
break;
|
|
233
232
|
}
|
|
@@ -281,7 +280,7 @@ var tagTypes = (api, types) => {
|
|
|
281
280
|
var [name, type] = _ref2;
|
|
282
281
|
var methods = methodRefs(api, type.methodRefs);
|
|
283
282
|
if (methods.length === 0) {
|
|
284
|
-
var first =
|
|
283
|
+
var first = _firstMethodRef(api, type);
|
|
285
284
|
if (first) methods = [first];
|
|
286
285
|
}
|
|
287
286
|
methods.forEach(method => {
|
|
@@ -318,7 +317,7 @@ class MethodResponse {
|
|
|
318
317
|
return result;
|
|
319
318
|
}
|
|
320
319
|
}
|
|
321
|
-
class
|
|
320
|
+
class _Symbol2 {
|
|
322
321
|
constructor(name, type) {
|
|
323
322
|
var owner = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';
|
|
324
323
|
this.name = name;
|
|
@@ -348,7 +347,7 @@ class _Symbol {
|
|
|
348
347
|
return result;
|
|
349
348
|
}
|
|
350
349
|
}
|
|
351
|
-
class SchemadSymbol extends
|
|
350
|
+
class SchemadSymbol extends _Symbol2 {
|
|
352
351
|
constructor(name, type, schema) {
|
|
353
352
|
var owner = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '';
|
|
354
353
|
super(name, type, owner);
|
|
@@ -1149,16 +1148,16 @@ class Type {
|
|
|
1149
1148
|
var [a] = _ref8;
|
|
1150
1149
|
var [b] = _ref9;
|
|
1151
1150
|
return a.localeCompare(b);
|
|
1152
|
-
}).forEach(
|
|
1153
|
-
var [, prop] =
|
|
1151
|
+
}).forEach(_ref0 => {
|
|
1152
|
+
var [, prop] = _ref0;
|
|
1154
1153
|
result += prop.asHashString() + ':';
|
|
1155
1154
|
});
|
|
1156
1155
|
return result;
|
|
1157
1156
|
}
|
|
1158
1157
|
isRecursive() {
|
|
1159
1158
|
var selfType = this.name;
|
|
1160
|
-
return Object.entries(this.properties).some(
|
|
1161
|
-
var [, prop] =
|
|
1159
|
+
return Object.entries(this.properties).some(_ref1 => {
|
|
1160
|
+
var [, prop] = _ref1;
|
|
1162
1161
|
return prop.type.name === selfType;
|
|
1163
1162
|
});
|
|
1164
1163
|
}
|
|
@@ -1190,8 +1189,8 @@ class Type {
|
|
|
1190
1189
|
if (this.deprecated) result += searchIt('deprecated');
|
|
1191
1190
|
}
|
|
1192
1191
|
if (criteria.has(SearchCriterion.property)) {
|
|
1193
|
-
Object.entries(this.properties).forEach(
|
|
1194
|
-
var [, prop] =
|
|
1192
|
+
Object.entries(this.properties).forEach(_ref10 => {
|
|
1193
|
+
var [, prop] = _ref10;
|
|
1195
1194
|
if (this.name !== prop.type.name) {
|
|
1196
1195
|
result += prop.searchString(criteria);
|
|
1197
1196
|
}
|
|
@@ -1384,11 +1383,11 @@ class WriteType extends Type {
|
|
|
1384
1383
|
exports.WriteType = WriteType;
|
|
1385
1384
|
_defineProperty(WriteType, "readonlyProps", properties => {
|
|
1386
1385
|
var result = [];
|
|
1387
|
-
Object.entries(properties).filter(
|
|
1388
|
-
var [, prop] =
|
|
1386
|
+
Object.entries(properties).filter(_ref19 => {
|
|
1387
|
+
var [, prop] = _ref19;
|
|
1389
1388
|
return prop.readOnly || prop.type.readOnly;
|
|
1390
|
-
}).forEach(
|
|
1391
|
-
var [, prop] =
|
|
1389
|
+
}).forEach(_ref20 => {
|
|
1390
|
+
var [, prop] = _ref20;
|
|
1392
1391
|
return result.push(prop);
|
|
1393
1392
|
});
|
|
1394
1393
|
return result;
|
|
@@ -1469,8 +1468,8 @@ class ApiModel {
|
|
|
1469
1468
|
return result;
|
|
1470
1469
|
}
|
|
1471
1470
|
if (ApiModel.isMethodSearch(criteria)) {
|
|
1472
|
-
Object.entries(this.methods).forEach(
|
|
1473
|
-
var [, method] =
|
|
1471
|
+
Object.entries(this.methods).forEach(_ref11 => {
|
|
1472
|
+
var [, method] = _ref11;
|
|
1474
1473
|
if (method.search(rx, criteria)) {
|
|
1475
1474
|
methodCount++;
|
|
1476
1475
|
ApiModel.addMethodToTags(tags, method);
|
|
@@ -1478,8 +1477,8 @@ class ApiModel {
|
|
|
1478
1477
|
});
|
|
1479
1478
|
}
|
|
1480
1479
|
if (ApiModel.isTypeSearch(criteria)) {
|
|
1481
|
-
Object.entries(this.types).forEach(
|
|
1482
|
-
var [key, type] =
|
|
1480
|
+
Object.entries(this.types).forEach(_ref12 => {
|
|
1481
|
+
var [key, type] = _ref12;
|
|
1483
1482
|
if (!rx) {
|
|
1484
1483
|
throw Error("".concat(key, " rx undefined"));
|
|
1485
1484
|
}
|
|
@@ -1633,9 +1632,9 @@ class ApiModel {
|
|
|
1633
1632
|
if (type.intrinsic) return undefined;
|
|
1634
1633
|
if ((_type$elementType = type.elementType) !== null && _type$elementType !== void 0 && _type$elementType.intrinsic) return undefined;
|
|
1635
1634
|
if (type instanceof WriteType) return type;
|
|
1636
|
-
if (!
|
|
1637
|
-
var props = Object.entries(type.properties).map(
|
|
1638
|
-
var [, prop] =
|
|
1635
|
+
if (!_anyWriter(this, type)) return undefined;
|
|
1636
|
+
var props = Object.entries(type.properties).map(_ref13 => {
|
|
1637
|
+
var [, prop] = _ref13;
|
|
1639
1638
|
return prop;
|
|
1640
1639
|
});
|
|
1641
1640
|
if (props.length === 0) return undefined;
|
|
@@ -1656,8 +1655,8 @@ class ApiModel {
|
|
|
1656
1655
|
return result;
|
|
1657
1656
|
}
|
|
1658
1657
|
loadDynamicTypes() {
|
|
1659
|
-
Object.entries(this.methods).forEach(
|
|
1660
|
-
var [, method] =
|
|
1658
|
+
Object.entries(this.methods).forEach(_ref14 => {
|
|
1659
|
+
var [, method] = _ref14;
|
|
1661
1660
|
method.makeTypes(this);
|
|
1662
1661
|
});
|
|
1663
1662
|
}
|
|
@@ -1682,8 +1681,8 @@ class ApiModel {
|
|
|
1682
1681
|
load() {
|
|
1683
1682
|
var _this$spec3, _this$spec3$component, _this$spec4;
|
|
1684
1683
|
if ((_this$spec3 = this.spec) !== null && _this$spec3 !== void 0 && (_this$spec3$component = _this$spec3.components) !== null && _this$spec3$component !== void 0 && _this$spec3$component.schemas) {
|
|
1685
|
-
Object.entries(this.spec.components.schemas).forEach(
|
|
1686
|
-
var [name, schema] =
|
|
1684
|
+
Object.entries(this.spec.components.schemas).forEach(_ref15 => {
|
|
1685
|
+
var [name, schema] = _ref15;
|
|
1687
1686
|
var t = new Type(schema, name);
|
|
1688
1687
|
this.types[name] = t;
|
|
1689
1688
|
this.refs["#/components/schemas/".concat(name)] = t;
|
|
@@ -1705,8 +1704,8 @@ class ApiModel {
|
|
|
1705
1704
|
});
|
|
1706
1705
|
}
|
|
1707
1706
|
if ((_this$spec4 = this.spec) !== null && _this$spec4 !== void 0 && _this$spec4.paths) {
|
|
1708
|
-
Object.entries(this.spec.paths).forEach(
|
|
1709
|
-
var [path, schema] =
|
|
1707
|
+
Object.entries(this.spec.paths).forEach(_ref16 => {
|
|
1708
|
+
var [path, schema] = _ref16;
|
|
1710
1709
|
var methods = this.loadMethods(path, schema);
|
|
1711
1710
|
methods.forEach(method => {
|
|
1712
1711
|
this.methods[method.name] = method;
|
|
@@ -1738,12 +1737,12 @@ class ApiModel {
|
|
|
1738
1737
|
}
|
|
1739
1738
|
methodResponses(schema) {
|
|
1740
1739
|
var responses = [];
|
|
1741
|
-
Object.entries(schema.responses).forEach(
|
|
1742
|
-
var [statusCode, contentSchema] =
|
|
1740
|
+
Object.entries(schema.responses).forEach(_ref17 => {
|
|
1741
|
+
var [statusCode, contentSchema] = _ref17;
|
|
1743
1742
|
var desc = contentSchema.description || '';
|
|
1744
1743
|
if (contentSchema.content) {
|
|
1745
|
-
Object.entries(contentSchema.content).forEach(
|
|
1746
|
-
var [mediaType, response] =
|
|
1744
|
+
Object.entries(contentSchema.content).forEach(_ref18 => {
|
|
1745
|
+
var [mediaType, response] = _ref18;
|
|
1747
1746
|
responses.push(new MethodResponse(parseInt(statusCode, 10), mediaType, this.resolveType(response.schema || {}), desc));
|
|
1748
1747
|
});
|
|
1749
1748
|
} else if (statusCode === '204') {
|