@whatcha/cli 0.4.0 → 0.6.1
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 +82 -2
- package/dist/cli.js +10 -1
- package/dist/cli.js.map +1 -1
- package/dist/commands/entry.js +367 -0
- package/dist/commands/entry.js.map +1 -0
- package/dist/commands/profiles.js +51 -24
- package/dist/commands/profiles.js.map +1 -1
- package/dist/commands/shared-diary.js +5 -3
- package/dist/commands/shared-diary.js.map +1 -1
- package/dist/commands/whoami.js +12 -2
- package/dist/commands/whoami.js.map +1 -1
- package/dist/commands/write.js +98 -2
- package/dist/commands/write.js.map +1 -1
- package/dist/lib/append-entry.js +161 -52
- package/dist/lib/append-entry.js.map +1 -1
- package/dist/lib/entry-date.js +2 -2
- package/dist/lib/entry-date.js.map +1 -1
- package/dist/lib/entry-edit.js +75 -0
- package/dist/lib/entry-edit.js.map +1 -0
- package/dist/lib/profile-family.js +14 -0
- package/dist/lib/profile-family.js.map +1 -1
- package/package.json +3 -3
package/dist/lib/append-entry.js
CHANGED
|
@@ -1,15 +1,23 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.MAX_TAGS = exports.MAX_TAG_LENGTH = exports.MAX_TITLE_LENGTH = void 0;
|
|
3
|
+
exports.MAX_LOCATION_LENGTH = exports.MAX_MOOD_LENGTH = exports.MAX_TAGS = exports.MAX_TAG_LENGTH = exports.MAX_TITLE_LENGTH = void 0;
|
|
4
|
+
exports.headerOf = headerOf;
|
|
4
5
|
exports.normalizeTags = normalizeTags;
|
|
5
6
|
exports.mergeHeader = mergeHeader;
|
|
6
7
|
exports.writeEntry = writeEntry;
|
|
8
|
+
exports.readRange = readRange;
|
|
9
|
+
exports.saveRange = saveRange;
|
|
7
10
|
const errors_1 = require("../errors");
|
|
8
11
|
const entry_get_1 = require("./entry-get");
|
|
9
12
|
/** The API's own limits (entries-content.ts `contentSchema`). */
|
|
10
13
|
exports.MAX_TITLE_LENGTH = 200;
|
|
11
14
|
exports.MAX_TAG_LENGTH = 64;
|
|
12
15
|
exports.MAX_TAGS = 32;
|
|
16
|
+
exports.MAX_MOOD_LENGTH = 64;
|
|
17
|
+
exports.MAX_LOCATION_LENGTH = 200;
|
|
18
|
+
/** What the v1 entry surface answers for a range never set (diary-entries-service.ts `toEntries`). */
|
|
19
|
+
const UNSET_START = "00:00";
|
|
20
|
+
const UNSET_END = "23:59";
|
|
13
21
|
function existingEntryIdFrom(err) {
|
|
14
22
|
if (err.status !== 409 || err.code !== "VERSION_CONFLICT")
|
|
15
23
|
return null;
|
|
@@ -44,6 +52,36 @@ function normalizeTags(tags) {
|
|
|
44
52
|
* the append rule. Exported for the tests.
|
|
45
53
|
*/
|
|
46
54
|
function mergeHeader(header, meta) {
|
|
55
|
+
const base = mergeTitleAndTags(header, meta);
|
|
56
|
+
let merged = base.header;
|
|
57
|
+
const kept = {};
|
|
58
|
+
// #57: mood, place and coordinates follow the title's rule -- they fill
|
|
59
|
+
// an entry that has none and never replace what somebody else set.
|
|
60
|
+
// "Kept" means a different value was already there, as for the title.
|
|
61
|
+
const mood = meta.mood?.trim();
|
|
62
|
+
if (mood) {
|
|
63
|
+
const had = header.mood?.trim();
|
|
64
|
+
kept.moodKept = Boolean(had) && had !== mood;
|
|
65
|
+
if (!had)
|
|
66
|
+
merged = { ...merged, mood };
|
|
67
|
+
}
|
|
68
|
+
const location = meta.location?.trim();
|
|
69
|
+
if (location) {
|
|
70
|
+
const had = header.location?.trim();
|
|
71
|
+
kept.locationKept = Boolean(had) && had !== location;
|
|
72
|
+
if (!had)
|
|
73
|
+
merged = { ...merged, location };
|
|
74
|
+
}
|
|
75
|
+
if (meta.coordinates) {
|
|
76
|
+
const { lat, lng } = meta.coordinates;
|
|
77
|
+
const had = typeof header.locationLat === "number" && typeof header.locationLng === "number";
|
|
78
|
+
kept.coordinatesKept = had && (header.locationLat !== lat || header.locationLng !== lng);
|
|
79
|
+
if (!had)
|
|
80
|
+
merged = { ...merged, locationLat: lat, locationLng: lng };
|
|
81
|
+
}
|
|
82
|
+
return { header: merged, titleKept: base.titleKept, ...kept };
|
|
83
|
+
}
|
|
84
|
+
function mergeTitleAndTags(header, meta) {
|
|
47
85
|
const wanted = meta.title?.trim();
|
|
48
86
|
const hasTitle = Boolean(header.title && header.title.trim());
|
|
49
87
|
const title = hasTitle ? header.title : wanted ? wanted : header.title;
|
|
@@ -112,28 +150,25 @@ async function writeEntry(client, diaryId, occurredAt, text, meta = {}) {
|
|
|
112
150
|
const tags = normalizeTags(meta.tags ?? []);
|
|
113
151
|
const cover = meta.coverMediaAssetId;
|
|
114
152
|
const images = meta.images ?? [];
|
|
153
|
+
const mood = meta.mood?.trim() || undefined;
|
|
154
|
+
const location = meta.location?.trim() || undefined;
|
|
155
|
+
const { coordinates, range } = meta;
|
|
156
|
+
let created;
|
|
115
157
|
try {
|
|
116
|
-
|
|
158
|
+
created = await client.post("/entries", {
|
|
117
159
|
diaryId,
|
|
118
160
|
occurredAt: occurredAt.toISOString(),
|
|
119
161
|
content: {
|
|
120
162
|
body: text,
|
|
121
163
|
...(title ? { title } : {}),
|
|
164
|
+
...(mood ? { mood } : {}),
|
|
165
|
+
...(location ? { location } : {}),
|
|
166
|
+
...(coordinates ? { locationLat: coordinates.lat, locationLng: coordinates.lng } : {}),
|
|
122
167
|
...(tags.length > 0 ? { tags } : {}),
|
|
123
168
|
...(cover ? { coverMediaAssetId: cover } : {}),
|
|
124
169
|
},
|
|
125
170
|
...(images.length > 0 ? { media: mediaOf(images) } : {}),
|
|
126
171
|
});
|
|
127
|
-
return {
|
|
128
|
-
entryId: created.id,
|
|
129
|
-
headCommitId: created.headCommitId,
|
|
130
|
-
mode: "created",
|
|
131
|
-
verified: null,
|
|
132
|
-
title: title ?? null,
|
|
133
|
-
tags,
|
|
134
|
-
titleKept: false,
|
|
135
|
-
...(cover ? { coverKept: false } : {}),
|
|
136
|
-
};
|
|
137
172
|
}
|
|
138
173
|
catch (err) {
|
|
139
174
|
if (!(err instanceof errors_1.ApiError))
|
|
@@ -141,13 +176,62 @@ async function writeEntry(client, diaryId, occurredAt, text, meta = {}) {
|
|
|
141
176
|
const existingEntryId = existingEntryIdFrom(err);
|
|
142
177
|
if (!existingEntryId)
|
|
143
178
|
throw err;
|
|
144
|
-
return appendToExisting(client, existingEntryId, text, {
|
|
179
|
+
return appendToExisting(client, diaryId, existingEntryId, text, {
|
|
180
|
+
title,
|
|
181
|
+
tags,
|
|
182
|
+
images,
|
|
183
|
+
coverMediaAssetId: cover,
|
|
184
|
+
mood,
|
|
185
|
+
location,
|
|
186
|
+
coordinates,
|
|
187
|
+
range,
|
|
188
|
+
});
|
|
145
189
|
}
|
|
190
|
+
const headCommitId = range ? await saveRange(client, diaryId, created.id, range, created.headCommitId) : created.headCommitId;
|
|
191
|
+
return {
|
|
192
|
+
entryId: created.id,
|
|
193
|
+
headCommitId,
|
|
194
|
+
mode: "created",
|
|
195
|
+
verified: null,
|
|
196
|
+
title: title ?? null,
|
|
197
|
+
tags,
|
|
198
|
+
titleKept: false,
|
|
199
|
+
...(cover ? { coverKept: false } : {}),
|
|
200
|
+
...(mood ? { moodKept: false } : {}),
|
|
201
|
+
...(location ? { locationKept: false } : {}),
|
|
202
|
+
...(coordinates ? { coordinatesKept: false } : {}),
|
|
203
|
+
...(range ? { rangeKept: false, range } : {}),
|
|
204
|
+
};
|
|
205
|
+
}
|
|
206
|
+
/**
|
|
207
|
+
* The entry's time range (#57), as the v1 entry surface reports it -- the
|
|
208
|
+
* only one that does: `GET /entries/{id}` has no `start` / `end`. null
|
|
209
|
+
* when none was ever set (that surface answers 00:00-23:59 then).
|
|
210
|
+
*/
|
|
211
|
+
async function readRange(client, diaryId, entryId) {
|
|
212
|
+
const e = await client.get(`/diaries/${diaryId}/entries/${entryId}`);
|
|
213
|
+
const start = e.start_time || UNSET_START;
|
|
214
|
+
const end = e.end_time || UNSET_END;
|
|
215
|
+
return start === UNSET_START && end === UNSET_END ? null : { start, end };
|
|
216
|
+
}
|
|
217
|
+
/**
|
|
218
|
+
* Saves `range` into the entry's header (#57). `content` on `POST` / `PATCH
|
|
219
|
+
* /entries` has no field for it, so this is the call the app's calendar
|
|
220
|
+
* makes: `PATCH /diaries/{diaryId}/entries/{entryId}`, a details-only
|
|
221
|
+
* commit that carries the text, the rest of the header and every image
|
|
222
|
+
* over untouched. The new head commit's id, when the answer has one.
|
|
223
|
+
*/
|
|
224
|
+
async function saveRange(client, diaryId, entryId, range, headCommitId) {
|
|
225
|
+
const saved = await client.patch(`/diaries/${diaryId}/entries/${entryId}`, {
|
|
226
|
+
startTime: range.start,
|
|
227
|
+
endTime: range.end,
|
|
228
|
+
});
|
|
229
|
+
return saved?.head?.id ?? headCommitId;
|
|
146
230
|
}
|
|
147
|
-
async function appendToExisting(client, entryId, text, meta) {
|
|
231
|
+
async function appendToExisting(client, diaryId, entryId, text, meta) {
|
|
148
232
|
const existing = await (0, entry_get_1.getEntry)(client, entryId);
|
|
149
233
|
const merged = mergeHeader(headerOf(existing), meta);
|
|
150
|
-
const { titleKept } = merged;
|
|
234
|
+
const { titleKept, moodKept, locationKept, coordinatesKept } = merged;
|
|
151
235
|
let header = merged.header;
|
|
152
236
|
let coverKept;
|
|
153
237
|
if (meta.coverMediaAssetId) {
|
|
@@ -155,45 +239,70 @@ async function appendToExisting(client, entryId, text, meta) {
|
|
|
155
239
|
if (!coverKept)
|
|
156
240
|
header = { ...header, coverMediaAssetId: meta.coverMediaAssetId };
|
|
157
241
|
}
|
|
158
|
-
|
|
242
|
+
// #57: read before the append, because the append itself clears it --
|
|
243
|
+
// a `PATCH /entries` save writes the header from `content`, which cannot
|
|
244
|
+
// carry a range -- so an existing range is put back afterwards, and only
|
|
245
|
+
// an entry without one takes the new one.
|
|
246
|
+
const existingRange = meta.range ? await readRange(client, diaryId, entryId) : null;
|
|
247
|
+
const range = meta.range ? (existingRange ?? meta.range) : undefined;
|
|
248
|
+
const after = {
|
|
249
|
+
title: header.title,
|
|
250
|
+
tags: header.tags,
|
|
251
|
+
titleKept,
|
|
252
|
+
...(coverKept !== undefined ? { coverKept } : {}),
|
|
253
|
+
...(moodKept !== undefined ? { moodKept } : {}),
|
|
254
|
+
...(locationKept !== undefined ? { locationKept } : {}),
|
|
255
|
+
...(coordinatesKept !== undefined ? { coordinatesKept } : {}),
|
|
256
|
+
...(range
|
|
257
|
+
? {
|
|
258
|
+
rangeKept: existingRange !== null &&
|
|
259
|
+
(existingRange.start !== meta.range.start || existingRange.end !== meta.range.end),
|
|
260
|
+
range,
|
|
261
|
+
}
|
|
262
|
+
: {}),
|
|
263
|
+
};
|
|
264
|
+
const withRange = async (r) => range ? { ...r, headCommitId: await saveRange(client, diaryId, entryId, range, r.headCommitId) } : r;
|
|
159
265
|
// Sent only when there are images to add: leaving `media` out keeps the entry's own.
|
|
160
266
|
const media = meta.images && meta.images.length > 0 ? { media: [...(0, entry_get_1.entryMedia)(existing), ...mediaOf(meta.images)] } : {};
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
267
|
+
const saveText = async () => {
|
|
268
|
+
try {
|
|
269
|
+
const saved = await client.patch(`/entries/${entryId}`, {
|
|
270
|
+
content: { body: text, ...header },
|
|
271
|
+
...media,
|
|
272
|
+
appendBody: true,
|
|
273
|
+
expectedHeadCommitId: existing.headCommitId,
|
|
274
|
+
});
|
|
275
|
+
const verified = await verifyAppend(client, entryId, existing.body, text);
|
|
276
|
+
return { entryId, headCommitId: saved.headCommitId, mode: "appended", verified, ...after };
|
|
277
|
+
}
|
|
278
|
+
catch (err) {
|
|
279
|
+
if (!(err instanceof errors_1.ApiError))
|
|
280
|
+
throw err;
|
|
281
|
+
if (err.status === 409)
|
|
282
|
+
throw concurrentWriteError(err);
|
|
283
|
+
if (!err.isUnrecognizedAppendBodyFlag())
|
|
284
|
+
throw err;
|
|
285
|
+
// Fallback: this server does not know appendBody. Merge client-side
|
|
286
|
+
// from the body we already read, and send the merged body as a plain
|
|
287
|
+
// replacement -- which is safe precisely because we just read what it
|
|
288
|
+
// is replacing.
|
|
289
|
+
const mergedBody = expectedAppendedBody(existing.body, text);
|
|
290
|
+
const saved = await client
|
|
291
|
+
.patch(`/entries/${entryId}`, {
|
|
292
|
+
content: { body: mergedBody, ...header },
|
|
293
|
+
...media,
|
|
294
|
+
expectedHeadCommitId: existing.headCommitId,
|
|
295
|
+
})
|
|
296
|
+
.catch((fallbackErr) => {
|
|
297
|
+
if (fallbackErr instanceof errors_1.ApiError && fallbackErr.status === 409)
|
|
298
|
+
throw concurrentWriteError(fallbackErr);
|
|
299
|
+
throw fallbackErr;
|
|
300
|
+
});
|
|
301
|
+
const verified = await verifyAppend(client, entryId, existing.body, text);
|
|
302
|
+
return { entryId, headCommitId: saved.headCommitId, mode: "appended-fallback", verified, ...after };
|
|
303
|
+
}
|
|
304
|
+
};
|
|
305
|
+
return withRange(await saveText());
|
|
197
306
|
}
|
|
198
307
|
function concurrentWriteError(err) {
|
|
199
308
|
return new errors_1.CliUsageError("Someone else saved to this entry while whatcha was writing to it. Nothing was overwritten -- " +
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"append-entry.js","sourceRoot":"","sources":["../../src/lib/append-entry.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"append-entry.js","sourceRoot":"","sources":["../../src/lib/append-entry.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/entry-date.js
CHANGED
|
@@ -20,9 +20,9 @@ function assertValidDate(date) {
|
|
|
20
20
|
throw new errors_1.CliUsageError(`--date "${date}" is not a real calendar date.`);
|
|
21
21
|
}
|
|
22
22
|
}
|
|
23
|
-
function assertValidTime(time) {
|
|
23
|
+
function assertValidTime(time, flag = "--time") {
|
|
24
24
|
if (!TIME_RE.test(time))
|
|
25
|
-
throw new errors_1.CliUsageError(
|
|
25
|
+
throw new errors_1.CliUsageError(`${flag} must be HH:MM (24h), got "${time}".`);
|
|
26
26
|
}
|
|
27
27
|
/** "YYYY-MM-DD" for `date`, as read in `timeZone` -- what day the diary's own §11.4 uniqueness check would see. */
|
|
28
28
|
function dateKeyInTimeZone(date, timeZone) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entry-date.js","sourceRoot":"","sources":["../../src/lib/entry-date.ts"],"names":[],"mappings":";;AAKA,0CASC;AAED,0CAEC;AAGD,8CAMC;AAGD,8CAOC;AAcD,wCAIC;AA+BD,8CAUC;AAhGD,sCAA0C;AAE1C,MAAM,OAAO,GAAG,qBAAqB,CAAC;AACtC,MAAM,OAAO,GAAG,6BAA6B,CAAC;AAE9C,SAAgB,eAAe,CAAC,IAAY;IAC1C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,MAAM,IAAI,sBAAa,CAAC,mCAAmC,IAAI,IAAI,CAAC,CAAC;IAC9F,0EAA0E;IAC1E,2EAA2E;IAC3E,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC9C,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAClD,IAAI,SAAS,CAAC,cAAc,EAAE,KAAK,CAAC,IAAI,SAAS,CAAC,WAAW,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC;QAC1G,MAAM,IAAI,sBAAa,CAAC,WAAW,IAAI,gCAAgC,CAAC,CAAC;IAC3E,CAAC;AACH,CAAC;AAED,SAAgB,eAAe,CAAC,IAAY;
|
|
1
|
+
{"version":3,"file":"entry-date.js","sourceRoot":"","sources":["../../src/lib/entry-date.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getBlame = getBlame;
|
|
4
|
+
exports.otherWriters = otherWriters;
|
|
5
|
+
exports.blameMatches = blameMatches;
|
|
6
|
+
exports.replaceMyPart = replaceMyPart;
|
|
7
|
+
const errors_1 = require("../errors");
|
|
8
|
+
/** The blame of `versionId` (the head the caller is about to save on top of), so it describes exactly that text. */
|
|
9
|
+
async function getBlame(client, entryId, versionId) {
|
|
10
|
+
try {
|
|
11
|
+
return await client.get(`/entries/${entryId}/blame`, versionId ? { versionId } : undefined);
|
|
12
|
+
}
|
|
13
|
+
catch (err) {
|
|
14
|
+
// An entry without a single commit has no lines to attribute.
|
|
15
|
+
if (err instanceof errors_1.ApiError && err.status === 404 && !versionId)
|
|
16
|
+
return [];
|
|
17
|
+
throw err;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
const isBlank = (line) => line.content.trim().length === 0;
|
|
21
|
+
/** The other people with words in the entry: display names (or handles), once each, in order of first appearance. */
|
|
22
|
+
function otherWriters(blame, myId) {
|
|
23
|
+
const names = [];
|
|
24
|
+
for (const line of blame) {
|
|
25
|
+
if (isBlank(line) || line.author?.id === myId)
|
|
26
|
+
continue;
|
|
27
|
+
const a = line.author;
|
|
28
|
+
const name = a?.displayName || (a?.username ? `@${a.username}` : null) || "someone";
|
|
29
|
+
if (!names.includes(name))
|
|
30
|
+
names.push(name);
|
|
31
|
+
}
|
|
32
|
+
return names;
|
|
33
|
+
}
|
|
34
|
+
/** True when `blame` is a line-by-line description of `body` -- checked before a splice trusts its line numbers. */
|
|
35
|
+
function blameMatches(blame, body) {
|
|
36
|
+
return blame.map((l) => l.content).join("\n").trimEnd() === body.trimEnd();
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* `body` with the lines `myId` wrote replaced by `text` -- the rest exactly
|
|
40
|
+
* as it was. Your part is the run from your first written line to your last;
|
|
41
|
+
* blank lines inside it count as yours (they are the separators `whatcha
|
|
42
|
+
* write` puts between appends). Empty `text` removes your part, and the
|
|
43
|
+
* blank lines around it collapse to one paragraph break.
|
|
44
|
+
*
|
|
45
|
+
* Refuses rather than guesses when there is nothing of yours, or when
|
|
46
|
+
* somebody else's words sit between your first line and your last: either
|
|
47
|
+
* way there is no one "your part" to replace.
|
|
48
|
+
*/
|
|
49
|
+
function replaceMyPart(blame, myId, text) {
|
|
50
|
+
const mine = blame.map((l, i) => (!isBlank(l) && l.author?.id === myId ? i : -1)).filter((i) => i >= 0);
|
|
51
|
+
if (mine.length === 0) {
|
|
52
|
+
throw new errors_1.CliUsageError("You have not written anything in this entry, so --mine has nothing to replace. " +
|
|
53
|
+
"Use `whatcha write` to add to it.");
|
|
54
|
+
}
|
|
55
|
+
const first = mine[0];
|
|
56
|
+
const last = mine[mine.length - 1];
|
|
57
|
+
const between = blame.slice(first, last + 1).filter((l) => !isBlank(l) && l.author?.id !== myId);
|
|
58
|
+
if (between.length > 0) {
|
|
59
|
+
throw new errors_1.CliUsageError(`Your text in this entry is interleaved with ${otherWriters(between, myId).join(", ")}'s ` +
|
|
60
|
+
`(line ${between[0].lineNumber}), so there is no one part of yours to replace. ` +
|
|
61
|
+
"Edit it in the app, or replace the whole text with --all.");
|
|
62
|
+
}
|
|
63
|
+
const before = blame.slice(0, first).map((l) => l.content);
|
|
64
|
+
const after = blame.slice(last + 1).map((l) => l.content);
|
|
65
|
+
const middle = text.replace(/\s+$/, "");
|
|
66
|
+
if (!middle) {
|
|
67
|
+
const head = before.join("\n").trimEnd();
|
|
68
|
+
const rest = after.join("\n").replace(/^(\s*\n)+/, "").trimEnd();
|
|
69
|
+
return [head, rest].filter((s) => s.length > 0).join("\n\n");
|
|
70
|
+
}
|
|
71
|
+
// The new text goes exactly where yours was, between the same lines --
|
|
72
|
+
// the line breaks around your part are the ones the entry already had.
|
|
73
|
+
return [...before, middle, ...after].join("\n").trimEnd();
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=entry-edit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entry-edit.js","sourceRoot":"","sources":["../../src/lib/entry-edit.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.findProfile = findProfile;
|
|
4
4
|
exports.bearerClients = bearerClients;
|
|
5
5
|
exports.clientAsProfile = clientAsProfile;
|
|
6
|
+
exports.currentProfile = currentProfile;
|
|
6
7
|
const http_client_1 = require("../http-client");
|
|
7
8
|
/** A profile of this login by @handle (the `@` optional, case-insensitive) or id. */
|
|
8
9
|
function findProfile(profiles, target) {
|
|
@@ -26,4 +27,17 @@ async function clientAsProfile(client, profileId, forToken) {
|
|
|
26
27
|
const issued = await client.post(`/me/profiles/${profileId}/session`, {});
|
|
27
28
|
return forToken(issued.accessToken);
|
|
28
29
|
}
|
|
30
|
+
/**
|
|
31
|
+
* The profile `client` acts as, asked of the server (#58).
|
|
32
|
+
*
|
|
33
|
+
* The saved session's `userId` is a note the CLI keeps, not the credential:
|
|
34
|
+
* 0.4.0's `switch --account` swapped the token back to the account's but
|
|
35
|
+
* left the sub-profile's id in that note, so `switch @that-profile` then
|
|
36
|
+
* answered "Already writing as" without switching, and `profile-avatar`
|
|
37
|
+
* set the account's picture while meaning the profile's. Anything that
|
|
38
|
+
* decides "is this the profile in use?" asks here instead.
|
|
39
|
+
*/
|
|
40
|
+
async function currentProfile(client) {
|
|
41
|
+
return client.get("/me");
|
|
42
|
+
}
|
|
29
43
|
//# sourceMappingURL=profile-family.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profile-family.js","sourceRoot":"","sources":["../../src/lib/profile-family.ts"],"names":[],"mappings":";;AA+BA,kCAGC;AAKD,sCAEC;AAYD,0CAOC;
|
|
1
|
+
{"version":3,"file":"profile-family.js","sourceRoot":"","sources":["../../src/lib/profile-family.ts"],"names":[],"mappings":";;AA+BA,kCAGC;AAKD,sCAEC;AAYD,0CAOC;AAoBD,wCAEC;AAlFD,gDAAwE;AA8BxE,qFAAqF;AACrF,SAAgB,WAAW,CAAC,QAA6B,EAAE,MAAc;IACvE,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IACtD,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,CAAC;AAC9F,CAAC;AAKD,SAAgB,aAAa,CAAC,OAAe;IAC3C,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,IAAI,gCAAkB,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,UAAU,WAAW,EAAE,CAAC,CAAC;AAC/F,CAAC;AAED;;;;;;;;;GASG;AACI,KAAK,UAAU,eAAe,CACnC,MAAqB,EACrB,SAAiB,EACjB,QAAwB;IAExB,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAiB,gBAAgB,SAAS,UAAU,EAAE,EAAE,CAAC,CAAC;IAC1F,OAAO,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;AACtC,CAAC;AAUD;;;;;;;;;GASG;AACI,KAAK,UAAU,cAAc,CAAC,MAAqB;IACxD,OAAO,MAAM,CAAC,GAAG,CAAK,KAAK,CAAC,CAAC;AAC/B,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@whatcha/cli",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "Official command-line client for what-are-you-do-ing (whatareyoudo.ing) -- login (password or personal access key), list diaries, write and
|
|
3
|
+
"version": "0.6.1",
|
|
4
|
+
"description": "Official command-line client for what-are-you-do-ing (whatareyoudo.ing) -- login (password or personal access key), list diaries, write, read, edit and delete entries, switch profiles, read and write the Experience Wiki, with images.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"homepage": "https://whatareyoudo.ing/cli",
|
|
7
7
|
"repository": {
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
"whatareyoudo"
|
|
21
21
|
],
|
|
22
22
|
"bin": {
|
|
23
|
-
"whatcha": "
|
|
23
|
+
"whatcha": "dist/index.js"
|
|
24
24
|
},
|
|
25
25
|
"files": [
|
|
26
26
|
"dist",
|