From 3407e6019c7258d7d201146fcc127cb112100a85 Mon Sep 17 00:00:00 2001 From: Shivam Mathur Date: Thu, 15 Dec 2022 05:27:13 +0530 Subject: [PATCH] Quote ini values with equal sign --- __tests__/utils.test.ts | 3 +++ dist/index.js | 3 ++- src/utils.ts | 3 ++- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/__tests__/utils.test.ts b/__tests__/utils.test.ts index 45b01b0d..31252907 100644 --- a/__tests__/utils.test.ts +++ b/__tests__/utils.test.ts @@ -109,6 +109,9 @@ describe('Utils tests', () => { expect( await utils.CSVArray('a=E_ALL, b=E_ALL & ~ E_ALL, c="E_ALL", d=\'E_ALL\'') ).toEqual(['a=E_ALL', 'b=E_ALL & ~ E_ALL', 'c=E_ALL', 'd=E_ALL']); + expect( + await utils.CSVArray('a="b=c;d=e", b=\'c=d,e\', c="g=h,i=j", d=g=h, a===') + ).toEqual(["a='b=c;d=e'", "b='c=d,e'", "c='g=h,i=j'", "d='g=h'", "a='=='"]); expect(await utils.CSVArray('')).toEqual([]); expect(await utils.CSVArray(' ')).toEqual([]); }); diff --git a/dist/index.js b/dist/index.js index 6111a971..c84d0142 100644 --- a/dist/index.js +++ b/dist/index.js @@ -1172,7 +1172,8 @@ async function CSVArray(values_csv) { return value .trim() .replace(/^["']|["']$|(?<==)["']/g, '') - .replace(/=(((?!E_).)*[?{}|&~![()^]+((?!E_).)+)/, "='$1'"); + .replace(/=(((?!E_).)*[?{}|&~![()^]+((?!E_).)+)/, "='$1'") + .replace(/=(.*?)(=.*)/, "='$1$2'"); }) .filter(Boolean); } diff --git a/src/utils.ts b/src/utils.ts index 2a3b1ac2..8a7d9554 100644 --- a/src/utils.ts +++ b/src/utils.ts @@ -246,7 +246,8 @@ export async function CSVArray(values_csv: string): Promise> { return value .trim() .replace(/^["']|["']$|(?<==)["']/g, '') - .replace(/=(((?!E_).)*[?{}|&~![()^]+((?!E_).)+)/, "='$1'"); + .replace(/=(((?!E_).)*[?{}|&~![()^]+((?!E_).)+)/, "='$1'") + .replace(/=(.*?)(=.*)/, "='$1$2'"); }) .filter(Boolean); }