@cedarjs/structure 2.8.1-next.0 → 2.8.1-next.116

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 (110) hide show
  1. package/README.md +1 -1
  2. package/dist/errors.js +9 -15
  3. package/dist/errors.js.map +1 -0
  4. package/dist/index.d.ts +7 -7
  5. package/dist/index.d.ts.map +1 -1
  6. package/dist/index.js +40 -67
  7. package/dist/index.js.map +1 -0
  8. package/dist/model/RWCell.d.ts +4 -4
  9. package/dist/model/RWCell.d.ts.map +1 -1
  10. package/dist/model/RWCell.js +111 -103
  11. package/dist/model/RWCell.js.map +1 -0
  12. package/dist/model/RWComponent.d.ts +2 -2
  13. package/dist/model/RWComponent.d.ts.map +1 -1
  14. package/dist/model/RWComponent.js +46 -41
  15. package/dist/model/RWComponent.js.map +1 -0
  16. package/dist/model/RWEnvHelper.d.ts +4 -4
  17. package/dist/model/RWEnvHelper.d.ts.map +1 -1
  18. package/dist/model/RWEnvHelper.js +212 -205
  19. package/dist/model/RWEnvHelper.js.map +1 -0
  20. package/dist/model/RWFunction.d.ts +2 -2
  21. package/dist/model/RWFunction.d.ts.map +1 -1
  22. package/dist/model/RWFunction.js +10 -15
  23. package/dist/model/RWFunction.js.map +1 -0
  24. package/dist/model/RWLayout.d.ts +2 -2
  25. package/dist/model/RWLayout.d.ts.map +1 -1
  26. package/dist/model/RWLayout.js +10 -15
  27. package/dist/model/RWLayout.js.map +1 -0
  28. package/dist/model/RWPage.d.ts +3 -3
  29. package/dist/model/RWPage.d.ts.map +1 -1
  30. package/dist/model/RWPage.js +61 -57
  31. package/dist/model/RWPage.js.map +1 -0
  32. package/dist/model/RWProject.d.ts +11 -17
  33. package/dist/model/RWProject.d.ts.map +1 -1
  34. package/dist/model/RWProject.js +218 -164
  35. package/dist/model/RWProject.js.map +1 -0
  36. package/dist/model/RWRoute.d.ts +5 -5
  37. package/dist/model/RWRoute.d.ts.map +1 -1
  38. package/dist/model/RWRoute.js +312 -262
  39. package/dist/model/RWRoute.js.map +1 -0
  40. package/dist/model/RWRouter.d.ts +4 -4
  41. package/dist/model/RWRouter.d.ts.map +1 -1
  42. package/dist/model/RWRouter.js +130 -126
  43. package/dist/model/RWRouter.js.map +1 -0
  44. package/dist/model/RWSDL.d.ts +5 -5
  45. package/dist/model/RWSDL.d.ts.map +1 -1
  46. package/dist/model/RWSDL.js +96 -84
  47. package/dist/model/RWSDL.js.map +1 -0
  48. package/dist/model/RWSDLField.d.ts +6 -6
  49. package/dist/model/RWSDLField.d.ts.map +1 -1
  50. package/dist/model/RWSDLField.js +79 -81
  51. package/dist/model/RWSDLField.js.map +1 -0
  52. package/dist/model/RWService.d.ts +4 -4
  53. package/dist/model/RWService.d.ts.map +1 -1
  54. package/dist/model/RWService.js +76 -76
  55. package/dist/model/RWService.js.map +1 -0
  56. package/dist/model/RWServiceFunction.d.ts +4 -4
  57. package/dist/model/RWServiceFunction.d.ts.map +1 -1
  58. package/dist/model/RWServiceFunction.js +95 -97
  59. package/dist/model/RWServiceFunction.js.map +1 -0
  60. package/dist/model/RWTOML.d.ts +3 -3
  61. package/dist/model/RWTOML.d.ts.map +1 -1
  62. package/dist/model/RWTOML.js +53 -55
  63. package/dist/model/RWTOML.js.map +1 -0
  64. package/dist/model/index.d.ts +2 -2
  65. package/dist/model/index.d.ts.map +1 -1
  66. package/dist/model/index.js +3 -20
  67. package/dist/model/index.js.map +1 -0
  68. package/dist/model/util/process_env.js +44 -62
  69. package/dist/model/util/process_env.js.map +1 -0
  70. package/dist/nodes.d.ts +2 -2
  71. package/dist/nodes.d.ts.map +1 -1
  72. package/dist/nodes.js +171 -164
  73. package/dist/nodes.js.map +1 -0
  74. package/dist/util.js +23 -33
  75. package/dist/util.js.map +1 -0
  76. package/dist/x/Array.js +15 -25
  77. package/dist/x/Array.js.map +1 -0
  78. package/dist/x/Location.d.ts +1 -1
  79. package/dist/x/Location.d.ts.map +1 -1
  80. package/dist/x/Location.js +11 -17
  81. package/dist/x/Location.js.map +1 -0
  82. package/dist/x/Position.js +18 -29
  83. package/dist/x/Position.js.map +1 -0
  84. package/dist/x/Range.d.ts +1 -1
  85. package/dist/x/Range.d.ts.map +1 -1
  86. package/dist/x/Range.js +17 -22
  87. package/dist/x/Range.js.map +1 -0
  88. package/dist/x/URL.js +59 -75
  89. package/dist/x/URL.js.map +1 -0
  90. package/dist/x/child_process.d.ts +1 -1
  91. package/dist/x/child_process.d.ts.map +1 -1
  92. package/dist/x/child_process.js +35 -49
  93. package/dist/x/child_process.js.map +1 -0
  94. package/dist/x/decorators.d.ts +2 -2
  95. package/dist/x/decorators.d.ts.map +1 -1
  96. package/dist/x/decorators.js +46 -26
  97. package/dist/x/decorators.js.map +1 -0
  98. package/dist/x/diagnostics.d.ts +3 -3
  99. package/dist/x/diagnostics.d.ts.map +1 -1
  100. package/dist/x/diagnostics.js +163 -259
  101. package/dist/x/diagnostics.js.map +1 -0
  102. package/dist/x/path.js +36 -55
  103. package/dist/x/path.js.map +1 -0
  104. package/dist/x/prisma.d.ts +2 -2
  105. package/dist/x/prisma.d.ts.map +1 -1
  106. package/dist/x/prisma.js +32 -55
  107. package/dist/x/prisma.js.map +1 -0
  108. package/dist/x/ts-morph.js +34 -45
  109. package/dist/x/ts-morph.js.map +1 -0
  110. package/package.json +38 -17
