harttle
2e5ab98bfc
feat: export toPromise and toValue, see #158
2020-08-05 00:46:01 +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
Bogdan Chadkin
6cf6ffae90
feat: setup universal browser and node builds
...
In this diff I fixed es modules distribution for bundlers.
Before we had two problems
- bundlers use "module" field to find es module build
- bundlers cannot use provided es module with node target
In this diff I addressed both of them. Now "main" and "module" fields
points to "node" specific versions. "browser" field provides aliases
with browser compatible builds.
All modern browsers support both "module" and "browser" fields.
2020-06-25 13:30:56 +03: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
673b015435
fix: properly treat unicode blanks, fixes #221
2020-04-28 20:55:30 +08:00
harttle
2fa4edaa84
docs: more specific description of strftime
2020-04-19 13:15:11 +08:00
Martin Schuster and Jun 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 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
f7ef9b61c1
refactor: remove src/render/value.ts
2020-03-14 19:04:18 +08:00
harttle
3dfdf982c9
perf: remove transient strings to reduce memory
2020-03-14 19:04:18 +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
c69ad538d4
test: remove mock for strftime cases
2019-12-14 18:34:14 +00:00
harttle
60ec74f55d
feat: nested property for the where filter, #178
2019-12-13 01:15:29 +08:00
harttle
f82da11f5a
fix: reading .first, .last of Array, closes #175
2019-11-16 01:14:09 +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
jamelait and Jun Yang
a00945cad7
fix: escape filter when input is undefined
2019-08-25 04:19:37 -05:00
Joonas Mertanen and Jun Yang
af841dc872
Add test for property access syntax
2019-08-08 08:08:18 -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
Patrick Malouin and Jun 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