{"version":3,"file":"_jsonStringifyProperty.mjs","names":[],"sources":["../../src/internal/_jsonStringifyProperty.ts"],"sourcesContent":["/**\n * Writes one object member the way ECMAScript `JSON.stringify` writes it.\n *\n * `SerializeJSONObject` serializes each member first and drops the member\n * entirely when that result is `undefined`. Deciding omission from the _input_\n * instead cannot reach the same answer: a symbol and a `toJSON` returning\n * nothing are both present, non-`undefined`, non-function values whose\n * serialization is `undefined`, so the member's text became the literal\n * `\"k\":undefined` — output that is not JSON at all.\n *\n * The serialized text is passed in already evaluated, so the member's value is\n * serialized exactly once. Testing the input and then serializing would\n * evaluate a `toJSON` twice, and a `toJSON` is free to answer differently each\n * call.\n *\n * The trailing separator belongs to the member because a dropped member must\n * take its comma with it; `_jsonStringifyTail` removes the one that is left\n * behind when the last written member is the one that dropped.\n *\n * @param head Quoted key and colon, emitted by the transform.\n * @param text Serialized member value, or `undefined` when it has none.\n * @param tail Separator following this member, empty for the last one.\n * @returns Member text, or an empty string when the member is omitted.\n * @internal\n */\nexport const _jsonStringifyProperty = (\n  head: string,\n  text: string | undefined,\n  tail: string,\n): string => (text === undefined ? \"\" : head + text + tail);\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAyBA,MAAa,0BACX,MACA,MACA,SACY,SAAS,KAAA,IAAY,KAAK,OAAO,OAAO"}