Skip to content

Commit 45c117e

Browse files
Merge pull request #13 from contentstack/cache_hotfix
Resolved localStorage disable Issue
2 parents f83b71e + cd6520c commit 45c117e

File tree

9 files changed

+107
-78
lines changed

9 files changed

+107
-78
lines changed

.DS_Store

-6 KB
Binary file not shown.

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
.DS_Store
1+
*.DS_Store
22
examples/*
33
node_modules/*
44
.idea/*

dist/web/contentstack.js

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

examples/node/contentstack-demo.js

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,43 @@ class ContentstackDemo {
2727
return this.Stack.ContentType(contentTypeUid).Query().includeReference('secondary_section.reference.reference').find()
2828
}
2929

30+
/**
31+
* getEntries
32+
* @description : getEntries is used to get the entries of the specified entries
33+
* @params : contentTypeUid {string} - Content-Type from which entries to be retrieved
34+
* @return : Result {Promise}
35+
*/
36+
getLastActivities() {
37+
//contentTypeUid = contentTypeUid || 'source'
38+
return this.Stack.getLastActivities()
39+
}
40+
41+
/**
42+
* getEntries
43+
* @description : getEntries is used to get the entries of the specified entries
44+
* @params : contentTypeUid {string} - Content-Type from which entries to be retrieved
45+
* @return : Result {Promise}
46+
*/
47+
getAllContentType() {
48+
//contentTypeUid = contentTypeUid || 'source'
49+
return this.Stack.getAllContentTypes()
50+
}
51+
52+
/**
53+
* getEntries
54+
* @description : getEntries is used to get the entries of the specified entries
55+
* @params : contentTypeUid {string} - Content-Type from which entries to be retrieved
56+
* @return : Result {Promise}
57+
*/
58+
getContentType(uid) {
59+
//contentTypeUid = contentTypeUid || 'source'
60+
return this.Stack.getContentType(uid)
61+
}
62+
63+
64+
65+
66+
3067

