It seems many, like me, use custom functions that return a table name or an unqualified field name. I bet many, like me, use GetFieldName with these functions. I suggest you read the following post: Out of Memory Error. GetFieldName seems to have an unfortunate caveat.
Re: "I love custom functions, that make FileMaker Code more human readable"
Me too. A couple of mine: exists β> not IsEmpty ( theField ) defaultButton β> Get ( LastMessageChoice ) = 1
similarly, secondButton and thirdButton noneFound β> Get ( LastError ) = 401 userCancels β> Get ( LastError ) = 1
and for use in FMGo on devices: landscape β> Get ( WindowOrientation ) < 0 portrait β> Get ( WindowOrientation ) > 0
A CF for that would be amazing (maybe it requires a plug-in?)
But if anyone's interested meanwhile, I recently wrote a little NodeJS script that runs from terminal or an app like Raycast (which I just started using and love).
I have a script that formats US phone numbers and cleans up stray characters, and another which turns a gmail copied email ("Jane Doe jane@gmail.com") into just an email for easy pasting. I tend to use them in every app I make at some point. Ironically I usually also end up recreating them... I need to systematize that. at some point...
I just recently put this same idea on my personal to-do/wish list. I often find myself writing a series of steps to destructure Get(ScriptParameter) into variables and then perform separate checks on each var. A one-liner based on JSON schema sounds beautiful.
It might be slightly less efficient for the computer to read from the same JSON twice, once to validate and once to destructure, but, the DX improvement sounds worth it to me, and apparently has been for you!
I like that you have a suite of CFs to work with values..
" FileMaker Lists and Values are core features of the FileMaker Platform
β’ Entering multiple checkbox choices creates a lists of values
β’ Many Functions return lists of values, for example Get ( TriggerTargetPanel )
β’ ValueListItems are list of values
β’ There are lots of function for working with lists of values"
Here is one CF that I posted that is useful for working with lists of values:
// @format_date_time ( format ; date_time )
// based on: FormatTimestamp ( format ; tstamp ) on briandunning dot com/cf/629
// FileMaker Custom Function: FormatTimestamp ( format ; tstamp )
// minor mods by twdesigns.com
// Formats a timestamp, date, or time according to format, replacing placeholders with date and or time strings.
// If date_time is empty (""), then the current date and/or time are used.
Let (
[
~date_time =
Case (
date_time = "" ; Timestamp ( Get ( CurrentDate ) ; Get ( CurrentTime ) ) ;
date_time ) ;