@rtsdk/topia 0.0.11 → 0.0.13
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 +56 -0
- package/dist/src/controllers/DroppedAsset.js +399 -0
- package/dist/src/controllers/SDKController.js +43 -0
- package/dist/src/controllers/Topia.js +36 -0
- package/dist/src/controllers/User.js +113 -0
- package/dist/src/controllers/Visitor.js +62 -0
- package/dist/src/controllers/World.js +346 -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 +82 -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,26 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
import { DroppedAsset } from "controllers";
|
|
11
|
+
export class DroppedAssetFactory {
|
|
12
|
+
constructor(topia) {
|
|
13
|
+
this.topia = topia;
|
|
14
|
+
}
|
|
15
|
+
create(id, urlSlug, options) {
|
|
16
|
+
return new DroppedAsset(this.topia, id, urlSlug, options);
|
|
17
|
+
}
|
|
18
|
+
get(id, urlSlug, options) {
|
|
19
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
20
|
+
const droppedAsset = new DroppedAsset(this.topia, id, urlSlug, options);
|
|
21
|
+
yield droppedAsset.fetchDroppedAssetById();
|
|
22
|
+
return droppedAsset;
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
export default DroppedAssetFactory;
|
|
@@ -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, _b;
|
|
7
|
+
let errorMessage = message;
|
|
8
|
+
if (error instanceof AxiosError) {
|
|
9
|
+
errorMessage = (error === null || error === void 0 ? void 0 : error.message) || message;
|
|
10
|
+
const status = ((_a = error === null || error === void 0 ? void 0 : error.response) === null || _a === void 0 ? void 0 : _a.status) || "unknown";
|
|
11
|
+
errorMessage && console.error(status, errorMessage, (_b = error.config) === null || _b === void 0 ? void 0 : _b.url);
|
|
12
|
+
}
|
|
13
|
+
else if (error instanceof Error) {
|
|
14
|
+
errorMessage = (error === null || error === void 0 ? void 0 : error.message) || message;
|
|
15
|
+
errorMessage && console.error(errorMessage);
|
|
16
|
+
}
|
|
17
|
+
console.log("Please surround your use of the RTSDK with a try/catch block.");
|
|
18
|
+
console.trace();
|
|
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.13"
|
|
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
|
-
};
|