@idlebox/common 1.3.20 → 1.3.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -521,6 +521,12 @@ export declare function globalSingletonStrong<T>(symbol: symbol | string, constr
521
521
  */
522
522
  export declare function globalSingletonStrong<T>(symbol: symbol | string): T | undefined;
523
523
 
524
+ export declare const hasGlobal: boolean;
525
+
526
+ export declare const hasProcess: boolean;
527
+
528
+ export declare const hasWindow: boolean;
529
+
524
530
  export declare function hookClass<TC extends IConstructorOf<T>, T>(target: TC): IHooks<T, TC>;
525
531
 
526
532
  export declare const hookClassSymbol: unique symbol;
@@ -721,6 +727,10 @@ export declare interface IProgressHolder<T, PT> {
721
727
  progress(fn: ProgressCallback<PT>): Promise<T> & IProgressHolder<T, PT>;
722
728
  }
723
729
 
730
+ export declare const is32Bit: boolean;
731
+
732
+ export declare let is64Bit: boolean;
733
+
724
734
  /**
725
735
  * return true if a path is absolute:
726
736
  * - /xxxx
@@ -747,17 +757,19 @@ export declare function isDateInvalid(date: Date): boolean;
747
757
 
748
758
  export declare function isDisposedError(error: any): boolean;
749
759
 
750
- export declare const isElectron: boolean;
760
+ export declare let isElectron: boolean;
761
+
762
+ export declare let isElectronMain: boolean;
751
763
 
752
- export declare const isElectronMain: boolean;
764
+ export declare let isElectronRenderer: boolean;
753
765
 
754
- export declare const isElectronRenderer: boolean;
766
+ export declare let isElectronSandbox: boolean;
755
767
 
756
- export declare const isLinux: boolean;
768
+ export declare let isLinux: boolean;
757
769
 
758
- export declare const isMacintosh: boolean;
770
+ export declare let isMacintosh: boolean;
759
771
 
760
- export declare const isNative: boolean;
772
+ export declare let isNative: boolean;
761
773
 
762
774
  /**
763
775
  * Should ensure a and b is none-null before call this
@@ -778,9 +790,9 @@ export declare function isSerializable(value: any): SerializableKind;
778
790
  /** @public */
779
791
  export declare function isTimeoutError(error: Error): error is TimeoutError;
780
792
 
781
- export declare const isWeb: boolean;
793
+ export declare let isWeb: boolean;
782
794
 
783
- export declare const isWindows: boolean;
795
+ export declare let isWindows: boolean;
784
796
 
785
797
  export declare interface IUniqueIdFactory<T> {
786
798
  (item: T): string;
@@ -908,22 +920,45 @@ export declare const oneWeek = 604800000;
908
920
  */
909
921
  export declare function pad2(s: number): string;
910
922
 
923
+ export declare const PathArray: typeof PathArrayAbstract;
924
+
911
925
  /**
912
- * Work on "PATH"-like values
926
+ * Work on "PATH"-like values, but always use / insteadof \
913
927
  */
914
- export declare class PathArray extends Set<string> {
928
+ declare abstract class PathArrayAbstract extends Set<string> {
915
929
  private readonly sep;
916
- constructor(init: string, sep: ':' | ';');
917
- add(paths: string): this;
918
- delete(paths: string): boolean;
919
- has(path: string): boolean;
930
+ constructor(init: string, sep?: ':' | ';');
931
+ abstract normalize(path: string): string;
932
+ split(pathArrStr: string): string[];
920
933
  toString(): string;
934
+ /** @deprecated @use values() */
935
+ keys(): IterableIterator<string>;
936
+ /** @deprecated @use values() */
937
+ entries(): IterableIterator<[string, string]>;
938
+ [Symbol.iterator](): IterableIterator<string>;
921
939
  /**
922
940
  * @returns an array with `part` append to every element
923
941
  */
924
942
  join(part: string): string[];
925
943
  }
926
944
 
945
+ export declare class PathArrayPosix extends PathArrayAbstract {
946
+ normalize(path: string): string;
947
+ add(paths: string): this;
948
+ delete(paths: string): boolean;
949
+ has(path: string): boolean;
950
+ }
951
+
952
+ export declare class PathArrayWindows extends PathArrayAbstract {
953
+ private readonly caseMap;
954
+ normalize(path: string): string;
955
+ clear(): void;
956
+ add(paths: string): this;
957
+ delete(paths: string): boolean;
958
+ has(path: string): boolean;
959
+ values(): IterableIterator<string>;
960
+ }
961
+
927
962
  declare type Person = StructString<{
928
963
  name: string;
929
964
  email: string;
@@ -1073,8 +1108,6 @@ export declare function unsubscribableToDisposable(subscription: Unsubscribable)
1073
1108
  dispose: () => void;
1074
1109
  };
1075
1110
 
1076
- export declare const userAgent: string;
1077
-
1078
1111
  export declare type ValueCallback<T = any> = (value: T | Promise<T>) => void;
1079
1112
 
1080
1113
  export declare abstract class WrappedConsole {
@@ -126,7 +126,11 @@ export { sleep } from "./lifecycle/timeout/timeout.mjs";
126
126
  export { timeoutPromise } from "./lifecycle/timeout/timeout.mjs";
127
127
  /* platform/os.ts */
128
128
  // Identifiers
129
+ export { hasProcess } from "./platform/os.mjs";
130
+ export { hasWindow } from "./platform/os.mjs";
131
+ export { hasGlobal } from "./platform/os.mjs";
129
132
  export { isElectron } from "./platform/os.mjs";
133
+ export { isElectronSandbox } from "./platform/os.mjs";
130
134
  export { isElectronRenderer } from "./platform/os.mjs";
131
135
  export { isElectronMain } from "./platform/os.mjs";
132
136
  export { isWindows } from "./platform/os.mjs";
@@ -134,8 +138,9 @@ export { isMacintosh } from "./platform/os.mjs";
134
138
  export { isLinux } from "./platform/os.mjs";
135
139
  export { isNative } from "./platform/os.mjs";
136
140
  export { isWeb } from "./platform/os.mjs";
137
- export { userAgent } from "./platform/os.mjs";
141
+ export { is64Bit } from "./platform/os.mjs";
138
142
  export { sepList } from "./platform/os.mjs";
143
+ export { is32Bit } from "./platform/os.mjs";
139
144
  /* log/logger.ts */
140
145
  // Identifiers
141
146
  export { ColorKind } from "./log/logger.mjs";
@@ -164,8 +169,17 @@ export { isAbsolute } from "./path/isAbsolute.mjs";
164
169
  /* path/normalizePath.ts */
165
170
  // Identifiers
166
171
  export { normalizePath } from "./path/normalizePath.mjs";
172
+ /* string/castCase.ts */
173
+ // Identifiers
174
+ export { camelCase } from "./string/castCase.mjs";
175
+ export { ucfirst } from "./string/castCase.mjs";
176
+ export { lcfirst } from "./string/castCase.mjs";
177
+ export { linux_case } from "./string/castCase.mjs";
178
+ export { linux_case_hyphen } from "./string/castCase.mjs";
167
179
  /* path/pathArray.ts */
168
180
  // Identifiers
181
+ export { PathArrayWindows } from "./path/pathArray.mjs";
182
+ export { PathArrayPosix } from "./path/pathArray.mjs";
169
183
  export { PathArray } from "./path/pathArray.mjs";
170
184
  /* promise/awaitIterator.ts */
171
185
  // Identifiers
@@ -199,13 +213,6 @@ export { init } from "./reflection/methods/initOnRead.mjs";
199
213
  // Identifiers
200
214
  export { memorizeValueSymbol } from "./reflection/methods/memorize.mjs";
201
215
  export { memo } from "./reflection/methods/memorize.mjs";
202
- /* string/castCase.ts */
203
- // Identifiers
204
- export { camelCase } from "./string/castCase.mjs";
205
- export { ucfirst } from "./string/castCase.mjs";
206
- export { lcfirst } from "./string/castCase.mjs";
207
- export { linux_case } from "./string/castCase.mjs";
208
- export { linux_case_hyphen } from "./string/castCase.mjs";
209
216
  /* string/concatType.generated.ts */
210
217
  // Identifiers
211
218
  export { concatStringType } from "./string/concatType.generated.mjs";
@@ -6,5 +6,5 @@
6
6
  "../../src/__create_index.generated.ts"
7
7
  ],
8
8
  "names": [],
9
- "mappings": "AAAA,wBAAwB;AACxB,aAAa;AACb,oBAAoB;AAKnB,OAAO,EAAC,SAAS,EAAC,8BAA6B;AAChD,wBAAwB;AACvB,cAAc;AACd,OAAO,EAAC,WAAW,EAAC,8BAA6B;AAClD,0BAA0B;AACzB,cAAc;AACd,OAAO,EAAC,WAAW,EAAC,gCAA+B;AACnD,OAAO,EAAC,oBAAoB,EAAC,gCAA+B;AAE5D,OAAO,EAAC,YAAY,EAAC,gCAA+B;AACrD,6BAA6B;AAC5B,cAAc;AACd,OAAO,EAAC,cAAc,EAAC,mCAAkC;AAC1D,wBAAwB;AACvB,cAAc;AACd,OAAO,EAAC,YAAY,EAAC,8BAA6B;AACnD,oBAAoB;AACnB,cAAc;AACd,OAAO,EAAC,SAAS,EAAC,0BAAyB;AAC3C,OAAO,EAAC,SAAS,EAAC,0BAAyB;AAC3C,OAAO,EAAC,OAAO,EAAC,0BAAyB;AACzC,OAAO,EAAC,MAAM,EAAC,0BAAyB;AACxC,OAAO,EAAC,OAAO,EAAC,0BAAyB;AAC1C,uBAAuB;AACtB,cAAc;AACd,OAAO,EAAC,aAAa,EAAC,6BAA4B;AACnD,qBAAqB;AACpB,cAAc;AACd,OAAO,EAAC,UAAU,EAAC,2BAA0B;AAC7C,OAAO,EAAC,UAAU,EAAC,2BAA0B;AAC7C,OAAO,EAAC,QAAQ,EAAC,2BAA0B;AAC3C,OAAO,EAAC,OAAO,EAAC,2BAA0B;AAC1C,OAAO,EAAC,QAAQ,EAAC,2BAA0B;AAC3C,OAAO,EAAC,SAAS,EAAC,2BAA0B;AAC5C,OAAO,EAAC,QAAQ,EAAC,2BAA0B;AAC5C,oBAAoB;AACnB,cAAc;AACd,OAAO,EAAC,IAAI,EAAC,0BAAyB;AACvC,wBAAwB;AACvB,cAAc;AACd,OAAO,EAAC,SAAS,EAAC,8BAA6B;AAChD,kBAAkB;AACjB,cAAc;AACd,OAAO,EAAC,YAAY,EAAC,wBAAuB;AAC5C,OAAO,EAAC,aAAa,EAAC,wBAAuB;AAC9C,+BAA+B;AAC9B,cAAc;AACd,OAAO,EAAC,QAAQ,EAAC,qCAAoC;AACrD,OAAO,EAAC,gBAAgB,EAAC,qCAAoC;AAC7D,OAAO,EAAC,cAAc,EAAC,qCAAoC;AAC3D,OAAO,EAAC,SAAS,EAAC,qCAAoC;AACtD,OAAO,EAAC,kBAAkB,EAAC,qCAAoC;AAChE,6BAA6B;AAC5B,cAAc;AACd,OAAO,EAAC,UAAU,EAAC,mCAAkC;AACtD,uBAAuB;AACtB,cAAc;AACd,OAAO,EAAC,aAAa,EAAC,6BAA4B;AACnD,6BAA6B;AAC5B,cAAc;AACd,OAAO,EAAC,mBAAmB,EAAC,mCAAkC;AAI9D,OAAO,EAAC,YAAY,EAAC,oCAAmC;AACxD,OAAO,EAAC,YAAY,EAAC,oCAAmC;AAExD,OAAO,EAAC,qBAAqB,EAAC,oCAAmC;AAIjE,OAAO,EAAC,iBAAiB,EAAC,yCAAwC;AAIlE,OAAO,EAAC,YAAY,EAAC,oCAAmC;AAIxD,OAAO,EAAC,iBAAiB,EAAC,yCAAwC;AAKlE,OAAO,EAAC,OAAO,EAAC,oCAAmC;AAMnD,OAAO,EAAC,YAAY,EAAC,0CAAyC;AAM9D,OAAO,EAAC,0BAA0B,EAAC,gDAA+C;AACnF,wCAAwC;AACvC,cAAc;AACd,OAAO,EAAC,aAAa,EAAC,8CAA6C;AACnE,OAAO,EAAC,eAAe,EAAC,8CAA6C;AACtE,0CAA0C;AACzC,cAAc;AACd,OAAO,EAAC,eAAe,EAAC,gDAA+C;AACxE,8BAA8B;AAC7B,cAAc;AACd,OAAO,EAAC,YAAY,EAAC,oCAAmC;AACxD,OAAO,EAAC,kBAAkB,EAAC,oCAAmC;AAC9D,OAAO,EAAC,CAAC,EAAC,oCAAmC;AAC9C,iCAAiC;AAChC,cAAc;AACd,OAAO,EAAC,qBAAqB,EAAC,uCAAsC;AACpE,OAAO,EAAC,qBAAqB,EAAC,uCAAsC;AACpE,OAAO,EAAC,eAAe,EAAC,uCAAsC;AAC/D,8BAA8B;AAC7B,cAAc;AACd,OAAO,EAAC,YAAY,EAAC,oCAAmC;AACxD,OAAO,EAAC,YAAY,EAAC,oCAAmC;AACzD,2CAA2C;AAC1C,cAAc;AACd,OAAO,EAAC,uBAAuB,EAAC,iDAAgD;AAChF,OAAO,EAAC,mBAAmB,EAAC,iDAAgD;AAC5E,OAAO,EAAC,aAAa,EAAC,iDAAgD;AACtE,OAAO,EAAC,eAAe,EAAC,iDAAgD;AACzE,yCAAyC;AACxC,cAAc;AACd,OAAO,EAAC,cAAc,EAAC,+CAA8C;AACrE,OAAO,EAAC,UAAU,EAAC,+CAA8C;AAClE,uCAAuC;AACtC,cAAc;AACd,OAAO,EAAC,0BAA0B,EAAC,6CAA4C;AAChF,kCAAkC;AACjC,cAAc;AACd,OAAO,EAAC,gBAAgB,EAAC,wCAAuC;AACjE,iCAAiC;AAChC,cAAc;AACd,OAAO,EAAC,aAAa,EAAC,uCAAsC;AAC5D,OAAO,EAAC,eAAe,EAAC,uCAAsC;AAM9D,OAAO,EAAC,eAAe,EAAC,gDAA+C;AAMvE,OAAO,EAAC,uBAAuB,EAAC,yDAAwD;AACzF,2DAA2D;AAC1D,cAAc;AACf,uCAAuC;AACtC,cAAc;AACd,OAAO,EAAC,YAAY,EAAC,6CAA4C;AACjE,OAAO,EAAC,cAAc,EAAC,6CAA4C;AACpE,kCAAkC;AACjC,cAAc;AACd,OAAO,EAAC,OAAO,EAAC,wCAAuC;AACvD,OAAO,EAAC,KAAK,EAAC,wCAAuC;AACrD,OAAO,EAAC,cAAc,EAAC,wCAAuC;AAC/D,oBAAoB;AACnB,cAAc;AACd,OAAO,EAAC,UAAU,EAAC,0BAAyB;AAC5C,OAAO,EAAC,kBAAkB,EAAC,0BAAyB;AACpD,OAAO,EAAC,cAAc,EAAC,0BAAyB;AAChD,OAAO,EAAC,SAAS,EAAC,0BAAyB;AAC3C,OAAO,EAAC,WAAW,EAAC,0BAAyB;AAC7C,OAAO,EAAC,OAAO,EAAC,0BAAyB;AACzC,OAAO,EAAC,QAAQ,EAAC,0BAAyB;AAC1C,OAAO,EAAC,KAAK,EAAC,0BAAyB;AACvC,OAAO,EAAC,SAAS,EAAC,0BAAyB;AAC3C,OAAO,EAAC,OAAO,EAAC,0BAAyB;AAC1C,mBAAmB;AAClB,cAAc;AACd,OAAO,EAAC,SAAS,EAAC,yBAAwB;AAE1C,OAAO,EAAC,cAAc,EAAC,yBAAwB;AAI/C,OAAO,EAAC,YAAY,EAAC,+BAA8B;AACnD,OAAO,EAAC,SAAS,EAAC,+BAA8B;AAIhD,OAAO,EAAC,SAAS,EAAC,+BAA8B;AACjD,2BAA2B;AAC1B,cAAc;AACd,OAAO,EAAC,aAAa,EAAC,iCAAgC;AACtD,OAAO,EAAC,SAAS,EAAC,iCAAgC;AAInD,oCAAoC;AACnC,cAAc;AACd,OAAO,EAAC,oBAAoB,EAAC,0CAAyC;AAItE,OAAO,EAAC,UAAU,EAAC,gCAA+B;AACnD,0BAA0B;AACzB,cAAc;AACd,OAAO,EAAC,UAAU,EAAC,gCAA+B;AACnD,0BAA0B;AACzB,cAAc;AACd,OAAO,EAAC,YAAY,EAAC,gCAA+B;AACpD,OAAO,EAAC,qBAAqB,EAAC,gCAA+B;AAC9D,wBAAwB;AACvB,cAAc;AACd,OAAO,EAAC,UAAU,EAAC,8BAA6B;AACjD,2BAA2B;AAC1B,cAAc;AACd,OAAO,EAAC,aAAa,EAAC,iCAAgC;AACvD,uBAAuB;AACtB,cAAc;AACd,OAAO,EAAC,SAAS,EAAC,6BAA4B;AAC/C,8BAA8B;AAC7B,cAAc;AACd,OAAO,EAAC,aAAa,EAAC,oCAAmC;AAIzD,OAAO,EAAC,gBAAgB,EAAC,uCAAsC;AAChE,4BAA4B;AAC3B,cAAc;AACd,OAAO,EAAC,WAAW,EAAC,kCAAiC;AACtD,4BAA4B;AAC3B,cAAc;AACd,OAAO,EAAC,WAAW,EAAC,kCAAiC;AACtD,mCAAmC;AAClC,cAAc;AACd,OAAO,EAAC,kBAAkB,EAAC,yCAAwC;AACpE,qCAAqC;AACpC,cAAc;AACd,OAAO,EAAC,eAAe,EAAC,2CAA0C;AAClE,OAAO,EAAC,SAAS,EAAC,2CAA0C;AAC7D,qCAAqC;AACpC,cAAc;AACd,OAAO,EAAC,eAAe,EAAC,2CAA0C;AAClE,OAAO,EAAC,aAAa,EAAC,2CAA0C;AAChE,OAAO,EAAC,SAAS,EAAC,2CAA0C;AAC7D,gCAAgC;AAC/B,cAAc;AACd,OAAO,EAAC,QAAQ,EAAC,sCAAqC;AACvD,sCAAsC;AACrC,cAAc;AACd,OAAO,EAAC,IAAI,EAAC,4CAA2C;AACzD,oCAAoC;AACnC,cAAc;AACd,OAAO,EAAC,mBAAmB,EAAC,0CAAyC;AACrE,OAAO,EAAC,IAAI,EAAC,0CAAyC;AACvD,wBAAwB;AACvB,cAAc;AACd,OAAO,EAAC,SAAS,EAAC,8BAA6B;AAC/C,OAAO,EAAC,OAAO,EAAC,8BAA6B;AAC7C,OAAO,EAAC,OAAO,EAAC,8BAA6B;AAC7C,OAAO,EAAC,UAAU,EAAC,8BAA6B;AAChD,OAAO,EAAC,iBAAiB,EAAC,8BAA6B;AACxD,oCAAoC;AACnC,cAAc;AACd,OAAO,EAAC,gBAAgB,EAAC,0CAAyC;AACnE,4BAA4B;AAC3B,cAAc;AACd,OAAO,EAAC,YAAY,EAAC,kCAAiC;AACvD,0BAA0B;AACzB,cAAc;AACd,OAAO,EAAC,WAAW,EAAC,gCAA+B;AACnD,OAAO,EAAC,SAAS,EAAC,gCAA+B;AACjD,OAAO,EAAC,UAAU,EAAC,gCAA+B"
9
+ "mappings": "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"
10
10
  }
@@ -4,6 +4,9 @@
4
4
  * remove ending /
5
5
  */
6
6
  export function normalizePath(p) {
7
- return p.replace(/\\+/, '/').replace(/\/\/+/, '/').replace(/\/+$/, '');
7
+ if (p.startsWith('file:')) {
8
+ throw new Error('normalizePath not support file url.');
9
+ }
10
+ return p.replace(/\\+/g, '/').replace(/\/\/+/g, '/').replace(/\/+$/, '');
8
11
  }
9
12
  //# sourceMappingURL=normalizePath.mjs.map
@@ -6,5 +6,5 @@
6
6
  "../../../src/path/normalizePath.ts"
7
7
  ],
8
8
  "names": [],
9
- "mappings": "AAAA;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,CAAS;IACtC,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACxE,CAAC"
9
+ "mappings": "AAAA;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,CAAS;IACtC,IAAI,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;QAC1B,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;KACvD;IACD,OAAO,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AAC1E,CAAC"
10
10
  }
