jeeflow-facade

    jeeflow unified facade: flow(action, args) 45 actions + contract outlet layer

    Download zip
    Author
    Version
    0.1.0
    License
    Apache-2.0
    Last updated
    5 hours ago
    Downloads
    2

    #facade

    jeeflow 工作流引擎 MoonBit 实现(第 7 语言)组件:45 action 统一门面 flow(action,args) + 出口强制层 + stats

    详见仓根 README.md 与 docs/。

    Facade

    pub(all) struct Facade[R, E] {
    engine :
    Engine
    [R, E]
    repo : R
    ext_repo : E
    }

    Facade::design_list_by_type

    listByType:发起页数据契约(issues/28;分组契约 C14)

    Facade::engine

    fn[R, E] Facade::engine(self : Facade[R, E]) ->
    Engine
    [R, E]

    Facade::execute

    提交任务(submitType 分发,java execute 同款)

    Facade::flow

    统一入口:flow(action, args) → {code,msg,data}

    Facade::start_and_execute

    发起并自动完成申请节点(define/instance 共用)

    Facade::task_surrogate

    加签(addTaskActor=去重追加非全删全插,C14)

    CODE_ERROR

    let CODE_ERROR : Int64

    CODE_SUCCESS

    let CODE_SUCCESS : Int64

    arg_actor_ids

    fn arg_actor_ids(args : Map[String, Json]) -> Array[String]

    actorIds:JSON 数组 / 逗号串双收

    arg_i64

    fn arg_i64(args : Map[String, Json], key : String) -> Int64? raise
    JeeflowError

    i64 双收:数字/字符串;存在但不可解析 → "非法id"

    arg_i64_or

    fn arg_i64_or(args : Map[String, Json], key : String, default : Int64) -> Int64 raise
    JeeflowError

    arg_id

    fn arg_id(args : Map[String, Json], keys : Array[String]) -> Int64? raise
    JeeflowError

    首个存在的 i64(多候选键)

    arg_ids

    fn arg_ids(args : Map[String, Json]) -> Array[Int64] raise
    JeeflowError

    批量主键:{ids} 优先 {id} 兜底;空显式报错(issues/95)

    arg_str

    fn arg_str(args : Map[String, Json], key : String) -> String?

    arg_str_or

    fn arg_str_or(args : Map[String, Json], key : String, default : String) -> String

    arg_submit_type

    fn arg_submit_type(args : Map[String, Json], key? : String) -> Int64? raise
    JeeflowError

    submitType 双收(数字/字符串)

    args_to_flow_data

    fn args_to_flow_data(args : Map[String, Json], exclude : Array[String]) ->
    FlowData

    args → FlowData(剔除 facade 控制键)

    candidate_row

    fn candidate_row(actor_id : String, real_name : String, extra : Map[String, Json]?) -> Json

    candidate 行键归一(issues/80)

    content_bytes

    fn content_bytes(args : Map[String, Json]) -> String?

    content:字符串/对象/顶层 JSON 兼容(issues/27)

    define_row_to_json

    design_his_to_json

    design_to_json

    envelope_data

    fn envelope_data(env : Json) -> Json?

    err

    fn err(msg : String) -> Json

    facade_parse_m_filters

    fn facade_parse_m_filters(args : Map[String, Json]) -> Array[
    QueryFilter
    ]

    first_task_node_id

    fn first_task_node_id(json_object : Json?) -> String?

    flow_data_to_object

    fn flow_data_to_object(vars :
    FlowData
    ) -> Json

    form_data_of_flow

    fn form_data_of_flow(vars :
    FlowData
    , prefix : String) -> Json

    form_data_of_map

    fn form_data_of_map(vars : Map[String, Json], prefix : String) -> Json

    表单数据派生(issues/15):prefix 键带前缀 + 去前缀双份

    format_time_fields

    fn format_time_fields(val : Json) -> Json

    C7:时间键格式化(NOW() 占位 / ISO T → 空格)

    instance_row_to_json

    is_ok

    fn is_ok(env : Json) -> Bool

    fn ok(data : Json?) -> Json

    ok_data

    fn ok_data(data : Json) -> Json

    page_to_json

    fn[T] page_to_json(page :
    PageResult
    [T], row_json : (T) -> Json) -> Json

    分页五键(C22)

    parse_epoch_secs

    fn parse_epoch_secs(s : String) -> Int64?

    "yyyy-MM-dd[ HH:mm[:ss]]" → epoch 秒(civil 算法逆运算)

    parse_graph

    fn parse_graph(content : String) -> Json?

    parse_json_map

    fn parse_json_map(s : String?) -> Map[String, Json]

    stringify_ids

    fn stringify_ids(val : Json) -> Json

    C1:id/Id/_id 单数键值字符串化(递归);ids/Ids/_ids 复数键逐元素

    surrogate_to_json

    task_row_to_json

    task_vo

    对齐 java taskVo

    to_camel_json

    fn to_camel_json(val : Json) -> Json

    transform_output

    fn transform_output(val : Json) -> Json

    出口统一变换:camelCase → id 字符串化 → 时间格式化