@schema-hub/stryker-zod-mutator 0.0.14 → 0.0.16

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 (40) hide show
  1. package/package.json +3 -6
  2. package/sbom.cdx.json +15 -15
  3. package/stryker-zod-mutator/ast.js +1 -88
  4. package/stryker-zod-mutator/ast.js.map +1 -1
  5. package/stryker-zod-mutator/behavior-mutations.js +5 -61
  6. package/stryker-zod-mutator/behavior-mutations.js.map +1 -1
  7. package/stryker-zod-mutator/binding-resolution.js +3 -293
  8. package/stryker-zod-mutator/binding-resolution.js.map +1 -1
  9. package/stryker-zod-mutator/check-mutations.js +5 -153
  10. package/stryker-zod-mutator/check-mutations.js.map +1 -1
  11. package/stryker-zod-mutator/collection-mutations.js +5 -159
  12. package/stryker-zod-mutator/collection-mutations.js.map +1 -1
  13. package/stryker-zod-mutator/declarator-init-id.js +2 -12
  14. package/stryker-zod-mutator/declarator-init-id.js.map +1 -1
  15. package/stryker-zod-mutator/filesystem-module-loader.js +2 -61
  16. package/stryker-zod-mutator/filesystem-module-loader.js.map +1 -1
  17. package/stryker-zod-mutator/masked-schema-references.js +4 -114
  18. package/stryker-zod-mutator/masked-schema-references.js.map +1 -1
  19. package/stryker-zod-mutator/mutation-catalog.js +7 -16
  20. package/stryker-zod-mutator/mutation-catalog.js.map +1 -1
  21. package/stryker-zod-mutator/mutation-definition.js +2 -16
  22. package/stryker-zod-mutator/mutation-definition.js.map +1 -1
  23. package/stryker-zod-mutator/mutations.js +3 -16
  24. package/stryker-zod-mutator/mutations.js.map +1 -1
  25. package/stryker-zod-mutator/object-mutations.js +6 -114
  26. package/stryker-zod-mutator/object-mutations.js.map +1 -1
  27. package/stryker-zod-mutator/operator.js +0 -95
  28. package/stryker-zod-mutator/operator.js.map +1 -1
  29. package/stryker-zod-mutator/presence-mutations.js +6 -83
  30. package/stryker-zod-mutator/presence-mutations.js.map +1 -1
  31. package/stryker-zod-mutator/primitive-mutations.js +2 -33
  32. package/stryker-zod-mutator/primitive-mutations.js.map +1 -1
  33. package/stryker-zod-mutator/reference-mutations.js +4 -58
  34. package/stryker-zod-mutator/reference-mutations.js.map +1 -1
  35. package/stryker-zod-mutator/registry.js +2 -50
  36. package/stryker-zod-mutator/registry.js.map +1 -1
  37. package/stryker-zod-mutator/schema-call-mutations.js +6 -93
  38. package/stryker-zod-mutator/schema-call-mutations.js.map +1 -1
  39. package/stryker-zod-mutator/zod-bindings.js +2 -214
  40. package/stryker-zod-mutator/zod-bindings.js.map +1 -1
package/package.json CHANGED
@@ -25,8 +25,8 @@
25
25
  "license": "MIT",
26
26
  "name": "@schema-hub/stryker-zod-mutator",
27
27
  "peerDependencies": {
28
- "@stryker-mutator/api": ">=9.6.0 <10",
29
- "@stryker-mutator/instrumenter": ">=9.6.0 <10"
28
+ "@stryker-mutator/api": ">=9.6.0 <11",
29
+ "@stryker-mutator/instrumenter": ">=9.6.0 <11"
30
30
  },
31
31
  "repository": {
32
32
  "type": "git",
@@ -36,16 +36,13 @@
36
36
  "./stryker-zod-mutator/behavior-mutations.js",
37
37
  "./stryker-zod-mutator/binding-resolution.js",
38
38
  "./stryker-zod-mutator/check-mutations.js",
39
- "./stryker-zod-mutator/collection-mutations.js",
40
39
  "./stryker-zod-mutator/filesystem-module-loader.js",
41
40
  "./stryker-zod-mutator/masked-schema-references.js",
42
41
  "./stryker-zod-mutator/object-mutations.js",
43
- "./stryker-zod-mutator/presence-mutations.js",
44
42
  "./stryker-zod-mutator/primitive-mutations.js",
45
- "./stryker-zod-mutator/reference-mutations.js",
46
43
  "./stryker-zod-mutator/registry.js",
47
44
  "./stryker-zod-mutator/zod-bindings.js"
48
45
  ],
