@gtkx/utils 1.0.0 → 1.1.0

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.
Files changed (68) hide show
  1. package/README.md +1 -1
  2. package/dist/index.d.ts +0 -1
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +0 -1
  5. package/dist/index.js.map +1 -1
  6. package/dist/log/index.d.ts +1 -1
  7. package/dist/log/index.d.ts.map +1 -1
  8. package/dist/log/index.js.map +1 -1
  9. package/dist/log/logger.d.ts +1 -1
  10. package/dist/log/logger.d.ts.map +1 -1
  11. package/dist/log/logger.js.map +1 -1
  12. package/dist/predicate/index.d.ts +0 -4
  13. package/dist/predicate/index.d.ts.map +1 -1
  14. package/dist/predicate/index.js +0 -4
  15. package/dist/predicate/index.js.map +1 -1
  16. package/dist/process/resolve-executable.js +2 -2
  17. package/dist/process/resolve-executable.js.map +1 -1
  18. package/dist/source/escape-reserved.d.ts +3 -0
  19. package/dist/source/escape-reserved.d.ts.map +1 -0
  20. package/dist/source/escape-reserved.js +11 -0
  21. package/dist/source/escape-reserved.js.map +1 -0
  22. package/dist/source/index.d.ts +1 -0
  23. package/dist/source/index.d.ts.map +1 -1
  24. package/dist/source/index.js +1 -0
  25. package/dist/source/index.js.map +1 -1
  26. package/dist/source/sanitize-identifier.d.ts +2 -1
  27. package/dist/source/sanitize-identifier.d.ts.map +1 -1
  28. package/dist/source/sanitize-identifier.js +4 -2
  29. package/dist/source/sanitize-identifier.js.map +1 -1
  30. package/dist/source/sanitize-type-identifier.d.ts +3 -0
  31. package/dist/source/sanitize-type-identifier.d.ts.map +1 -0
  32. package/dist/source/sanitize-type-identifier.js +20 -0
  33. package/dist/source/sanitize-type-identifier.js.map +1 -0
  34. package/package.json +11 -1
  35. package/src/index.ts +0 -1
  36. package/src/log/index.ts +1 -1
  37. package/src/log/logger.ts +1 -1
  38. package/src/predicate/index.ts +0 -4
  39. package/src/process/resolve-executable.ts +2 -2
  40. package/src/source/escape-reserved.ts +16 -0
  41. package/src/source/index.ts +1 -0
  42. package/src/source/sanitize-identifier.ts +5 -2
  43. package/src/source/sanitize-type-identifier.ts +22 -0
  44. package/dist/predicate/is-same-array-by.d.ts +0 -3
  45. package/dist/predicate/is-same-array-by.d.ts.map +0 -1
  46. package/dist/predicate/is-same-array-by.js +0 -8
  47. package/dist/predicate/is-same-array-by.js.map +0 -1
  48. package/dist/predicate/is-same-array.d.ts +0 -3
  49. package/dist/predicate/is-same-array.d.ts.map +0 -1
  50. package/dist/predicate/is-same-array.js +0 -6
  51. package/dist/predicate/is-same-array.js.map +0 -1
  52. package/dist/predicate/is-shallow-equal.d.ts +0 -3
  53. package/dist/predicate/is-shallow-equal.d.ts.map +0 -1
  54. package/dist/predicate/is-shallow-equal.js +0 -14
  55. package/dist/predicate/is-shallow-equal.js.map +0 -1
  56. package/dist/util/index.d.ts +0 -2
  57. package/dist/util/index.d.ts.map +0 -1
  58. package/dist/util/index.js +0 -2
  59. package/dist/util/index.js.map +0 -1
  60. package/dist/util/package-version.d.ts +0 -3
  61. package/dist/util/package-version.d.ts.map +0 -1
  62. package/dist/util/package-version.js +0 -6
  63. package/dist/util/package-version.js.map +0 -1
  64. package/src/predicate/is-same-array-by.ts +0 -9
  65. package/src/predicate/is-same-array.ts +0 -7
  66. package/src/predicate/is-shallow-equal.ts +0 -18
  67. package/src/util/index.ts +0 -1
  68. package/src/util/package-version.ts +0 -7
package/README.md CHANGED
@@ -161,7 +161,7 @@ Explore the [example apps](https://github.com/gtkx-org/gtkx/tree/main/examples):
161
161
 
162
162
  ## Status
163
163
 
164
- GTKX 1.0 is released.
164
+ GTKX is stable and ready for production use.
165
165
 
166
166
  ## Contributing
167
167
 
package/dist/index.d.ts CHANGED
@@ -9,5 +9,4 @@ export * from "./process/index.ts";
9
9
  export * from "./set/index.ts";
10
10
  export * from "./source/index.ts";
11
11
  export * from "./string/index.ts";
12
- export * from "./util/index.ts";
13
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC"}
package/dist/index.js CHANGED
@@ -9,5 +9,4 @@ export * from "./process/index.js";
9
9
  export * from "./set/index.js";
10
10
  export * from "./source/index.js";
11
11
  export * from "./string/index.js";
12
- export * from "./util/index.js";
13
12
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC","sourcesContent":["export * from \"./array/index.ts\";\nexport * from \"./class/index.ts\";\nexport * from \"./error/index.ts\";\nexport * from \"./log/index.ts\";\nexport * from \"./map/index.ts\";\nexport * from \"./object/index.ts\";\nexport * from \"./predicate/index.ts\";\nexport * from \"./process/index.ts\";\nexport * from \"./set/index.ts\";\nexport * from \"./source/index.ts\";\nexport * from \"./string/index.ts\";\nexport * from \"./util/index.ts\";\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC","sourcesContent":["export * from \"./array/index.ts\";\nexport * from \"./class/index.ts\";\nexport * from \"./error/index.ts\";\nexport * from \"./log/index.ts\";\nexport * from \"./map/index.ts\";\nexport * from \"./object/index.ts\";\nexport * from \"./predicate/index.ts\";\nexport * from \"./process/index.ts\";\nexport * from \"./set/index.ts\";\nexport * from \"./source/index.ts\";\nexport * from \"./string/index.ts\";\n"]}
@@ -2,5 +2,5 @@ export { createLogger } from "./create-logger.ts";
2
2
  export { error, info, logger, warn } from "./default-logger.ts";
