@commercelayer/sdk
Version:
Commerce Layer Javascript SDK
1 lines • 3.17 kB
Source Map (JSON)
{"version":3,"sources":["../src/util.ts"],"names":[],"mappings":";;;AAKO,IAAM,KAAA,GAAQ,OAAO,EAAA,KAAwC;AACnE,EAAA,OAAO,IAAI,OAAA,CAAQ,CAAA,OAAA,KAAW,UAAA,CAAW,OAAA,EAAS,EAAE,CAAC,CAAA;AACtD;AAGO,IAAM,gBAAA,GAAmB,CAAC,GAAA,KAAgC;AAChE,EAAA,MAAM,MAAA,GAAS,MAAA,CAAO,IAAA,CAAK,GAAG,CAAA,CAAE,MAAK,CAAE,MAAA,CAAO,CAAC,WAAA,EAAyB,GAAA,KAAgB;AACvF,IAAA,WAAA,CAAY,GAAG,CAAA,GAAI,GAAA,CAAI,GAAG,CAAA;AAC1B,IAAA,OAAO,WAAA;AAAA,EACR,CAAA,EAAG,EAAE,CAAA;AACL,EAAA,OAAO,MAAA;AACR;AAmCO,IAAM,gBAAA,GAAmB,CAAC,KAAA,KAAyC;AACzE,EAAA,IAAI;AACH,IAAA,MAAM,IAAA,GAAO,IAAA,CAAK,KAAA,CAAM,IAAA,CAAK,KAAA,CAAM,MAAM,GAAG,CAAA,CAAE,CAAC,CAAC,CAAC,CAAA;AACjD,IAAA,OAAO;AAAA,MACN,YAAA,EAAc,KAAK,YAAA,CAAa,IAAA;AAAA,MAChC,MAAA,EAAQ,IAAA,CAAK,GAAA,GAAK,MAAA,CAAO,IAAA,CAAK,GAAG,CAAA,CAAE,OAAA,CAAQ,eAAA,EAAiB,EAAE,CAAA,GAAI,KAAA,CAAA;AAAA,MAClE,YAAY,IAAA,CAAK;AAAA,KAClB;AAAA,EACD,SAAS,GAAA,EAAU;AAClB,IAAA,OAAO,MAAA;AAAA,EACR;AACD;AAGO,IAAM,cAAA,GAAiB,CAAC,KAAA,KAA2B;AACzD,EAAA,IAAI;AACH,IAAA,MAAM,SAAA,GAAY,iBAAiB,KAAK,CAAA;AACxC,IAAA,OAAO,SAAA,EAAW,aAAe,SAAA,CAAU,UAAA,GAAa,MAAQ,IAAA,CAAK,GAAA,KAAS,CAAA,GAAK,KAAA;AAAA,EACpF,SAAS,GAAA,EAAU;AAClB,IAAA,OAAO,KAAA;AAAA,EACR;AACD","file":"chunk-SRW7OWVS.cjs","sourcesContent":["import type { ObjectType } from \"../src/types\"\n// import path from 'node:path'\n\n\n\nexport const sleep = async (ms: number): Promise<NodeJS.Timeout> => {\n\treturn new Promise(resolve => setTimeout(resolve, ms))\n}\n\n\nexport const sortObjectFields = (obj: ObjectType): ObjectType => {\n\tconst sorted = Object.keys(obj).sort().reduce((accumulator: ObjectType, key: string) => {\n\t\taccumulator[key] = obj[key];\n\t\treturn accumulator;\n\t}, {})\n\treturn sorted\n}\n\n/*\nconst nestedField = (obj: any, field: string): { key: string, val: any } => {\n\n\tlet fp = field\n\tif (fp.endsWith('.')) fp = fp.substring(0, fp.length-1)\n\n\tconst dots = field.split(\".\")\n\n\tconst key = dots[dots.length-1]\n\tlet val = obj\n\twhile (dots.length && (val = val[dots.shift() || '']))\n\t \n\treturn { key, val }\n}\n*/\n\n/*\nconst packageInfo = (fields?: string | string[], options?: any): Record<string, any> => {\n\tconst pjson = require(path.resolve('./', 'package.json'))\n\treturn fields? (Array.isArray(fields)? fields : [ fields ]).reduce((info: any, field) => {\n\t\t\tconst nf = nestedField(pjson, field)\n\t\t\tinfo[options?.nestedName? nf.key : field] = nf.val\n\t\t\treturn info\n\t\t}, {}) : pjson\n}\n*/\n\nexport type TokenData = {\n\torganization: string,\n\tdomain?: string,\n\texpiration: number\n}\n\nexport const extractTokenData = (token: string): TokenData | undefined => {\n\ttry {\n\t\tconst data = JSON.parse(atob(token.split('.')[1]))\n\t\treturn {\n\t\t\torganization: data.organization.slug,\n\t\t\tdomain: data.iss? String(data.iss).replace('https://auth.', '') : undefined,\n\t\t\texpiration: data.exp\n\t\t}\n\t} catch (err: any) {\n\t\treturn undefined\n\t}\n}\n\n\nexport const isTokenExpired = (token: string): boolean => {\n\ttry {\n\t\tconst tokenData = extractTokenData(token)\n\t\treturn tokenData?.expiration? (((tokenData.expiration * 1000) - Date.now()) < 0) : false\n\t} catch (err: any) {\n\t\treturn false\n\t}\n}\n"]}