iOS:add Bundle Resource
This commit is contained in:
parent
235549eea4
commit
986d32a8e0
@ -60,6 +60,7 @@
|
||||
#import "DoricBase64ResourceLoader.h"
|
||||
#import "DoricLocalResourceLoader.h"
|
||||
#import "DoricRemoteResourceLoader.h"
|
||||
#import "DoricCommonBundleResourceLoader.h"
|
||||
|
||||
@interface DoricRegistry ()
|
||||
|
||||
@ -139,6 +140,7 @@ - (void)innerRegister {
|
||||
[self.loaderManager registerLoader:[DoricLocalResourceLoader new]];
|
||||
[self.loaderManager registerLoader:[DoricRemoteResourceLoader new]];
|
||||
[self.loaderManager registerLoader:[DoricBase64ResourceLoader new]];
|
||||
[self.loaderManager registerLoader:[DoricCommonBundleResourceLoader new]];
|
||||
}
|
||||
|
||||
- (void)registerJSBundle:(NSString *)bundle withName:(NSString *)name {
|
||||
|
@ -0,0 +1,24 @@
|
||||
/*
|
||||
* Copyright [2021] [Doric.Pub]
|
||||
*
|
||||
* Licensed 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.
|
||||
*/
|
||||
//
|
||||
// Created by pengfei.zhou on 2021/10/25.
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
#import "DoricResourceLoader.h"
|
||||
|
||||
@interface DoricCommonBundleResourceLoader : NSObject <DoricResourceLoader>
|
||||
@end
|
@ -0,0 +1,41 @@
|
||||
/*
|
||||
* Copyright [2021] [Doric.Pub]
|
||||
*
|
||||
* Licensed 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.
|
||||
*/
|
||||
//
|
||||
// Created by pengfei.zhou on 2021/10/25.
|
||||
//
|
||||
|
||||
#import "DoricCommonBundleResourceLoader.h"
|
||||
#import "DoricBundleResource.h"
|
||||
#import "DoricExtensions.h"
|
||||
|
||||
@implementation DoricCommonBundleResourceLoader
|
||||
- (NSString *)resourceType {
|
||||
return @"bundle";
|
||||
}
|
||||
|
||||
- (__kindof DoricResource *)load:(NSString *)identifier withContext:(DoricContext *)context {
|
||||
NSArray<NSString *> *ret = [identifier componentsSeparatedByString:@"://"];
|
||||
NSString *bundleName = ret.firstObject;
|
||||
NSString *fileName = ret.lastObject;
|
||||
NSBundle *mainBundle = [NSBundle mainBundle];
|
||||
NSString *bundlePath = [mainBundle pathForResource:bundleName ofType:@"bundle"];
|
||||
NSBundle *bundle = [NSBundle bundleWithPath:bundlePath];
|
||||
return [[[DoricBundleResource alloc] initWithContext:context identifier:fileName]
|
||||
also:^(DoricBundleResource *it) {
|
||||
it.bundle = bundle;
|
||||
}];
|
||||
}
|
||||
@end
|
@ -2197,11 +2197,18 @@ var AssetResource = /** @class */ (function (_super) {
|
||||
*/
|
||||
var MainBundleResource = /** @class */ (function (_super) {
|
||||
__extends$e(MainBundleResource, _super);
|
||||
function MainBundleResource(path) {
|
||||
return _super.call(this, "mainBundle", path) || this;
|
||||
function MainBundleResource(fileName) {
|
||||
return _super.call(this, "mainBundle", fileName) || this;
|
||||
}
|
||||
return MainBundleResource;
|
||||
}(Resource));
|
||||
var BundleResource = /** @class */ (function (_super) {
|
||||
__extends$e(BundleResource, _super);
|
||||
function BundleResource(bundleName, fileName) {
|
||||
return _super.call(this, "bundle", bundleName + "://" + fileName) || this;
|
||||
}
|
||||
return BundleResource;
|
||||
}(Resource));
|
||||
|
||||
var __extends$d = (undefined && undefined.__extends) || (function () {
|
||||
var extendStatics = function (d, b) {
|
||||
@ -4389,6 +4396,7 @@ exports.AssetResource = AssetResource;
|
||||
exports.BOTTOM = BOTTOM;
|
||||
exports.BackgroundColorAnimation = BackgroundColorAnimation;
|
||||
exports.Base64Resource = Base64Resource;
|
||||
exports.BundleResource = BundleResource;
|
||||
exports.CENTER = CENTER;
|
||||
exports.CENTER_X = CENTER_X;
|
||||
exports.CENTER_Y = CENTER_Y;
|
||||
|
@ -1652,8 +1652,13 @@ class AssetResource extends Resource {
|
||||
* This is for iOS platform
|
||||
*/
|
||||
class MainBundleResource extends Resource {
|
||||
constructor(path) {
|
||||
super("mainBundle", path);
|
||||
constructor(fileName) {
|
||||
super("mainBundle", fileName);
|
||||
}
|
||||
}
|
||||
class BundleResource extends Resource {
|
||||
constructor(bundleName, fileName) {
|
||||
super("bundle", `${bundleName}://${fileName}`);
|
||||
}
|
||||
}
|
||||
|
||||
@ -3372,6 +3377,7 @@ exports.AssetResource = AssetResource;
|
||||
exports.BOTTOM = BOTTOM;
|
||||
exports.BackgroundColorAnimation = BackgroundColorAnimation;
|
||||
exports.Base64Resource = Base64Resource;
|
||||
exports.BundleResource = BundleResource;
|
||||
exports.CENTER = CENTER;
|
||||
exports.CENTER_X = CENTER_X;
|
||||
exports.CENTER_Y = CENTER_Y;
|
||||
|
@ -3173,8 +3173,13 @@ class AssetResource extends Resource {
|
||||
* This is for iOS platform
|
||||
*/
|
||||
class MainBundleResource extends Resource {
|
||||
constructor(path) {
|
||||
super("mainBundle", path);
|
||||
constructor(fileName) {
|
||||
super("mainBundle", fileName);
|
||||
}
|
||||
}
|
||||
class BundleResource extends Resource {
|
||||
constructor(bundleName, fileName) {
|
||||
super("bundle", `${bundleName}://${fileName}`);
|
||||
}
|
||||
}
|
||||
|
||||
@ -5134,6 +5139,7 @@ exports.AssetResource = AssetResource;
|
||||
exports.BOTTOM = BOTTOM;
|
||||
exports.BackgroundColorAnimation = BackgroundColorAnimation;
|
||||
exports.Base64Resource = Base64Resource;
|
||||
exports.BundleResource = BundleResource;
|
||||
exports.CENTER = CENTER;
|
||||
exports.CENTER_X = CENTER_X;
|
||||
exports.CENTER_Y = CENTER_Y;
|
||||
|
5
doric-js/index.d.ts
vendored
5
doric-js/index.d.ts
vendored
@ -1660,7 +1660,10 @@ declare module 'doric/lib/src/util/resource' {
|
||||
* This is for iOS platform
|
||||
*/
|
||||
export class MainBundleResource extends Resource {
|
||||
constructor(path: string);
|
||||
constructor(fileName: string);
|
||||
}
|
||||
export class BundleResource extends Resource {
|
||||
constructor(bundleName: string, fileName: string);
|
||||
}
|
||||
}
|
||||
|
||||
|
5
doric-js/lib/src/util/resource.d.ts
vendored
5
doric-js/lib/src/util/resource.d.ts
vendored
@ -33,5 +33,8 @@ export declare class AssetResource extends Resource {
|
||||
* This is for iOS platform
|
||||
*/
|
||||
export declare class MainBundleResource extends Resource {
|
||||
constructor(path: string);
|
||||
constructor(fileName: string);
|
||||
}
|
||||
export declare class BundleResource extends Resource {
|
||||
constructor(bundleName: string, fileName: string);
|
||||
}
|
||||
|
@ -47,7 +47,12 @@ export class AssetResource extends Resource {
|
||||
* This is for iOS platform
|
||||
*/
|
||||
export class MainBundleResource extends Resource {
|
||||
constructor(path) {
|
||||
super("mainBundle", path);
|
||||
constructor(fileName) {
|
||||
super("mainBundle", fileName);
|
||||
}
|
||||
}
|
||||
export class BundleResource extends Resource {
|
||||
constructor(bundleName, fileName) {
|
||||
super("bundle", `${bundleName}://${fileName}`);
|
||||
}
|
||||
}
|
||||
|
@ -41,6 +41,7 @@ export class DrawableResource extends Resource {
|
||||
super("drawable", name)
|
||||
}
|
||||
}
|
||||
|
||||
export class RawResource extends Resource {
|
||||
constructor(name: string) {
|
||||
super("raw", name)
|
||||
@ -57,7 +58,13 @@ export class AssetResource extends Resource {
|
||||
* This is for iOS platform
|
||||
*/
|
||||
export class MainBundleResource extends Resource {
|
||||
constructor(path: string) {
|
||||
super("mainBundle", path)
|
||||
constructor(fileName: string) {
|
||||
super("mainBundle", fileName)
|
||||
}
|
||||
}
|
||||
|
||||
export class BundleResource extends Resource {
|
||||
constructor(bundleName: string, fileName: string) {
|
||||
super("bundle", `${bundleName}://${fileName}`)
|
||||
}
|
||||
}
|
10
doric-web/dist/index.js
vendored
10
doric-web/dist/index.js
vendored
@ -3227,8 +3227,13 @@ class AssetResource extends Resource {
|
||||
* This is for iOS platform
|
||||
*/
|
||||
class MainBundleResource extends Resource {
|
||||
constructor(path) {
|
||||
super("mainBundle", path);
|
||||
constructor(fileName) {
|
||||
super("mainBundle", fileName);
|
||||
}
|
||||
}
|
||||
class BundleResource extends Resource {
|
||||
constructor(bundleName, fileName) {
|
||||
super("bundle", `${bundleName}://${fileName}`);
|
||||
}
|
||||
}
|
||||
|
||||
@ -4947,6 +4952,7 @@ exports.AssetResource = AssetResource;
|
||||
exports.BOTTOM = BOTTOM;
|
||||
exports.BackgroundColorAnimation = BackgroundColorAnimation;
|
||||
exports.Base64Resource = Base64Resource;
|
||||
exports.BundleResource = BundleResource;
|
||||
exports.CENTER = CENTER;
|
||||
exports.CENTER_X = CENTER_X;
|
||||
exports.CENTER_Y = CENTER_Y;
|
||||
|
2
doric-web/dist/index.js.map
vendored
2
doric-web/dist/index.js.map
vendored
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user