@typespec/compiler 0.68.0-dev.1 → 0.68.0-dev.2

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 (42) hide show
  1. package/dist/manifest.js +2 -2
  2. package/package.json +1 -5
  3. package/dist/src/emitter-framework/asset-emitter.d.ts +0 -6
  4. package/dist/src/emitter-framework/asset-emitter.d.ts.map +0 -1
  5. package/dist/src/emitter-framework/asset-emitter.js +0 -740
  6. package/dist/src/emitter-framework/asset-emitter.js.map +0 -1
  7. package/dist/src/emitter-framework/builders/array-builder.d.ts +0 -7
  8. package/dist/src/emitter-framework/builders/array-builder.d.ts.map +0 -1
  9. package/dist/src/emitter-framework/builders/array-builder.js +0 -35
  10. package/dist/src/emitter-framework/builders/array-builder.js.map +0 -1
  11. package/dist/src/emitter-framework/builders/object-builder.d.ts +0 -12
  12. package/dist/src/emitter-framework/builders/object-builder.d.ts.map +0 -1
  13. package/dist/src/emitter-framework/builders/object-builder.js +0 -52
  14. package/dist/src/emitter-framework/builders/object-builder.js.map +0 -1
  15. package/dist/src/emitter-framework/builders/string-builder.d.ts +0 -13
  16. package/dist/src/emitter-framework/builders/string-builder.d.ts.map +0 -1
  17. package/dist/src/emitter-framework/builders/string-builder.js +0 -90
  18. package/dist/src/emitter-framework/builders/string-builder.js.map +0 -1
  19. package/dist/src/emitter-framework/index.d.ts +0 -75
  20. package/dist/src/emitter-framework/index.d.ts.map +0 -1
  21. package/dist/src/emitter-framework/index.js +0 -33
  22. package/dist/src/emitter-framework/index.js.map +0 -1
  23. package/dist/src/emitter-framework/placeholder.d.ts +0 -12
  24. package/dist/src/emitter-framework/placeholder.d.ts.map +0 -1
  25. package/dist/src/emitter-framework/placeholder.js +0 -18
  26. package/dist/src/emitter-framework/placeholder.js.map +0 -1
  27. package/dist/src/emitter-framework/ref-scope.d.ts +0 -14
  28. package/dist/src/emitter-framework/ref-scope.d.ts.map +0 -1
  29. package/dist/src/emitter-framework/ref-scope.js +0 -30
  30. package/dist/src/emitter-framework/ref-scope.js.map +0 -1
  31. package/dist/src/emitter-framework/reference-cycle.d.ts +0 -23
  32. package/dist/src/emitter-framework/reference-cycle.d.ts.map +0 -1
  33. package/dist/src/emitter-framework/reference-cycle.js +0 -32
  34. package/dist/src/emitter-framework/reference-cycle.js.map +0 -1
  35. package/dist/src/emitter-framework/type-emitter.d.ts +0 -349
  36. package/dist/src/emitter-framework/type-emitter.d.ts.map +0 -1
  37. package/dist/src/emitter-framework/type-emitter.js +0 -721
  38. package/dist/src/emitter-framework/type-emitter.js.map +0 -1
  39. package/dist/src/emitter-framework/types.d.ts +0 -140
  40. package/dist/src/emitter-framework/types.d.ts.map +0 -1
  41. package/dist/src/emitter-framework/types.js +0 -42
  42. package/dist/src/emitter-framework/types.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"asset-emitter.js","sourceRoot":"","sources":["../../../src/emitter-framework/asset-emitter.ts"],"names":[],"mappings":"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"}
