Jason Garber and Jun Yang
0b4e2a9979
fix: strftime getSuffix works for all dates
...
As written, the strftime module's `getSuffix` method (responsible for
returning a date's ordinal string) works correctly for all dates in a
month _except_ 11, 12, and 13.
The existing code would return a string based on the last digit of the
date. In American English, these three dates use the `th` suffix rather
than `st`, `nd`, or `rd`.
This refactor/bug fix draws inspiration from Rails' ActiveSupport
ordinal inflector:
https://github.com/rails/rails/blob/main/activesupport/lib/active_support/locale/en.rb
The Ruby code above is designed to work with any number, so the bug fix
to this library is simpler.
The test suite is also updated with additional examples to verify the
correctness of these changes.
2023-06-15 21:01:55 +08:00
Harttle
3a67eb7f1c
fix: incorrect error message for browser UMD bundle
2023-06-04 12:00:32 +08:00
Harttle and Jun Yang
e347e603d7
feat: precise line/col for tokenization Error, #613
2023-06-04 02:06:42 +08:00
Harttle and Jun Yang
33b3c010af
fix: incorrect timezone correction for DST dates, fixes #604
2023-04-25 01:28:48 +08:00
Harttle and Jun Yang
21ee27b575
fix: timezoneOffset ignored in date when preserveTimezones is enabled, fixes #605
2023-04-25 01:28:48 +08:00
Jun Yang
7b87ea82d3
feat: JSON format by space in json filter
2023-03-22 00:08:24 +08:00
Harttle and Jun Yang
c6cde9cd10
chore: migrate test cases from Chai to Jest
2023-03-20 00:41:06 +08:00
Jun Yang
92992689cd
refactor: Tag class support in registerTag()
2022-11-27 14:04:01 +08:00
Jun Yang
ffefd91fbc
refactor: remove toThenable export
...
BREAKING CHANGE: `<liquidjs>.toThenable` is removed, use `<liquidjs>.toPromise` instead
2022-11-27 14:04:01 +08:00
Jun Yang
ff112a4750
chore: rename filters to snake style, #487
...
BREAKING CHANGE: keys in `<liquidjs>.filters` are now in snake case (instead of camel case), identical to that in Liquid template.
2022-11-27 14:04:00 +08:00
Harttle and Harttle
bbf00f37bf
feat: promise in expression & nested property, #533 #276
2022-08-27 23:19:16 +08:00
Harttle
4289b4e804
refactor: rename toValue to toValueSync
2022-07-10 00:24:00 +08:00
Harttle
c3e51caa70
fix: for tag not respecting Drop#valueOf(), fixes #515
2022-07-09 22:21:51 +08:00
James Prior and Jun Yang
a19feea7c4
feat: iteration protocols
2022-07-09 18:21:54 +08:00
Harttle
3dc4290b56
fix: stack overflow on large number of templates, #513
2022-07-08 01:46:51 +08:00
Harttle
f88490cd3c
feat: automatic output escaping, closes #500
2022-04-22 02:19:36 +08:00
Harttle
c503cb23df
feat: allow strip filter with specified char, closes #390
2022-03-06 00:20:51 +08:00
Harttle
7dfb620d30
fix: some filters throw on nil input, see #481
2022-02-27 02:07:59 +08:00
Harttle
ab5e245fba
fix: array output now join with "" instead of ","
2022-02-20 13:03:40 +08:00
Harttle and Harttle
95fc705b5d
chore: upgrade typescript
2021-12-11 20:23:09 +08:00
Harttle and Harttle
69286c6909
test: coverage to 100%
2021-12-07 23:34:53 +08:00
Harttle and Harttle
e2ef236f68
fix: throws when using preserveTimezones on Node.js, fixes #431
2021-12-07 22:43:47 +08:00
Harttle and harttle
b5b2a98d5e
chore: fix types
2021-10-16 22:36:46 +08:00
Harttle and harttle
8894cbfe6e
fix: cache ongoing parseFile() calls, fixes #416
2021-10-16 21:07:48 +08:00
Harttle and harttle
9cfa43b8ae
fix: hardcoded '/' in normalized options.fs, fixes #412 , #408
...
Changes including:
- will not call fs.resolve when normalizing `fs`
- removed hardcoded `/`
- mandatory `fs.dirname` for relative reference
- mandatory `fs.sep`, defaults to '/'
2021-10-16 12:10:55 +08:00
Harttle
fd5ef474c3
fix: support timezoneOffset for date from scope, #401
2021-10-06 15:45:41 +08:00
harttle
8273c17dab
perf: parse filenames in parse() insteadof render()
2021-09-30 22:15:09 +08:00
Harttle and harttle
6b9f872bcc
feat: timezoneOffset option to specify output timezone, see #375
2021-09-27 01:54:31 +08:00
Jun Yang
3e3d84a5ed
fix: operator boundary not correctly recognized, fixes #342
2021-05-04 18:13:02 +08:00
Laurin Quast and Jun Yang
1fd76acf28
fix: make LiquidError context property public
2021-05-01 20:00:02 +08:00
Laurin Quast and Jun Yang
9c7cb5752b
feat: add context as a property on the LiquidError error
2021-05-01 19:07:40 +08:00
Laurin Quast and Jun Yang
4e394b9072
feat: export errors for better error handling in user-land
2021-05-01 19:06:33 +08:00
Jun Yang
99d14e76d7
fix: comparison for empty/nil, fixes #321
2021-03-13 17:14:08 +08:00
harttle
2e66e8b02e
fix: lenientIf not working for the umd bundle, closes #313
2021-02-19 23:10:15 +08:00
Jason Etcovitch and Jun Yang
befc33c4eb
feat: create trie programmatically in options
2021-02-04 09:11:28 +08:00
Joonas and Jun Yang
de32259bb9
fix: lint
2020-12-18 22:03:58 +08:00
Joonas and Jun Yang
26b217542b
fix: move offset adding complexity inside TimezoneDate
2020-12-18 22:03:58 +08:00
Joonas and Jun Yang
e3ecfe3adc
fix: simpler timezone regex and non-null offset
2020-12-18 22:03:58 +08:00
wyozi and Jun Yang
c16c787861
feat: parse and handle date timezone offsets
2020-12-18 22:03:58 +08:00
harttle
a492d8e23d
fix: raw block not ignoring {% characters, fixes #263
2020-12-08 00:12:20 +08:00
sschuldenzucker and Jun Yang
d8f9091a12
add and use error classes for undefined variables
...
cleans up funky message-matching code in expression.ts for lenient.
2020-12-06 22:58:08 +08:00
harttle
2e5ab98bfc
feat: export toPromise and toValue, see #158
2020-08-05 00:46:01 +08:00
harttle
673b015435
fix: properly treat unicode blanks, fixes #221
2020-04-28 20:55:30 +08:00
harttle
c923598b40
fix: coerce to Array in map and where filter
2020-04-01 02:22:44 +08:00
harttle
479c63350a
fix: throws on invalid arguments for prepend/append, fixes #208
2020-03-24 23:57:26 +08:00
harttle
1673e84e27
perf: remove instanceof DelimitedToken
2020-03-15 02:51:25 +08:00
harttle
d2d6a38235
perf: introduce AST to avoid reparse
2020-03-15 02:51:25 +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
df8a919f71
feat: move filters/tags to instances, fixes #188
2020-03-03 00:02:29 +08:00