3
3
  /** @internal */
4
4
  export { debug } from "./default-logger.ts";
5
- export { Logger, type OutputStream } from "./logger.ts";
5
+ export { Logger } from "./logger.ts";
6
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/log/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAChE,gBAAgB;AAChB,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/log/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAChE,gBAAgB;AAChB,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/log/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAChE,gBAAgB;AAChB,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAqB,MAAM,aAAa,CAAC","sourcesContent":["export { createLogger } from \"./create-logger.ts\";\nexport { error, info, logger, warn } from \"./default-logger.ts\";\n/** @internal */\nexport { debug } from \"./default-logger.ts\";\nexport { Logger, type OutputStream } from \"./logger.ts\";\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/log/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAChE,gBAAgB;AAChB,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC","sourcesContent":["export { createLogger } from \"./create-logger.ts\";\nexport { error, info, logger, warn } from \"./default-logger.ts\";\n/** @internal */\nexport { debug } from \"./default-logger.ts\";\nexport { Logger } from \"./logger.ts\";\n"]}
@@ -19,5 +19,5 @@ declare class Logger {
19
19
  error(message: string, ...rest: unknown[]): void;
20
20
  debug(message: string, ...rest: unknown[]): void;
21
21
  }
22
- export { Logger, type OutputStream, type LoggerOptions };
22
+ export { Logger, type LoggerOptions };
23
23
  //# sourceMappingURL=logger.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/log/logger.ts"],"names":[],"mappings":"AAIA,KAAK,YAAY,GAAG;IAChB,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;IAC9B,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC/B,CAAC;AAEF,KAAK,aAAa,GAAG;IACjB,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,MAAM,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;IAClC,cAAc,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACxC,CAAC;AAgDF,cAAM,MAAM;IACR,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,cAAc,CAAU;IAChC,OAAO,CAAC,MAAM,CAAS;gBAEX,OAAO,GAAE,aAAkB;IAOvC,OAAO,CAAC,KAAK;IAKb,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAI/C,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAI/C,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAIhD,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;CAOnD;AAED,OAAO,EAAE,MAAM,EAAE,KAAK,YAAY,EAAE,KAAK,aAAa,EAAE,CAAC"}
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/log/logger.ts"],"names":[],"mappings":"AAIA,KAAK,YAAY,GAAG;IAChB,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;IAC9B,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC/B,CAAC;AAEF,KAAK,aAAa,GAAG;IACjB,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,MAAM,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;IAClC,cAAc,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACxC,CAAC;AAgDF,cAAM,MAAM;IACR,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,cAAc,CAAU;IAChC,OAAO,CAAC,MAAM,CAAS;gBAEX,OAAO,GAAE,aAAkB;IAOvC,OAAO,CAAC,KAAK;IAKb,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAI/C,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAI/C,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAIhD,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;CAOnD;AAED,OAAO,EAAE,MAAM,EAAE,KAAK,aAAa,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/log/logger.ts"],"names":[],"mappings":"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","sourcesContent":["import pc from \"picocolors\";\n\ntype Colors = ReturnType<typeof pc.createColors>;\n\ntype OutputStream = {\n write(chunk: string): unknown;\n isTTY?: boolean | undefined;\n};\n\ntype LoggerOptions = {\n namespace?: string | undefined;\n stream?: OutputStream | undefined;\n isDebugEnabled?: boolean | undefined;\n};\n\nconst BASE_PREFIX = \"[gtkx]\";\n\nfunction getColors(stream: OutputStream): Colors {\n return pc.createColors(pc.isColorSupported && stream.isTTY === true);\n}\n\nfunction formatValue(value: unknown): string {\n if (typeof value === \"string\") {\n return value;\n }\n\n if (value instanceof Error) {\n return value.stack ?? value.message;\n }\n\n try {\n return JSON.stringify(value);\n } catch {\n return String(value);\n }\n}\n\nfunction isDebugEnabled(namespace: string | undefined, argv: string[], env: NodeJS.ProcessEnv): boolean {\n if (argv.includes(\"--debug\")) {\n return true;\n }\n\n const spec = env.GTKX_DEBUG;\n\n if (!spec) {\n return false;\n }\n\n const names = new Set(spec.split(/[\\s,]+/).filter((name) => name.length > 0));\n\n if (names.has(\"1\") || names.has(\"*\")) {\n return true;\n }\n\n return namespace !== undefined && names.has(namespace);\n}\n\nfunction getPrefix(namespace: string | undefined): string {\n return namespace === undefined ? BASE_PREFIX : `[gtkx:${namespace}]`;\n}\n\nclass Logger {\n private stream: OutputStream;\n private prefix: string;\n private isDebugEnabled: boolean;\n private colors: Colors;\n\n constructor(options: LoggerOptions = {}) {\n this.stream = options.stream ?? process.stderr;\n this.prefix = getPrefix(options.namespace);\n this.isDebugEnabled = options.isDebugEnabled ?? isDebugEnabled(options.namespace, process.argv, process.env);\n this.colors = getColors(this.stream);\n }\n\n private write(message: string, rest: unknown[]): void {\n const suffix = rest.length === 0 ? \"\" : ` ${rest.map((value) => formatValue(value)).join(\" \")}`;\n this.stream.write(`${this.prefix} ${message}${suffix}\\n`);\n }\n\n info(message: string, ...rest: unknown[]): void {\n this.write(message, rest);\n }\n\n warn(message: string, ...rest: unknown[]): void {\n this.write(`${this.colors.yellow(\"warn\")} ${message}`, rest);\n }\n\n error(message: string, ...rest: unknown[]): void {\n this.write(`${this.colors.red(\"error\")} ${message}`, rest);\n }\n\n debug(message: string, ...rest: unknown[]): void {\n if (!this.isDebugEnabled) {\n return;\n }\n\n this.write(message, rest);\n }\n}\n\nexport { Logger, type OutputStream, type LoggerOptions };\n"]}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/log/logger.ts"],"names":[],"mappings":"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","sourcesContent":["import pc from \"picocolors\";\n\ntype Colors = ReturnType<typeof pc.createColors>;\n\ntype OutputStream = {\n write(chunk: string): unknown;\n isTTY?: boolean | undefined;\n};\n\ntype LoggerOptions = {\n namespace?: string | undefined;\n stream?: OutputStream | undefined;\n isDebugEnabled?: boolean | undefined;\n};\n\nconst BASE_PREFIX = \"[gtkx]\";\n\nfunction getColors(stream: OutputStream): Colors {\n return pc.createColors(pc.isColorSupported && stream.isTTY === true);\n}\n\nfunction formatValue(value: unknown): string {\n if (typeof value === \"string\") {\n return value;\n }\n\n if (value instanceof Error) {\n return value.stack ?? value.message;\n }\n\n try {\n return JSON.stringify(value);\n } catch {\n return String(value);\n }\n}\n\nfunction isDebugEnabled(namespace: string | undefined, argv: string[], env: NodeJS.ProcessEnv): boolean {\n if (argv.includes(\"--debug\")) {\n return true;\n }\n\n const spec = env.GTKX_DEBUG;\n\n if (!spec) {\n return false;\n }\n\n const names = new Set(spec.split(/[\\s,]+/).filter((name) => name.length > 0));\n\n if (names.has(\"1\") || names.has(\"*\")) {\n return true;\n }\n\n return namespace !== undefined && names.has(namespace);\n}\n\nfunction getPrefix(namespace: string | undefined): string {\n return namespace === undefined ? BASE_PREFIX : `[gtkx:${namespace}]`;\n}\n\nclass Logger {\n private stream: OutputStream;\n private prefix: string;\n private isDebugEnabled: boolean;\n private colors: Colors;\n\n constructor(options: LoggerOptions = {}) {\n this.stream = options.stream ?? process.stderr;\n this.prefix = getPrefix(options.namespace);\n this.isDebugEnabled = options.isDebugEnabled ?? isDebugEnabled(options.namespace, process.argv, process.env);\n this.colors = getColors(this.stream);\n }\n\n private write(message: string, rest: unknown[]): void {\n const suffix = rest.length === 0 ? \"\" : ` ${rest.map((value) => formatValue(value)).join(\" \")}`;\n this.stream.write(`${this.prefix} ${message}${suffix}\\n`);\n }\n\n info(message: string, ...rest: unknown[]): void {\n this.write(message, rest);\n }\n\n warn(message: string, ...rest: unknown[]): void {\n this.write(`${this.colors.yellow(\"warn\")} ${message}`, rest);\n }\n\n error(message: string, ...rest: unknown[]): void {\n this.write(`${this.colors.red(\"error\")} ${message}`, rest);\n }\n\n debug(message: string, ...rest: unknown[]): void {\n if (!this.isDebugEnabled) {\n return;\n }\n\n this.write(message, rest);\n }\n}\n\nexport { Logger, type LoggerOptions };\n"]}
@@ -1,7 +1,3 @@
1
1
  export { isDeepEqual } from "./is-deep-equal.ts";
