File tree 3 files changed +21
-5
lines changed 3 files changed +21
-5
lines changed Original file line number Diff line number Diff line change @@ -13,11 +13,27 @@ import {
13
13
} from "./_namespaces/ts" ;
14
14
15
15
/** @internal */
16
- export const emptyArray : never [ ] = [ ] as never [ ] ;
16
+ export const emptyArray : never [ ] = Object . freeze ( [ ] ) as never [ ] ;
17
17
/** @internal */
18
- export const emptyMap : ReadonlyMap < never , never > = new Map < never , never > ( ) ;
18
+ export const emptyMap : ReadonlyMap < never , never > = createReadonlyMap ( ) ;
19
19
/** @internal */
20
- export const emptySet : ReadonlySet < never > = new Set < never > ( ) ;
20
+ export const emptySet : ReadonlySet < never > = createReadonlySet ( ) ;
21
+
22
+ function createReadonlyMap < K , V > ( ) : ReadonlyMap < K , V > {
23
+ const map : ReadonlyMap < K , V > & Partial < Map < K , V > > = new Map ( ) ;
24
+ map . clear = notImplemented ;
25
+ map . delete = notImplemented ;
26
+ map . set = notImplemented ;
27
+ return Object . freeze ( map ) ;
28
+ }
29
+
30
+ function createReadonlySet < T > ( ) : ReadonlySet < T > {
31
+ const set : ReadonlySet < T > & Partial < Set < T > > = new Set ( ) ;
32
+ set . add = notImplemented ;
33
+ set . clear = notImplemented ;
34
+ set . delete = notImplemented ;
35
+ return Object . freeze ( set ) ;
36
+ }
21
37
22
38
/** @internal */
23
39
export function length ( array : readonly any [ ] | undefined ) : number {
Original file line number Diff line number Diff line change @@ -564,7 +564,7 @@ import {
564
564
} from "./_namespaces/ts" ;
565
565
566
566
/** @internal */
567
- export const resolvingEmptyArray : never [ ] = [ ] ;
567
+ export const resolvingEmptyArray : never [ ] = Object . freeze ( [ ] ) as never [ ] ;
568
568
569
569
/** @internal */
570
570
export const externalHelpersModuleNameText = "tslib" ;
Original file line number Diff line number Diff line change @@ -19,7 +19,7 @@ export enum LogLevel {
19
19
verbose ,
20
20
}
21
21
22
- export const emptyArray : SortedReadonlyArray < never > = createSortedArray < never > ( ) ;
22
+ export const emptyArray : SortedReadonlyArray < never > = Object . freeze ( createSortedArray < never > ( ) ) ;
23
23
24
24
export interface Logger {
25
25
close ( ) : void ;
You can’t perform that action at this time.
0 commit comments