Loading...
Loading...
Compare original and translation side by side
import { type Result; type Iter } "mo:core/Types";Result<T>Iter<T>import Types "mo:core/Types";core = "2.2.0"mo:base/*mo:core/*mo:core/TypesIter.Iter<T>Types.Iter<T>Result.Result<T,E>Types.Result<T,E>mo:core/Typesimport { type Result; type Iter } "mo:core/Types";Result<T>Iter<T>import Types "mo:core/Types";.vals().values()Array.*Option.*Debug.trapRuntime.trapadd()add()Map.size(map)add()actorpersistent actorwith migration =wasm_memory_persistence keepmo:baseBuffer.HashMap.TrieSet.Debug.trap.vals()wasm_memory_persistence keepcore = "2.2.0"stable varpreupgradepostupgradepersistent actortransient varlet x = ...var x = ...transient var x = ...stablepreupgradepostupgrademo:base/Xmo:core/Xmo:base/ExperimentalCyclesmo:core/Cyclesmo:base/ExperimentalInternetComputermo:core/InternetComputermo:base/Listmo:core/pure/Listmo:core/Listmo:base/OrderedMapmo:core/pure/Mapmo:base/OrderedSetmo:core/pure/Setmo:base/Dequemo:core/pure/QueueTypesimport Iter "mo:core/Iter"Iter.Iter<T>import Types "mo:core/Types"Iter.Iter<T>Types.Iter<T>import Result "mo:core/Result"Result.Result<T,E>import Types "mo:core/Types"Result.Result<T,E>Types.Result<T,E>grep -rn "Iter\.Iter<" . --include="*.mo" | grep -v \.mopsgrep -rn "Result\.Result<" . --include="*.mo" | grep -v \.mopsIter.*import Iter "mo:core/Iter"import Types "mo:core/Types"Types.Iter<...>ResultResult.Result<...>mo:core/Types// Before (module import or prefixed usage)
import Types "mo:core/Types";
type R = Types.Result<Nat, Text>;
type I = Types.Iter<Nat>;
// After (≤2 types: direct named type import)
import { type Result; type Iter } "mo:core/Types";
type R = Result<Nat, Text>;
type I = Iter<Nat>;Typesimport Types "mo:core/Types";Types.Result<...>Types.Iter<...>TypesIter.Iter<T>import Iter "mo:core/Iter"import Types "mo:core/Types"Iter.Iter<T>Types.Iter<T>Result.Result<T,E>import Result "mo:core/Result"import Types "mo:core/Types"Result.Result<T,E>Types.Result<T,E>grep -rn "Iter\.Iter<" . --include="*.mo" | grep -v \.mopsgrep -rn "Result\.Result<" . --include="*.mo" | grep -v \.mopsIter.*import Iter "mo:core/Iter"import Types "mo:core/Types"Types.Iter<...>Result.Result<...>mo:core/Types// 之前(模块导入或带前缀使用)
import Types "mo:core/Types";
type R = Types.Result<Nat, Text>;
type I = Types.Iter<Nat>;
// 之后(≤2个类型:直接命名类型导入)
import { type Result; type Iter } "mo:core/Types";
type R = Result<Nat, Text>;
type I = Iter<Nat>;import Types "mo:core/Types";Types.Result<...>Types.Iter<...>Debug.trap(msg)Runtime.trap(msg)Runtime "mo:core/Runtime"Prelude.unreachable()Runtime.unreachable()Runtime "mo:core/Runtime".vals().values()Array.append(a, b)Array.concat(a, b)Array.init<T>(size, val)VarArray.repeat<T>(val, size)Array.freeze(arr)Array.fromVarArray(arr)Array.thaw(arr)Array.toVarArray(arr)Array.slice(a, s, e)Array.range(a, s, e)Array.subArray(a, s, l)Array.sliceToArray(a, s, s + l)Array.make(x)Array.singleton(x)Array.mapFilterArray.filterMapArray.chainArray.flatMapIter.range(a, b)Nat.range(a, b + 1)Iter.revRange(a, b)Nat.rangeByInclusive(a, b, -1)Text.toLowercaseText.toLowerText.toUppercaseText.toUpperText.translateText.flatMapOption.makeOption.someOption.iterateOption.forEachFloat.equal(a,b)Float.equal(a,b,epsilon)Cycles.add(n); await call(args)await (with cycles = n) call(args)List.add(list, x)list := List.add(list, x)List.at(list, i)List.get(list, i)List.toArray(list)List.fromArray(arr)stable let list = List.empty<T>()Map.add(map, compare, k, v)map := Map.add(map, ...)Map.empty<K,V>()map.add(cmp, k, v)map.get(cmp, k)map.remove(cmp, k)map.delete(cmp, k)map.take(cmp, k)map.entries()map.values()map.size()Text.compareNat.compareSet.add(set, compare, x)Set.contains(set, compare, x)Set.deleteSet.removestable let set = Set.empty<T>()mo:coreBlob.fromArrayBlob.fromVarArrayBlob.fromArrayBlob.fromVarArrayactorpersistent actoractor classpersistent actor classbase = "..."transient varpreupgradepostupgradewith migration =:= Map.add:= List.add:= Set.add:=Array.initVarArray.repeatVarArray.repeat<T>(val, size)Cycles.addawait (with cycles = n) call(args)Map.emptyList.emptyMap.empty<K,V>()List.empty<T>().values()List.values(list)Map.values(map)l.values()m.values()0xB5 : Nat8Error.messageRuntime.messageError.message(e)Debug.trapRuntime.trappreupgradepostupgradeCycles.add:=stable letdfx build <canister> 2>&1 | head -30grep -rn "mo:base" . --include="*.mo" | grep -v \.mops | wc -lgrep -rn "HashMap\." . --include="*.mo" | grep -v \.mops | wc -lgrep -rn "Buffer\." . --include="*.mo" | grep -v \.mops | wc -lgrep -rn "TrieSet\." . --include="*.mo" | grep -v \.mops | wc -lgrep -rn "Debug\.trap" . --include="*.mo" | grep -v \.mops | wc -lgrep -rn "\.vals()" . --include="*.mo" | grep -v \.mops | wc -lgrep -rn ":= Map\.add\|:= List\.add\|:= Set\.add" . --include="*.mo" | wc -l--wasm-memory-persistence keepMap.empty<K,V>()Map<K,V>Map.add(m, cmp, k, v)Map.get(m, cmp, k)Map.remove(m, cmp, k)Map.delete(m, cmp, k)Map.take(m, cmp, k)Map.swap(m, cmp, k, v)Map.insert(m, cmp, k, v)Map.size(m)Map.entries(m)Iter<(K,V)>Map.containsKey(m, cmp, k)Map.clear(m)Map.fromIter(iter, cmp)Map<K,V>List.empty<T>()List<T>List.add(l, x)List.addAll(l, iter)List.size(l)List.get(l, i)List.at(l, i)List.put(l, i, v)List.toArray(l)[T]List.fromArray(arr)List<T>List.values(l)Iter<T>List.removeLast(l)List.clear(l)List.sort(l, compare)Set.empty<T>()Set<T>Set.add(s, cmp, x)Set.contains(s, cmp, x)Set.remove(s, cmp, x)Set.delete(s, cmp, x)Set.insert(s, cmp, x)Set.size(s)Set.values(s)Iter<T>Set.fromIter(iter, cmp)Set<T>VarArray.repeat<T>(val, size)[var T]VarArray.tabulate<T>(n, f)[var T]Array.fromVarArrayArray.toVarArray--wasm-memory-persistence keep-y/--yes:=:=Map.size(map):=Set.contains:= addwasm_memory_persistence keep