{"version":3,"sources":["../../../src/schema/types/any.ts"],"sourcesContent":["import Definitions            from '../../core/definitions';\r\nimport ErrorCodes             from '../../errors/io-error-codes';\r\nimport InternetObjectError    from '../../errors/io-error';\r\nimport ValidationError        from '../../errors/io-validation-error';\r\nimport MemberNode             from '../../parser/nodes/members';\r\nimport Node                   from '../../parser/nodes/nodes';\r\nimport { getMemberDef       } from '../../schema/compile-object';\r\nimport Schema                 from '../../schema/schema';\r\nimport TypeDef                from '../../schema/typedef';\r\nimport TypedefRegistry        from '../../schema/typedef-registry';\r\nimport doCommonTypeCheck      from './common-type';\r\nimport MemberDef              from './memberdef';\r\n\r\nconst of = { type: \"any\", __memberdef: true }\r\n\r\nconst schema = new Schema(\r\n  \"any\",\r\n  { type:     { type: \"string\", optional: false, null: false, choices: [\"any\"] } },\r\n  { default:  { type: \"any\",    optional: true,  null: true } },\r\n  { choices:  { type: \"array\",  optional: true,  null: false } },\r\n  { anyOf:    { type: \"array\",  optional: true,  null: false, of } },\r\n  { isSchema: { type: \"bool\",   optional: true,  null: false, default: false } },\r\n  { optional: { type: \"bool\",   optional: true } },\r\n  { null:     { type: \"bool\",   optional: true } },\r\n)\r\n\r\nexport default class AnyDef implements TypeDef {\r\n\r\n  public  get type(): string  { return 'any' }\r\n  public get schema()         { return schema }\r\n\r\n  parse(node: Node, memberDef: MemberDef, defs?: Definitions): any {\r\n    const valueNode = defs?.getV(node) || node\r\n    const { value, changed } = doCommonTypeCheck(memberDef, valueNode, node, defs)\r\n    if (changed) return value\r\n\r\n    const anyOf = memberDef.anyOf;\r\n    if (!anyOf) {\r\n      if (memberDef.__memberdef) { // Convert to memberDef\r\n        const md = getMemberDef(new MemberNode(node), \"\", defs)\r\n        return md\r\n      }\r\n\r\n      return value\r\n    }\r\n\r\n    const errors = []\r\n\r\n    for (let i=0; i<anyOf.length; i++) {\r\n      const def = anyOf[i]\r\n      def.path = memberDef.path\r\n\r\n      const typeDef = TypedefRegistry.get(def.type)\r\n      if (!typeDef) {\r\n        throw new InternetObjectError(ErrorCodes.invalidType, `Invalid type definition '${def.type}'`)\r\n      }\r\n\r\n      try {\r\n        return typeDef.parse(node, def, defs)\r\n      } catch (e) {\r\n        errors.push(e)\r\n        continue\r\n      }\r\n    }\r\n\r\n    // None of the types matched\r\n    if (errors.length === anyOf.length) {\r\n      throw new ValidationError(ErrorCodes.invalidValue, `None of the constraints defined for '${memberDef.path}' matched.`, node)\r\n    }\r\n\r\n    return valueNode;\r\n  }\r\n\r\n  /**\r\n   * Load: Validates a JavaScript value against anyOf constraints (if specified)\r\n   */\r\n  load(value: any, memberDef: MemberDef, defs?: Definitions): any {\r\n    const { value: checkedValue, changed } = doCommonTypeCheck(memberDef, value, undefined, defs)\r\n    if (changed) return checkedValue\r\n\r\n    const anyOf = memberDef.anyOf\r\n    if (!anyOf) {\r\n      // No constraints - accept any value\r\n      return value\r\n    }\r\n\r\n    // Try each type in anyOf until one succeeds\r\n    const errors: Error[] = []\r\n    for (const def of anyOf) {\r\n      const defWithPath = { ...def, path: memberDef.path }\r\n      const typeDef = TypedefRegistry.get(def.type)\r\n\r\n      if (!typeDef) {\r\n        throw new InternetObjectError(ErrorCodes.invalidType, `Invalid type definition '${def.type}'`)\r\n      }\r\n\r\n      try {\r\n        if ('load' in typeDef && typeof typeDef.load === 'function') {\r\n          return typeDef.load(value, defWithPath, defs)\r\n        } else {\r\n          // Type doesn't have load method - skip to next\r\n          errors.push(new Error(`Type '${def.type}' does not support load()`))\r\n          continue\r\n        }\r\n      } catch (e) {\r\n        errors.push(e as Error)\r\n        continue\r\n      }\r\n    }\r\n\r\n    // None of the types matched\r\n    if (errors.length === anyOf.length) {\r\n      throw new ValidationError(\r\n        ErrorCodes.invalidValue,\r\n        `None of the constraints defined for '${memberDef.path}' matched.`\r\n      )\r\n    }\r\n\r\n    return value\r\n  }\r\n\r\n  /**\r\n   * Stringify: Converts a JavaScript value to IO text format\r\n   * Infers the type from the value and uses appropriate TypeDef.stringify()\r\n   * Returns undefined to signal \"skip this field\" (for missing optional values)\r\n   */\r\n  stringify(value: any, memberDef: MemberDef, defs?: Definitions): string | undefined {\r\n    const { value: checkedValue, changed } = doCommonTypeCheck(memberDef, value, undefined, defs)\r\n    if (changed) {\r\n      if (checkedValue === null) return 'N'\r\n      if (checkedValue === undefined) return undefined  // Skip this field entirely\r\n      value = checkedValue\r\n    }\r\n\r\n    // Handle null\r\n    if (value === null) return 'N'\r\n    if (value === undefined) return undefined  // Skip this field entirely\r\n\r\n    // If anyOf is specified, try to find a matching type\r\n    const anyOf = memberDef.anyOf\r\n    if (anyOf) {\r\n      for (const def of anyOf) {\r\n        const defWithPath = { ...def, path: memberDef.path }\r\n        const typeDef = TypedefRegistry.get(def.type)\r\n\r\n        if (!typeDef) continue\r\n\r\n        try {\r\n          // Try to load first to validate, then stringify\r\n          if ('load' in typeDef && typeof typeDef.load === 'function') {\r\n            typeDef.load(value, defWithPath, defs)\r\n          }\r\n          if ('stringify' in typeDef && typeof typeDef.stringify === 'function') {\r\n            return typeDef.stringify(value, defWithPath, defs)\r\n          }\r\n        } catch {\r\n          continue\r\n        }\r\n      }\r\n    }\r\n\r\n    // Infer type from value and stringify accordingly\r\n    return this._stringifyByInference(value, memberDef.path || '', defs)\r\n  }\r\n\r\n  /**\r\n   * Stringify by inferring the type from the value\r\n   * Note: This is only called for non-null/non-undefined values, so inner\r\n   * stringify calls should always return strings, not undefined.\r\n   */\r\n  private _stringifyByInference(value: any, path: string, defs?: Definitions): string {\r\n    // Boolean\r\n    if (typeof value === 'boolean') {\r\n      const boolDef = TypedefRegistry.get('bool')\r\n      if (boolDef && 'stringify' in boolDef && typeof boolDef.stringify === 'function') {\r\n        return boolDef.stringify(value, { type: 'bool', path } as MemberDef, defs) ?? (value ? 'T' : 'F')\r\n      }\r\n      return value ? 'T' : 'F'\r\n    }\r\n\r\n    // Number\r\n    if (typeof value === 'number') {\r\n      const numberDef = TypedefRegistry.get('number')\r\n      if (numberDef && 'stringify' in numberDef && typeof numberDef.stringify === 'function') {\r\n        return numberDef.stringify(value, { type: 'number', path } as MemberDef, defs) ?? String(value)\r\n      }\r\n      return String(value)\r\n    }\r\n\r\n    // BigInt\r\n    if (typeof value === 'bigint') {\r\n      const bigintDef = TypedefRegistry.get('bigint')\r\n      if (bigintDef && 'stringify' in bigintDef && typeof bigintDef.stringify === 'function') {\r\n        return bigintDef.stringify(value, { type: 'bigint', path } as MemberDef, defs) ?? value.toString()\r\n      }\r\n      return value.toString()\r\n    }\r\n\r\n    // String\r\n    if (typeof value === 'string') {\r\n      const stringDef = TypedefRegistry.get('string')\r\n      if (stringDef && 'stringify' in stringDef && typeof stringDef.stringify === 'function') {\r\n        return stringDef.stringify(value, { type: 'string', path, format: 'open' } as MemberDef, defs) ?? value\r\n      }\r\n      return value\r\n    }\r\n\r\n    // Date - infer date/time/datetime based on components\r\n    if (value instanceof Date) {\r\n      const inferredType = this._inferDateTimeType(value)\r\n      const datetimeDef = TypedefRegistry.get(inferredType)\r\n      if (datetimeDef && 'stringify' in datetimeDef && typeof datetimeDef.stringify === 'function') {\r\n        return datetimeDef.stringify(value, { type: inferredType, path } as MemberDef, defs) ?? value.toISOString()\r\n      }\r\n      return value.toISOString()\r\n    }\r\n\r\n    // Array\r\n    if (Array.isArray(value)) {\r\n      const arrayDef = TypedefRegistry.get('array')\r\n      if (arrayDef && 'stringify' in arrayDef && typeof arrayDef.stringify === 'function') {\r\n        const result = arrayDef.stringify(value, { type: 'array', path } as MemberDef, defs)\r\n        if (result !== undefined) return result\r\n      }\r\n      const items = value.map((item, i) => this._stringifyByInference(item, `${path}[${i}]`, defs))\r\n      return `[${items.join(', ')}]`\r\n    }\r\n\r\n    // Object\r\n    if (typeof value === 'object' && value !== null) {\r\n      const objectDef = TypedefRegistry.get('object')\r\n      if (objectDef && 'stringify' in objectDef && typeof objectDef.stringify === 'function') {\r\n        const result = objectDef.stringify(value, { type: 'object', path } as MemberDef, defs)\r\n        if (result !== undefined) return result\r\n      }\r\n      // Fallback: stringify as key-value pairs\r\n      const parts: string[] = []\r\n      for (const key in value) {\r\n        if (value.hasOwnProperty(key)) {\r\n          const strValue = this._stringifyByInference(value[key], `${path}.${key}`, defs)\r\n          parts.push(`${key}: ${strValue}`)\r\n        }\r\n      }\r\n      return `{${parts.join(', ')}}`\r\n    }\r\n\r\n    // Fallback\r\n    return JSON.stringify(value)\r\n  }\r\n\r\n  /**\r\n   * Infer the datetime type (date, time, or datetime) based on the Date value.\r\n   * - If time is 00:00:00.000Z → 'date'\r\n   * - If date is 1900-01-01 → 'time'\r\n   * - Otherwise → 'datetime'\r\n   */\r\n  private _inferDateTimeType(date: Date): 'date' | 'time' | 'datetime' {\r\n    const hours = date.getUTCHours()\r\n    const minutes = date.getUTCMinutes()\r\n    const seconds = date.getUTCSeconds()\r\n    const ms = date.getUTCMilliseconds()\r\n\r\n    const year = date.getUTCFullYear()\r\n    const month = date.getUTCMonth() // 0-indexed\r\n    const day = date.getUTCDate()\r\n\r\n    // Time-only: date component is 1900-01-01 (the sentinel value used in parseTime)\r\n    if (year === 1900 && month === 0 && day === 1) {\r\n      return 'time'\r\n    }\r\n\r\n    // Date-only: time component is all zeros\r\n    if (hours === 0 && minutes === 0 && seconds === 0 && ms === 0) {\r\n      return 'date'\r\n    }\r\n\r\n    // Full datetime\r\n    return 'datetime'\r\n  }\r\n\r\n  public static get types() { return ['any'] }\r\n}\r\n"],"mappings":"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","names":["Schema","doCommonTypeCheck","MemberNode","TypedefRegistry","InternetObjectError","ErrorCodes","ValidationError"]}