@typespec/compiler 1.0.0-rc.2-dev.19 → 1.0.0-rc.2-dev.20

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 (77) hide show
  1. package/dist/manifest.js +2 -2
  2. package/dist/src/typekit/index.d.ts +1 -1
  3. package/dist/src/typekit/index.d.ts.map +1 -1
  4. package/dist/src/typekit/index.js.map +1 -1
  5. package/dist/src/typekit/kits/array.d.ts +3 -3
  6. package/dist/src/typekit/kits/array.d.ts.map +1 -1
  7. package/dist/src/typekit/kits/array.js +4 -1
  8. package/dist/src/typekit/kits/array.js.map +1 -1
  9. package/dist/src/typekit/kits/entity.d.ts +7 -1
  10. package/dist/src/typekit/kits/entity.d.ts.map +1 -1
  11. package/dist/src/typekit/kits/entity.js +3 -0
  12. package/dist/src/typekit/kits/entity.js.map +1 -1
  13. package/dist/src/typekit/kits/enum-member.d.ts +2 -3
  14. package/dist/src/typekit/kits/enum-member.d.ts.map +1 -1
  15. package/dist/src/typekit/kits/enum-member.js +1 -1
  16. package/dist/src/typekit/kits/enum-member.js.map +1 -1
  17. package/dist/src/typekit/kits/enum.d.ts +2 -5
  18. package/dist/src/typekit/kits/enum.d.ts.map +1 -1
  19. package/dist/src/typekit/kits/enum.js +1 -1
  20. package/dist/src/typekit/kits/enum.js.map +1 -1
  21. package/dist/src/typekit/kits/index.d.ts +0 -1
  22. package/dist/src/typekit/kits/index.d.ts.map +1 -1
  23. package/dist/src/typekit/kits/index.js +0 -1
  24. package/dist/src/typekit/kits/index.js.map +1 -1
  25. package/dist/src/typekit/kits/intrinsic.d.ts +6 -1
  26. package/dist/src/typekit/kits/intrinsic.d.ts.map +1 -1
  27. package/dist/src/typekit/kits/intrinsic.js +3 -0
  28. package/dist/src/typekit/kits/intrinsic.js.map +1 -1
  29. package/dist/src/typekit/kits/literal.d.ts +5 -8
  30. package/dist/src/typekit/kits/literal.d.ts.map +1 -1
  31. package/dist/src/typekit/kits/literal.js +3 -3
  32. package/dist/src/typekit/kits/literal.js.map +1 -1
  33. package/dist/src/typekit/kits/model-property.d.ts +2 -5
  34. package/dist/src/typekit/kits/model-property.d.ts.map +1 -1
  35. package/dist/src/typekit/kits/model-property.js +1 -1
  36. package/dist/src/typekit/kits/model-property.js.map +1 -1
  37. package/dist/src/typekit/kits/model.d.ts +2 -5
  38. package/dist/src/typekit/kits/model.d.ts.map +1 -1
  39. package/dist/src/typekit/kits/model.js +1 -1
  40. package/dist/src/typekit/kits/model.js.map +1 -1
  41. package/dist/src/typekit/kits/operation.d.ts +2 -5
  42. package/dist/src/typekit/kits/operation.d.ts.map +1 -1
  43. package/dist/src/typekit/kits/operation.js +1 -1
  44. package/dist/src/typekit/kits/operation.js.map +1 -1
  45. package/dist/src/typekit/kits/record.d.ts +3 -5
  46. package/dist/src/typekit/kits/record.d.ts.map +1 -1
  47. package/dist/src/typekit/kits/record.js +4 -1
  48. package/dist/src/typekit/kits/record.js.map +1 -1
  49. package/dist/src/typekit/kits/scalar.d.ts +52 -54
  50. package/dist/src/typekit/kits/scalar.d.ts.map +1 -1
  51. package/dist/src/typekit/kits/scalar.js +1 -1
  52. package/dist/src/typekit/kits/scalar.js.map +1 -1
  53. package/dist/src/typekit/kits/tuple.d.ts +2 -6
  54. package/dist/src/typekit/kits/tuple.d.ts.map +1 -1
  55. package/dist/src/typekit/kits/tuple.js +1 -1
  56. package/dist/src/typekit/kits/tuple.js.map +1 -1
  57. package/dist/src/typekit/kits/type.d.ts +5 -2
  58. package/dist/src/typekit/kits/type.d.ts.map +1 -1
  59. package/dist/src/typekit/kits/type.js +3 -0
  60. package/dist/src/typekit/kits/type.js.map +1 -1
  61. package/dist/src/typekit/kits/union-variant.d.ts +2 -5
  62. package/dist/src/typekit/kits/union-variant.d.ts.map +1 -1
  63. package/dist/src/typekit/kits/union-variant.js +1 -1
  64. package/dist/src/typekit/kits/union-variant.js.map +1 -1
  65. package/dist/src/typekit/kits/union.d.ts +2 -5
  66. package/dist/src/typekit/kits/union.d.ts.map +1 -1
  67. package/dist/src/typekit/kits/union.js +1 -1
  68. package/dist/src/typekit/kits/union.js.map +1 -1
  69. package/dist/src/typekit/kits/value.d.ts +13 -13
  70. package/dist/src/typekit/kits/value.d.ts.map +1 -1
  71. package/dist/src/typekit/kits/value.js +9 -17
  72. package/dist/src/typekit/kits/value.js.map +1 -1
  73. package/package.json +1 -1
  74. package/dist/src/typekit/kits/resolve.d.ts +0 -20
  75. package/dist/src/typekit/kits/resolve.d.ts.map +0 -1
  76. package/dist/src/typekit/kits/resolve.js +0 -8
  77. package/dist/src/typekit/kits/resolve.js.map +0 -1
package/dist/manifest.js CHANGED
@@ -1,4 +1,4 @@
1
1
  export default {
2
- "version": "1.0.0-rc.2-dev.19",
3
- "commit": "06c33a537b4a49a13411e2099daa647f5f0e6b85"
2
+ "version": "1.0.0-rc.2-dev.20",
3
+ "commit": "1c6fda8e77d1b4c48c61a5658782f650907a1193"
4
4
  };
@@ -3,7 +3,7 @@ import { Realm } from "../experimental/realm.js";
3
3
  import { type Typekit } from "./define-kit.js";
4
4
  export { createDiagnosable, Diagnosable } from "./create-diagnosable.js";
5
5
  export { defineKit, type Typekit } from "./define-kit.js";
6
- export { ArrayKit, BuiltinKit, EntityKit, EnumKit, EnumMemberKit, IntrinsicKit, LiteralKit, ModelKit, ModelPropertyKit, OperationKit, RecordKit, ResolveKit, ScalarKit, TupleKit, TypeTypekit, UnionKit, UnionVariantKit, ValueKit, } from "./kits/index.js";
6
+ export { ArrayKit, BuiltinKit, EntityKit, EnumKit, EnumMemberDescriptor, EnumMemberKit, IntrinsicKit, LiteralKit, ModelDescriptor, ModelKit, ModelPropertyDescriptor, ModelPropertyKit, OperationDescriptor, OperationKit, RecordKit, ScalarKit, TupleKit, TypeTypekit, UnionDescriptor, UnionKit, UnionVariantDescriptor, UnionVariantKit, ValueKit, } from "./kits/index.js";
7
7
  declare function _$(realm: Realm): Typekit;
8
8
  declare function _$(program: Program): Typekit;
