@fgv/ts-utils
Advanced tools
Comparing version 0.3.16 to 0.3.17
{ | ||
"name": "@fgv/ts-utils", | ||
"version": "0.3.16", | ||
"version": "0.3.17", | ||
"description": "Assorted Typescript Utilities", | ||
@@ -32,8 +32,8 @@ "main": "index.js", | ||
"@types/jest": "^26.0.20", | ||
"@types/luxon": "^1.25.0", | ||
"@types/mustache": "^4.1.0", | ||
"@types/node": "^14.14.20", | ||
"@typescript-eslint/eslint-plugin": "^4.12.0", | ||
"@typescript-eslint/parser": "^4.12.0", | ||
"eslint": "^7.17.0", | ||
"@types/luxon": "^1.25.1", | ||
"@types/mustache": "^4.1.1", | ||
"@types/node": "^14.14.22", | ||
"@typescript-eslint/eslint-plugin": "^4.14.1", | ||
"@typescript-eslint/parser": "^4.14.1", | ||
"eslint": "^7.18.0", | ||
"eslint-config-standard": "^16.0.2", | ||
@@ -52,3 +52,3 @@ "eslint-plugin-import": "^2.22.1", | ||
"dependencies": { | ||
"csv-parse": "^4.12.0", | ||
"csv-parse": "^4.15.0", | ||
"luxon": "^1.25.0", | ||
@@ -55,0 +55,0 @@ "mustache": "^4.0.1" |
@@ -8,5 +8,14 @@ import { Result } from './result'; | ||
* @param factory The factory method used to convert elements | ||
* @returns Success with the resulting map, or Failure if an error occurs | ||
*/ | ||
export declare function recordToMap<TS, TD>(src: Record<string, TS>, factory: KeyedThingFactory<TS, TD>): Result<Map<string, TD>>; | ||
/** | ||
* Applies a factory method to convert an optional Record<string, TS> into a Map<string, TD> | ||
* @param src The Record object to be converted or undefined | ||
* @param factory The factory method used to convert elements | ||
* @returns Success with the resulting map if conversion succeeds, or success with undefined if src is undefined. Returns Failure with | ||
* a message if an error occurs. | ||
*/ | ||
export declare function optionalRecordToMap<TS, TD>(src: Record<string, TS> | undefined, factory: KeyedThingFactory<TS, TD>): Result<Map<string, TD> | undefined>; | ||
/** | ||
* Applies a factory method to convert a Map<string, TS> into a Record<string, TD> | ||
@@ -17,2 +26,10 @@ * @param src The Map object to be converted | ||
export declare function mapToRecord<TS, TD>(src: Map<string, TS>, factory: KeyedThingFactory<TS, TD>): Result<Record<string, TD>>; | ||
/** | ||
* Applies a factory method to convert an optional Map<string, TS> into a Record<string, TD> | ||
* @param src The Map object to be converted or undefined | ||
* @param factory The factory method used to convert elements | ||
* @returns Success with the resulting record if conversion succeeds, or success with undefined if src is undefined. Returns Failure with | ||
* a message if an error occurs. | ||
*/ | ||
export declare function optionalMapToRecord<TS, TD>(src: Map<string, TS> | undefined, factory: KeyedThingFactory<TS, TD>): Result<Record<string, TD> | undefined>; | ||
export {}; |
27
utils.js
@@ -24,3 +24,3 @@ "use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.mapToRecord = exports.recordToMap = exports.isKeyOf = void 0; | ||
exports.optionalMapToRecord = exports.mapToRecord = exports.optionalRecordToMap = exports.recordToMap = exports.isKeyOf = void 0; | ||
const result_1 = require("./result"); | ||
@@ -36,2 +36,3 @@ // eslint-disable-next-line @typescript-eslint/ban-types | ||
* @param factory The factory method used to convert elements | ||
* @returns Success with the resulting map, or Failure if an error occurs | ||
*/ | ||
@@ -55,2 +56,13 @@ function recordToMap(src, factory) { | ||
/** | ||
* Applies a factory method to convert an optional Record<string, TS> into a Map<string, TD> | ||
* @param src The Record object to be converted or undefined | ||
* @param factory The factory method used to convert elements | ||
* @returns Success with the resulting map if conversion succeeds, or success with undefined if src is undefined. Returns Failure with | ||
* a message if an error occurs. | ||
*/ | ||
function optionalRecordToMap(src, factory) { | ||
return (src === undefined) ? result_1.succeed(undefined) : recordToMap(src, factory); | ||
} | ||
exports.optionalRecordToMap = optionalRecordToMap; | ||
/** | ||
* Applies a factory method to convert a Map<string, TS> into a Record<string, TD> | ||
@@ -76,2 +88,13 @@ * @param src The Map object to be converted | ||
exports.mapToRecord = mapToRecord; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9CRzs7O0FBRUgscUNBQWlEO0FBRWpELHdEQUF3RDtBQUN4RCxTQUFnQixPQUFPLENBQW1CLEdBQXlCLEVBQUUsSUFBTztJQUN4RSxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDcEMsQ0FBQztBQUZELDBCQUVDO0FBSUQ7Ozs7R0FJRztBQUNILFNBQWdCLFdBQVcsQ0FBUyxHQUF1QixFQUFFLE9BQWtDO0lBQzNGLE1BQU0sR0FBRyxHQUFHLElBQUksR0FBRyxFQUFjLENBQUM7SUFDbEMsS0FBSyxNQUFNLEdBQUcsSUFBSSxHQUFHLEVBQUU7UUFDbkIsSUFBSSxHQUFHLENBQUMsR0FBRyxDQUFDLEtBQUssU0FBUyxFQUFFO1lBQ3hCLE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDMUMsSUFBSSxVQUFVLENBQUMsU0FBUyxFQUFFLEVBQUU7Z0JBQ3hCLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUNsQztpQkFDSTtnQkFDRCxPQUFPLGFBQUksQ0FBQyxHQUFHLEdBQUcsS0FBSyxVQUFVLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQzthQUNoRDtTQUNKO0tBQ0o7SUFDRCxPQUFPLGdCQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDeEIsQ0FBQztBQWRELGtDQWNDO0FBRUQ7Ozs7R0FJRztBQUNILFNBQWdCLFdBQVcsQ0FBUyxHQUFvQixFQUFFLE9BQWtDO0lBQ3hGLE1BQU0sTUFBTSxHQUF1QixFQUFFLENBQUM7SUFDdEMsS0FBSyxNQUFNLEdBQUcsSUFBSSxHQUFHLEVBQUU7UUFDbkIsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssU0FBUyxFQUFFO1lBQ3RCLE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDM0MsSUFBSSxVQUFVLENBQUMsU0FBUyxFQUFFLEVBQUU7Z0JBQ3hCLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDO2FBQ3JDO2lCQUNJO2dCQUNELE9BQU8sYUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLFVBQVUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO2FBQ25EO1NBQ0o7S0FDSjtJQUNELE9BQU8sZ0JBQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUMzQixDQUFDO0FBZEQsa0NBY0MiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBDb3B5cmlnaHQgKGMpIDIwMjAgRXJpayBGb3J0dW5lXHJcbiAqXHJcbiAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcclxuICogb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxyXG4gKiBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXHJcbiAqIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcclxuICogY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXHJcbiAqIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XHJcbiAqXHJcbiAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbFxyXG4gKiBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxyXG4gKlxyXG4gKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXHJcbiAqIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxyXG4gKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcclxuICogQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxyXG4gKiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxyXG4gKiBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRVxyXG4gKiBTT0ZUV0FSRS5cclxuICovXHJcblxyXG5pbXBvcnQgeyBSZXN1bHQsIGZhaWwsIHN1Y2NlZWQgfSBmcm9tICcuL3Jlc3VsdCc7XHJcblxyXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2Jhbi10eXBlc1xyXG5leHBvcnQgZnVuY3Rpb24gaXNLZXlPZjxUIGV4dGVuZHMgb2JqZWN0PihrZXk6IHN0cmluZ3xudW1iZXJ8c3ltYm9sLCBpdGVtOiBUKToga2V5IGlzIGtleW9mIFQge1xyXG4gICAgcmV0dXJuIGl0ZW0uaGFzT3duUHJvcGVydHkoa2V5KTtcclxufVxyXG5cclxudHlwZSBLZXllZFRoaW5nRmFjdG9yeTxUUywgVEQ+ID0gKGtleTogc3RyaW5nLCB0aGluZzogVFMpID0+IFJlc3VsdDxURD47XHJcblxyXG4vKipcclxuICogQXBwbGllcyBhIGZhY3RvcnkgbWV0aG9kIHRvIGNvbnZlcnQgYSBSZWNvcmQ8c3RyaW5nLCBUUz4gaW50byBhIE1hcDxzdHJpbmcsIFREPlxyXG4gKiBAcGFyYW0gc3JjIFRoZSBSZWNvcmQgb2JqZWN0IHRvIGJlIGNvbnZlcnRlZFxyXG4gKiBAcGFyYW0gZmFjdG9yeSBUaGUgZmFjdG9yeSBtZXRob2QgdXNlZCB0byBjb252ZXJ0IGVsZW1lbnRzXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gcmVjb3JkVG9NYXA8VFMsIFREPihzcmM6IFJlY29yZDxzdHJpbmcsIFRTPiwgZmFjdG9yeTogS2V5ZWRUaGluZ0ZhY3Rvcnk8VFMsIFREPik6IFJlc3VsdDxNYXA8c3RyaW5nLCBURD4+IHtcclxuICAgIGNvbnN0IG1hcCA9IG5ldyBNYXA8c3RyaW5nLCBURD4oKTtcclxuICAgIGZvciAoY29uc3Qga2V5IGluIHNyYykge1xyXG4gICAgICAgIGlmIChzcmNba2V5XSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGl0ZW1SZXN1bHQgPSBmYWN0b3J5KGtleSwgc3JjW2tleV0pO1xyXG4gICAgICAgICAgICBpZiAoaXRlbVJlc3VsdC5pc1N1Y2Nlc3MoKSkge1xyXG4gICAgICAgICAgICAgICAgbWFwLnNldChrZXksIGl0ZW1SZXN1bHQudmFsdWUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhaWwoYCR7a2V5fTogJHtpdGVtUmVzdWx0Lm1lc3NhZ2V9YCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gc3VjY2VlZChtYXApO1xyXG59XHJcblxyXG4vKipcclxuICogQXBwbGllcyBhIGZhY3RvcnkgbWV0aG9kIHRvIGNvbnZlcnQgYSBNYXA8c3RyaW5nLCBUUz4gaW50byBhIFJlY29yZDxzdHJpbmcsIFREPlxyXG4gKiBAcGFyYW0gc3JjIFRoZSBNYXAgb2JqZWN0IHRvIGJlIGNvbnZlcnRlZFxyXG4gKiBAcGFyYW0gZmFjdG9yeSBUaGUgZmFjdG9yeSBtZXRob2QgdXNlZCB0byBjb252ZXJ0IGVsZW1lbnRzXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gbWFwVG9SZWNvcmQ8VFMsIFREPihzcmM6IE1hcDxzdHJpbmcsIFRTPiwgZmFjdG9yeTogS2V5ZWRUaGluZ0ZhY3Rvcnk8VFMsIFREPik6IFJlc3VsdDxSZWNvcmQ8c3RyaW5nLCBURD4+IHtcclxuICAgIGNvbnN0IHJlY29yZDogUmVjb3JkPHN0cmluZywgVEQ+ID0ge307XHJcbiAgICBmb3IgKGNvbnN0IGt2cCBvZiBzcmMpIHtcclxuICAgICAgICBpZiAoa3ZwWzFdICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgY29uc3QgaXRlbVJlc3VsdCA9IGZhY3Rvcnkoa3ZwWzBdLCBrdnBbMV0pO1xyXG4gICAgICAgICAgICBpZiAoaXRlbVJlc3VsdC5pc1N1Y2Nlc3MoKSkge1xyXG4gICAgICAgICAgICAgICAgcmVjb3JkW2t2cFswXV0gPSBpdGVtUmVzdWx0LnZhbHVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhaWwoYCR7a3ZwWzBdfTogJHtpdGVtUmVzdWx0Lm1lc3NhZ2V9YCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gc3VjY2VlZChyZWNvcmQpO1xyXG59XHJcbiJdfQ== | ||
/** | ||
* Applies a factory method to convert an optional Map<string, TS> into a Record<string, TD> | ||
* @param src The Map object to be converted or undefined | ||
* @param factory The factory method used to convert elements | ||
* @returns Success with the resulting record if conversion succeeds, or success with undefined if src is undefined. Returns Failure with | ||
* a message if an error occurs. | ||
*/ | ||
function optionalMapToRecord(src, factory) { | ||
return (src === undefined) ? result_1.succeed(undefined) : mapToRecord(src, factory); | ||
} | ||
exports.optionalMapToRecord = optionalMapToRecord; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9CRzs7O0FBRUgscUNBQWlEO0FBRWpELHdEQUF3RDtBQUN4RCxTQUFnQixPQUFPLENBQW1CLEdBQXlCLEVBQUUsSUFBTztJQUN4RSxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDcEMsQ0FBQztBQUZELDBCQUVDO0FBSUQ7Ozs7O0dBS0c7QUFDSCxTQUFnQixXQUFXLENBQVMsR0FBdUIsRUFBRSxPQUFrQztJQUMzRixNQUFNLEdBQUcsR0FBRyxJQUFJLEdBQUcsRUFBYyxDQUFDO0lBQ2xDLEtBQUssTUFBTSxHQUFHLElBQUksR0FBRyxFQUFFO1FBQ25CLElBQUksR0FBRyxDQUFDLEdBQUcsQ0FBQyxLQUFLLFNBQVMsRUFBRTtZQUN4QixNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQzFDLElBQUksVUFBVSxDQUFDLFNBQVMsRUFBRSxFQUFFO2dCQUN4QixHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDbEM7aUJBQ0k7Z0JBQ0QsT0FBTyxhQUFJLENBQUMsR0FBRyxHQUFHLEtBQUssVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7YUFDaEQ7U0FDSjtLQUNKO0lBQ0QsT0FBTyxnQkFBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ3hCLENBQUM7QUFkRCxrQ0FjQztBQUVEOzs7Ozs7R0FNRztBQUNILFNBQWdCLG1CQUFtQixDQUFTLEdBQWlDLEVBQUUsT0FBa0M7SUFDN0csT0FBTyxDQUFDLEdBQUcsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztBQUNoRixDQUFDO0FBRkQsa0RBRUM7QUFFRDs7OztHQUlHO0FBQ0gsU0FBZ0IsV0FBVyxDQUFTLEdBQW9CLEVBQUUsT0FBa0M7SUFDeEYsTUFBTSxNQUFNLEdBQXVCLEVBQUUsQ0FBQztJQUN0QyxLQUFLLE1BQU0sR0FBRyxJQUFJLEdBQUcsRUFBRTtRQUNuQixJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxTQUFTLEVBQUU7WUFDdEIsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMzQyxJQUFJLFVBQVUsQ0FBQyxTQUFTLEVBQUUsRUFBRTtnQkFDeEIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUM7YUFDckM7aUJBQ0k7Z0JBQ0QsT0FBTyxhQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7YUFDbkQ7U0FDSjtLQUNKO0lBQ0QsT0FBTyxnQkFBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQzNCLENBQUM7QUFkRCxrQ0FjQztBQUVEOzs7Ozs7R0FNRztBQUNILFNBQWdCLG1CQUFtQixDQUFTLEdBQThCLEVBQUUsT0FBa0M7SUFDMUcsT0FBTyxDQUFDLEdBQUcsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztBQUNoRixDQUFDO0FBRkQsa0RBRUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBDb3B5cmlnaHQgKGMpIDIwMjAgRXJpayBGb3J0dW5lXHJcbiAqXHJcbiAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcclxuICogb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxyXG4gKiBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXHJcbiAqIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcclxuICogY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXHJcbiAqIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XHJcbiAqXHJcbiAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbFxyXG4gKiBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxyXG4gKlxyXG4gKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXHJcbiAqIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxyXG4gKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcclxuICogQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxyXG4gKiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxyXG4gKiBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRVxyXG4gKiBTT0ZUV0FSRS5cclxuICovXHJcblxyXG5pbXBvcnQgeyBSZXN1bHQsIGZhaWwsIHN1Y2NlZWQgfSBmcm9tICcuL3Jlc3VsdCc7XHJcblxyXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2Jhbi10eXBlc1xyXG5leHBvcnQgZnVuY3Rpb24gaXNLZXlPZjxUIGV4dGVuZHMgb2JqZWN0PihrZXk6IHN0cmluZ3xudW1iZXJ8c3ltYm9sLCBpdGVtOiBUKToga2V5IGlzIGtleW9mIFQge1xyXG4gICAgcmV0dXJuIGl0ZW0uaGFzT3duUHJvcGVydHkoa2V5KTtcclxufVxyXG5cclxudHlwZSBLZXllZFRoaW5nRmFjdG9yeTxUUywgVEQ+ID0gKGtleTogc3RyaW5nLCB0aGluZzogVFMpID0+IFJlc3VsdDxURD47XHJcblxyXG4vKipcclxuICogQXBwbGllcyBhIGZhY3RvcnkgbWV0aG9kIHRvIGNvbnZlcnQgYSBSZWNvcmQ8c3RyaW5nLCBUUz4gaW50byBhIE1hcDxzdHJpbmcsIFREPlxyXG4gKiBAcGFyYW0gc3JjIFRoZSBSZWNvcmQgb2JqZWN0IHRvIGJlIGNvbnZlcnRlZFxyXG4gKiBAcGFyYW0gZmFjdG9yeSBUaGUgZmFjdG9yeSBtZXRob2QgdXNlZCB0byBjb252ZXJ0IGVsZW1lbnRzXHJcbiAqIEByZXR1cm5zIFN1Y2Nlc3Mgd2l0aCB0aGUgcmVzdWx0aW5nIG1hcCwgb3IgRmFpbHVyZSBpZiBhbiBlcnJvciBvY2N1cnNcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiByZWNvcmRUb01hcDxUUywgVEQ+KHNyYzogUmVjb3JkPHN0cmluZywgVFM+LCBmYWN0b3J5OiBLZXllZFRoaW5nRmFjdG9yeTxUUywgVEQ+KTogUmVzdWx0PE1hcDxzdHJpbmcsIFREPj4ge1xyXG4gICAgY29uc3QgbWFwID0gbmV3IE1hcDxzdHJpbmcsIFREPigpO1xyXG4gICAgZm9yIChjb25zdCBrZXkgaW4gc3JjKSB7XHJcbiAgICAgICAgaWYgKHNyY1trZXldICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgY29uc3QgaXRlbVJlc3VsdCA9IGZhY3Rvcnkoa2V5LCBzcmNba2V5XSk7XHJcbiAgICAgICAgICAgIGlmIChpdGVtUmVzdWx0LmlzU3VjY2VzcygpKSB7XHJcbiAgICAgICAgICAgICAgICBtYXAuc2V0KGtleSwgaXRlbVJlc3VsdC52YWx1ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFpbChgJHtrZXl9OiAke2l0ZW1SZXN1bHQubWVzc2FnZX1gKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBzdWNjZWVkKG1hcCk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBBcHBsaWVzIGEgZmFjdG9yeSBtZXRob2QgdG8gY29udmVydCBhbiBvcHRpb25hbCBSZWNvcmQ8c3RyaW5nLCBUUz4gaW50byBhIE1hcDxzdHJpbmcsIFREPlxyXG4gKiBAcGFyYW0gc3JjIFRoZSBSZWNvcmQgb2JqZWN0IHRvIGJlIGNvbnZlcnRlZCBvciB1bmRlZmluZWRcclxuICogQHBhcmFtIGZhY3RvcnkgVGhlIGZhY3RvcnkgbWV0aG9kIHVzZWQgdG8gY29udmVydCBlbGVtZW50c1xyXG4gKiBAcmV0dXJucyBTdWNjZXNzIHdpdGggdGhlIHJlc3VsdGluZyBtYXAgaWYgY29udmVyc2lvbiBzdWNjZWVkcywgb3Igc3VjY2VzcyB3aXRoIHVuZGVmaW5lZCBpZiBzcmMgaXMgdW5kZWZpbmVkLiBSZXR1cm5zIEZhaWx1cmUgd2l0aFxyXG4gKiBhIG1lc3NhZ2UgaWYgYW4gZXJyb3Igb2NjdXJzLlxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIG9wdGlvbmFsUmVjb3JkVG9NYXA8VFMsIFREPihzcmM6IFJlY29yZDxzdHJpbmcsIFRTPnx1bmRlZmluZWQsIGZhY3Rvcnk6IEtleWVkVGhpbmdGYWN0b3J5PFRTLCBURD4pOiBSZXN1bHQ8TWFwPHN0cmluZywgVEQ+fHVuZGVmaW5lZD4ge1xyXG4gICAgcmV0dXJuIChzcmMgPT09IHVuZGVmaW5lZCkgPyBzdWNjZWVkKHVuZGVmaW5lZCkgOiByZWNvcmRUb01hcChzcmMsIGZhY3RvcnkpO1xyXG59XHJcblxyXG4vKipcclxuICogQXBwbGllcyBhIGZhY3RvcnkgbWV0aG9kIHRvIGNvbnZlcnQgYSBNYXA8c3RyaW5nLCBUUz4gaW50byBhIFJlY29yZDxzdHJpbmcsIFREPlxyXG4gKiBAcGFyYW0gc3JjIFRoZSBNYXAgb2JqZWN0IHRvIGJlIGNvbnZlcnRlZFxyXG4gKiBAcGFyYW0gZmFjdG9yeSBUaGUgZmFjdG9yeSBtZXRob2QgdXNlZCB0byBjb252ZXJ0IGVsZW1lbnRzXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gbWFwVG9SZWNvcmQ8VFMsIFREPihzcmM6IE1hcDxzdHJpbmcsIFRTPiwgZmFjdG9yeTogS2V5ZWRUaGluZ0ZhY3Rvcnk8VFMsIFREPik6IFJlc3VsdDxSZWNvcmQ8c3RyaW5nLCBURD4+IHtcclxuICAgIGNvbnN0IHJlY29yZDogUmVjb3JkPHN0cmluZywgVEQ+ID0ge307XHJcbiAgICBmb3IgKGNvbnN0IGt2cCBvZiBzcmMpIHtcclxuICAgICAgICBpZiAoa3ZwWzFdICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgY29uc3QgaXRlbVJlc3VsdCA9IGZhY3Rvcnkoa3ZwWzBdLCBrdnBbMV0pO1xyXG4gICAgICAgICAgICBpZiAoaXRlbVJlc3VsdC5pc1N1Y2Nlc3MoKSkge1xyXG4gICAgICAgICAgICAgICAgcmVjb3JkW2t2cFswXV0gPSBpdGVtUmVzdWx0LnZhbHVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhaWwoYCR7a3ZwWzBdfTogJHtpdGVtUmVzdWx0Lm1lc3NhZ2V9YCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gc3VjY2VlZChyZWNvcmQpO1xyXG59XHJcblxyXG4vKipcclxuICogQXBwbGllcyBhIGZhY3RvcnkgbWV0aG9kIHRvIGNvbnZlcnQgYW4gb3B0aW9uYWwgTWFwPHN0cmluZywgVFM+IGludG8gYSBSZWNvcmQ8c3RyaW5nLCBURD5cclxuICogQHBhcmFtIHNyYyBUaGUgTWFwIG9iamVjdCB0byBiZSBjb252ZXJ0ZWQgb3IgdW5kZWZpbmVkXHJcbiAqIEBwYXJhbSBmYWN0b3J5IFRoZSBmYWN0b3J5IG1ldGhvZCB1c2VkIHRvIGNvbnZlcnQgZWxlbWVudHNcclxuICogQHJldHVybnMgU3VjY2VzcyB3aXRoIHRoZSByZXN1bHRpbmcgcmVjb3JkIGlmIGNvbnZlcnNpb24gc3VjY2VlZHMsIG9yIHN1Y2Nlc3Mgd2l0aCB1bmRlZmluZWQgaWYgc3JjIGlzIHVuZGVmaW5lZC4gUmV0dXJucyBGYWlsdXJlIHdpdGhcclxuICogYSBtZXNzYWdlIGlmIGFuIGVycm9yIG9jY3Vycy5cclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBvcHRpb25hbE1hcFRvUmVjb3JkPFRTLCBURD4oc3JjOiBNYXA8c3RyaW5nLCBUUz58dW5kZWZpbmVkLCBmYWN0b3J5OiBLZXllZFRoaW5nRmFjdG9yeTxUUywgVEQ+KTogUmVzdWx0PFJlY29yZDxzdHJpbmcsIFREPnx1bmRlZmluZWQ+IHtcclxuICAgIHJldHVybiAoc3JjID09PSB1bmRlZmluZWQpID8gc3VjY2VlZCh1bmRlZmluZWQpIDogbWFwVG9SZWNvcmQoc3JjLCBmYWN0b3J5KTtcclxufVxyXG4iXX0= |
247776
2200
Updatedcsv-parse@^4.15.0