mirror of
https://github.com/shivammathur/setup-php.git
synced 2024-11-22 20:01:06 +07:00
Add support for quoted csv in ini-values
This commit is contained in:
parent
d2f58713aa
commit
6972aed899
@ -111,6 +111,17 @@ describe('Utils tests', () => {
|
|||||||
'b=2',
|
'b=2',
|
||||||
'c=3'
|
'c=3'
|
||||||
]);
|
]);
|
||||||
|
expect(await utils.CSVArray('\'a=1,2\', "b=3, 4", c=5, d=~e~')).toEqual([
|
||||||
|
'a=1,2',
|
||||||
|
'b=3, 4',
|
||||||
|
'c=5',
|
||||||
|
"d='~e~'"
|
||||||
|
]);
|
||||||
|
expect(await utils.CSVArray('a=\'1,2\', b="3, 4", c=5')).toEqual([
|
||||||
|
'a=1,2',
|
||||||
|
'b=3, 4',
|
||||||
|
'c=5'
|
||||||
|
]);
|
||||||
expect(await utils.CSVArray('')).toEqual([]);
|
expect(await utils.CSVArray('')).toEqual([]);
|
||||||
expect(await utils.CSVArray(' ')).toEqual([]);
|
expect(await utils.CSVArray(' ')).toEqual([]);
|
||||||
});
|
});
|
||||||
|
10
dist/index.js
vendored
10
dist/index.js
vendored
@ -1241,8 +1241,7 @@ async function extensionArray(extension_csv) {
|
|||||||
return extension
|
return extension
|
||||||
.trim()
|
.trim()
|
||||||
.toLowerCase()
|
.toLowerCase()
|
||||||
.replace('php-', '')
|
.replace(/^php[-_]/, '');
|
||||||
.replace('php_', '');
|
|
||||||
})
|
})
|
||||||
.filter(Boolean);
|
.filter(Boolean);
|
||||||
}
|
}
|
||||||
@ -1261,9 +1260,12 @@ async function CSVArray(values_csv) {
|
|||||||
return [];
|
return [];
|
||||||
default:
|
default:
|
||||||
return values_csv
|
return values_csv
|
||||||
.split(',')
|
.split(/,(?=(?:(?:[^"']*["']){2})*[^"']*$)/)
|
||||||
.map(function (value) {
|
.map(function (value) {
|
||||||
return value.trim();
|
return value
|
||||||
|
.trim()
|
||||||
|
.replace(/^["']|["']$|(?<==)["']/g, '')
|
||||||
|
.replace(/=(.*[?{}|&~![()^]+.*)/, "='$1'");
|
||||||
})
|
})
|
||||||
.filter(Boolean);
|
.filter(Boolean);
|
||||||
}
|
}
|
||||||
|
12
src/utils.ts
12
src/utils.ts
@ -228,8 +228,7 @@ export async function extensionArray(
|
|||||||
return extension
|
return extension
|
||||||
.trim()
|
.trim()
|
||||||
.toLowerCase()
|
.toLowerCase()
|
||||||
.replace('php-', '')
|
.replace(/^php[-_]/, '');
|
||||||
.replace('php_', '');
|
|
||||||
})
|
})
|
||||||
.filter(Boolean);
|
.filter(Boolean);
|
||||||
}
|
}
|
||||||
@ -248,9 +247,12 @@ export async function CSVArray(values_csv: string): Promise<Array<string>> {
|
|||||||
return [];
|
return [];
|
||||||
default:
|
default:
|
||||||
return values_csv
|
return values_csv
|
||||||
.split(',')
|
.split(/,(?=(?:(?:[^"']*["']){2})*[^"']*$)/)
|
||||||
.map(function (value: string) {
|
.map(function (value) {
|
||||||
return value.trim();
|
return value
|
||||||
|
.trim()
|
||||||
|
.replace(/^["']|["']$|(?<==)["']/g, '')
|
||||||
|
.replace(/=(.*[?{}|&~![()^]+.*)/, "='$1'");
|
||||||
})
|
})
|
||||||
.filter(Boolean);
|
.filter(Boolean);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user