{"version":3,"file":"version-ZZ049DYS.mjs","names":[],"sources":["../src/metadata.ts","../src/version.ts"],"sourcesContent":["export type PaystackMetadata = Record<string, unknown>;\n\nexport interface CheckoutMetadataInput {\n  referenceId: string;\n  userId: string;\n  plan?: string;\n  product?: string;\n  extra?: PaystackMetadata;\n  trial: {\n    isTrial: boolean;\n    requested: boolean;\n    granted: boolean;\n    deniedReason?: \"already_used\";\n    endsAt?: Date;\n  };\n}\n\nexport interface ProrationMetadataInput {\n  subscriptionId: string;\n  referenceId: string;\n  newPlan: string;\n  oldPlan: string;\n  newSeatCount: number;\n  remainingDays: number;\n}\n\nexport interface RenewalMetadataInput {\n  subscriptionId: string;\n  referenceId: string;\n}\n\nfunction isMetadataRecord(value: unknown): value is PaystackMetadata {\n  return value !== null && typeof value === \"object\" && !Array.isArray(value);\n}\n\nexport function parsePaystackMetadata(value: unknown): PaystackMetadata {\n  if (value === undefined || value === null || value === \"\") return {};\n\n  if (typeof value === \"string\") {\n    try {\n      const parsed: unknown = JSON.parse(value);\n      return isMetadataRecord(parsed) ? parsed : {};\n    } catch {\n      return {};\n    }\n  }\n\n  return isMetadataRecord(value) ? value : {};\n}\n\nexport function stringifyPaystackMetadata(value: unknown): string | undefined {\n  if (value === undefined || value === null || value === \"\") return undefined;\n  return JSON.stringify(parsePaystackMetadata(value));\n}\n\nexport function hasPaystackMetadata(value: unknown): boolean {\n  return Object.keys(parsePaystackMetadata(value)).length > 0;\n}\n\nexport function getMetadataString(metadata: PaystackMetadata, key: string): string | undefined {\n  const value = metadata[key];\n  return typeof value === \"string\" && value !== \"\" ? value : undefined;\n}\n\nexport function getMetadataNumber(metadata: PaystackMetadata, key: string): number | undefined {\n  const value = metadata[key];\n  return typeof value === \"number\" && Number.isFinite(value) ? value : undefined;\n}\n\nexport function getMetadataBoolean(metadata: PaystackMetadata, key: string): boolean {\n  const value = metadata[key];\n  return value === true || value === \"true\";\n}\n\nexport function createCheckoutMetadata(input: CheckoutMetadataInput): PaystackMetadata {\n  return {\n    referenceId: input.referenceId,\n    userId: input.userId,\n    plan: input.plan,\n    product: input.product,\n    ...input.extra,\n    isTrial: input.trial.isTrial,\n    trialRequested: input.trial.requested,\n    trialGranted: input.trial.granted,\n    trialDeniedReason: input.trial.deniedReason,\n    trialEnd: input.trial.endsAt?.toISOString(),\n  };\n}\n\nexport function createProrationMetadata(input: ProrationMetadataInput): PaystackMetadata {\n  return {\n    type: \"proration\",\n    subscriptionId: input.subscriptionId,\n    referenceId: input.referenceId,\n    newPlan: input.newPlan,\n    oldPlan: input.oldPlan,\n    newSeatCount: input.newSeatCount,\n    remainingDays: input.remainingDays,\n  };\n}\n\nexport function createRenewalMetadata(input: RenewalMetadataInput): PaystackMetadata {\n  return {\n    type: \"renewal\",\n    subscriptionId: input.subscriptionId,\n    referenceId: input.referenceId,\n  };\n}\n","export const PACKAGE_VERSION = \"3.0.0\"; // x-release-please-version\n"],"mappings":";AA+BA,SAAS,iBAAiB,OAA2C;CACnE,OAAO,UAAU,QAAQ,OAAO,UAAU,YAAY,CAAC,MAAM,QAAQ,KAAK;AAC5E;AAEA,SAAgB,sBAAsB,OAAkC;CACtE,IAAI,UAAU,KAAA,KAAa,UAAU,QAAQ,UAAU,IAAI,OAAO,CAAC;CAEnE,IAAI,OAAO,UAAU,UACnB,IAAI;EACF,MAAM,SAAkB,KAAK,MAAM,KAAK;EACxC,OAAO,iBAAiB,MAAM,IAAI,SAAS,CAAC;CAC9C,QAAQ;EACN,OAAO,CAAC;CACV;CAGF,OAAO,iBAAiB,KAAK,IAAI,QAAQ,CAAC;AAC5C;AAEA,SAAgB,0BAA0B,OAAoC;CAC5E,IAAI,UAAU,KAAA,KAAa,UAAU,QAAQ,UAAU,IAAI,OAAO,KAAA;CAClE,OAAO,KAAK,UAAU,sBAAsB,KAAK,CAAC;AACpD;AAEA,SAAgB,oBAAoB,OAAyB;CAC3D,OAAO,OAAO,KAAK,sBAAsB,KAAK,CAAC,EAAE,SAAS;AAC5D;AAEA,SAAgB,kBAAkB,UAA4B,KAAiC;CAC7F,MAAM,QAAQ,SAAS;CACvB,OAAO,OAAO,UAAU,YAAY,UAAU,KAAK,QAAQ,KAAA;AAC7D;AAEA,SAAgB,kBAAkB,UAA4B,KAAiC;CAC7F,MAAM,QAAQ,SAAS;CACvB,OAAO,OAAO,UAAU,YAAY,OAAO,SAAS,KAAK,IAAI,QAAQ,KAAA;AACvE;AAEA,SAAgB,mBAAmB,UAA4B,KAAsB;CACnF,MAAM,QAAQ,SAAS;CACvB,OAAO,UAAU,QAAQ,UAAU;AACrC;AAEA,SAAgB,uBAAuB,OAAgD;CACrF,OAAO;EACL,aAAa,MAAM;EACnB,QAAQ,MAAM;EACd,MAAM,MAAM;EACZ,SAAS,MAAM;EACf,GAAG,MAAM;EACT,SAAS,MAAM,MAAM;EACrB,gBAAgB,MAAM,MAAM;EAC5B,cAAc,MAAM,MAAM;EAC1B,mBAAmB,MAAM,MAAM;EAC/B,UAAU,MAAM,MAAM,QAAQ,YAAY;CAC5C;AACF;AAEA,SAAgB,wBAAwB,OAAiD;CACvF,OAAO;EACL,MAAM;EACN,gBAAgB,MAAM;EACtB,aAAa,MAAM;EACnB,SAAS,MAAM;EACf,SAAS,MAAM;EACf,cAAc,MAAM;EACpB,eAAe,MAAM;CACvB;AACF;AAEA,SAAgB,sBAAsB,OAA+C;CACnF,OAAO;EACL,MAAM;EACN,gBAAgB,MAAM;EACtB,aAAa,MAAM;CACrB;AACF;;;AC3GA,MAAa,kBAAkB"}