@junte/ui
Version:
Quality Angular UI components kit
35 lines • 5.71 kB
JavaScript
import 'reflect-metadata';
export const COMPONENT_API_PROPERTIES_METADATA_KEY = Symbol('component_api_properties_field_meta');
export const COMPONENT_API_METHODS_METADATA_KEY = Symbol('component_api_methods_field_meta');
export const COMPONENT_API_CONTENT_METADATA_KEY = Symbol('component_api_content_field_meta');
export class PropertyMetadata {
}
export class MethodMetadata {
}
export class ContentMetadata {
}
export function PropertyApi(data) {
return function (obj, property) {
const constructor = obj.constructor;
const metadata = Reflect.getMetadata(COMPONENT_API_PROPERTIES_METADATA_KEY, constructor) || {};
metadata[property] = data;
Reflect.defineMetadata(COMPONENT_API_PROPERTIES_METADATA_KEY, metadata, constructor);
};
}
export function MethodApi(data) {
return function (obj, property) {
const constructor = obj.constructor;
const metadata = Reflect.getMetadata(COMPONENT_API_METHODS_METADATA_KEY, constructor) || {};
metadata[property] = data;
Reflect.defineMetadata(COMPONENT_API_METHODS_METADATA_KEY, metadata, constructor);
};
}
export function ContentApi(data) {
return function (obj, property) {
const constructor = obj.constructor;
const metadata = Reflect.getMetadata(COMPONENT_API_CONTENT_METADATA_KEY, constructor) || {};
metadata[property] = data;
Reflect.defineMetadata(COMPONENT_API_CONTENT_METADATA_KEY, metadata, constructor);
};
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGp1bnRlL3VpLyIsInNvdXJjZXMiOlsibGliL2NvcmUvZGVjb3JhdG9ycy9hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxrQkFBa0IsQ0FBQztBQUUxQixNQUFNLENBQUMsTUFBTSxxQ0FBcUMsR0FBRyxNQUFNLENBQUMscUNBQXFDLENBQUMsQ0FBQztBQUNuRyxNQUFNLENBQUMsTUFBTSxrQ0FBa0MsR0FBRyxNQUFNLENBQUMsa0NBQWtDLENBQUMsQ0FBQztBQUM3RixNQUFNLENBQUMsTUFBTSxrQ0FBa0MsR0FBRyxNQUFNLENBQUMsa0NBQWtDLENBQUMsQ0FBQztBQUU3RixNQUFNLE9BQU8sZ0JBQWdCO0NBTzVCO0FBRUQsTUFBTSxPQUFPLGNBQWM7Q0FFMUI7QUFFRCxNQUFNLE9BQU8sZUFBZTtDQUczQjtBQUVELE1BQU0sVUFBVSxXQUFXLENBQUMsSUFBc0I7SUFDaEQsT0FBTyxVQUFVLEdBQVcsRUFBRSxRQUFnQjtRQUM1QyxNQUFNLFdBQVcsR0FBRyxHQUFHLENBQUMsV0FBVyxDQUFDO1FBQ3BDLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUMscUNBQXFDLEVBQUUsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQy9GLFFBQVEsQ0FBQyxRQUFRLENBQUMsR0FBRyxJQUFJLENBQUM7UUFDMUIsT0FBTyxDQUFDLGNBQWMsQ0FBQyxxQ0FBcUMsRUFBRSxRQUFRLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDdkYsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxTQUFTLENBQUMsSUFBb0I7SUFDNUMsT0FBTyxVQUFVLEdBQVcsRUFBRSxRQUFnQjtRQUM1QyxNQUFNLFdBQVcsR0FBRyxHQUFHLENBQUMsV0FBVyxDQUFDO1FBQ3BDLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUMsa0NBQWtDLEVBQUUsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzVGLFFBQVEsQ0FBQyxRQUFRLENBQUMsR0FBRyxJQUFJLENBQUM7UUFDMUIsT0FBTyxDQUFDLGNBQWMsQ0FBQyxrQ0FBa0MsRUFBRSxRQUFRLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDcEYsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxVQUFVLENBQUMsSUFBcUI7SUFDOUMsT0FBTyxVQUFVLEdBQVcsRUFBRSxRQUFnQjtRQUM1QyxNQUFNLFdBQVcsR0FBRyxHQUFHLENBQUMsV0FBVyxDQUFDO1FBQ3BDLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUMsa0NBQWtDLEVBQUUsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzVGLFFBQVEsQ0FBQyxRQUFRLENBQUMsR0FBRyxJQUFJLENBQUM7UUFDMUIsT0FBTyxDQUFDLGNBQWMsQ0FBQyxrQ0FBa0MsRUFBRSxRQUFRLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDcEYsQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAncmVmbGVjdC1tZXRhZGF0YSc7XG5cbmV4cG9ydCBjb25zdCBDT01QT05FTlRfQVBJX1BST1BFUlRJRVNfTUVUQURBVEFfS0VZID0gU3ltYm9sKCdjb21wb25lbnRfYXBpX3Byb3BlcnRpZXNfZmllbGRfbWV0YScpO1xuZXhwb3J0IGNvbnN0IENPTVBPTkVOVF9BUElfTUVUSE9EU19NRVRBREFUQV9LRVkgPSBTeW1ib2woJ2NvbXBvbmVudF9hcGlfbWV0aG9kc19maWVsZF9tZXRhJyk7XG5leHBvcnQgY29uc3QgQ09NUE9ORU5UX0FQSV9DT05URU5UX01FVEFEQVRBX0tFWSA9IFN5bWJvbCgnY29tcG9uZW50X2FwaV9jb250ZW50X2ZpZWxkX21ldGEnKTtcblxuZXhwb3J0IGNsYXNzIFByb3BlcnR5TWV0YWRhdGEge1xuICBuYW1lPzogc3RyaW5nO1xuICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICBwYXRoPzogc3RyaW5nO1xuICB0eXBlPzogc3RyaW5nO1xuICBvcHRpb25zPzogc3RyaW5nW107XG4gIGRlZmF1bHQ/OiBzdHJpbmcgfCBudW1iZXI7XG59XG5cbmV4cG9ydCBjbGFzcyBNZXRob2RNZXRhZGF0YSB7XG4gIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBDb250ZW50TWV0YWRhdGEge1xuICBzZWxlY3Rvcjogc3RyaW5nO1xuICBkZXNjcmlwdGlvbjogc3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gUHJvcGVydHlBcGkoZGF0YTogUHJvcGVydHlNZXRhZGF0YSkge1xuICByZXR1cm4gZnVuY3Rpb24gKG9iajogT2JqZWN0LCBwcm9wZXJ0eTogc3RyaW5nKSB7XG4gICAgY29uc3QgY29uc3RydWN0b3IgPSBvYmouY29uc3RydWN0b3I7XG4gICAgY29uc3QgbWV0YWRhdGEgPSBSZWZsZWN0LmdldE1ldGFkYXRhKENPTVBPTkVOVF9BUElfUFJPUEVSVElFU19NRVRBREFUQV9LRVksIGNvbnN0cnVjdG9yKSB8fCB7fTtcbiAgICBtZXRhZGF0YVtwcm9wZXJ0eV0gPSBkYXRhO1xuICAgIFJlZmxlY3QuZGVmaW5lTWV0YWRhdGEoQ09NUE9ORU5UX0FQSV9QUk9QRVJUSUVTX01FVEFEQVRBX0tFWSwgbWV0YWRhdGEsIGNvbnN0cnVjdG9yKTtcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIE1ldGhvZEFwaShkYXRhOiBNZXRob2RNZXRhZGF0YSkge1xuICByZXR1cm4gZnVuY3Rpb24gKG9iajogT2JqZWN0LCBwcm9wZXJ0eTogc3RyaW5nKSB7XG4gICAgY29uc3QgY29uc3RydWN0b3IgPSBvYmouY29uc3RydWN0b3I7XG4gICAgY29uc3QgbWV0YWRhdGEgPSBSZWZsZWN0LmdldE1ldGFkYXRhKENPTVBPTkVOVF9BUElfTUVUSE9EU19NRVRBREFUQV9LRVksIGNvbnN0cnVjdG9yKSB8fCB7fTtcbiAgICBtZXRhZGF0YVtwcm9wZXJ0eV0gPSBkYXRhO1xuICAgIFJlZmxlY3QuZGVmaW5lTWV0YWRhdGEoQ09NUE9ORU5UX0FQSV9NRVRIT0RTX01FVEFEQVRBX0tFWSwgbWV0YWRhdGEsIGNvbnN0cnVjdG9yKTtcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIENvbnRlbnRBcGkoZGF0YTogQ29udGVudE1ldGFkYXRhKSB7XG4gIHJldHVybiBmdW5jdGlvbiAob2JqOiBPYmplY3QsIHByb3BlcnR5OiBzdHJpbmcpIHtcbiAgICBjb25zdCBjb25zdHJ1Y3RvciA9IG9iai5jb25zdHJ1Y3RvcjtcbiAgICBjb25zdCBtZXRhZGF0YSA9IFJlZmxlY3QuZ2V0TWV0YWRhdGEoQ09NUE9ORU5UX0FQSV9DT05URU5UX01FVEFEQVRBX0tFWSwgY29uc3RydWN0b3IpIHx8IHt9O1xuICAgIG1ldGFkYXRhW3Byb3BlcnR5XSA9IGRhdGE7XG4gICAgUmVmbGVjdC5kZWZpbmVNZXRhZGF0YShDT01QT05FTlRfQVBJX0NPTlRFTlRfTUVUQURBVEFfS0VZLCBtZXRhZGF0YSwgY29uc3RydWN0b3IpO1xuICB9O1xufVxuIl19