motoko 3.1.0 → 3.1.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/contrib/snippets.json +30 -15
- package/lib/ast.d.ts +1 -0
- package/lib/ast.d.ts.map +1 -1
- package/lib/ast.js +6 -0
- package/lib/ast.js.map +1 -1
- package/package.json +1 -1
- package/packages/latest/base.json +1 -1
- package/src/ast.ts +10 -0
- package/versions/latest/moc.min.js +1 -1
- package/versions/latest/moc_interpreter.min.js +1 -1
    
        package/contrib/snippets.json
    CHANGED
    
    | @@ -44,7 +44,8 @@ | |
| 44 44 | 
             
                        "type"
         | 
| 45 45 | 
             
                    ],
         | 
| 46 46 | 
             
                    "body": [
         | 
| 47 | 
            -
                        "type ${1:Name} = ${2:declaration};"
         | 
| 47 | 
            +
                        "type ${1:Name} = ${2:declaration};",
         | 
| 48 | 
            +
                        "$0"
         | 
| 48 49 | 
             
                    ],
         | 
| 49 50 | 
             
                    "description": "simple type declaration"
         | 
| 50 51 | 
             
                },
         | 
| @@ -55,7 +56,8 @@ | |
| 55 56 | 
             
                    "body": [
         | 
| 56 57 | 
             
                        "type ${1:Name} = {",
         | 
| 57 58 | 
             
                        "\t${2:attribute} : ${3:Type};",
         | 
| 58 | 
            -
                        "};"
         | 
| 59 | 
            +
                        "};",
         | 
| 60 | 
            +
                        "$0"
         | 
| 59 61 | 
             
                    ],
         | 
| 60 62 | 
             
                    "description": "object / record type block"
         | 
| 61 63 | 
             
                },
         | 
| @@ -66,7 +68,8 @@ | |
| 66 68 | 
             
                    "body": [
         | 
| 67 69 | 
             
                        "type ${1:Name} = {",
         | 
| 68 70 | 
             
                        "\t#${2:tag};",
         | 
| 69 | 
            -
                        "};"
         | 
| 71 | 
            +
                        "};",
         | 
| 72 | 
            +
                        "$0"
         | 
| 70 73 | 
             
                    ],
         | 
| 71 74 | 
             
                    "description": "variant type block"
         | 
| 72 75 | 
             
                },
         | 
| @@ -75,7 +78,8 @@ | |
| 75 78 | 
             
                        "var"
         | 
| 76 79 | 
             
                    ],
         | 
| 77 80 | 
             
                    "body": [
         | 
| 78 | 
            -
                        "var ${1:name} = ${2:value};"
         | 
| 81 | 
            +
                        "var ${1:name} = ${2:value};",
         | 
| 82 | 
            +
                        "$0"
         | 
| 79 83 | 
             
                    ],
         | 
| 80 84 | 
             
                    "description": "declare a mutable variable"
         | 
| 81 85 | 
             
                },
         | 
| @@ -84,7 +88,8 @@ | |
| 84 88 | 
             
                        "let"
         | 
| 85 89 | 
             
                    ],
         | 
| 86 90 | 
             
                    "body": [
         | 
| 87 | 
            -
                        "let ${1:name} = ${2:value};"
         | 
| 91 | 
            +
                        "let ${1:name} = ${2:value};",
         | 
| 92 | 
            +
                        "$0"
         | 
| 88 93 | 
             
                    ],
         | 
| 89 94 | 
             
                    "description": "declare an immutable variable"
         | 
| 90 95 | 
             
                },
         | 
| @@ -115,7 +120,8 @@ | |
| 115 120 | 
             
                        "import-base"
         | 
| 116 121 | 
             
                    ],
         | 
| 117 122 | 
             
                    "body": [
         | 
| 118 | 
            -
                        "import ${1:Module} \"mo:base/${1}\";"
         | 
| 123 | 
            +
                        "import ${1:Module} \"mo:base/${1}\";",
         | 
| 124 | 
            +
                        "$0"
         | 
| 119 125 | 
             
                    ]
         | 
| 120 126 | 
             
                },
         | 
| 121 127 | 
             
                "Canister Import": {
         | 
| @@ -123,7 +129,8 @@ | |
| 123 129 | 
             
                        "import-canister"
         | 
| 124 130 | 
             
                    ],
         | 
| 125 131 | 
             
                    "body": [
         | 
| 126 | 
            -
                        "import ${1:Module} \"canister:${2}\";"
         | 
| 132 | 
            +
                        "import ${1:Module} \"canister:${2}\";",
         | 
| 133 | 
            +
                        "$0"
         | 
| 127 134 | 
             
                    ]
         | 
| 128 135 | 
             
                },
         | 
| 129 136 | 
             
                "Switch Statement": {
         | 
| @@ -268,7 +275,8 @@ | |
| 268 275 | 
             
                        "array-new"
         | 
| 269 276 | 
             
                    ],
         | 
| 270 277 | 
             
                    "body": [
         | 
| 271 | 
            -
                        "var ${1:array} = [];"
         | 
| 278 | 
            +
                        "var ${1:array} = [];",
         | 
| 279 | 
            +
                        "$0"
         | 
| 272 280 | 
             
                    ]
         | 
