@liff/create-shortcut-on-home-screen 2.23.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/README.md +7 -0
- package/lib/android/index.d.ts +2 -0
- package/lib/asserts/prohibitLineCustomScheme.d.ts +1 -0
- package/lib/createShortcutOnHomeScreen.d.ts +3 -0
- package/lib/index.cjs.js +1 -0
- package/lib/index.d.ts +18 -0
- package/lib/index.es.js +1 -0
- package/lib/ios/index.d.ts +2 -0
- package/lib/type.d.ts +6 -0
- package/lib/utils/fetchShortcutPageUrl.d.ts +4 -0
- package/lib/validate.d.ts +2 -0
- package/package.json +45 -0
package/README.md
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
# `@liff/create-shortcut-on-home-screen`
|
|
2
|
+
|
|
3
|
+
**This package is not intended for direct usage, and should only be used via the officially supported [@line/liff](https://www.npmjs.com/package/@line/liff) package.**
|
|
4
|
+
|
|
5
|
+
## License
|
|
6
|
+
|
|
7
|
+
Using LIFF means you agree to the [LINE Developers Agreement](https://terms2.line.me/LINE_Developers_Agreement).
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function prohibitLineCustomScheme(url: string): void;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { InternalCreateShortcutOnHomeScreenParams } from './type';
|
|
2
|
+
export declare function internalCreateShortcutOnHomeScreen(params: InternalCreateShortcutOnHomeScreenParams): Promise<void>;
|
|
3
|
+
export declare function createShortcutOnHomeScreen(params: InternalCreateShortcutOnHomeScreenParams): Promise<void>;
|
package/lib/index.cjs.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("tslib"),r=require("@liff/use"),t=require("@liff/consts"),n=require("@liff/get-os"),i=require("@liff/store"),o=require("@liff/util"),u=require("@liff/is-api-available"),a=require("@liff/is-in-client"),c=require("@liff/open-window"),s=require("@liff/server-api"),l=require("@liff/permanent-link");function f(r,t){return e.__awaiter(this,void 0,void 0,(function(){var n,i;return e.__generator(this,(function(e){switch(e.label){case 0:return n=s.getEndPoint("createShortcutOnHomeScreen"),(i=new URL(n)).searchParams.append("liffId",r),i.searchParams.append("url",t.url),t.description&&i.searchParams.append("description",t.description),[4,s.fetch(i.toString())];case 1:return[2,e.sent().shortcutPageUrl]}}))}))}function d(e){if(o.isLineCustomUrlScheme(e))throw o.createLiffError(t.INVALID_ARGUMENT,"LINE URL scheme are not supported in the current environment.")}function h(r,t){return e.__awaiter(this,void 0,void 0,(function(){var n;return e.__generator(this,(function(e){switch(e.label){case 0:return a.isInClient()?[2]:[4,new Promise((function(e){setTimeout(e,1e3)}))];case 1:return e.sent(),"hidden"===document.visibilityState?[2]:(d(t.url),[4,f(r,t)]);case 2:return n=e.sent(),c.openWindow({url:n,external:!0}),[2]}}))}))}function p(r,t){return e.__awaiter(this,void 0,void 0,(function(){var n,i;return e.__generator(this,(function(e){switch(e.label){case 0:return n={liffId:r,targetUrl:t.url,description:t.description},i="".concat("line://shortcut/liff","?").concat(o.qs.stringify(n)),location.href=i,[4,h(r,t)];case 1:return e.sent(),[2]}}))}))}function v(r,t){return e.__awaiter(this,void 0,void 0,(function(){var n;return e.__generator(this,(function(e){switch(e.label){case 0:return d(t.url),[4,f(r,t)];case 1:return n=e.sent(),c.openWindow({url:n,external:!0}),[2]}}))}))}function m(r){return e.__awaiter(this,void 0,void 0,(function(){return e.__generator(this,(function(e){switch(e.label){case 0:return u.validators.internalCreateShortcutOnHomeScreen(),[4,w(r)];case 1:return e.sent(),[2]}}))}))}function _(r){return e.__awaiter(this,void 0,void 0,(function(){return e.__generator(this,(function(e){switch(e.label){case 0:return u.validators.createShortcutOnHomeScreen(),[4,w(r)];case 1:return e.sent(),[2]}}))}))}function w(r){return e.__awaiter(this,void 0,void 0,(function(){var u;return e.__generator(this,(function(e){switch(e.label){case 0:if(function(e){var r;if(void 0===e.url||null===e.url||""===e.url)throw o.createLiffError(t.INVALID_ARGUMENT,"no proper argument");var n=i.getContext();if(!(null===(r=null==n?void 0:n.availability.addToHomeLineScheme)||void 0===r?void 0:r.permission)){if(o.isLineCustomUrlScheme(e.url))throw o.createLiffError(t.FORBIDDEN,"No permission to specify line schema in url.");if(e.description)throw o.createLiffError(t.FORBIDDEN,"No permission to specify description.")}if(!o.isLineCustomUrlScheme(e.url)){if(!n)throw o.createLiffError(t.FORBIDDEN,"Could not get Context from server.");n.liffId!==o.extractLiffId(e.url)&&l.validatePermalinkGeneratability(e.url,n.endpointUrl)}}(r),!(u=i.getConfig().liffId))throw o.createLiffError(t.INIT_FAILED,"Invalid LIFF ID.");return"ios"===n.getOS()?[4,v(u,r)]:[3,2];case 1:return e.sent(),[3,4];case 2:return[4,p(u,r)];case 3:e.sent(),e.label=4;case 4:return[2]}}))}))}var S=function(r){function t(){return null!==r&&r.apply(this,arguments)||this}return e.__extends(t,r),Object.defineProperty(t.prototype,"name",{get:function(){return"createShortcutOnHomeScreen"},enumerable:!1,configurable:!0}),t.prototype.install=function(){return function(e){return _(e)}},t}(r.LiffModule),g=function(r){function t(){return null!==r&&r.apply(this,arguments)||this}return e.__extends(t,r),Object.defineProperty(t.prototype,"name",{get:function(){return"internalCreateShortcutOnHomeScreen"},enumerable:!1,configurable:!0}),t.prototype.install=function(){return function(e){return m(e)}},t}(r.LiffModule);exports.CreateShortcutOnHomeScreenModule=S,exports.InternalCreateShortcutOnHomeScreenModule=g,exports.createShortcutOnHomeScreen=_,exports.internalCreateShortcutOnHomeScreen=m;
|
package/lib/index.d.ts
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { LiffModule } from '@liff/use';
|
|
2
|
+
import { createShortcutOnHomeScreen, internalCreateShortcutOnHomeScreen } from './createShortcutOnHomeScreen';
|
|
3
|
+
import type { CreateShortcutOnHomeScreenParams, InternalCreateShortcutOnHomeScreenParams } from './type';
|
|
4
|
+
export { createShortcutOnHomeScreen, internalCreateShortcutOnHomeScreen };
|
|
5
|
+
type Api = (params: CreateShortcutOnHomeScreenParams) => Promise<void>;
|
|
6
|
+
type InternalApi = (params: InternalCreateShortcutOnHomeScreenParams) => Promise<void>;
|
|
7
|
+
export interface ExtendLiffCore {
|
|
8
|
+
createShortcutOnHomeScreen: Api;
|
|
9
|
+
internalCreateShortcutOnHomeScreen: InternalApi;
|
|
10
|
+
}
|
|
11
|
+
export declare class CreateShortcutOnHomeScreenModule extends LiffModule<Api, never, {}> {
|
|
12
|
+
get name(): string;
|
|
13
|
+
install(): (params: CreateShortcutOnHomeScreenParams) => Promise<void>;
|
|
14
|
+
}
|
|
15
|
+
export declare class InternalCreateShortcutOnHomeScreenModule extends LiffModule<InternalApi, never, {}> {
|
|
16
|
+
get name(): string;
|
|
17
|
+
install(): (params: InternalCreateShortcutOnHomeScreenParams) => Promise<void>;
|
|
18
|
+
}
|
package/lib/index.es.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{__awaiter as t,__generator as r,__extends as n}from"tslib";import{LiffModule as e}from"@liff/use";import{INVALID_ARGUMENT as i,FORBIDDEN as o,INIT_FAILED as u}from"@liff/consts";import{getOS as c}from"@liff/get-os";import{getContext as s,getConfig as f}from"@liff/store";import{isLineCustomUrlScheme as l,createLiffError as a,qs as p,extractLiffId as m}from"@liff/util";import{validators as h}from"@liff/is-api-available";import{isInClient as d}from"@liff/is-in-client";import{openWindow as v}from"@liff/open-window";import{getEndPoint as b,fetch as w}from"@liff/server-api";import{validatePermalinkGeneratability as y}from"@liff/permanent-link";function S(n,e){return t(this,void 0,void 0,(function(){var t,i;return r(this,(function(r){switch(r.label){case 0:return t=b("createShortcutOnHomeScreen"),(i=new URL(t)).searchParams.append("liffId",n),i.searchParams.append("url",e.url),e.description&&i.searchParams.append("description",e.description),[4,w(i.toString())];case 1:return[2,r.sent().shortcutPageUrl]}}))}))}function g(t){if(l(t))throw a(i,"LINE URL scheme are not supported in the current environment.")}function I(n,e){return t(this,void 0,void 0,(function(){var t;return r(this,(function(r){switch(r.label){case 0:return d()?[2]:[4,new Promise((function(t){setTimeout(t,1e3)}))];case 1:return r.sent(),"hidden"===document.visibilityState?[2]:(g(e.url),[4,S(n,e)]);case 2:return t=r.sent(),v({url:t,external:!0}),[2]}}))}))}function O(n,e){return t(this,void 0,void 0,(function(){var t,i;return r(this,(function(r){switch(r.label){case 0:return t={liffId:n,targetUrl:e.url,description:e.description},i="".concat("line://shortcut/liff","?").concat(p.stringify(t)),location.href=i,[4,I(n,e)];case 1:return r.sent(),[2]}}))}))}function P(n,e){return t(this,void 0,void 0,(function(){var t;return r(this,(function(r){switch(r.label){case 0:return g(e.url),[4,S(n,e)];case 1:return t=r.sent(),v({url:t,external:!0}),[2]}}))}))}function H(n){return t(this,void 0,void 0,(function(){return r(this,(function(t){switch(t.label){case 0:return h.internalCreateShortcutOnHomeScreen(),[4,U(n)];case 1:return t.sent(),[2]}}))}))}function L(n){return t(this,void 0,void 0,(function(){return r(this,(function(t){switch(t.label){case 0:return h.createShortcutOnHomeScreen(),[4,U(n)];case 1:return t.sent(),[2]}}))}))}function U(n){return t(this,void 0,void 0,(function(){var t;return r(this,(function(r){switch(r.label){case 0:if(function(t){var r;if(void 0===t.url||null===t.url||""===t.url)throw a(i,"no proper argument");var n=s();if(!(null===(r=null==n?void 0:n.availability.addToHomeLineScheme)||void 0===r?void 0:r.permission)){if(l(t.url))throw a(o,"No permission to specify line schema in url.");if(t.description)throw a(o,"No permission to specify description.")}if(!l(t.url)){if(!n)throw a(o,"Could not get Context from server.");n.liffId!==m(t.url)&&y(t.url,n.endpointUrl)}}(n),!(t=f().liffId))throw a(u,"Invalid LIFF ID.");return"ios"===c()?[4,P(t,n)]:[3,2];case 1:return r.sent(),[3,4];case 2:return[4,O(t,n)];case 3:r.sent(),r.label=4;case 4:return[2]}}))}))}var x=function(t){function r(){return null!==t&&t.apply(this,arguments)||this}return n(r,t),Object.defineProperty(r.prototype,"name",{get:function(){return"createShortcutOnHomeScreen"},enumerable:!1,configurable:!0}),r.prototype.install=function(){return function(t){return L(t)}},r}(e),C=function(t){function r(){return null!==t&&t.apply(this,arguments)||this}return n(r,t),Object.defineProperty(r.prototype,"name",{get:function(){return"internalCreateShortcutOnHomeScreen"},enumerable:!1,configurable:!0}),r.prototype.install=function(){return function(t){return H(t)}},r}(e);export{x as CreateShortcutOnHomeScreenModule,C as InternalCreateShortcutOnHomeScreenModule,L as createShortcutOnHomeScreen,H as internalCreateShortcutOnHomeScreen};
|
package/lib/type.d.ts
ADDED
package/package.json
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@liff/create-shortcut-on-home-screen",
|
|
3
|
+
"version": "2.23.0",
|
|
4
|
+
"description": "@liff/create-shortcut-on-home-screen",
|
|
5
|
+
"license": "SEE LICENSE IN README.md",
|
|
6
|
+
"main": "lib/index.cjs.js",
|
|
7
|
+
"module": "lib/index.es.js",
|
|
8
|
+
"types": "lib/index.d.ts",
|
|
9
|
+
"directories": {
|
|
10
|
+
"lib": "lib"
|
|
11
|
+
},
|
|
12
|
+
"files": [
|
|
13
|
+
"lib"
|
|
14
|
+
],
|
|
15
|
+
"publishConfig": {
|
|
16
|
+
"access": "public",
|
|
17
|
+
"registry": "https://registry.npmjs.org"
|
|
18
|
+
},
|
|
19
|
+
"scripts": {
|
|
20
|
+
"test": "jest",
|
|
21
|
+
"typecheck": "tsc --noEmit",
|
|
22
|
+
"build:cdn": "rollup -c rollup.config.js",
|
|
23
|
+
"build:npm": "rollup -c rollup.config.js",
|
|
24
|
+
"build:watch": "npm run build:npm -- --watch",
|
|
25
|
+
"dev-server": "npm run build:watch",
|
|
26
|
+
"dev-server:https": "npm run build:watch",
|
|
27
|
+
"build:prerelease": "rollup -c rollup.config.prerelease.js",
|
|
28
|
+
"clean": "rm -rf ./lib ./tsconfig.tsbuildinfo"
|
|
29
|
+
},
|
|
30
|
+
"peerDependencies": {
|
|
31
|
+
"tslib": "^2.3.0"
|
|
32
|
+
},
|
|
33
|
+
"dependencies": {
|
|
34
|
+
"@liff/consts": "2.23.0",
|
|
35
|
+
"@liff/get-os": "2.23.0",
|
|
36
|
+
"@liff/is-api-available": "2.23.0",
|
|
37
|
+
"@liff/is-in-client": "2.23.0",
|
|
38
|
+
"@liff/open-window": "2.23.0",
|
|
39
|
+
"@liff/permanent-link": "2.23.0",
|
|
40
|
+
"@liff/server-api": "2.23.0",
|
|
41
|
+
"@liff/store": "2.23.0",
|
|
42
|
+
"@liff/use": "2.23.0",
|
|
43
|
+
"@liff/util": "2.23.0"
|
|
44
|
+
}
|
|
45
|
+
}
|