@azure-tools/typespec-java 0.5.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.
Files changed (52) hide show
  1. package/dist/src/code-model-builder.d.ts +102 -0
  2. package/dist/src/code-model-builder.d.ts.map +1 -0
  3. package/dist/src/code-model-builder.js +1675 -0
  4. package/dist/src/code-model-builder.js.map +1 -0
  5. package/dist/src/common/client.d.ts +18 -0
  6. package/dist/src/common/client.d.ts.map +1 -0
  7. package/dist/src/common/client.js +29 -0
  8. package/dist/src/common/client.js.map +1 -0
  9. package/dist/src/common/code-model.d.ts +26 -0
  10. package/dist/src/common/code-model.d.ts.map +1 -0
  11. package/dist/src/common/code-model.js +59 -0
  12. package/dist/src/common/code-model.js.map +1 -0
  13. package/dist/src/common/operation.d.ts +80 -0
  14. package/dist/src/common/operation.d.ts.map +1 -0
  15. package/dist/src/common/operation.js +88 -0
  16. package/dist/src/common/operation.js.map +1 -0
  17. package/dist/src/common/schemas/choice.d.ts +28 -0
  18. package/dist/src/common/schemas/choice.d.ts.map +1 -0
  19. package/dist/src/common/schemas/choice.js +14 -0
  20. package/dist/src/common/schemas/choice.js.map +1 -0
  21. package/dist/src/common/schemas/relationship.d.ts +44 -0
  22. package/dist/src/common/schemas/relationship.d.ts.map +1 -0
  23. package/dist/src/common/schemas/relationship.js +15 -0
  24. package/dist/src/common/schemas/relationship.js.map +1 -0
  25. package/dist/src/common/schemas/usage.d.ts +22 -0
  26. package/dist/src/common/schemas/usage.d.ts.map +1 -0
  27. package/dist/src/common/schemas/usage.js +16 -0
  28. package/dist/src/common/schemas/usage.js.map +1 -0
  29. package/dist/src/emitter.d.ts +21 -0
  30. package/dist/src/emitter.d.ts.map +1 -0
  31. package/dist/src/emitter.js +84 -0
  32. package/dist/src/emitter.js.map +1 -0
  33. package/dist/src/index.d.ts +2 -0
  34. package/dist/src/index.d.ts.map +1 -0
  35. package/dist/src/index.js +2 -0
  36. package/dist/src/index.js.map +1 -0
  37. package/dist/src/models.d.ts +15 -0
  38. package/dist/src/models.d.ts.map +1 -0
  39. package/dist/src/models.js +21 -0
  40. package/dist/src/models.js.map +1 -0
  41. package/dist/src/prenamer/naming-utils.d.ts +67 -0
  42. package/dist/src/prenamer/naming-utils.d.ts.map +1 -0
  43. package/dist/src/prenamer/naming-utils.js +146 -0
  44. package/dist/src/prenamer/naming-utils.js.map +1 -0
  45. package/dist/src/prenamer/prenamer.d.ts +36 -0
  46. package/dist/src/prenamer/prenamer.d.ts.map +1 -0
  47. package/dist/src/prenamer/prenamer.js +332 -0
  48. package/dist/src/prenamer/prenamer.js.map +1 -0
  49. package/dist/tsconfig.tsbuildinfo +1 -0
  50. package/package.json +65 -0
  51. package/readme.md +74 -0
  52. package/target/azure-cadl-extension-jar-with-dependencies.jar +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-model-builder.js","sourceRoot":"","sources":["../../src/code-model-builder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import { DeepPartial } from "@azure-tools/codegen";