| 273 281 | 
             
                },
         | 
| 274 282 | 
             
                "New Hash Map": {
         | 
| @@ -276,7 +284,8 @@ | |
| 276 284 | 
             
                        "hash-map-new"
         | 
| 277 285 | 
             
                    ],
         | 
| 278 286 | 
             
                    "body": [
         | 
| 279 | 
            -
                        "let ${1:map} = HashMap.HashMap<${2:Text}, ${3:Nat}>(0, ${2}.equal, ${2}.hash);"
         | 
| 287 | 
            +
                        "let ${1:map} = HashMap.HashMap<${2:Text}, ${3:Nat}>(0, ${2}.equal, ${2}.hash);",
         | 
| 288 | 
            +
                        "$0"
         | 
| 280 289 | 
             
                    ]
         | 
| 281 290 | 
             
                },
         | 
| 282 291 | 
             
                "New Trie": {
         | 
| @@ -284,7 +293,8 @@ | |
| 284 293 | 
             
                        "trie-new"
         | 
| 285 294 | 
             
                    ],
         | 
| 286 295 | 
             
                    "body": [
         | 
| 287 | 
            -
                        "var ${1:trie} = Trie.empty<${2:Text}, ${3:Nat}>();"
         | 
| 296 | 
            +
                        "var ${1:trie} = Trie.empty<${2:Text}, ${3:Nat}>();",
         | 
| 297 | 
            +
                        "$0"
         | 
| 288 298 | 
             
                    ]
         | 
| 289 299 | 
             
                },
         | 
| 290 300 | 
             
                "New Trie Map": {
         | 
| @@ -292,7 +302,8 @@ | |
| 292 302 | 
             
                        "trie-map-new"
         | 
| 293 303 | 
             
                    ],
         | 
| 294 304 | 
             
                    "body": [
         | 
| 295 | 
            -
                        "let ${1:map} = TrieMap.TrieMap<${2:Text}, ${3:Nat}>(0);"
         | 
| 305 | 
            +
                        "let ${1:map} = TrieMap.TrieMap<${2:Text}, ${3:Nat}>(0);",
         | 
| 306 | 
            +
                        "$0"
         | 
| 296 307 | 
             
                    ]
         | 
| 297 308 | 
             
                },
         | 
| 298 309 | 
             
                "New RB Tree": {
         | 
| @@ -300,7 +311,8 @@ | |
| 300 311 | 
             
                        "rb-tree-new"
         | 
| 301 312 | 
             
                    ],
         | 
| 302 313 | 
             
                    "body": [
         | 
| 303 | 
            -
                        "let ${1:map} = RBTree.RBTree<${2:Text}, ${3:Nat}>(${2}.compare);"
         | 
| 314 | 
            +
                        "let ${1:map} = RBTree.RBTree<${2:Text}, ${3:Nat}>(${2}.compare);",
         | 
| 315 | 
            +
                        "$0"
         | 
| 304 316 | 
             
                    ]
         | 
| 305 317 | 
             
                },
         | 
| 306 318 | 
             
                "New Trie Set": {
         | 
| @@ -308,7 +320,8 @@ | |
| 308 320 | 
             
                        "trie-set-new"
         | 
| 309 321 | 
             
                    ],
         | 
| 310 322 | 
             
                    "body": [
         | 
| 311 | 
            -
                        "let ${1:set} = TrieSet.empty<${2:Text}>();"
         | 
| 323 | 
            +
                        "let ${1:set} = TrieSet.empty<${2:Text}>();",
         | 
| 324 | 
            +
                        "$0"
         | 
| 312 325 | 
             
                    ]
         | 
| 313 326 | 
             
                },
         | 
| 314 327 | 
             
                "New Deque": {
         | 
| @@ -316,7 +329,8 @@ | |
| 316 329 | 
             
                        "deque-new"
         | 
| 317 330 | 
             
                    ],
         | 
| 318 331 | 
             
                    "body": [
         | 
| 319 | 
            -
                        "let ${1:queue} = Deque.empty<${2:Text}>();"
         | 
| 332 | 
            +
                        "let ${1:queue} = Deque.empty<${2:Text}>();",
         | 
| 333 | 
            +
                        "$0"
         | 
| 320 334 | 
             
                    ]
         | 
| 321 335 | 
             
                },
         | 
| 322 336 | 
             
                "New List": {
         | 
| @@ -324,7 +338,8 @@ | |
| 324 338 | 
             
                        "list-new"
         | 
| 325 339 | 
             
                    ],
         | 
| 326 340 | 
             
                    "body": [
         | 
| 327 | 
            -
                        "var ${1:list} = List.nil<${2:Text}>();"
         | 
| 341 | 
            +
                        "var ${1:list} = List.nil<${2:Text}>();",
         | 
| 342 | 
            +
                        "$0"
         | 
| 328 343 | 
             
                    ]
         | 
| 329 344 | 
             
                },
         | 