2
- export { isPlainObject } from "./is-plain-object.ts";
3
2
  export { isRecord } from "./is-record.ts";
4
- export { isSameArrayBy } from "./is-same-array-by.ts";
5
- export { isSameArray } from "./is-same-array.ts";
6
- export { isShallowEqual } from "./is-shallow-equal.ts";
7
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/predicate/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/predicate/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC"}
@@ -1,7 +1,3 @@
1
1
  export { isDeepEqual } from "./is-deep-equal.js";
2
- export { isPlainObject } from "./is-plain-object.js";
3
2
  export { isRecord } from "./is-record.js";
4
- export { isSameArrayBy } from "./is-same-array-by.js";
5
- export { isSameArray } from "./is-same-array.js";
6
- export { isShallowEqual } from "./is-shallow-equal.js";
7
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/predicate/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC","sourcesContent":["export { isDeepEqual } from \"./is-deep-equal.ts\";\nexport { isPlainObject } from \"./is-plain-object.ts\";\nexport { isRecord } from \"./is-record.ts\";\nexport { isSameArrayBy } from \"./is-same-array-by.ts\";\nexport { isSameArray } from \"./is-same-array.ts\";\nexport { isShallowEqual } from \"./is-shallow-equal.ts\";\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/predicate/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC","sourcesContent":["export { isDeepEqual } from \"./is-deep-equal.ts\";\nexport { isRecord } from \"./is-record.ts\";\n"]}
@@ -1,9 +1,9 @@
1
- import { accessSync, constants } from "node:fs";
1
+ import { accessSync, constants, statSync } from "node:fs";
2
2
  import { delimiter, isAbsolute, join, resolve } from "node:path";