@@ -1,26 +1,46 @@
1
- "use strict";
2
-
3
- var _Object$defineProperty = require("@babel/runtime-corejs3/core-js/object/define-property");
4
- _Object$defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- _Object$defineProperty(exports, "debounce", {
8
- enumerable: true,
9
- get: function () {
10
- return _lodashDecorators.Debounce;
11
- }
12
- });
13
- _Object$defineProperty(exports, "lazy", {
14
- enumerable: true,
15
- get: function () {
16
- return _lazyGetDecorator.LazyGetter;
17
- }
18
- });
19
- _Object$defineProperty(exports, "memo", {
20
- enumerable: true,
21
- get: function () {
22
- return _lodashDecorators.Memoize;
23
- }
24
- });
25
- var _lazyGetDecorator = require("lazy-get-decorator");
26
- var _lodashDecorators = require("lodash-decorators");
1
+ export function lazy() {
2
+ return function (_target, key, descriptor) {
3
+ const getter = descriptor.get;
4
+ if (!getter) {
5
+ throw new Error('@lazy can only be used on getters');
6
+ }
7
+ return {
8
+ get() {
9
+ const value = getter.call(this);
10
+ Object.defineProperty(this, key, {
11
+ value,
12
+ enumerable: descriptor.enumerable,
13
+ });
14
+ return value;
15
+ },
16
+ enumerable: descriptor.enumerable,
17
+ configurable: true,
18
+ };
19
+ };
20
+ }
21
+ export function memo(keySerializer = String) {
22
+ return function (_target, _key, descriptor) {
23
+ const original = descriptor.value;
24
+ return {
25
+ ...descriptor,
26
+ value(...args) {
27
+ if (!this.__memoCache) {
28
+ this.__memoCache = new Map();
29
+ }
30
+ const cacheKey = _key;
31
+ if (!this.__memoCache.has(cacheKey)) {
32
+ this.__memoCache.set(cacheKey, new Map());
33
+ }
34
+ const methodCache = this.__memoCache.get(cacheKey);
35
+ const argsKey = keySerializer(...args);
36
+ if (methodCache.has(argsKey)) {
37
+ return methodCache.get(argsKey);
38
+ }
39
+ const result = original.apply(this, args);
40
+ methodCache.set(argsKey, result);
41
+ return result;
42
+ },
43
+ };
44
+ };
45
+ }
46
+ //# sourceMappingURL=decorators.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/x/decorators.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,IAAI;IAClB,OAAO,UACL,OAAe,EACf,GAAoB,EACpB,UAAsC;QAEtC,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAA;QAC7B,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAA;QACtD,CAAC;QACD,OAAO;YACL,GAAG;gBACD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBAC/B,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,EAAE;oBAC/B,KAAK;oBACL,UAAU,EAAE,UAAU,CAAC,UAAU;iBAClC,CAAC,CAAA;gBACF,OAAO,KAAK,CAAA;YACd,CAAC;YACD,UAAU,EAAE,UAAU,CAAC,UAAU;YACjC,YAAY,EAAE,IAAI;SACnB,CAAA;IACH,CAAC,CAAA;AACH,CAAC;AAED,MAAM,UAAU,IAAI,CAAC,gBAAgD,MAAM;IACzE,OAAO,UACL,OAAe,EACf,IAAqB,EACrB,UAA8B;QAE9B,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAA;QACjC,OAAO;YACL,GAAG,UAAU;YACb,KAAK,CAEH,GAAG,IAAe;gBAElB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;oBACtB,IAAI,CAAC,WAAW,GAAG,IAAI,GAAG,EAAE,CAAA;gBAC9B,CAAC;gBACD,MAAM,QAAQ,GAAG,IAAI,CAAA;gBACrB,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACpC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,GAAG,EAAE,CAAC,CAAA;gBAC3C,CAAC;gBACD,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAA;gBACnD,MAAM,OAAO,GAAG,aAAa,CAAC,GAAG,IAAI,CAAC,CAAA;gBACtC,IAAI,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC7B,OAAO,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;gBACjC,CAAC;gBACD,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;gBACzC,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;gBAChC,OAAO,MAAM,CAAA;YACf,CAAC;SACF,CAAA;IACH,CAAC,CAAA;AACH,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import * as tsm from 'ts-morph';
2
- import type { Location } from './Location';
3
- import type { Position } from './Position';
4
- import type { Range } from './Range';
2
+ import type { Location } from './Location.js';
3
+ import type { Position } from './Position.js';
4
+ import type { Range } from './Range.js';
5
5
  export type DocumentUri = string;
