lilact 0.26.16 → 0.27.1
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.
- package/dist/lilact.development.js +250 -348
- package/dist/lilact.development.js.map +3 -3
- package/dist/lilact.development.min.js +34 -34
- package/dist/lilact.development.min.js.map +3 -3
- package/dist/lilact.production.min.js +34 -34
- package/docs/assets/navigation.js +1 -1
- package/docs/assets/search.js +1 -1
- package/docs/classes/accessories.ErrorBoundary.html +8 -8
- package/docs/classes/accessories.Suspense.html +7 -7
- package/docs/classes/components.Component.html +11 -11
- package/docs/classes/components.HTMLComponent.html +11 -11
- package/docs/classes/components.RootComponent.html +11 -11
- package/docs/functions/components.cloneComponent.html +1 -1
- package/docs/functions/components.createComponent.html +1 -1
- package/docs/functions/components.createPortal.html +1 -1
- package/docs/functions/components.createRoot.html +1 -1
- package/docs/functions/components.memo.html +1 -1
- package/docs/functions/components.render.html +1 -1
- package/docs/functions/errors.globalErrorHandler.html +1 -2
- package/docs/functions/errors.scanBlockLabels.html +1 -2
- package/docs/functions/errors.traceError.html +1 -3
- package/docs/functions/hooks.createContext.html +1 -1
- package/docs/functions/hooks.startTransition.html +1 -1
- package/docs/functions/hooks.useActionState.html +1 -1
- package/docs/functions/hooks.useContext.html +1 -1
- package/docs/functions/hooks.useDebugValue.html +1 -1
- package/docs/functions/hooks.useDeferredValue.html +1 -1
- package/docs/functions/hooks.useEffect.html +1 -1
- package/docs/functions/hooks.useId.html +1 -1
- package/docs/functions/hooks.useImperativeHandle.html +1 -1
- package/docs/functions/hooks.useInsertionEffect.html +1 -1
- package/docs/functions/hooks.useLayoutEffect.html +1 -1
- package/docs/functions/hooks.useLocalStorage.html +1 -1
- package/docs/functions/hooks.useMemo.html +1 -1
- package/docs/functions/hooks.useReducer.html +1 -1
- package/docs/functions/hooks.useRef.html +1 -1
- package/docs/functions/hooks.useTransition.html +1 -1
- package/docs/functions/run.lazy.html +1 -2
- package/docs/functions/run.require.html +1 -2
- package/docs/functions/run.run.html +1 -2
- package/docs/functions/run.runScripts.html +1 -1
- package/docs/functions/timers.timeoutPromise.html +3 -3
- package/docs/modules/errors.html +1 -1
- package/docs/modules/run.html +1 -1
- package/docs/static/index.html +1 -1
- package/docs/static/lilact.development.js +250 -348
- package/docs/static/lilact.development.js.map +3 -3
- package/docs/static/lilact.development.min.js +34 -34
- package/docs/static/lilact.development.min.js.map +3 -3
- package/docs/static/lilact.production.min.js +34 -34
- package/docs/variables/components.cloneElement.html +1 -1
- package/docs/variables/errors.blocks_info.html +1 -1
- package/docs/variables/errors.error.html +1 -1
- package/docs/variables/run.required_scripts.html +1 -0
- package/examples/index.html +1 -1
- package/examples/lilact.development.js +250 -348
- package/examples/lilact.development.js.map +3 -3
- package/examples/lilact.development.min.js +34 -34
- package/examples/lilact.development.min.js.map +3 -3
- package/examples/lilact.production.min.js +34 -34
- package/package.json +1 -1
- package/src/components.jsx +10 -4
- package/src/errors.jsx +179 -364
- package/src/expscan.js +1 -1
- package/src/hooks.jsx +33 -10
- package/src/jsx.js +14 -14
- package/src/lilact.jsx +5 -3
- package/src/run.jsx +121 -159
- package/docs/functions/errors.mapLocation.html +0 -1
package/src/run.jsx
CHANGED
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
*/
|
|
30
30
|
/*
|
|
31
31
|
Lilact
|
|
32
|
-
Copyright (C) 2024-2026 Arash Kazemi
|
|
32
|
+
Copyright (C) 2024-2026 Arash Kazemi <contact.arash.kazemi@gmail.com>
|
|
33
33
|
BSD-2-Clause
|
|
34
34
|
*/
|
|
35
35
|
|
|
@@ -39,94 +39,71 @@ import { LAZY } from "./symbols.jsx";
|
|
|
39
39
|
import { injectGlobal } from "@emotion/css";
|
|
40
40
|
|
|
41
41
|
function joinPaths(basePath, relativePath) {
|
|
42
|
-
const
|
|
43
|
-
const
|
|
44
|
-
|
|
45
|
-
const parts = (isAbsolute ? "" : basePath)
|
|
42
|
+
const absolute = relativePath.startsWith("/");
|
|
43
|
+
const parts = (absolute ? "" : basePath)
|
|
46
44
|
.split("/")
|
|
47
45
|
.filter(Boolean);
|
|
48
46
|
|
|
49
|
-
|
|
50
|
-
stack.push(part);
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
if (!basePath.endsWith("/")) {
|
|
54
|
-
stack.pop();
|
|
55
|
-
}
|
|
47
|
+
if (!absolute && !basePath.endsWith("/")) parts.pop();
|
|
56
48
|
|
|
57
49
|
for (const part of relativePath.split("/")) {
|
|
58
|
-
if (part
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
if (stack.length > 0) stack.pop();
|
|
62
|
-
} else {
|
|
63
|
-
stack.push(part);
|
|
64
|
-
}
|
|
50
|
+
if (!part || part === ".") continue;
|
|
51
|
+
if (part === "..") parts.pop();
|
|
52
|
+
else parts.push(part);
|
|
65
53
|
}
|
|
66
54
|
|
|
67
|
-
return `${
|
|
55
|
+
return `${absolute ? "/" : ""}${parts.join("/")}`;
|
|
68
56
|
}
|
|
69
57
|
|
|
70
|
-
function asError(value,
|
|
58
|
+
function asError(value, fallback = "Unknown error") {
|
|
71
59
|
if (value instanceof Error) return value;
|
|
60
|
+
if (value?.error instanceof Error) return value.error;
|
|
72
61
|
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
const error = new Error(
|
|
77
|
-
value.message == null ? fallbackMessage : String(value.message)
|
|
78
|
-
);
|
|
62
|
+
const error = new Error(
|
|
63
|
+
value?.message == null ? fallback : String(value.message)
|
|
64
|
+
);
|
|
79
65
|
|
|
66
|
+
if (value && typeof value === "object") {
|
|
80
67
|
if (value.name) error.name = value.name;
|
|
81
|
-
|
|
82
|
-
if (value.stack) {
|
|
83
|
-
Object.defineProperty(error, "stack", {
|
|
84
|
-
value: value.stack,
|
|
85
|
-
configurable: true,
|
|
86
|
-
});
|
|
87
|
-
}
|
|
68
|
+
if (value.stack) error.stack = value.stack;
|
|
88
69
|
|
|
89
70
|
for (const key of Object.keys(value)) {
|
|
90
71
|
if (!(key in error)) error[key] = value[key];
|
|
91
72
|
}
|
|
92
|
-
|
|
93
|
-
return error;
|
|
94
73
|
}
|
|
95
74
|
|
|
96
|
-
return
|
|
97
|
-
value == null ? fallbackMessage : String(value)
|
|
98
|
-
);
|
|
75
|
+
return error;
|
|
99
76
|
}
|
|
100
77
|
|
|
101
|
-
|
|
102
|
-
|
|
78
|
+
/*
|
|
79
|
+
* The first module that catches an error owns its source location.
|
|
80
|
+
* Parent modules must never replace it.
|
|
81
|
+
*/
|
|
82
|
+
function markSource(value, path) {
|
|
83
|
+
const error = asError(value);
|
|
103
84
|
|
|
104
|
-
if (
|
|
85
|
+
if (!error.lilact_source) {
|
|
86
|
+
error.lilact_source = { path };
|
|
87
|
+
}
|
|
105
88
|
|
|
106
|
-
return
|
|
89
|
+
return error;
|
|
107
90
|
}
|
|
108
91
|
|
|
109
|
-
function
|
|
110
|
-
const
|
|
92
|
+
function report(value, path) {
|
|
93
|
+
const error = markSource(value, path);
|
|
94
|
+
|
|
95
|
+
if (error.isTraced) return error;
|
|
111
96
|
|
|
112
|
-
/*
|
|
113
|
-
* lilact.jsx may expose traceError on the public namespace. Avoid a
|
|
114
|
-
* static import here because errors.jsx already imports run.jsx.
|
|
115
|
-
*/
|
|
116
97
|
if (typeof Lilact.traceError === "function") {
|
|
117
|
-
return Lilact.traceError(
|
|
98
|
+
return Lilact.traceError(error, path);
|
|
118
99
|
}
|
|
119
100
|
|
|
120
|
-
Lilact.error =
|
|
121
|
-
return
|
|
101
|
+
Lilact.error = error;
|
|
102
|
+
return error;
|
|
122
103
|
}
|
|
123
104
|
|
|
124
|
-
/** @ignore */
|
|
125
105
|
export const required_scripts = {};
|
|
126
106
|
|
|
127
|
-
/**
|
|
128
|
-
* Transpiles and evaluates one JSX module.
|
|
129
|
-
*/
|
|
130
107
|
export function run(
|
|
131
108
|
jsx,
|
|
132
109
|
path = `InlineJSX-${++Lilact.eval_num}`,
|
|
@@ -135,21 +112,17 @@ export function run(
|
|
|
135
112
|
isModule = true,
|
|
136
113
|
} = {}
|
|
137
114
|
) {
|
|
138
|
-
|
|
115
|
+
|
|
139
116
|
|
|
140
117
|
const module = {
|
|
141
|
-
mappings,
|
|
142
|
-
isInline,
|
|
143
|
-
isModule,
|
|
144
118
|
path,
|
|
145
119
|
code: String(jsx),
|
|
120
|
+
mappings: [],
|
|
146
121
|
exports: {},
|
|
122
|
+
isInline,
|
|
123
|
+
isModule,
|
|
147
124
|
};
|
|
148
125
|
|
|
149
|
-
/*
|
|
150
|
-
* Register the module before transpiling. This makes the original source
|
|
151
|
-
* available if transpilation or evaluation fails.
|
|
152
|
-
*/
|
|
153
126
|
required_scripts[path] = module;
|
|
154
127
|
|
|
155
128
|
let processed;
|
|
@@ -157,136 +130,130 @@ export function run(
|
|
|
157
130
|
try {
|
|
158
131
|
processed = Lilact.transpileJSX(String(jsx), {
|
|
159
132
|
path,
|
|
160
|
-
mappings,
|
|
133
|
+
mappings: module.mappings,
|
|
161
134
|
factory: "createComponent",
|
|
162
135
|
appendSourcemap: false,
|
|
163
136
|
injectTraceLabels: true,
|
|
164
137
|
produceCJS: true,
|
|
165
138
|
blocks_info: Lilact.blocks_info,
|
|
166
139
|
});
|
|
167
|
-
} catch (
|
|
168
|
-
const
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
140
|
+
} catch (value) {
|
|
141
|
+
const error = asError(value);
|
|
142
|
+
error.fileName ??= path;
|
|
143
|
+
error.sourcePhase = "transpile";
|
|
144
|
+
module.error = error;
|
|
145
|
+
Lilact.error = error;
|
|
146
|
+
throw error;
|
|
173
147
|
}
|
|
174
148
|
|
|
175
|
-
if (typeof
|
|
176
|
-
|
|
149
|
+
if (typeof Lilact.scanBlockLabels === "function") {
|
|
150
|
+
Lilact.scanBlockLabels(processed, path);
|
|
177
151
|
}
|
|
178
152
|
|
|
179
153
|
/*
|
|
180
|
-
*
|
|
181
|
-
*
|
|
182
|
-
* common eval stack formats.
|
|
183
|
-
*/
|
|
184
|
-
processed = `${processed}\n//# sourceURL=eval:/${path}`;
|
|
185
|
-
|
|
186
|
-
/*
|
|
187
|
-
* Register block labels using the exact processed source that will be
|
|
188
|
-
* evaluated.
|
|
154
|
+
* sourceURL helps when the browser includes eval locations in its stack.
|
|
155
|
+
* It is not used as the authoritative source; the catch block below is.
|
|
189
156
|
*/
|
|
190
|
-
|
|
191
|
-
Lilact.scanBlockLabels(processed, path);
|
|
192
|
-
}
|
|
157
|
+
processed += `\n//# sourceURL=eval:/${path}`;
|
|
193
158
|
|
|
194
159
|
try {
|
|
195
160
|
globalThis.Lilact = Lilact;
|
|
196
161
|
globalThis.createComponent = Lilact.createComponent;
|
|
197
162
|
globalThis.Fragment = Lilact.Fragment;
|
|
198
163
|
|
|
164
|
+
const result = eval(processed);
|
|
165
|
+
|
|
166
|
+
return isEmpty(module.exports)
|
|
167
|
+
? result
|
|
168
|
+
: module.exports;
|
|
169
|
+
} catch (value) {
|
|
199
170
|
/*
|
|
200
|
-
* This
|
|
201
|
-
*
|
|
171
|
+
* This catch executes in the module whose eval failed, including
|
|
172
|
+
* generated-JavaScript syntax errors. Therefore path is authoritative.
|
|
202
173
|
*/
|
|
203
|
-
const
|
|
174
|
+
const error = report(value, path);
|
|
204
175
|
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
}
|
|
176
|
+
error.sourcePhase ??= "runtime";
|
|
177
|
+
module.error = error;
|
|
208
178
|
|
|
209
|
-
|
|
210
|
-
} catch (error) {
|
|
211
|
-
const runtimeError = reportRuntimeError(error, path);
|
|
212
|
-
runtimeError.sourcePhase = "runtime";
|
|
213
|
-
module.error = runtimeError;
|
|
214
|
-
throw runtimeError;
|
|
179
|
+
throw error;
|
|
215
180
|
}
|
|
216
181
|
}
|
|
217
182
|
|
|
218
|
-
/**
|
|
219
|
-
* Synchronously or asynchronously loads a JSX, JavaScript, or CSS resource.
|
|
220
|
-
*/
|
|
221
183
|
export function require(path) {
|
|
222
|
-
let
|
|
223
|
-
let checkExport;
|
|
224
|
-
let requirer;
|
|
225
|
-
let isLazy;
|
|
184
|
+
let options = {};
|
|
226
185
|
|
|
227
186
|
if (
|
|
228
187
|
arguments.length === 2 &&
|
|
229
188
|
arguments[1] &&
|
|
230
189
|
typeof arguments[1] === "object"
|
|
231
190
|
) {
|
|
232
|
-
|
|
233
|
-
checkExport = arguments[1].checkExport;
|
|
234
|
-
requirer = arguments[1].requirer;
|
|
235
|
-
isLazy = arguments[1].isLazy;
|
|
191
|
+
options = arguments[1];
|
|
236
192
|
}
|
|
237
193
|
|
|
194
|
+
|
|
238
195
|
if (Lilact.importObjectPaths?.[path]) {
|
|
239
196
|
return Lilact.importObjectPaths[path];
|
|
240
197
|
}
|
|
241
198
|
|
|
242
|
-
|
|
199
|
+
|
|
200
|
+
const loadAsync =
|
|
201
|
+
Boolean(Lilact[LAZY]) ||
|
|
202
|
+
Boolean(options.isLazy);
|
|
203
|
+
|
|
204
|
+
|
|
205
|
+
if (options.requirer?.path) {
|
|
206
|
+
path = joinPaths(options.requirer.path, path);
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
if (required_scripts[path] && !options.forceUpdate && !loadAsync) {
|
|
243
210
|
return required_scripts[path].exports;
|
|
244
211
|
}
|
|
245
212
|
|
|
246
|
-
if (path
|
|
213
|
+
if (path.startsWith("#")) {
|
|
247
214
|
const element = document.getElementById(path.slice(1));
|
|
248
215
|
|
|
249
216
|
if (!element) {
|
|
250
|
-
|
|
251
|
-
`Required element not found (${path})`
|
|
217
|
+
throw report(
|
|
218
|
+
new Error(`Required element not found (${path})`),
|
|
219
|
+
path
|
|
252
220
|
);
|
|
253
|
-
error.fileName = path;
|
|
254
|
-
throw error;
|
|
255
221
|
}
|
|
256
222
|
|
|
257
223
|
return run(element.textContent || "", path);
|
|
258
224
|
}
|
|
259
225
|
|
|
260
|
-
if (requirer?.path) {
|
|
261
|
-
path = joinPaths(requirer.path, path);
|
|
262
|
-
}
|
|
263
|
-
|
|
264
|
-
const loadAsync =
|
|
265
|
-
Boolean(Lilact?.[LAZY]) || Boolean(isLazy);
|
|
266
|
-
|
|
267
226
|
if (loadAsync) {
|
|
268
227
|
Lilact[LAZY] = false;
|
|
269
228
|
|
|
270
229
|
let request = Lilact.resolver?.(path);
|
|
271
230
|
|
|
272
|
-
if (request
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
231
|
+
if (request == null) {
|
|
232
|
+
|
|
233
|
+
if (required_scripts[path] && !options.forceUpdate) {
|
|
234
|
+
request = Promise.resolve(required_scripts[path].code);
|
|
235
|
+
}
|
|
236
|
+
else {
|
|
237
|
+
request = fetch(path).then(response => {
|
|
238
|
+
if (!response.ok) {
|
|
239
|
+
throw report(
|
|
240
|
+
new Error(
|
|
241
|
+
`Unable to load ${path}: HTTP ${response.status}`
|
|
242
|
+
),
|
|
243
|
+
path
|
|
244
|
+
);
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
return response.text();
|
|
248
|
+
});
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
else {
|
|
285
252
|
request = Promise.resolve(request);
|
|
286
253
|
}
|
|
287
254
|
|
|
288
255
|
return request
|
|
289
|
-
.then(
|
|
256
|
+
.then(source => {
|
|
290
257
|
if (path.endsWith(".css")) {
|
|
291
258
|
injectGlobal(String(source));
|
|
292
259
|
return;
|
|
@@ -297,18 +264,17 @@ export function require(path) {
|
|
|
297
264
|
isModule: true,
|
|
298
265
|
});
|
|
299
266
|
})
|
|
300
|
-
.then(
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
throw reportRuntimeError(error, path);
|
|
267
|
+
.then(result =>
|
|
268
|
+
result?.default ?? result
|
|
269
|
+
)
|
|
270
|
+
.catch(error => {
|
|
271
|
+
throw report(error, path);
|
|
306
272
|
});
|
|
307
273
|
}
|
|
308
274
|
|
|
309
275
|
const resolved = Lilact.resolver?.(path);
|
|
310
276
|
|
|
311
|
-
if (resolved
|
|
277
|
+
if (resolved != null) {
|
|
312
278
|
if (path.endsWith(".css")) {
|
|
313
279
|
injectGlobal(String(resolved));
|
|
314
280
|
return;
|
|
@@ -325,8 +291,8 @@ export function require(path) {
|
|
|
325
291
|
try {
|
|
326
292
|
request.open("GET", path, false);
|
|
327
293
|
request.send(null);
|
|
328
|
-
} catch (
|
|
329
|
-
throw
|
|
294
|
+
} catch (value) {
|
|
295
|
+
throw report(value, path);
|
|
330
296
|
}
|
|
331
297
|
|
|
332
298
|
if (request.status >= 200 && request.status < 300) {
|
|
@@ -341,16 +307,12 @@ export function require(path) {
|
|
|
341
307
|
});
|
|
342
308
|
}
|
|
343
309
|
|
|
344
|
-
|
|
345
|
-
`Unable to load ${path}: HTTP ${request.status || 0}`
|
|
310
|
+
throw report(
|
|
311
|
+
new Error(`Unable to load ${path}: HTTP ${request.status || 0}`),
|
|
312
|
+
path
|
|
346
313
|
);
|
|
347
|
-
error.fileName = path;
|
|
348
|
-
throw error;
|
|
349
314
|
}
|
|
350
315
|
|
|
351
|
-
/**
|
|
352
|
-
* Enables async, code-split component loading.
|
|
353
|
-
*/
|
|
354
316
|
export function lazy(factory) {
|
|
355
317
|
let status = "pending";
|
|
356
318
|
let result;
|
|
@@ -366,11 +328,11 @@ export function lazy(factory) {
|
|
|
366
328
|
|
|
367
329
|
if (Lilact.isThenable(result)) {
|
|
368
330
|
result.then(
|
|
369
|
-
|
|
331
|
+
value => {
|
|
370
332
|
status = "success";
|
|
371
|
-
result =
|
|
333
|
+
result = value;
|
|
372
334
|
},
|
|
373
|
-
|
|
335
|
+
error => {
|
|
374
336
|
status = "error";
|
|
375
337
|
result = error;
|
|
376
338
|
}
|
|
@@ -390,18 +352,18 @@ export function lazy(factory) {
|
|
|
390
352
|
return LazyComponent;
|
|
391
353
|
}
|
|
392
354
|
|
|
393
|
-
function
|
|
355
|
+
function scriptTags() {
|
|
394
356
|
return Array.from(
|
|
395
357
|
document.querySelectorAll('script[type="text/jsx"]')
|
|
396
|
-
).map(
|
|
358
|
+
).map(element => ({
|
|
397
359
|
src: element.getAttribute("src"),
|
|
398
360
|
content: element.textContent || "",
|
|
399
361
|
}));
|
|
400
362
|
}
|
|
401
363
|
|
|
402
|
-
export function runScripts() {
|
|
403
|
-
for (const script of
|
|
404
|
-
if (script.src) require(script.src);
|
|
364
|
+
export async function runScripts() {
|
|
365
|
+
for (const script of scriptTags()) {
|
|
366
|
+
if (script.src) await require(script.src);
|
|
405
367
|
if (script.content) run(script.content);
|
|
406
368
|
}
|
|
407
369
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html><html class="default" lang="en" data-base="../"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>mapLocation | Lilact</title><meta name="description" content="Documentation for Lilact"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script><script async src="../assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => window.app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><a href="../index.html" class="title">Lilact</a><div id="tsd-toolbar-links"></div><button id="tsd-search-trigger" class="tsd-widget" aria-label="Search"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></button><dialog id="tsd-search" aria-label="Search"><input role="combobox" id="tsd-search-input" aria-controls="tsd-search-results" aria-autocomplete="list" aria-expanded="true" autocapitalize="off" autocomplete="off" placeholder="Search the docs" maxLength="100"/><ul role="listbox" id="tsd-search-results"></ul><div id="tsd-search-status" aria-live="polite" aria-atomic="true"><div>Preparing search index...</div></div></dialog><a href="#" class="tsd-widget menu" id="tsd-toolbar-menu-trigger" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb" aria-label="Breadcrumb"><li><a href="../modules/errors.html">errors</a></li><li><a href="" aria-current="page">mapLocation</a></li></ul><h1>Function mapLocation</h1></div><section class="tsd-panel"><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="maplocation"><span class="tsd-kind-call-signature">mapLocation</span><span class="tsd-signature-symbol">(</span><br/> <span class="tsd-kind-parameter">mappings</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">,</span><br/> <span class="tsd-kind-parameter">generatedLine</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">,</span><br/> <span class="tsd-kind-parameter">generatedColumn</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">,</span><br/><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{</span> <span class="tsd-kind-property">col</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">;</span> <span class="tsd-kind-property">line</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">any</span> <span class="tsd-signature-symbol">}</span><a href="#maplocation" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">mappings</span>: <span class="tsd-signature-type">any</span></span></li><li><span><span class="tsd-kind-parameter">generatedLine</span>: <span class="tsd-signature-type">any</span></span></li><li><span><span class="tsd-kind-parameter">generatedColumn</span>: <span class="tsd-signature-type">any</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-symbol">{</span> <span class="tsd-kind-property">col</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">;</span> <span class="tsd-kind-property">line</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">any</span> <span class="tsd-signature-symbol">}</span></h4><aside class="tsd-sources"><ul><li>Defined in errors.jsx:180</li></ul></aside></div></li></ul></section></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h3>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html">Lilact</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
|