@graphprotocol/hypergraph 0.0.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/LICENSE +21 -0
- package/README.md +2 -0
- package/dist/connect/auth-storage.d.ts.map +1 -0
- package/dist/connect/create-app-identity.d.ts.map +1 -0
- package/dist/connect/create-auth-url.d.ts.map +1 -0
- package/dist/connect/create-auth-url.js +35 -0
- package/dist/connect/create-auth-url.js.map +1 -0
- package/dist/connect/create-callback-params.d.ts.map +1 -0
- package/dist/connect/create-callback-params.js +17 -0
- package/dist/connect/create-callback-params.js.map +1 -0
- package/dist/connect/create-identity-keys.d.ts.map +1 -0
- package/dist/connect/identity-encryption.d.ts.map +1 -0
- package/dist/connect/index.d.ts.map +1 -0
- package/dist/connect/login.d.ts.map +1 -0
- package/dist/connect/parse-callback-params.d.ts.map +1 -0
- package/dist/connect/parse-callback-params.js +63 -0
- package/dist/connect/parse-callback-params.js.map +1 -0
- package/dist/connect/prove-ownership.d.ts.map +1 -0
- package/dist/connect/types.d.ts +57 -0
- package/dist/connect/types.d.ts.map +1 -0
- package/dist/connect/types.js +24 -0
- package/dist/connect/types.js.map +1 -0
- package/dist/entity/create.d.ts.map +1 -0
- package/dist/entity/decodedEntitiesCache.d.ts.map +1 -0
- package/dist/entity/delete.d.ts.map +1 -0
- package/dist/entity/entity.d.ts.map +1 -0
- package/dist/entity/entityRelationParentsMap.d.ts.map +1 -0
- package/dist/entity/findMany.d.ts.map +1 -0
- package/dist/entity/findMany.js +436 -0
- package/dist/entity/findMany.js.map +1 -0
- package/dist/entity/findOne.d.ts.map +1 -0
- package/dist/entity/getEntityRelations.d.ts.map +1 -0
- package/dist/entity/index.d.ts.map +1 -0
- package/dist/entity/relationParentsMap.d.ts.map +1 -0
- package/dist/entity/removeRelation.d.ts.map +1 -0
- package/dist/entity/types.d.ts +79 -0
- package/dist/entity/types.d.ts.map +1 -0
- package/dist/entity/types.js +2 -0
- package/dist/entity/types.js.map +1 -0
- package/dist/entity/update.d.ts.map +1 -0
- package/dist/identity/auth-storage.d.ts.map +1 -0
- package/dist/identity/get-verified-identity.d.ts.map +1 -0
- package/dist/identity/identity-encryption.d.ts.map +1 -0
- package/dist/identity/index.d.ts.map +1 -0
- package/dist/identity/logout.d.ts.map +1 -0
- package/dist/identity/prove-ownership.d.ts.map +1 -0
- package/dist/inboxes/create-inbox.d.ts.map +1 -0
- package/dist/inboxes/get-list-inboxes.d.ts.map +1 -0
- package/dist/inboxes/index.d.ts.map +1 -0
- package/dist/inboxes/merge-messages.d.ts.map +1 -0
- package/dist/inboxes/message-encryption.d.ts.map +1 -0
- package/dist/inboxes/message-validation.d.ts.map +1 -0
- package/dist/inboxes/prepare-message.d.ts +31 -0
- package/dist/inboxes/prepare-message.d.ts.map +1 -0
- package/dist/inboxes/recover-inbox-creator.d.ts.map +1 -0
- package/dist/inboxes/recover-inbox-message-signer.d.ts.map +1 -0
- package/dist/inboxes/send-message.d.ts.map +1 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/messages/index.d.ts.map +1 -0
- package/dist/messages/signed-update-message.d.ts.map +1 -0
- package/dist/messages/types.d.ts.map +1 -0
- package/dist/space-events/accept-invitation.d.ts.map +1 -0
- package/dist/space-events/apply-event.d.ts.map +1 -0
- package/dist/space-events/create-inbox.d.ts.map +1 -0
- package/dist/space-events/create-invitation.d.ts.map +1 -0
- package/dist/space-events/create-space.d.ts.map +1 -0
- package/dist/space-events/delete-space.d.ts.map +1 -0
- package/dist/space-events/hash-event.d.ts.map +1 -0
- package/dist/space-events/index.d.ts.map +1 -0
- package/dist/space-info/decrypt-space-info.d.ts.map +1 -0
- package/dist/space-info/encrypt-and-sign-space-info.d.ts.map +1 -0
- package/dist/space-info/index.d.ts.map +1 -0
- package/dist/store-connect.d.ts.map +1 -0
- package/dist/store.d.ts.map +1 -0
- package/dist/type/type.d.ts.map +1 -0
- package/dist/utils/automergeId.d.ts +9 -0
- package/dist/utils/automergeId.d.ts.map +1 -0
- package/dist/utils/automergeId.js +17 -0
- package/dist/utils/automergeId.js.map +1 -0
- package/dist/utils/generateId.d.ts +15 -0
- package/dist/utils/generateId.d.ts.map +1 -0
- package/dist/utils/generateId.js +18 -0
- package/dist/utils/generateId.js.map +1 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/package.json +35 -0
- package/src/connect/auth-storage.ts +67 -0
- package/src/connect/create-app-identity.ts +16 -0
- package/src/connect/create-auth-url.ts +42 -0
- package/src/connect/create-callback-params.ts +30 -0
- package/src/connect/create-identity-keys.ts +20 -0
- package/src/connect/identity-encryption.ts +232 -0
- package/src/connect/index.ts +10 -0
- package/src/connect/login.ts +114 -0
- package/src/connect/parse-auth-params.ts +37 -0
- package/src/connect/parse-callback-params.ts +67 -0
- package/src/connect/prove-ownership.ts +58 -0
- package/src/connect/types.ts +67 -0
- package/src/entity/create.ts +58 -0
- package/src/entity/decodedEntitiesCache.ts +38 -0
- package/src/entity/delete.ts +52 -0
- package/src/entity/entity.ts +26 -0
- package/src/entity/entityRelationParentsMap.ts +6 -0
- package/src/entity/findMany.ts +506 -0
- package/src/entity/findOne.ts +34 -0
- package/src/entity/getEntityRelations.ts +45 -0
- package/src/entity/hasValidTypesProperty.ts +8 -0
- package/src/entity/index.ts +8 -0
- package/src/entity/relationParentsMap.ts +6 -0
- package/src/entity/removeRelation.ts +21 -0
- package/src/entity/test.ts +0 -0
- package/src/entity/types.ts +100 -0
- package/src/entity/update.ts +58 -0
- package/src/entity/variant-schema.ts +677 -0
- package/src/identity/auth-storage.ts +57 -0
- package/src/identity/get-verified-identity.ts +53 -0
- package/src/identity/identity-encryption.ts +140 -0
- package/src/identity/index.ts +6 -0
- package/src/identity/logout.ts +8 -0
- package/src/identity/prove-ownership.ts +58 -0
- package/src/identity/types.ts +44 -0
- package/src/inboxes/create-inbox.ts +102 -0
- package/src/inboxes/get-list-inboxes.ts +52 -0
- package/src/inboxes/index.ts +10 -0
- package/src/inboxes/merge-messages.ts +28 -0
- package/src/inboxes/message-encryption.ts +35 -0
- package/src/inboxes/message-validation.ts +66 -0
- package/src/inboxes/prepare-message.ts +85 -0
- package/src/inboxes/recover-inbox-creator.ts +29 -0
- package/src/inboxes/recover-inbox-message-signer.ts +42 -0
- package/src/inboxes/send-message.ts +75 -0
- package/src/inboxes/types.ts +9 -0
- package/src/index.ts +13 -0
- package/src/key/create-key.ts +27 -0
- package/src/key/decrypt-key.ts +19 -0
- package/src/key/encrypt-key.ts +27 -0
- package/src/key/index.ts +4 -0
- package/src/key/key-box.ts +31 -0
- package/src/messages/decrypt-message.ts +13 -0
- package/src/messages/encrypt-message.ts +14 -0
- package/src/messages/index.ts +5 -0
- package/src/messages/serialize.ts +24 -0
- package/src/messages/signed-update-message.ts +84 -0
- package/src/messages/types.ts +506 -0
- package/src/space-events/accept-invitation.ts +36 -0
- package/src/space-events/apply-event.ts +150 -0
- package/src/space-events/create-inbox.ts +56 -0
- package/src/space-events/create-invitation.ts +41 -0
- package/src/space-events/create-space.ts +35 -0
- package/src/space-events/delete-space.ts +36 -0
- package/src/space-events/hash-event.ts +10 -0
- package/src/space-events/index.ts +8 -0
- package/src/space-events/types.ts +137 -0
- package/src/space-info/decrypt-space-info.ts +22 -0
- package/src/space-info/encrypt-and-sign-space-info.ts +50 -0
- package/src/space-info/index.ts +3 -0
- package/src/space-info/types.ts +7 -0
- package/src/store-connect.ts +504 -0
- package/src/store.ts +493 -0
- package/src/type/type.ts +25 -0
- package/src/types.ts +47 -0
- package/src/utils/assertExhaustive.ts +3 -0
- package/src/utils/automergeId.ts +18 -0
- package/src/utils/base58.ts +74 -0
- package/src/utils/generateId.ts +18 -0
- package/src/utils/hexBytesAddressUtils.ts +25 -0
- package/src/utils/index.ts +8 -0
- package/src/utils/internal/base58Utils.ts +47 -0
- package/src/utils/internal/deep-merge.ts +38 -0
- package/src/utils/isRelationField.ts +9 -0
- package/src/utils/jsc.ts +94 -0
- package/src/utils/stringToUint8Array.ts +9 -0
|
@@ -0,0 +1,436 @@
|
|
|
1
|
+
import * as Schema from 'effect/Schema';
|
|
2
|
+
import { deepMerge } from '../utils/internal/deep-merge.js';
|
|
3
|
+
import { isRelationField } from '../utils/isRelationField.js';
|
|
4
|
+
import { canonicalize } from '../utils/jsc.js';
|
|
5
|
+
import { decodedEntitiesCache } from './decodedEntitiesCache.js';
|
|
6
|
+
import { entityRelationParentsMap } from './entityRelationParentsMap.js';
|
|
7
|
+
import { getEntityRelations } from './getEntityRelations.js';
|
|
8
|
+
import { hasValidTypesProperty } from './hasValidTypesProperty.js';
|
|
9
|
+
const documentChangeListener = {
|
|
10
|
+
subscribedQueriesCount: 0,
|
|
11
|
+
unsubscribe: undefined
|
|
12
|
+
};
|
|
13
|
+
const subscribeToDocumentChanges = handle => {
|
|
14
|
+
const onChange = ({
|
|
15
|
+
patches,
|
|
16
|
+
doc
|
|
17
|
+
}) => {
|
|
18
|
+
const changedRelations = new Set();
|
|
19
|
+
const deletedRelations = new Set();
|
|
20
|
+
const changedEntities = new Set();
|
|
21
|
+
const deletedEntities = new Set();
|
|
22
|
+
for (const patch of patches) {
|
|
23
|
+
switch (patch.action) {
|
|
24
|
+
case 'put':
|
|
25
|
+
case 'insert':
|
|
26
|
+
case 'splice':
|
|
27
|
+
{
|
|
28
|
+
if (patch.path.length > 2 && patch.path[0] === 'entities' && typeof patch.path[1] === 'string') {
|
|
29
|
+
changedEntities.add(patch.path[1]);
|
|
30
|
+
}
|
|
31
|
+
if (patch.path.length > 2 && patch.path[0] === 'relations' && typeof patch.path[1] === 'string') {
|
|
32
|
+
changedRelations.add(patch.path[1]);
|
|
33
|
+
}
|
|
34
|
+
break;
|
|
35
|
+
}
|
|
36
|
+
case 'del':
|
|
37
|
+
{
|
|
38
|
+
if (patch.path.length === 2 && patch.path[0] === 'entities' && typeof patch.path[1] === 'string') {
|
|
39
|
+
deletedEntities.add(patch.path[1]);
|
|
40
|
+
}
|
|
41
|
+
if (patch.path.length === 2 && patch.path[0] === 'relations' && typeof patch.path[1] === 'string') {
|
|
42
|
+
deletedRelations.add(patch.path[1]);
|
|
43
|
+
}
|
|
44
|
+
break;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
const entityTypes = new Set();
|
|
49
|
+
// collect all query entries that changed and only at the end make one copy to change the
|
|
50
|
+
// reference to reduce the amount of O(n) operations per query to 1
|
|
51
|
+
const touchedQueries = new Set();
|
|
52
|
+
// collect all entities that used this entity as a entry in on of their relation fields
|
|
53
|
+
const touchedRelationParents = new Set();
|
|
54
|
+
// loop over all changed entities and update the cache
|
|
55
|
+
for (const entityId of changedEntities) {
|
|
56
|
+
const entity = doc.entities?.[entityId];
|
|
57
|
+
if (!hasValidTypesProperty(entity)) continue;
|
|
58
|
+
for (const typeName of entity['@@types@@']) {
|
|
59
|
+
if (typeof typeName !== 'string') continue;
|
|
60
|
+
const cacheEntry = decodedEntitiesCache.get(typeName);
|
|
61
|
+
if (!cacheEntry) continue;
|
|
62
|
+
let includeFromAllQueries = {};
|
|
63
|
+
for (const [, query] of cacheEntry.queries) {
|
|
64
|
+
includeFromAllQueries = deepMerge(includeFromAllQueries, query.include);
|
|
65
|
+
}
|
|
66
|
+
const oldDecodedEntry = cacheEntry.entities.get(entityId);
|
|
67
|
+
const relations = getEntityRelations(entityId, cacheEntry.type, doc, includeFromAllQueries);
|
|
68
|
+
let decoded;
|
|
69
|
+
try {
|
|
70
|
+
decoded = cacheEntry.decoder({
|
|
71
|
+
...entity,
|
|
72
|
+
...relations,
|
|
73
|
+
id: entityId
|
|
74
|
+
});
|
|
75
|
+
cacheEntry.entities.set(entityId, decoded);
|
|
76
|
+
} catch (error) {
|
|
77
|
+
// TODO: store the corrupt entity ids somewhere, so they can be read via the API
|
|
78
|
+
console.error('error', error);
|
|
79
|
+
}
|
|
80
|
+
if (oldDecodedEntry) {
|
|
81
|
+
// collect all the Ids for relation entries in the `oldDecodedEntry`
|
|
82
|
+
const deletedRelationIds = new Set();
|
|
83
|
+
for (const [, value] of Object.entries(oldDecodedEntry)) {
|
|
84
|
+
if (Array.isArray(value)) {
|
|
85
|
+
for (const relationEntity of value) {
|
|
86
|
+
deletedRelationIds.add(relationEntity.id);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
// it's fine to remove all of them since they are re-added below
|
|
91
|
+
for (const deletedRelationId of deletedRelationIds) {
|
|
92
|
+
const deletedRelationEntry = entityRelationParentsMap.get(deletedRelationId);
|
|
93
|
+
if (deletedRelationEntry) {
|
|
94
|
+
deletedRelationEntry.set(cacheEntry, (deletedRelationEntry.get(cacheEntry) ?? 0) - 1);
|
|
95
|
+
if (deletedRelationEntry.get(cacheEntry) === 0) {
|
|
96
|
+
deletedRelationEntry.delete(cacheEntry);
|
|
97
|
+
}
|
|
98
|
+
if (deletedRelationEntry.size === 0) {
|
|
99
|
+
entityRelationParentsMap.delete(deletedRelationId);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
if (decoded) {
|
|
105
|
+
for (const [, value] of Object.entries(decoded)) {
|
|
106
|
+
if (Array.isArray(value)) {
|
|
107
|
+
for (const relationEntity of value) {
|
|
108
|
+
let relationParentEntry = entityRelationParentsMap.get(relationEntity.id);
|
|
109
|
+
if (relationParentEntry) {
|
|
110
|
+
relationParentEntry.set(cacheEntry, (relationParentEntry.get(cacheEntry) ?? 0) + 1);
|
|
111
|
+
} else {
|
|
112
|
+
relationParentEntry = new Map();
|
|
113
|
+
entityRelationParentsMap.set(relationEntity.id, relationParentEntry);
|
|
114
|
+
relationParentEntry.set(cacheEntry, 1);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
for (const [queryKey, query] of cacheEntry.queries) {
|
|
121
|
+
touchedQueries.add([typeName, queryKey]);
|
|
122
|
+
query.isInvalidated = true;
|
|
123
|
+
}
|
|
124
|
+
entityTypes.add(typeName);
|
|
125
|
+
// gather all the decodedEntitiesCacheEntries that have a relation to this entity to
|
|
126
|
+
// invoke their query listeners below
|
|
127
|
+
if (entityRelationParentsMap.has(entityId)) {
|
|
128
|
+
const decodedEntitiesCacheEntries = entityRelationParentsMap.get(entityId);
|
|
129
|
+
if (!decodedEntitiesCacheEntries) return;
|
|
130
|
+
for (const [entry] of decodedEntitiesCacheEntries) {
|
|
131
|
+
touchedRelationParents.add(entry);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
// loop over all deleted entities and remove them from the cache
|
|
137
|
+
for (const entityId of deletedEntities) {
|
|
138
|
+
for (const [affectedTypeName, cacheEntry] of decodedEntitiesCache) {
|
|
139
|
+
if (cacheEntry.entities.has(entityId)) {
|
|
140
|
+
entityTypes.add(affectedTypeName);
|
|
141
|
+
cacheEntry.entities.delete(entityId);
|
|
142
|
+
for (const [queryKey, query] of cacheEntry.queries) {
|
|
143
|
+
// find the entity in the query and remove it using splice
|
|
144
|
+
const index = query.data.findIndex(entity => entity.id === entityId);
|
|
145
|
+
if (index !== -1) {
|
|
146
|
+
query.data.splice(index, 1);
|
|
147
|
+
touchedQueries.add([affectedTypeName, queryKey]);
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
// gather all the queries of impacted parent relation queries and then remove the cacheEntry
|
|
153
|
+
if (entityRelationParentsMap.has(entityId)) {
|
|
154
|
+
const decodedEntitiesCacheEntries = entityRelationParentsMap.get(entityId);
|
|
155
|
+
if (!decodedEntitiesCacheEntries) return;
|
|
156
|
+
for (const [entry] of decodedEntitiesCacheEntries) {
|
|
157
|
+
touchedRelationParents.add(entry);
|
|
158
|
+
}
|
|
159
|
+
entityRelationParentsMap.delete(entityId);
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
// update the queries affected queries
|
|
163
|
+
for (const [typeName, queryKey] of touchedQueries) {
|
|
164
|
+
const cacheEntry = decodedEntitiesCache.get(typeName);
|
|
165
|
+
if (!cacheEntry) continue;
|
|
166
|
+
const query = cacheEntry.queries.get(queryKey);
|
|
167
|
+
if (!query) continue;
|
|
168
|
+
query.data = [...query.data]; // must be a new reference for React.useSyncExternalStore
|
|
169
|
+
}
|
|
170
|
+
// invoke all the listeners per type
|
|
171
|
+
for (const typeName of entityTypes) {
|
|
172
|
+
const cacheEntry = decodedEntitiesCache.get(typeName);
|
|
173
|
+
if (!cacheEntry) continue;
|
|
174
|
+
for (const query of cacheEntry.queries.values()) {
|
|
175
|
+
for (const listener of query.listeners) {
|
|
176
|
+
listener();
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
// trigger all the listeners of the parent relation queries
|
|
181
|
+
for (const decodedEntitiesCacheEntry of touchedRelationParents) {
|
|
182
|
+
decodedEntitiesCacheEntry.isInvalidated = true;
|
|
183
|
+
for (const query of decodedEntitiesCacheEntry.queries.values()) {
|
|
184
|
+
query.isInvalidated = true;
|
|
185
|
+
for (const listener of query.listeners) {
|
|
186
|
+
listener();
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
};
|
|
191
|
+
handle.on('change', onChange);
|
|
192
|
+
return () => {
|
|
193
|
+
handle.off('change', onChange);
|
|
194
|
+
decodedEntitiesCache.clear(); // currently we only support exactly one space
|
|
195
|
+
};
|
|
196
|
+
};
|
|
197
|
+
/**
|
|
198
|
+
* Queries for a list of entities of the given type from the repo.
|
|
199
|
+
*/
|
|
200
|
+
export function findMany(handle, type, filter, include) {
|
|
201
|
+
const decode = Schema.decodeUnknownSync(type);
|
|
202
|
+
// TODO: what's the right way to get the name of the type?
|
|
203
|
+
// @ts-expect-error name is defined
|
|
204
|
+
const typeName = type.name;
|
|
205
|
+
const doc = handle.doc();
|
|
206
|
+
if (!doc) {
|
|
207
|
+
return {
|
|
208
|
+
entities: [],
|
|
209
|
+
corruptEntityIds: []
|
|
210
|
+
};
|
|
211
|
+
}
|
|
212
|
+
const entities = doc.entities ?? {};
|
|
213
|
+
const corruptEntityIds = [];
|
|
214
|
+
const filtered = [];
|
|
215
|
+
const evaluateFilter = (fieldFilter, fieldValue) => {
|
|
216
|
+
// Handle NOT operator
|
|
217
|
+
if ('NOT' in fieldFilter && fieldFilter.NOT) {
|
|
218
|
+
return !evaluateFilter(fieldFilter.NOT, fieldValue);
|
|
219
|
+
}
|
|
220
|
+
// Handle OR operator
|
|
221
|
+
if ('OR' in fieldFilter) {
|
|
222
|
+
const orFilters = fieldFilter.OR;
|
|
223
|
+
if (Array.isArray(orFilters)) {
|
|
224
|
+
return orFilters.some(orFilter => evaluateFilter(orFilter, fieldValue));
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
// Handle basic filters
|
|
228
|
+
if ('is' in fieldFilter) {
|
|
229
|
+
if (typeof fieldValue === 'boolean') {
|
|
230
|
+
return fieldValue === fieldFilter.is;
|
|
231
|
+
}
|
|
232
|
+
if (typeof fieldValue === 'number') {
|
|
233
|
+
return fieldValue === fieldFilter.is;
|
|
234
|
+
}
|
|
235
|
+
if (typeof fieldValue === 'string') {
|
|
236
|
+
return fieldValue === fieldFilter.is;
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
if (typeof fieldValue === 'number') {
|
|
240
|
+
if ('greaterThan' in fieldFilter) {
|
|
241
|
+
const numberFilter = fieldFilter;
|
|
242
|
+
if (numberFilter.greaterThan !== undefined && fieldValue <= numberFilter.greaterThan) {
|
|
243
|
+
return false;
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
if ('lessThan' in fieldFilter) {
|
|
247
|
+
const numberFilter = fieldFilter;
|
|
248
|
+
if (numberFilter.lessThan !== undefined && fieldValue >= numberFilter.lessThan) {
|
|
249
|
+
return false;
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
if (typeof fieldValue === 'string') {
|
|
254
|
+
if ('startsWith' in fieldFilter) {
|
|
255
|
+
const textFilter = fieldFilter;
|
|
256
|
+
if (textFilter.startsWith !== undefined && !fieldValue.startsWith(textFilter.startsWith)) {
|
|
257
|
+
return false;
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
if ('endsWith' in fieldFilter) {
|
|
261
|
+
const textFilter = fieldFilter;
|
|
262
|
+
if (textFilter.endsWith !== undefined && !fieldValue.endsWith(textFilter.endsWith)) {
|
|
263
|
+
return false;
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
if ('contains' in fieldFilter) {
|
|
267
|
+
const textFilter = fieldFilter;
|
|
268
|
+
if (textFilter.contains !== undefined && !fieldValue.includes(textFilter.contains)) {
|
|
269
|
+
return false;
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
return true;
|
|
274
|
+
};
|
|
275
|
+
const evaluateCrossFieldFilter = (crossFieldFilter, entity) => {
|
|
276
|
+
for (const fieldName in crossFieldFilter) {
|
|
277
|
+
const fieldFilter = crossFieldFilter[fieldName];
|
|
278
|
+
const fieldValue = entity[fieldName];
|
|
279
|
+
if (fieldFilter && !evaluateFilter(fieldFilter, fieldValue)) {
|
|
280
|
+
return false;
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
return true;
|
|
284
|
+
};
|
|
285
|
+
const evaluateEntityFilter = (entityFilter, entity) => {
|
|
286
|
+
// handle top-level NOT operator
|
|
287
|
+
if ('NOT' in entityFilter && entityFilter.NOT) {
|
|
288
|
+
return !evaluateCrossFieldFilter(entityFilter.NOT, entity);
|
|
289
|
+
}
|
|
290
|
+
// handle top-level OR operator
|
|
291
|
+
if ('OR' in entityFilter && Array.isArray(entityFilter.OR)) {
|
|
292
|
+
return entityFilter.OR.some(orFilter => evaluateCrossFieldFilter(orFilter, entity));
|
|
293
|
+
}
|
|
294
|
+
// evaluate regular field filters
|
|
295
|
+
return evaluateCrossFieldFilter(entityFilter, entity);
|
|
296
|
+
};
|
|
297
|
+
for (const id in entities) {
|
|
298
|
+
const entity = entities[id];
|
|
299
|
+
if (hasValidTypesProperty(entity) && entity['@@types@@'].includes(typeName)) {
|
|
300
|
+
const relations = getEntityRelations(id, type, doc, include);
|
|
301
|
+
try {
|
|
302
|
+
const decoded = {
|
|
303
|
+
...decode({
|
|
304
|
+
...entity,
|
|
305
|
+
...relations,
|
|
306
|
+
id
|
|
307
|
+
}),
|
|
308
|
+
type: typeName
|
|
309
|
+
};
|
|
310
|
+
if (filter) {
|
|
311
|
+
if (evaluateEntityFilter(filter, decoded)) {
|
|
312
|
+
filtered.push(decoded);
|
|
313
|
+
}
|
|
314
|
+
} else {
|
|
315
|
+
filtered.push(decoded);
|
|
316
|
+
}
|
|
317
|
+
} catch (error) {
|
|
318
|
+
corruptEntityIds.push(id);
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
return {
|
|
323
|
+
entities: filtered,
|
|
324
|
+
corruptEntityIds: []
|
|
325
|
+
};
|
|
326
|
+
}
|
|
327
|
+
const stableEmptyArray = [];
|
|
328
|
+
export function subscribeToFindMany(handle, type, filter, include) {
|
|
329
|
+
const queryKey = filter ? canonicalize(filter) : 'all';
|
|
330
|
+
const decode = Schema.decodeUnknownSync(type);
|
|
331
|
+
// TODO: what's the right way to get the name of the type?
|
|
332
|
+
// @ts-expect-error name is defined
|
|
333
|
+
const typeName = type.name;
|
|
334
|
+
const getEntities = () => {
|
|
335
|
+
const cacheEntry = decodedEntitiesCache.get(typeName);
|
|
336
|
+
if (!cacheEntry) return stableEmptyArray;
|
|
337
|
+
const query = cacheEntry.queries.get(queryKey);
|
|
338
|
+
if (!query) return stableEmptyArray;
|
|
339
|
+
if (!cacheEntry.isInvalidated && !query.isInvalidated) {
|
|
340
|
+
return query.data;
|
|
341
|
+
}
|
|
342
|
+
const {
|
|
343
|
+
entities
|
|
344
|
+
} = findMany(handle, type, filter, include);
|
|
345
|
+
for (const entity of entities) {
|
|
346
|
+
cacheEntry?.entities.set(entity.id, entity);
|
|
347
|
+
}
|
|
348
|
+
// must be a new reference to ensure it can be used in React.useMemo
|
|
349
|
+
query.data = [...entities];
|
|
350
|
+
cacheEntry.isInvalidated = false;
|
|
351
|
+
query.isInvalidated = false;
|
|
352
|
+
return query.data;
|
|
353
|
+
};
|
|
354
|
+
const allTypes = new Set();
|
|
355
|
+
for (const [_key, field] of Object.entries(type.fields)) {
|
|
356
|
+
if (isRelationField(field)) {
|
|
357
|
+
allTypes.add(field);
|
|
358
|
+
}
|
|
359
|
+
}
|
|
360
|
+
const subscribe = callback => {
|
|
361
|
+
let cacheEntry = decodedEntitiesCache.get(typeName);
|
|
362
|
+
if (!cacheEntry) {
|
|
363
|
+
const entitiesMap = new Map();
|
|
364
|
+
const queries = new Map();
|
|
365
|
+
queries.set(queryKey, {
|
|
366
|
+
data: [],
|
|
367
|
+
listeners: [],
|
|
368
|
+
isInvalidated: true,
|
|
369
|
+
include: include ?? {}
|
|
370
|
+
});
|
|
371
|
+
cacheEntry = {
|
|
372
|
+
decoder: decode,
|
|
373
|
+
type,
|
|
374
|
+
entities: entitiesMap,
|
|
375
|
+
queries,
|
|
376
|
+
isInvalidated: true
|
|
377
|
+
};
|
|
378
|
+
decodedEntitiesCache.set(typeName, cacheEntry);
|
|
379
|
+
}
|
|
380
|
+
let query = cacheEntry.queries.get(queryKey);
|
|
381
|
+
if (!query) {
|
|
382
|
+
query = {
|
|
383
|
+
data: [],
|
|
384
|
+
listeners: [],
|
|
385
|
+
isInvalidated: true,
|
|
386
|
+
include: include ?? {}
|
|
387
|
+
};
|
|
388
|
+
// we just set up the query and expect it to correctly set itself up in findMany
|
|
389
|
+
cacheEntry.queries.set(queryKey, query);
|
|
390
|
+
}
|
|
391
|
+
if (query?.listeners) {
|
|
392
|
+
query.listeners.push(callback);
|
|
393
|
+
}
|
|
394
|
+
return () => {
|
|
395
|
+
const cacheEntry = decodedEntitiesCache.get(typeName);
|
|
396
|
+
if (cacheEntry) {
|
|
397
|
+
// first cleanup the queries
|
|
398
|
+
const query = cacheEntry.queries.get(queryKey);
|
|
399
|
+
if (query) {
|
|
400
|
+
query.listeners = query?.listeners?.filter(cachedListener => cachedListener !== callback);
|
|
401
|
+
if (query.listeners.length === 0) {
|
|
402
|
+
cacheEntry.queries.delete(queryKey);
|
|
403
|
+
}
|
|
404
|
+
}
|
|
405
|
+
// if the last query is removed, cleanup the entityRelationParentsMap and remove the decodedEntitiesCacheEntry
|
|
406
|
+
if (cacheEntry.queries.size === 0) {
|
|
407
|
+
entityRelationParentsMap.forEach((relationCacheEntries, key) => {
|
|
408
|
+
for (const [relationCacheEntry, counter] of relationCacheEntries) {
|
|
409
|
+
if (relationCacheEntry === cacheEntry && counter === 0) {
|
|
410
|
+
relationCacheEntries.delete(cacheEntry);
|
|
411
|
+
}
|
|
412
|
+
}
|
|
413
|
+
if (relationCacheEntries.size === 0) {
|
|
414
|
+
entityRelationParentsMap.delete(key);
|
|
415
|
+
}
|
|
416
|
+
});
|
|
417
|
+
decodedEntitiesCache.delete(typeName);
|
|
418
|
+
}
|
|
419
|
+
}
|
|
420
|
+
documentChangeListener.subscribedQueriesCount--;
|
|
421
|
+
if (documentChangeListener.subscribedQueriesCount === 0) {
|
|
422
|
+
documentChangeListener.unsubscribe?.();
|
|
423
|
+
documentChangeListener.unsubscribe = undefined;
|
|
424
|
+
}
|
|
425
|
+
};
|
|
426
|
+
};
|
|
427
|
+
if (documentChangeListener.subscribedQueriesCount === 0) {
|
|
428
|
+
documentChangeListener.unsubscribe = subscribeToDocumentChanges(handle);
|
|
429
|
+
}
|
|
430
|
+
documentChangeListener.subscribedQueriesCount++;
|
|
431
|
+
return {
|
|
432
|
+
subscribe,
|
|
433
|
+
getEntities
|
|
434
|
+
};
|
|
435
|
+
}
|
|
436
|
+
//# sourceMappingURL=findMany.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"findMany.js","names":["Schema","deepMerge","isRelationField","canonicalize","decodedEntitiesCache","entityRelationParentsMap","getEntityRelations","hasValidTypesProperty","documentChangeListener","subscribedQueriesCount","unsubscribe","undefined","subscribeToDocumentChanges","handle","onChange","patches","doc","changedRelations","Set","deletedRelations","changedEntities","deletedEntities","patch","action","path","length","add","entityTypes","touchedQueries","touchedRelationParents","entityId","entity","entities","typeName","cacheEntry","get","includeFromAllQueries","query","queries","include","oldDecodedEntry","relations","type","decoded","decoder","id","set","error","console","deletedRelationIds","value","Object","entries","Array","isArray","relationEntity","deletedRelationId","deletedRelationEntry","delete","size","relationParentEntry","Map","queryKey","isInvalidated","has","decodedEntitiesCacheEntries","entry","affectedTypeName","index","data","findIndex","splice","values","listener","listeners","decodedEntitiesCacheEntry","on","off","clear","findMany","filter","decode","decodeUnknownSync","name","corruptEntityIds","filtered","evaluateFilter","fieldFilter","fieldValue","NOT","orFilters","OR","some","orFilter","is","numberFilter","greaterThan","lessThan","textFilter","startsWith","endsWith","contains","includes","evaluateCrossFieldFilter","crossFieldFilter","fieldName","evaluateEntityFilter","entityFilter","push","stableEmptyArray","subscribeToFindMany","getEntities","allTypes","_key","field","fields","subscribe","callback","entitiesMap","cachedListener","forEach","relationCacheEntries","key","relationCacheEntry","counter"],"sources":["../../src/entity/findMany.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"findOne.d.ts","sourceRoot":"","sources":["../../src/entity/findOne.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAExE;;GAEG;AACH,eAAO,MAAM,OAAO,GAAI,KAAK,CAAC,CAAC,SAAS,YAAY,EAClD,QAAQ,SAAS,CAAC,eAAe,CAAC,EAClC,MAAM,CAAC,EACP,UAAS,GAAG,CAAC,IAAI,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAO,MAQpE,IAAI,MAAM,KAAG,MAAM,CAAC,CAAC,CAAC,GAAG,SAalC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getEntityRelations.d.ts","sourceRoot":"","sources":["../../src/entity/getEntityRelations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAG7C,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAU,MAAM,YAAY,CAAC;AACxE,eAAO,MAAM,kBAAkB,GAAI,KAAK,CAAC,CAAC,SAAS,YAAY,EAC7D,UAAU,MAAM,EAChB,MAAM,CAAC,EACP,KAAK,eAAe,EACpB,SAAS,GAAG,CAAC,IAAI,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAE,GAAG,SAAS,wBAoCpF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/entity/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"relationParentsMap.d.ts","sourceRoot":"","sources":["../../src/entity/relationParentsMap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AAE3E,eAAO,MAAM,kBAAkB,EAAE,GAAG,CAClC,MAAM,EAAE,cAAc;AACtB,GAAG,CAAC,yBAAyB,EAAE,MAAM,CAAC,CAC3B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"removeRelation.d.ts","sourceRoot":"","sources":["../../src/entity/removeRelation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD;;GAEG;AACH,eAAO,MAAM,cAAc,GAAI,QAAQ,SAAS,CAAC,eAAe,CAAC,MACvD,YAAY,MAAM,KAAG,OAa9B,CAAC"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import type * as Schema from 'effect/Schema';
|
|
2
|
+
export type Any = Schema.Schema.Any & {
|
|
3
|
+
readonly fields: Schema.Struct.Fields;
|
|
4
|
+
readonly insert: Schema.Schema.Any;
|
|
5
|
+
readonly update: Schema.Schema.Any;
|
|
6
|
+
};
|
|
7
|
+
export type AnyNoContext = Schema.Schema.AnyNoContext & {
|
|
8
|
+
readonly fields: Schema.Struct.Fields;
|
|
9
|
+
readonly insert: Schema.Schema.AnyNoContext;
|
|
10
|
+
readonly update: Schema.Schema.AnyNoContext;
|
|
11
|
+
};
|
|
12
|
+
export type Update<S extends Any> = S['update'];
|
|
13
|
+
export type Insert<S extends Any> = S['insert'];
|
|
14
|
+
export type Entity<S extends AnyNoContext> = Schema.Schema.Type<S> & {
|
|
15
|
+
type: string;
|
|
16
|
+
id: string;
|
|
17
|
+
};
|
|
18
|
+
export type EntityWithRelation<S extends AnyNoContext> = Entity<S> & {
|
|
19
|
+
_relation: {
|
|
20
|
+
id: string;
|
|
21
|
+
} | undefined;
|
|
22
|
+
};
|
|
23
|
+
export type DocumentEntity = {
|
|
24
|
+
__deleted: boolean;
|
|
25
|
+
[key: string]: unknown;
|
|
26
|
+
};
|
|
27
|
+
export type DocumentRelation = {
|
|
28
|
+
from: string;
|
|
29
|
+
to: string;
|
|
30
|
+
fromTypeName: string;
|
|
31
|
+
fromPropertyName: string;
|
|
32
|
+
__deleted: boolean;
|
|
33
|
+
[key: string]: unknown;
|
|
34
|
+
};
|
|
35
|
+
export type DocumentContent = {
|
|
36
|
+
entities?: Record<string, DocumentEntity>;
|
|
37
|
+
relations?: Record<string, DocumentRelation>;
|
|
38
|
+
};
|
|
39
|
+
export type EntityCheckboxFilter = {
|
|
40
|
+
is: boolean;
|
|
41
|
+
};
|
|
42
|
+
export type EntityNumberFilter = {
|
|
43
|
+
is?: number;
|
|
44
|
+
greaterThan?: number;
|
|
45
|
+
lessThan?: number;
|
|
46
|
+
NOT?: EntityNumberFilter;
|
|
47
|
+
OR?: EntityNumberFilter[];
|
|
48
|
+
};
|
|
49
|
+
export type EntityTextFilter = {
|
|
50
|
+
is?: string;
|
|
51
|
+
startsWith?: string;
|
|
52
|
+
endsWith?: string;
|
|
53
|
+
contains?: string;
|
|
54
|
+
equals?: string;
|
|
55
|
+
NOT?: EntityTextFilter;
|
|
56
|
+
OR?: EntityTextFilter[];
|
|
57
|
+
};
|
|
58
|
+
export type CrossFieldFilter<T> = {
|
|
59
|
+
[K in keyof T]?: EntityFieldFilter<T[K]>;
|
|
60
|
+
} & {
|
|
61
|
+
OR?: Array<CrossFieldFilter<T>>;
|
|
62
|
+
NOT?: CrossFieldFilter<T>;
|
|
63
|
+
};
|
|
64
|
+
export type EntityFieldFilter<T> = {
|
|
65
|
+
is?: T;
|
|
66
|
+
NOT?: EntityFieldFilter<T>;
|
|
67
|
+
OR?: Array<EntityFieldFilter<T>>;
|
|
68
|
+
} & (T extends boolean ? {
|
|
69
|
+
is?: boolean;
|
|
70
|
+
} : T extends number ? {
|
|
71
|
+
greaterThan?: number;
|
|
72
|
+
lessThan?: number;
|
|
73
|
+
} : T extends string ? {
|
|
74
|
+
startsWith?: string;
|
|
75
|
+
endsWith?: string;
|
|
76
|
+
contains?: string;
|
|
77
|
+
} : Record<string, never>);
|
|
78
|
+
export type EntityFilter<T> = CrossFieldFilter<T>;
|
|
79
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/entity/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAE7C,MAAM,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,GAAG;IACpC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,GAAG;IACtD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC;IAC5C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,MAAM,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;AAChD,MAAM,MAAM,MAAM,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;AAEhD,MAAM,MAAM,MAAM,CAAC,CAAC,SAAS,YAAY,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG;IACnE,IAAI,EAAE,MAAM,CAAC;IAEb,EAAE,EAAE,MAAM,CAAC;CAIZ,CAAC;AAEF,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,YAAY,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG;IACnE,SAAS,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC;CACvC,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,EAAE,OAAO,CAAC;IACnB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,OAAO,CAAC;IACnB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;CAC9C,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,EAAE,EAAE,OAAO,CAAC;CACb,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,kBAAkB,CAAC;IACzB,EAAE,CAAC,EAAE,kBAAkB,EAAE,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,gBAAgB,CAAC;IACvB,EAAE,CAAC,EAAE,gBAAgB,EAAE,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI;KAC/B,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CACzC,GAAG;IACF,EAAE,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;IAChC,GAAG,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAAI;IACjC,EAAE,CAAC,EAAE,CAAC,CAAC;IACP,GAAG,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC;IAC3B,EAAE,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;CAClC,GAAG,CAAC,CAAC,SAAS,OAAO,GAClB;IACE,EAAE,CAAC,EAAE,OAAO,CAAC;CACd,GACD,CAAC,SAAS,MAAM,GACd;IACE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GACD,CAAC,SAAS,MAAM,GACd;IACE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GACD,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;AAE/B,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,gBAAgB,CAAC,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","names":[],"sources":["../../src/entity/types.ts"],"sourcesContent":[null],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/entity/update.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEhF;;GAEG;AACH,eAAO,MAAM,MAAM,GAAI,KAAK,CAAC,CAAC,SAAS,YAAY,EAAE,QAAQ,SAAS,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC,MAStF,IAAI,MAAM,EAAE,MAAM,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAG,MAAM,CAAC,CAAC,CAwC7F,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-storage.d.ts","sourceRoot":"","sources":["../../src/identity/auth-storage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C,eAAO,MAAM,aAAa,GAAI,SAAS,OAAO,EAAE,UAAU,kBAAkB,SAS3E,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,SAAS,OAAO,KAAG,kBAAkB,GAAG,IA+BpE,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,SAAS,OAAO,SAS5C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-verified-identity.d.ts","sourceRoot":"","sources":["../../src/identity/get-verified-identity.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,mBAAmB,GAC9B,gBAAgB,MAAM,EACtB,eAAe,MAAM,KACpB,OAAO,CAAC;IACT,cAAc,EAAE,MAAM,CAAC;IACvB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,kBAAkB,EAAE,MAAM,CAAC;CAC5B,CAwCA,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"identity-encryption.d.ts","sourceRoot":"","sources":["../../src/identity/identity-encryption.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AA2DvD,eAAO,MAAM,eAAe,GAC1B,QAAQ,MAAM,EACd,gBAAgB,MAAM,EACtB,MAAM,YAAY,KACjB,OAAO,CAAC;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CA0B/C,CAAC;AAEF,eAAO,MAAM,eAAe,GAC1B,QAAQ,MAAM,EACd,gBAAgB,MAAM,EACtB,YAAY,MAAM,EAClB,OAAO,MAAM,KACZ,OAAO,CAAC,YAAY,CAmCtB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/identity/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logout.d.ts","sourceRoot":"","sources":["../../src/identity/logout.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C,wBAAgB,MAAM,CAAC,OAAO,EAAE,OAAO,QAGtC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prove-ownership.d.ts","sourceRoot":"","sources":["../../src/identity/prove-ownership.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEvD,eAAO,MAAM,sBAAsB,GAAI,gBAAgB,MAAM,EAAE,WAAW,MAAM,KAAG,MAElF,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,gBAAgB,MAAM,EAAE,WAAW,MAAM,KAAG,MAE9E,CAAC;AAEF,eAAO,MAAM,sBAAsB,GACjC,QAAQ,MAAM,EACd,gBAAgB,MAAM,EACtB,MAAM,YAAY,KACjB,OAAO,CAAC;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAQpD,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAClC,gBAAgB,MAAM,EACtB,WAAW,MAAM,EACjB,cAAc,MAAM,EACpB,UAAU,MAAM,KACf,OAAO,CAAC,OAAO,CAwBjB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-inbox.d.ts","sourceRoot":"","sources":["../../src/inboxes/create-inbox.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,QAAQ,MAAM,sBAAsB,CAAC;AACjD,OAAO,KAAK,WAAW,MAAM,0BAA0B,CAAC;AAExD,OAAO,KAAK,KAAK,OAAO,MAAM,YAAY,CAAC;AAE3C,KAAK,wBAAwB,GAAG;IAC9B,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC,qBAAqB,CAAC;IAC1C,mBAAmB,EAAE,MAAM,CAAC;IAC5B,mBAAmB,EAAE,MAAM,CAAC;CAG7B,CAAC;AAEF,KAAK,sBAAsB,GAAG;IAC5B,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC,qBAAqB,CAAC;IAC1C,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;CAC3B,CAAC;AAGF,wBAAgB,iCAAiC,CAAC,EAChD,cAAc,EACd,QAAQ,EACR,UAAU,EACV,mBAAmB,EACnB,mBAAmB,GACpB,EAAE,wBAAwB,GAAG,QAAQ,CAAC,yBAAyB,CA4B/D;AAED,wBAAsB,+BAA+B,CAAC,EACpD,MAAM,EACN,OAAO,EACP,QAAQ,EACR,UAAU,EACV,cAAc,EACd,iBAAiB,GAClB,EAAE,sBAAsB,GAAG,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CA6BzE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-list-inboxes.d.ts","sourceRoot":"","sources":["../../src/inboxes/get-list-inboxes.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,QAAQ,MAAM,sBAAsB,CAAC;AAEjD,eAAO,MAAM,sBAAsB,GAAU,6BAG1C,QAAQ,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,CAAC,KAAG,OAAO,CAAC,SAAS,QAAQ,CAAC,gBAAgB,EAAE,CAMrG,CAAC;AAEF,eAAO,MAAM,wBAAwB,GAAU,oCAG5C,QAAQ,CAAC;IAAE,cAAc,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,CAAC,KAAG,OAAO,CAAC,SAAS,QAAQ,CAAC,kBAAkB,EAAE,CAM9G,CAAC;AAEF,eAAO,MAAM,aAAa,GAAU,sCAIjC,QAAQ,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,CAAC,KAAG,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAM3G,CAAC;AAEF,eAAO,MAAM,eAAe,GAAU,6CAInC,QAAQ,CAAC;IACV,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC,KAAG,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAMvC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/inboxes/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mCAAmC,CAAC;AAClD,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"merge-messages.d.ts","sourceRoot":"","sources":["../../src/inboxes/merge-messages.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAE5D,wBAAgB,aAAa,CAC3B,gBAAgB,EAAE,wBAAwB,EAAE,EAC5C,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,EAC5B,WAAW,EAAE,wBAAwB,EAAE;;;EAsBxC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"message-encryption.d.ts","sourceRoot":"","sources":["../../src/inboxes/message-encryption.ts"],"names":[],"mappings":"AAGA,KAAK,aAAa,GAAG;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,mBAAmB,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEF,KAAK,aAAa,GAAG;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,mBAAmB,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,EAAE,OAAO,EAAE,mBAAmB,EAAE,EAAE,aAAa,GAAG;IACpF,UAAU,EAAE,MAAM,CAAC;CACpB,CAOA;AAED,wBAAgB,mBAAmB,CAAC,EAAE,UAAU,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,EAAE,aAAa,GAAG,MAAM,CASpH"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"message-validation.d.ts","sourceRoot":"","sources":["../../src/inboxes/message-validation.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,QAAQ,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAGpF,eAAO,MAAM,yBAAyB,GACpC,SAAS,QAAQ,CAAC,YAAY,EAC9B,OAAO,sBAAsB,EAC7B,SAAS,MAAM,EACf,eAAe,MAAM,qBAyBtB,CAAC;AAEF,eAAO,MAAM,2BAA2B,GACtC,SAAS,QAAQ,CAAC,YAAY,EAC9B,OAAO,wBAAwB,EAC/B,gBAAgB,MAAM,EACtB,eAAe,MAAM,qBAyBtB,CAAC"}
|