harttle
2bbf50171b
fix: elsif is not supported for unless, fixes #268
2020-12-08 00:16:36 +08:00
harttle
a492d8e23d
fix: raw block not ignoring {% characters, fixes #263
2020-12-08 00:12:20 +08:00
harttle
5b3f4195f0
fix: allow quoted variable name in capture, fixes #252
2020-10-03 22:03:17 +08:00
Tejas Manohar and GitHub
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
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
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 Gonzales and Jun 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
f57156bccd
fix: stable sort for undefined keys, fixes #191
2020-03-05 02:04:58 +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
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
60ec74f55d
feat: nested property for the where filter, #178
2019-12-13 01:15:29 +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
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
jamelait and Jun Yang
a00945cad7
fix: escape filter when input is undefined
2019-08-25 04:19:37 -05:00
Robin Bijlani and Jun 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
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
harttle
6075c0a54f
fix: default filter is not working with an empty string, #122
2019-04-27 00:26:17 +08:00
Jun Yang
daa0b574fc
feat: where filter, working on #118
...
doc: https://shopify.github.io/liquid/filters/where/
ruby impl: https://github.com/Shopify/liquid/blob/14cd011cb5eef042af192ad5294c8f0e1ae89f06/lib/liquid/standardfilters.rb
2019-04-02 00:46:32 +08:00
harttle
eadb6f3711
fix: slice filter on negative begin, #117
2019-04-01 10:57:08 +08:00
harttle
45e3c2bb8e
refactor: switch Context <-> Scope concepts
2019-03-25 10:36:23 +08:00
harttle
defbb58e66
fix: incorrect scope when using assign with for, fixes #115
...
* remove AssignScope, CaptureScope, IncrementScope, DecrementScope concepts
* introduce Scope.environments for decrement/increment
* assign to scopes[0] for assign/capture
2019-03-22 20:38:54 +08:00
Jun Yang
4a8088d4e4
feat: promise support for drops, working on #65
2019-03-10 18:05:52 +08:00
harttle
998832c772
refactor: mv custom filter test
2019-03-06 01:40:31 +08:00
harttle
5ffc904f80
fix: named params for filters, working on #113
2019-03-06 01:30:47 +08:00
Jun Yang
3647305dcf
feat: tablerowloop object
...
See: https://www.rubydoc.info/gems/liquid/Liquid/TablerowloopDrop
2019-03-02 06:00:30 +08:00
harttle
b4acdb463a
fix: math filters now return number, resolves #110
...
* fix linting
* numbers are no longer fixed:
i.e. {{0.3 | minus 0.1}} now renders as 0.19999
Stick to JavaScript number behavior, see: 8.0.0
2019-02-28 13:02:51 +08:00
harttle
7bee9fc92d
feat: exported Drop interface for #107
...
Deprecate snake_cased options and APIs, sed #109
2019-02-28 00:05:08 +08:00
harttle
53a835ab54
fix( #108 ): remove absolute path in emitted d.ts
2019-02-26 00:43:30 +08:00