cspell-io 7.0.1 → 7.0.2

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 (153) hide show
  1. package/dist/esm/common/arrayBuffers.d.ts +1 -1
  2. package/dist/esm/node/dataUrl.d.ts +1 -1
  3. package/dist/esm/node/file/FetchError.d.ts +1 -1
  4. package/dist/esm/node/file/fetch.d.ts +3 -4
  5. package/dist/esm/node/file/fetch.js +5 -1
  6. package/dist/esm/requests/RequestFsReadFile.d.ts +1 -1
  7. package/dist/esm/requests/RequestFsReadFileSync.d.ts +1 -1
  8. package/dist/esm/requests/RequestZlibInflate.d.ts +1 -1
  9. package/package.json +10 -12
  10. package/dist/cjs/CSpellIO.d.ts +0 -69
  11. package/dist/cjs/CSpellIO.js +0 -3
  12. package/dist/cjs/CSpellIONode.d.ts +0 -20
  13. package/dist/cjs/CSpellIONode.js +0 -81
  14. package/dist/cjs/CSpellIOWeb.d.ts +0 -15
  15. package/dist/cjs/CSpellIOWeb.js +0 -36
  16. package/dist/cjs/async/asyncIterable.d.ts +0 -6
  17. package/dist/cjs/async/asyncIterable.js +0 -16
  18. package/dist/cjs/common/BufferEncoding.d.ts +0 -4
  19. package/dist/cjs/common/BufferEncoding.js +0 -3
  20. package/dist/cjs/common/arrayBuffers.d.ts +0 -17
  21. package/dist/cjs/common/arrayBuffers.js +0 -45
  22. package/dist/cjs/common/encode-decode.d.ts +0 -11
  23. package/dist/cjs/common/encode-decode.js +0 -85
  24. package/dist/cjs/common/stat.d.ts +0 -9
  25. package/dist/cjs/common/stat.js +0 -19
  26. package/dist/cjs/common/transformers.d.ts +0 -6
  27. package/dist/cjs/common/transformers.js +0 -71
  28. package/dist/cjs/errors/ErrorNotImplemented.d.ts +0 -5
  29. package/dist/cjs/errors/ErrorNotImplemented.js +0 -11
  30. package/dist/cjs/errors/error.d.ts +0 -2
  31. package/dist/cjs/errors/error.js +0 -14
  32. package/dist/cjs/errors/index.d.ts +0 -3
  33. package/dist/cjs/errors/index.js +0 -8
  34. package/dist/cjs/file/file.d.ts +0 -6
  35. package/dist/cjs/file/file.js +0 -29
  36. package/dist/cjs/file/index.d.ts +0 -3
  37. package/dist/cjs/file/index.js +0 -13
  38. package/dist/cjs/handlers/node/file.d.ts +0 -3
  39. package/dist/cjs/handlers/node/file.js +0 -173
  40. package/dist/cjs/index.d.ts +0 -7
  41. package/dist/cjs/index.js +0 -20
  42. package/dist/cjs/models/BufferEncoding.d.ts +0 -2
  43. package/dist/cjs/models/BufferEncoding.js +0 -3
  44. package/dist/cjs/models/FileResource.d.ts +0 -35
  45. package/dist/cjs/models/FileResource.js +0 -3
  46. package/dist/cjs/models/Stats.d.ts +0 -18
  47. package/dist/cjs/models/Stats.js +0 -6
  48. package/dist/cjs/models/index.d.ts +0 -2
  49. package/dist/cjs/models/index.js +0 -3
  50. package/dist/cjs/node/dataUrl.d.ts +0 -27
  51. package/dist/cjs/node/dataUrl.js +0 -116
  52. package/dist/cjs/node/file/FetchError.d.ts +0 -9
  53. package/dist/cjs/node/file/FetchError.js +0 -21
  54. package/dist/cjs/node/file/fetch.d.ts +0 -7
  55. package/dist/cjs/node/file/fetch.js +0 -23
  56. package/dist/cjs/node/file/fileReader.d.ts +0 -4
  57. package/dist/cjs/node/file/fileReader.js +0 -91
  58. package/dist/cjs/node/file/fileWriter.d.ts +0 -4
  59. package/dist/cjs/node/file/fileWriter.js +0 -43
  60. package/dist/cjs/node/file/index.d.ts +0 -4
  61. package/dist/cjs/node/file/index.js +0 -13
  62. package/dist/cjs/node/file/stat.d.ts +0 -5
  63. package/dist/cjs/node/file/stat.js +0 -54
  64. package/dist/cjs/node/file/util.d.ts +0 -9
  65. package/dist/cjs/node/file/util.js +0 -69
  66. package/dist/cjs/requests/RequestFsReadBinaryFile.d.ts +0 -11
  67. package/dist/cjs/requests/RequestFsReadBinaryFile.js +0 -9
  68. package/dist/cjs/requests/RequestFsReadFile.d.ts +0 -11
  69. package/dist/cjs/requests/RequestFsReadFile.js +0 -7
  70. package/dist/cjs/requests/RequestFsReadFileSync.d.ts +0 -11
  71. package/dist/cjs/requests/RequestFsReadFileSync.js +0 -7
  72. package/dist/cjs/requests/RequestFsStat.d.ts +0 -11
  73. package/dist/cjs/requests/RequestFsStat.js +0 -9
  74. package/dist/cjs/requests/RequestFsWriteFile.d.ts +0 -9
  75. package/dist/cjs/requests/RequestFsWriteFile.js +0 -7
  76. package/dist/cjs/requests/RequestZlibInflate.d.ts +0 -9
  77. package/dist/cjs/requests/RequestZlibInflate.js +0 -7
  78. package/dist/cjs/requests/index.d.ts +0 -7
  79. package/dist/cjs/requests/index.js +0 -18
  80. package/dist/cjs/test/test.helper.d.ts +0 -13
  81. package/dist/cjs/test/test.helper.js +0 -69
  82. package/dist/esm/CSpellIO.d.mts +0 -69
  83. package/dist/esm/CSpellIO.mjs +0 -1
  84. package/dist/esm/CSpellIONode.d.mts +0 -20
  85. package/dist/esm/CSpellIONode.mjs +0 -75
  86. package/dist/esm/CSpellIOWeb.d.mts +0 -15
  87. package/dist/esm/CSpellIOWeb.mjs +0 -31
  88. package/dist/esm/async/asyncIterable.d.mts +0 -6
  89. package/dist/esm/async/asyncIterable.mjs +0 -11
  90. package/dist/esm/common/BufferEncoding.d.mts +0 -4
  91. package/dist/esm/common/BufferEncoding.mjs +0 -1
  92. package/dist/esm/common/arrayBuffers.d.mts +0 -17
  93. package/dist/esm/common/arrayBuffers.mjs +0 -37
  94. package/dist/esm/common/encode-decode.d.mts +0 -11
  95. package/dist/esm/common/encode-decode.mjs +0 -72
  96. package/dist/esm/common/stat.d.mts +0 -9
  97. package/dist/esm/common/stat.mjs +0 -14
  98. package/dist/esm/common/transformers.d.mts +0 -6
  99. package/dist/esm/common/transformers.mjs +0 -65
  100. package/dist/esm/errors/ErrorNotImplemented.d.mts +0 -5
  101. package/dist/esm/errors/ErrorNotImplemented.mjs +0 -6
  102. package/dist/esm/errors/error.d.mts +0 -2
  103. package/dist/esm/errors/error.mjs +0 -9
  104. package/dist/esm/errors/index.d.mts +0 -3
  105. package/dist/esm/errors/index.mjs +0 -2
  106. package/dist/esm/file/file.d.mts +0 -6
  107. package/dist/esm/file/file.mjs +0 -21
  108. package/dist/esm/file/index.d.mts +0 -3
  109. package/dist/esm/file/index.mjs +0 -2
  110. package/dist/esm/handlers/node/file.d.mts +0 -3
  111. package/dist/esm/handlers/node/file.mjs +0 -165
  112. package/dist/esm/index.d.mts +0 -7
  113. package/dist/esm/index.mjs +0 -4
  114. package/dist/esm/models/BufferEncoding.d.mts +0 -2
  115. package/dist/esm/models/BufferEncoding.mjs +0 -1
  116. package/dist/esm/models/FileResource.d.mts +0 -35
  117. package/dist/esm/models/FileResource.mjs +0 -1
  118. package/dist/esm/models/Stats.d.mts +0 -18
  119. package/dist/esm/models/Stats.mjs +0 -4
  120. package/dist/esm/models/index.d.mts +0 -2
  121. package/dist/esm/models/index.mjs +0 -1
  122. package/dist/esm/node/dataUrl.d.mts +0 -27
  123. package/dist/esm/node/dataUrl.mjs +0 -84
  124. package/dist/esm/node/file/FetchError.d.mts +0 -9
  125. package/dist/esm/node/file/FetchError.mjs +0 -16
  126. package/dist/esm/node/file/fetch.d.mts +0 -7
  127. package/dist/esm/node/file/fetch.mjs +0 -14
  128. package/dist/esm/node/file/fileReader.d.mts +0 -4
  129. package/dist/esm/node/file/fileReader.mjs +0 -62
  130. package/dist/esm/node/file/fileWriter.d.mts +0 -4
  131. package/dist/esm/node/file/fileWriter.mjs +0 -14
  132. package/dist/esm/node/file/index.d.mts +0 -4
  133. package/dist/esm/node/file/index.mjs +0 -3
  134. package/dist/esm/node/file/stat.d.mts +0 -5
  135. package/dist/esm/node/file/stat.mjs +0 -47
  136. package/dist/esm/node/file/util.d.mts +0 -9
  137. package/dist/esm/node/file/util.mjs +0 -57
  138. package/dist/esm/requests/RequestFsReadBinaryFile.d.mts +0 -11
  139. package/dist/esm/requests/RequestFsReadBinaryFile.mjs +0 -5
  140. package/dist/esm/requests/RequestFsReadFile.d.mts +0 -11
  141. package/dist/esm/requests/RequestFsReadFile.mjs +0 -3
  142. package/dist/esm/requests/RequestFsReadFileSync.d.mts +0 -11
  143. package/dist/esm/requests/RequestFsReadFileSync.mjs +0 -3
  144. package/dist/esm/requests/RequestFsStat.d.mts +0 -11
  145. package/dist/esm/requests/RequestFsStat.mjs +0 -5
  146. package/dist/esm/requests/RequestFsWriteFile.d.mts +0 -9
  147. package/dist/esm/requests/RequestFsWriteFile.mjs +0 -3
  148. package/dist/esm/requests/RequestZlibInflate.d.mts +0 -9
  149. package/dist/esm/requests/RequestZlibInflate.mjs +0 -3
  150. package/dist/esm/requests/index.d.mts +0 -7
  151. package/dist/esm/requests/index.mjs +0 -6
  152. package/dist/esm/test/test.helper.d.mts +0 -13
  153. package/dist/esm/test/test.helper.mjs +0 -37
