w-serv-orm 1.0.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.
Files changed (56) hide show
  1. package/.editorconfig +9 -0
  2. package/.eslintignore +3 -0
  3. package/.eslintrc.js +54 -0
  4. package/.jsdoc +25 -0
  5. package/LICENSE +21 -0
  6. package/README.md +74 -0
  7. package/SECURITY.md +5 -0
  8. package/babel.config.js +14 -0
  9. package/dist/w-serv-orm.umd.js +7 -0
  10. package/dist/w-serv-orm.umd.js.map +1 -0
  11. package/docs/WServOrm.html +582 -0
  12. package/docs/WServOrm.mjs.html +171 -0
  13. package/docs/fonts/Montserrat/Montserrat-Bold.eot +0 -0
  14. package/docs/fonts/Montserrat/Montserrat-Bold.ttf +0 -0
  15. package/docs/fonts/Montserrat/Montserrat-Bold.woff +0 -0
  16. package/docs/fonts/Montserrat/Montserrat-Bold.woff2 +0 -0
  17. package/docs/fonts/Montserrat/Montserrat-Regular.eot +0 -0
  18. package/docs/fonts/Montserrat/Montserrat-Regular.ttf +0 -0
  19. package/docs/fonts/Montserrat/Montserrat-Regular.woff +0 -0
  20. package/docs/fonts/Montserrat/Montserrat-Regular.woff2 +0 -0
  21. package/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.eot +0 -0
  22. package/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.svg +978 -0
  23. package/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.ttf +0 -0
  24. package/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.woff +0 -0
  25. package/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.woff2 +0 -0
  26. package/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.eot +0 -0
  27. package/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.svg +1049 -0
  28. package/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.ttf +0 -0
  29. package/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.woff +0 -0
  30. package/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.woff2 +0 -0
  31. package/docs/index.html +81 -0
  32. package/docs/scripts/collapse.js +20 -0
  33. package/docs/scripts/linenumber.js +25 -0
  34. package/docs/scripts/nav.js +12 -0
  35. package/docs/scripts/polyfill.js +4 -0
  36. package/docs/scripts/prettify/Apache-License-2.0.txt +202 -0
  37. package/docs/scripts/prettify/lang-css.js +2 -0
  38. package/docs/scripts/prettify/prettify.js +28 -0
  39. package/docs/scripts/search.js +83 -0
  40. package/docs/styles/jsdoc.css +765 -0
  41. package/docs/styles/prettify.css +79 -0
  42. package/g.mOrm.mjs +54 -0
  43. package/package.json +37 -0
  44. package/schema/gi.mjs +8 -0
  45. package/schema/index.mjs +16 -0
  46. package/schema/tables/tests.mjs +78 -0
  47. package/src/WServOrm.mjs +102 -0
  48. package/src/getDbBackupAndRecover.mjs +90 -0
  49. package/src/getMapOrm.mjs +298 -0
  50. package/src/getProc.mjs +176 -0
  51. package/src/getWoItems.mjs +69 -0
  52. package/test/all.test.mjs +10 -0
  53. package/toolg/addVersion.mjs +4 -0
  54. package/toolg/cleanFolder.mjs +4 -0
  55. package/toolg/gDistRollup.mjs +21 -0
  56. package/toolg/modifyReadme.mjs +4 -0
