Hi Jesse.
I had I problem returning Trie but solve it with the help of:
My example:
public shared(msg) func readOwnedFT () : async Result.Result<[FT], Error> {
let callerId = msg.caller;
if(Principal.toText(callerId) == "2vxsx-fae") {
return #err(#NotAuthorized);
};
let ownedForms : Trie.Trie<Nat, FT> = Trie.filter<Nat, FT>(formTemplates, func (k, v) {
Principal.equal(v.principal, callerId)
});
let result : [FT] = Trie.toArray<Nat, FT, FT>(ownedForms, func (k, v) { v });
if(Nat.notEqual(result.size(), 0)) {
#ok(result);
} else {
#err(#NotFound);
};
};
My error: I was using return Result.fromOption(result, )