index.d.ts 873 B

12345678910111213141516171819202122232425262728
  1. import quote = require('./quote');
  2. import parse = require('./parse');
  3. export { quote, parse };
  4. export type ControlOperator = parse.ControlOperator;
  5. export type GlobPattern = parse.GlobPattern;
  6. export type Comment = parse.Comment;
  7. export type ParseEntry = parse.ParseEntry;
  8. export type ParseOptions = parse.ParseOptions;
  9. type Join<T extends readonly string[], D extends string> = T extends readonly []
  10. ? ''
  11. : T extends readonly [infer F extends string]
  12. ? F
  13. : T extends readonly [infer F extends string, ...infer R extends string[]]
  14. ? `${F}${D}${Join<R, D>}`
  15. : string;
  16. declare global {
  17. interface ReadonlyArray<T> {
  18. join<This extends readonly string[], D extends string = ','>(this: This, separator?: D): Join<This, D>;
  19. }
  20. interface Array<T> {
  21. join<This extends readonly string[], D extends string = ','>(this: This, separator?: D): Join<This, D>;
  22. }
  23. }