From 724c0dd4a6c466c119b60647428a551d0eedbd54 Mon Sep 17 00:00:00 2001 From: Jeroen Engels Date: Sat, 4 Dec 2021 00:45:07 +0100 Subject: [PATCH] Add replacement for Set.map --- src/replacements/set/$elm$core$Set$map.js | 14 ++++++++++++++ src/transform.ts | 1 + src/types.ts | 5 +++++ 3 files changed, 20 insertions(+) create mode 100644 src/replacements/set/$elm$core$Set$map.js diff --git a/src/replacements/set/$elm$core$Set$map.js b/src/replacements/set/$elm$core$Set$map.js new file mode 100644 index 00000000..629b6b5b --- /dev/null +++ b/src/replacements/set/$elm$core$Set$map.js @@ -0,0 +1,14 @@ +var $elm$core$Set$map = F2( + function (func, set) { + return A3( + $elm$core$Set$foldl, + F2( + function (x, acc) { + return A2( + $elm$core$Set$insert, + func(x), + acc); + }), + $elm$core$Set$empty, + set); + }); \ No newline at end of file diff --git a/src/transform.ts b/src/transform.ts index 36dcc222..7453a4cc 100644 --- a/src/transform.ts +++ b/src/transform.ts @@ -89,6 +89,7 @@ export const transform = async ( [transforms.replacements != null, replacementTransformer ], [transforms.fastCurriedFns, Replace.from_file('/../replacements/faster-function-wrappers') ], [transforms.replaceListFunctions, Replace.from_file('/../replacements/list') ], + [transforms.replaceSetFunctions, Replace.from_file('/../replacements/set') ], [transforms.replaceStringFunctions, Replace.from_file('/../replacements/string') ], [transforms.v8Analysis, v8Debug], [transforms.variantShapes, normalizeVariantShapes], diff --git a/src/types.ts b/src/types.ts index e383dd52..c029fd90 100644 --- a/src/types.ts +++ b/src/types.ts @@ -38,6 +38,7 @@ export type Transforms = { objectUpdate: ObjectUpdate | false; unusedValues: boolean; replaceListFunctions: boolean; + replaceSetFunctions: boolean; replaceStringFunctions: boolean; recordUpdates: boolean; v8Analysis: boolean; @@ -89,6 +90,7 @@ export const emptyOpts: Transforms = { objectUpdate: false, unusedValues: false, replaceListFunctions: false, + replaceSetFunctions: false, replaceStringFunctions: false, recordUpdates: false, v8Analysis: false, @@ -111,6 +113,7 @@ export function toolDefaults(o3Enabled: boolean, replacements: { string: string objectUpdate: false, unusedValues: false, replaceListFunctions: true, + replaceSetFunctions: true, replaceStringFunctions: false, recordUpdates: o3Enabled, v8Analysis: false, @@ -134,6 +137,7 @@ export function benchmarkDefaults(o3Enabled: boolean, replacements: { string: st objectUpdate: false, unusedValues: false, replaceListFunctions: true, + replaceSetFunctions: true, replaceStringFunctions: false, recordUpdates: o3Enabled, v8Analysis: false, @@ -162,6 +166,7 @@ export const previous: Previous = objectUpdate: false, unusedValues: false, replaceListFunctions: false, + replaceSetFunctions: false, replaceStringFunctions: false, recordUpdates: false, v8Analysis: false,