diff --git a/src/liquid-options.ts b/src/liquid-options.ts index d6f9f893a3..2e14e4d7f5 100644 --- a/src/liquid-options.ts +++ b/src/liquid-options.ts @@ -1,4 +1,3 @@ -import { deprecate } from './util/deprecate' import * as _ from './util/underscore' export interface LiquidOptions { @@ -77,13 +76,6 @@ export function normalize (options?: LiquidOptions): NormalizedOptions { if (options.hasOwnProperty('root')) { options.root = normalizeStringArray(options.root) } - for (const key of Object.keys(options)) { - if (key.indexOf('_') > -1) { - const newKey = key.replace(/_([a-z])/g, (_, ch) => ch.toUpperCase()) - deprecate(`${key} is deprecated, use ${newKey} instead.`, 109) - options[newKey] = options[key] - } - } return options as NormalizedOptions } diff --git a/src/scope/context.ts b/src/scope/context.ts index 7789e0ad42..71fd188795 100644 --- a/src/scope/context.ts +++ b/src/scope/context.ts @@ -2,9 +2,7 @@ import { Drop } from '../drop/drop' type PlainObject = { [key: string]: any - liquid_method_missing?: (key: string) => any // eslint-disable-line - to_liquid?: () => any // eslint-disable-line - toLiquid?: () => any // eslint-disable-line + toLiquid?: () => any } -export type Context = PlainObject | Drop \ No newline at end of file +export type Context = PlainObject | Drop diff --git a/src/scope/scope.ts b/src/scope/scope.ts index 1c00f31426..ae251b6782 100644 --- a/src/scope/scope.ts +++ b/src/scope/scope.ts @@ -22,7 +22,7 @@ export default class Scope { async get (path: string) { const paths = await this.propertyAccessSeq(path) let ctx = this.findContextFor(paths[0]) || _.last(this.contexts) - for (let path of paths) { + for (const path of paths) { ctx = this.readProperty(ctx, path) if (_.isNil(ctx) && this.opts.strictVariables) { throw new TypeError(`undefined variable: ${path}`) diff --git a/src/template/filter/filter.ts b/src/template/filter/filter.ts index e931415c81..af4c20d968 100644 --- a/src/template/filter/filter.ts +++ b/src/template/filter/filter.ts @@ -21,7 +21,7 @@ export class Filter { } async render (value: any, scope: Scope) { const argv: any[] = [] - for(let arg of this.args) { + for (const arg of this.args) { if (isArray(arg)) argv.push([arg[0], await evalValue(arg[1], scope)]) else argv.push(await evalValue(arg, scope)) } diff --git a/src/template/value.ts b/src/template/value.ts index 23418136d7..35b653405d 100644 --- a/src/template/value.ts +++ b/src/template/value.ts @@ -49,7 +49,7 @@ export default class Value { } async value (scope: Scope) { let val = await evalExp(this.initial, scope) - for (let filter of this.filters) { + for (const filter of this.filters) { val = await filter.render(val, scope) } return val diff --git a/src/util/deprecate.ts b/src/util/deprecate.ts deleted file mode 100644 index 9e4a5baa3d..0000000000 --- a/src/util/deprecate.ts +++ /dev/null @@ -1,7 +0,0 @@ -const reported:{[key: string]: boolean} = {} - -export function deprecate (msg: string, issue: number) { - if (reported[msg]) return - console.warn(msg + ` See: https://github.com/harttle/liquidjs/issues/${issue}`) - reported[msg] = true -} diff --git a/src/util/underscore.ts b/src/util/underscore.ts index 057bab6672..7de9c1c63c 100644 --- a/src/util/underscore.ts +++ b/src/util/underscore.ts @@ -1,4 +1,3 @@ -import { deprecate } from './deprecate' const toStr = Object.prototype.toString /* @@ -29,18 +28,10 @@ export function promisify (fn: any) { export function stringify (value: any): string { if (isNil(value)) return '' value = toLiquid(value) - if (isFunction(value.to_s)) { - deprecate('to_s is deprecated, use toString instead.', 109) - return value.to_s() - } return String(value) } export function toLiquid (value: any): any { - if (isFunction(value.to_liquid)) { - deprecate('to_liquid is deprecated, use toLiquid instead.', 109) - return toLiquid(value.to_liquid()) - } if (isFunction(value.toLiquid)) return toLiquid(value.toLiquid()) return value } diff --git a/test/integration/liquid/strict.ts b/test/integration/liquid/strict.ts index c813675f3a..09c2b9d8c5 100644 --- a/test/integration/liquid/strict.ts +++ b/test/integration/liquid/strict.ts @@ -1,7 +1,7 @@ import Liquid from '../../../src/liquid' import { expect } from 'chai' -describe('LiquidOptions#strict_*', function () { +describe('LiquidOptions#strict*', function () { let engine: Liquid const ctx = {} beforeEach(function () { diff --git a/test/integration/liquid/trimming.ts b/test/integration/liquid/trimming.ts index 63c8b16a22..dc99715671 100644 --- a/test/integration/liquid/trimming.ts +++ b/test/integration/liquid/trimming.ts @@ -5,35 +5,35 @@ describe('LiquidOptions#trimming', function () { const ctx = { name: 'harttle' } describe('tag trimming', function () { - it('should respect trim_tag_left', async function () { - const engine = new Liquid({ trim_tag_left: true } as any) + it('should respect trimTagLeft', async function () { + const engine = new Liquid({ trimTagLeft: true }) const html = await engine.parseAndRender(' \n \t{%if true%}foo{%endif%} ') return expect(html).to.equal('foo ') }) - it('should respect trim_tag_right', async function () { - const engine = new Liquid({ trim_tag_right: true } as any) + it('should respect trimTagRight', async function () { + const engine = new Liquid({ trimTagRight: true } as any) const html = await engine.parseAndRender('\t{%if true%}foo{%endif%} \n') return expect(html).to.equal('\tfoo') }) it('should not trim value', async function () { - const engine = new Liquid({ trim_tag_left: true, trim_tag_right: true } as any) + const engine = new Liquid({ trimTagLeft: true, trimTagRight: true } as any) const html = await engine.parseAndRender('{%if true%}a {{name}} b{%endif%}', ctx) return expect(html).to.equal('a harttle b') }) }) describe('value trimming', function () { - it('should respect trim_output_left', async function () { - const engine = new Liquid({ trim_output_left: true } as any) + it('should respect trimOutputLeft', async function () { + const engine = new Liquid({ trimOutputLeft: true } as any) const html = await engine.parseAndRender(' \n \t{{name}} ', ctx) return expect(html).to.equal('harttle ') }) - it('should respect trim_output_right', async function () { - const engine = new Liquid({ trim_output_right: true } as any) + it('should respect trimOutputRight', async function () { + const engine = new Liquid({ trimOutputRight: true } as any) const html = await engine.parseAndRender(' \n \t{{name}} ', ctx) return expect(html).to.equal(' \n \tharttle') }) it('should respect not trim tag', async function () { - const engine = new Liquid({ trim_output_left: true, trim_output_right: true } as any) + const engine = new Liquid({ trimOutputLeft: true, trimOutputRight: true } as any) const html = await engine.parseAndRender('\t{% if true %} aha {%endif%}\t') return expect(html).to.equal('\t aha \t') }) diff --git a/test/unit/scope/scope.ts b/test/unit/scope/scope.ts index 70cc2ee2d9..8563fae087 100644 --- a/test/unit/scope/scope.ts +++ b/test/unit/scope/scope.ts @@ -85,15 +85,6 @@ describe('scope', function () { it("should throw when '' unbalanced", async function () { expect(scope.get("foo['bar]")).to.be.rejectedWith(/unbalanced '/) }) - - it('should respect to to_liquid', async function () { - const scope = new Scope({ foo: { - to_liquid: () => ({ bar: 'BAR' }), - bar: 'bar' - } }) - expect(await scope.get('foo.bar')).to.equal('BAR') - }) - it('should respect to toLiquid', async function () { const scope = new Scope({ foo: { toLiquid: () => ({ bar: 'BAR' }), diff --git a/test/unit/template/output.ts b/test/unit/template/output.ts index 5f2900841e..b4dad3c28b 100644 --- a/test/unit/template/output.ts +++ b/test/unit/template/output.ts @@ -11,14 +11,6 @@ describe('Output', function () { Filter.clear() }) - it('should respect to .to_liquid() method', async function () { - const scope = new Scope({ - bar: { to_liquid: () => 'custom' } - }) - const output = new Output({ value: 'bar' } as OutputToken, false) - const html = await output.render(scope) - return expect(html).to.equal('custom') - }) it('should stringify objects', async function () { const scope = new Scope({ foo: { obj: { arr: ['a', 2] } } @@ -39,12 +31,6 @@ describe('Output', function () { const str = await output.render(scope) return expect(str).to.equal('FOO') }) - it('should respect to .to_s()', async () => { - const scope = new Scope({ obj: { to_s: () => 'FOO' } }) - const output = new Output({ value: 'obj' } as OutputToken, false) - const str = await output.render(scope) - return expect(str).to.equal('FOO') - }) it('should respect to .toString()', async () => { const scope = new Scope({ obj: { toString: () => 'FOO' } }) const output = new Output({ value: 'obj' } as OutputToken, false) diff --git a/test/unit/util/underscore.ts b/test/unit/util/underscore.ts index 814862ff03..269fca031f 100644 --- a/test/unit/util/underscore.ts +++ b/test/unit/util/underscore.ts @@ -19,9 +19,6 @@ describe('util/underscore', function () { }) }) describe('.stringify()', function () { - it('should respect to to_liquid() method', function () { - expect(_.stringify({ to_liquid: () => 'foo' })).to.equal('foo') - }) it('should respect to toLiquid() method', function () { expect(_.stringify({ toLiquid: () => 'foo' })).to.equal('foo') })