package com.intellij.lang.javascript.linter.tslint.schema;
import com.intellij.lang.javascript.EmbeddedJsonSchemaFileProvider;
import com.intellij.openapi.project.Project;
import com.intellij.util.containers.ContainerUtil;
import com.jetbrains.jsonSchema.extension.JsonSchemaFileProvider;
import com.jetbrains.jsonSchema.extension.JsonSchemaProviderFactory;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import java.util.List;
public final class TsLintJsonSchemaProviderFactory implements JsonSchemaProviderFactory {
private static final String TSLINT_SCHEMA_JSON = "tslint-schema.json";
private static final String TSLINT_JSON_SCHEMA_DIR = "/tslintJsonSchema";
@NotNull
private final List<JsonSchemaFileProvider> myProviders;
public TsLintJsonSchemaProviderFactory() {
EmbeddedJsonSchemaFileProvider provider = new EmbeddedJsonSchemaFileProvider(TSLINT_SCHEMA_JSON,
TsLintJsonSchemaProviderFactory.class,
TSLINT_JSON_SCHEMA_DIR + '/',
"tslint.json");
myProviders = ContainerUtil.createMaybeSingletonList(provider);
}
@Override
public List<JsonSchemaFileProvider> getProviders(@Nullable Project project) {
return myProviders;
}
}