@typespec/versioning 0.43.0-dev.5 → 0.43.0-dev.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.
@@ -1 +1 @@
1
- {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/validate.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,OAAO,EAER,MAAM,oBAAoB,CAAC;AAa5B,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,QA+G3C"}
1
+ {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/validate.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,OAAO,EAER,MAAM,oBAAoB,CAAC;AAa5B,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,QA8H3C"}
@@ -32,15 +32,23 @@ export function $onValidate(program) {
32
32
  }
33
33
  },
34
34
  union: (union) => {
35
+ // If this is an instantiated type we don't want to keep the mapping.
36
+ if (isTemplateInstance(union)) {
37
+ return;
38
+ }
35
39
  if (union.namespace === undefined) {
36
40
  return;
37
41
  }
38
- for (const option of union.options.values()) {
39
- addDependency(union.namespace, option);
42
+ for (const variant of union.variants.values()) {
43
+ addDependency(union.namespace, variant.type);
40
44
  }
41
45
  },
42
46
  operation: (op) => {
43
47
  var _a, _b;
48
+ // If this is an instantiated type we don't want to keep the mapping.
49
+ if (isTemplateInstance(op)) {
50
+ return;
51
+ }
44
52
  const namespace = (_a = op.namespace) !== null && _a !== void 0 ? _a : (_b = op.interface) === null || _b === void 0 ? void 0 : _b.namespace;
45
53
  addDependency(namespace, op.parameters);
46
54
  addDependency(namespace, op.returnType);
@@ -48,7 +56,12 @@ export function $onValidate(program) {
48
56
  // Validate model -> property have correct versioning
49
57
  validateTargetVersionCompatible(program, op.interface, op, { isTargetADependent: true });
50
58
  }
51
- validateTargetVersionCompatible(program, op, op.returnType);
59
+ validateReference(program, op, op.returnType);
60
+ },
61
+ interface: (iface) => {
62
+ for (const source of iface.sourceInterfaces) {
63
+ validateReference(program, iface, source);
64
+ }
52
65
  },
53
66
  namespace: (namespace) => {
54
67
  const versionedNamespace = findVersionedNamespace(program, namespace);
@@ -164,12 +177,25 @@ function validateMadeOptional(program, target) {
164
177
  * @param target Type being referenced from the source
165
178
  */
166
179
  function validateReference(program, source, target) {
180
+ var _a, _b;
167
181
  validateTargetVersionCompatible(program, source, target);
168
- if (target.kind === "Model" && target.templateArguments) {
169
- for (const param of target.templateArguments) {
182
+ if ("templateMapper" in target) {
183
+ for (const param of (_b = (_a = target.templateMapper) === null || _a === void 0 ? void 0 : _a.args) !== null && _b !== void 0 ? _b : []) {
170
184
  validateTargetVersionCompatible(program, source, param);
171
185
  }
172
186
  }
187
+ switch (target.kind) {
188
+ case "Union":
189
+ for (const variant of target.variants.values()) {
190
+ validateTargetVersionCompatible(program, source, variant.type);
191
+ }
192
+ break;
193
+ case "Tuple":
194
+ for (const value of target.values) {
195
+ validateTargetVersionCompatible(program, source, value);
196
+ }
197
+ break;
198
+ }
173
199
  }
174
200
  function getAvailabilityMapWithParentInfo(program, type) {
175
201
  const base = getAvailabilityMap(program, type);
@@ -1 +1 @@
1
- {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/validate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/validate.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,WAAW,EACX,kBAAkB,EAElB,eAAe,EACf,QAAQ,GAGT,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE5C,OAAO,EACL,YAAY,EACZ,sBAAsB,EACtB,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,WAAW,GACZ,MAAM,iBAAiB,CAAC;AAEzB,MAAM,UAAU,WAAW,CAAC,OAAgB;IAC1C,MAAM,qBAAqB,GAAG,IAAI,GAAG,EAAyC,CAAC;IAE/E,SAAS,aAAa,CAAC,MAA6B,EAAE,MAAwB;;QAC5E,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;YAC5D,OAAO;SACR;QACD,MAAM,GAAG,GAAG,MAAA,qBAAqB,CAAC,GAAG,CAAC,MAAM,CAAC,mCAAI,IAAI,GAAG,EAAa,CAAC;QACtE,IAAI,MAAM,CAAC,SAAS,KAAK,MAAM,EAAE;YAC/B,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;SAC3B;QACD,qBAAqB,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACzC,CAAC;IAED,eAAe,CACb,OAAO,EACP;QACE,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE;YACf,qEAAqE;YACrE,IAAI,kBAAkB,CAAC,KAAK,CAAC,EAAE;gBAC7B,OAAO;aACR;YACD,aAAa,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;YAChD,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE;gBAC5C,aAAa,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;gBAE1C,qDAAqD;gBACrD,+BAA+B,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC,CAAC;gBAEpF,0DAA0D;gBAC1D,iBAAiB,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;gBAE5C,4DAA4D;gBAC5D,oBAAoB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;aACrC;QACH,CAAC;QACD,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE;YACf,qEAAqE;YACrE,IAAI,kBAAkB,CAAC,KAAK,CAAC,EAAE;gBAC7B,OAAO;aACR;YACD,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,EAAE;gBACjC,OAAO;aACR;YACD,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE;gBAC7C,aAAa,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;aAC9C;QACH,CAAC;QACD,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE;;YAChB,qEAAqE;YACrE,IAAI,kBAAkB,CAAC,EAAE,CAAC,EAAE;gBAC1B,OAAO;aACR;YAED,MAAM,SAAS,GAAG,MAAA,EAAE,CAAC,SAAS,mCAAI,MAAA,EAAE,CAAC,SAAS,0CAAE,SAAS,CAAC;YAC1D,aAAa,CAAC,SAAS,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC;YACxC,aAAa,CAAC,SAAS,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC;YAExC,IAAI,EAAE,CAAC,SAAS,EAAE;gBAChB,qDAAqD;gBACrD,+BAA+B,CAAC,OAAO,EAAE,EAAE,CAAC,SAAS,EAAE,EAAE,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC,CAAC;aAC1F;YAED,iBAAiB,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC;QAChD,CAAC;QACD,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;YACnB,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,gBAAgB,EAAE;gBAC3C,iBAAiB,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;aAC3C;QACH,CAAC;QACD,SAAS,EAAE,CAAC,SAAS,EAAE,EAAE;YACvB,MAAM,kBAAkB,GAAG,sBAAsB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;YACtE,MAAM,YAAY,GAAG,sBAAsB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;YAChE,IAAI,YAAY,KAAK,SAAS,EAAE;gBAC9B,OAAO;aACR;YAED,KAAK,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,IAAI,YAAY,CAAC,OAAO,EAAE,EAAE;gBAC1D,IAAI,kBAAkB,EAAE;oBACtB,MAAM,kBAAkB,GAAG,kBAAkB,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,KAAK,SAAS,CAAC;oBACvF,IAAI,kBAAkB,EAAE;wBACtB,gBAAgB,CAAC,OAAO,EAAE;4BACxB,IAAI,EAAE,iDAAiD;4BACvD,MAAM,EAAE,SAAS;yBAClB,CAAC,CAAC;qBACJ;yBAAM,IAAI,CAAC,CAAC,KAAK,YAAY,GAAG,CAAC,EAAE;wBAClC,gBAAgB,CAAC,OAAO,EAAE;4BACxB,IAAI,EAAE,yCAAyC;4BAC/C,MAAM,EAAE,EAAE,UAAU,EAAE,oBAAoB,CAAC,YAAY,CAAC,EAAE;4BAC1D,MAAM,EAAE,SAAS;yBAClB,CAAC,CAAC;qBACJ;iBACF;qBAAM;oBACL,IAAI,KAAK,YAAY,GAAG,EAAE;wBACxB,gBAAgB,CAAC,OAAO,EAAE;4BACxB,IAAI,EAAE,iCAAiC;4BACvC,MAAM,EAAE,EAAE,UAAU,EAAE,oBAAoB,CAAC,YAAY,CAAC,EAAE;4BAC1D,MAAM,EAAE,SAAS;yBAClB,CAAC,CAAC;qBACJ;iBACF;aACF;QACH,CAAC;QACD,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE;YACX,4DAA4D;YAC5D,oDAAoD;YACpD,MAAM,eAAe,GAAG,kBAAkB,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YACxD,IAAI,CAAC,eAAe,EAAE;gBACpB,OAAO;aACR;YACD,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,eAAe,EAAE;gBAC3C,MAAM,GAAG,GAAG,IAAI,GAAG,EAAa,CAAC;gBACjC,IAAI,IAAI,YAAY,GAAG,EAAE;oBACvB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE;wBAC/B,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;qBACxB;iBACF;qBAAM;oBACL,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;iBACzB;gBACD,qBAAqB,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;aACvC;QACH,CAAC;KACF,EACD,EAAE,0BAA0B,EAAE,IAAI,EAAE,CACrC,CAAC;IACF,+BAA+B,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;AAClE,CAAC;AAED,SAAS,+BAA+B,CACtC,OAAgB,EAChB,qBAAiE;IAEjE,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,qBAAqB,CAAC,OAAO,EAAE,EAAE;QAC/D,MAAM,YAAY,GAAG,MAAM,IAAI,sBAAsB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACvE,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;YAC5B,MAAM,wBAAwB,GAAG,sBAAsB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACzE,IACE,wBAAwB,KAAK,SAAS;gBACtC,CAAC,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;gBAC/E,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,GAAG,CAAC,wBAAwB,CAAC,MAAK,SAAS,EACzD;gBACA,gBAAgB,CAAC,OAAO,EAAE;oBACxB,IAAI,EAAE,yBAAyB;oBAC/B,MAAM,EAAE;wBACN,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ;wBAC1D,QAAQ,EAAE,oBAAoB,CAAC,MAAM,CAAC;qBACvC;oBACD,MAAM,EAAE,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,QAAQ;iBAC3B,CAAC,CAAC;aACJ;SACF;KACF;AACH,CAAC;AAED,SAAS,cAAc,CAAC,MAAiB,EAAE,KAAgB;IACzD,IAAI,OAAO,GAA0B,KAAK,CAAC;IAE3C,OAAO,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,EAAE,EAAE;QACrC,IAAI,OAAO,KAAK,MAAM,EAAE;YACtB,OAAO,IAAI,CAAC;SACb;QACD,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC;KAC7B;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,oBAAoB,CAAC,OAAgB,EAAE,MAAY;IAC1D,IAAI,MAAM,CAAC,IAAI,KAAK,eAAe,EAAE;QACnC,MAAM,cAAc,GAAG,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC1D,IAAI,CAAC,cAAc,EAAE;YACnB,OAAO;SACR;QACD,sEAAsE;QACtE,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;YACpB,gBAAgB,CAAC,OAAO,EAAE;gBACxB,IAAI,EAAE,4BAA4B;gBAClC,MAAM,EAAE;oBACN,IAAI,EAAE,MAAM,CAAC,IAAI;iBAClB;gBACD,MAAM,EAAE,MAAM;aACf,CAAC,CAAC;YACH,OAAO;SACR;KACF;AACH,CAAC;AAMD;;;;;;GAMG;AACH,SAAS,iBAAiB,CAAC,OAAgB,EAAE,MAAY,EAAE,MAAY;;IACrE,+BAA+B,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAEzD,IAAI,gBAAgB,IAAI,MAAM,EAAE;QAC9B,KAAK,MAAM,KAAK,IAAI,MAAA,MAAA,MAAM,CAAC,cAAc,0CAAE,IAAI,mCAAI,EAAE,EAAE;YACrD,+BAA+B,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;SACzD;KACF;IAED,QAAQ,MAAM,CAAC,IAAI,EAAE;QACnB,KAAK,OAAO;YACV,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE;gBAC9C,+BAA+B,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;aAChE;YACD,MAAM;QACR,KAAK,OAAO;YACV,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE;gBACjC,+BAA+B,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;aACzD;YACD,MAAM;KACT;AACH,CAAC;AAED,SAAS,gCAAgC,CACvC,OAAgB,EAChB,IAAU;IAEV,MAAM,IAAI,GAAG,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAE/C,0CAA0C;IAC1C,IAAI,SAAS,GAA0C,SAAS,CAAC;IACjE,QAAQ,IAAI,CAAC,IAAI,EAAE;QACjB,KAAK,WAAW;YACd,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC;YACvC,IAAI,eAAe,EAAE;gBACnB,SAAS,GAAG,kBAAkB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;aAC1D;YACD,MAAM;QACR,KAAK,eAAe;YAClB,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC;YAC/B,IAAI,WAAW,EAAE;gBACf,SAAS,GAAG,kBAAkB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;aACtD;YACD,MAAM;QACR;YACE,MAAM;KACT;IACD,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS;QAAE,OAAO,SAAS,CAAC;SACrC,IAAI,CAAC,IAAI,IAAI,SAAS;QAAE,OAAO,SAAS,CAAC;;QACzC,OAAO,IAAI,CAAC;AACnB,CAAC;AAED;;;;;GAKG;AACH,SAAS,+BAA+B,CACtC,OAAgB,EAChB,MAAY,EACZ,MAAY,EACZ,kBAAsD,EAAE;IAExD,MAAM,kBAAkB,GAAG,gCAAgC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC7E,MAAM,CAAC,eAAe,CAAC,GAAG,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAEvD,IAAI,kBAAkB,GAAG,gCAAgC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC3E,MAAM,CAAC,eAAe,CAAC,GAAG,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACvD,IAAI,CAAC,kBAAkB,IAAI,CAAC,eAAe;QAAE,OAAO;IAEpD,IAAI,eAAe,KAAK,eAAe,EAAE;QACvC,MAAM,YAAY,GAAG,sBAAsB,CAAC,OAAO,EAAG,MAAc,CAAC,SAAS,CAAC,CAAC;QAChF,MAAM,UAAU,GAAG,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,GAAG,CAAC,eAAe,CAAC,CAAC;QACtD,IAAI,UAAU,KAAK,SAAS;YAAE,OAAO;QAErC,kBAAkB,GAAG,qBAAqB,CACxC,OAAO,EACP,kBAAkB,EAClB,UAAU,EACV,MAAM,EACN,MAAM,CACP,CAAC;QACF,IAAI,CAAC,kBAAkB,EAAE;YACvB,OAAO;SACR;KACF;IAED,IAAI,eAAe,CAAC,kBAAkB,EAAE;QACtC,+BAA+B,CAC7B,OAAO,EACP,kBAAkB,EAClB,kBAAkB,EAClB,MAAM,EACN,MAAM,CACP,CAAC;KACH;SAAM;QACL,0BAA0B,CAAC,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;KAC7F;AACH,CAAC;AAED,SAAS,qBAAqB,CAC5B,OAAgB,EAChB,KAAgC,EAChC,UAA2C,EAC3C,MAAY,EACZ,MAAY;IAEZ,IAAI,CAAC,CAAC,UAAU,YAAY,GAAG,CAAC,EAAE;QAChC,MAAM,OAAO,GAAG,UAAU,CAAC;QAC3B,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,YAAY,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAE,CAAC,EAAE;YACvF,MAAM,UAAU,GAAG,4BAA4B,CAAC,OAAO,CAAC,IAAI,EAAE,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACzF,MAAM,aAAa,GAAG,iCAAiC,CACrD,OAAO,CAAC,IAAI,EACZ,YAAY,CAAC,OAAO,EACpB,KAAK,CACN,CAAC;YACF,IAAI,UAAU,EAAE;gBACd,gBAAgB,CAAC,OAAO,EAAE;oBACxB,IAAI,EAAE,kCAAkC;oBACxC,SAAS,EAAE,+BAA+B;oBAC1C,MAAM,EAAE;wBACN,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC;wBAC/B,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC;wBAC/B,iBAAiB,EAAE,aAAa,CAAC,OAAO,CAAC;wBACzC,aAAa,EAAE,UAAU;qBAC1B;oBACD,MAAM,EAAE,MAAM;iBACf,CAAC,CAAC;aACJ;YACD,IAAI,aAAa,EAAE;gBACjB,gBAAgB,CAAC,OAAO,EAAE;oBACxB,IAAI,EAAE,kCAAkC;oBACxC,SAAS,EAAE,kCAAkC;oBAC7C,MAAM,EAAE;wBACN,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC;wBAC/B,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC;wBAC/B,iBAAiB,EAAE,aAAa,CAAC,OAAO,CAAC;wBACzC,aAAa,EAAE,aAAa;qBAC7B;oBACD,MAAM,EAAE,MAAM;iBACf,CAAC,CAAC;aACJ;SACF;QACD,OAAO,SAAS,CAAC;KAClB;SAAM;QACL,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAwB,CAAC;QACjD,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,UAAU,EAAE;YACnC,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC;YACrC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;SACjC;QACD,OAAO,QAAQ,CAAC;KACjB;AACH,CAAC;AAED,SAAS,4BAA4B,CACnC,OAAe,EACf,MAAoB,EACpB,KAAgC;IAEhC,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,KAAK,EAAE;QAC9B,IAAI,OAAO,KAAK,GAAG,EAAE;YACnB,MAAM,GAAG,IAAI,CAAC;YACd,SAAS;SACV;QACD,IAAI,CAAC,MAAM;YAAE,SAAS;QACtB,IAAI,GAAG,KAAK,MAAM;YAAE,OAAO,GAAG,CAAC;KAChC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,iCAAiC,CACxC,OAAe,EACf,MAAoB,EACpB,KAAgC;IAEhC,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,KAAK,EAAE;QAC9B,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YAC1D,MAAM,GAAG,IAAI,CAAC;SACf;QACD,IAAI,CAAC,MAAM;YAAE,SAAS;QACtB,IAAI,GAAG,KAAK,MAAM,EAAE;YAClB,OAAO,GAAG,CAAC;SACZ;QACD,IAAI,GAAG,KAAK,OAAO,EAAE;YACnB,MAAM;SACP;KACF;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,0BAA0B,CACjC,OAAgB,EAChB,WAAkD,EAClD,WAAsC,EACtC,MAAY,EACZ,MAAY;IAEZ,mDAAmD;IACnD,IAAI,WAAW,KAAK,SAAS,EAAE;QAC7B,IAAI,CAAC,uBAAuB,CAAC,WAAW,CAAC,EAAE;YACzC,gBAAgB,CAAC,OAAO,EAAE;gBACxB,IAAI,EAAE,kCAAkC;gBACxC,SAAS,EAAE,SAAS;gBACpB,MAAM,EAAE;oBACN,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC;oBAC/B,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC;iBAChC;gBACD,MAAM,EAAE,MAAM;aACf,CAAC,CAAC;SACJ;QACD,OAAO;KACR;IAED,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,WAAW,CAAC,IAAI,EAAE,EAAE,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAEvE,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE;QACxB,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC;QACxC,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC;QACxC,IACE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC;YACxC,CAAC,YAAY,CAAC,OAAO,EAAE,YAAY,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,EACpE;YACA,MAAM,aAAa,GAAG,4BAA4B,CAAC,GAAG,EAAE,YAAY,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;YACzF,gBAAgB,CAAC,OAAO,EAAE;gBACxB,IAAI,EAAE,kCAAkC;gBACxC,SAAS,EAAE,YAAY;gBACvB,MAAM,EAAE;oBACN,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC;oBAC/B,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC;oBAC/B,aAAa,EAAE,GAAG;oBAClB,aAAa,EAAE,aAAc;iBAC9B;gBACD,MAAM,EAAE,MAAM;aACf,CAAC,CAAC;SACJ;QACD,IACE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC;YAC1C,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,EAC9C;YACA,MAAM,eAAe,GAAG,iCAAiC,CACvD,GAAG,EACH,YAAY,CAAC,OAAO,EACpB,WAAW,CACZ,CAAC;YACF,gBAAgB,CAAC,OAAO,EAAE;gBACxB,IAAI,EAAE,kCAAkC;gBACxC,SAAS,EAAE,eAAe;gBAC1B,MAAM,EAAE;oBACN,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC;oBAC/B,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC;oBAC/B,eAAe,EAAE,GAAG;oBACpB,eAAe,EAAE,eAAgB;iBAClC;gBACD,MAAM,EAAE,MAAM;aACf,CAAC,CAAC;SACJ;KACF;AACH,CAAC;AAED,SAAS,+BAA+B,CACtC,OAAgB,EAChB,WAAkD,EAClD,WAAsC,EACtC,MAAY,EACZ,MAAY;IAEZ,IAAI,CAAC,WAAW;QAAE,OAAO;IAEzB,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,WAAW,CAAC,IAAI,EAAE,EAAE,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAEvE,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE;QACxB,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC;QACxC,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC;QACxC,IACE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC;YACxC,CAAC,YAAY,CAAC,OAAO,EAAE,YAAY,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,EACpE;YACA,MAAM,aAAa,GAAG,iCAAiC,CAAC,GAAG,EAAE,YAAY,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;YAC9F,gBAAgB,CAAC,OAAO,EAAE;gBACxB,IAAI,EAAE,kCAAkC;gBACxC,SAAS,EAAE,qBAAqB;gBAChC,MAAM,EAAE;oBACN,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC;oBAC/B,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC;oBAC/B,aAAa,EAAE,aAAc;oBAC7B,aAAa,EAAE,GAAG;iBACnB;gBACD,MAAM,EAAE,MAAM;aACf,CAAC,CAAC;SACJ;QACD,IACE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC;YAC1C,CAAC,YAAY,CAAC,KAAK,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,EAChE;YACA,MAAM,eAAe,GAAG,4BAA4B,CAAC,GAAG,EAAE,YAAY,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;YAC7F,gBAAgB,CAAC,OAAO,EAAE;gBACxB,IAAI,EAAE,kCAAkC;gBACxC,SAAS,EAAE,wBAAwB;gBACnC,MAAM,EAAE;oBACN,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC;oBAC/B,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC;oBAC/B,eAAe,EAAE,GAAG;oBACpB,eAAe,EAAE,eAAgB;iBAClC;gBACD,MAAM,EAAE,MAAM;aACf,CAAC,CAAC;SACJ;KACF;AACH,CAAC;AAED,SAAS,uBAAuB,CAAC,KAAgC;IAC/D,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE;QAChC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,YAAY,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;KAClF;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,aAAa,CAAC,OAA4B;;IACjD,OAAO,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,mCAAI,OAAO,CAAC;AACnC,CAAC"}
@@ -5,10 +5,12 @@ using TypeSpec.Versioning;
5
5
 
6
6
  #suppress "projections-are-experimental"
7
7
  projection op#v {
8
- to(version) {
8
+ pre to(version) {
9
9
  if !existsAtVersion(self, version) {
10
10
  return never;
11
11
  };
12
+ }
13
+ to(version) {
12
14
  if hasDifferentNameAtVersion(self, version) {
13
15
  self::rename(getNameAtVersion(self, version));
14
16
  };
@@ -16,10 +18,12 @@ projection op#v {
16
18
  self::changeReturnType(getReturnTypeBeforeVersion(self, version));
17
19
  };
18
20
  }
19
- from(version) {
21
+ pre from(version) {
20
22
  if !existsAtVersion(self, version) {
21
23
  return never;
22
24
  };
25
+ }
26
+ from(version) {
23
27
  if hasDifferentNameAtVersion(self, version) {
24
28
  self::rename(self::projectionBase::name);
25
29
  };
@@ -28,10 +32,12 @@ projection op#v {
28
32
 
29
33
  #suppress "projections-are-experimental"
30
34
  projection interface#v {
31
- to(version) {
35
+ pre to(version) {
32
36
  if !existsAtVersion(self, version) {
33
37
  return never;
34
38
  };
39
+ }
40
+ to(version) {
35
41
  if hasDifferentNameAtVersion(self, version) {
36
42
  self::rename(getNameAtVersion(self, version));
37
43
  };
@@ -44,157 +50,190 @@ projection interface#v {
44
50
  };
45
51
  });
46
52
  }
47
- from(version) {
53
+ pre from(version) {
48
54
  if !existsAtVersion(self, version) {
49
55
  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
56
  };
61
57
  }
58
+ from(version) {
59
+ if hasDifferentNameAtVersion(self, version) {
60
+ self::rename(self::projectionBase::name);
61
+ };
62
+
63
+ self::projectionBase::operations::forEach((operation) => {
64
+ if !existsAtVersion(operation, version) {
65
+ self::addOperation(operation::name, operation::parameters, operation::returnType);
66
+ };
67
+ });
68
+ }
62
69
  }
63
70
 
64
71
  #suppress "projections-are-experimental"
65
72
  projection union#v {
66
- to(version) {
73
+ pre to(version) {
67
74
  if !existsAtVersion(self, version) {
68
75
  return never;
69
- } else {
70
- if hasDifferentNameAtVersion(self, version) {
71
- self::rename(getNameAtVersion(self, version));
76
+ };
77
+ }
78
+ to(version) {
79
+ if hasDifferentNameAtVersion(self, version) {
80
+ self::rename(getNameAtVersion(self, version));
81
+ };
82
+
83
+ self::variants::forEach((variant) => {
84
+ if hasDifferentNameAtVersion(variant, version) {
85
+ self::renameVariant(variant::name, getNameAtVersion(variant, version));
86
+ };
87
+ });
88
+ }
89
+ from(version) {
90
+ if hasDifferentNameAtVersion(self, version) {
91
+ self::rename(self::projectionBase::name);
92
+ };
93
+
94
+ self::projectionBase::variants::forEach((variant) => {
95
+ if !existsAtVersion(variant, version) {
96
+ self::addVariant(variant::name, variant::type);
97
+ } else if hasDifferentNameAtVersion(variant, version) {
98
+ self::renameVariant(getNameAtVersion(variant, version), variant::name);
72
99
  };
100
+ });
101
+ }
102
+ }
73
103
 
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
- });
104
+ #suppress "projections-are-experimental"
105
+ projection unionvariant#v {
106
+ pre to(version) {
107
+ if !existsAtVersion(self, version) {
108
+ return never;
81
109
  };
82
110
  }
83
- from(version) {
111
+ pre from(version) {
84
112
  if !existsAtVersion(self, version) {
85
113
  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
114
  };
99
115
  }
100
116
  }
101
117
 
102
118
  #suppress "projections-are-experimental"
103
119
  projection model#v {
104
- to(version) {
120
+ pre to(version) {
105
121
  if !existsAtVersion(self, version) {
106
122
  return never;
107
- } else {
108
- if hasDifferentNameAtVersion(self, version) {
109
- self::rename(getNameAtVersion(self, version));
123
+ };
124
+ }
125
+ to(version) {
126
+ if hasDifferentNameAtVersion(self, version) {
127
+ self::rename(getNameAtVersion(self, version));
128
+ };
129
+ self::properties::forEach((p) => {
130
+ if hasDifferentNameAtVersion(p, version) {
131
+ self::renameProperty(p::name, getNameAtVersion(p, version));
110
132
  };
111
133
 
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
- };
134
+ if madeOptionalAfter(p, version) {
135
+ p::setOptional(false);
136
+ };
124
137
 
125
- if hasDifferentTypeAtVersion(p, version) {
126
- self::changePropertyType(p::name, getTypeBeforeVersion(p, version));
127
- };
128
- });
129
- };
138
+ if hasDifferentTypeAtVersion(p, version) {
139
+ self::changePropertyType(p::name, getTypeBeforeVersion(p, version));
140
+ };
141
+ });
130
142
  }
131
- from(version) {
143
+ pre from(version) {
132
144
  if !existsAtVersion(self, version) {
133
145
  return never;
134
- } else {
135
- if hasDifferentNameAtVersion(self, version) {
136
- self::rename(self::projectionBase::name);
146
+ };
147
+ }
148
+ from(version) {
149
+ if hasDifferentNameAtVersion(self, version) {
150
+ self::rename(self::projectionBase::name);
151
+ };
152
+
153
+ self::projectionBase::properties::forEach((p) => {
154
+ if !existsAtVersion(p, version) {
155
+ self::addProperty(p::name, p::type);
137
156
  };
138
157
 
139
- self::projectionBase::properties::forEach((p) => {
140
- if !existsAtVersion(p, version) {
141
- self::addProperty(p::name, p::type);
142
- };
158
+ if hasDifferentNameAtVersion(p, version) {
159
+ self::renameProperty(getNameAtVersion(p, version), p::name);
160
+ };
143
161
 
144
- if hasDifferentNameAtVersion(p, version) {
145
- self::renameProperty(getNameAtVersion(p, version), p::name);
146
- };
162
+ if madeOptionalAfter(p, version) {
163
+ p::setOptional(true);
164
+ };
147
165
 
148
- if madeOptionalAfter(p, version) {
149
- p::setOptional(true);
150
- };
166
+ if hasDifferentTypeAtVersion(p, version) {
167
+ self::changePropertyType(p::name, p::type);
168
+ };
169
+ });
170
+ }
171
+ }
151
172
 
152
- if hasDifferentTypeAtVersion(p, version) {
153
- self::changePropertyType(p::name, p::type);
154
- };
155
- });
173
+ #suppress "projections-are-experimental"
174
+ projection modelproperty#v {
175
+ pre to(version) {
176
+ if !existsAtVersion(self, version) {
177
+ return never;
178
+ };
179
+ }
180
+ pre from(version) {
181
+ if !existsAtVersion(self, version) {
182
+ return never;
156
183
  };
157
184
  }
158
185
  }
159
186
 
160
187
  #suppress "projections-are-experimental"
161
188
  projection enum#v {
189
+ pre to(version) {
190
+ if !existsAtVersion(self, version) {
191
+ return never;
192
+ };
193
+ }
162
194
  to(version) {
195
+ if hasDifferentNameAtVersion(self, version) {
196
+ self::rename(getNameAtVersion(self, version));
197
+ };
198
+
199
+ self::members::forEach((m) => {
200
+ if hasDifferentNameAtVersion(m, version) {
201
+ self::renameMember(m::name, getNameAtVersion(m, version));
202
+ };
203
+ });
204
+ }
205
+ pre from(version) {
163
206
  if !existsAtVersion(self, version) {
164
207
  return never;
165
- } else {
166
- if hasDifferentNameAtVersion(self, version) {
167
- self::rename(getNameAtVersion(self, version));
208
+ };
209
+ }
210
+ from(version) {
211
+ if hasDifferentNameAtVersion(self, version) {
212
+ self::rename(self::projectionBase::name);
213
+ };
214
+
215
+ self::projectionBase::members::forEach((m) => {
216
+ if !existsAtVersion(m, version, self::projectionBase) {
217
+ self::addMember(m::name, m::type);
168
218
  };
169
219
 
170
- self::members::forEach((m) => {
171
- if !existsAtVersion(m, version) {
172
- self::deleteMember(m::name);
173
- };
220
+ if hasDifferentNameAtVersion(m, version, self::projectionBase) {
221
+ self::renameMember(getNameAtVersion(m, version), m::name);
222
+ };
223
+ });
224
+ }
225
+ }
174
226
 
175
- if hasDifferentNameAtVersion(m, version) {
176
- self::renameMember(m::name, getNameAtVersion(m, version));
177
- };
178
- });
227
+ #suppress "projections-are-experimental"
228
+ projection enummember#v {
229
+ pre to(version) {
230
+ if !existsAtVersion(self, version) {
231
+ return never;
179
232
  };
180
233
  }
181
- from(version) {
234
+ pre from(version) {
182
235
  if !existsAtVersion(self, version) {
183
236
  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
237
  };
199
238
  }
200
239
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@typespec/versioning",
3
- "version": "0.43.0-dev.5",
3
+ "version": "0.43.0-dev.7",
4
4
  "author": "Microsoft Corporation",
5
5
  "description": "TypeSpec library for declaring and emitting versioned APIs",
6
6
  "homepage": "https://microsoft.github.io/typespec",