Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | 19x 19x 1x 1x 1x 1x 2x 2x 1x 1x 1x 2x 1x | import { define } from "../define";
import { MapFactory, GetType } from "../types";
export const map: MapFactory = (keySd, valueSd, headSd) =>
define(
(ctx, data) => {
const { length } = Object.keys(data);
headSd.ser(ctx, length);
for (const key in data) {
keySd.ser(ctx, key);
valueSd.ser(ctx, data[key]);
}
},
(ctx) => {
const length = headSd.des(ctx);
const data: Record<string, GetType<typeof valueSd>> = {};
for (let i = 0; i < length; i++) {
data[keySd.des(ctx)] = valueSd.des(ctx);
}
return data;
}
);
|