fix: 修复关闭SSH终端标签页时会话状态未更新的问题

This commit is contained in:
2026-04-18 02:35:38 +08:00
commit 6e2e2f9387
43467 changed files with 5489040 additions and 0 deletions
@@ -0,0 +1,2 @@
declare const addClassDecoratorSupport: (Comp: any) => any;
export default addClassDecoratorSupport;
@@ -0,0 +1,10 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1 = require("tslib");
var wrapInStatefulComponent_1 = tslib_1.__importDefault(require("./wrapInStatefulComponent"));
var addClassDecoratorSupport = function (Comp) {
var isSFC = !Comp.prototype;
return !isSFC ? Comp : wrapInStatefulComponent_1.default(Comp);
};
exports.default = addClassDecoratorSupport;
//# sourceMappingURL=addClassDecoratorSupport.js.map
@@ -0,0 +1 @@
{"version":3,"file":"addClassDecoratorSupport.js","sourceRoot":"","sources":["../src/addClassDecoratorSupport.ts"],"names":[],"mappings":";;;AAAA,8FAAgE;AAEhE,IAAM,wBAAwB,GAAG,UAAC,IAAI;IAClC,IAAM,KAAK,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;IAC9B,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,iCAAuB,CAAC,IAAI,CAAC,CAAC;AACzD,CAAC,CAAC;AAEF,kBAAe,wBAAwB,CAAC"}
+4
View File
@@ -0,0 +1,4 @@
import * as React from 'react';
export declare const divWrapper: (Comp: any, propName: any, props: any, state: any) => any;
declare const createEnhancer: (Facc: any, prop?: string, wrapper?: (Comp: any, propName: any, props: any, state: any) => React.CElement<any, React.Component<any, any, any>>) => (Comp: any, propName?: any, faccProps?: object) => any;
export default createEnhancer;
+35
View File
@@ -0,0 +1,35 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.divWrapper = void 0;
var tslib_1 = require("tslib");
var React = tslib_1.__importStar(require("react"));
var addClassDecoratorSupport_1 = tslib_1.__importDefault(require("./addClassDecoratorSupport"));
var h = React.createElement;
var noWrap = function (Comp, propName, props, state) {
var _a;
return h(Comp, propName ? tslib_1.__assign((_a = {}, _a[propName] = state, _a), props) : tslib_1.__assign(tslib_1.__assign({}, state), props));
};
exports.divWrapper = function (Comp, propName, props, state) {
return h('div', null, noWrap(Comp, propName, props, state));
};
var createEnhancer = function (Facc, prop, wrapper) {
if (wrapper === void 0) { wrapper = noWrap; }
var enhancer = function (Comp, propName, faccProps) {
if (propName === void 0) { propName = prop; }
if (faccProps === void 0) { faccProps = null; }
var isClassDecoratorMethodCall = typeof Comp === 'string';
if (isClassDecoratorMethodCall) {
return function (Klass) { return enhancer(Klass, Comp || prop, propName); };
}
var Enhanced = function (props) {
return h(Facc, faccProps, function (state) { return wrapper(Comp, propName, props, state); });
};
if (process.env.NODE_ENV !== 'production') {
Enhanced.displayName = (Facc.displayName || Facc.name) + "(" + (Comp.displayName || Comp.name) + ")";
}
return isClassDecoratorMethodCall ? addClassDecoratorSupport_1.default(Enhanced) : Enhanced;
};
return enhancer;
};
exports.default = createEnhancer;
//# sourceMappingURL=createEnhancer.js.map
+1
View File
@@ -0,0 +1 @@
{"version":3,"file":"createEnhancer.js","sourceRoot":"","sources":["../src/createEnhancer.ts"],"names":[],"mappings":";;;;AAAA,mDAA+B;AAC/B,gGAAkE;AAElE,IAAM,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC;AAE9B,IAAM,MAAM,GAAG,UAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK;;IAAK,OAAA,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,+BAC/D,QAAQ,IAAG,KAAK,OAAK,KAAK,EAAE,CAAC,uCAC3B,KAAK,GAAK,KAAK,CAAC,CACrB;AAHgD,CAGhD,CAAC;AAEW,QAAA,UAAU,GAAG,UAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK;IACrD,OAAA,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,CAAQ;AAA3D,CAA2D,CAAC;AAE9D,IAAM,cAAc,GAAG,UAAC,IAAI,EAAE,IAAa,EAAE,OAAgB;IAAhB,wBAAA,EAAA,gBAAgB;IACzD,IAAM,QAAQ,GAAG,UAAC,IAAI,EAAE,QAAoB,EAAE,SAAwB;QAA9C,yBAAA,EAAA,eAAoB;QAAE,0BAAA,EAAA,gBAAwB;QAClE,IAAM,0BAA0B,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC;QAE5D,IAAI,0BAA0B,EAAE;YAC5B,OAAO,UAAC,KAAK,IAAK,OAAA,QAAQ,CAAC,KAAK,EAAE,IAAW,IAAI,IAAI,EAAE,QAAe,CAAC,EAArD,CAAqD,CAAC;SAC3E;QAED,IAAM,QAAQ,GAAG,UAAC,KAAK;YACnB,OAAA,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,UAAC,KAAK,IAAK,OAAA,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,EAArC,CAAqC,CAAC;QAApE,CAAoE,CAAC;QAEzE,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE;YACtC,QAAgB,CAAC,WAAW,GAAG,CAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,IAAI,WAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,IAAI,OAAG,CAAC;SACxG;QAED,OAAO,0BAA0B,CAAC,CAAC,CAAC,kCAAwB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IACtF,CAAC,CAAC;IAEF,OAAO,QAAQ,CAAC;AACpB,CAAC,CAAA;AAED,kBAAe,cAAc,CAAC"}
+5
View File
@@ -0,0 +1,5 @@
import { FC } from 'react';
export declare type MapPropsToArgs<Props extends {}, Args extends any[]> = (props: Props) => Args;
export declare type CreateRenderProp = <Props extends {}, Args extends any[], State extends any>(hook: (...args: Args) => State, mapPropsToArgs?: MapPropsToArgs<Props, Args>) => FC<Props>;
declare const hookToRenderProp: CreateRenderProp;
export default hookToRenderProp;
+11
View File
@@ -0,0 +1,11 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1 = require("tslib");
var render_1 = tslib_1.__importDefault(require("./render"));
var defaultMapPropsToArgs = function (props) { return [props]; };
var hookToRenderProp = function (hook, mapPropsToArgs) {
if (mapPropsToArgs === void 0) { mapPropsToArgs = defaultMapPropsToArgs; }
return function (props) { return render_1.default(props, hook.apply(void 0, mapPropsToArgs(props))); };
};
exports.default = hookToRenderProp;
//# sourceMappingURL=hookToRenderProp.js.map
@@ -0,0 +1 @@
{"version":3,"file":"hookToRenderProp.js","sourceRoot":"","sources":["../src/hookToRenderProp.ts"],"names":[],"mappings":";;;AACA,4DAA8B;AAK9B,IAAM,qBAAqB,GAAG,UAAA,KAAK,IAAI,OAAA,CAAC,KAAK,CAAC,EAAP,CAAO,CAAC;AAE/C,IAAM,gBAAgB,GAAqB,UAAC,IAAI,EAAE,cAA6C;IAA7C,+BAAA,EAAA,iBAAiB,qBAA4B;IAC3F,OAAA,UAAA,KAAK,IAAI,OAAA,gBAAM,CAAC,KAAK,EAAE,IAAI,eAAI,cAAc,CAAC,KAAK,CAAC,EAAE,EAA7C,CAA6C;AAAtD,CAAsD,CAAC;AAE3D,kBAAe,gBAAgB,CAAC"}
+11
View File
@@ -0,0 +1,11 @@
/// <reference types="react" />
import render from './render';
import createEnhancer from './createEnhancer';
import hookToRenderProp from './hookToRenderProp';
export interface UniversalProps<Data> {
children?: ((data: Data) => React.ReactNode) | React.ReactNode;
render?: (data: Data) => React.ReactNode;
comp?: React.ComponentType<Data & any>;
component?: React.ComponentType<Data & any>;
}
export { render, createEnhancer, hookToRenderProp, };
+11
View File
@@ -0,0 +1,11 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.hookToRenderProp = exports.createEnhancer = exports.render = void 0;
var tslib_1 = require("tslib");
var render_1 = tslib_1.__importDefault(require("./render"));
exports.render = render_1.default;
var createEnhancer_1 = tslib_1.__importDefault(require("./createEnhancer"));
exports.createEnhancer = createEnhancer_1.default;
var hookToRenderProp_1 = tslib_1.__importDefault(require("./hookToRenderProp"));
exports.hookToRenderProp = hookToRenderProp_1.default;
//# sourceMappingURL=index.js.map
+1
View File
@@ -0,0 +1 @@
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;AAAA,4DAA8B;AAY1B,iBAZG,gBAAM,CAYH;AAXV,4EAA8C;AAY1C,yBAZG,wBAAc,CAYH;AAXlB,gFAAkD;AAY9C,2BAZG,0BAAgB,CAYH"}
+2
View File
@@ -0,0 +1,2 @@
declare const render: (props: any, data: any, ...more: any[]) => any;
export default render;
+56
View File
@@ -0,0 +1,56 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1 = require("tslib");
var react_1 = require("react");
var isReact16Plus = parseInt(react_1.version.substr(0, react_1.version.indexOf('.'))) > 15;
var isFn = function (fn) { return typeof fn === 'function'; };
var render = function (props, data) {
var more = [];
for (var _i = 2; _i < arguments.length; _i++) {
more[_i - 2] = arguments[_i];
}
if (process.env.NODE_ENV !== 'production') {
if (typeof props !== 'object') {
throw new TypeError('renderChildren(props, data) first argument must be a props object.');
}
var children_1 = props.children, render_1 = props.render;
if (isFn(children_1) && isFn(render_1)) {
console.warn('Both "render" and "children" are specified for in a universal interface component. ' +
'Children will be used.');
console.trace();
}
if (typeof data !== 'object') {
console.warn('Universal component interface normally expects data to be an object, ' +
("\"" + typeof data + "\" received."));
console.trace();
}
}
var render = props.render, _a = props.children, children = _a === void 0 ? render : _a, component = props.component, _b = props.comp, comp = _b === void 0 ? component : _b;
if (isFn(children))
return children.apply(void 0, tslib_1.__spreadArrays([data], more));
if (comp) {
return react_1.createElement(comp, data);
}
if (children instanceof Array)
return isReact16Plus ? children : react_1.createElement.apply(void 0, tslib_1.__spreadArrays(['div', null], children));
if (children && (children instanceof Object)) {
if (process.env.NODE_ENV !== 'production') {
if (!children.type || ((typeof children.type !== 'string') && (typeof children.type !== 'function') && (typeof children.type !== 'symbol'))) {
console.warn('Universal component interface received object as children, ' +
'expected React element, but received unexpected React "type".');
console.trace();
}
if (typeof children.type === 'string')
return children;
return react_1.cloneElement(children, Object.assign({}, children.props, data));
}
else {
if (typeof children.type === 'string')
return children;
return react_1.cloneElement(children, Object.assign({}, children.props, data));
}
}
return children || null;
};
exports.default = render;
//# sourceMappingURL=render.js.map
+1
View File
@@ -0,0 +1 @@
{"version":3,"file":"render.js","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,55 @@
import * as React from 'react';
declare const wrapInStatefulComponent: (Comp: any) => {
new (props: Readonly<any>): {
render(): any;
context: any;
setState<K extends string | number | symbol>(state: any, callback?: () => void): void;
forceUpdate(callback?: () => void): void;
readonly props: Readonly<any> & Readonly<{
children?: React.ReactNode;
}>;
state: Readonly<any>;
refs: {
[key: string]: React.ReactInstance;
};
componentDidMount?(): void;
shouldComponentUpdate?(nextProps: Readonly<any>, nextState: Readonly<any>, nextContext: any): boolean;
componentWillUnmount?(): void;
componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
getSnapshotBeforeUpdate?(prevProps: Readonly<any>, prevState: Readonly<any>): any;
componentDidUpdate?(prevProps: Readonly<any>, prevState: Readonly<any>, snapshot?: any): void;
componentWillMount?(): void;
UNSAFE_componentWillMount?(): void;
componentWillReceiveProps?(nextProps: Readonly<any>, nextContext: any): void;
UNSAFE_componentWillReceiveProps?(nextProps: Readonly<any>, nextContext: any): void;
componentWillUpdate?(nextProps: Readonly<any>, nextState: Readonly<any>, nextContext: any): void;
UNSAFE_componentWillUpdate?(nextProps: Readonly<any>, nextState: Readonly<any>, nextContext: any): void;
};
new (props: any, context?: any): {
render(): any;
context: any;
setState<K extends string | number | symbol>(state: any, callback?: () => void): void;
forceUpdate(callback?: () => void): void;
readonly props: Readonly<any> & Readonly<{
children?: React.ReactNode;
}>;
state: Readonly<any>;
refs: {
[key: string]: React.ReactInstance;
};
componentDidMount?(): void;
shouldComponentUpdate?(nextProps: Readonly<any>, nextState: Readonly<any>, nextContext: any): boolean;
componentWillUnmount?(): void;
componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
getSnapshotBeforeUpdate?(prevProps: Readonly<any>, prevState: Readonly<any>): any;
componentDidUpdate?(prevProps: Readonly<any>, prevState: Readonly<any>, snapshot?: any): void;
componentWillMount?(): void;
UNSAFE_componentWillMount?(): void;
componentWillReceiveProps?(nextProps: Readonly<any>, nextContext: any): void;
UNSAFE_componentWillReceiveProps?(nextProps: Readonly<any>, nextContext: any): void;
componentWillUpdate?(nextProps: Readonly<any>, nextState: Readonly<any>, nextContext: any): void;
UNSAFE_componentWillUpdate?(nextProps: Readonly<any>, nextState: Readonly<any>, nextContext: any): void;
};
contextType?: React.Context<any>;
};
export default wrapInStatefulComponent;
@@ -0,0 +1,22 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1 = require("tslib");
var React = tslib_1.__importStar(require("react"));
var wrapInStatefulComponent = function (Comp) {
var Decorated = (function (_super) {
tslib_1.__extends(class_1, _super);
function class_1() {
return _super !== null && _super.apply(this, arguments) || this;
}
class_1.prototype.render = function () {
return Comp(this.props, this.context);
};
return class_1;
}(React.Component));
if (process.env.NODE_ENV !== 'production') {
Decorated.displayName = "Decorated(" + (Comp.displayName || Comp.name) + ")";
}
return Decorated;
};
exports.default = wrapInStatefulComponent;
//# sourceMappingURL=wrapInStatefulComponent.js.map
@@ -0,0 +1 @@
{"version":3,"file":"wrapInStatefulComponent.js","sourceRoot":"","sources":["../src/wrapInStatefulComponent.ts"],"names":[],"mappings":";;;AAAA,mDAA+B;AAE/B,IAAM,uBAAuB,GAAG,UAAC,IAAI;IACjC,IAAM,SAAS;QAAiB,mCAAyB;QAAvC;;QAIlB,CAAC;QAHG,wBAAM,GAAN;YACI,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAC1C,CAAC;QACL,cAAC;IAAD,CAAC,AAJiB,CAAc,KAAK,CAAC,SAAS,EAI9C,CAAC;IAEF,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE;QACtC,SAAiB,CAAC,WAAW,GAAG,gBAAa,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,IAAI,OAAG,CAAC;KAClF;IAED,OAAO,SAAS,CAAC;AACrB,CAAC,CAAC;AAEF,kBAAe,uBAAuB,CAAC"}