effect-zero 0.7.0 → 0.9.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/README.md +86 -77
- package/dist/client-transaction.d.ts +0 -1
- package/dist/client-transaction.d.ts.map +1 -1
- package/dist/client.d.ts +38 -138
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +75 -24
- package/dist/client.js.map +1 -1
- package/dist/internal/utils.d.ts +0 -7
- package/dist/internal/utils.d.ts.map +1 -1
- package/dist/internal/utils.js +0 -7
- package/dist/internal/utils.js.map +1 -1
- package/dist/mutator.d.ts +115 -0
- package/dist/mutator.d.ts.map +1 -0
- package/dist/mutator.js +67 -0
- package/dist/mutator.js.map +1 -0
- package/dist/mutator.test.d.ts +2 -0
- package/dist/mutator.test.d.ts.map +1 -0
- package/dist/{client.test.js → mutator.test.js} +5 -5
- package/dist/mutator.test.js.map +1 -0
- package/dist/query.d.ts +2 -2
- package/dist/result.d.ts +1 -1
- package/dist/result.d.ts.map +1 -1
- package/dist/result.js +1 -1
- package/dist/result.js.map +1 -1
- package/dist/server-transaction.d.ts +0 -1
- package/dist/server-transaction.d.ts.map +1 -1
- package/dist/server.d.ts +7 -3
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +30 -15
- package/dist/server.js.map +1 -1
- package/dist/types.test.js +85 -120
- package/dist/types.test.js.map +1 -1
- package/package.json +49 -48
- package/src/client.ts +159 -56
- package/src/internal/utils.ts +0 -8
- package/src/mutator.ts +232 -0
- package/src/result.ts +2 -2
- package/src/server.ts +49 -34
- package/dist/client.test.d.ts +0 -2
- package/dist/client.test.d.ts.map +0 -1
- package/dist/client.test.js.map +0 -1
- package/dist/mutators.d.ts +0 -30
- package/dist/mutators.d.ts.map +0 -1
- package/dist/mutators.js +0 -17
- package/dist/mutators.js.map +0 -1
- package/src/mutators.ts +0 -80
package/dist/types.test.js
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { describe, expectTypeOf, it } from "@effect/vitest";
|
|
2
2
|
import { queryInternalsTag } from "@rocicorp/zero/bindings";
|
|
3
3
|
import * as Context from "effect/Context";
|
|
4
|
+
import * as Data from "effect/Data";
|
|
4
5
|
import * as Effect from "effect/Effect";
|
|
5
6
|
import * as Schema from "effect/Schema";
|
|
6
7
|
import * as SchemaGetter from "effect/SchemaGetter";
|
|
8
|
+
import * as Client from "./client.js";
|
|
7
9
|
import * as ClientTransaction from "./client-transaction.js";
|
|
8
|
-
import * as
|
|
10
|
+
import * as Mutator from "./mutator.js";
|
|
9
11
|
import * as Query from "./query.js";
|
|
10
12
|
import * as Server from "./server.js";
|
|
11
13
|
import * as ServerTransaction from "./server-transaction.js";
|
|
@@ -30,146 +32,109 @@ const mockZeroSchema = {
|
|
|
30
32
|
const mockDatabase = {};
|
|
31
33
|
describe("Type tests", () => {
|
|
32
34
|
describe("Mutators", () => {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
35
|
+
class DummyTag extends Context.Service()("effect-zero/test/DummyTag") {
|
|
36
|
+
}
|
|
37
|
+
class DummyTag2 extends Context.Service()("effect-zero/test/DummyTag2") {
|
|
38
|
+
}
|
|
39
|
+
class DummyError extends Data.TaggedError("DummyError") {
|
|
40
|
+
}
|
|
41
|
+
const clientTransaction = ClientTransaction.make("TestClientTransaction", mockZeroSchema);
|
|
42
|
+
const serverTransaction = ServerTransaction.make("TestServerTransaction", mockDatabase, clientTransaction);
|
|
43
|
+
const mutators = Mutator.registry(clientTransaction, {
|
|
44
|
+
messages: {
|
|
45
|
+
create: Mutator.make({
|
|
46
|
+
payload: Schema.Struct({ id: Schema.String, body: Schema.String }),
|
|
47
|
+
mutator: Effect.fn(function* (msg) {
|
|
48
|
+
expectTypeOf(msg).toEqualTypeOf();
|
|
49
|
+
yield* clientTransaction.use(async () => { });
|
|
39
50
|
}),
|
|
40
|
-
},
|
|
41
|
-
optionalVoidArg: Schema.Void,
|
|
42
|
-
noArgs: Schema.Void,
|
|
43
|
-
transformArgs: Schema.Struct({
|
|
44
|
-
foo: Schema.NumberFromString,
|
|
45
51
|
}),
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
// Use msg to verify type
|
|
52
|
-
const _id = msg.id;
|
|
53
|
-
const _body = msg.body;
|
|
52
|
+
deleteAll: Mutator.make({
|
|
53
|
+
payload: Schema.Void,
|
|
54
|
+
mutator: Effect.fn(function* () {
|
|
55
|
+
yield* DummyTag;
|
|
56
|
+
yield* clientTransaction.use(async () => { });
|
|
54
57
|
}),
|
|
55
|
-
},
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
58
|
+
}),
|
|
59
|
+
},
|
|
60
|
+
transformArgs: Mutator.make({
|
|
61
|
+
payload: Schema.Struct({ at: DateFromNumber }),
|
|
62
|
+
mutator: Effect.fn(function* ({ at }) {
|
|
63
|
+
expectTypeOf(at).toEqualTypeOf();
|
|
64
|
+
yield* DummyTag2;
|
|
65
|
+
return yield* new DummyError();
|
|
66
|
+
}),
|
|
67
|
+
}),
|
|
68
|
+
});
|
|
69
|
+
it("mutators take their decoded args and produce requests", () => {
|
|
63
70
|
expectTypeOf().toEqualTypeOf();
|
|
64
|
-
//
|
|
71
|
+
// A mutator without args is called without args.
|
|
72
|
+
mutators.messages.deleteAll();
|
|
65
73
|
expectTypeOf().toEqualTypeOf();
|
|
66
|
-
|
|
74
|
+
const nullable = Mutator.make({ payload: Schema.NullOr(Schema.String), mutator: () => Effect.void });
|
|
67
75
|
expectTypeOf().toEqualTypeOf();
|
|
76
|
+
// A request is also a Zero `MutateRequest`, so `zero.mutate(request)` accepts it.
|
|
77
|
+
expectTypeOf(mutators.messages.create({ id: "1", body: "a" })).toExtend();
|
|
78
|
+
expectTypeOf(mutators.messages.create.mutatorName).toEqualTypeOf();
|
|
68
79
|
});
|
|
69
|
-
it("
|
|
70
|
-
const
|
|
71
|
-
|
|
72
|
-
create: Schema.Struct({
|
|
73
|
-
id: Schema.String,
|
|
74
|
-
title: Schema.String,
|
|
75
|
-
}),
|
|
76
|
-
toggle: Schema.Struct({
|
|
77
|
-
id: Schema.String,
|
|
78
|
-
done: Schema.Boolean,
|
|
79
|
-
}),
|
|
80
|
-
delete: Schema.Void,
|
|
81
|
-
},
|
|
82
|
-
});
|
|
83
|
-
const clientTransaction = ClientTransaction.make("TestClientTransactionNested", mockZeroSchema);
|
|
84
|
-
// Note: When using Effect.fn with destructuring, TypeScript infers the parameter as `any`.
|
|
85
|
-
// The runtime still correctly validates/transforms args via the schema.
|
|
86
|
-
// To get proper type inference, use explicit parameter types or regular arrow functions.
|
|
87
|
-
const mutators = Mutators.make(mutatorSchema, {
|
|
88
|
-
todo: {
|
|
89
|
-
// Using arrow function with explicit type for best inference
|
|
90
|
-
create: (args) => clientTransaction.use(async () => {
|
|
91
|
-
const _id = args.id;
|
|
92
|
-
const _title = args.title;
|
|
93
|
-
}),
|
|
94
|
-
// Using Effect.fn with explicit type annotation
|
|
95
|
-
toggle: Effect.fn(function* (args) {
|
|
96
|
-
yield* clientTransaction.use(async () => { });
|
|
97
|
-
}),
|
|
98
|
-
// Using Effect.fn with no args (void schema)
|
|
99
|
-
delete: Effect.fn(function* () {
|
|
100
|
-
yield* clientTransaction.use(async () => { });
|
|
101
|
-
}),
|
|
102
|
-
},
|
|
103
|
-
});
|
|
104
|
-
// Test nested mutator with arrow function - preserves type
|
|
80
|
+
it("mutate's outcomes fail with Zero's error details", () => {
|
|
81
|
+
const mutation = Client.mutate({}, mutators.transformArgs({ at: new Date() }));
|
|
82
|
+
expectTypeOf().toExtend();
|
|
105
83
|
expectTypeOf().toEqualTypeOf();
|
|
106
|
-
// Test nested mutator with Effect.fn and explicit type annotation - preserves type
|
|
107
84
|
expectTypeOf().toEqualTypeOf();
|
|
108
|
-
// Test nested mutator with void schema - delete
|
|
109
85
|
expectTypeOf().toEqualTypeOf();
|
|
110
86
|
});
|
|
111
|
-
it("
|
|
112
|
-
|
|
113
|
-
}
|
|
114
|
-
class NestedDummyTag2 extends Context.Service()("effect-zero/test/NestedDummyTag2") {
|
|
115
|
-
}
|
|
116
|
-
const clientTransaction = ClientTransaction.make("TestClientTransactionNestedReq", mockZeroSchema);
|
|
117
|
-
const serverTransaction = ServerTransaction.make("TestServerTransactionNestedReq", mockDatabase, clientTransaction);
|
|
118
|
-
const mutatorSchema = Mutators.schema({
|
|
119
|
-
nested: {
|
|
120
|
-
withTag1: Schema.Void,
|
|
121
|
-
withTag2: Schema.Void,
|
|
122
|
-
noTags: Schema.Void,
|
|
123
|
-
},
|
|
124
|
-
});
|
|
125
|
-
const mutators = Mutators.make(mutatorSchema, {
|
|
126
|
-
nested: {
|
|
127
|
-
withTag1: Effect.fn(function* () {
|
|
128
|
-
yield* NestedDummyTag;
|
|
129
|
-
}),
|
|
130
|
-
withTag2: Effect.fn(function* () {
|
|
131
|
-
yield* NestedDummyTag2;
|
|
132
|
-
}),
|
|
133
|
-
noTags: Effect.fn(function* () { }),
|
|
134
|
-
},
|
|
135
|
-
});
|
|
136
|
-
const serverEffect = Server.handleMutate({ transaction: serverTransaction, mutators, query: {}, body: {}, userId: undefined });
|
|
137
|
-
// Server effect should require both NestedDummyTag and NestedDummyTag2
|
|
87
|
+
it("the registry's requirements propagate, without its client transaction", () => {
|
|
88
|
+
expectTypeOf().toEqualTypeOf();
|
|
89
|
+
const zero = Client.make(mutators, { userID: null, server: null });
|
|
138
90
|
expectTypeOf().toEqualTypeOf();
|
|
139
91
|
});
|
|
140
|
-
it("
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
const mutatorSchema = Mutators.schema({
|
|
148
|
-
dummy: Schema.Void,
|
|
149
|
-
dummy2: Schema.Void,
|
|
92
|
+
it("handleMutate requires the shared bodies' services when nothing is overridden", () => {
|
|
93
|
+
const effect = Server.handleMutate({
|
|
94
|
+
transaction: serverTransaction,
|
|
95
|
+
mutators: Mutator.server(mutators, {}),
|
|
96
|
+
query: {},
|
|
97
|
+
body: {},
|
|
98
|
+
userId: undefined,
|
|
150
99
|
});
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
100
|
+
expectTypeOf().toEqualTypeOf();
|
|
101
|
+
// A registry goes through `ZfxMutator.server` before `handleMutate` takes it.
|
|
102
|
+
expectTypeOf(mutators).not.toExtend();
|
|
103
|
+
});
|
|
104
|
+
it("overrides replace the requirements of the mutators they override", () => {
|
|
105
|
+
const serverMutators = Mutator.server(mutators, {
|
|
106
|
+
messages: {
|
|
107
|
+
deleteAll: Effect.fn(function* () { }),
|
|
108
|
+
},
|
|
109
|
+
transformArgs: Effect.fn(function* ({ at }) {
|
|
110
|
+
expectTypeOf(at).toEqualTypeOf();
|
|
111
|
+
yield* mutators.transformArgs.mutator({ at }).pipe(serverTransaction.execute);
|
|
157
112
|
}),
|
|
158
113
|
});
|
|
159
|
-
const
|
|
160
|
-
|
|
114
|
+
const effect = Server.handleMutate({
|
|
115
|
+
transaction: serverTransaction,
|
|
116
|
+
mutators: serverMutators,
|
|
117
|
+
query: {},
|
|
118
|
+
body: {},
|
|
119
|
+
userId: undefined,
|
|
120
|
+
});
|
|
121
|
+
// `deleteAll`'s override drops DummyTag; `transformArgs` reuses its body through the server transaction.
|
|
161
122
|
expectTypeOf().toEqualTypeOf();
|
|
162
123
|
});
|
|
163
124
|
it("handleMutate has no extra requirements when mutators have none", () => {
|
|
164
|
-
const
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
125
|
+
const simple = Mutator.registry(clientTransaction, {
|
|
126
|
+
simple: Mutator.make({
|
|
127
|
+
payload: Schema.Void,
|
|
128
|
+
mutator: () => clientTransaction.use(async () => { }),
|
|
129
|
+
}),
|
|
168
130
|
});
|
|
169
|
-
const
|
|
170
|
-
|
|
131
|
+
const effect = Server.handleMutate({
|
|
132
|
+
transaction: serverTransaction,
|
|
133
|
+
mutators: Mutator.server(simple, {}),
|
|
134
|
+
query: {},
|
|
135
|
+
body: {},
|
|
136
|
+
userId: undefined,
|
|
171
137
|
});
|
|
172
|
-
const effect = Server.handleMutate({ transaction: serverTransaction, mutators, query: {}, body: {}, userId: undefined });
|
|
173
138
|
expectTypeOf().toEqualTypeOf();
|
|
174
139
|
});
|
|
175
140
|
});
|
package/dist/types.test.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.test.js","sourceRoot":"","sources":["../src/types.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"types.test.js","sourceRoot":"","sources":["../src/types.test.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "effect-zero",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.9.0",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
7
7
|
"url": "https://github.com/realms-labs/effect-zero"
|
|
@@ -11,25 +11,26 @@
|
|
|
11
11
|
"lint": "biome check --error-on-warnings",
|
|
12
12
|
"lint:fix": "biome check --write --unsafe",
|
|
13
13
|
"build": "bun scripts/build.ts",
|
|
14
|
-
"test": "bun vitest run src"
|
|
14
|
+
"test": "bun vitest run --dir src"
|
|
15
15
|
},
|
|
16
16
|
"devDependencies": {
|
|
17
17
|
"@arethetypeswrong/cli": "^0.18.2",
|
|
18
18
|
"@biomejs/biome": "^2.2.6",
|
|
19
|
-
"@effect/language-service": "^0.
|
|
20
|
-
"@effect/vitest": "^4.0.
|
|
21
|
-
"@rocicorp/zero": "1.
|
|
19
|
+
"@effect/language-service": "^0.87.4",
|
|
20
|
+
"@effect/vitest": "^4.0.2",
|
|
21
|
+
"@rocicorp/zero": "1.10.0",
|
|
22
22
|
"@types/bun": "latest",
|
|
23
23
|
"@types/fs-extra": "^11.0.4",
|
|
24
|
-
"effect": "^4.0.
|
|
24
|
+
"effect": "^4.0.2",
|
|
25
25
|
"fast-glob": "^3.3.3",
|
|
26
26
|
"fs-extra": "^11.3.2",
|
|
27
27
|
"ts-patch": "^3.3.0",
|
|
28
|
-
"typescript": "5.9.2"
|
|
28
|
+
"typescript": "5.9.2",
|
|
29
|
+
"vitest": "^5.0.3"
|
|
29
30
|
},
|
|
30
31
|
"peerDependencies": {
|
|
31
|
-
"@rocicorp/zero": "
|
|
32
|
-
"effect": "^4.0.0
|
|
32
|
+
"@rocicorp/zero": ">=1.10.0",
|
|
33
|
+
"effect": "^4.0.0"
|
|
33
34
|
},
|
|
34
35
|
"exports": {
|
|
35
36
|
"./server": {
|
|
@@ -38,28 +39,34 @@
|
|
|
38
39
|
"default": "./dist/server.js"
|
|
39
40
|
}
|
|
40
41
|
},
|
|
42
|
+
"./snapshot": {
|
|
43
|
+
"import": {
|
|
44
|
+
"types": "./dist/snapshot.d.ts",
|
|
45
|
+
"default": "./dist/snapshot.js"
|
|
46
|
+
}
|
|
47
|
+
},
|
|
41
48
|
"./client": {
|
|
42
49
|
"import": {
|
|
43
50
|
"types": "./dist/client.d.ts",
|
|
44
51
|
"default": "./dist/client.js"
|
|
45
52
|
}
|
|
46
53
|
},
|
|
47
|
-
"./
|
|
54
|
+
"./mutator": {
|
|
48
55
|
"import": {
|
|
49
|
-
"types": "./dist/
|
|
50
|
-
"default": "./dist/
|
|
56
|
+
"types": "./dist/mutator.d.ts",
|
|
57
|
+
"default": "./dist/mutator.js"
|
|
51
58
|
}
|
|
52
59
|
},
|
|
53
|
-
"./
|
|
60
|
+
"./server-transaction": {
|
|
54
61
|
"import": {
|
|
55
|
-
"types": "./dist/
|
|
56
|
-
"default": "./dist/
|
|
62
|
+
"types": "./dist/server-transaction.d.ts",
|
|
63
|
+
"default": "./dist/server-transaction.js"
|
|
57
64
|
}
|
|
58
65
|
},
|
|
59
|
-
"./
|
|
66
|
+
"./query": {
|
|
60
67
|
"import": {
|
|
61
|
-
"types": "./dist/
|
|
62
|
-
"default": "./dist/
|
|
68
|
+
"types": "./dist/query.d.ts",
|
|
69
|
+
"default": "./dist/query.js"
|
|
63
70
|
}
|
|
64
71
|
},
|
|
65
72
|
"./result": {
|
|
@@ -68,28 +75,22 @@
|
|
|
68
75
|
"default": "./dist/result.js"
|
|
69
76
|
}
|
|
70
77
|
},
|
|
71
|
-
"./
|
|
72
|
-
"import": {
|
|
73
|
-
"types": "./dist/server-transaction.d.ts",
|
|
74
|
-
"default": "./dist/server-transaction.js"
|
|
75
|
-
}
|
|
76
|
-
},
|
|
77
|
-
"./mutators": {
|
|
78
|
+
"./client-transaction": {
|
|
78
79
|
"import": {
|
|
79
|
-
"types": "./dist/
|
|
80
|
-
"default": "./dist/
|
|
80
|
+
"types": "./dist/client-transaction.d.ts",
|
|
81
|
+
"default": "./dist/client-transaction.js"
|
|
81
82
|
}
|
|
82
83
|
},
|
|
83
|
-
"./types/mutation": {
|
|
84
|
+
"./types/mutation-id": {
|
|
84
85
|
"import": {
|
|
85
|
-
"types": "./dist/types/mutation.d.ts",
|
|
86
|
-
"default": "./dist/types/mutation.js"
|
|
86
|
+
"types": "./dist/types/mutation-id.d.ts",
|
|
87
|
+
"default": "./dist/types/mutation-id.js"
|
|
87
88
|
}
|
|
88
89
|
},
|
|
89
|
-
"./types/
|
|
90
|
+
"./types/mutate-server": {
|
|
90
91
|
"import": {
|
|
91
|
-
"types": "./dist/types/
|
|
92
|
-
"default": "./dist/types/
|
|
92
|
+
"types": "./dist/types/mutate-server.d.ts",
|
|
93
|
+
"default": "./dist/types/mutate-server.js"
|
|
93
94
|
}
|
|
94
95
|
},
|
|
95
96
|
"./types/push": {
|
|
@@ -98,16 +99,10 @@
|
|
|
98
99
|
"default": "./dist/types/push.js"
|
|
99
100
|
}
|
|
100
101
|
},
|
|
101
|
-
"./types/
|
|
102
|
-
"import": {
|
|
103
|
-
"types": "./dist/types/common.d.ts",
|
|
104
|
-
"default": "./dist/types/common.js"
|
|
105
|
-
}
|
|
106
|
-
},
|
|
107
|
-
"./types/mutate-server": {
|
|
102
|
+
"./types/mutation": {
|
|
108
103
|
"import": {
|
|
109
|
-
"types": "./dist/types/
|
|
110
|
-
"default": "./dist/types/
|
|
104
|
+
"types": "./dist/types/mutation.d.ts",
|
|
105
|
+
"default": "./dist/types/mutation.js"
|
|
111
106
|
}
|
|
112
107
|
},
|
|
113
108
|
"./types/ast": {
|
|
@@ -116,23 +111,29 @@
|
|
|
116
111
|
"default": "./dist/types/ast.js"
|
|
117
112
|
}
|
|
118
113
|
},
|
|
119
|
-
"./types/mutation-id": {
|
|
120
|
-
"import": {
|
|
121
|
-
"types": "./dist/types/mutation-id.d.ts",
|
|
122
|
-
"default": "./dist/types/mutation-id.js"
|
|
123
|
-
}
|
|
124
|
-
},
|
|
125
114
|
"./types/error": {
|
|
126
115
|
"import": {
|
|
127
116
|
"types": "./dist/types/error.d.ts",
|
|
128
117
|
"default": "./dist/types/error.js"
|
|
129
118
|
}
|
|
130
119
|
},
|
|
120
|
+
"./types/query-server": {
|
|
121
|
+
"import": {
|
|
122
|
+
"types": "./dist/types/query-server.d.ts",
|
|
123
|
+
"default": "./dist/types/query-server.js"
|
|
124
|
+
}
|
|
125
|
+
},
|
|
131
126
|
"./types/custom-queries": {
|
|
132
127
|
"import": {
|
|
133
128
|
"types": "./dist/types/custom-queries.d.ts",
|
|
134
129
|
"default": "./dist/types/custom-queries.js"
|
|
135
130
|
}
|
|
131
|
+
},
|
|
132
|
+
"./types/common": {
|
|
133
|
+
"import": {
|
|
134
|
+
"types": "./dist/types/common.d.ts",
|
|
135
|
+
"default": "./dist/types/common.js"
|
|
136
|
+
}
|
|
136
137
|
}
|
|
137
138
|
}
|
|
138
139
|
}
|