@entur-partner/util 1.1.2 → 1.1.4

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.
@@ -1 +1 @@
1
- {"version":3,"file":"util.cjs.development.js","sources":["../src/assertions.ts","../src/helpers.ts","../src/date.ts","../src/permissions.ts"],"sourcesContent":["export function assertIsDefined<T>(\n val: T,\n message?: string\n): asserts val is NonNullable<T> {\n if (val === undefined || val === null) {\n if (message) {\n throw new Error(message);\n }\n throw new Error(`Expected 'val' to be defined, but received ${val}`);\n }\n}\n","export function isFunction<T>(functionToCheck: any): functionToCheck is T {\n return (\n functionToCheck && {}.toString.call(functionToCheck) === '[object Function]'\n );\n}\n\nexport function isString(stringToCheck: any): stringToCheck is string {\n return typeof stringToCheck === 'string' || stringToCheck instanceof String;\n}\n","import { format, parseISO, isDate as isDateFn } from 'date-fns';\nimport { nb } from 'date-fns/locale';\n\nimport { isString } from './helpers';\n\nconst formatLocalDate = (date: Date, locale: string, formatString: string) => {\n const localeConfig = locale === 'nb' ? { locale: nb } : {};\n return format(date, formatString, localeConfig);\n};\n\nexport const localeDate = (date: Date | string, locale: string) => {\n const dateObject = isString(date) ? parseISO(date) : date;\n return formatLocalDate(dateObject, locale, 'P');\n};\n\nexport const localeDateTime = (date: Date | string, locale: string) => {\n const dateObject = isString(date) ? parseISO(date) : date;\n return formatLocalDate(dateObject, locale, 'P - p');\n};\n\n// Redefine is Date for better type checking\nexport function isDate(dateToCheck: any): dateToCheck is Date {\n return isDateFn(dateToCheck);\n}\n\nexport const isDateString = (dateString: string) => {\n try {\n const date = parseISO(dateString);\n if (isNaN(date.getTime())) {\n return false;\n }\n return true;\n } catch (e) {\n return false;\n }\n};\n","import { BusinessCapability } from '@entur-partner/permission-client-node';\n\nfunction checkPermission(\n permission1: BusinessCapability,\n permission2: BusinessCapability\n) {\n return (\n permission1.access === permission2.access &&\n permission1.operation === permission2.operation\n );\n}\n\nexport function hasAllPermissions(\n all: BusinessCapability[] | BusinessCapability,\n permissions: BusinessCapability[]\n) {\n if (!Array.isArray(all)) {\n all = [all];\n }\n return all.every((requiredPermission) =>\n hasPermissions(permissions, requiredPermission)\n );\n}\n\nexport function hasOneOfPermissions(\n oneOf: BusinessCapability[],\n permissions: BusinessCapability[]\n) {\n return oneOf.length > 0\n ? oneOf.some((requiredPermission) =>\n hasPermissions(permissions, requiredPermission)\n )\n : true;\n}\n\nexport function hasPermissions(\n permissions: BusinessCapability[],\n requiredPermission: BusinessCapability\n) {\n return permissions.some((userPermission) =>\n checkPermission(requiredPermission, userPermission)\n );\n}\n"],"names":["assertIsDefined","val","message","undefined","Error","isFunction","functionToCheck","toString","call","isString","stringToCheck","String","formatLocalDate","date","locale","formatString","localeConfig","nb","format","localeDate","dateObject","parseISO","localeDateTime","isDate","dateToCheck","isDateFn","isDateString","dateString","isNaN","getTime","e","checkPermission","permission1","permission2","access","operation","hasAllPermissions","all","permissions","Array","isArray","every","requiredPermission","hasPermissions","hasOneOfPermissions","oneOf","length","some","userPermission"],"mappings":";;;;;;;SAAgBA,gBACdC,KACAC;AAEA,MAAID,GAAG,KAAKE,SAAR,IAAqBF,GAAG,KAAK,IAAjC,EAAuC;AACrC,QAAIC,OAAJ,EAAa;AACX,YAAM,IAAIE,KAAJ,CAAUF,OAAV,CAAN;AACD;;AACD,UAAM,IAAIE,KAAJ,iDAAwDH,GAAxD,CAAN;AACD;AACF;;SCVeI,WAAcC;AAC5B,SACEA,eAAe,IAAI,GAAGC,QAAH,CAAYC,IAAZ,CAAiBF,eAAjB,MAAsC,mBAD3D;AAGD;SAEeG,SAASC;AACvB,SAAO,OAAOA,aAAP,KAAyB,QAAzB,IAAqCA,aAAa,YAAYC,MAArE;AACD;;ACHD,IAAMC,eAAe,GAAG,SAAlBA,eAAkB,CAACC,IAAD,EAAaC,QAAb,EAA6BC,YAA7B;AACtB,MAAMC,YAAY,GAAGF,QAAM,KAAK,IAAX,GAAkB;AAAEA,IAAAA,MAAM,EAAEG;AAAV,GAAlB,GAAmC,EAAxD;AACA,SAAOC,cAAM,CAACL,IAAD,EAAOE,YAAP,EAAqBC,YAArB,CAAb;AACD,CAHD;;IAKaG,UAAU,GAAG,SAAbA,UAAa,CAACN,IAAD,EAAsBC,MAAtB;AACxB,MAAMM,UAAU,GAAGX,QAAQ,CAACI,IAAD,CAAR,GAAiBQ,gBAAQ,CAACR,IAAD,CAAzB,GAAkCA,IAArD;AACA,SAAOD,eAAe,CAACQ,UAAD,EAAaN,MAAb,EAAqB,GAArB,CAAtB;AACD;IAEYQ,cAAc,GAAG,SAAjBA,cAAiB,CAACT,IAAD,EAAsBC,MAAtB;AAC5B,MAAMM,UAAU,GAAGX,QAAQ,CAACI,IAAD,CAAR,GAAiBQ,gBAAQ,CAACR,IAAD,CAAzB,GAAkCA,IAArD;AACA,SAAOD,eAAe,CAACQ,UAAD,EAAaN,MAAb,EAAqB,OAArB,CAAtB;AACD;;SAGeS,OAAOC;AACrB,SAAOC,cAAQ,CAACD,WAAD,CAAf;AACD;IAEYE,YAAY,GAAG,SAAfA,YAAe,CAACC,UAAD;AAC1B,MAAI;AACF,QAAMd,IAAI,GAAGQ,gBAAQ,CAACM,UAAD,CAArB;;AACA,QAAIC,KAAK,CAACf,IAAI,CAACgB,OAAL,EAAD,CAAT,EAA2B;AACzB,aAAO,KAAP;AACD;;AACD,WAAO,IAAP;AACD,GAND,CAME,OAAOC,CAAP,EAAU;AACV,WAAO,KAAP;AACD;AACF;;ACjCD,SAASC,eAAT,CACEC,WADF,EAEEC,WAFF;AAIE,SACED,WAAW,CAACE,MAAZ,KAAuBD,WAAW,CAACC,MAAnC,IACAF,WAAW,CAACG,SAAZ,KAA0BF,WAAW,CAACE,SAFxC;AAID;;SAEeC,kBACdC,KACAC;AAEA,MAAI,CAACC,KAAK,CAACC,OAAN,CAAcH,GAAd,CAAL,EAAyB;AACvBA,IAAAA,GAAG,GAAG,CAACA,GAAD,CAAN;AACD;;AACD,SAAOA,GAAG,CAACI,KAAJ,CAAU,UAACC,kBAAD;AAAA,WACfC,cAAc,CAACL,WAAD,EAAcI,kBAAd,CADC;AAAA,GAAV,CAAP;AAGD;SAEeE,oBACdC,OACAP;AAEA,SAAOO,KAAK,CAACC,MAAN,GAAe,CAAf,GACHD,KAAK,CAACE,IAAN,CAAW,UAACL,kBAAD;AAAA,WACTC,cAAc,CAACL,WAAD,EAAcI,kBAAd,CADL;AAAA,GAAX,CADG,GAIH,IAJJ;AAKD;SAEeC,eACdL,aACAI;AAEA,SAAOJ,WAAW,CAACS,IAAZ,CAAiB,UAACC,cAAD;AAAA,WACtBjB,eAAe,CAACW,kBAAD,EAAqBM,cAArB,CADO;AAAA,GAAjB,CAAP;AAGD;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"util.cjs.development.js","sources":["../src/assertions.ts","../src/helpers.ts","../src/date.ts","../src/permissions.ts"],"sourcesContent":["export function assertIsDefined<T>(\n val: T,\n message?: string\n): asserts val is NonNullable<T> {\n if (val === undefined || val === null) {\n if (message) {\n throw new Error(message);\n }\n throw new Error(`Expected 'val' to be defined, but received ${val}`);\n }\n}\n","export function isFunction<T>(functionToCheck: any): functionToCheck is T {\n return (\n functionToCheck && {}.toString.call(functionToCheck) === '[object Function]'\n );\n}\n\nexport function isString(stringToCheck: any): stringToCheck is string {\n return typeof stringToCheck === 'string' || stringToCheck instanceof String;\n}\n","import { format, parseISO, isDate as isDateFn } from 'date-fns';\nimport { nb } from 'date-fns/locale';\n\nimport { isString } from './helpers';\n\nconst formatLocalDate = (date: Date, locale: string, formatString: string) => {\n const localeConfig = locale === 'nb' ? { locale: nb } : {};\n return format(date, formatString, localeConfig);\n};\n\nexport const localeDate = (date: Date | string, locale: string) => {\n const dateObject = isString(date) ? parseISO(date) : date;\n return formatLocalDate(dateObject, locale, 'P');\n};\n\nexport const localeDateTime = (date: Date | string, locale: string) => {\n const dateObject = isString(date) ? parseISO(date) : date;\n return formatLocalDate(dateObject, locale, 'P - p');\n};\n\n// Redefine is Date for better type checking\nexport function isDate(dateToCheck: any): dateToCheck is Date {\n return isDateFn(dateToCheck);\n}\n\nexport const isDateString = (dateString: string) => {\n try {\n const date = parseISO(dateString);\n if (isNaN(date.getTime())) {\n return false;\n }\n return true;\n } catch (e) {\n return false;\n }\n};\n","import { BusinessCapability } from '@entur-partner/permission-client-node';\n\nfunction checkPermission(\n permission1: BusinessCapability,\n permission2: BusinessCapability\n) {\n return (\n permission1.access === permission2.access &&\n permission1.operation === permission2.operation\n );\n}\n\nexport function hasAllPermissions(\n all: BusinessCapability[] | BusinessCapability,\n permissions: BusinessCapability[]\n) {\n if (!Array.isArray(all)) {\n all = [all];\n }\n return all.every((requiredPermission) =>\n hasPermissions(permissions, requiredPermission)\n );\n}\n\nexport function hasOneOfPermissions(\n oneOf: BusinessCapability[],\n permissions: BusinessCapability[]\n) {\n return oneOf.length > 0\n ? oneOf.some((requiredPermission) =>\n hasPermissions(permissions, requiredPermission)\n )\n : true;\n}\n\nexport function hasPermissions(\n permissions: BusinessCapability[],\n requiredPermission: BusinessCapability\n) {\n return permissions.some((userPermission) =>\n checkPermission(requiredPermission, userPermission)\n );\n}\n"],"names":["assertIsDefined","val","message","undefined","Error","isFunction","functionToCheck","toString","call","isString","stringToCheck","String","formatLocalDate","date","locale","formatString","localeConfig","nb","format","localeDate","dateObject","parseISO","localeDateTime","isDate","dateToCheck","isDateFn","isDateString","dateString","isNaN","getTime","e","checkPermission","permission1","permission2","access","operation","hasAllPermissions","all","permissions","Array","isArray","every","requiredPermission","hasPermissions","hasOneOfPermissions","oneOf","length","some","userPermission"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"util.cjs.production.min.js","sources":["../src/helpers.ts","../src/date.ts","../src/permissions.ts","../src/assertions.ts"],"sourcesContent":["export function isFunction<T>(functionToCheck: any): functionToCheck is T {\n return (\n functionToCheck && {}.toString.call(functionToCheck) === '[object Function]'\n );\n}\n\nexport function isString(stringToCheck: any): stringToCheck is string {\n return typeof stringToCheck === 'string' || stringToCheck instanceof String;\n}\n","import { format, parseISO, isDate as isDateFn } from 'date-fns';\nimport { nb } from 'date-fns/locale';\n\nimport { isString } from './helpers';\n\nconst formatLocalDate = (date: Date, locale: string, formatString: string) => {\n const localeConfig = locale === 'nb' ? { locale: nb } : {};\n return format(date, formatString, localeConfig);\n};\n\nexport const localeDate = (date: Date | string, locale: string) => {\n const dateObject = isString(date) ? parseISO(date) : date;\n return formatLocalDate(dateObject, locale, 'P');\n};\n\nexport const localeDateTime = (date: Date | string, locale: string) => {\n const dateObject = isString(date) ? parseISO(date) : date;\n return formatLocalDate(dateObject, locale, 'P - p');\n};\n\n// Redefine is Date for better type checking\nexport function isDate(dateToCheck: any): dateToCheck is Date {\n return isDateFn(dateToCheck);\n}\n\nexport const isDateString = (dateString: string) => {\n try {\n const date = parseISO(dateString);\n if (isNaN(date.getTime())) {\n return false;\n }\n return true;\n } catch (e) {\n return false;\n }\n};\n","import { BusinessCapability } from '@entur-partner/permission-client-node';\n\nfunction checkPermission(\n permission1: BusinessCapability,\n permission2: BusinessCapability\n) {\n return (\n permission1.access === permission2.access &&\n permission1.operation === permission2.operation\n );\n}\n\nexport function hasAllPermissions(\n all: BusinessCapability[] | BusinessCapability,\n permissions: BusinessCapability[]\n) {\n if (!Array.isArray(all)) {\n all = [all];\n }\n return all.every((requiredPermission) =>\n hasPermissions(permissions, requiredPermission)\n );\n}\n\nexport function hasOneOfPermissions(\n oneOf: BusinessCapability[],\n permissions: BusinessCapability[]\n) {\n return oneOf.length > 0\n ? oneOf.some((requiredPermission) =>\n hasPermissions(permissions, requiredPermission)\n )\n : true;\n}\n\nexport function hasPermissions(\n permissions: BusinessCapability[],\n requiredPermission: BusinessCapability\n) {\n return permissions.some((userPermission) =>\n checkPermission(requiredPermission, userPermission)\n );\n}\n","export function assertIsDefined<T>(\n val: T,\n message?: string\n): asserts val is NonNullable<T> {\n if (val === undefined || val === null) {\n if (message) {\n throw new Error(message);\n }\n throw new Error(`Expected 'val' to be defined, but received ${val}`);\n }\n}\n"],"names":["isString","stringToCheck","String","formatLocalDate","date","locale","formatString","format","nb","hasPermissions","permissions","requiredPermission","some","userPermission","permission1","access","permission2","operation","val","message","Error","all","Array","isArray","every","oneOf","length","dateToCheck","isDateFn","dateString","parseISO","isNaN","getTime","e","functionToCheck","toString","call","dateObject"],"mappings":"oIAMgBA,EAASC,SACS,iBAAlBA,GAA8BA,aAAyBC,OCFvE,IAAMC,EAAkB,SAACC,EAAYC,EAAgBC,UAE5CC,SAAOH,EAAME,EADY,OAAXD,EAAkB,CAAEA,OAAQG,MAAO,cC6B1CC,EACdC,EACAC,UAEOD,EAAYE,MAAK,SAACC,UApCzBC,EAqCkBH,GAjCJI,UAHdC,EAoCsCH,GAjCDE,QACnCD,EAAYG,YAAcD,EAAYC,UAN1C,IACEH,EACAE,sCCHAE,EACAC,MAEID,MAAAA,EAAmC,IACjCC,QACI,IAAIC,MAAMD,SAEZ,IAAIC,oDAAoDF,wCDKhEG,EACAX,UAEKY,MAAMC,QAAQF,KACjBA,EAAM,CAACA,IAEFA,EAAIG,OAAM,SAACb,UAChBF,EAAeC,EAAaC,4CAK9Bc,EACAf,WAEOe,EAAMC,OAAS,IAClBD,EAAMb,MAAK,SAACD,UACVF,EAAeC,EAAaC,wDDTbgB,UACdC,SAASD,yBAGU,SAACE,WAEnBzB,EAAO0B,WAASD,UAClBE,MAAM3B,EAAK4B,WAIf,MAAOC,UACA,gCDjCmBC,UAE1BA,GAAyD,sBAAtC,GAAGC,SAASC,KAAKF,0CCQd,SAAC9B,EAAqBC,OACxCgC,EAAarC,EAASI,GAAQ0B,WAAS1B,GAAQA,SAC9CD,EAAgBkC,EAAYhC,EAAQ,6BAGf,SAACD,EAAqBC,OAC5CgC,EAAarC,EAASI,GAAQ0B,WAAS1B,GAAQA,SAC9CD,EAAgBkC,EAAYhC,EAAQ"}
1
+ {"version":3,"file":"util.cjs.production.min.js","sources":["../src/helpers.ts","../src/date.ts","../src/permissions.ts","../src/assertions.ts"],"sourcesContent":["export function isFunction<T>(functionToCheck: any): functionToCheck is T {\n return (\n functionToCheck && {}.toString.call(functionToCheck) === '[object Function]'\n );\n}\n\nexport function isString(stringToCheck: any): stringToCheck is string {\n return typeof stringToCheck === 'string' || stringToCheck instanceof String;\n}\n","import { format, parseISO, isDate as isDateFn } from 'date-fns';\nimport { nb } from 'date-fns/locale';\n\nimport { isString } from './helpers';\n\nconst formatLocalDate = (date: Date, locale: string, formatString: string) => {\n const localeConfig = locale === 'nb' ? { locale: nb } : {};\n return format(date, formatString, localeConfig);\n};\n\nexport const localeDate = (date: Date | string, locale: string) => {\n const dateObject = isString(date) ? parseISO(date) : date;\n return formatLocalDate(dateObject, locale, 'P');\n};\n\nexport const localeDateTime = (date: Date | string, locale: string) => {\n const dateObject = isString(date) ? parseISO(date) : date;\n return formatLocalDate(dateObject, locale, 'P - p');\n};\n\n// Redefine is Date for better type checking\nexport function isDate(dateToCheck: any): dateToCheck is Date {\n return isDateFn(dateToCheck);\n}\n\nexport const isDateString = (dateString: string) => {\n try {\n const date = parseISO(dateString);\n if (isNaN(date.getTime())) {\n return false;\n }\n return true;\n } catch (e) {\n return false;\n }\n};\n","import { BusinessCapability } from '@entur-partner/permission-client-node';\n\nfunction checkPermission(\n permission1: BusinessCapability,\n permission2: BusinessCapability\n) {\n return (\n permission1.access === permission2.access &&\n permission1.operation === permission2.operation\n );\n}\n\nexport function hasAllPermissions(\n all: BusinessCapability[] | BusinessCapability,\n permissions: BusinessCapability[]\n) {\n if (!Array.isArray(all)) {\n all = [all];\n }\n return all.every((requiredPermission) =>\n hasPermissions(permissions, requiredPermission)\n );\n}\n\nexport function hasOneOfPermissions(\n oneOf: BusinessCapability[],\n permissions: BusinessCapability[]\n) {\n return oneOf.length > 0\n ? oneOf.some((requiredPermission) =>\n hasPermissions(permissions, requiredPermission)\n )\n : true;\n}\n\nexport function hasPermissions(\n permissions: BusinessCapability[],\n requiredPermission: BusinessCapability\n) {\n return permissions.some((userPermission) =>\n checkPermission(requiredPermission, userPermission)\n );\n}\n","export function assertIsDefined<T>(\n val: T,\n message?: string\n): asserts val is NonNullable<T> {\n if (val === undefined || val === null) {\n if (message) {\n throw new Error(message);\n }\n throw new Error(`Expected 'val' to be defined, but received ${val}`);\n }\n}\n"],"names":["isString","stringToCheck","String","formatLocalDate","date","locale","formatString","format","nb","hasPermissions","permissions","requiredPermission","some","userPermission","permission1","access","permission2","operation","val","message","Error","all","Array","isArray","every","oneOf","length","dateToCheck","isDateFn","dateString","parseISO","isNaN","getTime","e","functionToCheck","toString","call","dateObject"],"mappings":"2HAMM,SAAUA,EAASC,GACvB,MAAgC,iBAAlBA,GAA8BA,aAAyBC,OCFvE,IAAMC,EAAkB,SAACC,EAAYC,EAAgBC,GAEnD,OAAOC,SAAOH,EAAME,EADY,OAAXD,EAAkB,CAAEA,OAAQG,EAAAA,IAAO,KC6B1C,SAAAC,EACdC,EACAC,GAEA,OAAOD,EAAYE,MAAK,SAACC,GAAD,OApCxBC,EAqCkBH,GAjCJI,UAHdC,EAoCsCH,GAjCDE,QACnCD,EAAYG,YAAcD,EAAYC,UAN1C,IACEH,EACAE,6BCJc,SACdE,EACAC,GAEA,GAAID,MAAAA,EAAmC,CACrC,GAAIC,EACF,MAAM,IAAIC,MAAMD,GAElB,MAAM,IAAIC,MAAoDF,8CAAAA,+BDIlD,SACdG,EACAX,GAKA,OAHKY,MAAMC,QAAQF,KACjBA,EAAM,CAACA,IAEFA,EAAIG,OAAM,SAACb,GAAD,OACfF,EAAeC,EAAaC,mCAIhB,SACdc,EACAf,GAEOe,QAAAA,EAAMC,OAAS,IAClBD,EAAMb,MAAK,SAACD,GAAD,OACTF,EAAeC,EAAaC,+CDT9B,SAAiBgB,GACdC,OAAAA,EAAAA,OAASD,yBAGU,SAACE,GACvB,IACF,IAAMzB,EAAO0B,WAASD,GACtB,OAAIE,MAAM3B,EAAK4B,WAIf,MAAOC,GACP,OAAO,uBDjCL,SAAwBC,GAE1BA,OAAAA,GAAyD,sBAAtC,GAAGC,SAASC,KAAKF,0CCQd,SAAC9B,EAAqBC,GAC9C,IAAMgC,EAAarC,EAASI,GAAQ0B,EAAAA,SAAS1B,GAAQA,EACrD,OAAOD,EAAgBkC,EAAYhC,EAAQ,6BAGf,SAACD,EAAqBC,GAClD,IAAMgC,EAAarC,EAASI,GAAQ0B,EAAAA,SAAS1B,GAAQA,EACrD,OAAOD,EAAgBkC,EAAYhC,EAAQ"}
@@ -1 +1 @@
1
- {"version":3,"file":"util.esm.js","sources":["../src/assertions.ts","../src/helpers.ts","../src/date.ts","../src/permissions.ts"],"sourcesContent":["export function assertIsDefined<T>(\n val: T,\n message?: string\n): asserts val is NonNullable<T> {\n if (val === undefined || val === null) {\n if (message) {\n throw new Error(message);\n }\n throw new Error(`Expected 'val' to be defined, but received ${val}`);\n }\n}\n","export function isFunction<T>(functionToCheck: any): functionToCheck is T {\n return (\n functionToCheck && {}.toString.call(functionToCheck) === '[object Function]'\n );\n}\n\nexport function isString(stringToCheck: any): stringToCheck is string {\n return typeof stringToCheck === 'string' || stringToCheck instanceof String;\n}\n","import { format, parseISO, isDate as isDateFn } from 'date-fns';\nimport { nb } from 'date-fns/locale';\n\nimport { isString } from './helpers';\n\nconst formatLocalDate = (date: Date, locale: string, formatString: string) => {\n const localeConfig = locale === 'nb' ? { locale: nb } : {};\n return format(date, formatString, localeConfig);\n};\n\nexport const localeDate = (date: Date | string, locale: string) => {\n const dateObject = isString(date) ? parseISO(date) : date;\n return formatLocalDate(dateObject, locale, 'P');\n};\n\nexport const localeDateTime = (date: Date | string, locale: string) => {\n const dateObject = isString(date) ? parseISO(date) : date;\n return formatLocalDate(dateObject, locale, 'P - p');\n};\n\n// Redefine is Date for better type checking\nexport function isDate(dateToCheck: any): dateToCheck is Date {\n return isDateFn(dateToCheck);\n}\n\nexport const isDateString = (dateString: string) => {\n try {\n const date = parseISO(dateString);\n if (isNaN(date.getTime())) {\n return false;\n }\n return true;\n } catch (e) {\n return false;\n }\n};\n","import { BusinessCapability } from '@entur-partner/permission-client-node';\n\nfunction checkPermission(\n permission1: BusinessCapability,\n permission2: BusinessCapability\n) {\n return (\n permission1.access === permission2.access &&\n permission1.operation === permission2.operation\n );\n}\n\nexport function hasAllPermissions(\n all: BusinessCapability[] | BusinessCapability,\n permissions: BusinessCapability[]\n) {\n if (!Array.isArray(all)) {\n all = [all];\n }\n return all.every((requiredPermission) =>\n hasPermissions(permissions, requiredPermission)\n );\n}\n\nexport function hasOneOfPermissions(\n oneOf: BusinessCapability[],\n permissions: BusinessCapability[]\n) {\n return oneOf.length > 0\n ? oneOf.some((requiredPermission) =>\n hasPermissions(permissions, requiredPermission)\n )\n : true;\n}\n\nexport function hasPermissions(\n permissions: BusinessCapability[],\n requiredPermission: BusinessCapability\n) {\n return permissions.some((userPermission) =>\n checkPermission(requiredPermission, userPermission)\n );\n}\n"],"names":["assertIsDefined","val","message","undefined","Error","isFunction","functionToCheck","toString","call","isString","stringToCheck","String","formatLocalDate","date","locale","formatString","localeConfig","nb","format","localeDate","dateObject","parseISO","localeDateTime","isDate","dateToCheck","isDateFn","isDateString","dateString","isNaN","getTime","e","checkPermission","permission1","permission2","access","operation","hasAllPermissions","all","permissions","Array","isArray","every","requiredPermission","hasPermissions","hasOneOfPermissions","oneOf","length","some","userPermission"],"mappings":";;;SAAgBA,gBACdC,KACAC;AAEA,MAAID,GAAG,KAAKE,SAAR,IAAqBF,GAAG,KAAK,IAAjC,EAAuC;AACrC,QAAIC,OAAJ,EAAa;AACX,YAAM,IAAIE,KAAJ,CAAUF,OAAV,CAAN;AACD;;AACD,UAAM,IAAIE,KAAJ,iDAAwDH,GAAxD,CAAN;AACD;AACF;;SCVeI,WAAcC;AAC5B,SACEA,eAAe,IAAI,GAAGC,QAAH,CAAYC,IAAZ,CAAiBF,eAAjB,MAAsC,mBAD3D;AAGD;SAEeG,SAASC;AACvB,SAAO,OAAOA,aAAP,KAAyB,QAAzB,IAAqCA,aAAa,YAAYC,MAArE;AACD;;ACHD,IAAMC,eAAe,GAAG,SAAlBA,eAAkB,CAACC,IAAD,EAAaC,MAAb,EAA6BC,YAA7B;AACtB,MAAMC,YAAY,GAAGF,MAAM,KAAK,IAAX,GAAkB;AAAEA,IAAAA,MAAM,EAAEG;AAAV,GAAlB,GAAmC,EAAxD;AACA,SAAOC,MAAM,CAACL,IAAD,EAAOE,YAAP,EAAqBC,YAArB,CAAb;AACD,CAHD;;IAKaG,UAAU,GAAG,SAAbA,UAAa,CAACN,IAAD,EAAsBC,MAAtB;AACxB,MAAMM,UAAU,GAAGX,QAAQ,CAACI,IAAD,CAAR,GAAiBQ,QAAQ,CAACR,IAAD,CAAzB,GAAkCA,IAArD;AACA,SAAOD,eAAe,CAACQ,UAAD,EAAaN,MAAb,EAAqB,GAArB,CAAtB;AACD;IAEYQ,cAAc,GAAG,SAAjBA,cAAiB,CAACT,IAAD,EAAsBC,MAAtB;AAC5B,MAAMM,UAAU,GAAGX,QAAQ,CAACI,IAAD,CAAR,GAAiBQ,QAAQ,CAACR,IAAD,CAAzB,GAAkCA,IAArD;AACA,SAAOD,eAAe,CAACQ,UAAD,EAAaN,MAAb,EAAqB,OAArB,CAAtB;AACD;;SAGeS,OAAOC;AACrB,SAAOC,QAAQ,CAACD,WAAD,CAAf;AACD;IAEYE,YAAY,GAAG,SAAfA,YAAe,CAACC,UAAD;AAC1B,MAAI;AACF,QAAMd,IAAI,GAAGQ,QAAQ,CAACM,UAAD,CAArB;;AACA,QAAIC,KAAK,CAACf,IAAI,CAACgB,OAAL,EAAD,CAAT,EAA2B;AACzB,aAAO,KAAP;AACD;;AACD,WAAO,IAAP;AACD,GAND,CAME,OAAOC,CAAP,EAAU;AACV,WAAO,KAAP;AACD;AACF;;ACjCD,SAASC,eAAT,CACEC,WADF,EAEEC,WAFF;AAIE,SACED,WAAW,CAACE,MAAZ,KAAuBD,WAAW,CAACC,MAAnC,IACAF,WAAW,CAACG,SAAZ,KAA0BF,WAAW,CAACE,SAFxC;AAID;;SAEeC,kBACdC,KACAC;AAEA,MAAI,CAACC,KAAK,CAACC,OAAN,CAAcH,GAAd,CAAL,EAAyB;AACvBA,IAAAA,GAAG,GAAG,CAACA,GAAD,CAAN;AACD;;AACD,SAAOA,GAAG,CAACI,KAAJ,CAAU,UAACC,kBAAD;AAAA,WACfC,cAAc,CAACL,WAAD,EAAcI,kBAAd,CADC;AAAA,GAAV,CAAP;AAGD;SAEeE,oBACdC,OACAP;AAEA,SAAOO,KAAK,CAACC,MAAN,GAAe,CAAf,GACHD,KAAK,CAACE,IAAN,CAAW,UAACL,kBAAD;AAAA,WACTC,cAAc,CAACL,WAAD,EAAcI,kBAAd,CADL;AAAA,GAAX,CADG,GAIH,IAJJ;AAKD;SAEeC,eACdL,aACAI;AAEA,SAAOJ,WAAW,CAACS,IAAZ,CAAiB,UAACC,cAAD;AAAA,WACtBjB,eAAe,CAACW,kBAAD,EAAqBM,cAArB,CADO;AAAA,GAAjB,CAAP;AAGD;;;;"}
1
+ {"version":3,"file":"util.esm.js","sources":["../src/assertions.ts","../src/helpers.ts","../src/date.ts","../src/permissions.ts"],"sourcesContent":["export function assertIsDefined<T>(\n val: T,\n message?: string\n): asserts val is NonNullable<T> {\n if (val === undefined || val === null) {\n if (message) {\n throw new Error(message);\n }\n throw new Error(`Expected 'val' to be defined, but received ${val}`);\n }\n}\n","export function isFunction<T>(functionToCheck: any): functionToCheck is T {\n return (\n functionToCheck && {}.toString.call(functionToCheck) === '[object Function]'\n );\n}\n\nexport function isString(stringToCheck: any): stringToCheck is string {\n return typeof stringToCheck === 'string' || stringToCheck instanceof String;\n}\n","import { format, parseISO, isDate as isDateFn } from 'date-fns';\nimport { nb } from 'date-fns/locale';\n\nimport { isString } from './helpers';\n\nconst formatLocalDate = (date: Date, locale: string, formatString: string) => {\n const localeConfig = locale === 'nb' ? { locale: nb } : {};\n return format(date, formatString, localeConfig);\n};\n\nexport const localeDate = (date: Date | string, locale: string) => {\n const dateObject = isString(date) ? parseISO(date) : date;\n return formatLocalDate(dateObject, locale, 'P');\n};\n\nexport const localeDateTime = (date: Date | string, locale: string) => {\n const dateObject = isString(date) ? parseISO(date) : date;\n return formatLocalDate(dateObject, locale, 'P - p');\n};\n\n// Redefine is Date for better type checking\nexport function isDate(dateToCheck: any): dateToCheck is Date {\n return isDateFn(dateToCheck);\n}\n\nexport const isDateString = (dateString: string) => {\n try {\n const date = parseISO(dateString);\n if (isNaN(date.getTime())) {\n return false;\n }\n return true;\n } catch (e) {\n return false;\n }\n};\n","import { BusinessCapability } from '@entur-partner/permission-client-node';\n\nfunction checkPermission(\n permission1: BusinessCapability,\n permission2: BusinessCapability\n) {\n return (\n permission1.access === permission2.access &&\n permission1.operation === permission2.operation\n );\n}\n\nexport function hasAllPermissions(\n all: BusinessCapability[] | BusinessCapability,\n permissions: BusinessCapability[]\n) {\n if (!Array.isArray(all)) {\n all = [all];\n }\n return all.every((requiredPermission) =>\n hasPermissions(permissions, requiredPermission)\n );\n}\n\nexport function hasOneOfPermissions(\n oneOf: BusinessCapability[],\n permissions: BusinessCapability[]\n) {\n return oneOf.length > 0\n ? oneOf.some((requiredPermission) =>\n hasPermissions(permissions, requiredPermission)\n )\n : true;\n}\n\nexport function hasPermissions(\n permissions: BusinessCapability[],\n requiredPermission: BusinessCapability\n) {\n return permissions.some((userPermission) =>\n checkPermission(requiredPermission, userPermission)\n );\n}\n"],"names":["assertIsDefined","val","message","undefined","Error","isFunction","functionToCheck","toString","call","isString","stringToCheck","String","formatLocalDate","date","locale","formatString","localeConfig","nb","format","localeDate","dateObject","parseISO","localeDateTime","isDate","dateToCheck","isDateFn","isDateString","dateString","isNaN","getTime","e","checkPermission","permission1","permission2","access","operation","hasAllPermissions","all","permissions","Array","isArray","every","requiredPermission","hasPermissions","hasOneOfPermissions","oneOf","length","some","userPermission"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@entur-partner/util",
3
- "version": "1.1.2",
3
+ "version": "1.1.4",
4
4
  "license": "EUPL-1.2",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/util.esm.js",
@@ -26,7 +26,7 @@
26
26
  "date-fns": "^2.16.1"
27
27
  },
28
28
  "devDependencies": {
29
- "@entur-partner/permission-client-node": "1.1.3"
29
+ "@entur-partner/permission-client-node": "2.3.1"
30
30
  },
31
31
  "jest": {
32
32
  "collectCoverageFrom": [
@@ -38,5 +38,5 @@
38
38
  "reportFile": "jest-sonar-report.xml",
39
39
  "indent": 4
40
40
  },
41
- "gitHead": "ba34d91c553fbd985db00d3c8a4ea4d4dca75564"
41
+ "gitHead": "a99081e636e0b55fe3c449d9ab2bf2152ec269db"
42
42
  }
package/CHANGELOG.md DELETED
@@ -1,30 +0,0 @@
1
- # Change Log
2
-
3
- All notable changes to this project will be documented in this file.
4
- See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
-
6
- ## [1.1.2](https://bitbucket.org/enturas/entur-partner-packages/compare/@entur-partner/util@1.1.1...@entur-partner/util@1.1.2) (2022-02-10)
7
-
8
- **Note:** Version bump only for package @entur-partner/util
9
-
10
- ## [1.1.1](https://bitbucket.org/enturas/entur-partner-packages/compare/@entur-partner/util@1.1.0...@entur-partner/util@1.1.1) (2022-02-07)
11
-
12
- ### Bug Fixes
13
-
14
- - **deps:** pin dependencies ([840fa3d](https://bitbucket.org/enturas/entur-partner-packages/commits/840fa3d44ce62deea2a69131d30da4d979bc8fe9))
15
-
16
- # [1.1.0](https://bitbucket.org/enturas/entur-partner-packages/compare/@entur-partner/util@1.0.2...@entur-partner/util@1.1.0) (2020-12-02)
17
-
18
- ### Features
19
-
20
- - add permissions checks ([c8a3e16](https://bitbucket.org/enturas/entur-partner-packages/commits/c8a3e16cb808d87edfb35908e6def30cfe85e09b))
21
-
22
- ## [1.0.2](https://bitbucket.org/enturas/entur-partner-packages/compare/@entur-partner/util@1.0.1...@entur-partner/util@1.0.2) (2020-11-24)
23
-
24
- ### Bug Fixes
25
-
26
- - try fix date.test on windows ([52c856d](https://bitbucket.org/enturas/entur-partner-packages/commits/52c856dbda453b370a8a503b532cf04dd72426b9))
27
-
28
- ## [1.0.1](https://bitbucket.org/enturas/entur-partner-packages/compare/@entur-partner/util@1.0.0...@entur-partner/util@1.0.1) (2020-11-23)
29
-
30
- **Note:** Version bump only for package @entur-partner/util