{"version":3,"file":"index.mjs","sources":["../src/lib/hasFromObject.ts","../src/lib/deleteFromObject.ts","../src/lib/getFromObject.ts","../src/lib/setToObject.ts","../src/index.ts"],"sourcesContent":["/**\n * A semi-complex function to check if a specific property exists in objects.\n * @deprecated\n * @since 2.0.0\n * @param value The value object to check.\n * @param path An array of strings forming a path.\n * @returns Whether a value at path exists.\n */\nexport function hasFromObject<Input>(value: Input, path: string[]): boolean {\n\tif (path.length === 0) return true;\n\tif (typeof value !== 'object') return false;\n\n\tlet bool = false;\n\n\tpath.reduce<Record<string, any>>(\n\t\t(previousStep, step, index) => {\n\t\t\tif (typeof previousStep !== 'object') bool = false;\n\t\t\tif ([undefined, null].includes(previousStep as unknown as undefined | null)) return previousStep;\n\n\t\t\tif (index === path.length - 1) {\n\t\t\t\tif (Array.isArray(previousStep) && previousStep.length > Number(step)) bool = true;\n\t\t\t\telse if (step in previousStep) bool = true;\n\t\t\t}\n\n\t\t\treturn previousStep[step];\n\t\t},\n\t\ttypeof value === 'object' ? value ?? {} : {}\n\t);\n\n\treturn bool;\n}\n","import { hasFromObject } from './hasFromObject';\n\n/**\n * A semi-complex function to manipulate and delete paths in objects.\n * @deprecated\n * @since 1.0.0\n * @param input The input object to manipulate.\n * @param path An array of strings forming a path.\n * @returns The manipulated input object.\n */\nexport function deleteFromObject<Input, Output = unknown>(input: Input, path: string[]): Output {\n\tif (!path.length) return input as unknown as Output;\n\tif (!hasFromObject(input, path)) return input as unknown as Output;\n\n\tpath.reduce<Record<string, any>>(\n\t\t(previousStep, step, index) => {\n\t\t\tif (typeof previousStep !== 'object') previousStep = {};\n\t\t\tif (index === path.length - 1) Reflect.deleteProperty(previousStep, step);\n\n\t\t\treturn previousStep[step];\n\t\t},\n\t\ttypeof input === 'object' ? input ?? {} : {}\n\t);\n\n\treturn input as unknown as Output;\n}\n","import { hasFromObject } from './hasFromObject';\n\n/**\n * A semi-complex function to manipulate and get paths in objects.\n * @deprecated\n * @since 1.0.0\n * @param value The value object to manipulate.\n * @param path An array of strings forming a path.\n * @returns The value received after manipulation, else undefined.\n */\nexport function getFromObject<Input, Output = unknown>(value: Input, path: string[]): Output | undefined {\n\treturn path.reduce<Record<string, any>>(\n\t\t(previousStep, step) => (hasFromObject(previousStep, [step]) ? previousStep[step] : undefined),\n\t\ttypeof value === 'object' ? value ?? {} : {}\n\t) as Output;\n}\n","/**\n * A semi-complex function to manipulate and set paths in objects.\n * @deprecated\n * @since 1.1.0\n * @param input The input object to manipulate.\n * @param path An array of strings forming a path.\n * @param value The value to set at the given path.\n * @returns The manipulated input object.\n */\nexport function setToObject<Input, Value, Output = unknown>(input: Input, path: string[], value: Value): Output {\n\tif (!path.length) return value as unknown as Output;\n\tif (typeof input !== 'object') input = {} as Input;\n\n\tpath.reduce<Record<string, any>>(\n\t\t(previousStep, step, index) => {\n\t\t\tif (typeof previousStep[step] !== 'object') Reflect.deleteProperty(previousStep, step);\n\t\t\tif (previousStep[step] === undefined) Reflect.set(previousStep, step, {});\n\t\t\tif (index === path.length - 1) Reflect.set(previousStep, step, value);\n\n\t\t\treturn previousStep[step];\n\t\t},\n\t\ttypeof input === 'object' ? input ?? {} : {}\n\t);\n\n\treturn input as unknown as Output;\n}\n","export * from './lib/deleteFromObject';\nexport * from './lib/getFromObject';\nexport * from './lib/hasFromObject';\nexport * from './lib/setToObject';\n\nexport const version = '[VI]{version}[/VI]';\n"],"names":[],"mappings":"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"}