pushwork 1.2.3 → 1.2.4

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 (125) hide show
  1. package/dist/browser/browser-sync-engine.d.ts +64 -0
  2. package/dist/browser/browser-sync-engine.d.ts.map +1 -0
  3. package/dist/browser/browser-sync-engine.js +303 -0
  4. package/dist/browser/browser-sync-engine.js.map +1 -0
  5. package/dist/browser/filesystem-adapter.d.ts +84 -0
  6. package/dist/browser/filesystem-adapter.d.ts.map +1 -0
  7. package/dist/browser/filesystem-adapter.js +413 -0
  8. package/dist/browser/filesystem-adapter.js.map +1 -0
  9. package/dist/browser/index.d.ts +36 -0
  10. package/dist/browser/index.d.ts.map +1 -0
  11. package/dist/browser/index.js +90 -0
  12. package/dist/browser/index.js.map +1 -0
  13. package/dist/browser/types.d.ts +70 -0
  14. package/dist/browser/types.d.ts.map +1 -0
  15. package/dist/browser/types.js +6 -0
  16. package/dist/browser/types.js.map +1 -0
  17. package/dist/cli/commands.d.ts +6 -0
  18. package/dist/cli/commands.d.ts.map +1 -1
  19. package/dist/cli/commands.js +114 -4
  20. package/dist/cli/commands.js.map +1 -1
  21. package/dist/cli/output.d.ts +75 -0
  22. package/dist/cli/output.d.ts.map +1 -0
  23. package/dist/cli/output.js +182 -0
  24. package/dist/cli/output.js.map +1 -0
  25. package/dist/config/remote-manager.d.ts +65 -0
  26. package/dist/config/remote-manager.d.ts.map +1 -0
  27. package/dist/config/remote-manager.js +243 -0
  28. package/dist/config/remote-manager.js.map +1 -0
  29. package/dist/config.d.ts +16 -0
  30. package/dist/config.d.ts.map +1 -0
  31. package/dist/config.js +83 -0
  32. package/dist/config.js.map +1 -0
  33. package/dist/core/isomorphic-snapshot.d.ts +58 -0
  34. package/dist/core/isomorphic-snapshot.d.ts.map +1 -0
  35. package/dist/core/isomorphic-snapshot.js +204 -0
  36. package/dist/core/isomorphic-snapshot.js.map +1 -0
  37. package/dist/fs-tree.d.ts +6 -0
  38. package/dist/fs-tree.d.ts.map +1 -0
  39. package/dist/fs-tree.js +99 -0
  40. package/dist/fs-tree.js.map +1 -0
  41. package/dist/ignore.d.ts +6 -0
  42. package/dist/ignore.d.ts.map +1 -0
  43. package/dist/ignore.js +74 -0
  44. package/dist/ignore.js.map +1 -0
  45. package/dist/log.d.ts +3 -0
  46. package/dist/log.d.ts.map +1 -0
  47. package/dist/log.js +14 -0
  48. package/dist/log.js.map +1 -0
  49. package/dist/platform/browser-filesystem.d.ts +26 -0
  50. package/dist/platform/browser-filesystem.d.ts.map +1 -0
  51. package/dist/platform/browser-filesystem.js +91 -0
  52. package/dist/platform/browser-filesystem.js.map +1 -0
  53. package/dist/platform/filesystem.d.ts +29 -0
  54. package/dist/platform/filesystem.d.ts.map +1 -0
  55. package/dist/platform/filesystem.js +65 -0
  56. package/dist/platform/filesystem.js.map +1 -0
  57. package/dist/platform/node-filesystem.d.ts +21 -0
  58. package/dist/platform/node-filesystem.d.ts.map +1 -0
  59. package/dist/platform/node-filesystem.js +93 -0
  60. package/dist/platform/node-filesystem.js.map +1 -0
  61. package/dist/polyfill-node-window.d.ts +13 -0
  62. package/dist/polyfill-node-window.d.ts.map +1 -0
  63. package/dist/polyfill-node-window.js +17 -0
  64. package/dist/polyfill-node-window.js.map +1 -0
  65. package/dist/pushwork.d.ts +97 -0
  66. package/dist/pushwork.d.ts.map +1 -0
  67. package/dist/pushwork.js +726 -0
  68. package/dist/pushwork.js.map +1 -0
  69. package/dist/repo.d.ts +14 -0
  70. package/dist/repo.d.ts.map +1 -0
  71. package/dist/repo.js +60 -0
  72. package/dist/repo.js.map +1 -0
  73. package/dist/shapes/custom.d.ts +3 -0
  74. package/dist/shapes/custom.d.ts.map +1 -0
  75. package/dist/shapes/custom.js +57 -0
  76. package/dist/shapes/custom.js.map +1 -0
  77. package/dist/shapes/file.d.ts +20 -0
  78. package/dist/shapes/file.d.ts.map +1 -0
  79. package/dist/shapes/file.js +140 -0
  80. package/dist/shapes/file.js.map +1 -0
  81. package/dist/shapes/index.d.ts +10 -0
  82. package/dist/shapes/index.d.ts.map +1 -0
  83. package/dist/shapes/index.js +35 -0
  84. package/dist/shapes/index.js.map +1 -0
  85. package/dist/shapes/patchwork-folder.d.ts +3 -0
  86. package/dist/shapes/patchwork-folder.d.ts.map +1 -0
  87. package/dist/shapes/patchwork-folder.js +160 -0
  88. package/dist/shapes/patchwork-folder.js.map +1 -0
  89. package/dist/shapes/types.d.ts +38 -0
  90. package/dist/shapes/types.d.ts.map +1 -0
  91. package/dist/shapes/types.js +52 -0
  92. package/dist/shapes/types.js.map +1 -0
  93. package/dist/shapes/vfs.d.ts +3 -0
  94. package/dist/shapes/vfs.d.ts.map +1 -0
  95. package/dist/shapes/vfs.js +92 -0
  96. package/dist/shapes/vfs.js.map +1 -0
  97. package/dist/snarf.d.ts +21 -0
  98. package/dist/snarf.d.ts.map +1 -0
  99. package/dist/snarf.js +117 -0
  100. package/dist/snarf.js.map +1 -0
  101. package/dist/utils/fs-browser.d.ts +57 -0
  102. package/dist/utils/fs-browser.d.ts.map +1 -0
  103. package/dist/utils/fs-browser.js +311 -0
  104. package/dist/utils/fs-browser.js.map +1 -0
  105. package/dist/utils/fs-node.d.ts +53 -0
  106. package/dist/utils/fs-node.d.ts.map +1 -0
  107. package/dist/utils/fs-node.js +220 -0
  108. package/dist/utils/fs-node.js.map +1 -0
  109. package/dist/utils/isomorphic.d.ts +29 -0
  110. package/dist/utils/isomorphic.d.ts.map +1 -0
  111. package/dist/utils/isomorphic.js +139 -0
  112. package/dist/utils/isomorphic.js.map +1 -0
  113. package/dist/utils/pure.d.ts +25 -0
  114. package/dist/utils/pure.d.ts.map +1 -0
  115. package/dist/utils/pure.js +112 -0
  116. package/dist/utils/pure.js.map +1 -0
  117. package/dist/utils/repo-factory.d.ts.map +1 -1
  118. package/dist/utils/repo-factory.js +0 -1
  119. package/dist/utils/repo-factory.js.map +1 -1
  120. package/dist/version.d.ts +11 -0
  121. package/dist/version.d.ts.map +1 -0
  122. package/dist/version.js +93 -0
  123. package/dist/version.js.map +1 -0
  124. package/package.json +5 -5
  125. package/src/utils/repo-factory.ts +78 -85
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pushwork.js","sourceRoot":"","sources":["../src/pushwork.ts"],"names":[],"mappings":"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"}
package/dist/repo.d.ts ADDED
@@ -0,0 +1,14 @@
1
+ import { Repo, type DocHandle } from "@automerge/automerge-repo";
2
+ import type { Backend } from "./config.js";
3
+ export declare const legacyUrl: () => string;
4
+ export declare const subductionUrl: () => string;
5
+ export declare function openRepo(backend: Backend, storageDir: string, opts?: {
6
+ offline?: boolean;
7
+ }): Promise<Repo>;
8
+ export declare function waitForSync<T>(handle: DocHandle<T>, { minMs, idleMs, maxMs, pollMs }?: {
9
+ minMs?: number | undefined;
10
+ idleMs?: number | undefined;
11
+ maxMs?: number | undefined;
12
+ pollMs?: number | undefined;
13
+ }): Promise<void>;
14
+ //# sourceMappingURL=repo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repo.d.ts","sourceRoot":"","sources":["../src/repo.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,IAAI,EAEJ,KAAK,SAAS,EAEd,MAAM,2BAA2B,CAAC;AAGnC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAQ3C,eAAO,MAAM,SAAS,cAC+B,CAAC;AACtD,eAAO,MAAM,aAAa,cACmC,CAAC;AAE9D,wBAAsB,QAAQ,CAC7B,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,MAAM,EAClB,IAAI,GAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAO,GAC9B,OAAO,CAAC,IAAI,CAAC,CAsBf;AAID,wBAAsB,WAAW,CAAC,CAAC,EAClC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,EACpB,EAAE,KAAS,EAAE,MAAa,EAAE,KAAa,EAAE,MAAY,EAAE;;;;;CAAK,GAC5D,OAAO,CAAC,IAAI,CAAC,CAqBf"}
package/dist/repo.js ADDED
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.subductionUrl = exports.legacyUrl = void 0;
4
+ exports.openRepo = openRepo;
5
+ exports.waitForSync = waitForSync;
6
+ const automerge_repo_1 = require("@automerge/automerge-repo");
7
+ const automerge_repo_network_websocket_1 = require("@automerge/automerge-repo-network-websocket");
8
+ const automerge_repo_storage_nodefs_1 = require("@automerge/automerge-repo-storage-nodefs");
9
+ const log_js_1 = require("./log.js");
10
+ const dlog = (0, log_js_1.log)("repo");
11
+ const DEFAULT_LEGACY = "wss://sync3.automerge.org";
12
+ const DEFAULT_SUBDUCTION = "wss://subduction.sync.inkandswitch.com";
13
+ const legacyUrl = () => process.env.PUSHWORK_LEGACY_SERVER || DEFAULT_LEGACY;
14
+ exports.legacyUrl = legacyUrl;
15
+ const subductionUrl = () => process.env.PUSHWORK_SUBDUCTION_SERVER || DEFAULT_SUBDUCTION;
16
+ exports.subductionUrl = subductionUrl;
17
+ async function openRepo(backend, storageDir, opts = {}) {
18
+ dlog("openRepo backend=%s storage=%s offline=%s", backend, storageDir, !!opts.offline);
19
+ await (0, automerge_repo_1.initSubduction)();
20
+ const storage = new automerge_repo_storage_nodefs_1.NodeFSStorageAdapter(storageDir);
21
+ if (opts.offline) {
22
+ return new automerge_repo_1.Repo({ storage, network: [] });
23
+ }
24
+ if (backend === "legacy") {
25
+ const endpoint = (0, exports.legacyUrl)();
26
+ dlog("legacy ws endpoint=%s", endpoint);
27
+ const adapter = new automerge_repo_network_websocket_1.WebSocketClientAdapter(endpoint);
28
+ return new automerge_repo_1.Repo({ storage, network: [adapter] });
29
+ }
30
+ const endpoint = (0, exports.subductionUrl)();
31
+ dlog("subduction ws endpoint=%s", endpoint);
32
+ return new automerge_repo_1.Repo({
33
+ storage,
34
+ network: [],
35
+ subductionWebsocketEndpoints: [endpoint],
36
+ });
37
+ }
38
+ const sleep = (ms) => new Promise((r) => setTimeout(r, ms));
39
+ async function waitForSync(handle, { minMs = 0, idleMs = 1500, maxMs = 15000, pollMs = 200 } = {}) {
40
+ dlog("waitForSync url=%s minMs=%d idleMs=%d maxMs=%d", handle.url, minMs, idleMs, maxMs);
41
+ const headsKey = () => JSON.stringify(handle.heads());
42
+ let last = headsKey();
43
+ let lastChange = Date.now();
44
+ const start = Date.now();
45
+ while (Date.now() - start < maxMs) {
46
+ await sleep(pollMs);
47
+ const next = headsKey();
48
+ if (next !== last) {
49
+ last = next;
50
+ lastChange = Date.now();
51
+ }
52
+ else if (Date.now() - lastChange >= idleMs &&
53
+ Date.now() - start >= minMs) {
54
+ dlog("waitForSync settled url=%s elapsed=%dms", handle.url, Date.now() - start);
55
+ return;
56
+ }
57
+ }
58
+ dlog("waitForSync timed out url=%s after %dms", handle.url, maxMs);
59
+ }
60
+ //# sourceMappingURL=repo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repo.js","sourceRoot":"","sources":["../src/repo.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { Shape } from "./types.js";
2
+ export declare function loadCustomShape(filePath: string): Promise<Shape>;
3
+ //# sourceMappingURL=custom.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom.d.ts","sourceRoot":"","sources":["../../src/shapes/custom.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAIxC,wBAAsB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAqBtE"}
@@ -0,0 +1,57 @@
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 () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.loadCustomShape = loadCustomShape;
37
+ const path = __importStar(require("path"));
38
+ const url_1 = require("url");
39
+ const log_js_1 = require("../log.js");
40
+ const dlog = (0, log_js_1.log)("shapes:custom");
41
+ async function loadCustomShape(filePath) {
42
+ const absolute = path.isAbsolute(filePath)
43
+ ? filePath
44
+ : path.resolve(process.cwd(), filePath);
45
+ dlog("loading custom shape from %s", absolute);
46
+ const url = (0, url_1.pathToFileURL)(absolute).href;
47
+ const mod = (await Promise.resolve(`${url}`).then(s => __importStar(require(s))));
48
+ const candidate = mod.default;
49
+ if (!candidate ||
50
+ typeof candidate.encode !== "function" ||
51
+ typeof candidate.decode !== "function") {
52
+ throw new Error(`shape ${filePath} must export default { encode, decode }`);
53
+ }
54
+ dlog("custom shape loaded ok");
55
+ return candidate;
56
+ }
57
+ //# sourceMappingURL=custom.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom.js","sourceRoot":"","sources":["../../src/shapes/custom.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,0CAqBC;AA5BD,2CAA6B;AAC7B,6BAAoC;AACpC,sCAAgC;AAGhC,MAAM,IAAI,GAAG,IAAA,YAAG,EAAC,eAAe,CAAC,CAAC;AAE3B,KAAK,UAAU,eAAe,CAAC,QAAgB;IACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;QACzC,CAAC,CAAC,QAAQ;QACV,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,CAAC;IACzC,IAAI,CAAC,8BAA8B,EAAE,QAAQ,CAAC,CAAC;IAC/C,MAAM,GAAG,GAAG,IAAA,mBAAa,EAAC,QAAQ,CAAC,CAAC,IAAI,CAAC;IACzC,MAAM,GAAG,GAAG,CAAC,yBAAa,GAAG,uCAAC,CAE7B,CAAC;IACF,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC;IAC9B,IACC,CAAC,SAAS;QACV,OAAO,SAAS,CAAC,MAAM,KAAK,UAAU;QACtC,OAAO,SAAS,CAAC,MAAM,KAAK,UAAU,EACrC,CAAC;QACF,MAAM,IAAI,KAAK,CACd,SAAS,QAAQ,yCAAyC,CAC1D,CAAC;IACH,CAAC;IACD,IAAI,CAAC,wBAAwB,CAAC,CAAC;IAC/B,OAAO,SAAkB,CAAC;AAC3B,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { ImmutableString, type AutomergeUrl, type DocHandle, type Repo } from "@automerge/automerge-repo";
2
+ import type { UnixFileEntry } from "./types.js";
3
+ export type Content = string | Uint8Array | ImmutableString;
4
+ export declare function bytesToContent(bytes: Uint8Array, isArtifact: boolean): Content;
5
+ export declare function contentToBytes(content: Content): Uint8Array;
6
+ export declare function contentEquals(a: Content, b: Content): boolean;
7
+ export declare function makeFileEntry(relativePath: string, bytes: Uint8Array, isArtifact: boolean): UnixFileEntry;
8
+ export declare function readFileEntry(handle: DocHandle<unknown>): {
9
+ bytes: Uint8Array;
10
+ entry: UnixFileEntry;
11
+ };
12
+ export declare function findFileEntry(repo: Repo, url: AutomergeUrl): Promise<{
13
+ handle: DocHandle<UnixFileEntry>;
14
+ bytes: Uint8Array;
15
+ }>;
16
+ export declare function stripHeads(url: AutomergeUrl): AutomergeUrl;
17
+ export declare function pinUrl(handle: DocHandle<unknown>): AutomergeUrl;
18
+ export declare function normalizeArtifactDir(dir: string): string;
19
+ export declare function isInArtifactDir(posixPath: string, artifactDirs: readonly string[]): boolean;
20
+ //# sourceMappingURL=file.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file.d.ts","sourceRoot":"","sources":["../../src/shapes/file.ts"],"names":[],"mappings":"AAEA,OAAO,EACN,eAAe,EAIf,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,KAAK,IAAI,EACT,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG,UAAU,GAAG,eAAe,CAAC;AAE5D,wBAAgB,cAAc,CAC7B,KAAK,EAAE,UAAU,EACjB,UAAU,EAAE,OAAO,GACjB,OAAO,CAcT;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,UAAU,CAM3D;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,GAAG,OAAO,CAM7D;AAED,wBAAgB,aAAa,CAC5B,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,UAAU,EACjB,UAAU,EAAE,OAAO,GACjB,aAAa,CAUf;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC,OAAO,CAAC,GAAG;IAC1D,KAAK,EAAE,UAAU,CAAC;IAClB,KAAK,EAAE,aAAa,CAAC;CACrB,CAOA;AAED,wBAAsB,aAAa,CAClC,IAAI,EAAE,IAAI,EACV,GAAG,EAAE,YAAY,GACf,OAAO,CAAC;IAAE,MAAM,EAAE,SAAS,CAAC,aAAa,CAAC,CAAC;IAAC,KAAK,EAAE,UAAU,CAAA;CAAE,CAAC,CAIlE;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,YAAY,GAAG,YAAY,CAG1D;AAED,wBAAgB,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,OAAO,CAAC,GAAG,YAAY,CAG/D;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAKxD;AAED,wBAAgB,eAAe,CAC9B,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,SAAS,MAAM,EAAE,GAC7B,OAAO,CAOT"}
@@ -0,0 +1,140 @@
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 () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.bytesToContent = bytesToContent;
40
+ exports.contentToBytes = contentToBytes;
41
+ exports.contentEquals = contentEquals;
42
+ exports.makeFileEntry = makeFileEntry;
43
+ exports.readFileEntry = readFileEntry;
44
+ exports.findFileEntry = findFileEntry;
45
+ exports.stripHeads = stripHeads;
46
+ exports.pinUrl = pinUrl;
47
+ exports.normalizeArtifactDir = normalizeArtifactDir;
48
+ exports.isInArtifactDir = isInArtifactDir;
49
+ const path = __importStar(require("path"));
50
+ const mime_types_1 = __importDefault(require("mime-types"));
51
+ const automerge_repo_1 = require("@automerge/automerge-repo");
52
+ function bytesToContent(bytes, isArtifact) {
53
+ if (bytes.includes(0))
54
+ return bytes;
55
+ let text;
56
+ try {
57
+ text = new TextDecoder("utf-8", { fatal: true }).decode(bytes);
58
+ }
59
+ catch {
60
+ return bytes;
61
+ }
62
+ const reencoded = new TextEncoder().encode(text);
63
+ if (reencoded.length !== bytes.length)
64
+ return bytes;
65
+ for (let i = 0; i < bytes.length; i++) {
66
+ if (reencoded[i] !== bytes[i])
67
+ return bytes;
68
+ }
69
+ return isArtifact ? new automerge_repo_1.ImmutableString(text) : text;
70
+ }
71
+ function contentToBytes(content) {
72
+ if (typeof content === "string")
73
+ return new TextEncoder().encode(content);
74
+ if ((0, automerge_repo_1.isImmutableString)(content)) {
75
+ return new TextEncoder().encode(String(content));
76
+ }
77
+ return content instanceof Uint8Array ? content : new Uint8Array(content);
78
+ }
79
+ function contentEquals(a, b) {
80
+ const av = a instanceof Uint8Array ? a : contentToBytes(a);
81
+ const bv = b instanceof Uint8Array ? b : contentToBytes(b);
82
+ if (av.length !== bv.length)
83
+ return false;
84
+ for (let i = 0; i < av.length; i++)
85
+ if (av[i] !== bv[i])
86
+ return false;
87
+ return true;
88
+ }
89
+ function makeFileEntry(relativePath, bytes, isArtifact) {
90
+ const name = path.posix.basename(relativePath);
91
+ const ext = path.posix.extname(name).replace(/^\./, "");
92
+ return {
93
+ "@patchwork": { type: "file" },
94
+ content: bytesToContent(bytes, isArtifact),
95
+ extension: ext,
96
+ mimeType: mime_types_1.default.lookup(name) || "application/octet-stream",
97
+ name,
98
+ };
99
+ }
100
+ function readFileEntry(handle) {
101
+ const doc = handle.doc();
102
+ if (!doc || typeof doc !== "object" || !("content" in doc)) {
103
+ throw new Error(`document ${handle.url} is not a UnixFileEntry`);
104
+ }
105
+ const entry = doc;
106
+ return { bytes: contentToBytes(entry.content), entry };
107
+ }
108
+ async function findFileEntry(repo, url) {
109
+ const handle = await repo.find(url);
110
+ const { bytes } = readFileEntry(handle);
111
+ return { handle, bytes };
112
+ }
113
+ function stripHeads(url) {
114
+ const { documentId } = (0, automerge_repo_1.parseAutomergeUrl)(url);
115
+ return (0, automerge_repo_1.stringifyAutomergeUrl)({ documentId });
116
+ }
117
+ function pinUrl(handle) {
118
+ const { documentId } = (0, automerge_repo_1.parseAutomergeUrl)(handle.url);
119
+ return (0, automerge_repo_1.stringifyAutomergeUrl)({ documentId, heads: handle.heads() });
120
+ }
121
+ function normalizeArtifactDir(dir) {
122
+ let out = dir.replace(/\\/g, "/");
123
+ while (out.startsWith("./"))
124
+ out = out.slice(2);
125
+ while (out.endsWith("/"))
126
+ out = out.slice(0, -1);
127
+ return out;
128
+ }
129
+ function isInArtifactDir(posixPath, artifactDirs) {
130
+ for (const d of artifactDirs) {
131
+ if (!d)
132
+ continue;
133
+ if (posixPath === d)
134
+ return true;
135
+ if (posixPath.startsWith(d + "/"))
136
+ return true;
137
+ }
138
+ return false;
139
+ }
140
+ //# sourceMappingURL=file.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file.js","sourceRoot":"","sources":["../../src/shapes/file.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAeA,wCAiBC;AAED,wCAMC;AAED,sCAMC;AAED,sCAcC;AAED,sCAUC;AAED,sCAOC;AAED,gCAGC;AAED,wBAGC;AAED,oDAKC;AAED,0CAUC;AAlHD,2CAA6B;AAC7B,4DAA8B;AAC9B,8DAQmC;AAKnC,SAAgB,cAAc,CAC7B,KAAiB,EACjB,UAAmB;IAEnB,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IACpC,IAAI,IAAY,CAAC;IACjB,IAAI,CAAC;QACJ,IAAI,GAAG,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAChE,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,KAAK,CAAC;IACd,CAAC;IACD,MAAM,SAAS,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACjD,IAAI,SAAS,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IACpD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;IAC7C,CAAC;IACD,OAAO,UAAU,CAAC,CAAC,CAAC,IAAI,gCAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACtD,CAAC;AAED,SAAgB,cAAc,CAAC,OAAgB;IAC9C,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC1E,IAAI,IAAA,kCAAiB,EAAC,OAAO,CAAC,EAAE,CAAC;QAChC,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,OAAO,YAAY,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC;AAC1E,CAAC;AAED,SAAgB,aAAa,CAAC,CAAU,EAAE,CAAU;IACnD,MAAM,EAAE,GAAG,CAAC,YAAY,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IAC3D,MAAM,EAAE,GAAG,CAAC,YAAY,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IAC3D,IAAI,EAAE,CAAC,MAAM,KAAK,EAAE,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE;QAAE,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;IACtE,OAAO,IAAI,CAAC;AACb,CAAC;AAED,SAAgB,aAAa,CAC5B,YAAoB,EACpB,KAAiB,EACjB,UAAmB;IAEnB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IAC/C,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACxD,OAAO;QACN,YAAY,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;QAC9B,OAAO,EAAE,cAAc,CAAC,KAAK,EAAE,UAAU,CAAC;QAC1C,SAAS,EAAE,GAAG;QACd,QAAQ,EAAE,oBAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,0BAA0B;QACzD,IAAI;KACJ,CAAC;AACH,CAAC;AAED,SAAgB,aAAa,CAAC,MAA0B;IAIvD,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,EAAwC,CAAC;IAC/D,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,CAAC,SAAS,IAAI,GAAG,CAAC,EAAE,CAAC;QAC5D,MAAM,IAAI,KAAK,CAAC,YAAY,MAAM,CAAC,GAAG,yBAAyB,CAAC,CAAC;IAClE,CAAC;IACD,MAAM,KAAK,GAAG,GAAoB,CAAC;IACnC,OAAO,EAAE,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC;AACxD,CAAC;AAEM,KAAK,UAAU,aAAa,CAClC,IAAU,EACV,GAAiB;IAEjB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAgB,GAAG,CAAC,CAAC;IACnD,MAAM,EAAE,KAAK,EAAE,GAAG,aAAa,CAAC,MAA4B,CAAC,CAAC;IAC9D,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;AAC1B,CAAC;AAED,SAAgB,UAAU,CAAC,GAAiB;IAC3C,MAAM,EAAE,UAAU,EAAE,GAAG,IAAA,kCAAiB,EAAC,GAAG,CAAC,CAAC;IAC9C,OAAO,IAAA,sCAAqB,EAAC,EAAE,UAAU,EAAE,CAAC,CAAC;AAC9C,CAAC;AAED,SAAgB,MAAM,CAAC,MAA0B;IAChD,MAAM,EAAE,UAAU,EAAE,GAAG,IAAA,kCAAiB,EAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACrD,OAAO,IAAA,sCAAqB,EAAC,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AACrE,CAAC;AAED,SAAgB,oBAAoB,CAAC,GAAW;IAC/C,IAAI,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAClC,OAAO,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAChD,OAAO,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACjD,OAAO,GAAG,CAAC;AACZ,CAAC;AAED,SAAgB,eAAe,CAC9B,SAAiB,EACjB,YAA+B;IAE/B,KAAK,MAAM,CAAC,IAAI,YAAY,EAAE,CAAC;QAC9B,IAAI,CAAC,CAAC;YAAE,SAAS;QACjB,IAAI,SAAS,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACjC,IAAI,SAAS,CAAC,UAAU,CAAC,CAAC,GAAG,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;IAChD,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { patchworkFolderShape } from "./patchwork-folder.js";
2
+ import { vfsShape } from "./vfs.js";
3
+ import type { Shape } from "./types.js";
4
+ export type ShapeName = "vfs" | "patchwork-folder" | string;
5
+ export declare const isBuiltinShape: (name: string) => boolean;
6
+ export declare function resolveShape(name: ShapeName): Promise<Shape>;
7
+ export { vfsShape, patchworkFolderShape };
8
+ export * from "./types.js";
9
+ export * from "./file.js";
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/shapes/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,kBAAkB,GAAG,MAAM,CAAC;AAE5D,eAAO,MAAM,cAAc,GAAI,MAAM,MAAM,KAAG,OACA,CAAC;AAE/C,wBAAsB,YAAY,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,CAIlE;AAED,OAAO,EAAE,QAAQ,EAAE,oBAAoB,EAAE,CAAC;AAC1C,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC"}
@@ -0,0 +1,35 @@
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.patchworkFolderShape = exports.vfsShape = exports.isBuiltinShape = void 0;
18
+ exports.resolveShape = resolveShape;
19
+ const custom_js_1 = require("./custom.js");
20
+ const patchwork_folder_js_1 = require("./patchwork-folder.js");
21
+ Object.defineProperty(exports, "patchworkFolderShape", { enumerable: true, get: function () { return patchwork_folder_js_1.patchworkFolderShape; } });
22
+ const vfs_js_1 = require("./vfs.js");
23
+ Object.defineProperty(exports, "vfsShape", { enumerable: true, get: function () { return vfs_js_1.vfsShape; } });
24
+ const isBuiltinShape = (name) => name === "vfs" || name === "patchwork-folder";
25
+ exports.isBuiltinShape = isBuiltinShape;
26
+ async function resolveShape(name) {
27
+ if (name === "vfs")
28
+ return vfs_js_1.vfsShape;
29
+ if (name === "patchwork-folder")
30
+ return patchwork_folder_js_1.patchworkFolderShape;
31
+ return (0, custom_js_1.loadCustomShape)(name);
32
+ }
33
+ __exportStar(require("./types.js"), exports);
34
+ __exportStar(require("./file.js"), exports);
35
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/shapes/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAUA,oCAIC;AAdD,2CAA8C;AAC9C,+DAA6D;AAe1C,qGAfV,0CAAoB,OAeU;AAdvC,qCAAoC;AAc3B,yFAdA,iBAAQ,OAcA;AATV,MAAM,cAAc,GAAG,CAAC,IAAY,EAAW,EAAE,CACvD,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,kBAAkB,CAAC;AADlC,QAAA,cAAc,kBACoB;AAExC,KAAK,UAAU,YAAY,CAAC,IAAe;IACjD,IAAI,IAAI,KAAK,KAAK;QAAE,OAAO,iBAAQ,CAAC;IACpC,IAAI,IAAI,KAAK,kBAAkB;QAAE,OAAO,0CAAoB,CAAC;IAC7D,OAAO,IAAA,2BAAe,EAAC,IAAI,CAAC,CAAC;AAC9B,CAAC;AAGD,6CAA2B;AAC3B,4CAA0B"}
@@ -0,0 +1,3 @@
1
+ import { type Shape } from "./types.js";
2
+ export declare const patchworkFolderShape: Shape;
3
+ //# sourceMappingURL=patchwork-folder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"patchwork-folder.d.ts","sourceRoot":"","sources":["../../src/shapes/patchwork-folder.ts"],"names":[],"mappings":"AAQA,OAAO,EAAU,KAAK,KAAK,EAAgB,MAAM,YAAY,CAAC;AAmC9D,eAAO,MAAM,oBAAoB,EAAE,KAwBlC,CAAC"}
@@ -0,0 +1,160 @@
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 () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.patchworkFolderShape = void 0;
37
+ const path = __importStar(require("path"));
38
+ const automerge_repo_1 = require("@automerge/automerge-repo");
39
+ const log_js_1 = require("../log.js");
40
+ const types_js_1 = require("./types.js");
41
+ const dlog = (0, log_js_1.log)("shapes:folder");
42
+ const META = "@patchwork";
43
+ const isFolderDoc = (doc) => {
44
+ if (!doc || typeof doc !== "object")
45
+ return false;
46
+ const meta = doc[META];
47
+ return (!!meta &&
48
+ typeof meta === "object" &&
49
+ meta.type === "folder");
50
+ };
51
+ const linkFileType = (filename) => {
52
+ const ext = path.posix.extname(filename).replace(/^\./, "");
53
+ return ext || "file";
54
+ };
55
+ exports.patchworkFolderShape = {
56
+ async encode({ repo, tree, previousRoot }) {
57
+ if (tree.kind !== "dir")
58
+ throw new Error("folder: root must be a dir");
59
+ if (previousRoot) {
60
+ dlog("encode reusing root=%s", previousRoot.url);
61
+ const handle = previousRoot;
62
+ await syncFolder(repo, handle, tree);
63
+ return handle.url;
64
+ }
65
+ dlog("encode creating new root");
66
+ const handle = await createFolder(repo, tree, "pushwork");
67
+ dlog("encode new root=%s", handle.url);
68
+ return handle.url;
69
+ },
70
+ async decode({ repo, root }) {
71
+ const doc = root.doc();
72
+ if (!isFolderDoc(doc)) {
73
+ throw new Error(`expected folder doc at ${root.url}`);
74
+ }
75
+ dlog("decode root=%s", root.url);
76
+ return readFolder(repo, root);
77
+ },
78
+ };
79
+ async function createFolder(repo, tree, title) {
80
+ if (tree.kind !== "dir")
81
+ throw new Error("createFolder: not a dir");
82
+ const links = [];
83
+ for (const [name, child] of tree.entries) {
84
+ if (child.kind === "file") {
85
+ links.push({ name, type: linkFileType(name), url: child.url });
86
+ }
87
+ else {
88
+ const sub = await createFolder(repo, child, name);
89
+ links.push({ name, type: "folder", url: sub.url });
90
+ }
91
+ }
92
+ const handle = repo.create({
93
+ "@patchwork": { type: "folder" },
94
+ title,
95
+ docs: links,
96
+ });
97
+ dlog("createFolder title=%s docs=%d url=%s", title, links.length, handle.url);
98
+ return handle;
99
+ }
100
+ async function syncFolder(repo, handle, tree) {
101
+ if (tree.kind !== "dir")
102
+ throw new Error("syncFolder: not a dir");
103
+ const desired = new Map(tree.entries);
104
+ const existingLinks = new Map();
105
+ for (const link of handle.doc().docs)
106
+ existingLinks.set(link.name, link);
107
+ const nextLinks = [];
108
+ for (const [name, child] of desired) {
109
+ const existing = existingLinks.get(name);
110
+ if (child.kind === "file") {
111
+ nextLinks.push({ name, type: linkFileType(name), url: child.url });
112
+ continue;
113
+ }
114
+ // child is a dir
115
+ if (existing && existing.type === "folder") {
116
+ const subHandle = await repo.find(existing.url);
117
+ if (isFolderDoc(subHandle.doc())) {
118
+ await syncFolder(repo, subHandle, child);
119
+ nextLinks.push({ name, type: "folder", url: subHandle.url });
120
+ continue;
121
+ }
122
+ }
123
+ const sub = await createFolder(repo, child, name);
124
+ nextLinks.push({ name, type: "folder", url: sub.url });
125
+ }
126
+ handle.change((d) => {
127
+ if (!d["@patchwork"])
128
+ d["@patchwork"] = { type: "folder" };
129
+ if (typeof d.title !== "string")
130
+ d.title = "pushwork";
131
+ d.docs = nextLinks;
132
+ });
133
+ }
134
+ async function readFolder(repo, handle) {
135
+ const doc = handle.doc();
136
+ const tree = (0, types_js_1.newDir)();
137
+ if (!doc?.docs)
138
+ return tree;
139
+ for (const link of doc.docs) {
140
+ if (!link?.name)
141
+ continue;
142
+ if (!(0, automerge_repo_1.isValidAutomergeUrl)(link.url))
143
+ continue;
144
+ if (link.type === "folder") {
145
+ const sub = await repo.find(link.url);
146
+ if (isFolderDoc(sub.doc())) {
147
+ const subTree = await readFolder(repo, sub);
148
+ if (tree.kind === "dir")
149
+ tree.entries.set(link.name, subTree);
150
+ }
151
+ }
152
+ else {
153
+ if (tree.kind === "dir") {
154
+ tree.entries.set(link.name, { kind: "file", url: link.url });
155
+ }
156
+ }
157
+ }
158
+ return tree;
159
+ }
160
+ //# sourceMappingURL=patchwork-folder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"patchwork-folder.js","sourceRoot":"","sources":["../../src/shapes/patchwork-folder.ts"],"names":[],"mappings":"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"}