Skip to content

Commit 1077cd2

Browse files
committed
(- re) change_ext_ns_suffix: Label ambiguous string-args, clarify name
1 parent 661c7e4 commit 1077cd2

File tree

5 files changed

+35
-20
lines changed

5 files changed

+35
-20
lines changed

jscomp/bsb/bsb_package_specs.ml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -202,8 +202,9 @@ let get_list_of_output_js (package_specs : Spec_set.t) (bs_suffix : bool)
202202
Spec_set.fold
203203
(fun (spec : spec) acc ->
204204
let basename =
205-
Ext_namespace.change_ext_ns_suffix output_file_sans_extension
206-
(if bs_suffix then Literals.suffix_bs_js else Literals.suffix_js)
205+
Ext_namespace.replace_namespace_with_extension
206+
~name:output_file_sans_extension
207+
~ext:(if bs_suffix then Literals.suffix_bs_js else Literals.suffix_js)
207208
in
208209
( Bsb_config.proj_rel
209210
@@

jscomp/core/lam_compile_main.ml

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -278,10 +278,11 @@ let (//) = Filename.concat
278278
let lambda_as_module (lambda_output : J.deps_program) (output_prefix : string) :
279279
unit =
280280
let basename =
281-
Ext_namespace.change_ext_ns_suffix
282-
(Filename.basename output_prefix)
283-
( if !Js_config.bs_suffix then Literals.suffix_bs_js
284-
else Literals.suffix_js )
281+
Ext_namespace.replace_namespace_with_extension
282+
~name:(Filename.basename output_prefix)
283+
~ext:
284+
( if !Js_config.bs_suffix then Literals.suffix_bs_js
285+
else Literals.suffix_js )
285286
in
286287
let package_info = Js_packages_state.get_packages_info () in
287288
if Js_packages_info.is_empty package_info && !Js_config.js_stdout then

jscomp/ext/ext_namespace.ml

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ let rec rindex_rec s i =
5454
#1933 when removing ns suffix, don't pass the bound of basename
5555
5656
FIXME: micro-optimizaiton *)
57-
let change_ext_ns_suffix name ext =
57+
let replace_namespace_with_extension ~name ~ext =
5858
let i = rindex_rec name (String.length name - 1) in
5959
if i < 0 then name ^ ext else String.sub name 0 i ^ ext
6060

@@ -70,20 +70,24 @@ type file_kind = Upper_js | Upper_bs | Little_js | Little_bs
7070

7171

7272
(* let js_name_of_basename bs_suffix s =
73-
change_ext_ns_suffix s
74-
(if bs_suffix then Literals.suffix_bs_js else Literals.suffix_js) *)
73+
replace_namespace_with_extension ~name:s
74+
~ext:(if bs_suffix then Literals.suffix_bs_js else Literals.suffix_js) *)
7575

7676

7777
let js_name_of_modulename s little =
7878
match little with
7979
| Little_js ->
80-
change_ext_ns_suffix (Ext_string.uncapitalize_ascii s) Literals.suffix_js
80+
replace_namespace_with_extension
81+
~name:(Ext_string.uncapitalize_ascii s)
82+
~ext:Literals.suffix_js
8183
| Little_bs ->
82-
change_ext_ns_suffix
83-
(Ext_string.uncapitalize_ascii s)
84-
Literals.suffix_bs_js
85-
| Upper_js -> change_ext_ns_suffix s Literals.suffix_js
86-
| Upper_bs -> change_ext_ns_suffix s Literals.suffix_bs_js
84+
replace_namespace_with_extension
85+
~name:(Ext_string.uncapitalize_ascii s)
86+
~ext:Literals.suffix_bs_js
87+
| Upper_js -> replace_namespace_with_extension ~name:s ~ext:Literals.suffix_js
88+
| Upper_bs ->
89+
replace_namespace_with_extension ~name:s ~ext:Literals.suffix_bs_js
90+
8791

8892
(* https://docs.npmjs.com/files/package.json
8993
Some rules:

jscomp/ext/ext_namespace.mli

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,10 @@ val make : ?ns:string -> string -> string
3030

3131
val try_split_module_name : string -> (string * string) option
3232

33-
val change_ext_ns_suffix : string -> string -> string
33+
val replace_namespace_with_extension : name:string -> ext:string -> string
34+
(** [replace_namespace_with_extension ~name ~ext] removes the part of [name]
35+
after [ns_sep_char], if any; and appends [ext].
36+
*)
3437

3538
type file_kind = Upper_js | Upper_bs | Little_js | Little_bs
3639

jscomp/ounit_tests/ounit_string_tests.ml

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -378,10 +378,16 @@ let suites =
378378
=~"ABb"
379379
end;
380380
__LOC__ >:: begin fun _ ->
381-
Ext_namespace.change_ext_ns_suffix "a-b" Literals.suffix_js =~ "a.js";
382-
Ext_namespace.change_ext_ns_suffix "a-" Literals.suffix_js =~ "a.js";
383-
Ext_namespace.change_ext_ns_suffix "a--" Literals.suffix_js =~ "a-.js";
384-
Ext_namespace.change_ext_ns_suffix "AA-b" Literals.suffix_js =~ "AA.js";
381+
Ext_namespace.replace_namespace_with_extension
382+
~name:"a-b" ~ext:Literals.suffix_js =~ "a.js";
383+
Ext_namespace.replace_namespace_with_extension
384+
~name:"a-" ~ext:Literals.suffix_js =~ "a.js";
385+
Ext_namespace.replace_namespace_with_extension
386+
~name:"a--" ~ext:Literals.suffix_js =~ "a-.js";
387+
Ext_namespace.replace_namespace_with_extension
388+
~name:"AA-b" ~ext:Literals.suffix_js =~ "AA.js";
389+
Ext_namespace.replace_namespace_with_extension
390+
~name:"AA-b" ~ext:Literals.suffix_js =~ "AA.js";
385391
Ext_namespace.js_name_of_modulename "AA-b" Little_js =~ "aA.js";
386392
Ext_namespace.js_name_of_modulename "AA-b" Upper_js =~ "AA.js";
387393
Ext_namespace.js_name_of_modulename "AA-b" Upper_bs =~ "AA.bs.js"

0 commit comments

Comments
 (0)