Commit Graph
65 Commits
Author SHA1 Message Date
sschuldenzuckerandJun Yang 768fb79e32 Implement lenientIf option (resolve #265; default off)
See description of the option in liquid-options.ts.
2020-12-06 22:58:08 +08:00
sschuldenzuckerandJun Yang c920ebb282 fix test: don't pass {} for Context 2020-12-06 22:58:08 +08:00
harttle 72ee7b4c1e feat: support jsTruthy, #255 #257 2020-10-08 13:11:02 +08:00
harttle 5b3f4195f0 fix: allow quoted variable name in capture, fixes #252 2020-10-03 22:03:17 +08:00
Tejas ManoharandGitHub 941dd668fe fix: enumerate Promises (e.g. in for & tablerow) (#237)
* fix: enumerate Promise<array> (e.g. in {% for ... %})

Previously, a Promise of an array was not being enumerated in
{% for %}, for example. This is misleading since the library
handles promises elsewhere (e.g. if you {% assign x = promiseArray %}
and then {% for v in x %}, it worked just fine.

This PR makes Promises of arrays handled by changing toEnumerable
to handle then-ables. This affects other iterators, too, e.g. tablerow,
so I put in a test for that as well.
2020-06-28 09:55:56 +08:00
harttle e36f3ff291 feat: async filters, closes #232 2020-06-25 12:30:56 +08:00
harttle 4f17c94988 feat: sort by key, see #227 2020-05-16 00:54:40 +08:00
harttle 2fa4edaa84 docs: more specific description of strftime 2020-04-19 13:15:11 +08:00
Martin SchusterandJun Yang a93f11d25a fix: respect cache render options 2020-04-03 10:42:32 +08:00
harttle c923598b40 fix: coerce to Array in map and where filter 2020-04-01 02:22:44 +08:00
harttle 8daf281fca fix: throw an error if : omitted unintentionally, #212, #208 2020-03-31 14:05:38 +08:00
harttle 3e42d6b1b0 docs: website for LiquidJS 2020-03-28 17:21:07 +08:00
harttle c371762c43 fix: default filter not applied for empty array 2020-03-26 01:39:30 +08:00
harttle 479c63350a fix: throws on invalid arguments for prepend/append, fixes #208 2020-03-24 23:57:26 +08:00
Cristofer GonzalesandJun Yang 93433a8b30 fix: return variable name in include error 2020-03-23 23:26:31 +08:00
harttle d2d6a38235 perf: introduce AST to avoid reparse 2020-03-15 02:51:25 +08:00
harttle 0f25017d5d test: test case for array index, #201 2020-03-11 01:09:58 +08:00
harttle 6de933897e fix: concurrent write on LRU cache (#200) 2020-03-10 01:09:41 +08:00
harttle 2c428221cb test: cases for TagMap 2020-03-07 00:58:39 +08:00
harttle f57156bccd fix: stable sort for undefined keys, fixes #191 2020-03-05 02:04:58 +08:00
harttle 61dac49b04 feat: async cache.read()/write(), remove .has() 2020-03-05 01:47:53 +08:00
harttle 6ea6881f08 feat: with & for in render tag, closes #195 2020-03-04 07:08:54 +08:00
harttle aa27a6cd7b feat: support json filter, closes #192 2020-03-04 03:42:18 +08:00
harttle df8a919f71 feat: move filters/tags to instances, fixes #188 2020-03-03 00:02:29 +08:00
harttle 185312dbff feat: "today" when using date filter, fixes #193 2020-02-21 01:48:10 +08:00
harttle 870e7ec6aa feat: globals shared between tags, see #185 2020-02-08 04:59:23 +08:00
harttle fc0cf6fe7b fix: expression and string literal parser, #186 2020-02-08 03:15:55 +08:00
harttle 5f9abdc8c6 test: integration cases for opts.fs, see #181 2020-01-04 13:53:08 +08:00
harttle ba5ff3f41c feat: full syntax for strftime, close #177
- strftime syntax: <flags><width><modifier><conversion>
- new conversions: %n, %t
- fixed conversions: %N
- flags: _ ^ - 0 # :
- modifiers: E, O (ignored)
2019-12-15 02:28:33 +00:00
harttle 60ec74f55d feat: nested property for the where filter, #178 2019-12-13 01:15:29 +08:00
harttle 2dd43559b5 feat: support require.resolve for lookup, see #168 2019-11-07 18:46:37 +08:00
Jun Yang d5e7b047bb feat: Support for the "render" tag #163 2019-10-27 00:06:16 +08:00
harttle b82fa9ed2b pref: remove await/async from internal async calls 2019-10-26 08:57:33 -05:00
harttle d2c8d133ff fix: unless content is not waited, fixes #160 2019-10-02 22:30:35 +08:00
harttle 0426d08fd0 style: fix linting 2019-08-26 10:15:43 -05:00
harttle 7fb01ad69a feat: renderSync, parseAndRenderSync and renderFileSync, see #48 2019-08-26 10:15:43 -05:00
harttle 76019e9e18 refactor: rewrite expression evaluation, fix #130 2019-08-26 10:15:43 -05:00
harttle ae45c4622e fix: break/continue omitting output before them, #123
BREAKING CHANGE: remove default export, now should be used like import
{Liquid} from 'liquidjs'
2019-08-26 10:15:43 -05:00
harttle 854e12ba53 refactor: add emitter for code generation 2019-08-26 10:15:43 -05:00
jamelaitandJun Yang a00945cad7 fix: escape filter when input is undefined 2019-08-25 04:19:37 -05:00
Robin BijlaniandJun Yang c8c6dd8275 Fix: Stringify append and prepend values 2019-07-25 13:12:07 +08:00
harttle 6e6ea0ae58 fix: some filters on undefined variable throws, #140 2019-07-22 16:48:48 +08:00
harttle 88c89fe3b3 style: introduce @typescript-eslint/recommended 2019-07-06 14:33:34 +08:00
harttle e6f5f1cd85 feat: at_least, at_most, sort_naturual for #132 2019-07-05 12:09:00 +08:00
Patrick MalouinandJun Yang edb2cc1f37 Expose fs as an option to override the default implementations 2019-06-27 09:25:17 +08:00
Jun Yang b14430a161 style: test/integration/builtin/filters/array.ts 2019-05-19 14:05:28 +08:00
Jun Yang 505c408a85 fix: reverse filter not pure, see #126 2019-05-19 13:58:11 +08:00
harttle c940e6c997 chore: try to make unit test locale independent 2019-05-12 22:58:29 +08:00
harttle fdf0043b9c fix: date from integer, #125 2019-05-12 21:03:35 +08:00
harttle bef290923c fix: pass drops directly to filters/tags 2019-05-12 20:03:32 +08:00