@ibgib/core-gib 0.0.21 → 0.0.23
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/witness/space/filesystem-space/filesystem-constants.d.mts +14 -0
- package/dist/witness/space/filesystem-space/filesystem-constants.d.mts.map +1 -1
- package/dist/witness/space/filesystem-space/filesystem-constants.mjs +14 -0
- package/dist/witness/space/filesystem-space/filesystem-constants.mjs.map +1 -1
- package/dist/witness/space/filesystem-space/filesystem-space-v1.d.mts +7 -1
- package/dist/witness/space/filesystem-space/filesystem-space-v1.d.mts.map +1 -1
- package/dist/witness/space/filesystem-space/filesystem-space-v1.mjs +47 -11
- package/dist/witness/space/filesystem-space/filesystem-space-v1.mjs.map +1 -1
- package/dist/witness/space/filesystem-space/filesystem-types.d.mts +7 -0
- package/dist/witness/space/filesystem-space/filesystem-types.d.mts.map +1 -1
- package/dist/witness/space/filesystem-space/node-filesystem-space-v1.d.mts +8 -3
- package/dist/witness/space/filesystem-space/node-filesystem-space-v1.d.mts.map +1 -1
- package/dist/witness/space/filesystem-space/node-filesystem-space-v1.mjs +39 -24
- package/dist/witness/space/filesystem-space/node-filesystem-space-v1.mjs.map +1 -1
- package/dist/witness/space/filesystem-space/node-filesystem-space-v1.node.respec.mjs +1 -1
- package/dist/witness/space/filesystem-space/node-filesystem-space-v1.node.respec.mjs.map +1 -1
- package/dist/witness/space/space-helper.d.mts.map +1 -1
- package/dist/witness/space/space-helper.mjs +0 -1
- package/dist/witness/space/space-helper.mjs.map +1 -1
- package/dist/witness/space/space-respec-helper.d.mts.map +1 -1
- package/dist/witness/space/space-respec-helper.mjs +33 -2
- package/dist/witness/space/space-respec-helper.mjs.map +1 -1
- package/dist/witness/space/space-types.d.mts +18 -0
- package/dist/witness/space/space-types.d.mts.map +1 -1
- package/dist/witness/space/space-types.mjs.map +1 -1
- package/package.json +1 -1
- package/src/witness/space/filesystem-space/filesystem-constants.mts +15 -0
- package/src/witness/space/filesystem-space/filesystem-space-v1.mts +66 -11
- package/src/witness/space/filesystem-space/filesystem-types.mts +8 -0
- package/src/witness/space/filesystem-space/node-filesystem-space-v1.mts +40 -24
- package/src/witness/space/filesystem-space/node-filesystem-space-v1.node.respec.mts +1 -1
- package/src/witness/space/space-helper.mts +0 -1
- package/src/witness/space/space-respec-helper.mts +38 -2
- package/src/witness/space/space-types.mts +18 -0
|
@@ -57,8 +57,22 @@ export declare const IBGIB_BIN_SUBPATH = "bin";
|
|
|
57
57
|
* storage, like compressed, low-priority.
|
|
58
58
|
*/
|
|
59
59
|
export declare const IBGIB_DNA_SUBPATH = "dna";
|
|
60
|
+
/**
|
|
61
|
+
* store long paths here
|
|
62
|
+
*/
|
|
63
|
+
export declare const IBGIB_LONG_SUBPATH = "long";
|
|
60
64
|
/**
|
|
61
65
|
* Yep, this one starts with default instead of ending with it.
|
|
62
66
|
*/
|
|
63
67
|
export declare const DEFAULT_FILESYSTEM_SPACE_DESCRIPTION = "This is a filesystem space. The ibgib data contains settings for the space itself, and the witness ibgib object interfaces with a back end that is hierarchical like a filesystem. Descend from this class if you're working with a similar space.";
|
|
68
|
+
/**
|
|
69
|
+
* when deciding what a long path length is, this is the constant used.
|
|
70
|
+
*
|
|
71
|
+
* this is used in help mitigating some OSs path limits of 255.
|
|
72
|
+
*
|
|
73
|
+
* ## notes
|
|
74
|
+
*
|
|
75
|
+
* i have this well below the 255 limit on some OSs. probably too defensive.
|
|
76
|
+
*/
|
|
77
|
+
export declare const DEFAULT_LONG_PATH_LENGTH = 240;
|
|
64
78
|
//# sourceMappingURL=filesystem-constants.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filesystem-constants.d.mts","sourceRoot":"","sources":["../../../../src/witness/space/filesystem-space/filesystem-constants.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAE7D;;;;GAIG;AACH,eAAO,MAAM,cAAc,EAAE,SAAe,CAAC;AAC7C;;;;GAIG;AACH,eAAO,MAAM,cAAc,EAAE,QAAiB,CAAC;AAC/C;;GAEG;AACH,eAAO,MAAM,kBAAkB,UAAU,CAAC;AAC1C;;;;;;;;;GASG;AACH,eAAO,MAAM,2BAA2B,QAAoC,CAAC;AAC7E;;GAEG;AACH,eAAO,MAAM,oBAAoB,WAAW,CAAC;AAC7C;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,SAAS,CAAC;AACzC;;;;;;;;GAQG;AACH,eAAO,MAAM,iBAAiB,QAAQ,CAAC;AACvC;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"filesystem-constants.d.mts","sourceRoot":"","sources":["../../../../src/witness/space/filesystem-space/filesystem-constants.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAE7D;;;;GAIG;AACH,eAAO,MAAM,cAAc,EAAE,SAAe,CAAC;AAC7C;;;;GAIG;AACH,eAAO,MAAM,cAAc,EAAE,QAAiB,CAAC;AAC/C;;GAEG;AACH,eAAO,MAAM,kBAAkB,UAAU,CAAC;AAC1C;;;;;;;;;GASG;AACH,eAAO,MAAM,2BAA2B,QAAoC,CAAC;AAC7E;;GAEG;AACH,eAAO,MAAM,oBAAoB,WAAW,CAAC;AAC7C;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,SAAS,CAAC;AACzC;;;;;;;;GAQG;AACH,eAAO,MAAM,iBAAiB,QAAQ,CAAC;AACvC;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,QAAQ,CAAC;AACvC;;GAEG;AACH,eAAO,MAAM,kBAAkB,SAAS,CAAC;AAEzC;;GAEG;AACH,eAAO,MAAM,oCAAoC,uPAAuP,CAAC;AAEzS;;;;;;;;GAQG;AACH,eAAO,MAAM,wBAAwB,MAAM,CAAC"}
|
|
@@ -57,8 +57,22 @@ export const IBGIB_BIN_SUBPATH = 'bin';
|
|
|
57
57
|
* storage, like compressed, low-priority.
|
|
58
58
|
*/
|
|
59
59
|
export const IBGIB_DNA_SUBPATH = 'dna';
|
|
60
|
+
/**
|
|
61
|
+
* store long paths here
|
|
62
|
+
*/
|
|
63
|
+
export const IBGIB_LONG_SUBPATH = 'long';
|
|
60
64
|
/**
|
|
61
65
|
* Yep, this one starts with default instead of ending with it.
|
|
62
66
|
*/
|
|
63
67
|
export const DEFAULT_FILESYSTEM_SPACE_DESCRIPTION = `This is a filesystem space. The ibgib data contains settings for the space itself, and the witness ibgib object interfaces with a back end that is hierarchical like a filesystem. Descend from this class if you're working with a similar space.`;
|
|
68
|
+
/**
|
|
69
|
+
* when deciding what a long path length is, this is the constant used.
|
|
70
|
+
*
|
|
71
|
+
* this is used in help mitigating some OSs path limits of 255.
|
|
72
|
+
*
|
|
73
|
+
* ## notes
|
|
74
|
+
*
|
|
75
|
+
* i have this well below the 255 limit on some OSs. probably too defensive.
|
|
76
|
+
*/
|
|
77
|
+
export const DEFAULT_LONG_PATH_LENGTH = 240;
|
|
64
78
|
//# sourceMappingURL=filesystem-constants.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filesystem-constants.mjs","sourceRoot":"","sources":["../../../../src/witness/space/filesystem-space/filesystem-constants.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAGlE;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAAc,GAAG,CAAC;AAC7C;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAAa,MAAM,CAAC;AAC/C;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,OAAO,CAAC;AAC1C;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,OAAO,wBAAwB,EAAE,CAAC;AAC7E;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,QAAQ,CAAC;AAC7C;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CAAC;AACzC;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,CAAC;AACvC;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"filesystem-constants.mjs","sourceRoot":"","sources":["../../../../src/witness/space/filesystem-space/filesystem-constants.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAGlE;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAAc,GAAG,CAAC;AAC7C;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAAa,MAAM,CAAC;AAC/C;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,OAAO,CAAC;AAC1C;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,OAAO,wBAAwB,EAAE,CAAC;AAC7E;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,QAAQ,CAAC;AAC7C;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CAAC;AACzC;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,CAAC;AACvC;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,CAAC;AACvC;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAEzC;;GAEG;AACH,MAAM,CAAC,MAAM,oCAAoC,GAAG,oPAAoP,CAAC;AAEzS;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAG,CAAC"}
|
|
@@ -157,11 +157,13 @@ export declare abstract class FilesystemSpace_V1<TOptionsData extends Filesystem
|
|
|
157
157
|
* builds the path of a given file, based on params
|
|
158
158
|
* @returns the path of a given file, based on params
|
|
159
159
|
*/
|
|
160
|
-
protected buildPath({ filename, isMeta, isDna, isBin }: {
|
|
160
|
+
protected buildPath({ addr, filename, isMeta, isDna, isBin, pathSeparator, }: {
|
|
161
|
+
addr?: IbGibAddr;
|
|
161
162
|
filename: string;
|
|
162
163
|
isMeta?: boolean;
|
|
163
164
|
isDna: boolean;
|
|
164
165
|
isBin?: boolean;
|
|
166
|
+
pathSeparator?: string;
|
|
165
167
|
}): string;
|
|
166
168
|
/**
|
|
167
169
|
* builds the filename based on the given params.
|
|
@@ -172,4 +174,8 @@ export declare abstract class FilesystemSpace_V1<TOptionsData extends Filesystem
|
|
|
172
174
|
addr: string;
|
|
173
175
|
}): string;
|
|
174
176
|
}
|
|
177
|
+
export interface BuildPathInfo {
|
|
178
|
+
path: string;
|
|
179
|
+
mitigatedLongPath: boolean;
|
|
180
|
+
}
|
|
175
181
|
//# sourceMappingURL=filesystem-space-v1.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filesystem-space-v1.d.mts","sourceRoot":"","sources":["../../../../src/witness/space/filesystem-space/filesystem-space-v1.mts"],"names":[],"mappings":"AAEA,OAAO,EAA6B,SAAS,EAAE,MAAM,eAAe,CAAC;AACrE,OAAO,EAAE,QAAQ,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"filesystem-space-v1.d.mts","sourceRoot":"","sources":["../../../../src/witness/space/filesystem-space/filesystem-space-v1.mts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// import { Filesystem, Directory, Encoding, } from '@capacitor/filesystem';
|
|
2
2
|
import { clone, pretty } from '@ibgib/helper-gib';
|
|
3
3
|
import { getIbAndGib, getIbGibAddr } from '@ibgib/ts-gib';
|
|
4
|
-
import { GIB, ROOT, isPrimitive, getGib, } from '@ibgib/ts-gib/dist/V1/index.mjs';
|
|
4
|
+
import { GIB, ROOT, isPrimitive, getGib, getGibInfo, } from '@ibgib/ts-gib/dist/V1/index.mjs';
|
|
5
5
|
import { validateIbGibIntrinsically } from '@ibgib/ts-gib/dist/V1/validate-helper.mjs';
|
|
6
6
|
import { SpaceBase_V1 } from '../space-base-v1.mjs';
|
|
7
7
|
import { argy_ } from '../../witness-helper.mjs';
|
|
@@ -9,7 +9,7 @@ import { isBinary, getBinHashAndExt } from '../../../common/other/ibgib-helper.m
|
|
|
9
9
|
import { parseSpaceIb, getSpaceIb, getSpecialIbGib, getTjpIbGib, } from '../space-helper.mjs';
|
|
10
10
|
import { DEFAULT_LOCAL_SPACE_POLLING_INTERVAL_MS, IBGIB_SPACE_NAME_DEFAULT, ZERO_SPACE_ID } from '../space-constants.mjs';
|
|
11
11
|
import { GLOBAL_LOG_A_LOT } from '../../../core-constants.mjs';
|
|
12
|
-
import { IBGIB_BASE_SUBPATH, IBGIB_SPACE_SUBPATH_DEFAULT, IBGIB_BASE_DIR, IBGIB_ENCODING, IBGIB_IBGIBS_SUBPATH, IBGIB_META_SUBPATH, DEFAULT_FILESYSTEM_SPACE_DESCRIPTION, IBGIB_BIN_SUBPATH, IBGIB_DNA_SUBPATH } from './filesystem-constants.mjs';
|
|
12
|
+
import { IBGIB_BASE_SUBPATH, IBGIB_SPACE_SUBPATH_DEFAULT, IBGIB_BASE_DIR, IBGIB_ENCODING, IBGIB_IBGIBS_SUBPATH, IBGIB_META_SUBPATH, DEFAULT_FILESYSTEM_SPACE_DESCRIPTION, IBGIB_BIN_SUBPATH, IBGIB_DNA_SUBPATH, DEFAULT_LONG_PATH_LENGTH, IBGIB_LONG_SUBPATH, } from './filesystem-constants.mjs';
|
|
13
13
|
const logalot = GLOBAL_LOG_A_LOT;
|
|
14
14
|
/**
|
|
15
15
|
* Used in bootstrapping.
|
|
@@ -19,7 +19,7 @@ const logalot = GLOBAL_LOG_A_LOT;
|
|
|
19
19
|
* (but of course won't be the end of the world when this doesn't happen).
|
|
20
20
|
*/
|
|
21
21
|
const DEFAULT_FILESYSTEM_SPACE_DATA_V1 = {
|
|
22
|
-
version: '
|
|
22
|
+
version: '2',
|
|
23
23
|
uuid: ZERO_SPACE_ID,
|
|
24
24
|
name: IBGIB_SPACE_NAME_DEFAULT,
|
|
25
25
|
classname: 'FilesystemSpace_V1',
|
|
@@ -29,8 +29,11 @@ const DEFAULT_FILESYSTEM_SPACE_DATA_V1 = {
|
|
|
29
29
|
spaceSubPath: IBGIB_SPACE_SUBPATH_DEFAULT,
|
|
30
30
|
ibgibsSubPath: IBGIB_IBGIBS_SUBPATH,
|
|
31
31
|
metaSubPath: IBGIB_META_SUBPATH,
|
|
32
|
-
binSubPath:
|
|
33
|
-
dnaSubPath:
|
|
32
|
+
binSubPath: IBGIB_BIN_SUBPATH,
|
|
33
|
+
dnaSubPath: IBGIB_DNA_SUBPATH,
|
|
34
|
+
longSubPath: IBGIB_LONG_SUBPATH,
|
|
35
|
+
longPathLength: DEFAULT_LONG_PATH_LENGTH,
|
|
36
|
+
mitigateLongPaths: true,
|
|
34
37
|
persistOptsAndResultIbGibs: false,
|
|
35
38
|
validateIbGibAddrsMatchIbGibs: false,
|
|
36
39
|
longPollingIntervalMs: DEFAULT_LOCAL_SPACE_POLLING_INTERVAL_MS,
|
|
@@ -300,6 +303,8 @@ export class FilesystemSpace_V1 extends SpaceBase_V1 {
|
|
|
300
303
|
if (!this.data.dnaSubPath) {
|
|
301
304
|
this.data.dnaSubPath = IBGIB_DNA_SUBPATH;
|
|
302
305
|
}
|
|
306
|
+
// do nothing, allow falsy
|
|
307
|
+
// if (!this.data.longSubPath) { this.data.longSubPath = IBGIB_LONG_SUBPATH; }
|
|
303
308
|
this.ib = getSpaceIb({ space: this, classname: FilesystemSpace_V1.name });
|
|
304
309
|
this.gib = await getGib({ ibGib: this });
|
|
305
310
|
}
|
|
@@ -1080,23 +1085,54 @@ export class FilesystemSpace_V1 extends SpaceBase_V1 {
|
|
|
1080
1085
|
* builds the path of a given file, based on params
|
|
1081
1086
|
* @returns the path of a given file, based on params
|
|
1082
1087
|
*/
|
|
1083
|
-
buildPath({ filename, isMeta, isDna, isBin }) {
|
|
1084
|
-
const
|
|
1088
|
+
buildPath({ addr, filename, isMeta, isDna, isBin, pathSeparator = '/', }) {
|
|
1089
|
+
const lc = `${this.lc}[${this.buildPath.name}]`;
|
|
1090
|
+
const data = this.data;
|
|
1085
1091
|
if (!data) {
|
|
1086
1092
|
throw new Error(`this.data required (E: d2553d11b637577aa7b074387b613f23)`);
|
|
1087
1093
|
}
|
|
1094
|
+
let resPath;
|
|
1095
|
+
pathSeparator || (pathSeparator = '/');
|
|
1096
|
+
const mitigateLongPaths = !!data.mitigateLongPaths;
|
|
1097
|
+
const longPathLength = data.longPathLength;
|
|
1098
|
+
/**
|
|
1099
|
+
* Filesystems apparently have technical debt of short file limit
|
|
1100
|
+
* length, but paths can be pretty long.
|
|
1101
|
+
*
|
|
1102
|
+
* So instead of filename, we have filenameOrPathPlusFilename.
|
|
1103
|
+
*/
|
|
1104
|
+
let filenameOrPathPlusFilename = filename.concat();
|
|
1088
1105
|
if (isMeta) {
|
|
1089
|
-
|
|
1106
|
+
resPath = `${data.baseSubPath}${pathSeparator}${data.spaceSubPath}${pathSeparator}${data.metaSubPath}${pathSeparator}${filenameOrPathPlusFilename}`;
|
|
1090
1107
|
}
|
|
1091
1108
|
else if (isBin) {
|
|
1092
|
-
|
|
1109
|
+
resPath = `${data.baseSubPath}${pathSeparator}${data.spaceSubPath}${pathSeparator}${data.binSubPath}${pathSeparator}${filenameOrPathPlusFilename}`;
|
|
1093
1110
|
}
|
|
1094
1111
|
else if (isDna) {
|
|
1095
|
-
|
|
1112
|
+
resPath = `${data.baseSubPath}${pathSeparator}${data.spaceSubPath}${pathSeparator}${data.dnaSubPath}${pathSeparator}${filenameOrPathPlusFilename}`;
|
|
1096
1113
|
}
|
|
1097
1114
|
else { // regular ibGib
|
|
1098
|
-
|
|
1115
|
+
resPath = `${data.baseSubPath}${pathSeparator}${data.spaceSubPath}${pathSeparator}${data.ibgibsSubPath}${pathSeparator}${filenameOrPathPlusFilename}`;
|
|
1116
|
+
}
|
|
1117
|
+
if (mitigateLongPaths && longPathLength && resPath.length >= longPathLength) {
|
|
1118
|
+
let longSubpath = this.data?.longSubPath;
|
|
1119
|
+
if (!longSubpath) {
|
|
1120
|
+
console.warn(`${lc} mitigateLongPaths is true but longSubPath is falsy. using default ${IBGIB_LONG_SUBPATH} (W: 7eb401370d29484eb71a63025ddb2ee2)`);
|
|
1121
|
+
longSubpath = IBGIB_LONG_SUBPATH;
|
|
1122
|
+
}
|
|
1123
|
+
const { gib } = getIbAndGib({ ibGibAddr: addr });
|
|
1124
|
+
resPath = `${data.baseSubPath}${pathSeparator}${data.spaceSubPath}${pathSeparator}${data.longSubPath}${pathSeparator}${gib}.json`;
|
|
1125
|
+
if (mitigateLongPaths && longPathLength && resPath.length >= longPathLength) {
|
|
1126
|
+
debugger;
|
|
1127
|
+
console.warn(`${lc} mitigateLongPaths attempted but just [gib].json is too long of a path. trying only punctiliar gib.json (W: 583ec3cac8924c999a40357ec40f8205)`);
|
|
1128
|
+
const { punctiliarHash } = getGibInfo({ gib });
|
|
1129
|
+
if (!punctiliarHash) {
|
|
1130
|
+
throw new Error(`no punctiliar hash found in gib, so cannot build the mitigated path. (E: feb51a5828125af175a03b95861efb23)`);
|
|
1131
|
+
}
|
|
1132
|
+
resPath = `${data.baseSubPath}${pathSeparator}${data.spaceSubPath}${pathSeparator}${data.longSubPath}${pathSeparator}${punctiliarHash}.json`;
|
|
1133
|
+
}
|
|
1099
1134
|
}
|
|
1135
|
+
return resPath;
|
|
1100
1136
|
}
|
|
1101
1137
|
/**
|
|
1102
1138
|
* builds the filename based on the given params.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filesystem-space-v1.mjs","sourceRoot":"","sources":["../../../../src/witness/space/filesystem-space/filesystem-space-v1.mts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"filesystem-space-v1.mjs","sourceRoot":"","sources":["../../../../src/witness/space/filesystem-space/filesystem-space-v1.mts"],"names":[],"mappings":"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"}
|
|
@@ -70,4 +70,11 @@ export interface DeleteIbGibFileOpts extends GetIbGibFileOpts {
|
|
|
70
70
|
}
|
|
71
71
|
export interface DeleteIbGibFilesResult extends FileResult {
|
|
72
72
|
}
|
|
73
|
+
/**
|
|
74
|
+
* I need to know when building a path if i had to mitigate it...or...
|
|
75
|
+
*/
|
|
76
|
+
export interface BuildPathInfo {
|
|
77
|
+
path: string;
|
|
78
|
+
mitigatedLongPath: boolean;
|
|
79
|
+
}
|
|
73
80
|
//# sourceMappingURL=filesystem-types.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filesystem-types.d.mts","sourceRoot":"","sources":["../../../../src/witness/space/filesystem-space/filesystem-types.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAE3D;;;;;GAKG;AACH,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;AAEjD;;;;;;GAMG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC;AAE/B;;GAEG;AACH,MAAM,WAAW,UAAU;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC7B;;OAEG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CACnB;AACD;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,UAAU;IAClD;;;;OAIG;IACH,KAAK,CAAC,EAAE,QAAQ,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC7B,KAAK,CAAC,EAAE,QAAQ,CAAC;IACjB;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CACnB;AACD,MAAM,WAAW,kBAAmB,SAAQ,UAAU;CAAI;AAE1D,MAAM,WAAW,mBAAoB,SAAQ,gBAAgB;CAAI;AACjE,MAAM,WAAW,sBAAuB,SAAQ,UAAU;CAAI"}
|
|
1
|
+
{"version":3,"file":"filesystem-types.d.mts","sourceRoot":"","sources":["../../../../src/witness/space/filesystem-space/filesystem-types.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAE3D;;;;;GAKG;AACH,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;AAEjD;;;;;;GAMG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC;AAE/B;;GAEG;AACH,MAAM,WAAW,UAAU;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC7B;;OAEG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CACnB;AACD;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,UAAU;IAClD;;;;OAIG;IACH,KAAK,CAAC,EAAE,QAAQ,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC7B,KAAK,CAAC,EAAE,QAAQ,CAAC;IACjB;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CACnB;AACD,MAAM,WAAW,kBAAmB,SAAQ,UAAU;CAAI;AAE1D,MAAM,WAAW,mBAAoB,SAAQ,gBAAgB;CAAI;AACjE,MAAM,WAAW,sBAAuB,SAAQ,UAAU;CAAI;AAE9D;;GAEG;AACH,MAAM,WAAW,aAAa;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,iBAAiB,EAAE,OAAO,CAAC;CAC9B"}
|
|
@@ -45,10 +45,15 @@ export declare function validateNodeFilesystemSpace_V1Intrinsically({ space }: {
|
|
|
45
45
|
space: NodeFilesystemSpace_V1<any, any>;
|
|
46
46
|
}): Promise<string[] | null>;
|
|
47
47
|
/**
|
|
48
|
-
* Base class convenience for a local space with V1 ibgibs
|
|
48
|
+
* Base class convenience for a local space with V1 ibgibs working with the node
|
|
49
|
+
* filesystem.
|
|
49
50
|
*
|
|
50
|
-
*
|
|
51
|
-
*
|
|
51
|
+
* Unfortunately, file systems have short file name requirements, where 255 is
|
|
52
|
+
* often the max length of a filename. So this cannot store ibgibs directly by
|
|
53
|
+
* their address.
|
|
54
|
+
*
|
|
55
|
+
* This naively caches ibGibs in memory. When not found there, will looks in
|
|
56
|
+
* files using Ionic `FileSystem`.
|
|
52
57
|
*/
|
|
53
58
|
export declare class NodeFilesystemSpace_V1<TData extends NodeFilesystemSpaceData_V1 = NodeFilesystemSpaceData_V1, TRel8ns extends IbGibRel8ns_V1 = IbGibRel8ns_V1> extends FilesystemSpace_V1<NodeFilesystemSpaceOptionsData, NodeFilesystemSpaceOptionsRel8ns, NodeFilesystemSpaceResultData, NodeFilesystemSpaceResultRel8ns, TData, TRel8ns> {
|
|
54
59
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node-filesystem-space-v1.d.mts","sourceRoot":"","sources":["../../../../src/witness/space/filesystem-space/node-filesystem-space-v1.mts"],"names":[],"mappings":"AAOA,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAmC,MAAM,iCAAiC,CAAC;AAO5G,OAAO,EACH,mBAAmB,EAAE,sBAAsB,EAC3C,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EACrB,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"node-filesystem-space-v1.d.mts","sourceRoot":"","sources":["../../../../src/witness/space/filesystem-space/node-filesystem-space-v1.mts"],"names":[],"mappings":"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"}
|
|
@@ -10,7 +10,7 @@ import { isBinary, } from '../../../common/other/ibgib-helper.mjs';
|
|
|
10
10
|
import { parseSpaceIb, getSpaceIb, } from '../space-helper.mjs';
|
|
11
11
|
import { DEFAULT_LOCAL_SPACE_POLLING_INTERVAL_MS, IBGIB_SPACE_NAME_DEFAULT, ZERO_SPACE_ID } from '../space-constants.mjs';
|
|
12
12
|
import { GLOBAL_LOG_A_LOT } from '../../../core-constants.mjs';
|
|
13
|
-
import { IBGIB_BASE_SUBPATH, IBGIB_SPACE_SUBPATH_DEFAULT, IBGIB_BASE_DIR, IBGIB_ENCODING, IBGIB_IBGIBS_SUBPATH, IBGIB_META_SUBPATH, DEFAULT_FILESYSTEM_SPACE_DESCRIPTION, IBGIB_BIN_SUBPATH, IBGIB_DNA_SUBPATH } from './filesystem-constants.mjs';
|
|
13
|
+
import { IBGIB_BASE_SUBPATH, IBGIB_SPACE_SUBPATH_DEFAULT, IBGIB_BASE_DIR, IBGIB_ENCODING, IBGIB_IBGIBS_SUBPATH, IBGIB_META_SUBPATH, DEFAULT_FILESYSTEM_SPACE_DESCRIPTION, IBGIB_BIN_SUBPATH, IBGIB_DNA_SUBPATH, DEFAULT_LONG_PATH_LENGTH, IBGIB_LONG_SUBPATH, } from './filesystem-constants.mjs';
|
|
14
14
|
import { FilesystemSpace_V1 } from './filesystem-space-v1.mjs';
|
|
15
15
|
const logalot = GLOBAL_LOG_A_LOT;
|
|
16
16
|
export async function tryRead({ path, directory, encoding, }) {
|
|
@@ -60,7 +60,7 @@ export async function tryRead({ path, directory, encoding, }) {
|
|
|
60
60
|
* (but of course won't be the end of the world when this doesn't happen).
|
|
61
61
|
*/
|
|
62
62
|
const DEFAULT_NODE_FILESYSTEM_SPACE_DATA_V1 = {
|
|
63
|
-
version: '
|
|
63
|
+
version: '2',
|
|
64
64
|
uuid: ZERO_SPACE_ID,
|
|
65
65
|
name: IBGIB_SPACE_NAME_DEFAULT,
|
|
66
66
|
classname: 'NodeFilesystemSpace_V1',
|
|
@@ -70,8 +70,11 @@ const DEFAULT_NODE_FILESYSTEM_SPACE_DATA_V1 = {
|
|
|
70
70
|
spaceSubPath: IBGIB_SPACE_SUBPATH_DEFAULT,
|
|
71
71
|
ibgibsSubPath: IBGIB_IBGIBS_SUBPATH,
|
|
72
72
|
metaSubPath: IBGIB_META_SUBPATH,
|
|
73
|
-
binSubPath:
|
|
74
|
-
dnaSubPath:
|
|
73
|
+
binSubPath: IBGIB_BIN_SUBPATH,
|
|
74
|
+
dnaSubPath: IBGIB_DNA_SUBPATH,
|
|
75
|
+
longSubPath: IBGIB_LONG_SUBPATH,
|
|
76
|
+
mitigateLongPaths: true,
|
|
77
|
+
longPathLength: DEFAULT_LONG_PATH_LENGTH,
|
|
75
78
|
persistOptsAndResultIbGibs: false,
|
|
76
79
|
validateIbGibAddrsMatchIbGibs: false,
|
|
77
80
|
longPollingIntervalMs: DEFAULT_LOCAL_SPACE_POLLING_INTERVAL_MS,
|
|
@@ -204,10 +207,15 @@ export async function validateNodeFilesystemSpace_V1Intrinsically({ space }) {
|
|
|
204
207
|
}
|
|
205
208
|
}
|
|
206
209
|
/**
|
|
207
|
-
* Base class convenience for a local space with V1 ibgibs
|
|
210
|
+
* Base class convenience for a local space with V1 ibgibs working with the node
|
|
211
|
+
* filesystem.
|
|
208
212
|
*
|
|
209
|
-
*
|
|
210
|
-
*
|
|
213
|
+
* Unfortunately, file systems have short file name requirements, where 255 is
|
|
214
|
+
* often the max length of a filename. So this cannot store ibgibs directly by
|
|
215
|
+
* their address.
|
|
216
|
+
*
|
|
217
|
+
* This naively caches ibGibs in memory. When not found there, will looks in
|
|
218
|
+
* files using Ionic `FileSystem`.
|
|
211
219
|
*/
|
|
212
220
|
export class NodeFilesystemSpace_V1 extends FilesystemSpace_V1 {
|
|
213
221
|
constructor(
|
|
@@ -332,6 +340,16 @@ export class NodeFilesystemSpace_V1 extends FilesystemSpace_V1 {
|
|
|
332
340
|
if (!this.data.dnaSubPath) {
|
|
333
341
|
this.data.dnaSubPath = IBGIB_DNA_SUBPATH;
|
|
334
342
|
}
|
|
343
|
+
// do nothing, allow falsy
|
|
344
|
+
if (this.data.longSubPath === undefined) {
|
|
345
|
+
this.data.longSubPath = IBGIB_LONG_SUBPATH;
|
|
346
|
+
}
|
|
347
|
+
if (this.data.longPathLength === undefined) {
|
|
348
|
+
this.data.longPathLength = DEFAULT_LONG_PATH_LENGTH;
|
|
349
|
+
}
|
|
350
|
+
if (this.data.mitigateLongPaths === undefined) {
|
|
351
|
+
this.data.mitigateLongPaths = true;
|
|
352
|
+
}
|
|
335
353
|
this.ib = getSpaceIb({ space: this, classname: this.data.classname });
|
|
336
354
|
this.gib = await getGib({ ibGib: this });
|
|
337
355
|
}
|
|
@@ -361,7 +379,9 @@ export class NodeFilesystemSpace_V1 extends FilesystemSpace_V1 {
|
|
|
361
379
|
const addr = getIbGibAddr({ ibGib });
|
|
362
380
|
filename = this.getFilename({ addr });
|
|
363
381
|
const isBin = isBinary({ addr });
|
|
364
|
-
path = this.buildPath({
|
|
382
|
+
path = this.buildPath({
|
|
383
|
+
addr, filename, isMeta, isDna: isDna ?? false, isBin,
|
|
384
|
+
});
|
|
365
385
|
if (!isBin) {
|
|
366
386
|
// we only want to persist the ibGib protocol
|
|
367
387
|
const bareIbGib = { ib: ibGib.ib, gib: ibGib.gib };
|
|
@@ -380,19 +400,11 @@ export class NodeFilesystemSpace_V1 extends FilesystemSpace_V1 {
|
|
|
380
400
|
if (logalot) {
|
|
381
401
|
console.log(`${lc} path: ${path}, directory: ${thisData.baseDir}, encoding: ${thisData.encoding} (I: d4440ececbe6c859f8fcf6d7ece12522)`);
|
|
382
402
|
}
|
|
383
|
-
// throw new Error(`writeFile not implemented yet from capacitor version (E: e096812ae5ec084afd3f3afe874f8423)`);
|
|
384
403
|
let fullPath = pathUtils.join(thisData.baseDir, path);
|
|
385
404
|
if (logalot) {
|
|
386
405
|
console.log(`${lc} fullPath: ${fullPath}`);
|
|
387
406
|
}
|
|
388
407
|
await writeFile(fullPath, data, 'utf8');
|
|
389
|
-
// const resWrite = await Filesystem.writeFile({
|
|
390
|
-
// path,
|
|
391
|
-
// data,
|
|
392
|
-
// directory: thisData.baseDir,
|
|
393
|
-
// encoding: thisData.encoding,
|
|
394
|
-
// });
|
|
395
|
-
// if (logalot) { console.log(`${lc} resWrite.uri: ${resWrite.uri}`); }
|
|
396
408
|
result.success = true;
|
|
397
409
|
}
|
|
398
410
|
catch (error) {
|
|
@@ -418,11 +430,11 @@ export class NodeFilesystemSpace_V1 extends FilesystemSpace_V1 {
|
|
|
418
430
|
let filename = "";
|
|
419
431
|
if (!isBinary({ addr })) {
|
|
420
432
|
filename = this.getFilename({ addr });
|
|
421
|
-
path = this.buildPath({ filename, isMeta, isDna: isDna ?? false });
|
|
433
|
+
path = this.buildPath({ addr, filename, isMeta, isDna: isDna ?? false, });
|
|
422
434
|
}
|
|
423
435
|
else {
|
|
424
436
|
filename = this.getFilename({ addr });
|
|
425
|
-
path = this.buildPath({ filename, isMeta: false, isDna: false, isBin: true });
|
|
437
|
+
path = this.buildPath({ addr, filename, isMeta: false, isDna: false, isBin: true, });
|
|
426
438
|
}
|
|
427
439
|
if (logalot) {
|
|
428
440
|
console.log(`${lc} path: ${path}, directory: ${data.baseDir}`);
|
|
@@ -470,19 +482,19 @@ export class NodeFilesystemSpace_V1 extends FilesystemSpace_V1 {
|
|
|
470
482
|
if (isMeta) {
|
|
471
483
|
// explicitly stating meta, so only look in meta
|
|
472
484
|
paths = [
|
|
473
|
-
this.buildPath({ filename, isMeta: true, isDna: false }),
|
|
485
|
+
this.buildPath({ addr, filename, isMeta: true, isDna: false, }),
|
|
474
486
|
];
|
|
475
487
|
}
|
|
476
488
|
else if (isDna) {
|
|
477
489
|
// explicitly stating dna, so only look in dna
|
|
478
|
-
paths = [this.buildPath({ filename, isMeta: false, isDna: true }),];
|
|
490
|
+
paths = [this.buildPath({ addr, filename, isMeta: false, isDna: true, }),];
|
|
479
491
|
}
|
|
480
492
|
else {
|
|
481
493
|
// could be regular, meta or dna, so we'll search everywhere, but first regular.
|
|
482
494
|
paths = [
|
|
483
|
-
this.buildPath({ filename, isMeta: false, isDna: false }),
|
|
484
|
-
this.buildPath({ filename, isMeta: true, isDna: false }),
|
|
485
|
-
this.buildPath({ filename, isMeta: false, isDna: true }),
|
|
495
|
+
this.buildPath({ addr, filename, isMeta: false, isDna: false, }),
|
|
496
|
+
this.buildPath({ addr, filename, isMeta: true, isDna: false, }),
|
|
497
|
+
this.buildPath({ addr, filename, isMeta: false, isDna: true, }),
|
|
486
498
|
];
|
|
487
499
|
}
|
|
488
500
|
}
|
|
@@ -490,7 +502,7 @@ export class NodeFilesystemSpace_V1 extends FilesystemSpace_V1 {
|
|
|
490
502
|
// const addr = getBinAddr({binHash, binExt});
|
|
491
503
|
filename = this.getFilename({ addr });
|
|
492
504
|
// filename = this.getFilename({binHash, binExt});
|
|
493
|
-
path = this.buildPath({ filename, isDna: false, isMeta: false, isBin: true });
|
|
505
|
+
path = this.buildPath({ addr, filename, isDna: false, isMeta: false, isBin: true, });
|
|
494
506
|
paths = [path];
|
|
495
507
|
}
|
|
496
508
|
let resRead = null;
|
|
@@ -600,6 +612,9 @@ export class NodeFilesystemSpace_V1 extends FilesystemSpace_V1 {
|
|
|
600
612
|
data.baseSubPath + '/' + data.spaceSubPath + '/' + data.binSubPath,
|
|
601
613
|
data.baseSubPath + '/' + data.spaceSubPath + '/' + data.dnaSubPath,
|
|
602
614
|
];
|
|
615
|
+
if (data.mitigateLongPaths) {
|
|
616
|
+
paths.push(data.baseSubPath + '/' + data.spaceSubPath + '/' + data.longSubPath);
|
|
617
|
+
}
|
|
603
618
|
const getPathKey = (p) => { return directory.toString() + '/' + p; };
|
|
604
619
|
let allExist = paths.every(path => this.pathExistsMap[getPathKey(path)]);
|
|
605
620
|
if (allExist) {
|