@azure-tools/typespec-rust 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +16 -0
- package/dist/src/codegen/cargotoml.d.ts +3 -0
- package/dist/src/codegen/cargotoml.d.ts.map +1 -0
- package/dist/src/codegen/cargotoml.js +22 -0
- package/dist/src/codegen/cargotoml.js.map +1 -0
- package/dist/src/codegen/clients.d.ts +7 -0
- package/dist/src/codegen/clients.d.ts.map +1 -0
- package/dist/src/codegen/clients.js +514 -0
- package/dist/src/codegen/clients.js.map +1 -0
- package/dist/src/codegen/codeGenerator.d.ts +14 -0
- package/dist/src/codegen/codeGenerator.d.ts.map +1 -0
- package/dist/src/codegen/codeGenerator.js +46 -0
- package/dist/src/codegen/codeGenerator.js.map +1 -0
- package/dist/src/codegen/context.d.ts +10 -0
- package/dist/src/codegen/context.d.ts.map +1 -0
- package/dist/src/codegen/context.js +75 -0
- package/dist/src/codegen/context.js.map +1 -0
- package/dist/src/codegen/enums.d.ts +4 -0
- package/dist/src/codegen/enums.d.ts.map +1 -0
- package/dist/src/codegen/enums.js +48 -0
- package/dist/src/codegen/enums.js.map +1 -0
- package/dist/src/codegen/helpers.d.ts +18 -0
- package/dist/src/codegen/helpers.d.ts.map +1 -0
- package/dist/src/codegen/helpers.js +133 -0
- package/dist/src/codegen/helpers.js.map +1 -0
- package/dist/src/codegen/lib.d.ts +3 -0
- package/dist/src/codegen/lib.d.ts.map +1 -0
- package/dist/src/codegen/lib.js +37 -0
- package/dist/src/codegen/lib.js.map +1 -0
- package/dist/src/codegen/mod.d.ts +3 -0
- package/dist/src/codegen/mod.d.ts.map +1 -0
- package/dist/src/codegen/mod.js +20 -0
- package/dist/src/codegen/mod.js.map +1 -0
- package/dist/src/codegen/models.d.ts +4 -0
- package/dist/src/codegen/models.d.ts.map +1 -0
- package/dist/src/codegen/models.js +45 -0
- package/dist/src/codegen/models.js.map +1 -0
- package/dist/src/codegen/use.d.ts +11 -0
- package/dist/src/codegen/use.d.ts.map +1 -0
- package/dist/src/codegen/use.js +105 -0
- package/dist/src/codegen/use.js.map +1 -0
- package/dist/src/codemodel/client.d.ts +137 -0
- package/dist/src/codemodel/client.d.ts.map +1 -0
- package/dist/src/codemodel/client.js +146 -0
- package/dist/src/codemodel/client.js.map +1 -0
- package/dist/src/codemodel/crate.d.ts +24 -0
- package/dist/src/codemodel/crate.d.ts.map +1 -0
- package/dist/src/codemodel/crate.js +53 -0
- package/dist/src/codemodel/crate.js.map +1 -0
- package/dist/src/codemodel/index.d.ts +5 -0
- package/dist/src/codemodel/index.d.ts.map +1 -0
- package/dist/src/codemodel/index.js +9 -0
- package/dist/src/codemodel/index.js.map +1 -0
- package/dist/src/codemodel/method.d.ts +32 -0
- package/dist/src/codemodel/method.d.ts.map +1 -0
- package/dist/src/codemodel/method.js +33 -0
- package/dist/src/codemodel/method.js.map +1 -0
- package/dist/src/codemodel/types.d.ts +224 -0
- package/dist/src/codemodel/types.d.ts.map +1 -0
- package/dist/src/codemodel/types.js +248 -0
- package/dist/src/codemodel/types.js.map +1 -0
- package/dist/src/emitter.d.ts +5 -0
- package/dist/src/emitter.d.ts.map +1 -0
- package/dist/src/emitter.js +45 -0
- package/dist/src/emitter.js.map +1 -0
- package/dist/src/index.d.ts +3 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +7 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/lib.d.ts +13 -0
- package/dist/src/lib.d.ts.map +1 -0
- package/dist/src/lib.js +24 -0
- package/dist/src/lib.js.map +1 -0
- package/dist/src/tcgcadapter/adapter.d.ts +25 -0
- package/dist/src/tcgcadapter/adapter.d.ts.map +1 -0
- package/dist/src/tcgcadapter/adapter.js +617 -0
- package/dist/src/tcgcadapter/adapter.js.map +1 -0
- package/dist/src/tcgcadapter/helpers.d.ts +4 -0
- package/dist/src/tcgcadapter/helpers.d.ts.map +1 -0
- package/dist/src/tcgcadapter/helpers.js +45 -0
- package/dist/src/tcgcadapter/helpers.js.map +1 -0
- package/dist/src/tcgcadapter/naming.d.ts +2 -0
- package/dist/src/tcgcadapter/naming.d.ts.map +1 -0
- package/dist/src/tcgcadapter/naming.js +27 -0
- package/dist/src/tcgcadapter/naming.js.map +1 -0
- package/package.json +87 -0
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
/*---------------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
|
+
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
4
|
+
*--------------------------------------------------------------------------------------------*/
|
|
5
|
+
import * as codegen from '@azure-tools/codegen';
|
|
6
|
+
import * as helpers from './helpers.js';
|
|
7
|
+
// used to generate use statements
|
|
8
|
+
export class Use {
|
|
9
|
+
// scope indicates a scope in which use statements are constructed.
|
|
10
|
+
// e.g. 'models' indicates we're "in" the crate::models scope so there's
|
|
11
|
+
// no need to add a use statement for types in crate::models
|
|
12
|
+
// no scope will add all using statements as required.
|
|
13
|
+
constructor(scope) {
|
|
14
|
+
this.uses = new Array();
|
|
15
|
+
this.scope = scope;
|
|
16
|
+
}
|
|
17
|
+
// adds the specified module and type if not already in the list
|
|
18
|
+
// e.g. ('azure_core', 'Context') or ('crate::models', 'FooType')
|
|
19
|
+
addType(module, type) {
|
|
20
|
+
let mod = this.uses.find((v, i, o) => { return v.module === module; });
|
|
21
|
+
if (!mod) {
|
|
22
|
+
mod = {
|
|
23
|
+
module: module,
|
|
24
|
+
types: new Array(),
|
|
25
|
+
};
|
|
26
|
+
this.uses.push(mod);
|
|
27
|
+
}
|
|
28
|
+
if (!mod.types.find((v, i, o) => { return v === type; })) {
|
|
29
|
+
mod.types.push(type);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
// adds the specified module and types if not already in the list
|
|
33
|
+
addTypes(module, types) {
|
|
34
|
+
if (types.length === 0) {
|
|
35
|
+
throw new Error('types can\'t be empty');
|
|
36
|
+
}
|
|
37
|
+
for (const type of types) {
|
|
38
|
+
this.addType(module, type);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
// adds the specified type if not already in the list
|
|
42
|
+
addForType(type) {
|
|
43
|
+
switch (type.kind) {
|
|
44
|
+
case 'arc':
|
|
45
|
+
return this.addForType(type.type);
|
|
46
|
+
case 'client': {
|
|
47
|
+
const mod = codegen.deconstruct(type.name).join('_');
|
|
48
|
+
this.addType(`crate::${mod}`, type.name);
|
|
49
|
+
break;
|
|
50
|
+
}
|
|
51
|
+
case 'enum':
|
|
52
|
+
this.addType('crate::models', type.name);
|
|
53
|
+
break;
|
|
54
|
+
case 'model':
|
|
55
|
+
if (this.scope !== 'models') {
|
|
56
|
+
this.addType('crate::models', type.name);
|
|
57
|
+
}
|
|
58
|
+
break;
|
|
59
|
+
case 'option':
|
|
60
|
+
case 'requestContent':
|
|
61
|
+
case 'response':
|
|
62
|
+
case 'result':
|
|
63
|
+
case 'hashmap':
|
|
64
|
+
case 'vector':
|
|
65
|
+
this.addForType(type.type);
|
|
66
|
+
break;
|
|
67
|
+
}
|
|
68
|
+
if (type.kind !== 'client') {
|
|
69
|
+
if (type.name !== undefined && type.use !== undefined) {
|
|
70
|
+
this.addType(type.use, type.name);
|
|
71
|
+
}
|
|
72
|
+
else if (type.crate !== undefined && type.name !== undefined) {
|
|
73
|
+
let module = type.crate;
|
|
74
|
+
if (type.namespace) {
|
|
75
|
+
module += `::${type.namespace}`;
|
|
76
|
+
}
|
|
77
|
+
this.addType(module, type.name);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
// returns Rust formatted use statements
|
|
82
|
+
text() {
|
|
83
|
+
if (this.uses.length === 0) {
|
|
84
|
+
return '';
|
|
85
|
+
}
|
|
86
|
+
let content = '';
|
|
87
|
+
const indentation = new helpers.indentation();
|
|
88
|
+
// sort by module name, then sort types if more than one type
|
|
89
|
+
const sortedMods = this.uses.sort((a, b) => { return helpers.sortAscending(a.module, b.module); });
|
|
90
|
+
for (const sortedMod of sortedMods) {
|
|
91
|
+
if (sortedMod.types.length === 1) {
|
|
92
|
+
content += `use ${sortedMod.module}::${sortedMod.types[0]};\n`;
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
const sortedTypes = sortedMod.types.sort((a, b) => { return helpers.sortAscending(a, b); });
|
|
96
|
+
content += `use ${sortedMod.module}::{\n`;
|
|
97
|
+
content += `${indentation.get()}${sortedTypes.join(', ')}`;
|
|
98
|
+
content += ',\n};\n';
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
content += '\n';
|
|
102
|
+
return content;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
//# sourceMappingURL=use.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use.js","sourceRoot":"","sources":["../../../src/codegen/use.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
import * as method from './method.js';
|
|
2
|
+
import * as types from './types.js';
|
|
3
|
+
export interface Client {
|
|
4
|
+
kind: 'client';
|
|
5
|
+
name: string;
|
|
6
|
+
docs: types.Docs;
|
|
7
|
+
constructable?: ClientConstruction;
|
|
8
|
+
fields: Array<ClientParameter>;
|
|
9
|
+
methods: Array<MethodType>;
|
|
10
|
+
parent?: Client;
|
|
11
|
+
}
|
|
12
|
+
export interface ClientConstruction {
|
|
13
|
+
options: ClientOptions;
|
|
14
|
+
constructors: Array<Constructor>;
|
|
15
|
+
}
|
|
16
|
+
export interface ClientOptions extends types.Option {
|
|
17
|
+
type: types.Struct;
|
|
18
|
+
}
|
|
19
|
+
export interface Constructor {
|
|
20
|
+
name: string;
|
|
21
|
+
parameters: Array<ClientParameter>;
|
|
22
|
+
}
|
|
23
|
+
export interface ClientParameter {
|
|
24
|
+
name: string;
|
|
25
|
+
type: types.Type;
|
|
26
|
+
}
|
|
27
|
+
export type HTTPMethod = 'delete' | 'get' | 'head' | 'patch' | 'post' | 'put';
|
|
28
|
+
export type MethodType = AsyncMethod | ClientAccessor;
|
|
29
|
+
export interface AsyncMethod extends HTTPMethodBase {
|
|
30
|
+
kind: 'async';
|
|
31
|
+
params: Array<MethodParameter>;
|
|
32
|
+
}
|
|
33
|
+
export interface ClientAccessor extends method.Method<Client> {
|
|
34
|
+
kind: 'clientaccessor';
|
|
35
|
+
returns: Client;
|
|
36
|
+
}
|
|
37
|
+
export type CollectionFormat = 'csv' | 'ssv' | 'tsv' | 'pipes';
|
|
38
|
+
export type ExtendedCollectionFormat = CollectionFormat | 'multi';
|
|
39
|
+
export type ParameterLocation = 'client' | 'method';
|
|
40
|
+
export type MethodParameter = BodyParameter | HeaderCollectionParameter | HeaderParameter | PathParameter | QueryCollectionParameter | QueryParameter;
|
|
41
|
+
export interface BodyParameter extends HTTPParameterBase {
|
|
42
|
+
kind: 'body';
|
|
43
|
+
type: types.RequestContent;
|
|
44
|
+
}
|
|
45
|
+
export interface HeaderCollectionParameter extends HTTPParameterBase {
|
|
46
|
+
kind: 'headerCollection';
|
|
47
|
+
header: string;
|
|
48
|
+
type: types.Vector;
|
|
49
|
+
format: CollectionFormat;
|
|
50
|
+
}
|
|
51
|
+
export interface HeaderParameter extends HTTPParameterBase {
|
|
52
|
+
kind: 'header';
|
|
53
|
+
header: string;
|
|
54
|
+
type: types.Type;
|
|
55
|
+
}
|
|
56
|
+
export interface MethodOptions extends types.Option {
|
|
57
|
+
type: types.Struct;
|
|
58
|
+
}
|
|
59
|
+
export interface PathParameter extends HTTPParameterBase {
|
|
60
|
+
kind: 'path';
|
|
61
|
+
segment: string;
|
|
62
|
+
type: types.Type;
|
|
63
|
+
encoded: boolean;
|
|
64
|
+
}
|
|
65
|
+
export interface QueryCollectionParameter extends HTTPParameterBase {
|
|
66
|
+
kind: 'queryCollection';
|
|
67
|
+
key: string;
|
|
68
|
+
type: types.Vector;
|
|
69
|
+
encoded: boolean;
|
|
70
|
+
format: ExtendedCollectionFormat;
|
|
71
|
+
}
|
|
72
|
+
export interface QueryParameter extends HTTPParameterBase {
|
|
73
|
+
kind: 'query';
|
|
74
|
+
key: string;
|
|
75
|
+
type: types.Type;
|
|
76
|
+
encoded: boolean;
|
|
77
|
+
}
|
|
78
|
+
interface HTTPMethodBase extends method.Method<types.Type> {
|
|
79
|
+
params: Array<HTTPParameterBase>;
|
|
80
|
+
options: MethodOptions;
|
|
81
|
+
returns: types.Result;
|
|
82
|
+
httpMethod: HTTPMethod;
|
|
83
|
+
httpPath: string;
|
|
84
|
+
}
|
|
85
|
+
interface HTTPParameterBase extends method.Parameter {
|
|
86
|
+
location: ParameterLocation;
|
|
87
|
+
}
|
|
88
|
+
declare class HTTPMethodBase extends method.Method<types.Type> implements HTTPMethodBase {
|
|
89
|
+
constructor(name: string, httpMethod: HTTPMethod, httpPath: string, pub: boolean, impl: string, self: method.Self);
|
|
90
|
+
}
|
|
91
|
+
declare class HTTPParameterBase extends method.Parameter {
|
|
92
|
+
constructor(name: string, location: ParameterLocation, type: types.Type);
|
|
93
|
+
}
|
|
94
|
+
export declare class AsyncMethod extends HTTPMethodBase implements AsyncMethod {
|
|
95
|
+
constructor(name: string, client: Client, pub: boolean, options: MethodOptions, httpMethod: HTTPMethod, httpPath: string);
|
|
96
|
+
}
|
|
97
|
+
export declare class BodyParameter extends HTTPParameterBase implements BodyParameter {
|
|
98
|
+
constructor(name: string, location: ParameterLocation, type: types.RequestContent);
|
|
99
|
+
}
|
|
100
|
+
export declare class Client implements Client {
|
|
101
|
+
constructor(name: string);
|
|
102
|
+
}
|
|
103
|
+
export declare class ClientAccessor extends method.Method<Client> implements ClientAccessor {
|
|
104
|
+
constructor(name: string, client: Client, returns: Client);
|
|
105
|
+
}
|
|
106
|
+
export declare class ClientConstruction implements ClientConstruction {
|
|
107
|
+
constructor(options: ClientOptions);
|
|
108
|
+
}
|
|
109
|
+
export declare class ClientOptions extends types.Option implements ClientOptions {
|
|
110
|
+
constructor(type: types.Struct);
|
|
111
|
+
}
|
|
112
|
+
export declare class ClientParameter implements ClientParameter {
|
|
113
|
+
constructor(name: string, type: types.Type);
|
|
114
|
+
}
|
|
115
|
+
export declare class Constructor implements Constructor {
|
|
116
|
+
constructor(name: string);
|
|
117
|
+
}
|
|
118
|
+
export declare class HeaderCollectionParameter extends HTTPParameterBase implements HeaderCollectionParameter {
|
|
119
|
+
constructor(name: string, header: string, location: ParameterLocation, type: types.Vector, format: CollectionFormat);
|
|
120
|
+
}
|
|
121
|
+
export declare class HeaderParameter extends HTTPParameterBase implements HeaderParameter {
|
|
122
|
+
constructor(name: string, header: string, location: ParameterLocation, type: types.Type);
|
|
123
|
+
}
|
|
124
|
+
export declare class MethodOptions extends types.Option implements MethodOptions {
|
|
125
|
+
constructor(type: types.Struct, ref: boolean);
|
|
126
|
+
}
|
|
127
|
+
export declare class PathParameter extends HTTPParameterBase implements PathParameter {
|
|
128
|
+
constructor(name: string, segment: string, location: ParameterLocation, type: types.Type, encoded: boolean);
|
|
129
|
+
}
|
|
130
|
+
export declare class QueryCollectionParameter extends HTTPParameterBase implements QueryCollectionParameter {
|
|
131
|
+
constructor(name: string, key: string, location: ParameterLocation, type: types.Vector, encoded: boolean, format: ExtendedCollectionFormat);
|
|
132
|
+
}
|
|
133
|
+
export declare class QueryParameter extends HTTPParameterBase implements QueryParameter {
|
|
134
|
+
constructor(name: string, key: string, location: ParameterLocation, type: types.Type, encoded: boolean);
|
|
135
|
+
}
|
|
136
|
+
export {};
|
|
137
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/codemodel/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
/*---------------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
|
+
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
4
|
+
*--------------------------------------------------------------------------------------------*/
|
|
5
|
+
import * as method from './method.js';
|
|
6
|
+
import * as types from './types.js';
|
|
7
|
+
class HTTPMethodBase extends method.Method {
|
|
8
|
+
constructor(name, httpMethod, httpPath, pub, impl, self) {
|
|
9
|
+
super(name, pub, impl, self);
|
|
10
|
+
this.httpMethod = httpMethod;
|
|
11
|
+
this.httpPath = httpPath;
|
|
12
|
+
this.docs = {};
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
class HTTPParameterBase extends method.Parameter {
|
|
16
|
+
constructor(name, location, type) {
|
|
17
|
+
super(name, type);
|
|
18
|
+
this.location = location;
|
|
19
|
+
this.docs = {};
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
///////////////////////////////////////////////////////////////////////////////////////////////////
|
|
23
|
+
///////////////////////////////////////////////////////////////////////////////////////////////////
|
|
24
|
+
export class AsyncMethod extends HTTPMethodBase {
|
|
25
|
+
constructor(name, client, pub, options, httpMethod, httpPath) {
|
|
26
|
+
super(name, httpMethod, httpPath, pub, client.name, new method.Self(false, true));
|
|
27
|
+
this.kind = 'async';
|
|
28
|
+
this.params = new Array();
|
|
29
|
+
this.options = options;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
export class BodyParameter extends HTTPParameterBase {
|
|
33
|
+
constructor(name, location, type) {
|
|
34
|
+
super(name, location, type);
|
|
35
|
+
this.kind = 'body';
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
export class Client {
|
|
39
|
+
constructor(name) {
|
|
40
|
+
this.kind = 'client';
|
|
41
|
+
this.name = name;
|
|
42
|
+
this.fields = new Array();
|
|
43
|
+
this.methods = new Array();
|
|
44
|
+
this.docs = {};
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
export class ClientAccessor extends method.Method {
|
|
48
|
+
constructor(name, client, returns) {
|
|
49
|
+
super(name, true, client.name, new method.Self(false, true));
|
|
50
|
+
this.kind = 'clientaccessor';
|
|
51
|
+
this.params = new Array();
|
|
52
|
+
this.returns = returns;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
export class ClientConstruction {
|
|
56
|
+
constructor(options) {
|
|
57
|
+
this.options = options;
|
|
58
|
+
this.constructors = new Array();
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
export class ClientOptions extends types.Option {
|
|
62
|
+
constructor(type) {
|
|
63
|
+
super(type, false);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
export class ClientParameter {
|
|
67
|
+
constructor(name, type) {
|
|
68
|
+
this.name = name;
|
|
69
|
+
this.type = type;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
export class Constructor {
|
|
73
|
+
constructor(name) {
|
|
74
|
+
this.name = name;
|
|
75
|
+
this.parameters = new Array();
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
export class HeaderCollectionParameter extends HTTPParameterBase {
|
|
79
|
+
constructor(name, header, location, type, format) {
|
|
80
|
+
validateHeaderPathQueryParamKind(type, 'headerCollection');
|
|
81
|
+
super(name, location, type);
|
|
82
|
+
this.kind = 'headerCollection';
|
|
83
|
+
this.header = header;
|
|
84
|
+
this.format = format;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
export class HeaderParameter extends HTTPParameterBase {
|
|
88
|
+
constructor(name, header, location, type) {
|
|
89
|
+
validateHeaderPathQueryParamKind(type, 'header');
|
|
90
|
+
super(name, location, type);
|
|
91
|
+
this.kind = 'header';
|
|
92
|
+
this.header = header;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
export class MethodOptions extends types.Option {
|
|
96
|
+
constructor(type, ref) {
|
|
97
|
+
super(type, ref);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
export class PathParameter extends HTTPParameterBase {
|
|
101
|
+
constructor(name, segment, location, type, encoded) {
|
|
102
|
+
validateHeaderPathQueryParamKind(type, 'path');
|
|
103
|
+
super(name, location, type);
|
|
104
|
+
this.kind = 'path';
|
|
105
|
+
this.segment = segment;
|
|
106
|
+
this.encoded = encoded;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
export class QueryCollectionParameter extends HTTPParameterBase {
|
|
110
|
+
constructor(name, key, location, type, encoded, format) {
|
|
111
|
+
validateHeaderPathQueryParamKind(type.type, 'queryCollection');
|
|
112
|
+
super(name, location, type);
|
|
113
|
+
this.kind = 'queryCollection';
|
|
114
|
+
this.key = key;
|
|
115
|
+
this.encoded = encoded;
|
|
116
|
+
this.format = format;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
export class QueryParameter extends HTTPParameterBase {
|
|
120
|
+
constructor(name, key, location, type, encoded) {
|
|
121
|
+
validateHeaderPathQueryParamKind(type, 'query');
|
|
122
|
+
super(name, location, type);
|
|
123
|
+
this.kind = 'query';
|
|
124
|
+
this.key = key;
|
|
125
|
+
this.encoded = encoded;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
function validateHeaderPathQueryParamKind(type, paramKind) {
|
|
129
|
+
switch (type.kind) {
|
|
130
|
+
case 'String':
|
|
131
|
+
case 'enum':
|
|
132
|
+
case 'literal':
|
|
133
|
+
case 'offsetDateTime':
|
|
134
|
+
case 'scalar':
|
|
135
|
+
return;
|
|
136
|
+
case 'implTrait':
|
|
137
|
+
validateHeaderPathQueryParamKind(type.type, paramKind);
|
|
138
|
+
return;
|
|
139
|
+
case 'vector':
|
|
140
|
+
if (paramKind.endsWith('Collection')) {
|
|
141
|
+
return;
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
throw new Error(`unsupported ${paramKind} paramter type kind ${type.kind}`);
|
|
145
|
+
}
|
|
146
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/codemodel/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import * as client from './client.js';
|
|
2
|
+
import * as types from './types.js';
|
|
3
|
+
export interface Crate {
|
|
4
|
+
name: string;
|
|
5
|
+
version: string;
|
|
6
|
+
type: ServiceType;
|
|
7
|
+
dependencies: Array<CrateDependency>;
|
|
8
|
+
enums: Array<types.Enum>;
|
|
9
|
+
models: Array<types.Model>;
|
|
10
|
+
clients: Array<client.Client>;
|
|
11
|
+
}
|
|
12
|
+
export type ServiceType = 'azure-arm' | 'data-plane';
|
|
13
|
+
export interface CrateDependency {
|
|
14
|
+
name: string;
|
|
15
|
+
}
|
|
16
|
+
export declare class Crate implements Crate {
|
|
17
|
+
constructor(name: string, version: string, type: ServiceType);
|
|
18
|
+
addDependency(dependency: CrateDependency): void;
|
|
19
|
+
sortContent(): void;
|
|
20
|
+
}
|
|
21
|
+
export declare class CrateDependency implements CrateDependency {
|
|
22
|
+
constructor(name: string);
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=crate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"crate.d.ts","sourceRoot":"","sources":["../../../src/codemodel/crate.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AAIpC,MAAM,WAAW,KAAK;IAEpB,IAAI,EAAE,MAAM,CAAC;IAGb,OAAO,EAAE,MAAM,CAAC;IAGhB,IAAI,EAAE,WAAW,CAAC;IAGlB,YAAY,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC;IAGrC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAGzB,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAG3B,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;CAC/B;AAGD,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,YAAY,CAAC;AAKrD,MAAM,WAAW,eAAe;IAE9B,IAAI,EAAE,MAAM,CAAC;CACd;AAKD,qBAAa,KAAM,YAAW,KAAK;gBACrB,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW;IAU5D,aAAa,CAAC,UAAU,EAAE,eAAe,GAAG,IAAI;IAShD,WAAW,IAAI,IAAI;CAuBpB;AAED,qBAAa,eAAgB,YAAW,eAAe;gBACzC,IAAI,EAAE,MAAM;CAGzB"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/*---------------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
|
+
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
4
|
+
*--------------------------------------------------------------------------------------------*/
|
|
5
|
+
///////////////////////////////////////////////////////////////////////////////////////////////////
|
|
6
|
+
///////////////////////////////////////////////////////////////////////////////////////////////////
|
|
7
|
+
export class Crate {
|
|
8
|
+
constructor(name, version, type) {
|
|
9
|
+
this.name = name;
|
|
10
|
+
this.version = version;
|
|
11
|
+
this.type = type;
|
|
12
|
+
this.dependencies = new Array();
|
|
13
|
+
this.enums = new Array();
|
|
14
|
+
this.models = new Array();
|
|
15
|
+
this.clients = new Array();
|
|
16
|
+
}
|
|
17
|
+
addDependency(dependency) {
|
|
18
|
+
for (const dep of this.dependencies) {
|
|
19
|
+
if (dep.name === dependency.name) {
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
this.dependencies.push(dependency);
|
|
24
|
+
}
|
|
25
|
+
sortContent() {
|
|
26
|
+
const sortAscending = function (a, b) {
|
|
27
|
+
return a < b ? -1 : a > b ? 1 : 0;
|
|
28
|
+
};
|
|
29
|
+
this.dependencies.sort((a, b) => { return sortAscending(a.name, b.name); });
|
|
30
|
+
this.enums.sort((a, b) => { return sortAscending(a.name, b.name); });
|
|
31
|
+
for (const rustEnum of this.enums) {
|
|
32
|
+
rustEnum.values.sort((a, b) => { return sortAscending(a.name, b.name); });
|
|
33
|
+
}
|
|
34
|
+
this.models.sort((a, b) => { return sortAscending(a.name, b.name); });
|
|
35
|
+
for (const model of this.models) {
|
|
36
|
+
model.fields.sort((a, b) => { return sortAscending(a.name, b.name); });
|
|
37
|
+
}
|
|
38
|
+
this.clients.sort((a, b) => { return sortAscending(a.name, b.name); });
|
|
39
|
+
for (const client of this.clients) {
|
|
40
|
+
client.fields.sort((a, b) => { return sortAscending(a.name, b.name); });
|
|
41
|
+
client.methods.sort((a, b) => { return sortAscending(a.name, b.name); });
|
|
42
|
+
if (client.constructable) {
|
|
43
|
+
client.constructable.options.type.fields.sort((a, b) => { return sortAscending(a.name, b.name); });
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
export class CrateDependency {
|
|
49
|
+
constructor(name) {
|
|
50
|
+
this.name = name;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=crate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"crate.js","sourceRoot":"","sources":["../../../src/codemodel/crate.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/codemodel/index.ts"],"names":[],"mappings":"AAKA,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/*---------------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
|
+
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
4
|
+
*--------------------------------------------------------------------------------------------*/
|
|
5
|
+
export * from './client.js';
|
|
6
|
+
export * from './crate.js';
|
|
7
|
+
export * from './method.js';
|
|
8
|
+
export * from './types.js';
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/codemodel/index.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAE/F,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import * as types from './types.js';
|
|
2
|
+
export interface Method<T> {
|
|
3
|
+
name: string;
|
|
4
|
+
docs: types.Docs;
|
|
5
|
+
pub: boolean;
|
|
6
|
+
impl: string;
|
|
7
|
+
self: Self;
|
|
8
|
+
params: Array<Parameter>;
|
|
9
|
+
returns?: T;
|
|
10
|
+
}
|
|
11
|
+
export interface Parameter {
|
|
12
|
+
name: string;
|
|
13
|
+
docs: types.Docs;
|
|
14
|
+
type: types.Type;
|
|
15
|
+
mut: boolean;
|
|
16
|
+
ref: boolean;
|
|
17
|
+
}
|
|
18
|
+
export interface Self {
|
|
19
|
+
name: 'self';
|
|
20
|
+
mut: boolean;
|
|
21
|
+
ref: boolean;
|
|
22
|
+
}
|
|
23
|
+
export declare class Method<T> implements Method<T> {
|
|
24
|
+
constructor(name: string, pub: boolean, impl: string, self: Self);
|
|
25
|
+
}
|
|
26
|
+
export declare class Parameter implements Parameter {
|
|
27
|
+
constructor(name: string, type: types.Type);
|
|
28
|
+
}
|
|
29
|
+
export declare class Self implements Self {
|
|
30
|
+
constructor(mut: boolean, ref: boolean);
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=method.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"method.d.ts","sourceRoot":"","sources":["../../../src/codemodel/method.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AAGpC,MAAM,WAAW,MAAM,CAAC,CAAC;IAEvB,IAAI,EAAE,MAAM,CAAC;IAGb,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC;IAGjB,GAAG,EAAE,OAAO,CAAC;IAGb,IAAI,EAAE,MAAM,CAAC;IAGb,IAAI,EAAE,IAAI,CAAC;IAGX,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAGzB,OAAO,CAAC,EAAE,CAAC,CAAC;CACb;AAGD,MAAM,WAAW,SAAS;IAExB,IAAI,EAAE,MAAM,CAAC;IAGb,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC;IAGjB,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC;IAGjB,GAAG,EAAE,OAAO,CAAC;IAGb,GAAG,EAAE,OAAO,CAAC;CACd;AAGD,MAAM,WAAW,IAAI;IACnB,IAAI,EAAE,MAAM,CAAC;IAGb,GAAG,EAAE,OAAO,CAAC;IAGb,GAAG,EAAE,OAAO,CAAC;CACd;AAKD,qBAAa,MAAM,CAAC,CAAC,CAAE,YAAW,MAAM,CAAC,CAAC,CAAC;gBAC7B,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI;CAQjE;AAED,qBAAa,SAAU,YAAW,SAAS;gBAC7B,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI;CAO3C;AAED,qBAAa,IAAK,YAAW,IAAI;gBACnB,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO;CAKvC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/*---------------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
|
+
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
4
|
+
*--------------------------------------------------------------------------------------------*/
|
|
5
|
+
///////////////////////////////////////////////////////////////////////////////////////////////////
|
|
6
|
+
///////////////////////////////////////////////////////////////////////////////////////////////////
|
|
7
|
+
export class Method {
|
|
8
|
+
constructor(name, pub, impl, self) {
|
|
9
|
+
this.name = name;
|
|
10
|
+
this.pub = pub;
|
|
11
|
+
this.impl = impl;
|
|
12
|
+
this.self = self;
|
|
13
|
+
this.params = new Array();
|
|
14
|
+
this.docs = {};
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
export class Parameter {
|
|
18
|
+
constructor(name, type) {
|
|
19
|
+
this.name = name;
|
|
20
|
+
this.type = type;
|
|
21
|
+
this.mut = false;
|
|
22
|
+
this.ref = false;
|
|
23
|
+
this.docs = {};
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
export class Self {
|
|
27
|
+
constructor(mut, ref) {
|
|
28
|
+
this.name = 'self';
|
|
29
|
+
this.mut = mut;
|
|
30
|
+
this.ref = ref;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=method.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"method.js","sourceRoot":"","sources":["../../../src/codemodel/method.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAyD/F,mGAAmG;AACnG,mGAAmG;AAEnG,MAAM,OAAO,MAAM;IACjB,YAAY,IAAY,EAAE,GAAY,EAAE,IAAY,EAAE,IAAU;QAC9D,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,IAAI,KAAK,EAAa,CAAC;QACrC,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;IACjB,CAAC;CACF;AAED,MAAM,OAAO,SAAS;IACpB,YAAY,IAAY,EAAE,IAAgB;QACxC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC;QACjB,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;IACjB,CAAC;CACF;AAED,MAAM,OAAO,IAAI;IACf,YAAY,GAAY,EAAE,GAAY;QACpC,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC;QACnB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;CACF"}
|