@casual-simulation/expect 2.0.18

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 (132) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +4 -0
  3. package/index.d.ts +6 -0
  4. package/index.js +5 -0
  5. package/index.js.map +1 -0
  6. package/package.json +35 -0
  7. package/src/asymmetricMatchers.d.ts +67 -0
  8. package/src/asymmetricMatchers.js +188 -0
  9. package/src/asymmetricMatchers.js.map +1 -0
  10. package/src/diff/cleanupSemantic.d.ts +58 -0
  11. package/src/diff/cleanupSemantic.js +526 -0
  12. package/src/diff/cleanupSemantic.js.map +1 -0
  13. package/src/diff/constants.d.ts +9 -0
  14. package/src/diff/constants.js +10 -0
  15. package/src/diff/constants.js.map +1 -0
  16. package/src/diff/diffLines.d.ts +13 -0
  17. package/src/diff/diffLines.js +138 -0
  18. package/src/diff/diffLines.js.map +1 -0
  19. package/src/diff/diffStrings.d.ts +10 -0
  20. package/src/diff/diffStrings.js +36 -0
  21. package/src/diff/diffStrings.js.map +1 -0
  22. package/src/diff/getAlignedDiffs.d.ts +11 -0
  23. package/src/diff/getAlignedDiffs.js +187 -0
  24. package/src/diff/getAlignedDiffs.js.map +1 -0
  25. package/src/diff/index.d.ts +16 -0
  26. package/src/diff/index.js +139 -0
  27. package/src/diff/index.js.map +1 -0
  28. package/src/diff/joinAlignedDiffs.d.ts +11 -0
  29. package/src/diff/joinAlignedDiffs.js +191 -0
  30. package/src/diff/joinAlignedDiffs.js.map +1 -0
  31. package/src/diff/normalizeDiffOptions.d.ts +10 -0
  32. package/src/diff/normalizeDiffOptions.js +40 -0
  33. package/src/diff/normalizeDiffOptions.js.map +1 -0
  34. package/src/diff/printDiffs.d.ts +11 -0
  35. package/src/diff/printDiffs.js +46 -0
  36. package/src/diff/printDiffs.js.map +1 -0
  37. package/src/diff/types.d.ts +49 -0
  38. package/src/diff/types.js +2 -0
  39. package/src/diff/types.js.map +1 -0
  40. package/src/diff-sequences/index.d.ts +19 -0
  41. package/src/diff-sequences/index.js +506 -0
  42. package/src/diff-sequences/index.js.map +1 -0
  43. package/src/extractExpectedAssertionsErrors.d.ts +11 -0
  44. package/src/extractExpectedAssertionsErrors.js +58 -0
  45. package/src/extractExpectedAssertionsErrors.js.map +1 -0
  46. package/src/get-type/index.d.ts +11 -0
  47. package/src/get-type/index.js +57 -0
  48. package/src/get-type/index.js.map +1 -0
  49. package/src/index.d.ts +16 -0
  50. package/src/index.js +247 -0
  51. package/src/index.js.map +1 -0
  52. package/src/jasmineUtils.d.ts +9 -0
  53. package/src/jasmineUtils.js +218 -0
  54. package/src/jasmineUtils.js.map +1 -0
  55. package/src/jestMatchersObject.d.ts +14 -0
  56. package/src/jestMatchersObject.js +78 -0
  57. package/src/jestMatchersObject.js.map +1 -0
  58. package/src/matcher-utils/Replaceable.d.ts +18 -0
  59. package/src/matcher-utils/Replaceable.js +57 -0
  60. package/src/matcher-utils/Replaceable.js.map +1 -0
  61. package/src/matcher-utils/deepCyclicCopyReplaceable.d.ts +8 -0
  62. package/src/matcher-utils/deepCyclicCopyReplaceable.js +96 -0
  63. package/src/matcher-utils/deepCyclicCopyReplaceable.js.map +1 -0
  64. package/src/matcher-utils/index.d.ts +53 -0
  65. package/src/matcher-utils/index.js +341 -0
  66. package/src/matcher-utils/index.js.map +1 -0
  67. package/src/matchers.d.ts +11 -0
  68. package/src/matchers.js +575 -0
  69. package/src/matchers.js.map +1 -0
  70. package/src/message-util/index.d.ts +11 -0
  71. package/src/message-util/index.js +34 -0
  72. package/src/message-util/index.js.map +1 -0
  73. package/src/pretty-format/collections.d.ts +33 -0
  74. package/src/pretty-format/collections.js +130 -0
  75. package/src/pretty-format/collections.js.map +1 -0
  76. package/src/pretty-format/index.d.ts +25 -0
  77. package/src/pretty-format/index.js +390 -0
  78. package/src/pretty-format/index.js.map +1 -0
  79. package/src/pretty-format/plugins/AsymmetricMatcher.d.ts +12 -0
  80. package/src/pretty-format/plugins/AsymmetricMatcher.js +53 -0
  81. package/src/pretty-format/plugins/AsymmetricMatcher.js.map +1 -0
  82. package/src/pretty-format/plugins/ConvertAnsi.d.ts +12 -0
  83. package/src/pretty-format/plugins/ConvertAnsi.js +58 -0
  84. package/src/pretty-format/plugins/ConvertAnsi.js.map +1 -0
  85. package/src/pretty-format/plugins/DOMCollection.d.ts +12 -0
  86. package/src/pretty-format/plugins/DOMCollection.js +39 -0
  87. package/src/pretty-format/plugins/DOMCollection.js.map +1 -0
  88. package/src/pretty-format/plugins/DOMElement.d.ts +12 -0
  89. package/src/pretty-format/plugins/DOMElement.js +68 -0
  90. package/src/pretty-format/plugins/DOMElement.js.map +1 -0
  91. package/src/pretty-format/plugins/Immutable.d.ts +12 -0
  92. package/src/pretty-format/plugins/Immutable.js +113 -0
  93. package/src/pretty-format/plugins/Immutable.js.map +1 -0
  94. package/src/pretty-format/plugins/ReactTestComponent.d.ts +19 -0
  95. package/src/pretty-format/plugins/ReactTestComponent.js +29 -0
  96. package/src/pretty-format/plugins/ReactTestComponent.js.map +1 -0
  97. package/src/pretty-format/plugins/lib/escapeHTML.d.ts +8 -0
  98. package/src/pretty-format/plugins/lib/escapeHTML.js +10 -0
  99. package/src/pretty-format/plugins/lib/escapeHTML.js.map +1 -0
  100. package/src/pretty-format/plugins/lib/markup.d.ts +14 -0
  101. package/src/pretty-format/plugins/lib/markup.js +98 -0
  102. package/src/pretty-format/plugins/lib/markup.js.map +1 -0
  103. package/src/pretty-format/types.d.ts +109 -0
  104. package/src/pretty-format/types.js +8 -0
  105. package/src/pretty-format/types.js.map +1 -0
  106. package/src/print.d.ts +16 -0
  107. package/src/print.js +71 -0
  108. package/src/print.js.map +1 -0
  109. package/src/spyMatchers.d.ts +10 -0
  110. package/src/spyMatchers.js +766 -0
  111. package/src/spyMatchers.js.map +1 -0
  112. package/src/test-utils/ConditionalTest.d.ts +10 -0
  113. package/src/test-utils/ConditionalTest.js +25 -0
  114. package/src/test-utils/ConditionalTest.js.map +1 -0
  115. package/src/test-utils/alignedAnsiStyleSerializer.d.ts +9 -0
  116. package/src/test-utils/alignedAnsiStyleSerializer.js +46 -0
  117. package/src/test-utils/alignedAnsiStyleSerializer.js.map +1 -0
  118. package/src/test-utils/config.d.ts +10 -0
  119. package/src/test-utils/config.js +143 -0
  120. package/src/test-utils/config.js.map +1 -0
  121. package/src/test-utils/index.d.ts +10 -0
  122. package/src/test-utils/index.js +10 -0
  123. package/src/test-utils/index.js.map +1 -0
  124. package/src/toThrowMatchers.d.ts +12 -0
  125. package/src/toThrowMatchers.js +258 -0
  126. package/src/toThrowMatchers.js.map +1 -0
  127. package/src/types.d.ts +327 -0
  128. package/src/types.js +9 -0
  129. package/src/types.js.map +1 -0
  130. package/src/utils.d.ts +26 -0
  131. package/src/utils.js +303 -0
  132. package/src/utils.js.map +1 -0
