@baadal-sdk/dapi 0.31.5 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/README.md +62 -2
  2. package/dist/index.d.ts +674 -0
  3. package/dist/index.js +1118 -0
  4. package/dist/index.js.map +1 -0
  5. package/package.json +44 -106
  6. package/LICENSE.txt +0 -21
  7. package/dist/cjs/index.js +0 -3
  8. package/dist/cjs/index.js.LICENSE.txt +0 -1
  9. package/dist/cjs/index.js.map +0 -1
  10. package/dist/cjs/package.json +0 -3
  11. package/dist/esm/index.js +0 -3
  12. package/dist/esm/index.js.LICENSE.txt +0 -1
  13. package/dist/esm/index.js.map +0 -1
  14. package/dist/esm/package.json +0 -3
  15. package/dist/types/aws/client.d.ts +0 -13
  16. package/dist/types/aws/client.d.ts.map +0 -1
  17. package/dist/types/aws/db.d.ts +0 -291
  18. package/dist/types/aws/db.d.ts.map +0 -1
  19. package/dist/types/aws/index.d.ts +0 -12
  20. package/dist/types/aws/index.d.ts.map +0 -1
  21. package/dist/types/aws/s3.d.ts +0 -90
  22. package/dist/types/aws/s3.d.ts.map +0 -1
  23. package/dist/types/common/common.model.d.ts +0 -4
  24. package/dist/types/common/common.model.d.ts.map +0 -1
  25. package/dist/types/common/const.d.ts +0 -4
  26. package/dist/types/common/const.d.ts.map +0 -1
  27. package/dist/types/common/error.d.ts +0 -4
  28. package/dist/types/common/error.d.ts.map +0 -1
  29. package/dist/types/common/logger.d.ts +0 -29
  30. package/dist/types/common/logger.d.ts.map +0 -1
  31. package/dist/types/fs/index.d.ts +0 -102
  32. package/dist/types/fs/index.d.ts.map +0 -1
  33. package/dist/types/gh/index.d.ts +0 -22
  34. package/dist/types/gh/index.d.ts.map +0 -1
  35. package/dist/types/index.d.ts +0 -13
  36. package/dist/types/index.d.ts.map +0 -1
  37. package/dist/types/utils/index.d.ts +0 -6
  38. package/dist/types/utils/index.d.ts.map +0 -1
  39. package/src/aws/client.ts +0 -18
  40. package/src/aws/db.ts +0 -764
  41. package/src/aws/index.ts +0 -33
  42. package/src/aws/s3.ts +0 -476
  43. package/src/common/common.model.ts +0 -3
  44. package/src/common/const.ts +0 -3
  45. package/src/common/error.ts +0 -12
  46. package/src/common/logger.ts +0 -18
  47. package/src/fs/index.ts +0 -316
  48. package/src/gh/index.ts +0 -60
  49. package/src/index.ts +0 -8
  50. package/src/typings/index.d.ts +0 -0
  51. package/src/utils/index.ts +0 -39
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/index.ts","../src/fs/index.ts","../src/utils/index.ts","../src/utils/crypto.ts","../src/utils/utils.ts","../src/common/logger.ts","../src/common/error.ts","../src/aws/index.ts","../src/aws/db.ts","../src/aws/client.ts","../src/common/const.ts","../src/aws/s3.ts","../src/gh/index.ts"],"sourcesContent":["import * as fs from './fs';\nimport * as aws from './aws';\nimport * as gh from './gh';\nimport * as utils from './utils';\n\nexport { fs, aws, gh, utils }; // named exports\nexport default { fs, aws, gh, utils }; // default export\n","import util from 'node:util';\nimport fs from 'node:fs';\nimport fsa from 'node:fs/promises';\n\nimport { assertPath } from '../utils';\nimport { CustomError } from '../common/error';\nimport { warn as cwarn } from '../common/logger';\n\n/**\n * Check whether a file exists\n * @param file file path\n * @param loud whether to throw errors [default: false]\n * @returns true if it exists, false if it doesn't, null in case of error\n */\nexport const existsFileSync = (file: string, loud = false) => {\n if (!file) return null;\n file = assertPath(file);\n try {\n if (!fs.existsSync(file)) {\n if (!loud) return false;\n throw new CustomError(`File does not exist: ${file}`);\n }\n } catch (e) {\n if (!loud) return null;\n if (e instanceof CustomError) {\n throw e;\n } else {\n throw new CustomError(`Error while accessing file: ${file}`);\n }\n }\n return true;\n};\n\n/**\n * Check whether a directory exists\n * @param dir directory path\n * @param loud whether to throw errors [default: false]\n * @returns true if it exists, false if it doesn't, null in case of error\n */\nexport const existsDirSync = (dir: string, loud = false) => {\n if (!dir) return null;\n dir = assertPath(dir);\n try {\n if (!fs.existsSync(dir)) {\n if (!loud) return false;\n throw new CustomError(`Directory does not exist: ${dir}`);\n }\n } catch (e) {\n if (!loud) return null;\n if (e instanceof CustomError) {\n throw e;\n } else {\n throw new CustomError(`Error while accessing directory: ${dir}`);\n }\n }\n return true;\n};\n\n/**\n * Read contents of a file\n * @param file file path\n * @param warn whether to show warnings [default: false]\n * @returns contents of the file, null in case of error\n */\nexport const readFile = async (file: string, warn = false) => {\n if (!file) return null;\n file = assertPath(file);\n let contents = null;\n try {\n contents = await fsa.readFile(file, 'utf8');\n } catch (e) {\n if (warn) cwarn(`Cannot read file: ${file}`);\n }\n return contents;\n};\n\n/**\n * Read contents of a file\n * @param file file path\n * @param warn whether to show warnings [default: false]\n * @returns contents of the file, null in case of error\n */\nexport const readFileSync = (file: string, warn = false) => {\n if (!file) return null;\n file = assertPath(file);\n let contents = null;\n try {\n contents = fs.readFileSync(file, 'utf8');\n } catch (e) {\n if (warn) cwarn(`Cannot read file: ${file}`);\n }\n return contents;\n};\n\n/**\n * Get the list of files/directories in a directory\n * @param dir directory path\n * @param warn whether to show warnings [default: false]\n * @param hiddenItems whether to include items starting with dot(.) [default: false]\n * @returns an object {dirs,files} containing list of directories & files, null in case or error\n */\nexport const readDir = async (dir: string, warn = false, hiddenItems = false) => {\n if (!dir) return null;\n dir = assertPath(dir);\n\n let dirs: string[] = [];\n let files: string[] = [];\n\n try {\n const items = await fsa.readdir(dir, { withFileTypes: true });\n items.forEach(item => {\n if (item.isDirectory()) {\n dirs.push(item.name);\n } else if (item.isFile()) {\n files.push(item.name);\n }\n });\n } catch (e) {\n if (warn) cwarn(`Cannot read dir: ${dir}`);\n return null;\n }\n\n if (!hiddenItems) {\n dirs = (dirs as string[]).filter(d => !d.startsWith('.'));\n files = (files as string[]).filter(f => !f.startsWith('.'));\n }\n\n return { dirs, files };\n};\n\n/**\n * Get the list of files in a directory\n * @param dir directory path\n * @param warn whether to show warnings [default: false]\n * @param hiddenItems whether to include items starting with dot(.) [default: false]\n * @returns list of files, null in case of error\n */\nexport const readDirFiles = async (dir: string, warn = false, hiddenItems = false) => {\n if (!dir) return null;\n dir = assertPath(dir);\n return (await readDir(dir, warn, hiddenItems))?.files || null;\n};\n\n/**\n * Get the list of directories in a directory\n * @param dir directory path\n * @param warn whether to show warnings [default: false]\n * @param hiddenItems whether to include items starting with dot(.) [default: false]\n * @returns list of directories, null in case of error\n */\nexport const readDirDirs = async (dir: string, warn = false, hiddenItems = false) => {\n if (!dir) return null;\n dir = assertPath(dir);\n return (await readDir(dir, warn, hiddenItems))?.dirs || null;\n};\n\nconst readDirFilesRecHelper = async (dir: string, basePath = ''): Promise<string[] | null> => {\n if (!dir) return null;\n dir = assertPath(dir);\n\n const dirPath = basePath ? `${dir}/${basePath}` : dir;\n const readDirObj = await readDir(dirPath);\n if (!readDirObj) return null;\n\n const { dirs, files } = readDirObj;\n let allFiles: string[] = files || [];\n allFiles = allFiles.map(file => (basePath ? `${basePath}/${file}` : file));\n const absDirs = (dirs || []).map(d => (basePath ? `${basePath}/${d}` : d));\n\n const pList = absDirs.map(dirx => readDirFilesRecHelper(dir, dirx));\n const filesxList = await Promise.all(pList);\n filesxList.forEach(filesx => {\n if (filesx) {\n allFiles = [...allFiles, ...filesx];\n }\n });\n\n return allFiles;\n};\n\n/**\n * Get the (recursive) list of files in a directory\n * @param dir directory path\n * @param hiddenItems whether to include items starting with dot(.) [default: false]\n * @returns complete (recursive) list of files, null in case of error\n */\nexport const readDirFilesRec = async (dir: string, hiddenItems = false) => {\n let allFiles = await readDirFilesRecHelper(dir);\n if (!hiddenItems) {\n if (allFiles) allFiles = allFiles.filter(f => !f.startsWith('.'));\n }\n return allFiles;\n};\n\n/**\n * Write contents to a file (creates the file path if it doesn't exist)\n * @param file file path\n * @param contents contents to write\n * @returns true if successful, null in case of error\n */\nexport const writeFile = async (file: string, contents: string) => {\n if (!file || !contents) return null;\n file = assertPath(file);\n try {\n const dir = file.substring(0, file.lastIndexOf('/'));\n await fsa.mkdir(dir, { recursive: true });\n await fsa.writeFile(file, contents);\n } catch (e) {\n console.error(`Error while writing to ${file}`, e);\n return null;\n }\n return true;\n};\n\n/**\n * Append contents to a file\n * @param file file path\n * @param contents contents to append\n * @returns true if successful, null in case of error\n */\nexport const appendToFile = async (file: string, contents: string) => {\n if (!file || !contents) return null;\n file = assertPath(file);\n try {\n const dir = file.substring(0, file.lastIndexOf('/'));\n await fsa.mkdir(dir, { recursive: true });\n\n await fsa.appendFile(file, contents + '\\n');\n\n // Ref: https://stackoverflow.com/a/43370201\n // const stream = fs.createWriteStream(file, { flags: 'a' });\n // stream.write(contents + '\\n');\n // stream.end();\n } catch (e) {\n console.error(`Error while appending to ${file}`, e);\n return null;\n }\n return true;\n};\n\n/**\n * Rename a file\n * @param oldpath old file path\n * @param newpath new file path\n * @returns true if successful, null in case of error\n */\nexport const renameFile = async (oldpath: string, newpath: string) => {\n if (!oldpath || !newpath) return null;\n oldpath = assertPath(oldpath);\n newpath = assertPath(newpath);\n try {\n await fsa.rename(oldpath, newpath);\n } catch (e) {\n console.error(`Error while renaming file ${oldpath} to ${newpath}`, e);\n return null;\n }\n return true;\n};\n\n/**\n * Create a directory, if it doesn't exist\n * @param dir directory path\n * @returns true if successful, null in case of failure/error\n */\nexport const createDir = async (dir: string) => {\n if (!dir) return null;\n dir = assertPath(dir);\n try {\n if (!existsDirSync(dir)) {\n await fsa.mkdir(dir, { recursive: true });\n }\n } catch (e) {\n console.error(`Error while creating directory: ${dir}`, e);\n return null;\n }\n return true;\n};\n\n/**\n * Delete a file\n * @param file file path\n * @returns true if successful, null in case of error\n */\nexport const deleteFile = async (file: string) => {\n if (!file) return null;\n file = assertPath(file);\n try {\n await fsa.unlink(file);\n } catch (e) {\n console.error(`Error while deleting file ${file}`, e);\n return null;\n }\n return true;\n};\n\n/**\n * Delete a directory\n * @param dir directory path\n * @returns true if successful, null in case of error\n */\nexport const deleteDir = async (dir: string) => {\n if (!dir) return null;\n dir = assertPath(dir);\n try {\n const rimraf = require('rimraf');\n const rimrafPr = util.promisify(rimraf);\n await rimrafPr(dir);\n\n // Added in: v14.14.0\n // await fsa.rm(dir, { recursive: true, force: true });\n } catch (e) {\n console.error(`Error while deleting dir ${dir}`, e);\n return null;\n }\n return true;\n};\n","export * from './crypto';\nexport * from './utils';\n","import crypto from 'node:crypto';\n\n/**\n * Generate SHA1 hash from given data\n * @param input data string for which SHA1 hash has to be generated\n * @returns SHA1 hash of the given data\n */\nexport function sha1Hash(input: string): string {\n const hash = crypto.createHash('sha1')\n .update(input, 'utf8')\n .digest('hex');\n return hash;\n}\n\n/**\n * Generate SHA256 hash from given data\n * @param input data string for which SHA256 hash has to be generated\n * @returns SHA256 hash of the given data\n */\nexport function sha256Hash(input: string | Buffer) {\n if (!input) return null;\n const hashSum = crypto.createHash('sha256');\n hashSum.update(input); // defaults to 'utf8' encoding\n return hashSum.digest('hex');\n};\n","import path from 'node:path';\nimport fsa from 'node:fs/promises';\nimport { encode, decode } from 'js-base64';\nimport { sha256Hash } from './crypto';\nimport { error } from '../common/logger';\n\nexport const assertPath = (p: string) => {\n if (!p || p.startsWith('/')) return p;\n return path.resolve(process.cwd(), p);\n};\n\nexport const fileHash = async (file: string) => {\n if (!file) return null;\n let contents: Buffer | null = null;\n\n try {\n // get buffer (instead of utf8 string) to support binary data\n contents = await fsa.readFile(file);\n } catch (e) {\n error(e);\n return null;\n }\n\n return sha256Hash(contents);\n};\n\n/**\n * base64-encode given data\n * @param data data string to be base64-encoded\n * @returns base64-encoded string\n */\nexport const base64Encode = (data: string) => {\n // return Buffer.from(data, 'utf-8').toString('base64');\n return encode(data);\n};\n\n/**\n * decode base64-encoded data\n * @param base64 base64 string to be decoded\n * @returns base64-decoded string\n */\nexport const base64Decode = (base64: string) => {\n // return Buffer.from(base64, 'base64').toString();\n return decode(base64);\n};\n\n/**\n * Create a Map from a given Array based on some field\n * Note that the items of the array should generally be of type `object`\n * so that the `key` property exists on the object item. However, if the\n * `key` parameter is not provided, then the items of the array must be of\n * a primitive data type (string or number) which will be treated as key.\n * @param arr given Array to be converted to Map\n * @param key [optional] a string field from Array items\n * @returns a map created from the array items\n */\nexport const arrayToMap = <T = any>(arr: T[] | null, key?: string) => {\n if (!arr || !Array.isArray(arr)) return null;\n\n const map = new Map<string, T>();\n if (!arr.length) return map;\n\n if (!key && typeof arr[0] !== 'string' && typeof arr[0] !== 'number') return null;\n arr.forEach((item: any) => {\n if (!key) {\n map.set(`${item}`, true as unknown as T);\n } else if (typeof item === 'object') {\n const itemKey = item[key];\n if (itemKey && typeof itemKey === 'string') {\n map.set(itemKey, item);\n }\n }\n });\n return map.size ? map : null;\n};\n\n/**\n * Convert an array into an array of chunks of array\n * @param arr a given array\n * @param chunkSize maximum number of items in a chunk\n * @returns array of chunks of the given array\n */\nexport const chunkifyArray = <T = any>(arr: T[], chunkSize: number) => {\n const chunkedItems = [];\n for (let i = 0; i < arr.length; i += chunkSize) {\n const chunk = arr.slice(i, i + chunkSize);\n chunkedItems.push(chunk);\n }\n return chunkedItems;\n};\n","const log = console.log;\nconst warn = console.warn;\nconst error = console.error;\n\nexport { log, warn, error };\nexport default { log, warn, error };\n","export type CustomErrorOptions = ErrorOptions & { name?: string } & Record<string, unknown>;\n\nexport class CustomError extends Error {\n constructor(message: string, options: CustomErrorOptions = {}) {\n super(message, { cause: options.cause });\n\n // Maintains proper stack trace for where our error was thrown (only available on V8)\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, CustomError);\n }\n\n this.name = options.name || 'CustomError';\n }\n}\n","import * as db from './db';\nimport * as s3 from './s3';\nimport { warn, error } from '../common/logger';\n\n// Ref: https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/index.html\n// Types: https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/modules/_aws_sdk_types.html\n\nconst { init: dbInit, status: dbStatus } = db;\nconst { init: s3Init, status: s3Status } = s3;\n\n/**\n * @deprecated explicit init deprecated!\n */\nexport const init = async (region: string) => {\n warn('[@baadal-sdk/dapi] aws explicit init deprecated!');\n if (!region) {\n error(`AWS initialization error! Missing region: ${region}`);\n return false;\n }\n\n const cond1 = await dbInit(region);\n const cond2 = await s3Init(region);\n return cond1 && cond2;\n};\n\nexport const status = () => {\n return {\n db: dbStatus(),\n s3: s3Status(),\n };\n};\n\nexport { db, s3 }; // named exports\n","/**\n * Examples:\n * Ref: https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/dynamodb-examples.html\n *\n * Partition key vs Composite primary key:\n * Ref: https://aws.amazon.com/premiumsupport/knowledge-center/primary-key-dynamodb-table/\n */\n\nimport { DynamoDBClient } from '@aws-sdk/client-dynamodb';\nimport {\n DynamoDBDocumentClient,\n GetCommand,\n GetCommandInput,\n BatchGetCommand,\n BatchGetCommandInput,\n PutCommand,\n PutCommandInput,\n BatchWriteCommand,\n BatchWriteCommandInput,\n UpdateCommand,\n UpdateCommandInput,\n QueryCommand,\n QueryCommandInput,\n ScanCommand,\n ScanCommandInput,\n DeleteCommand,\n DeleteCommandInput,\n} from '@aws-sdk/lib-dynamodb';\nimport * as short from 'short-uuid';\n\nimport { dbClient } from './client';\nimport { chunkifyArray } from '../utils';\nimport { StringIndexable } from '../common/model/common.model';\nimport { CustomError } from '../common/error';\nimport { warn, error } from '../common/logger';\nimport { BATCH_SIZE, CHUNK_SIZE, MAX_RETRY_ATTEMPTS } from '../common/const';\n\nconst DynamoDBError = (msg: string) => new CustomError(msg, { name: 'DynamoDBError' });\n\n/** @internal */\nexport const init = async (_region?: string) => {\n let region = _region ?? process.env.AWS_REGION; // e.g. 'us-east-1'\n if (!region) {\n const client = new DynamoDBClient({});\n region = await client.config.region() // gets region from `~/.aws/config`\n }\n\n // Ref: https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/modules/_aws_sdk_lib_dynamodb.html#configuration\n if (region && !dbClient.client) {\n const dydbClient = new DynamoDBClient({ region }); // may also pass `credentials`\n dbClient.client = DynamoDBDocumentClient.from(dydbClient);\n dbClient.id = short.generate();\n return true;\n }\n\n // NOTE: There could be 2 parallel `init` calls (due to race conditions)\n return !!dbClient.client;\n};\n\n/** @internal */\nexport const status = () => dbClient.id;\n\nconst tryInit = async (silent = false) => {\n if (dbClient.client) return;\n if (await init()) {\n // console.log('Auto-initialization of DynamoDB successful');\n return;\n }\n if (!silent) {\n // throw DynamoDBError('DynamoDB is possibly uninitialized!');\n throw DynamoDBError('Could not auto-initialize DynamoDB!');\n }\n};\n\n// auto-initialize on load\n;(async () => {\n await tryInit(true);\n})()\n\nconst writeItemForceHelper = async <T = any>(\n table: string,\n item: T,\n key: string,\n i: number,\n imax?: number\n): Promise<T | null> => {\n if (!dbClient.client) await tryInit();\n if (!dbClient.client) return null;\n if (!table || !item) return null;\n\n if (!(item as any)[key]) {\n (item as any)[key] = short.generate();\n }\n const cmdParams: PutCommandInput = { TableName: table, Item: item, ConditionExpression: `attribute_not_exists(${key})` };\n const command = new PutCommand(cmdParams);\n const numberOfAttempts = imax ?? MAX_RETRY_ATTEMPTS;\n\n try {\n await dbClient.client.send(command);\n } catch (err: any) {\n if (err.name === 'ConditionalCheckFailedException') {\n if (i < numberOfAttempts - 1) {\n (item as any)[key] = short.generate(); // new primary key\n const ret: T | null = await writeItemForceHelper(table, item, key, i + 1, imax);\n return ret;\n }\n console.error('PutCommandInput:', cmdParams);\n if (numberOfAttempts === 1) {\n error(`[ERROR] An item with the same key(${(item as any)[key]}) already exists!`);\n } else {\n error('[ERROR] Maximum attempts overflow!');\n }\n }\n return null;\n }\n\n return item;\n};\n\nexport interface WriteItemForceInput<T = any> {\n table: string;\n item: T;\n key?: string;\n}\n\nexport type WriteItemUniqueInput<T = any> = WriteItemForceInput<T>;\n\n/**\n * Write an item to a DynamoDB table, retry in case of key conflict\n * @param input input command object\n * @returns the created item, null in case of error\n *\n * ```js\n * writeItemForce({\n * table: 'lesson_list',\n * item: { title: 'My Lesson' },\n * key: 'id',\n * });\n *\n * interface WriteItemForceInput<T = any> {\n * table: string;\n * item: T;\n * key?: string; // default: `id`\n * }\n * ```\n */\nexport const writeItemForce = async <T = any>(input: WriteItemForceInput<T>): Promise<T | null> => {\n const key = input.key || 'id';\n return writeItemForceHelper<T>(input.table, input.item, key, 0);\n};\n\n/**\n * Write an item (uniquely) to a DynamoDB table.\n * Unlike `writeItemForce`, it does not retry in case of key conflict\n * Unlike `writeItem`, it does not overwrite an item with the same key (if it exists)\n * @param input input command object\n * @returns the created item, null in case of error or key conflict (i.e., if item with same key already exists)\n *\n * ```js\n * writeItemUnique({\n * table: 'lesson_list',\n * item: { id: 'id_001', title: 'My Lesson' },\n * key: 'id',\n * });\n *\n * interface WriteItemUniqueInput<T = any> {\n * table: string;\n * item: T;\n * key?: string; // default: `id`\n * }\n * ```\n */\nexport const writeItemUnique = async <T = any>(input: WriteItemUniqueInput<T>): Promise<T | null> => {\n const key = input.key || 'id';\n return writeItemForceHelper<T>(input.table, input.item, key, 0, 1);\n};\n\nexport interface WriteItemInput {\n table: string;\n item: StringIndexable;\n}\n\n/**\n * Write an item to a DynamoDB table\n * @param input input command object\n * @returns true if successful, null in case of error\n *\n * ```js\n * writeItem({\n * table: 'lesson_list',\n * item: { id: 'id_001', title: 'My Lesson' },\n * });\n *\n * interface WriteItemInput {\n * table: string;\n * item: StringIndexable;\n * }\n * ```\n */\nexport const writeItem = async (input: WriteItemInput) => {\n if (!dbClient.client) await tryInit();\n if (!dbClient.client) return null;\n if (!input.table || !input.item) return null;\n\n const cmdParams: PutCommandInput = { TableName: input.table, Item: input.item };\n const command = new PutCommand(cmdParams);\n\n try {\n await dbClient.client.send(command);\n } catch (err) {\n console.error('PutCommandInput:', cmdParams);\n console.error(err);\n return null;\n // throw err;\n }\n\n return true;\n};\n\n// Ref: https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/dynamodb-example-table-read-write-batch.html\nconst batchWriteItems = async (table: string, items: StringIndexable[]) => {\n if (!dbClient.client) await tryInit();\n if (!dbClient.client) return null;\n if (!table || !items || !Array.isArray(items)) return null;\n if (!items.length) return true;\n\n const reqList = items.map(item => ({ PutRequest: { Item: item } }));\n const cmdParams: BatchWriteCommandInput = {\n RequestItems: {\n [table]: reqList,\n },\n };\n\n const command = new BatchWriteCommand(cmdParams);\n\n try {\n await dbClient.client.send(command);\n } catch (err) {\n console.error('BatchWriteCommandInput:', cmdParams);\n console.error(err);\n return null;\n // throw err;\n }\n\n return true;\n};\n\nexport interface WriteItemsAllInput {\n table: string;\n items: StringIndexable[];\n}\n\n/**\n * Write a list of items to a DynamoDB table\n * @param input input command object\n * @returns true if successful, null in case of error\n *\n * ```js\n * writeItemsAll({\n * table: 'lesson_list',\n * items: [{ id: 'id_001', title: 'My Lesson' }, { id: 'id_002', title: 'My Lesson 2' }],\n * });\n *\n * interface WriteItemInput {\n * table: string;\n * items: StringIndexable[];\n * }\n * ```\n */\nexport const writeItemsAll = async (input: WriteItemsAllInput) => {\n if (!dbClient.client) await tryInit();\n if (!dbClient.client) return null;\n if (!input.table || !input.items || !Array.isArray(input.items)) return null;\n if (!input.items.length) return true;\n\n let errFlag = false;\n\n const batchedItems = chunkifyArray(input.items, BATCH_SIZE);\n const chunkedItems = chunkifyArray(batchedItems, CHUNK_SIZE);\n\n for (let i = 0; i < chunkedItems.length; i += 1) {\n const bchunks = chunkedItems[i] ?? [];\n\n const brlist = bchunks.map(iItems => batchWriteItems(input.table, iItems));\n const bslist = await Promise.all(brlist); // eslint-disable-line no-await-in-loop\n\n const isSuccess = bslist.every(e => e === true);\n if (!isSuccess) errFlag = true;\n }\n\n return errFlag ? null : true;\n};\n\nexport interface UpdateItemInput {\n table: string;\n key: StringIndexable;\n update: string;\n attr: StringIndexable;\n attrNames?: StringIndexable;\n}\n\n/**\n * Update an item in DynamoDB table\n * @param input input command object\n * @returns true if successful, null in case of error\n *\n * ```js\n * updateItem({\n * table: 'lesson_list',\n * key: { id: 'id_001' },\n * update: 'SET status = :status, #rev = 10',\n * attr: { ':status': 'completed' },\n * attrNames: { '#rev': 'revision' },\n * });\n *\n * interface UpdateItemInput {\n * table: string;\n * key: StringIndexable;\n * update: string;\n * attr: StringIndexable;\n * attrNames?: StringIndexable;\n * }\n * ```\n */\nexport const updateItem = async (input: UpdateItemInput) => {\n if (!dbClient.client) await tryInit();\n if (!dbClient.client) return null;\n if (!input.table || !input.key || !input.update || !input.attr) return null;\n\n let cmdParams: UpdateCommandInput = {\n TableName: input.table,\n Key: input.key,\n UpdateExpression: input.update,\n ExpressionAttributeValues: input.attr,\n };\n if (input.attrNames) cmdParams = { ...cmdParams, ExpressionAttributeNames: input.attrNames };\n const command = new UpdateCommand(cmdParams);\n\n try {\n await dbClient.client.send(command);\n } catch (err) {\n console.error('UpdateCommandInput:', cmdParams);\n console.error(err);\n return null;\n // throw err;\n }\n\n return true;\n};\n\nexport interface ReadItemInput {\n table: string;\n key: StringIndexable;\n projection?: string;\n attrNames?: StringIndexable;\n loud?: boolean;\n}\n\n/**\n * Read an item from DynamoDB table\n * @param input input command object\n * @returns item contents, null in case of error\n *\n * ```js\n * readItem({\n * table: 'lesson_list',\n * key: { id: 'id_001' },\n * projection: 'id, lesson, status',\n * });\n *\n * interface ReadItemInput {\n * table: string;\n * key: StringIndexable;\n * projection?: string;\n * attrNames?: StringIndexable;\n * }\n * ```\n */\nexport const readItem = async <T = any>(input: ReadItemInput) => {\n if (!dbClient.client) await tryInit();\n if (!dbClient.client) return null;\n if (!input.table || !input.key) return null;\n\n let contents: T | null = null;\n let cmdParams: GetCommandInput = { TableName: input.table, Key: input.key, ConsistentRead: true };\n\n // Ref: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.ProjectionExpressions.html\n if (input.projection) cmdParams = { ...cmdParams, ProjectionExpression: input.projection };\n if (input.attrNames) cmdParams = { ...cmdParams, ExpressionAttributeNames: input.attrNames };\n\n const command = new GetCommand(cmdParams);\n\n try {\n const results = await dbClient.client.send(command);\n const item = results.Item;\n\n if (item) {\n contents = item as T;\n }\n } catch (err) {\n console.error('GetCommandInput:', cmdParams);\n console.error(err);\n if (input.loud) {\n throw err;\n } else {\n return null;\n }\n }\n\n return contents;\n};\n\n// Ref: https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/dynamodb-example-table-read-write-batch.html\nconst batchReadItems = async <T = any>(\n table: string,\n keys: StringIndexable[],\n projection?: string,\n attrNames?: StringIndexable\n) => {\n if (!dbClient.client) await tryInit();\n if (!dbClient.client) return null;\n if (!table || !keys || !Array.isArray(keys)) return null;\n if (!keys.length) return [];\n\n let contents: StringIndexable<T>[] = [];\n\n let reqParams: any = { Keys: keys };\n if (projection) reqParams = { ...reqParams, ProjectionExpression: projection };\n if (attrNames) reqParams = { ...reqParams, ExpressionAttributeNames: attrNames };\n\n const cmdParams: BatchGetCommandInput = {\n RequestItems: {\n [table]: reqParams,\n },\n };\n\n const command = new BatchGetCommand(cmdParams);\n\n try {\n const results = await dbClient.client.send(command);\n const items = results.Responses;\n\n if (items && items[table]) {\n contents = items[table];\n }\n } catch (err) {\n console.error('BatchGetCommandInput:', cmdParams);\n console.error(err);\n return null;\n // throw err;\n }\n\n return contents;\n};\n\nexport interface ReadItemsAllInput {\n table: string;\n keys: StringIndexable[];\n projection?: string;\n attrNames?: StringIndexable;\n}\n\n/**\n * Read a list of items from DynamoDB table\n * Note: ordering of items in result may not be same as that in `keys`\n * @param input input command object\n * @returns list of contents for items, null in case of error\n *\n * ```js\n * readItemsAll({\n * table: 'lesson_list',\n * keys: [{ id: 'id_001' }, { id: 'id_002' }],\n * projection: 'id, lesson, status',\n * });\n *\n * interface ReadItemsAllInput {\n * table: string;\n * keys: StringIndexable[];\n * projection?: string;\n * attrNames?: StringIndexable;\n * }\n * ```\n */\nexport const readItemsAll = async <T = any>(input: ReadItemsAllInput) => {\n if (!dbClient.client) await tryInit();\n if (!dbClient.client) return null;\n if (!input.table || !input.keys || !Array.isArray(input.keys)) return null;\n if (!input.keys.length) return [];\n\n let contents: StringIndexable<T>[] = [];\n let errFlag = false;\n\n const batchedKeys = chunkifyArray(input.keys, BATCH_SIZE);\n const chunkedKeys = chunkifyArray(batchedKeys, CHUNK_SIZE);\n\n for (let i = 0; i < chunkedKeys.length; i += 1) {\n const bchunks = chunkedKeys[i] ?? [];\n\n const brlist = bchunks.map(ikeys => batchReadItems(input.table, ikeys, input.projection, input.attrNames));\n const bslist = await Promise.all(brlist); // eslint-disable-line no-await-in-loop\n\n const icontents = bslist.flat();\n const isError = icontents.find(e => e === null) === null;\n if (isError) {\n errFlag = true;\n return null;\n }\n if (!errFlag) {\n contents = contents.concat(icontents as StringIndexable[]);\n }\n }\n\n return contents;\n};\n\nexport interface QueryItemsInput {\n table: string;\n indexName?: string;\n cond: string;\n attr: StringIndexable;\n attrNames?: StringIndexable;\n projection?: string;\n desc?: boolean;\n}\n\n/**\n * Query items from a DynamoDB table based on some condition\n * @param input input command object\n * @returns query results array, null in case of error\n *\n * ```js\n * dbQueryItems({\n * table: 'lesson_list',\n * indexName: 'status-revision-index',\n * cond: 'status = :comp AND #rev >= :rev',\n * attr: { ':comp': 'completed', ':rev': 9 },\n * attrNames: { '#rev': 'revision' },\n * projection: 'id, lesson, status, revision',\n * });\n *\n * interface QueryItemsInput {\n * table: string;\n * indexName?: string;\n * cond: string;\n * attr: StringIndexable;\n * attrNames?: StringIndexable;\n * projection?: string;\n * desc?: boolean;\n * }\n * ```\n */\nexport const queryItems = async (input: QueryItemsInput) => {\n if (!dbClient.client) await tryInit();\n if (!dbClient.client) return null;\n if (!input.table || !input.cond || !input.attr) return null;\n\n let contents: StringIndexable[] = [];\n const desc = input.desc || false;\n\n // Ref: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Query.html\n // Ref: https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_Query.html\n // Ref: https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/dynamodb-example-query-scan.html\n // Ref: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/SQLtoNoSQL.Indexes.QueryAndScan.html#SQLtoNoSQL.Indexes.QueryAndScan.DynamoDB\n let cmdParams: QueryCommandInput = {\n TableName: input.table,\n KeyConditionExpression: input.cond,\n ExpressionAttributeValues: input.attr,\n // FilterExpression: \"contains (category_id, :cid)\",\n };\n\n if (input.indexName) cmdParams = { ...cmdParams, IndexName: input.indexName };\n if (input.attrNames) cmdParams = { ...cmdParams, ExpressionAttributeNames: input.attrNames };\n if (input.projection) cmdParams = { ...cmdParams, ProjectionExpression: input.projection };\n if (desc) cmdParams = { ...cmdParams, ScanIndexForward: false };\n\n const command = new QueryCommand(cmdParams);\n\n try {\n const results = await dbClient.client.send(command);\n const items = results.Items;\n\n if (items) {\n contents = items;\n }\n } catch (err) {\n console.error('QueryCommandInput:', command.input);\n console.error(err);\n return null;\n // throw err;\n }\n\n return contents;\n};\n\nexport interface ScanItemsInput {\n table: string;\n projection?: string;\n}\n\n/**\n * Scan all items in a DynamoDB table\n * Note: avoid using this method in favour of `queryItems` method due to performance reasons\n * @param input input command object\n * @returns results of the scan query, null in case of error\n *\n * ```js\n * scanItems({\n * table: 'lesson_list',\n * projection: 'id, status',\n * });\n *\n * interface ScanItemsInput {\n * table: string;\n * projection?: string;\n * }\n * ```\n */\nexport const scanItems = async (input: ScanItemsInput) => {\n if (!dbClient.client) await tryInit();\n if (!dbClient.client) return null;\n if (!input.table) return null;\n\n let contents: StringIndexable[] = [];\n\n // Ref: https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/dynamodb-example-query-scan.html\n let cmdParams: ScanCommandInput = {\n TableName: input.table,\n };\n\n if (input.projection) cmdParams = { ...cmdParams, ProjectionExpression: input.projection };\n\n const command = new ScanCommand(cmdParams);\n\n try {\n const results = await dbClient.client.send(command);\n const items = results.Items;\n\n // Ref: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Scan.html#Scan.Pagination\n if (results.LastEvaluatedKey) {\n warn('[scanItems] Partial results obtained! Consider pagination.');\n }\n\n if (items) {\n contents = items;\n }\n } catch (err) {\n console.error('ScanCommandInput:', cmdParams);\n console.error(err);\n return null;\n // throw err;\n }\n\n return contents;\n};\n\nexport interface DeleteItemInput {\n table: string;\n key: StringIndexable;\n}\n\n/**\n * Delete an item in a DynamoDB table\n * @param input input command object\n * @returns true if successful, null in case of error\n *\n * ```js\n * deleteItem({\n * table: 'lesson_list',\n * key: { id: 'id_001' },\n * });\n *\n * interface DeleteItemInput {\n * table: string;\n * key: StringIndexable;\n * }\n * ```\n */\nexport const deleteItem = async (input: DeleteItemInput) => {\n if (!dbClient.client) await tryInit();\n if (!dbClient.client) return null;\n if (!input.table || !input.key) return null;\n\n const cmdParams: DeleteCommandInput = { TableName: input.table, Key: input.key };\n const command = new DeleteCommand(cmdParams);\n\n try {\n await dbClient.client.send(command);\n } catch (err) {\n console.error('DeleteCommandInput:', cmdParams);\n console.error(err);\n return null;\n // throw err;\n }\n\n return true;\n};\n\n// Ref: https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/dynamodb-example-table-read-write-batch.html\n// Ref: https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-dynamodb/interfaces/batchwriteitemcommandinput.html#requestitems\nconst batchDeleteItems = async (table: string, keys: StringIndexable[]) => {\n if (!dbClient.client) await tryInit();\n if (!dbClient.client) return null;\n if (!table || !keys || !Array.isArray(keys)) return null;\n if (!keys.length) return true;\n\n const reqList = keys.map(key => ({ DeleteRequest: { Key: key } }));\n const cmdParams: BatchWriteCommandInput = {\n RequestItems: {\n [table]: reqList,\n },\n };\n\n const command = new BatchWriteCommand(cmdParams);\n\n try {\n await dbClient.client.send(command);\n } catch (err) {\n console.error('BatchWriteCommandInput:', cmdParams);\n console.error(err);\n return null;\n // throw err;\n }\n\n return true;\n};\n\nexport interface DeleteItemsAllInput {\n table: string;\n keys: StringIndexable[];\n}\n\n/**\n * Delete a list of items in a DynamoDB table\n * @param input input command object\n * @returns true if successful, null in case of error\n *\n * ```js\n * deleteItemsAll({\n * table: 'lesson_list',\n * keys: [{ id: 'id_001' }, { id: 'id_002' }],\n * });\n *\n * interface DeleteItemsAllInput {\n * table: string;\n * keys: StringIndexable[];\n * }\n * ```\n */\nexport const deleteItemsAll = async (input: DeleteItemsAllInput) => {\n if (!dbClient.client) await tryInit();\n if (!dbClient.client) return null;\n if (!input.table || !input.keys || !Array.isArray(input.keys)) return null;\n if (!input.keys.length) return true;\n\n let errFlag = false;\n\n const batchedItems = chunkifyArray(input.keys, BATCH_SIZE);\n const chunkedItems = chunkifyArray(batchedItems, CHUNK_SIZE);\n\n for (let i = 0; i < chunkedItems.length; i += 1) {\n const bchunks = chunkedItems[i] ?? [];\n\n const brlist = bchunks.map(ikeys => batchDeleteItems(input.table, ikeys));\n const bslist = await Promise.all(brlist); // eslint-disable-line no-await-in-loop\n\n const isSuccess = bslist.every(e => e === true);\n if (!isSuccess) errFlag = true;\n }\n\n return errFlag ? null : true;\n};\n","import { DynamoDBDocumentClient } from '@aws-sdk/lib-dynamodb';\nimport { S3Client } from '@aws-sdk/client-s3';\n\nconst dbDocClient: DynamoDBDocumentClient | null = null;\nconst awsS3Client: S3Client | null = null;\n\nexport const dbClient = { client: dbDocClient, id: null } as DBClientType;\nexport const s3Client = { client: awsS3Client, id: null } as S3ClientType;\n\nexport interface DBClientType {\n client: DynamoDBDocumentClient | null;\n id: string | null;\n}\n\nexport interface S3ClientType {\n client: S3Client | null;\n id: string | null;\n}\n","export const BATCH_SIZE = 20; // (max) number of items in a batch request\nexport const CHUNK_SIZE = 10; // (max) number of parallel requests at a time\nexport const MAX_RETRY_ATTEMPTS = 3; // (max) number of retry attempts in case of key conflict\n","/**\n * Examples:\n * Ref: https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/s3-examples.html\n */\n\nimport path from 'node:path';\nimport { Readable } from 'node:stream';\nimport fs from 'node:fs';\nimport {\n S3Client,\n PutObjectCommand,\n PutObjectCommandInput,\n GetObjectCommand,\n GetObjectCommandInput,\n ListObjectsV2Command,\n ListObjectsV2CommandInput,\n HeadObjectCommand,\n HeadObjectCommandInput,\n DeleteObjectCommand,\n DeleteObjectCommandInput,\n DeleteObjectsCommand,\n DeleteObjectsCommandInput,\n} from '@aws-sdk/client-s3';\nimport * as short from 'short-uuid';\nimport mime from 'mime-types';\n\nimport { StringIndexable } from '../common/model/common.model';\nimport { assertPath, chunkifyArray, fileHash } from '../utils';\nimport { s3Client } from './client';\nimport { CustomError } from '../common/error';\nimport { warn, error } from '../common/logger';\nimport { BATCH_SIZE, CHUNK_SIZE } from '../common/const';\n\n// import { Upload } from \"@aws-sdk/lib-storage\";\n// Multipart upload: https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/modules/_aws_sdk_lib_storage.html\n\nconst AWSS3Error = (msg: string) => new CustomError(msg, { name: 'AWSS3Error' });\n\n/** @internal */\nexport const init = async (_region?: string) => {\n let region = _region ?? process.env.AWS_REGION; // e.g. 'us-east-1'\n if (!region) {\n const client = new S3Client({});\n region = await client.config.region() // gets region from `~/.aws/config`\n }\n\n // Ref: https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-s3/index.html\n if (region && !s3Client.client) {\n const awsS3Client = new S3Client({ region }); // may also pass `credentials`\n s3Client.client = awsS3Client;\n s3Client.id = short.generate();\n return true;\n }\n\n // NOTE: There could be 2 parallel `init` calls (due to race conditions)\n return !!s3Client.client;\n};\n\n/** @internal */\nexport const status = () => s3Client.id;\n\nconst tryInit = async (silent = false) => {\n if (s3Client.client) return;\n if (await init()) {\n // console.log('Auto-initialization of S3 successful');\n return;\n }\n if (!silent) {\n // throw AWSS3Error('AWS S3 is possibly uninitialized!');\n throw AWSS3Error('Could not auto-initialize AWS S3!');\n }\n};\n\n// auto-initialize on load\n;(async () => {\n await tryInit(true);\n})()\n\n/**\n * Create a new file in S3 bucket\n * @param bucket S3 bucket name\n * @param s3path S3 path to be created\n * @param contents contents of the file to be created\n * @returns true if the write is successful, null in case of error\n */\nexport const putObject = async (bucket: string, s3path: string, contents: string) => {\n if (!s3Client.client) await tryInit();\n if (!s3Client.client) return null;\n if (!bucket || !s3path || !contents) return null;\n\n let baseParams: PutObjectCommandInput | null = null;\n\n try {\n baseParams = {\n Bucket: bucket,\n Key: s3path,\n Body: '<contents>',\n ContentType: 'text/plain; charset=utf-8',\n // CacheControl: 'max-age=86400,public',\n };\n const cmdParams: PutObjectCommandInput = { ...baseParams, Body: contents };\n const command = new PutObjectCommand(cmdParams);\n\n await s3Client.client.send(command);\n } catch (err) {\n console.error('PutObjectCommandInput:', baseParams);\n console.error(err);\n return null;\n // throw err;\n }\n\n return true;\n};\n\n/**\n * Upload a file to S3 bucket\n * @param bucket S3 bucket name\n * @param file (local) path of the file to upload\n * @param s3path [optional] S3 path to be created, if not provided then derived from `file` path\n * @returns true if the write is successful, null in case of error\n */\nexport const uploadFile = async (bucket: string, file: string, s3path?: string) => {\n if (!s3Client.client) await tryInit();\n if (!s3Client.client) return null;\n if (!bucket || !file) return null;\n\n const filepath = assertPath(file);\n const basename = path.basename(filepath);\n const ext = basename.substr(basename.lastIndexOf('.'));\n const contentType = mime.lookup(ext);\n if (!contentType) {\n error(`Could not detect file type for: ${basename} [${filepath}]`);\n return null;\n }\n\n if (!s3path) {\n if (file !== filepath) {\n s3path = file;\n } else {\n s3path = basename;\n }\n }\n\n let baseParams: PutObjectCommandInput | null = null;\n\n try {\n const hash = (await fileHash(filepath)) || '';\n const fileStream = fs.createReadStream(filepath);\n\n baseParams = {\n Bucket: bucket,\n Key: s3path,\n Body: '<fileStream>',\n ContentType: contentType,\n // CacheControl: 'max-age=86400,public',\n Metadata: { hash },\n };\n const cmdParams: PutObjectCommandInput = { ...baseParams, Body: fileStream };\n const command = new PutObjectCommand(cmdParams);\n\n await s3Client.client.send(command);\n } catch (err) {\n console.error('PutObjectCommandInput:', baseParams);\n console.error(err);\n return null;\n // throw err;\n }\n\n return true;\n};\n\n/**\n * Upload a list of files to S3 bucket\n * @param bucket S3 bucket name\n * @param files (local) list of file paths to upload\n * @param s3paths [optional] S3 path to be created, if not provided then derived from `file` path\n * @returns true if all uploads are successful, null in case of error\n */\nexport const uploadFilesAll = async (bucket: string, files: string[], s3paths?: string[]) => {\n if (!s3Client.client) await tryInit();\n if (!s3Client.client) return null;\n if (!bucket || !files || !Array.isArray(files)) return null;\n if (!files.length) return true;\n if (s3paths && (!Array.isArray(s3paths) || !s3paths.length || files.length !== s3paths.length)) return null;\n\n let errFlag = false;\n\n const chunkedFiles = chunkifyArray(files, CHUNK_SIZE);\n const chunkedPaths = s3paths ? chunkifyArray(s3paths, CHUNK_SIZE) : chunkedFiles;\n\n for (let i = 0; i < chunkedFiles.length; i += 1) {\n const filesChunk = chunkedFiles[i] ?? [];\n const pathsChunk = chunkedPaths[i] ?? [];\n const pList = filesChunk.map((item, j) => uploadFile(bucket, item, pathsChunk[j]));\n const rList = await Promise.all(pList); // eslint-disable-line no-await-in-loop\n\n const isSuccess = rList.every(e => e === true);\n if (!isSuccess) errFlag = true;\n }\n\n return errFlag ? null : true;\n};\n\n/**\n * Get the contents of a file in S3 bucket\n * @param bucket S3 bucket name\n * @param s3path S3 path of the file to be read\n * @returns contents of the file, null in case of error\n */\nexport const getObject = async (bucket: string, s3path: string) => {\n if (!s3Client.client) await tryInit();\n if (!s3Client.client) return null;\n if (!bucket || !s3path) return null;\n\n let contents: string | null = null;\n const cmdParams: GetObjectCommandInput = { Bucket: bucket, Key: s3path };\n const command = new GetObjectCommand(cmdParams);\n\n try {\n // helper function to convert a ReadableStream to a string\n const streamToString = (stream: Readable): Promise<string> =>\n new Promise((resolve, reject) => {\n const chunks: Uint8Array[] = [];\n stream.on('data', chunk => chunks.push(chunk));\n stream.on('error', reject);\n stream.on('end', () => resolve(Buffer.concat(chunks).toString('utf8')));\n });\n\n const data = await s3Client.client.send(command);\n const bodyContents = await streamToString(data.Body as Readable);\n // const metaData = data.Metadata;\n\n if (bodyContents) {\n contents = bodyContents as string;\n }\n } catch (err) {\n console.error('GetObjectCommandInput:', cmdParams);\n console.error(err);\n return null;\n // throw err;\n }\n\n return contents;\n};\n\n/**\n * Download a file from S3 bucket\n * @param bucket S3 bucket name\n * @param s3path S3 path of the file to be downloaded\n * @param outPath [optional] path where the downloaded file is written, if not provided then derived from `s3path`\n * @returns true if download is successful, null in case of error\n */\nexport const downloadFile = async (bucket: string, s3path: string, outPath?: string) => {\n if (!s3Client.client) await tryInit();\n if (!s3Client.client) return null;\n if (!bucket || !s3path) return null;\n\n if (!outPath) outPath = s3path;\n outPath = assertPath(outPath);\n const cmdParams: GetObjectCommandInput = { Bucket: bucket, Key: s3path };\n const command = new GetObjectCommand(cmdParams);\n\n try {\n // helper function to write a ReadableStream to a file\n const writeStreamToFile = (stream: Readable): Promise<void> =>\n new Promise((resolve, reject) => {\n // Ref: https://stackabuse.com/writing-to-files-in-node-js/\n const writeStream = fs.createWriteStream(outPath as string);\n stream.on('data', chunk => writeStream.write(chunk));\n stream.on('error', reject);\n stream.on('end', () => resolve(writeStream.close()));\n });\n\n const data = await s3Client.client.send(command);\n await writeStreamToFile(data.Body as Readable);\n // const metaData = data.Metadata;\n } catch (err: any) {\n if (err.name !== 'NoSuchKey') {\n console.error('GetObjectCommandInput:', cmdParams);\n console.error(err);\n }\n return null;\n // throw err;\n }\n\n return true;\n};\n\n/**\n * List objects in a S3 bucket\n * @param bucket S3 bucket name\n * @param prefix [optional] prefix for object names in the bucket\n * @returns list of objects in the S3 bucket (optionally starting with the given prefix), null in case of error\n */\nexport const listObjects = async (bucket: string, prefix?: string) => {\n if (!s3Client.client) await tryInit();\n if (!s3Client.client) return null;\n if (!bucket) return null;\n\n let filesList: string[] = [];\n\n let cmdParams: ListObjectsV2CommandInput = { Bucket: bucket };\n if (prefix) cmdParams = { ...cmdParams, Prefix: prefix };\n const command = new ListObjectsV2Command(cmdParams);\n\n try {\n const results = await s3Client.client.send(command);\n const items = results.Contents;\n\n // Ref: https://docs.aws.amazon.com/AmazonS3/latest/userguide/ListingKeysUsingAPIs.html\n if (results.IsTruncated) {\n warn('[listObjects] Partial results obtained! Consider pagination.');\n }\n\n if (items) {\n filesList = items.map(t => t.Key).filter(e => !!e) as string[];\n }\n } catch (err) {\n console.error('ListObjectsV2CommandInput:', cmdParams);\n console.error(err);\n return null;\n // throw err;\n }\n\n return filesList;\n};\n\n/**\n * Get head content for a file in S3 bucket\n * @param bucket S3 bucket name\n * @param s3path S3 path of the file\n * @returns head content for the given file, null in case of error\n */\nexport const getObjectHead = async (bucket: string, s3path: string) => {\n if (!s3Client.client) await tryInit();\n if (!s3Client.client) return null;\n if (!bucket || !s3path) return null;\n\n let contents: HeadObject | null = null;\n\n const cmdParams: HeadObjectCommandInput = { Bucket: bucket, Key: s3path };\n const command = new HeadObjectCommand(cmdParams);\n\n try {\n const data = await s3Client.client.send(command);\n if (data) {\n const { ContentLength, ContentType, ETag, CacheControl, Expires, LastModified, Metadata } = data;\n contents = { Key: s3path, ContentLength, ContentType, ETag, CacheControl, Expires, LastModified, Metadata };\n }\n } catch (err: any) {\n if (err.name !== 'NotFound') {\n console.error('HeadObjectCommandInput:', cmdParams);\n console.error(err);\n }\n return null;\n // throw err;\n }\n\n return contents;\n};\n\n/**\n * Get head contents for a list of files in S3 bucket\n * @param bucket S3 bucket name\n * @param s3paths list of S3 paths of the files\n * @returns head contents for the given files, null in case of error\n */\nexport const getObjectHeadsAll = async (bucket: string, s3paths: string[]) => {\n if (!s3Client.client) await tryInit();\n if (!s3Client.client) return null;\n if (!bucket || !s3paths || !Array.isArray(s3paths)) return null;\n if (!s3paths.length) return [];\n\n let contents: (HeadObject | null)[] = [];\n\n const chunkedItems = chunkifyArray(s3paths, CHUNK_SIZE);\n\n for (let i = 0; i < chunkedItems.length; i += 1) {\n const chunk = chunkedItems[i] ?? [];\n const pList = chunk.map(item => getObjectHead(bucket, item));\n const rList = await Promise.all(pList); // eslint-disable-line no-await-in-loop\n\n contents = contents.concat(rList);\n }\n\n if (contents.length) {\n contents = contents.filter(e => !!e);\n }\n\n return contents as HeadObject[];\n};\n\n/**\n * Delete a file in S3 bucket\n * @param bucket S3 bucket name\n * @param s3path S3 file path to be deleted\n * @returns true if delete is successful, null in case of error\n */\nexport const deleteObject = async (bucket: string, s3path: string) => {\n if (!s3Client.client) await tryInit();\n if (!s3Client.client) return null;\n if (!bucket || !s3path) return null;\n\n const cmdParams: DeleteObjectCommandInput = { Bucket: bucket, Key: s3path };\n const command = new DeleteObjectCommand(cmdParams);\n\n try {\n await s3Client.client.send(command);\n } catch (err) {\n console.error('DeleteObjectCommandInput:', cmdParams);\n console.error(err);\n return null;\n // throw err;\n }\n\n return true;\n};\n\nconst batchDeleteObjects = async (bucket: string, s3paths: string[]) => {\n if (!s3Client.client) await tryInit();\n if (!s3Client.client) return null;\n if (!bucket || !s3paths || !Array.isArray(s3paths)) return null;\n if (!s3paths.length) return true;\n\n const keys = s3paths.map(key => ({ Key: key }));\n const cmdParams: DeleteObjectsCommandInput = { Bucket: bucket, Delete: { Objects: keys } };\n const command = new DeleteObjectsCommand(cmdParams);\n\n try {\n await s3Client.client.send(command);\n } catch (err) {\n console.error('DeleteObjectsCommandInput:', cmdParams);\n console.error(err);\n return null;\n // throw err;\n }\n\n return true;\n};\n\n/**\n * Delete a list of files in S3 bucket\n * @param bucket S3 bucket name\n * @param s3paths list of S3 file paths to be deleted\n * @returns true if all deletes are successful, null in case of error\n */\nexport const deleteObjectsAll = async (bucket: string, s3paths: string[]) => {\n if (!s3Client.client) await tryInit();\n if (!s3Client.client) return null;\n if (!bucket || !s3paths || !Array.isArray(s3paths)) return null;\n if (!s3paths.length) return true;\n\n let errFlag = false;\n\n const batchedFiles = chunkifyArray(s3paths, BATCH_SIZE);\n const chunkedFiles = chunkifyArray(batchedFiles, CHUNK_SIZE);\n\n for (let i = 0; i < chunkedFiles.length; i += 1) {\n const batchFiles = chunkedFiles[i] ?? [];\n\n const brlist = batchFiles.map(paths => batchDeleteObjects(bucket, paths));\n const bslist = await Promise.all(brlist); // eslint-disable-line no-await-in-loop\n\n const isSuccess = bslist.every(e => e === true);\n if (!isSuccess) errFlag = true;\n }\n\n return errFlag ? null : true;\n};\n\nexport interface HeadObject {\n Key: string;\n ContentLength?: number;\n ContentType?: string;\n ETag?: string;\n CacheControl?: string;\n Expires?: Date;\n LastModified?: Date;\n Metadata?: StringIndexable;\n}\n","import { Octokit } from 'octokit';\nimport { CustomError } from '../common/error';\n\nconst GitHubError = (msg: string, cause?: unknown) => new CustomError(msg, { name: 'GitHubError', cause });\n\nexport interface GitHubContent {\n path: string;\n content: string; // decoded UTF-8\n sha: string;\n}\n\n/**\n * Initialize GitHub client\n * @param authToken GitHub auth token for the user account [GITHUB_TOKEN]\n * @param owner account id for the GitHub user account [GITHUB_ACCOUNT]\n * @returns an instance of GitHubClient\n */\nexport function getInstance(authToken: string, owner: string): GitHubClient {\n return new GitHubClient(authToken, owner);\n}\n\nexport class GitHubClient {\n private client: Octokit;\n private owner: string;\n\n constructor(authToken: string, owner: string) {\n if (!authToken) {\n throw GitHubError('Missing GitHub auth token');\n }\n if (!owner) {\n throw GitHubError('Missing GitHub owner');\n }\n\n this.client = new Octokit({ auth: authToken });\n this.owner = owner;\n }\n\n /**\n * Get contents of a particular file in a repo\n * @param repo name of the repo\n * @param path path of a file in the repo\n * @returns an object {data, headers} containing normalized file content and response headers\n * @throws {GitHubError} in case of failure or invalid response\n */\n async getContent(repo: string, path: string): Promise<{\n data: GitHubContent;\n headers: Record<string, unknown>;\n }> {\n if (!repo || !path) {\n throw GitHubError('Missing required parameters: repo or path');\n }\n\n try {\n const response = await this.client.rest.repos.getContent({\n owner: this.owner,\n repo,\n path,\n });\n\n // Could be file OR directory\n if (Array.isArray(response.data)) {\n throw GitHubError('Expected a file but received a directory');\n }\n\n if (!('content' in response.data)) {\n throw GitHubError('Invalid response: missing file content');\n }\n\n const decodedContent = Buffer.from(\n response.data.content,\n 'base64'\n ).toString('utf-8');\n\n return {\n data: {\n path: response.data.path,\n content: decodedContent,\n sha: response.data.sha,\n },\n headers: response.headers,\n };\n } catch (err) {\n throw GitHubError(\n `[GitHub:getContent] Failed to fetch ${this.owner}/${repo}/${path}`,\n err\n );\n }\n }\n}\n\n// ---------\n\n/**\n * Sample usage:\n * \n * const github = gh.getInstance(process.env.GITHUB_TOKEN!, 'baadal');\n * const { data } = await github.getContent('onelyid', 'packages/client/CHANGELOG.md');\n * console.log(data.content);\n */\n\n// ---------\n"],"mappings":"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","names":["import_promises","crypto","path","fsa","fs","warn","fsa","util","init","status","init","status","import_node_path","import_node_fs","short","init","awsS3Client","status","tryInit","tryInit","path","mime","fs","init","status","path"]}
package/package.json CHANGED
@@ -1,116 +1,54 @@
1
1
  {
2
2
  "name": "@baadal-sdk/dapi",
3
- "version": "0.31.5",
3
+ "version": "1.0.0",
4
4
  "description": "Dead-simple API wrappers",
5
- "main": "dist/cjs/index.js",
6
- "module": "dist/esm/index.js",
7
- "typings": "dist/types/index.d.ts",
8
- "source": "src/index.ts",
9
- "exports": {
10
- ".": {
11
- "import": "./dist/esm/index.js",
12
- "require": "./dist/cjs/index.js"
13
- },
14
- "./cjs": "./dist/cjs/index.js"
15
- },
5
+ "author": "abraj",
6
+ "license": "MIT",
7
+ "main": "dist/index.js",
8
+ "types": "dist/index.d.ts",
9
+ "type": "commonjs",
16
10
  "files": [
17
- "dist",
18
- "src"
11
+ "dist"
12
+ ],
13
+ "repository": {
14
+ "type": "git",
15
+ "url": "git+https://github.com/baadal/baadal-sdk.git",
16
+ "directory": "packages/dapi"
17
+ },
18
+ "homepage": "https://github.com/baadal/baadal-sdk/tree/main/packages/dapi#readme",
19
+ "keywords": [
20
+ "aws",
21
+ "s3",
22
+ "dynamodb",
23
+ "fs",
24
+ "github"
19
25
  ],
20
- "sideEffects": false,
21
- "author": "Abhishek Raj <abhi@raj.me>",
22
- "license": "MIT",
23
- "engines": {
24
- "node": ">=14.10.0"
25
- },
26
- "scripts": {
27
- "build": "npm run verify && bash tasks/build.sh",
28
- "clean": "shx rm -rf dist",
29
- "lint": "eslint '**/*.{js,jsx,ts,tsx}'",
30
- "lint:fix": "npm run lint -- --fix",
31
- "prepub": "run-s --silent clean build",
32
- "pub": "npm run prepub && npm publish",
33
- "pub:test": "npm run prepub && npm publish --dry-run",
34
- "test": "ts-node test/index.ts",
35
- "verify": "jsonlint -q tsconfig.json",
36
- "blame": "git log -S",
37
- "hist": "git log --oneline | grep -i",
38
- "follow": "git log --follow --oneline",
39
- "ncu": "ncu",
40
- "ncuu": "ncu -u"
41
- },
42
- "peerDependencies": {
43
- "react": ">=18.2.0",
44
- "react-dom": ">=18.2.0"
45
- },
46
- "peerDependenciesMeta": {
47
- "react": {
48
- "optional": true
49
- },
50
- "react-dom": {
51
- "optional": true
52
- }
53
- },
54
26
  "dependencies": {
55
- "@aws-sdk/client-dynamodb": "^3.264.0",
56
- "@aws-sdk/client-s3": "^3.264.0",
57
- "@aws-sdk/lib-dynamodb": "^3.264.0",
58
- "@baadal-sdk/utils": "0.12.0",
59
- "@octokit/core": "^4.2.0",
60
- "chalk": "^5.2.0",
61
- "core-js": "^3.27.2",
62
- "mime-types": "^2.1.35",
63
- "rimraf": "^4.1.2",
64
- "short-uuid": "^4.2.2"
27
+ "@aws-sdk/client-dynamodb": "^3.1009.0",
28
+ "@aws-sdk/client-s3": "^3.1009.0",
29
+ "@aws-sdk/lib-dynamodb": "^3.1009.0",
30
+ "js-base64": "^3.7.8",
31
+ "mime-types": "^3.0.2",
32
+ "octokit": "^5.0.5",
33
+ "short-uuid": "^6.0.3"
65
34
  },
66
35
  "devDependencies": {
67
- "@babel/core": "7.20.12",
68
- "@babel/preset-env": "7.20.2",
69
- "@babel/preset-react": "^7.18.6",
70
- "@babel/preset-typescript": "7.18.6",
71
- "@types/mime-types": "2.1.1",
72
- "@types/node": "18.11.19",
73
- "@types/react": "18.0.27",
74
- "@types/react-dom": "18.0.10",
75
- "@types/rimraf": "3.0.2",
76
- "@typescript-eslint/eslint-plugin": "5.50.0",
77
- "@typescript-eslint/parser": "5.50.0",
78
- "babel-loader": "9.1.2",
79
- "eslint": "8.33.0",
80
- "eslint-config-airbnb": "19.0.4",
81
- "eslint-config-airbnb-typescript": "17.0.0",
82
- "eslint-config-prettier": "8.6.0",
83
- "eslint-plugin-import": "2.27.5",
84
- "eslint-plugin-jsx-a11y": "6.7.1",
85
- "eslint-plugin-prettier": "4.2.1",
86
- "eslint-plugin-react": "7.32.2",
87
- "eslint-plugin-react-hooks": "4.6.0",
88
- "husky": "4.3.8",
89
- "jsonlint": "1.6.3",
90
- "lint-staged": "11.1.2",
91
- "npm-run-all": "4.1.5",
92
- "prettier": "2.8.3",
93
- "shx": "0.3.4",
94
- "ts-node": "10.9.1",
95
- "typescript": "4.9.5",
96
- "webpack": "5.75.0",
97
- "webpack-cli": "5.0.1",
98
- "webpack-node-externals": "3.0.0"
99
- },
100
- "browserslist": [
101
- "chrome >= 23"
102
- ],
103
- "lint-staged": {
104
- "*.{js,jsx,ts,tsx}": "eslint --fix"
36
+ "@types/mime-types": "^3.0.1"
105
37
  },
106
- "husky": {
107
- "hooks": {
108
- "pre-commit": "lint-staged"
109
- }
38
+ "tsup": {
39
+ "entry": [
40
+ "src/index.ts"
41
+ ],
42
+ "splitting": false,
43
+ "sourcemap": true,
44
+ "clean": true
110
45
  },
111
- "repository": {
112
- "type": "git",
113
- "url": "git+https://github.com/baadal/dapi.git"
114
- },
115
- "homepage": "https://github.com/baadal/dapi#readme"
116
- }
46
+ "scripts": {
47
+ "tsc": "tsc -b",
48
+ "build": "tsup --dts",
49
+ "build:server": "tsup",
50
+ "pack": "pnpm pack --pack-destination ../../artifacts",
51
+ "demo": "tsx demo/fs-demo.ts",
52
+ "clean": "rm -rf node_modules dist tsconfig.tsbuildinfo"
53
+ }
54
+ }
package/LICENSE.txt DELETED
@@ -1,21 +0,0 @@
1
- MIT License
2
-
3
- Copyright (c) 2020-present, Baadal Labs
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
package/dist/cjs/index.js DELETED
@@ -1,3 +0,0 @@
1
- /*! For license information please see index.js.LICENSE.txt */
2
- (()=>{"use strict";var e={76:e=>{e.exports=require("rimraf")}},t={};function r(n){var o=t[n];if(void 0!==o)return o.exports;var a=t[n]={exports:{}};return e[n](a,a.exports,r),a.exports}r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var n={};(()=>{r.r(n),r.d(n,{aws:()=>i,default:()=>_t,fs:()=>t,gh:()=>u,utils:()=>e});var e={};r.r(e),r.d(e,{assertPath:()=>P,fileHash:()=>A,sha1Hash:()=>_,sha256Hash:()=>q});var t={};r.r(t),r.d(t,{appendToFile:()=>oe,createDir:()=>ie,deleteDir:()=>ce,deleteFile:()=>ue,existsDirSync:()=>Q,existsFileSync:()=>V,readDir:()=>X,readDirDirs:()=>ee,readDirFiles:()=>Z,readDirFilesRec:()=>re,readFile:()=>$,readFileSync:()=>J,renameFile:()=>ae,writeFile:()=>ne});var o={};r.r(o),r.d(o,{deleteItem:()=>Re,deleteItemsAll:()=>We,init:()=>Oe,queryItems:()=>De,readItem:()=>Ge,readItemsAll:()=>Fe,scanItems:()=>Be,status:()=>Le,updateItem:()=>Ne,writeItem:()=>Ae,writeItemForce:()=>_e,writeItemUnique:()=>qe,writeItemsAll:()=>Ie});var a={};r.r(a),r.d(a,{deleteObject:()=>ft,deleteObjectsAll:()=>ht,downloadFile:()=>ut,getObject:()=>it,getObjectHead:()=>st,getObjectHeadsAll:()=>lt,init:()=>et,listObjects:()=>ct,putObject:()=>nt,status:()=>tt,uploadFile:()=>ot,uploadFilesAll:()=>at});var i={};r.r(i),r.d(i,{db:()=>o,init:()=>bt,s3:()=>a,status:()=>gt});var u={};r.r(u),r.d(u,{getContent:()=>Pt,init:()=>St}),require("core-js/modules/es.array.for-each.js"),require("core-js/modules/es.object.to-string.js"),require("core-js/modules/esnext.async-iterator.for-each.js"),require("core-js/modules/esnext.iterator.constructor.js"),require("core-js/modules/esnext.iterator.for-each.js"),require("core-js/modules/web.dom-collections.for-each.js"),require("core-js/modules/es.array.filter.js"),require("core-js/modules/esnext.async-iterator.filter.js"),require("core-js/modules/esnext.iterator.filter.js"),require("core-js/modules/es.string.starts-with.js"),require("core-js/modules/es.array.concat.js"),require("core-js/modules/es.array.map.js"),require("core-js/modules/esnext.async-iterator.map.js"),require("core-js/modules/esnext.iterator.map.js"),require("core-js/modules/es.array.iterator.js"),require("core-js/modules/es.promise.js"),require("core-js/modules/es.string.iterator.js"),require("core-js/modules/web.dom-collections.iterator.js"),require("core-js/modules/es.array.last-index-of.js"),require("core-js/modules/es.object.define-property.js"),require("core-js/modules/es.symbol.js"),require("core-js/modules/es.symbol.description.js"),require("core-js/modules/es.symbol.iterator.js"),require("core-js/modules/es.symbol.async-iterator.js"),require("core-js/modules/es.symbol.to-string-tag.js"),require("core-js/modules/es.json.to-string-tag.js"),require("core-js/modules/es.math.to-string-tag.js"),require("core-js/modules/es.object.get-prototype-of.js"),require("core-js/modules/es.object.set-prototype-of.js"),require("core-js/modules/es.array.slice.js"),require("core-js/modules/es.array.from.js"),require("core-js/modules/es.regexp.exec.js"),require("core-js/modules/es.regexp.test.js");const c=require("util");var s=r.n(c);const l=require("fs");var f=r.n(l);const p=require("fs/promises");var h=r.n(p);const d=require("path");var y=r.n(d);const v=require("crypto");var m=r.n(v);const b=require("chalk");var g=r.n(b);function x(e){return x="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},x(e)}console.log;var w=console.warn,j=console.error;"undefined"===("undefined"==typeof window?"undefined":x(window))&&(w=function(){return console.warn(g().yellow.apply(g(),arguments))},j=function(){return console.error(g().red.apply(g(),arguments))});var k=w,E=j;function O(e){return O="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},O(e)}function L(){L=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n=Object.defineProperty||function(e,t,r){e[t]=r.value},o="function"==typeof Symbol?Symbol:{},a=o.iterator||"@@iterator",i=o.asyncIterator||"@@asyncIterator",u=o.toStringTag||"@@toStringTag";function c(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{c({},"")}catch(e){c=function(e,t,r){return e[t]=r}}function s(e,t,r,o){var a=t&&t.prototype instanceof p?t:p,i=Object.create(a.prototype),u=new S(o||[]);return n(i,"_invoke",{value:w(e,r,u)}),i}function l(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}e.wrap=s;var f={};function p(){}function h(){}function d(){}var y={};c(y,a,(function(){return this}));var v=Object.getPrototypeOf,m=v&&v(v(P([])));m&&m!==t&&r.call(m,a)&&(y=m);var b=d.prototype=p.prototype=Object.create(y);function g(e){["next","throw","return"].forEach((function(t){c(e,t,(function(e){return this._invoke(t,e)}))}))}function x(e,t){function o(n,a,i,u){var c=l(e[n],e,a);if("throw"!==c.type){var s=c.arg,f=s.value;return f&&"object"==O(f)&&r.call(f,"__await")?t.resolve(f.__await).then((function(e){o("next",e,i,u)}),(function(e){o("throw",e,i,u)})):t.resolve(f).then((function(e){s.value=e,i(s)}),(function(e){return o("throw",e,i,u)}))}u(c.arg)}var a;n(this,"_invoke",{value:function(e,r){function n(){return new t((function(t,n){o(e,r,t,n)}))}return a=a?a.then(n,n):n()}})}function w(e,t,r){var n="suspendedStart";return function(o,a){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw a;return{value:void 0,done:!0}}for(r.method=o,r.arg=a;;){var i=r.delegate;if(i){var u=j(i,r);if(u){if(u===f)continue;return u}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var c=l(e,t,r);if("normal"===c.type){if(n=r.done?"completed":"suspendedYield",c.arg===f)continue;return{value:c.arg,done:r.done}}"throw"===c.type&&(n="completed",r.method="throw",r.arg=c.arg)}}}function j(e,t){var r=t.method,n=e.iterator[r];if(void 0===n)return t.delegate=null,"throw"===r&&e.iterator.return&&(t.method="return",t.arg=void 0,j(e,t),"throw"===t.method)||"return"!==r&&(t.method="throw",t.arg=new TypeError("The iterator does not provide a '"+r+"' method")),f;var o=l(n,e.iterator,t.arg);if("throw"===o.type)return t.method="throw",t.arg=o.arg,t.delegate=null,f;var a=o.arg;return a?a.done?(t[e.resultName]=a.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,f):a:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,f)}function k(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function E(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function S(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(k,this),this.reset(!0)}function P(e){if(e){var t=e[a];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,o=function t(){for(;++n<e.length;)if(r.call(e,n))return t.value=e[n],t.done=!1,t;return t.value=void 0,t.done=!0,t};return o.next=o}}return{next:_}}function _(){return{value:void 0,done:!0}}return h.prototype=d,n(b,"constructor",{value:d,configurable:!0}),n(d,"constructor",{value:h,configurable:!0}),h.displayName=c(d,u,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===h||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,d):(e.__proto__=d,c(e,u,"GeneratorFunction")),e.prototype=Object.create(b),e},e.awrap=function(e){return{__await:e}},g(x.prototype),c(x.prototype,i,(function(){return this})),e.AsyncIterator=x,e.async=function(t,r,n,o,a){void 0===a&&(a=Promise);var i=new x(s(t,r,n,o),a);return e.isGeneratorFunction(r)?i:i.next().then((function(e){return e.done?e.value:i.next()}))},g(b),c(b,u,"Generator"),c(b,a,(function(){return this})),c(b,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var t=Object(e),r=[];for(var n in t)r.push(n);return r.reverse(),function e(){for(;r.length;){var n=r.pop();if(n in t)return e.value=n,e.done=!1,e}return e.done=!0,e}},e.values=P,S.prototype={constructor:S,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(E),!e)for(var t in this)"t"===t.charAt(0)&&r.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function n(r,n){return i.type="throw",i.arg=e,t.next=r,n&&(t.method="next",t.arg=void 0),!!n}for(var o=this.tryEntries.length-1;o>=0;--o){var a=this.tryEntries[o],i=a.completion;if("root"===a.tryLoc)return n("end");if(a.tryLoc<=this.prev){var u=r.call(a,"catchLoc"),c=r.call(a,"finallyLoc");if(u&&c){if(this.prev<a.catchLoc)return n(a.catchLoc,!0);if(this.prev<a.finallyLoc)return n(a.finallyLoc)}else if(u){if(this.prev<a.catchLoc)return n(a.catchLoc,!0)}else{if(!c)throw new Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return n(a.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var a=o;break}}a&&("break"===e||"continue"===e)&&a.tryLoc<=t&&t<=a.finallyLoc&&(a=null);var i=a?a.completion:{};return i.type=e,i.arg=t,a?(this.method="next",this.next=a.finallyLoc,f):this.complete(i)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),f},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),E(r),f}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var o=n.arg;E(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:P(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),f}},e}function S(e,t,r,n,o,a,i){try{var u=e[a](i),c=u.value}catch(e){return void r(e)}u.done?t(c):Promise.resolve(c).then(n,o)}var P=function(e){return!e||e.startsWith("/")?e:y().resolve(process.cwd(),e)},_=function(e){if(!e)return null;var t=m().createHash("sha1");return t.update(e),t.digest("hex")},q=function(e){if(!e)return null;var t=m().createHash("sha256");return t.update(e),t.digest("hex")},A=function(){var e,t=(e=L().mark((function e(t){var r;return L().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t){e.next=2;break}return e.abrupt("return",null);case 2:return r=null,e.prev=3,e.next=6,h().readFile(t);case 6:r=e.sent,e.next=13;break;case 9:return e.prev=9,e.t0=e.catch(3),E(e.t0),e.abrupt("return",null);case 13:return e.abrupt("return",q(r));case 14:case"end":return e.stop()}}),e,null,[[3,9]])})),function(){var t=this,r=arguments;return new Promise((function(n,o){var a=e.apply(t,r);function i(e){S(a,n,o,i,u,"next",e)}function u(e){S(a,n,o,i,u,"throw",e)}i(void 0)}))});return function(e){return t.apply(this,arguments)}}();function C(e){return C="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},C(e)}function I(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function N(e,t){if(t&&("object"===C(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return G(e)}function G(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function T(e){var t="function"==typeof Map?new Map:void 0;return T=function(e){if(null===e||(r=e,-1===Function.toString.call(r).indexOf("[native code]")))return e;var r;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,n)}function n(){return F(e,arguments,R(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),B(n,e)},T(e)}function F(e,t,r){return F=D()?Reflect.construct.bind():function(e,t,r){var n=[null];n.push.apply(n,t);var o=new(Function.bind.apply(e,n));return r&&B(o,r.prototype),o},F.apply(null,arguments)}function D(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}function B(e,t){return B=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},B(e,t)}function R(e){return R=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},R(e)}require("core-js/modules/es.array.index-of.js"),require("core-js/modules/es.regexp.to-string.js"),require("core-js/modules/es.reflect.to-string-tag.js"),require("core-js/modules/es.reflect.construct.js"),require("core-js/modules/es.map.js"),require("core-js/modules/esnext.map.delete-all.js"),require("core-js/modules/esnext.map.emplace.js"),require("core-js/modules/esnext.map.every.js"),require("core-js/modules/esnext.map.filter.js"),require("core-js/modules/esnext.map.find.js"),require("core-js/modules/esnext.map.find-key.js"),require("core-js/modules/esnext.map.includes.js"),require("core-js/modules/esnext.map.key-of.js"),require("core-js/modules/esnext.map.map-keys.js"),require("core-js/modules/esnext.map.map-values.js"),require("core-js/modules/esnext.map.merge.js"),require("core-js/modules/esnext.map.reduce.js"),require("core-js/modules/esnext.map.some.js"),require("core-js/modules/esnext.map.update.js"),require("core-js/modules/es.symbol.to-primitive.js"),require("core-js/modules/es.date.to-primitive.js"),require("core-js/modules/es.number.constructor.js");var K=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&B(e,t)}(a,e);var t,r,n,o=(t=a,r=D(),function(){var e,n=R(t);if(r){var o=R(this).constructor;e=Reflect.construct(n,arguments,o)}else e=n.apply(this,arguments);return N(this,e)});function a(e){var t,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return I(this,a),t=o.call(this,e),Error.captureStackTrace&&Error.captureStackTrace(G(t),a),t.name=r.name||"CustomError",t}return n=a,Object.defineProperty(n,"prototype",{writable:!1}),n}(T(Error));function W(e){return W="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},W(e)}function M(e){return function(e){if(Array.isArray(e))return H(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return H(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?H(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function H(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function Y(){Y=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n=Object.defineProperty||function(e,t,r){e[t]=r.value},o="function"==typeof Symbol?Symbol:{},a=o.iterator||"@@iterator",i=o.asyncIterator||"@@asyncIterator",u=o.toStringTag||"@@toStringTag";function c(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{c({},"")}catch(e){c=function(e,t,r){return e[t]=r}}function s(e,t,r,o){var a=t&&t.prototype instanceof p?t:p,i=Object.create(a.prototype),u=new O(o||[]);return n(i,"_invoke",{value:w(e,r,u)}),i}function l(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}e.wrap=s;var f={};function p(){}function h(){}function d(){}var y={};c(y,a,(function(){return this}));var v=Object.getPrototypeOf,m=v&&v(v(L([])));m&&m!==t&&r.call(m,a)&&(y=m);var b=d.prototype=p.prototype=Object.create(y);function g(e){["next","throw","return"].forEach((function(t){c(e,t,(function(e){return this._invoke(t,e)}))}))}function x(e,t){function o(n,a,i,u){var c=l(e[n],e,a);if("throw"!==c.type){var s=c.arg,f=s.value;return f&&"object"==W(f)&&r.call(f,"__await")?t.resolve(f.__await).then((function(e){o("next",e,i,u)}),(function(e){o("throw",e,i,u)})):t.resolve(f).then((function(e){s.value=e,i(s)}),(function(e){return o("throw",e,i,u)}))}u(c.arg)}var a;n(this,"_invoke",{value:function(e,r){function n(){return new t((function(t,n){o(e,r,t,n)}))}return a=a?a.then(n,n):n()}})}function w(e,t,r){var n="suspendedStart";return function(o,a){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw a;return{value:void 0,done:!0}}for(r.method=o,r.arg=a;;){var i=r.delegate;if(i){var u=j(i,r);if(u){if(u===f)continue;return u}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var c=l(e,t,r);if("normal"===c.type){if(n=r.done?"completed":"suspendedYield",c.arg===f)continue;return{value:c.arg,done:r.done}}"throw"===c.type&&(n="completed",r.method="throw",r.arg=c.arg)}}}function j(e,t){var r=t.method,n=e.iterator[r];if(void 0===n)return t.delegate=null,"throw"===r&&e.iterator.return&&(t.method="return",t.arg=void 0,j(e,t),"throw"===t.method)||"return"!==r&&(t.method="throw",t.arg=new TypeError("The iterator does not provide a '"+r+"' method")),f;var o=l(n,e.iterator,t.arg);if("throw"===o.type)return t.method="throw",t.arg=o.arg,t.delegate=null,f;var a=o.arg;return a?a.done?(t[e.resultName]=a.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,f):a:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,f)}function k(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function E(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function O(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(k,this),this.reset(!0)}function L(e){if(e){var t=e[a];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,o=function t(){for(;++n<e.length;)if(r.call(e,n))return t.value=e[n],t.done=!1,t;return t.value=void 0,t.done=!0,t};return o.next=o}}return{next:S}}function S(){return{value:void 0,done:!0}}return h.prototype=d,n(b,"constructor",{value:d,configurable:!0}),n(d,"constructor",{value:h,configurable:!0}),h.displayName=c(d,u,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===h||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,d):(e.__proto__=d,c(e,u,"GeneratorFunction")),e.prototype=Object.create(b),e},e.awrap=function(e){return{__await:e}},g(x.prototype),c(x.prototype,i,(function(){return this})),e.AsyncIterator=x,e.async=function(t,r,n,o,a){void 0===a&&(a=Promise);var i=new x(s(t,r,n,o),a);return e.isGeneratorFunction(r)?i:i.next().then((function(e){return e.done?e.value:i.next()}))},g(b),c(b,u,"Generator"),c(b,a,(function(){return this})),c(b,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var t=Object(e),r=[];for(var n in t)r.push(n);return r.reverse(),function e(){for(;r.length;){var n=r.pop();if(n in t)return e.value=n,e.done=!1,e}return e.done=!0,e}},e.values=L,O.prototype={constructor:O,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(E),!e)for(var t in this)"t"===t.charAt(0)&&r.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function n(r,n){return i.type="throw",i.arg=e,t.next=r,n&&(t.method="next",t.arg=void 0),!!n}for(var o=this.tryEntries.length-1;o>=0;--o){var a=this.tryEntries[o],i=a.completion;if("root"===a.tryLoc)return n("end");if(a.tryLoc<=this.prev){var u=r.call(a,"catchLoc"),c=r.call(a,"finallyLoc");if(u&&c){if(this.prev<a.catchLoc)return n(a.catchLoc,!0);if(this.prev<a.finallyLoc)return n(a.finallyLoc)}else if(u){if(this.prev<a.catchLoc)return n(a.catchLoc,!0)}else{if(!c)throw new Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return n(a.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var a=o;break}}a&&("break"===e||"continue"===e)&&a.tryLoc<=t&&t<=a.finallyLoc&&(a=null);var i=a?a.completion:{};return i.type=e,i.arg=t,a?(this.method="next",this.next=a.finallyLoc,f):this.complete(i)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),f},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),E(r),f}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var o=n.arg;E(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:L(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),f}},e}function z(e,t,r,n,o,a,i){try{var u=e[a](i),c=u.value}catch(e){return void r(e)}u.done?t(c):Promise.resolve(c).then(n,o)}function U(e){return function(){var t=this,r=arguments;return new Promise((function(n,o){var a=e.apply(t,r);function i(e){z(a,n,o,i,u,"next",e)}function u(e){z(a,n,o,i,u,"throw",e)}i(void 0)}))}}var V=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!e)return null;e=P(e);try{if(!f().existsSync(e)){if(!t)return!1;throw new K("File does not exist: ".concat(e))}}catch(r){if(!t)return null;throw r instanceof K?r:new K("Error while accessing file: ".concat(e))}return!0},Q=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!e)return null;e=P(e);try{if(!f().existsSync(e)){if(!t)return!1;throw new K("Directory does not exist: ".concat(e))}}catch(r){if(!t)return null;throw r instanceof K?r:new K("Error while accessing directory: ".concat(e))}return!0},$=function(){var e=U(Y().mark((function e(t){var r,n,o=arguments;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=o.length>1&&void 0!==o[1]&&o[1],t){e.next=3;break}return e.abrupt("return",null);case 3:return t=P(t),n=null,e.prev=5,e.next=8,h().readFile(t,"utf8");case 8:n=e.sent,e.next=14;break;case 11:e.prev=11,e.t0=e.catch(5),r&&k("Cannot read file: ".concat(t));case 14:return e.abrupt("return",n);case 15:case"end":return e.stop()}}),e,null,[[5,11]])})));return function(t){return e.apply(this,arguments)}}(),J=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!e)return null;e=P(e);var r=null;try{r=f().readFileSync(e,"utf8")}catch(r){t&&k("Cannot read file: ".concat(e))}return r},X=function(){var e=U(Y().mark((function e(t){var r,n,o,a,i=arguments;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=i.length>1&&void 0!==i[1]&&i[1],n=i.length>2&&void 0!==i[2]&&i[2],t){e.next=4;break}return e.abrupt("return",null);case 4:return t=P(t),o=[],a=[],e.prev=7,e.next=10,h().readdir(t,{withFileTypes:!0});case 10:e.sent.forEach((function(e){e.isDirectory()?o.push(e.name):e.isFile()&&a.push(e.name)})),e.next=18;break;case 14:return e.prev=14,e.t0=e.catch(7),r&&k("Cannot read dir: ".concat(t)),e.abrupt("return",null);case 18:return n||(o=o.filter((function(e){return!e.startsWith(".")})),a=a.filter((function(e){return!e.startsWith(".")}))),e.abrupt("return",{dirs:o,files:a});case 20:case"end":return e.stop()}}),e,null,[[7,14]])})));return function(t){return e.apply(this,arguments)}}(),Z=function(){var e=U(Y().mark((function e(t){var r,n,o,a=arguments;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=a.length>1&&void 0!==a[1]&&a[1],o=a.length>2&&void 0!==a[2]&&a[2],t){e.next=4;break}return e.abrupt("return",null);case 4:return t=P(t),e.next=7,X(t,n,o);case 7:if(e.t2=r=e.sent,e.t1=null===e.t2,e.t1){e.next=11;break}e.t1=void 0===r;case 11:if(!e.t1){e.next=15;break}e.t3=void 0,e.next=16;break;case 15:e.t3=r.files;case 16:if(e.t0=e.t3,e.t0){e.next=19;break}e.t0=null;case 19:return e.abrupt("return",e.t0);case 20:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),ee=function(){var e=U(Y().mark((function e(t){var r,n,o,a=arguments;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=a.length>1&&void 0!==a[1]&&a[1],o=a.length>2&&void 0!==a[2]&&a[2],t){e.next=4;break}return e.abrupt("return",null);case 4:return t=P(t),e.next=7,X(t,n,o);case 7:if(e.t2=r=e.sent,e.t1=null===e.t2,e.t1){e.next=11;break}e.t1=void 0===r;case 11:if(!e.t1){e.next=15;break}e.t3=void 0,e.next=16;break;case 15:e.t3=r.dirs;case 16:if(e.t0=e.t3,e.t0){e.next=19;break}e.t0=null;case 19:return e.abrupt("return",e.t0);case 20:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),te=function(){var e=U(Y().mark((function e(t){var r,n,o,a,i,u,c,s,l=arguments;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=l.length>1&&void 0!==l[1]?l[1]:"",t){e.next=3;break}return e.abrupt("return",null);case 3:return t=P(t),n=r?"".concat(t,"/").concat(r):t,e.next=7,X(n);case 7:if(o=e.sent){e.next=10;break}return e.abrupt("return",null);case 10:return a=o.dirs,i=o.files,u=(u=i||[]).map((function(e){return r?"".concat(r,"/").concat(e):e})),c=(a||[]).map((function(e){return r?"".concat(r,"/").concat(e):e})),s=c.map((function(e){return te(t,e)})),e.next=17,Promise.all(s);case 17:return e.sent.forEach((function(e){e&&(u=[].concat(M(u),M(e)))})),e.abrupt("return",u);case 20:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),re=function(){var e=U(Y().mark((function e(t){var r,n,o=arguments;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=o.length>1&&void 0!==o[1]&&o[1],e.next=3,te(t);case 3:return n=e.sent,r||n&&(n=n.filter((function(e){return!e.startsWith(".")}))),e.abrupt("return",n);case 6:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),ne=function(){var e=U(Y().mark((function e(t,r){var n;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t&&r){e.next=2;break}return e.abrupt("return",null);case 2:return t=P(t),e.prev=3,n=t.substring(0,t.lastIndexOf("/")),e.next=7,h().mkdir(n,{recursive:!0});case 7:return e.next=9,h().writeFile(t,r);case 9:e.next=15;break;case 11:return e.prev=11,e.t0=e.catch(3),console.error("Error while writing to ".concat(t),e.t0),e.abrupt("return",null);case 15:return e.abrupt("return",!0);case 16:case"end":return e.stop()}}),e,null,[[3,11]])})));return function(t,r){return e.apply(this,arguments)}}(),oe=function(){var e=U(Y().mark((function e(t,r){var n;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t&&r){e.next=2;break}return e.abrupt("return",null);case 2:return t=P(t),e.prev=3,n=t.substring(0,t.lastIndexOf("/")),e.next=7,h().mkdir(n,{recursive:!0});case 7:return e.next=9,h().appendFile(t,r+"\n");case 9:e.next=15;break;case 11:return e.prev=11,e.t0=e.catch(3),console.error("Error while appending to ".concat(t),e.t0),e.abrupt("return",null);case 15:return e.abrupt("return",!0);case 16:case"end":return e.stop()}}),e,null,[[3,11]])})));return function(t,r){return e.apply(this,arguments)}}(),ae=function(){var e=U(Y().mark((function e(t,r){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t&&r){e.next=2;break}return e.abrupt("return",null);case 2:return t=P(t),r=P(r),e.prev=4,e.next=7,h().rename(t,r);case 7:e.next=13;break;case 9:return e.prev=9,e.t0=e.catch(4),console.error("Error while renaming file ".concat(t," to ").concat(r),e.t0),e.abrupt("return",null);case 13:return e.abrupt("return",!0);case 14:case"end":return e.stop()}}),e,null,[[4,9]])})));return function(t,r){return e.apply(this,arguments)}}(),ie=function(){var e=U(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t){e.next=2;break}return e.abrupt("return",null);case 2:if(t=P(t),e.prev=3,Q(t)){e.next=7;break}return e.next=7,h().mkdir(t,{recursive:!0});case 7:e.next=13;break;case 9:return e.prev=9,e.t0=e.catch(3),console.error("Error while creating directory: ".concat(t),e.t0),e.abrupt("return",null);case 13:return e.abrupt("return",!0);case 14:case"end":return e.stop()}}),e,null,[[3,9]])})));return function(t){return e.apply(this,arguments)}}(),ue=function(){var e=U(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t){e.next=2;break}return e.abrupt("return",null);case 2:return t=P(t),e.prev=3,e.next=6,h().unlink(t);case 6:e.next=12;break;case 8:return e.prev=8,e.t0=e.catch(3),console.error("Error while deleting file ".concat(t),e.t0),e.abrupt("return",null);case 12:return e.abrupt("return",!0);case 13:case"end":return e.stop()}}),e,null,[[3,8]])})));return function(t){return e.apply(this,arguments)}}(),ce=function(){var e=U(Y().mark((function e(t){var n,o;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t){e.next=2;break}return e.abrupt("return",null);case 2:return t=P(t),e.prev=3,n=r(76),o=s().promisify(n),e.next=8,o(t);case 8:e.next=14;break;case 10:return e.prev=10,e.t0=e.catch(3),console.error("Error while deleting dir ".concat(t),e.t0),e.abrupt("return",null);case 14:return e.abrupt("return",!0);case 15:case"end":return e.stop()}}),e,null,[[3,10]])})));return function(t){return e.apply(this,arguments)}}();require("core-js/modules/es.array.every.js"),require("core-js/modules/esnext.async-iterator.every.js"),require("core-js/modules/esnext.iterator.every.js"),require("core-js/modules/es.array.flat.js"),require("core-js/modules/es.array.unscopables.flat.js"),require("core-js/modules/es.array.find.js"),require("core-js/modules/esnext.async-iterator.find.js"),require("core-js/modules/esnext.iterator.find.js"),require("core-js/modules/es.object.keys.js"),require("core-js/modules/es.object.get-own-property-descriptor.js"),require("core-js/modules/es.object.get-own-property-descriptors.js"),require("core-js/modules/es.object.define-properties.js");const se=require("@aws-sdk/client-dynamodb"),le=require("@aws-sdk/lib-dynamodb"),fe=require("short-uuid");var pe=r.n(fe);const he=require("@baadal-sdk/utils");var de={client:null,id:null},ye={client:null,id:null},ve=10;function me(e){return me="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},me(e)}function be(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function ge(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?be(Object(r),!0).forEach((function(t){xe(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):be(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function xe(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==me(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t);if("object"!==me(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e,"string");return"symbol"===me(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function we(){we=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n=Object.defineProperty||function(e,t,r){e[t]=r.value},o="function"==typeof Symbol?Symbol:{},a=o.iterator||"@@iterator",i=o.asyncIterator||"@@asyncIterator",u=o.toStringTag||"@@toStringTag";function c(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{c({},"")}catch(e){c=function(e,t,r){return e[t]=r}}function s(e,t,r,o){var a=t&&t.prototype instanceof p?t:p,i=Object.create(a.prototype),u=new O(o||[]);return n(i,"_invoke",{value:w(e,r,u)}),i}function l(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}e.wrap=s;var f={};function p(){}function h(){}function d(){}var y={};c(y,a,(function(){return this}));var v=Object.getPrototypeOf,m=v&&v(v(L([])));m&&m!==t&&r.call(m,a)&&(y=m);var b=d.prototype=p.prototype=Object.create(y);function g(e){["next","throw","return"].forEach((function(t){c(e,t,(function(e){return this._invoke(t,e)}))}))}function x(e,t){function o(n,a,i,u){var c=l(e[n],e,a);if("throw"!==c.type){var s=c.arg,f=s.value;return f&&"object"==me(f)&&r.call(f,"__await")?t.resolve(f.__await).then((function(e){o("next",e,i,u)}),(function(e){o("throw",e,i,u)})):t.resolve(f).then((function(e){s.value=e,i(s)}),(function(e){return o("throw",e,i,u)}))}u(c.arg)}var a;n(this,"_invoke",{value:function(e,r){function n(){return new t((function(t,n){o(e,r,t,n)}))}return a=a?a.then(n,n):n()}})}function w(e,t,r){var n="suspendedStart";return function(o,a){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw a;return{value:void 0,done:!0}}for(r.method=o,r.arg=a;;){var i=r.delegate;if(i){var u=j(i,r);if(u){if(u===f)continue;return u}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var c=l(e,t,r);if("normal"===c.type){if(n=r.done?"completed":"suspendedYield",c.arg===f)continue;return{value:c.arg,done:r.done}}"throw"===c.type&&(n="completed",r.method="throw",r.arg=c.arg)}}}function j(e,t){var r=t.method,n=e.iterator[r];if(void 0===n)return t.delegate=null,"throw"===r&&e.iterator.return&&(t.method="return",t.arg=void 0,j(e,t),"throw"===t.method)||"return"!==r&&(t.method="throw",t.arg=new TypeError("The iterator does not provide a '"+r+"' method")),f;var o=l(n,e.iterator,t.arg);if("throw"===o.type)return t.method="throw",t.arg=o.arg,t.delegate=null,f;var a=o.arg;return a?a.done?(t[e.resultName]=a.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,f):a:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,f)}function k(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function E(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function O(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(k,this),this.reset(!0)}function L(e){if(e){var t=e[a];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,o=function t(){for(;++n<e.length;)if(r.call(e,n))return t.value=e[n],t.done=!1,t;return t.value=void 0,t.done=!0,t};return o.next=o}}return{next:S}}function S(){return{value:void 0,done:!0}}return h.prototype=d,n(b,"constructor",{value:d,configurable:!0}),n(d,"constructor",{value:h,configurable:!0}),h.displayName=c(d,u,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===h||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,d):(e.__proto__=d,c(e,u,"GeneratorFunction")),e.prototype=Object.create(b),e},e.awrap=function(e){return{__await:e}},g(x.prototype),c(x.prototype,i,(function(){return this})),e.AsyncIterator=x,e.async=function(t,r,n,o,a){void 0===a&&(a=Promise);var i=new x(s(t,r,n,o),a);return e.isGeneratorFunction(r)?i:i.next().then((function(e){return e.done?e.value:i.next()}))},g(b),c(b,u,"Generator"),c(b,a,(function(){return this})),c(b,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var t=Object(e),r=[];for(var n in t)r.push(n);return r.reverse(),function e(){for(;r.length;){var n=r.pop();if(n in t)return e.value=n,e.done=!1,e}return e.done=!0,e}},e.values=L,O.prototype={constructor:O,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(E),!e)for(var t in this)"t"===t.charAt(0)&&r.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function n(r,n){return i.type="throw",i.arg=e,t.next=r,n&&(t.method="next",t.arg=void 0),!!n}for(var o=this.tryEntries.length-1;o>=0;--o){var a=this.tryEntries[o],i=a.completion;if("root"===a.tryLoc)return n("end");if(a.tryLoc<=this.prev){var u=r.call(a,"catchLoc"),c=r.call(a,"finallyLoc");if(u&&c){if(this.prev<a.catchLoc)return n(a.catchLoc,!0);if(this.prev<a.finallyLoc)return n(a.finallyLoc)}else if(u){if(this.prev<a.catchLoc)return n(a.catchLoc,!0)}else{if(!c)throw new Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return n(a.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var a=o;break}}a&&("break"===e||"continue"===e)&&a.tryLoc<=t&&t<=a.finallyLoc&&(a=null);var i=a?a.completion:{};return i.type=e,i.arg=t,a?(this.method="next",this.next=a.finallyLoc,f):this.complete(i)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),f},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),E(r),f}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var o=n.arg;E(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:L(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),f}},e}function je(e,t,r,n,o,a,i){try{var u=e[a](i),c=u.value}catch(e){return void r(e)}u.done?t(c):Promise.resolve(c).then(n,o)}function ke(e){return function(){var t=this,r=arguments;return new Promise((function(n,o){var a=e.apply(t,r);function i(e){je(a,n,o,i,u,"next",e)}function u(e){je(a,n,o,i,u,"throw",e)}i(void 0)}))}}var Ee=function(e){return new K(e,{name:"DynamoDBError"})},Oe=function(e){if(!de.client){var t=new se.DynamoDBClient({region:e});return de.client=le.DynamoDBDocumentClient.from(t),de.id=pe().uuid(),!0}return!1},Le=function(){return de.id},Se=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(!de.client){var t=process.env.AWS_REGION||"";if(!(t&&Oe(t)||e))throw Ee("Could not auto-initialize DynamoDB!")}};Se(!0);var Pe=function(){var e=ke(we().mark((function e(t,r,n,o,a){var i,u,c,s;return we().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(de.client||Se(),de.client){e.next=3;break}return e.abrupt("return",null);case 3:if(t&&r){e.next=5;break}return e.abrupt("return",null);case 5:return r[n]||(r[n]=pe().uuid()),i={TableName:t,Item:r,ConditionExpression:"attribute_not_exists(".concat(n,")")},u=new le.PutCommand(i),c=null!=a?a:3,e.prev=9,e.next=12,de.client.send(u);case 12:e.next=26;break;case 14:if(e.prev=14,e.t0=e.catch(9),"ConditionalCheckFailedException"!==e.t0.name){e.next=25;break}if(!(o<c-1)){e.next=23;break}return r[n]=pe().uuid(),e.next=21,Pe(t,r,n,o+1,a);case 21:return s=e.sent,e.abrupt("return",s);case 23:console.error("PutCommandInput:",i),E(1===c?"[ERROR] An item with the same key(".concat(r[n],") already exists!"):"[ERROR] Maximum attempts overflow!");case 25:return e.abrupt("return",null);case 26:return e.abrupt("return",r);case 27:case"end":return e.stop()}}),e,null,[[9,14]])})));return function(t,r,n,o,a){return e.apply(this,arguments)}}(),_e=function(){var e=ke(we().mark((function e(t){var r;return we().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.key||"id",e.abrupt("return",Pe(t.table,t.item,r,0));case 2:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),qe=function(){var e=ke(we().mark((function e(t){var r;return we().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.key||"id",e.abrupt("return",Pe(t.table,t.item,r,0,1));case 2:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),Ae=function(){var e=ke(we().mark((function e(t){var r,n;return we().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(de.client||Se(),de.client){e.next=3;break}return e.abrupt("return",null);case 3:if(t.table&&t.item){e.next=5;break}return e.abrupt("return",null);case 5:return r={TableName:t.table,Item:t.item},n=new le.PutCommand(r),e.prev=7,e.next=10,de.client.send(n);case 10:e.next=17;break;case 12:return e.prev=12,e.t0=e.catch(7),console.error("PutCommandInput:",r),console.error(e.t0),e.abrupt("return",null);case 17:return e.abrupt("return",!0);case 18:case"end":return e.stop()}}),e,null,[[7,12]])})));return function(t){return e.apply(this,arguments)}}(),Ce=function(){var e=ke(we().mark((function e(t,r){var n,o,a;return we().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(de.client||Se(),de.client){e.next=3;break}return e.abrupt("return",null);case 3:if(t&&r&&Array.isArray(r)){e.next=5;break}return e.abrupt("return",null);case 5:if(r.length){e.next=7;break}return e.abrupt("return",!0);case 7:return n=r.map((function(e){return{PutRequest:{Item:e}}})),o={RequestItems:xe({},t,n)},a=new le.BatchWriteCommand(o),e.prev=10,e.next=13,de.client.send(a);case 13:e.next=20;break;case 15:return e.prev=15,e.t0=e.catch(10),console.error("BatchWriteCommandInput:",o),console.error(e.t0),e.abrupt("return",null);case 20:return e.abrupt("return",!0);case 21:case"end":return e.stop()}}),e,null,[[10,15]])})));return function(t,r){return e.apply(this,arguments)}}(),Ie=function(){var e=ke(we().mark((function e(t){var r,n,o,a,i,u;return we().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(de.client||Se(),de.client){e.next=3;break}return e.abrupt("return",null);case 3:if(t.table&&t.items&&Array.isArray(t.items)){e.next=5;break}return e.abrupt("return",null);case 5:if(t.items.length){e.next=7;break}return e.abrupt("return",!0);case 7:r=!1,n=(0,he.chunkifyArray)(t.items,20),o=(0,he.chunkifyArray)(n,ve),a=0;case 11:if(!(a<o.length)){e.next=22;break}return i=o[a],u=i.map((function(e){return Ce(t.table,e)})),e.next=16,Promise.all(u);case 16:e.sent.every((function(e){return!0===e}))||(r=!0);case 19:a+=1,e.next=11;break;case 22:return e.abrupt("return",!r||null);case 23:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),Ne=function(){var e=ke(we().mark((function e(t){var r,n;return we().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(de.client||Se(),de.client){e.next=3;break}return e.abrupt("return",null);case 3:if(t.table&&t.key&&t.update&&t.attr){e.next=5;break}return e.abrupt("return",null);case 5:return r={TableName:t.table,Key:t.key,UpdateExpression:t.update,ExpressionAttributeValues:t.attr},t.attrNames&&(r=ge(ge({},r),{},{ExpressionAttributeNames:t.attrNames})),n=new le.UpdateCommand(r),e.prev=8,e.next=11,de.client.send(n);case 11:e.next=18;break;case 13:return e.prev=13,e.t0=e.catch(8),console.error("UpdateCommandInput:",r),console.error(e.t0),e.abrupt("return",null);case 18:return e.abrupt("return",!0);case 19:case"end":return e.stop()}}),e,null,[[8,13]])})));return function(t){return e.apply(this,arguments)}}(),Ge=function(){var e=ke(we().mark((function e(t){var r,n,o,a,i;return we().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(de.client||Se(),de.client){e.next=3;break}return e.abrupt("return",null);case 3:if(t.table&&t.key){e.next=5;break}return e.abrupt("return",null);case 5:return r=null,n={TableName:t.table,Key:t.key},t.projection&&(n=ge(ge({},n),{},{ProjectionExpression:t.projection})),t.attrNames&&(n=ge(ge({},n),{},{ExpressionAttributeNames:t.attrNames})),o=new le.GetCommand(n),e.prev=10,e.next=13,de.client.send(o);case 13:a=e.sent,(i=a.Item)&&(r=i),e.next=27;break;case 18:if(e.prev=18,e.t0=e.catch(10),console.error("GetCommandInput:",n),console.error(e.t0),!t.loud){e.next=26;break}throw e.t0;case 26:return e.abrupt("return",null);case 27:return e.abrupt("return",r);case 28:case"end":return e.stop()}}),e,null,[[10,18]])})));return function(t){return e.apply(this,arguments)}}(),Te=function(){var e=ke(we().mark((function e(t,r,n,o){var a,i,u,c,s,l;return we().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(de.client||Se(),de.client){e.next=3;break}return e.abrupt("return",null);case 3:if(t&&r&&Array.isArray(r)){e.next=5;break}return e.abrupt("return",null);case 5:if(r.length){e.next=7;break}return e.abrupt("return",[]);case 7:return a=[],i={Keys:r},n&&(i=ge(ge({},i),{},{ProjectionExpression:n})),o&&(i=ge(ge({},i),{},{ExpressionAttributeNames:o})),u={RequestItems:xe({},t,i)},c=new le.BatchGetCommand(u),e.prev=13,e.next=16,de.client.send(c);case 16:s=e.sent,(l=s.Responses)&&l[t]&&(a=l[t]),e.next=26;break;case 21:return e.prev=21,e.t0=e.catch(13),console.error("BatchGetCommandInput:",u),console.error(e.t0),e.abrupt("return",null);case 26:return e.abrupt("return",a);case 27:case"end":return e.stop()}}),e,null,[[13,21]])})));return function(t,r,n,o){return e.apply(this,arguments)}}(),Fe=function(){var e=ke(we().mark((function e(t){var r,n,o,a,i,u,c,s,l;return we().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(de.client||Se(),de.client){e.next=3;break}return e.abrupt("return",null);case 3:if(t.table&&t.keys&&Array.isArray(t.keys)){e.next=5;break}return e.abrupt("return",null);case 5:if(t.keys.length){e.next=7;break}return e.abrupt("return",[]);case 7:r=[],n=!1,o=(0,he.chunkifyArray)(t.keys,20),a=(0,he.chunkifyArray)(o,ve),i=0;case 12:if(!(i<a.length)){e.next=27;break}return u=a[i],c=u.map((function(e){return Te(t.table,e,t.projection,t.attrNames)})),e.next=17,Promise.all(c);case 17:if(s=e.sent,null!==(l=s.flat()).find((function(e){return null===e}))){e.next=23;break}return n=!0,e.abrupt("return",null);case 23:n||(r=r.concat(l));case 24:i+=1,e.next=12;break;case 27:return e.abrupt("return",r);case 28:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),De=function(){var e=ke(we().mark((function e(t){var r,n,o,a,i,u;return we().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(de.client||Se(),de.client){e.next=3;break}return e.abrupt("return",null);case 3:if(t.table&&t.cond&&t.attr){e.next=5;break}return e.abrupt("return",null);case 5:return r=[],n=t.desc||!1,o={TableName:t.table,KeyConditionExpression:t.cond,ExpressionAttributeValues:t.attr},t.indexName&&(o=ge(ge({},o),{},{IndexName:t.indexName})),t.attrNames&&(o=ge(ge({},o),{},{ExpressionAttributeNames:t.attrNames})),t.projection&&(o=ge(ge({},o),{},{ProjectionExpression:t.projection})),n&&(o=ge(ge({},o),{},{ScanIndexForward:!1})),a=new le.QueryCommand(o),e.prev=13,e.next=16,de.client.send(a);case 16:i=e.sent,(u=i.Items)&&(r=u),e.next=26;break;case 21:return e.prev=21,e.t0=e.catch(13),console.error("QueryCommandInput:",a.input),console.error(e.t0),e.abrupt("return",null);case 26:return e.abrupt("return",r);case 27:case"end":return e.stop()}}),e,null,[[13,21]])})));return function(t){return e.apply(this,arguments)}}(),Be=function(){var e=ke(we().mark((function e(t){var r,n,o,a,i;return we().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(de.client||Se(),de.client){e.next=3;break}return e.abrupt("return",null);case 3:if(t.table){e.next=5;break}return e.abrupt("return",null);case 5:return r=[],n={TableName:t.table},t.projection&&(n=ge(ge({},n),{},{ProjectionExpression:t.projection})),o=new le.ScanCommand(n),e.prev=9,e.next=12,de.client.send(o);case 12:a=e.sent,i=a.Items,a.LastEvaluatedKey&&k("[scanItems] Partial results obtained! Consider pagination."),i&&(r=i),e.next=23;break;case 18:return e.prev=18,e.t0=e.catch(9),console.error("ScanCommandInput:",n),console.error(e.t0),e.abrupt("return",null);case 23:return e.abrupt("return",r);case 24:case"end":return e.stop()}}),e,null,[[9,18]])})));return function(t){return e.apply(this,arguments)}}(),Re=function(){var e=ke(we().mark((function e(t){var r,n;return we().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(de.client||Se(),de.client){e.next=3;break}return e.abrupt("return",null);case 3:if(t.table&&t.key){e.next=5;break}return e.abrupt("return",null);case 5:return r={TableName:t.table,Key:t.key},n=new le.DeleteCommand(r),e.prev=7,e.next=10,de.client.send(n);case 10:e.next=17;break;case 12:return e.prev=12,e.t0=e.catch(7),console.error("DeleteCommandInput:",r),console.error(e.t0),e.abrupt("return",null);case 17:return e.abrupt("return",!0);case 18:case"end":return e.stop()}}),e,null,[[7,12]])})));return function(t){return e.apply(this,arguments)}}(),Ke=function(){var e=ke(we().mark((function e(t,r){var n,o,a;return we().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(de.client||Se(),de.client){e.next=3;break}return e.abrupt("return",null);case 3:if(t&&r&&Array.isArray(r)){e.next=5;break}return e.abrupt("return",null);case 5:if(r.length){e.next=7;break}return e.abrupt("return",!0);case 7:return n=r.map((function(e){return{DeleteRequest:{Key:e}}})),o={RequestItems:xe({},t,n)},a=new le.BatchWriteCommand(o),e.prev=10,e.next=13,de.client.send(a);case 13:e.next=20;break;case 15:return e.prev=15,e.t0=e.catch(10),console.error("BatchWriteCommandInput:",o),console.error(e.t0),e.abrupt("return",null);case 20:return e.abrupt("return",!0);case 21:case"end":return e.stop()}}),e,null,[[10,15]])})));return function(t,r){return e.apply(this,arguments)}}(),We=function(){var e=ke(we().mark((function e(t){var r,n,o,a,i,u;return we().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(de.client||Se(),de.client){e.next=3;break}return e.abrupt("return",null);case 3:if(t.table&&t.keys&&Array.isArray(t.keys)){e.next=5;break}return e.abrupt("return",null);case 5:if(t.keys.length){e.next=7;break}return e.abrupt("return",!0);case 7:r=!1,n=(0,he.chunkifyArray)(t.keys,20),o=(0,he.chunkifyArray)(n,ve),a=0;case 11:if(!(a<o.length)){e.next=22;break}return i=o[a],u=i.map((function(e){return Ke(t.table,e)})),e.next=16,Promise.all(u);case 16:e.sent.every((function(e){return!0===e}))||(r=!0);case 19:a+=1,e.next=11;break;case 22:return e.abrupt("return",!r||null);case 23:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}();const Me=require("@aws-sdk/client-s3"),He=require("mime-types");var Ye=r.n(He);function ze(e){return ze="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ze(e)}function Ue(){Ue=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n=Object.defineProperty||function(e,t,r){e[t]=r.value},o="function"==typeof Symbol?Symbol:{},a=o.iterator||"@@iterator",i=o.asyncIterator||"@@asyncIterator",u=o.toStringTag||"@@toStringTag";function c(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{c({},"")}catch(e){c=function(e,t,r){return e[t]=r}}function s(e,t,r,o){var a=t&&t.prototype instanceof p?t:p,i=Object.create(a.prototype),u=new O(o||[]);return n(i,"_invoke",{value:w(e,r,u)}),i}function l(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}e.wrap=s;var f={};function p(){}function h(){}function d(){}var y={};c(y,a,(function(){return this}));var v=Object.getPrototypeOf,m=v&&v(v(L([])));m&&m!==t&&r.call(m,a)&&(y=m);var b=d.prototype=p.prototype=Object.create(y);function g(e){["next","throw","return"].forEach((function(t){c(e,t,(function(e){return this._invoke(t,e)}))}))}function x(e,t){function o(n,a,i,u){var c=l(e[n],e,a);if("throw"!==c.type){var s=c.arg,f=s.value;return f&&"object"==ze(f)&&r.call(f,"__await")?t.resolve(f.__await).then((function(e){o("next",e,i,u)}),(function(e){o("throw",e,i,u)})):t.resolve(f).then((function(e){s.value=e,i(s)}),(function(e){return o("throw",e,i,u)}))}u(c.arg)}var a;n(this,"_invoke",{value:function(e,r){function n(){return new t((function(t,n){o(e,r,t,n)}))}return a=a?a.then(n,n):n()}})}function w(e,t,r){var n="suspendedStart";return function(o,a){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw a;return{value:void 0,done:!0}}for(r.method=o,r.arg=a;;){var i=r.delegate;if(i){var u=j(i,r);if(u){if(u===f)continue;return u}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var c=l(e,t,r);if("normal"===c.type){if(n=r.done?"completed":"suspendedYield",c.arg===f)continue;return{value:c.arg,done:r.done}}"throw"===c.type&&(n="completed",r.method="throw",r.arg=c.arg)}}}function j(e,t){var r=t.method,n=e.iterator[r];if(void 0===n)return t.delegate=null,"throw"===r&&e.iterator.return&&(t.method="return",t.arg=void 0,j(e,t),"throw"===t.method)||"return"!==r&&(t.method="throw",t.arg=new TypeError("The iterator does not provide a '"+r+"' method")),f;var o=l(n,e.iterator,t.arg);if("throw"===o.type)return t.method="throw",t.arg=o.arg,t.delegate=null,f;var a=o.arg;return a?a.done?(t[e.resultName]=a.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,f):a:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,f)}function k(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function E(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function O(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(k,this),this.reset(!0)}function L(e){if(e){var t=e[a];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,o=function t(){for(;++n<e.length;)if(r.call(e,n))return t.value=e[n],t.done=!1,t;return t.value=void 0,t.done=!0,t};return o.next=o}}return{next:S}}function S(){return{value:void 0,done:!0}}return h.prototype=d,n(b,"constructor",{value:d,configurable:!0}),n(d,"constructor",{value:h,configurable:!0}),h.displayName=c(d,u,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===h||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,d):(e.__proto__=d,c(e,u,"GeneratorFunction")),e.prototype=Object.create(b),e},e.awrap=function(e){return{__await:e}},g(x.prototype),c(x.prototype,i,(function(){return this})),e.AsyncIterator=x,e.async=function(t,r,n,o,a){void 0===a&&(a=Promise);var i=new x(s(t,r,n,o),a);return e.isGeneratorFunction(r)?i:i.next().then((function(e){return e.done?e.value:i.next()}))},g(b),c(b,u,"Generator"),c(b,a,(function(){return this})),c(b,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var t=Object(e),r=[];for(var n in t)r.push(n);return r.reverse(),function e(){for(;r.length;){var n=r.pop();if(n in t)return e.value=n,e.done=!1,e}return e.done=!0,e}},e.values=L,O.prototype={constructor:O,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(E),!e)for(var t in this)"t"===t.charAt(0)&&r.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function n(r,n){return i.type="throw",i.arg=e,t.next=r,n&&(t.method="next",t.arg=void 0),!!n}for(var o=this.tryEntries.length-1;o>=0;--o){var a=this.tryEntries[o],i=a.completion;if("root"===a.tryLoc)return n("end");if(a.tryLoc<=this.prev){var u=r.call(a,"catchLoc"),c=r.call(a,"finallyLoc");if(u&&c){if(this.prev<a.catchLoc)return n(a.catchLoc,!0);if(this.prev<a.finallyLoc)return n(a.finallyLoc)}else if(u){if(this.prev<a.catchLoc)return n(a.catchLoc,!0)}else{if(!c)throw new Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return n(a.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var a=o;break}}a&&("break"===e||"continue"===e)&&a.tryLoc<=t&&t<=a.finallyLoc&&(a=null);var i=a?a.completion:{};return i.type=e,i.arg=t,a?(this.method="next",this.next=a.finallyLoc,f):this.complete(i)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),f},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),E(r),f}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var o=n.arg;E(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:L(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),f}},e}function Ve(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function Qe(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Ve(Object(r),!0).forEach((function(t){$e(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Ve(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function $e(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==ze(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t);if("object"!==ze(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e,"string");return"symbol"===ze(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Je(e,t,r,n,o,a,i){try{var u=e[a](i),c=u.value}catch(e){return void r(e)}u.done?t(c):Promise.resolve(c).then(n,o)}function Xe(e){return function(){var t=this,r=arguments;return new Promise((function(n,o){var a=e.apply(t,r);function i(e){Je(a,n,o,i,u,"next",e)}function u(e){Je(a,n,o,i,u,"throw",e)}i(void 0)}))}}var Ze=function(e){return new K(e,{name:"AWSS3Error"})},et=function(e){if(!ye.client){var t=new Me.S3Client({region:e});return ye.client=t,ye.id=pe().uuid(),!0}return!1},tt=function(){return ye.id},rt=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(!ye.client){var t=process.env.AWS_REGION||"";if(!(t&&et(t)||e))throw Ze("Could not auto-initialize AWS S3!")}};rt(!0);var nt=function(){var e=Xe(Ue().mark((function e(t,r,n){var o,a,i;return Ue().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(ye.client||rt(),ye.client){e.next=3;break}return e.abrupt("return",null);case 3:if(t&&r&&n){e.next=5;break}return e.abrupt("return",null);case 5:return o=null,e.prev=6,a=Qe(Qe({},o={Bucket:t,Key:r,Body:"<contents>",ContentType:"text/plain; charset=utf-8",ACL:"public-read"}),{},{Body:n}),i=new Me.PutObjectCommand(a),e.next=12,ye.client.send(i);case 12:e.next=19;break;case 14:return e.prev=14,e.t0=e.catch(6),console.error("PutObjectCommandInput:",o),console.error(e.t0),e.abrupt("return",null);case 19:return e.abrupt("return",!0);case 20:case"end":return e.stop()}}),e,null,[[6,14]])})));return function(t,r,n){return e.apply(this,arguments)}}(),ot=function(){var e=Xe(Ue().mark((function e(t,r,n){var o,a,i,u,c,s,l,p,h;return Ue().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(ye.client||rt(),ye.client){e.next=3;break}return e.abrupt("return",null);case 3:if(t&&r){e.next=5;break}return e.abrupt("return",null);case 5:if(o=P(r),a=y().basename(o),i=a.substr(a.lastIndexOf(".")),u=Ye().lookup(i)){e.next=12;break}return E("Could not detect file type for: ".concat(a," [").concat(o,"]")),e.abrupt("return",null);case 12:return n||(n=r!==o?r:a),c=null,e.prev=14,e.next=17,A(o);case 17:if(e.t0=e.sent,e.t0){e.next=20;break}e.t0="";case 20:return s=e.t0,l=f().createReadStream(o),p=Qe(Qe({},c={Bucket:t,Key:n,Body:"<fileStream>",ContentType:u,ACL:"public-read",Metadata:{hash:s}}),{},{Body:l}),h=new Me.PutObjectCommand(p),e.next=27,ye.client.send(h);case 27:e.next=34;break;case 29:return e.prev=29,e.t1=e.catch(14),console.error("PutObjectCommandInput:",c),console.error(e.t1),e.abrupt("return",null);case 34:return e.abrupt("return",!0);case 35:case"end":return e.stop()}}),e,null,[[14,29]])})));return function(t,r,n){return e.apply(this,arguments)}}(),at=function(){var e=Xe(Ue().mark((function e(t,r,n){var o,a,i,u,c;return Ue().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(ye.client||rt(),ye.client){e.next=3;break}return e.abrupt("return",null);case 3:if(t&&r&&Array.isArray(r)){e.next=5;break}return e.abrupt("return",null);case 5:if(r.length){e.next=7;break}return e.abrupt("return",!0);case 7:if(!n||Array.isArray(n)&&n.length&&r.length===n.length){e.next=9;break}return e.abrupt("return",null);case 9:o=!1,a=(0,he.chunkifyArray)(r,ve),i=n?(0,he.chunkifyArray)(n,ve):a,u=Ue().mark((function e(){var r,n,u;return Ue().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=a[c],n=i[c],u=r.map((function(e,r){return ot(t,e,n[r])})),e.next=5,Promise.all(u);case 5:e.sent.every((function(e){return!0===e}))||(o=!0);case 8:case"end":return e.stop()}}),e)})),c=0;case 14:if(!(c<a.length)){e.next=19;break}return e.delegateYield(u(),"t0",16);case 16:c+=1,e.next=14;break;case 19:return e.abrupt("return",!o||null);case 20:case"end":return e.stop()}}),e)})));return function(t,r,n){return e.apply(this,arguments)}}(),it=function(){var e=Xe(Ue().mark((function e(t,r){var n,o,a,i,u,c;return Ue().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(ye.client||rt(),ye.client){e.next=3;break}return e.abrupt("return",null);case 3:if(t&&r){e.next=5;break}return e.abrupt("return",null);case 5:return n=null,o={Bucket:t,Key:r},a=new Me.GetObjectCommand(o),e.prev=8,i=function(e){return new Promise((function(t,r){var n=[];e.on("data",(function(e){return n.push(e)})),e.on("error",r),e.on("end",(function(){return t(Buffer.concat(n).toString("utf8"))}))}))},e.next=12,ye.client.send(a);case 12:return u=e.sent,e.next=15,i(u.Body);case 15:(c=e.sent)&&(n=c),e.next=24;break;case 19:return e.prev=19,e.t0=e.catch(8),console.error("GetObjectCommandInput:",o),console.error(e.t0),e.abrupt("return",null);case 24:return e.abrupt("return",n);case 25:case"end":return e.stop()}}),e,null,[[8,19]])})));return function(t,r){return e.apply(this,arguments)}}(),ut=function(){var e=Xe(Ue().mark((function e(t,r,n){var o,a,i,u;return Ue().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(ye.client||rt(),ye.client){e.next=3;break}return e.abrupt("return",null);case 3:if(t&&r){e.next=5;break}return e.abrupt("return",null);case 5:return n||(n=r),n=P(n),o={Bucket:t,Key:r},a=new Me.GetObjectCommand(o),e.prev=9,i=function(e){return new Promise((function(t,r){var o=f().createWriteStream(n);e.on("data",(function(e){return o.write(e)})),e.on("error",r),e.on("end",(function(){return t(o.close())}))}))},e.next=13,ye.client.send(a);case 13:return u=e.sent,e.next=16,i(u.Body);case 16:e.next=22;break;case 18:return e.prev=18,e.t0=e.catch(9),"NoSuchKey"!==e.t0.name&&(console.error("GetObjectCommandInput:",o),console.error(e.t0)),e.abrupt("return",null);case 22:return e.abrupt("return",!0);case 23:case"end":return e.stop()}}),e,null,[[9,18]])})));return function(t,r,n){return e.apply(this,arguments)}}(),ct=function(){var e=Xe(Ue().mark((function e(t,r){var n,o,a,i,u;return Ue().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(ye.client||rt(),ye.client){e.next=3;break}return e.abrupt("return",null);case 3:if(t){e.next=5;break}return e.abrupt("return",null);case 5:return n=[],o={Bucket:t},r&&(o=Qe(Qe({},o),{},{Prefix:r})),a=new Me.ListObjectsV2Command(o),e.prev=9,e.next=12,ye.client.send(a);case 12:i=e.sent,u=i.Contents,i.IsTruncated&&k("[listObjects] Partial results obtained! Consider pagination."),u&&(n=u.map((function(e){return e.Key})).filter((function(e){return!!e}))),e.next=23;break;case 18:return e.prev=18,e.t0=e.catch(9),console.error("ListObjectsV2CommandInput:",o),console.error(e.t0),e.abrupt("return",null);case 23:return e.abrupt("return",n);case 24:case"end":return e.stop()}}),e,null,[[9,18]])})));return function(t,r){return e.apply(this,arguments)}}(),st=function(){var e=Xe(Ue().mark((function e(t,r){var n,o,a,i,u,c,s,l,f,p,h;return Ue().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(ye.client||rt(),ye.client){e.next=3;break}return e.abrupt("return",null);case 3:if(t&&r){e.next=5;break}return e.abrupt("return",null);case 5:return n=null,o={Bucket:t,Key:r},a=new Me.HeadObjectCommand(o),e.prev=8,e.next=11,ye.client.send(a);case 11:(i=e.sent)&&(u=i.ContentLength,c=i.ContentType,s=i.ETag,l=i.CacheControl,f=i.Expires,p=i.LastModified,h=i.Metadata,n={Key:r,ContentLength:u,ContentType:c,ETag:s,CacheControl:l,Expires:f,LastModified:p,Metadata:h}),e.next=19;break;case 15:return e.prev=15,e.t0=e.catch(8),"NotFound"!==e.t0.name&&(console.error("HeadObjectCommandInput:",o),console.error(e.t0)),e.abrupt("return",null);case 19:return e.abrupt("return",n);case 20:case"end":return e.stop()}}),e,null,[[8,15]])})));return function(t,r){return e.apply(this,arguments)}}(),lt=function(){var e=Xe(Ue().mark((function e(t,r){var n,o,a,i,u,c;return Ue().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(ye.client||rt(),ye.client){e.next=3;break}return e.abrupt("return",null);case 3:if(t&&r&&Array.isArray(r)){e.next=5;break}return e.abrupt("return",null);case 5:if(r.length){e.next=7;break}return e.abrupt("return",[]);case 7:n=[],o=(0,he.chunkifyArray)(r,ve),a=0;case 10:if(!(a<o.length)){e.next=20;break}return i=o[a],u=i.map((function(e){return st(t,e)})),e.next=15,Promise.all(u);case 15:c=e.sent,n=n.concat(c);case 17:a+=1,e.next=10;break;case 20:return n.length&&(n=n.filter((function(e){return!!e}))),e.abrupt("return",n);case 22:case"end":return e.stop()}}),e)})));return function(t,r){return e.apply(this,arguments)}}(),ft=function(){var e=Xe(Ue().mark((function e(t,r){var n,o;return Ue().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(ye.client||rt(),ye.client){e.next=3;break}return e.abrupt("return",null);case 3:if(t&&r){e.next=5;break}return e.abrupt("return",null);case 5:return n={Bucket:t,Key:r},o=new Me.DeleteObjectCommand(n),e.prev=7,e.next=10,ye.client.send(o);case 10:e.next=17;break;case 12:return e.prev=12,e.t0=e.catch(7),console.error("DeleteObjectCommandInput:",n),console.error(e.t0),e.abrupt("return",null);case 17:return e.abrupt("return",!0);case 18:case"end":return e.stop()}}),e,null,[[7,12]])})));return function(t,r){return e.apply(this,arguments)}}(),pt=function(){var e=Xe(Ue().mark((function e(t,r){var n,o,a;return Ue().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(ye.client||rt(),ye.client){e.next=3;break}return e.abrupt("return",null);case 3:if(t&&r&&Array.isArray(r)){e.next=5;break}return e.abrupt("return",null);case 5:if(r.length){e.next=7;break}return e.abrupt("return",!0);case 7:return n=r.map((function(e){return{Key:e}})),o={Bucket:t,Delete:{Objects:n}},a=new Me.DeleteObjectsCommand(o),e.prev=10,e.next=13,ye.client.send(a);case 13:e.next=20;break;case 15:return e.prev=15,e.t0=e.catch(10),console.error("DeleteObjectsCommandInput:",o),console.error(e.t0),e.abrupt("return",null);case 20:return e.abrupt("return",!0);case 21:case"end":return e.stop()}}),e,null,[[10,15]])})));return function(t,r){return e.apply(this,arguments)}}(),ht=function(){var e=Xe(Ue().mark((function e(t,r){var n,o,a,i,u,c;return Ue().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(ye.client||rt(),ye.client){e.next=3;break}return e.abrupt("return",null);case 3:if(t&&r&&Array.isArray(r)){e.next=5;break}return e.abrupt("return",null);case 5:if(r.length){e.next=7;break}return e.abrupt("return",!0);case 7:n=!1,o=(0,he.chunkifyArray)(r,20),a=(0,he.chunkifyArray)(o,ve),i=0;case 11:if(!(i<a.length)){e.next=22;break}return u=a[i],c=u.map((function(e){return pt(t,e)})),e.next=16,Promise.all(c);case 16:e.sent.every((function(e){return!0===e}))||(n=!0);case 19:i+=1,e.next=11;break;case 22:return e.abrupt("return",!n||null);case 23:case"end":return e.stop()}}),e)})));return function(t,r){return e.apply(this,arguments)}}(),dt=Oe,yt=Le,vt=et,mt=tt,bt=function(e){if(k("[@baadal-sdk/dapi] aws explicit init deprecated!"),!e)return E("AWS initialization error! Missing region: ".concat(e)),!1;var t=dt(e),r=vt(e);return t&&r},gt=function(){return{db:yt(),s3:mt()}};const xt=require("@octokit/core");function wt(e){return wt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},wt(e)}function jt(){jt=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n=Object.defineProperty||function(e,t,r){e[t]=r.value},o="function"==typeof Symbol?Symbol:{},a=o.iterator||"@@iterator",i=o.asyncIterator||"@@asyncIterator",u=o.toStringTag||"@@toStringTag";function c(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{c({},"")}catch(e){c=function(e,t,r){return e[t]=r}}function s(e,t,r,o){var a=t&&t.prototype instanceof p?t:p,i=Object.create(a.prototype),u=new O(o||[]);return n(i,"_invoke",{value:w(e,r,u)}),i}function l(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}e.wrap=s;var f={};function p(){}function h(){}function d(){}var y={};c(y,a,(function(){return this}));var v=Object.getPrototypeOf,m=v&&v(v(L([])));m&&m!==t&&r.call(m,a)&&(y=m);var b=d.prototype=p.prototype=Object.create(y);function g(e){["next","throw","return"].forEach((function(t){c(e,t,(function(e){return this._invoke(t,e)}))}))}function x(e,t){function o(n,a,i,u){var c=l(e[n],e,a);if("throw"!==c.type){var s=c.arg,f=s.value;return f&&"object"==wt(f)&&r.call(f,"__await")?t.resolve(f.__await).then((function(e){o("next",e,i,u)}),(function(e){o("throw",e,i,u)})):t.resolve(f).then((function(e){s.value=e,i(s)}),(function(e){return o("throw",e,i,u)}))}u(c.arg)}var a;n(this,"_invoke",{value:function(e,r){function n(){return new t((function(t,n){o(e,r,t,n)}))}return a=a?a.then(n,n):n()}})}function w(e,t,r){var n="suspendedStart";return function(o,a){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw a;return{value:void 0,done:!0}}for(r.method=o,r.arg=a;;){var i=r.delegate;if(i){var u=j(i,r);if(u){if(u===f)continue;return u}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var c=l(e,t,r);if("normal"===c.type){if(n=r.done?"completed":"suspendedYield",c.arg===f)continue;return{value:c.arg,done:r.done}}"throw"===c.type&&(n="completed",r.method="throw",r.arg=c.arg)}}}function j(e,t){var r=t.method,n=e.iterator[r];if(void 0===n)return t.delegate=null,"throw"===r&&e.iterator.return&&(t.method="return",t.arg=void 0,j(e,t),"throw"===t.method)||"return"!==r&&(t.method="throw",t.arg=new TypeError("The iterator does not provide a '"+r+"' method")),f;var o=l(n,e.iterator,t.arg);if("throw"===o.type)return t.method="throw",t.arg=o.arg,t.delegate=null,f;var a=o.arg;return a?a.done?(t[e.resultName]=a.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,f):a:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,f)}function k(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function E(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function O(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(k,this),this.reset(!0)}function L(e){if(e){var t=e[a];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,o=function t(){for(;++n<e.length;)if(r.call(e,n))return t.value=e[n],t.done=!1,t;return t.value=void 0,t.done=!0,t};return o.next=o}}return{next:S}}function S(){return{value:void 0,done:!0}}return h.prototype=d,n(b,"constructor",{value:d,configurable:!0}),n(d,"constructor",{value:h,configurable:!0}),h.displayName=c(d,u,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===h||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,d):(e.__proto__=d,c(e,u,"GeneratorFunction")),e.prototype=Object.create(b),e},e.awrap=function(e){return{__await:e}},g(x.prototype),c(x.prototype,i,(function(){return this})),e.AsyncIterator=x,e.async=function(t,r,n,o,a){void 0===a&&(a=Promise);var i=new x(s(t,r,n,o),a);return e.isGeneratorFunction(r)?i:i.next().then((function(e){return e.done?e.value:i.next()}))},g(b),c(b,u,"Generator"),c(b,a,(function(){return this})),c(b,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var t=Object(e),r=[];for(var n in t)r.push(n);return r.reverse(),function e(){for(;r.length;){var n=r.pop();if(n in t)return e.value=n,e.done=!1,e}return e.done=!0,e}},e.values=L,O.prototype={constructor:O,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(E),!e)for(var t in this)"t"===t.charAt(0)&&r.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function n(r,n){return i.type="throw",i.arg=e,t.next=r,n&&(t.method="next",t.arg=void 0),!!n}for(var o=this.tryEntries.length-1;o>=0;--o){var a=this.tryEntries[o],i=a.completion;if("root"===a.tryLoc)return n("end");if(a.tryLoc<=this.prev){var u=r.call(a,"catchLoc"),c=r.call(a,"finallyLoc");if(u&&c){if(this.prev<a.catchLoc)return n(a.catchLoc,!0);if(this.prev<a.finallyLoc)return n(a.finallyLoc)}else if(u){if(this.prev<a.catchLoc)return n(a.catchLoc,!0)}else{if(!c)throw new Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return n(a.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var a=o;break}}a&&("break"===e||"continue"===e)&&a.tryLoc<=t&&t<=a.finallyLoc&&(a=null);var i=a?a.completion:{};return i.type=e,i.arg=t,a?(this.method="next",this.next=a.finallyLoc,f):this.complete(i)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),f},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),E(r),f}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var o=n.arg;E(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:L(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),f}},e}function kt(e,t,r,n,o,a,i){try{var u=e[a](i),c=u.value}catch(e){return void r(e)}u.done?t(c):Promise.resolve(c).then(n,o)}var Et=null,Ot=null,Lt=function(){throw new K("GitHub SDK is possibly uninitialized!",{name:"GitHubError"})},St=function(e,t){e&&t?(Et=new xt.Octokit({auth:e}),Ot=t):E("GitHub initialization error! authToken: ".concat(!!e,", account: ").concat(!!t))},Pt=function(){var e,t=(e=jt().mark((function e(t,r){var n,o,a;return jt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(Et&&Ot){e.next=2;break}return e.abrupt("return",Lt());case 2:return e.prev=2,e.next=5,Et.request("GET /repos/{owner}/{repo}/contents/{path}",{owner:Ot,repo:t,path:r});case 5:return n=e.sent,o=n.data,a=n.headers,e.abrupt("return",{response:o,headers:a});case 11:e.prev=11,e.t0=e.catch(2),E("[ERROR:gh.getContent]",e.t0);case 14:return e.abrupt("return",null);case 15:case"end":return e.stop()}}),e,null,[[2,11]])})),function(){var t=this,r=arguments;return new Promise((function(n,o){var a=e.apply(t,r);function i(e){kt(a,n,o,i,u,"next",e)}function u(e){kt(a,n,o,i,u,"throw",e)}i(void 0)}))});return function(e,r){return t.apply(this,arguments)}}();const _t={fs:t,aws:i,gh:u,utils:e}})(),module.exports=n})();
3
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */