pareto-resource-filesystem-unrestricted 0.1.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.
- package/dist/commands/chmod.d.ts +2 -0
- package/dist/commands/chmod.js +63 -0
- package/dist/commands/copy.d.ts +2 -0
- package/dist/commands/copy.js +48 -0
- package/dist/commands/make_directory.d.ts +2 -0
- package/dist/commands/make_directory.js +55 -0
- package/dist/commands/remove.d.ts +2 -0
- package/dist/commands/remove.js +39 -0
- package/dist/commands/write_file.d.ts +2 -0
- package/dist/commands/write_file.js +43 -0
- package/dist/index.d.ts +14 -0
- package/dist/index.js +26 -0
- package/dist/queries/read_directory.d.ts +2 -0
- package/dist/queries/read_directory.js +54 -0
- package/dist/queries/read_file.d.ts +2 -0
- package/dist/queries/read_file.js +39 -0
- package/dist/queries/stat.d.ts +2 -0
- package/dist/queries/stat.js +26 -0
- package/dist/queries/stat_possible_node.d.ts +2 -0
- package/dist/queries/stat_possible_node.js +30 -0
- package/package.json +39 -0
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import * as p_ from 'pareto-core/implementation/resource';
|
|
2
|
+
import p_change_context from 'pareto-core/implementation/refiner/specials/change_context';
|
|
3
|
+
//data types
|
|
4
|
+
import * as d from "pareto-resources/interface/generated/liana/schemas/fs_unrestricted_chmod/data";
|
|
5
|
+
//interface
|
|
6
|
+
import * as resources from "pareto-resources/interface/resources";
|
|
7
|
+
//dependencies
|
|
8
|
+
import { chmod as fs_chmod } from "fs";
|
|
9
|
+
import * as t_path_to_text from "pareto-resources/implementation/manual/transformers/unrestricted_path/text";
|
|
10
|
+
export const $$ = p_.command(($p, on_success, on_error) => {
|
|
11
|
+
// Convert permissions structure to numeric mode
|
|
12
|
+
let mode = 0;
|
|
13
|
+
// Special bits (optional)
|
|
14
|
+
const sb = $p.mode['special bits'].__get_raw();
|
|
15
|
+
if (sb !== null) {
|
|
16
|
+
if (sb[0].setuid) {
|
|
17
|
+
mode += 0o4000;
|
|
18
|
+
}
|
|
19
|
+
if (sb[0].setgid) {
|
|
20
|
+
mode += 0o2000;
|
|
21
|
+
}
|
|
22
|
+
if (sb[0].sticky) {
|
|
23
|
+
mode += 0o1000;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
// Owner, group, others
|
|
27
|
+
function permissions_to_octal(permissions) {
|
|
28
|
+
let value = 0;
|
|
29
|
+
if (permissions.read) {
|
|
30
|
+
value += 4;
|
|
31
|
+
}
|
|
32
|
+
if (permissions.write) {
|
|
33
|
+
value += 2;
|
|
34
|
+
}
|
|
35
|
+
if (permissions.execute) {
|
|
36
|
+
value += 1;
|
|
37
|
+
}
|
|
38
|
+
return value;
|
|
39
|
+
}
|
|
40
|
+
mode += permissions_to_octal($p.mode.owner) * 0o100;
|
|
41
|
+
mode += permissions_to_octal($p.mode.group) * 0o10;
|
|
42
|
+
mode += permissions_to_octal($p.mode.others) * 0o1;
|
|
43
|
+
fs_chmod(t_path_to_text.Node_Path($p.path), mode, (err) => {
|
|
44
|
+
if (err) {
|
|
45
|
+
on_error({
|
|
46
|
+
'path': $p.path,
|
|
47
|
+
'type': p_change_context(null, () => {
|
|
48
|
+
if (err.code === 'ENOENT') {
|
|
49
|
+
return ['path does not exist', null];
|
|
50
|
+
}
|
|
51
|
+
if (err.code === 'EACCES' || err.code === 'EPERM') {
|
|
52
|
+
return ['permission denied', null];
|
|
53
|
+
}
|
|
54
|
+
throw new Error(`unhandled fs.chmod error code: ${err.code}`);
|
|
55
|
+
})
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
on_success();
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
});
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2htb2QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tbWFuZHMvY2htb2QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQTtBQUN6RCxPQUFPLGdCQUFnQixNQUFNLDREQUE0RCxDQUFBO0FBRXpGLFlBQVk7QUFDWixPQUFPLEtBQUssQ0FBQyxNQUFNLCtFQUErRSxDQUFBO0FBRWxHLFdBQVc7QUFDWCxPQUFPLEtBQUssU0FBUyxNQUFNLHNDQUFzQyxDQUFBO0FBRWpFLGNBQWM7QUFDZCxPQUFPLEVBQUUsS0FBSyxJQUFJLFFBQVEsRUFBRSxNQUFNLElBQUksQ0FBQTtBQUN0QyxPQUFPLEtBQUssY0FBYyxNQUFNLDRFQUE0RSxDQUFBO0FBRTVHLE1BQU0sQ0FBQyxNQUFNLEVBQUUsR0FBcUQsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLEVBQUU7SUFDeEcsZ0RBQWdEO0lBQ2hELElBQUksSUFBSSxHQUFHLENBQUMsQ0FBQTtJQUVaLDBCQUEwQjtJQUUxQixNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFBO0lBQzlDLElBQUksRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDO1FBQ2QsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDZixJQUFJLElBQUksTUFBTSxDQUFBO1FBQ2xCLENBQUM7UUFDRCxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNmLElBQUksSUFBSSxNQUFNLENBQUE7UUFDbEIsQ0FBQztRQUNELElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2YsSUFBSSxJQUFJLE1BQU0sQ0FBQTtRQUNsQixDQUFDO0lBQ0wsQ0FBQztJQUVELHVCQUF1QjtJQUV2QixTQUFTLG9CQUFvQixDQUFDLFdBQTBCO1FBQ3BELElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQTtRQUNiLElBQUksV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ25CLEtBQUssSUFBSSxDQUFDLENBQUE7UUFDZCxDQUFDO1FBQ0QsSUFBSSxXQUFXLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDcEIsS0FBSyxJQUFJLENBQUMsQ0FBQTtRQUNkLENBQUM7UUFDRCxJQUFJLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUN0QixLQUFLLElBQUksQ0FBQyxDQUFBO1FBQ2QsQ0FBQztRQUNELE9BQU8sS0FBSyxDQUFBO0lBQ2hCLENBQUM7SUFFRCxJQUFJLElBQUksb0JBQW9CLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxLQUFLLENBQUE7SUFDbkQsSUFBSSxJQUFJLG9CQUFvQixDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFBO0lBQ2xELElBQUksSUFBSSxvQkFBb0IsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsQ0FBQTtJQUVsRCxRQUFRLENBQ0osY0FBYyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQ2pDLElBQUksRUFDSixDQUFDLEdBQUcsRUFBRSxFQUFFO1FBQ0osSUFBSSxHQUFHLEVBQUUsQ0FBQztZQUNOLFFBQVEsQ0FBQztnQkFDTCxNQUFNLEVBQUUsRUFBRSxDQUFDLElBQUk7Z0JBQ2YsTUFBTSxFQUFFLGdCQUFnQixDQUFDLElBQUksRUFBRSxHQUFHLEVBQUU7b0JBQ2hDLElBQUksR0FBRyxDQUFDLElBQUksS0FBSyxRQUFRLEVBQUUsQ0FBQzt3QkFDeEIsT0FBTyxDQUFDLHFCQUFxQixFQUFFLElBQUksQ0FBQyxDQUFBO29CQUN4QyxDQUFDO29CQUNELElBQUksR0FBRyxDQUFDLElBQUksS0FBSyxRQUFRLElBQUksR0FBRyxDQUFDLElBQUksS0FBSyxPQUFPLEVBQUUsQ0FBQzt3QkFDaEQsT0FBTyxDQUFDLG1CQUFtQixFQUFFLElBQUksQ0FBQyxDQUFBO29CQUN0QyxDQUFDO29CQUNELE1BQU0sSUFBSSxLQUFLLENBQUMsa0NBQWtDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFBO2dCQUNqRSxDQUFDLENBQUM7YUFDTCxDQUFDLENBQUE7UUFDTixDQUFDO2FBQU0sQ0FBQztZQUNKLFVBQVUsRUFBRSxDQUFBO1FBQ2hCLENBQUM7SUFDTCxDQUFDLENBQ0osQ0FBQTtBQUNMLENBQUMsQ0FBQyxDQUFBIn0=
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import * as p_ from 'pareto-core/implementation/resource';
|
|
2
|
+
import p_change_context from 'pareto-core/implementation/refiner/specials/change_context';
|
|
3
|
+
//interface
|
|
4
|
+
import * as resources from "pareto-resources/interface/resources";
|
|
5
|
+
//dependencies
|
|
6
|
+
import { cp as fs_cp } from "fs";
|
|
7
|
+
import * as t_path_to_text from "pareto-resources/implementation/manual/transformers/unrestricted_path/text";
|
|
8
|
+
export const $$ = p_.command(($p, on_success, on_error) => {
|
|
9
|
+
const options = {};
|
|
10
|
+
if ($p.options.recursive) {
|
|
11
|
+
options.recursive = true;
|
|
12
|
+
}
|
|
13
|
+
if ($p.options.force) {
|
|
14
|
+
options.force = true;
|
|
15
|
+
}
|
|
16
|
+
if ($p.options.errorOnExist) {
|
|
17
|
+
options.errorOnExist = true;
|
|
18
|
+
}
|
|
19
|
+
fs_cp(t_path_to_text.Node_Path($p.source), t_path_to_text.Node_Path($p.target), options, (err) => {
|
|
20
|
+
if (err) {
|
|
21
|
+
on_error({
|
|
22
|
+
'path': $p.source,
|
|
23
|
+
'type': p_change_context(null, () => {
|
|
24
|
+
if (err.code === 'ENOENT') {
|
|
25
|
+
return ['source does not exist', null];
|
|
26
|
+
}
|
|
27
|
+
if (err.code === 'EACCES' || err.code === 'EPERM') {
|
|
28
|
+
return ['permission denied', null];
|
|
29
|
+
}
|
|
30
|
+
if (err.code === 'EISDIR' || err.code === 'ERR_FS_EISDIR') {
|
|
31
|
+
return ['node is not a file', null];
|
|
32
|
+
}
|
|
33
|
+
if (err.code === 'EFBIG') {
|
|
34
|
+
return ['file too large', null];
|
|
35
|
+
}
|
|
36
|
+
if (err.code === 'EIO' || err.code === 'ENXIO') {
|
|
37
|
+
return ['device not ready', null];
|
|
38
|
+
}
|
|
39
|
+
throw new Error(`unhandled fs.cp error code: ${err.code}`);
|
|
40
|
+
})
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
on_success();
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29weS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21tYW5kcy9jb3B5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLE1BQU0scUNBQXFDLENBQUE7QUFDekQsT0FBTyxnQkFBZ0IsTUFBTSw0REFBNEQsQ0FBQTtBQUV6RixXQUFXO0FBQ1gsT0FBTyxLQUFLLFNBQVMsTUFBTSxzQ0FBc0MsQ0FBQTtBQUVqRSxjQUFjO0FBQ2QsT0FBTyxFQUFFLEVBQUUsSUFBSSxLQUFLLEVBQUUsTUFBTSxJQUFJLENBQUE7QUFDaEMsT0FBTyxLQUFLLGNBQWMsTUFBTSw0RUFBNEUsQ0FBQTtBQUU1RyxNQUFNLENBQUMsTUFBTSxFQUFFLEdBQW9ELEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxFQUFFO0lBQ3ZHLE1BQU0sT0FBTyxHQUFRLEVBQUUsQ0FBQTtJQUN2QixJQUFJLEVBQUUsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDdkIsT0FBTyxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUE7SUFDNUIsQ0FBQztJQUNELElBQUksRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNuQixPQUFPLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQTtJQUN4QixDQUFDO0lBQ0QsSUFBSSxFQUFFLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzFCLE9BQU8sQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFBO0lBQy9CLENBQUM7SUFFRCxLQUFLLENBQ0QsY0FBYyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQ25DLGNBQWMsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUNuQyxPQUFPLEVBQ1AsQ0FBQyxHQUFHLEVBQUUsRUFBRTtRQUNKLElBQUksR0FBRyxFQUFFLENBQUM7WUFDTixRQUFRLENBQUM7Z0JBQ0wsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNO2dCQUNqQixNQUFNLEVBQUUsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRTtvQkFDaEMsSUFBSSxHQUFHLENBQUMsSUFBSSxLQUFLLFFBQVEsRUFBRSxDQUFDO3dCQUN4QixPQUFPLENBQUMsdUJBQXVCLEVBQUUsSUFBSSxDQUFDLENBQUE7b0JBQzFDLENBQUM7b0JBQ0QsSUFBSSxHQUFHLENBQUMsSUFBSSxLQUFLLFFBQVEsSUFBSSxHQUFHLENBQUMsSUFBSSxLQUFLLE9BQU8sRUFBRSxDQUFDO3dCQUNoRCxPQUFPLENBQUMsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLENBQUE7b0JBQ3RDLENBQUM7b0JBQ0QsSUFBSSxHQUFHLENBQUMsSUFBSSxLQUFLLFFBQVEsSUFBSSxHQUFHLENBQUMsSUFBSSxLQUFLLGVBQWUsRUFBRSxDQUFDO3dCQUN4RCxPQUFPLENBQUMsb0JBQW9CLEVBQUUsSUFBSSxDQUFDLENBQUE7b0JBQ3ZDLENBQUM7b0JBQ0QsSUFBSSxHQUFHLENBQUMsSUFBSSxLQUFLLE9BQU8sRUFBRSxDQUFDO3dCQUN2QixPQUFPLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLENBQUE7b0JBQ25DLENBQUM7b0JBQ0QsSUFBSSxHQUFHLENBQUMsSUFBSSxLQUFLLEtBQUssSUFBSSxHQUFHLENBQUMsSUFBSSxLQUFLLE9BQU8sRUFBRSxDQUFDO3dCQUM3QyxPQUFPLENBQUMsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLENBQUE7b0JBQ3JDLENBQUM7b0JBQ0QsTUFBTSxJQUFJLEtBQUssQ0FBQywrQkFBK0IsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUE7Z0JBQzlELENBQUMsQ0FBQzthQUNMLENBQUMsQ0FBQTtRQUNOLENBQUM7YUFBTSxDQUFDO1lBQ0osVUFBVSxFQUFFLENBQUE7UUFDaEIsQ0FBQztJQUNMLENBQUMsQ0FDSixDQUFBO0FBQ0wsQ0FBQyxDQUFDLENBQUEifQ==
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import * as p_ from 'pareto-core/implementation/resource';
|
|
2
|
+
import p_change_context from 'pareto-core/implementation/refiner/specials/change_context';
|
|
3
|
+
//interface
|
|
4
|
+
import * as resources from "pareto-resources/interface/resources";
|
|
5
|
+
//dependencies
|
|
6
|
+
import { mkdir as fs_mkdir } from "fs";
|
|
7
|
+
import { rm as fs_remove } from "fs";
|
|
8
|
+
import * as t_path_to_text from "pareto-resources/implementation/manual/transformers/unrestricted_path/text";
|
|
9
|
+
export const $$ = p_.command(($p, on_success, on_error) => {
|
|
10
|
+
const make_directory = () => {
|
|
11
|
+
fs_mkdir(t_path_to_text.Node_Path($p.path), {
|
|
12
|
+
'recursive': true,
|
|
13
|
+
}, (err, path) => {
|
|
14
|
+
if (err) {
|
|
15
|
+
on_error({
|
|
16
|
+
'path': $p.path,
|
|
17
|
+
'type': p_change_context(null, () => {
|
|
18
|
+
if (err.code === 'EEXIST') {
|
|
19
|
+
return ['directory already exists', null];
|
|
20
|
+
}
|
|
21
|
+
throw new Error(`unhandled fs.mkdir error code: ${err.code}`);
|
|
22
|
+
})
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
on_success();
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
};
|
|
30
|
+
if ($p['delete existing']) {
|
|
31
|
+
fs_remove(t_path_to_text.Node_Path($p.path), {
|
|
32
|
+
'recursive': true,
|
|
33
|
+
'force': true,
|
|
34
|
+
}, (err) => {
|
|
35
|
+
if (err) {
|
|
36
|
+
on_error({
|
|
37
|
+
'path': $p.path,
|
|
38
|
+
'type': p_change_context(null, () => {
|
|
39
|
+
if (err.code === 'EACCES' || err.code === 'EPERM') {
|
|
40
|
+
return ['permission denied', null];
|
|
41
|
+
}
|
|
42
|
+
throw new Error(`unhandled fs.rm error code: ${err.code}`);
|
|
43
|
+
})
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
make_directory();
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
make_directory();
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFrZV9kaXJlY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tbWFuZHMvbWFrZV9kaXJlY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQTtBQUN6RCxPQUFPLGdCQUFnQixNQUFNLDREQUE0RCxDQUFBO0FBRXpGLFdBQVc7QUFDWCxPQUFPLEtBQUssU0FBUyxNQUFNLHNDQUFzQyxDQUFBO0FBRWpFLGNBQWM7QUFDZCxPQUFPLEVBQUUsS0FBSyxJQUFJLFFBQVEsRUFBRSxNQUFNLElBQUksQ0FBQTtBQUN0QyxPQUFPLEVBQUUsRUFBRSxJQUFJLFNBQVMsRUFBRSxNQUFNLElBQUksQ0FBQTtBQUNwQyxPQUFPLEtBQUssY0FBYyxNQUFNLDRFQUE0RSxDQUFBO0FBRTVHLE1BQU0sQ0FBQyxNQUFNLEVBQUUsR0FBOEQsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLEVBQUU7SUFDakgsTUFBTSxjQUFjLEdBQUcsR0FBRyxFQUFFO1FBQ3hCLFFBQVEsQ0FDSixjQUFjLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFDakM7WUFDSSxXQUFXLEVBQUUsSUFBSTtTQUNwQixFQUNELENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxFQUFFO1lBQ1YsSUFBSSxHQUFHLEVBQUUsQ0FBQztnQkFDTixRQUFRLENBQUM7b0JBQ0wsTUFBTSxFQUFFLEVBQUUsQ0FBQyxJQUFJO29CQUNmLE1BQU0sRUFBRSxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFO3dCQUNoQyxJQUFJLEdBQUcsQ0FBQyxJQUFJLEtBQUssUUFBUSxFQUFFLENBQUM7NEJBQ3hCLE9BQU8sQ0FBQywwQkFBMEIsRUFBRSxJQUFJLENBQUMsQ0FBQTt3QkFDN0MsQ0FBQzt3QkFDRCxNQUFNLElBQUksS0FBSyxDQUFDLGtDQUFrQyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQTtvQkFDakUsQ0FBQyxDQUFDO2lCQUNMLENBQUMsQ0FBQTtZQUNOLENBQUM7aUJBQU0sQ0FBQztnQkFDSixVQUFVLEVBQUUsQ0FBQTtZQUNoQixDQUFDO1FBQ0wsQ0FBQyxDQUNKLENBQUE7SUFDTCxDQUFDLENBQUE7SUFDRCxJQUFJLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUM7UUFDeEIsU0FBUyxDQUNMLGNBQWMsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUNqQztZQUNJLFdBQVcsRUFBRSxJQUFJO1lBQ2pCLE9BQU8sRUFBRSxJQUFJO1NBQ2hCLEVBQ0QsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNKLElBQUksR0FBRyxFQUFFLENBQUM7Z0JBQ04sUUFBUSxDQUFDO29CQUNMLE1BQU0sRUFBRSxFQUFFLENBQUMsSUFBSTtvQkFDZixNQUFNLEVBQUUsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRTt3QkFDaEMsSUFBSSxHQUFHLENBQUMsSUFBSSxLQUFLLFFBQVEsSUFBSSxHQUFHLENBQUMsSUFBSSxLQUFLLE9BQU8sRUFBRSxDQUFDOzRCQUNoRCxPQUFPLENBQUMsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLENBQUE7d0JBQ3RDLENBQUM7d0JBQ0QsTUFBTSxJQUFJLEtBQUssQ0FBQywrQkFBK0IsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUE7b0JBQzlELENBQUMsQ0FBQztpQkFDTCxDQUFDLENBQUE7WUFDTixDQUFDO2lCQUFNLENBQUM7Z0JBQ0osY0FBYyxFQUFFLENBQUE7WUFDcEIsQ0FBQztRQUNMLENBQUMsQ0FDSixDQUFBO0lBRUwsQ0FBQztTQUFNLENBQUM7UUFDSixjQUFjLEVBQUUsQ0FBQTtJQUNwQixDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUEifQ==
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import * as p_ from 'pareto-core/implementation/resource';
|
|
2
|
+
import p_change_context from 'pareto-core/implementation/refiner/specials/change_context';
|
|
3
|
+
//interface
|
|
4
|
+
import * as resources from "pareto-resources/interface/resources";
|
|
5
|
+
//dependencies
|
|
6
|
+
import { rm as fs_rm } from "fs";
|
|
7
|
+
import * as t_path_to_text from "pareto-resources/implementation/manual/transformers/unrestricted_path/text";
|
|
8
|
+
export const $$ = p_.command(($p, on_success, on_error) => {
|
|
9
|
+
fs_rm(t_path_to_text.Context_Path($p.path), {
|
|
10
|
+
'recursive': true,
|
|
11
|
+
}, (err) => {
|
|
12
|
+
if (err) {
|
|
13
|
+
if (err.code === 'ENOENT' && !$p['error if not exists']) {
|
|
14
|
+
on_success();
|
|
15
|
+
}
|
|
16
|
+
else {
|
|
17
|
+
on_error({
|
|
18
|
+
'path': $p.path,
|
|
19
|
+
'type': p_change_context(null, () => {
|
|
20
|
+
if (err.code === 'ENOENT') {
|
|
21
|
+
return ['node does not exist', null];
|
|
22
|
+
}
|
|
23
|
+
if (err.code === 'EACCES' || err.code === 'EPERM') {
|
|
24
|
+
return ['permission denied', null];
|
|
25
|
+
}
|
|
26
|
+
if (err.code === 'ENOTDIR') {
|
|
27
|
+
throw new Error(`FIXME: implement ENOTDIR error handling (path: ${t_path_to_text.Context_Path($p.path)})`);
|
|
28
|
+
}
|
|
29
|
+
throw new Error(`unhandled fs.rm error code: ${err.code}`);
|
|
30
|
+
})
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
on_success();
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3ZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbW1hbmRzL3JlbW92ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxNQUFNLHFDQUFxQyxDQUFBO0FBQ3pELE9BQU8sZ0JBQWdCLE1BQU0sNERBQTRELENBQUE7QUFFekYsV0FBVztBQUNYLE9BQU8sS0FBSyxTQUFTLE1BQU0sc0NBQXNDLENBQUE7QUFFakUsY0FBYztBQUNkLE9BQU8sRUFBRSxFQUFFLElBQUksS0FBSyxFQUFFLE1BQU0sSUFBSSxDQUFBO0FBQ2hDLE9BQU8sS0FBSyxjQUFjLE1BQU0sNEVBQTRFLENBQUE7QUFHNUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxHQUFzRCxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsRUFBRTtJQUN6RyxLQUFLLENBQ0QsY0FBYyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQ3BDO1FBQ0ksV0FBVyxFQUFFLElBQUk7S0FDcEIsRUFDRCxDQUFDLEdBQUcsRUFBRSxFQUFFO1FBRUosSUFBSSxHQUFHLEVBQUUsQ0FBQztZQUNOLElBQUksR0FBRyxDQUFDLElBQUksS0FBSyxRQUFRLElBQUksQ0FBQyxFQUFFLENBQUMscUJBQXFCLENBQUMsRUFBRSxDQUFDO2dCQUN0RCxVQUFVLEVBQUUsQ0FBQTtZQUNoQixDQUFDO2lCQUFNLENBQUM7Z0JBQ0osUUFBUSxDQUFDO29CQUNMLE1BQU0sRUFBRSxFQUFFLENBQUMsSUFBSTtvQkFDZixNQUFNLEVBQUUsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRTt3QkFDaEMsSUFBSSxHQUFHLENBQUMsSUFBSSxLQUFLLFFBQVEsRUFBRSxDQUFDOzRCQUN4QixPQUFPLENBQUMscUJBQXFCLEVBQUUsSUFBSSxDQUFDLENBQUE7d0JBQ3hDLENBQUM7d0JBQ0QsSUFBSSxHQUFHLENBQUMsSUFBSSxLQUFLLFFBQVEsSUFBSSxHQUFHLENBQUMsSUFBSSxLQUFLLE9BQU8sRUFBRSxDQUFDOzRCQUNoRCxPQUFPLENBQUMsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLENBQUE7d0JBQ3RDLENBQUM7d0JBQ0QsSUFBSSxHQUFHLENBQUMsSUFBSSxLQUFLLFNBQVMsRUFBRSxDQUFDOzRCQUN6QixNQUFNLElBQUksS0FBSyxDQUFDLGtEQUFrRCxjQUFjLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUE7d0JBQzlHLENBQUM7d0JBQ0QsTUFBTSxJQUFJLEtBQUssQ0FBQywrQkFBK0IsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUE7b0JBQzlELENBQUMsQ0FBQztpQkFDTCxDQUFDLENBQUE7WUFDTixDQUFDO1FBQ0wsQ0FBQzthQUFNLENBQUM7WUFDSixVQUFVLEVBQUUsQ0FBQTtRQUNoQixDQUFDO0lBQ0wsQ0FBQyxDQUNKLENBQUE7QUFDTCxDQUFDLENBQUMsQ0FBQSJ9
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import * as p_ from 'pareto-core/implementation/resource';
|
|
2
|
+
import p_change_context from 'pareto-core/implementation/refiner/specials/change_context';
|
|
3
|
+
import p_text_from_list from 'pareto-core/implementation/transformer/specials/text_from_list';
|
|
4
|
+
//interface
|
|
5
|
+
import * as resources from "pareto-resources/interface/resources";
|
|
6
|
+
//dependencies
|
|
7
|
+
import { mkdir as fs_mkdir, writeFile as fs_writeFile } from "fs";
|
|
8
|
+
import * as t_path_to_text from "pareto-resources/implementation/manual/transformers/unrestricted_path/text";
|
|
9
|
+
export const $$ = p_.command(($p, on_success, on_error) => {
|
|
10
|
+
fs_mkdir(t_path_to_text.Context_Path($p.path.context), {
|
|
11
|
+
'recursive': true
|
|
12
|
+
}, (err, path) => {
|
|
13
|
+
if (err) {
|
|
14
|
+
on_error({
|
|
15
|
+
'path': $p.path,
|
|
16
|
+
'type': p_change_context(null, () => {
|
|
17
|
+
if (err.code === 'EACCES' || err.code === 'EPERM') {
|
|
18
|
+
return ['permission denied', null];
|
|
19
|
+
}
|
|
20
|
+
throw new Error(`unhandled fs.writeFile error code: ${err.code}`);
|
|
21
|
+
})
|
|
22
|
+
});
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
fs_writeFile(t_path_to_text.Node_Path($p.path), p_text_from_list($p.data, ($) => $), (err) => {
|
|
26
|
+
if (err) {
|
|
27
|
+
on_error({
|
|
28
|
+
'path': $p.path,
|
|
29
|
+
'type': p_change_context(null, () => {
|
|
30
|
+
if (err.code === 'EACCES' || err.code === 'EPERM') {
|
|
31
|
+
return ['permission denied', null];
|
|
32
|
+
}
|
|
33
|
+
throw new Error(`unhandled fs.writeFile error code: ${err.code}`);
|
|
34
|
+
})
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
on_success();
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
});
|
|
42
|
+
});
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JpdGVfZmlsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21tYW5kcy93cml0ZV9maWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLE1BQU0scUNBQXFDLENBQUE7QUFDekQsT0FBTyxnQkFBZ0IsTUFBTSw0REFBNEQsQ0FBQTtBQUN6RixPQUFPLGdCQUFnQixNQUFNLGdFQUFnRSxDQUFBO0FBRTdGLFdBQVc7QUFDWCxPQUFPLEtBQUssU0FBUyxNQUFNLHNDQUFzQyxDQUFBO0FBRWpFLGNBQWM7QUFDZCxPQUFPLEVBQUUsS0FBSyxJQUFJLFFBQVEsRUFBRSxTQUFTLElBQUksWUFBWSxFQUFFLE1BQU0sSUFBSSxDQUFBO0FBQ2pFLE9BQU8sS0FBSyxjQUFjLE1BQU0sNEVBQTRFLENBQUE7QUFFNUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxHQUEwRCxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsRUFBRTtJQUU3RyxRQUFRLENBQ0osY0FBYyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUM1QztRQUNJLFdBQVcsRUFBRSxJQUFJO0tBQ3BCLEVBQ0QsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUU7UUFDVixJQUFJLEdBQUcsRUFBRSxDQUFDO1lBQ04sUUFBUSxDQUFDO2dCQUNMLE1BQU0sRUFBRSxFQUFFLENBQUMsSUFBSTtnQkFDZixNQUFNLEVBQUUsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRTtvQkFDaEMsSUFBSSxHQUFHLENBQUMsSUFBSSxLQUFLLFFBQVEsSUFBSSxHQUFHLENBQUMsSUFBSSxLQUFLLE9BQU8sRUFBRSxDQUFDO3dCQUNoRCxPQUFPLENBQUMsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLENBQUE7b0JBQ3RDLENBQUM7b0JBQ0QsTUFBTSxJQUFJLEtBQUssQ0FBQyxzQ0FBc0MsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUE7Z0JBQ3JFLENBQUMsQ0FBQzthQUNMLENBQUMsQ0FBQTtZQUNGLE9BQU07UUFDVixDQUFDO1FBQ0QsWUFBWSxDQUNSLGNBQWMsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUNqQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFDbkMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNKLElBQUksR0FBRyxFQUFFLENBQUM7Z0JBQ04sUUFBUSxDQUFDO29CQUNMLE1BQU0sRUFBRSxFQUFFLENBQUMsSUFBSTtvQkFDZixNQUFNLEVBQUUsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRTt3QkFDaEMsSUFBSSxHQUFHLENBQUMsSUFBSSxLQUFLLFFBQVEsSUFBSSxHQUFHLENBQUMsSUFBSSxLQUFLLE9BQU8sRUFBRSxDQUFDOzRCQUNoRCxPQUFPLENBQUMsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLENBQUE7d0JBQ3RDLENBQUM7d0JBQ0QsTUFBTSxJQUFJLEtBQUssQ0FBQyxzQ0FBc0MsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUE7b0JBQ3JFLENBQUMsQ0FBQztpQkFDTCxDQUFDLENBQUE7WUFDTixDQUFDO2lCQUFNLENBQUM7Z0JBQ0osVUFBVSxFQUFFLENBQUE7WUFDaEIsQ0FBQztRQUNMLENBQUMsQ0FDSixDQUFBO0lBQ0wsQ0FBQyxDQUNKLENBQUE7QUFDTCxDQUFDLENBQUMsQ0FBQSJ9
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export declare const $: {
|
|
2
|
+
commands: {
|
|
3
|
+
chmod: import("pareto-resources/interface/resources").filesystem_unrestricted.commands.chmod;
|
|
4
|
+
copy: import("pareto-resources/interface/resources").filesystem_unrestricted.commands.copy;
|
|
5
|
+
'make directory': import("pareto-resources/interface/resources").filesystem_unrestricted.commands.make_directory;
|
|
6
|
+
remove: import("pareto-resources/interface/resources").filesystem_unrestricted.commands.remove;
|
|
7
|
+
'write file': import("pareto-resources/interface/resources").filesystem_unrestricted.commands.write_file;
|
|
8
|
+
};
|
|
9
|
+
queries: {
|
|
10
|
+
'read directory': import("pareto-resources/interface/resources").filesystem_unrestricted.queries.read_directory;
|
|
11
|
+
'read file': import("pareto-resources/interface/resources").filesystem_unrestricted.queries.read_file;
|
|
12
|
+
'stat possible node': import("pareto-resources/interface/resources").filesystem_unrestricted.queries.stat_possible_node;
|
|
13
|
+
};
|
|
14
|
+
};
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import * as p_ from 'pareto-core/interface/resource';
|
|
2
|
+
import { $$ as p_fs_unrestricted_chmod } from "./commands/chmod.js";
|
|
3
|
+
import { $$ as p_fs_unrestricted_copy } from "./commands/copy.js";
|
|
4
|
+
import { $$ as p_fs_unrestricted_make_directory } from "./commands/make_directory.js";
|
|
5
|
+
import { $$ as p_fs_unrestricted_remove } from "./commands/remove.js";
|
|
6
|
+
import { $$ as p_fs_unrestricted_write_file } from "./commands/write_file.js";
|
|
7
|
+
import { $$ as q_fs_unrestricted_read_directory } from "./queries/read_directory.js";
|
|
8
|
+
import { $$ as q_fs_unrestricted_read_file } from "./queries/read_file.js";
|
|
9
|
+
// import { $$ as q_fs_unrestricted_stat } from "./queries/stat.js"
|
|
10
|
+
import { $$ as q_fs_unrestricted_stat_possible_node } from "./queries/stat_possible_node.js";
|
|
11
|
+
export const $ = {
|
|
12
|
+
'commands': {
|
|
13
|
+
'chmod': p_fs_unrestricted_chmod,
|
|
14
|
+
'copy': p_fs_unrestricted_copy,
|
|
15
|
+
'make directory': p_fs_unrestricted_make_directory,
|
|
16
|
+
'remove': p_fs_unrestricted_remove,
|
|
17
|
+
'write file': p_fs_unrestricted_write_file,
|
|
18
|
+
},
|
|
19
|
+
'queries': {
|
|
20
|
+
'read directory': q_fs_unrestricted_read_directory,
|
|
21
|
+
'read file': q_fs_unrestricted_read_file,
|
|
22
|
+
// 'stat': q_fs_unrestricted_stat,
|
|
23
|
+
'stat possible node': q_fs_unrestricted_stat_possible_node,
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQTtBQUVwRCxPQUFPLEVBQUUsRUFBRSxJQUFJLHVCQUF1QixFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDbkUsT0FBTyxFQUFFLEVBQUUsSUFBSSxzQkFBc0IsRUFBRSxNQUFNLG9CQUFvQixDQUFBO0FBQ2pFLE9BQU8sRUFBRSxFQUFFLElBQUksZ0NBQWdDLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQTtBQUNyRixPQUFPLEVBQUUsRUFBRSxJQUFJLHdCQUF3QixFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDckUsT0FBTyxFQUFFLEVBQUUsSUFBSSw0QkFBNEIsRUFBRSxNQUFNLDBCQUEwQixDQUFBO0FBRTdFLE9BQU8sRUFBRSxFQUFFLElBQUksZ0NBQWdDLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQTtBQUNwRixPQUFPLEVBQUUsRUFBRSxJQUFJLDJCQUEyQixFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFDMUUsbUVBQW1FO0FBQ25FLE9BQU8sRUFBRSxFQUFFLElBQUksb0NBQW9DLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQTtBQUU1RixNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUc7SUFDYixVQUFVLEVBQUU7UUFDUixPQUFPLEVBQUUsdUJBQXVCO1FBQ2hDLE1BQU0sRUFBRSxzQkFBc0I7UUFDOUIsZ0JBQWdCLEVBQUUsZ0NBQWdDO1FBQ2xELFFBQVEsRUFBRSx3QkFBd0I7UUFDbEMsWUFBWSxFQUFFLDRCQUE0QjtLQUU3QztJQUNELFNBQVMsRUFBRTtRQUNQLGdCQUFnQixFQUFFLGdDQUFnQztRQUNsRCxXQUFXLEVBQUUsMkJBQTJCO1FBQ3hDLGtDQUFrQztRQUNsQyxvQkFBb0IsRUFBRSxvQ0FBb0M7S0FDN0Q7Q0FDa0IsQ0FBQSJ9
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import * as p_ from 'pareto-core/implementation/resource';
|
|
2
|
+
import * as p_r from 'pareto-core/implementation/refiner';
|
|
3
|
+
import * as p_di from 'pareto-core/interface/data';
|
|
4
|
+
import p_change_context from 'pareto-core/implementation/refiner/specials/change_context';
|
|
5
|
+
import p_unreachable_code_path from 'pareto-core/implementation/transformer/specials/unreachable_code_path';
|
|
6
|
+
//interface
|
|
7
|
+
import * as resources from "pareto-resources/interface/resources";
|
|
8
|
+
//data types
|
|
9
|
+
import * as d_xxx from "pareto-resources/interface/generated/liana/schemas/fs_unrestricted_read_directory/data";
|
|
10
|
+
//dependencies
|
|
11
|
+
import { readdir as fs_readdir } from "fs";
|
|
12
|
+
import * as t_path_to_text from "pareto-resources/implementation/manual/transformers/unrestricted_path/text";
|
|
13
|
+
import * as t_path_to_path from "pareto-resources/implementation/manual/transformers/unrestricted_path/unrestricted_path";
|
|
14
|
+
export const $$ = p_.query(($p, on_value, on_error) => {
|
|
15
|
+
fs_readdir(t_path_to_text.Context_Path($p.path), {
|
|
16
|
+
'encoding': 'utf-8',
|
|
17
|
+
'withFileTypes': true,
|
|
18
|
+
}, (err, nodes) => {
|
|
19
|
+
if (err) {
|
|
20
|
+
on_error({
|
|
21
|
+
'path': $p.path,
|
|
22
|
+
'type': p_change_context(null, () => {
|
|
23
|
+
if (err.code === 'ENOENT') {
|
|
24
|
+
return ['directory does not exist', null];
|
|
25
|
+
}
|
|
26
|
+
if (err.code === 'ENOTDIR' || err.code === 'EISDIR') {
|
|
27
|
+
return ['node is not a directory', null];
|
|
28
|
+
}
|
|
29
|
+
throw new Error(`unhandled fs.readdir error code: ${err.code}`);
|
|
30
|
+
})
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
const nodes2 = nodes.map(($) => ({
|
|
35
|
+
'id': $.name,
|
|
36
|
+
'value': {
|
|
37
|
+
'node type': $.isFile()
|
|
38
|
+
? ['file', null]
|
|
39
|
+
: $.isDirectory()
|
|
40
|
+
? ['directory', null]
|
|
41
|
+
: ['other', null],
|
|
42
|
+
'context directory': $p.path,
|
|
43
|
+
'path': t_path_to_path.create_node_path($p.path, {
|
|
44
|
+
'node': $.name,
|
|
45
|
+
})
|
|
46
|
+
}
|
|
47
|
+
}));
|
|
48
|
+
on_value(p_r.from.list(p_.literal.list(nodes2)).convert_to_dictionary(($) => $.id, ($) => $.value, {
|
|
49
|
+
duplicate_id: ($) => p_unreachable_code_path("the nodejs api guarantees that all items will have a unique name")
|
|
50
|
+
}));
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
});
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhZF9kaXJlY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcXVlcmllcy9yZWFkX2RpcmVjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxNQUFNLHFDQUFxQyxDQUFBO0FBQ3pELE9BQU8sS0FBSyxHQUFHLE1BQU0sb0NBQW9DLENBQUE7QUFDekQsT0FBTyxLQUFLLElBQUksTUFBTSw0QkFBNEIsQ0FBQTtBQUNsRCxPQUFPLGdCQUFnQixNQUFNLDREQUE0RCxDQUFBO0FBRXpGLE9BQU8sdUJBQXVCLE1BQU0sdUVBQXVFLENBQUE7QUFHM0csV0FBVztBQUNYLE9BQU8sS0FBSyxTQUFTLE1BQU0sc0NBQXNDLENBQUE7QUFFakUsWUFBWTtBQUNaLE9BQU8sS0FBSyxLQUFLLE1BQU0sd0ZBQXdGLENBQUE7QUFFL0csY0FBYztBQUNkLE9BQU8sRUFBRSxPQUFPLElBQUksVUFBVSxFQUFFLE1BQU0sSUFBSSxDQUFBO0FBQzFDLE9BQU8sS0FBSyxjQUFjLE1BQU0sNEVBQTRFLENBQUE7QUFDNUcsT0FBTyxLQUFLLGNBQWMsTUFBTSx5RkFBeUYsQ0FBQTtBQVF6SCxNQUFNLENBQUMsTUFBTSxFQUFFLEdBQTZELEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxFQUFFO0lBQzVHLFVBQVUsQ0FDTixjQUFjLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFDcEM7UUFDSSxVQUFVLEVBQUUsT0FBTztRQUNuQixlQUFlLEVBQUUsSUFBSTtLQUN4QixFQUNELENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxFQUFFO1FBQ1gsSUFBSSxHQUFHLEVBQUUsQ0FBQztZQUNOLFFBQVEsQ0FBQztnQkFDTCxNQUFNLEVBQUUsRUFBRSxDQUFDLElBQUk7Z0JBQ2YsTUFBTSxFQUFFLGdCQUFnQixDQUFDLElBQUksRUFBRSxHQUFHLEVBQUU7b0JBQ2hDLElBQUksR0FBRyxDQUFDLElBQUksS0FBSyxRQUFRLEVBQUUsQ0FBQzt3QkFDeEIsT0FBTyxDQUFDLDBCQUEwQixFQUFFLElBQUksQ0FBQyxDQUFBO29CQUM3QyxDQUFDO29CQUNELElBQUksR0FBRyxDQUFDLElBQUksS0FBSyxTQUFTLElBQUksR0FBRyxDQUFDLElBQUksS0FBSyxRQUFRLEVBQUUsQ0FBQzt3QkFDbEQsT0FBTyxDQUFDLHlCQUF5QixFQUFFLElBQUksQ0FBQyxDQUFBO29CQUM1QyxDQUFDO29CQUNELE1BQU0sSUFBSSxLQUFLLENBQUMsb0NBQW9DLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFBO2dCQUNuRSxDQUFDLENBQUM7YUFDTCxDQUFDLENBQUE7UUFDTixDQUFDO2FBQU0sQ0FBQztZQUNKLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQWlDLEVBQUUsQ0FBQyxDQUFDO2dCQUM1RCxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUk7Z0JBQ1osT0FBTyxFQUFFO29CQUNMLFdBQVcsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFO3dCQUNuQixDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDO3dCQUNoQixDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRTs0QkFDYixDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDOzRCQUNyQixDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDO29CQUN6QixtQkFBbUIsRUFBRSxFQUFFLENBQUMsSUFBSTtvQkFDNUIsTUFBTSxFQUFFLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FDbkMsRUFBRSxDQUFDLElBQUksRUFDUDt3QkFDSSxNQUFNLEVBQUUsQ0FBQyxDQUFDLElBQUk7cUJBQ2pCLENBQ0o7aUJBQ0o7YUFDSixDQUFDLENBQUMsQ0FBQTtZQUNILFFBQVEsQ0FDSixHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FDVCxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FDMUIsQ0FBQyxxQkFBcUIsQ0FDbkIsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQ1gsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQ2Q7Z0JBQ0ksWUFBWSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQyxrRUFBa0UsQ0FBQzthQUNuSCxDQUNKLENBQ0osQ0FBQTtRQUNMLENBQUM7SUFDTCxDQUFDLENBQ0osQ0FBQTtBQUNMLENBQUMsQ0FBQyxDQUFBIn0=
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import * as p_ from 'pareto-core/implementation/resource';
|
|
2
|
+
import p_change_context from 'pareto-core/implementation/refiner/specials/change_context';
|
|
3
|
+
import p_list_from_text from 'pareto-core/implementation/refiner/specials/list_from_text';
|
|
4
|
+
//interface
|
|
5
|
+
import * as resources from "pareto-resources/interface/resources";
|
|
6
|
+
//dependencies
|
|
7
|
+
import * as t_path_to_text from "pareto-resources/implementation/manual/transformers/unrestricted_path/text";
|
|
8
|
+
import { readFile as fs_readFile } from "fs";
|
|
9
|
+
export const $$ = p_.query(($p, on_value, on_error) => {
|
|
10
|
+
fs_readFile(t_path_to_text.Node_Path($p), { 'encoding': 'utf-8' }, (err, data) => {
|
|
11
|
+
if (err) {
|
|
12
|
+
on_error({
|
|
13
|
+
'path': $p,
|
|
14
|
+
'type': p_change_context(null, () => {
|
|
15
|
+
if (err.code === 'ENOENT') {
|
|
16
|
+
return ['file does not exist', null];
|
|
17
|
+
}
|
|
18
|
+
if (err.code === 'EACCES' || err.code === 'EPERM') {
|
|
19
|
+
return ['permission denied', null];
|
|
20
|
+
}
|
|
21
|
+
if (err.code === 'EISDIR' || err.code === 'ENOTDIR') {
|
|
22
|
+
return ['node is not a file', null];
|
|
23
|
+
}
|
|
24
|
+
if (err.code === 'EFBIG') {
|
|
25
|
+
return ['file too large', null];
|
|
26
|
+
}
|
|
27
|
+
if (err.code === 'EIO' || err.code === 'ENXIO') {
|
|
28
|
+
return ['device not ready', null];
|
|
29
|
+
}
|
|
30
|
+
throw new Error(`unhandled fs.readFile error code: ${err.code}`);
|
|
31
|
+
})
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
on_value(p_list_from_text(data, ($) => $));
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhZF9maWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3F1ZXJpZXMvcmVhZF9maWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sS0FBSyxFQUFFLE1BQU0scUNBQXFDLENBQUE7QUFDekQsT0FBTyxnQkFBZ0IsTUFBTSw0REFBNEQsQ0FBQTtBQUN6RixPQUFPLGdCQUFnQixNQUFNLDREQUE0RCxDQUFBO0FBR3pGLFdBQVc7QUFDWCxPQUFPLEtBQUssU0FBUyxNQUFNLHNDQUFzQyxDQUFBO0FBRWpFLGNBQWM7QUFDZCxPQUFPLEtBQUssY0FBYyxNQUFNLDRFQUE0RSxDQUFBO0FBQzVHLE9BQU8sRUFBRSxRQUFRLElBQUksV0FBVyxFQUFFLE1BQU0sSUFBSSxDQUFBO0FBRTVDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsR0FBd0QsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLEVBQUU7SUFDdkcsV0FBVyxDQUNQLGNBQWMsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQzVCLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxFQUN2QixDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsRUFBRTtRQUNWLElBQUksR0FBRyxFQUFFLENBQUM7WUFDTixRQUFRLENBQUM7Z0JBQ0wsTUFBTSxFQUFFLEVBQUU7Z0JBQ1YsTUFBTSxFQUFFLGdCQUFnQixDQUFDLElBQUksRUFBRSxHQUFHLEVBQUU7b0JBQ2hDLElBQUksR0FBRyxDQUFDLElBQUksS0FBSyxRQUFRLEVBQUUsQ0FBQzt3QkFDeEIsT0FBTyxDQUFDLHFCQUFxQixFQUFFLElBQUksQ0FBQyxDQUFBO29CQUN4QyxDQUFDO29CQUNELElBQUksR0FBRyxDQUFDLElBQUksS0FBSyxRQUFRLElBQUksR0FBRyxDQUFDLElBQUksS0FBSyxPQUFPLEVBQUUsQ0FBQzt3QkFDaEQsT0FBTyxDQUFDLG1CQUFtQixFQUFFLElBQUksQ0FBQyxDQUFBO29CQUN0QyxDQUFDO29CQUNELElBQUksR0FBRyxDQUFDLElBQUksS0FBSyxRQUFRLElBQUksR0FBRyxDQUFDLElBQUksS0FBSyxTQUFTLEVBQUUsQ0FBQzt3QkFDbEQsT0FBTyxDQUFDLG9CQUFvQixFQUFFLElBQUksQ0FBQyxDQUFBO29CQUN2QyxDQUFDO29CQUNELElBQUksR0FBRyxDQUFDLElBQUksS0FBSyxPQUFPLEVBQUUsQ0FBQzt3QkFDdkIsT0FBTyxDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxDQUFBO29CQUNuQyxDQUFDO29CQUNELElBQUksR0FBRyxDQUFDLElBQUksS0FBSyxLQUFLLElBQUksR0FBRyxDQUFDLElBQUksS0FBSyxPQUFPLEVBQUUsQ0FBQzt3QkFDN0MsT0FBTyxDQUFDLGtCQUFrQixFQUFFLElBQUksQ0FBQyxDQUFBO29CQUNyQyxDQUFDO29CQUNELE1BQU0sSUFBSSxLQUFLLENBQUMscUNBQXFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFBO2dCQUNwRSxDQUFDLENBQUM7YUFDTCxDQUFDLENBQUE7UUFDTixDQUFDO2FBQU0sQ0FBQztZQUNKLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FDckIsSUFBSSxFQUNKLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQ1gsQ0FBQyxDQUFBO1FBQ04sQ0FBQztJQUNMLENBQUMsQ0FDSixDQUFBO0FBQ0wsQ0FBQyxDQUFDLENBQUEifQ==
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import * as p_ from 'pareto-core/implementation/resource';
|
|
2
|
+
import p_change_context from 'pareto-core/implementation/refiner/specials/change_context';
|
|
3
|
+
//interface
|
|
4
|
+
import * as resources from "pareto-resources/interface/resources";
|
|
5
|
+
//dependencies
|
|
6
|
+
import { stat as fs_stat } from "fs";
|
|
7
|
+
import * as t_path_to_text from "pareto-resources/implementation/manual/transformers/unrestricted_path/text";
|
|
8
|
+
export const $$ = p_.query(($p, on_value, on_error) => {
|
|
9
|
+
fs_stat(t_path_to_text.Node_Path($p), (err, stats) => {
|
|
10
|
+
if (err) {
|
|
11
|
+
on_error({
|
|
12
|
+
'path': $p,
|
|
13
|
+
'type': p_change_context(null, () => {
|
|
14
|
+
if (err.code === 'ENOENT') {
|
|
15
|
+
return ['node does not exist', null];
|
|
16
|
+
}
|
|
17
|
+
throw new Error(`unhandled fs.stat error code: ${err.code}`);
|
|
18
|
+
})
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
on_value(stats.isFile()
|
|
22
|
+
? ['file', null]
|
|
23
|
+
: ['directory', null]);
|
|
24
|
+
});
|
|
25
|
+
});
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9xdWVyaWVzL3N0YXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQTtBQUN6RCxPQUFPLGdCQUFnQixNQUFNLDREQUE0RCxDQUFBO0FBR3pGLFdBQVc7QUFDWCxPQUFPLEtBQUssU0FBUyxNQUFNLHNDQUFzQyxDQUFBO0FBRWpFLGNBQWM7QUFDZCxPQUFPLEVBQUUsSUFBSSxJQUFJLE9BQU8sRUFBRSxNQUFNLElBQUksQ0FBQTtBQUNwQyxPQUFPLEtBQUssY0FBYyxNQUFNLDRFQUE0RSxDQUFBO0FBRTVHLE1BQU0sQ0FBQyxNQUFNLEVBQUUsR0FBbUQsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLEVBQUU7SUFDbEcsT0FBTyxDQUNILGNBQWMsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQzVCLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxFQUFFO1FBQ1gsSUFBSSxHQUFHLEVBQUUsQ0FBQztZQUNOLFFBQVEsQ0FBQztnQkFDTCxNQUFNLEVBQUUsRUFBRTtnQkFDVixNQUFNLEVBQUUsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRTtvQkFDaEMsSUFBSSxHQUFHLENBQUMsSUFBSSxLQUFLLFFBQVEsRUFBRSxDQUFDO3dCQUN4QixPQUFPLENBQUMscUJBQXFCLEVBQUUsSUFBSSxDQUFDLENBQUE7b0JBQ3hDLENBQUM7b0JBQ0QsTUFBTSxJQUFJLEtBQUssQ0FBQyxpQ0FBaUMsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUE7Z0JBQ2hFLENBQUMsQ0FBQzthQUNMLENBQUMsQ0FBQTtRQUNOLENBQUM7UUFDRCxRQUFRLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRTtZQUNuQixDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDO1lBQ2hCLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsQ0FDeEIsQ0FBQTtJQUNMLENBQUMsQ0FDSixDQUFBO0FBQ0wsQ0FBQyxDQUFDLENBQUEifQ==
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import * as p_ from 'pareto-core/implementation/resource';
|
|
2
|
+
import p_change_context from 'pareto-core/implementation/refiner/specials/change_context';
|
|
3
|
+
//interface
|
|
4
|
+
import * as resources from "pareto-resources/interface/resources";
|
|
5
|
+
//dependencies
|
|
6
|
+
import { stat as fs_stat } from "fs";
|
|
7
|
+
import * as t_path_to_text from "pareto-resources/implementation/manual/transformers/unrestricted_path/text";
|
|
8
|
+
export const $$ = p_.query(($p, on_value, on_error) => {
|
|
9
|
+
fs_stat(t_path_to_text.Node_Path($p), (err, stats) => {
|
|
10
|
+
if (err) {
|
|
11
|
+
if (err.code === 'ENOENT') {
|
|
12
|
+
on_value(['does not exist', null]);
|
|
13
|
+
}
|
|
14
|
+
else {
|
|
15
|
+
on_error({
|
|
16
|
+
'path': $p,
|
|
17
|
+
'type': p_change_context(null, () => {
|
|
18
|
+
throw new Error(`unhandled fs.stat error code: ${err.code}`);
|
|
19
|
+
})
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
on_value(stats.isFile()
|
|
25
|
+
? ['file', null]
|
|
26
|
+
: ['directory', null]);
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
});
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdF9wb3NzaWJsZV9ub2RlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3F1ZXJpZXMvc3RhdF9wb3NzaWJsZV9ub2RlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLE1BQU0scUNBQXFDLENBQUE7QUFDekQsT0FBTyxnQkFBZ0IsTUFBTSw0REFBNEQsQ0FBQTtBQUV6RixXQUFXO0FBQ1gsT0FBTyxLQUFLLFNBQVMsTUFBTSxzQ0FBc0MsQ0FBQTtBQUVqRSxjQUFjO0FBQ2QsT0FBTyxFQUFFLElBQUksSUFBSSxPQUFPLEVBQUUsTUFBTSxJQUFJLENBQUE7QUFDcEMsT0FBTyxLQUFLLGNBQWMsTUFBTSw0RUFBNEUsQ0FBQTtBQUU1RyxNQUFNLENBQUMsTUFBTSxFQUFFLEdBQWlFLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxFQUFFO0lBQ2hILE9BQU8sQ0FDSCxjQUFjLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUM1QixDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsRUFBRTtRQUNYLElBQUksR0FBRyxFQUFFLENBQUM7WUFDTixJQUFJLEdBQUcsQ0FBQyxJQUFJLEtBQUssUUFBUSxFQUFFLENBQUM7Z0JBQ3hCLFFBQVEsQ0FBQyxDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxDQUFDLENBQUE7WUFDdEMsQ0FBQztpQkFBTSxDQUFDO2dCQUNKLFFBQVEsQ0FBQztvQkFDTCxNQUFNLEVBQUUsRUFBRTtvQkFDVixNQUFNLEVBQUUsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRTt3QkFDaEMsTUFBTSxJQUFJLEtBQUssQ0FBQyxpQ0FBaUMsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUE7b0JBQ2hFLENBQUMsQ0FBQztpQkFDTCxDQUFDLENBQUE7WUFDTixDQUFDO1FBQ0wsQ0FBQzthQUFNLENBQUM7WUFDSixRQUFRLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRTtnQkFDbkIsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQztnQkFDaEIsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxDQUN4QixDQUFBO1FBQ0wsQ0FBQztJQUNMLENBQUMsQ0FDSixDQUFBO0FBQ0wsQ0FBQyxDQUFDLENBQUEifQ==
|
package/package.json
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "pareto-resource-filesystem-unrestricted",
|
|
3
|
+
"version": "0.1.2",
|
|
4
|
+
"author": "Corno",
|
|
5
|
+
"license": "Apache-2.0",
|
|
6
|
+
"description": "a library that implements the filesystem-unrestricted-api and thus provides filesystem functionality for pareto packages. use this resource if the sandboxed version is not sufficient for your needs. this resource is not sandboxed and thus has access to the entire filesystem.",
|
|
7
|
+
"keywords": [],
|
|
8
|
+
"homepage": "https://github.com/corno/pareto-resource-filesystem-unrestricted#readme",
|
|
9
|
+
"bugs": {
|
|
10
|
+
"url": "https://github.com/corno/pareto-resource-filesystem-unrestricted/issues"
|
|
11
|
+
},
|
|
12
|
+
"repository": {
|
|
13
|
+
"type": "git",
|
|
14
|
+
"url": "https://github.com/corno/pareto-resource-filesystem-unrestricted.git"
|
|
15
|
+
},
|
|
16
|
+
"type": "module",
|
|
17
|
+
"exports": {
|
|
18
|
+
"./*": {
|
|
19
|
+
"types": "./dist/*.d.ts",
|
|
20
|
+
"default": "./dist/*.js"
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
"files": [
|
|
24
|
+
"dist",
|
|
25
|
+
"README.md",
|
|
26
|
+
"LICENSE",
|
|
27
|
+
"documentation"
|
|
28
|
+
],
|
|
29
|
+
"engines": {
|
|
30
|
+
"node": ">=14.0.0"
|
|
31
|
+
},
|
|
32
|
+
"dependencies": {
|
|
33
|
+
"pareto-core": "^0.1.0",
|
|
34
|
+
"pareto-resources": "^0.2.0"
|
|
35
|
+
},
|
|
36
|
+
"devDependencies": {
|
|
37
|
+
"@types/node": "^26.1.0"
|
|
38
|
+
}
|
|
39
|
+
}
|