@truto/truto-jsonata 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.
@@ -0,0 +1 @@
1
+ {"mappings":"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","sources":["src/index.ts","src/registerJsonataExtensions.ts","src/functions/convertQueryToSql.ts","src/functions/mapValues.ts","src/functions/convertMarkdownToGoogleDocs.ts","src/functions/insertBetween.ts","src/functions/decodeHtmlEntities.ts","src/functions/convertMarkdownToNotion.ts","src/functions/convertMarkdownToSlack.ts","src/functions/mostSimilar.ts","src/functions/sortNodes.ts","src/functions/convertHtmlToMarkdown.ts","src/functions/digest.ts","src/functions/arrayBufferToBase64.ts","src/functions/convertNotionToMarkdown.ts","src/functions/sign.ts","src/functions/xmlToJs.ts","src/functions/jsToXml.ts","src/functions/dtFromIso.ts","src/functions/dtFromFormat.ts","src/functions/removeEmpty.ts","src/functions/removeEmptyItems.ts","src/functions/convertNotionToMd.ts","src/functions/parseUrl.ts","src/functions/jsonParse.ts","src/functions/getMimeType.ts","src/functions/uuid.ts","src/functions/base64encode.ts","src/functions/convertCurrencyToSubunit.ts","src/functions/currency.json","src/functions/convertCurrencyFromSubunit.ts","src/functions/firstNonEmpty.ts","src/functions/getArrayBuffer.ts","src/functions/blob.ts","src/functions/zipSqlResponse.ts","src/functions/base64decode.ts"],"sourcesContent":["import jsonata, { Expression } from 'jsonata'\nimport registerJsonataExtensions from './registerJsonataExtensions'\n\nexport default function trutoJsonata(expression: string): Expression {\n return registerJsonataExtensions(jsonata(expression))\n}\n","import { Expression } from 'jsonata'\nimport convertQueryToSql from './functions/convertQueryToSql'\nimport mapValues from './functions/mapValues'\nimport convertMarkdownToGoogleDocs from './functions/convertMarkdownToGoogleDocs'\nimport convertMarkdownToNotion from './functions/convertMarkdownToNotion'\nimport convertMarkdownToSlack from './functions/convertMarkdownToSlack'\nimport mostSimilar from './functions/mostSimilar'\nimport sortNodes from './functions/sortNodes'\nimport convertHtmlToMarkdown from './functions/convertHtmlToMarkdown'\nimport digest from './functions/digest'\nimport convertNotionToMarkdown from './functions/convertNotionToMarkdown'\nimport sign from './functions/sign'\nimport xmlToJs from './functions/xmlToJs'\nimport jsToXml from './functions/jsToXml'\nimport dtFromIso from './functions/dtFromIso'\nimport dtFromFormat from './functions/dtFromFormat'\nimport removeEmpty from './functions/removeEmpty'\nimport removeEmptyItems from './functions/removeEmptyItems'\nimport convertNotionToMd from './functions/convertNotionToMd'\nimport parseUrl from './functions/parseUrl'\nimport jsonParse from './functions/jsonParse'\nimport getMimeType from './functions/getMimeType'\nimport uuid from './functions/uuid'\nimport base64encode from './functions/base64encode'\nimport convertCurrencyToSubunit from './functions/convertCurrencyToSubunit'\nimport convertCurrencyFromSubunit from './functions/convertCurrencyFromSubunit'\nimport firstNonEmpty from './functions/firstNonEmpty'\nimport getArrayBuffer from './functions/getArrayBuffer'\nimport blob from './functions/blob'\nimport zipSqlResponse from './functions/zipSqlResponse'\nimport base64decode from './functions/base64decode'\nimport {\n castArray,\n compact,\n difference,\n filter,\n find,\n groupBy,\n join,\n keyBy,\n omit,\n orderBy,\n pick,\n values,\n} from 'lodash-es'\n\nexport default function registerJsonataExtensions(expression: Expression) {\n expression.registerFunction('dtFromIso', dtFromIso)\n expression.registerFunction('base64decode', base64decode)\n expression.registerFunction('base64encode', base64encode)\n expression.registerFunction('dtFromFormat', dtFromFormat)\n expression.registerFunction('removeEmpty', removeEmpty)\n expression.registerFunction('removeEmptyItems', removeEmptyItems)\n expression.registerFunction(\n 'convertCurrencyToSubunit',\n convertCurrencyToSubunit\n )\n expression.registerFunction(\n 'convertCurrencyFromSubunit',\n convertCurrencyFromSubunit\n )\n expression.registerFunction('convertQueryToSql', convertQueryToSql)\n expression.registerFunction('mapValues', mapValues)\n expression.registerFunction('zipSqlResponse', zipSqlResponse)\n expression.registerFunction('firstNonEmpty', firstNonEmpty)\n expression.registerFunction('convertNotionToMd', convertNotionToMd)\n expression.registerFunction(\n 'convertNotionToMarkdown',\n convertNotionToMarkdown\n )\n expression.registerFunction(\n 'convertMarkdownToGoogleDocs',\n convertMarkdownToGoogleDocs\n )\n expression.registerFunction(\n 'convertMarkdownToNotion',\n convertMarkdownToNotion\n )\n expression.registerFunction('convertMarkdownToSlack', convertMarkdownToSlack)\n expression.registerFunction('parseUrl', parseUrl)\n expression.registerFunction(\n 'difference',\n function (arr1: any[], arr2: any[]) {\n return difference(arr1, arr2)\n }\n )\n expression.registerFunction('jsonParse', jsonParse)\n expression.registerFunction('getMimeType', getMimeType)\n expression.registerFunction('uuid', uuid)\n expression.registerFunction('getArrayBuffer', getArrayBuffer)\n expression.registerFunction('mostSimilar', mostSimilar)\n expression.registerFunction('sortNodes', sortNodes)\n expression.registerFunction('blob', blob)\n expression.registerFunction('convertHtmlToMarkdown', convertHtmlToMarkdown)\n expression.registerFunction('digest', digest)\n expression.registerFunction('sign', sign)\n expression.registerFunction('xmlToJs', xmlToJs)\n expression.registerFunction('jsToXml', jsToXml)\n expression.registerFunction('groupBy', function (array, key) {\n return groupBy(castArray(array), key)\n })\n expression.registerFunction('keyBy', function (array, key) {\n return keyBy(castArray(array), key)\n })\n expression.registerFunction('pick', function (obj, keys) {\n return pick(obj, keys)\n })\n expression.registerFunction('omit', function (obj, keys) {\n return omit(obj, keys)\n })\n expression.registerFunction('compact', function (arr) {\n return compact(castArray(arr))\n })\n expression.registerFunction('join', function (arr, separator) {\n return join(castArray(arr), separator)\n })\n expression.registerFunction('orderBy', function (arr, attr, order) {\n return orderBy(castArray(arr), attr, order)\n })\n expression.registerFunction('find', function (arr, attr) {\n return find(castArray(arr), attr)\n })\n expression.registerFunction('lofilter', function (arr, attr) {\n return filter(castArray(arr), attr)\n })\n expression.registerFunction('values', function (obj) {\n return values(obj)\n })\n expression.registerFunction('wrap', function (value, wrapper, endWrapper) {\n return join([wrapper, value, endWrapper || wrapper], '')\n })\n\n return expression\n}\n","import { DateTime } from 'luxon'\nimport mapValues from './mapValues'\n\ntype Operators =\n | 'eq'\n | 'ne'\n | 'gt'\n | 'gte'\n | 'lt'\n | 'lte'\n | 'in'\n | 'nin'\n | 'like'\n\nconst operatorMapping: Record<Operators, string> = {\n eq: '=',\n ne: '<>',\n gt: '>',\n gte: '>=',\n lt: '<',\n lte: '<=',\n in: 'in',\n nin: 'not in',\n like: 'like',\n}\n\nexport type QueryOperators = {\n eq?: string\n ne?: string\n gt?: string\n gte?: string\n lt?: string\n lte?: string\n in?: string[]\n nin?: string[]\n like?: string\n}\n\nexport type RequestQuery = Record<\n string,\n string | string[] | QueryOperators | { or: RequestQuery[] }\n>\n\nexport type RequestDataTypes =\n | 'string'\n | 'double_quote_string'\n | 'number'\n | 'boolean'\n | 'dotnetdate'\n | string\n | Record<string, string | boolean>\n\ntype ConvertQueryToSqlOptions = {\n useOrForIn?: boolean\n conjunction?: string\n useDoubleQuotes?: boolean\n noSpaceBetweenOperator?: boolean\n noQuotes?: boolean\n noQuotesForDate?: boolean\n groupComparisonInBrackets?: boolean\n escapeSingleQuotes?: boolean\n}\n\nconst convertToDataType = (\n value: string | undefined | null,\n key: string,\n dataType: Record<string, RequestDataTypes>,\n useDoubleQuotes = false,\n noQuotes = false,\n noQuotesForDate = false,\n escapeSingleQuotes = false\n) => {\n const dataTypeKey = dataType[key]\n if (value === undefined || value === null) {\n return value\n }\n if (dataTypeKey === 'string') {\n if (noQuotes) {\n return value\n } else if (useDoubleQuotes) {\n return `\"${value}\"`\n } else if (escapeSingleQuotes) {\n return `'${value.replace(/'/g, \"\\\\'\")}'`\n } else {\n return `'${value}'`\n }\n }\n if (dataTypeKey === 'dotnetdate') {\n return `DateTime(${DateTime.fromISO(value).toFormat('yyyy,MM,dd')})`\n }\n if (typeof dataTypeKey === 'object') {\n const val = mapValues(value, dataType[key] as Record<string, string>)\n if (typeof val === 'string' || val instanceof String) {\n return noQuotes ? val : useDoubleQuotes ? `\"${val}\"` : `'${val}'`\n }\n return val\n }\n if (dataTypeKey && dataTypeKey.startsWith('date')) {\n const format = dataTypeKey.split('|')[1]\n const date = format\n ? DateTime.fromISO(value).toFormat(format)\n : DateTime.fromISO(value).toISO()\n return noQuotes || noQuotesForDate\n ? date\n : useDoubleQuotes\n ? `\"${date}\"`\n : `'${date}'`\n }\n return value\n}\n\nfunction getSqlString({\n key,\n operator,\n value,\n useSpace = false,\n}: {\n key: string\n operator: string\n value: unknown\n useSpace: boolean\n}) {\n const space = useSpace ? ' ' : ''\n return `${key}${space}${operator}${space}${value}`\n}\n\nfunction convertQueryToSql(\n query: RequestQuery,\n keysToMap: string[] = [],\n mapping: Record<string, string> = {},\n dataTypes: Record<string, RequestDataTypes> = {},\n customOperatorMapping: Record<string, string> = {},\n options: ConvertQueryToSqlOptions = {}\n) {\n const conjunction = options.conjunction || 'AND'\n const statement: string[] = []\n\n const keys = !keysToMap.length ? Object.keys(query) : keysToMap\n\n for (const key of keys) {\n if (key === 'or') {\n const orPart = convertQueryToSql(\n query[key] as RequestQuery,\n keys,\n mapping,\n dataTypes,\n customOperatorMapping,\n options\n )\n statement.push('(' + orPart + ')')\n continue\n }\n\n const comparison = query[key]\n\n let operators: Operators[] = ['eq']\n\n if (Array.isArray(comparison)) {\n operators = ['in']\n } else if (typeof comparison === 'object') {\n operators = Object.keys(comparison) as Operators[]\n }\n\n const sqlKey = mapping[key] || key\n\n for (const operator of operators) {\n const comparator =\n customOperatorMapping[operator] || operatorMapping[operator]\n if (operator !== 'in' && operator !== 'nin' && comparator) {\n const value =\n typeof comparison === 'object'\n ? (comparison as QueryOperators)[operator]\n : comparison\n const valueToInsert = convertToDataType(\n value,\n key,\n dataTypes,\n options.useDoubleQuotes,\n options.noQuotes,\n options.noQuotesForDate,\n options.escapeSingleQuotes\n )\n if (valueToInsert !== undefined && valueToInsert !== null) {\n statement.push(\n getSqlString({\n key: sqlKey,\n operator: comparator,\n value: valueToInsert,\n useSpace: !options.noSpaceBetweenOperator,\n })\n )\n }\n continue\n }\n if (operator === 'in' || operator === 'nin') {\n const value = Array.isArray(comparison)\n ? comparison\n : ((comparison as QueryOperators)[operator] as string[])\n if (options.useOrForIn) {\n const orStatement: string[] = []\n const eqOperator =\n customOperatorMapping['eq'] || operatorMapping['eq']\n for (const v of value) {\n const valueToInsert = convertToDataType(\n v,\n key,\n dataTypes,\n options.useDoubleQuotes,\n options.noQuotes,\n options.noQuotesForDate,\n options.escapeSingleQuotes\n )\n if (valueToInsert !== undefined && valueToInsert !== null) {\n orStatement.push(\n getSqlString({\n key: sqlKey,\n operator: eqOperator,\n value: valueToInsert,\n useSpace: !options.noSpaceBetweenOperator,\n })\n )\n }\n }\n statement.push('(' + orStatement.join(' OR ') + ')')\n continue\n }\n statement.push(\n getSqlString({\n key: sqlKey,\n operator: comparator,\n value: `(${value\n .map(v => {\n return convertToDataType(\n v,\n key,\n dataTypes,\n options.useDoubleQuotes,\n options.noQuotes,\n options.noQuotesForDate,\n options.escapeSingleQuotes\n )\n })\n .join(',')})`,\n useSpace: !options.noSpaceBetweenOperator,\n })\n )\n continue\n }\n throw new Error(`Unknown operator: ${operator}`)\n }\n }\n if (options.groupComparisonInBrackets && statement.length) {\n return statement.reduce(\n (acc, condition) => `(${acc} ${conjunction} ${condition})`\n )\n }\n return statement.join(` ${conjunction} `)\n}\n\nexport default convertQueryToSql\n","const isString = (value: unknown): value is string =>\n typeof value === 'string' || value instanceof String\n\nconst isNumber = (value: unknown): value is number => typeof value === 'number'\nconst isArray = (value: unknown): value is unknown[] => Array.isArray(value)\nconst isPlainObject = (value: unknown): value is Record<string, unknown> => {\n return value !== null && typeof value === 'object' && !Array.isArray(value)\n}\nfunction mapValues(\n originalValue:\n | string\n | string[]\n | Record<string, unknown>\n | Record<string, unknown>[]\n | unknown\n | undefined,\n mapping: Record<string, unknown> | null | undefined,\n lowerCase = false,\n defaultValue = null\n):\n | string\n | string[]\n | Record<string, unknown>\n | Record<string, unknown>[]\n | unknown\n | undefined {\n if (\n (originalValue === null || originalValue === undefined) &&\n defaultValue !== null\n ) {\n return defaultValue\n }\n if (mapping === null || mapping === undefined) {\n return originalValue\n }\n let newMapping: Record<string, unknown> = {}\n if (!lowerCase) {\n Object.entries(mapping).forEach(([key, value]) => {\n newMapping[key.toLowerCase()] = value\n })\n } else {\n newMapping = {\n ...mapping,\n }\n }\n if (isString(originalValue) || isNumber(originalValue)) {\n const val = newMapping[originalValue.toString().toLowerCase()]\n if (val === null || val === undefined) {\n return originalValue\n }\n if (val === false) {\n return val\n }\n return val\n }\n if (isArray(originalValue)) {\n return originalValue.map(value => mapValues(value, newMapping, true))\n }\n if (isPlainObject(originalValue)) {\n const result: Record<string, unknown> = {}\n Object.entries(originalValue).forEach(([key, value]) => {\n result[key] = mapValues(value, newMapping, true)\n })\n return result\n }\n return originalValue\n}\n\nexport default mapValues\n","import { Lexer, Token } from 'marked'\nimport { concat, each, find, get, isEmpty, isEqual, reduce } from 'lodash-es'\nimport insertBetween from './insertBetween'\nimport decodeHtmlEntities from './decodeHtmlEntities'\n\nconst parseMarkedTokenToGoogleDocsRequest = (\n tokens: Token[],\n acc = {\n counter: 1,\n offset: 0,\n inserts: [] as Record<string, any>[],\n formats: [] as Record<string, any>[],\n },\n context = {\n level: 0,\n }\n): {\n counter: number\n inserts: Record<string, any>[]\n formats: Record<string, any>[]\n} => {\n return reduce(\n tokens,\n (acc, token) => {\n if (token.type === 'hr') {\n acc.inserts.push({\n insertText: {\n text: '\\n\\n',\n location: {\n index: acc.counter,\n },\n },\n })\n acc.counter += 2\n return acc\n }\n if (token.type === 'space') {\n const textToAdd = token.raw || '\\n'\n acc.inserts.push({\n insertText: {\n text: textToAdd,\n location: {\n index: acc.counter,\n },\n },\n })\n acc.counter += textToAdd.length\n return acc\n }\n if (token.type === 'image') {\n acc.inserts.push({\n insertInlineImage: {\n uri: token.href,\n location: {\n index: acc.counter,\n },\n },\n })\n acc.counter += 1\n return acc\n }\n if (token.type === 'table') {\n acc.inserts.push({\n insertTable: {\n columns: token.header.length,\n rows: token.rows.length + 1,\n location: {\n index: acc.counter,\n },\n },\n })\n acc.counter += 4\n each([token.header, ...token.rows], (rowItems, index, arr) => {\n each(rowItems, item => {\n parseMarkedTokenToGoogleDocsRequest([item], acc, context)\n acc.counter += 2\n })\n if (index === arr.length - 1) {\n return\n }\n acc.counter += 1\n })\n acc.inserts.push({\n insertText: {\n text: '\\n',\n location: {\n index: acc.counter,\n },\n },\n })\n acc.counter += 1\n return acc\n }\n const childTokens: undefined | Token[] = get(token, 'tokens')\n if (!isEmpty<Token[]>(childTokens)) {\n const start = acc.counter\n if (token.type === 'list_item') {\n if (context.level > 1) {\n acc.inserts.push({\n insertText: {\n text: '\\t'.repeat(context.level - 1),\n location: {\n index: acc.counter,\n },\n },\n })\n acc.offset += context.level - 1\n acc.counter += context.level - 1\n }\n parseMarkedTokenToGoogleDocsRequest(\n insertBetween(childTokens, [\n {\n type: 'space',\n raw: '\\n',\n },\n ]),\n acc,\n context\n )\n } else {\n parseMarkedTokenToGoogleDocsRequest(childTokens, acc, context)\n }\n const end = acc.counter\n if (token.type === 'heading') {\n acc.formats.push({\n updateParagraphStyle: {\n paragraphStyle: {\n namedStyleType: `HEADING_${token.depth}`,\n },\n fields: '*',\n range: {\n startIndex: start - acc.offset,\n endIndex: end - acc.offset,\n },\n },\n })\n acc.inserts.push({\n insertText: {\n text: '\\n',\n location: {\n index: acc.counter,\n },\n },\n })\n acc.counter += 1\n }\n if (token.type === 'em') {\n acc.formats.push({\n updateTextStyle: {\n textStyle: {\n italic: true,\n },\n fields: '*',\n range: {\n startIndex: start - acc.offset,\n endIndex: end - acc.offset,\n },\n },\n })\n }\n if (token.type === 'strong') {\n acc.formats.push({\n updateTextStyle: {\n textStyle: {\n bold: true,\n },\n fields: '*',\n range: {\n startIndex: start - acc.offset,\n endIndex: end - acc.offset,\n },\n },\n })\n }\n if (token.type === 'link') {\n acc.formats.push({\n updateTextStyle: {\n textStyle: {\n link: {\n url: token.href,\n },\n underline: true,\n foregroundColor: {\n color: {\n rgbColor: {\n red: 0.1,\n green: 0.33,\n blue: 0.8,\n },\n },\n },\n },\n fields: '*',\n range: {\n startIndex: start - acc.offset,\n endIndex: end - acc.offset,\n },\n },\n })\n }\n return acc\n }\n\n const childItems: undefined | Token[] = get(token, 'items')\n\n if (!isEmpty<Token[]>(childItems)) {\n const start = acc.counter\n parseMarkedTokenToGoogleDocsRequest(\n insertBetween(childItems, [\n {\n type: 'space',\n raw: '\\n',\n },\n ]),\n acc,\n {\n level: context.level + 1,\n }\n )\n const end = acc.counter\n if (!context.level && token.type === 'list') {\n acc.formats = concat(\n {\n createParagraphBullets: {\n range: {\n startIndex: start,\n endIndex: end,\n },\n bulletPreset: token.ordered\n ? 'NUMBERED_DECIMAL_ALPHA_ROMAN'\n : 'BULLET_DISC_CIRCLE_SQUARE',\n },\n },\n acc.formats\n )\n }\n return acc\n }\n const text: undefined | string = get(token, 'text')\n if (!text) {\n return acc\n }\n const textToInsert = decodeHtmlEntities(text)\n acc.inserts.push({\n insertText: {\n text: textToInsert,\n location: {\n index: acc.counter,\n },\n },\n })\n acc.counter += textToInsert.length\n return acc\n },\n acc\n )\n}\n\nconst convertMarkdownToGoogleDocs = (text: string, currentCounter = 1) => {\n const tokens = Lexer.lex(text)\n const parsedTokens = parseMarkedTokenToGoogleDocsRequest(tokens, {\n counter: currentCounter,\n formats: [],\n inserts: [],\n offset: 0,\n })\n const formats = parsedTokens.formats\n const mergedFormats = reduce(\n formats,\n (acc, format) => {\n const range = get(format, 'updateTextStyle.range')\n if (!range) {\n acc.push(format)\n } else {\n const existingFormat = find(acc, f => {\n const r = get(f, 'updateTextStyle.range')\n return isEqual(r, range)\n })\n if (existingFormat) {\n existingFormat.updateTextStyle.textStyle = {\n ...existingFormat.updateTextStyle.textStyle,\n ...format.updateTextStyle.textStyle,\n }\n } else {\n acc.push(format)\n }\n }\n return acc\n },\n [] as Record<string, any>[]\n )\n return {\n requests: [...parsedTokens.inserts, ...mergedFormats],\n }\n}\n\nexport default convertMarkdownToGoogleDocs\n","import { castArray, flatMap } from 'lodash-es'\n\nconst insertBetween = (arr: any[], value: any) => {\n return flatMap(arr, (item, index) => {\n return index === arr.length - 1 ? [item] : [item, ...castArray(value)]\n })\n}\n\nexport default insertBetween\n","function decodeHtmlEntities(encodedString: string) {\n const htmlEntities: Record<string, string> = {\n '&amp;': '&',\n '&lt;': '<',\n '&gt;': '>',\n '&quot;': '\"',\n '&#39;': \"'\",\n '&#x2F;': '/',\n '&#x5C;': '\\\\',\n '&#x60;': '`',\n '&#x3D;': '=',\n }\n\n return encodedString.replace(\n /&amp;|&lt;|&gt;|&quot;|&#39;|&#x2F;|&#x5C;|&#x60;|&#x3D;/g,\n match => htmlEntities[match]\n )\n}\n\nexport default decodeHtmlEntities\n","import { Lexer, Token } from 'marked'\nimport {\n concat,\n each,\n get,\n groupBy,\n isEmpty,\n map,\n reduce,\n set,\n} from 'lodash-es'\nimport decodeHtmlEntities from './decodeHtmlEntities'\n\nconst parseMarkedTokenToNotionRequest = (\n tokens: Token[],\n acc: any[] = []\n): any[] => {\n return reduce(\n tokens,\n (acc, token) => {\n const childTokens: undefined | Token[] =\n token.type === 'blockquote'\n ? get(token, 'tokens[0].tokens')\n : get(token, 'tokens')\n let childData = []\n if (childTokens) {\n childData = parseMarkedTokenToNotionRequest(childTokens)\n }\n if (token.type === 'hr') {\n acc.push({\n type: 'divider',\n divider: {},\n })\n return acc\n }\n if (token.type === 'space') {\n acc.push({\n type: 'paragraph',\n paragraph: {\n rich_text: [\n {\n type: 'text',\n text: {\n content: '\\n',\n },\n },\n ],\n },\n })\n return acc\n }\n if (token.type === 'image') {\n acc.push({\n type: 'image',\n image: {\n type: 'external',\n external: {\n url: token.href,\n },\n },\n })\n return acc\n }\n if (token.type === 'paragraph') {\n const groupedChildData = groupBy(childData, x =>\n x.type === 'image' ? 'image' : 'other'\n )\n if (!isEmpty(groupedChildData.other)) {\n acc.push({\n type: 'paragraph',\n paragraph: {\n rich_text: groupedChildData.other,\n },\n })\n }\n if (!isEmpty(groupedChildData.image)) {\n acc = concat(acc, groupedChildData.image)\n }\n return acc\n }\n if (token.type === 'heading') {\n acc.push({\n type: `heading_${token.depth}`,\n [`heading_${token.depth}`]: {\n rich_text: childData,\n },\n })\n return acc\n }\n if (token.type === 'code') {\n acc.push({\n type: 'code',\n code: {\n rich_text: [\n {\n type: 'text',\n text: {\n content: token.text,\n },\n },\n ],\n language: token.lang || 'plain text',\n },\n })\n return acc\n }\n if (token.type === 'table') {\n const table = {\n type: 'table',\n table: {\n table_width: token.header.length,\n has_column_header: true,\n has_row_header: false,\n children: [] as any[],\n },\n }\n const headerChildren = parseMarkedTokenToNotionRequest(token.header)\n table.table.children.push({\n type: 'table_row',\n table_row: {\n cells: headerChildren.map(x => [x]),\n },\n })\n each(token.rows, row => {\n const rowChildren = map(row, rowCell =>\n parseMarkedTokenToNotionRequest([rowCell])\n )\n table.table.children.push({\n type: 'table_row',\n table_row: {\n cells: rowChildren.map(x => x),\n },\n })\n })\n acc.push(table)\n return acc\n }\n if (token.type === 'list') {\n const listType = token.items[0].task\n ? 'to_do'\n : token.ordered\n ? 'numbered_list_item'\n : 'bulleted_list_item'\n each(token.items, item => {\n const itemChildren = parseMarkedTokenToNotionRequest(item.tokens)\n const groupedItemChildren = groupBy(itemChildren, x =>\n x.type === 'text' ? 'other' : 'list'\n )\n acc.push({\n type: listType,\n [listType]: {\n rich_text: groupedItemChildren.other,\n children: groupedItemChildren.list,\n ...(listType === 'to_do'\n ? {\n checked: item.checked,\n }\n : {}),\n },\n })\n })\n }\n if (token.type === 'em') {\n each(childData, child => {\n set(child, ['annotations', 'italic'], true)\n })\n acc = concat(acc, childData)\n return acc\n }\n if (token.type === 'strong') {\n each(childData, child => {\n set(child, ['annotations', 'bold'], true)\n })\n acc = concat(acc, childData)\n return acc\n }\n if (token.type === 'link') {\n each(childData, child => {\n if (child.text) {\n set(child, ['text', 'link', 'url'], token.href)\n }\n })\n acc = concat(acc, childData)\n return acc\n }\n if (token.type === 'blockquote') {\n acc.push({\n type: 'callout',\n callout: {\n rich_text: childData,\n },\n })\n return acc\n }\n if (!isEmpty(childData)) {\n acc = concat(acc, childData)\n return acc\n }\n const text: undefined | string = get(token, 'text')\n if (!text) {\n return acc\n }\n const textToInsert = decodeHtmlEntities(text)\n acc.push({\n type: 'text',\n text: {\n content: textToInsert,\n },\n ...(token.type === 'codespan'\n ? {\n annotations: {\n code: true,\n },\n }\n : {}),\n })\n return acc\n },\n acc\n )\n}\n\nconst convertMarkdownToNotion = (text: string) => {\n const tokens = Lexer.lex(text)\n const parsedTokens = parseMarkedTokenToNotionRequest(tokens)\n return {\n children: parsedTokens,\n }\n}\n\nexport default convertMarkdownToNotion\n","import { Lexer, Token } from 'marked'\nimport {\n concat,\n filter,\n flattenDeep,\n get,\n groupBy,\n isEmpty,\n isString,\n join,\n map,\n reduce,\n} from 'lodash-es'\n\nconst parseMarkedTokenToSlackRequest = (\n tokens: Token[],\n acc: any[] = []\n): any[] => {\n return reduce(\n tokens,\n (acc, token) => {\n if (token.type === 'hr') {\n acc.push({\n type: 'divider',\n })\n return acc\n }\n if (token.type === 'space') {\n acc.push({\n type: 'section',\n text: {\n type: 'mrkdwn',\n text: '\\n',\n },\n })\n return acc\n }\n if (token.type === 'image') {\n acc.push({\n type: 'image',\n image_url: token.href,\n alt_text: token.text,\n })\n return acc\n }\n if (token.type === 'paragraph' || token.type === 'text') {\n const childTokens: undefined | Token[] = get(token, 'tokens')\n let childData = []\n if (childTokens) {\n childData = parseMarkedTokenToSlackRequest(childTokens)\n } else {\n acc.push(token.raw)\n return acc\n }\n const childDataGroupedByType = groupBy(childData, x =>\n isString(x) ? 'text' : 'block'\n )\n if (!isEmpty(childDataGroupedByType.text)) {\n acc.push({\n type: 'section',\n text: {\n type: 'mrkdwn',\n text: join(childDataGroupedByType.text, ''),\n },\n })\n }\n if (!isEmpty(childDataGroupedByType.block)) {\n acc = concat(acc, childDataGroupedByType.block)\n }\n return acc\n }\n if (token.type === 'heading') {\n acc.push({\n type: 'header',\n text: {\n type: 'plain_text',\n text: token.text,\n emoji: true,\n },\n })\n return acc\n }\n if (token.type === 'list') {\n const items = map(token.items, item => {\n const childTokens: undefined | Token[] = get(item, 'tokens')\n let childData = []\n if (childTokens) {\n childData = parseMarkedTokenToSlackRequest(childTokens)\n }\n return childData\n })\n\n const listString = join(\n filter(flattenDeep(items), x => !!get(x, 'text.text')).map(\n (x, index) =>\n `${token.ordered ? `${index + 1}.` : '•'} ${get(x, 'text.text')}`\n ),\n '\\n'\n )\n\n acc.push({\n type: 'section',\n text: {\n type: 'mrkdwn',\n text: listString,\n },\n })\n return acc\n }\n if (token.type === 'strong') {\n acc.push(`*${token.text}*`)\n return acc\n }\n if (token.type === 'link') {\n acc.push(`<${token.href}|${token.text}>`)\n return acc\n }\n if (token.type === 'blockquote') {\n acc.push({\n type: 'section',\n text: {\n type: 'mrkdwn',\n text: token.raw,\n },\n })\n return acc\n }\n if (token.type === 'code') {\n acc.push({\n type: 'section',\n text: {\n type: 'mrkdwn',\n text: token.raw,\n },\n })\n return acc\n }\n acc.push(token.raw)\n return acc\n },\n acc\n )\n}\n\nconst convertMarkdownToSlack = (text: string) => {\n const tokens = Lexer.lex(text)\n const parsedTokens = parseMarkedTokenToSlackRequest(tokens)\n return filter(parsedTokens, x => !isString(x))\n}\n\nexport default convertMarkdownToSlack\n","import { diceCoefficient } from 'dice-coefficient'\nimport { reduce } from 'lodash-es'\n\nfunction getNormalizedString(value: string) {\n return value.toLowerCase().replace(/[^a-z0-9]/g, '')\n}\n\nfunction mostSimilar(value: string, possibleValues: string[], threshold = 0.8) {\n const normalizedValue = getNormalizedString(value)\n const result = reduce(\n possibleValues,\n (acc, possibleValue) => {\n const normalizedPossibleValue = getNormalizedString(possibleValue)\n const similarity = diceCoefficient(\n normalizedValue,\n normalizedPossibleValue\n )\n if (similarity > acc.similarity) {\n return { similarity, value: possibleValue }\n }\n return acc\n },\n { similarity: 0, value: '' }\n )\n return result.similarity >= threshold ? result.value : value\n}\n\nexport default mostSimilar\n","import { omit, sortBy, get } from 'lodash-es'\n\n// Define a type for the nodes to make it more explicit\nexport type Node = {\n [key: string]: any // Allow additional attributes\n id: string | number\n parent_id?: string | number | null\n sequence: number\n children?: Node[]\n}\n\nexport function sortNodes(\n array: Node[],\n idKey = 'id',\n parentIdKey = 'parent_id',\n sequenceKey = 'sequence'\n): Node[] {\n // Step 1: Create a Map for quick lookup of nodes by their id\n const nodeMap = new Map<string | number, Node>()\n\n // Populate the map\n array.forEach(node => {\n nodeMap.set(get(node, idKey), { ...node, children: [] })\n })\n\n // Step 2: Create an array to hold the root nodes\n const rootNodes: Node[] = []\n\n // Step 3: Organize the nodes into a tree structure\n array.forEach(node => {\n const parentId = get(node, parentIdKey)\n const nodeId = get(node, idKey)\n if (parentId && nodeMap.has(parentId)) {\n // If the parent exists, add the current node as a child\n nodeMap.get(parentId)?.children?.push(nodeMap.get(nodeId)!)\n } else {\n // Treat it as a root node if the parent doesn't exist or it's null\n rootNodes.push(nodeMap.get(nodeId)!)\n }\n })\n\n // Step 4: Recursive function to sort nodes and their children\n function sortTree(nodes: Node[]): Node[] {\n // Sort nodes using lodash by sequence\n const sortedNodes = sortBy(nodes, sequenceKey)\n sortedNodes.forEach(node => {\n if (node.children && node.children.length > 0) {\n node.children = sortTree(node.children)\n }\n })\n return sortedNodes\n }\n\n // Step 5: Sort the root nodes and recursively sort their children\n const sortedTree = sortTree(rootNodes)\n\n // Step 6: Flatten the sorted tree into an array (keeping the parent-child structure)\n function flattenTree(nodes: Node[]): Node[] {\n return nodes.reduce<Node[]>((acc, node) => {\n acc.push(omit(node, 'children') as Node) // Push the current node without 'children'\n if (node.children && node.children.length > 0) {\n acc.push(...flattenTree(node.children)) // Recursively flatten children\n }\n return acc\n }, [])\n }\n\n return flattenTree(sortedTree)\n}\n\nexport default sortNodes\n","// @ts-ignore\nimport { createDocument } from '@mixmark-io/domino'\nimport TurndownService from 'turndown'\n// @ts-ignore\nimport { gfm } from 'turndown-plugin-gfm'\n\nconst convertHtmlToMarkdown = (html: string) => {\n const htmlDoc = createDocument(html)\n const turndownService = new TurndownService()\n turndownService.use(gfm)\n return turndownService.turndown(htmlDoc)\n}\nexport default convertHtmlToMarkdown\n","import arrayBufferToBase64 from './arrayBufferToBase64'\nimport { webcrypto as crypto } from 'crypto'\n\nconst digest = async (\n text: string,\n algorithm = 'SHA-256',\n stringType = 'hex'\n) => {\n const encoder = new TextEncoder()\n const data = encoder.encode(text)\n const hashBuffer = await crypto.subtle.digest(algorithm, data)\n if (stringType === 'hex') {\n const hashArray = Array.from(new Uint8Array(hashBuffer))\n return hashArray.map(b => b.toString(16).padStart(2, '0')).join('')\n } else if (stringType === 'base64') {\n return arrayBufferToBase64(hashBuffer)\n } else if (stringType === 'base64-urlSafe') {\n return arrayBufferToBase64(hashBuffer, true)\n }\n}\n\nexport default digest\n","export default function arrayBufferToBase64(\n buffer: ArrayBuffer,\n urlSafe = false\n) {\n let binary = ''\n const bytes = new Uint8Array(buffer)\n const len = bytes.byteLength\n for (let i = 0; i < len; i++) {\n binary += String.fromCharCode(bytes[i])\n }\n if (urlSafe) {\n return btoa(binary)\n .replace(/=/g, '')\n .replace(/\\+/g, '-')\n .replace(/\\//g, '_')\n }\n return btoa(binary)\n}\n","import { castArray, flatten, map, reject, repeat } from 'lodash-es'\n\nconst formatPlainText = (x: any) => {\n if (x) {\n if (x.href) {\n return `[${x.plain_text}](${\n x.href.startsWith('/') ? `https://www.notion.so${x.href}` : x.href\n })`\n }\n const isBold = x.annotations?.bold\n const isItalic = x.annotations?.italic\n const isStrikethrough = x.annotations?.strikethrough\n const isUnderline = x.annotations?.underline\n const isCode = x.annotations?.code\n let textToReturn = x.plain_text\n if (isCode) {\n textToReturn = `\\`${textToReturn}\\``\n }\n if (isBold) {\n textToReturn = `**${textToReturn}**`\n }\n if (isItalic) {\n textToReturn = `_${textToReturn}_`\n }\n if (isUnderline) {\n textToReturn = `_${textToReturn}_`\n }\n if (isStrikethrough) {\n textToReturn = `~~${textToReturn}~~`\n }\n return textToReturn\n }\n}\n\nconst convertNotionToMd = function (block: any, level = 1) {\n const n = '\\n\\n'\n const data = block[block.type]\n const plainText = data.rich_text\n ? // @ts-ignore\n data.rich_text.map(formatPlainText)\n : []\n // @ts-ignore\n const caption = data.caption ? data.caption.map(x => x?.plain_text) : []\n let childData = ''\n switch (block.type) {\n case 'bookmark':\n return `[${data.url}](data.url)${n}`\n case 'bulleted_list_item':\n childData = map(block.children, child =>\n convertNotionToMd(child, level + 1)\n ).join(repeat('\\t', level))\n return (\n `- ${plainText.join('')}\\n` +\n (childData ? `${repeat('\\t', level)}${childData}` : '')\n )\n case 'numbered_list_item':\n childData = map(block.children, child =>\n convertNotionToMd(child, level + 1)\n ).join(repeat('\\t', level))\n return (\n `${block.number}. ${plainText.join('')}\\n` +\n (childData ? `${repeat('\\t', level)}${childData}` : '')\n )\n case 'quote':\n case 'callout':\n return `> ${plainText.join('')}${n}`\n case 'code':\n return `\\`\\`\\`${data.language}\\n${plainText}\\n\\`\\`\\`${n}`\n case 'divider':\n return `---${n}`\n case 'embed':\n return `[${caption.length ? caption : 'Embed'}](${data.url})${n}`\n case 'equation':\n return data.expression\n case 'paragraph':\n return plainText.join('') + n\n case 'video':\n case 'pdf':\n case 'file':\n return `[${caption.length ? caption : 'File'}](${\n data.file ? data.file.url : data.external ? data.external.url : ''\n })${n}`\n case 'heading_1':\n return `# ${plainText.join('')}${n}`\n case 'heading_2':\n return `## ${plainText.join('')}${n}`\n case 'heading_3':\n return `### ${plainText.join('')}${n}`\n case 'heading_4':\n return `#### ${plainText.join('')}${n}`\n case 'heading_5':\n return `##### ${plainText.join('')}${n}`\n case 'heading_6':\n return `###### ${plainText.join('')}${n}`\n case 'image':\n return `![${caption.length ? caption : 'Image'}](${\n data.file ? data.file.url : data.external ? data.external.url : ''\n })${n}`\n case 'table':\n if (block.children) {\n const firstChild = block.children[0]\n const remainingChildren = block.children.slice(1)\n const header = `| ${firstChild.table_row.cells\n .map((x: any) => x.map((y: any) => formatPlainText(y)).join(''))\n .join(' | ')} |\\n`\n const divider = `|${repeat('---|', data.table_width)}\\n`\n const rows = remainingChildren\n .map((row: any) => {\n return `| ${row.table_row.cells\n .map((x: any) => x.map((y: any) => formatPlainText(y)).join(''))\n .join(' | ')} |`\n })\n .join('\\n')\n return `${header}${divider}${rows}${n}`\n }\n return `Table as CSV\\n`\n case 'table_row':\n return `| ${data.cells\n .map((x: any) => x.map((y: any) => formatPlainText(y)).join(''))\n .join(' | ')} |\\n`\n case 'to_do':\n childData = map(block.children, child =>\n convertNotionToMd(child, level + 1)\n ).join(repeat('\\t', level))\n return (\n `- [${data.checked ? 'X' : ' '}] ${plainText.join('')}\\n` +\n (childData ? `${repeat('\\t', level)}${childData}` : '')\n )\n default:\n childData = map(block.children, child => convertNotionToMd(child)).join(\n ''\n )\n return plainText.join('') + n + childData\n }\n}\n\nconst resolveChildren = function (block: any, blocks: any) {\n if (!block.has_children) {\n return block\n }\n const children = blocks.filter((x: any) => x.parent_id === block.id)\n return {\n ...block,\n children: children.map((child: any) => resolveChildren(child, blocks)),\n }\n}\n\nconst numberOrderedLists = function (blocks: any) {\n let number = 0\n return blocks.map((block: any) => {\n if (block.type !== 'numbered_list_item') {\n number = 0\n return block\n } else {\n if (block.children) {\n block.children = numberOrderedLists(block.children)\n }\n return {\n ...block,\n number: ++number,\n }\n }\n })\n}\n\nconst insertNewLinesBetweenLists = function (blocks: any) {\n const listBlocks = ['to_do', 'numbered_list_item', 'bulleted_list_item']\n return flatten(\n blocks.map((block: any, index: number) => {\n const nextBlock = blocks[index + 1]\n const nextBlockType = nextBlock?.type\n if (\n listBlocks.includes(block.type) &&\n !listBlocks.includes(nextBlockType)\n ) {\n return [\n block,\n {\n type: 'paragraph',\n paragraph: {\n rich_text: [],\n color: 'default',\n },\n },\n ]\n }\n return block\n })\n )\n}\n\nconst convertNotionToMarkdown = function (blocks: any) {\n const arrayBlocks = insertNewLinesBetweenLists(castArray(blocks))\n const parentBlocks = reject(\n arrayBlocks,\n (block: any) => block.parent?.type === 'block_id'\n )\n const blocksWithChildren = numberOrderedLists(\n parentBlocks.map((block: any) => {\n return resolveChildren(block, arrayBlocks)\n })\n )\n return blocksWithChildren\n .map((block: any) => convertNotionToMd(block))\n .join('')\n}\n\nexport default convertNotionToMarkdown\n","import arrayBufferToBase64 from './arrayBufferToBase64'\nimport { webcrypto as crypto } from 'crypto'\n\nconst sign = async (\n text: string,\n algorithm = 'SHA-256',\n secret: string,\n outputFormat = 'hex'\n) => {\n const key = await crypto.subtle.importKey(\n 'raw',\n new TextEncoder().encode(secret),\n { name: 'HMAC', hash: algorithm },\n false,\n ['sign']\n )\n const encoder = new TextEncoder()\n const data = encoder.encode(text)\n const hashBuffer = await crypto.subtle.sign('HMAC', key, data)\n if (outputFormat === 'hex') {\n const hashArray = Array.from(new Uint8Array(hashBuffer))\n return hashArray.map(b => b.toString(16).padStart(2, '0')).join('')\n } else if (outputFormat === 'base64') {\n return arrayBufferToBase64(hashBuffer)\n } else if (outputFormat === 'base64-urlSafe') {\n return arrayBufferToBase64(hashBuffer, true)\n }\n}\n\nexport default sign\n","import { xml2js } from 'xml-js'\n\nexport default function xmlToJs(\n xml: string,\n options = { compact: true, spaces: 4 }\n) {\n return xml2js(xml, options) as Record<string, unknown>\n}\n","import { js2xml } from 'xml-js'\n\nexport default function (json: object, options = { compact: true, spaces: 4 }) {\n return js2xml(json, options)\n}\n","import { DateTime } from 'luxon'\n\nfunction dtFromIso(arg: string) {\n return DateTime.fromISO(arg)\n}\n\nexport default dtFromIso\n","import { DateTime } from 'luxon'\n\nfunction dtFromFormat(date: string, format: string) {\n if (format === 'RFC2822') {\n return DateTime.fromRFC2822(date)\n }\n if (format === 'ISO') {\n return DateTime.fromISO(date)\n }\n if (format === 'fromSeconds') {\n return DateTime.fromSeconds(parseInt(date))\n }\n return DateTime.fromFormat(date, format)\n}\n\nexport default dtFromFormat\n","function removeEmpty(arg: Array<unknown>) {\n return arg.length ? arg : undefined\n}\n\nexport default removeEmpty\n","function removeEmptyItems(arg: Array<unknown>) {\n if (!Array.isArray(arg)) {\n return arg\n }\n return arg.filter(item => {\n if (item && typeof item === 'object') {\n return Object.keys(item).length > 0\n }\n return item\n })\n}\n\nexport default removeEmptyItems\n","import json2md from 'json2md'\n\nfunction convertNotionToMd(block: any) {\n const data = block[block.type]\n const plainText = data.rich_text\n ? // @ts-ignore\n data.rich_text.map(x => {\n if (x) {\n if (x.href) {\n return `[${x.plain_text}](${\n x.href.startsWith('/') ? `https://www.notion.so${x.href}` : x.href\n })`\n }\n return x.plain_text\n }\n })\n : []\n // @ts-ignore\n const caption = data.caption ? data.caption.map(x => x?.plain_text) : []\n switch (block.type) {\n case 'bookmark':\n return json2md({\n link: {\n title: data.url,\n source: data.url,\n },\n })\n case 'bulleted_list_item':\n return `${json2md({\n ul: plainText,\n }).trim()} \\n`\n case 'numbered_list_item':\n return `${json2md({\n ol: plainText,\n }).trim()} \\n`\n case 'quote':\n case 'callout':\n return json2md({\n blockquote: plainText,\n })\n case 'code':\n return json2md({\n code: {\n language: data.language,\n content: plainText,\n },\n })\n case 'divider':\n return '--- \\n'\n case 'embed':\n return json2md({\n link: {\n title: caption.length ? caption : 'Embed',\n source: data.url,\n },\n })\n case 'equation':\n return json2md({ p: data.expression })\n case 'paragraph':\n return json2md({ p: plainText.join('') })\n case 'video':\n case 'pdf':\n case 'file':\n return json2md({\n link: {\n title: caption.length ? caption : 'File',\n source: data.file\n ? data.file.url\n : data.external\n ? data.external.url\n : '',\n },\n })\n case 'heading_1':\n return json2md({\n h1: plainText,\n })\n case 'heading_2':\n return json2md({\n h2: plainText,\n })\n case 'heading_3':\n return json2md({\n h3: plainText,\n })\n case 'heading_4':\n return json2md({\n h4: plainText,\n })\n case 'heading_5':\n return json2md({\n h5: plainText,\n })\n case 'heading_6':\n return json2md({\n h6: plainText,\n })\n case 'image':\n return json2md({\n img: {\n title: caption.length ? caption : 'Image',\n // @ts-ignore\n alt: caption.length ? caption : 'Image',\n source: data.file\n ? data.file.url\n : data.external\n ? data.external.url\n : '',\n },\n })\n case 'table':\n return json2md({\n p: 'Tabular values as CSV',\n })\n case 'table_row':\n // @ts-ignore\n return json2md({ p: data.cells.map(x => x[0]?.plain_text).join(',') })\n case 'to_do':\n return `- [${data.checked ? 'X' : ' '}] ${plainText.join('')}\\n`\n default:\n return json2md({ p: plainText.join('') })\n }\n}\n\nexport default convertNotionToMd\n","function parseUrl(url: string) {\n return new URL(url)\n}\n\nexport default parseUrl\n","function jsonParse(str: string) {\n try {\n return JSON.parse(str)\n } catch (e) {\n return null\n }\n}\n\nexport default jsonParse\n","import mime from 'mime'\n\nfunction getMimeType(extensionType: string) {\n try {\n return mime.getType(extensionType)\n } catch (e) {\n return null\n }\n}\n\nexport default getMimeType\n","function uuid() {\n return crypto.randomUUID()\n}\n\nexport default uuid\n","import { encodeBase64 } from 'hono/utils/encode'\n\nfunction base64encode(arg: string) {\n return encodeBase64(new TextEncoder().encode(arg))\n}\nexport default base64encode\n","import { isNil } from 'lodash-es'\nimport currency from './currency.json'\n\nfunction convertCurrencyToSubunit(arg: string, currencyCode: string) {\n if (isNil(arg)) {\n return arg\n }\n // @ts-ignore\n if (currency[currencyCode]) {\n const amount = parseFloat(arg)\n // @ts-ignore\n const subunit = currency[currencyCode].digits\n return Math.floor(amount * Math.pow(10, subunit))\n }\n return arg\n}\n\nexport default convertCurrencyToSubunit\n","{\n \"AED\": {\n \"code\": \"AED\",\n \"number\": \"784\",\n \"digits\": 2,\n \"currency\": \"UAE Dirham\",\n \"countries\": [\"United Arab Emirates (The)\"]\n },\n \"AFN\": {\n \"code\": \"AFN\",\n \"number\": \"971\",\n \"digits\": 2,\n \"currency\": \"Afghani\",\n \"countries\": [\"Afghanistan\"]\n },\n \"ALL\": {\n \"code\": \"ALL\",\n \"number\": \"008\",\n \"digits\": 2,\n \"currency\": \"Lek\",\n \"countries\": [\"Albania\"]\n },\n \"AMD\": {\n \"code\": \"AMD\",\n \"number\": \"051\",\n \"digits\": 2,\n \"currency\": \"Armenian Dram\",\n \"countries\": [\"Armenia\"]\n },\n \"ANG\": {\n \"code\": \"ANG\",\n \"number\": \"532\",\n \"digits\": 2,\n \"currency\": \"Netherlands Antillean Guilder\",\n \"countries\": [\"Curaçao\", \"Sint Maarten (Dutch Part)\"]\n },\n \"AOA\": {\n \"code\": \"AOA\",\n \"number\": \"973\",\n \"digits\": 2,\n \"currency\": \"Kwanza\",\n \"countries\": [\"Angola\"]\n },\n \"ARS\": {\n \"code\": \"ARS\",\n \"number\": \"032\",\n \"digits\": 2,\n \"currency\": \"Argentine Peso\",\n \"countries\": [\"Argentina\"]\n },\n \"AUD\": {\n \"code\": \"AUD\",\n \"number\": \"036\",\n \"digits\": 2,\n \"currency\": \"Australian Dollar\",\n \"countries\": [\n \"Australia\",\n \"Christmas Island\",\n \"Cocos (Keeling) Islands (The)\",\n \"Heard Island and Mcdonald Islands\",\n \"Kiribati\",\n \"Nauru\",\n \"Norfolk Island\",\n \"Tuvalu\"\n ]\n },\n \"AWG\": {\n \"code\": \"AWG\",\n \"number\": \"533\",\n \"digits\": 2,\n \"currency\": \"Aruban Florin\",\n \"countries\": [\"Aruba\"]\n },\n \"AZN\": {\n \"code\": \"AZN\",\n \"number\": \"944\",\n \"digits\": 2,\n \"currency\": \"Azerbaijan Manat\",\n \"countries\": [\"Azerbaijan\"]\n },\n \"BAM\": {\n \"code\": \"BAM\",\n \"number\": \"977\",\n \"digits\": 2,\n \"currency\": \"Convertible Mark\",\n \"countries\": [\"Bosnia and Herzegovina\"]\n },\n \"BBD\": {\n \"code\": \"BBD\",\n \"number\": \"052\",\n \"digits\": 2,\n \"currency\": \"Barbados Dollar\",\n \"countries\": [\"Barbados\"]\n },\n \"BDT\": {\n \"code\": \"BDT\",\n \"number\": \"050\",\n \"digits\": 2,\n \"currency\": \"Taka\",\n \"countries\": [\"Bangladesh\"]\n },\n \"BGN\": {\n \"code\": \"BGN\",\n \"number\": \"975\",\n \"digits\": 2,\n \"currency\": \"Bulgarian Lev\",\n \"countries\": [\"Bulgaria\"]\n },\n \"BHD\": {\n \"code\": \"BHD\",\n \"number\": \"048\",\n \"digits\": 3,\n \"currency\": \"Bahraini Dinar\",\n \"countries\": [\"Bahrain\"]\n },\n \"BIF\": {\n \"code\": \"BIF\",\n \"number\": \"108\",\n \"digits\": 0,\n \"currency\": \"Burundi Franc\",\n \"countries\": [\"Burundi\"]\n },\n \"BMD\": {\n \"code\": \"BMD\",\n \"number\": \"060\",\n \"digits\": 2,\n \"currency\": \"Bermudian Dollar\",\n \"countries\": [\"Bermuda\"]\n },\n \"BND\": {\n \"code\": \"BND\",\n \"number\": \"096\",\n \"digits\": 2,\n \"currency\": \"Brunei Dollar\",\n \"countries\": [\"Brunei Darussalam\"]\n },\n \"BOB\": {\n \"code\": \"BOB\",\n \"number\": \"068\",\n \"digits\": 2,\n \"currency\": \"Boliviano\",\n \"countries\": [\"Bolivia (Plurinational State Of)\"]\n },\n \"BOV\": {\n \"code\": \"BOV\",\n \"number\": \"984\",\n \"digits\": 2,\n \"currency\": \"Mvdol\",\n \"countries\": [\"Bolivia (Plurinational State Of)\"]\n },\n \"BRL\": {\n \"code\": \"BRL\",\n \"number\": \"986\",\n \"digits\": 2,\n \"currency\": \"Brazilian Real\",\n \"countries\": [\"Brazil\"]\n },\n \"BSD\": {\n \"code\": \"BSD\",\n \"number\": \"044\",\n \"digits\": 2,\n \"currency\": \"Bahamian Dollar\",\n \"countries\": [\"Bahamas (The)\"]\n },\n \"BTN\": {\n \"code\": \"BTN\",\n \"number\": \"064\",\n \"digits\": 2,\n \"currency\": \"Ngultrum\",\n \"countries\": [\"Bhutan\"]\n },\n \"BWP\": {\n \"code\": \"BWP\",\n \"number\": \"072\",\n \"digits\": 2,\n \"currency\": \"Pula\",\n \"countries\": [\"Botswana\"]\n },\n \"BYN\": {\n \"code\": \"BYN\",\n \"number\": \"933\",\n \"digits\": 2,\n \"currency\": \"Belarusian Ruble\",\n \"countries\": [\"Belarus\"]\n },\n \"BZD\": {\n \"code\": \"BZD\",\n \"number\": \"084\",\n \"digits\": 2,\n \"currency\": \"Belize Dollar\",\n \"countries\": [\"Belize\"]\n },\n \"CAD\": {\n \"code\": \"CAD\",\n \"number\": \"124\",\n \"digits\": 2,\n \"currency\": \"Canadian Dollar\",\n \"countries\": [\"Canada\"]\n },\n \"CDF\": {\n \"code\": \"CDF\",\n \"number\": \"976\",\n \"digits\": 2,\n \"currency\": \"Congolese Franc\",\n \"countries\": [\"Congo (The Democratic Republic of The)\"]\n },\n \"CHE\": {\n \"code\": \"CHE\",\n \"number\": \"947\",\n \"digits\": 2,\n \"currency\": \"WIR Euro\",\n \"countries\": [\"Switzerland\"]\n },\n \"CHF\": {\n \"code\": \"CHF\",\n \"number\": \"756\",\n \"digits\": 2,\n \"currency\": \"Swiss Franc\",\n \"countries\": [\"Liechtenstein\", \"Switzerland\"]\n },\n \"CHW\": {\n \"code\": \"CHW\",\n \"number\": \"948\",\n \"digits\": 2,\n \"currency\": \"WIR Franc\",\n \"countries\": [\"Switzerland\"]\n },\n \"CLF\": {\n \"code\": \"CLF\",\n \"number\": \"990\",\n \"digits\": 4,\n \"currency\": \"Unidad de Fomento\",\n \"countries\": [\"Chile\"]\n },\n \"CLP\": {\n \"code\": \"CLP\",\n \"number\": \"152\",\n \"digits\": 0,\n \"currency\": \"Chilean Peso\",\n \"countries\": [\"Chile\"]\n },\n \"CNY\": {\n \"code\": \"CNY\",\n \"number\": \"156\",\n \"digits\": 2,\n \"currency\": \"Yuan Renminbi\",\n \"countries\": [\"China\"]\n },\n \"COP\": {\n \"code\": \"COP\",\n \"number\": \"170\",\n \"digits\": 2,\n \"currency\": \"Colombian Peso\",\n \"countries\": [\"Colombia\"]\n },\n \"COU\": {\n \"code\": \"COU\",\n \"number\": \"970\",\n \"digits\": 2,\n \"currency\": \"Unidad de Valor Real\",\n \"countries\": [\"Colombia\"]\n },\n \"CRC\": {\n \"code\": \"CRC\",\n \"number\": \"188\",\n \"digits\": 2,\n \"currency\": \"Costa Rican Colon\",\n \"countries\": [\"Costa Rica\"]\n },\n \"CUC\": {\n \"code\": \"CUC\",\n \"number\": \"931\",\n \"digits\": 2,\n \"currency\": \"Peso Convertible\",\n \"countries\": [\"Cuba\"]\n },\n \"CUP\": {\n \"code\": \"CUP\",\n \"number\": \"192\",\n \"digits\": 2,\n \"currency\": \"Cuban Peso\",\n \"countries\": [\"Cuba\"]\n },\n \"CVE\": {\n \"code\": \"CVE\",\n \"number\": \"132\",\n \"digits\": 2,\n \"currency\": \"Cabo Verde Escudo\",\n \"countries\": [\"Cabo Verde\"]\n },\n \"CZK\": {\n \"code\": \"CZK\",\n \"number\": \"203\",\n \"digits\": 2,\n \"currency\": \"Czech Koruna\",\n \"countries\": [\"Czechia\"]\n },\n \"DJF\": {\n \"code\": \"DJF\",\n \"number\": \"262\",\n \"digits\": 0,\n \"currency\": \"Djibouti Franc\",\n \"countries\": [\"Djibouti\"]\n },\n \"DKK\": {\n \"code\": \"DKK\",\n \"number\": \"208\",\n \"digits\": 2,\n \"currency\": \"Danish Krone\",\n \"countries\": [\"Denmark\", \"Faroe Islands (The)\", \"Greenland\"]\n },\n \"DOP\": {\n \"code\": \"DOP\",\n \"number\": \"214\",\n \"digits\": 2,\n \"currency\": \"Dominican Peso\",\n \"countries\": [\"Dominican Republic (The)\"]\n },\n \"DZD\": {\n \"code\": \"DZD\",\n \"number\": \"012\",\n \"digits\": 2,\n \"currency\": \"Algerian Dinar\",\n \"countries\": [\"Algeria\"]\n },\n \"EGP\": {\n \"code\": \"EGP\",\n \"number\": \"818\",\n \"digits\": 2,\n \"currency\": \"Egyptian Pound\",\n \"countries\": [\"Egypt\"]\n },\n \"ERN\": {\n \"code\": \"ERN\",\n \"number\": \"232\",\n \"digits\": 2,\n \"currency\": \"Nakfa\",\n \"countries\": [\"Eritrea\"]\n },\n \"ETB\": {\n \"code\": \"ETB\",\n \"number\": \"230\",\n \"digits\": 2,\n \"currency\": \"Ethiopian Birr\",\n \"countries\": [\"Ethiopia\"]\n },\n \"EUR\": {\n \"code\": \"EUR\",\n \"number\": \"978\",\n \"digits\": 2,\n \"currency\": \"Euro\",\n \"countries\": [\n \"Åland Islands\",\n \"Andorra\",\n \"Austria\",\n \"Belgium\",\n \"Cyprus\",\n \"Estonia\",\n \"European Union\",\n \"Finland\",\n \"France\",\n \"French Guiana\",\n \"French Southern Territories (The)\",\n \"Germany\",\n \"Greece\",\n \"Guadeloupe\",\n \"Holy See (The)\",\n \"Ireland\",\n \"Italy\",\n \"Latvia\",\n \"Lithuania\",\n \"Luxembourg\",\n \"Malta\",\n \"Martinique\",\n \"Mayotte\",\n \"Monaco\",\n \"Montenegro\",\n \"Netherlands (The)\",\n \"Portugal\",\n \"Réunion\",\n \"Saint Barthélemy\",\n \"Saint Martin (French Part)\",\n \"Saint Pierre and Miquelon\",\n \"San Marino\",\n \"Slovakia\",\n \"Slovenia\",\n \"Spain\"\n ]\n },\n \"FJD\": {\n \"code\": \"FJD\",\n \"number\": \"242\",\n \"digits\": 2,\n \"currency\": \"Fiji Dollar\",\n \"countries\": [\"Fiji\"]\n },\n \"FKP\": {\n \"code\": \"FKP\",\n \"number\": \"238\",\n \"digits\": 2,\n \"currency\": \"Falkland Islands Pound\",\n \"countries\": [\"Falkland Islands (The) [Malvinas]\"]\n },\n \"GBP\": {\n \"code\": \"GBP\",\n \"number\": \"826\",\n \"digits\": 2,\n \"currency\": \"Pound Sterling\",\n \"countries\": [\n \"Guernsey\",\n \"Isle of Man\",\n \"Jersey\",\n \"United Kingdom of Great Britain and Northern Ireland (The)\"\n ]\n },\n \"GEL\": {\n \"code\": \"GEL\",\n \"number\": \"981\",\n \"digits\": 2,\n \"currency\": \"Lari\",\n \"countries\": [\"Georgia\"]\n },\n \"GHS\": {\n \"code\": \"GHS\",\n \"number\": \"936\",\n \"digits\": 2,\n \"currency\": \"Ghana Cedi\",\n \"countries\": [\"Ghana\"]\n },\n \"GIP\": {\n \"code\": \"GIP\",\n \"number\": \"292\",\n \"digits\": 2,\n \"currency\": \"Gibraltar Pound\",\n \"countries\": [\"Gibraltar\"]\n },\n \"GMD\": {\n \"code\": \"GMD\",\n \"number\": \"270\",\n \"digits\": 2,\n \"currency\": \"Dalasi\",\n \"countries\": [\"Gambia (The)\"]\n },\n \"GNF\": {\n \"code\": \"GNF\",\n \"number\": \"324\",\n \"digits\": 0,\n \"currency\": \"Guinean Franc\",\n \"countries\": [\"Guinea\"]\n },\n \"GTQ\": {\n \"code\": \"GTQ\",\n \"number\": \"320\",\n \"digits\": 2,\n \"currency\": \"Quetzal\",\n \"countries\": [\"Guatemala\"]\n },\n \"GYD\": {\n \"code\": \"GYD\",\n \"number\": \"328\",\n \"digits\": 2,\n \"currency\": \"Guyana Dollar\",\n \"countries\": [\"Guyana\"]\n },\n \"HKD\": {\n \"code\": \"HKD\",\n \"number\": \"344\",\n \"digits\": 2,\n \"currency\": \"Hong Kong Dollar\",\n \"countries\": [\"Hong Kong\"]\n },\n \"HNL\": {\n \"code\": \"HNL\",\n \"number\": \"340\",\n \"digits\": 2,\n \"currency\": \"Lempira\",\n \"countries\": [\"Honduras\"]\n },\n \"HRK\": {\n \"code\": \"HRK\",\n \"number\": \"191\",\n \"digits\": 2,\n \"currency\": \"Kuna\",\n \"countries\": [\"Croatia\"]\n },\n \"HTG\": {\n \"code\": \"HTG\",\n \"number\": \"332\",\n \"digits\": 2,\n \"currency\": \"Gourde\",\n \"countries\": [\"Haiti\"]\n },\n \"HUF\": {\n \"code\": \"HUF\",\n \"number\": \"348\",\n \"digits\": 2,\n \"currency\": \"Forint\",\n \"countries\": [\"Hungary\"]\n },\n \"IDR\": {\n \"code\": \"IDR\",\n \"number\": \"360\",\n \"digits\": 2,\n \"currency\": \"Rupiah\",\n \"countries\": [\"Indonesia\"]\n },\n \"ILS\": {\n \"code\": \"ILS\",\n \"number\": \"376\",\n \"digits\": 2,\n \"currency\": \"New Israeli Sheqel\",\n \"countries\": [\"Israel\"]\n },\n \"INR\": {\n \"code\": \"INR\",\n \"number\": \"356\",\n \"digits\": 2,\n \"currency\": \"Indian Rupee\",\n \"countries\": [\"Bhutan\", \"India\"]\n },\n \"IQD\": {\n \"code\": \"IQD\",\n \"number\": \"368\",\n \"digits\": 3,\n \"currency\": \"Iraqi Dinar\",\n \"countries\": [\"Iraq\"]\n },\n \"IRR\": {\n \"code\": \"IRR\",\n \"number\": \"364\",\n \"digits\": 2,\n \"currency\": \"Iranian Rial\",\n \"countries\": [\"Iran (Islamic Republic Of)\"]\n },\n \"ISK\": {\n \"code\": \"ISK\",\n \"number\": \"352\",\n \"digits\": 0,\n \"currency\": \"Iceland Krona\",\n \"countries\": [\"Iceland\"]\n },\n \"JMD\": {\n \"code\": \"JMD\",\n \"number\": \"388\",\n \"digits\": 2,\n \"currency\": \"Jamaican Dollar\",\n \"countries\": [\"Jamaica\"]\n },\n \"JOD\": {\n \"code\": \"JOD\",\n \"number\": \"400\",\n \"digits\": 3,\n \"currency\": \"Jordanian Dinar\",\n \"countries\": [\"Jordan\"]\n },\n \"JPY\": {\n \"code\": \"JPY\",\n \"number\": \"392\",\n \"digits\": 0,\n \"currency\": \"Yen\",\n \"countries\": [\"Japan\"]\n },\n \"KES\": {\n \"code\": \"KES\",\n \"number\": \"404\",\n \"digits\": 2,\n \"currency\": \"Kenyan Shilling\",\n \"countries\": [\"Kenya\"]\n },\n \"KGS\": {\n \"code\": \"KGS\",\n \"number\": \"417\",\n \"digits\": 2,\n \"currency\": \"Som\",\n \"countries\": [\"Kyrgyzstan\"]\n },\n \"KHR\": {\n \"code\": \"KHR\",\n \"number\": \"116\",\n \"digits\": 2,\n \"currency\": \"Riel\",\n \"countries\": [\"Cambodia\"]\n },\n \"KMF\": {\n \"code\": \"KMF\",\n \"number\": \"174\",\n \"digits\": 0,\n \"currency\": \"Comorian Franc \",\n \"countries\": [\"Comoros (The)\"]\n },\n \"KPW\": {\n \"code\": \"KPW\",\n \"number\": \"408\",\n \"digits\": 2,\n \"currency\": \"North Korean Won\",\n \"countries\": [\"Korea (The Democratic People’s Republic Of)\"]\n },\n \"KRW\": {\n \"code\": \"KRW\",\n \"number\": \"410\",\n \"digits\": 0,\n \"currency\": \"Won\",\n \"countries\": [\"Korea (The Republic Of)\"]\n },\n \"KWD\": {\n \"code\": \"KWD\",\n \"number\": \"414\",\n \"digits\": 3,\n \"currency\": \"Kuwaiti Dinar\",\n \"countries\": [\"Kuwait\"]\n },\n \"KYD\": {\n \"code\": \"KYD\",\n \"number\": \"136\",\n \"digits\": 2,\n \"currency\": \"Cayman Islands Dollar\",\n \"countries\": [\"Cayman Islands (The)\"]\n },\n \"KZT\": {\n \"code\": \"KZT\",\n \"number\": \"398\",\n \"digits\": 2,\n \"currency\": \"Tenge\",\n \"countries\": [\"Kazakhstan\"]\n },\n \"LAK\": {\n \"code\": \"LAK\",\n \"number\": \"418\",\n \"digits\": 2,\n \"currency\": \"Lao Kip\",\n \"countries\": [\"Lao People’s Democratic Republic (The)\"]\n },\n \"LBP\": {\n \"code\": \"LBP\",\n \"number\": \"422\",\n \"digits\": 2,\n \"currency\": \"Lebanese Pound\",\n \"countries\": [\"Lebanon\"]\n },\n \"LKR\": {\n \"code\": \"LKR\",\n \"number\": \"144\",\n \"digits\": 2,\n \"currency\": \"Sri Lanka Rupee\",\n \"countries\": [\"Sri Lanka\"]\n },\n \"LRD\": {\n \"code\": \"LRD\",\n \"number\": \"430\",\n \"digits\": 2,\n \"currency\": \"Liberian Dollar\",\n \"countries\": [\"Liberia\"]\n },\n \"LSL\": {\n \"code\": \"LSL\",\n \"number\": \"426\",\n \"digits\": 2,\n \"currency\": \"Loti\",\n \"countries\": [\"Lesotho\"]\n },\n \"LYD\": {\n \"code\": \"LYD\",\n \"number\": \"434\",\n \"digits\": 3,\n \"currency\": \"Libyan Dinar\",\n \"countries\": [\"Libya\"]\n },\n \"MAD\": {\n \"code\": \"MAD\",\n \"number\": \"504\",\n \"digits\": 2,\n \"currency\": \"Moroccan Dirham\",\n \"countries\": [\"Morocco\", \"Western Sahara\"]\n },\n \"MDL\": {\n \"code\": \"MDL\",\n \"number\": \"498\",\n \"digits\": 2,\n \"currency\": \"Moldovan Leu\",\n \"countries\": [\"Moldova (The Republic Of)\"]\n },\n \"MGA\": {\n \"code\": \"MGA\",\n \"number\": \"969\",\n \"digits\": 2,\n \"currency\": \"Malagasy Ariary\",\n \"countries\": [\"Madagascar\"]\n },\n \"MKD\": {\n \"code\": \"MKD\",\n \"number\": \"807\",\n \"digits\": 2,\n \"currency\": \"Denar\",\n \"countries\": [\"Macedonia (The Former Yugoslav Republic Of)\"]\n },\n \"MMK\": {\n \"code\": \"MMK\",\n \"number\": \"104\",\n \"digits\": 2,\n \"currency\": \"Kyat\",\n \"countries\": [\"Myanmar\"]\n },\n \"MNT\": {\n \"code\": \"MNT\",\n \"number\": \"496\",\n \"digits\": 2,\n \"currency\": \"Tugrik\",\n \"countries\": [\"Mongolia\"]\n },\n \"MOP\": {\n \"code\": \"MOP\",\n \"number\": \"446\",\n \"digits\": 2,\n \"currency\": \"Pataca\",\n \"countries\": [\"Macao\"]\n },\n \"MRU\": {\n \"code\": \"MRU\",\n \"number\": \"929\",\n \"digits\": 2,\n \"currency\": \"Ouguiya\",\n \"countries\": [\"Mauritania\"]\n },\n \"MUR\": {\n \"code\": \"MUR\",\n \"number\": \"480\",\n \"digits\": 2,\n \"currency\": \"Mauritius Rupee\",\n \"countries\": [\"Mauritius\"]\n },\n \"MVR\": {\n \"code\": \"MVR\",\n \"number\": \"462\",\n \"digits\": 2,\n \"currency\": \"Rufiyaa\",\n \"countries\": [\"Maldives\"]\n },\n \"MWK\": {\n \"code\": \"MWK\",\n \"number\": \"454\",\n \"digits\": 2,\n \"currency\": \"Malawi Kwacha\",\n \"countries\": [\"Malawi\"]\n },\n \"MXN\": {\n \"code\": \"MXN\",\n \"number\": \"484\",\n \"digits\": 2,\n \"currency\": \"Mexican Peso\",\n \"countries\": [\"Mexico\"]\n },\n \"MXV\": {\n \"code\": \"MXV\",\n \"number\": \"979\",\n \"digits\": 2,\n \"currency\": \"Mexican Unidad de Inversion (UDI)\",\n \"countries\": [\"Mexico\"]\n },\n \"MYR\": {\n \"code\": \"MYR\",\n \"number\": \"458\",\n \"digits\": 2,\n \"currency\": \"Malaysian Ringgit\",\n \"countries\": [\"Malaysia\"]\n },\n \"MZN\": {\n \"code\": \"MZN\",\n \"number\": \"943\",\n \"digits\": 2,\n \"currency\": \"Mozambique Metical\",\n \"countries\": [\"Mozambique\"]\n },\n \"NAD\": {\n \"code\": \"NAD\",\n \"number\": \"516\",\n \"digits\": 2,\n \"currency\": \"Namibia Dollar\",\n \"countries\": [\"Namibia\"]\n },\n \"NGN\": {\n \"code\": \"NGN\",\n \"number\": \"566\",\n \"digits\": 2,\n \"currency\": \"Naira\",\n \"countries\": [\"Nigeria\"]\n },\n \"NIO\": {\n \"code\": \"NIO\",\n \"number\": \"558\",\n \"digits\": 2,\n \"currency\": \"Cordoba Oro\",\n \"countries\": [\"Nicaragua\"]\n },\n \"NOK\": {\n \"code\": \"NOK\",\n \"number\": \"578\",\n \"digits\": 2,\n \"currency\": \"Norwegian Krone\",\n \"countries\": [\"Bouvet Island\", \"Norway\", \"Svalbard and Jan Mayen\"]\n },\n \"NPR\": {\n \"code\": \"NPR\",\n \"number\": \"524\",\n \"digits\": 2,\n \"currency\": \"Nepalese Rupee\",\n \"countries\": [\"Nepal\"]\n },\n \"NZD\": {\n \"code\": \"NZD\",\n \"number\": \"554\",\n \"digits\": 2,\n \"currency\": \"New Zealand Dollar\",\n \"countries\": [\n \"Cook Islands (The)\",\n \"New Zealand\",\n \"Niue\",\n \"Pitcairn\",\n \"Tokelau\"\n ]\n },\n \"OMR\": {\n \"code\": \"OMR\",\n \"number\": \"512\",\n \"digits\": 3,\n \"currency\": \"Rial Omani\",\n \"countries\": [\"Oman\"]\n },\n \"PAB\": {\n \"code\": \"PAB\",\n \"number\": \"590\",\n \"digits\": 2,\n \"currency\": \"Balboa\",\n \"countries\": [\"Panama\"]\n },\n \"PEN\": {\n \"code\": \"PEN\",\n \"number\": \"604\",\n \"digits\": 2,\n \"currency\": \"Sol\",\n \"countries\": [\"Peru\"]\n },\n \"PGK\": {\n \"code\": \"PGK\",\n \"number\": \"598\",\n \"digits\": 2,\n \"currency\": \"Kina\",\n \"countries\": [\"Papua New Guinea\"]\n },\n \"PHP\": {\n \"code\": \"PHP\",\n \"number\": \"608\",\n \"digits\": 2,\n \"currency\": \"Philippine Peso\",\n \"countries\": [\"Philippines (The)\"]\n },\n \"PKR\": {\n \"code\": \"PKR\",\n \"number\": \"586\",\n \"digits\": 2,\n \"currency\": \"Pakistan Rupee\",\n \"countries\": [\"Pakistan\"]\n },\n \"PLN\": {\n \"code\": \"PLN\",\n \"number\": \"985\",\n \"digits\": 2,\n \"currency\": \"Zloty\",\n \"countries\": [\"Poland\"]\n },\n \"PYG\": {\n \"code\": \"PYG\",\n \"number\": \"600\",\n \"digits\": 0,\n \"currency\": \"Guarani\",\n \"countries\": [\"Paraguay\"]\n },\n \"QAR\": {\n \"code\": \"QAR\",\n \"number\": \"634\",\n \"digits\": 2,\n \"currency\": \"Qatari Rial\",\n \"countries\": [\"Qatar\"]\n },\n \"RON\": {\n \"code\": \"RON\",\n \"number\": \"946\",\n \"digits\": 2,\n \"currency\": \"Romanian Leu\",\n \"countries\": [\"Romania\"]\n },\n \"RSD\": {\n \"code\": \"RSD\",\n \"number\": \"941\",\n \"digits\": 2,\n \"currency\": \"Serbian Dinar\",\n \"countries\": [\"Serbia\"]\n },\n \"RUB\": {\n \"code\": \"RUB\",\n \"number\": \"643\",\n \"digits\": 2,\n \"currency\": \"Russian Ruble\",\n \"countries\": [\"Russian Federation (The)\"]\n },\n \"RWF\": {\n \"code\": \"RWF\",\n \"number\": \"646\",\n \"digits\": 0,\n \"currency\": \"Rwanda Franc\",\n \"countries\": [\"Rwanda\"]\n },\n \"SAR\": {\n \"code\": \"SAR\",\n \"number\": \"682\",\n \"digits\": 2,\n \"currency\": \"Saudi Riyal\",\n \"countries\": [\"Saudi Arabia\"]\n },\n \"SBD\": {\n \"code\": \"SBD\",\n \"number\": \"090\",\n \"digits\": 2,\n \"currency\": \"Solomon Islands Dollar\",\n \"countries\": [\"Solomon Islands\"]\n },\n \"SCR\": {\n \"code\": \"SCR\",\n \"number\": \"690\",\n \"digits\": 2,\n \"currency\": \"Seychelles Rupee\",\n \"countries\": [\"Seychelles\"]\n },\n \"SDG\": {\n \"code\": \"SDG\",\n \"number\": \"938\",\n \"digits\": 2,\n \"currency\": \"Sudanese Pound\",\n \"countries\": [\"Sudan (The)\"]\n },\n \"SEK\": {\n \"code\": \"SEK\",\n \"number\": \"752\",\n \"digits\": 2,\n \"currency\": \"Swedish Krona\",\n \"countries\": [\"Sweden\"]\n },\n \"SGD\": {\n \"code\": \"SGD\",\n \"number\": \"702\",\n \"digits\": 2,\n \"currency\": \"Singapore Dollar\",\n \"countries\": [\"Singapore\"]\n },\n \"SHP\": {\n \"code\": \"SHP\",\n \"number\": \"654\",\n \"digits\": 2,\n \"currency\": \"Saint Helena Pound\",\n \"countries\": [\"Saint Helena, Ascension and Tristan Da Cunha\"]\n },\n \"SLL\": {\n \"code\": \"SLL\",\n \"number\": \"694\",\n \"digits\": 2,\n \"currency\": \"Leone\",\n \"countries\": [\"Sierra Leone\"]\n },\n \"SOS\": {\n \"code\": \"SOS\",\n \"number\": \"706\",\n \"digits\": 2,\n \"currency\": \"Somali Shilling\",\n \"countries\": [\"Somalia\"]\n },\n \"SRD\": {\n \"code\": \"SRD\",\n \"number\": \"968\",\n \"digits\": 2,\n \"currency\": \"Surinam Dollar\",\n \"countries\": [\"Suriname\"]\n },\n \"SSP\": {\n \"code\": \"SSP\",\n \"number\": \"728\",\n \"digits\": 2,\n \"currency\": \"South Sudanese Pound\",\n \"countries\": [\"South Sudan\"]\n },\n \"STN\": {\n \"code\": \"STN\",\n \"number\": \"930\",\n \"digits\": 2,\n \"currency\": \"Dobra\",\n \"countries\": [\"Sao Tome and Principe\"]\n },\n \"SVC\": {\n \"code\": \"SVC\",\n \"number\": \"222\",\n \"digits\": 2,\n \"currency\": \"El Salvador Colon\",\n \"countries\": [\"El Salvador\"]\n },\n \"SYP\": {\n \"code\": \"SYP\",\n \"number\": \"760\",\n \"digits\": 2,\n \"currency\": \"Syrian Pound\",\n \"countries\": [\"Syrian Arab Republic\"]\n },\n \"SZL\": {\n \"code\": \"SZL\",\n \"number\": \"748\",\n \"digits\": 2,\n \"currency\": \"Lilangeni\",\n \"countries\": [\"Eswatini\"]\n },\n \"THB\": {\n \"code\": \"THB\",\n \"number\": \"764\",\n \"digits\": 2,\n \"currency\": \"Baht\",\n \"countries\": [\"Thailand\"]\n },\n \"TJS\": {\n \"code\": \"TJS\",\n \"number\": \"972\",\n \"digits\": 2,\n \"currency\": \"Somoni\",\n \"countries\": [\"Tajikistan\"]\n },\n \"TMT\": {\n \"code\": \"TMT\",\n \"number\": \"934\",\n \"digits\": 2,\n \"currency\": \"Turkmenistan New Manat\",\n \"countries\": [\"Turkmenistan\"]\n },\n \"TND\": {\n \"code\": \"TND\",\n \"number\": \"788\",\n \"digits\": 3,\n \"currency\": \"Tunisian Dinar\",\n \"countries\": [\"Tunisia\"]\n },\n \"TOP\": {\n \"code\": \"TOP\",\n \"number\": \"776\",\n \"digits\": 2,\n \"currency\": \"Pa’anga\",\n \"countries\": [\"Tonga\"]\n },\n \"TRY\": {\n \"code\": \"TRY\",\n \"number\": \"949\",\n \"digits\": 2,\n \"currency\": \"Turkish Lira\",\n \"countries\": [\"Turkey\"]\n },\n \"TTD\": {\n \"code\": \"TTD\",\n \"number\": \"780\",\n \"digits\": 2,\n \"currency\": \"Trinidad and Tobago Dollar\",\n \"countries\": [\"Trinidad and Tobago\"]\n },\n \"TWD\": {\n \"code\": \"TWD\",\n \"number\": \"901\",\n \"digits\": 2,\n \"currency\": \"New Taiwan Dollar\",\n \"countries\": [\"Taiwan (Province of China)\"]\n },\n \"TZS\": {\n \"code\": \"TZS\",\n \"number\": \"834\",\n \"digits\": 2,\n \"currency\": \"Tanzanian Shilling\",\n \"countries\": [\"Tanzania, United Republic Of\"]\n },\n \"UAH\": {\n \"code\": \"UAH\",\n \"number\": \"980\",\n \"digits\": 2,\n \"currency\": \"Hryvnia\",\n \"countries\": [\"Ukraine\"]\n },\n \"UGX\": {\n \"code\": \"UGX\",\n \"number\": \"800\",\n \"digits\": 0,\n \"currency\": \"Uganda Shilling\",\n \"countries\": [\"Uganda\"]\n },\n \"USD\": {\n \"code\": \"USD\",\n \"number\": \"840\",\n \"digits\": 2,\n \"currency\": \"US Dollar\",\n \"countries\": [\n \"American Samoa\",\n \"Bonaire, Sint Eustatius and Saba\",\n \"British Indian Ocean Territory (The)\",\n \"Ecuador\",\n \"El Salvador\",\n \"Guam\",\n \"Haiti\",\n \"Marshall Islands (The)\",\n \"Micronesia (Federated States Of)\",\n \"Northern Mariana Islands (The)\",\n \"Palau\",\n \"Panama\",\n \"Puerto Rico\",\n \"Timor-Leste\",\n \"Turks and Caicos Islands (The)\",\n \"United States Minor Outlying Islands (The)\",\n \"United States of America (The)\",\n \"Virgin Islands (British)\",\n \"Virgin Islands (U.S.)\"\n ]\n },\n \"USN\": {\n \"code\": \"USN\",\n \"number\": \"997\",\n \"digits\": 2,\n \"currency\": \"US Dollar (Next day)\",\n \"countries\": [\"United States of America (The)\"]\n },\n \"UYI\": {\n \"code\": \"UYI\",\n \"number\": \"940\",\n \"digits\": 0,\n \"currency\": \"Uruguay Peso en Unidades Indexadas (UI)\",\n \"countries\": [\"Uruguay\"]\n },\n \"UYU\": {\n \"code\": \"UYU\",\n \"number\": \"858\",\n \"digits\": 2,\n \"currency\": \"Peso Uruguayo\",\n \"countries\": [\"Uruguay\"]\n },\n \"UYW\": {\n \"code\": \"UYW\",\n \"number\": \"927\",\n \"digits\": 4,\n \"currency\": \"Unidad Previsional\",\n \"countries\": [\"Uruguay\"]\n },\n \"UZS\": {\n \"code\": \"UZS\",\n \"number\": \"860\",\n \"digits\": 2,\n \"currency\": \"Uzbekistan Sum\",\n \"countries\": [\"Uzbekistan\"]\n },\n \"VES\": {\n \"code\": \"VES\",\n \"number\": \"928\",\n \"digits\": 2,\n \"currency\": \"Bolívar Soberano\",\n \"countries\": [\"Venezuela (Bolivarian Republic Of)\"]\n },\n \"VND\": {\n \"code\": \"VND\",\n \"number\": \"704\",\n \"digits\": 0,\n \"currency\": \"Dong\",\n \"countries\": [\"Viet Nam\"]\n },\n \"VUV\": {\n \"code\": \"VUV\",\n \"number\": \"548\",\n \"digits\": 0,\n \"currency\": \"Vatu\",\n \"countries\": [\"Vanuatu\"]\n },\n \"WST\": {\n \"code\": \"WST\",\n \"number\": \"882\",\n \"digits\": 2,\n \"currency\": \"Tala\",\n \"countries\": [\"Samoa\"]\n },\n \"XAF\": {\n \"code\": \"XAF\",\n \"number\": \"950\",\n \"digits\": 0,\n \"currency\": \"CFA Franc BEAC\",\n \"countries\": [\n \"Cameroon\",\n \"Central African Republic (The)\",\n \"Chad\",\n \"Congo (The)\",\n \"Equatorial Guinea\",\n \"Gabon\"\n ]\n },\n \"XAG\": {\n \"code\": \"XAG\",\n \"number\": \"961\",\n \"digits\": 0,\n \"currency\": \"Silver\",\n \"countries\": [\"Zz11_silver\"]\n },\n \"XAU\": {\n \"code\": \"XAU\",\n \"number\": \"959\",\n \"digits\": 0,\n \"currency\": \"Gold\",\n \"countries\": [\"Zz08_gold\"]\n },\n \"XBA\": {\n \"code\": \"XBA\",\n \"number\": \"955\",\n \"digits\": 0,\n \"currency\": \"Bond Markets Unit European Composite Unit (EURCO)\",\n \"countries\": [\"Zz01_bond Markets Unit European_eurco\"]\n },\n \"XBB\": {\n \"code\": \"XBB\",\n \"number\": \"956\",\n \"digits\": 0,\n \"currency\": \"Bond Markets Unit European Monetary Unit (E.M.U.-6)\",\n \"countries\": [\"Zz02_bond Markets Unit European_emu-6\"]\n },\n \"XBC\": {\n \"code\": \"XBC\",\n \"number\": \"957\",\n \"digits\": 0,\n \"currency\": \"Bond Markets Unit European Unit of Account 9 (E.U.A.-9)\",\n \"countries\": [\"Zz03_bond Markets Unit European_eua-9\"]\n },\n \"XBD\": {\n \"code\": \"XBD\",\n \"number\": \"958\",\n \"digits\": 0,\n \"currency\": \"Bond Markets Unit European Unit of Account 17 (E.U.A.-17)\",\n \"countries\": [\"Zz04_bond Markets Unit European_eua-17\"]\n },\n \"XCD\": {\n \"code\": \"XCD\",\n \"number\": \"951\",\n \"digits\": 2,\n \"currency\": \"East Caribbean Dollar\",\n \"countries\": [\n \"Anguilla\",\n \"Antigua and Barbuda\",\n \"Dominica\",\n \"Grenada\",\n \"Montserrat\",\n \"Saint Kitts and Nevis\",\n \"Saint Lucia\",\n \"Saint Vincent and the Grenadines\"\n ]\n },\n \"XDR\": {\n \"code\": \"XDR\",\n \"number\": \"960\",\n \"digits\": 0,\n \"currency\": \"SDR (Special Drawing Right)\",\n \"countries\": [\"International Monetary Fund (Imf) \"]\n },\n \"XOF\": {\n \"code\": \"XOF\",\n \"number\": \"952\",\n \"digits\": 0,\n \"currency\": \"CFA Franc BCEAO\",\n \"countries\": [\n \"Benin\",\n \"Burkina Faso\",\n \"Côte d'Ivoire\",\n \"Guinea-Bissau\",\n \"Mali\",\n \"Niger (The)\",\n \"Senegal\",\n \"Togo\"\n ]\n },\n \"XPD\": {\n \"code\": \"XPD\",\n \"number\": \"964\",\n \"digits\": 0,\n \"currency\": \"Palladium\",\n \"countries\": [\"Zz09_palladium\"]\n },\n \"XPF\": {\n \"code\": \"XPF\",\n \"number\": \"953\",\n \"digits\": 0,\n \"currency\": \"CFP Franc\",\n \"countries\": [\"French Polynesia\", \"New Caledonia\", \"Wallis and Futuna\"]\n },\n \"XPT\": {\n \"code\": \"XPT\",\n \"number\": \"962\",\n \"digits\": 0,\n \"currency\": \"Platinum\",\n \"countries\": [\"Zz10_platinum\"]\n },\n \"XSU\": {\n \"code\": \"XSU\",\n \"number\": \"994\",\n \"digits\": 0,\n \"currency\": \"Sucre\",\n \"countries\": [\"Sistema Unitario De Compensacion Regional De Pagos\"]\n },\n \"XTS\": {\n \"code\": \"XTS\",\n \"number\": \"963\",\n \"digits\": 0,\n \"currency\": \"Codes specifically reserved for testing purposes\",\n \"countries\": [\"Zz06_testing_code\"]\n },\n \"XUA\": {\n \"code\": \"XUA\",\n \"number\": \"965\",\n \"digits\": 0,\n \"currency\": \"ADB Unit of Account\",\n \"countries\": [\"Member Countries of the African Development Bank Group\"]\n },\n \"XXX\": {\n \"code\": \"XXX\",\n \"number\": \"999\",\n \"digits\": 0,\n \"currency\": \"The codes assigned for transactions where no currency is involved\",\n \"countries\": [\"Zz07_no_currency\"]\n },\n \"YER\": {\n \"code\": \"YER\",\n \"number\": \"886\",\n \"digits\": 2,\n \"currency\": \"Yemeni Rial\",\n \"countries\": [\"Yemen\"]\n },\n \"ZAR\": {\n \"code\": \"ZAR\",\n \"number\": \"710\",\n \"digits\": 2,\n \"currency\": \"Rand\",\n \"countries\": [\"Lesotho\", \"Namibia\", \"South Africa\"]\n },\n \"ZMW\": {\n \"code\": \"ZMW\",\n \"number\": \"967\",\n \"digits\": 2,\n \"currency\": \"Zambian Kwacha\",\n \"countries\": [\"Zambia\"]\n },\n \"ZWL\": {\n \"code\": \"ZWL\",\n \"number\": \"932\",\n \"digits\": 2,\n \"currency\": \"Zimbabwe Dollar\",\n \"countries\": [\"Zimbabwe\"]\n }\n}\n","import { isNil } from 'lodash-es'\nimport currency from './currency.json'\n\nfunction convertCurrencyFromSubunit(arg: string, currencyCode: string) {\n if (isNil(arg)) {\n return arg\n }\n // @ts-ignore\n if (currency[currencyCode]) {\n const amount = parseFloat(arg)\n // @ts-ignore\n const subunit = currency[currencyCode].digits\n return (amount / Math.pow(10, subunit)).toFixed(subunit)\n }\n return arg\n}\n\nexport default convertCurrencyFromSubunit\n","function firstNonEmpty(...args: any[]) {\n for (const arg of args) {\n if (arg !== undefined && arg !== null) {\n return arg\n }\n }\n}\n\nexport default firstNonEmpty\n","async function getArrayBuffer(file?: Blob) {\n return file ? await file.arrayBuffer() : undefined\n}\n\nexport default getArrayBuffer\n","import { castArray } from 'lodash-es'\n\nfunction blob(\n content: ArrayBuffer[] | string[] | Blob[] | ArrayBufferView[] | undefined,\n options: any\n) {\n return new Blob(castArray((content || '') as unknown as string), options)\n}\n\nexport default blob\n","function zipSqlResponse(columns: any, data: any, key: any) {\n // @ts-ignore\n const columnKeys = columns.map(col => col[key])\n // @ts-ignore\n return data.map(row => {\n const obj = {}\n for (let i = 0; i < columnKeys.length; i++) {\n // @ts-ignore\n obj[columnKeys[i]] = row[i]\n }\n return obj\n })\n}\n\nexport default zipSqlResponse\n","import { decodeBase64 } from 'hono/utils/encode'\n\nfunction base64decode(arg: string) {\n return new TextDecoder('utf-8').decode(decodeBase64(arg))\n}\n\nexport default base64decode\n"],"names":[],"version":3,"file":"main.cjs.map","sourceRoot":"../"}