@minecraft/api-docs-generator 1.0.0

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 (157) hide show
  1. package/CHANGELOG.json +20 -0
  2. package/CHANGELOG.md +13 -0
  3. package/README.md +92 -0
  4. package/lib/ChangelogStrategy.d.ts +39 -0
  5. package/lib/ChangelogStrategy.js +114 -0
  6. package/lib/ChangelogStrategy.js.map +1 -0
  7. package/lib/Config.d.ts +76 -0
  8. package/lib/Config.js +68 -0
  9. package/lib/Config.js.map +1 -0
  10. package/lib/Context.d.ts +28 -0
  11. package/lib/Context.js +323 -0
  12. package/lib/Context.js.map +1 -0
  13. package/lib/FileLoader.d.ts +13 -0
  14. package/lib/FileLoader.js +91 -0
  15. package/lib/FileLoader.js.map +1 -0
  16. package/lib/Logger.d.ts +65 -0
  17. package/lib/Logger.js +179 -0
  18. package/lib/Logger.js.map +1 -0
  19. package/lib/MinecraftRelease.d.ts +37 -0
  20. package/lib/MinecraftRelease.js +157 -0
  21. package/lib/MinecraftRelease.js.map +1 -0
  22. package/lib/PrettierConfiguration.d.ts +2 -0
  23. package/lib/PrettierConfiguration.js +17 -0
  24. package/lib/PrettierConfiguration.js.map +1 -0
  25. package/lib/changelog.d.ts +11 -0
  26. package/lib/changelog.js +459 -0
  27. package/lib/changelog.js.map +1 -0
  28. package/lib/cli.d.ts +2 -0
  29. package/lib/cli.js +172 -0
  30. package/lib/cli.js.map +1 -0
  31. package/lib/filters/CommandFilters.d.ts +2 -0
  32. package/lib/filters/CommandFilters.js +171 -0
  33. package/lib/filters/CommandFilters.js.map +1 -0
  34. package/lib/filters/CommonFilters.d.ts +2 -0
  35. package/lib/filters/CommonFilters.js +2518 -0
  36. package/lib/filters/CommonFilters.js.map +1 -0
  37. package/lib/filters/Filters.d.ts +17 -0
  38. package/lib/filters/Filters.js +5 -0
  39. package/lib/filters/Filters.js.map +1 -0
  40. package/lib/filters/MarkdownFilters.d.ts +2 -0
  41. package/lib/filters/MarkdownFilters.js +63 -0
  42. package/lib/filters/MarkdownFilters.js.map +1 -0
  43. package/lib/filters/TypeScriptFilters.d.ts +2 -0
  44. package/lib/filters/TypeScriptFilters.js +387 -0
  45. package/lib/filters/TypeScriptFilters.js.map +1 -0
  46. package/lib/filters/index.d.ts +4 -0
  47. package/lib/filters/index.js +23 -0
  48. package/lib/filters/index.js.map +1 -0
  49. package/lib/generator.d.ts +8 -0
  50. package/lib/generator.js +511 -0
  51. package/lib/generator.js.map +1 -0
  52. package/lib/index.d.ts +16 -0
  53. package/lib/index.js +50 -0
  54. package/lib/index.js.map +1 -0
  55. package/lib/modules/IMinecraftModule.d.ts +123 -0
  56. package/lib/modules/IMinecraftModule.js +71 -0
  57. package/lib/modules/IMinecraftModule.js.map +1 -0
  58. package/lib/modules/KeyToTypeMapping.d.ts +77 -0
  59. package/lib/modules/KeyToTypeMapping.js +5 -0
  60. package/lib/modules/KeyToTypeMapping.js.map +1 -0
  61. package/lib/modules/MinecraftAfterEventsOrderModule.d.ts +57 -0
  62. package/lib/modules/MinecraftAfterEventsOrderModule.js +28 -0
  63. package/lib/modules/MinecraftAfterEventsOrderModule.js.map +1 -0
  64. package/lib/modules/MinecraftBlockModule.d.ts +139 -0
  65. package/lib/modules/MinecraftBlockModule.js +37 -0
  66. package/lib/modules/MinecraftBlockModule.js.map +1 -0
  67. package/lib/modules/MinecraftChangelogTypes.d.ts +60 -0
  68. package/lib/modules/MinecraftChangelogTypes.js +17 -0
  69. package/lib/modules/MinecraftChangelogTypes.js.map +1 -0
  70. package/lib/modules/MinecraftCommandModule.d.ts +270 -0
  71. package/lib/modules/MinecraftCommandModule.js +87 -0
  72. package/lib/modules/MinecraftCommandModule.js.map +1 -0
  73. package/lib/modules/MinecraftDimensionsModule.d.ts +44 -0
  74. package/lib/modules/MinecraftDimensionsModule.js +11 -0
  75. package/lib/modules/MinecraftDimensionsModule.js.map +1 -0
  76. package/lib/modules/MinecraftDocsTypes.d.ts +475 -0
  77. package/lib/modules/MinecraftDocsTypes.js +77 -0
  78. package/lib/modules/MinecraftDocsTypes.js.map +1 -0
  79. package/lib/modules/MinecraftEffectsModule.d.ts +44 -0
  80. package/lib/modules/MinecraftEffectsModule.js +11 -0
  81. package/lib/modules/MinecraftEffectsModule.js.map +1 -0
  82. package/lib/modules/MinecraftEnchantmentsModule.d.ts +44 -0
  83. package/lib/modules/MinecraftEnchantmentsModule.js +11 -0
  84. package/lib/modules/MinecraftEnchantmentsModule.js.map +1 -0
  85. package/lib/modules/MinecraftEngineDataModules.d.ts +2 -0
  86. package/lib/modules/MinecraftEngineDataModules.js +5 -0
  87. package/lib/modules/MinecraftEngineDataModules.js.map +1 -0
  88. package/lib/modules/MinecraftEntitiesModule.d.ts +44 -0
  89. package/lib/modules/MinecraftEntitiesModule.js +11 -0
  90. package/lib/modules/MinecraftEntitiesModule.js.map +1 -0
  91. package/lib/modules/MinecraftItemsModule.d.ts +44 -0
  92. package/lib/modules/MinecraftItemsModule.js +11 -0
  93. package/lib/modules/MinecraftItemsModule.js.map +1 -0
  94. package/lib/modules/MinecraftSchemaObject.d.ts +16 -0
  95. package/lib/modules/MinecraftSchemaObject.js +5 -0
  96. package/lib/modules/MinecraftSchemaObject.js.map +1 -0
  97. package/lib/modules/MinecraftScriptModule.d.ts +3677 -0
  98. package/lib/modules/MinecraftScriptModule.js +374 -0
  99. package/lib/modules/MinecraftScriptModule.js.map +1 -0
  100. package/lib/modules/MinecraftVanillaDataModules.d.ts +4 -0
  101. package/lib/modules/MinecraftVanillaDataModules.js +9 -0
  102. package/lib/modules/MinecraftVanillaDataModules.js.map +1 -0
  103. package/lib/modules/index.d.ts +15 -0
  104. package/lib/modules/index.js +34 -0
  105. package/lib/modules/index.js.map +1 -0
  106. package/lib/plugins/MarkupGenerator.d.ts +28 -0
  107. package/lib/plugins/MarkupGenerator.js +5 -0
  108. package/lib/plugins/MarkupGenerator.js.map +1 -0
  109. package/lib/plugins/Plugin.d.ts +16 -0
  110. package/lib/plugins/Plugin.js +5 -0
  111. package/lib/plugins/Plugin.js.map +1 -0
  112. package/lib/plugins/index.d.ts +2 -0
  113. package/lib/plugins/index.js +21 -0
  114. package/lib/plugins/index.js.map +1 -0
  115. package/lib/test/commonFilterUnitTests.spec.d.ts +1 -0
  116. package/lib/test/commonFilterUnitTests.spec.js +85 -0
  117. package/lib/test/commonFilterUnitTests.spec.js.map +1 -0
  118. package/lib/test/diffingUnitTests.test.d.ts +1 -0
  119. package/lib/test/diffingUnitTests.test.js +238 -0
  120. package/lib/test/diffingUnitTests.test.js.map +1 -0
  121. package/lib/test/scanObjectUnitTests.test.d.ts +1 -0
  122. package/lib/test/scanObjectUnitTests.test.js +162 -0
  123. package/lib/test/scanObjectUnitTests.test.js.map +1 -0
  124. package/lib/test/versionParsing.test.d.ts +1 -0
  125. package/lib/test/versionParsing.test.js +147 -0
  126. package/lib/test/versionParsing.test.js.map +1 -0
  127. package/lib/utilities/AppendVersion.d.ts +8 -0
  128. package/lib/utilities/AppendVersion.js +46 -0
  129. package/lib/utilities/AppendVersion.js.map +1 -0
  130. package/lib/utilities/Complete.d.ts +7 -0
  131. package/lib/utilities/Complete.js +5 -0
  132. package/lib/utilities/Complete.js.map +1 -0
  133. package/lib/utilities/DeepCopyJson.d.ts +4 -0
  134. package/lib/utilities/DeepCopyJson.js +46 -0
  135. package/lib/utilities/DeepCopyJson.js.map +1 -0
  136. package/lib/utilities/GetFiles.d.ts +3 -0
  137. package/lib/utilities/GetFiles.js +44 -0
  138. package/lib/utilities/GetFiles.js.map +1 -0
  139. package/lib/utilities/LongestCommonSubsequence.d.ts +3 -0
  140. package/lib/utilities/LongestCommonSubsequence.js +123 -0
  141. package/lib/utilities/LongestCommonSubsequence.js.map +1 -0
  142. package/lib/utilities/MergeArrays.d.ts +1 -0
  143. package/lib/utilities/MergeArrays.js +15 -0
  144. package/lib/utilities/MergeArrays.js.map +1 -0
  145. package/lib/utilities/RemoveProperty.d.ts +1 -0
  146. package/lib/utilities/RemoveProperty.js +16 -0
  147. package/lib/utilities/RemoveProperty.js.map +1 -0
  148. package/lib/utilities/ScanObject.d.ts +13 -0
  149. package/lib/utilities/ScanObject.js +101 -0
  150. package/lib/utilities/ScanObject.js.map +1 -0
  151. package/lib/utilities/SortComparers.d.ts +3 -0
  152. package/lib/utilities/SortComparers.js +21 -0
  153. package/lib/utilities/SortComparers.js.map +1 -0
  154. package/lib/utilities/index.d.ts +9 -0
  155. package/lib/utilities/index.js +28 -0
  156. package/lib/utilities/index.js.map +1 -0
  157. package/package.json +72 -0
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+ // Copyright (c) Microsoft Corporation.
3
+ // Licensed under the MIT License.
4
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
5
+ if (k2 === undefined) k2 = k;
6
+ var desc = Object.getOwnPropertyDescriptor(m, k);
7
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
8
+ desc = { enumerable: true, get: function() { return m[k]; } };
9
+ }
10
+ Object.defineProperty(o, k2, desc);
11
+ }) : (function(o, m, k, k2) {
12
+ if (k2 === undefined) k2 = k;
13
+ o[k2] = m[k];
14
+ }));
15
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
16
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
17
+ }) : function(o, v) {
18
+ o["default"] = v;
19
+ });
20
+ var __importStar = (this && this.__importStar) || function (mod) {
21
+ if (mod && mod.__esModule) return mod;
22
+ var result = {};
23
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
24
+ __setModuleDefault(result, mod);
25
+ return result;
26
+ };
27
+ Object.defineProperty(exports, "__esModule", { value: true });
28
+ const vitest_1 = require("vitest");
29
+ const __1 = require("..");
30
+ const Filters = __importStar(require("../filters/CommonFilters"));
31
+ function callFilter(name, releases) {
32
+ for (const filter of Filters.CommonFilters.filters) {
33
+ if (filter[0] === name) {
34
+ filter[1](releases);
35
+ return;
36
+ }
37
+ }
38
+ throw new Error(`Could not find filter '${name}'.`);
39
+ }
40
+ const makeScriptModule = (version) => {
41
+ const module_type = 'script';
42
+ return {
43
+ name: '@minecraft/server',
44
+ uuid: '1234',
45
+ version: version,
46
+ minecraft_version: '0.1.0',
47
+ module_type: module_type,
48
+ from_module: {
49
+ name: '',
50
+ folder_path: '',
51
+ filepath_name: '',
52
+ version: '1.0.0',
53
+ },
54
+ };
55
+ };
56
+ (0, vitest_1.describe)('Common Filters', () => {
57
+ (0, vitest_1.it)('generate_available_module_lists does not crash on missing modules', () => {
58
+ const release = new __1.MinecraftRelease('0.1.0');
59
+ const latest = makeScriptModule('3.2.0-beta');
60
+ latest.is_latest_major = true;
61
+ release.script_modules = [makeScriptModule('1.0.0'), makeScriptModule('1.1.0'), latest];
62
+ callFilter('generate_available_module_lists', [release]);
63
+ const module = release.script_modules.find(module => module.version === '3.2.0-beta');
64
+ (0, vitest_1.expect)(module.previous_module_version_chunks[0].versions).toEqual(['1.1.0', '1.0.0']);
65
+ });
66
+ (0, vitest_1.it)('generate_available_module_lists does not crash on one beta module', () => {
67
+ const release = new __1.MinecraftRelease('0.1.0');
68
+ const latest = makeScriptModule('3.2.0-beta');
69
+ latest.is_latest_major = true;
70
+ release.script_modules = [latest];
71
+ callFilter('generate_available_module_lists', [release]);
72
+ const module = release.script_modules.find(module => module.version === '3.2.0-beta');
73
+ (0, vitest_1.expect)(module.previous_module_version_chunks.length).toBe(0);
74
+ });
75
+ (0, vitest_1.it)('generate_available_module_lists does not crash on one stable module', () => {
76
+ const release = new __1.MinecraftRelease('0.1.0');
77
+ const latest = makeScriptModule('1.0.0');
78
+ latest.is_latest_major = true;
79
+ release.script_modules = [latest];
80
+ callFilter('generate_available_module_lists', [release]);
81
+ const module = release.script_modules.find(module => module.version === '1.0.0');
82
+ (0, vitest_1.expect)(module.previous_module_version_chunks.length).toBe(0);
83
+ });
84
+ });
85
+ //# sourceMappingURL=commonFilterUnitTests.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commonFilterUnitTests.spec.js","sourceRoot":"","sources":["../../src/test/commonFilterUnitTests.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,238 @@
1
+ "use strict";
2
+ // Copyright (c) Microsoft Corporation.
3
+ // Licensed under the MIT License.
4
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
5
+ if (k2 === undefined) k2 = k;
6
+ var desc = Object.getOwnPropertyDescriptor(m, k);
7
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
8
+ desc = { enumerable: true, get: function() { return m[k]; } };
9
+ }
10
+ Object.defineProperty(o, k2, desc);
11
+ }) : (function(o, m, k, k2) {
12
+ if (k2 === undefined) k2 = k;
13
+ o[k2] = m[k];
14
+ }));
15
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
16
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
17
+ }) : function(o, v) {
18
+ o["default"] = v;
19
+ });
20
+ var __importStar = (this && this.__importStar) || function (mod) {
21
+ if (mod && mod.__esModule) return mod;
22
+ var result = {};
23
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
24
+ __setModuleDefault(result, mod);
25
+ return result;
26
+ };
27
+ var __importDefault = (this && this.__importDefault) || function (mod) {
28
+ return (mod && mod.__esModule) ? mod : { "default": mod };
29
+ };
30
+ Object.defineProperty(exports, "__esModule", { value: true });
31
+ const utils = __importStar(require("../utilities"));
32
+ const vitest_1 = require("vitest");
33
+ const deep_equal_1 = __importDefault(require("deep-equal"));
34
+ const DiffTestInfos = [
35
+ {
36
+ $old: [{ name: 'A' }, { name: 'B' }, { name: 'C' }],
37
+ $new: [{ name: 'B' }, { name: 'C' }, { name: 'D' }],
38
+ expectedDiff: [{ name: 'A', $removed: true }, { name: 'B' }, { name: 'C' }, { name: 'D', $added: true }],
39
+ expectedLCS: ['B', 'C'],
40
+ testName: 'Smoke Test, remove first, add to end',
41
+ },
42
+ {
43
+ $old: [{ name: 'A' }],
44
+ $new: [{ name: 'A' }, { name: 'B' }],
45
+ expectedDiff: [{ name: 'A' }, { name: 'B', $added: true }],
46
+ expectedLCS: ['A'],
47
+ testName: 'Add to back',
48
+ },
49
+ {
50
+ $old: [{ name: 'A' }],
51
+ $new: [{ name: 'B' }, { name: 'A' }],
52
+ expectedDiff: [{ name: 'B', $added: true }, { name: 'A' }],
53
+ expectedLCS: ['A'],
54
+ testName: 'Add to front',
55
+ },
56
+ {
57
+ $old: [{ name: 'A' }, { name: 'B' }],
58
+ $new: [{ name: 'A' }, { name: 'C' }, { name: 'B' }],
59
+ expectedDiff: [{ name: 'A' }, { name: 'C', $added: true }, { name: 'B' }],
60
+ expectedLCS: ['A', 'B'],
61
+ testName: 'Add to middle',
62
+ },
63
+ {
64
+ $old: [],
65
+ $new: [{ name: 'A' }, { name: 'B' }, { name: 'C' }],
66
+ expectedDiff: [
67
+ { name: 'A', $added: true },
68
+ { name: 'B', $added: true },
69
+ { name: 'C', $added: true },
70
+ ],
71
+ expectedLCS: [],
72
+ testName: 'All new',
73
+ },
74
+ {
75
+ $old: [{ name: 'A' }, { name: 'B' }, { name: 'C' }],
76
+ $new: [],
77
+ expectedDiff: [
78
+ { name: 'A', $removed: true },
79
+ { name: 'B', $removed: true },
80
+ { name: 'C', $removed: true },
81
+ ],
82
+ expectedLCS: [],
83
+ testName: 'All old',
84
+ },
85
+ {
86
+ $old: [{ name: 'A' }, { name: 'B' }, { name: 'C' }],
87
+ $new: [{ name: 'A' }, { name: 'C' }],
88
+ expectedDiff: [{ name: 'A' }, { name: 'B', $removed: true }, { name: 'C' }],
89
+ expectedLCS: ['A', 'C'],
90
+ testName: 'Remove Middle',
91
+ },
92
+ {
93
+ $old: [{ name: 'A' }, { name: 'B' }, { name: 'C' }],
94
+ $new: [{ name: 'B' }, { name: 'C' }],
95
+ expectedDiff: [{ name: 'A', $removed: true }, { name: 'B' }, { name: 'C' }],
96
+ expectedLCS: ['B', 'C'],
97
+ testName: 'Remove front',
98
+ },
99
+ {
100
+ $old: [{ name: 'A' }, { name: 'B' }, { name: 'C' }],
101
+ $new: [{ name: 'A' }, { name: 'B' }],
102
+ expectedDiff: [{ name: 'A' }, { name: 'B' }, { name: 'C', $removed: true }],
103
+ expectedLCS: ['A', 'B'],
104
+ testName: 'Remove end',
105
+ },
106
+ {
107
+ $old: [{ name: 'A' }, { name: 'B' }, { name: 'C' }],
108
+ $new: [{ name: 'C' }, { name: 'A' }, { name: 'B' }],
109
+ expectedDiff: [{ name: 'C', $added: true }, { name: 'A' }, { name: 'B' }, { name: 'C', $removed: true }],
110
+ expectedLCS: ['A', 'B'],
111
+ testName: 'Moving endcaps',
112
+ },
113
+ {
114
+ $old: [{ name: 'A' }, { name: 'B' }, { name: 'C' }, { name: 'D' }],
115
+ $new: [{ name: 'A' }, { name: 'C' }, { name: 'B' }, { name: 'D' }],
116
+ expectedDiff: [
117
+ { name: 'A' },
118
+ { name: 'C', $added: true },
119
+ { name: 'B' },
120
+ { name: 'C', $removed: true },
121
+ { name: 'D' },
122
+ ],
123
+ expectedLCS: ['A', 'B', 'D'],
124
+ testName: 'Moving middle',
125
+ },
126
+ {
127
+ $old: [
128
+ { name: 'A' },
129
+ { name: 'B' },
130
+ { name: 'C' },
131
+ { name: 'D' },
132
+ { name: 'E' },
133
+ { name: 'F' },
134
+ { name: 'G' },
135
+ { name: 'H' },
136
+ { name: 'I' },
137
+ { name: 'J' },
138
+ { name: 'K' },
139
+ ],
140
+ $new: [
141
+ { name: 'B' },
142
+ { name: 'C' },
143
+ { name: 'K' },
144
+ { name: 'E' },
145
+ { name: 'F' },
146
+ { name: 'H' },
147
+ { name: 'J' },
148
+ { name: 'L' },
149
+ ],
150
+ expectedDiff: [
151
+ { name: 'A', $removed: true },
152
+ { name: 'B' },
153
+ { name: 'C' },
154
+ { name: 'D', $removed: true },
155
+ { name: 'K', $added: true },
156
+ { name: 'E' },
157
+ { name: 'F' },
158
+ { name: 'G', $removed: true },
159
+ { name: 'H' },
160
+ { name: 'I', $removed: true },
161
+ { name: 'J' },
162
+ { name: 'K', $removed: true },
163
+ { name: 'L', $added: true },
164
+ ],
165
+ expectedLCS: ['B', 'C', 'E', 'F', 'H', 'J'],
166
+ testName: 'Stress 1',
167
+ },
168
+ {
169
+ $old: [
170
+ { name: '0' },
171
+ { name: 'A' },
172
+ { name: 'B' },
173
+ { name: 'C' },
174
+ { name: 'D' },
175
+ { name: 'F' },
176
+ { name: 'G' },
177
+ { name: 'H' },
178
+ { name: 'J' },
179
+ { name: 'Q' },
180
+ { name: 'Z' },
181
+ ],
182
+ $new: [
183
+ { name: 'A' },
184
+ { name: 'B' },
185
+ { name: 'C' },
186
+ { name: 'D' },
187
+ { name: 'E' },
188
+ { name: 'F' },
189
+ { name: 'G' },
190
+ { name: 'I' },
191
+ { name: 'J' },
192
+ { name: 'K' },
193
+ { name: 'R' },
194
+ { name: 'X' },
195
+ { name: 'Y' },
196
+ { name: 'Z' },
197
+ ],
198
+ expectedDiff: [
199
+ { name: '0', $removed: true },
200
+ { name: 'A' },
201
+ { name: 'B' },
202
+ { name: 'C' },
203
+ { name: 'D' },
204
+ { name: 'E', $added: true },
205
+ { name: 'F' },
206
+ { name: 'G' },
207
+ { name: 'H', $removed: true },
208
+ { name: 'I', $added: true },
209
+ { name: 'J' },
210
+ { name: 'Q', $removed: true },
211
+ { name: 'K', $added: true },
212
+ { name: 'R', $added: true },
213
+ { name: 'X', $added: true },
214
+ { name: 'Y', $added: true },
215
+ { name: 'Z' },
216
+ ],
217
+ expectedLCS: ['A', 'B', 'C', 'D', 'F', 'G', 'J', 'Z'],
218
+ testName: 'Stress 2',
219
+ },
220
+ ];
221
+ const $key = 'name';
222
+ (0, vitest_1.describe)('LCS Unit Tests', () => {
223
+ for (const testInfo of DiffTestInfos) {
224
+ (0, vitest_1.it)(testInfo.testName, () => {
225
+ const actual = utils.longestCommonSubsequence(testInfo.$old, testInfo.$new, $key);
226
+ (0, vitest_1.expect)((0, deep_equal_1.default)(testInfo.expectedLCS, actual)).toBeTruthy();
227
+ });
228
+ }
229
+ });
230
+ (0, vitest_1.describe)('Diffing Array Unit Tests', () => {
231
+ for (const testInfo of DiffTestInfos) {
232
+ (0, vitest_1.it)(testInfo.testName, () => {
233
+ const actual = utils.diffArray(testInfo.$old, testInfo.$new, $key);
234
+ (0, vitest_1.expect)((0, deep_equal_1.default)(testInfo.expectedDiff, actual)).toBeTruthy();
235
+ });
236
+ }
237
+ });
238
+ //# sourceMappingURL=diffingUnitTests.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diffingUnitTests.test.js","sourceRoot":"","sources":["../../src/test/diffingUnitTests.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,162 @@
1
+ "use strict";
2
+ // Copyright (c) Microsoft Corporation.
3
+ // Licensed under the MIT License.
4
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
5
+ if (k2 === undefined) k2 = k;
6
+ var desc = Object.getOwnPropertyDescriptor(m, k);
7
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
8
+ desc = { enumerable: true, get: function() { return m[k]; } };
9
+ }
10
+ Object.defineProperty(o, k2, desc);
11
+ }) : (function(o, m, k, k2) {
12
+ if (k2 === undefined) k2 = k;
13
+ o[k2] = m[k];
14
+ }));
15
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
16
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
17
+ }) : function(o, v) {
18
+ o["default"] = v;
19
+ });
20
+ var __importStar = (this && this.__importStar) || function (mod) {
21
+ if (mod && mod.__esModule) return mod;
22
+ var result = {};
23
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
24
+ __setModuleDefault(result, mod);
25
+ return result;
26
+ };
27
+ var __importDefault = (this && this.__importDefault) || function (mod) {
28
+ return (mod && mod.__esModule) ? mod : { "default": mod };
29
+ };
30
+ Object.defineProperty(exports, "__esModule", { value: true });
31
+ const vitest_1 = require("vitest");
32
+ const deep_equal_1 = __importDefault(require("deep-equal"));
33
+ const utils = __importStar(require("../utilities"));
34
+ const DATA = {
35
+ valueField: 0,
36
+ objectField: {
37
+ valueField: 1,
38
+ },
39
+ arrayField: [
40
+ {
41
+ valueField: 1,
42
+ },
43
+ {
44
+ valueField: 0,
45
+ },
46
+ {
47
+ valueField: true,
48
+ },
49
+ {
50
+ valueField: false,
51
+ },
52
+ {
53
+ objectField: {
54
+ valueField: 1,
55
+ },
56
+ },
57
+ {
58
+ objectField: {
59
+ valueField: 0,
60
+ },
61
+ },
62
+ {
63
+ objectField: {
64
+ valueField: true,
65
+ },
66
+ },
67
+ {
68
+ objectField: {
69
+ valueField: false,
70
+ },
71
+ },
72
+ {
73
+ arrayField: [
74
+ {
75
+ arrayField: [
76
+ {
77
+ valueField: 1,
78
+ },
79
+ {
80
+ valueField: 0,
81
+ },
82
+ {
83
+ valueField: true,
84
+ },
85
+ {
86
+ valueField: false,
87
+ },
88
+ {
89
+ objectField: {
90
+ valueField: 1,
91
+ },
92
+ },
93
+ {
94
+ objectField: {
95
+ valueField: 0,
96
+ },
97
+ },
98
+ {
99
+ objectField: {
100
+ valueField: true,
101
+ },
102
+ },
103
+ {
104
+ objectField: {
105
+ valueField: false,
106
+ },
107
+ },
108
+ ],
109
+ },
110
+ ],
111
+ },
112
+ ],
113
+ };
114
+ (0, vitest_1.describe)('scanObjectForMemberArray Unit Tests', () => {
115
+ (0, vitest_1.it)('Runs callback expected number of times', () => {
116
+ let hits = 0;
117
+ utils.scanObjectForMemberArray(DATA, _ => {
118
+ ++hits;
119
+ });
120
+ (0, vitest_1.expect)(hits).toEqual(3);
121
+ });
122
+ });
123
+ (0, vitest_1.describe)('scanObjectForMemberWithName Unit Tests', () => {
124
+ (0, vitest_1.it)('Runs callback expected number of times', () => {
125
+ let hits = 0;
126
+ utils.scanObjectForMemberWithName(DATA, 'arrayField', _ => {
127
+ ++hits;
128
+ });
129
+ (0, vitest_1.expect)(hits).toEqual(3);
130
+ });
131
+ (0, vitest_1.it)('Scan for value and replace it with an object with value field', () => {
132
+ const dataCopy = JSON.parse(JSON.stringify(DATA));
133
+ let hits = 0;
134
+ utils.scanObjectForMemberWithName(dataCopy, 'valueField', (jsonObject) => {
135
+ ++hits;
136
+ jsonObject.valueField = { value: jsonObject.valueField };
137
+ });
138
+ (0, vitest_1.expect)(hits).toEqual(18);
139
+ (0, vitest_1.expect)((0, deep_equal_1.default)(dataCopy.valueField, { value: 0 })).toBeTruthy();
140
+ (0, vitest_1.expect)((0, deep_equal_1.default)(dataCopy.objectField.valueField, { value: 1 })).toBeTruthy();
141
+ (0, vitest_1.expect)((0, deep_equal_1.default)(dataCopy.arrayField[0].valueField, { value: 1 })).toBeTruthy();
142
+ (0, vitest_1.expect)((0, deep_equal_1.default)(dataCopy.arrayField[4].objectField.valueField, { value: 1 })).toBeTruthy();
143
+ });
144
+ (0, vitest_1.it)('Scan for object and replace value on it with an object with value field', () => {
145
+ const dataCopy = JSON.parse(JSON.stringify(DATA));
146
+ let hits = 0;
147
+ utils.scanObjectForMemberWithName(dataCopy, 'objectField', (jsonObject) => {
148
+ if (jsonObject.objectField.valueField !== undefined) {
149
+ ++hits;
150
+ jsonObject.objectField.valueField = {
151
+ value: jsonObject.objectField.valueField,
152
+ };
153
+ }
154
+ });
155
+ (0, vitest_1.expect)(hits).toEqual(9);
156
+ (0, vitest_1.expect)(dataCopy.valueField).toEqual(0);
157
+ (0, vitest_1.expect)((0, deep_equal_1.default)(dataCopy.objectField.valueField, { value: 1 })).toBeTruthy();
158
+ (0, vitest_1.expect)(dataCopy.arrayField[0].valueField).toEqual(1);
159
+ (0, vitest_1.expect)((0, deep_equal_1.default)(dataCopy.arrayField[4].objectField.valueField, { value: 1 })).toBeTruthy();
160
+ });
161
+ });
162
+ //# sourceMappingURL=scanObjectUnitTests.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scanObjectUnitTests.test.js","sourceRoot":"","sources":["../../src/test/scanObjectUnitTests.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};