diff --git a/.vscode/tasks.json b/.vscode/tasks.json index 75c0dba64..678b7012e 100644 --- a/.vscode/tasks.json +++ b/.vscode/tasks.json @@ -1,6 +1,6 @@ { "version": "0.1.0", - "command": "tsc", + "command": "node_modules/typescript/bin/tsc", "isShellCommand": true, "args": ["-w", "-p", "."], "showOutput": "silent", diff --git a/lib/index.d.ts b/lib/index.d.ts index 727407e44..aa5807dd9 100644 --- a/lib/index.d.ts +++ b/lib/index.d.ts @@ -59,7 +59,6 @@ export declare const Wocky: IModelType<{ } & { profile: ({ id: string; - avatar: string; handle: string; firstName: string; lastName: string; @@ -73,6 +72,7 @@ export declare const Wocky: IModelType<{ botsSize: number; roles: IObservableArray & ISnapshottable; } & { + readonly isOwn: boolean; readonly followers: { result: never[]; loading: boolean; @@ -108,7 +108,6 @@ export declare const Wocky: IModelType<{ }) | null; profiles: IExtendedObservableMap<{ id: string; - avatar: string; handle: string; firstName: string; lastName: string; @@ -122,6 +121,7 @@ export declare const Wocky: IModelType<{ botsSize: number; roles: IObservableArray & ISnapshottable; } & { + readonly isOwn: boolean; readonly followers: { result: never[]; loading: boolean; @@ -154,7 +154,6 @@ export declare const Wocky: IModelType<{ }> & ISnapshottable<{ [key: string]: { id?: any; - avatar?: any; handle?: any; firstName?: any; lastName?: any; @@ -172,7 +171,6 @@ export declare const Wocky: IModelType<{ } & { registerProfile: (profile: { id: string; - avatar: string; handle: string; firstName: string; lastName: string; @@ -186,6 +184,7 @@ export declare const Wocky: IModelType<{ botsSize: number; roles: IObservableArray & ISnapshottable; } & { + readonly isOwn: boolean; readonly followers: { result: never[]; loading: boolean; @@ -217,7 +216,6 @@ export declare const Wocky: IModelType<{ readonly $treenode?: any; }) => { id: string; - avatar: string; handle: string; firstName: string; lastName: string; @@ -231,6 +229,7 @@ export declare const Wocky: IModelType<{ botsSize: number; roles: IObservableArray & ISnapshottable; } & { + readonly isOwn: boolean; readonly followers: { result: never[]; loading: boolean; @@ -263,9 +262,8 @@ export declare const Wocky: IModelType<{ }; unregisterProfile: (user: string) => boolean; } & { - create(id: string, data: any): { + createProfile(id: string, data: any): { id: string; - avatar: string; handle: string; firstName: string; lastName: string; @@ -279,6 +277,7 @@ export declare const Wocky: IModelType<{ botsSize: number; roles: IObservableArray & ISnapshottable; } & { + readonly isOwn: boolean; readonly followers: { result: never[]; loading: boolean; @@ -321,7 +320,6 @@ export declare const Wocky: IModelType<{ } & { roster: IObservableArray<{ id: string; - avatar: string; handle: string; firstName: string; lastName: string; @@ -335,6 +333,7 @@ export declare const Wocky: IModelType<{ botsSize: number; roles: IObservableArray & ISnapshottable; } & { + readonly isOwn: boolean; readonly followers: { result: never[]; loading: boolean; @@ -375,7 +374,6 @@ export declare const Wocky: IModelType<{ onPresence: (stanza: any) => void; follow: (a1: { id: string; - avatar: string; handle: string; firstName: string; lastName: string; @@ -389,6 +387,7 @@ export declare const Wocky: IModelType<{ botsSize: number; roles: IObservableArray & ISnapshottable; } & { + readonly isOwn: boolean; readonly followers: { result: never[]; loading: boolean; @@ -421,7 +420,6 @@ export declare const Wocky: IModelType<{ }) => Promise; unfollow: (a1: { id: string; - avatar: string; handle: string; firstName: string; lastName: string; @@ -435,6 +433,7 @@ export declare const Wocky: IModelType<{ botsSize: number; roles: IObservableArray & ISnapshottable; } & { + readonly isOwn: boolean; readonly followers: { result: never[]; loading: boolean; @@ -467,7 +466,6 @@ export declare const Wocky: IModelType<{ }) => Promise; block: (a1: { id: string; - avatar: string; handle: string; firstName: string; lastName: string; @@ -481,6 +479,7 @@ export declare const Wocky: IModelType<{ botsSize: number; roles: IObservableArray & ISnapshottable; } & { + readonly isOwn: boolean; readonly followers: { result: never[]; loading: boolean; @@ -513,7 +512,6 @@ export declare const Wocky: IModelType<{ }) => Promise; unblock: (a1: { id: string; - avatar: string; handle: string; firstName: string; lastName: string; @@ -527,6 +525,7 @@ export declare const Wocky: IModelType<{ botsSize: number; roles: IObservableArray & ISnapshottable; } & { + readonly isOwn: boolean; readonly followers: { result: never[]; loading: boolean; @@ -564,7 +563,6 @@ export declare const Wocky: IModelType<{ }>; export declare const Profile: IModelType<{ id?: any; - avatar?: any; handle?: any; firstName?: any; lastName?: any; @@ -579,7 +577,6 @@ export declare const Profile: IModelType<{ roles?: any; }, { id: string; - avatar: string; handle: string; firstName: string; lastName: string; @@ -593,6 +590,7 @@ export declare const Profile: IModelType<{ botsSize: number; roles: IObservableArray & ISnapshottable; } & { + readonly isOwn: boolean; readonly followers: { result: never[]; loading: boolean; diff --git a/lib/model.d.ts b/lib/model.d.ts index 33a8b807f..bab07204a 100644 --- a/lib/model.d.ts +++ b/lib/model.d.ts @@ -15,7 +15,6 @@ export declare const Image: IModelType<{ }>; export declare const Profile: IModelType<{ id?: any; - avatar?: any; handle?: any; firstName?: any; lastName?: any; @@ -30,7 +29,6 @@ export declare const Profile: IModelType<{ roles?: any; }, { id: string; - avatar: string; handle: string; firstName: string; lastName: string; @@ -44,6 +42,7 @@ export declare const Profile: IModelType<{ botsSize: number; roles: IObservableArray & ISnapshottable; } & { + readonly isOwn: boolean; readonly followers: { result: never[]; loading: boolean; @@ -74,7 +73,6 @@ export declare const Profile: IModelType<{ }>; export declare const OwnProfile: IModelType<{ id?: any; - avatar?: any; handle?: any; firstName?: any; lastName?: any; @@ -92,7 +90,6 @@ export declare const OwnProfile: IModelType<{ phoneNumber?: any; }, { id: string; - avatar: string; handle: string; firstName: string; lastName: string; @@ -106,6 +103,7 @@ export declare const OwnProfile: IModelType<{ botsSize: number; roles: IObservableArray & ISnapshottable; } & { + readonly isOwn: boolean; readonly followers: { result: never[]; loading: boolean; diff --git a/lib/model.js b/lib/model.js index c14501e33..fc83760ce 100644 --- a/lib/model.js +++ b/lib/model.js @@ -20,7 +20,8 @@ exports.Profile = mobx_state_tree_1.types .model('Profile', { id: mobx_state_tree_1.types.identifier(mobx_state_tree_1.types.string), // avatar: types.maybe(Image), - avatar: '', + // NOTE: causes errors after staging push + // avatar: '', handle: '', firstName: '', lastName: '', @@ -38,6 +39,12 @@ exports.Profile = mobx_state_tree_1.types // lazy instantiation because we need to inject root service into ProfileList and root instance is attached later let followers, followed; return { + get isOwn() { + const ownProfile = mobx_state_tree_1.getParent(self).profile; + // parent is Profile map if self is not own profile + // not the cleanest, but it works + return ownProfile && self.id === ownProfile.id; + }, get followers() { return followers || (followers = paging_1.create(self, 'loadRelations', self.id, 'follower')); }, diff --git a/lib/model.js.map b/lib/model.js.map index a705dcbb1..f305e6db3 100644 --- a/lib/model.js.map +++ b/lib/model.js.map @@ -1 +1 @@ -{"version":3,"file":"model.js","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"model.js","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/lib/profile.d.ts b/lib/profile.d.ts index 8d9cd1da0..888444ff3 100644 --- a/lib/profile.d.ts +++ b/lib/profile.d.ts @@ -51,7 +51,6 @@ declare const profileStore: IModelType<{ } & { profile: ({ id: string; - avatar: string; handle: string; firstName: string; lastName: string; @@ -65,6 +64,7 @@ declare const profileStore: IModelType<{ botsSize: number; roles: IObservableArray & ISnapshottable; } & { + readonly isOwn: boolean; readonly followers: { result: never[]; loading: boolean; @@ -100,7 +100,6 @@ declare const profileStore: IModelType<{ }) | null; profiles: IExtendedObservableMap<{ id: string; - avatar: string; handle: string; firstName: string; lastName: string; @@ -114,6 +113,7 @@ declare const profileStore: IModelType<{ botsSize: number; roles: IObservableArray & ISnapshottable; } & { + readonly isOwn: boolean; readonly followers: { result: never[]; loading: boolean; @@ -146,7 +146,6 @@ declare const profileStore: IModelType<{ }> & ISnapshottable<{ [key: string]: { id?: any; - avatar?: any; handle?: any; firstName?: any; lastName?: any; @@ -164,7 +163,6 @@ declare const profileStore: IModelType<{ } & { registerProfile: (profile: { id: string; - avatar: string; handle: string; firstName: string; lastName: string; @@ -178,6 +176,7 @@ declare const profileStore: IModelType<{ botsSize: number; roles: IObservableArray & ISnapshottable; } & { + readonly isOwn: boolean; readonly followers: { result: never[]; loading: boolean; @@ -209,7 +208,6 @@ declare const profileStore: IModelType<{ readonly $treenode?: any; }) => { id: string; - avatar: string; handle: string; firstName: string; lastName: string; @@ -223,6 +221,7 @@ declare const profileStore: IModelType<{ botsSize: number; roles: IObservableArray & ISnapshottable; } & { + readonly isOwn: boolean; readonly followers: { result: never[]; loading: boolean; @@ -255,9 +254,8 @@ declare const profileStore: IModelType<{ }; unregisterProfile: (user: string) => boolean; } & { - create(id: string, data: any): { + createProfile(id: string, data: any): { id: string; - avatar: string; handle: string; firstName: string; lastName: string; @@ -271,6 +269,7 @@ declare const profileStore: IModelType<{ botsSize: number; roles: IObservableArray & ISnapshottable; } & { + readonly isOwn: boolean; readonly followers: { result: never[]; loading: boolean; diff --git a/lib/profile.js b/lib/profile.js index ffe35c56d..2c2bfd708 100644 --- a/lib/profile.js +++ b/lib/profile.js @@ -73,7 +73,7 @@ const profileStore = mobx_state_tree_1.types }) .actions(self => { return { - create(id, data) { + createProfile(id, data) { return self.registerProfile(Object.assign({}, data, { id })); }, loadProfile: mobx_state_tree_1.flow(function* (user) { @@ -143,7 +143,7 @@ const profileStore = mobx_state_tree_1.types throw error; } const user = Strophe.getNodeFromJid(jid); - return self.create(user, processMap(stanza.results.item)); + return self.createProfile(user, processMap(stanza.results.item)); }), remove: mobx_state_tree_1.flow(function* () { yield self.sendIQ($iq({ type: 'set' }).c('delete', { xmlns: USER })); diff --git a/lib/profile.js.map b/lib/profile.js.map index 37e428994..7a69f0c9e 100644 --- a/lib/profile.js.map +++ b/lib/profile.js.map @@ -1 +1 @@ -{"version":3,"file":"profile.js","sourceRoot":"","sources":["../src/profile.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"profile.js","sourceRoot":"","sources":["../src/profile.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/lib/roster.d.ts b/lib/roster.d.ts index 53d9feb46..2268e251e 100644 --- a/lib/roster.d.ts +++ b/lib/roster.d.ts @@ -53,7 +53,6 @@ declare const _default: IModelType<{ } & { profile: ({ id: string; - avatar: string; handle: string; firstName: string; lastName: string; @@ -67,6 +66,7 @@ declare const _default: IModelType<{ botsSize: number; roles: IObservableArray & ISnapshottable; } & { + readonly isOwn: boolean; readonly followers: { result: never[]; loading: boolean; @@ -102,7 +102,6 @@ declare const _default: IModelType<{ }) | null; profiles: IExtendedObservableMap<{ id: string; - avatar: string; handle: string; firstName: string; lastName: string; @@ -116,6 +115,7 @@ declare const _default: IModelType<{ botsSize: number; roles: IObservableArray & ISnapshottable; } & { + readonly isOwn: boolean; readonly followers: { result: never[]; loading: boolean; @@ -148,7 +148,6 @@ declare const _default: IModelType<{ }> & ISnapshottable<{ [key: string]: { id?: any; - avatar?: any; handle?: any; firstName?: any; lastName?: any; @@ -166,7 +165,6 @@ declare const _default: IModelType<{ } & { registerProfile: (profile: { id: string; - avatar: string; handle: string; firstName: string; lastName: string; @@ -180,6 +178,7 @@ declare const _default: IModelType<{ botsSize: number; roles: IObservableArray & ISnapshottable; } & { + readonly isOwn: boolean; readonly followers: { result: never[]; loading: boolean; @@ -211,7 +210,6 @@ declare const _default: IModelType<{ readonly $treenode?: any; }) => { id: string; - avatar: string; handle: string; firstName: string; lastName: string; @@ -225,6 +223,7 @@ declare const _default: IModelType<{ botsSize: number; roles: IObservableArray & ISnapshottable; } & { + readonly isOwn: boolean; readonly followers: { result: never[]; loading: boolean; @@ -257,9 +256,8 @@ declare const _default: IModelType<{ }; unregisterProfile: (user: string) => boolean; } & { - create(id: string, data: any): { + createProfile(id: string, data: any): { id: string; - avatar: string; handle: string; firstName: string; lastName: string; @@ -273,6 +271,7 @@ declare const _default: IModelType<{ botsSize: number; roles: IObservableArray & ISnapshottable; } & { + readonly isOwn: boolean; readonly followers: { result: never[]; loading: boolean; @@ -315,7 +314,6 @@ declare const _default: IModelType<{ } & { roster: IObservableArray<{ id: string; - avatar: string; handle: string; firstName: string; lastName: string; @@ -329,6 +327,7 @@ declare const _default: IModelType<{ botsSize: number; roles: IObservableArray & ISnapshottable; } & { + readonly isOwn: boolean; readonly followers: { result: never[]; loading: boolean; @@ -369,7 +368,6 @@ declare const _default: IModelType<{ onPresence: (stanza: any) => void; follow: (a1: { id: string; - avatar: string; handle: string; firstName: string; lastName: string; @@ -383,6 +381,7 @@ declare const _default: IModelType<{ botsSize: number; roles: IObservableArray & ISnapshottable; } & { + readonly isOwn: boolean; readonly followers: { result: never[]; loading: boolean; @@ -415,7 +414,6 @@ declare const _default: IModelType<{ }) => Promise; unfollow: (a1: { id: string; - avatar: string; handle: string; firstName: string; lastName: string; @@ -429,6 +427,7 @@ declare const _default: IModelType<{ botsSize: number; roles: IObservableArray & ISnapshottable; } & { + readonly isOwn: boolean; readonly followers: { result: never[]; loading: boolean; @@ -461,7 +460,6 @@ declare const _default: IModelType<{ }) => Promise; block: (a1: { id: string; - avatar: string; handle: string; firstName: string; lastName: string; @@ -475,6 +473,7 @@ declare const _default: IModelType<{ botsSize: number; roles: IObservableArray & ISnapshottable; } & { + readonly isOwn: boolean; readonly followers: { result: never[]; loading: boolean; @@ -507,7 +506,6 @@ declare const _default: IModelType<{ }) => Promise; unblock: (a1: { id: string; - avatar: string; handle: string; firstName: string; lastName: string; @@ -521,6 +519,7 @@ declare const _default: IModelType<{ botsSize: number; roles: IObservableArray & ISnapshottable; } & { + readonly isOwn: boolean; readonly followers: { result: never[]; loading: boolean; diff --git a/package.json b/package.json index 08bf1164e..d078050ff 100644 --- a/package.json +++ b/package.json @@ -25,13 +25,17 @@ "tslint": "^3.15.1", "typescript": "2.5.2", "websocket": "^1.0.25", - "xmlhttprequest": "^1.8.0" + "xmlhttprequest": "^1.8.0", + "mobx": "3.3.1", + "mobx-state-tree": "1.3.1" }, "dependencies": { - "mobx": "3.4.1", - "mobx-state-tree": "1.3.1", "strophejs": "github:hippware/strophejs", "tslib": "^1.8.1", "xmldom": "^0.1.27" + }, + "peerDependencies": { + "mobx": "3.3.1", + "mobx-state-tree": "1.3.1" } } diff --git a/src/model.ts b/src/model.ts index 48e92c998..1cc77f694 100644 --- a/src/model.ts +++ b/src/model.ts @@ -23,7 +23,8 @@ export const Profile = types .model('Profile', { id: types.identifier(types.string), // avatar: types.maybe(Image), - avatar: '', + // NOTE: causes errors after staging push + // avatar: '', handle: '', firstName: '', lastName: '', @@ -41,6 +42,12 @@ export const Profile = types // lazy instantiation because we need to inject root service into ProfileList and root instance is attached later let followers: IPaginableList, followed: IPaginableList return { + get isOwn() { + const ownProfile = getParent(self).profile + // parent is Profile map if self is not own profile + // not the cleanest, but it works + return ownProfile && self.id === ownProfile.id + }, get followers() { return followers || (followers = create(self, 'loadRelations', self.id, 'follower')) }, diff --git a/src/profile.ts b/src/profile.ts index 84bc48be8..5756cffff 100644 --- a/src/profile.ts +++ b/src/profile.ts @@ -76,7 +76,7 @@ const profileStore = types }) .actions(self => { return { - create(id: string, data: any) { + createProfile(id: string, data: any) { return self.registerProfile({...data, id}) }, loadProfile: flow(function*(user: string) { @@ -144,7 +144,7 @@ const profileStore = types throw error } const user = Strophe.getNodeFromJid(jid) - return self.create(user, processMap(stanza.results.item)) + return self.createProfile(user, processMap(stanza.results.item)) }), remove: flow(function*() { yield self.sendIQ($iq({type: 'set'}).c('delete', {xmlns: USER})) diff --git a/yarn.lock b/yarn.lock index 94e2870a9..f3432b470 100644 --- a/yarn.lock +++ b/yarn.lock @@ -320,9 +320,9 @@ mobx-state-tree@1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/mobx-state-tree/-/mobx-state-tree-1.3.1.tgz#9e1ba9b8b6ea183f1a4a2ae1f67bfa8f2bcae4fe" -mobx@3.4.1: - version "3.4.1" - resolved "https://registry.yarnpkg.com/mobx/-/mobx-3.4.1.tgz#37abe5ee882d401828d9f26c6c1a2f47614bbbef" +mobx@3.3.1: + version "3.3.1" + resolved "https://registry.yarnpkg.com/mobx/-/mobx-3.3.1.tgz#c38fc1a287a0dda3f5d4b85efe1137fedd9dcdf0" mocha@2.3.4: version "2.3.4"