@rtsdk/topia 0.0.11 → 0.0.12
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 +1 -1
- package/dist/controllers/Asset.js +19 -8
- package/dist/controllers/DroppedAsset.js +217 -33
- package/dist/controllers/SDKController.js +36 -0
- package/dist/controllers/Topia.js +32 -0
- package/dist/controllers/User.js +32 -17
- package/dist/controllers/Visitor.js +36 -12
- package/dist/controllers/World.js +172 -30
- package/dist/controllers/__tests__/asset.test.js +24 -10
- package/dist/controllers/__tests__/droppedAsset.test.js +18 -13
- package/dist/controllers/__tests__/user.test.js +33 -6
- package/dist/controllers/__tests__/visitor.test.js +27 -10
- package/dist/controllers/__tests__/world.test.js +26 -24
- package/dist/controllers/index.js +2 -0
- package/dist/example.js +32 -0
- package/dist/factories/AssetFactory.js +11 -0
- package/dist/factories/DroppedAssetFactory.js +26 -0
- package/dist/factories/UserFactory.js +10 -0
- package/dist/factories/VisitorFactory.js +10 -0
- package/dist/factories/WorldFactory.js +10 -0
- package/dist/factories/index.js +5 -0
- package/dist/index.js +13 -2
- package/dist/interfaces/SDKInterfaces.js +1 -0
- package/dist/interfaces/TopiaInterfaces.js +1 -0
- package/dist/interfaces/UserInterfaces.js +1 -0
- package/dist/interfaces/index.js +3 -0
- package/dist/src/__mocks__/assets.js +241 -0
- package/dist/src/__mocks__/index.js +4 -0
- package/dist/src/__mocks__/scenes.js +104 -0
- package/dist/src/__mocks__/visitors.js +83 -0
- package/dist/src/__mocks__/worlds.js +52 -0
- package/dist/src/controllers/Asset.js +39 -0
- package/dist/src/controllers/DroppedAsset.js +358 -0
- package/dist/src/controllers/SDKController.js +43 -0
- package/dist/src/controllers/Topia.js +35 -0
- package/dist/src/controllers/User.js +113 -0
- package/dist/src/controllers/Visitor.js +62 -0
- package/dist/src/controllers/World.js +319 -0
- package/dist/src/controllers/__tests__/asset.test.js +36 -0
- package/dist/src/controllers/__tests__/droppedAsset.test.js +97 -0
- package/dist/src/controllers/__tests__/user.test.js +49 -0
- package/dist/src/controllers/__tests__/visitor.test.js +40 -0
- package/dist/src/controllers/__tests__/world.test.js +80 -0
- package/dist/src/controllers/index.js +7 -0
- package/dist/src/factories/AssetFactory.js +11 -0
- package/dist/src/factories/DroppedAssetFactory.js +26 -0
- package/dist/src/factories/UserFactory.js +10 -0
- package/dist/src/factories/VisitorFactory.js +10 -0
- package/dist/src/factories/WorldFactory.js +10 -0
- package/dist/src/factories/index.js +5 -0
- package/dist/src/index.js +2 -0
- package/dist/src/interfaces/AssetInterfaces.js +1 -0
- package/dist/src/interfaces/DroppedAssetInterfaces.js +1 -0
- package/dist/src/interfaces/SDKInterfaces.js +1 -0
- package/dist/src/interfaces/TopiaInterfaces.js +1 -0
- package/dist/src/interfaces/UserInterfaces.js +1 -0
- package/dist/src/interfaces/VisitorInterfaces.js +1 -0
- package/dist/src/interfaces/WorldInterfaces.js +1 -0
- package/dist/src/interfaces/index.js +7 -0
- package/dist/src/types/DroppedAssetTypes.js +12 -0
- package/dist/src/types/InteractiveCredentialsTypes.js +1 -0
- package/dist/src/types/OptionsTypes.js +1 -0
- package/dist/src/types/ResponseTypes.js +1 -0
- package/dist/src/types/VisitorTypes.js +1 -0
- package/dist/src/types/index.js +4 -0
- package/dist/src/utils/__tests__/removeUndefined.test.js +10 -0
- package/dist/src/utils/__tests__/scatterVisitors.test.js +11 -0
- package/dist/src/utils/getBrowserWarning.js +5 -0
- package/dist/src/utils/getErrorMessage.js +5 -0
- package/dist/src/utils/getErrorResponse.js +20 -0
- package/dist/src/utils/getSuccessResponse.js +3 -0
- package/dist/src/utils/index.js +4 -0
- package/dist/src/utils/removeUndefined.js +11 -0
- package/dist/src/utils/scatterVisitors.js +8 -0
- package/dist/types/InteractiveCredentialsTypes.js +1 -0
- package/dist/types/OptionsTypes.js +1 -0
- package/dist/types/index.js +1 -0
- package/dist/utils/getErrorMessage.js +3 -1
- package/dist/utils/publicAPI.js +3 -0
- package/dist/utils/removeUndefined.js +3 -0
- package/dist/utils/scatterVisitors.js +3 -0
- package/package.json +3 -1
- package/dist/utils/createDroppedAsset.js +0 -72
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export var DroppedAssetClickType;
|
|
2
|
+
(function (DroppedAssetClickType) {
|
|
3
|
+
DroppedAssetClickType["NONE"] = "none";
|
|
4
|
+
DroppedAssetClickType["LINK"] = "link";
|
|
5
|
+
DroppedAssetClickType["PORTAL"] = "portal";
|
|
6
|
+
DroppedAssetClickType["TELEPORT"] = "teleport";
|
|
7
|
+
})(DroppedAssetClickType || (DroppedAssetClickType = {}));
|
|
8
|
+
export var DroppedAssetMediaType;
|
|
9
|
+
(function (DroppedAssetMediaType) {
|
|
10
|
+
DroppedAssetMediaType["NONE"] = "none";
|
|
11
|
+
DroppedAssetMediaType["LINK"] = "link";
|
|
12
|
+
})(DroppedAssetMediaType || (DroppedAssetMediaType = {}));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { removeUndefined } from "../removeUndefined";
|
|
2
|
+
afterEach(() => {
|
|
3
|
+
jest.resetAllMocks();
|
|
4
|
+
});
|
|
5
|
+
describe("remove undefined values util", () => {
|
|
6
|
+
it("should return an object without overriding with undefined values", () => {
|
|
7
|
+
const testRemoveUndefined = removeUndefined({ a: "abc", b: undefined, c: "123", d: null });
|
|
8
|
+
expect(testRemoveUndefined).toEqual({ a: "abc", c: "123", d: null });
|
|
9
|
+
});
|
|
10
|
+
});
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { scatterVisitors } from "../scatterVisitors";
|
|
2
|
+
afterEach(() => {
|
|
3
|
+
jest.resetAllMocks();
|
|
4
|
+
});
|
|
5
|
+
describe("scatter visitors util", () => {
|
|
6
|
+
it("should scatter visitors by 50", () => {
|
|
7
|
+
const testScatter = scatterVisitors(10, 50);
|
|
8
|
+
expect(testScatter).toBeGreaterThanOrEqual(-40);
|
|
9
|
+
expect(testScatter).toBeLessThanOrEqual(60);
|
|
10
|
+
});
|
|
11
|
+
});
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export const getErrorMessage = (error) => {
|
|
2
|
+
var _a, _b, _c;
|
|
3
|
+
const errorMessage = (_c = (_b = (_a = error === null || error === void 0 ? void 0 : error.response) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.errors[0]) === null || _c === void 0 ? void 0 : _c.message;
|
|
4
|
+
return errorMessage || "Something went wrong. Please try again or contact support.";
|
|
5
|
+
};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Parses error object and returns message if available, otherwise returns generic error message.
|
|
3
|
+
*/
|
|
4
|
+
import { AxiosError } from "axios";
|
|
5
|
+
export const getErrorResponse = ({ error, message = "Something went wrong. Please try again or contact support.", }) => {
|
|
6
|
+
var _a;
|
|
7
|
+
console.log("🚀 ~ file: getErrorResponse.ts:15 ~ error", error);
|
|
8
|
+
let errorMessage = message;
|
|
9
|
+
if (error instanceof Error) {
|
|
10
|
+
errorMessage = (error === null || error === void 0 ? void 0 : error.message) || message;
|
|
11
|
+
errorMessage && console.error(errorMessage);
|
|
12
|
+
}
|
|
13
|
+
else if (error instanceof AxiosError) {
|
|
14
|
+
errorMessage = (error === null || error === void 0 ? void 0 : error.message) || message;
|
|
15
|
+
const status = ((_a = error === null || error === void 0 ? void 0 : error.response) === null || _a === void 0 ? void 0 : _a.status) || "unknown";
|
|
16
|
+
errorMessage && console.error(status, errorMessage);
|
|
17
|
+
}
|
|
18
|
+
console.error("Please surround your use of the RTSDK with a try/catch block.");
|
|
19
|
+
return { success: false, message: errorMessage };
|
|
20
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Returns a random whole number within range of (original number - scatterBy) to (original number + scatterBy)
|
|
3
|
+
*/
|
|
4
|
+
export const scatterVisitors = (original, scatterBy) => {
|
|
5
|
+
const min = original - scatterBy;
|
|
6
|
+
const max = original + scatterBy;
|
|
7
|
+
return Math.floor(Math.random() * (max - min) + min);
|
|
8
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/dist/types/index.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
// type errorMessage = { message: string };
|
|
1
2
|
export const getErrorMessage = (error) => {
|
|
2
3
|
var _a, _b, _c;
|
|
3
4
|
const errorMessage = (_c = (_b = (_a = error === null || error === void 0 ? void 0 : error.response) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.errors[0]) === null || _c === void 0 ? void 0 : _c.message;
|
|
4
|
-
|
|
5
|
+
console.log(errorMessage);
|
|
6
|
+
return errorMessage || JSON.stringify(error) || "Something went wrong. Please try again or contact support.";
|
|
5
7
|
};
|
package/dist/utils/publicAPI.js
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import axios from "axios";
|
|
2
2
|
export const publicAPI = (apiKey) => {
|
|
3
|
+
if (window && typeof window !== "undefined") {
|
|
4
|
+
console.warn("Please use extreme caution when passing sensitive information such as API keys from a client side application.");
|
|
5
|
+
}
|
|
3
6
|
return axios.create({
|
|
4
7
|
baseURL: "https://api.topia.io/api",
|
|
5
8
|
headers: {
|
package/package.json
CHANGED
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
"@rollup/plugin-json": "^5.0.1",
|
|
11
11
|
"@rollup/plugin-node-resolve": "^15.0.1",
|
|
12
12
|
"@types/jest": "^29.2.3",
|
|
13
|
+
"@types/jsonwebtoken": "^9.0.0",
|
|
13
14
|
"@typescript-eslint/eslint-plugin": "^5.43.0",
|
|
14
15
|
"@typescript-eslint/parser": "^5.43.0",
|
|
15
16
|
"axios": "^1.1.3",
|
|
@@ -18,6 +19,7 @@
|
|
|
18
19
|
"eslint-config-prettier": "^8.5.0",
|
|
19
20
|
"eslint-plugin-prettier": "^4.2.1",
|
|
20
21
|
"jest": "^29.3.1",
|
|
22
|
+
"jsonwebtoken": "^9.0.0",
|
|
21
23
|
"prettier": "^2.7.1",
|
|
22
24
|
"rollup": "^3.4.0",
|
|
23
25
|
"rollup-plugin-terser": "^7.0.2",
|
|
@@ -54,5 +56,5 @@
|
|
|
54
56
|
"local-publish": "yarn build && yalc publish --push --no-scripts"
|
|
55
57
|
},
|
|
56
58
|
"type": "module",
|
|
57
|
-
"version": "0.0.
|
|
59
|
+
"version": "0.0.12"
|
|
58
60
|
}
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
export const createDroppedAsset = (apiKey, data, urlSlug) => {
|
|
2
|
-
// return new DroppedAsset(
|
|
3
|
-
// data.addedOn,
|
|
4
|
-
// apiKey,
|
|
5
|
-
// data.assetId,
|
|
6
|
-
// data.assetName,
|
|
7
|
-
// data.assetScale,
|
|
8
|
-
// data.assetPodium,
|
|
9
|
-
// data.audioRadius,
|
|
10
|
-
// data.assetBroadcastAll,
|
|
11
|
-
// data.assetPrivateConversation,
|
|
12
|
-
// data.assetPrivateZoneChannelDisabled,
|
|
13
|
-
// data.assetPrivateConversationCap,
|
|
14
|
-
// data.audioVolume,
|
|
15
|
-
// data.broadcasterEmail,
|
|
16
|
-
// data.clickType,
|
|
17
|
-
// data.clickableLink,
|
|
18
|
-
// data.clickableLinkTitle,
|
|
19
|
-
// data.clickablePortal,
|
|
20
|
-
// data.creationDatetime,
|
|
21
|
-
// data.creatorTags,
|
|
22
|
-
// data.contractAddress,
|
|
23
|
-
// data.existingKey,
|
|
24
|
-
// data.id,
|
|
25
|
-
// data.isPublic,
|
|
26
|
-
// data.isVideoPlayer,
|
|
27
|
-
// data.kitId,
|
|
28
|
-
// data.layer0,
|
|
29
|
-
// data.layer1,
|
|
30
|
-
// data.library,
|
|
31
|
-
// data.mediaLink,
|
|
32
|
-
// data.mediaPlayTime,
|
|
33
|
-
// data.mediaType,
|
|
34
|
-
// data.mediaName,
|
|
35
|
-
// data.muteZone,
|
|
36
|
-
// data.mediaUploadedId,
|
|
37
|
-
// data.mediaUploadedLink,
|
|
38
|
-
// data.metaName,
|
|
39
|
-
// data.originalAssetId,
|
|
40
|
-
// data.originalKit,
|
|
41
|
-
// data.ownerId,
|
|
42
|
-
// data.ownerName,
|
|
43
|
-
// data.platformAsset,
|
|
44
|
-
// data.position,
|
|
45
|
-
// data.portalCoordsX,
|
|
46
|
-
// data.portalCoordsY,
|
|
47
|
-
// data.purchased,
|
|
48
|
-
// data.purchaseDate,
|
|
49
|
-
// data.purchasedFrom,
|
|
50
|
-
// data.specialType,
|
|
51
|
-
// data.transactionId,
|
|
52
|
-
// data.showMediaAsIfPeer,
|
|
53
|
-
// data.syncUserMedia,
|
|
54
|
-
// data.tagJson,
|
|
55
|
-
// data.type,
|
|
56
|
-
// data.text,
|
|
57
|
-
// data.textColor,
|
|
58
|
-
// data.textSize,
|
|
59
|
-
// data.textWidth,
|
|
60
|
-
// data.textWeight,
|
|
61
|
-
// data.textFont,
|
|
62
|
-
// data.textFontFamily,
|
|
63
|
-
// data.teleportX,
|
|
64
|
-
// data.teleportY,
|
|
65
|
-
// data.tokenSymbol,
|
|
66
|
-
// data.tokenName,
|
|
67
|
-
// urlSlug,
|
|
68
|
-
// data.worldId,
|
|
69
|
-
// data.walletAddress,
|
|
70
|
-
// data.yOrderAdjust,
|
|
71
|
-
// );
|
|
72
|
-
};
|