修改后台权限
This commit is contained in:
205
node_modules/@mswjs/interceptors/lib/browser/createRequestId-Cs4oXfa1.cjs
generated
vendored
Normal file
205
node_modules/@mswjs/interceptors/lib/browser/createRequestId-Cs4oXfa1.cjs
generated
vendored
Normal file
@@ -0,0 +1,205 @@
|
||||
let _open_draft_logger = require("@open-draft/logger");
|
||||
let strict_event_emitter = require("strict-event-emitter");
|
||||
|
||||
//#region src/Interceptor.ts
|
||||
/**
|
||||
* Request header name to detect when a single request
|
||||
* is being handled by nested interceptors (XHR -> ClientRequest).
|
||||
* Obscure by design to prevent collisions with user-defined headers.
|
||||
* Ideally, come up with the Interceptor-level mechanism for this.
|
||||
* @see https://github.com/mswjs/interceptors/issues/378
|
||||
*/
|
||||
const INTERNAL_REQUEST_ID_HEADER_NAME = "x-interceptors-internal-request-id";
|
||||
function getGlobalSymbol(symbol) {
|
||||
return globalThis[symbol] || void 0;
|
||||
}
|
||||
function setGlobalSymbol(symbol, value) {
|
||||
globalThis[symbol] = value;
|
||||
}
|
||||
function deleteGlobalSymbol(symbol) {
|
||||
delete globalThis[symbol];
|
||||
}
|
||||
let InterceptorReadyState = /* @__PURE__ */ function(InterceptorReadyState$1) {
|
||||
InterceptorReadyState$1["INACTIVE"] = "INACTIVE";
|
||||
InterceptorReadyState$1["APPLYING"] = "APPLYING";
|
||||
InterceptorReadyState$1["APPLIED"] = "APPLIED";
|
||||
InterceptorReadyState$1["DISPOSING"] = "DISPOSING";
|
||||
InterceptorReadyState$1["DISPOSED"] = "DISPOSED";
|
||||
return InterceptorReadyState$1;
|
||||
}({});
|
||||
var Interceptor = class {
|
||||
constructor(symbol) {
|
||||
this.symbol = symbol;
|
||||
this.readyState = InterceptorReadyState.INACTIVE;
|
||||
this.emitter = new strict_event_emitter.Emitter();
|
||||
this.subscriptions = [];
|
||||
this.logger = new _open_draft_logger.Logger(symbol.description);
|
||||
this.emitter.setMaxListeners(0);
|
||||
this.logger.info("constructing the interceptor...");
|
||||
}
|
||||
/**
|
||||
* Determine if this interceptor can be applied
|
||||
* in the current environment.
|
||||
*/
|
||||
checkEnvironment() {
|
||||
return true;
|
||||
}
|
||||
/**
|
||||
* Apply this interceptor to the current process.
|
||||
* Returns an already running interceptor instance if it's present.
|
||||
*/
|
||||
apply() {
|
||||
const logger = this.logger.extend("apply");
|
||||
logger.info("applying the interceptor...");
|
||||
if (this.readyState === InterceptorReadyState.APPLIED) {
|
||||
logger.info("intercepted already applied!");
|
||||
return;
|
||||
}
|
||||
if (!this.checkEnvironment()) {
|
||||
logger.info("the interceptor cannot be applied in this environment!");
|
||||
return;
|
||||
}
|
||||
this.readyState = InterceptorReadyState.APPLYING;
|
||||
const runningInstance = this.getInstance();
|
||||
if (runningInstance) {
|
||||
logger.info("found a running instance, reusing...");
|
||||
this.on = (event, listener) => {
|
||||
logger.info("proxying the \"%s\" listener", event);
|
||||
runningInstance.emitter.addListener(event, listener);
|
||||
this.subscriptions.push(() => {
|
||||
runningInstance.emitter.removeListener(event, listener);
|
||||
logger.info("removed proxied \"%s\" listener!", event);
|
||||
});
|
||||
return this;
|
||||
};
|
||||
this.readyState = InterceptorReadyState.APPLIED;
|
||||
return;
|
||||
}
|
||||
logger.info("no running instance found, setting up a new instance...");
|
||||
this.setup();
|
||||
this.setInstance();
|
||||
this.readyState = InterceptorReadyState.APPLIED;
|
||||
}
|
||||
/**
|
||||
* Setup the module augments and stubs necessary for this interceptor.
|
||||
* This method is not run if there's a running interceptor instance
|
||||
* to prevent instantiating an interceptor multiple times.
|
||||
*/
|
||||
setup() {}
|
||||
/**
|
||||
* Listen to the interceptor's public events.
|
||||
*/
|
||||
on(event, listener) {
|
||||
const logger = this.logger.extend("on");
|
||||
if (this.readyState === InterceptorReadyState.DISPOSING || this.readyState === InterceptorReadyState.DISPOSED) {
|
||||
logger.info("cannot listen to events, already disposed!");
|
||||
return this;
|
||||
}
|
||||
logger.info("adding \"%s\" event listener:", event, listener);
|
||||
this.emitter.on(event, listener);
|
||||
return this;
|
||||
}
|
||||
once(event, listener) {
|
||||
this.emitter.once(event, listener);
|
||||
return this;
|
||||
}
|
||||
off(event, listener) {
|
||||
this.emitter.off(event, listener);
|
||||
return this;
|
||||
}
|
||||
removeAllListeners(event) {
|
||||
this.emitter.removeAllListeners(event);
|
||||
return this;
|
||||
}
|
||||
/**
|
||||
* Disposes of any side-effects this interceptor has introduced.
|
||||
*/
|
||||
dispose() {
|
||||
const logger = this.logger.extend("dispose");
|
||||
if (this.readyState === InterceptorReadyState.DISPOSED) {
|
||||
logger.info("cannot dispose, already disposed!");
|
||||
return;
|
||||
}
|
||||
logger.info("disposing the interceptor...");
|
||||
this.readyState = InterceptorReadyState.DISPOSING;
|
||||
if (!this.getInstance()) {
|
||||
logger.info("no interceptors running, skipping dispose...");
|
||||
return;
|
||||
}
|
||||
this.clearInstance();
|
||||
logger.info("global symbol deleted:", getGlobalSymbol(this.symbol));
|
||||
if (this.subscriptions.length > 0) {
|
||||
logger.info("disposing of %d subscriptions...", this.subscriptions.length);
|
||||
for (const dispose of this.subscriptions) dispose();
|
||||
this.subscriptions = [];
|
||||
logger.info("disposed of all subscriptions!", this.subscriptions.length);
|
||||
}
|
||||
this.emitter.removeAllListeners();
|
||||
logger.info("destroyed the listener!");
|
||||
this.readyState = InterceptorReadyState.DISPOSED;
|
||||
}
|
||||
getInstance() {
|
||||
const instance = getGlobalSymbol(this.symbol);
|
||||
this.logger.info("retrieved global instance:", instance?.constructor?.name);
|
||||
return instance;
|
||||
}
|
||||
setInstance() {
|
||||
setGlobalSymbol(this.symbol, this);
|
||||
this.logger.info("set global instance!", this.symbol.description);
|
||||
}
|
||||
clearInstance() {
|
||||
deleteGlobalSymbol(this.symbol);
|
||||
this.logger.info("cleared global instance!", this.symbol.description);
|
||||
}
|
||||
};
|
||||
|
||||
//#endregion
|
||||
//#region src/createRequestId.ts
|
||||
/**
|
||||
* Generate a random ID string to represent a request.
|
||||
* @example
|
||||
* createRequestId()
|
||||
* // "f774b6c9c600f"
|
||||
*/
|
||||
function createRequestId() {
|
||||
return Math.random().toString(16).slice(2);
|
||||
}
|
||||
|
||||
//#endregion
|
||||
Object.defineProperty(exports, 'INTERNAL_REQUEST_ID_HEADER_NAME', {
|
||||
enumerable: true,
|
||||
get: function () {
|
||||
return INTERNAL_REQUEST_ID_HEADER_NAME;
|
||||
}
|
||||
});
|
||||
Object.defineProperty(exports, 'Interceptor', {
|
||||
enumerable: true,
|
||||
get: function () {
|
||||
return Interceptor;
|
||||
}
|
||||
});
|
||||
Object.defineProperty(exports, 'InterceptorReadyState', {
|
||||
enumerable: true,
|
||||
get: function () {
|
||||
return InterceptorReadyState;
|
||||
}
|
||||
});
|
||||
Object.defineProperty(exports, 'createRequestId', {
|
||||
enumerable: true,
|
||||
get: function () {
|
||||
return createRequestId;
|
||||
}
|
||||
});
|
||||
Object.defineProperty(exports, 'deleteGlobalSymbol', {
|
||||
enumerable: true,
|
||||
get: function () {
|
||||
return deleteGlobalSymbol;
|
||||
}
|
||||
});
|
||||
Object.defineProperty(exports, 'getGlobalSymbol', {
|
||||
enumerable: true,
|
||||
get: function () {
|
||||
return getGlobalSymbol;
|
||||
}
|
||||
});
|
||||
//# sourceMappingURL=createRequestId-Cs4oXfa1.cjs.map
|
||||
Reference in New Issue
Block a user