3
3
  const isExecutable = (path) => {
4
4
  try {
5
5
  accessSync(path, constants.X_OK);
6
- return true;
6
+ return statSync(path).isFile();
7
7
  }
8
8
  catch {
9
9
  return false;
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-executable.js","sourceRoot":"","sources":["../../src/process/resolve-executable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEjE,MAAM,YAAY,GAAG,CAAC,IAAY,EAAW,EAAE;IAC3C,IAAI,CAAC;QACD,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;QAEjC,OAAO,IAAI,CAAC;IAChB,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,KAAK,CAAC;IACjB,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,CAAC,OAAe,EAAsB,EAAE;IACvD,MAAM,WAAW,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAElG,KAAK,MAAM,SAAS,IAAI,WAAW,EAAE,CAAC;QAClC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAE3C,IAAI,YAAY,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1B,OAAO,SAAS,CAAC;QACrB,CAAC;IACL,CAAC;IAED,OAAO,SAAS,CAAC;AACrB,CAAC,CAAC;AAEF,SAAS,oBAAoB,CAAC,OAAe;IACzC,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACtB,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;IAED,OAAO,UAAU,CAAC,OAAO,CAAC,CAAC;AAC/B,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAe;IACtC,MAAM,KAAK,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAE5C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,oBAAoB,OAAO,sBAAsB,CAAC,CAAC;IACvE,CAAC;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,CAAC","sourcesContent":["import { accessSync, constants } from \"node:fs\";\nimport { delimiter, isAbsolute, join, resolve } from \"node:path\";\n\nconst isExecutable = (path: string): boolean => {\n try {\n accessSync(path, constants.X_OK);\n\n return true;\n } catch {\n return false;\n }\n};\n\nconst findOnPath = (command: string): string | undefined => {\n const searchPaths = (process.env.PATH ?? \"\").split(delimiter).filter((entry) => entry.length > 0);\n\n for (const directory of searchPaths) {\n const candidate = join(directory, command);\n\n if (isExecutable(candidate)) {\n return candidate;\n }\n }\n\n return undefined;\n};\n\nfunction tryResolveExecutable(command: string): string | undefined {\n if (isAbsolute(command)) {\n return command;\n }\n\n if (command.includes(\"/\")) {\n return resolve(command);\n }\n\n return findOnPath(command);\n}\n\nfunction resolveExecutable(command: string): string {\n const found = tryResolveExecutable(command);\n\n if (found === undefined) {\n throw new Error(`Cannot find the \"${command}\" executable on PATH`);\n }\n\n return found;\n}\n\nexport { resolveExecutable, tryResolveExecutable };\n"]}
1
+ {"version":3,"file":"resolve-executable.js","sourceRoot":"","sources":["../../src/process/resolve-executable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEjE,MAAM,YAAY,GAAG,CAAC,IAAY,EAAW,EAAE;IAC3C,IAAI,CAAC;QACD,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;QAEjC,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,KAAK,CAAC;IACjB,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,CAAC,OAAe,EAAsB,EAAE;IACvD,MAAM,WAAW,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAElG,KAAK,MAAM,SAAS,IAAI,WAAW,EAAE,CAAC;QAClC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAE3C,IAAI,YAAY,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1B,OAAO,SAAS,CAAC;QACrB,CAAC;IACL,CAAC;IAED,OAAO,SAAS,CAAC;AACrB,CAAC,CAAC;AAEF,SAAS,oBAAoB,CAAC,OAAe;IACzC,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACtB,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;IAED,OAAO,UAAU,CAAC,OAAO,CAAC,CAAC;AAC/B,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAe;IACtC,MAAM,KAAK,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAE5C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,oBAAoB,OAAO,sBAAsB,CAAC,CAAC;IACvE,CAAC;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,CAAC","sourcesContent":["import { accessSync, constants, statSync } from \"node:fs\";\nimport { delimiter, isAbsolute, join, resolve } from \"node:path\";\n\nconst isExecutable = (path: string): boolean => {\n try {\n accessSync(path, constants.X_OK);\n\n return statSync(path).isFile();\n } catch {\n return false;\n }\n};\n\nconst findOnPath = (command: string): string | undefined => {\n const searchPaths = (process.env.PATH ?? \"\").split(delimiter).filter((entry) => entry.length > 0);\n\n for (const directory of searchPaths) {\n const candidate = join(directory, command);\n\n if (isExecutable(candidate)) {\n return candidate;\n }\n }\n\n return undefined;\n};\n\nfunction tryResolveExecutable(command: string): string | undefined {\n if (isAbsolute(command)) {\n return command;\n }\n\n if (command.includes(\"/\")) {\n return resolve(command);\n }\n\n return findOnPath(command);\n}\n\nfunction resolveExecutable(command: string): string {\n const found = tryResolveExecutable(command);\n\n if (found === undefined) {\n throw new Error(`Cannot find the \"${command}\" executable on PATH`);\n }\n\n return found;\n}\n\nexport { resolveExecutable, tryResolveExecutable };\n"]}
@@ -0,0 +1,3 @@
1
+ declare const escapeReserved: (name: string, reserved: Set<string>) => string;
2
+ export { escapeReserved };
3
+ //# sourceMappingURL=escape-reserved.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"escape-reserved.d.ts","sourceRoot":"","sources":["../../src/source/escape-reserved.ts"],"names":[],"mappings":"AAYA,QAAA,MAAM,cAAc,GAAI,MAAM,MAAM,EAAE,UAAU,GAAG,CAAC,MAAM,CAAC,KAAG,MACW,CAAC;AAE1E,OAAO,EAAE,cAAc,EAAE,CAAC"}
@@ -0,0 +1,11 @@
1
+ const UNDERSCORE = "_";
2
+ const getUnsuffixedName = (name) => {
3
+ let end = name.length;
4
+ while (end > 0 && name.charAt(end - 1) === UNDERSCORE) {
5
+ end -= 1;
6
+ }
7
+ return name.slice(0, end);
8
+ };
9
+ const escapeReserved = (name, reserved) => reserved.has(getUnsuffixedName(name)) ? `${name}${UNDERSCORE}` : name;
10
+ export { escapeReserved };
11
+ //# sourceMappingURL=escape-reserved.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"escape-reserved.js","sourceRoot":"","sources":["../../src/source/escape-reserved.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,GAAG,GAAG,CAAC;AAEvB,MAAM,iBAAiB,GAAG,CAAC,IAAY,EAAU,EAAE;IAC/C,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC;IAEtB,OAAO,GAAG,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,UAAU,EAAE,CAAC;QACpD,GAAG,IAAI,CAAC,CAAC;IACb,CAAC;IAED,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAC9B,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,CAAC,IAAY,EAAE,QAAqB,EAAU,EAAE,CACnE,QAAQ,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAE1E,OAAO,EAAE,cAAc,EAAE,CAAC","sourcesContent":["const UNDERSCORE = \"_\";\n\nconst getUnsuffixedName = (name: string): string => {\n let end = name.length;\n\n while (end > 0 && name.charAt(end - 1) === UNDERSCORE) {\n end -= 1;\n }\n\n return name.slice(0, end);\n};\n\nconst escapeReserved = (name: string, reserved: Set<string>): string =>\n reserved.has(getUnsuffixedName(name)) ? `${name}${UNDERSCORE}` : name;\n\nexport { escapeReserved };\n"]}
@@ -1,4 +1,5 @@
1
1
  export { sanitizeIdentifier } from "./sanitize-identifier.ts";
2
+ export { sanitizeTypeIdentifier } from "./sanitize-type-identifier.ts";
2
3
  export { sourceStringLiteral } from "./source-string-literal.ts";
3
4
  export { toCamelIdentifier } from "./to-camel-identifier.ts";
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/source/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/source/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC"}
@@ -1,4 +1,5 @@
1
1
  export { sanitizeIdentifier } from "./sanitize-identifier.js";
2
+ export { sanitizeTypeIdentifier } from "./sanitize-type-identifier.js";
2
3
  export { sourceStringLiteral } from "./source-string-literal.js";
3
4
  export { toCamelIdentifier } from "./to-camel-identifier.js";
4
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/source/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC","sourcesContent":["export { sanitizeIdentifier } from \"./sanitize-identifier.ts\";\nexport { sourceStringLiteral } from \"./source-string-literal.ts\";\nexport { toCamelIdentifier } from \"./to-camel-identifier.ts\";\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/source/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC","sourcesContent":["export { sanitizeIdentifier } from \"./sanitize-identifier.ts\";\nexport { sanitizeTypeIdentifier } from \"./sanitize-type-identifier.ts\";\nexport { sourceStringLiteral } from \"./source-string-literal.ts\";\nexport { toCamelIdentifier } from \"./to-camel-identifier.ts\";\n"]}
@@ -1,3 +1,4 @@
1
+ declare const RESERVED: Set<string>;
1
2
  declare function sanitizeIdentifier(name: string): string;