2
+ import { Aspect, Metadata, OperationGroup, Parameter, Security } from "@autorest/codemodel";
3
+ export interface Client extends Aspect {
4
+ /** All operations */
5
+ operationGroups: Array<OperationGroup>;
6
+ globalParameters?: Array<Parameter>;
7
+ security: Security;
8
+ serviceVersion?: ServiceVersion;
9
+ }
10
+ export declare class Client extends Aspect implements Client {
11
+ constructor(name: string, description: string, objectInitializer?: DeepPartial<Client>);
12
+ private get globals();
13
+ addGlobalParameters(parameters: Parameter[]): void;
14
+ }
15
+ export declare class ServiceVersion extends Metadata {
16
+ constructor(name: string, description: string, initializer?: DeepPartial<ServiceVersion>);
17
+ }
18
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/common/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAE5F,MAAM,WAAW,MAAO,SAAQ,MAAM;IACpC,sBAAsB;IACtB,eAAe,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;IAEvC,gBAAgB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAEpC,QAAQ,EAAE,QAAQ,CAAC;IAEnB,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AAED,qBAAa,MAAO,SAAQ,MAAO,YAAW,MAAM;gBACtC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,iBAAiB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC;IAStF,OAAO,KAAK,OAAO,GAElB;IAED,mBAAmB,CAAC,UAAU,EAAE,SAAS,EAAE;CAG5C;AAED,qBAAa,cAAe,SAAQ,QAAQ;gBAC9B,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,WAAW,CAAC,cAAc,CAAC;CAczF"}
@@ -0,0 +1,29 @@
1
+ import { Aspect, Metadata, Security } from "@autorest/codemodel";
2
+ export class Client extends Aspect {
3
+ constructor(name, description, objectInitializer) {
4
+ super(name, description, objectInitializer);
5
+ this.operationGroups = [];
6
+ this.security = new Security(false);
7
+ this.applyTo(this, objectInitializer);
8
+ }
9
+ get globals() {
10
+ return this.globalParameters || (this.globalParameters = []);
11
+ }
12
+ addGlobalParameters(parameters) {
13
+ this.globals.push(...parameters);
14
+ }
15
+ }
16
+ export class ServiceVersion extends Metadata {
17
+ constructor(name, description, initializer) {
18
+ super();
19
+ this.apply({
20
+ language: {
21
+ default: {
22
+ name: name,
23
+ description: description,
24
+ },
25
+ },
26
+ }, initializer);
27
+ }
28
+ }
29
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/common/client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAA6B,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAa5F,MAAM,OAAO,MAAO,SAAQ,MAAM;IAChC,YAAY,IAAY,EAAE,WAAmB,EAAE,iBAAuC;QACpF,KAAK,CAAC,IAAI,EAAE,WAAW,EAAE,iBAAiB,CAAC,CAAC;QAE5C,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,QAAQ,GAAG,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC;QAEpC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;IACxC,CAAC;IAED,IAAY,OAAO;QACjB,OAAO,IAAI,CAAC,gBAAgB,IAAI,CAAC,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,mBAAmB,CAAC,UAAuB;QACzC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;IACnC,CAAC;CACF;AAED,MAAM,OAAO,cAAe,SAAQ,QAAQ;IAC1C,YAAY,IAAY,EAAE,WAAmB,EAAE,WAAyC;QACtF,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,KAAK,CACR;YACE,QAAQ,EAAE;gBACR,OAAO,EAAE;oBACP,IAAI,EAAE,IAAI;oBACV,WAAW,EAAE,WAAW;iBACzB;aACF;SACF,EACD,WAAW,CACZ,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,26 @@
1
+ import { DeepPartial } from "@azure-tools/codegen";
2
+ import { Info, Metadata, OperationGroup, Parameter, Schemas, Security } from "@autorest/codemodel";
3
+ import { Client } from "./client.js";
4
+ /** the model that contains all the information required to generate a service api */
5
+ export interface CodeModel extends Metadata {
6
+ /** Code model information */
7
+ info: Info;
8
+ /** All schemas for the model */
9
+ schemas: Schemas;
10
+ /** All operations */
11
+ operationGroups: Array<OperationGroup>;
12
+ /** all global parameters (ie, ImplementationLocation = client ) */
13
+ globalParameters?: Array<Parameter>;
14
+ security: Security;
15
+ clients: Array<Client>;
16
+ }
17
+ export declare class CodeModel extends Metadata implements CodeModel {
18
+ constructor(title: string, sourceTracking?: boolean, objectInitializer?: DeepPartial<CodeModel>);
19
+ private get globals();
20
+ getOperationGroup(group: string): OperationGroup;
21
+ findGlobalParameter(predicate: (value: Parameter) => boolean): Parameter | undefined;
22
+ addGlobalParameter(parameter: Parameter): Parameter;
23
+ addGlobalParameter(find: (value: Parameter) => boolean, create: () => Parameter): Parameter;
24
+ }
25
+ export declare type ValueOrFactory<T> = T | (() => T);
26
+ //# sourceMappingURL=code-model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-model.d.ts","sourceRoot":"","sources":["../../../src/common/code-model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAwB,MAAM,sBAAsB,CAAC;AACzE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,cAAc,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACnG,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,qFAAqF;AACrF,MAAM,WAAW,SAAU,SAAQ,QAAQ;IACzC,6BAA6B;IAC7B,IAAI,EAAE,IAAI,CAAC;IAEX,gCAAgC;IAChC,OAAO,EAAE,OAAO,CAAC;IAEjB,sBAAsB;IACtB,eAAe,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;IAEvC,mEAAmE;IACnE,gBAAgB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAEpC,QAAQ,EAAE,QAAQ,CAAC;IAEnB,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;CACxB;AAED,qBAAa,SAAU,SAAQ,QAAS,YAAW,SAAS;gBAC9C,KAAK,EAAE,MAAM,EAAE,cAAc,UAAQ,EAAE,iBAAiB,CAAC,EAAE,WAAW,CAAC,SAAS,CAAC;IAc7F,OAAO,KAAK,OAAO,GAElB;IAED,iBAAiB,CAAC,KAAK,EAAE,MAAM;IAS/B,mBAAmB,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,OAAO;IAI5D,kBAAkB,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS;IACnD,kBAAkB,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,GAAG,SAAS;CAuB5F;AAED,oBAAY,cAAc,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC"}
@@ -0,0 +1,59 @@
1
+ import { enableSourceTracking } from "@azure-tools/codegen";
2
+ import { Info, Metadata, OperationGroup, Schemas, Security } from "@autorest/codemodel";
3
+ export class CodeModel extends Metadata {
4
+ constructor(title, sourceTracking = false, objectInitializer) {
5
+ super();
6
+ // if we are enabling source tracking, then we have to use a proxied version of this
7
+ const $this = sourceTracking ? enableSourceTracking(this) : this;
8
+ $this.info = new Info(title);
9
+ $this.schemas = new Schemas();
10
+ $this.operationGroups = [];
11
+ $this.security = new Security(false);
12
+ $this.clients = [];
13
+ this.applyTo($this, objectInitializer);
14
+ }
15
+ get globals() {
16
+ return this.globalParameters || (this.globalParameters = []);
17
+ }
18
+ getOperationGroup(group) {
19
+ let result = this.operationGroups.find((each) => group.toLowerCase() === each.$key.toLowerCase());
20
+ if (!result) {
21
+ result = new OperationGroup(group);
22
+ this.operationGroups.push(result);
23
+ }
24
+ return result;
25
+ }
26
+ findGlobalParameter(predicate) {
27
+ return this.globals.find(predicate);
28
+ }
29
+ addGlobalParameter(predicateOrParameter, create = undefined) {
30
+ try {
31
+ if (typeof predicateOrParameter !== "function") {
32
+ // overload : parameter passed
33
+ this.globals.push(predicateOrParameter);
34
+ return predicateOrParameter;
35
+ }
36
+ // overload : predicate, parameter passed
37
+ let p = this.findGlobalParameter(predicateOrParameter);
38
+ if (!p) {
39
+ this.globals.push((p = realize(create)));
40
+ }
41
+ return p;
42
+ }
43
+ finally {
44
+ this.globalParameters = sortAscendingInvalidLast(this.globals, (each) => { var _a; return (_a = each.extensions) === null || _a === void 0 ? void 0 : _a["x-ms-priority"]; });
45
+ }
46
+ }
47
+ }
48
+ function realize(f) {
49
+ return f instanceof Function ? f() : f;
50
+ }
51
+ function sortAscendingInvalidLast(input, accessor) {
52
+ return input.sort((a, b) => {
53
+ var _a, _b;
54
+ const pA = (_a = accessor(a)) !== null && _a !== void 0 ? _a : Number.MAX_VALUE;
55
+ const pB = (_b = accessor(b)) !== null && _b !== void 0 ? _b : Number.MAX_VALUE;
56
+ return pA - pB;
57
+ });
58
+ }
59
+ //# sourceMappingURL=code-model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-model.js","sourceRoot":"","sources":["../../../src/common/code-model.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,80 @@
1
+ import { DeepPartial } from "@azure-tools/codegen";
2
+ import { ApiVersion, Aspect, Metadata, Parameter, Response, Schema } from "@autorest/codemodel";
3
+ /** represents a single callable endpoint with a discrete set of inputs, and any number of output possibilities (responses or exceptions) */
4
+ export interface Operation extends Aspect {
5
+ /**
6
+ * Original Operation ID if present.
7
+ * This can be used to identify the original id of an operation before it is styled.
8
+ * THIS IS NOT the name of the operation that should be used in the generator. Use `.language.default.name` for this
9
+ */
10
+ operationId?: string;
11
+ /** common parameters when there are multiple requests */
12
+ parameters?: Array<Parameter>;
13
+ /** a common filtered list of parameters that is (assumably) the actual method signature parameters */
14
+ signatureParameters?: Array<Parameter>;
15
+ /**
16
+ * Mapping of all the content types available for this operation to the coresponding request.
17
+ */
18
+ requestMediaTypes?: Record<string, Request>;
19
+ /**
20
+ * List of headers that parameters should not handle as parameters but with special logic.
21
+ * See https://github.com/Azure/autorest/tree/main/packages/extensions/modelerfour for configuration `skip-special-headers` to exclude headers.
22
+ */
23
+ specialHeaders?: string[];
24
+ /** the different possibilities to build the request. */
25
+ requests?: Array<Request>;
26
+ /** responses that indicate a successful call */
27
+ responses?: Array<Response>;
28
+ /** responses that indicate a failed call */
29
+ exceptions?: Array<Response>;
30
+ /** the apiVersion to use for a given profile name */
31
+ profile?: Record<string, ApiVersion>;
32
+ /** the name of convenience API */
33
+ convenienceApi?: ConvenienceApi;
34
+ /** a boolean to represent should generate protocol api or not */
35
+ generateProtocolApi?: boolean;
36
+ /** the operation links, referring to related operations, e.g. "polling" for long-running operation to the status monitor operation */
37
+ operationLinks?: Record<string, OperationLink>;
38
+ }
39
+ export declare class ConvenienceApi extends Metadata {
40
+ constructor(name: string, initializer?: DeepPartial<ConvenienceApi>);
41
+ requests?: Array<Request>;
42
+ }
43
+ export declare class OperationLink {
44
+ constructor(operation: Operation);
45
+ /** the operation */
46
+ operation: Operation;
47
+ /** the parameters as Schema */
48
+ parameters?: Schema;
49
+ }
50
+ export interface Request extends Metadata {
51
+ /** the parameter inputs to the operation */
52
+ parameters?: Array<Parameter>;
53
+ /** a filtered list of parameters that is (assumably) the actual method signature parameters */
54
+ signatureParameters?: Array<Parameter>;
55
+ }
56
+ export declare class Request extends Metadata implements Request {
57
+ constructor(initializer?: DeepPartial<Request>);
58
+ addParameter(parameter: Parameter): Parameter;
59
+ updateSignatureParameters(): void;
60
+ }
61
+ export declare class Operation extends Aspect implements Operation {
62
+ constructor($key: string, description: string, initializer?: DeepPartial<Operation>);
63
+ /** add a request to the operation */
64
+ addRequest(request: Request): Request;
65
+ addParameter(parameter: Parameter): Parameter;
66
+ updateSignatureParameters(): void;
67
+ addResponse(response: Response): Response;
68
+ addException(exception: Response): Response;
69
+ addProfile(profileName: string, apiVersion: ApiVersion): this;
70
+ }
71
+ /** an operation group represents a container around set of operations */
72
+ export interface OperationGroup extends Metadata {
73
+ $key: string;
74
+ operations: Array<Operation>;
75
+ }
76
+ export declare class OperationGroup extends Metadata implements OperationGroup {
77
+ constructor(name: string, objectInitializer?: DeepPartial<OperationGroup>);
78
+ addOperation(operation: Operation): Operation;
79
+ }
80
+ //# sourceMappingURL=operation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operation.d.ts","sourceRoot":"","sources":["../../../src/common/operation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EACL,UAAU,EACV,MAAM,EACN,QAAQ,EACR,SAAS,EAET,QAAQ,EAER,MAAM,EACP,MAAM,qBAAqB,CAAC;AAE7B,6IAA6I;AAC7I,MAAM,WAAW,SAAU,SAAQ,MAAM;IACvC;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,yDAAyD;IACzD,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAE9B,sGAAsG;IACtG,mBAAmB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAEvC;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAE5C;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAE1B,wDAAwD;IACxD,QAAQ,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IAE1B,gDAAgD;IAChD,SAAS,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IAE5B,4CAA4C;IAC5C,UAAU,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IAE7B,qDAAqD;IACrD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAErC,kCAAkC;IAClC,cAAc,CAAC,EAAE,cAAc,CAAC;IAEhC,iEAAiE;IACjE,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B,sIAAsI;IACtI,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;CAChD;AAED,qBAAa,cAAe,SAAQ,QAAQ;gBAC9B,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,WAAW,CAAC,cAAc,CAAC;IAcnE,QAAQ,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;CAC3B;AAED,qBAAa,aAAa;gBACZ,SAAS,EAAE,SAAS;IAIhC,oBAAoB;IACpB,SAAS,EAAE,SAAS,CAAC;IAErB,+BAA+B;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,OAAQ,SAAQ,QAAQ;IACvC,4CAA4C;IAC5C,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAE9B,+FAA+F;IAC/F,mBAAmB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;CACxC;AAED,qBAAa,OAAQ,SAAQ,QAAS,YAAW,OAAO;gBAC1C,WAAW,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC;IAK9C,YAAY,CAAC,SAAS,EAAE,SAAS;IAMjC,yBAAyB;CAW1B;AACD,qBAAa,SAAU,SAAQ,MAAO,YAAW,SAAS;gBAC5C,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,WAAW,CAAC,SAAS,CAAC;IAKnF,qCAAqC;IACrC,UAAU,CAAC,OAAO,EAAE,OAAO;IAK3B,YAAY,CAAC,SAAS,EAAE,SAAS;IAMjC,yBAAyB;IAYzB,WAAW,CAAC,QAAQ,EAAE,QAAQ;IAI9B,YAAY,CAAC,SAAS,EAAE,QAAQ;IAIhC,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU;CAIvD;AAED,yEAAyE;AACzE,MAAM,WAAW,cAAe,SAAQ,QAAQ;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;CAC9B;AAED,qBAAa,cAAe,SAAQ,QAAS,YAAW,cAAc;gBACxD,IAAI,EAAE,MAAM,EAAE,iBAAiB,CAAC,EAAE,WAAW,CAAC,cAAc,CAAC;IAOzE,YAAY,CAAC,SAAS,EAAE,SAAS;CAIlC"}
@@ -0,0 +1,88 @@
1
+ import { Aspect, Metadata, ImplementationLocation, SchemaType, } from "@autorest/codemodel";
2
+ export class ConvenienceApi extends Metadata {
3
+ constructor(name, initializer) {
4
+ super();
5
+ this.apply({
6
+ language: {
7
+ default: {
8
+ name: name,
9
+ },
10
+ },
11
+ }, initializer);
12
+ }
13
+ }
14
+ export class OperationLink {
15
+ constructor(operation) {
16
+ this.operation = operation;
17
+ }
18
+ }
19
+ export class Request extends Metadata {
20
+ constructor(initializer) {
21
+ super();
22
+ this.apply(initializer);
23
+ }
24
+ addParameter(parameter) {
25
+ (this.parameters = this.parameters || []).push(parameter);
26
+ this.updateSignatureParameters();
27
+ return parameter;
28
+ }
29
+ updateSignatureParameters() {
30
+ var _a;
31
+ if (this.parameters) {
32
+ this.signatureParameters = ((_a = this.parameters) !== null && _a !== void 0 ? _a : []).filter((each) => each.schema.type !== SchemaType.Constant &&
33
+ each.implementation !== ImplementationLocation.Client &&
34
+ !each.groupedBy &&
35
+ !each.flattened);
36
+ }
37
+ }
38
+ }
39
+ export class Operation extends Aspect {
40
+ constructor($key, description, initializer) {
41
+ super($key, description);
42
+ this.apply(initializer);
43
+ }
44
+ /** add a request to the operation */
45
+ addRequest(request) {
46
+ (this.requests = this.requests || []).push(request);
47
+ return request;
48
+ }
49
+ addParameter(parameter) {
50
+ (this.parameters = this.parameters || []).push(parameter);
51
+ this.updateSignatureParameters();
52
+ return parameter;
53
+ }
54
+ updateSignatureParameters() {
55
+ var _a;
56
+ if (this.parameters) {
57
+ this.signatureParameters = ((_a = this.parameters) !== null && _a !== void 0 ? _a : []).filter((each) => each.schema.type !== SchemaType.Constant &&
58
+ each.implementation !== ImplementationLocation.Client &&
59
+ !each.groupedBy &&
60
+ !each.flattened);
61
+ }
62
+ }
63
+ addResponse(response) {
64
+ (this.responses = this.responses || []).push(response);
65
+ return response;
66
+ }
67
+ addException(exception) {
68
+ (this.exceptions = this.exceptions || []).push(exception);
69
+ return exception;
70
+ }
71
+ addProfile(profileName, apiVersion) {
72
+ (this.profile = this.profile || {})[profileName] = apiVersion;
73
+ return this;
74
+ }
75
+ }
76
+ export class OperationGroup extends Metadata {
77
+ constructor(name, objectInitializer) {
78
+ super();
79
+ this.$key = name;
80
+ this.apply(objectInitializer);
81
+ this.language.default.name = name;
82
+ }
83
+ addOperation(operation) {
84
+ (this.operations = this.operations || []).push(operation);
85
+ return operation;
86
+ }
87
+ }
88
+ //# sourceMappingURL=operation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operation.js","sourceRoot":"","sources":["../../../src/common/operation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import { ChoiceValue, PrimitiveSchema, Schema, SchemaType, StringSchema, ValueSchema } from "@autorest/codemodel";
2
+ import { DeepPartial } from "@azure-tools/codegen";
3
+ import { SchemaUsage } from "./usage.js";
4
+ /** a schema that represents a choice of several values (ie, an 'enum') */
5
+ export interface ChoiceSchema<ChoiceType extends PrimitiveSchema = StringSchema> extends ValueSchema, SchemaUsage {
6
+ /** the schema type */
7
+ type: SchemaType.Choice;
8
+ /** the primitive type for the choices */
9
+ choiceType: ChoiceType;
10
+ /** the possible choices for in the set */
11
+ choices: Array<ChoiceValue>;
12
+ }
13
+ export declare class ChoiceSchema<ChoiceType extends PrimitiveSchema = StringSchema> extends Schema implements ChoiceSchema<ChoiceType> {
14
+ constructor(name: string, description: string, objectInitializer?: DeepPartial<ChoiceSchema<ChoiceType>>);
15
+ }
16
+ /** a schema that represents a choice of several values (ie, an 'enum') */
17
+ export interface SealedChoiceSchema<ChoiceType extends PrimitiveSchema = StringSchema> extends ValueSchema, SchemaUsage {
18
+ /** the schema type */
19
+ type: SchemaType.SealedChoice;
20
+ /** the primitive type for the choices */
21
+ choiceType: ChoiceType;
22
+ /** the possible choices for in the set */
23
+ choices: Array<ChoiceValue>;
24
+ }
25
+ export declare class SealedChoiceSchema<ChoiceType extends PrimitiveSchema = StringSchema> extends Schema implements SealedChoiceSchema<ChoiceType> {
26
+ constructor(name: string, description: string, objectInitializer?: DeepPartial<ChoiceSchema<ChoiceType>>);
27
+ }
28
+ //# sourceMappingURL=choice.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"choice.d.ts","sourceRoot":"","sources":["../../../../src/common/schemas/choice.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClH,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,0EAA0E;AAC1E,MAAM,WAAW,YAAY,CAAC,UAAU,SAAS,eAAe,GAAG,YAAY,CAAE,SAAQ,WAAW,EAAE,WAAW;IAC/G,uBAAuB;IACvB,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC;IACxB,yCAAyC;IACzC,UAAU,EAAE,UAAU,CAAC;IACvB,0CAA0C;IAC1C,OAAO,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;CAC7B;AAED,qBAAa,YAAY,CAAC,UAAU,SAAS,eAAe,GAAG,YAAY,CACzE,SAAQ,MACR,YAAW,YAAY,CAAC,UAAU,CAAC;gBAEvB,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,iBAAiB,CAAC,EAAE,WAAW,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;CAIzG;AAED,0EAA0E;AAC1E,MAAM,WAAW,kBAAkB,CAAC,UAAU,SAAS,eAAe,GAAG,YAAY,CACnF,SAAQ,WAAW,EACjB,WAAW;IACb,uBAAuB;IACvB,IAAI,EAAE,UAAU,CAAC,YAAY,CAAC;IAE9B,yCAAyC;IACzC,UAAU,EAAE,UAAU,CAAC;IAEvB,0CAA0C;IAC1C,OAAO,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;CAC7B;AAED,qBAAa,kBAAkB,CAAC,UAAU,SAAS,eAAe,GAAG,YAAY,CAC/E,SAAQ,MACR,YAAW,kBAAkB,CAAC,UAAU,CAAC;gBAE7B,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,iBAAiB,CAAC,EAAE,WAAW,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;CAIzG"}
@@ -0,0 +1,14 @@
1
+ import { Schema, SchemaType } from "@autorest/codemodel";
2
+ export class ChoiceSchema extends Schema {
3
+ constructor(name, description, objectInitializer) {
4
+ super(name, description, SchemaType.Choice);
5
+ this.apply(objectInitializer);
6
+ }
7
+ }
8
+ export class SealedChoiceSchema extends Schema {
9
+ constructor(name, description, objectInitializer) {
10
+ super(name, description, SchemaType.SealedChoice);
11
+ this.apply(objectInitializer);
12
+ }
13
+ }
14
+ //# sourceMappingURL=choice.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"choice.js","sourceRoot":"","sources":["../../../../src/common/schemas/choice.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgC,MAAM,EAAE,UAAU,EAA6B,MAAM,qBAAqB,CAAC;AAclH,MAAM,OAAO,YACX,SAAQ,MAAM;IAGd,YAAY,IAAY,EAAE,WAAmB,EAAE,iBAAyD;QACtG,KAAK,CAAC,IAAI,EAAE,WAAW,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;QAC5C,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAChC,CAAC;CACF;AAgBD,MAAM,OAAO,kBACX,SAAQ,MAAM;IAGd,YAAY,IAAY,EAAE,WAAmB,EAAE,iBAAyD;QACtG,KAAK,CAAC,IAAI,EAAE,WAAW,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC;QAClD,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAChC,CAAC;CACF"}
@@ -0,0 +1,44 @@
1
+ import { DeepPartial } from "@azure-tools/codegen";
2
+ import { ComplexSchema, ObjectSchema, Schema } from "@autorest/codemodel";
3
+ import { SchemaType } from "@autorest/codemodel";
4
+ import { SchemaUsage } from "./usage.js";
5
+ /** an OR relationship between several schemas
6
+ *
7
+ * @note - this expresses that the schema can be
8
+ * any combination of the schema types given, which means
9
+ * that this restricts the types to just <ObjectSchemaTypes>
10
+ * because it does not make sense that a value can be a 'primitive'
11
+ * and an 'object' at the same time. Nor does it make sense
12
+ * that a value can be two primitive types at the same time.
13
+ */
14
+ export interface OrSchema extends ComplexSchema, SchemaUsage {
15
+ /** the set of schemas that this schema is composed of. Every schema is optional */
16
+ anyOf: Array<ObjectSchema>;
17
+ }
18
+ export declare class OrSchema extends Schema implements OrSchema {
19
+ constructor(name: string, description: string, objectInitializer?: DeepPartial<OrSchema>);
20
+ }
21
+ /** an XOR relationship between several schemas
22
+ *
23
+ * @note because this indicates that the actual schema
24
+ * can be any one of the possible types, there is no
25
+ * restriction on the type that it may be. (bool or object or number is ok)
26
+ */
27
+ export interface XorSchema extends Schema {
28
+ /** the set of schemas that this must be one and only one of. */
29
+ oneOf: Array<Schema>;
30
+ }
31
+ export declare class XorSchema extends Schema implements XorSchema {
32
+ constructor(name: string, description: string, objectInitializer?: DeepPartial<XorSchema>);
33
+ }
34
+ /** a NOT relationship between schemas
35
+ *
36
+ * @fearthecowboy - I don't think we're going to impmement this.
37
+ */
38
+ export interface NotSchema extends Schema {
39
+ /** the schema type */
40
+ type: SchemaType.Not;
41
+ /** the schema that this may not be. */
42
+ not: Schema;
43
+ }
44
+ //# sourceMappingURL=relationship.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relationship.d.ts","sourceRoot":"","sources":["../../../../src/common/schemas/relationship.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC1E,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC;;;;;;;;GAQG;AACH,MAAM,WAAW,QAAS,SAAQ,aAAa,EAAE,WAAW;IAC1D,oFAAoF;IACpF,KAAK,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;CAC5B;AACD,qBAAa,QAAS,SAAQ,MAAO,YAAW,QAAQ;gBAC1C,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,iBAAiB,CAAC,EAAE,WAAW,CAAC,QAAQ,CAAC;CAIzF;AAED;;;;;GAKG;AACH,MAAM,WAAW,SAAU,SAAQ,MAAM;IACvC,gEAAgE;IAChE,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;CACtB;AACD,qBAAa,SAAU,SAAQ,MAAO,YAAW,SAAS;gBAC5C,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,iBAAiB,CAAC,EAAE,WAAW,CAAC,SAAS,CAAC;CAI1F;AAED;;;GAGG;AACH,MAAM,WAAW,SAAU,SAAQ,MAAM;IACvC,uBAAuB;IACvB,IAAI,EAAE,UAAU,CAAC,GAAG,CAAC;IAErB,uCAAuC;IACvC,GAAG,EAAE,MAAM,CAAC;CACb"}
@@ -0,0 +1,15 @@
1
+ import { Schema } from "@autorest/codemodel";
2
+ import { SchemaType } from "@autorest/codemodel";
3
+ export class OrSchema extends Schema {
4
+ constructor(name, description, objectInitializer) {
5
+ super(name, description, SchemaType.Or);
6
+ this.apply(objectInitializer);
7
+ }
8
+ }
9
+ export class XorSchema extends Schema {
10
+ constructor(name, description, objectInitializer) {
11
+ super(name, description, SchemaType.Xor);
12
+ this.apply(objectInitializer);
13
+ }
14
+ }
15
+ //# sourceMappingURL=relationship.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relationship.js","sourceRoot":"","sources":["../../../../src/common/schemas/relationship.ts"],"names":[],"mappings":"AACA,OAAO,EAA+B,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC1E,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAgBjD,MAAM,OAAO,QAAS,SAAQ,MAAM;IAClC,YAAY,IAAY,EAAE,WAAmB,EAAE,iBAAyC;QACtF,KAAK,CAAC,IAAI,EAAE,WAAW,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC;QACxC,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAChC,CAAC;CACF;AAYD,MAAM,OAAO,SAAU,SAAQ,MAAM;IACnC,YAAY,IAAY,EAAE,WAAmB,EAAE,iBAA0C;QACvF,KAAK,CAAC,IAAI,EAAE,WAAW,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC;QACzC,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAChC,CAAC;CACF"}
@@ -0,0 +1,22 @@
1
+ import { KnownMediaType } from "@azure-tools/codegen";
2
+ export declare enum SchemaContext {
3
+ /** Schema is used as an input to an operation. */
4
+ Input = "input",
5
+ /** Schema is used as an output from an operation. */
6
+ Output = "output",
7
+ /** Schema is used as an exception from an operation. */
8
+ Exception = "exception",
9
+ /** Schema is used from the operation for generating convenience API. */
10
+ ConvenienceApi = "convenience-api",
11
+ /** Schema is used from the pageable operation. This usage does not propagate. */
12
+ Paged = "paged",
13
+ /** Schema as anonymous model. This usage does not propagate. */
14
+ Anonymous = "anonymous"
15
+ }
16
+ export interface SchemaUsage {
17
+ /** contexts in which the schema is used */
18
+ usage?: SchemaContext[];
19
+ /** Known media types in which this schema can be serialized */
20
+ serializationFormats?: KnownMediaType[];
21
+ }
22
+ //# sourceMappingURL=usage.d.ts.map