https://eggbox.fantomfactory.org/pods/feed.atomFantom Pod Repository3rd Party Libraries for the Fantom language2024-02-14T21:11:59ZafAtomhttps://eggbox.fantomfactory.org/pods/afJsonJson v2.0.16 Released!2024-02-14T21:11:59ZFantom-Factory Ltdhttps://www.fantomfactory.com/<div class="fandoc"><p>Json is a customisable Fantom to Javascript Object Notation (JSON) mapping library.</p><p>It goes far beyond the usual <code>JsonInStream</code> and <code>JsonOutStream</code> classes by mapping and instantiating fully fledged Fantom domain objects.</p><p>Features:</p><ul><li>Converts all core Fantom types</li><li>Converts nested / embedded objects</li><li>Runs on Javascript platforms</li><li>Simple to use</li><li>JSON pretty printing</li></ul><p>Just annotate fields with <code>@JsonProperty</code> then call <code>fromJson(...)</code> and <code>toJson(...)</code> - couldn't be easier!</p></div>https://eggbox.fantomfactory.org/pods/afSizzleSizzle v1.1.0 Released!2024-02-10T14:16:05ZFantom-Factory Ltdhttps://www.fantomfactory.com/<div class="fandoc"><p>Sizzle is a library for querying XML documents by means of <a class="externalLink" href="http://www.w3.org/TR/CSS21/selector.html">CSS 2.1</a> selectors.</p><p>Sizzle currently supports:</p><ul><li>The Universal selector - <code>*</code></li><li>Type selectors - <code>div</code></li><li>ID selectors - <code>#id</code></li><li>Class selectors - <code>.heading</code></li><li>Descendant selectors - <code>html div</code></li><li>Child selectors - <code>html > div</code></li><li>Adjacent sibling selectors - <code>div + p</code></li><li>Any value attribute selector - <code>[att]</code></li><li>Exact value attribute selector - <code>[att=val]</code></li><li>Whitespace value attribute selector - <code>[att~=val]</code></li><li>Language value attribute selector - <code>[att|=val]</code></li><li>The pseudo-class <code>:first-child</code></li><li>The language pseudo-class <code>:lang(xxx)</code></li></ul><p>Bonus <a class="externalLink" href="http://www.w3.org/TR/css3-selectors/">CSS3</a> selectors:</p><ul><li>The pseudo-class <code>:last-child</code></li><li>The pseudo-class <code>:nth-child(n)</code> <i>(basic numeric implementation)</i></li><li>The pseudo-class <code>:nth-last-child(n)</code> <i>(basic numeric implementation)</i></li></ul><p>Note: Sizzle has no association with <a class="externalLink" href="http://sizzlejs.com/">Sizzle - The JavaScript CSS Selector Engine</a> as used by <a class="externalLink" href="http://jquery.com/">JQuery</a>. Well, except for the name of course!</p></div>https://eggbox.fantomfactory.org/pods/redisredis v0.3 Released!2024-01-11T13:11:17ZNovanthttps://novant.io/<div class="fandoc"></div>https://eggbox.fantomfactory.org/pods/redis/0.2redis v0.2 Released!2024-01-08T21:25:48ZNovanthttps://novant.io/<div class="fandoc"></div>https://eggbox.fantomfactory.org/pods/afSlimSlim v1.5.0 Released!2024-01-08T17:58:52ZFantom-Factory Ltdhttps://www.fantomfactory.com/<div class="fandoc"><p>Slim is a library for generating HTML from concise, lightweight templates. Slim is based on <a class="externalLink" href="http://jade-lang.com/">Jade</a> for javascript and <a class="externalLink" href="http://slim-lang.com/">Slim</a> for Ruby.</p><p>Features include:</p><ul><li>indentation driven - closing tags not needed</li><li>CSS shortcut notation for <code>#id</code> and <code>.class</code> attributes</li><li><code>${...}</code> notation to interpolate Fantom code</li><li>Configurable HTML, XHTML or XML tag endings</li><li><a href="/pods/afEfan">efan</a> template generation</li><li>Template nesting with <i>Layout</i> pattern.</li></ul><p>.</p><blockquote><p><b>ALIEN-AID:</b> Turn <code>Slim</code> templates into powerful HTML components with <a href="/pods/afEfan">efanXtra</a>!</p></blockquote></div>https://eggbox.fantomfactory.org/pods/afHcaptchahCaptcha v0.0.8 Released!2023-10-04T18:14:48+01:00Fantom-Factory Ltdhttps://www.fantomfactory.com/<div class="fandoc"><p>Client and Server code to process hCaptcha responses.</p><p>Requires a hCaptcha account to be configured for your domain. See:</p><ul><li><a class="externalLink" href="https://docs.hcaptcha.com/">hCaptcha Docs</a></li><li><a class="externalLink" href="https://dashboard.hcaptcha.com/">hCaptcha Dashboard</a></li></ul></div>https://eggbox.fantomfactory.org/pods/qrgenqrgen v1.0 Released!2023-09-22T19:47:48+01:00Novanthttps://novant.io/<div class="fandoc"></div>https://eggbox.fantomfactory.org/pods/afPeggerPegger v1.1.8 Released!2023-09-03T12:40:41+01:00Fantom-Factory Ltdhttps://www.fantomfactory.com/<div class="fandoc"><p>Parsing Expression Grammar (PEG) for when Regular Expressions just aren't enough!</p><p>Pegger is a <a class="externalLink" href="http://pdos.csail.mit.edu/~baford/packrat/popl04/peg-popl04.pdf">Parsing Expression Grammar (PEG)</a> implementation. It lets you create text parsers by building up a tree of simple matching <a href="/pods/afPegger/api/Rules">rules</a>.</p><p>Advanced parsing options let you <i>look ahead</i> with predicates, and throw errors to fail fast.</p><p>Pegger has been used (by Fantom Factory) to parse HTML, CSS, Markdown, and ANBF - to name but a few. The general strategy is usually:</p><ol style="list-style-type: decimal"><li>Create a structure of Fantom data classes</li><li>Create a grammar to parse text documents into a node tree</li><li>Trim the tree by removing labels and branches, so the tree resembles the structure of the Fantom classes</li><li>Walk the tree, recursively creating corresponding data classes</li></ol><p>Pegger was inspired by <a class="externalLink" href="http://www.romanredz.se/papers/CSP2009.Mouse.pdf">Mouse</a>, <a class="externalLink" href="https://github.com/sirthias/parboiled/wiki">Parboiled</a> for Java, and <a class="externalLink" href="https://nim-lang.org/docs/pegs.html">pegs</a> for NIM.</p></div>https://eggbox.fantomfactory.org/pods/afBounceBounce v1.1.14 Released!2023-07-24T19:32:17+01:00Fantom-Factory Ltdhttps://www.fantomfactory.com/<div class="fandoc"><p>Bounce - use it to test your <a href="/pods/afBedSheet">BedSheet Apps</a>!</p><p>Bounce is a testing framework that makes requests to your <a href="/pods/afBedSheet">Bed App</a> without the expensive overhead of starting a web server, opening ports, and making network connections.</p><p>Bounce uses rich <a href="/pods/afSizzle">CSS selectors</a> and a simple API to let you query and verify your web pages. In fact, it's pretty much a headless browser!</p></div>https://eggbox.fantomfactory.org/pods/afFormBeanForm Bean v1.2.10 Released!2023-07-24T18:54:14+01:00Fantom-Factory Ltdhttps://www.fantomfactory.com/<div class="fandoc"><p>FormBean is a means to render Fantom objects as HTML forms, validate submitted values, and reconstitute them back into Fantom objects. Built on top of <a href="/pods/afIoc">IoC</a> and <a href="/pods/afBedSheet">BedSheet</a> FormBean allows you to customise every aspect of your HTML form generation.</p><p>Features:</p><ul><li>Renders Fantom objects as HTML forms.</li><li>HTML5 client and server side validation</li><li>Customise HTML generation with skins</li><li>Supports multipart forms / file uploads</li><li>Uses BedSheet <code>ValueEncoders</code> for string conversion</li><li>Versatile means of generating select options</li><li>Customised (error) messages</li></ul><p>Current limitations:</p><ul><li>Maps, Lists and nested objects are not supported.</li></ul></div>https://eggbox.fantomfactory.org/pods/afFancordionFancordion v1.1.6 Released!2023-07-14T10:55:38+01:00Fantom-Factory Ltdhttps://www.fantomfactory.com/<div class="fandoc"><p>Fancordion is a tool for creating automated acceptance tests, transforming your boring unit tests into beautiful specification documents! It is similar to <a class="externalLink" href="http://cukes.info/">Cucumber</a> but focuses on readability and presentation.</p><p>Fancordion embeds test results directly into your test documentation, giving it real <i>meaning</i>.</p><p>Features:</p><ul><li><b>Pretty</b> - creates beautiful HTML output.</li><li><b>Simple</b> - run Fancordion tests with <a class="externalLink" href="http://fantom.org/doc/docTools/Fant.html">fant</a>, just like a unit test!</li><li><b>Linkable</b> - create organised and hierarchical result pages.</li><li><b>Extensible</b> - write your own custom commands with ease.</li><li><b>Skinnable</b> - customise your HTML reports as you see fit.</li></ul><p><img class="img-responsive" src="/coldFeet/UW1RlQ/pods/afFancordion/doc/exampleScreenshot.png" alt="Fancordion Example"></p><p>Fancordion was inspired by Java's <a class="externalLink" href="http://concordion.org/">Concordion</a>.</p><p>For a great explanation of how to write great acceptance tests, along with do's and don't's, see <a class="externalLink" href="http://concordion.org/Technique.html">Hints and Tips</a> on the Concordion website.</p></div>https://eggbox.fantomfactory.org/pods/afFandocFandoc v2.0.6 Released!2023-07-08T16:23:02+01:00Fantom-Factory Ltdhttps://www.fantomfactory.com/<div class="fandoc"><p>Alternative and extensible Fandoc writers that provide intelligent context.</p><p><code><pre></code> blocks are parsed, providing syntax highlighting for code, and table rendering.</p><p>Hooks are provided to resolve link and image URLs so invalid links may be highlighted.</p></div>https://eggbox.fantomfactory.org/pods/afPlasticPlastic v1.1.8 Released!2023-06-14T21:47:27+01:00Fantom-Factory Ltdhttps://www.fantomfactory.com/<div class="fandoc"><p>Plastic is a library for dynamically generating and compiling Fantom code.</p><p>Plastic is the cornerstone of <a href="/pods/afIoc">IoC</a> proxied services and <a href="/pods/afEfan">Embedded Fantom (efan)</a> templates.</p></div>https://eggbox.fantomfactory.org/pods/afEfanefan v2.0.6 Released!2023-05-17T12:38:41+01:00Fantom-Factory Ltdhttps://www.fantomfactory.com/<div class="fandoc"><p><code>efan</code> is a library for rendering Embedded Fantom (efan) templates.</p><p>Like <code>EJS</code> for Javascript, <code>ERB</code> for Ruby and <code>JSP</code> for Java, <code>efan</code> lets you embed snippets of Fantom code inside textual templates.</p><p>Why stop with just <code>efan</code>???</p><ul><li>Create re-useable components with <a href="/pods/afEfanXtra">efanXtra</a></li><li>Use <a href="/pods/afPillow">Pillow</a> for your <a href="/pods/afBedSheet">BedSheet</a> applications.</li><li>To render HTML, use <a href="/pods/afSlim">Slim</a>.</li></ul></div>https://eggbox.fantomfactory.org/pods/afPicklePickle v1.0.4 Released!2023-04-16T14:52:55+01:00Fantom-Factory Ltdhttps://www.fantomfactory.com/<div class="fandoc"><p>A simple API that pickles Plain Old Fantom Objects to and from strings.</p><p>Pickle is a drop-in replacement for the standard <a class="externalLink" href="http://fantom.org/doc/docLang/Serialization.html">Fantom serialisation framework</a>. It fixes many bugs, adds new features, and in general, <i>just works!</i></p><p>Pickle only enhancements:</p><ul><li>Pretty printing is event prettier (and enabled by default).</li><li>Object creation may be handed off to a dedicated func via new <code>makeObjFn</code> option.</li><li>Pickled objects may omit <code>null</code> values via new <code>skipNulls</code> option.</li><li>Pickled objects may emit <code>using</code> statements via new <code>using</code> option, to reduce verbosity and cut down file size.</li><li>Fully tested in Java AND Javascript.</li></ul><p>Pickle fixes the following:</p><ul><li><a class="externalLink" href="https://fantom.org/forum/topic/2758">@2758</a> - It-block ctors are used if they exist.</li><li><a class="externalLink" href="https://fantom.org/forum/topic/2726">@2726</a> - Nested Maps are possible in JS.</li><li><a class="externalLink" href="https://fantom.org/forum/topic/2669">@2669</a> - Maps are ordered as after de-serialisation.</li><li><a class="externalLink" href="https://fantom.org/forum/topic/2644">@2644</a> - Optimised serialisation when using the <code>skipDefaults</code> option.</li></ul><p>The Pickle source code mostly <b>IS</b> the standard <i>Fantom serialisation framework</i>! The framework has been liberated into its own library to guard against it being <a class="externalLink" href="https://fantom.org/forum/topic/2758#c3">deleted from the Fantom code base</a> and to make much needed updates and adjustments.</p><p>Pickle contains native implementations for both Java and Javascript.</p></div>https://eggbox.fantomfactory.org/pods/afBeanUtilsBean Utils v1.0.14 Released!2023-04-14T11:41:08+01:00Fantom-Factory Ltdhttps://www.fantomfactory.com/<div class="fandoc"><p><code>Bean Utils</code> is a collection of utilities and software patterns for overcoming common issues associated with data objects.</p><p>Features include:</p><ul><li><b>Bean Builder</b><p>Static methods for creating Fantom objects. Don't <code>make()</code> your beans, <code>build()</code> them instead!</p></li><li><b>Bean Equality</b><p>Generate <code>equals()</code>, <code>hash()</code> and <code>toStr()</code> methods from fields.</p></li><li><b>Bean Properties</b><p>Get and set object properties and call methods via <code>property expressions</code>.</p></li><li><b>Type Coercer</b><p>Convert objects, lists and maps from one type to another using Fantom's standard <code>toXXX()</code> and <code>fromXXX()</code> methods.</p></li><li><b>More!</b><p>Utility methods to find matching ctors and methods.</p></li></ul><p><code>Bean Utils</code> is loosely named after <a class="externalLink" href="http://www.oracle.com/technetwork/java/javase/documentation/spec-136004.html">JavaBeans</a>,</p></div>https://eggbox.fantomfactory.org/pods/afPegger/1.1.6Pegger v1.1.6 Released!2023-04-14T11:12:11+01:00Fantom-Factory Ltdhttps://www.fantomfactory.com/<div class="fandoc"><p>Parsing Expression Grammar (PEG) for when Regular Expressions just aren't enough!</p><p>Pegger is a <a class="externalLink" href="http://pdos.csail.mit.edu/~baford/packrat/popl04/peg-popl04.pdf">Parsing Expression Grammar (PEG)</a> implementation. It lets you create text parsers by building up a tree of simple matching <a href="/pods/afPegger/1.1.6/api/Rules">rules</a>.</p><p>Advanced parsing options let you <i>look ahead</i> with predicates and the returned tree of match results gives you plenty of options for transforming it into useful data.</p><p>Pegger was inspired by <a class="externalLink" href="http://www.romanredz.se/papers/CSP2009.Mouse.pdf">Mouse</a>, <a class="externalLink" href="https://github.com/sirthias/parboiled/wiki">Parboiled</a>, and <a class="externalLink" href="https://nim-lang.org/docs/pegs.html">nim pegs</a>.</p></div>https://eggbox.fantomfactory.org/pods/fanbarsfanbars v0.12 Released!2023-03-27T14:51:27+01:00Novanthttps://novant.io/<div class="fandoc"></div>https://eggbox.fantomfactory.org/pods/croncron v1.1 Released!2023-02-18T14:10:32ZNovanthttps://novant.io/<div class="fandoc"></div>https://eggbox.fantomfactory.org/pods/afSizzle/1.0.6Sizzle v1.0.6 Released!2023-02-12T10:46:03ZFantom-Factory Ltdhttps://www.fantomfactory.com/<div class="fandoc"><p>Sizzle is a library for querying XML documents by means of <a class="externalLink" href="http://www.w3.org/TR/CSS21/selector.html">CSS 2.1</a> selectors.</p><p>Sizzle currently supports:</p><ul><li>The Universal selector - <code>*</code></li><li>Type selectors - <code>div</code></li><li>ID selectors - <code>#id</code></li><li>Class selectors - <code>.heading</code></li><li>Descendant selectors - <code>html div</code></li><li>Child selectors - <code>html > div</code></li><li>Adjacent sibling selectors - <code>div + p</code></li><li>Any value attribute selector - <code>[att]</code></li><li>Exact value attribute selector - <code>[att=val]</code></li><li>Whitespace value attribute selector - <code>[att~=val]</code></li><li>Language value attribute selector - <code>[att|=val]</code></li><li>The pseudo-class <code>:first-child</code></li><li>The language pseudo-class <code>:lang(xxx)</code></li></ul><p>Bonus <a class="externalLink" href="http://www.w3.org/TR/css3-selectors/">CSS3</a> selectors:</p><ul><li>The pseudo-class <code>:last-child</code></li><li>The pseudo-class <code>:nth-child(n)</code> <i>(basic numeric implementation)</i></li><li>The pseudo-class <code>:nth-last-child(n)</code> <i>(basic numeric implementation)</i></li></ul><p>Note: Sizzle has no association with <a class="externalLink" href="http://sizzlejs.com/">Sizzle - The JavaScript CSS Selector Engine</a> as used by <a class="externalLink" href="http://jquery.com/">JQuery</a>. Well, except for the name of course!</p></div>