@@ -0,0 +1,53 @@
1
+ /**
2
+ * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+ import { printListItems, printObjectProperties } from '../collections';
8
+ const asymmetricMatcher = typeof Symbol === 'function' && Symbol.for
9
+ ? Symbol.for('jest.asymmetricMatcher')
10
+ : 0x1357a5;
11
+ const SPACE = ' ';
12
+ export const serialize = (val, config, indentation, depth, refs, printer) => {
13
+ const stringedValue = val.toString();
14
+ if (stringedValue === 'ArrayContaining' ||
15
+ stringedValue === 'ArrayNotContaining') {
16
+ if (++depth > config.maxDepth) {
17
+ return '[' + stringedValue + ']';
18
+ }
19
+ return (stringedValue +
20
+ SPACE +
21
+ '[' +
22
+ printListItems(val.sample, config, indentation, depth, refs, printer) +
23
+ ']');
24
+ }
25
+ if (stringedValue === 'ObjectContaining' ||
26
+ stringedValue === 'ObjectNotContaining') {
27
+ if (++depth > config.maxDepth) {
28
+ return '[' + stringedValue + ']';
29
+ }
30
+ return (stringedValue +
31
+ SPACE +
32
+ '{' +
33
+ printObjectProperties(val.sample, config, indentation, depth, refs, printer) +
34
+ '}');
35
+ }
36
+ if (stringedValue === 'StringMatching' ||
37
+ stringedValue === 'StringNotMatching') {
38
+ return (stringedValue +
39
+ SPACE +
40
+ printer(val.sample, config, indentation, depth, refs));
41
+ }
42
+ if (stringedValue === 'StringContaining' ||
43
+ stringedValue === 'StringNotContaining') {
44
+ return (stringedValue +
45
+ SPACE +
46
+ printer(val.sample, config, indentation, depth, refs));
47
+ }
48
+ return val.toAsymmetricMatcher();
49
+ };
50
+ export const test = (val) => val && val.$$typeof === asymmetricMatcher;
51
+ const plugin = { serialize, test };
52
+ export default plugin;
53
+ //# sourceMappingURL=AsymmetricMatcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AsymmetricMatcher.js","sourceRoot":"","sources":["AsymmetricMatcher.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAGvE,MAAM,iBAAiB,GACnB,OAAO,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,GAAG;IACtC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,wBAAwB,CAAC;IACtC,CAAC,CAAC,QAAQ,CAAC;AACnB,MAAM,KAAK,GAAG,GAAG,CAAC;AAElB,MAAM,CAAC,MAAM,SAAS,GAA2B,CAC7C,GAAQ,EACR,MAAc,EACd,WAAmB,EACnB,KAAa,EACb,IAAU,EACV,OAAgB,EAClB,EAAE;IACA,MAAM,aAAa,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;IAErC,IACI,aAAa,KAAK,iBAAiB;QACnC,aAAa,KAAK,oBAAoB,EACxC;QACE,IAAI,EAAE,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE;YAC3B,OAAO,GAAG,GAAG,aAAa,GAAG,GAAG,CAAC;SACpC;QACD,OAAO,CACH,aAAa;YACb,KAAK;YACL,GAAG;YACH,cAAc,CACV,GAAG,CAAC,MAAM,EACV,MAAM,EACN,WAAW,EACX,KAAK,EACL,IAAI,EACJ,OAAO,CACV;YACD,GAAG,CACN,CAAC;KACL;IAED,IACI,aAAa,KAAK,kBAAkB;QACpC,aAAa,KAAK,qBAAqB,EACzC;QACE,IAAI,EAAE,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE;YAC3B,OAAO,GAAG,GAAG,aAAa,GAAG,GAAG,CAAC;SACpC;QACD,OAAO,CACH,aAAa;YACb,KAAK;YACL,GAAG;YACH,qBAAqB,CACjB,GAAG,CAAC,MAAM,EACV,MAAM,EACN,WAAW,EACX,KAAK,EACL,IAAI,EACJ,OAAO,CACV;YACD,GAAG,CACN,CAAC;KACL;IAED,IACI,aAAa,KAAK,gBAAgB;QAClC,aAAa,KAAK,mBAAmB,EACvC;QACE,OAAO,CACH,aAAa;YACb,KAAK;YACL,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,CAAC,CACxD,CAAC;KACL;IAED,IACI,aAAa,KAAK,kBAAkB;QACpC,aAAa,KAAK,qBAAqB,EACzC;QACE,OAAO,CACH,aAAa;YACb,KAAK;YACL,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,CAAC,CACxD,CAAC;KACL;IAED,OAAO,GAAG,CAAC,mBAAmB,EAAE,CAAC;AACrC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,IAAI,GAAsB,CAAC,GAAQ,EAAE,EAAE,CAChD,GAAG,IAAI,GAAG,CAAC,QAAQ,KAAK,iBAAiB,CAAC;AAE9C,MAAM,MAAM,GAAc,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;AAE9C,eAAe,MAAM,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+ import type { NewPlugin } from '../types';
8
+ export declare const test: NewPlugin['test'];
9
+ export declare const serialize: NewPlugin['serialize'];
10
+ declare const plugin: NewPlugin;
11
+ export default plugin;
12
+ //# sourceMappingURL=ConvertAnsi.d.ts.map
@@ -0,0 +1,58 @@
1
+ /**
2
+ * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+ import ansiRegex from '@casual-simulation/chalk/ansi-regex';
8
+ import style from '@casual-simulation/chalk/ansi-styles';
9
+ const toHumanReadableAnsi = (text) => text.replace(ansiRegex(), (match) => {
10
+ switch (match) {
11
+ case style.red.close:
12
+ case style.green.close:
13
+ case style.cyan.close:
14
+ case style.gray.close:
15
+ case style.white.close:
16
+ case style.yellow.close:
17
+ case style.bgRed.close:
18
+ case style.bgGreen.close:
19
+ case style.bgYellow.close:
20
+ case style.inverse.close:
21
+ case style.dim.close:
22
+ case style.bold.close:
23
+ case style.reset.open:
24
+ case style.reset.close:
25
+ return '</>';
26
+ case style.red.open:
27
+ return '<red>';
28
+ case style.green.open:
29
+ return '<green>';
30
+ case style.cyan.open:
31
+ return '<cyan>';
32
+ case style.gray.open:
33
+ return '<gray>';
34
+ case style.white.open:
35
+ return '<white>';
36
+ case style.yellow.open:
37
+ return '<yellow>';
38
+ case style.bgRed.open:
39
+ return '<bgRed>';
40
+ case style.bgGreen.open:
41
+ return '<bgGreen>';
42
+ case style.bgYellow.open:
43
+ return '<bgYellow>';
44
+ case style.inverse.open:
45
+ return '<inverse>';
46
+ case style.dim.open:
47
+ return '<dim>';
48
+ case style.bold.open:
49
+ return '<bold>';
50
+ default:
51
+ return '';
52
+ }
53
+ });
54
+ export const test = (val) => typeof val === 'string' && !!val.match(ansiRegex());
55
+ export const serialize = (val, config, indentation, depth, refs, printer) => printer(toHumanReadableAnsi(val), config, indentation, depth, refs);
56
+ const plugin = { serialize, test };
57
+ export default plugin;
58
+ //# sourceMappingURL=ConvertAnsi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConvertAnsi.js","sourceRoot":"","sources":["ConvertAnsi.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,SAAS,MAAM,qCAAqC,CAAC;AAC5D,OAAO,KAAK,MAAM,sCAAsC,CAAC;AAGzD,MAAM,mBAAmB,GAAG,CAAC,IAAY,EAAE,EAAE,CACzC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE;IAChC,QAAQ,KAAK,EAAE;QACX,KAAK,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC;QACrB,KAAK,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC;QACvB,KAAK,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;QACtB,KAAK,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;QACtB,KAAK,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC;QACvB,KAAK,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;QACxB,KAAK,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC;QACvB,KAAK,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACzB,KAAK,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;QAC1B,KAAK,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACzB,KAAK,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC;QACrB,KAAK,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;QACtB,KAAK,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;QACtB,KAAK,KAAK,CAAC,KAAK,CAAC,KAAK;YAClB,OAAO,KAAK,CAAC;QACjB,KAAK,KAAK,CAAC,GAAG,CAAC,IAAI;YACf,OAAO,OAAO,CAAC;QACnB,KAAK,KAAK,CAAC,KAAK,CAAC,IAAI;YACjB,OAAO,SAAS,CAAC;QACrB,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI;YAChB,OAAO,QAAQ,CAAC;QACpB,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI;YAChB,OAAO,QAAQ,CAAC;QACpB,KAAK,KAAK,CAAC,KAAK,CAAC,IAAI;YACjB,OAAO,SAAS,CAAC;QACrB,KAAK,KAAK,CAAC,MAAM,CAAC,IAAI;YAClB,OAAO,UAAU,CAAC;QACtB,KAAK,KAAK,CAAC,KAAK,CAAC,IAAI;YACjB,OAAO,SAAS,CAAC;QACrB,KAAK,KAAK,CAAC,OAAO,CAAC,IAAI;YACnB,OAAO,WAAW,CAAC;QACvB,KAAK,KAAK,CAAC,QAAQ,CAAC,IAAI;YACpB,OAAO,YAAY,CAAC;QACxB,KAAK,KAAK,CAAC,OAAO,CAAC,IAAI;YACnB,OAAO,WAAW,CAAC;QACvB,KAAK,KAAK,CAAC,GAAG,CAAC,IAAI;YACf,OAAO,OAAO,CAAC;QACnB,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI;YAChB,OAAO,QAAQ,CAAC;QACpB;YACI,OAAO,EAAE,CAAC;KACjB;AACL,CAAC,CAAC,CAAC;AAEP,MAAM,CAAC,MAAM,IAAI,GAAsB,CAAC,GAAY,EAAE,EAAE,CACpD,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;AAExD,MAAM,CAAC,MAAM,SAAS,GAA2B,CAC7C,GAAW,EACX,MAAc,EACd,WAAmB,EACnB,KAAa,EACb,IAAU,EACV,OAAgB,EAClB,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;AAEzE,MAAM,MAAM,GAAc,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;AAE9C,eAAe,MAAM,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+ import type { NewPlugin } from '../types';
8
+ export declare const test: NewPlugin['test'];
9
+ export declare const serialize: NewPlugin['serialize'];
10
+ declare const plugin: NewPlugin;
11
+ export default plugin;
12
+ //# sourceMappingURL=DOMCollection.d.ts.map
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+ /* eslint-disable local/ban-types-eventually */
8
+ import { printListItems, printObjectProperties } from '../collections';
9
+ const SPACE = ' ';
10
+ const OBJECT_NAMES = ['DOMStringMap', 'NamedNodeMap'];
11
+ const ARRAY_REGEXP = /^(HTML\w*Collection|NodeList)$/;
12
+ const testName = (name) => OBJECT_NAMES.indexOf(name) !== -1 || ARRAY_REGEXP.test(name);
13
+ export const test = (val) => val &&
14
+ val.constructor &&
15
+ !!val.constructor.name &&
16
+ testName(val.constructor.name);
17
+ const isNamedNodeMap = (collection) => collection.constructor.name === 'NamedNodeMap';
18
+ export const serialize = (collection, config, indentation, depth, refs, printer) => {
19
+ const name = collection.constructor.name;
20
+ if (++depth > config.maxDepth) {
21
+ return '[' + name + ']';
22
+ }
23
+ return ((config.min ? '' : name + SPACE) +
24
+ (OBJECT_NAMES.indexOf(name) !== -1
25
+ ? '{' +
26
+ printObjectProperties(isNamedNodeMap(collection)
27
+ ? Array.from(collection).reduce((props, attribute) => {
28
+ props[attribute.name] = attribute.value;
29
+ return props;
30
+ }, {})
31
+ : Object.assign({}, collection), config, indentation, depth, refs, printer) +
32
+ '}'
33
+ : '[' +
34
+ printListItems(Array.from(collection), config, indentation, depth, refs, printer) +
35
+ ']'));
36
+ };
37
+ const plugin = { serialize, test };
38
+ export default plugin;
39
+ //# sourceMappingURL=DOMCollection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DOMCollection.js","sourceRoot":"","sources":["DOMCollection.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,+CAA+C;AAE/C,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAGvE,MAAM,KAAK,GAAG,GAAG,CAAC;AAElB,MAAM,YAAY,GAAG,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;AACtD,MAAM,YAAY,GAAG,gCAAgC,CAAC;AAEtD,MAAM,QAAQ,GAAG,CAAC,IAAS,EAAE,EAAE,CAC3B,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEjE,MAAM,CAAC,MAAM,IAAI,GAAsB,CAAC,GAAW,EAAE,EAAE,CACnD,GAAG;IACH,GAAG,CAAC,WAAW;IACf,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI;IACtB,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AAEnC,MAAM,cAAc,GAAG,CAAC,UAAkB,EAA8B,EAAE,CACtE,UAAU,CAAC,WAAW,CAAC,IAAI,KAAK,cAAc,CAAC;AAEnD,MAAM,CAAC,MAAM,SAAS,GAA2B,CAC7C,UAA8B,EAC9B,MAAc,EACd,WAAmB,EACnB,KAAa,EACb,IAAU,EACV,OAAgB,EAClB,EAAE;IACA,MAAM,IAAI,GAAG,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC;IACzC,IAAI,EAAE,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE;QAC3B,OAAO,GAAG,GAAG,IAAI,GAAG,GAAG,CAAC;KAC3B;IAED,OAAO,CACH,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC;QAChC,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC9B,CAAC,CAAC,GAAG;gBACH,qBAAqB,CACjB,cAAc,CAAC,UAAU,CAAC;oBACtB,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,CACzB,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE;wBACjB,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC;wBACxC,OAAO,KAAK,CAAC;oBACjB,CAAC,EACD,EAAE,CACL;oBACH,CAAC,mBAAM,UAAU,CAAE,EACvB,MAAM,EACN,WAAW,EACX,KAAK,EACL,IAAI,EACJ,OAAO,CACV;gBACD,GAAG;YACL,CAAC,CAAC,GAAG;gBACH,cAAc,CACV,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,EACtB,MAAM,EACN,WAAW,EACX,KAAK,EACL,IAAI,EACJ,OAAO,CACV;gBACD,GAAG,CAAC,CACb,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,MAAM,GAAc,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;AAE9C,eAAe,MAAM,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+ import type { NewPlugin } from '../types';
8
+ export declare const test: NewPlugin['test'];
9
+ export declare const serialize: NewPlugin['serialize'];
10
+ declare const plugin: NewPlugin;
11
+ export default plugin;
12
+ //# sourceMappingURL=DOMElement.d.ts.map
@@ -0,0 +1,68 @@
1
+ /**
2
+ * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+ import { printChildren, printComment, printElement, printElementAsLeaf, printProps, printText, } from './lib/markup';
8
+ const ELEMENT_NODE = 1;
9
+ const TEXT_NODE = 3;
10
+ const COMMENT_NODE = 8;
11
+ const FRAGMENT_NODE = 11;
12
+ const ELEMENT_REGEXP = /^((HTML|SVG)\w*)?Element$/;
13
+ const testHasAttribute = (val) => {
14
+ try {
15
+ return typeof val.hasAttribute === 'function' && val.hasAttribute('is');
16
+ }
17
+ catch (_a) {
18
+ return false;
19
+ }
20
+ };
21
+ const testNode = (val) => {
22
+ const constructorName = val.constructor.name;
23
+ const { nodeType, tagName } = val;
24
+ const isCustomElement = (typeof tagName === 'string' && tagName.includes('-')) ||
25
+ testHasAttribute(val);
26
+ return ((nodeType === ELEMENT_NODE &&
27
+ (ELEMENT_REGEXP.test(constructorName) || isCustomElement)) ||
28
+ (nodeType === TEXT_NODE && constructorName === 'Text') ||
29
+ (nodeType === COMMENT_NODE && constructorName === 'Comment') ||
30
+ (nodeType === FRAGMENT_NODE && constructorName === 'DocumentFragment'));
31
+ };
32
+ export const test = (val) => { var _a; return ((_a = val === null || val === void 0 ? void 0 : val.constructor) === null || _a === void 0 ? void 0 : _a.name) && testNode(val); };
33
+ function nodeIsText(node) {
34
+ return node.nodeType === TEXT_NODE;
35
+ }
36
+ function nodeIsComment(node) {
37
+ return node.nodeType === COMMENT_NODE;
38
+ }
39
+ function nodeIsFragment(node) {
40
+ return node.nodeType === FRAGMENT_NODE;
41
+ }
42
+ export const serialize = (node, config, indentation, depth, refs, printer) => {
43
+ if (nodeIsText(node)) {
44
+ return printText(node.data, config);
45
+ }
46
+ if (nodeIsComment(node)) {
47
+ return printComment(node.data, config);
48
+ }
49
+ const type = nodeIsFragment(node)
50
+ ? `DocumentFragment`
51
+ : node.tagName.toLowerCase();
52
+ if (++depth > config.maxDepth) {
53
+ return printElementAsLeaf(type, config);
54
+ }
55
+ return printElement(type, printProps(nodeIsFragment(node)
56
+ ? []
57
+ : Array.from(node.attributes)
58
+ .map((attr) => attr.name)
59
+ .sort(), nodeIsFragment(node)
60
+ ? {}
61
+ : Array.from(node.attributes).reduce((props, attribute) => {
62
+ props[attribute.name] = attribute.value;
63
+ return props;
64
+ }, {}), config, indentation + config.indent, depth, refs, printer), printChildren(Array.prototype.slice.call(node.childNodes || node.children), config, indentation + config.indent, depth, refs, printer), config, indentation);
65
+ };
66
+ const plugin = { serialize, test };
67
+ export default plugin;
68
+ //# sourceMappingURL=DOMElement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DOMElement.js","sourceRoot":"","sources":["DOMElement.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+ import type { NewPlugin } from '../types';
8
+ export declare const serialize: NewPlugin['serialize'];
9
+ export declare const test: NewPlugin['test'];
10
+ declare const plugin: NewPlugin;
11
+ export default plugin;
12
+ //# sourceMappingURL=Immutable.d.ts.map
@@ -0,0 +1,113 @@
1
+ /**
2
+ * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+ import { printIteratorEntries, printIteratorValues } from '../collections';
8
+ // SENTINEL constants are from https://github.com/facebook/immutable-js
9
+ const IS_ITERABLE_SENTINEL = '@@__IMMUTABLE_ITERABLE__@@';
10
+ const IS_LIST_SENTINEL = '@@__IMMUTABLE_LIST__@@';
11
+ const IS_KEYED_SENTINEL = '@@__IMMUTABLE_KEYED__@@';
12
+ const IS_MAP_SENTINEL = '@@__IMMUTABLE_MAP__@@';
13
+ const IS_ORDERED_SENTINEL = '@@__IMMUTABLE_ORDERED__@@';
14
+ const IS_RECORD_SENTINEL = '@@__IMMUTABLE_RECORD__@@'; // immutable v4
15
+ const IS_SEQ_SENTINEL = '@@__IMMUTABLE_SEQ__@@';
16
+ const IS_SET_SENTINEL = '@@__IMMUTABLE_SET__@@';
17
+ const IS_STACK_SENTINEL = '@@__IMMUTABLE_STACK__@@';
18
+ const getImmutableName = (name) => 'Immutable.' + name;
19
+ const printAsLeaf = (name) => '[' + name + ']';
20
+ const SPACE = ' ';
21
+ const LAZY = '…'; // Seq is lazy if it calls a method like filter
22
+ const printImmutableEntries = (val, config, indentation, depth, refs, printer, type) => ++depth > config.maxDepth
23
+ ? printAsLeaf(getImmutableName(type))
24
+ : getImmutableName(type) +
25
+ SPACE +
26
+ '{' +
27
+ printIteratorEntries(val.entries(), config, indentation, depth, refs, printer) +
28
+ '}';
29
+ // Record has an entries method because it is a collection in immutable v3.
30
+ // Return an iterator for Immutable Record from version v3 or v4.
31
+ function getRecordEntries(val) {
32
+ let i = 0;
33
+ return {
34
+ next() {
35
+ if (i < val._keys.length) {
36
+ const key = val._keys[i++];
37
+ return { done: false, value: [key, val.get(key)] };
38
+ }
39
+ return { done: true, value: undefined };
40
+ },
41
+ };
42
+ }
43
+ const printImmutableRecord = (val, config, indentation, depth, refs, printer) => {
44
+ // _name property is defined only for an Immutable Record instance
45
+ // which was constructed with a second optional descriptive name arg
46
+ const name = getImmutableName(val._name || 'Record');
47
+ return ++depth > config.maxDepth
48
+ ? printAsLeaf(name)
49
+ : name +
50
+ SPACE +
51
+ '{' +
52
+ printIteratorEntries(getRecordEntries(val), config, indentation, depth, refs, printer) +
53
+ '}';
54
+ };
55
+ const printImmutableSeq = (val, config, indentation, depth, refs, printer) => {
56
+ const name = getImmutableName('Seq');
57
+ if (++depth > config.maxDepth) {
58
+ return printAsLeaf(name);
59
+ }
60
+ if (val[IS_KEYED_SENTINEL]) {
61
+ return (name +
62
+ SPACE +
63
+ '{' +
64
+ // from Immutable collection of entries or from ECMAScript object
65
+ (val._iter || val._object
66
+ ? printIteratorEntries(val.entries(), config, indentation, depth, refs, printer)
67
+ : LAZY) +
68
+ '}');
69
+ }
70
+ return (name +
71
+ SPACE +
72
+ '[' +
73
+ (val._iter || // from Immutable collection of values
74
+ val._array || // from ECMAScript array
75
+ val._collection || // from ECMAScript collection in immutable v4
76
+ val._iterable // from ECMAScript collection in immutable v3
77
+ ? printIteratorValues(val.values(), config, indentation, depth, refs, printer)
78
+ : LAZY) +
79
+ ']');
80
+ };
81
+ const printImmutableValues = (val, config, indentation, depth, refs, printer, type) => ++depth > config.maxDepth
82
+ ? printAsLeaf(getImmutableName(type))
83
+ : getImmutableName(type) +
84
+ SPACE +
85
+ '[' +
86
+ printIteratorValues(val.values(), config, indentation, depth, refs, printer) +
87
+ ']';
88
+ export const serialize = (val, config, indentation, depth, refs, printer) => {
89
+ if (val[IS_MAP_SENTINEL]) {
90
+ return printImmutableEntries(val, config, indentation, depth, refs, printer, val[IS_ORDERED_SENTINEL] ? 'OrderedMap' : 'Map');
91
+ }
92
+ if (val[IS_LIST_SENTINEL]) {
93
+ return printImmutableValues(val, config, indentation, depth, refs, printer, 'List');
94
+ }
95
+ if (val[IS_SET_SENTINEL]) {
96
+ return printImmutableValues(val, config, indentation, depth, refs, printer, val[IS_ORDERED_SENTINEL] ? 'OrderedSet' : 'Set');
97
+ }
98
+ if (val[IS_STACK_SENTINEL]) {
99
+ return printImmutableValues(val, config, indentation, depth, refs, printer, 'Stack');
100
+ }
101
+ if (val[IS_SEQ_SENTINEL]) {
102
+ return printImmutableSeq(val, config, indentation, depth, refs, printer);
103
+ }
104
+ // For compatibility with immutable v3 and v4, let record be the default.
105
+ return printImmutableRecord(val, config, indentation, depth, refs, printer);
106
+ };
107
+ // Explicitly comparing sentinel properties to true avoids false positive
108
+ // when mock identity-obj-proxy returns the key as the value for any key.
109
+ export const test = (val) => val &&
110
+ (val[IS_ITERABLE_SENTINEL] === true || val[IS_RECORD_SENTINEL] === true);
111
+ const plugin = { serialize, test };
112
+ export default plugin;
113
+ //# sourceMappingURL=Immutable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Immutable.js","sourceRoot":"","sources":["Immutable.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+ import type { NewPlugin } from '../types';
8
+ export declare type ReactTestObject = {
9
+ $$typeof: symbol;
10
+ type: string;
11
+ props?: Record<string, unknown>;
12
+ children?: null | Array<ReactTestChild>;
13
+ };
14
+ declare type ReactTestChild = ReactTestObject | string | number;
15
+ export declare const serialize: NewPlugin['serialize'];
16
+ export declare const test: NewPlugin['test'];
17
+ declare const plugin: NewPlugin;
18
+ export default plugin;
19
+ //# sourceMappingURL=ReactTestComponent.d.ts.map
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+ import { printChildren, printElement, printElementAsLeaf, printProps, } from './lib/markup';
8
+ const testSymbol = typeof Symbol === 'function' && Symbol.for
9
+ ? Symbol.for('react.test.json')
10
+ : 0xea71357;
11
+ const getPropKeys = (object) => {
12
+ const { props } = object;
13
+ return props
14
+ ? Object.keys(props)
15
+ .filter((key) => props[key] !== undefined)
16
+ .sort()
17
+ : [];
18
+ };
19
+ export const serialize = (object, config, indentation, depth, refs, printer) => ++depth > config.maxDepth
20
+ ? printElementAsLeaf(object.type, config)
21
+ : printElement(object.type, object.props
22
+ ? printProps(getPropKeys(object), object.props, config, indentation + config.indent, depth, refs, printer)
23
+ : '', object.children
24
+ ? printChildren(object.children, config, indentation + config.indent, depth, refs, printer)
25
+ : '', config, indentation);
26
+ export const test = (val) => val && val.$$typeof === testSymbol;
27
+ const plugin = { serialize, test };
28
+ export default plugin;
29
+ //# sourceMappingURL=ReactTestComponent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReactTestComponent.js","sourceRoot":"","sources":["ReactTestComponent.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EACH,aAAa,EACb,YAAY,EACZ,kBAAkB,EAClB,UAAU,GACb,MAAM,cAAc,CAAC;AAYtB,MAAM,UAAU,GACZ,OAAO,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,GAAG;IACtC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC;IAC/B,CAAC,CAAC,SAAS,CAAC;AAEpB,MAAM,WAAW,GAAG,CAAC,MAAuB,EAAE,EAAE;IAC5C,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;IAEzB,OAAO,KAAK;QACR,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;aACb,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,SAAS,CAAC;aACzC,IAAI,EAAE;QACb,CAAC,CAAC,EAAE,CAAC;AACb,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAA2B,CAC7C,MAAuB,EACvB,MAAc,EACd,WAAmB,EACnB,KAAa,EACb,IAAU,EACV,OAAgB,EAClB,EAAE,CACA,EAAE,KAAK,GAAG,MAAM,CAAC,QAAQ;IACrB,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC;IACzC,CAAC,CAAC,YAAY,CACR,MAAM,CAAC,IAAI,EACX,MAAM,CAAC,KAAK;QACR,CAAC,CAAC,UAAU,CACN,WAAW,CAAC,MAAM,CAAC,EACnB,MAAM,CAAC,KAAK,EACZ,MAAM,EACN,WAAW,GAAG,MAAM,CAAC,MAAM,EAC3B,KAAK,EACL,IAAI,EACJ,OAAO,CACV;QACH,CAAC,CAAC,EAAE,EACR,MAAM,CAAC,QAAQ;QACX,CAAC,CAAC,aAAa,CACT,MAAM,CAAC,QAAQ,EACf,MAAM,EACN,WAAW,GAAG,MAAM,CAAC,MAAM,EAC3B,KAAK,EACL,IAAI,EACJ,OAAO,CACV;QACH,CAAC,CAAC,EAAE,EACR,MAAM,EACN,WAAW,CACd,CAAC;AAEZ,MAAM,CAAC,MAAM,IAAI,GAAsB,CAAC,GAAG,EAAE,EAAE,CAC3C,GAAG,IAAI,GAAG,CAAC,QAAQ,KAAK,UAAU,CAAC;AAEvC,MAAM,MAAM,GAAc,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;AAE9C,eAAe,MAAM,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+ export default function escapeHTML(str: string): string;
8
+ //# sourceMappingURL=escapeHTML.d.ts.map
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+ export default function escapeHTML(str) {
8
+ return str.replace(/</g, '&lt;').replace(/>/g, '&gt;');
9
+ }
10
+ //# sourceMappingURL=escapeHTML.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"escapeHTML.js","sourceRoot":"","sources":["escapeHTML.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,GAAW;IAC1C,OAAO,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAC3D,CAAC"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+ import type { Config, Printer, Refs } from '../../types';
8
+ export declare const printProps: (keys: Array<string>, props: Record<string, unknown>, config: Config, indentation: string, depth: number, refs: Refs, printer: Printer) => string;
9
+ export declare const printChildren: (children: Array<unknown>, config: Config, indentation: string, depth: number, refs: Refs, printer: Printer) => string;
10
+ export declare const printText: (text: string, config: Config) => string;
11
+ export declare const printComment: (comment: string, config: Config) => string;
12
+ export declare const printElement: (type: string, printedProps: string, printedChildren: string, config: Config, indentation: string) => string;
13
+ export declare const printElementAsLeaf: (type: string, config: Config) => string;
14
+ //# sourceMappingURL=markup.d.ts.map
@@ -0,0 +1,98 @@
1
+ /**
2
+ * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+ import escapeHTML from './escapeHTML';
8
+ // Return empty string if keys is empty.
9
+ export const printProps = (keys, props, config, indentation, depth, refs, printer) => {
10
+ const indentationNext = indentation + config.indent;
11
+ const colors = config.colors;
12
+ return keys
13
+ .map((key) => {
14
+ const value = props[key];
15
+ let printed = printer(value, config, indentationNext, depth, refs);
16
+ if (typeof value !== 'string') {
17
+ if (printed.indexOf('\n') !== -1) {
18
+ printed =
19
+ config.spacingOuter +
20
+ indentationNext +
21
+ printed +
22
+ config.spacingOuter +
23
+ indentation;
24
+ }
25
+ printed = '{' + printed + '}';
26
+ }
27
+ return (config.spacingInner +
28
+ indentation +
29
+ colors.prop.open +
30
+ key +
31
+ colors.prop.close +
32
+ '=' +
33
+ colors.value.open +
34
+ printed +
35
+ colors.value.close);
36
+ })
37
+ .join('');
38
+ };
39
+ // Return empty string if children is empty.
40
+ export const printChildren = (children, config, indentation, depth, refs, printer) => children
41
+ .map((child) => config.spacingOuter +
42
+ indentation +
43
+ (typeof child === 'string'
44
+ ? printText(child, config)
45
+ : printer(child, config, indentation, depth, refs)))
46
+ .join('');
47
+ export const printText = (text, config) => {
48
+ const contentColor = config.colors.content;
49
+ return contentColor.open + escapeHTML(text) + contentColor.close;
50
+ };
51
+ export const printComment = (comment, config) => {
52
+ const commentColor = config.colors.comment;
53
+ return (commentColor.open +
54
+ '<!--' +
55
+ escapeHTML(comment) +
56
+ '-->' +
57
+ commentColor.close);
58
+ };
59
+ // Separate the functions to format props, children, and element,
60
+ // so a plugin could override a particular function, if needed.
61
+ // Too bad, so sad: the traditional (but unnecessary) space
62
+ // in a self-closing tagColor requires a second test of printedProps.
63
+ export const printElement = (type, printedProps, printedChildren, config, indentation) => {
64
+ const tagColor = config.colors.tag;
65
+ return (tagColor.open +
66
+ '<' +
67
+ type +
68
+ (printedProps &&
69
+ tagColor.close +
70
+ printedProps +
71
+ config.spacingOuter +
72
+ indentation +
73
+ tagColor.open) +
74
+ (printedChildren
75
+ ? '>' +
76
+ tagColor.close +
77
+ printedChildren +
78
+ config.spacingOuter +
79
+ indentation +
80
+ tagColor.open +
81
+ '</' +
82
+ type
83
+ : (printedProps && !config.min ? '' : ' ') + '/') +
84
+ '>' +
85
+ tagColor.close);
86
+ };
87
+ export const printElementAsLeaf = (type, config) => {
88
+ const tagColor = config.colors.tag;
89
+ return (tagColor.open +
90
+ '<' +
91
+ type +
92
+ tagColor.close +
93
+ ' …' +
94
+ tagColor.open +
95
+ ' />' +
96
+ tagColor.close);
97
+ };
98
+ //# sourceMappingURL=markup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"markup.js","sourceRoot":"","sources":["markup.ts"],"names":[],"mappings":"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"}