Convert `api.ts`, `api-implementation.ts` and `frames.ts` to ES6 modules (#5283)

This fixes ESLint errors in these files.

Set the `resolveJsonModule` setting, so that TypeScript can recognize the
`package.json` import.
main
Roman Donchenko 3 years ago committed by GitHub
parent 5dd7eff97a
commit c86746c785
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -3,31 +3,30 @@
// //
// SPDX-License-Identifier: MIT // SPDX-License-Identifier: MIT
const config = require('./config').default; import config from './config';
(() => { import PluginRegistry from './plugins';
const PluginRegistry = require('./plugins').default; import serverProxy from './server-proxy';
const serverProxy = require('./server-proxy').default; import lambdaManager from './lambda-manager';
const lambdaManager = require('./lambda-manager').default; import {
const {
isBoolean, isBoolean,
isInteger, isInteger,
isString, isString,
checkFilter, checkFilter,
checkExclusiveFields, checkExclusiveFields,
checkObjectType, checkObjectType,
} = require('./common'); } from './common';
const User = require('./user').default; import User from './user';
const { AnnotationFormats } = require('./annotation-formats'); import { AnnotationFormats } from './annotation-formats';
const { ArgumentError } = require('./exceptions'); import { ArgumentError } from './exceptions';
const { Task, Job } = require('./session'); import { Task, Job } from './session';
const Project = require('./project').default; import Project from './project';
const CloudStorage = require('./cloud-storage').default; import CloudStorage from './cloud-storage';
const Organization = require('./organization').default; import Organization from './organization';
const Webhook = require('./webhook').default; import Webhook from './webhook';
function implementAPI(cvat) { export default function implementAPI(cvat) {
cvat.plugins.list.implementation = PluginRegistry.list; cvat.plugins.list.implementation = PluginRegistry.list;
cvat.plugins.register.implementation = PluginRegistry.register.bind(cvat); cvat.plugins.register.implementation = PluginRegistry.register.bind(cvat);
@ -326,6 +325,3 @@ const config = require('./config').default;
return cvat; return cvat;
} }
module.exports = implementAPI;
})();

@ -8,34 +8,36 @@
* @module API * @module API
*/ */
function build() { import PluginRegistry from './plugins';
const PluginRegistry = require('./plugins').default; import loggerStorage from './logger-storage';
const loggerStorage = require('./logger-storage').default; import { Log } from './log';
const { Log } = require('./log'); import ObjectState from './object-state';
const ObjectState = require('./object-state').default; import Statistics from './statistics';
const Statistics = require('./statistics').default; import Comment from './comment';
const Comment = require('./comment').default; import Issue from './issue';
const Issue = require('./issue').default; import { Job, Task } from './session';
const { Job, Task } = require('./session'); import Project from './project';
const Project = require('./project').default; import implementProject from './project-implementation';
const implementProject = require('./project-implementation').default; import { Attribute, Label } from './labels';
const { Attribute, Label } = require('./labels'); import MLModel from './ml-model';
const MLModel = require('./ml-model').default; import { FrameData } from './frames';
const { FrameData } = require('./frames'); import CloudStorage from './cloud-storage';
const CloudStorage = require('./cloud-storage').default; import Organization from './organization';
const Organization = require('./organization').default; import Webhook from './webhook';
const Webhook = require('./webhook').default;
const enums = require('./enums'); import * as enums from './enums';
const { import {
Exception, ArgumentError, DataError, ScriptingError, PluginError, ServerError, Exception, ArgumentError, DataError, ScriptingError, PluginError, ServerError,
} = require('./exceptions'); } from './exceptions';
import User from './user';
import pjson from '../package.json';
import config from './config';
const User = require('./user').default; import implementAPI from './api-implementation';
const pjson = require('../package.json');
const config = require('./config').default;
function build() {
/** /**
* API entrypoint * API entrypoint
* @namespace cvat * @namespace cvat
@ -925,9 +927,8 @@ function build() {
cvat.cloudStorages = Object.freeze(cvat.cloudStorages); cvat.cloudStorages = Object.freeze(cvat.cloudStorages);
cvat.organizations = Object.freeze(cvat.organizations); cvat.organizations = Object.freeze(cvat.organizations);
const implementAPI = require('./api-implementation');
const implemented = Object.freeze(implementAPI(cvat)); const implemented = Object.freeze(implementAPI(cvat));
return implemented; return implemented;
} }
module.exports = build(); export default build();

@ -3,12 +3,11 @@
// //
// SPDX-License-Identifier: MIT // SPDX-License-Identifier: MIT
(() => { import * as cvatData from 'cvat-data';
const cvatData = require('cvat-data'); import { isBrowser, isNode } from 'browser-or-node';
const PluginRegistry = require('./plugins').default; import PluginRegistry from './plugins';
const serverProxy = require('./server-proxy').default; import serverProxy from './server-proxy';
const { isBrowser, isNode } = require('browser-or-node'); import { Exception, ArgumentError, DataError } from './exceptions';
const { Exception, ArgumentError, DataError } = require('./exceptions');
// This is the frames storage // This is the frames storage
const frameDataCache = {}; const frameDataCache = {};
@ -18,7 +17,7 @@
* @memberof module:API.cvat.classes * @memberof module:API.cvat.classes
* @hideconstructor * @hideconstructor
*/ */
class FrameData { export class FrameData {
constructor({ constructor({
width, width,
height, height,
@ -652,7 +651,7 @@
}); });
} }
async function getContextImage(jobID, frame) { export async function getContextImage(jobID, frame) {
if (frameDataCache[jobID].frameBuffer.isContextImageAvailable(frame)) { if (frameDataCache[jobID].frameBuffer.isContextImageAvailable(frame)) {
return frameDataCache[jobID].frameBuffer.getContextImage(frame); return frameDataCache[jobID].frameBuffer.getContextImage(frame);
} }
@ -661,7 +660,7 @@
return frameDataCache[jobID].frameBuffer.getContextImage(frame); return frameDataCache[jobID].frameBuffer.getContextImage(frame);
} }
async function getPreview(taskID = null, jobID = null) { export async function getPreview(taskID = null, jobID = null) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
// Just go to server and get preview (no any cache) // Just go to server and get preview (no any cache)
serverProxy.frames serverProxy.frames
@ -684,7 +683,7 @@
}); });
} }
async function getFrame( export async function getFrame(
jobID, jobID,
chunkSize, chunkSize,
chunkType, chunkType,
@ -741,7 +740,7 @@
return frameDataCache[jobID].frameBuffer.require(frame, jobID, isPlaying, step); return frameDataCache[jobID].frameBuffer.require(frame, jobID, isPlaying, step);
} }
async function getDeletedFrames(instanceType, id) { export async function getDeletedFrames(instanceType, id) {
if (instanceType === 'job') { if (instanceType === 'job') {
const { meta } = frameDataCache[id]; const { meta } = frameDataCache[id];
return meta.deleted_frames; return meta.deleted_frames;
@ -756,19 +755,19 @@
throw new Exception(`getDeletedFrames is not implemented for ${instanceType}`); throw new Exception(`getDeletedFrames is not implemented for ${instanceType}`);
} }
function deleteFrame(jobID, frame) { export function deleteFrame(jobID, frame) {
const { meta } = frameDataCache[jobID]; const { meta } = frameDataCache[jobID];
meta.deleted_frames[frame] = true; meta.deleted_frames[frame] = true;
} }
function restoreFrame(jobID, frame) { export function restoreFrame(jobID, frame) {
const { meta } = frameDataCache[jobID]; const { meta } = frameDataCache[jobID];
if (frame in meta.deleted_frames) { if (frame in meta.deleted_frames) {
delete meta.deleted_frames[frame]; delete meta.deleted_frames[frame];
} }
} }
async function patchMeta(jobID) { export async function patchMeta(jobID) {
const { meta } = frameDataCache[jobID]; const { meta } = frameDataCache[jobID];
const newMeta = await serverProxy.frames.saveMeta('job', jobID, { const newMeta = await serverProxy.frames.saveMeta('job', jobID, {
deleted_frames: Object.keys(meta.deleted_frames), deleted_frames: Object.keys(meta.deleted_frames),
@ -787,7 +786,7 @@
frameDataCache[jobID].meta.deleted_frames = prevDeletedFrames; frameDataCache[jobID].meta.deleted_frames = prevDeletedFrames;
} }
async function findNotDeletedFrame(jobID, frameFrom, frameTo, offset) { export async function findNotDeletedFrame(jobID, frameFrom, frameTo, offset) {
let meta; let meta;
if (!frameDataCache[jobID]) { if (!frameDataCache[jobID]) {
meta = await serverProxy.frames.getMeta('job', jobID); meta = await serverProxy.frames.getMeta('job', jobID);
@ -812,7 +811,7 @@
return lastUndeletedFrame; return lastUndeletedFrame;
} }
function getRanges(jobID) { export function getRanges(jobID) {
if (!(jobID in frameDataCache)) { if (!(jobID in frameDataCache)) {
return { return {
decoded: [], decoded: [],
@ -826,24 +825,9 @@
}; };
} }
function clear(jobID) { export function clear(jobID) {
if (jobID in frameDataCache) { if (jobID in frameDataCache) {
frameDataCache[jobID].frameBuffer.clear(); frameDataCache[jobID].frameBuffer.clear();
delete frameDataCache[jobID]; delete frameDataCache[jobID];
} }
} }
module.exports = {
FrameData,
getFrame,
getDeletedFrames,
deleteFrame,
restoreFrame,
patchMeta,
getRanges,
getPreview,
clear,
findNotDeletedFrame,
getContextImage,
};
})();

@ -13,7 +13,7 @@ jest.mock('../../src/server-proxy', () => {
}); });
// Initialize api // Initialize api
window.cvat = require('../../src/api'); window.cvat = require('../../src/api').default;
const serverProxy = require('../../src/server-proxy').default; const serverProxy = require('../../src/server-proxy').default;
// Test cases // Test cases

@ -12,7 +12,7 @@ jest.mock('../../src/server-proxy', () => {
}); });
// Initialize api // Initialize api
window.cvat = require('../../src/api'); window.cvat = require('../../src/api').default;
const CloudStorage= require('../../src/cloud-storage').default; const CloudStorage= require('../../src/cloud-storage').default;
const { cloudStoragesDummyData } = require('../mocks/dummy-data.mock'); const { cloudStoragesDummyData } = require('../mocks/dummy-data.mock');

@ -12,7 +12,7 @@ jest.mock('../../src/server-proxy', () => {
}); });
// Initialize api // Initialize api
window.cvat = require('../../src/api'); window.cvat = require('../../src/api').default;
const { FrameData } = require('../../src/frames'); const { FrameData } = require('../../src/frames');

@ -12,7 +12,7 @@ jest.mock('../../src/server-proxy', () => {
}); });
// Initialize api // Initialize api
window.cvat = require('../../src/api'); window.cvat = require('../../src/api').default;
const { Job } = require('../../src/session'); const { Job } = require('../../src/session');

