@ossy/sdk-react 0.1.3 → 0.1.5

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 (102) hide show
  1. package/build/node_modules/ramda/es/always.js +1 -0
  2. package/build/node_modules/ramda/es/assocPath.js +1 -0
  3. package/build/node_modules/ramda/es/curry.js +1 -0
  4. package/build/node_modules/ramda/es/curryN.js +1 -0
  5. package/build/node_modules/ramda/es/equals.js +1 -0
  6. package/build/node_modules/ramda/es/findIndex.js +1 -0
  7. package/build/node_modules/ramda/es/internal/_arity.js +1 -0
  8. package/build/node_modules/ramda/es/internal/_arrayFromIterator.js +1 -0
  9. package/build/node_modules/ramda/es/internal/_arrayReduce.js +1 -0
  10. package/build/node_modules/ramda/es/internal/_assoc.js +1 -0
  11. package/build/node_modules/ramda/es/internal/_curry1.js +1 -0
  12. package/build/node_modules/ramda/es/internal/_curry2.js +1 -0
  13. package/build/node_modules/ramda/es/internal/_curry3.js +1 -0
  14. package/build/node_modules/ramda/es/internal/_curryN.js +1 -0
  15. package/build/node_modules/ramda/es/internal/_dispatchable.js +1 -0
  16. package/build/node_modules/ramda/es/internal/_equals.js +1 -0
  17. package/build/node_modules/ramda/es/internal/_functionName.js +1 -0
  18. package/build/node_modules/ramda/es/internal/_has.js +1 -0
  19. package/build/node_modules/ramda/es/internal/_includesWith.js +1 -0
  20. package/build/node_modules/ramda/es/internal/_isArguments.js +1 -0
  21. package/build/node_modules/ramda/es/internal/_isArray.js +1 -0
  22. package/build/node_modules/ramda/es/internal/_isInteger.js +1 -0
  23. package/build/node_modules/ramda/es/internal/_isPlaceholder.js +1 -0
  24. package/build/node_modules/ramda/es/internal/_isTransformer.js +1 -0
  25. package/build/node_modules/ramda/es/internal/_map.js +1 -0
  26. package/build/node_modules/ramda/es/internal/_nth.js +1 -0
  27. package/build/node_modules/ramda/es/internal/_objectIs.js +1 -0
  28. package/build/node_modules/ramda/es/internal/_path.js +1 -0
  29. package/build/node_modules/ramda/es/internal/_prop.js +1 -0
  30. package/build/node_modules/ramda/es/internal/_reduced.js +1 -0
  31. package/build/node_modules/ramda/es/internal/_xfBase.js +1 -0
  32. package/build/node_modules/ramda/es/internal/_xfindIndex.js +1 -0
  33. package/build/node_modules/ramda/es/internal/_xmap.js +1 -0
  34. package/build/node_modules/ramda/es/isNil.js +1 -0
  35. package/build/node_modules/ramda/es/keys.js +1 -0
  36. package/build/node_modules/ramda/es/lens.js +1 -0
  37. package/build/node_modules/ramda/es/lensPath.js +1 -0
  38. package/build/node_modules/ramda/es/map.js +1 -0
  39. package/build/node_modules/ramda/es/over.js +1 -0
  40. package/build/node_modules/ramda/es/path.js +1 -0
  41. package/build/node_modules/ramda/es/prop.js +1 -0
  42. package/build/node_modules/ramda/es/propEq.js +1 -0
  43. package/build/node_modules/ramda/es/remove.js +1 -0
  44. package/build/node_modules/ramda/es/set.js +1 -0
  45. package/build/node_modules/ramda/es/type.js +1 -0
  46. package/build/node_modules/tslib/tslib.es6.js +1 -0
  47. package/build/public.index.d.ts +108 -0
  48. package/build/sdk-react/src/Cache.js +1 -0
  49. package/build/sdk-react/src/WorkspaceProvider.js +1 -0
  50. package/build/sdk-react/src/asyncStatus.js +1 -0
  51. package/build/sdk-react/src/public.index.js +1 -0
  52. package/build/sdk-react/src/removeBy.js +1 -0
  53. package/build/sdk-react/src/replaceBy.js +1 -0
  54. package/build/sdk-react/src/useApiTokens.js +1 -0
  55. package/build/sdk-react/src/useAuthentication.js +1 -0
  56. package/build/sdk-react/src/useQuery.js +1 -0
  57. package/build/sdk-react/src/useResource.js +1 -0
  58. package/build/sdk-react/src/useResourceTemplate.js +1 -0
  59. package/build/sdk-react/src/useResources.js +1 -0
  60. package/build/sdk-react/src/useSdk.js +1 -0
  61. package/build/sdk-react/src/useUser.js +1 -0
  62. package/build/sdk-react/src/useUsers.js +1 -0
  63. package/build/sdk-react/src/useWorkspace.js +1 -0
  64. package/build/sdk-react/src/useWorkspaces.js +1 -0
  65. package/build/types/Cache.d.ts +10 -0
  66. package/build/types/WorkspaceProvider.d.ts +7 -0
  67. package/build/types/asyncStatus.d.ts +6 -0
  68. package/build/types/public.index.d.ts +13 -0
  69. package/build/types/removeBy.d.ts +1 -0
  70. package/build/types/replaceBy.d.ts +1 -0
  71. package/build/types/useApiTokens.d.ts +10 -0
  72. package/build/types/useAuthentication.d.ts +16 -0
  73. package/build/types/useQuery.d.ts +4 -0
  74. package/build/types/useResource.d.ts +8 -0
  75. package/build/types/useResourceTemplate.d.ts +1 -0
  76. package/build/types/useResources.d.ts +15 -0
  77. package/build/types/useSdk.d.ts +1 -0
  78. package/build/types/useUser.d.ts +5 -0
  79. package/build/types/useUsers.d.ts +5 -0
  80. package/build/types/useWorkspace.d.ts +7 -0
  81. package/build/types/useWorkspaces.d.ts +6 -0
  82. package/package.json +6 -2
  83. package/CHANGELOG.md +0 -155
  84. package/rollup.config.js +0 -44
  85. package/src/Cache.tsx +0 -76
  86. package/src/WorkspaceProvider.tsx +0 -27
  87. package/src/asyncStatus.ts +0 -6
  88. package/src/public.index.ts +0 -13
  89. package/src/removeBy.js +0 -7
  90. package/src/replaceBy.js +0 -6
  91. package/src/useApiTokens.ts +0 -63
  92. package/src/useAuthentication.ts +0 -105
  93. package/src/useQuery.ts +0 -49
  94. package/src/useResource.ts +0 -91
  95. package/src/useResourceTemplate.ts +0 -8
  96. package/src/useResources.ts +0 -163
  97. package/src/useSdk.ts +0 -7
  98. package/src/useUser.ts +0 -55
  99. package/src/useUsers.ts +0 -38
  100. package/src/useWorkspace.ts +0 -67
  101. package/src/useWorkspaces.ts +0 -49
  102. package/tsconfig.json +0 -27