3168
/**
3269
* fetchEntry

examples/web/scripts/contentstack.js

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/core/cache.js

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,17 @@ export function get(key) {
1212
};
1313

1414
export function set(key, data) {
15-
if (typeof data === 'object') {
16-
storage.setItem(key, JSON.stringify(data));
17-
} else {
18-
storage.setItem(key, data);
19-
}
15+
try {
16+
if (typeof data === 'object') {
17+
console.log("storage", storage)
18+
storage.setItem(key, JSON.stringify(data));
19+
//localStorage.setItem("hello", "Smith");
20+
} else {
21+
console.log("else")
22+
storage.setItem(key, data);
23+
}
24+
} catch (error) {
25+
}
2026
};
2127

2228
export function getStorage() {

src/core/lib/utils.js

Lines changed: 37 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -257,7 +257,7 @@ export function sendRequest(queryObject) {
257257
} else if (data.assets && data.assets.length) {
258258
entries.assets = data.assets[0];
259259
} else {
260-
if (cachePolicy === 2) {
260+
if (cachePolicy === 2 && self.provider !== null) {
261261
self.provider.get(hashQuery, getCacheCallback());
262262
} else {
263263
return reject({ error_code: 141, error_message: 'The requested entry doesn\'t exist.' });
@@ -276,7 +276,7 @@ export function sendRequest(queryObject) {
276276
entries = data;
277277
}
278278

279-
if (cachePolicy !== -1) {
279+
if (cachePolicy !== -1 && self.provider !== null) {
280280
self.provider.set(hashQuery, entries, function(err) {
281281
try {
282282
if (err) throw err;
@@ -304,30 +304,34 @@ export function sendRequest(queryObject) {
304304
}
305305
}.bind(self))
306306
.catch(function(error) {
307-
if (cachePolicy === 2) {
307+
if (cachePolicy === 2 && self.provider !== null) {
308308
self.provider.get(hashQuery, getCacheCallback());
309309
} else {
310310
return reject(error);
311311
}
312312
});
313313
}
314314
};
315-
316315
switch (cachePolicy) {
317316
case 1:
318317
return new Promise(function(resolve, reject) {
319-
self.provider.get(hashQuery, function(err, _data) {
320-
try {
321-
if (err || !_data) {
322-
callback(true, resolve, reject);
323-
} else {
324-
if (!tojson) _data = resultWrapper(_data);
325-
return resolve(spreadResult(_data));
318+
if (self.provider !== null) {
319+
self.provider.get(hashQuery, function(err, _data) {
320+
try {
321+
if (err || !_data) {
322+
callback(true, resolve, reject);
323+
} else {
324+
if (!tojson) _data = resultWrapper(_data);
325+
return resolve(spreadResult(_data));
326+
}
327+
} catch (e) {
328+
return reject(e);
326329
}
327-
} catch (e) {
328-
return reject(e);
329-
}
330-
});
330+
});
331+
}else {
332+
callback(true, resolve, reject);
333+
}
334+
331335
});
332336
break;
333337
case 2:
@@ -340,67 +344,34 @@ export function sendRequest(queryObject) {
340344
};
341345

342346
if (cachePolicy === 3) {
343-
return {
344-
cache: (function() {
345-
return new Promise(function(resolve, reject) {
347+
348+
var promise = new Promise(function(resolve, reject) {
349+
if (self.provider !== null) {
346350
self.provider.get(hashQuery, function(err, _data) {
347351
try {
348-
if (err) {
349-
reject(err);
352+
if (err || !_data) {
353+
reject(err);
354+
//reject(Error("It broke"));
350355
} else {
351356
if (!tojson) _data = resultWrapper(_data);
352-
resolve(spreadResult(_data));
357+
resolve(spreadResult(_data));
353358
}
354359
} catch (e) {
355-
reject(e);
360+
reject(e);
356361
}
357362
});
358-
});
359-
}()),
360-
network: (function() {
361-
return new Promise(function(resolve, reject) {
363+
}
364+
});
365+
366+
return promise.then(function() {
367+
return new Promise(function(resolve, reject) {
362368
callback(true, resolve, reject);
363369
});
364-
}()),
365-
both: function(_callback_) {
366-
self.provider.get(hashQuery, function(err, entries) {
367-
if (!tojson) entries = resultWrapper(entries);
368-
_callback_(err, spreadResult(entries))
370+
}).catch((error) => {
371+
return new Promise(function(resolve, reject) {
372+
callback(true, resolve, reject);
369373
});
370-
Request(queryObject.requestParams)
371-
.then(function(data) {
372-
try {
373-
self.entry_uid = self.tojson = self.queryCachePolicy = undefined;
374-
let entries = {},
375-
error = null;
376-
if (queryObject.singleEntry) {
377-
queryObject.singleEntry = false;
378-
if (data.schema) entries.schema = data.schema;
379-
if (data.content_type) {
380-
entries.content_type = data.content_type;
381-
delete entries.schema
382-
}
383-
if (data.entries && data.entries.length) {
384-
entries.entry = data.entries[0];
385-
} else if (data.assets && data.assets.length) {
386-
entries.assets = data.assets[0];
387-
} else {
388-
error = { error_code: 141, error_message: 'The requested entry doesn\'t exist.' };
389-
}
390-
} else {
391-
entries = data;
392-
}
393-
if (!tojson) entries = resultWrapper(entries);
394-
_callback_(error, spreadResult(entries));
395-
} catch (e) {
396-
_callback_(e);
397-
}
398-
}.bind(self))
399-
.catch(function(error) {
400-
_callback_(error);
401-
});
402-
}
403-
404-
};
374+
console.error(error)
375+
})
405376
}
406377
};

src/runtime/web/localstorage.js

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,16 @@
1-
export default window.localStorage;
1+
// export default window.localStorage;
2+
3+
let webLocalStoreage = function (){
4+
try {
5+
var storage = window.localStorage
6+
// x = '__storage_test__';
7+
// storage.setItem(x, x);
8+
// storage.removeItem(x);
9+
return storage;
10+
} catch(e) {
11+
return null
12+
}
13+
};
14+
15+
export default webLocalStoreage();
16+

test/report.json

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)