@typespec/versioning 0.41.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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"versioning.js","sourceRoot":"","sources":["../../src/versioning.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import "../dist/src/versioning.js";
2
+
3
+ using TypeSpec.Reflection;
4
+
5
+ namespace TypeSpec.Versioning;
6
+
7
+ extern dec versioned(target: Namespace, versions: Enum);
8
+ extern dec useDependency(target: EnumMember | Namespace, ...versionRecords: EnumMember[]);
9
+ extern dec versionedDependency(target: Namespace, mapping: EnumMember | [EnumMember, EnumMember][]);
10
+
11
+ extern dec added(target: unknown, version: EnumMember);
12
+ extern dec removed(target: unknown, version: EnumMember);
13
+ extern dec renamedFrom(target: unknown, version: EnumMember, oldName: string);
14
+ extern dec madeOptional(target: unknown, version: EnumMember);
15
+ extern dec typeChangedFrom(target: unknown, version: EnumMember, oldType: unknown);
16
+
17
+ extern fn existsAtVersion(target: unknown, version: EnumMember): boolean;
18
+ extern fn hasDifferentNameAtVersion(target: unknown, version: EnumMember): boolean;
19
+ extern fn madeOptionalAfter(target: unknown, version: EnumMember): boolean;
20
+ extern fn getVersionForEnumMember(target: unknown, version: EnumMember): boolean;
@@ -0,0 +1,200 @@
1
+ import "./decorators.tsp";
2
+ import "../dist/src/validate.js";
3
+
4
+ using TypeSpec.Versioning;
5
+
6
+ #suppress "projections-are-experimental"
7
+ projection op#v {
8
+ to(version) {
9
+ if !existsAtVersion(self, version) {
10
+ return never;
11
+ };
12
+ if hasDifferentNameAtVersion(self, version) {
13
+ self::rename(getNameAtVersion(self, version));
14
+ };
15
+ if hasDifferentReturnTypeAtVersion(self, version) {
16
+ self::changeReturnType(getReturnTypeBeforeVersion(self, version));
17
+ };
18
+ }
19
+ from(version) {
20
+ if !existsAtVersion(self, version) {
21
+ return never;
22
+ };
23
+ if hasDifferentNameAtVersion(self, version) {
24
+ self::rename(self::projectionBase::name);
25
+ };
26
+ }
27
+ }
28
+
29
+ #suppress "projections-are-experimental"
30
+ projection interface#v {
31
+ to(version) {
32
+ if !existsAtVersion(self, version) {
33
+ return never;
34
+ };
35
+ if hasDifferentNameAtVersion(self, version) {
36
+ self::rename(getNameAtVersion(self, version));
37
+ };
38
+ self::operations::forEach((operation) => {
39
+ if !existsAtVersion(operation, version) {
40
+ self::deleteOperation(operation::name);
41
+ };
42
+ if hasDifferentReturnTypeAtVersion(operation, version) {
43
+ operation::changeReturnType(getReturnTypeBeforeVersion(operation, version));
44
+ };
45
+ });
46
+ }
47
+ from(version) {
48
+ if !existsAtVersion(self, version) {
49
+ return never;
50
+ } else {
51
+ if hasDifferentNameAtVersion(self, version) {
52
+ self::rename(self::projectionBase::name);
53
+ };
54
+
55
+ self::projectionBase::operations::forEach((operation) => {
56
+ if !existsAtVersion(operation, version) {
57
+ self::addOperation(operation::name, operation::parameters, operation::returnType);
58
+ };
59
+ });
60
+ };
61
+ }
62
+ }
63
+
64
+ #suppress "projections-are-experimental"
65
+ projection union#v {
66
+ to(version) {
67
+ if !existsAtVersion(self, version) {
68
+ return never;
69
+ } else {
70
+ if hasDifferentNameAtVersion(self, version) {
71
+ self::rename(getNameAtVersion(self, version));
72
+ };
73
+
74
+ self::variants::forEach((variant) => {
75
+ if !existsAtVersion(variant, version) {
76
+ self::deleteVariant(variant::name);
77
+ } else if hasDifferentNameAtVersion(variant, version) {
78
+ self::renameVariant(variant::name, getNameAtVersion(variant, version));
79
+ };
80
+ });
81
+ };
82
+ }
83
+ from(version) {
84
+ if !existsAtVersion(self, version) {
85
+ return never;
86
+ } else {
87
+ if hasDifferentNameAtVersion(self, version) {
88
+ self::rename(self::projectionBase::name);
89
+ };
90
+
91
+ self::projectionBase::variants::forEach((variant) => {
92
+ if !existsAtVersion(variant, version) {
93
+ self::addVariant(variant::name, variant::type);
94
+ } else if hasDifferentNameAtVersion(variant, version) {
95
+ self::renameVariant(getNameAtVersion(variant, version), variant::name);
96
+ };
97
+ });
98
+ };
99
+ }
100
+ }
101
+
102
+ #suppress "projections-are-experimental"
103
+ projection model#v {
104
+ to(version) {
105
+ if !existsAtVersion(self, version) {
106
+ return never;
107
+ } else {
108
+ if hasDifferentNameAtVersion(self, version) {
109
+ self::rename(getNameAtVersion(self, version));
110
+ };
111
+
112
+ self::properties::forEach((p) => {
113
+ if !existsAtVersion(p, version) {
114
+ self::deleteProperty(p::name);
115
+ };
116
+
117
+ if hasDifferentNameAtVersion(p, version) {
118
+ self::renameProperty(p::name, getNameAtVersion(p, version));
119
+ };
120
+
121
+ if madeOptionalAfter(p, version) {
122
+ p::setOptional(false);
123
+ };
124
+
125
+ if hasDifferentTypeAtVersion(p, version) {
126
+ self::changePropertyType(p::name, getTypeBeforeVersion(p, version));
127
+ };
128
+ });
129
+ };
130
+ }
131
+ from(version) {
132
+ if !existsAtVersion(self, version) {
133
+ return never;
134
+ } else {
135
+ if hasDifferentNameAtVersion(self, version) {
136
+ self::rename(self::projectionBase::name);
137
+ };
138
+
139
+ self::projectionBase::properties::forEach((p) => {
140
+ if !existsAtVersion(p, version) {
141
+ self::addProperty(p::name, p::type);
142
+ };
143
+
144
+ if hasDifferentNameAtVersion(p, version) {
145
+ self::renameProperty(getNameAtVersion(p, version), p::name);
146
+ };
147
+
148
+ if madeOptionalAfter(p, version) {
149
+ p::setOptional(true);
150
+ };
151
+
152
+ if hasDifferentTypeAtVersion(p, version) {
153
+ self::changePropertyType(p::name, p::type);
154
+ };
155
+ });
156
+ };
157
+ }
158
+ }
159
+
160
+ #suppress "projections-are-experimental"
161
+ projection enum#v {
162
+ to(version) {
163
+ if !existsAtVersion(self, version) {
164
+ return never;
165
+ } else {
166
+ if hasDifferentNameAtVersion(self, version) {
167
+ self::rename(getNameAtVersion(self, version));
168
+ };
169
+
170
+ self::members::forEach((m) => {
171
+ if !existsAtVersion(m, version) {
172
+ self::deleteMember(m::name);
173
+ };
174
+
175
+ if hasDifferentNameAtVersion(m, version) {
176
+ self::renameMember(m::name, getNameAtVersion(m, version));
177
+ };
178
+ });
179
+ };
180
+ }
181
+ from(version) {
182
+ if !existsAtVersion(self, version) {
183
+ return never;
184
+ } else {
185
+ if hasDifferentNameAtVersion(self, version) {
186
+ self::rename(self::projectionBase::name);
187
+ };
188
+
189
+ self::projectionBase::members::forEach((m) => {
190
+ if !existsAtVersion(m, version, self::projectionBase) {
191
+ self::addMember(m::name, m::type);
192
+ };
193
+
194
+ if hasDifferentNameAtVersion(m, version, self::projectionBase) {
195
+ self::renameMember(getNameAtVersion(m, version), m::name);
196
+ };
197
+ });
198
+ };
199
+ }
200
+ }
package/package.json ADDED
@@ -0,0 +1,71 @@
1
+ {
2
+ "name": "@typespec/versioning",
3
+ "version": "0.41.0",
4
+ "author": "Microsoft Corporation",
5
+ "description": "TypeSpec library for declaring and emitting versioned APIs",
6
+ "homepage": "https://microsoft.github.io/typespec",
7
+ "readme": "https://github.com/Microsoft/typespec/blob/master/README.md",
8
+ "license": "MIT",
9
+ "repository": {
10
+ "type": "git",
11
+ "url": "git+https://github.com/Microsoft/typespec.git"
12
+ },
13
+ "bugs": {
14
+ "url": "https://github.com/Microsoft/typespec/issues"
15
+ },
16
+ "keywords": [
17
+ "typespec"
18
+ ],
19
+ "type": "module",
20
+ "main": "dist/src/index.js",
21
+ "tspMain": "lib/versioning.tsp",
22
+ "exports": {
23
+ ".": "./dist/src/index.js",
24
+ "./testing": "./dist/src/testing/index.js"
25
+ },
26
+ "typesVersions": {
27
+ "*": {
28
+ "*": [
29
+ "./dist/src/index.d.ts"
30
+ ],
31
+ "testing": [
32
+ "./dist/src/testing/index.d.ts"
33
+ ]
34
+ }
35
+ },
36
+ "engines": {
37
+ "node": ">=16.0.0"
38
+ },
39
+ "files": [
40
+ "lib/*.tsp",
41
+ "dist/**",
42
+ "!dist/test/**"
43
+ ],
44
+ "dependencies": {
45
+ "@typespec/compiler": "~0.41.0"
46
+ },
47
+ "devDependencies": {
48
+ "@types/mocha": "~10.0.0",
49
+ "@types/node": "~18.11.9",
50
+ "@typespec/eslint-config-typespec": "~0.6.0",
51
+ "@typespec/library-linter": "~0.41.0",
52
+ "@typespec/eslint-plugin": "~0.41.0",
53
+ "eslint": "^8.12.0",
54
+ "mocha": "~10.1.0",
55
+ "mocha-junit-reporter": "~2.2.0",
56
+ "mocha-multi-reporters": "~1.5.1",
57
+ "c8": "~7.12.0",
58
+ "rimraf": "~3.0.2",
59
+ "typescript": "~4.9.3"
60
+ },
61
+ "scripts": {
62
+ "clean": "rimraf ./dist ./temp",
63
+ "build": "tsc -p . && npm run lint-typespec-library",
64
+ "watch": "tsc -p . --watch",
65
+ "lint-typespec-library": "tsp compile . --warn-as-error --import @typespec/library-linter --no-emit",
66
+ "test": "mocha",
67
+ "test-official": "c8 mocha --forbid-only --reporter mocha-multi-reporters",
68
+ "lint": "eslint . --ext .ts --max-warnings=0",
69
+ "lint:fix": "eslint . --fix --ext .ts"
70
+ }
71
+ }