@@ -0,0 +1 @@
1
+ import r from"./internal/_curry1.js";var n=r(function(r){return function(){return r}});export{n as default};
@@ -0,0 +1 @@
1
+ import r from"./internal/_curry3.js";import t from"./internal/_isInteger.js";import o from"./internal/_assoc.js";import e from"./isNil.js";import i from"./internal/_prop.js";var n=r(function r(n,a,l){if(0===n.length)return a;var p=n[0];if(n.length>1){var s=i(p,l);(e(s)||"object"!=typeof s)&&(s=t(n[1])?[]:{}),a=r(Array.prototype.slice.call(n,1),a,s)}return o(p,a,l)});export{n as default};
@@ -0,0 +1 @@
1
+ import r from"./internal/_curry1.js";import t from"./curryN.js";var n=r(function(r){return t(r.length,r)});export{n as default};
@@ -0,0 +1 @@
1
+ import r from"./internal/_arity.js";import t from"./internal/_curry1.js";import n from"./internal/_curry2.js";import i from"./internal/_curryN.js";var o=n(function(n,o){return 1===n?t(o):r(n,i(n,[],o))});export{o as default};
@@ -0,0 +1 @@
1
+ import r from"./internal/_curry2.js";import t from"./internal/_equals.js";var n=r(function(r,n){return t(r,n,[],[])});export{n as default};
@@ -0,0 +1 @@
1
+ import r from"./internal/_curry2.js";import n from"./internal/_dispatchable.js";import t from"./internal/_xfindIndex.js";var e=r(n([],t,function(r,n){for(var t=0,e=n.length;t<e;){if(r(n[t]))return t;t+=1}return-1}));export{e as default};
@@ -0,0 +1 @@
1
+ function t(t,n){switch(t){case 0:return function(){return n.apply(this,arguments)};case 1:return function(t){return n.apply(this,arguments)};case 2:return function(t,r){return n.apply(this,arguments)};case 3:return function(t,r,e){return n.apply(this,arguments)};case 4:return function(t,r,e,u){return n.apply(this,arguments)};case 5:return function(t,r,e,u,a){return n.apply(this,arguments)};case 6:return function(t,r,e,u,a,i){return n.apply(this,arguments)};case 7:return function(t,r,e,u,a,i,s){return n.apply(this,arguments)};case 8:return function(t,r,e,u,a,i,s,c){return n.apply(this,arguments)};case 9:return function(t,r,e,u,a,i,s,c,p){return n.apply(this,arguments)};case 10:return function(t,r,e,u,a,i,s,c,p,o){return n.apply(this,arguments)};default:throw new Error("First argument to _arity must be a non-negative integer no greater than ten")}}export{t as default};
@@ -0,0 +1 @@
1
+ function e(e){for(var n,r=[];!(n=e.next()).done;)r.push(n.value);return r}export{e as default};
@@ -0,0 +1 @@
1
+ function r(r,t,e){for(var n=0,a=e.length;n<a;)t=r(t,e[n]),n+=1;return t}export{r as default};
@@ -0,0 +1 @@
1
+ import r from"./_isArray.js";import t from"./_isInteger.js";function n(n,o,a){if(t(n)&&r(a)){var e=n<0?a.length+n:n,i=[].concat(a);return i[e]=o,i}var f={};for(var s in a)f[s]=a[s];return f[n]=o,f}export{n as default};
@@ -0,0 +1 @@
1
+ import t from"./_isPlaceholder.js";function r(r){return function e(n){return 0===arguments.length||t(n)?e:r.apply(this,arguments)}}export{r as default};
@@ -0,0 +1 @@
1
+ import r from"./_curry1.js";import t from"./_isPlaceholder.js";function n(n){return function e(u,o){switch(arguments.length){case 0:return e;case 1:return t(u)?e:r(function(r){return n(u,r)});default:return t(u)&&t(o)?e:t(u)?r(function(r){return n(r,o)}):t(o)?r(function(r){return n(u,r)}):n(u,o)}}}export{n as default};
@@ -0,0 +1 @@
1
+ import r from"./_curry1.js";import n from"./_curry2.js";import t from"./_isPlaceholder.js";function u(u){return function e(o,c,f){switch(arguments.length){case 0:return e;case 1:return t(o)?e:n(function(r,n){return u(o,r,n)});case 2:return t(o)&&t(c)?e:t(o)?n(function(r,n){return u(r,c,n)}):t(c)?n(function(r,n){return u(o,r,n)}):r(function(r){return u(o,c,r)});default:return t(o)&&t(c)&&t(f)?e:t(o)&&t(c)?n(function(r,n){return u(r,n,f)}):t(o)&&t(f)?n(function(r,n){return u(r,c,n)}):t(c)&&t(f)?n(function(r,n){return u(o,r,n)}):t(o)?r(function(r){return u(r,c,f)}):t(c)?r(function(r){return u(o,r,f)}):t(f)?r(function(r){return u(o,c,r)}):u(o,c,f)}}}export{u as default};
@@ -0,0 +1 @@
1
+ import t from"./_arity.js";import r from"./_isPlaceholder.js";function e(n,a,o){return function(){for(var l=[],h=0,i=n,f=0,m=!1;f<a.length||h<arguments.length;){var p;f<a.length&&(!r(a[f])||h>=arguments.length)?p=a[f]:(p=arguments[h],h+=1),l[f]=p,r(p)?m=!0:i-=1,f+=1}return!m&&i<=0?o.apply(this,l):t(Math.max(0,i),e(n,l,o))}}export{e as default};
@@ -0,0 +1 @@
1
+ import r from"./_isArray.js";import t from"./_isTransformer.js";function e(e,n,l){return function(){if(0===arguments.length)return l();var o=arguments[arguments.length-1];if(!r(o)){for(var i=0;i<e.length;){if("function"==typeof o[e[i]])return o[e[i]].apply(o,Array.prototype.slice.call(arguments,0,-1));i+=1}if(t(o))return n.apply(null,Array.prototype.slice.call(arguments,0,-1))(o)}return l.apply(this,arguments)}}export{e as default};
@@ -0,0 +1 @@
1
+ import e from"./_arrayFromIterator.js";import a from"./_includesWith.js";import r from"./_functionName.js";import t from"./_has.js";import n from"./_objectIs.js";import s from"../keys.js";import c from"../type.js";function o(r,t,n,s){var c=e(r),o=e(t);function i(e,a){return u(e,a,n.slice(),s.slice())}return!a(function(e,r){return!a(i,r,e)},o,c)}function u(e,a,i,f){if(n(e,a))return!0;var l=c(e);if(l!==c(a))return!1;if("function"==typeof e["fantasy-land/equals"]||"function"==typeof a["fantasy-land/equals"])return"function"==typeof e["fantasy-land/equals"]&&e["fantasy-land/equals"](a)&&"function"==typeof a["fantasy-land/equals"]&&a["fantasy-land/equals"](e);if("function"==typeof e.equals||"function"==typeof a.equals)return"function"==typeof e.equals&&e.equals(a)&&"function"==typeof a.equals&&a.equals(e);switch(l){case"Arguments":case"Array":case"Object":if("function"==typeof e.constructor&&"Promise"===r(e.constructor))return e===a;break;case"Boolean":case"Number":case"String":if(typeof e!=typeof a||!n(e.valueOf(),a.valueOf()))return!1;break;case"Date":if(!n(e.valueOf(),a.valueOf()))return!1;break;case"Error":return e.name===a.name&&e.message===a.message;case"RegExp":if(e.source!==a.source||e.global!==a.global||e.ignoreCase!==a.ignoreCase||e.multiline!==a.multiline||e.sticky!==a.sticky||e.unicode!==a.unicode)return!1}for(var y=i.length-1;y>=0;){if(i[y]===e)return f[y]===a;y-=1}switch(l){case"Map":return e.size===a.size&&o(e.entries(),a.entries(),i.concat([e]),f.concat([a]));case"Set":return e.size===a.size&&o(e.values(),a.values(),i.concat([e]),f.concat([a]));case"Arguments":case"Array":case"Object":case"Boolean":case"Number":case"String":case"Date":case"Error":case"RegExp":case"Int8Array":case"Uint8Array":case"Uint8ClampedArray":case"Int16Array":case"Uint16Array":case"Int32Array":case"Uint32Array":case"Float32Array":case"Float64Array":case"ArrayBuffer":break;default:return!1}var m=s(e);if(m.length!==s(a).length)return!1;var p=i.concat([e]),g=f.concat([a]);for(y=m.length-1;y>=0;){var A=m[y];if(!t(A,a)||!u(a[A],e[A],p,g))return!1;y-=1}return!0}export{u as default};
@@ -0,0 +1 @@
1
+ function n(n){var t=String(n).match(/^function (\w*)/);return null==t?"":t[1]}export{n as default};
@@ -0,0 +1 @@
1
+ function t(t,e){return Object.prototype.hasOwnProperty.call(e,t)}export{t as default};
@@ -0,0 +1 @@
1
+ function r(r,t,e){for(var n=0,f=e.length;n<f;){if(r(t,e[n]))return!0;n+=1}return!1}export{r as default};
@@ -0,0 +1 @@
1
+ import t from"./_has.js";var r=Object.prototype.toString,e=function(){return"[object Arguments]"===r.call(arguments)?function(t){return"[object Arguments]"===r.call(t)}:function(r){return t("callee",r)}}();export{e as default};
@@ -0,0 +1 @@
1
+ var r=Array.isArray||function(r){return null!=r&&r.length>=0&&"[object Array]"===Object.prototype.toString.call(r)};export{r as default};
@@ -0,0 +1 @@
1
+ var e=Number.isInteger||function(e){return(e|0)===e};export{e as default};
@@ -0,0 +1 @@
1
+ function e(e){return null!=e&&"object"==typeof e&&!0===e["@@functional/placeholder"]}export{e as default};
@@ -0,0 +1 @@
1
+ function t(t){return null!=t&&"function"==typeof t["@@transducer/step"]}export{t as default};
@@ -0,0 +1 @@
1
+ function r(r,t){for(var a=0,e=t.length,n=Array(e);a<e;)n[a]=r(t[a]),a+=1;return n}export{r as default};
@@ -0,0 +1 @@
1
+ function t(t,e){return e[t<0?e.length+t:t]}export{t as default};
@@ -0,0 +1 @@
1
+ var t="function"==typeof Object.is?Object.is:function(t,e){return t===e?0!==t||1/t==1/e:t!=t&&e!=e};export{t as default};
@@ -0,0 +1 @@
1
+ import r from"./_isInteger.js";import t from"./_nth.js";function n(n,e){for(var o=e,f=0;f<n.length;f+=1){if(null==o)return;var i=n[f];o=r(i)?t(i,o):o[i]}return o}export{n as default};
@@ -0,0 +1 @@
1
+ import r from"./_isInteger.js";import t from"./_nth.js";function n(n,o){if(null!=o)return r(n)?t(n,o):o[n]}export{n as default};
@@ -0,0 +1 @@
1
+ function e(e){return e&&e["@@transducer/reduced"]?e:{"@@transducer/value":e,"@@transducer/reduced":!0}}export{e as default};
@@ -0,0 +1 @@
1
+ var t={init:function(){return this.xf["@@transducer/init"]()},result:function(t){return this.xf["@@transducer/result"](t)}};export{t as default};
@@ -0,0 +1 @@
1
+ import t from"./_reduced.js";import r from"./_xfBase.js";var n=function(){function n(t,r){this.xf=r,this.f=t,this.idx=-1,this.found=!1}return n.prototype["@@transducer/init"]=r.init,n.prototype["@@transducer/result"]=function(t){return this.found||(t=this.xf["@@transducer/step"](t,-1)),this.xf["@@transducer/result"](t)},n.prototype["@@transducer/step"]=function(r,n){return this.idx+=1,this.f(n)&&(this.found=!0,r=t(this.xf["@@transducer/step"](r,this.idx))),r},n}();function i(t){return function(r){return new n(t,r)}}export{i as default};
@@ -0,0 +1 @@
1
+ import t from"./_xfBase.js";var r=function(){function r(t,r){this.xf=r,this.f=t}return r.prototype["@@transducer/init"]=t.init,r.prototype["@@transducer/result"]=t.result,r.prototype["@@transducer/step"]=function(t,r){return this.xf["@@transducer/step"](t,this.f(r))},r}(),n=function(t){return function(n){return new r(t,n)}};export{n as default};
@@ -0,0 +1 @@
1
+ import r from"./internal/_curry1.js";var n=r(function(r){return null==r});export{n as default};
@@ -0,0 +1 @@
1
+ import r from"./internal/_curry1.js";import t from"./internal/_has.js";import n from"./internal/_isArguments.js";var e=!{toString:null}.propertyIsEnumerable("toString"),o=["constructor","valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"],i=function(){return arguments.propertyIsEnumerable("length")}(),u=function(r,t){for(var n=0;n<r.length;){if(r[n]===t)return!0;n+=1}return!1},f="function"!=typeof Object.keys||i?r(function(r){if(Object(r)!==r)return[];var f,l,a=[],s=i&&n(r);for(f in r)!t(f,r)||s&&"length"===f||(a[a.length]=f);if(e)for(l=o.length-1;l>=0;)t(f=o[l],r)&&!u(a,f)&&(a[a.length]=f),l-=1;return a}):r(function(r){return Object(r)!==r?[]:Object.keys(r)});export{f as default};
@@ -0,0 +1 @@
1
+ import r from"./internal/_curry2.js";import n from"./map.js";var t=r(function(r,t){return function(u){return function(o){return n(function(r){return t(r,o)},u(r(o)))}}});export{t as default};
@@ -0,0 +1 @@
1
+ import r from"./internal/_curry1.js";import t from"./assocPath.js";import o from"./lens.js";import n from"./internal/_path.js";var a=r(function(r){return o(function(t){return n(r,t)},t(r))});export{a as default};
@@ -0,0 +1 @@
1
+ import r from"./internal/_arrayReduce.js";import t from"./internal/_curry2.js";import n from"./internal/_dispatchable.js";import a from"./internal/_map.js";import e from"./internal/_xmap.js";import o from"./curryN.js";import i from"./keys.js";var m=t(n(["fantasy-land/map","map"],e,function(t,n){switch(Object.prototype.toString.call(n)){case"[object Function]":return o(n.length,function(){return t.call(this,n.apply(this,arguments))});case"[object Object]":return r(function(r,a){return r[a]=t(n[a]),r},{},i(n));default:return a(t,n)}}));export{m as default};
@@ -0,0 +1 @@
1
+ import r from"./internal/_curry3.js";var n=function(r){return{value:r,map:function(t){return n(t(r))}}},t=r(function(r,t,u){return r(function(r){return n(t(r))})(u).value});export{t as default};
@@ -0,0 +1 @@
1
+ import r from"./internal/_curry2.js";import t from"./internal/_path.js";var a=r(t);export{a as default};
@@ -0,0 +1 @@
1
+ import r from"./internal/_curry2.js";import o from"./internal/_prop.js";var t=r(o);export{t as default};
@@ -0,0 +1 @@
1
+ import r from"./internal/_curry3.js";import o from"./prop.js";import t from"./equals.js";var m=r(function(r,m,p){return t(r,o(m,p))});export{m as default};
@@ -0,0 +1 @@
1
+ import r from"./internal/_curry3.js";var t=r(function(r,t,a){var e=Array.prototype.slice.call(a,0);return e.splice(r,t),e});export{t as default};
@@ -0,0 +1 @@
1
+ import r from"./internal/_curry3.js";import o from"./always.js";import t from"./over.js";var a=r(function(r,a,m){return t(r,o(a),m)});export{a as default};
@@ -0,0 +1 @@
1
+ import r from"./internal/_curry1.js";var t=r(function(r){return null===r?"Null":void 0===r?"Undefined":Object.prototype.toString.call(r).slice(8,-1)});export{t as default};
@@ -0,0 +1 @@
1
+ var r=function(){return r=Object.assign||function(r){for(var t,e=1,n=arguments.length;e<n;e++)for(var o in t=arguments[e])Object.prototype.hasOwnProperty.call(t,o)&&(r[o]=t[o]);return r},r.apply(this,arguments)};function t(r,t,e){if(e||2===arguments.length)for(var n,o=0,p=t.length;o<p;o++)!n&&o in t||(n||(n=Array.prototype.slice.call(t,0,o)),n[o]=t[o]);return r.concat(n||Array.prototype.slice.call(t))}"function"==typeof SuppressedError&&SuppressedError;export{r as __assign,t as __spreadArray};
@@ -0,0 +1,108 @@
1
+ import React, { PropsWithChildren } from 'react';
2
+ import * as _ossy_sdk from '@ossy/sdk';
3
+ import { SDK } from '@ossy/sdk';
4
+
5
+ declare const AsyncStatus: {
6
+ NotInitialized: string;
7
+ Loading: string;
8
+ Success: string;
9
+ Error: string;
10
+ };
11
+
12
+ declare const useApiTokens: () => {
13
+ status: any;
14
+ tokens: any;
15
+ createApiToken: (token: {
16
+ name: string;
17
+ description: string;
18
+ expiresAt: string;
19
+ }) => Promise<any>;
20
+ invalidateApiToken: (id: string) => Promise<any>;
21
+ };
22
+
23
+ declare const AuthenticationStatus: {
24
+ AuthenticationError: string;
25
+ NotInitialized: string;
26
+ NotAuthenticated: string;
27
+ Verifying: string;
28
+ Authenticated: string;
29
+ VerifySignIn: string;
30
+ };
31
+ declare const useAuthentication: () => {
32
+ status: any;
33
+ signUp: (email: string) => Promise<any>;
34
+ signIn: (email: any) => Promise<any>;
35
+ signOff: () => Promise<any>;
36
+ verifySignIn: (token: string) => Promise<any>;
37
+ verifyInvitation: (workspaceId: string, token: string) => Promise<any>;
38
+ };
39
+
40
+ declare const useWorkspace: () => {
41
+ status: any;
42
+ workspace: any;
43
+ loadWorkspace: () => void;
44
+ createApiToken: (description: string) => Promise<string>;
45
+ inviteUser: (email: string) => Promise<any>;
46
+ };
47
+
48
+ declare const useWorkspaces: () => {
49
+ status: any;
50
+ workspaces: any;
51
+ loadWorkspaces: () => void;
52
+ createWorkspace: (name: string) => Promise<any>;
53
+ };
54
+
55
+ declare const useQuery: (incomingQuery: any) => {
56
+ status: any;
57
+ resources: any;
58
+ };
59
+
60
+ declare const useResource: (id: string) => {
61
+ status: any;
62
+ resource: any;
63
+ loadResource: () => void;
64
+ removeResource: () => Promise<void>;
65
+ updateResourceContent: (content: any) => Promise<any>;
66
+ renameResource: (name: string) => Promise<any>;
67
+ };
68
+
69
+ declare const useResourceTemplate: (id: string) => any;
70
+
71
+ declare const useResources: (location?: string) => {
72
+ status: any;
73
+ resources: any;
74
+ removeResource: (id: string) => Promise<any>;
75
+ createDocument: (document: any) => Promise<any>;
76
+ createDirectory: ({ location, name }: {
77
+ location: string;
78
+ name: string;
79
+ }) => Promise<any>;
80
+ loadResource: (id: string) => Promise<any>;
81
+ updateResourceContent: (id: string, content: any) => Promise<any>;
82
+ moveResource: (id: string, target: string) => Promise<string>;
83
+ renameResource: (id: string, name: string) => Promise<any>;
84
+ uploadFile: (location: string, file: File) => Promise<any>;
85
+ };
86
+
87
+ declare const Context: React.Context<Config>;
88
+ interface Config {
89
+ sdk: SDK;
90
+ }
91
+ declare const WorkspaceProvider: ({ sdk, children }: PropsWithChildren<Config>) => React.JSX.Element;
92
+
93
+ declare function useSdk(): _ossy_sdk.SDK;
94
+
95
+ declare const useUser: () => {
96
+ status: any;
97
+ user: any;
98
+ update: (user: any) => Promise<any>;
99
+ };
100
+
101
+ declare const useUsers: () => {
102
+ status: any;
103
+ users: any;
104
+ load: () => void;
105
+ };
106
+
107
+ export { AsyncStatus, AuthenticationStatus, Context, WorkspaceProvider, useApiTokens, useAuthentication, useQuery, useResource, useResourceTemplate, useResources, useSdk, useUser, useUsers, useWorkspace, useWorkspaces };
108
+ export type { Config };
@@ -0,0 +1 @@
1
+ import{__assign as t}from"../../node_modules/tslib/tslib.es6.js";import e,{createContext as r,useContext as n,useReducer as a,useCallback as o}from"react";var u=r({}),i="SET",c=function(r){var n=r.get,c=r.set;return function(r){var f=a(function(e){var r=e.set,n=e.get;return function(e,a){if(void 0===e&&(e={}),a.type===i){var o=void 0;if("function"==typeof a.data){var u=n(a.cachePath,e);o=a.data(u)}else o=a.data;return r(a.cachePath,o,e)}return t({},e)}}({set:c,get:n}),{}),s=f[0],v=f[1],d=o(function(t){return function(e){v({type:i,cachePath:t,data:e})}},[v]),l=o(function(t){return n(t,s)},[s,n]);return e.createElement(u.Provider,t({value:{get:l,set:d}},r))}},f=function(t,e){var r,a=n(u),o=a.get,i=a.set;return{data:(r=o(t),null==r?e:r),set:i(t)}};export{u as CacheContext,c as createCache,f as useCache};
@@ -0,0 +1 @@
1
+ import e,{createContext as r}from"react";import{createCache as o}from"./Cache.js";import t from"../../node_modules/ramda/es/path.js";import m from"../../node_modules/ramda/es/set.js";import a from"../../node_modules/ramda/es/lensPath.js";var s=r({}),n=o({get:t,set:function(e,r,o){return m(a(e),r,o)}}),d=function(r){var o=r.sdk,t=r.children;return e.createElement(n,null,e.createElement(s.Provider,{value:{sdk:o}},t))};export{s as Context,d as WorkspaceProvider};
@@ -0,0 +1 @@
1
+ var i={NotInitialized:"NotInitialized",Loading:"Loading",Success:"Success",Error:"Error"};export{i as AsyncStatus};
@@ -0,0 +1 @@
1
+ export{AsyncStatus}from"./asyncStatus.js";export{useApiTokens}from"./useApiTokens.js";export{AuthenticationStatus,useAuthentication}from"./useAuthentication.js";export{useWorkspace}from"./useWorkspace.js";export{useWorkspaces}from"./useWorkspaces.js";export{useQuery}from"./useQuery.js";export{useResource}from"./useResource.js";export{useResourceTemplate}from"./useResourceTemplate.js";export{useResources}from"./useResources.js";export{Context,WorkspaceProvider}from"./WorkspaceProvider.js";export{useSdk}from"./useSdk.js";export{useUser}from"./useUser.js";export{useUsers}from"./useUsers.js";
@@ -0,0 +1 @@
1
+ import r from"../../node_modules/ramda/es/curry.js";import o from"../../node_modules/ramda/es/findIndex.js";import e from"../../node_modules/ramda/es/propEq.js";import m from"../../node_modules/ramda/es/remove.js";var d=r(function(r,d,s){var a=o(e(r,d),s);return-1===a?s:m(a,1,s)});export{d as removeBy};
@@ -0,0 +1 @@
1
+ import r from"../../node_modules/ramda/es/curry.js";import o from"../../node_modules/ramda/es/map.js";var e=r(function(r,e,m){return o(function(o){return o[r]===e[r]?e:o},m)});export{e as replaceBy};
@@ -0,0 +1 @@
1
+ import{__spreadArray as t}from"../../node_modules/tslib/tslib.es6.js";import{useCallback as n,useEffect as i}from"react";import{useCache as o}from"./Cache.js";import{AsyncStatus as e}from"./asyncStatus.js";import{useSdk as r}from"./useSdk.js";import{removeBy as a}from"./removeBy.js";var s=["apiTokens","status"],u=["apiTokens","data"],c=function(){var c=r(),f=o(s),d=f.data,m=void 0===d?e.NotInitialized:d,p=f.set,k=o(u),l=k.data,v=void 0===l?[]:l,T=k.set,h=n(function(n){return c.apiTokens.create(n).then(function(n){return T(function(i){return t(t([],i,!0),[n],!1)}),n})},[c]),j=n(function(t){return c.apiTokens.invalidate({id:t}).then(function(){return T(function(n){return a("id",t,n)})})},[c]),S=n(function(){p(e.Loading),c.apiTokens.list().then(function(t){T(t),p(e.Success)}).catch(function(){p(e.Error)})},[c]);return i(function(){m===e.NotInitialized&&S()},[m]),{status:m,tokens:v,createApiToken:h,invalidateApiToken:j}};export{c as useApiTokens};
@@ -0,0 +1 @@
1
+ import{useCallback as t,useEffect as n}from"react";import{useCache as i}from"./Cache.js";import{useSdk as r}from"./useSdk.js";var e={AuthenticationError:"AuthenticationError",NotInitialized:"NotInitialized",NotAuthenticated:"NotAuthenticated",Verifying:"Verifying",Authenticated:"Authenticated",VerifySignIn:"VerifySignIn"},u=["auth","status"],o=function(){var o=r(),c=i(u),f=c.data,a=void 0===f?e.NotInitialized:f,h=c.set,s=t(function(t){return h(function(){return e.Verifying}),o.auth.signUp({email:t}).then(function(){return h(e.VerifySignIn)}).catch(function(t){return h(e.AuthenticationError),Promise.reject(t)})},[o]),g=t(function(t){return h(function(){return e.Verifying}),o.auth.signIn(t).then(function(){return h(e.VerifySignIn)}).catch(function(t){return h(e.AuthenticationError),Promise.reject(t)})},[o]),d=t(function(t){return h(function(){return e.Verifying}),o.auth.verifySignIn({token:t}).then(function(){return h(e.Authenticated)}).catch(function(t){return h(e.AuthenticationError),Promise.reject(t)})},[o]),A=t(function(t,n){return h(function(){return e.Verifying}),o.auth.verifyInvitation({workspaceId:t,token:n}).then(function(){return h(e.Authenticated)}).catch(function(t){return h(e.AuthenticationError),Promise.reject(t)})},[o]),y=t(function(){return o.auth.signOff().then(function(){return h(e.NotAuthenticated)})},[o]);return n(function(){a===e.NotInitialized&&(h(function(){return e.Verifying}),o.auth.getAuthenticatedUser().then(function(t){if(!t)return Promise.reject();h(function(){return e.Authenticated})}).catch(function(){h(function(){return e.NotAuthenticated})}))},[a]),{status:a,signUp:s,signIn:g,signOff:y,verifySignIn:d,verifyInvitation:A}};export{e as AuthenticationStatus,o as useAuthentication};
@@ -0,0 +1 @@
1
+ import{useMemo as t,useCallback as r,useEffect as e}from"react";import{useCache as n}from"./Cache.js";import{AsyncStatus as o}from"./asyncStatus.js";import{useSdk as a}from"./useSdk.js";var s=function(s){var i=a(),u=i.workspaceId,c=new URLSearchParams(s).toString(),f=t(function(){return[u,"queries",c,"status"]},[u,c]),m=t(function(){return[u,"queries",c,"data"]},[u,c]),d=n(f,o.NotInitialized),p=d.data,S=d.set,h=n(m,[]),g=h.data,j=h.set,I=r(function(t){S(o.Loading),i.resources.get(t).then(function(t){S(o.Success),j(t)}).catch(function(){S(o.Error)})},[i]);return e(function(){u&&s&&p===o.NotInitialized&&I(s)},[u,s,p]),{status:p,resources:g}};export{s as useQuery};
@@ -0,0 +1 @@
1
+ import{useMemo as e,useCallback as t,useEffect as r}from"react";import{useCache as o}from"./Cache.js";import{AsyncStatus as n}from"./asyncStatus.js";import{useResources as u}from"./useResources.js";import{useSdk as c}from"./useSdk.js";var i=function(i){var s=c().workspaceId,a=e(function(){return["resource",s,i,"status"]},[i,s]),f=e(function(){return["resource",s,i,"data"]},[i,s]),d=o(a),m=d.data,p=void 0===m?n.NotInitialized:m,R=d.set,h=o(f),v=h.data,l=void 0===v?{}:v,j=h.set,I=u(),z=I.loadResource,C=I.removeResource,N=I.updateResourceContent,S=I.renameResource,k=t(function(){R(n.Loading),j({}),z(i).then(function(e){R(n.Success),j(e)}).catch(function(){R(n.Error),j({})})},[i,z]),g=t(function(){return C(i).then(function(){R(n.NotInitialized),j({})})},[i,C]),w=t(function(e){return N(i,e).then(function(e){return j(e)})},[i,N]),x=t(function(e){return S(i,e).then(function(e){return j(e)})},[i,S]);return r(function(){s&&i&&p===n.NotInitialized&&k()},[s,i,k]),{status:p,resource:l,loadResource:k,removeResource:g,updateResourceContent:w,renameResource:x}};export{i as useResource};
@@ -0,0 +1 @@
1
+ import{useWorkspace as r}from"./useWorkspace.js";var e=function(e){return r().workspace.resourceTemplates.find(function(r){return r.id===e})};export{e as useResourceTemplate};
@@ -0,0 +1 @@
1
+ import{__spreadArray as n}from"../../node_modules/tslib/tslib.es6.js";import{useMemo as t,useCallback as r,useEffect as e}from"react";import{useCache as o}from"./Cache.js";import{removeBy as u}from"./removeBy.js";import{replaceBy as i}from"./replaceBy.js";import{AsyncStatus as c}from"./asyncStatus.js";import{useSdk as s}from"./useSdk.js";var a=function(a){var f=s(),d=f.workspaceId,m=t(function(){return["resources",d,"status",a]},[d,a]),l=t(function(){return["resources",d,"data"]},[d]),v=o(m,c.NotInitialized),p=v.data,h=v.set,y=o(l,[]),j=y.data,R=y.set,g=t(function(){return j.filter(function(n){return n.location===a})},[j,a]),C=r(function(n){var t=j.find(function(t){return t.id===n});return t?Promise.resolve(t):f.resources.get({id:n}).then(function(n){return R(function(t){return void 0===t&&(t=[]),i("id",n,t)}),n})},[f,j,R]),D=r(function(){h(c.Loading),f.resources.list({location:a}).then(function(t){h(c.Success),R(function(r){void 0===r&&(r=[]);var e=t.map(function(n){return n.id}),o=r.filter(function(n){return!e.includes(n.id)});return n(n([],t,!0),o,!0)})}).catch(function(){h(c.Error)})},[f,a,h,R]),I=r(function(t){return f.resources.create({type:t.type,location:t.location,name:t.name,content:t.content}).then(function(t){return R(function(r){return void 0===r&&(r=[]),n(n([],r,!0),[t],!1)}),t})},[f,R]),S=r(function(t,r){return f.resources.upload({location:t,file:r}).then(function(t){return R(function(r){return void 0===r&&(r=[]),n(n([],r,!0),[t],!1)}),t})},[f,R]),b=r(function(t){var r=t.location,e=t.name;return f.resources.createDirectory({type:"directory",location:r,name:e}).then(function(t){return R(function(r){return void 0===r&&(r=[]),n(n([],r,!0),[t],!1)}),t})},[f,R]),k=r(function(n){return f.resources.remove({id:n}).then(function(){return R(function(t){return void 0===t&&(t=[]),u("id",n,t)})})},[f,R]),z=r(function(n,t){return f.resources.updateContent({id:n,content:t}).then(function(n){return R(function(t){return void 0===t&&(t=[]),i("id",n,t)}),n})},[f,d,R]),B=r(function(n,t){return f.resources.move({id:n,target:t}).then(function(n){return R(function(t){return void 0===t&&(t=[]),i("id",n,t)}),n})},[f,d,R]),N=r(function(n,t){return f.resources.rename({id:n,name:t}).then(function(n){return R(function(t){return void 0===t&&(t=[]),i("id",n,t)}),n})},[f,d,R]);return e(function(){d&&a&&p===c.NotInitialized&&D()},[d,a,p]),{status:p,resources:g,removeResource:k,createDocument:I,createDirectory:b,loadResource:C,updateResourceContent:z,moveResource:B,renameResource:N,uploadFile:S}};export{a as useResources};
@@ -0,0 +1 @@
1
+ import{useContext as r}from"react";import{Context as o}from"./WorkspaceProvider.js";function t(){return r(o).sdk}export{t as useSdk};
@@ -0,0 +1 @@
1
+ import{useCallback as t,useEffect as r}from"react";import{useCache as n}from"./Cache.js";import{useSdk as e}from"./useSdk.js";import{AsyncStatus as u}from"./asyncStatus.js";var o=["user","status"],i=["user","data"],a=function(){var a=e(),s=n(o),c=s.data,f=void 0===c?u.NotInitialized:c,d=s.set,m=n(i),p=m.data,h=void 0===p?{}:p,j=m.set,v=t(function(t){return a.currentUser.update(t).then(function(t){return j(t),t})},[a]);return r(function(){f===u.NotInitialized&&(d(function(){return u.Loading}),a.currentUser.get().then(function(t){if(!t)return Promise.reject();j(t),d(function(){return u.Success})}).catch(function(){j({}),d(function(){return u.Error})}))},[f,a]),{status:f,user:h,update:v}};export{a as useUser};
@@ -0,0 +1 @@
1
+ import{useMemo as t,useCallback as a,useEffect as s}from"react";import{useCache as r}from"./Cache.js";import{AsyncStatus as o}from"./asyncStatus.js";import{useSdk as u}from"./useSdk.js";var n=function(){var n=u(),i=n.workspaceId,e=t(function(){return["workspace",i,"users"]},[i]),c=r(e),d=c.data,f=void 0===d?{status:o.NotInitialized,data:[]}:d,m=c.set,p=a(function(){m({status:o.Loading,data:[]}),n.users.list().then(function(t){return m({data:t,status:o.Success})}).catch(function(){return m({status:o.Error,data:[]})})},[n]);return s(function(){i&&f.status===o.NotInitialized&&p()},[i,f]),{status:f.status,users:f.data,load:p}};export{n as useUsers};
@@ -0,0 +1 @@
1
+ import{__assign as t,__spreadArray as s}from"../../node_modules/tslib/tslib.es6.js";import{useMemo as a,useCallback as r,useEffect as e}from"react";import{useCache as n}from"./Cache.js";import{AsyncStatus as o}from"./asyncStatus.js";import{useSdk as i}from"./useSdk.js";var u=function(){var u=i(),c=u.workspaceId,d=a(function(){return["workspace",c]},[c]),p=n(d),f=p.data,k=void 0===f?{status:o.NotInitialized,data:{}}:f,m=p.set,l=r(function(){m({status:o.Loading,data:{}}),u.workspaces.current().then(function(t){return m({data:t,status:o.Success})}).catch(function(){return m({status:o.Error,data:{}})})},[u,c]),v=r(function(a){return u.workspaces.createApiToken({description:a}).then(function(r){var e=r.id,n=r.token;return m({status:k.status,data:t(t({},k),{apiTokens:s(s([],k.apiTokens,!0),[{id:e,description:a}],!1)})}),n})},[u]),w=r(function(t){return u.workspaces.inviteUser({email:t})},[u]);return e(function(){c&&k.status===o.NotInitialized&&l()},[c,k]),{status:k.status,workspace:k.data,loadWorkspace:l,createApiToken:v,inviteUser:w}};export{u as useWorkspace};
@@ -0,0 +1 @@
1
+ import{__spreadArray as t}from"../../node_modules/tslib/tslib.es6.js";import{useCallback as a,useEffect as s}from"react";import{useCache as r}from"./Cache.js";import{AsyncStatus as o}from"./asyncStatus.js";import{useSdk as e}from"./useSdk.js";var n=["workspaces"],u=function(){var u=e(),i=r(n),c=i.set,d=i.data,f=void 0===d?{status:o.NotInitialized,data:[]}:d,m=a(function(){c({status:o.Loading,data:[]}),u.workspaces.list().then(function(t){return c({status:o.Success,data:t})}).catch(function(){return c({status:o.Error,data:[]})})},[u]),p=a(function(a){return u.workspaces.create({name:a}).then(function(a){return c({status:f.status,data:t(t([],f.data,!0),[a],!1)}),a})},[u]);return s(function(){f.status===o.NotInitialized&&m()},[f,m]),{status:f.status,workspaces:f.data,loadWorkspaces:m,createWorkspace:p}};export{u as useWorkspaces};
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ export declare const CacheContext: React.Context<any>;
3
+ export declare const createCache: ({ get: _get, set: _set }: {
4
+ get: any;
5
+ set: any;
6
+ }) => (props: any) => React.JSX.Element;
7
+ export declare const useCache: (cachePath: any, defaultValue?: any) => {
8
+ data: any;
9
+ set: any;
10
+ };
@@ -0,0 +1,7 @@
1
+ import React, { PropsWithChildren } from 'react';
2
+ import { type SDK } from '@ossy/sdk';
3
+ export declare const Context: React.Context<Config>;
4
+ export interface Config {
5
+ sdk: SDK;
6
+ }
7
+ export declare const WorkspaceProvider: ({ sdk, children }: PropsWithChildren<Config>) => React.JSX.Element;
@@ -0,0 +1,6 @@
1
+ export declare const AsyncStatus: {
2
+ NotInitialized: string;
3
+ Loading: string;
4
+ Success: string;
5
+ Error: string;
6
+ };
@@ -0,0 +1,13 @@
1
+ export * from './asyncStatus';
2
+ export * from './useApiTokens';
3
+ export * from './useAuthentication';
4
+ export * from './useWorkspace';
5
+ export * from './useWorkspaces';
6
+ export * from './useQuery';
7
+ export * from './useResource';
8
+ export * from './useResourceTemplate';
9
+ export * from './useResources';
10
+ export * from './WorkspaceProvider';
11
+ export * from './useSdk';
12
+ export * from './useUser';
13
+ export * from './useUsers';
@@ -0,0 +1 @@
1
+ export const removeBy: import("ts-toolbelt/out/Function/Curry").Curry<(prop: any, propValue: any, list: any) => any>;
@@ -0,0 +1 @@
1
+ export const replaceBy: import("ts-toolbelt/out/Function/Curry").Curry<(prop: any, item: any, list: any) => Record<string | number | symbol, any>>;
@@ -0,0 +1,10 @@
1
+ export declare const useApiTokens: () => {
2
+ status: any;
3
+ tokens: any;
4
+ createApiToken: (token: {
5
+ name: string;
6
+ description: string;
7
+ expiresAt: string;
8
+ }) => Promise<any>;
9
+ invalidateApiToken: (id: string) => Promise<any>;
10
+ };
@@ -0,0 +1,16 @@
1
+ export declare const AuthenticationStatus: {
2
+ AuthenticationError: string;
3
+ NotInitialized: string;
4
+ NotAuthenticated: string;
5
+ Verifying: string;
6
+ Authenticated: string;
7
+ VerifySignIn: string;
8
+ };
9
+ export declare const useAuthentication: () => {
10
+ status: any;
11
+ signUp: (email: string) => Promise<any>;
12
+ signIn: (email: any) => Promise<any>;
13
+ signOff: () => Promise<any>;
14
+ verifySignIn: (token: string) => Promise<any>;
15
+ verifyInvitation: (workspaceId: string, token: string) => Promise<any>;
16
+ };
@@ -0,0 +1,4 @@
1
+ export declare const useQuery: (incomingQuery: any) => {
2
+ status: any;
3
+ resources: any;
4
+ };
@@ -0,0 +1,8 @@
1
+ export declare const useResource: (id: string) => {
2
+ status: any;
3
+ resource: any;
4
+ loadResource: () => void;
5
+ removeResource: () => Promise<void>;
6
+ updateResourceContent: (content: any) => Promise<any>;
7
+ renameResource: (name: string) => Promise<any>;
8
+ };
@@ -0,0 +1 @@
1
+ export declare const useResourceTemplate: (id: string) => any;
@@ -0,0 +1,15 @@
1
+ export declare const useResources: (location?: string) => {
2
+ status: any;
3
+ resources: any;
4
+ removeResource: (id: string) => Promise<any>;
5
+ createDocument: (document: any) => Promise<any>;
6
+ createDirectory: ({ location, name }: {
7
+ location: string;
8
+ name: string;
9
+ }) => Promise<any>;
10
+ loadResource: (id: string) => Promise<any>;
11
+ updateResourceContent: (id: string, content: any) => Promise<any>;
12
+ moveResource: (id: string, target: string) => Promise<string>;
13
+ renameResource: (id: string, name: string) => Promise<any>;
14
+ uploadFile: (location: string, file: File) => Promise<any>;
15
+ };
@@ -0,0 +1 @@
1
+ export declare function useSdk(): import("@ossy/sdk").SDK;
@@ -0,0 +1,5 @@
1
+ export declare const useUser: () => {
2
+ status: any;
3
+ user: any;
4
+ update: (user: any) => Promise<any>;
5
+ };
@@ -0,0 +1,5 @@
1
+ export declare const useUsers: () => {
2
+ status: any;
3
+ users: any;
4
+ load: () => void;
5
+ };
@@ -0,0 +1,7 @@
1
+ export declare const useWorkspace: () => {
2
+ status: any;
3
+ workspace: any;
4
+ loadWorkspace: () => void;
5
+ createApiToken: (description: string) => Promise<string>;
6
+ inviteUser: (email: string) => Promise<any>;
7
+ };
@@ -0,0 +1,6 @@
1
+ export declare const useWorkspaces: () => {
2
+ status: any;
3
+ workspaces: any;
4
+ loadWorkspaces: () => void;
5
+ createWorkspace: (name: string) => Promise<any>;
6
+ };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@ossy/sdk-react",
3
3
  "description": "Sofware Development Kit React",
4
- "version": "0.1.3",
4
+ "version": "0.1.5",
5
5
  "url": "git://github.com/ossy-se/packages/sdk-react",
6
6
  "source": "src/public.index.ts",
7
7
  "module": "build/public.index.js",
@@ -52,5 +52,9 @@
52
52
  "access": "public",
53
53
  "registry": "https://registry.npmjs.org"
54
54
  },
55
- "gitHead": "80c0c70120640e7b389d1881a71b2376fd523095"
55
+ "files": [
56
+ "/build",
57
+ "README.md"
58
+ ],
59
+ "gitHead": "a768d71e76cc523f367cd764a403c0960f8d2e93"
56
60
  }