| 330 345 | 
             
                "Sort Array": {
         | 
    
        package/lib/ast.d.ts
    CHANGED
    
    
    
        package/lib/ast.d.ts.map
    CHANGED
    
    | @@ -1 +1 @@ | |
| 1 | 
            -
            {"version":3,"file":"ast.d.ts","sourceRoot":"","sources":["../src/ast.ts"],"names":[],"mappings":"AAAA,oBAAY,WAAW,GAAG,WAAW,EAAE,GAAG,YAAY,GAAG,MAAM,GAAG,IAAI,CAAC;AACvE,oBAAY,YAAY,GAAG;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,CAAC;AAE3E,MAAM,WAAW,YAAY;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,WAAW,EAAE,CAAC;CACvB;AAED,oBAAY,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AACpC,oBAAY,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC;AAE/C,MAAM,WAAW,MAAM;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,IAAI,CAAC;IACZ,GAAG,EAAE,IAAI,CAAC;CACb;AAED,MAAM,WAAW,IAAK,SAAQ,OAAO,CAAC,MAAM,CAAC;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;CAChB;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,YAAY,GAAG,IAAI,CAAC;AACrD,wBAAgB,WAAW,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,GAAG,EAAE,CAAC;AACvD,wBAAgB,WAAW,CAAC,CAAC,SAAS,WAAW,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC"}
         | 
| 1 | 
            +
            {"version":3,"file":"ast.d.ts","sourceRoot":"","sources":["../src/ast.ts"],"names":[],"mappings":"AAAA,oBAAY,WAAW,GAAG,WAAW,EAAE,GAAG,YAAY,GAAG,MAAM,GAAG,IAAI,CAAC;AACvE,oBAAY,YAAY,GAAG;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,CAAC;AAE3E,MAAM,WAAW,YAAY;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,WAAW,EAAE,CAAC;CACvB;AAED,oBAAY,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AACpC,oBAAY,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC;AAE/C,MAAM,WAAW,MAAM;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,IAAI,CAAC;IACZ,GAAG,EAAE,IAAI,CAAC;CACb;AAED,MAAM,WAAW,IAAK,SAAQ,OAAO,CAAC,MAAM,CAAC;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;CAChB;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,YAAY,GAAG,IAAI,CAAC;AACrD,wBAAgB,WAAW,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,GAAG,EAAE,CAAC;AACvD,wBAAgB,WAAW,CAAC,CAAC,SAAS,WAAW,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC"}
         | 
    
        package/lib/ast.js
    CHANGED
    
    | @@ -25,6 +25,12 @@ function simplifyAST(ast) { | |
| 25 25 | 
             
                        ? { name: typeAst }
         | 
| 26 26 | 
             
                        : simplifyAST(typeAst))), { type });
         | 
| 27 27 | 
             
                }
         | 
| 28 | 
            +
                if (ast.name === '*') {
         | 
| 29 | 
            +
                    const [doc, docAst] = ast.args;
         | 
| 30 | 
            +
                    return Object.assign(Object.assign({}, (typeof docAst === 'string'
         | 
| 31 | 
            +
                        ? { name: docAst }
         | 
| 32 | 
            +
                        : simplifyAST(docAst))), { doc });
         | 
| 33 | 
            +
                }
         | 
| 28 34 | 
             
                return {
         | 
| 29 35 | 
             
                    name: ast.name,
         | 
| 30 36 | 
             
                    args: simplifyAST(ast.args),
         | 
    
        package/lib/ast.js.map
    CHANGED
    
    | @@ -1 +1 @@ | |
| 1 | 
            -
            {"version":3,"file":"ast.js","sourceRoot":"","sources":["../src/ast.ts"],"names":[],"mappings":";;; | 
| 1 | 
            +
            {"version":3,"file":"ast.js","sourceRoot":"","sources":["../src/ast.ts"],"names":[],"mappings":";;;AA6BA,SAAgB,WAAW,CAAC,GAAgB;IACxC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QACpB,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;KACzC;IACD,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;QACzB,OAAO,GAAG,CAAC;KACd;IACD,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;QAClB,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,IAIhC,CAAC;QACF,MAAM,IAAI,mCACH,CAAC,OAAO,MAAM,KAAK,QAAQ;YAC1B,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE;YAClB,CAAC,CAAC,WAAW,CAAC,MAA6B,CAAC,CAAC,KACjD,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EACvC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GACpC,CAAC;QACF,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC3B,IAAI,IAAI,EAAE;YACN,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;SACpB;QACD,OAAO,IAAI,CAAC;KACf;IACD,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;QAClB,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,GAAG,CAAC,IAA6B,CAAC;QAC1D,uCACO,CAAC,OAAO,OAAO,KAAK,QAAQ;YAC3B,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE;YACnB,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,KAC3B,IAAI,IACN;KACL;IACD,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;QAClB,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,IAA6B,CAAC;QACxD,uCACO,CAAC,OAAO,MAAM,KAAK,QAAQ;YAC1B,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE;YAClB,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,KAC1B,GAAG,IACL;KACL;IACD,OAAO;QACH,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,IAAI,EAAE,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC;KAC9B,CAAC;AACN,CAAC;AAhDD,kCAgDC"}
         | 
    
        package/package.json
    CHANGED