@apps-in-toss/framework 0.0.37 → 0.0.38
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/dist/index.d.cts +46 -16
- package/dist/index.d.ts +46 -16
- package/package.json +5 -5
- package/dist/bridge-meta.d.ts +0 -1
- package/dist/bridge-meta.js +0 -183
package/dist/index.d.cts
CHANGED
|
@@ -1441,20 +1441,22 @@ interface IapCreateOneTimePurchaseOrderOptions {
|
|
|
1441
1441
|
* @category 인앱결제
|
|
1442
1442
|
* @name IapCreateOneTimePurchaseOrderResult
|
|
1443
1443
|
* @description 인앱결제 1건이 완료되면 결제 세부 정보와 상품 정보를 담아 반환해요. 반환된 정보로 결제한 상품의 정보를 화면에 표시할 수 있어요.
|
|
1444
|
-
* @property {string
|
|
1444
|
+
* @property {string} orderId - 결제 주문 ID이에요. 결제 완료 후 [결제 상태를 조회](https://developers-apps-in-toss.toss.im/api/getIapOrderStatus.html)할 때 사용해요.
|
|
1445
1445
|
* @property {string} displayName - 화면에 표시할 상품 이름이에요.
|
|
1446
1446
|
* @property {string} displayAmount - 통화 단위가 포함된 가격 정보예요. 예를 들어 `1,000원`으로 가격과 통화가 함께 표시돼요.
|
|
1447
1447
|
* @property {number} amount - 상품 가격 숫자 값이에요. 화폐 단위와 쉼표를 제외한 순수 숫자예요. 예를 들어 `1000`으로 표시돼요.
|
|
1448
1448
|
* @property {string} currency - [ISO 4217 표준](https://ko.wikipedia.org/wiki/ISO_4217)에 따른 상품 가격 통화 단위예요. 예를 들어 원화는 `KRW`, 달러는 `USD`로 표시돼요.
|
|
1449
1449
|
* @property {number} fraction - 가격을 표시할 때 소수점 아래 몇 자리까지 보여줄지 정하는 값이에요. 예를 들어 달러는 소수점 둘째 자리까지 보여줘서 `2`, 원화는 소수점이 필요 없어서 `0`이에요
|
|
1450
|
+
* @property {string | null} miniAppIconUrl - 미니앱 아이콘 이미지의 URL이에요. 아이콘은 앱인토스 콘솔에서 설정한 이미지예요. 콘솔에서 아이콘을 등록하지 않았다면 `null`로 반환돼요.
|
|
1450
1451
|
*/
|
|
1451
1452
|
interface IapCreateOneTimePurchaseOrderResult {
|
|
1452
|
-
|
|
1453
|
+
orderId: string;
|
|
1453
1454
|
displayName: string;
|
|
1454
1455
|
displayAmount: string;
|
|
1455
1456
|
amount: number;
|
|
1456
1457
|
currency: string;
|
|
1457
1458
|
fraction: number;
|
|
1459
|
+
miniAppIconUrl: string | null;
|
|
1458
1460
|
}
|
|
1459
1461
|
/**
|
|
1460
1462
|
* @public
|
|
@@ -1481,25 +1483,26 @@ interface IapCreateOneTimePurchaseOrderResult {
|
|
|
1481
1483
|
* ### 특정 인앱결제 주문서 페이지로 이동하기
|
|
1482
1484
|
*
|
|
1483
1485
|
* ```tsx
|
|
1484
|
-
* import {
|
|
1485
|
-
* import {
|
|
1486
|
+
* import { IAP } from "@apps-in-toss/web-framework";
|
|
1487
|
+
* import { Button } from "@toss-design-system/react-native";
|
|
1486
1488
|
*
|
|
1487
1489
|
* interface Props {
|
|
1488
1490
|
* productId: string;
|
|
1489
1491
|
* }
|
|
1490
1492
|
*
|
|
1491
1493
|
* function IapCreateOneTimePurchaseOrderButton({ productId }: Props) {
|
|
1492
|
-
*
|
|
1494
|
+
* async function handleClick() {
|
|
1493
1495
|
* try {
|
|
1494
1496
|
* await IAP.createOneTimePurchaseOrder({
|
|
1495
1497
|
* productId,
|
|
1496
1498
|
* });
|
|
1499
|
+
* console.error("인앱결제에 성공했어요");
|
|
1497
1500
|
* } catch (error) {
|
|
1498
1501
|
* console.error('인앱결제에 실패했어요:', error);
|
|
1499
1502
|
* }
|
|
1500
|
-
* }
|
|
1503
|
+
* }
|
|
1501
1504
|
*
|
|
1502
|
-
* return <Button
|
|
1505
|
+
* return <Button onClick={handleClick}>구매하기</Button>;
|
|
1503
1506
|
* }
|
|
1504
1507
|
* ```
|
|
1505
1508
|
*/
|
|
@@ -1509,7 +1512,7 @@ declare function createOneTimePurchaseOrder(params: IapCreateOneTimePurchaseOrde
|
|
|
1509
1512
|
* @category 인앱결제
|
|
1510
1513
|
* @name IapProductListItem
|
|
1511
1514
|
* @description 인앱결제로 구매할 수 있는 상품 하나의 정보를 담은 객체예요. 상품 목록을 화면에 표시할 때 사용해요.
|
|
1512
|
-
* @property {string} sku - 상품의 고유 ID예요. [
|
|
1515
|
+
* @property {string} sku - 상품의 고유 ID예요. [IAP.createOneTimePurchaseOrder](https://developers-apps-in-toss.toss.im/bedrock/reference/framework/%EC%9D%B8%EC%95%B1%20%EA%B2%B0%EC%A0%9C/createOneTimePurchaseOrder.html)를 호출할때 사용하는 `productId`와 동일한 값이에요.
|
|
1513
1516
|
* @property {string} displayName - 화면에 표시할 상품 이름이에요. 상품 이름은 앱인토스 콘솔에서 설정한 값이에요.
|
|
1514
1517
|
* @property {string} displayAmount - 통화 단위가 포함된 가격 정보예요. 예를 들어 `1,000원`으로 가격과 통화가 함께 표시돼요.
|
|
1515
1518
|
* @property {string} iconUrl - 상품 아이콘 이미지의 URL이에요. 아이콘은 앱인토스 콘솔에서 설정한 이미지예요.
|
|
@@ -1533,20 +1536,32 @@ interface IapProductListItem {
|
|
|
1533
1536
|
* ### 구매 가능한 인앱결제 상품목록 가져오기
|
|
1534
1537
|
*
|
|
1535
1538
|
* ```tsx
|
|
1536
|
-
* import {
|
|
1537
|
-
* import { List, ListRow
|
|
1538
|
-
* import {
|
|
1539
|
+
* import { IAP, IapProductListItem } from "@apps-in-toss/framework";
|
|
1540
|
+
* import { Button, List, ListRow } from "@toss-design-system/react-native";
|
|
1541
|
+
* import { useEffect, useState } from "react";
|
|
1539
1542
|
*
|
|
1540
|
-
* function
|
|
1543
|
+
* function IapProductList() {
|
|
1541
1544
|
* const [products, setProducts] = useState<IapProductListItem[]>([]);
|
|
1542
1545
|
*
|
|
1546
|
+
* async function buyIapProduct(productId: string) {
|
|
1547
|
+
* try {
|
|
1548
|
+
* await IAP.createOneTimePurchaseOrder({
|
|
1549
|
+
* productId,
|
|
1550
|
+
* });
|
|
1551
|
+
*
|
|
1552
|
+
* console.error("인앱결제에 성공했어요");
|
|
1553
|
+
* } catch (error) {
|
|
1554
|
+
* console.error("인앱결제에 실패했어요:", error);
|
|
1555
|
+
* }
|
|
1556
|
+
* }
|
|
1557
|
+
*
|
|
1543
1558
|
* useEffect(() => {
|
|
1544
1559
|
* async function fetchProducts() {
|
|
1545
1560
|
* try {
|
|
1546
1561
|
* const response = await IAP.getProductItemList();
|
|
1547
1562
|
* setProducts(response?.products ?? []);
|
|
1548
1563
|
* } catch (error) {
|
|
1549
|
-
* console.error(
|
|
1564
|
+
* console.error("상품 목록을 가져오는 데 실패했어요:", error);
|
|
1550
1565
|
* }
|
|
1551
1566
|
* }
|
|
1552
1567
|
*
|
|
@@ -1558,7 +1573,22 @@ interface IapProductListItem {
|
|
|
1558
1573
|
* {products.map((product) => (
|
|
1559
1574
|
* <ListRow
|
|
1560
1575
|
* key={product.sku}
|
|
1561
|
-
*
|
|
1576
|
+
* left={
|
|
1577
|
+
* <ListRow.Image type="square" source={{ uri: product.iconUrl }} />
|
|
1578
|
+
* }
|
|
1579
|
+
* right={
|
|
1580
|
+
* <Button size="medium" onPress={() => buyIapProduct(product.sku)}>
|
|
1581
|
+
* 구매하기
|
|
1582
|
+
* </Button>
|
|
1583
|
+
* }
|
|
1584
|
+
* contents={
|
|
1585
|
+
* <ListRow.Texts
|
|
1586
|
+
* type="3RowTypeA"
|
|
1587
|
+
* top={product.displayName}
|
|
1588
|
+
* middle={product.description}
|
|
1589
|
+
* bottom={product.displayAmount}
|
|
1590
|
+
* />
|
|
1591
|
+
* }
|
|
1562
1592
|
* />
|
|
1563
1593
|
* ))}
|
|
1564
1594
|
* </List>
|
|
@@ -1574,8 +1604,8 @@ declare function getProductItemList(): Promise<{
|
|
|
1574
1604
|
* @category 인앱결제
|
|
1575
1605
|
* @name IAP
|
|
1576
1606
|
* @description 인앱결제 관련 기능을 모은 객체예요. 단건 인앱결제 주문서 이동과 상품 목록 조회 기능을 제공해요.
|
|
1577
|
-
* @property {typeof createOneTimePurchaseOrder} [createOneTimePurchaseOrder] 특정 인앱결제 주문서 페이지로 이동해요. 자세한 내용은 [createOneTimePurchaseOrder](/bedrock/reference/framework
|
|
1578
|
-
* @property {typeof getProductItemList} [getProductItemList] 인앱결제로 구매할 수 있는 상품 목록을 가져와요. 자세한 내용은 [getProductItemList](/bedrock/reference/framework
|
|
1607
|
+
* @property {typeof createOneTimePurchaseOrder} [createOneTimePurchaseOrder] 특정 인앱결제 주문서 페이지로 이동해요. 자세한 내용은 [createOneTimePurchaseOrder](https://developers-apps-in-toss.toss.im/bedrock/reference/framework/%EC%9D%B8%EC%95%B1%20%EA%B2%B0%EC%A0%9C/getProductItemList.html) 문서를 참고하세요.
|
|
1608
|
+
* @property {typeof getProductItemList} [getProductItemList] 인앱결제로 구매할 수 있는 상품 목록을 가져와요. 자세한 내용은 [getProductItemList](https://developers-apps-in-toss.toss.im/bedrock/reference/framework/%EC%9D%B8%EC%95%B1%20%EA%B2%B0%EC%A0%9C/createOneTimePurchaseOrder.html) 문서를 참고하세요.
|
|
1579
1609
|
*/
|
|
1580
1610
|
declare const IAP: {
|
|
1581
1611
|
createOneTimePurchaseOrder: typeof createOneTimePurchaseOrder;
|
package/dist/index.d.ts
CHANGED
|
@@ -1441,20 +1441,22 @@ interface IapCreateOneTimePurchaseOrderOptions {
|
|
|
1441
1441
|
* @category 인앱결제
|
|
1442
1442
|
* @name IapCreateOneTimePurchaseOrderResult
|
|
1443
1443
|
* @description 인앱결제 1건이 완료되면 결제 세부 정보와 상품 정보를 담아 반환해요. 반환된 정보로 결제한 상품의 정보를 화면에 표시할 수 있어요.
|
|
1444
|
-
* @property {string
|
|
1444
|
+
* @property {string} orderId - 결제 주문 ID이에요. 결제 완료 후 [결제 상태를 조회](https://developers-apps-in-toss.toss.im/api/getIapOrderStatus.html)할 때 사용해요.
|
|
1445
1445
|
* @property {string} displayName - 화면에 표시할 상품 이름이에요.
|
|
1446
1446
|
* @property {string} displayAmount - 통화 단위가 포함된 가격 정보예요. 예를 들어 `1,000원`으로 가격과 통화가 함께 표시돼요.
|
|
1447
1447
|
* @property {number} amount - 상품 가격 숫자 값이에요. 화폐 단위와 쉼표를 제외한 순수 숫자예요. 예를 들어 `1000`으로 표시돼요.
|
|
1448
1448
|
* @property {string} currency - [ISO 4217 표준](https://ko.wikipedia.org/wiki/ISO_4217)에 따른 상품 가격 통화 단위예요. 예를 들어 원화는 `KRW`, 달러는 `USD`로 표시돼요.
|
|
1449
1449
|
* @property {number} fraction - 가격을 표시할 때 소수점 아래 몇 자리까지 보여줄지 정하는 값이에요. 예를 들어 달러는 소수점 둘째 자리까지 보여줘서 `2`, 원화는 소수점이 필요 없어서 `0`이에요
|
|
1450
|
+
* @property {string | null} miniAppIconUrl - 미니앱 아이콘 이미지의 URL이에요. 아이콘은 앱인토스 콘솔에서 설정한 이미지예요. 콘솔에서 아이콘을 등록하지 않았다면 `null`로 반환돼요.
|
|
1450
1451
|
*/
|
|
1451
1452
|
interface IapCreateOneTimePurchaseOrderResult {
|
|
1452
|
-
|
|
1453
|
+
orderId: string;
|
|
1453
1454
|
displayName: string;
|
|
1454
1455
|
displayAmount: string;
|
|
1455
1456
|
amount: number;
|
|
1456
1457
|
currency: string;
|
|
1457
1458
|
fraction: number;
|
|
1459
|
+
miniAppIconUrl: string | null;
|
|
1458
1460
|
}
|
|
1459
1461
|
/**
|
|
1460
1462
|
* @public
|
|
@@ -1481,25 +1483,26 @@ interface IapCreateOneTimePurchaseOrderResult {
|
|
|
1481
1483
|
* ### 특정 인앱결제 주문서 페이지로 이동하기
|
|
1482
1484
|
*
|
|
1483
1485
|
* ```tsx
|
|
1484
|
-
* import {
|
|
1485
|
-
* import {
|
|
1486
|
+
* import { IAP } from "@apps-in-toss/web-framework";
|
|
1487
|
+
* import { Button } from "@toss-design-system/react-native";
|
|
1486
1488
|
*
|
|
1487
1489
|
* interface Props {
|
|
1488
1490
|
* productId: string;
|
|
1489
1491
|
* }
|
|
1490
1492
|
*
|
|
1491
1493
|
* function IapCreateOneTimePurchaseOrderButton({ productId }: Props) {
|
|
1492
|
-
*
|
|
1494
|
+
* async function handleClick() {
|
|
1493
1495
|
* try {
|
|
1494
1496
|
* await IAP.createOneTimePurchaseOrder({
|
|
1495
1497
|
* productId,
|
|
1496
1498
|
* });
|
|
1499
|
+
* console.error("인앱결제에 성공했어요");
|
|
1497
1500
|
* } catch (error) {
|
|
1498
1501
|
* console.error('인앱결제에 실패했어요:', error);
|
|
1499
1502
|
* }
|
|
1500
|
-
* }
|
|
1503
|
+
* }
|
|
1501
1504
|
*
|
|
1502
|
-
* return <Button
|
|
1505
|
+
* return <Button onClick={handleClick}>구매하기</Button>;
|
|
1503
1506
|
* }
|
|
1504
1507
|
* ```
|
|
1505
1508
|
*/
|
|
@@ -1509,7 +1512,7 @@ declare function createOneTimePurchaseOrder(params: IapCreateOneTimePurchaseOrde
|
|
|
1509
1512
|
* @category 인앱결제
|
|
1510
1513
|
* @name IapProductListItem
|
|
1511
1514
|
* @description 인앱결제로 구매할 수 있는 상품 하나의 정보를 담은 객체예요. 상품 목록을 화면에 표시할 때 사용해요.
|
|
1512
|
-
* @property {string} sku - 상품의 고유 ID예요. [
|
|
1515
|
+
* @property {string} sku - 상품의 고유 ID예요. [IAP.createOneTimePurchaseOrder](https://developers-apps-in-toss.toss.im/bedrock/reference/framework/%EC%9D%B8%EC%95%B1%20%EA%B2%B0%EC%A0%9C/createOneTimePurchaseOrder.html)를 호출할때 사용하는 `productId`와 동일한 값이에요.
|
|
1513
1516
|
* @property {string} displayName - 화면에 표시할 상품 이름이에요. 상품 이름은 앱인토스 콘솔에서 설정한 값이에요.
|
|
1514
1517
|
* @property {string} displayAmount - 통화 단위가 포함된 가격 정보예요. 예를 들어 `1,000원`으로 가격과 통화가 함께 표시돼요.
|
|
1515
1518
|
* @property {string} iconUrl - 상품 아이콘 이미지의 URL이에요. 아이콘은 앱인토스 콘솔에서 설정한 이미지예요.
|
|
@@ -1533,20 +1536,32 @@ interface IapProductListItem {
|
|
|
1533
1536
|
* ### 구매 가능한 인앱결제 상품목록 가져오기
|
|
1534
1537
|
*
|
|
1535
1538
|
* ```tsx
|
|
1536
|
-
* import {
|
|
1537
|
-
* import { List, ListRow
|
|
1538
|
-
* import {
|
|
1539
|
+
* import { IAP, IapProductListItem } from "@apps-in-toss/framework";
|
|
1540
|
+
* import { Button, List, ListRow } from "@toss-design-system/react-native";
|
|
1541
|
+
* import { useEffect, useState } from "react";
|
|
1539
1542
|
*
|
|
1540
|
-
* function
|
|
1543
|
+
* function IapProductList() {
|
|
1541
1544
|
* const [products, setProducts] = useState<IapProductListItem[]>([]);
|
|
1542
1545
|
*
|
|
1546
|
+
* async function buyIapProduct(productId: string) {
|
|
1547
|
+
* try {
|
|
1548
|
+
* await IAP.createOneTimePurchaseOrder({
|
|
1549
|
+
* productId,
|
|
1550
|
+
* });
|
|
1551
|
+
*
|
|
1552
|
+
* console.error("인앱결제에 성공했어요");
|
|
1553
|
+
* } catch (error) {
|
|
1554
|
+
* console.error("인앱결제에 실패했어요:", error);
|
|
1555
|
+
* }
|
|
1556
|
+
* }
|
|
1557
|
+
*
|
|
1543
1558
|
* useEffect(() => {
|
|
1544
1559
|
* async function fetchProducts() {
|
|
1545
1560
|
* try {
|
|
1546
1561
|
* const response = await IAP.getProductItemList();
|
|
1547
1562
|
* setProducts(response?.products ?? []);
|
|
1548
1563
|
* } catch (error) {
|
|
1549
|
-
* console.error(
|
|
1564
|
+
* console.error("상품 목록을 가져오는 데 실패했어요:", error);
|
|
1550
1565
|
* }
|
|
1551
1566
|
* }
|
|
1552
1567
|
*
|
|
@@ -1558,7 +1573,22 @@ interface IapProductListItem {
|
|
|
1558
1573
|
* {products.map((product) => (
|
|
1559
1574
|
* <ListRow
|
|
1560
1575
|
* key={product.sku}
|
|
1561
|
-
*
|
|
1576
|
+
* left={
|
|
1577
|
+
* <ListRow.Image type="square" source={{ uri: product.iconUrl }} />
|
|
1578
|
+
* }
|
|
1579
|
+
* right={
|
|
1580
|
+
* <Button size="medium" onPress={() => buyIapProduct(product.sku)}>
|
|
1581
|
+
* 구매하기
|
|
1582
|
+
* </Button>
|
|
1583
|
+
* }
|
|
1584
|
+
* contents={
|
|
1585
|
+
* <ListRow.Texts
|
|
1586
|
+
* type="3RowTypeA"
|
|
1587
|
+
* top={product.displayName}
|
|
1588
|
+
* middle={product.description}
|
|
1589
|
+
* bottom={product.displayAmount}
|
|
1590
|
+
* />
|
|
1591
|
+
* }
|
|
1562
1592
|
* />
|
|
1563
1593
|
* ))}
|
|
1564
1594
|
* </List>
|
|
@@ -1574,8 +1604,8 @@ declare function getProductItemList(): Promise<{
|
|
|
1574
1604
|
* @category 인앱결제
|
|
1575
1605
|
* @name IAP
|
|
1576
1606
|
* @description 인앱결제 관련 기능을 모은 객체예요. 단건 인앱결제 주문서 이동과 상품 목록 조회 기능을 제공해요.
|
|
1577
|
-
* @property {typeof createOneTimePurchaseOrder} [createOneTimePurchaseOrder] 특정 인앱결제 주문서 페이지로 이동해요. 자세한 내용은 [createOneTimePurchaseOrder](/bedrock/reference/framework
|
|
1578
|
-
* @property {typeof getProductItemList} [getProductItemList] 인앱결제로 구매할 수 있는 상품 목록을 가져와요. 자세한 내용은 [getProductItemList](/bedrock/reference/framework
|
|
1607
|
+
* @property {typeof createOneTimePurchaseOrder} [createOneTimePurchaseOrder] 특정 인앱결제 주문서 페이지로 이동해요. 자세한 내용은 [createOneTimePurchaseOrder](https://developers-apps-in-toss.toss.im/bedrock/reference/framework/%EC%9D%B8%EC%95%B1%20%EA%B2%B0%EC%A0%9C/getProductItemList.html) 문서를 참고하세요.
|
|
1608
|
+
* @property {typeof getProductItemList} [getProductItemList] 인앱결제로 구매할 수 있는 상품 목록을 가져와요. 자세한 내용은 [getProductItemList](https://developers-apps-in-toss.toss.im/bedrock/reference/framework/%EC%9D%B8%EC%95%B1%20%EA%B2%B0%EC%A0%9C/createOneTimePurchaseOrder.html) 문서를 참고하세요.
|
|
1579
1609
|
*/
|
|
1580
1610
|
declare const IAP: {
|
|
1581
1611
|
createOneTimePurchaseOrder: typeof createOneTimePurchaseOrder;
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@apps-in-toss/framework",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.38",
|
|
5
5
|
"description": "The framework for Apps In Toss",
|
|
6
6
|
"scripts": {
|
|
7
7
|
"prepack": "yarn build",
|
|
@@ -57,9 +57,9 @@
|
|
|
57
57
|
"ait": "./bin/ait.js"
|
|
58
58
|
},
|
|
59
59
|
"dependencies": {
|
|
60
|
-
"@apps-in-toss/analytics": "0.0.
|
|
61
|
-
"@apps-in-toss/cli": "0.0.
|
|
62
|
-
"@apps-in-toss/plugins": "0.0.
|
|
60
|
+
"@apps-in-toss/analytics": "0.0.38",
|
|
61
|
+
"@apps-in-toss/cli": "0.0.38",
|
|
62
|
+
"@apps-in-toss/plugins": "0.0.38",
|
|
63
63
|
"es-hangul": "^2.3.2"
|
|
64
64
|
},
|
|
65
65
|
"devDependencies": {
|
|
@@ -94,5 +94,5 @@
|
|
|
94
94
|
"publishConfig": {
|
|
95
95
|
"access": "public"
|
|
96
96
|
},
|
|
97
|
-
"gitHead": "
|
|
97
|
+
"gitHead": "ce9e4e922e27220978e7975e350539e863088b38"
|
|
98
98
|
}
|
package/dist/bridge-meta.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { default } from '@apps-in-toss/native-modules/bridges-meta.json';
|
package/dist/bridge-meta.js
DELETED
|
@@ -1,183 +0,0 @@
|
|
|
1
|
-
// ../../.yarn/__virtual__/@apps-in-toss-native-modules-virtual-4a79bcc1be/0/cache/@apps-in-toss-native-modules-file-24bf1cdf34-d3a2a29b7c.zip/node_modules/@apps-in-toss/native-modules/dist/bridges-meta.json
|
|
2
|
-
var bridges_meta_default = [
|
|
3
|
-
{
|
|
4
|
-
identifier: "closeView",
|
|
5
|
-
dts: "/**\n * @public\n * @category \uD654\uBA74 \uC81C\uC5B4\n * @kind function\n * @name closeView\n * @description \uD604\uC7AC \uD654\uBA74\uC744 \uB2EB\uB294 \uD568\uC218\uC5D0\uC694. \uC608\uB97C \uB4E4\uC5B4, \"\uB2EB\uAE30\" \uBC84\uD2BC\uC744 \uB20C\uB7EC\uC11C \uC11C\uBE44\uC2A4\uB97C \uC885\uB8CC\uD560 \uB54C \uC0AC\uC6A9\uD560 \uC218 \uC788\uC5B4\uC694.\n * @returns {Promise<void>}\n *\n * @example\n * ### \uB2EB\uAE30 \uBC84\uD2BC\uC744 \uB20C\uB7EC \uD654\uBA74 \uB2EB\uAE30\n *\n * ```tsx\n * import { Button } from 'react-native';\n * import { closeView } from 'react-native-bedrock';\n *\n * function CloseButton() {\n * return <Button title=\"\uB2EB\uAE30\" onPress={closeView} />;\n * }\n * ```\n */\nexport declare function closeView(): Promise<void>;\n\nexport {};\n"
|
|
6
|
-
},
|
|
7
|
-
{
|
|
8
|
-
identifier: "generateHapticFeedback",
|
|
9
|
-
dts: 'export type HapticFeedbackType = "tickWeak" | "tap" | "tickMedium" | "softMedium" | "basicWeak" | "basicMedium" | "success" | "error" | "wiggle" | "confetti";\n/**\n * @public\n * @category \uC778\uD130\uB809\uC158\n * @name HapticFeedbackOptions\n * @description\n * generateHapticFeedback \uD568\uC218\uC5D0 \uC804\uB2EC\uD560 \uD585\uD2F1\uC9C4\uB3D9\uC758 \uD0C0\uC785\uC744 \uB098\uD0C0\uB0B4\uC694. \uC9C4\uB3D9\uD0C0\uC785\uC758 \uC885\uB958\uB294 \uB2E4\uC74C\uACFC \uAC19\uC544\uC694.\n * ```typescript\n * type HapticFeedbackType =\n * | "tickWeak"\n * | "tap"\n * | "tickMedium"\n * | "softMedium"\n * | "basicWeak"\n * | "basicMedium"\n * | "success"\n * | "error"\n * | "wiggle"\n * | "confetti";\n * ```\n * @typedef { type: HapticFeedbackType } HapticFeedbackOptions\n * @typedef { "tickWeak" | "tap" | "tickMedium" | "softMedium" | "basicWeak" | "basicMedium" | "success" | "error" | "wiggle" | "confetti" } HapticFeedbackType\n *\n */\nexport interface HapticFeedbackOptions {\n type: HapticFeedbackType;\n}\n/**\n * @public\n * @category \uC778\uD130\uB809\uC158\n * @name generateHapticFeedback\n * @description \uB514\uBC14\uC774\uC2A4\uC5D0 \uD585\uD2F1 \uC9C4\uB3D9\uC744 \uC77C\uC73C\uD0A4\uB294 \uD568\uC218\uC608\uC694. \uC608\uB97C \uB4E4\uC5B4, \uBC84\uD2BC \uD130\uCE58\uB098 \uD654\uBA74\uC804\uD658\uC5D0 \uB4DC\uB77C\uB9C8\uD2F1\uD55C \uD6A8\uACFC\uB97C \uC8FC\uACE0 \uC2F6\uC744 \uB54C \uC0AC\uC6A9\uD560 \uC218 \uC788\uC5B4\uC694. [HapticFeedbackOptions](/react-native/reference/native-modules/\uC778\uD130\uB809\uC158/HapticFeedbackOptions.html)\uC5D0\uC11C \uC9C4\uB3D9\uD0C0\uC785\uC744 \uD655\uC778\uD574 \uBCF4\uC138\uC694.\n * @returns {void}\n *\n * @example\n * ### \uBC84\uD2BC\uC744 \uB20C\uB7EC \uD585\uD2F1 \uC77C\uC73C\uD0A4\uAE30\n *\n * ```tsx\n * import { Button } from \'react-native\';\n * import { generateHapticFeedback } from \'react-native-bedrock\';\n *\n * function GenerateHapticFeedback() {\n * return <Button title="\uD585\uD2F1" onPress={() => { generateHapticFeedback( { type: "tickWeak"}) }} />;\n * }\n * ```\n */\nexport declare function generateHapticFeedback(options: HapticFeedbackOptions): Promise<void>;\n\nexport {};\n'
|
|
10
|
-
},
|
|
11
|
-
{
|
|
12
|
-
identifier: "share",
|
|
13
|
-
dts: "/**\n * @public\n * @category \uACF5\uC720\n * @kind function\n * @name share\n * @description\n * \uC0AC\uC6A9\uC790\uAC00 \uCF58\uD150\uCE20\uB97C \uB2E4\uB978 \uC0AC\uB78C\uACFC \uACF5\uC720\uD560 \uC218 \uC788\uB3C4\uB85D \uB124\uC774\uD2F0\uBE0C \uACF5\uC720 \uC2DC\uD2B8\uB97C \uD45C\uC2DC\uD574\uC694.\n * `options.message` \uC18D\uC131\uC5D0 \uACF5\uC720\uD560 \uBA54\uC2DC\uC9C0\uB97C \uC804\uB2EC\uD558\uBA74, \uC0AC\uC6A9\uC790\uAC00 \uC120\uD0DD\uD560 \uC218 \uC788\uB294 \uC571 \uBAA9\uB85D\uC774 \uD45C\uC2DC\uB3FC\uC694.\n * \uC608\uB97C \uB4E4\uC5B4, \uC0AC\uC6A9\uC790\uAC00 \uD14D\uC2A4\uD2B8 \uBA54\uC2DC\uC9C0\uB97C \uACF5\uC720\uD558\uAC70\uB098 \uBA54\uBAA8 \uC571\uC5D0 \uC800\uC7A5\uD558\uB824\uACE0 \uD560 \uB54C \uC720\uC6A9\uD574\uC694.\n * @param {object} options - \uACF5\uC720\uD560 \uBA54\uC2DC\uC9C0\uB97C \uB2F4\uC740 \uAC1D\uCCB4\uC608\uC694.\n * @param {string} options.message - \uACF5\uC720\uD560 \uD14D\uC2A4\uD2B8 \uBB38\uC790\uC5F4\uC774\uC5D0\uC694. \uC608\uB97C \uB4E4\uC5B4, \"\uC548\uB155\uD558\uC138\uC694! \uC774 \uB0B4\uC6A9\uC744 \uACF5\uC720\uD569\uB2C8\uB2E4.\"\n *\n * @example\n * ### \uACF5\uC720\uD558\uAE30 \uAE30\uB2A5 \uAD6C\uD604\uD558\uAE30\n *\n * \uC544\uB798\uB294 \uBC84\uD2BC\uC744 \uD074\uB9AD\uD558\uBA74 \uBA54\uC2DC\uC9C0\uB97C \uACF5\uC720\uD558\uB294 \uAC04\uB2E8\uD55C \uC608\uC81C\uC608\uC694.\n *\n * ```tsx\n * import { share } from 'react-native-bedrock';\n * import { Button } from 'react-native';\n *\n * function MyPage() {\n * return (\n * <Button\n * title=\"\uACF5\uC720\"\n * onPress={() => share({ message: '\uACF5\uC720\uD560 \uBA54\uC2DC\uC9C0\uC785\uB2C8\uB2E4.' })}\n * />\n * );\n * }\n * ```\n */\nexport declare function share(message: {\n message: string;\n}): Promise<void>;\n\nexport {};\n"
|
|
14
|
-
},
|
|
15
|
-
{
|
|
16
|
-
identifier: "setSecureScreen",
|
|
17
|
-
dts: "/**\n * @public\n * @name setSecureScreen\n * @category \uD654\uBA74 \uC81C\uC5B4\n * @kind function\n * @description\n * \uD654\uBA74 \uCEA1\uCCD0\uB97C \uCC28\uB2E8\uD574\uC11C \uBBFC\uAC10\uD55C \uC815\uBCF4\uAC00 \uC720\uCD9C\uB418\uC9C0 \uC54A\uB3C4\uB85D \uBCF4\uD638\uD558\uAC70\uB098, \uD544\uC694\uD560 \uACBD\uC6B0 \uCEA1\uCCD0\uB97C \uD5C8\uC6A9\uD558\uB3C4\uB85D \uC124\uC815\uD574\uC694. \uC608\uB97C \uB4E4\uC5B4 \uBCF4\uC548\uC774 \uC911\uC694\uD55C \uD654\uBA74\uC5D0\uC11C \uC0AC\uC6A9\uD560 \uC218 \uC788\uC5B4\uC694.\n *\n * @param {object} options \uD654\uBA74 \uCEA1\uCCD0 \uC124\uC815 \uC635\uC158\uC774\uC5D0\uC694.\n * @param {boolean} options.enabled \uD654\uBA74 \uCEA1\uCCD0\uB97C \uCC28\uB2E8\uD560\uC9C0 \uC5EC\uBD80\uB97C \uC124\uC815\uD574\uC694. `true`\uBA74 \uCEA1\uCCD0\uB97C \uCC28\uB2E8\uD558\uACE0, `false`\uBA74 \uD5C8\uC6A9\uD574\uC694.\n * @returns {enabled: boolean} \uD604\uC7AC \uC124\uC815\uB41C \uCEA1\uCCD0 \uCC28\uB2E8 \uC0C1\uD0DC\uB97C \uBC18\uD658\uD574\uC694.\n *\n * @example\n * ### \uCEA1\uCCD0 \uD5C8\uC6A9 \uC0C1\uD0DC \uBCC0\uACBD\uD558\uAE30\n *\n * ```tsx\n * import { Button } from 'react-native';\n * import { setSecureScreen } from 'react-native-bedrock';\n *\n * function SetSecureScreen() {\n * return <Button title=\"\uCEA1\uCCD0 \uB9C9\uAE30\" onPress={async () => {\n * await setSecureScreen({ enabled: true });\n * }} />;\n * }\n * ```\n */\nexport declare function setSecureScreen(options: {\n enabled: boolean;\n}): Promise<{\n enabled: boolean;\n}>;\n\nexport {};\n"
|
|
18
|
-
},
|
|
19
|
-
{
|
|
20
|
-
identifier: "setScreenAwakeMode",
|
|
21
|
-
dts: "/**\n * @public\n * @category \uD654\uBA74 \uC81C\uC5B4\n * @kind function\n * @name setScreenAwakeMode\n * @description\n * `setScreenAwakeMode` \uD568\uC218\uB294 \uD654\uBA74\uC774 \uD56D\uC0C1 \uCF1C\uC838 \uC788\uB3C4\uB85D \uC124\uC815\uD558\uAC70\uB098 \uD574\uC81C\uD558\uB294 \uAE30\uB2A5\uC744 \uC81C\uACF5\uD574\uC694.\n * \uC774 \uAE30\uB2A5\uC740 \uC6F9\uD230, \uB3D9\uC601\uC0C1, \uBB38\uC11C \uC77D\uAE30 \uB4F1 \uD654\uBA74\uC744 \uC9C0\uC18D\uD574\uC11C \uCF1C\uB450\uC5B4\uC57C \uD558\uB294 \uC0C1\uD669\uC5D0\uC11C \uC720\uC6A9\uD574\uC694.\n *\n * `enabled` \uC635\uC158\uC744 `true`\uB85C \uC124\uC815\uD558\uBA74 \uD654\uBA74\uC774 \uAEBC\uC9C0\uC9C0 \uC54A\uAC8C \uC720\uC9C0\uD558\uACE0, `false`\uB85C \uC124\uC815\uD558\uBA74 \uAE30\uBCF8 \uD654\uBA74 \uBCF4\uD638\uAE30 \uC2DC\uAC04\uC5D0 \uB530\uB77C \uD654\uBA74\uC774 \uAEBC\uC838\uC694. \uD2B9\uD788, \uC774 \uD568\uC218\uB294 \uC571 \uC804\uCCB4\uC5D0 \uC601\uD5A5\uC744 \uBBF8\uCE58\uBBC0\uB85C \uD2B9\uC815 \uD654\uBA74\uC5D0\uC11C\uB9CC \uC0AC\uC6A9\uD558\uB824\uBA74 \uD654\uBA74\uC744 \uBC97\uC5B4\uB0A0 \uB54C \uC774\uC804 \uC0C1\uD0DC\uB85C \uBCF5\uAD6C\uD558\uB294 \uCD94\uAC00 \uC791\uC5C5\uC774 \uD544\uC694\uD574\uC694.\n *\n * \uC608\uB97C \uB4E4\uC5B4, \uBBF8\uB514\uC5B4 \uCF58\uD150\uCE20 \uAC10\uC0C1 \uD654\uBA74\uC5D0\uC11C\uB294 \uD56D\uC0C1 \uCF1C\uC9D0 \uBAA8\uB4DC\uB97C \uD65C\uC131\uD654\uD558\uACE0, \uD654\uBA74\uC744 \uB5A0\uB0A0 \uB54C \uC124\uC815\uC744 \uBCF5\uAD6C\uD574\uC11C \uBD88\uD544\uC694\uD55C \uBC30\uD130\uB9AC \uC18C\uBAA8\uB97C \uBC29\uC9C0\uD560 \uC218 \uC788\uC5B4\uC694.\n *\n * \uB2E4\uB9CC, \uC571\uC5D0\uC11C \uBC97\uC5B4\uB098\uB294 \uC0C1\uD669\uC5D0\uC11C\uB294 \uD56D\uC0C1 \uCF1C\uC9D0 \uBAA8\uB4DC\uAC00 \uBE44\uD65C\uC131\uD654\uB420 \uC218 \uC788\uC73C\uB2C8 \uC8FC\uC758\uD574\uC57C \uD574\uC694.\n *\n * @param {object} options \uD654\uBA74 \uD56D\uC0C1 \uCF1C\uC9D0 \uBAA8\uB4DC\uC758 \uC124\uC815 \uAC12\uC774\uC5D0\uC694.\n * @param {boolean} options.enabled \uD654\uBA74 \uD56D\uC0C1 \uCF1C\uC9D0 \uBAA8\uB4DC\uB97C \uCF1C\uAC70\uB098 \uB044\uB294 \uC635\uC158\uC774\uC5D0\uC694.\n * `true`\uB85C \uC124\uC815\uD558\uBA74 \uD654\uBA74\uC774 \uD56D\uC0C1 \uCF1C\uC9C0\uACE0, `false`\uB85C \uC124\uC815\uD558\uBA74 \uD654\uBA74 \uBCF4\uD638\uAE30 \uC2DC\uAC04\uC5D0 \uB530\uB77C \uAEBC\uC838\uC694.\n *\n * @returns {object} \uD604\uC7AC \uD654\uBA74 \uD56D\uC0C1 \uCF1C\uC9D0 \uBAA8\uB4DC\uC758 \uC124\uC815 \uC0C1\uD0DC\uB97C \uBC18\uD658\uD574\uC694.\n * @returns {boolean} enabled \uD654\uBA74 \uD56D\uC0C1 \uCF1C\uC9D0 \uBAA8\uB4DC\uAC00 \uCF1C\uC838 \uC788\uB294\uC9C0 \uC5EC\uBD80\uB97C \uB098\uD0C0\uB0B4\uB294 \uAC12\uC774\uC5D0\uC694.\n *\n * @example\n * ### \uD654\uBA74 \uD56D\uC0C1 \uCF1C\uC9D0 \uBAA8\uB4DC \uC124\uC815\uD558\uAE30\n *\n * ```tsx\n * import { Button } from 'react-native';\n * import { setScreenAwakeMode } from 'react-native-bedrock';\n *\n * function SetScreenAwakeMode() {\n * return (\n * <Button\n * title=\"\uD654\uBA74 \uD56D\uC0C1 \uCF1C\uAE30\"\n * onPress={() => {\n * setScreenAwakeMode({ enabled: true });\n * }}\n * />\n * );\n * }\n * ```\n *\n * ### \uD654\uBA74 \uD56D\uC0C1 \uCF1C\uC9D0 \uBAA8\uB4DC \uBCF5\uAD6C\uD558\uAE30\n * \uD2B9\uC815 \uD654\uBA74\uC744 \uBC97\uC5B4\uB0A0 \uB54C \uC774\uC804 \uC0C1\uD0DC\uB85C \uBCF5\uAD6C\uD558\uB824\uBA74 \uB2E4\uC74C\uACFC \uAC19\uC774 `useEffect`\uB97C \uC0AC\uC6A9\uD558\uC138\uC694.\n *\n * ```tsx\n * import { useEffect } from 'react';\n * import { setScreenAwakeMode, cleanUp } from 'react-native-bedrock';\n *\n * function MediaScreen() {\n * useEffect(() => {\n * setScreenAwakeMode({ enabled: true });\n *\n * return () => {\n * setScreenAwakeMode({ enabled: false }); // \uC124\uC815\uC744 \uC774\uC804 \uC0C1\uD0DC\uB85C \uBCF5\uAD6C\uD574\uC694.\n * };\n * }, []);\n *\n * return <Text>\uBBF8\uB514\uC5B4 \uCF58\uD150\uCE20\uB97C \uAC10\uC0C1\uD558\uB294 \uD654\uBA74</Text>;\n * }\n * ```\n */\nexport declare function setScreenAwakeMode(options: {\n enabled: boolean;\n}): Promise<{\n enabled: boolean;\n}>;\n\nexport {};\n"
|
|
22
|
-
},
|
|
23
|
-
{
|
|
24
|
-
identifier: "getNetworkStatus",
|
|
25
|
-
dts: 'export type NetworkStatus = "OFFLINE" | "WIFI" | "2G" | "3G" | "4G" | "5G" | "WWAN" | "UNKNOWN";\n/**\n * @public\n * @category \uB124\uD2B8\uC6CC\uD06C\n * @kind function\n * @name getNetworkStatus\n * @description\n * \uB514\uBC14\uC774\uC2A4\uC758 \uD604\uC7AC \uB124\uD2B8\uC6CC\uD06C \uC5F0\uACB0 \uC0C1\uD0DC\uB97C \uAC00\uC838\uC624\uB294 \uD568\uC218\uC608\uC694.\n * \uBC18\uD658 \uAC12\uC740 `NetworkStatus` \uD0C0\uC785\uC73C\uB85C, \uC778\uD130\uB137 \uC5F0\uACB0 \uC5EC\uBD80\uC640 \uC5F0\uACB0 \uC720\uD615(Wi-Fi, \uBAA8\uBC14\uC77C \uB370\uC774\uD130 \uB4F1)\uC744 \uB098\uD0C0\uB0B4\uC694. \uAC12\uC740 \uB2E4\uC74C \uC911 \uD558\uB098\uC608\uC694.\n *\n * - `OFFLINE`: \uC778\uD130\uB137\uC5D0 \uC5F0\uACB0\uB418\uC9C0 \uC54A\uC740 \uC0C1\uD0DC\uC608\uC694.\n * - `WIFI`: Wi-Fi\uC5D0 \uC5F0\uACB0\uB41C \uC0C1\uD0DC\uC608\uC694.\n * - `2G`: 2G \uB124\uD2B8\uC6CC\uD06C\uC5D0 \uC5F0\uACB0\uB41C \uC0C1\uD0DC\uC608\uC694.\n * - `3G`: 3G \uB124\uD2B8\uC6CC\uD06C\uC5D0 \uC5F0\uACB0\uB41C \uC0C1\uD0DC\uC608\uC694.\n * - `4G`: 4G \uB124\uD2B8\uC6CC\uD06C\uC5D0 \uC5F0\uACB0\uB41C \uC0C1\uD0DC\uC608\uC694.\n * - `5G`: 5G \uB124\uD2B8\uC6CC\uD06C\uC5D0 \uC5F0\uACB0\uB41C \uC0C1\uD0DC\uC608\uC694.\n * - `WWAN`: \uC778\uD130\uB137\uC740 \uC5F0\uACB0\uB418\uC5C8\uC9C0\uB9CC, \uC5F0\uACB0 \uC720\uD615(Wi-Fi, 2G~5G)\uC744 \uC54C \uC218 \uC5C6\uB294 \uC0C1\uD0DC\uC608\uC694. \uC774 \uC0C1\uD0DC\uB294 iOS\uC5D0\uC11C\uB9CC \uD655\uC778\uD560 \uC218 \uC788\uC5B4\uC694.\n * - `UNKNOWN`: \uC778\uD130\uB137 \uC5F0\uACB0 \uC0C1\uD0DC\uB97C \uC54C \uC218 \uC5C6\uB294 \uC0C1\uD0DC\uC608\uC694. \uC774 \uC0C1\uD0DC\uB294 \uC548\uB4DC\uB85C\uC774\uB4DC\uC5D0\uC11C\uB9CC \uD655\uC778\uD560 \uC218 \uC788\uC5B4\uC694.\n *\n * @returns {Promise<NetworkStatus>} \uB124\uD2B8\uC6CC\uD06C \uC0C1\uD0DC\uB97C \uBC18\uD658\uD574\uC694.\n *\n * @example\n * ### \uD604\uC7AC \uB124\uD2B8\uC6CC\uD06C \uC0C1\uD0DC \uAC00\uC838\uC624\uAE30\n *\n * \uB124\uD2B8\uC6CC\uD06C \uC5F0\uACB0 \uC0C1\uD0DC\uB97C \uAC00\uC838\uC640 \uD654\uBA74\uC5D0 \uD45C\uC2DC\uD558\uB294 \uC608\uC81C\uC608\uC694.\n *\n * ```tsx\n * import { useState, useEffect } from \'react\';\n * import { Text, View } from \'react-native\';\n * import { getNetworkStatus, NetworkStatus } from \'react-native-bedrock\';\n *\n * function GetNetworkStatus() {\n * const [status, setStatus] = useState<NetworkStatus | \'\'>(\'\');\n *\n * useEffect(() => {\n * async function fetchStatus() {\n * const networkStatus = await getNetworkStatus();\n * setStatus(networkStatus);\n * }\n *\n * fetchStatus();\n * }, []);\n *\n * return (\n * <View>\n * <Text>\uD604\uC7AC \uB124\uD2B8\uC6CC\uD06C \uC0C1\uD0DC: {status}</Text>\n * </View>\n * );\n * }\n * ```\n */\nexport declare function getNetworkStatus(): Promise<NetworkStatus>;\n\nexport {};\n'
|
|
26
|
-
},
|
|
27
|
-
{
|
|
28
|
-
identifier: "setIosSwipeGestureEnabled",
|
|
29
|
-
dts: "/**\n * @public\n * @category \uD654\uBA74 \uC81C\uC5B4\n * @name setIosSwipeGestureEnabled\n * @description\n * `setIosSwipeGestureEnabled` \uD568\uC218\uB294 iOS\uC5D0\uC11C \uD654\uBA74\uC744 \uC2A4\uC640\uC774\uD504\uD558\uC5EC \uB4A4\uB85C\uAC00\uAE30 \uAE30\uB2A5\uC744 \uD65C\uC131\uD654\uD558\uAC70\uB098 \uBE44\uD65C\uC131\uD654\uD560 \uC218 \uC788\uC5B4\uC694.\n *\n * @param {object} options \uC2A4\uC640\uC774\uD504\uD558\uC5EC \uB4A4\uB85C\uAC00\uAE30 \uAE30\uB2A5\uC744 \uD65C\uC131\uD654\uD558\uAC70\uB098 \uBE44\uD65C\uC131\uD654\uD558\uB294 \uC635\uC158\uC774\uC5D0\uC694.\n * @param {boolean} options.isEnabled \uD654\uBA74\uC744 \uC2A4\uC640\uC774\uD504\uD558\uC5EC \uB4A4\uB85C\uAC00\uAE30 \uAE30\uB2A5\uC744 \uD65C\uC131\uD654\uD558\uAC70\uB098 \uBE44\uD65C\uC131\uD654\uD560 \uC218 \uC788\uC5B4\uC694. `true`\uB97C \uC124\uC815\uD558\uBA74 \uC2A4\uC640\uC774\uD504\uB85C \uB4A4\uB85C\uAC08 \uC218 \uC788\uACE0, `false`\uB97C \uC124\uC815\uD558\uBA74 \uC2A4\uC640\uC774\uD504 \uB4A4\uB85C\uAC00\uAE30 \uAE30\uB2A5\uC774 \uBE44\uD65C\uC131\uD654\uB3FC\uC694.\n *\n * @returns {void}\n *\n * @example\n *\n * ### iOS\uC5D0\uC11C \uD654\uBA74 \uC2A4\uC640\uC774\uD504\uB85C \uB4A4\uB85C\uAC00\uAE30 \uAE30\uB2A5\uC744 \uD65C\uC131\uD654\uD558\uAC70\uB098 \uBE44\uD65C\uC131\uD654\uD558\uAE30\n *\n * **\uC2A4\uC640\uC774\uD504 \uB044\uAE30** \uBC84\uD2BC\uC744 \uB20C\uB7EC \uD654\uBA74 \uC2A4\uC640\uC774\uD504\uB85C \uB4A4\uB85C\uAC00\uAE30 \uAE30\uB2A5\uC744 \uBE44\uD65C\uC131\uD654\uD558\uAC70\uB098, **\uC2A4\uC640\uC774\uD504 \uCF1C\uAE30** \uBC84\uD2BC\uC744 \uB20C\uB7EC \uD654\uBA74 \uC2A4\uC640\uC774\uD504\uB85C \uB4A4\uB85C\uAC00\uAE30 \uAE30\uB2A5\uC744 \uD65C\uC131\uD654\uD560 \uC218 \uC788\uC5B4\uC694.\n *\n *\n * ```tsx\n * import { setIosSwipeGestureEnabled } from 'react-native-bedrock';\n * import { Button } from 'react-native';\n *\n * function Page() {\n * return (\n * <>\n * <Button title=\"\uC2A4\uC640\uC774\uD504 \uB044\uAE30\" onPress={() => setIosSwipeGestureEnabled({ isEnabled: false })} />\n * <Button title=\"\uC2A4\uC640\uC774\uD504 \uCF1C\uAE30\" onPress={() => setIosSwipeGestureEnabled({ isEnabled: true })} />\n * </>\n * );\n * }\n * ```\n *\n */\nexport declare function setIosSwipeGestureEnabled(options: {\n isEnabled: boolean;\n}): Promise<void>;\n\nexport {};\n"
|
|
30
|
-
},
|
|
31
|
-
{
|
|
32
|
-
identifier: "openURL",
|
|
33
|
-
dts: "/**\n * @public\n * @kind function\n * @category \uD654\uBA74 \uC774\uB3D9\n *\n * @name openURL\n * @signature\n * ```typescript\n * function openURL(url: string): Promise<any>;\n * ```\n *\n * @description\n * \uC9C0\uC815\uB41C URL\uC744 \uAE30\uAE30\uC758 \uAE30\uBCF8 \uBE0C\uB77C\uC6B0\uC800\uB098 \uAD00\uB828 \uC571\uC5D0\uC11C \uC5F4\uC5B4\uC694.\n * \uC774 \uD568\uC218\uB294 `react-native`\uC758 [`Linking.openURL`](https://reactnative.dev/docs/0.72/linking#openurl) \uBA54\uC11C\uB4DC\uB97C \uC0AC\uC6A9\uD558\uC5EC URL\uC744 \uC5F4\uC5B4\uC694.\n *\n * @param {string} url \uC5F4\uACE0\uC790 \uD558\uB294 URL \uC8FC\uC18C\n * @returns {Promise<any>} URL\uC774 \uC131\uACF5\uC801\uC73C\uB85C \uC5F4\uB838\uC744 \uB54C \uD574\uACB0\uB418\uB294 Promise\n *\n * @example\n *\n * ### \uC678\uBD80 URL \uC5F4\uAE30\n *\n * ```tsx\n * import { openURL } from 'react-native-bedrock';\n * import { Button } from 'react-native';\n *\n * function Page() {\n * const handlePress = () => {\n * openURL('https://google.com');\n * };\n *\n * return <Button title=\"\uAD6C\uAE00 \uC6F9\uC0AC\uC774\uD2B8 \uC5F4\uAE30\" onPress={handlePress} />;\n * }\n * ```\n */\nexport declare function openURL(url: string): Promise<any>;\n\nexport {};\n"
|
|
34
|
-
},
|
|
35
|
-
{
|
|
36
|
-
identifier: "setClipboardText",
|
|
37
|
-
dts: "/**\n * @public\n * @category \uD074\uB9BD\uBCF4\uB4DC\n * @name setClipboardText\n * @description \uD14D\uC2A4\uD2B8\uB97C \uD074\uB9BD\uBCF4\uB4DC\uC5D0 \uBCF5\uC0AC\uD574\uC11C \uC0AC\uC6A9\uC790\uAC00 \uB2E4\uB978 \uACF3\uC5D0 \uBD99\uC5EC \uB123\uAE30 \uD560 \uC218 \uC788\uC5B4\uC694.\n * @param {Promise<void>} text - \uD074\uB9BD\uBCF4\uB4DC\uC5D0 \uBCF5\uC0AC\uD560 \uD14D\uC2A4\uD2B8\uC608\uC694. \uBB38\uC790\uC5F4 \uD615\uC2DD\uC73C\uB85C \uC785\uB825\uD574\uC694.\n *\n * @example\n * ### \uD14D\uC2A4\uD2B8\uB97C \uD074\uB9BD\uBCF4\uB4DC\uC5D0 \uBCF5\uC0AC\uD558\uAE30\n *\n * ```tsx\n * import { Button } from 'react-native';\n * import { setClipboardText } from '@apps-in-toss/framework';\n *\n * // '\uBCF5\uC0AC' \uBC84\uD2BC\uC744 \uB204\uB974\uBA74 \"\uBCF5\uC0AC\uD560 \uD14D\uC2A4\uD2B8\"\uAC00 \uD074\uB9BD\uBCF4\uB4DC\uC5D0 \uBCF5\uC0AC\uB3FC\uC694.\n * function CopyButton() {\n * const handleCopy = async () => {\n * try {\n * await setClipboardText('\uBCF5\uC0AC\uD560 \uD14D\uC2A4\uD2B8');\n * console.log('\uD14D\uC2A4\uD2B8\uAC00 \uBCF5\uC0AC\uB410\uC5B4\uC694!');\n * } catch (error) {\n * console.error('\uD14D\uC2A4\uD2B8 \uBCF5\uC0AC\uC5D0 \uC2E4\uD328\uD588\uC5B4\uC694:', error);\n * }\n * };\n *\n * return <Button title=\"\uBCF5\uC0AC\" onPress={handleCopy} />;\n * }\n * ```\n */\nexport declare function setClipboardText(text: string): Promise<void>;\n\nexport {};\n"
|
|
38
|
-
},
|
|
39
|
-
{
|
|
40
|
-
identifier: "getClipboardText",
|
|
41
|
-
dts: "/**\n * @public\n * @category \uD074\uB9BD\uBCF4\uB4DC\n * @name getClipboardText\n * @description \uD074\uB9BD\uBCF4\uB4DC\uC5D0 \uC800\uC7A5\uB41C \uD14D\uC2A4\uD2B8\uB97C \uAC00\uC838\uC624\uB294 \uD568\uC218\uC608\uC694. \uBCF5\uC0AC\uB41C \uD14D\uC2A4\uD2B8\uB97C \uC77D\uC5B4\uC11C \uB2E4\uB978 \uC791\uC5C5\uC5D0 \uD65C\uC6A9\uD560 \uC218 \uC788\uC5B4\uC694.\n * @returns {Promise<string>} - \uD074\uB9BD\uBCF4\uB4DC\uC5D0 \uC800\uC7A5\uB41C \uD14D\uC2A4\uD2B8\uB97C \uBC18\uD658\uD574\uC694. \uD074\uB9BD\uBCF4\uB4DC\uC5D0 \uD14D\uC2A4\uD2B8\uAC00 \uC5C6\uC73C\uBA74 \uBE48 \uBB38\uC790\uC5F4\uC744 \uBC18\uD658\uD574\uC694.\n *\n * @example\n * ### \uD074\uB9BD\uBCF4\uB4DC\uC758 \uD14D\uC2A4\uD2B8 \uAC00\uC838\uC624\uAE30\n *\n * ```tsx\n * import React, { useState } from 'react';\n * import { View, Text, Button } from 'react-native';\n * import { getClipboardText } from '@apps-in-toss/framework';\n *\n * // '\uBD99\uC5EC\uB123\uAE30' \uBC84\uD2BC\uC744 \uB204\uB974\uBA74 \uD074\uB9BD\uBCF4\uB4DC\uC5D0 \uC800\uC7A5\uB41C \uD14D\uC2A4\uD2B8\uB97C \uAC00\uC838\uC640 \uD654\uBA74\uC5D0 \uD45C\uC2DC\uD574\uC694.\n * function PasteButton() {\n * const [text, setText] = useState('');\n *\n * const handlePress = async () => {\n * try {\n * const clipboardText = await getClipboardText();\n * setText(clipboardText || '\uD074\uB9BD\uBCF4\uB4DC\uC5D0 \uD14D\uC2A4\uD2B8\uAC00 \uC5C6\uC5B4\uC694.');\n * } catch (error) {\n * console.error('\uD074\uB9BD\uBCF4\uB4DC\uC5D0\uC11C \uD14D\uC2A4\uD2B8\uB97C \uAC00\uC838\uC624\uC9C0 \uBABB\uD588\uC5B4\uC694:', error);\n * }\n * };\n *\n * return (\n * <View>\n * <Text>{text}</Text>\n * <Button title=\"\uBD99\uC5EC\uB123\uAE30\" onPress={handlePress} />\n * </View>\n * );\n * }\n * ```\n */\nexport declare function getClipboardText(): Promise<string>;\n\nexport {};\n"
|
|
42
|
-
},
|
|
43
|
-
{
|
|
44
|
-
identifier: "fetchContacts",
|
|
45
|
-
dts: "/**\n * \uC5F0\uB77D\uCC98 \uC815\uBCF4\uB97C \uB098\uD0C0\uB0B4\uB294 \uD0C0\uC785\uC774\uC5D0\uC694.\n */\nexport interface ContactEntity {\n /** \uC5F0\uB77D\uCC98 \uC774\uB984\uC774\uC5D0\uC694. */\n name: string;\n /** \uC5F0\uB77D\uCC98 \uC804\uD654\uBC88\uD638\uB85C, \uBB38\uC790\uC5F4 \uD615\uC2DD\uC774\uC5D0\uC694. */\n phoneNumber: string;\n}\nexport interface ContactResult {\n result: ContactEntity[];\n nextOffset: number | null;\n done: boolean;\n}\n/**\n * @public\n * @category \uC5F0\uB77D\uCC98\n * @name fetchContacts\n * @description \uC0AC\uC6A9\uC790\uC758 \uC5F0\uB77D\uCC98 \uBAA9\uB85D\uC744 \uD398\uC774\uC9C0 \uB2E8\uC704\uB85C \uAC00\uC838\uC624\uB294 \uD568\uC218\uC608\uC694.\n * @param options - \uC5F0\uB77D\uCC98\uB97C \uAC00\uC838\uC62C \uB54C \uC9C0\uC815\uD558\uB294 \uC635\uC158 \uAC1D\uCCB4\uC608\uC694.\n * @param options.size - \uD55C \uBC88\uC5D0 \uAC00\uC838\uC62C \uC5F0\uB77D\uCC98 \uAC1C\uC218\uC608\uC694. \uC608\uB97C \uB4E4\uC5B4, 10\uC744 \uC804\uB2EC\uD558\uBA74 \uCD5C\uB300 10\uAC1C\uC758 \uC5F0\uB77D\uCC98\uB97C \uAC00\uC838\uC640\uC694.\n * @param options.offset - \uAC00\uC838\uC62C \uC5F0\uB77D\uCC98\uC758 \uC2DC\uC791 \uC9C0\uC810\uC774\uC5D0\uC694. \uCC98\uC74C \uD638\uCD9C\uD560 \uB54C\uB294 `0`\uC744 \uC804\uB2EC\uD574\uC57C \uD574\uC694. \uC774\uD6C4\uC5D0\uB294 \uC774\uC804 \uD638\uCD9C\uC5D0\uC11C \uBC18\uD658\uB41C `nextOffset` \uAC12\uC744 \uC0AC\uC6A9\uD574\uC694.\n * @param options.query - \uCD94\uAC00\uC801\uC778 \uD544\uD130\uB9C1 \uC635\uC158\uC774\uC5D0\uC694.\n * @param options.query.contains - \uC774\uB984\uC5D0 \uD2B9\uC815 \uBB38\uC790\uC5F4\uC774 \uD3EC\uD568\uB41C \uC5F0\uB77D\uCC98\uB9CC \uAC00\uC838\uC624\uACE0 \uC2F6\uC744 \uB54C \uC0AC\uC6A9\uD574\uC694. \uC774 \uAC12\uC744 \uC804\uB2EC\uD558\uC9C0 \uC54A\uC73C\uBA74 \uBAA8\uB4E0 \uC5F0\uB77D\uCC98\uB97C \uAC00\uC838\uC640\uC694.\n * @returns {Promise<ContactResult>}\n * \uC5F0\uB77D\uCC98 \uBAA9\uB85D\uACFC \uD398\uC774\uC9C0\uB124\uC774\uC158 \uC815\uBCF4\uB97C \uD3EC\uD568\uD55C \uAC1D\uCCB4\uB97C \uBC18\uD658\uD574\uC694.\n * - `result`: \uAC00\uC838\uC628 \uC5F0\uB77D\uCC98 \uBAA9\uB85D\uC774\uC5D0\uC694.\n * - `nextOffset`: \uB2E4\uC74C \uD638\uCD9C\uC5D0 \uC0AC\uC6A9\uD560 \uC624\uD504\uC14B \uAC12\uC774\uC5D0\uC694. \uB354 \uAC00\uC838\uC62C \uC5F0\uB77D\uCC98\uAC00 \uC5C6\uC73C\uBA74 `null`\uC774\uC5D0\uC694.\n * - `done`: \uBAA8\uB4E0 \uC5F0\uB77D\uCC98\uB97C \uB2E4 \uAC00\uC838\uC654\uB294\uC9C0 \uC5EC\uBD80\uB97C \uB098\uD0C0\uB0B4\uC694. \uBAA8\uB450 \uAC00\uC838\uC654\uB2E4\uBA74 `true`\uC608\uC694.\n *\n * @signature\n * ```typescript\n * function fetchContacts(options: {\n * size: number;\n * offset: number;\n * query?: {\n * contains?: string;\n * };\n * }): Promise<ContactResult>;\n * ```\n *\n * @example\n * ### \uD2B9\uC815 \uBB38\uC790\uC5F4\uC774 \uD3EC\uD568\uB41C \uC5F0\uB77D\uCC98 \uBAA9\uB85D \uAC00\uC838\uC624\uAE30\n *\n * ```tsx\n * import React, { useState } from 'react';\n * import { View, Text, Button } from 'react-native';\n * import { fetchContacts, ContactEntity } from '@apps-in-toss/framework';\n *\n * // \uD2B9\uC815 \uBB38\uC790\uC5F4\uC744 \uD3EC\uD568\uD55C \uC5F0\uB77D\uCC98 \uBAA9\uB85D\uC744 \uAC00\uC838\uC640 \uD654\uBA74\uC5D0 \uD45C\uC2DC\uD558\uB294 \uCEF4\uD3EC\uB10C\uD2B8\n * function ContactsList() {\n * const [contacts, setContacts] = useState<{\n * result: ContactEntity[];\n * nextOffset: number | null;\n * done: boolean;\n * }>({\n * result: [],\n * nextOffset: null,\n * done: false,\n * });\n *\n * const handlePress = async () => {\n * try {\n * if (contacts.done) {\n * console.log('\uBAA8\uB4E0 \uC5F0\uB77D\uCC98\uB97C \uAC00\uC838\uC654\uC5B4\uC694.');\n * return;\n * }\n *\n * const response = await fetchContacts({\n * size: 10,\n * offset: contacts.nextOffset ?? 0,\n * query: { contains: '\uAE40' },\n * });\n * setContacts((prev) => ({\n * result: [...prev.result, ...response.result],\n * nextOffset: response.nextOffset,\n * done: response.done,\n * }));\n * } catch (error) {\n * console.error('\uC5F0\uB77D\uCC98\uB97C \uAC00\uC838\uC624\uB294 \uB370 \uC2E4\uD328\uD588\uC5B4\uC694:', error);\n * }\n * };\n *\n * return (\n * <View>\n * {contacts.result.map((contact, index) => (\n * <Text key={index}>{contact.name}: {contact.phoneNumber}</Text>\n * ))}\n * <Button\n * title={contacts.done ? '\uBAA8\uB4E0 \uC5F0\uB77D\uCC98\uB97C \uAC00\uC838\uC654\uC5B4\uC694.' : '\uB2E4\uC74C \uC5F0\uB77D\uCC98 \uAC00\uC838\uC624\uAE30'}\n * disabled={contacts.done}\n * onPress={handlePress}\n * />\n * </View>\n * );\n * }\n * ```\n */\nexport declare function fetchContacts(options: {\n size: number;\n offset: number;\n query?: {\n contains?: string;\n };\n}): Promise<ContactResult>;\n\nexport {};\n"
|
|
46
|
-
},
|
|
47
|
-
{
|
|
48
|
-
identifier: "fetchAlbumPhotos",
|
|
49
|
-
dts: "/**\n * \uC0AC\uC9C4 \uC870\uD68C \uACB0\uACFC\uB97C \uB098\uD0C0\uB0B4\uB294 \uD0C0\uC785\uC774\uC5D0\uC694.\n */\nexport interface ImageResponse {\n /** \uAC00\uC838\uC628 \uC0AC\uC9C4\uC758 \uACE0\uC720 ID\uC608\uC694. */\n id: string;\n /** \uC0AC\uC9C4\uC758 \uB370\uC774\uD130 URI\uC608\uC694. `base64` \uC635\uC158\uC774 `true`\uC778 \uACBD\uC6B0 Base64 \uBB38\uC790\uC5F4\uB85C \uBC18\uD658\uB3FC\uC694. */\n dataUri: string;\n}\n/**\n * \uC568\uBC94 \uC0AC\uC9C4\uC744 \uC870\uD68C\uD560 \uB54C \uC0AC\uC6A9\uD558\uB294 \uC635\uC158 \uD0C0\uC785\uC774\uC5D0\uC694.\n */\nexport interface FetchAlbumPhotosOptions {\n /** \uAC00\uC838\uC62C \uC0AC\uC9C4\uC758 \uCD5C\uB300 \uAC1C\uC218\uB97C \uC124\uC815\uD574\uC694. \uC22B\uC790\uB97C \uC785\uB825\uD558\uACE0 \uAE30\uBCF8\uAC12\uC740 10\uC774\uC5D0\uC694. */\n maxCount?: number;\n /** \uC0AC\uC9C4\uC758 \uCD5C\uB300 \uD3ED\uC744 \uC81C\uD55C\uD574\uC694. \uB2E8\uC704\uB294 \uD53D\uC140\uC774\uACE0 \uAE30\uBCF8\uAC12\uC740 1024\uC774\uC5D0\uC694. */\n maxWidth?: number;\n /** \uC774\uBBF8\uC9C0\uB97C base64 \uD615\uC2DD\uC73C\uB85C \uBC18\uD658\uD560\uC9C0 \uC124\uC815\uD574\uC694. \uAE30\uBCF8\uAC12\uC740 `false`\uC608\uC694. */\n base64?: boolean;\n}\n/**\n * @public\n * @category \uC0AC\uC9C4\n * @name fetchAlbumPhotos\n * @description\n * \uC0AC\uC6A9\uC790\uC758 \uC568\uBC94\uC5D0\uC11C \uC0AC\uC9C4 \uBAA9\uB85D\uC744 \uBD88\uB7EC\uC624\uB294 \uD568\uC218\uC608\uC694.\n * \uCD5C\uB300 \uAC1C\uC218\uC640 \uD574\uC0C1\uB3C4\uB97C \uC124\uC815\uD560 \uC218 \uC788\uACE0 \uAC24\uB7EC\uB9AC \uBBF8\uB9AC\uBCF4\uAE30, \uC774\uBBF8\uC9C0 \uC120\uD0DD \uAE30\uB2A5 \uB4F1\uC5D0 \uD65C\uC6A9\uD560 \uC218 \uC788\uC5B4\uC694.\n *\n * @param options - \uC870\uD68C \uC635\uC158\uC744 \uB2F4\uC740 \uAC1D\uCCB4\uC608\uC694.\n * @param {number} [options.maxCount=10] \uAC00\uC838\uC62C \uC0AC\uC9C4\uC758 \uCD5C\uB300 \uAC1C\uC218\uB97C \uC124\uC815\uD574\uC694. \uC22B\uC790\uB85C \uC785\uB825\uD558\uBA70 \uAE30\uBCF8\uAC12\uC740 10\uC774\uC5D0\uC694.\n * @param {number} [options.maxWidth=1024] \uC0AC\uC9C4\uC758 \uCD5C\uB300 \uD3ED\uC744 \uC81C\uD55C\uD574\uC694. \uB2E8\uC704\uB294 \uD53D\uC140\uC774\uBA70 \uAE30\uBCF8\uAC12\uC740 `1024`\uC774\uC5D0\uC694.\n * @param {boolean} [options.base64=false] \uC774\uBBF8\uC9C0\uB97C base64 \uD615\uC2DD\uC73C\uB85C \uBC18\uD658\uD560\uC9C0 \uC124\uC815\uD574\uC694. \uAE30\uBCF8\uAC12\uC740 `false`\uC608\uC694.\n * @returns {Promise<ImageResponse[]>}\n * \uC568\uBC94 \uC0AC\uC9C4\uC758 \uACE0\uC720 ID\uC640 \uB370\uC774\uD130 URI\uB97C \uD3EC\uD568\uD55C \uBC30\uC5F4\uC744 \uBC18\uD658\uD574\uC694.\n *\n * @example\n * ### \uC0AC\uC9C4\uC758 \uCD5C\uB300 \uD3ED\uC744 360px\uB85C \uC81C\uD55C\uD558\uC5EC \uAC00\uC838\uC624\uAE30\n *\n * ```tsx\n * import React, { useState } from 'react';\n * import { View, Image, Button } from 'react-native';\n * import { fetchAlbumPhotos } from '@apps-in-toss/framework';\n *\n * const base64 = true;\n *\n * // \uC568\uBC94 \uC0AC\uC9C4 \uBAA9\uB85D\uC744 \uAC00\uC838\uC640 \uD654\uBA74\uC5D0 \uD45C\uC2DC\uD558\uB294 \uCEF4\uD3EC\uB10C\uD2B8\n * function AlbumPhotoList() {\n * const [albumPhotos, setAlbumPhotos] = useState([]);\n *\n * const handlePress = async () => {\n * try {\n * const response = await fetchAlbumPhotos({\n * base64,\n * maxWidth: 360,\n * });\n * setAlbumPhotos((prev) => ([...prev, ...response]));\n * } catch (error) {\n * console.error('\uC568\uBC94\uC744 \uAC00\uC838\uC624\uB294 \uB370 \uC2E4\uD328\uD588\uC5B4\uC694:', error);\n * }\n * };\n *\n * return (\n * <View>\n * {albumPhotos.map((image) => {\n * // base64 \uD615\uC2DD\uC73C\uB85C \uBC18\uD658\uB41C \uC774\uBBF8\uC9C0\uB97C \uD45C\uC2DC\uD558\uB824\uBA74 \uB370\uC774\uD130 URL \uC2A4\uD0A4\uB9C8 Prefix\uB97C \uBD99\uC5EC\uC57C\uD574\uC694.\n * const imageUri = base64 ? 'data:image/jpeg;base64,' + image.dataUri : image.dataUri;\n *\n * return <Image source={{ uri: imageUri }} key={image.id} />;\n * })}\n * <Button title=\"\uC568\uBC94 \uAC00\uC838\uC624\uAE30\" onPress={handlePress} />\n * </View>\n * );\n * }\n * ```\n */\nexport declare function fetchAlbumPhotos(options: FetchAlbumPhotosOptions): Promise<ImageResponse[]>;\n\nexport {};\n"
|
|
50
|
-
},
|
|
51
|
-
{
|
|
52
|
-
identifier: "getCurrentLocation",
|
|
53
|
-
dts: "/**\n * @public\n * @category \uC704\uCE58 \uC815\uBCF4\n * @name Accuracy\n * @description \uC704\uCE58 \uC815\uD655\uB3C4 \uC635\uC158\uC774\uC5D0\uC694.\n */\nexport declare enum Accuracy {\n /**\n * \uC624\uCC28\uBC94\uC704 3KM \uC774\uB0B4\n */\n Lowest = 1,\n /**\n * \uC624\uCC28\uBC94\uC704 1KM \uC774\uB0B4\n */\n Low = 2,\n /**\n * \uC624\uCC28\uBC94\uC704 \uBA87 \uBC31\uBBF8\uD130 \uC774\uB0B4\n */\n Balanced = 3,\n /**\n * \uC624\uCC28\uBC94\uC704 10M \uC774\uB0B4\n */\n High = 4,\n /**\n * \uAC00\uC7A5 \uB192\uC740 \uC815\uD655\uB3C4\n */\n Highest = 5,\n /**\n * \uB124\uBE44\uAC8C\uC774\uC158\uC744 \uC704\uD55C \uCD5C\uACE0 \uC815\uD655\uB3C4\n */\n BestForNavigation = 6\n}\ninterface Location$1 {\n /**\n * Android\uC5D0\uC11C\uB9CC \uC9C0\uC6D0\uD558\uB294 \uC635\uC158\uC774\uC5D0\uC694.\n *\n * - `FINE`: \uC815\uD655\uD55C \uC704\uCE58\n * - `COARSE`: \uB300\uB7B5\uC801\uC778 \uC704\uCE58\n *\n * @see https://developer.android.com/codelabs/approximate-location\n */\n accessLocation?: \"FINE\" | \"COARSE\";\n /**\n * \uC704\uCE58\uAC00 \uC5C5\uB370\uC774\uD2B8\uB41C \uC2DC\uC810\uC758 \uC720\uB2C9\uC2A4 \uD0C0\uC784\uC2A4\uD0EC\uD504\uC608\uC694.\n */\n timestamp: number;\n /**\n * @description \uC704\uCE58 \uC815\uBCF4\uB97C \uB098\uD0C0\uB0B4\uB294 \uAC1D\uCCB4\uC608\uC694. \uC790\uC138\uD55C \uB0B4\uC6A9\uC740 [LocationCoords](/react-native/reference/framework/Types/LocationCoords.html)\uC744 \uCC38\uACE0\uD574\uC8FC\uC138\uC694.\n */\n coords: LocationCoords;\n}\n/**\n * @public\n * @category \uC704\uCE58 \uC815\uBCF4\n * @name LocationCoords\n * @description \uC138\uBD80 \uC704\uCE58 \uC815\uBCF4\uB97C \uB098\uD0C0\uB0B4\uB294 \uAC1D\uCCB4\uC608\uC694.\n */\nexport interface LocationCoords {\n /**\n * \uC704\uB3C4\n */\n latitude: number;\n /**\n * \uACBD\uB3C4\n */\n longitude: number;\n /**\n * \uB192\uC774\n */\n altitude: number;\n /**\n * \uC704\uCE58 \uC815\uD655\uB3C4\n */\n accuracy: number;\n /**\n * \uACE0\uB3C4 \uC815\uD655\uB3C4\n */\n altitudeAccuracy: number;\n /**\n * \uBC29\uD5A5\n */\n heading: number;\n}\nexport interface GetCurrentLocationOptions {\n /**\n * \uC704\uCE58 \uC815\uBCF4\uB97C \uAC00\uC838\uC62C \uC815\uD655\uB3C4 \uC218\uC900\uC774\uC5D0\uC694.\n */\n accuracy: Accuracy;\n}\n/**\n * @public\n * @category \uC704\uCE58 \uC815\uBCF4\n * @name getCurrentLocation\n * @description \uB514\uBC14\uC774\uC2A4\uC758 \uD604\uC7AC \uC704\uCE58 \uC815\uBCF4\uB97C \uAC00\uC838\uC624\uB294 \uD568\uC218\uC608\uC694.\n * \uC704\uCE58 \uAE30\uBC18 \uC11C\uBE44\uC2A4\uB97C \uAD6C\uD604\uD560 \uB54C \uC0AC\uC6A9\uB418\uACE0, \uD55C \uBC88\uB9CC \uD638\uCD9C\uB418\uC5B4 \uD604\uC7AC \uC704\uCE58\uB97C \uC989\uC2DC \uBC18\uD658\uD574\uC694.\n * \uC608\uB97C \uB4E4\uC5B4 \uC9C0\uB3C4 \uC571\uC5D0\uC11C \uC0AC\uC6A9\uC790\uC758 \uD604\uC7AC \uC704\uCE58\uB97C \uD55C \uBC88\uB9CC \uAC00\uC838\uC62C \uB54C, \uB0A0\uC528 \uC571\uC5D0\uC11C \uC0AC\uC6A9\uC790\uC758 \uC704\uCE58\uB97C \uAE30\uBC18\uC73C\uB85C \uAE30\uC0C1 \uC815\uBCF4\uB97C \uC81C\uACF5\uD560 \uB54C, \uB9E4\uC7A5 \uCC3E\uAE30 \uAE30\uB2A5\uC5D0\uC11C \uC0AC\uC6A9\uC790\uC758 \uC704\uCE58\uB97C \uAE30\uC900\uC73C\uB85C \uAC00\uAE4C\uC6B4 \uB9E4\uC7A5\uC744 \uAC80\uC0C9\uD560 \uB54C \uC0AC\uC6A9\uD558\uBA74 \uC720\uC6A9\uD574\uC694.\n *\n * @param {GetCurrentLocationOptions} options \uC704\uCE58 \uC815\uBCF4\uB97C \uAC00\uC838\uC62C \uB54C \uC0AC\uC6A9\uD558\uB294 \uC635\uC158 \uAC1D\uCCB4\uC608\uC694.\n * @param {Accuracy} [options.accuracy] \uC704\uCE58 \uC815\uBCF4\uC758 \uC815\uD655\uB3C4 \uC218\uC900\uC774\uC5D0\uC694. \uC815\uD655\uB3C4\uB294 `Accuracy` \uD0C0\uC785\uC73C\uB85C \uC124\uC815\uB3FC\uC694.\n * @returns {Promise<Location>} \uB514\uBC14\uC774\uC2A4\uC758 \uC704\uCE58 \uC815\uBCF4\uAC00 \uB2F4\uAE34 \uAC1D\uCCB4\uB97C \uBC18\uD658\uD574\uC694. \uC790\uC138\uD55C \uB0B4\uC6A9\uC740 [Location](/react-native/reference/framework/Types/Location.html)\uC744 \uCC38\uACE0\uD574\uC8FC\uC138\uC694.\n *\n * @example\n * ### \uB514\uBC14\uC774\uC2A4\uC758 \uD604\uC7AC \uC704\uCE58 \uC815\uBCF4 \uAC00\uC838\uC624\uAE30\n *\n * ```tsx\n * import React, { useState } from 'react';\n * import { View, Text, Button } from 'react-native';\n * import { getCurrentLocation } from '@apps-in-toss/framework';\n *\n * // \uD604\uC7AC \uC704\uCE58 \uC815\uBCF4\uB97C \uAC00\uC838\uC640 \uD654\uBA74\uC5D0 \uD45C\uC2DC\uD558\uB294 \uCEF4\uD3EC\uB10C\uD2B8\n * function CurrentPosition() {\n * const [position, setPosition] = useState(null);\n *\n * const handlePress = async () => {\n * try {\n * const response = await getCurrentLocation({ accuracy: Accuracy.Balanced });\n * setPosition(response);\n * } catch (error) {\n * console.error('\uC704\uCE58 \uC815\uBCF4\uB97C \uAC00\uC838\uC624\uB294 \uB370 \uC2E4\uD328\uD588\uC5B4\uC694:', error);\n * }\n * };\n *\n * return (\n * <View>\n * {position ? (\n * <Text>\uC704\uCE58: {position.coords.latitude}, {position.coords.longitude}</Text>\n * ) : (\n * <Text>\uC704\uCE58 \uC815\uBCF4\uB97C \uC544\uC9C1 \uAC00\uC838\uC624\uC9C0 \uC54A\uC558\uC5B4\uC694</Text>\n * )}\n * <Button title=\"\uD604\uC7AC \uC704\uCE58 \uC815\uBCF4 \uAC00\uC838\uC624\uAE30\" onPress={handlePress} />\n * </View>\n * );\n * }\n * ```\n */\nexport declare function getCurrentLocation(options: GetCurrentLocationOptions): Promise<Location$1>;\n\nexport {};\n"
|
|
54
|
-
},
|
|
55
|
-
{
|
|
56
|
-
identifier: "openCamera",
|
|
57
|
-
dts: "/**\n * \uC0AC\uC9C4 \uC870\uD68C \uACB0\uACFC\uB97C \uB098\uD0C0\uB0B4\uB294 \uD0C0\uC785\uC774\uC5D0\uC694.\n */\nexport interface ImageResponse {\n /** \uAC00\uC838\uC628 \uC0AC\uC9C4\uC758 \uACE0\uC720 ID\uC608\uC694. */\n id: string;\n /** \uC0AC\uC9C4\uC758 \uB370\uC774\uD130 URI\uC608\uC694. `base64` \uC635\uC158\uC774 `true`\uC778 \uACBD\uC6B0 Base64 \uBB38\uC790\uC5F4\uB85C \uBC18\uD658\uB3FC\uC694. */\n dataUri: string;\n}\nexport interface OpenCameraOptions {\n /**\n * \uC774\uBBF8\uC9C0\uB97C Base64 \uD615\uC2DD\uC73C\uB85C \uBC18\uD658\uD560\uC9C0 \uC5EC\uBD80\uB97C \uB098\uD0C0\uB0B4\uB294 \uBD88\uB9AC\uC5B8 \uAC12\uC774\uC5D0\uC694.\n *\n * \uAE30\uBCF8\uAC12: `false`.\n */\n base64?: boolean;\n /**\n * \uC774\uBBF8\uC9C0\uC758 \uCD5C\uB300 \uB108\uBE44\uB97C \uB098\uD0C0\uB0B4\uB294 \uC22B\uC790 \uAC12\uC774\uC5D0\uC694.\n *\n * \uAE30\uBCF8\uAC12: `1024`.\n */\n maxWidth?: number;\n}\n/**\n * @public\n * @category \uCE74\uBA54\uB77C\n * @name openCamera\n * @description \uCE74\uBA54\uB77C\uB97C \uC2E4\uD589\uD574\uC11C \uCD2C\uC601\uB41C \uC774\uBBF8\uC9C0\uB97C \uBC18\uD658\uD558\uB294 \uD568\uC218\uC608\uC694.\n * @param {OpenCameraOptions} options - \uCE74\uBA54\uB77C \uC2E4\uD589 \uC2DC \uC0AC\uC6A9\uB418\uB294 \uC635\uC158 \uAC1D\uCCB4\uC608\uC694.\n * @param {boolean} [options.base64=false] - \uC774\uBBF8\uC9C0\uB97C Base64 \uD615\uC2DD\uC73C\uB85C \uBC18\uD658\uD560\uC9C0 \uC5EC\uBD80\uB97C \uB098\uD0C0\uB0B4\uB294 \uBD88\uB9AC\uC5B8 \uAC12\uC774\uC5D0\uC694. \uAE30\uBCF8\uAC12\uC740 `false`\uC608\uC694. `true`\uB85C \uC124\uC815\uD558\uBA74 `dataUri` \uB300\uC2E0 Base64 \uC778\uCF54\uB529\uB41C \uBB38\uC790\uC5F4\uC744 \uBC18\uD658\uD574\uC694.\n * @param {number} [options.maxWidth=1024] - \uC774\uBBF8\uC9C0\uC758 \uCD5C\uB300 \uB108\uBE44\uB97C \uB098\uD0C0\uB0B4\uB294 \uC22B\uC790 \uAC12\uC774\uC5D0\uC694. \uAE30\uBCF8\uAC12\uC740 `1024`\uC608\uC694.\n * @returns {Promise<ImageResponse>}\n * \uCD2C\uC601\uB41C \uC774\uBBF8\uC9C0 \uC815\uBCF4\uB97C \uD3EC\uD568\uD55C \uAC1D\uCCB4\uB97C \uBC18\uD658\uD574\uC694. \uBC18\uD658 \uAC1D\uCCB4\uC758 \uAD6C\uC131\uC740 \uB2E4\uC74C\uACFC \uAC19\uC544\uC694:\n * - `id`: \uC774\uBBF8\uC9C0\uC758 \uACE0\uC720 \uC2DD\uBCC4\uC790\uC608\uC694.\n * - `dataUri`: \uC774\uBBF8\uC9C0 \uB370\uC774\uD130\uB97C \uD45C\uD604\uD558\uB294 \uB370\uC774\uD130 URI\uC608\uC694.\n *\n * @example\n * ### \uCE74\uBA54\uB77C \uC2E4\uD589 \uD6C4 \uCD2C\uC601\uB41C \uC0AC\uC9C4 \uAC00\uC838\uC624\uAE30\n *\n * ```tsx\n * import React, { useState } from 'react';\n * import { View, Text, Button, Image } from 'react-native';\n * import { openCamera } from '@apps-in-toss/framework';\n *\n * const base64 = true;\n *\n * // \uCE74\uBA54\uB77C\uB97C \uC2E4\uD589\uD558\uACE0 \uCD2C\uC601\uB41C \uC774\uBBF8\uC9C0\uB97C \uD654\uBA74\uC5D0 \uD45C\uC2DC\uD558\uB294 \uCEF4\uD3EC\uB10C\uD2B8\n * function Camera() {\n * const [image, setImage] = useState(null);\n *\n * const handlePress = async () => {\n * try {\n * const response = await openCamera({ base64 });\n * setImage(response);\n * } catch (error) {\n * console.error('\uC0AC\uC9C4\uC744 \uAC00\uC838\uC624\uB294 \uB370 \uC2E4\uD328\uD588\uC5B4\uC694:', error);\n * }\n * };\n *\n * // base64 \uD615\uC2DD\uC73C\uB85C \uBC18\uD658\uB41C \uC774\uBBF8\uC9C0\uB97C \uD45C\uC2DC\uD558\uB824\uBA74 \uB370\uC774\uD130 URL \uC2A4\uD0A4\uB9C8 Prefix\uB97C \uBD99\uC5EC\uC57C\uD574\uC694.\n * const imageUri = base64 ? 'data:image/jpeg;base64,' + image.dataUri : image.dataUri;\n *\n * return (\n * <View>\n * {image ? (\n * <Image source={{ uri: imageUri }} style={{ width: 200, height: 200 }} />\n * ) : (\n * <Text>\uC0AC\uC9C4\uC774 \uC5C6\uC5B4\uC694</Text>\n * )}\n * <Button title=\"\uC0AC\uC9C4 \uCD2C\uC601\uD558\uAE30\" onPress={handlePress} />\n * </View>\n * );\n * }\n * ```\n */\nexport declare function openCamera(options?: OpenCameraOptions): Promise<ImageResponse>;\n\nexport {};\n"
|
|
58
|
-
},
|
|
59
|
-
{
|
|
60
|
-
identifier: "appLogin",
|
|
61
|
-
dts: '/**\n * @public\n * @category \uB85C\uADF8\uC778\n * @name appLogin\n * @description \uD1A0\uC2A4 \uC778\uC99D\uC73C\uB85C \uB85C\uADF8\uC778\uD574\uC694. \uB85C\uADF8\uC778\uC774 \uC644\uB8CC\uB418\uBA74 \uB2E4\uC2DC \uD1A0\uC2A4 \uC571\uC73C\uB85C \uC774\uB3D9\uD574\uC694.\n * @example\n *\n * ### \uD1A0\uC2A4 \uC778\uC99D\uC744 \uD1B5\uD574 \uB85C\uADF8\uC778\uC744 \uD558\uB294 \uC608\uC81C\n *\n * ```tsx\n * import { Button } from \'react-native\';\n * import { appLogin } from \'@apps-in-toss/framework\';\n *\n * function Page() {\n * const handleLogin = async () => {\n * const { authorizationCode, referrer } = await appLogin();\n *\n * // \uD68D\uB4DD\uD55C \uC778\uAC00 \uCF54\uB4DC(`authorizationCode`)\uC640 `referrer`\uB97C \uC11C\uBC84\uB85C \uC804\uB2EC\uD574\uC694.\n * }\n *\n * return <Button title="\uB85C\uADF8\uC778" onPress={handleLogin} />;\n * }\n * ```\n */\nexport declare function appLogin(): Promise<{\n authorizationCode: string;\n referrer: "DEFAULT" | "SANDBOX";\n}>;\n\nexport {};\n'
|
|
62
|
-
},
|
|
63
|
-
{
|
|
64
|
-
identifier: "eventLog",
|
|
65
|
-
dts: `export type Primitive = string | number | boolean | null | undefined | symbol;
|
|
66
|
-
export interface EventLogParams {
|
|
67
|
-
log_name: string;
|
|
68
|
-
log_type: "debug" | "info" | "warn" | "error" | "screen" | "impression" | "click";
|
|
69
|
-
params: Record<string, Primitive>;
|
|
70
|
-
}
|
|
71
|
-
/**
|
|
72
|
-
* @category \uB85C\uAE45
|
|
73
|
-
* @kind function
|
|
74
|
-
* @name eventLog
|
|
75
|
-
* @description
|
|
76
|
-
* \uC774\uBCA4\uD2B8 \uB85C\uADF8\uB97C \uAE30\uB85D\uD558\uB294 \uD568\uC218\uC608\uC694.
|
|
77
|
-
*
|
|
78
|
-
* \uC774 \uD568\uC218\uB294 \uC571 \uB0B4\uC5D0\uC11C \uBC1C\uC0DD\uD558\uB294 \uB2E4\uC591\uD55C \uC774\uBCA4\uD2B8\uB97C \uB85C\uAE45\uD558\uB294 \uB370 \uC0AC\uC6A9\uB3FC\uC694. \uB514\uBC84\uAE45, \uC815\uBCF4 \uC81C\uACF5, \uACBD\uACE0, \uC624\uB958 \uB4F1 \uB2E4\uC591\uD55C \uC720\uD615\uC758 \uB85C\uADF8\uB97C \uAE30\uB85D\uD560 \uC218 \uC788\uC5B4\uC694. \uC0CC\uB4DC\uBC15\uC2A4 \uD658\uACBD\uC5D0\uC11C\uB294 \uCF58\uC194\uC5D0 \uB85C\uADF8\uAC00 \uCD9C\uB825\uB418\uACE0, \uC2E4\uC81C \uD658\uACBD\uC5D0\uC11C\uB294 \uB85C\uADF8 \uC2DC\uC2A4\uD15C\uC5D0 \uAE30\uB85D\uB3FC\uC694.
|
|
79
|
-
*
|
|
80
|
-
* @param {Object} params \uB85C\uADF8 \uAE30\uB85D\uC5D0 \uD544\uC694\uD55C \uB9E4\uAC1C\uBCC0\uC218 \uAC1D\uCCB4\uC608\uC694.
|
|
81
|
-
* @param {string} params.log_name \uB85C\uADF8\uC758 \uC774\uB984\uC774\uC5D0\uC694.
|
|
82
|
-
* @param {'debug' | 'info' | 'warn' | 'error' | 'screen' | 'impression' | 'click'} params.log_type \uB85C\uADF8\uC758 \uC720\uD615\uC774\uC5D0\uC694.
|
|
83
|
-
* @param {Record<string, Primitive>} params.params \uB85C\uADF8\uC5D0 \uD3EC\uD568\uD560 \uCD94\uAC00 \uB9E4\uAC1C\uBCC0\uC218 \uAC1D\uCCB4\uC608\uC694.
|
|
84
|
-
*
|
|
85
|
-
* @returns {Promise<void>} \uB85C\uADF8 \uAE30\uB85D\uC774 \uC644\uB8CC\uB418\uBA74 \uD574\uACB0\uB418\uB294 Promise\uC608\uC694.
|
|
86
|
-
*
|
|
87
|
-
* @example
|
|
88
|
-
* ### \uC774\uBCA4\uD2B8 \uB85C\uADF8 \uAE30\uB85D\uD558\uAE30
|
|
89
|
-
*
|
|
90
|
-
* \`\`\`tsx
|
|
91
|
-
* import { eventLog } from '@apps-in-toss/framework';
|
|
92
|
-
*
|
|
93
|
-
* function logUserAction() {
|
|
94
|
-
* eventLog({
|
|
95
|
-
* log_name: 'user_action',
|
|
96
|
-
* log_type: 'info',
|
|
97
|
-
* params: {
|
|
98
|
-
* action: 'button_click',
|
|
99
|
-
* screen: 'main',
|
|
100
|
-
* userId: 12345
|
|
101
|
-
* }
|
|
102
|
-
* });
|
|
103
|
-
* }
|
|
104
|
-
* \`\`\`
|
|
105
|
-
*/
|
|
106
|
-
export declare function eventLog(params: EventLogParams): Promise<void>;
|
|
107
|
-
|
|
108
|
-
export {};
|
|
109
|
-
`
|
|
110
|
-
},
|
|
111
|
-
{
|
|
112
|
-
identifier: "getTossShareLink",
|
|
113
|
-
dts: "/**\n * @public\n * @category \uACF5\uC720\n * @kind function\n * @name getTossShareLink\n * @description\n * `getTossShareLink` \uD568\uC218\uB294 \uC0AC\uC6A9\uC790\uAC00 \uC9C0\uC815\uD55C \uACBD\uB85C\uB97C \uD1A0\uC2A4 \uC571\uC5D0\uC11C \uC5F4 \uC218 \uC788\uB294 \uACF5\uC720 \uB9C1\uD06C\uB97C \uBC18\uD658\uD574\uC694.\n * \uC774 \uB9C1\uD06C\uB97C \uB2E4\uB978 \uC0AC\uB78C\uACFC \uACF5\uC720\uD558\uBA74 \uD1A0\uC2A4 \uC571\uC774 \uC2E4\uD589\uB418\uBA74\uC11C \uC9C0\uC815\uD55C \uACBD\uB85C\uB85C \uC9C4\uC785\uD574\uC694. \uD1A0\uC2A4\uC571\uC774 \uC5C6\uB294 \uC0AC\uB78C\uC740 iOS \uC77C \uB54C\uB294 \uC571\uC2A4\uD1A0\uC5B4\uB85C \uC774\uB3D9\uD558\uACE0, Android \uC77C \uB54C\uB294 \uD50C\uB808\uC774\uC2A4\uD1A0\uC5B4\uB85C \uC774\uB3D9\uD574\uC694.\n *\n * \uACBD\uB85C\uB294 \uD1A0\uC2A4 \uC571 \uB0B4\uBD80 \uD2B9\uC815 \uD654\uBA74\uC744 \uB098\uD0C0\uB0B4\uB294 \uB525\uB9C1\uD06C(deep link) \uD615\uC2DD\uC774\uC5B4\uC57C \uD574\uC694.\n * \uC608\uB97C \uB4E4\uC5B4 `intoss://<\uC571 \uC774\uB984>`\uC774\uB098 `intoss://<\uC571 \uC774\uB984>/about?name=test`\uCC98\uB7FC \uC791\uC131\uD574\uC694.\n *\n * \uC774 \uD568\uC218\uB97C \uC0AC\uC6A9\uD558\uBA74 `deep_link_value`\uB97C \uD3EC\uD568\uD55C \uC644\uC131\uB41C \uACF5\uC720 \uB9C1\uD06C\uB97C \uB9CC\uB4E4 \uC218 \uC788\uC5B4\uC694.\n *\n * @param path - \uB525\uB9C1\uD06C\uB85C \uC5F4\uACE0 \uC2F6\uC740 \uACBD\uB85C\uC608\uC694. `intoss://`\uB85C \uC2DC\uC791\uD558\uB294 \uBB38\uC790\uC5F4\uC774\uC5B4\uC57C \uD574\uC694.\n * @returns {Promise<string>} `deep_link_value`\uAC00 \uD3EC\uD568\uB41C \uD1A0\uC2A4 \uACF5\uC720 \uB9C1\uD06C\uB97C \uBC18\uD658\uD574\uC694.\n *\n * @example\n * ```tsx\n * import { share } from '@granite-js/react-native';\n * import { getTossShareLink } from '@apps-in-toss/framework';\n *\n * // '/' \uACBD\uB85C\uB97C \uB525\uB9C1\uD06C\uB85C \uD3EC\uD568\uD55C \uD1A0\uC2A4 \uACF5\uC720 \uB9C1\uD06C\uB97C \uC0DD\uC131\uD574\uC694.\n * const tossLink = await getTossShareLink('intoss://my-app');\n *\n * // \uC0DD\uC131\uD55C \uB9C1\uD06C\uB97C \uBA54\uC2DC\uC9C0\uB85C \uACF5\uC720\uD574\uC694.\n * await share({ message: tossLink });\n * ```\n */\nexport declare function getTossShareLink(path: string): Promise<string>;\n\nexport {};\n"
|
|
114
|
-
},
|
|
115
|
-
{
|
|
116
|
-
identifier: "setDeviceOrientation",
|
|
117
|
-
dts: "/**\n * @public\n * @category \uD654\uBA74 \uC81C\uC5B4\n * @kind function\n * @name setDeviceOrientation\n * @description\n * `setDeviceOrientation` \uD568\uC218\uB294 \uAE30\uAE30\uC758 \uD654\uBA74 \uBC29\uD5A5\uC744 \uC124\uC815\uD558\uB294 \uAE30\uB2A5\uC744 \uC81C\uACF5\uD574\uC694.\n * \uC774 \uAE30\uB2A5\uC740 \uD2B9\uC815 \uD654\uBA74\uC5D0\uC11C \uAC00\uB85C \uBAA8\uB4DC\uB098 \uC138\uB85C \uBAA8\uB4DC\uB97C \uAC15\uC81C\uB85C \uC9C0\uC815\uD574\uC57C \uD560 \uB54C \uC720\uC6A9\uD574\uC694.\n *\n * `type` \uC635\uC158\uC744 \uD1B5\uD574 \uC6D0\uD558\uB294 \uD654\uBA74 \uBC29\uD5A5\uC744 \uC9C0\uC815\uD560 \uC218 \uC788\uC5B4\uC694. \uD2B9\uD788, \uC774 \uD568\uC218\uB294 \uC571 \uC804\uCCB4\uC5D0 \uC601\uD5A5\uC744 \uBBF8\uCE58\uBBC0\uB85C\n * \uD2B9\uC815 \uD654\uBA74\uC5D0\uC11C\uB9CC \uC0AC\uC6A9\uD558\uB824\uBA74 \uD654\uBA74\uC744 \uBC97\uC5B4\uB0A0 \uB54C \uC774\uC804 \uC0C1\uD0DC\uB85C \uBCF5\uAD6C\uD558\uB294 \uCD94\uAC00 \uC791\uC5C5\uC774 \uD544\uC694\uD574\uC694.\n *\n * \uC608\uB97C \uB4E4\uC5B4, \uB3D9\uC601\uC0C1 \uAC10\uC0C1 \uD654\uBA74\uC5D0\uC11C\uB294 \uAC00\uB85C \uBAA8\uB4DC\uB97C \uAC15\uC81C\uD558\uACE0, \uD654\uBA74\uC744 \uB5A0\uB0A0 \uB54C \uC124\uC815\uC744 \uBCF5\uAD6C\uD574\uC11C\n * \uB2E4\uB978 \uD654\uBA74\uB4E4\uC758 \uBC29\uD5A5 \uC124\uC815\uC5D0 \uC601\uD5A5\uC744 \uC8FC\uC9C0 \uC54A\uB3C4\uB85D \uD560 \uC218 \uC788\uC5B4\uC694.\n *\n * @param {object} options \uD654\uBA74 \uBC29\uD5A5 \uC124\uC815 \uAC12\uC774\uC5D0\uC694.\n * @param {string} options.type \uD654\uBA74 \uBC29\uD5A5\uC744 \uC9C0\uC815\uD558\uB294 \uC635\uC158\uC774\uC5D0\uC694.\n * 'portrait' | 'landscape' \uC911 \uD558\uB098\uB97C \uC120\uD0DD\uD560 \uC218 \uC788\uC5B4\uC694.\n *\n * @returns {Promise<void>} \uD654\uBA74 \uBC29\uD5A5 \uC124\uC815\uC774 \uC644\uB8CC\uB418\uBA74 \uD574\uACB0\uB418\uB294 Promise\uB97C \uBC18\uD658\uD574\uC694.\n *\n * @example\n * ### \uD654\uBA74 \uBC29\uD5A5 \uC124\uC815\uD558\uAE30\n *\n * ```tsx\n * import { Button } from 'react-native';\n * import { setDeviceOrientation } from '@apps-in-toss/framework';\n *\n * function SetDeviceOrientation() {\n * return (\n * <Button\n * title=\"\uAC00\uB85C \uBAA8\uB4DC\uB85C \uBCC0\uACBD\"\n * onPress={() => {\n * setDeviceOrientation({ type: 'landscape' });\n * }}\n * />\n * );\n * }\n * ```\n *\n * ### \uD654\uBA74 \uBC29\uD5A5 \uBCF5\uAD6C\uD558\uAE30\n * \uD2B9\uC815 \uD654\uBA74\uC744 \uBC97\uC5B4\uB0A0 \uB54C \uC774\uC804 \uC0C1\uD0DC\uB85C \uBCF5\uAD6C\uD558\uB824\uBA74 \uB2E4\uC74C\uACFC \uAC19\uC774 `useEffect`\uB97C \uC0AC\uC6A9\uD558\uC138\uC694.\n *\n * ```tsx\n * import { useEffect } from 'react';\n * import { setDeviceOrientation } from '@apps-in-toss/framework';\n *\n * function VideoScreen() {\n * useEffect(() => {\n * setDeviceOrientation({ type: 'landscape' });\n *\n * return () => {\n * setDeviceOrientation({ type: 'portrait' }); // \uC124\uC815\uC744 \uC774\uC804 \uC0C1\uD0DC\uB85C \uBCF5\uAD6C\uD574\uC694.\n * };\n * }, []);\n *\n * return <Text>\uB3D9\uC601\uC0C1\uC744 \uAC10\uC0C1\uD558\uB294 \uD654\uBA74</Text>;\n * }\n * ```\n */\nexport declare function setDeviceOrientation(options: {\n type: \"portrait\" | \"landscape\";\n}): Promise<void>;\n\nexport {};\n"
|
|
118
|
-
},
|
|
119
|
-
{
|
|
120
|
-
identifier: "checkoutPayment",
|
|
121
|
-
dts: "/**\n * @public\n * @category \uD1A0\uC2A4\uD398\uC774\n * @name CheckoutPaymentOptions\n * @description \uD1A0\uC2A4\uD398\uC774 \uACB0\uC81C\uCC3D\uC744 \uB744\uC6B8 \uB54C \uD544\uC694\uD55C \uC635\uC158\uC774\uC5D0\uC694.\n * @property {string} payToken \uACB0\uC81C \uD1A0\uD070\uC774\uC5D0\uC694.\n */\nexport interface CheckoutPaymentOptions {\n /**\n * \uACB0\uC81C \uD1A0\uD070\uC774\uC5D0\uC694.\n */\n payToken: string;\n}\n/**\n * @public\n * @category \uD1A0\uC2A4\uD398\uC774\n * @name CheckoutPaymentResult\n * @description \uD1A0\uC2A4\uD398\uC774 \uACB0\uC81C\uCC3D\uC5D0\uC11C \uC0AC\uC6A9\uC790\uAC00 \uC778\uC99D\uC5D0 \uC131\uACF5\uD588\uB294\uC9C0 \uC5EC\uBD80\uC608\uC694.\n * @property {boolean} success \uC778\uC99D\uC774 \uC131\uACF5\uD588\uB294\uC9C0 \uC5EC\uBD80\uC608\uC694.\n * @property {string} [reason] \uC778\uC99D\uC774 \uC2E4\uD328\uD588\uC744 \uACBD\uC6B0\uC758 \uC774\uC720\uC608\uC694.\n */\nexport interface CheckoutPaymentResult {\n /**\n * \uC778\uC99D\uC774 \uC131\uACF5\uD588\uB294\uC9C0 \uC5EC\uBD80\uC608\uC694.\n */\n success: boolean;\n /**\n * \uC778\uC99D\uC774 \uC2E4\uD328\uD588\uC744 \uACBD\uC6B0\uC758 \uC774\uC720\uC608\uC694.\n */\n reason?: string;\n}\n/**\n * @public\n * @category \uD1A0\uC2A4\uD398\uC774\n * @name checkoutPayment\n * @description \uD1A0\uC2A4\uD398\uC774 \uACB0\uC81C\uCC3D\uC744 \uB744\uC6B0\uACE0, \uC0AC\uC6A9\uC790 \uC778\uC99D\uC744 \uC218\uD589\uD574\uC694. \uC778\uC99D\uC774 \uC644\uB8CC\uB418\uBA74 \uC131\uACF5 \uC5EC\uBD80\uB97C \uBC18\uD658\uD574\uC694.\n *\n * \uC774 \uD568\uC218\uB294 \uACB0\uC81C\uCC3D\uC744 \uD1B5\uD574 \uC0AC\uC6A9\uC790 \uC778\uC99D\uB9CC \uD574\uC694. \uC2E4\uC81C \uACB0\uC81C \uCC98\uB9AC\uB294 \uC778\uC99D \uC131\uACF5 \uD6C4 \uC11C\uBC84\uC5D0\uC11C \uBCC4\uB3C4\uB85C \uD574\uC57C \uD574\uC694.\n *\n * @param {CheckoutPaymentOptions} options \uACB0\uC81C\uCC3D\uC744 \uB744\uC6B8 \uB54C \uD544\uC694\uD55C \uC635\uC158\uC774\uC5D0\uC694.\n * @returns {Promise<CheckoutPaymentResult>} \uC778\uC99D \uC131\uACF5 \uC5EC\uBD80\uB97C \uD3EC\uD568\uD55C \uACB0\uACFC\uB97C \uBC18\uD658\uD574\uC694.\n *\n * @example\n *\n * ### \uD1A0\uC2A4\uD398\uC774 \uACB0\uC81C\uCC3D \uB744\uC6B0\uACE0 \uC778\uC99D \uCC98\uB9AC\uD558\uAE30\n *\n * ```tsx\n * import { TossPay } from '@apps-in-toss/framework';\n *\n * async function handlePayment() {\n * try {\n * // \uC2E4\uC81C \uAD6C\uD604 \uC2DC \uACB0\uC81C \uC0DD\uC131 \uC5ED\uD560\uC744 \uD558\uB294 API \uC5D4\uB4DC\uD3EC\uC778\uD2B8\uB85C \uB300\uCCB4\uD574\uC8FC\uC138\uC694.\n * const { payToken } = await fetch('/my-api/payment/create').then(res => res.json());\n *\n * const { success, reason } = await TossPay.checkoutPayment({ payToken });\n *\n * if (success) {\n * // \uC2E4\uC81C \uAD6C\uD604 \uC2DC \uACB0\uC81C\uB97C \uC2E4\uD589\uD558\uB294 API \uC5D4\uB4DC\uD3EC\uC778\uD2B8\uB85C \uB300\uCCB4\uD574\uC8FC\uC138\uC694.\n * await fetch('/my-api/payment/execute', {\n * method: 'POST',\n * body: JSON.stringify({ payToken }),\n * headers: { 'Content-Type': 'application/json' },\n * });\n * } else {\n * console.log('\uC778\uC99D \uC2E4\uD328:', reason);\n * }\n * } catch (error) {\n * console.error('\uACB0\uC81C \uC778\uC99D \uC911 \uC624\uB958\uAC00 \uBC1C\uC0DD\uD588\uC5B4\uC694:', error);\n * }\n * }\n * ```\n */\nexport declare function checkoutPayment(options: CheckoutPaymentOptions): Promise<CheckoutPaymentResult>;\n\nexport {};\n"
|
|
122
|
-
},
|
|
123
|
-
{
|
|
124
|
-
identifier: "saveBase64Data",
|
|
125
|
-
dts: "export interface SaveBase64DataParams {\n data: string;\n fileName: string;\n mimeType: string;\n}\n/**\n * @public\n * @category \uB370\uC774\uD130\n * @name saveBase64Data\n * @description \uBB38\uC790\uC5F4\uB85C \uC778\uCF54\uB529\uB41C Base64 \uB370\uC774\uD130\uB97C \uC9C0\uC815\uD55C \uD30C\uC77C \uC774\uB984\uACFC MIME \uD0C0\uC785\uC73C\uB85C \uC0AC\uC6A9\uC790 \uAE30\uAE30\uC5D0 \uC800\uC7A5\uD574\uC694. \uC774\uBBF8\uC9C0, \uD14D\uC2A4\uD2B8, PDF \uB4F1 \uB2E4\uC591\uD55C \uD615\uC2DD\uC758 \uB370\uC774\uD130\uB97C \uC800\uC7A5\uD560 \uC218 \uC788\uC5B4\uC694.\n * @param {SaveBase64DataParams} params - \uC800\uC7A5\uD560 \uB370\uC774\uD130\uC640 \uD30C\uC77C \uC815\uBCF4\uB97C \uB2F4\uC740 \uAC1D\uCCB4\uC608\uC694.\n * @param {string} params.data - Base64 \uD615\uC2DD\uC73C\uB85C \uC778\uCF54\uB529\uB41C \uB370\uC774\uD130 \uBB38\uC790\uC5F4\uC774\uC5D0\uC694.\n * @param {string} params.fileName - \uC800\uC7A5\uD560 \uD30C\uC77C \uC774\uB984\uC774\uC5D0\uC694. \uD655\uC7A5\uC790\uB3C4 \uAC19\uC774 \uBD99\uC5EC\uC918\uC57C\uD574\uC694. \uC608\uB97C \uB4E4\uC5B4, 'example.png'\uB85C \uC800\uC7A5\uD560 \uC218 \uC788\uC5B4\uC694.\n * @param {string} params.mimeType - \uC800\uC7A5\uD560 \uD30C\uC77C\uC758 MIME \uD0C0\uC785\uC774\uC5D0\uC694. \uC608\uB97C \uB4E4\uC5B4 'image/png' \uB85C \uC9C0\uC815\uD558\uBA74 \uC774\uBBF8\uC9C0, 'application/pdf'\uB294 PDF \uD30C\uC77C\uC774\uC5D0\uC694. \uC790\uC138\uD55C \uB0B4\uC6A9\uC740 [MIME \uBB38\uC11C](https://developer.mozilla.org/ko/docs/Web/HTTP/Guides/MIME_types)\uB97C \uCC38\uACE0\uD574\uC8FC\uC138\uC694.\n *\n * @example\n * ### Base64 \uC774\uBBF8\uC9C0 \uB370\uC774\uD130\uB97C \uC0AC\uC6A9\uC790 \uAE30\uAE30\uC5D0 \uC800\uC7A5\uD558\uAE30\n *\n * ```tsx\n * import { Button } from 'react-native';\n * import { saveBase64Data } from '@apps-in-toss/framework';\n *\n * // '\uC800\uC7A5' \uBC84\uD2BC\uC744 \uB204\uB974\uBA74 \uC774\uBBF8\uC9C0\uAC00 \uC0AC\uC6A9\uC790 \uAE30\uAE30\uC5D0 \uC800\uC7A5\uB3FC\uC694.\n * function SaveButton() {\n * const handleSave = async () => {\n * try {\n * await saveBase64Data({\n * data: 'iVBORw0KGgo...',\n * fileName: 'some-photo.png',\n * mimeType: 'image/png',\n * });\n * } catch (error) {\n * console.error('\uB370\uC774\uD130 \uC800\uC7A5\uC5D0 \uC2E4\uD328\uD588\uC5B4\uC694:', error);\n * }\n * };\n *\n * return <Button title=\"\uC800\uC7A5\" onPress={handleSave} />;\n * }\n * ```\n */\nexport declare function saveBase64Data(params: SaveBase64DataParams): Promise<void>;\n\nexport {};\n"
|
|
126
|
-
},
|
|
127
|
-
{
|
|
128
|
-
identifier: "getLocale",
|
|
129
|
-
dts: "/**\n * @public\n * @category \uC5B8\uC5B4\n * @kind function\n * @name getLocale\n * @description\n * \uC0AC\uC6A9\uC790\uC758 \uB85C\uCF00\uC77C(locale) \uC815\uBCF4\uB97C \uBC18\uD658\uD574\uC694. \uB124\uC774\uD2F0\uBE0C \uBAA8\uB4C8\uC5D0\uC11C \uB85C\uCF00\uC77C \uC815\uBCF4\uB97C \uAC00\uC838\uC62C \uC218 \uC5C6\uC744 \uB54C\uB294 \uAE30\uBCF8\uAC12\uC73C\uB85C 'ko-KR'\uC744 \uBC18\uD658\uD569\uB2C8\uB2E4. \uC571\uC758 \uD604\uC9C0\uD654 \uBC0F \uC5B8\uC5B4 \uC124\uC815\uACFC \uAD00\uB828\uB41C \uAE30\uB2A5\uC744 \uAD6C\uD604\uD560 \uB54C \uC0AC\uC6A9\uD558\uC138\uC694.\n *\n * @returns {string} \uC0AC\uC6A9\uC790\uC758 \uB85C\uCF00\uC77C \uC815\uBCF4\uB97C \uBC18\uD658\uD574\uC694.\n *\n * @example\n * ### \uD604\uC7AC \uC0AC\uC6A9\uC790\uC758 \uB85C\uCF00\uC77C \uC815\uBCF4 \uAC00\uC838\uC624\uAE30\n *\n * ```tsx\n * import { getLocale } from 'react-native-bedrock';\n * import { Text } from 'react-native';\n *\n * function MyPage() {\n * const locale = getLocale();\n *\n * return (\n * <Text>\uC0AC\uC6A9\uC790\uC758 \uB85C\uCF00\uC77C \uC815\uBCF4: {locale}</Text>\n * )\n * }\n *\n * ```\n */\nexport declare function getLocale(): string;\n\nexport {};\n"
|
|
130
|
-
},
|
|
131
|
-
{
|
|
132
|
-
identifier: "getSchemeUri",
|
|
133
|
-
dts: "/**\n * @public\n * @name getSchemeUri\n * @category \uD658\uACBD \uD655\uC778\n * @kind function\n * @description \uCC98\uC74C\uC5D0 \uD654\uBA74\uC5D0 \uC9C4\uC785\uD55C \uC2A4\uD0B4 \uAC12\uC774\uC5D0\uC694. \uD398\uC774\uC9C0 \uC774\uB3D9\uC73C\uB85C \uC778\uD55C URI \uBCC0\uACBD\uC740 \uBC18\uC601\uB418\uC9C0 \uC54A\uC544\uC694.\n * @returns {string} \uCC98\uC74C\uC5D0 \uD654\uBA74\uC5D0 \uC9C4\uC785\uD55C \uC2A4\uD0B4 \uAC12\uC744 \uBC18\uD658\uD574\uC694.\n *\n * @example\n * ### \uCC98\uC74C \uC9C4\uC785\uD55C \uC2A4\uD0B4 \uAC12 \uAC00\uC838\uC624\uAE30\n *\n * ```tsx\n * import { getSchemeUri } from 'react-native-bedrock';\n * import { Text } from 'react-native';\n *\n * function MyPage() {\n * const schemeUri = getSchemeUri();\n *\n * return <Text>\uCC98\uC74C\uC5D0 \uD654\uBA74\uC5D0 \uC9C4\uC785\uD55C \uC2A4\uD0B4 \uAC12: {schemeUri}</Text>\n * }\n * ```\n */\nexport declare function getSchemeUri(): string;\n\nexport {};\n"
|
|
134
|
-
},
|
|
135
|
-
{
|
|
136
|
-
identifier: "getPlatformOS",
|
|
137
|
-
dts: "/**\n * @public\n * @kind function\n * @category \uD658\uACBD \uD655\uC778\n *\n * @name getPlatformOS\n * @signature\n * ```typescript\n * function getPlatformOS(): 'ios' | 'android';\n * ```\n *\n * @description\n * \uD604\uC7AC \uC2E4\uD589 \uC911\uC778 \uD50C\uB7AB\uD3FC\uC744 \uD655\uC778\uD558\uB294 \uD568\uC218\uC608\uC694.\n * \uC774 \uD568\uC218\uB294 `react-native`\uC758 [`Platform.OS`](https://reactnative.dev/docs/0.72/platform#os) \uAC12\uC744 \uAE30\uBC18\uC73C\uB85C \uB3D9\uC791\uD558\uBA70, `ios` \uB610\uB294 `android` \uC911 \uD558\uB098\uC758 \uBB38\uC790\uC5F4\uC744 \uBC18\uD658\uD574\uC694.\n *\n * @returns {'ios' | 'android'} \uD604\uC7AC \uC2E4\uD589 \uC911\uC778 \uD50C\uB7AB\uD3FC\n *\n * @example\n *\n * ### \uD604\uC7AC \uC2E4\uD589\uC911\uC778 OS \uD50C\uB7AB\uD3FC \uD655\uC778\uD558\uAE30\n *\n * ```tsx\n * import { getPlatformOS } from 'react-native-bedrock';\n * import { Text } 'react-native';\n *\n * function Page() {\n * const platform = getPlatformOS();\n *\n * return <Text>\uD604\uC7AC \uD50C\uB7AB\uD3FC: {platform}</Text>;\n * }\n * ```\n */\nexport declare function getPlatformOS(): \"ios\" | \"android\";\n\nexport {};\n"
|
|
138
|
-
},
|
|
139
|
-
{
|
|
140
|
-
identifier: "getOperationalEnvironment",
|
|
141
|
-
dts: "/**\n * @public\n * @category \uD658\uACBD \uD655\uC778\n * @kind function\n * @name getOperationalEnvironment\n * @description\n * \uD604\uC7AC \uC2E4\uD589 \uC911\uC778 \uC571\uC758 \uC6B4\uC601 \uD658\uACBD\uC744 \uD655\uC778\uD574\uC694.\n * \uD1A0\uC2A4 \uC571\uC5D0\uC11C \uC2E4\uD589 \uC911\uC774\uB77C\uBA74 `'toss'`, \uC0CC\uB4DC\uBC15\uC2A4 \uD658\uACBD\uC5D0\uC11C \uC2E4\uD589 \uC911\uC774\uB77C\uBA74 `'sandbox'`\uB97C \uBC18\uD658\uD574\uC694.\n *\n * \uC6B4\uC601 \uD658\uACBD\uC740 \uC571\uC774 \uC2E4\uD589\uB418\uB294 \uCEE8\uD14D\uC2A4\uD2B8\uB97C \uC758\uBBF8\uD558\uBA70, \uD2B9\uC815 \uAE30\uB2A5\uC758 \uC0AC\uC6A9 \uAC00\uB2A5 \uC5EC\uBD80\uB97C \uD310\uB2E8\uD558\uB294 \uB370 \uD65C\uC6A9\uD560 \uC218 \uC788\uC5B4\uC694.\n *\n * @returns {'toss' | 'sandbox'}\n * \uD604\uC7AC \uC6B4\uC601 \uD658\uACBD\uC744 \uB098\uD0C0\uB0B4\uB294 \uBB38\uC790\uC5F4\uC774\uC5D0\uC694.\n * - `'toss'`: \uD1A0\uC2A4 \uC571\uC5D0\uC11C \uC2E4\uD589 \uC911\uC774\uC5D0\uC694.\n * - `'sandbox'`: \uC0CC\uB4DC\uBC15\uC2A4 \uD658\uACBD\uC5D0\uC11C \uC2E4\uD589 \uC911\uC774\uC5D0\uC694.\n *\n * @example\n * ### \uD604\uC7AC \uC6B4\uC601 \uD658\uACBD \uD655\uC778\uD558\uAE30\n *\n * ```tsx\n * import { getOperationalEnvironment } from '@apps-in-toss/framework';\n * import { Text } from 'react-native';\n *\n * function EnvironmentInfo() {\n * const environment = getOperationalEnvironment();\n *\n * return (\n * <Text>\uD604\uC7AC \uC6B4\uC601 \uD658\uACBD: {environment}</Text>\n * );\n * }\n * ```\n */\nexport declare function getOperationalEnvironment(): \"toss\" | \"sandbox\";\n\nexport {};\n"
|
|
142
|
-
},
|
|
143
|
-
{
|
|
144
|
-
identifier: "getTossAppVersion",
|
|
145
|
-
dts: "/**\n * @public\n * @category \uD658\uACBD \uD655\uC778\n * @name getTossAppVersion\n * @description \uD1A0\uC2A4 \uC571 \uBC84\uC804\uC744 \uAC00\uC838\uC635\uB2C8\uB2E4. \uC608\uB97C \uB4E4\uC5B4, `5.206.0`\uACFC \uAC19\uC740 \uD615\uD0DC\uB85C \uBC18\uD658\uB3FC\uC694. \uD1A0\uC2A4 \uC571 \uBC84\uC804\uC744 \uB85C\uADF8\uB85C \uB0A8\uAE30\uAC70\uB098, \uD2B9\uC815 \uAE30\uB2A5\uC774 \uD2B9\uC815 \uBC84\uC804 \uC774\uC0C1\uC5D0\uC11C\uB9CC \uC2E4\uD589\uB420 \uB54C \uC0AC\uC6A9\uB3FC\uC694.\n * @signature\n * ```typescript\n * function getTossAppVersion(): string\n * ```\n *\n * @returns {string} \uD1A0\uC2A4 \uC571 \uBC84\uC804\n *\n * @example\n *\n *\n * ### \uD1A0\uC2A4 \uC571 \uBC84\uC804 \uD655\uC778\uD558\uAE30\n *\n * ```tsx\n * import { getTossAppVersion } from '@apps-in-toss/framework';\n * import { Text } from 'react-native';\n *\n * export function TossAppVersionPage() {\n * return (\n * <Text>{getTossAppVersion()}</Text>\n * )\n * }\n * ```\n */\nexport declare function getTossAppVersion(): string;\n\nexport {};\n"
|
|
146
|
-
},
|
|
147
|
-
{
|
|
148
|
-
identifier: "getDeviceId",
|
|
149
|
-
dts: "/**\n * @public\n * @category \uD658\uACBD \uD655\uC778\n * @kind function\n * @name getDeviceId\n * @description\n * \uC0AC\uC6A9 \uC911\uC778 \uAE30\uAE30\uC758 \uACE0\uC720 \uC2DD\uBCC4\uC790\uB97C \uBB38\uC790\uC5F4\uB85C \uBC18\uD658\uD574\uC694.\n *\n * \uC774 \uD568\uC218\uB294 \uD604\uC7AC \uC0AC\uC6A9 \uC911\uC778 \uAE30\uAE30\uC758 \uACE0\uC720 \uC2DD\uBCC4\uC790\uB97C \uBB38\uC790\uC5F4\uB85C \uBC18\uD658\uD574\uC694. \uAE30\uAE30\uBCC4\uB85C \uC124\uC815\uC774\uB098 \uB370\uC774\uD130\uB97C \uC800\uC7A5\uD558\uAC70\uB098 \uC0AC\uC6A9\uC790\uC758 \uAE30\uAE30\uB97C \uC2DD\uBCC4\uD574\uC11C \uB85C\uADF8\uB97C \uAE30\uB85D\uD558\uACE0 \uBD84\uC11D\uD558\uB294 \uB370 \uC0AC\uC6A9\uD560 \uC218 \uC788\uC5B4\uC694. \uAC19\uC740 \uC0AC\uC6A9\uC790\uC758 \uC5EC\uB7EC \uAE30\uAE30\uB97C \uAD6C\uBD84\uD558\uB294 \uB370\uB3C4 \uC720\uC6A9\uD574\uC694.\n *\n * @returns {string} \uAE30\uAE30\uC758 \uACE0\uC720 \uC2DD\uBCC4\uC790\uB97C \uB098\uD0C0\uB0B4\uB294 \uBB38\uC790\uC5F4\uC774\uC5D0\uC694.\n *\n * @example\n * ### \uAE30\uAE30 \uACE0\uC720 \uC2DD\uBCC4\uC790 \uAC00\uC838\uC624\uAE30\n *\n * ```tsx\n * import { getDeviceId } from '@apps-in-toss/framework';\n * import { Text } from 'react-native';\n *\n * function MyPage() {\n * const id = getDeviceId();\n *\n * return (\n * <Text>\uC0AC\uC6A9\uC790\uC758 \uAE30\uAE30 \uACE0\uC720 \uC2DD\uBCC4\uC790: {id}</Text>\n * );\n * }\n * ```\n */\nexport declare function getDeviceId(): string;\n\nexport {};\n"
|
|
150
|
-
},
|
|
151
|
-
{
|
|
152
|
-
identifier: "startUpdateLocation",
|
|
153
|
-
dts: "import { EmitterSubscription } from 'react-native';\n\nexport interface EventEmitterSchema<K extends string, P extends unknown[]> {\n name: K;\n params: P;\n}\ndeclare enum Accuracy {\n /**\n * \uC624\uCC28\uBC94\uC704 3KM \uC774\uB0B4\n */\n Lowest = 1,\n /**\n * \uC624\uCC28\uBC94\uC704 1KM \uC774\uB0B4\n */\n Low = 2,\n /**\n * \uC624\uCC28\uBC94\uC704 \uBA87 \uBC31\uBBF8\uD130 \uC774\uB0B4\n */\n Balanced = 3,\n /**\n * \uC624\uCC28\uBC94\uC704 10M \uC774\uB0B4\n */\n High = 4,\n /**\n * \uAC00\uC7A5 \uB192\uC740 \uC815\uD655\uB3C4\n */\n Highest = 5,\n /**\n * \uB124\uBE44\uAC8C\uC774\uC158\uC744 \uC704\uD55C \uCD5C\uACE0 \uC815\uD655\uB3C4\n */\n BestForNavigation = 6\n}\ninterface Location$1 {\n /**\n * Android\uC5D0\uC11C\uB9CC \uC9C0\uC6D0\uD558\uB294 \uC635\uC158\uC774\uC5D0\uC694.\n *\n * - `FINE`: \uC815\uD655\uD55C \uC704\uCE58\n * - `COARSE`: \uB300\uB7B5\uC801\uC778 \uC704\uCE58\n *\n * @see https://developer.android.com/codelabs/approximate-location\n */\n accessLocation?: \"FINE\" | \"COARSE\";\n /**\n * \uC704\uCE58\uAC00 \uC5C5\uB370\uC774\uD2B8\uB41C \uC2DC\uC810\uC758 \uC720\uB2C9\uC2A4 \uD0C0\uC784\uC2A4\uD0EC\uD504\uC608\uC694.\n */\n timestamp: number;\n /**\n * @description \uC704\uCE58 \uC815\uBCF4\uB97C \uB098\uD0C0\uB0B4\uB294 \uAC1D\uCCB4\uC608\uC694. \uC790\uC138\uD55C \uB0B4\uC6A9\uC740 [LocationCoords](/react-native/reference/framework/Types/LocationCoords.html)\uC744 \uCC38\uACE0\uD574\uC8FC\uC138\uC694.\n */\n coords: LocationCoords;\n}\n/**\n * @public\n * @category \uC704\uCE58 \uC815\uBCF4\n * @name LocationCoords\n * @description \uC138\uBD80 \uC704\uCE58 \uC815\uBCF4\uB97C \uB098\uD0C0\uB0B4\uB294 \uAC1D\uCCB4\uC608\uC694.\n */\nexport interface LocationCoords {\n /**\n * \uC704\uB3C4\n */\n latitude: number;\n /**\n * \uACBD\uB3C4\n */\n longitude: number;\n /**\n * \uB192\uC774\n */\n altitude: number;\n /**\n * \uC704\uCE58 \uC815\uD655\uB3C4\n */\n accuracy: number;\n /**\n * \uACE0\uB3C4 \uC815\uD655\uB3C4\n */\n altitudeAccuracy: number;\n /**\n * \uBC29\uD5A5\n */\n heading: number;\n}\nexport interface StartUpdateLocationOptions {\n /**\n * \uC704\uCE58 \uC815\uD655\uB3C4\uB97C \uC124\uC815\uD574\uC694.\n */\n accuracy: Accuracy;\n /**\n * \uC704\uCE58 \uC5C5\uB370\uC774\uD2B8 \uC8FC\uAE30\uB97C \uBC00\uB9AC\uCD08(ms) \uB2E8\uC704\uB85C \uC124\uC815\uD574\uC694.\n */\n timeInterval: number;\n /**\n * \uC704\uCE58 \uBCC0\uACBD \uAC70\uB9AC\uB97C \uBBF8\uD130(m) \uB2E8\uC704\uB85C \uC124\uC815\uD574\uC694.\n */\n distanceInterval: number;\n}\nexport interface StartUpdateLocationSubscription extends EmitterSubscription {\n remove: () => Promise<void>;\n}\n/**\n * @name UpdateLocationEventEmitter\n * @kind typedef\n * @description\n * \uB514\uBC14\uC774\uC2A4\uC758 \uC704\uCE58 \uC815\uBCF4 \uBCC0\uACBD\uC744 \uAC10\uC9C0\uD574\uC694\n */\nexport type UpdateLocationEventEmitter = EventEmitterSchema<\"updateLocation\", [\n Location$1\n]>;\n/**\n * @public\n * @category \uC704\uCE58 \uC815\uBCF4\n * @name startUpdateLocation\n * @description \uB514\uBC14\uC774\uC2A4\uC758 \uC704\uCE58 \uC815\uBCF4\uB97C \uC9C0\uC18D\uC801\uC73C\uB85C \uAC10\uC9C0\uD558\uACE0, \uC704\uCE58\uAC00 \uBCC0\uACBD\uB418\uBA74 \uCF5C\uBC31\uC744 \uC2E4\uD589\uD558\uB294 \uD568\uC218\uC608\uC694. \uCF5C\uBC31 \uD568\uC218\uB97C \uB4F1\uB85D\uD558\uBA74 \uC704\uCE58\uAC00 \uBCC0\uACBD\uB420 \uB54C\uB9C8\uB2E4 \uC790\uB3D9\uC73C\uB85C \uD638\uCD9C\uB3FC\uC694.\n * \uC2E4\uC2DC\uAC04 \uC704\uCE58 \uCD94\uC801\uC774 \uD544\uC694\uD55C \uAE30\uB2A5\uC744 \uAD6C\uD604\uD560 \uB54C \uC0AC\uC6A9\uD560 \uC218 \uC788\uC5B4\uC694. \uC608\uB97C \uB4E4\uC5B4 \uC9C0\uB3C4 \uC571\uC5D0\uC11C \uC0AC\uC6A9\uC790\uC758 \uD604\uC7AC \uC704\uCE58\uB97C \uC2E4\uC2DC\uAC04\uC73C\uB85C \uC5C5\uB370\uC774\uD2B8\uD560 \uB54C, \uC6B4\uB3D9 \uC571\uC5D0\uC11C \uC0AC\uC6A9\uC790\uC758 \uC774\uB3D9 \uAC70\uB9AC\uB97C \uAE30\uB85D\uD560 \uB54C \uB4F1\uC774\uC5D0\uC694.\n * \uC704\uCE58 \uC5C5\uB370\uC774\uD2B8 \uC8FC\uAE30\uC640 \uC815\uD655\uB3C4\uB97C \uC870\uC815\uD574 \uBC30\uD130\uB9AC \uC18C\uBAA8\uB97C \uCD5C\uC18C\uD654\uD558\uBA74\uC11C\uB3C4 \uD544\uC694\uD55C \uC815\uBCF4\uB97C \uC5BB\uC744 \uC218 \uC788\uC5B4\uC694.\n *\n * @param {StartUpdateLocationOptions} options - \uC704\uCE58 \uC815\uBCF4 \uAC10\uC9C0\uC5D0 \uD544\uC694\uD55C \uC124\uC815 \uAC1D\uCCB4\uC5D0\uC694.\n * @param {number} [options.accuracy] \uC704\uCE58 \uC815\uD655\uB3C4\uB97C \uC124\uC815\uD574\uC694.\n * @param {number} [options.timeInterval] \uC704\uCE58 \uC815\uBCF4\uB97C \uC5C5\uB370\uC774\uD2B8\uD558\uB294 \uCD5C\uC18C \uC8FC\uAE30\uB85C, \uB2E8\uC704\uB294 \uBC00\uB9AC\uCD08(ms)\uC608\uC694. \uC774 \uAC12\uC740 \uC704\uCE58 \uC5C5\uB370\uC774\uD2B8\uAC00 \uBC1C\uC0DD\uD558\uB294 \uAC00\uC7A5 \uC9E7\uC740 \uAC04\uACA9\uC744 \uC124\uC815\uD558\uC9C0\uB9CC, \uC2DC\uC2A4\uD15C\uC774\uB098 \uD658\uACBD\uC758 \uC601\uD5A5\uC744 \uBC1B\uC544 \uC9C0\uC815\uD55C \uC8FC\uAE30\uBCF4\uB2E4 \uB354 \uAE34 \uAC04\uACA9\uC73C\uB85C \uC5C5\uB370\uC774\uD2B8\uB420 \uC218 \uC788\uC5B4\uC694.\n * @param {number} [options.distanceInterval] \uC704\uCE58 \uBCC0\uACBD \uAC70\uB9AC\uB97C \uBBF8\uD130(m) \uB2E8\uC704\uB85C \uC124\uC815\uD574\uC694.\n * @param {(location: Location) => void} [options.callback] \uC704\uCE58 \uC815\uBCF4\uAC00 \uBCC0\uACBD\uB420 \uB54C \uD638\uCD9C\uB418\uB294 \uCF5C\uBC31 \uD568\uC218\uC608\uC694. \uC790\uC138\uD55C \uB0B4\uC6A9\uC740 [Location](/react-native/reference/framework/Types/Location.html)\uC744 \uCC38\uACE0\uD574\uC8FC\uC138\uC694.\n *\n * @example\n * ### \uC704\uCE58 \uC815\uBCF4 \uBCC0\uACBD \uAC10\uC9C0\uD558\uAE30\n *\n * ```tsx\n * import React, { useState, useEffect } from 'react';\n * import { View, Text, Button } from 'react-native';\n * import { startUpdateLocation } from '@apps-in-toss/framework';\n *\n * // \uC704\uCE58 \uC815\uBCF4 \uBCC0\uACBD \uAC10\uC9C0\uD558\uAE30\n * function LocationWatcher() {\n * const [location, setLocation] = useState(null);\n *\n * useEffect(() => {\n * return startUpdateLocation({\n * options: {\n * accuracy: Accuracy.Balanced,\n * timeInterval: 3000,\n * distanceInterval: 10,\n * },\n * onEvent: (location) => {\n * setLocation(location);\n * },\n * onError: (error) => {\n * console.error('\uC704\uCE58 \uC815\uBCF4\uB97C \uAC00\uC838\uC624\uB294\uB370 \uC2E4\uD328\uD588\uC5B4\uC694:', error);\n * },\n * });\n * }, []);\n *\n * if (location == null) {\n * return <Text>\uC704\uCE58 \uC815\uBCF4\uB97C \uAC00\uC838\uC624\uB294 \uC911\uC774\uC5D0\uC694...</Text>;\n * }\n *\n * return (\n * <View>\n * <Text>\uC704\uB3C4: {location.coords.latitude}</Text>\n * <Text>\uACBD\uB3C4: {location.coords.longitude}</Text>\n * <Text>\uC704\uCE58 \uC815\uD655\uB3C4: {location.coords.accuracy}m</Text>\n * <Text>\uB192\uC774: {location.coords.altitude}m</Text>\n * <Text>\uACE0\uB3C4 \uC815\uD655\uB3C4: {location.coords.altitudeAccuracy}m</Text>\n * <Text>\uBC29\uD5A5: {location.coords.heading}\xB0</Text>\n * </View>\n * );\n * }\n * ```\n */\nexport declare function startUpdateLocation(eventParams: {\n onEvent: (response: Location$1) => void;\n onError: (error: unknown) => void;\n options: StartUpdateLocationOptions;\n}): () => void;\n\nexport {};\n"
|
|
154
|
-
},
|
|
155
|
-
{
|
|
156
|
-
identifier: "onVisibilityChangedByTransparentServiceWeb",
|
|
157
|
-
dts: `import { EmitterSubscription } from 'react-native';
|
|
158
|
-
|
|
159
|
-
export interface EventEmitterSchema<K extends string, P extends unknown[]> {
|
|
160
|
-
name: K;
|
|
161
|
-
params: P;
|
|
162
|
-
}
|
|
163
|
-
export interface OnVisibilityChangedByTransparentServiceWebSubscription extends EmitterSubscription {
|
|
164
|
-
remove: () => void;
|
|
165
|
-
}
|
|
166
|
-
export type OnVisibilityChangedByTransparentServiceWebEventEmitter = EventEmitterSchema<"visibilityChangedByTransparentServiceWeb", [
|
|
167
|
-
boolean
|
|
168
|
-
]>;
|
|
169
|
-
export declare function onVisibilityChangedByTransparentServiceWeb(eventParams: {
|
|
170
|
-
options: {
|
|
171
|
-
callbackId: string;
|
|
172
|
-
};
|
|
173
|
-
onEvent: (isVisible: boolean) => void;
|
|
174
|
-
onError: (error: unknown) => void;
|
|
175
|
-
}): () => void;
|
|
176
|
-
|
|
177
|
-
export {};
|
|
178
|
-
`
|
|
179
|
-
}
|
|
180
|
-
];
|
|
181
|
-
export {
|
|
182
|
-
bridges_meta_default as default
|
|
183
|
-
};
|