@azure-tools/typespec-go 0.8.5 → 0.8.7
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/dist/codegen.go/src/core/clientFactory.d.ts +12 -0
- package/dist/codegen.go/src/core/clientFactory.d.ts.map +1 -0
- package/dist/codegen.go/src/{clientFactory.js → core/clientFactory.js} +17 -9
- package/dist/codegen.go/src/core/clientFactory.js.map +1 -0
- package/dist/codegen.go/src/core/cloudConfig.d.ts +11 -0
- package/dist/codegen.go/src/core/cloudConfig.d.ts.map +1 -0
- package/dist/codegen.go/src/{cloudConfig.js → core/cloudConfig.js} +7 -15
- package/dist/codegen.go/src/core/cloudConfig.js.map +1 -0
- package/dist/codegen.go/src/core/constants.d.ts +9 -0
- package/dist/codegen.go/src/core/constants.d.ts.map +1 -0
- package/dist/codegen.go/src/{constants.js → core/constants.js} +10 -5
- package/dist/codegen.go/src/core/constants.js.map +1 -0
- package/dist/codegen.go/src/{errors.d.ts → core/errors.d.ts} +1 -1
- package/dist/codegen.go/src/core/errors.d.ts.map +1 -0
- package/dist/codegen.go/src/core/errors.js.map +1 -0
- package/dist/codegen.go/src/core/example.d.ts +16 -0
- package/dist/codegen.go/src/core/example.d.ts.map +1 -0
- package/dist/codegen.go/src/{example.js → core/example.js} +77 -43
- package/dist/codegen.go/src/core/example.js.map +1 -0
- package/dist/codegen.go/src/core/gomod.d.ts +12 -0
- package/dist/codegen.go/src/core/gomod.d.ts.map +1 -0
- package/dist/codegen.go/src/{gomod.js → core/gomod.js} +15 -12
- package/dist/codegen.go/src/core/gomod.js.map +1 -0
- package/dist/codegen.go/src/{helpers.d.ts → core/helpers.d.ts} +21 -8
- package/dist/codegen.go/src/core/helpers.d.ts.map +1 -0
- package/dist/codegen.go/src/{helpers.js → core/helpers.js} +43 -30
- package/dist/codegen.go/src/core/helpers.js.map +1 -0
- package/dist/codegen.go/src/core/imports.d.ts +17 -0
- package/dist/codegen.go/src/core/imports.d.ts.map +1 -0
- package/dist/codegen.go/src/{imports.js → core/imports.js} +25 -0
- package/dist/codegen.go/src/core/imports.js.map +1 -0
- package/dist/codegen.go/src/core/interfaces.d.ts +9 -0
- package/dist/codegen.go/src/core/interfaces.d.ts.map +1 -0
- package/dist/codegen.go/src/{interfaces.js → core/interfaces.js} +11 -5
- package/dist/codegen.go/src/core/interfaces.js.map +1 -0
- package/dist/codegen.go/src/core/license.d.ts +9 -0
- package/dist/codegen.go/src/core/license.d.ts.map +1 -0
- package/dist/codegen.go/src/{license.js → core/license.js} +4 -13
- package/dist/codegen.go/src/core/license.js.map +1 -0
- package/dist/codegen.go/src/core/metadata.d.ts +3 -0
- package/dist/codegen.go/src/core/metadata.d.ts.map +1 -0
- package/dist/codegen.go/src/core/metadata.js.map +1 -0
- package/dist/codegen.go/src/core/models.d.ts +15 -0
- package/dist/codegen.go/src/core/models.d.ts.map +1 -0
- package/dist/codegen.go/src/{models.js → core/models.js} +17 -11
- package/dist/codegen.go/src/core/models.js.map +1 -0
- package/dist/codegen.go/src/core/operations.d.ts +17 -0
- package/dist/codegen.go/src/core/operations.d.ts.map +1 -0
- package/dist/codegen.go/src/{operations.js → core/operations.js} +34 -27
- package/dist/codegen.go/src/core/operations.js.map +1 -0
- package/dist/codegen.go/src/core/options.d.ts +9 -0
- package/dist/codegen.go/src/core/options.d.ts.map +1 -0
- package/dist/codegen.go/src/{options.js → core/options.js} +11 -6
- package/dist/codegen.go/src/core/options.js.map +1 -0
- package/dist/codegen.go/src/core/polymorphics.d.ts +10 -0
- package/dist/codegen.go/src/core/polymorphics.d.ts.map +1 -0
- package/dist/codegen.go/src/{polymorphics.js → core/polymorphics.js} +16 -10
- package/dist/codegen.go/src/core/polymorphics.js.map +1 -0
- package/dist/codegen.go/src/core/responses.d.ts +14 -0
- package/dist/codegen.go/src/core/responses.d.ts.map +1 -0
- package/dist/codegen.go/src/{responses.js → core/responses.js} +14 -8
- package/dist/codegen.go/src/core/responses.js.map +1 -0
- package/dist/codegen.go/src/core/time.d.ts +15 -0
- package/dist/codegen.go/src/core/time.d.ts.map +1 -0
- package/dist/codegen.go/src/{time.js → core/time.js} +19 -14
- package/dist/codegen.go/src/core/time.js.map +1 -0
- package/dist/codegen.go/src/core/version.d.ts +10 -0
- package/dist/codegen.go/src/core/version.d.ts.map +1 -0
- package/dist/codegen.go/src/{version.js → core/version.js} +4 -12
- package/dist/codegen.go/src/core/version.js.map +1 -0
- package/dist/codegen.go/src/core/xmlAdditionalProps.d.ts +9 -0
- package/dist/codegen.go/src/core/xmlAdditionalProps.d.ts.map +1 -0
- package/dist/codegen.go/src/{xmlAdditionalProps.js → core/xmlAdditionalProps.js} +11 -7
- package/dist/codegen.go/src/core/xmlAdditionalProps.js.map +1 -0
- package/dist/codegen.go/src/emitter.d.ts +42 -0
- package/dist/codegen.go/src/emitter.d.ts.map +1 -0
- package/dist/codegen.go/src/emitter.js +290 -0
- package/dist/codegen.go/src/emitter.js.map +1 -0
- package/dist/codegen.go/src/fake/factory.d.ts +8 -1
- package/dist/codegen.go/src/fake/factory.d.ts.map +1 -1
- package/dist/codegen.go/src/fake/factory.js +17 -9
- package/dist/codegen.go/src/fake/factory.js.map +1 -1
- package/dist/codegen.go/src/fake/internal.d.ts +8 -1
- package/dist/codegen.go/src/fake/internal.d.ts.map +1 -1
- package/dist/codegen.go/src/fake/internal.js +12 -5
- package/dist/codegen.go/src/fake/internal.js.map +1 -1
- package/dist/codegen.go/src/fake/servers.d.ts +7 -1
- package/dist/codegen.go/src/fake/servers.d.ts.map +1 -1
- package/dist/codegen.go/src/fake/servers.js +22 -15
- package/dist/codegen.go/src/fake/servers.js.map +1 -1
- package/dist/codegen.go/src/index.d.ts +4 -0
- package/dist/codegen.go/src/index.d.ts.map +1 -0
- package/dist/codegen.go/src/index.js +8 -0
- package/dist/codegen.go/src/index.js.map +1 -0
- package/dist/codemodel.go/src/client.d.ts +1 -1
- package/dist/codemodel.go/src/client.d.ts.map +1 -1
- package/dist/codemodel.go/src/{package.d.ts → codeModel.d.ts} +11 -35
- package/dist/codemodel.go/src/codeModel.d.ts.map +1 -0
- package/dist/codemodel.go/src/codeModel.js +29 -0
- package/dist/codemodel.go/src/codeModel.js.map +1 -0
- package/dist/codemodel.go/src/index.d.ts +3 -2
- package/dist/codemodel.go/src/index.d.ts.map +1 -1
- package/dist/codemodel.go/src/index.js +3 -2
- package/dist/codemodel.go/src/index.js.map +1 -1
- package/dist/codemodel.go/src/module.d.ts +70 -0
- package/dist/codemodel.go/src/module.d.ts.map +1 -0
- package/dist/codemodel.go/src/module.js +39 -0
- package/dist/codemodel.go/src/module.js.map +1 -0
- package/dist/typespec-go/src/emitter.d.ts.map +1 -1
- package/dist/typespec-go/src/emitter.js +32 -168
- package/dist/typespec-go/src/emitter.js.map +1 -1
- package/dist/typespec-go/src/tcgcadapter/adapter.d.ts.map +1 -1
- package/dist/typespec-go/src/tcgcadapter/adapter.js +19 -18
- package/dist/typespec-go/src/tcgcadapter/adapter.js.map +1 -1
- package/dist/typespec-go/src/tcgcadapter/clients.d.ts +7 -0
- package/dist/typespec-go/src/tcgcadapter/clients.d.ts.map +1 -1
- package/dist/typespec-go/src/tcgcadapter/clients.js +95 -26
- package/dist/typespec-go/src/tcgcadapter/clients.js.map +1 -1
- package/dist/typespec-go/src/tcgcadapter/types.d.ts +7 -0
- package/dist/typespec-go/src/tcgcadapter/types.d.ts.map +1 -1
- package/dist/typespec-go/src/tcgcadapter/types.js +12 -3
- package/dist/typespec-go/src/tcgcadapter/types.js.map +1 -1
- package/package.json +22 -22
- package/dist/codegen.go/src/clientFactory.d.ts +0 -3
- package/dist/codegen.go/src/clientFactory.d.ts.map +0 -1
- package/dist/codegen.go/src/clientFactory.js.map +0 -1
- package/dist/codegen.go/src/cloudConfig.d.ts +0 -10
- package/dist/codegen.go/src/cloudConfig.d.ts.map +0 -1
- package/dist/codegen.go/src/cloudConfig.js.map +0 -1
- package/dist/codegen.go/src/constants.d.ts +0 -3
- package/dist/codegen.go/src/constants.d.ts.map +0 -1
- package/dist/codegen.go/src/constants.js.map +0 -1
- package/dist/codegen.go/src/errors.d.ts.map +0 -1
- package/dist/codegen.go/src/errors.js.map +0 -1
- package/dist/codegen.go/src/example.d.ts +0 -8
- package/dist/codegen.go/src/example.d.ts.map +0 -1
- package/dist/codegen.go/src/example.js.map +0 -1
- package/dist/codegen.go/src/gomod.d.ts +0 -3
- package/dist/codegen.go/src/gomod.d.ts.map +0 -1
- package/dist/codegen.go/src/gomod.js.map +0 -1
- package/dist/codegen.go/src/helpers.d.ts.map +0 -1
- package/dist/codegen.go/src/helpers.js.map +0 -1
- package/dist/codegen.go/src/imports.d.ts +0 -11
- package/dist/codegen.go/src/imports.d.ts.map +0 -1
- package/dist/codegen.go/src/imports.js.map +0 -1
- package/dist/codegen.go/src/interfaces.d.ts +0 -3
- package/dist/codegen.go/src/interfaces.d.ts.map +0 -1
- package/dist/codegen.go/src/interfaces.js.map +0 -1
- package/dist/codegen.go/src/license.d.ts +0 -10
- package/dist/codegen.go/src/license.d.ts.map +0 -1
- package/dist/codegen.go/src/license.js.map +0 -1
- package/dist/codegen.go/src/metadata.d.ts +0 -3
- package/dist/codegen.go/src/metadata.d.ts.map +0 -1
- package/dist/codegen.go/src/metadata.js.map +0 -1
- package/dist/codegen.go/src/models.d.ts +0 -8
- package/dist/codegen.go/src/models.d.ts.map +0 -1
- package/dist/codegen.go/src/models.js.map +0 -1
- package/dist/codegen.go/src/operations.d.ts +0 -9
- package/dist/codegen.go/src/operations.d.ts.map +0 -1
- package/dist/codegen.go/src/operations.js.map +0 -1
- package/dist/codegen.go/src/options.d.ts +0 -3
- package/dist/codegen.go/src/options.d.ts.map +0 -1
- package/dist/codegen.go/src/options.js.map +0 -1
- package/dist/codegen.go/src/polymorphics.d.ts +0 -3
- package/dist/codegen.go/src/polymorphics.d.ts.map +0 -1
- package/dist/codegen.go/src/polymorphics.js.map +0 -1
- package/dist/codegen.go/src/responses.d.ts +0 -7
- package/dist/codegen.go/src/responses.d.ts.map +0 -1
- package/dist/codegen.go/src/responses.js.map +0 -1
- package/dist/codegen.go/src/time.d.ts +0 -8
- package/dist/codegen.go/src/time.d.ts.map +0 -1
- package/dist/codegen.go/src/time.js.map +0 -1
- package/dist/codegen.go/src/version.d.ts +0 -10
- package/dist/codegen.go/src/version.d.ts.map +0 -1
- package/dist/codegen.go/src/version.js.map +0 -1
- package/dist/codegen.go/src/xmlAdditionalProps.d.ts +0 -3
- package/dist/codegen.go/src/xmlAdditionalProps.d.ts.map +0 -1
- package/dist/codegen.go/src/xmlAdditionalProps.js.map +0 -1
- package/dist/codemodel.go/src/package.d.ts.map +0 -1
- package/dist/codemodel.go/src/package.js +0 -78
- package/dist/codemodel.go/src/package.js.map +0 -1
- /package/dist/codegen.go/src/{errors.js → core/errors.js} +0 -0
- /package/dist/codegen.go/src/{metadata.js → core/metadata.js} +0 -0
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import * as go from '../../../codemodel.go/src/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* Creates the content for the go.mod file.
|
|
4
|
+
* If there's a preexisting go.mod file, update its specified version of azcore as needed.
|
|
5
|
+
*
|
|
6
|
+
* @param module the module for which to generate version.go
|
|
7
|
+
* @param options the emitter options
|
|
8
|
+
* @param existingGoMod preexisting go.mod file content
|
|
9
|
+
* @returns the contents for the go.mod file
|
|
10
|
+
*/
|
|
11
|
+
export declare function generateGoModFile(module: go.Module, options: go.Options, existingGoMod?: string): string;
|
|
12
|
+
//# sourceMappingURL=gomod.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gomod.d.ts","sourceRoot":"","sources":["../../../../../codegen.go/src/core/gomod.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,oCAAoC,CAAC;AAIzD;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,CA4CxG"}
|
|
@@ -4,30 +4,33 @@
|
|
|
4
4
|
*--------------------------------------------------------------------------------------------*/
|
|
5
5
|
import { lt, toSemver } from '@azure-tools/codegen';
|
|
6
6
|
import { CodegenError } from './errors.js';
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
7
|
+
/**
|
|
8
|
+
* Creates the content for the go.mod file.
|
|
9
|
+
* If there's a preexisting go.mod file, update its specified version of azcore as needed.
|
|
10
|
+
*
|
|
11
|
+
* @param module the module for which to generate version.go
|
|
12
|
+
* @param options the emitter options
|
|
13
|
+
* @param existingGoMod preexisting go.mod file content
|
|
14
|
+
* @returns the contents for the go.mod file
|
|
15
|
+
*/
|
|
16
|
+
export function generateGoModFile(module, options, existingGoMod) {
|
|
17
|
+
const modName = module.identity;
|
|
15
18
|
// here we specify the minimum version of azcore as required by the code generator.
|
|
16
19
|
// the version can be overwritten by passing the --azcore-version switch during generation.
|
|
17
20
|
let version = '1.20.0';
|
|
18
|
-
if (
|
|
21
|
+
if (options.azcoreVersion) {
|
|
19
22
|
// when matching versions, we need to handle beta, non-beta, and pseudo versions
|
|
20
23
|
// 1.2.3-beta.1, 1.2.3, 0.22.1-0.20220315231014-ed309e73db6b
|
|
21
|
-
if (!
|
|
24
|
+
if (!options.azcoreVersion.match(/^\d+\.\d+\.\d+(?:-[a-zA-Z0-9_.-]+)?$/)) {
|
|
22
25
|
throw new CodegenError('InvalidArgument', `azcore version ${version} must be in the format major.minor.patch[-beta.N]`);
|
|
23
26
|
}
|
|
24
|
-
version =
|
|
27
|
+
version = options.azcoreVersion;
|
|
25
28
|
}
|
|
26
29
|
const azcore = 'github.com/Azure/azure-sdk-for-go/sdk/azcore v' + version;
|
|
27
30
|
if (!existingGoMod) {
|
|
28
31
|
// no preexisting go.mod file, generate the default one
|
|
29
32
|
let text = `module ${modName}\n\n`;
|
|
30
|
-
text += 'go 1.
|
|
33
|
+
text += 'go 1.24.0\n\n';
|
|
31
34
|
text += `require ${azcore}\n`;
|
|
32
35
|
return text;
|
|
33
36
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gomod.js","sourceRoot":"","sources":["../../../../../codegen.go/src/core/gomod.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAGhG,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C;;;;;;;;GAQG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAiB,EAAE,OAAmB,EAAE,aAAsB;IAC9F,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC;IAEhC,mFAAmF;IACnF,2FAA2F;IAC3F,IAAI,OAAO,GAAG,QAAQ,CAAC;IACvB,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;QAC1B,gFAAgF;QAChF,4DAA4D;QAC5D,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,sCAAsC,CAAC,EAAE,CAAC;YACzE,MAAM,IAAI,YAAY,CAAC,iBAAiB,EAAE,kBAAkB,OAAO,mDAAmD,CAAC,CAAC;QAC1H,CAAC;QACD,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC;IAClC,CAAC;IAED,MAAM,MAAM,GAAG,gDAAgD,GAAG,OAAO,CAAC;IAC1E,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,uDAAuD;QACvD,IAAI,IAAI,GAAG,UAAU,OAAO,MAAM,CAAC;QACnC,IAAI,IAAI,eAAe,CAAC;QACxB,IAAI,IAAI,WAAW,MAAM,IAAI,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,kFAAkF;IAClF,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,UAAU,OAAO,GAAG,CAAC,EAAE,CAAC;QAC/C,aAAa,GAAG,aAAa,CAAC,OAAO,CAAC,YAAY,EAAE,UAAU,OAAO,EAAE,CAAC,CAAC;IAC3E,CAAC;IAED,6FAA6F;IAC7F,mFAAmF;IACnF,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,2FAA2F,CAAC,CAAC;IAC/H,IAAI,KAAK,EAAE,CAAC;QACV,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,0CAA0C,CAAC,CAAC;QACtF,CAAC;QACD,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACvC,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;QACvC,IAAI,EAAE,CAAC,WAAW,EAAE,YAAY,CAAC,EAAE,CAAC;YAClC,iFAAiF;YACjF,aAAa,GAAG,aAAa,CAAC,OAAO,CAAC,yFAAyF,EAAE,MAAM,CAAC,CAAC;QAC3I,CAAC;IACH,CAAC;IACD,OAAO,aAAa,CAAC;AACvB,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as go from '
|
|
1
|
+
import * as go from '../../../codemodel.go/src/index.js';
|
|
2
2
|
import { ImportManager } from './imports.js';
|
|
3
3
|
export declare const commentLength = 120;
|
|
4
4
|
export declare const dateFormat = "2006-01-02";
|
|
@@ -6,15 +6,20 @@ export declare const datetimeRFC3339Format = "time.RFC3339Nano";
|
|
|
6
6
|
export declare const datetimeRFC1123Format = "time.RFC1123";
|
|
7
7
|
export declare const timeRFC3339Format = "15:04:05.999999999Z07:00";
|
|
8
8
|
export declare const doNotEditRegex: RegExp;
|
|
9
|
+
/**
|
|
10
|
+
* sets the specified content to use as the header text comment per file.
|
|
11
|
+
*
|
|
12
|
+
* @param headerText the custom header text to use
|
|
13
|
+
*/
|
|
14
|
+
export declare function setCustomHeaderText(headerText: string): void;
|
|
9
15
|
/**
|
|
10
16
|
* returns the common source-file preamble (license comment, package name etc)
|
|
11
17
|
*
|
|
12
|
-
* @param
|
|
18
|
+
* @param packageName the name of the package to use in the package declaration
|
|
13
19
|
* @param doNotEdit when false the 'DO NOT EDIT' clause is omitted
|
|
14
|
-
* @param packageName overrides the package name in the code model
|
|
15
20
|
* @returns the source file preamble
|
|
16
21
|
*/
|
|
17
|
-
export declare function contentPreamble(
|
|
22
|
+
export declare function contentPreamble(packageName: string, doNotEdit?: boolean): string;
|
|
18
23
|
export declare function sortAscending(a: string, b: string): number;
|
|
19
24
|
/**
|
|
20
25
|
* returns the parameter's type definition with a possible '*' prefix
|
|
@@ -50,7 +55,6 @@ export declare function formatStatusCode(statusCode: number): string;
|
|
|
50
55
|
export declare function formatCommentAsBulletItem(prefix: string, docs: go.Docs): string;
|
|
51
56
|
export declare function formatDocCommentWithPrefix(prefix: string, docs: go.Docs): string;
|
|
52
57
|
export declare function formatDocComment(docs: go.Docs): string;
|
|
53
|
-
export declare function getParentImport(codeModel: go.CodeModel): string;
|
|
54
58
|
export declare function getBitSizeForNumber(intSize: 'float32' | 'float64' | 'int8' | 'int16' | 'int32' | 'int64'): string;
|
|
55
59
|
export declare function recursiveUnwrapMapSlice(item: go.WireType): go.WireType;
|
|
56
60
|
/**
|
|
@@ -68,9 +72,9 @@ export declare function star(byValue: boolean): string;
|
|
|
68
72
|
*/
|
|
69
73
|
export declare function zeroValue(param: go.MethodParameter): string;
|
|
70
74
|
export type SerDeFormat = 'JSON' | 'XML';
|
|
71
|
-
export declare function getSerDeFormat(model: go.Model | go.PolymorphicModel,
|
|
72
|
-
export declare function getAllClientParameters(
|
|
73
|
-
export declare function getCommonClientParameters(
|
|
75
|
+
export declare function getSerDeFormat(model: go.Model | go.PolymorphicModel, pkg: go.PackageContent): SerDeFormat;
|
|
76
|
+
export declare function getAllClientParameters(pkg: go.PackageContent, target: go.CodeModelType): Array<go.ClientParameter>;
|
|
77
|
+
export declare function getCommonClientParameters(pkg: go.PackageContent, target: go.CodeModelType): Array<go.ClientParameter>;
|
|
74
78
|
/**
|
|
75
79
|
* groups method parameters based on their kind.
|
|
76
80
|
* note that the body param kinds are mutually exclusive.
|
|
@@ -166,4 +170,13 @@ export declare function splitScope(scope: string): {
|
|
|
166
170
|
};
|
|
167
171
|
/** returns true if the specified method is internal */
|
|
168
172
|
export declare function isMethodInternal(method: go.MethodType): boolean;
|
|
173
|
+
/**
|
|
174
|
+
* returns the package name for the specified input.
|
|
175
|
+
* for module github.com/contoso/module, 'module' is returned.
|
|
176
|
+
* any major version suffix on the module is removed.
|
|
177
|
+
*
|
|
178
|
+
* @param pkg is the package source
|
|
179
|
+
* @returns the package name for pkg
|
|
180
|
+
*/
|
|
181
|
+
export declare function getPackageName(pkg: go.PackageContent): string;
|
|
169
182
|
//# sourceMappingURL=helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../../codegen.go/src/core/helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
3
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
4
4
|
*--------------------------------------------------------------------------------------------*/
|
|
5
|
-
import * as
|
|
5
|
+
import * as path from 'path';
|
|
6
|
+
import * as go from '../../../codemodel.go/src/index.js';
|
|
6
7
|
import { values } from '@azure-tools/linq';
|
|
7
8
|
import { capitalize, comment, uncapitalize } from '@azure-tools/codegen';
|
|
8
9
|
import { CodegenError } from './errors.js';
|
|
@@ -13,19 +14,27 @@ export const datetimeRFC3339Format = 'time.RFC3339Nano';
|
|
|
13
14
|
export const datetimeRFC1123Format = 'time.RFC1123';
|
|
14
15
|
export const timeRFC3339Format = '15:04:05.999999999Z07:00';
|
|
15
16
|
export const doNotEditRegex = /^\/\/ Code generated .* DO NOT EDIT\.$/m;
|
|
17
|
+
const defaultHeaderText = `Copyright (c) Microsoft Corporation. All rights reserved.
|
|
18
|
+
Licensed under the MIT License. See License.txt in the project root for license information.
|
|
19
|
+
Code generated by Microsoft (R) Go Code Generator.`;
|
|
20
|
+
let overrideHeaderText;
|
|
21
|
+
/**
|
|
22
|
+
* sets the specified content to use as the header text comment per file.
|
|
23
|
+
*
|
|
24
|
+
* @param headerText the custom header text to use
|
|
25
|
+
*/
|
|
26
|
+
export function setCustomHeaderText(headerText) {
|
|
27
|
+
overrideHeaderText = headerText;
|
|
28
|
+
}
|
|
16
29
|
/**
|
|
17
30
|
* returns the common source-file preamble (license comment, package name etc)
|
|
18
31
|
*
|
|
19
|
-
* @param
|
|
32
|
+
* @param packageName the name of the package to use in the package declaration
|
|
20
33
|
* @param doNotEdit when false the 'DO NOT EDIT' clause is omitted
|
|
21
|
-
* @param packageName overrides the package name in the code model
|
|
22
34
|
* @returns the source file preamble
|
|
23
35
|
*/
|
|
24
|
-
export function contentPreamble(
|
|
25
|
-
|
|
26
|
-
packageName = codeModel.packageName;
|
|
27
|
-
}
|
|
28
|
-
const headerText = comment(codeModel.options.headerText, '// ');
|
|
36
|
+
export function contentPreamble(packageName, doNotEdit = true) {
|
|
37
|
+
const headerText = comment(overrideHeaderText ?? defaultHeaderText, '// ');
|
|
29
38
|
let text = headerText;
|
|
30
39
|
if (doNotEdit) {
|
|
31
40
|
// ensure tools recognize the file as generated according to
|
|
@@ -635,18 +644,6 @@ export function formatDocComment(docs) {
|
|
|
635
644
|
}
|
|
636
645
|
return docComment;
|
|
637
646
|
}
|
|
638
|
-
export function getParentImport(codeModel) {
|
|
639
|
-
const clientPkg = codeModel.packageName;
|
|
640
|
-
if (codeModel.options.module) {
|
|
641
|
-
return codeModel.options.module;
|
|
642
|
-
}
|
|
643
|
-
else if (codeModel.options.containingModule) {
|
|
644
|
-
return codeModel.options.containingModule + '/' + clientPkg;
|
|
645
|
-
}
|
|
646
|
-
else {
|
|
647
|
-
throw new CodegenError('InvalidArgument', 'unable to determine containing module for fakes. specify either the module or containing-module switch');
|
|
648
|
-
}
|
|
649
|
-
}
|
|
650
647
|
export function getBitSizeForNumber(intSize) {
|
|
651
648
|
switch (intSize) {
|
|
652
649
|
case 'int8':
|
|
@@ -706,13 +703,13 @@ export function zeroValue(param) {
|
|
|
706
703
|
const serDeFormatCache = new Map();
|
|
707
704
|
// returns the wire format for the named model.
|
|
708
705
|
// at present this assumes the formats to be mutually exclusive.
|
|
709
|
-
export function getSerDeFormat(model,
|
|
706
|
+
export function getSerDeFormat(model, pkg) {
|
|
710
707
|
let serDeFormat = serDeFormatCache.get(model.name);
|
|
711
708
|
if (serDeFormat) {
|
|
712
709
|
return serDeFormat;
|
|
713
710
|
}
|
|
714
711
|
// for model-only builds we assume the format to be JSON
|
|
715
|
-
if (
|
|
712
|
+
if (pkg.clients.length === 0) {
|
|
716
713
|
return 'JSON';
|
|
717
714
|
}
|
|
718
715
|
// recursively walks the fields in model, updating serDeFormatCache with the model name and specified format
|
|
@@ -740,7 +737,7 @@ export function getSerDeFormat(model, codeModel) {
|
|
|
740
737
|
}
|
|
741
738
|
};
|
|
742
739
|
// walk the methods, indexing the model formats
|
|
743
|
-
for (const client of
|
|
740
|
+
for (const client of pkg.clients) {
|
|
744
741
|
for (const method of client.methods) {
|
|
745
742
|
for (const param of method.parameters) {
|
|
746
743
|
if (param.kind !== 'bodyParam' || (param.bodyFormat !== 'JSON' && param.bodyFormat !== 'XML')) {
|
|
@@ -784,9 +781,9 @@ export function getSerDeFormat(model, codeModel) {
|
|
|
784
781
|
return serDeFormat;
|
|
785
782
|
}
|
|
786
783
|
// return combined client parameters for all the clients
|
|
787
|
-
export function getAllClientParameters(
|
|
784
|
+
export function getAllClientParameters(pkg, target) {
|
|
788
785
|
const allClientParams = new Array();
|
|
789
|
-
for (const client of
|
|
786
|
+
for (const client of pkg.clients) {
|
|
790
787
|
if (client.instance?.kind === 'constructable') {
|
|
791
788
|
for (const ctor of client.instance.constructors) {
|
|
792
789
|
for (const ctorParam of ctor.parameters) {
|
|
@@ -801,15 +798,15 @@ export function getAllClientParameters(codeModel) {
|
|
|
801
798
|
}
|
|
802
799
|
}
|
|
803
800
|
}
|
|
804
|
-
return sortClientParameters(allClientParams,
|
|
801
|
+
return sortClientParameters(allClientParams, target);
|
|
805
802
|
}
|
|
806
803
|
// returns common client parameters for all the clients
|
|
807
|
-
export function getCommonClientParameters(
|
|
804
|
+
export function getCommonClientParameters(pkg, target) {
|
|
808
805
|
const paramCount = new Map();
|
|
809
806
|
let numClients = 0; // track client count since we might skip some
|
|
810
|
-
for (const client of
|
|
807
|
+
for (const client of pkg.clients) {
|
|
811
808
|
// special cases: some ARM clients always don't contain any parameters (OperationsClient will be depracated in the future)
|
|
812
|
-
if (
|
|
809
|
+
if (target === 'azure-arm' && client.name.match(/^OperationsClient$/)) {
|
|
813
810
|
continue;
|
|
814
811
|
}
|
|
815
812
|
++numClients;
|
|
@@ -837,7 +834,7 @@ export function getCommonClientParameters(codeModel) {
|
|
|
837
834
|
commonClientParams.push(entry.param);
|
|
838
835
|
}
|
|
839
836
|
}
|
|
840
|
-
return sortClientParameters(commonClientParams,
|
|
837
|
+
return sortClientParameters(commonClientParams, target);
|
|
841
838
|
}
|
|
842
839
|
/**
|
|
843
840
|
* enumerates method parameters and returns them based on kinds
|
|
@@ -997,4 +994,20 @@ export function splitScope(scope) {
|
|
|
997
994
|
export function isMethodInternal(method) {
|
|
998
995
|
return !!method.name.match(/^[a-z]{1}/);
|
|
999
996
|
}
|
|
997
|
+
/**
|
|
998
|
+
* returns the package name for the specified input.
|
|
999
|
+
* for module github.com/contoso/module, 'module' is returned.
|
|
1000
|
+
* any major version suffix on the module is removed.
|
|
1001
|
+
*
|
|
1002
|
+
* @param pkg is the package source
|
|
1003
|
+
* @returns the package name for pkg
|
|
1004
|
+
*/
|
|
1005
|
+
export function getPackageName(pkg) {
|
|
1006
|
+
switch (pkg.kind) {
|
|
1007
|
+
case 'module':
|
|
1008
|
+
return path.basename(pkg.identity.replace(/\/v\d+$/, ''));
|
|
1009
|
+
case 'package':
|
|
1010
|
+
return pkg.name;
|
|
1011
|
+
}
|
|
1012
|
+
}
|
|
1000
1013
|
//# sourceMappingURL=helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../../codegen.go/src/core/helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import * as go from '../../../codemodel.go/src/index.js';
|
|
2
|
+
export declare class ImportManager {
|
|
3
|
+
private imports;
|
|
4
|
+
constructor();
|
|
5
|
+
add(imp: string, alias?: string): void;
|
|
6
|
+
/**
|
|
7
|
+
* adds the specified package for importing if not already in the list.
|
|
8
|
+
* @param pkg the package to import
|
|
9
|
+
* @param alias optional package alias
|
|
10
|
+
*/
|
|
11
|
+
addForPkg(pkg: go.PackageContent, alias?: string): void;
|
|
12
|
+
length(): number;
|
|
13
|
+
text(): string;
|
|
14
|
+
addImportForType(type: go.Type): void;
|
|
15
|
+
private alias;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=imports.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"imports.d.ts","sourceRoot":"","sources":["../../../../../codegen.go/src/core/imports.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,oCAAoC,CAAC;AAOzD,qBAAa,aAAa;IACxB,OAAO,CAAC,OAAO,CAAqB;;IAQpC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM;IAS/B;;;;OAIG;IACH,SAAS,CAAC,GAAG,EAAE,EAAE,CAAC,cAAc,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI;IAuBvD,MAAM,IAAI,MAAM;IAKhB,IAAI,IAAI,MAAM;IAgBd,gBAAgB,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI;IAgB9B,OAAO,CAAC,KAAK;CAMd"}
|
|
@@ -20,6 +20,31 @@ export class ImportManager {
|
|
|
20
20
|
}
|
|
21
21
|
this.imports.push({ imp: imp, alias: alias });
|
|
22
22
|
}
|
|
23
|
+
/**
|
|
24
|
+
* adds the specified package for importing if not already in the list.
|
|
25
|
+
* @param pkg the package to import
|
|
26
|
+
* @param alias optional package alias
|
|
27
|
+
*/
|
|
28
|
+
addForPkg(pkg, alias) {
|
|
29
|
+
let pkgPath;
|
|
30
|
+
switch (pkg.kind) {
|
|
31
|
+
case 'module':
|
|
32
|
+
pkgPath = pkg.identity;
|
|
33
|
+
break;
|
|
34
|
+
case 'package': {
|
|
35
|
+
// build the full path to the package
|
|
36
|
+
pkgPath = pkg.name;
|
|
37
|
+
let cur = pkg.parent;
|
|
38
|
+
while (cur.kind === 'package') {
|
|
39
|
+
pkgPath = `${cur.name}/${pkgPath}`;
|
|
40
|
+
cur = cur.parent;
|
|
41
|
+
}
|
|
42
|
+
pkgPath = `${cur.identity}/${pkgPath}`;
|
|
43
|
+
break;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
this.add(pkgPath, alias);
|
|
47
|
+
}
|
|
23
48
|
// returns the number of packages in the list
|
|
24
49
|
length() {
|
|
25
50
|
return this.imports.length;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"imports.js","sourceRoot":"","sources":["../../../../../codegen.go/src/core/imports.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import * as go from '../../../codemodel.go/src/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* Creates the content for the interfaces.go file.
|
|
4
|
+
*
|
|
5
|
+
* @param pkg contains the package content
|
|
6
|
+
* @returns the text for the file or the empty string
|
|
7
|
+
*/
|
|
8
|
+
export declare function generateInterfaces(pkg: go.PackageContent): string;
|
|
9
|
+
//# sourceMappingURL=interfaces.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../../../codegen.go/src/core/interfaces.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,oCAAoC,CAAC;AAKzD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,EAAE,CAAC,cAAc,GAAG,MAAM,CA6BjE"}
|
|
@@ -2,16 +2,22 @@
|
|
|
2
2
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
3
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
4
4
|
*--------------------------------------------------------------------------------------------*/
|
|
5
|
+
import * as helpers from './helpers.js';
|
|
5
6
|
import { comment } from '@azure-tools/codegen';
|
|
6
7
|
import { contentPreamble, sortAscending } from './helpers.js';
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
/**
|
|
9
|
+
* Creates the content for the interfaces.go file.
|
|
10
|
+
*
|
|
11
|
+
* @param pkg contains the package content
|
|
12
|
+
* @returns the text for the file or the empty string
|
|
13
|
+
*/
|
|
14
|
+
export function generateInterfaces(pkg) {
|
|
15
|
+
if (pkg.interfaces.length === 0) {
|
|
10
16
|
// no polymorphic types
|
|
11
17
|
return '';
|
|
12
18
|
}
|
|
13
|
-
let text = contentPreamble(
|
|
14
|
-
for (const iface of
|
|
19
|
+
let text = contentPreamble(helpers.getPackageName(pkg));
|
|
20
|
+
for (const iface of pkg.interfaces) {
|
|
15
21
|
const methodName = `Get${iface.rootType.name}`;
|
|
16
22
|
text += `// ${iface.name} provides polymorphic access to related types.\n`;
|
|
17
23
|
text += `// Call the interface's ${methodName}() method to access the common type.\n`;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../../../codegen.go/src/core/interfaces.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAGhG,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE9D;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAAsB;IACvD,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,uBAAuB;QACvB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,IAAI,GAAG,eAAe,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC;IAExD,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;QACnC,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC/C,IAAI,IAAI,MAAM,KAAK,CAAC,IAAI,kDAAkD,CAAC;QAC3E,IAAI,IAAI,2BAA2B,UAAU,wCAAwC,CAAC;QACtF,IAAI,IAAI,iFAAiF,CAAC;QAC1F,MAAM,iBAAiB,GAAG,IAAI,KAAK,EAAU,CAAC;QAC9C,iBAAiB,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QAClD,KAAK,MAAM,YAAY,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;YAC/C,iBAAiB,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC;QAClD,CAAC;QACD,iBAAiB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACtC,IAAI,IAAI,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;QACvD,IAAI,IAAI,UAAU,KAAK,CAAC,IAAI,gBAAgB,CAAC;QAC7C,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACjB,IAAI,IAAI,KAAK,KAAK,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC;QACrC,CAAC;QACD,IAAI,IAAI,QAAQ,UAAU,gBAAgB,KAAK,CAAC,QAAQ,CAAC,IAAI,oCAAoC,CAAC;QAClG,IAAI,IAAI,KAAK,UAAU,OAAO,KAAK,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC;QACtD,IAAI,IAAI,OAAO,CAAC;IAClB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import * as go from '../../../codemodel.go/src/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* returns the content for the LICENSE.txt file.
|
|
4
|
+
* NOTE: this is only required when emitting a module.
|
|
5
|
+
*
|
|
6
|
+
* @returns the contents for the LICENSE.txt file
|
|
7
|
+
*/
|
|
8
|
+
export declare function generateLicenseTxt(options: go.Options): string;
|
|
9
|
+
//# sourceMappingURL=license.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"license.d.ts","sourceRoot":"","sources":["../../../../../codegen.go/src/core/license.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,oCAAoC,CAAC;AAEzD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,GAAG,MAAM,CAE9D"}
|
|
@@ -4,21 +4,12 @@
|
|
|
4
4
|
*--------------------------------------------------------------------------------------------*/
|
|
5
5
|
/**
|
|
6
6
|
* returns the content for the LICENSE.txt file.
|
|
7
|
-
*
|
|
7
|
+
* NOTE: this is only required when emitting a module.
|
|
8
8
|
*
|
|
9
|
-
* @
|
|
10
|
-
* @returns the contents for the LICENSE.txt file or undefined
|
|
9
|
+
* @returns the contents for the LICENSE.txt file
|
|
11
10
|
*/
|
|
12
|
-
export function generateLicenseTxt(
|
|
13
|
-
|
|
14
|
-
// we're emitting a subpackage into a module
|
|
15
|
-
// so skip the license generation
|
|
16
|
-
return undefined;
|
|
17
|
-
}
|
|
18
|
-
if (codeModel.options.licenseText) {
|
|
19
|
-
return codeModel.options.licenseText;
|
|
20
|
-
}
|
|
21
|
-
return mitLicenseForMSFT;
|
|
11
|
+
export function generateLicenseTxt(options) {
|
|
12
|
+
return options.licenseText ?? mitLicenseForMSFT;
|
|
22
13
|
}
|
|
23
14
|
const mitLicenseForMSFT = `MIT License
|
|
24
15
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"license.js","sourceRoot":"","sources":["../../../../../codegen.go/src/core/license.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAIhG;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAmB;IACpD,OAAO,OAAO,CAAC,WAAW,IAAI,iBAAiB,CAAC;AAClD,CAAC;AAED,MAAM,iBAAiB,GACvB;;;;;;;;;;;;;;;;;;;;;CAqBC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../../../../codegen.go/src/core/metadata.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,oCAAoC,CAAC;AAGzD,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,GAAG,MAAM,CAGpE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../../../../codegen.go/src/core/metadata.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAIhG,wCAAwC;AACxC,MAAM,UAAU,oBAAoB,CAAC,SAAuB;IAC1D,mCAAmC;IACnC,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACrD,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import * as go from '../../../codemodel.go/src/index.js';
|
|
2
|
+
export interface ModelsSerDe {
|
|
3
|
+
models: string;
|
|
4
|
+
serDe: string;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Creates the content for the models.go file.
|
|
8
|
+
*
|
|
9
|
+
* @param pkg contains the package content
|
|
10
|
+
* @param options the emitter options
|
|
11
|
+
* @returns the text for the files or the empty string
|
|
12
|
+
*/
|
|
13
|
+
export declare function generateModels(pkg: go.PackageContent, options: go.Options): ModelsSerDe;
|
|
14
|
+
export declare function getXMLSerialization(field: go.ModelField, isResponseEnvelope: boolean): string;
|
|
15
|
+
//# sourceMappingURL=models.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../../../../codegen.go/src/core/models.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,oCAAoC,CAAC;AAMzD,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,EAAE,CAAC,cAAc,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,GAAG,WAAW,CA+HvF;AAiuBD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,EAAE,kBAAkB,EAAE,OAAO,GAAG,MAAM,CAiD7F"}
|
|
@@ -2,14 +2,20 @@
|
|
|
2
2
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
3
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
4
4
|
*--------------------------------------------------------------------------------------------*/
|
|
5
|
-
import * as go from '
|
|
5
|
+
import * as go from '../../../codemodel.go/src/index.js';
|
|
6
6
|
import { capitalize, comment } from '@azure-tools/codegen';
|
|
7
7
|
import { values } from '@azure-tools/linq';
|
|
8
8
|
import * as helpers from './helpers.js';
|
|
9
9
|
import { ImportManager } from './imports.js';
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
/**
|
|
11
|
+
* Creates the content for the models.go file.
|
|
12
|
+
*
|
|
13
|
+
* @param pkg contains the package content
|
|
14
|
+
* @param options the emitter options
|
|
15
|
+
* @returns the text for the files or the empty string
|
|
16
|
+
*/
|
|
17
|
+
export function generateModels(pkg, options) {
|
|
18
|
+
if (pkg.models.length === 0) {
|
|
13
19
|
return {
|
|
14
20
|
models: '',
|
|
15
21
|
serDe: ''
|
|
@@ -18,9 +24,9 @@ export async function generateModels(codeModel) {
|
|
|
18
24
|
// this list of packages to import
|
|
19
25
|
const modelImports = new ImportManager();
|
|
20
26
|
const serdeImports = new ImportManager();
|
|
21
|
-
let modelText = helpers.contentPreamble(
|
|
27
|
+
let modelText = helpers.contentPreamble(helpers.getPackageName(pkg));
|
|
22
28
|
// we do model generation first as it can add imports to the imports list
|
|
23
|
-
const modelDefs = generateModelDefs(modelImports, serdeImports,
|
|
29
|
+
const modelDefs = generateModelDefs(modelImports, serdeImports, pkg, options);
|
|
24
30
|
modelText += modelImports.text();
|
|
25
31
|
// structs
|
|
26
32
|
let needsJSONPopulate = false;
|
|
@@ -121,7 +127,7 @@ export async function generateModels(codeModel) {
|
|
|
121
127
|
}
|
|
122
128
|
let serdeText = '';
|
|
123
129
|
if (serdeTextBody.length > 0) {
|
|
124
|
-
serdeText = helpers.contentPreamble(
|
|
130
|
+
serdeText = helpers.contentPreamble(helpers.getPackageName(pkg));
|
|
125
131
|
serdeText += serdeImports.text();
|
|
126
132
|
serdeText += serdeTextBody;
|
|
127
133
|
}
|
|
@@ -130,8 +136,8 @@ export async function generateModels(codeModel) {
|
|
|
130
136
|
serDe: serdeText
|
|
131
137
|
};
|
|
132
138
|
}
|
|
133
|
-
function generateModelDefs(modelImports, serdeImports,
|
|
134
|
-
const models =
|
|
139
|
+
function generateModelDefs(modelImports, serdeImports, pkg, options) {
|
|
140
|
+
const models = pkg.models;
|
|
135
141
|
const modelDefs = new Array();
|
|
136
142
|
for (const model of models) {
|
|
137
143
|
for (const field of model.fields) {
|
|
@@ -167,7 +173,7 @@ function generateModelDefs(modelImports, serdeImports, codeModel) {
|
|
|
167
173
|
}
|
|
168
174
|
field.docs.description = descriptionMods.join('; ');
|
|
169
175
|
}
|
|
170
|
-
const serDeFormat = helpers.getSerDeFormat(model,
|
|
176
|
+
const serDeFormat = helpers.getSerDeFormat(model, pkg);
|
|
171
177
|
const modelDef = new ModelDef(model.name, serDeFormat, model.fields, model.docs);
|
|
172
178
|
for (const field of values(modelDef.Fields)) {
|
|
173
179
|
modelImports.addImportForType(field.type);
|
|
@@ -211,7 +217,7 @@ function generateModelDefs(modelImports, serdeImports, codeModel) {
|
|
|
211
217
|
}
|
|
212
218
|
else if (!model.annotations.omitSerDeMethods) {
|
|
213
219
|
generateJSONMarshaller(model, modelDef, serdeImports);
|
|
214
|
-
generateJSONUnmarshaller(model, modelDef, serdeImports,
|
|
220
|
+
generateJSONUnmarshaller(model, modelDef, serdeImports, options);
|
|
215
221
|
}
|
|
216
222
|
modelDefs.push(modelDef);
|
|
217
223
|
}
|