package ppx_factory
PPX to derive factories and default values
Install
Dune Dependency
Authors
Maintainers
Sources
ppx_factory-0.2.0.tbz
sha256=23a90da63c9ab5078b0582805bbdaabf440cd8a8ac32abd1ad16d2dbac27b891
sha512=5d1e9f14d7cecc6617a9bc4d4438648230e05c167b7fd7f88449d94d5ab237561c0fc1f62fd628a6af0d77094c7f167d18910676e20ce3659a5383c38f2d4806
doc/src/ppx_factory._lib/util.ml.html
Source file util.ml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
open Ppxlib let affix_from_type_name ~kind type_name = match type_name, kind with | "t", _ -> "" | _, `Suffix -> "_" ^ type_name | _, `Prefix -> type_name ^ "_" let constr_from_type_param ~loc (core_type, _variance) = {core_type with ptyp_loc = loc; ptyp_attributes = []} let core_type_from_type_decl ~loc {ptype_name; ptype_params; _} = let constr = List.map (constr_from_type_param ~loc) ptype_params in let type_lident = {txt = Lident ptype_name.txt; loc} in Ast_builder.Default.ptyp_constr ~loc type_lident constr let is_ocamldep ctxt = let tool_name = Expansion_context.Deriver.tool_name ctxt in String.equal tool_name "ocamldep" module Expr = struct let var ~loc var_name = Ast_builder.Default.pexp_ident ~loc {txt = Lident var_name; loc} let constructor ~loc ~constructor_name expr = Ast_builder.Default.pexp_construct ~loc {txt = Lident constructor_name; loc} expr end module List_ = struct exception Exit (* Thanks c-cube's containers *) let all_ok l = let err = ref None in try Ok (List.map (function Ok x -> x | Error e -> err := Some e; raise Exit) l) with Exit -> match !err with | Some e -> Error e | None -> assert false let rec find_ok ~f = function | [] -> Error `Empty | [last] -> ( match f last with | Ok _ as ok -> ok | Error err -> Error (`Last err) ) | hd::tl -> ( match f hd with | Ok _ as ok -> ok | Error _ -> find_ok ~f tl ) end module Result_ = struct let (>|=) res f = match res with | Ok x -> Ok (f x) | Error _ as err -> err end
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>