@superbia/untrue 2.2.0 → 2.3.0
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/{Api.js → esm/Api.js} +19 -19
- package/dist/{DocumentContext.js → esm/DocumentContext.js} +4 -8
- package/dist/{RequestContext.js → esm/RequestContext.js} +7 -12
- package/dist/{SuperbiaContext.js → esm/SuperbiaContext.js} +4 -7
- package/dist/esm/index.js +2 -0
- package/package.json +5 -4
- package/dist/index.js +0 -10
- /package/dist/{Api.d.ts → esm/Api.d.ts} +0 -0
- /package/dist/{DocumentContext.d.ts → esm/DocumentContext.d.ts} +0 -0
- /package/dist/{RequestContext.d.ts → esm/RequestContext.d.ts} +0 -0
- /package/dist/{SuperbiaContext.d.ts → esm/SuperbiaContext.d.ts} +0 -0
- /package/dist/{index.d.ts → esm/index.d.ts} +0 -0
|
@@ -1,15 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
import { Context, Hook } from "untrue";
|
|
2
|
+
import { v4 as uuid } from "uuid";
|
|
3
|
+
import { DocumentContext } from "./DocumentContext";
|
|
4
|
+
import { RequestContext, PaginationResult, } from "./RequestContext";
|
|
5
|
+
export default class Api extends Context {
|
|
6
|
+
client;
|
|
7
|
+
documents;
|
|
8
|
+
requests;
|
|
8
9
|
constructor(client, idKey) {
|
|
9
10
|
super();
|
|
10
11
|
this.client = client;
|
|
11
|
-
this.documents = new
|
|
12
|
-
this.requests = new
|
|
12
|
+
this.documents = new DocumentContext(client, idKey);
|
|
13
|
+
this.requests = new RequestContext(idKey);
|
|
13
14
|
const listener = () => {
|
|
14
15
|
this.update();
|
|
15
16
|
};
|
|
@@ -17,17 +18,17 @@ class Api extends untrue_1.Context {
|
|
|
17
18
|
this.requests.on("update", listener);
|
|
18
19
|
}
|
|
19
20
|
useDocuments(selector) {
|
|
20
|
-
return
|
|
21
|
+
return Hook.useContext(this.documents, () => selector(this.documents.data));
|
|
21
22
|
}
|
|
22
23
|
useRequest(key, selector, requester) {
|
|
23
|
-
const value =
|
|
24
|
+
const value = Hook.useContext(this.requests, () => {
|
|
24
25
|
let request = (this.requests.data[key] ?? null);
|
|
25
|
-
request
|
|
26
|
+
request ??= {
|
|
26
27
|
loading: false,
|
|
27
28
|
done: false,
|
|
28
29
|
result: null,
|
|
29
30
|
error: null,
|
|
30
|
-
}
|
|
31
|
+
};
|
|
31
32
|
return selector(request);
|
|
32
33
|
});
|
|
33
34
|
const request = async (...args) => {
|
|
@@ -62,14 +63,14 @@ class Api extends untrue_1.Context {
|
|
|
62
63
|
return [value, request];
|
|
63
64
|
}
|
|
64
65
|
useLoad(key, selector, loader) {
|
|
65
|
-
const value =
|
|
66
|
+
const value = Hook.useContext(this.requests, () => {
|
|
66
67
|
let request = (this.requests.data[key] ?? null);
|
|
67
|
-
request
|
|
68
|
+
request ??= {
|
|
68
69
|
loading: false,
|
|
69
70
|
done: false,
|
|
70
71
|
result: null,
|
|
71
72
|
error: null,
|
|
72
|
-
}
|
|
73
|
+
};
|
|
73
74
|
return selector(request);
|
|
74
75
|
});
|
|
75
76
|
const load = async (...args) => {
|
|
@@ -99,7 +100,7 @@ class Api extends untrue_1.Context {
|
|
|
99
100
|
if (tmpPagination === undefined) {
|
|
100
101
|
throw new Error(`Endpoint "${endpointName}" not in request result.`);
|
|
101
102
|
}
|
|
102
|
-
if (!(tmpPagination instanceof
|
|
103
|
+
if (!(tmpPagination instanceof PaginationResult)) {
|
|
103
104
|
throw new Error(`Endpoint "${endpointName}" is not of Pagination type.`);
|
|
104
105
|
}
|
|
105
106
|
}
|
|
@@ -140,7 +141,6 @@ class Api extends untrue_1.Context {
|
|
|
140
141
|
return [value, load];
|
|
141
142
|
}
|
|
142
143
|
useRequestKey(params) {
|
|
143
|
-
return
|
|
144
|
+
return Hook.useMemo(() => uuid(), params);
|
|
144
145
|
}
|
|
145
146
|
}
|
|
146
|
-
exports.default = Api;
|
|
@@ -1,12 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
class DocumentContext extends SuperbiaContext_1.SuperbiaContext {
|
|
1
|
+
import { SuperbiaContext, } from "./SuperbiaContext";
|
|
2
|
+
export class DocumentContext extends SuperbiaContext {
|
|
3
|
+
data = {};
|
|
4
|
+
updateAfterResultLoop = false;
|
|
6
5
|
constructor(client, idKey) {
|
|
7
6
|
super(idKey);
|
|
8
|
-
this.data = {};
|
|
9
|
-
this.updateAfterResultLoop = false;
|
|
10
7
|
const listener = (endpoints, emitter) => {
|
|
11
8
|
emitter.on("result", (result) => {
|
|
12
9
|
this.handleResult(result);
|
|
@@ -54,4 +51,3 @@ class DocumentContext extends SuperbiaContext_1.SuperbiaContext {
|
|
|
54
51
|
return value;
|
|
55
52
|
}
|
|
56
53
|
}
|
|
57
|
-
exports.DocumentContext = DocumentContext;
|
|
@@ -1,20 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
import { SuperbiaContext } from "./SuperbiaContext";
|
|
2
|
+
export class PaginationResult {
|
|
3
|
+
loading;
|
|
4
|
+
result;
|
|
5
|
+
error;
|
|
6
6
|
constructor({ loading, result, error, }) {
|
|
7
7
|
this.loading = loading;
|
|
8
8
|
this.result = result;
|
|
9
9
|
this.error = error;
|
|
10
10
|
}
|
|
11
11
|
}
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
constructor() {
|
|
15
|
-
super(...arguments);
|
|
16
|
-
this.data = {};
|
|
17
|
-
}
|
|
12
|
+
export class RequestContext extends SuperbiaContext {
|
|
13
|
+
data = {};
|
|
18
14
|
parseResult(result) {
|
|
19
15
|
const tmpResult = {};
|
|
20
16
|
for (const key in result) {
|
|
@@ -59,4 +55,3 @@ class RequestContext extends SuperbiaContext_1.SuperbiaContext {
|
|
|
59
55
|
return value;
|
|
60
56
|
}
|
|
61
57
|
}
|
|
62
|
-
exports.RequestContext = RequestContext;
|
|
@@ -1,12 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
class SuperbiaContext extends untrue_1.Context {
|
|
1
|
+
import { Context } from "untrue";
|
|
2
|
+
export class SuperbiaContext extends Context {
|
|
3
|
+
idKey;
|
|
4
|
+
typenameKey = "__typename__";
|
|
6
5
|
constructor(idKey) {
|
|
7
6
|
super();
|
|
8
7
|
this.idKey = idKey;
|
|
9
|
-
this.typenameKey = "__typename__";
|
|
10
8
|
}
|
|
11
9
|
isIdDocument(value) {
|
|
12
10
|
return (this.idKey in value &&
|
|
@@ -15,4 +13,3 @@ class SuperbiaContext extends untrue_1.Context {
|
|
|
15
13
|
typeof value[this.typenameKey] === "string");
|
|
16
14
|
}
|
|
17
15
|
}
|
|
18
|
-
exports.SuperbiaContext = SuperbiaContext;
|
package/package.json
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@superbia/untrue",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.3.0",
|
|
4
4
|
"description": "Integrate Superbia and Untrue.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
7
7
|
"url": "https://github.com/iconshot/superbia-untrue.git"
|
|
8
8
|
},
|
|
9
|
-
"
|
|
9
|
+
"type": "module",
|
|
10
|
+
"main": "dist/esm/index.js",
|
|
10
11
|
"scripts": {
|
|
11
12
|
"clean": "rm -rf dist",
|
|
12
13
|
"build": "npm run clean && tsc",
|
|
@@ -18,8 +19,8 @@
|
|
|
18
19
|
],
|
|
19
20
|
"license": "MIT",
|
|
20
21
|
"peerDependencies": {
|
|
21
|
-
"@superbia/client": "^2.
|
|
22
|
-
"untrue": "^5.
|
|
22
|
+
"@superbia/client": "^2.3.0",
|
|
23
|
+
"untrue": "^5.18.0"
|
|
23
24
|
},
|
|
24
25
|
"dependencies": {
|
|
25
26
|
"uuid": "^10.0.0"
|
package/dist/index.js
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.PaginationResult = exports.default = void 0;
|
|
7
|
-
var Api_1 = require("./Api");
|
|
8
|
-
Object.defineProperty(exports, "default", { enumerable: true, get: function () { return __importDefault(Api_1).default; } });
|
|
9
|
-
var RequestContext_1 = require("./RequestContext");
|
|
10
|
-
Object.defineProperty(exports, "PaginationResult", { enumerable: true, get: function () { return RequestContext_1.PaginationResult; } });
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|