skapi-js 0.0.2 → 0.0.4

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/index.html ADDED
@@ -0,0 +1,90 @@
1
+ <html>
2
+
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <script src="dist/skapi.js"></script>
6
+ </head>
7
+
8
+ <body>
9
+ <div>Signup</div>
10
+ <form onsubmit="skapi.signup(this,{response: log, onerror:log});return false;">
11
+ <input name='email' placeholder="email" />
12
+ <br>
13
+ <input name='password' placeholder="password" />
14
+ <br>
15
+ <input name='name' placeholder="name" />
16
+ <br>
17
+ <input name='gender' placeholder="gender" />
18
+ <br>
19
+ <p>Gender public</p>
20
+ <input name="gender_public" type="checkbox">
21
+ <br>
22
+ <input type=submit></input>
23
+ </form>
24
+
25
+ <h1>Raffina 방명록</h1>
26
+
27
+ <div>Login</div>
28
+ <form onsubmit="skapi.login(this,{response: log, onerror:log});return false;">
29
+ <input name='email' placeholder="email" />
30
+ <br>
31
+ <input name='password' placeholder="password" />
32
+ <br>
33
+ <input type=submit></input>
34
+ </form>
35
+
36
+ <form onsubmit="skapi.uploadUserData(this,{response: log, onerror:log});return false;">
37
+ <textarea name='aboutme' placeholder="aboutme"></textarea>
38
+ <input type=submit></input>
39
+ </form>
40
+ <br>
41
+
42
+ <br>
43
+ <div>Post 방명록</div>
44
+ <form onsubmit="skapi.postRecord(this,{table:'friendsPost', access_group:0, response: log, onerror:log});return false;">
45
+ <input name='title' placeholder="name" />
46
+ <br>
47
+ <textarea name="comment" placeholder="comment"></textarea>
48
+ <br>
49
+ <input type="file" name="myPhoto"></textarea>
50
+ <br>
51
+ <input type=submit></input>
52
+ </form>
53
+ <hr>
54
+ <button onclick="getRecords()">Get Post</button>
55
+ <div id="postdiv"></div>
56
+ </body>
57
+ <script>
58
+ let skapi = new Skapi(
59
+ 'us31la69ajk61c015d77ea',
60
+ '7aa4ffe1-1b06-4375-9be2-47d89da9d206'
61
+ );
62
+ function log(v) {
63
+ console.log(v);
64
+ alert(v.toString());
65
+ }
66
+ async function getRecords() {
67
+ let p = await skapi.getRecords({
68
+ table: 'friendsPost',
69
+ access_group: 0
70
+ });
71
+ console.log({ p });
72
+ for(let post of p.list) {
73
+ let d = document.createElement('div');
74
+ d.innerHTML = `
75
+ <h1>${post.data.title}</h1>
76
+ <img src="${post.data?.myPhoto?.url}">
77
+ <p>${post.data.comment}</p>
78
+ <hr>
79
+ `
80
+ postdiv.append(d);
81
+ }
82
+ return p;
83
+ }
84
+ </script>
85
+ <style>
86
+ h1 {
87
+ color: blue;
88
+ }
89
+ </style>
90
+ </html>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "skapi-js",
3
- "version": "0.0.2",
3
+ "version": "0.0.4",
4
4
  "description": "skapi javascript library",
5
5
  "main": "./dist/skapi.js",
6
6
  "scripts": {
package/src/skapi.ts CHANGED
@@ -1008,7 +1008,7 @@ export default class Skapi {
1008
1008
  }
1009
1009
 
1010
1010
  let requestKey = this.load_startKey_keys({
1011
- params: Object.assign(isForm || (data || {}), required || {}),
1011
+ params: data,
1012
1012
  url: isExternalUrl || url,
1013
1013
  refresh: isForm ? true : refresh // should not use startKey when post is a form
1014
1014
  }); // returns requrestKey | cached data
@@ -1118,35 +1118,6 @@ export default class Skapi {
1118
1118
  }
1119
1119
  }
1120
1120
 
1121
- let toHash = (() => {
1122
- if (params && typeof params === 'object' && Object.keys(params).length) {
1123
- // hash request parameters
1124
- let paramsHash = JSON.parse(JSON.stringify(params));
1125
-
1126
- function orderObjectKeys(obj: Record<string, any>) {
1127
- function sortObject(obj: Record<string, any>): Record<string, any> {
1128
- if (typeof obj === 'object' && obj) {
1129
- return Object.keys(obj).sort().reduce((res, key) => ((res as any)[key] = obj[key], res), {});
1130
- }
1131
- return obj;
1132
- };
1133
-
1134
- let _obj = sortObject(obj);
1135
- for (let k in _obj) {
1136
- if (_obj[k] && typeof _obj[k] === 'object') {
1137
- _obj[k] = sortObject(obj[k]);
1138
- }
1139
- }
1140
-
1141
- return _obj;
1142
- }
1143
-
1144
- return JSON.stringify(orderObjectKeys(paramsHash)) + url + this.service;
1145
- }
1146
-
1147
- return url + this.service;
1148
- })();
1149
-
1150
1121
  // let hashedParams = createHash('sha256').update(toHash).digest('hex');
1151
1122
  let hashedParams = sha256((() => {
1152
1123
  if (params && typeof params === 'object' && Object.keys(params).length) {
@@ -1216,7 +1187,7 @@ export default class Skapi {
1216
1187
  if (last_startKey_key) {
1217
1188
  // use last start key
1218
1189
 
1219
- if (last_startKey_key === 'end') {
1190
+ if (last_startKey_key === '"end"') { // cached startKeys are stringified
1220
1191
  return {
1221
1192
  list: [],
1222
1193
  startKey: 'end',
@@ -3265,7 +3236,7 @@ export default class Skapi {
3265
3236
  auth: true
3266
3237
  };
3267
3238
 
3268
- if (option.private) {
3239
+ if (option?.private) {
3269
3240
  Object.assign(opt, { meta: { '__private__': option.private } });
3270
3241
  }
3271
3242
 
package/src/utils.ts CHANGED
@@ -298,8 +298,8 @@ function checkParams(
298
298
  val = _params;
299
299
  }
300
300
 
301
- if (val === undefined) {
302
- throw errToThrow || new SkapiError(`Type "undefined"${isInvalid}`, { code: 'INVALID_PARAMETER' });
301
+ if (val === undefined && errToThrow) {
302
+ throw errToThrow;
303
303
  }
304
304
 
305
305
  return val;