edgedb-js
edgedb-js copied to clipboard
Type incorrect for `union` operation on set with array properties
Code The code causing the error.
const PersonIdentifierParams = {
identifier: e.str,
tokenizedName: e.array(e.str),
}
const agentIdentifiers = e.for(
e.op(
'distinct',
e.op(
e.op(
e.op(
e.array_unpack(params.feeTransactions).agentIdentifier,
'union',
e.array_unpack(params.paymentTransactions).agentIdentifier,
),
'union',
e.array_unpack(params.chargebackTransactions).agentIdentifier,
),
'union',
e.array_unpack(params.holdTransactions).agentIdentifier,
),
),
agentIdentifierParams => e.op(
e.assert_single(
e.select(e.comp.AgentIdentifier, agentIdentifier => ({
filter: e.op(
e.op(
e.op(agentIdentifier.tokenizedName, '?=', normalizeTupleArrayOp(agentIdentifierParams.tokenizedName)),
'and',
e.op(agentIdentifier.identifier, '?=', normalizeTupleStringOp(agentIdentifierParams.identifier)),
),
'and',
agentIdentifier.owner.isSelf,
),
})),
),
'??',
e.insert(e.comp.AgentIdentifier, {
identifier: normalizeTupleStringOp(agentIdentifierParams.identifier),
owner: e.core.global.currentUser,
tokenizedName: normalizeTupleArrayOp(agentIdentifierParams.tokenizedName),
}),
),
)
Error or desired behavior
The expectation from the union of the param e.array(e.str) type be the same type, but for some reason it returns a type never.
Versions (please complete the following information):
- OS:
- EdgeDB version (e.g.
2.0): 6.4+4e5cdad - EdgeDB CLI version (e.g.
2.0): Gel CLI 7.3.0-dev.1347+7e5a953 edgedb-jsversion (e.g.0.20.10;): [email protected]@edgedb/generateversion (e.g.0.0.7;): @gel/[email protected]- TypeScript version: 5.7.3
- Node/Deno version: v22.13.1