Mon 21 Jul 22:43:21 CEST 2025
This commit is contained in:
parent
973834f15b
commit
7d9a9e523e
75
js/ui/cordova/plugins/cordova-plugin-file/www/blackberry10/createEntryFromNative.js
vendored
Normal file
75
js/ui/cordova/plugins/cordova-plugin-file/www/blackberry10/createEntryFromNative.js
vendored
Normal file
|
@ -0,0 +1,75 @@
|
|||
/*
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* createEntryFromNative
|
||||
*
|
||||
* IN
|
||||
* native - webkit Entry
|
||||
* OUT
|
||||
* returns Cordova entry
|
||||
*/
|
||||
|
||||
var info = require('cordova-plugin-file.bb10FileSystemInfo'),
|
||||
fileSystems = require('cordova-plugin-file.fileSystems');
|
||||
|
||||
module.exports = function (native) {
|
||||
var entry = {
|
||||
nativeEntry: native,
|
||||
isDirectory: !!native.isDirectory,
|
||||
isFile: !!native.isFile,
|
||||
name: native.name,
|
||||
fullPath: native.fullPath,
|
||||
filesystemName: native.filesystem.name,
|
||||
nativeURL: native.toURL()
|
||||
},
|
||||
persistentPath = info.persistentPath.substring(7),
|
||||
temporaryPath = info.temporaryPath.substring(7);
|
||||
//fix bb10 webkit incorrect nativeURL
|
||||
if (native.filesystem.name === 'root') {
|
||||
entry.nativeURL = 'file:///' + FileSystem.encodeURIPath(native.fullPath);
|
||||
} else if (entry.nativeURL.indexOf('filesystem:local:///persistent/') === 0) {
|
||||
entry.nativeURL = info.persistentPath + FileSystem.encodeURIPath(native.fullPath);
|
||||
} else if (entry.nativeURL.indexOf('filesystem:local:///temporary') === 0) {
|
||||
entry.nativeURL = info.temporaryPath + FileSystem.encodeURIPath(native.fullPath);
|
||||
}
|
||||
//translate file system name from bb10 webkit
|
||||
if (entry.filesystemName === 'local__0:Persistent' || entry.fullPath.indexOf(persistentPath) !== -1) {
|
||||
entry.filesystemName = 'persistent';
|
||||
} else if (entry.filesystemName === 'local__0:Temporary' || entry.fullPath.indexOf(temporaryPath) !== -1) {
|
||||
entry.filesystemName = 'temporary';
|
||||
}
|
||||
//add file system property (will be called sync)
|
||||
fileSystems.getFs(entry.filesystemName, function (fs) {
|
||||
entry.filesystem = fs;
|
||||
});
|
||||
//set root on fullPath for persistent / temporary locations
|
||||
entry.fullPath = entry.fullPath.replace(persistentPath, "");
|
||||
entry.fullPath = entry.fullPath.replace(temporaryPath, "");
|
||||
//set trailing slash on directory
|
||||
if (entry.isDirectory && entry.fullPath.substring(entry.fullPath.length - 1) !== '/') {
|
||||
entry.fullPath += '/';
|
||||
}
|
||||
if (entry.isDirectory && entry.nativeURL.substring(entry.nativeURL.length - 1) !== '/') {
|
||||
entry.nativeURL += '/';
|
||||
}
|
||||
return entry;
|
||||
};
|
Loading…
Reference in New Issue
Block a user