9
9
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/typekit/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACjD,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,EAAE,SAAS,EAAE,KAAK,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EACL,QAAQ,EACR,UAAU,EACV,SAAS,EACT,OAAO,EACP,aAAa,EACb,YAAY,EACZ,UAAU,EACV,QAAQ,EACR,gBAAgB,EAChB,YAAY,EACZ,SAAS,EACT,UAAU,EACV,SAAS,EACT,QAAQ,EACR,WAAW,EACX,QAAQ,EACR,eAAe,EACf,QAAQ,GACT,MAAM,iBAAiB,CAAC;AAQzB,iBAAS,EAAE,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC;AACnC,iBAAS,EAAE,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC;AAiBvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,eAAO,MAAM,CAAC,WAAK,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/typekit/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACjD,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,EAAE,SAAS,EAAE,KAAK,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EACL,QAAQ,EACR,UAAU,EACV,SAAS,EACT,OAAO,EACP,oBAAoB,EACpB,aAAa,EACb,YAAY,EACZ,UAAU,EACV,eAAe,EACf,QAAQ,EACR,uBAAuB,EACvB,gBAAgB,EAChB,mBAAmB,EACnB,YAAY,EACZ,SAAS,EACT,SAAS,EACT,QAAQ,EACR,WAAW,EACX,eAAe,EACf,QAAQ,EACR,sBAAsB,EACtB,eAAe,EACf,QAAQ,GACT,MAAM,iBAAiB,CAAC;AAQzB,iBAAS,EAAE,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC;AACnC,iBAAS,EAAE,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC;AAiBvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,eAAO,MAAM,CAAC,WAAK,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/typekit/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAGjD,OAAO,EAAE,iBAAiB,EAAe,MAAM,yBAAyB,CAAC;AACzE,OAAO,EAAE,SAAS,EAAgB,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAgBL,QAAQ,GAGT,MAAM,iBAAiB,CAAC;AAEzB,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;AAQ3E,SAAS,EAAE,CAAC,GAAoB;IAC9B,IAAI,KAAY,CAAC;IACjB,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,aAAa,CAAC,EAAE,CAAC;QACtC,mBAAmB;QACnB,KAAK,GAAI,GAAyB,CAAC,aAAa,CAAC,KAAK,IAAI,KAAK,CAC7D,GAAc,EACd,uBAAuB,CACxB,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,iBAAiB;QACjB,KAAK,GAAG,GAAY,CAAC;IACvB,CAAC;IAED,OAAO,KAAK,CAAC,OAAO,CAAC;AACvB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/typekit/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAGjD,OAAO,EAAE,iBAAiB,EAAe,MAAM,yBAAyB,CAAC;AACzE,OAAO,EAAE,SAAS,EAAgB,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAoBL,QAAQ,GAIT,MAAM,iBAAiB,CAAC;AAEzB,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;AAQ3E,SAAS,EAAE,CAAC,GAAoB;IAC9B,IAAI,KAAY,CAAC;IACjB,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,aAAa,CAAC,EAAE,CAAC;QACtC,mBAAmB;QACnB,KAAK,GAAI,GAAyB,CAAC,aAAa,CAAC,KAAK,IAAI,KAAK,CAC7D,GAAc,EACd,uBAAuB,CACxB,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,iBAAiB;QACjB,KAAK,GAAG,GAAY,CAAC;IACvB,CAAC;IAED,OAAO,KAAK,CAAC,OAAO,CAAC;AACvB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC"}
@@ -1,9 +1,9 @@
1
- import { Model, Type } from "../../core/types.js";
1
+ import { ArrayModelType, Entity, Model, Type } from "../../core/types.js";
2
2
  export interface ArrayKit {
3
3
  /**
4
4
  * Check if a type is an array.
5
5
  */
6
- is(type: Type): boolean;
6
+ is(type: Entity): type is ArrayModelType;
7
7
  /**
8
8
  * Get the element type of an array.
9
9
  */
@@ -11,7 +11,7 @@ export interface ArrayKit {
11
11
  /**
12
12
  * Create an array type.
13
13
  */
14
- create(elementType: Type): Model;
14
+ create(elementType: Type): ArrayModelType;
15
15
  }
16
16
  interface TypekitExtension {
17
17
  array: ArrayKit;
@@ -1 +1 @@
1
- {"version":3,"file":"array.d.ts","sourceRoot":"","sources":["../../../../src/typekit/kits/array.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAGlD,MAAM,WAAW,QAAQ;IACvB;;OAEG;IACH,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC;IACxB;;OAEG;IACH,cAAc,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI,CAAC;IAClC;;OAEG;IACH,MAAM,CAAC,WAAW,EAAE,IAAI,GAAG,KAAK,CAAC;CAClC;AAED,UAAU,gBAAgB;IACxB,KAAK,EAAE,QAAQ,CAAC;CACjB;AAED,OAAO,QAAQ,kBAAkB,CAAC;IAChC,UAAU,OAAQ,SAAQ,gBAAgB;KAAG;CAC9C"}
1
+ {"version":3,"file":"array.d.ts","sourceRoot":"","sources":["../../../../src/typekit/kits/array.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAG1E,MAAM,WAAW,QAAQ;IACvB;;OAEG;IACH,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,IAAI,cAAc,CAAC;IACzC;;OAEG;IACH,cAAc,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI,CAAC;IAClC;;OAEG;IACH,MAAM,CAAC,WAAW,EAAE,IAAI,GAAG,cAAc,CAAC;CAC3C;AAED,UAAU,gBAAgB;IACxB,KAAK,EAAE,QAAQ,CAAC;CACjB;AAED,OAAO,QAAQ,kBAAkB,CAAC;IAChC,UAAU,OAAQ,SAAQ,gBAAgB;KAAG;CAC9C"}
@@ -3,7 +3,10 @@ import { defineKit } from "../define-kit.js";
3
3
  defineKit({
4
4
  array: {
5
5
  is(type) {
6
- return (type.kind === "Model" && isArrayModelType(this.program, type) && type.properties.size === 0);
6
+ return (type.entityKind === "Type" &&
7
+ type.kind === "Model" &&
8
+ isArrayModelType(this.program, type) &&
9
+ type.properties.size === 0);
7
10
  },
8
11
  getElementType(type) {
9
12
  if (!this.array.is(type)) {
@@ -1 +1 @@
1
- {"version":3,"file":"array.js","sourceRoot":"","sources":["../../../../src/typekit/kits/array.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE5D,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAyB7C,SAAS,CAAmB;IAC1B,KAAK,EAAE;QACL,EAAE,CAAC,IAAI;YACL,OAAO,CACL,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,gBAAgB,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,CAC5F,CAAC;QACJ,CAAC;QACD,cAAc,CAAC,IAAI;YACjB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzB,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;YAC3C,CAAC;YACD,OAAO,IAAI,CAAC,OAAQ,CAAC,KAAK,CAAC;QAC7B,CAAC;QACD,MAAM,CAAC,WAAW;YAChB,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;gBACvB,IAAI,EAAE,OAAO;gBACb,UAAU,EAAE,EAAE;gBACd,OAAO,EAAE;oBACP,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO;oBACzB,KAAK,EAAE,WAAW;iBACnB;aACF,CAAC,CAAC;QACL,CAAC;KACF;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"array.js","sourceRoot":"","sources":["../../../../src/typekit/kits/array.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE5D,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAyB7C,SAAS,CAAmB;IAC1B,KAAK,EAAE;QACL,EAAE,CAAC,IAAI;YACL,OAAO,CACL,IAAI,CAAC,UAAU,KAAK,MAAM;gBAC1B,IAAI,CAAC,IAAI,KAAK,OAAO;gBACrB,gBAAgB,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC;gBACpC,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,CAC3B,CAAC;QACJ,CAAC;QACD,cAAc,CAAC,IAAI;YACjB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzB,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;YAC3C,CAAC;YACD,OAAO,IAAI,CAAC,OAAQ,CAAC,KAAK,CAAC;QAC7B,CAAC;QACD,MAAM,CAAC,WAAW;YAChB,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;gBACvB,IAAI,EAAE,OAAO;gBACb,UAAU,EAAE,EAAE;gBACd,OAAO,EAAE;oBACP,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO;oBACzB,KAAK,EAAE,WAAW;iBACnB;aACF,CAAmB,CAAC;QACvB,CAAC;KACF;CACF,CAAC,CAAC"}
@@ -8,9 +8,15 @@ export interface EntityKit {
8
8
  * @param diagnosticTarget Target for the diagnostic
9
9
  */
10
10
  isAssignableTo: Diagnosable<(source: Entity, target: Entity, diagnosticTarget?: Entity | Node) => boolean>;
11
+ /**
12
+ * Resolve a type reference string to a TypeSpec type.
13
+ * By default any diagnostics are ignored.
14
+ *
15
+ * Call `resolve.withDiagnostics("Type")` to get a tuple containing the resolved type and any diagnostics.
16
+ */
17
+ resolve: Diagnosable<(reference: string) => Entity | undefined>;
11
18
  }
12
19
  interface TypekitExtension {
13
- /** @experimental */
14
20
  entity: EntityKit;
15
21
  }
16
22
  declare module "../define-kit.js" {
@@ -1 +1 @@
1
- {"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../../../src/typekit/kits/entity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAqB,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAG1E,MAAM,WAAW,SAAS;IACxB;;;;;OAKG;IACH,cAAc,EAAE,WAAW,CACzB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,KAAK,OAAO,CAC9E,CAAC;CACH;AAED,UAAU,gBAAgB;IACxB,oBAAoB;IACpB,MAAM,EAAE,SAAS,CAAC;CACnB;AAED,OAAO,QAAQ,kBAAkB,CAAC;IAChC,UAAU,OAAQ,SAAQ,gBAAgB;KAAG;CAC9C"}
1
+ {"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../../../src/typekit/kits/entity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAqB,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAG1E,MAAM,WAAW,SAAS;IACxB;;;;;OAKG;IACH,cAAc,EAAE,WAAW,CACzB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,KAAK,OAAO,CAC9E,CAAC;IAEF;;;;;OAKG;IACH,OAAO,EAAE,WAAW,CAAC,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC,CAAC;CACjE;AAED,UAAU,gBAAgB;IACxB,MAAM,EAAE,SAAS,CAAC;CACnB;AAED,OAAO,QAAQ,kBAAkB,CAAC;IAChC,UAAU,OAAQ,SAAQ,gBAAgB;KAAG;CAC9C"}
@@ -5,6 +5,9 @@ defineKit({
5
5
  isAssignableTo: createDiagnosable(function (source, target, diagnosticTarget) {
6
6
  return this.program.checker.isTypeAssignableTo(source, target, diagnosticTarget ?? source);
7
7
  }),
8
+ resolve: createDiagnosable(function (reference) {
9
+ return this.program.resolveTypeOrValueReference(reference);
10
+ }),
8
11
  },
9
12
  });
10
13
  //# sourceMappingURL=entity.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"entity.js","sourceRoot":"","sources":["../../../../src/typekit/kits/entity.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAe,MAAM,0BAA0B,CAAC;AAC1E,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAuB7C,SAAS,CAAmB;IAC1B,MAAM,EAAE;QACN,cAAc,EAAE,iBAAiB,CAAC,UAAU,MAAM,EAAE,MAAM,EAAE,gBAAgB;YAC1E,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,gBAAgB,IAAI,MAAM,CAAC,CAAC;QAC7F,CAAC,CAAC;KACH;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"entity.js","sourceRoot":"","sources":["../../../../src/typekit/kits/entity.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAe,MAAM,0BAA0B,CAAC;AAC1E,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AA8B7C,SAAS,CAAmB;IAC1B,MAAM,EAAE;QACN,cAAc,EAAE,iBAAiB,CAAC,UAAU,MAAM,EAAE,MAAM,EAAE,gBAAgB;YAC1E,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,gBAAgB,IAAI,MAAM,CAAC,CAAC;QAC7F,CAAC,CAAC;QACF,OAAO,EAAE,iBAAiB,CAAC,UAAU,SAAS;YAC5C,OAAO,IAAI,CAAC,OAAO,CAAC,2BAA2B,CAAC,SAAS,CAAC,CAAC;QAC7D,CAAC,CAAC;KACH;CACF,CAAC,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { Enum, EnumMember, Type } from "../../core/types.js";
1
+ import type { Entity, Enum, EnumMember } from "../../core/types.js";
2
2
  import { DecoratorArgs } from "../utils.js";
3
3
  /**
4
4
  * A descriptor for creating an enum member.
@@ -36,10 +36,9 @@ export interface EnumMemberKit {
36
36
  *
37
37
  * @param type the type to check.
38
38
  */
39
- is(type: Type): type is EnumMember;
39
+ is(type: Entity): type is EnumMember;
40
40
  }
41
41
  interface TypekitExtension {
42
- /** @experimental */
43
42
  enumMember: EnumMemberKit;
44
43
  }
45
44
  declare module "../define-kit.js" {
@@ -1 +1 @@
1
- {"version":3,"file":"enum-member.d.ts","sourceRoot":"","sources":["../../../../src/typekit/kits/enum-member.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAGlE,OAAO,EAAwB,aAAa,EAAE,MAAM,aAAa,CAAC;AAElE;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,UAAU,CAAC,EAAE,aAAa,EAAE,CAAC;IAE7B;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAExB;;;OAGG;IACH,IAAI,CAAC,EAAE,IAAI,CAAC;CACb;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,MAAM,CAAC,IAAI,EAAE,oBAAoB,GAAG,UAAU,CAAC;IAE/C;;;;OAIG;IACH,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,IAAI,UAAU,CAAC;CACpC;AAED,UAAU,gBAAgB;IACxB,oBAAoB;IACpB,UAAU,EAAE,aAAa,CAAC;CAC3B;AAED,OAAO,QAAQ,kBAAkB,CAAC;IAChC,UAAU,OAAQ,SAAQ,gBAAgB;KAAG;CAC9C"}
1
+ {"version":3,"file":"enum-member.d.ts","sourceRoot":"","sources":["../../../../src/typekit/kits/enum-member.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAGpE,OAAO,EAAwB,aAAa,EAAE,MAAM,aAAa,CAAC;AAElE;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,UAAU,CAAC,EAAE,aAAa,EAAE,CAAC;IAE7B;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAExB;;;OAGG;IACH,IAAI,CAAC,EAAE,IAAI,CAAC;CACb;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,MAAM,CAAC,IAAI,EAAE,oBAAoB,GAAG,UAAU,CAAC;IAE/C;;;;OAIG;IACH,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,IAAI,UAAU,CAAC;CACtC;AAED,UAAU,gBAAgB;IACxB,UAAU,EAAE,aAAa,CAAC;CAC3B;AAED,OAAO,QAAQ,kBAAkB,CAAC;IAChC,UAAU,OAAQ,SAAQ,gBAAgB;KAAG;CAC9C"}
@@ -14,7 +14,7 @@ defineKit({
14
14
  return member;
15
15
  },
16
16
  is(type) {
17
- return type.kind === "EnumMember";
17
+ return type.entityKind === "Type" && type.kind === "EnumMember";
18
18
  },
19
19
  },
20
20
  });
@@ -1 +1 @@
1
- {"version":3,"file":"enum-member.js","sourceRoot":"","sources":["../../../../src/typekit/kits/enum-member.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,oBAAoB,EAAiB,MAAM,aAAa,CAAC;AAsDlE,SAAS,CAAmB;IAC1B,UAAU,EAAE;QACV,MAAM,CAAC,IAAI;YACT,MAAM,MAAM,GAAe,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC;gBACzD,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,UAAU,EAAE,oBAAoB,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC;gBACvD,IAAI,EAAE,IAAI,CAAC,IAAW,EAAE,iDAAiD;aAC1E,CAAC,CAAC;YACH,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YACxC,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,EAAE,CAAC,IAAI;YACL,OAAO,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC;QACpC,CAAC;KACF;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"enum-member.js","sourceRoot":"","sources":["../../../../src/typekit/kits/enum-member.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,oBAAoB,EAAiB,MAAM,aAAa,CAAC;AAqDlE,SAAS,CAAmB;IAC1B,UAAU,EAAE;QACV,MAAM,CAAC,IAAI;YACT,MAAM,MAAM,GAAe,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC;gBACzD,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,UAAU,EAAE,oBAAoB,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC;gBACvD,IAAI,EAAE,IAAI,CAAC,IAAW,EAAE,iDAAiD;aAC1E,CAAC,CAAC;YACH,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YACxC,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,EAAE,CAAC,IAAI;YACL,OAAO,IAAI,CAAC,UAAU,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC;QAClE,CAAC;KACF;CACF,CAAC,CAAC"}
@@ -1,8 +1,7 @@
1
- import type { Enum, EnumMember, Type, Union } from "../../core/types.js";
1
+ import type { Entity, Enum, EnumMember, Union } from "../../core/types.js";
2
2
  import { DecoratorArgs } from "../utils.js";
3
3
  /**
4
4
  * Describes an enum type for creation.
5
- * @experimental
6
5
  */
7
6
  interface EnumDescriptor {
8
7
  /**
@@ -21,7 +20,6 @@ interface EnumDescriptor {
21
20
  }
22
21
  /**
23
22
  * A kit for working with enum types.
24
- * @experimental
25
23
  */
26
24
  export interface EnumKit {
27
25
  /**
@@ -49,10 +47,9 @@ export interface EnumKit {
49
47
  *
50
48
  * @param type the type to check.
51
49
  */
52
- is(type: Type): type is Enum;
50
+ is(type: Entity): type is Enum;
53
51
  }
54
52
  interface TypekitExtension {
55
- /** @experimental */
56
53
  enum: EnumKit;
57
54
  }
58
55
  declare module "../define-kit.js" {
@@ -1 +1 @@
1
- {"version":3,"file":"enum.d.ts","sourceRoot":"","sources":["../../../../src/typekit/kits/enum.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAIzE,OAAO,EAAwB,aAAa,EAAE,MAAM,aAAa,CAAC;AAIlE;;;GAGG;AACH,UAAU,cAAc;IACtB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,UAAU,CAAC,EAAE,aAAa,EAAE,CAAC;IAE7B;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,GAAG,UAAU,EAAE,CAAC;CAC1D;AAED;;;GAGG;AACH,MAAM,WAAW,OAAO;IACtB;;;OAGG;IACH,MAAM,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,CAAC;IAEnC;;;;;;;;;;;;;OAaG;IACH,eAAe,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI,CAAC;IAEnC;;;;OAIG;IACH,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,IAAI,IAAI,CAAC;CAC9B;AAED,UAAU,gBAAgB;IACxB,oBAAoB;IACpB,IAAI,EAAE,OAAO,CAAC;CACf;AAED,OAAO,QAAQ,kBAAkB,CAAC;IAChC,UAAU,OAAQ,SAAQ,gBAAgB;KAAG;CAC9C"}
1
+ {"version":3,"file":"enum.d.ts","sourceRoot":"","sources":["../../../../src/typekit/kits/enum.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAI3E,OAAO,EAAwB,aAAa,EAAE,MAAM,aAAa,CAAC;AAIlE;;GAEG;AACH,UAAU,cAAc;IACtB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,UAAU,CAAC,EAAE,aAAa,EAAE,CAAC;IAE7B;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,GAAG,UAAU,EAAE,CAAC;CAC1D;AAED;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB;;;OAGG;IACH,MAAM,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,CAAC;IAEnC;;;;;;;;;;;;;OAaG;IACH,eAAe,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI,CAAC;IAEnC;;;;OAIG;IACH,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,IAAI,IAAI,CAAC;CAChC;AAED,UAAU,gBAAgB;IACxB,IAAI,EAAE,OAAO,CAAC;CACf;AAED,OAAO,QAAQ,kBAAkB,CAAC;IAChC,UAAU,OAAQ,SAAQ,gBAAgB;KAAG;CAC9C"}
@@ -26,7 +26,7 @@ defineKit({
26
26
  return en;
27
27
  },
28
28
  is(type) {
29
- return type.kind === "Enum";
29
+ return type.entityKind === "Type" && type.kind === "Enum";
30
30
  },
31
31
  createFromUnion(type) {
32
32
  if (!type.name) {
@@ -1 +1 @@
1
- {"version":3,"file":"enum.js","sourceRoot":"","sources":["../../../../src/typekit/kits/enum.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"enum.js","sourceRoot":"","sources":["../../../../src/typekit/kits/enum.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,6 @@ export * from "./model-property.js";
9
9
  export * from "./model.js";
10
10
  export * from "./operation.js";
11
11
  export * from "./record.js";
12
- export * from "./resolve.js";
13
12
  export * from "./scalar.js";
14
13
  export * from "./tuple.js";
15
14
  export * from "./type.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/typekit/kits/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/typekit/kits/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC"}
@@ -9,7 +9,6 @@ export * from "./model-property.js";
9
9
  export * from "./model.js";
10
10
  export * from "./operation.js";
11
11
  export * from "./record.js";
12
- export * from "./resolve.js";
13
12
  export * from "./scalar.js";
14
13
  export * from "./tuple.js";
15
14
  export * from "./type.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/typekit/kits/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/typekit/kits/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { ErrorType, NeverType, NullType, UnknownType, VoidType } from "../../core/types.js";
1
+ import type { Entity, ErrorType, IntrinsicType, NeverType, NullType, UnknownType, VoidType } from "../../core/types.js";
2
2
  export interface IntrinsicKit {
3
3
  /** The intrinsic 'any' type. */
4
4
  get any(): UnknownType;
@@ -10,6 +10,11 @@ export interface IntrinsicKit {
10
10
  get null(): NullType;
11
11
  /** The intrinsic 'void' type. */
12
12
  get void(): VoidType;
13
+ /**
14
+ * Check if `entity` is an intrinsic type.
15
+ * @param entity The `entity` to check.
16
+ */
17
+ is(entity: Entity): entity is IntrinsicType;
13
18
  }
14
19
  interface TypekitExtension {
15
20
  intrinsic: IntrinsicKit;
@@ -1 +1 @@
1
- {"version":3,"file":"intrinsic.d.ts","sourceRoot":"","sources":["../../../../src/typekit/kits/intrinsic.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAGjG,MAAM,WAAW,YAAY;IAC3B,gCAAgC;IAChC,IAAI,GAAG,IAAI,WAAW,CAAC;IACvB,kCAAkC;IAClC,IAAI,KAAK,IAAI,SAAS,CAAC;IACvB,kCAAkC;IAClC,IAAI,KAAK,IAAI,SAAS,CAAC;IACvB,iCAAiC;IACjC,IAAI,IAAI,IAAI,QAAQ,CAAC;IACrB,iCAAiC;IACjC,IAAI,IAAI,IAAI,QAAQ,CAAC;CACtB;AAED,UAAU,gBAAgB;IACxB,SAAS,EAAE,YAAY,CAAC;CACzB;AAED,OAAO,QAAQ,kBAAkB,CAAC;IAChC,UAAU,OAAQ,SAAQ,gBAAgB;KAAG;CAC9C"}
1
+ {"version":3,"file":"intrinsic.d.ts","sourceRoot":"","sources":["../../../../src/typekit/kits/intrinsic.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EACN,SAAS,EACT,aAAa,EACb,SAAS,EACT,QAAQ,EACR,WAAW,EACX,QAAQ,EACT,MAAM,qBAAqB,CAAC;AAG7B,MAAM,WAAW,YAAY;IAC3B,gCAAgC;IAChC,IAAI,GAAG,IAAI,WAAW,CAAC;IACvB,kCAAkC;IAClC,IAAI,KAAK,IAAI,SAAS,CAAC;IACvB,kCAAkC;IAClC,IAAI,KAAK,IAAI,SAAS,CAAC;IACvB,iCAAiC;IACjC,IAAI,IAAI,IAAI,QAAQ,CAAC;IACrB,iCAAiC;IACjC,IAAI,IAAI,IAAI,QAAQ,CAAC;IACrB;;;OAGG;IACH,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,IAAI,aAAa,CAAC;CAC7C;AAED,UAAU,gBAAgB;IACxB,SAAS,EAAE,YAAY,CAAC;CACzB;AAED,OAAO,QAAQ,kBAAkB,CAAC;IAChC,UAAU,OAAQ,SAAQ,gBAAgB;KAAG;CAC9C"}
@@ -16,6 +16,9 @@ defineKit({
16
16
  get void() {
17
17
  return this.program.checker.voidType;
18
18
  },
19
+ is(entity) {
20
+ return entity.entityKind === "Type" && entity.kind === "Intrinsic";
21
+ },
19
22
  },
20
23
  });
21
24
  //# sourceMappingURL=intrinsic.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"intrinsic.js","sourceRoot":"","sources":["../../../../src/typekit/kits/intrinsic.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAuB7C,SAAS,CAAmB;IAC1B,SAAS,EAAE;QACT,IAAI,GAAG;YACL,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC;QACtC,CAAC;QACD,IAAI,KAAK;YACP,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC;QACxC,CAAC;QACD,IAAI,KAAK;YACP,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC;QACxC,CAAC;QACD,IAAI,IAAI;YACN,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC;QACvC,CAAC;QACD,IAAI,IAAI;YACN,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC;QACvC,CAAC;KACF;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"intrinsic.js","sourceRoot":"","sources":["../../../../src/typekit/kits/intrinsic.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AA4B7C,SAAS,CAAmB;IAC1B,SAAS,EAAE;QACT,IAAI,GAAG;YACL,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC;QACtC,CAAC;QACD,IAAI,KAAK;YACP,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC;QACxC,CAAC;QACD,IAAI,KAAK;YACP,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC;QACxC,CAAC;QACD,IAAI,IAAI;YACN,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC;QACvC,CAAC;QACD,IAAI,IAAI;YACN,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC;QACvC,CAAC;QACD,EAAE,CAAC,MAAM;YACP,OAAO,MAAM,CAAC,UAAU,KAAK,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW,CAAC;QACrE,CAAC;KACF;CACF,CAAC,CAAC"}
@@ -1,5 +1,4 @@
1
- import type { BooleanLiteral, NumericLiteral, StringLiteral, Type } from "../../core/types.js";
2
- /** @experimental */
1
+ import type { BooleanLiteral, Entity, NumericLiteral, StringLiteral } from "../../core/types.js";
3
2
  export interface LiteralKit {
4
3
  /**
5
4
  * Create a literal type from a JavaScript value.
@@ -30,25 +29,25 @@ export interface LiteralKit {
30
29
  *
31
30
  * @param type The type to check.
32
31
  */
33
- is(type: Type): type is StringLiteral | NumericLiteral | BooleanLiteral;
32
+ is(type: Entity): type is StringLiteral | NumericLiteral | BooleanLiteral;
34
33
  /**
35
34
  * Check if `type` is a string literal type.
36
35
  *
37
36
  * @param type The type to check.
38
37
  */
39
- isString(type: Type): type is StringLiteral;
38
+ isString(type: Entity): type is StringLiteral;
40
39
  /**
41
40
  * Check if `type` is a numeric literal type.
42
41
  *
43
42
  * @param type The type to check.
44
43
  */
45
- isNumeric(type: Type): type is NumericLiteral;
44
+ isNumeric(type: Entity): type is NumericLiteral;
46
45
  /**
47
46
  * Check if `type` is a boolean literal type.
48
47
  *
49
48
  * @param type The type to check.
50
49
  */
51
- isBoolean(type: Type): type is BooleanLiteral;
50
+ isBoolean(type: Entity): type is BooleanLiteral;
52
51
  }
53
52
  interface TypekitExtension {
54
53
  /**
@@ -56,8 +55,6 @@ interface TypekitExtension {
56
55
  *
57
56
  * Literal types are types that represent a single value, such as a string,
58
57
  * number, or boolean.
59
- *
60
- * @experimental
61
58
  */
62
59
  literal: LiteralKit;
63
60
  }
@@ -1 +1 @@
1
- {"version":3,"file":"literal.d.ts","sourceRoot":"","sources":["../../../../src/typekit/kits/literal.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAG/F,oBAAoB;AACpB,MAAM,WAAW,UAAU;IACzB;;;;OAIG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,aAAa,GAAG,cAAc,GAAG,cAAc,CAAC;IAE1F;;;;OAIG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,CAAC;IAE3C;;;;OAIG;IACH,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc,CAAC;IAE7C;;;;OAIG;IACH,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,cAAc,CAAC;IAE9C;;;;OAIG;IACH,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,IAAI,aAAa,GAAG,cAAc,GAAG,cAAc,CAAC;IAExE;;;;OAIG;IACH,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,IAAI,aAAa,CAAC;IAE5C;;;;OAIG;IACH,SAAS,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,IAAI,cAAc,CAAC;IAE9C;;;;OAIG;IACH,SAAS,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,IAAI,cAAc,CAAC;CAC/C;AAED,UAAU,gBAAgB;IACxB;;;;;;;OAOG;IACH,OAAO,EAAE,UAAU,CAAC;CACrB;AAED,OAAO,QAAQ,kBAAkB,CAAC;IAChC,UAAU,OAAQ,SAAQ,gBAAgB;KAAG;CAC9C"}
1
+ {"version":3,"file":"literal.d.ts","sourceRoot":"","sources":["../../../../src/typekit/kits/literal.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGjG,MAAM,WAAW,UAAU;IACzB;;;;OAIG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,aAAa,GAAG,cAAc,GAAG,cAAc,CAAC;IAE1F;;;;OAIG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,CAAC;IAE3C;;;;OAIG;IACH,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc,CAAC;IAE7C;;;;OAIG;IACH,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,cAAc,CAAC;IAE9C;;;;OAIG;IACH,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,IAAI,aAAa,GAAG,cAAc,GAAG,cAAc,CAAC;IAE1E;;;;OAIG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,IAAI,aAAa,CAAC;IAE9C;;;;OAIG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,IAAI,cAAc,CAAC;IAEhD;;;;OAIG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,IAAI,cAAc,CAAC;CACjD;AAED,UAAU,gBAAgB;IACxB;;;;;OAKG;IACH,OAAO,EAAE,UAAU,CAAC;CACrB;AAED,OAAO,QAAQ,kBAAkB,CAAC;IAChC,UAAU,OAAQ,SAAQ,gBAAgB;KAAG;CAC9C"}
@@ -35,13 +35,13 @@ defineKit({
35
35
  });
36
36
  },
37
37
  isBoolean(type) {
38
- return type.kind === "Boolean";
38
+ return type.entityKind === "Type" && type.kind === "Boolean";
39
39
  },
40
40
  isString(type) {
41
- return type.kind === "String";
41
+ return type.entityKind === "Type" && type.kind === "String";
42
42
  },
43
43
  isNumeric(type) {
44
- return type.kind === "Number";
44
+ return type.entityKind === "Type" && type.kind === "Number";
45
45
  },
46
46
  is(type) {
47
47
  return (this.literal.isBoolean(type) || this.literal.isNumeric(type) || this.literal.isString(type));
@@ -1 +1 @@
1
- {"version":3,"file":"literal.js","sourceRoot":"","sources":["../../../../src/typekit/kits/literal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAEhD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AA6E7C,SAAS,CAAmB;IAC1B,OAAO,EAAE;QACP,MAAM,CAAC,KAAK;YACV,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC9B,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YAC1C,CAAC;iBAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACrC,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAC3C,CAAC;iBAAM,CAAC;gBACN,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;QACD,YAAY,CAAC,KAAK;YAChB,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC;gBACrC,IAAI,EAAE,QAAQ;gBACd,KAAK;aACN,CAAC,CAAC;QACL,CAAC;QAED,aAAa,CAAC,KAAK;YACjB,MAAM,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YAEpC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC;gBACrC,IAAI,EAAE,QAAQ;gBACd,KAAK;gBACL,aAAa;gBACb,YAAY,EAAE,OAAO,CAAC,aAAa,CAAC;aACrC,CAAC,CAAC;QACL,CAAC;QAED,aAAa,CAAC,KAAK;YACjB,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC;gBACrC,IAAI,EAAE,SAAS;gBACf,KAAK;aACN,CAAC,CAAC;QACL,CAAC;QAED,SAAS,CAAC,IAAI;YACZ,OAAO,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC;QACjC,CAAC;QACD,QAAQ,CAAC,IAAI;YACX,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC;QAChC,CAAC;QACD,SAAS,CAAC,IAAI;YACZ,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC;QAChC,CAAC;QACD,EAAE,CAAC,IAAI;YACL,OAAO,CACL,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAC5F,CAAC;QACJ,CAAC;KACF;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"literal.js","sourceRoot":"","sources":["../../../../src/typekit/kits/literal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAEhD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AA0E7C,SAAS,CAAmB;IAC1B,OAAO,EAAE;QACP,MAAM,CAAC,KAAK;YACV,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC9B,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YAC1C,CAAC;iBAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACrC,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAC3C,CAAC;iBAAM,CAAC;gBACN,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;QACD,YAAY,CAAC,KAAK;YAChB,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC;gBACrC,IAAI,EAAE,QAAQ;gBACd,KAAK;aACN,CAAC,CAAC;QACL,CAAC;QAED,aAAa,CAAC,KAAK;YACjB,MAAM,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YAEpC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC;gBACrC,IAAI,EAAE,QAAQ;gBACd,KAAK;gBACL,aAAa;gBACb,YAAY,EAAE,OAAO,CAAC,aAAa,CAAC;aACrC,CAAC,CAAC;QACL,CAAC;QAED,aAAa,CAAC,KAAK;YACjB,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC;gBACrC,IAAI,EAAE,SAAS;gBACf,KAAK;aACN,CAAC,CAAC;QACL,CAAC;QAED,SAAS,CAAC,IAAI;YACZ,OAAO,IAAI,CAAC,UAAU,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC;QAC/D,CAAC;QACD,QAAQ,CAAC,IAAI;YACX,OAAO,IAAI,CAAC,UAAU,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC;QAC9D,CAAC;QACD,SAAS,CAAC,IAAI;YACZ,OAAO,IAAI,CAAC,UAAU,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC;QAC9D,CAAC;QACD,EAAE,CAAC,IAAI;YACL,OAAO,CACL,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAC5F,CAAC;QACJ,CAAC;KACF;CACF,CAAC,CAAC"}
@@ -1,8 +1,7 @@
1
- import type { Enum, EnumMember, ModelProperty, Type, Value } from "../../core/types.js";
1
+ import type { Entity, Enum, EnumMember, ModelProperty, Type, Value } from "../../core/types.js";
2
2
  import { EncodeData } from "../../lib/decorators.js";
3
3
  /**
4
4
  * A descriptor for a model property.
5
- * @experimental
6
5
  */
7
6
  export interface ModelPropertyDescriptor {
8
7
  /**
@@ -29,7 +28,6 @@ export interface ModelPropertyDescriptor {
29
28
  * on the model property or the type of the model property. In such cases,
30
29
  * these operations will return the metadata from the model property if it
31
30
  * exists, or the type of the model property if it exists.
32
- * @experimental
33
31
  */
34
32
  export interface ModelPropertyKit {
35
33
  /**
@@ -42,7 +40,7 @@ export interface ModelPropertyKit {
42
40
  *
43
41
  * @param type The type to check.
44
42
  */
45
- is(type: Type): type is ModelProperty;
43
+ is(type: Entity): type is ModelProperty;
46
44
  /**
47
45
  * Get the encoding of the model property or its type. The property's type
48
46
  * must be a scalar.
@@ -70,7 +68,6 @@ interface TypekitExtension {
70
68
  * on the model property or the type of the model property. In such cases,
71
69
  * these operations will return the metadata from the model property if it
72
70
  * exists, or the type of the model property if it exists.
73
- * @experimental
74
71
  */
75
72
  modelProperty: ModelPropertyKit;
76
73
  }
@@ -1 +1 @@
1
- {"version":3,"file":"model-property.d.ts","sourceRoot":"","sources":["../../../../src/typekit/kits/model-property.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,aAAa,EAAU,IAAI,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAEhG,OAAO,EAAE,UAAU,EAAwB,MAAM,yBAAyB,CAAC;AAG3E;;;GAGG;AACH,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,IAAI,EAAE,IAAI,CAAC;IAEX;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,YAAY,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC;CAClC;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;OAGG;IACH,MAAM,CAAC,IAAI,EAAE,uBAAuB,GAAG,aAAa,CAAC;IACrD;;;;OAIG;IACH,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,IAAI,aAAa,CAAC;IAEtC;;;;;OAKG;IACH,WAAW,CAAC,QAAQ,EAAE,aAAa,GAAG,UAAU,GAAG,SAAS,CAAC;IAE7D;;;;;OAKG;IACH,SAAS,CAAC,QAAQ,EAAE,aAAa,GAAG,MAAM,GAAG,SAAS,CAAC;IAEvD;;OAEG;IACH,qBAAqB,CAAC,QAAQ,EAAE,aAAa,EAAE,eAAe,EAAE,IAAI,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC;CACxF;AAED,UAAU,gBAAgB;IACxB;;;;;;;;OAQG;IACH,aAAa,EAAE,gBAAgB,CAAC;CACjC;AAED,OAAO,QAAQ,kBAAkB,CAAC;IAChC,UAAU,OAAQ,SAAQ,gBAAgB;KAAG;CAC9C"}
1
+ {"version":3,"file":"model-property.d.ts","sourceRoot":"","sources":["../../../../src/typekit/kits/model-property.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EACN,IAAI,EACJ,UAAU,EACV,aAAa,EAEb,IAAI,EACJ,KAAK,EACN,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,UAAU,EAAwB,MAAM,yBAAyB,CAAC;AAG3E;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,IAAI,EAAE,IAAI,CAAC;IAEX;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,YAAY,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC;CAClC;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;OAGG;IACH,MAAM,CAAC,IAAI,EAAE,uBAAuB,GAAG,aAAa,CAAC;IACrD;;;;OAIG;IACH,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,IAAI,aAAa,CAAC;IAExC;;;;;OAKG;IACH,WAAW,CAAC,QAAQ,EAAE,aAAa,GAAG,UAAU,GAAG,SAAS,CAAC;IAE7D;;;;;OAKG;IACH,SAAS,CAAC,QAAQ,EAAE,aAAa,GAAG,MAAM,GAAG,SAAS,CAAC;IAEvD;;OAEG;IACH,qBAAqB,CAAC,QAAQ,EAAE,aAAa,EAAE,eAAe,EAAE,IAAI,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC;CACxF;AAED,UAAU,gBAAgB;IACxB;;;;;;;OAOG;IACH,aAAa,EAAE,gBAAgB,CAAC;CACjC;AAED,OAAO,QAAQ,kBAAkB,CAAC;IAChC,UAAU,OAAQ,SAAQ,gBAAgB;KAAG;CAC9C"}
@@ -4,7 +4,7 @@ import { defineKit } from "../define-kit.js";
4
4
  defineKit({
5
5
  modelProperty: {
6
6
  is(type) {
7
- return type.kind === "ModelProperty";
7
+ return type.entityKind === "Type" && type.kind === "ModelProperty";
8
8
  },
9
9
  getEncoding(type) {
10
10
  return getEncode(this.program, type) ?? getEncode(this.program, type.type);
@@ -1 +1 @@
1
- {"version":3,"file":"model-property.js","sourceRoot":"","sources":["../../../../src/typekit/kits/model-property.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAc,SAAS,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAyF7C,SAAS,CAAmB;IAC1B,aAAa,EAAE;QACb,EAAE,CAAC,IAAI;YACL,OAAO,IAAI,CAAC,IAAI,KAAK,eAAe,CAAC;QACvC,CAAC;QAED,WAAW,CAAC,IAAI;YACd,OAAO,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAc,CAAC,CAAC;QACvF,CAAC;QAED,SAAS,CAAC,IAAI;YACZ,OAAO,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAc,CAAC,CAAC;QACvF,CAAC;QAED,qBAAqB,CAAC,QAAQ,EAAE,eAAe;YAC7C,OAAO,qBAAqB,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC;QACxE,CAAC;QACD,MAAM,CAAC,IAAI;YACT,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC;gBACrC,IAAI,EAAE,eAAe;gBACrB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,KAAK;gBAChC,UAAU,EAAE,EAAE;gBACd,YAAY,EAAE,IAAI,CAAC,YAAY;aAChC,CAAC,CAAC;QACL,CAAC;KACF;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"model-property.js","sourceRoot":"","sources":["../../../../src/typekit/kits/model-property.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAc,SAAS,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAsF7C,SAAS,CAAmB;IAC1B,aAAa,EAAE;QACb,EAAE,CAAC,IAAI;YACL,OAAO,IAAI,CAAC,UAAU,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,eAAe,CAAC;QACrE,CAAC;QAED,WAAW,CAAC,IAAI;YACd,OAAO,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAc,CAAC,CAAC;QACvF,CAAC;QAED,SAAS,CAAC,IAAI;YACZ,OAAO,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAc,CAAC,CAAC;QACvF,CAAC;QAED,qBAAqB,CAAC,QAAQ,EAAE,eAAe;YAC7C,OAAO,qBAAqB,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC;QACxE,CAAC;QACD,MAAM,CAAC,IAAI;YACT,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC;gBACrC,IAAI,EAAE,eAAe;gBACrB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,KAAK;gBAChC,UAAU,EAAE,EAAE;gBACd,YAAY,EAAE,IAAI,CAAC,YAAY;aAChC,CAAC,CAAC;QACL,CAAC;KACF;CACF,CAAC,CAAC"}
@@ -1,10 +1,9 @@
1
1
  import { DiscriminatedUnionLegacy } from "../../core/helpers/discriminator-utils.js";
2
- import type { Model, ModelIndexer, ModelProperty, RekeyableMap, SourceModel, Type } from "../../core/types.js";
2
+ import type { Entity, Model, ModelIndexer, ModelProperty, RekeyableMap, SourceModel } from "../../core/types.js";
3
3
  import { Diagnosable } from "../create-diagnosable.js";
4
4
  import { DecoratorArgs } from "../utils.js";
5
5
  /**
6
6
  * A descriptor for creating a model.
7
- * @experimental
8
7
  */
9
8
  export interface ModelDescriptor {
10
9
  /**
@@ -35,7 +34,6 @@ export interface ModelDescriptor {
35
34
  }
36
35
  /**
37
36
  * Utilities for working with models.
38
- * @experimental
39
37
  */
40
38
  export interface ModelKit {
41
39
  /**
@@ -49,7 +47,7 @@ export interface ModelKit {
49
47
  *
50
48
  * @param type The type to check.
51
49
  */
52
- is(type: Type): type is Model;
50
+ is(type: Entity): type is Model;
53
51
  /**
54
52
  * Check this is an anonyous model. Specifically, this checks if the
55
53
  * model has a name.
@@ -108,7 +106,6 @@ export interface ModelKit {
108
106
  interface TypekitExtension {
109
107
  /**
110
108
  * Utilities for working with models.
111
- * @experimental
112
109
  */
113
110
  model: ModelKit;
114
111
  }
@@ -1 +1 @@
1
- {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../../src/typekit/kits/model.ts"],"names":[],"mappings":"AACA,OAAO,EACL,wBAAwB,EAEzB,MAAM,2CAA2C,CAAC;AAEnD,OAAO,KAAK,EACV,KAAK,EACL,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,WAAW,EACX,IAAI,EACL,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAqB,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAE1E,OAAO,EAAiC,aAAa,EAAE,MAAM,aAAa,CAAC;AAE3E;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,UAAU,CAAC,EAAE,aAAa,EAAE,CAAC;IAE7B;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAE1C;;OAEG;IACH,aAAa,CAAC,EAAE,KAAK,EAAE,CAAC;IAExB;;OAEG;IACH,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;IAC7B;;OAEG;IACH,OAAO,CAAC,EAAE,YAAY,CAAC;CACxB;AAED;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACvB;;;;OAIG;IACH,MAAM,CAAC,IAAI,EAAE,eAAe,GAAG,KAAK,CAAC;IAErC;;;;OAIG;IACH,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,IAAI,KAAK,CAAC;IAE9B;;;;;OAKG;IACH,WAAW,CAAC,IAAI,EAAE,KAAK,GAAG,OAAO,CAAC;IAElC;;;;;;;;;;;;;;;OAeG;IACH,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,KAAK,OAAO,GAAG,KAAK,CAAC;IAEtF;;;;;OAKG;IACH,YAAY,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,KAAK,GAAG,SAAS,CAAC;IAClD;;;OAGG;IACH,aAAa,CACX,KAAK,EAAE,KAAK,EACZ,OAAO,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,OAAO,CAAA;KAAE,GACtC,YAAY,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACvC;;;;;;;;;OASG;IACH,6BAA6B,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,GAAG,SAAS,CAAC;IAC/D;;;OAGG;IACH,qBAAqB,EAAE,WAAW,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,wBAAwB,GAAG,SAAS,CAAC,CAAC;CAC5F;AAED,UAAU,gBAAgB;IACxB;;;OAGG;IACH,KAAK,EAAE,QAAQ,CAAC;CACjB;AAED,OAAO,QAAQ,kBAAkB,CAAC;IAChC,UAAU,OAAQ,SAAQ,gBAAgB;KAAG;CAC9C"}
1
+ {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../../src/typekit/kits/model.ts"],"names":[],"mappings":"AACA,OAAO,EACL,wBAAwB,EAEzB,MAAM,2CAA2C,CAAC;AAEnD,OAAO,KAAK,EACV,MAAM,EACN,KAAK,EACL,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,WAAW,EACZ,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAqB,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAE1E,OAAO,EAAiC,aAAa,EAAE,MAAM,aAAa,CAAC;AAE3E;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,UAAU,CAAC,EAAE,aAAa,EAAE,CAAC;IAE7B;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAE1C;;OAEG;IACH,aAAa,CAAC,EAAE,KAAK,EAAE,CAAC;IAExB;;OAEG;IACH,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;IAC7B;;OAEG;IACH,OAAO,CAAC,EAAE,YAAY,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB;;;;OAIG;IACH,MAAM,CAAC,IAAI,EAAE,eAAe,GAAG,KAAK,CAAC;IAErC;;;;OAIG;IACH,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,IAAI,KAAK,CAAC;IAEhC;;;;;OAKG;IACH,WAAW,CAAC,IAAI,EAAE,KAAK,GAAG,OAAO,CAAC;IAElC;;;;;;;;;;;;;;;OAeG;IACH,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,KAAK,OAAO,GAAG,KAAK,CAAC;IAEtF;;;;;OAKG;IACH,YAAY,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,KAAK,GAAG,SAAS,CAAC;IAClD;;;OAGG;IACH,aAAa,CACX,KAAK,EAAE,KAAK,EACZ,OAAO,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,OAAO,CAAA;KAAE,GACtC,YAAY,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACvC;;;;;;;;;OASG;IACH,6BAA6B,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,GAAG,SAAS,CAAC;IAC/D;;;OAGG;IACH,qBAAqB,EAAE,WAAW,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,wBAAwB,GAAG,SAAS,CAAC,CAAC;CAC5F;AAED,UAAU,gBAAgB;IACxB;;OAEG;IACH,KAAK,EAAE,QAAQ,CAAC;CACjB;AAED,OAAO,QAAQ,kBAAkB,CAAC;IAChC,UAAU,OAAQ,SAAQ,gBAAgB;KAAG;CAC9C"}
@@ -23,7 +23,7 @@ defineKit({
23
23
  return model;
24
24
  },
25
25
  is(type) {
26
- return type.kind === "Model";
26
+ return type.entityKind === "Type" && type.kind === "Model";
27
27
  },
28
28
  isExpresion(type) {
29
29
  return type.name === "";
@@ -1 +1 @@
1
- {"version":3,"file":"model.js","sourceRoot":"","sources":["../../../../src/typekit/kits/model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../../../../src/typekit/kits/model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAEL,oCAAoC,GACrC,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAStE,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAe,MAAM,0BAA0B,CAAC;AAC1E,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAiB,MAAM,aAAa,CAAC;AA6H3E,MAAM,UAAU,GAAG,IAAI,GAAG,EAAgB,CAAC;AAC3C,SAAS,CAAmB;IAC1B,KAAK,EAAE;QACL,MAAM,CAAC,IAAI;YACT,MAAM,UAAU,GAAG,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YACnF,MAAM,KAAK,GAAU,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC;gBACnD,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE;gBACrB,UAAU,EAAE,oBAAoB,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC;gBACvD,UAAU,EAAE,UAAU;gBACtB,aAAa,EAAE,IAAI,CAAC,aAAa,IAAI,EAAE;gBACvC,YAAY,EAAE,IAAI,CAAC,YAAY,IAAI,EAAE;gBACrC,OAAO,EAAE,IAAI,CAAC,OAAO;aACtB,CAAC,CAAC;YAEH,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YACvC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,EAAE,CAAC,IAAI;YACL,OAAO,IAAI,CAAC,UAAU,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC;QAC7D,CAAC;QAED,WAAW,CAAC,IAAI;YACd,OAAO,IAAI,CAAC,IAAI,KAAK,EAAE,CAAC;QAC1B,CAAC;QACD,iBAAiB,CAAC,KAAK,EAAE,MAA6C;YACpE,OAAO,qBAAqB,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QAC5D,CAAC;QACD,YAAY,CAAC,KAAK;YAChB,IAAI,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC1B,OAAO,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC/B,CAAC;YAED,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;gBACnB,OAAO,SAAS,CAAC;YACnB,CAAC;YAED,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACxC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBACvD,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;gBAC9B,OAAO,MAAM,CAAC;YAChB,CAAC;YAED,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBACzC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBACrD,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;gBAC7B,OAAO,KAAK,CAAC;YACf,CAAC;YAED,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,EAAE;YAC/B,oCAAoC;YACpC,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YAE7C,0CAA0C;YAC1C,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;YAC9D,IAAI,aAAa,EAAE,CAAC;gBAClB,MAAM,iBAAiB,GAAG,aAAa,CAAC,YAAY,CAAC;gBACrD,UAAU,CAAC,GAAG,CACZ,iBAAiB,EACjB,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAClF,CAAC;YACJ,CAAC;YAED,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;gBAC5B,IAAI,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC;gBAC3B,OAAO,IAAI,EAAE,CAAC;oBACZ,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;wBAC3C,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;4BACzB,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;wBAC7B,CAAC;oBACH,CAAC;oBACD,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC;gBACxB,CAAC;YACH,CAAC;YACD,oBAAoB;YACpB,OAAO,UAAU,CAAC;QACpB,CAAC;QACD,6BAA6B,CAAC,KAAK;YACjC,0EAA0E;YAC1E,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,WAAW,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;gBACnF,OAAO,KAAK,CAAC,WAAW,CAAC;YAC3B,CAAC;YAED,+EAA+E;YAC/E,IAAI,KAAK,CAAC,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;gBACvD,OAAO,KAAK,CAAC,SAAS,CAAC;YACzB,CAAC;YAED,0EAA0E;YAC1E,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YACjD,IAAI,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC3C,OAAO,SAAS,CAAC;YACnB,CAAC;YAED,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;gBACpB,OAAO,IAAI,CAAC,KAAK,CAAC,6BAA6B,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YACnE,CAAC;YAED,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,qBAAqB,EAAE,iBAAiB,CAAC,UAAU,KAAK;YACtD,MAAM,aAAa,GAAG,gBAAgB,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAC5D,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;YACzB,CAAC;YAED,OAAO,oCAAoC,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;QACpE,CAAC,CAAC;KACH;CACF,CAAC,CAAC"}
@@ -1,9 +1,8 @@
1
- import { ModelProperty, Operation, Type } from "../../core/types.js";
1
+ import { Entity, ModelProperty, Operation, Type } from "../../core/types.js";
2
2
  import { PagingOperation } from "../../lib/paging.js";
3
3
  import { Diagnosable } from "../create-diagnosable.js";
4
4
  /**
5
5
  * A descriptor for an operation.
6
- * @experimental
7
6
  */
8
7
  export interface OperationDescriptor {
9
8
  /**
@@ -21,7 +20,6 @@ export interface OperationDescriptor {
21
20
  }
22
21
  /**
23
22
  * Utilities for working with operation properties.
24
- * @experimental
25
23
  */
26
24
  export interface OperationKit {
27
25
  /**
@@ -34,7 +32,7 @@ export interface OperationKit {
34
32
  * Check if the type is an operation.
35
33
  * @param type type to check
36
34
  */
37
- is(type: Type): type is Operation;
35
+ is(type: Entity): type is Operation;
38
36
  /**
39
37
  * Get the paging operation's metadata for an operation.
40
38
  * @param operation operation to get the paging operation for
@@ -44,7 +42,6 @@ export interface OperationKit {
44
42
  interface TypekitExtension {
45
43
  /**
46
44
  * Utilities for working with operation properties.
47
- * @experimental
48
45
  */
49
46
  operation: OperationKit;
50
47
  }
@@ -1 +1 @@
1
- {"version":3,"file":"operation.d.ts","sourceRoot":"","sources":["../../../../src/typekit/kits/operation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,EAAsB,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC1E,OAAO,EAAqB,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAG1E;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,UAAU,EAAE,aAAa,EAAE,CAAC;IAE5B;;OAEG;IACH,UAAU,EAAE,IAAI,CAAC;CAClB;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B;;;;OAIG;IACH,MAAM,CAAC,IAAI,EAAE,mBAAmB,GAAG,SAAS,CAAC;IAC7C;;;OAGG;IACH,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,IAAI,SAAS,CAAC;IAClC;;;OAGG;IACH,iBAAiB,EAAE,WAAW,CAAC,CAAC,SAAS,EAAE,SAAS,KAAK,eAAe,GAAG,SAAS,CAAC,CAAC;CACvF;AAED,UAAU,gBAAgB;IACxB;;;OAGG;IACH,SAAS,EAAE,YAAY,CAAC;CACzB;AAED,OAAO,QAAQ,kBAAkB,CAAC;IAChC,UAAU,OAAQ,SAAQ,gBAAgB;KAAG;CAC9C"}
1
+ {"version":3,"file":"operation.d.ts","sourceRoot":"","sources":["../../../../src/typekit/kits/operation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAC7E,OAAO,EAAsB,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC1E,OAAO,EAAqB,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAG1E;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,UAAU,EAAE,aAAa,EAAE,CAAC;IAE5B;;OAEG;IACH,UAAU,EAAE,IAAI,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B;;;;OAIG;IACH,MAAM,CAAC,IAAI,EAAE,mBAAmB,GAAG,SAAS,CAAC;IAC7C;;;OAGG;IACH,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,IAAI,SAAS,CAAC;IACpC;;;OAGG;IACH,iBAAiB,EAAE,WAAW,CAAC,CAAC,SAAS,EAAE,SAAS,KAAK,eAAe,GAAG,SAAS,CAAC,CAAC;CACvF;AAED,UAAU,gBAAgB;IACxB;;OAEG;IACH,SAAS,EAAE,YAAY,CAAC;CACzB;AAED,OAAO,QAAQ,kBAAkB,CAAC;IAChC,UAAU,OAAQ,SAAQ,gBAAgB;KAAG;CAC9C"}
@@ -4,7 +4,7 @@ import { defineKit } from "../define-kit.js";
4
4
  defineKit({
5
5
  operation: {
6
6
  is(type) {
7
- return type.kind === "Operation";
7
+ return type.entityKind === "Type" && type.kind === "Operation";
8
8
  },
9
9
  getPagingMetadata: createDiagnosable(function (operation) {
10
10
  return getPagingOperation(this.program, operation);
@@ -1 +1 @@
1
- {"version":3,"file":"operation.js","sourceRoot":"","sources":["../../../../src/typekit/kits/operation.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAmB,MAAM,qBAAqB,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAe,MAAM,0BAA0B,CAAC;AAC1E,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AA0D7C,SAAS,CAAmB;IAC1B,SAAS,EAAE;QACT,EAAE,CAAC,IAAU;YACX,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,CAAC;QACnC,CAAC;QACD,iBAAiB,EAAE,iBAAiB,CAAC,UAAU,SAAS;YACtD,OAAO,kBAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QACrD,CAAC,CAAC;QACF,MAAM,CAAC,IAAI;YACT,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;gBACxC,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,YAAY;gBAC9B,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,CAChC,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE;oBAChB,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC;oBAC9B,OAAO,GAAG,CAAC;gBACb,CAAC,EACD,EAAmC,CACpC;aACF,CAAC,CAAC;YACH,MAAM,SAAS,GAAc,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC;gBAC3D,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,UAAU,EAAE,EAAE;gBACd,UAAU,EAAE,eAAe;gBAC3B,UAAU,EAAE,IAAI,CAAC,UAAU;aAC5B,CAAC,CAAC;YACH,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;YAC3C,OAAO,SAAS,CAAC;QACnB,CAAC;KACF;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"operation.js","sourceRoot":"","sources":["../../../../src/typekit/kits/operation.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAmB,MAAM,qBAAqB,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAe,MAAM,0BAA0B,CAAC;AAC1E,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAuD7C,SAAS,CAAmB;IAC1B,SAAS,EAAE;QACT,EAAE,CAAC,IAAI;YACL,OAAO,IAAI,CAAC,UAAU,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,CAAC;QACjE,CAAC;QACD,iBAAiB,EAAE,iBAAiB,CAAC,UAAU,SAAS;YACtD,OAAO,kBAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QACrD,CAAC,CAAC;QACF,MAAM,CAAC,IAAI;YACT,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;gBACxC,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,YAAY;gBAC9B,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,CAChC,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE;oBAChB,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC;oBAC9B,OAAO,GAAG,CAAC;gBACb,CAAC,EACD,EAAmC,CACpC;aACF,CAAC,CAAC;YACH,MAAM,SAAS,GAAc,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC;gBAC3D,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,UAAU,EAAE,EAAE;gBACd,UAAU,EAAE,eAAe;gBAC3B,UAAU,EAAE,IAAI,CAAC,UAAU;aAC5B,CAAC,CAAC;YACH,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;YAC3C,OAAO,SAAS,CAAC;QACnB,CAAC;KACF;CACF,CAAC,CAAC"}