@@ -1,41 +1,101 @@
1
+ import { isWindows } from "../platform/os.mjs";
2
+ import { ucfirst } from "../string/castCase.mjs";
1
3
  import { normalizePath } from "./normalizePath.mjs";
4
+ const isAbsolute = /^[a-z]:[/\\]/i;
2
5
  /**
3
- * Work on "PATH"-like values
6
+ * Work on "PATH"-like values, but always use / insteadof \
4
7
  */
5
- export class PathArray extends Set {
8
+ class PathArrayAbstract extends Set {
6
9
  sep;
7
- constructor(init, sep) {
10
+ constructor(init, sep = isWindows ? ';' : ':') {
8
11
  super();
9
12
  this.sep = sep;
10
13
  if (init)
11
14
  this.add(init);
12
15
  }
16
+ split(pathArrStr) {
17
+ return pathArrStr.split(this.sep);
18
+ }
19
+ toString() {
20
+ return [...this.values()].join(this.sep);
21
+ }
22
+ /** @deprecated @use values() */
23
+ keys() {
24
+ throw new Error('not impl');
25
+ }
26
+ /** @deprecated @use values() */
27
+ entries() {
28
+ throw new Error('not impl');
29
+ }
30
+ [Symbol.iterator]() {
31
+ return this.values();
32
+ }
33
+ /**
34
+ * @returns an array with `part` append to every element
35
+ */
36
+ join(part) {
37
+ return [...this.values()].map((p) => normalizePath(p + '/' + part));
38
+ }
39
+ }
40
+ export class PathArrayWindows extends PathArrayAbstract {
41
+ caseMap = new Map();
42
+ normalize(path) {
43
+ path = normalizePath(path);
44
+ if (isAbsolute.test(path)) {
45
+ path = ucfirst(path);
46
+ }
47
+ return path;
48
+ }
49
+ clear() {
50
+ super.clear();
51
+ this.caseMap.clear();
52
+ }
13
53
  add(paths) {
14
- for (const p of paths.split(this.sep)) {
15
- if (!p)
16
- continue;
17
- super.add(normalizePath(p));
54
+ for (const p of this.split(paths)) {
55
+ const rpath = this.normalize(p);
56
+ const lcase = rpath.toLowerCase();
57
+ this.caseMap.set(lcase, rpath);
58
+ super.add(lcase);
18
59
  }
19
60
  return this;
20
61
  }
21
62
  delete(paths) {
22
63
  let anyRet = false;
23
- for (const p of paths.split(this.sep)) {
24
- anyRet = anyRet || super.delete(normalizePath(p));
64
+ for (const p of this.split(paths)) {
65
+ const rpath = this.normalize(p);
66
+ const lcase = rpath.toLowerCase();
67
+ this.caseMap.delete(lcase);
68
+ anyRet = anyRet || super.delete(lcase);
25
69
  }
26
70
  return anyRet;
27
71
  }
28
72
  has(path) {
29
- return super.has(normalizePath(path));
73
+ return super.has(this.normalize(path).toLowerCase());
30
74
  }
31
- toString() {
32
- return [...this.values()].join(this.sep);
75
+ values() {
76
+ return this.caseMap.values();
33
77
  }
34
- /**
35
- * @returns an array with `part` append to every element
36
- */
37
- join(part) {
38
- return [...this.values()].map((p) => normalizePath(p + '/' + part));
78
+ }
79
+ export class PathArrayPosix extends PathArrayAbstract {
80
+ normalize(path) {
81
+ return normalizePath(path);
82
+ }
83
+ add(paths) {
84
+ for (const p of this.split(paths)) {
85
+ super.add(this.normalize(p));
86
+ }
87
+ return this;
88
+ }
89
+ delete(paths) {
90
+ let anyRet = false;
91
+ for (const p of this.split(paths)) {
92
+ anyRet = anyRet || super.delete(this.normalize(p));
93
+ }
94
+ return anyRet;
95
+ }
96
+ has(path) {
97
+ return super.has(this.normalize(path));
39
98
  }
40
99
  }
100
+ export const PathArray = isWindows ? PathArrayWindows : PathArrayPosix;
41
101
  //# sourceMappingURL=pathArray.mjs.map
@@ -6,5 +6,5 @@
6
6
  "../../../src/path/pathArray.ts"
7
7
  ],
8
8
  "names": [],
9
- "mappings": "AAAA,OAAO,EAAE,aAAa,EAAE,4BAAwB;AAEhD;;GAEG;AACH,MAAM,OAAO,SAAU,SAAQ,GAAW;IACE;IAA3C,YAAY,IAAY,EAAmB,GAAc;QACxD,KAAK,EAAE,CAAC;QADkC,QAAG,GAAH,GAAG,CAAW;QAExD,IAAI,IAAI;YAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAEQ,GAAG,CAAC,KAAa;QACzB,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YACtC,IAAI,CAAC,CAAC;gBAAE,SAAS;YACjB,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;SAC5B;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAEQ,MAAM,CAAC,KAAa;QAC5B,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YACtC,MAAM,GAAG,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;SAClD;QACD,OAAO,MAAM,CAAC;IACf,CAAC;IAEQ,GAAG,CAAC,IAAY;QACxB,OAAO,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;IACvC,CAAC;IAEQ,QAAQ;QAChB,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,IAAI,CAAC,IAAY;QAChB,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC;IACrE,CAAC;CACD"
9
+ "mappings": "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"
10
10
  }
@@ -1,42 +1,52 @@
1
- let _isWindows = false;
2
- let _isMacintosh = false;
3
- let _isLinux = false;
4
- let _isNative = false;
5
- let _isWeb = false;
6
- let _userAgent;
7
- export const isElectron = typeof process !== 'undefined' &&
8
- typeof process.versions !== 'undefined' &&
9
- typeof process.versions.electron !== 'undefined';
10
- export const isElectronRenderer = isElectron && process.type === 'renderer';
11
- export const isElectronMain = !isElectronRenderer;
12
- if (typeof navigator === 'object' && !isElectronRenderer) {
13
- _userAgent = navigator.userAgent;
14
- _isWindows = _userAgent.indexOf('Windows') >= 0;
15
- _isMacintosh = _userAgent.indexOf('Macintosh') >= 0;
16
- _isLinux = _userAgent.indexOf('Linux') >= 0;
17
- _isWeb = true;
18
- }
19
- else if (typeof process === 'object') {
20
- _userAgent = `nodejs(${process.versions.node})`;
21
- if (process.versions.electron) {
22
- _userAgent += ` electron(${process.versions.electron})`;
23
- if (isElectronRenderer) {
24
- _userAgent += ' ' + navigator.userAgent;
1
+ export const hasProcess = typeof process !== 'undefined' && typeof process.pid === 'number';
2
+ export const hasWindow = typeof window !== 'undefined' && globalThis === window;
3
+ export const hasGlobal = typeof global !== 'undefined' && globalThis === global;
4
+ export let isElectron = false, isElectronSandbox = false, isElectronRenderer = false, isElectronMain = false;
5
+ if (hasProcess) {
6
+ if (typeof process.versions?.electron !== 'undefined') {
7
+ isElectron = true;
8
+ if (process.type === 'renderer') {
9
+ isElectronRenderer = true;
10
+ }
11
+ else {
12
+ isElectronMain = true;
25
13
  }
26
14
  }
27
- _isWindows = process.platform === 'win32';
28
- _isMacintosh = process.platform === 'darwin';
29
- _isLinux = process.platform === 'linux';
30
- _isNative = true;
31
15
  }
32
- else {
33
- _userAgent = 'unsupported';
16
+ else if (hasWindow) {
17
+ if (window.navigator.userAgent.includes(' Electron/')) {
18
+ isElectron = true;
19
+ isElectronRenderer = true;
20
+ isElectronSandbox = true;
21
+ }
22
+ }
23
+ export let isWindows = false;
24
+ export let isMacintosh = false;
25
+ export let isLinux = false;
26
+ export let isNative = false;
27
+ export let isWeb = false;
28
+ export let is64Bit = false;
29
+ if (hasWindow && !hasProcess) {
30
+ const userAgent = navigator.userAgent;
31
+ isWindows = userAgent.includes('Windows NT');
32
+ isMacintosh = userAgent.includes('Macintosh');
33
+ isLinux = userAgent.includes('Linux');
34
+ isWeb = true;
35
+ is64Bit = userAgent.includes('x64');
36
+ }
37
+ else if (hasProcess) {
38
+ isNative = true;
39
+ is64Bit = process.arch === 'x64';
40
+ if (process.platform === 'linux') {
41
+ isLinux = true;
42
+ }
43
+ else if (process.platform === 'darwin') {
44
+ isMacintosh = true;
45
+ }
46
+ else if (process.platform === 'win32') {
47
+ isWindows = true;
48
+ }
34
49
  }
35
- export const isWindows = _isWindows;
36
- export const isMacintosh = _isMacintosh;
37
- export const isLinux = _isLinux;
38
- export const isNative = _isNative;
39
- export const isWeb = _isWeb;
40
- export const userAgent = _userAgent;
41
50
  export const sepList = isWindows ? ';' : ':';
51
+ export const is32Bit = !is64Bit;
42
52
  //# sourceMappingURL=os.mjs.map
@@ -6,5 +6,5 @@
6
6
  "../../../src/platform/os.ts"
7
7
  ],
8
8
  "names": [],
9
- "mappings": "AAGA,IAAI,UAAU,GAAG,KAAK,CAAC;AACvB,IAAI,YAAY,GAAG,KAAK,CAAC;AACzB,IAAI,QAAQ,GAAG,KAAK,CAAC;AACrB,IAAI,SAAS,GAAG,KAAK,CAAC;AACtB,IAAI,MAAM,GAAG,KAAK,CAAC;AACnB,IAAI,UAAkB,CAAC;AAEvB,MAAM,CAAC,MAAM,UAAU,GACtB,OAAO,OAAO,KAAK,WAAW;IAC9B,OAAO,OAAO,CAAC,QAAQ,KAAK,WAAW;IACvC,OAAO,OAAO,CAAC,QAAQ,CAAC,QAAQ,KAAK,WAAW,CAAC;AAClD,MAAM,CAAC,MAAM,kBAAkB,GAAG,UAAU,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU,CAAC;AAC5E,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,kBAAkB,CAAC;AAElD,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,CAAC,kBAAkB,EAAE;IACzD,UAAU,GAAG,SAAS,CAAC,SAAS,CAAC;IACjC,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAChD,YAAY,GAAG,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACpD,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,MAAM,GAAG,IAAI,CAAC;CACd;KAAM,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;IACvC,UAAU,GAAG,UAAU,OAAO,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC;IAChD,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE;QAC9B,UAAU,IAAI,aAAa,OAAO,CAAC,QAAQ,CAAC,QAAQ,GAAG,CAAC;QACxD,IAAI,kBAAkB,EAAE;YACvB,UAAU,IAAI,GAAG,GAAG,SAAS,CAAC,SAAS,CAAC;SACxC;KACD;IACD,UAAU,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC;IAC1C,YAAY,GAAG,OAAO,CAAC,QAAQ,KAAK,QAAQ,CAAC;IAC7C,QAAQ,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC;IACxC,SAAS,GAAG,IAAI,CAAC;CACjB;KAAM;IACN,UAAU,GAAG,aAAa,CAAC;CAC3B;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,UAAU,CAAC;AACpC,MAAM,CAAC,MAAM,WAAW,GAAG,YAAY,CAAC;AACxC,MAAM,CAAC,MAAM,OAAO,GAAG,QAAQ,CAAC;AAChC,MAAM,CAAC,MAAM,QAAQ,GAAG,SAAS,CAAC;AAClC,MAAM,CAAC,MAAM,KAAK,GAAG,MAAM,CAAC;AAC5B,MAAM,CAAC,MAAM,SAAS,GAAG,UAAU,CAAC;AACpC,MAAM,CAAC,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC"
9
+ "mappings": "AAKA,MAAM,CAAC,MAAM,UAAU,GAAG,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,OAAO,CAAC,GAAG,KAAK,QAAQ,CAAC;AAC5F,MAAM,CAAC,MAAM,SAAS,GAAG,OAAO,MAAM,KAAK,WAAW,IAAI,UAAU,KAAK,MAAM,CAAC;AAChF,MAAM,CAAC,MAAM,SAAS,GAAG,OAAO,MAAM,KAAK,WAAW,IAAI,UAAU,KAAK,MAAM,CAAC;AAEhF,MAAM,CAAC,IAAI,UAAU,GAAG,KAAK,EAC5B,iBAAiB,GAAG,KAAK,EACzB,kBAAkB,GAAG,KAAK,EAC1B,cAAc,GAAG,KAAK,CAAC;AACxB,IAAI,UAAU,EAAE;IACf,IAAI,OAAO,OAAO,CAAC,QAAQ,EAAE,QAAQ,KAAK,WAAW,EAAE;QACtD,UAAU,GAAG,IAAI,CAAC;QAClB,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU,EAAE;YAChC,kBAAkB,GAAG,IAAI,CAAC;SAC1B;aAAM;YACN,cAAc,GAAG,IAAI,CAAC;SACtB;KACD;CACD;KAAM,IAAI,SAAS,EAAE;IACrB,IAAI,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE;QACtD,UAAU,GAAG,IAAI,CAAC;QAClB,kBAAkB,GAAG,IAAI,CAAC;QAC1B,iBAAiB,GAAG,IAAI,CAAC;KACzB;CACD;AAED,MAAM,CAAC,IAAI,SAAS,GAAG,KAAK,CAAC;AAC7B,MAAM,CAAC,IAAI,WAAW,GAAG,KAAK,CAAC;AAC/B,MAAM,CAAC,IAAI,OAAO,GAAG,KAAK,CAAC;AAC3B,MAAM,CAAC,IAAI,QAAQ,GAAG,KAAK,CAAC;AAC5B,MAAM,CAAC,IAAI,KAAK,GAAG,KAAK,CAAC;AACzB,MAAM,CAAC,IAAI,OAAO,GAAG,KAAK,CAAC;AAE3B,IAAI,SAAS,IAAI,CAAC,UAAU,EAAE;IAC7B,MAAM,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC;IACtC,SAAS,GAAG,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IAC7C,WAAW,GAAG,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAC9C,OAAO,GAAG,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACtC,KAAK,GAAG,IAAI,CAAC;IACb,OAAO,GAAG,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;CACpC;KAAM,IAAI,UAAU,EAAE;IACtB,QAAQ,GAAG,IAAI,CAAC;IAChB,OAAO,GAAG,OAAO,CAAC,IAAI,KAAK,KAAK,CAAC;IACjC,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE;QACjC,OAAO,GAAG,IAAI,CAAC;KACf;SAAM,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE;QACzC,WAAW,GAAG,IAAI,CAAC;KACnB;SAAM,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE;QACxC,SAAS,GAAG,IAAI,CAAC;KACjB;CACD;AAED,MAAM,CAAC,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;AAC7C,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,OAAO,CAAC"
10
10
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@idlebox/common",
3
3
  "type": "module",
4
- "version": "1.3.20",
4
+ "version": "1.3.22",
5
5
  "license": "MIT",
6
6
  "main": "./lib/cjs/__create_index.generated.cjs",
7
7
  "module": "./lib/esm/__create_index.generated.mjs",
@@ -20,8 +20,8 @@
20
20
  "devDependencies": {
21
21
  "@rushstack/heft": "^0.57.0",
22
22
  "source-map-support": "^0.5.21",
23
- "@idlebox/itypes": "^1.0.4",
24
23
  "@build-script/single-dog-asset": "^1.0.27",
24
+ "@idlebox/itypes": "^1.0.4",
25
25
  "@internal/dualstack-rig": "^1.0.1"
26
26
  },
27
27
  "scripts": {
@@ -4,5 +4,8 @@
4
4
  * remove ending /
5
5
  */
6
6
  export function normalizePath(p: string) {
7
- return p.replace(/\\+/, '/').replace(/\/\/+/, '/').replace(/\/+$/, '');
7
+ if (p.startsWith('file:')) {
8
+ throw new Error('normalizePath not support file url.');
9
+ }
10
+ return p.replace(/\\+/g, '/').replace(/\/\/+/g, '/').replace(/\/+$/, '');
8
11
  }
@@ -1,42 +1,121 @@
1
+ import { isWindows } from '../platform/os';
2
+ import { ucfirst } from '../string/castCase';
1
3
  import { normalizePath } from './normalizePath';
2
4
 
5
+ const isAbsolute = /^[a-z]:[/\\]/i;
6
+
3
7
  /**
4
- * Work on "PATH"-like values
8
+ * Work on "PATH"-like values, but always use / insteadof \
5
9
  */
6
- export class PathArray extends Set<string> {
7
- constructor(init: string, private readonly sep: ':' | ';') {
10
+ abstract class PathArrayAbstract extends Set<string> {
11
+ constructor(
12
+ init: string,
13
+ private readonly sep: ':' | ';' = isWindows ? ';' : ':'
14
+ ) {
8
15
  super();
9
16
  if (init) this.add(init);
10
17
  }
11
18
 
19
+ abstract normalize(path: string): string;
20
+
21
+ split(pathArrStr: string) {
22
+ return pathArrStr.split(this.sep);
23
+ }
24
+
25
+ override toString() {
26
+ return [...this.values()].join(this.sep);
27
+ }
28
+
29
+ /** @deprecated @use values() */
30
+ override keys(): IterableIterator<string> {
31
+ throw new Error('not impl');
32
+ }
33
+
34
+ /** @deprecated @use values() */
35
+ override entries(): IterableIterator<[string, string]> {
36
+ throw new Error('not impl');
37
+ }
38
+
39
+ [Symbol.iterator]() {
40
+ return this.values();
41
+ }
42
+
43
+ /**
44
+ * @returns an array with `part` append to every element
45
+ */
46
+ join(part: string) {
47
+ return [...this.values()].map((p) => normalizePath(p + '/' + part));
48
+ }
49
+ }
50
+
51
+ export class PathArrayWindows extends PathArrayAbstract {
52
+ private readonly caseMap = new Map<string, string>();
53
+
54
+ normalize(path: string) {
55
+ path = normalizePath(path);
56
+ if (isAbsolute.test(path)) {
57
+ path = ucfirst(path);
58
+ }
59
+ return path;
60
+ }
61
+
62
+ override clear(): void {
63
+ super.clear();
64
+ this.caseMap.clear();
65
+ }
66
+
12
67
  override add(paths: string) {
13
- for (const p of paths.split(this.sep)) {
14
- if (!p) continue;
15
- super.add(normalizePath(p));
68
+ for (const p of this.split(paths)) {
69
+ const rpath = this.normalize(p);
70
+ const lcase = rpath.toLowerCase();
71
+ this.caseMap.set(lcase, rpath);
72
+ super.add(lcase);
16
73
  }
17
74
  return this;
18
75
  }
19
76
 
20
77
  override delete(paths: string) {
21
78
  let anyRet = false;
22
- for (const p of paths.split(this.sep)) {
23
- anyRet = anyRet || super.delete(normalizePath(p));
79
+ for (const p of this.split(paths)) {
80
+ const rpath = this.normalize(p);
81
+ const lcase = rpath.toLowerCase();
82
+ this.caseMap.delete(lcase);
83
+ anyRet = anyRet || super.delete(lcase);
24
84
  }
25
85
  return anyRet;
26
86
  }
27
87
 
28
88
  override has(path: string): boolean {
29
- return super.has(normalizePath(path));
89
+ return super.has(this.normalize(path).toLowerCase());
30
90
  }
31
91
 
32
- override toString() {
33
- return [...this.values()].join(this.sep);
92
+ override values() {
93
+ return this.caseMap.values();
94
+ }
95
+ }
96
+ export class PathArrayPosix extends PathArrayAbstract {
97
+ normalize(path: string) {
98
+ return normalizePath(path);
34
99
  }
35
100
 
36
- /**
37
- * @returns an array with `part` append to every element
38
- */
39
- join(part: string) {
40
- return [...this.values()].map((p) => normalizePath(p + '/' + part));
101
+ override add(paths: string) {
102
+ for (const p of this.split(paths)) {
103
+ super.add(this.normalize(p));
104
+ }
105
+ return this;
106
+ }
107
+
108
+ override delete(paths: string) {
109
+ let anyRet = false;
110
+ for (const p of this.split(paths)) {
111
+ anyRet = anyRet || super.delete(this.normalize(p));
112
+ }
113
+ return anyRet;
114
+ }
115
+
116
+ override has(path: string): boolean {
117
+ return super.has(this.normalize(path));
41
118
  }
42
119
  }
120
+
121
+ export const PathArray: typeof PathArrayAbstract = isWindows ? PathArrayWindows : PathArrayPosix;