0.0.4 • Published 1 year ago
odata-v2-types-generator v0.0.4
oData V2 Types Generator
Generate types from OData V2 metadata.
Usage
pnpm i -D odata-v2-types-generator
import { createTypesFromMetadata } from 'odata-v2-types-generator';
import { request } from 'undici';
const { body } = await request('https://services.odata.org/OData/OData.svc/$metadata', { method: 'GET' });
const xml = await body.text();
const tsSource = createTypesFromMetadata(xml);
Options
const tsSource = createTypesFromMetadata(xml, {
onCreateEntity: (typeAlias, { metadata, entity }) => {
ts.addSyntheticLeadingComment(
typeAlias,
ts.SyntaxKind.MultiLineCommentTrivia,
`*\n* ${metadata.schema.Namespace}.${entity.Name}\n`,
true,
);
},
onCreateEntityProperty: (propertySignature, { metadata, entity, property }) => {},
onCreateComplexType: (typeAlias, { metadata, complexType }) => {},
onCreateComplexTypeProperty: (propertySignature, { metadata, complexType, property }) => {},
});
Output:
/**
* ServiceName.EntityName
*/
export type EntityName = {
Id: string;
Name: string;
};