@@ -1,5 +0,0 @@
1
- export declare class ErrorNotImplemented extends Error {
2
- readonly method: string;
3
- constructor(method: string);
4
- }
5
- //# sourceMappingURL=ErrorNotImplemented.d.ts.map
@@ -1,11 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ErrorNotImplemented = void 0;
4
- class ErrorNotImplemented extends Error {
5
- constructor(method) {
6
- super(`Method ${method} is not supported.`);
7
- this.method = method;
8
- }
9
- }
10
- exports.ErrorNotImplemented = ErrorNotImplemented;
11
- //# sourceMappingURL=ErrorNotImplemented.js.map
@@ -1,2 +0,0 @@
1
- export declare function toError(e: unknown): Error;
2
- //# sourceMappingURL=error.d.ts.map
@@ -1,14 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.toError = void 0;
4
- function toError(e) {
5
- if (e instanceof Error)
6
- return e;
7
- if (typeof e === 'object' && e && typeof e.message === 'string') {
8
- return e;
9
- }
10
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
11
- return Error(e && e.toString());
12
- }
13
- exports.toError = toError;
14
- //# sourceMappingURL=error.js.map
@@ -1,3 +0,0 @@
1
- export { toError } from './error.js';
2
- export { ErrorNotImplemented } from './ErrorNotImplemented.js';
3
- //# sourceMappingURL=index.d.ts.map
@@ -1,8 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ErrorNotImplemented = exports.toError = void 0;
4
- var error_js_1 = require("./error.js");
5
- Object.defineProperty(exports, "toError", { enumerable: true, get: function () { return error_js_1.toError; } });
6
- var ErrorNotImplemented_js_1 = require("./ErrorNotImplemented.js");
7
- Object.defineProperty(exports, "ErrorNotImplemented", { enumerable: true, get: function () { return ErrorNotImplemented_js_1.ErrorNotImplemented; } });
8
- //# sourceMappingURL=index.js.map
@@ -1,6 +0,0 @@
1
- import type { getStat as GetStatFn, getStatSync as GetStatSyncFn, readFileText as ReadFileTextFn, readFileTextSync as ReadFileTextSyncFn } from '../node/file/index.js';
2
- export declare const readFileText: typeof ReadFileTextFn;
3
- export declare const readFileTextSync: typeof ReadFileTextSyncFn;
4
- export declare const getStat: typeof GetStatFn;
5
- export declare const getStatSync: typeof GetStatSyncFn;
6
- //# sourceMappingURL=file.d.ts.map
@@ -1,29 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getStatSync = exports.getStat = exports.readFileTextSync = exports.readFileText = void 0;
4
- const CSpellIONode_js_1 = require("../CSpellIONode.js");
5
- const index_js_1 = require("../errors/index.js");
6
- const readFileText = function (filename, encoding) {
7
- return (0, CSpellIONode_js_1.getDefaultCSpellIO)()
8
- .readFile(filename, encoding)
9
- .then((fr) => fr.content);
10
- };
11
- exports.readFileText = readFileText;
12
- const readFileTextSync = function (filename, encoding) {
13
- return (0, CSpellIONode_js_1.getDefaultCSpellIO)().readFileSync(filename, encoding).content;
14
- };
15
- exports.readFileTextSync = readFileTextSync;
16
- const getStat = function (filenameOrUri) {
17
- return (0, CSpellIONode_js_1.getDefaultCSpellIO)().getStat(filenameOrUri).catch(index_js_1.toError);
18
- };
19
- exports.getStat = getStat;
20
- const getStatSync = function (filenameOrUri) {
21
- try {
22
- return (0, CSpellIONode_js_1.getDefaultCSpellIO)().getStatSync(filenameOrUri);
23
- }
24
- catch (e) {
25
- return (0, index_js_1.toError)(e);
26
- }
27
- };
28
- exports.getStatSync = getStatSync;
29
- //# sourceMappingURL=file.js.map
@@ -1,3 +0,0 @@
1
- export { writeToFile, writeToFileIterable, writeToFileIterable as writeToFileIterableP } from './../node/file/index.js';
2
- export { getStat, getStatSync, readFileText, readFileTextSync } from './file.js';
3
- //# sourceMappingURL=index.d.ts.map
@@ -1,13 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.readFileTextSync = exports.readFileText = exports.getStatSync = exports.getStat = exports.writeToFileIterableP = exports.writeToFileIterable = exports.writeToFile = void 0;
4
- var index_js_1 = require("./../node/file/index.js");
5
- Object.defineProperty(exports, "writeToFile", { enumerable: true, get: function () { return index_js_1.writeToFile; } });
6
- Object.defineProperty(exports, "writeToFileIterable", { enumerable: true, get: function () { return index_js_1.writeToFileIterable; } });
7
- Object.defineProperty(exports, "writeToFileIterableP", { enumerable: true, get: function () { return index_js_1.writeToFileIterable; } });
8
- var file_js_1 = require("./file.js");
9
- Object.defineProperty(exports, "getStat", { enumerable: true, get: function () { return file_js_1.getStat; } });
10
- Object.defineProperty(exports, "getStatSync", { enumerable: true, get: function () { return file_js_1.getStatSync; } });
11
- Object.defineProperty(exports, "readFileText", { enumerable: true, get: function () { return file_js_1.readFileText; } });
12
- Object.defineProperty(exports, "readFileTextSync", { enumerable: true, get: function () { return file_js_1.readFileTextSync; } });
13
- //# sourceMappingURL=index.js.map
@@ -1,3 +0,0 @@
1
- import type { ServiceBus } from '@cspell/cspell-service-bus';
2
- export declare function registerHandlers(serviceBus: ServiceBus): void;
3
- //# sourceMappingURL=file.d.ts.map
@@ -1,173 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.registerHandlers = void 0;
7
- const cspell_service_bus_1 = require("@cspell/cspell-service-bus");
8
- const assert_1 = __importDefault(require("assert"));
9
- const fs_1 = require("fs");
10
- const url_1 = require("url");
11
- const zlib_1 = require("zlib");
12
- const arrayBuffers_js_1 = require("../../common/arrayBuffers.js");
13
- const encode_decode_js_1 = require("../../common/encode-decode.js");
14
- const index_js_1 = require("../../errors/index.js");
15
- const dataUrl_js_1 = require("../../node/dataUrl.js");
16
- const fetch_js_1 = require("../../node/file/fetch.js");
17
- const stat_js_1 = require("../../node/file/stat.js");
18
- const index_js_2 = require("../../requests/index.js");
19
- const isGzFileRegExp = /\.gz($|[?#])/;
20
- function isGzFile(url) {
21
- return isGzFileRegExp.test(url.pathname);
22
- }
23
- /*
24
- * NOTE: fileURLToPath is used because of yarn bug https://github.com/yarnpkg/berry/issues/899
25
- */
26
- /**
27
- * Handle Binary File Reads
28
- */
29
- const handleRequestFsReadBinaryFile = index_js_2.RequestFsReadBinaryFile.createRequestHandler(({ params }) => (0, cspell_service_bus_1.createResponse)(fs_1.promises.readFile((0, url_1.fileURLToPath)(params.url)).then((content) => ({ url: params.url, content }))), undefined, 'Node: Read Binary File.');
30
- /**
31
- * Handle Binary File Sync Reads
32
- */
33
- const handleRequestFsReadBinaryFileSync = index_js_2.RequestFsReadBinaryFileSync.createRequestHandler(({ params }) => (0, cspell_service_bus_1.createResponse)({ url: params.url, content: (0, fs_1.readFileSync)((0, url_1.fileURLToPath)(params.url)) }), undefined, 'Node: Sync Read Binary File.');
34
- /**
35
- * Handle UTF-8 Text File Reads
36
- */
37
- const handleRequestFsReadFile = index_js_2.RequestFsReadFile.createRequestHandler((req, _, dispatcher) => {
38
- const { url, encoding } = req.params;
39
- const res = dispatcher.dispatch(index_js_2.RequestFsReadBinaryFile.create({ url }));
40
- if (!(0, cspell_service_bus_1.isServiceResponseSuccess)(res)) {
41
- (0, assert_1.default)((0, cspell_service_bus_1.isServiceResponseFailure)(res));
42
- return (0, cspell_service_bus_1.createResponseFail)(req, res.error);
43
- }
44
- return (0, cspell_service_bus_1.createResponse)(res.value.then((res) => {
45
- const content = bufferToText(res.content, encoding);
46
- return {
47
- url,
48
- baseFilename: res.baseFilename,
49
- encoding,
50
- ...content,
51
- };
52
- }));
53
- }, undefined, 'Node: Read Text File.');
54
- /**
55
- * Handle UTF-8 Text File Reads
56
- */
57
- const handleRequestFsReadFileSync = index_js_2.RequestFsReadFileSync.createRequestHandler((req, _, dispatcher) => {
58
- const { url, encoding } = req.params;
59
- const res = dispatcher.dispatch(index_js_2.RequestFsReadBinaryFileSync.create({ url }));
60
- if (!(0, cspell_service_bus_1.isServiceResponseSuccess)(res)) {
61
- (0, assert_1.default)((0, cspell_service_bus_1.isServiceResponseFailure)(res));
62
- return (0, cspell_service_bus_1.createResponseFail)(req, res.error);
63
- }
64
- return (0, cspell_service_bus_1.createResponse)({
65
- encoding,
66
- ...res.value,
67
- ...bufferToText(res.value.content, encoding),
68
- });
69
- }, undefined, 'Node: Sync Read Text File.');
70
- /**
71
- * Handle deflating gzip data
72
- */
73
- const handleRequestZlibInflate = index_js_2.RequestZlibInflate.createRequestHandler(({ params }) => (0, cspell_service_bus_1.createResponse)((0, zlib_1.gunzipSync)(params.data).toString('utf-8')), undefined, 'Node: gz deflate.');
74
- const supportedFetchProtocols = { 'http:': true, 'https:': true };
75
- /**
76
- * Handle fetching a file from http
77
- */
78
- const handleRequestFsReadBinaryFileHttp = index_js_2.RequestFsReadBinaryFile.createRequestHandler((req, next) => {
79
- const { url } = req.params;
80
- if (!(url.protocol in supportedFetchProtocols))
81
- return next(req);
82
- return (0, cspell_service_bus_1.createResponse)((0, fetch_js_1.fetchURL)(url).then((content) => ({ url, content })));
83
- }, undefined, 'Node: Read Http(s) file.');
84
- /**
85
- * Handle decoding a data url
86
- */
87
- const handleRequestFsReadBinaryFileSyncData = index_js_2.RequestFsReadBinaryFileSync.createRequestHandler((req, next) => {
88
- const { url } = req.params;
89
- if (url.protocol !== 'data:')
90
- return next(req);
91
- const data = (0, dataUrl_js_1.decodeDataUrl)(url);
92
- return (0, cspell_service_bus_1.createResponse)({ url, content: data.data, baseFilename: data.attributes.get('filename') });
93
- }, undefined, 'Node: Read data: urls.');
94
- /**
95
- * Handle decoding a data url
96
- */
97
- const handleRequestFsReadBinaryFileData = index_js_2.RequestFsReadBinaryFile.createRequestHandler((req, next, dispatcher) => {
98
- const { url } = req.params;
99
- if (url.protocol !== 'data:')
100
- return next(req);
101
- const res = dispatcher.dispatch(index_js_2.RequestFsReadBinaryFileSync.create(req.params));
102
- if (!(0, cspell_service_bus_1.isServiceResponseSuccess)(res))
103
- return res;
104
- return (0, cspell_service_bus_1.createResponse)(Promise.resolve(res.value));
105
- }, undefined, 'Node: Read data: urls.');
106
- function bufferToText(data, encoding) {
107
- const buf = (0, arrayBuffers_js_1.arrayBufferViewToBuffer)(data);
108
- const gz = buf[0] === 0x1f && buf[1] === 0x8b;
109
- const content = gz ? (0, encode_decode_js_1.decode)((0, zlib_1.gunzipSync)(buf), encoding) : (0, encode_decode_js_1.decode)(buf, encoding);
110
- return { content, gz };
111
- }
112
- /**
113
- * Handle fs:stat
114
- */
115
- const handleRequestFsStat = index_js_2.RequestFsStat.createRequestHandler(({ params }) => (0, cspell_service_bus_1.createResponse)(fs_1.promises.stat((0, url_1.fileURLToPath)(params.url))), undefined, 'Node: fs.stat.');
116
- /**
117
- * Handle fs:statSync
118
- */
119
- const handleRequestFsStatSync = index_js_2.RequestFsStatSync.createRequestHandler((req) => {
120
- const { params } = req;
121
- try {
122
- return (0, cspell_service_bus_1.createResponse)((0, fs_1.statSync)((0, url_1.fileURLToPath)(params.url)));
123
- }
124
- catch (e) {
125
- return (0, cspell_service_bus_1.createResponseFail)(req, (0, index_js_1.toError)(e));
126
- }
127
- }, undefined, 'Node: fs.stat.');
128
- /**
129
- * Handle deflating gzip data
130
- */
131
- const handleRequestFsStatHttp = index_js_2.RequestFsStat.createRequestHandler((req, next) => {
132
- const { url } = req.params;
133
- if (!(url.protocol in supportedFetchProtocols))
134
- return next(req);
135
- return (0, cspell_service_bus_1.createResponse)((0, stat_js_1.getStatHttp)(url));
136
- }, undefined, 'Node: http get stat');
137
- /**
138
- * Handle fs:writeFile
139
- */
140
- const handleRequestFsWriteFile = index_js_2.RequestFsWriteFile.createRequestHandler(({ params }) => (0, cspell_service_bus_1.createResponse)(fs_1.promises.writeFile(params.url, params.content)), undefined, 'Node: fs.writeFile');
141
- /**
142
- * Handle fs:writeFile compressed
143
- */
144
- const handleRequestFsWriteFileGz = index_js_2.RequestFsWriteFile.createRequestHandler((req, next) => {
145
- const { url, content } = req.params;
146
- if (!isGzFile(url))
147
- return next(req);
148
- return (0, cspell_service_bus_1.createResponse)(fs_1.promises.writeFile(url, (0, zlib_1.gzipSync)(content)));
149
- }, undefined, 'Node: http get stat');
150
- function registerHandlers(serviceBus) {
151
- /**
152
- * Handlers are in order of low to high level
153
- * Order is VERY important.
154
- */
155
- const handlers = [
156
- handleRequestFsWriteFile,
157
- handleRequestFsWriteFileGz,
158
- handleRequestFsReadBinaryFile,
159
- handleRequestFsReadBinaryFileSync,
160
- handleRequestFsReadBinaryFileHttp,
161
- handleRequestFsReadBinaryFileData,
162
- handleRequestFsReadBinaryFileSyncData,
163
- handleRequestFsReadFile,
164
- handleRequestFsReadFileSync,
165
- handleRequestZlibInflate,
166
- handleRequestFsStatSync,
167
- handleRequestFsStat,
168
- handleRequestFsStatHttp,
169
- ];
170
- handlers.forEach((handler) => serviceBus.addHandler(handler));
171
- }
172
- exports.registerHandlers = registerHandlers;
173
- //# sourceMappingURL=file.js.map
@@ -1,7 +0,0 @@
1
- export { toArray as asyncIterableToArray } from './async/asyncIterable.js';
2
- export type { CSpellIO } from './CSpellIO.js';
3
- export { CSpellIONode, getDefaultCSpellIO } from './CSpellIONode.js';
4
- export { getStat, getStatSync, readFileText, readFileTextSync, writeToFile, writeToFileIterable, writeToFileIterableP, } from './file/index.js';
5
- export type { Stats } from './models/Stats.js';
6
- export { encodeDataUrl, toDataUrl } from './node/dataUrl.js';
7
- //# sourceMappingURL=index.d.ts.map
package/dist/cjs/index.js DELETED
@@ -1,20 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.toDataUrl = exports.encodeDataUrl = exports.writeToFileIterableP = exports.writeToFileIterable = exports.writeToFile = exports.readFileTextSync = exports.readFileText = exports.getStatSync = exports.getStat = exports.getDefaultCSpellIO = exports.CSpellIONode = exports.asyncIterableToArray = void 0;
4
- var asyncIterable_js_1 = require("./async/asyncIterable.js");
5
- Object.defineProperty(exports, "asyncIterableToArray", { enumerable: true, get: function () { return asyncIterable_js_1.toArray; } });
6
- var CSpellIONode_js_1 = require("./CSpellIONode.js");
7
- Object.defineProperty(exports, "CSpellIONode", { enumerable: true, get: function () { return CSpellIONode_js_1.CSpellIONode; } });
8
- Object.defineProperty(exports, "getDefaultCSpellIO", { enumerable: true, get: function () { return CSpellIONode_js_1.getDefaultCSpellIO; } });
9
- var index_js_1 = require("./file/index.js");
10
- Object.defineProperty(exports, "getStat", { enumerable: true, get: function () { return index_js_1.getStat; } });
11
- Object.defineProperty(exports, "getStatSync", { enumerable: true, get: function () { return index_js_1.getStatSync; } });
12
- Object.defineProperty(exports, "readFileText", { enumerable: true, get: function () { return index_js_1.readFileText; } });
13
- Object.defineProperty(exports, "readFileTextSync", { enumerable: true, get: function () { return index_js_1.readFileTextSync; } });
14
- Object.defineProperty(exports, "writeToFile", { enumerable: true, get: function () { return index_js_1.writeToFile; } });
15
- Object.defineProperty(exports, "writeToFileIterable", { enumerable: true, get: function () { return index_js_1.writeToFileIterable; } });
16
- Object.defineProperty(exports, "writeToFileIterableP", { enumerable: true, get: function () { return index_js_1.writeToFileIterableP; } });
17
- var dataUrl_js_1 = require("./node/dataUrl.js");
18
- Object.defineProperty(exports, "encodeDataUrl", { enumerable: true, get: function () { return dataUrl_js_1.encodeDataUrl; } });
19
- Object.defineProperty(exports, "toDataUrl", { enumerable: true, get: function () { return dataUrl_js_1.toDataUrl; } });
20
- //# sourceMappingURL=index.js.map
@@ -1,2 +0,0 @@
1
- export type BufferEncoding = 'ascii' | 'utf8' | 'utf-8' | 'utf16le' | 'utf16be' | 'ucs2' | 'ucs-2' | 'base64' | 'base64url' | 'binary' | 'latin1' | 'hex';
2
- //# sourceMappingURL=BufferEncoding.d.ts.map
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=BufferEncoding.js.map
@@ -1,35 +0,0 @@
1
- import type { BufferEncoding } from './BufferEncoding.js';
2
- export interface FileReference {
3
- /**
4
- * The URL of the File
5
- */
6
- url: URL;
7
- }
8
- export interface FileResource extends FileReference {
9
- /**
10
- * The contents of the file
11
- */
12
- content: string | ArrayBufferView;
13
- /**
14
- * The filename of the file if known.
15
- * Useful for `data:` urls.
16
- */
17
- baseFilename?: string | undefined;
18
- /**
19
- * - `true` if the content had been gzip compressed.
20
- * - `false` if the content was NOT gzip compressed.
21
- * - `undefined` if it is unknown
22
- */
23
- gz?: boolean;
24
- }
25
- export interface TextFileResource extends FileResource {
26
- content: string;
27
- /**
28
- * The encoding used to decode the file.
29
- */
30
- encoding: BufferEncoding;
31
- }
32
- export interface BinaryFileResource extends FileResource {
33
- content: ArrayBufferView;
34
- }
35
- //# sourceMappingURL=FileResource.d.ts.map
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=FileResource.js.map
@@ -1,18 +0,0 @@
1
- /**
2
- * Subset of definition from the Node definition to avoid a dependency upon a specific version of Node
3
- */
4
- export interface Stats {
5
- /**
6
- * Size of file in byes, -1 if unknown.
7
- */
8
- size: number;
9
- /**
10
- * Modification time, 0 if unknown.
11
- */
12
- mtimeMs: number;
13
- /**
14
- * Used by web requests to see if a resource has changed.
15
- */
16
- eTag?: string | undefined;
17
- }
18
- //# sourceMappingURL=Stats.d.ts.map
@@ -1,6 +0,0 @@
1
- "use strict";
2
- /**
3
- * Subset of definition from the Node definition to avoid a dependency upon a specific version of Node
4
- */
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- //# sourceMappingURL=Stats.js.map
@@ -1,2 +0,0 @@
1
- export type { Stats } from './Stats.js';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=index.js.map
@@ -1,27 +0,0 @@
1
- /// <reference types="node" />
2
- /**
3
- * Generates a string of the following format:
4
- *
5
- * `data:[mediaType][;charset=<encoding>[;base64],<data>`
6
- *
7
- * - `encoding` - defaults to `utf8` for text data
8
- * @param data
9
- * @param mediaType - The mediaType is a [MIME](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) type string
10
- * @param attributes - Additional attributes
11
- */
12
- export declare function encodeDataUrl(data: string | Buffer, mediaType: string, attributes?: Iterable<readonly [string, string]> | undefined): string;
13
- export declare function toDataUrl(data: string | Buffer, mediaType: string, attributes?: Iterable<[string, string]> | undefined): URL;
14
- export interface DecodedDataUrl {
15
- data: Buffer;
16
- mediaType: string;
17
- encoding?: string | undefined;
18
- attributes: Map<string, string>;
19
- }
20
- export declare function decodeDataUrl(url: string | URL): DecodedDataUrl;
21
- export declare function encodeDataUrlFromFile(path: string | URL, mediaType?: string, attributes?: Iterable<readonly [string, string]> | undefined): Promise<string>;
22
- export interface GuessMimeTypeResult {
23
- mimeType: string;
24
- encoding?: 'utf-8' | undefined;
25
- }
26
- export declare function guessMimeType(filename: string): GuessMimeTypeResult | undefined;
27
- //# sourceMappingURL=dataUrl.d.ts.map
@@ -1,116 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.guessMimeType = exports.encodeDataUrlFromFile = exports.decodeDataUrl = exports.toDataUrl = exports.encodeDataUrl = void 0;
27
- const fs_1 = require("fs");
28
- const fsPath = __importStar(require("path"));
29
- const util_js_1 = require("./file/util.js");
30
- /**
31
- * Generates a string of the following format:
32
- *
33
- * `data:[mediaType][;charset=<encoding>[;base64],<data>`
34
- *
35
- * - `encoding` - defaults to `utf8` for text data
36
- * @param data
37
- * @param mediaType - The mediaType is a [MIME](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) type string
38
- * @param attributes - Additional attributes
39
- */
40
- function encodeDataUrl(data, mediaType, attributes) {
41
- if (typeof data === 'string')
42
- return encodeString(data, mediaType, attributes);
43
- const attribs = encodeAttributes(attributes || []);
44
- return `data:${mediaType}${attribs};base64,${data.toString('base64url')}`;
45
- }
46
- exports.encodeDataUrl = encodeDataUrl;
47
- function toDataUrl(data, mediaType, attributes) {
48
- return new URL(encodeDataUrl(data, mediaType, attributes));
49
- }
50
- exports.toDataUrl = toDataUrl;
51
- function encodeString(data, mediaType, attributes) {
52
- mediaType = mediaType || 'text/plain';
53
- attributes = attributes || [];
54
- const asUrlComp = encodeURIComponent(data);
55
- const asBase64 = Buffer.from(data).toString('base64url');
56
- const useBase64 = asBase64.length < asUrlComp.length - 7;
57
- const encoded = useBase64 ? asBase64 : asUrlComp;
58
- // Ensure charset is first.
59
- const attribMap = new Map([['charset', 'utf8']].concat([...attributes]));
60
- attribMap.set('charset', 'utf8'); // Make sure it is always `utf8`.
61
- const attribs = encodeAttributes(attribMap);
62
- return `data:${mediaType}${attribs}${useBase64 ? ';base64' : ''},${encoded}`;
63
- }
64
- function encodeAttributes(attributes) {
65
- return [...attributes].map(([key, value]) => `;${key}=${encodeURIComponent(value)}`).join('');
66
- }
67
- const dataUrlRegExHead = /^data:(?<mediaType>[^;,]*)(?<attributes>(?:;[^=]+=[^;,]*)*)(?<base64>;base64)?$/;
68
- function decodeDataUrl(url) {
69
- url = url.toString();
70
- const [head, encodedData] = url.split(',', 2);
71
- if (!head || encodedData === undefined)
72
- throw Error('Not a data url');
73
- const match = head.match(dataUrlRegExHead);
74
- if (!match || !match.groups)
75
- throw Error('Not a data url');
76
- const mediaType = match.groups['mediaType'] || '';
77
- const rawAttributes = (match.groups['attributes'] || '')
78
- .split(';')
79
- .filter((a) => !!a)
80
- .map((entry) => entry.split('=', 2))
81
- .map(([key, value]) => [key, decodeURIComponent(value)]);
82
- const attributes = new Map(rawAttributes);
83
- const encoding = attributes.get('charset');
84
- const isBase64 = !!match.groups['base64'];
85
- const data = isBase64 ? Buffer.from(encodedData, 'base64url') : Buffer.from(decodeURIComponent(encodedData));
86
- return { mediaType, data, encoding, attributes };
87
- }
88
- exports.decodeDataUrl = decodeDataUrl;
89
- async function encodeDataUrlFromFile(path, mediaType, attributes) {
90
- const url = (0, util_js_1.toURL)(path);
91
- const filename = fsPath.basename(url.pathname);
92
- const guess = guessMimeType(filename);
93
- mediaType = mediaType || guess?.mimeType || 'text/plain';
94
- const _attributes = new Map(attributes || []);
95
- filename && _attributes.set('filename', filename);
96
- const content = guess?.encoding ? await fs_1.promises.readFile(url, guess?.encoding) : await fs_1.promises.readFile(url);
97
- return encodeDataUrl(content, mediaType, _attributes);
98
- }
99
- exports.encodeDataUrlFromFile = encodeDataUrlFromFile;
100
- function guessMimeType(filename) {
101
- if (filename.endsWith('.trie'))
102
- return { mimeType: 'application/vnd.cspell.dictionary+trie', encoding: 'utf-8' };
103
- if (filename.endsWith('.trie.gz'))
104
- return { mimeType: 'application/vnd.cspell.dictionary+trie.gz' };
105
- if (filename.endsWith('.txt'))
106
- return { mimeType: 'text/plain', encoding: 'utf-8' };
107
- if (filename.endsWith('.gz'))
108
- return { mimeType: 'application/gzip' };
109
- if (filename.endsWith('.json'))
110
- return { mimeType: 'application/json', encoding: 'utf-8' };
111
- if (filename.endsWith('.yaml') || filename.endsWith('.yml'))
112
- return { mimeType: 'application/x-yaml', encoding: 'utf-8' };
113
- return undefined;
114
- }
115
- exports.guessMimeType = guessMimeType;
116
- //# sourceMappingURL=dataUrl.js.map
@@ -1,9 +0,0 @@
1
- /// <reference types="node" />
2
- export declare class FetchUrlError extends Error implements NodeJS.ErrnoException {
3
- readonly code: string | undefined;
4
- readonly status: number | undefined;
5
- readonly url: URL;
6
- constructor(message: string, code: string | undefined, status: number | undefined, url: URL);
7
- static create(url: URL, status: number, message?: string): FetchUrlError;
8
- }
9
- //# sourceMappingURL=FetchError.d.ts.map
@@ -1,21 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FetchUrlError = void 0;
4
- class FetchUrlError extends Error {
5
- constructor(message, code, status, url) {
6
- super(message);
7
- this.code = code;
8
- this.status = status;
9
- this.url = url;
10
- this.name = 'FetchUrlError';
11
- }
12
- static create(url, status, message) {
13
- if (status === 404)
14
- return new FetchUrlError(message || 'URL not found.', 'ENOENT', status, url);
15
- if (status >= 400 && status < 500)
16
- return new FetchUrlError(message || 'Permission denied.', 'EACCES', status, url);
17
- return new FetchUrlError(message || 'Fatal Error', 'ECONNREFUSED', status, url);
18
- }
19
- }
20
- exports.FetchUrlError = FetchUrlError;
21
- //# sourceMappingURL=FetchError.js.map
@@ -1,7 +0,0 @@
1
- /// <reference types="node" />
2
- import type { Headers } from 'node-fetch';
3
- import nodeFetch from 'node-fetch';
4
- export declare const fetch: typeof nodeFetch;
5
- export declare function fetchHead(request: string | URL): Promise<Headers>;
6
- export declare function fetchURL(url: URL): Promise<Buffer>;
7
- //# sourceMappingURL=fetch.d.ts.map
@@ -1,23 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.fetchURL = exports.fetchHead = exports.fetch = void 0;
7
- const node_fetch_1 = __importDefault(require("node-fetch"));
8
- const FetchError_js_1 = require("./FetchError.js");
9
- exports.fetch = node_fetch_1.default;
10
- async function fetchHead(request) {
11
- const r = await (0, exports.fetch)(request, { method: 'HEAD' });
12
- return r.headers;
13
- }
14
- exports.fetchHead = fetchHead;
15
- async function fetchURL(url) {
16
- const response = await (0, exports.fetch)(url);
17
- if (!response.ok) {
18
- throw FetchError_js_1.FetchUrlError.create(url, response.status);
19
- }
20
- return Buffer.from(await response.arrayBuffer());
21
- }
22
- exports.fetchURL = fetchURL;
23
- //# sourceMappingURL=fetch.js.map
@@ -1,4 +0,0 @@
1
- import type { BufferEncoding } from '../../models/BufferEncoding.js';
2
- export declare function readFileText(filename: string | URL, encoding?: BufferEncoding): Promise<string>;
3
- export declare function readFileTextSync(filename: string, encoding?: BufferEncoding): string;
4
- //# sourceMappingURL=fileReader.d.ts.map