insite-users-client 2.2.2 → 2.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/UsersSubscriptionGroup.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +4 -4
- package/dist/users.d.ts.map +1 -1
- package/package.json +33 -33
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UsersSubscriptionGroup.d.ts","sourceRoot":"","sources":["../src/UsersSubscriptionGroup.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,iBAAiB,EACjB,KAAK,wBAAwB,EAC7B,KAAK,+BAA+B,EACpC,KAAK,kCAAkC,EACvC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,yBAAyB,EAAE,MAAM,QAAQ,CAAC;AACnF,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAG3D,QAAA,MAAM,gBAAgB,sJAIrB,CAAC;AAEF,QAAA,MAAM,mBAAmB,4IAIxB,CAAC;AAEF,qBAAa,sBAAuB,SAAQ,iBAAiB,CAAC,OAAO,gBAAgB,GAAG,OAAO,mBAAmB,CAAC;gBACtG,OAAO,EAAE,wBAAwB;
|
|
1
|
+
{"version":3,"file":"UsersSubscriptionGroup.d.ts","sourceRoot":"","sources":["../src/UsersSubscriptionGroup.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,iBAAiB,EACjB,KAAK,wBAAwB,EAC7B,KAAK,+BAA+B,EACpC,KAAK,kCAAkC,EACvC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,yBAAyB,EAAE,MAAM,QAAQ,CAAC;AACnF,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAG3D,QAAA,MAAM,gBAAgB,sJAIrB,CAAC;AAEF,QAAA,MAAM,mBAAmB,4IAIxB,CAAC;AAEF,qBAAa,sBAAuB,SAAQ,iBAAiB,CAAC,OAAO,gBAAgB,GAAG,OAAO,mBAAmB,CAAC;gBACtG,OAAO,EAAE,wBAAwB;IAI7C,UAAU,EAAE,OAAO,GAAG,IAAI,CAAS;IAEnC,MAAM;IAaN,QAAQ;IAWR,MAAM,CAAC,YAAY,CAAC,EACnB,IAAI,EACJ,KAAK,EACL,IAAI,EACJ,EAAE;QACF,IAAI,EAAE,+BAA+B,CAAC;QACtC,KAAK,EAAE,+BAA+B,CAAC;QACvC,IAAI,EAAE,kCAAkC,CAAC;KACzC,EAAE,OAAO,EAAE,wBAAwB;;;;;CAQpC"}
|
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var
|
|
1
|
+
var G=Object.defineProperty;var D=(t,o,e)=>o in t?G(t,o,{enumerable:!0,configurable:!0,writable:!0,value:e}):t[o]=e;var f=(t,o,e)=>D(t,typeof o!="symbol"?o+"":o,e);import{SubscriptionGroup as R}from"insite-subscriptions-client";function m(){}var O=new WeakMap,g=class t extends Promise{constructor(e,r){let n,u;super((i,l)=>{n=i,u=l});f(this,"isPending",!0);f(this,"isFulfilled",!1);f(this,"isRejected",!1);f(this,"state","pending");f(this,"result");f(this,"resolve",e=>{if(this.isPending){this.isPending=!1,this.isFulfilled=!0,this.state="fulfilled",this.result=e;let r=O.get(this);r&&(r.resolve.call(this,e),O.delete(this))}});f(this,"reject",e=>{if(this.isPending){this.isPending=!1,this.isRejected=!0,this.state="rejected",this.result=e;let r=O.get(this);r&&(r.reject.call(this,e),O.delete(this))}});if(O.set(this,{resolve:n,reject:u}),r?.signal)if(r.signal.aborted)this.reject(new DOMException("Aborted","AbortError"));else{let i=()=>this.reject(new DOMException("Aborted","AbortError"));r.signal.addEventListener("abort",i),this.finally(()=>r.signal?.removeEventListener("abort",i))}if(typeof r?.timeout=="number"&&Number.isFinite(r.timeout)){let i=setTimeout(()=>this.reject(new DOMException("Timeout exceeded","TimeoutError")),r.timeout);this.finally(()=>clearTimeout(i))}e?.(this.resolve,this.reject)}static resolved(e){return new t(r=>r(e))}static rejected(e){return new t((r,n)=>n(e))}};function N(t,o=0,e={}){let{leading:r=!1,trailing:n=!0}=e,{maxWait:u=1/0}=e,i,l,s,c,j,h,d,S,T=async()=>{let a=Date.now();a>=s?(i=void 0,s=void 0,clearTimeout(l),l=void 0,typeof d=="function"&&await d(),p.resolve(S),h=r):(clearTimeout(i),i=setTimeout(T,s-a))},y=Number.isFinite(u)?()=>{d===x&&(d=!1),x(),l=setTimeout(y,u)}:null;async function x(){try{return S=await t.apply(c,j),S}catch(a){throw p.reject(a),a}}r&&typeof r=="boolean"&&(r=x),h=r,n&&typeof n=="boolean"&&(n=x),d=n;let p=Object.assign(function(...a){return j=a,c=this,s=Date.now()+o,d=n,p.promise.isPending||(p.promise=new g((W,P)=>{p.resolve=W,p.reject=P,typeof h=="function"&&(h(),h=!1,d===x&&(d=!1)),i||(i=setTimeout(T,o),y&&(l=setTimeout(y,u)))})),p.promise},{callback:t,promise:g.resolved(void 0),resolve:m,reject:m,run:x,clear:async a=>{clearTimeout(i),i=void 0,clearTimeout(l),l=void 0,p.resolve(a?await x():S)}});return p}N.noop=Object.assign(()=>{},{callback:m,promise:g.resolved(void 0),resolve:m,reject:m,run:m,clear:m});function b(t,o,e=!1){let r=[];if(e)for(let n of o){let u=t.get(n);u!==void 0&&r.push(u)}else for(let n of o)r.push(t.get(n));return r}function $(t,o,e,r,n=!0){return Array.isArray(t)&&(t=t.length),typeof r!="string"&&(n=r??!0,r=e),(n?`${t}\xA0`:"")+$.raw(t,o,e,r)}$.raw=(t,o,e,r=e)=>{t=Math.abs(t);let n=t%10,u=t%100;return n===1&&u!==11?o:n>=2&&n<=4&&!(u>=12&&u<=15)?e:r};function v(t,o){let e=t.indexOf(o);return e>-1?(t.splice(e,1),!0):!1}function U(t){t.null={_id:null,title:"",isOrg:!0,users:Object.assign(new Set,{sorted:[]})}}function E(t){if(t)for(let o of t.added)o.isOrg=!0,o.users=Object.assign(new Set,{sorted:[]});else this.values.orgs.null.users.clear(),this.values.orgs.null.users.sorted.length=0}function I(t){let o=this.values.orgs;if(t){let{users:e,extendedOrgs:r}=this.values;for(let u of t){let i=o.get(u._id);i.owners=u.owners.map(l=>e.get(l)||o.get(l)),i.slaveOrgs=b(o,u.slaveOrgs,!0),i.note=u.note,i._l=0}let n=[];for(let u of r.sorted){let i=o.get(u._id);for(let l of i.slaveOrgs)l._l=i._l+1;n.push(i)}o.sortedHierarchically=n,this.isLoaded&&(this.items.users.emitUpdate(),this.items.orgs.emitUpdate(t))}else{for(let e of o.sorted)delete e.owners,delete e.slaveOrgs,delete e.note,delete e._l;delete o.sortedHierarchically}}function _(t){if(t){let o=this.values.roles;for(let e of t)e.ownInvolves=b(o,e.ownInvolves,!0),e.involves=b(o,e.involves,!0),e._l=0;for(let e of o.sorted)for(let r of e.ownInvolves)r._l=e._l+1;this.isLoaded&&this.items.users.emitUpdate(t)}}function w(t){if(t){let o=t.slaveIds.join(",");if(t.slavesSnapshot!==o){t.slavesSnapshot=o;let e=[],r=[],n=[],{users:u,orgs:i}=this.values;for(let l of t.slaveIds){let s=u.get(l);s?(e.push(s),r.push(s)):(s=i.get(l),s&&(e.push(s),n.push(s)))}t.slaves=e,t.slaveUsers=r,t.slaveOrgs=n}}}function M(t){if(t){let o=this.values.users,e=this.values.user,r=this.values.orgs;o.get(e._id)!==e&&(o.set(e._id,e),o.sorted[o.sorted.findIndex(s=>s._id===e._id)]=e);let n=t.findIndex(s=>s._id===e._id);~n&&(t[n]=e),~t.added.findIndex(s=>s._id===e._id)&&(t.added[n]=e);for(let s of t.added)s.isUser=!0;let i,l=new Set;for(let s of t){let c=r.get(s.orgId)??r.null;s.org!==c&&(s.org&&(s.org.users.delete(s),v(s.org.users.sorted,s)),s.org=c,s.org.users.add(s),s.org.users.sorted.push(s)),l.add(s.org),s===e&&(i=!0)}for(let s of l)s.users.sorted.sort(o.sortCompareFunction);if(t.deleted.length)for(let s of[...r.sorted,r.null])for(let c of s.users)o.has(c._id)||(s.users.delete(c),v(s.users.sorted,c));this.isLoaded&&(i&&this.items.user.emitUpdate(),this.items.orgs.emitUpdate())}}function A(t){let o=this.values.users;if(t){let{roles:e}=this.values;for(let r of t){let n=o.get(r._id);n.roles=e.getAll(r.roleIds)}}else for(let e of o.sorted)delete e.roles}var B=[["orgs","map",E,U],["users","map",M],["user",[!0],w]],C=[["roles","map",_],["extendedUsers","map","users.extended",A,!0],["extendedOrgs","map","orgs.extended",I,!0]],k=class extends R{constructor(e){super(B,e);f(this,"isExtended",!1)}extend(){if(this.isExtended===!1)return this.isExtended=null,this.attach(C).then(()=>{this.isExtended=!0})}unextend(){this.isExtended&&(this.isExtended=!1,this.detach(["roles","extendedUsers","extendedOrgs"]))}static handleValues({orgs:e,users:r,user:n},u){return new R([["orgs",e,E,U],["users",r,M],["user",n,w]],u)}};export{k as UsersSubscriptionGroup};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../src/UsersSubscriptionGroup.ts", "../../../../@nesvet/npm/n/src/noop.ts", "../../../../@nesvet/npm/n/src/debounce.ts", "../../../../@nesvet/npm/n/src/getAll.ts", "../../../../@nesvet/npm/n/src/howmuch.ts", "../../../../@nesvet/npm/n/src/removeOne.ts", "../src/orgs.ts", "../src/roles.ts", "../src/user.ts", "../src/users.ts"],
|
|
4
|
-
"sourcesContent": ["import {\n\tSubscriptionGroup,\n\ttype SubscriptionGroupOptions,\n\ttype SubscriptionMapWithSubscription,\n\ttype SubscriptionObjectWithSubscription\n} from \"insite-subscriptions-client\";\nimport { handleExtendedOrgs, handleOrgs, handleOrgsBeforeSubscribe } from \"./orgs\";\nimport { handleRoles } from \"./roles\";\nimport { handleUser } from \"./user\";\nimport { handleExtendedUsers, handleUsers } from \"./users\";\n\n\nconst basisDefinitions = [\n\t[ \"orgs\", \"map\", handleOrgs, handleOrgsBeforeSubscribe ],\n\t[ \"users\", \"map\", handleUsers ],\n\t[ \"user\", [ true ], handleUser ]\n];\n\nconst extendedDefinitions = [\n\t[ \"roles\", \"map\", handleRoles ],\n\t[ \"extendedUsers\", \"map\", \"users.extended\", handleExtendedUsers, true ],\n\t[ \"extendedOrgs\", \"map\", \"orgs.extended\", handleExtendedOrgs, true ]\n];\n\nexport class UsersSubscriptionGroup extends SubscriptionGroup<typeof basisDefinitions | typeof extendedDefinitions> {\n\tconstructor(options: SubscriptionGroupOptions) {\n\t\tsuper(basisDefinitions, options);\n\t\t\n\t}\n\t\n\tisExtended: boolean | null = false;\n\t\n\textend() {\n\t\t\n\t\tif (this.isExtended === false) {\n\t\t\tthis.isExtended = null;\n\t\t\t\n\t\t\treturn this.attach(extendedDefinitions).then(() => {\n\t\t\t\t\n\t\t\t\tthis.isExtended = true;\n\t\t\t\t\n\t\t\t});\n\t\t}\n\t\t\n\t}\n\t\n\tunextend() {\n\t\t\n\t\tif (this.isExtended) {\n\t\t\tthis.isExtended = false;\n\t\t\t\n\t\t\tthis.detach([ \"roles\", \"extendedUsers\", \"extendedOrgs\" ]);\n\t\t}\n\t\t\n\t}\n\t\n\t\n\tstatic handleValues({\n\t\torgs,\n\t\tusers,\n\t\tuser\n\t}: {\n\t\torgs: SubscriptionMapWithSubscription;\n\t\tusers: SubscriptionMapWithSubscription;\n\t\tuser: SubscriptionObjectWithSubscription;\n\t}, options: SubscriptionGroupOptions) {\n\t\treturn new SubscriptionGroup([\n\t\t\t[ \"orgs\", orgs, handleOrgs, handleOrgsBeforeSubscribe ],\n\t\t\t[ \"users\", users, handleUsers ],\n\t\t\t[ \"user\", user, handleUser ]\n\t\t], options);\n\t}\n\t\n}\n", "export function noop() { /**/ }\n", "import { noop } from \"./noop.js\";\n\n\ntype Callback<Result> = (...args: unknown[]) => Result;\ntype FunctionOrBoolean = (() => unknown) | boolean;\ntype Options = { leading?: FunctionOrBoolean; maxWait?: number; trailing?: FunctionOrBoolean };\ntype NumberOrUndefined = number | undefined;\n\ntype DebouncedFunction<Result> = {\n\t(this: unknown, ..._args: unknown[]): Promise<Result>;\n};\n\nexport type Debounced<Result> = {\n\tcallback: Callback<Result>;\n\tpromise: {\n\t\tisResolved: boolean;\n\t} & Promise<unknown>;\n\tresolve: (value: Result) => void;\n\trun(): Promise<Result>;\n\tclear(shouldRun?: boolean): Promise<void>;\n} & DebouncedFunction<Result>;\n\n\nexport function debounce<Result>(callback: Callback<Result>, limit = 0, options: Options = {}) {\n\tlet { leading = false, trailing = true } = options;\n\tconst { maxWait = Infinity } = options;\n\t\n\tlet timeout: NumberOrUndefined;\n\tlet maxWaitTimeout: NumberOrUndefined;\n\tlet end: NumberOrUndefined;\n\tlet context: unknown;\n\tlet args: unknown[];\n\tlet initial: FunctionOrBoolean;\n\tlet final: FunctionOrBoolean;\n\tlet result: Result;\n\t\n\tconst expired = async () => {\n\t\t\n\t\tconst n = Date.now();\n\t\t\n\t\tif (n >= end!) {\n\t\t\ttimeout = undefined;\n\t\t\tend = undefined;\n\t\t\tclearTimeout(maxWaitTimeout);\n\t\t\tif (typeof final == \"function\")\n\t\t\t\tawait final();\n\t\t\tdebounced.resolve(result);\n\t\t\tdebounced.promise.isResolved = true;\n\t\t\tinitial = leading;\n\t\t} else {\n\t\t\tclearTimeout(timeout);\n\t\t\ttimeout = setTimeout(expired, end! - n);\n\t\t}\n\t\t\n\t};\n\t\n\tconst maxWaitExpired = Number.isFinite(maxWait) ? () => {\n\t\t\n\t\tif (final === run)\n\t\t\tfinal = false;\n\t\trun();\n\t\tmaxWaitTimeout = setTimeout(maxWaitExpired as TimerHandler, maxWait);\n\t\t\n\t} : null;\n\t\n\tasync function run() {\n\t\treturn (result = await callback.apply(context, args));\n\t}\n\t\n\tif (leading && typeof leading == \"boolean\")\n\t\tleading = run;\n\tinitial = leading;\n\t\n\tif (trailing && typeof trailing == \"boolean\")\n\t\ttrailing = run;\n\tfinal = trailing;\n\t\n\tconst debounced: Debounced<Result> = Object.assign(function (..._args) {\n\t\targs = _args;\n\t\tcontext = this;// eslint-disable-line no-invalid-this\n\t\t\n\t\tend = Date.now() + limit;\n\t\tfinal = trailing;\n\t\t\n\t\tif (debounced.promise.isResolved)\n\t\t\tdebounced.promise = Object.assign(new Promise(resolve => {\n\t\t\t\tdebounced.resolve = resolve;\n\t\t\t\t\n\t\t\t\tif (typeof initial == \"function\") {\n\t\t\t\t\tinitial();\n\t\t\t\t\tinitial = false;\n\t\t\t\t\tif (final === run)\n\t\t\t\t\t\tfinal = false;\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif (!timeout) {\n\t\t\t\t\ttimeout = setTimeout(expired, limit);\n\t\t\t\t\tif (maxWaitExpired)\n\t\t\t\t\t\tmaxWaitTimeout = setTimeout(maxWaitExpired, maxWait);\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}), {\n\t\t\t\tisResolved: false\n\t\t\t});\n\t\t\n\t\treturn debounced.promise;\n\t} as DebouncedFunction<Result>, {\n\t\tcallback,\n\t\tpromise: Object.assign(Promise.resolve(), {\n\t\t\tisResolved: true\n\t\t}),\n\t\tresolve: noop,\n\t\trun,\n\t\tclear: async (shouldRun?: boolean) => {\n\t\t\t\n\t\t\tclearTimeout(timeout);\n\t\t\ttimeout = undefined;\n\t\t\t\n\t\t\tclearTimeout(maxWaitTimeout);\n\t\t\t\n\t\t\tdebounced.promise.isResolved = true;\n\t\t\tdebounced.resolve(shouldRun ? await run() : result);\n\t\t\t\n\t\t}\n\t});\n\t\n\treturn debounced;\n}\n\n\ndebounce.noop = Object.assign(() => { /**/ }, {\n\tcallback: noop,\n\tpromise: Object.assign(Promise.resolve(), {\n\t\tisResolved: true\n\t}),\n\tresolve: noop,\n\trun: noop,\n\tclear: noop\n}) as unknown as Debounced<void>;\n\n\nexport function throttle<Result>(callback: Callback<Result>, limit?: number, options?: Options) {\n\treturn debounce(callback, limit, {\n\t\tmaxWait: limit,\n\t\tleading: true,\n\t\ttrailing: true,\n\t\t...options\n\t});\n}\n", "export function getAll<K, V>(map: Map<K, V>, keys: K[], onlyExisting?: false): (undefined | V)[];\nexport function getAll<K, V>(map: Map<K, V>, keys: K[], onlyExisting: true): V[];\nexport function getAll<K, V>(map: Map<K, V>, keys: K[], onlyExisting = false) {\n\tif (onlyExisting)\n\t\tkeys = keys.filter(key => map.has(key));\n\t\n\treturn keys.map(key => map.get(key));\n}\n", "export function howmuch(number: [] | number, one: string, two: string, five: boolean | string, shouldPrintNumber = true) {\n\tif (Array.isArray(number))\n\t\tnumber = number.length;\n\t\n\tif (typeof five != \"string\") {\n\t\tshouldPrintNumber = five ?? true;\n\t\tfive = two;\n\t}\n\t\n\t\n\treturn (shouldPrintNumber ? `${number}\u00A0` : \"\") + howmuch.raw(number, one, two, five);\n}\n\nhowmuch.raw = (number: number, one: string, two: string, five = two) => {\n\tnumber = Math.abs(number);\n\tconst u = number % 10;\n\tconst d = number % 100;\n\t\n\treturn (\n\t\t(u === 1 && d !== 11) ?\n\t\t\tone :\n\t\t\t((u >= 2 && u <= 4) && !(d >= 12 && d <= 15)) ?\n\t\t\t\ttwo :\n\t\t\t\tfive\n\t);\n};\n", "export function removeOne<T>(array: T[], item: T): boolean {\n\tconst i = array.indexOf(item);\n\tif (i > -1) {\n\t\tarray.splice(i, 1);\n\t\t\n\t\treturn true;\n\t}\n\t\n\treturn false;\n}\n", "import { getAll } from \"@nesvet/n\";\nimport type { SubscriptionMapUpdated, SubscriptionMapWithSubscription } from \"insite-subscriptions-client\";\nimport type { User } from \"./users\";\nimport type { UsersSubscriptionGroup } from \"./UsersSubscriptionGroup\";\n\n\nexport type Org = {\n\t_id: string;\n\ttitle: string;\n\tisOrg: true;\n\tusers: Set<User> & { sorted: User[] };\n};\n\nexport type NullOrg = Omit<Org, \"_id\"> & { _id: null };\n\ntype OrgExtension = {\n\t_id: string;\n\towners: string[];\n\tslaveOrgs: string[];\n\tnote: string;\n};\n\nexport type OrgExtended = Org & {\n\towners?: (OrgExtended | User)[];\n\tslaveOrgs?: OrgExtended[];\n\tnote?: string;\n\t_l?: number;\n};\n\ntype OrgsExtra = {\n\tnull: NullOrg;\n};\n\nexport type Orgs = OrgsExtra & SubscriptionMapWithSubscription<Org>;\n\nexport type OrgsExtended = OrgsExtra & SubscriptionMapWithSubscription<OrgExtended> & {\n\tsortedHierarchically?: OrgExtended[];\n};\n\n\nexport function handleOrgsBeforeSubscribe(orgs: Orgs) {\n\torgs.null = {\n\t\t_id: null,\n\t\ttitle: \"\",\n\t\tisOrg: true,\n\t\tusers: Object.assign(new Set<User>(), { sorted: [] })\n\t};\n\t\n}\n\n/** @this UsersSubscriptionGroup */\nexport function handleOrgs(this: UsersSubscriptionGroup, updated: SubscriptionMapUpdated<Org> | null) {\n\tif (updated)\n\t\tfor (const org of updated.added) {\n\t\t\torg.isOrg = true;\n\t\t\t\n\t\t\torg.users = Object.assign(new Set<User>(), { sorted: [] });\n\t\t}\n\telse {\n\t\tthis.values.orgs.null.users.clear();\n\t\tthis.values.orgs.null.users.sorted.length = 0;\n\t}\n\t\n}\n\n/** @this UsersSubscriptionGroup */\nexport function handleExtendedOrgs(this: UsersSubscriptionGroup, updated: SubscriptionMapUpdated<OrgExtension> | null) {\n\t\n\tconst orgs = this.values.orgs as OrgsExtended;\n\t\n\tif (updated) {\n\t\tconst { users, extendedOrgs } = this.values;\n\t\t\n\t\tfor (const orgExtension of updated) {\n\t\t\tconst org = orgs.get(orgExtension._id)!;\n\t\t\t\n\t\t\torg.owners = orgExtension.owners.map(_id => users.get(_id) || orgs.get(_id));\n\t\t\torg.slaveOrgs = getAll(orgs, orgExtension.slaveOrgs, true);\n\t\t\torg.note = orgExtension.note;\n\t\t\torg._l = 0;\n\t\t}\n\t\t\n\t\tconst sortedHierarchically = [];\n\t\t\n\t\tfor (const orgExtension of extendedOrgs.sorted) {\n\t\t\tconst org = orgs.get(orgExtension._id)!;\n\t\t\t\n\t\t\tfor (const slaveOrg of org.slaveOrgs!)\n\t\t\t\tslaveOrg._l = org._l! + 1;\n\t\t\t\n\t\t\tsortedHierarchically.push(org);\n\t\t}\n\t\t\n\t\torgs.sortedHierarchically = sortedHierarchically;\n\t\t\n\t\tif (this.isLoaded) {\n\t\t\tthis.items.users.emitUpdate();\n\t\t\tthis.items.orgs.emitUpdate(updated);\n\t\t}\n\t} else {\n\t\tfor (const org of orgs.sorted) {\n\t\t\tdelete org.owners;\n\t\t\tdelete org.slaveOrgs;\n\t\t\tdelete org.note;\n\t\t\tdelete org._l;\n\t\t}\n\t\tdelete orgs.sortedHierarchically;\n\t}\n\t\n}\n", "import { getAll } from \"@nesvet/n\";\nimport type { SubscriptionMapUpdated, SubscriptionMapWithSubscription } from \"insite-subscriptions-client\";\nimport type { UsersSubscriptionGroup } from \"./UsersSubscriptionGroup\";\n\n\nexport type Role = {\n\t_id: string;\n\townInvolves: Role[];\n\tinvolves: Role[];\n\t_l: number;\n};\n\nexport type Roles = SubscriptionMapWithSubscription<Role>;\n\n\n/** @this UsersSubscriptionGroup */\nexport function handleRoles(this: UsersSubscriptionGroup, updated: SubscriptionMapUpdated<Role> | null) {\n\tif (updated) {\n\t\tconst roles = this.values.roles as Roles;\n\t\t\n\t\tfor (const role of updated) {\n\t\t\trole.ownInvolves = getAll(roles, role.ownInvolves as unknown as string[], true);\n\t\t\trole.involves = getAll(roles, role.involves as unknown as string[], true);\n\t\t\trole._l = 0;\n\t\t}\n\t\t\n\t\tfor (const role of roles.sorted)\n\t\t\tfor (const involvedRole of role.ownInvolves)\n\t\t\t\tinvolvedRole._l = role._l + 1;\n\t\t\n\t\tif (this.isLoaded)\n\t\t\tthis.items.users.emitUpdate(updated);\n\t}\n\t\n}\n", "import type { Abilities, AbilitiesSchema } from \"insite-common\";\nimport type { Org } from \"./orgs\";\nimport type { User, UserExtended } from \"./users\";\nimport type { UsersSubscriptionGroup } from \"./UsersSubscriptionGroup\";\n\n\nexport type CurrentUser<AS extends AbilitiesSchema = AbilitiesSchema> = UserExtended & {\n\tabilities: Abilities<AS>;\n\tsessionId?: string;\n\tslaveIds: string[];\n\tslavesSnapshot: string;\n\tslaves: (Org | User)[];\n\tslaveUsers: User[];\n\tslaveOrgs: Org[];\n};\n\n\n/** @this UsersSubscriptionGroup */\nexport function handleUser(this: UsersSubscriptionGroup, user: CurrentUser) {\n\tif (user) {\n\t\t\n\t\tconst slavesSnapshot = user.slaveIds.join(\",\");\n\t\t\n\t\tif (user.slavesSnapshot !== slavesSnapshot) {\n\t\t\tuser.slavesSnapshot = slavesSnapshot;\n\t\t\t\n\t\t\tconst slaves = [];\n\t\t\tconst slaveUsers = [];\n\t\t\tconst slaveOrgs = [];\n\t\t\t\n\t\t\tconst { users, orgs } = this.values;\n\t\t\t\n\t\t\tfor (const _id of user.slaveIds) {\n\t\t\t\tlet slave = users.get(_id);\n\t\t\t\tif (slave) {\n\t\t\t\t\tslaves.push(slave);\n\t\t\t\t\tslaveUsers.push(slave);\n\t\t\t\t} else {\n\t\t\t\t\tslave = orgs.get(_id);\n\t\t\t\t\tif (slave) {\n\t\t\t\t\t\tslaves.push(slave);\n\t\t\t\t\t\tslaveOrgs.push(slave);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tuser.slaves = slaves;\n\t\t\tuser.slaveUsers = slaveUsers;\n\t\t\tuser.slaveOrgs = slaveOrgs;\n\t\t}\n\t}\n\t\n}\n", "import { removeOne } from \"@nesvet/n\";\nimport type { SubscriptionMapUpdated, SubscriptionMapWithSubscription } from \"insite-subscriptions-client\";\nimport type { NullOrg, Org, Orgs } from \"./orgs\";\nimport type { Role } from \"./roles\";\nimport type { CurrentUser } from \"./user\";\nimport type { UsersSubscriptionGroup } from \"./UsersSubscriptionGroup\";\n\n\nexport type User = {\n\t_id: string;\n\tisUser: true;\n\temail: string;\n\tname: {\n\t\tfirst: string;\n\t\tmiddle: string;\n\t\tlast: string;\n\t};\n\torgId: string;\n\tjob: string;\n\tinitials: string;\n\tdisplayLabel: string;\n\tavatarUrl: string;\n\tisOnline: boolean;\n\torg: NullOrg | Org;\n};\n\ntype UserExtension = {\n\t_id: string;\n\troleIds: string[];\n};\n\nexport type UserExtended = User & {\n\troles?: Role;\n};\n\nexport type Users = SubscriptionMapWithSubscription<User>;\n\nexport type UsersExtended = SubscriptionMapWithSubscription<UserExtended>;\n\n\n/** @this UsersSubscriptionGroup */\nexport function handleUsers(this: UsersSubscriptionGroup, updated: SubscriptionMapUpdated<User> | null) {\n\tif (updated) {\n\t\tconst users = this.values.users as Users;\n\t\tconst currentUser = this.values.user as CurrentUser;\n\t\tconst orgs = this.values.orgs as Orgs;\n\t\t\n\t\tif (users.get(currentUser._id) !== currentUser) {\n\t\t\tusers.set(currentUser._id, currentUser);\n\t\t\tusers.sorted[users.sorted.findIndex(user => user._id === currentUser._id)] = currentUser;\n\t\t}\n\t\tconst updatedUserIndex = updated.findIndex(user => user._id === currentUser._id);\n\t\t\n\t\tif (~updatedUserIndex)\n\t\t\tupdated[updatedUserIndex] = currentUser;\n\t\t\n\t\tconst addedUserIndex = updated.added.findIndex(user => user._id === currentUser._id);\n\t\t\n\t\tif (~addedUserIndex)\n\t\t\tupdated.added[updatedUserIndex] = currentUser;\n\t\t\n\t\tfor (const user of updated.added)\n\t\t\tuser.isUser = true;\n\t\t\n\t\tlet shouldUpdateUser;\n\t\tconst orgsToSortUsers = new Set<NullOrg | Org>();\n\t\t\n\t\tfor (const user of updated) {\n\t\t\tconst org = orgs.get(user.orgId) ?? orgs.null;\n\t\t\t\n\t\t\tif (user.org !== org) {\n\t\t\t\tif (user.org) {\n\t\t\t\t\tuser.org.users.delete(user);\n\t\t\t\t\tremoveOne(user.org.users.sorted, user);\n\t\t\t\t}\n\t\t\t\tuser.org = org;\n\t\t\t\tuser.org.users.add(user);\n\t\t\t\tuser.org.users.sorted.push(user);\n\t\t\t\t\n\t\t\t\torgsToSortUsers.add(user.org);\n\t\t\t}\n\t\t\t\n\t\t\tif (user === currentUser)\n\t\t\t\tshouldUpdateUser = true;\n\t\t\t\n\t\t}\n\t\t\n\t\tfor (const org of orgsToSortUsers)\n\t\t\torg.users.sorted.sort(users.sortCompareFunction!);\n\t\t\n\t\tif (updated.deleted.length)\n\t\t\tfor (const org of [ ...orgs.sorted, orgs.null ])\n\t\t\t\tfor (const user of org.users)\n\t\t\t\t\tif (!users.has(user._id)) {\n\t\t\t\t\t\torg.users.delete(user);\n\t\t\t\t\t\tremoveOne(org.users.sorted, user);\n\t\t\t\t\t}\n\t\t\n\t\tif (this.isLoaded) {\n\t\t\tif (shouldUpdateUser)\n\t\t\t\tthis.items.user.emitUpdate();\n\t\t\tthis.items.orgs.emitUpdate();\n\t\t}\n\t}\n\t\n}\n\n/** @this UsersSubscriptionGroup */\nexport function handleExtendedUsers(this: UsersSubscriptionGroup, updated: SubscriptionMapUpdated<UserExtension> | null) {\n\t\n\tconst users = this.values.users as UsersExtended;\n\t\n\tif (updated) {\n\t\tconst { roles } = this.values;\n\t\t\n\t\tfor (const userExtension of updated) {\n\t\t\tconst user = users.get(userExtension._id)!;\n\t\t\t\n\t\t\tuser.roles = roles.getAll(userExtension.roleIds);\n\t\t}\n\t} else\n\t\tfor (const user of users.sorted)\n\t\t\tdelete user.roles;\n\t\n}\n"],
|
|
5
|
-
"mappings": "oKAAA,OACC,qBAAAA,MAIM,8BCLD,SAAUC,GAAI,CAAU,
|
|
6
|
-
"names": ["SubscriptionGroup", "noop", "debounce", "callback", "limit", "options", "leading", "trailing", "maxWait", "timeout", "maxWaitTimeout", "end", "context", "args", "initial", "final", "result", "expired", "n", "debounced", "maxWaitExpired", "run", "_args", "resolve", "noop", "shouldRun", "getAll", "map", "keys", "onlyExisting", "key", "howmuch", "number", "one", "two", "five", "shouldPrintNumber", "u", "d", "removeOne", "array", "item", "i", "handleOrgsBeforeSubscribe", "orgs", "handleOrgs", "updated", "org", "handleExtendedOrgs", "users", "extendedOrgs", "orgExtension", "_id", "getAll", "sortedHierarchically", "slaveOrg", "handleRoles", "updated", "roles", "role", "getAll", "involvedRole", "handleUser", "user", "slavesSnapshot", "slaves", "slaveUsers", "slaveOrgs", "users", "orgs", "_id", "slave", "handleUsers", "updated", "users", "currentUser", "orgs", "user", "updatedUserIndex", "shouldUpdateUser", "orgsToSortUsers", "org", "removeOne", "handleExtendedUsers", "roles", "userExtension", "basisDefinitions", "handleOrgs", "handleOrgsBeforeSubscribe", "handleUsers", "handleUser", "extendedDefinitions", "handleRoles", "handleExtendedUsers", "handleExtendedOrgs", "UsersSubscriptionGroup", "SubscriptionGroup", "options", "__publicField", "orgs", "users", "user"]
|
|
3
|
+
"sources": ["../src/UsersSubscriptionGroup.ts", "../../../../@nesvet/npm/n/src/noop.ts", "../../../../@nesvet/npm/n/src/StatefulPromise.ts", "../../../../@nesvet/npm/n/src/debounce.ts", "../../../../@nesvet/npm/n/src/getAll.ts", "../../../../@nesvet/npm/n/src/howmuch.ts", "../../../../@nesvet/npm/n/src/removeOne.ts", "../src/orgs.ts", "../src/roles.ts", "../src/user.ts", "../src/users.ts"],
|
|
4
|
+
"sourcesContent": ["import {\n\tSubscriptionGroup,\n\ttype SubscriptionGroupOptions,\n\ttype SubscriptionMapWithSubscription,\n\ttype SubscriptionObjectWithSubscription\n} from \"insite-subscriptions-client\";\nimport { handleExtendedOrgs, handleOrgs, handleOrgsBeforeSubscribe } from \"./orgs\";\nimport { handleRoles } from \"./roles\";\nimport { handleUser } from \"./user\";\nimport { handleExtendedUsers, handleUsers } from \"./users\";\n\n\nconst basisDefinitions = [\n\t[ \"orgs\", \"map\", handleOrgs, handleOrgsBeforeSubscribe ],\n\t[ \"users\", \"map\", handleUsers ],\n\t[ \"user\", [ true ], handleUser ]\n];\n\nconst extendedDefinitions = [\n\t[ \"roles\", \"map\", handleRoles ],\n\t[ \"extendedUsers\", \"map\", \"users.extended\", handleExtendedUsers, true ],\n\t[ \"extendedOrgs\", \"map\", \"orgs.extended\", handleExtendedOrgs, true ]\n];\n\nexport class UsersSubscriptionGroup extends SubscriptionGroup<typeof basisDefinitions | typeof extendedDefinitions> {\n\tconstructor(options: SubscriptionGroupOptions) {\n\t\tsuper(basisDefinitions, options);\n\t}\n\t\n\tisExtended: boolean | null = false;\n\t\n\textend() {\n\t\t\n\t\tif (this.isExtended === false) {\n\t\t\tthis.isExtended = null;\n\t\t\t\n\t\t\treturn this.attach(extendedDefinitions).then(() => {\n\t\t\t\t\n\t\t\t\tthis.isExtended = true;\n\t\t\t\t\n\t\t\t});\n\t\t}\n\t}\n\t\n\tunextend() {\n\t\t\n\t\tif (this.isExtended) {\n\t\t\tthis.isExtended = false;\n\t\t\t\n\t\t\tthis.detach([ \"roles\", \"extendedUsers\", \"extendedOrgs\" ]);\n\t\t}\n\t\t\n\t}\n\t\n\t\n\tstatic handleValues({\n\t\torgs,\n\t\tusers,\n\t\tuser\n\t}: {\n\t\torgs: SubscriptionMapWithSubscription;\n\t\tusers: SubscriptionMapWithSubscription;\n\t\tuser: SubscriptionObjectWithSubscription;\n\t}, options: SubscriptionGroupOptions) {\n\t\treturn new SubscriptionGroup([\n\t\t\t[ \"orgs\", orgs, handleOrgs, handleOrgsBeforeSubscribe ],\n\t\t\t[ \"users\", users, handleUsers ],\n\t\t\t[ \"user\", user, handleUser ]\n\t\t], options);\n\t}\n\t\n}\n", "export function noop() { /**/ }\n", "/* eslint-disable @typescript-eslint/no-explicit-any */\n\ntype Value<T> = PromiseLike<T> | T;\ntype Resolve<T> = (value: Value<T>) => void;\ntype Reject = (reason?: any) => void;\n\ntype Options = {\n\tsignal?: AbortSignal;\n\ttimeout?: number;\n};\n\nconst nativesMap = new WeakMap<StatefulPromise<any>, { resolve: Resolve<any>; reject: Reject }>();\n\n\nexport class StatefulPromise<T> extends Promise<T> {\n\tconstructor(\n\t\texecutor?: (resolve: Resolve<T>, reject: Reject) => void,\n\t\toptions?: Options\n\t) {\n\t\tlet nativeResolve: Resolve<T>;\n\t\tlet nativeReject: Reject;\n\t\t\n\t\tsuper((resolve, reject) => {\n\t\t\tnativeResolve = resolve;\n\t\t\tnativeReject = reject;\n\t\t\t\n\t\t});\n\t\t\n\t\tnativesMap.set(this, { resolve: nativeResolve!, reject: nativeReject! });\n\t\t\n\t\tif (options?.signal)\n\t\t\tif (options.signal.aborted)\n\t\t\t\tthis.reject(new DOMException(\"Aborted\", \"AbortError\"));\n\t\t\telse {\n\t\t\t\tconst abortListener = () => this.reject(new DOMException(\"Aborted\", \"AbortError\"));\n\t\t\t\t\n\t\t\t\toptions.signal.addEventListener(\"abort\", abortListener);\n\t\t\t\t\n\t\t\t\tthis.finally(() => options.signal?.removeEventListener(\"abort\", abortListener));\n\t\t\t}\n\t\t\n\t\tif (typeof options?.timeout === \"number\" && Number.isFinite(options.timeout)) {\n\t\t\tconst timeout = setTimeout(() => this.reject(new DOMException(\"Timeout exceeded\", \"TimeoutError\")), options.timeout);\n\t\t\t\n\t\t\tthis.finally(() => clearTimeout(timeout));\n\t\t}\n\t\t\n\t\texecutor?.(this.resolve, this.reject);\n\t\t\n\t}\n\t\n\tisPending = true;\n\tisFulfilled = false;\n\tisRejected = false;\n\t\n\tstate: \"fulfilled\" | \"pending\" | \"rejected\" = \"pending\";\n\t\n\tresult?: T | unknown;\n\t\n\treadonly resolve = (value: Value<T>) => {\n\t\t\n\t\tif (this.isPending) {\n\t\t\tthis.isPending = false;\n\t\t\tthis.isFulfilled = true;\n\t\t\tthis.state = \"fulfilled\";\n\t\t\tthis.result = value;\n\t\t\t\n\t\t\tconst native = nativesMap.get(this);\n\t\t\t\n\t\t\tif (native) {\n\t\t\t\tnative.resolve.call(this, value);\n\t\t\t\tnativesMap.delete(this);\n\t\t\t}\n\t\t}\n\t\t\n\t};\n\t\n\treadonly reject = (reason?: any) => {\n\t\t\n\t\tif (this.isPending) {\n\t\t\tthis.isPending = false;\n\t\t\tthis.isRejected = true;\n\t\t\tthis.state = \"rejected\";\n\t\t\tthis.result = reason;\n\t\t\t\n\t\t\tconst native = nativesMap.get(this);\n\t\t\t\n\t\t\tif (native) {\n\t\t\t\tnative.reject.call(this, reason);\n\t\t\t\tnativesMap.delete(this);\n\t\t\t}\n\t\t}\n\t\t\n\t};\n\t\n\t\n\tstatic resolved<U>(value: U): StatefulPromise<U> {\n\t\treturn new StatefulPromise<U>(resolve => resolve(value));\n\t}\n\t\n\tstatic rejected(reason: unknown): StatefulPromise<never> {\n\t\treturn new StatefulPromise((_, reject) => reject(reason));\n\t}\n\t\n}\n", "import { noop } from \"./noop.js\";\nimport { StatefulPromise } from \"./StatefulPromise.js\";\n\n\ntype Callback = (...args: any[]) => unknown;// eslint-disable-line @typescript-eslint/no-explicit-any\ntype FunctionOrBoolean = (() => unknown) | boolean;\ntype Options = { leading?: FunctionOrBoolean; maxWait?: number; trailing?: FunctionOrBoolean };\n\ntype DebouncedFunction<C extends Callback> = {\n\t(this: ThisParameterType<C>, ...args: Parameters<C>): Promise<Awaited<ReturnType<C>>>;\n};\n\nexport type Debounced<C extends Callback, R extends ReturnType<C>> = DebouncedFunction<C> & {\n\tcallback: C;\n\tpromise: StatefulPromise<R>;\n\tresolve: (value: R) => void;\n\treject: (reason?: unknown) => void;\n\trun(): Promise<R>;\n\tclear(shouldRun?: boolean): Promise<void>;\n};\n\n\nexport function debounce<C extends Callback, R extends ReturnType<C>>(callback: C, limit = 0, options: Options = {}) {\n\tlet { leading = false, trailing = true } = options;\n\tconst { maxWait = Infinity } = options;\n\t\n\tlet timeout: ReturnType<typeof setTimeout> | undefined;\n\tlet maxWaitTimeout: ReturnType<typeof setTimeout> | undefined;\n\tlet end: number | undefined;\n\tlet context: ThisParameterType<C>;\n\tlet args: unknown[];\n\tlet initial: FunctionOrBoolean;\n\tlet final: FunctionOrBoolean;\n\tlet result: R;\n\t\n\tconst expired = async () => {\n\t\t\n\t\tconst n = Date.now();\n\t\t\n\t\tif (n >= end!) {\n\t\t\ttimeout = undefined;\n\t\t\tend = undefined;\n\t\t\t\n\t\t\tclearTimeout(maxWaitTimeout);\n\t\t\tmaxWaitTimeout = undefined;\n\t\t\t\n\t\t\tif (typeof final == \"function\")\n\t\t\t\tawait final();\n\t\t\t\n\t\t\tdebounced.resolve(result);\n\t\t\t\n\t\t\tinitial = leading;\n\t\t} else {\n\t\t\tclearTimeout(timeout);\n\t\t\ttimeout = setTimeout(expired, end! - n);\n\t\t}\n\t\t\n\t};\n\t\n\tconst maxWaitExpired = Number.isFinite(maxWait) ? () => {\n\t\t\n\t\tif (final === run)\n\t\t\tfinal = false;\n\t\t\n\t\trun();\n\t\t\n\t\tmaxWaitTimeout = setTimeout(maxWaitExpired as TimerHandler, maxWait);\n\t\t\n\t} : null;\n\t\n\tasync function run() {\n\t\ttry {\n\t\t\tresult = await callback.apply(context, args) as R;\n\t\t\t\n\t\t\treturn result;\n\t\t} catch (error) {\n\t\t\tdebounced.reject(error);\n\t\t\t\n\t\t\tthrow error;\n\t\t}\n\t}\n\t\n\tif (leading && typeof leading == \"boolean\")\n\t\tleading = run;\n\tinitial = leading;\n\t\n\tif (trailing && typeof trailing == \"boolean\")\n\t\ttrailing = run;\n\tfinal = trailing;\n\t\n\tconst debounced: Debounced<C, R> = Object.assign(function (..._args) {\n\t\targs = _args;\n\t\tcontext = this;// eslint-disable-line no-invalid-this\n\t\t\n\t\tend = Date.now() + limit;\n\t\tfinal = trailing;\n\t\t\n\t\tif (!debounced.promise.isPending)\n\t\t\tdebounced.promise = new StatefulPromise<R>((resolve, reject) => {\n\t\t\t\tdebounced.resolve = resolve;\n\t\t\t\tdebounced.reject = reject;\n\t\t\t\t\n\t\t\t\tif (typeof initial == \"function\") {\n\t\t\t\t\tinitial();\n\t\t\t\t\t\n\t\t\t\t\tinitial = false;\n\t\t\t\t\t\n\t\t\t\t\tif (final === run)\n\t\t\t\t\t\tfinal = false;\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif (!timeout) {\n\t\t\t\t\ttimeout = setTimeout(expired, limit);\n\t\t\t\t\t\n\t\t\t\t\tif (maxWaitExpired)\n\t\t\t\t\t\tmaxWaitTimeout = setTimeout(maxWaitExpired, maxWait);\n\t\t\t\t}\n\t\t\t\t\n\t\t\t});\n\t\t\n\t\treturn debounced.promise;\n\t} as DebouncedFunction<C>, {\n\t\tcallback,\n\t\tpromise: StatefulPromise.resolved(undefined as unknown as R),\n\t\tresolve: noop,\n\t\treject: noop,\n\t\trun,\n\t\tclear: async (shouldRun?: boolean) => {\n\t\t\t\n\t\t\tclearTimeout(timeout);\n\t\t\ttimeout = undefined;\n\t\t\t\n\t\t\tclearTimeout(maxWaitTimeout);\n\t\t\tmaxWaitTimeout = undefined;\n\t\t\t\n\t\t\tdebounced.resolve(shouldRun ? await run() : result);\n\t\t\t\n\t\t}\n\t});\n\t\n\treturn debounced;\n}\n\n\ndebounce.noop = Object.assign(() => { /**/ }, {\n\tcallback: noop,\n\tpromise: StatefulPromise.resolved(undefined), // eslint-disable-line unicorn/no-useless-undefined\n\tresolve: noop,\n\treject: noop,\n\trun: noop,\n\tclear: noop\n}) as Debounced<() => void, void>;\n\n\nexport function throttle(callback: Callback, limit?: number, options?: Options) {\n\treturn debounce(callback, limit, {\n\t\tmaxWait: limit,\n\t\tleading: true,\n\t\ttrailing: true,\n\t\t...options\n\t});\n}\n", "/* eslint-disable @typescript-eslint/no-explicit-any */\n\n\nexport function getAll<V>(map: Map<any, V>, keys: any[], onlyExisting: true): V[];\nexport function getAll<V>(map: Map<any, V>, keys: any[], onlyExisting?: false): (V | undefined)[];\nexport function getAll<V>(map: Map<any, V>, keys: any[], onlyExisting = false) {\n\t\n\tconst items = [];\n\t\n\tif (onlyExisting)\n\t\tfor (const key of keys) {\n\t\t\tconst item = map.get(key);\n\t\t\tif (item !== undefined)\n\t\t\t\titems.push(item);\n\t\t}\n\telse\n\t\tfor (const key of keys)\n\t\t\titems.push(map.get(key));\n\t\n\treturn items;\n}\n", "export function howmuch(number: [] | number, one: string, two: string, five: boolean | string, shouldPrintNumber = true) {\n\tif (Array.isArray(number))\n\t\tnumber = number.length;\n\t\n\tif (typeof five != \"string\") {\n\t\tshouldPrintNumber = five ?? true;\n\t\tfive = two;\n\t}\n\t\n\t\n\treturn (shouldPrintNumber ? `${number}\u00A0` : \"\") + howmuch.raw(number, one, two, five);\n}\n\nhowmuch.raw = (number: number, one: string, two: string, five = two) => {\n\tnumber = Math.abs(number);\n\tconst u = number % 10;\n\tconst d = number % 100;\n\t\n\treturn (\n\t\t(u === 1 && d !== 11) ?\n\t\t\tone :\n\t\t\t((u >= 2 && u <= 4) && !(d >= 12 && d <= 15)) ?\n\t\t\t\ttwo :\n\t\t\t\tfive\n\t);\n};\n", "export function removeOne<T>(array: T[], item: T): boolean {\n\tconst i = array.indexOf(item);\n\tif (i > -1) {\n\t\tarray.splice(i, 1);\n\t\t\n\t\treturn true;\n\t}\n\t\n\treturn false;\n}\n", "import { getAll } from \"@nesvet/n\";\nimport type { SubscriptionMapUpdated, SubscriptionMapWithSubscription } from \"insite-subscriptions-client\";\nimport type { User } from \"./users\";\nimport type { UsersSubscriptionGroup } from \"./UsersSubscriptionGroup\";\n\n\nexport type Org = {\n\t_id: string;\n\ttitle: string;\n\tisOrg: true;\n\tusers: Set<User> & { sorted: User[] };\n};\n\nexport type NullOrg = Omit<Org, \"_id\"> & { _id: null };\n\ntype OrgExtension = {\n\t_id: string;\n\towners: string[];\n\tslaveOrgs: string[];\n\tnote: string;\n};\n\nexport type OrgExtended = Org & {\n\towners?: (OrgExtended | User)[];\n\tslaveOrgs?: OrgExtended[];\n\tnote?: string;\n\t_l?: number;\n};\n\ntype OrgsExtra = {\n\tnull: NullOrg;\n};\n\nexport type Orgs = OrgsExtra & SubscriptionMapWithSubscription<Org>;\n\nexport type OrgsExtended = OrgsExtra & SubscriptionMapWithSubscription<OrgExtended> & {\n\tsortedHierarchically?: OrgExtended[];\n};\n\n\nexport function handleOrgsBeforeSubscribe(orgs: Orgs) {\n\torgs.null = {\n\t\t_id: null,\n\t\ttitle: \"\",\n\t\tisOrg: true,\n\t\tusers: Object.assign(new Set<User>(), { sorted: [] })\n\t};\n\t\n}\n\n/** @this UsersSubscriptionGroup */\nexport function handleOrgs(this: UsersSubscriptionGroup, updated: SubscriptionMapUpdated<Org> | null) {\n\tif (updated)\n\t\tfor (const org of updated.added) {\n\t\t\torg.isOrg = true;\n\t\t\t\n\t\t\torg.users = Object.assign(new Set<User>(), { sorted: [] });\n\t\t}\n\telse {\n\t\tthis.values.orgs.null.users.clear();\n\t\tthis.values.orgs.null.users.sorted.length = 0;\n\t}\n\t\n}\n\n/** @this UsersSubscriptionGroup */\nexport function handleExtendedOrgs(this: UsersSubscriptionGroup, updated: SubscriptionMapUpdated<OrgExtension> | null) {\n\t\n\tconst orgs = this.values.orgs as OrgsExtended;\n\t\n\tif (updated) {\n\t\tconst { users, extendedOrgs } = this.values;\n\t\t\n\t\tfor (const orgExtension of updated) {\n\t\t\tconst org = orgs.get(orgExtension._id)!;\n\t\t\t\n\t\t\torg.owners = orgExtension.owners.map(_id => users.get(_id) || orgs.get(_id));\n\t\t\torg.slaveOrgs = getAll(orgs, orgExtension.slaveOrgs, true);\n\t\t\torg.note = orgExtension.note;\n\t\t\torg._l = 0;\n\t\t}\n\t\t\n\t\tconst sortedHierarchically = [];\n\t\t\n\t\tfor (const orgExtension of extendedOrgs.sorted) {\n\t\t\tconst org = orgs.get(orgExtension._id)!;\n\t\t\t\n\t\t\tfor (const slaveOrg of org.slaveOrgs!)\n\t\t\t\tslaveOrg._l = org._l! + 1;\n\t\t\t\n\t\t\tsortedHierarchically.push(org);\n\t\t}\n\t\t\n\t\torgs.sortedHierarchically = sortedHierarchically;\n\t\t\n\t\tif (this.isLoaded) {\n\t\t\tthis.items.users.emitUpdate();\n\t\t\tthis.items.orgs.emitUpdate(updated);\n\t\t}\n\t} else {\n\t\tfor (const org of orgs.sorted) {\n\t\t\tdelete org.owners;\n\t\t\tdelete org.slaveOrgs;\n\t\t\tdelete org.note;\n\t\t\tdelete org._l;\n\t\t}\n\t\tdelete orgs.sortedHierarchically;\n\t}\n\t\n}\n", "import { getAll } from \"@nesvet/n\";\nimport type { SubscriptionMapUpdated, SubscriptionMapWithSubscription } from \"insite-subscriptions-client\";\nimport type { UsersSubscriptionGroup } from \"./UsersSubscriptionGroup\";\n\n\nexport type Role = {\n\t_id: string;\n\townInvolves: Role[];\n\tinvolves: Role[];\n\t_l: number;\n};\n\nexport type Roles = SubscriptionMapWithSubscription<Role>;\n\n\n/** @this UsersSubscriptionGroup */\nexport function handleRoles(this: UsersSubscriptionGroup, updated: SubscriptionMapUpdated<Role> | null) {\n\tif (updated) {\n\t\tconst roles = this.values.roles as Roles;\n\t\t\n\t\tfor (const role of updated) {\n\t\t\trole.ownInvolves = getAll(roles, role.ownInvolves as unknown as string[], true);\n\t\t\trole.involves = getAll(roles, role.involves as unknown as string[], true);\n\t\t\trole._l = 0;\n\t\t}\n\t\t\n\t\tfor (const role of roles.sorted)\n\t\t\tfor (const involvedRole of role.ownInvolves)\n\t\t\t\tinvolvedRole._l = role._l + 1;\n\t\t\n\t\tif (this.isLoaded)\n\t\t\tthis.items.users.emitUpdate(updated);\n\t}\n\t\n}\n", "import type { Abilities, AbilitiesSchema } from \"insite-common\";\nimport type { Org } from \"./orgs\";\nimport type { User, UserExtended } from \"./users\";\nimport type { UsersSubscriptionGroup } from \"./UsersSubscriptionGroup\";\n\n\nexport type CurrentUser<AS extends AbilitiesSchema = AbilitiesSchema> = UserExtended & {\n\tabilities: Abilities<AS>;\n\tsessionId?: string;\n\tslaveIds: string[];\n\tslavesSnapshot: string;\n\tslaves: (Org | User)[];\n\tslaveUsers: User[];\n\tslaveOrgs: Org[];\n};\n\n\n/** @this UsersSubscriptionGroup */\nexport function handleUser(this: UsersSubscriptionGroup, user: CurrentUser) {\n\tif (user) {\n\t\t\n\t\tconst slavesSnapshot = user.slaveIds.join(\",\");\n\t\t\n\t\tif (user.slavesSnapshot !== slavesSnapshot) {\n\t\t\tuser.slavesSnapshot = slavesSnapshot;\n\t\t\t\n\t\t\tconst slaves = [];\n\t\t\tconst slaveUsers = [];\n\t\t\tconst slaveOrgs = [];\n\t\t\t\n\t\t\tconst { users, orgs } = this.values;\n\t\t\t\n\t\t\tfor (const _id of user.slaveIds) {\n\t\t\t\tlet slave = users.get(_id);\n\t\t\t\tif (slave) {\n\t\t\t\t\tslaves.push(slave);\n\t\t\t\t\tslaveUsers.push(slave);\n\t\t\t\t} else {\n\t\t\t\t\tslave = orgs.get(_id);\n\t\t\t\t\tif (slave) {\n\t\t\t\t\t\tslaves.push(slave);\n\t\t\t\t\t\tslaveOrgs.push(slave);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tuser.slaves = slaves;\n\t\t\tuser.slaveUsers = slaveUsers;\n\t\t\tuser.slaveOrgs = slaveOrgs;\n\t\t}\n\t}\n\t\n}\n", "import { removeOne } from \"@nesvet/n\";\nimport type { SubscriptionMapUpdated, SubscriptionMapWithSubscription } from \"insite-subscriptions-client\";\nimport type { NullOrg, Org, Orgs } from \"./orgs\";\nimport type { Role } from \"./roles\";\nimport type { CurrentUser } from \"./user\";\nimport type { UsersSubscriptionGroup } from \"./UsersSubscriptionGroup\";\n\n\nexport type User = {\n\t_id: string;\n\tisUser: true;\n\temail: string;\n\tname: {\n\t\tfirst: string;\n\t\tmiddle: string;\n\t\tlast: string;\n\t};\n\torgId: string;\n\tjob: string;\n\tinitials: string;\n\tdisplayLabel: string;\n\tavatarUrl: string;\n\tisOnline: boolean;\n\torg: NullOrg | Org;\n};\n\ntype UserExtension = {\n\t_id: string;\n\troleIds: string[];\n};\n\nexport type UserExtended = User & {\n\troles?: Role;\n};\n\nexport type Users = SubscriptionMapWithSubscription<User>;\n\nexport type UsersExtended = SubscriptionMapWithSubscription<UserExtended>;\n\n\n/** @this UsersSubscriptionGroup */\nexport function handleUsers(this: UsersSubscriptionGroup, updated: SubscriptionMapUpdated<User> | null) {\n\tif (updated) {\n\t\tconst users = this.values.users as Users;\n\t\tconst currentUser = this.values.user as CurrentUser;\n\t\tconst orgs = this.values.orgs as Orgs;\n\t\t\n\t\tif (users.get(currentUser._id) !== currentUser) {\n\t\t\tusers.set(currentUser._id, currentUser);\n\t\t\tusers.sorted[users.sorted.findIndex(user => user._id === currentUser._id)] = currentUser;\n\t\t}\n\t\tconst updatedUserIndex = updated.findIndex(user => user._id === currentUser._id);\n\t\t\n\t\tif (~updatedUserIndex)\n\t\t\tupdated[updatedUserIndex] = currentUser;\n\t\t\n\t\tconst addedUserIndex = updated.added.findIndex(user => user._id === currentUser._id);\n\t\t\n\t\tif (~addedUserIndex)\n\t\t\tupdated.added[updatedUserIndex] = currentUser;\n\t\t\n\t\tfor (const user of updated.added)\n\t\t\tuser.isUser = true;\n\t\t\n\t\tlet shouldUpdateUser;\n\t\tconst orgsToSortUsers = new Set<NullOrg | Org>();\n\t\t\n\t\tfor (const user of updated) {\n\t\t\tconst org = orgs.get(user.orgId) ?? orgs.null;\n\t\t\t\n\t\t\tif (user.org !== org) {\n\t\t\t\tif (user.org) {\n\t\t\t\t\tuser.org.users.delete(user);\n\t\t\t\t\tremoveOne(user.org.users.sorted, user);\n\t\t\t\t}\n\t\t\t\tuser.org = org;\n\t\t\t\tuser.org.users.add(user);\n\t\t\t\tuser.org.users.sorted.push(user);\n\t\t\t}\n\t\t\t\n\t\t\torgsToSortUsers.add(user.org);\n\t\t\t\n\t\t\tif (user === currentUser)\n\t\t\t\tshouldUpdateUser = true;\n\t\t}\n\t\t\n\t\tfor (const org of orgsToSortUsers)\n\t\t\torg.users.sorted.sort(users.sortCompareFunction!);\n\t\t\n\t\tif (updated.deleted.length)\n\t\t\tfor (const org of [ ...orgs.sorted, orgs.null ])\n\t\t\t\tfor (const user of org.users)\n\t\t\t\t\tif (!users.has(user._id)) {\n\t\t\t\t\t\torg.users.delete(user);\n\t\t\t\t\t\tremoveOne(org.users.sorted, user);\n\t\t\t\t\t}\n\t\t\n\t\tif (this.isLoaded) {\n\t\t\tif (shouldUpdateUser)\n\t\t\t\tthis.items.user.emitUpdate();\n\t\t\tthis.items.orgs.emitUpdate();\n\t\t}\n\t}\n\t\n}\n\n/** @this UsersSubscriptionGroup */\nexport function handleExtendedUsers(this: UsersSubscriptionGroup, updated: SubscriptionMapUpdated<UserExtension> | null) {\n\t\n\tconst users = this.values.users as UsersExtended;\n\t\n\tif (updated) {\n\t\tconst { roles } = this.values;\n\t\t\n\t\tfor (const userExtension of updated) {\n\t\t\tconst user = users.get(userExtension._id)!;\n\t\t\t\n\t\t\tuser.roles = roles.getAll(userExtension.roleIds);\n\t\t}\n\t} else\n\t\tfor (const user of users.sorted)\n\t\t\tdelete user.roles;\n\t\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["SubscriptionGroup", "noop", "nativesMap", "StatefulPromise", "_StatefulPromise", "executor", "options", "nativeResolve", "nativeReject", "resolve", "reject", "__publicField", "value", "native", "reason", "abortListener", "timeout", "_", "debounce", "callback", "limit", "options", "leading", "trailing", "maxWait", "timeout", "maxWaitTimeout", "end", "context", "args", "initial", "final", "result", "expired", "n", "debounced", "maxWaitExpired", "run", "error", "_args", "StatefulPromise", "resolve", "reject", "noop", "shouldRun", "getAll", "map", "keys", "onlyExisting", "items", "key", "item", "howmuch", "number", "one", "two", "five", "shouldPrintNumber", "u", "d", "removeOne", "array", "item", "i", "handleOrgsBeforeSubscribe", "orgs", "handleOrgs", "updated", "org", "handleExtendedOrgs", "users", "extendedOrgs", "orgExtension", "_id", "getAll", "sortedHierarchically", "slaveOrg", "handleRoles", "updated", "roles", "role", "getAll", "involvedRole", "handleUser", "user", "slavesSnapshot", "slaves", "slaveUsers", "slaveOrgs", "users", "orgs", "_id", "slave", "handleUsers", "updated", "users", "currentUser", "orgs", "user", "updatedUserIndex", "shouldUpdateUser", "orgsToSortUsers", "org", "removeOne", "handleExtendedUsers", "roles", "userExtension", "basisDefinitions", "handleOrgs", "handleOrgsBeforeSubscribe", "handleUsers", "handleUser", "extendedDefinitions", "handleRoles", "handleExtendedUsers", "handleExtendedOrgs", "UsersSubscriptionGroup", "SubscriptionGroup", "options", "__publicField", "orgs", "users", "user"]
|
|
7
7
|
}
|
package/dist/users.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"users.d.ts","sourceRoot":"","sources":["../src/users.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,+BAA+B,EAAE,MAAM,6BAA6B,CAAC;AAC3G,OAAO,KAAK,EAAE,OAAO,EAAE,GAAG,EAAQ,MAAM,QAAQ,CAAC;AACjD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAEpC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAGvE,MAAM,MAAM,IAAI,GAAG;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,IAAI,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE;QACL,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;KACb,CAAC;IACF,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,GAAG,EAAE,OAAO,GAAG,GAAG,CAAC;CACnB,CAAC;AAEF,KAAK,aAAa,GAAG;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,EAAE,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,IAAI,GAAG;IACjC,KAAK,CAAC,EAAE,IAAI,CAAC;CACb,CAAC;AAEF,MAAM,MAAM,KAAK,GAAG,+BAA+B,CAAC,IAAI,CAAC,CAAC;AAE1D,MAAM,MAAM,aAAa,GAAG,+BAA+B,CAAC,YAAY,CAAC,CAAC;AAG1E,mCAAmC;AACnC,wBAAgB,WAAW,CAAC,IAAI,EAAE,sBAAsB,EAAE,OAAO,EAAE,sBAAsB,CAAC,IAAI,CAAC,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"users.d.ts","sourceRoot":"","sources":["../src/users.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,+BAA+B,EAAE,MAAM,6BAA6B,CAAC;AAC3G,OAAO,KAAK,EAAE,OAAO,EAAE,GAAG,EAAQ,MAAM,QAAQ,CAAC;AACjD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAEpC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAGvE,MAAM,MAAM,IAAI,GAAG;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,IAAI,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE;QACL,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;KACb,CAAC;IACF,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,GAAG,EAAE,OAAO,GAAG,GAAG,CAAC;CACnB,CAAC;AAEF,KAAK,aAAa,GAAG;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,EAAE,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,IAAI,GAAG;IACjC,KAAK,CAAC,EAAE,IAAI,CAAC;CACb,CAAC;AAEF,MAAM,MAAM,KAAK,GAAG,+BAA+B,CAAC,IAAI,CAAC,CAAC;AAE1D,MAAM,MAAM,aAAa,GAAG,+BAA+B,CAAC,YAAY,CAAC,CAAC;AAG1E,mCAAmC;AACnC,wBAAgB,WAAW,CAAC,IAAI,EAAE,sBAAsB,EAAE,OAAO,EAAE,sBAAsB,CAAC,IAAI,CAAC,GAAG,IAAI,QA+DrG;AAED,mCAAmC;AACnC,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,sBAAsB,EAAE,OAAO,EAAE,sBAAsB,CAAC,aAAa,CAAC,GAAG,IAAI,QAgBtH"}
|
package/package.json
CHANGED
|
@@ -1,35 +1,35 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
2
|
+
"name": "insite-users-client",
|
|
3
|
+
"version": "2.3.0",
|
|
4
|
+
"description": "inSite users client side",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "./dist/index.js",
|
|
7
|
+
"module": "./dist/index.js",
|
|
8
|
+
"packageManager": "bun@1.2.11",
|
|
9
|
+
"scripts": {
|
|
10
|
+
"test": "echo \"Error: no test specified\" && exit 1",
|
|
11
|
+
"build": "bun .conveyer.js",
|
|
12
|
+
"postbuild": "tsc -p ."
|
|
13
|
+
},
|
|
14
|
+
"repository": {
|
|
15
|
+
"type": "git",
|
|
16
|
+
"url": "git+https://github.com/nesvet/insite-users-client.git"
|
|
17
|
+
},
|
|
18
|
+
"keywords": [
|
|
19
|
+
"insite",
|
|
20
|
+
"users",
|
|
21
|
+
"client"
|
|
22
|
+
],
|
|
23
|
+
"author": "Eugene Nesvetaev <dev@nesvet.dev> (https://nesvet.dev/)",
|
|
24
|
+
"license": "MIT",
|
|
25
|
+
"dependencies": {
|
|
26
|
+
"@nesvet/n": "^1.2.0",
|
|
27
|
+
"insite-common": "^2.3.0",
|
|
28
|
+
"insite-subscriptions-client": "^2.3.0"
|
|
29
|
+
},
|
|
30
|
+
"devDependencies": {
|
|
31
|
+
"@nesvet/conveyer": "^2.5.2",
|
|
32
|
+
"@nesvet/eslint-config": "^2.1.1",
|
|
33
|
+
"typescript": "^5.8.3"
|
|
34
|
+
}
|
|
35
35
|
}
|