vite-plugin-react-server
Version:
Vite plugin for React Server Components (RSC)
25 lines (22 loc) • 3.46 kB
JavaScript
/**
* vite-plugin-react-server
* Copyright (c) Nico Brinkkemper
* MIT License
*/
import { isPanic, shouldPanic } from './shouldPanic.js';
function shouldCausePanic(error, options) {
return shouldPanic(error, options.panicThreshold, options.critical);
}
function handlePanicThreshold(error, options) {
if (shouldCausePanic(error, options)) {
const err = error instanceof Error ? error : new Error(String(error));
err[Symbol.for("vite-plugin-react-server.panic")] = true;
return err;
}
return null;
}
function isPanicError(error) {
return isPanic(error);
}
export { handlePanicThreshold, isPanicError, shouldCausePanic };
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFuaWNUaHJlc2hvbGRIYW5kbGVyLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi9wbHVnaW4vZXJyb3IvcGFuaWNUaHJlc2hvbGRIYW5kbGVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ2VudHJhbGl6ZWQgcGFuaWMgdGhyZXNob2xkIGhhbmRsaW5nIGxvZ2ljXG4gKiBcbiAqIFRoaXMgbW9kdWxlIHByb3ZpZGVzIGEgc2luZ2xlIHBsYWNlIHRvIGhhbmRsZSBwYW5pYyB0aHJlc2hvbGQgZGVjaXNpb25zXG4gKiBpbnN0ZWFkIG9mIHNjYXR0ZXJpbmcgdGhlIGxvZ2ljIGFjcm9zcyBtdWx0aXBsZSBmaWxlcy5cbiAqL1xuXG5pbXBvcnQgeyBzaG91bGRQYW5pYywgaXNQYW5pYyB9IGZyb20gXCIuL3Nob3VsZFBhbmljLmpzXCI7XG5pbXBvcnQgdHlwZSB7IFBhbmljVGhyZXNob2xkIH0gZnJvbSBcIi4uL3R5cGVzLmpzXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGFuaWNUaHJlc2hvbGRPcHRpb25zIHtcbiAgcGFuaWNUaHJlc2hvbGQ6IFBhbmljVGhyZXNob2xkO1xuICBjcml0aWNhbD86IGJvb2xlYW47XG4gIGxvZ2dlcj86IGFueTtcbiAgY29udGV4dD86IHN0cmluZztcbn1cblxuLyoqXG4gKiBEZXRlcm1pbmVzIGlmIGFuIGVycm9yIHNob3VsZCBjYXVzZSBhIHBhbmljIGJhc2VkIG9uIHBhbmljIHRocmVzaG9sZCBzZXR0aW5nc1xuICovXG5leHBvcnQgZnVuY3Rpb24gc2hvdWxkQ2F1c2VQYW5pYyhcbiAgZXJyb3I6IHVua25vd24sXG4gIG9wdGlvbnM6IFBhbmljVGhyZXNob2xkT3B0aW9uc1xuKTogYm9vbGVhbiB7XG4gIHJldHVybiBzaG91bGRQYW5pYyhlcnJvciwgb3B0aW9ucy5wYW5pY1RocmVzaG9sZCwgb3B0aW9ucy5jcml0aWNhbCk7XG59XG5cbi8qKlxuICogSGFuZGxlcyBhbiBlcnJvciBiYXNlZCBvbiBwYW5pYyB0aHJlc2hvbGQgc2V0dGluZ3NcbiAqIFJldHVybnMgdGhlIGVycm9yIGlmIGl0IHNob3VsZCBjYXVzZSBhIHBhbmljLCBudWxsIG90aGVyd2lzZVxuICovXG5leHBvcnQgZnVuY3Rpb24gaGFuZGxlUGFuaWNUaHJlc2hvbGQoXG4gIGVycm9yOiB1bmtub3duLFxuICBvcHRpb25zOiBQYW5pY1RocmVzaG9sZE9wdGlvbnNcbik6IEVycm9yIHwgbnVsbCB7XG4gIGlmIChzaG91bGRDYXVzZVBhbmljKGVycm9yLCBvcHRpb25zKSkge1xuICAgIC8vIE1hcmsgZXJyb3IgZm9yIHBhbmljIGFuZCByZXR1cm4gaXQgdG8gYmUgdGhyb3duXG4gICAgY29uc3QgZXJyID0gZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yIDogbmV3IEVycm9yKFN0cmluZyhlcnJvcikpO1xuICAgIChlcnIgYXMgYW55KVtTeW1ib2wuZm9yKCd2aXRlLXBsdWdpbi1yZWFjdC1zZXJ2ZXIucGFuaWMnKV0gPSB0cnVlO1xuICAgIHJldHVybiBlcnI7XG4gIH1cbiAgcmV0dXJuIG51bGw7XG59XG5cbi8qKlxuICogQ2hlY2tzIGlmIGFuIGVycm9yIGlzIGFscmVhZHkgbWFya2VkIGFzIGEgcGFuaWMgZXJyb3JcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzUGFuaWNFcnJvcihlcnJvcjogdW5rbm93bik6IGJvb2xlYW4ge1xuICByZXR1cm4gaXNQYW5pYyhlcnJvcik7XG59XG5cblxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFvQk8sU0FBUyxnQkFBQSxDQUNkLE9BQ0EsT0FDUyxFQUFBO0FBQ1QsRUFBQSxPQUFPLFdBQVksQ0FBQSxLQUFBLEVBQU8sT0FBUSxDQUFBLGNBQUEsRUFBZ0IsUUFBUSxRQUFRLENBQUE7QUFDcEU7QUFNTyxTQUFTLG9CQUFBLENBQ2QsT0FDQSxPQUNjLEVBQUE7QUFDZCxFQUFJLElBQUEsZ0JBQUEsQ0FBaUIsS0FBTyxFQUFBLE9BQU8sQ0FBRyxFQUFBO0FBRXBDLElBQU0sTUFBQSxHQUFBLEdBQU0saUJBQWlCLEtBQVEsR0FBQSxLQUFBLEdBQVEsSUFBSSxLQUFNLENBQUEsTUFBQSxDQUFPLEtBQUssQ0FBQyxDQUFBO0FBQ3BFLElBQUMsR0FBWSxDQUFBLE1BQUEsQ0FBTyxHQUFJLENBQUEsZ0NBQWdDLENBQUMsQ0FBSSxHQUFBLElBQUE7QUFDN0QsSUFBTyxPQUFBLEdBQUE7QUFBQTtBQUVULEVBQU8sT0FBQSxJQUFBO0FBQ1Q7QUFLTyxTQUFTLGFBQWEsS0FBeUIsRUFBQTtBQUNwRCxFQUFBLE9BQU8sUUFBUSxLQUFLLENBQUE7QUFDdEI7Ozs7In0=