@nocobase/plugin-field-sort 1.5.0-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.
Files changed (142) hide show
  1. package/LICENSE.txt +159 -0
  2. package/README.md +1 -0
  3. package/client.d.ts +2 -0
  4. package/client.js +1 -0
  5. package/dist/client/index.d.ts +15 -0
  6. package/dist/client/index.js +10 -0
  7. package/dist/client/locale.d.ts +10 -0
  8. package/dist/client/sort-interface.d.ts +131 -0
  9. package/dist/externalVersion.js +18 -0
  10. package/dist/index.d.ts +10 -0
  11. package/dist/index.js +48 -0
  12. package/dist/locale/en-US.json +1 -0
  13. package/dist/locale/zh-CN.json +1 -0
  14. package/dist/node_modules/@nocobase/lock-manager/LICENSE +661 -0
  15. package/dist/node_modules/@nocobase/lock-manager/lib/index.d.ts +10 -0
  16. package/dist/node_modules/@nocobase/lock-manager/lib/index.js +1 -0
  17. package/dist/node_modules/@nocobase/lock-manager/lib/lock-manager.d.ts +46 -0
  18. package/dist/node_modules/@nocobase/lock-manager/lib/lock-manager.js +171 -0
  19. package/dist/node_modules/@nocobase/lock-manager/node_modules/@nocobase/utils/client.js +12 -0
  20. package/dist/node_modules/@nocobase/lock-manager/node_modules/@nocobase/utils/lib/assign.d.ts +17 -0
  21. package/dist/node_modules/@nocobase/lock-manager/node_modules/@nocobase/utils/lib/assign.js +143 -0
  22. package/dist/node_modules/@nocobase/lock-manager/node_modules/@nocobase/utils/lib/client.d.ts +30 -0
  23. package/dist/node_modules/@nocobase/lock-manager/node_modules/@nocobase/utils/lib/client.js +88 -0
  24. package/dist/node_modules/@nocobase/lock-manager/node_modules/@nocobase/utils/lib/collections-graph.d.ts +24 -0
  25. package/dist/node_modules/@nocobase/lock-manager/node_modules/@nocobase/utils/lib/collections-graph.js +107 -0
  26. package/dist/node_modules/@nocobase/lock-manager/node_modules/@nocobase/utils/lib/common.d.ts +14 -0
  27. package/dist/node_modules/@nocobase/lock-manager/node_modules/@nocobase/utils/lib/common.js +87 -0
  28. package/dist/node_modules/@nocobase/lock-manager/node_modules/@nocobase/utils/lib/date.d.ts +38 -0
  29. package/dist/node_modules/@nocobase/lock-manager/node_modules/@nocobase/utils/lib/date.js +214 -0
  30. package/dist/node_modules/@nocobase/lock-manager/node_modules/@nocobase/utils/lib/dayjs.d.ts +10 -0
  31. package/dist/node_modules/@nocobase/lock-manager/node_modules/@nocobase/utils/lib/dayjs.js +72 -0
  32. package/dist/node_modules/@nocobase/lock-manager/node_modules/@nocobase/utils/lib/forEach.d.ts +9 -0
  33. package/dist/node_modules/@nocobase/lock-manager/node_modules/@nocobase/utils/lib/forEach.js +45 -0
  34. package/dist/node_modules/@nocobase/lock-manager/node_modules/@nocobase/utils/lib/fs-exists.d.ts +9 -0
  35. package/dist/node_modules/@nocobase/lock-manager/node_modules/@nocobase/utils/lib/fs-exists.js +46 -0
  36. package/dist/node_modules/@nocobase/lock-manager/node_modules/@nocobase/utils/lib/getValuesByPath.d.ts +9 -0
  37. package/dist/node_modules/@nocobase/lock-manager/node_modules/@nocobase/utils/lib/getValuesByPath.js +71 -0
  38. package/dist/node_modules/@nocobase/lock-manager/node_modules/@nocobase/utils/lib/handlebars.d.ts +10 -0
  39. package/dist/node_modules/@nocobase/lock-manager/node_modules/@nocobase/utils/lib/handlebars.js +73 -0
  40. package/dist/node_modules/@nocobase/lock-manager/node_modules/@nocobase/utils/lib/i18n.d.ts +10 -0
  41. package/dist/node_modules/@nocobase/lock-manager/node_modules/@nocobase/utils/lib/i18n.js +43 -0
  42. package/dist/node_modules/@nocobase/lock-manager/node_modules/@nocobase/utils/lib/index.d.ts +38 -0
  43. package/dist/node_modules/@nocobase/lock-manager/node_modules/@nocobase/utils/lib/index.js +105 -0
  44. package/dist/node_modules/@nocobase/lock-manager/node_modules/@nocobase/utils/lib/isPortalInBody.d.ts +13 -0
  45. package/dist/node_modules/@nocobase/lock-manager/node_modules/@nocobase/utils/lib/isPortalInBody.js +54 -0
  46. package/dist/node_modules/@nocobase/lock-manager/node_modules/@nocobase/utils/lib/isValidFilter.d.ts +9 -0
  47. package/dist/node_modules/@nocobase/lock-manager/node_modules/@nocobase/utils/lib/isValidFilter.js +63 -0
  48. package/dist/node_modules/@nocobase/lock-manager/node_modules/@nocobase/utils/lib/json-templates.d.ts +9 -0
  49. package/dist/node_modules/@nocobase/lock-manager/node_modules/@nocobase/utils/lib/json-templates.js +141 -0
  50. package/dist/node_modules/@nocobase/lock-manager/node_modules/@nocobase/utils/lib/koa-multer.d.ts +15 -0
  51. package/dist/node_modules/@nocobase/lock-manager/node_modules/@nocobase/utils/lib/koa-multer.js +92 -0
  52. package/dist/node_modules/@nocobase/lock-manager/node_modules/@nocobase/utils/lib/log.d.ts +9 -0
  53. package/dist/node_modules/@nocobase/lock-manager/node_modules/@nocobase/utils/lib/log.js +39 -0
  54. package/dist/node_modules/@nocobase/lock-manager/node_modules/@nocobase/utils/lib/measure-execution-time.d.ts +9 -0
  55. package/dist/node_modules/@nocobase/lock-manager/node_modules/@nocobase/utils/lib/measure-execution-time.js +44 -0
  56. package/dist/node_modules/@nocobase/lock-manager/node_modules/@nocobase/utils/lib/merge.d.ts +9 -0
  57. package/dist/node_modules/@nocobase/lock-manager/node_modules/@nocobase/utils/lib/merge.js +55 -0
  58. package/dist/node_modules/@nocobase/lock-manager/node_modules/@nocobase/utils/lib/mixin/AsyncEmitter.d.ts +11 -0
  59. package/dist/node_modules/@nocobase/lock-manager/node_modules/@nocobase/utils/lib/mixin/AsyncEmitter.js +80 -0
  60. package/dist/node_modules/@nocobase/lock-manager/node_modules/@nocobase/utils/lib/mixin/index.d.ts +9 -0
  61. package/dist/node_modules/@nocobase/lock-manager/node_modules/@nocobase/utils/lib/mixin/index.js +48 -0
  62. package/dist/node_modules/@nocobase/lock-manager/node_modules/@nocobase/utils/lib/notification.d.ts +9 -0
  63. package/dist/node_modules/@nocobase/lock-manager/node_modules/@nocobase/utils/lib/notification.js +43 -0
  64. package/dist/node_modules/@nocobase/lock-manager/node_modules/@nocobase/utils/lib/number.d.ts +9 -0
  65. package/dist/node_modules/@nocobase/lock-manager/node_modules/@nocobase/utils/lib/number.js +45 -0
  66. package/dist/node_modules/@nocobase/lock-manager/node_modules/@nocobase/utils/lib/parse-date.d.ts +15 -0
  67. package/dist/node_modules/@nocobase/lock-manager/node_modules/@nocobase/utils/lib/parse-date.js +262 -0
  68. package/dist/node_modules/@nocobase/lock-manager/node_modules/@nocobase/utils/lib/parse-filter.d.ts +67 -0
  69. package/dist/node_modules/@nocobase/lock-manager/node_modules/@nocobase/utils/lib/parse-filter.js +320 -0
  70. package/dist/node_modules/@nocobase/lock-manager/node_modules/@nocobase/utils/lib/parseHTML.d.ts +15 -0
  71. package/dist/node_modules/@nocobase/lock-manager/node_modules/@nocobase/utils/lib/parseHTML.js +42 -0
  72. package/dist/node_modules/@nocobase/lock-manager/node_modules/@nocobase/utils/lib/perf-hooks.d.ts +14 -0
  73. package/dist/node_modules/@nocobase/lock-manager/node_modules/@nocobase/utils/lib/perf-hooks.js +69 -0
  74. package/dist/node_modules/@nocobase/lock-manager/node_modules/@nocobase/utils/lib/registry.d.ts +22 -0
  75. package/dist/node_modules/@nocobase/lock-manager/node_modules/@nocobase/utils/lib/registry.js +69 -0
  76. package/dist/node_modules/@nocobase/lock-manager/node_modules/@nocobase/utils/lib/requireModule.d.ts +12 -0
  77. package/dist/node_modules/@nocobase/lock-manager/node_modules/@nocobase/utils/lib/requireModule.js +90 -0
  78. package/dist/node_modules/@nocobase/lock-manager/node_modules/@nocobase/utils/lib/server.d.ts +19 -0
  79. package/dist/node_modules/@nocobase/lock-manager/node_modules/@nocobase/utils/lib/server.js +50 -0
  80. package/dist/node_modules/@nocobase/lock-manager/node_modules/@nocobase/utils/lib/toposort.d.ts +18 -0
  81. package/dist/node_modules/@nocobase/lock-manager/node_modules/@nocobase/utils/lib/toposort.js +83 -0
  82. package/dist/node_modules/@nocobase/lock-manager/node_modules/@nocobase/utils/lib/uid.d.ts +9 -0
  83. package/dist/node_modules/@nocobase/lock-manager/node_modules/@nocobase/utils/lib/uid.js +44 -0
  84. package/dist/node_modules/@nocobase/lock-manager/node_modules/@nocobase/utils/lib/url.d.ts +14 -0
  85. package/dist/node_modules/@nocobase/lock-manager/node_modules/@nocobase/utils/lib/url.js +46 -0
  86. package/dist/node_modules/@nocobase/lock-manager/node_modules/@nocobase/utils/lib/wrap-middleware.d.ts +1 -0
  87. package/dist/node_modules/@nocobase/lock-manager/node_modules/@nocobase/utils/lib/wrap-middleware.js +63 -0
  88. package/dist/node_modules/@nocobase/lock-manager/node_modules/@nocobase/utils/package.json +20 -0
  89. package/dist/node_modules/@nocobase/lock-manager/node_modules/@nocobase/utils/plugin-symlink.d.ts +6 -0
  90. package/dist/node_modules/@nocobase/lock-manager/node_modules/@nocobase/utils/plugin-symlink.js +102 -0
  91. package/dist/node_modules/@nocobase/lock-manager/node_modules/@nocobase/utils/server.d.ts +2 -0
  92. package/dist/node_modules/@nocobase/lock-manager/node_modules/@nocobase/utils/server.js +12 -0
  93. package/dist/node_modules/@nocobase/lock-manager/node_modules/busboy/.eslintrc.js +5 -0
  94. package/dist/node_modules/@nocobase/lock-manager/node_modules/busboy/.github/workflows/ci.yml +24 -0
  95. package/dist/node_modules/@nocobase/lock-manager/node_modules/busboy/.github/workflows/lint.yml +23 -0
  96. package/dist/node_modules/@nocobase/lock-manager/node_modules/busboy/bench/bench-multipart-fields-100mb-big.js +149 -0
  97. package/dist/node_modules/@nocobase/lock-manager/node_modules/busboy/bench/bench-multipart-fields-100mb-small.js +143 -0
  98. package/dist/node_modules/@nocobase/lock-manager/node_modules/busboy/bench/bench-multipart-files-100mb-big.js +154 -0
  99. package/dist/node_modules/@nocobase/lock-manager/node_modules/busboy/bench/bench-multipart-files-100mb-small.js +148 -0
  100. package/dist/node_modules/@nocobase/lock-manager/node_modules/busboy/bench/bench-urlencoded-fields-100pairs-small.js +101 -0
  101. package/dist/node_modules/@nocobase/lock-manager/node_modules/busboy/bench/bench-urlencoded-fields-900pairs-small-alt.js +84 -0
  102. package/dist/node_modules/@nocobase/lock-manager/node_modules/busboy/lib/index.js +57 -0
  103. package/dist/node_modules/@nocobase/lock-manager/node_modules/busboy/lib/types/multipart.js +653 -0
  104. package/dist/node_modules/@nocobase/lock-manager/node_modules/busboy/lib/types/urlencoded.js +350 -0
  105. package/dist/node_modules/@nocobase/lock-manager/node_modules/busboy/lib/utils.js +596 -0
  106. package/dist/node_modules/@nocobase/lock-manager/node_modules/busboy/package.json +22 -0
  107. package/dist/node_modules/@nocobase/lock-manager/node_modules/busboy/test/common.js +109 -0
  108. package/dist/node_modules/@nocobase/lock-manager/node_modules/busboy/test/test-types-multipart-charsets.js +94 -0
  109. package/dist/node_modules/@nocobase/lock-manager/node_modules/busboy/test/test-types-multipart-stream-pause.js +102 -0
  110. package/dist/node_modules/@nocobase/lock-manager/node_modules/busboy/test/test-types-multipart.js +1053 -0
  111. package/dist/node_modules/@nocobase/lock-manager/node_modules/busboy/test/test-types-urlencoded.js +488 -0
  112. package/dist/node_modules/@nocobase/lock-manager/node_modules/busboy/test/test.js +20 -0
  113. package/dist/node_modules/@nocobase/lock-manager/node_modules/multer/index.js +104 -0
  114. package/dist/node_modules/@nocobase/lock-manager/node_modules/multer/lib/counter.js +28 -0
  115. package/dist/node_modules/@nocobase/lock-manager/node_modules/multer/lib/file-appender.js +67 -0
  116. package/dist/node_modules/@nocobase/lock-manager/node_modules/multer/lib/make-middleware.js +173 -0
  117. package/dist/node_modules/@nocobase/lock-manager/node_modules/multer/lib/multer-error.js +24 -0
  118. package/dist/node_modules/@nocobase/lock-manager/node_modules/multer/lib/remove-uploaded-files.js +28 -0
  119. package/dist/node_modules/@nocobase/lock-manager/node_modules/multer/package.json +52 -0
  120. package/dist/node_modules/@nocobase/lock-manager/node_modules/multer/storage/disk.js +66 -0
  121. package/dist/node_modules/@nocobase/lock-manager/node_modules/multer/storage/memory.js +21 -0
  122. package/dist/node_modules/@nocobase/lock-manager/node_modules/streamsearch/.eslintrc.js +5 -0
  123. package/dist/node_modules/@nocobase/lock-manager/node_modules/streamsearch/.github/workflows/ci.yml +24 -0
  124. package/dist/node_modules/@nocobase/lock-manager/node_modules/streamsearch/.github/workflows/lint.yml +23 -0
  125. package/dist/node_modules/@nocobase/lock-manager/node_modules/streamsearch/lib/sbmh.js +267 -0
  126. package/dist/node_modules/@nocobase/lock-manager/node_modules/streamsearch/package.json +34 -0
  127. package/dist/node_modules/@nocobase/lock-manager/node_modules/streamsearch/test/test.js +70 -0
  128. package/dist/node_modules/@nocobase/lock-manager/package.json +1 -0
  129. package/dist/node_modules/@nocobase/lock-manager/src/__tests__/lock-manager.test.ts +169 -0
  130. package/dist/node_modules/@nocobase/lock-manager/src/index.ts +11 -0
  131. package/dist/node_modules/@nocobase/lock-manager/src/lock-manager.ts +169 -0
  132. package/dist/server/action.d.ts +26 -0
  133. package/dist/server/action.js +168 -0
  134. package/dist/server/index.d.ts +10 -0
  135. package/dist/server/index.js +48 -0
  136. package/dist/server/plugin.d.ts +19 -0
  137. package/dist/server/plugin.js +69 -0
  138. package/dist/server/sort-field.d.ts +24 -0
  139. package/dist/server/sort-field.js +197 -0
  140. package/package.json +16 -0
  141. package/server.d.ts +2 -0
  142. package/server.js +1 -0
