@vaadin/hilla-generator-utils 24.5.0-alpha7 → 24.5.0-alpha8

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.
@@ -5,32 +5,38 @@ export declare class NamedImportManager extends StatementRecordManager<ImportDec
5
5
  #private;
6
6
  constructor(collator: Intl.Collator);
7
7
  add(path: string, specifier: string, isType?: boolean, uniqueId?: Identifier): Identifier;
8
+ remove(path: string, specifier: string): void;
8
9
  clear(): void;
9
10
  getIdentifier(path: string, specifier: string): Identifier | undefined;
10
- identifiers(): IterableIterator<readonly [path: string, specifier: string, id: Identifier, isType: boolean]>;
11
+ iter(): IterableIterator<readonly [path: string, specifier: string, id: Identifier, isType: boolean]>;
11
12
  isType(path: string, specifier: string): boolean | undefined;
12
13
  paths(): IterableIterator<string>;
13
14
  specifiers(): IterableIterator<readonly [path: string, specifier: string]>;
14
15
  statementRecords(): IterableIterator<StatementRecord<ImportDeclaration>>;
16
+ [Symbol.iterator](): IterableIterator<readonly [path: string, specifier: string, id: Identifier, isType: boolean]>;
15
17
  }
16
18
  export declare class NamespaceImportManager extends StatementRecordManager<ImportDeclaration> {
17
19
  #private;
18
20
  add(path: string, name: string, uniqueId?: Identifier): Identifier;
19
21
  clear(): void;
20
22
  getIdentifier(path: string): Identifier | undefined;
21
- identifiers(): IterableIterator<Identifier>;
23
+ iter(): IterableIterator<readonly [path: string, id: Identifier]>;
22
24
  paths(): IterableIterator<string>;
23
25
  statementRecords(): IterableIterator<StatementRecord<ImportDeclaration>>;
26
+ remove(path: string): void;
27
+ [Symbol.iterator](): IterableIterator<readonly [path: string, id: Identifier]>;
24
28
  }
25
29
  export declare class DefaultImportManager extends StatementRecordManager<ImportDeclaration> {
26
30
  #private;
27
31
  add(path: string, name: string, isType?: boolean, uniqueId?: Identifier): Identifier;
28
32
  getIdentifier(path: string): Identifier | undefined;
33
+ remove(path: string): void;
29
34
  clear(): void;
30
- identifiers(): IterableIterator<readonly [id: Identifier, isType: boolean]>;
35
+ iter(): IterableIterator<readonly [path: string, id: Identifier, isType: boolean]>;
31
36
  isType(path: string): boolean | undefined;
32
37
  paths(): IterableIterator<string>;
33
38
  statementRecords(): IterableIterator<StatementRecord<ImportDeclaration>>;
39
+ [Symbol.iterator](): IterableIterator<readonly [path: string, id: Identifier, isType: boolean]>;
34
40
  }