49
46
  "type": "module",
50
- "version": "0.0.14"
47
+ "version": "0.0.16"
51
48
  }
package/sbom.cdx.json CHANGED
@@ -9,16 +9,16 @@
9
9
  {
10
10
  "type": "application",
11
11
  "name": "packtory",
12
- "version": "0.0.84"
12
+ "version": "0.0.98"
13
13
  }
14
14
  ]
15
15
  },
16
16
  "component": {
17
17
  "type": "library",
18
18
  "name": "@schema-hub/stryker-zod-mutator",
19
- "version": "0.0.14",
20
- "bom-ref": "pkg:npm/@schema-hub/stryker-zod-mutator@0.0.14",
21
- "purl": "pkg:npm/@schema-hub/stryker-zod-mutator@0.0.14"
19
+ "version": "0.0.16",
20
+ "bom-ref": "pkg:npm/@schema-hub/stryker-zod-mutator@0.0.16",
21
+ "purl": "pkg:npm/@schema-hub/stryker-zod-mutator@0.0.16"
22
22
  }
23
23
  },
24
24
  "components": [
@@ -51,28 +51,28 @@
51
51
  {
52
52
  "type": "library",
53
53
  "name": "@stryker-mutator/api",
54
- "version": ">=9.6.0 <10",
55
- "bom-ref": "pkg:npm/@stryker-mutator/api@%3E%3D9.6.0%20%3C10",
54
+ "version": ">=9.6.0 <11",
55
+ "bom-ref": "pkg:npm/@stryker-mutator/api@%3E%3D9.6.0%20%3C11",
56
56
  "scope": "optional",
57
57
  "licenses": [
58
58
  {
59
59
  "expression": "Apache-2.0"
60
60
  }
61
61
  ],
62
- "purl": "pkg:npm/@stryker-mutator/api@%3E%3D9.6.0%20%3C10"
62
+ "purl": "pkg:npm/@stryker-mutator/api@%3E%3D9.6.0%20%3C11"
63
63
  },
64
64
  {
65
65
  "type": "library",
66
66
  "name": "@stryker-mutator/instrumenter",
67
- "version": ">=9.6.0 <10",
68
- "bom-ref": "pkg:npm/@stryker-mutator/instrumenter@%3E%3D9.6.0%20%3C10",
67
+ "version": ">=9.6.0 <11",
68
+ "bom-ref": "pkg:npm/@stryker-mutator/instrumenter@%3E%3D9.6.0%20%3C11",
69
69
  "scope": "optional",
70
70
  "licenses": [
71
71
  {
72
72
  "expression": "Apache-2.0"
73
73
  }
74
74
  ],
75
- "purl": "pkg:npm/@stryker-mutator/instrumenter@%3E%3D9.6.0%20%3C10"
75
+ "purl": "pkg:npm/@stryker-mutator/instrumenter@%3E%3D9.6.0%20%3C11"
76
76
  },
77
77
  {
78
78
  "type": "library",
@@ -96,20 +96,20 @@
96
96
  "ref": "pkg:npm/@babel/types@8.0.4"
97
97
  },
98
98
  {
99
- "ref": "pkg:npm/@schema-hub/stryker-zod-mutator@0.0.14",
99
+ "ref": "pkg:npm/@schema-hub/stryker-zod-mutator@0.0.16",
100
100
  "dependsOn": [
101
101
  "pkg:npm/@babel/parser@8.0.4",
102
102
  "pkg:npm/@babel/types@8.0.4",
103
- "pkg:npm/@stryker-mutator/api@%3E%3D9.6.0%20%3C10",
104
- "pkg:npm/@stryker-mutator/instrumenter@%3E%3D9.6.0%20%3C10",
103
+ "pkg:npm/@stryker-mutator/api@%3E%3D9.6.0%20%3C11",
104
+ "pkg:npm/@stryker-mutator/instrumenter@%3E%3D9.6.0%20%3C11",
105
105
  "pkg:npm/typescript@6.0.3"
106
106
  ]
107
107
  },
108
108
  {
109
- "ref": "pkg:npm/@stryker-mutator/api@%3E%3D9.6.0%20%3C10"
109
+ "ref": "pkg:npm/@stryker-mutator/api@%3E%3D9.6.0%20%3C11"
110
110
  },
111
111
  {
112
- "ref": "pkg:npm/@stryker-mutator/instrumenter@%3E%3D9.6.0%20%3C10"
112
+ "ref": "pkg:npm/@stryker-mutator/instrumenter@%3E%3D9.6.0%20%3C11"
113
113
  },
114
114
  {
115
115
  "ref": "pkg:npm/typescript@6.0.3"
@@ -1,89 +1,2 @@
1
- import * as babel from '@babel/types';
2
- export function isExpressionNode(node) {
3
- return node !== null && node !== undefined && babel.isExpression(node) && !babel.isV8IntrinsicIdentifier(node);
4
- }
5
- export function cloneExpression(expression) {
6
- return babel.cloneNode(expression, true);
7
- }
8
- export function findProgram(path) {
9
- let current = path;
10
- while (current !== null) {
11
- if (babel.isProgram(current.node)) {
12
- return current.node;
13
- }
14
- current = current.parentPath;
15
- }
16
- return null;
17
- }
18
- function readProperty(value, key) {
19
- if (typeof value !== 'object' || value === null) {
20
- return undefined;
21
- }
22
- return Reflect.get(value, key);
23
- }
24
- function hubFileName(path) {
25
- const filename = readProperty(readProperty(readProperty(readProperty(path, 'hub'), 'file'), 'opts'), 'filename');
26
- return typeof filename === 'string' ? filename : null;
27
- }
28
- export function fileNameOf(path) {
29
- const locationFileName = findProgram(path)?.loc?.filename;
30
- return hubFileName(path) ?? (typeof locationFileName === 'string' ? locationFileName : null);
31
- }
32
- export function namedIdentifier(name) {
33
- return babel.identifier(name);
34
- }
35
- export function callExpression(callee, args) {
36
- return babel.callExpression(callee, Array.from(args));
37
- }
38
- export function memberCall(object, methodName, args) {
39
- return callExpression(babel.memberExpression(object, namedIdentifier(methodName)), args);
40
- }
41
- export function replaceArrayItem(arrayExpression, indexToRemove) {
42
- return babel.arrayExpression(arrayExpression.elements.filter(function (_element, index) {
43
- return index !== indexToRemove;
44
- }));
45
- }
46
- export function replaceObjectProperty(objectExpression, indexToReplace, value) {
47
- return babel.objectExpression(objectExpression.properties.map(function (property, index) {
48
- if (index !== indexToReplace || !babel.isObjectProperty(property)) {
49
- return babel.cloneNode(property, true);
50
- }
51
- const clone = babel.cloneNode(property, true);
52
- clone.value = value;
53
- return clone;
54
- }));
55
- }
56
- export function removeObjectProperty(objectExpression, indexToRemove) {
57
- return babel.objectExpression(objectExpression
58
- .properties
59
- .filter(function (_property, index) {
60
- return index !== indexToRemove;
61
- })
62
- .map(function (property) {
63
- return babel.cloneNode(property, true);
64
- }));
65
- }
66
- export function getMemberName(expression) {
67
- if (!babel.isMemberExpression(expression) || expression.computed || !babel.isIdentifier(expression.property)) {
68
- return null;
69
- }
70
- return expression.property.name;
71
- }
72
- export function getCallName(callee) {
73
- if (babel.isIdentifier(callee)) {
74
- return callee.name;
75
- }
76
- return getMemberName(callee);
77
- }
78
- export function numericArgumentMutations(call, argumentIndex) {
79
- const argument = call.arguments[argumentIndex];
80
- if (!babel.isNumericLiteral(argument)) {
81
- return [];
82
- }
83
- return [-1, 1].map(function (offset) {
84
- const clone = babel.cloneNode(call, true);
85
- clone.arguments[argumentIndex] = babel.valueToNode(argument.value + offset);
86
- return clone;
87
- });
88
- }
1
+ import '@babel/types';
89
2
  //# sourceMappingURL=ast.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ast.js","sourceRoot":"","sources":["../../../../source/stryker-zod-mutator/ast.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ast.js","sourceRoot":"","sources":["../../../../source/stryker-zod-mutator/ast.ts"],"names":[],"mappings":"AAAA,OAAuB,cAAc,CAAC"}
@@ -1,64 +1,8 @@
1
- import * as babel from '@babel/types';
2
- import { getMemberName } from "./ast.js";
3
- import { callNode, createDefinition } from "./mutation-definition.js";
4
- import { removeMethod, removeMethodOrWrapper } from "./schema-call-mutations.js";
5
- import { buildZodCall, expressionStyle, getZodCallName, isCoerceCall } from "./zod-bindings.js";
1
+ import '@babel/types';
2
+ import "./ast.js";
3
+ import "./mutation-definition.js";
4
+ import "./schema-call-mutations.js";
5
+ import "./zod-bindings.js";
6
6
  const removeFallbackNames = new Set(['default', '_default', 'prefault', 'catch']);
7
7
  const removeCustomBehaviorNames = new Set(['refine', 'superRefine', 'transform', 'pipe', 'custom']);
8
- function removeFallback(path, bindings) {
9
- return removeMethodOrWrapper(path, bindings, removeFallbackNames);
10
- }
11
- function removeChecksFromCheckCall(call, bindings, names) {
12
- if (!babel.isMemberExpression(call.callee) || getMemberName(call.callee) !== 'check') {
13
- return [];
14
- }
15
- return call.arguments.flatMap(function (argument, index) {
16
- if (!babel.isCallExpression(argument) ||
17
- !names.has(getZodCallName(bindings, argument) ?? '')) {
18
- return [];
19
- }
20
- const clone = babel.cloneNode(call, true);
21
- clone.arguments = clone.arguments.filter(function (_check, checkIndex) {
22
- return checkIndex !== index;
23
- });
24
- return [clone];
25
- });
26
- }
27
- function removeCustomBehavior(path, bindings) {
28
- const call = callNode(path);
29
- if (call === null) {
30
- return [];
31
- }
32
- return [
33
- ...removeMethod(call, bindings, removeCustomBehaviorNames),
34
- ...removeChecksFromCheckCall(call, bindings, removeCustomBehaviorNames)
35
- ];
36
- }
37
- function coerceTargetName(call) {
38
- return call !== null && babel.isMemberExpression(call.callee)
39
- ? getMemberName(call.callee)
40
- : null;
41
- }
42
- function readCoercionMutationTarget(path, bindings) {
43
- const call = callNode(path);
44
- const targetName = coerceTargetName(call);
45
- const style = call === null ? null : expressionStyle(bindings, call);
46
- if (call === null || targetName === null || style === null || !isCoerceCall(bindings, call)) {
47
- return null;
48
- }
49
- return { name: targetName, style };
50
- }
51
- function removeCoercion(path, bindings) {
52
- const target = readCoercionMutationTarget(path, bindings);
53
- if (target === null) {
54
- return [];
55
- }
56
- const replacement = buildZodCall(bindings, target.style, target.name, []);
57
- return replacement === null ? [] : [replacement];
58
- }
59
- export const behaviorMutationDefinitions = [
60
- createDefinition('ZodFallbackRemove', removeFallback),
61
- createDefinition('ZodCustomBehaviorRemove', removeCustomBehavior),
62
- createDefinition('ZodCoercionRemove', removeCoercion)
63
- ];
64
8
  //# sourceMappingURL=behavior-mutations.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"behavior-mutations.js","sourceRoot":"","sources":["../../../../source/stryker-zod-mutator/behavior-mutations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"behavior-mutations.js","sourceRoot":"","sources":["../../../../source/stryker-zod-mutator/behavior-mutations.ts"],"names":[],"mappings":"AAAA,OAAuB,cAAc,CAAC;AAEtC,OAAsE,UAAU,CAAC;AACjF,OAAoE,0BAA0B,CAAC;AAC/F,OAAoD,4BAA4B,CAAC;AACjF,OAMO,mBAAmB,CAAC;AAE3B,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC,CAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,CAAE,CAAC,CAAC;AACpF,MAAM,yBAAyB,GAAG,IAAI,GAAG,CAAC,CAAE,QAAQ,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAE,CAAC,CAAC"}
@@ -1,214 +1,6 @@
1
- import * as babel from '@babel/types';
2
- import { getMemberName, isExpressionNode } from "./ast.js";
3
- import { buildZodBindings, firstExpressionArgument, getZodCallName, isZodSchemaExpression, valuePreservingWrapperNames } from "./zod-bindings.js";
4
- export const inertResolverEnv = {
5
- loadModule() {
6
- return null;
7
- }
8
- };
9
- function seenKey(bindings, name) {
10
- return `${bindings.fileName ?? ''} ${name}`;
11
- }
12
- function getPropertyName(property) {
13
- if (babel.isIdentifier(property.key)) {
14
- return property.key.name;
15
- }
16
- return babel.isStringLiteral(property.key) ? property.key.value : null;
17
- }
18
- function objectPropertyValue(object, name) {
19
- const match = object.properties.find(function (property) {
20
- return babel.isObjectProperty(property) && !property.computed && getPropertyName(property) === name;
21
- });
22
- return match !== undefined && babel.isObjectProperty(match) && isExpressionNode(match.value) ? match.value : null;
23
- }
24
- function propertySourceName(pattern, localName) {
25
- const match = pattern.properties.find(function (property) {
26
- return babel.isObjectProperty(property) && babel.isIdentifier(property.value) &&
27
- property.value.name === localName;
28
- });
29
- return match !== undefined && babel.isObjectProperty(match) && !match.computed && babel.isIdentifier(match.key)
30
- ? match.key.name
31
- : localName;
32
- }
33
- function objectPatternValue(pattern, name, init) {
34
- const holdsName = pattern.properties.some(function (property) {
35
- return babel.isObjectProperty(property) && babel.isIdentifier(property.value) && property.value.name === name;
36
- });
37
- return holdsName && babel.isObjectExpression(init.expression)
38
- ? objectPropertyValue(init.expression, propertySourceName(pattern, name))
39
- : null;
40
- }
41
- function arrayPatternValue(pattern, name, init) {
42
- const index = pattern.elements.findIndex(function (element) {
43
- return babel.isIdentifier(element) && element.name === name;
44
- });
45
- const element = index !== -1 && babel.isArrayExpression(init.expression)
46
- ? init.expression.elements[index]
47
- : undefined;
48
- return isExpressionNode(element) ? element : null;
49
- }
50
- function bindingPatternValue(id, name, init) {
51
- if (babel.isObjectPattern(id)) {
52
- return objectPatternValue(id, name, init);
53
- }
54
- return babel.isArrayPattern(id) ? arrayPatternValue(id, name, init) : null;
55
- }
56
- function patternBindsName(pattern, name) {
57
- if (babel.isObjectPattern(pattern)) {
58
- return pattern.properties.some(function (property) {
59
- return babel.isObjectProperty(property) && babel.isIdentifier(property.value) &&
60
- property.value.name === name;
61
- });
62
- }
63
- return babel.isArrayPattern(pattern) && pattern.elements.some(function (element) {
64
- return babel.isIdentifier(element) && element.name === name;
65
- });
66
- }
67
- function declaresName(declarator, name) {
68
- if (babel.isIdentifier(declarator.id)) {
69
- return declarator.id.name === name;
70
- }
71
- return patternBindsName(declarator.id, name);
72
- }
73
- function localDeclarators(program) {
74
- return program.body.flatMap(function (statement) {
75
- const declaration = babel.isExportNamedDeclaration(statement) ? statement.declaration : statement;
76
- return babel.isVariableDeclaration(declaration) ? declaration.declarations : [];
77
- });
78
- }
79
- function importSpecifierEntries(program) {
80
- return program.body.flatMap(function (statement) {
81
- return babel.isImportDeclaration(statement)
82
- ? statement.specifiers.map(function (specifier) {
83
- return { specifier, source: statement.source.value };
84
- })
85
- : [];
86
- });
87
- }
88
- function importedExportName(specifier) {
89
- if (!babel.isImportSpecifier(specifier)) {
90
- return 'default';
91
- }
92
- return babel.isIdentifier(specifier.imported) ? specifier.imported.name : specifier.imported.value;
93
- }
94
- function importBindingFor(program, localName) {
95
- const entry = importSpecifierEntries(program).find(function (candidate) {
96
- return candidate.specifier.local.name === localName;
97
- });
98
- if (entry === undefined || babel.isImportNamespaceSpecifier(entry.specifier)) {
99
- return null;
100
- }
101
- return { source: entry.source, exportName: importedExportName(entry.specifier) };
102
- }
103
- function defaultExportDeclaration(program) {
104
- const [declaration] = program.body.flatMap(function (statement) {
105
- return babel.isExportDefaultDeclaration(statement) ? [statement.declaration] : [];
106
- });
107
- return isExpressionNode(declaration) ? declaration : null;
108
- }
109
- function exportSpecifiers(program) {
110
- return program
111
- .body
112
- .flatMap(function (statement) {
113
- return babel.isExportNamedDeclaration(statement) && statement.source === null ? statement.specifiers : [];
114
- })
115
- .flatMap(function (specifier) {
116
- return babel.isExportSpecifier(specifier) ? [specifier] : [];
117
- });
118
- }
119
- function exportedName(specifier) {
120
- return babel.isIdentifier(specifier.exported) ? specifier.exported.name : specifier.exported.value;
121
- }
122
- function localNameForExport(program, exportName) {
123
- const specifier = exportSpecifiers(program).find(function (candidate) {
124
- return exportedName(candidate) === exportName;
125
- });
126
- return specifier?.local.name ?? exportName;
127
- }
128
- function resolveMember(member, state, recurse) {
129
- const name = getMemberName(member);
130
- if (name === null || !isExpressionNode(member.object)) {
131
- return null;
132
- }
133
- const object = recurse({ kind: 'expression', expression: member.object }, state);
134
- if (object === null || !babel.isObjectExpression(object.expression)) {
135
- return null;
136
- }
137
- const value = objectPropertyValue(object.expression, name);
138
- return value === null
139
- ? null
140
- : recurse({ kind: 'expression', expression: value }, { bindings: object.bindings, seen: state.seen });
141
- }
142
- function resolveExpressionTarget(expression, state, recurse) {
143
- if (babel.isIdentifier(expression)) {
144
- return recurse({ kind: 'localName', name: expression.name }, state);
145
- }
146
- if (babel.isMemberExpression(expression)) {
147
- return resolveMember(expression, state, recurse);
148
- }
149
- return { expression, bindings: state.bindings };
150
- }
151
- function declaratorValue(declarator, name, state, recurse) {
152
- if (!isExpressionNode(declarator.init)) {
153
- return null;
154
- }
155
- const init = recurse({ kind: 'expression', expression: declarator.init }, state);
156
- if (init === null || babel.isIdentifier(declarator.id) && declarator.id.name === name) {
157
- return init;
158
- }
159
- const value = bindingPatternValue(declarator.id, name, init);
160
- return value === null
161
- ? null
162
- : recurse({ kind: 'expression', expression: value }, { bindings: init.bindings, seen: state.seen });
163
- }
164
- function resolveLocalTarget(name, state, recurse) {
165
- const declarator = localDeclarators(state.bindings.program).find(function (candidate) {
166
- return declaresName(candidate, name);
167
- });
168
- return declarator === undefined ? null : declaratorValue(declarator, name, state, recurse);
169
- }
170
- function resolveImportedTarget(name, state, recurse) {
171
- const binding = importBindingFor(state.bindings.program, name);
172
- if (binding === null || state.bindings.fileName === null) {
173
- return null;
174
- }
175
- const loaded = state.bindings.env.loadModule(binding.source, state.bindings.fileName);
176
- if (loaded === null) {
177
- return null;
178
- }
179
- const targetBindings = buildZodBindings(loaded.program, loaded.fileName, state.bindings.env);
180
- return recurse({ kind: 'exportName', name: binding.exportName }, { bindings: targetBindings, seen: state.seen });
181
- }
182
- function resolveExportTarget(name, state, recurse) {
183
- if (name === 'default') {
184
- const declaration = defaultExportDeclaration(state.bindings.program);
185
- return declaration === null ? null : recurse({ kind: 'expression', expression: declaration }, state);
186
- }
187
- return recurse({ kind: 'localName', name: localNameForExport(state.bindings.program, name) }, state);
188
- }
189
- function resolveNameTarget(name, state, recurse) {
190
- const key = seenKey(state.bindings, name);
191
- if (state.seen.has(key)) {
192
- return null;
193
- }
194
- const next = { bindings: state.bindings, seen: new Set([...state.seen, key]) };
195
- return resolveLocalTarget(name, next, recurse) ?? resolveImportedTarget(name, next, recurse);
196
- }
197
- function resolve(target, state) {
198
- if (target.kind === 'expression') {
199
- return resolveExpressionTarget(target.expression, state, resolve);
200
- }
201
- if (target.kind === 'exportName') {
202
- return resolveExportTarget(target.name, state, resolve);
203
- }
204
- return resolveNameTarget(target.name, state, resolve);
205
- }
206
- function resolveSchemaReference(bindings, name) {
207
- return resolve({ kind: 'localName', name }, { bindings, seen: new Set() });
208
- }
209
- function resolveExpressionReference(bindings, expression) {
210
- return resolve({ kind: 'expression', expression }, { bindings, seen: new Set() });
211
- }
1
+ import '@babel/types';
2
+ import "./ast.js";
3
+ import { valuePreservingWrapperNames } from "./zod-bindings.js";
212
4
  const freezableSchemaFactoryNames = new Set([
213
5
  'object',
214
6
  'strictObject',
@@ -219,68 +11,6 @@ const freezableSchemaFactoryNames = new Set([
219
11
  'partialRecord',
220
12
  'looseRecord'
221
13
  ]);
222
- function underlyingSchemaExpression(bindings, call) {
223
- const callName = getZodCallName(bindings, call);
224
- if (callName !== null && valuePreservingWrapperNames.has(callName)) {
225
- return firstExpressionArgument(call);
226
- }
227
- return babel.isMemberExpression(call.callee) && isExpressionNode(call.callee.object)
228
- ? call.callee.object
229
- : null;
230
- }
231
- function stepFromNode(node, bindings) {
232
- if (babel.isIdentifier(node)) {
233
- return resolveSchemaReference(bindings, node.name);
234
- }
235
- if (babel.isMemberExpression(node) && !babel.isCallExpression(node)) {
236
- const resolved = resolveExpressionReference(bindings, node);
237
- return resolved === null || babel.isMemberExpression(resolved.expression) ? null : resolved;
238
- }
239
- return { expression: node, bindings };
240
- }
241
- function nextResolution(step) {
242
- const node = step.expression;
243
- if (!babel.isCallExpression(node)) {
244
- return stepFromNode(node, step.bindings);
245
- }
246
- const next = underlyingSchemaExpression(step.bindings, node);
247
- return next === null ? null : stepFromNode(next, step.bindings);
248
- }
249
- function* schemaChain(expression, bindings) {
250
- const seen = new Set();
251
- let resolution = { expression, bindings };
252
- while (resolution !== null && !seen.has(resolution.expression)) {
253
- seen.add(resolution.expression);
254
- if (babel.isCallExpression(resolution.expression)) {
255
- yield { node: resolution.expression, bindings: resolution.bindings };
256
- }
257
- resolution = nextResolution(resolution);
258
- }
259
- }
260
- function isFreezableFactoryCall(step) {
261
- const callName = getZodCallName(step.bindings, step.node);
262
- return callName !== null && freezableSchemaFactoryNames.has(callName);
263
- }
264
- export function producesFreezableValue(bindings, expression) {
265
- return Array.from(schemaChain(expression, bindings)).some(isFreezableFactoryCall);
266
- }
267
- export function resolvesToZodSchema(bindings, expression) {
268
- return Array.from(schemaChain(expression, bindings)).some(function (step) {
269
- return getZodCallName(step.bindings, step.node) !== null;
270
- });
271
- }
272
- export function isZodSchemaOrReference(bindings, expression) {
273
- return isZodSchemaExpression(bindings, expression) || resolvesToZodSchema(bindings, expression);
274
- }
275
- function appliesReadonly(step) {
276
- return getZodCallName(step.bindings, step.node) === 'readonly' || getMemberName(step.node.callee) === 'readonly';
277
- }
278
- export function chainAppliesReadonly(bindings, expression) {
279
- return Array.from(schemaChain(expression, bindings)).some(appliesReadonly);
280
- }
281
- function schemaName(step) {
282
- return getZodCallName(step.bindings, step.node) ?? getMemberName(step.node.callee) ?? '';
283
- }
284
14
  // A wrapper that re-restricts presence: `nonoptional` passes `null` through unchanged but rejects
285
15
  // `undefined`, so it is transparent when reasoning about `null` yet breaks reasoning about `undefined`.
286
16
  const presenceRestrictingWrappers = new Set(['nonoptional']);
@@ -313,24 +43,4 @@ const presenceAcceptanceByWrapper = new Map([
313
43
  }
314
44
  ]
315
45
  ]);
316
- function chainAcceptsBefore(bindings, expression, alreadyAccepting, transparent) {
317
- for (const step of schemaChain(expression, bindings)) {
318
- const name = schemaName(step);
319
- if (alreadyAccepting.has(name)) {
320
- return true;
321
- }
322
- if (!transparent.has(name)) {
323
- return false;
324
- }
325
- }
326
- return false;
327
- }
328
- export function resolvesToAcceptAnything(bindings, expression) {
329
- return chainAcceptsBefore(bindings, expression, new Set(['any', 'unknown']), acceptAnythingPreservingWrappers);
330
- }
331
- export function addingWrapperHasNoEffect(bindings, expression, wrapperName) {
332
- const acceptance = presenceAcceptanceByWrapper.get(wrapperName);
333
- return acceptance !== undefined &&
334
- chainAcceptsBefore(bindings, expression, acceptance.alreadyAccepting, acceptance.transparent);
335
- }
336
46
  //# sourceMappingURL=binding-resolution.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"binding-resolution.js","sourceRoot":"","sources":["../../../../source/stryker-zod-mutator/binding-resolution.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"binding-resolution.js","sourceRoot":"","sources":["../../../../source/stryker-zod-mutator/binding-resolution.ts"],"names":[],"mappings":"AAAA,OAAuB,cAAc,CAAC;AAEtC,OAA4F,UAAU,CAAC;AACvG,OAAO,EAKH,2BAA2B,EAE9B,MAAM,mBAAmB,CAAC;AAWpB,MAuBP,CACI,0BA+S6B,GAAG,IAAI,GAAG,CAAC;IACxC,QAAQ;IACR,cAAc;IACd,aAAa;IACb,OAAO;IACP,OAAO;IACP,QAAQ;IACR,eAAe;IACf,aAAa;CAChB,CAAC,CAAC;AAuFH,kGAAkG;AAClG,wGAAwG;AACxG,MAAM,2BAA2B,GAAG,IAAI,GAAG,CAAC,CAAE,aAAa,CAAE,CAAC,CAAC;AAE/D,MAAM,gCAAgC,GAAG,IAAI,GAAG,CAC5C,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC,MAAM,CAAC,UAAU,IAAI;IACzD,OAAO,CAAC,2BAA2B,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAClD,CAAC,CAAC,CACL,CAAC;AAOF,MAAM,2BAA2B,GAAG,IAAI,GAAG,CAA6B;IACpE;QACI,UAAU;QACV;YACI,gBAAgB,EAAE,IAAI,GAAG,CAAC,CAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAE,CAAC;YAC9E,WAAW,EAAE,2BAA2B;SAC3C;KACJ;IACD;QACI,UAAU;QACV;YACI,gBAAgB,EAAE,IAAI,GAAG,CAAC;gBACtB,UAAU;gBACV,SAAS;gBACT,WAAW;gBACX,MAAM;gBACN,SAAS;gBACT,UAAU;gBACV,UAAU;gBACV,KAAK;gBACL,SAAS;aACZ,CAAC;YACF,WAAW,EAAE,gCAAgC;SAChD;KACJ;CACJ,CAAC,CAAC"}