@typespec/mutator-framework 0.15.0-dev.0 → 0.15.0-dev.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/mutation/enum-member.d.ts +2 -2
- package/dist/src/mutation/enum-member.d.ts.map +1 -1
- package/dist/src/mutation/enum-member.js +2 -2
- package/dist/src/mutation/enum-member.js.map +1 -1
- package/dist/src/mutation/enum.d.ts +2 -2
- package/dist/src/mutation/enum.d.ts.map +1 -1
- package/dist/src/mutation/enum.js +2 -2
- package/dist/src/mutation/enum.js.map +1 -1
- package/dist/src/mutation/interface.d.ts +5 -4
- package/dist/src/mutation/interface.d.ts.map +1 -1
- package/dist/src/mutation/interface.js +3 -3
- package/dist/src/mutation/interface.js.map +1 -1
- package/dist/src/mutation/intrinsic.d.ts +2 -2
- package/dist/src/mutation/intrinsic.d.ts.map +1 -1
- package/dist/src/mutation/intrinsic.js +2 -2
- package/dist/src/mutation/intrinsic.js.map +1 -1
- package/dist/src/mutation/literal.d.ts +2 -2
- package/dist/src/mutation/literal.d.ts.map +1 -1
- package/dist/src/mutation/literal.js +2 -2
- package/dist/src/mutation/literal.js.map +1 -1
- package/dist/src/mutation/model-property.d.ts +4 -6
- package/dist/src/mutation/model-property.d.ts.map +1 -1
- package/dist/src/mutation/model-property.js +2 -11
- package/dist/src/mutation/model-property.js.map +1 -1
- package/dist/src/mutation/model.d.ts +12 -8
- package/dist/src/mutation/model.d.ts.map +1 -1
- package/dist/src/mutation/model.js +13 -13
- package/dist/src/mutation/model.js.map +1 -1
- package/dist/src/mutation/mutation-engine.d.ts +71 -26
- package/dist/src/mutation/mutation-engine.d.ts.map +1 -1
- package/dist/src/mutation/mutation-engine.js +130 -99
- package/dist/src/mutation/mutation-engine.js.map +1 -1
- package/dist/src/mutation/mutation.d.ts +12 -36
- package/dist/src/mutation/mutation.d.ts.map +1 -1
- package/dist/src/mutation/mutation.js +10 -13
- package/dist/src/mutation/mutation.js.map +1 -1
- package/dist/src/mutation/operation.d.ts +6 -4
- package/dist/src/mutation/operation.d.ts.map +1 -1
- package/dist/src/mutation/operation.js +4 -4
- package/dist/src/mutation/operation.js.map +1 -1
- package/dist/src/mutation/scalar.d.ts +5 -4
- package/dist/src/mutation/scalar.d.ts.map +1 -1
- package/dist/src/mutation/scalar.js +3 -3
- package/dist/src/mutation/scalar.js.map +1 -1
- package/dist/src/mutation/simple-mutation-engine.d.ts +118 -3
- package/dist/src/mutation/simple-mutation-engine.d.ts.map +1 -1
- package/dist/src/mutation/simple-mutation-engine.js +233 -5
- package/dist/src/mutation/simple-mutation-engine.js.map +1 -1
- package/dist/src/mutation/simple-mutation-engine.test.d.ts +2 -0
- package/dist/src/mutation/simple-mutation-engine.test.d.ts.map +1 -0
- package/dist/src/mutation/simple-mutation-engine.test.js +231 -0
- package/dist/src/mutation/simple-mutation-engine.test.js.map +1 -0
- package/dist/src/mutation/union-variant.d.ts +5 -4
- package/dist/src/mutation/union-variant.d.ts.map +1 -1
- package/dist/src/mutation/union-variant.js +3 -3
- package/dist/src/mutation/union-variant.js.map +1 -1
- package/dist/src/mutation/union.d.ts +5 -4
- package/dist/src/mutation/union.d.ts.map +1 -1
- package/dist/src/mutation/union.js +6 -6
- package/dist/src/mutation/union.js.map +1 -1
- package/dist/src/mutation-node/enum-member.d.ts +5 -2
- package/dist/src/mutation-node/enum-member.d.ts.map +1 -1
- package/dist/src/mutation-node/enum-member.js +18 -1
- package/dist/src/mutation-node/enum-member.js.map +1 -1
- package/dist/src/mutation-node/enum-member.test.js +34 -6
- package/dist/src/mutation-node/enum-member.test.js.map +1 -1
- package/dist/src/mutation-node/enum.d.ts +3 -2
- package/dist/src/mutation-node/enum.d.ts.map +1 -1
- package/dist/src/mutation-node/enum.js +23 -17
- package/dist/src/mutation-node/enum.js.map +1 -1
- package/dist/src/mutation-node/enum.test.js +9 -22
- package/dist/src/mutation-node/enum.test.js.map +1 -1
- package/dist/src/mutation-node/factory.d.ts +3 -2
- package/dist/src/mutation-node/factory.d.ts.map +1 -1
- package/dist/src/mutation-node/factory.js +13 -13
- package/dist/src/mutation-node/factory.js.map +1 -1
- package/dist/src/mutation-node/index.d.ts +1 -1
- package/dist/src/mutation-node/index.d.ts.map +1 -1
- package/dist/src/mutation-node/index.js +1 -1
- package/dist/src/mutation-node/index.js.map +1 -1
- package/dist/src/mutation-node/interface.d.ts +7 -2
- package/dist/src/mutation-node/interface.d.ts.map +1 -1
- package/dist/src/mutation-node/interface.js +20 -17
- package/dist/src/mutation-node/interface.js.map +1 -1
- package/dist/src/mutation-node/intrinsic.d.ts +1 -1
- package/dist/src/mutation-node/intrinsic.d.ts.map +1 -1
- package/dist/src/mutation-node/intrinsic.js +5 -1
- package/dist/src/mutation-node/intrinsic.js.map +1 -1
- package/dist/src/mutation-node/literal.d.ts +1 -1
- package/dist/src/mutation-node/literal.d.ts.map +1 -1
- package/dist/src/mutation-node/literal.js +5 -1
- package/dist/src/mutation-node/literal.js.map +1 -1
- package/dist/src/mutation-node/model-property.d.ts +9 -4
- package/dist/src/mutation-node/model-property.d.ts.map +1 -1
- package/dist/src/mutation-node/model-property.js +38 -30
- package/dist/src/mutation-node/model-property.js.map +1 -1
- package/dist/src/mutation-node/model-property.test.js +165 -82
- package/dist/src/mutation-node/model-property.test.js.map +1 -1
- package/dist/src/mutation-node/model.d.ts +16 -4
- package/dist/src/mutation-node/model.d.ts.map +1 -1
- package/dist/src/mutation-node/model.js +97 -38
- package/dist/src/mutation-node/model.js.map +1 -1
- package/dist/src/mutation-node/model.test.js +62 -30
- package/dist/src/mutation-node/model.test.js.map +1 -1
- package/dist/src/mutation-node/mutation-edge.d.ts +47 -7
- package/dist/src/mutation-node/mutation-edge.d.ts.map +1 -1
- package/dist/src/mutation-node/mutation-edge.js +94 -10
- package/dist/src/mutation-node/mutation-edge.js.map +1 -1
- package/dist/src/mutation-node/mutation-node.d.ts +38 -9
- package/dist/src/mutation-node/mutation-node.d.ts.map +1 -1
- package/dist/src/mutation-node/mutation-node.js +82 -17
- package/dist/src/mutation-node/mutation-node.js.map +1 -1
- package/dist/src/mutation-node/mutation-node.test.js +48 -36
- package/dist/src/mutation-node/mutation-node.test.js.map +1 -1
- package/dist/src/mutation-node/operation.d.ts +12 -2
- package/dist/src/mutation-node/operation.d.ts.map +1 -1
- package/dist/src/mutation-node/operation.js +42 -19
- package/dist/src/mutation-node/operation.js.map +1 -1
- package/dist/src/mutation-node/scalar.d.ts +6 -1
- package/dist/src/mutation-node/scalar.d.ts.map +1 -1
- package/dist/src/mutation-node/scalar.js +17 -14
- package/dist/src/mutation-node/scalar.js.map +1 -1
- package/dist/src/mutation-node/scalar.test.js +11 -11
- package/dist/src/mutation-node/scalar.test.js.map +1 -1
- package/dist/src/mutation-node/tracer.d.ts +5 -0
- package/dist/src/mutation-node/tracer.d.ts.map +1 -0
- package/dist/src/mutation-node/tracer.js +17 -0
- package/dist/src/mutation-node/tracer.js.map +1 -0
- package/dist/src/mutation-node/tuple.d.ts +6 -1
- package/dist/src/mutation-node/tuple.d.ts.map +1 -1
- package/dist/src/mutation-node/tuple.js +17 -15
- package/dist/src/mutation-node/tuple.js.map +1 -1
- package/dist/src/mutation-node/tuple.test.js +10 -5
- package/dist/src/mutation-node/tuple.test.js.map +1 -1
- package/dist/src/mutation-node/union-variant.d.ts +9 -2
- package/dist/src/mutation-node/union-variant.d.ts.map +1 -1
- package/dist/src/mutation-node/union-variant.js +32 -10
- package/dist/src/mutation-node/union-variant.js.map +1 -1
- package/dist/src/mutation-node/union-variant.test.js +37 -5
- package/dist/src/mutation-node/union-variant.test.js.map +1 -1
- package/dist/src/mutation-node/union.d.ts +3 -2
- package/dist/src/mutation-node/union.d.ts.map +1 -1
- package/dist/src/mutation-node/union.js +23 -17
- package/dist/src/mutation-node/union.js.map +1 -1
- package/dist/src/mutation-node/union.test.js +5 -4
- package/dist/src/mutation-node/union.test.js.map +1 -1
- package/dist/test/utils.d.ts +2 -2
- package/dist/test/utils.d.ts.map +1 -1
- package/dist/test/utils.js +3 -4
- package/dist/test/utils.js.map +1 -1
- package/package.json +5 -5
- package/package.json.bak +5 -5
- package/readme.md +202 -235
- package/src/mutation/enum-member.ts +3 -2
- package/src/mutation/enum.ts +3 -2
- package/src/mutation/interface.ts +12 -5
- package/src/mutation/intrinsic.ts +4 -3
- package/src/mutation/literal.ts +4 -3
- package/src/mutation/model-property.ts +10 -17
- package/src/mutation/model.ts +38 -16
- package/src/mutation/mutation-engine.ts +201 -173
- package/src/mutation/mutation.ts +33 -59
- package/src/mutation/operation.ts +19 -6
- package/src/mutation/scalar.ts +13 -5
- package/src/mutation/simple-mutation-engine.test.ts +330 -0
- package/src/mutation/simple-mutation-engine.ts +457 -5
- package/src/mutation/union-variant.ts +9 -5
- package/src/mutation/union.ts +14 -9
- package/src/mutation-node/enum-member.test.ts +38 -7
- package/src/mutation-node/enum-member.ts +21 -2
- package/src/mutation-node/enum.test.ts +9 -26
- package/src/mutation-node/enum.ts +24 -18
- package/src/mutation-node/factory.ts +17 -14
- package/src/mutation-node/index.ts +1 -1
- package/src/mutation-node/interface.ts +26 -18
- package/src/mutation-node/intrinsic.ts +4 -1
- package/src/mutation-node/literal.ts +4 -1
- package/src/mutation-node/model-property.test.ts +177 -99
- package/src/mutation-node/model-property.ts +46 -33
- package/src/mutation-node/model.test.ts +64 -31
- package/src/mutation-node/model.ts +116 -43
- package/src/mutation-node/mutation-edge.ts +131 -17
- package/src/mutation-node/mutation-node.test.ts +55 -38
- package/src/mutation-node/mutation-node.ts +104 -23
- package/src/mutation-node/operation.ts +54 -22
- package/src/mutation-node/scalar.test.ts +12 -12
- package/src/mutation-node/scalar.ts +23 -16
- package/src/mutation-node/tracer.ts +18 -0
- package/src/mutation-node/tuple.test.ts +10 -5
- package/src/mutation-node/tuple.ts +23 -16
- package/src/mutation-node/union-variant.test.ts +41 -5
- package/src/mutation-node/union-variant.ts +40 -11
- package/src/mutation-node/union.test.ts +5 -4
- package/src/mutation-node/union.ts +24 -18
- package/test/utils.ts +3 -4
- package/dist/src/mutation/mutation-engine.test.d.ts +0 -2
- package/dist/src/mutation/mutation-engine.test.d.ts.map +0 -1
- package/dist/src/mutation/mutation-engine.test.js +0 -191
- package/dist/src/mutation/mutation-engine.test.js.map +0 -1
- package/dist/src/mutation-node/mutation-subgraph.d.ts +0 -17
- package/dist/src/mutation-node/mutation-subgraph.d.ts.map +0 -1
- package/dist/src/mutation-node/mutation-subgraph.js +0 -45
- package/dist/src/mutation-node/mutation-subgraph.js.map +0 -1
- package/src/mutation/mutation-engine.test.ts +0 -271
- package/src/mutation-node/mutation-subgraph.ts +0 -59
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import type { EnumMember, MemberType } from "@typespec/compiler";
|
|
2
2
|
import type { CustomMutationClasses, MutationEngine, MutationOptions } from "./mutation-engine.js";
|
|
3
|
-
import { Mutation } from "./mutation.js";
|
|
3
|
+
import { Mutation, type MutationInfo } from "./mutation.js";
|
|
4
4
|
export declare class EnumMemberMutation<TOptions extends MutationOptions, TCustomMutations extends CustomMutationClasses, TEngine extends MutationEngine<TCustomMutations> = MutationEngine<TCustomMutations>> extends Mutation<EnumMember, TCustomMutations, TOptions, TEngine> {
|
|
5
5
|
readonly kind = "EnumMember";
|
|
6
|
-
constructor(engine: TEngine, sourceType: EnumMember, referenceTypes: MemberType[] | undefined, options: TOptions);
|
|
6
|
+
constructor(engine: TEngine, sourceType: EnumMember, referenceTypes: MemberType[] | undefined, options: TOptions, info: MutationInfo);
|
|
7
7
|
mutate(): void;
|
|
8
8
|
}
|
|
9
9
|
//# sourceMappingURL=enum-member.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enum-member.d.ts","sourceRoot":"","sources":["../../../src/mutation/enum-member.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,KAAK,EAAE,qBAAqB,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACnG,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"enum-member.d.ts","sourceRoot":"","sources":["../../../src/mutation/enum-member.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,KAAK,EAAE,qBAAqB,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACnG,OAAO,EAAE,QAAQ,EAAE,KAAK,YAAY,EAAE,MAAM,eAAe,CAAC;AAE5D,qBAAa,kBAAkB,CAC7B,QAAQ,SAAS,eAAe,EAChC,gBAAgB,SAAS,qBAAqB,EAC9C,OAAO,SAAS,cAAc,CAAC,gBAAgB,CAAC,GAAG,cAAc,CAAC,gBAAgB,CAAC,CACnF,SAAQ,QAAQ,CAAC,UAAU,EAAE,gBAAgB,EAAE,QAAQ,EAAE,OAAO,CAAC;IACjE,QAAQ,CAAC,IAAI,gBAAgB;gBAG3B,MAAM,EAAE,OAAO,EACf,UAAU,EAAE,UAAU,EACtB,cAAc,EAAE,UAAU,EAAE,YAAK,EACjC,OAAO,EAAE,QAAQ,EACjB,IAAI,EAAE,YAAY;IAKpB,MAAM;CAGP"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Mutation } from "./mutation.js";
|
|
2
2
|
export class EnumMemberMutation extends Mutation {
|
|
3
3
|
kind = "EnumMember";
|
|
4
|
-
constructor(engine, sourceType, referenceTypes = [], options) {
|
|
5
|
-
super(engine, sourceType, referenceTypes, options);
|
|
4
|
+
constructor(engine, sourceType, referenceTypes = [], options, info) {
|
|
5
|
+
super(engine, sourceType, referenceTypes, options, info);
|
|
6
6
|
}
|
|
7
7
|
mutate() {
|
|
8
8
|
// EnumMember is a leaf type with no children to mutate
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enum-member.js","sourceRoot":"","sources":["../../../src/mutation/enum-member.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,
|
|
1
|
+
{"version":3,"file":"enum-member.js","sourceRoot":"","sources":["../../../src/mutation/enum-member.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAqB,MAAM,eAAe,CAAC;AAE5D,MAAM,OAAO,kBAIX,SAAQ,QAAyD;IACxD,IAAI,GAAG,YAAY,CAAC;IAE7B,YACE,MAAe,EACf,UAAsB,EACtB,iBAA+B,EAAE,EACjC,OAAiB,EACjB,IAAkB;QAElB,KAAK,CAAC,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAC3D,CAAC;IAED,MAAM;QACJ,uDAAuD;IACzD,CAAC;CACF"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import type { Enum, MemberType } from "@typespec/compiler";
|
|
2
2
|
import type { CustomMutationClasses, MutationEngine, MutationFor, MutationOptions } from "./mutation-engine.js";
|
|
3
|
-
import { Mutation } from "./mutation.js";
|
|
3
|
+
import { Mutation, type MutationInfo } from "./mutation.js";
|
|
4
4
|
export declare class EnumMutation<TOptions extends MutationOptions, TCustomMutations extends CustomMutationClasses, TEngine extends MutationEngine<TCustomMutations> = MutationEngine<TCustomMutations>> extends Mutation<Enum, TCustomMutations, TOptions, TEngine> {
|
|
5
5
|
readonly kind = "Enum";
|
|
6
6
|
members: Map<string, MutationFor<TCustomMutations, "EnumMember">>;
|
|
7
|
-
constructor(engine: TEngine, sourceType: Enum, referenceTypes: MemberType[] | undefined, options: TOptions);
|
|
7
|
+
constructor(engine: TEngine, sourceType: Enum, referenceTypes: MemberType[] | undefined, options: TOptions, info: MutationInfo);
|
|
8
8
|
protected mutateMembers(): void;
|
|
9
9
|
mutate(): void;
|
|
10
10
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enum.d.ts","sourceRoot":"","sources":["../../../src/mutation/enum.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EACV,qBAAqB,EACrB,cAAc,EACd,WAAW,EACX,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"enum.d.ts","sourceRoot":"","sources":["../../../src/mutation/enum.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EACV,qBAAqB,EACrB,cAAc,EACd,WAAW,EACX,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,QAAQ,EAAE,KAAK,YAAY,EAAE,MAAM,eAAe,CAAC;AAE5D,qBAAa,YAAY,CACvB,QAAQ,SAAS,eAAe,EAChC,gBAAgB,SAAS,qBAAqB,EAC9C,OAAO,SAAS,cAAc,CAAC,gBAAgB,CAAC,GAAG,cAAc,CAAC,gBAAgB,CAAC,CACnF,SAAQ,QAAQ,CAAC,IAAI,EAAE,gBAAgB,EAAE,QAAQ,EAAE,OAAO,CAAC;IAC3D,QAAQ,CAAC,IAAI,UAAU;IACvB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC,CAAa;gBAG5E,MAAM,EAAE,OAAO,EACf,UAAU,EAAE,IAAI,EAChB,cAAc,EAAE,UAAU,EAAE,YAAK,EACjC,OAAO,EAAE,QAAQ,EACjB,IAAI,EAAE,YAAY;IAKpB,SAAS,CAAC,aAAa;IAMvB,MAAM;CAGP"}
|
|
@@ -2,8 +2,8 @@ import { Mutation } from "./mutation.js";
|
|
|
2
2
|
export class EnumMutation extends Mutation {
|
|
3
3
|
kind = "Enum";
|
|
4
4
|
members = new Map();
|
|
5
|
-
constructor(engine, sourceType, referenceTypes = [], options) {
|
|
6
|
-
super(engine, sourceType, referenceTypes, options);
|
|
5
|
+
constructor(engine, sourceType, referenceTypes = [], options, info) {
|
|
6
|
+
super(engine, sourceType, referenceTypes, options, info);
|
|
7
7
|
}
|
|
8
8
|
mutateMembers() {
|
|
9
9
|
for (const member of this.sourceType.members.values()) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enum.js","sourceRoot":"","sources":["../../../src/mutation/enum.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,QAAQ,
|
|
1
|
+
{"version":3,"file":"enum.js","sourceRoot":"","sources":["../../../src/mutation/enum.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,QAAQ,EAAqB,MAAM,eAAe,CAAC;AAE5D,MAAM,OAAO,YAIX,SAAQ,QAAmD;IAClD,IAAI,GAAG,MAAM,CAAC;IACvB,OAAO,GAA6D,IAAI,GAAG,EAAE,CAAC;IAE9E,YACE,MAAe,EACf,UAAgB,EAChB,iBAA+B,EAAE,EACjC,OAAiB,EACjB,IAAkB;QAElB,KAAK,CAAC,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAC3D,CAAC;IAES,aAAa;QACrB,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;YACtD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;CACF"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import type { Interface, MemberType } from "@typespec/compiler";
|
|
2
|
-
import type { CustomMutationClasses, MutationEngine, MutationFor, MutationOptions } from "./mutation-engine.js";
|
|
3
|
-
import { Mutation } from "./mutation.js";
|
|
4
|
-
export declare class InterfaceMutation<TOptions extends MutationOptions, TCustomMutations extends CustomMutationClasses> extends Mutation<Interface, TCustomMutations, TOptions> {
|
|
2
|
+
import type { CustomMutationClasses, MutationEngine, MutationFor, MutationHalfEdge, MutationOptions } from "./mutation-engine.js";
|
|
3
|
+
import { Mutation, type MutationInfo } from "./mutation.js";
|
|
4
|
+
export declare abstract class InterfaceMutation<TOptions extends MutationOptions, TCustomMutations extends CustomMutationClasses> extends Mutation<Interface, TCustomMutations, TOptions> {
|
|
5
5
|
readonly kind = "Interface";
|
|
6
6
|
operations: Map<string, MutationFor<TCustomMutations, "Operation">>;
|
|
7
|
-
constructor(engine: MutationEngine<TCustomMutations>, sourceType: Interface, referenceTypes: MemberType[]
|
|
7
|
+
constructor(engine: MutationEngine<TCustomMutations>, sourceType: Interface, referenceTypes: MemberType[], options: TOptions, info: MutationInfo);
|
|
8
8
|
protected mutateOperations(): void;
|
|
9
|
+
protected abstract startOperationEdge(): MutationHalfEdge;
|
|
9
10
|
mutate(): void;
|
|
10
11
|
}
|
|
11
12
|
//# sourceMappingURL=interface.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../../src/mutation/interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,KAAK,EACV,qBAAqB,EACrB,cAAc,EACd,WAAW,EACX,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../../src/mutation/interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,KAAK,EACV,qBAAqB,EACrB,cAAc,EACd,WAAW,EACX,gBAAgB,EAChB,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,QAAQ,EAAE,KAAK,YAAY,EAAE,MAAM,eAAe,CAAC;AAE5D,8BAAsB,iBAAiB,CACrC,QAAQ,SAAS,eAAe,EAChC,gBAAgB,SAAS,qBAAqB,CAC9C,SAAQ,QAAQ,CAAC,SAAS,EAAE,gBAAgB,EAAE,QAAQ,CAAC;IACvD,QAAQ,CAAC,IAAI,eAAe;IAC5B,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAC,CAAa;gBAG9E,MAAM,EAAE,cAAc,CAAC,gBAAgB,CAAC,EACxC,UAAU,EAAE,SAAS,EACrB,cAAc,EAAE,UAAU,EAAE,EAC5B,OAAO,EAAE,QAAQ,EACjB,IAAI,EAAE,YAAY;IAKpB,SAAS,CAAC,gBAAgB;IAY1B,SAAS,CAAC,QAAQ,CAAC,kBAAkB,IAAI,gBAAgB;IAEzD,MAAM;CAGP"}
|
|
@@ -2,12 +2,12 @@ import { Mutation } from "./mutation.js";
|
|
|
2
2
|
export class InterfaceMutation extends Mutation {
|
|
3
3
|
kind = "Interface";
|
|
4
4
|
operations = new Map();
|
|
5
|
-
constructor(engine, sourceType, referenceTypes
|
|
6
|
-
super(engine, sourceType, referenceTypes, options);
|
|
5
|
+
constructor(engine, sourceType, referenceTypes, options, info) {
|
|
6
|
+
super(engine, sourceType, referenceTypes, options, info);
|
|
7
7
|
}
|
|
8
8
|
mutateOperations() {
|
|
9
9
|
for (const op of this.sourceType.operations.values()) {
|
|
10
|
-
this.operations.set(op.name, this.engine.mutate(op, this.options));
|
|
10
|
+
this.operations.set(op.name, this.engine.mutate(op, this.options, this.startOperationEdge()));
|
|
11
11
|
}
|
|
12
12
|
}
|
|
13
13
|
mutate() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interface.js","sourceRoot":"","sources":["../../../src/mutation/interface.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"interface.js","sourceRoot":"","sources":["../../../src/mutation/interface.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,QAAQ,EAAqB,MAAM,eAAe,CAAC;AAE5D,MAAM,OAAgB,iBAGpB,SAAQ,QAA+C;IAC9C,IAAI,GAAG,WAAW,CAAC;IAC5B,UAAU,GAA4D,IAAI,GAAG,EAAE,CAAC;IAEhF,YACE,MAAwC,EACxC,UAAqB,EACrB,cAA4B,EAC5B,OAAiB,EACjB,IAAkB;QAElB,KAAK,CAAC,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAC3D,CAAC;IAES,gBAAgB;QACxB,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC;YACrD,IAAI,CAAC,UAAU,CAAC,GAAG,CACjB,EAAE,CAAC,IAAI,EACP,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,kBAAkB,EAAE,CAG7D,CACF,CAAC;QACJ,CAAC;IACH,CAAC;IAID,MAAM;QACJ,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;CACF"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import type { IntrinsicType, MemberType } from "@typespec/compiler";
|
|
2
2
|
import type { CustomMutationClasses, MutationEngine, MutationOptions } from "./mutation-engine.js";
|
|
3
|
-
import { Mutation } from "./mutation.js";
|
|
3
|
+
import { Mutation, type MutationInfo } from "./mutation.js";
|
|
4
4
|
export declare class IntrinsicMutation<TOptions extends MutationOptions, TCustomMutations extends CustomMutationClasses, TEngine extends MutationEngine<TCustomMutations> = MutationEngine<TCustomMutations>> extends Mutation<IntrinsicType, TCustomMutations, TOptions, TEngine> {
|
|
5
5
|
readonly kind = "Intrinsic";
|
|
6
|
-
constructor(engine: TEngine, sourceType: IntrinsicType, referenceTypes: MemberType[]
|
|
6
|
+
constructor(engine: TEngine, sourceType: IntrinsicType, referenceTypes: MemberType[], options: TOptions, info: MutationInfo);
|
|
7
7
|
mutate(): void;
|
|
8
8
|
}
|
|
9
9
|
//# sourceMappingURL=intrinsic.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"intrinsic.d.ts","sourceRoot":"","sources":["../../../src/mutation/intrinsic.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,KAAK,EAAE,qBAAqB,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACnG,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"intrinsic.d.ts","sourceRoot":"","sources":["../../../src/mutation/intrinsic.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,KAAK,EAAE,qBAAqB,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACnG,OAAO,EAAE,QAAQ,EAAE,KAAK,YAAY,EAAE,MAAM,eAAe,CAAC;AAE5D,qBAAa,iBAAiB,CAC5B,QAAQ,SAAS,eAAe,EAChC,gBAAgB,SAAS,qBAAqB,EAC9C,OAAO,SAAS,cAAc,CAAC,gBAAgB,CAAC,GAAG,cAAc,CAAC,gBAAgB,CAAC,CACnF,SAAQ,QAAQ,CAAC,aAAa,EAAE,gBAAgB,EAAE,QAAQ,EAAE,OAAO,CAAC;IACpE,QAAQ,CAAC,IAAI,eAAe;gBAE1B,MAAM,EAAE,OAAO,EACf,UAAU,EAAE,aAAa,EACzB,cAAc,EAAE,UAAU,EAAE,EAC5B,OAAO,EAAE,QAAQ,EACjB,IAAI,EAAE,YAAY;IAKpB,MAAM;CAGP"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Mutation } from "./mutation.js";
|
|
2
2
|
export class IntrinsicMutation extends Mutation {
|
|
3
3
|
kind = "Intrinsic";
|
|
4
|
-
constructor(engine, sourceType, referenceTypes
|
|
5
|
-
super(engine, sourceType, referenceTypes, options);
|
|
4
|
+
constructor(engine, sourceType, referenceTypes, options, info) {
|
|
5
|
+
super(engine, sourceType, referenceTypes, options, info);
|
|
6
6
|
}
|
|
7
7
|
mutate() {
|
|
8
8
|
// No mutations needed for intrinsic types
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"intrinsic.js","sourceRoot":"","sources":["../../../src/mutation/intrinsic.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,
|
|
1
|
+
{"version":3,"file":"intrinsic.js","sourceRoot":"","sources":["../../../src/mutation/intrinsic.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAqB,MAAM,eAAe,CAAC;AAE5D,MAAM,OAAO,iBAIX,SAAQ,QAA4D;IAC3D,IAAI,GAAG,WAAW,CAAC;IAC5B,YACE,MAAe,EACf,UAAyB,EACzB,cAA4B,EAC5B,OAAiB,EACjB,IAAkB;QAElB,KAAK,CAAC,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAC3D,CAAC;IAED,MAAM;QACJ,0CAA0C;IAC5C,CAAC;CACF"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import type { BooleanLiteral, MemberType, NumericLiteral, StringLiteral } from "@typespec/compiler";
|
|
2
2
|
import type { CustomMutationClasses, MutationEngine, MutationOptions } from "./mutation-engine.js";
|
|
3
|
-
import { Mutation } from "./mutation.js";
|
|
3
|
+
import { Mutation, type MutationInfo } from "./mutation.js";
|
|
4
4
|
export declare class LiteralMutation<TOptions extends MutationOptions, TCustomMutations extends CustomMutationClasses, TEngine extends MutationEngine<TCustomMutations> = MutationEngine<TCustomMutations>> extends Mutation<StringLiteral | NumericLiteral | BooleanLiteral, TCustomMutations, TOptions, TEngine> {
|
|
5
5
|
readonly kind = "Literal";
|
|
6
|
-
constructor(engine: TEngine, sourceType: StringLiteral | NumericLiteral | BooleanLiteral, referenceTypes: MemberType[]
|
|
6
|
+
constructor(engine: TEngine, sourceType: StringLiteral | NumericLiteral | BooleanLiteral, referenceTypes: MemberType[], options: TOptions, info: MutationInfo);
|
|
7
7
|
mutate(): void;
|
|
8
8
|
}
|
|
9
9
|
//# sourceMappingURL=literal.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"literal.d.ts","sourceRoot":"","sources":["../../../src/mutation/literal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACpG,OAAO,KAAK,EAAE,qBAAqB,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACnG,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"literal.d.ts","sourceRoot":"","sources":["../../../src/mutation/literal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACpG,OAAO,KAAK,EAAE,qBAAqB,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACnG,OAAO,EAAE,QAAQ,EAAE,KAAK,YAAY,EAAE,MAAM,eAAe,CAAC;AAE5D,qBAAa,eAAe,CAC1B,QAAQ,SAAS,eAAe,EAChC,gBAAgB,SAAS,qBAAqB,EAC9C,OAAO,SAAS,cAAc,CAAC,gBAAgB,CAAC,GAAG,cAAc,CAAC,gBAAgB,CAAC,CACnF,SAAQ,QAAQ,CAChB,aAAa,GAAG,cAAc,GAAG,cAAc,EAC/C,gBAAgB,EAChB,QAAQ,EACR,OAAO,CACR;IACC,QAAQ,CAAC,IAAI,aAAa;gBAGxB,MAAM,EAAE,OAAO,EACf,UAAU,EAAE,aAAa,GAAG,cAAc,GAAG,cAAc,EAC3D,cAAc,EAAE,UAAU,EAAE,EAC5B,OAAO,EAAE,QAAQ,EACjB,IAAI,EAAE,YAAY;IAKpB,MAAM;CAGP"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Mutation } from "./mutation.js";
|
|
2
2
|
export class LiteralMutation extends Mutation {
|
|
3
3
|
kind = "Literal";
|
|
4
|
-
constructor(engine, sourceType, referenceTypes
|
|
5
|
-
super(engine, sourceType, referenceTypes, options);
|
|
4
|
+
constructor(engine, sourceType, referenceTypes, options, info) {
|
|
5
|
+
super(engine, sourceType, referenceTypes, options, info);
|
|
6
6
|
}
|
|
7
7
|
mutate() {
|
|
8
8
|
// No mutations needed for literal types
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"literal.js","sourceRoot":"","sources":["../../../src/mutation/literal.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,
|
|
1
|
+
{"version":3,"file":"literal.js","sourceRoot":"","sources":["../../../src/mutation/literal.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAqB,MAAM,eAAe,CAAC;AAE5D,MAAM,OAAO,eAIX,SAAQ,QAKT;IACU,IAAI,GAAG,SAAS,CAAC;IAE1B,YACE,MAAe,EACf,UAA2D,EAC3D,cAA4B,EAC5B,OAAiB,EACjB,IAAkB;QAElB,KAAK,CAAC,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAC3D,CAAC;IAED,MAAM;QACJ,wCAAwC;IAC1C,CAAC;CACF"}
|
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
import type { ModelProperty, Type } from "@typespec/compiler";
|
|
2
|
-
import type {
|
|
3
|
-
import type { CustomMutationClasses, MutationEngine, MutationFor, MutationOptions } from "./mutation-engine.js";
|
|
2
|
+
import type { CustomMutationClasses, MutationEngine, MutationFor, MutationHalfEdge, MutationOptions } from "./mutation-engine.js";
|
|
4
3
|
import { Mutation } from "./mutation.js";
|
|
5
|
-
export declare class ModelPropertyMutation<
|
|
4
|
+
export declare abstract class ModelPropertyMutation<TCustomMutations extends CustomMutationClasses, TOptions extends MutationOptions, TEngine extends MutationEngine<TCustomMutations> = MutationEngine<TCustomMutations>> extends Mutation<ModelProperty, TCustomMutations, TOptions, TEngine> {
|
|
6
5
|
readonly kind = "ModelProperty";
|
|
7
6
|
type: MutationFor<TCustomMutations, Type["kind"]>;
|
|
8
|
-
mutate(): void;
|
|
9
|
-
|
|
10
|
-
replaceReferencedType(subgraph: MutationSubgraph, newType: Type): MutationFor<TCustomMutations, "Boolean" | "Number" | "String" | "Decorator" | "Intrinsic" | "FunctionParameter" | "Namespace" | "ScalarConstructor" | "StringTemplate" | "StringTemplateSpan" | "TemplateParameter" | "EnumMember" | "Enum" | "Interface" | "UnionVariant" | "ModelProperty" | "Model" | "Operation" | "Scalar" | "Tuple" | "Union">;
|
|
7
|
+
mutate(newOptions?: MutationOptions): void;
|
|
8
|
+
protected abstract startTypeEdge(): MutationHalfEdge;
|
|
11
9
|
}
|
|
12
10
|
//# sourceMappingURL=model-property.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-property.d.ts","sourceRoot":"","sources":["../../../src/mutation/model-property.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"model-property.d.ts","sourceRoot":"","sources":["../../../src/mutation/model-property.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,KAAK,EACV,qBAAqB,EACrB,cAAc,EACd,WAAW,EACX,gBAAgB,EAChB,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,8BAAsB,qBAAqB,CACzC,gBAAgB,SAAS,qBAAqB,EAC9C,QAAQ,SAAS,eAAe,EAChC,OAAO,SAAS,cAAc,CAAC,gBAAgB,CAAC,GAAG,cAAc,CAAC,gBAAgB,CAAC,CACnF,SAAQ,QAAQ,CAAC,aAAa,EAAE,gBAAgB,EAAE,QAAQ,EAAE,OAAO,CAAC;IACpE,QAAQ,CAAC,IAAI,mBAAmB;IAChC,IAAI,EAAG,WAAW,CAAC,gBAAgB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAEnD,MAAM,CAAC,UAAU,GAAE,eAA8B;IAQjD,SAAS,CAAC,QAAQ,CAAC,aAAa,IAAI,gBAAgB;CACrD"}
|
|
@@ -2,17 +2,8 @@ import { Mutation } from "./mutation.js";
|
|
|
2
2
|
export class ModelPropertyMutation extends Mutation {
|
|
3
3
|
kind = "ModelProperty";
|
|
4
4
|
type;
|
|
5
|
-
mutate() {
|
|
6
|
-
this.type = this.engine.mutateReference(this.sourceType, this.
|
|
7
|
-
}
|
|
8
|
-
getReferenceMutationNode(subgraph = this.engine.getDefaultMutationSubgraph(this.options)) {
|
|
9
|
-
return subgraph.getReferenceNode(this.sourceType);
|
|
10
|
-
}
|
|
11
|
-
replaceReferencedType(subgraph, newType) {
|
|
12
|
-
// First, update the mutation node
|
|
13
|
-
subgraph.getReferenceNode(this.sourceType).replace(newType);
|
|
14
|
-
// then return a new reference mutation for the new type
|
|
15
|
-
return this.engine.mutateReference(this.sourceType, newType, this.options);
|
|
5
|
+
mutate(newOptions = this.options) {
|
|
6
|
+
this.type = this.engine.mutateReference(this.sourceType, newOptions, this.startTypeEdge());
|
|
16
7
|
}
|
|
17
8
|
}
|
|
18
9
|
//# sourceMappingURL=model-property.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-property.js","sourceRoot":"","sources":["../../../src/mutation/model-property.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,MAAM,
|
|
1
|
+
{"version":3,"file":"model-property.js","sourceRoot":"","sources":["../../../src/mutation/model-property.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,MAAM,OAAgB,qBAIpB,SAAQ,QAA4D;IAC3D,IAAI,GAAG,eAAe,CAAC;IAChC,IAAI,CAA+C;IAEnD,MAAM,CAAC,aAA8B,IAAI,CAAC,OAAO;QAC/C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,CACrC,IAAI,CAAC,UAAU,EACf,UAAU,EACV,IAAI,CAAC,aAAa,EAAE,CAC0B,CAAC;IACnD,CAAC;CAGF"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { MemberType, Model, Type } from "@typespec/compiler";
|
|
2
|
-
import type { CustomMutationClasses, MutationEngine, MutationFor, MutationOptions } from "./mutation-engine.js";
|
|
3
|
-
import { Mutation } from "./mutation.js";
|
|
4
|
-
export declare class ModelMutation<
|
|
2
|
+
import type { CustomMutationClasses, MutationEngine, MutationFor, MutationHalfEdge, MutationOptions } from "./mutation-engine.js";
|
|
3
|
+
import { Mutation, type MutationInfo } from "./mutation.js";
|
|
4
|
+
export declare abstract class ModelMutation<TCustomMutations extends CustomMutationClasses, TOptions extends MutationOptions, TEngine extends MutationEngine<TCustomMutations> = MutationEngine<TCustomMutations>> extends Mutation<Model, TCustomMutations, TOptions, TEngine> {
|
|
5
5
|
readonly kind = "Model";
|
|
6
6
|
baseModel?: MutationFor<TCustomMutations, "Model">;
|
|
7
7
|
properties: Map<string, MutationFor<TCustomMutations, "ModelProperty">>;
|
|
@@ -9,10 +9,14 @@ export declare class ModelMutation<TOptions extends MutationOptions, TCustomMuta
|
|
|
9
9
|
key: MutationFor<TCustomMutations, "Scalar">;
|
|
10
10
|
value: MutationFor<TCustomMutations, Type["kind"]>;
|
|
11
11
|
};
|
|
12
|
-
constructor(engine: TEngine, sourceType: Model, referenceTypes: MemberType[]
|
|
13
|
-
protected mutateBaseModel(): void;
|
|
14
|
-
protected mutateProperties(): void;
|
|
15
|
-
protected mutateIndexer(): void;
|
|
16
|
-
|
|
12
|
+
constructor(engine: TEngine, sourceType: Model, referenceTypes: MemberType[], options: TOptions, info: MutationInfo);
|
|
13
|
+
protected mutateBaseModel(newOptions?: MutationOptions): void;
|
|
14
|
+
protected mutateProperties(newOptions?: MutationOptions): void;
|
|
15
|
+
protected mutateIndexer(newOptions?: MutationOptions): void;
|
|
16
|
+
protected abstract startBaseEdge(): MutationHalfEdge;
|
|
17
|
+
protected abstract startPropertyEdge(): MutationHalfEdge;
|
|
18
|
+
protected abstract startIndexerValueEdge(): MutationHalfEdge;
|
|
19
|
+
protected abstract startIndexerKeyEdge(): MutationHalfEdge;
|
|
20
|
+
mutate(newOptions?: MutationOptions): void;
|
|
17
21
|
}
|
|
18
22
|
//# sourceMappingURL=model.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../src/mutation/model.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,KAAK,EACV,qBAAqB,EACrB,cAAc,EACd,WAAW,EACX,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../src/mutation/model.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,KAAK,EACV,qBAAqB,EACrB,cAAc,EACd,WAAW,EACX,gBAAgB,EAChB,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,QAAQ,EAAE,KAAK,YAAY,EAAE,MAAM,eAAe,CAAC;AAE5D,8BAAsB,aAAa,CACjC,gBAAgB,SAAS,qBAAqB,EAC9C,QAAQ,SAAS,eAAe,EAChC,OAAO,SAAS,cAAc,CAAC,gBAAgB,CAAC,GAAG,cAAc,CAAC,gBAAgB,CAAC,CACnF,SAAQ,QAAQ,CAAC,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,OAAO,CAAC;IAC5D,QAAQ,CAAC,IAAI,WAAW;IACxB,SAAS,CAAC,EAAE,WAAW,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;IACnD,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC,CAAa;IACpF,OAAO,CAAC,EAAE;QACR,GAAG,EAAE,WAAW,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;QAC7C,KAAK,EAAE,WAAW,CAAC,gBAAgB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;KACpD,CAAC;gBAGA,MAAM,EAAE,OAAO,EACf,UAAU,EAAE,KAAK,EACjB,cAAc,EAAE,UAAU,EAAE,EAC5B,OAAO,EAAE,QAAQ,EACjB,IAAI,EAAE,YAAY;IAKpB,SAAS,CAAC,eAAe,CAAC,UAAU,GAAE,eAA8B;IAUpE,SAAS,CAAC,gBAAgB,CAAC,UAAU,GAAE,eAA8B;IASrE,SAAS,CAAC,aAAa,CAAC,UAAU,GAAE,eAA8B;IAiBlE,SAAS,CAAC,QAAQ,CAAC,aAAa,IAAI,gBAAgB;IACpD,SAAS,CAAC,QAAQ,CAAC,iBAAiB,IAAI,gBAAgB;IACxD,SAAS,CAAC,QAAQ,CAAC,qBAAqB,IAAI,gBAAgB;IAC5D,SAAS,CAAC,QAAQ,CAAC,mBAAmB,IAAI,gBAAgB;IAE1D,MAAM,CAAC,UAAU,GAAE,eAA8B;CAKlD"}
|
|
@@ -4,31 +4,31 @@ export class ModelMutation extends Mutation {
|
|
|
4
4
|
baseModel;
|
|
5
5
|
properties = new Map();
|
|
6
6
|
indexer;
|
|
7
|
-
constructor(engine, sourceType, referenceTypes
|
|
8
|
-
super(engine, sourceType, referenceTypes, options);
|
|
7
|
+
constructor(engine, sourceType, referenceTypes, options, info) {
|
|
8
|
+
super(engine, sourceType, referenceTypes, options, info);
|
|
9
9
|
}
|
|
10
|
-
mutateBaseModel() {
|
|
10
|
+
mutateBaseModel(newOptions = this.options) {
|
|
11
11
|
if (this.sourceType.baseModel) {
|
|
12
|
-
this.baseModel = this.engine.mutate(this.sourceType.baseModel, this.
|
|
12
|
+
this.baseModel = this.engine.mutate(this.sourceType.baseModel, newOptions, this.startBaseEdge());
|
|
13
13
|
}
|
|
14
14
|
}
|
|
15
|
-
mutateProperties() {
|
|
15
|
+
mutateProperties(newOptions = this.options) {
|
|
16
16
|
for (const prop of this.sourceType.properties.values()) {
|
|
17
|
-
this.properties.set(prop.name, this.engine.mutate(prop, this.
|
|
17
|
+
this.properties.set(prop.name, this.engine.mutate(prop, newOptions, this.startPropertyEdge()));
|
|
18
18
|
}
|
|
19
19
|
}
|
|
20
|
-
mutateIndexer() {
|
|
20
|
+
mutateIndexer(newOptions = this.options) {
|
|
21
21
|
if (this.sourceType.indexer) {
|
|
22
22
|
this.indexer = {
|
|
23
|
-
key: this.engine.mutate(this.sourceType.indexer.key, this.
|
|
24
|
-
value: this.engine.mutate(this.sourceType.indexer.value, this.
|
|
23
|
+
key: this.engine.mutate(this.sourceType.indexer.key, newOptions, this.startIndexerKeyEdge()),
|
|
24
|
+
value: this.engine.mutate(this.sourceType.indexer.value, newOptions, this.startIndexerValueEdge()),
|
|
25
25
|
};
|
|
26
26
|
}
|
|
27
27
|
}
|
|
28
|
-
mutate() {
|
|
29
|
-
this.mutateBaseModel();
|
|
30
|
-
this.mutateProperties();
|
|
31
|
-
this.mutateIndexer();
|
|
28
|
+
mutate(newOptions = this.options) {
|
|
29
|
+
this.mutateBaseModel(newOptions);
|
|
30
|
+
this.mutateProperties(newOptions);
|
|
31
|
+
this.mutateIndexer(newOptions);
|
|
32
32
|
}
|
|
33
33
|
}
|
|
34
34
|
//# sourceMappingURL=model.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../../src/mutation/model.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../../src/mutation/model.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,QAAQ,EAAqB,MAAM,eAAe,CAAC;AAE5D,MAAM,OAAgB,aAIpB,SAAQ,QAAoD;IACnD,IAAI,GAAG,OAAO,CAAC;IACxB,SAAS,CAA0C;IACnD,UAAU,GAAgE,IAAI,GAAG,EAAE,CAAC;IACpF,OAAO,CAGL;IAEF,YACE,MAAe,EACf,UAAiB,EACjB,cAA4B,EAC5B,OAAiB,EACjB,IAAkB;QAElB,KAAK,CAAC,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAC3D,CAAC;IAES,eAAe,CAAC,aAA8B,IAAI,CAAC,OAAO;QAClE,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;YAC9B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CACjC,IAAI,CAAC,UAAU,CAAC,SAAS,EACzB,UAAU,EACV,IAAI,CAAC,aAAa,EAAE,CACrB,CAAC;QACJ,CAAC;IACH,CAAC;IAES,gBAAgB,CAAC,aAA8B,IAAI,CAAC,OAAO;QACnE,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC;YACvD,IAAI,CAAC,UAAU,CAAC,GAAG,CACjB,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAC/D,CAAC;QACJ,CAAC;IACH,CAAC;IAES,aAAa,CAAC,aAA8B,IAAI,CAAC,OAAO;QAChE,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;YAC5B,IAAI,CAAC,OAAO,GAAG;gBACb,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CACrB,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,EAC3B,UAAU,EACV,IAAI,CAAC,mBAAmB,EAAE,CAC3B;gBACD,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CACvB,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,EAC7B,UAAU,EACV,IAAI,CAAC,qBAAqB,EAAE,CAC7B;aACF,CAAC;QACJ,CAAC;IACH,CAAC;IAOD,MAAM,CAAC,aAA8B,IAAI,CAAC,OAAO;QAC/C,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;QACjC,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;QAClC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IACjC,CAAC;CACF"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { MemberType, Type } from "@typespec/compiler";
|
|
2
2
|
import type { Typekit } from "@typespec/compiler/typekit";
|
|
3
|
-
import type
|
|
4
|
-
import {
|
|
3
|
+
import { type MutationNodeForType } from "../mutation-node/factory.js";
|
|
4
|
+
import { MutationNode, type MutationNodeOptions } from "../mutation-node/mutation-node.js";
|
|
5
5
|
import { EnumMemberMutation } from "./enum-member.js";
|
|
6
6
|
import { EnumMutation } from "./enum.js";
|
|
7
7
|
import { InterfaceMutation } from "./interface.js";
|
|
@@ -18,9 +18,9 @@ export type MutationRegistry = Record<Type["kind"], Mutation<Type, any, any>>;
|
|
|
18
18
|
export interface DefaultMutationClasses<TCustomMutations extends CustomMutationClasses> extends MutationRegistry {
|
|
19
19
|
Operation: OperationMutation<MutationOptions, TCustomMutations>;
|
|
20
20
|
Interface: InterfaceMutation<MutationOptions, TCustomMutations>;
|
|
21
|
-
Model: ModelMutation<
|
|
21
|
+
Model: ModelMutation<TCustomMutations, MutationOptions>;
|
|
22
22
|
Scalar: ScalarMutation<MutationOptions, TCustomMutations>;
|
|
23
|
-
ModelProperty: ModelPropertyMutation<
|
|
23
|
+
ModelProperty: ModelPropertyMutation<TCustomMutations, MutationOptions>;
|
|
24
24
|
Union: UnionMutation<MutationOptions, TCustomMutations>;
|
|
25
25
|
UnionVariant: UnionVariantMutation<MutationOptions, TCustomMutations>;
|
|
26
26
|
Enum: EnumMutation<MutationOptions, TCustomMutations>;
|
|
@@ -40,45 +40,90 @@ export type ConstructorsFor<T> = {
|
|
|
40
40
|
export type InstancesFor<T extends Record<string, new (...args: any[]) => any>> = {
|
|
41
41
|
[K in keyof T]: InstanceType<T[K]>;
|
|
42
42
|
};
|
|
43
|
+
export interface InitialMutationContext<TSourceType extends Type, TCustomMutations extends CustomMutationClasses, TOptions extends MutationOptions = MutationOptions, TEngine extends MutationEngine<TCustomMutations> = MutationEngine<TCustomMutations>> {
|
|
44
|
+
engine: TEngine;
|
|
45
|
+
sourceType: TSourceType;
|
|
46
|
+
referenceTypes: MemberType[];
|
|
47
|
+
options: TOptions;
|
|
48
|
+
}
|
|
49
|
+
export interface CreateMutationContext {
|
|
50
|
+
mutationKey: string;
|
|
51
|
+
}
|
|
52
|
+
export interface MutationContext<TSourceType extends Type, TCustomMutations extends CustomMutationClasses, TOptions extends MutationOptions = MutationOptions, TEngine extends MutationEngine<TCustomMutations> = MutationEngine<TCustomMutations>> extends InitialMutationContext<TSourceType, TCustomMutations, TOptions, TEngine>, CreateMutationContext {
|
|
53
|
+
}
|
|
54
|
+
export interface MutationTraits {
|
|
55
|
+
isSynthetic?: boolean;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Orchestrates type mutations using custom and default mutation classes.
|
|
59
|
+
*/
|
|
43
60
|
export declare class MutationEngine<TCustomMutations extends CustomMutationClasses> {
|
|
44
61
|
#private;
|
|
62
|
+
/** TypeSpec type utilities. */
|
|
45
63
|
$: Typekit;
|
|
64
|
+
/**
|
|
65
|
+
* Creates a mutation engine with optional custom mutation classes.
|
|
66
|
+
* @param $ - TypeSpec type utilities
|
|
67
|
+
* @param mutatorClasses - Custom mutation class constructors
|
|
68
|
+
*/
|
|
46
69
|
constructor($: Typekit, mutatorClasses: ConstructorsFor<TCustomMutations>);
|
|
47
|
-
protected registerSubgraph(name: string): void;
|
|
48
|
-
protected getMutationSubgraph(options: MutationOptions, name?: string): MutationSubgraph;
|
|
49
|
-
getDefaultMutationSubgraph(options?: MutationOptions): MutationSubgraph;
|
|
50
70
|
/**
|
|
51
|
-
*
|
|
71
|
+
* Gets or creates a mutation node for the given type and key.
|
|
72
|
+
* @param type - Source type
|
|
73
|
+
* @param mutationKey - Cache key for the node
|
|
74
|
+
* @returns Mutation node for the type
|
|
52
75
|
*/
|
|
53
|
-
|
|
76
|
+
getMutationNode<T extends Type>(type: T, options?: MutationNodeOptions | string): MutationNodeForType<T>;
|
|
54
77
|
/**
|
|
55
|
-
*
|
|
78
|
+
* Replaces one mutation node with another in the cache.
|
|
79
|
+
* @param oldNode - Node to remove
|
|
80
|
+
* @param newNode - Node to add
|
|
56
81
|
*/
|
|
57
|
-
|
|
82
|
+
replaceMutationNode(oldNode: MutationNode<Type>, newNode: MutationNode<Type>): void;
|
|
58
83
|
/**
|
|
59
|
-
*
|
|
60
|
-
*
|
|
84
|
+
* Replaces a reference with a new type and mutates it.
|
|
85
|
+
* @param reference - Original reference to replace
|
|
86
|
+
* @param newType - New type to use
|
|
87
|
+
* @param options - Mutation options
|
|
88
|
+
* @param halfEdge - Optional half edge for tracking
|
|
89
|
+
* @returns Mutation for the new type
|
|
61
90
|
*/
|
|
62
|
-
|
|
91
|
+
replaceAndMutateReference<TType extends Type>(reference: MemberType, newType: TType, options?: MutationOptions, halfEdge?: MutationHalfEdge): MutationFor<TCustomMutations, TType["kind"]>;
|
|
63
92
|
/**
|
|
64
|
-
*
|
|
93
|
+
* Internal worker that creates or retrieves mutations with caching.
|
|
65
94
|
*/
|
|
66
|
-
|
|
95
|
+
protected mutateWorker<TType extends Type>(type: TType, references: MemberType[], options: MutationOptions, halfEdge?: MutationHalfEdge, traits?: MutationTraits): MutationFor<TCustomMutations, TType["kind"]>;
|
|
67
96
|
/**
|
|
68
|
-
*
|
|
97
|
+
* Mutates a type using registered mutation classes.
|
|
98
|
+
* @param type - Type to mutate
|
|
99
|
+
* @param options - Mutation options
|
|
100
|
+
* @param halfEdge - Optional half edge for linking mutations to parent mutations
|
|
101
|
+
* @returns Mutation for the type
|
|
69
102
|
*/
|
|
70
|
-
|
|
103
|
+
mutate<TType extends Type>(type: TType, options?: MutationOptions, halfEdge?: MutationHalfEdge, traits?: MutationTraits): MutationFor<TCustomMutations, TType["kind"]>;
|
|
71
104
|
/**
|
|
72
|
-
*
|
|
73
|
-
*
|
|
105
|
+
* Mutates a type through a reference chain (e.g., ModelProperty or UnionVariant).
|
|
106
|
+
* @param reference - Reference to mutate
|
|
107
|
+
* @param options - Mutation options
|
|
108
|
+
* @param halfEdge - Optional half edge for tracking
|
|
109
|
+
* @returns Mutation for the referenced type
|
|
74
110
|
*/
|
|
75
|
-
|
|
76
|
-
mutateType<T extends Type>(subgraphOrOptions: MutationOptions | MutationSubgraph, type: T, initializeMutation: (type: T) => void): void;
|
|
77
|
-
mutate<TType extends Type>(type: TType, options?: MutationOptions): MutationFor<TCustomMutations, TType["kind"]>;
|
|
78
|
-
mutateReference<TType extends MemberType>(memberType: TType, referencedMutationNode: Type, options: MutationOptions): MutationFor<TCustomMutations>;
|
|
79
|
-
mutateReference<TType extends MemberType>(memberType: TType, options: MutationOptions): MutationFor<TCustomMutations>;
|
|
111
|
+
mutateReference(reference: MemberType, options?: MutationOptions, halfEdge?: MutationHalfEdge, traits?: MutationTraits): MutationFor<TCustomMutations>;
|
|
80
112
|
}
|
|
81
113
|
export declare class MutationOptions {
|
|
82
|
-
|
|
114
|
+
get mutationKey(): string;
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Half-edge used to link mutations together. This represents the head-end of a
|
|
118
|
+
* mutation. When the tail is created, it is set on the half-edge and allows the
|
|
119
|
+
* head mutation to connect its nodes to the tail mutation.
|
|
120
|
+
*/
|
|
121
|
+
export declare class MutationHalfEdge<THead extends Mutation<any, any> = any, TTail extends Mutation<any, any> = any> {
|
|
122
|
+
#private;
|
|
123
|
+
head: THead;
|
|
124
|
+
tail: TTail | undefined;
|
|
125
|
+
readonly kind: string;
|
|
126
|
+
constructor(kind: string, head: THead, onTailCreation: (tail: TTail) => void);
|
|
127
|
+
setTail(tail: TTail): void;
|
|
83
128
|
}
|
|
84
129
|
//# sourceMappingURL=mutation-engine.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mutation-engine.d.ts","sourceRoot":"","sources":["../../../src/mutation/mutation-engine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"mutation-engine.d.ts","sourceRoot":"","sources":["../../../src/mutation/mutation-engine.ts"],"names":[],"mappings":"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"}
|