Files
alfresco-ng2-components/lib/js-api/test/jest-jsdom-fetch-environment.ts
Bartosz Sekula 3f232e75bc AAE-48934 Eslint v9 migration (#12110)
* update

* update

* update

* working

* cr

* cr

* update

* use nx boundaries

* fixes

* fixes

* fixes

* cr

* cr

* update

* update

* update

* cr

* fix null

* cr

* cr

* cr

* cr

* cr

* update

* update

* update

* update

* update

* remove some duplications

* fix units
2026-08-03 12:12:48 +02:00

73 lines
2.1 KiB
TypeScript

/*!
* @license
* Copyright © 2005-2026 Hyland Software, Inc. and its affiliates. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/* eslint-disable @typescript-eslint/no-var-requires */
import { TextEncoder, TextDecoder } from 'util';
const { TestEnvironment } = require('jest-environment-jsdom');
const nodeGlobals = [
'TextEncoder',
'TextDecoder',
'ReadableStream',
'WritableStream',
'TransformStream',
'structuredClone',
'BroadcastChannel',
'MessagePort',
'MessageChannel',
'Blob',
'File',
'FormData',
'EventTarget',
'Event',
'AbortController',
'AbortSignal'
];
class JSDOMFetchEnvironment extends TestEnvironment {
constructor(config: any, context: any) {
super(config, context);
if (!this.global.TextEncoder) {
this.global.TextEncoder = TextEncoder;
}
if (!this.global.TextDecoder) {
this.global.TextDecoder = TextDecoder as any;
}
try {
const streams = require('stream/web');
for (const name of ['ReadableStream', 'WritableStream', 'TransformStream']) {
if (!this.global[name] && streams[name]) {
this.global[name] = streams[name];
}
}
} catch {
/* stream/web not available */
}
for (const name of nodeGlobals) {
if (!this.global[name] && (globalThis as any)[name]) {
this.global[name] = (globalThis as any)[name];
}
}
}
}
module.exports = JSDOMFetchEnvironment;