@lark-project/cli
Version:
飞书项目插件开发工具
31 lines (30 loc) • 1.05 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.peekYaml = void 0;
const fs_extra_1 = require("fs-extra");
const js_yaml_1 = __importDefault(require("js-yaml"));
const json_1 = require("./json");
const text_1 = require("./text");
/**
* YAML peek: parse with js-yaml then delegate to the JSON peeker so `--index`,
* `--descriptions-only`, $ref follow etc. all work uniformly.
*/
function peekYaml(file, name, opts) {
if (opts.line || opts.match || opts.head || opts.tail) {
return (0, text_1.peekText)(file, opts);
}
const raw = (0, fs_extra_1.readFileSync)(file, 'utf8');
let parsed;
try {
parsed = js_yaml_1.default.load(raw);
}
catch (e) {
process.stderr.write(`Failed to parse YAML: ${e.message}\n`);
process.exit(1);
}
(0, json_1.peekJsonValue)(parsed, name, opts, file);
}
exports.peekYaml = peekYaml;