roamjs-components 0.54.5 → 0.54.11
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/package.json +6 -2
- package/queries/compileDatalog.d.ts +3 -0
- package/queries/compileDatalog.js +41 -0
- package/queries/compileDatalog.js.map +1 -0
- package/queries/index.d.ts +1 -0
- package/queries/index.js +3 -1
- package/queries/index.js.map +1 -1
- package/types/index.d.ts +18 -5
- package/types/query-builder.d.ts +19 -2
- package/util/registerSmartBlocksCommand.d.ts +1 -3
- package/util/registerSmartBlocksCommand.js.map +1 -1
- package/util/setInputSetting.d.ts +1 -1
- package/util/setInputSetting.js +17 -13
- package/util/setInputSetting.js.map +1 -1
- package/writes/clearBlockById.js +11 -5
- package/writes/clearBlockById.js.map +1 -1
- package/writes/clearBlockByUid.js +12 -5
- package/writes/clearBlockByUid.js.map +1 -1
- package/writes/createBlock.d.ts +2 -3
- package/writes/createBlock.js +6 -40
- package/writes/createBlock.js.map +1 -1
- package/writes/createPage.js +11 -7
- package/writes/createPage.js.map +1 -1
- package/writes/deleteBlock.js +5 -1
- package/writes/deleteBlock.js.map +1 -1
- package/writes/submitActions.d.ts +8 -0
- package/writes/submitActions.js +66 -0
- package/writes/submitActions.js.map +1 -0
- package/writes/updateActiveBlock.js +11 -5
- package/writes/updateActiveBlock.js.map +1 -1
- package/writes/updateBlock.js +16 -11
- package/writes/updateBlock.js.map +1 -1
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "roamjs-components",
|
|
3
3
|
"description": "Description for roamjs-components",
|
|
4
|
-
"version": "0.54.
|
|
4
|
+
"version": "0.54.11",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"types": "index.d.ts",
|
|
7
7
|
"scripts": {
|
|
@@ -41,6 +41,7 @@
|
|
|
41
41
|
"@blueprintjs/core": "^3.52.0",
|
|
42
42
|
"@blueprintjs/datetime": "^3.23.5",
|
|
43
43
|
"@blueprintjs/select": "^3.16.0",
|
|
44
|
+
"@esbuild-plugins/node-modules-polyfill": "^0.1.4",
|
|
44
45
|
"aws-sdk-plus": "^0.5.3",
|
|
45
46
|
"axios": "^0.21.4",
|
|
46
47
|
"color": "^4.0.1",
|
|
@@ -71,9 +72,11 @@
|
|
|
71
72
|
"@types/react": "^17.0.9",
|
|
72
73
|
"@types/react-dom": "^17.0.6",
|
|
73
74
|
"@types/refractor": "^3.0.2",
|
|
75
|
+
"@types/uuid": "^8.3.4",
|
|
74
76
|
"@typescript-eslint/eslint-plugin": "^5.5.0",
|
|
75
77
|
"@typescript-eslint/parser": "^5.5.0",
|
|
76
78
|
"@vercel/ncc": "^0.28.6",
|
|
79
|
+
"esbuild": "^0.14.27",
|
|
77
80
|
"eslint": "^8.4.0",
|
|
78
81
|
"jest": "^26.6.3",
|
|
79
82
|
"prettier": "^2.3.1",
|
|
@@ -81,6 +84,7 @@
|
|
|
81
84
|
"tslib": "^2.2.0",
|
|
82
85
|
"tslint-config-prettier": "^1.18.0",
|
|
83
86
|
"tslint-react-hooks": "^2.2.2",
|
|
84
|
-
"typescript": "^4.5.2"
|
|
87
|
+
"typescript": "^4.5.2",
|
|
88
|
+
"uuid": "^8.3.2"
|
|
85
89
|
}
|
|
86
90
|
}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { DatalogAndClause, DatalogArgument, DatalogBinding, DatalogClause, DatalogFnArg } from "../types";
|
|
2
|
+
declare const compileDatalog: (d: DatalogClause | DatalogAndClause | DatalogArgument | DatalogFnArg | DatalogBinding, level: number) => string;
|
|
3
|
+
export default compileDatalog;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const compileDatalog = (d, level) => {
|
|
4
|
+
switch (d.type) {
|
|
5
|
+
case "data-pattern":
|
|
6
|
+
return `[${d.srcVar ? `${compileDatalog(d.srcVar, level)} ` : ""}${d.arguments.map((a) => compileDatalog(a, level)).join(" ")}]`;
|
|
7
|
+
case "src-var":
|
|
8
|
+
return `$${d.value.replace(/\s/g, "")}`;
|
|
9
|
+
case "constant":
|
|
10
|
+
case "underscore":
|
|
11
|
+
return d.value;
|
|
12
|
+
case "variable":
|
|
13
|
+
return `?${d.value.replace(/\s/g, "")}`;
|
|
14
|
+
case "fn-expr":
|
|
15
|
+
return `[(${d.fn} ${d.arguments
|
|
16
|
+
.map((a) => compileDatalog(a, level))
|
|
17
|
+
.join(" ")}) ${compileDatalog(d.binding, level)}]`;
|
|
18
|
+
case "pred-expr":
|
|
19
|
+
return `[(${d.pred} ${d.arguments
|
|
20
|
+
.map((a) => compileDatalog(a, level))
|
|
21
|
+
.join(" ")})]`;
|
|
22
|
+
case "rule-expr":
|
|
23
|
+
return `[${d.srcVar ? `${compileDatalog(d.srcVar, level)} ` : ""}${d.arguments.map((a) => compileDatalog(a, level)).join(" ")}]`;
|
|
24
|
+
case "not-clause":
|
|
25
|
+
return `(${d.srcVar ? `${compileDatalog(d.srcVar, level)} ` : ""}not ${d.clauses.map((a) => compileDatalog(a, level + 1)).join(" ")})`;
|
|
26
|
+
case "or-clause":
|
|
27
|
+
return `(${d.srcVar ? `${compileDatalog(d.srcVar, level)} ` : ""}or ${d.clauses.map((a) => compileDatalog(a, level + 1)).join(" ")})`;
|
|
28
|
+
case "and-clause":
|
|
29
|
+
return `(and ${d.clauses.map((c) => compileDatalog(c, level + 1)).join('\n')})`;
|
|
30
|
+
case "not-join-clause":
|
|
31
|
+
return `(${d.srcVar ? `${compileDatalog(d.srcVar, level)} ` : ""}not-join [${d.variables.map((v) => compileDatalog(v, level)).join(' ')}] ${d.clauses.map((a) => compileDatalog(a, level + 1)).join(" ")})`;
|
|
32
|
+
case "or-join-clause":
|
|
33
|
+
return `(${d.srcVar ? `${compileDatalog(d.srcVar, level)} ` : ""}or-join [${d.variables.map((v) => compileDatalog(v, level)).join(' ')}] ${d.clauses
|
|
34
|
+
.map((a) => compileDatalog(a, level + 1))
|
|
35
|
+
.join(" ")})`;
|
|
36
|
+
default:
|
|
37
|
+
return "";
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
exports.default = compileDatalog;
|
|
41
|
+
//# sourceMappingURL=compileDatalog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compileDatalog.js","sourceRoot":"","sources":["../src/queries/compileDatalog.ts"],"names":[],"mappings":"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"}
|
package/queries/index.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
export { default as compileDatalog } from "./compileDatalog";
|
|
1
2
|
export { default as getAllBlockUids } from "./getAllBlockUids";
|
|
2
3
|
export { default as getAllBlockUidsAndTexts } from "./getAllBlockUidsAndTexts";
|
|
3
4
|
export { default as getAllPageNames } from "./getAllPageNames";
|
package/queries/index.js
CHANGED
|
@@ -3,7 +3,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.normalizePageTitle = exports.isTagOnPage = exports.getTextByBlockUid = exports.getShallowTreeByParentUid = exports.getSettingsByEmail = exports.getParentUidsOfBlockUid = exports.getParentUidByBlockUid = exports.getParentTextByBlockUidAndTag = exports.getParentTextByBlockUid = exports.getPageViewType = exports.getPageUidByPageTitle = exports.getPageTitleByPageUid = exports.getPageTitlesStartingWithPrefix = exports.getPageTitlesReferencingBlockUid = exports.getPageTitleReferencesByPageTitle = exports.getPageTitlesAndUidsDirectlyReferencingPage = exports.getPageTitlesAndBlockUidsReferencingPage = exports.getPageTitleByBlockUid = exports.getOrderByBlockUid = exports.getNthChildUidByBlockUid = exports.getLinkedPageTitlesUnderUid = exports.getFullTreeByParentUid = exports.getEditedUserEmailByBlockUid = exports.getEditTimeByBlockUid = exports.getDisplayNameByUid = exports.getDisplayNameByEmail = exports.getCreateTimeByBlockUid = exports.getFirstChildUidByBlockUid = exports.getFirstChildTextByBlockUid = exports.getCurrentUserUid = exports.getCurrentUserEmail = exports.getCurrentUserDisplayName = exports.getChildrenLengthByPageUid = exports.getBlockUidsWithParentUid = exports.getBlockUidsReferencingPage = exports.getBlockUidsReferencingBlock = exports.getBlockUidsByPageTitle = exports.getBlockUidsAndTextsReferencingPage = exports.getBlockUidByTextOnPage = exports.getBlockUidAndTextIncludingText = exports.getBasicTreeByParentUid = exports.getAttributeValueByBlockAndName = exports.getAllPageNames = exports.getAllBlockUidsAndTexts = exports.getAllBlockUids = void 0;
|
|
6
|
+
exports.normalizePageTitle = exports.isTagOnPage = exports.getTextByBlockUid = exports.getShallowTreeByParentUid = exports.getSettingsByEmail = exports.getParentUidsOfBlockUid = exports.getParentUidByBlockUid = exports.getParentTextByBlockUidAndTag = exports.getParentTextByBlockUid = exports.getPageViewType = exports.getPageUidByPageTitle = exports.getPageTitleByPageUid = exports.getPageTitlesStartingWithPrefix = exports.getPageTitlesReferencingBlockUid = exports.getPageTitleReferencesByPageTitle = exports.getPageTitlesAndUidsDirectlyReferencingPage = exports.getPageTitlesAndBlockUidsReferencingPage = exports.getPageTitleByBlockUid = exports.getOrderByBlockUid = exports.getNthChildUidByBlockUid = exports.getLinkedPageTitlesUnderUid = exports.getFullTreeByParentUid = exports.getEditedUserEmailByBlockUid = exports.getEditTimeByBlockUid = exports.getDisplayNameByUid = exports.getDisplayNameByEmail = exports.getCreateTimeByBlockUid = exports.getFirstChildUidByBlockUid = exports.getFirstChildTextByBlockUid = exports.getCurrentUserUid = exports.getCurrentUserEmail = exports.getCurrentUserDisplayName = exports.getChildrenLengthByPageUid = exports.getBlockUidsWithParentUid = exports.getBlockUidsReferencingPage = exports.getBlockUidsReferencingBlock = exports.getBlockUidsByPageTitle = exports.getBlockUidsAndTextsReferencingPage = exports.getBlockUidByTextOnPage = exports.getBlockUidAndTextIncludingText = exports.getBasicTreeByParentUid = exports.getAttributeValueByBlockAndName = exports.getAllPageNames = exports.getAllBlockUidsAndTexts = exports.getAllBlockUids = exports.compileDatalog = void 0;
|
|
7
|
+
var compileDatalog_1 = require("./compileDatalog");
|
|
8
|
+
Object.defineProperty(exports, "compileDatalog", { enumerable: true, get: function () { return __importDefault(compileDatalog_1).default; } });
|
|
7
9
|
var getAllBlockUids_1 = require("./getAllBlockUids");
|
|
8
10
|
Object.defineProperty(exports, "getAllBlockUids", { enumerable: true, get: function () { return __importDefault(getAllBlockUids_1).default; } });
|
|
9
11
|
var getAllBlockUidsAndTexts_1 = require("./getAllBlockUidsAndTexts");
|
package/queries/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/queries/index.ts"],"names":[],"mappings":";;;;;;AAAA,qDAA+D;AAAtD,mIAAA,OAAO,OAAmB;AACnC,qEAA+E;AAAtE,mJAAA,OAAO,OAA2B;AAC3C,qDAA+D;AAAtD,mIAAA,OAAO,OAAmB;AACnC,qFAA+F;AAAtF,mKAAA,OAAO,OAAmC;AACnD,qEAA+E;AAAtE,mJAAA,OAAO,OAA2B;AAC3C,qFAA+F;AAAtF,mKAAA,OAAO,OAAmC;AACnD,qEAA+E;AAAtE,mJAAA,OAAO,OAA2B;AAC3C,6FAAuG;AAA9F,2KAAA,OAAO,OAAuC;AACvD,qEAA+E;AAAtE,mJAAA,OAAO,OAA2B;AAC3C,+EAAyF;AAAhF,6JAAA,OAAO,OAAgC;AAChD,6EAAuF;AAA9E,2JAAA,OAAO,OAA+B;AAC/C,yEAAmF;AAA1E,uJAAA,OAAO,OAA6B;AAC7C,2EAAqF;AAA5E,yJAAA,OAAO,OAA8B;AAC9C,yEAAmF;AAA1E,uJAAA,OAAO,OAA6B;AAC7C,6DAAuE;AAA9D,2IAAA,OAAO,OAAuB;AACvC,yDAAmE;AAA1D,uIAAA,OAAO,OAAqB;AACrC,6EAAuF;AAA9E,2JAAA,OAAO,OAA+B;AAC/C,2EAAqF;AAA5E,yJAAA,OAAO,OAA8B;AAC9C,qEAA+E;AAAtE,mJAAA,OAAO,OAA2B;AAC3C,iEAA2E;AAAlE,+IAAA,OAAO,OAAyB;AACzC,6DAAuE;AAA9D,2IAAA,OAAO,OAAuB;AACvC,iEAA2E;AAAlE,+IAAA,OAAO,OAAyB;AACzC,+EAAyF;AAAhF,6JAAA,OAAO,OAAgC;AAChD,mEAA6E;AAApE,iJAAA,OAAO,OAA0B;AAC1C,6EAAuF;AAA9E,2JAAA,OAAO,OAA+B;AAC/C,uEAAiF;AAAxE,qJAAA,OAAO,OAA4B;AAC5C,2DAAqE;AAA5D,yIAAA,OAAO,OAAsB;AACtC,mEAA6E;AAApE,iJAAA,OAAO,OAA0B;AAC1C,uGAAiH;AAAxG,qLAAA,OAAO,OAA4C;AAC5D,6GAAuH;AAA9G,2LAAA,OAAO,OAA+C;AAC/D,yFAAmG;AAA1F,uKAAA,OAAO,OAAqC;AACrD,uFAAiG;AAAxF,qKAAA,OAAO,OAAoC;AACpD,qFAA+F;AAAtF,mKAAA,OAAO,OAAmC;AACnD,iEAA2E;AAAlE,+IAAA,OAAO,OAAyB;AACzC,iEAA2E;AAAlE,+IAAA,OAAO,OAAyB;AACzC,qDAA+D;AAAtD,mIAAA,OAAO,OAAmB;AACnC,qEAA+E;AAAtE,mJAAA,OAAO,OAA2B;AAC3C,iFAA2F;AAAlF,+JAAA,OAAO,OAAiC;AACjD,mEAA6E;AAApE,iJAAA,OAAO,OAA0B;AAC1C,qEAA+E;AAAtE,mJAAA,OAAO,OAA2B;AAC3C,2DAAqE;AAA5D,yIAAA,OAAO,OAAsB;AACtC,yEAAmF;AAA1E,uJAAA,OAAO,OAA6B;AAC7C,yDAAmE;AAA1D,uIAAA,OAAO,OAAqB;AACrC,6CAAuD;AAA9C,2HAAA,OAAO,OAAe;AAC/B,2DAAqE;AAA5D,yIAAA,OAAO,OAAsB"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/queries/index.ts"],"names":[],"mappings":";;;;;;AAAA,mDAA6D;AAApD,iIAAA,OAAO,OAAkB;AAClC,qDAA+D;AAAtD,mIAAA,OAAO,OAAmB;AACnC,qEAA+E;AAAtE,mJAAA,OAAO,OAA2B;AAC3C,qDAA+D;AAAtD,mIAAA,OAAO,OAAmB;AACnC,qFAA+F;AAAtF,mKAAA,OAAO,OAAmC;AACnD,qEAA+E;AAAtE,mJAAA,OAAO,OAA2B;AAC3C,qFAA+F;AAAtF,mKAAA,OAAO,OAAmC;AACnD,qEAA+E;AAAtE,mJAAA,OAAO,OAA2B;AAC3C,6FAAuG;AAA9F,2KAAA,OAAO,OAAuC;AACvD,qEAA+E;AAAtE,mJAAA,OAAO,OAA2B;AAC3C,+EAAyF;AAAhF,6JAAA,OAAO,OAAgC;AAChD,6EAAuF;AAA9E,2JAAA,OAAO,OAA+B;AAC/C,yEAAmF;AAA1E,uJAAA,OAAO,OAA6B;AAC7C,2EAAqF;AAA5E,yJAAA,OAAO,OAA8B;AAC9C,yEAAmF;AAA1E,uJAAA,OAAO,OAA6B;AAC7C,6DAAuE;AAA9D,2IAAA,OAAO,OAAuB;AACvC,yDAAmE;AAA1D,uIAAA,OAAO,OAAqB;AACrC,6EAAuF;AAA9E,2JAAA,OAAO,OAA+B;AAC/C,2EAAqF;AAA5E,yJAAA,OAAO,OAA8B;AAC9C,qEAA+E;AAAtE,mJAAA,OAAO,OAA2B;AAC3C,iEAA2E;AAAlE,+IAAA,OAAO,OAAyB;AACzC,6DAAuE;AAA9D,2IAAA,OAAO,OAAuB;AACvC,iEAA2E;AAAlE,+IAAA,OAAO,OAAyB;AACzC,+EAAyF;AAAhF,6JAAA,OAAO,OAAgC;AAChD,mEAA6E;AAApE,iJAAA,OAAO,OAA0B;AAC1C,6EAAuF;AAA9E,2JAAA,OAAO,OAA+B;AAC/C,uEAAiF;AAAxE,qJAAA,OAAO,OAA4B;AAC5C,2DAAqE;AAA5D,yIAAA,OAAO,OAAsB;AACtC,mEAA6E;AAApE,iJAAA,OAAO,OAA0B;AAC1C,uGAAiH;AAAxG,qLAAA,OAAO,OAA4C;AAC5D,6GAAuH;AAA9G,2LAAA,OAAO,OAA+C;AAC/D,yFAAmG;AAA1F,uKAAA,OAAO,OAAqC;AACrD,uFAAiG;AAAxF,qKAAA,OAAO,OAAoC;AACpD,qFAA+F;AAAtF,mKAAA,OAAO,OAAmC;AACnD,iEAA2E;AAAlE,+IAAA,OAAO,OAAyB;AACzC,iEAA2E;AAAlE,+IAAA,OAAO,OAAyB;AACzC,qDAA+D;AAAtD,mIAAA,OAAO,OAAmB;AACnC,qEAA+E;AAAtE,mJAAA,OAAO,OAA2B;AAC3C,iFAA2F;AAAlF,+JAAA,OAAO,OAAiC;AACjD,mEAA6E;AAApE,iJAAA,OAAO,OAA0B;AAC1C,qEAA+E;AAAtE,mJAAA,OAAO,OAA2B;AAC3C,2DAAqE;AAA5D,yIAAA,OAAO,OAAsB;AACtC,yEAAmF;AAA1E,uJAAA,OAAO,OAA6B;AAC7C,yDAAmE;AAA1D,uIAAA,OAAO,OAAqB;AACrC,6CAAuD;AAA9C,2HAAA,OAAO,OAAe;AAC/B,2DAAqE;AAA5D,yIAAA,OAAO,OAAsB"}
|
package/types/index.d.ts
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { Condition as QueryBuilderCondition, Selection as QueryBuilderSelection, Result as QueryBuilderResult } from "./query-builder";
|
|
3
|
+
declare type CommandOutput = string | string[] | InputTextNode[];
|
|
4
|
+
export declare type CommandHandler = (...args: string[]) => CommandOutput | Promise<CommandOutput>;
|
|
3
5
|
export declare type DatalogFnArg = DatalogSrcVar | DatalogVariable | DatalogConstant;
|
|
4
6
|
export declare type DatalogSrcVar = {
|
|
5
|
-
type: "
|
|
7
|
+
type: "src-var";
|
|
6
8
|
value: string;
|
|
7
9
|
};
|
|
8
10
|
export declare type DatalogVariable = {
|
|
@@ -273,7 +275,7 @@ export declare type ClientParams = {
|
|
|
273
275
|
query?: string;
|
|
274
276
|
inputs?: string[];
|
|
275
277
|
} & ActionParams;
|
|
276
|
-
declare type ActionParams = {
|
|
278
|
+
export declare type ActionParams = {
|
|
277
279
|
location?: {
|
|
278
280
|
"parent-uid": string;
|
|
279
281
|
order: number;
|
|
@@ -528,6 +530,7 @@ declare global {
|
|
|
528
530
|
target: string;
|
|
529
531
|
uid: string;
|
|
530
532
|
}) => DatalogClause[];
|
|
533
|
+
targetOptions?: string[] | ((source: string) => string[]);
|
|
531
534
|
}) => void;
|
|
532
535
|
unregisterDatalogTranslator: (args: {
|
|
533
536
|
key: string;
|
|
@@ -541,9 +544,19 @@ declare global {
|
|
|
541
544
|
mapper: (r: PullBlock, key: string) => QueryBuilderResult[string];
|
|
542
545
|
}) => void;
|
|
543
546
|
};
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
+
versioning?: {
|
|
548
|
+
switch: (args: {
|
|
549
|
+
id: string;
|
|
550
|
+
currentVersion: string;
|
|
551
|
+
}) => void;
|
|
552
|
+
};
|
|
553
|
+
smartblocks?: {
|
|
554
|
+
registerCommand: (args: {
|
|
555
|
+
text: string;
|
|
556
|
+
handler: (u: unknown) => CommandHandler;
|
|
557
|
+
}) => void;
|
|
558
|
+
};
|
|
559
|
+
[id: string]: Record<string, unknown> | undefined;
|
|
547
560
|
};
|
|
548
561
|
version: {
|
|
549
562
|
[id: string]: string;
|
package/types/query-builder.d.ts
CHANGED
|
@@ -1,10 +1,26 @@
|
|
|
1
|
-
|
|
1
|
+
declare type QBClauseData = {
|
|
2
2
|
relation: string;
|
|
3
3
|
source: string;
|
|
4
4
|
target: string;
|
|
5
5
|
uid: string;
|
|
6
|
-
not
|
|
6
|
+
not?: boolean;
|
|
7
7
|
};
|
|
8
|
+
declare type QBClause = QBClauseData & {
|
|
9
|
+
type: "clause";
|
|
10
|
+
};
|
|
11
|
+
declare type QBNot = QBClauseData & {
|
|
12
|
+
type: "not";
|
|
13
|
+
};
|
|
14
|
+
declare type QBNestedData = {
|
|
15
|
+
conditions: Condition[];
|
|
16
|
+
};
|
|
17
|
+
declare type QBOr = QBNestedData & {
|
|
18
|
+
type: "or";
|
|
19
|
+
};
|
|
20
|
+
declare type QBNor = QBNestedData & {
|
|
21
|
+
type: "not or";
|
|
22
|
+
};
|
|
23
|
+
export declare type Condition = QBClause | QBNot | QBOr | QBNor;
|
|
8
24
|
export declare type Selection = {
|
|
9
25
|
text: string;
|
|
10
26
|
label: string;
|
|
@@ -14,3 +30,4 @@ export declare type Result = {
|
|
|
14
30
|
text: string;
|
|
15
31
|
uid: string;
|
|
16
32
|
} & Record<string, string | number | Date>;
|
|
33
|
+
export {};
|
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
declare type CommandOutput = string | string[] | InputTextNode[];
|
|
3
|
-
declare type CommandHandler = (...args: string[]) => CommandOutput | Promise<CommandOutput>;
|
|
1
|
+
import { CommandHandler } from "../types";
|
|
4
2
|
declare const registerSmartBlocksCommand: ({ text: inputText, handler, }: {
|
|
5
3
|
text: string;
|
|
6
4
|
handler: (u: unknown) => CommandHandler;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registerSmartBlocksCommand.js","sourceRoot":"","sources":["../src/util/registerSmartBlocksCommand.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"registerSmartBlocksCommand.js","sourceRoot":"","sources":["../src/util/registerSmartBlocksCommand.ts"],"names":[],"mappings":";;AAEA,MAAM,0BAA0B,GAAG,CAAC,EAClC,IAAI,EAAE,SAAS,EACf,OAAO,GAIR,EAAQ,EAAE;IACT,MAAM,IAAI,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;IACrC,MAAM,QAAQ,GAAG,CAAC,KAAa,EAAyB,EAAE;;QACxD,OAAA,CAAA,MAAA,MAAA,MAAM,CAAC,MAAM,0CAAE,SAAS,0CAAE,WAAW;YACnC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,eAAe,CAAC;gBAClD,IAAI;gBACJ,OAAO;aACR,CAAC;YACJ,CAAC,CAAC,KAAK,KAAK,GAAG,IAAI,MAAM,CAAC,MAAM;gBAChC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,mCACV,MAAM,CAAC,MAAM,KAChB,SAAS,kCACJ,MAAM,CAAC,MAAM,CAAC,SAAS,KAC1B,CAAC,IAAI,CAAC,kCACD,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,KAChC,0BAA0B,EAAE,GAAG,EAAE;;gCAC/B,MAAA,MAAA,MAAM,CAAC,MAAM,0CAAE,SAAS,CAAC,WAAW,0CAAE,eAAe,CAAC;oCACpD,IAAI;oCACJ,OAAO;iCACR,CAAC,CAAC;4BACL,CAAC,SAGN,CAAC;gBACJ,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;KAAA,CAAC;IACzD,QAAQ,CAAC,CAAC,CAAC,CAAC;AACd,CAAC,CAAC;AAEF,kBAAe,0BAA0B,CAAC"}
|
package/util/setInputSetting.js
CHANGED
|
@@ -2,31 +2,35 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
4
|
const getBasicTreeByParentUid_1 = (0, tslib_1.__importDefault)(require("../queries/getBasicTreeByParentUid"));
|
|
5
|
+
const createBlock_1 = (0, tslib_1.__importDefault)(require("../writes/createBlock"));
|
|
6
|
+
const updateBlock_1 = (0, tslib_1.__importDefault)(require("../writes/updateBlock"));
|
|
5
7
|
const toFlexRegex_1 = (0, tslib_1.__importDefault)(require("./toFlexRegex"));
|
|
6
8
|
const setInputSetting = ({ blockUid, value, key, index = 0, }) => {
|
|
7
9
|
const tree = (0, getBasicTreeByParentUid_1.default)(blockUid);
|
|
8
10
|
const keyNode = tree.find((t) => (0, toFlexRegex_1.default)(key).test(t.text));
|
|
9
11
|
if (keyNode && keyNode.children.length) {
|
|
10
|
-
return
|
|
11
|
-
|
|
12
|
+
return (0, updateBlock_1.default)({
|
|
13
|
+
uid: keyNode.children[0].uid,
|
|
14
|
+
text: value,
|
|
12
15
|
});
|
|
13
16
|
}
|
|
14
17
|
else if (!keyNode) {
|
|
15
18
|
const uid = window.roamAlphaAPI.util.generateUID();
|
|
16
|
-
return
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
})
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
19
|
+
return (0, createBlock_1.default)({
|
|
20
|
+
parentUid: blockUid,
|
|
21
|
+
order: index,
|
|
22
|
+
node: { text: key, uid },
|
|
23
|
+
}).then(() => (0, createBlock_1.default)({
|
|
24
|
+
parentUid: uid,
|
|
25
|
+
order: 0,
|
|
26
|
+
node: { text: value },
|
|
24
27
|
}));
|
|
25
28
|
}
|
|
26
29
|
else {
|
|
27
|
-
return
|
|
28
|
-
|
|
29
|
-
|
|
30
|
+
return (0, createBlock_1.default)({
|
|
31
|
+
parentUid: keyNode.uid,
|
|
32
|
+
order: 0,
|
|
33
|
+
node: { text: value },
|
|
30
34
|
});
|
|
31
35
|
}
|
|
32
36
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setInputSetting.js","sourceRoot":"","sources":["../src/util/setInputSetting.ts"],"names":[],"mappings":";;;AAAA,8GAAyE;AACzE,6EAAwC;AAExC,MAAM,eAAe,GAAG,CAAC,EACvB,QAAQ,EACR,KAAK,EACL,GAAG,EACH,KAAK,GAAG,CAAC,GAMV,
|
|
1
|
+
{"version":3,"file":"setInputSetting.js","sourceRoot":"","sources":["../src/util/setInputSetting.ts"],"names":[],"mappings":";;;AAAA,8GAAyE;AACzE,qFAAgD;AAChD,qFAAgD;AAChD,6EAAwC;AAExC,MAAM,eAAe,GAAG,CAAC,EACvB,QAAQ,EACR,KAAK,EACL,GAAG,EACH,KAAK,GAAG,CAAC,GAMV,EAAmB,EAAE;IACpB,MAAM,IAAI,GAAG,IAAA,iCAAuB,EAAC,QAAQ,CAAC,CAAC;IAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,qBAAW,EAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAChE,IAAI,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE;QACtC,OAAO,IAAA,qBAAW,EAAC;YACjB,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG;YAC5B,IAAI,EAAE,KAAK;SACZ,CAAC,CAAC;KACJ;SAAM,IAAI,CAAC,OAAO,EAAE;QACnB,MAAM,GAAG,GAAG,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QACnD,OAAO,IAAA,qBAAW,EAAC;YACjB,SAAS,EAAE,QAAQ;YACnB,KAAK,EAAE,KAAK;YACZ,IAAI,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE;SACzB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CACX,IAAA,qBAAW,EAAC;YACV,SAAS,EAAE,GAAG;YACd,KAAK,EAAE,CAAC;YACR,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;SACtB,CAAC,CACH,CAAC;KACH;SAAM;QACL,OAAO,IAAA,qBAAW,EAAC;YACjB,SAAS,EAAE,OAAO,CAAC,GAAG;YACtB,KAAK,EAAE,CAAC;YACR,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;SACtB,CAAC,CAAC;KACJ;AACH,CAAC,CAAC;AAEF,kBAAe,eAAe,CAAC"}
|
package/writes/clearBlockById.js
CHANGED
|
@@ -2,11 +2,17 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
4
|
const getUidsFromId_1 = (0, tslib_1.__importDefault)(require("../dom/getUidsFromId"));
|
|
5
|
-
const
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
5
|
+
const submitActions_1 = (0, tslib_1.__importDefault)(require("./submitActions"));
|
|
6
|
+
const clearBlockById = (id) => (0, submitActions_1.default)([
|
|
7
|
+
{
|
|
8
|
+
type: "updateBlock",
|
|
9
|
+
params: {
|
|
10
|
+
block: {
|
|
11
|
+
uid: (0, getUidsFromId_1.default)(id).blockUid,
|
|
12
|
+
string: "",
|
|
13
|
+
},
|
|
14
|
+
},
|
|
9
15
|
},
|
|
10
|
-
|
|
16
|
+
]);
|
|
11
17
|
exports.default = clearBlockById;
|
|
12
18
|
//# sourceMappingURL=clearBlockById.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clearBlockById.js","sourceRoot":"","sources":["../src/writes/clearBlockById.ts"],"names":[],"mappings":";;;AAAA,sFAAiD;
|
|
1
|
+
{"version":3,"file":"clearBlockById.js","sourceRoot":"","sources":["../src/writes/clearBlockById.ts"],"names":[],"mappings":";;;AAAA,sFAAiD;AACjD,iFAA4C;AAE5C,MAAM,cAAc,GAAG,CAAC,EAAU,EAAiB,EAAE,CACnD,IAAA,uBAAa,EAAC;IACZ;QACE,IAAI,EAAE,aAAa;QACnB,MAAM,EAAE;YACN,KAAK,EAAE;gBACL,GAAG,EAAE,IAAA,uBAAa,EAAC,EAAE,CAAC,CAAC,QAAQ;gBAC/B,MAAM,EAAE,EAAE;aACX;SACF;KACF;CACF,CAAC,CAAC;AAEL,kBAAe,cAAc,CAAC"}
|
|
@@ -1,10 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
const submitActions_1 = (0, tslib_1.__importDefault)(require("./submitActions"));
|
|
5
|
+
const clearBlockByUid = (uid) => (0, submitActions_1.default)([
|
|
6
|
+
{
|
|
7
|
+
type: "updateBlock",
|
|
8
|
+
params: {
|
|
9
|
+
block: {
|
|
10
|
+
uid,
|
|
11
|
+
string: "",
|
|
12
|
+
},
|
|
13
|
+
},
|
|
7
14
|
},
|
|
8
|
-
|
|
15
|
+
]);
|
|
9
16
|
exports.default = clearBlockByUid;
|
|
10
17
|
//# sourceMappingURL=clearBlockByUid.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clearBlockByUid.js","sourceRoot":"","sources":["../src/writes/clearBlockByUid.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"clearBlockByUid.js","sourceRoot":"","sources":["../src/writes/clearBlockByUid.ts"],"names":[],"mappings":";;;AAAA,iFAA4C;AAE5C,MAAM,eAAe,GAAG,CAAC,GAAW,EAAiB,EAAE,CACrD,IAAA,uBAAa,EAAC;IACZ;QACE,IAAI,EAAE,aAAa;QACnB,MAAM,EAAE;YACN,KAAK,EAAE;gBACL,GAAG;gBACH,MAAM,EAAE,EAAE;aACX;SACF;KACF;CACF,CAAC,CAAC;AAEL,kBAAe,eAAe,CAAC"}
|
package/writes/createBlock.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import type { InputTextNode } from "../types";
|
|
2
|
-
declare
|
|
3
|
-
declare const gatherActions: ({ node: { text, children, uid, heading, viewType, textAlign, open, }, parentUid, order, }: {
|
|
1
|
+
import type { InputTextNode, ActionParams } from "../types";
|
|
2
|
+
export declare const gatherActions: ({ node: { text, children, uid, heading, viewType, textAlign, open, }, parentUid, order, }: {
|
|
4
3
|
node: InputTextNode;
|
|
5
4
|
parentUid: string;
|
|
6
5
|
order?: number | undefined;
|
package/writes/createBlock.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.gatherActions = void 0;
|
|
3
4
|
const tslib_1 = require("tslib");
|
|
4
|
-
const
|
|
5
|
+
const submitActions_1 = (0, tslib_1.__importDefault)(require("./submitActions"));
|
|
5
6
|
const gatherActions = ({ node: { text, children = [], uid = window.roamAlphaAPI.util.generateUID(), heading, viewType, textAlign, open = true, }, parentUid, order = 0, }) => {
|
|
6
7
|
return [
|
|
7
8
|
{
|
|
@@ -15,48 +16,13 @@ const gatherActions = ({ node: { text, children = [], uid = window.roamAlphaAPI.
|
|
|
15
16
|
open,
|
|
16
17
|
},
|
|
17
18
|
},
|
|
18
|
-
...children.flatMap((node, order) => gatherActions({ node, parentUid: uid, order })),
|
|
19
|
+
...children.flatMap((node, order) => (0, exports.gatherActions)({ node, parentUid: uid, order })),
|
|
19
20
|
];
|
|
20
21
|
};
|
|
21
|
-
|
|
22
|
-
const submittedActions = [];
|
|
23
|
-
const ROAM_LIMIT = 300;
|
|
24
|
-
const ROAM_TIMEOUT = 61000; // One minute, plus an extra second to be safe.
|
|
25
|
-
const submitActions = (actions) => {
|
|
26
|
-
actionQueue.push(...actions);
|
|
27
|
-
const processActions = () => (0, tslib_1.__awaiter)(void 0, void 0, void 0, function* () {
|
|
28
|
-
if (ROAM_LIMIT > submittedActions.length) {
|
|
29
|
-
const submitNow = actionQueue.splice(0, ROAM_LIMIT - submittedActions.length);
|
|
30
|
-
yield Promise.all(submitNow.map((action) => {
|
|
31
|
-
const { params, type } = action;
|
|
32
|
-
return window.roamAlphaAPI[type](params)
|
|
33
|
-
.catch((e) => {
|
|
34
|
-
console.error(`Failed action of type ${type} with params:`);
|
|
35
|
-
console.error(params);
|
|
36
|
-
console.error(`Here's the error:`);
|
|
37
|
-
console.error(e);
|
|
38
|
-
})
|
|
39
|
-
.then(() => ({ action, date: new Date() }));
|
|
40
|
-
})).then((a) => submittedActions.push(...a));
|
|
41
|
-
}
|
|
42
|
-
if (submittedActions.length) {
|
|
43
|
-
const timeout = ROAM_TIMEOUT -
|
|
44
|
-
(0, date_fns_1.differenceInMilliseconds)(new Date(), submittedActions.slice(-1)[0].date);
|
|
45
|
-
if (actionQueue.length)
|
|
46
|
-
console.log(`Writing to Roam. Actions left: ${actionQueue.length}. Trying again in: ${timeout}`);
|
|
47
|
-
setTimeout(() => {
|
|
48
|
-
const now = new Date();
|
|
49
|
-
const index = submittedActions.findIndex(({ date }) => (0, date_fns_1.differenceInMilliseconds)(now, date) < ROAM_TIMEOUT);
|
|
50
|
-
submittedActions.splice(0, index < 0 ? ROAM_LIMIT : index);
|
|
51
|
-
processActions();
|
|
52
|
-
}, timeout);
|
|
53
|
-
}
|
|
54
|
-
});
|
|
55
|
-
return processActions();
|
|
56
|
-
};
|
|
22
|
+
exports.gatherActions = gatherActions;
|
|
57
23
|
const createBlock = (params) => {
|
|
58
|
-
const actions = gatherActions(params);
|
|
59
|
-
return
|
|
24
|
+
const actions = (0, exports.gatherActions)(params);
|
|
25
|
+
return (0, submitActions_1.default)(actions.map((params) => ({ params, type: "createBlock" }))).then(() => { var _a; return ((_a = actions[0].block) === null || _a === void 0 ? void 0 : _a.uid) || ""; });
|
|
60
26
|
};
|
|
61
27
|
exports.default = createBlock;
|
|
62
28
|
//# sourceMappingURL=createBlock.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createBlock.js","sourceRoot":"","sources":["../src/writes/createBlock.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"createBlock.js","sourceRoot":"","sources":["../src/writes/createBlock.ts"],"names":[],"mappings":";;;;AACA,iFAA4C;AAErC,MAAM,aAAa,GAAG,CAAC,EAC5B,IAAI,EAAE,EACJ,IAAI,EACJ,QAAQ,GAAG,EAAE,EACb,GAAG,GAAG,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE,EAC5C,OAAO,EACP,QAAQ,EACR,SAAS,EACT,IAAI,GAAG,IAAI,GACZ,EACD,SAAS,EACT,KAAK,GAAG,CAAC,GAKV,EAAkB,EAAE;IACnB,OAAO;QACL;YACE,QAAQ,EAAE,EAAE,YAAY,EAAE,SAAS,EAAE,KAAK,EAAE;YAC5C,KAAK,EAAE;gBACL,GAAG;gBACH,MAAM,EAAE,IAAI;gBACZ,OAAO;gBACP,YAAY,EAAE,SAAS;gBACvB,oBAAoB,EAAE,QAAQ;gBAC9B,IAAI;aACL;SACF;QACD,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAClC,IAAA,qBAAa,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAC/C;KACF,CAAC;AACJ,CAAC,CAAC;AAjCW,QAAA,aAAa,iBAiCxB;AAEF,MAAM,WAAW,GAAG,CAClB,MAA2C,EAC1B,EAAE;IACnB,MAAM,OAAO,GAAG,IAAA,qBAAa,EAAC,MAAM,CAAC,CAAC;IACtC,OAAO,IAAA,uBAAa,EAClB,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC,CAC3D,CAAC,IAAI,CAAC,GAAG,EAAE,WAAC,OAAA,CAAA,MAAA,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,0CAAE,GAAG,KAAI,EAAE,CAAA,EAAA,CAAC,CAAC;AAC5C,CAAC,CAAC;AAEF,kBAAe,WAAW,CAAC"}
|
package/writes/createPage.js
CHANGED
|
@@ -1,19 +1,23 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
|
-
const createBlock_1 =
|
|
4
|
+
const createBlock_1 = require("./createBlock");
|
|
5
5
|
const date_1 = require("../date");
|
|
6
6
|
const toRoamDateUid_1 = (0, tslib_1.__importDefault)(require("../date/toRoamDateUid"));
|
|
7
7
|
const parseRoamDate_1 = (0, tslib_1.__importDefault)(require("../date/parseRoamDate"));
|
|
8
|
+
const submitActions_1 = (0, tslib_1.__importDefault)(require("./submitActions"));
|
|
8
9
|
const createPage = ({ title, tree = [], uid = date_1.DAILY_NOTE_PAGE_TITLE_REGEX.test(title)
|
|
9
10
|
? (0, toRoamDateUid_1.default)((0, parseRoamDate_1.default)(title))
|
|
10
11
|
: window.roamAlphaAPI.util.generateUID(), }) => {
|
|
11
|
-
return
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
12
|
+
return (0, submitActions_1.default)([
|
|
13
|
+
{
|
|
14
|
+
type: "createPage",
|
|
15
|
+
params: { page: { title, uid } },
|
|
16
|
+
},
|
|
17
|
+
...tree
|
|
18
|
+
.flatMap((node, order) => (0, createBlock_1.gatherActions)({ node, parentUid: uid, order }))
|
|
19
|
+
.map((params) => ({ type: "createBlock", params })),
|
|
20
|
+
]).then(() => uid);
|
|
17
21
|
};
|
|
18
22
|
exports.default = createPage;
|
|
19
23
|
//# sourceMappingURL=createPage.js.map
|
package/writes/createPage.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createPage.js","sourceRoot":"","sources":["../src/writes/createPage.ts"],"names":[],"mappings":";;;AAAA
|
|
1
|
+
{"version":3,"file":"createPage.js","sourceRoot":"","sources":["../src/writes/createPage.ts"],"names":[],"mappings":";;;AAAA,+CAA8C;AAC9C,kCAAsD;AAEtD,uFAAkD;AAClD,uFAAkD;AAClD,iFAA4C;AAE5C,MAAM,UAAU,GAAG,CAAC,EAClB,KAAK,EACL,IAAI,GAAG,EAAE,EACT,GAAG,GAAG,kCAA2B,CAAC,IAAI,CAAC,KAAK,CAAC;IAC3C,CAAC,CAAC,IAAA,uBAAa,EAAC,IAAA,uBAAa,EAAC,KAAK,CAAC,CAAC;IACrC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE,GAK3C,EAAmB,EAAE;IACpB,OAAO,IAAA,uBAAa,EAAC;QACnB;YACE,IAAI,EAAE,YAAY;YAClB,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;SACjC;QACD,GAAG,IAAI;aACJ,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAA,2BAAa,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;aACxE,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,aAAsB,EAAE,MAAM,EAAE,CAAC,CAAC;KAC/D,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;AACrB,CAAC,CAAC;AAEF,kBAAe,UAAU,CAAC"}
|
package/writes/deleteBlock.js
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
const submitActions_1 = (0, tslib_1.__importDefault)(require("./submitActions"));
|
|
3
5
|
const deleteBlock = (uid) => {
|
|
4
|
-
return
|
|
6
|
+
return (0, submitActions_1.default)([
|
|
7
|
+
{ params: { block: { uid } }, type: "deleteBlock" },
|
|
8
|
+
]).then(() => uid);
|
|
5
9
|
};
|
|
6
10
|
exports.default = deleteBlock;
|
|
7
11
|
//# sourceMappingURL=deleteBlock.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deleteBlock.js","sourceRoot":"","sources":["../src/writes/deleteBlock.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"deleteBlock.js","sourceRoot":"","sources":["../src/writes/deleteBlock.ts"],"names":[],"mappings":";;;AAAA,iFAA4C;AAE5C,MAAM,WAAW,GAAG,CAAC,GAAW,EAAmB,EAAE;IACnD,OAAO,IAAA,uBAAa,EAAC;QACnB,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE;KACpD,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;AACrB,CAAC,CAAC;AAEF,kBAAe,WAAW,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { ActionParams } from "../types";
|
|
2
|
+
declare const actionQueue: {
|
|
3
|
+
uuid: string;
|
|
4
|
+
params: ActionParams;
|
|
5
|
+
type: "createBlock" | "updateBlock" | "deleteBlock" | "createPage" | "updatePage" | "deletePage";
|
|
6
|
+
}[];
|
|
7
|
+
declare const submitActions: (actions: Omit<typeof actionQueue[number], "uuid">[]) => Promise<void>;
|
|
8
|
+
export default submitActions;
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
const date_fns_1 = require("date-fns");
|
|
5
|
+
const Toast_1 = require("../components/Toast");
|
|
6
|
+
const uuid_1 = require("uuid");
|
|
7
|
+
const actionQueue = [];
|
|
8
|
+
const submittedActions = {};
|
|
9
|
+
let nextProcess = 0;
|
|
10
|
+
const ROAM_LIMIT = 300;
|
|
11
|
+
const ROAM_TIMEOUT = 61000; // One minute, plus an extra second to be safe.
|
|
12
|
+
const submitActions = (actions) => {
|
|
13
|
+
actionQueue.push(...actions.map((a) => (Object.assign(Object.assign({}, a), { uuid: (0, uuid_1.v4)() }))));
|
|
14
|
+
let close = undefined;
|
|
15
|
+
const processActions = () => (0, tslib_1.__awaiter)(void 0, void 0, void 0, function* () {
|
|
16
|
+
const capacity = ROAM_LIMIT - Object.keys(submittedActions).length;
|
|
17
|
+
actionQueue
|
|
18
|
+
.slice(0, capacity)
|
|
19
|
+
.forEach(({ uuid }) => (submittedActions[uuid] = undefined));
|
|
20
|
+
if (capacity > 0) {
|
|
21
|
+
const submitNow = actionQueue.splice(0, capacity);
|
|
22
|
+
yield Promise.all(submitNow.map((action) => {
|
|
23
|
+
const { params, type, uuid } = action;
|
|
24
|
+
return window.roamAlphaAPI[type](params)
|
|
25
|
+
.catch((e) => {
|
|
26
|
+
console.error(`Failed action of type ${type} with params:`);
|
|
27
|
+
console.error(params);
|
|
28
|
+
console.error(`Here's the error:`);
|
|
29
|
+
console.error(e);
|
|
30
|
+
})
|
|
31
|
+
.then(() => {
|
|
32
|
+
submittedActions[uuid] = { action, date: new Date() };
|
|
33
|
+
});
|
|
34
|
+
}));
|
|
35
|
+
}
|
|
36
|
+
const actionEntries = Object.entries(submittedActions);
|
|
37
|
+
if (actionEntries.length && !nextProcess) {
|
|
38
|
+
const timeout = ROAM_TIMEOUT -
|
|
39
|
+
(0, date_fns_1.differenceInMilliseconds)(new Date(), new Date(actionEntries
|
|
40
|
+
.map(([, a]) => (a ? a.date.valueOf() : 0))
|
|
41
|
+
.reduce((p, c) => (c > p ? c : p), 0)));
|
|
42
|
+
if (actionQueue.length)
|
|
43
|
+
close = (0, Toast_1.render)({
|
|
44
|
+
id: "roamjs-write-action",
|
|
45
|
+
content: `Writing to Roam. Actions left: ${actionQueue.length}. Trying again in ${timeout / 1000} seconds...`,
|
|
46
|
+
position: "bottom-right",
|
|
47
|
+
timeout: 0,
|
|
48
|
+
});
|
|
49
|
+
else
|
|
50
|
+
close === null || close === void 0 ? void 0 : close();
|
|
51
|
+
nextProcess = window.setTimeout(() => {
|
|
52
|
+
const now = new Date();
|
|
53
|
+
actionEntries.forEach(([k, action]) => {
|
|
54
|
+
if (action &&
|
|
55
|
+
(0, date_fns_1.differenceInMilliseconds)(now, action.date) > (ROAM_TIMEOUT - 1000))
|
|
56
|
+
delete submittedActions[k];
|
|
57
|
+
});
|
|
58
|
+
nextProcess = 0;
|
|
59
|
+
processActions();
|
|
60
|
+
}, timeout);
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
return processActions();
|
|
64
|
+
};
|
|
65
|
+
exports.default = submitActions;
|
|
66
|
+
//# sourceMappingURL=submitActions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"submitActions.js","sourceRoot":"","sources":["../src/writes/submitActions.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,11 +2,17 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
4
|
const getActiveUids_1 = (0, tslib_1.__importDefault)(require("../dom/getActiveUids"));
|
|
5
|
-
const
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
5
|
+
const submitActions_1 = (0, tslib_1.__importDefault)(require("./submitActions"));
|
|
6
|
+
const updateActiveBlock = (text) => (0, submitActions_1.default)([
|
|
7
|
+
{
|
|
8
|
+
type: "updateBlock",
|
|
9
|
+
params: {
|
|
10
|
+
block: {
|
|
11
|
+
uid: (0, getActiveUids_1.default)().blockUid,
|
|
12
|
+
string: text,
|
|
13
|
+
},
|
|
14
|
+
},
|
|
9
15
|
},
|
|
10
|
-
|
|
16
|
+
]);
|
|
11
17
|
exports.default = updateActiveBlock;
|
|
12
18
|
//# sourceMappingURL=updateActiveBlock.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"updateActiveBlock.js","sourceRoot":"","sources":["../src/writes/updateActiveBlock.ts"],"names":[],"mappings":";;;AAAA,sFAAiD;
|
|
1
|
+
{"version":3,"file":"updateActiveBlock.js","sourceRoot":"","sources":["../src/writes/updateActiveBlock.ts"],"names":[],"mappings":";;;AAAA,sFAAiD;AACjD,iFAA4C;AAE5C,MAAM,iBAAiB,GAAG,CAAC,IAAY,EAAiB,EAAE,CACxD,IAAA,uBAAa,EAAC;IACZ;QACE,IAAI,EAAE,aAAa;QACnB,MAAM,EAAE;YACN,KAAK,EAAE;gBACL,GAAG,EAAE,IAAA,uBAAa,GAAE,CAAC,QAAQ;gBAC7B,MAAM,EAAE,IAAI;aACb;SACF;KACF;CACF,CAAC,CAAC;AAEL,kBAAe,iBAAiB,CAAC"}
|
package/writes/updateBlock.js
CHANGED
|
@@ -1,18 +1,23 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
const submitActions_1 = (0, tslib_1.__importDefault)(require("./submitActions"));
|
|
3
5
|
const updateBlock = ({ text, uid, heading, textAlign, viewType, open, }) => {
|
|
4
|
-
return
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
6
|
+
return (0, submitActions_1.default)([
|
|
7
|
+
{
|
|
8
|
+
type: "updateBlock",
|
|
9
|
+
params: {
|
|
10
|
+
block: {
|
|
11
|
+
string: text,
|
|
12
|
+
uid,
|
|
13
|
+
heading,
|
|
14
|
+
"text-align": textAlign,
|
|
15
|
+
"children-view-type": viewType,
|
|
16
|
+
open,
|
|
17
|
+
},
|
|
18
|
+
},
|
|
13
19
|
},
|
|
14
|
-
|
|
15
|
-
.then(() => uid);
|
|
20
|
+
]).then(() => uid);
|
|
16
21
|
};
|
|
17
22
|
exports.default = updateBlock;
|
|
18
23
|
//# sourceMappingURL=updateBlock.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"updateBlock.js","sourceRoot":"","sources":["../src/writes/updateBlock.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"updateBlock.js","sourceRoot":"","sources":["../src/writes/updateBlock.ts"],"names":[],"mappings":";;;AACA,iFAA4C;AAE5C,MAAM,WAAW,GAAG,CAAC,EACnB,IAAI,EACJ,GAAG,EACH,OAAO,EACP,SAAS,EACT,QAAQ,EACR,IAAI,GAGL,EAAmB,EAAE;IACpB,OAAO,IAAA,uBAAa,EAAC;QACnB;YACE,IAAI,EAAE,aAAa;YACnB,MAAM,EAAE;gBACN,KAAK,EAAE;oBACL,MAAM,EAAE,IAAI;oBACZ,GAAG;oBACH,OAAO;oBACP,YAAY,EAAE,SAAS;oBACvB,oBAAoB,EAAE,QAAQ;oBAC9B,IAAI;iBACL;aACF;SACF;KACF,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;AACrB,CAAC,CAAC;AAEF,kBAAe,WAAW,CAAC"}
|