pxt-core 9.3.10 → 9.3.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/built/pxt.js CHANGED
@@ -103251,8 +103251,33 @@ var pxt;
103251
103251
  request.onerror = () => this.errorHandler(request.error, "deleteAll", reject);
103252
103252
  });
103253
103253
  }
103254
+ getObjectStoreWrapper(storeName) {
103255
+ return new IDBObjectStoreWrapper(this, storeName);
103256
+ }
103254
103257
  }
103255
103258
  BrowserUtils.IDBWrapper = IDBWrapper;
103259
+ class IDBObjectStoreWrapper {
103260
+ constructor(db, storeName) {
103261
+ this.db = db;
103262
+ this.storeName = storeName;
103263
+ }
103264
+ getAsync(id) {
103265
+ return this.db.getAsync(this.storeName, id);
103266
+ }
103267
+ getAllAsync() {
103268
+ return this.db.getAllAsync(this.storeName);
103269
+ }
103270
+ setAsync(data) {
103271
+ return this.db.setAsync(this.storeName, data);
103272
+ }
103273
+ async deleteAsync(id) {
103274
+ await this.db.deleteAsync(this.storeName, id);
103275
+ }
103276
+ async deleteAllAsync() {
103277
+ await this.db.deleteAllAsync(this.storeName);
103278
+ }
103279
+ }
103280
+ BrowserUtils.IDBObjectStoreWrapper = IDBObjectStoreWrapper;
103256
103281
  class IndexedDbTranslationDb {
103257
103282
  constructor(db) {
103258
103283
  this.db = db;
@@ -11522,6 +11522,73 @@ var pxt;
11522
11522
  })(blocks = pxt.blocks || (pxt.blocks = {}));
11523
11523
  })(pxt || (pxt = {}));
11524
11524
  var pxt;