35
41
  export default class ImportManager implements CodeConvertable<readonly Statement[]> {
36
42
  #private;
@@ -1 +1 @@
1
- {"version":3,"file":"ImportManager.d.ts","sourceRoot":"","sources":["../src/dependencies/ImportManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,KAAK,UAAU,EAAE,KAAK,iBAAiB,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAEzF,OAAO,KAAK,eAAe,MAAM,sBAAsB,CAAC;AACxD,OAAO,sBAAsB,EAAE,EAAE,KAAK,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAG3F,qBAAa,kBAAmB,SAAQ,sBAAsB,CAAC,iBAAiB,CAAC;;gBAInE,QAAQ,EAAE,IAAI,CAAC,QAAQ;IAKnC,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,UAAU,GAAG,UAAU;IAYhF,KAAK,IAAI,IAAI;IAItB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAIrE,WAAW,IAAI,gBAAgB,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAQ7G,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAI5D,KAAK,IAAI,gBAAgB,CAAC,MAAM,CAAC;IAIhC,UAAU,IAAI,gBAAgB,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IAQjE,gBAAgB,IAAI,gBAAgB,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC;CAyBnF;AAED,qBAAa,sBAAuB,SAAQ,sBAAsB,CAAC,iBAAiB,CAAC;;IAGnF,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,UAAU,GAAG,UAAU;IAMzD,KAAK,IAAI,IAAI;IAItB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAIlD,WAAW,IAAI,gBAAgB,CAAC,UAAU,CAAC;IAM5C,KAAK,IAAI,gBAAgB,CAAC,MAAM,CAAC;IAIvB,gBAAgB,IAAI,gBAAgB,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC;CAYnF;AAED,qBAAa,oBAAqB,SAAQ,sBAAsB,CAAC,iBAAiB,CAAC;;IAGjF,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,UAAU,GAAG,UAAU;IAMpF,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAI1C,KAAK,IAAI,IAAI;IAIrB,WAAW,IAAI,gBAAgB,CAAC,SAAS,CAAC,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAM5E,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAIzC,KAAK,IAAI,gBAAgB,CAAC,MAAM,CAAC;IAIvB,gBAAgB,IAAI,gBAAgB,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC;CAYnF;AAED,MAAM,CAAC,OAAO,OAAO,aAAc,YAAW,eAAe,CAAC,SAAS,SAAS,EAAE,CAAC;;IACjF,QAAQ,CAAC,OAAO,EAAE,oBAAoB,CAAC;IACvC,QAAQ,CAAC,KAAK,EAAE,kBAAkB,CAAC;IACnC,QAAQ,CAAC,SAAS,EAAE,sBAAsB,CAAC;gBAI/B,QAAQ,EAAE,IAAI,CAAC,QAAQ;IAOnC,MAAM,IAAI,SAAS,SAAS,EAAE;IAW9B,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,UAAU,GAAG,IAAI;CA+BtC"}
1
+ {"version":3,"file":"ImportManager.d.ts","sourceRoot":"","sources":["../src/dependencies/ImportManager.ts"],"names":[],"mappings":"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"}
@@ -18,18 +18,23 @@ class NamedImportManager extends StatementRecordManager {
18
18
  }
19
19
  return record.id;
20
20
  }
21
+ remove(path, specifier) {
22
+ const specifiers = this.#map.get(path);
23
+ if (specifiers) {
24
+ specifiers.delete(specifier);
25
+ if (specifiers.size === 0) {
26
+ this.#map.delete(path);
27
+ }
28
+ }
29
+ }
21
30
  clear() {
22
31
  this.#map.clear();
23
32
  }
24
33
  getIdentifier(path, specifier) {
25
34
  return this.#map.get(path)?.get(specifier)?.id;
26
35
  }
27
- *identifiers() {
28
- for (const [path, specifiers] of this.#map) {
29
- for (const [specifier, { id, isType }] of specifiers) {
30
- yield [path, specifier, id, isType];
31
- }
32
- }
36
+ iter() {
37
+ return this[Symbol.iterator]();
33
38
  }
34
39
  isType(path, specifier) {
35
40
  return this.#map.get(path)?.get(specifier)?.isType;
@@ -67,6 +72,13 @@ class NamedImportManager extends StatementRecordManager {
67
72
  ];
68
73
  }
69
74
  }
75
+ *[Symbol.iterator]() {
76
+ for (const [path, specifiers] of this.#map) {
77
+ for (const [specifier, { id, isType }] of specifiers) {
78
+ yield [path, specifier, id, isType];
79
+ }
80
+ }
81
+ }
70
82
  }
