@overmap-ai/common 0.0.1-more-code-dump.0 → 0.0.1-more-code-dump.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/index.cjs CHANGED
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),t=function(e){return e[e.GUEST=0]=`GUEST`,e[e.BASIC=2]=`BASIC`,e[e.ADMIN=4]=`ADMIN`,e}({}),n=function(e){return e[e.PLANNED=0]=`PLANNED`,e[e.ACTIVE=1]=`ACTIVE`,e[e.MAINTENANCE=2]=`MAINTENANCE`,e[e.INACTIVE=3]=`INACTIVE`,e[e.RETIRED=4]=`RETIRED`,e[e.DISPOSED=5]=`DISPOSED`,e}({}),r=function(e){return e.STATUS=`status`,e.PRIORITY=`priority`,e.DESCRIPTION=`description`,e.TITLE=`title`,e.ASSIGNED_TO=`assigned_to`,e.DUE_DATE=`due_date`,e}({}),i=function(e){return e[e.BACKLOG=0]=`BACKLOG`,e[e.PLANNED=1]=`PLANNED`,e[e.IN_PROGRESS=2]=`IN_PROGRESS`,e[e.COMPLETED=3]=`COMPLETED`,e[e.CANCELLED=4]=`CANCELLED`,e}({}),a=function(e){return e[e.LOWEST=0]=`LOWEST`,e[e.LOW=2]=`LOW`,e[e.MEDIUM=4]=`MEDIUM`,e[e.HIGH=6]=`HIGH`,e[e.HIGHEST=8]=`HIGHEST`,e}({}),o=function(e){return e[e.ADD_ASSIGNEE=0]=`ADD_ASSIGNEE`,e[e.REMOVE_ASSIGNEE=2]=`REMOVE_ASSIGNEE`,e[e.ADD_REVIEWER=4]=`ADD_REVIEWER`,e[e.REMOVE_REVIEWER=6]=`REMOVE_REVIEWER`,e}({}),s=function(e){return e[e.APPROVED=0]=`APPROVED`,e[e.REJECTED=2]=`REJECTED`,e[e.CHANGES_REQUESTED=4]=`CHANGES_REQUESTED`,e}({}),c=function(e){return e[e.USER_REGISTRATION=0]=`USER_REGISTRATION`,e[e.APPLICATION_INVITE=2]=`APPLICATION_INVITE`,e[e.PROJECT_INVITE=4]=`PROJECT_INVITE`,e[e.ORGANIZATION_INVITE=6]=`ORGANIZATION_INVITE`,e[e.ADD_EMAIL_DOMAIN=8]=`ADD_EMAIL_DOMAIN`,e[e.RESET_PASSWORD=10]=`RESET_PASSWORD`,e}({}),l=[];for(let e=0;e<256;++e)l.push((e+256).toString(16).slice(1));function u(e,t=0){return(l[e[t+0]]+l[e[t+1]]+l[e[t+2]]+l[e[t+3]]+`-`+l[e[t+4]]+l[e[t+5]]+`-`+l[e[t+6]]+l[e[t+7]]+`-`+l[e[t+8]]+l[e[t+9]]+`-`+l[e[t+10]]+l[e[t+11]]+l[e[t+12]]+l[e[t+13]]+l[e[t+14]]+l[e[t+15]]).toLowerCase()}var d,f=new Uint8Array(16);function p(){if(!d){if(typeof crypto>`u`||!crypto.getRandomValues)throw Error(`crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported`);d=crypto.getRandomValues.bind(crypto)}return d(f)}var m={randomUUID:typeof crypto<`u`&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};function h(e,t,n){if(m.randomUUID&&!t&&!e)return m.randomUUID();e||={};let r=e.random??e.rng?.()??p();if(r.length<16)throw Error(`Random bytes length must be >= 16`);if(r[6]=r[6]&15|64,r[8]=r[8]&63|128,t){if(n||=0,n<0||n+16>t.length)throw RangeError(`UUID byte range ${n}:${n+15} is out of buffer bounds`);for(let e=0;e<16;++e)t[n+e]=r[e];return t}return u(r)}function g(e){return{...e,uuid:h()}}function _(e){let t={};for(let n of e)t[n.uuid]=n;return t}function v(e){return e.map(({uuid:e})=>e)}function y(e,t){return e.localeCompare(t)}function b(e,t){if(e.length<=t)return e;let n=e.slice(0,t-1);return n.slice(0,n.lastIndexOf(` `))+`…`}function x(e,t){return t===1?e:e+`s`}function S(e){let t=e.trim().split(/[\s-_]+/).filter(e=>e.length>0);if(t.length===0)return``;if(t.length===1){let e=t[0];if(e.length<=3)return e.toUpperCase();let n=e.replace(/[aeiouAEIOU]/g,``);return n.length>=2?n.slice(0,3).toUpperCase():e.slice(0,3).toUpperCase()}return t.length===2?(t[0][0]+t[1].slice(0,2)).toUpperCase():t.slice(0,3).map(e=>e[0]).join(``).toUpperCase()}function C(e,t){return e.toLowerCase().includes(t.toLowerCase())}function w(e,t){let n=[],r=0,i=e.length;for(;r<i;)n.push(e.slice(r,r+=t));return n}var T=Object.freeze([]),E=Object.freeze({}),D=Object.freeze(new Set),O=Object.freeze(new Map),k=`Unlabelled asset`,A=[n.PLANNED,n.ACTIVE,n.MAINTENANCE,n.INACTIVE,n.RETIRED,n.DISPOSED],j=`Untitled issue`,M=[a.LOWEST,a.LOW,a.MEDIUM,a.HIGH,a.HIGHEST],N=[i.BACKLOG,i.PLANNED,i.IN_PROGRESS,i.COMPLETED,i.CANCELLED],P=[t.GUEST,t.BASIC,t.ADMIN],F=`Untitled document`,I=`Unknown user`,L=`An unexpected error occurred. Please try again later.`,R=(e,t)=>e.type===t.type?e.order-t.order:e.type-t.type,z=(e,t)=>C(e.label||`Unlabelled asset`,t)||C(e.index?.toString()??`(Pending)`,t),B=(e,t)=>e.type===t.type?e.order-t.order:e.type-t.type,ee=(e,t)=>e.type===t.type?e.order-t.order:e.type-t.type,V=(e,t)=>C(e.title||`Untitled issue`,t)||C(e.index?.toString()??`(Pending)`,t);function H(e,t){return y(e.uuid,t.uuid)}var U=(e,t)=>e.submitted_at===t.submitted_at?0:e.submitted_at<t.submitted_at?-1:1,W=(e,t)=>e.name.localeCompare(t.name),G=(e,t)=>C(e.name,t);function K(e,t){if(!t)throw Error(`Missing required 'options' parameter.`);let{id:n,parentId:r,childIds:i,valueResolver:a,valueKey:o=`value`,parentKey:s=`parent`,childrenKey:c=`children`,depthKey:l=!1,validateTree:u=!1,validateReferences:d=!1,includeEmptyChildrenArray:f=!1}=t;if(!n)throw Error(`Option 'id' is required.`);if(!r&&!i)throw Error(`Either 'parentId' or 'childIds' must be provided.`);if(r&&i)throw Error(`'parentId' and 'childIds' cannot be used together.`);let p=[],m=new Map;if(r){let t=new Map;for(let i of e){let e=typeof n==`function`?n(i):i[n];if(m.has(e))throw Error(`Duplicate identifier '${e}'.`);let l=o===!1?{...a?a(i):i}:{[o]:a?a(i):i};o===!1&&(s!==!1&&delete l[s],delete l[c]),f&&(l[c]=[]),m.set(e,l);let u=typeof r==`function`?r(i):i[r],d=m.get(u);if(d)d[c]||=[],d[c].push(l),s!==!1&&(l[s]=d);else{let e=t.get(u);e?e.push(l):t.set(u,[l])}let p=t.get(e);if(p){if(l[c]=p,s!==!1)for(let e of p)e[s]=l;t.delete(e)}}for(let[e,n]of t.entries()){if(d&&e!=null)throw Error(`Referential integrity violation: parentId '${e}' does not match any item in the input.`);for(let e of n)p.push(e)}}else if(i){let t=new Map,r=new Map;for(let l of e){let e=typeof n==`function`?n(l):l[n];if(m.has(e))throw Error(`Duplicate identifier '${e}'.`);let u=o===!1?{...a?a(l):l}:{[o]:a?a(l):l};o===!1&&(s!==!1&&delete u[s],delete u[c]),f&&(u[c]=[]),m.set(e,u);let d=typeof i==`function`?i(l):l[i];if(d!=null){if(typeof d[Symbol.iterator]!=`function`)throw Error(`Item '${e}' has invalid children: expected an iterable value.`);u[c]=[];for(let e of d){let n=m.get(e);if(n){if(u[c].push(n),s!==!1){if(n[s]&&n[s]!==u)throw Error(`Node '${e}' already has a different parent, refusing to overwrite.`);n[s]=u}r.delete(e)}else{if(t.has(e))throw Error(`Multiple parents reference the same unresolved child '${e}'.`);t.set(e,{parentNode:u,childIndex:u[c].length}),u[c].push(null)}}u[c].length===0&&delete u[c]}let p=t.get(e);if(p){let{parentNode:n,childIndex:r}=p;if(n[c][r]=u,s!==!1){if(u[s]&&u[s]!==n)throw Error(`Node '${e}' already has a different parent, refusing to overwrite.`);u[s]=n}t.delete(e)}else r.set(e,u)}if(t.size>0){if(d){let e=t.keys().next().value;throw Error(`Referential integrity violation: child reference '${e}' does not match any item in the input.`)}let e=Array.from(t.values());for(let t=e.length-1;t>=0;t--){let{parentNode:n,childIndex:r}=e[t];n[c].splice(r,1),n[c].length===0&&delete n[c]}}for(let e of r.values())p.push(e)}let h=typeof l==`string`||typeof l==`symbol`||typeof l==`number`;if(u||h){if(p.length===0&&m.size>0)throw Error(`Tree validation failed: detected a cycle.`);let e=[...p].map(e=>({node:e,depth:0})),t=new Set,n=0,r=m.size;for(;e.length>0&&n++<=r;){let{node:n,depth:r}=e.pop();if(t.has(n))throw Error(`Tree validation failed: a node reachable via multiple paths.`);if(t.add(n),h&&(n[l]=r),n[c])for(let t of n[c])e.push({node:t,depth:r+1})}if(m.size!==t.size)throw Error(`Tree validation failed: detected a cycle.`)}return{roots:p,nodes:m}}var q=e((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.defaultTraversalStrategy=e.TreeNode=void 0,e.TreeNode=class{constructor(e,t,n){this.children=[],this.strategy=this.depthFirstSearch,this.model=e,this.index=t,n&&(this.strategy=n)}addChild(e){e&&this.children.push(e)}removeChild(e){e&&(this.children=this.children.filter(t=>t!==e))}moveChild(e,t){e&&t&&(this.removeChild(e),t.addChild(e))}findChild(e,t){let n;n=typeof e==`function`?e:n=>n.model[e]===t;for(let e of this.children){if(n(e))return e;if(e.children){let t=e.findChild(n);if(t)return t}}return null}getPath(e){let t=[],n=r=>{if(!r)return!1;if(t.push(r),r===e)return!0;for(let e of r.children)if(n(e))return!0;return t.pop(),!1};return n(this),t.length>0?t:null}getReversePath(e){let t=this.getPath(e);return t?t.reverse():null}getParent(e){if(!e)return null;for(let t of this.children){if(t.children.includes(e))return t;let n=t.getParent(e);if(n)return n}return null}findChildren(e,t){let n;return n=typeof e==`function`?e:n=>n.model[e]===t,this.children.filter(n)}deleteChildren(e,t){let n;n=typeof e==`function`?e:n=>n.model[e]===t,this.children=this.children.filter(e=>!n(e))}insertChild(e,t,n){if(!e||!this.children)return;let r=typeof t==`function`?this.children.findIndex(t):this.children.findIndex(e=>e.model[t]===n);r===-1?this.children.push(e):this.children.splice(r,0,e)}depthFirstSearch(e,t=`in-order`){let n=[],r=e=>{t.includes(`pre-order`)&&n.push(e);for(let t of e.children)r(t);(t.includes(`in-order`)||t.includes(`post-order`))&&n.push(e)};return r(e),t===`reverse-pre-order`||t===`reverse-post-order`||t===`reverse-in-order`?n.reverse():n}breadthFirstOrder(e){let t=[],n=[e];for(;n.length>0;){let e=n.shift();t.push(e),n.push(...e.children)}return t}};function t(e){return e.depthFirstSearch(e)}e.defaultTraversalStrategy=t})),J=e((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.Tree=void 0;var t=q();e.Tree=class{constructor(e,n){this.strategy=t.defaultTraversalStrategy,this.root=e?this.parse(e):null,n&&(this.strategy=n)}parse(e){if(!e)return null;let n=new t.TreeNode(e,0);return e.children&&this.parseChildren(n,e.children),n}parseChildren(e,n){n&&n.forEach((n,r)=>{let i=new t.TreeNode(n,r+1);e.addChild(i),n.children&&this.parseChildren(i,n.children)})}all(){return this.root?this.strategy(this.root):null}remove(e){let t=(e,t)=>{let n=e.indexOf(t);n!==-1&&e.splice(n,1)},n=(e,r)=>{t(e.children,r),e.children.forEach(e=>n(e,r))};this.root&&(this.root===e?this.root=null:n(this.root,e))}find(e,t){return this.root?this.root.findChild(e,t):null}move(e,t){e.getParent(this.root)?.removeChild(e),t.addChild(e)}getPath(e){return this.root?this.root.getPath(e):null}getReversePath(e){return this.root?this.root.getReversePath(e):null}walk(e){var t;(t=this.root)==null||t.depthFirstSearch(this.root).forEach(e)}insertChild(e,t,n){let r;r=typeof t==`function`?t:e=>e.model[t]===n;let i=this.root?this.strategy(this.root):[];for(let t of i)if(r(t)){t.addChild(e);return}}}})),Y=e((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.defaultTraversalStrategy=e.TreeNode=e.Tree=void 0;var t=J();Object.defineProperty(e,"Tree",{enumerable:!0,get:function(){return t.Tree}});var n=q();Object.defineProperty(e,"TreeNode",{enumerable:!0,get:function(){return n.TreeNode}}),Object.defineProperty(e,"defaultTraversalStrategy",{enumerable:!0,get:function(){return n.defaultTraversalStrategy}})}))(),X=e=>K(e,{id:e=>e.uuid,parentId:e=>e.parent_document,includeEmptyChildrenArray:!0,valueKey:!1}),Z=e=>{let{roots:t}=X(e);return t.map(e=>new Y.Tree(e))},Q=(e,t)=>{let{nodes:n}=X(t),r=n.get(e);if(!r)throw Error(`Node with uuid ${e} does not exist in document tree.`);return new Y.Tree(r)},$=e=>e.length===0?T:e,te=e=>Object.keys(e).length===0?E:e,ne=e=>e.size===0?D:e,re=e=>e.size===0?E:e;function ie(e){return e instanceof Error&&e.name===`AbortError`}var ae=class{[Symbol.toStringTag]=`Promise`;_promise;_resolve;_reject;_state=`pending`;get state(){return this._state}constructor(){this._resolve=null,this._reject=null,this._promise=new Promise((e,t)=>{this._resolve=e,this._reject=t})}then(e,t){return this._promise.then(e,t)}catch(e){return this._promise.catch(e)}resolve(e){if(!this._resolve)throw Error(`No resolve callback`);this._resolve(e),this._state=`fulfilled`}reject(e){if(!this._reject)throw e;this._reject(e),this._state=`rejected`}finally(e){throw Error("`finally` not implemented")}},oe=class e extends Promise{_uuid;constructor(e,t){super(e),this._uuid=t}get uuid(){return this._uuid}set uuid(e){this._uuid=e}static from(t,n){return new e((e,n)=>{Promise.resolve(t).then(e).catch(n)},n)}then(e,t){let n=super.then(e,t);return n.uuid=this.uuid,n}catch(e){let t=super.catch(e);return t.uuid=this.uuid,t}finally(e){let t=super.finally(e);return t.uuid=this.uuid,t}};exports.ASSET_STATUS_TYPES=A,exports.AssetStatusType=n,exports.DeferredPromise=ae,exports.EMPTY_ARRAY=T,exports.EMPTY_MAP=O,exports.EMPTY_OBJECT=E,exports.EMPTY_SET=D,exports.ERROR_MSG_UNEXPECTED=L,exports.ISSUE_PRIORITY_TYPES=M,exports.ISSUE_STATUS_TYPES=N,exports.IssuePriorityType=a,exports.IssueStatusType=i,exports.IssueUpdateChange=r,exports.NON_EXISTING_USER_NAME=I,exports.ORGANIZATION_ACCESS_LEVELS=P,exports.OrganizationAccessLevel=t,exports.ProcedureStepEventType=o,exports.ProcedureStepFieldValuesReviewType=s,exports.UNLABELLED_ASSET_LABEL=k,exports.UNTITLED_DOCUMENT_TITLE=F,exports.UNTITLED_ISSUE_TITLE=j,exports.UUIDPromise=oe,exports.VerificationCodeType=c,exports.assetFilterCallback=z,exports.assetTypeStatusSortFn=R,exports.chunkArray=w,exports.fallbackToEmptyArray=$,exports.fallbackToEmptyMap=re,exports.fallbackToEmptyObject=te,exports.fallbackToEmptySet=ne,exports.generateAbbreviation=S,exports.getDocumentSubTree=Q,exports.getDocumentTrees=Z,exports.includesLowercase=C,exports.isAbortError=ie,exports.issueFilterCallback=V,exports.issueTypePrioritySortFn=ee,exports.issueTypeStatusSortFn=B,exports.nameModelFilterFn=G,exports.nameModelSortFn=W,exports.pluralize=x,exports.submittedAtModelSortFn=U,exports.toUuidArray=v,exports.toUuidIdRecord=_,exports.truncate=b,exports.uuidModelSortFn=H,exports.uuidObj=g,exports.uuidSortFn=y;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),t=function(e){return e[e.GUEST=0]=`GUEST`,e[e.BASIC=2]=`BASIC`,e[e.ADMIN=4]=`ADMIN`,e}({}),n=function(e){return e[e.PLANNED=0]=`PLANNED`,e[e.ACTIVE=1]=`ACTIVE`,e[e.MAINTENANCE=2]=`MAINTENANCE`,e[e.INACTIVE=3]=`INACTIVE`,e[e.RETIRED=4]=`RETIRED`,e[e.DISPOSED=5]=`DISPOSED`,e}({}),r=function(e){return e.STATUS=`status`,e.PRIORITY=`priority`,e.DESCRIPTION=`description`,e.TITLE=`title`,e.ASSIGNED_TO=`assigned_to`,e.DUE_DATE=`due_date`,e}({}),i=function(e){return e[e.BACKLOG=0]=`BACKLOG`,e[e.PLANNED=1]=`PLANNED`,e[e.IN_PROGRESS=2]=`IN_PROGRESS`,e[e.COMPLETED=3]=`COMPLETED`,e[e.CANCELLED=4]=`CANCELLED`,e}({}),a=function(e){return e[e.LOWEST=0]=`LOWEST`,e[e.LOW=2]=`LOW`,e[e.MEDIUM=4]=`MEDIUM`,e[e.HIGH=6]=`HIGH`,e[e.HIGHEST=8]=`HIGHEST`,e}({}),o=function(e){return e[e.ADD_ASSIGNEE=0]=`ADD_ASSIGNEE`,e[e.REMOVE_ASSIGNEE=2]=`REMOVE_ASSIGNEE`,e[e.ADD_REVIEWER=4]=`ADD_REVIEWER`,e[e.REMOVE_REVIEWER=6]=`REMOVE_REVIEWER`,e}({}),s=function(e){return e[e.APPROVED=0]=`APPROVED`,e[e.REJECTED=2]=`REJECTED`,e[e.CHANGES_REQUESTED=4]=`CHANGES_REQUESTED`,e}({}),c=function(e){return e[e.USER_REGISTRATION=0]=`USER_REGISTRATION`,e[e.APPLICATION_INVITE=2]=`APPLICATION_INVITE`,e[e.PROJECT_INVITE=4]=`PROJECT_INVITE`,e[e.ORGANIZATION_INVITE=6]=`ORGANIZATION_INVITE`,e[e.ADD_EMAIL_DOMAIN=8]=`ADD_EMAIL_DOMAIN`,e[e.RESET_PASSWORD=10]=`RESET_PASSWORD`,e}({}),l=[];for(let e=0;e<256;++e)l.push((e+256).toString(16).slice(1));function u(e,t=0){return(l[e[t+0]]+l[e[t+1]]+l[e[t+2]]+l[e[t+3]]+`-`+l[e[t+4]]+l[e[t+5]]+`-`+l[e[t+6]]+l[e[t+7]]+`-`+l[e[t+8]]+l[e[t+9]]+`-`+l[e[t+10]]+l[e[t+11]]+l[e[t+12]]+l[e[t+13]]+l[e[t+14]]+l[e[t+15]]).toLowerCase()}var d,f=new Uint8Array(16);function p(){if(!d){if(typeof crypto>`u`||!crypto.getRandomValues)throw Error(`crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported`);d=crypto.getRandomValues.bind(crypto)}return d(f)}var m={randomUUID:typeof crypto<`u`&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};function h(e,t,n){if(m.randomUUID&&!t&&!e)return m.randomUUID();e||={};let r=e.random??e.rng?.()??p();if(r.length<16)throw Error(`Random bytes length must be >= 16`);if(r[6]=r[6]&15|64,r[8]=r[8]&63|128,t){if(n||=0,n<0||n+16>t.length)throw RangeError(`UUID byte range ${n}:${n+15} is out of buffer bounds`);for(let e=0;e<16;++e)t[n+e]=r[e];return t}return u(r)}function g(e){return{...e,uuid:h()}}function _(e){let t={};for(let n of e)t[n.uuid]=n;return t}function v(e){return e.map(({uuid:e})=>e)}function y(e,t){return e.localeCompare(t)}function b(e,t){if(e.length<=t)return e;let n=e.slice(0,t-1);return n.slice(0,n.lastIndexOf(` `))+`…`}function x(e,t){return t===1?e:e+`s`}function S(e){let t=e.trim().split(/[\s-_]+/).filter(e=>e.length>0);if(t.length===0)return``;if(t.length===1){let e=t[0];if(e.length<=3)return e.toUpperCase();let n=e.replace(/[aeiouAEIOU]/g,``);return n.length>=2?n.slice(0,3).toUpperCase():e.slice(0,3).toUpperCase()}return t.length===2?(t[0][0]+t[1].slice(0,2)).toUpperCase():t.slice(0,3).map(e=>e[0]).join(``).toUpperCase()}function C(e,t){return e.toLowerCase().includes(t.toLowerCase())}function w(e,t=``,n=255){let r=e.replace(/[^a-z0-9_\-.]/gi,`_`).replace(/_{2,}/g,`_`);if(!t){let n=e.split(`.`);n.length>1&&(t=n[n.length-1])}t&&!t.startsWith(`.`)&&(t=`.`+t);let i=t?t.length:0;return r.length+i>n&&(r=r.slice(0,n-i)+(t||``)),r}function T(e,t){let n=[],r=0,i=e.length;for(;r<i;)n.push(e.slice(r,r+=t));return n}var E=Object.freeze([]),D=Object.freeze({}),O=Object.freeze(new Set),k=Object.freeze(new Map),A=`Unlabelled asset`,j=[n.PLANNED,n.ACTIVE,n.MAINTENANCE,n.INACTIVE,n.RETIRED,n.DISPOSED],M=`Untitled issue`,N=[a.LOWEST,a.LOW,a.MEDIUM,a.HIGH,a.HIGHEST],P=[i.BACKLOG,i.PLANNED,i.IN_PROGRESS,i.COMPLETED,i.CANCELLED],F=[t.GUEST,t.BASIC,t.ADMIN],I=`Untitled document`,L=`Unknown user`,R=`An unexpected error occurred. Please try again later.`,z=(e,t)=>e.type===t.type?e.order-t.order:e.type-t.type,B=(e,t)=>C(e.label||`Unlabelled asset`,t)||C(e.index?.toString()??`(Pending)`,t),ee=(e,t)=>e.type===t.type?e.order-t.order:e.type-t.type,V=(e,t)=>e.type===t.type?e.order-t.order:e.type-t.type,H=(e,t)=>C(e.title||`Untitled issue`,t)||C(e.index?.toString()??`(Pending)`,t);function U(e,t){return y(e.uuid,t.uuid)}var W=(e,t)=>e.submitted_at===t.submitted_at?0:e.submitted_at<t.submitted_at?-1:1,G=(e,t)=>e.name.localeCompare(t.name),K=(e,t)=>C(e.name,t);function q(e,t){if(!t)throw Error(`Missing required 'options' parameter.`);let{id:n,parentId:r,childIds:i,valueResolver:a,valueKey:o=`value`,parentKey:s=`parent`,childrenKey:c=`children`,depthKey:l=!1,validateTree:u=!1,validateReferences:d=!1,includeEmptyChildrenArray:f=!1}=t;if(!n)throw Error(`Option 'id' is required.`);if(!r&&!i)throw Error(`Either 'parentId' or 'childIds' must be provided.`);if(r&&i)throw Error(`'parentId' and 'childIds' cannot be used together.`);let p=[],m=new Map;if(r){let t=new Map;for(let i of e){let e=typeof n==`function`?n(i):i[n];if(m.has(e))throw Error(`Duplicate identifier '${e}'.`);let l=o===!1?{...a?a(i):i}:{[o]:a?a(i):i};o===!1&&(s!==!1&&delete l[s],delete l[c]),f&&(l[c]=[]),m.set(e,l);let u=typeof r==`function`?r(i):i[r],d=m.get(u);if(d)d[c]||=[],d[c].push(l),s!==!1&&(l[s]=d);else{let e=t.get(u);e?e.push(l):t.set(u,[l])}let p=t.get(e);if(p){if(l[c]=p,s!==!1)for(let e of p)e[s]=l;t.delete(e)}}for(let[e,n]of t.entries()){if(d&&e!=null)throw Error(`Referential integrity violation: parentId '${e}' does not match any item in the input.`);for(let e of n)p.push(e)}}else if(i){let t=new Map,r=new Map;for(let l of e){let e=typeof n==`function`?n(l):l[n];if(m.has(e))throw Error(`Duplicate identifier '${e}'.`);let u=o===!1?{...a?a(l):l}:{[o]:a?a(l):l};o===!1&&(s!==!1&&delete u[s],delete u[c]),f&&(u[c]=[]),m.set(e,u);let d=typeof i==`function`?i(l):l[i];if(d!=null){if(typeof d[Symbol.iterator]!=`function`)throw Error(`Item '${e}' has invalid children: expected an iterable value.`);u[c]=[];for(let e of d){let n=m.get(e);if(n){if(u[c].push(n),s!==!1){if(n[s]&&n[s]!==u)throw Error(`Node '${e}' already has a different parent, refusing to overwrite.`);n[s]=u}r.delete(e)}else{if(t.has(e))throw Error(`Multiple parents reference the same unresolved child '${e}'.`);t.set(e,{parentNode:u,childIndex:u[c].length}),u[c].push(null)}}u[c].length===0&&delete u[c]}let p=t.get(e);if(p){let{parentNode:n,childIndex:r}=p;if(n[c][r]=u,s!==!1){if(u[s]&&u[s]!==n)throw Error(`Node '${e}' already has a different parent, refusing to overwrite.`);u[s]=n}t.delete(e)}else r.set(e,u)}if(t.size>0){if(d){let e=t.keys().next().value;throw Error(`Referential integrity violation: child reference '${e}' does not match any item in the input.`)}let e=Array.from(t.values());for(let t=e.length-1;t>=0;t--){let{parentNode:n,childIndex:r}=e[t];n[c].splice(r,1),n[c].length===0&&delete n[c]}}for(let e of r.values())p.push(e)}let h=typeof l==`string`||typeof l==`symbol`||typeof l==`number`;if(u||h){if(p.length===0&&m.size>0)throw Error(`Tree validation failed: detected a cycle.`);let e=[...p].map(e=>({node:e,depth:0})),t=new Set,n=0,r=m.size;for(;e.length>0&&n++<=r;){let{node:n,depth:r}=e.pop();if(t.has(n))throw Error(`Tree validation failed: a node reachable via multiple paths.`);if(t.add(n),h&&(n[l]=r),n[c])for(let t of n[c])e.push({node:t,depth:r+1})}if(m.size!==t.size)throw Error(`Tree validation failed: detected a cycle.`)}return{roots:p,nodes:m}}var J=e((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.defaultTraversalStrategy=e.TreeNode=void 0,e.TreeNode=class{constructor(e,t,n){this.children=[],this.strategy=this.depthFirstSearch,this.model=e,this.index=t,n&&(this.strategy=n)}addChild(e){e&&this.children.push(e)}removeChild(e){e&&(this.children=this.children.filter(t=>t!==e))}moveChild(e,t){e&&t&&(this.removeChild(e),t.addChild(e))}findChild(e,t){let n;n=typeof e==`function`?e:n=>n.model[e]===t;for(let e of this.children){if(n(e))return e;if(e.children){let t=e.findChild(n);if(t)return t}}return null}getPath(e){let t=[],n=r=>{if(!r)return!1;if(t.push(r),r===e)return!0;for(let e of r.children)if(n(e))return!0;return t.pop(),!1};return n(this),t.length>0?t:null}getReversePath(e){let t=this.getPath(e);return t?t.reverse():null}getParent(e){if(!e)return null;for(let t of this.children){if(t.children.includes(e))return t;let n=t.getParent(e);if(n)return n}return null}findChildren(e,t){let n;return n=typeof e==`function`?e:n=>n.model[e]===t,this.children.filter(n)}deleteChildren(e,t){let n;n=typeof e==`function`?e:n=>n.model[e]===t,this.children=this.children.filter(e=>!n(e))}insertChild(e,t,n){if(!e||!this.children)return;let r=typeof t==`function`?this.children.findIndex(t):this.children.findIndex(e=>e.model[t]===n);r===-1?this.children.push(e):this.children.splice(r,0,e)}depthFirstSearch(e,t=`in-order`){let n=[],r=e=>{t.includes(`pre-order`)&&n.push(e);for(let t of e.children)r(t);(t.includes(`in-order`)||t.includes(`post-order`))&&n.push(e)};return r(e),t===`reverse-pre-order`||t===`reverse-post-order`||t===`reverse-in-order`?n.reverse():n}breadthFirstOrder(e){let t=[],n=[e];for(;n.length>0;){let e=n.shift();t.push(e),n.push(...e.children)}return t}};function t(e){return e.depthFirstSearch(e)}e.defaultTraversalStrategy=t})),Y=e((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.Tree=void 0;var t=J();e.Tree=class{constructor(e,n){this.strategy=t.defaultTraversalStrategy,this.root=e?this.parse(e):null,n&&(this.strategy=n)}parse(e){if(!e)return null;let n=new t.TreeNode(e,0);return e.children&&this.parseChildren(n,e.children),n}parseChildren(e,n){n&&n.forEach((n,r)=>{let i=new t.TreeNode(n,r+1);e.addChild(i),n.children&&this.parseChildren(i,n.children)})}all(){return this.root?this.strategy(this.root):null}remove(e){let t=(e,t)=>{let n=e.indexOf(t);n!==-1&&e.splice(n,1)},n=(e,r)=>{t(e.children,r),e.children.forEach(e=>n(e,r))};this.root&&(this.root===e?this.root=null:n(this.root,e))}find(e,t){return this.root?this.root.findChild(e,t):null}move(e,t){e.getParent(this.root)?.removeChild(e),t.addChild(e)}getPath(e){return this.root?this.root.getPath(e):null}getReversePath(e){return this.root?this.root.getReversePath(e):null}walk(e){var t;(t=this.root)==null||t.depthFirstSearch(this.root).forEach(e)}insertChild(e,t,n){let r;r=typeof t==`function`?t:e=>e.model[t]===n;let i=this.root?this.strategy(this.root):[];for(let t of i)if(r(t)){t.addChild(e);return}}}})),X=e((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.defaultTraversalStrategy=e.TreeNode=e.Tree=void 0;var t=Y();Object.defineProperty(e,"Tree",{enumerable:!0,get:function(){return t.Tree}});var n=J();Object.defineProperty(e,"TreeNode",{enumerable:!0,get:function(){return n.TreeNode}}),Object.defineProperty(e,"defaultTraversalStrategy",{enumerable:!0,get:function(){return n.defaultTraversalStrategy}})}))(),Z=e=>q(e,{id:e=>e.uuid,parentId:e=>e.parent_document,includeEmptyChildrenArray:!0,valueKey:!1}),Q=e=>{let{roots:t}=Z(e);return t.map(e=>new X.Tree(e))},$=(e,t)=>{let{nodes:n}=Z(t),r=n.get(e);if(!r)throw Error(`Node with uuid ${e} does not exist in document tree.`);return new X.Tree(r)},te=e=>e.length===0?E:e,ne=e=>Object.keys(e).length===0?D:e,re=e=>e.size===0?O:e,ie=e=>e.size===0?D:e;function ae(e){return e instanceof Error&&e.name===`AbortError`}var oe=class{[Symbol.toStringTag]=`Promise`;_promise;_resolve;_reject;_state=`pending`;get state(){return this._state}constructor(){this._resolve=null,this._reject=null,this._promise=new Promise((e,t)=>{this._resolve=e,this._reject=t})}then(e,t){return this._promise.then(e,t)}catch(e){return this._promise.catch(e)}resolve(e){if(!this._resolve)throw Error(`No resolve callback`);this._resolve(e),this._state=`fulfilled`}reject(e){if(!this._reject)throw e;this._reject(e),this._state=`rejected`}finally(e){throw Error("`finally` not implemented")}},se=class e extends Promise{_uuid;constructor(e,t){super(e),this._uuid=t}get uuid(){return this._uuid}set uuid(e){this._uuid=e}static from(t,n){return new e((e,n)=>{Promise.resolve(t).then(e).catch(n)},n)}then(e,t){let n=super.then(e,t);return n.uuid=this.uuid,n}catch(e){let t=super.catch(e);return t.uuid=this.uuid,t}finally(e){let t=super.finally(e);return t.uuid=this.uuid,t}};exports.ASSET_STATUS_TYPES=j,exports.AssetStatusType=n,exports.DeferredPromise=oe,exports.EMPTY_ARRAY=E,exports.EMPTY_MAP=k,exports.EMPTY_OBJECT=D,exports.EMPTY_SET=O,exports.ERROR_MSG_UNEXPECTED=R,exports.ISSUE_PRIORITY_TYPES=N,exports.ISSUE_STATUS_TYPES=P,exports.IssuePriorityType=a,exports.IssueStatusType=i,exports.IssueUpdateChange=r,exports.NON_EXISTING_USER_NAME=L,exports.ORGANIZATION_ACCESS_LEVELS=F,exports.OrganizationAccessLevel=t,exports.ProcedureStepEventType=o,exports.ProcedureStepFieldValuesReviewType=s,exports.UNLABELLED_ASSET_LABEL=A,exports.UNTITLED_DOCUMENT_TITLE=I,exports.UNTITLED_ISSUE_TITLE=M,exports.UUIDPromise=se,exports.VerificationCodeType=c,exports.assetFilterCallback=B,exports.assetTypeStatusSortFn=z,exports.chunkArray=T,exports.fallbackToEmptyArray=te,exports.fallbackToEmptyMap=ie,exports.fallbackToEmptyObject=ne,exports.fallbackToEmptySet=re,exports.generateAbbreviation=S,exports.getDocumentSubTree=$,exports.getDocumentTrees=Q,exports.includesLowercase=C,exports.isAbortError=ae,exports.issueFilterCallback=H,exports.issueTypePrioritySortFn=V,exports.issueTypeStatusSortFn=ee,exports.nameModelFilterFn=K,exports.nameModelSortFn=G,exports.pluralize=x,exports.submittedAtModelSortFn=W,exports.toFileNameSafeString=w,exports.toUuidArray=v,exports.toUuidIdRecord=_,exports.truncate=b,exports.uuidModelSortFn=U,exports.uuidObj=g,exports.uuidSortFn=y;
package/dist/index.js CHANGED
@@ -88,48 +88,58 @@ function S(e) {
88
88
  function C(e, t) {
89
89
  return e.toLowerCase().includes(t.toLowerCase());
90
90
  }
91
+ function w(e, t = "", n = 255) {
92
+ let r = e.replace(/[^a-z0-9_\-.]/gi, "_").replace(/_{2,}/g, "_");
93
+ if (!t) {
94
+ let n = e.split(".");
95
+ n.length > 1 && (t = n[n.length - 1]);
96
+ }
97
+ t && !t.startsWith(".") && (t = "." + t);
98
+ let i = t ? t.length : 0;
99
+ return r.length + i > n && (r = r.slice(0, n - i) + (t || "")), r;
100
+ }
91
101
  //#endregion
92
102
  //#region src/utils/array.ts
93
- function w(e, t) {
103
+ function T(e, t) {
94
104
  let n = [], r = 0, i = e.length;
95
105
  for (; r < i;) n.push(e.slice(r, r += t));
96
106
  return n;
97
107
  }
98
108
  //#endregion
99
109
  //#region src/constants/empty.ts
100
- var T = Object.freeze([]), E = Object.freeze({}), D = Object.freeze(/* @__PURE__ */ new Set()), O = Object.freeze(/* @__PURE__ */ new Map()), k = "Unlabelled asset", A = [
110
+ var E = Object.freeze([]), D = Object.freeze({}), O = Object.freeze(/* @__PURE__ */ new Set()), k = Object.freeze(/* @__PURE__ */ new Map()), A = "Unlabelled asset", j = [
101
111
  n.PLANNED,
102
112
  n.ACTIVE,
103
113
  n.MAINTENANCE,
104
114
  n.INACTIVE,
105
115
  n.RETIRED,
106
116
  n.DISPOSED
107
- ], j = "Untitled issue", M = [
117
+ ], M = "Untitled issue", N = [
108
118
  a.LOWEST,
109
119
  a.LOW,
110
120
  a.MEDIUM,
111
121
  a.HIGH,
112
122
  a.HIGHEST
113
- ], N = [
123
+ ], P = [
114
124
  i.BACKLOG,
115
125
  i.PLANNED,
116
126
  i.IN_PROGRESS,
117
127
  i.COMPLETED,
118
128
  i.CANCELLED
119
- ], P = [
129
+ ], F = [
120
130
  t.GUEST,
121
131
  t.BASIC,
122
132
  t.ADMIN
123
- ], F = "Untitled document", I = "Unknown user", L = "An unexpected error occurred. Please try again later.", R = (e, t) => e.type === t.type ? e.order - t.order : e.type - t.type, z = (e, t) => C(e.label || "Unlabelled asset", t) || C(e.index?.toString() ?? "(Pending)", t), B = (e, t) => e.type === t.type ? e.order - t.order : e.type - t.type, ee = (e, t) => e.type === t.type ? e.order - t.order : e.type - t.type, V = (e, t) => C(e.title || "Untitled issue", t) || C(e.index?.toString() ?? "(Pending)", t);
133
+ ], I = "Untitled document", L = "Unknown user", R = "An unexpected error occurred. Please try again later.", z = (e, t) => e.type === t.type ? e.order - t.order : e.type - t.type, B = (e, t) => C(e.label || "Unlabelled asset", t) || C(e.index?.toString() ?? "(Pending)", t), ee = (e, t) => e.type === t.type ? e.order - t.order : e.type - t.type, V = (e, t) => e.type === t.type ? e.order - t.order : e.type - t.type, H = (e, t) => C(e.title || "Untitled issue", t) || C(e.index?.toString() ?? "(Pending)", t);
124
134
  //#endregion
125
135
  //#region src/utils/models/base.ts
126
- function H(e, t) {
136
+ function U(e, t) {
127
137
  return y(e.uuid, t.uuid);
128
138
  }
129
- var U = (e, t) => e.submitted_at === t.submitted_at ? 0 : e.submitted_at < t.submitted_at ? -1 : 1, W = (e, t) => e.name.localeCompare(t.name), G = (e, t) => C(e.name, t);
139
+ var W = (e, t) => e.submitted_at === t.submitted_at ? 0 : e.submitted_at < t.submitted_at ? -1 : 1, G = (e, t) => e.name.localeCompare(t.name), K = (e, t) => C(e.name, t);
130
140
  //#endregion
131
141
  //#region node_modules/fast-tree-builder/index.mjs
132
- function K(e, t) {
142
+ function q(e, t) {
133
143
  if (!t) throw Error("Missing required 'options' parameter.");
134
144
  let { id: n, parentId: r, childIds: i, valueResolver: a, valueKey: o = "value", parentKey: s = "parent", childrenKey: c = "children", depthKey: l = !1, validateTree: u = !1, validateReferences: d = !1, includeEmptyChildrenArray: f = !1 } = t;
135
145
  if (!n) throw Error("Option 'id' is required.");
@@ -235,7 +245,7 @@ function K(e, t) {
235
245
  }
236
246
  //#endregion
237
247
  //#region node_modules/ts-tree-lib/dist/src/TreeNode.js
238
- var q = /* @__PURE__ */ e(((e) => {
248
+ var J = /* @__PURE__ */ e(((e) => {
239
249
  Object.defineProperty(e, "__esModule", { value: !0 }), e.defaultTraversalStrategy = e.TreeNode = void 0, e.TreeNode = class {
240
250
  constructor(e, t, n) {
241
251
  this.children = [], this.strategy = this.depthFirstSearch, this.model = e, this.index = t, n && (this.strategy = n);
@@ -317,9 +327,9 @@ var q = /* @__PURE__ */ e(((e) => {
317
327
  return e.depthFirstSearch(e);
318
328
  }
319
329
  e.defaultTraversalStrategy = t;
320
- })), J = /* @__PURE__ */ e(((e) => {
330
+ })), Y = /* @__PURE__ */ e(((e) => {
321
331
  Object.defineProperty(e, "__esModule", { value: !0 }), e.Tree = void 0;
322
- var t = q();
332
+ var t = J();
323
333
  e.Tree = class {
324
334
  constructor(e, n) {
325
335
  this.strategy = t.defaultTraversalStrategy, this.root = e ? this.parse(e) : null, n && (this.strategy = n);
@@ -373,16 +383,16 @@ var q = /* @__PURE__ */ e(((e) => {
373
383
  }
374
384
  }
375
385
  };
376
- })), Y = (/* @__PURE__ */ e(((e) => {
386
+ })), X = (/* @__PURE__ */ e(((e) => {
377
387
  Object.defineProperty(e, "__esModule", { value: !0 }), e.defaultTraversalStrategy = e.TreeNode = e.Tree = void 0;
378
- var t = J();
388
+ var t = Y();
379
389
  Object.defineProperty(e, "Tree", {
380
390
  enumerable: !0,
381
391
  get: function() {
382
392
  return t.Tree;
383
393
  }
384
394
  });
385
- var n = q();
395
+ var n = J();
386
396
  Object.defineProperty(e, "TreeNode", {
387
397
  enumerable: !0,
388
398
  get: function() {
@@ -394,27 +404,27 @@ var q = /* @__PURE__ */ e(((e) => {
394
404
  return n.defaultTraversalStrategy;
395
405
  }
396
406
  });
397
- })))(), X = (e) => K(e, {
407
+ })))(), Z = (e) => q(e, {
398
408
  id: (e) => e.uuid,
399
409
  parentId: (e) => e.parent_document,
400
410
  includeEmptyChildrenArray: !0,
401
411
  valueKey: !1
402
- }), Z = (e) => {
403
- let { roots: t } = X(e);
404
- return t.map((e) => new Y.Tree(e));
405
- }, Q = (e, t) => {
406
- let { nodes: n } = X(t), r = n.get(e);
412
+ }), Q = (e) => {
413
+ let { roots: t } = Z(e);
414
+ return t.map((e) => new X.Tree(e));
415
+ }, $ = (e, t) => {
416
+ let { nodes: n } = Z(t), r = n.get(e);
407
417
  if (!r) throw Error(`Node with uuid ${e} does not exist in document tree.`);
408
- return new Y.Tree(r);
409
- }, $ = (e) => e.length === 0 ? T : e, te = (e) => Object.keys(e).length === 0 ? E : e, ne = (e) => e.size === 0 ? D : e, re = (e) => e.size === 0 ? E : e;
418
+ return new X.Tree(r);
419
+ }, te = (e) => e.length === 0 ? E : e, ne = (e) => Object.keys(e).length === 0 ? D : e, re = (e) => e.size === 0 ? O : e, ie = (e) => e.size === 0 ? D : e;
410
420
  //#endregion
411
421
  //#region src/utils/errors.ts
412
- function ie(e) {
422
+ function ae(e) {
413
423
  return e instanceof Error && e.name === "AbortError";
414
424
  }
415
425
  //#endregion
416
426
  //#region src/classes/DeferredPromise.ts
417
- var ae = class {
427
+ var oe = class {
418
428
  [Symbol.toStringTag] = "Promise";
419
429
  _promise;
420
430
  _resolve;
@@ -445,7 +455,7 @@ var ae = class {
445
455
  finally(e) {
446
456
  throw Error("`finally` not implemented");
447
457
  }
448
- }, oe = class e extends Promise {
458
+ }, se = class e extends Promise {
449
459
  _uuid;
450
460
  constructor(e, t) {
451
461
  super(e), this._uuid = t;
@@ -475,4 +485,4 @@ var ae = class {
475
485
  }
476
486
  };
477
487
  //#endregion
478
- export { A as ASSET_STATUS_TYPES, n as AssetStatusType, ae as DeferredPromise, T as EMPTY_ARRAY, O as EMPTY_MAP, E as EMPTY_OBJECT, D as EMPTY_SET, L as ERROR_MSG_UNEXPECTED, M as ISSUE_PRIORITY_TYPES, N as ISSUE_STATUS_TYPES, a as IssuePriorityType, i as IssueStatusType, r as IssueUpdateChange, I as NON_EXISTING_USER_NAME, P as ORGANIZATION_ACCESS_LEVELS, t as OrganizationAccessLevel, o as ProcedureStepEventType, s as ProcedureStepFieldValuesReviewType, k as UNLABELLED_ASSET_LABEL, F as UNTITLED_DOCUMENT_TITLE, j as UNTITLED_ISSUE_TITLE, oe as UUIDPromise, c as VerificationCodeType, z as assetFilterCallback, R as assetTypeStatusSortFn, w as chunkArray, $ as fallbackToEmptyArray, re as fallbackToEmptyMap, te as fallbackToEmptyObject, ne as fallbackToEmptySet, S as generateAbbreviation, Q as getDocumentSubTree, Z as getDocumentTrees, C as includesLowercase, ie as isAbortError, V as issueFilterCallback, ee as issueTypePrioritySortFn, B as issueTypeStatusSortFn, G as nameModelFilterFn, W as nameModelSortFn, x as pluralize, U as submittedAtModelSortFn, v as toUuidArray, _ as toUuidIdRecord, b as truncate, H as uuidModelSortFn, g as uuidObj, y as uuidSortFn };
488
+ export { j as ASSET_STATUS_TYPES, n as AssetStatusType, oe as DeferredPromise, E as EMPTY_ARRAY, k as EMPTY_MAP, D as EMPTY_OBJECT, O as EMPTY_SET, R as ERROR_MSG_UNEXPECTED, N as ISSUE_PRIORITY_TYPES, P as ISSUE_STATUS_TYPES, a as IssuePriorityType, i as IssueStatusType, r as IssueUpdateChange, L as NON_EXISTING_USER_NAME, F as ORGANIZATION_ACCESS_LEVELS, t as OrganizationAccessLevel, o as ProcedureStepEventType, s as ProcedureStepFieldValuesReviewType, A as UNLABELLED_ASSET_LABEL, I as UNTITLED_DOCUMENT_TITLE, M as UNTITLED_ISSUE_TITLE, se as UUIDPromise, c as VerificationCodeType, B as assetFilterCallback, z as assetTypeStatusSortFn, T as chunkArray, te as fallbackToEmptyArray, ie as fallbackToEmptyMap, ne as fallbackToEmptyObject, re as fallbackToEmptySet, S as generateAbbreviation, $ as getDocumentSubTree, Q as getDocumentTrees, C as includesLowercase, ae as isAbortError, H as issueFilterCallback, V as issueTypePrioritySortFn, ee as issueTypeStatusSortFn, K as nameModelFilterFn, G as nameModelSortFn, x as pluralize, W as submittedAtModelSortFn, w as toFileNameSafeString, v as toUuidArray, _ as toUuidIdRecord, b as truncate, U as uuidModelSortFn, g as uuidObj, y as uuidSortFn };
@@ -8,3 +8,14 @@ export declare function truncate(str: string, maxLength: number): string;
8
8
  export declare function pluralize(str: string, count: number): string;
9
9
  export declare function generateAbbreviation(str: string): string;
10
10
  export declare function includesLowercase(string: string, stringToInclude: string): boolean;
11
+ /**
12
+ * Returns a file-safe string from arbitrary text. Will return maximum 255 characters, which is the longest safe
13
+ * Long File Name (LFN).
14
+ * WARNING! May give poor performance in big loops.
15
+ * @param str The string to make safe for file names.
16
+ * @param extension An extension (not including a period) to be added after a period at the end of the string. The
17
+ * character limit of the returned string includes the extension, meaning characters from str will be removed to
18
+ * accommodate it if necessary.
19
+ * @param maxLength The maximum length of the resulting file name. Defaults to 255.
20
+ */
21
+ export declare function toFileNameSafeString(str: string, extension?: string, maxLength?: number): string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@overmap-ai/common",
3
- "version": "0.0.1-more-code-dump.0",
3
+ "version": "0.0.1-more-code-dump.1",
4
4
  "license": "UNLICENSED",
5
5
  "files": [
6
6
  "dist"