UNPKG

@restnfeel/agentc-starter-kit

Version:

한국어 기업용 CMS 모듈 - Task Master AI와 함께 빠르게 웹사이트를 구현할 수 있는 재사용 가능한 컴포넌트 시스템

86 lines (68 loc) 2.1 kB
import { __exports as results } from '../../../_virtual/results.js'; import require$$0 from '../../../_virtual/index-all.js'; var hasRequiredResults; function requireResults () { if (hasRequiredResults) return results; hasRequiredResults = 1; var _ = require$$0; results.Result = Result; results.success = success; results.warning = warning; results.error = error; function Result(value, messages) { this.value = value; this.messages = messages || []; } Result.prototype.map = function(func) { return new Result(func(this.value), this.messages); }; Result.prototype.flatMap = function(func) { var funcResult = func(this.value); return new Result(funcResult.value, combineMessages([this, funcResult])); }; Result.prototype.flatMapThen = function(func) { var that = this; return func(this.value).then(function(otherResult) { return new Result(otherResult.value, combineMessages([that, otherResult])); }); }; Result.combine = function(results) { var values = _.flatten(_.pluck(results, "value")); var messages = combineMessages(results); return new Result(values, messages); }; function success(value) { return new Result(value, []); } function warning(message) { return { type: "warning", message: message }; } function error(exception) { return { type: "error", message: exception.message, error: exception }; } function combineMessages(results) { var messages = []; _.flatten(_.pluck(results, "messages"), true).forEach(function(message) { if (!containsMessage(messages, message)) { messages.push(message); } }); return messages; } function containsMessage(messages, message) { return _.find(messages, isSameMessage.bind(null, message)) !== undefined; } function isSameMessage(first, second) { return first.type === second.type && first.message === second.message; } return results; } export { requireResults as __require }; //# sourceMappingURL=results.js.map