11525
+ (function (pxt) {
11526
+ var blocks;
11527
+ (function (blocks) {
11528
+ class Rubric {
11529
+ constructor(criteria) {
11530
+ this.criteria = criteria;
11531
+ }
11532
+ }
11533
+ blocks.Rubric = Rubric;
11534
+ function parseRubric(rubric) {
11535
+ let rubricObj;
11536
+ try {
11537
+ rubricObj = JSON.parse(rubric);
11538
+ }
11539
+ catch (e) {
11540
+ console.error(`Error parsing rubric! ${e}`);
11541
+ return null;
11542
+ }
11543
+ if (!rubricObj.criteria) {
11544
+ console.error(`No criteria found in rubric`);
11545
+ return null;
11546
+ }
11547
+ const criteria = rubricObj.criteria.map((c) => {
11548
+ return blocks.getCriteria(c);
11549
+ }).filter((r) => !!r);
11550
+ return new Rubric(criteria);
11551
+ }
11552
+ blocks.parseRubric = parseRubric;
11553
+ })(blocks = pxt.blocks || (pxt.blocks = {}));
11554
+ })(pxt || (pxt = {}));
11555
+ var pxt;
11556
+ (function (pxt) {
11557
+ var blocks;
11558
+ (function (blocks) {
11559
+ function getCriteria(data) {
11560
+ switch (data.criteriaId) {
11561
+ case "blockCheck":
11562
+ return new BlockCheckCriteria(data.displayText, data.blockRequirements);
11563
+ case "comment":
11564
+ return new CommentCriteria(data.displayText, data.count);
11565
+ default:
11566
+ console.error(`Unrecognized criteriaId: ${data.criteriaId}`);
11567
+ return null;
11568
+ }
11569
+ }
11570
+ blocks.getCriteria = getCriteria;
11571
+ class RubricCriteria {
11572
+ constructor(displayText) {
11573
+ this.displayText = displayText;
11574
+ }
11575
+ }
11576
+ blocks.RubricCriteria = RubricCriteria;
11577
+ class BlockCheckCriteria extends RubricCriteria {
11578
+ constructor(displayText, blockRequirements) {
11579
+ super(displayText);
11580
+ this.blockRequirements = blockRequirements;
11581
+ }
11582
+ }
11583
+ class CommentCriteria extends RubricCriteria {
11584
+ constructor(displayText, count) {
11585
+ super(displayText);
11586
+ this.count = count;
11587
+ }
11588
+ }
11589
+ })(blocks = pxt.blocks || (pxt.blocks = {}));
11590
+ })(pxt || (pxt = {}));
11591
+ var pxt;
11525
11592
  (function (pxt) {
11526
11593
  var blocks;
11527
11594
  (function (blocks) {
@@ -392,6 +392,32 @@ declare namespace pxt.blocks {
392
392
  declare namespace pxt.blocks {
393
393
  function initMathRoundBlock(): void;
394
394
  }
395
+ declare namespace pxt.blocks {
396
+ class Rubric {
397
+ criteria: RubricCriteria[];
398
+ constructor(criteria: RubricCriteria[]);
399
+ }
400
+ function parseRubric(rubric: string): Rubric;
401
+ }
402
+ declare namespace pxt.blocks {
403
+ interface BlockSet {
404
+ blocks: string[];
405
+ count: number;
406
+ }
407
+ export interface CriteriaData {
408
+ criteriaId: string;
409
+ displayText: string;
410
+ blockRequirements?: BlockSet[];
411
+ count?: number;
412
+ }
413
+ export function getCriteria(data: CriteriaData): RubricCriteria;
414
+ export abstract class RubricCriteria {
415
+ displayText: string;
416
+ abstract criteriaId: string;
417
+ constructor(displayText: string);
418
+ }
419
+ export {};
420
+ }
395
421
  declare namespace pxt.blocks {
396
422
  function validateBlocksExist({ usedBlocks, requiredBlockCounts }: {
397
423
  usedBlocks: Blockly.Block[];
@@ -7960,6 +7960,73 @@ var pxt;
7960
7960
  })(blocks = pxt.blocks || (pxt.blocks = {}));
7961
7961
  })(pxt || (pxt = {}));
7962
7962
  var pxt;
7963
+ (function (pxt) {
7964
+ var blocks;
7965
+ (function (blocks) {
7966
+ class Rubric {
7967
+ constructor(criteria) {
7968
+ this.criteria = criteria;
7969
+ }
7970
+ }
7971
+ blocks.Rubric = Rubric;
7972
+ function parseRubric(rubric) {
7973
+ let rubricObj;
7974
+ try {
7975
+ rubricObj = JSON.parse(rubric);
7976
+ }
7977
+ catch (e) {
7978
+ console.error(`Error parsing rubric! ${e}`);
7979
+ return null;
7980
+ }
7981
+ if (!rubricObj.criteria) {
7982
+ console.error(`No criteria found in rubric`);
7983
+ return null;
7984
+ }
7985
+ const criteria = rubricObj.criteria.map((c) => {
7986
+ return blocks.getCriteria(c);
7987
+ }).filter((r) => !!r);
7988
+ return new Rubric(criteria);
7989
+ }
7990
+ blocks.parseRubric = parseRubric;
7991
+ })(blocks = pxt.blocks || (pxt.blocks = {}));
7992
+ })(pxt || (pxt = {}));
7993
+ var pxt;
7994
+ (function (pxt) {
7995
+ var blocks;
7996
+ (function (blocks) {
7997
+ function getCriteria(data) {
7998
+ switch (data.criteriaId) {
7999
+ case "blockCheck":
8000
+ return new BlockCheckCriteria(data.displayText, data.blockRequirements);
8001
+ case "comment":
8002
+ return new CommentCriteria(data.displayText, data.count);
8003
+ default:
8004
+ console.error(`Unrecognized criteriaId: ${data.criteriaId}`);
8005
+ return null;
8006
+ }
8007
+ }
8008
+ blocks.getCriteria = getCriteria;
8009
+ class RubricCriteria {
8010
+ constructor(displayText) {
8011
+ this.displayText = displayText;
8012
+ }
8013
+ }
8014
+ blocks.RubricCriteria = RubricCriteria;
8015
+ class BlockCheckCriteria extends RubricCriteria {
8016
+ constructor(displayText, blockRequirements) {
8017
+ super(displayText);
8018
+ this.blockRequirements = blockRequirements;
8019
+ }
8020
+ }
8021
+ class CommentCriteria extends RubricCriteria {
8022
+ constructor(displayText, count) {
8023
+ super(displayText);
8024
+ this.count = count;
8025
+ }
8026
+ }
8027
+ })(blocks = pxt.blocks || (pxt.blocks = {}));
8028
+ })(pxt || (pxt = {}));
8029
+ var pxt;
7963
8030
  (function (pxt) {
7964
8031
  var blocks;
7965
8032
  (function (blocks) {
@@ -562,7 +562,7 @@ declare namespace pxt.editor {
562
562
  /**
563
563
  * Request action
564
564
  */
565
- action: "switchblocks" | "switchjavascript" | "startsimulator" | "restartsimulator" | "stopsimulator" | "hidesimulator" | "showsimulator" | "closeflyout" | "newproject" | "importproject" | "importtutorial" | "openheader" | "proxytosim" | "undo" | "redo" | "renderblocks" | "renderpython" | "setscale" | "startactivity" | "saveproject" | "unloadproject" | "shareproject" | "savelocalprojectstocloud" | "projectcloudstatus" | "requestprojectcloudstatus" | "convertcloudprojectstolocal" | "setlanguagerestriction" | "toggletrace" | "togglehighcontrast" | "sethighcontrast" | "togglegreenscreen" | "settracestate" | "setsimulatorfullscreen" | "print" | "pair" | "workspacesync" | "workspacereset" | "workspacesave" | "workspaceloaded" | "workspaceevent" | "workspacediagnostics" | "event" | "simevent" | "info" | "tutorialevent" | ExtInitializeType | ExtDataStreamType | ExtUserCodeType | ExtReadCodeType | ExtWriteCodeType;
565
+ action: "switchblocks" | "switchjavascript" | "startsimulator" | "restartsimulator" | "stopsimulator" | "hidesimulator" | "showsimulator" | "closeflyout" | "newproject" | "importproject" | "importtutorial" | "openheader" | "proxytosim" | "undo" | "redo" | "renderblocks" | "renderpython" | "setscale" | "startactivity" | "saveproject" | "unloadproject" | "shareproject" | "savelocalprojectstocloud" | "projectcloudstatus" | "requestprojectcloudstatus" | "convertcloudprojectstolocal" | "setlanguagerestriction" | "toggletrace" | "togglehighcontrast" | "sethighcontrast" | "togglegreenscreen" | "settracestate" | "setsimulatorfullscreen" | "print" | "pair" | "workspacesync" | "workspacereset" | "workspacesave" | "workspaceloaded" | "workspaceevent" | "workspacediagnostics" | "event" | "simevent" | "info" | "tutorialevent" | "editorcontentloaded" | ExtInitializeType | ExtDataStreamType | ExtUserCodeType | ExtReadCodeType | ExtWriteCodeType;
566
566
  }
567
567
  /**
568
568
  * Request sent by the editor when a tick/error/expection is registered
@@ -616,6 +616,9 @@ declare namespace pxt.editor {
616
616
  */
617
617
  options?: ProjectCreationOptions;
618
618
  }
619
+ interface EditorContentLoadedRequest extends EditorMessageRequest {
620
+ action: "editorcontentloaded";
621
+ }
619
622
  interface EditorMessageSetScaleRequest extends EditorMessageRequest {
620
623
  action: "setscale";
621
624
  scale: number;
package/built/pxtlib.d.ts CHANGED
@@ -824,6 +824,17 @@ declare namespace pxt.BrowserUtils {
824
824
  setAsync(storeName: string, data: any): Promise<void>;
825
825
  deleteAsync(storeName: string, id: string): Promise<void>;
826
826
  deleteAllAsync(storeName: string): Promise<void>;
827
+ getObjectStoreWrapper<T>(storeName: string): IDBObjectStoreWrapper<T>;
828
+ }
829
+ export class IDBObjectStoreWrapper<T> {
830
+ protected db: IDBWrapper;
831
+ protected storeName: string;
832
+ constructor(db: IDBWrapper, storeName: string);
833
+ getAsync(id: string): Promise<T>;
834
+ getAllAsync(): Promise<T[]>;
835
+ setAsync(data: T): Promise<void>;
836
+ deleteAsync(id: string): Promise<void>;
837
+ deleteAllAsync(): Promise<void>;
827
838
  }
828
839
  export function translationDbAsync(): Promise<ITranslationDb>;
829
840
  export function clearTranslationDbAsync(): Promise<void>;
package/built/pxtlib.js CHANGED
@@ -5565,8 +5565,33 @@ var pxt;
5565
5565
  request.onerror = () => this.errorHandler(request.error, "deleteAll", reject);
5566
5566
  });
5567
5567
  }
5568
+ getObjectStoreWrapper(storeName) {
5569
+ return new IDBObjectStoreWrapper(this, storeName);
5570
+ }
5568
5571
  }
5569
5572
  BrowserUtils.IDBWrapper = IDBWrapper;
5573
+ class IDBObjectStoreWrapper {
5574
+ constructor(db, storeName) {
5575
+ this.db = db;
5576
+ this.storeName = storeName;
5577
+ }
5578
+ getAsync(id) {
5579
+ return this.db.getAsync(this.storeName, id);
5580
+ }
5581
+ getAllAsync() {
5582
+ return this.db.getAllAsync(this.storeName);
5583
+ }
5584
+ setAsync(data) {
5585
+ return this.db.setAsync(this.storeName, data);
5586
+ }
5587
+ async deleteAsync(id) {
5588
+ await this.db.deleteAsync(this.storeName, id);
5589
+ }
5590
+ async deleteAllAsync() {
5591
+ await this.db.deleteAllAsync(this.storeName);
5592
+ }
5593
+ }
5594
+ BrowserUtils.IDBObjectStoreWrapper = IDBObjectStoreWrapper;
5570
5595
  class IndexedDbTranslationDb {
5571
5596
  constructor(db) {
5572
5597
  this.db = db;