Remove the ExternalApiUsageByType in favour of just ModeledMethod

This commit is contained in:
Robert
2023-07-13 16:40:30 +01:00
parent 111dfff7fb
commit 16f98491e7
2 changed files with 31 additions and 39 deletions

View File

@@ -1,4 +1,3 @@
import { ExternalApiUsage } from "./external-api-usage";
import {
ModeledMethod,
ModeledMethodType,
@@ -6,14 +5,9 @@ import {
Provenance,
} from "./modeled-method";
export type ExternalApiUsageByType = {
externalApiUsage: ExternalApiUsage;
modeledMethod: ModeledMethod;
};
export type ExtensiblePredicateDefinition = {
extensiblePredicate: string;
generateMethodDefinition: (method: ExternalApiUsageByType) => Tuple[];
generateMethodDefinition: (method: ModeledMethod) => Tuple[];
readModeledMethod: (row: Tuple[]) => ModeledMethodWithSignature;
supportedKinds?: string[];
@@ -36,15 +30,15 @@ export const extensiblePredicateDefinitions: Record<
// string output, string kind, string provenance
// );
generateMethodDefinition: (method) => [
method.externalApiUsage.packageName,
method.externalApiUsage.typeName,
method.packageName,
method.typeName,
true,
method.externalApiUsage.methodName,
method.externalApiUsage.methodParameters,
method.methodName,
method.methodParameters,
"",
method.modeledMethod.output,
method.modeledMethod.kind,
method.modeledMethod.provenance,
method.output,
method.kind,
method.provenance,
],
readModeledMethod: (row) => {
const signature = readRowToMethod(row);
@@ -73,15 +67,15 @@ export const extensiblePredicateDefinitions: Record<
// string input, string kind, string provenance
// );
generateMethodDefinition: (method) => [
method.externalApiUsage.packageName,
method.externalApiUsage.typeName,
method.packageName,
method.typeName,
true,
method.externalApiUsage.methodName,
method.externalApiUsage.methodParameters,
method.methodName,
method.methodParameters,
"",
method.modeledMethod.input,
method.modeledMethod.kind,
method.modeledMethod.provenance,
method.input,
method.kind,
method.provenance,
],
readModeledMethod: (row) => {
const signature = readRowToMethod(row);
@@ -110,16 +104,16 @@ export const extensiblePredicateDefinitions: Record<
// string input, string output, string kind, string provenance
// );
generateMethodDefinition: (method) => [
method.externalApiUsage.packageName,
method.externalApiUsage.typeName,
method.packageName,
method.typeName,
true,
method.externalApiUsage.methodName,
method.externalApiUsage.methodParameters,
method.methodName,
method.methodParameters,
"",
method.modeledMethod.input,
method.modeledMethod.output,
method.modeledMethod.kind,
method.modeledMethod.provenance,
method.input,
method.output,
method.kind,
method.provenance,
],
readModeledMethod: (row) => {
const signature = readRowToMethod(row);
@@ -147,12 +141,12 @@ export const extensiblePredicateDefinitions: Record<
// string package, string type, string name, string signature, string kind, string provenance
// );
generateMethodDefinition: (method) => [
method.externalApiUsage.packageName,
method.externalApiUsage.typeName,
method.externalApiUsage.methodName,
method.externalApiUsage.methodParameters,
method.modeledMethod.kind,
method.modeledMethod.provenance,
method.packageName,
method.typeName,
method.methodName,
method.methodParameters,
method.kind,
method.provenance,
],
readModeledMethod: (row) => {
const signature = `${row[0]}.${row[1]}#${row[2]}${row[3]}`;

View File

@@ -6,7 +6,6 @@ import { ModeledMethod, ModeledMethodType } from "./modeled-method";
import {
ExtensiblePredicateDefinition,
extensiblePredicateDefinitions,
ExternalApiUsageByType,
} from "./predicates";
import * as dataSchemaJson from "./data-schema.json";
@@ -29,15 +28,14 @@ function createDataProperty(
}
const modeledMethods = methods.filter(
(method): method is ExternalApiUsageByType =>
method.modeledMethod !== undefined,
(method) => method.modeledMethod !== undefined,
);
return `\n${modeledMethods
.map(
(method) =>
` - ${JSON.stringify(
definition.generateMethodDefinition(method),
definition.generateMethodDefinition(method.modeledMethod!),
)}`,
)
.join("\n")}`;