From e4d17f58172935fc4d6297d0ae7b84c3f709bef4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Iv=C3=A1n=20Ovejero?= Date: Thu, 19 Jan 2023 12:35:15 +0100 Subject: [PATCH] :fire: Remove dummy extensions --- .../src/Extensions/ArrayExtensions.ts | 1 - .../src/Extensions/StringExtensions.ts | 18 -------- .../ExpressionExtension.test.ts | 42 ++++++++++--------- .../NumberExtensions.test.ts | 4 +- .../StringExtensions.test.ts | 22 ---------- 5 files changed, 25 insertions(+), 62 deletions(-) diff --git a/packages/workflow/src/Extensions/ArrayExtensions.ts b/packages/workflow/src/Extensions/ArrayExtensions.ts index a48f58c2fcc..cdc54902de6 100644 --- a/packages/workflow/src/Extensions/ArrayExtensions.ts +++ b/packages/workflow/src/Extensions/ArrayExtensions.ts @@ -199,7 +199,6 @@ export function average(value: unknown[]) { } function compact(value: unknown[]): unknown[] { - console.log('value[4]', value[4]); return value .filter((v) => v !== null && v !== undefined && v !== 'nil' && v !== '') .map((v) => { diff --git a/packages/workflow/src/Extensions/StringExtensions.ts b/packages/workflow/src/Extensions/StringExtensions.ts index 780499a2b64..62709db7a48 100644 --- a/packages/workflow/src/Extensions/StringExtensions.ts +++ b/packages/workflow/src/Extensions/StringExtensions.ts @@ -54,18 +54,6 @@ function encrypt(value: string, extraArgs?: unknown): string { // return createHash(format).update(value.toString()).digest('hex'); } -function getOnlyFirstCharacters(value: string, extraArgs: number[]): string { - const [end] = extraArgs; - - if (typeof end !== 'number') { - throw new ExpressionError.ExpressionExtensionError( - 'getOnlyFirstCharacters() requires a argument', - ); - } - - return value.slice(0, end); -} - function isEmpty(value: string): boolean { return value === ''; } @@ -120,10 +108,6 @@ function removeMarkdown(value: string): string { return output; } -function sayHi(value: string) { - return `hi ${value}`; -} - function stripTags(value: string): string { return value.replace(/<[^>]*>?/gm, ''); } @@ -256,9 +240,7 @@ export const stringExtensions: ExtensionMap = { functions: { encrypt, hash: encrypt, - getOnlyFirstCharacters, removeMarkdown, - sayHi, stripTags, toDate, toDecimalNumber: toFloat, diff --git a/packages/workflow/test/ExpressionExtensions/ExpressionExtension.test.ts b/packages/workflow/test/ExpressionExtensions/ExpressionExtension.test.ts index 951b0aa9f4d..e12df5928e4 100644 --- a/packages/workflow/test/ExpressionExtensions/ExpressionExtension.test.ts +++ b/packages/workflow/test/ExpressionExtensions/ExpressionExtension.test.ts @@ -12,15 +12,15 @@ describe('Expression Extension Transforms', () => { expect(extendTransform('"".isEmpty()')!.code).toEqual('extend("", "isEmpty", [])'); }); - test('Chained transform with .sayHi.getOnlyFirstCharacters', () => { - expect(extendTransform('"".sayHi().getOnlyFirstCharacters(2)')!.code).toEqual( - 'extend(extend("", "sayHi", []), "getOnlyFirstCharacters", [2])', + test('Chained transform with .toSnakeCase.toSentenceCase', () => { + expect(extendTransform('"".toSnakeCase().toSentenceCase(2)')!.code).toEqual( + 'extend(extend("", "toSnakeCase", []), "toSentenceCase", [2])', ); }); - test('Chained transform with native functions .sayHi.trim.getOnlyFirstCharacters', () => { - expect(extendTransform('"aaa ".sayHi().trim().getOnlyFirstCharacters(2)')!.code).toEqual( - 'extend(extend("aaa ", "sayHi", []).trim(), "getOnlyFirstCharacters", [2])', + test('Chained transform with native functions .toSnakeCase.trim.toSentenceCase', () => { + expect(extendTransform('"aaa ".toSnakeCase().trim().toSentenceCase(2)')!.code).toEqual( + 'extend(extend("aaa ", "toSnakeCase", []).trim(), "toSentenceCase", [2])', ); }); }); @@ -36,19 +36,21 @@ describe('tmpl Expression Parser', () => { }); test('Multiple expression', () => { - expect(splitExpression('{{ "test".sayHi() }} you have ${{ (100).format() }}.')).toEqual([ - { type: 'text', text: '' }, - { type: 'code', text: ' "test".sayHi() ', hasClosingBrackets: true }, - { type: 'text', text: ' you have $' }, - { type: 'code', text: ' (100).format() ', hasClosingBrackets: true }, - { type: 'text', text: '.' }, - ]); + expect(splitExpression('{{ "test".toSnakeCase() }} you have ${{ (100).format() }}.')).toEqual( + [ + { type: 'text', text: '' }, + { type: 'code', text: ' "test".toSnakeCase() ', hasClosingBrackets: true }, + { type: 'text', text: ' you have $' }, + { type: 'code', text: ' (100).format() ', hasClosingBrackets: true }, + { type: 'text', text: '.' }, + ], + ); }); test('Unclosed expression', () => { - expect(splitExpression('{{ "test".sayHi() }} you have ${{ (100).format()')).toEqual([ + expect(splitExpression('{{ "test".toSnakeCase() }} you have ${{ (100).format()')).toEqual([ { type: 'text', text: '' }, - { type: 'code', text: ' "test".sayHi() ', hasClosingBrackets: true }, + { type: 'code', text: ' "test".toSnakeCase() ', hasClosingBrackets: true }, { type: 'text', text: ' you have $' }, { type: 'code', text: ' (100).format()', hasClosingBrackets: false }, ]); @@ -75,14 +77,16 @@ describe('tmpl Expression Parser', () => { test('Multiple expression', () => { expect( - joinExpression(splitExpression('{{ "test".sayHi() }} you have ${{ (100).format() }}.')), - ).toEqual('{{ "test".sayHi() }} you have ${{ (100).format() }}.'); + joinExpression( + splitExpression('{{ "test".toSnakeCase() }} you have ${{ (100).format() }}.'), + ), + ).toEqual('{{ "test".toSnakeCase() }} you have ${{ (100).format() }}.'); }); test('Unclosed expression', () => { expect( - joinExpression(splitExpression('{{ "test".sayHi() }} you have ${{ (100).format()')), - ).toEqual('{{ "test".sayHi() }} you have ${{ (100).format()'); + joinExpression(splitExpression('{{ "test".toSnakeCase() }} you have ${{ (100).format()')), + ).toEqual('{{ "test".toSnakeCase() }} you have ${{ (100).format()'); }); test('Escaped opening bracket', () => { diff --git a/packages/workflow/test/ExpressionExtensions/NumberExtensions.test.ts b/packages/workflow/test/ExpressionExtensions/NumberExtensions.test.ts index 75c912ae631..8452efa2df1 100644 --- a/packages/workflow/test/ExpressionExtensions/NumberExtensions.test.ts +++ b/packages/workflow/test/ExpressionExtensions/NumberExtensions.test.ts @@ -51,8 +51,8 @@ describe('Data Transformation Functions', () => { describe('Multiple expressions', () => { test('Basic multiple expressions', () => { - expect(evaluate('={{ "Test".sayHi() }} you have ${{ (100).format() }}.')).toEqual( - 'hi Test you have $100.', + expect(evaluate('={{ "test abc".toSnakeCase() }} you have ${{ (100).format() }}.')).toEqual( + 'test_abc you have $100.', ); }); }); diff --git a/packages/workflow/test/ExpressionExtensions/StringExtensions.test.ts b/packages/workflow/test/ExpressionExtensions/StringExtensions.test.ts index b0fe0197bfa..2bd6ae7d304 100644 --- a/packages/workflow/test/ExpressionExtensions/StringExtensions.test.ts +++ b/packages/workflow/test/ExpressionExtensions/StringExtensions.test.ts @@ -16,28 +16,6 @@ describe('Data Transformation Functions', () => { expect(evaluate('={{"".isEmpty()}}')).toEqual(true); }); - test('.getOnlyFirstCharacters() should work correctly on a string', () => { - expect(evaluate('={{"myNewField".getOnlyFirstCharacters(5)}}')).toEqual('myNew'); - - expect(evaluate('={{"myNewField".getOnlyFirstCharacters(10)}}')).toEqual('myNewField'); - - expect( - evaluate('={{"myNewField".getOnlyFirstCharacters(5).length >= "myNewField".length}}'), - ).toEqual(false); - - expect(evaluate('={{DateTime.now().toLocaleString().getOnlyFirstCharacters(2)}}')).toEqual( - stringExtensions.functions.getOnlyFirstCharacters( - // @ts-ignore - dateExtensions.functions.toLocaleString(new Date(), []), - [2], - ), - ); - }); - - test('.sayHi() should work correctly on a string', () => { - expect(evaluate('={{ "abc".sayHi() }}')).toEqual('hi abc'); - }); - test('.encrypt() should work correctly on a string', () => { expect(evaluate('={{ "12345".encrypt("sha256") }}')).toEqual( stringExtensions.functions.encrypt('12345', ['sha256']),