necessary 11.0.44 → 11.0.47
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.
- package/README.md +54 -54
- package/lib/contentTypes.js +5 -2
- package/package.json +1 -1
- package/src/contentTypes.js +2 -0
package/README.md
CHANGED
|
@@ -13,7 +13,6 @@ These cna only be used on Node:
|
|
|
13
13
|
* [Shell utilities](#shell-utilities)
|
|
14
14
|
* [Logging utilities](#logging-utilities)
|
|
15
15
|
* [Request utilities](#request-utilities)
|
|
16
|
-
* [Template utilities](#template-utilities)
|
|
17
16
|
* [File system utilities](#file-system-utilities)
|
|
18
17
|
* [Configuration utilities](#configuration-utilities)
|
|
19
18
|
|
|
@@ -22,6 +21,7 @@ These can be used both on Node and in the browser:
|
|
|
22
21
|
* [Path utilities](#path-utilities)
|
|
23
22
|
* [Array utilities](#array-utilities)
|
|
24
23
|
* [HTTP utilities](#http-utilities)
|
|
24
|
+
* [Template utilities](#template-utilities)
|
|
25
25
|
* [Asynchronous utilities](#asynchronous-utilities)
|
|
26
26
|
|
|
27
27
|
## Installation
|
|
@@ -309,58 +309,6 @@ function contentFromResponse(response, callback) {
|
|
|
309
309
|
|
|
310
310
|
* The `createPostRequest()` function is identical to the `createRequest()` function except that the `method` argument is omitted and the `headers` argument is optional.
|
|
311
311
|
|
|
312
|
-
## Template utilities
|
|
313
|
-
|
|
314
|
-
- `parseFile()`
|
|
315
|
-
- `parseContent()`
|
|
316
|
-
- `parseLine()`
|
|
317
|
-
|
|
318
|
-
These functions parse files, content or single lines, replacing each token of the form `${<name>}` with the value of the corresponding property of a plain old JavaScript object passed as the second argument, or replacing the token with an empty string if no such property exists.
|
|
319
|
-
|
|
320
|
-
* The `parseFile()` function takes a file path as the first argument:
|
|
321
|
-
|
|
322
|
-
```
|
|
323
|
-
const filePath = "/etc/var/public/name.html",
|
|
324
|
-
name = "Joe Bloggs",
|
|
325
|
-
age = 99,
|
|
326
|
-
args = {
|
|
327
|
-
name,
|
|
328
|
-
age
|
|
329
|
-
}
|
|
330
|
-
parsedContent = parseFile(filePath, args);
|
|
331
|
-
```
|
|
332
|
-
|
|
333
|
-
* The `parseContent()` function takes content as the first argument, honouring newline `\n` characters:
|
|
334
|
-
|
|
335
|
-
```
|
|
336
|
-
const content = `
|
|
337
|
-
|
|
338
|
-
name: <strong>${name}</strong><br/>
|
|
339
|
-
age: <strong>${age}</strong><br/>
|
|
340
|
-
|
|
341
|
-
`,
|
|
342
|
-
name = "Joe Bloggs",
|
|
343
|
-
age = 99,
|
|
344
|
-
args = {
|
|
345
|
-
name,
|
|
346
|
-
age
|
|
347
|
-
}
|
|
348
|
-
parsedContent = parseContent(content, args);
|
|
349
|
-
```
|
|
350
|
-
|
|
351
|
-
* The `parseLine()` function takes a single line of content as the first argument:
|
|
352
|
-
|
|
353
|
-
```
|
|
354
|
-
const line = "${name}, aged ${age}.",
|
|
355
|
-
name = "Joe Bloggs",
|
|
356
|
-
age = 99,
|
|
357
|
-
args = {
|
|
358
|
-
name,
|
|
359
|
-
age
|
|
360
|
-
}
|
|
361
|
-
parsedLine = parseLine(line, args); // returns 'Joe Bloggs, aged 99.'
|
|
362
|
-
```
|
|
363
|
-
|
|
364
312
|
## File system utilities
|
|
365
313
|
|
|
366
314
|
- `checkEntryExists()`
|
|
@@ -824,6 +772,58 @@ urlFromHostURIAndQuery(host, uri, query); // returns "https://site.com/user?name
|
|
|
824
772
|
|
|
825
773
|
Ideally the `host` argument should not include a trailing forward slash whereas `uri` arguments should always start with a leading forward slash.
|
|
826
774
|
|
|
775
|
+
## Template utilities
|
|
776
|
+
|
|
777
|
+
- `parseFile()`
|
|
778
|
+
- `parseContent()`
|
|
779
|
+
- `parseLine()`
|
|
780
|
+
|
|
781
|
+
These functions parse files, content or single lines, replacing each token of the form `${<name>}` with the value of the corresponding property of a plain old JavaScript object passed as the second argument, or replacing the token with an empty string if no such property exists.
|
|
782
|
+
|
|
783
|
+
* The `parseFile()` function takes a file path as the first argument:
|
|
784
|
+
|
|
785
|
+
```
|
|
786
|
+
const filePath = "/etc/var/public/name.html",
|
|
787
|
+
name = "Joe Bloggs",
|
|
788
|
+
age = 99,
|
|
789
|
+
args = {
|
|
790
|
+
name,
|
|
791
|
+
age
|
|
792
|
+
}
|
|
793
|
+
parsedContent = parseFile(filePath, args);
|
|
794
|
+
```
|
|
795
|
+
|
|
796
|
+
* The `parseContent()` function takes content as the first argument, honouring newline `\n` characters:
|
|
797
|
+
|
|
798
|
+
```
|
|
799
|
+
const content = `
|
|
800
|
+
|
|
801
|
+
name: <strong>${name}</strong><br/>
|
|
802
|
+
age: <strong>${age}</strong><br/>
|
|
803
|
+
|
|
804
|
+
`,
|
|
805
|
+
name = "Joe Bloggs",
|
|
806
|
+
age = 99,
|
|
807
|
+
args = {
|
|
808
|
+
name,
|
|
809
|
+
age
|
|
810
|
+
}
|
|
811
|
+
parsedContent = parseContent(content, args);
|
|
812
|
+
```
|
|
813
|
+
|
|
814
|
+
* The `parseLine()` function takes a single line of content as the first argument:
|
|
815
|
+
|
|
816
|
+
```
|
|
817
|
+
const line = "${name}, aged ${age}.",
|
|
818
|
+
name = "Joe Bloggs",
|
|
819
|
+
age = 99,
|
|
820
|
+
args = {
|
|
821
|
+
name,
|
|
822
|
+
age
|
|
823
|
+
}
|
|
824
|
+
parsedLine = parseLine(line, args); // returns 'Joe Bloggs, aged 99.'
|
|
825
|
+
```
|
|
826
|
+
|
|
827
827
|
## Asynchronous utilities
|
|
828
828
|
|
|
829
829
|
- `whilst()`
|
|
@@ -832,7 +832,7 @@ Ideally the `host` argument should not include a trailing forward slash whereas
|
|
|
832
832
|
- `eventually()`
|
|
833
833
|
- `repeatedly()`
|
|
834
834
|
|
|
835
|
-
These functions generally take either
|
|
835
|
+
These functions generally take either an operation or an array of operations, an operation being a function that mutates a context rather than returning a value. They also take a `done()` function and an optional `context` argument. They all pass a `next()` function to the operations followed by the `done()` function, the `context` and then an `index` argument. Operations can call the `done()` function instead of the `next()` function in order to terminate early.
|
|
836
836
|
|
|
837
837
|
* The `whilst()` function takes a single operation, which it calls each time the operation invokes the given `next()` function or until the operation invokes the given `done()` function. The operation can also force termination by returning a truthy value, in which case it must *not* call the given `next()` or `done()` functions. In the example below the operation will be executed ten times:
|
|
838
838
|
|
package/lib/contentTypes.js
CHANGED
|
@@ -2,13 +2,15 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", {
|
|
3
3
|
value: true
|
|
4
4
|
});
|
|
5
|
-
exports.default = exports.APPLICATION_X_WWW_FORM_ENCODED_CHARSET_UTF_8_CONTENT_TYPE = exports.APPLICATION_JSON_CHARSET_UTF_8_CONTENT_TYPE = exports.TEXT_PLAIN_CHARSET_UTF_8_CONTENT_TYPE = exports.TEXT_HTML_CHARSET_UTF_8_CONTENT_TYPE = exports.APPLICATION_X_WWW_FORM_ENCODED_CONTENT_TYPE = exports.APPLICATION_JSON_CONTENT_TYPE = exports.TEXT_PLAIN_CONTENT_TYPE = exports.TEXT_HTML_CONTENT_TYPE = void 0;
|
|
5
|
+
exports.default = exports.APPLICATION_X_WWW_FORM_ENCODED_CHARSET_UTF_8_CONTENT_TYPE = exports.APPLICATION_JSON_CHARSET_UTF_8_CONTENT_TYPE = exports.TEXT_PLAIN_CHARSET_UTF_8_CONTENT_TYPE = exports.TEXT_HTML_CHARSET_UTF_8_CONTENT_TYPE = exports.APPLICATION_X_WWW_FORM_ENCODED_CONTENT_TYPE = exports.APPLICATION_OCTET_STREAM_CONTENT_TYPE = exports.APPLICATION_JSON_CONTENT_TYPE = exports.TEXT_PLAIN_CONTENT_TYPE = exports.TEXT_HTML_CONTENT_TYPE = void 0;
|
|
6
6
|
var TEXT_HTML_CONTENT_TYPE = "text/html";
|
|
7
7
|
exports.TEXT_HTML_CONTENT_TYPE = TEXT_HTML_CONTENT_TYPE;
|
|
8
8
|
var TEXT_PLAIN_CONTENT_TYPE = "text/plain";
|
|
9
9
|
exports.TEXT_PLAIN_CONTENT_TYPE = TEXT_PLAIN_CONTENT_TYPE;
|
|
10
10
|
var APPLICATION_JSON_CONTENT_TYPE = "application/json";
|
|
11
11
|
exports.APPLICATION_JSON_CONTENT_TYPE = APPLICATION_JSON_CONTENT_TYPE;
|
|
12
|
+
var APPLICATION_OCTET_STREAM_CONTENT_TYPE = "application/octet-stream";
|
|
13
|
+
exports.APPLICATION_OCTET_STREAM_CONTENT_TYPE = APPLICATION_OCTET_STREAM_CONTENT_TYPE;
|
|
12
14
|
var APPLICATION_X_WWW_FORM_ENCODED_CONTENT_TYPE = "application/x-www-form-urlencoded";
|
|
13
15
|
exports.APPLICATION_X_WWW_FORM_ENCODED_CONTENT_TYPE = APPLICATION_X_WWW_FORM_ENCODED_CONTENT_TYPE;
|
|
14
16
|
var TEXT_HTML_CHARSET_UTF_8_CONTENT_TYPE = "text/html; charset=utf-8";
|
|
@@ -23,6 +25,7 @@ var _default = {
|
|
|
23
25
|
TEXT_HTML_CONTENT_TYPE: TEXT_HTML_CONTENT_TYPE,
|
|
24
26
|
TEXT_PLAIN_CONTENT_TYPE: TEXT_PLAIN_CONTENT_TYPE,
|
|
25
27
|
APPLICATION_JSON_CONTENT_TYPE: APPLICATION_JSON_CONTENT_TYPE,
|
|
28
|
+
APPLICATION_OCTET_STREAM_CONTENT_TYPE: APPLICATION_OCTET_STREAM_CONTENT_TYPE,
|
|
26
29
|
APPLICATION_JSON_CHARSET_UTF_8_CONTENT_TYPE: APPLICATION_JSON_CHARSET_UTF_8_CONTENT_TYPE,
|
|
27
30
|
TEXT_HTML_CHARSET_UTF_8_CONTENT_TYPE: TEXT_HTML_CHARSET_UTF_8_CONTENT_TYPE,
|
|
28
31
|
TEXT_PLAIN_CHARSET_UTF_8_CONTENT_TYPE: TEXT_PLAIN_CHARSET_UTF_8_CONTENT_TYPE,
|
|
@@ -31,4 +34,4 @@ var _default = {
|
|
|
31
34
|
};
|
|
32
35
|
exports.default = _default;
|
|
33
36
|
|
|
34
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
37
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb250ZW50VHlwZXMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydCBjb25zdCBURVhUX0hUTUxfQ09OVEVOVF9UWVBFID0gXCJ0ZXh0L2h0bWxcIjtcbmV4cG9ydCBjb25zdCBURVhUX1BMQUlOX0NPTlRFTlRfVFlQRSA9IFwidGV4dC9wbGFpblwiO1xuZXhwb3J0IGNvbnN0IEFQUExJQ0FUSU9OX0pTT05fQ09OVEVOVF9UWVBFID0gXCJhcHBsaWNhdGlvbi9qc29uXCI7XG5leHBvcnQgY29uc3QgQVBQTElDQVRJT05fT0NURVRfU1RSRUFNX0NPTlRFTlRfVFlQRSA9IFwiYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtXCI7XG5leHBvcnQgY29uc3QgQVBQTElDQVRJT05fWF9XV1dfRk9STV9FTkNPREVEX0NPTlRFTlRfVFlQRSA9IFwiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkXCI7XG5leHBvcnQgY29uc3QgVEVYVF9IVE1MX0NIQVJTRVRfVVRGXzhfQ09OVEVOVF9UWVBFID0gXCJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLThcIjtcbmV4cG9ydCBjb25zdCBURVhUX1BMQUlOX0NIQVJTRVRfVVRGXzhfQ09OVEVOVF9UWVBFID0gXCJ0ZXh0L3BsYWluOyBjaGFyc2V0PXV0Zi04XCI7XG5leHBvcnQgY29uc3QgQVBQTElDQVRJT05fSlNPTl9DSEFSU0VUX1VURl84X0NPTlRFTlRfVFlQRSA9IFwiYXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtOFwiO1xuZXhwb3J0IGNvbnN0IEFQUExJQ0FUSU9OX1hfV1dXX0ZPUk1fRU5DT0RFRF9DSEFSU0VUX1VURl84X0NPTlRFTlRfVFlQRSA9IFwiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkOyBjaGFyc2V0PXV0Zi04XCI7XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgVEVYVF9IVE1MX0NPTlRFTlRfVFlQRSxcbiAgVEVYVF9QTEFJTl9DT05URU5UX1RZUEUsXG4gIEFQUExJQ0FUSU9OX0pTT05fQ09OVEVOVF9UWVBFLFxuICBBUFBMSUNBVElPTl9PQ1RFVF9TVFJFQU1fQ09OVEVOVF9UWVBFLFxuICBBUFBMSUNBVElPTl9KU09OX0NIQVJTRVRfVVRGXzhfQ09OVEVOVF9UWVBFLFxuICBURVhUX0hUTUxfQ0hBUlNFVF9VVEZfOF9DT05URU5UX1RZUEUsXG4gIFRFWFRfUExBSU5fQ0hBUlNFVF9VVEZfOF9DT05URU5UX1RZUEUsXG4gIEFQUExJQ0FUSU9OX1hfV1dXX0ZPUk1fRU5DT0RFRF9DT05URU5UX1RZUEUsXG4gIEFQUExJQ0FUSU9OX1hfV1dXX0ZPUk1fRU5DT0RFRF9DSEFSU0VUX1VURl84X0NPTlRFTlRfVFlQRVxufTtcbiJdLCJuYW1lcyI6WyJURVhUX0hUTUxfQ09OVEVOVF9UWVBFIiwiVEVYVF9QTEFJTl9DT05URU5UX1RZUEUiLCJBUFBMSUNBVElPTl9KU09OX0NPTlRFTlRfVFlQRSIsIkFQUExJQ0FUSU9OX09DVEVUX1NUUkVBTV9DT05URU5UX1RZUEUiLCJBUFBMSUNBVElPTl9YX1dXV19GT1JNX0VOQ09ERURfQ09OVEVOVF9UWVBFIiwiVEVYVF9IVE1MX0NIQVJTRVRfVVRGXzhfQ09OVEVOVF9UWVBFIiwiVEVYVF9QTEFJTl9DSEFSU0VUX1VURl84X0NPTlRFTlRfVFlQRSIsIkFQUExJQ0FUSU9OX0pTT05fQ0hBUlNFVF9VVEZfOF9DT05URU5UX1RZUEUiLCJBUFBMSUNBVElPTl9YX1dXV19GT1JNX0VOQ09ERURfQ0hBUlNFVF9VVEZfOF9DT05URU5UX1RZUEUiXSwibWFwcGluZ3MiOiJBQUFBLENBQVk7Ozs7O0FBRUwsR0FBSyxDQUFDQSxzQkFBc0IsR0FBRyxDQUFXO1FBQXBDQSxzQkFBc0IsR0FBdEJBLHNCQUFzQjtBQUM1QixHQUFLLENBQUNDLHVCQUF1QixHQUFHLENBQVk7UUFBdENBLHVCQUF1QixHQUF2QkEsdUJBQXVCO0FBQzdCLEdBQUssQ0FBQ0MsNkJBQTZCLEdBQUcsQ0FBa0I7UUFBbERBLDZCQUE2QixHQUE3QkEsNkJBQTZCO0FBQ25DLEdBQUssQ0FBQ0MscUNBQXFDLEdBQUcsQ0FBMEI7UUFBbEVBLHFDQUFxQyxHQUFyQ0EscUNBQXFDO0FBQzNDLEdBQUssQ0FBQ0MsMkNBQTJDLEdBQUcsQ0FBbUM7UUFBakZBLDJDQUEyQyxHQUEzQ0EsMkNBQTJDO0FBQ2pELEdBQUssQ0FBQ0Msb0NBQW9DLEdBQUcsQ0FBMEI7UUFBakVBLG9DQUFvQyxHQUFwQ0Esb0NBQW9DO0FBQzFDLEdBQUssQ0FBQ0MscUNBQXFDLEdBQUcsQ0FBMkI7UUFBbkVBLHFDQUFxQyxHQUFyQ0EscUNBQXFDO0FBQzNDLEdBQUssQ0FBQ0MsMkNBQTJDLEdBQUcsQ0FBaUM7UUFBL0VBLDJDQUEyQyxHQUEzQ0EsMkNBQTJDO0FBQ2pELEdBQUssQ0FBQ0MseURBQXlELEdBQUcsQ0FBa0Q7UUFBOUdBLHlEQUF5RCxHQUF6REEseURBQXlEO2VBRXZELENBQUM7SUFDZFIsc0JBQXNCLEVBQXRCQSxzQkFBc0I7SUFDdEJDLHVCQUF1QixFQUF2QkEsdUJBQXVCO0lBQ3ZCQyw2QkFBNkIsRUFBN0JBLDZCQUE2QjtJQUM3QkMscUNBQXFDLEVBQXJDQSxxQ0FBcUM7SUFDckNJLDJDQUEyQyxFQUEzQ0EsMkNBQTJDO0lBQzNDRixvQ0FBb0MsRUFBcENBLG9DQUFvQztJQUNwQ0MscUNBQXFDLEVBQXJDQSxxQ0FBcUM7SUFDckNGLDJDQUEyQyxFQUEzQ0EsMkNBQTJDO0lBQzNDSSx5REFBeUQsRUFBekRBLHlEQUF5RDtBQUMzRCxDQUFDIn0=
|
package/package.json
CHANGED
package/src/contentTypes.js
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
export const TEXT_HTML_CONTENT_TYPE = "text/html";
|
|
4
4
|
export const TEXT_PLAIN_CONTENT_TYPE = "text/plain";
|
|
5
5
|
export const APPLICATION_JSON_CONTENT_TYPE = "application/json";
|
|
6
|
+
export const APPLICATION_OCTET_STREAM_CONTENT_TYPE = "application/octet-stream";
|
|
6
7
|
export const APPLICATION_X_WWW_FORM_ENCODED_CONTENT_TYPE = "application/x-www-form-urlencoded";
|
|
7
8
|
export const TEXT_HTML_CHARSET_UTF_8_CONTENT_TYPE = "text/html; charset=utf-8";
|
|
8
9
|
export const TEXT_PLAIN_CHARSET_UTF_8_CONTENT_TYPE = "text/plain; charset=utf-8";
|
|
@@ -13,6 +14,7 @@ export default {
|
|
|
13
14
|
TEXT_HTML_CONTENT_TYPE,
|
|
14
15
|
TEXT_PLAIN_CONTENT_TYPE,
|
|
15
16
|
APPLICATION_JSON_CONTENT_TYPE,
|
|
17
|
+
APPLICATION_OCTET_STREAM_CONTENT_TYPE,
|
|
16
18
|
APPLICATION_JSON_CHARSET_UTF_8_CONTENT_TYPE,
|
|
17
19
|
TEXT_HTML_CHARSET_UTF_8_CONTENT_TYPE,
|
|
18
20
|
TEXT_PLAIN_CHARSET_UTF_8_CONTENT_TYPE,
|