71
83
  class NamespaceImportManager extends StatementRecordManager {
72
84
  #map = /* @__PURE__ */ new Map();
@@ -81,10 +93,8 @@ class NamespaceImportManager extends StatementRecordManager {
81
93
  getIdentifier(path) {
82
94
  return this.#map.get(path);
83
95
  }
84
- *identifiers() {
85
- for (const id of this.#map.values()) {
86
- yield id;
87
- }
96
+ iter() {
97
+ return this[Symbol.iterator]();
88
98
  }
89
99
  paths() {
90
100
  return this.#map.keys();
@@ -101,6 +111,14 @@ class NamespaceImportManager extends StatementRecordManager {
101
111
  ];
102
112
  }
103
113
  }
114
+ remove(path) {
115
+ this.#map.delete(path);
116
+ }
117
+ *[Symbol.iterator]() {
118
+ for (const [path, id] of this.#map) {
119
+ yield [path, id];
120
+ }
121
+ }
104
122
  }
105
123
  class DefaultImportManager extends StatementRecordManager {
106
124
  #map = /* @__PURE__ */ new Map();
@@ -112,13 +130,16 @@ class DefaultImportManager extends StatementRecordManager {
112
130
  getIdentifier(path) {
113
131
  return this.#map.get(path)?.id;
114
132
  }
133
+ remove(path) {
134
+ if (this.#map.has(path)) {
135
+ this.#map.delete(path);
136
+ }
137
+ }
115
138
  clear() {
116
139
  this.#map.clear();
117
140
  }
118
- *identifiers() {
119
- for (const { id, isType } of this.#map.values()) {
120
- yield [id, isType];
121
- }
141
+ iter() {
142
+ return this[Symbol.iterator]();
122
143
  }
123
144
  isType(path) {
124
145
  return this.#map.get(path)?.isType;
@@ -138,6 +159,11 @@ class DefaultImportManager extends StatementRecordManager {
138
159
  ];
139
160
  }
140
161
  }
162
+ *[Symbol.iterator]() {
163
+ for (const [path, { id, isType }] of this.#map) {
164
+ yield [path, id, isType];
165
+ }
166
+ }
141
167
  }
142
168
  class ImportManager {
143
169
  default;
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/dependencies/ImportManager.ts"],
4
- "sourcesContent": ["import ts, { type Identifier, type ImportDeclaration, type Statement } from 'typescript';\nimport createFullyUniqueIdentifier from '../createFullyUniqueIdentifier.js';\nimport type CodeConvertable from './CodeConvertable.js';\nimport StatementRecordManager, { type StatementRecord } from './StatementRecordManager.js';\nimport { createDependencyRecord, type DependencyRecord } from './utils.js';\n\nexport class NamedImportManager extends StatementRecordManager<ImportDeclaration> {\n readonly #collator: Intl.Collator;\n readonly #map = new Map<string, Map<string, DependencyRecord>>();\n\n constructor(collator: Intl.Collator) {\n super(collator);\n this.#collator = collator;\n }\n\n add(path: string, specifier: string, isType?: boolean, uniqueId?: Identifier): Identifier {\n const record = createDependencyRecord(uniqueId ?? createFullyUniqueIdentifier(specifier), isType);\n\n if (this.#map.has(path)) {\n this.#map.get(path)!.set(specifier, record);\n } else {\n this.#map.set(path, new Map([[specifier, record]]));\n }\n\n return record.id;\n }\n\n override clear(): void {\n this.#map.clear();\n }\n\n getIdentifier(path: string, specifier: string): Identifier | undefined {\n return this.#map.get(path)?.get(specifier)?.id;\n }\n\n *identifiers(): IterableIterator<readonly [path: string, specifier: string, id: Identifier, isType: boolean]> {\n for (const [path, specifiers] of this.#map) {\n for (const [specifier, { id, isType }] of specifiers) {\n yield [path, specifier, id, isType];\n }\n }\n }\n\n isType(path: string, specifier: string): boolean | undefined {\n return this.#map.get(path)?.get(specifier)?.isType;\n }\n\n paths(): IterableIterator<string> {\n return this.#map.keys();\n }\n\n *specifiers(): IterableIterator<readonly [path: string, specifier: string]> {\n for (const [path, specifiers] of this.#map) {\n for (const specifier of specifiers.keys()) {\n yield [path, specifier];\n }\n }\n }\n\n override *statementRecords(): IterableIterator<StatementRecord<ImportDeclaration>> {\n for (const [path, specifiers] of this.#map) {\n const names = [...specifiers.keys()];\n // eslint-disable-next-line @typescript-eslint/unbound-method\n names.sort(this.#collator.compare);\n\n yield [\n path,\n ts.factory.createImportDeclaration(\n undefined,\n ts.factory.createImportClause(\n false,\n undefined,\n ts.factory.createNamedImports(\n names.map((name) => {\n const { id, isType } = specifiers.get(name)!;\n return ts.factory.createImportSpecifier(isType, ts.factory.createIdentifier(name), id);\n }),\n ),\n ),\n ts.factory.createStringLiteral(path),\n ),\n ];\n }\n }\n}\n\nexport class NamespaceImportManager extends StatementRecordManager<ImportDeclaration> {\n readonly #map = new Map<string, Identifier>();\n\n add(path: string, name: string, uniqueId?: Identifier): Identifier {\n const id = uniqueId ?? createFullyUniqueIdentifier(name);\n this.#map.set(path, id);\n return id;\n }\n\n override clear(): void {\n this.#map.clear();\n }\n\n getIdentifier(path: string): Identifier | undefined {\n return this.#map.get(path);\n }\n\n *identifiers(): IterableIterator<Identifier> {\n for (const id of this.#map.values()) {\n yield id;\n }\n }\n\n paths(): IterableIterator<string> {\n return this.#map.keys();\n }\n\n override *statementRecords(): IterableIterator<StatementRecord<ImportDeclaration>> {\n for (const [path, id] of this.#map) {\n yield [\n path,\n ts.factory.createImportDeclaration(\n undefined,\n ts.factory.createImportClause(false, undefined, ts.factory.createNamespaceImport(id)),\n ts.factory.createStringLiteral(path),\n ),\n ];\n }\n }\n}\n\nexport class DefaultImportManager extends StatementRecordManager<ImportDeclaration> {\n readonly #map = new Map<string, DependencyRecord>();\n\n add(path: string, name: string, isType?: boolean, uniqueId?: Identifier): Identifier {\n const id = uniqueId ?? createFullyUniqueIdentifier(name);\n this.#map.set(path, createDependencyRecord(id, isType));\n return id;\n }\n\n getIdentifier(path: string): Identifier | undefined {\n return this.#map.get(path)?.id;\n }\n\n override clear(): void {\n this.#map.clear();\n }\n\n *identifiers(): IterableIterator<readonly [id: Identifier, isType: boolean]> {\n for (const { id, isType } of this.#map.values()) {\n yield [id, isType];\n }\n }\n\n isType(path: string): boolean | undefined {\n return this.#map.get(path)?.isType;\n }\n\n paths(): IterableIterator<string> {\n return this.#map.keys();\n }\n\n override *statementRecords(): IterableIterator<StatementRecord<ImportDeclaration>> {\n for (const [path, { id, isType }] of this.#map) {\n yield [\n path,\n ts.factory.createImportDeclaration(\n undefined,\n ts.factory.createImportClause(isType, id, undefined),\n ts.factory.createStringLiteral(path),\n ),\n ];\n }\n }\n}\n\nexport default class ImportManager implements CodeConvertable<readonly Statement[]> {\n readonly default: DefaultImportManager;\n readonly named: NamedImportManager;\n readonly namespace: NamespaceImportManager;\n\n readonly #collator: Intl.Collator;\n\n constructor(collator: Intl.Collator) {\n this.default = new DefaultImportManager(collator);\n this.named = new NamedImportManager(collator);\n this.namespace = new NamespaceImportManager(collator);\n this.#collator = collator;\n }\n\n toCode(): readonly Statement[] {\n const records = [\n ...this.default.statementRecords(),\n ...this.named.statementRecords(),\n ...this.namespace.statementRecords(),\n ];\n records.sort(StatementRecordManager.createComparator(this.#collator));\n\n return records.map(([, statement]) => statement);\n }\n\n fromCode(source: ts.SourceFile): void {\n this.default.clear();\n this.named.clear();\n this.namespace.clear();\n\n const imports = source.statements.filter((statement): statement is ImportDeclaration =>\n ts.isImportDeclaration(statement),\n );\n\n for (const { importClause, moduleSpecifier } of imports) {\n if (!importClause) {\n // eslint-disable-next-line no-continue\n continue;\n }\n\n const { name, namedBindings } = importClause;\n const path = (moduleSpecifier as ts.StringLiteral).text;\n\n if (namedBindings) {\n if (ts.isNamespaceImport(namedBindings)) {\n this.namespace.add(path, namedBindings.name.text, namedBindings.name);\n } else {\n for (const { isTypeOnly, name: specifier } of namedBindings.elements) {\n this.named.add(path, specifier.text, isTypeOnly, specifier);\n }\n }\n } else if (name) {\n this.default.add(path, name.text, importClause.isTypeOnly, name);\n }\n }\n }\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import ts, { type Identifier, type ImportDeclaration, type Statement } from 'typescript';\nimport createFullyUniqueIdentifier from '../createFullyUniqueIdentifier.js';\nimport type CodeConvertable from './CodeConvertable.js';\nimport StatementRecordManager, { type StatementRecord } from './StatementRecordManager.js';\nimport { createDependencyRecord, type DependencyRecord } from './utils.js';\n\nexport class NamedImportManager extends StatementRecordManager<ImportDeclaration> {\n readonly #collator: Intl.Collator;\n readonly #map = new Map<string, Map<string, DependencyRecord>>();\n\n constructor(collator: Intl.Collator) {\n super(collator);\n this.#collator = collator;\n }\n\n add(path: string, specifier: string, isType?: boolean, uniqueId?: Identifier): Identifier {\n const record = createDependencyRecord(uniqueId ?? createFullyUniqueIdentifier(specifier), isType);\n\n if (this.#map.has(path)) {\n this.#map.get(path)!.set(specifier, record);\n } else {\n this.#map.set(path, new Map([[specifier, record]]));\n }\n\n return record.id;\n }\n\n remove(path: string, specifier: string): void {\n const specifiers = this.#map.get(path);\n\n if (specifiers) {\n specifiers.delete(specifier);\n\n if (specifiers.size === 0) {\n this.#map.delete(path);\n }\n }\n }\n\n override clear(): void {\n this.#map.clear();\n }\n\n getIdentifier(path: string, specifier: string): Identifier | undefined {\n return this.#map.get(path)?.get(specifier)?.id;\n }\n\n iter(): IterableIterator<readonly [path: string, specifier: string, id: Identifier, isType: boolean]> {\n return this[Symbol.iterator]();\n }\n\n isType(path: string, specifier: string): boolean | undefined {\n return this.#map.get(path)?.get(specifier)?.isType;\n }\n\n paths(): IterableIterator<string> {\n return this.#map.keys();\n }\n\n *specifiers(): IterableIterator<readonly [path: string, specifier: string]> {\n for (const [path, specifiers] of this.#map) {\n for (const specifier of specifiers.keys()) {\n yield [path, specifier];\n }\n }\n }\n\n override *statementRecords(): IterableIterator<StatementRecord<ImportDeclaration>> {\n for (const [path, specifiers] of this.#map) {\n const names = [...specifiers.keys()];\n // eslint-disable-next-line @typescript-eslint/unbound-method\n names.sort(this.#collator.compare);\n\n yield [\n path,\n ts.factory.createImportDeclaration(\n undefined,\n ts.factory.createImportClause(\n false,\n undefined,\n ts.factory.createNamedImports(\n names.map((name) => {\n const { id, isType } = specifiers.get(name)!;\n return ts.factory.createImportSpecifier(isType, ts.factory.createIdentifier(name), id);\n }),\n ),\n ),\n ts.factory.createStringLiteral(path),\n ),\n ];\n }\n }\n\n *[Symbol.iterator](): IterableIterator<readonly [path: string, specifier: string, id: Identifier, isType: boolean]> {\n for (const [path, specifiers] of this.#map) {\n for (const [specifier, { id, isType }] of specifiers) {\n yield [path, specifier, id, isType];\n }\n }\n }\n}\n\nexport class NamespaceImportManager extends StatementRecordManager<ImportDeclaration> {\n readonly #map = new Map<string, Identifier>();\n\n add(path: string, name: string, uniqueId?: Identifier): Identifier {\n const id = uniqueId ?? createFullyUniqueIdentifier(name);\n this.#map.set(path, id);\n return id;\n }\n\n override clear(): void {\n this.#map.clear();\n }\n\n getIdentifier(path: string): Identifier | undefined {\n return this.#map.get(path);\n }\n\n iter(): IterableIterator<readonly [path: string, id: Identifier]> {\n return this[Symbol.iterator]();\n }\n\n paths(): IterableIterator<string> {\n return this.#map.keys();\n }\n\n override *statementRecords(): IterableIterator<StatementRecord<ImportDeclaration>> {\n for (const [path, id] of this.#map) {\n yield [\n path,\n ts.factory.createImportDeclaration(\n undefined,\n ts.factory.createImportClause(false, undefined, ts.factory.createNamespaceImport(id)),\n ts.factory.createStringLiteral(path),\n ),\n ];\n }\n }\n\n remove(path: string): void {\n this.#map.delete(path);\n }\n\n *[Symbol.iterator](): IterableIterator<readonly [path: string, id: Identifier]> {\n for (const [path, id] of this.#map) {\n yield [path, id];\n }\n }\n}\n\nexport class DefaultImportManager extends StatementRecordManager<ImportDeclaration> {\n readonly #map = new Map<string, DependencyRecord>();\n\n add(path: string, name: string, isType?: boolean, uniqueId?: Identifier): Identifier {\n const id = uniqueId ?? createFullyUniqueIdentifier(name);\n this.#map.set(path, createDependencyRecord(id, isType));\n return id;\n }\n\n getIdentifier(path: string): Identifier | undefined {\n return this.#map.get(path)?.id;\n }\n\n remove(path: string): void {\n if (this.#map.has(path)) {\n this.#map.delete(path);\n }\n }\n\n override clear(): void {\n this.#map.clear();\n }\n\n iter(): IterableIterator<readonly [path: string, id: Identifier, isType: boolean]> {\n return this[Symbol.iterator]();\n }\n\n isType(path: string): boolean | undefined {\n return this.#map.get(path)?.isType;\n }\n\n paths(): IterableIterator<string> {\n return this.#map.keys();\n }\n\n override *statementRecords(): IterableIterator<StatementRecord<ImportDeclaration>> {\n for (const [path, { id, isType }] of this.#map) {\n yield [\n path,\n ts.factory.createImportDeclaration(\n undefined,\n ts.factory.createImportClause(isType, id, undefined),\n ts.factory.createStringLiteral(path),\n ),\n ];\n }\n }\n\n *[Symbol.iterator](): IterableIterator<readonly [path: string, id: Identifier, isType: boolean]> {\n for (const [path, { id, isType }] of this.#map) {\n yield [path, id, isType];\n }\n }\n}\n\nexport default class ImportManager implements CodeConvertable<readonly Statement[]> {\n readonly default: DefaultImportManager;\n readonly named: NamedImportManager;\n readonly namespace: NamespaceImportManager;\n\n readonly #collator: Intl.Collator;\n\n constructor(collator: Intl.Collator) {\n this.default = new DefaultImportManager(collator);\n this.named = new NamedImportManager(collator);\n this.namespace = new NamespaceImportManager(collator);\n this.#collator = collator;\n }\n\n toCode(): readonly Statement[] {\n const records = [\n ...this.default.statementRecords(),\n ...this.named.statementRecords(),\n ...this.namespace.statementRecords(),\n ];\n records.sort(StatementRecordManager.createComparator(this.#collator));\n\n return records.map(([, statement]) => statement);\n }\n\n fromCode(source: ts.SourceFile): void {\n this.default.clear();\n this.named.clear();\n this.namespace.clear();\n\n const imports = source.statements.filter((statement): statement is ImportDeclaration =>\n ts.isImportDeclaration(statement),\n );\n\n for (const { importClause, moduleSpecifier } of imports) {\n if (!importClause) {\n // eslint-disable-next-line no-continue\n continue;\n }\n\n const { name, namedBindings } = importClause;\n const path = (moduleSpecifier as ts.StringLiteral).text;\n\n if (namedBindings) {\n if (ts.isNamespaceImport(namedBindings)) {\n this.namespace.add(path, namedBindings.name.text, namedBindings.name);\n } else {\n for (const { isTypeOnly, name: specifier } of namedBindings.elements) {\n this.named.add(path, specifier.text, isTypeOnly, specifier);\n }\n }\n } else if (name) {\n this.default.add(path, name.text, importClause.isTypeOnly, name);\n }\n }\n }\n}\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vaadin/hilla-generator-utils",
3
- "version": "24.5.0-alpha7",
3
+ "version": "24.5.0-alpha8",
4
4
  "description": "A set of utils for developing Hilla generator plugins",
5
5
  "main": "index.js",
6
6
  "type": "module",
@@ -69,6 +69,7 @@
69
69
  "@types/sinon-chai": "^3.2.10",
70
70
  "c8": "^10.1.2",
71
71
  "chai": "^4.3.10",
72
+ "chai-like": "^1.1.1",
72
73
  "concurrently": "^8.2.1",
73
74
  "copyfiles": "^2.4.1",
74
75
  "mocha": "^10.2.0",