@cheatron/native 1.1.0 → 1.2.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 (98) hide show
  1. package/README.md +17 -4
  2. package/dist/{src/handle.d.ts → handle.d.ts} +4 -0
  3. package/dist/handle.d.ts.map +1 -0
  4. package/dist/{src/handle.js → handle.js} +3 -3
  5. package/dist/handle.js.map +1 -0
  6. package/dist/{src/index.d.ts → index.d.ts} +7 -3
  7. package/dist/index.d.ts.map +1 -0
  8. package/dist/{src/index.js → index.js} +6 -2
  9. package/dist/index.js.map +1 -0
  10. package/dist/logger.d.ts.map +1 -0
  11. package/dist/logger.js.map +1 -0
  12. package/dist/module.d.ts +45 -0
  13. package/dist/module.d.ts.map +1 -0
  14. package/dist/module.js +122 -0
  15. package/dist/module.js.map +1 -0
  16. package/dist/msvcrt-ext.d.ts +20 -0
  17. package/dist/msvcrt-ext.d.ts.map +1 -0
  18. package/dist/msvcrt-ext.js +120 -0
  19. package/dist/msvcrt-ext.js.map +1 -0
  20. package/dist/native-fn.d.ts +71 -0
  21. package/dist/native-fn.d.ts.map +1 -0
  22. package/dist/native-fn.js +212 -0
  23. package/dist/native-fn.js.map +1 -0
  24. package/dist/pattern.d.ts +15 -0
  25. package/dist/pattern.d.ts.map +1 -0
  26. package/dist/pattern.js +41 -0
  27. package/dist/pattern.js.map +1 -0
  28. package/dist/process.d.ts +72 -0
  29. package/dist/process.d.ts.map +1 -0
  30. package/dist/process.js +269 -0
  31. package/dist/process.js.map +1 -0
  32. package/dist/scanner.d.ts +25 -0
  33. package/dist/scanner.d.ts.map +1 -0
  34. package/dist/scanner.js +124 -0
  35. package/dist/scanner.js.map +1 -0
  36. package/dist/thread.d.ts.map +1 -0
  37. package/dist/{src/thread.js → thread.js} +1 -1
  38. package/dist/thread.js.map +1 -0
  39. package/package.json +3 -2
  40. package/dist/eslint.config.d.ts +0 -3
  41. package/dist/eslint.config.d.ts.map +0 -1
  42. package/dist/eslint.config.js +0 -26
  43. package/dist/eslint.config.js.map +0 -1
  44. package/dist/src/handle.d.ts.map +0 -1
  45. package/dist/src/handle.js.map +0 -1
  46. package/dist/src/index.d.ts.map +0 -1
  47. package/dist/src/index.js.map +0 -1
  48. package/dist/src/logger.d.ts.map +0 -1
  49. package/dist/src/logger.js.map +0 -1
  50. package/dist/src/module.d.ts +0 -22
  51. package/dist/src/module.d.ts.map +0 -1
  52. package/dist/src/module.js +0 -55
  53. package/dist/src/module.js.map +0 -1
  54. package/dist/src/process.d.ts +0 -30
  55. package/dist/src/process.d.ts.map +0 -1
  56. package/dist/src/process.js +0 -104
  57. package/dist/src/process.js.map +0 -1
  58. package/dist/src/thread.d.ts.map +0 -1
  59. package/dist/src/thread.js.map +0 -1
  60. package/dist/tests/integration/memory.test.d.ts +0 -2
  61. package/dist/tests/integration/memory.test.d.ts.map +0 -1
  62. package/dist/tests/integration/memory.test.js +0 -82
  63. package/dist/tests/integration/memory.test.js.map +0 -1
  64. package/dist/tests/integration/thread.test.d.ts +0 -2
  65. package/dist/tests/integration/thread.test.d.ts.map +0 -1
  66. package/dist/tests/integration/thread.test.js +0 -37
  67. package/dist/tests/integration/thread.test.js.map +0 -1
  68. package/dist/tests/setup.d.ts +0 -2
  69. package/dist/tests/setup.d.ts.map +0 -1
  70. package/dist/tests/setup.js +0 -3
  71. package/dist/tests/setup.js.map +0 -1
  72. package/dist/tests/unit/kernel32.test.d.ts +0 -2
  73. package/dist/tests/unit/kernel32.test.d.ts.map +0 -1
  74. package/dist/tests/unit/kernel32.test.js +0 -28
  75. package/dist/tests/unit/kernel32.test.js.map +0 -1
  76. package/dist/tests/unit/logger.test.d.ts +0 -2
  77. package/dist/tests/unit/logger.test.d.ts.map +0 -1
  78. package/dist/tests/unit/logger.test.js +0 -29
  79. package/dist/tests/unit/logger.test.js.map +0 -1
  80. package/dist/tests/unit/msvcrt.test.d.ts +0 -2
  81. package/dist/tests/unit/msvcrt.test.d.ts.map +0 -1
  82. package/dist/tests/unit/msvcrt.test.js +0 -22
  83. package/dist/tests/unit/msvcrt.test.js.map +0 -1
  84. package/dist/tests/unit/process.test.d.ts +0 -2
  85. package/dist/tests/unit/process.test.d.ts.map +0 -1
  86. package/dist/tests/unit/process.test.js +0 -27
  87. package/dist/tests/unit/process.test.js.map +0 -1
  88. package/dist/tests/unit/thread.test.d.ts +0 -2
  89. package/dist/tests/unit/thread.test.d.ts.map +0 -1
  90. package/dist/tests/unit/thread.test.js +0 -35
  91. package/dist/tests/unit/thread.test.js.map +0 -1
  92. package/dist/tests/unit/thread_creation.test.d.ts +0 -2
  93. package/dist/tests/unit/thread_creation.test.d.ts.map +0 -1
  94. package/dist/tests/unit/thread_creation.test.js +0 -31
  95. package/dist/tests/unit/thread_creation.test.js.map +0 -1
  96. /package/dist/{src/logger.d.ts → logger.d.ts} +0 -0
  97. /package/dist/{src/logger.js → logger.js} +0 -0
  98. /package/dist/{src/thread.d.ts → thread.d.ts} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"memory.test.js","sourceRoot":"","sources":["../../../tests/integration/memory.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=thread.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"thread.test.d.ts","sourceRoot":"","sources":["../../../tests/integration/thread.test.ts"],"names":[],"mappings":""}
@@ -1,37 +0,0 @@
1
- import { expect, it, describe } from 'bun:test';
2
- import { Thread, CONTEXT_SIZE, ThreadAccess } from '@cheatron/native';
3
- describe('Thread Integration Tests', () => {
4
- it('should open the current thread by ID', () => {
5
- const tid = Thread.currentId();
6
- const thread = Thread.open(tid);
7
- expect(thread.isValid()).toBe(true);
8
- expect(thread.handle).toBeDefined();
9
- expect(thread.handle).not.toBeNull();
10
- thread.close();
11
- expect(thread.isValid()).toBe(false);
12
- });
13
- it('should open thread with specific access rights', () => {
14
- const tid = Thread.currentId();
15
- const thread = Thread.open(tid, ThreadAccess.QUERY_INFORMATION);
16
- expect(thread.isValid()).toBe(true);
17
- thread.close();
18
- });
19
- it('should have matching current thread ID across calls', () => {
20
- const id1 = Thread.currentId();
21
- const id2 = Thread.currentId();
22
- expect(id1).toBe(id2);
23
- });
24
- it('should have correct CONTEXT_SIZE for x64', () => {
25
- // x64 CONTEXT is 1232 bytes (0x4D0)
26
- expect(CONTEXT_SIZE).toBe(1232);
27
- });
28
- it('should have GetThreadContext available', () => {
29
- // Verify the API is loaded - actual usage requires a suspended *other* thread
30
- const tid = Thread.currentId();
31
- const thread = Thread.open(tid, ThreadAccess.GET_CONTEXT | ThreadAccess.SUSPEND_RESUME);
32
- expect(thread.isValid()).toBe(true);
33
- expect(typeof thread.getContext).toBe('function');
34
- thread.close();
35
- });
36
- });
37
- //# sourceMappingURL=thread.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"thread.test.js","sourceRoot":"","sources":["../../../tests/integration/thread.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEtE,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;IACxC,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC9C,MAAM,GAAG,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEhC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;QACpC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAErC,MAAM,CAAC,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;QACxD,MAAM,GAAG,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,iBAAiB,CAAC,CAAC;QAEhE,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEpC,MAAM,CAAC,KAAK,EAAE,CAAC;IACjB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;QAC7D,MAAM,GAAG,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;QAC/B,MAAM,GAAG,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;QAC/B,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;QAClD,oCAAoC;QACpC,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAChD,8EAA8E;QAC9E,MAAM,GAAG,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CACxB,GAAG,EACH,YAAY,CAAC,WAAW,GAAG,YAAY,CAAC,cAAc,CACvD,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpC,MAAM,CAAC,OAAO,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAClD,MAAM,CAAC,KAAK,EAAE,CAAC;IACjB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=setup.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../tests/setup.ts"],"names":[],"mappings":""}
@@ -1,3 +0,0 @@
1
- export {};
2
- // no OS checks needed.
3
- //# sourceMappingURL=setup.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../tests/setup.ts"],"names":[],"mappings":";AAAA,uBAAuB"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=kernel32.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"kernel32.test.d.ts","sourceRoot":"","sources":["../../../tests/unit/kernel32.test.ts"],"names":[],"mappings":""}
@@ -1,28 +0,0 @@
1
- import { expect, it, describe } from 'bun:test';
2
- import { Kernel32Impl } from '@cheatron/native';
3
- describe('Kernel32 Windows Tests', () => {
4
- it('should load Kernel32 and have all required exports', () => {
5
- expect(Kernel32Impl).toBeDefined();
6
- // Process
7
- expect(typeof Kernel32Impl.GetCurrentProcess).toBe('function');
8
- expect(typeof Kernel32Impl.GetCurrentProcessId).toBe('function');
9
- expect(typeof Kernel32Impl.OpenProcess).toBe('function');
10
- expect(typeof Kernel32Impl.CloseHandle).toBe('function');
11
- // Memory
12
- expect(typeof Kernel32Impl.ReadProcessMemory).toBe('function');
13
- expect(typeof Kernel32Impl.WriteProcessMemory).toBe('function');
14
- expect(typeof Kernel32Impl.VirtualQuery).toBe('function');
15
- expect(typeof Kernel32Impl.VirtualQueryEx).toBe('function');
16
- // Thread
17
- expect(typeof Kernel32Impl.GetCurrentThread).toBe('function');
18
- expect(typeof Kernel32Impl.GetCurrentThreadId).toBe('function');
19
- expect(typeof Kernel32Impl.OpenThread).toBe('function');
20
- expect(typeof Kernel32Impl.SuspendThread).toBe('function');
21
- expect(typeof Kernel32Impl.ResumeThread).toBe('function');
22
- });
23
- it('should return a valid handle from GetCurrentProcess', () => {
24
- const handle = Kernel32Impl.GetCurrentProcess();
25
- expect(handle).toBeDefined();
26
- });
27
- });
28
- //# sourceMappingURL=kernel32.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"kernel32.test.js","sourceRoot":"","sources":["../../../tests/unit/kernel32.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IACtC,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;QAC5D,MAAM,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,CAAC;QAEnC,UAAU;QACV,MAAM,CAAC,OAAO,YAAY,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC/D,MAAM,CAAC,OAAO,YAAY,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACjE,MAAM,CAAC,OAAO,YAAY,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACzD,MAAM,CAAC,OAAO,YAAY,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAEzD,SAAS;QACT,MAAM,CAAC,OAAO,YAAY,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC/D,MAAM,CAAC,OAAO,YAAY,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAChE,MAAM,CAAC,OAAO,YAAY,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC1D,MAAM,CAAC,OAAO,YAAY,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAE5D,SAAS;QACT,MAAM,CAAC,OAAO,YAAY,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC9D,MAAM,CAAC,OAAO,YAAY,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAChE,MAAM,CAAC,OAAO,YAAY,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACxD,MAAM,CAAC,OAAO,YAAY,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC3D,MAAM,CAAC,OAAO,YAAY,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;QAC7D,MAAM,MAAM,GAAG,YAAY,CAAC,iBAAiB,EAAE,CAAC;QAChD,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;IAC/B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=logger.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"logger.test.d.ts","sourceRoot":"","sources":["../../../tests/unit/logger.test.ts"],"names":[],"mappings":""}
@@ -1,29 +0,0 @@
1
- import { describe, test, expect } from 'bun:test';
2
- import { log } from '@cheatron/native';
3
- describe('Logger Wrapper Tests', () => {
4
- test('should expose all log levels', () => {
5
- expect(typeof log.fatal).toBe('function');
6
- expect(typeof log.error).toBe('function');
7
- expect(typeof log.warn).toBe('function');
8
- expect(typeof log.info).toBe('function');
9
- expect(typeof log.debug).toBe('function');
10
- expect(typeof log.trace).toBe('function');
11
- });
12
- test('should expose child logger factory', () => {
13
- expect(typeof log.child).toBe('function');
14
- });
15
- test('should execute log methods without error', () => {
16
- // These should just run without throwing
17
- log.info('Test', 'Info message');
18
- log.debug('Test', 'Debug message', { some: 'data' });
19
- log.error('Test', 'Error message');
20
- });
21
- test('should create child logger', () => {
22
- const child = log.child('ChildTest');
23
- expect(child).toBeDefined();
24
- expect(typeof child.info).toBe('function');
25
- // Should run without error
26
- child.info('Child info message');
27
- });
28
- });
29
- //# sourceMappingURL=logger.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"logger.test.js","sourceRoot":"","sources":["../../../tests/unit/logger.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAEvC,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;IACpC,IAAI,CAAC,8BAA8B,EAAE,GAAG,EAAE;QACxC,MAAM,CAAC,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC1C,MAAM,CAAC,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC1C,MAAM,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACzC,MAAM,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACzC,MAAM,CAAC,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC1C,MAAM,CAAC,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC9C,MAAM,CAAC,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,0CAA0C,EAAE,GAAG,EAAE;QACpD,yCAAyC;QACzC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QACjC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,eAAe,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QACrD,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,4BAA4B,EAAE,GAAG,EAAE;QACtC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACrC,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;QAC5B,MAAM,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAE3C,2BAA2B;QAC3B,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=msvcrt.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"msvcrt.test.d.ts","sourceRoot":"","sources":["../../../tests/unit/msvcrt.test.ts"],"names":[],"mappings":""}
@@ -1,22 +0,0 @@
1
- import { expect, it, describe } from 'bun:test';
2
- import { MsvcrtImpl as msvcrt, Module } from '@cheatron/native';
3
- describe('MSVCRT Tests', () => {
4
- it('should load msvcrt.dll via Module helper', () => {
5
- const module = Module.crt;
6
- expect(module.handle).not.toBeNull();
7
- expect(module.name).toBe('msvcrt.dll');
8
- });
9
- it('should allocate and free memory using CRT', () => {
10
- const size = 1024;
11
- const ptr = msvcrt.malloc(size);
12
- expect(ptr).not.toBeNull();
13
- msvcrt.free(ptr);
14
- });
15
- it('should memcpy correctly', () => {
16
- const src = Buffer.from('Hello CRT!');
17
- const dest = Buffer.alloc(src.length);
18
- msvcrt.memcpy(dest, src, src.length);
19
- expect(dest.toString()).toBe('Hello CRT!');
20
- });
21
- });
22
- //# sourceMappingURL=msvcrt.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"msvcrt.test.js","sourceRoot":"","sources":["../../../tests/unit/msvcrt.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,UAAU,IAAI,MAAM,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAEhE,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC5B,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;QAClD,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC;QAC1B,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QACrC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACnD,MAAM,IAAI,GAAG,IAAI,CAAC;QAClB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAChC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC3B,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACjC,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACtC,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAEtC,MAAM,CAAC,MAAM,CACX,IAAyB,EACzB,GAAwB,EACxB,GAAG,CAAC,MAAM,CACX,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=process.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"process.test.d.ts","sourceRoot":"","sources":["../../../tests/unit/process.test.ts"],"names":[],"mappings":""}
@@ -1,27 +0,0 @@
1
- import { expect, it, describe } from 'bun:test';
2
- import { Process, CurrentProcess, currentProcess } from '@cheatron/native';
3
- describe('Process Windows Tests', () => {
4
- describe('CurrentProcess', () => {
5
- it('should be a singleton instance and valid', () => {
6
- expect(currentProcess).toBeInstanceOf(CurrentProcess);
7
- expect(currentProcess.isValid()).toBe(true);
8
- expect(Process.current()).toBe(currentProcess);
9
- });
10
- it('should not be closed by default', () => {
11
- expect(currentProcess.handle).toBeDefined();
12
- });
13
- it('should have a valid pid', () => {
14
- expect(currentProcess.pid).toBeGreaterThan(0);
15
- });
16
- });
17
- describe('Process Logic', () => {
18
- it('should handle lifecycle of a manual handle', () => {
19
- const proc = new Process(1234n, undefined, false);
20
- expect(proc.isValid()).toBe(true);
21
- proc.close();
22
- expect(proc.isValid()).toBe(false);
23
- expect(proc.handle).toBeNull();
24
- });
25
- });
26
- });
27
- //# sourceMappingURL=process.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"process.test.js","sourceRoot":"","sources":["../../../tests/unit/process.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAE3E,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;QAC9B,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;YAClD,MAAM,CAAC,cAAc,CAAC,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;YACtD,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC5C,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;YACzC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;QAC9C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yBAAyB,EAAE,GAAG,EAAE;YACjC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;QAC7B,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;YACpD,MAAM,IAAI,GAAG,IAAI,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;YAClD,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClC,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACnC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC;QACjC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=thread.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"thread.test.d.ts","sourceRoot":"","sources":["../../../tests/unit/thread.test.ts"],"names":[],"mappings":""}
@@ -1,35 +0,0 @@
1
- import { expect, it, describe } from 'bun:test';
2
- import { Thread, CurrentThread, currentThread } from '@cheatron/native';
3
- describe('Thread Tests', () => {
4
- describe('CurrentThread', () => {
5
- it('should be a singleton instance and valid', () => {
6
- expect(currentThread).toBeInstanceOf(CurrentThread);
7
- expect(currentThread).toBeInstanceOf(Thread);
8
- expect(currentThread.isValid()).toBe(true);
9
- expect(Thread.current()).toBe(currentThread);
10
- });
11
- it('should have a valid handle', () => {
12
- expect(currentThread.handle).toBeDefined();
13
- });
14
- it('should return a valid thread ID', () => {
15
- const id = Thread.currentId();
16
- expect(typeof id).toBe('number');
17
- expect(id).toBeGreaterThan(0);
18
- });
19
- });
20
- describe('Thread Logic', () => {
21
- it('should handle lifecycle of a manual handle', () => {
22
- const thread = new Thread(1234n, undefined, false);
23
- expect(thread.isValid()).toBe(true);
24
- thread.close();
25
- expect(thread.isValid()).toBe(false);
26
- expect(thread.handle).toBeNull();
27
- });
28
- it('should be robust against multiple close calls', () => {
29
- const thread = new Thread(1234n, undefined, false);
30
- thread.close();
31
- expect(() => thread.close()).not.toThrow();
32
- });
33
- });
34
- });
35
- //# sourceMappingURL=thread.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"thread.test.js","sourceRoot":"","sources":["../../../tests/unit/thread.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAExE,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC5B,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;QAC7B,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;YAClD,MAAM,CAAC,aAAa,CAAC,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;YACpD,MAAM,CAAC,aAAa,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YAC7C,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3C,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;YACpC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;QAC7C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;YACzC,MAAM,EAAE,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;YAC9B,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACjC,MAAM,CAAC,EAAE,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;QAC5B,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;YACpD,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;YACnD,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpC,MAAM,CAAC,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC;QACnC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;YACvD,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;YACnD,MAAM,CAAC,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QAC7C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=thread_creation.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"thread_creation.test.d.ts","sourceRoot":"","sources":["../../../tests/unit/thread_creation.test.ts"],"names":[],"mappings":""}
@@ -1,31 +0,0 @@
1
- import { expect, it, describe } from 'bun:test';
2
- import { Thread, Process, Module, ThreadCreationFlags, WaitReturn, STILL_ACTIVE, } from '@cheatron/native';
3
- describe('Thread Creation Tests', () => {
4
- it('should create a local thread, wait for it, and check exit code', () => {
5
- // Use the ergonomic Module helper
6
- const sleepAddr = Module.kernel32.getProcAddress('Sleep');
7
- expect(sleepAddr).not.toBeNull();
8
- // Create a thread that calls Sleep(50)
9
- const thread = Thread.create(sleepAddr, 20, 0, ThreadCreationFlags.IMMEDIATE);
10
- expect(thread.isValid()).toBe(true);
11
- expect(thread.handle).not.toBeNull();
12
- // Wait for the thread to finish
13
- const waitResult = thread.wait(100);
14
- expect(waitResult).toBe(WaitReturn.OBJECT_0);
15
- // Initial exit code on success (Sleep returns void, so exit code is usually the param or 0)
16
- const exitCode = thread.getExitCode();
17
- expect(exitCode).not.toBe(STILL_ACTIVE);
18
- thread.close();
19
- expect(thread.isValid()).toBe(false);
20
- });
21
- it('should create a remote thread in the current process', () => {
22
- const process = Process.current();
23
- const sleepAddr = Module.kernel32.getProcAddress('Sleep');
24
- // Create a remote thread in 'this' process
25
- const thread = process.createThread(sleepAddr, 50, 0, ThreadCreationFlags.IMMEDIATE);
26
- expect(thread.isValid()).toBe(true);
27
- expect(thread.handle).not.toBeNull();
28
- thread.close();
29
- });
30
- });
31
- //# sourceMappingURL=thread_creation.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"thread_creation.test.js","sourceRoot":"","sources":["../../../tests/unit/thread_creation.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,EACL,MAAM,EACN,OAAO,EACP,MAAM,EACN,mBAAmB,EACnB,UAAU,EACV,YAAY,GAEb,MAAM,kBAAkB,CAAC;AAE1B,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,EAAE,CAAC,gEAAgE,EAAE,GAAG,EAAE;QACxE,kCAAkC;QAClC,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAC1D,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAEjC,uCAAuC;QACvC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAC1B,SAAS,EACT,EAAY,EACZ,CAAC,EACD,mBAAmB,CAAC,SAAS,CAC9B,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAErC,gCAAgC;QAChC,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAE7C,4FAA4F;QAC5F,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;QACtC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAExC,MAAM,CAAC,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;QAC9D,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;QAClC,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAE1D,2CAA2C;QAC3C,MAAM,MAAM,GAAG,OAAO,CAAC,YAAY,CACjC,SAAS,EACT,EAAY,EACZ,CAAC,EACD,mBAAmB,CAAC,SAAS,CAC9B,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAErC,MAAM,CAAC,KAAK,EAAE,CAAC;IACjB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
File without changes
File without changes
File without changes