makeInterface.js 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. exports.makeInterface = exports.Errors = void 0;
  4. const number64 = [
  5. `number`,
  6. `number`, // high
  7. ];
  8. var Errors;
  9. (function (Errors) {
  10. Errors[Errors["ZIP_ER_OK"] = 0] = "ZIP_ER_OK";
  11. Errors[Errors["ZIP_ER_MULTIDISK"] = 1] = "ZIP_ER_MULTIDISK";
  12. Errors[Errors["ZIP_ER_RENAME"] = 2] = "ZIP_ER_RENAME";
  13. Errors[Errors["ZIP_ER_CLOSE"] = 3] = "ZIP_ER_CLOSE";
  14. Errors[Errors["ZIP_ER_SEEK"] = 4] = "ZIP_ER_SEEK";
  15. Errors[Errors["ZIP_ER_READ"] = 5] = "ZIP_ER_READ";
  16. Errors[Errors["ZIP_ER_WRITE"] = 6] = "ZIP_ER_WRITE";
  17. Errors[Errors["ZIP_ER_CRC"] = 7] = "ZIP_ER_CRC";
  18. Errors[Errors["ZIP_ER_ZIPCLOSED"] = 8] = "ZIP_ER_ZIPCLOSED";
  19. Errors[Errors["ZIP_ER_NOENT"] = 9] = "ZIP_ER_NOENT";
  20. Errors[Errors["ZIP_ER_EXISTS"] = 10] = "ZIP_ER_EXISTS";
  21. Errors[Errors["ZIP_ER_OPEN"] = 11] = "ZIP_ER_OPEN";
  22. Errors[Errors["ZIP_ER_TMPOPEN"] = 12] = "ZIP_ER_TMPOPEN";
  23. Errors[Errors["ZIP_ER_ZLIB"] = 13] = "ZIP_ER_ZLIB";
  24. Errors[Errors["ZIP_ER_MEMORY"] = 14] = "ZIP_ER_MEMORY";
  25. Errors[Errors["ZIP_ER_CHANGED"] = 15] = "ZIP_ER_CHANGED";
  26. Errors[Errors["ZIP_ER_COMPNOTSUPP"] = 16] = "ZIP_ER_COMPNOTSUPP";
  27. Errors[Errors["ZIP_ER_EOF"] = 17] = "ZIP_ER_EOF";
  28. Errors[Errors["ZIP_ER_INVAL"] = 18] = "ZIP_ER_INVAL";
  29. Errors[Errors["ZIP_ER_NOZIP"] = 19] = "ZIP_ER_NOZIP";
  30. Errors[Errors["ZIP_ER_INTERNAL"] = 20] = "ZIP_ER_INTERNAL";
  31. Errors[Errors["ZIP_ER_INCONS"] = 21] = "ZIP_ER_INCONS";
  32. Errors[Errors["ZIP_ER_REMOVE"] = 22] = "ZIP_ER_REMOVE";
  33. Errors[Errors["ZIP_ER_DELETED"] = 23] = "ZIP_ER_DELETED";
  34. Errors[Errors["ZIP_ER_ENCRNOTSUPP"] = 24] = "ZIP_ER_ENCRNOTSUPP";
  35. Errors[Errors["ZIP_ER_RDONLY"] = 25] = "ZIP_ER_RDONLY";
  36. Errors[Errors["ZIP_ER_NOPASSWD"] = 26] = "ZIP_ER_NOPASSWD";
  37. Errors[Errors["ZIP_ER_WRONGPASSWD"] = 27] = "ZIP_ER_WRONGPASSWD";
  38. Errors[Errors["ZIP_ER_OPNOTSUPP"] = 28] = "ZIP_ER_OPNOTSUPP";
  39. Errors[Errors["ZIP_ER_INUSE"] = 29] = "ZIP_ER_INUSE";
  40. Errors[Errors["ZIP_ER_TELL"] = 30] = "ZIP_ER_TELL";
  41. Errors[Errors["ZIP_ER_COMPRESSED_DATA"] = 31] = "ZIP_ER_COMPRESSED_DATA";
  42. })(Errors = exports.Errors || (exports.Errors = {}));
  43. const makeInterface = (libzip) => ({
  44. // Those are getters because they can change after memory growth
  45. get HEAP8() {
  46. return libzip.HEAP8;
  47. },
  48. get HEAPU8() {
  49. return libzip.HEAPU8;
  50. },
  51. errors: Errors,
  52. SEEK_SET: 0,
  53. SEEK_CUR: 1,
  54. SEEK_END: 2,
  55. ZIP_CHECKCONS: 4,
  56. ZIP_CREATE: 1,
  57. ZIP_EXCL: 2,
  58. ZIP_TRUNCATE: 8,
  59. ZIP_RDONLY: 16,
  60. ZIP_FL_OVERWRITE: 8192,
  61. ZIP_FL_COMPRESSED: 4,
  62. ZIP_OPSYS_DOS: 0x00,
  63. ZIP_OPSYS_AMIGA: 0x01,
  64. ZIP_OPSYS_OPENVMS: 0x02,
  65. ZIP_OPSYS_UNIX: 0x03,
  66. ZIP_OPSYS_VM_CMS: 0x04,
  67. ZIP_OPSYS_ATARI_ST: 0x05,
  68. ZIP_OPSYS_OS_2: 0x06,
  69. ZIP_OPSYS_MACINTOSH: 0x07,
  70. ZIP_OPSYS_Z_SYSTEM: 0x08,
  71. ZIP_OPSYS_CPM: 0x09,
  72. ZIP_OPSYS_WINDOWS_NTFS: 0x0a,
  73. ZIP_OPSYS_MVS: 0x0b,
  74. ZIP_OPSYS_VSE: 0x0c,
  75. ZIP_OPSYS_ACORN_RISC: 0x0d,
  76. ZIP_OPSYS_VFAT: 0x0e,
  77. ZIP_OPSYS_ALTERNATE_MVS: 0x0f,
  78. ZIP_OPSYS_BEOS: 0x10,
  79. ZIP_OPSYS_TANDEM: 0x11,
  80. ZIP_OPSYS_OS_400: 0x12,
  81. ZIP_OPSYS_OS_X: 0x13,
  82. ZIP_CM_DEFAULT: -1,
  83. ZIP_CM_STORE: 0,
  84. ZIP_CM_DEFLATE: 8,
  85. uint08S: libzip._malloc(1),
  86. uint16S: libzip._malloc(2),
  87. uint32S: libzip._malloc(4),
  88. uint64S: libzip._malloc(8),
  89. malloc: libzip._malloc,
  90. free: libzip._free,
  91. getValue: libzip.getValue,
  92. open: libzip.cwrap(`zip_open`, `number`, [`string`, `number`, `number`]),
  93. openFromSource: libzip.cwrap(`zip_open_from_source`, `number`, [`number`, `number`, `number`]),
  94. close: libzip.cwrap(`zip_close`, `number`, [`number`]),
  95. discard: libzip.cwrap(`zip_discard`, null, [`number`]),
  96. getError: libzip.cwrap(`zip_get_error`, `number`, [`number`]),
  97. getName: libzip.cwrap(`zip_get_name`, `string`, [`number`, `number`, `number`]),
  98. getNumEntries: libzip.cwrap(`zip_get_num_entries`, `number`, [`number`, `number`]),
  99. delete: libzip.cwrap(`zip_delete`, `number`, [`number`, `number`]),
  100. stat: libzip.cwrap(`zip_stat`, `number`, [`number`, `string`, `number`, `number`]),
  101. statIndex: libzip.cwrap(`zip_stat_index`, `number`, [`number`, ...number64, `number`, `number`]),
  102. fopen: libzip.cwrap(`zip_fopen`, `number`, [`number`, `string`, `number`]),
  103. fopenIndex: libzip.cwrap(`zip_fopen_index`, `number`, [`number`, ...number64, `number`]),
  104. fread: libzip.cwrap(`zip_fread`, `number`, [`number`, `number`, `number`, `number`]),
  105. fclose: libzip.cwrap(`zip_fclose`, `number`, [`number`]),
  106. dir: {
  107. add: libzip.cwrap(`zip_dir_add`, `number`, [`number`, `string`]),
  108. },
  109. file: {
  110. add: libzip.cwrap(`zip_file_add`, `number`, [`number`, `string`, `number`, `number`]),
  111. getError: libzip.cwrap(`zip_file_get_error`, `number`, [`number`]),
  112. getExternalAttributes: libzip.cwrap(`zip_file_get_external_attributes`, `number`, [`number`, ...number64, `number`, `number`, `number`]),
  113. setExternalAttributes: libzip.cwrap(`zip_file_set_external_attributes`, `number`, [`number`, ...number64, `number`, `number`, `number`]),
  114. setMtime: libzip.cwrap(`zip_file_set_mtime`, `number`, [`number`, ...number64, `number`, `number`]),
  115. setCompression: libzip.cwrap(`zip_set_file_compression`, `number`, [`number`, ...number64, `number`, `number`]),
  116. },
  117. ext: {
  118. countSymlinks: libzip.cwrap(`zip_ext_count_symlinks`, `number`, [`number`]),
  119. },
  120. error: {
  121. initWithCode: libzip.cwrap(`zip_error_init_with_code`, null, [`number`, `number`]),
  122. strerror: libzip.cwrap(`zip_error_strerror`, `string`, [`number`]),
  123. },
  124. name: {
  125. locate: libzip.cwrap(`zip_name_locate`, `number`, [`number`, `string`, `number`]),
  126. },
  127. source: {
  128. fromUnattachedBuffer: libzip.cwrap(`zip_source_buffer_create`, `number`, [`number`, ...number64, `number`, `number`]),
  129. fromBuffer: libzip.cwrap(`zip_source_buffer`, `number`, [`number`, `number`, ...number64, `number`]),
  130. free: libzip.cwrap(`zip_source_free`, null, [`number`]),
  131. keep: libzip.cwrap(`zip_source_keep`, null, [`number`]),
  132. open: libzip.cwrap(`zip_source_open`, `number`, [`number`]),
  133. close: libzip.cwrap(`zip_source_close`, `number`, [`number`]),
  134. seek: libzip.cwrap(`zip_source_seek`, `number`, [`number`, ...number64, `number`]),
  135. tell: libzip.cwrap(`zip_source_tell`, `number`, [`number`]),
  136. read: libzip.cwrap(`zip_source_read`, `number`, [`number`, `number`, `number`]),
  137. error: libzip.cwrap(`zip_source_error`, `number`, [`number`]),
  138. setMtime: libzip.cwrap(`zip_source_set_mtime`, `number`, [`number`, `number`]),
  139. },
  140. struct: {
  141. stat: libzip.cwrap(`zipstruct_stat`, `number`, []),
  142. statS: libzip.cwrap(`zipstruct_statS`, `number`, []),
  143. statName: libzip.cwrap(`zipstruct_stat_name`, `string`, [`number`]),
  144. statIndex: libzip.cwrap(`zipstruct_stat_index`, `number`, [`number`]),
  145. statSize: libzip.cwrap(`zipstruct_stat_size`, `number`, [`number`]),
  146. statCompSize: libzip.cwrap(`zipstruct_stat_comp_size`, `number`, [`number`]),
  147. statCompMethod: libzip.cwrap(`zipstruct_stat_comp_method`, `number`, [`number`]),
  148. statMtime: libzip.cwrap(`zipstruct_stat_mtime`, `number`, [`number`]),
  149. statCrc: libzip.cwrap(`zipstruct_stat_crc`, `number`, [`number`]),
  150. error: libzip.cwrap(`zipstruct_error`, `number`, []),
  151. errorS: libzip.cwrap(`zipstruct_errorS`, `number`, []),
  152. errorCodeZip: libzip.cwrap(`zipstruct_error_code_zip`, `number`, [`number`]),
  153. },
  154. });
  155. exports.makeInterface = makeInterface;