UNPKG

scrivito

Version:

Scrivito is a professional, yet easy to use SaaS Enterprise Content Management Service, built for digital agencies and medium to large businesses. It is completely maintenance-free, cost-effective, and has unprecedented performance and security.

26 lines (19 loc) 690 B
import { ArgumentError } from 'scrivito_sdk/common'; import { DataClass, DataItem } from 'scrivito_sdk/data_integration'; import { ObjClass, Schema, WidgetClass } from 'scrivito_sdk/realm'; export function getClassName( subject: string | ObjClass | WidgetClass | DataClass | DataItem ): string { if (typeof subject === 'string') return subject; if (subject instanceof DataClass) { return subject.name(); } if (subject instanceof DataItem) { return subject.dataClassName(); } const className = Schema.forClass(subject)?.name(); if (typeof className !== 'string') { throw new ArgumentError('Invalid class name, class or instance'); } return className; }