@jahia/data-helper 1.1.0 → 1.1.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.
- package/.autorc +10 -0
- package/.eslintrc +8 -0
- package/CHANGELOG.md +436 -0
- package/build.mjs +9 -0
- package/{esm → dist/esm}/fragments/PredefinedFragments.js +1 -1
- package/dist/esm/fragments/PredefinedFragments.js.map +1 -0
- package/dist/esm/fragments/encodeName.js.map +1 -0
- package/{esm → dist/esm}/fragments/fragments.utils.js +25 -34
- package/dist/esm/fragments/fragments.utils.js.map +1 -0
- package/dist/esm/fragments/getIsNodeTypeFragment.js +26 -0
- package/dist/esm/fragments/getIsNodeTypeFragment.js.map +1 -0
- package/{esm → dist/esm}/fragments/getPermissionFragment.js +5 -10
- package/dist/esm/fragments/getPermissionFragment.js.map +1 -0
- package/dist/esm/fragments/index.js +3 -0
- package/dist/esm/fragments/index.js.map +1 -0
- package/dist/esm/hooks/index.js +6 -0
- package/{esm → dist/esm}/hooks/index.js.map +1 -1
- package/dist/esm/hooks/useContentPreview/index.js +2 -0
- package/dist/esm/hooks/useContentPreview/index.js.map +1 -0
- package/{esm → dist/esm}/hooks/useContentPreview/useContentPreview.gql-queries.js +2 -2
- package/{esm → dist/esm}/hooks/useContentPreview/useContentPreview.gql-queries.js.map +1 -1
- package/{esm → dist/esm}/hooks/useContentPreview/useContentPreview.js +2 -2
- package/dist/esm/hooks/useContentPreview/useContentPreview.js.map +1 -0
- package/dist/esm/hooks/useDeepCompareMemo/index.js +2 -0
- package/dist/esm/hooks/useDeepCompareMemo/index.js.map +1 -0
- package/dist/esm/hooks/useDeepCompareMemo/useDeepCompareMemo.js.map +1 -0
- package/{esm → dist/esm}/hooks/useNodeChecks/index.js +1 -1
- package/dist/esm/hooks/useNodeChecks/index.js.map +1 -0
- package/{esm → dist/esm}/hooks/useNodeChecks/useNodeChecks.js +10 -14
- package/dist/esm/hooks/useNodeChecks/useNodeChecks.js.map +1 -0
- package/{esm → dist/esm}/hooks/useNodeInfo/index.js +1 -1
- package/dist/esm/hooks/useNodeInfo/index.js.map +1 -0
- package/dist/esm/hooks/useNodeInfo/useMemoRequest.js +43 -0
- package/dist/esm/hooks/useNodeInfo/useMemoRequest.js.map +1 -0
- package/{esm → dist/esm}/hooks/useNodeInfo/useNodeInfo.gql-queries.js +14 -14
- package/dist/esm/hooks/useNodeInfo/useNodeInfo.gql-queries.js.map +1 -0
- package/{esm → dist/esm}/hooks/useNodeInfo/useNodeInfo.js +10 -19
- package/dist/esm/hooks/useNodeInfo/useNodeInfo.js.map +1 -0
- package/{esm → dist/esm}/hooks/useNodeInfo/useNodeInfo.utils.js +3 -10
- package/dist/esm/hooks/useNodeInfo/useNodeInfo.utils.js.map +1 -0
- package/dist/esm/hooks/useSchemaFields/index.js +2 -0
- package/dist/esm/hooks/useSchemaFields/index.js.map +1 -0
- package/{esm → dist/esm}/hooks/useSchemaFields/useSchemaFields.gql-queries.js +1 -1
- package/{esm → dist/esm}/hooks/useSchemaFields/useSchemaFields.gql-queries.js.map +1 -1
- package/{esm → dist/esm}/hooks/useSchemaFields/useSchemaFields.js +2 -2
- package/dist/esm/hooks/useSchemaFields/useSchemaFields.js.map +1 -0
- package/{esm → dist/esm}/hooks/useSiteInfo/index.js +1 -1
- package/dist/esm/hooks/useSiteInfo/index.js.map +1 -0
- package/{esm → dist/esm}/hooks/useSiteInfo/useSiteInfo.gql-queries.js +2 -2
- package/{esm → dist/esm}/hooks/useSiteInfo/useSiteInfo.gql-queries.js.map +1 -1
- package/{esm → dist/esm}/hooks/useSiteInfo/useSiteInfo.js +3 -6
- package/dist/esm/hooks/useSiteInfo/useSiteInfo.js.map +1 -0
- package/{esm → dist/esm}/hooks/useTreeEntries/index.js +1 -1
- package/dist/esm/hooks/useTreeEntries/index.js.map +1 -0
- package/{esm → dist/esm}/hooks/useTreeEntries/useTreeEntries.gql-queries.js +2 -2
- package/{esm → dist/esm}/hooks/useTreeEntries/useTreeEntries.gql-queries.js.map +1 -1
- package/{esm → dist/esm}/hooks/useTreeEntries/useTreeEntries.js +8 -24
- package/dist/esm/hooks/useTreeEntries/useTreeEntries.js.map +1 -0
- package/dist/esm/index.js +4 -0
- package/dist/esm/index.js.map +1 -0
- package/{esm → dist/esm}/legacy/Picker.gql-fragments.js +1 -1
- package/{esm → dist/esm}/legacy/Picker.gql-fragments.js.map +1 -1
- package/{esm → dist/esm}/legacy/Picker.js +96 -131
- package/dist/esm/legacy/Picker.js.map +1 -0
- package/dist/esm/legacy/index.js +3 -0
- package/dist/esm/legacy/index.js.map +1 -0
- package/{js → dist/js}/fragments/PredefinedFragments.js +22 -22
- package/dist/js/fragments/PredefinedFragments.js.map +1 -0
- package/dist/js/fragments/encodeName.js.map +1 -0
- package/{js → dist/js}/fragments/fragments.utils.js +27 -36
- package/dist/js/fragments/fragments.utils.js.map +1 -0
- package/dist/js/fragments/getIsNodeTypeFragment.js +35 -0
- package/dist/js/fragments/getIsNodeTypeFragment.js.map +1 -0
- package/dist/js/fragments/getPermissionFragment.js +48 -0
- package/dist/js/fragments/getPermissionFragment.js.map +1 -0
- package/{js → dist/js}/fragments/index.js.map +1 -1
- package/{js → dist/js}/hooks/index.js.map +1 -1
- package/{js → dist/js}/hooks/useContentPreview/index.js.map +1 -1
- package/dist/js/hooks/useContentPreview/useContentPreview.gql-queries.js +14 -0
- package/dist/js/hooks/useContentPreview/useContentPreview.gql-queries.js.map +1 -0
- package/{js → dist/js}/hooks/useContentPreview/useContentPreview.js +2 -2
- package/dist/js/hooks/useContentPreview/useContentPreview.js.map +1 -0
- package/{js → dist/js}/hooks/useDeepCompareMemo/index.js.map +1 -1
- package/{js → dist/js}/hooks/useDeepCompareMemo/useDeepCompareMemo.js +1 -1
- package/dist/js/hooks/useDeepCompareMemo/useDeepCompareMemo.js.map +1 -0
- package/{js → dist/js}/hooks/useNodeChecks/index.js.map +1 -1
- package/{js → dist/js}/hooks/useNodeChecks/useNodeChecks.js +13 -16
- package/dist/js/hooks/useNodeChecks/useNodeChecks.js.map +1 -0
- package/{js → dist/js}/hooks/useNodeInfo/index.js.map +1 -1
- package/dist/js/hooks/useNodeInfo/useMemoRequest.js +50 -0
- package/dist/js/hooks/useNodeInfo/useMemoRequest.js.map +1 -0
- package/{js → dist/js}/hooks/useNodeInfo/useNodeInfo.gql-queries.js +16 -16
- package/dist/js/hooks/useNodeInfo/useNodeInfo.gql-queries.js.map +1 -0
- package/{js → dist/js}/hooks/useNodeInfo/useNodeInfo.js +10 -19
- package/dist/js/hooks/useNodeInfo/useNodeInfo.js.map +1 -0
- package/dist/js/hooks/useNodeInfo/useNodeInfo.utils.js +57 -0
- package/dist/js/hooks/useNodeInfo/useNodeInfo.utils.js.map +1 -0
- package/{js → dist/js}/hooks/useSchemaFields/index.js.map +1 -1
- package/dist/js/hooks/useSchemaFields/useSchemaFields.gql-queries.js +13 -0
- package/dist/js/hooks/useSchemaFields/useSchemaFields.gql-queries.js.map +1 -0
- package/{js → dist/js}/hooks/useSchemaFields/useSchemaFields.js +2 -2
- package/dist/js/hooks/useSchemaFields/useSchemaFields.js.map +1 -0
- package/{js → dist/js}/hooks/useSiteInfo/index.js.map +1 -1
- package/dist/js/hooks/useSiteInfo/useSiteInfo.gql-queries.js +14 -0
- package/dist/js/hooks/useSiteInfo/useSiteInfo.gql-queries.js.map +1 -0
- package/dist/js/hooks/useSiteInfo/useSiteInfo.js +40 -0
- package/dist/js/hooks/useSiteInfo/useSiteInfo.js.map +1 -0
- package/{js → dist/js}/hooks/useTreeEntries/index.js.map +1 -1
- package/dist/js/hooks/useTreeEntries/useTreeEntries.gql-queries.js +14 -0
- package/dist/js/hooks/useTreeEntries/useTreeEntries.gql-queries.js.map +1 -0
- package/dist/js/hooks/useTreeEntries/useTreeEntries.js +102 -0
- package/dist/js/hooks/useTreeEntries/useTreeEntries.js.map +1 -0
- package/{js → dist/js}/index.js.map +1 -1
- package/dist/js/legacy/Picker.gql-fragments.js +29 -0
- package/dist/js/legacy/Picker.gql-fragments.js.map +1 -0
- package/dist/js/legacy/Picker.js +362 -0
- package/dist/js/legacy/Picker.js.map +1 -0
- package/{js → dist/js}/legacy/index.js.map +1 -1
- package/dist/types/fragments/PredefinedFragments.d.ts +31 -0
- package/dist/types/fragments/encodeName.d.ts +1 -0
- package/dist/types/fragments/fragments.utils.d.ts +6 -0
- package/dist/types/fragments/getIsNodeTypeFragment.d.ts +10 -0
- package/dist/types/fragments/getPermissionFragment.d.ts +14 -0
- package/dist/types/hooks/useContentPreview/useContentPreview.d.ts +25 -0
- package/dist/types/hooks/useContentPreview/useContentPreview.gql-queries.d.ts +1 -0
- package/dist/types/hooks/useDeepCompareMemo/useDeepCompareMemo.d.ts +1 -0
- package/dist/types/hooks/useNodeChecks/useNodeChecks.d.ts +18 -0
- package/dist/types/hooks/useNodeInfo/useMemoRequest.d.ts +6 -0
- package/dist/types/hooks/useNodeInfo/useNodeInfo.d.ts +33 -0
- package/dist/types/hooks/useNodeInfo/useNodeInfo.gql-queries.d.ts +35 -0
- package/dist/types/hooks/useNodeInfo/useNodeInfo.utils.d.ts +12 -0
- package/dist/types/hooks/useSchemaFields/useSchemaFields.d.ts +5 -0
- package/dist/types/hooks/useSchemaFields/useSchemaFields.gql-queries.d.ts +1 -0
- package/dist/types/hooks/useSiteInfo/useSiteInfo.d.ts +48 -0
- package/dist/types/hooks/useSiteInfo/useSiteInfo.gql-queries.d.ts +1 -0
- package/dist/types/hooks/useTreeEntries/useTreeEntries.d.ts +39 -0
- package/dist/types/hooks/useTreeEntries/useTreeEntries.gql-queries.d.ts +1 -0
- package/dist/types/legacy/Picker.d.ts +84 -0
- package/dist/types/legacy/Picker.gql-fragments.d.ts +17 -0
- package/package.json +13 -20
- package/tsconfig.json +27 -0
- package/esm/fragments/PredefinedFragments.js.map +0 -1
- package/esm/fragments/encodeName.js.map +0 -1
- package/esm/fragments/fragments.utils.js.map +0 -1
- package/esm/fragments/getIsNodeTypeFragment.js +0 -30
- package/esm/fragments/getIsNodeTypeFragment.js.map +0 -1
- package/esm/fragments/getPermissionFragment.js.map +0 -1
- package/esm/fragments/index.js +0 -3
- package/esm/fragments/index.js.map +0 -1
- package/esm/hooks/index.js +0 -6
- package/esm/hooks/useContentPreview/index.js +0 -2
- package/esm/hooks/useContentPreview/index.js.map +0 -1
- package/esm/hooks/useContentPreview/useContentPreview.js.map +0 -1
- package/esm/hooks/useContentPreview/useContentPreview.spec.js +0 -35
- package/esm/hooks/useContentPreview/useContentPreview.spec.js.map +0 -1
- package/esm/hooks/useDeepCompareMemo/index.js +0 -2
- package/esm/hooks/useDeepCompareMemo/index.js.map +0 -1
- package/esm/hooks/useDeepCompareMemo/useDeepCompareMemo.js.map +0 -1
- package/esm/hooks/useDeepCompareMemo/useDeepCompareMemo.spec.js +0 -36
- package/esm/hooks/useDeepCompareMemo/useDeepCompareMemo.spec.js.map +0 -1
- package/esm/hooks/useNodeChecks/index.js.map +0 -1
- package/esm/hooks/useNodeChecks/useNodeChecks.js.map +0 -1
- package/esm/hooks/useNodeChecks/useNodeChecks.spec.js +0 -184
- package/esm/hooks/useNodeChecks/useNodeChecks.spec.js.map +0 -1
- package/esm/hooks/useNodeInfo/index.js.map +0 -1
- package/esm/hooks/useNodeInfo/useMemoRequest.js +0 -50
- package/esm/hooks/useNodeInfo/useMemoRequest.js.map +0 -1
- package/esm/hooks/useNodeInfo/useNodeInfo.gql-queries.js.map +0 -1
- package/esm/hooks/useNodeInfo/useNodeInfo.js.map +0 -1
- package/esm/hooks/useNodeInfo/useNodeInfo.spec.js +0 -453
- package/esm/hooks/useNodeInfo/useNodeInfo.spec.js.map +0 -1
- package/esm/hooks/useNodeInfo/useNodeInfo.utils.js.map +0 -1
- package/esm/hooks/useSchemaFields/index.js +0 -2
- package/esm/hooks/useSchemaFields/index.js.map +0 -1
- package/esm/hooks/useSchemaFields/useSchemaFields.js.map +0 -1
- package/esm/hooks/useSiteInfo/index.js.map +0 -1
- package/esm/hooks/useSiteInfo/useSiteInfo.js.map +0 -1
- package/esm/hooks/useSiteInfo/useSiteInfo.spec.js +0 -65
- package/esm/hooks/useSiteInfo/useSiteInfo.spec.js.map +0 -1
- package/esm/hooks/useTreeEntries/index.js.map +0 -1
- package/esm/hooks/useTreeEntries/useTreeEntries.js.map +0 -1
- package/esm/hooks/useTreeEntries/useTreeEntries.spec.js +0 -47
- package/esm/hooks/useTreeEntries/useTreeEntries.spec.js.map +0 -1
- package/esm/index.js +0 -4
- package/esm/index.js.map +0 -1
- package/esm/legacy/Picker.js.map +0 -1
- package/esm/legacy/index.js +0 -3
- package/esm/legacy/index.js.map +0 -1
- package/js/fragments/PredefinedFragments.js.map +0 -1
- package/js/fragments/encodeName.js.map +0 -1
- package/js/fragments/fragments.utils.js.map +0 -1
- package/js/fragments/getIsNodeTypeFragment.js +0 -39
- package/js/fragments/getIsNodeTypeFragment.js.map +0 -1
- package/js/fragments/getPermissionFragment.js +0 -53
- package/js/fragments/getPermissionFragment.js.map +0 -1
- package/js/hooks/useContentPreview/useContentPreview.gql-queries.js +0 -14
- package/js/hooks/useContentPreview/useContentPreview.gql-queries.js.map +0 -1
- package/js/hooks/useContentPreview/useContentPreview.js.map +0 -1
- package/js/hooks/useContentPreview/useContentPreview.spec.js +0 -37
- package/js/hooks/useContentPreview/useContentPreview.spec.js.map +0 -1
- package/js/hooks/useDeepCompareMemo/useDeepCompareMemo.js.map +0 -1
- package/js/hooks/useDeepCompareMemo/useDeepCompareMemo.spec.js +0 -38
- package/js/hooks/useDeepCompareMemo/useDeepCompareMemo.spec.js.map +0 -1
- package/js/hooks/useNodeChecks/useNodeChecks.js.map +0 -1
- package/js/hooks/useNodeChecks/useNodeChecks.spec.js +0 -187
- package/js/hooks/useNodeChecks/useNodeChecks.spec.js.map +0 -1
- package/js/hooks/useNodeInfo/useMemoRequest.js +0 -57
- package/js/hooks/useNodeInfo/useMemoRequest.js.map +0 -1
- package/js/hooks/useNodeInfo/useNodeInfo.gql-queries.js.map +0 -1
- package/js/hooks/useNodeInfo/useNodeInfo.js.map +0 -1
- package/js/hooks/useNodeInfo/useNodeInfo.spec.js +0 -456
- package/js/hooks/useNodeInfo/useNodeInfo.spec.js.map +0 -1
- package/js/hooks/useNodeInfo/useNodeInfo.utils.js +0 -63
- package/js/hooks/useNodeInfo/useNodeInfo.utils.js.map +0 -1
- package/js/hooks/useSchemaFields/useSchemaFields.gql-queries.js +0 -13
- package/js/hooks/useSchemaFields/useSchemaFields.gql-queries.js.map +0 -1
- package/js/hooks/useSchemaFields/useSchemaFields.js.map +0 -1
- package/js/hooks/useSiteInfo/useSiteInfo.gql-queries.js +0 -14
- package/js/hooks/useSiteInfo/useSiteInfo.gql-queries.js.map +0 -1
- package/js/hooks/useSiteInfo/useSiteInfo.js +0 -42
- package/js/hooks/useSiteInfo/useSiteInfo.js.map +0 -1
- package/js/hooks/useSiteInfo/useSiteInfo.spec.js +0 -67
- package/js/hooks/useSiteInfo/useSiteInfo.spec.js.map +0 -1
- package/js/hooks/useTreeEntries/useTreeEntries.gql-queries.js +0 -14
- package/js/hooks/useTreeEntries/useTreeEntries.gql-queries.js.map +0 -1
- package/js/hooks/useTreeEntries/useTreeEntries.js +0 -117
- package/js/hooks/useTreeEntries/useTreeEntries.js.map +0 -1
- package/js/hooks/useTreeEntries/useTreeEntries.spec.js +0 -49
- package/js/hooks/useTreeEntries/useTreeEntries.spec.js.map +0 -1
- package/js/legacy/Picker.gql-fragments.js +0 -29
- package/js/legacy/Picker.gql-fragments.js.map +0 -1
- package/js/legacy/Picker.js +0 -396
- package/js/legacy/Picker.js.map +0 -1
- /package/{esm → dist/esm}/fragments/encodeName.js +0 -0
- /package/{esm → dist/esm}/hooks/useDeepCompareMemo/useDeepCompareMemo.js +0 -0
- /package/{js → dist/js}/fragments/encodeName.js +0 -0
- /package/{js → dist/js}/fragments/index.js +0 -0
- /package/{js → dist/js}/hooks/index.js +0 -0
- /package/{js → dist/js}/hooks/useContentPreview/index.js +0 -0
- /package/{js → dist/js}/hooks/useDeepCompareMemo/index.js +0 -0
- /package/{js → dist/js}/hooks/useNodeChecks/index.js +0 -0
- /package/{js → dist/js}/hooks/useNodeInfo/index.js +0 -0
- /package/{js → dist/js}/hooks/useSchemaFields/index.js +0 -0
- /package/{js → dist/js}/hooks/useSiteInfo/index.js +0 -0
- /package/{js → dist/js}/hooks/useTreeEntries/index.js +0 -0
- /package/{js → dist/js}/index.js +0 -0
- /package/{js → dist/js}/legacy/index.js +0 -0
- /package/{esm → dist/types}/fragments/index.d.ts +0 -0
- /package/{esm → dist/types}/hooks/index.d.ts +0 -0
- /package/{esm → dist/types}/hooks/useContentPreview/index.d.ts +0 -0
- /package/{esm → dist/types}/hooks/useDeepCompareMemo/index.d.ts +0 -0
- /package/{esm → dist/types}/hooks/useNodeChecks/index.d.ts +0 -0
- /package/{esm → dist/types}/hooks/useNodeInfo/index.d.ts +0 -0
- /package/{esm → dist/types}/hooks/useSchemaFields/index.d.ts +0 -0
- /package/{esm → dist/types}/hooks/useSiteInfo/index.d.ts +0 -0
- /package/{esm → dist/types}/hooks/useTreeEntries/index.d.ts +0 -0
- /package/{esm → dist/types}/index.d.ts +0 -0
- /package/{esm → dist/types}/legacy/index.d.ts +0 -0
|
@@ -1,453 +0,0 @@
|
|
|
1
|
-
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
2
|
-
function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return exports; }; var exports = {}, Op = Object.prototype, hasOwn = Op.hasOwnProperty, defineProperty = Object.defineProperty || function (obj, key, desc) { obj[key] = desc.value; }, $Symbol = "function" == typeof Symbol ? Symbol : {}, iteratorSymbol = $Symbol.iterator || "@@iterator", asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator", toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag"; function define(obj, key, value) { return Object.defineProperty(obj, key, { value: value, enumerable: !0, configurable: !0, writable: !0 }), obj[key]; } try { define({}, ""); } catch (err) { define = function define(obj, key, value) { return obj[key] = value; }; } function wrap(innerFn, outerFn, self, tryLocsList) { var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator, generator = Object.create(protoGenerator.prototype), context = new Context(tryLocsList || []); return defineProperty(generator, "_invoke", { value: makeInvokeMethod(innerFn, self, context) }), generator; } function tryCatch(fn, obj, arg) { try { return { type: "normal", arg: fn.call(obj, arg) }; } catch (err) { return { type: "throw", arg: err }; } } exports.wrap = wrap; var ContinueSentinel = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var IteratorPrototype = {}; define(IteratorPrototype, iteratorSymbol, function () { return this; }); var getProto = Object.getPrototypeOf, NativeIteratorPrototype = getProto && getProto(getProto(values([]))); NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype); var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype); function defineIteratorMethods(prototype) { ["next", "throw", "return"].forEach(function (method) { define(prototype, method, function (arg) { return this._invoke(method, arg); }); }); } function AsyncIterator(generator, PromiseImpl) { function invoke(method, arg, resolve, reject) { var record = tryCatch(generator[method], generator, arg); if ("throw" !== record.type) { var result = record.arg, value = result.value; return value && "object" == _typeof(value) && hasOwn.call(value, "__await") ? PromiseImpl.resolve(value.__await).then(function (value) { invoke("next", value, resolve, reject); }, function (err) { invoke("throw", err, resolve, reject); }) : PromiseImpl.resolve(value).then(function (unwrapped) { result.value = unwrapped, resolve(result); }, function (error) { return invoke("throw", error, resolve, reject); }); } reject(record.arg); } var previousPromise; defineProperty(this, "_invoke", { value: function value(method, arg) { function callInvokeWithMethodAndArg() { return new PromiseImpl(function (resolve, reject) { invoke(method, arg, resolve, reject); }); } return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(innerFn, self, context) { var state = "suspendedStart"; return function (method, arg) { if ("executing" === state) throw new Error("Generator is already running"); if ("completed" === state) { if ("throw" === method) throw arg; return doneResult(); } for (context.method = method, context.arg = arg;;) { var delegate = context.delegate; if (delegate) { var delegateResult = maybeInvokeDelegate(delegate, context); if (delegateResult) { if (delegateResult === ContinueSentinel) continue; return delegateResult; } } if ("next" === context.method) context.sent = context._sent = context.arg;else if ("throw" === context.method) { if ("suspendedStart" === state) throw state = "completed", context.arg; context.dispatchException(context.arg); } else "return" === context.method && context.abrupt("return", context.arg); state = "executing"; var record = tryCatch(innerFn, self, context); if ("normal" === record.type) { if (state = context.done ? "completed" : "suspendedYield", record.arg === ContinueSentinel) continue; return { value: record.arg, done: context.done }; } "throw" === record.type && (state = "completed", context.method = "throw", context.arg = record.arg); } }; } function maybeInvokeDelegate(delegate, context) { var methodName = context.method, method = delegate.iterator[methodName]; if (undefined === method) return context.delegate = null, "throw" === methodName && delegate.iterator["return"] && (context.method = "return", context.arg = undefined, maybeInvokeDelegate(delegate, context), "throw" === context.method) || "return" !== methodName && (context.method = "throw", context.arg = new TypeError("The iterator does not provide a '" + methodName + "' method")), ContinueSentinel; var record = tryCatch(method, delegate.iterator, context.arg); if ("throw" === record.type) return context.method = "throw", context.arg = record.arg, context.delegate = null, ContinueSentinel; var info = record.arg; return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, "return" !== context.method && (context.method = "next", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = "throw", context.arg = new TypeError("iterator result is not an object"), context.delegate = null, ContinueSentinel); } function pushTryEntry(locs) { var entry = { tryLoc: locs[0] }; 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry); } function resetTryEntry(entry) { var record = entry.completion || {}; record.type = "normal", delete record.arg, entry.completion = record; } function Context(tryLocsList) { this.tryEntries = [{ tryLoc: "root" }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0); } function values(iterable) { if (iterable) { var iteratorMethod = iterable[iteratorSymbol]; if (iteratorMethod) return iteratorMethod.call(iterable); if ("function" == typeof iterable.next) return iterable; if (!isNaN(iterable.length)) { var i = -1, next = function next() { for (; ++i < iterable.length;) if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next; return next.value = undefined, next.done = !0, next; }; return next.next = next; } } return { next: doneResult }; } function doneResult() { return { value: undefined, done: !0 }; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), defineProperty(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, "GeneratorFunction"), exports.isGeneratorFunction = function (genFun) { var ctor = "function" == typeof genFun && genFun.constructor; return !!ctor && (ctor === GeneratorFunction || "GeneratorFunction" === (ctor.displayName || ctor.name)); }, exports.mark = function (genFun) { return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, "GeneratorFunction")), genFun.prototype = Object.create(Gp), genFun; }, exports.awrap = function (arg) { return { __await: arg }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () { return this; }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) { void 0 === PromiseImpl && (PromiseImpl = Promise); var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl); return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) { return result.done ? result.value : iter.next(); }); }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, "Generator"), define(Gp, iteratorSymbol, function () { return this; }), define(Gp, "toString", function () { return "[object Generator]"; }), exports.keys = function (val) { var object = Object(val), keys = []; for (var key in object) keys.push(key); return keys.reverse(), function next() { for (; keys.length;) { var key = keys.pop(); if (key in object) return next.value = key, next.done = !1, next; } return next.done = !0, next; }; }, exports.values = values, Context.prototype = { constructor: Context, reset: function reset(skipTempReset) { if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = "next", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) "t" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined); }, stop: function stop() { this.done = !0; var rootRecord = this.tryEntries[0].completion; if ("throw" === rootRecord.type) throw rootRecord.arg; return this.rval; }, dispatchException: function dispatchException(exception) { if (this.done) throw exception; var context = this; function handle(loc, caught) { return record.type = "throw", record.arg = exception, context.next = loc, caught && (context.method = "next", context.arg = undefined), !!caught; } for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i], record = entry.completion; if ("root" === entry.tryLoc) return handle("end"); if (entry.tryLoc <= this.prev) { var hasCatch = hasOwn.call(entry, "catchLoc"), hasFinally = hasOwn.call(entry, "finallyLoc"); if (hasCatch && hasFinally) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } else if (hasCatch) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); } else { if (!hasFinally) throw new Error("try statement without catch or finally"); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } } } }, abrupt: function abrupt(type, arg) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) { var finallyEntry = entry; break; } } finallyEntry && ("break" === type || "continue" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null); var record = finallyEntry ? finallyEntry.completion : {}; return record.type = type, record.arg = arg, finallyEntry ? (this.method = "next", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record); }, complete: function complete(record, afterLoc) { if ("throw" === record.type) throw record.arg; return "break" === record.type || "continue" === record.type ? this.next = record.arg : "return" === record.type ? (this.rval = this.arg = record.arg, this.method = "return", this.next = "end") : "normal" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel; }, finish: function finish(finallyLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel; } }, "catch": function _catch(tryLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc === tryLoc) { var record = entry.completion; if ("throw" === record.type) { var thrown = record.arg; resetTryEntry(entry); } return thrown; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(iterable, resultName, nextLoc) { return this.delegate = { iterator: values(iterable), resultName: resultName, nextLoc: nextLoc }, "next" === this.method && (this.arg = undefined), ContinueSentinel; } }, exports; }
|
|
3
|
-
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
|
|
4
|
-
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
|
5
|
-
import { useNodeInfo } from './index.js';
|
|
6
|
-
import { getQuery } from './useNodeInfo.gql-queries';
|
|
7
|
-
import React from 'react';
|
|
8
|
-
var wait = function wait() {
|
|
9
|
-
var time = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1000;
|
|
10
|
-
return new Promise(function (resolve) {
|
|
11
|
-
setTimeout(resolve, time);
|
|
12
|
-
});
|
|
13
|
-
};
|
|
14
|
-
jest.mock('react-apollo', function () {
|
|
15
|
-
var data = {
|
|
16
|
-
data: {
|
|
17
|
-
jcr: {
|
|
18
|
-
nodeByPath: {
|
|
19
|
-
resourceChildren: {
|
|
20
|
-
nodes: []
|
|
21
|
-
},
|
|
22
|
-
site: {}
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
},
|
|
26
|
-
loading: false,
|
|
27
|
-
error: null
|
|
28
|
-
};
|
|
29
|
-
return {
|
|
30
|
-
useQuery: jest.fn(function () {
|
|
31
|
-
return data;
|
|
32
|
-
}),
|
|
33
|
-
useApolloClient: jest.fn(function () {
|
|
34
|
-
return {
|
|
35
|
-
query: function query() {
|
|
36
|
-
return {
|
|
37
|
-
then: function then(inputFcn) {
|
|
38
|
-
return inputFcn(data);
|
|
39
|
-
}
|
|
40
|
-
};
|
|
41
|
-
},
|
|
42
|
-
watchQuery: function watchQuery() {
|
|
43
|
-
return {
|
|
44
|
-
subscribe: function subscribe(inputFcn) {
|
|
45
|
-
inputFcn(data);
|
|
46
|
-
return {
|
|
47
|
-
unsubscribe: function unsubscribe() {}
|
|
48
|
-
};
|
|
49
|
-
}
|
|
50
|
-
};
|
|
51
|
-
}
|
|
52
|
-
};
|
|
53
|
-
})
|
|
54
|
-
};
|
|
55
|
-
});
|
|
56
|
-
jest.mock('react', function () {
|
|
57
|
-
var current;
|
|
58
|
-
return {
|
|
59
|
-
useRef: function useRef(v) {
|
|
60
|
-
if (!current) {
|
|
61
|
-
current = v;
|
|
62
|
-
}
|
|
63
|
-
return {
|
|
64
|
-
current: current
|
|
65
|
-
};
|
|
66
|
-
},
|
|
67
|
-
useMemo: function useMemo(v) {
|
|
68
|
-
return v();
|
|
69
|
-
},
|
|
70
|
-
useState: function useState(v) {
|
|
71
|
-
return v;
|
|
72
|
-
},
|
|
73
|
-
useEffect: function useEffect(v) {
|
|
74
|
-
return v();
|
|
75
|
-
}
|
|
76
|
-
};
|
|
77
|
-
});
|
|
78
|
-
jest.mock('./useNodeInfo.gql-queries', function () {
|
|
79
|
-
var original = jest.requireActual('./useNodeInfo.gql-queries');
|
|
80
|
-
return {
|
|
81
|
-
getQuery: jest.fn(original.getQuery),
|
|
82
|
-
validOptions: original.validOptions
|
|
83
|
-
};
|
|
84
|
-
});
|
|
85
|
-
describe('useNodeInfo', function () {
|
|
86
|
-
beforeEach(function () {
|
|
87
|
-
jest.restoreAllMocks();
|
|
88
|
-
});
|
|
89
|
-
it('should not do a query with invalid parameters', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
90
|
-
var setStateMock, useStateMock, mock, result;
|
|
91
|
-
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
92
|
-
while (1) switch (_context.prev = _context.next) {
|
|
93
|
-
case 0:
|
|
94
|
-
setStateMock = jest.fn();
|
|
95
|
-
useStateMock = function useStateMock(useState) {
|
|
96
|
-
return [useState, setStateMock];
|
|
97
|
-
};
|
|
98
|
-
jest.spyOn(React, 'useState').mockImplementation(useStateMock);
|
|
99
|
-
useNodeInfo({
|
|
100
|
-
invalidProp: 'xx',
|
|
101
|
-
language: 'en'
|
|
102
|
-
});
|
|
103
|
-
_context.next = 6;
|
|
104
|
-
return wait();
|
|
105
|
-
case 6:
|
|
106
|
-
expect(getQuery).toHaveBeenCalled();
|
|
107
|
-
mock = getQuery.mock;
|
|
108
|
-
result = mock.results[mock.results.length - 1];
|
|
109
|
-
expect(result.value.skip).toBeTruthy();
|
|
110
|
-
case 10:
|
|
111
|
-
case "end":
|
|
112
|
-
return _context.stop();
|
|
113
|
-
}
|
|
114
|
-
}, _callee);
|
|
115
|
-
})));
|
|
116
|
-
it('should request a primaryNodeType', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
|
|
117
|
-
var setStateMock, useStateMock, mock, result, variables;
|
|
118
|
-
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
119
|
-
while (1) switch (_context2.prev = _context2.next) {
|
|
120
|
-
case 0:
|
|
121
|
-
setStateMock = jest.fn();
|
|
122
|
-
useStateMock = function useStateMock(useState) {
|
|
123
|
-
return [useState, setStateMock];
|
|
124
|
-
};
|
|
125
|
-
jest.spyOn(React, 'useState').mockImplementation(useStateMock);
|
|
126
|
-
useNodeInfo({
|
|
127
|
-
path: '/test',
|
|
128
|
-
language: 'en',
|
|
129
|
-
displayLanguage: 'en'
|
|
130
|
-
}, {
|
|
131
|
-
getPrimaryNodeType: true
|
|
132
|
-
});
|
|
133
|
-
_context2.next = 6;
|
|
134
|
-
return wait();
|
|
135
|
-
case 6:
|
|
136
|
-
expect(getQuery).toHaveBeenCalled();
|
|
137
|
-
mock = getQuery.mock;
|
|
138
|
-
result = mock.results[mock.results.length - 1];
|
|
139
|
-
variables = result.value.generatedVariables;
|
|
140
|
-
result.value.query.definitions[0].variableDefinitions.map(function (v) {
|
|
141
|
-
return v.variable.name.value;
|
|
142
|
-
}).forEach(function (v) {
|
|
143
|
-
return expect(Object.keys(variables)).toContain(v);
|
|
144
|
-
});
|
|
145
|
-
expect(result.value.query.definitions.map(function (d) {
|
|
146
|
-
return d.name.value;
|
|
147
|
-
})).toContain('NodeInfoPrimaryNodeType');
|
|
148
|
-
case 12:
|
|
149
|
-
case "end":
|
|
150
|
-
return _context2.stop();
|
|
151
|
-
}
|
|
152
|
-
}, _callee2);
|
|
153
|
-
})));
|
|
154
|
-
it('should request permissions', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {
|
|
155
|
-
var setStateMock, useStateMock, mock, result, variables;
|
|
156
|
-
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
|
|
157
|
-
while (1) switch (_context3.prev = _context3.next) {
|
|
158
|
-
case 0:
|
|
159
|
-
setStateMock = jest.fn();
|
|
160
|
-
useStateMock = function useStateMock(useState) {
|
|
161
|
-
return [useState, setStateMock];
|
|
162
|
-
};
|
|
163
|
-
jest.spyOn(React, 'useState').mockImplementation(useStateMock);
|
|
164
|
-
useNodeInfo({
|
|
165
|
-
path: '/test',
|
|
166
|
-
language: 'en'
|
|
167
|
-
}, {
|
|
168
|
-
getPermissions: ['canRead', 'canWrite']
|
|
169
|
-
});
|
|
170
|
-
_context3.next = 6;
|
|
171
|
-
return wait();
|
|
172
|
-
case 6:
|
|
173
|
-
expect(getQuery).toHaveBeenCalled();
|
|
174
|
-
mock = getQuery.mock;
|
|
175
|
-
result = mock.results[mock.results.length - 1];
|
|
176
|
-
variables = result.value.generatedVariables;
|
|
177
|
-
result.value.query.definitions[0].variableDefinitions.map(function (v) {
|
|
178
|
-
return v.variable.name.value;
|
|
179
|
-
}).forEach(function (v) {
|
|
180
|
-
return expect(Object.keys(variables)).toContain(v);
|
|
181
|
-
});
|
|
182
|
-
expect(result.value.query.definitions.map(function (d) {
|
|
183
|
-
return d.name.value;
|
|
184
|
-
})).toContain('NodePermission_permission_encoded_Y2FuUmVhZA');
|
|
185
|
-
expect(result.value.query.definitions.find(function (d) {
|
|
186
|
-
return d.name.value === 'NodePermission_permission_encoded_Y2FuUmVhZA';
|
|
187
|
-
}).selectionSet.selections.map(function (m) {
|
|
188
|
-
return m.alias.value;
|
|
189
|
-
})).toContain('permission_encoded_Y2FuUmVhZA');
|
|
190
|
-
expect(result.value.query.definitions.find(function (d) {
|
|
191
|
-
return d.name.value === 'NodePermission_permission_encoded_Y2FuV3JpdGU';
|
|
192
|
-
}).selectionSet.selections.map(function (m) {
|
|
193
|
-
return m.alias.value;
|
|
194
|
-
})).toContain('permission_encoded_Y2FuV3JpdGU');
|
|
195
|
-
case 14:
|
|
196
|
-
case "end":
|
|
197
|
-
return _context3.stop();
|
|
198
|
-
}
|
|
199
|
-
}, _callee3);
|
|
200
|
-
})));
|
|
201
|
-
it('should throw an error if a variable is missing', function () {
|
|
202
|
-
expect(function () {
|
|
203
|
-
return useNodeInfo({
|
|
204
|
-
path: '/test'
|
|
205
|
-
}, {
|
|
206
|
-
getDisplayName: true
|
|
207
|
-
});
|
|
208
|
-
}).toThrow();
|
|
209
|
-
});
|
|
210
|
-
it('should request site permissions', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4() {
|
|
211
|
-
var setStateMock, useStateMock, mock, result, variables;
|
|
212
|
-
return _regeneratorRuntime().wrap(function _callee4$(_context4) {
|
|
213
|
-
while (1) switch (_context4.prev = _context4.next) {
|
|
214
|
-
case 0:
|
|
215
|
-
setStateMock = jest.fn();
|
|
216
|
-
useStateMock = function useStateMock(useState) {
|
|
217
|
-
return [useState, setStateMock];
|
|
218
|
-
};
|
|
219
|
-
jest.spyOn(React, 'useState').mockImplementation(useStateMock);
|
|
220
|
-
useNodeInfo({
|
|
221
|
-
path: '/test',
|
|
222
|
-
language: 'en'
|
|
223
|
-
}, {
|
|
224
|
-
getSitePermissions: ['canRead', 'canWrite']
|
|
225
|
-
});
|
|
226
|
-
_context4.next = 6;
|
|
227
|
-
return wait();
|
|
228
|
-
case 6:
|
|
229
|
-
expect(getQuery).toHaveBeenCalled();
|
|
230
|
-
mock = getQuery.mock;
|
|
231
|
-
result = mock.results[mock.results.length - 1];
|
|
232
|
-
variables = result.value.generatedVariables;
|
|
233
|
-
result.value.query.definitions[0].variableDefinitions.map(function (v) {
|
|
234
|
-
return v.variable.name.value;
|
|
235
|
-
}).forEach(function (v) {
|
|
236
|
-
return expect(Object.keys(variables)).toContain(v);
|
|
237
|
-
});
|
|
238
|
-
expect(result.value.query.definitions.map(function (d) {
|
|
239
|
-
return d.name.value;
|
|
240
|
-
})).toContain('SiteNodePermission_permission_encoded_Y2FuUmVhZA');
|
|
241
|
-
expect(result.value.query.definitions.find(function (d) {
|
|
242
|
-
return d.name.value === 'SiteNodePermission_permission_encoded_Y2FuUmVhZA';
|
|
243
|
-
}).selectionSet.selections[0].name.value).toBe('site');
|
|
244
|
-
expect(result.value.query.definitions.find(function (d) {
|
|
245
|
-
return d.name.value === 'SiteNodePermission_permission_encoded_Y2FuUmVhZA';
|
|
246
|
-
}).selectionSet.selections[0].selectionSet.selections[1].alias.value).toBe('permission_encoded_Y2FuUmVhZA');
|
|
247
|
-
expect(result.value.query.definitions.find(function (d) {
|
|
248
|
-
return d.name.value === 'SiteNodePermission_permission_encoded_Y2FuV3JpdGU';
|
|
249
|
-
}).selectionSet.selections[0].name.value).toBe('site');
|
|
250
|
-
expect(result.value.query.definitions.find(function (d) {
|
|
251
|
-
return d.name.value === 'SiteNodePermission_permission_encoded_Y2FuV3JpdGU';
|
|
252
|
-
}).selectionSet.selections[0].selectionSet.selections[1].alias.value).toBe('permission_encoded_Y2FuV3JpdGU');
|
|
253
|
-
case 16:
|
|
254
|
-
case "end":
|
|
255
|
-
return _context4.stop();
|
|
256
|
-
}
|
|
257
|
-
}, _callee4);
|
|
258
|
-
})));
|
|
259
|
-
it('should request isNodeTypes', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5() {
|
|
260
|
-
var setStateMock, useStateMock, mock, result, variables;
|
|
261
|
-
return _regeneratorRuntime().wrap(function _callee5$(_context5) {
|
|
262
|
-
while (1) switch (_context5.prev = _context5.next) {
|
|
263
|
-
case 0:
|
|
264
|
-
setStateMock = jest.fn();
|
|
265
|
-
useStateMock = function useStateMock(useState) {
|
|
266
|
-
return [useState, setStateMock];
|
|
267
|
-
};
|
|
268
|
-
jest.spyOn(React, 'useState').mockImplementation(useStateMock);
|
|
269
|
-
useNodeInfo({
|
|
270
|
-
path: '/test',
|
|
271
|
-
language: 'en'
|
|
272
|
-
}, {
|
|
273
|
-
getIsNodeTypes: ['jnt:typeA', 'jnt:typeB']
|
|
274
|
-
});
|
|
275
|
-
_context5.next = 6;
|
|
276
|
-
return wait();
|
|
277
|
-
case 6:
|
|
278
|
-
expect(getQuery).toHaveBeenCalled();
|
|
279
|
-
mock = getQuery.mock;
|
|
280
|
-
result = mock.results[mock.results.length - 1];
|
|
281
|
-
variables = result.value.generatedVariables;
|
|
282
|
-
result.value.query.definitions[0].variableDefinitions.map(function (v) {
|
|
283
|
-
return v.variable.name.value;
|
|
284
|
-
}).forEach(function (v) {
|
|
285
|
-
return expect(Object.keys(variables)).toContain(v);
|
|
286
|
-
});
|
|
287
|
-
expect(result.value.query.definitions.map(function (d) {
|
|
288
|
-
return d.name.value;
|
|
289
|
-
})).toContain('NodeType_nodeType_encoded_am50OnR5cGVB');
|
|
290
|
-
expect(result.value.query.definitions.find(function (d) {
|
|
291
|
-
return d.name.value === 'NodeType_nodeType_encoded_am50OnR5cGVB';
|
|
292
|
-
}).selectionSet.selections.map(function (m) {
|
|
293
|
-
return m.alias.value;
|
|
294
|
-
})).toContain('nodeType_encoded_am50OnR5cGVB');
|
|
295
|
-
expect(result.value.query.definitions.find(function (d) {
|
|
296
|
-
return d.name.value === 'NodeType_nodeType_encoded_am50OnR5cGVC';
|
|
297
|
-
}).selectionSet.selections.map(function (m) {
|
|
298
|
-
return m.alias.value;
|
|
299
|
-
})).toContain('nodeType_encoded_am50OnR5cGVC');
|
|
300
|
-
case 14:
|
|
301
|
-
case "end":
|
|
302
|
-
return _context5.stop();
|
|
303
|
-
}
|
|
304
|
-
}, _callee5);
|
|
305
|
-
})));
|
|
306
|
-
it('should request properties', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee6() {
|
|
307
|
-
var setStateMock, useStateMock, mock, result, variables;
|
|
308
|
-
return _regeneratorRuntime().wrap(function _callee6$(_context6) {
|
|
309
|
-
while (1) switch (_context6.prev = _context6.next) {
|
|
310
|
-
case 0:
|
|
311
|
-
setStateMock = jest.fn();
|
|
312
|
-
useStateMock = function useStateMock(useState) {
|
|
313
|
-
return [useState, setStateMock];
|
|
314
|
-
};
|
|
315
|
-
jest.spyOn(React, 'useState').mockImplementation(useStateMock);
|
|
316
|
-
useNodeInfo({
|
|
317
|
-
path: '/test',
|
|
318
|
-
language: 'en'
|
|
319
|
-
}, {
|
|
320
|
-
getProperties: ['propA', 'propB']
|
|
321
|
-
});
|
|
322
|
-
_context6.next = 6;
|
|
323
|
-
return wait();
|
|
324
|
-
case 6:
|
|
325
|
-
expect(getQuery).toHaveBeenCalled();
|
|
326
|
-
mock = getQuery.mock;
|
|
327
|
-
result = mock.results[mock.results.length - 1];
|
|
328
|
-
variables = result.value.generatedVariables;
|
|
329
|
-
result.value.query.definitions[0].variableDefinitions.map(function (v) {
|
|
330
|
-
return v.variable.name.value;
|
|
331
|
-
}).forEach(function (v) {
|
|
332
|
-
return expect(Object.keys(variables)).toContain(v);
|
|
333
|
-
});
|
|
334
|
-
expect(result.value.query.definitions.map(function (d) {
|
|
335
|
-
return d.name.value;
|
|
336
|
-
})).toContain('NodeProperties');
|
|
337
|
-
expect(result.value.query.definitions.find(function (d) {
|
|
338
|
-
return d.name.value === 'NodeProperties';
|
|
339
|
-
}).selectionSet.selections.map(function (m) {
|
|
340
|
-
return m.name.value;
|
|
341
|
-
})).toContain('properties');
|
|
342
|
-
case 13:
|
|
343
|
-
case "end":
|
|
344
|
-
return _context6.stop();
|
|
345
|
-
}
|
|
346
|
-
}, _callee6);
|
|
347
|
-
})));
|
|
348
|
-
it('should request all data', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee7() {
|
|
349
|
-
var setStateMock, useStateMock, mock, result, variables;
|
|
350
|
-
return _regeneratorRuntime().wrap(function _callee7$(_context7) {
|
|
351
|
-
while (1) switch (_context7.prev = _context7.next) {
|
|
352
|
-
case 0:
|
|
353
|
-
setStateMock = jest.fn();
|
|
354
|
-
useStateMock = function useStateMock(useState) {
|
|
355
|
-
return [useState, setStateMock];
|
|
356
|
-
};
|
|
357
|
-
jest.spyOn(React, 'useState').mockImplementation(useStateMock);
|
|
358
|
-
useNodeInfo({
|
|
359
|
-
path: '/test',
|
|
360
|
-
language: 'en',
|
|
361
|
-
displayLanguage: 'en'
|
|
362
|
-
}, {
|
|
363
|
-
getDisplayName: true,
|
|
364
|
-
getPrimaryNodeType: true,
|
|
365
|
-
getParent: true,
|
|
366
|
-
getAggregatedPublicationInfo: true,
|
|
367
|
-
getOperationSupport: true,
|
|
368
|
-
getPermissions: ['canRead', 'canWrite'],
|
|
369
|
-
getIsNodeTypes: ['jnt:typeA', 'jnt:typeB'],
|
|
370
|
-
getProperties: ['propA', 'propB'],
|
|
371
|
-
getSiteInstalledModules: true,
|
|
372
|
-
getSiteLanguages: true,
|
|
373
|
-
getDisplayableNodePath: true,
|
|
374
|
-
getLockInfo: true,
|
|
375
|
-
getContributeTypesRestrictions: true,
|
|
376
|
-
getSubNodesCount: {
|
|
377
|
-
types: ['jnt:file']
|
|
378
|
-
},
|
|
379
|
-
getMimeType: true
|
|
380
|
-
});
|
|
381
|
-
_context7.next = 6;
|
|
382
|
-
return wait();
|
|
383
|
-
case 6:
|
|
384
|
-
expect(getQuery).toHaveBeenCalled();
|
|
385
|
-
mock = getQuery.mock;
|
|
386
|
-
result = mock.results[mock.results.length - 1];
|
|
387
|
-
variables = result.value.generatedVariables;
|
|
388
|
-
result.value.query.definitions[0].variableDefinitions.map(function (v) {
|
|
389
|
-
return v.variable.name.value;
|
|
390
|
-
}).forEach(function (v) {
|
|
391
|
-
return expect(Object.keys(variables)).toContain(v);
|
|
392
|
-
});
|
|
393
|
-
case 11:
|
|
394
|
-
case "end":
|
|
395
|
-
return _context7.stop();
|
|
396
|
-
}
|
|
397
|
-
}, _callee7);
|
|
398
|
-
})));
|
|
399
|
-
it('should trigger a graphql request with path', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee8() {
|
|
400
|
-
var setStateMock, useStateMock;
|
|
401
|
-
return _regeneratorRuntime().wrap(function _callee8$(_context8) {
|
|
402
|
-
while (1) switch (_context8.prev = _context8.next) {
|
|
403
|
-
case 0:
|
|
404
|
-
setStateMock = jest.fn();
|
|
405
|
-
useStateMock = function useStateMock(useState) {
|
|
406
|
-
return [useState, setStateMock];
|
|
407
|
-
};
|
|
408
|
-
jest.spyOn(React, 'useState').mockImplementation(useStateMock);
|
|
409
|
-
useNodeInfo({
|
|
410
|
-
path: '/test',
|
|
411
|
-
language: 'en'
|
|
412
|
-
});
|
|
413
|
-
_context8.next = 6;
|
|
414
|
-
return wait();
|
|
415
|
-
case 6:
|
|
416
|
-
expect(setStateMock.mock.calls[0][0].node).toBeDefined();
|
|
417
|
-
expect(setStateMock.mock.calls[0][0].variables).toBeDefined();
|
|
418
|
-
expect(setStateMock.mock.calls[0][0].variables.path).toBe('/test');
|
|
419
|
-
case 9:
|
|
420
|
-
case "end":
|
|
421
|
-
return _context8.stop();
|
|
422
|
-
}
|
|
423
|
-
}, _callee8);
|
|
424
|
-
})));
|
|
425
|
-
it('should trigger a graphql request with multiple paths', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee9() {
|
|
426
|
-
var setStateMock, useStateMock, paths;
|
|
427
|
-
return _regeneratorRuntime().wrap(function _callee9$(_context9) {
|
|
428
|
-
while (1) switch (_context9.prev = _context9.next) {
|
|
429
|
-
case 0:
|
|
430
|
-
setStateMock = jest.fn();
|
|
431
|
-
useStateMock = function useStateMock(useState) {
|
|
432
|
-
return [useState, setStateMock];
|
|
433
|
-
};
|
|
434
|
-
jest.spyOn(React, 'useState').mockImplementation(useStateMock);
|
|
435
|
-
paths = ['/test', '/test2'];
|
|
436
|
-
useNodeInfo({
|
|
437
|
-
paths: paths,
|
|
438
|
-
language: 'en'
|
|
439
|
-
});
|
|
440
|
-
_context9.next = 7;
|
|
441
|
-
return wait();
|
|
442
|
-
case 7:
|
|
443
|
-
expect(setStateMock.mock.calls[0][0].node).toBeDefined();
|
|
444
|
-
expect(setStateMock.mock.calls[0][0].variables).toBeDefined();
|
|
445
|
-
expect(setStateMock.mock.calls[0][0].variables.paths).toBe(paths);
|
|
446
|
-
case 10:
|
|
447
|
-
case "end":
|
|
448
|
-
return _context9.stop();
|
|
449
|
-
}
|
|
450
|
-
}, _callee9);
|
|
451
|
-
})));
|
|
452
|
-
});
|
|
453
|
-
//# sourceMappingURL=useNodeInfo.spec.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_regeneratorRuntime","exports","Op","Object","prototype","hasOwn","hasOwnProperty","defineProperty","obj","key","desc","value","$Symbol","Symbol","iteratorSymbol","iterator","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","enumerable","configurable","writable","err","wrap","innerFn","outerFn","self","tryLocsList","protoGenerator","Generator","generator","create","context","Context","makeInvokeMethod","tryCatch","fn","arg","type","call","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","defineIteratorMethods","forEach","method","_invoke","AsyncIterator","PromiseImpl","invoke","resolve","reject","record","result","_typeof","__await","then","unwrapped","error","previousPromise","callInvokeWithMethodAndArg","state","Error","doneResult","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","done","methodName","undefined","TypeError","info","resultName","next","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","iterable","iteratorMethod","isNaN","length","i","displayName","isGeneratorFunction","genFun","ctor","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","iter","keys","val","object","reverse","pop","skipTempReset","prev","charAt","slice","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","_catch","thrown","delegateYield","asyncGeneratorStep","gen","_next","_throw","_asyncToGenerator","args","arguments","apply","useNodeInfo","getQuery","React","wait","time","setTimeout","jest","mock","data","jcr","nodeByPath","resourceChildren","nodes","site","loading","useQuery","useApolloClient","query","inputFcn","watchQuery","subscribe","unsubscribe","current","useRef","v","useMemo","useState","useEffect","original","requireActual","validOptions","describe","beforeEach","restoreAllMocks","it","_callee","setStateMock","useStateMock","_callee$","_context","spyOn","mockImplementation","invalidProp","language","expect","toHaveBeenCalled","results","skip","toBeTruthy","_callee2","variables","_callee2$","_context2","path","displayLanguage","getPrimaryNodeType","generatedVariables","definitions","variableDefinitions","map","variable","toContain","d","_callee3","_callee3$","_context3","getPermissions","find","selectionSet","selections","m","alias","getDisplayName","toThrow","_callee4","_callee4$","_context4","getSitePermissions","toBe","_callee5","_callee5$","_context5","getIsNodeTypes","_callee6","_callee6$","_context6","getProperties","_callee7","_callee7$","_context7","getParent","getAggregatedPublicationInfo","getOperationSupport","getSiteInstalledModules","getSiteLanguages","getDisplayableNodePath","getLockInfo","getContributeTypesRestrictions","getSubNodesCount","types","getMimeType","_callee8","_callee8$","_context8","calls","node","toBeDefined","_callee9","paths","_callee9$","_context9"],"sources":["useNodeInfo.spec.js"],"sourcesContent":["import {useNodeInfo} from './index.js';\nimport {getQuery} from './useNodeInfo.gql-queries';\nimport React from 'react';\n\nconst wait = (time = 1000) => new Promise(resolve => {\n setTimeout(resolve, time);\n});\n\njest.mock('react-apollo', () => {\n const data = {\n data: {\n jcr: {\n nodeByPath: {\n resourceChildren: {\n nodes: []\n },\n site: {\n }\n }\n }\n },\n loading: false,\n error: null\n };\n\n return {\n useQuery: jest.fn(() => (data)),\n useApolloClient: jest.fn(() => ({\n query: () => ({\n then: inputFcn => inputFcn(data)\n }),\n watchQuery: () => ({\n subscribe(inputFcn) {\n inputFcn(data);\n return {\n unsubscribe() {}\n };\n }\n })\n }))\n };\n});\n\njest.mock('react', () => {\n let current;\n\n return ({\n useRef(v) {\n if (!current) {\n current = v;\n }\n\n return ({\n current\n });\n },\n useMemo: v => v(),\n useState: v => v,\n useEffect: v => v()\n });\n});\n\njest.mock('./useNodeInfo.gql-queries', () => {\n const original = jest.requireActual('./useNodeInfo.gql-queries');\n return {\n getQuery: jest.fn(original.getQuery),\n validOptions: original.validOptions\n };\n});\n\ndescribe('useNodeInfo', () => {\n beforeEach(() => {\n jest.restoreAllMocks();\n });\n\n it('should not do a query with invalid parameters', async () => {\n const setStateMock = jest.fn();\n const useStateMock = useState => [useState, setStateMock];\n jest.spyOn(React, 'useState').mockImplementation(useStateMock);\n useNodeInfo({invalidProp: 'xx', language: 'en'});\n\n await wait();\n\n expect(getQuery).toHaveBeenCalled();\n const {mock} = getQuery;\n const result = mock.results[mock.results.length - 1];\n expect(result.value.skip).toBeTruthy();\n });\n\n it('should request a primaryNodeType', async () => {\n const setStateMock = jest.fn();\n const useStateMock = useState => [useState, setStateMock];\n jest.spyOn(React, 'useState').mockImplementation(useStateMock);\n useNodeInfo({path: '/test', language: 'en', displayLanguage: 'en'}, {getPrimaryNodeType: true});\n\n await wait();\n\n expect(getQuery).toHaveBeenCalled();\n const {mock} = getQuery;\n const result = mock.results[mock.results.length - 1];\n const variables = result.value.generatedVariables;\n result.value.query.definitions[0].variableDefinitions.map(v => v.variable.name.value).forEach(v => expect(Object.keys(variables)).toContain(v));\n\n expect(result.value.query.definitions.map(d => d.name.value)).toContain('NodeInfoPrimaryNodeType');\n });\n\n it('should request permissions', async () => {\n const setStateMock = jest.fn();\n const useStateMock = useState => [useState, setStateMock];\n jest.spyOn(React, 'useState').mockImplementation(useStateMock);\n useNodeInfo({path: '/test', language: 'en'}, {getPermissions: ['canRead', 'canWrite']});\n\n await wait();\n\n expect(getQuery).toHaveBeenCalled();\n const {mock} = getQuery;\n const result = mock.results[mock.results.length - 1];\n const variables = result.value.generatedVariables;\n result.value.query.definitions[0].variableDefinitions.map(v => v.variable.name.value).forEach(v => expect(Object.keys(variables)).toContain(v));\n\n expect(result.value.query.definitions.map(d => d.name.value)).toContain('NodePermission_permission_encoded_Y2FuUmVhZA');\n expect(result.value.query.definitions.find(d => d.name.value === 'NodePermission_permission_encoded_Y2FuUmVhZA').selectionSet.selections.map(m => m.alias.value)).toContain('permission_encoded_Y2FuUmVhZA');\n expect(result.value.query.definitions.find(d => d.name.value === 'NodePermission_permission_encoded_Y2FuV3JpdGU').selectionSet.selections.map(m => m.alias.value)).toContain('permission_encoded_Y2FuV3JpdGU');\n });\n\n it('should throw an error if a variable is missing', () => {\n expect(() => useNodeInfo({path: '/test'}, {getDisplayName: true})).toThrow();\n });\n\n it('should request site permissions', async () => {\n const setStateMock = jest.fn();\n const useStateMock = useState => [useState, setStateMock];\n jest.spyOn(React, 'useState').mockImplementation(useStateMock);\n useNodeInfo({path: '/test', language: 'en'}, {getSitePermissions: ['canRead', 'canWrite']});\n\n await wait();\n\n expect(getQuery).toHaveBeenCalled();\n const {mock} = getQuery;\n const result = mock.results[mock.results.length - 1];\n const variables = result.value.generatedVariables;\n result.value.query.definitions[0].variableDefinitions.map(v => v.variable.name.value).forEach(v => expect(Object.keys(variables)).toContain(v));\n\n expect(result.value.query.definitions.map(d => d.name.value)).toContain('SiteNodePermission_permission_encoded_Y2FuUmVhZA');\n expect(result.value.query.definitions.find(d => d.name.value === 'SiteNodePermission_permission_encoded_Y2FuUmVhZA').selectionSet.selections[0].name.value).toBe('site');\n expect(result.value.query.definitions.find(d => d.name.value === 'SiteNodePermission_permission_encoded_Y2FuUmVhZA').selectionSet.selections[0].selectionSet.selections[1].alias.value).toBe('permission_encoded_Y2FuUmVhZA');\n expect(result.value.query.definitions.find(d => d.name.value === 'SiteNodePermission_permission_encoded_Y2FuV3JpdGU').selectionSet.selections[0].name.value).toBe('site');\n expect(result.value.query.definitions.find(d => d.name.value === 'SiteNodePermission_permission_encoded_Y2FuV3JpdGU').selectionSet.selections[0].selectionSet.selections[1].alias.value).toBe('permission_encoded_Y2FuV3JpdGU');\n });\n\n it('should request isNodeTypes', async () => {\n const setStateMock = jest.fn();\n const useStateMock = useState => [useState, setStateMock];\n jest.spyOn(React, 'useState').mockImplementation(useStateMock);\n useNodeInfo({path: '/test', language: 'en'}, {getIsNodeTypes: ['jnt:typeA', 'jnt:typeB']});\n\n await wait();\n\n expect(getQuery).toHaveBeenCalled();\n const {mock} = getQuery;\n const result = mock.results[mock.results.length - 1];\n const variables = result.value.generatedVariables;\n result.value.query.definitions[0].variableDefinitions.map(v => v.variable.name.value).forEach(v => expect(Object.keys(variables)).toContain(v));\n\n expect(result.value.query.definitions.map(d => d.name.value)).toContain('NodeType_nodeType_encoded_am50OnR5cGVB');\n expect(result.value.query.definitions.find(d => d.name.value === 'NodeType_nodeType_encoded_am50OnR5cGVB').selectionSet.selections.map(m => m.alias.value)).toContain('nodeType_encoded_am50OnR5cGVB');\n expect(result.value.query.definitions.find(d => d.name.value === 'NodeType_nodeType_encoded_am50OnR5cGVC').selectionSet.selections.map(m => m.alias.value)).toContain('nodeType_encoded_am50OnR5cGVC');\n });\n\n it('should request properties', async () => {\n const setStateMock = jest.fn();\n const useStateMock = useState => [useState, setStateMock];\n jest.spyOn(React, 'useState').mockImplementation(useStateMock);\n useNodeInfo({path: '/test', language: 'en'}, {getProperties: ['propA', 'propB']});\n\n await wait();\n\n expect(getQuery).toHaveBeenCalled();\n const {mock} = getQuery;\n const result = mock.results[mock.results.length - 1];\n const variables = result.value.generatedVariables;\n result.value.query.definitions[0].variableDefinitions.map(v => v.variable.name.value).forEach(v => expect(Object.keys(variables)).toContain(v));\n\n expect(result.value.query.definitions.map(d => d.name.value)).toContain('NodeProperties');\n expect(result.value.query.definitions.find(d => d.name.value === 'NodeProperties').selectionSet.selections.map(m => m.name.value)).toContain('properties');\n });\n\n it('should request all data', async () => {\n const setStateMock = jest.fn();\n const useStateMock = useState => [useState, setStateMock];\n jest.spyOn(React, 'useState').mockImplementation(useStateMock);\n useNodeInfo({path: '/test', language: 'en', displayLanguage: 'en'}, {\n getDisplayName: true,\n getPrimaryNodeType: true,\n getParent: true,\n getAggregatedPublicationInfo: true,\n getOperationSupport: true,\n getPermissions: ['canRead', 'canWrite'],\n getIsNodeTypes: ['jnt:typeA', 'jnt:typeB'],\n getProperties: ['propA', 'propB'],\n getSiteInstalledModules: true,\n getSiteLanguages: true,\n getDisplayableNodePath: true,\n getLockInfo: true,\n getContributeTypesRestrictions: true,\n getSubNodesCount: {types: ['jnt:file']},\n getMimeType: true\n });\n\n await wait();\n\n expect(getQuery).toHaveBeenCalled();\n const {mock} = getQuery;\n const result = mock.results[mock.results.length - 1];\n const variables = result.value.generatedVariables;\n result.value.query.definitions[0].variableDefinitions.map(v => v.variable.name.value).forEach(v => expect(Object.keys(variables)).toContain(v));\n });\n\n it('should trigger a graphql request with path', async () => {\n const setStateMock = jest.fn();\n const useStateMock = useState => [useState, setStateMock];\n jest.spyOn(React, 'useState').mockImplementation(useStateMock);\n useNodeInfo({path: '/test', language: 'en'});\n\n await wait();\n\n expect(setStateMock.mock.calls[0][0].node).toBeDefined();\n expect(setStateMock.mock.calls[0][0].variables).toBeDefined();\n expect(setStateMock.mock.calls[0][0].variables.path).toBe('/test');\n });\n\n it('should trigger a graphql request with multiple paths', async () => {\n const setStateMock = jest.fn();\n const useStateMock = useState => [useState, setStateMock];\n jest.spyOn(React, 'useState').mockImplementation(useStateMock);\n const paths = ['/test', '/test2'];\n useNodeInfo({paths, language: 'en'});\n\n await wait();\n\n expect(setStateMock.mock.calls[0][0].node).toBeDefined();\n expect(setStateMock.mock.calls[0][0].variables).toBeDefined();\n expect(setStateMock.mock.calls[0][0].variables.paths).toBe(paths);\n });\n});\n"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["isObject","obj","_typeof","merge","target","source","Array","isArray","concat","_toConsumableArray","filter","f","indexOf","Object","keys","forEach","sourceKey","sourceValue","prototype","hasOwnProperty","call","targetValue","_objectSpread","isSubset","superObj","subObj","every","ele","obj1","obj2","length","value","index"],"sources":["useNodeInfo.utils.js"],"sourcesContent":["const isObject = obj => obj !== null && typeof obj === 'object';\n\nexport const merge = (target, source) => {\n if (Array.isArray(target) && Array.isArray(source)) {\n return [...target, ...source.filter(f => target.indexOf(f) === -1)];\n }\n\n if (isObject(target) && isObject(source)) {\n Object.keys(source).forEach(sourceKey => {\n const sourceValue = source[sourceKey];\n if (Object.prototype.hasOwnProperty.call(target, sourceKey)) {\n const targetValue = target[sourceKey];\n target[sourceKey] = merge(targetValue, sourceValue);\n } else if (Array.isArray(sourceValue)) {\n target[sourceKey] = [...sourceValue];\n } else if (typeof sourceValue === 'object') {\n target[sourceKey] = {...sourceValue};\n } else {\n target[sourceKey] = sourceValue;\n }\n });\n\n return target;\n }\n\n return target;\n};\n\nexport const isSubset = (superObj, subObj) => Object.keys(subObj).every(ele => {\n const obj1 = subObj[ele];\n const obj2 = superObj[ele];\n if (Array.isArray(obj1) && Array.isArray(obj2)) {\n return obj1.length === obj2.length && obj1.every((value, index) => value === obj2[index]);\n }\n\n if (typeof obj1 === 'object' && !Array.isArray(obj1)) {\n return isSubset(obj2, obj1);\n }\n\n return obj1 === obj2;\n});\n"],"mappings":";;;;;;;;;;;;AAAA,IAAMA,QAAQ,GAAG,SAAXA,QAAQA,CAAGC,GAAG;EAAA,OAAIA,GAAG,KAAK,IAAI,IAAIC,OAAA,CAAOD,GAAG,MAAK,QAAQ;AAAA;AAE/D,OAAO,IAAME,KAAK,GAAG,SAARA,KAAKA,CAAIC,MAAM,EAAEC,MAAM,EAAK;EACrC,IAAIC,KAAK,CAACC,OAAO,CAACH,MAAM,CAAC,IAAIE,KAAK,CAACC,OAAO,CAACF,MAAM,CAAC,EAAE;IAChD,UAAAG,MAAA,CAAAC,kBAAA,CAAWL,MAAM,GAAAK,kBAAA,CAAKJ,MAAM,CAACK,MAAM,CAAC,UAAAC,CAAC;MAAA,OAAIP,MAAM,CAACQ,OAAO,CAACD,CAAC,CAAC,KAAK,CAAC,CAAC;IAAA,EAAC;EACtE;EAEA,IAAIX,QAAQ,CAACI,MAAM,CAAC,IAAIJ,QAAQ,CAACK,MAAM,CAAC,EAAE;IACtCQ,MAAM,CAACC,IAAI,CAACT,MAAM,CAAC,CAACU,OAAO,CAAC,UAAAC,SAAS,EAAI;MACrC,IAAMC,WAAW,GAAGZ,MAAM,CAACW,SAAS,CAAC;MACrC,IAAIH,MAAM,CAACK,SAAS,CAACC,cAAc,CAACC,IAAI,CAAChB,MAAM,EAAEY,SAAS,CAAC,EAAE;QACzD,IAAMK,WAAW,GAAGjB,MAAM,CAACY,SAAS,CAAC;QACrCZ,MAAM,CAACY,SAAS,CAAC,GAAGb,KAAK,CAACkB,WAAW,EAAEJ,WAAW,CAAC;MACvD,CAAC,MAAM,IAAIX,KAAK,CAACC,OAAO,CAACU,WAAW,CAAC,EAAE;QACnCb,MAAM,CAACY,SAAS,CAAC,GAAAP,kBAAA,CAAOQ,WAAW,CAAC;MACxC,CAAC,MAAM,IAAIf,OAAA,CAAOe,WAAW,MAAK,QAAQ,EAAE;QACxCb,MAAM,CAACY,SAAS,CAAC,GAAAM,aAAA,KAAOL,WAAW,CAAC;MACxC,CAAC,MAAM;QACHb,MAAM,CAACY,SAAS,CAAC,GAAGC,WAAW;MACnC;IACJ,CAAC,CAAC;IAEF,OAAOb,MAAM;EACjB;EAEA,OAAOA,MAAM;AACjB,CAAC;AAED,OAAO,IAAMmB,QAAQ,GAAG,SAAXA,QAAQA,CAAIC,QAAQ,EAAEC,MAAM;EAAA,OAAKZ,MAAM,CAACC,IAAI,CAACW,MAAM,CAAC,CAACC,KAAK,CAAC,UAAAC,GAAG,EAAI;IAC3E,IAAMC,IAAI,GAAGH,MAAM,CAACE,GAAG,CAAC;IACxB,IAAME,IAAI,GAAGL,QAAQ,CAACG,GAAG,CAAC;IAC1B,IAAIrB,KAAK,CAACC,OAAO,CAACqB,IAAI,CAAC,IAAItB,KAAK,CAACC,OAAO,CAACsB,IAAI,CAAC,EAAE;MAC5C,OAAOD,IAAI,CAACE,MAAM,KAAKD,IAAI,CAACC,MAAM,IAAIF,IAAI,CAACF,KAAK,CAAC,UAACK,KAAK,EAAEC,KAAK;QAAA,OAAKD,KAAK,KAAKF,IAAI,CAACG,KAAK,CAAC;MAAA,EAAC;IAC7F;IAEA,IAAI9B,OAAA,CAAO0B,IAAI,MAAK,QAAQ,IAAI,CAACtB,KAAK,CAACC,OAAO,CAACqB,IAAI,CAAC,EAAE;MAClD,OAAOL,QAAQ,CAACM,IAAI,EAAED,IAAI,CAAC;IAC/B;IAEA,OAAOA,IAAI,KAAKC,IAAI;EACxB,CAAC,CAAC;AAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["index.js"],"sourcesContent":["export * from './useSchemaFields';\n"],"mappings":"AAAA,cAAc,mBAAmB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["useQuery","SCHEMA_FIELDS_QUERY","useSchemaFields","variables"],"sources":["useSchemaFields.jsx"],"sourcesContent":["import {useQuery} from 'react-apollo';\nimport {SCHEMA_FIELDS_QUERY} from './useSchemaFields.gql-queries';\n\nexport const useSchemaFields = variables => useQuery(SCHEMA_FIELDS_QUERY, {variables});\n"],"mappings":"AAAA,SAAQA,QAAQ,QAAO,cAAc;AACrC,SAAQC,mBAAmB,QAAO,+BAA+B;AAEjE,OAAO,IAAMC,eAAe,GAAG,SAAlBA,eAAeA,CAAGC,SAAS;EAAA,OAAIH,QAAQ,CAACC,mBAAmB,EAAE;IAACE,SAAS,EAATA;EAAS,CAAC,CAAC;AAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["index.js"],"sourcesContent":["export * from './useSiteInfo';\n"],"mappings":"AAAA,cAAc,eAAe"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["useQuery","SITE_INFO_QUERY","adaptSiteInfo","data","jcr","wsDefault","res","result","_objectSpread","site","languages","useSiteInfo","_ref","siteKey","displayLanguage","variables","path","errorPolicy","siteInfo"],"sources":["useSiteInfo.js"],"sourcesContent":["import {useQuery} from 'react-apollo';\nimport {SITE_INFO_QUERY} from './useSiteInfo.gql-queries';\n\nconst adaptSiteInfo = data => {\n if (data && (data.jcr || data.wsDefault)) {\n const res = data.jcr ? data.jcr.result : data.wsDefault.result;\n if (res) {\n return {...res.site};\n }\n }\n\n return {\n languages: []\n };\n};\n\nexport const useSiteInfo = ({siteKey, displayLanguage}) => {\n const variables = {\n path: '/sites/' + siteKey,\n displayLanguage\n };\n\n const res = useQuery(SITE_INFO_QUERY, {variables, errorPolicy: 'ignore'});\n\n return {\n ...res,\n siteInfo: adaptSiteInfo(res.data)\n };\n};\n"],"mappings":";;;;;;AAAA,SAAQA,QAAQ,QAAO,cAAc;AACrC,SAAQC,eAAe,QAAO,2BAA2B;AAEzD,IAAMC,aAAa,GAAG,SAAhBA,aAAaA,CAAGC,IAAI,EAAI;EAC1B,IAAIA,IAAI,KAAKA,IAAI,CAACC,GAAG,IAAID,IAAI,CAACE,SAAS,CAAC,EAAE;IACtC,IAAMC,GAAG,GAAGH,IAAI,CAACC,GAAG,GAAGD,IAAI,CAACC,GAAG,CAACG,MAAM,GAAGJ,IAAI,CAACE,SAAS,CAACE,MAAM;IAC9D,IAAID,GAAG,EAAE;MACL,OAAAE,aAAA,KAAWF,GAAG,CAACG,IAAI;IACvB;EACJ;EAEA,OAAO;IACHC,SAAS,EAAE;EACf,CAAC;AACL,CAAC;AAED,OAAO,IAAMC,WAAW,GAAG,SAAdA,WAAWA,CAAAC,IAAA,EAAmC;EAAA,IAA9BC,OAAO,GAAAD,IAAA,CAAPC,OAAO;IAAEC,eAAe,GAAAF,IAAA,CAAfE,eAAe;EACjD,IAAMC,SAAS,GAAG;IACdC,IAAI,EAAE,SAAS,GAAGH,OAAO;IACzBC,eAAe,EAAfA;EACJ,CAAC;EAED,IAAMR,GAAG,GAAGN,QAAQ,CAACC,eAAe,EAAE;IAACc,SAAS,EAATA,SAAS;IAAEE,WAAW,EAAE;EAAQ,CAAC,CAAC;EAEzE,OAAAT,aAAA,CAAAA,aAAA,KACOF,GAAG;IACNY,QAAQ,EAAEhB,aAAa,CAACI,GAAG,CAACH,IAAI;EAAC;AAEzC,CAAC"}
|