ts-codemod-lib 2.1.4 → 2.1.6

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 (41) hide show
  1. package/README.md +3 -1
  2. package/dist/cmd/append-as-const.mjs +1 -1
  3. package/dist/cmd/convert-interface-to-type.mjs +1 -1
  4. package/dist/cmd/convert-to-readonly.mjs +1 -1
  5. package/dist/cmd/replace-any-with-unknown.mjs +1 -1
  6. package/dist/cmd/replace-record-with-unknown-record.mjs +1 -1
  7. package/dist/functions/ast-transformers/append-as-const.d.mts +1 -0
  8. package/dist/functions/ast-transformers/append-as-const.d.mts.map +1 -1
  9. package/dist/functions/ast-transformers/append-as-const.mjs.map +1 -1
  10. package/dist/functions/ast-transformers/convert-to-readonly.d.mts +1 -0
  11. package/dist/functions/ast-transformers/convert-to-readonly.d.mts.map +1 -1
  12. package/dist/functions/ast-transformers/convert-to-readonly.mjs.map +1 -1
  13. package/dist/functions/ast-transformers/readonly-transformer-helpers/compare-union-types.d.mts.map +1 -1
  14. package/dist/functions/ast-transformers/readonly-transformer-helpers/compare-union-types.mjs.map +1 -1
  15. package/dist/functions/ast-transformers/readonly-transformer-helpers/readonly-context.d.mts +1 -0
  16. package/dist/functions/ast-transformers/readonly-transformer-helpers/readonly-context.d.mts.map +1 -1
  17. package/dist/functions/ast-transformers/readonly-transformer-helpers/readonly-context.mjs.map +1 -1
  18. package/dist/functions/ast-transformers/replace-record-with-unknown-record.d.mts +5 -1
  19. package/dist/functions/ast-transformers/replace-record-with-unknown-record.d.mts.map +1 -1
  20. package/dist/functions/ast-transformers/replace-record-with-unknown-record.mjs +134 -80
  21. package/dist/functions/ast-transformers/replace-record-with-unknown-record.mjs.map +1 -1
  22. package/dist/functions/functions/is-atomic-type-node.d.mts +1 -0
  23. package/dist/functions/functions/is-atomic-type-node.d.mts.map +1 -1
  24. package/dist/functions/functions/is-atomic-type-node.mjs.map +1 -1
  25. package/dist/functions/functions/is-readonly-node.d.mts +1 -0
  26. package/dist/functions/functions/is-readonly-node.d.mts.map +1 -1
  27. package/dist/functions/functions/is-readonly-node.mjs.map +1 -1
  28. package/package.json +6 -6
  29. package/src/cmd/append-as-const.mts +1 -1
  30. package/src/cmd/convert-interface-to-type.mts +1 -1
  31. package/src/cmd/convert-to-readonly.mts +1 -1
  32. package/src/cmd/replace-any-with-unknown.mts +1 -1
  33. package/src/cmd/replace-record-with-unknown-record.mts +1 -1
  34. package/src/functions/ast-transformers/append-as-const.mts +1 -0
  35. package/src/functions/ast-transformers/convert-to-readonly.mts +1 -0
  36. package/src/functions/ast-transformers/readonly-transformer-helpers/compare-union-types.mts +1 -0
  37. package/src/functions/ast-transformers/readonly-transformer-helpers/readonly-context.mts +1 -0
  38. package/src/functions/ast-transformers/replace-record-with-unknown-record.mts +169 -94
  39. package/src/functions/ast-transformers/replace-record-with-unknown-record.test.mts +312 -0
  40. package/src/functions/functions/is-atomic-type-node.mts +1 -0
  41. package/src/functions/functions/is-readonly-node.mts +1 -0
package/README.md CHANGED
@@ -314,6 +314,8 @@ const transformedCode = transformSourceCode(originalCode, isTsx, [
314
314
  ]);
315
315
 
316
316
  const expected = dedent`
317
+ import { type UnknownRecord } from "ts-type-forge";
318
+
317
319
  export type A = Readonly< {
318
320
  name?: string;
319
321
  point: (readonly [x: number, y: number, z?: number]);
@@ -341,7 +343,7 @@ const expected = dedent`
341
343
 