2
- export { sanitizeIdentifier };
3
+ export { RESERVED, sanitizeIdentifier };
3
4
  //# sourceMappingURL=sanitize-identifier.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sanitize-identifier.d.ts","sourceRoot":"","sources":["../../src/source/sanitize-identifier.ts"],"names":[],"mappings":"AAkDA,iBAAS,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEhD;AAED,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
1
+ {"version":3,"file":"sanitize-identifier.d.ts","sourceRoot":"","sources":["../../src/source/sanitize-identifier.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,QAAQ,EAAE,GAAG,CAAC,MAAM,CAiDxB,CAAC;AAEH,iBAAS,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEhD;AAED,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { escapeReserved } from "./escape-reserved.js";
1
2
  const RESERVED = new Set([
2
3
  "arguments",
3
4
  "await",
@@ -21,6 +22,7 @@ const RESERVED = new Set([
21
22
  "for",
22
23
  "function",
23
24
  "if",
25
+ "implements",
24
26
  "import",
25
27
  "in",
26
28
  "instanceof",
@@ -48,7 +50,7 @@ const RESERVED = new Set([
48
50
  "yield",
49
51
  ]);
50
52
  function sanitizeIdentifier(name) {
51
- return RESERVED.has(name) ? `${name}_` : name;
53
+ return escapeReserved(name, RESERVED);
52
54
  }
53
- export { sanitizeIdentifier };
55
+ export { RESERVED, sanitizeIdentifier };
54
56
  //# sourceMappingURL=sanitize-identifier.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sanitize-identifier.js","sourceRoot":"","sources":["../../src/source/sanitize-identifier.ts"],"names":[],"mappings":"AAAA,MAAM,QAAQ,GAAgB,IAAI,GAAG,CAAC;IAClC,WAAW;IACX,OAAO;IACP,OAAO;IACP,MAAM;IACN,OAAO;IACP,OAAO;IACP,OAAO;IACP,UAAU;IACV,UAAU;IACV,SAAS;IACT,QAAQ;IACR,IAAI;IACJ,MAAM;IACN,MAAM;IACN,MAAM;IACN,QAAQ;IACR,SAAS;IACT,OAAO;IACP,SAAS;IACT,KAAK;IACL,UAAU;IACV,IAAI;IACJ,QAAQ;IACR,IAAI;IACJ,YAAY;IACZ,WAAW;IACX,KAAK;IACL,KAAK;IACL,MAAM;IACN,SAAS;IACT,SAAS;IACT,WAAW;IACX,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,MAAM;IACN,OAAO;IACP,MAAM;IACN,KAAK;IACL,QAAQ;IACR,KAAK;IACL,MAAM;IACN,OAAO;IACP,MAAM;IACN,OAAO;CACV,CAAC,CAAC;AAEH,SAAS,kBAAkB,CAAC,IAAY;IACpC,OAAO,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;AAClD,CAAC;AAED,OAAO,EAAE,kBAAkB,EAAE,CAAC","sourcesContent":["const RESERVED: Set<string> = new Set([\n \"arguments\",\n \"await\",\n \"break\",\n \"case\",\n \"catch\",\n \"class\",\n \"const\",\n \"continue\",\n \"debugger\",\n \"default\",\n \"delete\",\n \"do\",\n \"else\",\n \"enum\",\n \"eval\",\n \"export\",\n \"extends\",\n \"false\",\n \"finally\",\n \"for\",\n \"function\",\n \"if\",\n \"import\",\n \"in\",\n \"instanceof\",\n \"interface\",\n \"let\",\n \"new\",\n \"null\",\n \"package\",\n \"private\",\n \"protected\",\n \"public\",\n \"return\",\n \"static\",\n \"super\",\n \"switch\",\n \"this\",\n \"throw\",\n \"true\",\n \"try\",\n \"typeof\",\n \"var\",\n \"void\",\n \"while\",\n \"with\",\n \"yield\",\n]);\n\nfunction sanitizeIdentifier(name: string): string {\n return RESERVED.has(name) ? `${name}_` : name;\n}\n\nexport { sanitizeIdentifier };\n"]}
1
+ {"version":3,"file":"sanitize-identifier.js","sourceRoot":"","sources":["../../src/source/sanitize-identifier.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,MAAM,QAAQ,GAAgB,IAAI,GAAG,CAAC;IAClC,WAAW;IACX,OAAO;IACP,OAAO;IACP,MAAM;IACN,OAAO;IACP,OAAO;IACP,OAAO;IACP,UAAU;IACV,UAAU;IACV,SAAS;IACT,QAAQ;IACR,IAAI;IACJ,MAAM;IACN,MAAM;IACN,MAAM;IACN,QAAQ;IACR,SAAS;IACT,OAAO;IACP,SAAS;IACT,KAAK;IACL,UAAU;IACV,IAAI;IACJ,YAAY;IACZ,QAAQ;IACR,IAAI;IACJ,YAAY;IACZ,WAAW;IACX,KAAK;IACL,KAAK;IACL,MAAM;IACN,SAAS;IACT,SAAS;IACT,WAAW;IACX,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,MAAM;IACN,OAAO;IACP,MAAM;IACN,KAAK;IACL,QAAQ;IACR,KAAK;IACL,MAAM;IACN,OAAO;IACP,MAAM;IACN,OAAO;CACV,CAAC,CAAC;AAEH,SAAS,kBAAkB,CAAC,IAAY;IACpC,OAAO,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AAC1C,CAAC;AAED,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,CAAC","sourcesContent":["import { escapeReserved } from \"./escape-reserved.ts\";\n\nconst RESERVED: Set<string> = new Set([\n \"arguments\",\n \"await\",\n \"break\",\n \"case\",\n \"catch\",\n \"class\",\n \"const\",\n \"continue\",\n \"debugger\",\n \"default\",\n \"delete\",\n \"do\",\n \"else\",\n \"enum\",\n \"eval\",\n \"export\",\n \"extends\",\n \"false\",\n \"finally\",\n \"for\",\n \"function\",\n \"if\",\n \"implements\",\n \"import\",\n \"in\",\n \"instanceof\",\n \"interface\",\n \"let\",\n \"new\",\n \"null\",\n \"package\",\n \"private\",\n \"protected\",\n \"public\",\n \"return\",\n \"static\",\n \"super\",\n \"switch\",\n \"this\",\n \"throw\",\n \"true\",\n \"try\",\n \"typeof\",\n \"var\",\n \"void\",\n \"while\",\n \"with\",\n \"yield\",\n]);\n\nfunction sanitizeIdentifier(name: string): string {\n return escapeReserved(name, RESERVED);\n}\n\nexport { RESERVED, sanitizeIdentifier };\n"]}
@@ -0,0 +1,3 @@
1
+ declare function sanitizeTypeIdentifier(name: string): string;
2
+ export { sanitizeTypeIdentifier };
3
+ //# sourceMappingURL=sanitize-type-identifier.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sanitize-type-identifier.d.ts","sourceRoot":"","sources":["../../src/source/sanitize-type-identifier.ts"],"names":[],"mappings":"AAiBA,iBAAS,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED,OAAO,EAAE,sBAAsB,EAAE,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { escapeReserved } from "./escape-reserved.js";
2
+ import { RESERVED } from "./sanitize-identifier.js";
3
+ const TYPE_RESERVED = new Set([
4
+ ...RESERVED,
5
+ "any",
6
+ "bigint",
7
+ "boolean",
8
+ "never",
9
+ "number",
10
+ "object",
11
+ "string",
12
+ "symbol",
13
+ "undefined",
14
+ "unknown",
15
+ ]);
16
+ function sanitizeTypeIdentifier(name) {
17
+ return escapeReserved(name, TYPE_RESERVED);
18
+ }
19
+ export { sanitizeTypeIdentifier };
20
+ //# sourceMappingURL=sanitize-type-identifier.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sanitize-type-identifier.js","sourceRoot":"","sources":["../../src/source/sanitize-type-identifier.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEpD,MAAM,aAAa,GAAgB,IAAI,GAAG,CAAC;IACvC,GAAG,QAAQ;IACX,KAAK;IACL,QAAQ;IACR,SAAS;IACT,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,WAAW;IACX,SAAS;CACZ,CAAC,CAAC;AAEH,SAAS,sBAAsB,CAAC,IAAY;IACxC,OAAO,cAAc,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;AAC/C,CAAC;AAED,OAAO,EAAE,sBAAsB,EAAE,CAAC","sourcesContent":["import { escapeReserved } from \"./escape-reserved.ts\";\nimport { RESERVED } from \"./sanitize-identifier.ts\";\n\nconst TYPE_RESERVED: Set<string> = new Set([\n ...RESERVED,\n \"any\",\n \"bigint\",\n \"boolean\",\n \"never\",\n \"number\",\n \"object\",\n \"string\",\n \"symbol\",\n \"undefined\",\n \"unknown\",\n]);\n\nfunction sanitizeTypeIdentifier(name: string): string {\n return escapeReserved(name, TYPE_RESERVED);\n}\n\nexport { sanitizeTypeIdentifier };\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gtkx/utils",
3
- "version": "1.0.0",
3
+ "version": "1.1.0",
4
4
  "description": "Cross-package utilities shared by the GTKX packages and toolchain: logging, error formatting, string and class helpers",
5
5
  "keywords": [
6
6
  "gtkx",
@@ -34,6 +34,16 @@
34
34
  "dist",
35
35
  "src"
36
36
  ],
37
+ "nx": {
38
+ "targets": {
39
+ "lint": {
40
+ "options": {
41
+ "cwd": ".",
42
+ "command": "eslint {projectRoot}"
43
+ }
44
+ }
45
+ }
46
+ },
37
47
  "dependencies": {
38
48
  "picocolors": "^1.1.1"
39
49
  },
package/src/index.ts CHANGED
@@ -9,4 +9,3 @@ export * from "./process/index.ts";
9
9
  export * from "./set/index.ts";
10
10
  export * from "./source/index.ts";
11
11
  export * from "./string/index.ts";
12
- export * from "./util/index.ts";
package/src/log/index.ts CHANGED
@@ -2,4 +2,4 @@ export { createLogger } from "./create-logger.ts";
2
2
  export { error, info, logger, warn } from "./default-logger.ts";
3
3
  /** @internal */
4
4
  export { debug } from "./default-logger.ts";
5
- export { Logger, type OutputStream } from "./logger.ts";
5
+ export { Logger } from "./logger.ts";
package/src/log/logger.ts CHANGED
@@ -98,4 +98,4 @@ class Logger {
98
98
  }
99
99
  }
100
100
 
101
- export { Logger, type OutputStream, type LoggerOptions };
101
+ export { Logger, type LoggerOptions };
@@ -1,6 +1,2 @@
1
1
  export { isDeepEqual } from "./is-deep-equal.ts";
2
- export { isPlainObject } from "./is-plain-object.ts";
3
2
  export { isRecord } from "./is-record.ts";
4
- export { isSameArrayBy } from "./is-same-array-by.ts";
5
- export { isSameArray } from "./is-same-array.ts";
6
- export { isShallowEqual } from "./is-shallow-equal.ts";
@@ -1,11 +1,11 @@
1
- import { accessSync, constants } from "node:fs";
1
+ import { accessSync, constants, statSync } from "node:fs";
2
2
  import { delimiter, isAbsolute, join, resolve } from "node:path";
3
3
 
4
4
  const isExecutable = (path: string): boolean => {
5
5
  try {
6
6
  accessSync(path, constants.X_OK);
7
7
 
8
- return true;
8
+ return statSync(path).isFile();
9
9
  } catch {
10
10
  return false;
11
11
  }
@@ -0,0 +1,16 @@
1
+ const UNDERSCORE = "_";
2
+
3
+ const getUnsuffixedName = (name: string): string => {
4
+ let end = name.length;
5
+
6
+ while (end > 0 && name.charAt(end - 1) === UNDERSCORE) {
7
+ end -= 1;
8
+ }
9
+
10
+ return name.slice(0, end);
11
+ };
12
+
13
+ const escapeReserved = (name: string, reserved: Set<string>): string =>
14
+ reserved.has(getUnsuffixedName(name)) ? `${name}${UNDERSCORE}` : name;
15
+
16
+ export { escapeReserved };
@@ -1,3 +1,4 @@
1
1
  export { sanitizeIdentifier } from "./sanitize-identifier.ts";
2
+ export { sanitizeTypeIdentifier } from "./sanitize-type-identifier.ts";
2
3
  export { sourceStringLiteral } from "./source-string-literal.ts";
3
4
  export { toCamelIdentifier } from "./to-camel-identifier.ts";
@@ -1,3 +1,5 @@
1
+ import { escapeReserved } from "./escape-reserved.ts";
2
+
1
3
  const RESERVED: Set<string> = new Set([
2
4
  "arguments",
3
5
  "await",
@@ -21,6 +23,7 @@ const RESERVED: Set<string> = new Set([
21
23
  "for",
22
24
  "function",
23
25
  "if",
26
+ "implements",
24
27
  "import",
25
28
  "in",
26
29
  "instanceof",
@@ -49,7 +52,7 @@ const RESERVED: Set<string> = new Set([
49
52
  ]);
50
53
 
51
54
  function sanitizeIdentifier(name: string): string {
52
- return RESERVED.has(name) ? `${name}_` : name;
55
+ return escapeReserved(name, RESERVED);
53
56
  }
54
57
 
55
- export { sanitizeIdentifier };
58
+ export { RESERVED, sanitizeIdentifier };
@@ -0,0 +1,22 @@
1
+ import { escapeReserved } from "./escape-reserved.ts";
2
+ import { RESERVED } from "./sanitize-identifier.ts";
3
+
4
+ const TYPE_RESERVED: Set<string> = new Set([
5
+ ...RESERVED,
6
+ "any",
7
+ "bigint",
8
+ "boolean",
9
+ "never",
10
+ "number",
11
+ "object",
12
+ "string",
13
+ "symbol",
14
+ "undefined",
15
+ "unknown",
16
+ ]);
17
+
18
+ function sanitizeTypeIdentifier(name: string): string {
19
+ return escapeReserved(name, TYPE_RESERVED);
20
+ }
21
+
22
+ export { sanitizeTypeIdentifier };
@@ -1,3 +0,0 @@
1
- declare function isSameArrayBy<T>(a: T[], b: T[], isEqual: (x: T, y: T) => boolean): boolean;
2
- export { isSameArrayBy };
3
- //# sourceMappingURL=is-same-array-by.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"is-same-array-by.d.ts","sourceRoot":"","sources":["../../src/predicate/is-same-array-by.ts"],"names":[],"mappings":"AAAA,iBAAS,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,OAAO,GAAG,OAAO,CAMnF;AAED,OAAO,EAAE,aAAa,EAAE,CAAC"}
@@ -1,8 +0,0 @@
1
- function isSameArrayBy(a, b, isEqual) {
2
- if (a.length !== b.length) {
3
- return false;
4
- }
5
- return a.every((item, index) => isEqual(item, b[index]));
6
- }
7
- export { isSameArrayBy };
8
- //# sourceMappingURL=is-same-array-by.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"is-same-array-by.js","sourceRoot":"","sources":["../../src/predicate/is-same-array-by.ts"],"names":[],"mappings":"AAAA,SAAS,aAAa,CAAI,CAAM,EAAE,CAAM,EAAE,OAAgC;IACtE,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;QACxB,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAM,CAAC,CAAC,CAAC;AAClE,CAAC;AAED,OAAO,EAAE,aAAa,EAAE,CAAC","sourcesContent":["function isSameArrayBy<T>(a: T[], b: T[], isEqual: (x: T, y: T) => boolean): boolean {\n if (a.length !== b.length) {\n return false;\n }\n\n return a.every((item, index) => isEqual(item, b[index] as T));\n}\n\nexport { isSameArrayBy };\n"]}
@@ -1,3 +0,0 @@
1
- declare function isSameArray<T>(a: T[], b: T[]): boolean;
2
- export { isSameArray };
3
- //# sourceMappingURL=is-same-array.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"is-same-array.d.ts","sourceRoot":"","sources":["../../src/predicate/is-same-array.ts"],"names":[],"mappings":"AAEA,iBAAS,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,OAAO,CAE/C;AAED,OAAO,EAAE,WAAW,EAAE,CAAC"}
@@ -1,6 +0,0 @@
1
- import { isSameArrayBy } from "./is-same-array-by.js";
2
- function isSameArray(a, b) {
3
- return isSameArrayBy(a, b, (x, y) => x === y);
4
- }
5
- export { isSameArray };
6
- //# sourceMappingURL=is-same-array.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"is-same-array.js","sourceRoot":"","sources":["../../src/predicate/is-same-array.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD,SAAS,WAAW,CAAI,CAAM,EAAE,CAAM;IAClC,OAAO,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;AAClD,CAAC;AAED,OAAO,EAAE,WAAW,EAAE,CAAC","sourcesContent":["import { isSameArrayBy } from \"./is-same-array-by.ts\";\n\nfunction isSameArray<T>(a: T[], b: T[]): boolean {\n return isSameArrayBy(a, b, (x, y) => x === y);\n}\n\nexport { isSameArray };\n"]}
@@ -1,3 +0,0 @@
1
- declare function isShallowEqual(a: unknown, b: unknown): boolean;
2
- export { isShallowEqual };
3
- //# sourceMappingURL=is-shallow-equal.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"is-shallow-equal.d.ts","sourceRoot":"","sources":["../../src/predicate/is-shallow-equal.ts"],"names":[],"mappings":"AAKA,iBAAS,cAAc,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,GAAG,OAAO,CAUvD;AAED,OAAO,EAAE,cAAc,EAAE,CAAC"}
@@ -1,14 +0,0 @@
1
- import { areObjectKeysEqual } from "./are-object-keys-equal.js";
2
- import { isPlainObject } from "./is-plain-object.js";
3
- const isStrictEqual = (a, b) => a === b;
4
- function isShallowEqual(a, b) {
5
- if (a === b) {
6
- return true;
7
- }
8
- if (isPlainObject(a) && isPlainObject(b)) {
9
- return areObjectKeysEqual(a, b, isStrictEqual);
10
- }
11
- return false;
12
- }
13
- export { isShallowEqual };
14
- //# sourceMappingURL=is-shallow-equal.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"is-shallow-equal.js","sourceRoot":"","sources":["../../src/predicate/is-shallow-equal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,MAAM,aAAa,GAAG,CAAC,CAAU,EAAE,CAAU,EAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;AAEnE,SAAS,cAAc,CAAC,CAAU,EAAE,CAAU;IAC1C,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACV,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,IAAI,aAAa,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,OAAO,kBAAkB,CAAC,CAAC,EAAE,CAAC,EAAE,aAAa,CAAC,CAAC;IACnD,CAAC;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,OAAO,EAAE,cAAc,EAAE,CAAC","sourcesContent":["import { areObjectKeysEqual } from \"./are-object-keys-equal.ts\";\nimport { isPlainObject } from \"./is-plain-object.ts\";\n\nconst isStrictEqual = (a: unknown, b: unknown): boolean => a === b;\n\nfunction isShallowEqual(a: unknown, b: unknown): boolean {\n if (a === b) {\n return true;\n }\n\n if (isPlainObject(a) && isPlainObject(b)) {\n return areObjectKeysEqual(a, b, isStrictEqual);\n }\n\n return false;\n}\n\nexport { isShallowEqual };\n"]}
@@ -1,2 +0,0 @@
1
- export { packageVersion } from "./package-version.ts";
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/util/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC"}
@@ -1,2 +0,0 @@
1
- export { packageVersion } from "./package-version.js";
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/util/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC","sourcesContent":["export { packageVersion } from \"./package-version.ts\";\n"]}
@@ -1,3 +0,0 @@
1
- declare function packageVersion(importMetaUrl: string, specifier: string): string;
2
- export { packageVersion };
3
- //# sourceMappingURL=package-version.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"package-version.d.ts","sourceRoot":"","sources":["../../src/util/package-version.ts"],"names":[],"mappings":"AAEA,iBAAS,cAAc,CAAC,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAExE;AAED,OAAO,EAAE,cAAc,EAAE,CAAC"}
@@ -1,6 +0,0 @@
1
- import { createRequire } from "node:module";
2
- function packageVersion(importMetaUrl, specifier) {
3
- return createRequire(importMetaUrl)(specifier).version;
4
- }
5
- export { packageVersion };
6
- //# sourceMappingURL=package-version.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"package-version.js","sourceRoot":"","sources":["../../src/util/package-version.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,SAAS,cAAc,CAAC,aAAqB,EAAE,SAAiB;IAC5D,OAAQ,aAAa,CAAC,aAAa,CAAC,CAAC,SAAS,CAAyB,CAAC,OAAO,CAAC;AACpF,CAAC;AAED,OAAO,EAAE,cAAc,EAAE,CAAC","sourcesContent":["import { createRequire } from \"node:module\";\n\nfunction packageVersion(importMetaUrl: string, specifier: string): string {\n return (createRequire(importMetaUrl)(specifier) as { version: string }).version;\n}\n\nexport { packageVersion };\n"]}
@@ -1,9 +0,0 @@
1
- function isSameArrayBy<T>(a: T[], b: T[], isEqual: (x: T, y: T) => boolean): boolean {
2
- if (a.length !== b.length) {
3
- return false;
4
- }
5
-
6
- return a.every((item, index) => isEqual(item, b[index] as T));
7
- }
8
-
9
- export { isSameArrayBy };
@@ -1,7 +0,0 @@
1
- import { isSameArrayBy } from "./is-same-array-by.ts";
2
-
3
- function isSameArray<T>(a: T[], b: T[]): boolean {
4
- return isSameArrayBy(a, b, (x, y) => x === y);
5
- }
6
-
7
- export { isSameArray };
@@ -1,18 +0,0 @@
1
- import { areObjectKeysEqual } from "./are-object-keys-equal.ts";
2
- import { isPlainObject } from "./is-plain-object.ts";
3
-
4
- const isStrictEqual = (a: unknown, b: unknown): boolean => a === b;
5
-
6
- function isShallowEqual(a: unknown, b: unknown): boolean {
7
- if (a === b) {
8
- return true;
9
- }
10
-
11
- if (isPlainObject(a) && isPlainObject(b)) {
12
- return areObjectKeysEqual(a, b, isStrictEqual);
13
- }
14
-
15
- return false;
16
- }
17
-
18
- export { isShallowEqual };
package/src/util/index.ts DELETED
@@ -1 +0,0 @@
1
- export { packageVersion } from "./package-version.ts";
@@ -1,7 +0,0 @@
1
- import { createRequire } from "node:module";
2
-
3
- function packageVersion(importMetaUrl: string, specifier: string): string {
4
- return (createRequire(importMetaUrl)(specifier) as { version: string }).version;
5
- }
6
-
7
- export { packageVersion };