@devgrid/netron
Version:
Event bus, streams and remote object invocation.
25 lines • 1.34 kB
JavaScript
import { isObject, isFunction } from '@devgrid/common';
import { Netron } from './netron';
import { Interface } from './interface';
import { Reference } from './reference';
import { LocalPeer } from './local-peer';
import { Definition } from './definition';
import { ServiceStub } from './service-stub';
import { SERVICE_ANNOTATION } from './common';
import { AbstractPeer } from './abstract-peer';
export const isNetron = (obj) => obj instanceof Netron;
export const isServiceDefinition = (obj) => obj instanceof Definition;
export const isServiceReference = (obj) => obj instanceof Reference;
export const isServiceInterface = (obj) => obj instanceof Interface;
export const isServiceStub = (obj) => obj instanceof ServiceStub;
export const isNetronPeer = (obj) => obj instanceof AbstractPeer;
export const isNetronOwnPeer = (obj) => obj instanceof LocalPeer;
export const isContextIMethod = (ni, name) => isFunction(ni[name]) && ni.$def.$[name].method === true;
export const isContextIProperty = (ni, name) => isObject(ni[name]) && isFunction(ni[name].get) && ni.$def.$[name].method === void 0;
export const isNetronService = (obj) => {
if (obj && typeof obj === 'object' && obj.constructor) {
return Reflect.hasMetadata(SERVICE_ANNOTATION, obj.constructor);
}
return false;
};
//# sourceMappingURL=predicates.js.map