@entur-partner/util 1.3.2-alpha.0 → 1.3.2-alpha.1
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.
- package/dist/assertions.d.ts +1 -1
- package/dist/date.d.ts +4 -4
- package/dist/helpers.d.ts +2 -2
- package/dist/index.d.ts +5 -5
- package/dist/permissions.d.ts +4 -4
- package/dist/splitUrlPath.d.ts +7 -7
- package/dist/util.cjs.development.js +5 -5
- package/dist/util.cjs.development.js.map +1 -1
- package/dist/util.cjs.production.min.js +1 -1
- package/dist/util.cjs.production.min.js.map +1 -1
- package/dist/util.esm.js +5 -5
- package/dist/util.esm.js.map +1 -1
- package/package.json +3 -3
package/dist/assertions.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare function assertIsDefined<T>(val: T, message?: string): asserts val is NonNullable<T>;
|
|
1
|
+
export declare function assertIsDefined<T>(val: T, message?: string): asserts val is NonNullable<T>;
|
package/dist/date.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export declare const localeDate: (date: Date | string, locale: string) => string;
|
|
2
|
-
export declare const localeDateTime: (date: Date | string, locale: string) => string;
|
|
3
|
-
export declare function isDate(dateToCheck: unknown): dateToCheck is Date;
|
|
4
|
-
export declare const isDateString: (dateString: string) => boolean;
|
|
1
|
+
export declare const localeDate: (date: Date | string, locale: string) => string;
|
|
2
|
+
export declare const localeDateTime: (date: Date | string, locale: string) => string;
|
|
3
|
+
export declare function isDate(dateToCheck: unknown): dateToCheck is Date;
|
|
4
|
+
export declare const isDateString: (dateString: string) => boolean;
|
package/dist/helpers.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare function isFunction<T>(functionToCheck: unknown): functionToCheck is T;
|
|
2
|
-
export declare function isString(stringToCheck: unknown): stringToCheck is string;
|
|
1
|
+
export declare function isFunction<T>(functionToCheck: unknown): functionToCheck is T;
|
|
2
|
+
export declare function isString(stringToCheck: unknown): stringToCheck is string;
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { assertIsDefined } from "./assertions";
|
|
2
|
-
export { isDate, isDateString, localeDate, localeDateTime } from "./date";
|
|
3
|
-
export { isFunction, isString } from "./helpers";
|
|
4
|
-
export * from "./permissions";
|
|
5
|
-
export * from "./splitUrlPath";
|
|
1
|
+
export { assertIsDefined } from "./assertions";
|
|
2
|
+
export { isDate, isDateString, localeDate, localeDateTime } from "./date";
|
|
3
|
+
export { isFunction, isString } from "./helpers";
|
|
4
|
+
export * from "./permissions";
|
|
5
|
+
export * from "./splitUrlPath";
|
package/dist/permissions.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { BusinessCapability } from "@entur-partner/permission-client-node";
|
|
2
|
-
export declare function hasAllPermissions(all: BusinessCapability[] | BusinessCapability, permissions: BusinessCapability[]): boolean;
|
|
3
|
-
export declare function hasOneOfPermissions(oneOf: BusinessCapability[], permissions: BusinessCapability[]): boolean;
|
|
4
|
-
export declare function hasPermissions(permissions: BusinessCapability[], requiredPermission: BusinessCapability): boolean;
|
|
1
|
+
import type { BusinessCapability } from "@entur-partner/permission-client-node";
|
|
2
|
+
export declare function hasAllPermissions(all: BusinessCapability[] | BusinessCapability, permissions: BusinessCapability[]): boolean;
|
|
3
|
+
export declare function hasOneOfPermissions(oneOf: BusinessCapability[], permissions: BusinessCapability[]): boolean;
|
|
4
|
+
export declare function hasPermissions(permissions: BusinessCapability[], requiredPermission: BusinessCapability): boolean;
|
package/dist/splitUrlPath.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Split pathname into array of subpaths. Used by Breadcrumbs.tsx and PageTitle.tsx
|
|
3
|
-
*
|
|
4
|
-
* @param pathname location.pathname
|
|
5
|
-
* @returns array of subpaths
|
|
6
|
-
*/
|
|
7
|
-
export declare function splitUrlPath(pathname: string): string[];
|
|
1
|
+
/**
|
|
2
|
+
* Split pathname into array of subpaths. Used by Breadcrumbs.tsx and PageTitle.tsx
|
|
3
|
+
*
|
|
4
|
+
* @param pathname location.pathname
|
|
5
|
+
* @returns array of subpaths
|
|
6
|
+
*/
|
|
7
|
+
export declare function splitUrlPath(pathname: string): string[];
|
|
@@ -90,11 +90,11 @@ function hasPermissions(permissions, requiredPermission) {
|
|
|
90
90
|
});
|
|
91
91
|
}
|
|
92
92
|
|
|
93
|
-
/**
|
|
94
|
-
* Split pathname into array of subpaths. Used by Breadcrumbs.tsx and PageTitle.tsx
|
|
95
|
-
*
|
|
96
|
-
* @param pathname location.pathname
|
|
97
|
-
* @returns array of subpaths
|
|
93
|
+
/**
|
|
94
|
+
* Split pathname into array of subpaths. Used by Breadcrumbs.tsx and PageTitle.tsx
|
|
95
|
+
*
|
|
96
|
+
* @param pathname location.pathname
|
|
97
|
+
* @returns array of subpaths
|
|
98
98
|
*/
|
|
99
99
|
function splitUrlPath(pathname) {
|
|
100
100
|
var paths = pathname === "/" ? [] : ["/"];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.cjs.development.js","sources":["../src/assertions.ts","../src/helpers.ts","../src/date.ts","../src/permissions.ts","../src/splitUrlPath.ts"],"sourcesContent":["export function assertIsDefined<T>(\n\tval: T,\n\tmessage?: string,\n): asserts val is NonNullable<T> {\n\tif (val === undefined || val === null) {\n\t\tif (message) {\n\t\t\tthrow new Error(message);\n\t\t}\n\t\tthrow new Error(`Expected 'val' to be defined, but received ${val}`);\n\t}\n}\n","export function isFunction<T>(functionToCheck: unknown): functionToCheck is T {\n\treturn typeof functionToCheck === \"function\";\n}\n\nexport function isString(stringToCheck: unknown): stringToCheck is string {\n\treturn typeof stringToCheck === \"string\" || stringToCheck instanceof String;\n}\n","import { format, isDate as isDateFn, parseISO } from \"date-fns\";\nimport { enGB, nb } from \"date-fns/locale\";\n\nimport { isString } from \"./helpers\";\n\nconst formatLocalDate = (date: Date, locale: string, formatString: string) => {\n\tconst localeConfig = {};\n\tswitch (locale) {\n\t\tcase \"nb\":\n\t\tcase \"nb-NO\":\n\t\t\tObject.assign(localeConfig, { locale: nb });\n\t\t\tbreak;\n\t\tcase \"en\":\n\t\tcase \"en-GB\":\n\t\t\tObject.assign(localeConfig, { locale: enGB });\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tObject.assign(localeConfig, { locale: enGB });\n\t\t\tbreak;\n\t}\n\n\treturn format(date, formatString, localeConfig);\n};\n\nexport const localeDate = (date: Date | string, locale: string) => {\n\tconst dateObject = isString(date) ? parseISO(date) : date;\n\treturn formatLocalDate(dateObject, locale, \"P\");\n};\n\nexport const localeDateTime = (date: Date | string, locale: string) => {\n\tconst dateObject = isString(date) ? parseISO(date) : date;\n\treturn formatLocalDate(dateObject, locale, \"P - p\");\n};\n\n// Redefine is Date for better type checking\nexport function isDate(dateToCheck: unknown): dateToCheck is Date {\n\treturn isDateFn(dateToCheck);\n}\n\nexport const isDateString = (dateString: string) => {\n\ttry {\n\t\tconst date = parseISO(dateString);\n\t\tif (Number.isNaN(date.getTime())) {\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t} catch (_e) {\n\t\treturn false;\n\t}\n};\n","import type { BusinessCapability } from \"@entur-partner/permission-client-node\";\n\nfunction checkPermission(\n\tpermission1: BusinessCapability,\n\tpermission2: BusinessCapability,\n) {\n\treturn (\n\t\tpermission1.access === permission2.access &&\n\t\tpermission1.operation === permission2.operation\n\t);\n}\n\nexport function hasAllPermissions(\n\tall: BusinessCapability[] | BusinessCapability,\n\tpermissions: BusinessCapability[],\n) {\n\tif (!Array.isArray(all)) {\n\t\tall = [all];\n\t}\n\treturn all.every((requiredPermission) =>\n\t\thasPermissions(permissions, requiredPermission),\n\t);\n}\n\nexport function hasOneOfPermissions(\n\toneOf: BusinessCapability[],\n\tpermissions: BusinessCapability[],\n) {\n\treturn oneOf.length > 0\n\t\t? oneOf.some((requiredPermission) =>\n\t\t\t\thasPermissions(permissions, requiredPermission),\n\t\t\t)\n\t\t: true;\n}\n\nexport function hasPermissions(\n\tpermissions: BusinessCapability[],\n\trequiredPermission: BusinessCapability,\n) {\n\treturn permissions.some((userPermission) =>\n\t\tcheckPermission(requiredPermission, userPermission),\n\t);\n}\n","/**\n * Split pathname into array of subpaths. Used by Breadcrumbs.tsx and PageTitle.tsx\n *\n * @param pathname location.pathname\n * @returns array of subpaths\n */\nexport function splitUrlPath(pathname: string) {\n\tconst paths: string[] = pathname === \"/\" ? [] : [\"/\"];\n\n\t// support paths with and without trailing slash, except root\n\tconst adjustedPathname =\n\t\tpathname.length > 1 ? pathname.replace(/\\/$/, \"\") : pathname;\n\n\tadjustedPathname.split(\"/\").reduce((prev, curr) => {\n\t\tconst path = `${prev}/${curr}`;\n\t\tpaths.push(path);\n\t\treturn path;\n\t});\n\n\treturn paths;\n}\n"],"names":["assertIsDefined","val","message","undefined","Error","isFunction","functionToCheck","isString","stringToCheck","String","formatLocalDate","date","locale","formatString","localeConfig","Object","assign","nb","enGB","format","localeDate","dateObject","parseISO","localeDateTime","isDate","dateToCheck","isDateFn","isDateString","dateString","Number","isNaN","getTime","_e","checkPermission","permission1","permission2","access","operation","hasAllPermissions","all","permissions","Array","isArray","every","requiredPermission","hasPermissions","hasOneOfPermissions","oneOf","length","some","userPermission","splitUrlPath","pathname","paths","adjustedPathname","replace","split","reduce","prev","curr","path","push"],"mappings":";;;;;;;AAAgB,SAAAA,eAAeA,CAC9BC,GAAM,EACNC,OAAgB,EAAA;AAEhB,EAAA,IAAID,GAAG,KAAKE,SAAS,IAAIF,GAAG,KAAK,IAAI,EAAE;AACtC,IAAA,IAAIC,OAAO,EAAE;AACZ,MAAA,MAAM,IAAIE,KAAK,CAACF,OAAO,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"util.cjs.development.js","sources":["../src/assertions.ts","../src/helpers.ts","../src/date.ts","../src/permissions.ts","../src/splitUrlPath.ts"],"sourcesContent":["export function assertIsDefined<T>(\n\tval: T,\n\tmessage?: string,\n): asserts val is NonNullable<T> {\n\tif (val === undefined || val === null) {\n\t\tif (message) {\n\t\t\tthrow new Error(message);\n\t\t}\n\t\tthrow new Error(`Expected 'val' to be defined, but received ${val}`);\n\t}\n}\n","export function isFunction<T>(functionToCheck: unknown): functionToCheck is T {\n\treturn typeof functionToCheck === \"function\";\n}\n\nexport function isString(stringToCheck: unknown): stringToCheck is string {\n\treturn typeof stringToCheck === \"string\" || stringToCheck instanceof String;\n}\n","import { format, isDate as isDateFn, parseISO } from \"date-fns\";\nimport { enGB, nb } from \"date-fns/locale\";\n\nimport { isString } from \"./helpers\";\n\nconst formatLocalDate = (date: Date, locale: string, formatString: string) => {\n\tconst localeConfig = {};\n\tswitch (locale) {\n\t\tcase \"nb\":\n\t\tcase \"nb-NO\":\n\t\t\tObject.assign(localeConfig, { locale: nb });\n\t\t\tbreak;\n\t\tcase \"en\":\n\t\tcase \"en-GB\":\n\t\t\tObject.assign(localeConfig, { locale: enGB });\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tObject.assign(localeConfig, { locale: enGB });\n\t\t\tbreak;\n\t}\n\n\treturn format(date, formatString, localeConfig);\n};\n\nexport const localeDate = (date: Date | string, locale: string) => {\n\tconst dateObject = isString(date) ? parseISO(date) : date;\n\treturn formatLocalDate(dateObject, locale, \"P\");\n};\n\nexport const localeDateTime = (date: Date | string, locale: string) => {\n\tconst dateObject = isString(date) ? parseISO(date) : date;\n\treturn formatLocalDate(dateObject, locale, \"P - p\");\n};\n\n// Redefine is Date for better type checking\nexport function isDate(dateToCheck: unknown): dateToCheck is Date {\n\treturn isDateFn(dateToCheck);\n}\n\nexport const isDateString = (dateString: string) => {\n\ttry {\n\t\tconst date = parseISO(dateString);\n\t\tif (Number.isNaN(date.getTime())) {\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t} catch (_e) {\n\t\treturn false;\n\t}\n};\n","import type { BusinessCapability } from \"@entur-partner/permission-client-node\";\n\nfunction checkPermission(\n\tpermission1: BusinessCapability,\n\tpermission2: BusinessCapability,\n) {\n\treturn (\n\t\tpermission1.access === permission2.access &&\n\t\tpermission1.operation === permission2.operation\n\t);\n}\n\nexport function hasAllPermissions(\n\tall: BusinessCapability[] | BusinessCapability,\n\tpermissions: BusinessCapability[],\n) {\n\tif (!Array.isArray(all)) {\n\t\tall = [all];\n\t}\n\treturn all.every((requiredPermission) =>\n\t\thasPermissions(permissions, requiredPermission),\n\t);\n}\n\nexport function hasOneOfPermissions(\n\toneOf: BusinessCapability[],\n\tpermissions: BusinessCapability[],\n) {\n\treturn oneOf.length > 0\n\t\t? oneOf.some((requiredPermission) =>\n\t\t\t\thasPermissions(permissions, requiredPermission),\n\t\t\t)\n\t\t: true;\n}\n\nexport function hasPermissions(\n\tpermissions: BusinessCapability[],\n\trequiredPermission: BusinessCapability,\n) {\n\treturn permissions.some((userPermission) =>\n\t\tcheckPermission(requiredPermission, userPermission),\n\t);\n}\n","/**\n * Split pathname into array of subpaths. Used by Breadcrumbs.tsx and PageTitle.tsx\n *\n * @param pathname location.pathname\n * @returns array of subpaths\n */\nexport function splitUrlPath(pathname: string) {\n\tconst paths: string[] = pathname === \"/\" ? [] : [\"/\"];\n\n\t// support paths with and without trailing slash, except root\n\tconst adjustedPathname =\n\t\tpathname.length > 1 ? pathname.replace(/\\/$/, \"\") : pathname;\n\n\tadjustedPathname.split(\"/\").reduce((prev, curr) => {\n\t\tconst path = `${prev}/${curr}`;\n\t\tpaths.push(path);\n\t\treturn path;\n\t});\n\n\treturn paths;\n}\n"],"names":["assertIsDefined","val","message","undefined","Error","isFunction","functionToCheck","isString","stringToCheck","String","formatLocalDate","date","locale","formatString","localeConfig","Object","assign","nb","enGB","format","localeDate","dateObject","parseISO","localeDateTime","isDate","dateToCheck","isDateFn","isDateString","dateString","Number","isNaN","getTime","_e","checkPermission","permission1","permission2","access","operation","hasAllPermissions","all","permissions","Array","isArray","every","requiredPermission","hasPermissions","hasOneOfPermissions","oneOf","length","some","userPermission","splitUrlPath","pathname","paths","adjustedPathname","replace","split","reduce","prev","curr","path","push"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("date-fns"),r=require("date-fns/locale");function t(e){return"string"==typeof e||e instanceof String}var n=function(t,n,s){var o={};switch(n){case"nb":case"nb-NO":Object.assign(o,{locale:r.nb});break;default:Object.assign(o,{locale:r.enGB})}return e.format(t,s,o)};function s(e,r){return e.some(
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("date-fns"),r=require("date-fns/locale");function t(e){return"string"==typeof e||e instanceof String}var n=function(t,n,s){var o={};switch(n){case"nb":case"nb-NO":Object.assign(o,{locale:r.nb});break;default:Object.assign(o,{locale:r.enGB})}return e.format(t,s,o)};function s(e,r){return e.some(function(e){return(t=r).access===(n=e).access&&t.operation===n.operation;var t,n})}exports.assertIsDefined=function(e,r){if(null==e){if(r)throw new Error(r);throw new Error("Expected 'val' to be defined, but received "+e)}},exports.hasAllPermissions=function(e,r){return Array.isArray(e)||(e=[e]),e.every(function(e){return s(r,e)})},exports.hasOneOfPermissions=function(e,r){return!(e.length>0)||e.some(function(e){return s(r,e)})},exports.hasPermissions=s,exports.isDate=function(r){return e.isDate(r)},exports.isDateString=function(r){try{var t=e.parseISO(r);return!Number.isNaN(t.getTime())}catch(e){return!1}},exports.isFunction=function(e){return"function"==typeof e},exports.isString=t,exports.localeDate=function(r,s){var o=t(r)?e.parseISO(r):r;return n(o,s,"P")},exports.localeDateTime=function(r,s){var o=t(r)?e.parseISO(r):r;return n(o,s,"P - p")},exports.splitUrlPath=function(e){var r="/"===e?[]:["/"];return(e.length>1?e.replace(/\/$/,""):e).split("/").reduce(function(e,t){var n=e+"/"+t;return r.push(n),n}),r};
|
|
2
2
|
//# sourceMappingURL=util.cjs.production.min.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.cjs.production.min.js","sources":["../src/helpers.ts","../src/date.ts","../src/permissions.ts","../src/assertions.ts","../src/splitUrlPath.ts"],"sourcesContent":["export function isFunction<T>(functionToCheck: unknown): functionToCheck is T {\n\treturn typeof functionToCheck === \"function\";\n}\n\nexport function isString(stringToCheck: unknown): stringToCheck is string {\n\treturn typeof stringToCheck === \"string\" || stringToCheck instanceof String;\n}\n","import { format, isDate as isDateFn, parseISO } from \"date-fns\";\nimport { enGB, nb } from \"date-fns/locale\";\n\nimport { isString } from \"./helpers\";\n\nconst formatLocalDate = (date: Date, locale: string, formatString: string) => {\n\tconst localeConfig = {};\n\tswitch (locale) {\n\t\tcase \"nb\":\n\t\tcase \"nb-NO\":\n\t\t\tObject.assign(localeConfig, { locale: nb });\n\t\t\tbreak;\n\t\tcase \"en\":\n\t\tcase \"en-GB\":\n\t\t\tObject.assign(localeConfig, { locale: enGB });\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tObject.assign(localeConfig, { locale: enGB });\n\t\t\tbreak;\n\t}\n\n\treturn format(date, formatString, localeConfig);\n};\n\nexport const localeDate = (date: Date | string, locale: string) => {\n\tconst dateObject = isString(date) ? parseISO(date) : date;\n\treturn formatLocalDate(dateObject, locale, \"P\");\n};\n\nexport const localeDateTime = (date: Date | string, locale: string) => {\n\tconst dateObject = isString(date) ? parseISO(date) : date;\n\treturn formatLocalDate(dateObject, locale, \"P - p\");\n};\n\n// Redefine is Date for better type checking\nexport function isDate(dateToCheck: unknown): dateToCheck is Date {\n\treturn isDateFn(dateToCheck);\n}\n\nexport const isDateString = (dateString: string) => {\n\ttry {\n\t\tconst date = parseISO(dateString);\n\t\tif (Number.isNaN(date.getTime())) {\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t} catch (_e) {\n\t\treturn false;\n\t}\n};\n","import type { BusinessCapability } from \"@entur-partner/permission-client-node\";\n\nfunction checkPermission(\n\tpermission1: BusinessCapability,\n\tpermission2: BusinessCapability,\n) {\n\treturn (\n\t\tpermission1.access === permission2.access &&\n\t\tpermission1.operation === permission2.operation\n\t);\n}\n\nexport function hasAllPermissions(\n\tall: BusinessCapability[] | BusinessCapability,\n\tpermissions: BusinessCapability[],\n) {\n\tif (!Array.isArray(all)) {\n\t\tall = [all];\n\t}\n\treturn all.every((requiredPermission) =>\n\t\thasPermissions(permissions, requiredPermission),\n\t);\n}\n\nexport function hasOneOfPermissions(\n\toneOf: BusinessCapability[],\n\tpermissions: BusinessCapability[],\n) {\n\treturn oneOf.length > 0\n\t\t? oneOf.some((requiredPermission) =>\n\t\t\t\thasPermissions(permissions, requiredPermission),\n\t\t\t)\n\t\t: true;\n}\n\nexport function hasPermissions(\n\tpermissions: BusinessCapability[],\n\trequiredPermission: BusinessCapability,\n) {\n\treturn permissions.some((userPermission) =>\n\t\tcheckPermission(requiredPermission, userPermission),\n\t);\n}\n","export function assertIsDefined<T>(\n\tval: T,\n\tmessage?: string,\n): asserts val is NonNullable<T> {\n\tif (val === undefined || val === null) {\n\t\tif (message) {\n\t\t\tthrow new Error(message);\n\t\t}\n\t\tthrow new Error(`Expected 'val' to be defined, but received ${val}`);\n\t}\n}\n","/**\n * Split pathname into array of subpaths. Used by Breadcrumbs.tsx and PageTitle.tsx\n *\n * @param pathname location.pathname\n * @returns array of subpaths\n */\nexport function splitUrlPath(pathname: string) {\n\tconst paths: string[] = pathname === \"/\" ? [] : [\"/\"];\n\n\t// support paths with and without trailing slash, except root\n\tconst adjustedPathname =\n\t\tpathname.length > 1 ? pathname.replace(/\\/$/, \"\") : pathname;\n\n\tadjustedPathname.split(\"/\").reduce((prev, curr) => {\n\t\tconst path = `${prev}/${curr}`;\n\t\tpaths.push(path);\n\t\treturn path;\n\t});\n\n\treturn paths;\n}\n"],"names":["isString","stringToCheck","String","formatLocalDate","date","locale","formatString","localeConfig","Object","assign","nb","enGB","format","hasPermissions","permissions","requiredPermission","some","userPermission","permission1","access","permission2","operation","val","message","Error","all","Array","isArray","every","oneOf","length","dateToCheck","isDateFn","dateString","parseISO","Number","isNaN","getTime","_e","functionToCheck","dateObject","pathname","paths","replace","split","reduce","prev","curr","path","push"],"mappings":"2HAIM,SAAUA,EAASC,GACxB,MAAgC,iBAAlBA,GAA8BA,aAAyBC,MACtE,CCDA,IAAMC,EAAkB,SAACC,EAAYC,EAAgBC,GACpD,IAAMC,EAAe,CAAA,EACrB,OAAQF,GACP,IAAK,KACL,IAAK,QACJG,OAAOC,OAAOF,EAAc,CAAEF,OAAQK,EAAAA,KACtC,MAKD,QACCF,OAAOC,OAAOF,EAAc,CAAEF,OAAQM,EAAAA,OAIxC,OAAOC,SAAOR,EAAME,EAAcC,EACnC,ECagB,SAAAM,EACfC,EACAC,GAEA,OAAOD,EAAYE,
|
|
1
|
+
{"version":3,"file":"util.cjs.production.min.js","sources":["../src/helpers.ts","../src/date.ts","../src/permissions.ts","../src/assertions.ts","../src/splitUrlPath.ts"],"sourcesContent":["export function isFunction<T>(functionToCheck: unknown): functionToCheck is T {\n\treturn typeof functionToCheck === \"function\";\n}\n\nexport function isString(stringToCheck: unknown): stringToCheck is string {\n\treturn typeof stringToCheck === \"string\" || stringToCheck instanceof String;\n}\n","import { format, isDate as isDateFn, parseISO } from \"date-fns\";\nimport { enGB, nb } from \"date-fns/locale\";\n\nimport { isString } from \"./helpers\";\n\nconst formatLocalDate = (date: Date, locale: string, formatString: string) => {\n\tconst localeConfig = {};\n\tswitch (locale) {\n\t\tcase \"nb\":\n\t\tcase \"nb-NO\":\n\t\t\tObject.assign(localeConfig, { locale: nb });\n\t\t\tbreak;\n\t\tcase \"en\":\n\t\tcase \"en-GB\":\n\t\t\tObject.assign(localeConfig, { locale: enGB });\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tObject.assign(localeConfig, { locale: enGB });\n\t\t\tbreak;\n\t}\n\n\treturn format(date, formatString, localeConfig);\n};\n\nexport const localeDate = (date: Date | string, locale: string) => {\n\tconst dateObject = isString(date) ? parseISO(date) : date;\n\treturn formatLocalDate(dateObject, locale, \"P\");\n};\n\nexport const localeDateTime = (date: Date | string, locale: string) => {\n\tconst dateObject = isString(date) ? parseISO(date) : date;\n\treturn formatLocalDate(dateObject, locale, \"P - p\");\n};\n\n// Redefine is Date for better type checking\nexport function isDate(dateToCheck: unknown): dateToCheck is Date {\n\treturn isDateFn(dateToCheck);\n}\n\nexport const isDateString = (dateString: string) => {\n\ttry {\n\t\tconst date = parseISO(dateString);\n\t\tif (Number.isNaN(date.getTime())) {\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t} catch (_e) {\n\t\treturn false;\n\t}\n};\n","import type { BusinessCapability } from \"@entur-partner/permission-client-node\";\n\nfunction checkPermission(\n\tpermission1: BusinessCapability,\n\tpermission2: BusinessCapability,\n) {\n\treturn (\n\t\tpermission1.access === permission2.access &&\n\t\tpermission1.operation === permission2.operation\n\t);\n}\n\nexport function hasAllPermissions(\n\tall: BusinessCapability[] | BusinessCapability,\n\tpermissions: BusinessCapability[],\n) {\n\tif (!Array.isArray(all)) {\n\t\tall = [all];\n\t}\n\treturn all.every((requiredPermission) =>\n\t\thasPermissions(permissions, requiredPermission),\n\t);\n}\n\nexport function hasOneOfPermissions(\n\toneOf: BusinessCapability[],\n\tpermissions: BusinessCapability[],\n) {\n\treturn oneOf.length > 0\n\t\t? oneOf.some((requiredPermission) =>\n\t\t\t\thasPermissions(permissions, requiredPermission),\n\t\t\t)\n\t\t: true;\n}\n\nexport function hasPermissions(\n\tpermissions: BusinessCapability[],\n\trequiredPermission: BusinessCapability,\n) {\n\treturn permissions.some((userPermission) =>\n\t\tcheckPermission(requiredPermission, userPermission),\n\t);\n}\n","export function assertIsDefined<T>(\n\tval: T,\n\tmessage?: string,\n): asserts val is NonNullable<T> {\n\tif (val === undefined || val === null) {\n\t\tif (message) {\n\t\t\tthrow new Error(message);\n\t\t}\n\t\tthrow new Error(`Expected 'val' to be defined, but received ${val}`);\n\t}\n}\n","/**\n * Split pathname into array of subpaths. Used by Breadcrumbs.tsx and PageTitle.tsx\n *\n * @param pathname location.pathname\n * @returns array of subpaths\n */\nexport function splitUrlPath(pathname: string) {\n\tconst paths: string[] = pathname === \"/\" ? [] : [\"/\"];\n\n\t// support paths with and without trailing slash, except root\n\tconst adjustedPathname =\n\t\tpathname.length > 1 ? pathname.replace(/\\/$/, \"\") : pathname;\n\n\tadjustedPathname.split(\"/\").reduce((prev, curr) => {\n\t\tconst path = `${prev}/${curr}`;\n\t\tpaths.push(path);\n\t\treturn path;\n\t});\n\n\treturn paths;\n}\n"],"names":["isString","stringToCheck","String","formatLocalDate","date","locale","formatString","localeConfig","Object","assign","nb","enGB","format","hasPermissions","permissions","requiredPermission","some","userPermission","permission1","access","permission2","operation","val","message","Error","all","Array","isArray","every","oneOf","length","dateToCheck","isDateFn","dateString","parseISO","Number","isNaN","getTime","_e","functionToCheck","dateObject","pathname","paths","replace","split","reduce","prev","curr","path","push"],"mappings":"2HAIM,SAAUA,EAASC,GACxB,MAAgC,iBAAlBA,GAA8BA,aAAyBC,MACtE,CCDA,IAAMC,EAAkB,SAACC,EAAYC,EAAgBC,GACpD,IAAMC,EAAe,CAAA,EACrB,OAAQF,GACP,IAAK,KACL,IAAK,QACJG,OAAOC,OAAOF,EAAc,CAAEF,OAAQK,EAAAA,KACtC,MAKD,QACCF,OAAOC,OAAOF,EAAc,CAAEF,OAAQM,EAAAA,OAIxC,OAAOC,SAAOR,EAAME,EAAcC,EACnC,ECagB,SAAAM,EACfC,EACAC,GAEA,OAAOD,EAAYE,KAAK,SAACC,GAAc,OApCvCC,EAqCiBH,GAjCJI,UAHbC,EAoCqCH,GAjCDE,QACnCD,EAAYG,YAAcD,EAAYC,UANxC,IACCH,EACAE,GAsCD,yBC1CgB,SACfE,EACAC,GAEA,GAAID,QAAmC,CACtC,GAAIC,EACH,MAAM,IAAIC,MAAMD,GAEjB,MAAM,IAAIC,MAAoDF,8CAAAA,EAC/D,CACD,4BDEgB,SACfG,EACAX,GAKA,OAHKY,MAAMC,QAAQF,KAClBA,EAAM,CAACA,IAEDA,EAAIG,MAAM,SAACb,GAAkB,OACnCF,EAAeC,EAAaC,IAE9B,8BAEgB,SACfc,EACAf,GAEA,QAAOe,EAAMC,OAAS,IACnBD,EAAMb,KAAK,SAACD,GAAkB,OAC9BF,EAAeC,EAAaC,EAAmB,EAGnD,0CDEM,SAAiBgB,GACtB,OAAOC,EAAAA,OAASD,EACjB,uBAE4B,SAACE,GAC5B,IACC,IAAM7B,EAAO8B,WAASD,GACtB,OAAIE,OAAOC,MAAMhC,EAAKiC,UAItB,CAAC,MAAOC,GACR,OAAO,CACR,CACD,qBDjDM,SAAwBC,GAC7B,MAAkC,mBAApBA,CACf,wCCsB0B,SAACnC,EAAqBC,GAC/C,IAAMmC,EAAaxC,EAASI,GAAQ8B,EAAAA,SAAS9B,GAAQA,EACrD,OAAOD,EAAgBqC,EAAYnC,EAAQ,IAC5C,yBAE8B,SAACD,EAAqBC,GACnD,IAAMmC,EAAaxC,EAASI,GAAQ8B,EAAAA,SAAS9B,GAAQA,EACrD,OAAOD,EAAgBqC,EAAYnC,EAAQ,QAC5C,uBG1BM,SAAuBoC,GAC5B,IAAMC,EAA+B,MAAbD,EAAmB,GAAK,CAAC,KAYjD,OARCA,EAASX,OAAS,EAAIW,EAASE,QAAQ,MAAO,IAAMF,GAEpCG,MAAM,KAAKC,OAAO,SAACC,EAAMC,GACzC,IAAMC,EAAUF,EAAI,IAAIC,EAExB,OADAL,EAAMO,KAAKD,GACJA,CACR,GAEON,CACR"}
|
package/dist/util.esm.js
CHANGED
|
@@ -86,11 +86,11 @@ function hasPermissions(permissions, requiredPermission) {
|
|
|
86
86
|
});
|
|
87
87
|
}
|
|
88
88
|
|
|
89
|
-
/**
|
|
90
|
-
* Split pathname into array of subpaths. Used by Breadcrumbs.tsx and PageTitle.tsx
|
|
91
|
-
*
|
|
92
|
-
* @param pathname location.pathname
|
|
93
|
-
* @returns array of subpaths
|
|
89
|
+
/**
|
|
90
|
+
* Split pathname into array of subpaths. Used by Breadcrumbs.tsx and PageTitle.tsx
|
|
91
|
+
*
|
|
92
|
+
* @param pathname location.pathname
|
|
93
|
+
* @returns array of subpaths
|
|
94
94
|
*/
|
|
95
95
|
function splitUrlPath(pathname) {
|
|
96
96
|
var paths = pathname === "/" ? [] : ["/"];
|
package/dist/util.esm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.esm.js","sources":["../src/assertions.ts","../src/helpers.ts","../src/date.ts","../src/permissions.ts","../src/splitUrlPath.ts"],"sourcesContent":["export function assertIsDefined<T>(\n\tval: T,\n\tmessage?: string,\n): asserts val is NonNullable<T> {\n\tif (val === undefined || val === null) {\n\t\tif (message) {\n\t\t\tthrow new Error(message);\n\t\t}\n\t\tthrow new Error(`Expected 'val' to be defined, but received ${val}`);\n\t}\n}\n","export function isFunction<T>(functionToCheck: unknown): functionToCheck is T {\n\treturn typeof functionToCheck === \"function\";\n}\n\nexport function isString(stringToCheck: unknown): stringToCheck is string {\n\treturn typeof stringToCheck === \"string\" || stringToCheck instanceof String;\n}\n","import { format, isDate as isDateFn, parseISO } from \"date-fns\";\nimport { enGB, nb } from \"date-fns/locale\";\n\nimport { isString } from \"./helpers\";\n\nconst formatLocalDate = (date: Date, locale: string, formatString: string) => {\n\tconst localeConfig = {};\n\tswitch (locale) {\n\t\tcase \"nb\":\n\t\tcase \"nb-NO\":\n\t\t\tObject.assign(localeConfig, { locale: nb });\n\t\t\tbreak;\n\t\tcase \"en\":\n\t\tcase \"en-GB\":\n\t\t\tObject.assign(localeConfig, { locale: enGB });\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tObject.assign(localeConfig, { locale: enGB });\n\t\t\tbreak;\n\t}\n\n\treturn format(date, formatString, localeConfig);\n};\n\nexport const localeDate = (date: Date | string, locale: string) => {\n\tconst dateObject = isString(date) ? parseISO(date) : date;\n\treturn formatLocalDate(dateObject, locale, \"P\");\n};\n\nexport const localeDateTime = (date: Date | string, locale: string) => {\n\tconst dateObject = isString(date) ? parseISO(date) : date;\n\treturn formatLocalDate(dateObject, locale, \"P - p\");\n};\n\n// Redefine is Date for better type checking\nexport function isDate(dateToCheck: unknown): dateToCheck is Date {\n\treturn isDateFn(dateToCheck);\n}\n\nexport const isDateString = (dateString: string) => {\n\ttry {\n\t\tconst date = parseISO(dateString);\n\t\tif (Number.isNaN(date.getTime())) {\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t} catch (_e) {\n\t\treturn false;\n\t}\n};\n","import type { BusinessCapability } from \"@entur-partner/permission-client-node\";\n\nfunction checkPermission(\n\tpermission1: BusinessCapability,\n\tpermission2: BusinessCapability,\n) {\n\treturn (\n\t\tpermission1.access === permission2.access &&\n\t\tpermission1.operation === permission2.operation\n\t);\n}\n\nexport function hasAllPermissions(\n\tall: BusinessCapability[] | BusinessCapability,\n\tpermissions: BusinessCapability[],\n) {\n\tif (!Array.isArray(all)) {\n\t\tall = [all];\n\t}\n\treturn all.every((requiredPermission) =>\n\t\thasPermissions(permissions, requiredPermission),\n\t);\n}\n\nexport function hasOneOfPermissions(\n\toneOf: BusinessCapability[],\n\tpermissions: BusinessCapability[],\n) {\n\treturn oneOf.length > 0\n\t\t? oneOf.some((requiredPermission) =>\n\t\t\t\thasPermissions(permissions, requiredPermission),\n\t\t\t)\n\t\t: true;\n}\n\nexport function hasPermissions(\n\tpermissions: BusinessCapability[],\n\trequiredPermission: BusinessCapability,\n) {\n\treturn permissions.some((userPermission) =>\n\t\tcheckPermission(requiredPermission, userPermission),\n\t);\n}\n","/**\n * Split pathname into array of subpaths. Used by Breadcrumbs.tsx and PageTitle.tsx\n *\n * @param pathname location.pathname\n * @returns array of subpaths\n */\nexport function splitUrlPath(pathname: string) {\n\tconst paths: string[] = pathname === \"/\" ? [] : [\"/\"];\n\n\t// support paths with and without trailing slash, except root\n\tconst adjustedPathname =\n\t\tpathname.length > 1 ? pathname.replace(/\\/$/, \"\") : pathname;\n\n\tadjustedPathname.split(\"/\").reduce((prev, curr) => {\n\t\tconst path = `${prev}/${curr}`;\n\t\tpaths.push(path);\n\t\treturn path;\n\t});\n\n\treturn paths;\n}\n"],"names":["assertIsDefined","val","message","undefined","Error","isFunction","functionToCheck","isString","stringToCheck","String","formatLocalDate","date","locale","formatString","localeConfig","Object","assign","nb","enGB","format","localeDate","dateObject","parseISO","localeDateTime","isDate","dateToCheck","isDateFn","isDateString","dateString","Number","isNaN","getTime","_e","checkPermission","permission1","permission2","access","operation","hasAllPermissions","all","permissions","Array","isArray","every","requiredPermission","hasPermissions","hasOneOfPermissions","oneOf","length","some","userPermission","splitUrlPath","pathname","paths","adjustedPathname","replace","split","reduce","prev","curr","path","push"],"mappings":";;;AAAgB,SAAAA,eAAeA,CAC9BC,GAAM,EACNC,OAAgB,EAAA;AAEhB,EAAA,IAAID,GAAG,KAAKE,SAAS,IAAIF,GAAG,KAAK,IAAI,EAAE;AACtC,IAAA,IAAIC,OAAO,EAAE;AACZ,MAAA,MAAM,IAAIE,KAAK,CAACF,OAAO,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"util.esm.js","sources":["../src/assertions.ts","../src/helpers.ts","../src/date.ts","../src/permissions.ts","../src/splitUrlPath.ts"],"sourcesContent":["export function assertIsDefined<T>(\n\tval: T,\n\tmessage?: string,\n): asserts val is NonNullable<T> {\n\tif (val === undefined || val === null) {\n\t\tif (message) {\n\t\t\tthrow new Error(message);\n\t\t}\n\t\tthrow new Error(`Expected 'val' to be defined, but received ${val}`);\n\t}\n}\n","export function isFunction<T>(functionToCheck: unknown): functionToCheck is T {\n\treturn typeof functionToCheck === \"function\";\n}\n\nexport function isString(stringToCheck: unknown): stringToCheck is string {\n\treturn typeof stringToCheck === \"string\" || stringToCheck instanceof String;\n}\n","import { format, isDate as isDateFn, parseISO } from \"date-fns\";\nimport { enGB, nb } from \"date-fns/locale\";\n\nimport { isString } from \"./helpers\";\n\nconst formatLocalDate = (date: Date, locale: string, formatString: string) => {\n\tconst localeConfig = {};\n\tswitch (locale) {\n\t\tcase \"nb\":\n\t\tcase \"nb-NO\":\n\t\t\tObject.assign(localeConfig, { locale: nb });\n\t\t\tbreak;\n\t\tcase \"en\":\n\t\tcase \"en-GB\":\n\t\t\tObject.assign(localeConfig, { locale: enGB });\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tObject.assign(localeConfig, { locale: enGB });\n\t\t\tbreak;\n\t}\n\n\treturn format(date, formatString, localeConfig);\n};\n\nexport const localeDate = (date: Date | string, locale: string) => {\n\tconst dateObject = isString(date) ? parseISO(date) : date;\n\treturn formatLocalDate(dateObject, locale, \"P\");\n};\n\nexport const localeDateTime = (date: Date | string, locale: string) => {\n\tconst dateObject = isString(date) ? parseISO(date) : date;\n\treturn formatLocalDate(dateObject, locale, \"P - p\");\n};\n\n// Redefine is Date for better type checking\nexport function isDate(dateToCheck: unknown): dateToCheck is Date {\n\treturn isDateFn(dateToCheck);\n}\n\nexport const isDateString = (dateString: string) => {\n\ttry {\n\t\tconst date = parseISO(dateString);\n\t\tif (Number.isNaN(date.getTime())) {\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t} catch (_e) {\n\t\treturn false;\n\t}\n};\n","import type { BusinessCapability } from \"@entur-partner/permission-client-node\";\n\nfunction checkPermission(\n\tpermission1: BusinessCapability,\n\tpermission2: BusinessCapability,\n) {\n\treturn (\n\t\tpermission1.access === permission2.access &&\n\t\tpermission1.operation === permission2.operation\n\t);\n}\n\nexport function hasAllPermissions(\n\tall: BusinessCapability[] | BusinessCapability,\n\tpermissions: BusinessCapability[],\n) {\n\tif (!Array.isArray(all)) {\n\t\tall = [all];\n\t}\n\treturn all.every((requiredPermission) =>\n\t\thasPermissions(permissions, requiredPermission),\n\t);\n}\n\nexport function hasOneOfPermissions(\n\toneOf: BusinessCapability[],\n\tpermissions: BusinessCapability[],\n) {\n\treturn oneOf.length > 0\n\t\t? oneOf.some((requiredPermission) =>\n\t\t\t\thasPermissions(permissions, requiredPermission),\n\t\t\t)\n\t\t: true;\n}\n\nexport function hasPermissions(\n\tpermissions: BusinessCapability[],\n\trequiredPermission: BusinessCapability,\n) {\n\treturn permissions.some((userPermission) =>\n\t\tcheckPermission(requiredPermission, userPermission),\n\t);\n}\n","/**\n * Split pathname into array of subpaths. Used by Breadcrumbs.tsx and PageTitle.tsx\n *\n * @param pathname location.pathname\n * @returns array of subpaths\n */\nexport function splitUrlPath(pathname: string) {\n\tconst paths: string[] = pathname === \"/\" ? [] : [\"/\"];\n\n\t// support paths with and without trailing slash, except root\n\tconst adjustedPathname =\n\t\tpathname.length > 1 ? pathname.replace(/\\/$/, \"\") : pathname;\n\n\tadjustedPathname.split(\"/\").reduce((prev, curr) => {\n\t\tconst path = `${prev}/${curr}`;\n\t\tpaths.push(path);\n\t\treturn path;\n\t});\n\n\treturn paths;\n}\n"],"names":["assertIsDefined","val","message","undefined","Error","isFunction","functionToCheck","isString","stringToCheck","String","formatLocalDate","date","locale","formatString","localeConfig","Object","assign","nb","enGB","format","localeDate","dateObject","parseISO","localeDateTime","isDate","dateToCheck","isDateFn","isDateString","dateString","Number","isNaN","getTime","_e","checkPermission","permission1","permission2","access","operation","hasAllPermissions","all","permissions","Array","isArray","every","requiredPermission","hasPermissions","hasOneOfPermissions","oneOf","length","some","userPermission","splitUrlPath","pathname","paths","adjustedPathname","replace","split","reduce","prev","curr","path","push"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@entur-partner/util",
|
|
3
|
-
"version": "1.3.2-alpha.
|
|
3
|
+
"version": "1.3.2-alpha.1",
|
|
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": "
|
|
29
|
+
"@entur-partner/permission-client-node": "3.4.6"
|
|
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": "
|
|
41
|
+
"gitHead": "fa8d131f819bb786175f6a96eea9650d7e02bee2"
|
|
42
42
|
}
|