UNPKG

@apistudio/apim-cli

Version:

CLI for API Management Products

87 lines (79 loc) 2.4 kB
/** * Copyright IBM Corp. 2024, 2025 */ import { EditorTab } from './editor-tab.model.js'; import { AssetKinds, AssetModelKindConstants, NANO_GW_POLICY_KINDS, POLICY_KINDS, } from './base-asset.model.js'; export interface EditorTabsInfo { editorId: number; tabs: EditorTab[]; activeTab: EditorTab | -1; hm: HashMap; } export interface EditorTabItem { activeEditor: boolean; editorTab: EditorTab; position: { line: number; column: number }; tabsHeight: number; width: number; setUnSavedTabs: React.Dispatch<React.SetStateAction<number[]>>; fileName: string; unSavedTabs?: number[]; } interface HashMap { [key: string]: NestedHashMap; } interface NestedHashMap { [key: string]: string; } export const FormViewSupportedKinds = [ AssetModelKindConstants.API, AssetModelKindConstants.Test, AssetModelKindConstants.Assertion, AssetModelKindConstants.Environment, AssetModelKindConstants.PolicySequence, AssetModelKindConstants.GlobalPolicy, 'Product', AssetModelKindConstants.Plan, AssetModelKindConstants.Quota, 'OPENAPI', 'POLICY', 'SWAGGER', 'CountLimit' ]; export const FormViewUnsupportedKinds: Record<string, string> = { swagger: 'Swagger', multiyaml: 'Multi YAML', [AssetModelKindConstants.MockEndpoint.toLowerCase()]: 'Mock endpoint', [AssetModelKindConstants.MockResponse.toLowerCase()]: 'Mock response', }; export const API_FORM_VIEW_VALID_KINDS = [ AssetModelKindConstants.API.toLowerCase(), 'openapi', 'swagger', ]; // TODO: COMMON_MODEL: remove the support for policy sequence export const POLICY_FORM_VIEW_VALID_KINDS = [ AssetModelKindConstants.PolicySequence.toLowerCase(), AssetKinds.StagedPolicySequence.toLowerCase(), AssetKinds.FreeFlowPolicySequence.toLowerCase(), ...POLICY_KINDS.map((kind) => kind.toLowerCase()), AssetModelKindConstants.GlobalPolicy.toLowerCase(), AssetModelKindConstants.Plan.toLowerCase(), 'product', 'requestlimit', AssetKinds.URISchemes.toLowerCase(), AssetKinds.Log.toLowerCase(), AssetKinds.MonitorTraffic.toLowerCase(), ...NANO_GW_POLICY_KINDS.map((kind) => kind.toLowerCase()), ]; export const TEST_FORM_VIEW_VALID_KINDS = [ AssetModelKindConstants.Assertion.toLowerCase(), AssetModelKindConstants.Environment.toLowerCase(), AssetModelKindConstants.Test.toLowerCase(), ]; export const DATAPOWERASSEMBLY_VALID_KINDS = ['datapowerassembly'];