Rocky_Mountain_Vending/.pnpm-store/v10/files/37/3458830d7c40e42fdd724d0424c3a98fc82579e0c9ee303d7a4080e06fca07d7891be1da0feffd0e37d1beacb3accef8137a1c78016729a7846f6f07a9d4d9
DMleadgen 46d973904b
Initial commit: Rocky Mountain Vending website
Next.js website for Rocky Mountain Vending company featuring:
- Product catalog with Stripe integration
- Service areas and parts pages
- Admin dashboard with Clerk authentication
- SEO optimized pages with JSON-LD structured data

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-12 16:22:15 -07:00

40 lines
1.3 KiB
Text

import { NormalizedSchema } from "@smithy/core/schema";
export function* serializingStructIterator(ns, sourceObject) {
if (ns.isUnitSchema()) {
return;
}
const struct = ns.getSchema();
for (let i = 0; i < struct[4].length; ++i) {
const key = struct[4][i];
const memberSchema = struct[5][i];
const memberNs = new NormalizedSchema([memberSchema, 0], key);
if (!(key in sourceObject) && !memberNs.isIdempotencyToken()) {
continue;
}
yield [key, memberNs];
}
}
export function* deserializingStructIterator(ns, sourceObject, nameTrait) {
if (ns.isUnitSchema()) {
return;
}
const struct = ns.getSchema();
let keysRemaining = Object.keys(sourceObject).filter((k) => k !== "__type").length;
for (let i = 0; i < struct[4].length; ++i) {
if (keysRemaining === 0) {
break;
}
const key = struct[4][i];
const memberSchema = struct[5][i];
const memberNs = new NormalizedSchema([memberSchema, 0], key);
let serializationKey = key;
if (nameTrait) {
serializationKey = memberNs.getMergedTraits()[nameTrait] ?? key;
}
if (!(serializationKey in sourceObject)) {
continue;
}
yield [key, memberNs];
keysRemaining -= 1;
}
}