@@ -1,7 +0,0 @@
1
- import { Placeholder } from "../placeholder.js";
2
- import { EmitEntity } from "../types.js";
3
- export declare class ArrayBuilder<T> extends Array {
4
- #private;
5
- push(...values: (EmitEntity<T> | Placeholder<T> | T)[]): number;
6
- }
7
- //# sourceMappingURL=array-builder.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"array-builder.d.ts","sourceRoot":"","sources":["../../../../src/emitter-framework/builders/array-builder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAiB,MAAM,aAAa,CAAC;AAExD,qBAAa,YAAY,CAAC,CAAC,CAAE,SAAQ,KAAK;;IASxC,IAAI,CAAC,GAAG,MAAM,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,MAAM;CAwBhE"}
@@ -1,35 +0,0 @@
1
- import { compilerAssert } from "../../core/diagnostics.js";
2
- import { Placeholder } from "../placeholder.js";
3
- import { EmitterResult } from "../types.js";
4
- export class ArrayBuilder extends Array {
5
- #setPlaceholderValue(p, value) {
6
- for (const [i, item] of this.entries()) {
7
- if (item === p) {
8
- this[i] = value;
9
- }
10
- }
11
- }
12
- push(...values) {
13
- for (const v of values) {
14
- let toPush;
15
- if (v instanceof EmitterResult) {
16
- compilerAssert(v.kind !== "circular", "Can't push a circular emit result.");
17
- if (v.kind === "none") {
18
- toPush = undefined;
19
- }
20
- else {
21
- toPush = v.value;
22
- }
23
- }
24
- else {
25
- toPush = v;
26
- }
27
- if (toPush instanceof Placeholder) {
28
- toPush.onValue((v) => this.#setPlaceholderValue(toPush, v));
29
- }
30
- super.push(toPush);
31
- }
32
- return values.length;
33
- }
34
- }
35
- //# sourceMappingURL=array-builder.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"array-builder.js","sourceRoot":"","sources":["../../../../src/emitter-framework/builders/array-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAc,aAAa,EAAE,MAAM,aAAa,CAAC;AAExD,MAAM,OAAO,YAAgB,SAAQ,KAAK;IACxC,oBAAoB,CAAC,CAAiB,EAAE,KAAQ;QAC9C,KAAK,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;YACvC,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;gBACf,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;YAClB,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,CAAC,GAAG,MAA8C;QACpD,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;YACvB,IAAI,MAAsC,CAAC;YAC3C,IAAI,CAAC,YAAY,aAAa,EAAE,CAAC;gBAC/B,cAAc,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,EAAE,oCAAoC,CAAC,CAAC;gBAE5E,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;oBACtB,MAAM,GAAG,SAAS,CAAC;gBACrB,CAAC;qBAAM,CAAC;oBACN,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC;gBACnB,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,CAAC,CAAC;YACb,CAAC;YAED,IAAI,MAAM,YAAY,WAAW,EAAE,CAAC;gBAClC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAwB,EAAE,CAAC,CAAC,CAAC,CAAC;YAChF,CAAC;YAED,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACrB,CAAC;QAED,OAAO,MAAM,CAAC,MAAM,CAAC;IACvB,CAAC;CACF"}
@@ -1,12 +0,0 @@
1
- import { Placeholder } from "../placeholder.js";
2
- import { EmitEntity } from "../types.js";
3
- declare const placeholderSym: unique symbol;
4
- export interface ObjectBuilder<T> extends Record<string, any> {
5
- }
6
- export declare class ObjectBuilder<T> {
7
- private readonly [placeholderSym];
8
- constructor(initializer?: Record<string, unknown> | Placeholder<Record<string, unknown>> | ObjectBuilder<T>);
9
- set(key: string, v: EmitEntity<T> | Placeholder<T> | T): void;
10
- }
11
- export {};
12
- //# sourceMappingURL=object-builder.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"object-builder.d.ts","sourceRoot":"","sources":["../../../../src/emitter-framework/builders/object-builder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAiB,MAAM,aAAa,CAAC;AAExD,QAAA,MAAM,cAAc,eAAwB,CAAC;AAG7C,MAAM,WAAW,aAAa,CAAC,CAAC,CAAE,SAAQ,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAAG;AAEhE,qBAAa,aAAa,CAAC,CAAC;IAC1B,OAAO,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,CAA+B;gBAG9D,WAAW,GACP,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACvB,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GACpC,aAAa,CAAC,CAAC,CAAM;IA0B3B,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC;CAqBvD"}
@@ -1,52 +0,0 @@
1
- import { compilerAssert } from "../../core/diagnostics.js";
2
- import { Placeholder } from "../placeholder.js";
3
- import { EmitterResult } from "../types.js";
4
- const placeholderSym = Symbol("placeholder");
5
- // eslint-disable-next-line @typescript-eslint/no-unsafe-declaration-merging
6
- export class ObjectBuilder {
7
- [placeholderSym];
8
- constructor(initializer = {}) {
9
- const copyProperties = (source) => {
10
- for (const [key, value] of Object.entries(source)) {
11
- this.set(key, value);
12
- }
13
- };
14
- const registerPlaceholder = (placeholder) => {
15
- placeholder.onValue(copyProperties);
16
- };
17
- if (initializer instanceof ObjectBuilder) {
18
- if (initializer[placeholderSym]) {
19
- this[placeholderSym] = initializer[placeholderSym];
20
- registerPlaceholder(initializer[placeholderSym]);
21
- }
22
- copyProperties(initializer);
23
- }
24
- else if (initializer instanceof Placeholder) {
25
- this[placeholderSym] = initializer;
26
- registerPlaceholder(initializer);
27
- }
28
- else {
29
- copyProperties(initializer);
30
- }
31
- }
32
- set(key, v) {
33
- let value = v;
34
- if (v instanceof EmitterResult) {
35
- compilerAssert(v.kind !== "circular", "Can't set a circular emit result.");
36
- if (v.kind === "none") {
37
- this[key] = undefined;
38
- return;
39
- }
40
- else {
41
- value = v.value;
42
- }
43
- }
44
- if (value instanceof Placeholder) {
45
- value.onValue((v) => {
46
- this[key] = v;
47
- });
48
- }
49
- this[key] = value;
50
- }
51
- }
52
- //# sourceMappingURL=object-builder.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"object-builder.js","sourceRoot":"","sources":["../../../../src/emitter-framework/builders/object-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAc,aAAa,EAAE,MAAM,aAAa,CAAC;AAExD,MAAM,cAAc,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;AAI7C,4EAA4E;AAC5E,MAAM,OAAO,aAAa;IACP,CAAC,cAAc,CAAC,CAA+B;IAEhE,YACE,cAGuB,EAAE;QAEzB,MAAM,cAAc,GAAG,CAAC,MAA+B,EAAE,EAAE;YACzD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBAClD,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAY,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC,CAAC;QACF,MAAM,mBAAmB,GAAG,CAAC,WAAiD,EAAE,EAAE;YAChF,WAAW,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QACtC,CAAC,CAAC;QAEF,IAAI,WAAW,YAAY,aAAa,EAAE,CAAC;YACzC,IAAI,WAAW,CAAC,cAAc,CAAC,EAAE,CAAC;gBAChC,IAAI,CAAC,cAAc,CAAC,GAAG,WAAW,CAAC,cAAc,CAAC,CAAC;gBACnD,mBAAmB,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,CAAC;YACnD,CAAC;YACD,cAAc,CAAC,WAAW,CAAC,CAAC;QAC9B,CAAC;aAAM,IAAI,WAAW,YAAY,WAAW,EAAE,CAAC;YAC9C,IAAI,CAAC,cAAc,CAAC,GAAG,WAAW,CAAC;YAEnC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QACnC,CAAC;aAAM,CAAC;YACN,cAAc,CAAC,WAAW,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,CAAqC;QACpD,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,CAAC,YAAY,aAAa,EAAE,CAAC;YAC/B,cAAc,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,EAAE,mCAAmC,CAAC,CAAC;YAE3E,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBACtB,IAAI,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;gBACtB,OAAO;YACT,CAAC;iBAAM,CAAC;gBACN,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;YAClB,CAAC;QACH,CAAC;QAED,IAAI,KAAK,YAAY,WAAW,EAAE,CAAC;YACjC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;gBAClB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAChB,CAAC,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACpB,CAAC;CACF"}
@@ -1,13 +0,0 @@
1
- import { Placeholder } from "../placeholder.js";
2
- import { EmitEntity } from "../types.js";
3
- export declare class StringBuilder extends Placeholder<string> {
4
- #private;
5
- segments: (string | Placeholder<string>)[];
6
- pushLiteralSegment(segment: string): void;
7
- pushPlaceholder(ph: Placeholder<string>): void;
8
- pushStringBuilder(builder: StringBuilder): void;
9
- push(segment: StringBuilder | Placeholder<string> | string): void;
10
- reduce(): string | this;
11
- }
12
- export declare function code(parts: TemplateStringsArray, ...substitutions: (EmitEntity<string> | string | Placeholder<string> | StringBuilder)[]): StringBuilder | string;
13
- //# sourceMappingURL=string-builder.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"string-builder.d.ts","sourceRoot":"","sources":["../../../../src/emitter-framework/builders/string-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,qBAAa,aAAc,SAAQ,WAAW,CAAC,MAAM,CAAC;;IAC7C,QAAQ,EAAE,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,CAAM;IAoBvD,kBAAkB,CAAC,OAAO,EAAE,MAAM;IAQlC,eAAe,CAAC,EAAE,EAAE,WAAW,CAAC,MAAM,CAAC;IAUvC,iBAAiB,CAAC,OAAO,EAAE,aAAa;IAMxC,IAAI,CAAC,OAAO,EAAE,aAAa,GAAG,WAAW,CAAC,MAAM,CAAC,GAAG,MAAM;IAU1D,MAAM;CAWP;AAED,wBAAgB,IAAI,CAClB,KAAK,EAAE,oBAAoB,EAC3B,GAAG,aAAa,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,GAAG,aAAa,CAAC,EAAE,GACtF,aAAa,GAAG,MAAM,CA2BxB"}
@@ -1,90 +0,0 @@
1
- import { Placeholder } from "../placeholder.js";
2
- export class StringBuilder extends Placeholder {
3
- segments = [];
4
- #placeholders = new Set();
5
- #notifyComplete() {
6
- const value = this.segments.join("");
7
- this.setValue(value);
8
- }
9
- #setPlaceholderValue(ph, value) {
10
- for (const [i, segment] of this.segments.entries()) {
11
- if (segment === ph) {
12
- this.segments[i] = value;
13
- }
14
- }
15
- this.#placeholders.delete(ph);
16
- if (this.#placeholders.size === 0) {
17
- this.#notifyComplete();
18
- }
19
- }
20
- pushLiteralSegment(segment) {
21
- if (this.#shouldConcatLiteral()) {
22
- this.segments[this.segments.length - 1] += segment;
23
- }
24
- else {
25
- this.segments.push(segment);
26
- }
27
- }
28
- pushPlaceholder(ph) {
29
- this.#placeholders.add(ph);
30
- ph.onValue((value) => {
31
- this.#setPlaceholderValue(ph, value);
32
- });
33
- this.segments.push(ph);
34
- }
35
- pushStringBuilder(builder) {
36
- for (const segment of builder.segments) {
37
- this.push(segment);
38
- }
39
- }
40
- push(segment) {
41
- if (typeof segment === "string") {
42
- this.pushLiteralSegment(segment);
43
- }
44
- else if (segment instanceof StringBuilder) {
45
- this.pushStringBuilder(segment);
46
- }
47
- else {
48
- this.pushPlaceholder(segment);
49
- }
50
- }
51
- reduce() {
52
- if (this.#placeholders.size === 0) {
53
- return this.segments.join("");
54
- }
55
- return this;
56
- }
57
- #shouldConcatLiteral() {
58
- return this.segments.length > 0 && typeof this.segments[this.segments.length - 1] === "string";
59
- }
60
- }
61
- export function code(parts, ...substitutions) {
62
- const builder = new StringBuilder();
63
- for (const [i, literalPart] of parts.entries()) {
64
- builder.push(literalPart);
65
- if (i < substitutions.length) {
66
- const sub = substitutions[i];
67
- if (typeof sub === "string") {
68
- builder.push(sub);
69
- }
70
- else if (sub instanceof StringBuilder) {
71
- builder.pushStringBuilder(sub);
72
- }
73
- else if (sub instanceof Placeholder) {
74
- builder.pushPlaceholder(sub);
75
- }
76
- else {
77
- switch (sub.kind) {
78
- case "circular":
79
- case "none":
80
- builder.pushLiteralSegment("");
81
- break;
82
- default:
83
- builder.push(sub.value);
84
- }
85
- }
86
- }
87
- }
88
- return builder.reduce();
89
- }
90
- //# sourceMappingURL=string-builder.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"string-builder.js","sourceRoot":"","sources":["../../../../src/emitter-framework/builders/string-builder.ts"],"names":[],"mappings":"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"}
@@ -1,75 +0,0 @@
1
- export {
2
- /** @deprecated use @typespec/asset-emitter package instead */ createAssetEmitter, } from "./asset-emitter.js";
3
- export {
4
- /** @deprecated use @typespec/asset-emitter package instead */ ArrayBuilder, } from "./builders/array-builder.js";
5
- export {
6
- /** @deprecated use @typespec/asset-emitter package instead */ ObjectBuilder, } from "./builders/object-builder.js";
7
- export {
8
- /** @deprecated use @typespec/asset-emitter package instead */
9
- StringBuilder,
10
- /** @deprecated use @typespec/asset-emitter package instead */ code, } from "./builders/string-builder.js";
11
- export {
12
- /** @deprecated use @typespec/asset-emitter package instead */
13
- Placeholder, } from "./placeholder.js";
14
- export {
15
- /** @deprecated use @typespec/asset-emitter package instead */ ReferenceCycle, } from "./reference-cycle.js";
16
- export {
17
- /** @deprecated use @typespec/asset-emitter package instead */
18
- CodeTypeEmitter,
19
- /** @deprecated use @typespec/asset-emitter package instead */
20
- EmitterOutput,
21
- /** @deprecated use @typespec/asset-emitter package instead */
22
- TypeEmitter, } from "./type-emitter.js";
23
- /** @deprecated use @typespec/asset-emitter package instead */
24
- export {
25
- /** @deprecated use @typespec/asset-emitter package instead */
26
- CircularEmit,
27
- /** @deprecated use @typespec/asset-emitter package instead */
28
- Declaration,
29
- /** @deprecated use @typespec/asset-emitter package instead */
30
- EmitterResult,
31
- /** @deprecated use @typespec/asset-emitter package instead */
32
- NoEmit,
33
- /** @deprecated use @typespec/asset-emitter package instead */
34
- RawCode,
35
- /** @deprecated use @typespec/asset-emitter package instead */
36
- type AssetEmitter,
37
- /** @deprecated use @typespec/asset-emitter package instead */
38
- type AssetTag,
39
- /** @deprecated use @typespec/asset-emitter package instead */
40
- type AssetTagFactory,
41
- /** @deprecated use @typespec/asset-emitter package instead */
42
- type AssetTagInstance,
43
- /** @deprecated use @typespec/asset-emitter package instead */
44
- type Context,
45
- /** @deprecated use @typespec/asset-emitter package instead */
46
- type ContextState,
47
- /** @deprecated use @typespec/asset-emitter package instead */
48
- type ESRecord,
49
- /** @deprecated use @typespec/asset-emitter package instead */
50
- type EmitEntity,
51
- /** @deprecated use @typespec/asset-emitter package instead */
52
- type EmitTypeReferenceOptions,
53
- /** @deprecated use @typespec/asset-emitter package instead */
54
- type EmittedSourceFile,
55
- /** @deprecated use @typespec/asset-emitter package instead */
56
- type EmitterState,
57
- /** @deprecated use @typespec/asset-emitter package instead */
58
- type LexicalTypeStackEntry,
59
- /** @deprecated use @typespec/asset-emitter package instead */
60
- type NamespaceScope,
61
- /** @deprecated use @typespec/asset-emitter package instead */
62
- type Scope,
63
- /** @deprecated use @typespec/asset-emitter package instead */
64
- type ScopeBase,
65
- /** @deprecated use @typespec/asset-emitter package instead */
66
- type SourceFile,
67
- /** @deprecated use @typespec/asset-emitter package instead */
68
- type SourceFileScope,
69
- /** @deprecated use @typespec/asset-emitter package instead */
70
- type TypeEmitterMethod,
71
- /** @deprecated use @typespec/asset-emitter package instead */
72
- type TypeReference,
73
- /** @deprecated use @typespec/asset-emitter package instead */
74
- type TypeSpecDeclaration, } from "./types.js";
75
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/emitter-framework/index.ts"],"names":[],"mappings":"AAAA,OAAO;AACL,8DAA8D,CAAC,kBAAkB,GAClF,MAAM,oBAAoB,CAAC;AAC5B,OAAO;AACL,8DAA8D,CAAC,YAAY,GAC5E,MAAM,6BAA6B,CAAC;AACrC,OAAO;AACL,8DAA8D,CAAC,aAAa,GAC7E,MAAM,8BAA8B,CAAC;AACtC,OAAO;AACL,8DAA8D;AAC9D,aAAa;AACb,8DAA8D,CAAC,IAAI,GACpE,MAAM,8BAA8B,CAAC;AACtC,OAAO;AACL,8DAA8D;AAC9D,WAAW,GACZ,MAAM,kBAAkB,CAAC;AAC1B,OAAO;AACL,8DAA8D,CAAC,cAAc,GAC9E,MAAM,sBAAsB,CAAC;AAC9B,OAAO;AACL,8DAA8D;AAC9D,eAAe;AACf,8DAA8D;AAC9D,aAAa;AACb,8DAA8D;AAC9D,WAAW,GACZ,MAAM,mBAAmB,CAAC;AAC3B,8DAA8D;AAC9D,OAAO;AACL,8DAA8D;AAC9D,YAAY;AACZ,8DAA8D;AAC9D,WAAW;AACX,8DAA8D;AAC9D,aAAa;AACb,8DAA8D;AAC9D,MAAM;AACN,8DAA8D;AAC9D,OAAO;AACP,8DAA8D;AAC9D,KAAK,YAAY;AACjB,8DAA8D;AAC9D,KAAK,QAAQ;AACb,8DAA8D;AAC9D,KAAK,eAAe;AACpB,8DAA8D;AAC9D,KAAK,gBAAgB;AACrB,8DAA8D;AAC9D,KAAK,OAAO;AACZ,8DAA8D;AAC9D,KAAK,YAAY;AACjB,8DAA8D;AAC9D,KAAK,QAAQ;AACb,8DAA8D;AAC9D,KAAK,UAAU;AACf,8DAA8D;AAC9D,KAAK,wBAAwB;AAC7B,8DAA8D;AAC9D,KAAK,iBAAiB;AACtB,8DAA8D;AAC9D,KAAK,YAAY;AACjB,8DAA8D;AAC9D,KAAK,qBAAqB;AAC1B,8DAA8D;AAC9D,KAAK,cAAc;AACnB,8DAA8D;AAC9D,KAAK,KAAK;AACV,8DAA8D;AAC9D,KAAK,SAAS;AACd,8DAA8D;AAC9D,KAAK,UAAU;AACf,8DAA8D;AAC9D,KAAK,eAAe;AACpB,8DAA8D;AAC9D,KAAK,iBAAiB;AACtB,8DAA8D;AAC9D,KAAK,aAAa;AAClB,8DAA8D;AAC9D,KAAK,mBAAmB,GACzB,MAAM,YAAY,CAAC"}
@@ -1,33 +0,0 @@
1
- export {
2
- /** @deprecated use @typespec/asset-emitter package instead */ createAssetEmitter, } from "./asset-emitter.js";
3
- export {
4
- /** @deprecated use @typespec/asset-emitter package instead */ ArrayBuilder, } from "./builders/array-builder.js";
5
- export {
6
- /** @deprecated use @typespec/asset-emitter package instead */ ObjectBuilder, } from "./builders/object-builder.js";
7
- export {
8
- /** @deprecated use @typespec/asset-emitter package instead */
9
- StringBuilder,
10
- /** @deprecated use @typespec/asset-emitter package instead */ code, } from "./builders/string-builder.js";
11
- export {
12
- /** @deprecated use @typespec/asset-emitter package instead */
13
- Placeholder, } from "./placeholder.js";
14
- export {
15
- /** @deprecated use @typespec/asset-emitter package instead */ ReferenceCycle, } from "./reference-cycle.js";
16
- export {
17
- /** @deprecated use @typespec/asset-emitter package instead */
18
- CodeTypeEmitter,
19
- /** @deprecated use @typespec/asset-emitter package instead */
20
- TypeEmitter, } from "./type-emitter.js";
21
- /** @deprecated use @typespec/asset-emitter package instead */
22
- export {
23
- /** @deprecated use @typespec/asset-emitter package instead */
24
- CircularEmit,
25
- /** @deprecated use @typespec/asset-emitter package instead */
26
- Declaration,
27
- /** @deprecated use @typespec/asset-emitter package instead */
28
- EmitterResult,
29
- /** @deprecated use @typespec/asset-emitter package instead */
30
- NoEmit,
31
- /** @deprecated use @typespec/asset-emitter package instead */
32
- RawCode, } from "./types.js";
33
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/emitter-framework/index.ts"],"names":[],"mappings":"AAAA,OAAO;AACL,8DAA8D,CAAC,kBAAkB,GAClF,MAAM,oBAAoB,CAAC;AAC5B,OAAO;AACL,8DAA8D,CAAC,YAAY,GAC5E,MAAM,6BAA6B,CAAC;AACrC,OAAO;AACL,8DAA8D,CAAC,aAAa,GAC7E,MAAM,8BAA8B,CAAC;AACtC,OAAO;AACL,8DAA8D;AAC9D,aAAa;AACb,8DAA8D,CAAC,IAAI,GACpE,MAAM,8BAA8B,CAAC;AACtC,OAAO;AACL,8DAA8D;AAC9D,WAAW,GACZ,MAAM,kBAAkB,CAAC;AAC1B,OAAO;AACL,8DAA8D,CAAC,cAAc,GAC9E,MAAM,sBAAsB,CAAC;AAC9B,OAAO;AACL,8DAA8D;AAC9D,eAAe;AAGf,8DAA8D;AAC9D,WAAW,GACZ,MAAM,mBAAmB,CAAC;AAC3B,8DAA8D;AAC9D,OAAO;AACL,8DAA8D;AAC9D,YAAY;AACZ,8DAA8D;AAC9D,WAAW;AACX,8DAA8D;AAC9D,aAAa;AACb,8DAA8D;AAC9D,MAAM;AACN,8DAA8D;AAC9D,OAAO,GAyCR,MAAM,YAAY,CAAC"}
@@ -1,12 +0,0 @@
1
- /**
2
- * Keeps track of a value we don't know yet because of a circular reference. Use
3
- * the `onValue` method to provide a callback with how to handle the
4
- * placeholder's value becoming available. Generally the callback will replace
5
- * this placeholder with the value in whatever references the placeholder.
6
- */
7
- export declare class Placeholder<T> {
8
- #private;
9
- setValue(value: T): void;
10
- onValue(cb: (value: T) => void): void;
11
- }
12
- //# sourceMappingURL=placeholder.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"placeholder.d.ts","sourceRoot":"","sources":["../../../src/emitter-framework/placeholder.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,qBAAa,WAAW,CAAC,CAAC;;IAExB,QAAQ,CAAC,KAAK,EAAE,CAAC;IAMjB,OAAO,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI;CAG/B"}
@@ -1,18 +0,0 @@
1
- /**
2
- * Keeps track of a value we don't know yet because of a circular reference. Use
3
- * the `onValue` method to provide a callback with how to handle the
4
- * placeholder's value becoming available. Generally the callback will replace
5
- * this placeholder with the value in whatever references the placeholder.
6
- */
7
- export class Placeholder {
8
- #listeners = [];
9
- setValue(value) {
10
- for (const listener of this.#listeners) {
11
- listener(value);
12
- }
13
- }
14
- onValue(cb) {
15
- this.#listeners.push(cb);
16
- }
17
- }
18
- //# sourceMappingURL=placeholder.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"placeholder.js","sourceRoot":"","sources":["../../../src/emitter-framework/placeholder.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,OAAO,WAAW;IACtB,UAAU,GAA2B,EAAE,CAAC;IACxC,QAAQ,CAAC,KAAQ;QACf,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACvC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED,OAAO,CAAC,EAAsB;QAC5B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC3B,CAAC;CACF"}
@@ -1,14 +0,0 @@
1
- import type { Declaration, Scope } from "./types.js";
2
- export declare function scopeChain<T>(scope: Scope<T> | null): (import("./types.js").SourceFileScope<T> | import("./types.js").NamespaceScope<T>)[];
3
- /**
4
- * Resolve relative scopes between the current scope and the target declaration.
5
- * @param target The target declaration
6
- * @param currentScope Current scope
7
- * @returns
8
- */
9
- export declare function resolveDeclarationReferenceScope<T>(target: Declaration<T>, currentScope: Scope<T>): {
10
- pathUp: Scope<T>[];
11
- pathDown: Scope<T>[];
12
- commonScope: import("./types.js").SourceFileScope<T> | import("./types.js").NamespaceScope<T>;
13
- };
14
- //# sourceMappingURL=ref-scope.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ref-scope.d.ts","sourceRoot":"","sources":["../../../src/emitter-framework/ref-scope.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAErD,wBAAgB,UAAU,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,wFAQnD;AAED;;;;;GAKG;AACH,wBAAgB,gCAAgC,CAAC,CAAC,EAChD,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,EACtB,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC;;;;EAmBvB"}
@@ -1,30 +0,0 @@
1
- export function scopeChain(scope) {
2
- const chain = [];
3
- while (scope) {
4
- chain.unshift(scope);
5
- scope = scope.parentScope;
6
- }
7
- return chain;
8
- }
9
- /**
10
- * Resolve relative scopes between the current scope and the target declaration.
11
- * @param target The target declaration
12
- * @param currentScope Current scope
13
- * @returns
14
- */
15
- export function resolveDeclarationReferenceScope(target, currentScope) {
16
- const targetScope = target.scope;
17
- const targetChain = scopeChain(targetScope);
18
- const currentChain = scopeChain(currentScope);
19
- let diffStart = 0;
20
- while (targetChain[diffStart] &&
21
- currentChain[diffStart] &&
22
- targetChain[diffStart] === currentChain[diffStart]) {
23
- diffStart++;
24
- }
25
- const pathUp = currentChain.slice(diffStart);
26
- const pathDown = targetChain.slice(diffStart);
27
- const commonScope = targetChain[diffStart - 1] ?? null;
28
- return { pathUp, pathDown, commonScope };
29
- }
30
- //# sourceMappingURL=ref-scope.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ref-scope.js","sourceRoot":"","sources":["../../../src/emitter-framework/ref-scope.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,UAAU,CAAI,KAAsB;IAClD,MAAM,KAAK,GAAG,EAAE,CAAC;IACjB,OAAO,KAAK,EAAE,CAAC;QACb,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACrB,KAAK,GAAG,KAAK,CAAC,WAAW,CAAC;IAC5B,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gCAAgC,CAC9C,MAAsB,EACtB,YAAsB;IAEtB,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC;IACjC,MAAM,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IAC5C,MAAM,YAAY,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;IAC9C,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,OACE,WAAW,CAAC,SAAS,CAAC;QACtB,YAAY,CAAC,SAAS,CAAC;QACvB,WAAW,CAAC,SAAS,CAAC,KAAK,YAAY,CAAC,SAAS,CAAC,EAClD,CAAC;QACD,SAAS,EAAE,CAAC;IACd,CAAC;IAED,MAAM,MAAM,GAAe,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACzD,MAAM,QAAQ,GAAe,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAE1D,MAAM,WAAW,GAAG,WAAW,CAAC,SAAS,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC;IACvD,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC;AAC3C,CAAC"}
@@ -1,23 +0,0 @@
1
- import type { Type } from "../core/types.js";
2
- import type { EmitEntity } from "./types.js";
3
- export interface ReferenceCycleEntry {
4
- type: Type;
5
- entity: EmitEntity<unknown>;
6
- }
7
- /**
8
- * Represent a reference cycle.
9
- * The cycle entries will always start with a declaration if there is one in the cycle.
10
- */
11
- export declare class ReferenceCycle implements Iterable<ReferenceCycleEntry> {
12
- #private;
13
- /**
14
- * If this cycle contains a declaration.
15
- */
16
- readonly containsDeclaration: boolean;
17
- constructor(entries: ReferenceCycleEntry[]);
18
- get first(): ReferenceCycleEntry;
19
- [Symbol.iterator](): Iterator<ReferenceCycleEntry>;
20
- [Symbol.toStringTag](): string;
21
- toString(): string;
22
- }
23
- //# sourceMappingURL=reference-cycle.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"reference-cycle.d.ts","sourceRoot":"","sources":["../../../src/emitter-framework/reference-cycle.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,IAAI,CAAC;IACX,MAAM,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;CAC7B;AAED;;;GAGG;AACH,qBAAa,cAAe,YAAW,QAAQ,CAAC,mBAAmB,CAAC;;IAClE;;OAEG;IACH,QAAQ,CAAC,mBAAmB,EAAE,OAAO,CAAC;gBAI1B,OAAO,EAAE,mBAAmB,EAAE;IAQ1C,IAAI,KAAK,IAAI,mBAAmB,CAE/B;IAED,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,mBAAmB,CAAC;IAIlD,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,MAAM;IAI9B,QAAQ,IAAI,MAAM;CAGnB"}
@@ -1,32 +0,0 @@
1
- import { getTypeName } from "../core/helpers/type-name-utils.js";
2
- /**
3
- * Represent a reference cycle.
4
- * The cycle entries will always start with a declaration if there is one in the cycle.
5
- */
6
- export class ReferenceCycle {
7
- /**
8
- * If this cycle contains a declaration.
9
- */
10
- containsDeclaration;
11
- #entries;
12
- constructor(entries) {
13
- const firstDeclarationIndex = entries.findIndex((entry) => entry.entity.kind === "declaration");
14
- this.containsDeclaration = firstDeclarationIndex !== -1;
15
- this.#entries = this.containsDeclaration
16
- ? [...entries.slice(firstDeclarationIndex), ...entries.slice(0, firstDeclarationIndex)]
17
- : entries;
18
- }
19
- get first() {
20
- return this.#entries[0];
21
- }
22
- [Symbol.iterator]() {
23
- return this.#entries[Symbol.iterator]();
24
- }
25
- [Symbol.toStringTag]() {
26
- return [...this.#entries, this.#entries[0]].map((x) => getTypeName(x.type)).join(" -> ");
27
- }
28
- toString() {
29
- return this[Symbol.toStringTag]();
30
- }
31
- }
32
- //# sourceMappingURL=reference-cycle.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"reference-cycle.js","sourceRoot":"","sources":["../../../src/emitter-framework/reference-cycle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;AASjE;;;GAGG;AACH,MAAM,OAAO,cAAc;IACzB;;OAEG;IACM,mBAAmB,CAAU;IAEtC,QAAQ,CAAwB;IAEhC,YAAY,OAA8B;QACxC,MAAM,qBAAqB,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC;QAChG,IAAI,CAAC,mBAAmB,GAAG,qBAAqB,KAAK,CAAC,CAAC,CAAC;QACxD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,mBAAmB;YACtC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,qBAAqB,CAAC,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,qBAAqB,CAAC,CAAC;YACvF,CAAC,CAAC,OAAO,CAAC;IACd,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC1B,CAAC;IAED,CAAC,MAAM,CAAC,QAAQ,CAAC;QACf,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;IAC1C,CAAC;IAED,CAAC,MAAM,CAAC,WAAW,CAAC;QAClB,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC3F,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;IACpC,CAAC;CACF"}