@orchestrator/ngx-testing
Version:
Testing utilities for Angular projects
52 lines • 6 kB
JavaScript
import { __assign, __read, __spread } from "tslib";
import { TestBed } from '@angular/core/testing';
/**
* @internal
*/
export function getDirectiveIO(dirType) {
var propMeta = dirType['__prop__metadata__'];
var inputsMeta = filterPropMeta(propMeta, 'Input');
var outputsMeta = filterPropMeta(propMeta, 'Output');
return {
inputs: propMetaToTemplateBindings(inputsMeta),
outputs: propMetaToTemplateBindings(outputsMeta),
};
}
function propMetaToTemplateBindings(meta) {
return Object.keys(meta).map(function (propName) {
return ({
propName: propName,
templateName: meta[propName].bindingPropertyName || propName,
});
});
}
function filterPropMeta(obj, type) {
return Object.keys(obj).reduce(function (acc, k) {
var _a;
var meta = obj[k].find(function (m) { return m.ngMetadataName === type; });
return meta ? __assign(__assign({}, acc), (_a = {}, _a[k] = meta, _a)) : acc;
}, {});
}
/**
* @internal
*/
export function get(type) {
return TestBed.get(type);
}
/**
* @internal
*/
export function mergeArrays() {
var arrays = [];
for (var _i = 0; _i < arguments.length; _i++) {
arrays[_i] = arguments[_i];
}
return arrays.reduce(function (acc, arr) { return __spread(acc, toArray(arr)); }, []);
}
/**
* @internal
*/
export function toArray(arr) {
return arr ? arr : [];
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BvcmNoZXN0cmF0b3Ivbmd4LXRlc3RpbmcvIiwic291cmNlcyI6WyJsaWIvdXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBeUJoRDs7R0FFRztBQUNILE1BQU0sVUFBVSxjQUFjLENBQUksT0FBZ0I7SUFDaEQsSUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLG9CQUFvQixDQUFpQixDQUFDO0lBRS9ELElBQU0sVUFBVSxHQUFHLGNBQWMsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDckQsSUFBTSxXQUFXLEdBQUcsY0FBYyxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUV2RCxPQUFPO1FBQ0wsTUFBTSxFQUFFLDBCQUEwQixDQUFDLFVBQVUsQ0FBQztRQUM5QyxPQUFPLEVBQUUsMEJBQTBCLENBQUMsV0FBVyxDQUFDO0tBQ2pELENBQUM7QUFDSixDQUFDO0FBRUQsU0FBUywwQkFBMEIsQ0FBQyxJQUFnQjtJQUNsRCxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUMxQixVQUFBLFFBQVE7UUFDTixPQUFBLENBQUM7WUFDQyxRQUFRLFVBQUE7WUFDUixZQUFZLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLG1CQUFtQixJQUFJLFFBQVE7U0FDekMsQ0FBQTtJQUhyQixDQUdxQixDQUN4QixDQUFDO0FBQ0osQ0FBQztBQUVELFNBQVMsY0FBYyxDQUNyQixHQUFpQixFQUNqQixJQUF3QjtJQUV4QixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLFVBQUMsR0FBRyxFQUFFLENBQUM7O1FBQ3BDLElBQU0sSUFBSSxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBQSxDQUFDLElBQUksT0FBQSxDQUFDLENBQUMsY0FBYyxLQUFLLElBQUksRUFBekIsQ0FBeUIsQ0FBQyxDQUFDO1FBQ3pELE9BQU8sSUFBSSxDQUFDLENBQUMsdUJBQU0sR0FBRyxnQkFBRyxDQUFDLElBQUcsSUFBSSxPQUFHLENBQUMsQ0FBQyxHQUFHLENBQUM7SUFDNUMsQ0FBQyxFQUFFLEVBQWdCLENBQUMsQ0FBQztBQUN2QixDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsR0FBRyxDQUFJLElBQWlDO0lBQ3RELE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUMzQixDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsV0FBVztJQUFJLGdCQUFnQjtTQUFoQixVQUFnQixFQUFoQixxQkFBZ0IsRUFBaEIsSUFBZ0I7UUFBaEIsMkJBQWdCOztJQUM3QyxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsVUFBQyxHQUFHLEVBQUUsR0FBRyxJQUFLLGdCQUFJLEdBQUcsRUFBSyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQXhCLENBQXlCLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDcEUsQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLE9BQU8sQ0FBSSxHQUFTO0lBQ2xDLE9BQU8sR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUN4QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4sIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRlc3RCZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3Rlc3RpbmcnO1xuXG5pbXBvcnQgeyBEaXJlY3RpdmVJTywgVGVtcGxhdGVCaW5kaW5nLCBUZW1wbGF0ZUJpbmRpbmdzIH0gZnJvbSAnLi90eXBlcyc7XG5cbi8qKlxuICogQGludGVybmFsXG4gKiBEZWZpbmVkIGJ5IEFuZ3VsYXJcbiAqL1xuaW50ZXJmYWNlIFByb3BEZWNvcmF0b3JGYWN0b3J5IHtcbiAgYmluZGluZ1Byb3BlcnR5TmFtZT86IHN0cmluZztcbiAgbmdNZXRhZGF0YU5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqIERlZmluZWQgYnkgQW5ndWxhclxuICovXG5pbnRlcmZhY2UgUHJvcE1ldGFkYXRhIHtcbiAgW3Byb3A6IHN0cmluZ106IFByb3BEZWNvcmF0b3JGYWN0b3J5W107XG59XG5cbmludGVyZmFjZSBJT01ldGFkYXRhIHtcbiAgW3Byb3A6IHN0cmluZ106IFByb3BEZWNvcmF0b3JGYWN0b3J5O1xufVxuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0RGlyZWN0aXZlSU88VD4oZGlyVHlwZTogVHlwZTxUPik6IERpcmVjdGl2ZUlPIHtcbiAgY29uc3QgcHJvcE1ldGEgPSBkaXJUeXBlWydfX3Byb3BfX21ldGFkYXRhX18nXSBhcyBQcm9wTWV0YWRhdGE7XG5cbiAgY29uc3QgaW5wdXRzTWV0YSA9IGZpbHRlclByb3BNZXRhKHByb3BNZXRhLCAnSW5wdXQnKTtcbiAgY29uc3Qgb3V0cHV0c01ldGEgPSBmaWx0ZXJQcm9wTWV0YShwcm9wTWV0YSwgJ091dHB1dCcpO1xuXG4gIHJldHVybiB7XG4gICAgaW5wdXRzOiBwcm9wTWV0YVRvVGVtcGxhdGVCaW5kaW5ncyhpbnB1dHNNZXRhKSxcbiAgICBvdXRwdXRzOiBwcm9wTWV0YVRvVGVtcGxhdGVCaW5kaW5ncyhvdXRwdXRzTWV0YSksXG4gIH07XG59XG5cbmZ1bmN0aW9uIHByb3BNZXRhVG9UZW1wbGF0ZUJpbmRpbmdzKG1ldGE6IElPTWV0YWRhdGEpOiBUZW1wbGF0ZUJpbmRpbmdzIHtcbiAgcmV0dXJuIE9iamVjdC5rZXlzKG1ldGEpLm1hcChcbiAgICBwcm9wTmFtZSA9PlxuICAgICAgKHtcbiAgICAgICAgcHJvcE5hbWUsXG4gICAgICAgIHRlbXBsYXRlTmFtZTogbWV0YVtwcm9wTmFtZV0uYmluZGluZ1Byb3BlcnR5TmFtZSB8fCBwcm9wTmFtZSxcbiAgICAgIH0gYXMgVGVtcGxhdGVCaW5kaW5nKSxcbiAgKTtcbn1cblxuZnVuY3Rpb24gZmlsdGVyUHJvcE1ldGEoXG4gIG9iajogUHJvcE1ldGFkYXRhLFxuICB0eXBlOiAnSW5wdXQnIHwgJ091dHB1dCcsXG4pOiBJT01ldGFkYXRhIHtcbiAgcmV0dXJuIE9iamVjdC5rZXlzKG9iaikucmVkdWNlKChhY2MsIGspID0+IHtcbiAgICBjb25zdCBtZXRhID0gb2JqW2tdLmZpbmQobSA9PiBtLm5nTWV0YWRhdGFOYW1lID09PSB0eXBlKTtcbiAgICByZXR1cm4gbWV0YSA/IHsgLi4uYWNjLCBba106IG1ldGEgfSA6IGFjYztcbiAgfSwge30gYXMgSU9NZXRhZGF0YSk7XG59XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXQ8VD4odHlwZTogVHlwZTxUPiB8IEluamVjdGlvblRva2VuPFQ+KTogVCB7XG4gIHJldHVybiBUZXN0QmVkLmdldCh0eXBlKTtcbn1cblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1lcmdlQXJyYXlzPFQ+KC4uLmFycmF5czogVFtdW10pOiBUW10ge1xuICByZXR1cm4gYXJyYXlzLnJlZHVjZSgoYWNjLCBhcnIpID0+IFsuLi5hY2MsIC4uLnRvQXJyYXkoYXJyKV0sIFtdKTtcbn1cblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRvQXJyYXk8VD4oYXJyPzogVFtdKTogVFtdIHtcbiAgcmV0dXJuIGFyciA/IGFyciA6IFtdO1xufVxuIl19