342
344
  if (import.meta.vitest !== undefined) {
343
345
  test('transformSourceCode', () => {
344
- assert.isTrue(transformedCode === expected);
346
+ assert.strictEqual(transformedCode, expected);
345
347
  });
346
348
  }
347
349
  ```
@@ -10,7 +10,7 @@ import { runTransformerCLI } from './run-transformer-cli.mjs';
10
10
  const transformer = appendAsConstTransformer();
11
11
  const cmdDef = cmd.command({
12
12
  name: transformer.name,
13
- version: '2.1.4',
13
+ version: '2.1.6',
14
14
  args: {
15
15
  baseDir: cmd.positional({
16
16
  type: cmd.string,
@@ -10,7 +10,7 @@ import { runTransformerCLI } from './run-transformer-cli.mjs';
10
10
  const transformer = convertInterfaceToTypeTransformer();
11
11
  const cmdDef = cmd.command({
12
12
  name: transformer.name,
13
- version: '2.1.4',
13
+ version: '2.1.6',
14
14
  args: {
15
15
  baseDir: cmd.positional({
16
16
  type: cmd.string,
@@ -10,7 +10,7 @@ import { runTransformerCLI } from './run-transformer-cli.mjs';
10
10
  const transformer = convertToReadonlyTransformer();
11
11
  const cmdDef = cmd.command({
12
12
  name: transformer.name,
13
- version: '2.1.4',
13
+ version: '2.1.6',
14
14
  args: {
15
15
  baseDir: cmd.positional({
16
16
  type: cmd.string,
@@ -10,7 +10,7 @@ import { runTransformerCLI } from './run-transformer-cli.mjs';
10
10
  const transformer = replaceAnyWithUnknownTransformer();
11
11
  const cmdDef = cmd.command({
12
12
  name: transformer.name,
13
- version: '2.1.4',
13
+ version: '2.1.6',
14
14
  args: {
15
15
  baseDir: cmd.positional({
16
16
  type: cmd.string,
@@ -10,7 +10,7 @@ import { runTransformerCLI } from './run-transformer-cli.mjs';
10
10
  const transformer = replaceRecordWithUnknownRecordTransformer();
11
11
  const cmdDef = cmd.command({
12
12
  name: transformer.name,
13
- version: '2.1.4',
13
+ version: '2.1.6',
14
14
  args: {
15
15
  baseDir: cmd.positional({
16
16
  type: cmd.string,
@@ -1,3 +1,4 @@
1
+ import { type DeepReadonly } from 'ts-type-forge';
1
2
  import { type TsMorphTransformer } from './types.mjs';
2
3
  export declare const appendAsConstTransformer: (options?: AppendAsConstTransformerOptions) => TsMorphTransformer;
3
4
  export type AppendAsConstTransformerOptions = DeepReadonly<{
@@ -1 +1 @@
1
- {"version":3,"file":"append-as-const.d.mts","sourceRoot":"","sources":["../../../src/functions/ast-transformers/append-as-const.mts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAItD,eAAO,MAAM,wBAAwB,GACnC,UAAU,+BAA+B,KACxC,kBAiCF,CAAC;AAEF,MAAM,MAAM,+BAA+B,GAAG,YAAY,CAAC;IACzD;;OAEG;IACH,UAAU,CAAC,EAAE,KAAK,GAAG,qBAAqB,CAAC;IAE3C;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAK1B,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC,CAAC"}
1
+ {"version":3,"file":"append-as-const.d.mts","sourceRoot":"","sources":["../../../src/functions/ast-transformers/append-as-const.mts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,eAAe,CAAC;AAMlD,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAItD,eAAO,MAAM,wBAAwB,GACnC,UAAU,+BAA+B,KACxC,kBAiCF,CAAC;AAEF,MAAM,MAAM,+BAA+B,GAAG,YAAY,CAAC;IACzD;;OAEG;IACH,UAAU,CAAC,EAAE,KAAK,GAAG,qBAAqB,CAAC;IAE3C;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAK1B,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"append-as-const.mjs","sources":["../../../src/functions/ast-transformers/append-as-const.mts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"append-as-const.mjs","sources":["../../../src/functions/ast-transformers/append-as-const.mts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { type DeepReadonly } from 'ts-type-forge';
1
2
  import { type TsMorphTransformer } from './types.mjs';
2
3
  export declare const convertToReadonlyTransformer: (options?: ReadonlyTransformerOptions) => TsMorphTransformer;
3
4
  export type ReadonlyTransformerOptions = DeepReadonly<{
@@ -1 +1 @@
1
- {"version":3,"file":"convert-to-readonly.d.mts","sourceRoot":"","sources":["../../../src/functions/ast-transformers/convert-to-readonly.mts"],"names":[],"mappings":"AA8BA,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAItD,eAAO,MAAM,4BAA4B,GACvC,UAAU,0BAA0B,KACnC,kBAuCF,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG,YAAY,CAAC;IACpD;;OAEG;IACH,YAAY,CAAC,EAAE;QACb;;;;WAIG;QACH,QAAQ,CAAC,EAAE,MAAM,CAAC;KA2BnB,CAAC;IAEF;;;;OAIG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;IAEjC;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAE1B,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC,CAAC"}
1
+ {"version":3,"file":"convert-to-readonly.d.mts","sourceRoot":"","sources":["../../../src/functions/ast-transformers/convert-to-readonly.mts"],"names":[],"mappings":"AAUA,OAAO,EAAE,KAAK,YAAY,EAA6B,MAAM,eAAe,CAAC;AAqB7E,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAItD,eAAO,MAAM,4BAA4B,GACvC,UAAU,0BAA0B,KACnC,kBAuCF,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG,YAAY,CAAC;IACpD;;OAEG;IACH,YAAY,CAAC,EAAE;QACb;;;;WAIG;QACH,QAAQ,CAAC,EAAE,MAAM,CAAC;KA2BnB,CAAC;IAEF;;;;OAIG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;IAEjC;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAE1B,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"convert-to-readonly.mjs","sources":["../../../src/functions/ast-transformers/convert-to-readonly.mts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"convert-to-readonly.mjs","sources":["../../../src/functions/ast-transformers/convert-to-readonly.mts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"compare-union-types.d.mts","sourceRoot":"","sources":["../../../../src/functions/ast-transformers/readonly-transformer-helpers/compare-union-types.mts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAMhC,eAAO,MAAM,6BAA6B,GAExC,GAAG,GAAG,CAAC,QAAQ,EAEf,GAAG,GAAG,CAAC,QAAQ,KACd,MAAiC,CAAC"}
1
+ {"version":3,"file":"compare-union-types.d.mts","sourceRoot":"","sources":["../../../../src/functions/ast-transformers/readonly-transformer-helpers/compare-union-types.mts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAOhC,eAAO,MAAM,6BAA6B,GAExC,GAAG,GAAG,CAAC,QAAQ,EAEf,GAAG,GAAG,CAAC,QAAQ,KACd,MAAiC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"compare-union-types.mjs","sources":["../../../../src/functions/ast-transformers/readonly-transformer-helpers/compare-union-types.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;;AAMO,MAAM,6BAA6B,GAAG;AAC3C;AACA,CAAe;AACf;AACA,CAAe,KACJ,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC;AAEnC,MAAM,OAAO,GAAG,CAAC,CAA6B,KAC5C,gBAAgB,CAAC,CAAC;AAChB,MAAE;MACA,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC;QAChC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC;QAClC,8BAA8B,CAAC,CAAC;AAClC,UAAE;UACA,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,WAAW;AACnC,cAAE;cACA,CAAC;;;;"}
1
+ {"version":3,"file":"compare-union-types.mjs","sources":["../../../../src/functions/ast-transformers/readonly-transformer-helpers/compare-union-types.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;;AAOO,MAAM,6BAA6B,GAAG;AAC3C;AACA,CAAe;AACf;AACA,CAAe,KACJ,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC;AAEnC,MAAM,OAAO,GAAG,CAAC,CAA6B,KAC5C,gBAAgB,CAAC,CAAC;AAChB,MAAE;MACA,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC;QAChC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC;QAClC,8BAA8B,CAAC,CAAC;AAClC,UAAE;UACA,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,WAAW;AACnC,cAAE;cACA,CAAC;;;;"}
@@ -1,3 +1,4 @@
1
+ import { type SafeUintWithSmallInt } from 'ts-type-forge';
1
2
  /**
2
3
  * Controls whether to make a layer mutable during recursive transformation
3
4
  * calls, to standardize by omitting readonly from inner `number[]` in types
@@ -1 +1 @@
1
- {"version":3,"file":"readonly-context.d.mts","sourceRoot":"","sources":["../../../../src/functions/ast-transformers/readonly-transformer-helpers/readonly-context.mts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,eAAe,GAAG,QAAQ,CACpC;IAAE,kBAAkB,EAAE,oBAAoB,CAAA;CAAE,GAAG,CAC3C;IAAE,IAAI,EAAE,cAAc,CAAA;CAAE,GACxB;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,GACpB;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,GACpB;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CACnB,CACF,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC9B,KAAK,CAAC,IAAI,SAAS,eAAe,EAClC,KAAK,CAAC,IAAI,SAAS,eAAe,CAAC,MAAM,CAAC,EAC1C,4FAIC,QAAQ,CACT;IACE,sBAAsB,EAAE,IAAI,CAAC;CAC9B,GAAG,CACA;IACE,uBAAuB,EAAE,IAAI,CAAC;IAC9B,wBAAwB,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,CAAC;CACjE,GACD;IACE,uBAAuB,EAAE,OAAO,CAC9B,eAAe,CAAC,MAAM,CAAC,EACvB,cAAc,CACf,CAAC;IACF,wBAAwB,CAAC,EAAE,UAAU,CAAC;CACvC,CACJ,CACF,KAAG,QAAQ,CAAC;IACX,IAAI,EAAE,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC,GAAG,IAAI,CAAC;IAC9D,kBAAkB,EAAE,oBAAoB,CAAC;CAC1C,CAcgB,CAAC"}
1
+ {"version":3,"file":"readonly-context.d.mts","sourceRoot":"","sources":["../../../../src/functions/ast-transformers/readonly-transformer-helpers/readonly-context.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAE1D;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,eAAe,GAAG,QAAQ,CACpC;IAAE,kBAAkB,EAAE,oBAAoB,CAAA;CAAE,GAAG,CAC3C;IAAE,IAAI,EAAE,cAAc,CAAA;CAAE,GACxB;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,GACpB;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,GACpB;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CACnB,CACF,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC9B,KAAK,CAAC,IAAI,SAAS,eAAe,EAClC,KAAK,CAAC,IAAI,SAAS,eAAe,CAAC,MAAM,CAAC,EAC1C,4FAIC,QAAQ,CACT;IACE,sBAAsB,EAAE,IAAI,CAAC;CAC9B,GAAG,CACA;IACE,uBAAuB,EAAE,IAAI,CAAC;IAC9B,wBAAwB,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,CAAC;CACjE,GACD;IACE,uBAAuB,EAAE,OAAO,CAC9B,eAAe,CAAC,MAAM,CAAC,EACvB,cAAc,CACf,CAAC;IACF,wBAAwB,CAAC,EAAE,UAAU,CAAC;CACvC,CACJ,CACF,KAAG,QAAQ,CAAC;IACX,IAAI,EAAE,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC,GAAG,IAAI,CAAC;IAC9D,kBAAkB,EAAE,oBAAoB,CAAC;CAC1C,CAcgB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"readonly-context.mjs","sources":["../../../../src/functions/ast-transformers/readonly-transformer-helpers/readonly-context.mts"],"sourcesContent":[null],"names":[],"mappings":";;AAwBO,MAAM,mBAAmB,GAAG,CAGjC,EACA,sBAAsB,EAAE,IAAI,EAC5B,uBAAuB,EAAE,IAAI,EAC7B,wBAAwB,GAAG,UAAU,GAiBtC,KAIC,IAAI,CAAC,IAAI,KAAK;AACZ,MAAG;AACC,QAAA,IAAI,EAAE,cAAc;QACpB,kBAAkB,EAAE,QAAQ,CAAC,SAAS;AAC7B;AACb,MAAG;AACC,QAAA,IAAI,EAAE,IAAI;AACV,QAAA,kBAAkB,EAAE,KAAK,CAAC,wBAAwB,EAAE;YAClD,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;YAC9C,IAAI,EAAE,IAAI,CAAC,kBAAkB;YAC7B,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;YAC9C,QAAQ,EAAE,QAAQ,CAAC,SAAS;SAC7B,CAAC;;;;;"}
1
+ {"version":3,"file":"readonly-context.mjs","sources":["../../../../src/functions/ast-transformers/readonly-transformer-helpers/readonly-context.mts"],"sourcesContent":[null],"names":[],"mappings":";;AAyBO,MAAM,mBAAmB,GAAG,CAGjC,EACA,sBAAsB,EAAE,IAAI,EAC5B,uBAAuB,EAAE,IAAI,EAC7B,wBAAwB,GAAG,UAAU,GAiBtC,KAIC,IAAI,CAAC,IAAI,KAAK;AACZ,MAAG;AACC,QAAA,IAAI,EAAE,cAAc;QACpB,kBAAkB,EAAE,QAAQ,CAAC,SAAS;AAC7B;AACb,MAAG;AACC,QAAA,IAAI,EAAE,IAAI;AACV,QAAA,kBAAkB,EAAE,KAAK,CAAC,wBAAwB,EAAE;YAClD,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;YAC9C,IAAI,EAAE,IAAI,CAAC,kBAAkB;YAC7B,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;YAC9C,QAAQ,EAAE,QAAQ,CAAC,SAAS;SAC7B,CAAC;;;;;"}
@@ -1,7 +1,11 @@
1
1
  import { type TsMorphTransformer } from './types.mjs';
2
2
  /**
3
3
  * Replaces `Readonly<Record<string, unknown>>`, `Record<string, unknown>`,
4
- * and index signatures `[k: string]: unknown` with `UnknownRecord`
4
+ * and index signatures `[k: string]: unknown` with `UnknownRecord`.
5
+ *
6
+ * When a replacement occurs, also inserts
7
+ * `import { type UnknownRecord } from 'ts-type-forge';` at the top of the
8
+ * source file (or merges into an existing import from `'ts-type-forge'`).
5
9
  */
6
10
  export declare const replaceRecordWithUnknownRecordTransformer: () => TsMorphTransformer;
7
11
  //# sourceMappingURL=replace-record-with-unknown-record.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"replace-record-with-unknown-record.d.mts","sourceRoot":"","sources":["../../../src/functions/ast-transformers/replace-record-with-unknown-record.mts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAItD;;;GAGG;AACH,eAAO,MAAM,yCAAyC,QAChD,kBAcS,CAAC"}
1
+ {"version":3,"file":"replace-record-with-unknown-record.d.mts","sourceRoot":"","sources":["../../../src/functions/ast-transformers/replace-record-with-unknown-record.mts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAQtD;;;;;;;GAOG;AACH,eAAO,MAAM,yCAAyC,QAChD,kBAeS,CAAC"}
@@ -5,64 +5,81 @@ import '../functions/is-atomic-type-node.mjs';
5
5
 
6
6
  /* eslint-disable @typescript-eslint/prefer-readonly-parameter-types -- ts-morph uses mutable types */
7
7
  const TRANSFORMER_NAME = 'replace-record-with-unknown-record';
8
+ const UNKNOWN_RECORD_MODULE = 'ts-type-forge';
9
+ const UNKNOWN_RECORD_NAME = 'UnknownRecord';
8
10
  /**
9
11
  * Replaces `Readonly<Record<string, unknown>>`, `Record<string, unknown>`,
10
- * and index signatures `[k: string]: unknown` with `UnknownRecord`
12
+ * and index signatures `[k: string]: unknown` with `UnknownRecord`.
13
+ *
14
+ * When a replacement occurs, also inserts
15
+ * `import { type UnknownRecord } from 'ts-type-forge';` at the top of the
16
+ * source file (or merges into an existing import from `'ts-type-forge'`).
11
17
  */
12
18
  const replaceRecordWithUnknownRecordTransformer = () => ({
13
19
  name: TRANSFORMER_NAME,
14
20
  transform: (sourceAst) => {
15
- // Process top-level declarations
16
- processDeclarations(sourceAst);
17
- // Process declarations inside namespaces/modules
18
- const namespaces = sourceAst.getModules();
19
- for (const namespace of namespaces) {
20
- processDeclarations(namespace);
21
+ const containerModifications = [
22
+ processDeclarations(sourceAst),
23
+ ...sourceAst
24
+ .getModules()
25
+ .map((namespace) => processDeclarations(namespace)),
26
+ ];
27
+ if (containerModifications.includes(true)) {
28
+ ensureUnknownRecordImport(sourceAst);
21
29
  }
22
30
  },
23
31
  });
24
32
  const processDeclarations = (container) => {
25
- const typeAliases = container.getTypeAliases();
26
- for (const typeAlias of typeAliases) {
33
+ const typeAliasModifications = container.getTypeAliases().map((typeAlias) => {
27
34
  if (hasDisableNextLineComment(typeAlias, TRANSFORMER_NAME)) {
28
- continue;
35
+ return false;
29
36
  }
30
37
  const typeNode = typeAlias.getTypeNode();
31
38
  if (typeNode === undefined)
32
- continue;
33
- visitTypeNode(typeNode);
39
+ return false;
40
+ return visitTypeNode(typeNode);
41
+ });
42
+ const interfaceModifications = container
43
+ .getInterfaces()
44
+ .map((interfaceDecl) => processInterfaceDeclaration(interfaceDecl));
45
+ return [...typeAliasModifications, ...interfaceModifications].includes(true);
46
+ };
47
+ const processInterfaceDeclaration = (interfaceDecl) => {
48
+ if (hasDisableNextLineComment(interfaceDecl, TRANSFORMER_NAME)) {
49
+ return false;
34
50
  }
35
- const interfaces = container.getInterfaces();
36
- for (const interfaceDecl of interfaces) {
37
- if (hasDisableNextLineComment(interfaceDecl, TRANSFORMER_NAME)) {
38
- continue;
39
- }
40
- // Check if interface has index signature [k: string]: unknown
41
- const indexSignatures = interfaceDecl.getIndexSignatures();
42
- const hasStringUnknownSignature = indexSignatures.some((sig) => {
43
- const keyType = sig.getKeyType();
44
- const returnType = sig.getReturnType();
45
- return (keyType.getText() === 'string' && returnType.getText() === 'unknown');
46
- });
47
- // If it has the signature and no other members, replace entire interface with type alias
48
- if (hasStringUnknownSignature) {
49
- const properties = interfaceDecl.getProperties();
50
- if (Arr.isArrayOfLength(properties, 0) &&
51
- Arr.isArrayOfLength(indexSignatures, 1)) {
52
- // Replace interface with type alias
53
- const interfaceName = interfaceDecl.getName();
54
- interfaceDecl.replaceWithText(`export type ${interfaceName} = UnknownRecord;`);
55
- continue;
56
- }
57
- }
58
- // Otherwise, check properties for Record types
59
- for (const property of interfaceDecl.getProperties()) {
60
- const typeNode = property.getTypeNode();
61
- if (typeNode === undefined)
62
- continue;
63
- visitTypeNode(typeNode);
64
- }
51
+ // Check if interface has index signature [k: string]: unknown
52
+ const indexSignatures = interfaceDecl.getIndexSignatures();
53
+ const hasStringUnknownSignature = indexSignatures.some((sig) => {
54
+ const keyType = sig.getKeyType();
55
+ const returnType = sig.getReturnType();
56
+ return keyType.getText() === 'string' && returnType.getText() === 'unknown';
57
+ });
58
+ // If it has the signature and no other members, replace entire interface with type alias.
59
+ // Skip when the interface carries semantics that a plain type alias would lose
60
+ // (type parameters, extends clauses, declare modifier, default export).
61
+ if (hasStringUnknownSignature &&
62
+ Arr.isArrayOfLength(interfaceDecl.getProperties(), 0) &&
63
+ Arr.isArrayOfLength(indexSignatures, 1) &&
64
+ Arr.isArrayOfLength(interfaceDecl.getTypeParameters(), 0) &&
65
+ Arr.isArrayOfLength(interfaceDecl.getExtends(), 0) &&
66
+ !interfaceDecl.hasDeclareKeyword() &&
67
+ !interfaceDecl.hasDefaultKeyword()) {
68
+ const exportPrefix = interfaceDecl.hasExportKeyword() ? 'export ' : '';
69
+ const interfaceName = interfaceDecl.getName();
70
+ interfaceDecl.replaceWithText(`${exportPrefix}type ${interfaceName} = UnknownRecord;`);
71
+ return true;
65
72
  }
73
+ // Otherwise, check properties for Record types
74
+ return interfaceDecl
75
+ .getProperties()
76
+ .map((property) => {
77
+ const typeNode = property.getTypeNode();
78
+ if (typeNode === undefined)
79
+ return false;
80
+ return visitTypeNode(typeNode);
81
+ })
82
+ .includes(true);
66
83
  };
67
84
  const visitTypeNode = (node) => {
68
85
  if (tsm.Node.isTypeReference(node)) {
@@ -79,15 +96,14 @@ const visitTypeNode = (node) => {
79
96
  Arr.isArrayOfLength(indexSigs, 1) &&
80
97
  isStringUnknownIndexSignature(indexSigs[0])) {
81
98
  node.replaceWithText('UnknownRecord');
82
- return;
99
+ return true;
83
100
  }
84
101
  // Otherwise, recurse into the type literal to visit its properties
85
- visitTypeNode(typeArg);
86
- return;
102
+ return visitTypeNode(typeArg);
87
103
  }
88
104
  }
89
105
  }
90
- replaceIfRecordUnknown(node);
106
+ return replaceIfRecordUnknown(node);
91
107
  }
92
108
  // Check for type literal { [k: string]: unknown }
93
109
  if (tsm.Node.isTypeLiteral(node)) {
@@ -98,47 +114,52 @@ const visitTypeNode = (node) => {
98
114
  Arr.isArrayOfLength(indexSigs, 1) &&
99
115
  isStringUnknownIndexSignature(indexSigs[0])) {
100
116
  node.replaceWithText('UnknownRecord');
101
- return;
117
+ return true;
102
118
  }
119
+ return members
120
+ .map((member) => {
121
+ if (tsm.Node.isPropertySignature(member)) {
122
+ const typeNode = member.getTypeNode();
123
+ return typeNode === undefined ? false : visitTypeNode(typeNode);
124
+ }
125
+ if (tsm.Node.isIndexSignatureDeclaration(member)) {
126
+ const typeNode = member.getReturnTypeNode();
127
+ return typeNode === undefined ? false : visitTypeNode(typeNode);
128
+ }
129
+ return false;
130
+ })
131
+ .includes(true);
103
132
  }
104
133
  // Recursively visit child type nodes
105
- if (tsm.Node.isUnionTypeNode(node)) {
106
- for (const typeNode of node.getTypeNodes()) {
107
- visitTypeNode(typeNode);
108
- }
134
+ if (tsm.Node.isUnionTypeNode(node) || tsm.Node.isIntersectionTypeNode(node)) {
135
+ return node
136
+ .getTypeNodes()
137
+ .map((typeNode) => visitTypeNode(typeNode))
138
+ .includes(true);
109
139
  }
110
- else if (tsm.Node.isIntersectionTypeNode(node)) {
111
- for (const typeNode of node.getTypeNodes()) {
112
- visitTypeNode(typeNode);
113
- }
140
+ if (tsm.Node.isArrayTypeNode(node)) {
141
+ return visitTypeNode(node.getElementTypeNode());
114
142
  }
115
- else if (tsm.Node.isArrayTypeNode(node)) {
116
- visitTypeNode(node.getElementTypeNode());
143
+ if (tsm.Node.isTupleTypeNode(node)) {
144
+ return node
145
+ .getElements()
146
+ .map((element) => visitTypeNode(element))
147
+ .includes(true);
117
148
  }
118
- else if (tsm.Node.isTupleTypeNode(node)) {
119
- for (const element of node.getElements()) {
120
- visitTypeNode(element);
121
- }
149
+ if (tsm.Node.isParenthesizedTypeNode(node)) {
150
+ return visitTypeNode(node.getTypeNode());
122
151
  }
123
- else if (tsm.Node.isParenthesizedTypeNode(node)) {
124
- visitTypeNode(node.getTypeNode());
152
+ // Handles `readonly T[]`, `readonly [...]`, `keyof T`
153
+ if (tsm.Node.isTypeOperatorTypeNode(node)) {
154
+ return visitTypeNode(node.getTypeNode());
125
155
  }
126
- else if (tsm.Node.isTypeLiteral(node)) {
127
- for (const member of node.getMembers()) {
128
- if (tsm.Node.isPropertySignature(member)) {
129
- const typeNode = member.getTypeNode();
130
- if (typeNode !== undefined) {
131
- visitTypeNode(typeNode);
132
- }
133
- }
134
- else if (tsm.Node.isIndexSignatureDeclaration(member)) {
135
- const typeNode = member.getReturnTypeNode();
136
- if (typeNode !== undefined) {
137
- visitTypeNode(typeNode);
138
- }
139
- }
140
- }
156
+ if (tsm.Node.isRestTypeNode(node)) {
157
+ return visitTypeNode(node.getTypeNode());
141
158
  }
159
+ if (tsm.Node.isNamedTupleMember(node)) {
160
+ return visitTypeNode(node.getTypeNode());
161
+ }
162
+ return false;
142
163
  };
143
164
  const isStringUnknownIndexSignature = (sig) => {
144
165
  const keyType = sig.getKeyTypeNode();
@@ -155,8 +176,10 @@ const replaceIfRecordUnknown = (node) => {
155
176
  typeArgs[0].getText() === 'string' &&
156
177
  typeArgs[1].getText() === 'unknown') {
157
178
  node.replaceWithText('UnknownRecord');
179
+ return true;
158
180
  }
159
- break;
181
+ // Recurse into type arguments (e.g. Record<string, Record<string, unknown>>)
182
+ return typeArgs.map((typeArg) => visitTypeNode(typeArg)).includes(true);
160
183
  }
161
184
  case 'Readonly': {
162
185
  // Check if it's Readonly<Record<string, unknown>>
@@ -171,14 +194,45 @@ const replaceIfRecordUnknown = (node) => {
171
194
  innerTypeArgs[0].getText() === 'string' &&
172
195
  innerTypeArgs[1].getText() === 'unknown') {
173
196
  node.replaceWithText('UnknownRecord');
197
+ return true;
174
198
  }
175
199
  }
176
200
  }
201
+ // Otherwise, recurse into the type argument
202
+ return visitTypeNode(innerType);
177
203
  }
178
- break;
204
+ return false;
205
+ }
206
+ default: {
207
+ // Recurse into type arguments for any other generic type
208
+ return node
209
+ .getTypeArguments()
210
+ .map((typeArg) => visitTypeNode(typeArg))
211
+ .includes(true);
179
212
  }
180
213
  }
181
214
  };
215
+ const ensureUnknownRecordImport = (sourceFile) => {
216
+ const existingImport = sourceFile
217
+ .getImportDeclarations()
218
+ .find((decl) => decl.getModuleSpecifierValue() === UNKNOWN_RECORD_MODULE);
219
+ if (existingImport === undefined) {
220
+ sourceFile.insertImportDeclaration(0, {
221
+ moduleSpecifier: UNKNOWN_RECORD_MODULE,
222
+ namedImports: [{ name: UNKNOWN_RECORD_NAME, isTypeOnly: true }],
223
+ });
224
+ return;
225
+ }
226
+ const alreadyImported = existingImport
227
+ .getNamedImports()
228
+ .some((ni) => ni.getName() === UNKNOWN_RECORD_NAME);
229
+ if (alreadyImported)
230
+ return;
231
+ existingImport.addNamedImport({
232
+ name: UNKNOWN_RECORD_NAME,
233
+ isTypeOnly: true,
234
+ });
235
+ };
182
236
 
183
237
  export { replaceRecordWithUnknownRecordTransformer };
184
238
  //# sourceMappingURL=replace-record-with-unknown-record.mjs.map