@atlaskit/link-client-extension 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md ADDED
@@ -0,0 +1 @@
1
+ # @atlaskit/link-client-extension
package/LICENSE.md ADDED
@@ -0,0 +1,13 @@
1
+ Copyright 2022 Atlassian Pty Ltd
2
+
3
+ Licensed under the Apache License, Version 2.0 (the "License");
4
+ you may not use this file except in compliance with the License.
5
+ You may obtain a copy of the License at
6
+
7
+ http://www.apache.org/licenses/LICENSE-2.0
8
+
9
+ Unless required by applicable law or agreed to in writing, software
10
+ distributed under the License is distributed on an "AS IS" BASIS,
11
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ See the License for the specific language governing permissions and
13
+ limitations under the License.
package/README.md ADDED
@@ -0,0 +1,12 @@
1
+ # LinkClientExtension
2
+
3
+ Linking Platform's Client extension
4
+
5
+ ## Usage
6
+
7
+ ```
8
+ import { useSmartLinkClientExtension } from '@atlaskit/link-client-extension/smart-link';`
9
+
10
+ const cardClient = new CardClient();
11
+ const clientExtension = useSmartLinkClientExtension(client)
12
+ ```
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "useSmartLinkClientExtension", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _useSmartLinkClientExtension.useSmartLinkClientExtension;
10
+ }
11
+ });
12
+ var _useSmartLinkClientExtension = require("./services/use-smart-link-client-extension");
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useResolverUrl = void 0;
7
+ var _react = require("react");
8
+ var _linkingCommon = require("@atlaskit/linking-common");
9
+ var useResolverUrl = function useResolverUrl(cardClient) {
10
+ return (0, _react.useMemo)(function () {
11
+ return (0, _linkingCommon.getResolverUrl)(cardClient === null || cardClient === void 0 ? void 0 : cardClient.envKey, cardClient === null || cardClient === void 0 ? void 0 : cardClient.baseUrlOverride);
12
+ }, [cardClient === null || cardClient === void 0 ? void 0 : cardClient.baseUrlOverride, cardClient === null || cardClient === void 0 ? void 0 : cardClient.envKey]);
13
+ };
14
+ exports.useResolverUrl = useResolverUrl;
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.useSmartLinkClientExtension = void 0;
8
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
10
+ var _react = require("react");
11
+ var _linkingCommon = require("@atlaskit/linking-common");
12
+ var _useResolverUrl = require("../use-resolver-url");
13
+ /**
14
+ * useSmartLinkClientExtension
15
+ *
16
+ * This hook extends the usage of @atlaskit/link-provider CardClient
17
+ * for smart links.
18
+ *
19
+ * @param cardClient
20
+ */
21
+ var useSmartLinkClientExtension = function useSmartLinkClientExtension(cardClient) {
22
+ var resolvedUrl = (0, _useResolverUrl.useResolverUrl)(cardClient);
23
+ var invoke = (0, _react.useCallback)( /*#__PURE__*/function () {
24
+ var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(data) {
25
+ var response;
26
+ return _regenerator.default.wrap(function _callee$(_context) {
27
+ while (1) {
28
+ switch (_context.prev = _context.next) {
29
+ case 0:
30
+ _context.next = 2;
31
+ return (0, _linkingCommon.request)('post', "".concat(resolvedUrl, "/invoke"), data, undefined, [200, 204]);
32
+ case 2:
33
+ response = _context.sent;
34
+ return _context.abrupt("return", response);
35
+ case 4:
36
+ case "end":
37
+ return _context.stop();
38
+ }
39
+ }
40
+ }, _callee);
41
+ }));
42
+ return function (_x) {
43
+ return _ref.apply(this, arguments);
44
+ };
45
+ }(), [resolvedUrl]);
46
+ return (0, _react.useMemo)(function () {
47
+ return {
48
+ invoke: invoke
49
+ };
50
+ }, [invoke]);
51
+ };
52
+ exports.useSmartLinkClientExtension = useSmartLinkClientExtension;
@@ -0,0 +1,5 @@
1
+ {
2
+ "name": "@atlaskit/link-client-extension",
3
+ "version": "0.1.0",
4
+ "sideEffects": false
5
+ }
@@ -0,0 +1 @@
1
+ export { useSmartLinkClientExtension } from './services/use-smart-link-client-extension';
@@ -0,0 +1,3 @@
1
+ import { useMemo } from 'react';
2
+ import { getResolverUrl } from '@atlaskit/linking-common';
3
+ export const useResolverUrl = cardClient => useMemo(() => getResolverUrl(cardClient === null || cardClient === void 0 ? void 0 : cardClient.envKey, cardClient === null || cardClient === void 0 ? void 0 : cardClient.baseUrlOverride), [cardClient === null || cardClient === void 0 ? void 0 : cardClient.baseUrlOverride, cardClient === null || cardClient === void 0 ? void 0 : cardClient.envKey]);
@@ -0,0 +1,22 @@
1
+ import { useCallback, useMemo } from 'react';
2
+ import { request } from '@atlaskit/linking-common';
3
+ import { useResolverUrl } from '../use-resolver-url';
4
+
5
+ /**
6
+ * useSmartLinkClientExtension
7
+ *
8
+ * This hook extends the usage of @atlaskit/link-provider CardClient
9
+ * for smart links.
10
+ *
11
+ * @param cardClient
12
+ */
13
+ export const useSmartLinkClientExtension = cardClient => {
14
+ const resolvedUrl = useResolverUrl(cardClient);
15
+ const invoke = useCallback(async data => {
16
+ const response = await request('post', `${resolvedUrl}/invoke`, data, undefined, [200, 204]);
17
+ return response;
18
+ }, [resolvedUrl]);
19
+ return useMemo(() => ({
20
+ invoke
21
+ }), [invoke]);
22
+ };
@@ -0,0 +1,5 @@
1
+ {
2
+ "name": "@atlaskit/link-client-extension",
3
+ "version": "0.1.0",
4
+ "sideEffects": false
5
+ }
@@ -0,0 +1 @@
1
+ export { useSmartLinkClientExtension } from './services/use-smart-link-client-extension';
@@ -0,0 +1,7 @@
1
+ import { useMemo } from 'react';
2
+ import { getResolverUrl } from '@atlaskit/linking-common';
3
+ export var useResolverUrl = function useResolverUrl(cardClient) {
4
+ return useMemo(function () {
5
+ return getResolverUrl(cardClient === null || cardClient === void 0 ? void 0 : cardClient.envKey, cardClient === null || cardClient === void 0 ? void 0 : cardClient.baseUrlOverride);
6
+ }, [cardClient === null || cardClient === void 0 ? void 0 : cardClient.baseUrlOverride, cardClient === null || cardClient === void 0 ? void 0 : cardClient.envKey]);
7
+ };
@@ -0,0 +1,45 @@
1
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
3
+ import { useCallback, useMemo } from 'react';
4
+ import { request } from '@atlaskit/linking-common';
5
+ import { useResolverUrl } from '../use-resolver-url';
6
+
7
+ /**
8
+ * useSmartLinkClientExtension
9
+ *
10
+ * This hook extends the usage of @atlaskit/link-provider CardClient
11
+ * for smart links.
12
+ *
13
+ * @param cardClient
14
+ */
15
+ export var useSmartLinkClientExtension = function useSmartLinkClientExtension(cardClient) {
16
+ var resolvedUrl = useResolverUrl(cardClient);
17
+ var invoke = useCallback( /*#__PURE__*/function () {
18
+ var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(data) {
19
+ var response;
20
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
21
+ while (1) {
22
+ switch (_context.prev = _context.next) {
23
+ case 0:
24
+ _context.next = 2;
25
+ return request('post', "".concat(resolvedUrl, "/invoke"), data, undefined, [200, 204]);
26
+ case 2:
27
+ response = _context.sent;
28
+ return _context.abrupt("return", response);
29
+ case 4:
30
+ case "end":
31
+ return _context.stop();
32
+ }
33
+ }
34
+ }, _callee);
35
+ }));
36
+ return function (_x) {
37
+ return _ref.apply(this, arguments);
38
+ };
39
+ }(), [resolvedUrl]);
40
+ return useMemo(function () {
41
+ return {
42
+ invoke: invoke
43
+ };
44
+ }, [invoke]);
45
+ };
@@ -0,0 +1,5 @@
1
+ {
2
+ "name": "@atlaskit/link-client-extension",
3
+ "version": "0.1.0",
4
+ "sideEffects": false
5
+ }
@@ -0,0 +1 @@
1
+ export { useSmartLinkClientExtension } from './services/use-smart-link-client-extension';
@@ -0,0 +1,2 @@
1
+ import type { CardClient } from '@atlaskit/link-provider';
2
+ export declare const useResolverUrl: (cardClient: CardClient) => string;
@@ -0,0 +1,16 @@
1
+ import type { CardClient } from '@atlaskit/link-provider';
2
+ import type { InvokeActionRequest, InvokeActionResponse } from '@atlaskit/linking-types/smart-link-actions';
3
+ /**
4
+ * useSmartLinkClientExtension
5
+ *
6
+ * This hook extends the usage of @atlaskit/link-provider CardClient
7
+ * for smart links.
8
+ *
9
+ * @param cardClient
10
+ */
11
+ export declare const useSmartLinkClientExtension: (cardClient: CardClient) => {
12
+ invoke: <T>(data: InvokeActionRequest) => Promise<InvokeActionResponse | {
13
+ message?: string | undefined;
14
+ errorCode?: string | undefined;
15
+ }>;
16
+ };
package/package.json ADDED
@@ -0,0 +1,82 @@
1
+ {
2
+ "name": "@atlaskit/link-client-extension",
3
+ "version": "0.1.0",
4
+ "description": "Extension methods for linking platform client",
5
+ "author": "Atlassian Pty Ltd",
6
+ "license": "Apache-2.0",
7
+ "publishConfig": {
8
+ "registry": "https://registry.npmjs.org/"
9
+ },
10
+ "atlassian": {
11
+ "team": "Linking Platform",
12
+ "inPublicMirror": false,
13
+ "releaseModel": "continuous",
14
+ "website": {
15
+ "name": "LinkClientExtension"
16
+ }
17
+ },
18
+ "repository": "https://bitbucket.org/atlassian/atlassian-frontend",
19
+ "main": "dist/cjs/index.js",
20
+ "module": "dist/esm/index.js",
21
+ "module:es2019": "dist/es2019/index.js",
22
+ "types": "dist/types/index.d.ts",
23
+ "sideEffects": false,
24
+ "atlaskit:src": "src/index.ts",
25
+ "af:exports": {
26
+ ".": "./src/index.ts"
27
+ },
28
+ "dependencies": {
29
+ "@atlaskit/linking-common": "^2.3.0",
30
+ "@atlaskit/linking-types": "^0.2.0",
31
+ "@babel/runtime": "^7.0.0"
32
+ },
33
+ "peerDependencies": {
34
+ "@atlaskit/link-provider": "^1.5.0",
35
+ "react": "^16.8.0"
36
+ },
37
+ "devDependencies": {
38
+ "@atlaskit/docs": "*",
39
+ "@atlassian/atlassian-frontend-prettier-config-1.0.0": "npm:@atlassian/atlassian-frontend-prettier-config@1.0.0",
40
+ "@testing-library/react": "^12.1.5",
41
+ "@testing-library/react-hooks": "^8.0.1",
42
+ "react-dom": "^16.8.0",
43
+ "typescript": "4.5.5",
44
+ "wait-for-expect": "^1.2.0"
45
+ },
46
+ "techstack": {
47
+ "@atlassian/frontend": {
48
+ "code-structure": [
49
+ "tangerine-next"
50
+ ],
51
+ "import-structure": [
52
+ "atlassian-conventions"
53
+ ],
54
+ "circular-dependencies": [
55
+ "file-and-folder-level"
56
+ ]
57
+ },
58
+ "@repo/internal": {
59
+ "dom-events": "use-bind-event-listener",
60
+ "analytics": [
61
+ "analytics-next"
62
+ ],
63
+ "design-tokens": [
64
+ "color"
65
+ ],
66
+ "theming": [
67
+ "react-context"
68
+ ],
69
+ "ui-components": [
70
+ "lite-mode"
71
+ ],
72
+ "deprecation": [
73
+ "no-deprecated-imports"
74
+ ],
75
+ "styling": [
76
+ "static",
77
+ "emotion"
78
+ ]
79
+ }
80
+ },
81
+ "prettier": "@atlassian/atlassian-frontend-prettier-config-1.0.0"
82
+ }
package/report.api.md ADDED
@@ -0,0 +1,49 @@
1
+ <!-- API Report Version: 2.3 -->
2
+
3
+ ## API Report File for "@atlaskit/link-client-extension"
4
+
5
+ > Do not edit this file. This report is auto-generated using [API Extractor](https://api-extractor.com/).
6
+ > [Learn more about API reports](https://hello.atlassian.net/wiki/spaces/UR/pages/1825484529/Package+API+Reports)
7
+
8
+ ### Table of contents
9
+
10
+ - [Main Entry Types](#main-entry-types)
11
+ - [Peer Dependencies](#peer-dependencies)
12
+
13
+ ### Main Entry Types
14
+
15
+ <!--SECTION START: Main Entry Types-->
16
+
17
+ ```ts
18
+ import type { CardClient } from '@atlaskit/link-provider';
19
+ import type { InvokeActionRequest } from '@atlaskit/linking-types/smart-link-actions';
20
+ import type { InvokeActionResponse } from '@atlaskit/linking-types/smart-link-actions';
21
+
22
+ // @public
23
+ export const useSmartLinkClientExtension: (cardClient: CardClient) => {
24
+ invoke: <T>(data: InvokeActionRequest) => Promise<
25
+ | InvokeActionResponse
26
+ | {
27
+ message?: string | undefined;
28
+ errorCode?: string | undefined;
29
+ }
30
+ >;
31
+ };
32
+
33
+ // (No @packageDocumentation comment for this package)
34
+ ```
35
+
36
+ <!--SECTION END: Main Entry Types-->
37
+
38
+ ### Peer Dependencies
39
+
40
+ <!--SECTION START: Peer Dependencies-->
41
+
42
+ ```json
43
+ {
44
+ "@atlaskit/link-provider": "^1.5.0",
45
+ "react": "^16.8.0"
46
+ }
47
+ ```
48
+
49
+ <!--SECTION END: Peer Dependencies-->
@@ -0,0 +1,21 @@
1
+ ## API Report File for "@atlaskit/link-client-extension"
2
+
3
+ > Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).
4
+
5
+ ```ts
6
+
7
+ import type { CardClient } from '@atlaskit/link-provider';
8
+ import type { InvokeActionRequest } from '@atlaskit/linking-types/smart-link-actions';
9
+ import type { InvokeActionResponse } from '@atlaskit/linking-types/smart-link-actions';
10
+
11
+ // @public
12
+ export const useSmartLinkClientExtension: (cardClient: CardClient) => {
13
+ invoke: <T>(data: InvokeActionRequest) => Promise<InvokeActionResponse | {
14
+ message?: string | undefined;
15
+ errorCode?: string | undefined;
16
+ }>;
17
+ };
18
+
19
+ // (No @packageDocumentation comment for this package)
20
+
21
+ ```