@instantdb/core 0.22.98 → 0.22.99-experimental.add-user-perm-rules.20792844601.1
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/commonjs/Connection.js +51 -50
- package/dist/commonjs/Connection.js.map +1 -1
- package/dist/commonjs/InMemoryStorage.js +32 -13
- package/dist/commonjs/InMemoryStorage.js.map +1 -1
- package/dist/commonjs/IndexedDBStorage.js +217 -193
- package/dist/commonjs/IndexedDBStorage.js.map +1 -1
- package/dist/commonjs/InstantError.js +0 -1
- package/dist/commonjs/InstantError.js.map +1 -1
- package/dist/commonjs/Reactor.js +610 -566
- package/dist/commonjs/Reactor.js.map +1 -1
- package/dist/commonjs/StorageAPI.js +70 -51
- package/dist/commonjs/StorageAPI.js.map +1 -1
- package/dist/commonjs/SyncTable.js +81 -68
- package/dist/commonjs/SyncTable.js.map +1 -1
- package/dist/commonjs/WindowNetworkListener.js +13 -2
- package/dist/commonjs/WindowNetworkListener.js.map +1 -1
- package/dist/commonjs/__types__/fieldsTypeTest.js +16 -8
- package/dist/commonjs/__types__/fieldsTypeTest.js.map +1 -1
- package/dist/commonjs/__types__/useDatesTypeTest.js +6 -3
- package/dist/commonjs/__types__/useDatesTypeTest.js.map +1 -1
- package/dist/commonjs/authAPI.js +79 -62
- package/dist/commonjs/authAPI.js.map +1 -1
- package/dist/commonjs/createRouteHandler.js +15 -5
- package/dist/commonjs/createRouteHandler.js.map +1 -1
- package/dist/commonjs/datalog.js +1 -1
- package/dist/commonjs/datalog.js.map +1 -1
- package/dist/commonjs/devtool.js +8 -26
- package/dist/commonjs/devtool.js.map +1 -1
- package/dist/commonjs/framework.d.ts.map +1 -1
- package/dist/commonjs/framework.js +152 -142
- package/dist/commonjs/framework.js.map +1 -1
- package/dist/commonjs/index.js +190 -204
- package/dist/commonjs/index.js.map +1 -1
- package/dist/commonjs/instaml.js +30 -44
- package/dist/commonjs/instaml.js.map +1 -1
- package/dist/commonjs/instaql.js +33 -25
- package/dist/commonjs/instaql.js.map +1 -1
- package/dist/commonjs/parseSchemaFromJSON.js +7 -6
- package/dist/commonjs/parseSchemaFromJSON.js.map +1 -1
- package/dist/commonjs/presence.js +8 -7
- package/dist/commonjs/presence.js.map +1 -1
- package/dist/commonjs/queryValidation.js +2 -1
- package/dist/commonjs/queryValidation.js.map +1 -1
- package/dist/commonjs/schema.js +6 -8
- package/dist/commonjs/schema.js.map +1 -1
- package/dist/commonjs/schemaTypes.js +3 -22
- package/dist/commonjs/schemaTypes.js.map +1 -1
- package/dist/commonjs/store.js +38 -29
- package/dist/commonjs/store.js.map +1 -1
- package/dist/commonjs/transactionValidation.js +2 -1
- package/dist/commonjs/transactionValidation.js.map +1 -1
- package/dist/commonjs/utils/Deferred.js +0 -3
- package/dist/commonjs/utils/Deferred.js.map +1 -1
- package/dist/commonjs/utils/PersistedObject.js +233 -216
- package/dist/commonjs/utils/PersistedObject.js.map +1 -1
- package/dist/commonjs/utils/fetch.js +19 -9
- package/dist/commonjs/utils/fetch.js.map +1 -1
- package/dist/commonjs/utils/linkIndex.js +4 -2
- package/dist/commonjs/utils/linkIndex.js.map +1 -1
- package/dist/commonjs/utils/object.js +1 -1
- package/dist/commonjs/utils/object.js.map +1 -1
- package/dist/esm/Connection.js +51 -50
- package/dist/esm/Connection.js.map +1 -1
- package/dist/esm/InMemoryStorage.js +32 -13
- package/dist/esm/InMemoryStorage.js.map +1 -1
- package/dist/esm/IndexedDBStorage.js +217 -193
- package/dist/esm/IndexedDBStorage.js.map +1 -1
- package/dist/esm/InstantError.js +0 -1
- package/dist/esm/InstantError.js.map +1 -1
- package/dist/esm/Reactor.js +610 -566
- package/dist/esm/Reactor.js.map +1 -1
- package/dist/esm/StorageAPI.js +70 -51
- package/dist/esm/StorageAPI.js.map +1 -1
- package/dist/esm/SyncTable.js +81 -68
- package/dist/esm/SyncTable.js.map +1 -1
- package/dist/esm/WindowNetworkListener.js +13 -2
- package/dist/esm/WindowNetworkListener.js.map +1 -1
- package/dist/esm/__types__/fieldsTypeTest.js +16 -8
- package/dist/esm/__types__/fieldsTypeTest.js.map +1 -1
- package/dist/esm/__types__/useDatesTypeTest.js +6 -3
- package/dist/esm/__types__/useDatesTypeTest.js.map +1 -1
- package/dist/esm/authAPI.js +79 -62
- package/dist/esm/authAPI.js.map +1 -1
- package/dist/esm/createRouteHandler.js +15 -5
- package/dist/esm/createRouteHandler.js.map +1 -1
- package/dist/esm/datalog.js +1 -1
- package/dist/esm/datalog.js.map +1 -1
- package/dist/esm/devtool.js +8 -26
- package/dist/esm/devtool.js.map +1 -1
- package/dist/esm/framework.d.ts.map +1 -1
- package/dist/esm/framework.js +152 -142
- package/dist/esm/framework.js.map +1 -1
- package/dist/esm/index.js +190 -204
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/instaml.js +30 -44
- package/dist/esm/instaml.js.map +1 -1
- package/dist/esm/instaql.js +33 -25
- package/dist/esm/instaql.js.map +1 -1
- package/dist/esm/parseSchemaFromJSON.js +7 -6
- package/dist/esm/parseSchemaFromJSON.js.map +1 -1
- package/dist/esm/presence.js +8 -7
- package/dist/esm/presence.js.map +1 -1
- package/dist/esm/queryValidation.js +2 -1
- package/dist/esm/queryValidation.js.map +1 -1
- package/dist/esm/schema.js +6 -8
- package/dist/esm/schema.js.map +1 -1
- package/dist/esm/schemaTypes.js +3 -22
- package/dist/esm/schemaTypes.js.map +1 -1
- package/dist/esm/store.js +38 -29
- package/dist/esm/store.js.map +1 -1
- package/dist/esm/transactionValidation.js +2 -1
- package/dist/esm/transactionValidation.js.map +1 -1
- package/dist/esm/utils/Deferred.js +0 -3
- package/dist/esm/utils/Deferred.js.map +1 -1
- package/dist/esm/utils/PersistedObject.js +233 -216
- package/dist/esm/utils/PersistedObject.js.map +1 -1
- package/dist/esm/utils/fetch.js +19 -9
- package/dist/esm/utils/fetch.js.map +1 -1
- package/dist/esm/utils/linkIndex.js +4 -2
- package/dist/esm/utils/linkIndex.js.map +1 -1
- package/dist/esm/utils/object.js +1 -1
- package/dist/esm/utils/object.js.map +1 -1
- package/dist/standalone/index.js +2367 -2610
- package/dist/standalone/index.umd.cjs +3 -3
- package/package.json +2 -2
- package/src/framework.ts +1 -0
|
@@ -1,4 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
2
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
12
|
exports.createInstantRouteHandler = void 0;
|
|
4
13
|
function createUserSyncResponse(config, user) {
|
|
@@ -29,12 +38,13 @@ function errorResponse(status, message) {
|
|
|
29
38
|
}
|
|
30
39
|
const createInstantRouteHandler = (config) => {
|
|
31
40
|
return {
|
|
32
|
-
POST:
|
|
41
|
+
POST: (req) => __awaiter(void 0, void 0, void 0, function* () {
|
|
42
|
+
var _a;
|
|
33
43
|
let body;
|
|
34
44
|
try {
|
|
35
|
-
body =
|
|
45
|
+
body = yield req.json();
|
|
36
46
|
}
|
|
37
|
-
catch {
|
|
47
|
+
catch (_b) {
|
|
38
48
|
return errorResponse(400, 'Invalid JSON body');
|
|
39
49
|
}
|
|
40
50
|
if (!body.type) {
|
|
@@ -45,11 +55,11 @@ const createInstantRouteHandler = (config) => {
|
|
|
45
55
|
}
|
|
46
56
|
switch (body.type) {
|
|
47
57
|
case 'sync-user':
|
|
48
|
-
return createUserSyncResponse(config, body.user
|
|
58
|
+
return createUserSyncResponse(config, (_a = body.user) !== null && _a !== void 0 ? _a : null);
|
|
49
59
|
default:
|
|
50
60
|
return errorResponse(400, `Unknown type: ${body.type}`);
|
|
51
61
|
}
|
|
52
|
-
},
|
|
62
|
+
}),
|
|
53
63
|
};
|
|
54
64
|
};
|
|
55
65
|
exports.createInstantRouteHandler = createInstantRouteHandler;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createRouteHandler.js","sourceRoot":"","sources":["../../src/createRouteHandler.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"createRouteHandler.js","sourceRoot":"","sources":["../../src/createRouteHandler.ts"],"names":[],"mappings":";;;;;;;;;;;;AAMA,SAAS,sBAAsB,CAC7B,MAAgC,EAChC,IAAiB;IAEjB,IAAI,IAAI,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;QAC/B,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE;YAChD,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,eAAe;gBACf,YAAY,EAAE,gBAAgB,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,6DAA6D;aAChI;SACF,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE;YAChD,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,oCAAoC;gBACpC,YAAY,EAAE,gBAAgB,MAAM,CAAC,KAAK,0DAA0D;aACrG;SACF,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,MAAc,EAAE,OAAe;IACpD,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE;QACjE,MAAM;QACN,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;KAChD,CAAC,CAAC;AACL,CAAC;AAEM,MAAM,yBAAyB,GAAG,CAAC,MAAgC,EAAE,EAAE;IAC5E,OAAO;QACL,IAAI,EAAE,CAAO,GAAY,EAAE,EAAE;;YAC3B,IAAI,IAA2D,CAAC;YAChE,IAAI,CAAC;gBACH,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;YAC1B,CAAC;YAAC,WAAM,CAAC;gBACP,OAAO,aAAa,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC;YACjD,CAAC;YAED,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACf,OAAO,aAAa,CAAC,GAAG,EAAE,sBAAsB,CAAC,CAAC;YACpD,CAAC;YAED,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK,EAAE,CAAC;gBAChC,OAAO,aAAa,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC;YAC/C,CAAC;YAED,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;gBAClB,KAAK,WAAW;oBACd,OAAO,sBAAsB,CAAC,MAAM,EAAE,MAAA,IAAI,CAAC,IAAI,mCAAI,IAAI,CAAC,CAAC;gBAC3D;oBACE,OAAO,aAAa,CAAC,GAAG,EAAE,iBAAiB,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC,CAAA;KACF,CAAC;AACJ,CAAC,CAAC;AA1BW,QAAA,yBAAyB,6BA0BpC","sourcesContent":["import type { User } from './clientTypes.js';\n\ntype CreateRouteHandlerConfig = {\n appId: string;\n};\n\nfunction createUserSyncResponse(\n config: CreateRouteHandlerConfig,\n user: User | null,\n) {\n if (user && user.refresh_token) {\n return new Response(JSON.stringify({ ok: true }), {\n headers: {\n 'Content-Type': 'application/json',\n // 7 day expiry\n 'Set-Cookie': `instant_user_${config.appId}=${JSON.stringify(user)}; Path=/; HttpOnly; Secure; SameSite=Strict; Max-Age=604800`,\n },\n });\n } else {\n return new Response(JSON.stringify({ ok: true }), {\n headers: {\n 'Content-Type': 'application/json',\n // remove the cookie (some browsers)\n 'Set-Cookie': `instant_user_${config.appId}=; Path=/; HttpOnly; Secure; SameSite=Strict; Max-Age=-1`,\n },\n });\n }\n}\n\nfunction errorResponse(status: number, message: string) {\n return new Response(JSON.stringify({ ok: false, error: message }), {\n status,\n headers: { 'Content-Type': 'application/json' },\n });\n}\n\nexport const createInstantRouteHandler = (config: CreateRouteHandlerConfig) => {\n return {\n POST: async (req: Request) => {\n let body: { type?: string; appId?: string; user?: User | null };\n try {\n body = await req.json();\n } catch {\n return errorResponse(400, 'Invalid JSON body');\n }\n\n if (!body.type) {\n return errorResponse(400, 'Missing \"type\" field');\n }\n\n if (body.appId !== config.appId) {\n return errorResponse(403, 'App ID mismatch');\n }\n\n switch (body.type) {\n case 'sync-user':\n return createUserSyncResponse(config, body.user ?? null);\n default:\n return errorResponse(400, `Unknown type: ${body.type}`);\n }\n },\n };\n};\n"]}
|
package/dist/commonjs/datalog.js
CHANGED
|
@@ -14,7 +14,7 @@ function matchVariable(variable, triplePart, context) {
|
|
|
14
14
|
const bound = context[variable];
|
|
15
15
|
return matchPart(bound, triplePart, context);
|
|
16
16
|
}
|
|
17
|
-
return {
|
|
17
|
+
return Object.assign(Object.assign({}, context), { [variable]: triplePart });
|
|
18
18
|
}
|
|
19
19
|
function matchExact(patternPart, triplePart, context) {
|
|
20
20
|
return patternPart === triplePart ? context : null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"datalog.js","sourceRoot":"","sources":["../../src/datalog.js"],"names":[],"mappings":";;AA4DA,oCAKC;AAID,kCAIC;AAkBD,gCAIC;AAWD,sBAGC;AA7GD,kBAAkB;AAClB,yCAAwC;AAExC,SAAS,UAAU,CAAC,CAAC;IACnB,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;AACpD,CAAC;AAED,SAAS,aAAa,CAAC,QAAQ,EAAE,UAAU,EAAE,OAAO;IAClD,IAAI,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;QACrC,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;QAChC,OAAO,SAAS,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IAC/C,CAAC;IACD,
|
|
1
|
+
{"version":3,"file":"datalog.js","sourceRoot":"","sources":["../../src/datalog.js"],"names":[],"mappings":"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","sourcesContent":["// 1. patternMatch\nimport { getTriples } from './store.ts';\n\nfunction isVariable(x) {\n return typeof x === 'string' && x.startsWith('?');\n}\n\nfunction matchVariable(variable, triplePart, context) {\n if (context.hasOwnProperty(variable)) {\n const bound = context[variable];\n return matchPart(bound, triplePart, context);\n }\n return { ...context, [variable]: triplePart };\n}\n\nfunction matchExact(patternPart, triplePart, context) {\n return patternPart === triplePart ? context : null;\n}\n\nfunction matcherForPatternPart(patternPart) {\n switch (typeof patternPart) {\n case 'string':\n return patternPart.startsWith('?') ? matchVariable : matchExact;\n default:\n return matchExact;\n }\n}\n\nconst validArgMapProps = [\n 'in',\n '$in',\n '$not',\n '$isNull',\n '$comparator', // covers all of $gt, $lt, etc.\n];\n\n// Checks if an object is an args map\nfunction isArgsMap(patternPart) {\n for (const prop of validArgMapProps) {\n if (patternPart.hasOwnProperty(prop)) {\n return true;\n }\n }\n return false;\n}\n\nfunction matchPart(patternPart, triplePart, context) {\n if (!context) return null;\n if (typeof patternPart === 'object') {\n // This is an args map, so we'll have already fitered the triples\n // in `getRelevantTriples`\n if (isArgsMap(patternPart)) {\n return context;\n }\n return null;\n }\n const matcher = matcherForPatternPart(patternPart);\n return matcher(patternPart, triplePart, context);\n}\n\nexport function matchPattern(pattern, triple, context) {\n return pattern.reduce((context, patternPart, idx) => {\n const triplePart = triple[idx];\n return matchPart(patternPart, triplePart, context);\n }, context);\n}\n\n// 2. querySingle\n\nexport function querySingle(store, pattern, context) {\n return relevantTriples(store, pattern, context)\n .map((triple) => matchPattern(pattern, triple, context))\n .filter((x) => x);\n}\n\n// 3. queryWhere\n\nfunction queryPattern(store, pattern, contexts) {\n if (pattern.or) {\n return pattern.or.patterns.flatMap((patterns) => {\n return queryWhere(store, patterns, contexts);\n });\n }\n if (pattern.and) {\n return pattern.and.patterns.reduce((contexts, patterns) => {\n return queryWhere(store, patterns, contexts);\n }, contexts);\n }\n return contexts.flatMap((context) => querySingle(store, pattern, context));\n}\n\nexport function queryWhere(store, patterns, contexts = [{}]) {\n return patterns.reduce((contexts, pattern) => {\n return queryPattern(store, pattern, contexts);\n }, contexts);\n}\n\n// 4. query\n\nfunction actualize(context, find) {\n if (Array.isArray(find)) {\n return find.map((findPart) => actualize(context, findPart));\n }\n return isVariable(find) ? context[find] : find;\n}\n\nexport function query(store, { find, where }) {\n const contexts = queryWhere(store, where);\n return contexts.map((context) => actualize(context, find));\n}\n\n// 5. Index\n\nfunction relevantTriples(store, pattern, context) {\n return getTriples(store, actualize(context, pattern));\n}\n"]}
|
package/dist/commonjs/devtool.js
CHANGED
|
@@ -37,14 +37,15 @@ exports.createDevtool = createDevtool;
|
|
|
37
37
|
const flags = __importStar(require("./utils/flags.js"));
|
|
38
38
|
let currentDevtool;
|
|
39
39
|
function createDevtool(appId, config) {
|
|
40
|
-
currentDevtool
|
|
40
|
+
currentDevtool === null || currentDevtool === void 0 ? void 0 : currentDevtool.dispose();
|
|
41
41
|
const iframeContrainer = createIframeContainer(config);
|
|
42
42
|
const toggler = createToggler(config, toggleView);
|
|
43
43
|
const iframe = createIframe(getSrc(appId));
|
|
44
44
|
function onPostMessage(event) {
|
|
45
|
+
var _a;
|
|
45
46
|
if (event.source !== iframe.element.contentWindow)
|
|
46
47
|
return;
|
|
47
|
-
if (event.data
|
|
48
|
+
if (((_a = event.data) === null || _a === void 0 ? void 0 : _a.type) === 'close' && iframeContrainer.isVisible()) {
|
|
48
49
|
toggleView();
|
|
49
50
|
}
|
|
50
51
|
}
|
|
@@ -114,23 +115,13 @@ function createToggler(config, onClick) {
|
|
|
114
115
|
const element = document.createElement('button');
|
|
115
116
|
element.innerHTML = logoSVG;
|
|
116
117
|
element.className = 'instant-devtool-toggler';
|
|
117
|
-
Object.assign(element.style, {
|
|
118
|
+
Object.assign(element.style, Object.assign(Object.assign({
|
|
118
119
|
// pos
|
|
119
|
-
position: 'fixed',
|
|
120
|
-
...cssPositionForToggler(config.position),
|
|
121
|
-
height: '32px',
|
|
122
|
-
width: '32px',
|
|
120
|
+
position: 'fixed' }, cssPositionForToggler(config.position)), { height: '32px', width: '32px',
|
|
123
121
|
// layout
|
|
124
|
-
display: 'flex',
|
|
125
|
-
alignItems: 'center',
|
|
126
|
-
justifyContent: 'center',
|
|
127
|
-
zIndex: '9010',
|
|
122
|
+
display: 'flex', alignItems: 'center', justifyContent: 'center', zIndex: '9010',
|
|
128
123
|
// look
|
|
129
|
-
padding: '0',
|
|
130
|
-
margin: '0',
|
|
131
|
-
border: 'none',
|
|
132
|
-
cursor: 'pointer',
|
|
133
|
-
});
|
|
124
|
+
padding: '0', margin: '0', border: 'none', cursor: 'pointer' }));
|
|
134
125
|
element.addEventListener('click', onClick);
|
|
135
126
|
return { element };
|
|
136
127
|
}
|
|
@@ -160,16 +151,7 @@ function cssPositionForIframeContainer(position) {
|
|
|
160
151
|
}
|
|
161
152
|
function createIframeContainer(config) {
|
|
162
153
|
const element = document.createElement('div');
|
|
163
|
-
Object.assign(element.style, {
|
|
164
|
-
position: 'fixed',
|
|
165
|
-
...cssPositionForIframeContainer(config.position),
|
|
166
|
-
display: 'block',
|
|
167
|
-
borderRadius: '4px',
|
|
168
|
-
border: '1px #ccc solid',
|
|
169
|
-
boxShadow: '0px 0px 8px #00000044',
|
|
170
|
-
backgroundColor: '#eee',
|
|
171
|
-
zIndex: '999990',
|
|
172
|
-
});
|
|
154
|
+
Object.assign(element.style, Object.assign(Object.assign({ position: 'fixed' }, cssPositionForIframeContainer(config.position)), { display: 'block', borderRadius: '4px', border: '1px #ccc solid', boxShadow: '0px 0px 8px #00000044', backgroundColor: '#eee', zIndex: '999990' }));
|
|
173
155
|
element.style.display = 'none';
|
|
174
156
|
element.className = 'instant-devtool-container';
|
|
175
157
|
function isVisible() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"devtool.js","sourceRoot":"","sources":["../../src/devtool.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWA,sCA2DC;AAjED,wDAA0C;AAI1C,IAAI,cAAmC,CAAC;AAExC,SAAgB,aAAa,CAAC,KAAa,EAAE,MAA2B;IACtE,cAAc,
|
|
1
|
+
{"version":3,"file":"devtool.js","sourceRoot":"","sources":["../../src/devtool.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n DevtoolConfig,\n DevtoolPosition,\n StrictDevtoolConfig,\n} from './coreTypes.ts';\nimport * as flags from './utils/flags.ts';\n\ntype Devtool = { dispose: () => void };\n\nlet currentDevtool: Devtool | undefined;\n\nexport function createDevtool(appId: string, config: StrictDevtoolConfig) {\n currentDevtool?.dispose();\n\n const iframeContrainer = createIframeContainer(config);\n const toggler = createToggler(config, toggleView);\n const iframe = createIframe(getSrc(appId));\n\n function onPostMessage(event: MessageEvent) {\n if (event.source !== iframe.element.contentWindow) return;\n\n if (event.data?.type === 'close' && iframeContrainer.isVisible()) {\n toggleView();\n }\n }\n\n function onKeyDown(event: KeyboardEvent) {\n const isToggleShortcut =\n event.shiftKey && event.ctrlKey && event.key === '0';\n const isEsc = event.key === 'Escape' || event.key === 'Esc';\n\n if (isToggleShortcut) {\n toggleView();\n } else if (isEsc && iframeContrainer.isVisible()) {\n toggleView();\n }\n }\n\n function toggleView() {\n if (iframeContrainer.isVisible()) {\n iframeContrainer.element.style.display = 'none';\n } else {\n iframeContrainer.element.style.display = 'block';\n\n // lazily render iframe on first open\n if (!iframeContrainer.element.contains(iframe.element)) {\n iframeContrainer.element.appendChild(iframe.element);\n }\n }\n }\n\n function dispose() {\n iframeContrainer.element.remove();\n toggler.element.remove();\n removeEventListener('keydown', onKeyDown);\n removeEventListener('message', onPostMessage);\n }\n\n function create() {\n document.body.appendChild(iframeContrainer.element);\n document.body.appendChild(toggler.element);\n addEventListener('keydown', onKeyDown);\n addEventListener('message', onPostMessage);\n\n currentDevtool = {\n dispose,\n };\n }\n\n return create();\n}\n\nfunction getSrc(appId: string) {\n const useLocalDashboard = flags.devBackend || flags.devtoolLocalDashboard;\n const src = `${useLocalDashboard ? 'http://localhost:3000' : 'https://instantdb.com'}/_devtool?appId=${appId}`;\n return src;\n}\n\nfunction createIframe(src: string) {\n const element = document.createElement('iframe');\n\n element.src = src;\n element.className = 'instant-devtool-iframe';\n Object.assign(element.style, {\n width: '100%',\n height: '100%',\n backgroundColor: 'white',\n border: 'none',\n } as Partial<CSSStyleDeclaration>);\n return { element };\n}\n\nfunction createToggler(\n config: StrictDevtoolConfig,\n onClick: (this: HTMLButtonElement, ev: MouseEvent) => any,\n) {\n const logoSVG = `\n <svg width=\"32\" height=\"32\" viewBox=\"0 0 512 512\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <rect width=\"512\" height=\"512\" fill=\"black\"/>\n <rect x=\"97.0973\" y=\"91.3297\" width=\"140\" height=\"330\" fill=\"white\"/>\n </svg>\n `;\n const element = document.createElement('button');\n element.innerHTML = logoSVG;\n element.className = 'instant-devtool-toggler';\n Object.assign(element.style, {\n // pos\n position: 'fixed',\n ...cssPositionForToggler(config.position),\n height: '32px',\n width: '32px',\n // layout\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n zIndex: '9010',\n // look\n padding: '0',\n margin: '0',\n border: 'none',\n cursor: 'pointer',\n } as Partial<CSSStyleDeclaration>);\n element.addEventListener('click', onClick);\n return { element };\n}\n\nfunction cssPositionForToggler(position: DevtoolPosition) {\n switch (position) {\n case 'bottom-left':\n return { bottom: '24px', left: '24px' };\n case 'bottom-right':\n return { bottom: '24px', right: '24px' };\n case 'top-right':\n return { top: '24px', right: '24px' };\n case 'top-left':\n return { top: '24px', left: '24px' };\n }\n}\n\nfunction cssPositionForIframeContainer(position: DevtoolPosition) {\n switch (position) {\n case 'bottom-left':\n return { bottom: '24px', right: '24px', left: '60px', top: '72px' };\n case 'bottom-right':\n return { bottom: '24px', left: '24px', right: '60px', top: '72px' };\n case 'top-right':\n return { top: '24px', left: '24px', right: '60px', bottom: '72px' };\n case 'top-left':\n return { top: '24px', right: '24px', left: '60px', bottom: '72px' };\n }\n}\n\nfunction createIframeContainer(config: StrictDevtoolConfig) {\n const element = document.createElement('div');\n Object.assign(element.style, {\n position: 'fixed',\n ...cssPositionForIframeContainer(config.position),\n display: 'block',\n borderRadius: '4px',\n border: '1px #ccc solid',\n boxShadow: '0px 0px 8px #00000044',\n backgroundColor: '#eee',\n zIndex: '999990',\n } as Partial<CSSStyleDeclaration>);\n element.style.display = 'none';\n element.className = 'instant-devtool-container';\n function isVisible() {\n return element.style.display !== 'none';\n }\n return { element, isVisible };\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"framework.d.ts","sourceRoot":"","sources":["../../src/framework.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,mBAAmB,EACnB,aAAa,EAEd,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAG9C,eAAO,MAAM,QAAQ,SAAwD,CAAC;AAE9E,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,EAAE,EAAE,mBAAmB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;CACnC,CAAC;AAIF,KAAK,YAAY,GACb;IACE,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,GAAG,CAAC;IACb,KAAK,EAAE,GAAG,CAAC;IACX,SAAS,EAAE,GAAG,CAAC;IACf,KAAK,EAAE,GAAG,CAAC;IACX,QAAQ,CAAC,EAAE,GAAG,CAAC;CAChB,GACD;IACE,IAAI,EAAE,SAAS,CAAC;IAChB,WAAW,EAAE,GAAG,CAAC;CAClB,CAAC;AAEN,qBAAa,eAAe;IAC1B,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,EAAE,CAAgC;IAInC,SAAS,EAAE,GAAG,CACnB,MAAM,EACN;QACE,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;QACxC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;QACzB,OAAO,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC;QACvC,IAAI,CAAC,EAAE,GAAG,CAAC;QACX,KAAK,CAAC,EAAE,GAAG,CAAC;KACb,CACF,CAAa;IAEd,OAAO,CAAC,sBAAsB,CAMX;gBAEP,MAAM,EAAE,eAAe;IAe5B,SAAS,GACd,UAAU,CAAC,MAAM,EAAE;QACjB,OAAO,EAAE,GAAG,CAAC;QACb,KAAK,EAAE,GAAG,CAAC;QACX,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,GAAG,CAAC;KAChB,KAAK,IAAI,UAGV;IAGK,cAAc,GAAI,UAAU,MAAM,EAAE,OAAO,GAAG,UAoBnD;IAIK,KAAK,GACV,QAAQ,GAAG,EACX,OAAO;QACL,UAAU,EAAE,UAAU,CAAC;KACxB,KACA;QACD,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;QACzB,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;QACxC,OAAO,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;QAChC,IAAI,CAAC,EAAE,GAAG,CAAC;QACX,KAAK,CAAC,EAAE,GAAG,CAAC;KACb,CA4DC;IAEK,yBAAyB,GAC9B,QAAQ,GAAG,EACX,OAAO;QACL,UAAU,EAAE,UAAU,CAAC;KACxB;gBAhJS,SAAS,GAAG,SAAS,GAAG,OAAO;cACjC,MAAM,GAAG,SAAS;kBACd,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI;eAC/B,GAAG;gBACF,GAAG;kBAgJb;IAIK,kBAAkB,GACvB,OAAO,GAAG,EACV,SAAS,GAAG,EAAE,EACd,OAAO,aAAa,EAAE,EACtB,WAAW,GAAG;;;;MAqCd;IAEK,SAAS,GACd,QAAQ,GAAG,EACX,OAAO;QACL,UAAU,EAAE,UAAU,CAAC;KACxB,KACA;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,GAAG,CAAA;KAAE,CAM7B;IAGK,0BAA0B,GAC/B,OAAO,GAAG,KACT,OAAO,CAAC;QACT,OAAO,EAAE,GAAG,EAAE,CAAC;QACf,KAAK,EAAE,aAAa,EAAE,CAAC;QACvB,KAAK,EAAE,GAAG,CAAC;QACX,SAAS,EAAE,MAAM,CAAC;QAClB,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,CAAC,EAAE,GAAG,CAAC;KAChB,CAAC,
|
|
1
|
+
{"version":3,"file":"framework.d.ts","sourceRoot":"","sources":["../../src/framework.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,mBAAmB,EACnB,aAAa,EAEd,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAG9C,eAAO,MAAM,QAAQ,SAAwD,CAAC;AAE9E,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,EAAE,EAAE,mBAAmB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;CACnC,CAAC;AAIF,KAAK,YAAY,GACb;IACE,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,GAAG,CAAC;IACb,KAAK,EAAE,GAAG,CAAC;IACX,SAAS,EAAE,GAAG,CAAC;IACf,KAAK,EAAE,GAAG,CAAC;IACX,QAAQ,CAAC,EAAE,GAAG,CAAC;CAChB,GACD;IACE,IAAI,EAAE,SAAS,CAAC;IAChB,WAAW,EAAE,GAAG,CAAC;CAClB,CAAC;AAEN,qBAAa,eAAe;IAC1B,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,EAAE,CAAgC;IAInC,SAAS,EAAE,GAAG,CACnB,MAAM,EACN;QACE,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;QACxC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;QACzB,OAAO,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC;QACvC,IAAI,CAAC,EAAE,GAAG,CAAC;QACX,KAAK,CAAC,EAAE,GAAG,CAAC;KACb,CACF,CAAa;IAEd,OAAO,CAAC,sBAAsB,CAMX;gBAEP,MAAM,EAAE,eAAe;IAe5B,SAAS,GACd,UAAU,CAAC,MAAM,EAAE;QACjB,OAAO,EAAE,GAAG,CAAC;QACb,KAAK,EAAE,GAAG,CAAC;QACX,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,GAAG,CAAC;KAChB,KAAK,IAAI,UAGV;IAGK,cAAc,GAAI,UAAU,MAAM,EAAE,OAAO,GAAG,UAoBnD;IAIK,KAAK,GACV,QAAQ,GAAG,EACX,OAAO;QACL,UAAU,EAAE,UAAU,CAAC;KACxB,KACA;QACD,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;QACzB,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;QACxC,OAAO,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;QAChC,IAAI,CAAC,EAAE,GAAG,CAAC;QACX,KAAK,CAAC,EAAE,GAAG,CAAC;KACb,CA4DC;IAEK,yBAAyB,GAC9B,QAAQ,GAAG,EACX,OAAO;QACL,UAAU,EAAE,UAAU,CAAC;KACxB;gBAhJS,SAAS,GAAG,SAAS,GAAG,OAAO;cACjC,MAAM,GAAG,SAAS;kBACd,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI;eAC/B,GAAG;gBACF,GAAG;kBAgJb;IAIK,kBAAkB,GACvB,OAAO,GAAG,EACV,SAAS,GAAG,EAAE,EACd,OAAO,aAAa,EAAE,EACtB,WAAW,GAAG;;;;MAqCd;IAEK,SAAS,GACd,QAAQ,GAAG,EACX,OAAO;QACL,UAAU,EAAE,UAAU,CAAC;KACxB,KACA;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,GAAG,CAAA;KAAE,CAM7B;IAGK,0BAA0B,GAC/B,OAAO,GAAG,KACT,OAAO,CAAC;QACT,OAAO,EAAE,GAAG,EAAE,CAAC;QACf,KAAK,EAAE,aAAa,EAAE,CAAC;QACvB,KAAK,EAAE,GAAG,CAAC;QACX,SAAS,EAAE,MAAM,CAAC;QAClB,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,CAAC,EAAE,GAAG,CAAC;KAChB,CAAC,CAoDA;CACH"}
|
|
@@ -32,6 +32,15 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
32
32
|
return result;
|
|
33
33
|
};
|
|
34
34
|
})();
|
|
35
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
36
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
37
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
38
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
39
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
40
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
41
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
42
|
+
});
|
|
43
|
+
};
|
|
35
44
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
45
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
46
|
};
|
|
@@ -46,47 +55,62 @@ const instaql_js_1 = __importDefault(require("./instaql.js"));
|
|
|
46
55
|
const linkIndex_ts_1 = require("./utils/linkIndex.js");
|
|
47
56
|
exports.isServer = typeof window === 'undefined' || 'Deno' in globalThis;
|
|
48
57
|
class FrameworkClient {
|
|
49
|
-
params;
|
|
50
|
-
db;
|
|
51
|
-
// stores all of the query promises so that ssr can read them
|
|
52
|
-
// and send the relevant results alongside the html that resulted in the query resolving
|
|
53
|
-
resultMap = new Map();
|
|
54
|
-
queryResolvedCallbacks = [];
|
|
55
58
|
constructor(params) {
|
|
56
|
-
|
|
57
|
-
|
|
59
|
+
// stores all of the query promises so that ssr can read them
|
|
60
|
+
// and send the relevant results alongside the html that resulted in the query resolving
|
|
58
61
|
this.resultMap = new Map();
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
62
|
+
this.queryResolvedCallbacks = [];
|
|
63
|
+
this.subscribe = (callback) => {
|
|
64
|
+
this.queryResolvedCallbacks.push(callback);
|
|
65
|
+
};
|
|
66
|
+
// Runs on the client when ssr gets html script tags
|
|
67
|
+
this.addQueryResult = (queryKey, value) => {
|
|
68
|
+
this.resultMap.set(queryKey, {
|
|
69
|
+
type: value.type,
|
|
70
|
+
status: 'success',
|
|
71
|
+
data: value,
|
|
72
|
+
promise: null,
|
|
73
|
+
error: null,
|
|
74
|
+
});
|
|
75
|
+
// send the result to the client
|
|
76
|
+
if (!exports.isServer) {
|
|
77
|
+
// make sure the attrs are there to create stores
|
|
78
|
+
if (!this.db._reactor.attrs) {
|
|
79
|
+
this.db._reactor._setAttrs(value.attrs);
|
|
80
|
+
}
|
|
81
|
+
this.db._reactor._addQueryData(value.query, value, !!this.db._reactor.config.schema);
|
|
77
82
|
}
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
83
|
+
};
|
|
84
|
+
// creates an entry in the results map
|
|
85
|
+
// and returns the same thing added to the map
|
|
86
|
+
this.query = (_query, opts) => {
|
|
87
|
+
const { hash, query } = this.hashQuery(_query, opts);
|
|
88
|
+
if (this.db._reactor.status === 'authenticated') {
|
|
89
|
+
const promise = this.db.queryOnce(_query, opts);
|
|
90
|
+
let entry = {
|
|
91
|
+
status: 'pending',
|
|
92
|
+
type: 'session',
|
|
93
|
+
data: undefined,
|
|
94
|
+
error: undefined,
|
|
95
|
+
promise: promise,
|
|
96
|
+
};
|
|
97
|
+
promise.then((result) => {
|
|
98
|
+
entry.status = 'success';
|
|
99
|
+
entry.data = result;
|
|
100
|
+
entry.promise = null;
|
|
101
|
+
});
|
|
102
|
+
promise.catch((error) => {
|
|
103
|
+
entry.status = 'error';
|
|
104
|
+
entry.error = error;
|
|
105
|
+
entry.promise = null;
|
|
106
|
+
});
|
|
107
|
+
this.resultMap.set(hash, entry);
|
|
108
|
+
return entry;
|
|
109
|
+
}
|
|
110
|
+
const promise = this.getTriplesAndAttrsForQuery(query);
|
|
87
111
|
let entry = {
|
|
88
112
|
status: 'pending',
|
|
89
|
-
type: '
|
|
113
|
+
type: 'http',
|
|
90
114
|
data: undefined,
|
|
91
115
|
error: undefined,
|
|
92
116
|
promise: promise,
|
|
@@ -101,118 +125,104 @@ class FrameworkClient {
|
|
|
101
125
|
entry.error = error;
|
|
102
126
|
entry.promise = null;
|
|
103
127
|
});
|
|
128
|
+
promise.then((result) => {
|
|
129
|
+
this.queryResolvedCallbacks.forEach((callback) => {
|
|
130
|
+
callback({
|
|
131
|
+
queryHash: hash,
|
|
132
|
+
query: query,
|
|
133
|
+
attrs: result.attrs,
|
|
134
|
+
triples: result.triples,
|
|
135
|
+
pageInfo: result.pageInfo,
|
|
136
|
+
});
|
|
137
|
+
});
|
|
138
|
+
});
|
|
104
139
|
this.resultMap.set(hash, entry);
|
|
105
140
|
return entry;
|
|
106
|
-
}
|
|
107
|
-
const promise = this.getTriplesAndAttrsForQuery(query);
|
|
108
|
-
let entry = {
|
|
109
|
-
status: 'pending',
|
|
110
|
-
type: 'http',
|
|
111
|
-
data: undefined,
|
|
112
|
-
error: undefined,
|
|
113
|
-
promise: promise,
|
|
114
141
|
};
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
this.queryResolvedCallbacks.forEach((callback) => {
|
|
127
|
-
callback({
|
|
128
|
-
queryHash: hash,
|
|
129
|
-
query: query,
|
|
130
|
-
attrs: result.attrs,
|
|
131
|
-
triples: result.triples,
|
|
132
|
-
pageInfo: result.pageInfo,
|
|
133
|
-
});
|
|
134
|
-
});
|
|
135
|
-
});
|
|
136
|
-
this.resultMap.set(hash, entry);
|
|
137
|
-
return entry;
|
|
138
|
-
};
|
|
139
|
-
getExistingResultForQuery = (_query, opts) => {
|
|
140
|
-
const { hash } = this.hashQuery(_query, opts);
|
|
141
|
-
return this.resultMap.get(hash);
|
|
142
|
-
};
|
|
143
|
-
// creates a query result from a set of triples, query, and attrs
|
|
144
|
-
// can be run server side or client side
|
|
145
|
-
completeIsomorphic = (query, triples, attrs, pageInfo) => {
|
|
146
|
-
const attrMap = {};
|
|
147
|
-
attrs.forEach((attr) => {
|
|
148
|
-
attrMap[attr.id] = attr;
|
|
149
|
-
});
|
|
150
|
-
const enableCardinalityInference = Boolean(this.db?._reactor?.config?.schema) &&
|
|
151
|
-
('cardinalityInference' in this.db?._reactor?.config
|
|
152
|
-
? Boolean(this.db?._reactor.config?.cardinalityInference)
|
|
153
|
-
: true);
|
|
154
|
-
const attrsStore = new s.AttrsStoreClass(attrs.reduce((acc, attr) => {
|
|
155
|
-
acc[attr.id] = attr;
|
|
156
|
-
return acc;
|
|
157
|
-
}, {}), (0, linkIndex_ts_1.createLinkIndex)(this.db?._reactor.config.schema));
|
|
158
|
-
const store = s.createStore(attrsStore, triples, enableCardinalityInference, this.params.db._reactor.config.useDateObjects || false);
|
|
159
|
-
const resp = (0, instaql_js_1.default)({
|
|
160
|
-
store: store,
|
|
161
|
-
attrsStore: attrsStore,
|
|
162
|
-
pageInfo: pageInfo,
|
|
163
|
-
aggregate: undefined,
|
|
164
|
-
}, query);
|
|
165
|
-
return resp;
|
|
166
|
-
};
|
|
167
|
-
hashQuery = (_query, opts) => {
|
|
168
|
-
if (_query && opts && 'ruleParams' in opts) {
|
|
169
|
-
_query = { $$ruleParams: opts['ruleParams'], ..._query };
|
|
170
|
-
}
|
|
171
|
-
const query = _query ? (0, index_ts_1.coerceQuery)(_query) : null;
|
|
172
|
-
return { hash: (0, index_ts_1.weakHash)(query), query: query };
|
|
173
|
-
};
|
|
174
|
-
// Run by the server to get triples and attrs
|
|
175
|
-
getTriplesAndAttrsForQuery = async (query) => {
|
|
176
|
-
try {
|
|
177
|
-
const response = await fetch(`${this.db._reactor.config.apiURI}/runtime/framework/query`, {
|
|
178
|
-
method: 'POST',
|
|
179
|
-
headers: {
|
|
180
|
-
'app-id': this.params.db._reactor.config.appId,
|
|
181
|
-
'Content-Type': 'application/json',
|
|
182
|
-
Authorization: this.params.token
|
|
183
|
-
? `Bearer ${this.params.token}`
|
|
184
|
-
: undefined,
|
|
185
|
-
},
|
|
186
|
-
body: JSON.stringify({
|
|
187
|
-
query: query,
|
|
188
|
-
}),
|
|
142
|
+
this.getExistingResultForQuery = (_query, opts) => {
|
|
143
|
+
const { hash } = this.hashQuery(_query, opts);
|
|
144
|
+
return this.resultMap.get(hash);
|
|
145
|
+
};
|
|
146
|
+
// creates a query result from a set of triples, query, and attrs
|
|
147
|
+
// can be run server side or client side
|
|
148
|
+
this.completeIsomorphic = (query, triples, attrs, pageInfo) => {
|
|
149
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
150
|
+
const attrMap = {};
|
|
151
|
+
attrs.forEach((attr) => {
|
|
152
|
+
attrMap[attr.id] = attr;
|
|
189
153
|
});
|
|
190
|
-
|
|
191
|
-
|
|
154
|
+
const enableCardinalityInference = Boolean((_c = (_b = (_a = this.db) === null || _a === void 0 ? void 0 : _a._reactor) === null || _b === void 0 ? void 0 : _b.config) === null || _c === void 0 ? void 0 : _c.schema) &&
|
|
155
|
+
('cardinalityInference' in ((_e = (_d = this.db) === null || _d === void 0 ? void 0 : _d._reactor) === null || _e === void 0 ? void 0 : _e.config)
|
|
156
|
+
? Boolean((_g = (_f = this.db) === null || _f === void 0 ? void 0 : _f._reactor.config) === null || _g === void 0 ? void 0 : _g.cardinalityInference)
|
|
157
|
+
: true);
|
|
158
|
+
const attrsStore = new s.AttrsStoreClass(attrs.reduce((acc, attr) => {
|
|
159
|
+
acc[attr.id] = attr;
|
|
160
|
+
return acc;
|
|
161
|
+
}, {}), (0, linkIndex_ts_1.createLinkIndex)((_h = this.db) === null || _h === void 0 ? void 0 : _h._reactor.config.schema));
|
|
162
|
+
const store = s.createStore(attrsStore, triples, enableCardinalityInference, this.params.db._reactor.config.useDateObjects || false);
|
|
163
|
+
const resp = (0, instaql_js_1.default)({
|
|
164
|
+
store: store,
|
|
165
|
+
attrsStore: attrsStore,
|
|
166
|
+
pageInfo: pageInfo,
|
|
167
|
+
aggregate: undefined,
|
|
168
|
+
}, query);
|
|
169
|
+
return resp;
|
|
170
|
+
};
|
|
171
|
+
this.hashQuery = (_query, opts) => {
|
|
172
|
+
if (_query && opts && 'ruleParams' in opts) {
|
|
173
|
+
_query = Object.assign({ $$ruleParams: opts['ruleParams'] }, _query);
|
|
174
|
+
}
|
|
175
|
+
const query = _query ? (0, index_ts_1.coerceQuery)(_query) : null;
|
|
176
|
+
return { hash: (0, index_ts_1.weakHash)(query), query: query };
|
|
177
|
+
};
|
|
178
|
+
// Run by the server to get triples and attrs
|
|
179
|
+
this.getTriplesAndAttrsForQuery = (query) => __awaiter(this, void 0, void 0, function* () {
|
|
180
|
+
var _a, _b, _c, _d, _e, _f;
|
|
181
|
+
try {
|
|
182
|
+
const response = yield fetch(`${this.db._reactor.config.apiURI}/runtime/framework/query`, {
|
|
183
|
+
method: 'POST',
|
|
184
|
+
headers: {
|
|
185
|
+
'app-id': this.params.db._reactor.config.appId,
|
|
186
|
+
'Content-Type': 'application/json',
|
|
187
|
+
Authorization: this.params.token
|
|
188
|
+
? `Bearer ${this.params.token}`
|
|
189
|
+
: undefined,
|
|
190
|
+
},
|
|
191
|
+
body: JSON.stringify({
|
|
192
|
+
query: query,
|
|
193
|
+
}),
|
|
194
|
+
});
|
|
195
|
+
if (!response.ok) {
|
|
196
|
+
throw new Error('Error getting triples from server');
|
|
197
|
+
}
|
|
198
|
+
const data = yield response.json();
|
|
199
|
+
const attrs = data === null || data === void 0 ? void 0 : data.attrs;
|
|
200
|
+
if (!attrs) {
|
|
201
|
+
throw new Error('No attrs');
|
|
202
|
+
}
|
|
203
|
+
// TODO: make safer
|
|
204
|
+
const triples = (_c = (_b = (_a = data.result) === null || _a === void 0 ? void 0 : _a[0].data) === null || _b === void 0 ? void 0 : _b['datalog-result']) === null || _c === void 0 ? void 0 : _c['join-rows'][0];
|
|
205
|
+
const pageInfo = (_f = (_e = (_d = data.result) === null || _d === void 0 ? void 0 : _d[0]) === null || _e === void 0 ? void 0 : _e.data) === null || _f === void 0 ? void 0 : _f['page-info'];
|
|
206
|
+
return {
|
|
207
|
+
attrs,
|
|
208
|
+
triples,
|
|
209
|
+
type: 'http',
|
|
210
|
+
queryHash: this.hashQuery(query).hash,
|
|
211
|
+
query,
|
|
212
|
+
pageInfo,
|
|
213
|
+
};
|
|
192
214
|
}
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
215
|
+
catch (err) {
|
|
216
|
+
const errWithMessage = new Error('Error getting triples from framework client');
|
|
217
|
+
// @ts-expect-error pre es2022
|
|
218
|
+
errWithMessage.cause = err;
|
|
219
|
+
throw errWithMessage;
|
|
197
220
|
}
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
triples,
|
|
204
|
-
type: 'http',
|
|
205
|
-
queryHash: this.hashQuery(query).hash,
|
|
206
|
-
query,
|
|
207
|
-
pageInfo,
|
|
208
|
-
};
|
|
209
|
-
}
|
|
210
|
-
catch (err) {
|
|
211
|
-
const errWithMessage = new Error('Error getting triples from framework client');
|
|
212
|
-
errWithMessage.cause = err;
|
|
213
|
-
throw errWithMessage;
|
|
214
|
-
}
|
|
215
|
-
};
|
|
221
|
+
});
|
|
222
|
+
this.params = params;
|
|
223
|
+
this.db = params.db;
|
|
224
|
+
this.resultMap = new Map();
|
|
225
|
+
}
|
|
216
226
|
}
|
|
217
227
|
exports.FrameworkClient = FrameworkClient;
|
|
218
228
|
//# sourceMappingURL=framework.js.map
|