Put the submit_sm summary back on the function it describes and tidy the review nits

This commit is contained in:
2026-08-30 23:12:22 +02:00
parent 706b61d6ca
commit 140464802b
5 changed files with 6 additions and 5 deletions
+1 -1
View File
@@ -19,8 +19,8 @@ export type IncomingRequestsOptions = {
maxReassembly?: number | undefined;
onRequest?: OnRequest | undefined;
reassemblyTimeout?: number | undefined;
smsIdFormat?: SmsIdFormat | undefined;
session: Session;
smsIdFormat?: SmsIdFormat | undefined;
systemId?: string | undefined;
};
+1 -1
View File
@@ -83,7 +83,6 @@ export function submitSmParams(
return params;
}
/** Puts a message on the wire as one submit_sm per segment. */
/** Nothing goes on the wire until the whole message fits: a half-sent message bills twice. */
function checkSegments(allowed: number, segments: number): Error | undefined {
if (!Number.isInteger(allowed) || allowed < 1 || allowed > maxSegments) {
@@ -125,6 +124,7 @@ function collectSent(
return failure ? { err: failure, pduObjs, smsIds } : { pduObjs, smsIds };
}
/** Puts a message on the wire as one submit_sm per segment. */
export async function submitSms(deps: SendSmsDeps, sms: SendSmsOptions): Promise<SendSmsResult> {
const allowed = sms.maxSegments ?? maxSegments;
const encoding = sms.encoding ?? detect(sms.message);
+1 -1
View File
@@ -11,7 +11,7 @@ export type SmsIdNotation = keyof typeof notations;
/** The notation per place the peer writes an id. An omitted place is left as it arrived. */
export type SmsIdFormat = Partial<Record<typeof places[number], SmsIdNotation | undefined>>;
export const smsIdNotations: string[] = Object.keys(notations);
export const smsIdNotations: readonly string[] = Object.keys(notations);
export const smsIdPlaces: readonly string[] = places;
+3 -1
View File
@@ -104,13 +104,15 @@ describe('README: Client', () => {
closeAfter(t, session);
const reported = once<Dlr>(resolve => { session.on('dlr', resolve); });
const { smsIds } = await session.sendSms({
const { err: sendErr, smsIds } = await session.sendSms({
dlr: true,
from: '46701113311',
message: 'Hello world',
to: '46709771337',
});
assert.equal(sendErr, undefined);
assert.equal(smsIds.length, 1);
// The generated ids the server answers with read as no notation, so they arrive untouched.
assert.equal((await reported).smsId, smsIds[0]);
});
-1
View File
@@ -878,7 +878,6 @@ describe('message id notation', () => {
assert.ok(checked.err instanceof Error);
assert.match(checked.err.message, /smsIdFormat\.receipt/);
// The shape todo.md sketched, which a caller without types would otherwise pass unnoticed.
assert.ok(checkSessionOptions({ smsIdFormat: 'hex' }).err instanceof Error);
assert.match(
checkSessionOptions({ smsIdFormat: { receipts: 'decimal' } }).err?.message ?? '',