6
6
  export declare enum DiagnosticSeverity {
7
7
  Error = 1,
@@ -1 +1 @@
1
- {"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../../src/x/diagnostics.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../../src/x/diagnostics.ts"],"names":[],"mappings":"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"}
@@ -1,87 +1,51 @@
1
- "use strict";
2
-
3
- var _Object$defineProperty = require("@babel/runtime-corejs3/core-js/object/define-property");
4
- var _interopRequireWildcard = require("@babel/runtime-corejs3/helpers/interopRequireWildcard").default;
5
- var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
6
- _Object$defineProperty(exports, "__esModule", {
7
- value: true
8
- });
9
- exports.DiagnosticSeverity = void 0;
10
- exports.Diagnostic_is = Diagnostic_is;
11
- exports.ExtendedDiagnostic_format = ExtendedDiagnostic_format;
12
- exports.ExtendedDiagnostic_groupByUri = ExtendedDiagnostic_groupByUri;
13
- exports.ExtendedDiagnostic_is = ExtendedDiagnostic_is;
14
- exports.LocationLike_toHashLink = LocationLike_toHashLink;
15
- exports.LocationLike_toLocation = LocationLike_toLocation;
16
- exports.LocationLike_toTerminalLink = LocationLike_toTerminalLink;
17
- exports.Location_fromFilePath = Location_fromFilePath;
18
- exports.Location_fromNode = Location_fromNode;
19
- exports.Location_overlaps = Location_overlaps;
20
- exports.Position_fromOffset = Position_fromOffset;
21
- exports.Position_fromOffsetOrFail = Position_fromOffsetOrFail;
22
- exports.Position_fromTSMorphOffset = Position_fromTSMorphOffset;
23
- exports.Position_translate = Position_translate;
24
- exports.Range_contains = Range_contains;
25
- exports.Range_fromNode = Range_fromNode;
26
- exports.Range_overlaps = Range_overlaps;
27
- exports.err = err;
28
- var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js/instance/map"));
29
- var _stringify = _interopRequireDefault(require("@babel/runtime-corejs3/core-js/json/stringify"));
30
- var _endsWith = _interopRequireDefault(require("@babel/runtime-corejs3/core-js/instance/ends-with"));
31
- var _lineColumn = _interopRequireDefault(require("line-column"));
32
- var _groupBy = _interopRequireDefault(require("lodash/groupBy.js"));
33
- var _mapValues = _interopRequireDefault(require("lodash/mapValues.js"));
34
- var _uniqBy = _interopRequireDefault(require("lodash/uniqBy.js"));
35
- var tsm = _interopRequireWildcard(require("ts-morph"));
36
- var _Location = require("./Location");
37
- var _Position = require("./Position");
38
- var _Range = require("./Range");
39
- var _URL = require("./URL");
40
- let DiagnosticSeverity = exports.DiagnosticSeverity = /*#__PURE__*/function (DiagnosticSeverity) {
41
- DiagnosticSeverity[DiagnosticSeverity["Error"] = 1] = "Error";
42
- DiagnosticSeverity[DiagnosticSeverity["Warning"] = 2] = "Warning";
43
- DiagnosticSeverity[DiagnosticSeverity["Information"] = 3] = "Information";
44
- DiagnosticSeverity[DiagnosticSeverity["Hint"] = 4] = "Hint";
45
- return DiagnosticSeverity;
46
- }({});
47
- function Diagnostic_is(value) {
48
- const candidate = value;
49
- return candidate && typeof candidate.message === 'string' && typeof candidate.range === 'object' && candidate.range.start !== undefined && candidate.range.end !== undefined;
50
- }
51
-
52
- /**
53
- * The Diagnostic interface does not include the document URI.
54
- * This interface adds that, and a few other things.
55
- */
56
-
57
- function Range_contains(range, pos) {
58
- if ((0, _Position.Position_compare)(range.start, pos) === 'greater') {
59
- return false;
60
- }
61
- if ((0, _Position.Position_compare)(range.end, pos) === 'smaller') {
62
- return false;
63
- }
64
- return true;
65
- }
66
- function Range_overlaps(range1, range2, consider0000) {
67
- if (consider0000) {
68
- if (Range_is0000(range1) || Range_is0000(range2)) {
69
- return true;
1
+ import lc from 'line-column';
2
+ import groupBy from 'lodash/groupBy.js';
3
+ import mapValues from 'lodash/mapValues.js';
4
+ import uniqBy from 'lodash/uniqBy.js';
5
+ import * as tsm from 'ts-morph';
6
+ import { Location_is } from './Location.js';
7
+ import { Position_compare } from './Position.js';
8
+ import { Range_create } from './Range.js';
9
+ import { URL_file } from './URL.js';
10
+ export var DiagnosticSeverity;
11
+ (function (DiagnosticSeverity) {
12
+ DiagnosticSeverity[DiagnosticSeverity["Error"] = 1] = "Error";
13
+ DiagnosticSeverity[DiagnosticSeverity["Warning"] = 2] = "Warning";
14
+ DiagnosticSeverity[DiagnosticSeverity["Information"] = 3] = "Information";
15
+ DiagnosticSeverity[DiagnosticSeverity["Hint"] = 4] = "Hint";
16
+ })(DiagnosticSeverity || (DiagnosticSeverity = {}));
17
+ export function Diagnostic_is(value) {
18
+ const candidate = value;
19
+ return (candidate &&
20
+ typeof candidate.message === 'string' &&
21
+ typeof candidate.range === 'object' &&
22
+ candidate.range.start !== undefined &&
23
+ candidate.range.end !== undefined);
24
+ }
25
+ export function Range_contains(range, pos) {
26
+ if (Position_compare(range.start, pos) === 'greater') {
27
+ return false;
28
+ }
29
+ if (Position_compare(range.end, pos) === 'smaller') {
30
+ return false;
70
31
  }
71
- }
72
- const {
73
- start,
74
- end
75
- } = range2;
76
- if (Range_contains(range1, start)) {
77
32
  return true;
78
- }
79
- if (Range_contains(range2, end)) {
33
+ }
34
+ export function Range_overlaps(range1, range2, consider0000) {
35
+ if (consider0000) {
36
+ if (Range_is0000(range1) || Range_is0000(range2)) {
37
+ return true;
38
+ }
39
+ }
40
+ const { start, end } = range2;
41
+ if (Range_contains(range1, start)) {
42
+ return true;
43
+ }
44
+ if (Range_contains(range2, end)) {
45
+ return true;
46
+ }
80
47
  return true;
81
- }
82
- return true;
83
48
  }
84
-
85
49
  /**
86
50
  * Create a new position relative to this position.
87
51
  *
@@ -90,201 +54,146 @@ function Range_overlaps(range1, range2, consider0000) {
90
54
  * @return A position which line and character is the sum of the current line and
91
55
  * character and the corresponding deltas.
92
56
  */
93
- function Position_translate(pos, lineDelta = 0, characterDelta = 0) {
94
- return {
95
- line: pos.line + lineDelta,
96
- character: pos.character + characterDelta
97
- };
57
+ export function Position_translate(pos, lineDelta = 0, characterDelta = 0) {
58
+ return {
59
+ line: pos.line + lineDelta,
60
+ character: pos.character + characterDelta,
61
+ };
98
62
  }
99
- function Range_fromNode(node) {
100
- const start = Position_fromTSMorphOffset(node.getStart(false), node.getSourceFile());
101
- const end = Position_fromTSMorphOffset(node.getEnd(), node.getSourceFile());
102
- return {
103
- start,
104
- end
105
- };
63
+ export function Range_fromNode(node) {
64
+ const start = Position_fromTSMorphOffset(node.getStart(false), node.getSourceFile());
65
+ const end = Position_fromTSMorphOffset(node.getEnd(), node.getSourceFile());
66
+ return { start, end };
106
67
  }
107
- function Location_fromNode(node) {
108
- return {
109
- uri: (0, _URL.URL_file)(node.getSourceFile().getFilePath()),
110
- range: Range_fromNode(node)
111
- };
68
+ export function Location_fromNode(node) {
69
+ return {
70
+ uri: URL_file(node.getSourceFile().getFilePath()),
71
+ range: Range_fromNode(node),
72
+ };
112
73
  }
113
- function Location_fromFilePath(filePath) {
114
- return {
115
- uri: (0, _URL.URL_file)(filePath),
116
- range: (0, _Range.Range_create)(0, 0, 0, 0)
117
- };
74
+ export function Location_fromFilePath(filePath) {
75
+ return { uri: URL_file(filePath), range: Range_create(0, 0, 0, 0) };
118
76
  }
119
-
120
77
  /**
121
78
  * returns vscode-terminal-friendly (clickable) link with line/column information
122
79
  * ex: "file:///foo.ts:2:3"
123
80
  * @param loc
124
81
  */
125
- function LocationLike_toTerminalLink(loc) {
126
- const {
127
- uri,
128
- range: {
129
- start: {
130
- line,
131
- character
132
- }
133
- }
134
- } = LocationLike_toLocation(loc);
135
- return `${uri}:${line + 1}:${character + 1}`;
82
+ export function LocationLike_toTerminalLink(loc) {
83
+ const { uri, range: { start: { line, character }, }, } = LocationLike_toLocation(loc);
84
+ return `${uri}:${line + 1}:${character + 1}`;
136
85
  }
137
-
138
86
  /**
139
87
  * returns vscode-terminal-friendly (clickable) link with line/column information
140
88
  * ex: "file:///foo.ts:2:3"
141
89
  * @param loc
142
90
  */
143
- function LocationLike_toHashLink(loc) {
144
- const {
145
- uri,
146
- range: {
147
- start: {
148
- line,
149
- character
150
- }
151
- }
152
- } = LocationLike_toLocation(loc);
153
- return `${uri}#${line + 1}:${character + 1}`;
91
+ export function LocationLike_toHashLink(loc) {
92
+ const { uri, range: { start: { line, character }, }, } = LocationLike_toLocation(loc);
93
+ return `${uri}#${line + 1}:${character + 1}`;
154
94
  }
155
- function LocationLike_toLocation(x) {
156
- if (typeof x === 'string') {
157
- return {
158
- uri: (0, _URL.URL_file)(x),
159
- range: (0, _Range.Range_create)(0, 0, 0, 0)
160
- };
161
- }
162
- if (typeof x === 'object') {
163
- if (x instanceof tsm.Node) {
164
- return Location_fromNode(x);
95
+ export function LocationLike_toLocation(x) {
96
+ if (typeof x === 'string') {
97
+ return { uri: URL_file(x), range: Range_create(0, 0, 0, 0) };
165
98
  }
166
- if ((0, _Location.Location_is)(x)) {
167
- return x;
99
+ if (typeof x === 'object') {
100
+ if (x instanceof tsm.Node) {
101
+ return Location_fromNode(x);
102
+ }
103
+ if (Location_is(x)) {
104
+ return x;
105
+ }
106
+ if (ExtendedDiagnostic_is(x)) {
107
+ return { uri: x.uri, range: x.diagnostic.range };
108
+ }
168
109
  }
169
- if (ExtendedDiagnostic_is(x)) {
170
- return {
171
- uri: x.uri,
172
- range: x.diagnostic.range
173
- };
174
- }
175
- }
176
- throw new Error();
110
+ throw new Error();
177
111
  }
178
- function Location_overlaps(loc1, loc2, consider0000 = false) {
179
- if (loc1.uri !== loc2.uri) {
180
- return false;
181
- }
182
- return Range_overlaps(loc1.range, loc2.range, consider0000);
112
+ export function Location_overlaps(loc1, loc2, consider0000 = false) {
113
+ if (loc1.uri !== loc2.uri) {
114
+ return false;
115
+ }
116
+ return Range_overlaps(loc1.range, loc2.range, consider0000);
183
117
  }
184
-
185
118
  /**
186
119
  * by convention, the range [0,0,0,0] means the complete document
187
120
  * @param range
188
121
  */
189
122
  function Range_is0000(range) {
190
- const {
191
- start,
192
- end
193
- } = range;
194
- return Position_is00(start) && Position_is00(end);
123
+ const { start, end } = range;
124
+ return Position_is00(start) && Position_is00(end);
195
125
  }
196
126
  function Position_is00(pos) {
197
- return pos.character === 0 && pos.line === 0;
198
- }
199
- function ExtendedDiagnostic_is(x) {
200
- if (typeof x !== 'object') {
201
- return false;
202
- }
203
- if (typeof x === 'undefined') {
204
- return false;
205
- }
206
- if (typeof x.uri !== 'string') {
207
- return false;
208
- }
209
- if (!Diagnostic_is(x.diagnostic)) {
210
- return false;
211
- }
212
- return true;
127
+ return pos.character === 0 && pos.line === 0;
213
128
  }
214
- function ExtendedDiagnostic_groupByUri(ds) {
215
- const grouped = (0, _groupBy.default)(ds, d => d.uri);
216
- const dss = (0, _mapValues.default)(grouped, xds => {
217
- const dd = (0, _map.default)(xds).call(xds, xd => xd.diagnostic);
218
- return (0, _uniqBy.default)(dd, _stringify.default); // dedupe
219
- });
220
- return dss;
221
- }
222
- function Position_fromTSMorphOffset(offset, sf) {
223
- const {
224
- line,
225
- column
226
- } = sf.getLineAndColumnAtPos(offset);
227
- return {
228
- character: column - 1,
229
- line: line - 1
230
- };
129
+ export function ExtendedDiagnostic_is(x) {
130
+ if (typeof x !== 'object') {
131
+ return false;
132
+ }
133
+ if (typeof x === 'undefined') {
134
+ return false;
135
+ }
136
+ if (typeof x.uri !== 'string') {
137
+ return false;
138
+ }
139
+ if (!Diagnostic_is(x.diagnostic)) {
140
+ return false;
141
+ }
142
+ return true;
231
143
  }
232
- function Position_fromOffset(offset, text) {
233
- const res = (0, _lineColumn.default)(text).fromIndex(offset);
234
- if (!res) {
235
- return undefined;
236
- }
237
- const {
238
- line,
239
- col
240
- } = res;
241
- return {
242
- character: col - 1,
243
- line: line - 1
244
- };
144
+ export function ExtendedDiagnostic_groupByUri(ds) {
145
+ const grouped = groupBy(ds, (d) => d.uri);
146
+ const dss = mapValues(grouped, (xds) => {
147
+ const dd = xds.map((xd) => xd.diagnostic);
148
+ return uniqBy(dd, JSON.stringify); // dedupe
149
+ });
150
+ return dss;
151
+ }
152
+ export function Position_fromTSMorphOffset(offset, sf) {
153
+ const { line, column } = sf.getLineAndColumnAtPos(offset);
154
+ return { character: column - 1, line: line - 1 };
155
+ }
156
+ export function Position_fromOffset(offset, text) {
157
+ const res = lc(text).fromIndex(offset);
158
+ if (!res) {
159
+ return undefined;
160
+ }
161
+ const { line, col } = res;
162
+ return { character: col - 1, line: line - 1 };
245
163
  }
246
- function Position_fromOffsetOrFail(offset, text) {
247
- const p = Position_fromOffset(offset, text);
248
- if (!p) {
249
- throw new Error('Position_fromOffsetOrFail');
250
- }
251
- return p;
164
+ export function Position_fromOffsetOrFail(offset, text) {
165
+ const p = Position_fromOffset(offset, text);
166
+ if (!p) {
167
+ throw new Error('Position_fromOffsetOrFail');
168
+ }
169
+ return p;
252
170
  }
253
-
254
171
  /**
255
172
  * Helper method to create diagnostics
256
173
  * @param node
257
174
  * @param message
258
175
  */
259
- function err(loc, message, code) {
260
- const {
261
- uri,
262
- range
263
- } = LocationLike_toLocation(loc);
264
- return {
265
- uri,
266
- diagnostic: {
267
- range,
268
- message,
269
- severity: DiagnosticSeverity.Error,
270
- code
271
- }
272
- };
176
+ export function err(loc, message, code) {
177
+ const { uri, range } = LocationLike_toLocation(loc);
178
+ return {
179
+ uri,
180
+ diagnostic: {
181
+ range,
182
+ message,
183
+ severity: DiagnosticSeverity.Error,
184
+ code,
185
+ },
186
+ };
273
187
  }
274
188
  function DiagnosticSeverity_getLabel(severity) {
275
- const {
276
- Information,
277
- Error,
278
- Hint,
279
- Warning
280
- } = DiagnosticSeverity;
281
- const labels = {
282
- [Information]: 'info',
283
- [Error]: 'error',
284
- [Hint]: 'hint',
285
- [Warning]: 'warning'
286
- };
287
- return labels[severity ?? Information];
189
+ const { Information, Error, Hint, Warning } = DiagnosticSeverity;
190
+ const labels = {
191
+ [Information]: 'info',
192
+ [Error]: 'error',
193
+ [Hint]: 'hint',
194
+ [Warning]: 'warning',
195
+ };
196
+ return labels[severity ?? Information];
288
197
  }
289
198
  /**
290
199
  * Returns a string representation of a diagnostic.
@@ -292,26 +201,21 @@ function DiagnosticSeverity_getLabel(severity) {
292
201
  * ex: "b.ts:1:2: error: this is a message"
293
202
  * ex: "/path/to/app/b.ts:1:2: info: this is a message"
294
203
  */
295
- function ExtendedDiagnostic_format(d, opts) {
296
- const {
297
- diagnostic: {
298
- severity,
299
- message,
300
- code
204
+ export function ExtendedDiagnostic_format(d, opts) {
205
+ const { diagnostic: { severity, message, code }, } = d;
206
+ const cwd = opts?.cwd;
207
+ const getSeverityLabel = opts?.getSeverityLabel ?? DiagnosticSeverity_getLabel;
208
+ let base = 'file://';
209
+ if (cwd) {
210
+ base = URL_file(cwd);
301
211
  }
302
- } = d;
303
- const cwd = opts?.cwd;
304
- const getSeverityLabel = opts?.getSeverityLabel ?? DiagnosticSeverity_getLabel;
305
- let base = 'file://';
306
- if (cwd) {
307
- base = (0, _URL.URL_file)(cwd);
308
- }
309
- if (!(0, _endsWith.default)(base).call(base, '/')) {
310
- base += '/';
311
- }
312
- const file = LocationLike_toTerminalLink(d).substr(base.length);
313
- const severityLabel = getSeverityLabel(severity);
314
- const errorCode = code ? ` (${code})` : '';
315
- const str = `${file}: ${severityLabel}${errorCode}: ${message}`;
316
- return str;
317
- }
212
+ if (!base.endsWith('/')) {
213
+ base += '/';
214
+ }
215
+ const file = LocationLike_toTerminalLink(d).substr(base.length);
216
+ const severityLabel = getSeverityLabel(severity);
217
+ const errorCode = code ? ` (${code})` : '';
218
+ const str = `${file}: ${severityLabel}${errorCode}: ${message}`;
219
+ return str;
220
+ }
221
+ //# sourceMappingURL=diagnostics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../../src/x/diagnostics.ts"],"names":[],"mappings":"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"}