@ -12,7 +12,7 @@ jest.mock('../../src/server-proxy', () => {
}); });
// Initialize api // Initialize api
window.cvat = require('../../src/api'); window.cvat = require('../../src/api').default;
describe('Feature: set attributes for an object state', () => { describe('Feature: set attributes for an object state', () => {
test('set a valid value', () => { test('set a valid value', () => {

@ -12,7 +12,7 @@ jest.mock('../../src/server-proxy', () => {
}); });
// Initialize api // Initialize api
window.cvat = require('../../src/api'); window.cvat = require('../../src/api').default;
describe('Feature: dummy feature', () => { describe('Feature: dummy feature', () => {
test('dummy test', async () => { test('dummy test', async () => {

@ -12,7 +12,7 @@ jest.mock('../../src/server-proxy', () => {
}); });
// Initialize api // Initialize api
window.cvat = require('../../src/api'); window.cvat = require('../../src/api').default;
const Project = require('../../src/project').default; const Project = require('../../src/project').default;

@ -12,7 +12,7 @@ jest.mock('../../src/server-proxy', () => {
}); });
// Initialize api // Initialize api
window.cvat = require('../../src/api'); window.cvat = require('../../src/api').default;
const { AnnotationFormats, Loader, Dumper } = require('../../src/annotation-formats'); const { AnnotationFormats, Loader, Dumper } = require('../../src/annotation-formats');
// Test cases // Test cases

@ -12,7 +12,7 @@ jest.mock('../../src/server-proxy', () => {
}); });
// Initialize api // Initialize api
window.cvat = require('../../src/api'); window.cvat = require('../../src/api').default;
const { Task } = require('../../src/session'); const { Task } = require('../../src/session');

@ -12,7 +12,7 @@ jest.mock('../../src/server-proxy', () => {
}); });
// Initialize api // Initialize api
window.cvat = require('../../src/api'); window.cvat = require('../../src/api').default;
const User = require('../../src/user').default; const User = require('../../src/user').default;

@ -11,7 +11,7 @@ jest.mock('../../src/server-proxy', () => {
}); });
// Initialize api // Initialize api
window.cvat = require('../../src/api'); window.cvat = require('../../src/api').default;
const Webhook = require('../../src/webhook').default; const Webhook = require('../../src/webhook').default;
const { webhooksDummyData, webhooksEventsDummyData } = require('../mocks/dummy-data.mock'); const { webhooksDummyData, webhooksEventsDummyData } = require('../mocks/dummy-data.mock');

@ -8,6 +8,7 @@
"isolatedModules": true, "isolatedModules": true,
"noEmit": true, "noEmit": true,
"baseUrl": "src", "baseUrl": "src",
"resolveJsonModule": true,
}, },
"include": ["src/*.ts"] "include": ["src/*.ts"]
} }

Loading…
Cancel
Save