@@ -0,0 +1,171 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+
5
+ <meta charset="utf-8">
6
+ <title>WServOrm.mjs - Documentation</title>
7
+
8
+
9
+ <script src="scripts/prettify/prettify.js"></script>
10
+ <script src="scripts/prettify/lang-css.js"></script>
11
+ <!--[if lt IE 9]>
12
+ <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
13
+ <![endif]-->
14
+ <link type="text/css" rel="stylesheet" href="styles/prettify.css">
15
+ <link type="text/css" rel="stylesheet" href="styles/jsdoc.css">
16
+ <script src="scripts/nav.js" defer></script>
17
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
18
+ </head>
19
+ <body>
20
+
21
+ <input type="checkbox" id="nav-trigger" class="nav-trigger" />
22
+ <label for="nav-trigger" class="navicon-button x">
23
+ <div class="navicon"></div>
24
+ </label>
25
+
26
+ <label for="nav-trigger" class="overlay"></label>
27
+
28
+ <nav >
29
+
30
+ <h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="WServOrm.html">WServOrm</a></li></ul>
31
+ </nav>
32
+
33
+ <div id="main">
34
+
35
+ <h1 class="page-title">WServOrm.mjs</h1>
36
+
37
+
38
+
39
+
40
+
41
+
42
+
43
+ <section>
44
+ <article>
45
+ <pre class="prettyprint source linenums"><code>import getDbBackupAndRecover from './getDbBackupAndRecover.mjs'
46
+ import getWoItems from './getWoItems.mjs'
47
+ import getMapOrm from './getMapOrm.mjs'
48
+ import getProc from './getProc.mjs'
49
+
50
+
51
+ /**
52
+ * 產生伺服器ORM的支援物件
53
+ *
54
+ * @class
55
+ * @param {Object} ds 輸入資料表設定物件
56
+ * @param {Object} WOrm 輸入資料庫ORM物件
57
+ * @param {Object} [opt={}] 輸入設定物件,預設{}
58
+ * @param {String} [opt.url=''] 輸入資料庫連線位址字串,預設''
59
+ * @param {String} [opt.db=''] 輸入資料庫名稱字串,預設''
60
+ * @param {Boolean} [opt.bCheckUser=true] 輸入是否檢查使用者資訊布林值,預設true
61
+ * @param {Function} [opt.getUserById=null] 輸入當bCheckUser=true時依照使用者ID取得使用者資訊物件函數,預設null
62
+ * @param {Boolean} [opt.bExcludeWhenNotAdmin=true] 輸入使用ORM的select方法時是否自動刪除數據內isActive欄位之布林值,預設true
63
+ * @returns {Object} 回傳通訊物件,可監聽事件open、error、clientChange、execute、broadcast、deliver,可使用函數broadcast
64
+ * @example
65
+ *
66
+ * import WOrm from 'w-orm-mongodb/src/WOrmMongodb.mjs' //自行選擇引用ORM
67
+ * import ds from './schema/index.mjs' //先行建置schema
68
+ * import WServOrm from './src/WServOrm.mjs'
69
+ *
70
+ * //st
71
+ * let st = {
72
+ * dbUsername: 'username',
73
+ * dbPassword: 'password',
74
+ * dbName: 'wservorm',
75
+ * dbIP: 'localhost',
76
+ * dbPort: 27017,
77
+ * }
78
+ *
79
+ * //WServOrm
80
+ * let opt = {
81
+ * url: `mongodb://${st.dbUsername}:${st.dbPassword}@${st.dbIP}:${st.dbPort}`,
82
+ * db: st.dbName,
83
+ * getUserById: null,
84
+ * bCheckUser: false,
85
+ * bExcludeWhenNotAdmin: false,
86
+ * }
87
+ * let r = WServOrm(ds, WOrm, opt)
88
+ * console.log(r) //回傳server用orm相關函數
89
+ * // => {
90
+ * // backup: [AsyncFunction: backup],
91
+ * // recover: [AsyncFunction: recover],
92
+ * // woItems: {
93
+ * // tests: EventEmitter {
94
+ * // _events: [Object: null prototype] {},
95
+ * // _eventsCount: 0,
96
+ * // _maxListeners: undefined,
97
+ * // select: [AsyncFunction: select],
98
+ * // insert: [AsyncFunction: insert],
99
+ * // save: [AsyncFunction: save],
100
+ * // del: [AsyncFunction: del],
101
+ * // delAll: [AsyncFunction: delAll],
102
+ * // selectGfs: [AsyncFunction: selectGfs],
103
+ * // insertGfs: [AsyncFunction: insertGfs],
104
+ * // delGfs: [AsyncFunction: delGfs],
105
+ * // delAllGfs: [AsyncFunction: delAllGfs],
106
+ * // [Symbol(kCapture)]: false
107
+ * // }
108
+ * // },
109
+ * // addFunCheck: [Function: addFunCheck],
110
+ * // addFunPreProcessing: [Function: addFunPreProcessing],
111
+ * // addFunPostProcessing: [Function: addFunPostProcessing],
112
+ * // procOrm: [AsyncFunction: procOrm]
113
+ * // }
114
+ *
115
+ * // export default r
116
+ *
117
+ */
118
+ function WServOrm(ds, WOrm, opt = {}) {
119
+ // url:'',
120
+ // db:'',
121
+ // bCheckUser: true,
122
+ // getUserById: null,
123
+ // bExcludeWhenNotAdmin: true,
124
+
125
+ //getWoItems
126
+ let woItems = getWoItems(ds, WOrm, opt)
127
+ // console.log('woItems', woItems)
128
+
129
+ //getMapOrm
130
+ let mapOrm = getMapOrm(ds, woItems)
131
+ // console.log('mapOrm', mapOrm)
132
+
133
+ //getProc
134
+ let proc = getProc(mapOrm, opt)
135
+ // console.log('proc', proc)
136
+
137
+ return {
138
+ ...getDbBackupAndRecover,
139
+ woItems,
140
+ // mapOrm,
141
+ ...proc,
142
+ }
143
+ }
144
+
145
+
146
+ export default WServOrm
147
+ </code></pre>
148
+ </article>
149
+ </section>
150
+
151
+
152
+
153
+
154
+
155
+
156
+ </div>
157
+
158
+ <br class="clear">
159
+
160
+ <footer>
161
+ Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.10</a> on Tue Apr 12 2022 16:54:25 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
162
+ </footer>
163
+
164
+ <script>prettyPrint();</script>
165
+ <script src="scripts/polyfill.js"></script>
166
+ <script src="scripts/linenumber.js"></script>
167
+
168
+
169
+
170
+ </body>
171
+ </html>