jazz-tools 0.10.14 → 0.11.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/.turbo/turbo-build.log +11 -7
- package/CHANGELOG.md +31 -0
- package/dist/auth/AuthSecretStorage.d.ts +25 -0
- package/dist/auth/AuthSecretStorage.d.ts.map +1 -0
- package/dist/auth/DemoAuth.d.ts +27 -0
- package/dist/auth/DemoAuth.d.ts.map +1 -0
- package/dist/auth/InMemoryKVStore.d.ts +9 -0
- package/dist/auth/InMemoryKVStore.d.ts.map +1 -0
- package/dist/auth/KvStoreContext.d.ts +17 -0
- package/dist/auth/KvStoreContext.d.ts.map +1 -0
- package/dist/auth/PassphraseAuth.d.ts +35 -0
- package/dist/auth/PassphraseAuth.d.ts.map +1 -0
- package/dist/{chunk-5YDDEUNX.js → chunk-RTRX7HIO.js} +193 -81
- package/dist/chunk-RTRX7HIO.js.map +1 -0
- package/dist/coValues/account.d.ts +120 -0
- package/dist/coValues/account.d.ts.map +1 -0
- package/dist/coValues/coFeed.d.ts +361 -0
- package/dist/coValues/coFeed.d.ts.map +1 -0
- package/dist/coValues/coList.d.ts +221 -0
- package/dist/coValues/coList.d.ts.map +1 -0
- package/dist/coValues/coMap.d.ts +500 -0
- package/dist/coValues/coMap.d.ts.map +1 -0
- package/dist/coValues/coPlainText.d.ts +69 -0
- package/dist/coValues/coPlainText.d.ts.map +1 -0
- package/dist/coValues/coRichText.d.ts +259 -0
- package/dist/coValues/coRichText.d.ts.map +1 -0
- package/dist/coValues/deepLoading.d.ts +81 -0
- package/dist/coValues/deepLoading.d.ts.map +1 -0
- package/dist/coValues/extensions/imageDef.d.ts +17 -0
- package/dist/coValues/extensions/imageDef.d.ts.map +1 -0
- package/dist/coValues/group.d.ts +67 -0
- package/dist/coValues/group.d.ts.map +1 -0
- package/dist/coValues/inbox.d.ts +52 -0
- package/dist/coValues/inbox.d.ts.map +1 -0
- package/dist/coValues/interfaces.d.ts +97 -0
- package/dist/coValues/interfaces.d.ts.map +1 -0
- package/dist/coValues/profile.d.ts +28 -0
- package/dist/coValues/profile.d.ts.map +1 -0
- package/dist/coValues/registeredSchemas.d.ts +12 -0
- package/dist/coValues/registeredSchemas.d.ts.map +1 -0
- package/dist/coValues/schemaUnion.d.ts +79 -0
- package/dist/coValues/schemaUnion.d.ts.map +1 -0
- package/dist/exports.d.ts +27 -0
- package/dist/exports.d.ts.map +1 -0
- package/dist/implementation/ContextManager.d.ts +65 -0
- package/dist/implementation/ContextManager.d.ts.map +1 -0
- package/dist/implementation/activeAccountContext.d.ts +12 -0
- package/dist/implementation/activeAccountContext.d.ts.map +1 -0
- package/dist/implementation/anonymousJazzAgent.d.ts +7 -0
- package/dist/implementation/anonymousJazzAgent.d.ts.map +1 -0
- package/dist/implementation/createContext.d.ts +91 -0
- package/dist/implementation/createContext.d.ts.map +1 -0
- package/dist/implementation/devtoolsFormatters.d.ts +2 -0
- package/dist/implementation/devtoolsFormatters.d.ts.map +1 -0
- package/dist/implementation/errors.d.ts +2 -0
- package/dist/implementation/errors.d.ts.map +1 -0
- package/dist/implementation/inspect.d.ts +3 -0
- package/dist/implementation/inspect.d.ts.map +1 -0
- package/dist/implementation/invites.d.ts +23 -0
- package/dist/implementation/invites.d.ts.map +1 -0
- package/dist/implementation/refs.d.ts +21 -0
- package/dist/implementation/refs.d.ts.map +1 -0
- package/dist/implementation/schema.d.ts +72 -0
- package/dist/implementation/schema.d.ts.map +1 -0
- package/dist/implementation/subscriptionScope.d.ts +33 -0
- package/dist/implementation/subscriptionScope.d.ts.map +1 -0
- package/dist/implementation/symbols.d.ts +8 -0
- package/dist/implementation/symbols.d.ts.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +1 -1
- package/dist/internal.d.ts +12 -0
- package/dist/internal.d.ts.map +1 -0
- package/dist/lib/cache.d.ts +6 -0
- package/dist/lib/cache.d.ts.map +1 -0
- package/dist/lib/cache.test.d.ts +2 -0
- package/dist/lib/cache.test.d.ts.map +1 -0
- package/dist/testing.d.ts +41 -0
- package/dist/testing.d.ts.map +1 -0
- package/dist/testing.js +11 -16
- package/dist/testing.js.map +1 -1
- package/dist/tests/AuthSecretStorage.test.d.ts +2 -0
- package/dist/tests/AuthSecretStorage.test.d.ts.map +1 -0
- package/dist/tests/ContextManager.test.d.ts +2 -0
- package/dist/tests/ContextManager.test.d.ts.map +1 -0
- package/dist/tests/DemoAuth.test.d.ts +2 -0
- package/dist/tests/DemoAuth.test.d.ts.map +1 -0
- package/dist/tests/PassphraseAuth.test.d.ts +2 -0
- package/dist/tests/PassphraseAuth.test.d.ts.map +1 -0
- package/dist/tests/account.test.d.ts +2 -0
- package/dist/tests/account.test.d.ts.map +1 -0
- package/dist/tests/coFeed.test.d.ts +2 -0
- package/dist/tests/coFeed.test.d.ts.map +1 -0
- package/dist/tests/coList.test.d.ts +2 -0
- package/dist/tests/coList.test.d.ts.map +1 -0
- package/dist/tests/coMap.test.d.ts +2 -0
- package/dist/tests/coMap.test.d.ts.map +1 -0
- package/dist/tests/coPlainText.test.d.ts +2 -0
- package/dist/tests/coPlainText.test.d.ts.map +1 -0
- package/dist/tests/coRichText.test.d.ts +2 -0
- package/dist/tests/coRichText.test.d.ts.map +1 -0
- package/dist/tests/createContext.test.d.ts +2 -0
- package/dist/tests/createContext.test.d.ts.map +1 -0
- package/dist/tests/deepLoading.test.d.ts +2 -0
- package/dist/tests/deepLoading.test.d.ts.map +1 -0
- package/dist/tests/fixtures.d.ts +2 -0
- package/dist/tests/fixtures.d.ts.map +1 -0
- package/dist/tests/groupsAndAccounts.test.d.ts +2 -0
- package/dist/tests/groupsAndAccounts.test.d.ts.map +1 -0
- package/dist/tests/inbox.test.d.ts +2 -0
- package/dist/tests/inbox.test.d.ts.map +1 -0
- package/dist/tests/interfaces.test.d.ts +2 -0
- package/dist/tests/interfaces.test.d.ts.map +1 -0
- package/dist/tests/invites.test.d.ts +2 -0
- package/dist/tests/invites.test.d.ts.map +1 -0
- package/dist/tests/schema.test.d.ts +2 -0
- package/dist/tests/schema.test.d.ts.map +1 -0
- package/dist/tests/schemaUnion.test.d.ts +2 -0
- package/dist/tests/schemaUnion.test.d.ts.map +1 -0
- package/dist/tests/subscribe.test.d.ts +2 -0
- package/dist/tests/subscribe.test.d.ts.map +1 -0
- package/dist/tests/testing.test.d.ts +2 -0
- package/dist/tests/testing.test.d.ts.map +1 -0
- package/dist/tests/utils.d.ts +21 -0
- package/dist/tests/utils.d.ts.map +1 -0
- package/dist/types.d.ts +52 -0
- package/dist/types.d.ts.map +1 -0
- package/package.json +8 -7
- package/src/coValues/account.ts +69 -11
- package/src/coValues/coMap.ts +2 -2
- package/src/coValues/coRichText.ts +42 -17
- package/src/coValues/group.ts +76 -31
- package/src/coValues/inbox.ts +10 -0
- package/src/coValues/interfaces.ts +1 -1
- package/src/coValues/profile.ts +35 -2
- package/src/implementation/ContextManager.ts +63 -15
- package/src/implementation/schema.ts +1 -3
- package/src/testing.ts +10 -16
- package/src/tests/AuthSecretStorage.test.ts +1 -2
- package/src/tests/ContextManager.test.ts +27 -14
- package/src/tests/PassphraseAuth.test.ts +7 -3
- package/src/tests/coMap.test.ts +20 -21
- package/src/tests/deepLoading.test.ts +8 -17
- package/src/tests/groupsAndAccounts.test.ts +429 -89
- package/src/tests/inbox.test.ts +24 -0
- package/src/tests/schema.test.ts +45 -5
- package/src/tests/utils.ts +7 -3
- package/src/types.ts +6 -0
- package/tsconfig.json +4 -1
- package/dist/chunk-5YDDEUNX.js.map +0 -1
package/src/tests/schema.test.ts
CHANGED
@@ -140,6 +140,15 @@ describe("co.json TypeScript validation", () => {
|
|
140
140
|
}>();
|
141
141
|
});
|
142
142
|
|
143
|
+
it("should flag types with symbol keys as invalid", async () => {
|
144
|
+
type InvalidType = { [key: symbol]: string };
|
145
|
+
|
146
|
+
class InvalidFunctionMap extends CoMap {
|
147
|
+
// @ts-expect-error Should not be considered valid
|
148
|
+
data = co.json<InvalidType>();
|
149
|
+
}
|
150
|
+
});
|
151
|
+
|
143
152
|
it("should apply the same validation to optional json", async () => {
|
144
153
|
type ValidType = {
|
145
154
|
value: string;
|
@@ -163,17 +172,48 @@ describe("co.json TypeScript validation", () => {
|
|
163
172
|
}>();
|
164
173
|
});
|
165
174
|
|
175
|
+
/* Special case from reported issue:
|
176
|
+
** See: https://github.com/garden-co/jazz/issues/1496
|
177
|
+
*/
|
178
|
+
it("should apply the same validation to optional json [JAZZ-1496]", async () => {
|
179
|
+
interface ValidInterface0 {
|
180
|
+
value: string;
|
181
|
+
}
|
182
|
+
interface ValidInterface1 {
|
183
|
+
value: string | undefined;
|
184
|
+
}
|
185
|
+
interface InterfaceWithOptionalTypes {
|
186
|
+
requiredValue: string;
|
187
|
+
value?: string;
|
188
|
+
}
|
189
|
+
|
190
|
+
class MapWithOptionalJSON extends CoMap {
|
191
|
+
data1 = co.optional.json<ValidInterface0>();
|
192
|
+
data2 = co.optional.json<ValidInterface1>();
|
193
|
+
data3 = co.optional.json<InterfaceWithOptionalTypes>();
|
194
|
+
}
|
195
|
+
|
196
|
+
expectTypeOf(MapWithOptionalJSON.create<MapWithOptionalJSON>)
|
197
|
+
.parameter(0)
|
198
|
+
.toEqualTypeOf<{
|
199
|
+
data1?: valueWithCoMarker<ValidInterface0> | null;
|
200
|
+
data2?: valueWithCoMarker<ValidInterface1> | null;
|
201
|
+
data3?: valueWithCoMarker<InterfaceWithOptionalTypes> | null;
|
202
|
+
}>();
|
203
|
+
});
|
204
|
+
|
166
205
|
it("should not accept functions", async () => {
|
167
206
|
class InvalidFunctionMap extends CoMap {
|
168
207
|
// @ts-expect-error Should not be considered valid
|
169
208
|
data = co.json<() => void>();
|
170
209
|
}
|
210
|
+
});
|
171
211
|
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
212
|
+
it("should not accept functions in nested properties", async () => {
|
213
|
+
class InvalidFunctionMap extends CoMap {
|
214
|
+
// @ts-expect-error Should not be considered valid
|
215
|
+
data = co.json<{ func: () => void }>();
|
216
|
+
}
|
177
217
|
});
|
178
218
|
|
179
219
|
it("should not accept RegExp", async () => {
|
package/src/tests/utils.ts
CHANGED
@@ -44,7 +44,11 @@ export async function setupAccount() {
|
|
44
44
|
return { me, meOnSecondPeer };
|
45
45
|
}
|
46
46
|
|
47
|
-
export async function setupTwoNodes(
|
47
|
+
export async function setupTwoNodes(options?: {
|
48
|
+
ServerAccountSchema?: typeof Account;
|
49
|
+
}) {
|
50
|
+
const ServerAccountSchema = options?.ServerAccountSchema ?? Account;
|
51
|
+
|
48
52
|
const [serverAsPeer, clientAsPeer] = cojsonInternals.connectedPeers(
|
49
53
|
"clientToServer",
|
50
54
|
"serverToClient",
|
@@ -72,7 +76,7 @@ export async function setupTwoNodes() {
|
|
72
76
|
crypto: Crypto,
|
73
77
|
creationProps: { name: "Server" },
|
74
78
|
migration: async (rawAccount, _node, creationProps) => {
|
75
|
-
const account = new
|
79
|
+
const account = new ServerAccountSchema({
|
76
80
|
fromRaw: rawAccount,
|
77
81
|
});
|
78
82
|
|
@@ -86,7 +90,7 @@ export async function setupTwoNodes() {
|
|
86
90
|
clientAccount: Account.fromRaw(
|
87
91
|
await loadCoValueOrFail(client.node, client.accountID),
|
88
92
|
),
|
89
|
-
serverAccount:
|
93
|
+
serverAccount: ServerAccountSchema.fromRaw(
|
90
94
|
await loadCoValueOrFail(server.node, server.accountID),
|
91
95
|
),
|
92
96
|
};
|
package/src/types.ts
CHANGED
package/tsconfig.json
CHANGED
@@ -9,7 +9,10 @@
|
|
9
9
|
"skipLibCheck": true,
|
10
10
|
"forceConsistentCasingInFileNames": true,
|
11
11
|
"noUncheckedIndexedAccess": true,
|
12
|
-
"esModuleInterop": true
|
12
|
+
"esModuleInterop": true,
|
13
|
+
"declaration": true,
|
14
|
+
"emitDeclarationOnly": true,
|
15
|
+
"declarationMap": true
|
13
16
|
},
|
14
17
|
"include": ["./src/**/*.ts"],
|
15
18
|
"exclude": ["./node_modules"]
|