@@ -0,0 +1 @@
1
+ (function(){var e={575:function(e,r,t){var a=Object.create;var o=Object.defineProperty;var c=Object.getOwnPropertyDescriptor;var s=Object.getOwnPropertyNames;var n=Object.getPrototypeOf;var i=Object.prototype.hasOwnProperty;var __export=(e,r)=>{for(var t in r)o(e,t,{get:r[t],enumerable:true})};var __copyProps=(e,r,t,a)=>{if(r&&typeof r==="object"||typeof r==="function"){for(let n of s(r))if(!i.call(e,n)&&n!==t)o(e,n,{get:()=>r[n],enumerable:!(a=c(r,n))||a.enumerable})}return e};var __reExport=(e,r,t)=>(__copyProps(e,r,"default"),t&&__copyProps(t,r,"default"));var __toESM=(e,r,t)=>(t=e!=null?a(n(e)):{},__copyProps(r||!e||!e.__esModule?o(t,"default",{value:e,enumerable:true}):t,e));var __toCommonJS=e=>__copyProps(o({},"__esModule",{value:true}),e);var u={};__export(u,{default:()=>l.default});e.exports=__toCommonJS(u);__reExport(u,t(332),e.exports);var l=__toESM(t(332));0&&0},332:function(e,r,t){var a=Object.defineProperty;var o=Object.getOwnPropertyDescriptor;var c=Object.getOwnPropertyNames;var s=Object.prototype.hasOwnProperty;var __defNormalProp=(e,r,t)=>r in e?a(e,r,{enumerable:true,configurable:true,writable:true,value:t}):e[r]=t;var __name=(e,r)=>a(e,"name",{value:r,configurable:true});var __export=(e,r)=>{for(var t in r)a(e,t,{get:r[t],enumerable:true})};var __copyProps=(e,r,t,n)=>{if(r&&typeof r==="object"||typeof r==="function"){for(let i of c(r))if(!s.call(e,i)&&i!==t)a(e,i,{get:()=>r[i],enumerable:!(n=o(r,i))||n.enumerable})}return e};var __toCommonJS=e=>__copyProps(a({},"__esModule",{value:true}),e);var __publicField=(e,r,t)=>__defNormalProp(e,typeof r!=="symbol"?r+"":r,t);var n={};__export(n,{LockAbortError:()=>p,LockAcquireError:()=>v,LockManager:()=>b,default:()=>g});e.exports=__toCommonJS(n);var i=t(472);var u=t(444);const l=class _LockAbortError extends Error{constructor(e,r){super(e,r)}};__name(l,"LockAbortError");let p=l;const f=class _LockAcquireError extends Error{constructor(e,r){super(e,r)}};__name(f,"LockAcquireError");let v=f;const y=class _LocalLockAdapter{async connect(){}async close(){}getLock(e){let r=this.constructor.locks.get(e);if(!r){r=new u.Mutex;this.constructor.locks.set(e,r)}return r}async acquire(e,r){const t=this.getLock(e);const a=await t.acquire();const o=setTimeout((()=>{if(t.isLocked()){a()}}),r);return()=>{a();clearTimeout(o)}}async runExclusive(e,r,t){const a=this.getLock(e);let o;try{o=setTimeout((()=>{if(a.isLocked()){a.release()}}),t);return a.runExclusive(r)}catch(e){if(e===u.E_CANCELED){throw new p("Lock aborted",{cause:u.E_CANCELED})}else{throw e}}finally{clearTimeout(o)}}async tryAcquire(e){const r=this.getLock(e);if(r.isLocked()){throw new v("lock is locked")}return{acquire:__name((async r=>this.acquire(e,r)),"acquire"),runExclusive:__name((async(r,t)=>this.runExclusive(e,r,t)),"runExclusive")}}};__name(y,"LocalLockAdapter");__publicField(y,"locks",new Map);let d=y;const _=class _LockManager{constructor(e={}){this.options=e;this.registry.register("local",{Adapter:d})}registry=new i.Registry;adapters=new Map;registerAdapter(e,r){this.registry.register(e,r)}async getAdapter(){const e=this.options.defaultAdapter||"local";let r=this.adapters.get(e);if(!r){const t=this.registry.get(e);if(!t){throw new Error(`Lock adapter "${e}" not registered`)}const{Adapter:a,options:o}=t;r=new a(o);await r.connect();this.adapters.set(e,r)}return r}async close(){for(const e of this.adapters.values()){await e.close()}}async acquire(e,r=500){const t=await this.getAdapter();return t.acquire(e,r)}async runExclusive(e,r,t=500){const a=await this.getAdapter();return a.runExclusive(e,r,t)}async tryAcquire(e){const r=await this.getAdapter();return r.tryAcquire(e)}};__name(_,"LockManager");let b=_;var g=b;0&&0},472:function(e){"use strict";e.exports=require("@nocobase/utils")},444:function(e){"use strict";e.exports=require("async-mutex")}};var r={};function __nccwpck_require__(t){var a=r[t];if(a!==undefined){return a.exports}var o=r[t]={exports:{}};var c=true;try{e[t](o,o.exports,__nccwpck_require__);c=false}finally{if(c)delete r[t]}return o.exports}if(typeof __nccwpck_require__!=="undefined")__nccwpck_require__.ab=__dirname+"/";var t=__nccwpck_require__(575);module.exports=t})();
@@ -0,0 +1,46 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+ export type Releaser = () => void | Promise<void>;
10
+ export interface ILock {
11
+ acquire(ttl: number): Releaser | Promise<Releaser>;
12
+ runExclusive<T>(fn: () => Promise<T>, ttl: number): Promise<T>;
13
+ }
14
+ export interface ILockAdapter {
15
+ connect(): Promise<void>;
16
+ close(): Promise<void>;
17
+ acquire(key: string, ttl: number): Releaser | Promise<Releaser>;
18
+ runExclusive<T>(key: string, fn: () => Promise<T>, ttl: number): Promise<T>;
19
+ tryAcquire(key: string, timeout?: number): Promise<ILock>;
20
+ }
21
+ export declare class LockAbortError extends Error {
22
+ constructor(message: any, options: any);
23
+ }
24
+ export declare class LockAcquireError extends Error {
25
+ constructor(message: any, options?: any);
26
+ }
27
+ export interface LockAdapterConfig<C extends ILockAdapter = ILockAdapter> {
28
+ Adapter: new (...args: any[]) => C;
29
+ options?: Record<string, any>;
30
+ }
31
+ export interface LockManagerOptions {
32
+ defaultAdapter?: string;
33
+ }
34
+ export declare class LockManager {
35
+ private options;
36
+ private registry;
37
+ private adapters;
38
+ constructor(options?: LockManagerOptions);
39
+ registerAdapter(name: string, adapterConfig: LockAdapterConfig): void;
40
+ private getAdapter;
41
+ close(): Promise<void>;
42
+ acquire(key: string, ttl?: number): Promise<Releaser>;
43
+ runExclusive<T>(key: string, fn: () => Promise<T>, ttl?: number): Promise<T>;
44
+ tryAcquire(key: string): Promise<ILock>;
45
+ }
46
+ export default LockManager;
@@ -0,0 +1,171 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+
10
+ var __defProp = Object.defineProperty;
11
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
12
+ var __getOwnPropNames = Object.getOwnPropertyNames;
13
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
14
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
15
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
16
+ var __export = (target, all) => {
17
+ for (var name in all)
18
+ __defProp(target, name, { get: all[name], enumerable: true });
19
+ };
20
+ var __copyProps = (to, from, except, desc) => {
21
+ if (from && typeof from === "object" || typeof from === "function") {
22
+ for (let key of __getOwnPropNames(from))
23
+ if (!__hasOwnProp.call(to, key) && key !== except)
24
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
25
+ }
26
+ return to;
27
+ };
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
30
+ var lock_manager_exports = {};
31
+ __export(lock_manager_exports, {
32
+ LockAbortError: () => LockAbortError,
33
+ LockAcquireError: () => LockAcquireError,
34
+ LockManager: () => LockManager,
35
+ default: () => lock_manager_default
36
+ });
37
+ module.exports = __toCommonJS(lock_manager_exports);
38
+ var import_utils = require("@nocobase/utils");
39
+ var import_async_mutex = require("async-mutex");
40
+ const _LockAbortError = class _LockAbortError extends Error {
41
+ constructor(message, options) {
42
+ super(message, options);
43
+ }
44
+ };
45
+ __name(_LockAbortError, "LockAbortError");
46
+ let LockAbortError = _LockAbortError;
47
+ const _LockAcquireError = class _LockAcquireError extends Error {
48
+ constructor(message, options) {
49
+ super(message, options);
50
+ }
51
+ };
52
+ __name(_LockAcquireError, "LockAcquireError");
53
+ let LockAcquireError = _LockAcquireError;
54
+ const _LocalLockAdapter = class _LocalLockAdapter {
55
+ async connect() {
56
+ }
57
+ async close() {
58
+ }
59
+ getLock(key) {
60
+ let lock = this.constructor.locks.get(key);
61
+ if (!lock) {
62
+ lock = new import_async_mutex.Mutex();
63
+ this.constructor.locks.set(key, lock);
64
+ }
65
+ return lock;
66
+ }
67
+ async acquire(key, ttl) {
68
+ const lock = this.getLock(key);
69
+ const release = await lock.acquire();
70
+ const timer = setTimeout(() => {
71
+ if (lock.isLocked()) {
72
+ release();
73
+ }
74
+ }, ttl);
75
+ return () => {
76
+ release();
77
+ clearTimeout(timer);
78
+ };
79
+ }
80
+ async runExclusive(key, fn, ttl) {
81
+ const lock = this.getLock(key);
82
+ let timer;
83
+ try {
84
+ timer = setTimeout(() => {
85
+ if (lock.isLocked()) {
86
+ lock.release();
87
+ }
88
+ }, ttl);
89
+ return lock.runExclusive(fn);
90
+ } catch (e) {
91
+ if (e === import_async_mutex.E_CANCELED) {
92
+ throw new LockAbortError("Lock aborted", { cause: import_async_mutex.E_CANCELED });
93
+ } else {
94
+ throw e;
95
+ }
96
+ } finally {
97
+ clearTimeout(timer);
98
+ }
99
+ }
100
+ async tryAcquire(key) {
101
+ const lock = this.getLock(key);
102
+ if (lock.isLocked()) {
103
+ throw new LockAcquireError("lock is locked");
104
+ }
105
+ return {
106
+ acquire: /* @__PURE__ */ __name(async (ttl) => {
107
+ return this.acquire(key, ttl);
108
+ }, "acquire"),
109
+ runExclusive: /* @__PURE__ */ __name(async (fn, ttl) => {
110
+ return this.runExclusive(key, fn, ttl);
111
+ }, "runExclusive")
112
+ };
113
+ }
114
+ };
115
+ __name(_LocalLockAdapter, "LocalLockAdapter");
116
+ __publicField(_LocalLockAdapter, "locks", /* @__PURE__ */ new Map());
117
+ let LocalLockAdapter = _LocalLockAdapter;
118
+ const _LockManager = class _LockManager {
119
+ constructor(options = {}) {
120
+ this.options = options;
121
+ this.registry.register("local", {
122
+ Adapter: LocalLockAdapter
123
+ });
124
+ }
125
+ registry = new import_utils.Registry();
126
+ adapters = /* @__PURE__ */ new Map();
127
+ registerAdapter(name, adapterConfig) {
128
+ this.registry.register(name, adapterConfig);
129
+ }
130
+ async getAdapter() {
131
+ const type = this.options.defaultAdapter || "local";
132
+ let client = this.adapters.get(type);
133
+ if (!client) {
134
+ const adapter = this.registry.get(type);
135
+ if (!adapter) {
136
+ throw new Error(`Lock adapter "${type}" not registered`);
137
+ }
138
+ const { Adapter, options } = adapter;
139
+ client = new Adapter(options);
140
+ await client.connect();
141
+ this.adapters.set(type, client);
142
+ }
143
+ return client;
144
+ }
145
+ async close() {
146
+ for (const client of this.adapters.values()) {
147
+ await client.close();
148
+ }
149
+ }
150
+ async acquire(key, ttl = 500) {
151
+ const client = await this.getAdapter();
152
+ return client.acquire(key, ttl);
153
+ }
154
+ async runExclusive(key, fn, ttl = 500) {
155
+ const client = await this.getAdapter();
156
+ return client.runExclusive(key, fn, ttl);
157
+ }
158
+ async tryAcquire(key) {
159
+ const client = await this.getAdapter();
160
+ return client.tryAcquire(key);
161
+ }
162
+ };
163
+ __name(_LockManager, "LockManager");
164
+ let LockManager = _LockManager;
165
+ var lock_manager_default = LockManager;
166
+ // Annotate the CommonJS export names for ESM import in node:
167
+ 0 && (module.exports = {
168
+ LockAbortError,
169
+ LockAcquireError,
170
+ LockManager
171
+ });
@@ -0,0 +1,12 @@
1
+ var _useExportClient = require("./lib/client");
2
+
3
+ Object.keys(_useExportClient).forEach(function (key) {
4
+ if (key === "default" || key === "__esModule") return;
5
+ if (key in exports && exports[key] === _useExportClient[key]) return;
6
+ Object.defineProperty(exports, key, {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _useExportClient[key];
10
+ }
11
+ });
12
+ });
@@ -0,0 +1,17 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+ type MergeStrategyType = 'merge' | 'deepMerge' | 'overwrite' | 'andMerge' | 'orMerge' | 'intersect' | 'union';
10
+ type MergeStrategyFunc = (x: any, y: any) => any;
11
+ export type MergeStrategy = MergeStrategyType | MergeStrategyFunc;
12
+ export interface MergeStrategies {
13
+ [key: string]: MergeStrategy;
14
+ }
15
+ export declare const mergeStrategies: Map<MergeStrategyType, MergeStrategyFunc>;
16
+ export declare function assign(target: any, source: any, strategies?: MergeStrategies): any;
17
+ export {};
@@ -0,0 +1,143 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+
10
+ var __create = Object.create;
11
+ var __defProp = Object.defineProperty;
12
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
13
+ var __getOwnPropNames = Object.getOwnPropertyNames;
14
+ var __getProtoOf = Object.getPrototypeOf;
15
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
16
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
17
+ var __export = (target, all) => {
18
+ for (var name in all)
19
+ __defProp(target, name, { get: all[name], enumerable: true });
20
+ };
21
+ var __copyProps = (to, from, except, desc) => {
22
+ if (from && typeof from === "object" || typeof from === "function") {
23
+ for (let key of __getOwnPropNames(from))
24
+ if (!__hasOwnProp.call(to, key) && key !== except)
25
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
26
+ }
27
+ return to;
28
+ };
29
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
30
+ // If the importer is in node compatibility mode or this is not an ESM
31
+ // file that has been converted to a CommonJS file using a Babel-
32
+ // compatible transform (i.e. "__esModule" has not been set), then set
33
+ // "default" to the CommonJS "module.exports" for node compatibility.
34
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
35
+ mod
36
+ ));
37
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
38
+ var assign_exports = {};
39
+ __export(assign_exports, {
40
+ assign: () => assign,
41
+ mergeStrategies: () => mergeStrategies
42
+ });
43
+ module.exports = __toCommonJS(assign_exports);
44
+ var import_deepmerge = __toESM(require("deepmerge"));
45
+ var import_lodash = __toESM(require("lodash"));
46
+ var import_common = require("./common");
47
+ function getEnumerableOwnPropertySymbols(target) {
48
+ return Object.getOwnPropertySymbols ? Object.getOwnPropertySymbols(target).filter((symbol) => target.propertyIsEnumerable(symbol)) : [];
49
+ }
50
+ __name(getEnumerableOwnPropertySymbols, "getEnumerableOwnPropertySymbols");
51
+ function getKeys(target) {
52
+ return Object.keys(target).concat(getEnumerableOwnPropertySymbols(target));
53
+ }
54
+ __name(getKeys, "getKeys");
55
+ const mergeStrategies = /* @__PURE__ */ new Map();
56
+ mergeStrategies.set("overwrite", (_, y) => {
57
+ if (typeof y === "string") {
58
+ y = y.split(",");
59
+ }
60
+ return y;
61
+ });
62
+ mergeStrategies.set("andMerge", (x, y) => {
63
+ if (!x && !y) {
64
+ return;
65
+ }
66
+ if (!x) {
67
+ return y;
68
+ }
69
+ if (!y) {
70
+ return x;
71
+ }
72
+ return {
73
+ $and: [x, y]
74
+ };
75
+ });
76
+ mergeStrategies.set("orMerge", (x, y) => {
77
+ if (!x && !y) {
78
+ return;
79
+ }
80
+ if (!x) {
81
+ return y;
82
+ }
83
+ if (!y) {
84
+ return x;
85
+ }
86
+ return {
87
+ $or: [x, y]
88
+ };
89
+ });
90
+ mergeStrategies.set("deepMerge", (x, y) => {
91
+ return (0, import_common.isPlainObject)(x) && (0, import_common.isPlainObject)(y) ? (0, import_deepmerge.default)(x, y, {
92
+ arrayMerge: /* @__PURE__ */ __name((x2, y2) => y2, "arrayMerge")
93
+ }) : y;
94
+ });
95
+ mergeStrategies.set("merge", (x, y) => {
96
+ return (0, import_common.isPlainObject)(x) && (0, import_common.isPlainObject)(y) ? Object.assign(x, y) : y;
97
+ });
98
+ mergeStrategies.set("union", (x, y) => {
99
+ if (typeof x === "string") {
100
+ x = x.split(",");
101
+ }
102
+ if (typeof y === "string") {
103
+ y = y.split(",");
104
+ }
105
+ return import_lodash.default.uniq((x || []).concat(y || [])).filter(Boolean);
106
+ });
107
+ mergeStrategies.set(
108
+ "intersect",
109
+ (x, y) => (() => {
110
+ if (typeof x === "string") {
111
+ x = x.split(",");
112
+ }
113
+ if (typeof y === "string") {
114
+ y = y.split(",");
115
+ }
116
+ if (!Array.isArray(x) || x.length === 0) {
117
+ return y || [];
118
+ }
119
+ if (!Array.isArray(y) || y.length === 0) {
120
+ return x || [];
121
+ }
122
+ return x.filter((v) => y.includes(v));
123
+ })().filter(Boolean)
124
+ );
125
+ function assign(target, source, strategies = {}) {
126
+ getKeys(source).forEach((sourceKey) => {
127
+ const strategy = strategies[sourceKey];
128
+ let func = mergeStrategies.get("deepMerge");
129
+ if (typeof strategy === "function") {
130
+ func = strategy;
131
+ } else if (typeof strategy === "string" && mergeStrategies.has(strategy)) {
132
+ func = mergeStrategies.get(strategy);
133
+ }
134
+ target[sourceKey] = func(target[sourceKey], source[sourceKey]);
135
+ });
136
+ return target;
137
+ }
138
+ __name(assign, "assign");
139
+ // Annotate the CommonJS export names for ESM import in node:
140
+ 0 && (module.exports = {
141
+ assign,
142
+ mergeStrategies
143
+ });
@@ -0,0 +1,30 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+ import lodash from 'lodash';
10
+ import { dayjs } from './dayjs';
11
+ export * from './collections-graph';
12
+ export * from './common';
13
+ export * from './date';
14
+ export * from './forEach';
15
+ export * from './getValuesByPath';
16
+ export * from './handlebars';
17
+ export * from './isValidFilter';
18
+ export * from './json-templates';
19
+ export * from './log';
20
+ export * from './merge';
21
+ export * from './notification';
22
+ export * from './number';
23
+ export * from './parse-filter';
24
+ export * from './registry';
25
+ export * from './i18n';
26
+ export * from './isPortalInBody';
27
+ export * from './parseHTML';
28
+ export * from './uid';
29
+ export * from './url';
30
+ export { dayjs, lodash };
@@ -0,0 +1,88 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+
10
+ var __create = Object.create;
11
+ var __defProp = Object.defineProperty;
12
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
13
+ var __getOwnPropNames = Object.getOwnPropertyNames;
14
+ var __getProtoOf = Object.getPrototypeOf;
15
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
16
+ var __export = (target, all) => {
17
+ for (var name in all)
18
+ __defProp(target, name, { get: all[name], enumerable: true });
19
+ };
20
+ var __copyProps = (to, from, except, desc) => {
21
+ if (from && typeof from === "object" || typeof from === "function") {
22
+ for (let key of __getOwnPropNames(from))
23
+ if (!__hasOwnProp.call(to, key) && key !== except)
24
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
25
+ }
26
+ return to;
27
+ };
28
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
29
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
30
+ // If the importer is in node compatibility mode or this is not an ESM
31
+ // file that has been converted to a CommonJS file using a Babel-
32
+ // compatible transform (i.e. "__esModule" has not been set), then set
33
+ // "default" to the CommonJS "module.exports" for node compatibility.
34
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
35
+ mod
36
+ ));
37
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
38
+ var client_exports = {};
39
+ __export(client_exports, {
40
+ dayjs: () => import_dayjs.dayjs,
41
+ lodash: () => import_lodash.default
42
+ });
43
+ module.exports = __toCommonJS(client_exports);
44
+ var import_lodash = __toESM(require("lodash"));
45
+ var import_dayjs = require("./dayjs");
46
+ __reExport(client_exports, require("./collections-graph"), module.exports);
47
+ __reExport(client_exports, require("./common"), module.exports);
48
+ __reExport(client_exports, require("./date"), module.exports);
49
+ __reExport(client_exports, require("./forEach"), module.exports);
50
+ __reExport(client_exports, require("./getValuesByPath"), module.exports);
51
+ __reExport(client_exports, require("./handlebars"), module.exports);
52
+ __reExport(client_exports, require("./isValidFilter"), module.exports);
53
+ __reExport(client_exports, require("./json-templates"), module.exports);
54
+ __reExport(client_exports, require("./log"), module.exports);
55
+ __reExport(client_exports, require("./merge"), module.exports);
56
+ __reExport(client_exports, require("./notification"), module.exports);
57
+ __reExport(client_exports, require("./number"), module.exports);
58
+ __reExport(client_exports, require("./parse-filter"), module.exports);
59
+ __reExport(client_exports, require("./registry"), module.exports);
60
+ __reExport(client_exports, require("./i18n"), module.exports);
61
+ __reExport(client_exports, require("./isPortalInBody"), module.exports);
62
+ __reExport(client_exports, require("./parseHTML"), module.exports);
63
+ __reExport(client_exports, require("./uid"), module.exports);
64
+ __reExport(client_exports, require("./url"), module.exports);
65
+ // Annotate the CommonJS export names for ESM import in node:
66
+ 0 && (module.exports = {
67
+ dayjs,
68
+ lodash,
69
+ ...require("./collections-graph"),
70
+ ...require("./common"),
71
+ ...require("./date"),
72
+ ...require("./forEach"),
73
+ ...require("./getValuesByPath"),
74
+ ...require("./handlebars"),
75
+ ...require("./isValidFilter"),
76
+ ...require("./json-templates"),
77
+ ...require("./log"),
78
+ ...require("./merge"),
79
+ ...require("./notification"),
80
+ ...require("./number"),
81
+ ...require("./parse-filter"),
82
+ ...require("./registry"),
83
+ ...require("./i18n"),
84
+ ...require("./isPortalInBody"),
85
+ ...require("./parseHTML"),
86
+ ...require("./uid"),
87
+ ...require("./url")
88
+ });
@@ -0,0 +1,24 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+ type BuildGraphOptions = {
10
+ direction?: 'forward' | 'reverse';
11
+ collections: any[];
12
+ };
13
+ export declare class CollectionsGraph {
14
+ static graphlib(): any;
15
+ static connectedNodes(options: BuildGraphOptions & {
16
+ nodes: Array<string>;
17
+ excludes?: Array<string>;
18
+ }): unknown[];
19
+ static preOrder(options: BuildGraphOptions & {
20
+ node: string;
21
+ }): any;
22
+ static build(options: BuildGraphOptions): any;
23
+ }
24
+ export {};
@@ -0,0 +1,107 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+
10
+ var __create = Object.create;
11
+ var __defProp = Object.defineProperty;
12
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
13
+ var __getOwnPropNames = Object.getOwnPropertyNames;
14
+ var __getProtoOf = Object.getPrototypeOf;
15
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
16
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
17
+ var __export = (target, all) => {
18
+ for (var name in all)
19
+ __defProp(target, name, { get: all[name], enumerable: true });
20
+ };
21
+ var __copyProps = (to, from, except, desc) => {
22
+ if (from && typeof from === "object" || typeof from === "function") {
23
+ for (let key of __getOwnPropNames(from))
24
+ if (!__hasOwnProp.call(to, key) && key !== except)
25
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
26
+ }
27
+ return to;
28
+ };
29
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
30
+ // If the importer is in node compatibility mode or this is not an ESM
31
+ // file that has been converted to a CommonJS file using a Babel-
32
+ // compatible transform (i.e. "__esModule" has not been set), then set
33
+ // "default" to the CommonJS "module.exports" for node compatibility.
34
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
35
+ mod
36
+ ));
37
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
38
+ var collections_graph_exports = {};
39
+ __export(collections_graph_exports, {
40
+ CollectionsGraph: () => CollectionsGraph
41
+ });
42
+ module.exports = __toCommonJS(collections_graph_exports);
43
+ var graphlib = __toESM(require("graphlib"));
44
+ var import_lodash = require("lodash");
45
+ const _CollectionsGraph = class _CollectionsGraph {
46
+ static graphlib() {
47
+ return graphlib;
48
+ }
49
+ static connectedNodes(options) {
50
+ const nodes = (0, import_lodash.castArray)(options.nodes);
51
+ const excludes = (0, import_lodash.castArray)(options.excludes || []);
52
+ const graph = _CollectionsGraph.build(options);
53
+ const connectedNodes = /* @__PURE__ */ new Set();
54
+ for (const node of nodes) {
55
+ const connected = graphlib.alg.preorder(graph, node);
56
+ for (const connectedNode of connected) {
57
+ if (excludes.includes(connectedNode)) continue;
58
+ connectedNodes.add(connectedNode);
59
+ }
60
+ }
61
+ return Array.from(connectedNodes);
62
+ }
63
+ static preOrder(options) {
64
+ return _CollectionsGraph.graphlib().alg.preorder(_CollectionsGraph.build(options), options.node);
65
+ }
66
+ static build(options) {
67
+ const collections = options.collections;
68
+ const direction = (options == null ? void 0 : options.direction) || "forward";
69
+ const isForward = direction === "forward";
70
+ const graph = new graphlib.Graph();
71
+ for (const collection of collections) {
72
+ graph.setNode(collection.name);
73
+ }
74
+ for (const collection of collections) {
75
+ const parents = collection.inherits || [];
76
+ for (const parent of parents) {
77
+ if (isForward) {
78
+ graph.setEdge(collection.name, parent);
79
+ } else {
80
+ graph.setEdge(parent, collection.name);
81
+ }
82
+ }
83
+ for (const field of collection.fields || []) {
84
+ if (field.type === "hasMany" || field.type === "belongsTo" || field.type === "hasOne") {
85
+ isForward ? graph.setEdge(collection.name, field.target) : graph.setEdge(field.target, collection.name);
86
+ }
87
+ if (field.type === "belongsToMany") {
88
+ const throughCollection = field.through;
89
+ if (isForward) {
90
+ graph.setEdge(collection.name, throughCollection);
91
+ graph.setEdge(throughCollection, field.target);
92
+ } else {
93
+ graph.setEdge(field.target, throughCollection);
94
+ graph.setEdge(throughCollection, collection.name);
95
+ }
96
+ }
97
+ }
98
+ }
99
+ return graph;
100
+ }
101
+ };
102
+ __name(_CollectionsGraph, "CollectionsGraph");
103
+ let CollectionsGraph = _CollectionsGraph;
104
+ // Annotate the CommonJS export names for ESM import in node:
105
+ 0 && (module.exports = {
106
+ CollectionsGraph
107
+ });
@@ -0,0 +1,14 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+ export declare const isString: (value: any) => value is string;
10
+ export declare const isArray: (value: any) => value is any[];
11
+ export declare const isEmpty: (value: unknown) => boolean;
12
+ export declare const isPlainObject: (value: any) => boolean;
13
+ export declare const hasEmptyValue: (objOrArr: object | any[]) => any;
14
+ export declare const nextTick: (fn: () => void) => void;