1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- "use strict";
- /**
- * @license
- * Copyright Google LLC All Rights Reserved.
- *
- * Use of this source code is governed by an MIT-style license that can be
- * found in the LICENSE file at https://angular.dev/license
- */
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.NodeModuleJobRegistry = void 0;
- const core_1 = require("@angular-devkit/core");
- const rxjs_1 = require("rxjs");
- class NodeModuleJobRegistry {
- _resolve(name) {
- try {
- return require.resolve(name);
- }
- catch (e) {
- if (e.code === 'MODULE_NOT_FOUND') {
- return null;
- }
- throw e;
- }
- }
- /**
- * Get a job description for a named job.
- *
- * @param name The name of the job.
- * @returns A description, or null if the job is not registered.
- */
- get(name) {
- const [moduleName, exportName] = name.split(/#/, 2);
- const resolvedPath = this._resolve(moduleName);
- if (!resolvedPath) {
- return (0, rxjs_1.of)(null);
- }
- const pkg = require(resolvedPath);
- const handler = pkg[exportName || 'default'];
- if (!handler) {
- return (0, rxjs_1.of)(null);
- }
- function _getValue(...fields) {
- return fields.find((x) => core_1.schema.isJsonSchema(x)) || true;
- }
- const argument = _getValue(pkg.argument, handler.argument);
- const input = _getValue(pkg.input, handler.input);
- const output = _getValue(pkg.output, handler.output);
- const channels = _getValue(pkg.channels, handler.channels);
- return (0, rxjs_1.of)(Object.assign(handler.bind(undefined), {
- jobDescription: {
- argument,
- input,
- output,
- channels,
- },
- }));
- }
- }
- exports.NodeModuleJobRegistry = NodeModuleJobRegistry;
|