| 1234567891011121314151617181920212223242526272829303132333435363738394041 |
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.computedVueSfc = void 0;
- const computeds_1 = require("computeds");
- function computedVueSfc(plugins, fileName, snapshot) {
- let cache;
- return (0, computeds_1.computed)(() => {
- // incremental update
- if (cache?.plugin.updateSFC) {
- const change = snapshot().getChangeRange(cache.snapshot);
- if (change) {
- const newSfc = cache.plugin.updateSFC(cache.sfc, {
- start: change.span.start,
- end: change.span.start + change.span.length,
- newText: snapshot().getText(change.span.start, change.span.start + change.newLength),
- });
- if (newSfc) {
- cache.snapshot = snapshot();
- // force dirty
- cache.sfc = JSON.parse(JSON.stringify(newSfc));
- return cache.sfc;
- }
- }
- }
- for (const plugin of plugins) {
- const sfc = plugin.parseSFC?.(fileName, snapshot().getText(0, snapshot().getLength()));
- if (sfc) {
- if (!sfc.errors.length) {
- cache = {
- snapshot: snapshot(),
- sfc,
- plugin,
- };
- }
- return sfc;
- }
- }
- });
- }
- exports.computedVueSfc = computedVueSfc;
- //# sourceMappingURL=computedVueSfc.js.map
|